diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 9298b2b96d36..d82fb0f9e37b 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -14,6 +14,10 @@ We must be able to understand your proposed change from this description. If we +### Configurations + + + ### Related Issues diff --git a/.github/workflows/test-builds.yml b/.github/workflows/test-builds.yml index 4dd483499b6a..fdb81fbdc9d2 100644 --- a/.github/workflows/test-builds.yml +++ b/.github/workflows/test-builds.yml @@ -67,6 +67,7 @@ jobs: - BIGTREE_SKR_PRO - BIGTREE_GTR_V1_0 - mks_robin + - mks_robin_stm32 - ARMED - FYSETC_S6 - STM32F070RB_malyan @@ -77,6 +78,7 @@ jobs: - mks_robin_pro - STM32F103RET6_creality - LERDGEX + - mks_robin_nano35 # Put lengthy tests last @@ -93,7 +95,6 @@ jobs: #- at90usb1286_dfu #- STM32F103CB_malyan #- mks_robin_mini - #- mks_robin_nano steps: diff --git a/LICENSE b/LICENSE index 4ad6d9b1e2aa..6c0e10f3b802 100644 --- a/LICENSE +++ b/LICENSE @@ -3,7 +3,7 @@ GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 - Copyright (c) 2007 Free Software Foundation, Inc. + Copyright (c) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. @@ -673,5 +673,4 @@ into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read -. - +. diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index f72689eda07f..160ebb0c746e 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -177,7 +177,7 @@ #endif /** - * Prusa Multi-Material Unit v2 + * Průša Multi-Material Unit v2 * * Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails. * Requires EXTRUDERS = 5 @@ -235,8 +235,8 @@ #elif ENABLED(MAGNETIC_PARKING_EXTRUDER) - #define MPE_FAST_SPEED 9000 // (mm/m) Speed for travel before last distance point - #define MPE_SLOW_SPEED 4500 // (mm/m) Speed for last distance travel to park and couple + #define MPE_FAST_SPEED 9000 // (mm/min) Speed for travel before last distance point + #define MPE_SLOW_SPEED 4500 // (mm/min) Speed for last distance travel to park and couple #define MPE_TRAVEL_DISTANCE 10 // (mm) Last distance point #define MPE_COMPENSATION 0 // Offset Compensation -1 , 0 , 1 (multiplier) only for coupling @@ -284,8 +284,8 @@ #if ENABLED(PRIME_BEFORE_REMOVE) #define SWITCHING_TOOLHEAD_PRIME_MM 20 // (mm) Extruder prime length #define SWITCHING_TOOLHEAD_RETRACT_MM 10 // (mm) Retract after priming length - #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE 300 // (mm/m) Extruder prime feedrate - #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400 // (mm/m) Extruder retract feedrate + #define SWITCHING_TOOLHEAD_PRIME_FEEDRATE 300 // (mm/min) Extruder prime feedrate + #define SWITCHING_TOOLHEAD_RETRACT_FEEDRATE 2400 // (mm/min) Extruder retract feedrate #endif #elif ENABLED(ELECTROMAGNETIC_SWITCHING_TOOLHEAD) #define SWITCHING_TOOLHEAD_Z_HOP 2 // (mm) Z raise for switching @@ -330,7 +330,7 @@ //#define PSU_NAME "Power Supply" #if ENABLED(PSU_CONTROL) - #define PSU_ACTIVE_HIGH false // Set 'false' for ATX, 'true' for X-Box + #define PSU_ACTIVE_STATE LOW // Set 'LOW' for ATX, 'HIGH' for X-Box //#define PSU_DEFAULT_OFF // Keep power off until enabled directly with M80 //#define PSU_POWERUP_DELAY 250 // (ms) Delay for the PSU to warm up to full power @@ -373,7 +373,7 @@ * 4 : 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !! * 5 : 100K thermistor - ATC Semitec 104GT-2/104NT-4-R025H42G (Used in ParCan, J-Head, and E3D) (4.7k pullup) * 501 : 100K Zonestar (Tronxy X3A) Thermistor - * 502 : 100K Zonestar Thermistor used by hot bed in Zonestar Prusa P802M + * 502 : 100K Zonestar Thermistor used by hot bed in Zonestar Průša P802M * 512 : 100k RPW-Ultra hotend thermistor (4.7k pullup) * 6 : 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup) * 7 : 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup) @@ -968,24 +968,34 @@ // /** - * Z Probe to nozzle (X,Y) offset, relative to (0, 0). + * Nozzle-to-Probe offsets { X, Y, Z } * - * In the following example the X and Y offsets are both positive: + * - Use a caliper or ruler to measure the distance from the tip of + * the Nozzle to the center-point of the Probe in the X and Y axes. + * - For the Z offset use your best known value and adjust at runtime. + * - Probe Offsets can be tuned at runtime with 'M851', LCD menus, babystepping, etc. * - * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } + * Assuming the typical work area orientation: + * - Probe to RIGHT of the Nozzle has a Positive X offset + * - Probe to LEFT of the Nozzle has a Negative X offset + * - Probe in BACK of the Nozzle has a Positive Y offset + * - Probe in FRONT of the Nozzle has a Negative Y offset + * + * Some examples: + * #define NOZZLE_TO_PROBE_OFFSET { 10, 10, -1 } // Example "1" + * #define NOZZLE_TO_PROBE_OFFSET {-10, 5, -1 } // Example "2" + * #define NOZZLE_TO_PROBE_OFFSET { 5, -5, -1 } // Example "3" + * #define NOZZLE_TO_PROBE_OFFSET {-15,-10, -1 } // Example "4" * * +-- BACK ---+ - * | | - * L | (+) P | R <-- probe (20,20) - * E | | I - * F | (-) N (+) | G <-- nozzle (10,10) - * T | | H - * | (-) | T - * | | + * | [+] | + * L | 1 | R <-- Example "1" (right+, back+) + * E | 2 | I <-- Example "2" ( left-, back+) + * F |[-] N [+]| G <-- Nozzle + * T | 3 | H <-- Example "3" (right+, front-) + * | 4 | T <-- Example "4" ( left-, front-) + * | [-] | * O-- FRONT --+ - * (0,0) - * - * Specify a Probe position as { X, Y, Z } */ #define NOZZLE_TO_PROBE_OFFSET { 0, 0, -0.4 } @@ -993,13 +1003,13 @@ // with NOZZLE_AS_PROBE this can be negative for a wider probing area. #define PROBING_MARGIN 10 -// X and Y axis travel speed (mm/m) between probes -#define XY_PROBE_SPEED 8000 +// X and Y axis travel speed (mm/min) between probes +#define XY_PROBE_SPEED (133*60) -// Feedrate (mm/m) for the first approach when double-probing (MULTIPLE_PROBING == 2) +// Feedrate (mm/min) for the first approach when double-probing (MULTIPLE_PROBING == 2) #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z -// Feedrate (mm/m) for the "accurate" probe of each point +// Feedrate (mm/min) for the "accurate" probe of each point #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 6) /** @@ -1070,18 +1080,18 @@ #define Z_ENABLE_ON 0 #define E_ENABLE_ON 0 // For all extruders -// Disables axis stepper immediately when it's not being used. +// Disable axis steppers immediately when they're not being stepped. // WARNING: When motors turn off there is a chance of losing position accuracy! #define DISABLE_X false #define DISABLE_Y false #define DISABLE_Z false -// Warn on display about possibly reduced accuracy +// Turn off the display blinking that warns about possible accuracy reduction //#define DISABLE_REDUCED_ACCURACY_WARNING // @section extruder -#define DISABLE_E false // For all extruders +#define DISABLE_E false // Disable the extruder when not stepping #define DISABLE_INACTIVE_EXTRUDER // Keep only the active extruder enabled // @section machine @@ -1172,10 +1182,11 @@ */ #define FILAMENT_RUNOUT_SENSOR #if ENABLED(FILAMENT_RUNOUT_SENSOR) - #define NUM_RUNOUT_SENSORS 1 // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. - #define FIL_RUNOUT_STATE LOW // Pin state indicating that filament is NOT present. - #define FIL_RUNOUT_PULLUP // Use internal pullup for filament runout pins. - //#define FIL_RUNOUT_PULLDOWN // Use internal pulldown for filament runout pins. + #define FIL_RUNOUT_ENABLED_DEFAULT true // Enable the sensor on startup. Override with M412 followed by M500. + #define NUM_RUNOUT_SENSORS 1 // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each. + #define FIL_RUNOUT_STATE LOW // Pin state indicating that filament is NOT present. + #define FIL_RUNOUT_PULLUP // Use internal pullup for filament runout pins. + //#define FIL_RUNOUT_PULLDOWN // Use internal pulldown for filament runout pins. // Set one or more commands to execute on filament runout. // (After 'M412 H' Marlin will ask the host to handle the process.) @@ -1392,7 +1403,7 @@ #define Z_SAFE_HOMING_Y_POINT Y_CENTER // Y point for Z homing #endif -// Homing speeds (mm/m) +// Homing speeds (mm/min) #define HOMING_FEEDRATE_XY (40*60) #define HOMING_FEEDRATE_Z (10*60) @@ -1597,9 +1608,12 @@ // Move the nozzle to the initial position after cleaning #define NOZZLE_CLEAN_GOBACK - // Enable for a purge/clean station that's always at the gantry height (thus no Z move) + // For a purge/clean station that's always at the gantry height (thus no Z move) //#define NOZZLE_CLEAN_NO_Z + // For a purge/clean station mounted on the X axis + //#define NOZZLE_CLEAN_NO_Y + // Explicit wipe G-code script applies to a G12 with no arguments. //#define WIPE_SEQUENCE_COMMANDS "G1 X-17 Y25 Z10 F4000\nG1 Z1\nM114\nG1 X-17 Y25\nG1 X-17 Y95\nG1 X-17 Y25\nG1 X-17 Y95\nG1 X-17 Y25\nG1 X-17 Y95\nG1 X-17 Y25\nG1 X-17 Y95\nG1 X-17 Y25\nG1 X-17 Y95\nG1 X-17 Y25\nG1 X-17 Y95\nG1 Z15\nM400\nG0 X-10.0 Y-9.0" @@ -1636,6 +1650,37 @@ */ #define PRINTCOUNTER +/** + * Password + * + * Set a numerical password for the printer which can be requested: + * + * - When the printer boots up + * - Upon opening the 'Print from Media' Menu + * - When SD printing is completed or aborted + * + * The following G-codes can be used: + * + * M510 - Lock Printer. Blocks all commands except M511. + * M511 - Unlock Printer. + * M512 - Set, Change and Remove Password. + * + * If you forget the password and get locked out you'll need to re-flash + * the firmware with the feature disabled, reset EEPROM, and (optionally) + * re-flash the firmware again with this feature enabled. + */ +//#define PASSWORD_FEATURE +#if ENABLED(PASSWORD_FEATURE) + #define PASSWORD_LENGTH 4 // (#) Number of digits (1-9). 3 or 4 is recommended + #define PASSWORD_ON_STARTUP + #define PASSWORD_UNLOCK_GCODE // Unlock with the M511 P command. Disable to prevent brute-force attack. + #define PASSWORD_CHANGE_GCODE // Change the password with M512 P S. + //#define PASSWORD_ON_SD_PRINT_MENU // This does not prevent gcodes from running + //#define PASSWORD_AFTER_SD_PRINT_END + //#define PASSWORD_AFTER_SD_PRINT_ABORT + //#include "Configuration_Secure.h" // External file with PASSWORD_DEFAULT_VALUE +#endif + //============================================================================= //============================= LCD and SD support ============================ //============================================================================= @@ -1648,7 +1693,7 @@ * Select the language to display on the LCD. These languages are available: * * en, an, bg, ca, cz, da, de, el, el_gr, es, eu, fi, fr, gl, hr, hu, it, - * jp_kana, ko_KR, nl, pl, pt, pt_br, ro ru, sk, tr, uk, vi, zh_CN, zh_TW, test + * jp_kana, ko_KR, nl, pl, pt, pt_br, ro, ru, sk, tr, uk, vi, zh_CN, zh_TW, test * * :{ 'en':'English', 'an':'Aragonese', 'bg':'Bulgarian', 'ca':'Catalan', 'cz':'Czech', 'da':'Danish', 'de':'German', 'el':'Greek', 'el_gr':'Greek (Greece)', 'es':'Spanish', 'eu':'Basque-Euskera', 'fi':'Finnish', 'fr':'French', 'gl':'Galician', 'hr':'Croatian', 'hu':'Hungarian', 'it':'Italian', 'jp_kana':'Japanese', 'ko_KR':'Korean (South Korea)', 'nl':'Dutch', 'pl':'Polish', 'pt':'Portuguese', 'pt_br':'Portuguese (Brazilian)', 'ro':'Romanian', 'ru':'Russian', 'sk':'Slovak', 'tr':'Turkish', 'uk':'Ukrainian', 'vi':'Vietnamese', 'zh_CN':'Chinese (Simplified)', 'zh_TW':'Chinese (Traditional)', 'test':'TEST' } */ @@ -1679,9 +1724,9 @@ #define DISPLAY_CHARSET_HD44780 JAPANESE /** - * Info Screen Style (0:Classic, 1:Prusa) + * Info Screen Style (0:Classic, 1:Průša) * - * :[0:'Classic', 1:'Prusa'] + * :[0:'Classic', 1:'Průša'] */ #define LCD_INFO_SCREEN_STYLE 0 @@ -2021,7 +2066,7 @@ //#define FYSETC_MINI_12864_X_X // Type C/D/E/F. No tunable RGB Backlight by default //#define FYSETC_MINI_12864_1_2 // Type C/D/E/F. Simple RGB Backlight (always on) //#define FYSETC_MINI_12864_2_0 // Type A/B. Discreet RGB Backlight -//#define FYSETC_MINI_12864_2_1 // Type A/B. Neopixel RGB Backlight +//#define FYSETC_MINI_12864_2_1 // Type A/B. NeoPixel RGB Backlight //#define FYSETC_GENERIC_12864_1_1 // Larger display with basic ON/OFF backlight. // @@ -2083,7 +2128,7 @@ //#define OLED_PANEL_TINYBOY2 // -// MKS OLED 1.3" 128 × 64 FULL GRAPHICS CONTROLLER +// MKS OLED 1.3" 128×64 FULL GRAPHICS CONTROLLER // https://reprap.org/wiki/MKS_12864OLED // // Tiny, but very sharp OLED display @@ -2091,6 +2136,13 @@ //#define MKS_12864OLED // Uses the SH1106 controller (default) //#define MKS_12864OLED_SSD1306 // Uses the SSD1306 controller +// +// Zonestar OLED 128×64 FULL GRAPHICS CONTROLLER +// +//#define ZONESTAR_12864LCD // Graphical (DOGM) with ST7920 controller +//#define ZONESTAR_12864OLED // 1.3" OLED with SH1106 controller (default) +//#define ZONESTAR_12864OLED_SSD1306 // 0.96" OLED with SSD1306 controller + // // Einstart S OLED SSD1306 // @@ -2102,7 +2154,7 @@ //#define OVERLORD_OLED // -// FYSETC OLED 2.42" 128 × 64 FULL GRAPHICS CONTROLLER with WS2812 RGB +// FYSETC OLED 2.42" 128×64 FULL GRAPHICS CONTROLLER with WS2812 RGB // Where to find : https://www.aliexpress.com/item/4000345255731.html //#define FYSETC_242_OLED_12864 // Uses the SSD1309 controller @@ -2130,6 +2182,16 @@ // //#define TOUCH_UI_FTDI_EVE +// +// Touch-screen LCD for Anycubic printers +// +//#define ANYCUBIC_LCD_I3MEGA +//#define ANYCUBIC_LCD_CHIRON +#if EITHER(ANYCUBIC_LCD_I3MEGA, ANYCUBIC_LCD_CHIRON) + #define ANYCUBIC_LCD_SERIAL_PORT 3 + //#define ANYCUBIC_LCD_DEBUG +#endif + // // Third-party or vendor-customized controller interfaces. // Sources should be installed in 'src/lcd/extensible_ui'. @@ -2144,6 +2206,28 @@ //=============================== Graphical TFTs ============================== //============================================================================= +// +// TFT display with optional touch screen +// Color Marlin UI with standard menu system +// +//#define TFT_320x240 +//#define TFT_320x240_SPI +//#define TFT_480x320 +//#define TFT_480x320_SPI + +// +// Skip autodetect and force specific TFT driver +// Mandatory for SPI screens with no MISO line +// Available drivers are: ST7735, ST7789, ST7796, R61505, ILI9328, ILI9341, ILI9488 +// +//#define TFT_DRIVER AUTO + +// +// SPI display (MKS Robin Nano V2.0, MKS Gen L V2.0) +// Upscaled 128x64 Marlin UI +// +//#define SPI_GRAPHICAL_TFT + // // FSMC display (MKS Robin, Alfawise U20, JGAurora A5S, REXYZ A1, etc.) // Upscaled 128x64 Marlin UI @@ -2160,12 +2244,6 @@ //#define TFT_LVGL_UI_FSMC // Robin nano v1.2 uses FSMC //#define TFT_LVGL_UI_SPI // Robin nano v2.0 uses SPI -// -// Anycubic Mega TFT (AI3M) -// -//#define ANYCUBIC_TFT_MODEL -//#define ANYCUBIC_TFT_DEBUG - //============================================================================= //============================ Other Controllers ============================ //============================================================================= @@ -2178,20 +2256,22 @@ // // ADS7843/XPT2046 ADC Touchscreen such as ILI9341 2.8 // -//#define TOUCH_BUTTONS -#if ENABLED(TOUCH_BUTTONS) +//#define TOUCH_SCREEN +#if ENABLED(TOUCH_SCREEN) #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus - #define XPT2046_X_CALIBRATION 12316 - #define XPT2046_Y_CALIBRATION -8981 - #define XPT2046_X_OFFSET -43 - #define XPT2046_Y_OFFSET 257 + #define TOUCH_SCREEN_CALIBRATION + + //#define XPT2046_X_CALIBRATION 12316 + //#define XPT2046_Y_CALIBRATION -8981 + //#define XPT2046_X_OFFSET -43 + //#define XPT2046_Y_OFFSET 257 #endif // // RepRapWorld REPRAPWORLD_KEYPAD v1.1 -// https://reprapworld.com/?products_details&products_id=202&cPath=1591_1626 +// https://reprapworld.com/products/electronics/ramps/keypad_v1_0_fully_assembled/ // //#define REPRAPWORLD_KEYPAD //#define REPRAPWORLD_KEYPAD_MOVE_STEP 10.0 // (mm) Distance to move per key-press @@ -2202,6 +2282,10 @@ // @section extras +// Set number of user-controlled fans. Disable to use all board-defined fans. +// :[1,2,3,4,5,6,7,8] +//#define NUM_M106_FANS 1 + // Increase the FAN PWM frequency. Removes the PWM noise but increases heating in the FET/Arduino //#define FAST_PWM_FAN @@ -2252,13 +2336,13 @@ * Adds the M150 command to set the LED (or LED strip) color. * If pins are PWM capable (e.g., 4, 5, 6, 11) then a range of * luminance values can be set from 0 to 255. - * For Neopixel LED an overall brightness parameter is also available. + * For NeoPixel LED an overall brightness parameter is also available. * * *** CAUTION *** * LED Strips require a MOSFET Chip between PWM lines and LEDs, * as the Arduino cannot handle the current the LEDs will require. * Failure to follow this precaution can destroy your Arduino! - * NOTE: A separate 5V power supply is required! The Neopixel LED needs + * NOTE: A separate 5V power supply is required! The NeoPixel LED needs * more current than the Arduino 5V linear regulator can produce. * *** CAUTION *** * @@ -2275,19 +2359,29 @@ //#define RGB_LED_W_PIN -1 #endif -// Support for Adafruit Neopixel LED driver +// Support for Adafruit NeoPixel LED driver //#define NEOPIXEL_LED #if ENABLED(NEOPIXEL_LED) #define NEOPIXEL_TYPE NEO_GRBW // NEO_GRBW / NEO_GRB - four/three channel driver type (defined in Adafruit_NeoPixel.h) #define NEOPIXEL_PIN 4 // LED driving pin //#define NEOPIXEL2_TYPE NEOPIXEL_TYPE //#define NEOPIXEL2_PIN 5 - #define NEOPIXEL_PIXELS 30 // Number of LEDs in the strip, larger of 2 strips if 2 neopixel strips are used + #define NEOPIXEL_PIXELS 30 // Number of LEDs in the strip. (Longest strip when NEOPIXEL2_SEPARATE is disabled.) #define NEOPIXEL_IS_SEQUENTIAL // Sequential display for temperature change - LED by LED. Disable to change all LEDs at once. #define NEOPIXEL_BRIGHTNESS 127 // Initial brightness (0-255) //#define NEOPIXEL_STARTUP_TEST // Cycle through colors at startup - // Use a single Neopixel LED for static (background) lighting + // Support for second Adafruit NeoPixel LED driver controlled with M150 S1 ... + //#define NEOPIXEL2_SEPARATE + #if ENABLED(NEOPIXEL2_SEPARATE) + #define NEOPIXEL2_PIXELS 15 // Number of LEDs in the second strip + #define NEOPIXEL2_BRIGHTNESS 127 // Initial brightness (0-255) + #define NEOPIXEL2_STARTUP_TEST // Cycle through colors at startup + #else + //#define NEOPIXEL2_INSERIES // Default behavior is NeoPixel 2 in parallel + #endif + + // Use a single NeoPixel LED for static (background) lighting //#define NEOPIXEL_BKGD_LED_INDEX 0 // Index of the LED to use //#define NEOPIXEL_BKGD_COLOR { 255, 255, 255, 0 } // R, G, B, W #endif diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index bbc1158668d4..99ea8f9f3df1 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -339,7 +339,7 @@ #if ENABLED(EXTRUDER_RUNOUT_PREVENT) #define EXTRUDER_RUNOUT_MINTEMP 190 #define EXTRUDER_RUNOUT_SECONDS 30 - #define EXTRUDER_RUNOUT_SPEED 1500 // (mm/m) + #define EXTRUDER_RUNOUT_SPEED 1500 // (mm/min) #define EXTRUDER_RUNOUT_EXTRUDE 5 // (mm) #endif @@ -488,7 +488,7 @@ //#define CASE_LIGHT_MAX_PWM 128 // Limit pwm //#define CASE_LIGHT_MENU // Add Case Light options to the LCD menu //#define CASE_LIGHT_NO_BRIGHTNESS // Disable brightness control. Enable for non-PWM lighting. - //#define CASE_LIGHT_USE_NEOPIXEL // Use Neopixel LED as case light, requires NEOPIXEL_LED. + //#define CASE_LIGHT_USE_NEOPIXEL // Use NeoPixel LED as case light, requires NEOPIXEL_LED. #if ENABLED(CASE_LIGHT_USE_NEOPIXEL) #define CASE_LIGHT_NEOPIXEL_COLOR { 255, 255, 255, 255 } // { Red, Green, Blue, White } #endif @@ -680,7 +680,7 @@ * Danger: Don't activate 5V mode unless attached to a 5V-tolerant controller! * V3.0 or 3.1: Set default mode to 5V mode at Marlin startup. * If disabled, OD mode is the hard-coded default on 3.0 - * On startup, Marlin will compare its eeprom to this vale. If the selected mode + * On startup, Marlin will compare its eeprom to this value. If the selected mode * differs, a mode set eeprom write will be completed at initialization. * Use the option below to force an eeprom write to a V3.1 probe regardless. */ @@ -769,7 +769,7 @@ #endif // -// Add the G35 command to read bed corners to help adjust screws. +// Add the G35 command to read bed corners to help adjust screws. Requires a bed probe. // //#define ASSISTED_TRAMMING #if ENABLED(ASSISTED_TRAMMING) @@ -809,24 +809,30 @@ #define INVERT_Z_STEP_PIN false #define INVERT_E_STEP_PIN false -// Default stepper release if idle. Set to 0 to deactivate. -// Steppers will shut down DEFAULT_STEPPER_DEACTIVE_TIME seconds after the last move when DISABLE_INACTIVE_? is true. -// Time can be set by M18 and M84. +/** + * Idle Stepper Shutdown + * Set DISABLE_INACTIVE_? 'true' to shut down axis steppers after an idle period. + * The Deactive Time can be overridden with M18 and M84. Set to 0 for No Timeout. + */ #define DEFAULT_STEPPER_DEACTIVE_TIME 120 #define DISABLE_INACTIVE_X true #define DISABLE_INACTIVE_Y true -#define DISABLE_INACTIVE_Z true // Set to false if the nozzle will fall down on your printed part when print has finished. +#define DISABLE_INACTIVE_Z true // Set 'false' if the nozzle could fall onto your printed part! #define DISABLE_INACTIVE_E true -#define DEFAULT_MINIMUMFEEDRATE 0.0 // minimum feedrate -#define DEFAULT_MINTRAVELFEEDRATE 0.0 +// If the Nozzle or Bed falls when the Z stepper is disabled, set its resting position here. +//#define Z_AFTER_DEACTIVATE Z_HOME_POS //#define HOME_AFTER_DEACTIVATE // Require rehoming after steppers are deactivated -// Minimum time that a segment needs to take if the buffer is emptied -#define DEFAULT_MINSEGMENTTIME 20000 // (µs) +// Default Minimum Feedrates for printing and travel moves +#define DEFAULT_MINIMUMFEEDRATE 0.0 // (mm/s) Minimum feedrate. Set with M205 S. +#define DEFAULT_MINTRAVELFEEDRATE 0.0 // (mm/s) Minimum travel feedrate. Set with M205 T. -// Slow down the machine if the look ahead buffer is (by default) half full. +// Minimum time that a segment needs to take as the buffer gets emptied +#define DEFAULT_MINSEGMENTTIME 20000 // (µs) Set with M205 B. + +// Slow down the machine if the lookahead buffer is (by default) half full. // Increase the slowdown divisor for larger buffer sizes. #define SLOWDOWN #if ENABLED(SLOWDOWN) @@ -877,7 +883,7 @@ // increments while checking for the contact to be broken. #define BACKLASH_MEASUREMENT_LIMIT 0.5 // (mm) #define BACKLASH_MEASUREMENT_RESOLUTION 0.005 // (mm) - #define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/m) + #define BACKLASH_MEASUREMENT_FEEDRATE Z_PROBE_SPEED_SLOW // (mm/min) #endif #endif #endif @@ -903,9 +909,9 @@ #define CALIBRATION_MEASUREMENT_RESOLUTION 0.01 // mm - #define CALIBRATION_FEEDRATE_SLOW 60 // mm/m - #define CALIBRATION_FEEDRATE_FAST 1200 // mm/m - #define CALIBRATION_FEEDRATE_TRAVEL 3000 // mm/m + #define CALIBRATION_FEEDRATE_SLOW 60 // mm/min + #define CALIBRATION_FEEDRATE_FAST 1200 // mm/min + #define CALIBRATION_FEEDRATE_TRAVEL 3000 // mm/min // The following parameters refer to the conical section of the nozzle tip. #define CALIBRATION_NOZZLE_TIP_HEIGHT 1.0 // mm @@ -1019,7 +1025,7 @@ // @section lcd #if EITHER(ULTIPANEL, EXTENSIBLE_UI) - #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 60 } // Feedrates for manual moves along X, Y, Z, E from panel + #define MANUAL_FEEDRATE { 50*60, 50*60, 4*60, 2*60 } // (mm/min) Feedrates for manual moves along X, Y, Z, E from panel #define SHORT_MANUAL_Z_MOVE 0.025 // (mm) Smallest manual Z move (< 0.1mm) #if ENABLED(ULTIPANEL) #define MANUAL_E_MOVES_RELATIVE // Display extruder move distance rather than "position" @@ -1059,6 +1065,7 @@ //#define LED_CONTROL_MENU #if ENABLED(LED_CONTROL_MENU) #define LED_COLOR_PRESETS // Enable the Preset Color menu option + //#define NEO2_COLOR_PRESETS // Enable a second NeoPixel Preset Color menu option #if ENABLED(LED_COLOR_PRESETS) #define LED_USER_PRESET_RED 255 // User defined RED value #define LED_USER_PRESET_GREEN 128 // User defined GREEN value @@ -1067,6 +1074,14 @@ #define LED_USER_PRESET_BRIGHTNESS 255 // User defined intensity //#define LED_USER_PRESET_STARTUP // Have the printer display the user preset color on startup #endif + #if ENABLED(NEO2_COLOR_PRESETS) + #define NEO2_USER_PRESET_RED 255 // User defined RED value + #define NEO2_USER_PRESET_GREEN 128 // User defined GREEN value + #define NEO2_USER_PRESET_BLUE 0 // User defined BLUE value + #define NEO2_USER_PRESET_WHITE 255 // User defined WHITE value + #define NEO2_USER_PRESET_BRIGHTNESS 255 // User defined intensity + //#define NEO2_USER_PRESET_STARTUP // Have the printer display the user preset color on startup for the second strip + #endif #endif #endif // HAS_LCD_MENU @@ -1131,7 +1146,7 @@ //#define MENU_ADDAUTOSTART // Add a menu option to run auto#.g files - #define EVENT_GCODE_SD_STOP "G28XY" // G-code to run on Stop Print (e.g., "G28XY" or "G27") + #define EVENT_GCODE_SD_ABORT "G28XY" // G-code to run on SD Abort Print (e.g., "G28XY" or "G27") #if ENABLED(PRINTER_EVENT_LEDS) #define PE_LEDS_COMPLETED_TIME (30*60) // (seconds) Time to keep the LED "done" color before restoring normal illumination @@ -1509,9 +1524,10 @@ #endif // -// FSMC Graphical TFT +// FSMC / SPI Graphical TFT // -#if ENABLED(FSMC_GRAPHICAL_TFT) +#if TFT_SCALED_DOGLCD + //#define GRAPHICAL_TFT_ROTATE_180 //#define TFT_MARLINUI_COLOR 0xFFFF // White //#define TFT_MARLINBG_COLOR 0x0000 // Black //#define TFT_DISABLED_COLOR 0x0003 // Almost black @@ -1978,13 +1994,13 @@ // Load / Unload #define TOOLCHANGE_FS_LENGTH 12 // (mm) Load / Unload length #define TOOLCHANGE_FS_EXTRA_RESUME_LENGTH 0 // (mm) Extra length for better restart, fine tune by LCD/Gcode) - #define TOOLCHANGE_FS_RETRACT_SPEED (50*60) // (mm/m) (Unloading) - #define TOOLCHANGE_FS_UNRETRACT_SPEED (25*60) // (mm/m) (On SINGLENOZZLE or Bowden loading must be slowed down) + #define TOOLCHANGE_FS_RETRACT_SPEED (50*60) // (mm/min) (Unloading) + #define TOOLCHANGE_FS_UNRETRACT_SPEED (25*60) // (mm/min) (On SINGLENOZZLE or Bowden loading must be slowed down) // Longer prime to clean out a SINGLENOZZLE #define TOOLCHANGE_FS_EXTRA_PRIME 0 // (mm) Extra priming length - #define TOOLCHANGE_FS_PRIME_SPEED (4.6*60) // (mm/m) Extra priming feedrate - #define TOOLCHANGE_FS_WIPE_RETRACT 0 // (mm/m) Retract before cooling for less stringing, better wipe, etc. + #define TOOLCHANGE_FS_PRIME_SPEED (4.6*60) // (mm/min) Extra priming feedrate + #define TOOLCHANGE_FS_WIPE_RETRACT 0 // (mm/min) Retract before cooling for less stringing, better wipe, etc. // Cool after prime to reduce stringing #define TOOLCHANGE_FS_FAN -1 // Fan index or -1 to skip @@ -2020,7 +2036,7 @@ //#define TOOLCHANGE_PARK #if ENABLED(TOOLCHANGE_PARK) #define TOOLCHANGE_PARK_XY { X_MIN_POS + 10, Y_MIN_POS + 10 } - #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/m) + #define TOOLCHANGE_PARK_XY_FEEDRATE 6000 // (mm/min) //#define TOOLCHANGE_PARK_X_ONLY // X axis only move //#define TOOLCHANGE_PARK_Y_ONLY // Y axis only move #endif @@ -2417,7 +2433,7 @@ * CHOPPER_DEFAULT_24V * CHOPPER_DEFAULT_36V * CHOPPER_09STEP_24V // 0.9 degree steppers (24V) - * CHOPPER_PRUSAMK3_24V // Imported parameters from the official Prusa firmware for MK3 (24V) + * CHOPPER_PRUSAMK3_24V // Imported parameters from the official Průša firmware for MK3 (24V) * CHOPPER_MARLIN_119 // Old defaults from Marlin v1.1.9 * * Define you own with @@ -2844,7 +2860,7 @@ //#define SPINDLE_FEATURE //#define LASER_FEATURE #if EITHER(SPINDLE_FEATURE, LASER_FEATURE) - #define SPINDLE_LASER_ACTIVE_HIGH false // Set to "true" if the on/off function is active HIGH + #define SPINDLE_LASER_ACTIVE_STATE LOW // Set to "HIGH" if the on/off function is active HIGH #define SPINDLE_LASER_PWM true // Set to "true" if your controller supports setting the speed/power #define SPINDLE_LASER_PWM_INVERT false // Set to "true" if the speed/power goes up when you want it to go slower @@ -3144,7 +3160,7 @@ //#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc. // Enable and set a (default) feedrate for all G0 moves -//#define G0_FEEDRATE 3000 // (mm/m) +//#define G0_FEEDRATE 3000 // (mm/min) #ifdef G0_FEEDRATE //#define VARIABLE_G0_FEEDRATE // The G0 feedrate is set by F in G0 motion mode #endif @@ -3389,7 +3405,7 @@ #endif /** - * Prusa Multi-Material Unit v2 + * Průša Multi-Material Unit v2 * Enable in Configuration.h */ #if ENABLED(PRUSA_MMU2) @@ -3413,7 +3429,7 @@ //#define MMU2_MENUS #if ENABLED(MMU2_MENUS) // Settings for filament load / unload from the LCD menu. - // This is for Prusa MK3-style extruders. Customize for your hardware. + // This is for Průša MK3-style extruders. Customize for your hardware. #define MMU2_FILAMENTCHANGE_EJECT_FEED 80.0 #define MMU2_LOAD_TO_NOZZLE_SEQUENCE \ { 7.2, 1145 }, \ @@ -3439,7 +3455,7 @@ /** * MMU Extruder Sensor * - * Support for a Prusa (or other) IR Sensor to detect filament near the extruder + * Support for a Průša (or other) IR Sensor to detect filament near the extruder * and make loading more reliable. Suitable for an extruder equipped with a filament * sensor less than 38mm from the gears. * @@ -3461,7 +3477,7 @@ #if ENABLED(PRUSA_MMU2_S_MODE) #define MMU2_C0_RETRY 5 // Number of retries (total time = timeout*retries) - #define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/m) + #define MMU2_CAN_LOAD_FEEDRATE 800 // (mm/min) #define MMU2_CAN_LOAD_SEQUENCE \ { 0.1, MMU2_CAN_LOAD_FEEDRATE }, \ { 60.0, MMU2_CAN_LOAD_FEEDRATE }, \ diff --git a/Marlin/Version.h b/Marlin/Version.h index 37112317dd57..5ce04b290367 100644 --- a/Marlin/Version.h +++ b/Marlin/Version.h @@ -28,7 +28,7 @@ /** * Marlin release version identifier */ -//#define SHORT_BUILD_VERSION "2.0.6" +//#define SHORT_BUILD_VERSION "2.0.6.1" /** * Verbose version identifier which should contain a reference to the location diff --git a/Marlin/src/HAL/AVR/HAL.h b/Marlin/src/HAL/AVR/HAL.h index b0e0674c7329..609375e386e8 100644 --- a/Marlin/src/HAL/AVR/HAL.h +++ b/Marlin/src/HAL/AVR/HAL.h @@ -120,6 +120,17 @@ typedef int8_t pin_t; #define DGUS_SERIAL_GET_TX_BUFFER_FREE DGUS_SERIAL.get_tx_buffer_free #endif +#ifdef ANYCUBIC_LCD_SERIAL_PORT + #if !WITHIN(ANYCUBIC_LCD_SERIAL_PORT, -1, 3) + #error "ANYCUBIC_LCD_SERIAL_PORT must be from -1 to 3. Please update your configuration." + #elif ANYCUBIC_LCD_SERIAL_PORT == SERIAL_PORT + #error "ANYCUBIC_LCD_SERIAL_PORT must be different than SERIAL_PORT. Please update your configuration." + #elif defined(SERIAL_PORT_2) && ANYCUBIC_LCD_SERIAL_PORT == SERIAL_PORT_2 + #error "ANYCUBIC_LCD_SERIAL_PORT must be different than SERIAL_PORT_2. Please update your configuration." + #endif + #define ANYCUBIC_LCD_SERIAL anycubicLcdSerial +#endif + // ------------------------ // Public functions // ------------------------ diff --git a/Marlin/src/HAL/AVR/MarlinSerial.cpp b/Marlin/src/HAL/AVR/MarlinSerial.cpp index f41ef2011407..3d44a3f59ffc 100644 --- a/Marlin/src/HAL/AVR/MarlinSerial.cpp +++ b/Marlin/src/HAL/AVR/MarlinSerial.cpp @@ -792,6 +792,24 @@ #endif +#ifdef ANYCUBIC_LCD_SERIAL_PORT + + ISR(SERIAL_REGNAME(USART,ANYCUBIC_LCD_SERIAL_PORT,_RX_vect)) { + MarlinSerial>::store_rxd_char(); + } + + ISR(SERIAL_REGNAME(USART,ANYCUBIC_LCD_SERIAL_PORT,_UDRE_vect)) { + MarlinSerial>::_tx_udr_empty_irq(); + } + + // Preinstantiate + template class MarlinSerial>; + + // Instantiate + MarlinSerial> anycubicLcdSerial; + +#endif + // For AT90USB targets use the UART for BT interfacing #if defined(USBCON) && ENABLED(BLUETOOTH) HardwareSerial bluetoothSerial; diff --git a/Marlin/src/HAL/AVR/MarlinSerial.h b/Marlin/src/HAL/AVR/MarlinSerial.h index 1182d86ac58f..e8bfc5583a91 100644 --- a/Marlin/src/HAL/AVR/MarlinSerial.h +++ b/Marlin/src/HAL/AVR/MarlinSerial.h @@ -312,6 +312,23 @@ extern MarlinSerial> internalDgusSerial; #endif +#ifdef ANYCUBIC_LCD_SERIAL_PORT + template + struct AnycubicLcdSerialCfg { + static constexpr int PORT = serial; + static constexpr unsigned int RX_SIZE = 64; + static constexpr unsigned int TX_SIZE = 128; + static constexpr bool XONOFF = false; + static constexpr bool EMERGENCYPARSER = false; + static constexpr bool DROPPED_RX = false; + static constexpr bool RX_OVERRUNS = false; + static constexpr bool RX_FRAMING_ERRORS = false; + static constexpr bool MAX_RX_QUEUED = false; + }; + + extern MarlinSerial> anycubicLcdSerial; +#endif + // Use the UART for Bluetooth in AT90USB configurations #if defined(USBCON) && ENABLED(BLUETOOTH) extern HardwareSerial bluetoothSerial; diff --git a/Marlin/src/HAL/AVR/ServoTimers.h b/Marlin/src/HAL/AVR/ServoTimers.h index 564714df6e8e..436b28141f95 100644 --- a/Marlin/src/HAL/AVR/ServoTimers.h +++ b/Marlin/src/HAL/AVR/ServoTimers.h @@ -59,10 +59,12 @@ // Say which 16 bit timers can be used and in what order #if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) //#define _useTimer1 - #define _useTimer3 #define _useTimer4 - #if !HAS_MOTOR_CURRENT_PWM - #define _useTimer5 // Timer 5 is used for motor current PWM and can't be used for servos. + #if NUM_SERVOS > SERVOS_PER_TIMER + #define _useTimer3 + #if !HAS_MOTOR_CURRENT_PWM && SERVOS > 2 * SERVOS_PER_TIMER + #define _useTimer5 // Timer 5 is used for motor current PWM and can't be used for servos. + #endif #endif #elif defined(__AVR_ATmega32U4__) #define _useTimer3 diff --git a/Marlin/src/HAL/AVR/inc/Conditionals_LCD.h b/Marlin/src/HAL/AVR/inc/Conditionals_LCD.h index 5f1c4b16019d..a611ccd7c4a9 100644 --- a/Marlin/src/HAL/AVR/inc/Conditionals_LCD.h +++ b/Marlin/src/HAL/AVR/inc/Conditionals_LCD.h @@ -20,3 +20,7 @@ * */ #pragma once + +#if HAS_SPI_TFT || HAS_FSMC_TFT + #error "Sorry! TFT displays are not available for HAL/AVR." +#endif diff --git a/Marlin/src/HAL/AVR/inc/SanityCheck.h b/Marlin/src/HAL/AVR/inc/SanityCheck.h index e55e45b73bd0..731cf9286582 100644 --- a/Marlin/src/HAL/AVR/inc/SanityCheck.h +++ b/Marlin/src/HAL/AVR/inc/SanityCheck.h @@ -36,9 +36,10 @@ * Sanity checks for Spindle / Laser PWM */ #if ENABLED(SPINDLE_LASER_PWM) + #include "../ServoTimers.h" // Needed to check timer availability (_useTimer3) #if SPINDLE_LASER_PWM_PIN == 4 || WITHIN(SPINDLE_LASER_PWM_PIN, 11, 13) #error "Counter/Timer for SPINDLE_LASER_PWM_PIN is used by a system interrupt." - #elif NUM_SERVOS > 0 && (WITHIN(SPINDLE_LASER_PWM_PIN, 2, 3) || SPINDLE_LASER_PWM_PIN == 5) + #elif NUM_SERVOS > 0 && defined(_useTimer3) && (WITHIN(SPINDLE_LASER_PWM_PIN, 2, 3) || SPINDLE_LASER_PWM_PIN == 5) #error "Counter/Timer for SPINDLE_LASER_PWM_PIN is used by the servo system." #endif #elif defined(SPINDLE_LASER_FREQUENCY) diff --git a/Marlin/src/HAL/DUE/HAL.cpp b/Marlin/src/HAL/DUE/HAL.cpp index f2bf4ebbf5b8..4b9260c35962 100644 --- a/Marlin/src/HAL/DUE/HAL.cpp +++ b/Marlin/src/HAL/DUE/HAL.cpp @@ -15,6 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program. If not, see . + * */ /** diff --git a/Marlin/src/HAL/DUE/inc/Conditionals_LCD.h b/Marlin/src/HAL/DUE/inc/Conditionals_LCD.h index 5f1c4b16019d..58674144470c 100644 --- a/Marlin/src/HAL/DUE/inc/Conditionals_LCD.h +++ b/Marlin/src/HAL/DUE/inc/Conditionals_LCD.h @@ -20,3 +20,7 @@ * */ #pragma once + +#if HAS_SPI_TFT || HAS_FSMC_TFT + #error "Sorry! TFT displays are not available for HAL/DUE." +#endif diff --git a/Marlin/src/HAL/DUE/usb/arduino_due_x.h b/Marlin/src/HAL/DUE/usb/arduino_due_x.h index b5be621791d2..d3b333fb349a 100644 --- a/Marlin/src/HAL/DUE/usb/arduino_due_x.h +++ b/Marlin/src/HAL/DUE/usb/arduino_due_x.h @@ -93,5 +93,5 @@ #define USB_VBOF_GPIO (PIO_PB10_IDX) #define USB_VBOF_FLAGS (PIO_PERIPH_A | PIO_DEFAULT) /*! Active level of the USB_VBOF output pin. */ -#define USB_VBOF_ACTIVE_LEVEL LOW +#define USB_VBOF_ACTIVE_STATE LOW /* ------------------------------------------------------------------------ */ diff --git a/Marlin/src/HAL/ESP32/inc/Conditionals_LCD.h b/Marlin/src/HAL/ESP32/inc/Conditionals_LCD.h index 5f1c4b16019d..4da600179d6c 100644 --- a/Marlin/src/HAL/ESP32/inc/Conditionals_LCD.h +++ b/Marlin/src/HAL/ESP32/inc/Conditionals_LCD.h @@ -20,3 +20,7 @@ * */ #pragma once + +#if HAS_SPI_TFT || HAS_FSMC_TFT + #error "Sorry! TFT displays are not available for HAL/ESP32." +#endif diff --git a/Marlin/src/HAL/ESP32/ota.cpp b/Marlin/src/HAL/ESP32/ota.cpp index 7cf65ed2d3cf..69a3e25e5631 100644 --- a/Marlin/src/HAL/ESP32/ota.cpp +++ b/Marlin/src/HAL/ESP32/ota.cpp @@ -15,6 +15,7 @@ * * You should have received a copy of the GNU General Public License * along with this program. If not, see . + * */ #ifdef ARDUINO_ARCH_ESP32 diff --git a/Marlin/src/HAL/HAL.h b/Marlin/src/HAL/HAL.h index 29702f2d2b61..c7b7531442db 100644 --- a/Marlin/src/HAL/HAL.h +++ b/Marlin/src/HAL/HAL.h @@ -38,7 +38,7 @@ // String helper #ifndef PGMSTR - #define PGMSTR(NAM,STR) constexpr char NAM[] = STR + #define PGMSTR(NAM,STR) const char NAM[] = STR #endif inline void watchdog_refresh() { diff --git a/Marlin/src/HAL/LINUX/inc/Conditionals_LCD.h b/Marlin/src/HAL/LINUX/inc/Conditionals_LCD.h index 5f1c4b16019d..99a6fc27534a 100644 --- a/Marlin/src/HAL/LINUX/inc/Conditionals_LCD.h +++ b/Marlin/src/HAL/LINUX/inc/Conditionals_LCD.h @@ -20,3 +20,7 @@ * */ #pragma once + +#if HAS_SPI_TFT || HAS_FSMC_TFT + #error "Sorry! TFT displays are not available for HAL/LINUX." +#endif diff --git a/Marlin/src/HAL/LPC1768/HAL_SPI.cpp b/Marlin/src/HAL/LPC1768/HAL_SPI.cpp index e34a102012a1..00b4310d1dc7 100644 --- a/Marlin/src/HAL/LPC1768/HAL_SPI.cpp +++ b/Marlin/src/HAL/LPC1768/HAL_SPI.cpp @@ -30,7 +30,7 @@ */ /** - * Hardware SPI and a software SPI implementations are included in this file. + * Hardware SPI and Software SPI implementations are included in this file. * The hardware SPI runs faster and has higher throughput but is not compatible * with some LCD interfaces/adapters. * @@ -51,6 +51,10 @@ #include "../../inc/MarlinConfig.h" #include +// Hardware SPI and SPIClass +#include +#include + // ------------------------ // Public functions // ------------------------ @@ -96,12 +100,6 @@ #else - // Hardware SPI - - #include - #include - #include - // decide which HW SPI device to use #ifndef LPC_HW_SPI_DEV #if (SCK_PIN == P0_07 && MISO_PIN == P0_08 && MOSI_PIN == P0_09) @@ -114,7 +112,7 @@ #endif #endif #endif - #if (LPC_HW_SPI_DEV == 0) + #if LPC_HW_SPI_DEV == 0 #define LPC_SSPn LPC_SSP0 #else #define LPC_SSPn LPC_SSP1 @@ -192,7 +190,7 @@ for (uint16_t i = 0; i < nbyte; i++) buf[i] = doio(0xFF); } - static uint8_t spiTransfer(uint8_t b) { + uint8_t spiTransfer(uint8_t b) { return doio(b); } @@ -211,30 +209,236 @@ #endif // LPC_SOFTWARE_SPI -void SPIClass::begin() { spiBegin(); } +/** + * @brief Wait until TXE (tx empty) flag is set and BSY (busy) flag unset. + */ +static inline void waitSpiTxEnd(LPC_SSP_TypeDef *spi_d) { + while (SSP_GetStatus(spi_d, SSP_STAT_TXFIFO_EMPTY) == RESET) { /* nada */ } // wait until TXE=1 + while (SSP_GetStatus(spi_d, SSP_STAT_BUSY) == SET) { /* nada */ } // wait until BSY=0 +} + +SPIClass::SPIClass(uint8_t device) { + // Init things specific to each SPI device + // clock divider setup is a bit of hack, and needs to be improved at a later date. + + PINSEL_CFG_Type PinCfg; // data structure to hold init values + #if BOARD_NR_SPI >= 1 + _settings[0].spi_d = LPC_SSP0; + // _settings[0].clockDivider = determine_baud_rate(_settings[0].spi_d, _settings[0].clock); + PinCfg.Funcnum = 2; + PinCfg.OpenDrain = 0; + PinCfg.Pinmode = 0; + PinCfg.Pinnum = LPC176x::pin_bit(BOARD_SPI1_SCK_PIN); + PinCfg.Portnum = LPC176x::pin_port(BOARD_SPI1_SCK_PIN); + PINSEL_ConfigPin(&PinCfg); + SET_OUTPUT(BOARD_SPI1_SCK_PIN); + + PinCfg.Pinnum = LPC176x::pin_bit(BOARD_SPI1_MISO_PIN); + PinCfg.Portnum = LPC176x::pin_port(BOARD_SPI1_MISO_PIN); + PINSEL_ConfigPin(&PinCfg); + SET_INPUT(BOARD_SPI1_MISO_PIN); + + PinCfg.Pinnum = LPC176x::pin_bit(BOARD_SPI1_MOSI_PIN); + PinCfg.Portnum = LPC176x::pin_port(BOARD_SPI1_MOSI_PIN); + PINSEL_ConfigPin(&PinCfg); + SET_OUTPUT(BOARD_SPI1_MOSI_PIN); + #endif + + #if BOARD_NR_SPI >= 2 + _settings[1].spi_d = LPC_SSP1; + // _settings[1].clockDivider = determine_baud_rate(_settings[1].spi_d, _settings[1].clock); + PinCfg.Funcnum = 2; + PinCfg.OpenDrain = 0; + PinCfg.Pinmode = 0; + PinCfg.Pinnum = LPC176x::pin_bit(BOARD_SPI2_SCK_PIN); + PinCfg.Portnum = LPC176x::pin_port(BOARD_SPI2_SCK_PIN); + PINSEL_ConfigPin(&PinCfg); + SET_OUTPUT(BOARD_SPI2_SCK_PIN); + + PinCfg.Pinnum = LPC176x::pin_bit(BOARD_SPI2_MISO_PIN); + PinCfg.Portnum = LPC176x::pin_port(BOARD_SPI2_MISO_PIN); + PINSEL_ConfigPin(&PinCfg); + SET_INPUT(BOARD_SPI2_MISO_PIN); + + PinCfg.Pinnum = LPC176x::pin_bit(BOARD_SPI2_MOSI_PIN); + PinCfg.Portnum = LPC176x::pin_port(BOARD_SPI2_MOSI_PIN); + PINSEL_ConfigPin(&PinCfg); + SET_OUTPUT(BOARD_SPI2_MOSI_PIN); + #endif + + setModule(device); + + /* Initialize GPDMA controller */ + //TODO: call once in the constructor? or each time? + GPDMA_Init(); +} + +void SPIClass::begin() { + updateSettings(); + SSP_Cmd(_currentSetting->spi_d, ENABLE); // start SSP running +} void SPIClass::beginTransaction(const SPISettings &cfg) { - uint8_t spiRate; - switch (cfg.spiRate()) { - case 8000000: spiRate = 0; break; - case 4000000: spiRate = 1; break; - case 2000000: spiRate = 2; break; - case 1000000: spiRate = 3; break; - case 500000: spiRate = 4; break; - case 250000: spiRate = 5; break; - case 125000: spiRate = 6; break; - default: spiRate = 2; break; - } - spiInit(spiRate); + setBitOrder(cfg.bitOrder); + setDataMode(cfg.dataMode); + setDataSize(cfg.dataSize); + //setClockDivider(determine_baud_rate(_currentSetting->spi_d, settings.clock)); + begin(); } -uint8_t SPIClass::transfer(const uint8_t B) { return spiTransfer(B); } +uint8_t SPIClass::transfer(const uint16_t b) { + /* send and receive a single byte */ + SSP_ReceiveData(_currentSetting->spi_d); // read any previous data + SSP_SendData(_currentSetting->spi_d, b); + waitSpiTxEnd(_currentSetting->spi_d); // wait for it to finish + return SSP_ReceiveData(_currentSetting->spi_d); +} uint16_t SPIClass::transfer16(const uint16_t data) { return (transfer((data >> 8) & 0xFF) << 8) | (transfer(data & 0xFF) & 0xFF); } -SPIClass SPI; +void SPIClass::end() { + // SSP_Cmd(_currentSetting->spi_d, DISABLE); // stop device or SSP_DeInit? + SSP_DeInit(_currentSetting->spi_d); +} + +void SPIClass::send(uint8_t data) { + SSP_SendData(_currentSetting->spi_d, data); +} + +void SPIClass::dmaSend(void *buf, uint16_t length, bool minc) { + //TODO: LPC dma can only write 0xFFF bytes at once. + GPDMA_Channel_CFG_Type GPDMACfg; + + /* Configure GPDMA channel 0 -------------------------------------------------------------*/ + /* DMA Channel 0 */ + GPDMACfg.ChannelNum = 0; + // Source memory + GPDMACfg.SrcMemAddr = (uint32_t)buf; + // Destination memory - Not used + GPDMACfg.DstMemAddr = 0; + // Transfer size + GPDMACfg.TransferSize = (minc ? length : 1); + // Transfer width + GPDMACfg.TransferWidth = (_currentSetting->dataSize == DATA_SIZE_16BIT) ? GPDMA_WIDTH_HALFWORD : GPDMA_WIDTH_BYTE; + // Transfer type + GPDMACfg.TransferType = GPDMA_TRANSFERTYPE_M2P; + // Source connection - unused + GPDMACfg.SrcConn = 0; + // Destination connection + GPDMACfg.DstConn = (_currentSetting->spi_d == LPC_SSP0) ? GPDMA_CONN_SSP0_Tx : GPDMA_CONN_SSP1_Tx; + + GPDMACfg.DMALLI = 0; + + // Enable dma on SPI + SSP_DMACmd(_currentSetting->spi_d, SSP_DMA_TX, ENABLE); + + // if minc=false, I'm repeating the same byte 'length' times, as I could not find yet how do GPDMA without memory increment + do { + // Setup channel with given parameter + GPDMA_Setup(&GPDMACfg); + + // enabled dma + GPDMA_ChannelCmd(0, ENABLE); + + // wait data transfer + while (!GPDMA_IntGetStatus(GPDMA_STAT_INTTC, 0) && !GPDMA_IntGetStatus(GPDMA_STAT_INTERR, 0)) { } + + // clear err and int + GPDMA_ClearIntPending (GPDMA_STATCLR_INTTC, 0); + GPDMA_ClearIntPending (GPDMA_STATCLR_INTERR, 0); + + // dma disable + GPDMA_ChannelCmd(0, DISABLE); + + --length; + } while (!minc && length > 0); + + waitSpiTxEnd(_currentSetting->spi_d); + + SSP_DMACmd(_currentSetting->spi_d, SSP_DMA_TX, DISABLE); +} + +uint16_t SPIClass::read() { + return SSP_ReceiveData(_currentSetting->spi_d); +} + +void SPIClass::read(uint8_t *buf, uint32_t len) { + for (uint16_t i = 0; i < len; i++) buf[i] = transfer(0xFF); +} + +void SPIClass::setClock(uint32_t clock) { + _currentSetting->clock = clock; +} + +void SPIClass::setModule(uint8_t device) { + _currentSetting = &_settings[device - 1];// SPI channels are called 1 2 and 3 but the array is zero indexed +} + +void SPIClass::setBitOrder(uint8_t bitOrder) { + _currentSetting->bitOrder = bitOrder; +} + +void SPIClass::setDataMode(uint8_t dataMode) { + _currentSetting->dataSize = dataMode; +} + +void SPIClass::setDataSize(uint32_t ds) { + _currentSetting->dataSize = ds; +} + +/** + * Set up/tear down + */ +void SPIClass::updateSettings() { + //SSP_DeInit(_currentSetting->spi_d); //todo: need force de init?! + + // divide PCLK by 2 for SSP0 + CLKPWR_SetPCLKDiv(_currentSetting->spi_d == LPC_SSP0 ? CLKPWR_PCLKSEL_SSP0 : CLKPWR_PCLKSEL_SSP1, CLKPWR_PCLKSEL_CCLK_DIV_2); + + SSP_CFG_Type HW_SPI_init; // data structure to hold init values + SSP_ConfigStructInit(&HW_SPI_init); // set values for SPI mode + HW_SPI_init.ClockRate = _currentSetting->clock; + HW_SPI_init.Databit = _currentSetting->dataSize; + + /** + * SPI Mode CPOL CPHA Shift SCK-edge Capture SCK-edge + * 0 0 0 Falling Rising + * 1 0 1 Rising Falling + * 2 1 0 Rising Falling + * 3 1 1 Falling Rising + */ + switch (_currentSetting->dataMode) { + case SPI_MODE0: + HW_SPI_init.CPHA = SSP_CPHA_FIRST; + HW_SPI_init.CPOL = SSP_CPOL_HI; + break; + case SPI_MODE1: + HW_SPI_init.CPHA = SSP_CPHA_SECOND; + HW_SPI_init.CPOL = SSP_CPOL_HI; + break; + case SPI_MODE2: + HW_SPI_init.CPHA = SSP_CPHA_FIRST; + HW_SPI_init.CPOL = SSP_CPOL_LO; + break; + case SPI_MODE3: + HW_SPI_init.CPHA = SSP_CPHA_SECOND; + HW_SPI_init.CPOL = SSP_CPOL_LO; + break; + default: + break; + } + + // TODO: handle bitOrder + SSP_Init(_currentSetting->spi_d, &HW_SPI_init); // puts the values into the proper bits in the SSP0 registers +} + +#if MISO_PIN == BOARD_SPI1_MISO_PIN + SPIClass SPI(1); +#elif MISO_PIN == BOARD_SPI2_MISO_PIN + SPIClass SPI(2); +#endif #endif // TARGET_LPC1768 diff --git a/Marlin/src/HAL/LPC1768/inc/Conditionals_LCD.h b/Marlin/src/HAL/LPC1768/inc/Conditionals_LCD.h index 5f1c4b16019d..b9bc0bf82e61 100644 --- a/Marlin/src/HAL/LPC1768/inc/Conditionals_LCD.h +++ b/Marlin/src/HAL/LPC1768/inc/Conditionals_LCD.h @@ -20,3 +20,14 @@ * */ #pragma once + +#if HAS_FSMC_TFT + #error "Sorry! FSMC TFT displays are not current available for HAL/LPC1768." +#endif + +// This emulated DOGM has 'touch/xpt2046', not 'tft/xpt2046' +#if ENABLED(TOUCH_SCREEN) && !HAS_GRAPHICAL_TFT + #undef TOUCH_SCREEN + #undef TOUCH_SCREEN_CALIBRATION + #define HAS_TOUCH_XPT2046 1 +#endif diff --git a/Marlin/src/HAL/LPC1768/include/SPI.h b/Marlin/src/HAL/LPC1768/include/SPI.h index 4acd9e7022a9..e2645b9290db 100644 --- a/Marlin/src/HAL/LPC1768/include/SPI.h +++ b/Marlin/src/HAL/LPC1768/include/SPI.h @@ -24,25 +24,139 @@ #include "../../shared/HAL_SPI.h" #include +#include +#include -#define MSBFIRST 1 -#define SPI_MODE3 0 +//#define MSBFIRST 1 + +#define SPI_MODE0 0 +#define SPI_MODE1 1 +#define SPI_MODE2 2 +#define SPI_MODE3 3 + +#define DATA_SIZE_8BIT SSP_DATABIT_8 +#define DATA_SIZE_16BIT SSP_DATABIT_16 + +#define SPI_CLOCK_DIV2 8333333 //(SCR: 2) desired: 8,000,000 actual: 8,333,333 +4.2% SPI_FULL_SPEED +#define SPI_CLOCK_DIV4 4166667 //(SCR: 5) desired: 4,000,000 actual: 4,166,667 +4.2% SPI_HALF_SPEED +#define SPI_CLOCK_DIV8 2083333 //(SCR: 11) desired: 2,000,000 actual: 2,083,333 +4.2% SPI_QUARTER_SPEED +#define SPI_CLOCK_DIV16 1000000 //(SCR: 24) desired: 1,000,000 actual: 1,000,000 SPI_EIGHTH_SPEED +#define SPI_CLOCK_DIV32 500000 //(SCR: 49) desired: 500,000 actual: 500,000 SPI_SPEED_5 +#define SPI_CLOCK_DIV64 250000 //(SCR: 99) desired: 250,000 actual: 250,000 SPI_SPEED_6 +#define SPI_CLOCK_DIV128 125000 //(SCR:199) desired: 125,000 actual: 125,000 Default from HAL.h + +#define SPI_CLOCK_MAX SPI_CLOCK_DIV2 + +#define BOARD_NR_SPI 2 + +//#define BOARD_SPI1_NSS_PIN PA4 ?! +#define BOARD_SPI1_SCK_PIN P0_15 +#define BOARD_SPI1_MISO_PIN P0_17 +#define BOARD_SPI1_MOSI_PIN P0_18 + +//#define BOARD_SPI2_NSS_PIN PB12 ?! +#define BOARD_SPI2_SCK_PIN P0_07 +#define BOARD_SPI2_MISO_PIN P0_08 +#define BOARD_SPI2_MOSI_PIN P0_09 class SPISettings { - public: - SPISettings(uint32_t speed, int, int) : spi_speed(speed) {}; - uint32_t spiRate() const { return spi_speed; } - private: - uint32_t spi_speed; +public: + SPISettings(uint32_t speed, int, int) : spi_speed(speed) {}; + SPISettings(uint32_t inClock, uint8_t inBitOrder, uint8_t inDataMode, uint32_t inDataSize) { + if (__builtin_constant_p(inClock)) + init_AlwaysInline(inClock, inBitOrder, inDataMode, inDataSize); + else + init_MightInline(inClock, inBitOrder, inDataMode, inDataSize); + } + SPISettings() { + init_AlwaysInline(4000000, MSBFIRST, SPI_MODE0, DATA_SIZE_8BIT); + } + + uint32_t spiRate() const { return spi_speed; } + +private: + void init_MightInline(uint32_t inClock, uint8_t inBitOrder, uint8_t inDataMode, uint32_t inDataSize) { + init_AlwaysInline(inClock, inBitOrder, inDataMode, inDataSize); + } + void init_AlwaysInline(uint32_t inClock, uint8_t inBitOrder, uint8_t inDataMode, uint32_t inDataSize) __attribute__((__always_inline__)) { + clock = inClock; + bitOrder = inBitOrder; + dataMode = inDataMode; + dataSize = inDataSize; + } + + uint32_t spi_speed; + uint32_t clock; + uint32_t dataSize; + //uint32_t clockDivider; + uint8_t bitOrder; + uint8_t dataMode; + LPC_SSP_TypeDef *spi_d; + + friend class SPIClass; }; +/** + * @brief Wirish SPI interface. + * + * This is the same interface is available across HAL + * + * This implementation uses software slave management, so the caller + * is responsible for controlling the slave select line. + */ class SPIClass { - public: - void begin(); - void beginTransaction(const SPISettings&); - void endTransaction() {}; - uint8_t transfer(uint8_t data); - uint16_t transfer16(uint16_t data); +public: + /** + * @param spiPortNumber Number of the SPI port to manage. + */ + SPIClass(uint8_t spiPortNumber); + + /** + * Select and configure the current selected SPI device to use + */ + void begin(); + + /** + * Disable the current SPI device + */ + void end(); + + void beginTransaction(const SPISettings&); + void endTransaction() {}; + + // Transfer using 1 "Data Size" + uint8_t transfer(uint16_t data); + // Transfer 2 bytes in 8 bit mode + uint16_t transfer16(uint16_t data); + + void send(uint8_t data); + + uint16_t read(); + void read(uint8_t *buf, uint32_t len); + + void dmaSend(void *buf, uint16_t length, bool minc); + + /** + * @brief Sets the number of the SPI peripheral to be used by + * this HardwareSPI instance. + * + * @param spi_num Number of the SPI port. 1-2 in low density devices + * or 1-3 in high density devices. + */ + void setModule(uint8_t device); + + void setClock(uint32_t clock); + void setBitOrder(uint8_t bitOrder); + void setDataMode(uint8_t dataMode); + void setDataSize(uint32_t ds); + + inline uint32_t getDataSize() { return _currentSetting->dataSize; } + +private: + SPISettings _settings[BOARD_NR_SPI]; + SPISettings *_currentSetting; + + void updateSettings(); }; extern SPIClass SPI; diff --git a/Marlin/src/HAL/LPC1768/tft/tft_spi.cpp b/Marlin/src/HAL/LPC1768/tft/tft_spi.cpp new file mode 100644 index 000000000000..84907acd0702 --- /dev/null +++ b/Marlin/src/HAL/LPC1768/tft/tft_spi.cpp @@ -0,0 +1,153 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../inc/MarlinConfig.h" + +#if HAS_SPI_TFT + +#include "tft_spi.h" + +//TFT_SPI tft; + +SPIClass TFT_SPI::SPIx(1); + +#define TFT_CS_H WRITE(TFT_CS_PIN, HIGH) +#define TFT_CS_L WRITE(TFT_CS_PIN, LOW) + +#define TFT_DC_H WRITE(TFT_DC_PIN, HIGH) +#define TFT_DC_L WRITE(TFT_DC_PIN, LOW) + +#define TFT_RST_H WRITE(TFT_RESET_PIN, HIGH) +#define TFT_RST_L WRITE(TFT_RESET_PIN, LOW) + +#define TFT_BLK_H WRITE(TFT_BACKLIGHT_PIN, HIGH) +#define TFT_BLK_L WRITE(TFT_BACKLIGHT_PIN, LOW) + +void TFT_SPI::Init() { + #if PIN_EXISTS(TFT_RESET) + SET_OUTPUT(TFT_RESET_PIN); + TFT_RST_H; + delay(100); + #endif + + #if PIN_EXISTS(TFT_BACKLIGHT) + SET_OUTPUT(TFT_BACKLIGHT_PIN); + TFT_BLK_H; + #endif + + SET_OUTPUT(TFT_DC_PIN); + SET_OUTPUT(TFT_CS_PIN); + + TFT_DC_H; + TFT_CS_H; + + /** + * STM32F1 APB2 = 72MHz, APB1 = 36MHz, max SPI speed of this MCU if 18Mhz + * STM32F1 has 3 SPI ports, SPI1 in APB2, SPI2/SPI3 in APB1 + * so the minimum prescale of SPI1 is DIV4, SPI2/SPI3 is DIV2 + */ + #if 0 + #if SPI_DEVICE == 1 + #define SPI_CLOCK_MAX SPI_CLOCK_DIV4 + #else + #define SPI_CLOCK_MAX SPI_CLOCK_DIV2 + #endif + uint8_t clock; + uint8_t spiRate = SPI_FULL_SPEED; + switch (spiRate) { + case SPI_FULL_SPEED: clock = SPI_CLOCK_MAX ; break; + case SPI_HALF_SPEED: clock = SPI_CLOCK_DIV4 ; break; + case SPI_QUARTER_SPEED: clock = SPI_CLOCK_DIV8 ; break; + case SPI_EIGHTH_SPEED: clock = SPI_CLOCK_DIV16; break; + case SPI_SPEED_5: clock = SPI_CLOCK_DIV32; break; + case SPI_SPEED_6: clock = SPI_CLOCK_DIV64; break; + default: clock = SPI_CLOCK_DIV2; // Default from the SPI library + } + #endif + + #if TFT_MISO_PIN == BOARD_SPI1_MISO_PIN + SPIx.setModule(1); + #elif TFT_MISO_PIN == BOARD_SPI2_MISO_PIN + SPIx.setModule(2); + #endif + SPIx.setClock(SPI_CLOCK_MAX); + SPIx.setBitOrder(MSBFIRST); + SPIx.setDataMode(SPI_MODE0); +} + +void TFT_SPI::DataTransferBegin(uint16_t DataSize) { + SPIx.setDataSize(DataSize); + SPIx.begin(); + TFT_CS_L; +} + +uint32_t TFT_SPI::GetID() { + uint32_t id; + id = ReadID(LCD_READ_ID); + if ((id & 0xFFFF) == 0 || (id & 0xFFFF) == 0xFFFF) + id = ReadID(LCD_READ_ID4); + return id; +} + +uint32_t TFT_SPI::ReadID(uint16_t Reg) { + uint32_t data = 0; + + #if PIN_EXISTS(TFT_MISO) + uint8_t d = 0; + SPIx.setDataSize(DATASIZE_8BIT); + SPIx.setClock(SPI_CLOCK_DIV64); + SPIx.begin(); + TFT_CS_L; + WriteReg(Reg); + + LOOP_L_N(i, 4) { + SPIx.read((uint8_t*)&d, 1); + data = (data << 8) | d; + } + + DataTransferEnd(); + SPIx.setClock(SPI_CLOCK_MAX); + #endif + + return data >> 7; +} + +bool TFT_SPI::isBusy() { + return false; +} + +void TFT_SPI::Abort() { + DataTransferEnd(); +} + +void TFT_SPI::Transmit(uint16_t Data) { + SPIx.transfer(Data); +} + +void TFT_SPI::TransmitDMA(uint32_t MemoryIncrease, uint16_t *Data, uint16_t Count) { + DataTransferBegin(DATASIZE_16BIT); //16 + TFT_DC_H; + SPIx.dmaSend(Data, Count, MemoryIncrease); + DataTransferEnd(); +} + +#endif // HAS_SPI_TFT diff --git a/Marlin/src/HAL/LPC1768/tft/tft_spi.h b/Marlin/src/HAL/LPC1768/tft/tft_spi.h new file mode 100644 index 000000000000..8d3e3127bbd1 --- /dev/null +++ b/Marlin/src/HAL/LPC1768/tft/tft_spi.h @@ -0,0 +1,77 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#include "../../../inc/MarlinConfig.h" + +#include +#include +// #include + +#ifndef LCD_READ_ID + #define LCD_READ_ID 0x04 // Read display identification information (0xD3 on ILI9341) +#endif +#ifndef LCD_READ_ID4 + #define LCD_READ_ID4 0xD3 // Read display identification information (0xD3 on ILI9341) +#endif + +#define DATASIZE_8BIT SSP_DATABIT_8 +#define DATASIZE_16BIT SSP_DATABIT_16 +#define TFT_IO TFT_SPI + +#define DMA_MINC_ENABLE 1 +#define DMA_MINC_DISABLE 0 + +class TFT_SPI { +private: + static uint32_t ReadID(uint16_t Reg); + static void Transmit(uint16_t Data); + static void TransmitDMA(uint32_t MemoryIncrease, uint16_t *Data, uint16_t Count); + +public: + static SPIClass SPIx; + + static void Init(); + static uint32_t GetID(); + static bool isBusy(); + static void Abort(); + + static void DataTransferBegin(uint16_t DataWidth = DATASIZE_16BIT); + static void DataTransferEnd() { OUT_WRITE(TFT_CS_PIN, HIGH); SPIx.end(); }; + static void DataTransferAbort(); + + static void WriteData(uint16_t Data) { Transmit(Data); } + static void WriteReg(uint16_t Reg) { OUT_WRITE(TFT_A0_PIN, LOW); Transmit(Reg); OUT_WRITE(TFT_A0_PIN, HIGH); } + + static void WriteSequence(uint16_t *Data, uint16_t Count) { TransmitDMA(DMA_MINC_ENABLE, Data, Count); } + // static void WriteMultiple(uint16_t Color, uint16_t Count) { static uint16_t Data; Data = Color; TransmitDMA(DMA_MINC_DISABLE, &Data, Count); } + static void WriteMultiple(uint16_t Color, uint32_t Count) { + static uint16_t Data; Data = Color; + //LPC dma can only write 0xFFF bytes at once. + #define MAX_DMA_SIZE (0xFFF - 1) + while (Count > 0) { + TransmitDMA(DMA_MINC_DISABLE, &Data, Count > MAX_DMA_SIZE ? MAX_DMA_SIZE : Count); + Count = Count > MAX_DMA_SIZE ? Count - MAX_DMA_SIZE : 0; + } + #undef MAX_DMA_SIZE + } +}; diff --git a/Marlin/src/HAL/LPC1768/tft/xpt2046.cpp b/Marlin/src/HAL/LPC1768/tft/xpt2046.cpp new file mode 100644 index 000000000000..c72e5f0eac44 --- /dev/null +++ b/Marlin/src/HAL/LPC1768/tft/xpt2046.cpp @@ -0,0 +1,129 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../inc/MarlinConfig.h" + +#if HAS_TFT_XPT2046 || HAS_TOUCH_XPT2046 + +#include "xpt2046.h" +#include + +uint16_t delta(uint16_t a, uint16_t b) { return a > b ? a - b : b - a; } + +#if ENABLED(TOUCH_BUTTONS_HW_SPI) + #include + + SPIClass XPT2046::SPIx(TOUCH_BUTTONS_HW_SPI_DEVICE); + + static void touch_spi_init(uint8_t spiRate) { + XPT2046::SPIx.setModule(TOUCH_BUTTONS_HW_SPI_DEVICE); + XPT2046::SPIx.setClock(SPI_CLOCK_DIV128); + XPT2046::SPIx.setBitOrder(MSBFIRST); + XPT2046::SPIx.setDataMode(SPI_MODE0); + XPT2046::SPIx.setDataSize(DATA_SIZE_8BIT); + } +#endif + +void XPT2046::Init() { + SET_INPUT(TOUCH_MISO_PIN); + SET_OUTPUT(TOUCH_MOSI_PIN); + SET_OUTPUT(TOUCH_SCK_PIN); + OUT_WRITE(TOUCH_CS_PIN, HIGH); + + #if PIN_EXISTS(TOUCH_INT) + // Optional Pendrive interrupt pin + SET_INPUT(TOUCH_INT_PIN); + #endif + + TERN_(TOUCH_BUTTONS_HW_SPI, touch_spi_init(SPI_SPEED_6)); + + // Read once to enable pendrive status pin + getRawData(XPT2046_X); +} + +bool XPT2046::isTouched() { + return isBusy() ? false : ( + #if PIN_EXISTS(TOUCH_INT) + READ(TOUCH_INT_PIN) != HIGH + #else + getRawData(XPT2046_Z1) >= XPT2046_Z1_THRESHOLD + #endif + ); +} + +bool XPT2046::getRawPoint(int16_t *x, int16_t *y) { + if (isBusy()) return false; + if (!isTouched()) return false; + *x = getRawData(XPT2046_X); + *y = getRawData(XPT2046_Y); + SERIAL_ECHOLNPAIR("X: ", *x, ", Y: ", *y); + return isTouched(); +} + +uint16_t XPT2046::getRawData(const XPTCoordinate coordinate) { + uint16_t data[3]; + + DataTransferBegin(); + TERN_(TOUCH_BUTTONS_HW_SPI, SPIx.begin()); + + for (uint16_t i = 0; i < 3 ; i++) { + IO(coordinate); + data[i] = (IO() << 4) | (IO() >> 4); + } + + TERN_(TOUCH_BUTTONS_HW_SPI, SPIx.end()); + DataTransferEnd(); + + uint16_t delta01 = delta(data[0], data[1]), + delta02 = delta(data[0], data[2]), + delta12 = delta(data[1], data[2]); + + if (delta01 > delta02 || delta01 > delta12) + data[delta02 > delta12 ? 0 : 1] = data[2]; + + return (data[0] + data[1]) >> 1; +} + +uint16_t XPT2046::IO(uint16_t data) { + return TERN(TOUCH_BUTTONS_HW_SPI, HardwareIO, SoftwareIO)(data); +} + +extern uint8_t spiTransfer(uint8_t b); + +#if ENABLED(TOUCH_BUTTONS_HW_SPI) + uint16_t XPT2046::HardwareIO(uint16_t data) { + return SPIx.transfer(data & 0xFF); + } +#endif + +uint16_t XPT2046::SoftwareIO(uint16_t data) { + uint16_t result = 0; + + for (uint8_t j = 0x80; j; j >>= 1) { + WRITE(TOUCH_SCK_PIN, LOW); + WRITE(TOUCH_MOSI_PIN, data & j ? HIGH : LOW); + if (READ(TOUCH_MISO_PIN)) result |= j; + WRITE(TOUCH_SCK_PIN, HIGH); + } + WRITE(TOUCH_SCK_PIN, LOW); + + return result; +} + +#endif // HAS_TFT_XPT2046 diff --git a/Marlin/src/HAL/LPC1768/tft/xpt2046.h b/Marlin/src/HAL/LPC1768/tft/xpt2046.h new file mode 100644 index 000000000000..019f75efce12 --- /dev/null +++ b/Marlin/src/HAL/LPC1768/tft/xpt2046.h @@ -0,0 +1,80 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#include "../../../inc/MarlinConfig.h" + +#if ENABLED(TOUCH_BUTTONS_HW_SPI) + #include +#endif + +#ifndef TOUCH_MISO_PIN + #define TOUCH_MISO_PIN MISO_PIN +#endif +#ifndef TOUCH_MOSI_PIN + #define TOUCH_MOSI_PIN MOSI_PIN +#endif +#ifndef TOUCH_SCK_PIN + #define TOUCH_SCK_PIN SCK_PIN +#endif +#ifndef TOUCH_CS_PIN + #define TOUCH_CS_PIN CS_PIN +#endif +#ifndef TOUCH_INT_PIN + #define TOUCH_INT_PIN -1 +#endif + +#define XPT2046_DFR_MODE 0x00 +#define XPT2046_SER_MODE 0x04 +#define XPT2046_CONTROL 0x80 + +enum XPTCoordinate : uint8_t { + XPT2046_X = 0x10 | XPT2046_CONTROL | XPT2046_DFR_MODE, + XPT2046_Y = 0x50 | XPT2046_CONTROL | XPT2046_DFR_MODE, + XPT2046_Z1 = 0x30 | XPT2046_CONTROL | XPT2046_DFR_MODE, + XPT2046_Z2 = 0x40 | XPT2046_CONTROL | XPT2046_DFR_MODE, +}; + +#if !defined(XPT2046_Z1_THRESHOLD) + #define XPT2046_Z1_THRESHOLD 10 +#endif + +class XPT2046 { +private: + static bool isBusy() { return false; } + + static uint16_t getRawData(const XPTCoordinate coordinate); + static bool isTouched(); + + static inline void DataTransferBegin() { WRITE(TOUCH_CS_PIN, LOW); }; + static inline void DataTransferEnd() { WRITE(TOUCH_CS_PIN, HIGH); }; + #if ENABLED(TOUCH_BUTTONS_HW_SPI) + static uint16_t HardwareIO(uint16_t data); + #endif + static uint16_t SoftwareIO(uint16_t data); + static uint16_t IO(uint16_t data = 0); + +public: + #if ENABLED(TOUCH_BUTTONS_HW_SPI) + static SPIClass SPIx; + #endif + + static void Init(); + static bool getRawPoint(int16_t *x, int16_t *y); +}; diff --git a/Marlin/src/HAL/SAMD51/endstop_interrupts.h b/Marlin/src/HAL/SAMD51/endstop_interrupts.h index 03c24694536a..daac7733875b 100644 --- a/Marlin/src/HAL/SAMD51/endstop_interrupts.h +++ b/Marlin/src/HAL/SAMD51/endstop_interrupts.h @@ -126,82 +126,83 @@ void endstop_ISR() { endstops.update(); } void setup_endstop_interrupts() { + #define _ATTACH(P) attachInterrupt(P, endstop_ISR, CHANGE) #if HAS_X_MAX #if !AVAILABLE_EILINE(X_MAX_PIN) #error "X_MAX_PIN has no EXTINT line available." #endif - attachInterrupt(X_MAX_PIN, endstop_ISR, CHANGE); + _ATTACH(X_MAX_PIN); #endif #if HAS_X_MIN #if !AVAILABLE_EILINE(X_MIN_PIN) #error "X_MIN_PIN has no EXTINT line available." #endif - attachInterrupt(X_MIN_PIN, endstop_ISR, CHANGE); + _ATTACH(X_MIN_PIN); #endif #if HAS_Y_MAX #if !AVAILABLE_EILINE(Y_MAX_PIN) #error "Y_MAX_PIN has no EXTINT line available." #endif - attachInterrupt(Y_MAX_PIN, endstop_ISR, CHANGE); + _ATTACH(Y_MAX_PIN); #endif #if HAS_Y_MIN #if !AVAILABLE_EILINE(Y_MIN_PIN) #error "Y_MIN_PIN has no EXTINT line available." #endif - attachInterrupt(Y_MIN_PIN, endstop_ISR, CHANGE); + _ATTACH(Y_MIN_PIN); #endif #if HAS_Z_MAX #if !AVAILABLE_EILINE(Z_MAX_PIN) #error "Z_MAX_PIN has no EXTINT line available." #endif - attachInterrupt(Z_MAX_PIN, endstop_ISR, CHANGE); + _ATTACH(Z_MAX_PIN); #endif #if HAS_Z_MIN #if !AVAILABLE_EILINE(Z_MIN_PIN) #error "Z_MIN_PIN has no EXTINT line available." #endif - attachInterrupt(Z_MIN_PIN, endstop_ISR, CHANGE); + _ATTACH(Z_MIN_PIN); #endif #if HAS_Z2_MAX #if !AVAILABLE_EILINE(Z2_MAX_PIN) #error "Z2_MAX_PIN has no EXTINT line available." #endif - attachInterrupt(Z2_MAX_PIN, endstop_ISR, CHANGE); + _ATTACH(Z2_MAX_PIN); #endif #if HAS_Z2_MIN #if !AVAILABLE_EILINE(Z2_MIN_PIN) #error "Z2_MIN_PIN has no EXTINT line available." #endif - attachInterrupt(Z2_MIN_PIN, endstop_ISR, CHANGE); + _ATTACH(Z2_MIN_PIN); #endif #if HAS_Z3_MAX #if !AVAILABLE_EILINE(Z3_MAX_PIN) #error "Z3_MAX_PIN has no EXTINT line available." #endif - attachInterrupt(Z3_MAX_PIN, endstop_ISR, CHANGE); + _ATTACH(Z3_MAX_PIN); #endif #if HAS_Z3_MIN #if !AVAILABLE_EILINE(Z3_MIN_PIN) #error "Z3_MIN_PIN has no EXTINT line available." #endif - attachInterrupt(Z3_MIN_PIN, endstop_ISR, CHANGE); + _ATTACH(Z3_MIN_PIN); #endif #if HAS_Z4_MAX #if !AVAILABLE_EILINE(Z4_MAX_PIN) #error "Z4_MAX_PIN has no EXTINT line available." #endif - attachInterrupt(Z4_MAX_PIN, endstop_ISR, CHANGE); + _ATTACH(Z4_MAX_PIN); #endif #if HAS_Z4_MIN #if !AVAILABLE_EILINE(Z4_MIN_PIN) #error "Z4_MIN_PIN has no EXTINT line available." #endif - attachInterrupt(Z4_MIN_PIN, endstop_ISR, CHANGE); + _ATTACH(Z4_MIN_PIN); #endif #if HAS_Z_MIN_PROBE_PIN #if !AVAILABLE_EILINE(Z_MIN_PROBE_PIN) #error "Z_MIN_PROBE_PIN has no EXTINT line available." #endif - attachInterrupt(Z_MIN_PROBE_PIN, endstop_ISR, CHANGE); + _ATTACH(Z_MIN_PROBE_PIN); #endif } diff --git a/Marlin/src/HAL/SAMD51/inc/Conditionals_LCD.h b/Marlin/src/HAL/SAMD51/inc/Conditionals_LCD.h index 5f1c4b16019d..932348c52f40 100644 --- a/Marlin/src/HAL/SAMD51/inc/Conditionals_LCD.h +++ b/Marlin/src/HAL/SAMD51/inc/Conditionals_LCD.h @@ -20,3 +20,7 @@ * */ #pragma once + +#if HAS_SPI_TFT || HAS_FSMC_TFT + #error "Sorry! TFT displays are not available for HAL/SAMD51." +#endif diff --git a/Marlin/src/HAL/STM32/HAL.h b/Marlin/src/HAL/STM32/HAL.h index 730ada96c197..08081331b736 100644 --- a/Marlin/src/HAL/STM32/HAL.h +++ b/Marlin/src/HAL/STM32/HAL.h @@ -213,5 +213,10 @@ uint16_t HAL_adc_get_result(); #define GET_PIN_MAP_INDEX(pin) pin #define PARSED_PIN_INDEX(code, dval) parser.intval(code, dval) +#ifdef STM32F1xx + #define JTAG_DISABLE() AFIO_DBGAFR_CONFIG(AFIO_MAPR_SWJ_CFG_JTAGDISABLE) + #define JTAGSWD_DISABLE() AFIO_DBGAFR_CONFIG(AFIO_MAPR_SWJ_CFG_DISABLE) +#endif + #define PLATFORM_M997_SUPPORT void flashFirmware(const int16_t); diff --git a/Marlin/src/HAL/STM32/Sd2Card_sdio_stm32duino.cpp b/Marlin/src/HAL/STM32/Sd2Card_sdio_stm32duino.cpp index 9d32b342e440..6e73e87c2123 100644 --- a/Marlin/src/HAL/STM32/Sd2Card_sdio_stm32duino.cpp +++ b/Marlin/src/HAL/STM32/Sd2Card_sdio_stm32duino.cpp @@ -76,7 +76,24 @@ SD_HandleTypeDef hsd; // create SDIO structure - #define TRANSFER_CLOCK_DIV (uint8_t(SDIO_INIT_CLK_DIV) / 40) + /* + SDIO_INIT_CLK_DIV is 118 + SDIO clock frequency is 48MHz / (TRANSFER_CLOCK_DIV + 2) + SDIO init clock frequency should not exceed 400KHz = 48MHz / (118 + 2) + + Default TRANSFER_CLOCK_DIV is 2 (118 / 40) + Default SDIO clock frequency is 48MHz / (2 + 2) = 12 MHz + This might be too fast for stable SDIO operations + + MKS Robin board seems to have stable SDIO with BusWide 1bit and ClockDiv 8 i.e. 4.8MHz SDIO clock frequency + Additional testing is required as there are clearly some 4bit initialization problems + + Add -DTRANSFER_CLOCK_DIV=8 to build parameters to improve SDIO stability + */ + + #ifndef TRANSFER_CLOCK_DIV + #define TRANSFER_CLOCK_DIV (uint8_t(SDIO_INIT_CLK_DIV) / 40) + #endif #ifndef USBD_OK #define USBD_OK 0 @@ -100,24 +117,25 @@ void SD_LowLevel_Init(void) { uint32_t tempreg; - GPIO_InitTypeDef GPIO_InitStruct; - + __HAL_RCC_SDIO_CLK_ENABLE(); __HAL_RCC_GPIOC_CLK_ENABLE(); //enable GPIO clocks __HAL_RCC_GPIOD_CLK_ENABLE(); //enable GPIO clocks - GPIO_InitStruct.Pin = GPIO_PIN_8 | GPIO_PIN_12; // D0 & SCK + GPIO_InitTypeDef GPIO_InitStruct; + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = 1; //GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; - GPIO_InitStruct.Alternate = GPIO_AF12_SDIO; + + #if DISABLED(STM32F1xx) + GPIO_InitStruct.Alternate = GPIO_AF12_SDIO; + #endif + + GPIO_InitStruct.Pin = GPIO_PIN_8 | GPIO_PIN_12; // D0 & SCK HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); #if PINS_EXIST(SDIO_D1, SDIO_D2, SDIO_D3) // define D1-D3 only if have a four bit wide SDIO bus GPIO_InitStruct.Pin = GPIO_PIN_9 | GPIO_PIN_10 | GPIO_PIN_11; // D1-D3 - GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; - GPIO_InitStruct.Pull = 1; // GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; - GPIO_InitStruct.Alternate = GPIO_AF12_SDIO; HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); #endif @@ -125,10 +143,13 @@ GPIO_InitStruct.Pin = GPIO_PIN_2; HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); - RCC->APB2RSTR &= ~RCC_APB2RSTR_SDIORST_Msk; // take SDIO out of reset - RCC->APB2ENR |= RCC_APB2RSTR_SDIORST_Msk; // enable SDIO clock - // Enable the DMA2 Clock + #if DISABLED(STM32F1xx) + // TODO: use __HAL_RCC_SDIO_RELEASE_RESET() and __HAL_RCC_SDIO_CLK_ENABLE(); + RCC->APB2RSTR &= ~RCC_APB2RSTR_SDIORST_Msk; // take SDIO out of reset + RCC->APB2ENR |= RCC_APB2RSTR_SDIORST_Msk; // enable SDIO clock + // Enable the DMA2 Clock + #endif //Initialize the SDIO (with initial <400Khz Clock) tempreg = 0; //Reset value @@ -156,10 +177,21 @@ bool status; hsd.Instance = SDIO; hsd.State = (HAL_SD_StateTypeDef) 0; // HAL_SD_STATE_RESET + + /* + hsd.Init.ClockEdge = SDIO_CLOCK_EDGE_RISING; + hsd.Init.ClockBypass = SDIO_CLOCK_BYPASS_DISABLE; + hsd.Init.ClockPowerSave = SDIO_CLOCK_POWER_SAVE_DISABLE; + hsd.Init.BusWide = SDIO_BUS_WIDE_1B; + hsd.Init.HardwareFlowControl = SDIO_HARDWARE_FLOW_CONTROL_DISABLE; + hsd.Init.ClockDiv = 8; + */ + SD_LowLevel_Init(); uint8_t retry_Cnt = retryCnt; for (;;) { + TERN_(USE_WATCHDOG, HAL_watchdog_refresh()); status = (bool) HAL_SD_Init(&hsd); if (!status) break; if (!--retry_Cnt) return false; // return failing status if retries are exhausted @@ -170,6 +202,7 @@ #if PINS_EXIST(SDIO_D1, SDIO_D2, SDIO_D3) // go to 4 bit wide mode if pins are defined retry_Cnt = retryCnt; for (;;) { + TERN_(USE_WATCHDOG, HAL_watchdog_refresh()); if (!HAL_SD_ConfigWideBusOperation(&hsd, SDIO_BUS_WIDE_4B)) break; // some cards are only 1 bit wide so a pass here is not required if (!--retry_Cnt) break; } @@ -178,6 +211,7 @@ SD_LowLevel_Init(); retry_Cnt = retryCnt; for (;;) { + TERN_(USE_WATCHDOG, HAL_watchdog_refresh()); status = (bool) HAL_SD_Init(&hsd); if (!status) break; if (!--retry_Cnt) return false; // return failing status if retries are exhausted @@ -187,15 +221,15 @@ return true; } - + /* void init_SDIO_pins(void) { GPIO_InitTypeDef GPIO_InitStruct = {0}; - /**SDIO GPIO Configuration - PC8 ------> SDIO_D0 - PC12 ------> SDIO_CK - PD2 ------> SDIO_CMD - */ + // SDIO GPIO Configuration + // PC8 ------> SDIO_D0 + // PC12 ------> SDIO_CK + // PD2 ------> SDIO_CMD + GPIO_InitStruct.Pin = GPIO_PIN_8; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; @@ -217,7 +251,7 @@ GPIO_InitStruct.Alternate = GPIO_AF12_SDIO; HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); } - + */ //bool SDIO_init() { return (bool) (SD_SDIO_Init() ? 1 : 0);} //bool SDIO_Init_C() { return (bool) (SD_SDIO_Init() ? 1 : 0);} @@ -227,6 +261,7 @@ bool status; for (;;) { + TERN_(USE_WATCHDOG, HAL_watchdog_refresh()); status = (bool) HAL_SD_ReadBlocks(&hsd, (uint8_t*)dst, block, 1, 1000); // read one 512 byte block with 500mS timeout status |= (bool) HAL_SD_GetCardState(&hsd); // make sure all is OK if (!status) break; // return passing status diff --git a/Marlin/src/HAL/STM32/SoftwareSerial.cpp b/Marlin/src/HAL/STM32/SoftwareSerial.cpp index af92548cbb64..2228a177be66 100644 --- a/Marlin/src/HAL/STM32/SoftwareSerial.cpp +++ b/Marlin/src/HAL/STM32/SoftwareSerial.cpp @@ -3,14 +3,14 @@ * * Multi-instance software serial library for Arduino/Wiring * -- Interrupt-driven receive and other improvements by ladyada - * (https://ladyada.net) + * * -- Tuning, circular buffer, derivation from class Print/Stream, * multi-instance support, porting to 8MHz processors, * various optimizations, PROGMEM delay tables, inverse logic and - * direct port writing by Mikal Hart (http://www.arduiniana.org) - * -- Pin change interrupt macros by Paul Stoffregen (https://www.pjrc.com) - * -- 20MHz processor support by Garrett Mace (http://www.macetech.com) - * -- ATmega1280/2560 support by Brett Hagman (https://www.roguerobotics.com/) + * direct port writing by Mikal Hart + * -- Pin change interrupt macros by Paul Stoffregen + * -- 20MHz processor support by Garrett Mace + * -- ATmega1280/2560 support by Brett Hagman * -- STM32 support by Armin van der Togt * * This library is free software; you can redistribute it and/or diff --git a/Marlin/src/HAL/STM32/tft/tft_fsmc.cpp b/Marlin/src/HAL/STM32/tft/tft_fsmc.cpp new file mode 100644 index 000000000000..f11fab39dbad --- /dev/null +++ b/Marlin/src/HAL/STM32/tft/tft_fsmc.cpp @@ -0,0 +1,180 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../inc/MarlinConfig.h" + +#if HAS_FSMC_TFT + +#include "tft_fsmc.h" +#include "pinconfig.h" + +SRAM_HandleTypeDef TFT_FSMC::SRAMx; +DMA_HandleTypeDef TFT_FSMC::DMAtx; +LCD_CONTROLLER_TypeDef *TFT_FSMC::LCD; + +void TFT_FSMC::Init() { + uint32_t controllerAddress; + + #if PIN_EXISTS(TFT_RESET) + OUT_WRITE(TFT_RESET_PIN, HIGH); + HAL_Delay(100); + #endif + + #if PIN_EXISTS(TFT_BACKLIGHT) + OUT_WRITE(TFT_BACKLIGHT_PIN, HIGH); + #endif + + FSMC_NORSRAM_TimingTypeDef Timing, ExtTiming; + + uint32_t NSBank = (uint32_t)pinmap_peripheral(digitalPinToPinName(TFT_CS_PIN), PinMap_FSMC_CS); + + SRAMx.Instance = FSMC_NORSRAM_DEVICE; + SRAMx.Extended = FSMC_NORSRAM_EXTENDED_DEVICE; + /* SRAMx.Init */ + SRAMx.Init.NSBank = NSBank; + SRAMx.Init.DataAddressMux = FSMC_DATA_ADDRESS_MUX_DISABLE; + SRAMx.Init.MemoryType = FSMC_MEMORY_TYPE_SRAM; + SRAMx.Init.MemoryDataWidth = FSMC_NORSRAM_MEM_BUS_WIDTH_16; + SRAMx.Init.BurstAccessMode = FSMC_BURST_ACCESS_MODE_DISABLE; + SRAMx.Init.WaitSignalPolarity = FSMC_WAIT_SIGNAL_POLARITY_LOW; + SRAMx.Init.WrapMode = FSMC_WRAP_MODE_DISABLE; + SRAMx.Init.WaitSignalActive = FSMC_WAIT_TIMING_BEFORE_WS; + SRAMx.Init.WriteOperation = FSMC_WRITE_OPERATION_ENABLE; + SRAMx.Init.WaitSignal = FSMC_WAIT_SIGNAL_DISABLE; + SRAMx.Init.ExtendedMode = FSMC_EXTENDED_MODE_ENABLE; + SRAMx.Init.AsynchronousWait = FSMC_ASYNCHRONOUS_WAIT_DISABLE; + SRAMx.Init.WriteBurst = FSMC_WRITE_BURST_DISABLE; + #ifdef STM32F4xx + SRAMx.Init.PageSize = FSMC_PAGE_SIZE_NONE; + #endif + /* Read Timing - relatively slow to ensure ID information is correctly read from TFT controller */ + /* Can be decreases from 15-15-24 to 4-4-8 with risk of stability loss */ + Timing.AddressSetupTime = 15; + Timing.AddressHoldTime = 15; + Timing.DataSetupTime = 24; + Timing.BusTurnAroundDuration = 0; + Timing.CLKDivision = 16; + Timing.DataLatency = 17; + Timing.AccessMode = FSMC_ACCESS_MODE_A; + /* Write Timing */ + /* Can be decreases from 8-15-8 to 0-0-1 with risk of stability loss */ + ExtTiming.AddressSetupTime = 8; + ExtTiming.AddressHoldTime = 15; + ExtTiming.DataSetupTime = 8; + ExtTiming.BusTurnAroundDuration = 0; + ExtTiming.CLKDivision = 16; + ExtTiming.DataLatency = 17; + ExtTiming.AccessMode = FSMC_ACCESS_MODE_A; + + __HAL_RCC_FSMC_CLK_ENABLE(); + + for(uint16_t i = 0; PinMap_FSMC[i].pin != NC; i++) + pinmap_pinout(PinMap_FSMC[i].pin, PinMap_FSMC); + pinmap_pinout(digitalPinToPinName(TFT_CS_PIN), PinMap_FSMC_CS); + pinmap_pinout(digitalPinToPinName(TFT_RS_PIN), PinMap_FSMC_RS); + + controllerAddress = FSMC_BANK1_1; + #ifdef PF0 + switch (NSBank) { + case FSMC_NORSRAM_BANK2: controllerAddress = FSMC_BANK1_2 ; break; + case FSMC_NORSRAM_BANK3: controllerAddress = FSMC_BANK1_3 ; break; + case FSMC_NORSRAM_BANK4: controllerAddress = FSMC_BANK1_4 ; break; + } + #endif + + controllerAddress |= (uint32_t)pinmap_peripheral(digitalPinToPinName(TFT_RS_PIN), PinMap_FSMC_RS); + + HAL_SRAM_Init(&SRAMx, &Timing, &ExtTiming); + + __HAL_RCC_DMA2_CLK_ENABLE(); + + #ifdef STM32F1xx + DMAtx.Instance = DMA2_Channel1; + #elif defined(STM32F4xx) + DMAtx.Instance = DMA2_Stream0; + DMAtx.Init.Channel = DMA_CHANNEL_0; + DMAtx.Init.FIFOMode = DMA_FIFOMODE_ENABLE; + DMAtx.Init.FIFOThreshold = DMA_FIFO_THRESHOLD_FULL; + DMAtx.Init.MemBurst = DMA_MBURST_SINGLE; + DMAtx.Init.PeriphBurst = DMA_PBURST_SINGLE; + #endif + + DMAtx.Init.Direction = DMA_MEMORY_TO_MEMORY; + DMAtx.Init.MemInc = DMA_MINC_DISABLE; + DMAtx.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD; + DMAtx.Init.MemDataAlignment = DMA_MDATAALIGN_HALFWORD; + DMAtx.Init.Mode = DMA_NORMAL; + DMAtx.Init.Priority = DMA_PRIORITY_HIGH; + + LCD = (LCD_CONTROLLER_TypeDef *)controllerAddress; +} + +uint32_t TFT_FSMC::GetID() { + uint32_t id; + WriteReg(0x0000); + id = LCD->RAM; + + if (id == 0) + id = ReadID(LCD_READ_ID); + if ((id & 0xFFFF) == 0 || (id & 0xFFFF) == 0xFFFF) + id = ReadID(LCD_READ_ID4); + return id; +} + + uint32_t TFT_FSMC::ReadID(uint16_t Reg) { + uint32_t id; + WriteReg(Reg); + id = LCD->RAM; // dummy read + id = Reg << 24; + id |= (LCD->RAM & 0x00FF) << 16; + id |= (LCD->RAM & 0x00FF) << 8; + id |= LCD->RAM & 0x00FF; + return id; + } + +bool TFT_FSMC::isBusy() { + if (__IS_DMA_ENABLED(&DMAtx)) + if (__HAL_DMA_GET_FLAG(&DMAtx, __HAL_DMA_GET_TC_FLAG_INDEX(&DMAtx)) != 0 || __HAL_DMA_GET_FLAG(&DMAtx, __HAL_DMA_GET_TE_FLAG_INDEX(&DMAtx)) != 0) + Abort(); + return __IS_DMA_ENABLED(&DMAtx); +} + +void TFT_FSMC::TransmitDMA(uint32_t MemoryIncrease, uint16_t *Data, uint16_t Count) { + DMAtx.Init.PeriphInc = MemoryIncrease; + HAL_DMA_Init(&DMAtx); + + __HAL_DMA_CLEAR_FLAG(&DMAtx, __HAL_DMA_GET_TC_FLAG_INDEX(&DMAtx)); + __HAL_DMA_CLEAR_FLAG(&DMAtx, __HAL_DMA_GET_TE_FLAG_INDEX(&DMAtx)); + + #ifdef STM32F1xx + DMAtx.Instance->CNDTR = Count; + DMAtx.Instance->CPAR = (uint32_t)Data; + DMAtx.Instance->CMAR = (uint32_t)&(LCD->RAM); + #elif defined(STM32F4xx) + DMAtx.Instance->NDTR = Count; + DMAtx.Instance->PAR = (uint32_t)Data; + DMAtx.Instance->M0AR = (uint32_t)&(LCD->RAM); + #endif + __HAL_DMA_ENABLE(&DMAtx); +} + +#endif // HAS_FSMC_TFT diff --git a/Marlin/src/HAL/STM32/tft/tft_fsmc.h b/Marlin/src/HAL/STM32/tft/tft_fsmc.h new file mode 100644 index 000000000000..8500fee113eb --- /dev/null +++ b/Marlin/src/HAL/STM32/tft/tft_fsmc.h @@ -0,0 +1,160 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#ifdef STM32F1xx + #include "stm32f1xx_hal.h" +#elif defined(STM32F4xx) + #include "stm32f4xx_hal.h" +#else + #error FSMC TFT is currently only supported on STM32F1 and STM32F4 hardware. +#endif + +#ifndef LCD_READ_ID + #define LCD_READ_ID 0x04 // Read display identification information (0xD3 on ILI9341) +#endif +#ifndef LCD_READ_ID4 + #define LCD_READ_ID4 0xD3 // Read display identification information (0xD3 on ILI9341) +#endif + +#define DATASIZE_8BIT SPI_DATASIZE_8BIT +#define DATASIZE_16BIT SPI_DATASIZE_16BIT +#define TFT_IO TFT_FSMC + +#ifdef STM32F1xx + #define __IS_DMA_ENABLED(__HANDLE__) ((__HANDLE__)->Instance->CCR & DMA_CCR_EN) +#elif defined(STM32F4xx) + #define __IS_DMA_ENABLED(__HANDLE__) ((__HANDLE__)->Instance->CR & DMA_SxCR_EN) +#endif + +typedef struct { + __IO uint16_t REG; + __IO uint16_t RAM; +} LCD_CONTROLLER_TypeDef; + +class TFT_FSMC { + private: + static SRAM_HandleTypeDef SRAMx; + static DMA_HandleTypeDef DMAtx; + + static LCD_CONTROLLER_TypeDef *LCD; + + static uint32_t ReadID(uint16_t Reg); + static void Transmit(uint16_t Data) { LCD->RAM = Data; __DSB(); } + static void TransmitDMA(uint32_t MemoryIncrease, uint16_t *Data, uint16_t Count); + + public: + static void Init(); + static uint32_t GetID(); + static bool isBusy(); + static void Abort() { __HAL_DMA_DISABLE(&DMAtx); } + + static void DataTransferBegin(uint16_t DataWidth = DATASIZE_16BIT) {} + static void DataTransferEnd() {}; + + static void WriteData(uint16_t Data) { Transmit(Data); } + static void WriteReg(uint16_t Reg) { LCD->REG = Reg; __DSB(); } + + static void WriteSequence(uint16_t *Data, uint16_t Count) { TransmitDMA(DMA_PINC_ENABLE, Data, Count); } + static void WriteMultiple(uint16_t Color, uint16_t Count) { static uint16_t Data; Data = Color; TransmitDMA(DMA_PINC_DISABLE, &Data, Count); } +}; + + +#ifdef STM32F1xx + #define FSMC_PIN_DATA STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE) +#elif defined(STM32F4xx) + #define FSMC_PIN_DATA STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF12_FSMC) + #define FSMC_BANK1_1 0x60000000U + #define FSMC_BANK1_2 0x64000000U + #define FSMC_BANK1_3 0x68000000U + #define FSMC_BANK1_4 0x6C000000U +#else + #error No configuration for this MCU +#endif + +const PinMap PinMap_FSMC[] = { + {PD_14, FSMC_NORSRAM_DEVICE, FSMC_PIN_DATA}, // FSMC_D00 + {PD_15, FSMC_NORSRAM_DEVICE, FSMC_PIN_DATA}, // FSMC_D01 + {PD_0, FSMC_NORSRAM_DEVICE, FSMC_PIN_DATA}, // FSMC_D02 + {PD_1, FSMC_NORSRAM_DEVICE, FSMC_PIN_DATA}, // FSMC_D03 + {PE_7, FSMC_NORSRAM_DEVICE, FSMC_PIN_DATA}, // FSMC_D04 + {PE_8, FSMC_NORSRAM_DEVICE, FSMC_PIN_DATA}, // FSMC_D05 + {PE_9, FSMC_NORSRAM_DEVICE, FSMC_PIN_DATA}, // FSMC_D06 + {PE_10, FSMC_NORSRAM_DEVICE, FSMC_PIN_DATA}, // FSMC_D07 + {PE_11, FSMC_NORSRAM_DEVICE, FSMC_PIN_DATA}, // FSMC_D08 + {PE_12, FSMC_NORSRAM_DEVICE, FSMC_PIN_DATA}, // FSMC_D09 + {PE_13, FSMC_NORSRAM_DEVICE, FSMC_PIN_DATA}, // FSMC_D10 + {PE_14, FSMC_NORSRAM_DEVICE, FSMC_PIN_DATA}, // FSMC_D11 + {PE_15, FSMC_NORSRAM_DEVICE, FSMC_PIN_DATA}, // FSMC_D12 + {PD_8, FSMC_NORSRAM_DEVICE, FSMC_PIN_DATA}, // FSMC_D13 + {PD_9, FSMC_NORSRAM_DEVICE, FSMC_PIN_DATA}, // FSMC_D14 + {PD_10, FSMC_NORSRAM_DEVICE, FSMC_PIN_DATA}, // FSMC_D15 + {PD_4, FSMC_NORSRAM_DEVICE, FSMC_PIN_DATA}, // FSMC_NOE + {PD_5, FSMC_NORSRAM_DEVICE, FSMC_PIN_DATA}, // FSMC_NWE + {NC, NP, 0} +}; + +const PinMap PinMap_FSMC_CS[] = { + {PD_7, (void *)FSMC_NORSRAM_BANK1, FSMC_PIN_DATA}, // FSMC_NE1 + #ifdef PF0 + {PG_9, (void *)FSMC_NORSRAM_BANK2, FSMC_PIN_DATA}, // FSMC_NE2 + {PG_10, (void *)FSMC_NORSRAM_BANK3, FSMC_PIN_DATA}, // FSMC_NE3 + {PG_12, (void *)FSMC_NORSRAM_BANK4, FSMC_PIN_DATA}, // FSMC_NE4 + #endif + {NC, NP, 0} +}; + +#define FSMC_RS(A) (void *)((2 << A) - 2) + +const PinMap PinMap_FSMC_RS[] = { + #ifdef PF0 + {PF_0, FSMC_RS( 0), FSMC_PIN_DATA}, // FSMC_A0 + {PF_1, FSMC_RS( 1), FSMC_PIN_DATA}, // FSMC_A1 + {PF_2, FSMC_RS( 2), FSMC_PIN_DATA}, // FSMC_A2 + {PF_3, FSMC_RS( 3), FSMC_PIN_DATA}, // FSMC_A3 + {PF_4, FSMC_RS( 4), FSMC_PIN_DATA}, // FSMC_A4 + {PF_5, FSMC_RS( 5), FSMC_PIN_DATA}, // FSMC_A5 + {PF_12, FSMC_RS( 6), FSMC_PIN_DATA}, // FSMC_A6 + {PF_13, FSMC_RS( 7), FSMC_PIN_DATA}, // FSMC_A7 + {PF_14, FSMC_RS( 8), FSMC_PIN_DATA}, // FSMC_A8 + {PF_15, FSMC_RS( 9), FSMC_PIN_DATA}, // FSMC_A9 + {PG_0, FSMC_RS(10), FSMC_PIN_DATA}, // FSMC_A10 + {PG_1, FSMC_RS(11), FSMC_PIN_DATA}, // FSMC_A11 + {PG_2, FSMC_RS(12), FSMC_PIN_DATA}, // FSMC_A12 + {PG_3, FSMC_RS(13), FSMC_PIN_DATA}, // FSMC_A13 + {PG_4, FSMC_RS(14), FSMC_PIN_DATA}, // FSMC_A14 + {PG_5, FSMC_RS(15), FSMC_PIN_DATA}, // FSMC_A15 + #endif + {PD_11, FSMC_RS(16), FSMC_PIN_DATA}, // FSMC_A16 + {PD_12, FSMC_RS(17), FSMC_PIN_DATA}, // FSMC_A17 + {PD_13, FSMC_RS(18), FSMC_PIN_DATA}, // FSMC_A18 + {PE_3, FSMC_RS(19), FSMC_PIN_DATA}, // FSMC_A19 + {PE_4, FSMC_RS(20), FSMC_PIN_DATA}, // FSMC_A20 + {PE_5, FSMC_RS(21), FSMC_PIN_DATA}, // FSMC_A21 + {PE_6, FSMC_RS(22), FSMC_PIN_DATA}, // FSMC_A22 + {PE_2, FSMC_RS(23), FSMC_PIN_DATA}, // FSMC_A23 + #ifdef PF0 + {PG_13, FSMC_RS(24), FSMC_PIN_DATA}, // FSMC_A24 + {PG_14, FSMC_RS(25), FSMC_PIN_DATA}, // FSMC_A25 + #endif + {NC, NP, 0} +}; diff --git a/Marlin/src/HAL/STM32/tft/tft_spi.cpp b/Marlin/src/HAL/STM32/tft/tft_spi.cpp new file mode 100644 index 000000000000..d3eb4ba8db6a --- /dev/null +++ b/Marlin/src/HAL/STM32/tft/tft_spi.cpp @@ -0,0 +1,212 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../inc/MarlinConfig.h" + +#if HAS_SPI_TFT + +#include "tft_spi.h" +#include "pinconfig.h" + +SPI_HandleTypeDef TFT_SPI::SPIx; +DMA_HandleTypeDef TFT_SPI::DMAtx; + +void TFT_SPI::Init() { + SPI_TypeDef *spiInstance; + + #if PIN_EXISTS(TFT_RESET) + OUT_WRITE(TFT_RESET_PIN, HIGH); + HAL_Delay(100); + #endif + + #if PIN_EXISTS(TFT_BACKLIGHT) + OUT_WRITE(TFT_BACKLIGHT_PIN, HIGH); + #endif + + OUT_WRITE(TFT_A0_PIN, HIGH); + OUT_WRITE(TFT_CS_PIN, HIGH); + + if ((spiInstance = (SPI_TypeDef *)pinmap_peripheral(digitalPinToPinName(TFT_SCK_PIN), PinMap_SPI_SCLK)) == NP) return; + if (spiInstance != (SPI_TypeDef *)pinmap_peripheral(digitalPinToPinName(TFT_MOSI_PIN), PinMap_SPI_MOSI)) return; + + #if PIN_EXISTS(TFT_MISO) && (TFT_MISO_PIN != TFT_MOSI_PIN) + if (spiInstance != (SPI_TypeDef *)pinmap_peripheral(digitalPinToPinName(TFT_MISO_PIN), PinMap_SPI_MISO)) return; + #endif + + SPIx.Instance = spiInstance; + SPIx.State = HAL_SPI_STATE_RESET; + SPIx.Init.NSS = SPI_NSS_SOFT; + SPIx.Init.Mode = SPI_MODE_MASTER; + SPIx.Init.Direction = + #if TFT_MISO_PIN == TFT_MOSI_PIN + SPI_DIRECTION_1LINE; + #else + SPI_DIRECTION_2LINES; + #endif + SPIx.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_2; + SPIx.Init.CLKPhase = SPI_PHASE_1EDGE; + SPIx.Init.CLKPolarity = SPI_POLARITY_LOW; + SPIx.Init.DataSize = SPI_DATASIZE_8BIT; + SPIx.Init.FirstBit = SPI_FIRSTBIT_MSB; + SPIx.Init.TIMode = SPI_TIMODE_DISABLE; + SPIx.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; + SPIx.Init.CRCPolynomial = 10; + + pinmap_pinout(digitalPinToPinName(TFT_SCK_PIN), PinMap_SPI_SCLK); + pinmap_pinout(digitalPinToPinName(TFT_MOSI_PIN), PinMap_SPI_MOSI); + #if PIN_EXISTS(TFT_MISO) && (TFT_MISO_PIN != TFT_MOSI_PIN) + pinmap_pinout(digitalPinToPinName(TFT_MISO_PIN), PinMap_SPI_MISO); + #endif + pin_PullConfig(get_GPIO_Port(STM_PORT(digitalPinToPinName(TFT_SCK_PIN))), STM_LL_GPIO_PIN(digitalPinToPinName(TFT_SCK_PIN)), GPIO_PULLDOWN); + + #ifdef SPI1_BASE + if (SPIx.Instance == SPI1) { + __HAL_RCC_SPI1_CLK_ENABLE(); + __HAL_RCC_DMA1_CLK_ENABLE(); + SPIx.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_4; + DMAtx.Instance = DMA1_Channel3; + } + #endif + #ifdef SPI2_BASE + if (SPIx.Instance == SPI2) { + __HAL_RCC_SPI2_CLK_ENABLE(); + __HAL_RCC_DMA1_CLK_ENABLE(); + DMAtx.Instance = DMA1_Channel5; + } + #endif + #ifdef SPI3_BASE + if (SPIx.Instance == SPI3) { + __HAL_RCC_SPI3_CLK_ENABLE(); + __HAL_RCC_DMA2_CLK_ENABLE(); + DMAtx.Instance = DMA2_Channel2; + } + #endif + + HAL_SPI_Init(&SPIx); + + DMAtx.Init.Direction = DMA_MEMORY_TO_PERIPH; + DMAtx.Init.PeriphInc = DMA_PINC_DISABLE; + DMAtx.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD; + DMAtx.Init.MemDataAlignment = DMA_MDATAALIGN_HALFWORD; + DMAtx.Init.Mode = DMA_NORMAL; + DMAtx.Init.Priority = DMA_PRIORITY_LOW; +} + +void TFT_SPI::DataTransferBegin(uint16_t DataSize) { + SPIx.Init.DataSize = DataSize == DATASIZE_8BIT ? SPI_DATASIZE_8BIT : SPI_DATASIZE_16BIT; + HAL_SPI_Init(&SPIx); + WRITE(TFT_CS_PIN, LOW); +} + +uint32_t TFT_SPI::GetID() { + uint32_t id; + id = ReadID(LCD_READ_ID); + + if ((id & 0xFFFF) == 0 || (id & 0xFFFF) == 0xFFFF) + id = ReadID(LCD_READ_ID4); + return id; +} + +uint32_t TFT_SPI::ReadID(uint16_t Reg) { + #if !PIN_EXISTS(TFT_MISO) + return 0; + #else + uint32_t BaudRatePrescaler = SPIx.Init.BaudRatePrescaler; + uint32_t i, Data = 0; + + SPIx.Init.BaudRatePrescaler = SPIx.Instance == SPI1 ? SPI_BAUDRATEPRESCALER_8 : SPI_BAUDRATEPRESCALER_4; + DataTransferBegin(DATASIZE_8BIT); + WriteReg(Reg); + + if (SPIx.Init.Direction == SPI_DIRECTION_1LINE) SPI_1LINE_RX(&SPIx); + __HAL_SPI_ENABLE(&SPIx); + + for (i = 0; i < 4; i++) { + #if TFT_MISO_PIN != TFT_MOSI_PIN + //if (hspi->Init.Direction == SPI_DIRECTION_2LINES) { + while ((SPIx.Instance->SR & SPI_FLAG_TXE) != SPI_FLAG_TXE) {} + SPIx.Instance->DR = 0; + //} + #endif + while ((SPIx.Instance->SR & SPI_FLAG_RXNE) != SPI_FLAG_RXNE) {} + Data = (Data << 8) | SPIx.Instance->DR; + } + + __HAL_SPI_DISABLE(&SPIx); + DataTransferEnd(); + + SPIx.Init.BaudRatePrescaler = BaudRatePrescaler; + + return Data >> 7; + #endif +} + +bool TFT_SPI::isBusy() { + if (DMAtx.Instance->CCR & DMA_CCR_EN) + if (__HAL_DMA_GET_FLAG(&DMAtx, __HAL_DMA_GET_TC_FLAG_INDEX(&DMAtx)) != 0 || __HAL_DMA_GET_FLAG(&DMAtx, __HAL_DMA_GET_TE_FLAG_INDEX(&DMAtx)) != 0) + Abort(); + return DMAtx.Instance->CCR & DMA_CCR_EN; +} + +void TFT_SPI::Abort() { + __HAL_DMA_DISABLE(&DMAtx); + DataTransferEnd(); +} + +void TFT_SPI::Transmit(uint16_t Data) { + #if TFT_MISO_PIN == TFT_MOSI_PIN + SPI_1LINE_TX(&SPIx); + #endif + + __HAL_SPI_ENABLE(&SPIx); + + SPIx.Instance->DR = Data; + + while ((SPIx.Instance->SR & SPI_FLAG_TXE) != SPI_FLAG_TXE) {} + while ((SPIx.Instance->SR & SPI_FLAG_BSY) == SPI_FLAG_BSY) {} + + #if TFT_MISO_PIN != TFT_MOSI_PIN + __HAL_SPI_CLEAR_OVRFLAG(&SPIx); /* Clear overrun flag in 2 Lines communication mode because received is not read */ + #endif +} + +void TFT_SPI::TransmitDMA(uint32_t MemoryIncrease, uint16_t *Data, uint16_t Count) { + DMAtx.Init.MemInc = MemoryIncrease; + HAL_DMA_Init(&DMAtx); + + DataTransferBegin(); + + #if TFT_MISO_PIN == TFT_MOSI_PIN + SPI_1LINE_TX(&SPIx); + #endif + + DMAtx.DmaBaseAddress->IFCR = (DMA_ISR_GIF1 << DMAtx.ChannelIndex); + DMAtx.Instance->CNDTR = Count; + DMAtx.Instance->CPAR = (uint32_t)&(SPIx.Instance->DR); + DMAtx.Instance->CMAR = (uint32_t)Data; + __HAL_DMA_ENABLE(&DMAtx); + __HAL_SPI_ENABLE(&SPIx); + + SET_BIT(SPIx.Instance->CR2, SPI_CR2_TXDMAEN); /* Enable Tx DMA Request */ +} + +#endif // HAS_SPI_TFT diff --git a/Marlin/src/HAL/STM32/tft/tft_spi.h b/Marlin/src/HAL/STM32/tft/tft_spi.h new file mode 100644 index 000000000000..1eed45a709cc --- /dev/null +++ b/Marlin/src/HAL/STM32/tft/tft_spi.h @@ -0,0 +1,67 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#ifdef STM32F1xx + #include "stm32f1xx_hal.h" +#elif defined(STM32F4xx) + #include "stm32f4xx_hal.h" +#else + #error SPI TFT is currently only supported on STM32F1 and STM32F4 hardware. +#endif + +#ifndef LCD_READ_ID + #define LCD_READ_ID 0x04 // Read display identification information (0xD3 on ILI9341) +#endif +#ifndef LCD_READ_ID4 + #define LCD_READ_ID4 0xD3 // Read display identification information (0xD3 on ILI9341) +#endif + +#define DATASIZE_8BIT SPI_DATASIZE_8BIT +#define DATASIZE_16BIT SPI_DATASIZE_16BIT +#define TFT_IO TFT_SPI + +class TFT_SPI { +private: + static SPI_HandleTypeDef SPIx; + static DMA_HandleTypeDef DMAtx; + + static uint32_t ReadID(uint16_t Reg); + static void Transmit(uint16_t Data); + static void TransmitDMA(uint32_t MemoryIncrease, uint16_t *Data, uint16_t Count); + +public: + static void Init(); + static uint32_t GetID(); + static bool isBusy(); + static void Abort(); + + static void DataTransferBegin(uint16_t DataWidth = DATASIZE_16BIT); + static void DataTransferEnd() { WRITE(TFT_CS_PIN, HIGH); }; + static void DataTransferAbort(); + + static void WriteData(uint16_t Data) { Transmit(Data); } + static void WriteReg(uint16_t Reg) { WRITE(TFT_A0_PIN, LOW); Transmit(Reg); WRITE(TFT_A0_PIN, HIGH); } + + static void WriteSequence(uint16_t *Data, uint16_t Count) { TransmitDMA(DMA_MINC_ENABLE, Data, Count); } + static void WriteMultiple(uint16_t Color, uint16_t Count) { static uint16_t Data; Data = Color; TransmitDMA(DMA_MINC_DISABLE, &Data, Count); } +}; diff --git a/Marlin/src/HAL/STM32/tft/xpt2046.cpp b/Marlin/src/HAL/STM32/tft/xpt2046.cpp new file mode 100644 index 000000000000..49e64da6a113 --- /dev/null +++ b/Marlin/src/HAL/STM32/tft/xpt2046.cpp @@ -0,0 +1,185 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../inc/MarlinConfig.h" + +#if HAS_TFT_XPT2046 + +#include "xpt2046.h" +#include "pinconfig.h" + +uint16_t delta(uint16_t a, uint16_t b) { return a > b ? a - b : b - a; } + +SPI_HandleTypeDef XPT2046::SPIx; +DMA_HandleTypeDef XPT2046::DMAtx; + +void XPT2046::Init() { + SPI_TypeDef *spiInstance; + + OUT_WRITE(TOUCH_CS_PIN, HIGH); + + #if PIN_EXISTS(TOUCH_INT) + // Optional Pendrive interrupt pin + SET_INPUT(TOUCH_INT_PIN); + #endif + + spiInstance = (SPI_TypeDef *)pinmap_peripheral(digitalPinToPinName(TOUCH_SCK_PIN), PinMap_SPI_SCLK); + if (spiInstance != (SPI_TypeDef *)pinmap_peripheral(digitalPinToPinName(TOUCH_MOSI_PIN), PinMap_SPI_MOSI)) spiInstance = NP; + if (spiInstance != (SPI_TypeDef *)pinmap_peripheral(digitalPinToPinName(TOUCH_MISO_PIN), PinMap_SPI_MISO)) spiInstance = NP; + + SPIx.Instance = spiInstance; + + if (SPIx.Instance) { + SPIx.State = HAL_SPI_STATE_RESET; + SPIx.Init.NSS = SPI_NSS_SOFT; + SPIx.Init.Mode = SPI_MODE_MASTER; + SPIx.Init.Direction = SPI_DIRECTION_2LINES; + SPIx.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_8; + SPIx.Init.CLKPhase = SPI_PHASE_2EDGE; + SPIx.Init.CLKPolarity = SPI_POLARITY_HIGH; + SPIx.Init.DataSize = SPI_DATASIZE_8BIT; + SPIx.Init.FirstBit = SPI_FIRSTBIT_MSB; + SPIx.Init.TIMode = SPI_TIMODE_DISABLE; + SPIx.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; + SPIx.Init.CRCPolynomial = 10; + + pinmap_pinout(digitalPinToPinName(TOUCH_SCK_PIN), PinMap_SPI_SCLK); + pinmap_pinout(digitalPinToPinName(TOUCH_MOSI_PIN), PinMap_SPI_MOSI); + pinmap_pinout(digitalPinToPinName(TOUCH_MISO_PIN), PinMap_SPI_MISO); + + #ifdef SPI1_BASE + if (SPIx.Instance == SPI1) { + __HAL_RCC_SPI1_CLK_ENABLE(); + SPIx.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_16; + #ifdef STM32F1xx + DMAtx.Instance = DMA1_Channel3; + #elif defined(STM32F4xx) + DMAtx.Instance = DMA2_Stream3; // DMA2_Stream5 + #endif + //SERIAL_ECHO_MSG(" Touch Screen on SPI1"); + } + #endif + #ifdef SPI2_BASE + if (SPIx.Instance == SPI2) { + __HAL_RCC_SPI2_CLK_ENABLE(); + #ifdef STM32F1xx + DMAtx.Instance = DMA1_Channel5; + #elif defined(STM32F4xx) + DMAtx.Instance = DMA1_Stream4; + #endif + //SERIAL_ECHO_MSG(" Touch Screen on SPI2"); + } + #endif + #ifdef SPI3_BASE + if (SPIx.Instance == SPI3) { + __HAL_RCC_SPI3_CLK_ENABLE(); + #ifdef STM32F1xx + DMAtx.Instance = DMA2_Channel2; + #elif defined(STM32F4xx) + DMAtx.Instance = DMA1_Stream5; // DMA1_Stream7 + #endif + //SERIAL_ECHO_MSG(" Touch Screen on SPI3"); + } + #endif + } + else { + SPIx.Instance = NULL; + SET_INPUT(TOUCH_MISO_PIN); + SET_OUTPUT(TOUCH_MOSI_PIN); + SET_OUTPUT(TOUCH_SCK_PIN); + //SERIAL_ECHO_MSG(" Touch Screen on Software SPI"); + } + + getRawData(XPT2046_Z1); +} + +bool XPT2046::isTouched() { + return isBusy() ? false : ( + #if PIN_EXISTS(TOUCH_INT) + READ(TOUCH_INT_PIN) != HIGH + #else + getRawData(XPT2046_Z1) >= XPT2046_Z1_THRESHOLD + #endif + ); +} + +bool XPT2046::getRawPoint(int16_t *x, int16_t *y) { + if (isBusy()) return false; + if (!isTouched()) return false; + *x = getRawData(XPT2046_X); + *y = getRawData(XPT2046_Y); + return isTouched(); +} + +uint16_t XPT2046::getRawData(const XPTCoordinate coordinate) { + uint16_t data[3]; + + DataTransferBegin(); + + for (uint16_t i = 0; i < 3 ; i++) { + IO(coordinate); + data[i] = (IO() << 4) | (IO() >> 4); + } + + DataTransferEnd(); + + uint16_t delta01 = delta(data[0], data[1]); + uint16_t delta02 = delta(data[0], data[2]); + uint16_t delta12 = delta(data[1], data[2]); + + if (delta01 > delta02 || delta01 > delta12) { + if (delta02 > delta12) + data[0] = data[2]; + else + data[1] = data[2]; + } + + return (data[0] + data[1]) >> 1; +} + +uint16_t XPT2046::HardwareIO(uint16_t data) { + __HAL_SPI_ENABLE(&SPIx); + while((SPIx.Instance->SR & SPI_FLAG_TXE) != SPI_FLAG_TXE) {} + SPIx.Instance->DR = data; + while((SPIx.Instance->SR & SPI_FLAG_RXNE) != SPI_FLAG_RXNE) {} + __HAL_SPI_DISABLE(&SPIx); + + return SPIx.Instance->DR; +} + +uint16_t XPT2046::SoftwareIO(uint16_t data) { + uint16_t result = 0; + + for (uint8_t j = 0x80; j > 0; j >>= 1) { + WRITE(TOUCH_SCK_PIN, LOW); + __DSB(); + WRITE(TOUCH_MOSI_PIN, data & j ? HIGH : LOW); + __DSB(); + if (READ(TOUCH_MISO_PIN)) result |= j; + __DSB(); + WRITE(TOUCH_SCK_PIN, HIGH); + __DSB(); + } + WRITE(TOUCH_SCK_PIN, LOW); + __DSB(); + + return result; +} + +#endif // HAS_TFT_XPT2046 diff --git a/Marlin/src/HAL/STM32/tft/xpt2046.h b/Marlin/src/HAL/STM32/tft/xpt2046.h new file mode 100644 index 000000000000..7a6d8439c59c --- /dev/null +++ b/Marlin/src/HAL/STM32/tft/xpt2046.h @@ -0,0 +1,86 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#ifdef STM32F1xx + #include +#elif defined(STM32F4xx) + #include +#endif + +#include "../../../inc/MarlinConfig.h" + +// Not using regular SPI interface by default to avoid SPI mode conflicts with other SPI devices + +#if !PIN_EXISTS(TOUCH_MISO) + #error "TOUCH_MISO_PIN is not defined." +#elif !PIN_EXISTS(TOUCH_MOSI) + #error "TOUCH_MOSI_PIN is not defined." +#elif !PIN_EXISTS(TOUCH_SCK) + #error "TOUCH_SCK_PIN is not defined." +#elif !PIN_EXISTS(TOUCH_CS) + #error "TOUCH_CS_PIN is not defined." +#endif + +#ifndef TOUCH_INT_PIN + #define TOUCH_INT_PIN -1 +#endif + +#define XPT2046_DFR_MODE 0x00 +#define XPT2046_SER_MODE 0x04 +#define XPT2046_CONTROL 0x80 + +enum XPTCoordinate : uint8_t { + XPT2046_X = 0x10 | XPT2046_CONTROL | XPT2046_DFR_MODE, + XPT2046_Y = 0x50 | XPT2046_CONTROL | XPT2046_DFR_MODE, + XPT2046_Z1 = 0x30 | XPT2046_CONTROL | XPT2046_DFR_MODE, + XPT2046_Z2 = 0x40 | XPT2046_CONTROL | XPT2046_DFR_MODE, +}; + +#if !defined(XPT2046_Z1_THRESHOLD) + #define XPT2046_Z1_THRESHOLD 10 +#endif + +#ifdef STM32F1xx + #define __IS_DMA_ENABLED(__HANDLE__) ((__HANDLE__)->Instance->CCR & DMA_CCR_EN) +#elif defined(STM32F4xx) + #define __IS_DMA_ENABLED(__HANDLE__) ((__HANDLE__)->Instance->CR & DMA_SxCR_EN) +#endif + + +class XPT2046 { +private: + static SPI_HandleTypeDef SPIx; + static DMA_HandleTypeDef DMAtx; + + static bool isBusy() { return SPIx.Instance ? __IS_DMA_ENABLED(&DMAtx) : false; } + + static uint16_t getRawData(const XPTCoordinate coordinate); + static bool isTouched(); + + static inline void DataTransferBegin() { if (SPIx.Instance) { HAL_SPI_Init(&SPIx); } WRITE(TOUCH_CS_PIN, LOW); }; + static inline void DataTransferEnd() { WRITE(TOUCH_CS_PIN, HIGH); }; + static uint16_t HardwareIO(uint16_t data); + static uint16_t SoftwareIO(uint16_t data); + static uint16_t IO(uint16_t data = 0) { return SPIx.Instance ? HardwareIO(data) : SoftwareIO(data); } + +public: + static void Init(); + static bool getRawPoint(int16_t *x, int16_t *y); +}; diff --git a/Marlin/src/HAL/STM32F1/SPI.cpp b/Marlin/src/HAL/STM32F1/SPI.cpp index 80095ba1dce8..423772dbc948 100644 --- a/Marlin/src/HAL/STM32F1/SPI.cpp +++ b/Marlin/src/HAL/STM32F1/SPI.cpp @@ -277,7 +277,7 @@ void SPIClass::read(uint8_t *buf, uint32_t len) { regs->DR = 0x00FF; // write the first byte // main loop while (--len) { - while(!(regs->SR & SPI_SR_TXE)) { /* nada */ } // wait for TXE flag + while (!(regs->SR & SPI_SR_TXE)) { /* nada */ } // wait for TXE flag noInterrupts(); // go atomic level - avoid interrupts to surely get the previously received data regs->DR = 0x00FF; // write the next data item to be transmitted into the SPI_DR register. This clears the TXE flag. while (!(regs->SR & SPI_SR_RXNE)) { /* nada */ } // wait till data is available in the DR register diff --git a/Marlin/src/HAL/STM32F1/SPI.h b/Marlin/src/HAL/STM32F1/SPI.h index dc2a21586560..0d20a46577e7 100644 --- a/Marlin/src/HAL/STM32F1/SPI.h +++ b/Marlin/src/HAL/STM32F1/SPI.h @@ -208,6 +208,8 @@ class SPIClass { */ void setDataSize(uint32_t ds); + uint32_t getDataSize() { return _currentSetting->dataSize; } + /* Victor Perez 2017. Added to set and clear callback functions for callback * on DMA transfer completion. * onReceive used to set the callback in case of dmaTransfer (tx/rx), once rx is completed diff --git a/Marlin/src/HAL/STM32F1/inc/Conditionals_LCD.h b/Marlin/src/HAL/STM32F1/inc/Conditionals_LCD.h index f52e6fec2b1e..25110d7c80e4 100644 --- a/Marlin/src/HAL/STM32F1/inc/Conditionals_LCD.h +++ b/Marlin/src/HAL/STM32F1/inc/Conditionals_LCD.h @@ -25,3 +25,10 @@ //#warning "SD_CHECK_AND_RETRY isn't needed with USE_USB_COMPOSITE." #undef SD_CHECK_AND_RETRY #endif + +// This emulated DOGM has 'touch/xpt2046', not 'tft/xpt2046' +#if ENABLED(TOUCH_SCREEN) && !HAS_GRAPHICAL_TFT + #undef TOUCH_SCREEN + #undef TOUCH_SCREEN_CALIBRATION + #define HAS_TOUCH_XPT2046 1 +#endif diff --git a/Marlin/src/HAL/STM32F1/inc/SanityCheck.h b/Marlin/src/HAL/STM32F1/inc/SanityCheck.h index 5e5b9097d87f..c0cb48695253 100644 --- a/Marlin/src/HAL/STM32F1/inc/SanityCheck.h +++ b/Marlin/src/HAL/STM32F1/inc/SanityCheck.h @@ -51,3 +51,7 @@ #elif ENABLED(SERIAL_STATS_DROPPED_RX) #error "SERIAL_STATS_DROPPED_RX is not supported on this platform." #endif + +#if ENABLED(NEOPIXEL_LED) + #error "NEOPIXEL_LED (Adafruit NeoPixel) is not supported for HAL/STM32F1. Comment out this line to proceed at your own risk!" +#endif diff --git a/Marlin/src/HAL/STM32F1/dogm/u8g_com_stm32duino_fsmc.cpp b/Marlin/src/HAL/STM32F1/tft/tft_fsmc.cpp similarity index 53% rename from Marlin/src/HAL/STM32F1/dogm/u8g_com_stm32duino_fsmc.cpp rename to Marlin/src/HAL/STM32F1/tft/tft_fsmc.cpp index 0f3887d29afb..bc1b012dc788 100644 --- a/Marlin/src/HAL/STM32F1/dogm/u8g_com_stm32duino_fsmc.cpp +++ b/Marlin/src/HAL/STM32F1/tft/tft_fsmc.cpp @@ -20,96 +20,16 @@ * */ -/** - * u8g_com_stm32duino_fsmc.cpp - * - * Communication interface for FSMC - */ - #include "../../../inc/MarlinConfig.h" -#if defined(ARDUINO_ARCH_STM32F1) && PIN_EXISTS(FSMC_CS) // FSMC on 100/144 pins SoCs - -#if HAS_GRAPHICAL_LCD +#if HAS_FSMC_TFT -#include +#include "tft_fsmc.h" #include #include #include -#include - -#ifndef LCD_READ_ID - #define LCD_READ_ID 0x04 // Read display identification information (0xD3 on ILI9341) -#endif - -/* Timing configuration */ -#define FSMC_ADDRESS_SETUP_TIME 15 // AddressSetupTime -#define FSMC_DATA_SETUP_TIME 15 // DataSetupTime -void LCD_IO_Init(uint8_t cs, uint8_t rs); -void LCD_IO_WriteData(uint16_t RegValue); -void LCD_IO_WriteReg(uint16_t Reg); -uint16_t LCD_IO_ReadData(uint16_t RegValue); -uint32_t LCD_IO_ReadData(uint16_t RegValue, uint8_t ReadSize); -#ifdef LCD_USE_DMA_FSMC - void LCD_IO_WriteMultiple(uint16_t data, uint32_t count); - void LCD_IO_WriteSequence(uint16_t *data, uint16_t length); -#endif - -static uint8_t msgInitCount = 2; // Ignore all messages until 2nd U8G_COM_MSG_INIT - -uint8_t u8g_com_stm32duino_fsmc_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) { - if (msgInitCount) { - if (msg == U8G_COM_MSG_INIT) msgInitCount--; - if (msgInitCount) return -1; - } - - static uint8_t isCommand; - - switch (msg) { - case U8G_COM_MSG_STOP: break; - case U8G_COM_MSG_INIT: - u8g_SetPIOutput(u8g, U8G_PI_RESET); - - #ifdef LCD_USE_DMA_FSMC - dma_init(FSMC_DMA_DEV); - dma_disable(FSMC_DMA_DEV, FSMC_DMA_CHANNEL); - dma_set_priority(FSMC_DMA_DEV, FSMC_DMA_CHANNEL, DMA_PRIORITY_MEDIUM); - #endif - - LCD_IO_Init(u8g->pin_list[U8G_PI_CS], u8g->pin_list[U8G_PI_A0]); - u8g_Delay(50); - - if (arg_ptr) { - *((uint32_t *)arg_ptr) = LCD_IO_ReadData(0x0000); - if (*((uint32_t *)arg_ptr) == 0) - *((uint32_t *)arg_ptr) = (LCD_READ_ID << 24) | LCD_IO_ReadData(LCD_READ_ID, 3); - } - isCommand = 0; - break; - - case U8G_COM_MSG_ADDRESS: // define cmd (arg_val = 0) or data mode (arg_val = 1) - isCommand = arg_val == 0 ? 1 : 0; - break; - - case U8G_COM_MSG_RESET: - u8g_SetPILevel(u8g, U8G_PI_RESET, arg_val); - break; - - case U8G_COM_MSG_WRITE_BYTE: - if (isCommand) - LCD_IO_WriteReg(arg_val); - else - LCD_IO_WriteData((uint16_t)arg_val); - break; - - case U8G_COM_MSG_WRITE_SEQ: - for (uint8_t i = 0; i < arg_val; i += 2) - LCD_IO_WriteData(*(uint16_t *)(((uint32_t)arg_ptr) + i)); - break; - } - return 1; -} +LCD_CONTROLLER_TypeDef *TFT_FSMC::LCD; /** * FSMC LCD IO @@ -160,27 +80,35 @@ __attribute__((always_inline)) __STATIC_INLINE void __DSB() { #define FSMC_RS_A25 PG14 #endif +/* Timing configuration */ +#define FSMC_ADDRESS_SETUP_TIME 15 // AddressSetupTime +#define FSMC_DATA_SETUP_TIME 15 // DataSetupTime + static uint8_t fsmcInit = 0; +void TFT_FSMC::Init() { + uint8_t cs = FSMC_CS_PIN, rs = FSMC_RS_PIN; + uint32_t controllerAddress; -typedef struct { - __IO uint16_t REG; - __IO uint16_t RAM; -} LCD_CONTROLLER_TypeDef; + #if PIN_EXISTS(TFT_RESET) + OUT_WRITE(TFT_RESET_PIN, HIGH); + delay(100); + #endif -LCD_CONTROLLER_TypeDef *LCD; + #if PIN_EXISTS(TFT_BACKLIGHT) + OUT_WRITE(TFT_BACKLIGHT_PIN, HIGH); + #endif -void LCD_IO_Init(uint8_t cs, uint8_t rs) { - uint32_t controllerAddress; + struct fsmc_nor_psram_reg_map* fsmcPsramRegion; if (fsmcInit) return; fsmcInit = 1; switch (cs) { - case FSMC_CS_NE1: controllerAddress = (uint32_t)FSMC_NOR_PSRAM_REGION1; break; + case FSMC_CS_NE1: controllerAddress = (uint32_t)FSMC_NOR_PSRAM_REGION1; fsmcPsramRegion = FSMC_NOR_PSRAM1_BASE; break; #if ENABLED(STM32_XL_DENSITY) - case FSMC_CS_NE2: controllerAddress = (uint32_t)FSMC_NOR_PSRAM_REGION2; break; - case FSMC_CS_NE3: controllerAddress = (uint32_t)FSMC_NOR_PSRAM_REGION3; break; - case FSMC_CS_NE4: controllerAddress = (uint32_t)FSMC_NOR_PSRAM_REGION4; break; + case FSMC_CS_NE2: controllerAddress = (uint32_t)FSMC_NOR_PSRAM_REGION2; fsmcPsramRegion = FSMC_NOR_PSRAM2_BASE; break; + case FSMC_CS_NE3: controllerAddress = (uint32_t)FSMC_NOR_PSRAM_REGION3; fsmcPsramRegion = FSMC_NOR_PSRAM3_BASE; break; + case FSMC_CS_NE4: controllerAddress = (uint32_t)FSMC_NOR_PSRAM_REGION4; fsmcPsramRegion = FSMC_NOR_PSRAM4_BASE; break; #endif default: return; } @@ -246,90 +174,65 @@ void LCD_IO_Init(uint8_t cs, uint8_t rs) { gpio_set_mode(PIN_MAP[cs].gpio_device, PIN_MAP[cs].gpio_bit, GPIO_AF_OUTPUT_PP); //FSMC_CS_NEx gpio_set_mode(PIN_MAP[rs].gpio_device, PIN_MAP[rs].gpio_bit, GPIO_AF_OUTPUT_PP); //FSMC_RS_Ax - #if ENABLED(STM32_XL_DENSITY) - FSMC_NOR_PSRAM4_BASE->BCR = FSMC_BCR_WREN | FSMC_BCR_MTYP_SRAM | FSMC_BCR_MWID_16BITS | FSMC_BCR_MBKEN; - FSMC_NOR_PSRAM4_BASE->BTR = (FSMC_DATA_SETUP_TIME << 8) | FSMC_ADDRESS_SETUP_TIME; - #else // PSRAM1 for STM32F103V (high density) - FSMC_NOR_PSRAM1_BASE->BCR = FSMC_BCR_WREN | FSMC_BCR_MTYP_SRAM | FSMC_BCR_MWID_16BITS | FSMC_BCR_MBKEN; - FSMC_NOR_PSRAM1_BASE->BTR = (FSMC_DATA_SETUP_TIME << 8) | FSMC_ADDRESS_SETUP_TIME; - #endif + fsmcPsramRegion->BCR = FSMC_BCR_WREN | FSMC_BCR_MTYP_SRAM | FSMC_BCR_MWID_16BITS | FSMC_BCR_MBKEN; + fsmcPsramRegion->BTR = (FSMC_DATA_SETUP_TIME << 8) | FSMC_ADDRESS_SETUP_TIME; afio_remap(AFIO_REMAP_FSMC_NADV); LCD = (LCD_CONTROLLER_TypeDef*)controllerAddress; } -void LCD_IO_WriteData(uint16_t RegValue) { - LCD->RAM = RegValue; +void TFT_FSMC::Transmit(uint16_t Data) { + LCD->RAM = Data; __DSB(); } -void LCD_IO_WriteReg(uint16_t Reg) { +void TFT_FSMC::WriteReg(uint16_t Reg) { LCD->REG = Reg; __DSB(); } -uint16_t LCD_IO_ReadData(uint16_t RegValue) { - LCD->REG = RegValue; - __DSB(); +uint32_t TFT_FSMC::GetID() { + uint32_t id; + WriteReg(0x0000); + id = LCD->RAM; - return LCD->RAM; + if (id == 0) + id = ReadID(LCD_READ_ID); + if ((id & 0xFFFF) == 0 || (id & 0xFFFF) == 0xFFFF) + id = ReadID(LCD_READ_ID4); + return id; } -uint32_t LCD_IO_ReadData(uint16_t RegValue, uint8_t ReadSize) { - volatile uint32_t data; - LCD->REG = RegValue; - __DSB(); + uint32_t TFT_FSMC::ReadID(uint16_t Reg) { + uint32_t id; + WriteReg(Reg); + id = LCD->RAM; // dummy read + id = Reg << 24; + id |= (LCD->RAM & 0x00FF) << 16; + id |= (LCD->RAM & 0x00FF) << 8; + id |= LCD->RAM & 0x00FF; + return id; + } + +bool TFT_FSMC::isBusy() { + return false; +} - data = LCD->RAM; // dummy read - data = LCD->RAM & 0x00FF; +void TFT_FSMC::Abort() { - while (--ReadSize) { - data <<= 8; - data |= (LCD->RAM & 0x00FF); - } - return uint32_t(data); } -#ifdef LCD_USE_DMA_FSMC - -void LCD_IO_WriteMultiple(uint16_t color, uint32_t count) { - while (count > 0) { - dma_setup_transfer(FSMC_DMA_DEV, FSMC_DMA_CHANNEL, &color, DMA_SIZE_16BITS, &LCD->RAM, DMA_SIZE_16BITS, DMA_MEM_2_MEM); - dma_set_num_transfers(FSMC_DMA_DEV, FSMC_DMA_CHANNEL, count > 65535 ? 65535 : count); +void TFT_FSMC::TransmitDMA(uint32_t MemoryIncrease, uint16_t *Data, uint16_t Count) { + #if defined(FSMC_DMA_DEV) && defined(FSMC_DMA_CHANNEL) + dma_setup_transfer(FSMC_DMA_DEV, FSMC_DMA_CHANNEL, Data, DMA_SIZE_16BITS, &LCD->RAM, DMA_SIZE_16BITS, DMA_MEM_2_MEM | MemoryIncrease); + dma_set_num_transfers(FSMC_DMA_DEV, FSMC_DMA_CHANNEL, Count); dma_clear_isr_bits(FSMC_DMA_DEV, FSMC_DMA_CHANNEL); dma_enable(FSMC_DMA_DEV, FSMC_DMA_CHANNEL); while ((dma_get_isr_bits(FSMC_DMA_DEV, FSMC_DMA_CHANNEL) & 0x0A) == 0) {}; dma_disable(FSMC_DMA_DEV, FSMC_DMA_CHANNEL); - - count = count > 65535 ? count - 65535 : 0; - } -} - -void LCD_IO_WriteSequence(uint16_t *data, uint16_t length) { - dma_setup_transfer(FSMC_DMA_DEV, FSMC_DMA_CHANNEL, data, DMA_SIZE_16BITS, &LCD->RAM, DMA_SIZE_16BITS, DMA_MEM_2_MEM | DMA_PINC_MODE); - dma_set_num_transfers(FSMC_DMA_DEV, FSMC_DMA_CHANNEL, length); - dma_clear_isr_bits(FSMC_DMA_DEV, FSMC_DMA_CHANNEL); - dma_enable(FSMC_DMA_DEV, FSMC_DMA_CHANNEL); - - while ((dma_get_isr_bits(FSMC_DMA_DEV, FSMC_DMA_CHANNEL) & 0x0A) == 0) {}; - dma_disable(FSMC_DMA_DEV, FSMC_DMA_CHANNEL); -} - -void LCD_IO_WriteSequence_Async(uint16_t *data, uint16_t length) { - dma_setup_transfer(FSMC_DMA_DEV, FSMC_DMA_CHANNEL, data, DMA_SIZE_16BITS, &LCD->RAM, DMA_SIZE_16BITS, DMA_MEM_2_MEM | DMA_PINC_MODE); - dma_set_num_transfers(FSMC_DMA_DEV, FSMC_DMA_CHANNEL, length); - dma_clear_isr_bits(FSMC_DMA_DEV, FSMC_DMA_CHANNEL); - dma_enable(FSMC_DMA_DEV, FSMC_DMA_CHANNEL); -} - -void LCD_IO_WaitSequence_Async() { - while ((dma_get_isr_bits(FSMC_DMA_DEV, FSMC_DMA_CHANNEL) & 0x0A) == 0) {}; - dma_disable(FSMC_DMA_DEV, FSMC_DMA_CHANNEL); + #endif } -#endif // LCD_USE_DMA_FSMC - -#endif // HAS_GRAPHICAL_LCD -#endif // ARDUINO_ARCH_STM32F1 && FSMC_CS_PIN +#endif // HAS_FSMC_TFT diff --git a/Marlin/src/HAL/STM32F1/tft/tft_fsmc.h b/Marlin/src/HAL/STM32F1/tft/tft_fsmc.h new file mode 100644 index 000000000000..6fcfea8a1167 --- /dev/null +++ b/Marlin/src/HAL/STM32F1/tft/tft_fsmc.h @@ -0,0 +1,71 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#ifndef LCD_READ_ID + #define LCD_READ_ID 0x04 // Read display identification information (0xD3 on ILI9341) +#endif +#ifndef LCD_READ_ID4 + #define LCD_READ_ID4 0xD3 // Read display identification information (0xD3 on ILI9341) +#endif + +#include + +#define DATASIZE_8BIT DMA_SIZE_8BITS +#define DATASIZE_16BIT DMA_SIZE_16BITS +#define TFT_IO TFT_FSMC + +typedef struct { + __IO uint16_t REG; + __IO uint16_t RAM; +} LCD_CONTROLLER_TypeDef; + +class TFT_FSMC { + private: + static LCD_CONTROLLER_TypeDef *LCD; + + static uint32_t ReadID(uint16_t Reg); + static void Transmit(uint16_t Data); + static void TransmitDMA(uint32_t MemoryIncrease, uint16_t *Data, uint16_t Count); + + public: + static void Init(); + static uint32_t GetID(); + static bool isBusy(); + static void Abort(); + + static void DataTransferBegin(uint16_t DataWidth = DATASIZE_16BIT) {}; + static void DataTransferEnd() {}; + + static void WriteData(uint16_t Data) { Transmit(Data); } + static void WriteReg(uint16_t Reg); + + static void WriteSequence(uint16_t *Data, uint16_t Count) { TransmitDMA(DMA_PINC_MODE, Data, Count); } + static void WriteMultiple(uint16_t Color, uint16_t Count) { static uint16_t Data; Data = Color; TransmitDMA(DMA_CIRC_MODE, &Data, Count); } + static void WriteMultiple(uint16_t Color, uint32_t Count) { + static uint16_t Data; Data = Color; + while (Count > 0) { + TransmitDMA(DMA_CIRC_MODE, &Data, Count > 0xFFFF ? 0xFFFF : Count); + Count = Count > 0xFFFF ? Count - 0xFFFF : 0; + } + } +}; diff --git a/Marlin/src/HAL/STM32F1/tft/tft_spi.cpp b/Marlin/src/HAL/STM32F1/tft/tft_spi.cpp new file mode 100644 index 000000000000..1095389946ad --- /dev/null +++ b/Marlin/src/HAL/STM32F1/tft/tft_spi.cpp @@ -0,0 +1,149 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../inc/MarlinConfig.h" + +#if HAS_SPI_TFT + +#include "tft_spi.h" + +// TFT_SPI tft; + +SPIClass TFT_SPI::SPIx(1); + +#define TFT_CS_H OUT_WRITE(TFT_CS_PIN, HIGH) +#define TFT_CS_L OUT_WRITE(TFT_CS_PIN, LOW) + +#define TFT_DC_H OUT_WRITE(TFT_DC_PIN, HIGH) +#define TFT_DC_L OUT_WRITE(TFT_DC_PIN, LOW) + +#define TFT_RST_H OUT_WRITE(TFT_RST_PIN, HIGH) +#define TFT_RST_L OUT_WRITE(TFT_RST_PIN, LOW) + +#define TFT_BLK_H OUT_WRITE(TFT_BACKLIGHT_PIN, HIGH) +#define TFT_BLK_L OUT_WRITE(TFT_BACKLIGHT_PIN, LOW) + +void TFT_SPI::Init() { + #if PIN_EXISTS(TFT_RESET) + // OUT_WRITE(TFT_RESET_PIN, HIGH); + TFT_RST_H; + delay(100); + #endif + + #if PIN_EXISTS(TFT_BACKLIGHT) + // OUT_WRITE(TFT_BACKLIGHT_PIN, HIGH); + TFT_BLK_H; + #endif + + TFT_DC_H; + TFT_CS_H; + + /** + * STM32F1 APB2 = 72MHz, APB1 = 36MHz, max SPI speed of this MCU if 18Mhz + * STM32F1 has 3 SPI ports, SPI1 in APB2, SPI2/SPI3 in APB1 + * so the minimum prescale of SPI1 is DIV4, SPI2/SPI3 is DIV2 + */ + #if SPI_DEVICE == 1 + #define SPI_CLOCK_MAX SPI_CLOCK_DIV4 + #else + #define SPI_CLOCK_MAX SPI_CLOCK_DIV2 + #endif + uint8_t clock; + uint8_t spiRate = SPI_FULL_SPEED; + switch (spiRate) { + case SPI_FULL_SPEED: clock = SPI_CLOCK_MAX ; break; + case SPI_HALF_SPEED: clock = SPI_CLOCK_DIV4 ; break; + case SPI_QUARTER_SPEED: clock = SPI_CLOCK_DIV8 ; break; + case SPI_EIGHTH_SPEED: clock = SPI_CLOCK_DIV16; break; + case SPI_SPEED_5: clock = SPI_CLOCK_DIV32; break; + case SPI_SPEED_6: clock = SPI_CLOCK_DIV64; break; + default: clock = SPI_CLOCK_DIV2; // Default from the SPI library + } + SPIx.setModule(1); + SPIx.setClockDivider(clock); + SPIx.setBitOrder(MSBFIRST); + SPIx.setDataMode(SPI_MODE0); +} + +void TFT_SPI::DataTransferBegin(uint16_t DataSize) { + SPIx.setDataSize(DataSize); + SPIx.begin(); + TFT_CS_L; +} + +uint32_t TFT_SPI::GetID() { + uint32_t id; + id = ReadID(LCD_READ_ID); + + if ((id & 0xFFFF) == 0 || (id & 0xFFFF) == 0xFFFF) + id = ReadID(LCD_READ_ID4); + return id; +} + +uint32_t TFT_SPI::ReadID(uint16_t Reg) { + #if !PIN_EXISTS(TFT_MISO) + return 0; + #else + uint8_t d = 0; + uint32_t data = 0; + SPIx.setClockDivider(SPI_CLOCK_DIV16); + DataTransferBegin(DATASIZE_8BIT); + WriteReg(Reg); + + LOOP_L_N(i, 4) { + SPIx.read((uint8_t*)&d, 1); + data = (data << 8) | d; + } + + DataTransferEnd(); + SPIx.setClockDivider(SPI_CLOCK_MAX); + + return data >> 7; + #endif +} + +bool TFT_SPI::isBusy() { + return false; +} + +void TFT_SPI::Abort() { + DataTransferEnd(); +} + +void TFT_SPI::Transmit(uint16_t Data) { + SPIx.send(Data); +} + +void TFT_SPI::TransmitDMA(uint32_t MemoryIncrease, uint16_t *Data, uint16_t Count) { + DataTransferBegin(); + TFT_DC_H; + if (MemoryIncrease == DMA_MINC_ENABLE) { + SPIx.dmaSend(Data, Count, true); + } + else { + SPIx.dmaSend(Data, Count, false); + } + + DataTransferEnd(); +} + +#endif // HAS_SPI_TFT diff --git a/Marlin/src/HAL/STM32F1/tft/tft_spi.h b/Marlin/src/HAL/STM32F1/tft/tft_spi.h new file mode 100644 index 000000000000..bb26fc21b64f --- /dev/null +++ b/Marlin/src/HAL/STM32F1/tft/tft_spi.h @@ -0,0 +1,72 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#include "../../../inc/MarlinConfig.h" + +#include + +#ifndef LCD_READ_ID + #define LCD_READ_ID 0x04 // Read display identification information (0xD3 on ILI9341) +#endif +#ifndef LCD_READ_ID4 + #define LCD_READ_ID4 0xD3 // Read display identification information (0xD3 on ILI9341) +#endif + +#define DATASIZE_8BIT DATA_SIZE_8BIT +#define DATASIZE_16BIT DATA_SIZE_16BIT +#define TFT_IO TFT_SPI + +#define DMA_MINC_ENABLE 1 +#define DMA_MINC_DISABLE 0 + +class TFT_SPI { +private: + static uint32_t ReadID(uint16_t Reg); + static void Transmit(uint16_t Data); + static void TransmitDMA(uint32_t MemoryIncrease, uint16_t *Data, uint16_t Count); + +public: + static SPIClass SPIx; + + static void Init(); + static uint32_t GetID(); + static bool isBusy(); + static void Abort(); + + static void DataTransferBegin(uint16_t DataWidth = DATA_SIZE_16BIT); + static void DataTransferEnd() { WRITE(TFT_CS_PIN, HIGH); SPIx.end(); }; + static void DataTransferAbort(); + + static void WriteData(uint16_t Data) { Transmit(Data); } + static void WriteReg(uint16_t Reg) { WRITE(TFT_A0_PIN, LOW); Transmit(Reg); WRITE(TFT_A0_PIN, HIGH); } + + static void WriteSequence(uint16_t *Data, uint16_t Count) { TransmitDMA(DMA_MINC_ENABLE, Data, Count); } + static void WriteMultiple(uint16_t Color, uint16_t Count) { static uint16_t Data; Data = Color; TransmitDMA(DMA_MINC_DISABLE, &Data, Count); } + static void WriteMultiple(uint16_t Color, uint32_t Count) { + static uint16_t Data; Data = Color; + while (Count > 0) { + TransmitDMA(DMA_MINC_DISABLE, &Data, Count > 0xFFFF ? 0xFFFF : Count); + Count = Count > 0xFFFF ? Count - 0xFFFF : 0; + } + } +}; diff --git a/Marlin/src/HAL/STM32F1/tft/xpt2046.cpp b/Marlin/src/HAL/STM32F1/tft/xpt2046.cpp new file mode 100644 index 000000000000..616d05fead15 --- /dev/null +++ b/Marlin/src/HAL/STM32F1/tft/xpt2046.cpp @@ -0,0 +1,141 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../inc/MarlinConfig.h" + +#if HAS_TFT_XPT2046 || HAS_TOUCH_XPT2046 + +#include "xpt2046.h" +#include + +uint16_t delta(uint16_t a, uint16_t b) { return a > b ? a - b : b - a; } + +#if ENABLED(TOUCH_BUTTONS_HW_SPI) + #include + + SPIClass XPT2046::SPIx(TOUCH_BUTTONS_HW_SPI_DEVICE); + + static void touch_spi_init(uint8_t spiRate) { + /** + * STM32F1 APB2 = 72MHz, APB1 = 36MHz, max SPI speed of this MCU if 18Mhz + * STM32F1 has 3 SPI ports, SPI1 in APB2, SPI2/SPI3 in APB1 + * so the minimum prescale of SPI1 is DIV4, SPI2/SPI3 is DIV2 + */ + uint8_t clock; + switch (spiRate) { + case SPI_FULL_SPEED: clock = SPI_CLOCK_DIV4; break; + case SPI_HALF_SPEED: clock = SPI_CLOCK_DIV4; break; + case SPI_QUARTER_SPEED: clock = SPI_CLOCK_DIV8; break; + case SPI_EIGHTH_SPEED: clock = SPI_CLOCK_DIV16; break; + case SPI_SPEED_5: clock = SPI_CLOCK_DIV32; break; + case SPI_SPEED_6: clock = SPI_CLOCK_DIV64; break; + default: clock = SPI_CLOCK_DIV2; // Default from the SPI library + } + XPT2046::SPIx.setModule(TOUCH_BUTTONS_HW_SPI_DEVICE); + XPT2046::SPIx.setClockDivider(clock); + XPT2046::SPIx.setBitOrder(MSBFIRST); + XPT2046::SPIx.setDataMode(SPI_MODE0); + } +#endif // TOUCH_BUTTONS_HW_SPI + +void XPT2046::Init() { + SET_INPUT(TOUCH_MISO_PIN); + SET_OUTPUT(TOUCH_MOSI_PIN); + SET_OUTPUT(TOUCH_SCK_PIN); + OUT_WRITE(TOUCH_CS_PIN, HIGH); + + #if PIN_EXISTS(TOUCH_INT) + // Optional Pendrive interrupt pin + SET_INPUT(TOUCH_INT_PIN); + #endif + + TERN_(TOUCH_BUTTONS_HW_SPI, touch_spi_init(SPI_SPEED_6)); + + // Read once to enable pendrive status pin + getRawData(XPT2046_X); +} + +bool XPT2046::isTouched() { + return isBusy() ? false : ( + #if PIN_EXISTS(TOUCH_INT) + READ(TOUCH_INT_PIN) != HIGH + #else + getRawData(XPT2046_Z1) >= XPT2046_Z1_THRESHOLD + #endif + ); +} + +bool XPT2046::getRawPoint(int16_t *x, int16_t *y) { + if (isBusy()) return false; + if (!isTouched()) return false; + *x = getRawData(XPT2046_X); + *y = getRawData(XPT2046_Y); + return isTouched(); +} + +uint16_t XPT2046::getRawData(const XPTCoordinate coordinate) { + uint16_t data[3]; + + DataTransferBegin(); + TERN_(TOUCH_BUTTONS_HW_SPI, SPIx.begin()); + + for (uint16_t i = 0; i < 3 ; i++) { + IO(coordinate); + data[i] = (IO() << 4) | (IO() >> 4); + } + + TERN_(TOUCH_BUTTONS_HW_SPI, SPIx.end()); + DataTransferEnd(); + + uint16_t delta01 = delta(data[0], data[1]), + delta02 = delta(data[0], data[2]), + delta12 = delta(data[1], data[2]); + + if (delta01 > delta02 || delta01 > delta12) + data[delta02 > delta12 ? 0 : 1] = data[2]; + + return (data[0] + data[1]) >> 1; +} + +uint16_t XPT2046::IO(uint16_t data) { + return TERN(TOUCH_BUTTONS_HW_SPI, HardwareIO, SoftwareIO)(data); +} + +#if ENABLED(TOUCH_BUTTONS_HW_SPI) + uint16_t XPT2046::HardwareIO(uint16_t data) { + uint16_t result = SPIx.transfer(data); + return result; + } +#endif + +uint16_t XPT2046::SoftwareIO(uint16_t data) { + uint16_t result = 0; + + for (uint8_t j = 0x80; j; j >>= 1) { + WRITE(TOUCH_SCK_PIN, LOW); + WRITE(TOUCH_MOSI_PIN, data & j ? HIGH : LOW); + if (READ(TOUCH_MISO_PIN)) result |= j; + WRITE(TOUCH_SCK_PIN, HIGH); + } + WRITE(TOUCH_SCK_PIN, LOW); + + return result; +} + +#endif // HAS_TFT_XPT2046 diff --git a/Marlin/src/HAL/STM32F1/tft/xpt2046.h b/Marlin/src/HAL/STM32F1/tft/xpt2046.h new file mode 100644 index 000000000000..019f75efce12 --- /dev/null +++ b/Marlin/src/HAL/STM32F1/tft/xpt2046.h @@ -0,0 +1,80 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#include "../../../inc/MarlinConfig.h" + +#if ENABLED(TOUCH_BUTTONS_HW_SPI) + #include +#endif + +#ifndef TOUCH_MISO_PIN + #define TOUCH_MISO_PIN MISO_PIN +#endif +#ifndef TOUCH_MOSI_PIN + #define TOUCH_MOSI_PIN MOSI_PIN +#endif +#ifndef TOUCH_SCK_PIN + #define TOUCH_SCK_PIN SCK_PIN +#endif +#ifndef TOUCH_CS_PIN + #define TOUCH_CS_PIN CS_PIN +#endif +#ifndef TOUCH_INT_PIN + #define TOUCH_INT_PIN -1 +#endif + +#define XPT2046_DFR_MODE 0x00 +#define XPT2046_SER_MODE 0x04 +#define XPT2046_CONTROL 0x80 + +enum XPTCoordinate : uint8_t { + XPT2046_X = 0x10 | XPT2046_CONTROL | XPT2046_DFR_MODE, + XPT2046_Y = 0x50 | XPT2046_CONTROL | XPT2046_DFR_MODE, + XPT2046_Z1 = 0x30 | XPT2046_CONTROL | XPT2046_DFR_MODE, + XPT2046_Z2 = 0x40 | XPT2046_CONTROL | XPT2046_DFR_MODE, +}; + +#if !defined(XPT2046_Z1_THRESHOLD) + #define XPT2046_Z1_THRESHOLD 10 +#endif + +class XPT2046 { +private: + static bool isBusy() { return false; } + + static uint16_t getRawData(const XPTCoordinate coordinate); + static bool isTouched(); + + static inline void DataTransferBegin() { WRITE(TOUCH_CS_PIN, LOW); }; + static inline void DataTransferEnd() { WRITE(TOUCH_CS_PIN, HIGH); }; + #if ENABLED(TOUCH_BUTTONS_HW_SPI) + static uint16_t HardwareIO(uint16_t data); + #endif + static uint16_t SoftwareIO(uint16_t data); + static uint16_t IO(uint16_t data = 0); + +public: + #if ENABLED(TOUCH_BUTTONS_HW_SPI) + static SPIClass SPIx; + #endif + + static void Init(); + static bool getRawPoint(int16_t *x, int16_t *y); +}; diff --git a/Marlin/src/HAL/STM32_F4_F7/STM32F7/TMC2660.cpp b/Marlin/src/HAL/STM32_F4_F7/STM32F7/TMC2660.cpp index b03045902935..4d116f440b8e 100644 --- a/Marlin/src/HAL/STM32_F4_F7/STM32F7/TMC2660.cpp +++ b/Marlin/src/HAL/STM32_F4_F7/STM32F7/TMC2660.cpp @@ -40,7 +40,7 @@ #include "../../../module/stepper/indirection.h" #include "../../../module/printcounter.h" #include "../../../libs/duration_t.h" -#include "../../../libs/hex_print_routines.h" +#include "../../../libs/hex_print.h" //some default values used in initialization #define DEFAULT_MICROSTEPPING_VALUE 32 diff --git a/Marlin/src/HAL/STM32_F4_F7/inc/Conditionals_LCD.h b/Marlin/src/HAL/STM32_F4_F7/inc/Conditionals_LCD.h index 5f1c4b16019d..a9f1b5822215 100644 --- a/Marlin/src/HAL/STM32_F4_F7/inc/Conditionals_LCD.h +++ b/Marlin/src/HAL/STM32_F4_F7/inc/Conditionals_LCD.h @@ -20,3 +20,7 @@ * */ #pragma once + +#if HAS_SPI_TFT || HAS_FSMC_TFT + #error "Sorry! TFT displays are not available for HAL/STM32F4_F7." +#endif diff --git a/Marlin/src/HAL/TEENSY31_32/inc/Conditionals_LCD.h b/Marlin/src/HAL/TEENSY31_32/inc/Conditionals_LCD.h index 5f1c4b16019d..54ec16664354 100644 --- a/Marlin/src/HAL/TEENSY31_32/inc/Conditionals_LCD.h +++ b/Marlin/src/HAL/TEENSY31_32/inc/Conditionals_LCD.h @@ -20,3 +20,7 @@ * */ #pragma once + +#if HAS_SPI_TFT || HAS_FSMC_TFT + #error "Sorry! TFT displays are not available for HAL/TEENSY31_32." +#endif diff --git a/Marlin/src/HAL/TEENSY35_36/inc/Conditionals_LCD.h b/Marlin/src/HAL/TEENSY35_36/inc/Conditionals_LCD.h index 5f1c4b16019d..632ee533acac 100644 --- a/Marlin/src/HAL/TEENSY35_36/inc/Conditionals_LCD.h +++ b/Marlin/src/HAL/TEENSY35_36/inc/Conditionals_LCD.h @@ -20,3 +20,7 @@ * */ #pragma once + +#if HAS_SPI_TFT || HAS_FSMC_TFT + #error "Sorry! TFT displays are not available for HAL/TEENSY35_36." +#endif diff --git a/Marlin/src/HAL/shared/backtrace/unwarmbytab.cpp b/Marlin/src/HAL/shared/backtrace/unwarmbytab.cpp index f524673ecd74..bfc062af2090 100644 --- a/Marlin/src/HAL/shared/backtrace/unwarmbytab.cpp +++ b/Marlin/src/HAL/shared/backtrace/unwarmbytab.cpp @@ -4,7 +4,7 @@ * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. + * file, You can obtain one at https://www.mozilla.org/en-US/MPL/2.0/ * * This library was modified, some bugs fixed, stack address validated * and adapted to be used in Marlin 3D printer firmware as backtracer diff --git a/Marlin/src/MarlinCore.cpp b/Marlin/src/MarlinCore.cpp index 00ea51b058ea..e703eaf8d999 100644 --- a/Marlin/src/MarlinCore.cpp +++ b/Marlin/src/MarlinCore.cpp @@ -30,6 +30,10 @@ #include "MarlinCore.h" +#if ENABLED(MARLIN_DEV_MODE) + #warning "WARNING! Disable MARLIN_DEV_MODE for the final build!" +#endif + #include "HAL/shared/Delay.h" #include "HAL/shared/esp_wifi.h" @@ -39,26 +43,27 @@ #include #include "core/utility.h" -#include "lcd/ultralcd.h" #include "module/motion.h" #include "module/planner.h" -#include "module/stepper.h" #include "module/endstops.h" -#include "module/probe.h" #include "module/temperature.h" -#include "sd/cardreader.h" -#include "module/configuration_store.h" +#include "module/settings.h" #include "module/printcounter.h" // PrintCounter or Stopwatch -#include "feature/closedloop.h" +#include "module/stepper.h" #include "module/stepper/indirection.h" -#include "libs/nozzle.h" - #include "gcode/gcode.h" #include "gcode/parser.h" #include "gcode/queue.h" +#include "sd/cardreader.h" + +#include "lcd/ultralcd.h" +#if HAS_TOUCH_XPT2046 + #include "lcd/touch/touch_buttons.h" +#endif + #if HAS_TFT_LVGL_UI #include "lcd/extui/lib/mks_ui/tft_lvgl_configuration.h" #include "lcd/extui/lib/mks_ui/draw_ui.h" @@ -80,10 +85,6 @@ #include "feature/direct_stepping.h" #endif -#if ENABLED(TOUCH_BUTTONS) - #include "feature/touch/xpt2046.h" -#endif - #if ENABLED(HOST_ACTION_COMMANDS) #include "feature/host_actions.h" #endif @@ -92,6 +93,10 @@ #include "libs/buzzer.h" #endif +#if ENABLED(EXTERNAL_CLOSED_LOOP_CONTROLLER) + #include "feature/closedloop.h" +#endif + #if HAS_I2C_DIGIPOT #include "feature/digipot/digipot.h" #endif @@ -176,6 +181,10 @@ #include "feature/runout.h" #endif +#if HAS_Z_SERVO_PROBE + #include "module/probe.h" +#endif + #if ENABLED(HOTEND_IDLE_TIMEOUT) #include "feature/hotend_idle.h" #endif @@ -184,7 +193,7 @@ #include "feature/leds/tempstat.h" #endif -#if HAS_CASE_LIGHT +#if ENABLED(CASE_LIGHT_ENABLE) #include "feature/caselight.h" #endif @@ -208,6 +217,10 @@ #include "libs/L64XX/L64XX_Marlin.h" #endif +#if ENABLED(PASSWORD_FEATURE) + #include "feature/password/password.h" +#endif + PGMSTR(NUL_STR, ""); PGMSTR(M112_KILL_STR, "M112 Shutdown"); PGMSTR(G28_STR, "G28"); @@ -444,14 +457,18 @@ void startOrResumeJob() { #endif wait_for_heatup = false; TERN_(POWER_LOSS_RECOVERY, recovery.purge()); - #ifdef EVENT_GCODE_SD_STOP - queue.inject_P(PSTR(EVENT_GCODE_SD_STOP)); + #ifdef EVENT_GCODE_SD_ABORT + queue.inject_P(PSTR(EVENT_GCODE_SD_ABORT)); #endif + + TERN_(PASSWORD_AFTER_SD_PRINT_ABORT, password.lock_machine()); } inline void finishSDPrinting() { - if (queue.enqueue_one_P(PSTR("M1001"))) + if (queue.enqueue_one_P(PSTR("M1001"))) { marlin_state = MF_RUNNING; + TERN_(PASSWORD_AFTER_SD_PRINT_END, password.lock_machine()); + } } #endif // SDSUPPORT @@ -671,7 +688,7 @@ inline void manage_inactivity(const bool ignore_stepper_queue=false) { * - Read Buttons and Update the LCD * - Run i2c Position Encoders * - Auto-report Temperatures / SD Status - * - Update the Prusa MMU2 + * - Update the Průša MMU2 * - Handle Joystick jogging */ void idle(TERN_(ADVANCED_PAUSE_FEATURE, bool no_stepper_sleep/*=false*/)) { @@ -747,7 +764,7 @@ void idle(TERN_(ADVANCED_PAUSE_FEATURE, bool no_stepper_sleep/*=false*/)) { } #endif - // Update the Prusa MMU2 + // Update the Průša MMU2 TERN_(PRUSA_MMU2, mmu2.mmu_loop()); // Handle Joystick jogging @@ -909,7 +926,7 @@ void setup() { SETUP_RUN(L64xxManager.init()); // Set up SPI, init drivers #endif - #if ENABLED(SMART_EFFECTOR) && PIN_EXISTS(SMART_EFFECTOR_MOD) + #if ENABLED(DUET_SMART_EFFECTOR) && PIN_EXISTS(SMART_EFFECTOR_MOD) OUT_WRITE(SMART_EFFECTOR_MOD_PIN, LOW); // Put Smart Effector into NORMAL mode #endif @@ -978,6 +995,10 @@ void setup() { SETUP_RUN(leds.setup()); #endif + #if ENABLED(NEOPIXEL2_SEPARATE) + SETUP_RUN(leds2.setup()); + #endif + #if ENABLED(USE_CONTROLLER_FAN) // Set up fan controller to initialize also the default configurations. SETUP_RUN(controllerFan.setup()); #endif @@ -1006,7 +1027,7 @@ void setup() { SETUP_RUN(settings.first_load()); // Load data from EEPROM if available (or use defaults) // This also updates variables in the planner, elsewhere - #if ENABLED(TOUCH_BUTTONS) + #if HAS_TOUCH_XPT2046 SETUP_RUN(touch.init()); #endif @@ -1077,11 +1098,11 @@ void setup() { OUT_WRITE(STAT_LED_BLUE_PIN, LOW); // OFF #endif - #if HAS_CASE_LIGHT + #if ENABLED(CASE_LIGHT_ENABLE) #if DISABLED(CASE_LIGHT_USE_NEOPIXEL) if (PWM_PIN(CASE_LIGHT_PIN)) SET_PWM(CASE_LIGHT_PIN); else SET_OUTPUT(CASE_LIGHT_PIN); #endif - SETUP_RUN(update_case_light()); + SETUP_RUN(caselight.update_brightness()); #endif #if ENABLED(MK2_MULTIPLEXER) @@ -1194,10 +1215,16 @@ void setup() { #endif #if HAS_TFT_LVGL_UI - if (!card.isMounted()) SETUP_RUN(card.mount()); // Mount SD to load graphics and fonts + #if ENABLED(SDSUPPORT) + if (!card.isMounted()) SETUP_RUN(card.mount()); // Mount SD to load graphics and fonts + #endif SETUP_RUN(tft_lvgl_init()); #endif + #if ENABLED(PASSWORD_ON_STARTUP) + SETUP_RUN(password.lock_machine()); // Will not proceed until correct password provided + #endif + marlin_state = MF_RUNNING; SETUP_LOG("setup() completed."); diff --git a/Marlin/src/MarlinCore.h b/Marlin/src/MarlinCore.h index 81041c8ee62f..69afc7f30e88 100644 --- a/Marlin/src/MarlinCore.h +++ b/Marlin/src/MarlinCore.h @@ -89,8 +89,8 @@ extern bool wait_for_heatup; #if ENABLED(PSU_CONTROL) extern bool powersupply_on; - #define PSU_PIN_ON() do{ OUT_WRITE(PS_ON_PIN, PSU_ACTIVE_HIGH); powersupply_on = true; }while(0) - #define PSU_PIN_OFF() do{ OUT_WRITE(PS_ON_PIN, !PSU_ACTIVE_HIGH); powersupply_on = false; }while(0) + #define PSU_PIN_ON() do{ OUT_WRITE(PS_ON_PIN, PSU_ACTIVE_STATE); powersupply_on = true; }while(0) + #define PSU_PIN_OFF() do{ OUT_WRITE(PS_ON_PIN, !PSU_ACTIVE_STATE); powersupply_on = false; }while(0) #if ENABLED(AUTO_POWER_CONTROL) #define PSU_ON() powerManager.power_on() #define PSU_OFF() powerManager.power_off() diff --git a/Marlin/src/core/boards.h b/Marlin/src/core/boards.h index 6e57a43747f0..c880b3d3256a 100644 --- a/Marlin/src/core/boards.h +++ b/Marlin/src/core/boards.h @@ -171,6 +171,7 @@ #define BOARD_STB_11 1508 // STB V1.1 #define BOARD_AZTEEG_X1 1509 // Azteeg X1 #define BOARD_ANET_10 1510 // Anet 1.0 (Melzi clone) +#define BOARD_ZMIB_V2 1511 // ZoneStar ZMIB V2 // // Other ATmega644P, ATmega644, ATmega1284P @@ -312,7 +313,8 @@ #define BOARD_CHITU3D_V5 4031 // Chitu3D TronXY X5SA V5 Board #define BOARD_CHITU3D_V6 4032 // Chitu3D TronXY X5SA V5 Board #define BOARD_CREALITY_V4 4033 // Creality v4.x (STM32F103RE) -#define BOARD_TRIGORILLA_PRO 4034 // Trigorilla Pro (STM32F103ZET6) +#define BOARD_CREALITY_V427 4034 // Creality v4.2.7 (STM32F103RE) +#define BOARD_TRIGORILLA_PRO 4035 // Trigorilla Pro (STM32F103ZET6) // // ARM Cortex-M4F @@ -343,8 +345,9 @@ #define BOARD_LERDGE_X 4215 // Lerdge X (STM32F407VE) #define BOARD_VAKE403D 4216 // VAkE 403D (STM32F446VET6) #define BOARD_FYSETC_S6 4217 // FYSETC S6 board -#define BOARD_FLYF407ZG 4218 // FLYF407ZG board (STM32F407ZG) -#define BOARD_MKS_ROBIN2 4219 // MKS_ROBIN2 (STM32F407ZE) +#define BOARD_FYSETC_S6_V2_0 4218 // FYSETC S6 v2.0 board +#define BOARD_FLYF407ZG 4219 // FLYF407ZG board (STM32F407ZG) +#define BOARD_MKS_ROBIN2 4220 // MKS_ROBIN2 (STM32F407ZE) // // ARM Cortex M7 @@ -366,6 +369,11 @@ // #define BOARD_AGCM4_RAMPS_144 6100 // RAMPS 1.4.4 +// +// Custom board +// +#define BOARD_CUSTOM 9998 // Custom pins definition for development and/or rare boards + // // Simulations // diff --git a/Marlin/src/core/language.h b/Marlin/src/core/language.h index 5208b3e1bfb6..f0ddbdd6d096 100644 --- a/Marlin/src/core/language.h +++ b/Marlin/src/core/language.h @@ -266,6 +266,13 @@ #define STR_DEBUG_COMMUNICATION "COMMUNICATION" #define STR_DEBUG_LEVELING "LEVELING" +#define STR_PRINTER_LOCKED "Printer locked! (Unlock with M511 or LCD)" +#define STR_WRONG_PASSWORD "Incorrect Password" +#define STR_PASSWORD_TOO_LONG "Password too long" +#define STR_PASSWORD_REMOVED "Password removed" +#define STR_REMINDER_SAVE_SETTINGS "Remember to save!" +#define STR_PASSWORD_SET "Password is " + // LCD Menu Messages #define LANGUAGE_DATA_INCL_(M) STRINGIFY_(fontdata/langdata_##M.h) @@ -346,7 +353,7 @@ * */ #if ENABLED(NUMBER_TOOLS_FROM_0) - #define LCD_FIRST_TOOL '0' + #define LCD_FIRST_TOOL 0 #define LCD_STR_N0 "0" #define LCD_STR_N1 "1" #define LCD_STR_N2 "2" @@ -356,7 +363,7 @@ #define LCD_STR_N6 "6" #define LCD_STR_N7 "7" #else - #define LCD_FIRST_TOOL '1' + #define LCD_FIRST_TOOL 1 #define LCD_STR_N0 "1" #define LCD_STR_N1 "2" #define LCD_STR_N2 "3" diff --git a/Marlin/src/core/macros.h b/Marlin/src/core/macros.h index 3bd273872aa7..5fc1081019b5 100644 --- a/Marlin/src/core/macros.h +++ b/Marlin/src/core/macros.h @@ -342,15 +342,22 @@ #endif // Macros for adding -#define INC_0 1 -#define INC_1 2 -#define INC_2 3 -#define INC_3 4 -#define INC_4 5 -#define INC_5 6 -#define INC_6 7 -#define INC_7 8 -#define INC_8 9 +#define INC_0 1 +#define INC_1 2 +#define INC_2 3 +#define INC_3 4 +#define INC_4 5 +#define INC_5 6 +#define INC_6 7 +#define INC_7 8 +#define INC_8 9 +#define INC_9 10 +#define INC_10 11 +#define INC_11 12 +#define INC_12 13 +#define INC_13 14 +#define INC_14 15 +#define INC_15 16 #define INCREMENT_(n) INC_##n #define INCREMENT(n) INCREMENT_(n) @@ -367,16 +374,22 @@ #define ADD10(N) ADD5(ADD5(N)) // Macros for subtracting -#define DEC_0 0 -#define DEC_1 0 -#define DEC_2 1 -#define DEC_3 2 -#define DEC_4 3 -#define DEC_5 4 -#define DEC_6 5 -#define DEC_7 6 -#define DEC_8 7 -#define DEC_9 8 +#define DEC_0 0 +#define DEC_1 0 +#define DEC_2 1 +#define DEC_3 2 +#define DEC_4 3 +#define DEC_5 4 +#define DEC_6 5 +#define DEC_7 6 +#define DEC_8 7 +#define DEC_9 8 +#define DEC_10 9 +#define DEC_11 10 +#define DEC_12 11 +#define DEC_13 12 +#define DEC_14 13 +#define DEC_15 14 #define DECREMENT_(n) DEC_##n #define DECREMENT(n) DECREMENT_(n) diff --git a/Marlin/src/core/multi_language.cpp b/Marlin/src/core/multi_language.cpp deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/Marlin/src/feature/babystep.cpp b/Marlin/src/feature/babystep.cpp index 41d0a9cb1e91..b07688146110 100644 --- a/Marlin/src/feature/babystep.cpp +++ b/Marlin/src/feature/babystep.cpp @@ -26,7 +26,8 @@ #include "babystep.h" #include "../MarlinCore.h" -#include "../module/planner.h" +#include "../module/motion.h" // for axes_should_home() +#include "../module/planner.h" // for axis_steps_per_mm[] #include "../module/stepper.h" #if ENABLED(BABYSTEP_ALWAYS_AVAILABLE) @@ -54,7 +55,7 @@ void Babystep::add_mm(const AxisEnum axis, const float &mm) { } void Babystep::add_steps(const AxisEnum axis, const int16_t distance) { - if (DISABLED(BABYSTEP_WITHOUT_HOMING) && !TEST(axis_known_position, axis)) return; + if (DISABLED(BABYSTEP_WITHOUT_HOMING) && axes_should_home(_BV(axis))) return; accum += distance; // Count up babysteps for the UI steps[BS_AXIS_IND(axis)] += distance; diff --git a/Marlin/src/feature/bedlevel/ubl/ubl.cpp b/Marlin/src/feature/bedlevel/ubl/ubl.cpp index 63b44823448b..809caecf49ea 100644 --- a/Marlin/src/feature/bedlevel/ubl/ubl.cpp +++ b/Marlin/src/feature/bedlevel/ubl/ubl.cpp @@ -31,7 +31,7 @@ #include "../../../MarlinCore.h" #include "../../../gcode/gcode.h" - #include "../../../module/configuration_store.h" + #include "../../../module/settings.h" #include "../../../module/planner.h" #include "../../../module/motion.h" #include "../../../module/probe.h" diff --git a/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp b/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp index f8219ac7e7d7..d13a8c3dc455 100644 --- a/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp +++ b/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp @@ -28,8 +28,8 @@ #include "../../../MarlinCore.h" #include "../../../HAL/shared/eeprom_api.h" - #include "../../../libs/hex_print_routines.h" - #include "../../../module/configuration_store.h" + #include "../../../libs/hex_print.h" + #include "../../../module/settings.h" #include "../../../lcd/ultralcd.h" #include "../../../module/stepper.h" #include "../../../module/planner.h" @@ -321,7 +321,7 @@ // Check for commands that require the printer to be homed if (may_move) { planner.synchronize(); - if (axes_need_homing()) gcode.home_all_axes(); + if (axes_should_home()) gcode.home_all_axes(); TERN_(HAS_MULTI_HOTEND, if (active_extruder) tool_change(0)); } diff --git a/Marlin/src/feature/binary_protocol.cpp b/Marlin/src/feature/binary_stream.cpp similarity index 95% rename from Marlin/src/feature/binary_protocol.cpp rename to Marlin/src/feature/binary_stream.cpp index 5884a05f427e..81e110339bda 100644 --- a/Marlin/src/feature/binary_protocol.cpp +++ b/Marlin/src/feature/binary_stream.cpp @@ -25,7 +25,7 @@ #if ENABLED(BINARY_FILE_TRANSFER) #include "../sd/cardreader.h" -#include "binary_protocol.h" +#include "binary_stream.h" char* SDFileTransferProtocol::Packet::Open::data = nullptr; size_t SDFileTransferProtocol::data_waiting, SDFileTransferProtocol::transfer_timeout, SDFileTransferProtocol::idle_timeout; @@ -33,4 +33,4 @@ bool SDFileTransferProtocol::transfer_active, SDFileTransferProtocol::dummy_tran BinaryStream binaryStream[NUM_SERIAL]; -#endif // BINARY_FILE_TRANSFER +#endif diff --git a/Marlin/src/feature/binary_protocol.h b/Marlin/src/feature/binary_stream.h similarity index 100% rename from Marlin/src/feature/binary_protocol.h rename to Marlin/src/feature/binary_stream.h diff --git a/Marlin/src/feature/caselight.cpp b/Marlin/src/feature/caselight.cpp index 4287a0f26242..8a128bb12def 100644 --- a/Marlin/src/feature/caselight.cpp +++ b/Marlin/src/feature/caselight.cpp @@ -22,14 +22,17 @@ #include "../inc/MarlinConfig.h" -#if HAS_CASE_LIGHT +#if ENABLED(CASE_LIGHT_ENABLE) -uint8_t case_light_brightness = CASE_LIGHT_DEFAULT_BRIGHTNESS; -bool case_light_on = CASE_LIGHT_DEFAULT_ON; +#include "caselight.h" + +CaseLight caselight; + +uint8_t CaseLight::brightness = CASE_LIGHT_DEFAULT_BRIGHTNESS; +bool CaseLight::on = CASE_LIGHT_DEFAULT_ON; #if ENABLED(CASE_LIGHT_USE_NEOPIXEL) - #include "leds/leds.h" - LEDColor case_light_color = + LEDColor CaseLight::color = #ifdef CASE_LIGHT_NEOPIXEL_COLOR CASE_LIGHT_NEOPIXEL_COLOR #else @@ -38,34 +41,33 @@ bool case_light_on = CASE_LIGHT_DEFAULT_ON; ; #endif -/** - * The following are needed because ARM chips ignore a "WRITE(CASE_LIGHT_PIN,x)" command to the pins that - * are directly controlled by the PWM module. In order to turn them off the brightness level needs to be - * set to off. Since we can't use the pwm register to save the last brightness level we need a variable - * to save it. - */ -uint8_t case_light_brightness_sav; // saves brighness info so can restore when "M355 S1" received -bool case_light_arg_flag; // flag to notify if S or P argument type - #ifndef INVERT_CASE_LIGHT #define INVERT_CASE_LIGHT false #endif -void update_case_light() { +void CaseLight::update(const bool sflag) { + /** + * The brightness_sav (and sflag) is needed because ARM chips ignore + * a "WRITE(CASE_LIGHT_PIN,x)" command to the pins that are directly + * controlled by the PWM module. In order to turn them off the brightness + * level needs to be set to OFF. Since we can't use the PWM register to + * save the last brightness level we need a variable to save it. + */ + static uint8_t brightness_sav; // Save brightness info for restore on "M355 S1" - if (!(case_light_arg_flag && !case_light_on)) - case_light_brightness_sav = case_light_brightness; // save brightness except if this is an S0 argument - if (case_light_arg_flag && case_light_on) - case_light_brightness = case_light_brightness_sav; // restore last brightens if this is an S1 argument + if (on || !sflag) + brightness_sav = brightness; // Save brightness except for M355 S0 + if (sflag && on) + brightness = brightness_sav; // Restore last brightness for M355 S1 #if ENABLED(CASE_LIGHT_USE_NEOPIXEL) || DISABLED(CASE_LIGHT_NO_BRIGHTNESS) - const uint8_t i = case_light_on ? case_light_brightness : 0, n10ct = INVERT_CASE_LIGHT ? 255 - i : i; + const uint8_t i = on ? brightness : 0, n10ct = INVERT_CASE_LIGHT ? 255 - i : i; #endif #if ENABLED(CASE_LIGHT_USE_NEOPIXEL) leds.set_color( - MakeLEDColor(case_light_color.r, case_light_color.g, case_light_color.b, case_light_color.w, n10ct), + MakeLEDColor(color.r, color.g, color.b, color.w, n10ct), false ); @@ -83,11 +85,11 @@ void update_case_light() { else #endif { - const bool s = case_light_on ? !INVERT_CASE_LIGHT : INVERT_CASE_LIGHT; + const bool s = on ? !INVERT_CASE_LIGHT : INVERT_CASE_LIGHT; WRITE(CASE_LIGHT_PIN, s ? HIGH : LOW); } #endif // !CASE_LIGHT_USE_NEOPIXEL } -#endif // HAS_CASE_LIGHT +#endif // CASE_LIGHT_ENABLE diff --git a/Marlin/src/feature/caselight.h b/Marlin/src/feature/caselight.h index ff01b1a67da3..9d1e76da26ba 100644 --- a/Marlin/src/feature/caselight.h +++ b/Marlin/src/feature/caselight.h @@ -21,9 +21,25 @@ */ #pragma once -extern uint8_t case_light_brightness; -extern bool case_light_on; -extern uint8_t case_light_brightness_sav; // saves brighness info when case_light_on is false -extern bool case_light_arg_flag; // flag to notify if S or P argument type +#include "../inc/MarlinConfigPre.h" -void update_case_light(); +#if ENABLED(CASE_LIGHT_USE_NEOPIXEL) + #include "leds/leds.h" +#endif + +class CaseLight { +public: + static uint8_t brightness; + static bool on; + + static void update(const bool sflag); + static inline void update_brightness() { update(false); } + static inline void update_enabled() { update(true); } + +private: + #if ENABLED(CASE_LIGHT_USE_NEOPIXEL) + static LEDColor color; + #endif +}; + +extern CaseLight caselight; diff --git a/Marlin/src/feature/dac/dac_mcp4728.cpp b/Marlin/src/feature/dac/dac_mcp4728.cpp index 4976b3690729..55f10a49ef70 100644 --- a/Marlin/src/feature/dac/dac_mcp4728.cpp +++ b/Marlin/src/feature/dac/dac_mcp4728.cpp @@ -27,7 +27,7 @@ * https://ww1.microchip.com/downloads/en/DeviceDoc/22187a.pdf * * For discussion and feedback, please go to: - * https://arduino.cc/forum/index.php/topic,51842.0.html + * https://forum.arduino.cc/index.php/topic,51842.0.html */ #include "../../inc/MarlinConfig.h" diff --git a/Marlin/src/feature/direct_stepping.cpp b/Marlin/src/feature/direct_stepping.cpp index d3bdb43ab3cd..9766d1464053 100644 --- a/Marlin/src/feature/direct_stepping.cpp +++ b/Marlin/src/feature/direct_stepping.cpp @@ -56,9 +56,6 @@ namespace DirectStepping { template volatile bool SerialPageManager::page_states_dirty; - template - millis_t SerialPageManager::next_response; - template uint8_t SerialPageManager::pages[Cfg::NUM_PAGES][Cfg::PAGE_SIZE]; @@ -80,7 +77,6 @@ namespace DirectStepping { page_states[i] = PageState::FREE; fatal_error = false; - next_response = 0; state = State::NEWLINE; page_states_dirty = false; @@ -181,15 +177,8 @@ namespace DirectStepping { return; } - // Runs on a set interval also, as responses may get lost. - if (next_response && next_response < millis()) { - page_states_dirty = true; - } - if (!page_states_dirty) return; - page_states_dirty = false; - next_response = millis() + Cfg::RESPONSE_INTERVAL_MS; SERIAL_ECHO(Cfg::CONTROL_CHAR); constexpr int state_bits = 2; @@ -238,29 +227,29 @@ const uint8_t segment_table[DirectStepping::Config::NUM_SEGMENTS][DirectStepping #if STEPPER_PAGE_FORMAT == SP_4x4D_128 - { 1, 1, 1, 1, 1, 1, 1, 0 }, // 0 = -7 - { 1, 1, 1, 0, 1, 1, 1, 0 }, // 1 = -6 - { 0, 1, 1, 0, 1, 0, 1, 1 }, // 2 = -5 - { 0, 1, 0, 1, 0, 1, 0, 1 }, // 3 = -4 - { 0, 1, 0, 0, 1, 0, 0, 1 }, // 4 = -3 - { 0, 0, 1, 0, 0, 0, 1, 0 }, // 5 = -2 - { 0, 0, 0, 0, 1, 0, 0, 0 }, // 6 = -1 - { 0, 0, 0, 0, 0, 0, 0, 0 }, // 7 = 0 - { 0, 0, 0, 0, 1, 0, 0, 0 }, // 8 = 1 - { 0, 0, 1, 0, 0, 0, 1, 0 }, // 9 = 2 - { 0, 1, 0, 0, 1, 0, 0, 1 }, // 10 = 3 - { 0, 1, 0, 1, 0, 1, 0, 1 }, // 11 = 4 - { 0, 1, 1, 0, 1, 0, 1, 1 }, // 12 = 5 - { 1, 1, 1, 0, 1, 1, 1, 0 }, // 13 = 6 - { 1, 1, 1, 1, 1, 1, 1, 0 }, // 14 = 7 + { 1, 1, 1, 1, 1, 1, 1 }, // 0 = -7 + { 1, 1, 1, 0, 1, 1, 1 }, // 1 = -6 + { 1, 1, 1, 0, 1, 0, 1 }, // 2 = -5 + { 1, 1, 0, 1, 0, 1, 0 }, // 3 = -4 + { 1, 1, 0, 0, 1, 0, 0 }, // 4 = -3 + { 0, 0, 1, 0, 0, 0, 1 }, // 5 = -2 + { 0, 0, 0, 1, 0, 0, 0 }, // 6 = -1 + { 0, 0, 0, 0, 0, 0, 0 }, // 7 = 0 + { 0, 0, 0, 1, 0, 0, 0 }, // 8 = 1 + { 0, 0, 1, 0, 0, 0, 1 }, // 9 = 2 + { 1, 1, 0, 0, 1, 0, 0 }, // 10 = 3 + { 1, 1, 0, 1, 0, 1, 0 }, // 11 = 4 + { 1, 1, 1, 0, 1, 0, 1 }, // 12 = 5 + { 1, 1, 1, 0, 1, 1, 1 }, // 13 = 6 + { 1, 1, 1, 1, 1, 1, 1 }, // 14 = 7 { 0 } #elif STEPPER_PAGE_FORMAT == SP_4x2_256 - { 0, 0, 0, 0 }, // 0 - { 0, 1, 0, 0 }, // 1 - { 1, 0, 1, 0 }, // 2 - { 1, 1, 1, 0 }, // 3 + { 0, 0, 0 }, // 0 + { 0, 1, 0 }, // 1 + { 1, 0, 1 }, // 2 + { 1, 1, 1 }, // 3 #elif STEPPER_PAGE_FORMAT == SP_4x1_512 diff --git a/Marlin/src/feature/direct_stepping.h b/Marlin/src/feature/direct_stepping.h index dea2616508d2..cde9d1a0b438 100644 --- a/Marlin/src/feature/direct_stepping.h +++ b/Marlin/src/feature/direct_stepping.h @@ -70,7 +70,6 @@ namespace DirectStepping { static volatile PageState page_states[Cfg::NUM_PAGES]; static volatile bool page_states_dirty; - static millis_t next_response; static uint8_t pages[Cfg::NUM_PAGES][Cfg::PAGE_SIZE]; static uint8_t checksum; @@ -94,14 +93,11 @@ namespace DirectStepping { static constexpr int DIRECTIONAL = dir ? 1 : 0; static constexpr int SEGMENTS = segments; - static constexpr int RAW = (BITS_SEGMENT == 1) ? 1 : 0; static constexpr int NUM_SEGMENTS = 1 << BITS_SEGMENT; - static constexpr int SEGMENT_STEPS = 1 << (BITS_SEGMENT - DIRECTIONAL - RAW); + static constexpr int SEGMENT_STEPS = (1 << (BITS_SEGMENT - DIRECTIONAL)) - 1; static constexpr int TOTAL_STEPS = SEGMENT_STEPS * SEGMENTS; static constexpr int PAGE_SIZE = (NUM_AXES * BITS_SEGMENT * SEGMENTS) / 8; - static constexpr millis_t RESPONSE_INTERVAL_MS = 50; - typedef typename TypeSelector<(PAGE_SIZE>256), uint16_t, uint8_t>::type write_byte_idx_t; typedef typename TypeSelector<(NUM_PAGES>256), uint16_t, uint8_t>::type page_idx_t; }; diff --git a/Marlin/src/feature/e_parser.cpp b/Marlin/src/feature/e_parser.cpp index 85b1845a6451..a4c2d0dac92c 100644 --- a/Marlin/src/feature/e_parser.cpp +++ b/Marlin/src/feature/e_parser.cpp @@ -21,7 +21,7 @@ */ /** - * emergency_parser.cpp - Intercept special commands directly in the serial stream + * e_parser.cpp - Intercept special commands directly in the serial stream */ #include "../inc/MarlinConfigPre.h" diff --git a/Marlin/src/feature/e_parser.h b/Marlin/src/feature/e_parser.h index 73e459680edf..8d11463ecdc2 100644 --- a/Marlin/src/feature/e_parser.h +++ b/Marlin/src/feature/e_parser.h @@ -22,7 +22,7 @@ #pragma once /** - * emergency_parser.h - Intercept special commands directly in the serial stream + * e_parser.h - Intercept special commands directly in the serial stream */ #include "../inc/MarlinConfigPre.h" diff --git a/Marlin/src/feature/leds/leds.cpp b/Marlin/src/feature/leds/leds.cpp index eec0cde630da..01bca809260e 100644 --- a/Marlin/src/feature/leds/leds.cpp +++ b/Marlin/src/feature/leds/leds.cpp @@ -44,11 +44,8 @@ #if ENABLED(LED_COLOR_PRESETS) const LEDColor LEDLights::defaultLEDColor = MakeLEDColor( - LED_USER_PRESET_RED, - LED_USER_PRESET_GREEN, - LED_USER_PRESET_BLUE, - LED_USER_PRESET_WHITE, - LED_USER_PRESET_BRIGHTNESS + LED_USER_PRESET_RED, LED_USER_PRESET_GREEN, LED_USER_PRESET_BLUE, + LED_USER_PRESET_WHITE, LED_USER_PRESET_BRIGHTNESS ); #endif @@ -117,24 +114,22 @@ void LEDLights::set_color(const LEDColor &incol // This variant uses 3-4 separate pins for the RGB(W) components. // If the pins can do PWM then their intensity will be set. - #define UPDATE_RGBW(C,c) do { if (PWM_PIN(RGB_LED_##C##_PIN)) \ + #define UPDATE_RGBW(C,c) do { \ + if (PWM_PIN(RGB_LED_##C##_PIN)) \ analogWrite(pin_t(RGB_LED_##C##_PIN), incol.c); \ - else WRITE(RGB_LED_##C##_PIN, incol.c ? HIGH : LOW); }while(0) - UPDATE_RGBW(R,r); - UPDATE_RGBW(G,g); - UPDATE_RGBW(B,b); + else \ + WRITE(RGB_LED_##C##_PIN, incol.c ? HIGH : LOW); \ + }while(0) + UPDATE_RGBW(R,r); UPDATE_RGBW(G,g); UPDATE_RGBW(B,b); #if ENABLED(RGBW_LED) UPDATE_RGBW(W,w); #endif #endif - #if ENABLED(PCA9632) - // Update I2C LED driver - pca9632_set_led_color(incol); - #endif - - TERN_(PCA9533, PCA9533_setColor(incol.r, incol.g, incol.b)); + // Update I2C LED driver + TERN_(PCA9632, PCA9632_set_led_color(incol)); + TERN_(PCA9533, PCA9533_set_rgb(incol.r, incol.g, incol.b)); #if EITHER(LED_CONTROL_MENU, PRINTER_EVENT_LEDS) // Don't update the color when OFF @@ -161,4 +156,35 @@ void LEDLights::set_color(const LEDColor &incol #endif -#endif // HAS_COLOR_LEDS +#if ENABLED(NEOPIXEL2_SEPARATE) + + #if ENABLED(NEO2_COLOR_PRESETS) + const LEDColor LEDLights2::defaultLEDColor = MakeLEDColor( + NEO2_USER_PRESET_RED, NEO2_USER_PRESET_GREEN, NEO2_USER_PRESET_BLUE, + NEO2_USER_PRESET_WHITE, NEO2_USER_PRESET_BRIGHTNESS + ); + #endif + + #if ENABLED(LED_CONTROL_MENU) + LEDColor LEDLights2::color; + bool LEDLights2::lights_on; + #endif + + LEDLights2 leds2; + + void LEDLights2::setup() { + neo2.init(); + TERN_(NEO2_USER_PRESET_STARTUP, set_default()); + } + + void LEDLights2::set_color(const LEDColor &incol) { + const uint32_t neocolor = LEDColorWhite() == incol + ? neo2.Color(NEO2_WHITE) + : neo2.Color(incol.r, incol.g, incol.b, incol.w); + neo2.set_brightness(incol.i); + neo2.set_color(neocolor); + } + +#endif // NEOPIXEL2_SEPARATE + +#endif // HAS_COLOR_LEDS diff --git a/Marlin/src/feature/leds/leds.h b/Marlin/src/feature/leds/leds.h index 577c94752ffd..a13f960a3bb2 100644 --- a/Marlin/src/feature/leds/leds.h +++ b/Marlin/src/feature/leds/leds.h @@ -104,11 +104,7 @@ typedef struct LEDColor { bool operator!=(const LEDColor &right) { return !operator==(right); } bool is_off() const { - return 3 > r + g + b - #if HAS_WHITE_LED - + w - #endif - ; + return 3 > r + g + b + TERN0(HAS_WHITE_LED, w); } } LEDColor; @@ -156,14 +152,12 @@ class LEDLights { #endif ); - inline void set_color(uint8_t r, uint8_t g, uint8_t b + static inline void set_color(uint8_t r, uint8_t g, uint8_t b #if HAS_WHITE_LED , uint8_t w=0 - #if ENABLED(NEOPIXEL_LED) - , uint8_t i=NEOPIXEL_BRIGHTNESS - #endif #endif #if ENABLED(NEOPIXEL_LED) + , uint8_t i=NEOPIXEL_BRIGHTNESS , bool isSequence=false #endif ) { @@ -216,3 +210,44 @@ class LEDLights { }; extern LEDLights leds; + +#if ENABLED(NEOPIXEL2_SEPARATE) + + class LEDLights2 { + public: + LEDLights2() {} + + static void setup(); // init() + + static void set_color(const LEDColor &color); + + inline void set_color(uint8_t r, uint8_t g, uint8_t b, uint8_t w=0, uint8_t i=NEOPIXEL2_BRIGHTNESS) { + set_color(MakeLEDColor(r, g, b, w, i)); + } + + static inline void set_off() { set_color(LEDColorOff()); } + static inline void set_green() { set_color(LEDColorGreen()); } + static inline void set_white() { set_color(LEDColorWhite()); } + + #if ENABLED(NEO2_COLOR_PRESETS) + static const LEDColor defaultLEDColor; + static inline void set_default() { set_color(defaultLEDColor); } + static inline void set_red() { set_color(LEDColorRed()); } + static inline void set_orange() { set_color(LEDColorOrange()); } + static inline void set_yellow() { set_color(LEDColorYellow()); } + static inline void set_blue() { set_color(LEDColorBlue()); } + static inline void set_indigo() { set_color(LEDColorIndigo()); } + static inline void set_violet() { set_color(LEDColorViolet()); } + #endif + + #if ENABLED(LED_CONTROL_MENU) + static LEDColor color; // last non-off color + static bool lights_on; // the last set color was "on" + static void toggle(); // swap "off" with color + static inline void update() { set_color(color); } + #endif + }; + + extern LEDLights2 leds2; + +#endif // NEOPIXEL2_SEPARATE diff --git a/Marlin/src/feature/leds/neopixel.cpp b/Marlin/src/feature/leds/neopixel.cpp index 5d80cfe5d22a..27bbeb348c5d 100644 --- a/Marlin/src/feature/leds/neopixel.cpp +++ b/Marlin/src/feature/leds/neopixel.cpp @@ -30,7 +30,7 @@ #include "neopixel.h" -#if ENABLED(NEOPIXEL_STARTUP_TEST) +#if EITHER(NEOPIXEL_STARTUP_TEST, NEOPIXEL2_STARTUP_TEST) #include "../../core/utility.h" #endif @@ -38,7 +38,7 @@ Marlin_NeoPixel neo; int8_t Marlin_NeoPixel::neoindex; Adafruit_NeoPixel Marlin_NeoPixel::adaneo1(NEOPIXEL_PIXELS, NEOPIXEL_PIN, NEOPIXEL_TYPE + NEO_KHZ800) - #if MULTIPLE_NEOPIXEL_TYPES + #if CONJOINED_NEOPIXEL , Marlin_NeoPixel::adaneo2(NEOPIXEL_PIXELS, NEOPIXEL2_PIN, NEOPIXEL2_TYPE + NEO_KHZ800) #endif ; @@ -53,9 +53,9 @@ Adafruit_NeoPixel Marlin_NeoPixel::adaneo1(NEOPIXEL_PIXELS, NEOPIXEL_PIN, NEOPIX #endif void Marlin_NeoPixel::set_color(const uint32_t color) { - if (get_neo_index() >= 0) { - set_pixel_color(get_neo_index(), color); - set_neo_index(-1); + if (neoindex >= 0) { + set_pixel_color(neoindex, color); + neoindex = -1; } else { for (uint16_t i = 0; i < pixels(); ++i) { @@ -78,18 +78,18 @@ void Marlin_NeoPixel::set_color_startup(const uint32_t color) { } void Marlin_NeoPixel::init() { - set_neo_index(-1); // -1 .. NEOPIXEL_PIXELS-1 range + neoindex = -1; // -1 .. NEOPIXEL_PIXELS-1 range set_brightness(NEOPIXEL_BRIGHTNESS); // 0 .. 255 range begin(); show(); // initialize to all off #if ENABLED(NEOPIXEL_STARTUP_TEST) set_color_startup(adaneo1.Color(255, 0, 0, 0)); // red - safe_delay(1000); + safe_delay(500); set_color_startup(adaneo1.Color(0, 255, 0, 0)); // green - safe_delay(1000); + safe_delay(500); set_color_startup(adaneo1.Color(0, 0, 255, 0)); // blue - safe_delay(1000); + safe_delay(500); #endif #ifdef NEOPIXEL_BKGD_LED_INDEX @@ -120,4 +120,53 @@ bool Marlin_NeoPixel::set_led_color(const uint8_t r, const uint8_t g, const uint } #endif +#if ENABLED(NEOPIXEL2_SEPARATE) + + Marlin_NeoPixel2 neo2; + + int8_t Marlin_NeoPixel2::neoindex; + Adafruit_NeoPixel Marlin_NeoPixel2::adaneo(NEOPIXEL2_PIXELS, NEOPIXEL2_PIN, NEOPIXEL2_TYPE); + + void Marlin_NeoPixel2::set_color(const uint32_t color) { + if (neoindex >= 0) { + set_pixel_color(neoindex, color); + neoindex = -1; + } + else { + for (uint16_t i = 0; i < pixels(); ++i) + set_pixel_color(i, color); + } + show(); + } + + void Marlin_NeoPixel2::set_color_startup(const uint32_t color) { + for (uint16_t i = 0; i < pixels(); ++i) + set_pixel_color(i, color); + show(); + } + + void Marlin_NeoPixel2::init() { + neoindex = -1; // -1 .. NEOPIXEL2_PIXELS-1 range + set_brightness(NEOPIXEL2_BRIGHTNESS); // 0 .. 255 range + begin(); + show(); // initialize to all off + + #if ENABLED(NEOPIXEL2_STARTUP_TEST) + set_color_startup(adaneo.Color(255, 0, 0, 0)); // red + safe_delay(500); + set_color_startup(adaneo.Color(0, 255, 0, 0)); // green + safe_delay(500); + set_color_startup(adaneo.Color(0, 0, 255, 0)); // blue + safe_delay(500); + #endif + + #if ENABLED(NEO2_USER_PRESET_STARTUP) + set_color(adaneo.Color(NEO2_USER_PRESET_RED, NEO2_USER_PRESET_GREEN, NEO2_USER_PRESET_BLUE, NEO2_USER_PRESET_WHITE)); + #else + set_color(adaneo.Color(0, 0, 0, 0)); + #endif + } + +#endif // NEOPIXEL2_SEPARATE + #endif // NEOPIXEL_LED diff --git a/Marlin/src/feature/leds/neopixel.h b/Marlin/src/feature/leds/neopixel.h index 17057498d4d5..81a0a8b1c660 100644 --- a/Marlin/src/feature/leds/neopixel.h +++ b/Marlin/src/feature/leds/neopixel.h @@ -22,7 +22,7 @@ #pragma once /** - * Neopixel support + * NeoPixel support */ // ------------------------ @@ -38,10 +38,14 @@ // Defines // ------------------------ -#if defined(NEOPIXEL2_TYPE) && NEOPIXEL2_TYPE != NEOPIXEL_TYPE +#if defined(NEOPIXEL2_TYPE) && NEOPIXEL2_TYPE != NEOPIXEL_TYPE && DISABLED(NEOPIXEL2_SEPARATE) #define MULTIPLE_NEOPIXEL_TYPES 1 #endif +#if EITHER(MULTIPLE_NEOPIXEL_TYPES, NEOPIXEL2_INSERIES) + #define CONJOINED_NEOPIXEL 1 +#endif + #if NEOPIXEL_TYPE == NEO_RGB || NEOPIXEL_TYPE == NEO_RBG || NEOPIXEL_TYPE == NEO_GRB || NEOPIXEL_TYPE == NEO_GBR || NEOPIXEL_TYPE == NEO_BRG || NEOPIXEL_TYPE == NEO_BGR #define NEOPIXEL_IS_RGB 1 #else @@ -61,44 +65,49 @@ class Marlin_NeoPixel { private: static Adafruit_NeoPixel adaneo1 - #if MULTIPLE_NEOPIXEL_TYPES + #if CONJOINED_NEOPIXEL , adaneo2 #endif ; - static int8_t neoindex; public: + static int8_t neoindex; + static void init(); static void set_color_startup(const uint32_t c); static void set_color(const uint32_t c); - FORCE_INLINE static void set_neo_index(const int8_t neoIndex) { neoindex = neoIndex; } - FORCE_INLINE static int8_t get_neo_index() { return neoindex; } - #ifdef NEOPIXEL_BKGD_LED_INDEX static void set_color_background(); #endif static inline void begin() { adaneo1.begin(); - TERN_(MULTIPLE_NEOPIXEL_TYPES, adaneo2.begin()); + TERN_(CONJOINED_NEOPIXEL, adaneo2.begin()); } static inline void set_pixel_color(const uint16_t n, const uint32_t c) { - adaneo1.setPixelColor(n, c); - TERN_(MULTIPLE_NEOPIXEL_TYPES, adaneo2.setPixelColor(n, c)); + #if ENABLED(NEOPIXEL2_INSERIES) + if (n >= NEOPIXEL_PIXELS) adaneo2.setPixelColor(n - (NEOPIXEL_PIXELS), c); + else adaneo1.setPixelColor(n, c); + #else + adaneo1.setPixelColor(n, c); + #if MULTIPLE_NEOPIXEL_TYPES + adaneo2.setPixelColor(n, c); + #endif + #endif } static inline void set_brightness(const uint8_t b) { adaneo1.setBrightness(b); - TERN_(MULTIPLE_NEOPIXEL_TYPES, adaneo2.setBrightness(b)); + TERN_(CONJOINED_NEOPIXEL, adaneo2.setBrightness(b)); } static inline void show() { adaneo1.show(); #if PIN_EXISTS(NEOPIXEL2) - #if MULTIPLE_NEOPIXEL_TYPES + #if CONJOINED_NEOPIXEL adaneo2.show(); #else adaneo1.setPin(NEOPIXEL2_PIN); @@ -113,7 +122,7 @@ class Marlin_NeoPixel { #endif // Accessors - static inline uint16_t pixels() { return adaneo1.numPixels(); } + static inline uint16_t pixels() { TERN(NEOPIXEL2_INSERIES, return adaneo1.numPixels() * 2, return adaneo1.numPixels()); } static inline uint8_t brightness() { return adaneo1.getBrightness(); } static inline uint32_t Color(uint8_t r, uint8_t g, uint8_t b, uint8_t w) { return adaneo1.Color(r, g, b, w); @@ -121,3 +130,47 @@ class Marlin_NeoPixel { }; extern Marlin_NeoPixel neo; + +// Neo pixel channel 2 +#if ENABLED(NEOPIXEL2_SEPARATE) + + #if NEOPIXEL2_TYPE == NEO_RGB || NEOPIXEL2_TYPE == NEO_RBG || NEOPIXEL2_TYPE == NEO_GRB || NEOPIXEL2_TYPE == NEO_GBR || NEOPIXEL2_TYPE == NEO_BRG || NEOPIXEL2_TYPE == NEO_BGR + #define NEOPIXEL2_IS_RGB 1 + #else + #define NEOPIXEL2_IS_RGBW 1 + #endif + + #if NEOPIXEL2_IS_RGB + #define NEO2_WHITE 255, 255, 255, 0 + #else + #define NEO2_WHITE 0, 0, 0, 255 + #endif + + class Marlin_NeoPixel2 { + private: + static Adafruit_NeoPixel adaneo; + + public: + static int8_t neoindex; + + static void init(); + static void set_color_startup(const uint32_t c); + + static void set_color(const uint32_t c); + + static inline void begin() { adaneo.begin(); } + static inline void set_pixel_color(const uint16_t n, const uint32_t c) { adaneo.setPixelColor(n, c); } + static inline void set_brightness(const uint8_t b) { adaneo.setBrightness(b); } + static inline void show() { adaneo.show(); } + + // Accessors + static inline uint16_t pixels() { return adaneo.numPixels();} + static inline uint8_t brightness() { return adaneo.getBrightness(); } + static inline uint32_t Color(uint8_t r, uint8_t g, uint8_t b, uint8_t w) { + return adaneo.Color(r, g, b, w); + } + }; + + extern Marlin_NeoPixel2 neo2; + +#endif // NEOPIXEL2_SEPARATE diff --git a/Marlin/src/feature/leds/pca9533.cpp b/Marlin/src/feature/leds/pca9533.cpp index bcc4bc50a474..0fd4d6675771 100644 --- a/Marlin/src/feature/leds/pca9533.cpp +++ b/Marlin/src/feature/leds/pca9533.cpp @@ -62,7 +62,7 @@ void PCA9533_setOff() { PCA9533_writeRegister(PCA9533_REG_SEL, 0); } -void PCA9533_setColor(uint8_t red, uint8_t green, uint8_t blue) { +void PCA9533_set_rgb(uint8_t red, uint8_t green, uint8_t blue) { uint8_t r_pwm0 = 0; // Register data - PWM value uint8_t r_pwm1 = 0; // Register data - PWM value diff --git a/Marlin/src/feature/leds/pca9533.h b/Marlin/src/feature/leds/pca9533.h index 899418ff232c..431058c49136 100644 --- a/Marlin/src/feature/leds/pca9533.h +++ b/Marlin/src/feature/leds/pca9533.h @@ -55,5 +55,5 @@ void PCA9533_init(); void PCA9533_reset(); -void PCA9533_setColor(uint8_t red, uint8_t green, uint8_t blue); +void PCA9533_set_rgb(uint8_t red, uint8_t green, uint8_t blue); void PCA9533_setOff(); diff --git a/Marlin/src/feature/leds/pca9632.cpp b/Marlin/src/feature/leds/pca9632.cpp index df991ded36cc..d8af31cb6ce4 100644 --- a/Marlin/src/feature/leds/pca9632.cpp +++ b/Marlin/src/feature/leds/pca9632.cpp @@ -120,7 +120,7 @@ static void PCA9632_WriteAllRegisters(const byte addr, const byte regadd, const } #endif -void pca9632_set_led_color(const LEDColor &color) { +void PCA9632_set_led_color(const LEDColor &color) { Wire.begin(); if (!PCA_init) { PCA_init = 1; @@ -138,7 +138,7 @@ void pca9632_set_led_color(const LEDColor &color) { #if ENABLED(PCA9632_BUZZER) - void pca9632_buzz(const long, const uint16_t) { + void PCA9632_buzz(const long, const uint16_t) { uint8_t data[] = PCA9632_BUZZER_DATA; Wire.beginTransmission(I2C_ADDRESS(PCA9632_ADDRESS)); Wire.write(data, sizeof(data)); diff --git a/Marlin/src/feature/leds/pca9632.h b/Marlin/src/feature/leds/pca9632.h index 34aceb31d6e3..fb59a8c18479 100644 --- a/Marlin/src/feature/leds/pca9632.h +++ b/Marlin/src/feature/leds/pca9632.h @@ -29,9 +29,9 @@ struct LEDColor; typedef LEDColor LEDColor; -void pca9632_set_led_color(const LEDColor &color); +void PCA9632_set_led_color(const LEDColor &color); #if ENABLED(PCA9632_BUZZER) #include - void pca9632_buzz(const long, const uint16_t); + void PCA9632_buzz(const long, const uint16_t); #endif diff --git a/Marlin/src/feature/leds/printer_event_leds.cpp b/Marlin/src/feature/leds/printer_event_leds.cpp index 58084da83724..31c628c2816a 100644 --- a/Marlin/src/feature/leds/printer_event_leds.cpp +++ b/Marlin/src/feature/leds/printer_event_leds.cpp @@ -21,7 +21,7 @@ */ /** - * printer_event_leds.cpp - LED color changing based on printer status + * feature/leds/printer_event_leds.cpp - LED color changing based on printer status */ #include "../../inc/MarlinConfigPre.h" diff --git a/Marlin/src/feature/leds/printer_event_leds.h b/Marlin/src/feature/leds/printer_event_leds.h index 0295f9f5ac92..86ec292aa3da 100644 --- a/Marlin/src/feature/leds/printer_event_leds.h +++ b/Marlin/src/feature/leds/printer_event_leds.h @@ -22,7 +22,7 @@ #pragma once /** - * printer_event_leds.h - LED color changing based on printer status + * feature/leds/printer_event_leds.h - LED color changing based on printer status */ #include "leds.h" diff --git a/Marlin/src/feature/password/password.cpp b/Marlin/src/feature/password/password.cpp new file mode 100644 index 000000000000..90bb647118b5 --- /dev/null +++ b/Marlin/src/feature/password/password.cpp @@ -0,0 +1,58 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../inc/MarlinConfigPre.h" + +#if ENABLED(PASSWORD_FEATURE) + +#include "password.h" +#include "../../gcode/gcode.h" +#include "../../core/serial.h" + +Password password; + +// public: +bool Password::is_set, Password::is_locked; +uint32_t Password::value, Password::value_entry; + +// +// Authenticate user with password. +// Called from Setup, after SD Prinitng Stops/Aborts, and M510 +// +void Password::lock_machine() { + is_locked = true; + TERN_(HAS_LCD_MENU, authenticate_user(ui.status_screen, screen_password_entry)); +} + +// +// Authentication check +// +void Password::authentication_check() { + if (value_entry == value) + is_locked = false; + else + SERIAL_ECHOLNPGM(STR_WRONG_PASSWORD); + + TERN_(HAS_LCD_MENU, authentication_done()); +} + +#endif // PASSWORD_FEATURE diff --git a/Marlin/src/feature/password/password.h b/Marlin/src/feature/password/password.h new file mode 100644 index 000000000000..3ed584b29d5e --- /dev/null +++ b/Marlin/src/feature/password/password.h @@ -0,0 +1,57 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#include "../../lcd/ultralcd.h" + +class Password { +public: + static bool is_set, is_locked; + static uint32_t value, value_entry; + + Password() { is_locked = false; } + + static void lock_machine(); + + #if HAS_LCD_MENU + static void access_menu_password(); + static void authentication_check(); + static void authentication_done(); + static void media_gatekeeper(); + + private: + static void authenticate_user(const screenFunc_t, const screenFunc_t); + static void menu_password(); + static void menu_password_entry(); + static void screen_password_entry(); + static void screen_set_password(); + static void start_over(); + + static void digit_entered(); + static void set_password_done(); + static void menu_password_report(); + + static void remove_password(); + #endif +}; + +extern Password password; diff --git a/Marlin/src/feature/pause.cpp b/Marlin/src/feature/pause.cpp index 77f352c399b5..a7ed93425cf1 100644 --- a/Marlin/src/feature/pause.cpp +++ b/Marlin/src/feature/pause.cpp @@ -413,7 +413,7 @@ bool pause_print(const float &retract, const xyz_pos_t &park_point, const float unscaled_e_move(retract, PAUSE_PARK_RETRACT_FEEDRATE); // Park the nozzle by moving up by z_lift and then moving to (x_pos, y_pos) - if (!axes_need_homing()) + if (!axes_should_home()) nozzle.park(0, park_point); #if ENABLED(DUAL_X_CARRIAGE) @@ -582,6 +582,9 @@ void resume_print(const float &slow_load_length/*=0*/, const float &fast_load_le TERN_(HAS_LCD_MENU, lcd_pause_show_message(PAUSE_MESSAGE_RESUME)); + // Check Temperature before moving hotend + ensure_safe_temperature(); + // Retract to prevent oozing unscaled_e_move(-(PAUSE_PARK_RETRACT_LENGTH), feedRate_t(PAUSE_PARK_RETRACT_FEEDRATE)); @@ -594,8 +597,6 @@ void resume_print(const float &slow_load_length/*=0*/, const float &fast_load_le // Unretract unscaled_e_move(PAUSE_PARK_RETRACT_LENGTH, feedRate_t(PAUSE_PARK_RETRACT_FEEDRATE)); - ensure_safe_temperature(); - // Intelligent resuming #if ENABLED(FWRETRACT) // If retracted before goto pause diff --git a/Marlin/src/feature/power.cpp b/Marlin/src/feature/power.cpp index 74850122c296..5be554e5e472 100644 --- a/Marlin/src/feature/power.cpp +++ b/Marlin/src/feature/power.cpp @@ -59,7 +59,6 @@ bool Power::is_power_needed() { // If any of the drivers or the bed are enabled... if (X_ENABLE_READ() == X_ENABLE_ON || Y_ENABLE_READ() == Y_ENABLE_ON || Z_ENABLE_READ() == Z_ENABLE_ON - || TERN0(HAS_HEATED_BED, thermalManager.temp_bed.soft_pwm_amount > 0) #if HAS_X2_ENABLE || X2_ENABLE_READ() == X_ENABLE_ON #endif @@ -75,8 +74,8 @@ bool Power::is_power_needed() { #endif ) return true; - HOTEND_LOOP() if (thermalManager.degTargetHotend(e) > 0) return true; - if (TERN0(HAS_HEATED_BED, thermalManager.degTargetBed() > 0)) return true; + HOTEND_LOOP() if (thermalManager.degTargetHotend(e) > 0 || thermalManager.temp_hotend[e].soft_pwm_amount > 0) return true; + if (TERN0(HAS_HEATED_BED, thermalManager.degTargetBed() > 0 || thermalManager.temp_bed.soft_pwm_amount > 0)) return true; #if HAS_HOTEND && AUTO_POWER_E_TEMP HOTEND_LOOP() if (thermalManager.degHotend(e) >= AUTO_POWER_E_TEMP) return true; diff --git a/Marlin/src/feature/powerloss.cpp b/Marlin/src/feature/powerloss.cpp index 29a2cef97c4a..06296dd215fa 100644 --- a/Marlin/src/feature/powerloss.cpp +++ b/Marlin/src/feature/powerloss.cpp @@ -21,7 +21,7 @@ */ /** - * power_loss_recovery.cpp - Resume an SD print after power-loss + * feature/powerloss.cpp - Resume an SD print after power-loss */ #include "../inc/MarlinConfigPre.h" @@ -365,7 +365,7 @@ void PrintJobRecovery::resume() { #endif // Pretend that all axes are homed - axis_homed = axis_known_position = xyz_bits; + set_all_homed(); // Recover volumetric extrusion state #if DISABLED(NO_VOLUMETRICS) diff --git a/Marlin/src/feature/powerloss.h b/Marlin/src/feature/powerloss.h index 30ea343424dd..10653493ab8f 100644 --- a/Marlin/src/feature/powerloss.h +++ b/Marlin/src/feature/powerloss.h @@ -22,7 +22,7 @@ #pragma once /** - * power_loss_recovery.h - Resume an SD print after power-loss + * feature/powerloss.h - Resume an SD print after power-loss */ #include "../sd/cardreader.h" diff --git a/Marlin/src/feature/runout.cpp b/Marlin/src/feature/runout.cpp index 0b5c0ebc2e62..71f31f214559 100644 --- a/Marlin/src/feature/runout.cpp +++ b/Marlin/src/feature/runout.cpp @@ -44,14 +44,6 @@ bool FilamentMonitorBase::enabled = true, #include "../module/tool_change.h" #endif -/** - * Called by FilamentSensorSwitch::run when filament is detected. - * Called by FilamentSensorEncoder::block_completed when motion is detected. - */ -void FilamentSensorBase::filament_present(const uint8_t extruder) { - runout.filament_present(extruder); // calls response.filament_present(extruder) -} - #if HAS_FILAMENT_RUNOUT_DISTANCE float RunoutResponseDelayed::runout_distance_mm = FILAMENT_RUNOUT_DISTANCE_MM; volatile float RunoutResponseDelayed::runout_mm_countdown[EXTRUDERS]; diff --git a/Marlin/src/feature/runout.h b/Marlin/src/feature/runout.h index 450ae1830a7b..a7f836684949 100644 --- a/Marlin/src/feature/runout.h +++ b/Marlin/src/feature/runout.h @@ -48,6 +48,24 @@ void event_filament_runout(); +template +class TFilamentMonitor; +class FilamentSensorEncoder; +class FilamentSensorSwitch; +class RunoutResponseDelayed; +class RunoutResponseDebounced; + +/********************************* TEMPLATE SPECIALIZATION *********************************/ + +typedef TFilamentMonitor< + TERN(HAS_FILAMENT_RUNOUT_DISTANCE, RunoutResponseDelayed, RunoutResponseDebounced), + TERN(FILAMENT_MOTION_SENSOR, FilamentSensorEncoder, FilamentSensorSwitch) + > FilamentMonitor; + +extern FilamentMonitor runout; + +/*******************************************************************************************/ + class FilamentMonitorBase { public: static bool enabled, filament_ran_out; @@ -121,7 +139,13 @@ class TFilamentMonitor : public FilamentMonitorBase { class FilamentSensorBase { protected: - static void filament_present(const uint8_t extruder); + /** + * Called by FilamentSensorSwitch::run when filament is detected. + * Called by FilamentSensorEncoder::block_completed when motion is detected. + */ + static inline void filament_present(const uint8_t extruder) { + runout.filament_present(extruder); // ...which calls response.filament_present(extruder) + } public: static inline void setup() { @@ -311,12 +335,3 @@ class FilamentSensorBase { }; #endif // !HAS_FILAMENT_RUNOUT_DISTANCE - -/********************************* TEMPLATE SPECIALIZATION *********************************/ - -typedef TFilamentMonitor< - TERN(HAS_FILAMENT_RUNOUT_DISTANCE, RunoutResponseDelayed, RunoutResponseDebounced), - TERN(FILAMENT_MOTION_SENSOR, FilamentSensorEncoder, FilamentSensorSwitch) - > FilamentMonitor; - -extern FilamentMonitor runout; diff --git a/Marlin/src/feature/spindle_laser.cpp b/Marlin/src/feature/spindle_laser.cpp index 68261f2fc581..bc387a93348d 100644 --- a/Marlin/src/feature/spindle_laser.cpp +++ b/Marlin/src/feature/spindle_laser.cpp @@ -37,7 +37,7 @@ cutter_power_t SpindleLaser::menuPower, // Power s SpindleLaser::unitPower; // LCD status power in PWM, PERCENT, or RPM #if ENABLED(MARLIN_DEV_MODE) - cutter_frequency_t SpindleLaser::frequency; // setting PWM frequency; range: 2K - 50K + cutter_frequency_t SpindleLaser::frequency; // PWM frequency setting; range: 2K - 50K #endif #define SPINDLE_LASER_PWM_OFF ((SPINDLE_LASER_PWM_INVERT) ? 255 : 0) @@ -45,13 +45,13 @@ cutter_power_t SpindleLaser::menuPower, // Power s // Init the cutter to a safe OFF state // void SpindleLaser::init() { - OUT_WRITE(SPINDLE_LASER_ENA_PIN, !SPINDLE_LASER_ACTIVE_HIGH); // Init spindle to off + OUT_WRITE(SPINDLE_LASER_ENA_PIN, !SPINDLE_LASER_ACTIVE_STATE); // Init spindle to off #if ENABLED(SPINDLE_CHANGE_DIR) OUT_WRITE(SPINDLE_DIR_PIN, SPINDLE_INVERT_DIR ? 255 : 0); // Init rotation to clockwise (M3) #endif #if ENABLED(SPINDLE_LASER_PWM) SET_PWM(SPINDLE_LASER_PWM_PIN); - analogWrite(pin_t(SPINDLE_LASER_PWM_PIN), SPINDLE_LASER_PWM_OFF); // set to lowest speed + analogWrite(pin_t(SPINDLE_LASER_PWM_PIN), SPINDLE_LASER_PWM_OFF); // Set to lowest speed #endif #if ENABLED(HAL_CAN_SET_PWM_FREQ) && defined(SPINDLE_LASER_FREQUENCY) set_pwm_frequency(pin_t(SPINDLE_LASER_PWM_PIN), SPINDLE_LASER_FREQUENCY); @@ -64,14 +64,14 @@ void SpindleLaser::init() { * Set the cutter PWM directly to the given ocr value */ void SpindleLaser::set_ocr(const uint8_t ocr) { - WRITE(SPINDLE_LASER_ENA_PIN, SPINDLE_LASER_ACTIVE_HIGH); // turn spindle on + WRITE(SPINDLE_LASER_ENA_PIN, SPINDLE_LASER_ACTIVE_STATE); // Turn spindle on analogWrite(pin_t(SPINDLE_LASER_PWM_PIN), ocr ^ SPINDLE_LASER_PWM_OFF); #if NEEDS_HARDWARE_PWM && SPINDLE_LASER_FREQUENCY set_pwm_duty(pin_t(SPINDLE_LASER_PWM_PIN), ocr ^ SPINDLE_LASER_PWM_OFF); - #endif + #endif } void SpindleLaser::ocr_off() { - WRITE(SPINDLE_LASER_ENA_PIN, !SPINDLE_LASER_ACTIVE_HIGH); // Turn spindle off + WRITE(SPINDLE_LASER_ENA_PIN, !SPINDLE_LASER_ACTIVE_STATE); // Turn spindle off analogWrite(pin_t(SPINDLE_LASER_PWM_PIN), SPINDLE_LASER_PWM_OFF); // Only write low byte } #endif @@ -98,7 +98,7 @@ void SpindleLaser::apply_power(const uint8_t opwr) { isReady = false; } #else - WRITE(SPINDLE_LASER_ENA_PIN, enabled() == SPINDLE_LASER_ACTIVE_HIGH); + WRITE(SPINDLE_LASER_ENA_PIN, enabled() ? SPINDLE_LASER_ACTIVE_STATE : !SPINDLE_LASER_ACTIVE_STATE); isReady = true; #endif } diff --git a/Marlin/src/feature/tmc_util.cpp b/Marlin/src/feature/tmc_util.cpp index 495d6a9f5bb5..781253079ed5 100644 --- a/Marlin/src/feature/tmc_util.cpp +++ b/Marlin/src/feature/tmc_util.cpp @@ -34,7 +34,7 @@ #if ENABLED(TMC_DEBUG) #include "../module/planner.h" - #include "../libs/hex_print_routines.h" + #include "../libs/hex_print.h" #if ENABLED(MONITOR_DRIVER_STATUS) static uint16_t report_tmc_status_interval; // = 0 #endif diff --git a/Marlin/src/feature/touch/xpt2046.cpp b/Marlin/src/feature/touch/xpt2046.cpp deleted file mode 100644 index 235c17b50c85..000000000000 --- a/Marlin/src/feature/touch/xpt2046.cpp +++ /dev/null @@ -1,200 +0,0 @@ -/** - * Marlin 3D Printer Firmware - * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - */ - -#include "../../inc/MarlinConfigPre.h" - -#if ENABLED(TOUCH_BUTTONS) - -#include "xpt2046.h" -#include "../../inc/MarlinConfig.h" -#if ENABLED(FSMC_GRAPHICAL_TFT) - #include "../../lcd/dogm/ultralcd_DOGM.h" // for LCD_FULL_PIXEL_WIDTH, etc. -#endif - - -/* - * Draw and Touch processing - * - * LCD_PIXEL_WIDTH/HEIGHT (128x64) is the (emulated DOGM) Pixel Drawing resolution. - * TOUCH_SCREEN_WIDTH/HEIGHT (320x240) is the Touch Area resolution. - * LCD_FULL_PIXEL_WIDTH/HEIGHT (320x240 or 480x320) is the Actual (FSMC) Display resolution. - * - * - All native (u8g) drawing is done in LCD_PIXEL_* (128x64) - * - The DOGM pixels are is upscaled 2-3x (as needed) for display. - * - Touch coordinates use TOUCH_SCREEN_* resolution and are converted to - * click and scroll-wheel events (emulating of a common DOGM display). - * - * TOUCH_SCREEN resolution exists to fit our calibration values. The original touch code was made - * and originally calibrated for 320x240. If you decide to change the resolution of the touch code, - * new calibration values will be needed. - * - * The Marlin menus are drawn scaled in the upper region of the screen. The bottom region (in a - * fixed location in TOUCH_SCREEN* coordinate space) is used for 4 general-purpose buttons to - * navigate and select menu items. Both regions are touchable. - * - * The Marlin screen touchable area starts at LCD_PIXEL_OFFSET_X/Y (translated to SCREEN_START_LEFT/TOP) - * and spans LCD_PIXEL_WIDTH/HEIGHT (scaled to SCREEN_WIDTH/HEIGHT). - */ -// Touch screen resolution independent of display resolution -#define TOUCH_SCREEN_HEIGHT 240 -#define TOUCH_SCREEN_WIDTH 320 - -// Coordinates in terms of touch area -#define BUTTON_AREA_TOP 175 -#define BUTTON_AREA_BOT 234 - -#define SCREEN_START_TOP ((LCD_PIXEL_OFFSET_Y) * (TOUCH_SCREEN_HEIGHT) / (LCD_FULL_PIXEL_HEIGHT)) -#define SCREEN_START_LEFT ((LCD_PIXEL_OFFSET_X) * (TOUCH_SCREEN_WIDTH) / (LCD_FULL_PIXEL_WIDTH)) -#define SCREEN_HEIGHT ((LCD_PIXEL_HEIGHT * FSMC_UPSCALE) * (TOUCH_SCREEN_HEIGHT) / (LCD_FULL_PIXEL_HEIGHT)) -#define SCREEN_WIDTH ((LCD_PIXEL_WIDTH * FSMC_UPSCALE) * (TOUCH_SCREEN_WIDTH) / (LCD_FULL_PIXEL_WIDTH)) - -#define TOUCHABLE_Y_HEIGHT SCREEN_HEIGHT -#define TOUCHABLE_X_WIDTH SCREEN_WIDTH - -#ifndef TOUCH_INT_PIN - #define TOUCH_INT_PIN -1 -#endif -#ifndef TOUCH_MISO_PIN - #define TOUCH_MISO_PIN MISO_PIN -#endif -#ifndef TOUCH_MOSI_PIN - #define TOUCH_MOSI_PIN MOSI_PIN -#endif -#ifndef TOUCH_SCK_PIN - #define TOUCH_SCK_PIN SCK_PIN -#endif -#ifndef TOUCH_CS_PIN - #define TOUCH_CS_PIN CS_PIN -#endif - -XPT2046 touch; - -void XPT2046::init() { - SET_INPUT(TOUCH_MISO_PIN); - SET_OUTPUT(TOUCH_MOSI_PIN); - SET_OUTPUT(TOUCH_SCK_PIN); - OUT_WRITE(TOUCH_CS_PIN, HIGH); - - #if PIN_EXISTS(TOUCH_INT) - // Optional Pendrive interrupt pin - SET_INPUT(TOUCH_INT_PIN); - #endif - - // Read once to enable pendrive status pin - getInTouch(XPT2046_X); -} - -#include "../../lcd/ultralcd.h" // For EN_C bit mask - -uint8_t XPT2046::read_buttons() { - #ifdef HAS_SPI_LCD - int16_t tsoffsets[4] = { 0 }; - - if (tsoffsets[0] + tsoffsets[1] == 0) { - // Not yet set, so use defines as fallback... - tsoffsets[0] = XPT2046_X_CALIBRATION; - tsoffsets[1] = XPT2046_X_OFFSET; - tsoffsets[2] = XPT2046_Y_CALIBRATION; - tsoffsets[3] = XPT2046_Y_OFFSET; - } - - // We rely on XPT2046 compatible mode to ADS7843, hence no Z1 and Z2 measurements possible. - - if (!isTouched()) return 0; - const uint16_t x = uint16_t(((uint32_t(getInTouch(XPT2046_X))) * tsoffsets[0]) >> 16) + tsoffsets[1], - y = uint16_t(((uint32_t(getInTouch(XPT2046_Y))) * tsoffsets[2]) >> 16) + tsoffsets[3]; - if (!isTouched()) return 0; // Fingers must still be on the TS for a valid read. - - // Touch within the button area simulates an encoder button - if (y > BUTTON_AREA_TOP && y < BUTTON_AREA_BOT) - return WITHIN(x, 14, 77) ? EN_D - : WITHIN(x, 90, 153) ? EN_A - : WITHIN(x, 166, 229) ? EN_B - : WITHIN(x, 242, 305) ? EN_C - : 0; - - if (x > TOUCH_SCREEN_WIDTH || !WITHIN(y, SCREEN_START_TOP, SCREEN_START_TOP + SCREEN_HEIGHT)) return 0; - - // Column and row above BUTTON_AREA_TOP - int8_t col = (x - (SCREEN_START_LEFT)) * (LCD_WIDTH) / (TOUCHABLE_X_WIDTH), - row = (y - (SCREEN_START_TOP)) * (LCD_HEIGHT) / (TOUCHABLE_Y_HEIGHT); - - // Send the touch to the UI (which will simulate the encoder wheel) - MarlinUI::screen_click(row, col, x, y); - #endif - return 0; -} - -bool XPT2046::isTouched() { - return ( - #if PIN_EXISTS(TOUCH_INT) - READ(TOUCH_INT_PIN) != HIGH - #else - getInTouch(XPT2046_Z1) >= XPT2046_Z1_THRESHOLD - #endif - ); -} - -uint16_t XPT2046::getInTouch(const XPTCoordinate coordinate) { - uint16_t data[3]; - - OUT_WRITE(TOUCH_CS_PIN, LOW); - - const uint8_t coord = uint8_t(coordinate) | XPT2046_CONTROL | XPT2046_DFR_MODE; - for (uint16_t i = 0; i < 3 ; i++) { - for (uint8_t j = 0x80; j; j >>= 1) { - WRITE(TOUCH_SCK_PIN, LOW); - WRITE(TOUCH_MOSI_PIN, bool(coord & j)); - WRITE(TOUCH_SCK_PIN, HIGH); - } - - data[i] = 0; - for (uint16_t j = 0x8000; j; j >>= 1) { - WRITE(TOUCH_SCK_PIN, LOW); - if (READ(TOUCH_MISO_PIN)) data[i] |= j; - WRITE(TOUCH_SCK_PIN, HIGH); - } - WRITE(TOUCH_SCK_PIN, LOW); - data[i] >>= 4; - } - - WRITE(TOUCH_CS_PIN, HIGH); - - uint16_t delta01 = _MAX(data[0], data[1]) - _MIN(data[0], data[1]), - delta02 = _MAX(data[0], data[2]) - _MIN(data[0], data[2]), - delta12 = _MAX(data[1], data[2]) - _MIN(data[1], data[2]); - - if (delta01 <= delta02 && delta01 <= delta12) - return (data[0] + data[1]) >> 1; - - if (delta02 <= delta12) - return (data[0] + data[2]) >> 1; - - return (data[1] + data[2]) >> 1; -} - -bool XPT2046::getTouchPoint(uint16_t &x, uint16_t &y) { - if (isTouched()) { - x = getInTouch(XPT2046_X); - y = getInTouch(XPT2046_Y); - } - return isTouched(); -} - -#endif // TOUCH_BUTTONS diff --git a/Marlin/src/gcode/bedlevel/G26.cpp b/Marlin/src/gcode/bedlevel/G26.cpp index 438a619242d7..cd0dbb13cdcb 100644 --- a/Marlin/src/gcode/bedlevel/G26.cpp +++ b/Marlin/src/gcode/bedlevel/G26.cpp @@ -405,7 +405,7 @@ inline bool turn_on_heaters() { inline bool prime_nozzle() { const feedRate_t fr_slow_e = planner.settings.max_feedrate_mm_s[E_AXIS] / 15.0f; - #if HAS_LCD_MENU && DISABLED(TOUCH_BUTTONS) // ui.button_pressed issue with touchscreen + #if HAS_LCD_MENU && !HAS_TOUCH_XPT2046 // ui.button_pressed issue with touchscreen #if ENABLED(PREVENT_LENGTHY_EXTRUDE) float Total_Prime = 0.0; #endif @@ -490,7 +490,7 @@ void GcodeSuite::G26() { // Don't allow Mesh Validation without homing first, // or if the parameter parsing did not go OK, abort - if (axis_unhomed_error()) return; + if (homing_needed_error()) return; // Change the tool first, if specified if (parser.seenval('T')) tool_change(parser.value_int()); diff --git a/Marlin/src/gcode/bedlevel/G35.cpp b/Marlin/src/gcode/bedlevel/G35.cpp index 786065b34655..7595067dbf85 100755 --- a/Marlin/src/gcode/bedlevel/G35.cpp +++ b/Marlin/src/gcode/bedlevel/G35.cpp @@ -176,7 +176,7 @@ void GcodeSuite::G35() { probe.stow(); // After this operation the Z position needs correction - set_axis_not_trusted(Z_AXIS); + set_axis_never_homed(Z_AXIS); // Home Z after the alignment procedure process_subcommands_now_P(PSTR("G28Z")); diff --git a/Marlin/src/gcode/bedlevel/M420.cpp b/Marlin/src/gcode/bedlevel/M420.cpp index d51543417165..96122c18f882 100644 --- a/Marlin/src/gcode/bedlevel/M420.cpp +++ b/Marlin/src/gcode/bedlevel/M420.cpp @@ -30,7 +30,7 @@ #include "../../module/probe.h" #if ENABLED(EEPROM_SETTINGS) - #include "../../module/configuration_store.h" + #include "../../module/settings.h" #endif #if ENABLED(EXTENSIBLE_UI) diff --git a/Marlin/src/gcode/bedlevel/abl/G29.cpp b/Marlin/src/gcode/bedlevel/abl/G29.cpp index f25fe32b07e5..e7651cc74394 100644 --- a/Marlin/src/gcode/bedlevel/abl/G29.cpp +++ b/Marlin/src/gcode/bedlevel/abl/G29.cpp @@ -183,7 +183,7 @@ G29_TYPE GcodeSuite::G29() { faux = ENABLED(DEBUG_LEVELING_FEATURE) && DISABLED(PROBE_MANUALLY) ? parser.boolval('C') : no_action; // Don't allow auto-leveling without homing first - if (axis_unhomed_error()) G29_RETURN(false); + if (homing_needed_error()) G29_RETURN(false); if (!no_action && planner.leveling_active && parser.boolval('O')) { // Auto-level only if needed if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPGM("> Auto-level not needed, skip"); diff --git a/Marlin/src/gcode/calibrate/G28.cpp b/Marlin/src/gcode/calibrate/G28.cpp index 78695bc05b40..0e1f70789814 100644 --- a/Marlin/src/gcode/calibrate/G28.cpp +++ b/Marlin/src/gcode/calibrate/G28.cpp @@ -118,7 +118,7 @@ DEBUG_SECTION(log_G28, "home_z_safely", DEBUGGING(LEVELING)); // Disallow Z homing if X or Y homing is needed - if (axis_unhomed_error(_BV(X_AXIS) | _BV(Y_AXIS))) return; + if (homing_needed_error(_BV(X_AXIS) | _BV(Y_AXIS))) return; sync_plan_position(); @@ -299,8 +299,8 @@ void GcodeSuite::G28() { #else // NOT DELTA const bool homeZ = parser.seen('Z'), - needX = homeZ && TERN0(Z_SAFE_HOMING, axes_need_homing(_BV(X_AXIS))), - needY = homeZ && TERN0(Z_SAFE_HOMING, axes_need_homing(_BV(Y_AXIS))), + needX = homeZ && TERN0(Z_SAFE_HOMING, axes_should_home(_BV(X_AXIS))), + needY = homeZ && TERN0(Z_SAFE_HOMING, axes_should_home(_BV(Y_AXIS))), homeX = needX || parser.seen('X'), homeY = needY || parser.seen('Y'), home_all = homeX == homeY && homeX == homeZ, // All or None doX = home_all || homeX, doY = home_all || homeY, doZ = home_all || homeZ; diff --git a/Marlin/src/gcode/calibrate/G34_M422.cpp b/Marlin/src/gcode/calibrate/G34_M422.cpp index 3360dc050fcf..1fd0754ec780 100644 --- a/Marlin/src/gcode/calibrate/G34_M422.cpp +++ b/Marlin/src/gcode/calibrate/G34_M422.cpp @@ -346,7 +346,7 @@ void GcodeSuite::G34() { #if ENABLED(HOME_AFTER_G34) // After this operation the z position needs correction - set_axis_not_trusted(Z_AXIS); + set_axis_never_homed(Z_AXIS); // Home Z after the alignment procedure process_subcommands_now_P(PSTR("G28Z")); #else diff --git a/Marlin/src/gcode/calibrate/G425.cpp b/Marlin/src/gcode/calibrate/G425.cpp index 0ef23d28f92b..746cb108766b 100644 --- a/Marlin/src/gcode/calibrate/G425.cpp +++ b/Marlin/src/gcode/calibrate/G425.cpp @@ -584,7 +584,7 @@ void GcodeSuite::G425() { TEMPORARY_SOFT_ENDSTOP_STATE(false); TEMPORARY_BED_LEVELING_STATE(false); - if (axis_unhomed_error()) return; + if (homing_needed_error()) return; measurements_t m; diff --git a/Marlin/src/gcode/calibrate/G76_M871.cpp b/Marlin/src/gcode/calibrate/G76_M871.cpp index f2f53d213d3a..9870d9fbe567 100644 --- a/Marlin/src/gcode/calibrate/G76_M871.cpp +++ b/Marlin/src/gcode/calibrate/G76_M871.cpp @@ -45,7 +45,7 @@ * - When calibrating bed, probe temperature is held constant. * Compensation values are deltas to first probe measurement at bed temp. = 60°C. * - The hotend will not be heated at any time. - * - On my Prusa MK3S clone I put a piece of paper between the probe and the hotend + * - On my Průša MK3S clone I put a piece of paper between the probe and the hotend * so the hotend fan would not cool my probe constantly. Alternativly you could just * make sure the fan is not running while running the calibration process. * diff --git a/Marlin/src/gcode/calibrate/M100.cpp b/Marlin/src/gcode/calibrate/M100.cpp index ea054125b7ca..5ec709fb4002 100644 --- a/Marlin/src/gcode/calibrate/M100.cpp +++ b/Marlin/src/gcode/calibrate/M100.cpp @@ -26,7 +26,7 @@ #include "../gcode.h" #include "../queue.h" -#include "../../libs/hex_print_routines.h" +#include "../../libs/hex_print.h" #include "../../MarlinCore.h" // for idle() @@ -156,8 +156,8 @@ inline int32_t count_test_bytes(const char * const start_free_memory) { // Start and end the dump on a nice 16 byte boundary // (even though the values are not 16-byte aligned). // - start_free_memory = (char*)(ptr_int_t(uint32_t(start_free_memory) & ~0xFUL)); // Align to 16-byte boundary - end_free_memory = (char*)(ptr_int_t(uint32_t(end_free_memory) | 0xFUL)); // Align end_free_memory to the 15th byte (at or above end_free_memory) + start_free_memory = (char*)(uintptr_t(uint32_t(start_free_memory) & ~0xFUL)); // Align to 16-byte boundary + end_free_memory = (char*)(uintptr_t(uint32_t(end_free_memory) | 0xFUL)); // Align end_free_memory to the 15th byte (at or above end_free_memory) // Dump command main loop while (start_free_memory < end_free_memory) { @@ -189,8 +189,8 @@ inline int32_t count_test_bytes(const char * const start_free_memory) { // Round the start and end locations to produce full lines of output // dump_free_memory( - (char*)(ptr_int_t(uint32_t(start) & ~0xFUL)), // Align to 16-byte boundary - (char*)(ptr_int_t(uint32_t(end) | 0xFUL)) // Align end_free_memory to the 15th byte (at or above end_free_memory) + (char*)(uintptr_t(uint32_t(start) & ~0xFUL)), // Align to 16-byte boundary + (char*)(uintptr_t(uint32_t(end) | 0xFUL)) // Align end_free_memory to the 15th byte (at or above end_free_memory) ); } diff --git a/Marlin/src/gcode/calibrate/M48.cpp b/Marlin/src/gcode/calibrate/M48.cpp index 47c72eece7f4..aaf58eed1c78 100644 --- a/Marlin/src/gcode/calibrate/M48.cpp +++ b/Marlin/src/gcode/calibrate/M48.cpp @@ -27,13 +27,10 @@ #include "../gcode.h" #include "../../module/motion.h" #include "../../module/probe.h" +#include "../../lcd/ultralcd.h" #include "../../feature/bedlevel/bedlevel.h" -#if HAS_SPI_LCD - #include "../../lcd/ultralcd.h" -#endif - #if HAS_LEVELING #include "../../module/planner.h" #endif @@ -58,7 +55,7 @@ extern const char SP_Y_STR[]; void GcodeSuite::M48() { - if (axis_unhomed_error()) return; + if (homing_needed_error()) return; const int8_t verbose_level = parser.byteval('V', 1); if (!WITHIN(verbose_level, 0, 4)) { @@ -77,61 +74,85 @@ void GcodeSuite::M48() { const ProbePtRaise raise_after = parser.boolval('E') ? PROBE_PT_STOW : PROBE_PT_RAISE; - xy_float_t next_pos = current_position; - - const xy_pos_t probe_pos = { - parser.linearval('X', next_pos.x + probe.offset_xy.x), // If no X use the probe's current X position - parser.linearval('Y', next_pos.y + probe.offset_xy.y) // If no Y, ditto + // Test at the current position by default, overridden by X and Y + const xy_pos_t test_position = { + parser.linearval('X', current_position.x + probe.offset_xy.x), // If no X use the probe's current X position + parser.linearval('Y', current_position.y + probe.offset_xy.y) // If no Y, ditto }; - if (!probe.can_reach(probe_pos)) { + if (!probe.can_reach(test_position)) { + ui.set_status_P(GET_TEXT(MSG_M48_OUT_OF_BOUNDS), 99); SERIAL_ECHOLNPGM("? (X,Y) out of bounds."); return; } + // Get the number of leg moves per test-point bool seen_L = parser.seen('L'); uint8_t n_legs = seen_L ? parser.value_byte() : 0; if (n_legs > 15) { - SERIAL_ECHOLNPGM("?Number of legs in movement not plausible (0-15)."); + SERIAL_ECHOLNPGM("?Legs of movement implausible (0-15)."); return; } if (n_legs == 1) n_legs = 2; + // Schizoid motion as an optional stress-test const bool schizoid_flag = parser.boolval('S'); if (schizoid_flag && !seen_L) n_legs = 7; - /** - * Now get everything to the specified probe point So we can safely do a - * probe to get us close to the bed. If the Z-Axis is far from the bed, - * we don't want to use that as a starting point for each probe. - */ if (verbose_level > 2) SERIAL_ECHOLNPGM("Positioning the probe..."); - // Disable bed level correction in M48 because we want the raw data when we probe + // Always disable Bed Level correction before probing... #if HAS_LEVELING const bool was_enabled = planner.leveling_active; set_bed_leveling_enabled(false); #endif + // Work with reasonable feedrates remember_feedrate_scaling_off(); - float mean = 0.0, sigma = 0.0, min = 99999.9, max = -99999.9, sample_set[n_samples]; + // Working variables + float mean = 0.0, // The average of all points so far, used to calculate deviation + sigma = 0.0, // Standard deviation of all points so far + min = 99999.9, // Smallest value sampled so far + max = -99999.9, // Largest value sampled so far + sample_set[n_samples]; // Storage for sampled values + + auto dev_report = [](const bool verbose, const float &mean, const float &sigma, const float &min, const float &max, const bool final=false) { + if (verbose) { + SERIAL_ECHOPAIR_F("Mean: ", mean, 6); + if (!final) SERIAL_ECHOPAIR_F(" Sigma: ", sigma, 6); + SERIAL_ECHOPAIR_F(" Min: ", min, 3); + SERIAL_ECHOPAIR_F(" Max: ", max, 3); + SERIAL_ECHOPAIR_F(" Range: ", max-min, 3); + if (final) SERIAL_EOL(); + } + if (final) { + SERIAL_ECHOLNPAIR_F("Standard Deviation: ", sigma, 6); + SERIAL_EOL(); + } + }; // Move to the first point, deploy, and probe - const float t = probe.probe_at_point(probe_pos, raise_after, verbose_level); + const float t = probe.probe_at_point(test_position, raise_after, verbose_level); bool probing_good = !isnan(t); if (probing_good) { randomSeed(millis()); + float sample_sum = 0.0; + LOOP_L_N(n, n_samples) { #if HAS_SPI_LCD // Display M48 progress in the status bar ui.status_printf_P(0, PSTR(S_FMT ": %d/%d"), GET_TEXT(MSG_M48_POINT), int(n + 1), int(n_samples)); #endif + + // When there are "legs" of movement move around the point before probing if (n_legs) { + + // Pick a random direction, starting angle, and radius const int dir = (random(0, 10) > 5.0) ? -1 : 1; // clockwise or counter clockwise float angle = random(0, 360); const float radius = random( @@ -142,48 +163,51 @@ void GcodeSuite::M48() { int(5), int(0.125 * _MIN(X_BED_SIZE, Y_BED_SIZE)) #endif ); - if (verbose_level > 3) { SERIAL_ECHOPAIR("Start radius:", radius, " angle:", angle, " dir:"); if (dir > 0) SERIAL_CHAR('C'); SERIAL_ECHOLNPGM("CW"); } + // Move from leg to leg in rapid succession LOOP_L_N(l, n_legs - 1) { - float delta_angle; + // Move some distance around the perimeter + float delta_angle; if (schizoid_flag) { - // The points of a 5 point star are 72 degrees apart. We need to - // skip a point and go to the next one on the star. + // The points of a 5 point star are 72 degrees apart. + // Skip a point and go to the next one on the star. delta_angle = dir * 2.0 * 72.0; } else { - // If we do this line, we are just trying to move further - // around the circle. - delta_angle = dir * (float) random(25, 45); + // Just move further along the perimeter. + delta_angle = dir * (float)random(25, 45); } - angle += delta_angle; - while (angle > 360.0) angle -= 360.0; // We probably do not need to keep the angle between 0 and 2*PI, but the - // Arduino documentation says the trig functions should not be given values - while (angle < 0.0) angle += 360.0; // outside of this range. It looks like they behave correctly with - // numbers outside of the range, but just to be safe we clamp them. - const xy_pos_t noz_pos = probe_pos - probe.offset_xy; - next_pos.set(noz_pos.x + cos(RADIANS(angle)) * radius, - noz_pos.y + sin(RADIANS(angle)) * radius); + // Trig functions work without clamping, but just to be safe... + while (angle > 360.0) angle -= 360.0; + while (angle < 0.0) angle += 360.0; - #if DISABLED(DELTA) - LIMIT(next_pos.x, X_MIN_POS, X_MAX_POS); - LIMIT(next_pos.y, Y_MIN_POS, Y_MAX_POS); - #else - // If we have gone out too far, we can do a simple fix and scale the numbers - // back in closer to the origin. + // Choose the next position as an offset to chosen test position + const xy_pos_t noz_pos = test_position - probe.offset_xy; + xy_pos_t next_pos = { + noz_pos.x + cos(RADIANS(angle)) * radius, + noz_pos.y + sin(RADIANS(angle)) * radius + }; + + #if ENABLED(DELTA) + // If the probe can't reach the point on a round bed... + // Simply scale the numbers to bring them closer to origin. while (!probe.can_reach(next_pos)) { next_pos *= 0.8f; if (verbose_level > 3) SERIAL_ECHOLNPAIR_P(PSTR("Moving inward: X"), next_pos.x, SP_Y_STR, next_pos.y); } + #else + // For a rectangular bed just keep the probe in bounds + LIMIT(next_pos.x, X_MIN_POS, X_MAX_POS); + LIMIT(next_pos.y, Y_MIN_POS, Y_MAX_POS); #endif if (verbose_level > 3) @@ -194,45 +218,35 @@ void GcodeSuite::M48() { } // n_legs // Probe a single point - sample_set[n] = probe.probe_at_point(probe_pos, raise_after, 0); + const float pz = probe.probe_at_point(test_position, raise_after, 0); // Break the loop if the probe fails - probing_good = !isnan(sample_set[n]); + probing_good = !isnan(pz); if (!probing_good) break; - /** - * Get the current mean for the data points we have so far - */ - float sum = 0.0; - LOOP_LE_N(j, n) sum += sample_set[j]; - mean = sum / (n + 1); - - NOMORE(min, sample_set[n]); - NOLESS(max, sample_set[n]); - - /** - * Now, use that mean to calculate the standard deviation for the - * data points we have so far - */ - sum = 0.0; - LOOP_LE_N(j, n) - sum += sq(sample_set[j] - mean); - - sigma = SQRT(sum / (n + 1)); - if (verbose_level > 0) { - if (verbose_level > 1) { - SERIAL_ECHO(n + 1); - SERIAL_ECHOPAIR(" of ", int(n_samples)); - SERIAL_ECHOPAIR_F(": z: ", sample_set[n], 3); - if (verbose_level > 2) { - SERIAL_ECHOPAIR_F(" mean: ", mean, 4); - SERIAL_ECHOPAIR_F(" sigma: ", sigma, 6); - SERIAL_ECHOPAIR_F(" min: ", min, 3); - SERIAL_ECHOPAIR_F(" max: ", max, 3); - SERIAL_ECHOPAIR_F(" range: ", max-min, 3); - } - SERIAL_EOL(); - } + // Store the new sample + sample_set[n] = pz; + + // Keep track of the largest and smallest samples + NOMORE(min, pz); + NOLESS(max, pz); + + // Get the mean value of all samples thus far + sample_sum += pz; + mean = sample_sum / (n + 1); + + // Calculate the standard deviation so far. + // The value after the last sample will be the final output. + float dev_sum = 0.0; + LOOP_LE_N(j, n) dev_sum += sq(sample_set[j] - mean); + sigma = SQRT(dev_sum / (n + 1)); + + if (verbose_level > 1) { + SERIAL_ECHO(n + 1); + SERIAL_ECHOPAIR(" of ", int(n_samples)); + SERIAL_ECHOPAIR_F(": z: ", pz, 3); + dev_report(verbose_level > 2, mean, sigma, min, max); + SERIAL_EOL(); } } // n_samples loop @@ -242,16 +256,7 @@ void GcodeSuite::M48() { if (probing_good) { SERIAL_ECHOLNPGM("Finished!"); - - if (verbose_level > 0) { - SERIAL_ECHOPAIR_F("Mean: ", mean, 6); - SERIAL_ECHOPAIR_F(" Min: ", min, 3); - SERIAL_ECHOPAIR_F(" Max: ", max, 3); - SERIAL_ECHOLNPAIR_F(" Range: ", max-min, 3); - } - - SERIAL_ECHOLNPAIR_F("Standard Deviation: ", sigma, 6); - SERIAL_EOL(); + dev_report(verbose_level > 0, mean, sigma, min, max, true); #if HAS_SPI_LCD // Display M48 results in the status bar diff --git a/Marlin/src/gcode/config/M575.cpp b/Marlin/src/gcode/config/M575.cpp index 4144c366d114..3aa5844653c2 100644 --- a/Marlin/src/gcode/config/M575.cpp +++ b/Marlin/src/gcode/config/M575.cpp @@ -33,7 +33,21 @@ * B - Baud rate (bits per second) */ void GcodeSuite::M575() { - const int32_t baud = parser.ulongval('B'); + int32_t baud = parser.ulongval('B'); + switch (baud) { + case 24: + case 96: + case 192: + case 384: + case 576: + case 1152: baud *= 100; break; + case 250: + case 500: baud *= 1000; break; + case 19: baud = 19200; break; + case 38: baud = 38400; break; + case 57: baud = 57600; break; + case 115: baud = 115200; break; + } switch (baud) { case 2400: case 9600: case 19200: case 38400: case 57600: case 115200: case 250000: case 500000: case 1000000: { diff --git a/Marlin/src/gcode/config/M672.cpp b/Marlin/src/gcode/config/M672.cpp index 58dc27177046..af74230516e1 100644 --- a/Marlin/src/gcode/config/M672.cpp +++ b/Marlin/src/gcode/config/M672.cpp @@ -22,20 +22,12 @@ #include "../../inc/MarlinConfig.h" -#if ENABLED(SMART_EFFECTOR) && PIN_EXISTS(SMART_EFFECTOR_MOD) +#if ENABLED(DUET_SMART_EFFECTOR) && PIN_EXISTS(SMART_EFFECTOR_MOD) #include "../gcode.h" #include "../../HAL/shared/Delay.h" #include "../parser.h" -/** - * M672 - Set/reset Duet Smart Effector sensitivity - * - * One of these is required: - * S - 0-255 - * R - Flag to reset sensitivity to default - */ - /** * The Marlin format for the M672 command is different than shown in the Duet Smart Effector * documentation https://duet3d.dozuki.com/Wiki/Smart_effector_and_carriage_adapters_for_delta_printer @@ -77,6 +69,13 @@ void M672_send(uint8_t b) { // bit rate requirement: 1KHz +/- 30% } } +/** + * M672 - Set/reset Duet Smart Effector sensitivity + * + * One of these is required: + * S - 0-255 + * R - Flag to reset sensitivity to default + */ void GcodeSuite::M672() { if (parser.seen('R')) { M672_send(M672_ERASEBYTE); @@ -96,4 +95,4 @@ void GcodeSuite::M672() { OUT_WRITE(SMART_EFFECTOR_MOD_PIN, LOW); // Keep Smart Effector in NORMAL mode } -#endif // SMART_EFFECTOR && SMART_EFFECTOR_MOD_PIN +#endif // DUET_SMART_EFFECTOR && SMART_EFFECTOR_MOD_PIN diff --git a/Marlin/src/gcode/control/M80_M81.cpp b/Marlin/src/gcode/control/M80_M81.cpp index 0dede7ea644c..6302bb5c6787 100644 --- a/Marlin/src/gcode/control/M80_M81.cpp +++ b/Marlin/src/gcode/control/M80_M81.cpp @@ -21,16 +21,14 @@ */ #include "../gcode.h" + #include "../../module/temperature.h" -#include "../../module/stepper.h" -#include "../../module/printcounter.h" // for print_job_timer +#include "../../module/planner.h" // for planner.finish_and_disable +#include "../../module/printcounter.h" // for print_job_timer.stop +#include "../../lcd/ultralcd.h" // for LCD_MESSAGEPGM_P #include "../../inc/MarlinConfig.h" -#if HAS_LCD_MENU - #include "../../lcd/ultralcd.h" -#endif - #if HAS_SUICIDE #include "../../MarlinCore.h" #endif @@ -39,6 +37,8 @@ #if ENABLED(AUTO_POWER_CONTROL) #include "../../feature/power.h" + #else + void restore_stepper_drivers(); #endif // Could be moved to a feature, but this is all the data @@ -108,7 +108,5 @@ void GcodeSuite::M81() { PSU_OFF(); #endif - #if HAS_LCD_MENU - LCD_MESSAGEPGM_P(PSTR(MACHINE_NAME " " STR_OFF ".")); - #endif + LCD_MESSAGEPGM_P(PSTR(MACHINE_NAME " " STR_OFF ".")); } diff --git a/Marlin/src/gcode/control/M993_M994.cpp b/Marlin/src/gcode/control/M993_M994.cpp new file mode 100644 index 000000000000..4e13aa9d77df --- /dev/null +++ b/Marlin/src/gcode/control/M993_M994.cpp @@ -0,0 +1,92 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../inc/MarlinConfig.h" + +#if ALL(HAS_SPI_FLASH, SDSUPPORT, MARLIN_DEV_MODE) + +#include "../gcode.h" +#include "../../sd/cardreader.h" +#include "../../libs/W25Qxx.h" + +/** + * M993: Backup SPI Flash to SD + */ +void GcodeSuite::M993() { + if (!card.isMounted()) card.mount(); + + char fname[] = "spiflash.bin"; + card.openFileWrite(fname); + if (!card.isFileOpen()) { + SERIAL_ECHOLNPAIR("Failed to open ", fname, " to write."); + return; + } + + W25QXXFlash W25QXX; + + uint8_t buf[1024]; + uint32_t addr = 0; + W25QXX.init(SPI_QUARTER_SPEED); + SERIAL_ECHOPGM("Save SPI Flash"); + while (addr < SPI_FLASH_SIZE) { + W25QXX.SPI_FLASH_BufferRead(buf, addr, COUNT(buf)); + addr += COUNT(buf); + card.write(buf, COUNT(buf)); + if (addr % (COUNT(buf) * 10) == 0) SERIAL_CHAR('.'); + } + SERIAL_ECHOLNPGM(" done"); + + card.closefile(); +} + +/** + * M994: Load a backup from SD to SPI Flash + */ +void GcodeSuite::M994() { + if (!card.isMounted()) card.mount(); + + char fname[] = "spiflash.bin"; + card.openFileRead(fname); + if (!card.isFileOpen()) { + SERIAL_ECHOLNPAIR("Failed to open ", fname, " to read."); + return; + } + + W25QXXFlash W25QXX; + + uint8_t buf[1024]; + uint32_t addr = 0; + W25QXX.init(SPI_QUARTER_SPEED); + W25QXX.SPI_FLASH_BulkErase(); + SERIAL_ECHOPGM("Load SPI Flash"); + while(addr < SPI_FLASH_SIZE) { + card.read(buf, COUNT(buf)); + W25QXX.SPI_FLASH_BufferWrite(buf, addr, COUNT(buf)); + addr += COUNT(buf); + if (addr % (COUNT(buf) * 10) == 0) SERIAL_CHAR('.'); + } + SERIAL_ECHOLNPGM(" done"); + + card.closefile(); +} + +#endif // HAS_SPI_FLASH && SDSUPPORT && MARLIN_DEV_MODE diff --git a/Marlin/src/gcode/control/M997.cpp b/Marlin/src/gcode/control/M997.cpp index 6c28d42f41ee..cdff96f1acd8 100644 --- a/Marlin/src/gcode/control/M997.cpp +++ b/Marlin/src/gcode/control/M997.cpp @@ -28,7 +28,9 @@ * M997: Perform in-application firmware update */ void GcodeSuite::M997() { + flashFirmware(parser.intval('S')); + } #endif diff --git a/Marlin/src/gcode/eeprom/M500-M504.cpp b/Marlin/src/gcode/eeprom/M500-M504.cpp index 5aee68ba997a..26c50a6129a0 100644 --- a/Marlin/src/gcode/eeprom/M500-M504.cpp +++ b/Marlin/src/gcode/eeprom/M500-M504.cpp @@ -21,7 +21,7 @@ */ #include "../gcode.h" -#include "../../module/configuration_store.h" +#include "../../module/settings.h" #include "../../core/serial.h" #include "../../inc/MarlinConfig.h" @@ -60,7 +60,7 @@ void GcodeSuite::M502() { #if ENABLED(EEPROM_SETTINGS) #if ENABLED(MARLIN_DEV_MODE) - #include "../../libs/hex_print_routines.h" + #include "../../libs/hex_print.h" #endif /** diff --git a/Marlin/src/gcode/feature/camera/M240.cpp b/Marlin/src/gcode/feature/camera/M240.cpp index 9664ce15222b..fc350d8a558c 100644 --- a/Marlin/src/gcode/feature/camera/M240.cpp +++ b/Marlin/src/gcode/feature/camera/M240.cpp @@ -126,7 +126,7 @@ void GcodeSuite::M240() { #ifdef PHOTO_POSITION - if (axis_unhomed_error()) return; + if (homing_needed_error()) return; const xyz_pos_t old_pos = { current_position.x + parser.linearval('A'), diff --git a/Marlin/src/gcode/feature/caselight/M355.cpp b/Marlin/src/gcode/feature/caselight/M355.cpp index 4d2acd189c6d..bb6b57f666e3 100644 --- a/Marlin/src/gcode/feature/caselight/M355.cpp +++ b/Marlin/src/gcode/feature/caselight/M355.cpp @@ -20,45 +20,47 @@ * */ -#include "../../gcode.h" - #include "../../../inc/MarlinConfig.h" -#if HAS_CASE_LIGHT - #include "../../../feature/caselight.h" +#if ENABLED(CASE_LIGHT_ENABLE) - /** - * M355: Turn case light on/off and set brightness - * - * P Set case light brightness (PWM pin required - ignored otherwise) - * - * S Set case light on/off - * - * When S turns on the light on a PWM pin then the current brightness level is used/restored - * - * M355 P200 S0 turns off the light & sets the brightness level - * M355 S1 turns on the light with a brightness of 200 (assuming a PWM pin) - */ - void GcodeSuite::M355() { - uint8_t args = 0; - if (parser.seenval('P')) { - ++args, case_light_brightness = parser.value_byte(); - case_light_arg_flag = false; - } - if (parser.seenval('S')) { - ++args, case_light_on = parser.value_bool(); - case_light_arg_flag = true; - } - if (args) update_case_light(); +#include "../../../feature/caselight.h" +#include "../../gcode.h" - // always report case light status - SERIAL_ECHO_START(); - if (!case_light_on) { - SERIAL_ECHOLNPGM("Case light: off"); - } - else { - if (!PWM_PIN(CASE_LIGHT_PIN)) SERIAL_ECHOLNPGM("Case light: on"); - else SERIAL_ECHOLNPAIR("Case light: ", case_light_brightness); - } +/** + * M355: Turn case light on/off and set brightness + * + * P Set case light brightness (PWM pin required - ignored otherwise) + * + * S Set case light on/off + * + * When S turns on the light on a PWM pin then the current brightness level is used/restored + * + * M355 P200 S0 turns off the light & sets the brightness level + * M355 S1 turns on the light with a brightness of 200 (assuming a PWM pin) + */ +void GcodeSuite::M355() { + bool didset = false; + if (parser.seenval('P')) { + didset = true; + caselight.brightness = parser.value_byte(); + } + const bool sflag = parser.seenval('S'); + if (sflag) { + didset = true; + caselight.on = parser.value_bool(); } -#endif // HAS_CASE_LIGHT + if (didset) caselight.update(sflag); + + // Always report case light status + SERIAL_ECHO_START(); + SERIAL_ECHOPGM("Case light: "); + if (!caselight.on) + SERIAL_ECHOLNPGM(STR_OFF); + else { + if (!PWM_PIN(CASE_LIGHT_PIN)) SERIAL_ECHOLNPGM(STR_ON); + else SERIAL_ECHOLN(int(caselight.brightness)); + } +} + +#endif // CASE_LIGHT_ENABLE diff --git a/Marlin/src/gcode/feature/clean/G12.cpp b/Marlin/src/gcode/feature/clean/G12.cpp index fc99cc5c1d06..f91db39703f0 100644 --- a/Marlin/src/gcode/feature/clean/G12.cpp +++ b/Marlin/src/gcode/feature/clean/G12.cpp @@ -45,7 +45,7 @@ */ void GcodeSuite::G12() { // Don't allow nozzle cleaning without homing first - if (axis_unhomed_error()) return; + if (homing_needed_error()) return; #ifdef WIPE_SEQUENCE_COMMANDS if (!parser.seen_any()) { diff --git a/Marlin/src/gcode/feature/leds/M150.cpp b/Marlin/src/gcode/feature/leds/M150.cpp index 88f02951add2..cf09bf14ead7 100644 --- a/Marlin/src/gcode/feature/leds/M150.cpp +++ b/Marlin/src/gcode/feature/leds/M150.cpp @@ -35,7 +35,10 @@ * If brightness is left out, no value changed * * With NEOPIXEL_LED: - * I Set the Neopixel index to affect. Default: All + * I Set the NeoPixel index to affect. Default: All + * + * With NEOPIXEL2_SEPARATE: + * S The NeoPixel strip to set. Default is index 0. * * Examples: * @@ -47,18 +50,35 @@ * M150 P127 ; Set LED 50% brightness * M150 P ; Set LED full brightness * M150 I1 R ; Set NEOPIXEL index 1 to red + * M150 S1 I1 R ; Set SEPARATE index 1 to red */ + void GcodeSuite::M150() { #if ENABLED(NEOPIXEL_LED) - neo.set_neo_index(parser.intval('I', -1)); + const uint8_t index = parser.intval('I', -1); + #if ENABLED(NEOPIXEL2_SEPARATE) + const uint8_t unit = parser.intval('S'), + brightness = unit ? neo2.brightness() : neo.brightness(); + *(unit ? &neo2.neoindex : &neo.neoindex) = index; + #else + const uint8_t brightness = neo.brightness(); + neo.neoindex = index; + #endif #endif - leds.set_color(MakeLEDColor( + + const LEDColor color = MakeLEDColor( parser.seen('R') ? (parser.has_value() ? parser.value_byte() : 255) : 0, parser.seen('U') ? (parser.has_value() ? parser.value_byte() : 255) : 0, parser.seen('B') ? (parser.has_value() ? parser.value_byte() : 255) : 0, parser.seen('W') ? (parser.has_value() ? parser.value_byte() : 255) : 0, - parser.seen('P') ? (parser.has_value() ? parser.value_byte() : 255) : neo.brightness() - )); + parser.seen('P') ? (parser.has_value() ? parser.value_byte() : 255) : brightness + ); + + #if ENABLED(NEOPIXEL2_SEPARATE) + if (unit == 1) { leds2.set_color(color); return; } + #endif + + leds.set_color(color); } #endif // HAS_COLOR_LEDS diff --git a/Marlin/src/gcode/feature/password/M510-M512.cpp b/Marlin/src/gcode/feature/password/M510-M512.cpp new file mode 100644 index 000000000000..79f1da065b3c --- /dev/null +++ b/Marlin/src/gcode/feature/password/M510-M512.cpp @@ -0,0 +1,83 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../inc/MarlinConfigPre.h" + +#if ENABLED(PASSWORD_FEATURE) + +#include "../../../feature/password/password.h" +#include "../../../core/serial.h" +#include "../../gcode.h" + +// +// M510: Lock Printer +// +void GcodeSuite::M510() { + password.lock_machine(); +} + +// +// M511: Unlock Printer +// +#if ENABLED(PASSWORD_UNLOCK_GCODE) + + void GcodeSuite::M511() { + if (password.is_locked) { + password.value_entry = parser.ulongval('P'); + password.authentication_check(); + } + } + +#endif // PASSWORD_UNLOCK_GCODE + +// +// M512: Set/Change/Remove Password +// +#if ENABLED(PASSWORD_CHANGE_GCODE) + + void GcodeSuite::M512() { + if (password.is_set && parser.ulongval('P') != password.value) { + SERIAL_ECHOLNPGM(STR_WRONG_PASSWORD); + return; + } + + if (parser.seenval('S')) { + password.value_entry = parser.ulongval('S'); + + if (password.value_entry < CAT(1e, PASSWORD_LENGTH)) { + password.is_set = true; + password.value = password.value_entry; + SERIAL_ECHOLNPAIR(STR_PASSWORD_SET, password.value); // TODO: Update password.string + } + else + SERIAL_ECHOLNPGM(STR_PASSWORD_TOO_LONG); + } + else { + password.is_set = false; + SERIAL_ECHOLNPGM(STR_PASSWORD_REMOVED); + } + SERIAL_ECHOLNPGM(STR_REMINDER_SAVE_SETTINGS); + } + +#endif // PASSWORD_CHANGE_GCODE + +#endif // PASSWORD_FEATURE diff --git a/Marlin/src/gcode/feature/pause/G27.cpp b/Marlin/src/gcode/feature/pause/G27.cpp index ea6aadf173c0..3ce618d67568 100644 --- a/Marlin/src/gcode/feature/pause/G27.cpp +++ b/Marlin/src/gcode/feature/pause/G27.cpp @@ -34,7 +34,7 @@ */ void GcodeSuite::G27() { // Don't allow nozzle parking without homing first - if (axis_unhomed_error()) return; + if (homing_needed_error()) return; nozzle.park(parser.ushortval('P')); } diff --git a/Marlin/src/gcode/feature/pause/M701_M702.cpp b/Marlin/src/gcode/feature/pause/M701_M702.cpp index 7449787d780b..a02f2368e21c 100644 --- a/Marlin/src/gcode/feature/pause/M701_M702.cpp +++ b/Marlin/src/gcode/feature/pause/M701_M702.cpp @@ -61,7 +61,7 @@ void GcodeSuite::M701() { #if ENABLED(NO_MOTION_BEFORE_HOMING) // Don't raise Z if the machine isn't homed - if (axes_need_homing()) park_point.z = 0; + if (axes_should_home()) park_point.z = 0; #endif #if ENABLED(MIXING_EXTRUDER) @@ -149,7 +149,7 @@ void GcodeSuite::M702() { #if ENABLED(NO_MOTION_BEFORE_HOMING) // Don't raise Z if the machine isn't homed - if (axes_need_homing()) park_point.z = 0; + if (axes_should_home()) park_point.z = 0; #endif #if ENABLED(MIXING_EXTRUDER) diff --git a/Marlin/src/gcode/gcode.cpp b/Marlin/src/gcode/gcode.cpp index 7f00ec5a3401..c0a795025fc7 100644 --- a/Marlin/src/gcode/gcode.cpp +++ b/Marlin/src/gcode/gcode.cpp @@ -57,6 +57,10 @@ GcodeSuite gcode; #include "../feature/spindle_laser.h" #endif +#if ENABLED(PASSWORD_FEATURE) + #include "../feature/password/password.h" +#endif + #include "../MarlinCore.h" // for idle() // Inactivity shutdown @@ -241,6 +245,17 @@ void GcodeSuite::dwell(millis_t time) { void GcodeSuite::process_parsed_command(const bool no_ok/*=false*/) { KEEPALIVE_STATE(IN_HANDLER); + /** + * Block all Gcodes except M511 Unlock Printer, if printer is locked + * Will still block Gcodes if M511 is disabled, in which case the printer should be unlocked via LCD Menu + */ + #if ENABLED(PASSWORD_FEATURE) + if (password.is_locked && !(parser.command_letter == 'M' && parser.codenum == 511)) { + SERIAL_ECHO_MSG(STR_PRINTER_LOCKED); + return; + } + #endif + // Handle a known G, M, or T switch (parser.command_letter) { case 'G': switch (parser.codenum) { @@ -736,6 +751,16 @@ void GcodeSuite::process_parsed_command(const bool no_ok/*=false*/) { case 504: M504(); break; // M504: Validate EEPROM contents #endif + #if ENABLED(PASSWORD_FEATURE) + case 510: M510(); break; // M510: Lock Printer + #if ENABLED(PASSWORD_UNLOCK_GCODE) + case 511: M511(); break; // M511: Unlock Printer + #endif + #if ENABLED(PASSWORD_CHANGE_GCODE) + case 512: M512(); break; + #endif // M512: Set/Change/Remove Password + #endif + #if ENABLED(SDSUPPORT) case 524: M524(); break; // M524: Abort the current SD print job #endif @@ -765,7 +790,7 @@ void GcodeSuite::process_parsed_command(const bool no_ok/*=false*/) { case 666: M666(); break; // M666: Set delta or multiple endstop adjustment #endif - #if ENABLED(SMART_EFFECTOR) && PIN_EXISTS(SMART_EFFECTOR_MOD) + #if ENABLED(DUET_SMART_EFFECTOR) && PIN_EXISTS(SMART_EFFECTOR_MOD) case 672: M672(); break; // M672: Set/clear Duet Smart Effector sensitivity #endif @@ -842,7 +867,7 @@ void GcodeSuite::process_parsed_command(const bool no_ok/*=false*/) { case 351: M351(); break; // M351: Toggle MS1 MS2 pins directly, S# determines MS1 or MS2, X# sets the pin high/low. #endif - #if HAS_CASE_LIGHT + #if ENABLED(CASE_LIGHT_ENABLE) case 355: M355(); break; // M355: Set case light brightness #endif @@ -871,6 +896,15 @@ void GcodeSuite::process_parsed_command(const bool no_ok/*=false*/) { case 422: M422(); break; // M422: Set Z Stepper automatic alignment position using probe #endif + #if ALL(HAS_SPI_FLASH, SDSUPPORT, MARLIN_DEV_MODE) + case 993: M993(); break; // M993: Backup SPI Flash to SD + case 994: M994(); break; // M994: Load a Backup from SD to SPI Flash + #endif + + #if ENABLED(TOUCH_SCREEN_CALIBRATION) + case 995: M995(); break; // M995: Touch screen calibration for TFT display + #endif + #if ENABLED(PLATFORM_M997_SUPPORT) case 997: M997(); break; // M997: Perform in-application firmware update #endif diff --git a/Marlin/src/gcode/gcode.h b/Marlin/src/gcode/gcode.h index b3f339e295ec..23bf2c0ce5b1 100644 --- a/Marlin/src/gcode/gcode.h +++ b/Marlin/src/gcode/gcode.h @@ -155,7 +155,7 @@ * M141 - Set heated chamber target temp. S (Requires a chamber heater) * M145 - Set heatup values for materials on the LCD. H B F for S (0=PLA, 1=ABS) * M149 - Set temperature units. (Requires TEMPERATURE_UNITS_SUPPORT) - * M150 - Set Status LED Color as R U B P. Values 0-255. (Requires BLINKM, RGB_LED, RGBW_LED, NEOPIXEL_LED, PCA9533, or PCA9632). + * M150 - Set Status LED Color as R U B W P. Values 0-255. (Requires BLINKM, RGB_LED, RGBW_LED, NEOPIXEL_LED, PCA9533, or PCA9632). * M155 - Auto-report temperatures with interval of S. (Requires AUTO_REPORT_TEMPERATURES) * M163 - Set a single proportion for a mixing extruder. (Requires MIXING_EXTRUDER) * M164 - Commit the mix and save to a virtual tool (current, or as specified by 'S'). (Requires MIXING_EXTRUDER) @@ -225,6 +225,9 @@ * M502 - Revert to the default "factory settings". ** Does not write them to EEPROM! ** * M503 - Print the current settings (in memory): "M503 S". S0 specifies compact output. * M504 - Validate EEPROM contents. (Requires EEPROM_SETTINGS) + * M510 - Lock Printer + * M511 - Unlock Printer + * M512 - Set/Change/Remove Password * M524 - Abort the current SD print job started with M24. (Requires SDSUPPORT) * M540 - Enable/disable SD card abort on endstop hit: "M540 S". (Requires SD_ABORT_ON_ENDSTOP_HIT) * M569 - Enable stealthChop on an axis. (Requires at least one _DRIVER_TYPE to be TMC2130/2160/2208/2209/5130/5160) @@ -233,7 +236,7 @@ * M605 - Set Dual X-Carriage movement mode: "M605 S [X] [R]". (Requires DUAL_X_CARRIAGE) * M665 - Set delta configurations: "M665 H L R S B X Y Z (Requires DELTA) * M666 - Set/get offsets for delta (Requires DELTA) or dual endstops. (Requires [XYZ]_DUAL_ENDSTOPS) - * M672 - Set/Reset Duet Smart Effector's sensitivity. (Requires SMART_EFFECTOR and SMART_EFFECTOR_MOD_PIN) + * M672 - Set/Reset Duet Smart Effector's sensitivity. (Requires DUET_SMART_EFFECTOR and SMART_EFFECTOR_MOD_PIN) * M701 - Load filament (Requires FILAMENT_LOAD_UNLOAD_GCODES) * M702 - Unload filament (Requires FILAMENT_LOAD_UNLOAD_GCODES) * M810-M819 - Define/execute a G-code macro (Requires GCODE_MACROS) @@ -276,6 +279,9 @@ * ************ Custom codes - This can change to suit future G-code regulations * G425 - Calibrate using a conductive object. (Requires CALIBRATION_GCODE) * M928 - Start SD logging: "M928 filename.gco". Stop with M29. (Requires SDSUPPORT) + * M993 - Backup SPI Flash to SD + * M994 - Load a Backup from SD to SPI Flash + * M995 - Touch screen calibration for TFT display * M997 - Perform in-application firmware update * M999 - Restart after being stopped by error * @@ -701,7 +707,7 @@ class GcodeSuite { static void M351(); #endif - TERN_(HAS_CASE_LIGHT, static void M355()); + TERN_(CASE_LIGHT_ENABLE, static void M355()); TERN_(REPETIER_GCODE_M360, static void M360()); @@ -757,6 +763,16 @@ class GcodeSuite { #endif TERN_(EEPROM_SETTINGS, static void M504()); + #if ENABLED(PASSWORD_FEATURE) + static void M510(); + #if ENABLED(PASSWORD_UNLOCK_GCODE) + static void M511(); + #endif + #if ENABLED(PASSWORD_CHANGE_GCODE) + static void M512(); + #endif + #endif + TERN_(SDSUPPORT, static void M524()); TERN_(SD_ABORT_ON_ENDSTOP_HIT, static void M540()); @@ -776,7 +792,7 @@ class GcodeSuite { static void M666(); #endif - #if ENABLED(SMART_EFFECTOR) && PIN_EXISTS(SMART_EFFECTOR_MOD) + #if ENABLED(DUET_SMART_EFFECTOR) && PIN_EXISTS(SMART_EFFECTOR_MOD) static void M672(); #endif @@ -843,6 +859,13 @@ class GcodeSuite { TERN_(MAGNETIC_PARKING_EXTRUDER, static void M951()); + TERN_(TOUCH_SCREEN_CALIBRATION, static void M995()); + + #if BOTH(HAS_SPI_FLASH, SDSUPPORT) + static void M993(); + static void M994(); + #endif + TERN_(PLATFORM_M997_SUPPORT, static void M997()); static void M999(); diff --git a/Marlin/src/gcode/geometry/M206_M428.cpp b/Marlin/src/gcode/geometry/M206_M428.cpp index 2a007427a79c..a477a1a526ef 100644 --- a/Marlin/src/gcode/geometry/M206_M428.cpp +++ b/Marlin/src/gcode/geometry/M206_M428.cpp @@ -61,7 +61,7 @@ void GcodeSuite::M206() { * Use M206 to set these values directly. */ void GcodeSuite::M428() { - if (axis_unhomed_error()) return; + if (homing_needed_error()) return; xyz_float_t diff; LOOP_XYZ(i) { diff --git a/Marlin/src/gcode/host/M115.cpp b/Marlin/src/gcode/host/M115.cpp index c3ff9c8c1a9c..cd64c563f9fb 100644 --- a/Marlin/src/gcode/host/M115.cpp +++ b/Marlin/src/gcode/host/M115.cpp @@ -93,8 +93,8 @@ void GcodeSuite::M115() { cap_line(PSTR("SOFTWARE_POWER"), ENABLED(PSU_CONTROL)); // TOGGLE_LIGHTS (M355) - cap_line(PSTR("TOGGLE_LIGHTS"), ENABLED(HAS_CASE_LIGHT)); - cap_line(PSTR("CASE_LIGHT_BRIGHTNESS"), TERN0(HAS_CASE_LIGHT, PWM_PIN(CASE_LIGHT_PIN))); + cap_line(PSTR("TOGGLE_LIGHTS"), ENABLED(CASE_LIGHT_ENABLE)); + cap_line(PSTR("CASE_LIGHT_BRIGHTNESS"), TERN0(CASE_LIGHT_ENABLE, PWM_PIN(CASE_LIGHT_PIN))); // EMERGENCY_PARSER (M108, M112, M410, M876) cap_line(PSTR("EMERGENCY_PARSER"), ENABLED(EMERGENCY_PARSER)); diff --git a/Marlin/src/gcode/lcd/M995.cpp b/Marlin/src/gcode/lcd/M995.cpp new file mode 100644 index 000000000000..72d0d29f7683 --- /dev/null +++ b/Marlin/src/gcode/lcd/M995.cpp @@ -0,0 +1,39 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../inc/MarlinConfig.h" + +#if ENABLED(TOUCH_SCREEN_CALIBRATION) + +#include "../gcode.h" +#include "../../lcd/menu/menu.h" + +/** + * M995: Touch screen calibration for TFT display + */ +void GcodeSuite::M995() { + + ui.goto_screen(touch_screen_calibration); + +} + +#endif // TOUCH_SCREEN_CALIBRATION diff --git a/Marlin/src/gcode/motion/G0_G1.cpp b/Marlin/src/gcode/motion/G0_G1.cpp index 3aa082c25e83..b6ddf9634b7b 100644 --- a/Marlin/src/gcode/motion/G0_G1.cpp +++ b/Marlin/src/gcode/motion/G0_G1.cpp @@ -52,7 +52,7 @@ void GcodeSuite::G0_G1( if (IsRunning() #if ENABLED(NO_MOTION_BEFORE_HOMING) - && !axis_unhomed_error( + && !homing_needed_error( (parser.seen('X') ? _BV(X_AXIS) : 0) | (parser.seen('Y') ? _BV(Y_AXIS) : 0) | (parser.seen('Z') ? _BV(Z_AXIS) : 0) ) diff --git a/Marlin/src/gcode/motion/G5.cpp b/Marlin/src/gcode/motion/G5.cpp index 35cc4280239b..2c98fae84522 100644 --- a/Marlin/src/gcode/motion/G5.cpp +++ b/Marlin/src/gcode/motion/G5.cpp @@ -29,7 +29,7 @@ /** * Parameters interpreted according to: - * https://linuxcnc.org/docs/2.6/html/gcode/gcode.html#sec:G5-Cubic-Spline + * https://linuxcnc.org/docs/2.7/html/gcode/g-code.html#gcode:g5 * However I, J omission is not supported at this point; all * parameters can be omitted and default to zero. */ diff --git a/Marlin/src/gcode/parser.h b/Marlin/src/gcode/parser.h index 5474e5e5f394..eb614c33b4c9 100644 --- a/Marlin/src/gcode/parser.h +++ b/Marlin/src/gcode/parser.h @@ -31,7 +31,7 @@ //#define DEBUG_GCODE_PARSER #if ENABLED(DEBUG_GCODE_PARSER) - #include "../libs/hex_print_routines.h" + #include "../libs/hex_print.h" #endif #if ENABLED(TEMPERATURE_UNITS_SUPPORT) diff --git a/Marlin/src/gcode/queue.cpp b/Marlin/src/gcode/queue.cpp index c77db0bf2a1f..b9169d90e1c7 100644 --- a/Marlin/src/gcode/queue.cpp +++ b/Marlin/src/gcode/queue.cpp @@ -40,7 +40,7 @@ GCodeQueue queue; #endif #if ENABLED(BINARY_FILE_TRANSFER) - #include "../feature/binary_protocol.h" + #include "../feature/binary_stream.h" #endif #if ENABLED(POWER_LOSS_RECOVERY) @@ -628,11 +628,10 @@ void GCodeQueue::advance() { #if ENABLED(SERIAL_STATS_DROPPED_RX) SERIAL_ECHOLNPAIR("Dropped bytes: ", MYSERIAL0.dropped()); #endif - #if ENABLED(SERIAL_STATS_MAX_RX_QUEUED) SERIAL_ECHOLNPAIR("Max RX Queue Size: ", MYSERIAL0.rxMaxEnqueued()); #endif - #endif // !defined(__AVR__) || !defined(USBCON) + #endif ok_to_send(); } diff --git a/Marlin/src/gcode/sd/M1001.cpp b/Marlin/src/gcode/sd/M1001.cpp index 54bc452f97de..b28429f6315d 100644 --- a/Marlin/src/gcode/sd/M1001.cpp +++ b/Marlin/src/gcode/sd/M1001.cpp @@ -75,7 +75,10 @@ void GcodeSuite::M1001() { TERN_(POWER_LOSS_RECOVERY, recovery.purge()); // Announce SD file completion - SERIAL_ECHOLNPGM(STR_FILE_PRINTED); + { + PORT_REDIRECT(SERIAL_BOTH); + SERIAL_ECHOLNPGM(STR_FILE_PRINTED); + } // Update the status LED color #if HAS_LEDS_OFF_FLAG diff --git a/Marlin/src/inc/Conditionals_LCD.h b/Marlin/src/inc/Conditionals_LCD.h index 992a788eb54e..1476bbea4a55 100644 --- a/Marlin/src/inc/Conditionals_LCD.h +++ b/Marlin/src/inc/Conditionals_LCD.h @@ -62,6 +62,19 @@ #define ENCODER_STEPS_PER_MENU_ITEM 1 #define ENCODER_FEEDRATE_DEADZONE 2 +#elif ENABLED(ZONESTAR_12864LCD) + #define DOGLCD + #define IS_RRD_SC + #define U8GLIB_ST7920 + +#elif ENABLED(ZONESTAR_12864OLED) + #define IS_RRD_SC + #define U8GLIB_SH1106 + +#elif ENABLED(ZONESTAR_12864OLED_SSD1306) + #define IS_RRD_SC + #define IS_U8GLIB_SSD1306 + #elif ENABLED(RADDS_DISPLAY) #define IS_ULTIPANEL #define ENCODER_PULSES_PER_STEP 2 @@ -255,13 +268,17 @@ #define IS_ULTIPANEL #endif -// LVGL UI, SPI or FSMC +// FSMC/SPI TFT Panels (LVGL) #if EITHER(TFT_LVGL_UI_SPI, TFT_LVGL_UI_FSMC) #define HAS_TFT_LVGL_UI 1 #endif // FSMC/SPI TFT Panels -#if ENABLED(FSMC_GRAPHICAL_TFT) +#if EITHER(FSMC_GRAPHICAL_TFT, SPI_GRAPHICAL_TFT) + #define TFT_SCALED_DOGLCD 1 +#endif + +#if TFT_SCALED_DOGLCD #define DOGLCD #define IS_ULTIPANEL #define DELAYED_BACKLIGHT_INIT @@ -269,6 +286,28 @@ #define DELAYED_BACKLIGHT_INIT #endif +// FSMC/SPI TFT Panels using standard HAL/tft/tft_(fsmc|spi).h +#if ANY(TFT_320x240, TFT_480x320, TFT_LVGL_UI_FSMC, FSMC_GRAPHICAL_TFT) + #define HAS_FSMC_TFT 1 +#elif ANY(TFT_320x240_SPI, TFT_480x320_SPI, TFT_LVGL_UI_SPI, SPI_GRAPHICAL_TFT) + #define HAS_SPI_TFT 1 +#endif + +// Color UI +#if ANY(TFT_320x240, TFT_480x320, TFT_320x240_SPI, TFT_480x320_SPI) + #define HAS_GRAPHICAL_TFT 1 + #define IS_ULTIPANEL +#endif + +// Fewer lines with touch buttons on-screen +#if EITHER(TFT_320x240, TFT_320x240_SPI) + #define HAS_UI_320x240 1 + #define LCD_HEIGHT TERN(TOUCH_SCREEN, 6, 7) +#elif EITHER(TFT_480x320, TFT_480x320_SPI) + #define HAS_UI_480x320 1 + #define LCD_HEIGHT TERN(TOUCH_SCREEN, 6, 7) +#endif + /** * I2C Panels */ @@ -325,7 +364,7 @@ #endif #ifndef STD_ENCODER_PULSES_PER_STEP - #if ENABLED(TOUCH_BUTTONS) + #if ENABLED(TOUCH_SCREEN) #define STD_ENCODER_PULSES_PER_STEP 2 #else #define STD_ENCODER_PULSES_PER_STEP 5 @@ -386,7 +425,7 @@ #endif // Extensible UI serial touch screens. (See src/lcd/extui) -#if ANY(HAS_DGUS_LCD, MALYAN_LCD, TOUCH_UI_FTDI_EVE) +#if ANY(HAS_DGUS_LCD, MALYAN_LCD, TOUCH_UI_FTDI_EVE, ANYCUBIC_LCD_I3MEGA, ANYCUBIC_LCD_CHIRON) #define IS_EXTUI #define EXTENSIBLE_UI #endif @@ -394,22 +433,15 @@ // Aliases for LCD features #if EITHER(ULTRA_LCD, EXTENSIBLE_UI) #define HAS_DISPLAY 1 - #if ENABLED(ULTRA_LCD) - #define HAS_SPI_LCD 1 - #if ENABLED(DOGLCD) - #define HAS_GRAPHICAL_LCD 1 - #else - #define HAS_CHARACTER_LCD 1 - #endif - #endif #endif -#if ENABLED(SR_LCD_3W_NL) - // Feature checks for SR_LCD_3W_NL -#elif EITHER(LCD_I2C_TYPE_MCP23017, LCD_I2C_TYPE_MCP23008) - #define USES_LIQUIDTWI2 -#elif ANY(HAS_CHARACTER_LCD, LCD_I2C_TYPE_PCF8575, LCD_I2C_TYPE_PCA8574, SR_LCD_2W_NL, LCM1602) - #define USES_LIQUIDCRYSTAL +#if ENABLED(ULTRA_LCD) + #define HAS_SPI_LCD 1 + #if ENABLED(DOGLCD) + #define HAS_GRAPHICAL_LCD 1 + #elif DISABLED(HAS_GRAPHICAL_TFT) + #define HAS_CHARACTER_LCD 1 + #endif #endif #if ENABLED(ULTIPANEL) && DISABLED(NO_LCD_MENUS) @@ -480,7 +512,7 @@ #undef DISABLE_INACTIVE_EXTRUDER #endif -// Prusa MK2 Multiplexer and MMU 2.0 force SINGLENOZZLE +// Průša MK2 Multiplexer and MMU 2.0 force SINGLENOZZLE #if EITHER(MK2_MULTIPLEXER, PRUSA_MMU2) #define SINGLENOZZLE #endif @@ -749,9 +781,7 @@ #define EXTRUDE_MINTEMP 170 #endif -/** - * To check if we need the folder src/features/leds - */ -#if ANY(TEMP_STAT_LEDS, HAS_COLOR_LEDS, HAS_CASE_LIGHT, PRINTER_EVENT_LEDS, LED_BACKLIGHT_TIMEOUT, PCA9632_BUZZER, LED_CONTROL_MENU, NEOPIXEL_LED) - #define HAS_LED_FEATURE 1 +// This flag indicates if Neopixel pins are shared or separated +#if EITHER(MULTIPLE_NEOPIXEL_TYPES, NEOPIXEL2_INSERIES) + #define CONJOINED_NEOPIXEL 1 #endif diff --git a/Marlin/src/inc/Conditionals_adv.h b/Marlin/src/inc/Conditionals_adv.h index 85cb26dadb51..35542f9412ab 100644 --- a/Marlin/src/inc/Conditionals_adv.h +++ b/Marlin/src/inc/Conditionals_adv.h @@ -246,11 +246,44 @@ #endif #endif +#if BOTH(LED_CONTROL_MENU, NEOPIXEL2_SEPARATE) + #ifndef LED2_USER_PRESET_RED + #define LED2_USER_PRESET_RED 255 + #endif + #ifndef LED2_USER_PRESET_GREEN + #define LED2_USER_PRESET_GREEN 255 + #endif + #ifndef LED2_USER_PRESET_BLUE + #define LED2_USER_PRESET_BLUE 255 + #endif + #ifndef LED2_USER_PRESET_WHITE + #define LED2_USER_PRESET_WHITE 0 + #endif + #ifndef LED2_USER_PRESET_BRIGHTNESS + #ifdef NEOPIXEL2_BRIGHTNESS + #define LED2_USER_PRESET_BRIGHTNESS NEOPIXEL2_BRIGHTNESS + #else + #define LED2_USER_PRESET_BRIGHTNESS 255 + #endif + #endif +#endif + // If platform requires early initialization of watchdog to properly boot #if ENABLED(USE_WATCHDOG) && defined(ARDUINO_ARCH_SAM) #define EARLY_WATCHDOG 1 #endif +// Full Touch Screen needs 'tft/xpt2046' +#if EITHER(TOUCH_SCREEN, HAS_TFT_LVGL_UI) + #define HAS_TFT_XPT2046 1 +#endif + +// Touch Screen or "Touch Buttons" need XPT2046 pins +// but they use different components +#if EITHER(HAS_TFT_XPT2046, HAS_TOUCH_XPT2046) + #define NEED_TOUCH_PINS 1 +#endif + // Extensible UI pin mapping for RepRapDiscount #if ENABLED(TOUCH_UI_FTDI_EVE) && ANY(AO_EXP1_PINMAP, AO_EXP2_PINMAP, CR10_TFT_PINMAP) #define TOUCH_UI_ULTIPANEL 1 @@ -367,3 +400,13 @@ #if ENABLED(EEPROM_SETTINGS) && NONE(I2C_EEPROM, SPI_EEPROM, QSPI_EEPROM, FLASH_EEPROM_EMULATION, SRAM_EEPROM_EMULATION, SDCARD_EEPROM_EMULATION) #define NO_EEPROM_SELECTED 1 #endif + +// Flag whether hex_print.cpp is used +#if ANY(AUTO_BED_LEVELING_UBL, M100_FREE_MEMORY_WATCHER, DEBUG_GCODE_PARSER, TMC_DEBUG, MARLIN_DEV_MODE) + #define NEED_HEX_PRINT 1 +#endif + +// Flag whether least_squares_fit.cpp is used +#if ANY(AUTO_BED_LEVELING_UBL, AUTO_BED_LEVELING_LINEAR, Z_STEPPER_ALIGN_KNOWN_STEPPER_POSITIONS) + #define NEED_LSF 1 +#endif diff --git a/Marlin/src/inc/Conditionals_post.h b/Marlin/src/inc/Conditionals_post.h index b26523a98666..f566643bdb5b 100644 --- a/Marlin/src/inc/Conditionals_post.h +++ b/Marlin/src/inc/Conditionals_post.h @@ -312,6 +312,10 @@ #define _LCD_CONTRAST_INIT 17 #elif ENABLED(MINIPANEL) #define _LCD_CONTRAST_INIT 150 +#elif ENABLED(ZONESTAR_12864OLED) + #define _LCD_CONTRAST_MIN 64 + #define _LCD_CONTRAST_INIT 128 + #define _LCD_CONTRAST_MAX 255 #endif #ifdef _LCD_CONTRAST_INIT @@ -373,7 +377,7 @@ #endif -#if EITHER(LCD_USE_DMA_FSMC, FSMC_GRAPHICAL_TFT) || !PIN_EXISTS(SD_DETECT) +#if ANY(HAS_GRAPHICAL_TFT, LCD_USE_DMA_FSMC, FSMC_GRAPHICAL_TFT, SPI_GRAPHICAL_TFT) || !PIN_EXISTS(SD_DETECT) #define NO_LCD_REINIT 1 // Suppress LCD re-initialization #endif @@ -399,7 +403,7 @@ #ifndef PSU_NAME #if DISABLED(PSU_CONTROL) #define PSU_NAME "Generic" // No control - #elif PSU_ACTIVE_HIGH + #elif PSU_ACTIVE_STATE #define PSU_NAME "XBox" // X-Box 360 (203W) #else #define PSU_NAME "ATX" // ATX style @@ -1872,12 +1876,28 @@ #undef AUTO_POWER_CHAMBER_FAN #endif -// Other fans +// Print Cooling fans (limit) +#ifdef NUM_M106_FANS + #define MAX_FANS NUM_M106_FANS +#else + #define MAX_FANS 8 // Max supported fans +#endif + +#define _NOT_E_AUTO(N,F) (E##N##_AUTO_FAN_PIN != FAN##F##_PIN) +#define _HAS_FAN(F) (PIN_EXISTS(FAN##F) \ + && CONTROLLER_FAN_PIN != FAN##F##_PIN \ + && _NOT_E_AUTO(0,F) \ + && _NOT_E_AUTO(1,F) \ + && _NOT_E_AUTO(2,F) \ + && _NOT_E_AUTO(3,F) \ + && _NOT_E_AUTO(4,F) \ + && _NOT_E_AUTO(5,F) \ + && _NOT_E_AUTO(6,F) \ + && _NOT_E_AUTO(7,F) \ + && F < MAX_FANS) #if PIN_EXISTS(FAN) #define HAS_FAN0 1 #endif -#define _NOT_E_AUTO(N,F) (E##N##_AUTO_FAN_PIN != FAN##F##_PIN) -#define _HAS_FAN(F) (PIN_EXISTS(FAN##F) && CONTROLLER_FAN_PIN != FAN##F##_PIN && _NOT_E_AUTO(0,F) && _NOT_E_AUTO(1,F) && _NOT_E_AUTO(2,F) && _NOT_E_AUTO(3,F) && _NOT_E_AUTO(4,F) && _NOT_E_AUTO(5,F) && _NOT_E_AUTO(6,F) && _NOT_E_AUTO(7,F)) #if _HAS_FAN(1) #define HAS_FAN1 1 #endif @@ -1944,9 +1964,6 @@ #if PIN_EXISTS(PHOTOGRAPH) #define HAS_PHOTOGRAPH 1 #endif -#if PIN_EXISTS(CASE_LIGHT) && ENABLED(CASE_LIGHT_ENABLE) - #define HAS_CASE_LIGHT 1 -#endif // Digital control #if PIN_EXISTS(STEPPER_RESET) @@ -1955,7 +1972,7 @@ #if PIN_EXISTS(DIGIPOTSS) #define HAS_DIGIPOTSS 1 #endif -#if ANY_PIN(MOTOR_CURRENT_PWM_X, MOTOR_CURRENT_PWM_Y, MOTOR_CURRENT_PWM_XY, MOTOR_CURRENT_PWM_Z, MOTOR_CURRENT_PWM_E) +#if ANY_PIN(MOTOR_CURRENT_PWM_X, MOTOR_CURRENT_PWM_Y, MOTOR_CURRENT_PWM_XY, MOTOR_CURRENT_PWM_Z, MOTOR_CURRENT_PWM_E) #define HAS_MOTOR_CURRENT_PWM 1 #endif @@ -2223,7 +2240,7 @@ /** * MIN/MAX case light PWM scaling */ -#if HAS_CASE_LIGHT +#if ENABLED(CASE_LIGHT_ENABLE) #ifndef CASE_LIGHT_MAX_PWM #define CASE_LIGHT_MAX_PWM 255 #elif !WITHIN(CASE_LIGHT_MAX_PWM, 1, 255) @@ -2436,7 +2453,7 @@ */ #if PIN_EXISTS(BEEPER) || EITHER(LCD_USE_I2C_BUZZER, PCA9632_BUZZER) #define HAS_BUZZER 1 - #if DISABLED(LCD_USE_I2C_BUZZER, PCA9632_BUZZER) + #if NONE(LCD_USE_I2C_BUZZER, PCA9632_BUZZER) #define USE_BEEPER 1 #endif #endif diff --git a/Marlin/src/inc/SanityCheck.h b/Marlin/src/inc/SanityCheck.h index 9fde639b0f26..da5ddc1c2ddb 100644 --- a/Marlin/src/inc/SanityCheck.h +++ b/Marlin/src/inc/SanityCheck.h @@ -39,26 +39,20 @@ #define TEST2 1 #define TEST3 0 #define TEST4 true -#if ENABLED(TEST0) +#if ENABLED(TEST0) || !ENABLED(TEST2) || ENABLED(TEST3) #error "ENABLED is borked!" #endif -#if DISABLED(TEST1) - #error "DISABLED is borked!" -#endif -#if !ENABLED(TEST2) - #error "ENABLED is borked!" -#endif -#if ENABLED(TEST3) - #error "ENABLED is borked!" +#if BOTH(TEST0, TEST1) + #error "BOTH is borked!" #endif -#if DISABLED(TEST4) +#if DISABLED(TEST1) || !DISABLED(TEST3) || DISABLED(TEST4) || DISABLED(TEST0, TEST1, TEST2, TEST4) || !DISABLED(TEST0, TEST3) #error "DISABLED is borked!" #endif #if !ANY(TEST1, TEST2, TEST3, TEST4) || ANY(TEST0, TEST3) #error "ANY is borked!" #endif -#if DISABLED(TEST0, TEST1, TEST2, TEST4) - #error "DISABLED is borked!" +#if NONE(TEST0, TEST1, TEST2, TEST4) || !NONE(TEST0, TEST3) + #error "NONE is borked!" #endif #undef TEST1 #undef TEST2 @@ -419,8 +413,10 @@ #error "SPINDLE_DIR_CHANGE is now SPINDLE_CHANGE_DIR. Please update your Configuration_adv.h." #elif defined(SPINDLE_STOP_ON_DIR_CHANGE) #error "SPINDLE_STOP_ON_DIR_CHANGE is now SPINDLE_CHANGE_DIR_STOP. Please update your Configuration_adv.h." +#elif defined(SPINDLE_LASER_ACTIVE_HIGH) + #error "SPINDLE_LASER_ACTIVE_HIGH is now SPINDLE_LASER_ACTIVE_STATE. Please update your Configuration_adv.h." #elif defined(SPINDLE_LASER_ENABLE_INVERT) - #error "SPINDLE_LASER_ENABLE_INVERT is now SPINDLE_LASER_ACTIVE_HIGH. Please update your Configuration_adv.h." + #error "SPINDLE_LASER_ENABLE_INVERT is now SPINDLE_LASER_ACTIVE_STATE. Please update your Configuration_adv.h." #elif defined(CUTTER_POWER_DISPLAY) #error "CUTTER_POWER_DISPLAY is now CUTTER_POWER_UNIT. Please update your Configuration_adv.h." #elif defined(CHAMBER_HEATER_PIN) @@ -441,18 +437,18 @@ #error "USB_SD_DISABLED is now NO_SD_HOST_DRIVE. Please update your Configuration_adv.h." #elif defined(USB_SD_ONBOARD) #error "USB_SD_ONBOARD is obsolete. Disable NO_SD_HOST_DRIVE instead." +#elif defined(PSU_ACTIVE_HIGH) + #error "PSU_ACTIVE_HIGH is now PSU_ACTIVE_STATE. Please update your configuration." #elif POWER_SUPPLY == 1 - #error "Replace POWER_SUPPLY 1 by enabling PSU_CONTROL and setting PSU_ACTIVE_HIGH to 'false'." + #error "Replace POWER_SUPPLY 1 by enabling PSU_CONTROL and setting PSU_ACTIVE_STATE to 'LOW'." #elif POWER_SUPPLY == 2 - #error "Replace POWER_SUPPLY 2 by enabling PSU_CONTROL and setting PSU_ACTIVE_HIGH to 'true'." + #error "Replace POWER_SUPPLY 2 by enabling PSU_CONTROL and setting PSU_ACTIVE_STATE to 'HIGH'." #elif defined(POWER_SUPPLY) #error "POWER_SUPPLY is now obsolete. Please remove it from Configuration.h." #elif defined(MKS_ROBIN_TFT) #error "MKS_ROBIN_TFT is now FSMC_GRAPHICAL_TFT. Please update your configuration." #elif defined(TFT_LVGL_UI) #error "TFT_LVGL_UI is now TFT_LVGL_UI_FSMC. Please update your configuration." -#elif defined(SPI_GRAPHICAL_TFT) - #error "SPI_GRAPHICAL_TFT is now TFT_LVGL_UI_SPI. Please update your configuration." #elif defined(SDPOWER) #error "SDPOWER is now SDPOWER_PIN. Please update your configuration and/or pins." #elif defined(STRING_SPLASH_LINE1) || defined(STRING_SPLASH_LINE2) @@ -515,16 +511,23 @@ #error "[XYZ]_HOME_BUMP_MM is now HOMING_BUMP_MM. Please update Configuration_adv.h." #elif defined(DIGIPOT_I2C) #error "DIGIPOT_I2C is now DIGIPOT_MCP4451 (or DIGIPOT_MCP4018). Please update Configuration_adv.h." -#endif - -#ifdef FIL_RUNOUT_INVERTING +#elif defined(TOUCH_BUTTONS) + #error "TOUCH_BUTTONS is now TOUCH_SCREEN. Please update your Configuration.h." +#elif defined(LCD_FULL_PIXEL_HEIGHT) + #error "LCD_FULL_PIXEL_HEIGHT is deprecated and should be removed. Please update your Configuration.h." +#elif defined(LCD_FULL_PIXEL_WIDTH) + #error "LCD_FULL_PIXEL_WIDTH is deprecated and should be removed. Please update your Configuration.h." +#elif defined(FSMC_UPSCALE) + #error "FSMC_UPSCALE is now GRAPHICAL_TFT_UPSCALE. Please update your Configuration.h." +#elif defined(ANYCUBIC_TFT_MODEL) + #error "ANYCUBIC_TFT_MODEL is now ANYCUBIC_LCD_I3MEGA. Please update your Configuration.h." +#elif defined(EVENT_GCODE_SD_STOP) + #error "EVENT_GCODE_SD_STOP is now EVENT_GCODE_SD_ABORT. Please update your Configuration.h." +#elif defined(FIL_RUNOUT_INVERTING) #if FIL_RUNOUT_INVERTING - #warning "FIL_RUNOUT_INVERTING true is now FIL_RUNOUT_STATE HIGH. Please update Configuration.h." + #error "FIL_RUNOUT_INVERTING true is now FIL_RUNOUT_STATE HIGH. Please update your Configuration.h." #else - #warning "FIL_RUNOUT_INVERTING false is now FIL_RUNOUT_STATE LOW. Please update Configuration.h." - #endif - #ifndef FIL_RUNOUT_STATE - #define FIL_RUNOUT_STATE ((FIL_RUNOUT_INVERTING) ? HIGH : LOW) + #error "FIL_RUNOUT_INVERTING false is now FIL_RUNOUT_STATE LOW. Please update your Configuration.h." #endif #endif @@ -689,8 +692,8 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS #elif PROGRESS_MSG_EXPIRE < 0 #error "PROGRESS_MSG_EXPIRE must be greater than or equal to 0." #endif -#elif ENABLED(LCD_SET_PROGRESS_MANUALLY) && NONE(HAS_GRAPHICAL_LCD, EXTENSIBLE_UI) - #error "LCD_SET_PROGRESS_MANUALLY requires LCD_PROGRESS_BAR, Graphical LCD, or EXTENSIBLE_UI." +#elif ENABLED(LCD_SET_PROGRESS_MANUALLY) && NONE(HAS_GRAPHICAL_LCD, HAS_GRAPHICAL_TFT, EXTENSIBLE_UI) + #error "LCD_SET_PROGRESS_MANUALLY requires LCD_PROGRESS_BAR, Graphical LCD, TFT, or EXTENSIBLE_UI." #endif #if !HAS_LCD_MENU && ENABLED(SD_REPRINT_LAST_SELECTED_FILE) @@ -740,8 +743,8 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS #endif #endif -#if defined(EVENT_GCODE_SD_STOP) && DISABLED(NOZZLE_PARK_FEATURE) - static_assert(nullptr == strstr(EVENT_GCODE_SD_STOP, "G27"), "NOZZLE_PARK_FEATURE is required to use G27 in EVENT_GCODE_SD_STOP."); +#if defined(EVENT_GCODE_SD_ABORT) && DISABLED(NOZZLE_PARK_FEATURE) + static_assert(nullptr == strstr(EVENT_GCODE_SD_ABORT, "G27"), "NOZZLE_PARK_FEATURE is required to use G27 in EVENT_GCODE_SD_ABORT."); #endif /** @@ -819,7 +822,7 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS */ #if ENABLED(ADVANCED_PAUSE_FEATURE) #if !HAS_RESUME_CONTINUE - #error "ADVANCED_PAUSE_FEATURE currently requires an LCD controller or EMERGENCY_PARSER." + #error "ADVANCED_PAUSE_FEATURE requires a supported LCD controller (or EMERGENCY_PARSER)." #elif DISABLED(NOZZLE_PARK_FEATURE) #error "ADVANCED_PAUSE_FEATURE requires NOZZLE_PARK_FEATURE." #elif !defined(FILAMENT_UNLOAD_PURGE_FEEDRATE) @@ -1102,6 +1105,13 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS #error "FANMUX0_PIN and FANMUX1_PIN must be set before FANMUX2_PIN can be set." #endif +/** + * Limited user-controlled fans + */ +#if NUM_M106_FANS > FAN_COUNT + #error "The selected board doesn't support enough user-controlled fans. Reduce NUM_M106_FANS." +#endif + /** * Limited number of servos */ @@ -1307,7 +1317,7 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS static_assert(PROBING_MARGIN_RIGHT >= 0, "PROBING_MARGIN_RIGHT must be >= 0."); #endif - #define _MARGIN(A) TERN(IS_SCARA, SCARA_PRINTABLE_RADIUS, TERN(DELTA, DELTA_PRINTABLE_RADIUS, A##_CENTER)) + #define _MARGIN(A) TERN(IS_SCARA, SCARA_PRINTABLE_RADIUS, TERN(DELTA, DELTA_PRINTABLE_RADIUS, ((A##_BED_SIZE) / 2))) static_assert(PROBING_MARGIN < _MARGIN(X), "PROBING_MARGIN is too large."); static_assert(PROBING_MARGIN_BACK < _MARGIN(Y), "PROBING_MARGIN_BACK is too large."); static_assert(PROBING_MARGIN_FRONT < _MARGIN(Y), "PROBING_MARGIN_FRONT is too large."); @@ -1799,7 +1809,7 @@ static_assert(hbm[Z_AXIS] >= 0, "HOMING_BUMP_MM.Z must be greater than or equal /** * Test Heater, Temp Sensor, and Extruder Pins */ -#if !HAS_HEATER_0 +#if !HAS_HEATER_0 && EXTRUDERS #error "HEATER_0_PIN not defined for this board." #elif !ANY_PIN(TEMP_0, MAX6675_SS) #error "TEMP_0_PIN not defined for this board." @@ -2072,6 +2082,13 @@ static_assert(hbm[Z_AXIS] >= 0, "HOMING_BUMP_MM.Z must be greater than or equal #endif #endif +/** + * G35 Assisted Tramming + */ +#if ENABLED(ASSISTED_TRAMMING) && !HAS_BED_PROBE + #error "ASSISTED_TRAMMING requires a bed probe." +#endif + /** * G38 Probe Target */ @@ -2103,7 +2120,12 @@ static_assert(hbm[Z_AXIS] >= 0, "HOMING_BUMP_MM.Z must be greater than or equal #if !(PIN_EXISTS(NEOPIXEL) && NEOPIXEL_PIXELS > 0) #error "NEOPIXEL_LED requires NEOPIXEL_PIN and NEOPIXEL_PIXELS." #endif + #elif ENABLED(NEOPIXEL2_SEPARATE) + #if !(PIN_EXISTS(NEOPIXEL2) && NEOPIXEL2_PIXELS > 0) + #error "NEOPIXEL2 requires NEOPIXEL2_PIN and NEOPIXEL2_PIXELS." + #endif #endif + #undef _RGB_TEST #if DISABLED(NO_COMPILE_TIME_PWM) @@ -2174,7 +2196,7 @@ static_assert(hbm[Z_AXIS] >= 0, "HOMING_BUMP_MM.Z must be greater than or equal + (ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) && DISABLED(IS_RRD_FG_SC)) \ + (ENABLED(ULTRA_LCD) && DISABLED(IS_ULTRA_LCD)) \ + (ENABLED(U8GLIB_SSD1306) && DISABLED(IS_U8GLIB_SSD1306)) \ - + (ENABLED(MINIPANEL) && DISABLED(MKS_MINI_12864, ENDER2_STOCKDISPLAY)) \ + + (ENABLED(MINIPANEL) && NONE(MKS_MINI_12864, ENDER2_STOCKDISPLAY)) \ + (ENABLED(MKS_MINI_12864) && DISABLED(MKS_LCD12864)) \ + (ENABLED(EXTENSIBLE_UI) && DISABLED(IS_EXTUI)) \ + (ENABLED(ULTIPANEL) && DISABLED(IS_ULTIPANEL)) \ @@ -2218,6 +2240,9 @@ static_assert(hbm[Z_AXIS] >= 0, "HOMING_BUMP_MM.Z must be greater than or equal + ENABLED(OLED_PANEL_TINYBOY2) \ + ENABLED(MKS_12864OLED) \ + ENABLED(MKS_12864OLED_SSD1306) \ + + ENABLED(ZONESTAR_12864LCD) \ + + ENABLED(ZONESTAR_12864OLED) \ + + ENABLED(ZONESTAR_12864OLED_SSD1306) \ + ENABLED(U8GLIB_SH1106_EINSTART) \ + ENABLED(OVERLORD_OLED) \ + ENABLED(FYSETC_242_OLED_12864) \ @@ -2226,10 +2251,14 @@ static_assert(hbm[Z_AXIS] >= 0, "HOMING_BUMP_MM.Z must be greater than or equal + ENABLED(DGUS_LCD_UI_HIPRECY) \ + ENABLED(MALYAN_LCD) \ + ENABLED(TOUCH_UI_FTDI_EVE) \ + + ENABLED(TFT_320x240) \ + + ENABLED(TFT_320x240_SPI) \ + ENABLED(FSMC_GRAPHICAL_TFT) \ + ENABLED(TFT_LVGL_UI_FSMC) \ - + ENABLED(TFT_LVGL_UI_SPI) - #error "Please select no more than one LCD controller option." + + ENABLED(TFT_LVGL_UI_SPI) \ + + ENABLED(ANYCUBIC_LCD_I3MEGA) \ + + ENABLED(ANYCUBIC_LCD_CHIRON) + #error "Please select only one LCD controller option." #endif #undef IS_RRD_SC @@ -2848,7 +2877,7 @@ static_assert( _ARR_TEST(3,0) && _ARR_TEST(3,1) && _ARR_TEST(3,2) #endif /** - * Prusa MMU2 requirements + * Průša MMU2 requirements */ #if ENABLED(PRUSA_MMU2) #if EXTRUDERS != 5 @@ -2892,8 +2921,8 @@ static_assert( _ARR_TEST(3,0) && _ARR_TEST(3,1) && _ARR_TEST(3,2) * Ensure this option is set intentionally */ #if ENABLED(PSU_CONTROL) - #ifndef PSU_ACTIVE_HIGH - #error "PSU_CONTROL requires PSU_ACTIVE_HIGH to be defined as 'true' or 'false'." + #ifndef PSU_ACTIVE_STATE + #error "PSU_CONTROL requires PSU_ACTIVE_STATE to be defined as 'HIGH' or 'LOW'." #elif !PIN_EXISTS(PS_ON) #error "PSU_CONTROL requires PS_ON_PIN." #endif @@ -3036,11 +3065,27 @@ static_assert( _ARR_TEST(3,0) && _ARR_TEST(3,1) && _ARR_TEST(3,2) #endif /** - * Sanity checks for stepper chunk support + * Stepper Chunk support + */ +#if BOTH(DIRECT_STEPPING, LIN_ADVANCE) + #error "DIRECT_STEPPING is incompatible with LIN_ADVANCE. Enable in external planner if possible." +#endif + +/** + * Touch Buttons */ -#if ENABLED(DIRECT_STEPPING) - #if ENABLED(LIN_ADVANCE) - #error "DIRECT_STEPPING is incompatible with LIN_ADVANCE. Enable in external planner if possible." +#if ENABLED(TOUCH_SCREEN) + #ifndef XPT2046_X_CALIBRATION + #error "XPT2046_X_CALIBRATION must be defined with TOUCH_SCREEN." + #endif + #ifndef XPT2046_Y_CALIBRATION + #error "XPT2046_Y_CALIBRATION must be defined with TOUCH_SCREEN." + #endif + #ifndef XPT2046_X_OFFSET + #error "XPT2046_X_OFFSET must be defined with TOUCH_SCREEN." + #endif + #ifndef XPT2046_Y_OFFSET + #error "XPT2046_Y_OFFSET must be defined with TOUCH_SCREEN." #endif #endif @@ -3051,5 +3096,16 @@ static_assert( _ARR_TEST(3,0) && _ARR_TEST(3,1) && _ARR_TEST(3,2) #error "ESP3D_WIFISUPPORT or WIFISUPPORT requires an ESP32 controller." #endif +/** + * Sanity Check for Password Feature + */ +#if ENABLED(PASSWORD_FEATURE) + #if NONE(HAS_LCD_MENU, PASSWORD_UNLOCK_GCODE, PASSWORD_CHANGE_GCODE) + #error "Without PASSWORD_UNLOCK_GCODE, PASSWORD_CHANGE_GCODE, or a supported LCD there's no way to unlock the printer or set a password." + #elif DISABLED(EEPROM_SETTINGS) + #warning "PASSWORD_FEATURE settings will be lost on power-off without EEPROM_SETTINGS." + #endif +#endif + // Misc. Cleanup #undef _TEST_PWM diff --git a/Marlin/src/inc/Version.h b/Marlin/src/inc/Version.h index ed29a9e0e673..74d0cf2ab5af 100644 --- a/Marlin/src/inc/Version.h +++ b/Marlin/src/inc/Version.h @@ -25,7 +25,7 @@ * Release version. Leave the Marlin version or apply a custom scheme. */ #ifndef SHORT_BUILD_VERSION - #define SHORT_BUILD_VERSION "2.0.6" + #define SHORT_BUILD_VERSION "2.0.6.1" #endif /** @@ -42,7 +42,7 @@ * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE - #define STRING_DISTRIBUTION_DATE "2020-07-28" + #define STRING_DISTRIBUTION_DATE "2020-08-28" #endif /** diff --git a/Marlin/src/lcd/HD44780/ultralcd_HD44780.cpp b/Marlin/src/lcd/HD44780/ultralcd_HD44780.cpp index a924528c3053..22dd63f68cb0 100644 --- a/Marlin/src/lcd/HD44780/ultralcd_HD44780.cpp +++ b/Marlin/src/lcd/HD44780/ultralcd_HD44780.cpp @@ -997,15 +997,17 @@ void MarlinUI::draw_status_screen() { #endif // ADVANCED_PAUSE_FEATURE // Draw a static item with no left-right margin required. Centered by default. - void MenuItem_static::draw(const uint8_t row, PGM_P const pstr, const uint8_t style/*=SS_DEFAULT*/, const char * const valstr/*=nullptr*/) { + void MenuItem_static::draw(const uint8_t row, PGM_P const pstr, const uint8_t style/*=SS_DEFAULT*/, const char * const vstr/*=nullptr*/) { int8_t n = LCD_WIDTH; lcd_moveto(0, row); - if ((style & SS_CENTER) && !valstr) { - int8_t pad = (LCD_WIDTH - utf8_strlen_P(pstr)) / 2; + const int8_t plen = pstr ? utf8_strlen_P(pstr) : 0, + vlen = vstr ? utf8_strlen(vstr) : 0; + if (style & SS_CENTER) { + int8_t pad = (LCD_WIDTH - plen - vlen) / 2; while (--pad >= 0) { lcd_put_wchar(' '); n--; } } - n = lcd_put_u8str_ind_P(pstr, itemIndex, itemString, n); - if (valstr) n -= lcd_put_u8str_max(valstr, n); + if (plen) n = lcd_put_u8str_ind_P(pstr, itemIndex, itemString, n); + if (vlen) n -= lcd_put_u8str_max(vstr, n); for (; n > 0; --n) lcd_put_wchar(' '); } diff --git a/Marlin/src/lcd/dogm/HAL_LCD_com_defines.h b/Marlin/src/lcd/dogm/HAL_LCD_com_defines.h index df7f8dd44b8f..da7d4f6f1ec0 100644 --- a/Marlin/src/lcd/dogm/HAL_LCD_com_defines.h +++ b/Marlin/src/lcd/dogm/HAL_LCD_com_defines.h @@ -82,11 +82,6 @@ #define U8G_COM_SSD_I2C_HAL u8g_com_arduino_ssd_i2c_fn - #if PIN_EXISTS(FSMC_CS) - uint8_t u8g_com_stm32duino_fsmc_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); - #define U8G_COM_HAL_FSMC_FN u8g_com_stm32duino_fsmc_fn - #endif - #elif defined(TARGET_LPC1768) uint8_t u8g_com_HAL_LPC1768_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); @@ -117,6 +112,9 @@ #ifndef U8G_COM_SSD_I2C_HAL #define U8G_COM_SSD_I2C_HAL u8g_com_null_fn #endif -#ifndef U8G_COM_HAL_FSMC_FN - #define U8G_COM_HAL_FSMC_FN u8g_com_null_fn +#if EITHER(FSMC_GRAPHICAL_TFT, SPI_GRAPHICAL_TFT) + uint8_t u8g_com_hal_tft_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); + #define U8G_COM_HAL_TFT_FN u8g_com_hal_tft_fn +#else + #define U8G_COM_HAL_TFT_FN u8g_com_null_fn #endif diff --git a/Marlin/src/lcd/dogm/status_screen_lite_ST7920.cpp b/Marlin/src/lcd/dogm/status_screen_lite_ST7920.cpp index 9338ab82e83d..211acc86c6d4 100644 --- a/Marlin/src/lcd/dogm/status_screen_lite_ST7920.cpp +++ b/Marlin/src/lcd/dogm/status_screen_lite_ST7920.cpp @@ -591,16 +591,17 @@ void ST7920_Lite_Status_Screen::draw_fan_speed(const uint8_t value) { write_byte('%'); } -void ST7920_Lite_Status_Screen::draw_print_time(const duration_t &elapsed) { +void ST7920_Lite_Status_Screen::draw_print_time(const duration_t &elapsed, char suffix) { #if HOTENDS == 1 set_ddram_address(DDRAM_LINE_3); #else set_ddram_address(DDRAM_LINE_3 + 5); #endif char str[7]; - str[elapsed.toDigital(str)] = ' '; + int str_length = elapsed.toDigital(str); + str[str_length++] = suffix; begin_data(); - write_str(str, 6); + write_str(str, str_length); } void ST7920_Lite_Status_Screen::draw_feedrate_percentage(const uint16_t percentage) { @@ -714,6 +715,7 @@ void ST7920_Lite_Status_Screen::update_indicators(const bool forceUpdate) { if (forceUpdate || indicators_changed()) { const bool blink = ui.get_blink(); const duration_t elapsed = print_job_timer.duration(); + duration_t remaining = TERN0(USE_M73_REMAINING_TIME, ui.get_remaining_time()); const uint16_t feedrate_perc = feedrate_percentage; const int16_t extruder_1_temp = thermalManager.degHotend(0), extruder_1_target = thermalManager.degTargetHotend(0); @@ -738,7 +740,19 @@ void ST7920_Lite_Status_Screen::update_indicators(const bool forceUpdate) { #endif draw_fan_speed(thermalManager.fanPercent(spd)); - draw_print_time(elapsed); + + // Draw elapsed/remaining time + const bool show_remaining = ENABLED(SHOW_REMAINING_TIME) && (DISABLED(ROTATE_PROGRESS_DISPLAY) || blink); + if (show_remaining && !remaining.second()) { + const auto progress = ui.get_progress_percent(); + if (progress) + remaining = elapsed.second() * (100 - progress) / progress; + } + if (show_remaining && remaining.second()) + draw_print_time(remaining, 'R'); + else + draw_print_time(elapsed); + draw_feedrate_percentage(feedrate_perc); // Update the fan and bed animations @@ -819,16 +833,8 @@ void ST7920_Lite_Status_Screen::update_status_or_position(bool forceUpdate) { } if (countdown == 0 && (forceUpdate || position_changed() - #if DISABLED(DISABLE_REDUCED_ACCURACY_WARNING) - || blink_changed() - #endif - )) { - draw_position(current_position, true - #if DISABLED(DISABLE_REDUCED_ACCURACY_WARNING) - && all_axes_known() - #endif - ); - } + || TERN(DISABLE_REDUCED_ACCURACY_WARNING, 0, blink_changed()) + )) draw_position(current_position, TERN(DISABLE_REDUCED_ACCURACY_WARNING, 1, all_axes_known())); #endif } diff --git a/Marlin/src/lcd/dogm/status_screen_lite_ST7920.h b/Marlin/src/lcd/dogm/status_screen_lite_ST7920.h index bc18c43f107f..9f0815d099ce 100644 --- a/Marlin/src/lcd/dogm/status_screen_lite_ST7920.h +++ b/Marlin/src/lcd/dogm/status_screen_lite_ST7920.h @@ -80,14 +80,14 @@ class ST7920_Lite_Status_Screen { static void draw_fan_icon(const bool whichIcon); static void draw_heat_icon(const bool whichIcon, const bool heating); static void draw_temps(uint8_t line, const int16_t temp, const int16_t target, bool showTarget, bool targetStateChange); - static void draw_extruder_1_temp(const int16_t temp, const int16_t target, bool forceUpdate = false); - static void draw_extruder_2_temp(const int16_t temp, const int16_t target, bool forceUpdate = false); - static void draw_bed_temp(const int16_t temp, const int16_t target, bool forceUpdate = false); + static void draw_extruder_1_temp(const int16_t temp, const int16_t target, bool forceUpdate=false); + static void draw_extruder_2_temp(const int16_t temp, const int16_t target, bool forceUpdate=false); + static void draw_bed_temp(const int16_t temp, const int16_t target, bool forceUpdate=false); static void draw_fan_speed(const uint8_t value); - static void draw_print_time(const duration_t &elapsed); + static void draw_print_time(const duration_t &elapsed, char suffix=' '); static void draw_feedrate_percentage(const uint16_t percentage); static void draw_status_message(); - static void draw_position(const xyze_pos_t &pos, bool position_known = true); + static void draw_position(const xyze_pos_t &pos, bool position_known=true); static bool indicators_changed(); static bool position_changed(); diff --git a/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp b/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp index fc7a22b26143..39c294defe5b 100644 --- a/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp +++ b/Marlin/src/lcd/dogm/u8g_dev_tft_320x240_upscale_from_128x64.cpp @@ -20,67 +20,71 @@ * */ -/* - - u8g_dev_tft_320x240_upscale_from_128x64.cpp - - Universal 8bit Graphics Library - - Copyright (c) 2011, olikraus@gmail.com - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list - of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, this - list of conditions and the following disclaimer in the documentation and/or other - materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ +/** + * u8g_dev_tft_320x240_upscale_from_128x64.cpp + * + * Universal 8bit Graphics Library + * + * Copyright (c) 2011, olikraus@gmail.com + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this list + * of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, this + * list of conditions and the following disclaimer in the documentation and/or other + * materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ #include "../../inc/MarlinConfig.h" -#if HAS_GRAPHICAL_LCD && PIN_EXISTS(FSMC_CS) +#if HAS_GRAPHICAL_LCD && (PIN_EXISTS(FSMC_CS) || ENABLED(SPI_GRAPHICAL_TFT)) #include "HAL_LCD_com_defines.h" #include "ultralcd_DOGM.h" #include -#ifdef LCD_USE_DMA_FSMC - extern void LCD_IO_WriteReg(uint16_t Reg); - extern void LCD_IO_WriteData(uint16_t RegValue); - extern void LCD_IO_WriteSequence(uint16_t *data, uint16_t length); - extern void LCD_IO_WriteSequence_Async(uint16_t *data, uint16_t length); - extern void LCD_IO_WaitSequence_Async(); - extern void LCD_IO_WriteMultiple(uint16_t color, uint32_t count); +#if EITHER(LCD_USE_DMA_FSMC, LCD_USE_DMA_SPI) + #define HAS_LCD_IO 1 +#endif + +#if ENABLED(SPI_GRAPHICAL_TFT) + #include HAL_PATH(../../HAL, tft/tft_spi.h) +#elif ENABLED(FSMC_GRAPHICAL_TFT) + #include HAL_PATH(../../HAL, tft/tft_fsmc.h) #endif -#define WIDTH LCD_PIXEL_WIDTH +TFT_IO tftio; + +#define WIDTH LCD_PIXEL_WIDTH #define HEIGHT LCD_PIXEL_HEIGHT #define PAGE_HEIGHT 8 -#define X_LO LCD_PIXEL_OFFSET_X -#define Y_LO LCD_PIXEL_OFFSET_Y -#define X_HI (X_LO + (FSMC_UPSCALE) * WIDTH - 1) -#define Y_HI (Y_LO + (FSMC_UPSCALE) * HEIGHT - 1) +#include "../scaled_tft.h" + +#define UPSCALE0(M) ((M) * (GRAPHICAL_TFT_UPSCALE)) +#define UPSCALE(A,M) (UPSCALE0(M) + (A)) +#define X_HI (UPSCALE(TFT_PIXEL_OFFSET_X, WIDTH) - 1) +#define Y_HI (UPSCALE(TFT_PIXEL_OFFSET_Y, HEIGHT) - 1) // see https://ee-programming-notepad.blogspot.com/2016/10/16-bit-color-generator-picker.html @@ -146,61 +150,52 @@ static uint32_t lcd_id = 0; #define ILI9328_VASTART 0x52 /* Vertical address start position (0-511) */ #define ILI9328_VAEND 0x53 /* Vertical address end position (0-511) */ - static void setWindow_ili9328(u8g_t *u8g, u8g_dev_t *dev, uint16_t Xmin, uint16_t Ymin, uint16_t Xmax, uint16_t Ymax) { - #ifdef LCD_USE_DMA_FSMC - LCD_IO_WriteReg(ILI9328_HASTART); - LCD_IO_WriteData(Ymin); - LCD_IO_WriteReg(ILI9328_HAEND); - LCD_IO_WriteData(Ymax); - LCD_IO_WriteReg(ILI9328_VASTART); - LCD_IO_WriteData(Xmin); - LCD_IO_WriteReg(ILI9328_VAEND); - LCD_IO_WriteData(Xmax); - - LCD_IO_WriteReg(ILI9328_HASET); - LCD_IO_WriteData(Ymin); - LCD_IO_WriteReg(ILI9328_VASET); - LCD_IO_WriteData(Xmin); - - LCD_IO_WriteReg(ILI9328_WRITE_RAM); + #if HAS_LCD_IO + tftio.DataTransferBegin(DATASIZE_8BIT); + #define IO_REG_DATA(R,D) do { tftio.WriteReg(R); tftio.WriteData(D); }while(0) #else + #define IO_REG_DATA(R,D) do { u8g_WriteByte(u8g, dev, R); u8g_WriteSequence(u8g, dev, 2, (uint8_t *)&D); }while(0) + #endif + + #if NONE(LCD_USE_DMA_FSMC, LCD_USE_DMA_SPI) u8g_SetAddress(u8g, dev, 0); + #endif - u8g_WriteByte(u8g, dev, ILI9328_HASTART); - u8g_WriteSequence(u8g, dev, 2, (uint8_t *)&Ymin); - u8g_WriteByte(u8g, dev, ILI9328_HAEND); - u8g_WriteSequence(u8g, dev, 2, (uint8_t *)&Ymax); - u8g_WriteByte(u8g, dev, ILI9328_VASTART); - u8g_WriteSequence(u8g, dev, 2, (uint8_t *)&Xmin); - u8g_WriteByte(u8g, dev, ILI9328_VAEND); - u8g_WriteSequence(u8g, dev, 2, (uint8_t *)&Xmax); + IO_REG_DATA(ILI9328_HASTART, Ymin); + IO_REG_DATA(ILI9328_HAEND, Ymax); + IO_REG_DATA(ILI9328_VASTART, Xmin); + IO_REG_DATA(ILI9328_VAEND, Xmax); - u8g_WriteByte(u8g, dev, ILI9328_HASET); - u8g_WriteSequence(u8g, dev, 2, (uint8_t *)&Ymin); - u8g_WriteByte(u8g, dev, ILI9328_VASET); - u8g_WriteSequence(u8g, dev, 2, (uint8_t *)&Xmin); + IO_REG_DATA(ILI9328_HASET, Ymin); + IO_REG_DATA(ILI9328_VASET, Xmin); + #if HAS_LCD_IO + tftio.WriteReg(ILI9328_WRITE_RAM); + tftio.DataTransferEnd(); + #else u8g_WriteByte(u8g, dev, ILI9328_WRITE_RAM); u8g_SetAddress(u8g, dev, 1); #endif } static void setWindow_st7789v(u8g_t *u8g, u8g_dev_t *dev, uint16_t Xmin, uint16_t Ymin, uint16_t Xmax, uint16_t Ymax) { - #ifdef LCD_USE_DMA_FSMC - LCD_IO_WriteReg(ST7789V_CASET); - LCD_IO_WriteData((Xmin >> 8) & 0xFF); - LCD_IO_WriteData(Xmin & 0xFF); - LCD_IO_WriteData((Xmax >> 8) & 0xFF); - LCD_IO_WriteData(Xmax & 0xFF); - - LCD_IO_WriteReg(ST7789V_RASET); - LCD_IO_WriteData((Ymin >> 8) & 0xFF); - LCD_IO_WriteData(Ymin & 0xFF); - LCD_IO_WriteData((Ymax >> 8) & 0xFF); - LCD_IO_WriteData(Ymax & 0xFF); - - LCD_IO_WriteReg(ST7789V_WRITE_RAM); + #if HAS_LCD_IO + tftio.DataTransferBegin(DATASIZE_8BIT); + tftio.WriteReg(ST7789V_CASET); + tftio.WriteData((Xmin >> 8) & 0xFF); + tftio.WriteData(Xmin & 0xFF); + tftio.WriteData((Xmax >> 8) & 0xFF); + tftio.WriteData(Xmax & 0xFF); + + tftio.WriteReg(ST7789V_RASET); + tftio.WriteData((Ymin >> 8) & 0xFF); + tftio.WriteData(Ymin & 0xFF); + tftio.WriteData((Ymax >> 8) & 0xFF); + tftio.WriteData(Ymax & 0xFF); + + tftio.WriteReg(ST7789V_WRITE_RAM); + tftio.DataTransferEnd(); #else u8g_SetAddress(u8g, dev, 0); u8g_WriteByte(u8g, dev, ST7789V_CASET); u8g_SetAddress(u8g, dev, 1); u8g_WriteByte(u8g, dev, (Xmin >> 8) & 0xFF); @@ -221,32 +216,33 @@ static void setWindow_st7789v(u8g_t *u8g, u8g_dev_t *dev, uint16_t Xmin, uint16_ static void setWindow_none(u8g_t *u8g, u8g_dev_t *dev, uint16_t Xmin, uint16_t Ymin, uint16_t Xmax, uint16_t Ymax) {} void (*setWindow)(u8g_t *u8g, u8g_dev_t *dev, uint16_t Xmin, uint16_t Ymin, uint16_t Xmax, uint16_t Ymax) = setWindow_none; - #define ESC_REG(x) 0xFFFF, 0x00FF & (uint16_t)x #define ESC_DELAY(x) 0xFFFF, 0x8000 | (x & 0x7FFF) #define ESC_END 0xFFFF, 0x7FFF #define ESC_FFFF 0xFFFF, 0xFFFF -#ifdef LCD_USE_DMA_FSMC +#if HAS_LCD_IO void writeEscSequence(const uint16_t *sequence) { uint16_t data; for (;;) { data = *sequence++; if (data != 0xFFFF) { - LCD_IO_WriteData(data); + tftio.WriteData(data); continue; } data = *sequence++; if (data == 0x7FFF) return; if (data == 0xFFFF) { - LCD_IO_WriteData(data); + tftio.WriteData(data); } else if (data & 0x8000) { delay(data & 0x7FFF); } else if ((data & 0xFF00) == 0) { - LCD_IO_WriteReg(data); + tftio.WriteReg(data); } } } + #define WRITE_ESC_SEQUENCE(V) writeEscSequence(V) + #define WRITE_ESC_SEQUENCE16(V) writeEscSequence(V) #else void writeEscSequence8(u8g_t *u8g, u8g_dev_t *dev, const uint16_t *sequence) { uint16_t data; @@ -271,6 +267,8 @@ void (*setWindow)(u8g_t *u8g, u8g_dev_t *dev, uint16_t Xmin, uint16_t Ymin, uint } } + #define WRITE_ESC_SEQUENCE(V) writeEscSequence8(u8g, dev, V) + void writeEscSequence16(u8g_t *u8g, u8g_dev_t *dev, const uint16_t *sequence) { uint16_t data; u8g_SetAddress(u8g, dev, 0); @@ -292,13 +290,15 @@ void (*setWindow)(u8g_t *u8g, u8g_dev_t *dev, uint16_t Xmin, uint16_t Ymin, uint } u8g_SetAddress(u8g, dev, 1); } + + #define WRITE_ESC_SEQUENCE16(V) writeEscSequence16(u8g, dev, V) #endif static const uint16_t st7789v_init[] = { ESC_REG(0x0010), ESC_DELAY(10), ESC_REG(0x0001), ESC_DELAY(200), ESC_REG(0x0011), ESC_DELAY(120), - ESC_REG(0x0036), 0x00A0, + ESC_REG(0x0036), TERN(GRAPHICAL_TFT_ROTATE_180, 0x0060, 0x00A0), ESC_REG(0x003A), 0x0055, ESC_REG(0x002A), 0x0000, 0x0000, 0x0001, 0x003F, ESC_REG(0x002B), 0x0000, 0x0000, 0x0000, 0x00EF, @@ -366,7 +366,7 @@ static const uint16_t ili9328_init[] = { static const uint16_t ili9341_init[] = { ESC_REG(0x0010), ESC_DELAY(10), ESC_REG(0x0001), ESC_DELAY(200), - ESC_REG(0x0036), 0x00E8, + ESC_REG(0x0036), TERN(GRAPHICAL_TFT_ROTATE_180, 0x0028, 0x00E8), ESC_REG(0x003A), 0x0055, ESC_REG(0x002A), 0x0000, 0x0000, 0x0001, 0x003F, ESC_REG(0x002B), 0x0000, 0x0000, 0x0000, 0x00EF, @@ -381,7 +381,52 @@ static const uint16_t ili9341_init[] = { ESC_END }; -#if ENABLED(TOUCH_BUTTONS) +static const uint16_t ili9488_init[] = { + ESC_REG(0x00E0), 0x0000, 0x0007, 0x000F, 0x000D, 0x001B, 0x000A, 0x003C, 0x0078, 0x004A, 0x0007, 0x000E, 0x0009, 0x001B, 0x001E, 0x000F, + ESC_REG(0x00E1), 0x0000, 0x0022, 0x0024, 0x0006, 0x0012, 0x0007, 0x0036, 0x0047, 0x0047, 0x0006, 0x000A, 0x0007, 0x0030, 0x0037, 0x000F, + ESC_REG(0x00C0), 0x0010, 0x0010, + ESC_REG(0x00C1), 0x0041, + ESC_REG(0x00C5), 0x0000, 0x0022, 0x0080, + ESC_REG(0x0036), TERN(GRAPHICAL_TFT_ROTATE_180, 0x00A8, 0x0068), + ESC_REG(0x003A), 0x0055, + ESC_REG(0x00B0), 0x0000, + ESC_REG(0x00B1), 0x00B0, 0x0011, + ESC_REG(0x00B4), 0x0002, + ESC_REG(0x00B6), 0x0002, 0x0042, + ESC_REG(0x00B7), 0x00C6, + ESC_REG(0x00E9), 0x0000, + ESC_REG(0x00F0), 0x00A9, 0x0051, 0x002C, 0x0082, + ESC_REG(0x0029), + ESC_REG(0x0011), + ESC_DELAY(100), + ESC_END +}; + +static const uint16_t st7796_init[] = { + ESC_REG(0x0010), ESC_DELAY(120), + ESC_REG(0x0001), ESC_DELAY(120), + ESC_REG(0x0011), ESC_DELAY(120), + ESC_REG(0x00F0), 0x00C3, + ESC_REG(0x00F0), 0x0096, + ESC_REG(0x0036), TERN(GRAPHICAL_TFT_ROTATE_180, 0x00E8, 0x0028), + ESC_REG(0x003A), 0x0055, + ESC_REG(0x00B4), 0x0001, + ESC_REG(0x00B7), 0x00C6, + ESC_REG(0x00E8), 0x0040, 0x008A, 0x0000, 0x0000, 0x0029, 0x0019, 0x00A5, 0x0033, + ESC_REG(0x00C1), 0x0006, + ESC_REG(0x00C2), 0x00A7, + ESC_REG(0x00C5), 0x0018, + ESC_REG(0x00E0), 0x00F0, 0x0009, 0x000B, 0x0006, 0x0004, 0x0015, 0x002F, 0x0054, 0x0042, 0x003C, 0x0017, 0x0014, 0x0018, 0x001B, + ESC_REG(0x00E1), 0x00F0, 0x0009, 0x000B, 0x0006, 0x0004, 0x0003, 0x002D, 0x0043, 0x0042, 0x003B, 0x0016, 0x0014, 0x0017, 0x001B, + ESC_REG(0x00F0), 0x003C, + ESC_REG(0x00F0), 0x0069, ESC_DELAY(120), + ESC_REG(0x0029), + ESC_REG(0x0011), + ESC_DELAY(100), + ESC_END +}; + +#if HAS_TOUCH_XPT2046 static const uint8_t buttonD[] = { B01111111,B11111111,B11111111,B11111110, @@ -530,23 +575,23 @@ static const uint16_t ili9341_init[] = { #define BUTTON_SIZE_Y 20 // 14, 90, 166, 242, 185 are the original values upscaled 2x. - #define BUTTOND_X_LO (14 / 2) * (FSMC_UPSCALE) - #define BUTTOND_X_HI (BUTTOND_X_LO + (FSMC_UPSCALE) * BUTTON_SIZE_X - 1) + #define BUTTOND_X_LO UPSCALE0(14 / 2) + #define BUTTOND_X_HI (UPSCALE(BUTTOND_X_LO, BUTTON_SIZE_X) - 1) - #define BUTTONA_X_LO (90 / 2) * (FSMC_UPSCALE) - #define BUTTONA_X_HI (BUTTONA_X_LO + (FSMC_UPSCALE) * BUTTON_SIZE_X - 1) + #define BUTTONA_X_LO UPSCALE0(90 / 2) + #define BUTTONA_X_HI (UPSCALE(BUTTONA_X_LO, BUTTON_SIZE_X) - 1) - #define BUTTONB_X_LO (166 / 2) * (FSMC_UPSCALE) - #define BUTTONB_X_HI (BUTTONB_X_LO + (FSMC_UPSCALE) * BUTTON_SIZE_X - 1) + #define BUTTONB_X_LO UPSCALE0(166 / 2) + #define BUTTONB_X_HI (UPSCALE(BUTTONB_X_LO, BUTTON_SIZE_X) - 1) - #define BUTTONC_X_LO (242 / 2) * (FSMC_UPSCALE) - #define BUTTONC_X_HI (BUTTONC_X_LO + (FSMC_UPSCALE) * BUTTON_SIZE_X - 1) + #define BUTTONC_X_LO UPSCALE0(242 / 2) + #define BUTTONC_X_HI (UPSCALE(BUTTONC_X_LO, BUTTON_SIZE_X) - 1) - #define BUTTON_Y_LO (140 / 2) * (FSMC_UPSCALE) + 44 //184 2x, 254 3x - #define BUTTON_Y_HI (BUTTON_Y_LO + (FSMC_UPSCALE) * BUTTON_SIZE_Y - 1) + #define BUTTON_Y_LO UPSCALE0(140 / 2) + 44 // 184 2x, 254 3x + #define BUTTON_Y_HI (UPSCALE(BUTTON_Y_LO, BUTTON_SIZE_Y) - 1) void drawImage(const uint8_t *data, u8g_t *u8g, u8g_dev_t *dev, uint16_t length, uint16_t height, uint16_t color) { - uint16_t buffer[BUTTON_SIZE_X * sq(FSMC_UPSCALE)]; + uint16_t buffer[BUTTON_SIZE_X * sq(GRAPHICAL_TFT_UPSCALE)]; if (length > BUTTON_SIZE_X) return; @@ -558,22 +603,22 @@ static const uint16_t ili9341_init[] = { v = color; else v = TFT_MARLINBG_COLOR; - LOOP_L_N(n, FSMC_UPSCALE) buffer[k++] = v; + LOOP_L_N(n, GRAPHICAL_TFT_UPSCALE) buffer[k++] = v; } - #ifdef LCD_USE_DMA_FSMC - LOOP_S_L_N(n, 1, FSMC_UPSCALE) - for (uint16_t l = 0; l < length * (FSMC_UPSCALE); l++) - buffer[l + (length * (FSMC_UPSCALE) * n)] = buffer[l]; + #if HAS_LCD_IO + LOOP_S_L_N(n, 1, GRAPHICAL_TFT_UPSCALE) + for (uint16_t l = 0; l < UPSCALE0(length); l++) + buffer[l + n * UPSCALE0(length)] = buffer[l]; - LCD_IO_WriteSequence(buffer, length * sq(FSMC_UPSCALE)); + tftio.WriteSequence(buffer, length * sq(GRAPHICAL_TFT_UPSCALE)); #else - u8g_WriteSequence(u8g, dev, k << 1, (uint8_t*)buffer); - u8g_WriteSequence(u8g, dev, k << 1, (uint8_t*)buffer); + for (uint8_t i = GRAPHICAL_TFT_UPSCALE; i--;) + u8g_WriteSequence(u8g, dev, k << 1, (uint8_t*)buffer); #endif } } -#endif // TOUCH_BUTTONS +#endif // HAS_TOUCH_XPT2046 // Used to fill RGB565 (16bits) background inline void memset2(const void *ptr, uint16_t fill, size_t cnt) { @@ -586,43 +631,42 @@ static uint8_t page; uint8_t u8g_dev_tft_320x240_upscale_from_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) { u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); - #ifdef LCD_USE_DMA_FSMC - static uint16_t bufferA[WIDTH * sq(FSMC_UPSCALE)], bufferB[WIDTH * sq(FSMC_UPSCALE)]; + + #if HAS_LCD_IO + static uint16_t bufferA[WIDTH * sq(GRAPHICAL_TFT_UPSCALE)], bufferB[WIDTH * sq(GRAPHICAL_TFT_UPSCALE)]; uint16_t* buffer = &bufferA[0]; - bool allow_async = true; #else - uint16_t buffer[WIDTH*2]; // 16-bit RGB 565 pixel line buffer + uint16_t buffer[WIDTH * GRAPHICAL_TFT_UPSCALE]; // 16-bit RGB 565 pixel line buffer #endif + switch (msg) { case U8G_DEV_MSG_INIT: dev->com_fn(u8g, U8G_COM_MSG_INIT, U8G_SPI_CLK_CYCLE_NONE, &lcd_id); - + tftio.DataTransferBegin(DATASIZE_8BIT); switch (lcd_id & 0xFFFF) { case 0x8552: // ST7789V - #ifdef LCD_USE_DMA_FSMC - writeEscSequence(st7789v_init); - #else - writeEscSequence8(u8g, dev, st7789v_init); - #endif + WRITE_ESC_SEQUENCE(st7789v_init); setWindow = setWindow_st7789v; break; case 0x9328: // ILI9328 - #ifdef LCD_USE_DMA_FSMC - writeEscSequence(ili9328_init); - #else - writeEscSequence16(u8g, dev, ili9328_init); - #endif + WRITE_ESC_SEQUENCE16(ili9328_init); setWindow = setWindow_ili9328; break; case 0x9341: // ILI9341 + WRITE_ESC_SEQUENCE(ili9341_init); + setWindow = setWindow_st7789v; + break; case 0x8066: // Anycubic / TronXY TFTs (480x320) - #ifdef LCD_USE_DMA_FSMC - writeEscSequence(ili9341_init); - #else - writeEscSequence8(u8g, dev, ili9341_init); - #endif + WRITE_ESC_SEQUENCE(ili9488_init); + setWindow = setWindow_st7789v; + break; + case 0x7796: + WRITE_ESC_SEQUENCE(st7796_init); setWindow = setWindow_st7789v; break; + case 0x9488: + WRITE_ESC_SEQUENCE(ili9488_init); + setWindow = setWindow_st7789v; case 0x0404: // No connected display on FSMC lcd_id = 0; return 0; @@ -630,12 +674,10 @@ uint8_t u8g_dev_tft_320x240_upscale_from_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, u lcd_id = 0; return 0; default: - if (lcd_id && 0xFF000000) - setWindow = setWindow_st7789v; - else - setWindow = setWindow_ili9328; + setWindow = (lcd_id & 0xFF000000) ? setWindow_st7789v : setWindow_ili9328; break; } + tftio.DataTransferEnd(); if (preinit) { preinit = false; @@ -643,29 +685,29 @@ uint8_t u8g_dev_tft_320x240_upscale_from_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, u } // Clear Screen - setWindow(u8g, dev, 0, 0, LCD_FULL_PIXEL_WIDTH - 1, LCD_FULL_PIXEL_HEIGHT - 1); - #ifdef LCD_USE_DMA_FSMC - LCD_IO_WriteMultiple(TFT_MARLINBG_COLOR, LCD_FULL_PIXEL_WIDTH * LCD_FULL_PIXEL_HEIGHT); + setWindow(u8g, dev, 0, 0, (TFT_WIDTH) - 1, (TFT_HEIGHT) - 1); + #if HAS_LCD_IO + tftio.WriteMultiple(TFT_MARLINBG_COLOR, uint32_t(TFT_WIDTH) * (TFT_HEIGHT)); #else - memset2(buffer, TFT_MARLINBG_COLOR, 160); - for (uint16_t i = 0; i < 960; i++) - u8g_WriteSequence(u8g, dev, 160, (uint8_t *)buffer); + memset2(buffer, TFT_MARLINBG_COLOR, (TFT_WIDTH) / 2); + for (uint16_t i = 0; i < (TFT_HEIGHT) * sq(GRAPHICAL_TFT_UPSCALE); i++) + u8g_WriteSequence(u8g, dev, (TFT_WIDTH) / 2, (uint8_t *)buffer); #endif // Bottom buttons - #if ENABLED(TOUCH_BUTTONS) - setWindow(u8g, dev, BUTTOND_X_LO, BUTTON_Y_LO, BUTTOND_X_HI, BUTTON_Y_HI); + #if HAS_TOUCH_XPT2046 + setWindow(u8g, dev, BUTTOND_X_LO, BUTTON_Y_LO, BUTTOND_X_HI, BUTTON_Y_HI); drawImage(buttonD, u8g, dev, 32, 20, TFT_BTCANCEL_COLOR); - setWindow(u8g, dev, BUTTONA_X_LO, BUTTON_Y_LO, BUTTONA_X_HI, BUTTON_Y_HI); + setWindow(u8g, dev, BUTTONA_X_LO, BUTTON_Y_LO, BUTTONA_X_HI, BUTTON_Y_HI); drawImage(buttonA, u8g, dev, 32, 20, TFT_BTARROWS_COLOR); - setWindow(u8g, dev, BUTTONB_X_LO, BUTTON_Y_LO, BUTTONB_X_HI, BUTTON_Y_HI); + setWindow(u8g, dev, BUTTONB_X_LO, BUTTON_Y_LO, BUTTONB_X_HI, BUTTON_Y_HI); drawImage(buttonB, u8g, dev, 32, 20, TFT_BTARROWS_COLOR); - setWindow(u8g, dev, BUTTONC_X_LO, BUTTON_Y_LO, BUTTONC_X_HI, BUTTON_Y_HI); + setWindow(u8g, dev, BUTTONC_X_LO, BUTTON_Y_LO, BUTTONC_X_HI, BUTTON_Y_HI); drawImage(buttonC, u8g, dev, 32, 20, TFT_BTOKMENU_COLOR); - #endif // TOUCH_BUTTONS + #endif // HAS_TOUCH_XPT2046 return 0; @@ -673,7 +715,7 @@ uint8_t u8g_dev_tft_320x240_upscale_from_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, u case U8G_DEV_MSG_PAGE_FIRST: page = 0; - setWindow(u8g, dev, X_LO, Y_LO, X_HI, Y_HI); + setWindow(u8g, dev, TFT_PIXEL_OFFSET_X, TFT_PIXEL_OFFSET_Y, X_HI, Y_HI); break; case U8G_DEV_MSG_PAGE_NEXT: @@ -681,35 +723,26 @@ uint8_t u8g_dev_tft_320x240_upscale_from_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, u LOOP_L_N(y, PAGE_HEIGHT) { uint32_t k = 0; - #ifdef LCD_USE_DMA_FSMC + #if HAS_LCD_IO buffer = (y & 1) ? bufferB : bufferA; #endif for (uint16_t i = 0; i < (uint32_t)pb->width; i++) { const uint8_t b = *(((uint8_t *)pb->buf) + i); const uint16_t c = TEST(b, y) ? TFT_MARLINUI_COLOR : TFT_MARLINBG_COLOR; - LOOP_L_N(n, FSMC_UPSCALE) buffer[k++] = c; + LOOP_L_N(n, GRAPHICAL_TFT_UPSCALE) buffer[k++] = c; } - #ifdef LCD_USE_DMA_FSMC - LOOP_S_L_N(n, 1, FSMC_UPSCALE) - for (uint16_t l = 0; l < WIDTH * (FSMC_UPSCALE); l++) - buffer[l + WIDTH * (FSMC_UPSCALE) * n] = buffer[l]; - - if (allow_async) { - if (y > 0 || page > 1) LCD_IO_WaitSequence_Async(); - if (y == 7 && page == 8) - LCD_IO_WriteSequence(buffer, COUNT(bufferA)); // last line of last page - else - LCD_IO_WriteSequence_Async(buffer, COUNT(bufferA)); - } - else - LCD_IO_WriteSequence(buffer, COUNT(bufferA)); + #if HAS_LCD_IO + LOOP_S_L_N(n, 1, GRAPHICAL_TFT_UPSCALE) + for (uint16_t l = 0; l < UPSCALE0(WIDTH); l++) + buffer[l + n * UPSCALE0(WIDTH)] = buffer[l]; + + tftio.WriteSequence(buffer, COUNT(bufferA)); #else uint8_t* bufptr = (uint8_t*) buffer; - for (uint8_t i = 2; i--;) { - u8g_WriteSequence(u8g, dev, WIDTH, &bufptr[0]); - u8g_WriteSequence(u8g, dev, WIDTH, &bufptr[WIDTH]); - u8g_WriteSequence(u8g, dev, WIDTH, &bufptr[WIDTH*2]); - u8g_WriteSequence(u8g, dev, WIDTH, &bufptr[WIDTH*3]); + for (uint8_t i = GRAPHICAL_TFT_UPSCALE; i--;) { + LOOP_S_L_N(n, 0, GRAPHICAL_TFT_UPSCALE * 2) { + u8g_WriteSequence(u8g, dev, WIDTH, &bufptr[WIDTH * n]); + } } #endif } @@ -725,6 +758,59 @@ uint8_t u8g_dev_tft_320x240_upscale_from_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, u return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); } -U8G_PB_DEV(u8g_dev_tft_320x240_upscale_from_128x64, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_tft_320x240_upscale_from_128x64_fn, U8G_COM_HAL_FSMC_FN); +static uint8_t msgInitCount = 2; // Ignore all messages until 2nd U8G_COM_MSG_INIT + +uint8_t u8g_com_hal_tft_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) { + if (msgInitCount) { + if (msg == U8G_COM_MSG_INIT) msgInitCount--; + if (msgInitCount) return -1; + } + + static uint8_t isCommand; + + switch (msg) { + case U8G_COM_MSG_STOP: break; + case U8G_COM_MSG_INIT: + u8g_SetPIOutput(u8g, U8G_PI_RESET); + + u8g_Delay(50); + + tftio.Init(); + + if (arg_ptr) { + *((uint32_t *)arg_ptr) = tftio.GetID(); + } + isCommand = 0; + break; + + case U8G_COM_MSG_ADDRESS: // define cmd (arg_val = 0) or data mode (arg_val = 1) + isCommand = arg_val == 0 ? 1 : 0; + break; + + case U8G_COM_MSG_RESET: + u8g_SetPILevel(u8g, U8G_PI_RESET, arg_val); + break; + + case U8G_COM_MSG_WRITE_BYTE: + tftio.DataTransferBegin(DATASIZE_8BIT); + if (isCommand) + tftio.WriteReg(arg_val); + else + tftio.WriteData((uint16_t)arg_val); + tftio.DataTransferEnd(); + break; + + case U8G_COM_MSG_WRITE_SEQ: + tftio.DataTransferBegin(DATASIZE_16BIT); + for (uint8_t i = 0; i < arg_val; i += 2) + tftio.WriteData(*(uint16_t *)(((uint32_t)arg_ptr) + i)); + tftio.DataTransferEnd(); + break; + + } + return 1; +} + +U8G_PB_DEV(u8g_dev_tft_320x240_upscale_from_128x64, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_tft_320x240_upscale_from_128x64_fn, U8G_COM_HAL_TFT_FN); #endif // HAS_GRAPHICAL_LCD && FSMC_CS diff --git a/Marlin/src/lcd/dogm/ultralcd_DOGM.cpp b/Marlin/src/lcd/dogm/ultralcd_DOGM.cpp index 22f460afe701..7ebabd6950b3 100644 --- a/Marlin/src/lcd/dogm/ultralcd_DOGM.cpp +++ b/Marlin/src/lcd/dogm/ultralcd_DOGM.cpp @@ -246,7 +246,7 @@ void MarlinUI::init_lcd() { OUT_WRITE(LCD_BACKLIGHT_PIN, DISABLED(DELAYED_BACKLIGHT_INIT)); // Illuminate after reset or right away #endif - #if ANY(MKS_12864OLED, MKS_12864OLED_SSD1306, FYSETC_242_OLED_12864) + #if ANY(MKS_12864OLED, MKS_12864OLED_SSD1306, FYSETC_242_OLED_12864, ZONESTAR_12864OLED) SET_OUTPUT(LCD_PINS_DC); #ifndef LCD_RESET_PIN #define LCD_RESET_PIN LCD_PINS_RS @@ -347,20 +347,21 @@ void MarlinUI::clear_lcd() { } // Automatically cleared by Picture Loop } // Draw a static line of text in the same idiom as a menu item - void MenuItem_static::draw(const uint8_t row, PGM_P const pstr, const uint8_t style/*=SS_DEFAULT*/, const char * const valstr/*=nullptr*/) { + void MenuItem_static::draw(const uint8_t row, PGM_P const pstr, const uint8_t style/*=SS_DEFAULT*/, const char * const vstr/*=nullptr*/) { if (mark_as_selected(row, style & SS_INVERT)) { pixel_len_t n = LCD_PIXEL_WIDTH; // pixel width of string allowed - if ((style & SS_CENTER) && !valstr) - for (int8_t pad = (LCD_WIDTH - utf8_strlen_P(pstr)) / 2; pad > 0; --pad) { - lcd_put_wchar(' '); - n -= MENU_FONT_WIDTH; - } + const int8_t plen = pstr ? utf8_strlen_P(pstr) : 0, + vlen = vstr ? utf8_strlen(vstr) : 0; + if (style & SS_CENTER) { + int8_t pad = (LCD_WIDTH - plen - vlen) / 2; + while (--pad >= 0) n -= lcd_put_wchar(' '); + } - n = lcd_put_u8str_ind_P(pstr, itemIndex, itemString, n / (MENU_FONT_WIDTH)) * (MENU_FONT_WIDTH); - if (valstr) n -= lcd_put_u8str_max(valstr, n); + if (plen) n = lcd_put_u8str_ind_P(pstr, itemIndex, itemString, n / (MENU_FONT_WIDTH)) * (MENU_FONT_WIDTH); + if (vlen) n -= lcd_put_u8str_max(vstr, n); while (n > MENU_FONT_WIDTH) n -= lcd_put_wchar(' '); } } @@ -438,6 +439,7 @@ void MarlinUI::clear_lcd() { } // Automatically cleared by Picture Loop lcd_put_u8str(value); } } + TERN_(USE_BIG_EDIT_FONT, ui.set_font(FONT_MENU)); } inline void draw_boxed_string(const u8g_uint_t x, const u8g_uint_t y, PGM_P const pstr, const bool inv) { diff --git a/Marlin/src/lcd/dogm/ultralcd_DOGM.h b/Marlin/src/lcd/dogm/ultralcd_DOGM.h index 1b6dd0b9def8..228cee6848b4 100644 --- a/Marlin/src/lcd/dogm/ultralcd_DOGM.h +++ b/Marlin/src/lcd/dogm/ultralcd_DOGM.h @@ -33,6 +33,9 @@ //#define ALTERNATIVE_LCD #if ENABLED(REPRAPWORLD_GRAPHICAL_LCD) + + // RepRapWorld Graphical LCD + #define U8G_CLASS U8GLIB_ST7920_128X64_4X #if DISABLED(SDSUPPORT) && (LCD_PINS_D4 == SCK_PIN) && (LCD_PINS_ENABLE == MOSI_PIN) #define U8G_PARAM LCD_PINS_RS @@ -43,6 +46,7 @@ #elif ENABLED(U8GLIB_ST7920) // RepRap Discount Full Graphics Smart Controller + // and other variant LCDs using ST7920 #if DISABLED(SDSUPPORT) && (LCD_PINS_D4 == SCK_PIN) && (LCD_PINS_ENABLE == MOSI_PIN) #define U8G_CLASS U8GLIB_ST7920_128X64_4X_HAL // 2 stripes, HW SPI (Shared with SD card. Non-standard LCD adapter on AVR.) @@ -88,9 +92,29 @@ #define FORCE_SOFT_SPI // SW-SPI #endif -#elif ENABLED(MKS_12864OLED_SSD1306) +#elif ANY(FYSETC_MINI_12864, MKS_MINI_12864, ENDER2_STOCKDISPLAY) + + // The FYSETC Mini 12864 display // "4 stripes" + + // The MKS_MINI_12864 V1/V2 aren't exact copies of the MiniPanel. + // Panel management is in u8g_dev_uc1701_mini12864_HAL.cpp with + // extra delays added to remove glitches seen with fast MCUs. + + #define U8G_CLASS U8GLIB_MINI12864_2X_HAL // 8 stripes (HW-SPI) + +#elif ENABLED(MINIPANEL) + + #if ENABLED(ALTERNATIVE_LCD) + #define U8G_CLASS U8GLIB_MINI12864 + #else + #define U8G_CLASS U8GLIB_MINI12864_2X // 8 stripes (HW-SPI) + #endif + +#elif EITHER(MKS_12864OLED_SSD1306, FYSETC_242_OLED_12864) // MKS 128x64 (SSD1306) OLED I2C LCD + // - or - + // FYSETC OLED 2.42" 128 × 64 FULL GRAPHICS CONTROLLER #define FORCE_SOFT_SPI // SW-SPI @@ -100,40 +124,36 @@ #define U8G_CLASS U8GLIB_SSD1306_128X64 // 8 stripes #endif -#elif ENABLED(U8GLIB_SSD1306) +#elif ENABLED(ZONESTAR_12864OLED_SSD1306) - // Generic SSD1306 OLED I2C LCD + // Zonestar SSD1306 OLED SPI LCD + #define FORCE_SOFT_SPI // SW-SPI #if ENABLED(ALTERNATIVE_LCD) - #define U8G_CLASS U8GLIB_SSD1306_128X64_2X_I2C_2_WIRE // 4 stripes + #define U8G_CLASS U8GLIB_SH1306_128X64_2X // 4 stripes #else - #define U8G_CLASS U8GLIB_SSD1306_128X64_2X // 4 stripes + #define U8G_CLASS U8GLIB_SH1306_128X64 // 8 stripes #endif - #define U8G_PARAM (U8G_I2C_OPT_NONE | U8G_I2C_OPT_FAST) -#elif ENABLED(MKS_12864OLED) +#elif EITHER(MKS_12864OLED, ZONESTAR_12864OLED) // MKS 128x64 (SH1106) OLED I2C LCD + // - or - + // Zonestar SH1106 OLED SPI LCD #define FORCE_SOFT_SPI // SW-SPI - #if ENABLED(ALTERNATIVE_LCD) #define U8G_CLASS U8GLIB_SH1106_128X64_2X // 4 stripes #else #define U8G_CLASS U8GLIB_SH1106_128X64 // 8 stripes #endif -#elif ENABLED(FYSETC_242_OLED_12864) - - // FYSETC OLED 2.42" 128 × 64 FULL GRAPHICS CONTROLLER +#elif ENABLED(U8GLIB_SH1106_EINSTART) - #define FORCE_SOFT_SPI // SW-SPI + // Connected via motherboard header - #if ENABLED(ALTERNATIVE_LCD) - #define U8G_CLASS U8GLIB_SSD1306_128X64_2X // 4 stripes - #else - #define U8G_CLASS U8GLIB_SSD1306_128X64 // 8 stripes - #endif + #define U8G_CLASS U8GLIB_SH1106_128X64 + #define U8G_PARAM DOGLCD_SCK, DOGLCD_MOSI, DOGLCD_CS, LCD_PINS_DC, LCD_PINS_RS #elif ENABLED(U8GLIB_SH1106) @@ -153,41 +173,27 @@ #define U8G_CLASS U8GLIB_SSD1309_128X64 #define U8G_PARAM (U8G_I2C_OPT_NONE | U8G_I2C_OPT_FAST) // I2C -#elif ENABLED(FYSETC_MINI_12864) - - // The FYSETC Mini 12864 display - - #define U8G_CLASS U8GLIB_MINI12864_2X_HAL // 4 stripes - -#elif EITHER(MKS_MINI_12864, ENDER2_STOCKDISPLAY) - - // The MKS_MINI_12864 V1/V2 aren't exact copies of the MiniPanel. - // Panel management is in u8g_dev_uc1701_mini12864_HAL.cpp with - // extra delays added to remove glitches seen with fast MCUs. - - #define U8G_CLASS U8GLIB_MINI12864_2X_HAL // 8 stripes (HW-SPI) +#elif ENABLED(U8GLIB_SSD1306) -#elif ENABLED(MINIPANEL) + // Generic SSD1306 OLED I2C LCD #if ENABLED(ALTERNATIVE_LCD) - #define U8G_CLASS U8GLIB_MINI12864 + #define U8G_CLASS U8GLIB_SSD1306_128X64_2X_I2C_2_WIRE // 4 stripes #else - #define U8G_CLASS U8GLIB_MINI12864_2X // 8 stripes (HW-SPI) + #define U8G_CLASS U8GLIB_SSD1306_128X64_2X // 4 stripes #endif + #define U8G_PARAM (U8G_I2C_OPT_NONE | U8G_I2C_OPT_FAST) -#elif ENABLED(U8GLIB_SH1106_EINSTART) - - // Connected via motherboard header - - #define U8G_CLASS U8GLIB_SH1106_128X64 - #define U8G_PARAM DOGLCD_SCK, DOGLCD_MOSI, DOGLCD_CS, LCD_PINS_DC, LCD_PINS_RS - -#elif ENABLED(FSMC_GRAPHICAL_TFT) +#elif TFT_SCALED_DOGLCD // Unspecified 320x240 TFT pre-initialized by built-in bootloader #define U8G_CLASS U8GLIB_TFT_320X240_UPSCALE_FROM_128X64 - #define U8G_PARAM FSMC_CS_PIN, FSMC_RS_PIN + #if ENABLED(FSMC_GRAPHICAL_TFT) + #define U8G_PARAM FSMC_CS_PIN, FSMC_RS_PIN + #else + #define U8G_PARAM -1, -1 + #endif #else @@ -208,30 +214,9 @@ #endif #endif -// LCD_FULL_PIXEL_WIDTH = -// LCD_PIXEL_OFFSET_X + (LCD_PIXEL_WIDTH * 2) + LCD_PIXEL_OFFSET_X -#if ENABLED(FSMC_GRAPHICAL_TFT) - #ifndef LCD_FULL_PIXEL_WIDTH - #define LCD_FULL_PIXEL_WIDTH 320 - #endif - #ifndef LCD_PIXEL_OFFSET_X - #define LCD_PIXEL_OFFSET_X 32 - #endif - #ifndef LCD_FULL_PIXEL_HEIGHT - #define LCD_FULL_PIXEL_HEIGHT 240 - #endif - #ifndef LCD_PIXEL_OFFSET_Y - #define LCD_PIXEL_OFFSET_Y 32 - #endif -#endif - // For selective rendering within a Y range #define PAGE_OVER(ya) ((ya) <= u8g.getU8g()->current_page.y1) // Does the current page follow a region top? #define PAGE_UNDER(yb) ((yb) >= u8g.getU8g()->current_page.y0) // Does the current page precede a region bottom? #define PAGE_CONTAINS(ya, yb) ((yb) >= u8g.getU8g()->current_page.y0 && (ya) <= u8g.getU8g()->current_page.y1) // Do two vertical regions overlap? -#ifndef FSMC_UPSCALE - #define FSMC_UPSCALE 2 -#endif - extern U8G_CLASS u8g; diff --git a/Marlin/src/lcd/dwin/dwin.cpp b/Marlin/src/lcd/dwin/dwin.cpp index f8c1819c5138..d82efc568918 100644 --- a/Marlin/src/lcd/dwin/dwin.cpp +++ b/Marlin/src/lcd/dwin/dwin.cpp @@ -47,12 +47,16 @@ #include "../../feature/powerloss.h" #include "../../feature/babystep.h" -#include "../../module/configuration_store.h" +#include "../../module/settings.h" #include "../../module/temperature.h" #include "../../module/printcounter.h" #include "../../module/motion.h" #include "../../module/planner.h" +#if ENABLED(HOST_ACTION_COMMANDS) + #include "../../feature/host_actions.h" +#endif + #if HAS_LEVELING #include "../../feature/bedlevel/bedlevel.h" #endif @@ -61,8 +65,6 @@ #include "../../module/probe.h" #endif -#include "../../libs/buzzer.h" - #ifndef MACHINE_SIZE #define MACHINE_SIZE "220x220x250" #endif @@ -124,7 +126,7 @@ constexpr uint16_t TROWS = 6, MROWS = TROWS - 1, // Total rows, and other #define MBASE(L) (49 + (L)*MLINE) -#define BABY_Z_VAR TERN(HAS_LEVELING, probe.offset.z, zprobe_zoffset) +#define BABY_Z_VAR TERN(HAS_BED_PROBE, probe.offset.z, zprobe_zoffset) /* Value Init */ HMI_value_t HMI_ValueStruct; @@ -188,23 +190,23 @@ float last_zoffset = 0, last_probe_zoffset = 0; #define DWIN_LANGUAGE_EEPROM_ADDRESS 0x01 // Between 0x01 and 0x63 (EEPROM_OFFSET-1) // BL24CXX::check() uses 0x00 -void lcd_select_language(void) { - BL24CXX::read(DWIN_LANGUAGE_EEPROM_ADDRESS, (uint8_t*)&HMI_flag.language_flag, sizeof(HMI_flag.language_flag)); - if (HMI_flag.language_flag) +void HMI_SetLanguage(void) { + BL24CXX::read(DWIN_LANGUAGE_EEPROM_ADDRESS, (uint8_t*)&HMI_flag.language_chinese, sizeof(HMI_flag.language_chinese)); + if (HMI_flag.language_chinese) DWIN_JPG_CacheTo1(Language_Chinese); else DWIN_JPG_CacheTo1(Language_English); } -void set_english_to_eeprom(void) { - HMI_flag.language_flag = 0; +void HMI_SetAndSaveLanguageWestern(void) { + HMI_flag.language_chinese = false; DWIN_JPG_CacheTo1(Language_English); - BL24CXX::write(DWIN_LANGUAGE_EEPROM_ADDRESS, (uint8_t*)&HMI_flag.language_flag, sizeof(HMI_flag.language_flag)); + BL24CXX::write(DWIN_LANGUAGE_EEPROM_ADDRESS, (uint8_t*)&HMI_flag.language_chinese, sizeof(HMI_flag.language_chinese)); } -void set_chinese_to_eeprom(void) { - HMI_flag.language_flag = 1; +void HMI_SetAndSaveLanguageChinese(void) { + HMI_flag.language_chinese = true; DWIN_JPG_CacheTo1(Language_Chinese); - BL24CXX::write(DWIN_LANGUAGE_EEPROM_ADDRESS, (uint8_t*)&HMI_flag.language_flag, sizeof(HMI_flag.language_flag)); + BL24CXX::write(DWIN_LANGUAGE_EEPROM_ADDRESS, (uint8_t*)&HMI_flag.language_chinese, sizeof(HMI_flag.language_chinese)); } void show_plus_or_minus(uint8_t size, uint16_t bColor, uint8_t iNum, uint8_t fNum, uint16_t x, uint16_t y, long value) { @@ -221,14 +223,14 @@ void show_plus_or_minus(uint8_t size, uint16_t bColor, uint8_t iNum, uint8_t fNu void ICON_Print() { if (select_page.now == 0) { DWIN_ICON_Show(ICON, ICON_Print_1, 17, 130); - if (HMI_flag.language_flag) + if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 1, 447, 271 - 243, 479 - 19, 58, 201); else DWIN_Frame_AreaCopy(1, 1, 451, 271 - 240, 479 - 16, 72 - 15, 201); } else { DWIN_ICON_Show(ICON, ICON_Print_0, 17, 130); - if (HMI_flag.language_flag) + if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 1, 405, 271 - 243, 420, 58, 201); else DWIN_Frame_AreaCopy(1, 1, 423, 271 - 240, 423 + 12, 72 - 15, 201); @@ -238,14 +240,14 @@ void ICON_Print() { void ICON_Prepare() { if (select_page.now == 1) { DWIN_ICON_Show(ICON, ICON_Prepare_1, 145, 130); - if (HMI_flag.language_flag) + if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 31, 447, 271 - 213, 479 - 19, 186, 201); else DWIN_Frame_AreaCopy(1, 33, 451, 271 - 189, 479 - 13, 200 - 25, 201); } else { DWIN_ICON_Show(ICON, ICON_Prepare_0, 145, 130); - if (HMI_flag.language_flag) + if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 31, 405, 271 - 213, 420, 186, 201); else DWIN_Frame_AreaCopy(1, 33, 423, 271 - 189, 423 + 15, 200 - 25, 201); @@ -255,14 +257,14 @@ void ICON_Prepare() { void ICON_Control() { if (select_page.now == 2) { DWIN_ICON_Show(ICON, ICON_Control_1, 17, 246); - if (HMI_flag.language_flag) + if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 61, 447, 271 - 183, 479 - 19, 58, 318); else DWIN_Frame_AreaCopy(1, 85, 451, 271 - 139, 479 - 16, 72 - 24, 318); } else { DWIN_ICON_Show(ICON, ICON_Control_0, 17, 246); - if (HMI_flag.language_flag) + if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 61, 405, 271 - 183, 420, 58, 318); else DWIN_Frame_AreaCopy(1, 85, 423, 271 - 139, 479 - 45, 72 - 24, 318); @@ -272,14 +274,14 @@ void ICON_Control() { void ICON_StartInfo(bool show) { if (show) { DWIN_ICON_Show(ICON, ICON_Info_1, 145, 246); - if (HMI_flag.language_flag) + if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 91, 447, 271 - 153, 479 - 19, 186, 318); else DWIN_Frame_AreaCopy(1, 132, 451, 159, 479 - 13, 186, 318); } else { DWIN_ICON_Show(ICON, ICON_Info_0, 145, 246); - if (HMI_flag.language_flag) + if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 91, 405, 271 - 153, 420, 186, 318); else DWIN_Frame_AreaCopy(1, 132, 423, 159, 423 + 12, 186, 318); @@ -289,14 +291,14 @@ void ICON_StartInfo(bool show) { void ICON_Leveling(bool show) { if (show) { DWIN_ICON_Show(ICON, ICON_Leveling_1, 145, 246); - if (HMI_flag.language_flag) + if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 211, 447, 238, 479 - 19, 186, 318); else DWIN_Frame_AreaCopy(1, 84, 437, 120, 449, 200 - 18, 318); } else { DWIN_ICON_Show(ICON, ICON_Leveling_0, 145, 246); - if (HMI_flag.language_flag) + if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 211, 405, 238, 420, 186, 318); else DWIN_Frame_AreaCopy(1, 84, 465, 120, 478, 200 - 18, 318); @@ -306,14 +308,14 @@ void ICON_Leveling(bool show) { void ICON_Tune() { if (select_print.now == 0) { DWIN_ICON_Show(ICON, ICON_Setup_1, 8, 252); - if (HMI_flag.language_flag) + if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 121, 447, 271 - 123, 479 - 21, 34, 325); else DWIN_Frame_AreaCopy(1, 1, 465, 271 - 237, 479 - 2, 48 - 17, 325); } else { DWIN_ICON_Show(ICON, ICON_Setup_0, 8, 252); - if (HMI_flag.language_flag) + if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 121, 405, 271 - 123, 420, 34, 325); else DWIN_Frame_AreaCopy(1, 1, 438, 271 - 239, 479 - 31, 48 - 17, 325); @@ -323,14 +325,14 @@ void ICON_Tune() { void ICON_Pause() { if (select_print.now == 1) { DWIN_ICON_Show(ICON, ICON_Pause_1, 96, 252); - if (HMI_flag.language_flag) + if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 181, 447, 271 - 63, 479 - 20, 124, 325); else DWIN_Frame_AreaCopy(1, 177, 451, 271 - 55, 479 - 17, 136 - 20, 325); } else { DWIN_ICON_Show(ICON, ICON_Pause_0, 96, 252); - if (HMI_flag.language_flag) + if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 181, 405, 271 - 63, 420, 124, 325); else DWIN_Frame_AreaCopy(1, 177, 423, 271 - 56, 479 - 46, 136 - 20, 325); @@ -340,14 +342,14 @@ void ICON_Pause() { void ICON_Continue() { if (select_print.now == 1) { DWIN_ICON_Show(ICON, ICON_Continue_1, 96, 252); - if (HMI_flag.language_flag) + if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 1, 447, 271 - 243, 479 - 19, 124, 325); else DWIN_Frame_AreaCopy(1, 1, 451, 271 - 239, 479 - 16, 136 - 15, 325); } else { DWIN_ICON_Show(ICON, ICON_Continue_0, 96, 252); - if (HMI_flag.language_flag) + if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 1, 405, 271 - 243, 420, 124, 325); else DWIN_Frame_AreaCopy(1, 1, 424, 271 - 240, 479 - 45, 136 - 15, 325); @@ -357,14 +359,14 @@ void ICON_Continue() { void ICON_Stop() { if (select_print.now == 2) { DWIN_ICON_Show(ICON, ICON_Stop_1, 184, 252); - if (HMI_flag.language_flag) + if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 151, 447, 271 - 93, 479 - 20, 210, 325); else DWIN_Frame_AreaCopy(1, 218, 451, 271 - 22, 479 - 14, 224 - 15, 325); } else { DWIN_ICON_Show(ICON, ICON_Stop_0, 184, 252); - if (HMI_flag.language_flag) + if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 151, 405, 271 - 93, 420, 210, 325); else DWIN_Frame_AreaCopy(1, 218, 423, 271 - 24, 479 - 43, 224 - 15, 325); @@ -379,6 +381,10 @@ inline void Draw_Title(const char * const title) { DWIN_Draw_String(false, false, HEADER_FONT, White, Background_blue, 14, 4, (char*)title); } +inline void Draw_Title(const __FlashStringHelper * title) { + DWIN_Draw_String(false, false, HEADER_FONT, White, Background_blue, 14, 4, (char*)title); +} + inline void Clear_Menu_Area(void) { DWIN_Draw_Rectangle(1, Background_black, 0, 31, 272, 360); } @@ -448,7 +454,7 @@ inline void Draw_Menu_Line(const uint8_t line, const uint8_t icon=0, const char // The "Back" label is always on the first line inline void Draw_Back_Label(void) { - if (HMI_flag.language_flag) + if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 129, 72, 271 - 115, 479 - 395, LBLX, MBASE(0)); else DWIN_Frame_AreaCopy(1, 226, 179, 271 - 15, 479 - 290, LBLX, MBASE(0)); @@ -470,7 +476,7 @@ inline void draw_move_en(const uint16_t line) { } inline void Prepare_Item_Move(const uint8_t row) { - if (HMI_flag.language_flag) + if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 159, 70, 271 - 71, 479 - 395, LBLX, MBASE(row)); else draw_move_en(MBASE(row)); // "Move >" @@ -479,7 +485,7 @@ inline void Prepare_Item_Move(const uint8_t row) { } inline void Prepare_Item_Disable(const uint8_t row) { - if (HMI_flag.language_flag) + if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 204, 70, 271 - 12, 479 - 397, LBLX, MBASE(row)); else DWIN_Frame_AreaCopy(1, 103, 59, 271 - 71, 479 - 405, LBLX, MBASE(row)); // "Disable Stepper" @@ -487,7 +493,7 @@ inline void Prepare_Item_Disable(const uint8_t row) { } inline void Prepare_Item_Home(const uint8_t row) { - if (HMI_flag.language_flag) + if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 0, 89, 271 - 230, 479 - 378, LBLX, MBASE(row)); else DWIN_Frame_AreaCopy(1, 202, 61, 271 - 0, 479 - 408, LBLX, MBASE(row)); // "Auto Home" @@ -495,7 +501,7 @@ inline void Prepare_Item_Home(const uint8_t row) { } inline void Prepare_Item_Offset(const uint8_t row) { - if (HMI_flag.language_flag) { + if (HMI_flag.language_chinese) { #if HAS_BED_PROBE DWIN_Frame_AreaCopy(1, 174, 164, 271 - 48, 479 - 302, LBLX, MBASE(row)); show_plus_or_minus(font8x16, Background_black, 2, 2, 202, MBASE(row), probe.offset.z * 100); @@ -515,7 +521,7 @@ inline void Prepare_Item_Offset(const uint8_t row) { } inline void Prepare_Item_PLA(const uint8_t row) { - if (HMI_flag.language_flag) { + if (HMI_flag.language_chinese) { DWIN_Frame_AreaCopy(1, 100, 89, 271 - 93 - 27, 479 - 378, LBLX, MBASE(row)); } else { @@ -526,7 +532,7 @@ inline void Prepare_Item_PLA(const uint8_t row) { } inline void Prepare_Item_ABS(const uint8_t row) { - if (HMI_flag.language_flag) { + if (HMI_flag.language_chinese) { DWIN_Frame_AreaCopy(1, 180, 89, 271 - 11 - 27, 479 - 379, LBLX, MBASE(row)); } else { @@ -537,7 +543,7 @@ inline void Prepare_Item_ABS(const uint8_t row) { } inline void Prepare_Item_Cool(const uint8_t row) { - if (HMI_flag.language_flag) + if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 1, 104, 271 - 215, 479 - 362, LBLX, MBASE(row)); else DWIN_Frame_AreaCopy(1, 200, 76, 271 - 7, 479 - 393, LBLX, MBASE(row));// "Cooldown" @@ -545,7 +551,7 @@ inline void Prepare_Item_Cool(const uint8_t row) { } inline void Prepare_Item_Lang(const uint8_t row) { - if (HMI_flag.language_flag) { + if (HMI_flag.language_chinese) { DWIN_Frame_AreaCopy(1, 239, 134, 271 - 5, 479 - 333, LBLX, MBASE(row)); DWIN_Draw_String(false, false, font8x16, White, Background_black, 226, MBASE(row), (char*)"CN"); } @@ -563,12 +569,12 @@ inline void Draw_Prepare_Menu() { #define PSCROL(L) (scroll + (L)) #define PVISI(L) WITHIN(PSCROL(L), 0, MROWS) - if (HMI_flag.language_flag) { + if (HMI_flag.language_chinese) { DWIN_Frame_AreaCopy(1, 133, 1, 271 - 111, 479 - 465 - 1, 14, 8); // "Prepare" } else { #ifdef USE_STRING_HEADINGS - Draw_Title("Prepare"); // TODO: GET_TEXT_F + Draw_Title(GET_TEXT_F(MSG_PREPARE)); #else DWIN_Frame_AreaCopy(1, 178, 2, 271 - 42, 479 - 464 - 1, 14, 8); // "Prepare" #endif @@ -598,7 +604,7 @@ inline void Draw_Control_Menu() { if (CVISI(0)) Draw_Back_First(select_control.now == 0); // < Back - if (HMI_flag.language_flag) { + if (HMI_flag.language_chinese) { DWIN_Frame_AreaCopy(1, 103, 1, 271 - 141, 479 - 465, 14, 8); DWIN_Frame_AreaCopy(1, 57, 104, 271 - 187, 479 - 363, LBLX, CLINE(1)); // Temperature > DWIN_Frame_AreaCopy(1, 87, 104, 271 - 157, 479 - 363, LBLX, CLINE(2)); // Motion > @@ -611,23 +617,26 @@ inline void Draw_Control_Menu() { } else { #ifdef USE_STRING_HEADINGS - Draw_Title("Control"); // TODO: GET_TEXT_F + Draw_Title(GET_TEXT_F(MSG_CONTROL)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 0), (char*)GET_TEXT_F(MSG_TEMPERATURE)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 1), (char*)GET_TEXT_F(MSG_MOTION)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), (char*)GET_TEXT_F(MSG_STORE_EEPROM)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), (char*)GET_TEXT_F(MSG_LOAD_EEPROM)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 4), (char*)GET_TEXT_F(MSG_RESTORE_DEFAULTS)); + if (CVISI(6)) + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 5), (char*)"Info"); #else DWIN_Frame_AreaCopy(1, 128, 2, 271 - 95, 479 - 467, 14, 8); + DWIN_Frame_AreaCopy(1, 1, 89, 271 - 188, 479 - 377 - 1, LBLX, CLINE(1));// Temperature > + DWIN_Frame_AreaCopy(1, 84, 89, 271 - 143, 479 - 380, LBLX, CLINE(2));// Motion > + DWIN_Frame_AreaCopy(1, 131 + 17, 89, 271 - 3, 479 - 377 - 1, LBLX, CLINE(3));// "Store Configuration" + DWIN_Frame_AreaCopy(1, 26, 104, 271 - 214, 479 - 365, LBLX, CLINE(4)); // "Read" + DWIN_Frame_AreaCopy(1, 131 + 51, 89, 271 - 3, 479 - 377 - 1, LBLX + 31 + 3, CLINE(4)); // "Configuration" + DWIN_Frame_AreaCopy(1, 59, 104, 271 - 178, 479 - 365, LBLX, CLINE(5)); // "Reset" + DWIN_Frame_AreaCopy(1, 131 + 51, 89, 271 - 3, 479 - 377 - 1, LBLX + 34 + 3, CLINE(5)); // "Configuration" + if (CVISI(6)) + DWIN_Frame_AreaCopy(1, 0, 104, 25, 115, LBLX, CLINE(6)); // Info > #endif - - DWIN_Frame_AreaCopy(1, 1, 89, 271 - 188, 479 - 377 - 1, LBLX, CLINE(1));// Temperature > - DWIN_Frame_AreaCopy(1, 84, 89, 271 - 143, 479 - 380, LBLX, CLINE(2));// Motion > - DWIN_Frame_AreaCopy(1, 131 + 17, 89, 271 - 3, 479 - 377 - 1, LBLX, CLINE(3));// "Store Configuration" - - DWIN_Frame_AreaCopy(1, 26, 104, 271 - 214, 479 - 365, LBLX, CLINE(4)); // "Read" - DWIN_Frame_AreaCopy(1, 131 + 51, 89, 271 - 3, 479 - 377 - 1, LBLX + 31 + 3, CLINE(4)); // "Configuration" - - DWIN_Frame_AreaCopy(1, 59, 104, 271 - 178, 479 - 365, LBLX, CLINE(5)); // "Reset" - DWIN_Frame_AreaCopy(1, 131 + 51, 89, 271 - 3, 479 - 377 - 1, LBLX + 34 + 3, CLINE(5)); // "Configuration" - - if (CVISI(6)) - DWIN_Frame_AreaCopy(1, 0, 104, 25, 115, LBLX, CLINE(6)); // Info > } if (select_control.now && CVISI(select_control.now)) @@ -645,9 +654,8 @@ inline void Draw_Control_Menu() { inline void Draw_Tune_Menu() { Clear_Main_Window(); - if (HMI_flag.language_flag) { + if (HMI_flag.language_chinese) { DWIN_Frame_AreaCopy(1, 73, 2, 271 - 171, 479 - 466, 14, 9); - DWIN_Frame_AreaCopy(1, 116, 164, 271 - 100, 479 - 303, LBLX, MBASE(1)); DWIN_Frame_AreaCopy(1, 1, 134, 271 - 215, 479 - 333, LBLX, MBASE(2)); DWIN_Frame_AreaCopy(1, 58, 134, 271 - 158, 479 - 333, LBLX, MBASE(3)); @@ -656,17 +664,22 @@ inline void Draw_Tune_Menu() { } else { #ifdef USE_STRING_HEADINGS - Draw_Title("Tune"); // TODO: GET_TEXT + Draw_Title(GET_TEXT_F(MSG_TUNE)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 0), (char*)GET_TEXT_F(MSG_SPEED)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 1), (char*)GET_TEXT_F(MSG_UBL_SET_TEMP_HOTEND)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), (char*)GET_TEXT_F(MSG_UBL_SET_TEMP_BED)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), (char*)GET_TEXT_F(MSG_FAN_SPEED)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 4), (char*)GET_TEXT_F(MSG_ZPROBE_ZOFFSET)); #else DWIN_Frame_AreaCopy(1, 94, 2, 271 - 145, 479 - 467, 14, 9); + DWIN_Frame_AreaCopy(1, 1, 179, 271 - 179, 479 - 287 - 2, LBLX, MBASE(1)); // print speed + DWIN_Frame_AreaCopy(1, 197, 104, 271 - 33, 479 - 365, LBLX, MBASE(2)); // Hotend... + DWIN_Frame_AreaCopy(1, 1, 89, 271 - 188, 479 - 377 - 1, LBLX + 41 + 3, MBASE(2)); // ...Temperature + DWIN_Frame_AreaCopy(1, 240, 104, 271 - 7, 479 - 365, LBLX, MBASE(3)); // Bed... + DWIN_Frame_AreaCopy(1, 1, 89, 271 - 188, 479 - 377 - 1, LBLX + 24 + 3, MBASE(3)); // ...Temperature + DWIN_Frame_AreaCopy(1, 0, 119, 271 - 207, 479 - 347, LBLX, MBASE(4)); // fan speed + DWIN_Frame_AreaCopy(1, 93, 179, 271 - 130, 479 - 290, LBLX, MBASE(5)); // Z-offset #endif - DWIN_Frame_AreaCopy(1, 1, 179, 271 - 179, 479 - 287 - 2, LBLX, MBASE(1)); // print speed - DWIN_Frame_AreaCopy(1, 197, 104, 271 - 33, 479 - 365, LBLX, MBASE(2)); // Hotend... - DWIN_Frame_AreaCopy(1, 1, 89, 271 - 188, 479 - 377 - 1, LBLX + 41 + 3, MBASE(2)); // ...Temperature - DWIN_Frame_AreaCopy(1, 240, 104, 271 - 7, 479 - 365, LBLX, MBASE(3)); // Bed... - DWIN_Frame_AreaCopy(1, 1, 89, 271 - 188, 479 - 377 - 1, LBLX + 24 + 3, MBASE(3)); // ...Temperature - DWIN_Frame_AreaCopy(1, 0, 119, 271 - 207, 479 - 347, LBLX, MBASE(4)); // fan speed - DWIN_Frame_AreaCopy(1, 93, 179, 271 - 130, 479 - 290, LBLX, MBASE(5)); // Z-offset } Draw_Back_First(select_tune.now == 0); @@ -717,7 +730,7 @@ inline void say_e(const uint16_t inset, const uint16_t line) { inline void Draw_Motion_Menu() { Clear_Main_Window(); - if (HMI_flag.language_flag) { + if (HMI_flag.language_chinese) { DWIN_Frame_AreaCopy(1, 1, 16, 271 - 243, 479 - 451, 14, 8); DWIN_Frame_AreaCopy(1, 173, 133, 228, 479 - 332, LBLX, MBASE(1)); // max speed @@ -730,14 +743,18 @@ inline void Draw_Motion_Menu() { } else { #ifdef USE_STRING_HEADINGS - Draw_Title("Motion"); // TODO: GET_TEXT_F + Draw_Title(GET_TEXT_F(MSG_MOTION)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 0), (char*)"Feedrate"); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 1), (char*)GET_TEXT_F(MSG_ACCELERATION)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), (char*)GET_TEXT_F(MSG_JERK)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), (char*)GET_TEXT_F(MSG_STEPS_PER_MM)); #else DWIN_Frame_AreaCopy(1, 144, 16, 271 - 82, 479 - 453, 14, 8); + draw_max_en(MBASE(1)); draw_speed_en(24 + 3, MBASE(1)); // "Max Speed" + draw_max_accel_en(MBASE(2)); // "Max Acceleration" + draw_max_en(MBASE(3)); draw_corner_en(MBASE(3)); // "Max Corner" + draw_steps_per_mm(MBASE(4)); // "Steps-per-mm" #endif - draw_max_en(MBASE(1)); draw_speed_en(24 + 3, MBASE(1)); // "Max Speed" - draw_max_accel_en(MBASE(2)); // "Max Acceleration" - draw_max_en(MBASE(3)); draw_corner_en(MBASE(3)); // "Max Corner" - draw_steps_per_mm(MBASE(4)); // "Steps-per-mm" } Draw_Back_First(select_motion.now == 0); @@ -760,7 +777,7 @@ void Popup_Window_Temperature(const bool toohigh) { Draw_Popup_Bkgd_105(); if (toohigh) { DWIN_ICON_Show(ICON, ICON_TempTooHigh, 102, 165); - if (HMI_flag.language_flag) { + if (HMI_flag.language_chinese) { DWIN_Frame_AreaCopy(1, 103, 371, 237, 479 - 93, 52, 285); DWIN_Frame_AreaCopy(1, 151, 389, 185, 402, 187, 285); DWIN_Frame_AreaCopy(1, 189, 389, 271 - 0, 402, 95, 310); @@ -772,7 +789,7 @@ void Popup_Window_Temperature(const bool toohigh) { } else { DWIN_ICON_Show(ICON, ICON_TempTooLow, 102, 165); - if (HMI_flag.language_flag) { + if (HMI_flag.language_chinese) { DWIN_Frame_AreaCopy(1, 103, 371, 271 - 1, 479 - 93, 52, 285); DWIN_Frame_AreaCopy(1, 189, 389, 271 - 0, 402, 95, 310); } @@ -793,7 +810,7 @@ inline void Draw_Popup_Bkgd_60() { Clear_Main_Window(); Draw_Popup_Bkgd_60(); DWIN_ICON_Show(ICON, ICON_TempTooLow, 102, 105); - if (HMI_flag.language_flag) { + if (HMI_flag.language_chinese) { DWIN_Frame_AreaCopy(1, 103, 371, 136, 479 - 93, 69, 240); DWIN_Frame_AreaCopy(1, 170, 371, 271 - 1, 479 - 93, 69 + 33, 240); DWIN_ICON_Show(ICON, ICON_Confirm_C, 86, 280); @@ -809,7 +826,7 @@ inline void Draw_Popup_Bkgd_60() { void Popup_Window_Resume(void) { Clear_Popup_Area(); Draw_Popup_Bkgd_105(); - if (HMI_flag.language_flag) { + if (HMI_flag.language_chinese) { DWIN_Frame_AreaCopy(1, 160, 338, 271 - 36, 479 - 125, 98, 135); DWIN_Frame_AreaCopy(1, 103, 321, 271 - 0, 479 - 144, 52, 192); DWIN_ICON_Show(ICON, ICON_Continue_C, 26, 307); @@ -828,13 +845,13 @@ void Popup_Window_Home(void) { Clear_Main_Window(); Draw_Popup_Bkgd_60(); DWIN_ICON_Show(ICON, ICON_BLTouch, 101, 105); - if (HMI_flag.language_flag) { + if (HMI_flag.language_chinese) { DWIN_Frame_AreaCopy(1, 0, 371, 33, 386, 85, 240); DWIN_Frame_AreaCopy(1, 203, 286, 271, 302, 118, 240); DWIN_Frame_AreaCopy(1, 0, 389, 150, 402, 61, 280); } else { - DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 80, 230, (char*)"Auto homing..."); + DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 80, 230, (char*)GET_TEXT_F(MSG_LEVEL_BED_HOMING)); DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 24, 260, (char*)"Please wait until completed"); } } @@ -843,12 +860,12 @@ void Popup_Window_Leveling(void) { Clear_Main_Window(); Draw_Popup_Bkgd_60(); DWIN_ICON_Show(ICON, ICON_AutoLeveling, 101, 105); - if (HMI_flag.language_flag) { + if (HMI_flag.language_chinese) { DWIN_Frame_AreaCopy(1, 0, 371, 100, 386, 84, 240); DWIN_Frame_AreaCopy(1, 0, 389, 150, 402, 61, 280); } else { - DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 76, 230, (char*)"Auto leveling..."); + DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 76, 230, (char*)GET_TEXT_F(MSG_BED_LEVELING)); DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 24, 260, (char*)"Please wait until completed"); } } @@ -866,7 +883,7 @@ void Draw_Select_Highlight(const bool sel) { void Popup_window_PauseOrStop(void) { Clear_Main_Window(); Draw_Popup_Bkgd_60(); - if (HMI_flag.language_flag) { + if (HMI_flag.language_chinese) { if (select_print.now == 1) DWIN_Frame_AreaCopy(1, 237, 338, 269, 356, 98, 150); else if (select_print.now == 2) DWIN_Frame_AreaCopy(1, 221, 320, 253, 336, 98, 150); DWIN_Frame_AreaCopy(1, 220, 304, 264, 319, 130, 150); @@ -874,8 +891,8 @@ void Popup_window_PauseOrStop(void) { DWIN_ICON_Show(ICON, ICON_Cancel_C, 146, 280); } else { - if (select_print.now == 1) DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 88, 150, (char*)"Pause print?"); - else if (select_print.now == 2) DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 92, 150, (char*)"Stop print?"); + if (select_print.now == 1) DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 88, 150, (char*)GET_TEXT_F(MSG_PAUSE_PRINT)); + else if (select_print.now == 2) DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, 92, 150, (char*)GET_TEXT_F(MSG_STOP_PRINT)); DWIN_ICON_Show(ICON, ICON_Confirm_E, 26, 280); DWIN_ICON_Show(ICON, ICON_Cancel_E, 146, 280); } @@ -883,7 +900,7 @@ void Popup_window_PauseOrStop(void) { } void Draw_Printing_Screen(void) { - if (HMI_flag.language_flag) { + if (HMI_flag.language_chinese) { DWIN_Frame_AreaCopy(1, 30, 1, 271 - 200, 479 - 465, 14, 9);// Tune DWIN_Frame_AreaCopy(1, 0, 72, 271 - 208, 479 - 393, 41, 188);// Pause DWIN_Frame_AreaCopy(1, 65, 72, 271 - 143, 479 - 393, 176, 188); // Stop @@ -927,7 +944,8 @@ void Goto_PrintProcess(void) { // Copy into filebuf string before entry char * const name = card.longest_filename(); - DWIN_Draw_String(false, false, font8x16, White, Background_black, (DWIN_WIDTH - strlen(name) * MENU_CHR_W) / 2, 60, name); + const int8_t npos = _MAX(0, DWIN_WIDTH - strlen(name) * MENU_CHR_W) / 2; + DWIN_Draw_String(false, false, font8x16, White, Background_black, npos, 60, name); DWIN_ICON_Show(ICON, ICON_PrintTime, 17, 193); DWIN_ICON_Show(ICON, ICON_RemainTime, 150, 191); @@ -942,12 +960,12 @@ void Goto_MainMenu(void) { Clear_Main_Window(); - if (HMI_flag.language_flag) { + if (HMI_flag.language_chinese) { DWIN_Frame_AreaCopy(1, 2, 2, 271 - 244, 479 - 465, 14, 9); // "Home" } else { #ifdef USE_STRING_HEADINGS - Draw_Title("Home"); // TODO: GET_TEXT + Draw_Title(GET_TEXT_F(MSG_MAIN)); #else DWIN_Frame_AreaCopy(1, 0, 2, 271 - 232, 479 - 467, 14, 9); #endif @@ -1056,36 +1074,40 @@ void HMI_Move_Z(void) { } } -void HMI_Move_E(void) { - ENCODER_DiffState encoder_diffState = Encoder_ReceiveAnalyze(); - if (encoder_diffState != ENCODER_DIFF_NO) { - if (encoder_diffState == ENCODER_DIFF_CW) { - HMI_ValueStruct.Move_E_scale += EncoderRate.encoderMoveValue; - } - else if (encoder_diffState == ENCODER_DIFF_CCW) { - HMI_ValueStruct.Move_E_scale -= EncoderRate.encoderMoveValue; - } - else if (encoder_diffState == ENCODER_DIFF_ENTER) { - checkkey = AxisMove; - EncoderRate.encoderRateEnabled = 0; - last_E_scale = HMI_ValueStruct.Move_E_scale; - show_plus_or_minus(font8x16, Background_black, 3, 1, 216, MBASE(4), HMI_ValueStruct.Move_E_scale); - if (!planner.is_full()) { - planner.synchronize(); // Wait for planner moves to finish! - planner.buffer_line(current_position, MMM_TO_MMS(FEEDRATE_E), active_extruder); +#if EXTRUDERS + + void HMI_Move_E(void) { + ENCODER_DiffState encoder_diffState = Encoder_ReceiveAnalyze(); + if (encoder_diffState != ENCODER_DIFF_NO) { + if (encoder_diffState == ENCODER_DIFF_CW) { + HMI_ValueStruct.Move_E_scale += EncoderRate.encoderMoveValue; } + else if (encoder_diffState == ENCODER_DIFF_CCW) { + HMI_ValueStruct.Move_E_scale -= EncoderRate.encoderMoveValue; + } + else if (encoder_diffState == ENCODER_DIFF_ENTER) { + checkkey = AxisMove; + EncoderRate.encoderRateEnabled = 0; + last_E_scale = HMI_ValueStruct.Move_E_scale; + show_plus_or_minus(font8x16, Background_black, 3, 1, 216, MBASE(4), HMI_ValueStruct.Move_E_scale); + if (!planner.is_full()) { + planner.synchronize(); // Wait for planner moves to finish! + planner.buffer_line(current_position, MMM_TO_MMS(FEEDRATE_E), active_extruder); + } + DWIN_UpdateLCD(); + return; + } + if ((HMI_ValueStruct.Move_E_scale - last_E_scale) > (EXTRUDE_MAXLENGTH) * MINUNITMULT) + HMI_ValueStruct.Move_E_scale = last_E_scale + (EXTRUDE_MAXLENGTH) * MINUNITMULT; + else if ((last_E_scale - HMI_ValueStruct.Move_E_scale) > (EXTRUDE_MAXLENGTH) * MINUNITMULT) + HMI_ValueStruct.Move_E_scale = last_E_scale - (EXTRUDE_MAXLENGTH) * MINUNITMULT; + current_position.e = HMI_ValueStruct.Move_E_scale / 10; + show_plus_or_minus(font8x16, Select_Color, 3, 1, 216, MBASE(4), HMI_ValueStruct.Move_E_scale); DWIN_UpdateLCD(); - return; } - if ((HMI_ValueStruct.Move_E_scale - last_E_scale) > (EXTRUDE_MAXLENGTH) * MINUNITMULT) - HMI_ValueStruct.Move_E_scale = last_E_scale + (EXTRUDE_MAXLENGTH) * MINUNITMULT; - else if ((last_E_scale - HMI_ValueStruct.Move_E_scale) > (EXTRUDE_MAXLENGTH) * MINUNITMULT) - HMI_ValueStruct.Move_E_scale = last_E_scale - (EXTRUDE_MAXLENGTH) * MINUNITMULT; - current_position.e = HMI_ValueStruct.Move_E_scale / 10; - show_plus_or_minus(font8x16, Select_Color, 3, 1, 216, MBASE(4), HMI_ValueStruct.Move_E_scale); - DWIN_UpdateLCD(); } -} + +#endif void HMI_Zoffset(void) { ENCODER_DiffState encoder_diffState = Encoder_ReceiveAnalyze(); @@ -1112,11 +1134,11 @@ void HMI_Zoffset(void) { if (HMI_ValueStruct.show_mode == -4) { checkkey = Prepare; - show_plus_or_minus(font8x16, Background_black, 2, 2, 202, MBASE(4 + MROWS - index_prepare), TERN(HAS_LEVELING, probe.offset.z * 100, HMI_ValueStruct.offset_value)); + show_plus_or_minus(font8x16, Background_black, 2, 2, 202, MBASE(4 + MROWS - index_prepare), TERN(HAS_BED_PROBE, probe.offset.z * 100, HMI_ValueStruct.offset_value)); } else { checkkey = Tune; - show_plus_or_minus(font8x16, Background_black, 2, 2, 202, MBASE(5 + MROWS - index_tune), TERN(HAS_LEVELING, probe.offset.z * 100, HMI_ValueStruct.offset_value)); + show_plus_or_minus(font8x16, Background_black, 2, 2, 202, MBASE(5 + MROWS - index_tune), TERN(HAS_BED_PROBE, probe.offset.z * 100, HMI_ValueStruct.offset_value)); } DWIN_UpdateLCD(); return; @@ -1480,7 +1502,7 @@ void update_variable(void) { DWIN_Draw_IntValue(true, true, 0, STAT_FONT, White, Background_black, 3, 33 + 2 * STAT_CHR_W, 429, feedrate_percentage); last_speed = feedrate_percentage; } - #if HAS_LEVELING + #if HAS_BED_PROBE if (last_probe_zoffset != probe.offset.z) { show_plus_or_minus(STAT_FONT, Background_black, 2, 2, 178 + STAT_CHR_W, 429, probe.offset.z * 100); last_probe_zoffset = probe.offset.z; @@ -1515,7 +1537,7 @@ inline void make_name_without_ext(char *dst, char *src, int maxlen=MENU_CHAR_LIM if (!card.flag.filenameIsDir) while (pos && src[pos] != '.') pos--; // find last '.' (stop at 0) - int len = pos; // nul or '.' + size_t len = pos; // nul or '.' if (len > maxlen) { // Keep the name short pos = len = maxlen; // move nul down dst[--pos] = '.'; // insert dots @@ -1704,7 +1726,7 @@ inline void Draw_Info_Menu() { DWIN_Draw_String(false, false, font8x16, White, Background_black, (DWIN_WIDTH - strlen(MACHINE_SIZE) * MENU_CHR_W) / 2, 122, (char*)MACHINE_SIZE); DWIN_Draw_String(false, false, font8x16, White, Background_black, (DWIN_WIDTH - strlen(SHORT_BUILD_VERSION) * MENU_CHR_W) / 2, 195, (char*)SHORT_BUILD_VERSION); - if (HMI_flag.language_flag) { + if (HMI_flag.language_chinese) { DWIN_Frame_AreaCopy(1, 30, 17, 271 - 214, 479 - 450, 14, 8); DWIN_Frame_AreaCopy(1, 197, 149, 271 - 19, 479 - 318, 108, 102); @@ -1714,7 +1736,7 @@ inline void Draw_Info_Menu() { } else { #ifdef USE_STRING_HEADINGS - Draw_Title("Info"); // TODO: GET_TEXT_F + Draw_Title(GET_TEXT_F(MSG_INFO_SCREEN)); #else DWIN_Frame_AreaCopy(1, 190, 16, 271 - 56, 479 - 453, 14, 8); #endif @@ -1735,7 +1757,7 @@ inline void Draw_Info_Menu() { inline void Draw_Print_File_Menu() { Clear_Title_Bar(); - if (HMI_flag.language_flag) { + if (HMI_flag.language_chinese) { DWIN_Frame_AreaCopy(1, 0, 31, 271 - 216, 479 - 435, 14, 8); } else { @@ -2064,9 +2086,9 @@ void HMI_PauseOrStop(void) { #ifdef ACTION_ON_CANCEL host_action_cancel(); #endif - #ifdef EVENT_GCODE_SD_STOP + #ifdef EVENT_GCODE_SD_ABORT Popup_Window_Home(); - queue.inject_P(PSTR(EVENT_GCODE_SD_STOP)); // For Ender 3 "G28 X Y" + queue.inject_P(PSTR(EVENT_GCODE_SD_ABORT)); #endif abort_flag = true; #endif @@ -2082,23 +2104,27 @@ void HMI_PauseOrStop(void) { inline void Draw_Move_Menu() { Clear_Main_Window(); - if (HMI_flag.language_flag) { + if (HMI_flag.language_chinese) { DWIN_Frame_AreaCopy(1, 192, 1, 271 - 38, 479 - 465, 14, 8); DWIN_Frame_AreaCopy(1, 58, 118, 271 - 165, 479 - 347, LBLX, MBASE(1)); DWIN_Frame_AreaCopy(1, 109, 118, 271 - 114, 479 - 347, LBLX, MBASE(2)); DWIN_Frame_AreaCopy(1, 160, 118, 271 - 62, 479 - 347, LBLX, MBASE(3)); - DWIN_Frame_AreaCopy(1, 212, 118, 271 - 18, 479 - 348, LBLX, MBASE(4)); + #if HAS_HOTEND + DWIN_Frame_AreaCopy(1, 212, 118, 271 - 18, 479 - 348, LBLX, MBASE(4)); + #endif } else { #ifdef USE_STRING_HEADINGS - Draw_Title("Move"); // TODO: GET_TEXT_F + Draw_Title(GET_TEXT_F(MSG_MOVE_AXIS)); #else DWIN_Frame_AreaCopy(1, 231, 2, 271 - 6, 479 - 467, 14, 8); #endif draw_move_en(MBASE(1)); say_x(33 + 3, MBASE(1)); // "Move X" draw_move_en(MBASE(2)); say_y(33 + 3, MBASE(2)); // "Move Y" draw_move_en(MBASE(3)); say_z(33 + 3, MBASE(3)); // "Move Z" - DWIN_Frame_AreaCopy(1, 123, 192, 271 - 95, 479 - 277, LBLX, MBASE(4)); // "Extruder" + #if HAS_HOTEND + DWIN_Frame_AreaCopy(1, 123, 192, 271 - 95, 479 - 277, LBLX, MBASE(4)); // "Extruder" + #endif } Draw_Back_First(select_axis.now == 0); @@ -2107,6 +2133,18 @@ inline void Draw_Move_Menu() { LOOP_L_N(i, MROWS) Draw_Menu_Line(i + 1, ICON_MoveX + i); } +#include "../../libs/buzzer.h" + +void HMI_AudioFeedback(const bool success=true) { + if (success) { + buzzer.tone(100, 659); + buzzer.tone(10, 0); + buzzer.tone(100, 698); + } + else + buzzer.tone(40, 440); +} + /* Prepare */ void HMI_Prepare(void) { ENCODER_DiffState encoder_diffState = get_encoder_state(); @@ -2184,7 +2222,7 @@ void HMI_Prepare(void) { Popup_Window_Home(); break; case 4: // Z-offset - #if HAS_LEVELING + #if HAS_BED_PROBE checkkey = Homeoffset; HMI_ValueStruct.show_mode = -4; HMI_ValueStruct.offset_value = probe.offset.z * 100; @@ -2193,8 +2231,7 @@ void HMI_Prepare(void) { #else // Apply workspace offset, making the current position 0,0,0 queue.inject_P(PSTR("G92 X0 Y0 Z0")); - buzzer.tone(100, 659); - buzzer.tone(100, 698); + HMI_AudioFeedback(); #endif break; case 5: // PLA preheat @@ -2213,13 +2250,13 @@ void HMI_Prepare(void) { break; case 8: // language /* select language */ - HMI_flag.language_flag = !HMI_flag.language_flag; - if (HMI_flag.language_flag) { - set_chinese_to_eeprom(); + HMI_flag.language_chinese ^= true; + if (HMI_flag.language_chinese) { + HMI_SetAndSaveLanguageChinese(); DWIN_JPG_CacheTo1(Language_Chinese); } else { - set_english_to_eeprom(); + HMI_SetAndSaveLanguageWestern(); DWIN_JPG_CacheTo1(Language_English); } Draw_Prepare_Menu(); @@ -2234,7 +2271,7 @@ void HMI_Prepare(void) { void Draw_Temperature_Menu() { Clear_Main_Window(); - if (HMI_flag.language_flag) { + if (HMI_flag.language_chinese) { DWIN_Frame_AreaCopy(1, 236, 2, 271 - 8, 479 - 466, 14, 8); DWIN_Frame_AreaCopy(1, 1, 134, 271 - 215, 479 - 333, LBLX, MBASE(1)); @@ -2245,22 +2282,26 @@ void Draw_Temperature_Menu() { } else { #ifdef USE_STRING_HEADINGS - Draw_Title("Temperature"); // TODO: GET_TEXT_F + Draw_Title(GET_TEXT_F(MSG_TEMPERATURE)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 0), (char*)GET_TEXT_F(MSG_UBL_SET_TEMP_HOTEND)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 1), (char*)GET_TEXT_F(MSG_UBL_SET_TEMP_BED)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), (char*)GET_TEXT_F(MSG_FAN_SPEED)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), (char*)"PLA Preheat Settings"); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 4), (char*)"ABS Preheat Settings"); #else DWIN_Frame_AreaCopy(1, 56, 16, 271 - 130, 479 - 450 - 1, 14, 8); + DWIN_Frame_AreaCopy(1, 197, 104, 271 - 33, 479 - 365, LBLX, MBASE(1)); // Nozzle... + DWIN_Frame_AreaCopy(1, 1, 89, 271 - 188, 479 - 377 - 1, LBLX + 41 + 3, MBASE(1)); // ...Temperature + DWIN_Frame_AreaCopy(1, 240, 104, 271 - 7, 479 - 365, LBLX, MBASE(2)); // Bed... + DWIN_Frame_AreaCopy(1, 1, 89, 271 - 188, 479 - 377 - 1, LBLX + 24 + 3, MBASE(2)); // ...Temperature + DWIN_Frame_AreaCopy(1, 0, 119, 271 - 207, 479 - 347, LBLX, MBASE(3)); // Fan speed + DWIN_Frame_AreaCopy(1, 107, 76, 271 - 115, 479 - 393, LBLX, MBASE(4)); // Preheat... + DWIN_Frame_AreaCopy(1, 157, 76, 181, 479 - 393, LBLX + 49 + 3, MBASE(4)); // ...PLA + DWIN_Frame_AreaCopy(1, 131, 119, 271 - 89, 479 - 347, LBLX + 49 + 24 + 6, MBASE(4)); // PLA setting + DWIN_Frame_AreaCopy(1, 107, 76, 271 - 115, 479 - 393, LBLX, MBASE(5)); // Preheat... + DWIN_Frame_AreaCopy(1, 172, 76, 198, 479 - 393, LBLX + 49 + 3, MBASE(5)); // ...ABS + DWIN_Frame_AreaCopy(1, 131, 119, 271 - 89, 479 - 347, LBLX + 49 + 3 + 26 + 3, MBASE(5)); // ABS setting #endif - - DWIN_Frame_AreaCopy(1, 197, 104, 271 - 33, 479 - 365, LBLX, MBASE(1)); // Nozzle... - DWIN_Frame_AreaCopy(1, 1, 89, 271 - 188, 479 - 377 - 1, LBLX + 41 + 3, MBASE(1)); // ...Temperature - DWIN_Frame_AreaCopy(1, 240, 104, 271 - 7, 479 - 365, LBLX, MBASE(2)); // Bed... - DWIN_Frame_AreaCopy(1, 1, 89, 271 - 188, 479 - 377 - 1, LBLX + 24 + 3, MBASE(2)); // ...Temperature - DWIN_Frame_AreaCopy(1, 0, 119, 271 - 207, 479 - 347, LBLX, MBASE(3)); // Fan speed - DWIN_Frame_AreaCopy(1, 107, 76, 271 - 115, 479 - 393, LBLX, MBASE(4)); // Preheat... - DWIN_Frame_AreaCopy(1, 157, 76, 181, 479 - 393, LBLX + 49 + 3, MBASE(4)); // ...PLA - DWIN_Frame_AreaCopy(1, 131, 119, 271 - 89, 479 - 347, LBLX + 49 + 24 + 6, MBASE(4)); // PLA setting - DWIN_Frame_AreaCopy(1, 107, 76, 271 - 115, 479 - 393, LBLX, MBASE(5)); // Preheat... - DWIN_Frame_AreaCopy(1, 172, 76, 198, 479 - 393, LBLX + 49 + 3, MBASE(5)); // ...ABS - DWIN_Frame_AreaCopy(1, 131, 119, 271 - 89, 479 - 347, LBLX + 49 + 3 + 26 + 3, MBASE(5)); // ABS setting } Draw_Back_First(select_temp.now == 0); @@ -2293,7 +2334,7 @@ void HMI_Control(void) { Draw_More_Icon(2 + MROWS - index_control); // Motion > if (index_control > MROWS) { Draw_More_Icon(6 + MROWS - index_control); // Info > - if (HMI_flag.language_flag) + if (HMI_flag.language_chinese) DWIN_Frame_AreaCopy(1, 231, 104, 271 - 13, 479 - 363, LBLX, MBASE(5)); else DWIN_Frame_AreaCopy(1, 0, 104, 271 - 247, 479 - 365, LBLX, MBASE(5)); @@ -2338,27 +2379,17 @@ void HMI_Control(void) { select_motion.reset(); Draw_Motion_Menu(); break; - case 3: // write EEPROM - if (settings.save()) { - buzzer.tone(100, 659); - buzzer.tone(100, 698); - } - else - buzzer.tone(20, 440); - break; - case 4: // read EEPROM - if (settings.load()) { - buzzer.tone(100, 659); - buzzer.tone(100, 698); - } - else {buzzer.tone(20, 440);} - break; + case 3: { // write EEPROM + const bool success = settings.save(); + HMI_AudioFeedback(success); + } break; + case 4: { // read EEPROM + const bool success = settings.load(); + HMI_AudioFeedback(success); + } break; case 5: // resume EEPROM settings.reset(); - #if HAS_BUZZER - buzzer.tone(100, 659); - buzzer.tone(100, 698); - #endif + HMI_AudioFeedback(); break; case 6: // info checkkey = Info; @@ -2507,7 +2538,7 @@ void HMI_Temperature(void) { Clear_Main_Window(); - if (HMI_flag.language_flag) { + if (HMI_flag.language_chinese) { DWIN_Frame_AreaCopy(1, 59, 16, 271 - 132, 479 - 450, 14, 8); DWIN_Frame_AreaCopy(1, 100, 89, 124, 479 - 378, LBLX, MBASE(1)); @@ -2521,19 +2552,22 @@ void HMI_Temperature(void) { else { #ifdef USE_STRING_HEADINGS Draw_Title("PLA Settings"); // TODO: GET_TEXT_F + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 0), (char*)"Nozzle Temp"); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 1), (char*)"Bed Temp"); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), (char*)GET_TEXT_F(MSG_FAN_SPEED)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), (char*)GET_TEXT_F(MSG_STORE_EEPROM)); #else DWIN_Frame_AreaCopy(1, 56, 16, 271 - 130, 479 - 450 - 1, 14, 8); + DWIN_Frame_AreaCopy(1, 157, 76, 181, 479 - 393, LBLX, MBASE(1)); + DWIN_Frame_AreaCopy(1, 197, 104, 271 - 33, 479 - 365, LBLX + 24 + 3, MBASE(1)); + DWIN_Frame_AreaCopy(1, 1, 89, 271 - 188, 479 - 377 - 1, LBLX + 24 + 41 + 6, MBASE(1)); // PLA nozzle temp + DWIN_Frame_AreaCopy(1, 157, 76, 181, 479 - 393, LBLX, MBASE(2) + 3); + DWIN_Frame_AreaCopy(1, 240, 104, 271 - 7, 479 - 365, LBLX + 24 + 3, MBASE(2) + 3); + DWIN_Frame_AreaCopy(1, 1, 89, 271 - 188, 479 - 377 - 1, LBLX + 24 + 24 + 6, MBASE(2) + 3); // PLA bed temp + DWIN_Frame_AreaCopy(1, 157, 76, 181, 479 - 393, LBLX, MBASE(3)); + DWIN_Frame_AreaCopy(1, 0, 119, 271 - 207, 479 - 347, LBLX + 24 + 3, MBASE(3)); // PLA fan speed + DWIN_Frame_AreaCopy(1, 97, 165, 271 - 42, 479 - 301 - 1, LBLX, MBASE(4)); // save PLA configuration #endif - - DWIN_Frame_AreaCopy(1, 157, 76, 181, 479 - 393, LBLX, MBASE(1)); - DWIN_Frame_AreaCopy(1, 197, 104, 271 - 33, 479 - 365, LBLX + 24 + 3, MBASE(1)); - DWIN_Frame_AreaCopy(1, 1, 89, 271 - 188, 479 - 377 - 1, LBLX + 24 + 41 + 6, MBASE(1)); // PLA nozzle temp - DWIN_Frame_AreaCopy(1, 157, 76, 181, 479 - 393, LBLX, MBASE(2) + 3); - DWIN_Frame_AreaCopy(1, 240, 104, 271 - 7, 479 - 365, LBLX + 24 + 3, MBASE(2) + 3); - DWIN_Frame_AreaCopy(1, 1, 89, 271 - 188, 479 - 377 - 1, LBLX + 24 + 24 + 6, MBASE(2) + 3); // PLA bed temp - DWIN_Frame_AreaCopy(1, 157, 76, 181, 479 - 393, LBLX, MBASE(3)); - DWIN_Frame_AreaCopy(1, 0, 119, 271 - 207, 479 - 347, LBLX + 24 + 3, MBASE(3)); // PLA fan speed - DWIN_Frame_AreaCopy(1, 97, 165, 271 - 42, 479 - 301 - 1, LBLX, MBASE(4)); // save PLA configuration } Draw_Back_First(); @@ -2556,7 +2590,7 @@ void HMI_Temperature(void) { Clear_Main_Window(); - if (HMI_flag.language_flag) { + if (HMI_flag.language_chinese) { DWIN_Frame_AreaCopy(1, 142, 16, 271 - 48, 479 - 450, 14, 8); DWIN_Frame_AreaCopy(1, 180, 89, 204, 479 - 379, LBLX, MBASE(1)); @@ -2571,20 +2605,23 @@ void HMI_Temperature(void) { else { #ifdef USE_STRING_HEADINGS Draw_Title("ABS Settings"); // TODO: GET_TEXT_F + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 0), (char*)"Nozzle Temp"); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 1), (char*)"Bed Temp"); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), (char*)GET_TEXT_F(MSG_FAN_SPEED)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), (char*)GET_TEXT_F(MSG_STORE_EEPROM)); #else DWIN_Frame_AreaCopy(1, 56, 16, 271 - 130, 479 - 450 - 1, 14, 8); + DWIN_Frame_AreaCopy(1, 172, 76, 198, 479 - 393, LBLX, MBASE(1)); + DWIN_Frame_AreaCopy(1, 197, 104, 271 - 33, 479 - 365, LBLX + 24 + 3, MBASE(1)); + DWIN_Frame_AreaCopy(1, 1, 89, 271 - 188, 479 - 377 - 1, LBLX + 24 + 41 + 6, MBASE(1)); // ABS nozzle temp + DWIN_Frame_AreaCopy(1, 172, 76, 198, 479 - 393, LBLX, MBASE(2) + 3); + DWIN_Frame_AreaCopy(1, 240, 104, 271 - 7, 479 - 365, LBLX + 24 + 3, MBASE(2) + 3); + DWIN_Frame_AreaCopy(1, 1, 89, 271 - 188, 479 - 377 - 1, LBLX + 24 + 24 + 6, MBASE(2) + 3); // ABS bed temp + DWIN_Frame_AreaCopy(1, 172, 76, 198, 479 - 393, LBLX, MBASE(3)); + DWIN_Frame_AreaCopy(1, 0, 119, 271 - 207, 479 - 347, LBLX + 24 + 3, MBASE(3)); // ABS fan speed + DWIN_Frame_AreaCopy(1, 97, 165, 271 - 42, 479 - 301 - 1, LBLX, MBASE(4)); + DWIN_Frame_AreaCopy(1, 172, 76, 198, 479 - 393, LBLX + 33, MBASE(4)); // save ABS configuration #endif - - DWIN_Frame_AreaCopy(1, 172, 76, 198, 479 - 393, LBLX, MBASE(1)); - DWIN_Frame_AreaCopy(1, 197, 104, 271 - 33, 479 - 365, LBLX + 24 + 3, MBASE(1)); - DWIN_Frame_AreaCopy(1, 1, 89, 271 - 188, 479 - 377 - 1, LBLX + 24 + 41 + 6, MBASE(1)); // ABS nozzle temp - DWIN_Frame_AreaCopy(1, 172, 76, 198, 479 - 393, LBLX, MBASE(2) + 3); - DWIN_Frame_AreaCopy(1, 240, 104, 271 - 7, 479 - 365, LBLX + 24 + 3, MBASE(2) + 3); - DWIN_Frame_AreaCopy(1, 1, 89, 271 - 188, 479 - 377 - 1, LBLX + 24 + 24 + 6, MBASE(2) + 3); // ABS bed temp - DWIN_Frame_AreaCopy(1, 172, 76, 198, 479 - 393, LBLX, MBASE(3)); - DWIN_Frame_AreaCopy(1, 0, 119, 271 - 207, 479 - 347, LBLX + 24 + 3, MBASE(3)); // ABS fan speed - DWIN_Frame_AreaCopy(1, 97, 165, 271 - 42, 479 - 301 - 1, LBLX, MBASE(4)); - DWIN_Frame_AreaCopy(1, 172, 76, 198, 479 - 393, LBLX + 33, MBASE(4)); // save ABS configuration } Draw_Back_First(); @@ -2608,7 +2645,7 @@ void HMI_Temperature(void) { inline void Draw_Max_Speed_Menu() { Clear_Main_Window(); - if (HMI_flag.language_flag) { + if (HMI_flag.language_chinese) { DWIN_Frame_AreaCopy(1, 1, 16, 271 - 243, 479 - 451, 14, 8); auto say_max_speed = [](const uint16_t row) { @@ -2627,24 +2664,28 @@ inline void Draw_Max_Speed_Menu() { else { #ifdef USE_STRING_HEADINGS Draw_Title("Max Speed (mm/s)"); // TODO: GET_TEXT_F + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 0), (char*)"Max Feedrate X"); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 1), (char*)"Max Feedrate Y"); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), (char*)"Max Feedrate Z"); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), (char*)"Max Feedrate E"); #else DWIN_Frame_AreaCopy(1, 144, 16, 271 - 82, 479 - 453, 14, 8); - #endif - draw_max_en(MBASE(1)); // "Max" - DWIN_Frame_AreaCopy(1, 184, 119, 271 - 37, 479 - 347, LBLX + 24 + 3, MBASE(1)); // "Speed X" + draw_max_en(MBASE(1)); // "Max" + DWIN_Frame_AreaCopy(1, 184, 119, 271 - 37, 479 - 347, LBLX + 24 + 3, MBASE(1)); // "Speed X" - draw_max_en(MBASE(2)); // "Max" - draw_speed_en(24 + 3, MBASE(2)); // "Speed" - say_y(24 + 40 + 6, MBASE(2)); // "Y" + draw_max_en(MBASE(2)); // "Max" + draw_speed_en(24 + 3, MBASE(2)); // "Speed" + say_y(24 + 40 + 6, MBASE(2)); // "Y" - draw_max_en(MBASE(3)); // "Max" - draw_speed_en(24 + 3, MBASE(3)); // "Speed" - say_z(24 + 40 + 6, MBASE(3)); // "Z" + draw_max_en(MBASE(3)); // "Max" + draw_speed_en(24 + 3, MBASE(3)); // "Speed" + say_z(24 + 40 + 6, MBASE(3)); // "Z" - draw_max_en(MBASE(4)); // "Max" - draw_speed_en(24 + 3, MBASE(4)); // "Speed" - say_e(24 + 40 + 6, MBASE(4)); // "E" + draw_max_en(MBASE(4)); // "Max" + draw_speed_en(24 + 3, MBASE(4)); // "Speed" + say_e(24 + 40 + 6, MBASE(4)); // "E" + #endif } Draw_Back_First(); @@ -2659,7 +2700,7 @@ inline void Draw_Max_Speed_Menu() { inline void Draw_Max_Accel_Menu() { Clear_Main_Window(); - if (HMI_flag.language_flag) { + if (HMI_flag.language_chinese) { DWIN_Frame_AreaCopy(1, 1, 16, 271 - 243, 479 - 451, 14, 8); DWIN_Frame_AreaCopy(1, 173, 133, 200, 479 - 332, LBLX, MBASE(1)); @@ -2677,14 +2718,18 @@ inline void Draw_Max_Accel_Menu() { } else { #ifdef USE_STRING_HEADINGS - Draw_Title("Max Accel (mm/s/s)"); // TODO: GET_TEXT_F + Draw_Title(GET_TEXT_F(MSG_ACCELERATION)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 0), (char*)"Max Accel X"); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 1), (char*)"Max Accel Y"); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), (char*)"Max Accel Z"); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), (char*)"Max Accel E"); #else DWIN_Frame_AreaCopy(1, 144, 16, 271 - 82, 479 - 453, 14, 8); + draw_max_accel_en(MBASE(1)); say_x(24 + 78 + 6, MBASE(1)); // "Max Acceleration X" + draw_max_accel_en(MBASE(2)); say_y(24 + 78 + 6, MBASE(2)); // "Max Acceleration Y" + draw_max_accel_en(MBASE(3)); say_z(24 + 78 + 6, MBASE(3)); // "Max Acceleration Z" + draw_max_accel_en(MBASE(4)); say_e(24 + 78 + 6, MBASE(4)); // "Max Acceleration E" #endif - draw_max_accel_en(MBASE(1)); say_x(24 + 78 + 6, MBASE(1)); // "Max Acceleration X" - draw_max_accel_en(MBASE(2)); say_y(24 + 78 + 6, MBASE(2)); // "Max Acceleration Y" - draw_max_accel_en(MBASE(3)); say_z(24 + 78 + 6, MBASE(3)); // "Max Acceleration Z" - draw_max_accel_en(MBASE(4)); say_e(24 + 78 + 6, MBASE(4)); // "Max Acceleration E" } Draw_Back_First(); @@ -2699,7 +2744,7 @@ inline void Draw_Max_Accel_Menu() { inline void Draw_Max_Jerk_Menu() { Clear_Main_Window(); - if (HMI_flag.language_flag) { + if (HMI_flag.language_chinese) { DWIN_Frame_AreaCopy(1, 1, 16, 271 - 243, 479 - 451, 14, 8); DWIN_Frame_AreaCopy(1, 173, 133, 200, 479 - 332, LBLX, MBASE(1)); @@ -2721,30 +2766,33 @@ inline void Draw_Max_Jerk_Menu() { } else { #ifdef USE_STRING_HEADINGS - Draw_Title("Max Corner"); // TODO: GET_TEXT_F + Draw_Title(GET_TEXT_F(MSG_JERK)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 0), (char*)"Max Jerk X"); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 1), (char*)"Max Jerk Y"); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), (char*)"Max Jerk Z"); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), (char*)"Max Jerk E"); #else DWIN_Frame_AreaCopy(1, 144, 16, 271 - 82, 479 - 453, 14, 8); + draw_max_en(MBASE(1)); // "Max" + draw_corner_en(MBASE(1)); // "Corner" + draw_speed_en(66 + 6, MBASE(1)); // "Speed" + say_x(106 + 9, MBASE(1)); // "X" + + draw_max_en(MBASE(2)); // "Max" + draw_corner_en(MBASE(2)); // "Corner" + draw_speed_en(66 + 6, MBASE(2)); // "Speed" + say_y(106 + 9, MBASE(2)); // "Y" + + draw_max_en(MBASE(3)); // "Max" + draw_corner_en(MBASE(3)); // "Corner" + draw_speed_en(66 + 6, MBASE(3)); // "Speed" + say_z(106 + 9, MBASE(3)); // "Z" + + draw_max_en(MBASE(4)); // "Max" + draw_corner_en(MBASE(4)); // "Corner" + draw_speed_en(66 + 6, MBASE(4)); // "Speed" + say_e(106 + 9, MBASE(4)); // "E" #endif - - draw_max_en(MBASE(1)); // "Max" - draw_corner_en(MBASE(1)); // "Corner" - draw_speed_en(66 + 6, MBASE(1)); // "Speed" - say_x(106 + 9, MBASE(1)); // "X" - - draw_max_en(MBASE(2)); // "Max" - draw_corner_en(MBASE(2)); // "Corner" - draw_speed_en(66 + 6, MBASE(2)); // "Speed" - say_y(106 + 9, MBASE(2)); // "Y" - - draw_max_en(MBASE(3)); // "Max" - draw_corner_en(MBASE(3)); // "Corner" - draw_speed_en(66 + 6, MBASE(3)); // "Speed" - say_z(106 + 9, MBASE(3)); // "Z" - - draw_max_en(MBASE(4)); // "Max" - draw_corner_en(MBASE(4)); // "Corner" - draw_speed_en(66 + 6, MBASE(4)); // "Speed" - say_e(106 + 9, MBASE(4)); // "E" } Draw_Back_First(); @@ -2759,7 +2807,7 @@ inline void Draw_Max_Jerk_Menu() { inline void Draw_Steps_Menu() { Clear_Main_Window(); - if (HMI_flag.language_flag) { + if (HMI_flag.language_chinese) { DWIN_Frame_AreaCopy(1, 1, 16, 271 - 243, 479 - 451, 14, 8); DWIN_Frame_AreaCopy(1, 153, 148, 271 - 77, 479 - 318, LBLX, MBASE(1)); @@ -2773,14 +2821,18 @@ inline void Draw_Steps_Menu() { } else { #ifdef USE_STRING_HEADINGS - Draw_Title("Steps-per-mm"); // TODO: GET_TEXT_F + Draw_Title(GET_TEXT_F(MSG_STEPS_PER_MM)); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 0), (char*)"Steps/mm X"); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 1), (char*)"Steps/mm Y"); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 2), (char*)"Steps/mm Z"); + DWIN_Draw_String(false, true, font8x16, White, Background_black, 60, 102 + (MLINE * 3), (char*)"Steps/mm E"); #else DWIN_Frame_AreaCopy(1, 144, 16, 271 - 82, 479 - 453, 14, 8); + draw_steps_per_mm(MBASE(1)); say_x(100 + 3, MBASE(1)); // "Steps-per-mm X" + draw_steps_per_mm(MBASE(2)); say_y(100 + 3, MBASE(2)); // "Y" + draw_steps_per_mm(MBASE(3)); say_z(100 + 3, MBASE(3)); // "Z" + draw_steps_per_mm(MBASE(4)); say_e(100 + 3, MBASE(4)); // "E" #endif - draw_steps_per_mm(MBASE(1)); say_x(100 + 3, MBASE(1)); // "Steps-per-mm X" - draw_steps_per_mm(MBASE(2)); say_y(100 + 3, MBASE(2)); // "Y" - draw_steps_per_mm(MBASE(3)); say_z(100 + 3, MBASE(3)); // "Z" - draw_steps_per_mm(MBASE(4)); say_e(100 + 3, MBASE(4)); // "E" } Draw_Back_First(); @@ -2931,16 +2983,16 @@ void HMI_Tune(void) { break; case 6: // Language // Select language - HMI_flag.language_flag = !HMI_flag.language_flag; + HMI_flag.language_chinese ^= true; Clear_Main_Window(); - if (HMI_flag.language_flag) { - set_chinese_to_eeprom(); + if (HMI_flag.language_chinese) { + HMI_SetAndSaveLanguageChinese(); DWIN_JPG_CacheTo1(Language_Chinese); } else { - set_english_to_eeprom(); + HMI_SetAndSaveLanguageWestern(); DWIN_JPG_CacheTo1(Language_English); } @@ -2997,14 +3049,10 @@ void HMI_PLAPreheatSetting(void) { EncoderRate.encoderRateEnabled = 1; break; #endif - case 4: // save PLA configuration - if (settings.save()) { - buzzer.tone(100, 659); - buzzer.tone(100, 698); - } - else - buzzer.tone(20, 440); - break; + case 4: { // save PLA configuration + const bool success = settings.save(); + HMI_AudioFeedback(success); + } break; default: break; } } @@ -3055,14 +3103,10 @@ void HMI_ABSPreheatSetting(void) { EncoderRate.encoderRateEnabled = 1; break; #endif - case 4: // save PLA configuration - if (settings.save()) { - buzzer.tone(100, 659); - buzzer.tone(100, 698); - } - else - buzzer.tone(20, 440); - break; + case 4: { // save ABS configuration + const bool success = settings.save(); + HMI_AudioFeedback(success); + } break; default: break; } @@ -3296,14 +3340,7 @@ void HMI_Init(void) { delay(20); } - lcd_select_language(); - - #if ENABLED(FIX_MOUNTED_PROBE) // For "CREALITY_TOUCH" probe too? - SET_OUTPUT(COM_PIN); - WRITE(COM_PIN, 1); - #endif - - delay(200); + HMI_SetLanguage(); } void DWIN_Update(void) { @@ -3337,7 +3374,7 @@ void EachMomentUpdate(void) { // show print done confirm DWIN_Draw_Rectangle(1, Background_black, 0, 250, 271, 360); - DWIN_ICON_Show(ICON, HMI_flag.language_flag ? ICON_Confirm_C : ICON_Confirm_E, 86, 302 - 19); + DWIN_ICON_Show(ICON, HMI_flag.language_chinese ? ICON_Confirm_C : ICON_Confirm_E, 86, 302 - 19); } else if (HMI_flag.pause_flag != printingIsPaused()) { // print status update @@ -3386,7 +3423,7 @@ void EachMomentUpdate(void) { else if (abort_flag && !HMI_flag.home_flag) { // Print Stop abort_flag = 0; HMI_ValueStruct.print_speed = feedrate_percentage = 100; - zprobe_zoffset = TERN(HAS_LEVELING, probe.offset.z, 0); + zprobe_zoffset = TERN(HAS_BED_PROBE, probe.offset.z, 0); planner.finish_and_disable(); @@ -3428,7 +3465,8 @@ void EachMomentUpdate(void) { Popup_Window_Resume(); draw_first_option(false); char * const name = card.longest_filename(); - DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, (DWIN_WIDTH - strlen(name) * MENU_CHR_W) / 2, 252, name); + const int8_t npos = _MAX(0, DWIN_WIDTH - strlen(name) * (MENU_CHR_W)) / 2; + DWIN_Draw_String(false, true, font8x16, Font_window, Background_window, npos, 252, name); DWIN_UpdateLCD(); break; } @@ -3486,11 +3524,11 @@ void DWIN_HandleScreen(void) { case Move_X: HMI_Move_X(); break; case Move_Y: HMI_Move_Y(); break; case Move_Z: HMI_Move_Z(); break; - case Extruder: HMI_Move_E(); break; - case Homeoffset: HMI_Zoffset(); break; #if HAS_HOTEND + case Extruder: HMI_Move_E(); break; case ETemp: HMI_ETemp(); break; #endif + case Homeoffset: HMI_Zoffset(); break; #if HAS_HEATED_BED case BedTemp: HMI_BedTemp(); break; #endif diff --git a/Marlin/src/lcd/dwin/dwin.h b/Marlin/src/lcd/dwin/dwin.h index 2d24d2504e7e..3446a0d4c18e 100644 --- a/Marlin/src/lcd/dwin/dwin.h +++ b/Marlin/src/lcd/dwin/dwin.h @@ -68,11 +68,11 @@ enum processID { Move_X, Move_Y, Move_Z, - Extruder, - Homeoffset, #if HAS_HOTEND + Extruder, ETemp, #endif + Homeoffset, #if HAS_HEATED_BED BedTemp, #endif @@ -244,7 +244,7 @@ typedef struct { } HMI_value_t; typedef struct { - bool language_flag; // 0: EN, 1: CN + bool language_chinese; // 0: EN, 1: CN bool pause_flag:1; bool print_finish:1; bool confirm_flag:1; @@ -269,9 +269,9 @@ extern HMI_value_t HMI_ValueStruct; extern HMI_Flag HMI_flag; // Language -void lcd_select_language(void); -void set_english_to_eeprom(void); -void set_chinese_to_eeprom(void); +void HMI_SetLanguage(void); +void HMI_SetAndSaveLanguageWestern(void); +void HMI_SetAndSaveLanguageChinese(void); // Show ICO void ICON_Print(bool show); diff --git a/Marlin/src/lcd/dwin/dwin_lcd.cpp b/Marlin/src/lcd/dwin/dwin_lcd.cpp index 3c14a95936e7..0ca6b8a3ae62 100644 --- a/Marlin/src/lcd/dwin/dwin_lcd.cpp +++ b/Marlin/src/lcd/dwin/dwin_lcd.cpp @@ -21,11 +21,11 @@ */ /******************************************************************************** - * @file dwin_lcd.c + * @file dwin_lcd.cpp * @author LEO / Creality3D * @date 2019/07/18 * @version 2.0.1 - * @brief 迪文屏控制操作函数 + * @brief DWIN screen control functions ********************************************************************************/ #include "../../inc/MarlinConfigPre.h" @@ -68,7 +68,15 @@ inline void DWIN_String(size_t &i, char * const string) { i += len; } -/*发送当前BUF中的数据以及包尾数据 len:整包数据长度*/ +inline void DWIN_String(size_t &i, const __FlashStringHelper * string) { + if (!string) return; + const size_t len = strlen_P((PGM_P)string); // cast it to PGM_P, which is basically const char *, and measure it using the _P version of strlen. + if (len == 0) return; + memcpy(&DWIN_SendBuf[i+1], string, len); + i += len; +} + +// Send the data in the buffer and the packet end inline void DWIN_Send(size_t &i) { ++i; LOOP_L_N(n, i) { MYSERIAL1.write(DWIN_SendBuf[n]); @@ -77,8 +85,9 @@ inline void DWIN_Send(size_t &i) { delayMicroseconds(1); } } -/*----------------------------------------------系统变量函数----------------------------------------------*/ -/*握手 1: 握手成功 2: 握手失败*/ +/*-------------------------------------- System variable function --------------------------------------*/ + +// Handshake (1: Success, 0: Fail) bool DWIN_Handshake(void) { size_t i = 0; DWIN_Byte(i, 0x00); @@ -105,7 +114,8 @@ bool DWIN_Handshake(void) { && databuf[3] == 'K' ); } -/*设定背光亮度 luminance:亮度(0x00~0xFF)*/ +// Set the backlight luminance +// luminance: (0x00-0xFF) void DWIN_Backlight_SetLuminance(const uint8_t luminance) { size_t i = 0; DWIN_Byte(i, 0x30); @@ -113,7 +123,8 @@ void DWIN_Backlight_SetLuminance(const uint8_t luminance) { DWIN_Send(i); } -/*设定画面显示方向 dir:0,0°; 1,90°; 2,180°; 3,270°*/ +// Set screen display direction +// dir: 0=0°, 1=90°, 2=180°, 3=270° void DWIN_Frame_SetDir(uint8_t dir) { size_t i = 0; DWIN_Byte(i, 0x34); @@ -123,15 +134,17 @@ void DWIN_Frame_SetDir(uint8_t dir) { DWIN_Send(i); } -/*更新显示*/ +// Update display void DWIN_UpdateLCD(void) { size_t i = 0; DWIN_Byte(i, 0x3D); DWIN_Send(i); } -/*----------------------------------------------绘图相关函数----------------------------------------------*/ -/*画面清屏 color:清屏颜色*/ +/*---------------------------------------- Drawing functions ----------------------------------------*/ + +// Clear screen +// color: Clear screen color void DWIN_Frame_Clear(const uint16_t color) { size_t i = 0; DWIN_Byte(i, 0x01); @@ -139,7 +152,10 @@ void DWIN_Frame_Clear(const uint16_t color) { DWIN_Send(i); } -/*画面画线 color:线段颜色 xStart:X起始坐标 yStart:Y起始坐标 xEnd:X终止坐标 yEnd:Y终止坐标*/ +// Draw a line +// color: Line segment color +// xStart/yStart: Start point +// xEnd/yEnd: End point void DWIN_Draw_Line(uint16_t color, uint16_t xStart, uint16_t yStart, uint16_t xEnd, uint16_t yEnd) { size_t i = 0; DWIN_Byte(i, 0x03); @@ -151,7 +167,11 @@ void DWIN_Draw_Line(uint16_t color, uint16_t xStart, uint16_t yStart, uint16_t x DWIN_Send(i); } -/*画面画矩形 mode:0,外框;1,填充;2,异或填充 color:颜色 xStart/yStart:矩形左上坐标 xEnd/yEnd:矩形右下坐标*/ +// Draw a rectangle +// mode: 0=frame, 1=fill, 2=XOR fill +// color: Rectangle color +// xStart/yStart: upper left point +// xEnd/yEnd: lower right point void DWIN_Draw_Rectangle(uint8_t mode, uint16_t color, uint16_t xStart, uint16_t yStart, uint16_t xEnd, uint16_t yEnd) { size_t i = 0; @@ -165,8 +185,14 @@ void DWIN_Draw_Rectangle(uint8_t mode, uint16_t color, DWIN_Send(i); } -/*画面区域移动 mode:0,环移;1,平移 dir:0,向左移动;1,向右移动;2,向上移动;3,向下移动 dis:移动距离 - color:填充颜色 xStart/yStart:选定区域左上坐标 xEnd/yEnd:选定区域右下坐标*/ +// +// Move a screen area +// mode: 0, circle shift; 1, translation +// dir: 0=left, 1=right, 2=up, 3=down +// dis: Distance +// color: Fill color +// xStart/yStart: upper left point +// xEnd/yEnd: bottom right point void DWIN_Frame_AreaMove(uint8_t mode, uint8_t dir, uint16_t dis, uint16_t color, uint16_t xStart, uint16_t yStart, uint16_t xEnd, uint16_t yEnd) { size_t i = 0; @@ -181,14 +207,21 @@ void DWIN_Frame_AreaMove(uint8_t mode, uint8_t dir, uint16_t dis, DWIN_Send(i); } -/*----------------------------------------------文本相关函数----------------------------------------------*/ -/*画面显示字符串 widthAdjust:true,自调整字符宽度;false,不调整字符宽度 bShow:true,显示背景色;false,不显示背景色 size:字号大小 - color:字符颜色 bColor:背景颜色 x/y:字符串左上坐标 *string:字符串*/ +/*---------------------------------------- Text related functions ----------------------------------------*/ + +// Draw a string +// widthAdjust: true=self-adjust character width; false=no adjustment +// bShow: true=display background color; false=don't display background color +// size: Font size +// color: Character color +// bColor: Background color +// x/y: Upper-left coordinate of the string +// *string: The string void DWIN_Draw_String(bool widthAdjust, bool bShow, uint8_t size, uint16_t color, uint16_t bColor, uint16_t x, uint16_t y, char *string) { size_t i = 0; DWIN_Byte(i, 0x11); - DWIN_Byte(i, (widthAdjust? 0x80:0x00) | (bShow? 0x40:0x00) | size); + DWIN_Byte(i, (widthAdjust * 0x80) | (bShow * 0x40) | size); DWIN_Word(i, color); DWIN_Word(i, bColor); DWIN_Word(i, x); @@ -197,13 +230,34 @@ void DWIN_Draw_String(bool widthAdjust, bool bShow, uint8_t size, DWIN_Send(i); } -/*画面显示正整数 bShow:true,显示背景色;false,不显示背景色 zeroFill:true,补零;false,不补零 zeroMode:1,无效0显示为0; 0,无效0显示为空格 size:字号大小 - color:字符颜色 bColor:背景颜色 iNum:位数 x/y:变量左上坐标 value:整型变量*/ +void DWIN_Draw_String(bool widthAdjust, bool bShow, uint8_t size, + uint16_t color, uint16_t bColor, uint16_t x, uint16_t y, const __FlashStringHelper *string) { + size_t i = 0; + DWIN_Byte(i, 0x11); + DWIN_Byte(i, (widthAdjust * 0x80) | (bShow * 0x40) | size); + DWIN_Word(i, color); + DWIN_Word(i, bColor); + DWIN_Word(i, x); + DWIN_Word(i, y); + DWIN_String(i, string); + DWIN_Send(i); +} + +// Draw a positive integer +// bShow: true=display background color; false=don't display background color +// zeroFill: true=zero fill; false=no zero fill +// zeroMode: 1=leading 0 displayed as 0; 0=leading 0 displayed as a space +// size: Font size +// color: Character color +// bColor: Background color +// iNum: Number of digits +// x/y: Upper-left coordinate +// value: Integer value void DWIN_Draw_IntValue(uint8_t bShow, bool zeroFill, uint8_t zeroMode, uint8_t size, uint16_t color, uint16_t bColor, uint8_t iNum, uint16_t x, uint16_t y, uint16_t value) { size_t i = 0; DWIN_Byte(i, 0x14); - DWIN_Byte(i, (bShow? 0x80:0x00) | (zeroFill? 0x20:0x00) | (zeroMode? 0x10:0x00) | size); + DWIN_Byte(i, (bShow * 0x80) | (zeroFill * 0x20) | (zeroMode * 0x10) | size); DWIN_Word(i, color); DWIN_Word(i, bColor); DWIN_Byte(i, iNum); @@ -214,7 +268,7 @@ void DWIN_Draw_IntValue(uint8_t bShow, bool zeroFill, uint8_t zeroMode, uint8_t for (char count = 0; count < 8; count++) { DWIN_Byte(i, value); value >>= 8; - if ((value&0xFF) == 0x00) break; + if (!(value & 0xFF)) break; } #else // Write a big-endian 64 bit integer @@ -229,14 +283,23 @@ void DWIN_Draw_IntValue(uint8_t bShow, bool zeroFill, uint8_t zeroMode, uint8_t DWIN_Send(i); } -/*画面显示浮点数 bShow:true,显示背景色;false,不显示背景色 zeroFill:true,补零;false,不补零 zeroMode:1,无效0显示为0; 0,无效0显示为空格 size:字号大小 - color:字符颜色 bColor:背景颜色 iNum:整数位数 fNum:小数位数 x/y:变量左上坐标 value:浮点数变量*/ +// Draw a floating point number +// bShow: true=display background color; false=don't display background color +// zeroFill: true=zero fill; false=no zero fill +// zeroMode: 1=leading 0 displayed as 0; 0=leading 0 displayed as a space +// size: Font size +// color: Character color +// bColor: Background color +// iNum: Number of whole digits +// fNum: Number of decimal digits +// x/y: Upper-left point +// value: Float value void DWIN_Draw_FloatValue(uint8_t bShow, bool zeroFill, uint8_t zeroMode, uint8_t size, uint16_t color, uint16_t bColor, uint8_t iNum, uint8_t fNum, uint16_t x, uint16_t y, long value) { //uint8_t *fvalue = (uint8_t*)&value; size_t i = 0; DWIN_Byte(i, 0x14); - DWIN_Byte(i, (bShow? 0x80:0x00) | (zeroFill? 0x20:0x00) | (zeroMode? 0x10:0x00) | size); + DWIN_Byte(i, (bShow * 0x80) | (zeroFill * 0x20) | (zeroMode * 0x10) | size); DWIN_Word(i, color); DWIN_Word(i, bColor); DWIN_Byte(i, iNum); @@ -253,16 +316,21 @@ void DWIN_Draw_FloatValue(uint8_t bShow, bool zeroFill, uint8_t zeroMode, uint8_ DWIN_Send(i); } -/*----------------------------------------------图片相关函数----------------------------------------------*/ -/*jpg图片显示并缓存在#0虚拟显示区 id:图片ID*/ +/*---------------------------------------- Picture related functions ----------------------------------------*/ + +// Draw JPG and cached in #0 virtual display area +// id: Picture ID void DWIN_JPG_ShowAndCache(const uint8_t id) { size_t i = 0; DWIN_Word(i, 0x2200); DWIN_Byte(i, id); - DWIN_Send(i); //AA 23 00 00 00 00 08 00 01 02 03 CC 33 C3 3C + DWIN_Send(i); // AA 23 00 00 00 00 08 00 01 02 03 CC 33 C3 3C } -/*图标显示 libID:图标库ID picID:图标ID x/y:图标左上坐标*/ +// Draw an Icon +// libID: Icon library ID +// picID: Icon ID +// x/y: Upper-left point void DWIN_ICON_Show(uint8_t libID, uint8_t picID, uint16_t x, uint16_t y) { NOMORE(x, DWIN_WIDTH - 1); NOMORE(y, DWIN_HEIGHT - 1); // -- ozy -- srl @@ -275,7 +343,8 @@ void DWIN_ICON_Show(uint8_t libID, uint8_t picID, uint16_t x, uint16_t y) { DWIN_Send(i); } -/*jpg图片解压到#1虚拟显示区 id:图片ID*/ +// Unzip the JPG picture to virtual display area #1 +// id: picture ID void DWIN_JPG_CacheToN(uint8_t n, uint8_t id) { size_t i = 0; DWIN_Byte(i, 0x25); @@ -284,7 +353,11 @@ void DWIN_JPG_CacheToN(uint8_t n, uint8_t id) { DWIN_Send(i); } -/*从虚拟显示区复制区域至当前画面 cacheID:虚拟区号 xStart/yStart:虚拟区左上坐标 xEnd/yEnd:虚拟区右下坐标 x/y:当前画面粘贴坐标*/ +// Copy area from virtual display area to current screen +// cacheID: virtual area number +// xStart/yStart: Upper-left of virtual area +// xEnd/yEnd: Lower-right of virtual area +// x/y: Screen paste point void DWIN_Frame_AreaCopy(uint8_t cacheID, uint16_t xStart, uint16_t yStart, uint16_t xEnd, uint16_t yEnd, uint16_t x, uint16_t y) { size_t i = 0; diff --git a/Marlin/src/lcd/extui/anycubic_chiron_lcd.cpp b/Marlin/src/lcd/extui/anycubic_chiron_lcd.cpp new file mode 100644 index 000000000000..889a25b85950 --- /dev/null +++ b/Marlin/src/lcd/extui/anycubic_chiron_lcd.cpp @@ -0,0 +1,536 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/** + * anycubic_chiron_lcd.cpp + * + * Anycubic Chiron TFT support for Marlin + */ + +#include "../../inc/MarlinConfigPre.h" + +#if ENABLED(ANYCUBIC_LCD_CHIRON) + +#include "ui_api.h" + +#if ENABLED(AUTO_BED_LEVELING_BILINEAR) + #if GRID_MAX_POINTS_X != 5 || GRID_MAX_POINTS_Y != 5 + #error ANYCUBIC CHIRON LCD requires a 5x5 bed leveling grid (GRID_MAX_POINTS_X and GRID_MAX_POINTS_Y) + #endif +#else + #error ANYCUBIC CHIRON LCD requires AUTO_BED_LEVELING_BILINEAR enabled +#endif + +#if DISABLED(FILAMENT_RUNOUT_SENSOR) + #error ANYCUBIC CHIRON LCD requires FILAMENT_RUNOUT_SENSOR enabled +#endif + +#if ENABLED(POWER_LOSS_RECOVERY) + #error ANYCUBIC CHIRON LCD does not currently support POWER_LOSS_RECOVERY +#endif + +static bool is_auto_leveling = false; +static bool is_printing_from_sd = false; +static bool is_out_of_filament = false; + +static void sendNewLine(void) { + ANYCUBIC_LCD_SERIAL.write('\r'); + ANYCUBIC_LCD_SERIAL.write('\n'); +} + +static void send(const char *str) { + ANYCUBIC_LCD_SERIAL.print(str); +} + +static void sendLine(const char *str) { + send(str); + sendNewLine(); +} + +static void send_P(PGM_P str) { + while (const char c = pgm_read_byte(str++)) + ANYCUBIC_LCD_SERIAL.write(c); +} + +static void sendLine_P(PGM_P str) { + send_P(str); + sendNewLine(); +} + +static void sendValue_P(PGM_P prefix, int value) { + send_P(prefix); + ANYCUBIC_LCD_SERIAL.print(value); +} + +static void sendValue_P(PGM_P prefix, float value) { + send_P(prefix); + ANYCUBIC_LCD_SERIAL.print(value); +} + +static void sendValueLine_P(PGM_P prefix, int value) { + send_P(prefix); + ANYCUBIC_LCD_SERIAL.print(value); + sendNewLine(); +} + +static void sendValueLine_P(PGM_P prefix, float value) { + send_P(prefix); + ANYCUBIC_LCD_SERIAL.print(value); + sendNewLine(); +} + +static int parseIntArgument(const char *buffer, char letterId) { + char *p = strchr(buffer, letterId); + if (!p) + return -1; + return atoi(p+1); +} + +static float parseFloatArgument(const char *buffer, char letterId) { + char *p = strchr(buffer, letterId); + if (!p) + return NAN; + return strtof(p+1, nullptr); +} + +static int mmToHundredths(float x) { + // Round + if (x >= 0) + x += 0.005f; + else + x -= 0.005f; + return (int)(x * 100.0f); +} + +static float hundredthsToMm(int x) { + return x / 100.0f; +} + +#define SEND_PGM(str) send_P(PSTR(str)) +#define SENDLINE_PGM(str) sendLine_P(PSTR(str)) +#define SENDVALUE_PGM(prefix, value) sendValue_P(PSTR(prefix), value) +#define SENDVALUELINE_PGM(prefix, value) sendValueLine_P(PSTR(prefix), value) + +namespace ExtUI { + + static void moveAxis(float delta, feedRate_t feedrate, axis_t axis) { + float pos = getAxisPosition_mm(axis); + pos += delta; + setAxisPosition_mm(pos, axis, feedrate); + } + + static void handleCmd(const char *rx) { + static FileList fileList; + static char selectedFileShortName[8+1+3+1]; + + if (rx[0] != 'A') { + SERIAL_ECHOPGM("Unexpected RX: "); + SERIAL_ECHOLN(rx); + + return; + } + + const int cmd = atoi(&rx[1]); + + // Uncomment for debugging RX + //if (cmd > 7 && cmd != 20) { + // SERIAL_ECHOPGM("RX: "); + // SERIAL_ECHOLN(rx); + //} + + switch (cmd) { + case 0: // Get Hotend Actual Temperature + SENDVALUELINE_PGM("A0V ", (int)getActualTemp_celsius(E0)); + break; + case 1: // Get Hotend Target Temperature + SENDVALUELINE_PGM("A1V ", (int)getTargetTemp_celsius(E0)); + break; + case 2: // Get Bed Actual Temperature + SENDVALUELINE_PGM("A2V ", (int)getActualTemp_celsius(BED)); + break; + case 3: // Get Bed Target Temperature + SENDVALUELINE_PGM("A3V ", (int)getTargetTemp_celsius(BED)); + break; + case 4: // Get Fan Speed + SENDVALUELINE_PGM("A4V ", (int)getTargetFan_percent(FAN0)); + break; + case 5: // Get Current Coordinates + SENDVALUE_PGM("A5V X: ", getAxisPosition_mm(X)); + SENDVALUE_PGM(" Y: ", getAxisPosition_mm(Y)); + SENDVALUE_PGM(" Z: ", getAxisPosition_mm(Z)); + sendNewLine(); + break; + case 6: // Get SD Card Print Status + if (isPrintingFromMedia()) + SENDVALUELINE_PGM("A6V ", (int)getProgress_percent()); + else + SENDLINE_PGM("A6V ---"); + break; + case 7: // Get Printing Time + if (isPrinting()) { + const int totalMinutes = getProgress_seconds_elapsed() / 60; + SENDVALUE_PGM("A7V ", (int)(totalMinutes/60)); + SENDVALUE_PGM(" H ", (int)(totalMinutes%60)); + SENDLINE_PGM(" M"); + } else { + SENDLINE_PGM("A7V 999:999"); + } + break; + case 8: // Get SD Card File List + if (isMediaInserted()) { + const int startIndex = parseIntArgument(rx, 'S'); + SENDLINE_PGM("FN "); + for (int i = 0, fileIndex = 0, numFiles = 0; i < (int)fileList.count() && numFiles < 4; i++) { + fileList.seek(i); + if (!fileList.isDir()) { + if (fileIndex >= startIndex) { + sendLine(fileList.shortFilename()); + sendLine(fileList.longFilename()); + numFiles++; + } + fileIndex++; + } + } + SENDLINE_PGM("END"); + } else { + SENDLINE_PGM("J02"); + } + break; + case 9: // Pause SD Card Print + if (isPrintingFromMedia()) { + pausePrint(); + is_printing_from_sd = false; + SENDLINE_PGM("J05"); + } else { + SENDLINE_PGM("J16"); // Print stopped + } + break; + case 10: // Resume SD Card Print + if (is_out_of_filament) { + is_out_of_filament = false; + // Filament change did eject the old filament automatically, + // now continue and load the new one + setUserConfirmed(); + SENDLINE_PGM("J04"); // Printing from SD card + } else if (isPrintingFromMediaPaused()) { + resumePrint(); + SENDLINE_PGM("J04"); // Printing from SD card + } + break; + case 11: // Stop SD Card Print + if (isPrintingFromMedia()) { + stopPrint(); + is_printing_from_sd = false; + SENDLINE_PGM("J16"); // Print stopped + } + break; + //case 12: // Kill + // break; + case 13: // Select File + if (!isPrinting()) { + // Store selected file name + char *p = strchr(rx, ' '); + if (p != nullptr && strlen(p+1) < sizeof(selectedFileShortName)) { + strcpy(selectedFileShortName, p+1); + SENDLINE_PGM("J20"); // Open succeeded + } + else + SENDLINE_PGM("J21"); // Open failed + } + break; + case 14: // Start Print + if (!isPrinting() && strcmp(selectedFileShortName, "") != 0) { + printFile(selectedFileShortName); + is_printing_from_sd = true; + SENDLINE_PGM("J04"); // Printing from SD card + } + break; + case 15: // Resume from power outage + // This is not supported, just report print as completed + SENDLINE_PGM("J16"); // Print stopped + break; + case 16: // Set Hotend Target Temperature + { + int temp = parseIntArgument(rx, 'S'); + if (temp >= 0) + setTargetTemp_celsius(temp, E0); + } + break; + case 17: // Set Bed Target Temperature + { + int temp = parseIntArgument(rx, 'S'); + if (temp >= 0) + setTargetTemp_celsius(temp, BED); + } + break; + case 18: // Set Fan Speed + { + int temp = parseIntArgument(rx, 'S'); + if (temp >= 0) + setTargetFan_percent(temp, FAN0); + } + break; + case 19: // Disable Motors + injectCommands_P(PSTR("M84")); + break; + case 20: // Get/Set Printing Speed + { + int newPerc = parseIntArgument(rx, 'S'); + if (newPerc >= 0) + setFeedrate_percent(newPerc); + else + SENDVALUELINE_PGM("A20V ", (int)getFeedrate_percent()); + } + break; + case 21: // Home axes + if (!isPrinting()) { + const bool hasX = strchr(rx, 'X') != nullptr, + hasY = strchr(rx, 'Y') != nullptr, + hasZ = strchr(rx, 'Z') != nullptr, + hasC = strchr(rx, 'C') != nullptr; + if (hasX || hasY || hasZ) { + if (hasX) injectCommands_P(PSTR("G28 X")); + if (hasY) injectCommands_P(PSTR("G28 Y")); + if (hasZ) injectCommands_P(PSTR("G28 Z")); + } else if (hasC) { + injectCommands_P(PSTR("G28")); + } + } + break; + case 22: // Move axes + if (!isPrinting()) { + const int feedrate = parseIntArgument(rx, 'F') / 60; + float delta; + if (!isnan(delta = parseFloatArgument(rx, 'X'))) + moveAxis(delta, feedrate, X); + else if (!isnan(delta = parseFloatArgument(rx, 'Y'))) + moveAxis(delta, feedrate, Y); + else if (!isnan(delta = parseFloatArgument(rx, 'Z'))) + moveAxis(delta, feedrate, Z); + } + break; + case 23: // Preheat PLA + setTargetTemp_celsius(PREHEAT_1_TEMP_HOTEND, E0); + setTargetTemp_celsius(PREHEAT_1_TEMP_BED, BED); + SENDLINE_PGM("OK"); + break; + case 24: // Preheat ABS + setTargetTemp_celsius(PREHEAT_2_TEMP_HOTEND, E0); + setTargetTemp_celsius(PREHEAT_2_TEMP_BED, BED); + SENDLINE_PGM("OK"); + break; + case 25: // Cool down + setTargetTemp_celsius(0, E0); + setTargetTemp_celsius(0, BED); + SENDLINE_PGM("J12"); + break; + case 26: // Refresh SD Card + fileList.refresh(); + break; + //case 27: // Adjust Servo Angles + // break; + //case 28: // Filament Test + // break; + case 29: // Get Bed Autolevel Grid + { + int x = parseIntArgument(rx, 'X'), + y = parseIntArgument(rx, 'Y'); + if (x != -1 && y != -1) { + xy_uint8_t coord; + coord.set(x, y); + const int value = mmToHundredths(getMeshPoint(coord)); + SENDVALUELINE_PGM("A29V ", value); + } + } + break; + case 30: // Autolevel + if (strchr(rx, 'S')) { // Autoleveling started by clicking "PROBE" and then "OK" + // Note: + // We check for completion by monitoring the command queue. + // Since it will become empty *while* processing the last injected command, + // we enqueue an extra 10ms delay so we can the determine when all the others + // have completed. + if (isMachineHomed()) + injectCommands_P(PSTR("G29\nG4 P10")); + else + injectCommands_P(PSTR("G28\nG29\nG4 P10")); + is_auto_leveling = true; + } else { // Entering Autoleveling screen + if (isPrinting()) + SENDLINE_PGM("J24"); // Disallow autoleveling + else + SENDLINE_PGM("J26"); // Allow autoleveling + } + break; + case 31: // Set Bed Autolevel Z offset + if (strchr(rx, 'G')) { // Get + SENDVALUELINE_PGM("A31V ", getZOffset_mm()); + } else if (strchr(rx, 'S')) { // Set + float delta = parseFloatArgument(rx, 'S'); + delta = constrain(delta, -1.0, 1.0); + setZOffset_mm(getZOffset_mm() + delta); + + SENDVALUELINE_PGM("A31V ", getZOffset_mm()); + } else if (strchr(rx, 'D')) { // Save + injectCommands_P(PSTR("M500")); + } + break; + //case 32: // ? + // break; + case 33: // Get Version Info + SENDLINE_PGM("J33 " SHORT_BUILD_VERSION); + break; + case 34: // Set Bed Autolevel Grid + { + int x = parseIntArgument(rx, 'X'), + y = parseIntArgument(rx, 'Y'), + v = parseIntArgument(rx, 'V'); + if (x != -1 && y != -1 && v != -1) { // Set new value + float value = hundredthsToMm(v); + value = constrain(value, -10, 10); + + xy_uint8_t coord; + coord.set(x, y); + setMeshPoint(coord, value); + } else if (strchr(rx, 'S')) { // Save (apply new values) + injectCommands_P(PSTR("M500")); + } else if (strchr(rx, 'C')) { // Cancel (discard new values) + injectCommands_P(PSTR("M501")); + } + } + break; + } + } + + #define RX_LEN_MAX 63 + static void parseSerialRx() { + static char rxBuffer[RX_LEN_MAX+1]; + static uint8_t rxLen = 0; + + while (ANYCUBIC_LCD_SERIAL.available()) { + const char c = ANYCUBIC_LCD_SERIAL.read(); + switch (c) { + case '\r': case '\n': + if (rxLen > 0 && rxLen <= RX_LEN_MAX) { + rxBuffer[rxLen] = '\0'; // Terminate string + handleCmd(rxBuffer); + } + rxLen = 0; + break; + default: + if (rxLen < RX_LEN_MAX) + rxBuffer[rxLen++] = c; + else { + rxLen = 0xFF; // Overrun + SERIAL_ECHOPGM("Warning: dropping long received line"); + } + break; + } + } + } + + static void detectPrintFromSdCompletion() { + // Note: printFile() queues some commands that actually start the print, so isPrintingFromMedia() + // initially returns false + if (is_printing_from_sd && !commandsInQueue() && !isPrintingFromMedia()) { + is_printing_from_sd = false; + SENDLINE_PGM("J14"); // Print done + } + } + + static void detectAutolevelingCompletion() { + if (is_auto_leveling && !commandsInQueue()) { + is_auto_leveling = false; + injectCommands_P(PSTR("M500")); + SENDLINE_PGM("J25"); // Autoleveling done + } + } + + void onStartup() { + ANYCUBIC_LCD_SERIAL.begin(115200); + sendNewLine(); + SENDLINE_PGM("J17"); // Reset + delay_ms(10); + SENDLINE_PGM("J12"); // Ready + } + + void onIdle() { + parseSerialRx(); + detectAutolevelingCompletion(); + detectPrintFromSdCompletion(); + } + + void onPrinterKilled(PGM_P const error, PGM_P const component) { } + + void onMediaInserted() { + SENDLINE_PGM("J00"); // SD Inserted + } + + void onMediaError() { } + + void onMediaRemoved() { + SENDLINE_PGM("J01"); // SD Removed + } + + void onPlayTone(const uint16_t frequency, const uint16_t duration) { + tone(BEEPER_PIN, frequency, duration); + } + + void onPrintTimerStarted() { } + + void onPrintTimerPaused() { } + + void onPrintTimerStopped() { } + + void onFilamentRunout(const extruder_t extruder) { + is_out_of_filament = true; + SENDLINE_PGM("J23"); // Filament runout + SENDLINE_PGM("J18"); // Print paused + // Note: printer will unload filament automatically + } + + void onUserConfirmRequired(const char * const msg) { } + + void onStatusChanged(const char * const msg) { } + + void onFactoryReset() { } + + void onStoreSettings(char *buff) { } + + void onLoadSettings(const char *buff) { } + + void onConfigurationStoreWritten(bool success) { } + + void onConfigurationStoreRead(bool success) { } + + void onMeshUpdate(const int8_t xpos, const int8_t ypos, const float zval) { } + + #if ENABLED(POWER_LOSS_RECOVERY) + void onPowerLossResume() { } + #endif + + #if HAS_PID_HEATING + void onPidTuning(const result_t rst) { } + #endif +} + +#endif // ANYCUBIC_LCD_CHIRON diff --git a/Marlin/src/lcd/extui_anycubic_tft.cpp b/Marlin/src/lcd/extui/anycubic_i3mega_lcd.cpp similarity index 93% rename from Marlin/src/lcd/extui_anycubic_tft.cpp rename to Marlin/src/lcd/extui/anycubic_i3mega_lcd.cpp index 6383ee7b5305..15526d16fc21 100644 --- a/Marlin/src/lcd/extui_anycubic_tft.cpp +++ b/Marlin/src/lcd/extui/anycubic_i3mega_lcd.cpp @@ -21,15 +21,15 @@ */ /** - * extui_anycubic_tft.cpp + * anycubic_i3mega_lcd.cpp */ -#include "../inc/MarlinConfigPre.h" +#include "../../inc/MarlinConfigPre.h" -#if BOTH(ANYCUBIC_TFT_MODEL, EXTENSIBLE_UI) +#if ENABLED(ANYCUBIC_LCD_I3MEGA) -#include "extui/lib/anycubic/anycubic_tft.h" -#include "extui/ui_api.h" +#include "lib/anycubic_i3mega/anycubic_i3mega_lcd.h" +#include "ui_api.h" #include // for the ::tone() call @@ -101,4 +101,4 @@ namespace ExtUI { #endif } -#endif // ANYCUBIC_TFT_MODEL && EXTENSIBLE_UI +#endif // ANYCUBIC_LCD_I3MEGA diff --git a/Marlin/src/lcd/extui_dgus_lcd.cpp b/Marlin/src/lcd/extui/dgus_lcd.cpp similarity index 95% rename from Marlin/src/lcd/extui_dgus_lcd.cpp rename to Marlin/src/lcd/extui/dgus_lcd.cpp index c3978eb7e187..d175b5acac9a 100644 --- a/Marlin/src/lcd/extui_dgus_lcd.cpp +++ b/Marlin/src/lcd/extui/dgus_lcd.cpp @@ -21,19 +21,19 @@ */ /** - * extui_dgus_lcd.cpp + * dgus_lcd.cpp * * DGUS implementation for Marlin by coldtobi, Feb-May 2019 */ -#include "../inc/MarlinConfigPre.h" +#include "../../inc/MarlinConfigPre.h" #if HAS_DGUS_LCD -#include "extui/ui_api.h" -#include "extui/lib/dgus/DGUSDisplay.h" -#include "extui/lib/dgus/DGUSDisplayDef.h" -#include "extui/lib/dgus/DGUSScreenHandler.h" +#include "ui_api.h" +#include "lib/dgus/DGUSDisplay.h" +#include "lib/dgus/DGUSDisplayDef.h" +#include "lib/dgus/DGUSScreenHandler.h" extern const char NUL_STR[]; diff --git a/Marlin/src/lcd/extui_example.cpp b/Marlin/src/lcd/extui/example.cpp similarity index 97% rename from Marlin/src/lcd/extui_example.cpp rename to Marlin/src/lcd/extui/example.cpp index 5258a5b6a27d..a5ef5652bc0f 100644 --- a/Marlin/src/lcd/extui_example.cpp +++ b/Marlin/src/lcd/extui/example.cpp @@ -1,5 +1,5 @@ /********************* - * extui_example.cpp * + * example.cpp * *********************/ /**************************************************************************** @@ -19,11 +19,11 @@ * location: . * ****************************************************************************/ -#include "../inc/MarlinConfigPre.h" +#include "../../inc/MarlinConfigPre.h" #if BOTH(EXTUI_EXAMPLE, EXTENSIBLE_UI) -#include "extui/ui_api.h" +#include "ui_api.h" // To implement a new UI, complete the functions below and // read or update Marlin's state using the methods in the diff --git a/Marlin/src/lcd/extui/lib/anycubic/anycubic_serial.cpp b/Marlin/src/lcd/extui/lib/anycubic/anycubic_serial.cpp deleted file mode 100644 index fd5f2691bdfb..000000000000 --- a/Marlin/src/lcd/extui/lib/anycubic/anycubic_serial.cpp +++ /dev/null @@ -1,290 +0,0 @@ -/* - anycubic_serial.cpp --- Support for Anycubic i3 Mega TFT serial connection - Created by Christian Hopp on 09.12.17. - - Original file: - HardwareSerial.cpp - Hardware serial library for Wiring - Copyright (c) 2006 Nicholas Zambetti. All right reserved. - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - Modified 23 November 2006 by David A. Mellis - Modified 28 September 2010 by Mark Sproul - Modified 14 August 2012 by Alarus -*/ - -#include "../../../../inc/MarlinConfig.h" - -#if ENABLED(ANYCUBIC_TFT_MODEL) - -#include - -// This next line disables the entire anycubic_serial.cpp, -// to support AtTiny series and other chips without a UART -#ifdef UBRR3H - -#include "anycubic_serial.h" - -#include -#include -#include -#include -#include "wiring_private.h" - -// Define constants and variables for buffering incoming serial data. We're -// using a ring buffer (I think), in which head is the index of the location -// to which to write the next incoming character and tail is the index of the -// location from which to read. -#if (RAMEND < 1000) - #define SERIAL_BUFFER_SIZE 64 -#else - #define SERIAL_BUFFER_SIZE 128 -#endif - -struct ring_buffer { - unsigned char buffer[SERIAL_BUFFER_SIZE]; - volatile unsigned int head; - volatile unsigned int tail; -}; - -ring_buffer rx_buffer_ajg = { { 0 }, 0, 0 }; -ring_buffer tx_buffer_ajg = { { 0 }, 0, 0 }; - -inline void store_char(unsigned char c, ring_buffer *buffer) { - int i = (unsigned int)(buffer->head + 1) % SERIAL_BUFFER_SIZE; - - // if we should be storing the received character into the location - // just before the tail (meaning that the head would advance to the - // current location of the tail), we're about to overflow the buffer - // and so we don't write the character or advance the head. - if (i != buffer->tail) { - buffer->buffer[buffer->head] = c; - buffer->head = i; - } -} - -#if defined(USART3_RX_vect) && defined(UDR3) - void serialEvent3() __attribute__((weak)); - void serialEvent3() {} - #define serialEvent3_implemented - ISR(USART3_RX_vect) { - if (bit_is_clear(UCSR3A, UPE3)) { - unsigned char c = UDR3; - store_char(c, &rx_buffer_ajg); - } - else { - unsigned char c = UDR3; - } - } -#endif - -#ifdef USART3_UDRE_vect - - ISR(USART3_UDRE_vect) { - if (tx_buffer_ajg.head == tx_buffer_ajg.tail) { - // Buffer empty, so disable interrupts - cbi(UCSR3B, UDRIE3); - } - else { - // There is more data in the output buffer. Send the next byte - unsigned char c = tx_buffer_ajg.buffer[tx_buffer_ajg.tail]; - tx_buffer_ajg.tail = (tx_buffer_ajg.tail + 1) % SERIAL_BUFFER_SIZE; - - UDR3 = c; - } - } - -#endif - -// Constructors //////////////////////////////////////////////////////////////// - -AnycubicSerialClass::AnycubicSerialClass(ring_buffer *rx_buffer, ring_buffer *tx_buffer, - volatile uint8_t *ubrrh, volatile uint8_t *ubrrl, - volatile uint8_t *ucsra, volatile uint8_t *ucsrb, - volatile uint8_t *ucsrc, volatile uint8_t *udr, - uint8_t rxen, uint8_t txen, uint8_t rxcie, uint8_t udrie, uint8_t u2x -) { - _rx_buffer = rx_buffer; - _tx_buffer = tx_buffer; - _ubrrh = ubrrh; - _ubrrl = ubrrl; - _ucsra = ucsra; - _ucsrb = ucsrb; - _ucsrc = ucsrc; - _udr = udr; - _rxen = rxen; - _txen = txen; - _rxcie = rxcie; - _udrie = udrie; - _u2x = u2x; -} - -// Public Methods ////////////////////////////////////////////////////////////// - -void AnycubicSerialClass::begin(unsigned long baud) { - uint16_t baud_setting; - bool use_u2x = true; - - #if F_CPU == 16000000UL - // hardcoded exception for compatibility with the bootloader shipped - // with the Duemilanove and previous boards and the firmware on the 8U2 - // on the Uno and Mega 2560. - if (baud == 57600) use_u2x = false; - #endif - -try_again: - - if (use_u2x) { - *_ucsra = 1 << _u2x; - baud_setting = (F_CPU / 4 / baud - 1) / 2; - } else { - *_ucsra = 0; - baud_setting = (F_CPU / 8 / baud - 1) / 2; - } - - if ((baud_setting > 4095) && use_u2x) { - use_u2x = false; - goto try_again; - } - - // assign the baud_setting, a.k.a. ubbr (USART Baud Rate Register) - *_ubrrh = baud_setting >> 8; - *_ubrrl = baud_setting; - - transmitting = false; - - sbi(*_ucsrb, _rxen); - sbi(*_ucsrb, _txen); - sbi(*_ucsrb, _rxcie); - cbi(*_ucsrb, _udrie); -} - -void AnycubicSerialClass::begin(unsigned long baud, byte config) { - uint16_t baud_setting; - uint8_t current_config; - bool use_u2x = true; - - #if F_CPU == 16000000UL - // hardcoded exception for compatibility with the bootloader shipped - // with the Duemilanove and previous boards and the firmware on the 8U2 - // on the Uno and Mega 2560. - if (baud == 57600) use_u2x = false; - #endif - -try_again: - - if (use_u2x) { - *_ucsra = 1 << _u2x; - baud_setting = (F_CPU / 4 / baud - 1) / 2; - } - else { - *_ucsra = 0; - baud_setting = (F_CPU / 8 / baud - 1) / 2; - } - - if ((baud_setting > 4095) && use_u2x) { - use_u2x = false; - goto try_again; - } - - // assign the baud_setting, a.k.a. ubbr (USART Baud Rate Register) - *_ubrrh = baud_setting >> 8; - *_ubrrl = baud_setting; - - //set the data bits, parity, and stop bits - #ifdef __AVR_ATmega8__ - config |= 0x80; // select UCSRC register (shared with UBRRH) - #endif - *_ucsrc = config; - - sbi(*_ucsrb, _rxen); - sbi(*_ucsrb, _txen); - sbi(*_ucsrb, _rxcie); - cbi(*_ucsrb, _udrie); -} - -void AnycubicSerialClass::end() { - // wait for transmission of outgoing data - while (_tx_buffer->head != _tx_buffer->tail) - ; - - cbi(*_ucsrb, _rxen); - cbi(*_ucsrb, _txen); - cbi(*_ucsrb, _rxcie); - cbi(*_ucsrb, _udrie); - - // clear any received data - _rx_buffer->head = _rx_buffer->tail; -} - -int AnycubicSerialClass::available(void) { - return (int)(SERIAL_BUFFER_SIZE + _rx_buffer->head - _rx_buffer->tail) % SERIAL_BUFFER_SIZE; -} - -int AnycubicSerialClass::peek(void) { - if (_rx_buffer->head == _rx_buffer->tail) { - return -1; - } else { - return _rx_buffer->buffer[_rx_buffer->tail]; - } -} - -int AnycubicSerialClass::read(void) { - // if the head isn't ahead of the tail, we don't have any characters - if (_rx_buffer->head == _rx_buffer->tail) { - return -1; - } else { - unsigned char c = _rx_buffer->buffer[_rx_buffer->tail]; - _rx_buffer->tail = (unsigned int)(_rx_buffer->tail + 1) % SERIAL_BUFFER_SIZE; - return c; - } -} - -void AnycubicSerialClass::flush() { - // UDR is kept full while the buffer is not empty, so TXC triggers when EMPTY && SENT - while (transmitting && ! (*_ucsra & _BV(TXC0))); - transmitting = false; -} - -size_t AnycubicSerialClass::write(uint8_t c) { - int i = (_tx_buffer->head + 1) % SERIAL_BUFFER_SIZE; - - // If the output buffer is full, there's nothing for it other than to - // wait for the interrupt handler to empty it a bit - // ???: return 0 here instead? - while (i == _tx_buffer->tail) - ; - - _tx_buffer->buffer[_tx_buffer->head] = c; - _tx_buffer->head = i; - - sbi(*_ucsrb, _udrie); - // clear the TXC bit -- "can be cleared by writing a one to its bit location" - transmitting = true; - sbi(*_ucsra, TXC0); - - return 1; -} - -AnycubicSerialClass::operator bool() { - return true; -} - -// Preinstantiate Objects ////////////////////////////////////////////////////// - -AnycubicSerialClass AnycubicSerial(&rx_buffer_ajg, &tx_buffer_ajg, &UBRR3H, &UBRR3L, &UCSR3A, &UCSR3B, &UCSR3C, &UDR3, RXEN3, TXEN3, RXCIE3, UDRIE3, U2X3); - -#endif // UBRR3H -#endif // ANYCUBIC_TFT_MODEL diff --git a/Marlin/src/lcd/extui/lib/anycubic/anycubic_serial.h b/Marlin/src/lcd/extui/lib/anycubic/anycubic_serial.h deleted file mode 100644 index ed4c19b63e88..000000000000 --- a/Marlin/src/lcd/extui/lib/anycubic/anycubic_serial.h +++ /dev/null @@ -1,145 +0,0 @@ -/* - anycubic_serial.h --- Support for Anycubic i3 Mega TFT serial connection - Created by Christian Hopp on 09.12.17. - - Original file: - - HardwareSerial.h - Hardware serial library for Wiring - Copyright (c) 2006 Nicholas Zambetti. All right reserved. - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - Modified 28 September 2010 by Mark Sproul - Modified 14 August 2012 by Alarus -*/ -#pragma once - -#include -#include - -#include "Stream.h" - -#define FORCE_INLINE __attribute__((always_inline)) inline - -struct ring_buffer; - -class AnycubicSerialClass : public Stream { - private: - ring_buffer *_rx_buffer; - ring_buffer *_tx_buffer; - volatile uint8_t *_ubrrh; - volatile uint8_t *_ubrrl; - volatile uint8_t *_ucsra; - volatile uint8_t *_ucsrb; - volatile uint8_t *_ucsrc; - volatile uint8_t *_udr; - uint8_t _rxen; - uint8_t _txen; - uint8_t _rxcie; - uint8_t _udrie; - uint8_t _u2x; - bool transmitting; - public: - AnycubicSerialClass(ring_buffer *rx_buffer, ring_buffer *tx_buffer, - volatile uint8_t *ubrrh, volatile uint8_t *ubrrl, - volatile uint8_t *ucsra, volatile uint8_t *ucsrb, - volatile uint8_t *ucsrc, volatile uint8_t *udr, - uint8_t rxen, uint8_t txen, uint8_t rxcie, uint8_t udrie, uint8_t u2x - ); - void begin(unsigned long); - void begin(unsigned long, uint8_t); - void end(); - virtual int available(void); - virtual int peek(void); - virtual int read(void); - virtual void flush(void); - virtual size_t write(uint8_t); - inline size_t write(unsigned long n) { return write((uint8_t)n); } - inline size_t write(long n) { return write((uint8_t)n); } - inline size_t write(unsigned int n) { return write((uint8_t)n); } - inline size_t write(int n) { return write((uint8_t)n); } - using Print::write; // pull in write(str) and write(buf, size) from Print - operator bool(); -}; - -// Define config for Serial.begin(baud, config); -#define SERIAL_5N1 0x00 -#define SERIAL_6N1 0x02 -#define SERIAL_7N1 0x04 -#define SERIAL_8N1 0x06 -#define SERIAL_5N2 0x08 -#define SERIAL_6N2 0x0A -#define SERIAL_7N2 0x0C -#define SERIAL_8N2 0x0E -#define SERIAL_5E1 0x20 -#define SERIAL_6E1 0x22 -#define SERIAL_7E1 0x24 -#define SERIAL_8E1 0x26 -#define SERIAL_5E2 0x28 -#define SERIAL_6E2 0x2A -#define SERIAL_7E2 0x2C -#define SERIAL_8E2 0x2E -#define SERIAL_5O1 0x30 -#define SERIAL_6O1 0x32 -#define SERIAL_7O1 0x34 -#define SERIAL_8O1 0x36 -#define SERIAL_5O2 0x38 -#define SERIAL_6O2 0x3A -#define SERIAL_7O2 0x3C -#define SERIAL_8O2 0x3E - -extern void serialEventRun(void) __attribute__((weak)); - -#define ANYCUBIC_SERIAL_PROTOCOL(x) (AnycubicSerial.print(x)) -#define ANYCUBIC_SERIAL_PROTOCOL_F(x,y) (AnycubicSerial.print(x, y)) -#define ANYCUBIC_SERIAL_PROTOCOLPGM(x) (AnycubicSerialprintPGM(PSTR(x))) -#define ANYCUBIC_SERIAL_(x) (AnycubicSerial.print(x), AnycubicSerial.write('\n')) -#define ANYCUBIC_SERIAL_PROTOCOLLN(x) (AnycubicSerial.print(x), AnycubicSerial.write('\r'), AnycubicSerial.write('\n')) -#define ANYCUBIC_SERIAL_PROTOCOLLNPGM(x) (AnycubicSerialprintPGM(PSTR(x)), AnycubicSerial.write('\r'), AnycubicSerial.write('\n')) - -#define ANYCUBIC_SERIAL_START() (AnycubicSerial.write('\r'), AnycubicSerial.write('\n')) -#define ANYCUBIC_SERIAL_CMD_SEND(x) (AnycubicSerialprintPGM(PSTR(x)), AnycubicSerial.write('\r'), AnycubicSerial.write('\n')) -#define ANYCUBIC_SERIAL_ENTER() (AnycubicSerial.write('\r'), AnycubicSerial.write('\n')) -#define ANYCUBIC_SERIAL_SPACE() (AnycubicSerial.write(' ')) - -const char newErr[] PROGMEM = "ERR "; -const char newSucc[] PROGMEM = "OK"; - -#define ANYCUBIC_SERIAL_ERROR_START (AnycubicSerialprintPGM(newErr)) -#define ANYCUBIC_SERIAL_ERROR(x) ANYCUBIC_SERIAL_PROTOCOL(x) -#define ANYCUBIC_SERIAL_ERRORPGM(x) ANYCUBIC_SERIAL_PROTOCOLPGM(x) -#define ANYCUBIC_SERIAL_ERRORLN(x) ANYCUBIC_SERIAL_PROTOCOLLN(x) -#define ANYCUBIC_SERIAL_ERRORLNPGM(x) ANYCUBIC_SERIAL_PROTOCOLLNPGM(x) - -//##define ANYCUBIC_SERIAL_ECHO_START (AnycubicSerialprintPGM(newSucc)) -#define ANYCUBIC_SERIAL_ECHOLN(x) ANYCUBIC_SERIAL_PROTOCOLLN(x) -#define ANYCUBIC_SERIAL_SUCC_START (AnycubicSerialprintPGM(newSucc)) -#define ANYCUBIC_SERIAL_ECHOPAIR(name,value) (serial_echopair_P(PSTR(name),(value))) -#define ANYCUBIC_SERIAL_ECHOPGM(x) ANYCUBIC_SERIAL_PROTOCOLPGM(x) -#define ANYCUBIC_SERIAL_ECHO(x) ANYCUBIC_SERIAL_PROTOCOL(x) - -#ifdef UBRR3H - - extern AnycubicSerialClass AnycubicSerial; - - FORCE_INLINE void AnycubicSerialprintPGM(const char *str) { - char ch = pgm_read_byte(str); - while (ch) { - AnycubicSerial.write(ch); - ch = pgm_read_byte(++str); - } - } - -#endif diff --git a/Marlin/src/lcd/extui/lib/anycubic/anycubic_tft.cpp b/Marlin/src/lcd/extui/lib/anycubic_i3mega/anycubic_i3mega_lcd.cpp similarity index 75% rename from Marlin/src/lcd/extui/lib/anycubic/anycubic_tft.cpp rename to Marlin/src/lcd/extui/lib/anycubic_i3mega/anycubic_i3mega_lcd.cpp index 718b47fee9b4..1c9b9299fc43 100644 --- a/Marlin/src/lcd/extui/lib/anycubic/anycubic_tft.cpp +++ b/Marlin/src/lcd/extui/lib/anycubic_i3mega/anycubic_i3mega_lcd.cpp @@ -1,5 +1,5 @@ /** - * anycubic_tft.cpp --- Support for Anycubic i3 Mega TFT + * anycubic_i3mega_lcd.cpp --- Support for Anycubic i3 Mega TFT * Created by Christian Hopp on 09.12.17. * Improved by David Ramiro * Converted to ext_iu by John BouAntoun 21 June 2020 @@ -21,15 +21,29 @@ #include "../../../../inc/MarlinConfigPre.h" -#if ENABLED(ANYCUBIC_TFT_MODEL) +#if ENABLED(ANYCUBIC_LCD_I3MEGA) -#include "anycubic_tft.h" -#include "anycubic_serial.h" +#include "anycubic_i3mega_lcd.h" #include "../../../../inc/MarlinConfig.h" #include "../../ui_api.h" #include "../../../../MarlinCore.h" // for quickstop_stepper and disable_steppers +// command sending macro's with debugging capability +#define SEND_PGM(x) send_P(PSTR(x)) +#define SENDLINE_PGM(x) sendLine_P(PSTR(x)) +#define SEND_PGM_VAL(x,y) (send_P(PSTR(x)), sendLine(itostr3(y))) +#define SEND(x) send(x) +#define SENDLINE(x) sendLine(x) +#if ENABLED(ANYCUBIC_LCD_DEBUG) + #define SENDLINE_DBG_PGM(x,y) (sendLine_P(PSTR(x)), SERIAL_ECHOLNPGM(y)) + #define SENDLINE_DBG_PGM_VAL(x,y,z) (sendLine_P(PSTR(x)), SERIAL_ECHOPGM(y), SERIAL_ECHOLN(z)) +#else + #define SENDLINE_DBG_PGM(x,y) sendLine_P(PSTR(x)) + #define SENDLINE_DBG_PGM_VAL(x,y,z) sendLine_P(PSTR(x)) +#endif + + AnycubicTFTClass AnycubicTFT; char _conv[8]; @@ -43,6 +57,30 @@ char *itostr2(const uint8_t &x) { return _conv; } +static void sendNewLine(void) { + ANYCUBIC_LCD_SERIAL.write('\r'); + ANYCUBIC_LCD_SERIAL.write('\n'); +} + +static void send(const char *str) { + ANYCUBIC_LCD_SERIAL.print(str); +} + +static void sendLine(const char *str) { + send(str); + sendNewLine(); +} + +static void send_P(PGM_P str) { + while (const char c = pgm_read_byte(str++)) + ANYCUBIC_LCD_SERIAL.write(c); +} + +static void sendLine_P(PGM_P str) { + send_P(str); + sendNewLine(); +} + #ifndef ULTRA_LCD #define DIGIT(n) ('0' + (n)) #define DIGIMOD(n, f) DIGIT((n) / (f) % 10) @@ -74,8 +112,8 @@ char *itostr2(const uint8_t &x) { AnycubicTFTClass::AnycubicTFTClass() {} void AnycubicTFTClass::OnSetup() { - AnycubicSerial.begin(115200); - ANYCUBIC_SENDCOMMAND_DBG_PGM("J17", "TFT Serial Debug: Main board reset... J17"); // J17 Main board reset + ANYCUBIC_LCD_SERIAL.begin(115200); + SENDLINE_DBG_PGM("J17", "TFT Serial Debug: Main board reset... J17"); // J17 Main board reset ExtUI::delay_ms(10); // initialise the state of the key pins running on the tft @@ -92,7 +130,7 @@ void AnycubicTFTClass::OnSetup() { mediaPauseState = AMPAUSESTATE_NOT_PAUSED; // DoSDCardStateCheck(); - ANYCUBIC_SENDCOMMAND_DBG_PGM("J12", "TFT Serial Debug: Ready... J12"); // J12 Ready + SENDLINE_DBG_PGM("J12", "TFT Serial Debug: Ready... J12"); // J12 Ready ExtUI::delay_ms(10); DoFilamentRunoutCheck(); @@ -101,7 +139,7 @@ void AnycubicTFTClass::OnSetup() { #if ENABLED(STARTUP_CHIME) ExtUI::injectCommands_P(PSTR("M300 P250 S554\nM300 P250 S554\nM300 P250 S740\nM300 P250 S554\nM300 P250 S740\nM300 P250 S554\nM300 P500 S831")); #endif - #if ENABLED(ANYCUBIC_TFT_DEBUG) + #if ENABLED(ANYCUBIC_LCD_DEBUG) SERIAL_ECHOLNPGM("TFT Serial Debug: Finished startup"); #endif } @@ -112,7 +150,7 @@ void AnycubicTFTClass::OnCommandScan() { if (ELAPSED(ms, nextStopCheck)) { nextStopCheck = ms + 1000UL; if (mediaPrintingState == AMPRINTSTATE_STOP_REQUESTED && IsNozzleHomed()) { - #if ENABLED(ANYCUBIC_TFT_DEBUG) + #if ENABLED(ANYCUBIC_LCD_DEBUG) SERIAL_ECHOLNPGM("TFT Serial Debug: Finished stopping print, releasing motors ..."); #endif mediaPrintingState = AMPRINTSTATE_NOT_PRINTING; @@ -120,7 +158,7 @@ void AnycubicTFTClass::OnCommandScan() { ExtUI::injectCommands_P(PSTR("M84\nM27")); // disable stepper motors and force report of SD status ExtUI::delay_ms(200); // tell printer to release resources of print to indicate it is done - ANYCUBIC_SENDCOMMAND_DBG_PGM("J14", "TFT Serial Debug: SD Print Stopped... J14"); + SENDLINE_DBG_PGM("J14", "TFT Serial Debug: SD Print Stopped... J14"); } } @@ -134,11 +172,11 @@ void AnycubicTFTClass::OnCommandScan() { } void AnycubicTFTClass::OnKillTFT() { - ANYCUBIC_SENDCOMMAND_DBG_PGM("J11", "TFT Serial Debug: Kill command... J11"); + SENDLINE_DBG_PGM("J11", "TFT Serial Debug: Kill command... J11"); } void AnycubicTFTClass::OnSDCardStateChange(bool isInserted) { - #if ENABLED(ANYCUBIC_TFT_DEBUG) + #if ENABLED(ANYCUBIC_LCD_DEBUG) SERIAL_ECHOPGM("TFT Serial Debug: OnSDCardStateChange event triggered..."); SERIAL_ECHO(itostr2(isInserted)); SERIAL_EOL(); @@ -147,21 +185,21 @@ void AnycubicTFTClass::OnSDCardStateChange(bool isInserted) { } void AnycubicTFTClass::OnSDCardError() { - #if ENABLED(ANYCUBIC_TFT_DEBUG) + #if ENABLED(ANYCUBIC_LCD_DEBUG) SERIAL_ECHOLNPGM("TFT Serial Debug: OnSDCardError event triggered..."); #endif - ANYCUBIC_SENDCOMMAND_DBG_PGM("J21", "TFT Serial Debug: On SD Card Error ... J21"); + SENDLINE_DBG_PGM("J21", "TFT Serial Debug: On SD Card Error ... J21"); } void AnycubicTFTClass::OnFilamentRunout() { - #if ENABLED(ANYCUBIC_TFT_DEBUG) + #if ENABLED(ANYCUBIC_LCD_DEBUG) SERIAL_ECHOLNPGM("TFT Serial Debug: FilamentRunout triggered..."); #endif DoFilamentRunoutCheck(); } void AnycubicTFTClass::OnUserConfirmRequired(const char * const msg) { - #if ENABLED(ANYCUBIC_TFT_DEBUG) + #if ENABLED(ANYCUBIC_LCD_DEBUG) SERIAL_ECHOPGM("TFT Serial Debug: OnUserConfirmRequired triggered... "); SERIAL_ECHOLN(msg); #endif @@ -181,36 +219,36 @@ void AnycubicTFTClass::OnUserConfirmRequired(const char * const msg) { mediaPrintingState = AMPRINTSTATE_PAUSED; mediaPauseState = AMPAUSESTATE_PARKED; // enable continue button - ANYCUBIC_SENDCOMMAND_DBG_PGM("J18", "TFT Serial Debug: UserConfirm SD print paused done... J18"); + SENDLINE_DBG_PGM("J18", "TFT Serial Debug: UserConfirm SD print paused done... J18"); } else if (strcmp_P(msg, PSTR("Load Filament")) == 0) { mediaPrintingState = AMPRINTSTATE_PAUSED; mediaPauseState = AMPAUSESTATE_FILAMENT_OUT; // enable continue button - ANYCUBIC_SENDCOMMAND_DBG_PGM("J18", "TFT Serial Debug: UserConfirm Filament is out... J18"); - ANYCUBIC_SENDCOMMAND_DBG_PGM("J23", "TFT Serial Debug: UserConfirm Blocking filament prompt... J23"); + SENDLINE_DBG_PGM("J18", "TFT Serial Debug: UserConfirm Filament is out... J18"); + SENDLINE_DBG_PGM("J23", "TFT Serial Debug: UserConfirm Blocking filament prompt... J23"); } else if (strcmp_P(msg, PSTR("Filament Purging...")) == 0) { mediaPrintingState = AMPRINTSTATE_PAUSED; mediaPauseState = AMPAUSESTATE_PARKING; // TODO: JBA I don't think J05 just disables the continue button, i think it injects a rogue M25. So taking this out // disable continue button - // ANYCUBIC_SENDCOMMAND_DBG_PGM("J05", "TFT Serial Debug: UserConfirm SD Filament Purging... J05"); // J05 printing pause + // SENDLINE_DBG_PGM("J05", "TFT Serial Debug: UserConfirm SD Filament Purging... J05"); // J05 printing pause // enable continue button - ANYCUBIC_SENDCOMMAND_DBG_PGM("J18", "TFT Serial Debug: UserConfirm Filament is purging... J18"); + SENDLINE_DBG_PGM("J18", "TFT Serial Debug: UserConfirm Filament is purging... J18"); } else if (strcmp_P(msg, PSTR("HeaterTimeout")) == 0) { mediaPrintingState = AMPRINTSTATE_PAUSED; mediaPauseState = AMPAUSESTATE_HEATER_TIMEOUT; // enable continue button - ANYCUBIC_SENDCOMMAND_DBG_PGM("J18", "TFT Serial Debug: UserConfirm SD Heater timeout... J18"); + SENDLINE_DBG_PGM("J18", "TFT Serial Debug: UserConfirm SD Heater timeout... J18"); } else if (strcmp_P(msg, PSTR("Reheat finished.")) == 0) { mediaPrintingState = AMPRINTSTATE_PAUSED; mediaPauseState = AMPAUSESTATE_REHEAT_FINISHED; // enable continue button - ANYCUBIC_SENDCOMMAND_DBG_PGM("J18", "TFT Serial Debug: UserConfirm SD Reheat done... J18"); + SENDLINE_DBG_PGM("J18", "TFT Serial Debug: UserConfirm SD Reheat done... J18"); } #endif } @@ -360,7 +398,7 @@ void AnycubicTFTClass::HandleSpecialMenu() { default: break; } - #if ENABLED(ANYCUBIC_TFT_DEBUG) + #if ENABLED(ANYCUBIC_LCD_DEBUG) } else { SERIAL_ECHOPGM("TFT Serial Debug: Attempted to HandleSpecialMenu on non-special menu... "); @@ -375,14 +413,13 @@ void AnycubicTFTClass::RenderCurrentFileList() { SelectedDirectory[0] = 0; SelectedFile[0] = 0; - ANYCUBIC_SERIAL_PROTOCOLPGM("FN "); // Filelist start - ANYCUBIC_SERIAL_ENTER(); + SENDLINE_PGM("FN "); // Filelist start if (!ExtUI::isMediaInserted() && !SpecialMenu) { - ANYCUBIC_SENDCOMMAND_DBG_PGM("J02", "TFT Serial Debug: No SD Card mounted to render Current File List... J02"); + SENDLINE_DBG_PGM("J02", "TFT Serial Debug: No SD Card mounted to render Current File List... J02"); - ANYCUBIC_SERIAL_PROTOCOLLNPGM(""); - ANYCUBIC_SERIAL_PROTOCOLLNPGM(""); + SENDLINE_PGM(""); + SENDLINE_PGM(""); } else { if (CodeSeen('S')) @@ -393,8 +430,7 @@ void AnycubicTFTClass::RenderCurrentFileList() { else RenderCurrentFolder(selectedNumber); } - ANYCUBIC_SERIAL_PROTOCOLPGM("END"); // Filelist stop - ANYCUBIC_SERIAL_ENTER(); + SENDLINE_PGM("END"); // Filelist stop #endif // SDSUPPORT } @@ -402,58 +438,58 @@ void AnycubicTFTClass::RenderSpecialMenu(uint16_t selectedNumber) { switch (selectedNumber) { #if ENABLED(PROBE_MANUALLY) case 0: // First Page - ANYCUBIC_SERIAL_PROTOCOLLNPGM("<01ZUp0.1>"); - ANYCUBIC_SERIAL_PROTOCOLLNPGM(""); - ANYCUBIC_SERIAL_PROTOCOLLNPGM("<02ZUp0.02>"); - ANYCUBIC_SERIAL_PROTOCOLLNPGM(""); - ANYCUBIC_SERIAL_PROTOCOLLNPGM("<03ZDn0.02>"); - ANYCUBIC_SERIAL_PROTOCOLLNPGM(""); - ANYCUBIC_SERIAL_PROTOCOLLNPGM("<04ZDn0.1>"); - ANYCUBIC_SERIAL_PROTOCOLLNPGM(""); + SENDLINE_PGM("<01ZUp0.1>"); + SENDLINE_PGM(""); + SENDLINE_PGM("<02ZUp0.02>"); + SENDLINE_PGM(""); + SENDLINE_PGM("<03ZDn0.02>"); + SENDLINE_PGM(""); + SENDLINE_PGM("<04ZDn0.1>"); + SENDLINE_PGM(""); break; case 4: // Second Page - ANYCUBIC_SERIAL_PROTOCOLLNPGM("<05PrehtBed>"); - ANYCUBIC_SERIAL_PROTOCOLLNPGM(""); - ANYCUBIC_SERIAL_PROTOCOLLNPGM("<06SMeshLvl>"); - ANYCUBIC_SERIAL_PROTOCOLLNPGM(""); - ANYCUBIC_SERIAL_PROTOCOLLNPGM("<07MeshNPnt>"); - ANYCUBIC_SERIAL_PROTOCOLLNPGM(""); - ANYCUBIC_SERIAL_PROTOCOLLNPGM("<08HtEndPID>"); - ANYCUBIC_SERIAL_PROTOCOLLNPGM(""); + SENDLINE_PGM("<05PrehtBed>"); + SENDLINE_PGM(""); + SENDLINE_PGM("<06SMeshLvl>"); + SENDLINE_PGM(""); + SENDLINE_PGM("<07MeshNPnt>"); + SENDLINE_PGM(""); + SENDLINE_PGM("<08HtEndPID>"); + SENDLINE_PGM(""); break; case 8: // Third Page - ANYCUBIC_SERIAL_PROTOCOLLNPGM("<09HtBedPID>"); - ANYCUBIC_SERIAL_PROTOCOLLNPGM(""); - ANYCUBIC_SERIAL_PROTOCOLLNPGM("<10FWDeflts>"); - ANYCUBIC_SERIAL_PROTOCOLLNPGM(""); - ANYCUBIC_SERIAL_PROTOCOLLNPGM("<11SvEEPROM>"); - ANYCUBIC_SERIAL_PROTOCOLLNPGM(""); - ANYCUBIC_SERIAL_PROTOCOLLNPGM(""); - ANYCUBIC_SERIAL_PROTOCOLLNPGM(""); + SENDLINE_PGM("<09HtBedPID>"); + SENDLINE_PGM(""); + SENDLINE_PGM("<10FWDeflts>"); + SENDLINE_PGM(""); + SENDLINE_PGM("<11SvEEPROM>"); + SENDLINE_PGM(""); + SENDLINE_PGM(""); + SENDLINE_PGM(""); break; #else case 0: // First Page - ANYCUBIC_SERIAL_PROTOCOLLNPGM("<01PrehtBed>"); - ANYCUBIC_SERIAL_PROTOCOLLNPGM(""); - ANYCUBIC_SERIAL_PROTOCOLLNPGM("<02ABL>"); - ANYCUBIC_SERIAL_PROTOCOLLNPGM(""); - ANYCUBIC_SERIAL_PROTOCOLLNPGM("<03HtEndPID>"); - ANYCUBIC_SERIAL_PROTOCOLLNPGM(""); - ANYCUBIC_SERIAL_PROTOCOLLNPGM("<04HtBedPID>"); - ANYCUBIC_SERIAL_PROTOCOLLNPGM(""); + SENDLINE_PGM("<01PrehtBed>"); + SENDLINE_PGM(""); + SENDLINE_PGM("<02ABL>"); + SENDLINE_PGM(""); + SENDLINE_PGM("<03HtEndPID>"); + SENDLINE_PGM(""); + SENDLINE_PGM("<04HtBedPID>"); + SENDLINE_PGM(""); break; case 4: // Second Page - ANYCUBIC_SERIAL_PROTOCOLLNPGM("<05FWDeflts>"); - ANYCUBIC_SERIAL_PROTOCOLLNPGM(""); - ANYCUBIC_SERIAL_PROTOCOLLNPGM("<06SvEEPROM>"); - ANYCUBIC_SERIAL_PROTOCOLLNPGM(""); - ANYCUBIC_SERIAL_PROTOCOLLNPGM("<07SendM108>"); - ANYCUBIC_SERIAL_PROTOCOLLNPGM(""); - ANYCUBIC_SERIAL_PROTOCOLLNPGM(""); - ANYCUBIC_SERIAL_PROTOCOLLNPGM(""); + SENDLINE_PGM("<05FWDeflts>"); + SENDLINE_PGM(""); + SENDLINE_PGM("<06SvEEPROM>"); + SENDLINE_PGM(""); + SENDLINE_PGM("<07SendM108>"); + SENDLINE_PGM(""); + SENDLINE_PGM(""); + SENDLINE_PGM(""); break; #endif // PROBE_MANUALLY @@ -477,30 +513,30 @@ void AnycubicTFTClass::RenderCurrentFolder(uint16_t selectedNumber) { for (cnt = selectedNumber; cnt <= max_files; cnt++) { if (cnt == 0) { // Special Entry if (currentFileList.isAtRootDir()) { - ANYCUBIC_SERIAL_PROTOCOLLNPGM(""); - ANYCUBIC_SERIAL_PROTOCOLLNPGM(""); + SENDLINE_PGM(""); + SENDLINE_PGM(""); } else { - ANYCUBIC_SERIAL_PROTOCOLLNPGM("/.."); - ANYCUBIC_SERIAL_PROTOCOLLNPGM("/.."); + SENDLINE_PGM("/.."); + SENDLINE_PGM("/.."); } } else { currentFileList.seek(cnt - 1, false); - #if ENABLED(ANYCUBIC_TFT_DEBUG) + #if ENABLED(ANYCUBIC_LCD_DEBUG) SERIAL_ECHOLN(currentFileList.filename()); #endif if (currentFileList.isDir()) { - ANYCUBIC_SERIAL_PROTOCOLPGM("/"); - ANYCUBIC_SERIAL_PROTOCOLLN(currentFileList.shortFilename()); - ANYCUBIC_SERIAL_PROTOCOLPGM("/"); - ANYCUBIC_SERIAL_PROTOCOLLN(currentFileList.longFilename()); + SEND_PGM("/"); + SENDLINE(currentFileList.shortFilename()); + SEND_PGM("/"); + SENDLINE(currentFileList.longFilename()); } else { - ANYCUBIC_SERIAL_PROTOCOLLN(currentFileList.shortFilename()); - ANYCUBIC_SERIAL_PROTOCOLLN(currentFileList.longFilename()); + SENDLINE(currentFileList.shortFilename()); + SENDLINE(currentFileList.longFilename()); } } } @@ -509,7 +545,7 @@ void AnycubicTFTClass::RenderCurrentFolder(uint16_t selectedNumber) { void AnycubicTFTClass::OnPrintTimerStarted() { #if ENABLED(SDSUPPORT) if (mediaPrintingState == AMPRINTSTATE_PRINTING) - ANYCUBIC_SENDCOMMAND_DBG_PGM("J04", "TFT Serial Debug: Starting SD Print... J04"); // J04 Starting Print + SENDLINE_DBG_PGM("J04", "TFT Serial Debug: Starting SD Print... J04"); // J04 Starting Print #endif } @@ -528,7 +564,7 @@ void AnycubicTFTClass::OnPrintTimerStopped() { if (mediaPrintingState == AMPRINTSTATE_PRINTING) { mediaPrintingState = AMPRINTSTATE_NOT_PRINTING; mediaPauseState = AMPAUSESTATE_NOT_PAUSED; - ANYCUBIC_SENDCOMMAND_DBG_PGM("J14", "TFT Serial Debug: SD Print Completed... J14"); + SENDLINE_DBG_PGM("J14", "TFT Serial Debug: SD Print Completed... J14"); } // otherwise it was stopped by the printer so don't send print completed signal to TFT #endif @@ -536,8 +572,8 @@ void AnycubicTFTClass::OnPrintTimerStopped() { void AnycubicTFTClass::GetCommandFromTFT() { char *starpos = NULL; - while (AnycubicSerial.available() > 0 && TFTbuflen < TFTBUFSIZE) { - serial3_char = AnycubicSerial.read(); + while (ANYCUBIC_LCD_SERIAL.available() > 0 && TFTbuflen < TFTBUFSIZE) { + serial3_char = ANYCUBIC_LCD_SERIAL.read(); if (serial3_char == '\n' || serial3_char == '\r' || serial3_char == ':' || @@ -553,7 +589,7 @@ void AnycubicTFTClass::GetCommandFromTFT() { TFTstrchr_pointer = strchr(TFTcmdbuffer[TFTbufindw], 'A'); a_command = ((int)((strtod(&TFTcmdbuffer[TFTbufindw][TFTstrchr_pointer - TFTcmdbuffer[TFTbufindw] + 1], NULL)))); - #if ENABLED(ANYCUBIC_TFT_DEBUG) + #if ENABLED(ANYCUBIC_LCD_DEBUG) if ((a_command > 7) && (a_command != 20)) { // No debugging of status polls, please! SERIAL_ECHOPGM("TFT Serial Command: "); SERIAL_ECHOLN(TFTcmdbuffer[TFTbufindw]); @@ -563,25 +599,25 @@ void AnycubicTFTClass::GetCommandFromTFT() { switch (a_command) { case 0: { // A0 GET HOTEND TEMP float hotendActualTemp = ExtUI::getActualTemp_celsius((ExtUI::extruder_t) (ExtUI::extruder_t) ExtUI::E0); - ANYCUBIC_SENDCOMMANDPGM_VAL("A0V ", int(hotendActualTemp + 0.5)); + SEND_PGM_VAL("A0V ", int(hotendActualTemp + 0.5)); } break; case 1: { // A1 GET HOTEND TARGET TEMP float hotendTargetTemp = ExtUI::getTargetTemp_celsius((ExtUI::extruder_t) (ExtUI::extruder_t) ExtUI::E0); - ANYCUBIC_SENDCOMMANDPGM_VAL("A1V ", int(hotendTargetTemp + 0.5)); + SEND_PGM_VAL("A1V ", int(hotendTargetTemp + 0.5)); } break; case 2: { // A2 GET HOTBED TEMP float heatedBedActualTemp = ExtUI::getActualTemp_celsius((ExtUI::heater_t) ExtUI::BED); - ANYCUBIC_SENDCOMMANDPGM_VAL("A2V ", int(heatedBedActualTemp + 0.5)); + SEND_PGM_VAL("A2V ", int(heatedBedActualTemp + 0.5)); } break; case 3: { // A3 GET HOTBED TARGET TEMP float heatedBedTargetTemp = ExtUI::getTargetTemp_celsius((ExtUI::heater_t) ExtUI::BED); - ANYCUBIC_SENDCOMMANDPGM_VAL("A3V ", int(heatedBedTargetTemp + 0.5)); + SEND_PGM_VAL("A3V ", int(heatedBedTargetTemp + 0.5)); } break; @@ -589,7 +625,7 @@ void AnycubicTFTClass::GetCommandFromTFT() { { float fanPercent = ExtUI::getActualFan_percent(ExtUI::FAN0); fanPercent = constrain(fanPercent, 0, 100); - ANYCUBIC_SENDCOMMANDPGM_VAL("A4V ", int(fanPercent)); + SEND_PGM_VAL("A4V ", int(fanPercent)); } break; @@ -598,58 +634,46 @@ void AnycubicTFTClass::GetCommandFromTFT() { float xPostition = ExtUI::getAxisPosition_mm(ExtUI::X); float yPostition = ExtUI::getAxisPosition_mm(ExtUI::Y); float zPostition = ExtUI::getAxisPosition_mm(ExtUI::Z); - ANYCUBIC_SERIAL_PROTOCOLPGM("A5V"); - ANYCUBIC_SERIAL_SPACE(); - ANYCUBIC_SERIAL_PROTOCOLPGM("X: "); - ANYCUBIC_SERIAL_PROTOCOL(xPostition); - ANYCUBIC_SERIAL_SPACE(); - ANYCUBIC_SERIAL_PROTOCOLPGM("Y: "); - ANYCUBIC_SERIAL_PROTOCOL(yPostition); - ANYCUBIC_SERIAL_SPACE(); - ANYCUBIC_SERIAL_PROTOCOLPGM("Z: "); - ANYCUBIC_SERIAL_PROTOCOL(zPostition); - ANYCUBIC_SERIAL_SPACE(); - ANYCUBIC_SERIAL_ENTER(); + SEND_PGM("A5V X: "); + ANYCUBIC_LCD_SERIAL.print(xPostition); + SEND_PGM(" Y: "); + ANYCUBIC_LCD_SERIAL.print(yPostition); + SEND_PGM(" Z: "); + ANYCUBIC_LCD_SERIAL.print(zPostition); + SENDLINE_PGM(""); } break; case 6: // A6 GET SD CARD PRINTING STATUS #if ENABLED(SDSUPPORT) if (ExtUI::isPrintingFromMedia()) { - ANYCUBIC_SERIAL_PROTOCOLPGM("A6V "); + SEND_PGM("A6V "); if (ExtUI::isMediaInserted()) { - ANYCUBIC_SERIAL_PROTOCOL(itostr3(int(ExtUI::getProgress_percent()))); - ANYCUBIC_SERIAL_ENTER(); + SENDLINE(itostr3(int(ExtUI::getProgress_percent()))); } else { - ANYCUBIC_SENDCOMMAND_DBG_PGM("J02", "TFT Serial Debug: No SD Card mounted to return printing status... J02"); + SENDLINE_DBG_PGM("J02", "TFT Serial Debug: No SD Card mounted to return printing status... J02"); } } else { - ANYCUBIC_SERIAL_PROTOCOLPGM("A6V ---"); - ANYCUBIC_SERIAL_ENTER(); + SENDLINE_PGM("A6V ---"); } #endif break; case 7: { // A7 GET PRINTING TIME uint32_t elapsedSeconds = ExtUI::getProgress_seconds_elapsed(); - ANYCUBIC_SERIAL_PROTOCOLPGM("A7V "); + SEND_PGM("A7V "); if (elapsedSeconds != 0) { // print time uint32_t elapsedMinutes = elapsedSeconds / 60; - ANYCUBIC_SERIAL_PROTOCOL(itostr2(elapsedMinutes / 60)); - ANYCUBIC_SERIAL_SPACE(); - ANYCUBIC_SERIAL_PROTOCOLPGM("H"); - ANYCUBIC_SERIAL_SPACE(); - ANYCUBIC_SERIAL_PROTOCOL(itostr2(elapsedMinutes % 60)); - ANYCUBIC_SERIAL_SPACE(); - ANYCUBIC_SERIAL_PROTOCOLPGM("M"); + SEND(itostr2(elapsedMinutes / 60)); + SEND_PGM(" H "); + SEND(itostr2(elapsedMinutes % 60)); + SENDLINE_PGM(" M"); } else { - ANYCUBIC_SERIAL_SPACE(); - ANYCUBIC_SERIAL_PROTOCOLPGM("999:999"); + SENDLINE_PGM(" 999:999"); } - ANYCUBIC_SERIAL_ENTER(); } break; @@ -693,15 +717,15 @@ void AnycubicTFTClass::GetCommandFromTFT() { if (TFTstrchr_pointer[4] == '/') { strcpy(SelectedDirectory, TFTstrchr_pointer + 5); SelectedFile[0] = 0; - ANYCUBIC_SENDCOMMAND_DBG_PGM("J21", "TFT Serial Debug: Clear file selection... J21 "); // J21 Not File Selected - ANYCUBIC_SERIAL_ENTER(); + SENDLINE_DBG_PGM("J21", "TFT Serial Debug: Clear file selection... J21 "); // J21 Not File Selected + SENDLINE_PGM(""); } else if (TFTstrchr_pointer[4] == '<') { strcpy(SelectedDirectory, TFTstrchr_pointer + 4); SpecialMenu = true; SelectedFile[0] = 0; - ANYCUBIC_SENDCOMMAND_DBG_PGM("J21", "TFT Serial Debug: Clear file selection... J21 "); // J21 Not File Selected - ANYCUBIC_SERIAL_ENTER(); + SENDLINE_DBG_PGM("J21", "TFT Serial Debug: Clear file selection... J21 "); // J21 Not File Selected + SENDLINE_PGM(""); } else { SelectedDirectory[0] = 0; @@ -710,7 +734,7 @@ void AnycubicTFTClass::GetCommandFromTFT() { *(starpos - 1) = '\0'; strcpy(SelectedFile, TFTstrchr_pointer + 4); - ANYCUBIC_SENDCOMMAND_DBG_PGM_VAL("J20", "TFT Serial Debug: File Selected... J20 ", SelectedFile); // J20 File Selected + SENDLINE_DBG_PGM_VAL("J20", "TFT Serial Debug: File Selected... J20 ", SelectedFile); // J20 File Selected } } #endif @@ -766,7 +790,7 @@ void AnycubicTFTClass::GetCommandFromTFT() { } ExtUI::setTargetFan_percent(fanPercent, ExtUI::FAN0); - ANYCUBIC_SERIAL_ENTER(); + SENDLINE_PGM(""); } break; @@ -776,7 +800,7 @@ void AnycubicTFTClass::GetCommandFromTFT() { disable_all_steppers(); } - ANYCUBIC_SERIAL_ENTER(); + SENDLINE_PGM(""); break; case 20: { // A20 read printing speed @@ -785,7 +809,7 @@ void AnycubicTFTClass::GetCommandFromTFT() { if (CodeSeen('S')) feedrate_percentage = constrain(CodeValue(), 40, 999); else - ANYCUBIC_SENDCOMMANDPGM_VAL("A20V ", feedrate_percentage); + SEND_PGM_VAL("A20V ", feedrate_percentage); } break; @@ -855,14 +879,14 @@ void AnycubicTFTClass::GetCommandFromTFT() { if (strlen(commandStr) > 0) { sprintf_P(fullCommandStr, PSTR("G91\n%s\nG90"), commandStr); - #if ENABLED(ANYCUBIC_TFT_DEBUG) + #if ENABLED(ANYCUBIC_LCD_DEBUG) SERIAL_ECHOPGM("TFT Serial Debug: A22 Move final request with gcode... "); SERIAL_ECHOLN(fullCommandStr); #endif ExtUI::injectCommands(fullCommandStr); } } - ANYCUBIC_SERIAL_ENTER(); + SENDLINE_PGM(""); break; case 23: // A23 preheat pla @@ -872,8 +896,7 @@ void AnycubicTFTClass::GetCommandFromTFT() { ExtUI::setTargetTemp_celsius(PREHEAT_1_TEMP_BED, (ExtUI::heater_t) ExtUI::BED); ExtUI::setTargetTemp_celsius(PREHEAT_1_TEMP_HOTEND, (ExtUI::extruder_t) ExtUI::E0); - ANYCUBIC_SERIAL_SUCC_START; - ANYCUBIC_SERIAL_ENTER(); + SENDLINE_PGM("OK"); } break; @@ -884,8 +907,7 @@ void AnycubicTFTClass::GetCommandFromTFT() { ExtUI::setTargetTemp_celsius(PREHEAT_2_TEMP_BED, (ExtUI::heater_t) ExtUI::BED); ExtUI::setTargetTemp_celsius(PREHEAT_2_TEMP_HOTEND, (ExtUI::extruder_t) ExtUI::E0); - ANYCUBIC_SERIAL_SUCC_START; - ANYCUBIC_SERIAL_ENTER(); + SENDLINE_PGM("OK"); } break; @@ -894,7 +916,7 @@ void AnycubicTFTClass::GetCommandFromTFT() { ExtUI::setTargetTemp_celsius(0, (ExtUI::heater_t) ExtUI::BED); ExtUI::setTargetTemp_celsius(0, (ExtUI::extruder_t) ExtUI::E0); - ANYCUBIC_SENDCOMMAND_DBG_PGM("J12", "TFT Serial Debug: Cooling down... J12"); // J12 cool down + SENDLINE_DBG_PGM("J12", "TFT Serial Debug: Cooling down... J12"); // J12 cool down } break; @@ -915,7 +937,7 @@ void AnycubicTFTClass::GetCommandFromTFT() { } } else { - ANYCUBIC_SENDCOMMAND_DBG_PGM("J02", "TFT Serial Debug: No SD Card mounted to refresh SD A26... J02"); + SENDLINE_DBG_PGM("J02", "TFT Serial Debug: No SD Card mounted to refresh SD A26... J02"); } SelectedDirectory[0] = 0; @@ -931,13 +953,12 @@ void AnycubicTFTClass::GetCommandFromTFT() { NOOP; else if (CodeSeen('C')) NOOP; - ANYCUBIC_SERIAL_ENTER(); + SENDLINE_PGM(""); break; case 33: // A33 get version info - ANYCUBIC_SERIAL_PROTOCOLPGM("J33 "); - ANYCUBIC_SERIAL_PROTOCOLPGM(DETAILED_BUILD_VERSION); - ANYCUBIC_SERIAL_ENTER(); + SEND_PGM("J33 "); + SENDLINE_PGM(DETAILED_BUILD_VERSION); break; default: @@ -959,9 +980,9 @@ void AnycubicTFTClass::DoSDCardStateCheck() { #if ENABLED(SDSUPPORT) && PIN_EXISTS(SD_DETECT) bool isInserted = ExtUI::isMediaInserted(); if (isInserted) - ANYCUBIC_SENDCOMMAND_DBG_PGM("J00", "TFT Serial Debug: SD card state changed... isInserted"); + SENDLINE_DBG_PGM("J00", "TFT Serial Debug: SD card state changed... isInserted"); else - ANYCUBIC_SENDCOMMAND_DBG_PGM("J01", "TFT Serial Debug: SD card state changed... !isInserted"); + SENDLINE_DBG_PGM("J01", "TFT Serial Debug: SD card state changed... !isInserted"); #endif } @@ -976,10 +997,10 @@ void AnycubicTFTClass::DoFilamentRunoutCheck() { ExtUI::injectCommands_P(PSTR("\nM300 P200 S1567\nM300 P200 S1174\nM300 P200 S1567\nM300 P200 S1174\nM300 P2000 S1567")); // tell the user that the filament has run out and wait - ANYCUBIC_SENDCOMMAND_DBG_PGM("J23", "TFT Serial Debug: Blocking filament prompt... J23"); + SENDLINE_DBG_PGM("J23", "TFT Serial Debug: Blocking filament prompt... J23"); } else { - ANYCUBIC_SENDCOMMAND_DBG_PGM("J15", "TFT Serial Debug: Non blocking filament runout... J15"); + SENDLINE_DBG_PGM("J15", "TFT Serial Debug: Non blocking filament runout... J15"); } } #endif // FILAMENT_RUNOUT_SENSOR @@ -988,7 +1009,7 @@ void AnycubicTFTClass::DoFilamentRunoutCheck() { void AnycubicTFTClass::StartPrint() { #if ENABLED(SDSUPPORT) if (!ExtUI::isPrinting() && strlen(SelectedFile) > 0) { - #if ENABLED(ANYCUBIC_TFT_DEBUG) + #if ENABLED(ANYCUBIC_LCD_DEBUG) SERIAL_ECHOPGM("TFT Serial Debug: About to print file ... "); SERIAL_ECHO(ExtUI::isPrinting()); SERIAL_ECHOPGM(" "); @@ -1006,7 +1027,7 @@ void AnycubicTFTClass::PausePrint() { if (ExtUI::isPrintingFromMedia() && mediaPrintingState != AMPRINTSTATE_STOP_REQUESTED && mediaPauseState == AMPAUSESTATE_NOT_PAUSED) { mediaPrintingState = AMPRINTSTATE_PAUSE_REQUESTED; mediaPauseState = AMPAUSESTATE_NOT_PAUSED; // need the userconfirm method to update pause state - ANYCUBIC_SENDCOMMAND_DBG_PGM("J05", "TFT Serial Debug: SD print pause started... J05"); // J05 printing pause + SENDLINE_DBG_PGM("J05", "TFT Serial Debug: SD print pause started... J05"); // J05 printing pause // for some reason pausing the print doesn't retract the extruder so force a manual one here ExtUI::injectCommands_P(PSTR("G91\nG1 E-2 F1800\nG90")); @@ -1019,7 +1040,7 @@ void AnycubicTFTClass::ResumePrint() { #if ENABLED(SDSUPPORT) #if ENABLED(FILAMENT_RUNOUT_SENSOR) if (READ(FIL_RUNOUT_PIN)) { - #if ENABLED(ANYCUBIC_TFT_DEBUG) + #if ENABLED(ANYCUBIC_LCD_DEBUG) SERIAL_ECHOLNPGM("TFT Serial Debug: Resume Print with filament sensor still tripped... "); #endif @@ -1027,7 +1048,7 @@ void AnycubicTFTClass::ResumePrint() { DoFilamentRunoutCheck(); // re-enable the continue button - ANYCUBIC_SENDCOMMAND_DBG_PGM("J18", "TFT Serial Debug: Resume Print with filament sensor still tripped... J18"); + SENDLINE_DBG_PGM("J18", "TFT Serial Debug: Resume Print with filament sensor still tripped... J18"); return; } #endif @@ -1036,7 +1057,7 @@ void AnycubicTFTClass::ResumePrint() { mediaPauseState = AMPAUSESTATE_REHEATING; // TODO: JBA I don't think J05 just disables the continue button, i think it injects a rogue M25. So taking this out // // disable the continue button - // ANYCUBIC_SENDCOMMAND_DBG_PGM("J05", "TFT Serial Debug: Resume called with heater timeout... J05"); // J05 printing pause + // SENDLINE_DBG_PGM("J05", "TFT Serial Debug: Resume called with heater timeout... J05"); // J05 printing pause // reheat the nozzle ExtUI::setUserConfirmed(); @@ -1045,7 +1066,7 @@ void AnycubicTFTClass::ResumePrint() { mediaPrintingState = AMPRINTSTATE_PRINTING; mediaPauseState = AMPAUSESTATE_NOT_PAUSED; - ANYCUBIC_SENDCOMMAND_DBG_PGM("J04", "TFT Serial Debug: SD print resumed... J04"); // J04 printing form sd card now + SENDLINE_DBG_PGM("J04", "TFT Serial Debug: SD print resumed... J04"); // J04 printing form sd card now ExtUI::resumePrint(); } #endif @@ -1055,7 +1076,7 @@ void AnycubicTFTClass::StopPrint() { #if ENABLED(SDSUPPORT) mediaPrintingState = AMPRINTSTATE_STOP_REQUESTED; mediaPauseState = AMPAUSESTATE_NOT_PAUSED; - ANYCUBIC_SENDCOMMAND_DBG_PGM("J16", "TFT Serial Debug: SD print stop called... J16"); + SENDLINE_DBG_PGM("J16", "TFT Serial Debug: SD print stop called... J16"); // for some reason stopping the print doesn't retract the extruder so force a manual one here ExtUI::injectCommands_P(PSTR("G91\nG1 E-2 F1800\nG90")); @@ -1063,4 +1084,4 @@ void AnycubicTFTClass::StopPrint() { #endif } -#endif // ANYCUBIC_TFT_MODEL +#endif // ANYCUBIC_LCD_I3MEGA diff --git a/Marlin/src/lcd/extui/lib/anycubic/anycubic_tft.h b/Marlin/src/lcd/extui/lib/anycubic_i3mega/anycubic_i3mega_lcd.h similarity index 77% rename from Marlin/src/lcd/extui/lib/anycubic/anycubic_tft.h rename to Marlin/src/lcd/extui/lib/anycubic_i3mega/anycubic_i3mega_lcd.h index 324dfd213f47..ee011f1dfed6 100644 --- a/Marlin/src/lcd/extui/lib/anycubic/anycubic_tft.h +++ b/Marlin/src/lcd/extui/lib/anycubic_i3mega/anycubic_i3mega_lcd.h @@ -1,5 +1,5 @@ /** - * anycubic_tft.h --- Support for Anycubic i3 Mega TFT + * anycubic_i3mega_lcd.h --- Support for Anycubic i3 Mega TFT * Created by Christian Hopp on 09.12.17. * Improved by David Ramiro * Converted to ext_iu by John BouAntoun 21 June 2020 @@ -23,18 +23,6 @@ #include "../../../../inc/MarlinConfigPre.h" #include "../../../../sd/SdFatConfig.h" // for the FILENAME_LENGTH macro -// command sending macro's with debugging capability -#define ANYCUBIC_SENDCOMMANDPGM(x) ANYCUBIC_SERIAL_PROTOCOLLNPGM(x) -#define ANYCUBIC_SENDCOMMANDPGM_VAL(x,y) (ANYCUBIC_SERIAL_PROTOCOLPGM(x), ANYCUBIC_SERIAL_PROTOCOLLN(itostr3(y))) -#define ANYCUBIC_SENDCOMMAND(x) ANYCUBIC_SERIAL_PROTOCOLLN(x) -#if ENABLED(ANYCUBIC_TFT_DEBUG) - #define ANYCUBIC_SENDCOMMAND_DBG_PGM(x,y) (ANYCUBIC_SERIAL_PROTOCOLLNPGM(x), SERIAL_ECHOLNPGM(y)) - #define ANYCUBIC_SENDCOMMAND_DBG_PGM_VAL(x,y,z) (ANYCUBIC_SERIAL_PROTOCOLLNPGM(x), SERIAL_ECHOPGM(y), SERIAL_ECHOLN(z)) -#else - #define ANYCUBIC_SENDCOMMAND_DBG_PGM(x,y) (ANYCUBIC_SERIAL_PROTOCOLLNPGM(x)) - #define ANYCUBIC_SENDCOMMAND_DBG_PGM_VAL(x,y,z) (ANYCUBIC_SERIAL_PROTOCOLLNPGM(x)) -#endif - char *itostr2(const uint8_t &x); #ifndef ULTRA_LCD char *itostr3(const int); diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extended/screen_types.h b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extended/screen_types.h index 972c38395b14..b12ab286e19c 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extended/screen_types.h +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/ftdi_eve_lib/extended/screen_types.h @@ -144,8 +144,8 @@ class UIScreen { static bool onTouchEnd(uint8_t) {return true;} }; -#define PUSH_SCREEN(screen) current_screen.push(screen::onRedraw); -#define GOTO_SCREEN(screen) current_screen.goTo(screen::onRedraw); +#define PUSH_SCREEN(screen) current_screen.push(screen::onRedraw) +#define GOTO_SCREEN(screen) current_screen.goTo(screen::onRedraw) #define GOTO_PREVIOUS() current_screen.goBack(); #define AT_SCREEN(screen) (current_screen.getType() == current_screen.lookupScreen(screen::onRedraw)) #define IS_PARENT_SCREEN(screen) (current_screen.peek() == current_screen.lookupScreen(screen::onRedraw)) diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/language/language_en.h b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/language/language_en.h index b00c836ce470..f2971087c160 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/language/language_en.h +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/language/language_en.h @@ -91,9 +91,6 @@ namespace Language_en { PROGMEM Language_Str MSG_UNITS_STEP_MM = u8"st/mm"; PROGMEM Language_Str MSG_UNITS_PERCENT = u8"%"; PROGMEM Language_Str MSG_UNITS_C = DEGREE_SIGN u8"C"; - PROGMEM Language_Str MSG_MATERIAL_PLA = u8"PLA"; - PROGMEM Language_Str MSG_MATERIAL_ABS = u8"ABS"; - PROGMEM Language_Str MSG_MATERIAL_HIGH_TEMP = u8"High"; PROGMEM Language_Str MSG_IDLE = u8"idle"; PROGMEM Language_Str MSG_SET_MAXIMUM = u8"Set Maximum"; PROGMEM Language_Str MSG_PRINT_SPEED = u8"Print Speed"; diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/marlin_events.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/marlin_events.cpp index a9b4ec6cd8b2..e06f9f3a29de 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/marlin_events.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/marlin_events.cpp @@ -92,7 +92,7 @@ namespace ExtUI { char lcd_msg[30]; sprintf_P(lcd_msg, PSTR("Extruder %d Filament Error"), extruder + 1); StatusScreen::setStatusMessage(lcd_msg); - InterfaceSoundsScreen::playEventSound(InterfaceSoundsScreen::PRINTING_FAILED); + InterfaceSoundsScreen::playEventSound(InterfaceSoundsScreen::PRINTING_FAILED, FTDI::PLAY_SYNCHRONOUS); } void onFactoryReset() { diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/about_screen.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/about_screen.cpp index 47a35cd0a805..9cd17637bd52 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/about_screen.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/about_screen.cpp @@ -80,6 +80,7 @@ void AboutScreen::onRedraw(draw_mode_t) { #endif , OPT_CENTER, font_xlarge ); + cmd.tag(3); draw_text_box(cmd, FW_VERS_POS, #ifdef TOUCH_UI_VERSION F(TOUCH_UI_VERSION) @@ -87,6 +88,7 @@ void AboutScreen::onRedraw(draw_mode_t) { progmem_str(getFirmwareName_str()) #endif , OPT_CENTER, font_medium); + cmd.tag(0); draw_text_box(cmd, FW_INFO_POS, about_str, OPT_CENTER, font_medium); draw_text_box(cmd, INSET_POS(LICENSE_POS), GET_TEXT_F(MSG_LICENSE), OPT_CENTER, font_tiny); diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/advanced_settings_menu.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/advanced_settings_menu.cpp index 12bfe5e68dbf..35040734b472 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/advanced_settings_menu.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/advanced_settings_menu.cpp @@ -38,7 +38,7 @@ void AdvancedSettingsMenu::onRedraw(draw_mode_t what) { } #ifdef TOUCH_UI_PORTRAIT - #if EITHER(HAS_CASE_LIGHT, SENSORLESS_HOMING) + #if EITHER(CASE_LIGHT_ENABLE, SENSORLESS_HOMING) #define GRID_ROWS 9 #else #define GRID_ROWS 8 @@ -59,7 +59,7 @@ void AdvancedSettingsMenu::onRedraw(draw_mode_t what) { #define BACKLASH_POS BTN_POS(2,7), BTN_SIZE(1,1) #define CASE_LIGHT_POS BTN_POS(1,8), BTN_SIZE(1,1) #define TMC_HOMING_THRS_POS BTN_POS(2,8), BTN_SIZE(1,1) - #if EITHER(HAS_CASE_LIGHT, SENSORLESS_HOMING) + #if EITHER(CASE_LIGHT_ENABLE, SENSORLESS_HOMING) #define BACK_POS BTN_POS(1,9), BTN_SIZE(2,1) #else #define BACK_POS BTN_POS(1,8), BTN_SIZE(2,1) @@ -91,7 +91,7 @@ void AdvancedSettingsMenu::onRedraw(draw_mode_t what) { .font(Theme::font_medium) .enabled(ENABLED(HAS_BED_PROBE)) .tag(2) .button( ZPROBE_ZOFFSET_POS, GET_TEXT_F(MSG_ZPROBE_ZOFFSET)) - .enabled(ENABLED(HAS_CASE_LIGHT)) + .enabled(ENABLED(CASE_LIGHT_ENABLE)) .tag(16).button( CASE_LIGHT_POS, GET_TEXT_F(MSG_CASE_LIGHT)) .tag(3) .button( STEPS_PER_MM_POS, GET_TEXT_F(MSG_STEPS_PER_MM)) .enabled(ENABLED(HAS_TRINAMIC_CONFIG)) @@ -149,7 +149,7 @@ bool AdvancedSettingsMenu::onTouchEnd(uint8_t tag) { case 14: GOTO_SCREEN(StepperBumpSensitivityScreen); break; #endif case 15: GOTO_SCREEN(DisplayTuningScreen); break; - #if HAS_CASE_LIGHT + #if ENABLED(CASE_LIGHT_ENABLE) case 16: GOTO_SCREEN(CaseLightScreen); break; #endif default: return false; diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/bed_mesh_screen.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/bed_mesh_screen.cpp index f8a30e82411e..663555f05de7 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/bed_mesh_screen.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/bed_mesh_screen.cpp @@ -88,7 +88,15 @@ void BedMeshScreen::drawMesh(int16_t x, int16_t y, int16_t w, int16_t h, ExtUI:: const float scale_z = ((val_max == val_min) ? 1 : 1/(val_max - val_min)) * autoscale_max; - // These equations determine the appearance of the grid on the screen. + /** + * The 3D points go through a 3D graphics pipeline to determine the final 2D point on the screen. + * This is written out as a stack of macros that each apply an affine transformation to the point. + * At compile time, the compiler should be able to reduce these expressions. + * + * The last transformation in the chain (TRANSFORM_5) is initially set to a no-op so we can measure + * the dimensions of the grid, but is later replaced with a scaling transform that scales the grid + * to fit. + */ #define TRANSFORM_5(X,Y,Z) (X), (Y) // No transform #define TRANSFORM_4(X,Y,Z) TRANSFORM_5((X)/(Z),(Y)/-(Z), 0) // Perspective @@ -119,8 +127,12 @@ void BedMeshScreen::drawMesh(int16_t x, int16_t y, int16_t w, int16_t h, ExtUI:: const float center_x = x + w/2; const float center_y = y + h/2; + // Now replace the last transformation in the chain with a scaling operation. + #undef TRANSFORM_5 - #define TRANSFORM_5(X,Y,Z) center_x + (X - grid_cx) * scale_x, center_y + (Y - grid_cy) * scale_y // Fit to bounds + #define TRANSFORM_6(X,Y,Z) (X)*16, (Y)*16 // Scale to 1/16 pixel units + #define TRANSFORM_5(X,Y,Z) TRANSFORM_6( center_x + ((X) - grid_cx) * scale_x, \ + center_y + ((Y) - grid_cy) * scale_y, 0) // Scale to bounds // Draw the grid @@ -128,7 +140,6 @@ void BedMeshScreen::drawMesh(int16_t x, int16_t y, int16_t w, int16_t h, ExtUI:: CommandProcessor cmd; cmd.cmd(SAVE_CONTEXT()) - .cmd(VERTEX_FORMAT(0)) .cmd(TAG_MASK(false)) .cmd(SAVE_CONTEXT()); diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/change_filament_screen.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/change_filament_screen.cpp index afa3211a01ae..589da9b21055 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/change_filament_screen.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/change_filament_screen.cpp @@ -207,13 +207,13 @@ void ChangeFilamentScreen::onRedraw(draw_mode_t what) { { char str[30]; - format_temp_and_material(str, LOW_TEMP, GET_TEXT(MSG_MATERIAL_PLA)); + format_temp(str, LOW_TEMP); cmd.tag(2) .TOG_STYLE(tog2) .button (BTN_POS(2,6), BTN_SIZE(1,1), str); - format_temp_and_material(str, MED_TEMP, GET_TEXT(MSG_MATERIAL_ABS)); + format_temp(str, MED_TEMP); cmd.tag(3) .TOG_STYLE(tog3) .button (BTN_POS(2,5), BTN_SIZE(1,1), str); - format_temp_and_material(str, HIGH_TEMP, GET_TEXT(MSG_MATERIAL_HIGH_TEMP)); + format_temp(str, HIGH_TEMP); cmd.tag(4) .TOG_STYLE(tog4) .button (BTN_POS(2,4), BTN_SIZE(1,1), str); } cmd.colors(normal_btn) diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/confirm_auto_calibration_dialog_box.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/confirm_auto_calibration_dialog_box.cpp index 974ce3a6e1fe..7e1a82025ddc 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/confirm_auto_calibration_dialog_box.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/confirm_auto_calibration_dialog_box.cpp @@ -38,7 +38,7 @@ bool ConfirmAutoCalibrationDialogBox::onTouchEnd(uint8_t tag) { switch (tag) { case 1: GOTO_SCREEN(StatusScreen); - injectCommands_P(PSTR(CALIBRATION_COMMANDS)); + injectCommands_P(PSTR("G425")); return true; default: return DialogBoxBaseClass::onTouchEnd(tag); diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/interface_settings_screen.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/interface_settings_screen.cpp index b52096a13b9a..def31e4a403f 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/interface_settings_screen.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/interface_settings_screen.cpp @@ -29,7 +29,7 @@ #include "../archim2-flash/flash_storage.h" -#include "../../../../../module/configuration_store.h" +#include "../../../../../module/settings.h" #if ENABLED(LULZBOT_PRINTCOUNTER) #include "../../../../../module/printcounter.h" diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/main_menu.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/main_menu.cpp index 12cb8d0891bb..dfb23daa528f 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/main_menu.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/main_menu.cpp @@ -137,7 +137,7 @@ bool MainMenu::onTouchEnd(uint8_t tag) { case 4: GOTO_SCREEN(MoveAxisScreen); break; case 5: injectCommands_P(PSTR("M84")); break; case 6: GOTO_SCREEN(TemperatureScreen); break; - #if BOTH(TOUCH_UI_COCOA_PRESS, HAS_CASE_LIGHT) + #if BOTH(TOUCH_UI_COCOA_PRESS, CASE_LIGHT_ENABLE) case 7: GOTO_SCREEN(CaseLightScreen); break; #else case 7: GOTO_SCREEN(ChangeFilamentScreen); break; diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/screens.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/screens.cpp index 82d1831e62b1..01438aeb947f 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/screens.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/screens.cpp @@ -83,7 +83,7 @@ SCREEN_TABLE { #else DECL_SCREEN(JerkScreen), #endif -#if HAS_CASE_LIGHT +#if ENABLED(CASE_LIGHT_ENABLE) DECL_SCREEN(CaseLightScreen), #endif #if EITHER(LIN_ADVANCE, FILAMENT_RUNOUT_SENSOR) diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/screens.h b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/screens.h index 276727fc466b..92e6b230f7ef 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/screens.h +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/screens.h @@ -63,7 +63,7 @@ enum { #else JERK_SCREEN_CACHE, #endif -#if HAS_CASE_LIGHT +#if ENABLED(CASE_LIGHT_ENABLE) CASE_LIGHT_SCREEN_CACHE, #endif #if EITHER(LIN_ADVANCE, FILAMENT_RUNOUT_SENSOR) @@ -579,7 +579,7 @@ class DefaultAccelerationScreen : public BaseNumericAdjustmentScreen, public Cac }; #endif -#if HAS_CASE_LIGHT +#if ENABLED(CASE_LIGHT_ENABLE) class CaseLightScreen : public BaseNumericAdjustmentScreen, public CachedScreen { public: static void onRedraw(draw_mode_t); diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/status_screen.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/status_screen.cpp index ac1fccd579a6..f2524c7982f1 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/status_screen.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/status_screen.cpp @@ -97,7 +97,7 @@ void StatusScreen::draw_axis_position(draw_mode_t what) { strcpy_P(y_str, PSTR("?")); if (isAxisPositionKnown(Z)) - format_position(z_str, getAxisPosition_mm(Z)); + format_position(z_str, getAxisPosition_mm(Z), 2); else strcpy_P(z_str, PSTR("?")); diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/string_format.cpp b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/string_format.cpp index 340ffd055329..b7ce76ecd2b3 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/string_format.cpp +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/string_format.cpp @@ -61,8 +61,8 @@ void format_temp_and_material(char *str, float t1, const char *material) { /** * Formats a position value (e.g. "10 mm") */ -void format_position(char *str, float p) { - dtostrf(p, 5, 1, str); +void format_position(char *str, float p, uint8_t decimals) { + dtostrf(p, 4 + decimals, decimals, str); strcat_P(str, PSTR(" ")); strcat_P(str, GET_TEXT(MSG_UNITS_MM)); } diff --git a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/string_format.h b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/string_format.h index ce3af4db878f..e37a82d28a5f 100644 --- a/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/string_format.h +++ b/Marlin/src/lcd/extui/lib/ftdi_eve_touch_ui/screens/string_format.h @@ -25,5 +25,5 @@ void format_temp(char *str, float t1); void format_temp_and_idle(char *str, float t1); void format_temp_and_temp(char *str, float t1, float t2); void format_temp_and_material(char *str, float t1, const char *material); -void format_position(char *str, float p); +void format_position(char *str, float p, uint8_t decimals = 1); void format_position(char *str, float x, float y, float z); diff --git a/Marlin/src/lcd/extui/lib/mks_ui/SPIFlashStorage.cpp b/Marlin/src/lcd/extui/lib/mks_ui/SPIFlashStorage.cpp new file mode 100644 index 000000000000..979c916e5cad --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/SPIFlashStorage.cpp @@ -0,0 +1,320 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../../inc/MarlinConfigPre.h" + +#if HAS_TFT_LVGL_UI + +#include "../../../../inc/MarlinConfig.h" +#include "SPIFlashStorage.h" + +extern W25QXXFlash W25QXX; + +uint8_t SPIFlashStorage::m_pageData[SPI_FLASH_PageSize]; +uint32_t SPIFlashStorage::m_currentPage; +uint16_t SPIFlashStorage::m_pageDataUsed; +uint32_t SPIFlashStorage::m_startAddress; + +#if HAS_SPI_FLASH_COMPRESSION + + uint8_t SPIFlashStorage::m_compressedData[SPI_FLASH_PageSize]; + uint16_t SPIFlashStorage::m_compressedDataUsed; + + template + static uint32_t rle_compress(T *output, uint32_t outputLength, T *input, uint32_t inputLength, uint32_t& inputProcessed) { + uint32_t count = 0, out = 0, index, i; + T pixel; + //32767 for uint16_t + //127 for uint16_t + //calculated at compile time + constexpr T max = (0xFFFFFFFF >> (8 * (4 - sizeof(T)))) / 2; + + inputProcessed = 0; + while (count < inputLength && out < outputLength) { + index = count; + pixel = input[index++]; + while (index < inputLength && index - count < max && input[index] == pixel) + index++; + if (index - count == 1) { + /* + * Failed to "replicate" the current pixel. See how many to copy. + * Avoid a replicate run of only 2-pixels after a literal run. There + * is no gain in this, and there is a risK of loss if the run after + * the two identical pixels is another literal run. So search for + * 3 identical pixels. + */ + while (index < inputLength && index - count < max && (input[index] != input[index - 1] || (index > 1 && input[index] != input[index - 2]))) + index++; + /* + * Check why this run stopped. If it found two identical pixels, reset + * the index so we can add a run. Do this twice: the previous run + * tried to detect a replicate run of at least 3 pixels. So we may be + * able to back up two pixels if such a replicate run was found. + */ + while (index < inputLength && input[index] == input[index - 1]) + index--; + // If the output buffer could overflow, stop at the remaining bytes + NOMORE(index, count + outputLength - out - 1); + output[out++] = (uint16_t)(count - index); + for (i = count; i < index; i++) + output[out++] = input[i]; + } + else { + // Need at least more 2 spaces + if (out > outputLength - 2) break; + output[out++] = (uint16_t)(index - count); + output[out++] = pixel; + } + count = index; + } + inputProcessed = count; + + // Padding + if (out == outputLength - 1) output[out++] = 0; + + return out; + } + + template + static uint32_t rle_uncompress(UT *output, uint32_t outputLength, UT *input, uint32_t inputLength, uint32_t &outputFilled) { + T count; + UT i; + uint32_t processedBytes = 0; + outputFilled = 0; + + while (outputLength > 0 && inputLength > 0) { + processedBytes++; + count = static_cast(*input++); + inputLength--; + if (count > 0) { // Replicate run + for (i = 0; i < count && outputLength > i; i++) + output[i] = *input; + outputFilled += i; + // If copy incomplete, change the input buffer to start with remaining data in the next call + if (i < count) { + // Change to process the difference in the next call + *(input - 1) = static_cast(count - i); + return processedBytes - 1; + } + input++; + inputLength--; + processedBytes++; + } + else if (count < 0) { // literal run + count = static_cast(-count); + // Copy, validating if the output have enough space + for (i = 0; i < count && outputLength > i; i++) + output[i] = input[i]; + outputFilled += i; + // If copy incomplete, change the input buffer to start with remaining data in the next call + if (i < count) { + input[i - 1] = static_cast((count - i) * -1); + // Back one + return processedBytes + i - 1; + } + input += count; + inputLength -= count; + processedBytes += count; + } + output += count; + outputLength -= count; + } + + return processedBytes; + } + +#endif // HAS_SPI_FLASH_COMPRESSION + +void SPIFlashStorage::beginWrite(uint32_t startAddress) { + m_pageDataUsed = 0; + m_currentPage = 0; + m_startAddress = startAddress; + #if HAS_SPI_FLASH_COMPRESSION + // Restart the compressed buffer, keep the pointers of the uncompressed buffer + m_compressedDataUsed = 0; + #endif +} + + +void SPIFlashStorage::endWrite() { + // Flush remaining data + #if HAS_SPI_FLASH_COMPRESSION + if (m_compressedDataUsed > 0) { + flushPage(); + savePage(m_compressedData); + } + #else + if (m_pageDataUsed > 0) flushPage(); + #endif +} + +void SPIFlashStorage::savePage(uint8_t* buffer) { + W25QXX.SPI_FLASH_BufferWrite(buffer, m_startAddress + (SPI_FLASH_PageSize * m_currentPage), SPI_FLASH_PageSize); + + // Test env + // char fname[256]; + // snprintf(fname, sizeof(fname), "./pages/page-%03d.data", m_currentPage); + // FILE *fp = fopen(fname, "wb"); + // fwrite(buffer, 1, m_compressedDataUsed, fp); + // fclose(fp); +} + +void SPIFlashStorage::loadPage(uint8_t* buffer) { + W25QXX.SPI_FLASH_BufferRead(buffer, m_startAddress + (SPI_FLASH_PageSize * m_currentPage), SPI_FLASH_PageSize); + + // Test env + // char fname[256]; + // memset(buffer, 0, SPI_FLASH_PageSize); + // snprintf(fname, sizeof(fname), "./pages/page-%03d.data", m_currentPage); + // FILE *fp = fopen(fname, "rb"); + // if (fp != NULL) { + // fread(buffer, 1, SPI_FLASH_PageSize, fp); + // fclose(fp); + // } +} + +void SPIFlashStorage::flushPage() { + #if HAS_SPI_FLASH_COMPRESSION + // Work com with compressed in memory + uint32_t inputProcessed; + uint32_t compressedSize = rle_compress((uint16_t *)(m_compressedData + m_compressedDataUsed), compressedDataFree() / 2, (uint16_t *)m_pageData, m_pageDataUsed / 2, inputProcessed) * 2; + inputProcessed *= 2; + m_compressedDataUsed += compressedSize; + + // Space remaining in the compressed buffer? + if (compressedDataFree() > 0) { + // Free the uncompressed buffer + m_pageDataUsed = 0; + return; + } + + // Part of the m_pageData was compressed, so ajust the pointers, freeing what was processed, shift the buffer + // TODO: To avoid this copy, use a circular buffer + memmove(m_pageData, m_pageData + inputProcessed, m_pageDataUsed - inputProcessed); + m_pageDataUsed -= inputProcessed; + + // No? So flush page with compressed data!! + uint8_t *buffer = m_compressedData; + #else + uint8_t *buffer = m_pageData; + #endif + + savePage(buffer); + + #if HAS_SPI_FLASH_COMPRESSION + // Restart the compressed buffer, keep the pointers of the uncompressed buffer + m_compressedDataUsed = 0; + #elif + m_pageDataUsed = 0; + #endif + m_currentPage++; +} + +void SPIFlashStorage::readPage() { + #if HAS_SPI_FLASH_COMPRESSION + if (compressedDataFree() == 0) { + loadPage(m_compressedData); + m_currentPage++; + m_compressedDataUsed = 0; + } + + // Need to uncompress data + if (pageDataFree() == 0) { + m_pageDataUsed = 0; + uint32_t outpuProcessed = 0; + uint32_t inputProcessed = rle_uncompress((uint16_t *)(m_pageData + m_pageDataUsed), pageDataFree() / 2, (uint16_t *)(m_compressedData + m_compressedDataUsed), compressedDataFree() / 2, outpuProcessed); + inputProcessed *= 2; + outpuProcessed *= 2; + if (outpuProcessed < pageDataFree()) { + m_pageDataUsed = SPI_FLASH_PageSize - outpuProcessed; + // TODO: To avoid this copy, use a circular buffer + memmove(m_pageData + m_pageDataUsed, m_pageData, outpuProcessed); + } + + m_compressedDataUsed += inputProcessed; + } + #else + loadPage(m_pageData); + m_pageDataUsed = 0; + m_currentPage++; + #endif +} + +uint16_t SPIFlashStorage::inData(uint8_t* data, uint16_t size) { + // Don't write more than we can + NOMORE(size, pageDataFree()); + memcpy(m_pageData + m_pageDataUsed, data, size); + m_pageDataUsed += size; + return size; +} + +void SPIFlashStorage::writeData(uint8_t* data, uint16_t size) { + // Flush a page if needed + if (pageDataFree() == 0) flushPage(); + + while (size > 0) { + uint16_t written = inData(data, size); + size -= written; + // Need to write more? Flush page and continue! + if (size > 0) { + flushPage(); + data += written; + } + } +} + +void SPIFlashStorage::beginRead(uint32_t startAddress) { + m_startAddress = startAddress; + m_currentPage = 0; + // Nothing in memory now + m_pageDataUsed = SPI_FLASH_PageSize; + #if HAS_SPI_FLASH_COMPRESSION + m_compressedDataUsed = sizeof(m_compressedData); + #endif +} + +uint16_t SPIFlashStorage::outData(uint8_t* data, uint16_t size) { + // Don't read more than we have + NOMORE(size, pageDataFree()); + memcpy(data, m_pageData + m_pageDataUsed, size); + m_pageDataUsed += size; + return size; +} + +void SPIFlashStorage::readData(uint8_t* data, uint16_t size) { + // Read a page if needed + if (pageDataFree() == 0) readPage(); + + while (size > 0) { + uint16_t read = outData(data, size); + size -= read; + // Need to write more? Flush page and continue! + if (size > 0) { + readPage(); + data += read; + } + } +} + +SPIFlashStorage SPIFlash; + +#endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/SPIFlashStorage.h b/Marlin/src/lcd/extui/lib/mks_ui/SPIFlashStorage.h new file mode 100644 index 000000000000..98c8067bd3c2 --- /dev/null +++ b/Marlin/src/lcd/extui/lib/mks_ui/SPIFlashStorage.h @@ -0,0 +1,108 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#include "../../../../libs/W25Qxx.h" + +#define HAS_SPI_FLASH_COMPRESSION 1 + +/** + * This class manages and optimizes SPI Flash data storage, + * keeping an internal buffer to write and save full SPI flash + * pages as needed. + * + * Since the data is always in the buffer, the class is also + * able to support fast on-the-fly RLE compression/decompression. + * + * In testing with the current LVGL_UI it compacts 2.9MB of icons + * (which have lots of runs) down to 370kB!!! As a result the UI + * refresh rate becomes faster and now all LVGL UI can fit into a + * tiny 2MB SPI Flash, such as the Chitu Board. + * + * == Usage == + * + * Writing: + * + * The class keeps an internal buffer that caches data until it + * fits into a full SPI Flash page. Each time the buffer fills up + * the page is saved to SPI Flash. Sequential writes are optimal. + * + * SPIFlashStorage.beginWrite(myStartAddress); + * while (there is data to write) + * SPIFlashStorage.addData(myBuffer, bufferSize); + * SPIFlashStorage.endWrite(); // Flush remaining buffer data + * + * Reading: + * + * When reading, it loads a full page from SPI Flash at once and + * keeps it in a private SRAM buffer. Data is loaded as needed to + * fullfill requests. Sequential reads are optimal. + * + * SPIFlashStorage.beginRead(myStartAddress); + * while (there is data to read) + * SPIFlashStorage.readData(myBuffer, bufferSize); + * + * Compression: + * + * The biggest advantage of this class is the RLE compression. + * With compression activated a second buffer holds the compressed + * data, so when writing data, as this buffer becomes full it is + * flushed to SPI Flash. + * + * The same goes for reading: A compressed page is read from SPI + * flash, and the data is uncompressed as needed to provide the + * requested amount of data. + */ +class SPIFlashStorage { +public: + // Write operation + static void beginWrite(uint32_t startAddress); + static void endWrite(); + static void writeData(uint8_t* data, uint16_t size); + + // Read operation + static void beginRead(uint32_t startAddress); + static void readData(uint8_t* data, uint16_t size); + + static uint32_t getCurrentPage() { return m_currentPage; } + +private: + static void flushPage(); + static void savePage(uint8_t* buffer); + static void loadPage(uint8_t* buffer); + static void readPage(); + static uint16_t inData(uint8_t* data, uint16_t size); + static uint16_t outData(uint8_t* data, uint16_t size); + + static uint8_t m_pageData[SPI_FLASH_PageSize]; + static uint32_t m_currentPage; + static uint16_t m_pageDataUsed; + static inline uint16_t pageDataFree() { return SPI_FLASH_PageSize - m_pageDataUsed; } + static uint32_t m_startAddress; + #if HAS_SPI_FLASH_COMPRESSION + static uint8_t m_compressedData[SPI_FLASH_PageSize]; + static uint16_t m_compressedDataUsed; + static inline uint16_t compressedDataFree() { return SPI_FLASH_PageSize - m_compressedDataUsed; } + #endif +}; + +extern SPIFlashStorage SPIFlash; diff --git a/Marlin/src/lcd/extui/lib/mks_ui/SPI_TFT.cpp b/Marlin/src/lcd/extui/lib/mks_ui/SPI_TFT.cpp index 0febc4edbddd..ea94d6c1a571 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/SPI_TFT.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/SPI_TFT.cpp @@ -33,133 +33,29 @@ TFT SPI_TFT; -#ifndef SPI_TFT_MISO_PIN - #define SPI_TFT_MISO_PIN PA6 -#endif -#ifndef SPI_TFT_MOSI_PIN - #define SPI_TFT_MOSI_PIN PA7 -#endif -#ifndef SPI_TFT_SCK_PIN - #define SPI_TFT_SCK_PIN PA5 -#endif -#ifndef SPI_TFT_CS_PIN - #define SPI_TFT_CS_PIN PD11 -#endif -#ifndef SPI_TFT_DC_PIN - #define SPI_TFT_DC_PIN PD10 -#endif -#ifndef SPI_TFT_RST_PIN - #define SPI_TFT_RST_PIN PC6 -#endif - // use SPI1 for the spi tft. void TFT::spi_init(uint8_t spiRate) { - - SPI_TFT_CS_H; - - /** - * STM32F1 APB2 = 72MHz, APB1 = 36MHz, max SPI speed of this MCU if 18Mhz - * STM32F1 has 3 SPI ports, SPI1 in APB2, SPI2/SPI3 in APB1 - * so the minimum prescale of SPI1 is DIV4, SPI2/SPI3 is DIV2 - */ - uint8_t clock; - switch (spiRate) { - case SPI_FULL_SPEED: clock = SPI_CLOCK_DIV4; break; - case SPI_HALF_SPEED: clock = SPI_CLOCK_DIV4; break; - case SPI_QUARTER_SPEED: clock = SPI_CLOCK_DIV8; break; - case SPI_EIGHTH_SPEED: clock = SPI_CLOCK_DIV16; break; - case SPI_SPEED_5: clock = SPI_CLOCK_DIV32; break; - case SPI_SPEED_6: clock = SPI_CLOCK_DIV64; break; - default: clock = SPI_CLOCK_DIV2; // Default from the SPI library - } - SPI.setModule(1); - SPI.begin(); - SPI.setClockDivider(clock); - SPI.setBitOrder(MSBFIRST); - SPI.setDataMode(SPI_MODE0); -} - -uint8_t TFT::spi_Rec() { - uint8_t returnByte = SPI.transfer(ff); - return returnByte; -} - -uint8_t TFT::spi_read_write_byte(uint8_t data) { - uint8_t returnByte = SPI.transfer(data); - return returnByte; -} - -/** - * @brief Receive a number of bytes from the SPI port to a buffer - * - * @param buf Pointer to starting address of buffer to write to. - * @param nbyte Number of bytes to receive. - * @return Nothing - * - * @details Uses DMA - */ -void TFT::spi_Read(uint8_t* buf, uint16_t nbyte) {SPI.dmaTransfer(0, const_cast(buf), nbyte);} - -/** - * @brief Send a single byte on SPI port - * - * @param b Byte to send - * - * @details - */ -void TFT::spi_Send(uint8_t b) {SPI.send(b);} - -/** - * @brief Write token and then write from 512 byte buffer to SPI (for SD card) - * - * @param buf Pointer with buffer start address - * @return Nothing - * - * @details Use DMA - */ -void TFT::spi_SendBlock(uint8_t token, const uint8_t* buf) { - SPI.send(token); - SPI.dmaSend(const_cast(buf), 512); + tftio.Init(); } void TFT::LCD_WR_REG(uint8_t cmd) { - SPI_TFT_CS_L; - SPI_TFT_DC_L; - spi_Send(cmd); - SPI_TFT_CS_H; + tftio.WriteReg(cmd); } -void TFT::LCD_WR_DATA(uint8_t data) { - SPI_TFT_CS_L; - SPI_TFT_DC_H; - spi_Send(data); - SPI_TFT_CS_H; -} -void TFT::LCD_WriteRAM_Prepare() {LCD_WR_REG(0X2C);} -void TFT::SetCursor(uint16_t x, uint16_t y) { - LCD_WR_REG(0x2A); - LCD_WR_DATA(x >> 8); - LCD_WR_DATA(x); - LCD_WR_DATA(x >> 8); - LCD_WR_DATA(x); - LCD_WR_REG(0x2B); - LCD_WR_DATA(y >> 8); - LCD_WR_DATA(y); - LCD_WR_DATA(y >> 8); - LCD_WR_DATA(y); +void TFT::LCD_WR_DATA(uint8_t data) { + tftio.WriteData(data); } void TFT::SetPoint(uint16_t x, uint16_t y, uint16_t point) { if ((x > 480) || (y > 320)) return; - SetCursor(x, y); - - LCD_WriteRAM_Prepare(); - LCD_WR_DATA((uint8_t)(point >> 8)); - LCD_WR_DATA((uint8_t)point); + SetWindows(x, y, 1, 1); + tftio.WriteMultiple(point, (uint16_t)1); } void TFT::SetWindows(uint16_t x, uint16_t y, uint16_t with, uint16_t height) { + tftio.DataTransferBegin(DATASIZE_8BIT); + LCD_WR_REG(0x2A); LCD_WR_DATA(x >> 8); LCD_WR_DATA(x); @@ -171,14 +67,20 @@ void TFT::SetWindows(uint16_t x, uint16_t y, uint16_t with, uint16_t height) { LCD_WR_DATA(y); LCD_WR_DATA((y + height - 1) >> 8); LCD_WR_DATA(y + height - 1); + + LCD_WR_REG(0X2C); + + tftio.DataTransferEnd(); } void TFT::LCD_init() { - SPI_TFT_RST_H; + TFT_RST_H; delay(150); - SPI_TFT_RST_L; + TFT_RST_L; delay(150); - SPI_TFT_RST_H; + TFT_RST_H; + + tftio.DataTransferBegin(DATASIZE_8BIT); delay(120); LCD_WR_REG(0x11); @@ -251,88 +153,27 @@ void TFT::LCD_init() { delay(120); // Delay 120ms LCD_WR_REG(0x29); // Display ON + tftio.DataTransferEnd(); + LCD_clear(0x0000); // LCD_Draw_Logo(); - SPI_TFT_BLK_H; + TFT_BLK_H; delay(2000); } void TFT::LCD_clear(uint16_t color) { - unsigned int i; - uint8_t tbuf[960]; - - SetCursor(0, 0); - SetWindows(0, 0, 480 - 1, 320 - 1); - LCD_WriteRAM_Prepare(); - SPI_TFT_CS_L; - SPI_TFT_DC_H; - for (i = 0; i < 960;) { - tbuf[i] = color >> 8; - tbuf[i + 1] = color; - i += 2; - } - for (i = 0; i < 320; i++) { - // for (m=0;m<480;m++) - // { - // LCD_WR_DATA(color>>8); - // LCD_WR_DATA(color); - SPI.dmaSend(tbuf, 960, true); - // SPI_TFT_CS_H; - // } - } - SPI_TFT_CS_H; + SetWindows(0, 0, (TFT_WIDTH) - 1, (TFT_HEIGHT) - 1); + tftio.WriteMultiple(color, (uint32_t)(TFT_WIDTH) * (TFT_HEIGHT)); } extern unsigned char bmp_public_buf[17 * 1024]; void TFT::LCD_Draw_Logo() { - uint16_t i,y_off = 0; - uint16_t *p_index; - uint16_t Color; - - #if 1 - for (y_off = 0; y_off < 320; y_off ++) { - Pic_Logo_Read((uint8_t *)"", (uint8_t *)bmp_public_buf, 960); - - SPI_TFT.spi_init(SPI_FULL_SPEED); - SetWindows(0, y_off, 480, 1); - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - for (i = 0; i < 960;) { - p_index = (uint16_t *)(&bmp_public_buf[i]); - Color = (*p_index >> 8); - *p_index = Color | ((*p_index & 0xFF) << 8); - i+=2; - } - SPI_TFT_CS_L; - SPI_TFT_DC_H; - SPI.dmaSend(bmp_public_buf,960,true); - SPI_TFT_CS_H; - } - - #else - - for (index = 0; index < 40; index ++) { - Pic_Logo_Read((uint8_t *)"", bmp_public_buf, 480*8*2); - i = 0; - SetCursor(0,0); - SetWindows(0, y_off * 8, 480, 8); - LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */ - for (i = 0; i < 480 * 8 * 2;) { - p_index = (uint16_t *)(&bmp_public_buf[i]); - Color = (*p_index >> 8); - *p_index = Color | ((*p_index & 0xFF) << 8); - i += 2; - } - SPI_TFT_CS_L; - SPI_TFT_DC_H; - SPI.dmaSend(bmp_public_buf,480*8*2,true); - SPI_TFT_CS_H; - - y_off++; - } - #endif - - SetWindows(0, 0, 479, 319); + SetWindows(0, 0, TFT_WIDTH, TFT_HEIGHT); + for (uint16_t i = 0; i < (TFT_HEIGHT); i ++) { + Pic_Logo_Read((uint8_t *)"", (uint8_t *)bmp_public_buf, (TFT_WIDTH) * 2); + tftio.WriteSequence((uint16_t *)bmp_public_buf, TFT_WIDTH); + } } #endif // HAS_TFT_LVGL_UI_SPI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/SPI_TFT.h b/Marlin/src/lcd/extui/lib/mks_ui/SPI_TFT.h index 9b676843139c..e40039fe8649 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/SPI_TFT.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/SPI_TFT.h @@ -21,36 +21,30 @@ */ #pragma once -#include +#include "../../inc/MarlinConfigPre.h" -#define SPI_TFT_CS_H OUT_WRITE(SPI_TFT_CS_PIN, HIGH) -#define SPI_TFT_CS_L OUT_WRITE(SPI_TFT_CS_PIN, LOW) +#if ENABLED(TFT_LVGL_UI_SPI) + #include HAL_PATH(../../HAL, tft/tft_spi.h) +#elif ENABLED(TFT_LVGL_UI_FSMC) + #include HAL_PATH(../../HAL, tft/tft_fsmc.h) +#endif -#define SPI_TFT_DC_H OUT_WRITE(SPI_TFT_DC_PIN, HIGH) -#define SPI_TFT_DC_L OUT_WRITE(SPI_TFT_DC_PIN, LOW) +#define TFT_RST_H OUT_WRITE(TFT_RESET_PIN, HIGH) +#define TFT_RST_L OUT_WRITE(TFT_RESET_PIN, LOW) -#define SPI_TFT_RST_H OUT_WRITE(SPI_TFT_RST_PIN, HIGH) -#define SPI_TFT_RST_L OUT_WRITE(SPI_TFT_RST_PIN, LOW) - -#define SPI_TFT_BLK_H OUT_WRITE(LCD_BACKLIGHT_PIN, HIGH) -#define SPI_TFT_BLK_L OUT_WRITE(LCD_BACKLIGHT_PIN, LOW) +#define TFT_BLK_H OUT_WRITE(LCD_BACKLIGHT_PIN, HIGH) +#define TFT_BLK_L OUT_WRITE(LCD_BACKLIGHT_PIN, LOW) class TFT { public: + TFT_IO tftio; void spi_init(uint8_t spiRate); - uint8_t spi_Rec(); - uint8_t spi_read_write_byte(uint8_t data); - void spi_Read(uint8_t* buf, uint16_t nbyte); - void spi_Send(uint8_t b); - void spi_SendBlock(uint8_t token, const uint8_t* buf); void LCD_WR_REG(uint8_t cmd); void LCD_WR_DATA(uint8_t data); - void SetCursor(uint16_t x, uint16_t y); void SetPoint(uint16_t x, uint16_t y, uint16_t point); void SetWindows(uint16_t x, uint16_t y, uint16_t with, uint16_t height); void LCD_init(); void LCD_clear(uint16_t color); - void LCD_WriteRAM_Prepare(); void LCD_Draw_Logo(); }; diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_dialog.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_dialog.cpp index 9ef27afc9ba6..aad5e4362e38 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_dialog.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_dialog.cpp @@ -51,6 +51,8 @@ #endif #include "../../../../gcode/gcode.h" +#include "pic_manager.h" + static lv_obj_t * scr; extern uint8_t sel_id; extern uint8_t once_flag; diff --git a/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.cpp b/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.cpp index e8899b9ad122..ff9d0518d378 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/draw_ui.cpp @@ -27,7 +27,6 @@ #include "SPI_TFT.h" #endif -#include "W25Qxx.h" #include "tft_lvgl_configuration.h" #include "pic_manager.h" @@ -50,6 +49,7 @@ #include "../../../../feature/pause.h" #endif +W25QXXFlash W25QXX; CFG_ITMES gCfgItems; UI_CFG uiCfg; DISP_STATE_STACK disp_state_stack; @@ -500,14 +500,9 @@ char *creat_title_text() { } } - //SERIAL_ECHOLNPAIR("gPicturePreviewStart: ", gPicturePreviewStart, " PREVIEW_LITTLE_PIC_SIZE: ", PREVIEW_LITTLE_PIC_SIZE); - card.setIndex((gPicturePreviewStart + To_pre_view) + size * row + 8); #if ENABLED(TFT_LVGL_UI_SPI) - SPI_TFT.spi_init(SPI_FULL_SPEED); - //SPI_TFT.SetCursor(0,0); SPI_TFT.SetWindows(xpos_pixel, ypos_pixel + row, 200, 1); - SPI_TFT.LCD_WriteRAM_Prepare(); #else ili9320_SetWindows(xpos_pixel, ypos_pixel + row, 200, 1); LCD_WriteRAM_Prepare(); @@ -525,19 +520,11 @@ char *creat_title_text() { if (j >= 400) break; } #if ENABLED(TFT_LVGL_UI_SPI) - uint16_t Color, SpiColor; - SpiColor = (LV_COLOR_BACKGROUND.full >> 8) | ((LV_COLOR_BACKGROUND.full & 0xFF) << 8); - for (i = 0; i < 400;) { + for (i = 0; i < 400; i += 2) { p_index = (uint16_t *)(&bmp_public_buf[i]); - Color = (*p_index >> 8); - *p_index = Color | ((*p_index & 0xFF) << 8); - i += 2; - if (*p_index == 0x0000) *p_index = SpiColor; + if (*p_index == 0x0000) *p_index = LV_COLOR_BACKGROUND.full; } - SPI_TFT_CS_L; - SPI_TFT_DC_H; - SPI.dmaSend(bmp_public_buf, 400, true); - SPI_TFT_CS_H; + SPI_TFT.tftio.WriteSequence((uint16_t*)bmp_public_buf, 200); #else for (i = 0; i < 400;) { p_index = (uint16_t *)(&bmp_public_buf[i]); @@ -627,10 +614,7 @@ char *creat_title_text() { card.setIndex((PREVIEW_LITTLE_PIC_SIZE + To_pre_view) + size * row + 8); #if ENABLED(TFT_LVGL_UI_SPI) - SPI_TFT.spi_init(SPI_FULL_SPEED); - //SPI_TFT.SetCursor(0,0); SPI_TFT.SetWindows(xpos_pixel, ypos_pixel + row, 200, 1); - SPI_TFT.LCD_WriteRAM_Prepare(); #else ili9320_SetWindows(xpos_pixel, ypos_pixel + row, 200, 1); LCD_WriteRAM_Prepare(); @@ -669,10 +653,10 @@ char *creat_title_text() { i += 2; if (*p_index == 0x0000) *p_index = 0xC318; } - SPI_TFT_CS_L; - SPI_TFT_DC_H; + TFT_CS_L; + TFT_DC_H; SPI.dmaSend(bmp_public_buf, 400, true); - SPI_TFT_CS_H; + TFT_CS_H; #else for (i = 0; i < 400;) { @@ -750,9 +734,6 @@ char *creat_title_text() { void Draw_default_preview(int xpos_pixel, int ypos_pixel, uint8_t sel) { int index; int y_off = 0; - int _y; - uint16_t *p_index; - int i; for (index = 0; index < 10; index++) { // 200*200 #if HAS_BAK_VIEW_IN_FLASH @@ -761,58 +742,24 @@ char *creat_title_text() { } else { default_view_Read(bmp_public_buf, DEFAULT_VIEW_MAX_SIZE / 10); // 20k - #if ENABLED(TFT_LVGL_UI_SPI) - uint16_t Color; - for (i = 0; i < (DEFAULT_VIEW_MAX_SIZE / 10);) { - p_index = (uint16_t *)(&bmp_public_buf[i]); - Color = (*p_index >> 8); - *p_index = Color | ((*p_index & 0xff) << 8); - i += 2; - } - #endif } #else default_view_Read(bmp_public_buf, DEFAULT_VIEW_MAX_SIZE / 10); // 20k - #if ENABLED(TFT_LVGL_UI_SPI) - for (i = 0; i < (DEFAULT_VIEW_MAX_SIZE / 10);) { - p_index = (uint16_t *)(&bmp_public_buf[i]); - Color = (*p_index >> 8); - *p_index = Color | ((*p_index & 0xff) << 8); - i += 2; - } - #endif #endif - i = 0; #if ENABLED(TFT_LVGL_UI_SPI) - - //SPI_TFT.spi_init(SPI_FULL_SPEED); - //SPI_TFT.SetWindows(xpos_pixel, y_off * 20+ypos_pixel, 200,20); //200*200 - //SPI_TFT.LCD_WriteRAM_Prepare(); - int j = 0; - for (_y = y_off * 20; _y < (y_off + 1) * 20; _y++) { - SPI_TFT.spi_init(SPI_FULL_SPEED); - SPI_TFT.SetWindows(xpos_pixel, y_off * 20 + ypos_pixel + j, 200, 1); // 200*200 - SPI_TFT.LCD_WriteRAM_Prepare(); - - j++; - //memcpy(public_buf,&bmp_public_buf[i],400); - SPI_TFT_CS_L; - SPI_TFT_DC_H; - SPI.dmaSend(&bmp_public_buf[i], 400, true); - SPI_TFT_CS_H; - - i += 400; - if (i >= 8000) break; - } + SPI_TFT.SetWindows(xpos_pixel, y_off * 20 + ypos_pixel, 200, 20); // 200*200 + SPI_TFT.tftio.WriteSequence((uint16_t*)(bmp_public_buf), DEFAULT_VIEW_MAX_SIZE / 20); #else int x_off = 0; uint16_t temp_p; + int i = 0; + uint16_t *p_index; ili9320_SetWindows(xpos_pixel, y_off * 20 + ypos_pixel, 200, 20); // 200*200 LCD_WriteRAM_Prepare(); - for (_y = y_off * 20; _y < (y_off + 1) * 20; _y++) { + for (int _y = y_off * 20; _y < (y_off + 1) * 20; _y++) { for (x_off = 0; x_off < 200; x_off++) { if (sel == 1) { temp_p = (uint16_t)(bmp_public_buf[i] | bmp_public_buf[i + 1] << 8); diff --git a/Marlin/src/lcd/extui/lib/mks_ui/mks_hardware_test.cpp b/Marlin/src/lcd/extui/lib/mks_ui/mks_hardware_test.cpp index b5b77c50b24b..297ba723de8f 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/mks_hardware_test.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/mks_hardware_test.cpp @@ -29,7 +29,6 @@ #include "tft_lvgl_configuration.h" #include "draw_ready_print.h" -#include "W25Qxx.h" #include "mks_hardware_test.h" #include "draw_ui.h" #include "pic_manager.h" @@ -37,7 +36,6 @@ #include "../../../../MarlinCore.h" #include "../../../../module/temperature.h" -#include "../../../../feature/touch/xpt2046.h" #include "../../../../sd/cardreader.h" uint8_t pw_det_sta, pw_off_sta, mt_det_sta, mt_det2_sta, mt_det3_sta; @@ -590,8 +588,6 @@ void disp_char_1624(uint16_t x, uint16_t y, uint8_t c, uint16_t charColor, uint1 } void disp_string(uint16_t x, uint16_t y, const char * string, uint16_t charColor, uint16_t bkColor) { - // Select TFT SPI so it can receive data - TERN_(TFT_LVGL_UI_SPI, SPI_TFT.spi_init(SPI_FULL_SPEED)); while (*string != '\0') { disp_char_1624(x, y, *string, charColor, bkColor); string++; diff --git a/Marlin/src/lcd/extui/lib/mks_ui/pic_manager.cpp b/Marlin/src/lcd/extui/lib/mks_ui/pic_manager.cpp index 2a16bcf1b3b9..447303a88782 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/pic_manager.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/pic_manager.cpp @@ -23,16 +23,17 @@ #if HAS_TFT_LVGL_UI -#include "../../../../MarlinCore.h" - #include "string.h" - #include "pic_manager.h" -#include "W25Qxx.h" -#include "../../../../sd/cardreader.h" #include "draw_ready_print.h" #include "mks_hardware_test.h" +#include "SPIFlashStorage.h" +#include "../../../../libs/W25Qxx.h" + +#include "../../../../sd/cardreader.h" +#include "../../../../MarlinCore.h" + extern uint16_t DeviceCode; extern unsigned char bmp_public_buf[17 * 1024]; @@ -205,11 +206,11 @@ static char assets[][LONG_FILENAME_LENGTH] = { }; #if HAS_SPI_FLASH_FONT - static char fonts[][LONG_FILENAME_LENGTH] = { - "FontUNIGBK.bin", - }; + static char fonts[][LONG_FILENAME_LENGTH] = { "FontUNIGBK.bin" }; #endif +static uint8_t currentFlashPage = 0; + uint32_t lv_get_pic_addr(uint8_t *Pname) { uint8_t Pic_cnt; uint8_t i, j; @@ -217,6 +218,8 @@ uint32_t lv_get_pic_addr(uint8_t *Pname) { uint32_t tmp_cnt = 0; uint32_t addr = 0; + currentFlashPage = 0; + #if ENABLED(MARLIN_DEV_MODE) SERIAL_ECHOLNPAIR("Getting picture SPI Flash Address: ", (const char*)Pname); #endif @@ -371,6 +374,10 @@ uint8_t public_buf[512]; return -1; } + #if ENABLED(MARLIN_DEV_MODE) + static uint32_t totalSizes = 0, totalCompressed = 0; + #endif + #define ASSET_TYPE_ICON 0 #define ASSET_TYPE_LOGO 1 #define ASSET_TYPE_TITLE_LOGO 2 @@ -398,43 +405,52 @@ uint8_t public_buf[512]; pfileSize = file.fileSize(); totalSizeLoaded += pfileSize; if (assetType == ASSET_TYPE_LOGO) { - while (1) { + do { pbr = file.read(public_buf, BMP_WRITE_BUF_LEN); - Pic_Logo_Write((uint8_t *)fn, public_buf, pbr); // - if (pbr < BMP_WRITE_BUF_LEN) break; - } + Pic_Logo_Write((uint8_t *)fn, public_buf, pbr); + } while (pbr >= BMP_WRITE_BUF_LEN); } else if (assetType == ASSET_TYPE_TITLE_LOGO) { - while (1) { + do { pbr = file.read(public_buf, BMP_WRITE_BUF_LEN); - Pic_TitleLogo_Write((uint8_t *)fn, public_buf, pbr); // - if (pbr < BMP_WRITE_BUF_LEN) break; - } + Pic_TitleLogo_Write((uint8_t *)fn, public_buf, pbr); + } while (pbr >= BMP_WRITE_BUF_LEN); } else if (assetType == ASSET_TYPE_G_PREVIEW) { - while (1) { + do { pbr = file.read(public_buf, BMP_WRITE_BUF_LEN); - default_view_Write(public_buf, pbr); // - if (pbr < BMP_WRITE_BUF_LEN) break; - } + default_view_Write(public_buf, pbr); + } while (pbr >= BMP_WRITE_BUF_LEN); } else if (assetType == ASSET_TYPE_ICON) { Pic_Write_Addr = Pic_Info_Write((uint8_t *)fn, pfileSize); - while (1) { - pbr = file.read(public_buf, BMP_WRITE_BUF_LEN); - W25QXX.SPI_FLASH_BufferWrite(public_buf, Pic_Write_Addr, pbr); - Pic_Write_Addr += pbr; - if (pbr < BMP_WRITE_BUF_LEN) break; - } + SPIFlash.beginWrite(Pic_Write_Addr); + #if HAS_SPI_FLASH_COMPRESSION + do { + pbr = file.read(public_buf, SPI_FLASH_PageSize); + TERN_(MARLIN_DEV_MODE, totalSizes += pbr); + SPIFlash.writeData(public_buf, SPI_FLASH_PageSize); + } while (pbr >= SPI_FLASH_PageSize); + #else + do { + pbr = file.read(public_buf, BMP_WRITE_BUF_LEN); + W25QXX.SPI_FLASH_BufferWrite(public_buf, Pic_Write_Addr, pbr); + Pic_Write_Addr += pbr; + } while (pbr >= BMP_WRITE_BUF_LEN); + #endif + #if ENABLED(MARLIN_DEV_MODE) + SERIAL_ECHOLNPAIR("Space used: ", fn, " - ", (SPIFlash.getCurrentPage() + 1) * SPI_FLASH_PageSize / 1024, "KB"); + totalCompressed += (SPIFlash.getCurrentPage() + 1) * SPI_FLASH_PageSize; + #endif + SPIFlash.endWrite(); } else if (assetType == ASSET_TYPE_FONT) { Pic_Write_Addr = UNIGBK_FLASH_ADDR; - while (1) { + do { pbr = file.read(public_buf, BMP_WRITE_BUF_LEN); W25QXX.SPI_FLASH_BufferWrite(public_buf, Pic_Write_Addr, pbr); Pic_Write_Addr += pbr; - if (pbr < BMP_WRITE_BUF_LEN) break; - } + } while (pbr >= BMP_WRITE_BUF_LEN); } file.close(); @@ -459,14 +475,14 @@ uint8_t public_buf[512]; disp_assets_update_progress("Reading files..."); dir_t d; while (dir.readDir(&d, card.longFilename) > 0) { - // if we dont get a long name, but gets a short one, try it + // If we dont get a long name, but gets a short one, try it if (card.longFilename[0] == 0 && d.name[0] != 0) dosName2LongName((const char*)d.name, card.longFilename); if (card.longFilename[0] == 0) continue; if (card.longFilename[0] == '.') continue; - uint8_t a = arrayFindStr(assets, COUNT(assets), card.longFilename); - if (a >= 0 && a < COUNT(assets)) { + int8_t a = arrayFindStr(assets, COUNT(assets), card.longFilename); + if (a >= 0 && a < (int8_t)COUNT(assets)) { uint8_t assetType = ASSET_TYPE_ICON; if (strstr(assets[a], "_logo")) assetType = ASSET_TYPE_LOGO; @@ -482,9 +498,8 @@ uint8_t public_buf[512]; #if HAS_SPI_FLASH_FONT a = arrayFindStr(fonts, COUNT(fonts), card.longFilename); - if (a >= 0 && a < COUNT(fonts)) { + if (a >= 0 && a < (int8_t)COUNT(fonts)) loadAsset(dir, d, fonts[a], ASSET_TYPE_FONT); - } #endif } dir.rename(&root, bakPath); @@ -495,12 +510,13 @@ uint8_t public_buf[512]; uint8_t pic_counter = 0; W25QXX.SPI_FLASH_BufferRead(&pic_counter, PIC_COUNTER_ADDR, 1); SERIAL_ECHOLNPAIR("Total assets loaded: ", pic_counter); + SERIAL_ECHOLNPAIR("Total Uncompressed: ", totalSizes, ", Compressed: ", totalCompressed); #endif } #if HAS_SPI_FLASH_FONT void spi_flash_read_test() { W25QXX.SPI_FLASH_BufferRead(public_buf, UNIGBK_FLASH_ADDR, BMP_WRITE_BUF_LEN); } - #endif // HAS_SPI_FLASH_FONT + #endif #endif // SDSUPPORT @@ -531,8 +547,15 @@ void Pic_Read(uint8_t *Pname, uint8_t *P_Rbuff) { } void lv_pic_test(uint8_t *P_Rbuff, uint32_t addr, uint32_t size) { - W25QXX.init(SPI_QUARTER_SPEED); - W25QXX.SPI_FLASH_BufferRead((uint8_t *)P_Rbuff, addr, size); + #if HAS_SPI_FLASH_COMPRESSION + if (currentFlashPage == 0) + SPIFlash.beginRead(addr); + SPIFlash.readData(P_Rbuff, size); + currentFlashPage++; + #else + W25QXX.init(SPI_QUARTER_SPEED); + W25QXX.SPI_FLASH_BufferRead((uint8_t *)P_Rbuff, addr, size); + #endif } #if HAS_SPI_FLASH_FONT diff --git a/Marlin/src/lcd/extui/lib/mks_ui/pic_manager.h b/Marlin/src/lcd/extui/lib/mks_ui/pic_manager.h index 3ef4ee4f8624..4d9d08a9b4e3 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/pic_manager.h +++ b/Marlin/src/lcd/extui/lib/mks_ui/pic_manager.h @@ -21,11 +21,9 @@ */ #pragma once -#ifdef __cplusplus -extern "C" { /* C-declarations for C++ */ -#endif +#include "../../../../inc/MarlinConfig.h" -#include "../../inc/MarlinConfigPre.h" +#include "../../../../libs/W25Qxx.h" #include @@ -63,7 +61,7 @@ extern "C" { /* C-declarations for C++ */ #define DEFAULT_VIEW_MAX_SIZE (200*200*2) #define FLASH_VIEW_MAX_SIZE (200*200*2) -#define PER_PIC_MAX_SPACE_TFT35 (32*1024) +#define PER_PIC_MAX_SPACE_TFT35 (9*1024) #define PER_PIC_MAX_SPACE_TFT32 (16*1024) #define PER_FONT_MAX_SPACE (16*1024) @@ -88,7 +86,7 @@ extern "C" { /* C-declarations for C++ */ #define PIC_OTHER_SIZE_ADDR_TFT32 0x5EE000 // font - #define FONTINFOADDR 0x183000 // 6M -- font addr + #define FONTINFOADDR 0x150000 // 6M -- font addr #define UNIGBK_FLASH_ADDR (FONTINFOADDR+4096) // 4*1024 #else @@ -125,6 +123,10 @@ extern "C" { /* C-declarations for C++ */ // SD card information first addr #define VAR_INF_ADDR 0x000000 +#ifdef __cplusplus +extern "C" { /* C-declarations for C++ */ +#endif + union union32 { uint8_t bytes[4]; uint32_t dwords; @@ -154,6 +156,8 @@ extern void spi_flash_read_test(); extern void default_view_Read(uint8_t *default_view_Rbuff, uint32_t default_view_Readsize); extern void flash_view_Read(uint8_t *flash_view_Rbuff, uint32_t flash_view_Readsize); +extern W25QXXFlash W25QXX; + #ifdef __cplusplus } /* C-declarations for C++ */ #endif diff --git a/Marlin/src/lcd/extui/lib/mks_ui/tft_fsmc.cpp b/Marlin/src/lcd/extui/lib/mks_ui/tft_fsmc.cpp index e8ac3f351914..62967b9d8061 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/tft_fsmc.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/tft_fsmc.cpp @@ -22,252 +22,39 @@ #include "../../../../inc/MarlinConfig.h" -#if HAS_TFT_LVGL_UI +#if ENABLED(TFT_LVGL_UI_FSMC) - #if defined(ARDUINO_ARCH_STM32F1) && PIN_EXISTS(FSMC_CS) // FSMC on 100/144 pins SoCs +#include HAL_PATH(../../HAL, tft/tft_fsmc.h) +TFT_IO tftio; - #include - #include - #include - #include +void LCD_IO_Init(uint8_t cs, uint8_t rs); +void LCD_IO_WriteData(uint16_t RegValue); +void LCD_IO_WriteReg(uint16_t Reg); +#ifdef LCD_USE_DMA_FSMC + void LCD_IO_WriteMultiple(uint16_t data, uint32_t count); + void LCD_IO_WriteSequence(uint16_t *data, uint16_t length); +#endif -/* Timing configuration */ - #define FSMC_ADDRESS_SETUP_TIME 15// AddressSetupTime - #define FSMC_DATA_SETUP_TIME 15// DataSetupTime +void LCD_IO_Init(uint8_t cs, uint8_t rs) { + tftio.Init(); +} - void LCD_IO_Init(uint8_t cs, uint8_t rs); - void LCD_IO_WriteData(uint16_t RegValue); - void LCD_IO_WriteReg(uint16_t Reg); - uint16_t LCD_IO_ReadData(uint16_t RegValue); - uint32_t LCD_IO_ReadData(uint16_t RegValue, uint8_t ReadSize); - uint16_t ILI9488_ReadRAM(); - #ifdef LCD_USE_DMA_FSMC - void LCD_IO_WriteMultiple(uint16_t data, uint32_t count); - void LCD_IO_WriteSequence(uint16_t *data, uint16_t length); - #endif +void LCD_IO_WriteData(uint16_t RegValue) { + tftio.WriteData(RegValue); +} -/** - * FSMC LCD IO - */ - #define __ASM __asm - #define __STATIC_INLINE static inline - - __attribute__((always_inline)) __STATIC_INLINE void __DSB() {__ASM volatile ("dsb 0xF" ::: "memory");} - - #define FSMC_CS_NE1 PD7 - - #if ENABLED(STM32_XL_DENSITY) - #define FSMC_CS_NE2 PG9 - #define FSMC_CS_NE3 PG10 - #define FSMC_CS_NE4 PG12 - - #define FSMC_RS_A0 PF0 - #define FSMC_RS_A1 PF1 - #define FSMC_RS_A2 PF2 - #define FSMC_RS_A3 PF3 - #define FSMC_RS_A4 PF4 - #define FSMC_RS_A5 PF5 - #define FSMC_RS_A6 PF12 - #define FSMC_RS_A7 PF13 - #define FSMC_RS_A8 PF14 - #define FSMC_RS_A9 PF15 - #define FSMC_RS_A10 PG0 - #define FSMC_RS_A11 PG1 - #define FSMC_RS_A12 PG2 - #define FSMC_RS_A13 PG3 - #define FSMC_RS_A14 PG4 - #define FSMC_RS_A15 PG5 - #endif - - #define FSMC_RS_A16 PD11 - #define FSMC_RS_A17 PD12 - #define FSMC_RS_A18 PD13 - #define FSMC_RS_A19 PE3 - #define FSMC_RS_A20 PE4 - #define FSMC_RS_A21 PE5 - #define FSMC_RS_A22 PE6 - #define FSMC_RS_A23 PE2 - - #if ENABLED(STM32_XL_DENSITY) - #define FSMC_RS_A24 PG13 - #define FSMC_RS_A25 PG14 - #endif - - static uint8_t fsmcInit = 0; - - typedef struct { - __IO uint16_t REG; - __IO uint16_t RAM; - } LCD_CONTROLLER_TypeDef; - - LCD_CONTROLLER_TypeDef *LCD; - - void LCD_IO_Init(uint8_t cs, uint8_t rs) { - uint32_t controllerAddress; - - if (fsmcInit) return; - fsmcInit = 1; - - switch (cs) { - case FSMC_CS_NE1: controllerAddress = (uint32_t)FSMC_NOR_PSRAM_REGION1; break; - #if ENABLED(STM32_XL_DENSITY) - case FSMC_CS_NE2: controllerAddress = (uint32_t)FSMC_NOR_PSRAM_REGION2; break; - case FSMC_CS_NE3: controllerAddress = (uint32_t)FSMC_NOR_PSRAM_REGION3; break; - case FSMC_CS_NE4: controllerAddress = (uint32_t)FSMC_NOR_PSRAM_REGION4; break; - #endif - default: return; - } - - #define _ORADDR(N) controllerAddress |= (_BV32(N) - 2) - - switch (rs) { - #if ENABLED(STM32_XL_DENSITY) - case FSMC_RS_A0: _ORADDR( 1); break; - case FSMC_RS_A1: _ORADDR( 2); break; - case FSMC_RS_A2: _ORADDR( 3); break; - case FSMC_RS_A3: _ORADDR( 4); break; - case FSMC_RS_A4: _ORADDR( 5); break; - case FSMC_RS_A5: _ORADDR( 6); break; - case FSMC_RS_A6: _ORADDR( 7); break; - case FSMC_RS_A7: _ORADDR( 8); break; - case FSMC_RS_A8: _ORADDR( 9); break; - case FSMC_RS_A9: _ORADDR(10); break; - case FSMC_RS_A10: _ORADDR(11); break; - case FSMC_RS_A11: _ORADDR(12); break; - case FSMC_RS_A12: _ORADDR(13); break; - case FSMC_RS_A13: _ORADDR(14); break; - case FSMC_RS_A14: _ORADDR(15); break; - case FSMC_RS_A15: _ORADDR(16); break; - #endif - case FSMC_RS_A16: _ORADDR(17); break; - case FSMC_RS_A17: _ORADDR(18); break; - case FSMC_RS_A18: _ORADDR(19); break; - case FSMC_RS_A19: _ORADDR(20); break; - case FSMC_RS_A20: _ORADDR(21); break; - case FSMC_RS_A21: _ORADDR(22); break; - case FSMC_RS_A22: _ORADDR(23); break; - case FSMC_RS_A23: _ORADDR(24); break; - #if ENABLED(STM32_XL_DENSITY) - case FSMC_RS_A24: _ORADDR(25); break; - case FSMC_RS_A25: _ORADDR(26); break; - #endif - default: return; - } - - rcc_clk_enable(RCC_FSMC); - - gpio_set_mode(GPIOD, 14, GPIO_AF_OUTPUT_PP); // FSMC_D00 - gpio_set_mode(GPIOD, 15, GPIO_AF_OUTPUT_PP); // FSMC_D01 - gpio_set_mode(GPIOD, 0, GPIO_AF_OUTPUT_PP);// FSMC_D02 - gpio_set_mode(GPIOD, 1, GPIO_AF_OUTPUT_PP);// FSMC_D03 - gpio_set_mode(GPIOE, 7, GPIO_AF_OUTPUT_PP);// FSMC_D04 - gpio_set_mode(GPIOE, 8, GPIO_AF_OUTPUT_PP);// FSMC_D05 - gpio_set_mode(GPIOE, 9, GPIO_AF_OUTPUT_PP);// FSMC_D06 - gpio_set_mode(GPIOE, 10, GPIO_AF_OUTPUT_PP); // FSMC_D07 - gpio_set_mode(GPIOE, 11, GPIO_AF_OUTPUT_PP); // FSMC_D08 - gpio_set_mode(GPIOE, 12, GPIO_AF_OUTPUT_PP); // FSMC_D09 - gpio_set_mode(GPIOE, 13, GPIO_AF_OUTPUT_PP); // FSMC_D10 - gpio_set_mode(GPIOE, 14, GPIO_AF_OUTPUT_PP); // FSMC_D11 - gpio_set_mode(GPIOE, 15, GPIO_AF_OUTPUT_PP); // FSMC_D12 - gpio_set_mode(GPIOD, 8, GPIO_AF_OUTPUT_PP);// FSMC_D13 - gpio_set_mode(GPIOD, 9, GPIO_AF_OUTPUT_PP);// FSMC_D14 - gpio_set_mode(GPIOD, 10, GPIO_AF_OUTPUT_PP); // FSMC_D15 - - gpio_set_mode(GPIOD, 4, GPIO_AF_OUTPUT_PP);// FSMC_NOE - gpio_set_mode(GPIOD, 5, GPIO_AF_OUTPUT_PP);// FSMC_NWE - - gpio_set_mode(PIN_MAP[cs].gpio_device, PIN_MAP[cs].gpio_bit, GPIO_AF_OUTPUT_PP); //FSMC_CS_NEx - gpio_set_mode(PIN_MAP[rs].gpio_device, PIN_MAP[rs].gpio_bit, GPIO_AF_OUTPUT_PP); //FSMC_RS_Ax - - #if ENABLED(STM32_XL_DENSITY) - FSMC_NOR_PSRAM4_BASE->BCR = FSMC_BCR_WREN | FSMC_BCR_MTYP_SRAM | FSMC_BCR_MWID_16BITS | FSMC_BCR_MBKEN; - FSMC_NOR_PSRAM4_BASE->BTR = (FSMC_DATA_SETUP_TIME << 8) | FSMC_ADDRESS_SETUP_TIME; - #else // PSRAM1 for STM32F103V (high density) - FSMC_NOR_PSRAM1_BASE->BCR = FSMC_BCR_WREN | FSMC_BCR_MTYP_SRAM | FSMC_BCR_MWID_16BITS | FSMC_BCR_MBKEN; - FSMC_NOR_PSRAM1_BASE->BTR = (FSMC_DATA_SETUP_TIME << 8) | FSMC_ADDRESS_SETUP_TIME; - #endif - - afio_remap(AFIO_REMAP_FSMC_NADV); - - LCD = (LCD_CONTROLLER_TypeDef*)controllerAddress; - } - - void LCD_IO_WriteData(uint16_t RegValue) { - LCD->RAM = RegValue; - __DSB(); - } - - void LCD_IO_WriteReg(uint16_t Reg) { - LCD->REG = Reg; - __DSB(); - } - - uint16_t LCD_IO_ReadData(uint16_t RegValue) { - LCD->REG = RegValue; - __DSB(); - - return LCD->RAM; - } - - uint16_t ILI9488_ReadRAM() { - uint16_t data; - data = LCD->RAM; - return data; - } - - uint32_t LCD_IO_ReadData(uint16_t RegValue, uint8_t ReadSize) { - volatile uint32_t data; - LCD->REG = RegValue; - __DSB(); - - data = LCD->RAM; // dummy read - data = LCD->RAM & 0x00FF; - - while (--ReadSize) { - data <<= 8; - data |= (LCD->RAM & 0x00FF); - } - return uint32_t(data); - } - - #ifdef LCD_USE_DMA_FSMC - - void LCD_IO_WriteMultiple(uint16_t color, uint32_t count) { - while (count > 0) { - dma_setup_transfer(FSMC_DMA_DEV, FSMC_DMA_CHANNEL, &color, DMA_SIZE_16BITS, &LCD->RAM, DMA_SIZE_16BITS, DMA_MEM_2_MEM); - dma_set_num_transfers(FSMC_DMA_DEV, FSMC_DMA_CHANNEL, count > 65535 ? 65535 : count); - dma_clear_isr_bits(FSMC_DMA_DEV, FSMC_DMA_CHANNEL); - dma_enable(FSMC_DMA_DEV, FSMC_DMA_CHANNEL); - - while ((dma_get_isr_bits(FSMC_DMA_DEV, FSMC_DMA_CHANNEL) & 0x0A) == 0) {} - dma_disable(FSMC_DMA_DEV, FSMC_DMA_CHANNEL); - - count = count > 65535 ? count - 65535 : 0; - } - } - - void LCD_IO_WriteSequence(uint16_t *data, uint16_t length) { - dma_setup_transfer(FSMC_DMA_DEV, FSMC_DMA_CHANNEL, data, DMA_SIZE_16BITS, &LCD->RAM, DMA_SIZE_16BITS, DMA_MEM_2_MEM | DMA_PINC_MODE); - dma_set_num_transfers(FSMC_DMA_DEV, FSMC_DMA_CHANNEL, length); - dma_clear_isr_bits(FSMC_DMA_DEV, FSMC_DMA_CHANNEL); - dma_enable(FSMC_DMA_DEV, FSMC_DMA_CHANNEL); - - while ((dma_get_isr_bits(FSMC_DMA_DEV, FSMC_DMA_CHANNEL) & 0x0A) == 0) {} - dma_disable(FSMC_DMA_DEV, FSMC_DMA_CHANNEL); - } +void LCD_IO_WriteReg(uint16_t Reg) { + tftio.WriteReg(Reg); +} - void LCD_IO_WriteSequence_Async(uint16_t *data, uint16_t length) { - dma_setup_transfer(FSMC_DMA_DEV, FSMC_DMA_CHANNEL, data, DMA_SIZE_16BITS, &LCD->RAM, DMA_SIZE_16BITS, DMA_MEM_2_MEM | DMA_PINC_MODE); - dma_set_num_transfers(FSMC_DMA_DEV, FSMC_DMA_CHANNEL, length); - dma_clear_isr_bits(FSMC_DMA_DEV, FSMC_DMA_CHANNEL); - dma_enable(FSMC_DMA_DEV, FSMC_DMA_CHANNEL); - } +#ifdef LCD_USE_DMA_FSMC + void LCD_IO_WriteMultiple(uint16_t color, uint32_t count) { + tftio.WriteMultiple(color, count); + } - void LCD_IO_WaitSequence_Async() { - while ((dma_get_isr_bits(FSMC_DMA_DEV, FSMC_DMA_CHANNEL) & 0x0A) == 0) {} - dma_disable(FSMC_DMA_DEV, FSMC_DMA_CHANNEL); - } + void LCD_IO_WriteSequence(uint16_t *data, uint16_t length) { + tftio.WriteSequence(data, length); + } +#endif // LCD_USE_DMA_FSMC - #endif // LCD_USE_DMA_FSMC - #endif // ARDUINO_ARCH_STM32F1 && FSMC_CS_PIN #endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp b/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp index f24f08e98e3a..23072d27c750 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp +++ b/Marlin/src/lcd/extui/lib/mks_ui/tft_lvgl_configuration.cpp @@ -35,14 +35,15 @@ #include "tft_lvgl_configuration.h" #include "draw_ready_print.h" -#include "W25Qxx.h" #include "pic_manager.h" #include "mks_hardware_test.h" #include "draw_ui.h" #include -#include "../../../../MarlinCore.h" -#include "../../../../feature/touch/xpt2046.h" +#include "../../../../inc/MarlinConfig.h" + +#include HAL_PATH(../../HAL, tft/xpt2046.h) +XPT2046 touch; #if ENABLED(POWER_LOSS_RECOVERY) #include "../../../../feature/powerloss.h" @@ -50,6 +51,13 @@ #include +#ifndef TFT_WIDTH + #define TFT_WIDTH 480 +#endif +#ifndef TFT_HEIGHT + #define TFT_HEIGHT 320 +#endif + #if HAS_SPI_FLASH_FONT extern void init_gb2312_font(); #endif @@ -112,14 +120,14 @@ void tft_set_cursor(uint16_t x, uint16_t y) { void LCD_WriteRAM_Prepare(void) { #if 0 - if ((DeviceCode == 0x9325) || (DeviceCode == 0x9328) || (DeviceCode == 0x8989)) { - ClrCs - LCD->LCD_REG = R34; - SetCs - } - else { - LCD_WrtReg(0x002C); - } + switch (DeviceCode) { + case 0x9325: case 0x9328: case 0x8989: { + ClrCs + LCD->LCD_REG = R34; + SetCs + } break; + default: LCD_WrtReg(0x002C); + } #else LCD_IO_WriteReg(0x002C); #endif @@ -127,9 +135,8 @@ void LCD_WriteRAM_Prepare(void) { void tft_set_point(uint16_t x, uint16_t y, uint16_t point) { //if (DeviceCode == 0x9488) { - if ((x > 480) || (y > 320)) return; + if (x > (TFT_WIDTH) || y > (TFT_HEIGHT)) return; //} - //**if ( (x>320)||(y>240) ) return; tft_set_cursor(x, y); LCD_WriteRAM_Prepare(); @@ -187,10 +194,10 @@ void ili9320_SetWindows(uint16_t StartX, uint16_t StartY, uint16_t width, uint16 LCD_WriteReg(0x0052, StartY); LCD_WriteReg(0x0051, xEnd); LCD_WriteReg(0x0053, yEnd);*/ - LCD_WriteReg(0x0050, StartY); //Specify the start/end positions of the window address in the horizontal direction by an address unit - LCD_WriteReg(0x0051, yEnd); //Specify the start positions of the window address in the vertical direction by an address unit - LCD_WriteReg(0x0052, 320 - xEnd); - LCD_WriteReg(0x0053, 320 - StartX - 1); //Specify the end positions of the window address in the vertical direction by an address unit + LCD_WriteReg(0x0050, StartY); // Specify the start/end positions of the window address in the horizontal direction by an address unit + LCD_WriteReg(0x0051, yEnd); // Specify the start positions of the window address in the vertical direction by an address unit + LCD_WriteReg(0x0052, (TFT_HEIGHT) - xEnd); + LCD_WriteReg(0x0053, (TFT_HEIGHT) - StartX - 1); // Specify the end positions of the window address in the vertical direction by an address unit } else { @@ -224,16 +231,16 @@ void LCD_Clear(uint16_t Color) { if (DeviceCode == 0x9488) { tft_set_cursor(0, 0); - ili9320_SetWindows(0, 0, 480, 320); + ili9320_SetWindows(0, 0, TFT_WIDTH, TFT_HEIGHT); LCD_WriteRAM_Prepare(); #ifdef LCD_USE_DMA_FSMC - LCD_IO_WriteMultiple(Color, LCD_FULL_PIXEL_WIDTH * LCD_FULL_PIXEL_HEIGHT); + LCD_IO_WriteMultiple(Color, (TFT_WIDTH) * (TFT_HEIGHT)); #else - //index = (160*480); - for (index = 0; index < 320 * 480; index++) - LCD_IO_WriteData(Color); + //index = (TFT_HEIGHT) / 2 * (TFT_WIDTH); + for (index = 0; index < (TFT_HEIGHT) * (TFT_WIDTH); index++) + LCD_IO_WriteData(Color); #endif - //LCD_IO_WriteMultiple(Color, (480*320)); + //LCD_IO_WriteMultiple(Color, (TFT_WIDTH) * (TFT_HEIGHT)); //while(index --) LCD_IO_WriteData(Color); } else if (DeviceCode == 0x5761) { @@ -260,29 +267,10 @@ void LCD_Clear(uint16_t Color) { } } -extern uint16_t ILI9488_ReadRAM(); - - +#include HAL_PATH(../../HAL, tft/tft_fsmc.h) +extern TFT_IO tftio; void init_tft() { uint16_t i; - //************* Start Initial Sequence **********// - - //start lcd pins and dma - #if PIN_EXISTS(LCD_BACKLIGHT) - OUT_WRITE(LCD_BACKLIGHT_PIN, DISABLED(DELAYED_BACKLIGHT_INIT)); // Illuminate after reset or right away - #endif - - #if PIN_EXISTS(LCD_RESET) - // Perform a clean hardware reset with needed delays - OUT_WRITE(LCD_RESET_PIN, LOW); - _delay_ms(5); - WRITE(LCD_RESET_PIN, HIGH); - _delay_ms(5); - #endif - - #if PIN_EXISTS(LCD_BACKLIGHT) && ENABLED(DELAYED_BACKLIGHT_INIT) - WRITE(LCD_BACKLIGHT_PIN, HIGH); - #endif TERN_(HAS_LCD_CONTRAST, refresh_contrast()); @@ -296,12 +284,9 @@ void init_tft() { _delay_ms(5); - LCD_IO_WriteReg(0x00D3); - DeviceCode = ILI9488_ReadRAM(); //dummy read - DeviceCode = ILI9488_ReadRAM(); - DeviceCode = ILI9488_ReadRAM(); - DeviceCode <<= 8; - DeviceCode |= ILI9488_ReadRAM(); + DeviceCode = tftio.GetID() & 0xFFFF; + // Chitu and others + if (DeviceCode == 0x8066) DeviceCode = 0x9488; if (DeviceCode == 0x9488) { LCD_IO_WriteReg(0x00E0); @@ -393,7 +378,7 @@ void init_tft() { for (i = 0; i < 65535; i++); LCD_IO_WriteReg(0x0029); - ili9320_SetWindows(0, 0, 480, 320); + ili9320_SetWindows(0, 0, TFT_WIDTH, TFT_HEIGHT); LCD_Clear(0x0000); OUT_WRITE(LCD_BACKLIGHT_PIN, HIGH); @@ -429,7 +414,7 @@ void tft_lvgl_init() { //spi_flash_read_test(); - TERN_(TOUCH_BUTTONS, touch.init()); + touch.Init(); lv_init(); @@ -485,35 +470,14 @@ void tft_lvgl_init() { void my_disp_flush(lv_disp_drv_t * disp, const lv_area_t * area, lv_color_t * color_p) { #if ENABLED(TFT_LVGL_UI_SPI) uint16_t i, width, height; - uint16_t clr_temp; - uint8_t tbuf[480 * 2]; - - SPI_TFT.spi_init(SPI_FULL_SPEED); width = area->x2 - area->x1 + 1; height = area->y2 - area->y1 + 1; - for (int j = 0; j < height; j++) { - SPI_TFT.SetCursor(0, 0); - SPI_TFT.SetWindows((uint16_t)area->x1, (uint16_t)area->y1 + j, width, 1); - SPI_TFT.LCD_WriteRAM_Prepare(); - - for (i = 0; i < width * 2;) { - clr_temp = (uint16_t)(((uint16_t)color_p->ch.red << 11) - | ((uint16_t)color_p->ch.green << 5) - | ((uint16_t)color_p->ch.blue)); - - tbuf[i] = clr_temp >> 8; - tbuf[i + 1] = clr_temp; - i += 2; - color_p++; - } - SPI_TFT_CS_L; - SPI_TFT_DC_H; - SPI.dmaSend(tbuf, width * 2, true); - SPI_TFT_CS_H; + SPI_TFT.SetWindows((uint16_t)area->x1, (uint16_t)area->y1, width, height); + for (i = 0; i < height; i++) { + SPI_TFT.tftio.WriteSequence((uint16_t*)(color_p + width * i), width); } - lv_disp_flush_ready(disp); /* Indicate you are ready with the flushing*/ W25QXX.init(SPI_QUARTER_SPEED); @@ -549,174 +513,23 @@ unsigned int getTickDiff(unsigned int curTick, unsigned int lastTick) { return TICK_CYCLE * (lastTick <= curTick ? (curTick - lastTick) : (0xFFFFFFFF - lastTick + curTick)); } -#if ENABLED(TFT_LVGL_UI_SPI) - - #ifndef USE_XPT2046 - #define USE_XPT2046 1 - #define XPT2046_XY_SWAP 1 - #define XPT2046_X_INV 1 - #define XPT2046_Y_INV 0 - #endif - - #if USE_XPT2046 - #define XPT2046_HOR_RES 480 - #define XPT2046_VER_RES 320 - #define XPT2046_X_MIN 201 - #define XPT2046_Y_MIN 164 - #define XPT2046_X_MAX 3919 - #define XPT2046_Y_MAX 3776 - #define XPT2046_AVG 4 - #define XPT2046_INV 1 - #endif - -#else - - #ifndef USE_XPT2046 - #define USE_XPT2046 1 - #ifndef XPT2046_XY_SWAP - #define XPT2046_XY_SWAP 1 - #endif - #ifndef XPT2046_X_INV - #define XPT2046_X_INV 0 - #endif - #ifndef XPT2046_Y_INV - #define XPT2046_Y_INV 1 - #endif - #endif +static bool get_point(int16_t *x, int16_t *y) { + bool is_touched = touch.getRawPoint(x, y); - #if USE_XPT2046 - #ifndef XPT2046_HOR_RES - #define XPT2046_HOR_RES 480 - #endif - #ifndef XPT2046_VER_RES - #define XPT2046_VER_RES 320 - #endif - #ifndef XPT2046_X_MIN - #define XPT2046_X_MIN 201 - #endif - #ifndef XPT2046_Y_MIN - #define XPT2046_Y_MIN 164 - #endif - #ifndef XPT2046_X_MAX - #define XPT2046_X_MAX 3919 - #endif - #ifndef XPT2046_Y_MAX - #define XPT2046_Y_MAX 3776 - #endif - #ifndef XPT2046_AVG - #define XPT2046_AVG 4 - #endif - #ifndef XPT2046_INV - #define XPT2046_INV 0 - #endif - #endif - -#endif - -static void xpt2046_corr(uint16_t *x, uint16_t *y) { - #if XPT2046_XY_SWAP - int16_t swap_tmp; - swap_tmp = *x; - *x = *y; - *y = swap_tmp; - #endif - if ((*x) > XPT2046_X_MIN) (*x) -= XPT2046_X_MIN; else (*x) = 0; - if ((*y) > XPT2046_Y_MIN) (*y) -= XPT2046_Y_MIN; else (*y) = 0; - (*x) = uint32_t(uint32_t(*x) * XPT2046_HOR_RES) / (XPT2046_X_MAX - XPT2046_X_MIN); - (*y) = uint32_t(uint32_t(*y) * XPT2046_VER_RES) / (XPT2046_Y_MAX - XPT2046_Y_MIN); - #if XPT2046_X_INV - (*x) = XPT2046_HOR_RES - (*x); - #endif - #if XPT2046_Y_INV - (*y) = XPT2046_VER_RES - (*y); - #endif -} - -#define times 4 -#define CHX 0x90 -#define CHY 0xD0 - -int SPI2_ReadWrite2Bytes(void) { - #define SPI_READ_WRITE_BYTE(B) TERN(TFT_LVGL_UI_SPI, SPI_TFT.spi_read_write_byte, W25QXX.spi_flash_read_write_byte)(B) - const uint16_t t1 = SPI_READ_WRITE_BYTE(0xFF), - t2 = SPI_READ_WRITE_BYTE(0xFF); - return (((t1 << 8) | t2) >> 3) & 0x0FFF; -} - -uint16_t x_addata[times], y_addata[times]; -void XPT2046_Rd_Addata(uint16_t *X_Addata, uint16_t *Y_Addata) { - uint16_t i, j, k; - - TERN(TFT_LVGL_UI_SPI, SPI_TFT.spi_init, W25QXX.init)(SPI_SPEED_6); - - for (i = 0; i < times; i++) { - #if ENABLED(TFT_LVGL_UI_SPI) - OUT_WRITE(TOUCH_CS_PIN, LOW); - SPI_TFT.spi_read_write_byte(CHX); - y_addata[i] = SPI2_ReadWrite2Bytes(); - WRITE(TOUCH_CS_PIN, HIGH); - - OUT_WRITE(TOUCH_CS_PIN, LOW); - SPI_TFT.spi_read_write_byte(CHY); - x_addata[i] = SPI2_ReadWrite2Bytes(); - WRITE(TOUCH_CS_PIN, HIGH); - #else // #if ENABLED(TOUCH_BUTTONS) - OUT_WRITE(TOUCH_CS_PIN, LOW); - W25QXX.spi_flash_read_write_byte(CHX); - y_addata[i] = SPI2_ReadWrite2Bytes(); - WRITE(TOUCH_CS_PIN, HIGH); - - OUT_WRITE(TOUCH_CS_PIN, LOW); - W25QXX.spi_flash_read_write_byte(CHY); - x_addata[i] = SPI2_ReadWrite2Bytes(); - WRITE(TOUCH_CS_PIN, HIGH); - #endif - - } - TERN(TFT_LVGL_UI_SPI,,W25QXX.init(SPI_QUARTER_SPEED)); - - for (i = 0; i < times; i++) - for (j = i + 1; j < times; j++) - if (x_addata[j] > x_addata[i]) { - k = x_addata[j]; - x_addata[j] = x_addata[i]; - x_addata[i] = k; - } - if (x_addata[times / 2 - 1] - x_addata[times / 2] > 50) { - *X_Addata = *Y_Addata = 0; - return; - } - - *X_Addata = (x_addata[times / 2 - 1] + x_addata[times / 2]) / 2; - - for (i = 0; i < times; i++) - for (j = i + 1; j < times; j++) - if (y_addata[j] > y_addata[i]) { - k = y_addata[j]; - y_addata[j] = y_addata[i]; - y_addata[i] = k; - } - - if (y_addata[times / 2 - 1] - y_addata[times / 2] > 50) { - *X_Addata = *Y_Addata = 0; - return; + if (is_touched) { + *x = int16_t((int32_t(*x) * XPT2046_X_CALIBRATION) >> 16) + XPT2046_X_OFFSET; + *y = int16_t((int32_t(*y) * XPT2046_Y_CALIBRATION) >> 16) + XPT2046_Y_OFFSET; } - *Y_Addata = (y_addata[times / 2 - 1] + y_addata[times / 2]) / 2; -} - -#define ADC_VALID_OFFSET 10 + #if ENABLED(GRAPHICAL_TFT_ROTATE_180) + x = (TFT_WIDTH) - x; + y = (TFT_HEIGHT) - y; + #endif -uint8_t TOUCH_PressValid(uint16_t _usX, uint16_t _usY) { - if ( (_usX <= ADC_VALID_OFFSET) - || (_usY <= ADC_VALID_OFFSET) - || (_usX >= 4095 - ADC_VALID_OFFSET) - || (_usY >= 4095 - ADC_VALID_OFFSET) - ) return 0; - return 1; + return is_touched; } -static lv_coord_t last_x = 0, last_y = 0; +static int16_t last_x = 0, last_y = 0; bool my_touchpad_read(lv_indev_drv_t * indev_driver, lv_indev_data_t * data) { uint32_t tmpTime, diffTime = 0; @@ -728,34 +541,24 @@ bool my_touchpad_read(lv_indev_drv_t * indev_driver, lv_indev_data_t * data) { //touchpad_get_xy(&last_x, &last_y); /*Save the pressed coordinates and the state*/ if (diffTime > 10) { - //use marlin touch code if enabled - #if ENABLED(TOUCH_BUTTONS) - touch.getTouchPoint(reinterpret_cast(last_x), reinterpret_cast(last_y)); - #else - XPT2046_Rd_Addata((uint16_t *)&last_x, (uint16_t *)&last_y); - #endif - if (TOUCH_PressValid(last_x, last_y)) { + if (get_point(&last_x, &last_y)) { data->state = LV_INDEV_STATE_PR; - /* Set the coordinates (if released use the last pressed coordinates) */ + // Set the coordinates (if released use the last-pressed coordinates) - // SERIAL_ECHOLNPAIR("antes X: ", last_x, ", y: ", last_y); - xpt2046_corr((uint16_t *)&last_x, (uint16_t *)&last_y); - // SERIAL_ECHOLNPAIR("X: ", last_x, ", y: ", last_y); data->point.x = last_x; data->point.y = last_y; - last_x = 0; - last_y = 0; + last_x = last_y = 0; } - else { + else data->state = LV_INDEV_STATE_REL; - } + touch_time1 = tmpTime; } - return false; /*Return `false` because we are not buffering and no more data to read*/ + return false; // Return `false` since no data is buffering or left to read } #endif // HAS_TFT_LVGL_UI diff --git a/Marlin/src/lcd/extui_malyan_lcd.cpp b/Marlin/src/lcd/extui/malyan_lcd.cpp similarity index 97% rename from Marlin/src/lcd/extui_malyan_lcd.cpp rename to Marlin/src/lcd/extui/malyan_lcd.cpp index 38a8fbc0f99a..b5148065c7cc 100644 --- a/Marlin/src/lcd/extui_malyan_lcd.cpp +++ b/Marlin/src/lcd/extui/malyan_lcd.cpp @@ -21,7 +21,7 @@ */ /** - * extui_malyan_lcd.cpp + * malyan_lcd.cpp * * LCD implementation for Malyan's LCD, a separate ESP8266 MCU running * on Serial1 for the M200 board. This module outputs a pseudo-gcode @@ -41,25 +41,25 @@ * Copyright (c) 2017 Jason Nelson (xC0000005) */ -#include "../inc/MarlinConfigPre.h" +#include "../../inc/MarlinConfigPre.h" #if ENABLED(MALYAN_LCD) #define DEBUG_MALYAN_LCD -#include "extui/ui_api.h" +#include "ui_api.h" -#include "ultralcd.h" -#include "../sd/cardreader.h" -#include "../module/temperature.h" -#include "../module/stepper.h" -#include "../module/motion.h" -#include "../libs/duration_t.h" -#include "../module/printcounter.h" -#include "../gcode/queue.h" +#include "../ultralcd.h" +#include "../../sd/cardreader.h" +#include "../../module/temperature.h" +#include "../../module/stepper.h" +#include "../../module/motion.h" +#include "../../libs/duration_t.h" +#include "../../module/printcounter.h" +#include "../../gcode/queue.h" #define DEBUG_OUT ENABLED(DEBUG_MALYAN_LCD) -#include "../core/debug_out.h" +#include "../../core/debug_out.h" // On the Malyan M200, this will be Serial1. On a RAMPS board, // it might not be. diff --git a/Marlin/src/lcd/extui/ui_api.cpp b/Marlin/src/lcd/extui/ui_api.cpp index b5dbb11a0613..31449fcef4c7 100644 --- a/Marlin/src/lcd/extui/ui_api.cpp +++ b/Marlin/src/lcd/extui/ui_api.cpp @@ -304,7 +304,7 @@ namespace ExtUI { return epos; } - void setAxisPosition_mm(const float position, const axis_t axis) { + void setAxisPosition_mm(const float position, const axis_t axis, const feedRate_t feedrate/*=0*/) { // Start with no limits to movement float min = current_position[axis] - 1000, max = current_position[axis] + 1000; @@ -337,14 +337,14 @@ namespace ExtUI { #endif current_position[axis] = constrain(position, min, max); - line_to_current_position(manual_feedrate_mm_s[axis]); + line_to_current_position(feedrate ?: manual_feedrate_mm_s[axis]); } - void setAxisPosition_mm(const float position, const extruder_t extruder) { + void setAxisPosition_mm(const float position, const extruder_t extruder, const feedRate_t feedrate/*=0*/) { setActiveTool(extruder, true); current_position.e = position; - line_to_current_position(manual_feedrate_mm_s.e); + line_to_current_position(feedrate ?: manual_feedrate_mm_s.e); } void setActiveTool(const extruder_t extruder, bool no_move) { @@ -548,7 +548,7 @@ namespace ExtUI { void setAxisSteps_per_mm(const float value, const extruder_t extruder) { UNUSED_E(extruder); - planner.settings.axis_steps_per_mm[E_AXIS_N(axis - E0)] = value; + planner.settings.axis_steps_per_mm[E_AXIS_N(extruder - E0)] = value; } feedRate_t getAxisMaxFeedrate_mm_s(const axis_t axis) { @@ -557,7 +557,7 @@ namespace ExtUI { feedRate_t getAxisMaxFeedrate_mm_s(const extruder_t extruder) { UNUSED_E(extruder); - return planner.settings.max_feedrate_mm_s[E_AXIS_N(axis - E0)]; + return planner.settings.max_feedrate_mm_s[E_AXIS_N(extruder - E0)]; } void setAxisMaxFeedrate_mm_s(const feedRate_t value, const axis_t axis) { @@ -599,18 +599,18 @@ namespace ExtUI { #endif #endif - #if HAS_CASE_LIGHT - bool getCaseLightState() { return case_light_on; } + #if ENABLED(CASE_LIGHT_ENABLE) + bool getCaseLightState() { return caselight.on; } void setCaseLightState(const bool value) { - case_light_on = value; - update_case_light(); + caselight.on = value; + caselight.update_enabled(); } #if DISABLED(CASE_LIGHT_NO_BRIGHTNESS) - float getCaseLightBrightness_percent() { return ui8_to_percent(case_light_brightness); } + float getCaseLightBrightness_percent() { return ui8_to_percent(caselight.brightness); } void setCaseLightBrightness_percent(const float value) { - case_light_brightness = map(constrain(value, 0, 100), 0, 100, 0, 255); - update_case_light(); + caselight.brightness = map(constrain(value, 0, 100), 0, 100, 0, 255); + caselight.update_brightness(); } #endif #endif @@ -1057,10 +1057,6 @@ namespace ExtUI { // At the moment, we piggy-back off the ultralcd calls, but this could be cleaned up in the future void MarlinUI::init() { - #if ENABLED(SDSUPPORT) && PIN_EXISTS(SD_DETECT) - SET_INPUT_PULLUP(SD_DETECT_PIN); - #endif - ExtUI::onStartup(); } diff --git a/Marlin/src/lcd/extui/ui_api.h b/Marlin/src/lcd/extui/ui_api.h index ae6f31d43e2f..ca12d79a8bc9 100644 --- a/Marlin/src/lcd/extui/ui_api.h +++ b/Marlin/src/lcd/extui/ui_api.h @@ -164,8 +164,8 @@ namespace ExtUI { void setTargetTemp_celsius(const float, const heater_t); void setTargetTemp_celsius(const float, const extruder_t); void setTargetFan_percent(const float, const fan_t); - void setAxisPosition_mm(const float, const axis_t); - void setAxisPosition_mm(const float, const extruder_t); + void setAxisPosition_mm(const float, const axis_t, const feedRate_t=0); + void setAxisPosition_mm(const float, const extruder_t, const feedRate_t=0); void setAxisSteps_per_mm(const float, const axis_t); void setAxisSteps_per_mm(const float, const extruder_t); void setAxisMaxFeedrate_mm_s(const feedRate_t, const axis_t); diff --git a/Marlin/src/lcd/fontutils.cpp b/Marlin/src/lcd/fontutils.cpp index ffa6d0df70b8..8b046af9a7a2 100644 --- a/Marlin/src/lcd/fontutils.cpp +++ b/Marlin/src/lcd/fontutils.cpp @@ -73,7 +73,7 @@ int pf_bsearch_r(void *userdata, size_t num_data, pf_bsearch_cb_comp_t cb_comp, return -1; } -/* This function gets the character at the pstart position, interpreting UTF8 multybyte sequences +/* This function gets the character at the pstart position, interpreting UTF8 multibyte sequences and returns the pointer to the next character */ uint8_t* get_utf8_value_cb(uint8_t *pstart, read_byte_cb_t cb_read_byte, wchar_t *pval) { uint32_t val = 0; @@ -161,7 +161,6 @@ uint8_t* get_utf8_value_cb(uint8_t *pstart, read_byte_cb_t cb_read_byte, wchar_t } static inline uint8_t utf8_strlen_cb(const char *pstart, read_byte_cb_t cb_read_byte) { - uint8_t cnt = 0; uint8_t *pnext = (uint8_t *)pstart; for (;;) { diff --git a/Marlin/src/lcd/fontutils.h b/Marlin/src/lcd/fontutils.h index 8839e36a2bd1..74c4a87fb9d3 100644 --- a/Marlin/src/lcd/fontutils.h +++ b/Marlin/src/lcd/fontutils.h @@ -38,6 +38,6 @@ int pf_bsearch_r(void *userdata, size_t num_data, pf_bsearch_cb_comp_t cb_comp, /* Get the character, decoding multibyte UTF8 characters and returning a pointer to the start of the next UTF8 character */ uint8_t* get_utf8_value_cb(uint8_t *pstart, read_byte_cb_t cb_read_byte, wchar_t *pval); -/* Returns lenght of string in CHARACTERS, NOT BYTES */ +/* Returns length of string in CHARACTERS, NOT BYTES */ uint8_t utf8_strlen(const char *pstart); uint8_t utf8_strlen_P(PGM_P pstart); diff --git a/Marlin/src/lcd/language/language_en.h b/Marlin/src/lcd/language/language_en.h index 391cb598cffc..fde21f2bbabc 100644 --- a/Marlin/src/lcd/language/language_en.h +++ b/Marlin/src/lcd/language/language_en.h @@ -48,6 +48,7 @@ namespace Language_en { PROGMEM Language_Str MSG_MEDIA_INSERTED = _UxGT("Media Inserted"); PROGMEM Language_Str MSG_MEDIA_REMOVED = _UxGT("Media Removed"); PROGMEM Language_Str MSG_MEDIA_WAITING = _UxGT("Waiting for media"); + PROGMEM Language_Str MSG_SD_INIT_FAIL = _UxGT("SD Init Fail"); PROGMEM Language_Str MSG_MEDIA_READ_ERROR = _UxGT("Media read error"); PROGMEM Language_Str MSG_MEDIA_USB_REMOVED = _UxGT("USB device removed"); PROGMEM Language_Str MSG_MEDIA_USB_FAILED = _UxGT("USB start failed"); @@ -123,6 +124,7 @@ namespace Language_en { PROGMEM Language_Str MSG_USER_MENU = _UxGT("Custom Commands"); PROGMEM Language_Str MSG_M48_TEST = _UxGT("M48 Probe Test"); PROGMEM Language_Str MSG_M48_POINT = _UxGT("M48 Point"); + PROGMEM Language_Str MSG_M48_OUT_OF_BOUNDS = _UxGT("Probe out of bounds"); PROGMEM Language_Str MSG_M48_DEVIATION = _UxGT("Deviation"); PROGMEM Language_Str MSG_IDEX_MENU = _UxGT("IDEX Mode"); PROGMEM Language_Str MSG_OFFSETS_MENU = _UxGT("Tool Offsets"); @@ -504,7 +506,7 @@ namespace Language_en { #if LCD_WIDTH >= 20 PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Print Count"); PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Completed"); - PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Total Print time"); + PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Total Print Time"); PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Longest Job Time"); PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Extruded Total"); #else @@ -588,6 +590,17 @@ namespace Language_en { PROGMEM Language_Str MSG_BAD_PAGE = _UxGT("Bad page index"); PROGMEM Language_Str MSG_BAD_PAGE_SPEED = _UxGT("Bad page speed"); + PROGMEM Language_Str MSG_EDIT_PASSWORD = _UxGT("Edit Password"); + PROGMEM Language_Str MSG_LOGIN_REQUIRED = _UxGT("Login Required"); + PROGMEM Language_Str MSG_PASSWORD_SETTINGS = _UxGT("Password Settings"); + PROGMEM Language_Str MSG_ENTER_DIGIT = _UxGT("Enter Digit"); + PROGMEM Language_Str MSG_CHANGE_PASSWORD = _UxGT("Set/Edit Password"); + PROGMEM Language_Str MSG_REMOVE_PASSWORD = _UxGT("Remove Password"); + PROGMEM Language_Str MSG_PASSWORD_SET = _UxGT("Password is "); + PROGMEM Language_Str MSG_START_OVER = _UxGT("Start Over"); + PROGMEM Language_Str MSG_REMINDER_SAVE_SETTINGS = _UxGT("Remember to Save!"); + PROGMEM Language_Str MSG_PASSWORD_REMOVED = _UxGT("Password Removed"); + // // Filament Change screens show up to 3 lines on a 4-line display // ...or up to 2 lines on a 3-line display @@ -634,7 +647,11 @@ namespace Language_en { PROGMEM Language_Str MSG_LEVEL_X_AXIS = _UxGT("Level X Axis"); PROGMEM Language_Str MSG_AUTO_CALIBRATE = _UxGT("Auto Calibrate"); - PROGMEM Language_Str MSG_HEATER_TIMEOUT = _UxGT("Heater Timeout"); + #if ENABLED(TOUCH_UI_FTDI_EVE) + PROGMEM Language_Str MSG_HEATER_TIMEOUT = _UxGT("Idle timeout, temperature decreased. Press Okay to reheat and again to resume."); + #else + PROGMEM Language_Str MSG_HEATER_TIMEOUT = _UxGT("Heater Timeout"); + #endif PROGMEM Language_Str MSG_REHEAT = _UxGT("Reheat"); PROGMEM Language_Str MSG_REHEATING = _UxGT("Reheating..."); } diff --git a/Marlin/src/lcd/language/language_it.h b/Marlin/src/lcd/language/language_it.h index 1a5bdb22e98e..43765d7c3ac3 100644 --- a/Marlin/src/lcd/language/language_it.h +++ b/Marlin/src/lcd/language/language_it.h @@ -122,6 +122,7 @@ namespace Language_it { PROGMEM Language_Str MSG_LCD_TILTING_MESH = _UxGT("Punto inclinaz."); PROGMEM Language_Str MSG_M48_TEST = _UxGT("Test sonda M48"); PROGMEM Language_Str MSG_M48_POINT = _UxGT("Punto M48"); + PROGMEM Language_Str MSG_M48_OUT_OF_BOUNDS = _UxGT("Sonda oltre i limiti"); PROGMEM Language_Str MSG_M48_DEVIATION = _UxGT("Deviazione"); PROGMEM Language_Str MSG_IDEX_MENU = _UxGT("Modo IDEX"); PROGMEM Language_Str MSG_OFFSETS_MENU = _UxGT("Strumenti Offsets"); diff --git a/Marlin/src/lcd/lcdprint.cpp b/Marlin/src/lcd/lcdprint.cpp index c982cfe2aa86..0f7f945a9925 100644 --- a/Marlin/src/lcd/lcdprint.cpp +++ b/Marlin/src/lcd/lcdprint.cpp @@ -44,22 +44,28 @@ lcd_uint_t lcd_put_u8str_ind_P(PGM_P const pstr, const int8_t ind, PGM_P const i if (ch == '=' || ch == '~' || ch == '*') { if (ind >= 0) { if (ch == '*') { lcd_put_wchar('E'); n--; } - if (n) { lcd_put_wchar(ind + ((ch == '=') ? '0' : LCD_FIRST_TOOL)); n--; } + if (n) { + int8_t inum = ind + ((ch == '=') ? 0 : LCD_FIRST_TOOL); + if (inum >= 10) { + lcd_put_wchar('0' + (inum / 10)); n--; + inum %= 10; + } + if (n) { lcd_put_wchar('0' + inum); n--; } + } } else { PGM_P const b = ind == -2 ? GET_TEXT(MSG_CHAMBER) : GET_TEXT(MSG_BED); n -= lcd_put_u8str_max_P(b, n * (MENU_FONT_WIDTH)) / (MENU_FONT_WIDTH); } if (n) n -= lcd_put_u8str_max_P((PGM_P)p, n * (MENU_FONT_WIDTH)) / (MENU_FONT_WIDTH); - continue; } else if (ch == '$' && inStr) { n -= lcd_put_u8str_max_P(inStr, n * (MENU_FONT_WIDTH)) / (MENU_FONT_WIDTH); - continue; } - - lcd_put_wchar(ch); - n--; + else { + lcd_put_wchar(ch); + n--; + } } return n; } diff --git a/Marlin/src/lcd/lcdprint.h b/Marlin/src/lcd/lcdprint.h index 341cc4f5c21c..031d467bf947 100644 --- a/Marlin/src/lcd/lcdprint.h +++ b/Marlin/src/lcd/lcdprint.h @@ -1,3 +1,25 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + /** * @file lcdprint.h * @brief LCD print api @@ -54,8 +76,8 @@ #define INFO_FONT_HEIGHT (INFO_FONT_ASCENT + INFO_FONT_DESCENT) #define INFO_FONT_WIDTH 6 - #define SETCURSOR(col, row) lcd_moveto(col * (MENU_FONT_WIDTH), (row + 1) * (MENU_FONT_HEIGHT)) - #define SETCURSOR_RJ(len, row) lcd_moveto(LCD_PIXEL_WIDTH - (len) * (MENU_FONT_WIDTH), (row + 1) * (MENU_FONT_HEIGHT)) + #define SETCURSOR(col, row) lcd_moveto((col) * (MENU_FONT_WIDTH), ((row) + 1) * (MENU_FONT_HEIGHT)) + #define SETCURSOR_RJ(len, row) lcd_moveto(LCD_PIXEL_WIDTH - (len) * (MENU_FONT_WIDTH), ((row) + 1) * (MENU_FONT_HEIGHT)) #else @@ -72,11 +94,13 @@ #define LCD_PIXEL_WIDTH LCD_WIDTH #define LCD_PIXEL_HEIGHT LCD_HEIGHT - #define SETCURSOR(col, row) lcd_moveto(col, row) - #define SETCURSOR_RJ(len, row) lcd_moveto(LCD_WIDTH - (len), row) + #define SETCURSOR(col, row) lcd_moveto(col, row) + #define SETCURSOR_RJ(len, row) SETCURSOR(LCD_WIDTH - (len), row) #endif +#define SETCURSOR_X(col) SETCURSOR(col, _lcdLineNr) +#define SETCURSOR_X_RJ(len) SETCURSOR_RJ(len, _lcdLineNr) #define START_OF_UTF8_CHAR(C) (((C) & 0xC0u) != 0x80u) int lcd_glyph_height(); diff --git a/Marlin/src/lcd/menu/menu.cpp b/Marlin/src/lcd/menu/menu.cpp index 2a9e4766d846..e6739a135cbf 100644 --- a/Marlin/src/lcd/menu/menu.cpp +++ b/Marlin/src/lcd/menu/menu.cpp @@ -86,7 +86,7 @@ void MarlinUI::save_previous_screen() { void MarlinUI::_goto_previous_screen(TERN_(TURBO_BACK_MENU_ITEM, const bool is_back/*=false*/)) { TERN(TURBO_BACK_MENU_ITEM,,constexpr bool is_back = false); - TERN_(TOUCH_BUTTONS, on_edit_screen = false); + TERN_(HAS_TOUCH_XPT2046, on_edit_screen = false); if (screen_history_depth > 0) { menuPosition &sh = screen_history[--screen_history_depth]; goto_screen(sh.menu_function, @@ -99,12 +99,6 @@ void MarlinUI::_goto_previous_screen(TERN_(TURBO_BACK_MENU_ITEM, const bool is_b return_to_status(); } -//////////////////////////////////////////// -/////////// Common Menu Actions //////////// -//////////////////////////////////////////// - -void MenuItem_gcode::action(PGM_P const, PGM_P const pgcode) { queue.inject_P(pgcode); } - //////////////////////////////////////////// /////////// Menu Editing Actions /////////// //////////////////////////////////////////// @@ -133,7 +127,7 @@ void MenuItem_gcode::action(PGM_P const, PGM_P const pgcode) { queue.inject_P(pg * MenuItem_int3::draw(encoderLine == _thisItemNr, _lcdLineNr, plabel, &feedrate_percentage, 10, 999) */ void MenuEditItemBase::edit_screen(strfunc_t strfunc, loadfunc_t loadfunc) { - TERN_(TOUCH_BUTTONS, ui.repeat_delay = BUTTON_DELAY_EDIT); + TERN_(HAS_TOUCH_XPT2046, ui.repeat_delay = BUTTON_DELAY_EDIT); if (int32_t(ui.encoderPosition) < 0) ui.encoderPosition = 0; if (int32_t(ui.encoderPosition) > maxEditValue) ui.encoderPosition = maxEditValue; if (ui.should_draw()) @@ -155,7 +149,7 @@ void MenuEditItemBase::goto_edit_screen( const screenFunc_t cb, // Callback after edit const bool le // Flag to call cb() during editing ) { - TERN_(TOUCH_BUTTONS, ui.on_edit_screen = true); + TERN_(HAS_TOUCH_XPT2046, ui.on_edit_screen = true); ui.screen_changed = true; ui.save_previous_screen(); ui.refresh(); @@ -169,35 +163,6 @@ void MenuEditItemBase::goto_edit_screen( liveEdit = le; } -// TODO: Remove these but test build size with and without -#define DEFINE_MENU_EDIT_ITEM(NAME) template class TMenuEditItem - -DEFINE_MENU_EDIT_ITEM(percent); // 100% right-justified -DEFINE_MENU_EDIT_ITEM(int3); // 123, -12 right-justified -DEFINE_MENU_EDIT_ITEM(int4); // 1234, -123 right-justified -DEFINE_MENU_EDIT_ITEM(int8); // 123, -12 right-justified -DEFINE_MENU_EDIT_ITEM(uint8); // 123 right-justified -DEFINE_MENU_EDIT_ITEM(uint16_3); // 123 right-justified -DEFINE_MENU_EDIT_ITEM(uint16_4); // 1234 right-justified -DEFINE_MENU_EDIT_ITEM(uint16_5); // 12345 right-justified -DEFINE_MENU_EDIT_ITEM(float3); // 123 right-justified -DEFINE_MENU_EDIT_ITEM(float42_52); // _2.34, 12.34, -2.34 or 123.45, -23.45 -DEFINE_MENU_EDIT_ITEM(float43); // 1.234 -DEFINE_MENU_EDIT_ITEM(float5); // 12345 right-justified -DEFINE_MENU_EDIT_ITEM(float5_25); // 12345 right-justified (25 increment) -DEFINE_MENU_EDIT_ITEM(float51); // 1234.5 right-justified -DEFINE_MENU_EDIT_ITEM(float31sign); // +12.3 -DEFINE_MENU_EDIT_ITEM(float41sign); // +123.4 -DEFINE_MENU_EDIT_ITEM(float51sign); // +1234.5 -DEFINE_MENU_EDIT_ITEM(float52sign); // +123.45 -DEFINE_MENU_EDIT_ITEM(long5); // 12345 right-justified -DEFINE_MENU_EDIT_ITEM(long5_25); // 12345 right-justified (25 increment) - -void MenuItem_bool::action(PGM_P const, bool * const ptr, screenFunc_t callback) { - *ptr ^= true; ui.refresh(); - if (callback) (*callback)(); -} - //////////////////////////////////////////// ///////////////// Menu Tree //////////////// //////////////////////////////////////////// @@ -214,7 +179,7 @@ bool printer_busy() { void MarlinUI::goto_screen(screenFunc_t screen, const uint16_t encoder/*=0*/, const uint8_t top/*=0*/, const uint8_t items/*=0*/) { if (currentScreen != screen) { - TERN_(TOUCH_BUTTONS, repeat_delay = BUTTON_DELAY_MENU); + TERN_(HAS_TOUCH_XPT2046, repeat_delay = BUTTON_DELAY_MENU); TERN_(LCD_SET_PROGRESS_MANUALLY, progress_reset()); @@ -412,7 +377,10 @@ void MenuItem_confirm::select_screen( const bool ui_selection = ui.update_selection(), got_click = ui.use_click(); if (got_click || ui.should_draw()) { draw_select_screen(yes, no, ui_selection, pref, string, suff); - if (got_click) { ui_selection ? yesFunc() : noFunc(); } + if (got_click) { + selectFunc_t callFunc = ui_selection ? yesFunc : noFunc; + if (callFunc) callFunc(); else ui.goto_previous_screen(); + } ui.defer_status_screen(); } } diff --git a/Marlin/src/lcd/menu/menu.h b/Marlin/src/lcd/menu/menu.h index e8edea76d16b..d69214446481 100644 --- a/Marlin/src/lcd/menu/menu.h +++ b/Marlin/src/lcd/menu/menu.h @@ -43,14 +43,6 @@ typedef void (*selectFunc_t)(); void _lcd_zoffset_overlay_gfx(const float zvalue); #endif -#if HAS_BED_PROBE - #if Z_PROBE_OFFSET_RANGE_MIN >= -9 && Z_PROBE_OFFSET_RANGE_MAX <= 9 - #define LCD_Z_OFFSET_TYPE float43 // Values from -9.000 to +9.000 - #else - #define LCD_Z_OFFSET_TYPE float42_52 // Values from -99.99 to 99.99 - #endif -#endif - #if ENABLED(BABYSTEP_ZPROBE_OFFSET) && Z_PROBE_OFFSET_RANGE_MIN >= -9 && Z_PROBE_OFFSET_RANGE_MAX <= 9 #define BABYSTEP_TO_STR(N) ftostr43sign(N) #elif ENABLED(BABYSTEPPING) @@ -81,13 +73,24 @@ class MenuItemBase { } }; +// STATIC_ITEM(LABEL,...) class MenuItem_static : public MenuItemBase { public: - static void draw(const uint8_t row, PGM_P const pstr, const uint8_t style=SS_DEFAULT, const char * const valstr=nullptr); + static void draw(const uint8_t row, PGM_P const pstr, const uint8_t style=SS_DEFAULT, const char * const vstr=nullptr); +}; + +// BACK_ITEM(LABEL) +class MenuItem_back : public MenuItemBase { + public: + FORCE_INLINE static void draw(const bool sel, const uint8_t row, PGM_P const pstr) { + _draw(sel, row, pstr, LCD_STR_UPLEVEL[0], LCD_STR_UPLEVEL[0]); + } + // Back Item action goes back one step in history + FORCE_INLINE static void action(PGM_P const=nullptr) { ui.go_back(); } }; -// CONFIRM_ITEM(LABEL,Y,N,FY,FN,V...), -// YESNO_ITEM(LABEL,FY,FN,V...) +// CONFIRM_ITEM(LABEL,Y,N,FY,FN,...), +// YESNO_ITEM(LABEL,FY,FN,...) class MenuItem_confirm : public MenuItemBase { public: FORCE_INLINE static void draw(const bool sel, const uint8_t row, PGM_P const pstr, ...) { @@ -123,60 +126,6 @@ class MenuItem_confirm : public MenuItemBase { } }; -// BACK_ITEM(LABEL) -class MenuItem_back : public MenuItemBase { - public: - FORCE_INLINE static void draw(const bool sel, const uint8_t row, PGM_P const pstr) { - _draw(sel, row, pstr, LCD_STR_UPLEVEL[0], LCD_STR_UPLEVEL[0]); - } - // Back Item action goes back one step in history - FORCE_INLINE static void action(PGM_P const=nullptr) { ui.go_back(); } -}; - -// SUBMENU(LABEL, screen_handler) -class MenuItem_submenu : public MenuItemBase { - public: - FORCE_INLINE static void draw(const bool sel, const uint8_t row, PGM_P const pstr, ...) { - _draw(sel, row, pstr, '>', LCD_STR_ARROW_RIGHT[0]); - } - static inline void action(PGM_P const, const screenFunc_t func) { ui.save_previous_screen(); ui.goto_screen(func); } -}; - -// Any menu item that invokes an immediate action -class MenuItem_button : public MenuItemBase { - public: - // Button-y Items are selectable lines with no other indicator - static inline void draw(const bool sel, const uint8_t row, PGM_P const pstr, ...) { - _draw(sel, row, pstr, '>', ' '); - } -}; - -// GCODES_ITEM(LABEL, GCODES) -class MenuItem_gcode : public MenuItem_button { - public: - FORCE_INLINE static void draw(const bool sel, const uint8_t row, PGM_P const pstr, ...) { - _draw(sel, row, pstr, '>', ' '); - } - static void action(PGM_P const, const char * const pgcode); - static inline void action(PGM_P const pstr, const uint8_t, const char * const pgcode) { action(pstr, pgcode); } -}; - -// ACTION_ITEM(LABEL, FUNC) -class MenuItem_function : public MenuItem_button { - public: - //static inline void action(PGM_P const, const uint8_t, const menuAction_t func) { (*func)(); }; - static inline void action(PGM_P const, const menuAction_t func) { (*func)(); }; -}; - -#if ENABLED(SDSUPPORT) - class CardReader; - class MenuItem_sdbase { - public: - // Implemented for HD44780 and DOGM - static void draw(const bool sel, const uint8_t row, PGM_P const pstr, CardReader &theCard, const bool isDir); - }; -#endif - //////////////////////////////////////////// ///////////// Edit Menu Items ////////////// //////////////////////////////////////////// @@ -233,358 +182,15 @@ class MenuEditItemBase : public MenuItemBase { static inline void draw_edit_screen(const char* const value) { draw_edit_screen(editLabel, value); } }; -// Template for specific Menu Edit Item Types -template -class TMenuEditItem : MenuEditItemBase { - private: - typedef typename NAME::type_t type_t; - static inline float scale(const float value) { return NAME::scale(value); } - static inline float unscale(const float value) { return NAME::unscale(value); } - static const char* to_string(const int32_t value) { return NAME::strfunc(unscale(value)); } - static void load(void *ptr, const int32_t value) { *((type_t*)ptr) = unscale(value); } - public: - FORCE_INLINE static void draw(const bool sel, const uint8_t row, PGM_P const pstr, type_t * const data, ...) { - MenuEditItemBase::draw(sel, row, pstr, NAME::strfunc(*(data))); - } - FORCE_INLINE static void draw(const bool sel, const uint8_t row, PGM_P const pstr, type_t (*pget)(), ...) { - MenuEditItemBase::draw(sel, row, pstr, NAME::strfunc(pget())); - } - // Edit screen for this type of item - static void edit_screen() { MenuEditItemBase::edit_screen(to_string, load); } - static void action( - PGM_P const pstr, // Edit label - type_t * const ptr, // Value pointer - const type_t minValue, // Value range - const type_t maxValue, - const screenFunc_t callback=nullptr, // Value update callback - const bool live=false // Callback during editing - ) { - // Make sure minv and maxv fit within int32_t - const int32_t minv = _MAX(scale(minValue), INT32_MIN), - maxv = _MIN(scale(maxValue), INT32_MAX); - goto_edit_screen(pstr, ptr, minv, maxv - minv, scale(*ptr) - minv, - edit_screen, callback, live); - } -}; - -// Provide a set of Edit Item Types which encompass a primitive -// type, a string function, and a scale factor for edit and display. -// These items call the Edit Item draw method passing the prepared string. -#define __DOFIXfloat PROBE() -#define _DOFIX(TYPE,V) TYPE(TERN(IS_PROBE(__DOFIX##TYPE),FIXFLOAT(V),(V))) -#define DEFINE_MENU_EDIT_ITEM_TYPE(NAME, TYPE, STRFUNC, SCALE, V...) \ - struct MenuEditItemInfo_##NAME { \ - typedef TYPE type_t; \ - static inline float scale(const float value) { return value * (SCALE) + (V+0); } \ - static inline float unscale(const float value) { return value / (SCALE) + (V+0); } \ - static inline const char* strfunc(const float value) { return STRFUNC(_DOFIX(TYPE,value)); } \ - }; \ - typedef TMenuEditItem MenuItem_##NAME - -// NAME TYPE STRFUNC SCALE +ROUND -DEFINE_MENU_EDIT_ITEM_TYPE(percent ,uint8_t ,ui8tostr4pctrj , 100.f/255.f, 0.5f); // 100% right-justified -DEFINE_MENU_EDIT_ITEM_TYPE(int3 ,int16_t ,i16tostr3rj , 1 ); // 123, -12 right-justified -DEFINE_MENU_EDIT_ITEM_TYPE(int4 ,int16_t ,i16tostr4signrj , 1 ); // 1234, -123 right-justified -DEFINE_MENU_EDIT_ITEM_TYPE(int8 ,int8_t ,i8tostr3rj , 1 ); // 123, -12 right-justified -DEFINE_MENU_EDIT_ITEM_TYPE(uint8 ,uint8_t ,ui8tostr3rj , 1 ); // 123 right-justified -DEFINE_MENU_EDIT_ITEM_TYPE(uint16_3 ,uint16_t ,ui16tostr3rj , 1 ); // 123 right-justified -DEFINE_MENU_EDIT_ITEM_TYPE(uint16_4 ,uint16_t ,ui16tostr4rj , 0.1f ); // 1234 right-justified -DEFINE_MENU_EDIT_ITEM_TYPE(uint16_5 ,uint16_t ,ui16tostr5rj , 0.01f ); // 12345 right-justified -DEFINE_MENU_EDIT_ITEM_TYPE(float3 ,float ,ftostr3 , 1 ); // 123 right-justified -DEFINE_MENU_EDIT_ITEM_TYPE(float42_52 ,float ,ftostr42_52 , 100 ); // _2.34, 12.34, -2.34 or 123.45, -23.45 -DEFINE_MENU_EDIT_ITEM_TYPE(float43 ,float ,ftostr43sign ,1000 ); // -1.234, _1.234, +1.234 -DEFINE_MENU_EDIT_ITEM_TYPE(float5 ,float ,ftostr5rj , 1 ); // 12345 right-justified -DEFINE_MENU_EDIT_ITEM_TYPE(float5_25 ,float ,ftostr5rj , 0.04f ); // 12345 right-justified (25 increment) -DEFINE_MENU_EDIT_ITEM_TYPE(float51 ,float ,ftostr51rj , 10 ); // 1234.5 right-justified -DEFINE_MENU_EDIT_ITEM_TYPE(float31sign ,float ,ftostr31sign , 10 ); // +12.3 -DEFINE_MENU_EDIT_ITEM_TYPE(float41sign ,float ,ftostr41sign , 10 ); // +123.4 -DEFINE_MENU_EDIT_ITEM_TYPE(float51sign ,float ,ftostr51sign , 10 ); // +1234.5 -DEFINE_MENU_EDIT_ITEM_TYPE(float52sign ,float ,ftostr52sign , 100 ); // +123.45 -DEFINE_MENU_EDIT_ITEM_TYPE(long5 ,uint32_t ,ftostr5rj , 0.01f ); // 12345 right-justified -DEFINE_MENU_EDIT_ITEM_TYPE(long5_25 ,uint32_t ,ftostr5rj , 0.04f ); // 12345 right-justified (25 increment) - -class MenuItem_bool : public MenuEditItemBase { - public: - FORCE_INLINE static void draw(const bool sel, const uint8_t row, PGM_P const pstr, const bool onoff) { - MenuEditItemBase::draw(sel, row, pstr, onoff ? GET_TEXT(MSG_LCD_ON) : GET_TEXT(MSG_LCD_OFF), true); - } - FORCE_INLINE static void draw(const bool sel, const uint8_t row, PGM_P const pstr, bool * const data, ...) { - draw(sel, row, pstr, *data); - } - FORCE_INLINE static void draw(const bool sel, const uint8_t row, PGM_P const pstr, PGM_P const, bool (*pget)(), ...) { - draw(sel, row, pstr, pget()); - } - static void action(PGM_P const pstr, bool * const ptr, const screenFunc_t callbackFunc=nullptr); -}; - -//////////////////////////////////////////// -//////////// Menu System Macros //////////// -//////////////////////////////////////////// - -/** - * Marlin's native menu screens work by running a loop from the top visible line index - * to the bottom visible line index (according to how much the screen has been scrolled). - * This complete loop is done on every menu screen call. - * - * The menu system is highly dynamic, so it doesn't know ahead of any menu loop which - * items will be visible or hidden, so menu items don't have a fixed index number. - * - * During the loop, each menu item checks to see if its line is the current one. If it is, - * then it checks to see if a click has arrived so it can run its action. If the action - * doesn't redirect to another screen then the menu item calls its draw method. - * - * Menu item add-ons can do whatever they like. - * - * This mixture of drawing and processing inside a loop has the advantage that a single - * line can be used to represent a menu item, and that is the rationale for this design. - * - * One of the pitfalls of this method is that DOGM displays call the screen handler 2x, - * 4x, or 8x per screen update to draw just one segment of the screen. As a result, any - * menu item that exists in two screen segments is drawn and processed twice per screen - * update. With each item processed 5, 10, 20, or 40 times the logic has to be simple. - * - * To avoid repetition and side-effects, function calls for testing menu item conditions - * should be done before the menu loop (START_MENU / START_SCREEN). - */ - -/** - * SCREEN_OR_MENU_LOOP generates header code for a screen or menu - * - * encoderTopLine is the top menu line to display - * _lcdLineNr is the index of the LCD line (e.g., 0-3) - * _menuLineNr is the menu item to draw and process - * _thisItemNr is the index of each MENU_ITEM or STATIC_ITEM - */ -#define SCREEN_OR_MENU_LOOP(IS_MENU) \ - scroll_screen(IS_MENU ? 1 : LCD_HEIGHT, IS_MENU); \ - int8_t _menuLineNr = encoderTopLine, _thisItemNr = 0; \ - bool _skipStatic = IS_MENU; UNUSED(_thisItemNr); \ - for (int8_t _lcdLineNr = 0; _lcdLineNr < LCD_HEIGHT; _lcdLineNr++, _menuLineNr++) { \ - _thisItemNr = 0 - -/** - * START_SCREEN Opening code for a screen having only static items. - * Do simplified scrolling of the entire screen. - * - * START_MENU Opening code for a screen with menu items. - * Scroll as-needed to keep the selected line in view. - */ -#define START_SCREEN() SCREEN_OR_MENU_LOOP(false) -#define START_MENU() SCREEN_OR_MENU_LOOP(true) -#define NEXT_ITEM() (++_thisItemNr) -#define SKIP_ITEM() NEXT_ITEM() -#define END_SCREEN() } screen_items = _thisItemNr -#define END_MENU() END_SCREEN(); UNUSED(_skipStatic) - -#if ENABLED(ENCODER_RATE_MULTIPLIER) - #define ENCODER_RATE_MULTIPLY(F) (ui.encoderRateMultiplierEnabled = F) - #define _MENU_ITEM_MULTIPLIER_CHECK(USE_MULTIPLIER) do{ if (USE_MULTIPLIER) ui.enable_encoder_multiplier(true); }while(0) - //#define ENCODER_RATE_MULTIPLIER_DEBUG // If defined, output the encoder steps per second value -#else - #define ENCODER_RATE_MULTIPLY(F) NOOP - #define _MENU_ITEM_MULTIPLIER_CHECK(USE_MULTIPLIER) +#if ENABLED(SDSUPPORT) + class CardReader; + class MenuItem_sdbase { + public: + // Implemented for HD44780 and DOGM + static void draw(const bool sel, const uint8_t row, PGM_P const pstr, CardReader &theCard, const bool isDir); + }; #endif -/** - * MENU_ITEM generates draw & handler code for a menu item, potentially calling: - * - * MenuItem_::draw(sel, row, label, arg3...) - * MenuItem_::action(arg3...) - * - * Examples: - * BACK_ITEM(MSG_INFO_SCREEN) - * MenuItem_back::action(plabel, ...) - * MenuItem_back::draw(sel, row, plabel, ...) - * - * ACTION_ITEM(MSG_PAUSE_PRINT, lcd_sdcard_pause) - * MenuItem_function::action(plabel, lcd_sdcard_pause) - * MenuItem_function::draw(sel, row, plabel, lcd_sdcard_pause) - * - * EDIT_ITEM(int3, MSG_SPEED, &feedrate_percentage, 10, 999) - * MenuItem_int3::action(plabel, &feedrate_percentage, 10, 999) - * MenuItem_int3::draw(sel, row, plabel, &feedrate_percentage, 10, 999) - */ - -#define _MENU_INNER_P(TYPE, USE_MULTIPLIER, PLABEL, V...) do { \ - PGM_P const plabel = PLABEL; \ - if (encoderLine == _thisItemNr && ui.use_click()) { \ - _MENU_ITEM_MULTIPLIER_CHECK(USE_MULTIPLIER); \ - MenuItem_##TYPE::action(plabel, ##V); \ - if (ui.screen_changed) return; \ - } \ - if (ui.should_draw()) \ - MenuItem_##TYPE::draw \ - (encoderLine == _thisItemNr, _lcdLineNr, plabel, ##V); \ -}while(0) - -#define _MENU_ITEM_P(TYPE, V...) do { \ - _skipStatic = false; \ - if (_menuLineNr == _thisItemNr) \ - _MENU_INNER_P(TYPE, ##V); \ - NEXT_ITEM(); \ -}while(0) - -// Indexed items set a global index value and optional data -#define _MENU_ITEM_N_S_P(TYPE, N, S, V...) do{ \ - _skipStatic = false; \ - if (_menuLineNr == _thisItemNr) { \ - MenuItemBase::init(N, S); \ - _MENU_INNER_P(TYPE, ##V); \ - } \ - NEXT_ITEM(); \ -}while(0) - -// Indexed items set a global index value -#define _MENU_ITEM_N_P(TYPE, N, V...) do{ \ - _skipStatic = false; \ - if (_menuLineNr == _thisItemNr) { \ - MenuItemBase::itemIndex = N; \ - _MENU_INNER_P(TYPE, ##V); \ - } \ - NEXT_ITEM(); \ -}while(0) - -// Items with a unique string -#define _MENU_ITEM_S_P(TYPE, S, V...) do{ \ - _skipStatic = false; \ - if (_menuLineNr == _thisItemNr) { \ - MenuItemBase::itemString = S; \ - _MENU_INNER_P(TYPE, ##V); \ - } \ - NEXT_ITEM(); \ -}while(0) - -// STATIC_ITEM draws a styled string with no highlight. -// Parameters: label [, style [, char *value] ] - -#define STATIC_ITEM_INNER_P(PLABEL, V...) do{ \ - if (_skipStatic && encoderLine <= _thisItemNr) { \ - ui.encoderPosition += ENCODER_STEPS_PER_MENU_ITEM; \ - ++encoderLine; \ - } \ - if (ui.should_draw()) \ - MenuItem_static::draw(_lcdLineNr, PLABEL, ##V); \ -} while(0) - -#define STATIC_ITEM_P(PLABEL, V...) do{ \ - if (_menuLineNr == _thisItemNr) \ - STATIC_ITEM_INNER_P(PLABEL, ##V); \ - NEXT_ITEM(); \ -} while(0) - -#define STATIC_ITEM_N_P(PLABEL, N, V...) do{ \ - if (_menuLineNr == _thisItemNr) { \ - MenuItemBase::init(N); \ - STATIC_ITEM_INNER_P(PLABEL, ##V); \ - } \ - NEXT_ITEM(); \ -}while(0) - -#define STATIC_ITEM(LABEL, V...) STATIC_ITEM_P(GET_TEXT(LABEL), ##V) -#define STATIC_ITEM_N(LABEL, N, V...) STATIC_ITEM_N_P(GET_TEXT(LABEL), ##V) - -#define MENU_ITEM_N_S_P(TYPE, N, S, PLABEL, V...) _MENU_ITEM_N_S_P(TYPE, N, S, false, PLABEL, ##V) -#define MENU_ITEM_N_S(TYPE, N, S, LABEL, V...) MENU_ITEM_N_S_P(TYPE, N, S, GET_TEXT(LABEL), ##V) -#define MENU_ITEM_S_P(TYPE, S, PLABEL, V...) _MENU_ITEM_S_P(TYPE, S, false, PLABEL, ##V) -#define MENU_ITEM_S(TYPE, S, LABEL, V...) MENU_ITEM_S_P(TYPE, S, GET_TEXT(LABEL), ##V) -#define MENU_ITEM_N_P(TYPE, N, PLABEL, V...) _MENU_ITEM_N_P(TYPE, N, false, PLABEL, ##V) -#define MENU_ITEM_N(TYPE, N, LABEL, V...) MENU_ITEM_N_P(TYPE, N, GET_TEXT(LABEL), ##V) -#define MENU_ITEM_P(TYPE, PLABEL, V...) _MENU_ITEM_P(TYPE, false, PLABEL, ##V) -#define MENU_ITEM(TYPE, LABEL, V...) MENU_ITEM_P(TYPE, GET_TEXT(LABEL), ##V) - -#define BACK_ITEM(LABEL) MENU_ITEM(back, LABEL) - -#define ACTION_ITEM_N_S_P(N, S, PLABEL, ACTION) MENU_ITEM_N_S_P(function, N, S, PLABEL, ACTION) -#define ACTION_ITEM_N_S(N, S, LABEL, ACTION) ACTION_ITEM_N_S_P(N, S, GET_TEXT(LABEL), ACTION) -#define ACTION_ITEM_S_P(S, PLABEL, ACTION) MENU_ITEM_S_P(function, S, PLABEL, ACTION) -#define ACTION_ITEM_S(S, LABEL, ACTION) ACTION_ITEM_S_P(S, GET_TEXT(LABEL), ACTION) -#define ACTION_ITEM_N_P(N, PLABEL, ACTION) MENU_ITEM_N_P(function, N, PLABEL, ACTION) -#define ACTION_ITEM_N(N, LABEL, ACTION) ACTION_ITEM_N_P(N, GET_TEXT(LABEL), ACTION) -#define ACTION_ITEM_P(PLABEL, ACTION) MENU_ITEM_P(function, PLABEL, ACTION) -#define ACTION_ITEM(LABEL, ACTION) ACTION_ITEM_P(GET_TEXT(LABEL), ACTION) - -#define GCODES_ITEM_N_S_P(N, S, PLABEL, GCODES) MENU_ITEM_N_S_P(gcode, N, S, PLABEL, GCODES) -#define GCODES_ITEM_N_S(N, S, LABEL, GCODES) GCODES_ITEM_N_S_P(N, S, GET_TEXT(LABEL), GCODES) -#define GCODES_ITEM_S_P(S, PLABEL, GCODES) MENU_ITEM_S_P(gcode, S, PLABEL, GCODES) -#define GCODES_ITEM_S(S, LABEL, GCODES) GCODES_ITEM_S_P(S, GET_TEXT(LABEL), GCODES) -#define GCODES_ITEM_N_P(N, PLABEL, GCODES) MENU_ITEM_N_P(gcode, N, PLABEL, GCODES) -#define GCODES_ITEM_N(N, LABEL, GCODES) GCODES_ITEM_N_P(N, GET_TEXT(LABEL), GCODES) -#define GCODES_ITEM_P(PLABEL, GCODES) MENU_ITEM_P(gcode, PLABEL, GCODES) -#define GCODES_ITEM(LABEL, GCODES) GCODES_ITEM_P(GET_TEXT(LABEL), GCODES) - -#define SUBMENU_N_S_P(N, S, PLABEL, DEST) MENU_ITEM_N_S_P(submenu, N, S, PLABEL, DEST) -#define SUBMENU_N_S(N, S, LABEL, DEST) SUBMENU_N_S_P(N, S, GET_TEXT(LABEL), DEST) -#define SUBMENU_S_P(S, PLABEL, DEST) MENU_ITEM_S_P(submenu, S, PLABEL, DEST) -#define SUBMENU_S(S, LABEL, DEST) SUBMENU_S_P(S, GET_TEXT(LABEL), DEST) -#define SUBMENU_N_P(N, PLABEL, DEST) MENU_ITEM_N_P(submenu, N, PLABEL, DEST) -#define SUBMENU_N(N, LABEL, DEST) SUBMENU_N_P(N, GET_TEXT(LABEL), DEST) -#define SUBMENU_P(PLABEL, DEST) MENU_ITEM_P(submenu, PLABEL, DEST) -#define SUBMENU(LABEL, DEST) SUBMENU_P(GET_TEXT(LABEL), DEST) - -#define EDIT_ITEM_N_S_P(TYPE, N, S, PLABEL, V...) MENU_ITEM_N_S_P(TYPE, N, S, PLABEL, ##V) -#define EDIT_ITEM_N_S(TYPE, N, S, LABEL, V...) EDIT_ITEM_N_S_P(TYPE, N, S, GET_TEXT(LABEL), ##V) -#define EDIT_ITEM_S_P(TYPE, S, PLABEL, V...) MENU_ITEM_S_P(TYPE, S, PLABEL, ##V) -#define EDIT_ITEM_S(TYPE, S, LABEL, V...) EDIT_ITEM_S_P(TYPE, S, GET_TEXT(LABEL), ##V) -#define EDIT_ITEM_N_P(TYPE, N, PLABEL, V...) MENU_ITEM_N_P(TYPE, N, PLABEL, ##V) -#define EDIT_ITEM_N(TYPE, N, LABEL, V...) EDIT_ITEM_N_P(TYPE, N, GET_TEXT(LABEL), ##V) -#define EDIT_ITEM_P(TYPE, PLABEL, V...) MENU_ITEM_P(TYPE, PLABEL, ##V) -#define EDIT_ITEM(TYPE, LABEL, V...) EDIT_ITEM_P(TYPE, GET_TEXT(LABEL), ##V) - -#define EDIT_ITEM_FAST_N_S_P(TYPE, N, S, PLABEL, V...) _MENU_ITEM_N_S_P(TYPE, N, S, true, PLABEL, ##V) -#define EDIT_ITEM_FAST_N_S(TYPE, N, S, LABEL, V...) EDIT_ITEM_FAST_N_S_P(TYPE, N, S, true, GET_TEXT(LABEL), ##V) -#define EDIT_ITEM_FAST_S_P(TYPE, S, PLABEL, V...) _MENU_ITEM_S_P(TYPE, S, true, PLABEL, ##V) -#define EDIT_ITEM_FAST_S(TYPE, S, LABEL, V...) EDIT_ITEM_FAST_S_P(TYPE, S, GET_TEXT(LABEL), ##V) -#define EDIT_ITEM_FAST_N_P(TYPE, N, PLABEL, V...) _MENU_ITEM_N_P(TYPE, N, true, PLABEL, ##V) -#define EDIT_ITEM_FAST_N(TYPE, N, LABEL, V...) EDIT_ITEM_FAST_N_P(TYPE, N, GET_TEXT(LABEL), ##V) -#define EDIT_ITEM_FAST_P(TYPE, PLABEL, V...) _MENU_ITEM_P(TYPE, true, PLABEL, ##V) -#define EDIT_ITEM_FAST(TYPE, LABEL, V...) EDIT_ITEM_FAST_P(TYPE, GET_TEXT(LABEL), ##V) - -#define _CONFIRM_ITEM_INNER_P(PLABEL, V...) do { \ - if (encoderLine == _thisItemNr && ui.use_click()) { \ - ui.goto_screen([]{MenuItem_confirm::select_screen(V);}); \ - return; \ - } \ - if (ui.should_draw()) MenuItem_confirm::draw \ - (encoderLine == _thisItemNr, _lcdLineNr, PLABEL, ##V); \ -}while(0) - -// Indexed items set a global index value and optional data -#define _CONFIRM_ITEM_P(PLABEL, V...) do { \ - _skipStatic = false; \ - if (_menuLineNr == _thisItemNr) \ - _CONFIRM_ITEM_INNER_P(PLABEL, ##V); \ - NEXT_ITEM(); \ -}while(0) - -// Indexed items set a global index value -#define _CONFIRM_ITEM_N_S_P(N, S, V...) do{ \ - _skipStatic = false; \ - if (_menuLineNr == _thisItemNr) { \ - MenuItemBase::init(N, S); \ - _CONFIRM_ITEM_INNER_P(TYPE, ##V); \ - } \ - NEXT_ITEM(); \ -}while(0) - -// Indexed items set a global index value -#define _CONFIRM_ITEM_N_P(N, V...) _CONFIRM_ITEM_N_S_P(N, nullptr, V) - -#define CONFIRM_ITEM_P(PLABEL,A,B,V...) _CONFIRM_ITEM_P(PLABEL, GET_TEXT(A), GET_TEXT(B), ##V) -#define CONFIRM_ITEM(LABEL, V...) CONFIRM_ITEM_P(GET_TEXT(LABEL), ##V) - -#define YESNO_ITEM_P(PLABEL, V...) _CONFIRM_ITEM_P(PLABEL, ##V) -#define YESNO_ITEM(LABEL, V...) YESNO_ITEM_P(GET_TEXT(LABEL), ##V) - -#define CONFIRM_ITEM_N_S_P(N,S,PLABEL,A,B,V...) _CONFIRM_ITEM_N_S_P(N, S, PLABEL, GET_TEXT(A), GET_TEXT(B), ##V) -#define CONFIRM_ITEM_N_S(N,S,LABEL,V...) CONFIRM_ITEM_N_S_P(N, S, GET_TEXT(LABEL), ##V) -#define CONFIRM_ITEM_N_P(N,PLABEL,A,B,V...) _CONFIRM_ITEM_N_P(N, PLABEL, GET_TEXT(A), GET_TEXT(B), ##V) -#define CONFIRM_ITEM_N(N,LABEL, V...) CONFIRM_ITEM_N_P(N, GET_TEXT(LABEL), ##V) - -#define YESNO_ITEM_N_S_P(N,S,PLABEL, V...) _CONFIRM_ITEM_N_S_P(N, S, PLABEL, ##V) -#define YESNO_ITEM_N_S(N,S,LABEL, V...) YESNO_ITEM_N_S_P(N, S, GET_TEXT(LABEL), ##V) -#define YESNO_ITEM_N_P(N,PLABEL, V...) _CONFIRM_ITEM_N_P(N, PLABEL, ##V) -#define YESNO_ITEM_N(N,LABEL, V...) YESNO_ITEM_N_P(N, GET_TEXT(LABEL), ##V) - //////////////////////////////////////////// /////////////// Menu Screens /////////////// //////////////////////////////////////////// @@ -596,15 +202,6 @@ void menu_move(); void menu_media(); #endif -// First Fan Speed title in "Tune" and "Control>Temperature" menus -#if HAS_FAN && HAS_FAN0 - #if FAN_COUNT > 1 - #define FAN_SPEED_1_SUFFIX " 1" - #else - #define FAN_SPEED_1_SUFFIX "" - #endif -#endif - //////////////////////////////////////////// //////// Menu Item Helper Functions //////// //////////////////////////////////////////// @@ -622,10 +219,6 @@ void _lcd_draw_homing(); void _lcd_zoffset_overlay_gfx(const float zvalue); #endif -#if ENABLED(LEVEL_BED_CORNERS) - void _lcd_level_bed_corners(); -#endif - #if ENABLED(LCD_BED_LEVELING) || (HAS_LEVELING && DISABLED(SLIM_LCD_MENUS)) void _lcd_toggle_bed_leveling(); #endif @@ -649,6 +242,6 @@ void _lcd_draw_homing(); #endif -#if ENABLED(POWER_LOSS_RECOVERY) - void menu_job_recovery(); +#if ENABLED(TOUCH_SCREEN_CALIBRATION) + void touch_screen_calibration(); #endif diff --git a/Marlin/src/lcd/menu/menu_addon.h b/Marlin/src/lcd/menu/menu_addon.h index c276c8865be2..73e7061bf32c 100644 --- a/Marlin/src/lcd/menu/menu_addon.h +++ b/Marlin/src/lcd/menu/menu_addon.h @@ -23,8 +23,11 @@ #include "../lcdprint.h" -#define MENU_ITEM_ADDON_START(X) do{ \ +#define _MENU_ITEM_ADDON_START(N,X) do{ \ if (ui.should_draw() && _menuLineNr == _thisItemNr - 1) { \ - SETCURSOR(X, _lcdLineNr) + N(X) + +#define MENU_ITEM_ADDON_START(X) _MENU_ITEM_ADDON_START(SETCURSOR_X, X) +#define MENU_ITEM_ADDON_START_RJ(X) _MENU_ITEM_ADDON_START(SETCURSOR_X_RJ, X) #define MENU_ITEM_ADDON_END() } }while(0) diff --git a/Marlin/src/lcd/menu/menu_advanced.cpp b/Marlin/src/lcd/menu/menu_advanced.cpp index 1c37b2f2d331..9978bc7eabef 100644 --- a/Marlin/src/lcd/menu/menu_advanced.cpp +++ b/Marlin/src/lcd/menu/menu_advanced.cpp @@ -28,7 +28,7 @@ #if HAS_LCD_MENU -#include "menu.h" +#include "menu_item.h" #include "../../module/planner.h" #if DISABLED(NO_VOLUMETRICS) @@ -48,7 +48,11 @@ #endif #if ENABLED(SD_FIRMWARE_UPDATE) - #include "../../module/configuration_store.h" + #include "../../module/settings.h" +#endif + +#if ENABLED(PASSWORD_FEATURE) + #include "../../feature/password/password.h" #endif void menu_tmc(); @@ -603,10 +607,14 @@ void menu_advanced_settings() { }); #endif + #if ENABLED(PASSWORD_FEATURE) + SUBMENU(MSG_PASSWORD_SETTINGS, password.access_menu_password); + #endif + #if ENABLED(EEPROM_SETTINGS) && DISABLED(SLIM_LCD_MENUS) CONFIRM_ITEM(MSG_INIT_EEPROM, MSG_BUTTON_INIT, MSG_BUTTON_CANCEL, - ui.init_eeprom, ui.goto_previous_screen, + ui.init_eeprom, nullptr, GET_TEXT(MSG_INIT_EEPROM), (const char *)nullptr, PSTR("?") ); #endif diff --git a/Marlin/src/lcd/menu/menu_backlash.cpp b/Marlin/src/lcd/menu/menu_backlash.cpp index 2aad9a415f0c..0e1bfb591099 100644 --- a/Marlin/src/lcd/menu/menu_backlash.cpp +++ b/Marlin/src/lcd/menu/menu_backlash.cpp @@ -28,7 +28,7 @@ #if BOTH(HAS_LCD_MENU, BACKLASH_GCODE) -#include "menu.h" +#include "menu_item.h" #include "../../feature/backlash.h" diff --git a/Marlin/src/lcd/menu/menu_bed_corners.cpp b/Marlin/src/lcd/menu/menu_bed_corners.cpp index 6dbe7c6d1801..16f9992c1852 100644 --- a/Marlin/src/lcd/menu/menu_bed_corners.cpp +++ b/Marlin/src/lcd/menu/menu_bed_corners.cpp @@ -28,7 +28,7 @@ #if BOTH(HAS_LCD_MENU, LEVEL_BED_CORNERS) -#include "menu.h" +#include "menu_item.h" #include "../../module/motion.h" #include "../../module/planner.h" diff --git a/Marlin/src/lcd/menu/menu_bed_leveling.cpp b/Marlin/src/lcd/menu/menu_bed_leveling.cpp index 3796f44ff612..6841561c1bf8 100644 --- a/Marlin/src/lcd/menu/menu_bed_leveling.cpp +++ b/Marlin/src/lcd/menu/menu_bed_leveling.cpp @@ -28,7 +28,7 @@ #if ENABLED(LCD_BED_LEVELING) -#include "menu.h" +#include "menu_item.h" #include "../../module/planner.h" #include "../../feature/bedlevel/bedlevel.h" diff --git a/Marlin/src/lcd/menu/menu_cancelobject.cpp b/Marlin/src/lcd/menu/menu_cancelobject.cpp index 55b88c45b033..a8ced05759bd 100644 --- a/Marlin/src/lcd/menu/menu_cancelobject.cpp +++ b/Marlin/src/lcd/menu/menu_cancelobject.cpp @@ -28,7 +28,7 @@ #if BOTH(HAS_LCD_MENU, CANCEL_OBJECTS) -#include "menu.h" +#include "menu_item.h" #include "menu_addon.h" #include "../../feature/cancel_object.h" diff --git a/Marlin/src/lcd/menu/menu_configuration.cpp b/Marlin/src/lcd/menu/menu_configuration.cpp index ef3ad1ffed1d..a77e9a735462 100644 --- a/Marlin/src/lcd/menu/menu_configuration.cpp +++ b/Marlin/src/lcd/menu/menu_configuration.cpp @@ -28,7 +28,7 @@ #if HAS_LCD_MENU -#include "menu.h" +#include "menu_item.h" #if HAS_FILAMENT_SENSOR #include "../../feature/runout.h" @@ -66,7 +66,7 @@ void menu_advanced_settings(); bar_percent += (int8_t)ui.encoderPosition; LIMIT(bar_percent, 0, 100); ui.encoderPosition = 0; - MenuItem_static::draw(0, GET_TEXT(MSG_PROGRESS_BAR_TEST), SS_CENTER|SS_INVERT); + MenuItem_static::draw(0, GET_TEXT(MSG_PROGRESS_BAR_TEST), SS_DEFAULT|SS_INVERT); lcd_put_int((LCD_WIDTH) / 2 - 2, LCD_HEIGHT - 2, bar_percent); lcd_put_wchar('%'); lcd_moveto(0, LCD_HEIGHT - 1); ui.draw_progress_bar(bar_percent); } @@ -181,7 +181,7 @@ void menu_advanced_settings(); #if ENABLED(DUAL_X_CARRIAGE) void menu_idex() { - const bool need_g28 = !(TEST(axis_known_position, Y_AXIS) && TEST(axis_known_position, Z_AXIS)); + const bool need_g28 = axes_should_home(_BV(Y_AXIS)|_BV(Z_AXIS)); START_MENU(); BACK_ITEM(MSG_CONFIGURATION); @@ -224,11 +224,11 @@ void menu_advanced_settings(); ACTION_ITEM(MSG_BLTOUCH_STOW, bltouch._stow); ACTION_ITEM(MSG_BLTOUCH_SW_MODE, bltouch._set_SW_mode); #if ENABLED(BLTOUCH_LCD_VOLTAGE_MENU) - CONFIRM_ITEM(MSG_BLTOUCH_5V_MODE, MSG_BLTOUCH_5V_MODE, MSG_BUTTON_CANCEL, bltouch._set_5V_mode, ui.goto_previous_screen, GET_TEXT(MSG_BLTOUCH_MODE_CHANGE)); - CONFIRM_ITEM(MSG_BLTOUCH_OD_MODE, MSG_BLTOUCH_OD_MODE, MSG_BUTTON_CANCEL, bltouch._set_OD_mode, ui.goto_previous_screen, GET_TEXT(MSG_BLTOUCH_MODE_CHANGE)); + CONFIRM_ITEM(MSG_BLTOUCH_5V_MODE, MSG_BLTOUCH_5V_MODE, MSG_BUTTON_CANCEL, bltouch._set_5V_mode, nullptr, GET_TEXT(MSG_BLTOUCH_MODE_CHANGE)); + CONFIRM_ITEM(MSG_BLTOUCH_OD_MODE, MSG_BLTOUCH_OD_MODE, MSG_BUTTON_CANCEL, bltouch._set_OD_mode, nullptr, GET_TEXT(MSG_BLTOUCH_MODE_CHANGE)); ACTION_ITEM(MSG_BLTOUCH_MODE_STORE, bltouch._mode_store); - CONFIRM_ITEM(MSG_BLTOUCH_MODE_STORE_5V, MSG_BLTOUCH_MODE_STORE_5V, MSG_BUTTON_CANCEL, bltouch.mode_conv_5V, ui.goto_previous_screen, GET_TEXT(MSG_BLTOUCH_MODE_CHANGE)); - CONFIRM_ITEM(MSG_BLTOUCH_MODE_STORE_OD, MSG_BLTOUCH_MODE_STORE_OD, MSG_BUTTON_CANCEL, bltouch.mode_conv_OD, ui.goto_previous_screen, GET_TEXT(MSG_BLTOUCH_MODE_CHANGE)); + CONFIRM_ITEM(MSG_BLTOUCH_MODE_STORE_5V, MSG_BLTOUCH_MODE_STORE_5V, MSG_BUTTON_CANCEL, bltouch.mode_conv_5V, nullptr, GET_TEXT(MSG_BLTOUCH_MODE_CHANGE)); + CONFIRM_ITEM(MSG_BLTOUCH_MODE_STORE_OD, MSG_BLTOUCH_MODE_STORE_OD, MSG_BUTTON_CANCEL, bltouch.mode_conv_OD, nullptr, GET_TEXT(MSG_BLTOUCH_MODE_CHANGE)); ACTION_ITEM(MSG_BLTOUCH_MODE_ECHO, bltouch_report); #endif END_MENU(); @@ -307,7 +307,7 @@ void menu_advanced_settings(); #define MAXTEMP_ALL _MAX(REPEAT(HOTENDS, _MAXTEMP_ITEM) 0) const uint8_t m = MenuItemBase::itemIndex; START_MENU(); - STATIC_ITEM_P(ui.get_preheat_label(m), SS_CENTER|SS_INVERT); + STATIC_ITEM_P(ui.get_preheat_label(m), SS_DEFAULT|SS_INVERT); BACK_ITEM(MSG_CONFIGURATION); #if HAS_FAN editable.uint8 = uint8_t(ui.material_preset[m].fan_speed); diff --git a/Marlin/src/lcd/menu/menu_custom.cpp b/Marlin/src/lcd/menu/menu_custom.cpp index 729254cda4a3..7c54ec6e2616 100644 --- a/Marlin/src/lcd/menu/menu_custom.cpp +++ b/Marlin/src/lcd/menu/menu_custom.cpp @@ -28,7 +28,7 @@ #if BOTH(HAS_LCD_MENU, CUSTOM_USER_MENUS) -#include "menu.h" +#include "menu_item.h" #include "../../gcode/queue.h" #ifdef USER_SCRIPT_DONE diff --git a/Marlin/src/lcd/menu/menu_delta_calibrate.cpp b/Marlin/src/lcd/menu/menu_delta_calibrate.cpp index 6b99355a60c6..705ec4161120 100644 --- a/Marlin/src/lcd/menu/menu_delta_calibrate.cpp +++ b/Marlin/src/lcd/menu/menu_delta_calibrate.cpp @@ -28,7 +28,7 @@ #if HAS_LCD_MENU && EITHER(DELTA_CALIBRATION_MENU, DELTA_AUTO_CALIBRATION) -#include "menu.h" +#include "menu_item.h" #include "../../module/delta.h" #include "../../module/motion.h" diff --git a/Marlin/src/lcd/menu/menu_filament.cpp b/Marlin/src/lcd/menu/menu_filament.cpp index 869935b59a51..316b2bc782c5 100644 --- a/Marlin/src/lcd/menu/menu_filament.cpp +++ b/Marlin/src/lcd/menu/menu_filament.cpp @@ -28,7 +28,7 @@ #if BOTH(HAS_LCD_MENU, ADVANCED_PAUSE_FEATURE) -#include "menu.h" +#include "menu_item.h" #include "../../module/temperature.h" #include "../../feature/pause.h" #include "../../gcode/queue.h" @@ -87,7 +87,7 @@ void _menu_temp_filament_op(const PauseMode mode, const int8_t extruder) { _change_filament_mode = mode; _change_filament_extruder = extruder; START_MENU(); - if (LCD_HEIGHT >= 4) STATIC_ITEM_P(change_filament_header(mode), SS_CENTER|SS_INVERT); + if (LCD_HEIGHT >= 4) STATIC_ITEM_P(change_filament_header(mode), SS_DEFAULT|SS_INVERT); BACK_ITEM(MSG_BACK); #if PREHEAT_COUNT LOOP_L_N(m, PREHEAT_COUNT) @@ -220,7 +220,7 @@ static PGM_P pause_header() { #define HOTEND_STATUS_ITEM() do { \ if (_menuLineNr == _thisItemNr) { \ if (ui.should_draw()) { \ - MenuItem_static::draw(_lcdLineNr, GET_TEXT(MSG_FILAMENT_CHANGE_NOZZLE), SS_INVERT); \ + TERN(HAS_GRAPHICAL_TFT,, MenuItem_static::draw(_lcdLineNr, GET_TEXT(MSG_FILAMENT_CHANGE_NOZZLE), SS_INVERT)); \ ui.draw_hotend_status(_lcdLineNr, hotend_status_extruder); \ } \ if (_skipStatic && encoderLine <= _thisItemNr) { \ @@ -266,7 +266,7 @@ void _lcd_pause_message(PGM_P const msg) { skip1 = !has2 && (LCD_HEIGHT) >= 5; START_SCREEN(); - STATIC_ITEM_P(pause_header(), SS_CENTER|SS_INVERT); // 1: Header + STATIC_ITEM_P(pause_header(), SS_DEFAULT|SS_INVERT); // 1: Header if (skip1) SKIP_ITEM(); // Move a single-line message down STATIC_ITEM_P(msg1); // 2: Message Line 1 if (has2) STATIC_ITEM_P(msg2); // 3: Message Line 2 diff --git a/Marlin/src/lcd/menu/menu_game.cpp b/Marlin/src/lcd/menu/menu_game.cpp index 21e101404a52..fa56d7eee266 100644 --- a/Marlin/src/lcd/menu/menu_game.cpp +++ b/Marlin/src/lcd/menu/menu_game.cpp @@ -24,7 +24,7 @@ #if HAS_GAME_MENU -#include "menu.h" +#include "menu_item.h" #include "game/game.h" void menu_game() { diff --git a/Marlin/src/lcd/menu/menu_info.cpp b/Marlin/src/lcd/menu/menu_info.cpp index 697d4b767e7b..00ab9ad195e3 100644 --- a/Marlin/src/lcd/menu/menu_info.cpp +++ b/Marlin/src/lcd/menu/menu_info.cpp @@ -28,15 +28,12 @@ #if BOTH(HAS_LCD_MENU, LCD_INFO_MENU) -#include "menu.h" +#include "menu_item.h" #if HAS_GAMES #include "game/game.h" #endif -#define VALUE_ITEM(MSG, VALUE, STYL) do{ char msg[21]; strcpy_P(msg, PSTR(": ")); strcpy(msg + 2, VALUE); STATIC_ITEM(MSG, STYL, msg); }while(0) -#define VALUE_ITEM_P(MSG, PVALUE, STYL) do{ char msg[21]; strcpy_P(msg, PSTR(": ")); strcpy_P(msg + 2, PSTR(PVALUE)); STATIC_ITEM(MSG, STYL, msg); }while(0) - #if ENABLED(PRINTCOUNTER) #include "../../module/printcounter.h" @@ -52,14 +49,14 @@ char buffer[21]; START_SCREEN(); // 12345678901234567890 - VALUE_ITEM(MSG_INFO_PRINT_COUNT, i16tostr3left(stats.totalPrints), SS_LEFT); // Print Count: 999 - VALUE_ITEM(MSG_INFO_COMPLETED_PRINTS, i16tostr3left(stats.finishedPrints), SS_LEFT); // Completed : 666 + STATIC_ITEM(MSG_INFO_PRINT_COUNT, SS_LEFT, i16tostr3left(stats.totalPrints)); // Print Count: 999 + STATIC_ITEM(MSG_INFO_COMPLETED_PRINTS, SS_LEFT, i16tostr3left(stats.finishedPrints)); // Completed : 666 STATIC_ITEM(MSG_INFO_PRINT_TIME, SS_LEFT); // Total print Time: - STATIC_ITEM_P(PSTR("> "), SS_LEFT, duration_t(stats.printTime).toString(buffer)); // > 99y 364d 23h 59m 59s + STATIC_ITEM_P(PSTR("> "), SS_LEFT, duration_t(stats.printTime).toString(buffer)); // > 99y 364d 23h 59m 59s STATIC_ITEM(MSG_INFO_PRINT_LONGEST, SS_LEFT); // Longest job time: - STATIC_ITEM_P(PSTR("> "), SS_LEFT, duration_t(stats.longestPrint).toString(buffer)); // > 99y 364d 23h 59m 59s + STATIC_ITEM_P(PSTR("> "), SS_LEFT, duration_t(stats.longestPrint).toString(buffer)); // > 99y 364d 23h 59m 59s STATIC_ITEM(MSG_INFO_PRINT_FILAMENT, SS_LEFT); // Extruded total: sprintf_P(buffer, PSTR("%ld.%im") @@ -73,8 +70,8 @@ #endif #if SERVICE_INTERVAL_1 > 0 - STATIC_ITEM_P(PSTR(SERVICE_NAME_1 " "), SS_LEFT, buffer); // Service X in: - STATIC_ITEM_P(PSTR("> "), SS_LEFT, duration_t(stats.nextService1).toString(buffer)); // > 7d 12h 11m 10s + STATIC_ITEM_P(PSTR(SERVICE_NAME_1 " "), SS_LEFT, buffer); // Service X in: + STATIC_ITEM_P(PSTR("> "), SS_LEFT, duration_t(stats.nextService1).toString(buffer)); // > 7d 12h 11m 10s #endif #if SERVICE_INTERVAL_2 > 0 @@ -104,8 +101,8 @@ void menu_info_thermistors() { #define THERMISTOR_ID TEMP_SENSOR_0 #include "../thermistornames.h" STATIC_ITEM_P(PSTR(LCD_STR_E0 ": " THERMISTOR_NAME), SS_INVERT); - VALUE_ITEM_P(MSG_INFO_MIN_TEMP, STRINGIFY(HEATER_0_MINTEMP), SS_LEFT); - VALUE_ITEM_P(MSG_INFO_MAX_TEMP, STRINGIFY(HEATER_0_MAXTEMP), SS_LEFT); + PSTRING_ITEM(MSG_INFO_MIN_TEMP, STRINGIFY(HEATER_0_MINTEMP), SS_LEFT); + PSTRING_ITEM(MSG_INFO_MAX_TEMP, STRINGIFY(HEATER_0_MAXTEMP), SS_LEFT); #endif #if TEMP_SENSOR_1 != 0 @@ -113,8 +110,8 @@ void menu_info_thermistors() { #define THERMISTOR_ID TEMP_SENSOR_1 #include "../thermistornames.h" STATIC_ITEM_P(PSTR(LCD_STR_E1 ": " THERMISTOR_NAME), SS_INVERT); - VALUE_ITEM_P(MSG_INFO_MIN_TEMP, STRINGIFY(HEATER_1_MINTEMP), SS_LEFT); - VALUE_ITEM_P(MSG_INFO_MAX_TEMP, STRINGIFY(HEATER_1_MAXTEMP), SS_LEFT); + PSTRING_ITEM(MSG_INFO_MIN_TEMP, STRINGIFY(HEATER_1_MINTEMP), SS_LEFT); + PSTRING_ITEM(MSG_INFO_MAX_TEMP, STRINGIFY(HEATER_1_MAXTEMP), SS_LEFT); #endif #if TEMP_SENSOR_2 != 0 @@ -122,8 +119,8 @@ void menu_info_thermistors() { #define THERMISTOR_ID TEMP_SENSOR_2 #include "../thermistornames.h" STATIC_ITEM_P(PSTR(LCD_STR_E2 ": " THERMISTOR_NAME), SS_INVERT); - VALUE_ITEM_P(MSG_INFO_MIN_TEMP, STRINGIFY(HEATER_2_MINTEMP), SS_LEFT); - VALUE_ITEM_P(MSG_INFO_MAX_TEMP, STRINGIFY(HEATER_2_MAXTEMP), SS_LEFT); + PSTRING_ITEM(MSG_INFO_MIN_TEMP, STRINGIFY(HEATER_2_MINTEMP), SS_LEFT); + PSTRING_ITEM(MSG_INFO_MAX_TEMP, STRINGIFY(HEATER_2_MAXTEMP), SS_LEFT); #endif #if TEMP_SENSOR_3 != 0 @@ -131,8 +128,8 @@ void menu_info_thermistors() { #define THERMISTOR_ID TEMP_SENSOR_3 #include "../thermistornames.h" STATIC_ITEM_P(PSTR(LCD_STR_E3 ": " THERMISTOR_NAME), SS_INVERT); - VALUE_ITEM_P(MSG_INFO_MIN_TEMP, STRINGIFY(HEATER_3_MINTEMP), SS_LEFT); - VALUE_ITEM_P(MSG_INFO_MAX_TEMP, STRINGIFY(HEATER_3_MAXTEMP), SS_LEFT); + PSTRING_ITEM(MSG_INFO_MIN_TEMP, STRINGIFY(HEATER_3_MINTEMP), SS_LEFT); + PSTRING_ITEM(MSG_INFO_MAX_TEMP, STRINGIFY(HEATER_3_MAXTEMP), SS_LEFT); #endif #if TEMP_SENSOR_4 != 0 @@ -140,8 +137,8 @@ void menu_info_thermistors() { #define THERMISTOR_ID TEMP_SENSOR_4 #include "../thermistornames.h" STATIC_ITEM_P(PSTR(LCD_STR_E4 ": " THERMISTOR_NAME), SS_INVERT); - VALUE_ITEM_P(MSG_INFO_MIN_TEMP, STRINGIFY(HEATER_4_MINTEMP), SS_LEFT); - VALUE_ITEM_P(MSG_INFO_MAX_TEMP, STRINGIFY(HEATER_4_MAXTEMP), SS_LEFT); + PSTRING_ITEM(MSG_INFO_MIN_TEMP, STRINGIFY(HEATER_4_MINTEMP), SS_LEFT); + PSTRING_ITEM(MSG_INFO_MAX_TEMP, STRINGIFY(HEATER_4_MAXTEMP), SS_LEFT); #endif #if TEMP_SENSOR_5 != 0 @@ -149,8 +146,8 @@ void menu_info_thermistors() { #define THERMISTOR_ID TEMP_SENSOR_5 #include "../thermistornames.h" STATIC_ITEM_P(PSTR(LCD_STR_E5 ": " THERMISTOR_NAME), SS_INVERT); - VALUE_ITEM_P(MSG_INFO_MIN_TEMP, STRINGIFY(HEATER_5_MINTEMP), SS_LEFT); - VALUE_ITEM_P(MSG_INFO_MAX_TEMP, STRINGIFY(HEATER_5_MAXTEMP), SS_LEFT); + PSTRING_ITEM(MSG_INFO_MIN_TEMP, STRINGIFY(HEATER_5_MINTEMP), SS_LEFT); + PSTRING_ITEM(MSG_INFO_MAX_TEMP, STRINGIFY(HEATER_5_MAXTEMP), SS_LEFT); #endif #if TEMP_SENSOR_6 != 0 @@ -158,8 +155,8 @@ void menu_info_thermistors() { #define THERMISTOR_ID TEMP_SENSOR_6 #include "../thermistornames.h" STATIC_ITEM_P(PSTR(LCD_STR_E6 ": " THERMISTOR_NAME), SS_INVERT); - VALUE_ITEM_P(MSG_INFO_MIN_TEMP, STRINGIFY(HEATER_6_MINTEMP), SS_LEFT); - VALUE_ITEM_P(MSG_INFO_MAX_TEMP, STRINGIFY(HEATER_6_MAXTEMP), SS_LEFT); + PSTRING_ITEM(MSG_INFO_MIN_TEMP, STRINGIFY(HEATER_6_MINTEMP), SS_LEFT); + PSTRING_ITEM(MSG_INFO_MAX_TEMP, STRINGIFY(HEATER_6_MAXTEMP), SS_LEFT); #endif #if TEMP_SENSOR_7 != 0 @@ -167,8 +164,8 @@ void menu_info_thermistors() { #define THERMISTOR_ID TEMP_SENSOR_7 #include "../thermistornames.h" STATIC_ITEM_P(PSTR(LCD_STR_E7 ": " THERMISTOR_NAME), SS_INVERT); - VALUE_ITEM_P(MSG_INFO_MIN_TEMP, STRINGIFY(HEATER_7_MINTEMP), SS_LEFT); - VALUE_ITEM_P(MSG_INFO_MAX_TEMP, STRINGIFY(HEATER_7_MAXTEMP), SS_LEFT); + PSTRING_ITEM(MSG_INFO_MIN_TEMP, STRINGIFY(HEATER_7_MINTEMP), SS_LEFT); + PSTRING_ITEM(MSG_INFO_MAX_TEMP, STRINGIFY(HEATER_7_MAXTEMP), SS_LEFT); #endif #if EXTRUDERS @@ -180,8 +177,8 @@ void menu_info_thermistors() { #define THERMISTOR_ID TEMP_SENSOR_BED #include "../thermistornames.h" STATIC_ITEM_P(PSTR("BED:" THERMISTOR_NAME), SS_INVERT); - VALUE_ITEM_P(MSG_INFO_MIN_TEMP, STRINGIFY(BED_MINTEMP), SS_LEFT); - VALUE_ITEM_P(MSG_INFO_MAX_TEMP, STRINGIFY(BED_MAXTEMP), SS_LEFT); + PSTRING_ITEM(MSG_INFO_MIN_TEMP, STRINGIFY(BED_MINTEMP), SS_LEFT); + PSTRING_ITEM(MSG_INFO_MAX_TEMP, STRINGIFY(BED_MAXTEMP), SS_LEFT); STATIC_ITEM(TERN(WATCH_BED, MSG_INFO_RUNAWAY_ON, MSG_INFO_RUNAWAY_OFF), SS_LEFT); #endif @@ -190,8 +187,8 @@ void menu_info_thermistors() { #define THERMISTOR_ID TEMP_SENSOR_CHAMBER #include "../thermistornames.h" STATIC_ITEM_P(PSTR("CHAM:" THERMISTOR_NAME), SS_INVERT); - VALUE_ITEM_P(MSG_INFO_MIN_TEMP, STRINGIFY(CHAMBER_MINTEMP), SS_LEFT); - VALUE_ITEM_P(MSG_INFO_MAX_TEMP, STRINGIFY(CHAMBER_MAXTEMP), SS_LEFT); + PSTRING_ITEM(MSG_INFO_MIN_TEMP, STRINGIFY(CHAMBER_MINTEMP), SS_LEFT); + PSTRING_ITEM(MSG_INFO_MAX_TEMP, STRINGIFY(CHAMBER_MAXTEMP), SS_LEFT); STATIC_ITEM(TERN(WATCH_CHAMBER, MSG_INFO_RUNAWAY_ON, MSG_INFO_RUNAWAY_OFF), SS_LEFT); #endif @@ -205,13 +202,13 @@ void menu_info_board() { if (ui.use_click()) return ui.go_back(); START_SCREEN(); - STATIC_ITEM_P(PSTR(BOARD_INFO_NAME), SS_CENTER|SS_INVERT); // MyPrinterController + STATIC_ITEM_P(PSTR(BOARD_INFO_NAME), SS_DEFAULT|SS_INVERT); // MyPrinterController #ifdef BOARD_WEBSITE_URL STATIC_ITEM_P(PSTR(BOARD_WEBSITE_URL), SS_LEFT); // www.my3dprinter.com #endif - VALUE_ITEM_P(MSG_INFO_BAUDRATE, STRINGIFY(BAUDRATE), SS_CENTER); // Baud: 250000 - VALUE_ITEM_P(MSG_INFO_PROTOCOL, PROTOCOL_VERSION, SS_CENTER); // Protocol: 1.0 - VALUE_ITEM_P(MSG_INFO_PSU, PSU_NAME, SS_CENTER); + PSTRING_ITEM(MSG_INFO_BAUDRATE, STRINGIFY(BAUDRATE), SS_CENTER); // Baud: 250000 + PSTRING_ITEM(MSG_INFO_PROTOCOL, PROTOCOL_VERSION, SS_CENTER); // Protocol: 1.0 + PSTRING_ITEM(MSG_INFO_PSU, PSU_NAME, SS_CENTER); END_SCREEN(); } @@ -237,12 +234,12 @@ void menu_info_board() { void menu_info_printer() { if (ui.use_click()) return ui.go_back(); START_SCREEN(); - STATIC_ITEM(MSG_MARLIN, SS_CENTER|SS_INVERT); // Marlin + STATIC_ITEM(MSG_MARLIN, SS_DEFAULT|SS_INVERT); // Marlin STATIC_ITEM_P(PSTR(SHORT_BUILD_VERSION)); // x.x.x-Branch STATIC_ITEM_P(PSTR(STRING_DISTRIBUTION_DATE)); // YYYY-MM-DD HH:MM STATIC_ITEM_P(PSTR(MACHINE_NAME)); // My3DPrinter STATIC_ITEM_P(PSTR(WEBSITE_URL)); // www.my3dprinter.com - VALUE_ITEM_P(MSG_INFO_EXTRUDERS, STRINGIFY(EXTRUDERS), SS_CENTER); // Extruders: 2 + PSTRING_ITEM(MSG_INFO_EXTRUDERS, STRINGIFY(EXTRUDERS), SS_CENTER); // Extruders: 2 #if HAS_LEVELING STATIC_ITEM( TERN_(AUTO_BED_LEVELING_3POINT, MSG_3POINT_LEVELING) // 3-Point Leveling diff --git a/Marlin/src/lcd/menu/menu_item.h b/Marlin/src/lcd/menu/menu_item.h new file mode 100644 index 000000000000..bee05141bb28 --- /dev/null +++ b/Marlin/src/lcd/menu/menu_item.h @@ -0,0 +1,454 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#include "menu.h" +#include "../ultralcd.h" +#include "../../gcode/queue.h" // for inject_P + +#include "../../inc/MarlinConfigPre.h" + +void lcd_move_z(); + +//////////////////////////////////////////// +///////////// Base Menu Items ////////////// +//////////////////////////////////////////// + +// SUBMENU(LABEL, screen_handler) +class MenuItem_submenu : public MenuItemBase { + public: + FORCE_INLINE static void draw(const bool sel, const uint8_t row, PGM_P const pstr, ...) { + _draw(sel, row, pstr, '>', LCD_STR_ARROW_RIGHT[0]); + } + static inline void action(PGM_P const, const screenFunc_t func) { ui.save_previous_screen(); ui.goto_screen(func); } +}; + +// Any menu item that invokes an immediate action +class MenuItem_button : public MenuItemBase { + public: + // Button-y Items are selectable lines with no other indicator + static inline void draw(const bool sel, const uint8_t row, PGM_P const pstr, ...) { + _draw(sel, row, pstr, '>', ' '); + } +}; + +// ACTION_ITEM(LABEL, FUNC) +class MenuItem_function : public MenuItem_button { + public: + //static inline void action(PGM_P const, const uint8_t, const menuAction_t func) { (*func)(); }; + static inline void action(PGM_P const, const menuAction_t func) { (*func)(); }; +}; + +// GCODES_ITEM(LABEL, GCODES) +class MenuItem_gcode : public MenuItem_button { + public: + FORCE_INLINE static void draw(const bool sel, const uint8_t row, PGM_P const pstr, ...) { + _draw(sel, row, pstr, '>', ' '); + } + static void action(PGM_P const, PGM_P const pgcode) { queue.inject_P(pgcode); } + static inline void action(PGM_P const pstr, const uint8_t, const char * const pgcode) { action(pstr, pgcode); } +}; + +//////////////////////////////////////////// +///////////// Edit Menu Items ////////////// +//////////////////////////////////////////// + +// Template for specific Menu Edit Item Types +template +class TMenuEditItem : MenuEditItemBase { + private: + typedef typename NAME::type_t type_t; + static inline float scale(const float value) { return NAME::scale(value); } + static inline float unscale(const float value) { return NAME::unscale(value); } + static const char* to_string(const int32_t value) { return NAME::strfunc(unscale(value)); } + static void load(void *ptr, const int32_t value) { *((type_t*)ptr) = unscale(value); } + public: + FORCE_INLINE static void draw(const bool sel, const uint8_t row, PGM_P const pstr, type_t * const data, ...) { + MenuEditItemBase::draw(sel, row, pstr, NAME::strfunc(*(data))); + } + FORCE_INLINE static void draw(const bool sel, const uint8_t row, PGM_P const pstr, type_t (*pget)(), ...) { + MenuEditItemBase::draw(sel, row, pstr, NAME::strfunc(pget())); + } + // Edit screen for this type of item + static void edit_screen() { MenuEditItemBase::edit_screen(to_string, load); } + static void action( + PGM_P const pstr, // Edit label + type_t * const ptr, // Value pointer + const type_t minValue, // Value range + const type_t maxValue, + const screenFunc_t callback=nullptr, // Value update callback + const bool live=false // Callback during editing + ) { + // Make sure minv and maxv fit within int32_t + const int32_t minv = _MAX(scale(minValue), INT32_MIN), + maxv = _MIN(scale(maxValue), INT32_MAX); + goto_edit_screen(pstr, ptr, minv, maxv - minv, scale(*ptr) - minv, + edit_screen, callback, live); + } +}; + +// Provide a set of Edit Item Types which encompass a primitive +// type, a string function, and a scale factor for edit and display. +// These items call the Edit Item draw method passing the prepared string. +#define __DOFIXfloat PROBE() +#define _DOFIX(TYPE,V) TYPE(TERN(IS_PROBE(__DOFIX##TYPE),FIXFLOAT(V),(V))) +#define DEFINE_MENU_EDIT_ITEM_TYPE(NAME, TYPE, STRFUNC, SCALE, V...) \ + struct MenuEditItemInfo_##NAME { \ + typedef TYPE type_t; \ + static inline float scale(const float value) { return value * (SCALE) + (V+0); } \ + static inline float unscale(const float value) { return value / (SCALE) + (V+0); } \ + static inline const char* strfunc(const float value) { return STRFUNC(_DOFIX(TYPE,value)); } \ + }; \ + typedef TMenuEditItem MenuItem_##NAME + +// NAME TYPE STRFUNC SCALE +ROUND +DEFINE_MENU_EDIT_ITEM_TYPE(percent ,uint8_t ,ui8tostr4pctrj , 100.f/255.f, 0.5f); // 100% right-justified +DEFINE_MENU_EDIT_ITEM_TYPE(int3 ,int16_t ,i16tostr3rj , 1 ); // 123, -12 right-justified +DEFINE_MENU_EDIT_ITEM_TYPE(int4 ,int16_t ,i16tostr4signrj , 1 ); // 1234, -123 right-justified +DEFINE_MENU_EDIT_ITEM_TYPE(int8 ,int8_t ,i8tostr3rj , 1 ); // 123, -12 right-justified +DEFINE_MENU_EDIT_ITEM_TYPE(uint8 ,uint8_t ,ui8tostr3rj , 1 ); // 123 right-justified +DEFINE_MENU_EDIT_ITEM_TYPE(uint16_3 ,uint16_t ,ui16tostr3rj , 1 ); // 123 right-justified +DEFINE_MENU_EDIT_ITEM_TYPE(uint16_4 ,uint16_t ,ui16tostr4rj , 0.1f ); // 1234 right-justified +DEFINE_MENU_EDIT_ITEM_TYPE(uint16_5 ,uint16_t ,ui16tostr5rj , 0.01f ); // 12345 right-justified +DEFINE_MENU_EDIT_ITEM_TYPE(float3 ,float ,ftostr3 , 1 ); // 123 right-justified +DEFINE_MENU_EDIT_ITEM_TYPE(float42_52 ,float ,ftostr42_52 , 100 ); // _2.34, 12.34, -2.34 or 123.45, -23.45 +DEFINE_MENU_EDIT_ITEM_TYPE(float43 ,float ,ftostr43sign ,1000 ); // -1.234, _1.234, +1.234 +DEFINE_MENU_EDIT_ITEM_TYPE(float5 ,float ,ftostr5rj , 1 ); // 12345 right-justified +DEFINE_MENU_EDIT_ITEM_TYPE(float5_25 ,float ,ftostr5rj , 0.04f ); // 12345 right-justified (25 increment) +DEFINE_MENU_EDIT_ITEM_TYPE(float51 ,float ,ftostr51rj , 10 ); // 1234.5 right-justified +DEFINE_MENU_EDIT_ITEM_TYPE(float31sign ,float ,ftostr31sign , 10 ); // +12.3 +DEFINE_MENU_EDIT_ITEM_TYPE(float41sign ,float ,ftostr41sign , 10 ); // +123.4 +DEFINE_MENU_EDIT_ITEM_TYPE(float51sign ,float ,ftostr51sign , 10 ); // +1234.5 +DEFINE_MENU_EDIT_ITEM_TYPE(float52sign ,float ,ftostr52sign , 100 ); // +123.45 +DEFINE_MENU_EDIT_ITEM_TYPE(long5 ,uint32_t ,ftostr5rj , 0.01f ); // 12345 right-justified +DEFINE_MENU_EDIT_ITEM_TYPE(long5_25 ,uint32_t ,ftostr5rj , 0.04f ); // 12345 right-justified (25 increment) + +#if HAS_BED_PROBE + #if Z_PROBE_OFFSET_RANGE_MIN >= -9 && Z_PROBE_OFFSET_RANGE_MAX <= 9 + #define LCD_Z_OFFSET_TYPE float43 // Values from -9.000 to +9.000 + #else + #define LCD_Z_OFFSET_TYPE float42_52 // Values from -99.99 to 99.99 + #endif +#endif + +class MenuItem_bool : public MenuEditItemBase { + public: + FORCE_INLINE static void draw(const bool sel, const uint8_t row, PGM_P const pstr, const bool onoff) { + MenuEditItemBase::draw(sel, row, pstr, onoff ? GET_TEXT(MSG_LCD_ON) : GET_TEXT(MSG_LCD_OFF), true); + } + FORCE_INLINE static void draw(const bool sel, const uint8_t row, PGM_P const pstr, bool * const data, ...) { + draw(sel, row, pstr, *data); + } + FORCE_INLINE static void draw(const bool sel, const uint8_t row, PGM_P const pstr, PGM_P const, bool (*pget)(), ...) { + draw(sel, row, pstr, pget()); + } + static void action(PGM_P const pstr, bool * const ptr, const screenFunc_t callbackFunc=nullptr) { + *ptr ^= true; ui.refresh(); + if (callbackFunc) (*callbackFunc)(); + } +}; + +/** + * //////////////////////////////////////////// + * //////////// Menu System Macros //////////// + * //////////////////////////////////////////// + * + * Marlin's native menu screens work by running a loop from the top visible line index + * to the bottom visible line index (according to how much the screen has been scrolled). + * This complete loop is done on every menu screen call. + * + * The menu system is highly dynamic, so it doesn't know ahead of any menu loop which + * items will be visible or hidden, so menu items don't have a fixed index number. + * + * During the loop, each menu item checks to see if its line is the current one. If it is, + * then it checks to see if a click has arrived so it can run its action. If the action + * doesn't redirect to another screen then the menu item calls its draw method. + * + * Menu item add-ons can do whatever they like. + * + * This mixture of drawing and processing inside a loop has the advantage that a single + * line can be used to represent a menu item, and that is the rationale for this design. + * + * One of the pitfalls of this method is that DOGM displays call the screen handler 2x, + * 4x, or 8x per screen update to draw just one segment of the screen. As a result, any + * menu item that exists in two screen segments is drawn and processed twice per screen + * update. With each item processed 5, 10, 20, or 40 times the logic has to be simple. + * + * To avoid repetition and side-effects, function calls for testing menu item conditions + * should be done before the menu loop (START_MENU / START_SCREEN). + */ + +/** + * SCREEN_OR_MENU_LOOP generates header code for a screen or menu + * + * encoderTopLine is the top menu line to display + * _lcdLineNr is the index of the LCD line (e.g., 0-3) + * _menuLineNr is the menu item to draw and process + * _thisItemNr is the index of each MENU_ITEM or STATIC_ITEM + */ +#define SCREEN_OR_MENU_LOOP(IS_MENU) \ + scroll_screen(IS_MENU ? 1 : LCD_HEIGHT, IS_MENU); \ + int8_t _menuLineNr = encoderTopLine, _thisItemNr = 0; \ + bool _skipStatic = IS_MENU; UNUSED(_thisItemNr); \ + for (int8_t _lcdLineNr = 0; _lcdLineNr < LCD_HEIGHT; _lcdLineNr++, _menuLineNr++) { \ + _thisItemNr = 0 + +/** + * START_SCREEN Opening code for a screen having only static items. + * Do simplified scrolling of the entire screen. + * + * START_MENU Opening code for a screen with menu items. + * Scroll as-needed to keep the selected line in view. + */ +#define START_SCREEN() SCREEN_OR_MENU_LOOP(false) +#define START_MENU() SCREEN_OR_MENU_LOOP(true) +#define NEXT_ITEM() (++_thisItemNr) +#define SKIP_ITEM() NEXT_ITEM() +#define END_SCREEN() } screen_items = _thisItemNr +#define END_MENU() END_SCREEN(); UNUSED(_skipStatic) + +/** + * MENU_ITEM generates draw & handler code for a menu item, potentially calling: + * + * MenuItem_::draw(sel, row, label, arg3...) + * MenuItem_::action(arg3...) + * + * Examples: + * BACK_ITEM(MSG_INFO_SCREEN) + * MenuItem_back::action(plabel, ...) + * MenuItem_back::draw(sel, row, plabel, ...) + * + * ACTION_ITEM(MSG_PAUSE_PRINT, lcd_sdcard_pause) + * MenuItem_function::action(plabel, lcd_sdcard_pause) + * MenuItem_function::draw(sel, row, plabel, lcd_sdcard_pause) + * + * EDIT_ITEM(int3, MSG_SPEED, &feedrate_percentage, 10, 999) + * MenuItem_int3::action(plabel, &feedrate_percentage, 10, 999) + * MenuItem_int3::draw(sel, row, plabel, &feedrate_percentage, 10, 999) + */ + +#if ENABLED(ENCODER_RATE_MULTIPLIER) + #define _MENU_ITEM_MULTIPLIER_CHECK(USE_MULTIPLIER) do{ if (USE_MULTIPLIER) ui.enable_encoder_multiplier(true); }while(0) +#else + #define _MENU_ITEM_MULTIPLIER_CHECK(USE_MULTIPLIER) +#endif + +#define _MENU_INNER_P(TYPE, USE_MULTIPLIER, PLABEL, V...) do { \ + PGM_P const plabel = PLABEL; \ + if (encoderLine == _thisItemNr && ui.use_click()) { \ + _MENU_ITEM_MULTIPLIER_CHECK(USE_MULTIPLIER); \ + MenuItem_##TYPE::action(plabel, ##V); \ + if (ui.screen_changed) return; \ + } \ + if (ui.should_draw()) \ + MenuItem_##TYPE::draw \ + (encoderLine == _thisItemNr, _lcdLineNr, plabel, ##V); \ +}while(0) + +#define _MENU_ITEM_P(TYPE, V...) do { \ + if (_menuLineNr == _thisItemNr) { \ + _skipStatic = false; \ + _MENU_INNER_P(TYPE, ##V); \ + } \ + NEXT_ITEM(); \ +}while(0) + +// Indexed items set a global index value and optional data +#define _MENU_ITEM_N_S_P(TYPE, N, S, V...) do{ \ + if (_menuLineNr == _thisItemNr) { \ + _skipStatic = false; \ + MenuItemBase::init(N, S); \ + _MENU_INNER_P(TYPE, ##V); \ + } \ + NEXT_ITEM(); \ +}while(0) + +// Indexed items set a global index value +#define _MENU_ITEM_N_P(TYPE, N, V...) do{ \ + if (_menuLineNr == _thisItemNr) { \ + _skipStatic = false; \ + MenuItemBase::itemIndex = N; \ + _MENU_INNER_P(TYPE, ##V); \ + } \ + NEXT_ITEM(); \ +}while(0) + +// Items with a unique string +#define _MENU_ITEM_S_P(TYPE, S, V...) do{ \ + if (_menuLineNr == _thisItemNr) { \ + _skipStatic = false; \ + MenuItemBase::itemString = S; \ + _MENU_INNER_P(TYPE, ##V); \ + } \ + NEXT_ITEM(); \ +}while(0) + +// STATIC_ITEM draws a styled string with no highlight. +// Parameters: label [, style [, char *value] ] + +#define STATIC_ITEM_INNER_P(PLABEL, V...) do{ \ + if (_skipStatic && encoderLine <= _thisItemNr) { \ + ui.encoderPosition += ENCODER_STEPS_PER_MENU_ITEM; \ + ++encoderLine; \ + } \ + if (ui.should_draw()) \ + MenuItem_static::draw(_lcdLineNr, PLABEL, ##V); \ +} while(0) + +#define STATIC_ITEM_P(PLABEL, V...) do{ \ + if (_menuLineNr == _thisItemNr) \ + STATIC_ITEM_INNER_P(PLABEL, ##V); \ + NEXT_ITEM(); \ +} while(0) + +#define STATIC_ITEM_N_P(PLABEL, N, V...) do{ \ + if (_menuLineNr == _thisItemNr) { \ + MenuItemBase::init(N); \ + STATIC_ITEM_INNER_P(PLABEL, ##V); \ + } \ + NEXT_ITEM(); \ +}while(0) + +// PSTRING_ITEM is like STATIC_ITEM but it takes +// two PSTRs with the style as the last parameter. + +#define PSTRING_ITEM_P(PLABEL, PVAL, STYL) do{ \ + constexpr int m = 20; \ + char msg[m+1]; \ + msg[0] = ':'; msg[1] = ' '; \ + strncpy_P(msg+2, PSTR(PVAL), m-2); \ + if (msg[m-1] & 0x80) msg[m-1] = '\0'; \ + STATIC_ITEM_P(PLABEL, STYL, msg); \ +}while(0) + +#define PSTRING_ITEM(LABEL, V...) PSTRING_ITEM_P(GET_TEXT(LABEL), ##V) + +#define STATIC_ITEM(LABEL, V...) STATIC_ITEM_P(GET_TEXT(LABEL), ##V) +#define STATIC_ITEM_N(LABEL, N, V...) STATIC_ITEM_N_P(GET_TEXT(LABEL), ##V) + +#define MENU_ITEM_N_S_P(TYPE, N, S, PLABEL, V...) _MENU_ITEM_N_S_P(TYPE, N, S, false, PLABEL, ##V) +#define MENU_ITEM_N_S(TYPE, N, S, LABEL, V...) MENU_ITEM_N_S_P(TYPE, N, S, GET_TEXT(LABEL), ##V) +#define MENU_ITEM_S_P(TYPE, S, PLABEL, V...) _MENU_ITEM_S_P(TYPE, S, false, PLABEL, ##V) +#define MENU_ITEM_S(TYPE, S, LABEL, V...) MENU_ITEM_S_P(TYPE, S, GET_TEXT(LABEL), ##V) +#define MENU_ITEM_N_P(TYPE, N, PLABEL, V...) _MENU_ITEM_N_P(TYPE, N, false, PLABEL, ##V) +#define MENU_ITEM_N(TYPE, N, LABEL, V...) MENU_ITEM_N_P(TYPE, N, GET_TEXT(LABEL), ##V) +#define MENU_ITEM_P(TYPE, PLABEL, V...) _MENU_ITEM_P(TYPE, false, PLABEL, ##V) +#define MENU_ITEM(TYPE, LABEL, V...) MENU_ITEM_P(TYPE, GET_TEXT(LABEL), ##V) + +#define BACK_ITEM(LABEL) MENU_ITEM(back, LABEL) + +#define ACTION_ITEM_N_S_P(N, S, PLABEL, ACTION) MENU_ITEM_N_S_P(function, N, S, PLABEL, ACTION) +#define ACTION_ITEM_N_S(N, S, LABEL, ACTION) ACTION_ITEM_N_S_P(N, S, GET_TEXT(LABEL), ACTION) +#define ACTION_ITEM_S_P(S, PLABEL, ACTION) MENU_ITEM_S_P(function, S, PLABEL, ACTION) +#define ACTION_ITEM_S(S, LABEL, ACTION) ACTION_ITEM_S_P(S, GET_TEXT(LABEL), ACTION) +#define ACTION_ITEM_N_P(N, PLABEL, ACTION) MENU_ITEM_N_P(function, N, PLABEL, ACTION) +#define ACTION_ITEM_N(N, LABEL, ACTION) ACTION_ITEM_N_P(N, GET_TEXT(LABEL), ACTION) +#define ACTION_ITEM_P(PLABEL, ACTION) MENU_ITEM_P(function, PLABEL, ACTION) +#define ACTION_ITEM(LABEL, ACTION) ACTION_ITEM_P(GET_TEXT(LABEL), ACTION) + +#define GCODES_ITEM_N_S_P(N, S, PLABEL, GCODES) MENU_ITEM_N_S_P(gcode, N, S, PLABEL, GCODES) +#define GCODES_ITEM_N_S(N, S, LABEL, GCODES) GCODES_ITEM_N_S_P(N, S, GET_TEXT(LABEL), GCODES) +#define GCODES_ITEM_S_P(S, PLABEL, GCODES) MENU_ITEM_S_P(gcode, S, PLABEL, GCODES) +#define GCODES_ITEM_S(S, LABEL, GCODES) GCODES_ITEM_S_P(S, GET_TEXT(LABEL), GCODES) +#define GCODES_ITEM_N_P(N, PLABEL, GCODES) MENU_ITEM_N_P(gcode, N, PLABEL, GCODES) +#define GCODES_ITEM_N(N, LABEL, GCODES) GCODES_ITEM_N_P(N, GET_TEXT(LABEL), GCODES) +#define GCODES_ITEM_P(PLABEL, GCODES) MENU_ITEM_P(gcode, PLABEL, GCODES) +#define GCODES_ITEM(LABEL, GCODES) GCODES_ITEM_P(GET_TEXT(LABEL), GCODES) + +#define SUBMENU_N_S_P(N, S, PLABEL, DEST) MENU_ITEM_N_S_P(submenu, N, S, PLABEL, DEST) +#define SUBMENU_N_S(N, S, LABEL, DEST) SUBMENU_N_S_P(N, S, GET_TEXT(LABEL), DEST) +#define SUBMENU_S_P(S, PLABEL, DEST) MENU_ITEM_S_P(submenu, S, PLABEL, DEST) +#define SUBMENU_S(S, LABEL, DEST) SUBMENU_S_P(S, GET_TEXT(LABEL), DEST) +#define SUBMENU_N_P(N, PLABEL, DEST) MENU_ITEM_N_P(submenu, N, PLABEL, DEST) +#define SUBMENU_N(N, LABEL, DEST) SUBMENU_N_P(N, GET_TEXT(LABEL), DEST) +#define SUBMENU_P(PLABEL, DEST) MENU_ITEM_P(submenu, PLABEL, DEST) +#define SUBMENU(LABEL, DEST) SUBMENU_P(GET_TEXT(LABEL), DEST) + +#define EDIT_ITEM_N_S_P(TYPE, N, S, PLABEL, V...) MENU_ITEM_N_S_P(TYPE, N, S, PLABEL, ##V) +#define EDIT_ITEM_N_S(TYPE, N, S, LABEL, V...) EDIT_ITEM_N_S_P(TYPE, N, S, GET_TEXT(LABEL), ##V) +#define EDIT_ITEM_S_P(TYPE, S, PLABEL, V...) MENU_ITEM_S_P(TYPE, S, PLABEL, ##V) +#define EDIT_ITEM_S(TYPE, S, LABEL, V...) EDIT_ITEM_S_P(TYPE, S, GET_TEXT(LABEL), ##V) +#define EDIT_ITEM_N_P(TYPE, N, PLABEL, V...) MENU_ITEM_N_P(TYPE, N, PLABEL, ##V) +#define EDIT_ITEM_N(TYPE, N, LABEL, V...) EDIT_ITEM_N_P(TYPE, N, GET_TEXT(LABEL), ##V) +#define EDIT_ITEM_P(TYPE, PLABEL, V...) MENU_ITEM_P(TYPE, PLABEL, ##V) +#define EDIT_ITEM(TYPE, LABEL, V...) EDIT_ITEM_P(TYPE, GET_TEXT(LABEL), ##V) + +#define EDIT_ITEM_FAST_N_S_P(TYPE, N, S, PLABEL, V...) _MENU_ITEM_N_S_P(TYPE, N, S, true, PLABEL, ##V) +#define EDIT_ITEM_FAST_N_S(TYPE, N, S, LABEL, V...) EDIT_ITEM_FAST_N_S_P(TYPE, N, S, true, GET_TEXT(LABEL), ##V) +#define EDIT_ITEM_FAST_S_P(TYPE, S, PLABEL, V...) _MENU_ITEM_S_P(TYPE, S, true, PLABEL, ##V) +#define EDIT_ITEM_FAST_S(TYPE, S, LABEL, V...) EDIT_ITEM_FAST_S_P(TYPE, S, GET_TEXT(LABEL), ##V) +#define EDIT_ITEM_FAST_N_P(TYPE, N, PLABEL, V...) _MENU_ITEM_N_P(TYPE, N, true, PLABEL, ##V) +#define EDIT_ITEM_FAST_N(TYPE, N, LABEL, V...) EDIT_ITEM_FAST_N_P(TYPE, N, GET_TEXT(LABEL), ##V) +#define EDIT_ITEM_FAST_P(TYPE, PLABEL, V...) _MENU_ITEM_P(TYPE, true, PLABEL, ##V) +#define EDIT_ITEM_FAST(TYPE, LABEL, V...) EDIT_ITEM_FAST_P(TYPE, GET_TEXT(LABEL), ##V) + +#define _CONFIRM_ITEM_INNER_P(PLABEL, V...) do { \ + if (encoderLine == _thisItemNr && ui.use_click()) { \ + ui.save_previous_screen(); \ + ui.goto_screen([]{MenuItem_confirm::select_screen(V);}); \ + return; \ + } \ + if (ui.should_draw()) MenuItem_confirm::draw \ + (encoderLine == _thisItemNr, _lcdLineNr, PLABEL, ##V); \ +}while(0) + +// Indexed items set a global index value and optional data +#define _CONFIRM_ITEM_P(PLABEL, V...) do { \ + if (_menuLineNr == _thisItemNr) { \ + _skipStatic = false; \ + _CONFIRM_ITEM_INNER_P(PLABEL, ##V); \ + } \ + NEXT_ITEM(); \ +}while(0) + +// Indexed items set a global index value +#define _CONFIRM_ITEM_N_S_P(N, S, V...) do{ \ + if (_menuLineNr == _thisItemNr) { \ + _skipStatic = false; \ + MenuItemBase::init(N, S); \ + _CONFIRM_ITEM_INNER_P(TYPE, ##V); \ + } \ + NEXT_ITEM(); \ +}while(0) + +// Indexed items set a global index value +#define _CONFIRM_ITEM_N_P(N, V...) _CONFIRM_ITEM_N_S_P(N, nullptr, V) + +#define CONFIRM_ITEM_P(PLABEL,A,B,V...) _CONFIRM_ITEM_P(PLABEL, GET_TEXT(A), GET_TEXT(B), ##V) +#define CONFIRM_ITEM(LABEL, V...) CONFIRM_ITEM_P(GET_TEXT(LABEL), ##V) + +#define YESNO_ITEM_P(PLABEL, V...) _CONFIRM_ITEM_P(PLABEL, ##V) +#define YESNO_ITEM(LABEL, V...) YESNO_ITEM_P(GET_TEXT(LABEL), ##V) + +#define CONFIRM_ITEM_N_S_P(N,S,PLABEL,A,B,V...) _CONFIRM_ITEM_N_S_P(N, S, PLABEL, GET_TEXT(A), GET_TEXT(B), ##V) +#define CONFIRM_ITEM_N_S(N,S,LABEL,V...) CONFIRM_ITEM_N_S_P(N, S, GET_TEXT(LABEL), ##V) +#define CONFIRM_ITEM_N_P(N,PLABEL,A,B,V...) _CONFIRM_ITEM_N_P(N, PLABEL, GET_TEXT(A), GET_TEXT(B), ##V) +#define CONFIRM_ITEM_N(N,LABEL, V...) CONFIRM_ITEM_N_P(N, GET_TEXT(LABEL), ##V) + +#define YESNO_ITEM_N_S_P(N,S,PLABEL, V...) _CONFIRM_ITEM_N_S_P(N, S, PLABEL, ##V) +#define YESNO_ITEM_N_S(N,S,LABEL, V...) YESNO_ITEM_N_S_P(N, S, GET_TEXT(LABEL), ##V) +#define YESNO_ITEM_N_P(N,PLABEL, V...) _CONFIRM_ITEM_N_P(N, PLABEL, ##V) +#define YESNO_ITEM_N(N,LABEL, V...) YESNO_ITEM_N_P(N, GET_TEXT(LABEL), ##V) + +#if ENABLED(LEVEL_BED_CORNERS) + void _lcd_level_bed_corners(); +#endif diff --git a/Marlin/src/lcd/menu/menu_job_recovery.cpp b/Marlin/src/lcd/menu/menu_job_recovery.cpp index a2743ef58b5d..7cd2949d627c 100644 --- a/Marlin/src/lcd/menu/menu_job_recovery.cpp +++ b/Marlin/src/lcd/menu/menu_job_recovery.cpp @@ -28,7 +28,7 @@ #if BOTH(HAS_LCD_MENU, POWER_LOSS_RECOVERY) -#include "menu.h" +#include "menu_item.h" #include "../../gcode/queue.h" #include "../../sd/cardreader.h" #include "../../feature/powerloss.h" diff --git a/Marlin/src/lcd/menu/menu_led.cpp b/Marlin/src/lcd/menu/menu_led.cpp index 2719b3d8501c..290b0ddf63cd 100644 --- a/Marlin/src/lcd/menu/menu_led.cpp +++ b/Marlin/src/lcd/menu/menu_led.cpp @@ -28,24 +28,25 @@ #if HAS_LCD_MENU && EITHER(LED_CONTROL_MENU, CASE_LIGHT_MENU) -#include "menu.h" +#include "menu_item.h" #if ENABLED(LED_CONTROL_MENU) #include "../../feature/leds/leds.h" #if ENABLED(LED_COLOR_PRESETS) + void menu_led_presets() { START_MENU(); #if LCD_HEIGHT > 2 - STATIC_ITEM(MSG_LED_PRESETS, SS_CENTER|SS_INVERT); + STATIC_ITEM(MSG_LED_PRESETS, SS_DEFAULT|SS_INVERT); #endif BACK_ITEM(MSG_LED_CONTROL); - ACTION_ITEM(MSG_SET_LEDS_WHITE, leds.set_white); - ACTION_ITEM(MSG_SET_LEDS_RED, leds.set_red); + ACTION_ITEM(MSG_SET_LEDS_WHITE, leds.set_white); + ACTION_ITEM(MSG_SET_LEDS_RED, leds.set_red); ACTION_ITEM(MSG_SET_LEDS_ORANGE, leds.set_orange); - ACTION_ITEM(MSG_SET_LEDS_YELLOW,leds.set_yellow); - ACTION_ITEM(MSG_SET_LEDS_GREEN, leds.set_green); - ACTION_ITEM(MSG_SET_LEDS_BLUE, leds.set_blue); + ACTION_ITEM(MSG_SET_LEDS_YELLOW, leds.set_yellow); + ACTION_ITEM(MSG_SET_LEDS_GREEN, leds.set_green); + ACTION_ITEM(MSG_SET_LEDS_BLUE, leds.set_blue); ACTION_ITEM(MSG_SET_LEDS_INDIGO, leds.set_indigo); ACTION_ITEM(MSG_SET_LEDS_VIOLET, leds.set_violet); END_MENU(); @@ -76,18 +77,17 @@ void menu_case_light() { START_MENU(); BACK_ITEM(MSG_CONFIGURATION); - EDIT_ITEM(percent, MSG_CASE_LIGHT_BRIGHTNESS, &case_light_brightness, 0, 255, update_case_light, true); - EDIT_ITEM(bool, MSG_CASE_LIGHT, (bool*)&case_light_on, update_case_light); + EDIT_ITEM(percent, MSG_CASE_LIGHT_BRIGHTNESS, &caselight.brightness, 0, 255, caselight.update_brightness, true); + EDIT_ITEM(bool, MSG_CASE_LIGHT, (bool*)&caselight.on, caselight.update_enabled); END_MENU(); } #endif #endif - - void menu_led() { START_MENU(); BACK_ITEM(MSG_MAIN); + #if ENABLED(LED_CONTROL_MENU) bool led_on = leds.lights_on; EDIT_ITEM(bool, MSG_LEDS, &led_on, leds.toggle); @@ -97,7 +97,8 @@ void menu_led() { #endif SUBMENU(MSG_CUSTOM_LEDS, menu_led_custom); #endif - // + + // // Set Case light on/off/brightness // #if ENABLED(CASE_LIGHT_MENU) @@ -106,7 +107,7 @@ void menu_led() { SUBMENU(MSG_CASE_LIGHT, menu_case_light); else #endif - EDIT_ITEM(bool, MSG_CASE_LIGHT, (bool*)&case_light_on, update_case_light); + EDIT_ITEM(bool, MSG_CASE_LIGHT, (bool*)&caselight.on, caselight.update_enabled); #endif END_MENU(); } diff --git a/Marlin/src/lcd/menu/menu_main.cpp b/Marlin/src/lcd/menu/menu_main.cpp index 059290c5237e..8908f49fb22f 100644 --- a/Marlin/src/lcd/menu/menu_main.cpp +++ b/Marlin/src/lcd/menu/menu_main.cpp @@ -28,7 +28,7 @@ #if HAS_LCD_MENU -#include "menu.h" +#include "menu_item.h" #include "../../module/temperature.h" #include "../../gcode/queue.h" #include "../../module/printcounter.h" @@ -50,6 +50,10 @@ #include "../../lcd/menu/menu_mmu2.h" #endif +#if ENABLED(PASSWORD_FEATURE) + #include "../../feature/password/password.h" +#endif + void menu_tune(); void menu_cancelobject(); void menu_motion(); @@ -133,14 +137,12 @@ void menu_main() { if (card_detected) { if (!card_open) { - SUBMENU(MSG_MEDIA_MENU, menu_media); - MENU_ITEM(gcode, - #if PIN_EXISTS(SD_DETECT) - MSG_CHANGE_MEDIA, M21_STR - #else - MSG_RELEASE_MEDIA, PSTR("M22") - #endif - ); + SUBMENU(MSG_MEDIA_MENU, TERN(PASSWORD_ON_SD_PRINT_MENU, password.media_gatekeeper, menu_media)); + #if PIN_EXISTS(SD_DETECT) + GCODES_ITEM(MSG_CHANGE_MEDIA, M21_STR); + #else + GCODES_ITEM(MSG_RELEASE_MEDIA, PSTR("M22")); + #endif } } else { @@ -168,7 +170,7 @@ void menu_main() { #endif #if HAS_POWER_MONITOR - MENU_ITEM(submenu, MSG_POWER_MONITOR, menu_power_monitor); + SUBMENU(MSG_POWER_MONITOR, menu_power_monitor); #endif #if ENABLED(MIXING_EXTRUDER) @@ -233,14 +235,12 @@ void menu_main() { if (card_detected) { if (!card_open) { - MENU_ITEM(gcode, - #if PIN_EXISTS(SD_DETECT) - MSG_CHANGE_MEDIA, M21_STR - #else - MSG_RELEASE_MEDIA, PSTR("M22") - #endif - ); - SUBMENU(MSG_MEDIA_MENU, menu_media); + #if PIN_EXISTS(SD_DETECT) + GCODES_ITEM(MSG_CHANGE_MEDIA, M21_STR); + #else + GCODES_ITEM(MSG_RELEASE_MEDIA, PSTR("M22")); + #endif + SUBMENU(MSG_MEDIA_MENU, TERN(PASSWORD_ON_SD_PRINT_MENU, password.media_gatekeeper, menu_media)); } } else { diff --git a/Marlin/src/lcd/menu/menu_media.cpp b/Marlin/src/lcd/menu/menu_media.cpp index c22314fa9f0a..3c0c6532f034 100644 --- a/Marlin/src/lcd/menu/menu_media.cpp +++ b/Marlin/src/lcd/menu/menu_media.cpp @@ -28,7 +28,7 @@ #if BOTH(HAS_LCD_MENU, SDSUPPORT) -#include "menu.h" +#include "menu_item.h" #include "../../sd/cardreader.h" void lcd_sd_updir() { diff --git a/Marlin/src/lcd/menu/menu_mixer.cpp b/Marlin/src/lcd/menu/menu_mixer.cpp index 3f57d257ad49..8010239336ab 100644 --- a/Marlin/src/lcd/menu/menu_mixer.cpp +++ b/Marlin/src/lcd/menu/menu_mixer.cpp @@ -28,7 +28,7 @@ #if BOTH(HAS_LCD_MENU, MIXING_EXTRUDER) -#include "menu.h" +#include "menu_item.h" #include "menu_addon.h" #include "../../feature/mixing.h" @@ -37,52 +37,33 @@ #if ENABLED(GRADIENT_MIX) - void lcd_mixer_gradient_z_start_edit() { + void _lcd_mixer_gradient_z_edit(const bool isend) { ui.defer_status_screen(); ENCODER_RATE_MULTIPLY(true); - if (ui.encoderPosition != 0) { - mixer.gradient.start_z += float(int32_t(ui.encoderPosition)) * 0.1; - ui.encoderPosition = 0; - NOLESS(mixer.gradient.start_z, 0); - NOMORE(mixer.gradient.start_z, Z_MAX_POS); - } - if (ui.should_draw()) { - char tmp[21]; - strcpy_P(tmp, GET_TEXT(MSG_START_Z)); - sprintf_P(tmp + strlen(tmp), PSTR(": %4d.%d mm"), int(mixer.gradient.start_z), int(mixer.gradient.start_z * 10) % 10); - SETCURSOR(2, (LCD_HEIGHT - 1) / 2); - lcd_put_u8str(tmp); - } - if (ui.lcd_clicked) { - if (mixer.gradient.start_z > mixer.gradient.end_z) - mixer.gradient.end_z = mixer.gradient.start_z; - mixer.refresh_gradient(); - ui.goto_previous_screen(); - } - } + float &zvar = isend ? mixer.gradient.end_z : mixer.gradient.start_z; - void lcd_mixer_gradient_z_end_edit() { - ui.defer_status_screen(); - ENCODER_RATE_MULTIPLY(true); - if (ui.encoderPosition != 0) { - mixer.gradient.end_z += float(int32_t(ui.encoderPosition)) * 0.1; + if (ui.encoderPosition) { + zvar += float(int32_t(ui.encoderPosition)) * 0.1; ui.encoderPosition = 0; - NOLESS(mixer.gradient.end_z, 0); - NOMORE(mixer.gradient.end_z, Z_MAX_POS); + NOLESS(zvar, 0); + NOMORE(zvar, Z_MAX_POS); } if (ui.should_draw()) { - char tmp[21]; - strcpy_P(tmp, GET_TEXT(MSG_END_Z)); - sprintf_P(tmp + strlen(tmp), PSTR(": %4d.%d mm"), int(mixer.gradient.end_z), int(mixer.gradient.end_z * 10) % 10); - SETCURSOR(2, (LCD_HEIGHT - 1) / 2); + char tmp[16]; + SETCURSOR(1, (LCD_HEIGHT - 1) / 2); + lcd_put_u8str_P(isend ? GET_TEXT(MSG_END_Z) : GET_TEXT(MSG_START_Z)); + sprintf_P(tmp, PSTR("%4d.%d mm"), int(zvar), int(zvar * 10) % 10); + SETCURSOR_RJ(9, (LCD_HEIGHT - 1) / 2); lcd_put_u8str(tmp); } if (ui.lcd_clicked) { - if (mixer.gradient.end_z < mixer.gradient.start_z) - mixer.gradient.start_z = mixer.gradient.end_z; + if (isend && zvar < mixer.gradient.start_z) + mixer.gradient.start_z = zvar; + else if (!isend && zvar > mixer.gradient.end_z) + mixer.gradient.end_z = zvar; mixer.refresh_gradient(); ui.goto_previous_screen(); } @@ -96,19 +77,21 @@ EDIT_ITEM(int8, MSG_END_VTOOL, &mixer.gradient.end_vtool, 0, MIXING_VIRTUAL_TOOLS - 1, mixer.refresh_gradient); #if ENABLED(GRADIENT_VTOOL) - EDIT_ITEM(int8, MSG_GRADIENT_ALIAS, &mixer.gradient.vtool_index, 0, MIXING_VIRTUAL_TOOLS - 1, mixer.refresh_gradient); + EDIT_ITEM(int8, MSG_GRADIENT_ALIAS, &mixer.gradient.vtool_index, -1, MIXING_VIRTUAL_TOOLS - 1, mixer.refresh_gradient); #endif char tmp[18]; - SUBMENU(MSG_START_Z, lcd_mixer_gradient_z_start_edit); - MENU_ITEM_ADDON_START(9); + PGM_P const slabel = GET_TEXT(MSG_START_Z); + SUBMENU_P(slabel, []{ _lcd_mixer_gradient_z_edit(false); }); + MENU_ITEM_ADDON_START_RJ(11); sprintf_P(tmp, PSTR("%4d.%d mm"), int(mixer.gradient.start_z), int(mixer.gradient.start_z * 10) % 10); lcd_put_u8str(tmp); MENU_ITEM_ADDON_END(); - SUBMENU(MSG_END_Z, lcd_mixer_gradient_z_end_edit); - MENU_ITEM_ADDON_START(9); + PGM_P const elabel = GET_TEXT(MSG_END_Z); + SUBMENU_P(elabel, []{ _lcd_mixer_gradient_z_edit(true); }); + MENU_ITEM_ADDON_START_RJ(11); sprintf_P(tmp, PSTR("%4d.%d mm"), int(mixer.gradient.end_z), int(mixer.gradient.end_z * 10) % 10); lcd_put_u8str(tmp); MENU_ITEM_ADDON_END(); @@ -125,7 +108,7 @@ static uint8_t v_index; char tmp[20]; // "100%_100%" sprintf_P(tmp, PSTR("%3d%% %3d%%"), int(mixer.mix[0]), int(mixer.mix[1])); SETCURSOR(2, y); lcd_put_u8str_P(GET_TEXT(MSG_MIX)); - SETCURSOR_RJ(9, y); lcd_put_u8str(tmp); + SETCURSOR_RJ(10, y); lcd_put_u8str(tmp); } #endif @@ -157,7 +140,7 @@ void lcd_mixer_mix_edit() { #if HAS_DUAL_MIXING && !CHANNEL_MIX_EDITING // Adjust 2-channel mix from the encoder - if (ui.encoderPosition != 0) { + if (ui.encoderPosition) { mixer.mix[0] += int32_t(ui.encoderPosition); ui.encoderPosition = 0; if (mixer.mix[0] < 0) mixer.mix[0] += 101; @@ -241,9 +224,9 @@ void menu_mixer() { #if HAS_DUAL_MIXING { - char tmp[10]; + char tmp[11]; SUBMENU(MSG_MIX, lcd_mixer_mix_edit); - MENU_ITEM_ADDON_START(10); + MENU_ITEM_ADDON_START_RJ(9); mixer.update_mix_from_vtool(); sprintf_P(tmp, PSTR("%3d;%3d%%"), int(mixer.mix[0]), int(mixer.mix[1])); lcd_put_u8str(tmp); @@ -264,7 +247,7 @@ void menu_mixer() { LCD_MESSAGEPGM(MSG_VTOOLS_RESET); ui.return_to_status(); }, - ui.goto_previous_screen, + nullptr, GET_TEXT(MSG_RESET_VTOOLS), (const char *)nullptr, PSTR("?") ); @@ -272,7 +255,7 @@ void menu_mixer() { { char tmp[13]; SUBMENU(MSG_GRADIENT, lcd_mixer_edit_gradient_menu); - MENU_ITEM_ADDON_START(10); + MENU_ITEM_ADDON_START_RJ(9); sprintf_P(tmp, PSTR("T%i->T%i"), mixer.gradient.start_vtool, mixer.gradient.end_vtool); lcd_put_u8str(tmp); MENU_ITEM_ADDON_END(); diff --git a/Marlin/src/lcd/menu/menu_mmu2.cpp b/Marlin/src/lcd/menu/menu_mmu2.cpp index e9627b8411b4..0a63d90c6370 100644 --- a/Marlin/src/lcd/menu/menu_mmu2.cpp +++ b/Marlin/src/lcd/menu/menu_mmu2.cpp @@ -26,7 +26,7 @@ #include "../../feature/mmu2/mmu2.h" #include "menu_mmu2.h" -#include "menu.h" +#include "menu_item.h" uint8_t currentTool; bool mmuMenuWait; @@ -131,7 +131,7 @@ inline void action_mmu2_choose(const uint8_t tool) { void menu_mmu2_choose_filament() { START_MENU(); #if LCD_HEIGHT > 2 - STATIC_ITEM(MSG_MMU2_CHOOSE_FILAMENT_HEADER, SS_CENTER|SS_INVERT); + STATIC_ITEM(MSG_MMU2_CHOOSE_FILAMENT_HEADER, SS_DEFAULT|SS_INVERT); #endif LOOP_L_N(i, 5) ACTION_ITEM_N(i, MSG_MMU2_FILAMENT_N, []{ action_mmu2_choose(MenuItemBase::itemIndex); }); END_MENU(); @@ -145,7 +145,7 @@ void menu_mmu2_pause() { currentTool = mmu2.get_current_tool(); START_MENU(); #if LCD_HEIGHT > 2 - STATIC_ITEM(MSG_FILAMENT_CHANGE_HEADER, SS_CENTER|SS_INVERT); + STATIC_ITEM(MSG_FILAMENT_CHANGE_HEADER, SS_DEFAULT|SS_INVERT); #endif ACTION_ITEM(MSG_MMU2_RESUME, []{ mmuMenuWait = false; }); ACTION_ITEM(MSG_MMU2_UNLOAD_FILAMENT, []{ mmu2.unload(); }); diff --git a/Marlin/src/lcd/menu/menu_motion.cpp b/Marlin/src/lcd/menu/menu_motion.cpp index 9c49a3cdb7dd..77ab643cd652 100644 --- a/Marlin/src/lcd/menu/menu_motion.cpp +++ b/Marlin/src/lcd/menu/menu_motion.cpp @@ -28,7 +28,7 @@ #if HAS_LCD_MENU -#include "menu.h" +#include "menu_item.h" #include "menu_addon.h" #include "../../module/motion.h" @@ -178,12 +178,12 @@ void _menu_move_distance(const AxisEnum axis, const screenFunc_t func, const int START_MENU(); if (LCD_HEIGHT >= 4) { switch (axis) { - case X_AXIS: STATIC_ITEM(MSG_MOVE_X, SS_CENTER|SS_INVERT); break; - case Y_AXIS: STATIC_ITEM(MSG_MOVE_Y, SS_CENTER|SS_INVERT); break; - case Z_AXIS: STATIC_ITEM(MSG_MOVE_Z, SS_CENTER|SS_INVERT); break; + case X_AXIS: STATIC_ITEM(MSG_MOVE_X, SS_DEFAULT|SS_INVERT); break; + case Y_AXIS: STATIC_ITEM(MSG_MOVE_Y, SS_DEFAULT|SS_INVERT); break; + case Z_AXIS: STATIC_ITEM(MSG_MOVE_Z, SS_DEFAULT|SS_INVERT); break; default: TERN_(MANUAL_E_MOVES_RELATIVE, manual_move_e_origin = current_position.e); - STATIC_ITEM(MSG_MOVE_E, SS_CENTER|SS_INVERT); + STATIC_ITEM(MSG_MOVE_E, SS_DEFAULT|SS_INVERT); break; } } @@ -195,16 +195,22 @@ void _menu_move_distance(const AxisEnum axis, const screenFunc_t func, const int SUBMENU(MSG_MOVE_1MM, []{ _goto_manual_move( 1); }); SUBMENU(MSG_MOVE_01MM, []{ _goto_manual_move( 0.1f); }); if (axis == Z_AXIS && (SHORT_MANUAL_Z_MOVE) > 0.0f && (SHORT_MANUAL_Z_MOVE) < 0.1f) { - extern const char NUL_STR[]; - SUBMENU_P(NUL_STR, []{ _goto_manual_move(float(SHORT_MANUAL_Z_MOVE)); }); - MENU_ITEM_ADDON_START(0 + ENABLED(HAS_CHARACTER_LCD)); - char tmp[20], numstr[10]; - // Determine digits needed right of decimal - const uint8_t digs = !UNEAR_ZERO((SHORT_MANUAL_Z_MOVE) * 1000 - int((SHORT_MANUAL_Z_MOVE) * 1000)) ? 4 : - !UNEAR_ZERO((SHORT_MANUAL_Z_MOVE) * 100 - int((SHORT_MANUAL_Z_MOVE) * 100)) ? 3 : 2; - sprintf_P(tmp, GET_TEXT(MSG_MOVE_Z_DIST), dtostrf(SHORT_MANUAL_Z_MOVE, 1, digs, numstr)); + // Determine digits needed right of decimal + constexpr uint8_t digs = !UNEAR_ZERO((SHORT_MANUAL_Z_MOVE) * 1000 - int((SHORT_MANUAL_Z_MOVE) * 1000)) ? 4 : + !UNEAR_ZERO((SHORT_MANUAL_Z_MOVE) * 100 - int((SHORT_MANUAL_Z_MOVE) * 100)) ? 3 : 2; + PGM_P const label = GET_TEXT(MSG_MOVE_Z_DIST); + char tmp[strlen_P(label) + 10 + 1], numstr[10]; + sprintf_P(tmp, label, dtostrf(SHORT_MANUAL_Z_MOVE, 1, digs, numstr)); + + #if DISABLED(HAS_GRAPHICAL_TFT) + extern const char NUL_STR[]; + SUBMENU_P(NUL_STR, []{ _goto_manual_move(float(SHORT_MANUAL_Z_MOVE)); }); + MENU_ITEM_ADDON_START(0 + ENABLED(HAS_CHARACTER_LCD)); lcd_put_u8str(tmp); - MENU_ITEM_ADDON_END(); + MENU_ITEM_ADDON_END(); + #else + SUBMENU_P(tmp, []{ _goto_manual_move(float(SHORT_MANUAL_Z_MOVE)); }); + #endif } } END_MENU(); @@ -345,7 +351,7 @@ void menu_motion() { #if ENABLED(ASSISTED_TRAMMING) GCODES_ITEM(MSG_ASSISTED_TRAMMING, PSTR("G35")); #endif - + // // Level Bed // @@ -381,7 +387,7 @@ void menu_motion() { #endif #if ENABLED(Z_MIN_PROBE_REPEATABILITY_TEST) - GCODES_ITEM(MSG_M48_TEST, PSTR("G28\nM48 P10")); + GCODES_ITEM(MSG_M48_TEST, PSTR("G28 O\nM48 P10")); #endif // diff --git a/Marlin/src/lcd/menu/menu_password.cpp b/Marlin/src/lcd/menu/menu_password.cpp new file mode 100644 index 000000000000..c3924b568699 --- /dev/null +++ b/Marlin/src/lcd/menu/menu_password.cpp @@ -0,0 +1,184 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +// +// Advanced Settings Menus +// + +#include "../../inc/MarlinConfigPre.h" + +#if BOTH(HAS_LCD_MENU, PASSWORD_FEATURE) + +#include "../../feature/password/password.h" + +#include "menu_item.h" +#include "menu_addon.h" + +void menu_advanced_settings(); + +screenFunc_t success_screen, fail_screen; +bool authenticating; // = false +char string[(PASSWORD_LENGTH) + 1]; +static uint8_t digit_no; + +// +// Screen for both editing and setting the password +// +void Password::menu_password_entry() { + START_MENU(); + + // "Login" or "New Code" + STATIC_ITEM_P(authenticating ? GET_TEXT(MSG_LOGIN_REQUIRED) : GET_TEXT(MSG_EDIT_PASSWORD), SS_CENTER|SS_INVERT); + + STATIC_ITEM_P(PSTR(""), SS_CENTER|SS_INVERT, string); + + // Make the digit edit item look like a sub-menu + PGM_P const label = GET_TEXT(MSG_ENTER_DIGIT); + EDIT_ITEM_P(uint8, label, &editable.uint8, 0, 9, digit_entered); + MENU_ITEM_ADDON_START(utf8_strlen_P(label) + 1); + lcd_put_wchar(' '); + lcd_put_wchar('1' + digit_no); + SETCURSOR_X(LCD_WIDTH - 1); + lcd_put_wchar('>'); + MENU_ITEM_ADDON_END(); + + ACTION_ITEM(MSG_START_OVER, start_over); + + if (!authenticating) BACK_ITEM(MSG_BUTTON_CANCEL); + + END_MENU(); +} + +// +// Authentication check +// +void Password::authentication_done() { + ui.goto_screen(is_locked ? fail_screen : success_screen); + ui.completion_feedback(!is_locked); +} + +// A single digit was completed +void Password::digit_entered() { + uint32_t multiplier = CAT(1e, PASSWORD_LENGTH); // 1e5 = 100000 + LOOP_LE_N(i, digit_no) multiplier /= 10; + value_entry += editable.uint8 * multiplier; + string[digit_no++] = '0' + editable.uint8; + + // Exit edit screen menu and go to another screen + ui.goto_previous_screen(); + ui.use_click(); + ui.goto_screen(menu_password_entry); + + // After password has been keyed in + if (digit_no == PASSWORD_LENGTH) { + if (authenticating) + authentication_check(); + else + set_password_done(); + } +} + +// +// Set/Change Password +// +void Password::screen_password_entry() { + value_entry = 0; + digit_no = 0; + editable.uint8 = 0; + memset(string, '-', PASSWORD_LENGTH); + string[PASSWORD_LENGTH] = '\0'; + menu_password_entry(); +} + +void Password::screen_set_password() { + authenticating = false; + screen_password_entry(); +} + +void Password::authenticate_user(const screenFunc_t in_succ_scr, const screenFunc_t in_fail_scr) { + success_screen = in_succ_scr; + fail_screen = in_fail_scr; + if (is_set) { + authenticating = true; + ui.goto_screen(screen_password_entry); + ui.defer_status_screen(); + ui.update(); + } + else { + ui.goto_screen(in_succ_scr); + is_locked = false; + } +} + +void Password::access_menu_password() { + authenticate_user(menu_password, menu_advanced_settings); +} + +#if ENABLED(PASSWORD_ON_SD_PRINT_MENU) + void Password::media_gatekeeper() { + authenticate_user(menu_media, menu_main); + } +#endif + +void Password::start_over() { + ui.goto_previous_screen(); // Goto previous screen, if any + ui.goto_screen(screen_password_entry); +} + +void Password::menu_password_report() { + START_SCREEN(); + BACK_ITEM(MSG_PASSWORD_SETTINGS); + STATIC_ITEM(MSG_PASSWORD_SET, SS_LEFT, string); + STATIC_ITEM(MSG_REMINDER_SAVE_SETTINGS, SS_LEFT); + END_SCREEN(); +} + +void Password::set_password_done() { + is_set = true; + value = value_entry; + ui.completion_feedback(true); + ui.goto_screen(menu_password_report); +} + +void Password::remove_password() { + is_set = false; + string[0] = '0'; + string[1] = '\0'; + ui.completion_feedback(true); + ui.goto_screen(menu_password_report); +} + +// +// Password Menu +// +void Password::menu_password() { + START_MENU(); + BACK_ITEM(MSG_ADVANCED_SETTINGS); + SUBMENU(MSG_CHANGE_PASSWORD, screen_set_password); + ACTION_ITEM(MSG_REMOVE_PASSWORD, []{ ui.save_previous_screen(); remove_password(); } ); + #if ENABLED(EEPROM_SETTINGS) + ACTION_ITEM(MSG_STORE_EEPROM, ui.store_settings); + #endif + END_MENU(); +} + +#endif // HAS_LCD_MENU && PASSWORD_FEATURE diff --git a/Marlin/src/lcd/menu/menu_power_monitor.cpp b/Marlin/src/lcd/menu/menu_power_monitor.cpp index bacf7f379f30..e88bdb28d8c8 100644 --- a/Marlin/src/lcd/menu/menu_power_monitor.cpp +++ b/Marlin/src/lcd/menu/menu_power_monitor.cpp @@ -28,7 +28,7 @@ #if HAS_LCD_MENU && HAS_POWER_MONITOR -#include "menu.h" +#include "menu_item.h" #include "../../feature/power_monitor.h" void menu_power_monitor() { diff --git a/Marlin/src/lcd/menu/menu_spindle_laser.cpp b/Marlin/src/lcd/menu/menu_spindle_laser.cpp index 00a98d12444a..04b999eaf620 100644 --- a/Marlin/src/lcd/menu/menu_spindle_laser.cpp +++ b/Marlin/src/lcd/menu/menu_spindle_laser.cpp @@ -28,7 +28,7 @@ #if HAS_LCD_MENU && HAS_CUTTER - #include "menu.h" + #include "menu_item.h" #include "../../feature/spindle_laser.h" diff --git a/Marlin/src/lcd/menu/menu_temperature.cpp b/Marlin/src/lcd/menu/menu_temperature.cpp index 4be98f132d1b..141a8138b595 100644 --- a/Marlin/src/lcd/menu/menu_temperature.cpp +++ b/Marlin/src/lcd/menu/menu_temperature.cpp @@ -28,7 +28,7 @@ #if HAS_LCD_MENU && HAS_TEMPERATURE -#include "menu.h" +#include "menu_item.h" #include "../../module/temperature.h" #if FAN_COUNT > 1 || ENABLED(SINGLENOZZLE) diff --git a/Marlin/src/lcd/menu/menu_tmc.cpp b/Marlin/src/lcd/menu/menu_tmc.cpp index e74619d295ed..402ee41a1b45 100644 --- a/Marlin/src/lcd/menu/menu_tmc.cpp +++ b/Marlin/src/lcd/menu/menu_tmc.cpp @@ -26,9 +26,9 @@ #include "../../inc/MarlinConfigPre.h" -#if HAS_TRINAMIC_CONFIG && HAS_LCD_MENU +#if HAS_LCD_MENU && HAS_TRINAMIC_CONFIG -#include "menu.h" +#include "menu_item.h" #include "../../module/stepper/indirection.h" #include "../../feature/tmc_util.h" diff --git a/Marlin/src/lcd/menu/menu_touch_screen.cpp b/Marlin/src/lcd/menu/menu_touch_screen.cpp new file mode 100644 index 000000000000..96eae2298e6c --- /dev/null +++ b/Marlin/src/lcd/menu/menu_touch_screen.cpp @@ -0,0 +1,36 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../inc/MarlinConfigPre.h" + +#if BOTH(HAS_LCD_MENU, TOUCH_SCREEN_CALIBRATION) + +#include "menu_item.h" +#include "../ultralcd.h" + +void touch_screen_calibration() { + + ui.touch_calibration(); + +} + +#endif // TOUCH_SCREEN_CALIBRATION diff --git a/Marlin/src/lcd/menu/menu_tune.cpp b/Marlin/src/lcd/menu/menu_tune.cpp index 2d40318156e4..c02906f7f946 100644 --- a/Marlin/src/lcd/menu/menu_tune.cpp +++ b/Marlin/src/lcd/menu/menu_tune.cpp @@ -28,7 +28,7 @@ #if HAS_LCD_MENU -#include "menu.h" +#include "menu_item.h" #include "../../module/motion.h" #include "../../module/planner.h" #include "../../module/temperature.h" diff --git a/Marlin/src/lcd/menu/menu_ubl.cpp b/Marlin/src/lcd/menu/menu_ubl.cpp index 705b19869a8b..d034de095215 100644 --- a/Marlin/src/lcd/menu/menu_ubl.cpp +++ b/Marlin/src/lcd/menu/menu_ubl.cpp @@ -28,12 +28,12 @@ #if BOTH(HAS_LCD_MENU, AUTO_BED_LEVELING_UBL) -#include "menu.h" +#include "menu_item.h" #include "../../gcode/gcode.h" #include "../../gcode/queue.h" #include "../../module/motion.h" #include "../../module/planner.h" -#include "../../module/configuration_store.h" +#include "../../module/settings.h" #include "../../feature/bedlevel/bedlevel.h" static int16_t ubl_storage_slot = 0, @@ -68,6 +68,7 @@ static void _lcd_mesh_fine_tune(PGM_P const msg) { const float rounded_f = rounded_mesh_value(); MenuEditItemBase::draw_edit_screen(msg, ftostr43sign(rounded_f)); TERN_(MESH_EDIT_GFX_OVERLAY, _lcd_zoffset_overlay_gfx(rounded_f)); + TERN_(HAS_GRAPHICAL_TFT, ui.refresh(LCDVIEW_NONE)); } } @@ -77,6 +78,7 @@ static void _lcd_mesh_fine_tune(PGM_P const msg) { float lcd_mesh_edit() { return rounded_mesh_value(); } void lcd_mesh_edit_setup(const float &initial) { + TERN_(HAS_GRAPHICAL_TFT, ui.clear_lcd()); mesh_edit_accumulator = initial; ui.goto_screen([]{ _lcd_mesh_fine_tune(GET_TEXT(MSG_MESH_EDIT_Z)); }); } @@ -449,15 +451,15 @@ void ubl_map_screen() { #if IS_KINEMATIC // Index of the mesh point upon entry - const uint32_t old_pos_index = grid_index(x_plot, y_plot); + const int32_t old_pos_index = grid_index(x_plot, y_plot); // Direction from new (unconstrained) encoder value const int8_t step_dir = int32_t(ui.encoderPosition) < old_pos_index ? -1 : 1; #endif do { // Now, keep the encoder position within range - if (int32_t(ui.encoderPosition) < 0) ui.encoderPosition = GRID_MAX_POINTS - 1; - if (int32_t(ui.encoderPosition) > GRID_MAX_POINTS - 1) ui.encoderPosition = 0; + if (int32_t(ui.encoderPosition) < 0) ui.encoderPosition = GRID_MAX_POINTS + TERN(TOUCH_SCREEN, ui.encoderPosition, -1); + if (int32_t(ui.encoderPosition) > GRID_MAX_POINTS - 1) ui.encoderPosition = TERN(TOUCH_SCREEN, ui.encoderPosition - GRID_MAX_POINTS, 0); // Draw the grid point based on the encoder x = ui.encoderPosition % (GRID_MAX_POINTS_X); diff --git a/Marlin/src/lcd/scaled_tft.h b/Marlin/src/lcd/scaled_tft.h new file mode 100644 index 000000000000..be846f70a9dd --- /dev/null +++ b/Marlin/src/lcd/scaled_tft.h @@ -0,0 +1,50 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#include "../inc/MarlinConfig.h" + +#ifndef GRAPHICAL_TFT_UPSCALE + #define GRAPHICAL_TFT_UPSCALE 2 +#endif + +#ifndef TFT_WIDTH + #if GRAPHICAL_TFT_UPSCALE == 3 + #define TFT_WIDTH 480 + #else + #define TFT_WIDTH 320 + #endif +#endif +#ifndef TFT_HEIGHT + #if GRAPHICAL_TFT_UPSCALE == 3 + #define TFT_HEIGHT 320 + #else + #define TFT_HEIGHT 240 + #endif +#endif + +#ifndef TFT_PIXEL_OFFSET_X + #define TFT_PIXEL_OFFSET_X 48 +#endif +#ifndef TFT_PIXEL_OFFSET_Y + #define TFT_PIXEL_OFFSET_Y 48 +#endif diff --git a/Marlin/src/lcd/tft/bitmaps/back.bmp b/Marlin/src/lcd/tft/bitmaps/back.bmp new file mode 100644 index 000000000000..5ad1f82542fb Binary files /dev/null and b/Marlin/src/lcd/tft/bitmaps/back.bmp differ diff --git a/Marlin/src/lcd/tft/bitmaps/bed.bmp b/Marlin/src/lcd/tft/bitmaps/bed.bmp new file mode 100644 index 000000000000..842174f82081 Binary files /dev/null and b/Marlin/src/lcd/tft/bitmaps/bed.bmp differ diff --git a/Marlin/src/lcd/tft/bitmaps/bed_heated.bmp b/Marlin/src/lcd/tft/bitmaps/bed_heated.bmp new file mode 100644 index 000000000000..f029ec53228c Binary files /dev/null and b/Marlin/src/lcd/tft/bitmaps/bed_heated.bmp differ diff --git a/Marlin/src/lcd/tft/bitmaps/cancel.bmp b/Marlin/src/lcd/tft/bitmaps/cancel.bmp new file mode 100644 index 000000000000..4a2b1e485400 Binary files /dev/null and b/Marlin/src/lcd/tft/bitmaps/cancel.bmp differ diff --git a/Marlin/src/lcd/tft/bitmaps/chamber.bmp b/Marlin/src/lcd/tft/bitmaps/chamber.bmp new file mode 100644 index 000000000000..d840b5f19f6b Binary files /dev/null and b/Marlin/src/lcd/tft/bitmaps/chamber.bmp differ diff --git a/Marlin/src/lcd/tft/bitmaps/chamber_heated.bmp b/Marlin/src/lcd/tft/bitmaps/chamber_heated.bmp new file mode 100644 index 000000000000..3d23370ad08a Binary files /dev/null and b/Marlin/src/lcd/tft/bitmaps/chamber_heated.bmp differ diff --git a/Marlin/src/lcd/tft/bitmaps/confirm.bmp b/Marlin/src/lcd/tft/bitmaps/confirm.bmp new file mode 100644 index 000000000000..076fa57897de Binary files /dev/null and b/Marlin/src/lcd/tft/bitmaps/confirm.bmp differ diff --git a/Marlin/src/lcd/tft/bitmaps/decrease.bmp b/Marlin/src/lcd/tft/bitmaps/decrease.bmp new file mode 100644 index 000000000000..ec371537c8d9 Binary files /dev/null and b/Marlin/src/lcd/tft/bitmaps/decrease.bmp differ diff --git a/Marlin/src/lcd/tft/bitmaps/directory.bmp b/Marlin/src/lcd/tft/bitmaps/directory.bmp new file mode 100644 index 000000000000..994abc70db0e Binary files /dev/null and b/Marlin/src/lcd/tft/bitmaps/directory.bmp differ diff --git a/Marlin/src/lcd/tft/bitmaps/down.bmp b/Marlin/src/lcd/tft/bitmaps/down.bmp new file mode 100644 index 000000000000..42ff4e5cafcd Binary files /dev/null and b/Marlin/src/lcd/tft/bitmaps/down.bmp differ diff --git a/Marlin/src/lcd/tft/bitmaps/fan0.bmp b/Marlin/src/lcd/tft/bitmaps/fan0.bmp new file mode 100644 index 000000000000..558dbe4f8fea Binary files /dev/null and b/Marlin/src/lcd/tft/bitmaps/fan0.bmp differ diff --git a/Marlin/src/lcd/tft/bitmaps/fan1.bmp b/Marlin/src/lcd/tft/bitmaps/fan1.bmp new file mode 100644 index 000000000000..6da6f3294e63 Binary files /dev/null and b/Marlin/src/lcd/tft/bitmaps/fan1.bmp differ diff --git a/Marlin/src/lcd/tft/bitmaps/fan_fast0.bmp b/Marlin/src/lcd/tft/bitmaps/fan_fast0.bmp new file mode 100644 index 000000000000..bd0de9a1eb3c Binary files /dev/null and b/Marlin/src/lcd/tft/bitmaps/fan_fast0.bmp differ diff --git a/Marlin/src/lcd/tft/bitmaps/fan_fast1.bmp b/Marlin/src/lcd/tft/bitmaps/fan_fast1.bmp new file mode 100644 index 000000000000..6da67fa44eaa Binary files /dev/null and b/Marlin/src/lcd/tft/bitmaps/fan_fast1.bmp differ diff --git a/Marlin/src/lcd/tft/bitmaps/fan_slow0.bmp b/Marlin/src/lcd/tft/bitmaps/fan_slow0.bmp new file mode 100644 index 000000000000..45bc8e3316b2 Binary files /dev/null and b/Marlin/src/lcd/tft/bitmaps/fan_slow0.bmp differ diff --git a/Marlin/src/lcd/tft/bitmaps/fan_slow1.bmp b/Marlin/src/lcd/tft/bitmaps/fan_slow1.bmp new file mode 100644 index 000000000000..79d284b72255 Binary files /dev/null and b/Marlin/src/lcd/tft/bitmaps/fan_slow1.bmp differ diff --git a/Marlin/src/lcd/tft/bitmaps/feedrate.bmp b/Marlin/src/lcd/tft/bitmaps/feedrate.bmp new file mode 100644 index 000000000000..dcc50bcbeed8 Binary files /dev/null and b/Marlin/src/lcd/tft/bitmaps/feedrate.bmp differ diff --git a/Marlin/src/lcd/tft/bitmaps/flowrate.bmp b/Marlin/src/lcd/tft/bitmaps/flowrate.bmp new file mode 100644 index 000000000000..739375bd72a7 Binary files /dev/null and b/Marlin/src/lcd/tft/bitmaps/flowrate.bmp differ diff --git a/Marlin/src/lcd/tft/bitmaps/hotend.bmp b/Marlin/src/lcd/tft/bitmaps/hotend.bmp new file mode 100644 index 000000000000..ed24b6011e70 Binary files /dev/null and b/Marlin/src/lcd/tft/bitmaps/hotend.bmp differ diff --git a/Marlin/src/lcd/tft/bitmaps/increase.bmp b/Marlin/src/lcd/tft/bitmaps/increase.bmp new file mode 100644 index 000000000000..53d71d0c5afd Binary files /dev/null and b/Marlin/src/lcd/tft/bitmaps/increase.bmp differ diff --git a/Marlin/src/lcd/tft/bitmaps/left.bmp b/Marlin/src/lcd/tft/bitmaps/left.bmp new file mode 100644 index 000000000000..3a2b8c3345a9 Binary files /dev/null and b/Marlin/src/lcd/tft/bitmaps/left.bmp differ diff --git a/Marlin/src/lcd/tft/bitmaps/leveling.bmp b/Marlin/src/lcd/tft/bitmaps/leveling.bmp new file mode 100644 index 000000000000..34866402701c Binary files /dev/null and b/Marlin/src/lcd/tft/bitmaps/leveling.bmp differ diff --git a/Marlin/src/lcd/tft/bitmaps/marlin-logo/Marlin-1500x319.png b/Marlin/src/lcd/tft/bitmaps/marlin-logo/Marlin-1500x319.png new file mode 100644 index 000000000000..d94d3efd2c4e Binary files /dev/null and b/Marlin/src/lcd/tft/bitmaps/marlin-logo/Marlin-1500x319.png differ diff --git a/Marlin/src/lcd/tft/bitmaps/marlin-logo/Marlin-195x59.png b/Marlin/src/lcd/tft/bitmaps/marlin-logo/Marlin-195x59.png new file mode 100644 index 000000000000..d3cd15ff14e3 Binary files /dev/null and b/Marlin/src/lcd/tft/bitmaps/marlin-logo/Marlin-195x59.png differ diff --git a/Marlin/src/lcd/tft/bitmaps/marlin-logo/Marlin-228x255-greyscale.png b/Marlin/src/lcd/tft/bitmaps/marlin-logo/Marlin-228x255-greyscale.png new file mode 100644 index 000000000000..f68708a8a2ce Binary files /dev/null and b/Marlin/src/lcd/tft/bitmaps/marlin-logo/Marlin-228x255-greyscale.png differ diff --git a/Marlin/src/lcd/tft/bitmaps/marlin-logo/Marlin-228x255.png b/Marlin/src/lcd/tft/bitmaps/marlin-logo/Marlin-228x255.png new file mode 100644 index 000000000000..e62317587359 Binary files /dev/null and b/Marlin/src/lcd/tft/bitmaps/marlin-logo/Marlin-228x255.png differ diff --git a/Marlin/src/lcd/tft/bitmaps/marlin-logo/Marlin-280x200.png b/Marlin/src/lcd/tft/bitmaps/marlin-logo/Marlin-280x200.png new file mode 100644 index 000000000000..da61c1af69f7 Binary files /dev/null and b/Marlin/src/lcd/tft/bitmaps/marlin-logo/Marlin-280x200.png differ diff --git a/Marlin/src/lcd/tft/bitmaps/marlin-logo/Marlin-320x240.png b/Marlin/src/lcd/tft/bitmaps/marlin-logo/Marlin-320x240.png new file mode 100644 index 000000000000..744ba0e8b3b5 Binary files /dev/null and b/Marlin/src/lcd/tft/bitmaps/marlin-logo/Marlin-320x240.png differ diff --git a/Marlin/src/lcd/tft/bitmaps/marlin-logo/Marlin-480x319.png b/Marlin/src/lcd/tft/bitmaps/marlin-logo/Marlin-480x319.png new file mode 100644 index 000000000000..4959ca672279 Binary files /dev/null and b/Marlin/src/lcd/tft/bitmaps/marlin-logo/Marlin-480x319.png differ diff --git a/Marlin/src/lcd/tft/bitmaps/marlin-logo/Marlin-480x320.png b/Marlin/src/lcd/tft/bitmaps/marlin-logo/Marlin-480x320.png new file mode 100644 index 000000000000..ed30e04b8ab3 Binary files /dev/null and b/Marlin/src/lcd/tft/bitmaps/marlin-logo/Marlin-480x320.png differ diff --git a/Marlin/src/lcd/tft/bitmaps/menu.bmp b/Marlin/src/lcd/tft/bitmaps/menu.bmp new file mode 100644 index 000000000000..b4ecc4858cdf Binary files /dev/null and b/Marlin/src/lcd/tft/bitmaps/menu.bmp differ diff --git a/Marlin/src/lcd/tft/bitmaps/pause.bmp b/Marlin/src/lcd/tft/bitmaps/pause.bmp new file mode 100644 index 000000000000..9c42f006d37a Binary files /dev/null and b/Marlin/src/lcd/tft/bitmaps/pause.bmp differ diff --git a/Marlin/src/lcd/tft/bitmaps/refresh.bmp b/Marlin/src/lcd/tft/bitmaps/refresh.bmp new file mode 100644 index 000000000000..421b765c0380 Binary files /dev/null and b/Marlin/src/lcd/tft/bitmaps/refresh.bmp differ diff --git a/Marlin/src/lcd/tft/bitmaps/right.bmp b/Marlin/src/lcd/tft/bitmaps/right.bmp new file mode 100644 index 000000000000..0e2cd829590b Binary files /dev/null and b/Marlin/src/lcd/tft/bitmaps/right.bmp differ diff --git a/Marlin/src/lcd/tft/bitmaps/sd.bmp b/Marlin/src/lcd/tft/bitmaps/sd.bmp new file mode 100644 index 000000000000..dff13a291f8d Binary files /dev/null and b/Marlin/src/lcd/tft/bitmaps/sd.bmp differ diff --git a/Marlin/src/lcd/tft/bitmaps/settings.bmp b/Marlin/src/lcd/tft/bitmaps/settings.bmp new file mode 100644 index 000000000000..c6c5bc426eff Binary files /dev/null and b/Marlin/src/lcd/tft/bitmaps/settings.bmp differ diff --git a/Marlin/src/lcd/tft/bitmaps/up.bmp b/Marlin/src/lcd/tft/bitmaps/up.bmp new file mode 100644 index 000000000000..94afd1255bea Binary files /dev/null and b/Marlin/src/lcd/tft/bitmaps/up.bmp differ diff --git a/Marlin/src/lcd/tft/canvas.cpp b/Marlin/src/lcd/tft/canvas.cpp new file mode 100644 index 000000000000..f6a5046b8d04 --- /dev/null +++ b/Marlin/src/lcd/tft/canvas.cpp @@ -0,0 +1,179 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../inc/MarlinConfig.h" + +#if HAS_GRAPHICAL_TFT + +#include "canvas.h" + +uint16_t CANVAS::width, CANVAS::height; +uint16_t CANVAS::startLine, CANVAS::endLine; +uint16_t *CANVAS::buffer = TFT::buffer; + +void CANVAS::New(uint16_t x, uint16_t y, uint16_t width, uint16_t height) { + CANVAS::width = width; + CANVAS::height = height; + startLine = 0; + endLine = 0; + + tft.set_window(x, y, x + width - 1, y + height - 1); +} + +void CANVAS::Continue() { + startLine = endLine; + endLine = TFT_BUFFER_SIZE < width * (height - startLine) ? startLine + TFT_BUFFER_SIZE / width : height; +} + +bool CANVAS::ToScreen() { + tft.write_sequence(buffer, width * (endLine - startLine)); + return endLine == height; +} + +void CANVAS::SetBackground(uint16_t color) { + /* TODO: test and optimize perfomance */ + /* + uint32_t count = (endLine - startLine) * width; + uint16_t *pixel = buffer; + while (count--) + *pixel++ = color; + */ + const uint32_t two_pixels = (((uint32_t )color) << 16) | color; + uint32_t count = ((endLine - startLine) * width + 1) >> 1; + uint32_t *pointer = (uint32_t *)buffer; + while (count--) *pointer++ = two_pixels; +} + +void CANVAS::AddText(uint16_t x, uint16_t y, uint16_t color, uint8_t *string, uint16_t maxWidth) { + if (endLine < y || startLine > y + GetFontHeight()) return; + + if (maxWidth == 0) maxWidth = width - x; + + uint16_t stringWidth = 0; + for (uint16_t i = 0 ; *(string + i) ; i++) { + glyph_t *glyph = Glyph(string + i); + if (stringWidth + glyph->BBXWidth > maxWidth) break; + AddImage(x + stringWidth + glyph->BBXOffsetX, y + Font()->FontAscent - glyph->BBXHeight - glyph->BBXOffsetY, glyph->BBXWidth, glyph->BBXHeight, GREYSCALE1, ((uint8_t *)glyph) + sizeof(glyph_t), &color); + stringWidth += glyph->DWidth; + } +} + +void CANVAS::AddImage(int16_t x, int16_t y, MarlinImage image, uint16_t *colors) { + uint16_t *data = (uint16_t *)Images[image].data; + if (data == NULL) return; + + uint16_t image_width = Images[image].width, + image_height = Images[image].height; + colorMode_t color_mode = Images[image].colorMode; + + if (color_mode != HIGHCOLOR) + return AddImage(x, y, image_width, image_height, color_mode, (uint8_t *)data, colors); + + // HIGHCOLOR - 16 bits per pixel + + for (int16_t i = 0; i < image_height; i++) { + int16_t line = y + i; + if (line >= startLine && line < endLine) { + uint16_t *pixel = buffer + x + (line - startLine) * width; + for (int16_t j = 0; j < image_width; j++) { + if ((x + j >= 0) && (x + j < width)) *pixel = *data; + pixel++; + data++; + } + } + else + data += image_width; + } +} + +void CANVAS::AddImage(int16_t x, int16_t y, uint8_t image_width, uint8_t image_height, colorMode_t color_mode, uint8_t *data, uint16_t *colors) { + uint8_t bitsPerPixel; + switch (color_mode) { + case GREYSCALE1: bitsPerPixel = 1; break; + case GREYSCALE2: bitsPerPixel = 2; break; + case GREYSCALE4: bitsPerPixel = 4; break; + default: return; + } + + uint8_t mask = 0xFF >> (8 - bitsPerPixel), + pixelsPerByte = 8 / bitsPerPixel; + + colors--; + + for (int16_t i = 0; i < image_height; i++) { + int16_t line = y + i; + if (line >= startLine && line < endLine) { + uint16_t *pixel = buffer + x + (line - startLine) * width; + uint8_t offset = 8 - bitsPerPixel; + for (int16_t j = 0; j < image_width; j++) { + if (offset > 8) { + data++; + offset = 8 - bitsPerPixel; + } + if ((x + j >= 0) && (x + j < width)) { + const uint8_t color = ((*data) >> offset) & mask; + if (color) *pixel = *(colors + color); + } + pixel++; + offset -= bitsPerPixel; + } + data++; + } + else + data += (image_width + pixelsPerByte - 1) / pixelsPerByte; + } +} + +void CANVAS::AddRectangle(uint16_t x, uint16_t y, uint16_t rectangleWidth, uint16_t rectangleHeight, uint16_t color) { + if (endLine < y || startLine > y + rectangleHeight) return; + + for (uint16_t i = 0; i < rectangleHeight; i++) { + uint16_t line = y + i; + if (line >= startLine && line < endLine) { + uint16_t *pixel = buffer + x + (line - startLine) * width; + if (i == 0 || i == rectangleHeight - 1) { + for (uint16_t j = 0; j < rectangleWidth; j++) *pixel++ = color; + } + else { + *pixel = color; + pixel += rectangleWidth - 1; + *pixel = color; + } + } + } +} + +void CANVAS::AddBar(uint16_t x, uint16_t y, uint16_t barWidth, uint16_t barHeight, uint16_t color) { + if (endLine < y || startLine > y + barHeight) return; + + for (uint16_t i = 0; i < barHeight; i++) { + uint16_t line = y + i; + if (line >= startLine && line < endLine) { + uint16_t *pixel = buffer + x + (line - startLine) * width; + for (uint16_t j = 0; j < barWidth; j++) *pixel++ = color; + } + } +} + +CANVAS Canvas; + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/canvas.h b/Marlin/src/lcd/tft/canvas.h new file mode 100644 index 000000000000..295ea038e3e8 --- /dev/null +++ b/Marlin/src/lcd/tft/canvas.h @@ -0,0 +1,57 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#include "tft_color.h" +#include "tft_string.h" +#include "tft_image.h" +#include "tft.h" + +#include "../../inc/MarlinConfig.h" + +class CANVAS { + private: + static uint16_t width, height; + static uint16_t startLine, endLine; + static uint16_t *buffer; + + inline static font_t *Font() { return TFT_String::font(); } + inline static glyph_t *Glyph(uint8_t *character) { return TFT_String::glyph(character); } + inline static uint16_t GetFontHeight() { return TFT_String::font_height(); } + + static void AddImage(int16_t x, int16_t y, uint8_t image_width, uint8_t image_height, colorMode_t color_mode, uint8_t *data, uint16_t *colors); + static void AddImage(uint16_t x, uint16_t y, uint16_t imageWidth, uint16_t imageHeight, uint16_t color, uint16_t bgColor, uint8_t *image); + + public: + static void New(uint16_t x, uint16_t y, uint16_t width, uint16_t height); + static void Continue(); + static bool ToScreen(); + + static void SetBackground(uint16_t color); + static void AddText(uint16_t x, uint16_t y, uint16_t color, uint8_t *string, uint16_t maxWidth); + static void AddImage(int16_t x, int16_t y, MarlinImage image, uint16_t *colors); + + static void AddRectangle(uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint16_t color); + static void AddBar(uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint16_t color); +}; + +extern CANVAS Canvas; diff --git a/Marlin/src/lcd/tft/fontdata/fontdata_10x20.cpp b/Marlin/src/lcd/tft/fontdata/fontdata_10x20.cpp new file mode 100644 index 000000000000..cc328e885d41 --- /dev/null +++ b/Marlin/src/lcd/tft/fontdata/fontdata_10x20.cpp @@ -0,0 +1,257 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/* + Fontname: -Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 13, '1' Height: 13 + Calculated Max Values w= 9 h=17 x= 4 y=16 dx=10 dy= 0 ascent=16 len=26 + Font Bounding box w=10 h=20 x= 0 y=-4 + Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 + Pure Font ascent =13 descent=-4 + X Font ascent =13 descent=-4 + Max Font ascent =16 descent=-4 +*/ + +#include "../../../inc/MarlinConfigPre.h" + +#if HAS_GRAPHICAL_TFT + +#include + +extern const uint8_t font10x20[3453] = { + 0,10,20,0,252,13,2,74,4,153,32,255,252,16,252,13, + 252,0,0,0,10,0,16,2,13,13,10,4,0,192,192,192, + 192,192,192,192,192,192,192,0,192,192,6,4,4,10,2,9, + 204,204,204,72,9,11,22,10,1,1,27,0,27,0,27,0, + 127,128,54,0,54,0,54,0,255,0,108,0,108,0,108,0, + 8,13,13,10,1,0,24,126,219,216,216,216,126,27,27,27, + 219,126,24,9,12,24,10,1,0,115,0,219,0,222,0,118, + 0,12,0,12,0,24,0,24,0,55,0,61,128,109,128,103, + 0,9,13,26,10,1,0,56,0,108,0,108,0,108,0,120, + 0,48,0,112,0,216,0,205,128,199,0,198,0,239,0,121, + 128,2,5,5,10,4,8,192,192,192,192,128,5,13,13,10, + 3,0,24,48,96,96,192,192,192,192,192,96,96,48,24,5, + 13,13,10,2,0,192,96,48,48,24,24,24,24,24,48,48, + 96,192,8,7,7,10,1,3,102,102,60,255,60,102,102,8, + 7,7,10,1,3,24,24,24,255,24,24,24,4,3,3,10, + 3,255,112,112,224,8,1,1,10,1,6,255,3,3,3,10, + 4,0,224,224,224,7,12,12,10,2,0,6,6,12,12,24, + 24,48,48,96,96,192,192,8,13,13,10,1,0,24,60,102, + 102,195,195,195,195,195,102,102,60,24,8,13,13,10,1,0, + 24,56,120,216,24,24,24,24,24,24,24,24,255,8,13,13, + 10,1,0,60,102,195,195,3,3,6,28,48,96,192,192,255, + 8,13,13,10,1,0,60,102,195,195,3,6,28,6,3,195, + 195,102,60,8,13,13,10,1,0,2,6,14,30,54,102,198, + 198,255,6,6,6,6,8,13,13,10,1,0,255,192,192,192, + 192,220,230,3,3,3,195,102,60,8,13,13,10,1,0,60, + 102,194,192,192,220,230,195,195,195,195,102,60,8,13,13,10, + 1,0,255,3,3,6,6,12,12,24,24,48,48,96,96,8, + 13,13,10,1,0,60,102,195,195,195,102,60,102,195,195,195, + 102,60,8,13,13,10,1,0,60,102,195,195,195,195,103,59, + 3,3,67,102,60,3,8,8,10,4,0,224,224,0,0,0, + 0,224,224,4,9,9,10,3,255,112,112,0,0,0,0,112, + 112,224,7,13,13,10,1,0,2,6,12,24,48,96,192,96, + 48,24,12,6,2,8,6,6,10,1,3,255,0,0,0,0, + 255,7,13,13,10,2,0,128,192,96,48,24,12,6,12,24, + 48,96,192,128,8,13,13,10,1,0,60,102,195,195,195,6, + 12,24,24,24,0,24,24,8,13,13,10,1,0,60,102,195, + 207,223,219,219,219,222,204,192,99,62,8,13,13,10,1,0, + 24,60,102,102,195,195,195,255,195,195,195,195,195,8,13,13, + 10,1,0,248,204,198,198,198,204,252,198,195,195,195,198,252, + 8,13,13,10,1,0,60,102,195,192,192,192,192,192,192,192, + 195,102,60,8,13,13,10,1,0,252,198,195,195,195,195,195, + 195,195,195,195,198,252,8,13,13,10,1,0,255,192,192,192, + 192,192,252,192,192,192,192,192,255,8,13,13,10,1,0,255, + 192,192,192,192,192,252,192,192,192,192,192,192,8,13,13,10, + 1,0,60,102,195,192,192,192,207,195,195,195,195,103,61,8, + 13,13,10,1,0,195,195,195,195,195,195,255,195,195,195,195, + 195,195,8,13,13,10,1,0,255,24,24,24,24,24,24,24, + 24,24,24,24,255,9,13,26,10,1,0,31,128,6,0,6, + 0,6,0,6,0,6,0,6,0,6,0,6,0,198,0,198, + 0,108,0,56,0,8,13,13,10,1,0,195,195,198,198,204, + 204,248,204,204,198,198,195,195,8,13,13,10,1,0,192,192, + 192,192,192,192,192,192,192,192,192,192,255,8,13,13,10,1, + 0,195,195,231,231,255,219,219,219,219,195,195,195,195,8,13, + 13,10,1,0,195,227,227,243,243,219,219,207,207,199,199,195, + 195,8,13,13,10,1,0,60,102,195,195,195,195,195,195,195, + 195,195,102,60,8,13,13,10,1,0,252,198,195,195,195,195, + 198,252,192,192,192,192,192,8,14,14,10,1,255,60,102,195, + 195,195,195,195,195,195,219,207,102,62,3,8,13,13,10,1, + 0,252,198,195,195,195,195,198,252,204,198,198,195,195,8,13, + 13,10,1,0,60,102,195,192,192,96,60,6,3,3,195,102, + 60,8,13,13,10,1,0,255,24,24,24,24,24,24,24,24, + 24,24,24,24,8,13,13,10,1,0,195,195,195,195,195,195, + 195,195,195,195,195,102,60,8,13,13,10,1,0,195,195,195, + 195,102,102,102,60,60,60,24,24,24,8,13,13,10,1,0, + 195,195,195,195,195,219,219,219,219,231,231,195,195,8,13,13, + 10,1,0,195,195,102,102,60,60,24,60,60,102,102,195,195, + 8,13,13,10,1,0,195,195,102,102,60,60,24,24,24,24, + 24,24,24,8,13,13,10,1,0,255,3,3,6,12,12,24, + 48,48,96,192,192,255,6,13,13,10,2,0,252,192,192,192, + 192,192,192,192,192,192,192,192,252,7,12,12,10,2,0,192, + 192,96,96,48,48,24,24,12,12,6,6,6,13,13,10,2, + 0,252,12,12,12,12,12,12,12,12,12,12,12,252,8,4, + 4,10,1,9,24,60,102,195,9,1,2,10,1,255,255,128, + 4,3,3,10,3,10,192,96,48,8,8,8,10,1,0,62, + 99,3,127,195,195,195,125,8,13,13,10,1,0,192,192,192, + 192,192,220,230,195,195,195,195,230,220,8,8,8,10,1,0, + 62,99,192,192,192,192,99,62,8,13,13,10,1,0,3,3, + 3,3,3,59,103,195,195,195,195,103,59,8,8,8,10,1, + 0,60,102,195,255,192,192,99,62,8,13,13,10,1,0,30, + 51,51,48,48,252,48,48,48,48,48,48,48,8,12,12,10, + 1,252,125,199,198,198,198,124,192,126,195,195,195,126,8,13, + 13,10,1,0,192,192,192,192,192,220,230,195,195,195,195,195, + 195,8,11,11,10,1,0,24,24,0,120,24,24,24,24,24, + 24,255,7,15,15,10,2,252,6,6,0,30,6,6,6,6, + 6,6,6,198,198,198,124,8,13,13,10,1,0,192,192,192, + 192,192,198,204,216,240,248,204,198,195,8,13,13,10,1,0, + 120,24,24,24,24,24,24,24,24,24,24,24,255,8,8,8, + 10,1,0,182,255,219,219,219,219,219,219,8,8,8,10,1, + 0,220,230,195,195,195,195,195,195,8,8,8,10,1,0,60, + 102,195,195,195,195,102,60,8,12,12,10,1,252,220,230,195, + 195,195,195,230,220,192,192,192,192,8,12,12,10,1,252,59, + 103,195,195,195,195,103,59,3,3,3,3,8,8,8,10,1, + 0,222,115,96,96,96,96,96,96,8,8,8,10,1,0,126, + 195,192,126,3,3,195,126,8,11,11,10,1,0,48,48,48, + 252,48,48,48,48,48,51,30,8,8,8,10,1,0,195,195, + 195,195,195,195,103,59,8,8,8,10,1,0,195,195,102,102, + 60,60,24,24,8,8,8,10,1,0,195,195,195,219,219,219, + 255,102,8,8,8,10,1,0,195,102,60,24,24,60,102,195, + 8,12,12,10,1,252,195,195,195,195,195,195,103,59,3,195, + 102,60,7,8,8,10,2,0,254,6,12,24,48,96,192,254, + 8,13,13,10,1,0,15,24,24,24,24,24,240,24,24,24, + 24,24,15,2,13,13,10,4,0,192,192,192,192,192,192,192, + 192,192,192,192,192,192,8,13,13,10,1,0,240,24,24,24, + 24,24,15,24,24,24,24,24,240,8,3,3,10,1,10,115, + 219,206,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,0,0,0,10,0,16,2,13,13,10,4,0,192, + 192,0,192,192,192,192,192,192,192,192,192,192,7,12,12,10, + 1,0,24,24,60,102,194,192,192,194,102,60,24,24,9,12, + 24,10,1,0,30,0,51,0,51,0,48,0,48,0,252,0, + 48,0,48,0,48,0,248,0,173,128,231,0,9,9,18,10, + 0,1,128,128,221,128,127,0,99,0,99,0,99,0,127,0, + 221,128,128,128,8,11,11,10,1,0,129,195,102,60,126,24, + 126,24,24,24,24,2,13,13,10,4,0,192,192,192,192,192, + 0,0,0,192,192,192,192,192,8,13,13,10,1,0,60,102, + 198,96,120,204,102,51,30,6,99,102,60,6,2,2,10,2, + 11,204,204,8,11,11,10,1,0,60,102,195,189,165,161,165, + 189,195,102,60,8,9,9,10,1,4,62,67,3,127,195,195, + 125,0,255,9,11,22,10,0,0,4,128,13,128,27,0,54, + 0,108,0,216,0,108,0,54,0,27,0,13,128,4,128,8, + 4,4,10,1,4,255,255,3,3,6,1,1,10,2,6,252, + 8,11,11,10,1,0,60,102,195,189,165,189,169,173,195,102, + 60,8,1,1,10,1,13,255,6,6,6,10,2,7,48,120, + 204,204,120,48,8,7,7,10,1,2,24,24,255,24,24,0, + 255,5,7,7,10,2,6,112,216,24,48,96,192,248,5,7, + 7,10,2,6,112,216,24,48,24,216,112,4,3,3,10,3, + 10,48,96,192,7,10,10,10,1,253,198,198,198,198,198,238, + 250,192,192,192,8,13,13,10,1,0,127,255,251,251,251,123, + 27,27,27,27,27,27,27,3,3,3,10,4,5,224,224,224, + 5,4,4,10,2,252,48,24,216,112,4,7,7,10,2,6, + 96,224,96,96,96,96,240,7,9,9,10,1,4,56,108,198, + 198,198,108,56,0,254,9,11,22,10,1,0,144,0,216,0, + 108,0,54,0,27,0,13,128,27,0,54,0,108,0,216,0, + 144,0,8,12,12,10,1,1,64,192,65,66,228,8,18,38, + 74,158,2,2,8,12,12,10,1,1,64,192,65,66,228,8, + 22,41,65,130,4,15,8,12,12,10,1,1,224,16,97,18, + 228,8,18,38,74,159,2,2,8,13,13,10,1,0,24,24, + 0,24,24,24,48,96,195,195,195,102,60,8,15,15,10,1, + 0,96,48,24,0,24,60,102,195,195,195,255,195,195,195,195, + 8,15,15,10,1,0,6,12,24,0,24,60,102,195,195,195, + 255,195,195,195,195,8,15,15,10,1,0,24,60,102,0,24, + 60,102,195,195,195,255,195,195,195,195,8,15,15,10,1,0, + 50,126,76,0,24,60,102,195,195,195,255,195,195,195,195,8, + 15,15,10,1,0,102,102,0,24,60,102,102,195,195,195,255, + 195,195,195,195,8,16,16,10,1,0,60,102,102,60,0,24, + 60,102,195,195,195,255,195,195,195,195,8,13,13,10,1,0, + 31,60,108,108,204,204,255,204,204,204,204,204,207,8,17,17, + 10,1,252,60,102,195,192,192,192,192,192,192,192,195,102,60, + 24,12,108,56,8,15,15,10,1,0,96,48,24,0,255,192, + 192,192,192,252,192,192,192,192,255,8,15,15,10,1,0,12, + 24,48,0,255,192,192,192,192,252,192,192,192,192,255,8,15, + 15,10,1,0,24,60,102,0,255,192,192,192,192,252,192,192, + 192,192,255,8,15,15,10,1,0,102,102,0,0,255,192,192, + 192,192,252,192,192,192,192,255,6,15,15,10,2,0,96,48, + 24,0,252,48,48,48,48,48,48,48,48,48,252,6,15,15, + 10,2,0,24,48,96,0,252,48,48,48,48,48,48,48,48, + 48,252,6,15,15,10,2,0,48,120,204,0,252,48,48,48, + 48,48,48,48,48,48,252,6,15,15,10,2,0,204,204,0, + 252,48,48,48,48,48,48,48,48,48,48,252,9,13,26,10, + 0,0,126,0,99,0,97,128,97,128,97,128,97,128,249,128, + 97,128,97,128,97,128,97,128,99,0,126,0,8,15,15,10, + 1,0,50,126,76,0,195,227,243,243,219,219,207,207,199,195, + 195,8,15,15,10,1,0,48,24,12,0,60,102,195,195,195, + 195,195,195,195,102,60,8,15,15,10,1,0,12,24,48,0, + 60,102,195,195,195,195,195,195,195,102,60,8,15,15,10,1, + 0,24,60,102,0,60,102,195,195,195,195,195,195,195,102,60, + 8,15,15,10,1,0,50,126,76,0,60,102,195,195,195,195, + 195,195,195,102,60,8,15,15,10,1,0,102,102,0,60,102, + 195,195,195,195,195,195,195,195,102,60,7,8,8,10,1,0, + 130,198,108,56,56,108,198,130,8,15,15,10,1,255,1,62, + 102,199,199,203,203,203,211,211,211,227,102,124,128,8,15,15, + 10,1,0,48,24,12,0,195,195,195,195,195,195,195,195,195, + 102,60,8,15,15,10,1,0,12,24,48,0,195,195,195,195, + 195,195,195,195,195,102,60,8,15,15,10,1,0,24,60,102, + 0,195,195,195,195,195,195,195,195,195,102,60,8,15,15,10, + 1,0,102,102,0,195,195,195,195,195,195,195,195,195,195,102, + 60,8,15,15,10,1,0,12,24,48,0,195,195,102,102,60, + 60,24,24,24,24,24,7,13,13,10,2,0,192,192,192,252, + 198,198,198,198,198,252,192,192,192,8,13,13,10,1,0,28, + 54,99,99,102,236,108,102,99,99,99,102,108,8,12,12,10, + 1,0,48,24,12,0,126,195,3,127,195,195,195,125,8,12, + 12,10,1,0,12,24,48,0,126,195,3,127,195,195,195,125, + 8,12,12,10,1,0,24,60,102,0,126,195,3,127,195,195, + 195,125,8,12,12,10,1,0,50,126,76,0,126,195,3,127, + 195,195,195,125,8,11,11,10,1,0,102,102,0,126,195,3, + 127,195,195,195,125,8,13,13,10,1,0,60,102,102,60,0, + 126,195,3,127,195,195,195,125,8,8,8,10,1,0,118,155, + 27,30,120,216,217,110,8,12,12,10,1,252,62,99,192,192, + 192,192,99,62,24,12,108,56,8,12,12,10,1,0,96,48, + 24,0,60,102,195,255,192,192,99,62,8,12,12,10,1,0, + 6,12,24,0,60,102,195,255,192,192,99,62,8,12,12,10, + 1,0,24,60,102,0,60,102,195,255,192,192,99,62,8,11, + 11,10,1,0,102,102,0,60,102,195,255,192,192,99,62,8, + 12,12,10,1,0,96,48,24,0,120,24,24,24,24,24,24, + 255,8,12,12,10,1,0,12,24,48,0,120,24,24,24,24, + 24,24,255,8,12,12,10,1,0,24,60,102,0,120,24,24, + 24,24,24,24,255,8,11,11,10,1,0,102,102,0,120,24, + 24,24,24,24,24,255,8,13,13,10,1,0,136,216,112,112, + 216,140,62,103,195,195,195,102,60,8,12,12,10,1,0,50, + 126,76,0,220,230,195,195,195,195,195,195,8,12,12,10,1, + 0,96,48,24,0,60,102,195,195,195,195,102,60,8,12,12, + 10,1,0,6,12,24,0,60,102,195,195,195,195,102,60,8, + 12,12,10,1,0,24,60,102,0,60,102,195,195,195,195,102, + 60,8,12,12,10,1,0,50,126,76,0,60,102,195,195,195, + 195,102,60,8,11,11,10,1,0,102,102,0,60,102,195,195, + 195,195,102,60,8,10,10,10,1,1,24,24,0,0,255,255, + 0,0,24,24,8,10,10,10,1,255,1,62,102,203,203,211, + 211,102,124,128,8,12,12,10,1,0,48,24,12,0,195,195, + 195,195,195,195,103,59,8,12,12,10,1,0,6,12,24,0, + 195,195,195,195,195,195,103,59,8,12,12,10,1,0,24,60, + 102,0,195,195,195,195,195,195,103,59,8,11,11,10,1,0, + 102,102,0,195,195,195,195,195,195,103,59,8,16,16,10,1, + 252,12,24,48,0,195,195,195,195,195,195,103,59,3,195,102, + 60,7,17,17,10,2,252,192,192,192,192,192,192,248,204,198, + 198,198,204,248,192,192,192,192,8,15,15,10,1,252,102,102, + 0,195,195,195,195,195,195,103,59,3,195,102,60 +}; + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/fontdata/fontdata_ISO10646_1.cpp b/Marlin/src/lcd/tft/fontdata/fontdata_ISO10646_1.cpp new file mode 100644 index 000000000000..1694986091e0 --- /dev/null +++ b/Marlin/src/lcd/tft/fontdata/fontdata_ISO10646_1.cpp @@ -0,0 +1,314 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../inc/MarlinConfigPre.h" + +#if HAS_GRAPHICAL_TFT + +#include + +#define STM32_NOT_EXTENDED_ISO10646_1_5X7 + +#if ENABLED(STM32_NOT_EXTENDED_ISO10646_1_5X7) + // reduced font (only symbols 1 - 127) - saves about 1278 bytes of FLASH + +/* + Fontname: -Marlin6x12-Fixed-Medium-R-SemiCondensed--12-90-100-100-C-111-ISO10646-1 + Copyright: Public domain terminal emulator font. Share and enjoy. original font -Misc-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1 + Capital A Height: 7, '1' Height: 7 + Calculated Max Values w= 5 h=10 x= 5 y= 5 dx= 6 dy= 0 ascent= 8 len=10 + Font Bounding box w=12 h=13 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 7 descent=-2 + X Font ascent = 8 descent=-2 + Max Font ascent = 8 descent=-2 +*/ +extern const uint8_t ISO10646_1_5x7[1325] = { + 0x00,0x0c,0x0d,0x00,0xfe,0x07,0x02,0x26,0x03,0xbc,0x01,0x7f,0xfe,0x0a,0xfe,0x08, + 0xfe,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0xf0,0xc8,0x88,0x88,0x98,0x78,0x10,0x05, + 0x08,0x08,0x06,0x00,0x00,0xc0,0xf8,0x88,0x88,0x88,0x88,0x88,0xf8,0x05,0x05,0x05, + 0x06,0x00,0x01,0x20,0x30,0xf8,0x30,0x20,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x70, + 0xf8,0x20,0x20,0x20,0x20,0xe0,0x05,0x09,0x09,0x06,0x00,0xff,0x20,0x70,0xa8,0xa8, + 0xb8,0x88,0x88,0x70,0x20,0x07,0x06,0x06,0x08,0x00,0x01,0xe0,0x8c,0xea,0x8c,0x8a, + 0x0a,0x05,0x09,0x09,0x06,0x00,0xff,0xf8,0xa8,0x88,0x88,0x88,0x88,0x88,0xa8,0xf8, + 0x05,0x0a,0x0a,0x06,0x00,0xfe,0x20,0x50,0x50,0x50,0x50,0x88,0xa8,0xa8,0x88,0x70, + 0x03,0x03,0x03,0x06,0x00,0x06,0x40,0xa0,0x40,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00, + 0x00,0x00,0x06,0x05,0xff,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x80,0x80,0x80,0x80, + 0x00,0x80,0x03,0x03,0x03,0x06,0x01,0x05,0xa0,0xa0,0xa0,0x05,0x06,0x06,0x06,0x00, + 0x00,0x50,0xf8,0x50,0x50,0xf8,0x50,0x05,0x09,0x09,0x06,0x00,0xff,0x20,0x70,0xa8, + 0xa0,0x70,0x28,0xa8,0x70,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0xc8,0xc8,0x10,0x20, + 0x40,0x98,0x98,0x05,0x07,0x07,0x06,0x00,0x00,0x40,0xa0,0xa0,0x40,0xa8,0x90,0x68, + 0x01,0x03,0x03,0x06,0x02,0x05,0x80,0x80,0x80,0x03,0x09,0x09,0x06,0x01,0xff,0x20, + 0x40,0x40,0x80,0x80,0x80,0x40,0x40,0x20,0x03,0x09,0x09,0x06,0x01,0xff,0x80,0x40, + 0x40,0x20,0x20,0x20,0x40,0x40,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0xa8,0x70, + 0x20,0x70,0xa8,0x20,0x05,0x05,0x05,0x06,0x00,0x01,0x20,0x20,0xf8,0x20,0x20,0x02, + 0x03,0x03,0x06,0x01,0xff,0xc0,0x40,0x80,0x05,0x01,0x01,0x06,0x00,0x03,0xf8,0x02, + 0x02,0x02,0x06,0x01,0x00,0xc0,0xc0,0x05,0x07,0x07,0x06,0x00,0x00,0x08,0x10,0x10, + 0x20,0x40,0x40,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x98,0xa8,0xc8,0x88, + 0x70,0x03,0x07,0x07,0x06,0x01,0x00,0x40,0xc0,0x40,0x40,0x40,0x40,0xe0,0x05,0x07, + 0x07,0x06,0x00,0x00,0x70,0x88,0x08,0x10,0x20,0x40,0xf8,0x05,0x07,0x07,0x06,0x00, + 0x00,0xf8,0x08,0x10,0x30,0x08,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x10,0x30, + 0x50,0x90,0xf8,0x10,0x10,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0xf0,0x08,0x08, + 0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x30,0x40,0x80,0xf0,0x88,0x88,0x70,0x05, + 0x07,0x07,0x06,0x00,0x00,0xf8,0x08,0x10,0x10,0x20,0x20,0x20,0x05,0x07,0x07,0x06, + 0x00,0x00,0x70,0x88,0x88,0x70,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x70, + 0x88,0x88,0x78,0x08,0x10,0x60,0x02,0x05,0x05,0x06,0x01,0x00,0xc0,0xc0,0x00,0xc0, + 0xc0,0x02,0x06,0x06,0x06,0x01,0xff,0xc0,0xc0,0x00,0xc0,0x40,0x80,0x03,0x05,0x05, + 0x06,0x01,0x01,0x20,0x40,0x80,0x40,0x20,0x05,0x03,0x03,0x06,0x00,0x02,0xf8,0x00, + 0xf8,0x03,0x05,0x05,0x06,0x01,0x01,0x80,0x40,0x20,0x40,0x80,0x05,0x07,0x07,0x06, + 0x00,0x00,0x70,0x88,0x10,0x20,0x20,0x00,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x70, + 0x88,0xb8,0xa8,0xb8,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0xf8, + 0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x48,0x48,0x70,0x48,0x48,0xf0, + 0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0x80,0x80,0x88,0x70,0x05,0x07,0x07, + 0x06,0x00,0x00,0xf0,0x48,0x48,0x48,0x48,0x48,0xf0,0x05,0x07,0x07,0x06,0x00,0x00, + 0xf8,0x80,0x80,0xf0,0x80,0x80,0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0x80, + 0xf0,0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0x80,0x98,0x88, + 0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xf8,0x88,0x88,0x88,0x03,0x07, + 0x07,0x06,0x01,0x00,0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,0x05,0x07,0x07,0x06,0x00, + 0x00,0x38,0x10,0x10,0x10,0x10,0x90,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90, + 0xa0,0xc0,0xa0,0x90,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0x80,0x80,0x80, + 0x80,0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0xd8,0xa8,0x88,0x88,0x88,0x88,0x05, + 0x07,0x07,0x06,0x00,0x00,0x88,0x88,0xc8,0xa8,0x98,0x88,0x88,0x05,0x07,0x07,0x06, + 0x00,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xf0, + 0x88,0x88,0xf0,0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0x88, + 0xa8,0x90,0x68,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x88,0x88,0xf0,0xa0,0x90,0x88, + 0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0x70,0x08,0x88,0x70,0x05,0x07,0x07, + 0x06,0x00,0x00,0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00, + 0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88, + 0x88,0x50,0x50,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0x88,0xa8,0xa8, + 0x50,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x50,0x88,0x88,0x05,0x07, + 0x07,0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00, + 0x00,0xf8,0x08,0x10,0x20,0x40,0x80,0xf8,0x03,0x09,0x09,0x06,0x01,0xff,0xe0,0x80, + 0x80,0x80,0x80,0x80,0x80,0x80,0xe0,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x40,0x40, + 0x20,0x10,0x10,0x08,0x03,0x09,0x09,0x06,0x01,0xff,0xe0,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0xe0,0x05,0x03,0x03,0x06,0x00,0x05,0x20,0x50,0x88,0x05,0x01,0x01,0x06, + 0x00,0xfe,0xf8,0x03,0x03,0x03,0x06,0x01,0x05,0x80,0x40,0x20,0x05,0x05,0x05,0x06, + 0x00,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0xf0, + 0x88,0x88,0x88,0xf0,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x80,0x80,0x88,0x70,0x05, + 0x07,0x07,0x06,0x00,0x00,0x08,0x08,0x78,0x88,0x88,0x88,0x78,0x05,0x05,0x05,0x06, + 0x00,0x00,0x70,0x88,0xf0,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x30,0x48,0x40, + 0xe0,0x40,0x40,0x40,0x05,0x07,0x07,0x06,0x00,0xfe,0x70,0x88,0x88,0x88,0x78,0x08, + 0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0xf0,0x88,0x88,0x88,0x88,0x03,0x07, + 0x07,0x06,0x01,0x00,0x40,0x00,0xc0,0x40,0x40,0x40,0xe0,0x04,0x09,0x09,0x06,0x01, + 0xfe,0x10,0x00,0x30,0x10,0x10,0x10,0x10,0x90,0x60,0x05,0x07,0x07,0x06,0x00,0x00, + 0x80,0x80,0x88,0x90,0xe0,0x90,0x88,0x03,0x07,0x07,0x06,0x01,0x00,0xc0,0x40,0x40, + 0x40,0x40,0x40,0xe0,0x05,0x05,0x05,0x06,0x00,0x00,0xd0,0xa8,0xa8,0xa8,0xa8,0x05, + 0x05,0x05,0x06,0x00,0x00,0xb0,0xc8,0x88,0x88,0x88,0x05,0x05,0x05,0x06,0x00,0x00, + 0x70,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0xfe,0xf0,0x88,0x88,0x88,0xf0, + 0x80,0x80,0x05,0x07,0x07,0x06,0x00,0xfe,0x78,0x88,0x88,0x88,0x78,0x08,0x08,0x05, + 0x05,0x05,0x06,0x00,0x00,0xb0,0xc8,0x80,0x80,0x80,0x05,0x05,0x05,0x06,0x00,0x00, + 0x78,0x80,0x70,0x08,0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x20,0xf8,0x20,0x20, + 0x20,0x18,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0x88,0x98,0x68,0x05,0x05,0x05, + 0x06,0x00,0x00,0x88,0x88,0x88,0x50,0x20,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88, + 0xa8,0xa8,0x50,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x50,0x20,0x50,0x88,0x05,0x07, + 0x07,0x06,0x00,0xfe,0x88,0x88,0x88,0x50,0x20,0x40,0x80,0x05,0x05,0x05,0x06,0x00, + 0x00,0xf8,0x10,0x20,0x40,0xf8,0x03,0x09,0x09,0x06,0x01,0xff,0x20,0x40,0x40,0x40, + 0x80,0x40,0x40,0x40,0x20,0x01,0x09,0x09,0x06,0x02,0xff,0x80,0x80,0x80,0x80,0x80, + 0x80,0x80,0x80,0x80,0x03,0x09,0x09,0x06,0x01,0xff,0x80,0x40,0x40,0x40,0x20,0x40, + 0x40,0x40,0x80,0x05,0x03,0x03,0x06,0x00,0x02,0x48,0xa8,0x90,0xff +}; + +#else // !STM32_NOT_EXTENDED_ISO10646_1_5X7 + + // extended (original) font (symbols 1 - 255) + +/* + Fontname: -Marlin6x12-Fixed-Medium-R-SemiCondensed--12-90-100-100-C-111-ISO10646-1 + Copyright: Public domain terminal emulator font. Share and enjoy. original font -Misc-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1 + Capital A Height: 7, '1' Height: 7 + Calculated Max Values w= 6 h=10 x= 5 y= 7 dx= 6 dy= 0 ascent=10 len=10 + Font Bounding box w=12 h=13 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 7 descent=-2 + X Font ascent = 8 descent=-2 + Max Font ascent =10 descent=-2 +*/ +extern const uint8_t ISO10646_1_5x7[2648] = { + 0x00,0x0c,0x0d,0x00,0xfe,0x07,0x02,0x26,0x03,0xbc,0x01,0xff,0xfe,0x0a,0xfe,0x08, + 0xfe,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0xf0,0xc8,0x88,0x88,0x98,0x78,0x10,0x05, + 0x08,0x08,0x06,0x00,0x00,0xc0,0xf8,0x88,0x88,0x88,0x88,0x88,0xf8,0x05,0x05,0x05, + 0x06,0x00,0x01,0x20,0x30,0xf8,0x30,0x20,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x70, + 0xf8,0x20,0x20,0x20,0x20,0xe0,0x05,0x09,0x09,0x06,0x00,0xff,0x20,0x70,0xa8,0xa8, + 0xb8,0x88,0x88,0x70,0x20,0x07,0x06,0x06,0x08,0x00,0x01,0xe0,0x8c,0xea,0x8c,0x8a, + 0x0a,0x05,0x09,0x09,0x06,0x00,0xff,0xf8,0xa8,0x88,0x88,0x88,0x88,0x88,0xa8,0xf8, + 0x05,0x0a,0x0a,0x06,0x00,0xfe,0x20,0x50,0x50,0x50,0x50,0x88,0xa8,0xa8,0x88,0x70, + 0x03,0x03,0x03,0x06,0x00,0x06,0x40,0xa0,0x40,0xff,0xff,0xff,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00, + 0x00,0x00,0x06,0x05,0xff,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x80,0x80,0x80,0x80, + 0x00,0x80,0x03,0x03,0x03,0x06,0x01,0x05,0xa0,0xa0,0xa0,0x05,0x06,0x06,0x06,0x00, + 0x00,0x50,0xf8,0x50,0x50,0xf8,0x50,0x05,0x09,0x09,0x06,0x00,0xff,0x20,0x70,0xa8, + 0xa0,0x70,0x28,0xa8,0x70,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0xc8,0xc8,0x10,0x20, + 0x40,0x98,0x98,0x05,0x07,0x07,0x06,0x00,0x00,0x40,0xa0,0xa0,0x40,0xa8,0x90,0x68, + 0x01,0x03,0x03,0x06,0x02,0x05,0x80,0x80,0x80,0x03,0x09,0x09,0x06,0x01,0xff,0x20, + 0x40,0x40,0x80,0x80,0x80,0x40,0x40,0x20,0x03,0x09,0x09,0x06,0x01,0xff,0x80,0x40, + 0x40,0x20,0x20,0x20,0x40,0x40,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0xa8,0x70, + 0x20,0x70,0xa8,0x20,0x05,0x05,0x05,0x06,0x00,0x01,0x20,0x20,0xf8,0x20,0x20,0x02, + 0x03,0x03,0x06,0x01,0xff,0xc0,0x40,0x80,0x05,0x01,0x01,0x06,0x00,0x03,0xf8,0x02, + 0x02,0x02,0x06,0x01,0x00,0xc0,0xc0,0x05,0x07,0x07,0x06,0x00,0x00,0x08,0x10,0x10, + 0x20,0x40,0x40,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x98,0xa8,0xc8,0x88, + 0x70,0x03,0x07,0x07,0x06,0x01,0x00,0x40,0xc0,0x40,0x40,0x40,0x40,0xe0,0x05,0x07, + 0x07,0x06,0x00,0x00,0x70,0x88,0x08,0x10,0x20,0x40,0xf8,0x05,0x07,0x07,0x06,0x00, + 0x00,0xf8,0x08,0x10,0x30,0x08,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x10,0x30, + 0x50,0x90,0xf8,0x10,0x10,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0xf0,0x08,0x08, + 0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x30,0x40,0x80,0xf0,0x88,0x88,0x70,0x05, + 0x07,0x07,0x06,0x00,0x00,0xf8,0x08,0x10,0x10,0x20,0x20,0x20,0x05,0x07,0x07,0x06, + 0x00,0x00,0x70,0x88,0x88,0x70,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x70, + 0x88,0x88,0x78,0x08,0x10,0x60,0x02,0x05,0x05,0x06,0x01,0x00,0xc0,0xc0,0x00,0xc0, + 0xc0,0x02,0x06,0x06,0x06,0x01,0xff,0xc0,0xc0,0x00,0xc0,0x40,0x80,0x03,0x05,0x05, + 0x06,0x01,0x01,0x20,0x40,0x80,0x40,0x20,0x05,0x03,0x03,0x06,0x00,0x02,0xf8,0x00, + 0xf8,0x03,0x05,0x05,0x06,0x01,0x01,0x80,0x40,0x20,0x40,0x80,0x05,0x07,0x07,0x06, + 0x00,0x00,0x70,0x88,0x10,0x20,0x20,0x00,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x70, + 0x88,0xb8,0xa8,0xb8,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0xf8, + 0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x48,0x48,0x70,0x48,0x48,0xf0, + 0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0x80,0x80,0x88,0x70,0x05,0x07,0x07, + 0x06,0x00,0x00,0xf0,0x48,0x48,0x48,0x48,0x48,0xf0,0x05,0x07,0x07,0x06,0x00,0x00, + 0xf8,0x80,0x80,0xf0,0x80,0x80,0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0xf8,0x80,0x80, + 0xf0,0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0x80,0x98,0x88, + 0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0xf8,0x88,0x88,0x88,0x03,0x07, + 0x07,0x06,0x01,0x00,0xe0,0x40,0x40,0x40,0x40,0x40,0xe0,0x05,0x07,0x07,0x06,0x00, + 0x00,0x38,0x10,0x10,0x10,0x10,0x90,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x90, + 0xa0,0xc0,0xa0,0x90,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0x80,0x80,0x80, + 0x80,0xf8,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0xd8,0xa8,0x88,0x88,0x88,0x88,0x05, + 0x07,0x07,0x06,0x00,0x00,0x88,0x88,0xc8,0xa8,0x98,0x88,0x88,0x05,0x07,0x07,0x06, + 0x00,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0xf0, + 0x88,0x88,0xf0,0x80,0x80,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x88,0x88, + 0xa8,0x90,0x68,0x05,0x07,0x07,0x06,0x00,0x00,0xf0,0x88,0x88,0xf0,0xa0,0x90,0x88, + 0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x80,0x70,0x08,0x88,0x70,0x05,0x07,0x07, + 0x06,0x00,0x00,0xf8,0x20,0x20,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00,0x00, + 0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88, + 0x88,0x50,0x50,0x20,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x88,0x88,0xa8,0xa8, + 0x50,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x50,0x88,0x88,0x05,0x07, + 0x07,0x06,0x00,0x00,0x88,0x88,0x50,0x20,0x20,0x20,0x20,0x05,0x07,0x07,0x06,0x00, + 0x00,0xf8,0x08,0x10,0x20,0x40,0x80,0xf8,0x03,0x09,0x09,0x06,0x01,0xff,0xe0,0x80, + 0x80,0x80,0x80,0x80,0x80,0x80,0xe0,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x40,0x40, + 0x20,0x10,0x10,0x08,0x03,0x09,0x09,0x06,0x01,0xff,0xe0,0x20,0x20,0x20,0x20,0x20, + 0x20,0x20,0xe0,0x05,0x03,0x03,0x06,0x00,0x05,0x20,0x50,0x88,0x05,0x01,0x01,0x06, + 0x00,0xfe,0xf8,0x03,0x03,0x03,0x06,0x01,0x05,0x80,0x40,0x20,0x05,0x05,0x05,0x06, + 0x00,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0xf0, + 0x88,0x88,0x88,0xf0,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x80,0x80,0x88,0x70,0x05, + 0x07,0x07,0x06,0x00,0x00,0x08,0x08,0x78,0x88,0x88,0x88,0x78,0x05,0x05,0x05,0x06, + 0x00,0x00,0x70,0x88,0xf0,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x30,0x48,0x40, + 0xe0,0x40,0x40,0x40,0x05,0x07,0x07,0x06,0x00,0xfe,0x70,0x88,0x88,0x88,0x78,0x08, + 0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x80,0x80,0xf0,0x88,0x88,0x88,0x88,0x03,0x07, + 0x07,0x06,0x01,0x00,0x40,0x00,0xc0,0x40,0x40,0x40,0xe0,0x04,0x09,0x09,0x06,0x01, + 0xfe,0x10,0x00,0x30,0x10,0x10,0x10,0x10,0x90,0x60,0x05,0x07,0x07,0x06,0x00,0x00, + 0x80,0x80,0x88,0x90,0xe0,0x90,0x88,0x03,0x07,0x07,0x06,0x01,0x00,0xc0,0x40,0x40, + 0x40,0x40,0x40,0xe0,0x05,0x05,0x05,0x06,0x00,0x00,0xd0,0xa8,0xa8,0xa8,0xa8,0x05, + 0x05,0x05,0x06,0x00,0x00,0xb0,0xc8,0x88,0x88,0x88,0x05,0x05,0x05,0x06,0x00,0x00, + 0x70,0x88,0x88,0x88,0x70,0x05,0x07,0x07,0x06,0x00,0xfe,0xf0,0x88,0x88,0x88,0xf0, + 0x80,0x80,0x05,0x07,0x07,0x06,0x00,0xfe,0x78,0x88,0x88,0x88,0x78,0x08,0x08,0x05, + 0x05,0x05,0x06,0x00,0x00,0xb0,0xc8,0x80,0x80,0x80,0x05,0x05,0x05,0x06,0x00,0x00, + 0x78,0x80,0x70,0x08,0xf0,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x20,0xf8,0x20,0x20, + 0x20,0x18,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88,0x88,0x98,0x68,0x05,0x05,0x05, + 0x06,0x00,0x00,0x88,0x88,0x88,0x50,0x20,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x88, + 0xa8,0xa8,0x50,0x05,0x05,0x05,0x06,0x00,0x00,0x88,0x50,0x20,0x50,0x88,0x05,0x07, + 0x07,0x06,0x00,0xfe,0x88,0x88,0x88,0x50,0x20,0x40,0x80,0x05,0x05,0x05,0x06,0x00, + 0x00,0xf8,0x10,0x20,0x40,0xf8,0x03,0x09,0x09,0x06,0x01,0xff,0x20,0x40,0x40,0x40, + 0x80,0x40,0x40,0x40,0x20,0x01,0x09,0x09,0x06,0x02,0xff,0x80,0x80,0x80,0x80,0x80, + 0x80,0x80,0x80,0x80,0x03,0x09,0x09,0x06,0x01,0xff,0x80,0x40,0x40,0x40,0x20,0x40, + 0x40,0x40,0x80,0x05,0x03,0x03,0x06,0x00,0x02,0x48,0xa8,0x90,0xff,0xff,0xff,0xff, + 0xff,0xff,0xff,0xff,0xff,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,0x00,0x00, + 0x06,0x05,0xff,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x00,0x80,0x80,0x80,0x80,0x80, + 0x05,0x07,0x07,0x06,0x00,0xff,0x20,0x70,0xa8,0xa0,0xa8,0x70,0x20,0x05,0x07,0x07, + 0x06,0x00,0x00,0x30,0x48,0x40,0xe0,0x40,0x48,0xb0,0x05,0x05,0x05,0x06,0x00,0x00, + 0xa8,0x50,0x88,0x50,0xa8,0x05,0x07,0x07,0x06,0x00,0x00,0x88,0x50,0xf8,0x20,0xf8, + 0x20,0x20,0x01,0x07,0x07,0x06,0x02,0x00,0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x04, + 0x08,0x08,0x06,0x01,0x00,0x70,0x80,0x60,0x90,0x90,0x60,0x10,0xe0,0x03,0x01,0x01, + 0x06,0x01,0x07,0xa0,0x06,0x07,0x07,0x06,0x00,0x00,0x78,0x84,0xb4,0xa4,0xb4,0x84, + 0x78,0x03,0x05,0x05,0x06,0x01,0x04,0x60,0xa0,0x60,0x00,0xe0,0x05,0x05,0x05,0x06, + 0x00,0x00,0x28,0x50,0xa0,0x50,0x28,0x05,0x03,0x03,0x06,0x00,0x01,0xf8,0x08,0x08, + 0x03,0x01,0x01,0x06,0x01,0x03,0xe0,0x06,0x07,0x07,0x06,0x00,0x00,0x78,0x84,0xb4, + 0xa4,0xa4,0x84,0x78,0x05,0x01,0x01,0x06,0x00,0x07,0xf8,0x04,0x04,0x04,0x06,0x01, + 0x05,0x60,0x90,0x90,0x60,0x05,0x07,0x07,0x06,0x00,0x00,0x20,0x20,0xf8,0x20,0x20, + 0x00,0xf8,0x03,0x05,0x05,0x06,0x01,0x04,0x40,0xa0,0x20,0x40,0xe0,0x03,0x05,0x05, + 0x06,0x01,0x04,0xc0,0x20,0x40,0x20,0xc0,0x03,0x03,0x03,0x06,0x01,0x05,0x20,0x40, + 0x80,0x05,0x07,0x07,0x06,0x00,0xfe,0x88,0x88,0x88,0x98,0xe8,0x80,0x80,0x05,0x08, + 0x08,0x06,0x00,0x00,0x78,0xe8,0xe8,0xe8,0x68,0x28,0x28,0x28,0x02,0x02,0x02,0x06, + 0x02,0x03,0xc0,0xc0,0x03,0x02,0x02,0x06,0x01,0xfe,0x20,0xc0,0x03,0x05,0x05,0x06, + 0x01,0x04,0x40,0xc0,0x40,0x40,0xe0,0x03,0x05,0x05,0x06,0x01,0x05,0x40,0xa0,0x40, + 0x00,0xe0,0x05,0x05,0x05,0x06,0x00,0x00,0xa0,0x50,0x28,0x50,0xa0,0x05,0x0a,0x0a, + 0x06,0x00,0x00,0x40,0xc0,0x48,0x50,0x60,0x50,0xb0,0x50,0x78,0x10,0x05,0x0a,0x0a, + 0x06,0x00,0x00,0x40,0xc0,0x48,0x50,0x60,0x50,0xa8,0x08,0x10,0x38,0x05,0x0a,0x0a, + 0x06,0x00,0x00,0xc0,0x20,0x48,0x30,0xe0,0x50,0xb0,0x50,0x78,0x10,0x05,0x07,0x07, + 0x06,0x00,0x00,0x20,0x00,0x20,0x20,0x40,0x88,0x70,0x05,0x0a,0x0a,0x06,0x00,0x00, + 0x40,0x20,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x0a,0x0a,0x06,0x00,0x00, + 0x10,0x20,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x0a,0x0a,0x06,0x00,0x00, + 0x20,0x50,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x0a,0x0a,0x06,0x00,0x00, + 0x68,0xb0,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x09,0x09,0x06,0x00,0x00, + 0x50,0x00,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x0a,0x0a,0x06,0x00,0x00,0x20, + 0x50,0x20,0x70,0x88,0x88,0xf8,0x88,0x88,0x88,0x05,0x07,0x07,0x06,0x00,0x00,0x78, + 0xa0,0xa0,0xf0,0xa0,0xa0,0xb8,0x05,0x09,0x09,0x06,0x00,0xfe,0x70,0x88,0x80,0x80, + 0x80,0x88,0x70,0x10,0x60,0x05,0x0a,0x0a,0x06,0x00,0x00,0x40,0x20,0x00,0xf8,0x80, + 0x80,0xf0,0x80,0x80,0xf8,0x05,0x0a,0x0a,0x06,0x00,0x00,0x10,0x20,0x00,0xf8,0x80, + 0x80,0xf0,0x80,0x80,0xf8,0x05,0x0a,0x0a,0x06,0x00,0x00,0x20,0x50,0x00,0xf8,0x80, + 0x80,0xf0,0x80,0x80,0xf8,0x05,0x09,0x09,0x06,0x00,0x00,0x50,0x00,0xf8,0x80,0x80, + 0xf0,0x80,0x80,0xf8,0x03,0x0a,0x0a,0x06,0x01,0x00,0x80,0x40,0x00,0xe0,0x40,0x40, + 0x40,0x40,0x40,0xe0,0x03,0x0a,0x0a,0x06,0x01,0x00,0x20,0x40,0x00,0xe0,0x40,0x40, + 0x40,0x40,0x40,0xe0,0x03,0x0a,0x0a,0x06,0x01,0x00,0x40,0xa0,0x00,0xe0,0x40,0x40, + 0x40,0x40,0x40,0xe0,0x03,0x09,0x09,0x06,0x01,0x00,0xa0,0x00,0xe0,0x40,0x40,0x40, + 0x40,0x40,0xe0,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x48,0x48,0xe8,0x48,0x48,0x70, + 0x05,0x0a,0x0a,0x06,0x00,0x00,0x68,0xb0,0x00,0x88,0x88,0xc8,0xa8,0x98,0x88,0x88, + 0x05,0x0a,0x0a,0x06,0x00,0x00,0x40,0x20,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70, + 0x05,0x0a,0x0a,0x06,0x00,0x00,0x10,0x20,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70, + 0x05,0x0a,0x0a,0x06,0x00,0x00,0x20,0x50,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70, + 0x05,0x0a,0x0a,0x06,0x00,0x00,0x68,0xb0,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70, + 0x05,0x09,0x09,0x06,0x00,0x00,0x50,0x00,0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x05, + 0x05,0x05,0x06,0x00,0x01,0x88,0x50,0x20,0x50,0x88,0x05,0x09,0x09,0x06,0x00,0xff, + 0x08,0x70,0x98,0xa8,0xa8,0xa8,0xc8,0x70,0x80,0x05,0x0a,0x0a,0x06,0x00,0x00,0x40, + 0x20,0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x0a,0x0a,0x06,0x00,0x00,0x10, + 0x20,0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x0a,0x0a,0x06,0x00,0x00,0x20, + 0x50,0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x09,0x09,0x06,0x00,0x00,0x50, + 0x00,0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x05,0x0a,0x0a,0x06,0x00,0x00,0x10,0x20, + 0x00,0x88,0x88,0x50,0x20,0x20,0x20,0x20,0x04,0x07,0x07,0x06,0x01,0x00,0x80,0xe0, + 0x90,0x90,0x90,0xe0,0x80,0x05,0x07,0x07,0x06,0x00,0x00,0x70,0x88,0x90,0xa0,0x90, + 0x88,0xb0,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x20,0x00,0x70,0x08,0x78,0x88,0x78, + 0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x08, + 0x08,0x06,0x00,0x00,0x20,0x50,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x08,0x08,0x06, + 0x00,0x00,0x68,0xb0,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x07,0x07,0x06,0x00,0x00, + 0x50,0x00,0x70,0x08,0x78,0x88,0x78,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x50,0x20, + 0x70,0x08,0x78,0x88,0x78,0x05,0x05,0x05,0x06,0x00,0x00,0x70,0x28,0x70,0xa0,0x78, + 0x05,0x07,0x07,0x06,0x00,0xfe,0x70,0x88,0x80,0x88,0x70,0x10,0x60,0x05,0x08,0x08, + 0x06,0x00,0x00,0x40,0x20,0x00,0x70,0x88,0xf0,0x80,0x70,0x05,0x08,0x08,0x06,0x00, + 0x00,0x10,0x20,0x00,0x70,0x88,0xf0,0x80,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x20, + 0x50,0x00,0x70,0x88,0xf0,0x80,0x70,0x05,0x07,0x07,0x06,0x00,0x00,0x50,0x00,0x70, + 0x88,0xf0,0x80,0x70,0x03,0x08,0x08,0x06,0x01,0x00,0x80,0x40,0x00,0xc0,0x40,0x40, + 0x40,0xe0,0x03,0x08,0x08,0x06,0x01,0x00,0x20,0x40,0x00,0xc0,0x40,0x40,0x40,0xe0, + 0x03,0x08,0x08,0x06,0x01,0x00,0x40,0xa0,0x00,0xc0,0x40,0x40,0x40,0xe0,0x03,0x07, + 0x07,0x06,0x01,0x00,0xa0,0x00,0xc0,0x40,0x40,0x40,0xe0,0x05,0x09,0x09,0x06,0x00, + 0x00,0x50,0x20,0x50,0x08,0x78,0x88,0x88,0x88,0x70,0x05,0x08,0x08,0x06,0x00,0x00, + 0x68,0xb0,0x00,0xb0,0xc8,0x88,0x88,0x88,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x20, + 0x00,0x70,0x88,0x88,0x88,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x70, + 0x88,0x88,0x88,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x20,0x50,0x00,0x70,0x88,0x88, + 0x88,0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x68,0xb0,0x00,0x70,0x88,0x88,0x88,0x70, + 0x05,0x07,0x07,0x06,0x00,0x00,0x50,0x00,0x70,0x88,0x88,0x88,0x70,0x05,0x05,0x05, + 0x06,0x00,0x01,0x20,0x00,0xf8,0x00,0x20,0x05,0x05,0x05,0x06,0x00,0x00,0x78,0x98, + 0xa8,0xc8,0xf0,0x05,0x08,0x08,0x06,0x00,0x00,0x40,0x20,0x00,0x88,0x88,0x88,0x88, + 0x70,0x05,0x08,0x08,0x06,0x00,0x00,0x10,0x20,0x00,0x88,0x88,0x88,0x88,0x70,0x05, + 0x08,0x08,0x06,0x00,0x00,0x20,0x50,0x00,0x88,0x88,0x88,0x88,0x70,0x05,0x07,0x07, + 0x06,0x00,0x00,0x50,0x00,0x88,0x88,0x88,0x88,0x70,0x05,0x0a,0x0a,0x06,0x00,0xfe, + 0x10,0x20,0x00,0x88,0x88,0x88,0x50,0x20,0x40,0x80,0x05,0x09,0x09,0x06,0x00,0xfe, + 0x80,0x80,0xf0,0x88,0x88,0x88,0xf0,0x80,0x80,0x05,0x09,0x09,0x06,0x00,0xfe,0x50, + 0x00,0x88,0x88,0x88,0x50,0x20,0x40,0x80 +}; + +#endif // !STM32_NOT_EXTENDED_ISO10646_1_5X7 + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/fontdata/helvetica_12_bold.cpp b/Marlin/src/lcd/tft/fontdata/helvetica_12_bold.cpp new file mode 100644 index 000000000000..12efb3ba4947 --- /dev/null +++ b/Marlin/src/lcd/tft/fontdata/helvetica_12_bold.cpp @@ -0,0 +1,302 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/* + Fontname: Helvetica + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 12, '1' Height: 12 + Calculated Max Values w=14 h=17 x= 2 y=10 dx=16 dy= 0 ascent=14 len=32 + Font Bounding box w=16 h=17 x= 0 y=-4 + Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 + Pure Font ascent =12 descent=-4 + X Font ascent =12 descent=-4 + Max Font ascent =14 descent=-4 +*/ + +#include "../../../inc/MarlinConfigPre.h" + +#if HAS_GRAPHICAL_TFT + +#include + +extern const uint8_t Helvetica12Bold[4172] = { + 0,16,17,0,252,12,2,74,5,106,32,255,252,14,252,12, + 252,0,0,0,5,0,0,2,12,12,6,2,0,192,192,192, + 192,192,192,192,192,192,0,192,192,5,4,4,8,1,8,216, + 216,216,72,9,12,24,9,0,0,27,0,27,0,27,0,127, + 128,127,128,54,0,54,0,255,0,255,0,108,0,108,0,108, + 0,7,14,14,9,1,255,16,124,254,214,208,240,120,60,30, + 22,214,254,124,16,13,12,24,14,0,0,48,64,120,128,204, + 128,205,0,121,0,50,0,2,96,4,240,5,152,9,152,8, + 240,16,96,10,12,24,12,1,0,60,0,126,0,102,0,102, + 0,60,0,56,192,125,192,207,128,199,0,199,0,127,128,57, + 192,2,4,4,4,1,8,192,192,192,64,4,15,15,6,1, + 253,48,112,96,192,192,192,192,192,192,192,192,192,96,112,48, + 4,15,15,6,0,253,192,224,96,48,48,48,48,48,48,48, + 48,48,96,224,192,5,5,5,6,0,7,32,168,112,112,136, + 8,8,8,10,1,0,24,24,24,255,255,24,24,24,2,5, + 5,4,1,253,192,192,64,64,128,4,2,2,5,0,3,240, + 240,2,2,2,4,1,0,192,192,4,12,12,5,0,0,16, + 16,48,32,32,96,64,64,192,128,128,128,8,12,12,9,0, + 0,60,126,231,195,195,195,195,195,195,231,126,60,5,12,12, + 9,1,0,8,24,248,248,24,24,24,24,24,24,24,24,8, + 12,12,9,0,0,60,126,231,195,195,7,14,28,56,112,255, + 255,8,12,12,9,0,0,60,126,231,195,7,30,30,7,195, + 231,126,60,8,12,12,9,0,0,14,30,54,54,102,102,198, + 255,255,6,6,6,8,12,12,9,0,0,63,63,48,48,124, + 126,71,3,3,231,126,60,8,12,12,9,0,0,60,126,231, + 192,220,254,231,195,195,231,126,60,8,12,12,9,0,0,255, + 255,6,6,12,12,24,24,24,48,48,48,8,12,12,9,0, + 0,60,126,231,195,102,60,126,231,195,231,126,60,8,12,12, + 9,0,0,60,126,231,195,195,231,127,59,3,231,126,60,2, + 8,8,5,2,0,192,192,0,0,0,0,192,192,2,11,11, + 5,2,253,192,192,0,0,0,0,192,192,64,64,128,8,8, + 8,10,1,0,3,15,60,224,224,60,15,3,8,6,6,10, + 1,1,255,255,0,0,255,255,8,8,8,10,1,0,192,240, + 60,7,7,60,240,192,7,12,12,10,1,0,124,254,198,198, + 6,14,12,24,24,0,24,24,13,14,28,16,1,254,15,192, + 56,96,96,16,71,216,204,72,136,200,152,200,152,136,153,152, + 201,144,70,96,96,0,56,192,15,128,11,12,24,12,0,0, + 14,0,14,0,31,0,27,0,59,128,49,128,113,192,96,192, + 127,192,255,224,192,96,192,96,9,12,24,11,1,0,254,0, + 255,0,195,128,193,128,195,128,255,0,255,0,195,128,193,128, + 195,128,255,0,254,0,10,12,24,12,1,0,31,0,63,128, + 113,192,96,192,224,0,192,0,192,0,224,0,96,192,113,192, + 63,128,31,0,10,12,24,12,1,0,252,0,255,0,195,128, + 193,128,193,192,192,192,192,192,193,192,193,128,195,128,255,0, + 252,0,8,12,12,10,1,0,255,255,192,192,192,254,254,192, + 192,192,255,255,8,12,12,10,1,0,255,255,192,192,192,254, + 254,192,192,192,192,192,10,12,24,12,1,0,31,0,63,128, + 113,192,96,192,224,0,192,0,195,192,227,192,96,192,113,192, + 63,192,30,192,10,12,24,12,1,0,192,192,192,192,192,192, + 192,192,255,192,255,192,192,192,192,192,192,192,192,192,192,192, + 192,192,2,12,12,4,1,0,192,192,192,192,192,192,192,192, + 192,192,192,192,7,12,12,9,1,0,6,6,6,6,6,6, + 6,6,198,198,254,124,10,12,24,12,1,0,193,192,195,128, + 199,0,206,0,220,0,248,0,252,0,206,0,199,0,195,128, + 193,192,192,192,8,12,12,10,1,0,192,192,192,192,192,192, + 192,192,192,192,255,255,11,12,24,13,1,0,224,224,224,224, + 224,224,241,224,241,224,209,96,219,96,219,96,202,96,206,96, + 206,96,196,96,10,12,24,12,1,0,224,192,240,192,240,192, + 216,192,216,192,204,192,204,192,198,192,198,192,195,192,195,192, + 193,192,11,12,24,13,1,0,31,0,63,128,113,192,96,192, + 224,224,192,96,192,96,224,224,96,192,113,192,63,128,31,0, + 9,12,24,11,1,0,254,0,255,0,195,128,193,128,193,128, + 195,128,255,0,254,0,192,0,192,0,192,0,192,0,11,13, + 26,13,1,255,31,0,63,128,113,192,96,192,224,224,192,96, + 192,96,226,96,103,192,115,192,63,128,31,192,0,128,10,12, + 24,12,1,0,255,0,255,128,193,128,193,128,195,128,255,0, + 255,0,195,128,193,128,193,128,193,192,193,192,9,12,24,11, + 1,0,62,0,127,0,227,128,193,128,240,0,126,0,31,0, + 3,128,193,128,227,128,127,0,62,0,10,12,24,10,0,0, + 255,192,255,192,12,0,12,0,12,0,12,0,12,0,12,0, + 12,0,12,0,12,0,12,0,10,12,24,12,1,0,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 225,192,127,128,63,0,10,12,24,11,0,0,192,192,192,192, + 97,128,97,128,97,128,51,0,51,0,51,0,30,0,30,0, + 12,0,12,0,14,12,24,15,0,0,195,12,195,12,195,12, + 99,24,103,152,103,152,52,176,60,240,60,240,24,96,24,96, + 24,96,9,12,24,11,1,0,193,128,227,128,99,0,54,0, + 62,0,28,0,28,0,62,0,54,0,99,0,227,128,193,128, + 10,12,24,11,0,0,192,192,225,192,97,128,51,0,51,0, + 30,0,30,0,12,0,12,0,12,0,12,0,12,0,8,12, + 12,10,1,0,255,255,7,6,12,28,56,48,96,224,255,255, + 4,15,15,6,1,253,240,240,192,192,192,192,192,192,192,192, + 192,192,192,240,240,4,12,12,5,0,0,128,128,192,64,64, + 96,32,32,48,16,16,16,4,15,15,6,0,253,240,240,48, + 48,48,48,48,48,48,48,48,48,48,240,240,8,7,7,10, + 1,5,24,24,60,102,102,195,195,9,1,2,9,0,253,255, + 128,3,3,3,6,2,10,128,192,32,8,9,9,9,1,0, + 124,254,198,14,126,230,198,254,119,8,12,12,10,1,0,192, + 192,192,220,254,231,195,195,195,231,254,220,8,9,9,9,1, + 0,60,126,231,192,192,192,231,126,60,8,12,12,10,1,0, + 3,3,3,63,127,231,195,195,195,231,127,59,8,9,9,10, + 1,0,60,126,195,255,255,192,231,126,60,4,12,12,6,1, + 0,48,112,96,240,240,96,96,96,96,96,96,96,8,13,13, + 10,1,252,59,127,231,195,195,195,231,127,59,3,231,126,60, + 8,12,12,10,1,0,192,192,192,222,255,227,195,195,195,195, + 195,195,2,12,12,4,1,0,192,192,0,192,192,192,192,192, + 192,192,192,192,3,16,16,5,1,252,96,96,0,96,96,96, + 96,96,96,96,96,96,96,96,224,192,8,12,12,9,1,0, + 192,192,192,199,206,220,248,252,236,206,198,199,2,12,12,4, + 1,0,192,192,192,192,192,192,192,192,192,192,192,192,12,9, + 18,14,1,0,222,224,255,240,231,48,198,48,198,48,198,48, + 198,48,198,48,198,48,8,9,9,10,1,0,222,255,227,195, + 195,195,195,195,195,8,9,9,10,1,0,60,126,231,195,195, + 195,231,126,60,8,13,13,10,1,252,220,254,231,195,195,195, + 231,254,220,192,192,192,192,8,13,13,10,1,252,59,127,231, + 195,195,195,231,127,59,3,3,3,3,5,9,9,6,1,0, + 216,248,224,192,192,192,192,192,192,7,9,9,9,1,0,124, + 254,198,240,124,14,198,254,124,4,11,11,6,1,0,96,96, + 240,240,96,96,96,96,96,112,48,8,9,9,10,1,0,195, + 195,195,195,195,195,199,255,123,8,9,9,9,0,0,195,195, + 102,102,102,60,60,24,24,12,9,18,13,0,0,198,48,198, + 48,102,96,102,96,111,96,63,192,57,192,25,128,25,128,7, + 9,9,9,1,0,198,198,108,124,56,124,108,198,198,8,13, + 13,9,0,252,195,195,99,102,54,54,60,28,24,24,24,112, + 96,7,9,9,8,0,0,254,254,14,28,24,56,112,254,254, + 4,15,15,6,1,253,48,112,96,96,96,96,96,192,96,96, + 96,96,96,112,48,1,16,16,4,1,252,128,128,128,128,128, + 128,128,128,128,128,128,128,128,128,128,128,4,15,15,6,1, + 253,192,224,96,96,96,96,96,48,96,96,96,96,96,224,192, + 8,3,3,10,1,3,113,153,142,0,0,0,1,0,0,0, + 0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0, + 0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0, + 1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0, + 0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0, + 0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0, + 1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0, + 0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0, + 0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0, + 1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0, + 0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0, + 0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0, + 1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0, + 0,0,5,0,0,2,12,12,6,1,253,192,192,0,64,64, + 64,192,192,192,192,192,192,8,11,11,9,0,255,4,60,126, + 239,200,216,208,247,126,60,32,8,12,12,9,0,0,28,62, + 99,99,96,48,124,48,48,32,127,255,7,7,7,9,1,2, + 186,124,198,198,198,124,186,8,12,12,9,0,0,195,195,102, + 102,60,24,126,24,126,24,24,24,1,16,16,5,2,252,128, + 128,128,128,128,128,128,0,0,128,128,128,128,128,128,128,8, + 15,15,9,0,253,60,126,102,96,120,126,199,195,243,126,30, + 6,102,126,60,5,2,2,6,0,10,216,216,12,12,24,12, + 0,0,15,0,57,192,96,96,79,32,217,176,144,16,144,16, + 217,176,79,32,96,32,57,192,15,0,5,7,7,6,1,5, + 96,144,112,144,120,0,248,8,6,6,9,0,2,51,102,204, + 204,102,51,8,5,5,10,0,2,255,255,3,3,3,4,2, + 2,5,0,3,240,240,12,12,24,12,0,0,15,0,57,192, + 96,96,95,32,217,176,153,144,158,16,219,48,91,32,96,96, + 57,192,15,0,5,1,1,6,0,10,248,4,5,5,7,1, + 7,96,144,144,144,96,8,11,11,10,1,0,24,24,24,255, + 255,24,24,24,0,255,255,5,7,7,6,0,5,112,216,216, + 48,96,248,248,5,7,7,6,0,5,112,216,24,48,24,216, + 112,3,3,3,6,1,10,32,96,128,8,12,12,10,1,253, + 195,195,195,195,195,195,199,255,251,192,192,192,8,15,15,9, + 0,253,127,242,242,242,242,242,114,18,18,18,18,18,18,18, + 18,2,2,2,5,1,4,192,192,5,4,4,6,0,252,32, + 48,152,112,4,7,7,6,1,5,48,240,240,48,48,48,48, + 5,7,7,6,0,5,112,216,136,216,112,0,248,8,6,6, + 9,1,2,204,102,51,51,102,204,13,12,24,14,1,0,48, + 192,240,128,241,128,49,0,51,48,50,112,54,240,4,176,13, + 176,9,248,24,48,16,48,12,12,24,14,0,0,48,128,241, + 128,241,0,51,0,50,0,54,224,53,176,13,176,8,96,24, + 192,17,240,49,240,13,12,24,14,0,0,112,64,216,192,24, + 128,49,128,25,48,219,112,114,240,6,176,5,176,13,248,8, + 48,24,48,7,12,12,10,1,253,48,48,0,48,48,96,224, + 192,198,198,254,124,11,14,28,12,0,0,4,0,0,0,14, + 0,14,0,31,0,27,0,59,128,49,128,113,192,96,192,127, + 192,255,224,192,96,192,96,11,14,28,12,0,0,8,0,0, + 0,14,0,14,0,31,0,27,0,59,128,49,128,113,192,96, + 192,127,192,255,224,192,96,192,96,11,14,28,12,0,0,17, + 0,0,0,14,0,14,0,31,0,27,0,59,128,49,128,113, + 192,96,192,127,192,255,224,192,96,192,96,11,14,28,12,0, + 0,23,0,0,0,14,0,14,0,31,0,27,0,59,128,49, + 128,113,192,96,192,127,192,255,224,192,96,192,96,11,14,28, + 12,0,0,49,128,0,0,14,0,14,0,31,0,27,0,59, + 128,49,128,113,192,96,192,127,192,255,224,192,96,192,96,11, + 14,28,12,0,0,18,0,12,0,14,0,14,0,31,0,27, + 0,59,128,49,128,113,192,96,192,127,192,255,224,192,96,192, + 96,14,12,24,15,0,0,31,252,31,252,27,0,51,0,51, + 0,51,248,99,248,127,0,127,0,195,0,195,252,195,252,10, + 16,32,12,1,252,31,0,63,128,113,192,96,192,224,0,192, + 0,192,0,224,0,96,192,113,192,63,128,31,0,4,0,6, + 0,19,0,14,0,8,14,14,10,1,0,8,0,255,255,192, + 192,192,254,254,192,192,192,255,255,8,14,14,10,1,0,16, + 0,255,255,192,192,192,254,254,192,192,192,255,255,8,14,14, + 10,1,0,34,0,255,255,192,192,192,254,254,192,192,192,255, + 255,8,14,14,10,1,0,102,0,255,255,192,192,192,254,254, + 192,192,192,255,255,2,14,14,4,1,0,64,0,192,192,192, + 192,192,192,192,192,192,192,192,192,2,14,14,4,1,0,128, + 0,192,192,192,192,192,192,192,192,192,192,192,192,5,14,14, + 5,0,0,136,0,96,96,96,96,96,96,96,96,96,96,96, + 96,5,14,14,5,0,0,152,0,96,96,96,96,96,96,96, + 96,96,96,96,96,12,12,24,12,0,0,63,0,63,192,48, + 224,48,96,48,112,252,48,252,48,48,112,48,96,48,224,63, + 192,63,0,10,14,28,12,1,0,46,0,0,0,224,192,240, + 192,240,192,216,192,216,192,204,192,204,192,198,192,198,192,195, + 192,195,192,193,192,11,14,28,13,1,0,2,0,0,0,31, + 0,63,128,113,192,96,192,224,224,192,96,192,96,224,224,96, + 192,113,192,63,128,31,0,11,14,28,13,1,0,4,0,0, + 0,31,0,63,128,113,192,96,192,224,224,192,96,192,96,224, + 224,96,192,113,192,63,128,31,0,11,14,28,13,1,0,17, + 0,0,0,31,0,63,128,113,192,96,192,224,224,192,96,192, + 96,224,224,96,192,113,192,63,128,31,0,11,14,28,13,1, + 0,23,0,0,0,31,0,63,128,113,192,96,192,224,224,192, + 96,192,96,224,224,96,192,113,192,63,128,31,0,11,14,28, + 13,1,0,25,128,0,0,31,0,63,128,113,192,96,192,224, + 224,192,96,192,96,224,224,96,192,113,192,63,128,31,0,9, + 9,18,10,0,0,65,0,227,128,119,0,62,0,28,0,62, + 0,119,0,227,128,65,0,11,12,24,13,1,0,31,32,63, + 192,112,192,97,192,227,96,198,96,204,96,216,224,112,192,97, + 192,127,128,159,0,10,14,28,12,1,0,4,0,0,0,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,225,192,127,128,63,0,10,14,28,12,1,0,8,0,0, + 0,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,225,192,127,128,63,0,10,14,28,12,1,0,17, + 0,0,0,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,225,192,127,128,63,0,10,14,28,12,1, + 0,51,0,0,0,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,225,192,127,128,63,0,10,14,28, + 11,0,0,8,0,0,0,192,192,225,192,97,128,51,0,51, + 0,30,0,30,0,12,0,12,0,12,0,12,0,12,0,9, + 12,24,11,1,0,192,0,254,0,255,0,195,128,193,128,193, + 128,195,128,255,0,254,0,192,0,192,0,192,0,8,12,12, + 10,1,0,124,254,198,198,220,222,195,195,195,195,222,220,8, + 13,13,9,1,0,32,48,8,0,124,254,198,14,126,230,198, + 254,119,8,13,13,9,1,0,4,12,16,0,124,254,198,14, + 126,230,198,254,119,8,13,13,9,1,0,16,56,68,0,124, + 254,198,14,126,230,198,254,119,8,12,12,9,1,0,58,92, + 0,124,254,198,14,126,230,198,254,119,8,12,12,9,1,0, + 108,108,0,124,254,198,14,126,230,198,254,119,8,13,13,9, + 1,0,24,36,36,24,124,254,198,14,126,230,198,254,119,13, + 9,18,15,1,0,125,224,255,240,198,24,15,248,127,248,230, + 0,207,56,255,240,121,224,8,13,13,9,1,252,60,126,231, + 192,192,192,231,126,60,16,24,76,56,8,13,13,10,1,0, + 32,48,8,0,60,126,195,255,255,192,231,126,60,8,13,13, + 10,1,0,4,12,16,0,60,126,195,255,255,192,231,126,60, + 8,13,13,10,1,0,8,28,34,0,60,126,195,255,255,192, + 231,126,60,8,12,12,10,1,0,54,54,0,60,126,195,255, + 255,192,231,126,60,3,13,13,4,0,0,128,192,32,0,96, + 96,96,96,96,96,96,96,96,3,13,13,4,1,0,32,96, + 128,0,192,192,192,192,192,192,192,192,192,5,13,13,5,0, + 0,32,112,136,0,96,96,96,96,96,96,96,96,96,5,12, + 12,5,0,0,216,216,0,96,96,96,96,96,96,96,96,96, + 8,12,12,10,1,0,96,124,248,28,126,231,195,195,195,231, + 126,60,8,12,12,10,1,0,58,92,0,222,255,227,195,195, + 195,195,195,195,8,13,13,10,1,0,32,48,8,0,60,126, + 231,195,195,195,231,126,60,8,13,13,10,1,0,8,24,32, + 0,60,126,231,195,195,195,231,126,60,8,13,13,10,1,0, + 16,56,68,0,60,126,231,195,195,195,231,126,60,8,12,12, + 10,1,0,58,92,0,60,126,231,195,195,195,231,126,60,8, + 12,12,10,1,0,108,108,0,60,126,231,195,195,195,231,126, + 60,8,8,8,10,1,0,24,24,0,255,255,0,24,24,8, + 9,9,10,1,0,61,127,231,207,219,243,231,254,188,8,13, + 13,10,1,0,32,48,8,0,195,195,195,195,195,195,199,255, + 123,8,13,13,10,1,0,8,24,32,0,195,195,195,195,195, + 195,199,255,123,8,13,13,10,1,0,16,56,68,0,195,195, + 195,195,195,195,199,255,123,8,12,12,10,1,0,108,108,0, + 195,195,195,195,195,195,199,255,123,8,17,17,9,0,252,4, + 12,16,0,195,195,99,102,54,54,60,28,24,24,24,112,96, + 8,16,16,10,1,252,192,192,192,220,254,231,195,195,195,231, + 254,220,192,192,192,192,8,16,16,9,0,252,54,54,0,195, + 195,99,102,54,54,60,28,24,24,24,112,96 +}; + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/fontdata/helvetica_14.cpp b/Marlin/src/lcd/tft/fontdata/helvetica_14.cpp new file mode 100644 index 000000000000..a27ea4369793 --- /dev/null +++ b/Marlin/src/lcd/tft/fontdata/helvetica_14.cpp @@ -0,0 +1,378 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/* + Fontname: Helvetica + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 14, '1' Height: 13 + Calculated Max Values w=16 h=18 x= 2 y=12 dx=18 dy= 0 ascent=16 len=36 + Font Bounding box w=18 h=19 x= 0 y=-4 + Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 + Pure Font ascent =14 descent=-4 + X Font ascent =14 descent=-4 + Max Font ascent =16 descent=-4 +*/ + +#include "../../../inc/MarlinConfigPre.h" + +#if HAS_GRAPHICAL_TFT + +#include + +/* +typedef struct __attribute__((__packed__)) { + uint8_t BBXWidth; + uint8_t BBXHeight; + uint8_t DataSize; + int8_t DWidth; + int8_t BBXOffsetX; + int8_t BBXOffsetY; +} tGlyph; +*/ + +extern const uint8_t Helvetica14_symbols[63] = { + 0,18,19,0,252,14,0,0,0,0,1,9,252,16,252,14,252, // tFont + 0,0,0,0,0,0, // 0x01 - LCD_STR_REFRESH + 0,0,0,0,0,0, // 0x02 - LCD_STR_FOLDER + 255, // 0x03 - LCD_STR_ARROW_RIGHT + 255, // 0x04 - LCD_STR_UPLEVEL + 255, // 0x05 - LCD_STR_CLOCK + 255, // 0x06 - LCD_STR_FEEDRATE + 255, // 0x07 - LCD_STR_BEDTEMP + 5,12,12,6,0,1,32,80,80,80,80,80,80,80,136,136,136,112, // 0x08 - LCD_STR_THERMOMETER + 5,5,5,5,0,11,112,216,136,216,112, // 0x09 - LCD_STR_DEGREE +}; + +extern const uint8_t Helvetica14[5005] = { + 0,18,19,0,252,14,2,150,6,83,32,255,252,16,252,14,252, // tFont + 0,0,0,5,0,0,2,14,14,6,2,0,192,192,192, + 192,192,192,192,192,192,192,0,0,192,192,5,5,5,5,0, + 9,216,216,216,216,216,10,13,26,10,0,0,9,0,9,0, + 9,0,127,192,127,192,18,0,18,0,18,0,255,128,255,128, + 36,0,36,0,36,0,9,16,32,10,1,254,8,0,62,0, + 127,0,203,0,200,0,232,0,120,0,62,0,15,0,9,128, + 201,128,235,128,127,0,62,0,8,0,8,0,14,13,26,16, + 1,0,120,96,204,192,204,192,205,128,205,128,123,0,3,0, + 6,120,6,204,12,204,12,204,24,204,24,120,12,13,26,13, + 1,0,60,0,126,0,102,0,102,0,60,0,124,0,238,192, + 198,192,195,192,195,128,231,192,126,224,60,112,2,5,5,4, + 1,9,192,192,192,192,192,4,18,18,6,0,252,16,48,96, + 96,192,192,192,192,192,192,192,192,192,192,96,96,48,16,4, + 18,18,6,1,252,128,192,96,96,48,48,48,48,48,48,48, + 48,48,48,96,96,192,128,5,7,7,7,1,7,32,168,248, + 32,248,168,32,8,10,10,10,1,0,24,24,24,24,255,255, + 24,24,24,24,2,5,5,5,1,253,192,192,64,64,128,5, + 2,2,6,0,4,248,248,2,2,2,5,1,0,192,192,5, + 14,14,5,0,0,24,24,24,24,48,48,48,96,96,96,192, + 192,192,192,8,13,13,10,1,0,60,126,102,195,195,195,195, + 195,195,195,102,126,60,5,13,13,10,2,0,24,248,248,24, + 24,24,24,24,24,24,24,24,24,8,13,13,10,1,0,60, + 254,195,3,7,14,28,56,112,224,192,255,255,8,13,13,10, + 1,0,62,127,195,195,6,28,30,7,3,195,199,126,60,9, + 13,26,10,0,0,3,0,7,0,15,0,27,0,51,0,51, + 0,99,0,195,0,255,128,255,128,3,0,3,0,3,0,8, + 13,13,10,1,0,254,254,192,192,252,254,199,3,3,195,199, + 254,124,8,13,13,10,1,0,60,127,99,192,192,220,254,195, + 195,195,227,126,60,8,13,13,10,1,0,255,255,3,6,12, + 12,24,24,48,48,96,96,96,8,13,13,10,1,0,60,126, + 231,195,195,102,126,231,195,195,231,126,60,8,13,13,10,1, + 0,60,126,199,195,195,195,127,59,3,3,198,254,124,2,10, + 10,5,1,0,192,192,0,0,0,0,0,0,192,192,2,13, + 13,5,1,253,192,192,0,0,0,0,0,0,192,192,64,64, + 128,8,9,9,10,1,0,3,15,60,112,192,112,60,15,3, + 7,5,5,11,2,2,254,254,0,254,254,8,9,9,10,1, + 0,192,240,60,14,3,14,60,240,192,7,14,14,10,1,0, + 124,254,198,198,14,28,56,48,48,48,0,0,48,48,16,17, + 34,18,1,253,3,240,15,252,28,14,48,6,99,211,103,115, + 198,51,204,99,204,102,204,102,204,204,207,248,103,112,112,0, + 56,0,31,240,7,224,12,14,28,13,0,0,6,0,6,0, + 15,0,15,0,25,128,25,128,48,192,48,192,63,192,127,224, + 96,96,96,96,192,48,192,48,11,14,28,13,1,0,255,0, + 255,128,193,192,192,192,192,192,193,128,255,128,255,192,192,224, + 192,96,192,96,192,224,255,192,255,128,12,14,28,14,1,0, + 15,128,63,224,112,112,96,48,224,0,192,0,192,0,192,0, + 192,0,224,0,96,48,112,112,63,224,15,128,12,14,28,14, + 1,0,255,128,255,192,192,224,192,96,192,48,192,48,192,48, + 192,48,192,48,192,48,192,96,192,224,255,192,255,128,10,14, + 28,13,2,0,255,192,255,192,192,0,192,0,192,0,192,0, + 255,128,255,128,192,0,192,0,192,0,192,0,255,192,255,192, + 9,14,28,12,2,0,255,128,255,128,192,0,192,0,192,0, + 192,0,255,0,255,0,192,0,192,0,192,0,192,0,192,0, + 192,0,13,14,28,15,1,0,15,192,63,240,112,56,96,24, + 224,24,192,0,192,0,192,248,192,248,224,24,96,24,112,56, + 63,248,15,216,11,14,28,14,1,0,192,96,192,96,192,96, + 192,96,192,96,192,96,255,224,255,224,192,96,192,96,192,96, + 192,96,192,96,192,96,2,14,14,6,2,0,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,8,14,14,10,0,0, + 3,3,3,3,3,3,3,3,3,195,195,231,126,60,11,14, + 28,14,2,0,192,224,193,192,195,128,199,0,206,0,220,0, + 248,0,252,0,206,0,199,0,195,128,193,192,192,224,192,96, + 9,14,28,11,1,0,192,0,192,0,192,0,192,0,192,0, + 192,0,192,0,192,0,192,0,192,0,192,0,192,0,255,128, + 255,128,14,14,28,16,1,0,192,12,192,12,224,28,224,28, + 240,60,240,60,216,108,216,108,204,204,204,204,196,140,199,140, + 195,12,195,12,11,14,28,14,1,0,192,96,224,96,240,96, + 240,96,216,96,204,96,204,96,198,96,198,96,195,96,193,224, + 193,224,192,224,192,96,13,14,28,15,1,0,15,128,63,224, + 112,112,96,48,224,56,192,24,192,24,192,24,192,24,224,56, + 96,48,112,112,63,224,15,128,10,14,28,13,2,0,255,0, + 255,128,193,192,192,192,192,192,193,192,255,128,255,0,192,0, + 192,0,192,0,192,0,192,0,192,0,13,15,30,15,1,255, + 15,128,63,224,112,112,96,48,224,56,192,24,192,24,192,24, + 192,24,225,184,97,176,112,240,63,224,15,176,0,48,11,14, + 28,14,1,0,255,128,255,192,192,224,192,96,192,96,192,224, + 255,192,255,128,192,192,192,192,192,96,192,96,192,96,192,96, + 10,14,28,13,1,0,30,0,127,128,225,192,192,192,224,0, + 124,0,31,0,3,128,1,192,0,192,192,192,225,192,127,128, + 63,0,10,14,28,12,1,0,255,192,255,192,12,0,12,0, + 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, + 12,0,12,0,11,14,28,14,1,0,192,96,192,96,192,96, + 192,96,192,96,192,96,192,96,192,96,192,96,192,96,192,96, + 96,192,127,192,31,0,12,14,28,13,0,0,192,48,192,48, + 96,96,96,96,96,96,48,192,48,192,48,192,25,128,25,128, + 25,128,15,0,15,0,6,0,16,14,28,18,1,0,193,131, + 193,131,193,131,195,195,99,198,98,70,102,102,102,102,54,108, + 54,108,52,44,28,56,24,24,24,24,11,14,28,13,1,0, + 192,96,192,96,96,192,113,192,49,128,27,0,14,0,14,0, + 27,0,49,128,113,192,96,192,192,96,192,96,12,14,28,13, + 0,0,192,48,192,48,96,96,96,96,48,192,57,192,25,128, + 15,0,6,0,6,0,6,0,6,0,6,0,6,0,10,14, + 28,12,1,0,255,192,255,192,0,192,1,128,3,0,6,0, + 12,0,28,0,24,0,48,0,96,0,192,0,255,192,255,192, + 4,18,18,5,0,252,240,240,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,240,240,5,14,14,5,0,0,192,192, + 192,96,96,96,48,48,48,48,24,24,24,24,4,18,18,5, + 0,252,240,240,48,48,48,48,48,48,48,48,48,48,48,48, + 48,48,240,240,7,6,6,9,1,7,16,56,108,108,198,198, + 11,2,4,11,0,252,255,224,255,224,4,3,3,4,0,11, + 192,96,48,9,10,20,11,1,0,126,0,231,0,195,0,7, + 0,127,0,227,0,195,0,195,0,231,128,121,128,9,14,28, + 11,1,0,192,0,192,0,192,0,192,0,222,0,255,0,227, + 0,193,128,193,128,193,128,193,128,227,0,255,0,222,0,8, + 10,10,10,1,0,62,127,99,192,192,192,192,99,127,62,9, + 14,28,11,1,0,1,128,1,128,1,128,1,128,61,128,127, + 128,99,128,193,128,193,128,193,128,193,128,99,128,127,128,61, + 128,8,10,10,10,1,0,60,126,195,195,255,192,192,227,127, + 60,6,14,14,6,0,0,28,60,48,48,252,252,48,48,48, + 48,48,48,48,48,9,14,28,11,1,252,61,128,127,128,97, + 128,193,128,193,128,193,128,193,128,99,128,127,128,61,128,1, + 128,99,0,127,0,28,0,8,14,14,10,1,0,192,192,192, + 192,222,255,227,195,195,195,195,195,195,195,2,14,14,4,1, + 0,192,192,0,0,192,192,192,192,192,192,192,192,192,192,3, + 18,18,4,0,252,96,96,0,0,96,96,96,96,96,96,96, + 96,96,96,96,96,224,192,8,14,14,9,1,0,192,192,192, + 192,198,204,216,240,248,216,204,206,198,199,2,14,14,4,1, + 0,192,192,192,192,192,192,192,192,192,192,192,192,192,192,14, + 10,20,16,1,0,222,120,255,252,227,140,195,12,195,12,195, + 12,195,12,195,12,195,12,195,12,8,10,10,10,1,0,222, + 255,227,195,195,195,195,195,195,195,9,10,20,11,1,0,62, + 0,127,0,99,0,193,128,193,128,193,128,193,128,99,0,127, + 0,62,0,9,14,28,11,1,252,222,0,255,0,227,0,193, + 128,193,128,193,128,193,128,227,0,255,0,222,0,192,0,192, + 0,192,0,192,0,9,14,28,11,1,252,61,128,127,128,99, + 128,193,128,193,128,193,128,193,128,99,128,127,128,61,128,1, + 128,1,128,1,128,1,128,5,10,10,6,1,0,216,216,224, + 192,192,192,192,192,192,192,7,10,10,9,1,0,60,126,198, + 192,252,62,6,198,252,120,6,13,13,6,0,0,48,48,48, + 252,252,48,48,48,48,48,48,60,28,8,10,10,10,1,0, + 195,195,195,195,195,195,195,199,255,123,8,10,10,10,1,0, + 195,195,195,102,102,102,36,60,24,24,12,10,20,14,1,0, + 198,48,198,48,198,48,102,96,102,96,105,96,41,64,57,192, + 25,128,25,128,8,10,10,10,1,0,195,231,102,60,24,24, + 60,102,231,195,8,14,14,10,1,252,195,195,195,102,102,102, + 36,60,24,24,24,24,112,112,7,10,10,9,1,0,254,254, + 6,12,24,48,96,192,254,254,5,18,18,6,0,252,24,48, + 96,96,96,96,96,192,128,192,96,96,96,96,96,96,48,24, + 2,18,18,5,1,252,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,6,18,18,6,0,252,192,96, + 48,48,48,48,48,24,12,24,48,48,48,48,48,48,96,192, + 8,3,3,10,1,4,115,255,206,0,0,0,1,0,0,0, + 0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0, + 0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0, + 1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0, + 0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0, + 0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0, + 1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0, + 0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0, + 0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0, + 1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0, + 0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0, + 0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0, + 1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0, + 0,0,5,0,0,2,14,14,6,2,252,192,192,0,0,64, + 64,192,192,192,192,192,192,192,192,8,14,14,10,1,254,4, + 4,62,127,107,200,200,200,200,107,127,62,16,16,9,13,26, + 10,0,0,30,0,63,0,97,128,97,128,96,0,48,0,126, + 0,24,0,24,0,48,0,96,128,255,128,223,0,8,7,7, + 10,1,3,195,255,102,102,102,255,195,8,13,13,10,1,0, + 195,195,102,102,102,60,255,24,255,24,24,24,24,2,18,18, + 5,1,252,192,192,192,192,192,192,192,0,0,0,0,192,192, + 192,192,192,192,192,8,18,18,10,1,252,60,126,195,195,240, + 124,110,199,195,227,115,62,14,7,195,195,126,60,5,2,2, + 6,0,12,216,216,13,14,28,15,1,0,15,128,48,96,64, + 16,71,16,136,136,144,136,144,8,144,8,144,8,136,136,71, + 16,64,16,48,96,15,128,5,8,8,7,1,6,112,152,56, + 72,216,104,0,248,7,6,6,9,1,2,54,108,216,216,108, + 54,9,5,10,11,1,3,255,128,255,128,1,128,1,128,1, + 128,5,1,1,6,0,5,248,13,14,28,14,0,0,15,128, + 48,96,64,16,79,144,136,72,136,72,136,72,143,136,137,8, + 136,136,72,80,64,16,48,96,15,128,5,1,1,5,0,12, + 248,5,5,5,7,1,8,112,216,136,216,112,8,11,11,10, + 1,0,24,24,24,255,255,24,24,24,0,255,255,5,8,8, + 6,0,5,112,248,152,24,48,96,248,248,5,8,8,6,0, + 5,112,248,152,48,48,152,248,112,4,3,3,4,0,11,48, + 96,192,8,14,14,10,1,252,195,195,195,195,195,195,195,231, + 255,219,192,192,192,192,8,18,18,10,1,252,63,114,242,242, + 242,242,242,114,50,18,18,18,18,18,18,18,18,18,2,2, + 2,4,1,4,192,192,5,5,5,5,0,252,96,112,24,216, + 240,4,8,8,6,0,5,48,240,240,48,48,48,48,48,5, + 8,8,7,1,6,112,216,136,136,216,112,0,248,7,6,6, + 9,1,2,216,108,54,54,108,216,14,13,26,15,0,0,48, + 48,240,48,240,96,48,192,48,192,49,136,49,24,51,56,6, + 120,6,216,12,252,24,24,24,24,14,13,26,15,0,0,48, + 48,240,48,240,96,48,192,48,192,49,184,49,124,51,76,6, + 12,6,24,12,48,24,124,24,124,14,13,26,15,0,0,112, + 48,248,48,152,96,48,192,48,192,153,136,249,24,115,56,6, + 120,6,216,12,252,24,24,24,24,7,14,14,10,1,252,24, + 24,0,0,24,24,24,56,112,224,198,198,254,124,12,16,32, + 13,0,0,6,0,0,0,6,0,6,0,15,0,15,0,25, + 128,25,128,48,192,48,192,63,192,127,224,96,96,96,96,192, + 48,192,48,12,16,32,13,0,0,6,0,0,0,6,0,6, + 0,15,0,15,0,25,128,25,128,48,192,48,192,63,192,127, + 224,96,96,96,96,192,48,192,48,12,16,32,13,0,0,25, + 128,0,0,6,0,6,0,15,0,15,0,25,128,25,128,48, + 192,48,192,63,192,127,224,96,96,96,96,192,48,192,48,12, + 16,32,13,0,0,19,0,0,0,6,0,6,0,15,0,15, + 0,25,128,25,128,48,192,48,192,63,192,127,224,96,96,96, + 96,192,48,192,48,12,16,32,13,0,0,25,128,0,0,6, + 0,6,0,15,0,15,0,25,128,25,128,48,192,48,192,63, + 192,127,224,96,96,96,96,192,48,192,48,12,16,32,13,0, + 0,9,0,9,0,6,0,6,0,15,0,15,0,25,128,25, + 128,48,192,48,192,63,192,127,224,96,96,96,96,192,48,192, + 48,16,14,28,18,1,0,7,255,7,255,13,128,13,128,25, + 128,25,128,49,254,49,254,63,128,127,128,97,128,97,128,193, + 255,193,255,12,18,36,14,1,252,15,128,63,224,112,112,96, + 48,224,0,192,0,192,0,192,0,192,0,224,0,96,48,112, + 112,63,224,15,128,6,0,3,0,27,0,30,0,10,16,32, + 13,2,0,12,0,0,0,255,192,255,192,192,0,192,0,192, + 0,192,0,255,128,255,128,192,0,192,0,192,0,192,0,255, + 192,255,192,10,16,32,13,2,0,12,0,0,0,255,192,255, + 192,192,0,192,0,192,0,192,0,255,128,255,128,192,0,192, + 0,192,0,192,0,255,192,255,192,10,16,32,13,2,0,51, + 0,0,0,255,192,255,192,192,0,192,0,192,0,192,0,255, + 128,255,128,192,0,192,0,192,0,192,0,255,192,255,192,10, + 16,32,13,2,0,51,0,0,0,255,192,255,192,192,0,192, + 0,192,0,192,0,255,128,255,128,192,0,192,0,192,0,192, + 0,255,192,255,192,2,16,16,6,2,0,192,0,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,2,16,16,6,2, + 0,192,0,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,6,16,16,6,0,0,132,0,48,48,48,48,48,48,48, + 48,48,48,48,48,48,48,6,16,16,6,0,0,204,0,48, + 48,48,48,48,48,48,48,48,48,48,48,48,48,13,14,28, + 14,0,0,127,192,127,224,96,112,96,48,96,24,96,24,252, + 24,252,24,96,24,96,24,96,48,96,112,127,224,127,192,11, + 16,32,14,1,0,19,0,0,0,192,96,224,96,240,96,240, + 96,216,96,204,96,204,96,198,96,198,96,195,96,193,224,193, + 224,192,224,192,96,13,16,32,15,1,0,6,0,0,0,15, + 128,63,224,112,112,96,48,224,56,192,24,192,24,192,24,192, + 24,224,56,96,48,112,112,63,224,15,128,13,16,32,15,1, + 0,6,0,0,0,15,128,63,224,112,112,96,48,224,56,192, + 24,192,24,192,24,192,24,224,56,96,48,112,112,63,224,15, + 128,13,16,32,15,1,0,12,192,0,0,15,128,63,224,112, + 112,96,48,224,56,192,24,192,24,192,24,192,24,224,56,96, + 48,112,112,63,224,15,128,13,16,32,15,1,0,9,128,0, + 0,15,128,63,224,112,112,96,48,224,56,192,24,192,24,192, + 24,192,24,224,56,96,48,112,112,63,224,15,128,13,16,32, + 15,1,0,12,192,0,0,15,128,63,224,112,112,96,48,224, + 56,192,24,192,24,192,24,192,24,224,56,96,48,112,112,63, + 224,15,128,10,9,18,10,0,0,192,192,97,128,51,0,30, + 0,12,0,30,0,51,0,97,128,192,192,14,14,28,15,0, + 0,7,204,31,248,56,48,48,120,112,220,97,140,99,12,98, + 12,102,12,108,28,56,24,56,56,111,240,199,192,11,16,32, + 14,1,0,6,0,0,0,192,96,192,96,192,96,192,96,192, + 96,192,96,192,96,192,96,192,96,192,96,192,96,96,192,127, + 192,31,0,11,16,32,14,1,0,12,0,0,0,192,96,192, + 96,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, + 96,192,96,96,192,127,192,31,0,11,16,32,14,1,0,25, + 128,0,0,192,96,192,96,192,96,192,96,192,96,192,96,192, + 96,192,96,192,96,192,96,192,96,96,192,127,192,31,0,11, + 16,32,14,1,0,49,128,0,0,192,96,192,96,192,96,192, + 96,192,96,192,96,192,96,192,96,192,96,192,96,192,96,96, + 192,127,192,31,0,12,16,32,13,0,0,6,0,0,0,192, + 48,192,48,96,96,96,96,48,192,57,192,25,128,15,0,6, + 0,6,0,6,0,6,0,6,0,6,0,10,14,28,12,1, + 0,192,0,192,0,192,0,255,0,255,128,193,192,192,192,192, + 192,193,192,255,128,255,0,192,0,192,0,192,0,7,14,14, + 9,1,0,56,124,198,198,198,198,220,220,198,198,198,198,222, + 220,9,14,28,11,1,0,48,0,24,0,12,0,0,0,126, + 0,231,0,195,0,7,0,127,0,227,0,195,0,195,0,231, + 128,121,128,9,14,28,11,1,0,12,0,24,0,48,0,0, + 0,126,0,231,0,195,0,7,0,127,0,227,0,195,0,195, + 0,231,128,121,128,9,14,28,11,1,0,24,0,60,0,102, + 0,0,0,126,0,231,0,195,0,7,0,127,0,227,0,195, + 0,195,0,231,128,121,128,9,14,28,11,1,0,50,0,90, + 0,76,0,0,0,126,0,231,0,195,0,7,0,127,0,227, + 0,195,0,195,0,231,128,121,128,9,14,28,11,1,0,102, + 0,102,0,0,0,0,0,126,0,231,0,195,0,7,0,127, + 0,227,0,195,0,195,0,231,128,121,128,9,14,28,11,1, + 0,24,0,36,0,36,0,24,0,126,0,231,0,195,0,7, + 0,127,0,227,0,195,0,195,0,231,128,121,128,14,10,20, + 17,2,0,126,240,231,248,195,12,7,12,127,252,227,0,195, + 0,195,140,231,252,122,240,8,14,14,10,1,252,62,127,99, + 192,192,192,192,99,127,62,24,12,108,120,8,14,14,10,1, + 0,48,24,12,0,60,126,195,195,255,192,192,227,127,60,8, + 14,14,10,1,0,12,24,48,0,60,126,195,195,255,192,192, + 227,127,60,8,14,14,10,1,0,24,60,102,0,60,126,195, + 195,255,192,192,227,127,60,8,14,14,10,1,0,102,102,0, + 0,60,126,195,195,255,192,192,227,127,60,4,14,14,4,0, + 0,192,96,48,0,96,96,96,96,96,96,96,96,96,96,4, + 14,14,4,0,0,48,96,192,0,96,96,96,96,96,96,96, + 96,96,96,5,14,14,5,0,0,96,240,152,0,96,96,96, + 96,96,96,96,96,96,96,5,14,14,5,0,0,216,216,0, + 0,96,96,96,96,96,96,96,96,96,96,9,14,28,11,1, + 0,96,0,54,0,56,0,76,0,62,0,127,0,99,0,193, + 128,193,128,193,128,193,128,99,0,127,0,62,0,8,14,14, + 10,1,0,50,90,76,0,222,255,227,195,195,195,195,195,195, + 195,9,14,28,11,1,0,48,0,24,0,12,0,0,0,62, + 0,127,0,99,0,193,128,193,128,193,128,193,128,99,0,127, + 0,62,0,9,14,28,11,1,0,6,0,12,0,24,0,0, + 0,62,0,127,0,99,0,193,128,193,128,193,128,193,128,99, + 0,127,0,62,0,9,14,28,11,1,0,24,0,60,0,102, + 0,0,0,62,0,127,0,99,0,193,128,193,128,193,128,193, + 128,99,0,127,0,62,0,9,14,28,11,1,0,50,0,90, + 0,76,0,0,0,62,0,127,0,99,0,193,128,193,128,193, + 128,193,128,99,0,127,0,62,0,9,14,28,11,1,0,51, + 0,51,0,0,0,0,0,62,0,127,0,99,0,193,128,193, + 128,193,128,193,128,99,0,127,0,62,0,8,8,8,10,1, + 1,24,24,0,255,255,0,24,24,11,10,20,11,0,0,14, + 96,63,192,49,128,99,192,102,192,108,192,120,192,49,128,127, + 128,206,0,8,14,14,10,1,0,48,24,12,0,195,195,195, + 195,195,195,195,199,255,123,8,14,14,10,1,0,6,12,24, + 0,195,195,195,195,195,195,195,199,255,123,8,14,14,10,1, + 0,24,60,102,0,195,195,195,195,195,195,195,199,255,123,8, + 14,14,10,1,0,102,102,0,0,195,195,195,195,195,195,195, + 199,255,123,8,18,18,10,1,252,6,12,24,0,195,195,195, + 102,102,102,36,60,24,24,24,24,112,112,9,18,36,11,1, + 252,192,0,192,0,192,0,192,0,222,0,255,0,227,0,193, + 128,193,128,193,128,193,128,227,0,255,0,222,0,192,0,192, + 0,192,0,192,0,8,18,18,10,1,252,102,102,0,0,195, + 195,195,102,102,102,36,60,24,24,24,24,112,112 +}; + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/fontdata/helvetica_18.cpp b/Marlin/src/lcd/tft/fontdata/helvetica_18.cpp new file mode 100644 index 000000000000..bb5f6ccf40f8 --- /dev/null +++ b/Marlin/src/lcd/tft/fontdata/helvetica_18.cpp @@ -0,0 +1,492 @@ +/* + Fontname: -Adobe-Helvetica-Medium-R-Normal--25-180-100-100-P-130-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 19, '1' Height: 18 + Calculated Max Values w=22 h=24 x= 3 y=16 dx=25 dy= 0 ascent=24 len=69 + Font Bounding box w=28 h=37 x=-3 y=-8 + Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 + Pure Font ascent =19 descent=-5 + X Font ascent =19 descent=-5 + Max Font ascent =24 descent=-5 +*/ + +#include "../../../inc/MarlinConfigPre.h" + +#if HAS_GRAPHICAL_TFT + +#include + +extern const uint8_t Helvetica18_symbols[71] = { + 0,28,37,253,248,19,4,37,9,49,1,9,251,24,251,19,251, // tFont + 0,0,0,0,0,0, // 0x01 - LCD_STR_REFRESH + 0,0,0,0,0,0, // 0x02 - LCD_STR_FOLDER + 255, // 0x03 - LCD_STR_ARROW_RIGHT + 255, // 0x04 - LCD_STR_UPLEVEL + 255, // 0x05 - LCD_STR_CLOCK + 255, // 0x06 - LCD_STR_FEEDRATE + 255, // 0x07 - LCD_STR_BEDTEMP + 7,18,18,8,0,1, 0,56, 68,68,68,68,68,84,84,84,84,84, 214,186,186,186,198,124, // 0x08 - LCD_STR_THERMOMETER + 7,7,7,7,0,15,56,124,198,198,198,124,56, // 0x09 - LCD_STR_DEGREE +}; + +extern const uint8_t Helvetica18[7307] = { + 0,28,37,253,248,19,4,37,9,49,32,255,251,24,251,19,251, // tFont + 0,0,0,6,0,1,2,19,19,6,2,0,192,192,192, + 192,192,192,192,192,192,192,192,192,128,128,0,0,192,192,192, + 6,6,6,8,1,13,204,204,204,204,204,68,11,17,34,14, + 2,0,12,192,12,192,12,192,25,128,255,224,255,224,25,128, + 25,128,51,0,51,0,255,224,255,224,51,0,51,0,102,0, + 102,0,102,0,11,22,44,13,1,254,6,0,6,0,31,128, + 63,192,118,224,102,96,102,96,102,0,118,0,62,0,62,0, + 15,128,7,192,6,224,6,96,198,96,198,96,230,224,127,192, + 63,128,6,0,6,0,19,18,54,22,1,0,0,6,0,60, + 12,0,126,12,0,195,24,0,195,24,0,195,48,0,195,48, + 0,126,96,0,60,96,0,0,192,0,0,199,128,1,143,192, + 1,152,96,3,24,96,3,24,96,6,24,96,6,15,192,4, + 7,128,14,18,36,17,2,0,15,0,31,128,57,192,48,192, + 48,192,48,192,25,128,15,0,30,0,63,24,115,152,97,216, + 192,240,192,96,192,240,225,216,127,156,30,0,2,6,6,6, + 2,13,192,192,192,192,192,64,5,24,24,8,2,251,24,24, + 48,48,96,96,96,192,192,192,192,192,192,192,192,192,192,96, + 96,96,48,48,24,24,5,24,24,8,1,251,192,192,96,96, + 48,48,48,24,24,24,24,24,24,24,24,24,24,48,48,48, + 96,96,192,192,7,7,7,10,1,12,16,16,214,124,56,108, + 68,12,12,24,14,1,1,6,0,6,0,6,0,6,0,6, + 0,255,240,255,240,6,0,6,0,6,0,6,0,6,0,2, + 6,6,6,2,253,192,192,192,64,64,128,6,2,2,8,1, + 6,252,252,2,3,3,6,2,0,192,192,192,7,19,19,7, + 0,0,6,4,12,12,8,24,24,16,16,48,48,32,96,96, + 64,192,192,128,128,11,18,36,13,1,0,31,0,63,128,113, + 192,96,192,96,192,224,224,192,96,192,96,192,96,192,96,192, + 96,192,96,224,224,96,192,96,192,113,192,63,128,31,0,6, + 18,18,13,2,0,12,12,28,252,252,12,12,12,12,12,12, + 12,12,12,12,12,12,12,11,18,36,13,1,0,30,0,127, + 128,97,192,192,192,192,96,192,96,0,224,0,192,1,192,3, + 128,15,0,28,0,56,0,112,0,224,0,192,0,255,224,255, + 224,11,18,36,13,1,0,31,0,127,128,97,128,192,192,192, + 192,192,192,0,192,1,128,15,0,15,192,0,192,0,96,0, + 96,192,96,192,192,97,192,127,128,31,0,11,18,36,13,1, + 0,1,128,3,128,3,128,7,128,15,128,13,128,25,128,57, + 128,49,128,97,128,225,128,193,128,255,224,255,224,1,128,1, + 128,1,128,1,128,11,18,36,13,1,0,127,192,127,192,96, + 0,96,0,96,0,96,0,126,0,127,128,113,192,0,192,0, + 224,0,96,0,96,192,224,192,192,225,192,127,128,30,0,11, + 18,36,13,1,0,15,0,63,192,112,192,96,96,224,96,192, + 0,192,0,207,0,223,128,241,192,224,192,192,96,192,96,192, + 96,224,224,113,192,127,192,31,0,11,18,36,13,1,0,255, + 224,255,224,0,224,0,192,1,128,1,128,3,0,3,0,6, + 0,6,0,12,0,12,0,28,0,24,0,24,0,56,0,48, + 0,48,0,11,18,36,13,1,0,14,0,63,128,49,128,96, + 192,96,192,96,192,49,128,31,0,63,128,113,192,96,192,192, + 96,192,96,192,96,192,96,96,192,127,192,31,0,11,18,36, + 13,1,0,31,0,127,192,113,192,224,192,192,96,192,96,192, + 96,192,96,224,224,113,224,127,96,30,96,0,96,0,224,192, + 192,225,192,127,128,30,0,2,14,14,6,2,0,192,192,192, + 0,0,0,0,0,0,0,0,192,192,192,2,17,17,6,2, + 253,192,192,192,0,0,0,0,0,0,0,0,192,192,192,64, + 64,128,12,12,24,15,1,1,0,48,0,240,3,192,15,0, + 60,0,224,0,224,0,60,0,15,0,3,192,0,240,0,48, + 10,5,10,15,2,5,255,192,255,192,0,0,255,192,255,192, + 12,12,24,15,1,1,192,0,240,0,60,0,15,0,3,192, + 0,112,0,112,3,192,15,0,60,0,240,0,192,0,10,19, + 38,12,1,0,31,0,127,128,113,192,224,192,192,192,193,192, + 1,128,3,128,7,0,6,0,12,0,12,0,12,0,12,0, + 0,0,0,0,12,0,12,0,12,0,22,23,69,25,2,252, + 0,255,0,3,255,192,15,1,224,28,0,112,56,0,24,48, + 0,24,96,115,12,96,251,12,193,199,12,195,134,12,195,6, + 12,198,6,12,198,12,28,198,12,24,198,12,56,231,28,112, + 99,247,224,113,227,128,56,0,0,28,0,0,15,3,0,7, + 255,0,0,252,0,15,19,38,17,1,0,3,128,3,128,6, + 192,6,192,12,64,12,96,12,96,24,48,24,48,24,48,48, + 24,63,248,63,248,96,12,96,12,96,12,192,6,192,6,192, + 6,14,19,38,17,2,0,255,192,255,240,192,112,192,24,192, + 24,192,24,192,24,192,48,255,224,255,240,192,24,192,12,192, + 12,192,12,192,12,192,28,192,120,255,240,255,192,15,19,38, + 18,1,0,7,224,31,248,60,60,112,14,96,6,224,6,192, + 0,192,0,192,0,192,0,192,0,192,0,192,0,224,6,96, + 6,112,14,60,60,31,248,7,224,15,19,38,18,2,0,255, + 192,255,240,192,120,192,28,192,12,192,14,192,6,192,6,192, + 6,192,6,192,6,192,6,192,6,192,14,192,12,192,28,192, + 120,255,240,255,192,12,19,38,16,2,0,255,240,255,240,192, + 0,192,0,192,0,192,0,192,0,192,0,255,224,255,224,192, + 0,192,0,192,0,192,0,192,0,192,0,192,0,255,240,255, + 240,11,19,38,14,2,0,255,224,255,224,192,0,192,0,192, + 0,192,0,192,0,192,0,255,192,255,192,192,0,192,0,192, + 0,192,0,192,0,192,0,192,0,192,0,192,0,16,19,38, + 19,1,0,7,224,31,248,60,60,112,14,96,6,224,6,192, + 0,192,0,192,0,192,127,192,127,192,3,192,3,224,3,96, + 7,112,15,60,63,31,251,7,227,14,19,38,18,2,0,192, + 12,192,12,192,12,192,12,192,12,192,12,192,12,192,12,255, + 252,255,252,192,12,192,12,192,12,192,12,192,12,192,12,192, + 12,192,12,192,12,2,19,19,8,3,0,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,10,19, + 38,13,1,0,0,192,0,192,0,192,0,192,0,192,0,192, + 0,192,0,192,0,192,0,192,0,192,0,192,192,192,192,192, + 192,192,192,192,97,128,127,128,63,0,13,19,38,18,3,0, + 192,56,192,112,192,224,193,192,195,128,199,0,206,0,220,0, + 252,0,254,0,231,0,195,128,193,128,193,192,192,224,192,96, + 192,112,192,56,192,24,11,19,38,14,2,0,192,0,192,0, + 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, + 192,0,192,0,192,0,192,0,192,0,192,0,192,0,255,224, + 255,224,17,19,57,21,2,0,192,1,128,224,3,128,224,3, + 128,240,7,128,240,7,128,216,13,128,216,13,128,216,13,128, + 204,25,128,204,25,128,204,25,128,198,49,128,198,49,128,198, + 49,128,195,97,128,195,97,128,195,97,128,193,193,128,193,193, + 128,14,19,38,18,2,0,224,12,240,12,240,12,216,12,220, + 12,204,12,206,12,198,12,199,12,195,12,195,140,193,140,193, + 204,192,204,192,236,192,108,192,60,192,60,192,28,16,19,38, + 18,1,0,7,224,31,248,60,60,112,14,96,6,224,7,192, + 3,192,3,192,3,192,3,192,3,192,3,192,3,224,7,96, + 6,112,14,60,60,31,248,7,224,13,19,38,16,2,0,255, + 224,255,240,192,48,192,24,192,24,192,24,192,24,192,48,255, + 240,255,224,192,0,192,0,192,0,192,0,192,0,192,0,192, + 0,192,0,192,0,16,19,38,18,1,0,7,224,31,248,60, + 60,112,14,96,6,224,7,192,3,192,3,192,3,192,3,192, + 3,192,3,192,3,224,7,96,230,112,126,60,28,31,254,7, + 231,13,19,38,17,2,0,255,224,255,240,192,48,192,24,192, + 24,192,24,192,24,192,48,255,240,255,224,192,112,192,48,192, + 24,192,24,192,24,192,24,192,24,192,24,192,24,13,19,38, + 16,2,0,15,128,63,224,96,96,192,48,192,48,192,0,224, + 0,124,0,63,128,7,224,0,240,0,56,0,24,0,24,192, + 24,192,56,240,112,127,224,31,128,14,19,38,16,1,0,255, + 252,255,252,3,0,3,0,3,0,3,0,3,0,3,0,3, + 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, + 0,3,0,3,0,14,19,38,18,2,0,192,12,192,12,192, + 12,192,12,192,12,192,12,192,12,192,12,192,12,192,12,192, + 12,192,12,192,12,192,12,192,12,96,24,112,56,63,240,15, + 192,15,19,38,17,1,0,192,6,192,6,224,14,96,12,112, + 28,48,24,48,24,56,56,24,48,24,48,28,112,12,96,12, + 96,14,224,6,192,6,192,3,128,3,128,3,128,20,19,57, + 22,1,0,192,96,48,192,96,48,192,96,48,192,240,48,96, + 240,96,97,152,96,97,152,96,97,152,96,97,152,96,49,152, + 192,51,12,192,51,12,192,51,12,192,27,13,128,27,13,128, + 30,7,128,14,7,0,12,3,0,12,3,0,15,19,38,17, + 1,0,192,6,224,14,112,28,48,24,24,48,28,112,14,224, + 7,192,3,128,3,128,7,192,14,224,12,96,28,112,56,56, + 48,24,96,12,224,14,192,6,14,19,38,16,1,0,192,12, + 224,28,96,24,112,56,48,48,56,112,24,96,28,224,12,192, + 15,192,7,128,7,128,3,0,3,0,3,0,3,0,3,0, + 3,0,3,0,13,19,38,15,1,0,255,248,255,248,0,56, + 0,112,0,224,1,192,1,192,3,128,7,0,7,0,14,0, + 28,0,28,0,56,0,112,0,112,0,224,0,255,248,255,248, + 4,24,24,7,2,251,240,240,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,240,240,8,19, + 19,7,0,0,192,64,64,96,32,32,48,16,16,16,24,8, + 8,12,4,4,6,2,3,4,24,24,7,1,251,240,240,48, + 48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48, + 48,48,48,240,240,10,9,18,12,1,10,12,0,12,0,30, + 0,18,0,51,0,97,128,97,128,192,192,192,192,14,2,4, + 14,0,251,255,252,255,252,5,4,4,7,1,15,192,96,48, + 24,11,14,28,13,1,0,31,0,63,128,97,192,96,192,0, + 192,7,192,63,192,120,192,224,192,192,192,193,192,227,192,126, + 224,60,96,11,19,38,14,2,0,192,0,192,0,192,0,192, + 0,192,0,207,0,223,128,241,192,224,192,192,224,192,96,192, + 96,192,96,192,96,192,224,224,192,241,192,223,128,207,0,10, + 14,28,12,1,0,31,0,63,128,113,192,96,192,224,0,192, + 0,192,0,192,0,192,0,224,0,96,192,113,192,63,128,31, + 0,11,19,38,14,1,0,0,96,0,96,0,96,0,96,0, + 96,30,96,63,96,113,224,96,224,224,96,192,96,192,96,192, + 96,192,96,224,96,96,224,113,224,63,96,30,96,11,14,28, + 13,1,0,14,0,63,128,113,192,96,192,192,96,192,96,255, + 224,255,224,192,0,192,0,96,96,112,224,63,192,15,0,6, + 19,19,8,1,0,28,60,48,48,48,252,252,48,48,48,48, + 48,48,48,48,48,48,48,48,11,19,38,14,1,251,30,96, + 63,96,113,224,96,224,224,96,192,96,192,96,192,96,192,96, + 224,96,96,224,113,224,63,96,30,96,0,96,192,96,224,192, + 127,192,31,0,10,19,38,13,2,0,192,0,192,0,192,0, + 192,0,192,0,206,0,223,128,241,128,224,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 2,19,19,6,2,0,192,192,192,0,0,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,4,24,24,6,0,251,48, + 48,48,0,0,48,48,48,48,48,48,48,48,48,48,48,48, + 48,48,48,48,48,240,224,10,19,38,12,2,0,192,0,192, + 0,192,0,192,0,192,0,193,128,195,128,199,0,206,0,220, + 0,248,0,252,0,206,0,198,0,199,0,195,128,193,128,193, + 192,192,192,2,19,19,6,2,0,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,16,14,28,20, + 2,0,206,60,255,126,227,199,193,131,193,131,193,131,193,131, + 193,131,193,131,193,131,193,131,193,131,193,131,193,131,10,14, + 28,14,2,0,206,0,223,128,241,128,224,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 11,14,28,13,1,0,31,0,63,128,113,192,96,192,224,224, + 192,96,192,96,192,96,192,96,224,224,96,192,113,192,63,128, + 31,0,11,19,38,14,2,251,207,0,223,128,241,192,224,192, + 192,224,192,96,192,96,192,96,192,96,192,224,224,192,241,192, + 223,128,207,0,192,0,192,0,192,0,192,0,192,0,11,19, + 38,14,1,251,30,96,63,96,113,224,96,224,224,96,192,96, + 192,96,192,96,192,96,224,96,96,224,113,224,63,96,30,96, + 0,96,0,96,0,96,0,96,0,96,6,14,14,9,2,0, + 204,220,248,240,224,192,192,192,192,192,192,192,192,192,10,14, + 28,12,1,0,63,0,127,128,225,192,192,192,192,0,248,0, + 127,0,15,128,1,192,192,192,192,192,225,192,127,128,63,0, + 6,18,18,8,1,0,48,48,48,48,252,252,48,48,48,48, + 48,48,48,48,48,48,60,28,10,14,28,14,2,0,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,193,192,99,192,126,192,28,192,11,14,28,13,1,0, + 192,96,192,96,192,96,96,192,96,192,113,192,49,128,49,128, + 27,0,27,0,27,0,14,0,14,0,14,0,18,14,42,18, + 0,0,192,192,192,192,192,192,97,225,128,97,225,128,97,225, + 128,49,35,0,51,51,0,51,51,0,27,54,0,26,22,0, + 30,30,0,14,28,0,12,12,0,12,12,0,10,14,28,12, + 1,0,192,192,225,192,97,128,51,0,30,0,30,0,12,0, + 30,0,30,0,51,0,115,128,97,128,192,192,192,192,12,19, + 38,13,0,251,192,48,192,48,96,48,112,96,48,96,56,224, + 24,192,24,192,13,128,13,128,7,128,7,0,3,0,3,0, + 6,0,6,0,12,0,60,0,56,0,10,14,28,12,1,0, + 255,192,255,192,1,128,3,0,7,0,14,0,12,0,28,0, + 56,0,48,0,96,0,224,0,255,192,255,192,6,24,24,8, + 1,251,12,24,48,48,48,48,48,48,48,48,96,192,192,96, + 48,48,48,48,48,48,48,48,24,12,1,24,24,6,2,251, + 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, + 128,128,128,128,128,128,128,128,6,24,24,8,1,251,192,96, + 48,48,48,48,48,48,48,48,24,12,12,24,48,48,48,48, + 48,48,48,48,96,192,10,4,8,14,2,5,112,192,252,192, + 207,192,195,128,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,0,0,0,6,0,1,2,19,19,6,2, + 251,192,192,192,0,0,64,64,192,192,192,192,192,192,192,192, + 192,192,192,192,10,18,36,13,1,254,1,128,1,128,31,0, + 63,128,115,192,102,192,198,0,204,0,204,0,204,0,216,0, + 216,0,216,192,113,192,127,128,63,0,96,0,96,0,12,18, + 36,14,1,0,31,128,63,224,112,112,96,48,96,0,112,0, + 48,0,24,0,255,128,255,128,24,0,24,0,24,0,48,0, + 48,0,103,48,255,240,240,224,11,12,24,13,1,3,192,96, + 238,224,127,192,49,128,96,192,96,192,96,192,96,192,49,128, + 127,192,238,224,192,96,14,18,36,14,0,0,224,28,96,24, + 112,56,48,48,56,112,24,96,28,224,12,192,63,240,63,240, + 3,0,63,240,63,240,3,0,3,0,3,0,3,0,3,0, + 2,24,24,6,2,251,192,192,192,192,192,192,192,192,192,192, + 0,0,0,0,192,192,192,192,192,192,192,192,192,192,11,24, + 48,13,1,251,31,0,63,128,113,192,96,192,112,192,56,0, + 28,0,126,0,231,0,195,128,193,192,192,192,96,96,112,96, + 56,96,28,192,15,128,7,0,3,128,97,192,96,192,113,192, + 63,128,31,0,6,2,2,8,1,16,204,204,19,19,57,19, + 1,0,3,248,0,14,14,0,48,1,128,96,0,192,65,240, + 64,195,24,96,134,12,32,132,0,32,132,0,32,132,0,32, + 132,0,32,134,12,32,195,24,96,65,240,64,96,0,192,48, + 1,128,24,3,0,14,14,0,3,248,0,7,12,12,9,1, + 7,120,204,204,28,108,204,204,220,118,0,254,254,9,8,16, + 14,2,3,25,128,51,0,102,0,204,0,204,0,102,0,51, + 0,25,128,13,8,16,15,1,2,255,248,255,248,0,24,0, + 24,0,24,0,24,0,24,0,24,6,2,2,8,1,6,252, + 252,18,19,57,19,1,0,7,248,0,28,14,0,48,3,0, + 96,1,128,67,240,128,194,24,192,130,8,64,130,8,64,130, + 8,64,130,16,64,131,240,64,130,32,64,130,16,64,194,16, + 192,66,8,128,96,1,128,48,3,0,28,14,0,7,248,0, + 6,2,2,8,1,16,252,252,8,7,7,9,0,11,60,102, + 195,195,195,102,60,12,13,26,14,1,0,6,0,6,0,6, + 0,6,0,255,240,255,240,6,0,6,0,6,0,6,0,0, + 0,255,240,255,240,7,10,10,7,0,8,60,126,198,6,12, + 24,48,96,254,254,7,10,10,7,0,8,124,254,198,6,60, + 60,6,198,254,124,5,4,4,7,1,15,24,48,96,192,10, + 19,38,14,2,251,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,193,192,227,192,254,192,220, + 192,192,0,192,0,192,0,192,0,192,0,10,24,48,12,1, + 251,31,192,127,192,125,128,253,128,253,128,253,128,253,128,253, + 128,253,128,125,128,125,128,61,128,13,128,13,128,13,128,13, + 128,13,128,13,128,13,128,13,128,13,128,13,128,13,128,13, + 128,2,3,3,6,2,6,192,192,192,5,6,6,7,1,251, + 96,112,24,24,248,112,4,10,10,7,0,8,48,48,240,240, + 48,48,48,48,48,48,7,12,12,9,1,7,56,108,198,198, + 198,198,198,108,56,0,254,254,9,8,16,14,3,3,204,0, + 102,0,51,0,25,128,25,128,51,0,102,0,204,0,18,18, + 54,19,1,0,48,24,0,48,24,0,240,48,0,240,48,0, + 48,96,0,48,96,0,48,192,0,48,192,0,49,131,0,49, + 135,0,3,15,0,3,15,0,6,27,0,6,51,0,12,127, + 192,12,127,192,24,3,0,24,3,0,18,18,54,19,1,0, + 48,24,0,48,24,0,240,48,0,240,48,0,48,96,0,48, + 96,0,48,192,0,48,192,0,49,135,128,49,143,192,3,24, + 192,3,0,192,6,1,128,6,3,0,12,6,0,12,12,0, + 24,31,192,24,31,192,19,18,54,19,0,0,124,12,0,254, + 12,0,198,24,0,6,24,0,60,48,0,60,48,0,6,96, + 0,198,96,0,254,193,128,124,195,128,1,135,128,1,135,128, + 3,13,128,3,25,128,6,63,224,6,63,224,12,1,128,12, + 1,128,10,19,38,12,1,251,12,0,12,0,12,0,0,0, + 0,0,12,0,12,0,12,0,12,0,24,0,56,0,112,0, + 96,0,224,192,192,192,193,192,227,128,127,128,62,0,15,24, + 48,17,1,0,12,0,6,0,3,0,1,128,0,0,3,128, + 3,128,6,192,6,192,12,64,12,96,12,96,24,48,24,48, + 24,48,48,24,63,248,63,248,96,12,96,12,96,12,192,6, + 192,6,192,6,15,24,48,17,1,0,0,96,0,192,1,128, + 3,0,0,0,3,128,3,128,6,192,6,192,12,64,12,96, + 12,96,24,48,24,48,24,48,48,24,63,248,63,248,96,12, + 96,12,96,12,192,6,192,6,192,6,15,24,48,17,1,0, + 1,128,3,192,6,96,12,48,0,0,3,128,3,128,6,192, + 6,192,12,64,12,96,12,96,24,48,24,48,24,48,48,24, + 63,248,63,248,96,12,96,12,96,12,192,6,192,6,192,6, + 15,23,46,17,1,0,7,16,13,176,8,224,0,0,3,128, + 3,128,6,192,6,192,12,64,12,96,12,96,24,48,24,48, + 24,48,48,24,63,248,63,248,96,12,96,12,96,12,192,6, + 192,6,192,6,15,23,46,17,1,0,12,96,12,96,0,0, + 0,0,3,128,3,128,6,192,6,192,12,64,12,96,12,96, + 24,48,24,48,24,48,48,24,63,248,63,248,96,12,96,12, + 96,12,192,6,192,6,192,6,15,24,48,17,1,0,3,128, + 4,64,4,64,3,128,0,0,3,128,3,128,6,192,6,192, + 12,64,12,96,12,96,24,48,24,48,24,48,48,24,63,248, + 63,248,96,12,96,12,96,12,192,6,192,6,192,6,21,19, + 57,23,1,0,3,255,248,3,255,248,6,96,0,6,96,0, + 12,96,0,12,96,0,12,96,0,24,96,0,24,127,248,24, + 127,248,48,96,0,63,224,0,63,224,0,96,96,0,96,96, + 0,96,96,0,192,96,0,192,127,248,192,127,248,15,24,48, + 18,1,251,7,224,31,248,60,60,112,14,96,6,224,6,192, + 0,192,0,192,0,192,0,192,0,192,0,192,0,224,6,96, + 6,112,14,60,60,31,248,7,224,1,128,0,192,0,192,7, + 192,3,128,12,24,48,16,2,0,48,0,24,0,12,0,6, + 0,0,0,255,240,255,240,192,0,192,0,192,0,192,0,192, + 0,192,0,255,224,255,224,192,0,192,0,192,0,192,0,192, + 0,192,0,192,0,255,240,255,240,12,24,48,16,2,0,1, + 128,3,0,6,0,12,0,0,0,255,240,255,240,192,0,192, + 0,192,0,192,0,192,0,192,0,255,224,255,224,192,0,192, + 0,192,0,192,0,192,0,192,0,192,0,255,240,255,240,12, + 24,48,16,2,0,6,0,15,0,25,128,48,192,0,0,255, + 240,255,240,192,0,192,0,192,0,192,0,192,0,192,0,255, + 224,255,224,192,0,192,0,192,0,192,0,192,0,192,0,192, + 0,255,240,255,240,12,23,46,16,2,0,24,192,24,192,0, + 0,0,0,255,240,255,240,192,0,192,0,192,0,192,0,192, + 0,192,0,255,224,255,224,192,0,192,0,192,0,192,0,192, + 0,192,0,192,0,255,240,255,240,5,24,24,8,1,0,192, + 96,48,24,0,48,48,48,48,48,48,48,48,48,48,48,48, + 48,48,48,48,48,48,48,5,24,24,8,2,0,24,48,96, + 192,0,96,96,96,96,96,96,96,96,96,96,96,96,96,96, + 96,96,96,96,96,8,24,24,8,0,0,24,60,102,195,0, + 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, + 24,24,24,6,23,23,8,1,0,204,204,0,0,48,48,48, + 48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48, + 18,19,57,18,255,0,31,248,0,31,254,0,24,15,0,24, + 3,128,24,1,128,24,1,192,24,0,192,24,0,192,255,128, + 192,255,128,192,24,0,192,24,0,192,24,0,192,24,1,192, + 24,1,128,24,3,128,24,15,0,31,254,0,31,248,0,14, + 23,46,18,2,0,14,32,27,96,17,192,0,0,224,12,240, + 12,240,12,216,12,220,12,204,12,206,12,198,12,199,12,195, + 12,195,140,193,140,193,204,192,204,192,236,192,108,192,60,192, + 60,192,28,16,24,48,18,1,0,12,0,6,0,3,0,1, + 128,0,0,7,224,31,248,60,60,112,14,96,6,224,7,192, + 3,192,3,192,3,192,3,192,3,192,3,192,3,224,7,96, + 6,112,14,60,60,31,248,7,224,16,24,48,18,1,0,0, + 48,0,96,0,192,1,128,0,0,7,224,31,248,60,60,112, + 14,96,6,224,7,192,3,192,3,192,3,192,3,192,3,192, + 3,192,3,224,7,96,6,112,14,60,60,31,248,7,224,16, + 24,48,18,1,0,0,192,1,224,3,48,6,24,0,0,7, + 224,31,248,60,60,112,14,96,6,224,7,192,3,192,3,192, + 3,192,3,192,3,192,3,192,3,224,7,96,6,112,14,60, + 60,31,248,7,224,16,23,46,18,1,0,3,136,6,216,4, + 112,0,0,7,224,31,248,60,60,112,14,96,6,224,7,192, + 3,192,3,192,3,192,3,192,3,192,3,192,3,224,7,96, + 6,112,14,60,60,31,248,7,224,16,23,46,18,1,0,6, + 48,6,48,0,0,0,0,7,224,31,248,60,60,112,14,96, + 6,224,7,192,3,192,3,192,3,192,3,192,3,192,3,192, + 3,224,7,96,6,112,14,60,60,31,248,7,224,13,12,24, + 14,0,1,192,24,96,48,48,96,24,192,13,128,7,0,7, + 0,13,128,24,192,48,96,96,48,192,24,18,19,57,18,0, + 0,3,240,192,15,253,192,30,31,128,56,7,0,48,15,0, + 112,29,128,96,57,128,96,113,128,96,225,128,97,193,128,99, + 129,128,103,1,128,110,1,128,124,3,128,56,3,0,56,7, + 0,126,30,0,239,252,0,195,240,0,14,24,48,18,2,0, + 24,0,12,0,6,0,3,0,0,0,192,12,192,12,192,12, + 192,12,192,12,192,12,192,12,192,12,192,12,192,12,192,12, + 192,12,192,12,192,12,192,12,96,24,112,56,63,240,15,192, + 14,24,48,18,2,0,0,96,0,192,1,128,3,0,0,0, + 192,12,192,12,192,12,192,12,192,12,192,12,192,12,192,12, + 192,12,192,12,192,12,192,12,192,12,192,12,192,12,96,24, + 112,56,63,240,15,192,14,24,48,18,2,0,3,0,7,128, + 12,192,24,96,0,0,192,12,192,12,192,12,192,12,192,12, + 192,12,192,12,192,12,192,12,192,12,192,12,192,12,192,12, + 192,12,192,12,96,24,112,56,63,240,15,192,14,23,46,18, + 2,0,24,192,24,192,0,0,0,0,192,12,192,12,192,12, + 192,12,192,12,192,12,192,12,192,12,192,12,192,12,192,12, + 192,12,192,12,192,12,192,12,96,24,112,56,63,240,15,192, + 14,24,48,16,1,0,0,96,0,192,1,128,3,0,0,0, + 192,12,224,28,96,24,112,56,48,48,56,112,24,96,28,224, + 12,192,15,192,7,128,7,128,3,0,3,0,3,0,3,0, + 3,0,3,0,3,0,13,19,38,16,2,0,192,0,192,0, + 192,0,192,0,255,224,255,240,192,48,192,24,192,24,192,24, + 192,24,192,48,255,240,255,224,192,0,192,0,192,0,192,0, + 192,0,10,19,38,15,3,0,28,0,127,0,227,0,193,128, + 193,128,193,128,195,0,199,0,206,0,207,0,195,128,193,128, + 192,192,192,192,192,192,193,128,195,128,207,0,206,0,11,19, + 38,13,1,0,24,0,12,0,6,0,3,0,0,0,31,0, + 63,128,97,192,96,192,0,192,7,192,63,192,120,192,224,192, + 192,192,193,192,227,192,126,224,60,96,11,19,38,13,1,0, + 1,128,3,0,6,0,12,0,0,0,31,0,63,128,97,192, + 96,192,0,192,7,192,63,192,120,192,224,192,192,192,193,192, + 227,192,126,224,60,96,11,19,38,13,1,0,12,0,30,0, + 51,0,97,128,0,0,31,0,63,128,97,192,96,192,0,192, + 7,192,63,192,120,192,224,192,192,192,193,192,227,192,126,224, + 60,96,11,18,36,13,1,0,28,64,54,192,35,128,0,0, + 31,0,63,128,97,192,96,192,0,192,7,192,63,192,120,192, + 224,192,192,192,193,192,227,192,126,224,60,96,11,18,36,13, + 1,0,51,0,51,0,0,0,0,0,31,0,63,128,97,192, + 96,192,0,192,7,192,63,192,120,192,224,192,192,192,193,192, + 227,192,126,224,60,96,11,19,38,13,1,0,6,0,9,0, + 9,0,6,0,0,0,31,0,63,128,97,192,96,192,0,192, + 7,192,63,192,120,192,224,192,192,192,193,192,227,192,126,224, + 60,96,19,14,42,21,1,0,31,14,0,63,191,128,97,241, + 192,96,224,192,0,192,96,7,192,96,63,255,224,120,255,224, + 224,192,0,192,192,0,193,224,96,227,240,224,126,63,192,60, + 15,0,10,19,38,12,1,251,31,0,63,128,113,192,96,192, + 224,0,192,0,192,0,192,0,192,0,224,0,96,192,113,192, + 63,128,31,0,12,0,6,0,6,0,62,0,28,0,11,19, + 38,13,1,0,24,0,12,0,6,0,3,0,0,0,14,0, + 63,128,113,192,96,192,192,96,192,96,255,224,255,224,192,0, + 192,0,96,96,112,224,63,192,15,0,11,19,38,13,1,0, + 3,0,6,0,12,0,24,0,0,0,14,0,63,128,113,192, + 96,192,192,96,192,96,255,224,255,224,192,0,192,0,96,96, + 112,224,63,192,15,0,11,19,38,13,1,0,12,0,30,0, + 51,0,97,128,0,0,14,0,63,128,113,192,96,192,192,96, + 192,96,255,224,255,224,192,0,192,0,96,96,112,224,63,192, + 15,0,11,18,36,13,1,0,51,0,51,0,0,0,0,0, + 14,0,63,128,113,192,96,192,192,96,192,96,255,224,255,224, + 192,0,192,0,96,96,112,224,63,192,15,0,5,19,19,6, + 0,0,192,96,48,24,0,48,48,48,48,48,48,48,48,48, + 48,48,48,48,48,5,19,19,6,1,0,24,48,96,192,0, + 96,96,96,96,96,96,96,96,96,96,96,96,96,96,8,19, + 19,6,255,0,24,60,102,195,0,24,24,24,24,24,24,24, + 24,24,24,24,24,24,24,6,18,18,6,0,0,204,204,0, + 0,48,48,48,48,48,48,48,48,48,48,48,48,48,48,11, + 19,38,13,1,0,96,0,57,128,14,0,30,0,99,0,31, + 128,63,128,113,192,96,192,224,224,192,96,192,96,192,96,192, + 96,224,224,96,192,113,192,63,128,31,0,10,18,36,14,2, + 0,56,128,109,128,71,0,0,0,206,0,223,128,241,128,224, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,11,19,38,13,1,0,24,0,12,0,6, + 0,3,0,0,0,31,0,63,128,113,192,96,192,224,224,192, + 96,192,96,192,96,192,96,224,224,96,192,113,192,63,128,31, + 0,11,19,38,13,1,0,3,0,6,0,12,0,24,0,0, + 0,31,0,63,128,113,192,96,192,224,224,192,96,192,96,192, + 96,192,96,224,224,96,192,113,192,63,128,31,0,11,19,38, + 13,1,0,12,0,30,0,51,0,97,128,0,0,31,0,63, + 128,113,192,96,192,224,224,192,96,192,96,192,96,192,96,224, + 224,96,192,113,192,63,128,31,0,11,18,36,13,1,0,28, + 64,54,192,35,128,0,0,31,0,63,128,113,192,96,192,224, + 224,192,96,192,96,192,96,192,96,224,224,96,192,113,192,63, + 128,31,0,11,18,36,13,1,0,51,0,51,0,0,0,0, + 0,31,0,63,128,113,192,96,192,224,224,192,96,192,96,192, + 96,192,96,224,224,96,192,113,192,63,128,31,0,12,12,24, + 14,1,1,6,0,6,0,6,0,0,0,0,0,255,240,255, + 240,0,0,0,0,6,0,6,0,6,0,13,14,28,13,0, + 0,15,152,31,248,56,112,48,224,113,240,99,176,99,48,102, + 48,108,48,124,112,56,96,112,224,255,192,207,128,10,19,38, + 14,2,0,48,0,24,0,12,0,6,0,0,0,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,193,192,99,192,126,192,28,192,10,19,38,14,2,0,3, + 0,6,0,12,0,24,0,0,0,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,193,192,99, + 192,126,192,28,192,10,19,38,14,2,0,12,0,30,0,51, + 0,97,128,0,0,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,193,192,99,192,126,192,28, + 192,10,18,36,14,2,0,51,0,51,0,0,0,0,0,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,193,192,99,192,126,192,28,192,12,24,48,13,0, + 251,0,192,1,128,3,0,6,0,0,0,192,48,192,48,96, + 48,112,96,48,96,56,224,24,192,24,192,13,128,13,128,7, + 128,7,0,3,0,3,0,6,0,6,0,12,0,60,0,56, + 0,11,24,48,14,2,251,192,0,192,0,192,0,192,0,192, + 0,207,0,223,128,241,192,224,192,192,224,192,96,192,96,192, + 96,192,96,192,224,224,192,241,192,223,128,207,0,192,0,192, + 0,192,0,192,0,192,0,12,23,46,13,0,251,25,128,25, + 128,0,0,0,0,192,48,192,48,96,48,112,96,48,96,56, + 224,24,192,24,192,13,128,13,128,7,128,7,0,3,0,3, + 0,6,0,6,0,12,0,60,0,56,0 +}; + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/fontdata/profont_22.cpp b/Marlin/src/lcd/tft/fontdata/profont_22.cpp new file mode 100644 index 000000000000..1d02ebb069b0 --- /dev/null +++ b/Marlin/src/lcd/tft/fontdata/profont_22.cpp @@ -0,0 +1,426 @@ +/* + Fontname: ProFont22 + Copyright: ProFont Distribution 2.2 Generated by Fontographer 4.1.5 + Capital A Height: 14, '1' Height: 14 + Calculated Max Values w=12 h=22 x= 6 y=12 dx=12 dy= 0 ascent=18 len=44 + Font Bounding box w=12 h=21 x= 0 y=-4 + Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 + Pure Font ascent =14 descent=-4 + X Font ascent =16 descent=-4 + Max Font ascent =18 descent=-4 +*/ + +#include "../../../inc/MarlinConfigPre.h" + +#if HAS_GRAPHICAL_TFT + +#include + +extern const uint8_t ProFont22[6454] = { + 0,12,21,0,252,14,3,117,7,113,32,255,252,18,252,16, + 252,0,0,0,12,0,0,2,14,14,12,4,0,192,192,192, + 192,192,192,192,192,192,192,0,0,192,192,6,6,6,12,2, + 10,204,204,204,204,204,204,10,10,20,12,0,4,51,0,51, + 0,255,192,255,192,51,0,51,0,255,192,255,192,51,0,51, + 0,10,18,36,12,0,254,12,0,12,0,63,0,127,128,237, + 192,204,192,204,0,236,0,127,0,63,128,13,192,12,192,204, + 192,237,192,127,128,63,0,12,0,12,0,10,14,28,12,0, + 0,63,192,127,192,204,192,205,192,207,128,207,0,127,0,63, + 128,60,192,124,192,236,192,204,192,199,128,195,0,10,14,28, + 12,0,0,62,0,127,0,227,0,199,0,206,0,252,0,120, + 0,120,0,252,192,207,192,199,128,231,128,127,192,60,192,2, + 6,6,12,4,10,192,192,192,192,192,192,6,18,18,12,2, + 254,12,28,56,112,224,192,192,192,192,192,192,192,192,224,112, + 56,28,12,6,18,18,12,2,254,192,224,112,56,28,12,12, + 12,12,12,12,12,12,28,56,112,224,192,10,10,20,12,0, + 4,12,0,12,0,204,192,255,192,63,0,63,0,255,192,204, + 192,12,0,12,0,10,10,20,12,0,2,12,0,12,0,12, + 0,12,0,255,192,255,192,12,0,12,0,12,0,12,0,5, + 9,9,12,2,252,48,120,120,56,24,56,112,224,64,6,2, + 2,12,2,6,252,252,4,4,4,12,3,1,96,240,240,96, + 11,20,40,12,0,252,0,96,0,96,0,192,0,192,1,128, + 1,128,3,0,3,0,6,0,6,0,12,0,12,0,24,0, + 24,0,48,0,48,0,96,0,96,0,192,0,192,0,10,14, + 28,12,0,0,63,0,127,128,225,192,193,192,195,192,199,192, + 206,192,220,192,248,192,240,192,224,192,225,192,127,128,63,0, + 10,14,28,12,0,0,12,0,12,0,124,0,124,0,12,0, + 12,0,12,0,12,0,12,0,12,0,12,0,12,0,255,192, + 255,192,10,14,28,12,0,0,63,0,127,128,225,192,192,192, + 0,192,1,192,3,128,7,0,14,0,28,0,56,0,112,0, + 255,192,255,192,10,14,28,12,0,0,63,0,127,128,225,192, + 192,192,0,192,1,128,15,0,15,128,1,192,0,192,192,192, + 225,192,127,128,63,0,10,14,28,12,0,0,3,0,7,0, + 15,0,31,0,59,0,115,0,227,0,195,0,255,192,255,192, + 3,0,3,0,15,192,15,192,10,14,28,12,0,0,255,192, + 255,192,192,0,192,0,255,0,255,128,1,192,0,192,0,192, + 0,192,192,192,225,192,127,128,63,0,10,14,28,12,0,0, + 63,0,127,0,224,0,192,0,255,0,255,128,193,192,192,192, + 192,192,192,192,192,192,225,192,127,128,63,0,10,14,28,12, + 0,0,255,192,255,192,0,192,0,192,0,192,1,192,3,128, + 7,0,14,0,12,0,12,0,12,0,12,0,12,0,10,14, + 28,12,0,0,63,0,127,128,225,192,192,192,192,192,97,128, + 63,0,127,128,225,192,192,192,192,192,225,192,127,128,63,0, + 10,14,28,12,0,0,63,0,127,128,225,192,192,192,192,192, + 192,192,192,192,224,192,127,192,63,192,0,192,1,192,63,128, + 63,0,4,10,10,12,3,1,96,240,240,96,0,0,96,240, + 240,96,5,15,15,12,2,252,48,120,120,48,0,0,48,120, + 120,56,24,56,112,224,64,8,14,14,12,2,0,3,7,14, + 28,56,112,224,224,112,56,28,14,7,3,10,6,12,12,0, + 4,255,192,255,192,0,0,0,0,255,192,255,192,8,14,14, + 12,2,0,192,224,112,56,28,14,7,7,14,28,56,112,224, + 192,10,14,28,12,0,0,63,0,127,128,225,192,192,192,0, + 192,1,192,3,128,7,0,14,0,12,0,0,0,0,0,12, + 0,12,0,10,14,28,12,0,0,63,0,127,128,225,192,192, + 192,199,192,207,192,204,192,204,192,207,192,199,128,192,0,224, + 0,127,192,63,192,10,14,28,12,0,0,12,0,30,0,30, + 0,51,0,51,0,97,128,97,128,192,192,255,192,255,192,192, + 192,192,192,192,192,192,192,10,14,28,12,0,0,255,0,255, + 128,193,192,192,192,192,192,193,128,255,0,255,128,193,192,192, + 192,192,192,193,192,255,128,255,0,10,14,28,12,0,0,63, + 0,127,128,225,192,192,192,192,0,192,0,192,0,192,0,192, + 0,192,0,192,192,225,192,127,128,63,0,10,14,28,12,0, + 0,255,0,255,128,193,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,193,192,255,128,255,0,10,14,28, + 12,0,0,255,192,255,192,192,0,192,0,192,0,192,0,255, + 0,255,0,192,0,192,0,192,0,192,0,255,192,255,192,10, + 14,28,12,0,0,255,192,255,192,192,0,192,0,192,0,192, + 0,255,0,255,0,192,0,192,0,192,0,192,0,192,0,192, + 0,10,14,28,12,0,0,63,0,127,128,225,192,192,192,192, + 0,192,0,195,192,195,192,192,192,192,192,192,192,225,192,127, + 128,63,0,10,14,28,12,0,0,192,192,192,192,192,192,192, + 192,192,192,192,192,255,192,255,192,192,192,192,192,192,192,192, + 192,192,192,192,192,10,14,28,12,0,0,255,192,255,192,12, + 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, + 0,12,0,255,192,255,192,10,14,28,12,0,0,0,192,0, + 192,0,192,0,192,0,192,0,192,0,192,0,192,192,192,192, + 192,192,192,225,192,127,128,63,0,10,14,28,12,0,0,193, + 192,195,128,199,0,206,0,220,0,248,0,240,0,248,0,220, + 0,206,0,199,0,195,128,193,192,192,192,10,14,28,12,0, + 0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192, + 0,192,0,192,0,192,0,192,0,255,192,255,192,10,14,28, + 12,0,0,192,192,225,192,243,192,255,192,222,192,204,192,204, + 192,204,192,192,192,192,192,192,192,192,192,192,192,192,192,10, + 14,28,12,0,0,192,192,224,192,240,192,248,192,220,192,206, + 192,199,192,195,192,193,192,192,192,192,192,192,192,192,192,192, + 192,10,14,28,12,0,0,63,0,127,128,225,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,225,192,127, + 128,63,0,10,14,28,12,0,0,255,0,255,128,193,192,192, + 192,192,192,193,192,255,128,255,0,192,0,192,0,192,0,192, + 0,192,0,192,0,10,16,32,12,0,254,63,0,127,128,225, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,204, + 192,239,192,127,128,63,128,1,192,0,192,10,14,28,12,0, + 0,255,0,255,128,193,192,192,192,192,192,193,128,255,0,255, + 128,193,192,192,192,192,192,192,192,192,192,192,192,10,14,28, + 12,0,0,63,0,127,128,225,192,192,192,192,0,224,0,127, + 0,63,128,1,192,0,192,192,192,225,192,127,128,63,0,10, + 14,28,12,0,0,255,192,255,192,12,0,12,0,12,0,12, + 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, + 0,10,14,28,12,0,0,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,225,192,127, + 128,63,0,10,14,28,12,0,0,192,192,192,192,192,192,192, + 192,192,192,192,192,97,128,97,128,51,0,51,0,30,0,30, + 0,12,0,12,0,10,14,28,12,0,0,192,192,192,192,192, + 192,192,192,192,192,192,192,204,192,204,192,204,192,222,192,255, + 192,243,192,225,192,192,192,10,14,28,12,0,0,192,192,192, + 192,192,192,225,192,115,128,63,0,30,0,30,0,63,0,115, + 128,225,192,192,192,192,192,192,192,10,14,28,12,0,0,192, + 192,192,192,192,192,192,192,192,192,225,192,115,128,63,0,30, + 0,12,0,12,0,12,0,12,0,12,0,10,14,28,12,0, + 0,255,192,255,192,0,192,1,192,3,128,7,0,14,0,28, + 0,56,0,112,0,224,0,192,0,255,192,255,192,4,18,18, + 12,4,254,240,240,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,240,240,11,20,40,12,1,252,192,0,192,0,96, + 0,96,0,48,0,48,0,24,0,24,0,12,0,12,0,6, + 0,6,0,3,0,3,0,1,128,1,128,0,192,0,192,0, + 96,0,96,4,18,18,12,2,254,240,240,48,48,48,48,48, + 48,48,48,48,48,48,48,48,48,240,240,10,6,12,12,0, + 8,12,0,30,0,63,0,115,128,225,192,64,128,12,2,4, + 12,0,252,255,240,255,240,4,4,4,12,2,12,192,224,112, + 48,10,10,20,12,0,0,63,192,127,192,224,192,192,192,192, + 192,193,192,195,192,231,192,126,192,60,192,10,14,28,12,0, + 0,192,0,192,0,192,0,192,0,255,0,255,128,193,192,192, + 192,192,192,192,192,192,192,193,192,255,128,255,0,10,10,20, + 12,0,0,63,0,127,128,225,192,192,192,192,0,192,0,192, + 0,224,0,127,192,63,192,10,14,28,12,0,0,0,192,0, + 192,0,192,0,192,63,192,127,192,224,192,192,192,192,192,192, + 192,192,192,224,192,127,192,63,192,10,10,20,12,0,0,63, + 0,127,128,225,192,192,192,255,192,255,192,192,0,224,0,127, + 192,63,192,8,14,14,12,2,0,15,31,56,48,252,252,48, + 48,48,48,48,48,48,48,10,14,28,12,0,252,63,192,127, + 192,224,192,192,192,192,192,192,192,192,192,224,192,127,192,63, + 192,0,192,1,192,63,128,63,0,10,14,28,12,0,0,192, + 0,192,0,192,0,192,0,255,0,255,128,193,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,6,14,14,12,2, + 0,48,48,0,0,240,240,48,48,48,48,48,48,252,252,6, + 18,18,12,0,252,12,12,0,0,60,60,12,12,12,12,12, + 12,12,12,12,28,248,240,10,14,28,12,0,0,192,0,192, + 0,192,0,192,0,195,128,199,0,206,0,220,0,252,0,254, + 0,231,0,195,128,193,192,192,192,6,14,14,12,2,0,240, + 240,48,48,48,48,48,48,48,48,48,48,252,252,10,10,20, + 12,0,0,255,0,255,128,205,192,204,192,204,192,204,192,204, + 192,204,192,204,192,204,192,10,10,20,12,0,0,207,0,223, + 128,249,192,240,192,224,192,192,192,192,192,192,192,192,192,192, + 192,10,10,20,12,0,0,63,0,127,128,225,192,192,192,192, + 192,192,192,192,192,225,192,127,128,63,0,10,14,28,12,0, + 252,255,0,255,128,193,192,192,192,192,192,192,192,192,192,193, + 192,255,128,255,0,192,0,192,0,192,0,192,0,10,14,28, + 12,0,252,63,192,127,192,224,192,192,192,192,192,192,192,192, + 192,224,192,127,192,63,192,0,192,0,192,0,192,0,192,10, + 10,20,12,0,0,207,0,223,128,249,192,240,192,224,0,192, + 0,192,0,192,0,192,0,192,0,10,10,20,12,0,0,63, + 192,127,192,192,0,192,0,127,0,63,128,0,192,0,192,255, + 128,255,0,8,14,14,12,2,0,48,48,48,48,252,252,48, + 48,48,48,48,56,31,15,10,10,20,12,0,0,192,192,192, + 192,192,192,192,192,192,192,193,192,195,192,231,192,126,192,60, + 192,10,10,20,12,0,0,192,192,192,192,192,192,97,128,97, + 128,51,128,51,0,30,0,30,0,12,0,10,10,20,12,0, + 0,204,192,204,192,204,192,204,192,204,192,204,192,204,192,204, + 192,127,128,51,0,10,10,20,12,0,0,192,192,225,192,115, + 128,63,0,30,0,30,0,63,0,115,128,225,192,192,192,10, + 14,28,12,0,252,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,224,192,127,192,63,192,0,192,1,192,63,128,63, + 0,10,10,20,12,0,0,255,192,255,192,3,128,7,0,14, + 0,28,0,56,0,112,0,255,192,255,192,6,22,22,12,2, + 252,12,28,56,48,48,48,48,48,48,112,224,224,112,48,48, + 48,48,48,48,56,28,12,2,18,18,12,4,254,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,6, + 22,22,12,2,252,192,224,112,48,48,48,48,48,48,56,28, + 28,56,48,48,48,48,48,48,112,224,192,10,4,8,12,0, + 6,48,192,124,192,207,128,195,0,0,0,0,12,0,0,0, + 0,0,12,0,0,0,0,0,12,0,0,4,7,7,12,0, + 253,48,48,48,48,112,224,64,10,22,44,12,0,252,3,192, + 7,192,14,0,12,0,12,0,12,0,12,0,12,0,63,0, + 63,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, + 12,0,12,0,28,0,248,0,240,0,8,7,7,12,0,253, + 51,51,51,51,119,238,68,10,2,4,12,0,0,204,192,204, + 192,6,10,10,12,2,4,48,48,252,252,48,48,48,48,48, + 48,6,10,10,12,2,4,48,48,252,252,48,48,252,252,48, + 48,6,4,4,12,2,12,48,120,252,204,12,16,32,12,0, + 0,63,240,127,240,204,224,205,192,207,128,207,0,126,0,60, + 0,60,192,127,224,243,48,243,48,179,48,51,48,31,224,12, + 192,10,18,36,12,0,0,51,0,63,0,30,0,12,0,63, + 0,127,128,225,192,192,192,192,0,224,0,127,0,63,128,1, + 192,0,192,192,192,225,192,127,128,63,0,4,10,10,12,0, + 255,48,112,96,224,192,192,224,96,112,48,10,14,28,12,0, + 0,63,192,127,192,236,0,204,0,204,0,204,0,207,0,207, + 0,204,0,204,0,204,0,236,0,127,192,63,192,0,0,0, + 12,0,0,0,0,0,12,0,0,0,0,0,12,0,0,0, + 0,0,12,0,0,4,7,7,12,4,8,32,112,224,192,192, + 192,192,4,7,7,12,4,7,48,48,48,48,112,224,64,8, + 7,7,12,2,8,34,119,238,204,204,204,204,8,7,7,12, + 2,7,51,51,51,51,119,238,68,10,10,20,12,0,2,30, + 0,127,128,127,128,255,192,255,192,255,192,255,192,127,128,127, + 128,30,0,6,2,2,12,2,6,252,252,12,2,4,12,0, + 6,255,240,255,240,10,4,8,12,0,12,48,192,124,192,207, + 128,195,0,12,6,12,12,0,8,255,48,255,240,51,240,51, + 240,51,48,51,48,10,16,32,12,0,0,51,0,63,0,30, + 0,12,0,0,0,0,0,63,192,127,192,192,0,192,0,127, + 0,63,128,0,192,0,192,255,128,255,0,4,10,10,12,0, + 255,192,224,96,112,48,48,112,96,224,192,10,10,20,12,0, + 0,51,0,127,128,204,192,204,192,207,192,207,192,204,0,204, + 0,127,192,51,192,0,0,0,12,0,0,0,0,0,12,0, + 0,10,18,36,12,0,0,51,0,51,0,0,0,0,0,192, + 192,192,192,192,192,192,192,192,192,225,192,115,128,63,0,30, + 0,12,0,12,0,12,0,12,0,12,0,0,0,0,12,0, + 0,2,14,14,12,6,0,192,192,0,0,192,192,192,192,192, + 192,192,192,192,192,10,14,28,12,0,254,12,0,12,0,63, + 0,127,128,237,192,204,192,204,0,204,0,204,0,236,0,127, + 192,63,192,12,0,12,0,10,16,32,12,0,0,60,0,126, + 0,231,0,195,0,192,0,192,0,252,0,252,0,192,0,192, + 0,192,0,192,0,192,192,193,192,255,128,255,0,10,10,20, + 12,0,0,64,128,225,192,127,128,63,0,51,0,51,0,63, + 0,127,128,225,192,64,128,10,14,28,12,0,0,192,192,225, + 192,115,128,63,0,255,192,255,192,12,0,12,0,255,192,255, + 192,12,0,12,0,12,0,12,0,2,18,18,12,4,254,192, + 192,192,192,192,192,192,192,0,0,192,192,192,192,192,192,192, + 192,10,20,40,12,0,254,31,0,127,128,97,192,224,192,112, + 192,56,192,220,0,206,0,199,0,227,128,113,192,56,192,28, + 192,14,192,199,0,195,128,193,192,225,128,127,128,62,0,6, + 2,2,12,2,12,204,204,10,14,28,12,0,0,120,0,254, + 0,135,0,1,128,61,128,124,192,192,192,192,192,124,192,61, + 128,1,128,135,0,254,0,120,0,8,12,12,12,2,6,63, + 127,227,195,195,227,127,63,0,0,255,255,10,10,20,12,0, + 255,48,192,113,192,97,128,227,128,195,0,195,0,227,128,97, + 128,113,192,48,192,10,6,12,12,0,2,255,192,255,192,0, + 192,0,192,0,192,0,192,10,2,4,12,0,6,255,192,255, + 192,10,12,24,12,0,2,120,0,254,0,135,0,1,128,241, + 128,248,192,204,192,204,192,248,192,249,192,223,128,207,0,6, + 2,2,12,2,12,252,252,8,8,8,12,2,8,60,126,231, + 195,195,231,126,60,10,12,24,12,0,0,12,0,12,0,12, + 0,12,0,255,192,255,192,12,0,12,0,12,0,12,0,255, + 192,255,192,5,7,7,12,3,11,112,136,8,16,32,64,248, + 5,7,7,12,3,11,112,136,8,48,8,136,112,4,4,4, + 12,4,12,48,112,224,192,10,14,28,12,0,252,195,0,195, + 0,195,0,195,0,195,0,195,0,195,0,199,128,255,192,252, + 192,192,0,192,0,192,0,192,0,10,16,32,12,0,0,31, + 192,127,192,124,192,236,192,204,192,204,192,236,192,124,192,127, + 192,31,192,12,192,12,192,12,192,12,192,12,192,12,192,4, + 4,4,12,4,4,96,240,240,96,4,6,6,12,2,252,240, + 240,48,112,224,64,5,7,7,12,3,11,32,224,32,32,32, + 32,248,8,12,12,12,2,6,60,126,231,195,195,231,126,60, + 0,0,255,255,10,10,20,12,0,255,195,0,227,128,97,128, + 113,192,48,192,48,192,113,192,97,128,227,128,195,0,12,18, + 36,12,0,0,16,0,112,0,16,0,16,0,16,16,16,32, + 124,64,0,128,1,0,2,0,4,0,8,64,16,192,33,64, + 66,64,131,224,0,64,0,224,12,18,36,12,0,0,16,0, + 112,0,16,0,16,0,16,16,16,32,124,64,0,128,1,0, + 2,0,4,0,9,192,18,32,32,32,64,64,128,128,1,0, + 3,224,12,18,36,12,0,0,56,0,68,0,4,0,24,0, + 4,16,68,32,56,64,0,128,1,0,2,0,4,0,8,64, + 16,192,33,64,66,64,131,224,0,64,0,224,10,14,28,12, + 0,0,12,0,12,0,0,0,0,0,12,0,28,0,56,0, + 112,0,224,0,192,0,192,192,225,192,127,128,63,0,10,18, + 36,12,0,0,48,0,56,0,28,0,12,0,12,0,30,0, + 30,0,51,0,51,0,97,128,97,128,192,192,255,192,255,192, + 192,192,192,192,192,192,192,192,10,18,36,12,0,0,3,0, + 7,0,14,0,12,0,12,0,30,0,30,0,51,0,51,0, + 97,128,97,128,192,192,255,192,255,192,192,192,192,192,192,192, + 192,192,10,18,36,12,0,0,12,0,30,0,63,0,51,0, + 12,0,30,0,30,0,51,0,51,0,97,128,97,128,192,192, + 255,192,255,192,192,192,192,192,192,192,192,192,10,18,36,12, + 0,0,48,192,124,192,207,128,195,0,12,0,30,0,30,0, + 51,0,51,0,97,128,97,128,192,192,255,192,255,192,192,192, + 192,192,192,192,192,192,10,18,36,12,0,0,51,0,51,0, + 0,0,0,0,12,0,30,0,30,0,51,0,51,0,97,128, + 97,128,192,192,255,192,255,192,192,192,192,192,192,192,192,192, + 10,18,36,12,0,0,12,0,30,0,51,0,51,0,30,0, + 30,0,30,0,51,0,51,0,97,128,97,128,192,192,255,192, + 255,192,192,192,192,192,192,192,192,192,10,14,28,12,0,0, + 63,192,127,192,236,0,204,0,204,0,204,0,255,0,255,0, + 204,0,204,0,204,0,204,0,207,192,207,192,10,18,36,12, + 0,252,63,0,127,128,225,192,192,192,192,0,192,0,192,0, + 192,0,192,0,192,0,192,192,225,192,127,128,63,0,12,0, + 28,0,56,0,16,0,10,18,36,12,0,0,48,0,56,0, + 28,0,12,0,255,192,255,192,192,0,192,0,192,0,192,0, + 255,0,255,0,192,0,192,0,192,0,192,0,255,192,255,192, + 10,18,36,12,0,0,3,0,7,0,14,0,12,0,255,192, + 255,192,192,0,192,0,192,0,192,0,255,0,255,0,192,0, + 192,0,192,0,192,0,255,192,255,192,10,18,36,12,0,0, + 12,0,30,0,63,0,51,0,255,192,255,192,192,0,192,0, + 192,0,192,0,255,0,255,0,192,0,192,0,192,0,192,0, + 255,192,255,192,10,18,36,12,0,0,51,0,51,0,0,0, + 0,0,255,192,255,192,192,0,192,0,192,0,192,0,255,0, + 255,0,192,0,192,0,192,0,192,0,255,192,255,192,10,18, + 36,12,0,0,48,0,56,0,28,0,12,0,255,192,255,192, + 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, + 12,0,12,0,255,192,255,192,10,18,36,12,0,0,3,0, + 7,0,14,0,12,0,255,192,255,192,12,0,12,0,12,0, + 12,0,12,0,12,0,12,0,12,0,12,0,12,0,255,192, + 255,192,10,18,36,12,0,0,12,0,30,0,63,0,51,0, + 255,192,255,192,12,0,12,0,12,0,12,0,12,0,12,0, + 12,0,12,0,12,0,12,0,255,192,255,192,10,18,36,12, + 0,0,51,0,51,0,0,0,0,0,255,192,255,192,12,0, + 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, + 12,0,255,192,255,192,10,14,28,12,0,0,63,0,63,128, + 49,192,48,192,48,192,48,192,252,192,252,192,48,192,48,192, + 48,192,49,192,63,128,63,0,10,18,36,12,0,0,48,192, + 124,192,207,128,199,0,192,192,224,192,240,192,248,192,220,192, + 206,192,199,192,195,192,193,192,192,192,192,192,192,192,192,192, + 192,192,10,18,36,12,0,0,48,0,56,0,28,0,12,0, + 63,0,127,128,225,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,225,192,127,128,63,0,10,18,36,12, + 0,0,3,0,7,0,14,0,12,0,63,0,127,128,225,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 225,192,127,128,63,0,10,18,36,12,0,0,12,0,30,0, + 63,0,51,0,0,0,63,0,127,128,225,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,225,192,127,128,63,0, + 10,18,36,12,0,0,48,192,124,192,207,128,199,0,63,0, + 127,128,225,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,225,192,127,128,63,0,10,18,36,12,0,0, + 51,0,51,0,0,0,0,0,63,0,127,128,225,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,225,192, + 127,128,63,0,10,10,20,12,0,2,64,128,225,192,115,128, + 63,0,30,0,30,0,63,0,115,128,225,192,64,128,10,14, + 28,12,0,0,63,0,127,128,225,192,193,192,195,192,199,192, + 206,192,220,192,248,192,240,192,224,192,225,192,127,128,63,0, + 10,18,36,12,0,0,48,0,56,0,28,0,12,0,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,225,192,127,128,63,0,10,18,36,12,0,0, + 3,0,7,0,14,0,12,0,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,225,192, + 127,128,63,0,10,18,36,12,0,0,12,0,30,0,63,0, + 51,0,0,0,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,225,192,127,128,63,0,10,18, + 36,12,0,0,51,0,51,0,0,0,0,0,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,225,192,127,128,63,0,10,18,36,12,0,0,3,0, + 7,0,14,0,12,0,192,192,192,192,192,192,192,192,192,192, + 225,192,115,128,63,0,30,0,12,0,12,0,12,0,12,0, + 12,0,10,14,28,12,0,0,192,0,192,0,255,0,255,128, + 193,192,192,192,192,192,193,192,255,128,255,0,192,0,192,0, + 192,0,192,0,10,18,36,12,0,254,15,0,31,128,57,192, + 112,192,224,192,193,192,195,128,195,0,195,0,195,128,193,192, + 192,192,192,192,193,192,207,128,207,0,192,0,192,0,10,16, + 32,12,0,0,12,0,14,0,7,0,3,0,0,0,0,0, + 63,192,127,192,224,192,192,192,192,192,193,192,195,192,231,192, + 126,192,60,192,10,16,32,12,0,0,3,0,7,0,14,0, + 12,0,0,0,0,0,63,192,127,192,224,192,192,192,192,192, + 193,192,195,192,231,192,126,192,60,192,10,16,32,12,0,0, + 12,0,30,0,63,0,51,0,0,0,0,0,63,192,127,192, + 224,192,192,192,192,192,193,192,195,192,231,192,126,192,60,192, + 10,16,32,12,0,0,48,192,124,192,207,128,199,0,0,0, + 0,0,63,192,127,192,224,192,192,192,192,192,193,192,195,192, + 231,192,126,192,60,192,10,14,28,12,0,0,51,0,51,0, + 0,0,0,0,63,192,127,192,224,192,192,192,192,192,193,192, + 195,192,231,192,126,192,60,192,10,16,32,12,0,0,12,0, + 30,0,51,0,51,0,30,0,12,0,63,192,127,192,224,192, + 192,192,192,192,193,192,195,192,231,192,126,192,60,192,10,10, + 20,12,0,0,63,0,127,128,237,192,204,192,207,192,207,192, + 204,0,236,0,127,192,63,192,10,14,28,12,0,252,63,0, + 127,128,225,192,192,192,192,0,192,0,192,0,224,0,127,192, + 63,192,12,0,28,0,56,0,16,0,10,16,32,12,0,0, + 48,0,56,0,28,0,12,0,0,0,0,0,63,0,127,128, + 225,192,192,192,255,192,255,192,192,0,224,0,127,192,63,192, + 10,16,32,12,0,0,3,0,7,0,14,0,12,0,0,0, + 0,0,63,0,127,128,225,192,192,192,255,192,255,192,192,0, + 224,0,127,192,63,192,10,16,32,12,0,0,12,0,30,0, + 63,0,51,0,0,0,0,0,63,0,127,128,225,192,192,192, + 255,192,255,192,192,0,224,0,127,192,63,192,10,14,28,12, + 0,0,51,0,51,0,0,0,0,0,63,0,127,128,225,192, + 192,192,255,192,255,192,192,0,224,0,127,192,63,192,6,16, + 16,12,2,0,192,224,112,48,0,0,240,240,48,48,48,48, + 48,48,252,252,6,16,16,12,2,0,12,28,56,48,0,0, + 240,240,48,48,48,48,48,48,252,252,6,16,16,12,2,0, + 48,120,252,204,0,0,240,240,48,48,48,48,48,48,252,252, + 6,14,14,12,2,0,204,204,0,0,240,240,48,48,48,48, + 48,48,252,252,10,17,34,12,0,0,36,0,126,0,60,0, + 60,0,126,0,39,0,3,128,63,192,127,192,225,192,192,192, + 192,192,192,192,192,192,225,192,127,128,63,0,10,16,32,12, + 0,0,48,192,124,192,207,128,199,0,0,0,0,0,207,0, + 223,128,249,192,240,192,224,192,192,192,192,192,192,192,192,192, + 192,192,10,16,32,12,0,0,48,0,56,0,28,0,12,0, + 0,0,0,0,63,0,127,128,225,192,192,192,192,192,192,192, + 192,192,225,192,127,128,63,0,10,16,32,12,0,0,3,0, + 7,0,14,0,12,0,0,0,0,0,63,0,127,128,225,192, + 192,192,192,192,192,192,192,192,225,192,127,128,63,0,10,16, + 32,12,0,0,12,0,30,0,63,0,51,0,0,0,0,0, + 63,0,127,128,225,192,192,192,192,192,192,192,192,192,225,192, + 127,128,63,0,10,16,32,12,0,0,48,192,124,192,207,128, + 199,0,0,0,0,0,63,0,127,128,225,192,192,192,192,192, + 192,192,192,192,225,192,127,128,63,0,10,14,28,12,0,0, + 51,0,51,0,0,0,0,0,63,0,127,128,225,192,192,192, + 192,192,192,192,192,192,225,192,127,128,63,0,10,10,20,12, + 0,2,12,0,12,0,0,0,0,0,255,192,255,192,0,0, + 0,0,12,0,12,0,10,10,20,12,0,0,63,0,127,128, + 227,192,199,192,206,192,220,192,248,192,241,192,127,128,63,0, + 10,16,32,12,0,0,48,0,56,0,28,0,12,0,0,0, + 0,0,192,192,192,192,192,192,192,192,192,192,193,192,195,192, + 231,192,126,192,60,192,10,16,32,12,0,0,3,0,7,0, + 14,0,12,0,0,0,0,0,192,192,192,192,192,192,192,192, + 192,192,193,192,195,192,231,192,126,192,60,192,10,16,32,12, + 0,0,12,0,30,0,63,0,51,0,0,0,0,0,192,192, + 192,192,192,192,192,192,192,192,193,192,195,192,231,192,126,192, + 60,192,10,14,28,12,0,0,51,0,51,0,0,0,0,0, + 192,192,192,192,192,192,192,192,192,192,193,192,195,192,231,192, + 126,192,60,192,10,20,40,12,0,252,3,0,7,0,14,0, + 12,0,0,0,0,0,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,224,192,127,192,63,192,0,192,1,192,63,128, + 63,0,10,18,36,12,0,252,192,0,192,0,192,0,192,0, + 255,0,255,128,193,192,192,192,192,192,192,192,192,192,193,192, + 255,128,255,0,192,0,192,0,192,0,192,0,10,18,36,12, + 0,252,51,0,51,0,0,0,0,0,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,224,192,127,192,63,192,0,192, + 1,192,63,128,63,0 +}; + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/ili9328.h b/Marlin/src/lcd/tft/ili9328.h new file mode 100644 index 000000000000..85edfa7bee0a --- /dev/null +++ b/Marlin/src/lcd/tft/ili9328.h @@ -0,0 +1,150 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#include "tft.h" + +#include "../../inc/MarlinConfig.h" + +#define ILI9328_DRVCTL_SM 0x0400 +#define ILI9328_DRVCTL_SS 0x0100 // Select the shift direction of outputs from the source driver. 0 - from S1 to S720 / 1 - from S720 to S1 + +#define ILI9328_GATE_SCANCTL_GS 0x8000 // Sets the direction of scan by the gate driver in the range determined by SCN[4:0] and NL[4:0]. + +#define ILI9328_ETMOD_TRI 0x8000 +#define ILI9328_ETMOD_DFM 0x4000 +#define ILI9328_ETMOD_BGR 0x1000 // RGB-BGR ORDER +#define ILI9328_ETMOD_RGB 0x0000 +#define ILI9328_ETMOD_ORG 0x0080 +#define ILI9328_ETMOD_ID1 0x0020 // 0 - Vertical Decrement / 1 - Vertical Increment +#define ILI9328_ETMOD_ID0 0x0010 // 0 - Horizontal Decrement / 1 - Horizontal Increment +#define ILI9328_ETMOD_AM 0x0008 // 0 - Horizontal / 1 - Vertical + +// MKS Robin TFT v1.1 - 320x240 ; Cable on the left side +#define ILI9328_DRVCTL_DATA ILI9328_DRVCTL_SS +#define ILI9328_ETMOD_DATA ILI9328_ETMOD_BGR | ILI9328_ETMOD_ID1 | ILI9328_ETMOD_ID0 | ILI9328_ETMOD_AM + +#define ILI9328_RDDID 0x00 // ID code - 0x9328 +#define ILI9328_DRVCTL 0x01 // Driver Output Control +#define ILI9328_LCDCTL 0x02 // LCD Driving Wave Control +#define ILI9328_ETMOD 0x03 // Entry Mode - Control the GRAM update direction +#define ILI9328_RESIZECTL 0x04 // Resizing Control Register +#define ILI9328_DISCTRL1 0x07 // Display Control 1 +#define ILI9328_DISCTRL2 0x08 // Display Control 2 +#define ILI9328_DISCTRL3 0x09 // Display Control 3 +#define ILI9328_DISCTRL4 0x0A // Display Control 4 +#define ILI9328_RGBCTRL1 0x0C // RGB Display Interface Control 1 +#define ILI9328_FMARKERPOS 0x0D // Frame Marker Position +#define ILI9328_RGBCTRL2 0x0F // RGB Display Interface Control 2 +#define ILI9328_PWCTRL1 0x10 // Power Control 1 +#define ILI9328_PWCTRL2 0x11 // Power Control 2 +#define ILI9328_PWCTRL3 0x12 // Power Control 3 +#define ILI9328_PWCTRL4 0x13 // Power Control 4 + +// With landscape screen orientation 'Horizontal' is Y and 'Vertical' is X +#define ILI9328_HASET 0x20 // GRAM Horizontal Address Set (0-255) +#define ILI9328_VASET 0x21 // GRAM Vertical Address Set (0-511) +#define ILI9328_RAMWR 0x22 // Write data to GRAM +#define ILI9328_RAMRD 0x22 // Read Data from GRAM + +#define ILI9328_PWCTRL7 0x29 // Power Control 7 +#define ILI9328_FRMCTR 0x2B // Frame Rate and Color Control +#define ILI9328_GAMCTRL1 0x30 // Gamma Control +#define ILI9328_GAMCTRL2 0x31 // Gamma Control +#define ILI9328_GAMCTRL3 0x32 // Gamma Control +#define ILI9328_GAMCTRL4 0x35 // Gamma Control +#define ILI9328_GAMCTRL5 0x36 // Gamma Control +#define ILI9328_GAMCTRL6 0x37 // Gamma Control +#define ILI9328_GAMCTRL7 0x38 // Gamma Control +#define ILI9328_GAMCTRL8 0x39 // Gamma Control +#define ILI9328_GAMCTRL9 0x3C // Gamma Control +#define ILI9328_GAMCTRLA 0x3D // Gamma Control + +// With landscape screen orientation 'Horizontal' is Y and 'Vertical' is X +#define ILI9328_HASTART 0x50 // Horizontal Address Start Position (0-255) +#define ILI9328_HAEND 0x51 // Horizontal Address End Position (0-255) +#define ILI9328_VASTART 0x52 // Vertical Address Start Position (0-511) +#define ILI9328_VAEND 0x53 // Vertical Address End Position (0-511) + +#define ILI9328_GATE_SCANCTL1 0x60 // Gate Scan Control +#define ILI9328_GATE_SCANCTL2 0x61 // Gate Scan Control +#define ILI9328_GATE_SCANCTL3 0x6A // Gate Scan Control + +#define ILI9328_PLTPOS1 0x80 // Partial Image 1 Display Position +#define ILI9328_PLTSTART1 0x81 // Partial Image 1 RAM Start Address +#define ILI9328_PLTEND1 0x82 // Partial Image 1 RAM End Address +#define ILI9328_PLTPOS2 0x83 // Partial Image 2 Display Position +#define ILI9328_PLTSTART2 0x84 // Partial Image 2 RAM Start Address +#define ILI9328_PLTEND2 0x85 // Partial Image 2 RAM End Address + +#define ILI9328_IFCTL1 0x90 // Panel Interface Control 1 +#define ILI9328_IFCTL2 0x92 // Panel Interface Control 2 +#define ILI9328_IFCTL4 0x95 // Panel Interface Control 4 +#define ILI9328_IFCTL5 0x97 // Panel Interface Control 5 + +#define ILI9328_OTPWR 0xA1 // OTP VCM Programming Control +#define ILI9328_RDOTP 0xA2 // OTP VCM Status and Enable +#define ILI9328_OTPPKEY 0xA5 // OTP Programming ID Key + + +static const uint16_t ili9328_init[] = { + DATASIZE_16BIT, + ESC_REG(ILI9328_DRVCTL), ILI9328_DRVCTL_DATA, + ESC_REG(ILI9328_LCDCTL), 0x0400, // LCD Driving Wave Control + ESC_REG(ILI9328_ETMOD), ILI9328_ETMOD_DATA, + + ESC_REG(ILI9328_RESIZECTL), 0x0000, + ESC_REG(ILI9328_DISCTRL2), 0x0202, + ESC_REG(ILI9328_DISCTRL3), 0x0000, + ESC_REG(ILI9328_DISCTRL4), 0x0000, + ESC_REG(ILI9328_RGBCTRL1), 0x0000, + ESC_REG(ILI9328_FMARKERPOS), 0x0000, + ESC_REG(ILI9328_RGBCTRL2), 0x0000, + ESC_REG(ILI9328_PWCTRL1), 0x0000, + ESC_REG(ILI9328_PWCTRL2), 0x0007, + ESC_REG(ILI9328_PWCTRL3), 0x0000, + ESC_REG(ILI9328_PWCTRL4), 0x0000, + ESC_REG(ILI9328_DISCTRL1), 0x0001, + ESC_DELAY(200), + ESC_REG(ILI9328_PWCTRL1), 0x1690, + ESC_REG(ILI9328_PWCTRL2), 0x0227, + ESC_DELAY(50), + ESC_REG(ILI9328_PWCTRL3), 0x008C, + ESC_DELAY(50), + ESC_REG(ILI9328_PWCTRL4), 0x1500, + ESC_REG(ILI9328_PWCTRL7), 0x0004, + ESC_REG(ILI9328_FRMCTR), 0x000D, + ESC_DELAY(50), + ESC_REG(ILI9328_GATE_SCANCTL1), 0x2700, + ESC_REG(ILI9328_GATE_SCANCTL2), 0x0001, + ESC_REG(ILI9328_GATE_SCANCTL3), 0x0000, + ESC_REG(ILI9328_PLTPOS1), 0x0000, + ESC_REG(ILI9328_PLTSTART1), 0x0000, + ESC_REG(ILI9328_PLTEND1), 0x0000, + ESC_REG(ILI9328_PLTPOS2), 0x0000, + ESC_REG(ILI9328_PLTSTART2), 0x0000, + ESC_REG(ILI9328_PLTEND2), 0x0000, + ESC_REG(ILI9328_IFCTL1), 0x0010, + ESC_REG(ILI9328_IFCTL2), 0x0600, + ESC_REG(ILI9328_DISCTRL1), 0x0133, + ESC_END +}; diff --git a/Marlin/src/lcd/tft/ili9341.h b/Marlin/src/lcd/tft/ili9341.h new file mode 100644 index 000000000000..22709e4cf7d3 --- /dev/null +++ b/Marlin/src/lcd/tft/ili9341.h @@ -0,0 +1,166 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#include "tft.h" + +#include "../../inc/MarlinConfig.h" + +#define ILI9341_MADCTL_MY 0x80 // Row Address Order +#define ILI9341_MADCTL_MX 0x40 // Column Address Order +#define ILI9341_MADCTL_MV 0x20 // Row/Column Exchange +#define ILI9341_MADCTL_ML 0x10 // Vertical Refresh Order +#define ILI9341_MADCTL_BGR 0x08 // RGB-BGR ORDER +#define ILI9341_MADCTL_RGB 0x00 +#define ILI9341_MADCTL_MH 0x04 // Horizontal Refresh Order + +#define ILI9341_ORIENTATION_UP ILI9341_MADCTL_MY // 240x320 ; Cable on the upper side +#define ILI9341_ORIENTATION_RIGHT ILI9341_MADCTL_MV // 320x240 ; Cable on the right side +#define ILI9341_ORIENTATION_LEFT ILI9341_MADCTL_MY | ILI9341_MADCTL_MX | ILI9341_MADCTL_MV // 320x240 ; Cable on the left side +#define ILI9341_ORIENTATION_DOWN ILI9341_MADCTL_MX // 240x320 ; Cable on the upper side + +#ifndef ILI9341_COLOR_RGB + #define ILI9341_COLOR_BGR +#endif +#ifndef ILI9341_ORIENTATION + #define ILI9341_ORIENTATION ILI9341_ORIENTATION_LEFT +#endif +#define ILI9341_MADCTL_DATA (ILI9341_ORIENTATION | TERN(ILI9341_COLOR_BGR, ILI9341_MADCTL_BGR, ILI9341_MADCTL_RGB)) + +#define ILI9341_NOP 0x00 // No Operation +#define ILI9341_SWRESET 0x01 // Software Reset +#define ILI9341_RDDIDIF 0x04 // Read display identification information +#define ILI9341_RDDST 0x09 // Read Display Status +#define ILI9341_RDDPM 0x0A // Read Display Power Mode +#define ILI9341_RDDMADCTL 0x0B // Read Display MADCTL +#define ILI9341_RDDCOLMOD 0x0C // Read Display Pixel Format +#define ILI9341_RDDIM 0x0D // Read Display Image Format +#define ILI9341_RDDSM 0x0E // Read Display Signal Mode +#define ILI9341_RDDSDR 0x0F // Read Display Self-Diagnostic Result +#define ILI9341_SPLIN 0x10 // Enter Sleep Mode +#define ILI9341_SLPOUT 0x11 // Sleep Out +#define ILI9341_PTLON 0x12 // Partial Mode ON +#define ILI9341_NORON 0x13 // Normal Display Mode ON +#define ILI9341_DINVOFF 0x20 // Display Inversion OFF +#define ILI9341_DINVON 0x21 // Display Inversion ON +#define ILI9341_GAMSET 0x26 // Gamma Set +#define ILI9341_DISPOFF 0x28 // Display OFF +#define ILI9341_DISPON 0x29 // Display ON +#define ILI9341_CASET 0x2A // Column Address Set +#define ILI9341_PASET 0x2B // Page Address Set +#define ILI9341_RAMWR 0x2C // Memory Write +#define ILI9341_RGBSET 0x2D // Color Set +#define ILI9341_RAMRD 0x2E // Memory Read +#define ILI9341_PLTAR 0x30 // Partial Area +#define ILI9341_VSCRDEF 0x33 // Vertical Scrolling Definition +#define ILI9341_TEOFF 0x34 // Tearing Effect Line OFF +#define ILI9341_TEON 0x35 // Tearing Effect Line ON +#define ILI9341_MADCTL 0x36 // Memory Access Control +#define ILI9341_VSCRSADD 0x37 // Vertical Scrolling Start Address +#define ILI9341_IDMOFF 0x38 // Idle Mode OFF +#define ILI9341_IDMON 0x39 // Idle Mode ON +#define ILI9341_PIXSET 0x3A // COLMOD: Pixel Format Set +#define ILI9341_WRMEMC 0x3C // Write Memory Continue +#define ILI9341_RDMEMC 0x3E // Read Memory Continue +#define ILI9341_STE 0x44 // Set Tear Scanline +#define ILI9341_GSCAN 0x45 // Get Scanline +#define ILI9341_WRDISBV 0x51 // Write Display Brightness +#define ILI9341_RDDISBV 0x52 // Read Display Brightness +#define ILI9341_WRCTRLD 0x53 // Write CTRL Display +#define ILI9341_RDCTRLD 0x54 // Read CTRL Display +#define ILI9341_WRCABC 0x55 // Write Content Adaptive Brightness Control +#define ILI9341_RDCABC 0x56 // Read Content Adaptive Brightness Control +#define ILI9341_WRCABCMB 0x5E // Write CABC Minimum Brightness / Backlight Control 1 +#define ILI9341_RDCABCMB 0x5F // Read CABC Minimum Brightness / Backlight Control 1 +#define ILI9341_RDID1 0xDA // Read ID1 +#define ILI9341_RDID2 0xDB // Read ID2 +#define ILI9341_RDID3 0xDC // Read ID3 + +#define ILI9341_IFMODE 0xB0 // RGB Interface Signal Control +#define ILI9341_FRMCTR1 0xB1 // Frame Rate Control (In Normal Mode/Full Colors) +#define ILI9341_FRMCTR2 0xB2 // Frame Rate Control (In Idle Mode/8 colors) +#define ILI9341_FRMCTR3 0xB3 // Frame Rate control (In Partial Mode/Full Colors) +#define ILI9341_INVTR 0xB4 // Display Inversion Control +#define ILI9341_PRCTR 0xB5 // Blanking Porch Control +#define ILI9341_DISCTRL 0xB6 // Display Function Control +#define ILI9341_ETMOD 0xB7 // Entry Mode Set +#define ILI9341_BLCTL1 0xB8 // Backlight Control 1 +#define ILI9341_BLCTL2 0xB9 // Backlight Control 2 +#define ILI9341_BLCTL3 0xBA // Backlight Control 3 +#define ILI9341_BLCTL4 0xBB // Backlight Control 4 +#define ILI9341_BLCTL5 0xBC // Backlight Control 5 +#define ILI9341_BLCTL7 0xBE // Backlight Control 7 +#define ILI9341_BLCTL8 0xBF // Backlight Control 8 +#define ILI9341_PWCTRL1 0xC0 // Power Control 1 +#define ILI9341_PWCTRL2 0xC1 // Power Control 2 +#define ILI9341_VMCTRL1 0xC5 // VCOM Control 1 +#define ILI9341_VMCTRL2 0xC7 // VCOM Control 2 +#define ILI9341_PWCTRLA 0xCB // Power control A +#define ILI9341_PWCTRLB 0xCF // Power control B +#define ILI9341_NVMWR 0xD0 // NV Memory Write +#define ILI9341_NVMPKEY 0xD1 // NV Memory Protection Key +#define ILI9341_RDNVM 0xD2 // NV Memory Status Read +#define ILI9341_RDID4 0xD3 // Read ID4 - 0x009341 +#define ILI9341_PGAMCTRL 0xE0 // Positive Gamma Correction +#define ILI9341_NGAMCTRL 0xE1 // Negative Gamma Correction +#define ILI9341_DGAMCTRL1 0xE2 // Digital Gamma Control 1 +#define ILI9341_DGAMCTRL2 0xE3 // Digital Gamma Control 2 +#define ILI9341_DRVTCTLA1 0xE8 // Driver timing control A +#define ILI9341_DRVTCTLA2 0xE9 // Driver timing control A +#define ILI9341_DRVTCTLB 0xEA // Driver timing control B +#define ILI9341_PONSEQCTL 0xED // Power on sequence control +#define ILI9341_EN3G 0xF2 // Enable 3G - 3 gamma control +#define ILI9341_IFCTL 0xF6 // Interface Control +#define ILI9341_PUMPRCTL 0xF7 // Pump ratio control + + +static const uint16_t ili9341_init[] = { + DATASIZE_8BIT, + ESC_REG(ILI9341_SWRESET), ESC_DELAY(100), + ESC_REG(ILI9341_SLPOUT), ESC_DELAY(20), +/* + ESC_REG(ILI9341_PWCTRLA), 0x0039, 0x002C, 0x0000, 0x0034, 0x0002, // Power control A + ESC_REG(ILI9341_PWCTRLB), 0x0000, 0x00C1, 0x0030, // Power control B + ESC_REG(ILI9341_DRVTCTLA1), 0x0085, 0x0000, 0x0078, // Driver timing control A + ESC_REG(ILI9341_DRVTCTLB), 0x0000, 0x0000, // Driver timing control B + ESC_REG(ILI9341_PONSEQCTL), 0x0064, 0x0003, 0x0012, 0x0081, // Power on sequence control + ESC_REG(ILI9341_DISCTRL), 0x0008, 0x0082, 0x0027, // Display Function Control + ESC_REG(ILI9341_PUMPRCTL), 0x0020, // Pump ratio control + ESC_REG(ILI9341_VMCTRL1), 0x003E, 0x0028, // VCOM Control 1 + ESC_REG(ILI9341_VMCTRL2), 0x0086, // VCOM Control 2 + ESC_REG(ILI9341_FRMCTR1), 0x0000, 0x0018, // Frame Rate Control (In Normal Mode/Full Colors) + ESC_REG(ILI9341_PWCTRL1), 0x0023, // Power Control 1 + ESC_REG(ILI9341_PWCTRL2), 0x0010, // Power Control 2 +*/ + ESC_REG(ILI9341_MADCTL), ILI9341_MADCTL_DATA, + ESC_REG(ILI9341_PIXSET), 0x0055, + + /* Gamma Correction */ + ESC_REG(ILI9341_EN3G), 0x0000, // 3Gamma Function Disable + ESC_REG(ILI9341_GAMSET), 0x0001, // Gamma curve selected + ESC_REG(ILI9341_PGAMCTRL), 0x000F, 0x0031, 0x002B, 0x000C, 0x000E, 0x0008, 0x004E, 0x00F1, 0x0037, 0x0007, 0x0010, 0x0003, 0x000E, 0x0009, 0x0000, + ESC_REG(ILI9341_NGAMCTRL), 0x0000, 0x000E, 0x0014, 0x0003, 0x0011, 0x0007, 0x0031, 0x00C1, 0x0048, 0x0008, 0x000F, 0x000C, 0x0031, 0x0036, 0x000F, + + ESC_REG(ILI9341_NORON), + ESC_REG(ILI9341_DISPON), + ESC_END +}; diff --git a/Marlin/src/lcd/tft/ili9488.h b/Marlin/src/lcd/tft/ili9488.h new file mode 100644 index 000000000000..19fdc78e0a5e --- /dev/null +++ b/Marlin/src/lcd/tft/ili9488.h @@ -0,0 +1,160 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#include "tft.h" + +#include "../../inc/MarlinConfig.h" + +#define ILI9488_MADCTL_MY 0x80 // Row Address Order +#define ILI9488_MADCTL_MX 0x40 // Column Address Order +#define ILI9488_MADCTL_MV 0x20 // Row/Column Exchange +#define ILI9488_MADCTL_ML 0x10 // Vertical Refresh Order +#define ILI9488_MADCTL_BGR 0x08 // RGB-BGR ORDER +#define ILI9488_MADCTL_RGB 0x00 +#define ILI9488_MADCTL_MH 0x04 // Horizontal Refresh Order + +#define ILI9488_ORIENTATION_UP ILI9488_MADCTL_MY // 320x480 ; Cable on the upper side +#define ILI9488_ORIENTATION_RIGHT ILI9488_MADCTL_MV // 480x320 ; Cable on the right side +#define ILI9488_ORIENTATION_LEFT ILI9488_MADCTL_MY | ILI9488_MADCTL_MX | ILI9488_MADCTL_MV // 480x320 ; Cable on the left side +#define ILI9488_ORIENTATION_DOWN ILI9488_MADCTL_MX // 320x480 ; Cable on the upper side + +#ifndef ILI9488_COLOR_RGB + #define ILI9488_COLOR_BGR +#endif +#ifndef ILI9488_ORIENTATION + #define ILI9488_ORIENTATION ILI9488_ORIENTATION_LEFT +#endif +#define ILI9488_MADCTL_DATA (ILI9488_ORIENTATION | TERN(ILI9488_COLOR_BGR, ILI9488_MADCTL_BGR, ILI9488_MADCTL_RGB)) + +#define ILI9488_NOP 0x00 // No Operation +#define ILI9488_SWRESET 0x01 // Software Reset +#define ILI9488_RDDIDIF 0x04 // Read Display Identification Information +#define ILI9488_RDNUMED 0x05 // Read Number of the Errors on DSI +#define ILI9488_RDDST 0x09 // Read Display Status +#define ILI9488_RDDPM 0x0A // Read Display Power Mode +#define ILI9488_RDDMADCTL 0x0B // Read Display MADCTL +#define ILI9488_RDDCOLMOD 0x0C // Read Display COLMOD +#define ILI9488_RDDIM 0x0D // Read Display Image Mode +#define ILI9488_RDDSM 0x0E // Read Display Signal Mode +#define ILI9488_RDDSDR 0x0F // Read Display Self-Diagnostic Result +#define ILI9488_SLPIN 0x10 // Sleep IN +#define ILI9488_SLPOUT 0x11 // Sleep OUT +#define ILI9488_PTLON 0x12 // Partial Mode ON +#define ILI9488_NORON 0x13 // Normal Display Mode ON +#define ILI9488_INVOFF 0x20 // Display Inversion OFF +#define ILI9488_INVON 0x21 // Display Inversion ON +#define ILI9488_ALLPOFF 0x22 // All Pixels OFF +#define ILI9488_ALLPON 0x23 // All Pixels ON +#define ILI9488_DISOFF 0x28 // Display OFF +#define ILI9488_DISON 0x29 // Display ON +#define ILI9488_CASET 0x2A // Column Address Set +#define ILI9488_PASET 0x2B // Page Address Set +#define ILI9488_RAMWR 0x2C // Memory Write +#define ILI9488_RAMRD 0x2E // Memory Read +#define ILI9488_PLTAR 0x30 // Partial Area +#define ILI9488_VSCRDEF 0x33 // Vertical Scrolling Definition +#define ILI9488_TEOFF 0x34 // Tearing Effect Line OFF +#define ILI9488_TEON 0x35 // Tearing Effect Line ON +#define ILI9488_MADCTL 0x36 // Memory Access Control +#define ILI9488_VSCRSADD 0x37 // Vertical Scrolling Start Address +#define ILI9488_IDMOFF 0x38 // Idle Mode OFF +#define ILI9488_IDMON 0x39 // Idle Mode ON +#define ILI9488_COLMOD 0x3A // Interface Pixel Format +#define ILI9488_RAMWRC 0x3C // Memory Write Continue +#define ILI9488_RAMRDRC 0x3E // Memory Read Continue +#define ILI9488_TESLWR 0x44 // Write Tear Scan Line +#define ILI9488_TESLRD 0x45 // Read Scan Line +#define ILI9488_WRDISBV 0x51 // Write Display Brightness Value +#define ILI9488_RDDISBV 0x52 // Read Display Brightness Value +#define ILI9488_WRCTRLD 0x53 // Write Control Display Value +#define ILI9488_RDCTRLD 0x54 // Read Control Display Value +#define ILI9488_WRCABC 0x55 // Write Content Adaptive Brightness Control Value +#define ILI9488_RDCABC 0x56 // Read Content Adaptive Brightness Control Value +#define ILI9488_WRCABCMB 0x5E // Write CABC Minimum Brightness +#define ILI9488_RDCABCMB 0x5F // Read CABC Minimum Brightness +#define ILI9488_RDABCSDR 0x68 // Read Automatic Brightness Control Self-diagnostic Result +#define ILI9488_RDID1 0xDA // Read ID1 +#define ILI9488_RDID2 0xDB // Read ID2 +#define ILI9488_RDID3 0xDC // Read ID3 + +#define ILI9488_IFMODE 0xB0 // Interface Mode Control +#define ILI9488_FRMCTR1 0xB1 // Frame Rate Control (In Normal Mode/Full Colors) +#define ILI9488_FRMCTR2 0xB2 // Frame Rate Control (In Idle Mode/8 Colors) +#define ILI9488_FRMCTR3 0xB3 // Frame Rate Control (In Partial Mode/Full Colors) +#define ILI9488_INVTR 0xB4 // Display Inversion Control +#define ILI9488_PRCTR 0xB5 // Blanking Porch Control +#define ILI9488_DISCTRL 0xB6 // Display Function Control +#define ILI9488_ETMOD 0xB7 // Entry Mode Set +#define ILI9488_CECTRL1 0xB9 // Color Enhancement Control 1 +#define ILI9488_CECTRL2 0xBA // Color Enhancement Control 2 +#define ILI9488_HSLCTRL 0xBE // HS Lanes Control +#define ILI9488_PWCTRL1 0xC0 // Power Control 1 +#define ILI9488_PWCTRL2 0xC1 // Power Control 2 +#define ILI9488_PWCTRL3 0xC2 // Power Control 3 (For Normal Mode) +#define ILI9488_PWCTRL4 0xC3 // Power Control 4 (For Idle Mode) +#define ILI9488_PWCTRL5 0xC4 // Power Control 5 (For Partial Mode) +#define ILI9488_VMCTRL 0xC5 // VCOM Control +#define ILI9488_CABCCTRL1 0xC6 // CABC Control 1 +#define ILI9488_CABCCTRL2 0xC8 // CABC Control 2 +#define ILI9488_CABCCTRL3 0xC9 // CABC Control 3 +#define ILI9488_CABCCTRL4 0xCA // CABC Control 4 +#define ILI9488_CABCCTRL5 0xCB // CABC Control 5 +#define ILI9488_CABCCTRL6 0xCC // CABC Control 6 +#define ILI9488_CABCCTRL7 0xCD // CABC Control 7 +#define ILI9488_CABCCTRL8 0xCE // CABC Control 8 +#define ILI9488_CABCCTRL9 0xCF // CABC Control 9 +#define ILI9488_NVMWR 0xD0 // NV Memory Write +#define ILI9488_NVMPKEY 0xD1 // NV Memory Protection Key +#define ILI9488_RDNVM 0xD2 // NV Memory Status Read +#define ILI9488_RDID4 0xD3 // Read ID4 - 0x009488 +#define ILI9488_ADJCTL1 0xD7 // Adjust Control 1 +#define ILI9488_RDIDV 0xD8 // Read ID Version +#define ILI9488_PGAMCTRL 0xE0 // Positive Gamma Control +#define ILI9488_NGAMCTRL 0xE1 // Negative Gamma Control +#define ILI9488_DGAMCTRL1 0xE2 // Ditigal Gamma Control 1 +#define ILI9488_DGAMCTRL2 0xE3 // Ditigal Gamma Control 2 +#define ILI9488_SETIMAGE 0xE9 // Set Image Function +#define ILI9488_ADJCTL2 0xF2 // Adjust Control 2 +#define ILI9488_ADJCTL3 0xF7 // Adjust Control 3 +#define ILI9488_ADJCTL4 0xF8 // Adjust Control 4 +#define ILI9488_ADJCTL5 0xF9 // Adjust Control 5 +#define ILI9488_RDEXTC 0xFB // Read EXTC command is SPI mode +#define ILI9488_ADJCTL6 0xFC // Adjust Control 6 +#define ILI9488_ADJCTL7 0xFF // Adjust Control 7 + +static const uint16_t ili9488_init[] = { + DATASIZE_8BIT, + ESC_REG(ILI9488_SWRESET), ESC_DELAY(120), + ESC_REG(ILI9488_SLPOUT), ESC_DELAY(20), + + ESC_REG(ILI9488_MADCTL), ILI9488_MADCTL_DATA, + ESC_REG(ILI9488_COLMOD), 0x0055, + + /* Gamma Correction. */ + ESC_REG(ILI9488_PGAMCTRL), 0x0000, 0x0003, 0x0009, 0x0008, 0x0016, 0x000A, 0x003F, 0x0078, 0x004C, 0x0009, 0x000A, 0x0008, 0x0016, 0x001A, 0x000F, + ESC_REG(ILI9488_NGAMCTRL), 0x0000, 0x0016, 0x0019, 0x0003, 0x000F, 0x0005, 0x0032, 0x0045, 0x0046, 0x0004, 0x000E, 0x000D, 0x0035, 0x0037, 0x000F, + + ESC_REG(ILI9488_NORON), + ESC_REG(ILI9488_DISON), + ESC_END +}; diff --git a/Marlin/src/lcd/tft/images/back_32x32x4.cpp b/Marlin/src/lcd/tft/images/back_32x32x4.cpp new file mode 100644 index 000000000000..8f5809d5dc0c --- /dev/null +++ b/Marlin/src/lcd/tft/images/back_32x32x4.cpp @@ -0,0 +1,62 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../inc/MarlinConfigPre.h" + +#if HAS_GRAPHICAL_TFT + +extern const uint8_t back_32x32x4[512] = { + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0xe5, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x6f, 0xe5, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x76, 0xff, 0xe5, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x6e, 0xff, 0xe5, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x76, 0xef, 0xff, 0xe5, 0x66, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x6e, 0xff, 0xff, 0xd5, 0x55, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x76, 0xff, 0xff, 0xff, 0xfe, 0xb8, 0x55, 0x56, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x87, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x85, 0x56, 0x67, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x76, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x95, 0x66, 0x78, 0x88, 0x88, 0x88, + 0x87, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x65, 0x66, 0x88, 0x88, 0x88, + 0x78, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x56, 0x78, 0x88, 0x88, + 0x78, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x85, 0x67, 0x88, 0x88, + 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x56, 0x78, 0x88, + 0x88, 0x77, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x65, 0x68, 0x88, + 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd5, 0x67, 0x88, + 0x88, 0x88, 0x77, 0xef, 0xff, 0xff, 0xfc, 0xde, 0xef, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x56, 0x88, + 0x88, 0x88, 0x87, 0x7e, 0xff, 0xff, 0xd5, 0x67, 0x77, 0x8a, 0xdf, 0xff, 0xff, 0xff, 0x56, 0x78, + 0x88, 0x88, 0x88, 0x77, 0xef, 0xff, 0xe5, 0x78, 0x87, 0x77, 0x77, 0xae, 0xff, 0xff, 0x95, 0x68, + 0x88, 0x88, 0x88, 0x87, 0x7e, 0xff, 0xe5, 0x78, 0x88, 0x88, 0x88, 0x77, 0xaf, 0xff, 0xf5, 0x58, + 0x88, 0x88, 0x88, 0x88, 0x77, 0xef, 0xe5, 0x78, 0x88, 0x88, 0x88, 0x88, 0x77, 0xdf, 0xf8, 0x57, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x7f, 0xe6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7b, 0xfc, 0x56, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xd7, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xbf, 0x66, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7d, 0x97, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0x97, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, +}; + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/images/background_320x30x16.cpp b/Marlin/src/lcd/tft/images/background_320x30x16.cpp new file mode 100644 index 000000000000..f6eca2d6dd9f --- /dev/null +++ b/Marlin/src/lcd/tft/images/background_320x30x16.cpp @@ -0,0 +1,60 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../inc/MarlinConfigPre.h" + +#if HAS_GRAPHICAL_TFT + +extern const uint16_t background_320x30x16[9600] = { + 0x10f2, 0x18d2, 0x18d2, 0x10d2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18d2, 0x18f2, 0x18f2, 0x18d2, 0x18d2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f3, 0x18f3, 0x18f3, 0x18f3, 0x18f3, 0x18f2, 0x18f3, 0x18f3, 0x20f2, 0x18f3, 0x18f3, 0x18f3, 0x18f3, 0x18f3, 0x18f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x2112, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x2113, 0x20f2, 0x20f3, 0x20f2, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x2113, 0x28f3, 0x2113, 0x20f3, 0x2113, 0x28f3, 0x20f3, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x28f3, 0x28f3, 0x2113, 0x2113, 0x2113, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2113, 0x2913, 0x2913, 0x2913, 0x2914, 0x2913, 0x2913, 0x28f3, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x28f3, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x28f3, 0x2913, 0x2913, 0x2914, 0x2913, 0x2913, 0x2913, 0x2113, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2113, 0x2113, 0x2113, 0x28f3, 0x28f3, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x20f3, 0x28f3, 0x2113, 0x20f3, 0x2113, 0x28f3, 0x2113, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f2, 0x20f3, 0x20f2, 0x2113, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x2112, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x18f3, 0x18f3, 0x18f3, 0x18f3, 0x18f3, 0x18f3, 0x20f2, 0x18f3, 0x18f3, 0x18f2, 0x18f3, 0x18f3, 0x18f3, 0x18f3, 0x18f3, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, + 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d9c, 0x1d9c, 0x1d9c, 0x1d9c, 0x1d9c, 0x1d9c, 0x1d9c, 0x1d9c, 0x1d9d, 0x1d9d, 0x1d9d, 0x1d9d, 0x259c, 0x1dbc, 0x1d9d, 0x259d, 0x1d9c, 0x259c, 0x259c, 0x259c, 0x259c, 0x259c, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25dd, 0x25dd, 0x25bd, 0x25bd, 0x1ddd, 0x25dd, 0x25dd, 0x25dd, 0x25bd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x2dfd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x2dfd, 0x2dfd, 0x2dfd, 0x2dfd, 0x2dfd, 0x25fd, 0x2dfe, 0x2dfd, 0x2dfd, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e3e, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e3d, 0x2e3d, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3d, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x365e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e3e, 0x365e, 0x2e5e, 0x2e5e, 0x2e5e, 0x365e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3d, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3d, 0x2e3d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e3e, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2dfd, 0x2dfd, 0x2dfe, 0x25fd, 0x2dfd, 0x2dfd, 0x2dfd, 0x2dfd, 0x2dfd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x2dfd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25bd, 0x25dd, 0x25dd, 0x25dd, 0x1ddd, 0x25bd, 0x25bd, 0x25dd, 0x25dd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, + 0x1c7c, 0x1c7c, 0x1c7c, 0x1c7b, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x249c, 0x1c9c, 0x1d9d, 0x1d7c, 0x1cfc, 0x1c9c, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x24bc, 0x1cbc, 0x1cbc, 0x24bc, 0x24bc, 0x24bc, 0x1cbc, 0x24dc, 0x24dc, 0x24dc, 0x253d, 0x25bd, 0x253d, 0x24dd, 0x24bc, 0x24bc, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24fd, 0x24dc, 0x24dc, 0x24fd, 0x24fd, 0x24fc, 0x24dd, 0x24fd, 0x251c, 0x25fd, 0x255d, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x24fc, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x251d, 0x24fd, 0x24fd, 0x251d, 0x2d1d, 0x24fd, 0x2cfd, 0x25bd, 0x25bd, 0x253c, 0x2cfc, 0x2d1d, 0x251d, 0x2cfd, 0x2cfd, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1c, 0x2d5d, 0x2dde, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d1d, 0x2d3d, 0x2d1d, 0x2d1d, 0x2e1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d3d, 0x2d1d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2dde, 0x2d5d, 0x2d1c, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2cfd, 0x2cfd, 0x251d, 0x2d1d, 0x2cfc, 0x253c, 0x25bd, 0x25bd, 0x2cfd, 0x24fd, 0x2d1d, 0x251d, 0x24fd, 0x24fd, 0x251d, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x24fc, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x255d, 0x25fd, 0x251c, 0x24fd, 0x24dd, 0x24fc, 0x24fd, 0x24fd, 0x24dc, 0x24dc, 0x24fd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24bc, 0x24bc, 0x24dd, 0x253d, 0x25bd, 0x253d, 0x24dc, 0x24dc, 0x24dc, 0x1cbc, 0x24bc, 0x24bc, 0x24bc, 0x1cbc, 0x1cbc, 0x24bc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, + 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1b3b, 0x1cfc, 0x157c, 0x1c1c, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x22db, 0x22db, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x22db, 0x22db, 0x22fb, 0x231c, 0x1d1c, 0x1d5c, 0x235b, 0x22dc, 0x22db, 0x22dc, 0x22fb, 0x22fc, 0x22dc, 0x22dc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fb, 0x22fb, 0x22fb, 0x22fb, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x231b, 0x22fc, 0x233c, 0x253c, 0x1cfd, 0x22fc, 0x22fc, 0x22fb, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x2afc, 0x2afc, 0x231c, 0x2b1c, 0x2b1c, 0x259c, 0x247c, 0x231c, 0x231c, 0x2b1c, 0x231c, 0x231c, 0x2b1c, 0x231c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x25bd, 0x2bbc, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x231c, 0x2b1c, 0x2b1c, 0x25dd, 0x2b1c, 0x2b1c, 0x2b1c, 0x231c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2bbc, 0x25bd, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x231c, 0x2b1c, 0x231c, 0x231c, 0x2b1c, 0x231c, 0x231c, 0x247c, 0x259c, 0x2b1c, 0x2b1c, 0x231c, 0x2afc, 0x2afc, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fb, 0x22fc, 0x22fc, 0x1cfd, 0x253c, 0x233c, 0x22fc, 0x231b, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fb, 0x22fb, 0x22fb, 0x22fb, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22dc, 0x22dc, 0x22fc, 0x22fb, 0x22dc, 0x22db, 0x22dc, 0x235b, 0x1d5c, 0x1d1c, 0x231c, 0x22fb, 0x22db, 0x22db, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x22db, 0x22db, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, + 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x1b7b, 0x137b, 0x1b5b, 0x1b7b, 0x137b, 0x137b, 0x137b, 0x139b, 0x1bbb, 0x14fb, 0x153c, 0x13fb, 0x1b7b, 0x139b, 0x1b7b, 0x1b7c, 0x1b9b, 0x1b7b, 0x1b7b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9c, 0x1b9b, 0x1b9b, 0x1b9b, 0x139c, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9c, 0x1b9b, 0x1d3c, 0x1d5c, 0x1bfb, 0x1b9c, 0x1bbb, 0x1b9b, 0x1bbc, 0x1b9b, 0x1b9b, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbc, 0x1bbb, 0x1cdc, 0x1d7d, 0x23fc, 0x1bdc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x1bbc, 0x1bbc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23bc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x247c, 0x1d9c, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x241c, 0x259d, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x1dbd, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x259d, 0x241c, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x1d9c, 0x247c, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23bc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x1bbc, 0x1bbc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bdc, 0x23fc, 0x1d7d, 0x1cdc, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1b9b, 0x1b9b, 0x1bbc, 0x1b9b, 0x1bbb, 0x1b9c, 0x1bfb, 0x1d5c, 0x1d3c, 0x1b9b, 0x1b9c, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x139c, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9c, 0x1b9b, 0x1b9b, 0x1b9b, + 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x137b, 0x135a, 0x135a, 0x137b, 0x135a, 0x135b, 0x139b, 0x14bb, 0x14fb, 0x13fb, 0x137b, 0x137b, 0x135b, 0x137b, 0x137a, 0x137a, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x1b7b, 0x1b7b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x1bbb, 0x153c, 0x151c, 0x1b7b, 0x139b, 0x137b, 0x139b, 0x139b, 0x1b9b, 0x139b, 0x1b9b, 0x1b9b, 0x139b, 0x139b, 0x139b, 0x139b, 0x139b, 0x139b, 0x139b, 0x139b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x13bb, 0x139b, 0x1b9b, 0x139b, 0x1b9b, 0x1b9b, 0x1b9c, 0x1c3b, 0x1d5c, 0x1c3c, 0x1b9b, 0x1bbb, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1b9b, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbb, 0x1c9c, 0x1d1c, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bdb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1cfc, 0x1c7c, 0x1bbb, 0x1bdb, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbb, 0x1bdc, 0x23bc, 0x1bbb, 0x1d7c, 0x1bbb, 0x1bbb, 0x23bc, 0x1bdc, 0x1bbb, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bdb, 0x1bbb, 0x1c7c, 0x1cfc, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bdb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1d1c, 0x1c9c, 0x1bbb, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1b9b, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1bbb, 0x1b9b, 0x1c3c, 0x1d5c, 0x1c3b, 0x1b9c, 0x1b9b, 0x1b9b, 0x139b, 0x1b9b, 0x139b, 0x13bb, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x139b, 0x139b, 0x139b, 0x139b, 0x139b, 0x139b, 0x139b, 0x139b, 0x1b9b, 0x1b9b, 0x139b, 0x1b9b, 0x139b, 0x139b, 0x137b, 0x139b, 0x1b7b, 0x151c, 0x153c, 0x1bbb, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x1b7b, 0x1b7b, 0x137b, 0x137b, 0x137b, 0x137b, + 0x0999, 0x0999, 0x0999, 0x0999, 0x1199, 0x11ba, 0x11ba, 0x11b9, 0x09b9, 0x11ba, 0x1199, 0x11ba, 0x11ba, 0x1199, 0x11da, 0x0b3a, 0x0c9b, 0x0bfb, 0x127a, 0x11ba, 0x119a, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x119a, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x119a, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x12ba, 0x14bb, 0x13fb, 0x11db, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11da, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11bb, 0x11ba, 0x11da, 0x11ba, 0x11da, 0x11ba, 0x11ba, 0x11da, 0x11ba, 0x127a, 0x14db, 0x137b, 0x11da, 0x19ba, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x19da, 0x19da, 0x19da, 0x11da, 0x11db, 0x11db, 0x11db, 0x11db, 0x11db, 0x11db, 0x11db, 0x19db, 0x11da, 0x19da, 0x1a3b, 0x14fb, 0x1afb, 0x19da, 0x11db, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19da, 0x19db, 0x19da, 0x1a1b, 0x153c, 0x1a3b, 0x19da, 0x19da, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19db, 0x19db, 0x19da, 0x19db, 0x153b, 0x19db, 0x19db, 0x19da, 0x19db, 0x19db, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19da, 0x19da, 0x1a3b, 0x153c, 0x1a1b, 0x19da, 0x19db, 0x19da, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x11db, 0x19da, 0x1afb, 0x14fb, 0x1a3b, 0x19da, 0x11da, 0x19db, 0x11db, 0x11db, 0x11db, 0x11db, 0x11db, 0x11db, 0x11db, 0x11da, 0x19da, 0x19da, 0x19da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x19ba, 0x11da, 0x137b, 0x14db, 0x127a, 0x11ba, 0x11da, 0x11ba, 0x11ba, 0x11da, 0x11ba, 0x11da, 0x11ba, 0x11bb, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11da, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11db, 0x13fb, 0x14bb, 0x12ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x119a, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, + 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0b1a, 0x0b1a, 0x0afa, 0x0afa, 0x0b1a, 0x0afa, 0x0b1a, 0x0afa, 0x0b1a, 0x0b1a, 0x0c3a, 0x0c9a, 0x0bda, 0x0b1a, 0x0afa, 0x0afa, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0bdb, 0x14bb, 0x0bfa, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b3a, 0x131a, 0x0b3a, 0x0b1a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x133b, 0x133b, 0x133a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x133a, 0x0b3a, 0x137a, 0x0cdb, 0x0c5b, 0x133b, 0x133b, 0x0b3a, 0x133a, 0x133a, 0x133a, 0x133a, 0x133a, 0x133a, 0x133a, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x135b, 0x135b, 0x135b, 0x135b, 0x133b, 0x133b, 0x135a, 0x0b5b, 0x133b, 0x143a, 0x147b, 0x135b, 0x135a, 0x133b, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135a, 0x13bb, 0x14db, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135a, 0x135b, 0x133b, 0x14fb, 0x135a, 0x133b, 0x135b, 0x135a, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x14db, 0x13bb, 0x135a, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x133b, 0x135a, 0x135b, 0x147b, 0x143a, 0x133b, 0x0b5b, 0x135a, 0x133b, 0x133b, 0x135b, 0x135b, 0x135b, 0x135b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133a, 0x133a, 0x133a, 0x133a, 0x133a, 0x133a, 0x133a, 0x0b3a, 0x133b, 0x133b, 0x0c5b, 0x0cdb, 0x137a, 0x0b3a, 0x133a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x133a, 0x133b, 0x133b, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b1a, 0x0b3a, 0x131a, 0x0b3a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0bfa, 0x14bb, 0x0bdb, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, + 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02f9, 0x02d9, 0x02da, 0x0ada, 0x0afa, 0x0bfa, 0x0c5b, 0x0bfa, 0x0ad9, 0x02fa, 0x02f9, 0x02f9, 0x0af9, 0x02f9, 0x0af9, 0x02d9, 0x02f9, 0x0af9, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0af9, 0x0afa, 0x0afa, 0x0afa, 0x0c1a, 0x0c7b, 0x0b5a, 0x0afa, 0x0af9, 0x0b1a, 0x0afa, 0x0afa, 0x0afa, 0x0b1a, 0x0afa, 0x0afa, 0x0b1a, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0b1a, 0x0b1a, 0x0b1a, 0x031a, 0x0afa, 0x0b1a, 0x0b1a, 0x0afa, 0x0b1a, 0x0b1a, 0x0b1a, 0x0afa, 0x0c3a, 0x0c5a, 0x0b1a, 0x0afa, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0c5b, 0x0c1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0c7b, 0x0b7a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0cbb, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b7a, 0x0c7b, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0c1a, 0x0c5b, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0afa, 0x0b1a, 0x0c5a, 0x0c3a, 0x0afa, 0x0b1a, 0x0b1a, 0x0b1a, 0x0afa, 0x0b1a, 0x0b1a, 0x0afa, 0x031a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0b1a, 0x0afa, 0x0afa, 0x0b1a, 0x0afa, 0x0afa, 0x0afa, 0x0b1a, 0x0af9, 0x0afa, 0x0b5a, 0x0c7b, 0x0c1a, 0x0afa, 0x0afa, 0x0afa, 0x0af9, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, + 0x0158, 0x0158, 0x0158, 0x0158, 0x0138, 0x0158, 0x0158, 0x0158, 0x0138, 0x0238, 0x03b9, 0x03da, 0x0259, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0138, 0x0178, 0x0158, 0x0158, 0x0159, 0x01b9, 0x037a, 0x0bda, 0x0218, 0x0958, 0x0159, 0x0159, 0x0958, 0x0158, 0x0158, 0x0158, 0x0158, 0x0958, 0x0959, 0x0158, 0x0159, 0x0179, 0x0158, 0x0159, 0x0159, 0x0159, 0x0159, 0x0158, 0x0158, 0x0158, 0x0158, 0x0979, 0x0179, 0x0958, 0x0979, 0x0159, 0x0178, 0x0159, 0x0958, 0x033a, 0x041a, 0x01f9, 0x0959, 0x0179, 0x0958, 0x0959, 0x0158, 0x0159, 0x0159, 0x0159, 0x0159, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0979, 0x0979, 0x0959, 0x0959, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0a79, 0x043a, 0x0199, 0x0959, 0x0179, 0x0179, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0979, 0x0179, 0x09b9, 0x0c3b, 0x0179, 0x0979, 0x0179, 0x0179, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0979, 0x0179, 0x0c7a, 0x0979, 0x0179, 0x0979, 0x0179, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0179, 0x0979, 0x0179, 0x0c3b, 0x09b9, 0x0179, 0x0979, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0179, 0x0959, 0x0199, 0x043a, 0x0a79, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0959, 0x0959, 0x0979, 0x0979, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0979, 0x0979, 0x0979, 0x0979, 0x0159, 0x0159, 0x0159, 0x0159, 0x0158, 0x0959, 0x0958, 0x0179, 0x0959, 0x01f9, 0x041a, 0x033a, 0x0958, 0x0159, 0x0178, 0x0159, 0x0979, 0x0958, 0x0179, 0x0979, 0x0158, 0x0158, 0x0158, 0x0158, 0x0159, 0x0159, 0x0159, 0x0159, 0x0158, 0x0179, 0x0159, 0x0158, 0x0959, 0x0958, 0x0158, 0x0158, 0x0158, 0x0158, 0x0958, 0x0159, 0x0159, 0x0958, 0x0218, 0x0bda, 0x037a, 0x01b9, 0x0159, 0x0158, 0x0158, 0x0178, 0x0138, 0x0158, 0x0158, 0x0158, + 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0138, 0x0137, 0x01d8, 0x0339, 0x0399, 0x0238, 0x0137, 0x0137, 0x0138, 0x0138, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0138, 0x0138, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0157, 0x0138, 0x0278, 0x03d9, 0x02b9, 0x0178, 0x0158, 0x0138, 0x0138, 0x0158, 0x0138, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0158, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0158, 0x0158, 0x0158, 0x0138, 0x0138, 0x0938, 0x0158, 0x0158, 0x0158, 0x0178, 0x0339, 0x0399, 0x0178, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x01d9, 0x03f9, 0x01f9, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x02d9, 0x0319, 0x0158, 0x0158, 0x0158, 0x0159, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0959, 0x0158, 0x0158, 0x0159, 0x041a, 0x0959, 0x0159, 0x0158, 0x0158, 0x0959, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0159, 0x0158, 0x0158, 0x0158, 0x0319, 0x02d9, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x01f9, 0x03f9, 0x01d9, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0178, 0x0399, 0x0339, 0x0178, 0x0158, 0x0158, 0x0158, 0x0938, 0x0138, 0x0138, 0x0158, 0x0158, 0x0158, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0158, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0138, 0x0158, 0x0138, 0x0138, 0x0158, 0x0178, 0x02b9, 0x03d9, 0x0278, 0x0138, 0x0157, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, + 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x01d7, 0x0318, 0x0379, 0x0238, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0117, 0x0117, 0x0177, 0x0318, 0x0379, 0x01d7, 0x0137, 0x0117, 0x0137, 0x0117, 0x0137, 0x0136, 0x0117, 0x0117, 0x0137, 0x0137, 0x0117, 0x0117, 0x0137, 0x0137, 0x0137, 0x0117, 0x0137, 0x0137, 0x0137, 0x0117, 0x0117, 0x0117, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0138, 0x0137, 0x0117, 0x0157, 0x0359, 0x02f8, 0x0157, 0x0117, 0x0137, 0x0117, 0x0137, 0x0117, 0x0137, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0158, 0x0359, 0x0278, 0x0137, 0x0138, 0x0137, 0x0138, 0x0138, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0138, 0x03b9, 0x01b8, 0x0137, 0x0138, 0x0138, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0137, 0x0138, 0x03f9, 0x0137, 0x0138, 0x0137, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0138, 0x0138, 0x0137, 0x01b8, 0x03b9, 0x0138, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0138, 0x0138, 0x0137, 0x0138, 0x0137, 0x0278, 0x0359, 0x0158, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0137, 0x0117, 0x0137, 0x0117, 0x0137, 0x0117, 0x0157, 0x02f8, 0x0359, 0x0157, 0x0117, 0x0137, 0x0138, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0117, 0x0117, 0x0117, 0x0137, 0x0137, 0x0137, 0x0117, 0x0137, 0x0137, 0x0137, 0x0117, 0x0117, 0x0137, 0x0137, 0x0117, 0x0117, 0x0136, 0x0137, 0x0117, 0x0137, 0x0117, 0x0137, 0x01d7, 0x0379, 0x0318, 0x0177, 0x0117, 0x0117, 0x0137, 0x0117, 0x0117, + 0x02d8, 0x02d8, 0x02d7, 0x02d7, 0x02f7, 0x0358, 0x0378, 0x02f7, 0x02d8, 0x02d8, 0x02d8, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02d7, 0x02f8, 0x02f8, 0x0398, 0x0378, 0x02f8, 0x02d8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x0378, 0x0398, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x0318, 0x02f8, 0x0318, 0x02f7, 0x02f8, 0x02f8, 0x0318, 0x0358, 0x0399, 0x0318, 0x02f8, 0x02f8, 0x0318, 0x0318, 0x02f8, 0x0318, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0338, 0x03b8, 0x0318, 0x0318, 0x02f8, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x03b8, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x02f8, 0x0318, 0x0318, 0x03b8, 0x0338, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x0318, 0x02f8, 0x0318, 0x0318, 0x02f8, 0x02f8, 0x0318, 0x0399, 0x0358, 0x0318, 0x02f8, 0x02f8, 0x02f7, 0x0318, 0x02f8, 0x0318, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x0398, 0x0378, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02d8, 0x02f8, 0x0378, 0x0398, 0x02f8, 0x02f8, 0x02d7, 0x02f8, 0x02f8, + 0x0176, 0x01b6, 0x02f8, 0x0317, 0x0217, 0x0196, 0x0176, 0x0196, 0x0196, 0x0196, 0x0196, 0x0176, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0176, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x01f7, 0x0337, 0x02d7, 0x01b6, 0x0197, 0x0196, 0x0196, 0x0176, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0197, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0237, 0x0358, 0x0217, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0196, 0x0196, 0x0197, 0x0197, 0x0196, 0x0196, 0x0277, 0x0318, 0x01b6, 0x0196, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x01b7, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x01b6, 0x02f7, 0x0257, 0x0197, 0x01b6, 0x01b7, 0x01b6, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x01b7, 0x01b6, 0x01b7, 0x0378, 0x01b7, 0x01b7, 0x01b6, 0x01b7, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x01b6, 0x01b7, 0x01b6, 0x0197, 0x0257, 0x02f7, 0x01b6, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x01b7, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0196, 0x01b6, 0x0318, 0x0277, 0x0196, 0x0196, 0x0197, 0x0197, 0x0196, 0x0196, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0217, 0x0358, 0x0237, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0197, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0176, 0x0196, 0x0196, 0x0197, 0x01b6, 0x02d7, 0x0337, 0x01f7, 0x0196, 0x0196, + 0x0236, 0x0317, 0x0256, 0x00f4, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00f5, 0x00f5, 0x00d5, 0x00f5, 0x00d5, 0x00d5, 0x00f5, 0x01f6, 0x0317, 0x01f6, 0x00f5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00f5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00f5, 0x00f5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00f5, 0x00d5, 0x00f5, 0x01b6, 0x0337, 0x01b6, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x0155, 0x0337, 0x0156, 0x00d5, 0x00d5, 0x00f6, 0x00f6, 0x00f6, 0x00f5, 0x00d6, 0x00d6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f6, 0x00d5, 0x00f6, 0x00f6, 0x00f5, 0x00f5, 0x00f5, 0x00f6, 0x0115, 0x0338, 0x0115, 0x00f6, 0x00f5, 0x00f6, 0x00f5, 0x00d6, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00d5, 0x00f6, 0x00d5, 0x00f5, 0x0357, 0x00f5, 0x00f5, 0x00d5, 0x00f6, 0x00d5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00d6, 0x00f5, 0x00f6, 0x00f5, 0x00f6, 0x0115, 0x0338, 0x0115, 0x00f6, 0x00f5, 0x00f5, 0x00f5, 0x00f6, 0x00f6, 0x00d5, 0x00f6, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00d6, 0x00d6, 0x00f5, 0x00f6, 0x00f6, 0x00f6, 0x00d5, 0x00d5, 0x0156, 0x0337, 0x0155, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x01b6, 0x0337, 0x01b6, 0x00f5, 0x00d5, 0x00f5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00f5, 0x00f5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00f5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00f5, 0x01f6, 0x0317, 0x01f6, 0x00f5, + 0x01f4, 0x0113, 0x00b3, 0x00d3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00d3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00d3, 0x00b3, 0x00d3, 0x00d4, 0x00b3, 0x00b3, 0x00d4, 0x00b3, 0x00b3, 0x00d4, 0x00b3, 0x00d3, 0x0133, 0x0275, 0x0255, 0x0134, 0x00d3, 0x00b3, 0x00d3, 0x00d3, 0x00d4, 0x00d4, 0x00b4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00b4, 0x00d4, 0x00b4, 0x00d4, 0x00d4, 0x00b4, 0x00b4, 0x01d4, 0x02b5, 0x0134, 0x00d4, 0x00b4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00f4, 0x02b5, 0x01b5, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x01b5, 0x0255, 0x00d5, 0x00b4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x02f6, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00b4, 0x00d5, 0x0255, 0x01b5, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x01b5, 0x02b5, 0x00f4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00b4, 0x00d4, 0x0134, 0x02b5, 0x01d4, 0x00b4, 0x00b4, 0x00d4, 0x00d4, 0x00b4, 0x00d4, 0x00b4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00b4, 0x00d4, 0x00d4, 0x00d3, 0x00d3, 0x00b3, 0x00d3, 0x0134, 0x0255, 0x0275, + 0x00b1, 0x0091, 0x0091, 0x0091, 0x00b1, 0x0091, 0x00b1, 0x00b1, 0x0091, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x0091, 0x0091, 0x00d2, 0x01b2, 0x0273, 0x0172, 0x00b1, 0x00b2, 0x00b1, 0x00b1, 0x00b2, 0x00b1, 0x00b1, 0x00b2, 0x00b1, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b1, 0x00b1, 0x00b2, 0x00b2, 0x00b1, 0x00b2, 0x00b2, 0x00b2, 0x01d3, 0x0253, 0x0112, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x0213, 0x01d3, 0x0092, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x0253, 0x0153, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x0294, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x0153, 0x0253, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x0092, 0x01d3, 0x0213, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x0112, 0x0253, 0x01d3, 0x00b2, 0x00b2, 0x00b2, 0x00b1, 0x00b2, 0x00b2, 0x00b1, 0x00b1, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b1, 0x00b2, 0x00b1, 0x00b1, 0x00b2, 0x00b1, 0x00b1, 0x00b2, 0x00b1, 0x0172, + 0x0090, 0x0070, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0111, 0x0212, 0x01d1, 0x00d0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x01d2, 0x01f2, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x0171, 0x0212, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x00f1, 0x0252, 0x00b0, 0x0090, 0x00b0, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x0272, 0x00b0, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x00b0, 0x0090, 0x00b0, 0x0252, 0x00f1, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x0212, 0x0171, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x01f2, 0x01d2, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, + 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x0191, 0x0232, 0x0151, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x01f2, 0x01d1, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0110, 0x0252, 0x00d0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x01b1, 0x0191, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x0090, 0x0090, 0x0252, 0x0090, 0x0090, 0x0090, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0191, 0x01b1, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00d0, 0x0252, 0x0110, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x01d1, 0x01f2, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, + 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x00d0, 0x0212, 0x01d2, 0x00d0, 0x0090, 0x008f, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x0090, 0x0090, 0x00f0, 0x0232, 0x01b1, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0232, 0x0130, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x0232, 0x00d0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0252, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00d0, 0x0232, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0130, 0x0232, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x01b1, 0x0232, 0x00f0, 0x0090, 0x0090, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, + 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0171, 0x0232, 0x0151, 0x008f, 0x006f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0070, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x006f, 0x00f0, 0x0212, 0x0151, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x0070, 0x0090, 0x01f1, 0x01b1, 0x0070, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x008f, 0x0090, 0x008f, 0x008f, 0x0130, 0x01f1, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0252, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x01f1, 0x0130, 0x008f, 0x008f, 0x0090, 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x0070, 0x01b1, 0x01f1, 0x0090, 0x0070, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x0151, 0x0212, 0x00f0, 0x006f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x0070, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, + 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x0070, 0x008f, 0x006f, 0x008f, 0x0110, 0x0232, 0x01b1, 0x00af, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x0110, 0x0252, 0x0130, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x0170, 0x01f2, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x01d2, 0x0130, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x0252, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0130, 0x01d2, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x01f2, 0x0170, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x0130, 0x0252, 0x0110, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, + 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x01b1, 0x0232, 0x010f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x0150, 0x0232, 0x00cf, 0x006f, 0x006f, 0x008e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x006f, 0x010f, 0x0212, 0x00af, 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x008f, 0x00af, 0x0212, 0x00af, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x0252, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x00af, 0x0212, 0x00af, 0x008f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x006f, 0x00af, 0x0212, 0x010f, 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008e, 0x006f, 0x006f, 0x00cf, 0x0232, 0x0150, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, + 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x008e, 0x0110, 0x0212, 0x01b1, 0x008f, 0x006f, 0x006e, 0x006f, 0x006f, 0x006e, 0x008f, 0x006e, 0x006e, 0x006e, 0x006f, 0x006f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006f, 0x008f, 0x006e, 0x006e, 0x006f, 0x006f, 0x008e, 0x006e, 0x0191, 0x01f1, 0x00cf, 0x006f, 0x006f, 0x006e, 0x008f, 0x006e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006e, 0x006e, 0x006f, 0x00cf, 0x0212, 0x0110, 0x008f, 0x006f, 0x006e, 0x008f, 0x006f, 0x006e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x0150, 0x0191, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x0232, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x0191, 0x0150, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006e, 0x006f, 0x008f, 0x006e, 0x006f, 0x008f, 0x0110, 0x0212, 0x00cf, 0x006f, 0x006e, 0x006e, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006e, 0x008f, 0x006e, 0x006f, 0x006f, 0x00cf, 0x01f1, 0x0191, 0x006e, 0x008e, 0x006f, 0x006f, 0x006e, 0x006e, 0x008f, 0x006f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006f, 0x006f, + 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x008e, 0x01b1, 0x0212, 0x00ef, 0x006e, 0x006e, 0x006e, 0x006f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006f, 0x006e, 0x006e, 0x008e, 0x01d1, 0x01f1, 0x008f, 0x006f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x00ae, 0x01f1, 0x0170, 0x006f, 0x006e, 0x006e, 0x006e, 0x006f, 0x006e, 0x006e, 0x006f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0211, 0x00cf, 0x008f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0232, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x008f, 0x00cf, 0x0211, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006f, 0x006e, 0x006e, 0x006f, 0x006e, 0x006e, 0x006e, 0x006f, 0x0170, 0x01f1, 0x00ae, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006f, 0x008f, 0x01f1, 0x01d1, 0x008e, 0x006e, 0x006e, 0x006f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, + 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0130, 0x0212, 0x0170, 0x008e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x00af, 0x01d1, 0x0190, 0x008e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0190, 0x01f1, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x00ef, 0x0211, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0232, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0211, 0x00ef, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x01f1, 0x0190, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x008e, 0x0190, 0x01d1, 0x00af, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, + 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x008e, 0x01b1, 0x01f2, 0x00cf, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x00af, 0x0212, 0x0191, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x004e, 0x008e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x010f, 0x0212, 0x008e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0190, 0x0150, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0232, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0150, 0x0190, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x008e, 0x0212, 0x010f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x008e, 0x004e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x0191, 0x0212, 0x00af, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, + 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x004e, 0x004d, 0x0130, 0x01f2, 0x0150, 0x006d, 0x006d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x00ef, 0x0212, 0x010f, 0x004e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x004e, 0x00af, 0x0212, 0x00cf, 0x004e, 0x006e, 0x004e, 0x004e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x008e, 0x0232, 0x008e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0232, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x008e, 0x0232, 0x008e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x004e, 0x004e, 0x006e, 0x004e, 0x00cf, 0x0212, 0x00af, 0x004e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x004e, 0x010f, 0x0212, 0x00ef, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, + 0x004d, 0x004d, 0x004d, 0x004d, 0x006e, 0x006d, 0x004d, 0x004d, 0x004e, 0x004d, 0x004d, 0x006d, 0x006d, 0x008e, 0x01b1, 0x01d1, 0x00ce, 0x006d, 0x004d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004d, 0x006e, 0x004d, 0x006e, 0x006e, 0x004e, 0x006d, 0x010f, 0x0212, 0x00ef, 0x006d, 0x006e, 0x006e, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004d, 0x006d, 0x006e, 0x006e, 0x006e, 0x004d, 0x006e, 0x004d, 0x006e, 0x01d1, 0x0150, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x0130, 0x0191, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x0232, 0x004e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x0191, 0x0130, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0150, 0x01d1, 0x006e, 0x004d, 0x006e, 0x004d, 0x006e, 0x006e, 0x006e, 0x006d, 0x004d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006e, 0x006e, 0x006d, 0x00ef, 0x0212, 0x010f, 0x006d, 0x004e, 0x006e, 0x006e, 0x004d, 0x006e, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, + 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x004d, 0x004d, 0x004d, 0x0150, 0x01f1, 0x0150, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x004d, 0x004e, 0x004d, 0x004d, 0x004d, 0x0150, 0x01f1, 0x00ae, 0x006d, 0x004d, 0x004d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004d, 0x006d, 0x006d, 0x004d, 0x006d, 0x004d, 0x006d, 0x006d, 0x006d, 0x0170, 0x01b1, 0x006d, 0x006d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006d, 0x004e, 0x006e, 0x01d1, 0x010f, 0x006d, 0x006d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004d, 0x006d, 0x006e, 0x004e, 0x0212, 0x004d, 0x004e, 0x006e, 0x006d, 0x004d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006d, 0x006d, 0x010f, 0x01d1, 0x006e, 0x004e, 0x006d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004d, 0x006d, 0x006d, 0x01b1, 0x0170, 0x006d, 0x006d, 0x006d, 0x004d, 0x006d, 0x004d, 0x006d, 0x006d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004d, 0x004d, 0x004d, 0x006d, 0x00ae, 0x01f1, 0x0150, 0x004d, 0x004d, 0x004d, 0x004e, 0x004d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d +}; + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/images/bootscreen_112x38x1.cpp b/Marlin/src/lcd/tft/images/bootscreen_112x38x1.cpp new file mode 100644 index 000000000000..2308917b1313 --- /dev/null +++ b/Marlin/src/lcd/tft/images/bootscreen_112x38x1.cpp @@ -0,0 +1,70 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../inc/MarlinConfigPre.h" + +#if HAS_GRAPHICAL_TFT + +#include "../../../inc/MarlinConfig.h" + +extern const uint8_t marlin_logo_112x38x1[532] = { + B00000001,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B00001111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111, + B00011110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11111111,B11111111, + B00111000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B11111111,B11111111, + B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,B11111111,B11111111, + B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111111, + B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111111,B11111111, + B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111000,B00000000,B00000000,B00111111,B11111111, + B11000000,B00001111,B11000000,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B01111000,B00011000,B00000000,B00011111,B11111111, + B11000000,B00111111,B11100001,B11111111,B00000000,B00000000,B00000000,B00000000,B00000000,B01111000,B00111100,B00000000,B00001111,B11111111, + B11000000,B01111111,B11110011,B11111111,B10000000,B00000000,B00000000,B00000000,B00000000,B01111000,B00111100,B00000000,B00000111,B11111111, + B11000000,B11111111,B11111111,B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111000,B00111100,B00000000,B00000011,B11111111, + B11000001,B11111000,B01111111,B10000111,B11100000,B00000000,B00000000,B00000000,B00000000,B01111000,B00000000,B00000000,B00000001,B11111111, + B11000001,B11110000,B00111111,B00000011,B11100000,B00000000,B00000000,B00000000,B00000000,B01111000,B00000000,B00000000,B00000000,B11111111, + B11000001,B11100000,B00011110,B00000001,B11100000,B00011111,B00000000,B00000011,B11100000,B01111000,B00111100,B00000011,B11110000,B01111111, + B11000001,B11100000,B00011110,B00000001,B11100000,B01111111,B11000000,B00001111,B11111000,B01111000,B00111100,B00000111,B11111100,B00111111, + B11000001,B11100000,B00011110,B00000001,B11100001,B11111111,B11100000,B00011111,B11111100,B01111000,B00111100,B00001111,B11111110,B00011111, + B11000001,B11100000,B00011110,B00000001,B11100011,B11111111,B11110000,B00111111,B11111110,B01111000,B00111100,B00011111,B11111110,B00001111, + B11000001,B11100000,B00011110,B00000001,B11100011,B11110011,B11111000,B00111111,B00111110,B01111000,B00111100,B00111111,B00111111,B00000111, + B11000001,B11100000,B00011110,B00000001,B11100111,B11100000,B11111100,B01111100,B00011111,B01111000,B00111100,B00111110,B00011111,B00000111, + B11000001,B11100000,B00011110,B00000001,B11100111,B11000000,B01111100,B01111100,B00001111,B01111000,B00111100,B00111100,B00001111,B00000011, + B11000001,B11100000,B00011110,B00000001,B11100111,B10000000,B01111100,B01111000,B00001111,B01111000,B00111100,B00111100,B00001111,B00000011, + B11000001,B11100000,B00011110,B00000001,B11100111,B10000000,B00111100,B01111000,B00000000,B01111000,B00111100,B00111100,B00001111,B00000011, + B11000001,B11100000,B00011110,B00000001,B11100111,B10000000,B00111100,B01111000,B00000000,B01111000,B00111100,B00111100,B00001111,B00000011, + B11000001,B11100000,B00011110,B00000001,B11100111,B10000000,B00111100,B01111000,B00000000,B01111000,B00111100,B00111100,B00001111,B00000011, + B11000001,B11100000,B00011110,B00000001,B11100111,B11000000,B00111100,B01111000,B00000000,B01111000,B00111100,B00111100,B00001111,B00000011, + B11000001,B11100000,B00011110,B00000001,B11100011,B11100000,B00111100,B01111000,B00000000,B01111100,B00111100,B00111100,B00001111,B00000011, + B11000001,B11100000,B00011110,B00000001,B11100011,B11111111,B00111111,B11111000,B00000000,B01111111,B10111100,B00111100,B00001111,B00000011, + B11000001,B11100000,B00011110,B00000001,B11100001,B11111111,B00111111,B11111000,B00000000,B00111111,B10111111,B11111100,B00001111,B00000011, + B11000001,B11100000,B00011110,B00000001,B11100000,B11111111,B00111111,B11111000,B00000000,B00011111,B10111111,B11111100,B00001111,B00000011, + B11000001,B11100000,B00011110,B00000001,B11100000,B01111111,B00111111,B11111000,B00000000,B00001111,B10111111,B11111100,B00001111,B00000011, + B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111, + B01100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000110, + B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001110, + B00111000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011100, + B00011110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B01111000, + B00001111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000, + B00000001,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000000 +}; + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/images/bootscreen_195x59x16.cpp b/Marlin/src/lcd/tft/images/bootscreen_195x59x16.cpp new file mode 100644 index 000000000000..454e96402841 --- /dev/null +++ b/Marlin/src/lcd/tft/images/bootscreen_195x59x16.cpp @@ -0,0 +1,89 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../inc/MarlinConfigPre.h" + +#if HAS_GRAPHICAL_TFT + +extern const uint16_t marlin_logo_195x59x16[11505] = { + 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x310e, 0x7a32, 0xaad3, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, + 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x20ad, 0x18ad, 0x496f, 0xaad3, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, + 0x18ad, 0x20ab, 0x18ad, 0x18ad, 0x18ad, 0x20ee, 0x8252, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd3b5, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdb95, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, + 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x28ee, 0xb314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd4f8, 0xd65c, 0xd6dd, 0xd6fd, 0xd7ff, 0xd7ff, 0xdfff, 0xd7ff, 0xd7ff, 0xdfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xdfff, 0xd539, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdb95, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, + 0x18ad, 0x20ad, 0x18ae, 0x28ee, 0xcb55, 0xd375, 0xd395, 0xd395, 0xd3d6, 0xd5db, 0xd7bf, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xdfff, 0xdfff, 0xdfff, 0xd7ff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xdfff, 0xd539, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, + 0x18ad, 0x18ad, 0x28ee, 0xb314, 0xd395, 0xd395, 0xd395, 0xd477, 0xd77e, 0xd7ff, 0xd7ff, 0xdfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xdfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xd7ff, 0xdfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd539, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, + 0x18ad, 0x18cd, 0x8252, 0xd395, 0xd395, 0xd396, 0xd4b8, 0xd7bf, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xdfff, 0xdfff, 0xd7ff, 0xd7ff, 0xdfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xdfff, 0xd7ff, 0xdfff, 0xd539, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, + 0x18ad, 0x496f, 0xd395, 0xd395, 0xd395, 0xd457, 0xd7bf, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7df, 0xd7ff, 0xcf3e, 0xc67c, 0xc53a, 0xacb8, 0xacb8, 0xacb8, 0xacb8, 0xacb8, 0xacb8, 0xc53a, 0xc67c, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd65b, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd396, 0xd395, + 0x20ae, 0xa2d3, 0xd395, 0xd395, 0xd3d6, 0xd75e, 0xcfff, 0xcfff, 0xd7ff, 0xd7ff, 0xcfff, 0xcfff, 0xd7ff, 0xd7ff, 0xd7df, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7df, 0xd7ff, 0xd7ff, 0xcfdf, 0xcfff, 0xd7ff, 0xd7df, 0xd7ff, 0xcfff, 0xd7ff, 0xd7df, 0xd7ff, 0xcfff, 0xd7df, 0xcfff, 0xcfff, 0xd7ff, 0xd7ff, 0xcfff, 0xd7ff, 0xcfff, 0xd7ff, 0xd7df, 0xd7df, 0xcfff, 0xd7df, 0xcfff, 0xd7ff, 0xd7ff, 0xcfff, 0xd7ff, 0xcfff, 0xd7ff, 0xd7df, 0xd7ff, 0xd7ff, 0xcfff, 0xcfff, 0xd7ff, 0xcfff, 0xd7df, 0xcfff, 0xd7ff, 0xd7df, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xcfff, 0xd7ff, 0xcfdf, 0xd7df, 0xcfdf, 0xcfff, 0xd7df, 0xacd8, 0x8191, 0x9151, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0xbe3b, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7df, 0xd7df, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7df, 0xcfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7df, 0xd7df, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7df, 0xd7ff, 0xd7df, 0xd7ff, 0xd7df, 0xd65c, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, + 0x310e, 0xd395, 0xd375, 0xd375, 0xd5ba, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xc77e, 0xbe5b, 0xbe3c, 0xb57a, 0xacb8, 0xbdbb, 0xc63c, 0xbe3b, 0xc71e, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xc77e, 0xbe5c, 0xb5db, 0xacb8, 0xac98, 0xbd5a, 0xbe3c, 0xc61c, 0xc69d, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xacb9, 0x8191, 0x9151, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0xa111, 0xbe3b, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xd7df, 0xcfdf, 0xcf5e, 0xbe5c, 0xbe5c, 0xc63c, 0xc61c, 0xcefd, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfff, 0xcfdf, 0xd63b, 0xd375, 0xd395, 0xd375, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd395, 0xd375, 0xd375, 0xd375, 0xd395, + 0x79f1, 0xd355, 0xd355, 0xd355, 0xcf7e, 0xc7df, 0xcfbf, 0xcfdf, 0xc7df, 0xc7df, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfbf, 0xcfdf, 0xcfdf, 0xcfbf, 0xbefd, 0xacb8, 0x8a52, 0x9151, 0x9131, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0xa192, 0xab96, 0xbe7d, 0xcfdf, 0xc7df, 0xcfbf, 0xc7df, 0xcfdf, 0xcfbf, 0xc75e, 0xad19, 0x92b4, 0x8971, 0x9151, 0x9931, 0x9931, 0x9911, 0x9911, 0xa111, 0x9931, 0xa111, 0x9911, 0xab36, 0xbd5a, 0xc75e, 0xcfdf, 0xc7bf, 0xc7bf, 0xcfdf, 0xc7df, 0xc7bf, 0xc7df, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xc7df, 0xcfbf, 0xc7df, 0xc7bf, 0xcfbf, 0xc7df, 0xa4b8, 0x8191, 0x9151, 0x9931, 0x9911, 0x9931, 0x9931, 0x9911, 0x9931, 0x9912, 0xbe3b, 0xcfbf, 0xcfdf, 0xcfbf, 0xcfdf, 0xcfdf, 0xb5da, 0x8a12, 0x8971, 0x9931, 0x9931, 0xa111, 0x9931, 0xab35, 0xc75e, 0xcfbf, 0xcfdf, 0xc7df, 0xc7df, 0xcfdf, 0xcfdf, 0xcfbf, 0xc7df, 0xc7df, 0xcfdf, 0xcfdf, 0xcfdf, 0xc7df, 0xcfdf, 0xcfdf, 0xcfdf, 0xce1b, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, + 0xa293, 0xd335, 0xd335, 0xcc98, 0xc7bf, 0xc7be, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc75e, 0xa4b8, 0x8191, 0x9151, 0x9911, 0xa131, 0xa111, 0xa111, 0x9931, 0xa111, 0xa112, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xab35, 0xbefe, 0xc7bf, 0xc7be, 0xc7bf, 0xb5db, 0x89f1, 0x8971, 0x9931, 0x9911, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa132, 0x9911, 0xa111, 0xa111, 0xa111, 0xa111, 0xa172, 0xbd3a, 0xc7be, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7be, 0xc79f, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc79f, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xac98, 0x8191, 0x9151, 0x9931, 0xa111, 0xa131, 0xa111, 0xa131, 0xa111, 0x9931, 0xbe1b, 0xc79f, 0xc7bf, 0xc7bf, 0xc7bf, 0xbefd, 0x89f2, 0x8991, 0x9931, 0xa112, 0xa131, 0xa111, 0xa111, 0xa111, 0xab97, 0xc7bf, 0xc7bf, 0xc7be, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc6dd, 0xd375, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd334, 0xd335, 0xd335, + 0xd315, 0xd315, 0xd314, 0xc5fb, 0xc79f, 0xc79e, 0xc7bf, 0xc7bf, 0xc79e, 0xc79e, 0xc7bf, 0xc79f, 0xbf9e, 0xbfbf, 0xbfbe, 0xb67c, 0x8a53, 0x8971, 0xa131, 0xa112, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa112, 0xa111, 0xa111, 0xa172, 0xb539, 0xbf9f, 0x9bf6, 0x8191, 0x9151, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa112, 0xa111, 0xa111, 0xab15, 0xbf3d, 0xc79f, 0xc7be, 0xc79f, 0xc79f, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79f, 0xc79e, 0xc79f, 0xc79e, 0xc79e, 0xc7bf, 0xc79f, 0xa4b8, 0x8191, 0x9151, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa112, 0xa111, 0xbdfb, 0xc79f, 0xc79e, 0xc7be, 0xc79f, 0xacf9, 0x8191, 0x9171, 0xa111, 0xa111, 0xa111, 0xa112, 0xa111, 0xa131, 0xa111, 0xbf3e, 0xbfbf, 0xc79e, 0xc79e, 0xc79e, 0xc7bf, 0xc79e, 0xc79e, 0xc79e, 0xbfbf, 0xc79e, 0xc79e, 0xc79e, 0xbf9e, 0xc79f, 0xc79e, 0xbfbe, 0xc79e, 0xc6bd, 0xd355, 0xd2f5, 0xd315, 0xcb14, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd315, 0xd315, 0xd315, 0xd314, + 0xd2f4, 0xcaf4, 0xd2f4, 0xc65c, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf7f, 0xb67c, 0x8a12, 0x8971, 0xa111, 0xa111, 0xa911, 0xa111, 0xa911, 0xa111, 0xa111, 0xa111, 0xa911, 0xa911, 0xa111, 0xa111, 0xa111, 0xa911, 0xa111, 0xa111, 0xa111, 0xa912, 0xa911, 0xa1f3, 0x8191, 0x9931, 0xa111, 0xa111, 0xa912, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa911, 0xa911, 0xa911, 0xa911, 0xa911, 0xa111, 0xa111, 0xa111, 0xa112, 0xa911, 0xaa54, 0xbf1d, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xb79e, 0xbf9f, 0xa498, 0x8191, 0x9951, 0xa911, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa911, 0xb5fb, 0xbf9e, 0xbf9f, 0xbf9e, 0xbf9f, 0xa498, 0x8191, 0x9951, 0xa111, 0xa111, 0xa111, 0xa111, 0xa112, 0xa111, 0xa911, 0xb5fb, 0xbf7e, 0xbf9e, 0xbf9e, 0xbf9f, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbebd, 0xd335, 0xcaf4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xcaf4, 0xd2f4, 0xd2f5, 0xcaf4, + 0xd2d4, 0xd2d4, 0xd2d4, 0xbe5c, 0xb77e, 0xb79e, 0xb77e, 0xbf7e, 0xb77e, 0xb77e, 0xb77e, 0xb79e, 0xbf7e, 0xae7b, 0x89f2, 0x8971, 0xa111, 0xa8f1, 0xa911, 0xa8f1, 0xa911, 0xa911, 0xa911, 0xa911, 0xa911, 0xa8f1, 0xa911, 0xa911, 0xa911, 0xa8f1, 0xa911, 0xa8f1, 0xa911, 0xa911, 0xa912, 0xa911, 0xa911, 0xa111, 0xa911, 0xa8f1, 0xa911, 0xa8f1, 0xa111, 0xa911, 0xa8f1, 0xa8f1, 0xa911, 0xa911, 0xa8f1, 0xa911, 0xa8f1, 0xa8f1, 0xa912, 0xa911, 0xa911, 0xa911, 0xa8f1, 0xa111, 0xaa34, 0xb71e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xb77e, 0xb77e, 0xbf7e, 0xb77e, 0xb77e, 0xbf7f, 0xb77e, 0x9c97, 0x8191, 0x9951, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa911, 0xa8f1, 0xb5db, 0xbf7e, 0xb77e, 0xbf7e, 0xbf7e, 0xa478, 0x8191, 0x9951, 0xa911, 0xa8f1, 0xa8f1, 0xa911, 0xa911, 0xa8f1, 0xa911, 0xb5db, 0xb77f, 0xb77e, 0xbf7e, 0xbf7e, 0xb77e, 0xbf7e, 0xbf7e, 0xbf7e, 0xb77e, 0xb77e, 0xbf7e, 0xb77e, 0xbf7e, 0xb77e, 0xbf7e, 0xbf7e, 0xb77e, 0xb77e, 0xbf7e, 0xbe9d, 0xcb75, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d5, + 0xd2b4, 0xd2b4, 0xd2b4, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb71d, 0x8a53, 0x8191, 0xa111, 0xa8f1, 0xb0f1, 0xa911, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f2, 0xa8f1, 0xb0f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xb2f5, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb75e, 0xb77e, 0xb77e, 0xb77e, 0xb75e, 0xb75e, 0xb77e, 0xb75e, 0xb77e, 0xb77e, 0xb75e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb75e, 0xb75e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb75e, 0xb77e, 0xb77e, 0xb75e, 0xb77e, 0xb75e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0x9c78, 0x8191, 0x9951, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xb5db, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0x9c77, 0x8191, 0x9151, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xb5db, 0xb77e, 0xb77e, 0xb77e, 0xb75e, 0xb77e, 0xb75e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb75e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb75e, 0xb71d, 0xcb96, 0xd2b4, 0xd2b4, 0xcab4, 0xd2b4, 0xcab4, 0xd2b4, 0xcab4, 0xd2b4, 0xcab4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xca94, 0xd2b4, 0xd2b4, 0xd2b4, 0xcab4, + 0xd294, 0xd294, 0xca94, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf5e, 0xb75e, 0x9416, 0x8991, 0x9951, 0xb0f1, 0xa8f1, 0xb0f1, 0xa8f1, 0xb0f1, 0xa8f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xa8f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xa8f1, 0xa8f1, 0xb0f1, 0xa8f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f2, 0xa8f1, 0xb0f1, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f2, 0xa8f1, 0xb0f2, 0xb0f1, 0xb0f1, 0xb0f1, 0xa8f1, 0xb0f1, 0xb0f1, 0xacf9, 0xaf5e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf7e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xb75e, 0xb75e, 0xaf5e, 0xb75e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xb75e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5d, 0xb75e, 0xaf5e, 0xaf5e, 0x9c77, 0x8191, 0x9951, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xadbb, 0xb75e, 0xb75e, 0xb75e, 0xb75e, 0x9c78, 0x8991, 0x9951, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb5bb, 0xb75e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf5e, 0xb75e, 0xb75e, 0xb75e, 0xaf5e, 0xb75e, 0xb75e, 0xb75e, 0xaf5e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf1d, 0xcb75, 0xca93, 0xd294, 0xca74, 0xca94, 0xca74, 0xd274, 0xca74, 0xd294, 0xca94, 0xca94, 0xca94, 0xca94, 0xca94, 0xca94, 0xca94, 0xca94, 0xd294, 0xca93, 0xca94, 0xd293, 0xca74, + 0xd274, 0xd274, 0xca53, 0xaf5e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3d, 0xaf5d, 0xaf3d, 0xaf3e, 0xa69c, 0x8191, 0x8191, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0d1, 0xb0f2, 0xb0d1, 0xb0d1, 0xb0f2, 0xb0f1, 0xb0f1, 0xaa13, 0xb418, 0xa438, 0x9ab4, 0x9931, 0xa8f1, 0xb0f1, 0xb0f2, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xaa74, 0xac78, 0xacf9, 0x9b35, 0x9931, 0xa8f1, 0xb0f1, 0xb0f2, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0f2, 0xb0d1, 0xb0f1, 0xa9b3, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3d, 0xaf3d, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3d, 0xaf3d, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3d, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0x9c77, 0x8191, 0x9931, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xadbb, 0xaf3e, 0xaf3e, 0xaf5d, 0xaf3e, 0x9477, 0x8191, 0x9951, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xadba, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3d, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf3d, 0xaf3d, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaefd, 0xcb56, 0xca53, 0xca74, 0xd253, 0xd274, 0xd274, 0xd273, 0xca73, 0xd274, 0xd274, 0xd274, 0xd274, 0xd274, 0xd274, 0xd274, 0xd274, 0xd254, 0xca74, 0xca54, 0xca54, 0xca74, + 0xca53, 0xca53, 0xca53, 0xa73e, 0xa73e, 0xa73e, 0xa73e, 0xa73d, 0xa73d, 0xa73d, 0xa73d, 0x9457, 0x8191, 0x9931, 0xb8d1, 0xb0d1, 0xb8d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb1b3, 0xad9a, 0xaf3d, 0xaf3d, 0xa73d, 0xa73d, 0x9dda, 0x89d1, 0x9951, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0f1, 0xb213, 0xad9b, 0xa73e, 0xa73d, 0xaf3e, 0xaf3e, 0x9dda, 0x81f2, 0x9171, 0xb0f1, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb8d1, 0xb8d2, 0xb0f1, 0xad39, 0xa73d, 0xa73e, 0xa73d, 0xa73d, 0xa73d, 0xa73d, 0xa73d, 0xa73e, 0xa73d, 0xa73d, 0xa73d, 0xaf3d, 0xa73d, 0xa73d, 0xa73d, 0xa73e, 0xa73e, 0xa73d, 0xaf3d, 0xa73d, 0xa73d, 0xa73e, 0xaf3d, 0xa73e, 0xa73e, 0xa73d, 0xaf3d, 0xa73d, 0xa73d, 0xa73e, 0xaf3e, 0xaf1e, 0xa73e, 0xa73e, 0xa73e, 0xa73e, 0xa73e, 0xa73e, 0xa73e, 0xa73e, 0xaf3e, 0xa73e, 0xa73d, 0xaf3e, 0xa73e, 0xa73d, 0xa73d, 0xa73d, 0xaf3d, 0xa73e, 0xa73e, 0xa73e, 0xa73d, 0xaf3d, 0xa73d, 0xaf3d, 0xa73e, 0xa73e, 0xaf3d, 0xa73e, 0xa73d, 0xa73d, 0xa73e, 0x9478, 0x8191, 0x9931, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb8d1, 0xad9a, 0xa73e, 0xa73d, 0xa73e, 0xa73d, 0xa73d, 0xa73d, 0xaf3d, 0xa73d, 0xa73d, 0xa73d, 0xa73d, 0xa73d, 0xaf3d, 0xa73d, 0xa73d, 0xa73d, 0xaf3e, 0xa73e, 0xa73d, 0xa73d, 0xa73d, 0xaf3d, 0xaf3e, 0xa73d, 0xaf3d, 0xaf3e, 0xa73d, 0xa73d, 0xaf3d, 0xa73e, 0xaf3d, 0xaf3d, 0xaf3d, 0xa73e, 0xa73d, 0xa73d, 0xaf3d, 0xa73d, 0xaedd, 0xc376, 0xca53, 0xca53, 0xca53, 0xca53, 0xca33, 0xca53, 0xca53, 0xca53, 0xca53, 0xca53, 0xca53, 0xca53, 0xca53, 0xca53, 0xd233, 0xca53, 0xd253, 0xca53, 0xca53, + 0xca13, 0xca33, 0xca13, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa73d, 0xa73d, 0xa73d, 0x8a53, 0x8191, 0xa8f1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb213, 0xa6bd, 0xa71d, 0xa73e, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0x9e1b, 0x81f1, 0x9171, 0xb0f1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb1f3, 0xa6bd, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa73d, 0xa71d, 0x9e1b, 0x89f2, 0x8991, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb8d1, 0xb336, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa73d, 0xa73d, 0xa73d, 0xa71d, 0xa71d, 0xa73d, 0xa71d, 0xa71e, 0xa71d, 0xa71d, 0xa73d, 0xa73e, 0xa71d, 0xa71d, 0xa71d, 0xa73e, 0xa71d, 0xa73e, 0xa73d, 0xa71d, 0xa71d, 0xa73d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa73d, 0xa73d, 0xa73d, 0xa73e, 0xa71d, 0xa73d, 0xa73d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa73d, 0xa71d, 0xa71d, 0xa73e, 0xa73d, 0xa73d, 0xa71d, 0xa71d, 0x9477, 0x8191, 0x9931, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xa59a, 0xa71d, 0xa73d, 0xa73e, 0xa71d, 0xa71d, 0xa71e, 0xa73d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa73d, 0xa73d, 0xa71e, 0xa71d, 0xa73d, 0xa71d, 0xa73d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa73d, 0xa73d, 0xa71d, 0xa73d, 0xa73d, 0xa71d, 0xa73e, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xbbf7, 0xca13, 0xca33, 0xca13, 0xca33, 0xca33, 0xca33, 0xca33, 0xca33, 0xca33, 0xca33, 0xca33, 0xca33, 0xca33, 0xca13, 0xca13, 0xca14, 0xd233, 0xca33, + 0xca13, 0xca13, 0xca13, 0x9f1d, 0x9f1d, 0xa71d, 0x9f1d, 0x9f1d, 0xa71d, 0x9f1d, 0x9f1d, 0x8191, 0x8191, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xa5db, 0x9f1d, 0x9f1d, 0x9efd, 0x9f1d, 0x9f1d, 0x9f1d, 0xa6fd, 0x9f1d, 0x94f9, 0x8191, 0x9931, 0xb8d1, 0xb8d1, 0xb8b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8b1, 0xa5db, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0xa6fd, 0x9f1d, 0x9f1d, 0x9f1d, 0x94f9, 0x8191, 0x9931, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb932, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1e, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9e1b, 0x9457, 0x92d4, 0xa1f3, 0xa911, 0xb0f1, 0xb0f1, 0xa911, 0xb274, 0xb254, 0xb254, 0xabf7, 0xa5db, 0xa6fd, 0xa6fd, 0xa71d, 0xa71d, 0x9f1d, 0x9f1d, 0xa6fd, 0x9f1d, 0x9f1d, 0xa71d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9e7c, 0x9498, 0x8b14, 0x9a13, 0xa131, 0xa912, 0xb0f1, 0xa8f1, 0xb255, 0xb274, 0xb254, 0xab97, 0xad1a, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0xa71d, 0x9f1d, 0xa71d, 0x9457, 0x8191, 0xa131, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xa57a, 0x9f1d, 0xa71d, 0x9f1d, 0xa71d, 0x9e7c, 0x9dba, 0xa59a, 0xa57a, 0xa57a, 0xa57a, 0xa57a, 0xa57a, 0xa57a, 0xa57a, 0xa69c, 0x9f1d, 0x9f1d, 0x9f1d, 0xa71d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9e5c, 0x94b8, 0x8af4, 0x9a13, 0xa131, 0xa8f1, 0xb0f1, 0xb0f1, 0xb932, 0xb274, 0xb254, 0xb336, 0xacb9, 0xa63c, 0x9f1d, 0xbbf7, 0xc9f3, 0xca13, 0xca13, 0xca13, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xca13, 0xca13, 0xca13, 0xca13, 0xca13, + 0xc9d3, 0xc9d3, 0xc9d3, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x959a, 0x8191, 0x9151, 0xc0b1, 0xb8d1, 0xc0b1, 0xb8d1, 0xc0d1, 0xb8d1, 0xb8d1, 0xb2b5, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x8252, 0x8191, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xc0b1, 0xc0d1, 0xb8d1, 0xc0d1, 0xb1f3, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9f1d, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x8a93, 0x8191, 0xb8d1, 0xb8d1, 0xc0d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xc0b1, 0xa63c, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x94f8, 0x8a53, 0x9171, 0xb0f1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8b1, 0xb8b1, 0xc0b1, 0xc0d1, 0xc0d1, 0xb8d1, 0xc0d1, 0xb8b1, 0xb992, 0xacb9, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9e5c, 0x8b96, 0x8991, 0xa131, 0xb8d1, 0xb8d1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xc0b1, 0xb8d1, 0xb932, 0xabf7, 0x9e9c, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9437, 0x8191, 0xa131, 0xb8d1, 0xc0b1, 0xb8d1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xa57a, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9437, 0x8191, 0xa131, 0xb8d1, 0xc0b1, 0xb8d1, 0xb8d1, 0xc0b1, 0xb8d1, 0xb8d1, 0xa57a, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9e9c, 0x8b96, 0x8971, 0xa131, 0xb8d1, 0xb8d1, 0xc0b1, 0xb8d1, 0xc0b1, 0xc0d1, 0xb8d1, 0xb8d1, 0xc0d1, 0xb8d1, 0xb8d1, 0xc0d1, 0xb335, 0xa63c, 0xbbd7, 0xc9d3, 0xc9f3, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9f3, 0xc9d3, 0xc9d3, 0xc9f3, 0xc9d3, + 0xc9b3, 0xc9b3, 0xc9b3, 0x9edd, 0x96fd, 0x9edd, 0x96fd, 0x9efc, 0x96fd, 0x96fd, 0x9599, 0x8991, 0x9171, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xabd7, 0x9efc, 0x96fd, 0x96fd, 0x96dd, 0x96fd, 0x9efd, 0x9edd, 0x96fd, 0x9edd, 0x9efd, 0x8c37, 0x8191, 0xa111, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xab76, 0x9edd, 0x9efd, 0x9efd, 0x9edd, 0x9edd, 0x96dd, 0x9efd, 0x9edd, 0x96fd, 0x9edd, 0x8c37, 0x8191, 0xa131, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0d1, 0xa55a, 0x96fd, 0x9edd, 0x9efd, 0x96fd, 0x963b, 0x8af4, 0x8991, 0xa911, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xb992, 0xa55a, 0x9edd, 0x9efc, 0x96fd, 0x9edd, 0x96fd, 0x9efd, 0x96fd, 0x96fd, 0x96fd, 0x96fd, 0x96fd, 0x96fd, 0x96fd, 0x96fd, 0x94f9, 0x81f1, 0x9171, 0xb8d2, 0xc0b1, 0xc0d1, 0xc0d1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xb992, 0x9dbb, 0x96fd, 0x9edd, 0x96fd, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xa55a, 0x9edd, 0x96fd, 0x96fd, 0x9efd, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xa55a, 0x96fd, 0x9efd, 0x96fd, 0x9efd, 0x9efd, 0x96fd, 0x9efd, 0x96fd, 0x9539, 0x81f1, 0x9171, 0xb0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb911, 0xacfa, 0xb458, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9d2, 0xc9d3, 0xc9d3, 0xc9b3, + 0xc993, 0xc993, 0xc992, 0x96dc, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x8d79, 0x8191, 0x9151, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xabd7, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xabd7, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x9d5a, 0x96dd, 0x96dd, 0x96dd, 0x95da, 0x89f2, 0x8971, 0xb8d1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xa499, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dc, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x8c37, 0x8191, 0x9931, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xa499, 0x96dc, 0x96dd, 0x8c37, 0x8191, 0xa111, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x9d5a, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x9d5a, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x8cd8, 0x8191, 0x9951, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xac79, 0xacf9, 0xc992, 0xc993, 0xc9b2, 0xc992, 0xc992, 0xc993, 0xc993, 0xc993, 0xc992, 0xc992, 0xc992, 0xc993, 0xc993, 0xc993, + 0xc972, 0xc972, 0xc972, 0x8ebc, 0x8ebd, 0x8ebd, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebd, 0x8d7a, 0x8191, 0x9151, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xabb7, 0x8ebd, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebd, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xabb7, 0x8ebc, 0x8ebc, 0x8ebc, 0x8edc, 0x8ebc, 0x8edd, 0x8ebc, 0x8ebc, 0x8ebd, 0x8ebc, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x9d39, 0x8ebd, 0x8edd, 0x8dba, 0x81f2, 0x9171, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc8b1, 0xc8b2, 0xc0b1, 0xc8b2, 0xc8b1, 0xc8b1, 0xc0d1, 0xc0b1, 0xc0d1, 0xc0d1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xa437, 0x8ebc, 0x8edd, 0x8ebc, 0x8ebd, 0x8ebc, 0x8ebc, 0x8ebd, 0x8ebc, 0x8ebd, 0x8ebd, 0x8cd8, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc8b2, 0xc8b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc8b1, 0xa4d9, 0x8ebc, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc8b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0x9d3a, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x9d5a, 0x8ebc, 0x8ebc, 0x8edc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8cd8, 0x8191, 0x9951, 0xc8b1, 0xc0b1, 0xc8b1, 0xc8b2, 0xc8b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc8b1, 0xc8b1, 0xc8d1, 0xa478, 0xa4d9, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, + 0xc952, 0xc952, 0xc952, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8d59, 0x8191, 0x9171, 0xc8f2, 0xc8f1, 0xc8f2, 0xc8f2, 0xc8f2, 0xc8f1, 0xc8f2, 0xabd7, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8c36, 0x8191, 0xa931, 0xc8f2, 0xc8f1, 0xc8f2, 0xc8f2, 0xc8f2, 0xc8f2, 0xc0f2, 0xabb7, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8437, 0x8191, 0xa951, 0xc8f1, 0xc8f1, 0xc8f2, 0xc8f1, 0xc8f1, 0xc8f2, 0xc8f1, 0x9d3a, 0x8ebc, 0x8e1b, 0x81f2, 0x8971, 0xb912, 0xc8f1, 0xc8f1, 0xc8f2, 0xc8f1, 0xc8f1, 0xc8f1, 0xc8f2, 0xc8d1, 0xc112, 0xc8f2, 0xc8f2, 0xc8f2, 0xc8d1, 0xc8f2, 0xc8d1, 0xc8f2, 0xc0f1, 0xc8f1, 0xc8f2, 0xc8f1, 0xc8f2, 0xc0f1, 0xa498, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8dba, 0x8991, 0x8991, 0xc0f1, 0xc8f2, 0xc0f2, 0xc8f1, 0xc8f2, 0xc8f1, 0xc0f1, 0xc8f2, 0xc8f1, 0xc8f2, 0xc0f2, 0xc8f1, 0xc0f1, 0xc8f2, 0xc8f1, 0xc8f2, 0xc8f2, 0xc8f2, 0xc8f1, 0xc8f1, 0xc0f2, 0xc132, 0x8e5c, 0x8c17, 0x8191, 0xa931, 0xc8f2, 0xc8f2, 0xc8f2, 0xc8f2, 0xc8f1, 0xc8f2, 0xc8f2, 0x9d59, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8c17, 0x8191, 0xa951, 0xc8f1, 0xc8f1, 0xc8f2, 0xc8f1, 0xc8f1, 0xc8f2, 0xc8f1, 0x9d5a, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebd, 0x8dba, 0x81f2, 0x8991, 0xc111, 0xc8f1, 0xc8f1, 0xc8f1, 0xc0f2, 0xc8f1, 0xc8f1, 0xc0f2, 0xc8d2, 0xc8f1, 0xc8f2, 0xc0f1, 0xc0f1, 0xc8f2, 0xc0f1, 0xc8f1, 0xc8f2, 0xc8f2, 0xc8f1, 0xc8f1, 0xc8f2, 0xc152, 0x95fb, 0xa4b8, 0xc152, 0xc952, 0xc952, 0xc952, 0xc972, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, + 0xc932, 0xc932, 0xc932, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8d79, 0x8191, 0x9171, 0xc132, 0xc131, 0xc912, 0xc912, 0xc132, 0xc911, 0xc912, 0xabf7, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x96bc, 0x8c36, 0x8191, 0xa951, 0xc912, 0xc911, 0xc912, 0xc912, 0xc112, 0xc912, 0xc912, 0xabf7, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8c36, 0x8191, 0xa951, 0xc912, 0xc912, 0xc912, 0xc911, 0xc911, 0xc912, 0xc912, 0x9d59, 0x8ebc, 0x8ad4, 0x8191, 0xb152, 0xc912, 0xc131, 0xc912, 0xc912, 0xc912, 0xc912, 0xc912, 0xc912, 0xc932, 0xc912, 0xc912, 0xc912, 0xc912, 0xc911, 0xc112, 0xc932, 0xc912, 0xc912, 0xc932, 0xc911, 0xc912, 0xc912, 0xc932, 0xc131, 0x9dba, 0x8ebc, 0x96bc, 0x8ebc, 0x8edc, 0x96bb, 0x8ebc, 0x8edc, 0x82d4, 0x8191, 0xb932, 0xc912, 0xc112, 0xc912, 0xc112, 0xc912, 0xc112, 0xc912, 0xc911, 0xc911, 0xc932, 0xc911, 0xc131, 0xc912, 0xc132, 0xc131, 0xc912, 0xc912, 0xc911, 0xc911, 0xc131, 0xc912, 0xc912, 0xb356, 0x8c36, 0x8191, 0xa151, 0xc912, 0xc912, 0xc912, 0xc912, 0xc912, 0xc912, 0xc112, 0x9d59, 0x8ebc, 0x96bc, 0x8ebc, 0x8ebc, 0x8c37, 0x8191, 0xa951, 0xc912, 0xc912, 0xc912, 0xc911, 0xc911, 0xc912, 0xc912, 0x9d59, 0x8ebc, 0x8ebc, 0x8ebc, 0x96bc, 0x8ebc, 0x82f4, 0x8991, 0xb151, 0xc912, 0xc912, 0xc932, 0xc912, 0xc912, 0xc131, 0xc932, 0xc912, 0xc911, 0xc911, 0xc932, 0xc911, 0xc912, 0xc911, 0xc932, 0xc932, 0xc112, 0xc911, 0xc132, 0xc912, 0xc912, 0xc932, 0xb336, 0x96bc, 0xa4f9, 0xc192, 0xc932, 0xc932, 0xc932, 0xc932, 0xc932, 0xc932, 0xc932, 0xc932, 0xc932, 0xc932, + 0xc912, 0xc912, 0xc912, 0x9edb, 0x9edb, 0x9edb, 0x9edc, 0x9edb, 0x9edb, 0x9edb, 0x9578, 0x8191, 0x9991, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xb417, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9436, 0x8191, 0xa972, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xa518, 0x9edb, 0x96db, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9436, 0x8191, 0xa171, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xa579, 0x94d8, 0x8191, 0x9991, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc152, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc253, 0xc2b4, 0xb952, 0xc152, 0xc952, 0xc152, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xbab5, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9599, 0x8191, 0x91b1, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc1f3, 0xc2b5, 0xb952, 0xc152, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc972, 0xc952, 0xc952, 0xc972, 0xc1b2, 0x9436, 0x8191, 0xa972, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xa579, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x8c36, 0x8991, 0xa171, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xa579, 0x9edb, 0x9edc, 0x9edb, 0x9edb, 0x9598, 0x8191, 0x9191, 0xc952, 0xc952, 0xc952, 0xc952, 0xc152, 0xc952, 0xc172, 0xc952, 0xc952, 0xc952, 0xc1f3, 0xc2b4, 0xb952, 0xc152, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xa61a, 0x9edc, 0xa5da, 0xc172, 0xc912, 0xc911, 0xc911, 0xc912, 0xc912, 0xc111, 0xc912, 0xc912, 0xc912, + 0xc8f1, 0xc8f1, 0xc8f2, 0xa6fb, 0xa6fa, 0xa6fa, 0xa6fb, 0xa6fa, 0xa6da, 0xa6fa, 0x9d98, 0x8191, 0x9191, 0xc972, 0xc992, 0xc992, 0xc972, 0xc992, 0xc992, 0xc992, 0xb436, 0xa6fb, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0x9436, 0x8191, 0xa992, 0xc992, 0xc992, 0xc972, 0xc972, 0xc972, 0xc992, 0xc992, 0xad98, 0xa6da, 0xa6da, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0x9436, 0x8191, 0xa992, 0xc993, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xad99, 0x8a32, 0x8991, 0xc192, 0xc992, 0xc992, 0xc972, 0xc992, 0xc992, 0xc973, 0xc992, 0xc992, 0xc992, 0xbc36, 0xa69a, 0xa6fa, 0xa6fa, 0xa69a, 0x9395, 0x8991, 0xb992, 0xc993, 0xc972, 0xc972, 0xc992, 0xc992, 0xc972, 0xc992, 0xc972, 0xc972, 0xad98, 0xa6db, 0xa6da, 0xa6fa, 0xa6fb, 0xa6fa, 0x9395, 0x8191, 0xb192, 0xc992, 0xc992, 0xc992, 0xc993, 0xc972, 0xc972, 0xc992, 0xc972, 0xc233, 0xad98, 0xa6fa, 0xa6fb, 0xa639, 0x8a93, 0x9992, 0xc192, 0xc972, 0xc992, 0xc992, 0xc992, 0xc972, 0xc992, 0xc972, 0xc972, 0x9a93, 0x8191, 0xa992, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xad98, 0xa6fa, 0xa6fb, 0xa6fa, 0xa6fa, 0x9436, 0x8191, 0xa992, 0xc993, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xad98, 0xa6da, 0xa6da, 0xa6fa, 0xa6da, 0x8b95, 0x8191, 0xb192, 0xc972, 0xc992, 0xc972, 0xc992, 0xc992, 0xc972, 0xc992, 0xc972, 0xc294, 0xadf9, 0xa6fa, 0xa6da, 0xa69a, 0x9334, 0x9191, 0xb992, 0xc992, 0xc993, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xb497, 0xaefb, 0xaefb, 0xb5d9, 0xc952, 0xc8f1, 0xc8f2, 0xc0f1, 0xc8f1, 0xc8f1, 0xc8f1, 0xc8f1, 0xc8f1, + 0xc0d1, 0xc0d1, 0xc8d2, 0xb71a, 0xb71a, 0xb71a, 0xaefa, 0xb71a, 0xaf1a, 0xaefa, 0xa598, 0x8191, 0x9191, 0xc9b3, 0xc9b3, 0xc9d3, 0xc9d3, 0xc9b2, 0xc9b3, 0xc9d3, 0xbc76, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0x9c55, 0x8191, 0xa9b2, 0xc9d3, 0xc9d3, 0xc9b3, 0xc9b2, 0xc9b3, 0xc9d3, 0xc9d3, 0xb5b8, 0xb71a, 0xaf1a, 0xb71a, 0xb6fa, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0xb6fa, 0xaf1a, 0x9c56, 0x8191, 0xa992, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xa3b5, 0x8191, 0x9992, 0xc9b2, 0xc9b3, 0xc9d2, 0xc9b2, 0xc9b3, 0xc9b2, 0xc9b3, 0xc9d3, 0xca13, 0xbdb8, 0xaefa, 0xaf1a, 0xb71a, 0xb6fa, 0xaefa, 0xaf19, 0xa4f7, 0x8991, 0xb1b2, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9d2, 0xc9b3, 0xc9b3, 0xc314, 0xaf1a, 0xaf1a, 0xaef9, 0xaf1a, 0xaf1a, 0x89f1, 0x8191, 0xc1b2, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b2, 0xc9b2, 0xc9d3, 0xc9b3, 0xcab4, 0xb6b9, 0xaf1a, 0xb71a, 0xaefa, 0xb71a, 0xb6b9, 0x8a93, 0x8991, 0xc1d2, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b2, 0xc9d3, 0xc9b2, 0xa992, 0x8191, 0xa9b2, 0xc9d3, 0xc9b3, 0xc9d3, 0xc9b2, 0xc9b2, 0xc9b2, 0xc9b3, 0xb5b8, 0xaf1a, 0xaefa, 0xaf1a, 0xb71a, 0x9c56, 0x8191, 0xa992, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xb5b8, 0xb6fa, 0xaf1a, 0xaf1a, 0xb6fa, 0x89f2, 0x8191, 0xc1b2, 0xc9b3, 0xc9b2, 0xc9d3, 0xc9b3, 0xc9b3, 0xc9b2, 0xc9d3, 0xcab4, 0xb6b9, 0xaf1a, 0xb71a, 0xb71a, 0xb6fa, 0xb71a, 0x92f3, 0x89b1, 0xc1b2, 0xc9d3, 0xc9b3, 0xc9b3, 0xc9d3, 0xc9d3, 0xc9b3, 0xc9d3, 0xc315, 0xb71a, 0xb71a, 0xb71a, 0xbdd9, 0xc132, 0xc0d1, 0xc8d1, 0xc8d1, 0xc8d1, 0xc8d1, 0xc0d1, 0xc0d1, + 0xc0b1, 0xc8b1, 0xc0b1, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xa4b5, 0x8191, 0xa1b2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xd1f3, 0xc496, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xa455, 0x8191, 0xa9d2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xbdd8, 0xbf19, 0xbf19, 0xbf19, 0xbf39, 0xbf19, 0xbf19, 0xbf39, 0xbf19, 0xbf39, 0xbf39, 0xa455, 0x8191, 0xa9d2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0x99f2, 0x8991, 0xb1d2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f2, 0xc577, 0xbf19, 0xbf39, 0xbf39, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0x9bf5, 0x8191, 0xb1d2, 0xc9f3, 0xc9f3, 0xd1f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xbe78, 0xbf19, 0xbf19, 0xbf19, 0xb6b9, 0x8191, 0x8991, 0xc9f3, 0xc9f3, 0xc9f2, 0xc9f3, 0xc9f3, 0xc9d3, 0xc9f3, 0xc9f3, 0xbed8, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf39, 0xad57, 0x8191, 0x99b2, 0xc9f3, 0xc9f2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xb9d3, 0x8191, 0xa9b2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xbdd8, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0x9c75, 0x8191, 0xa9d2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xbdd8, 0xbf19, 0xbf19, 0xbf19, 0xb6b8, 0x8191, 0x8191, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xbe78, 0xbf19, 0xbf39, 0xbf19, 0xbf39, 0xbf19, 0xbf19, 0xadb7, 0x8191, 0x91b1, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc71a, 0xbf1a, 0xc73a, 0xbf3a, 0xc659, 0xc9d3, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, + 0xc0b1, 0xc0b1, 0xc0b1, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xa475, 0x8991, 0xa9d2, 0xca13, 0xca33, 0xca33, 0xca34, 0xca13, 0xca33, 0xca33, 0xccb6, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xa455, 0x8191, 0xa9d2, 0xca33, 0xca33, 0xca13, 0xca33, 0xca33, 0xca33, 0xd213, 0xc5f7, 0xc738, 0xc738, 0xc738, 0xc738, 0xc739, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xa475, 0x8191, 0xa9d2, 0xca13, 0xca33, 0xca33, 0xca33, 0xca33, 0xca13, 0xca33, 0x91b1, 0x8191, 0xca13, 0xca33, 0xca33, 0xca33, 0xca33, 0xca13, 0xca33, 0xca13, 0xc455, 0xc738, 0xc739, 0xc738, 0xc738, 0xc738, 0xc738, 0xc739, 0xc738, 0xc738, 0xc738, 0x8a52, 0x8991, 0xc213, 0xca13, 0xca13, 0xca13, 0xca13, 0xca33, 0xca13, 0xca33, 0xcd56, 0xc738, 0xc738, 0xc739, 0xb5d7, 0x8191, 0x91b1, 0xca13, 0xca13, 0xca13, 0xd233, 0xca33, 0xca33, 0xca33, 0xcb55, 0xcf38, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc739, 0xc738, 0x8191, 0x8191, 0xca13, 0xca13, 0xca13, 0xca33, 0xca13, 0xca33, 0xd233, 0xca13, 0x8191, 0xa9d2, 0xca33, 0xca33, 0xca13, 0xca13, 0xca33, 0xca13, 0xca33, 0xcdf7, 0xc738, 0xc738, 0xc738, 0xc739, 0xa475, 0x8191, 0xa9d2, 0xca13, 0xca33, 0xca33, 0xca33, 0xca33, 0xca13, 0xca33, 0xc5f7, 0xc738, 0xc738, 0xc738, 0xb5d6, 0x8191, 0x99b2, 0xca33, 0xca33, 0xd213, 0xca33, 0xca33, 0xca33, 0xca33, 0xcb74, 0xc739, 0xc738, 0xc738, 0xc738, 0xc738, 0xc739, 0xc738, 0xc738, 0x8ab2, 0x8191, 0xba13, 0xca13, 0xca13, 0xca33, 0xca13, 0xca33, 0xca33, 0xca13, 0xcf39, 0xc739, 0xc759, 0xcf3a, 0xcf39, 0xced9, 0xc9f3, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, + 0xc0b1, 0xc0b1, 0xc0b1, 0xcf57, 0xd758, 0xd758, 0xcf58, 0xd758, 0xcf58, 0xd758, 0xac74, 0x8191, 0xa9f2, 0xca53, 0xd253, 0xca54, 0xca53, 0xca53, 0xca53, 0xca54, 0xccd6, 0xcf58, 0xd758, 0xd758, 0xd758, 0xd758, 0xd758, 0xd758, 0xd758, 0xd758, 0xcf58, 0xac75, 0x8191, 0xa9f2, 0xca53, 0xca53, 0xd253, 0xca53, 0xca53, 0xca53, 0xd254, 0xce17, 0xcf57, 0xd758, 0xcf58, 0xd758, 0xcf58, 0xd758, 0xd758, 0xcf58, 0xd758, 0xcf58, 0xac74, 0x8191, 0xa9f2, 0xca53, 0xca54, 0xd253, 0xca53, 0xca53, 0xca54, 0xca53, 0x99d2, 0x89b1, 0xca53, 0xca53, 0xca53, 0xca53, 0xd253, 0xca53, 0xca53, 0xca54, 0xd6b7, 0xd758, 0xcf58, 0xcf57, 0xcf58, 0xd758, 0xd757, 0xd758, 0xd757, 0xd758, 0xcf58, 0xb535, 0x8191, 0xa1d2, 0xca53, 0xca53, 0xca53, 0xd254, 0xca73, 0xca53, 0xca53, 0xcc95, 0xd758, 0xd758, 0xcf58, 0xbdd6, 0x8191, 0x99d2, 0xca53, 0xca53, 0xca54, 0xca53, 0xca53, 0xd254, 0xca54, 0xd435, 0xd758, 0xd758, 0xcf58, 0xd758, 0xd758, 0xcf57, 0xd738, 0xcf58, 0x9af3, 0x8991, 0xc213, 0xca54, 0xca53, 0xca53, 0xd253, 0xca53, 0xca54, 0xca73, 0x8191, 0xa9f2, 0xca53, 0xd253, 0xd253, 0xca54, 0xd253, 0xca53, 0xca54, 0xce17, 0xcf58, 0xd758, 0xd758, 0xcf58, 0xac74, 0x8191, 0xa9f2, 0xca53, 0xca54, 0xd253, 0xca53, 0xca53, 0xca54, 0xca53, 0xd617, 0xd758, 0xcf58, 0xcf58, 0xbdd6, 0x8191, 0x91b2, 0xca53, 0xd254, 0xca53, 0xca53, 0xca54, 0xd253, 0xd253, 0xccd6, 0xd758, 0xd758, 0xd758, 0xd758, 0xcf57, 0xd757, 0xcf58, 0xd758, 0x9af3, 0x8191, 0xba33, 0xca54, 0xca53, 0xd253, 0xca54, 0xca53, 0xd253, 0xca53, 0xd758, 0xd758, 0xdf59, 0xd779, 0xd759, 0xd759, 0xd6f9, 0xc1f2, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, + 0xc0b1, 0xc0b1, 0xc0b1, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xb494, 0x8191, 0xaa12, 0xca94, 0xca74, 0xca94, 0xca94, 0xca94, 0xca94, 0xd294, 0xd4f5, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xb474, 0x8191, 0xaa12, 0xca94, 0xca94, 0xd294, 0xca94, 0xd294, 0xca94, 0xd294, 0xde36, 0xdf77, 0xdf77, 0xdf57, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xb494, 0x8191, 0xaa12, 0xca94, 0xd294, 0xd294, 0xd294, 0xd294, 0xd294, 0xd294, 0x99d2, 0x91d2, 0xd294, 0xca94, 0xd294, 0xca94, 0xd294, 0xca94, 0xca94, 0xd3d4, 0xdf77, 0xdf77, 0xdf77, 0xdf76, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf57, 0xdf77, 0xdf77, 0x8191, 0x8992, 0xca94, 0xca94, 0xca94, 0xd294, 0xca94, 0xca93, 0xca94, 0xd3d5, 0xdf77, 0xdf77, 0xdf77, 0xc5f5, 0x8191, 0x99d2, 0xca94, 0xca94, 0xd273, 0xca94, 0xd294, 0xca94, 0xd294, 0xd515, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0x9b12, 0x8191, 0xba53, 0xca94, 0xca94, 0xd294, 0xca94, 0xca93, 0xd294, 0xca94, 0x8191, 0xaa12, 0xd294, 0xd294, 0xd294, 0xca94, 0xca94, 0xd294, 0xd294, 0xde36, 0xdf77, 0xdf77, 0xdf57, 0xdf77, 0xb474, 0x8191, 0xaa12, 0xca94, 0xd294, 0xd294, 0xd294, 0xd294, 0xd294, 0xd294, 0xde36, 0xdf77, 0xdf77, 0xdf77, 0xc5f5, 0x8191, 0x99d2, 0xd294, 0xca94, 0xca94, 0xd294, 0xca94, 0xca94, 0xca93, 0xd4f5, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0x9b12, 0x8191, 0xba53, 0xd294, 0xca94, 0xca94, 0xd294, 0xca94, 0xd294, 0xca94, 0xdf78, 0xdf78, 0xdf78, 0xdf78, 0xdf78, 0xdf78, 0xe779, 0xdf19, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, + 0xb8d1, 0xb8d1, 0xc0d1, 0xe776, 0xe796, 0xe797, 0xe797, 0xe796, 0xe796, 0xe796, 0xb494, 0x8191, 0xaa33, 0xd2b4, 0xd2b4, 0xd2b4, 0xcab4, 0xd2d4, 0xd2b4, 0xd2b4, 0xdd35, 0xe776, 0xe796, 0xe796, 0xe796, 0xe796, 0xe796, 0xe796, 0xe796, 0xe796, 0xe796, 0xb474, 0x8191, 0xaa33, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2b4, 0xd2b4, 0xcad4, 0xd2d4, 0xe656, 0xef96, 0xe776, 0xe797, 0xe796, 0xe796, 0xe776, 0xe777, 0xe796, 0xe796, 0xe796, 0xb494, 0x8191, 0xaa33, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0x99d2, 0x99f2, 0xcab4, 0xd2b4, 0xd2d4, 0xd2b4, 0xd2b4, 0xcad4, 0xd2b4, 0xd3f5, 0xe777, 0xe797, 0xef97, 0xe796, 0xe796, 0xe776, 0xe777, 0xe796, 0xe796, 0xe796, 0xe777, 0xef97, 0x8191, 0x8191, 0xd2b4, 0xd2b4, 0xd2d4, 0xd2d4, 0xd2b4, 0xd2b4, 0xcad4, 0xd3d5, 0xe796, 0xe796, 0xe796, 0xce15, 0x8191, 0x99f2, 0xcad4, 0xd2b4, 0xd2d4, 0xd2b4, 0xd2b4, 0xcab4, 0xd2b4, 0xdd35, 0xe777, 0xef76, 0xe796, 0xe797, 0xe797, 0xe776, 0xe796, 0xe776, 0xc534, 0xb494, 0xcc15, 0xd3f5, 0xdbf4, 0xdbf4, 0xdbf5, 0xd3f5, 0xd3f4, 0xcb34, 0x8191, 0xaa32, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2d4, 0xd2b4, 0xcab4, 0xe656, 0xe776, 0xe796, 0xe796, 0xe776, 0xb494, 0x8191, 0xaa33, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xde56, 0xe796, 0xe796, 0xe796, 0xce15, 0x8191, 0x99f2, 0xd2b4, 0xd2b4, 0xd2d4, 0xd2b4, 0xd2d4, 0xcad4, 0xcad4, 0xdd15, 0xe796, 0xe796, 0xe776, 0xe796, 0xef96, 0xe796, 0xe796, 0xe796, 0x9b13, 0x8191, 0xba73, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xe797, 0xef97, 0xef77, 0xef97, 0xef78, 0xef98, 0xef98, 0xef98, 0xc992, 0xb8d1, 0xc0d1, 0xc0b1, + 0xb8d1, 0xb8d1, 0xb8d1, 0xf796, 0xf7b6, 0xf796, 0xf795, 0xf795, 0xf796, 0xefb6, 0xbc93, 0x8191, 0xaa52, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2f5, 0xd2f5, 0xd2f4, 0xdd55, 0xf7b6, 0xf7b6, 0xf7b6, 0xf7b6, 0xf7b6, 0xf7b6, 0xf7b6, 0xf7b6, 0xf7b6, 0xefb6, 0xbc93, 0x8191, 0xaa53, 0xd2f5, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xe675, 0xf796, 0xf795, 0xf796, 0xf796, 0xf796, 0xf7b6, 0xf7b5, 0xf7b5, 0xef96, 0xf796, 0xbc93, 0x8191, 0xaa33, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0x99f2, 0x99f2, 0xd2f5, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2d4, 0xd2f4, 0xd2f4, 0xdc75, 0xf795, 0xf795, 0xf795, 0xf796, 0xf7b5, 0xf796, 0xf796, 0xf796, 0xf796, 0xefb6, 0xf7b5, 0xf796, 0x8191, 0x8991, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xdc15, 0xf796, 0xf796, 0xf796, 0xd615, 0x8191, 0x99f2, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2f4, 0xd2f5, 0xe535, 0xf7b6, 0xf7b5, 0xf796, 0xefb6, 0xf796, 0xf795, 0xf7b6, 0xf796, 0xf7b6, 0xf795, 0xf796, 0xf796, 0xf795, 0xf7b6, 0xf795, 0xf7b6, 0xf796, 0xbc93, 0x8191, 0xaa53, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xee75, 0xf796, 0xf796, 0xf7b5, 0xf796, 0xbc93, 0x8191, 0xaa33, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xee75, 0xf796, 0xf7b5, 0xf795, 0xd634, 0x8191, 0x99f2, 0xd2f4, 0xd2f5, 0xd2f4, 0xd2f5, 0xd2f5, 0xd2f5, 0xd2d4, 0xe555, 0xf796, 0xf7b5, 0xf7b6, 0xf7b6, 0xf795, 0xf7b6, 0xf796, 0xf7b6, 0xa311, 0x8191, 0xba94, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xf796, 0xf796, 0xf797, 0xf797, 0xf797, 0xf7b7, 0xf798, 0xf798, 0xd273, 0xb8d1, 0xb8d1, 0xb8d1, + 0xb8d1, 0xb8d1, 0xb8d1, 0xff94, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb4, 0xffb5, 0xc493, 0x8191, 0xaa53, 0xd315, 0xd335, 0xd335, 0xd335, 0xd334, 0xd315, 0xd335, 0xe575, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xc493, 0x8191, 0xaa53, 0xd335, 0xd335, 0xd314, 0xd315, 0xd335, 0xd335, 0xd335, 0xf675, 0xffb5, 0xffb4, 0xffb5, 0xffb5, 0xffb4, 0xffb4, 0xffb4, 0xffb5, 0xffb5, 0xff95, 0xc493, 0x8191, 0xaa53, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd315, 0xd335, 0x99f2, 0x99f2, 0xd335, 0xd314, 0xd315, 0xd335, 0xd335, 0xd315, 0xd335, 0xdc54, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb4, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb4, 0xffb5, 0x8191, 0x8191, 0xd334, 0xd315, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xdc34, 0xffb4, 0xffb5, 0xffb5, 0xde34, 0x8191, 0x99f2, 0xd314, 0xd335, 0xd315, 0xd334, 0xd334, 0xd335, 0xd335, 0xe574, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb4, 0xffb4, 0xffb5, 0xffb4, 0xffb5, 0xffb5, 0xffb5, 0xffb4, 0xffb5, 0xffb5, 0xc4b3, 0x8191, 0xaa53, 0xd335, 0xd335, 0xd314, 0xd315, 0xd335, 0xd335, 0xd335, 0xedf5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xc493, 0x8191, 0xaa53, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd315, 0xd335, 0xf694, 0xffb5, 0xffb5, 0xffb5, 0xde14, 0x8191, 0x99f2, 0xd335, 0xd335, 0xd314, 0xd334, 0xd314, 0xd334, 0xd315, 0xe555, 0xffb5, 0xffb5, 0xffb5, 0xffb4, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xa332, 0x8191, 0xbab4, 0xd335, 0xd335, 0xd335, 0xd315, 0xd334, 0xd335, 0xd335, 0xffb5, 0xffb6, 0xffb6, 0xffb6, 0xffb6, 0xffb6, 0xffb7, 0xffb8, 0xdbd4, 0xb8d2, 0xb8d1, 0xb8d1, + 0xb8d1, 0xb8d1, 0xb8d1, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe4e, 0xfe4e, 0xc3f0, 0x8191, 0xaa73, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xecd1, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xc3ef, 0x8191, 0xaa73, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd354, 0xf590, 0xfe4e, 0xfe4e, 0xfe2e, 0xfe2e, 0xfe4e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xc3ef, 0x8191, 0xaa73, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0x9a12, 0x91f2, 0xd355, 0xd354, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xdbd4, 0xfe4e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe4e, 0xfe2e, 0xfe4e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe4e, 0x8191, 0x8191, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xdc13, 0xfe4e, 0xfe2e, 0xfe2e, 0xe50f, 0x8191, 0x99f2, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd354, 0xecd1, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe4e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe4e, 0xfe4e, 0xfe2e, 0xfe2e, 0xc3cf, 0x8191, 0xaa73, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xe4d1, 0xfe4e, 0xfe2e, 0xfe2e, 0xfe4e, 0xc3d0, 0x8191, 0xaa73, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xf590, 0xfe4e, 0xfe2e, 0xfe2e, 0xe50f, 0x8191, 0x9a12, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xecd2, 0xfe2e, 0xfe4e, 0xfe2e, 0xfe4e, 0xfe4e, 0xfe4e, 0xfe4d, 0xfe2f, 0xa2b0, 0x8191, 0xc2f4, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xfe2f, 0xfe50, 0xfe50, 0xfe50, 0xfe51, 0xfe51, 0xfe52, 0xfe52, 0xe3d2, 0xb8d2, 0xb8d1, 0xb8d1, + 0xb8d1, 0xb0d1, 0xb0d2, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc6d, 0xc30f, 0x81b1, 0xaa73, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd375, 0xec11, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc8d, 0xc30f, 0x8191, 0xaa93, 0xd375, 0xd375, 0xd395, 0xd395, 0xd375, 0xd395, 0xd396, 0xf42f, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc8d, 0xc30f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd395, 0x9a12, 0x8191, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xf44f, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc8d, 0xfc6d, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd396, 0xdbd3, 0xfc8d, 0xfc6d, 0xfc6d, 0xe3ce, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd376, 0xd395, 0xd395, 0xd395, 0xec11, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc6d, 0xfc8d, 0xc30f, 0x8191, 0xaa93, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xebf1, 0xfc8d, 0xfc6d, 0xfc8d, 0xfc6d, 0xc30f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd395, 0xf42f, 0xfc6d, 0xfc6d, 0xfc8d, 0xe3ce, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd375, 0xd395, 0xd376, 0xd395, 0xd395, 0xebf1, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc8d, 0xa250, 0x8191, 0xc314, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xfc8e, 0xfc8f, 0xfc8f, 0xfc8f, 0xfcb0, 0xfcb0, 0xfcb1, 0xfcb1, 0xf3b2, 0xb8d1, 0xb0f1, 0xb8d1, + 0xb0f1, 0xb0f1, 0xb0d1, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xc30f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec11, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xc30f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf44f, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xc30f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x9a12, 0x8191, 0xc334, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdbb4, 0xfc8e, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xdbd3, 0xfc8d, 0xfc8d, 0xfc8d, 0xe3ce, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec11, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xcb2f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xec11, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xc30f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf44f, 0xfc8d, 0xfc8d, 0xfc8d, 0xcb6f, 0x8191, 0x9a32, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec11, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xa250, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfc8e, 0xfc8f, 0xfcaf, 0xfcaf, 0xfcb0, 0xfcb0, 0xfcb0, 0xfcb2, 0xf451, 0xb0d1, 0xb0d1, 0xb0d1, + 0xb0f1, 0xb0f1, 0xb0d1, 0xfcad, 0xfccd, 0xfcad, 0xfcad, 0xfccd, 0xfccd, 0xfccd, 0xcb4e, 0x8191, 0xaa73, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec31, 0xfcad, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xc32f, 0x8991, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf46f, 0xfccd, 0xfccd, 0xfccd, 0xfcad, 0xfccd, 0xfccd, 0xfccd, 0xfcad, 0xfcad, 0xfcad, 0xc32f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xbb11, 0x8191, 0xaa73, 0xd396, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xdbb4, 0xfcae, 0xfcad, 0xfccd, 0xfcad, 0xfccd, 0xfcad, 0xfccd, 0xfccd, 0xfcad, 0xfcad, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xdbd3, 0xfcad, 0xfccd, 0xfccd, 0xdbee, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec31, 0xfccd, 0xfcad, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfcad, 0xfccd, 0xfcad, 0xfccd, 0xdbee, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdbd3, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xc32f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf46f, 0xfcad, 0xfccd, 0xfccd, 0xc32f, 0x8991, 0xaa94, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec31, 0xfccd, 0xfccd, 0xfcad, 0xfccd, 0xfcad, 0xfcad, 0xfcad, 0xfcad, 0xa270, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfcce, 0xfccf, 0xfccf, 0xfcef, 0xfcd0, 0xfcf0, 0xfcf1, 0xfcf1, 0xfcf2, 0xb0f1, 0xb0f1, 0xb0f2, + 0xb0f1, 0xa8f1, 0xb0f1, 0xfd0d, 0xfced, 0xfced, 0xfced, 0xfd0d, 0xfced, 0xfd0d, 0xe42e, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec51, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xc34f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf48f, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xc32f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec6f, 0x91d1, 0x89d1, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xdbb4, 0xec70, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfd0d, 0xfced, 0xfced, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdbf3, 0xfced, 0xfced, 0xfced, 0xe42e, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec51, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfd0d, 0xfced, 0xec6e, 0x8191, 0x91f2, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd376, 0xd395, 0xd395, 0xf4af, 0xfd0d, 0xfced, 0xfd0d, 0xc34f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf48f, 0xfced, 0xfced, 0xfced, 0xc34f, 0x8191, 0xaa93, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec51, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xa270, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfd0e, 0xfd0f, 0xfd0f, 0xfd0f, 0xfd10, 0xfd10, 0xfd31, 0xfd31, 0xfd32, 0xb0f1, 0xb0f1, 0xb0f1, + 0xb0f1, 0xa8f1, 0xb0f1, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xe44e, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec71, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xc34f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf4cf, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xc34f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf4cf, 0xc34f, 0x8191, 0xb2d4, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdbd4, 0xe431, 0xec71, 0xec71, 0xdbf0, 0xe450, 0xf4cf, 0xfd0e, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdbd4, 0xf4af, 0xf4cf, 0xf4af, 0xdc10, 0x9a12, 0xaa73, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec71, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2c, 0xfd2c, 0x9211, 0x8191, 0xd375, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec71, 0xfcee, 0xfd2d, 0xc36f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdc10, 0xe44e, 0xdc2e, 0xe44e, 0xb2f0, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec71, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xa270, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfd2e, 0xfd2f, 0xfd2f, 0xfd4f, 0xfd50, 0xfd50, 0xfd51, 0xfd51, 0xfd71, 0xa8f1, 0xb0f1, 0xb0f2, + 0xa8f1, 0xa8f1, 0xa8f2, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd4d, 0xfd6d, 0xfd6d, 0xe46e, 0x8191, 0x9212, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec71, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xc36f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf4ef, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xc36f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf4ef, 0xfd2d, 0x9211, 0x89b2, 0xcb75, 0xd396, 0xd375, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec91, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xcb95, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec71, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd4d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xbb2f, 0x8191, 0xb2d4, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xc314, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec71, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xa290, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfd6e, 0xfd6f, 0xfd6f, 0xfd8f, 0xfd90, 0xfd90, 0xfd91, 0xfd91, 0xfd92, 0xa8f1, 0xa8f1, 0xa8f1, + 0xa8f1, 0xa8f1, 0xa8f1, 0xec6f, 0xfd8d, 0xfdad, 0xfd8d, 0xfdad, 0xfdad, 0xfdad, 0xe48e, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec91, 0xfdad, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xc38f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf52f, 0xfdad, 0xfd8d, 0xfdad, 0xfd8d, 0xfd8d, 0xfdad, 0xfd8d, 0xfd8d, 0xfdad, 0xfdad, 0xc38f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf52f, 0xfd8d, 0xe4ae, 0x8991, 0x9a32, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xe491, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec91, 0xfdad, 0xfdad, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfdad, 0xfdad, 0xfd8d, 0xfd8d, 0xfdad, 0xfdad, 0xfd8d, 0xfdad, 0xf52d, 0x8191, 0x91f2, 0xd395, 0xd395, 0xd395, 0xd395, 0xd376, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xc314, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec91, 0xfd8d, 0xfd8d, 0xfdad, 0xfdad, 0xfdad, 0xfdad, 0xfdad, 0xfd8d, 0xa290, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfdaf, 0xfdaf, 0xfdad, 0xfdad, 0xfdad, 0xfd8d, 0xfdad, 0xfd8d, 0xec6f, 0xa8f1, 0xa8f1, 0xa8f1, + 0xa911, 0xa911, 0xa911, 0xec8e, 0xfded, 0xfded, 0xfdcd, 0xfdcd, 0xfdcd, 0xfded, 0xe4ce, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecb1, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xc3af, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf54f, 0xfdcd, 0xfdcd, 0xfded, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfded, 0xfdcd, 0xc3af, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf54f, 0xfded, 0xfdcd, 0xd44f, 0x8191, 0xb2b3, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xecb1, 0x8991, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecb1, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xbb6f, 0x8191, 0xbaf4, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xc314, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecb1, 0xfded, 0xfded, 0xfdcd, 0xfdcd, 0xfded, 0xfded, 0xfded, 0xfded, 0xa2b0, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xfdee, 0xfdef, 0xfded, 0xfdcd, 0xfdcd, 0xfdcd, 0xfded, 0xfded, 0xec8e, 0xa911, 0xa911, 0xa911, + 0xa911, 0xa911, 0xa111, 0xe42e, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xe4ee, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecd1, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xc3cf, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf56f, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xc3cf, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf56f, 0xfe0d, 0xfe0d, 0xfe0d, 0xd44f, 0x8191, 0xbad3, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd376, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xecd1, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecd1, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xf5ad, 0x9a70, 0x89b1, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xc314, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecd1, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0e, 0xfe0d, 0xfe0e, 0xfe0e, 0xfe0e, 0xa2b0, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfe0f, 0xfe0f, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xe42e, 0xa111, 0xa911, 0xa911, + 0x80f0, 0xa111, 0xa111, 0xc2b0, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xe50e, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecf1, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xc3ef, 0x8991, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xf58f, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xc3ef, 0x8191, 0xaa93, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf58f, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xe50e, 0x89d1, 0xa253, 0xcb75, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd376, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecf1, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecf1, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xf60e, 0x9a70, 0x91f2, 0xcb75, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xc314, 0x8191, 0xaa93, 0xd395, 0xd396, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecf2, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4e, 0xfe4d, 0xfe4e, 0xfe4d, 0xfe4e, 0xa2d0, 0x8191, 0xc314, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfe4e, 0xfe4f, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xc2b0, 0xa111, 0xa111, 0x80f0, + 0x60ef, 0xa111, 0xa111, 0xa112, 0xfe2d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xe54e, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xed11, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe8d, 0xc40f, 0x8191, 0xaa93, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xf5cf, 0xfe6d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe6d, 0xc40f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf5ce, 0xfe6d, 0xfe6d, 0xfe8d, 0xfe6c, 0xfe8d, 0xf62d, 0xc40f, 0x9a12, 0xb2d4, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecf1, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xed11, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe8d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6c, 0xfe8d, 0xfe6d, 0xfe2d, 0xbbcf, 0x89b1, 0xbaf4, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd396, 0xc314, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xed12, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xa2d0, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfe8f, 0xfe8f, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe2d, 0xa112, 0xa111, 0xa111, 0x60ef, + 0x28cd, 0xa111, 0xa111, 0xa111, 0xcbcf, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xf5ed, 0x89d1, 0x91d2, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xed11, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xc42f, 0x81b1, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf5ef, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfecc, 0xfead, 0xc42f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xf5ef, 0xfead, 0xfeac, 0xfead, 0xfead, 0xfeac, 0xfead, 0xfead, 0xf64d, 0xd4ce, 0xbbd0, 0xc3b2, 0xc314, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xed12, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xed31, 0xfeac, 0xfeac, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xee0d, 0xcc6f, 0xbb51, 0xbad4, 0xcb55, 0xd395, 0xd395, 0xd395, 0xd395, 0xc334, 0x8191, 0xb294, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xed11, 0xfeae, 0xfece, 0xfead, 0xfeae, 0xfead, 0xfece, 0xfeae, 0xfeae, 0xa2f0, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdc34, 0xfeaf, 0xfed0, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xcbcf, 0xa111, 0xa111, 0xa111, 0x28cd, + 0x18ad, 0x8110, 0x9911, 0xa111, 0xa171, 0xf5ed, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfeac, 0xfe6d, 0xf5cf, 0xf5ef, 0xf5cf, 0xf5cf, 0xf5ef, 0xf5cf, 0xfe4d, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfe4e, 0xf5ef, 0xf5ef, 0xf5cf, 0xf5ee, 0xf5ef, 0xf5ef, 0xf5ef, 0xfe8d, 0xfeac, 0xfeac, 0xfeac, 0xfeac, 0xfead, 0xfe8d, 0xfead, 0xfead, 0xfead, 0xfeac, 0xfeac, 0xfead, 0xf64d, 0xf5ef, 0xf5cf, 0xf5ef, 0xf5cf, 0xf5ef, 0xf5ef, 0xf5ef, 0xfe6e, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfeac, 0xfeac, 0xfead, 0xfead, 0xfead, 0xfead, 0xfeac, 0xfead, 0xfead, 0xf60e, 0xf5ef, 0xf5cf, 0xf5ef, 0xf5ef, 0xf5cf, 0xf64e, 0xfeac, 0xfead, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5cf, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5cf, 0xfe4d, 0xfeac, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfeac, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfeac, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfe6d, 0xf5ef, 0xf5ef, 0xf5cf, 0xf5cf, 0xfead, 0xf62e, 0xf5ef, 0xf5d0, 0xf5ef, 0xf5cf, 0xf5f0, 0xf5f0, 0xf5ef, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5ef, 0xf5f0, 0xfe4f, 0xfece, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeaf, 0xf610, 0xf5d0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf610, 0xfeaf, 0xfeaf, 0xfeaf, 0xfead, 0xfead, 0xfead, 0xfead, 0xf5ed, 0xa171, 0xa111, 0x9911, 0x8110, 0x18ad, + 0x20ac, 0x38ce, 0x9931, 0x9931, 0x9931, 0xaa31, 0xfe2d, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfead, 0xfe8c, 0xfeac, 0xfeac, 0xfe8c, 0xfe8c, 0xfeac, 0xfead, 0xfe8d, 0xfe8c, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfe8c, 0xfe8c, 0xfeac, 0xfeac, 0xfead, 0xfe8c, 0xfead, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8c, 0xfead, 0xfe8c, 0xfe8c, 0xfead, 0xfead, 0xfeac, 0xfeac, 0xfe8c, 0xfe8c, 0xfeac, 0xfe8c, 0xfeac, 0xfead, 0xfead, 0xfe8d, 0xfe8c, 0xfead, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8d, 0xfeac, 0xfe8c, 0xfeac, 0xfe8d, 0xfead, 0xfead, 0xfe8c, 0xfeac, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8c, 0xfeac, 0xfe8d, 0xfe8c, 0xfead, 0xfead, 0xfe8c, 0xfe8c, 0xfe8c, 0xfead, 0xfe8c, 0xfeac, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfe8c, 0xfeac, 0xfe8d, 0xfeac, 0xfead, 0xfead, 0xfe8c, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfeac, 0xfe8c, 0xfead, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfead, 0xfead, 0xfead, 0xfe8d, 0xfead, 0xfead, 0xfead, 0xfead, 0xfe8d, 0xfe8e, 0xfead, 0xfeae, 0xfeae, 0xfead, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfe8e, 0xfe8e, 0xfeae, 0xfeae, 0xfeae, 0xfe8e, 0xfeae, 0xfeae, 0xfeae, 0xfe8e, 0xfe8e, 0xfeae, 0xfeaf, 0xfeae, 0xfeae, 0xfeaf, 0xfe8e, 0xfeaf, 0xfeaf, 0xfeaf, 0xfeaf, 0xfeaf, 0xfe8f, 0xfeb0, 0xfeaf, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe2d, 0xaa31, 0x9931, 0x9931, 0x9931, 0x38ce, 0x20ac, + 0x20ad, 0x20ac, 0x60ef, 0x9912, 0x9931, 0x9931, 0xb270, 0xf62d, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe6d, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8e, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8f, 0xfe8e, 0xfe8e, 0xfe8f, 0xfe8f, 0xfe8e, 0xfe8f, 0xfe8f, 0xfe8e, 0xfe8f, 0xfe8e, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe90, 0xfe90, 0xfeb0, 0xfe8c, 0xfe8c, 0xf62d, 0xb270, 0x9931, 0x9931, 0x9912, 0x60ef, 0x20ac, 0x20ad, + 0x18ac, 0x20ac, 0x28ad, 0x8110, 0x9931, 0x9931, 0x9911, 0xaa31, 0xf5cd, 0xfe8c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe8c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe8c, 0xfe6d, 0xfe6d, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6c, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe8e, 0xfe8d, 0xfe8d, 0xfe6e, 0xfe8d, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe8f, 0xfe8f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe8f, 0xfe6f, 0xfe6f, 0xfe8f, 0xfe8f, 0xfe6f, 0xfe6f, 0xfe8f, 0xfe6f, 0xfe6f, 0xfe8f, 0xfe8f, 0xfe6f, 0xfe8f, 0xfe8f, 0xfe6f, 0xfe90, 0xfe8f, 0xfe8f, 0xfe90, 0xfe90, 0xfe8c, 0xf5cd, 0xaa31, 0x9911, 0x9931, 0x9931, 0x8110, 0x28ad, 0x20ac, 0x18ac, + 0x20ac, 0x20ac, 0x18ac, 0x28ad, 0x9111, 0x9931, 0x9931, 0x9931, 0xa171, 0xcbcf, 0xf60d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6c, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6c, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6c, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6e, 0xfe6e, 0xfe4e, 0xfe6d, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6f, 0xfe6e, 0xfe6e, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe70, 0xfe70, 0xfe6f, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe90, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe71, 0xfe71, 0xfe71, 0xe471, 0xcbcf, 0xa171, 0x9931, 0x9931, 0x9931, 0x9111, 0x28ad, 0x18ac, 0x20ac, 0x20ac, + 0x18ac, 0x18ac, 0x18ac, 0x20ac, 0x28cd, 0x8111, 0x9931, 0x9912, 0x9931, 0x9931, 0x9911, 0xbab0, 0xdc6f, 0xe50f, 0xe50e, 0xfe4e, 0xfe6e, 0xfe4e, 0xfe6d, 0xfe4e, 0xfe4e, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4e, 0xfe4e, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4e, 0xfe4e, 0xfe4e, 0xfe4e, 0xfe6e, 0xfe6e, 0xfe4e, 0xfe4e, 0xfe4e, 0xfe6e, 0xfe6e, 0xfe4e, 0xfe6f, 0xfe6e, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe4f, 0xfe6f, 0xfe70, 0xfe50, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xf612, 0xe531, 0xe512, 0xd472, 0xb271, 0x9931, 0x9931, 0x9931, 0x9912, 0x9931, 0x8111, 0x28cd, 0x20ac, 0x18ac, 0x18ac, 0x18ac, + 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x28cc, 0x610f, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9932, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9911, 0x9931, 0x9931, 0x9911, 0x9911, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9911, 0x9931, 0x9932, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9931, 0x9911, 0x610f, 0x28cc, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, + 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x40ce, 0x7910, 0x9931, 0x9931, 0x9932, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x7910, 0x40ce, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x18ac, + 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ab, 0x30cc, 0x58cf, 0x7910, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9911, 0x9931, 0x9911, 0x9932, 0x9931, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9931, 0x9932, 0x9911, 0x9931, 0x9911, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x7910, 0x58cf, 0x30cc, 0x18ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac +}; + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/images/bootscreen_228x255x2.cpp b/Marlin/src/lcd/tft/images/bootscreen_228x255x2.cpp new file mode 100644 index 000000000000..452f47246920 --- /dev/null +++ b/Marlin/src/lcd/tft/images/bootscreen_228x255x2.cpp @@ -0,0 +1,285 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../inc/MarlinConfigPre.h" + +#if HAS_GRAPHICAL_TFT + +extern const uint8_t marlin_logo_228x255x2[14535] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x1b, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xfe, 0x90, 0x00, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x02, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x2f, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x01, 0xff, 0xff, 0xf9, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0b, 0xff, 0xff, 0x80, 0x02, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x5a, 0xff, 0xff, 0xff, 0xff, 0xaf, 0xff, 0xf8, 0x00, 0x6f, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xaa, 0x50, 0x1b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd0, 0x07, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x1f, 0xff, 0xff, 0xf9, 0xbd, 0x00, 0xbf, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa0, 0xbf, 0xff, 0xff, 0x00, 0x0b, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x46, 0xff, 0xff, 0xd0, 0x3f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x2f, 0xff, 0xf8, 0x06, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd1, 0xff, 0xfc, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x2f, 0xff, 0x1f, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd3, 0xff, 0xc2, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x7f, 0xf0, 0x2f, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0xfc, 0x07, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xe5, 0x55, 0x55, 0x56, 0xaa, 0xff, 0xff, 0xff, 0xff, 0xf2, 0xff, 0x40, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xbf, 0xff, 0xff, 0xfd, 0xbf, 0xc0, 0x2f, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x6f, 0xff, 0xff, 0xdf, 0xe0, 0x0b, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xbf, 0xff, 0xf7, 0xf8, 0x02, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xfd, 0xfd, 0x00, 0xbf, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xff, 0x7f, 0x00, 0x1f, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xf9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdf, 0x80, 0x07, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xfe, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xf7, 0xd0, 0x01, 0xff, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xfe, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xfd, 0xf0, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x7c, 0x00, 0x1f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xed, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaf, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x80, 0x00, 0xbf, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5a, 0x87, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xc0, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xf9, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x0f, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xfe, 0x40, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x07, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xbf, 0xe0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x7f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xbf, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x2f, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xbf, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x0f, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x6b, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x0b, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5a, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xfe, 0xaa, 0xa9, 0x55, 0x55, 0x40, 0x55, 0x56, 0xab, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xd0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xaa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xf0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x5a, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x90, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xf4, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x6a, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x40, 0x00, 0x00, 0x7f, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x0b, 0xff, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0xab, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x00, 0x00, 0xbf, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x00, 0x07, 0xff, 0xfd, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x6a, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x7f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xc0, 0x00, 0x03, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xbf, 0xff, 0xff, 0xfe, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x02, 0xc0, 0x00, 0x01, 0xff, 0xff, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xbf, 0xff, 0xff, 0xe0, 0x2f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0x00, 0x00, 0x00, 0x02, 0xe0, 0x00, 0x00, 0xff, 0xff, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xbf, 0xff, 0xfe, 0x0b, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x00, 0x00, 0x00, 0x03, 0xf0, 0x00, 0x00, 0xbf, 0xff, 0xd0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xd0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x80, 0x00, 0x00, 0x03, 0xf4, 0x00, 0x00, 0x3f, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x2f, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe0, 0x00, 0x00, 0x02, 0xf8, 0x00, 0x00, 0x2f, 0xff, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x80, 0x01, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x1f, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbe, 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x00, 0x0f, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xf8, 0x00, 0x00, 0x01, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0x40, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x0b, 0xff, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xd0, 0x00, 0x00, 0x00, 0x2f, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xd0, 0x00, 0x00, 0xbf, 0x00, 0x00, 0x07, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0x40, 0x00, 0x00, 0x00, 0x02, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xf0, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x03, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xfd, 0x00, 0x05, 0xab, 0xff, 0xe4, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xfc, 0x00, 0x00, 0x3f, 0x40, 0x00, 0x02, 0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xfd, 0x6b, 0xff, 0xff, 0xe4, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x3f, 0x80, 0x00, 0x02, 0xff, 0xff, 0x40, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xe4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x40, 0x00, 0x2f, 0xc0, 0x00, 0x00, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xe4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc0, 0x00, 0x2f, 0xc0, 0x00, 0x00, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xe0, 0x00, 0x0f, 0xc0, 0x00, 0x00, 0xbf, 0xff, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xfe, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xf0, 0x00, 0x0f, 0xd0, 0x00, 0x00, 0xbf, 0xff, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xf8, 0x00, 0x0b, 0xe0, 0x00, 0x00, 0x7f, 0xff, 0xd0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xfd, 0x00, 0x06, 0xff, 0xff, 0xaa, 0xa5, 0x40, 0x00, 0x05, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xfc, 0x00, 0x0b, 0xe0, 0x00, 0x00, 0x3f, 0xff, 0xd0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xd0, 0x00, 0x2b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xfe, 0x00, 0x0b, 0xe0, 0x00, 0x00, 0x3f, 0xff, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xfd, 0x00, 0x00, 0x00, 0x1a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x6a, 0x81, 0x6a, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x00, 0x07, 0xf0, 0x00, 0x00, 0x2f, 0xff, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd2, 0xff, 0xd1, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x15, 0x69, 0x55, 0x00, 0x00, 0x02, 0xff, 0x80, 0x03, 0xf0, 0x00, 0x00, 0x2f, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x07, 0xff, 0xd0, 0xbf, 0xf8, 0x00, 0x00, 0x16, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xa4, 0x01, 0xff, 0xc0, 0x02, 0xf0, 0x00, 0x00, 0x1f, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5b, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x0b, 0xff, 0xc0, 0x3f, 0xfc, 0x00, 0x1b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe5, 0xff, 0xd0, 0x02, 0xf4, 0x00, 0x00, 0x0f, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xff, 0xff, 0xfe, 0x40, 0x0f, 0xff, 0x80, 0x3f, 0xfd, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x01, 0xf4, 0x00, 0x00, 0x0f, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5a, 0xbe, 0x90, 0x00, 0x2f, 0xff, 0x80, 0x7f, 0xfd, 0x0a, 0xab, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0xf8, 0x00, 0x00, 0x0f, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0xbf, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x16, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x00, 0xf8, 0x00, 0x00, 0x0b, 0xff, 0xf4, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x00, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x78, 0x00, 0x00, 0x0b, 0xff, 0xf4, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x3c, 0x00, 0x00, 0x07, 0xff, 0xf4, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xfd, 0x02, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfc, 0x00, 0x3c, 0x00, 0x00, 0x07, 0xff, 0xf4, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xfc, 0x02, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xff, 0xfc, 0x00, 0x2c, 0x00, 0x00, 0x03, 0xff, 0xf4, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x6f, 0xff, 0xfc, 0x07, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xfd, 0x00, 0x1c, 0x00, 0x00, 0x03, 0xff, 0xf4, 0x00, + 0x00, 0x00, 0x05, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xbf, 0xff, 0xff, 0xfe, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x0c, 0x00, 0x00, 0x03, 0xff, 0xf4, 0x00, + 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x08, 0x00, 0x00, 0x03, 0xff, 0xf4, 0x00, + 0x00, 0x0b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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, 0x04, 0x00, 0x00, 0x02, 0xff, 0xf4, 0x00, + 0x00, 0x7f, 0xfe, 0xaa, 0xaa, 0xaa, 0xaa, 0xa5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x6a, 0xaa, 0xaa, 0xab, 0xff, 0xff, 0xfa, 0x55, 0x55, 0x55, 0x55, 0x5a, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xf4, 0x00, + 0x01, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xf4, 0x00, + 0x07, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xf0, 0x00, + 0x0f, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xf0, 0x00, + 0x2f, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xf0, 0x00, + 0x7f, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xf0, 0x00, + 0xbf, 0x00, 0x00, 0x00, 0x00, 0x06, 0xaa, 0x90, 0x00, 0x00, 0x01, 0xaa, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xfc, 0x00, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xf0, 0x00, + 0xfe, 0x00, 0x00, 0x00, 0x01, 0xbf, 0xff, 0xfe, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xfc, 0x00, 0x02, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xf0, 0x00, + 0xfc, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xe0, 0x01, 0xff, 0xff, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x07, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xf0, 0x00, + 0xfc, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xfc, 0x0b, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x05, 0x00, 0x00, 0x01, 0xff, 0xe0, 0x00, + 0xfc, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0xbf, 0xc0, 0x00, 0x01, 0xff, 0xe4, 0x00, + 0xfc, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x1f, 0xff, 0xc0, 0x00, 0x01, 0xff, 0xed, 0x00, + 0xfc, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xbf, 0xff, 0xc0, 0x00, 0x01, 0xff, 0xdf, 0x00, + 0xfc, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xea, 0xff, 0xff, 0xff, 0xff, 0xfa, 0xbf, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xc0, 0x00, 0x01, 0xff, 0xdf, 0x80, + 0xfc, 0x00, 0x00, 0x3f, 0xff, 0xf8, 0x00, 0x2f, 0xff, 0xff, 0xfe, 0x00, 0x07, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x01, 0x55, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xc0, 0x00, 0x01, 0xff, 0xef, 0xc0, + 0xfc, 0x00, 0x00, 0x7f, 0xff, 0xd0, 0x00, 0x07, 0xff, 0xff, 0xf4, 0x00, 0x00, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xfc, 0x1f, 0xff, 0xc0, 0x00, 0x01, 0xff, 0xef, 0xd0, + 0xfc, 0x00, 0x00, 0xbf, 0xff, 0x40, 0x00, 0x01, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x7f, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x50, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xf8, 0x0b, 0xff, 0xc0, 0x00, 0x01, 0xff, 0xef, 0xf0, + 0xfc, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x2f, 0xff, 0xc0, 0x00, 0x00, 0x6f, 0xff, 0xf9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xe0, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x06, 0xaa, 0xa0, 0x00, 0x00, 0x00, 0x6f, 0xff, 0xf9, 0x02, 0xff, 0xff, 0xff, 0xf8, 0x07, 0xff, 0xc0, 0x00, 0x01, 0xff, 0xbf, 0xf0, + 0xfc, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x80, 0x00, 0x00, 0x0f, 0xff, 0xd0, 0x00, 0x07, 0xff, 0xff, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xfe, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xd0, 0x7f, 0xff, 0xff, 0xf8, 0x02, 0xff, 0xc0, 0x00, 0x01, 0xff, 0xbf, 0x54, + 0xfc, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x80, 0x00, 0x00, 0x0f, 0xff, 0xd0, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x02, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xf4, 0x1f, 0xff, 0xff, 0xf8, 0x01, 0xff, 0xd0, 0x00, 0x01, 0xff, 0x7f, 0x00, + 0xfc, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x80, 0x00, 0x00, 0x0f, 0xff, 0xe0, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x02, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xfe, 0x07, 0xff, 0xff, 0xf8, 0x00, 0xff, 0xd0, 0x00, 0x01, 0xff, 0x3f, 0x00, + 0xfc, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x7f, 0xff, 0x80, 0x00, 0x00, 0x0f, 0xff, 0xe0, 0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x02, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0xff, 0xff, 0xf8, 0x00, 0xff, 0xd0, 0x00, 0x01, 0xff, 0x3e, 0x00, + 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x0f, 0xff, 0xe0, 0x0b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x02, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x3f, 0xff, 0xf8, 0x00, 0x7f, 0xe0, 0x00, 0x01, 0xfe, 0x3e, 0x00, + 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x00, 0x0f, 0xff, 0xe0, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x02, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x0f, 0xff, 0xf8, 0x00, 0x2f, 0xf0, 0x00, 0x01, 0xfe, 0x7d, 0x00, + 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe0, 0x3f, 0xff, 0xfe, 0x40, 0x7f, 0xff, 0xfd, 0x00, 0x00, 0xbf, 0xff, 0xf4, 0x07, 0xff, 0xff, 0x82, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x1f, 0xff, 0xfe, 0x01, 0xbf, 0xff, 0xf0, 0x03, 0xff, 0xf8, 0x00, 0x2f, 0xf0, 0x00, 0x01, 0xfd, 0x7d, 0x00, + 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe0, 0x7f, 0xff, 0xf4, 0x00, 0x0b, 0xff, 0xfe, 0x00, 0x00, 0xff, 0xff, 0x80, 0x00, 0xbf, 0xff, 0xc2, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x2f, 0xff, 0xf0, 0x00, 0x0f, 0xff, 0xf4, 0x00, 0xbf, 0xf8, 0x00, 0x2f, 0xf4, 0x00, 0x01, 0xfc, 0x7c, 0x00, + 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe0, 0xbf, 0xff, 0xc0, 0x00, 0x02, 0xff, 0xff, 0x00, 0x01, 0xff, 0xfe, 0x00, 0x00, 0x3f, 0xff, 0xc2, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x3f, 0xff, 0xc0, 0x00, 0x0b, 0xff, 0xf8, 0x00, 0x3f, 0xf8, 0x00, 0x1f, 0xf8, 0x00, 0x01, 0xfc, 0x3c, 0x00, + 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe0, 0xff, 0xff, 0x40, 0x00, 0x00, 0xbf, 0xff, 0x40, 0x01, 0xff, 0xfd, 0x00, 0x00, 0x1f, 0xff, 0xd2, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x3f, 0xff, 0x80, 0x00, 0x03, 0xff, 0xf8, 0x00, 0x0f, 0xf8, 0x00, 0x07, 0xfc, 0x00, 0x02, 0xfc, 0x3e, 0x00, + 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe1, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xc0, 0x02, 0xff, 0xfc, 0x00, 0x00, 0x0f, 0xff, 0xd2, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x7f, 0xff, 0x40, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x07, 0xf8, 0x00, 0x02, 0xfc, 0x00, 0x02, 0xf8, 0x1f, 0x00, + 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe2, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xc0, 0x02, 0xff, 0xfc, 0x00, 0x00, 0x0f, 0xff, 0xe2, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x7f, 0xff, 0x40, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0xfe, 0x00, 0x02, 0xf4, 0x0b, 0x80, + 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe2, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x02, 0xff, 0xfc, 0x00, 0x00, 0x0f, 0xff, 0xe2, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x7f, 0x00, 0x03, 0xf4, 0x03, 0xc0, + 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe2, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x02, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x1f, 0x80, 0x03, 0xf0, 0x00, 0xe0, + 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe2, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x02, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x0b, 0xc0, 0x03, 0xf0, 0x00, 0x34, + 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe2, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x02, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x02, 0xe0, 0x03, 0xe0, 0x00, 0x0c, + 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe2, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x02, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x00, 0x74, 0x07, 0xd0, 0x00, 0x00, + 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe1, 0xff, 0xff, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x02, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x00, 0x08, 0x07, 0xc0, 0x00, 0x00, + 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe0, 0xff, 0xff, 0x80, 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x02, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xc0, 0x00, 0x00, + 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe0, 0xbf, 0xff, 0xe0, 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x02, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xfd, 0x00, 0x0b, 0xff, 0xf0, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x80, 0x00, 0x00, + 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe0, 0x7f, 0xff, 0xfd, 0x00, 0x00, 0x1f, 0xff, 0xc0, 0x02, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x40, 0x0b, 0xff, 0xf0, 0x00, 0x7f, 0xff, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x40, 0x00, 0x00, + 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe0, 0x3f, 0xff, 0xff, 0xfa, 0xa8, 0x1f, 0xff, 0xea, 0xab, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe9, 0x0b, 0xff, 0xf5, 0x55, 0xbf, 0xff, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, + 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe0, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0x4b, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, + 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe0, 0x07, 0xff, 0xff, 0xff, 0xfc, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0x4b, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, + 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe0, 0x02, 0xff, 0xff, 0xff, 0xfc, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0x4b, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, + 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe0, 0x00, 0x7f, 0xff, 0xff, 0xfc, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0x4b, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x03, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, + 0xfc, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe0, 0x00, 0x0f, 0xff, 0xff, 0xfc, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0x4b, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x03, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, + 0xfd, 0x00, 0x00, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x40, 0x00, 0x00, 0x0f, 0xff, 0xe0, 0x00, 0x01, 0xbf, 0xff, 0xfc, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0x4b, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x02, 0xff, 0xfc, 0x00, 0x07, 0xf0, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xfe, 0x00, 0x00, 0x6a, 0xa9, 0x00, 0x00, 0x00, 0x2a, 0xaa, 0x40, 0x00, 0x00, 0x0a, 0xaa, 0x90, 0x00, 0x00, 0x06, 0xaa, 0xa8, 0x0a, 0xaa, 0xaa, 0xaa, 0xaa, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x6a, 0x46, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x02, 0xaa, 0xa0, 0x00, 0x0b, 0xf2, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xbf, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xd3, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3f, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc7, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x47, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0b, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xfe, 0x07, 0xd0, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x02, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xf8, 0x07, 0xc0, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, + 0x00, 0xbf, 0xfa, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x56, 0xff, 0xe0, 0x07, 0xc0, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, + 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x07, 0x80, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, + 0x00, 0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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, 0x00, 0x0b, 0x80, 0x00, 0x00, 0x00, 0xb4, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x2b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x40, 0x00, 0x1f, 0x40, 0x00, 0x00, 0x00, 0xb4, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x56, 0xaa, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xaa, 0xab, 0xff, 0x00, 0x00, 0x00, 0x00, 0xb8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xea, 0xa5, 0x55, 0xaa, 0xbf, 0xff, 0xff, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xfa, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5b, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0xbe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xe4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0xbf, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xe8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xbf, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xd0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xf4, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xea, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xfd, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xe8, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x03, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xf9, 0x00, 0x00, 0x00, 0x03, 0xff, 0x40, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xe4, 0x00, 0x00, 0x02, 0xff, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0x00, 0x00, 0x02, 0xff, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xd0, 0x00, 0x01, 0xff, 0xd0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xf8, 0x00, 0x00, 0xff, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0x00, 0x00, 0xbf, 0xf0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xc0, 0x00, 0xbf, 0xf8, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xf0, 0x00, 0x7f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xf8, 0x00, 0x3f, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xfe, 0x00, 0x3f, 0xfe, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0x40, 0x2f, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xc0, 0x1f, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe0, 0x0f, 0xff, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xf4, 0x0f, 0xff, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xfc, 0x0f, 0xff, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xfe, 0x0b, 0xff, 0xd0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0x0b, 0xff, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xcb, 0xff, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xd7, 0xff, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xf7, 0xff, 0xf4, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xf8, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xfc, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xfc, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xfc, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfc, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xfd, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfd, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfe, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xfe, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xfe, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xfe, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xfe, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xfd, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xfd, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xfc, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xfc, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf8, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf4, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xd0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2e, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00 +}; + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/images/bootscreen_228x255x4.cpp b/Marlin/src/lcd/tft/images/bootscreen_228x255x4.cpp new file mode 100644 index 000000000000..c84653f8a5b9 --- /dev/null +++ b/Marlin/src/lcd/tft/images/bootscreen_228x255x4.cpp @@ -0,0 +1,285 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../inc/MarlinConfigPre.h" + +#if HAS_GRAPHICAL_TFT + +extern const uint8_t marlin_logo_228x255x4[29070] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x9e, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xdf, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xef, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d, 0xff, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xaf, 0xff, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xcf, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x57, 0x77, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x8c, 0xef, 0xff, 0xff, 0xff, 0xd8, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x8c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xee, 0xdf, 0xfe, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0x84, 0x32, 0x10, 0x00, 0x46, 0x89, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x28, 0xef, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x83, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x10, 0x00, 0x00, 0x18, 0xef, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd5, 0x00, 0x04, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xb7, 0x10, 0x00, 0x18, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xbe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x01, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xb3, 0x00, 0x00, 0x38, 0xe8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x22, 0x22, 0x11, 0x11, 0x12, 0x35, 0x57, 0x8b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8a, 0xff, 0xff, 0xff, 0xff, 0xb3, 0x00, 0x00, 0x4b, 0xef, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4c, 0xef, 0xff, 0xff, 0xff, 0xed, 0xba, 0x98, 0x64, 0x00, 0x05, 0x8c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xdf, 0xff, 0xff, 0xc5, 0x00, 0x01, 0x6c, 0xff, 0xe6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x97, 0x30, 0x37, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x87, 0x9f, 0xe7, 0x10, 0x01, 0x8d, 0xff, 0xfd, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa8, 0x23, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x30, 0x10, 0x01, 0x8e, 0xff, 0xff, 0xc2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x60, 0x5a, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x0e, 0xff, 0xff, 0xf8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa6, 0x39, 0xff, 0xff, 0xff, 0xff, 0x90, 0x00, 0x7b, 0xfe, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc6, 0x07, 0xff, 0xff, 0xff, 0xf3, 0x88, 0x50, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc6, 0x19, 0xff, 0xff, 0xfe, 0x37, 0xdf, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc6, 0x3c, 0xff, 0xff, 0xe3, 0x08, 0xff, 0xe8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0x7f, 0xff, 0xfe, 0x30, 0x3a, 0xff, 0xf8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3a, 0xff, 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, 0xdf, 0xff, 0xe3, 0x00, 0x7f, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd8, 0x76, 0x54, 0x44, 0x44, 0x55, 0x66, 0x68, 0x89, 0xbb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x2a, 0xff, 0xff, 0x50, 0x03, 0xdf, 0xff, 0xc2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x58, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x8f, 0xff, 0xe0, 0x00, 0x1b, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc5, 0xff, 0xf9, 0x00, 0x00, 0x8f, 0xff, 0xfc, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x9f, 0xff, 0xff, 0xff, 0xfe, 0x6e, 0xff, 0x80, 0x00, 0x08, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7d, 0xff, 0xff, 0xff, 0xf7, 0xcf, 0xf6, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xe3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0xff, 0xff, 0xff, 0x5c, 0xff, 0x20, 0x00, 0x04, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xb6, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0xff, 0xff, 0xf4, 0xdf, 0xb0, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xc8, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0xff, 0xfe, 0x4f, 0xf7, 0x00, 0x00, 0x04, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xeb, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39, 0xff, 0xe6, 0xff, 0x30, 0x00, 0x00, 0x5f, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xc8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4d, 0xfd, 0x6f, 0xd0, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xb3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xca, 0xf5, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xfc, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0xff, 0xb3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x9a, 0xce, 0x00, 0x00, 0x00, 0x09, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xef, 0xc5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x2f, 0x80, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xfb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x57, 0x89, 0x91, 0x7f, 0xe7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xf2, 0x00, 0x00, 0x00, 0x1d, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x6b, 0xef, 0xfe, 0xb7, 0x18, 0xfb, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xca, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x8e, 0xff, 0xea, 0x51, 0x01, 0x8b, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0x40, 0x00, 0x00, 0x00, 0x5f, 0xff, 0xff, 0xff, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x8e, 0xff, 0xe8, 0x20, 0x00, 0x06, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xc0, 0x00, 0x00, 0x00, 0x0a, 0xff, 0xff, 0xff, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0xcf, 0xff, 0xfa, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd5, 0x00, 0x00, 0x00, 0x01, 0xdf, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0xdf, 0xff, 0xfd, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4d, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x8c, 0xff, 0xff, 0xff, 0xb1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x50, 0x00, 0x00, 0x00, 0x0a, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x47, 0x9c, 0xef, 0xff, 0xff, 0xff, 0xe6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xa0, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xfe, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x68, 0x9c, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x57, 0x8b, 0xce, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1d, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xfe, 0xdb, 0xaa, 0x98, 0x88, 0x87, 0x66, 0x55, 0x54, 0x44, 0x43, 0x33, 0x44, 0x55, 0x67, 0x78, 0x89, 0xbc, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xff, 0xff, 0xfe, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x8f, 0xff, 0xff, 0xff, 0xff, 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, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xff, 0xff, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 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, 0xfb, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4c, 0xd8, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x89, 0xbb, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x96, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xff, 0xe3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xff, 0xff, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x56, 0x88, 0x9b, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xef, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x35, 0x68, 0x8b, 0xbd, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdf, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaf, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x23, 0x56, 0x78, 0x9b, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x84, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdf, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x50, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x68, 0x9b, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd8, 0x00, 0x00, 0x00, 0x6f, 0xff, 0xff, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xef, 0xff, 0xf1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x0d, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x20, 0x00, 0x1f, 0xff, 0xff, 0xff, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xef, 0xff, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xf2, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0xae, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x20, 0x08, 0xff, 0xff, 0xf9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8c, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x01, 0xdf, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x8f, 0xfe, 0xb1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xe6, 0x00, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xf9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x88, 0x00, 0x38, 0xff, 0xff, 0xff, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x8e, 0xb1, 0x00, 0x00, 0x07, 0xef, 0xff, 0xff, 0xfc, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xf9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x8e, 0xf8, 0x10, 0x00, 0x00, 0x00, 0x07, 0xdf, 0xff, 0xff, 0xd3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5f, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0xef, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4c, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xfd, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0xef, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xff, 0xf2, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaf, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xdf, 0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3a, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xdf, 0xff, 0xff, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xfe, 0x30, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x8f, 0xff, 0xf7, 0x00, 0x00, 0x13, 0x57, 0x8a, 0xbc, 0xde, 0xff, 0xeb, 0x50, 0x6d, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xff, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0xff, 0xff, 0xc4, 0x58, 0xbc, 0xef, 0xff, 0xff, 0xff, 0xca, 0x63, 0x00, 0x00, 0x00, 0x8f, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdf, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc8, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xff, 0x40, 0x00, 0x00, 0x00, 0x08, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0xff, 0xe1, 0x00, 0x00, 0x00, 0x08, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xef, 0xff, 0xff, 0xff, 0xa0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xef, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x83, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xaf, 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xf9, 0x00, 0x00, 0x00, 0x01, 0xff, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x6e, 0xff, 0xff, 0xff, 0xff, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0xdf, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xf2, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdf, 0xff, 0x90, 0x00, 0x00, 0x00, 0xbf, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5f, 0xff, 0xff, 0xff, 0xf4, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x9f, 0xff, 0xff, 0xff, 0xd7, 0x10, 0x00, 0x01, 0x7b, 0xce, 0xee, 0xee, 0xdd, 0xba, 0x98, 0x88, 0x65, 0x43, 0x32, 0x21, 0x12, 0x33, 0x57, 0xce, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xf2, 0x00, 0x00, 0x00, 0x8f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0xff, 0xff, 0xff, 0xe7, 0x10, 0x00, 0x00, 0x2a, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x8f, 0xfb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0xff, 0xff, 0xff, 0xf9, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xe7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x8b, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x81, 0x78, 0x88, 0x82, 0x04, 0x78, 0x98, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0xff, 0xff, 0x20, 0x00, 0x00, 0x4f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xfb, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x09, 0xff, 0xff, 0xf7, 0x07, 0xff, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x35, 0x77, 0x78, 0x87, 0x65, 0x44, 0x20, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0x80, 0x00, 0x00, 0x0d, 0xff, 0x10, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xfd, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4e, 0xff, 0xfe, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x30, 0x4f, 0xff, 0xff, 0xf5, 0x00, 0x8f, 0xff, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x35, 0x78, 0xcd, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xda, 0x98, 0x52, 0x00, 0x06, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x08, 0xff, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xef, 0xff, 0xc3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x71, 0x00, 0xaf, 0xff, 0xff, 0xe1, 0x00, 0x2f, 0xff, 0xff, 0xf2, 0x00, 0x00, 0x37, 0xbe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x65, 0xff, 0xff, 0xf5, 0x00, 0x00, 0x08, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xff, 0xf9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x71, 0x00, 0x02, 0xef, 0xff, 0xff, 0xb0, 0x00, 0x3f, 0xff, 0xff, 0xf5, 0x00, 0x5c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x00, 0x00, 0x05, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xef, 0xff, 0xff, 0xff, 0x10, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5f, 0xfe, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x89, 0xbc, 0xca, 0x84, 0x10, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0x80, 0x00, 0x7f, 0xff, 0xff, 0xf4, 0x01, 0x89, 0xab, 0xbc, 0xde, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x01, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xff, 0xff, 0xff, 0x30, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xe5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0xff, 0xff, 0xff, 0x40, 0x00, 0x9f, 0xff, 0xff, 0xe2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x22, 0x35, 0x68, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0xdf, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xfc, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0xdf, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x7a, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x6f, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xb1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xfa, 0x00, 0x03, 0xff, 0xff, 0xfe, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x58, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb0, 0x00, 0x00, 0x1f, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5f, 0xff, 0xff, 0xff, 0x50, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaf, 0xff, 0xff, 0xf6, 0x00, 0x08, 0xff, 0xff, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x0d, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xf2, 0x00, 0x0b, 0xff, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x00, 0x00, 0x08, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x23, 0x55, 0x78, 0xcf, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x5f, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3d, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x05, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x88, 0x88, 0x88, 0x89, 0x99, 0x99, 0x99, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xcc, 0xcc, 0xcc, 0xcc, 0xcd, 0xdd, 0xdd, 0xee, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xbc, 0xef, 0xff, 0xff, 0xff, 0xdd, 0xcc, 0xcb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbc, 0xcc, 0xcc, 0xcc, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00, 0x00, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x8c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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, 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xff, 0xff, 0xff, 0x50, 0x00, 0x00, + 0x00, 0x00, 0x01, 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, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xff, 0xff, 0xff, 0x50, 0x00, 0x00, + 0x00, 0x00, 0x4c, 0xff, 0xff, 0xfb, 0xa9, 0x98, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x76, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xa8, 0x77, 0x76, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x77, 0x88, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, + 0x00, 0x06, 0xef, 0xff, 0xe8, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xff, 0xff, 0xff, 0xff, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, + 0x00, 0x6e, 0xff, 0xfb, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0x30, 0x00, 0x00, + 0x03, 0xef, 0xfe, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, + 0x0b, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0xff, 0xff, 0xff, 0xf2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, + 0x5f, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, + 0xaf, 0xfe, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x68, 0x9b, 0xba, 0x85, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x89, 0xba, 0xa9, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x01, 0x48, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0xff, 0xf9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xae, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x20, 0x00, 0x00, 0x00, 0x18, 0xef, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x1a, 0xff, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0xff, 0xfd, 0x00, 0x00, 0x00, + 0xff, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x07, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x5f, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, + 0xff, 0xf2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0x01, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x00, 0x00, 0x01, 0x47, 0x20, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0xff, 0xfb, 0x00, 0x00, 0x00, + 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x3a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x00, 0x02, 0x8d, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0xff, 0xf9, 0x50, 0x00, 0x00, + 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x04, 0xce, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0xff, 0xf8, 0xd6, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x01, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa1, 0x8e, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0xff, 0xf7, 0xfe, 0x20, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xff, 0xff, 0xda, 0xbb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xaa, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xda, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0xff, 0xf7, 0xff, 0x80, 0x00, + 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x1d, 0xff, 0xff, 0xff, 0xff, 0xb3, 0x00, 0x00, 0x38, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x31, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x35, 0x55, 0x55, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xef, 0xff, 0xff, 0xff, 0xf1, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0xff, 0xf8, 0xff, 0xe0, 0x00, + 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xff, 0xff, 0xff, 0xe6, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x70, 0x00, 0x00, 0x00, 0x03, 0xef, 0xff, 0xff, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd0, 0x05, 0xff, 0xff, 0xff, 0xf1, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0xff, 0xfa, 0xff, 0xf6, 0x00, + 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0xaf, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x34, 0x44, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x34, 0x44, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x35, 0x44, 0x20, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb0, 0x00, 0x9f, 0xff, 0xff, 0xf2, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0xff, 0xda, 0xff, 0xfd, 0x00, + 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0xdf, 0xff, 0xff, 0xfd, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xff, 0xff, 0xff, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xff, 0xff, 0xff, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x01, 0x49, 0xef, 0xff, 0xff, 0xff, 0xa4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0xcf, 0xff, 0xff, 0xff, 0xc8, 0x20, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x68, 0x88, 0x88, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x4a, 0xef, 0xff, 0xff, 0xff, 0xa6, 0x00, 0x08, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb0, 0x00, 0x5f, 0xff, 0xff, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0xff, 0xad, 0xff, 0xff, 0x20, + 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0xef, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xff, 0xff, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x5c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc5, 0x00, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa0, 0x00, 0x09, 0xff, 0xff, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0xff, 0x8d, 0xff, 0x47, 0x60, + 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x19, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x70, 0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa0, 0x00, 0x05, 0xff, 0xff, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0xff, 0x5f, 0xfe, 0x00, 0x00, + 0xff, 0xc0, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x01, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x40, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x01, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x90, 0x00, 0x01, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0xff, 0x3f, 0xfc, 0x00, 0x00, + 0xff, 0xc0, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x1b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe2, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x50, 0x03, 0xef, 0xff, 0xff, 0xff, 0xff, 0x90, 0x00, 0x00, 0xef, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0xfe, 0x3f, 0xf9, 0x00, 0x00, + 0xff, 0xc0, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe2, 0x00, 0x3e, 0xff, 0xff, 0xff, 0xff, 0x90, 0x00, 0x00, 0x5f, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xfb, 0x3f, 0xf8, 0x00, 0x00, + 0xff, 0xc0, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x06, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x30, 0x0b, 0xff, 0xff, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x00, 0x01, 0xcf, 0xff, 0xff, 0xff, 0x90, 0x00, 0x00, 0x0a, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xf8, 0x4f, 0xf5, 0x00, 0x00, + 0xff, 0xc0, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x1e, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x43, 0x23, 0x7d, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x00, 0x00, 0x00, 0x00, 0xaf, 0xff, 0xff, 0xff, 0xfe, 0x73, 0x32, 0x7d, 0xff, 0xff, 0xff, 0xff, 0x90, 0x0b, 0xff, 0xff, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x05, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x33, 0x35, 0x8f, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x1c, 0xff, 0xff, 0xff, 0x90, 0x00, 0x00, 0x08, 0xff, 0xff, 0x10, 0x00, 0x00, 0x00, 0x06, 0xff, 0xf5, 0x4f, 0xf4, 0x00, 0x00, + 0xff, 0xc0, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xfc, 0x40, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xa2, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xe0, 0x0b, 0xff, 0xff, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xfd, 0x20, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0x60, 0x00, 0x00, 0xbf, 0xff, 0xff, 0x90, 0x00, 0x00, 0x09, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x07, 0xff, 0xf2, 0x4f, 0xf2, 0x00, 0x00, + 0xff, 0xc0, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf8, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x05, 0xff, 0xff, 0xff, 0xfa, 0x10, 0x00, 0x00, 0x00, 0x0c, 0xff, 0xff, 0xff, 0xf2, 0x0b, 0xff, 0xff, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xf3, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xa0, 0x00, 0x00, 0x0c, 0xff, 0xff, 0x90, 0x00, 0x00, 0x07, 0xff, 0xff, 0x90, 0x00, 0x00, 0x00, 0x07, 0xff, 0xe0, 0x1f, 0xf3, 0x00, 0x00, + 0xff, 0xc0, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf8, 0x03, 0xff, 0xff, 0xff, 0xfe, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xff, 0xff, 0xf4, 0x0b, 0xff, 0xff, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x1d, 0xff, 0xff, 0xff, 0xb0, 0x00, 0x00, 0x01, 0xdf, 0xff, 0x90, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x08, 0xff, 0xc0, 0x0d, 0xf8, 0x00, 0x00, + 0xff, 0xc0, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf8, 0x07, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xf2, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf7, 0x0b, 0xff, 0xff, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0x50, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x6f, 0xff, 0x90, 0x00, 0x00, 0x00, 0x0a, 0xff, 0xf2, 0x00, 0x00, 0x00, 0x0a, 0xff, 0x90, 0x04, 0xfe, 0x00, 0x00, + 0xff, 0xc0, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x08, 0xff, 0xff, 0xff, 0xf2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x09, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x0b, 0xff, 0xff, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x1f, 0xff, 0x90, 0x00, 0x00, 0x00, 0x01, 0xdf, 0xf9, 0x00, 0x00, 0x00, 0x0b, 0xff, 0x60, 0x00, 0x9f, 0x80, 0x00, + 0xff, 0xc0, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x09, 0xff, 0xff, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xf1, 0x00, 0x00, 0x09, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xef, 0xff, 0xff, 0xf8, 0x0b, 0xff, 0xff, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x5f, 0xff, 0xff, 0xff, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x0e, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xfe, 0x00, 0x00, 0x00, 0x0d, 0xff, 0x50, 0x00, 0x0c, 0xe2, 0x00, + 0xff, 0xc0, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x0a, 0xff, 0xff, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xf3, 0x00, 0x00, 0x09, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x22, 0x22, 0x22, 0x0b, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x6f, 0xff, 0xff, 0xff, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x0c, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0x80, 0x00, 0x00, 0x0f, 0xff, 0x10, 0x00, 0x01, 0xda, 0x00, + 0xff, 0xc0, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x0b, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xf3, 0x00, 0x00, 0x09, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x6f, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x0c, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xf2, 0x00, 0x00, 0x2f, 0xfc, 0x00, 0x00, 0x00, 0x3e, 0x50, + 0xff, 0xd0, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x0b, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xf3, 0x00, 0x00, 0x0a, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x6f, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x0c, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xfb, 0x00, 0x00, 0x3f, 0xf8, 0x00, 0x00, 0x00, 0x03, 0xd2, + 0xff, 0xd0, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x08, 0xff, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xff, 0xff, 0xf3, 0x00, 0x00, 0x0a, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x0c, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5f, 0x50, 0x00, 0x5f, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x11, + 0xff, 0xd0, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x06, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xff, 0xff, 0xf3, 0x00, 0x00, 0x0a, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0xff, 0xff, 0xf1, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x0d, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x90, 0x00, 0x7f, 0xf2, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xd0, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x01, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xff, 0xff, 0xf3, 0x00, 0x00, 0x0a, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xf3, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x0d, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xd0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xd0, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xff, 0xff, 0xf3, 0x00, 0x00, 0x0a, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x0d, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaf, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xff, 0xc6, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xff, 0xff, 0xf3, 0x00, 0x00, 0x0a, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xfe, 0x50, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x0d, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaf, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x0c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xba, 0xa9, 0x80, 0x06, 0xff, 0xff, 0xff, 0xf9, 0x88, 0x88, 0x8c, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdf, 0xff, 0xff, 0xff, 0xf9, 0x84, 0x10, 0x9f, 0xff, 0xff, 0xfe, 0x66, 0x66, 0x66, 0xaf, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x0d, 0xff, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdf, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x02, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x06, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x0d, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xe0, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x06, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x60, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x0e, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xf0, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x05, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0xff, 0xff, 0xff, 0xff, 0x70, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x0e, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xf1, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x05, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xff, 0xff, 0x70, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x0f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xf1, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x03, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x05, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xff, 0x70, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x05, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x05, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0xff, 0xff, 0xff, 0x70, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xd0, 0x00, 0x00, 0x00, 0x5f, 0xff, 0x30, 0x28, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xfb, 0x00, 0x00, 0x00, 0x00, 0x69, 0xaa, 0xaa, 0xa5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0xaa, 0xaa, 0xaa, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x99, 0x99, 0x99, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x89, 0x9a, 0xaa, 0x90, 0x03, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x78, 0xaa, 0x60, 0x6a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x20, 0x00, 0x00, 0x00, 0x00, 0x08, 0xaa, 0xaa, 0xa8, 0x30, 0x00, 0x00, 0x00, 0xbf, 0xfc, 0x08, 0xef, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x8f, 0xff, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xf6, 0x3f, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1f, 0xff, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0xff, 0xd1, 0x4f, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x07, 0xff, 0xfc, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xcf, 0xff, 0x60, 0x6f, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xbf, 0xff, 0xc2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4d, 0xff, 0xf8, 0x00, 0x6f, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0a, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xff, 0xff, 0x90, 0x00, 0x6f, 0xf2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x9f, 0xff, 0xfd, 0x88, 0x64, 0x44, 0x33, 0x22, 0x22, 0x21, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x11, 0x11, 0x11, 0x11, 0x12, 0x22, 0x22, 0x33, 0x45, 0x56, 0x79, 0xef, 0xff, 0xf8, 0x10, 0x00, 0x6f, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x50, 0x00, 0x00, 0x7f, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x19, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x82, 0x00, 0x00, 0x00, 0x8f, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x38, 0xbd, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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, 0x71, 0x00, 0x00, 0x00, 0x04, 0xef, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaf, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x11, 0x12, 0x22, 0x22, 0x22, 0x22, 0x22, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x45, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x66, 0x66, 0x66, 0x77, 0x78, 0x88, 0x89, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xbb, 0xbb, 0xbb, 0xbc, 0xdf, 0xff, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 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, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0xff, 0xff, 0xff, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdf, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xef, 0xff, 0xff, 0xff, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xf1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xec, 0xca, 0x98, 0x88, 0x77, 0x77, 0x77, 0x88, 0x9a, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xf6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xb9, 0x86, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x56, 0x8c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xf9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xef, 0xff, 0xff, 0xff, 0xff, 0xca, 0x73, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x7b, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaf, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0xff, 0xff, 0xff, 0xfb, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x8c, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xd8, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xb4, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5f, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xfe, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xf2, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xfe, 0xa2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xb3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xe5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xe9, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xea, 0x98, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xf2, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xff, 0xff, 0xc8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xfa, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xfa, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xdf, 0xff, 0xff, 0xff, 0xfc, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0x20, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xa7, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0xff, 0xff, 0x70, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xb0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x30, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xf2, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0xff, 0xf7, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb0, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x10, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc1, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xff, 0x90, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x10, 0x00, 0x00, 0x5f, 0xff, 0xff, 0xe0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xf2, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x00, 0x00, 0x0d, 0xff, 0xff, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xef, 0xff, 0xff, 0xff, 0xff, 0x50, 0x00, 0x08, 0xff, 0xff, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 0xff, 0xff, 0xff, 0xff, 0xe2, 0x00, 0x05, 0xff, 0xff, 0xff, 0x20, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xcf, 0xff, 0xff, 0xff, 0xfb, 0x00, 0x03, 0xff, 0xff, 0xff, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0xff, 0xff, 0xff, 0xff, 0x60, 0x01, 0xff, 0xff, 0xff, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xe2, 0x00, 0xdf, 0xff, 0xff, 0xf2, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xfa, 0x00, 0xbf, 0xff, 0xff, 0xf7, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xff, 0x30, 0x8f, 0xff, 0xff, 0xfa, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xff, 0xff, 0xff, 0xc0, 0x8f, 0xff, 0xff, 0xfe, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xf5, 0x5f, 0xff, 0xff, 0xff, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xff, 0xff, 0xff, 0xfe, 0x6f, 0xff, 0xff, 0xff, 0x60, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf6, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xfe, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xfe, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xfe, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0xff, 0xff, 0xff, 0xff, 0xfd, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xfc, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xfb, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdf, 0xff, 0xff, 0xff, 0xfb, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xff, 0xff, 0xf8, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0xff, 0xff, 0xff, 0xf6, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0xff, 0xff, 0xff, 0xf5, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0xf2, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xff, 0xff, 0xff, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdf, 0xff, 0xff, 0x50, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8f, 0xff, 0xfe, 0x10, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0xff, 0xf9, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xf4, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0xff, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0xff, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xfe, 0x20, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xfa, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xf4, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xc0, 0x00, 0x00 +}; + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/images/bootscreen_320x240x16.cpp b/Marlin/src/lcd/tft/images/bootscreen_320x240x16.cpp new file mode 100644 index 000000000000..199433a802fd --- /dev/null +++ b/Marlin/src/lcd/tft/images/bootscreen_320x240x16.cpp @@ -0,0 +1,270 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../inc/MarlinConfigPre.h" + +#if HAS_GRAPHICAL_TFT + +extern const uint16_t marlin_logo_320x240x16[76800] = { + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ce, 0x00f8, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f7, 0x18ce, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08d5, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x28ee, 0x8252, 0xcb54, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x00f9, 0x0119, 0x00f7, 0x00f7, 0x0119, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x394f, 0xb313, 0xd395, 0x7211, 0x18ad, 0x18ad, 0x20cd, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x00f9, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x011a, 0x18cd, 0x20ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x08f4, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x496f, 0xcb55, 0xd395, 0xbb54, 0x28ce, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x10d2, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x208d, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00fa, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x0119, 0x0119, 0x18d0, 0x18ad, 0x18ad, 0x10d0, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x61d0, 0xd395, 0xd395, 0xd395, 0x69f1, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x00f9, 0x011a, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x10d3, 0x011a, 0x011a, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x61d0, 0xd395, 0xd395, 0xd396, 0xd375, 0x310e, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x011a, 0x00f9, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ce, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08d4, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08d5, 0x0119, 0x0119, 0x00f7, 0x0117, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x392f, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0x28ce, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x0119, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x10d2, 0x0119, 0x00f9, 0x10f2, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x011a, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x310e, 0xcb55, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x8252, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x10d2, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18cd, 0x18ad, 0x20ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x0119, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x10f2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x10d2, 0x10d3, 0x08f3, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x00f9, 0x10d2, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0xb314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x5190, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x011a, 0x011a, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x011a, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x00f9, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18af, 0x0119, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ee, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x011a, 0x011a, 0x0119, 0x0119, 0x00f9, 0x0119, 0x011a, 0x00f9, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x10f2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x08d5, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x08f5, 0x011a, 0x0119, 0x10d2, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x8252, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x412f, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x08d5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f4, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x20ae, 0x20ad, 0x18ae, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18cd, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0355, 0x190f, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f4, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x10d2, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x208e, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x496f, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0x496f, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x00f9, 0x0119, 0x011a, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x20ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x08f5, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x11d1, 0x03b7, 0x0a93, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x00f9, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ae, 0x10d2, 0x011a, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x28ee, 0xbb34, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x9ab3, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x00f9, 0x00f9, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x10af, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x011a, 0x011a, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x208d, 0x18ad, 0x10d2, 0x08f3, 0x10d3, 0x10d2, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0356, 0x03b7, 0x03b7, 0x190f, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08f3, 0x08d4, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x00f9, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x10d2, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x0119, 0x0119, 0x00fa, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x7a31, 0xd395, 0xd395, 0xd375, 0xdb95, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd396, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x11d1, 0x03b8, 0x03b7, 0x03b8, 0x0a94, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x10d2, 0x00f9, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x00f9, 0x10d2, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x08f5, 0x00f9, 0x011a, 0x0119, 0x011a, 0x0119, 0x011a, 0x08f5, 0x20ae, 0x18ad, 0x18cd, 0x18ad, 0x18cd, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08d5, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x18cd, 0x18ad, 0x20ad, 0x18ad, 0x310e, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd396, 0xd395, 0xd395, 0xb313, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x011a, 0x011a, 0x011a, 0x0119, 0x08f5, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x08f5, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x0356, 0x03b7, 0x03b7, 0x03b8, 0x03b7, 0x190e, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x10d2, 0x011a, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x011a, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ae, 0xa2d3, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xa2d3, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x0119, 0x0119, 0x0119, 0x0117, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x00f9, 0x0119, 0x011a, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ce, 0x00f7, 0x011a, 0x011a, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18cd, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x11d1, 0x03b8, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x0a94, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ae, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08d4, 0x08f3, 0x10d2, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18b0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x496f, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xaad3, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x10d1, 0x08f3, 0x08f3, 0x10d2, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x10d2, 0x08f3, 0x08d4, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f4, 0x0119, 0x0119, 0x10d1, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0356, 0x03b8, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x190f, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x00f9, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0xb314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x61d0, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18cd, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x00f9, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x0397, 0x03b8, 0x03b7, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x00f9, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x59d0, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd396, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f4, 0x011a, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x03b7, 0x03b7, 0x0397, 0x03b7, 0x03b8, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x011a, 0x10d1, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0xbb34, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xaad3, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x18cd, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x011a, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x03b7, 0x03b7, 0x03b7, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x0397, 0x03b7, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x011a, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x08f5, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x61b1, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x8a92, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x08f5, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x08f4, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x188d, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x03b8, 0x03b7, 0x03b8, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x10d2, 0x00f9, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18cd, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0xaad3, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0x310e, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x0119, 0x0119, 0x10d1, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x03d7, 0x0397, 0x03b7, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x03b7, 0x03b8, 0x0397, 0x03b7, 0x03b8, 0x03b7, 0x03b7, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x10d2, 0x00f9, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x10d0, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x496f, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0x7231, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x10d1, 0x10d3, 0x08d3, 0x10d2, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x03b7, 0x03b7, 0x03b8, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x10d2, 0x011a, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x08f5, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x011a, 0x0119, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20cd, 0x20ae, 0x8a92, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x7a31, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x03b7, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x03b7, 0x03b7, 0x03b8, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ae, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x28ee, 0xc374, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xa2d3, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ce, 0x194f, 0x18ae, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x03b7, 0x0397, 0x03b8, 0x18ad, 0x20ae, 0x20ad, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b8, 0x03b7, 0x03b7, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x00f9, 0x0119, 0x08f5, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x20ae, 0x20ae, 0x61d1, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0x69f1, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x10d2, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x1930, 0x02f5, 0x03b7, 0x03b8, 0x0356, 0x114f, 0x18ad, 0x18ad, 0x18ad, 0x03b8, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x03b7, 0x03b8, 0x03b7, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x00f9, 0x0119, 0x08f4, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ae, 0x20ae, 0x9ab3, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0x412f, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ce, 0x00f8, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f7, 0x18ce, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x0397, 0x03b7, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x190f, 0x0377, 0x0397, 0x03b8, 0x0398, 0x0397, 0x0b77, 0x18ce, 0x18ad, 0x18ad, 0x03b7, 0x0397, 0x03b8, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x03b7, 0x0bb7, 0x0398, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0xc355, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x4970, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x00f9, 0x0119, 0x00f7, 0x00f7, 0x0119, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b8, 0x03b7, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x1253, 0x0b78, 0x0b98, 0x0b78, 0x0b98, 0x0b98, 0x1378, 0x11f2, 0x18ad, 0x18ad, 0x0b98, 0x0b78, 0x0b78, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0b98, 0x1378, 0x0b78, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x4970, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0x8252, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x08f4, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x18ad, 0x18ad, 0x03b8, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x1ab5, 0x1b78, 0x1b58, 0x1358, 0x1b78, 0x1378, 0x1358, 0x1a13, 0x18ae, 0x18ae, 0x1358, 0x1358, 0x1378, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x1358, 0x1358, 0x1358, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x20ae, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x7a32, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd375, 0xd395, 0xc354, 0x5990, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x0119, 0x0119, 0x18d0, 0x18ad, 0x18ad, 0x10d0, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x1a54, 0x1b38, 0x1b38, 0x2338, 0x1b38, 0x1b58, 0x2338, 0x21d2, 0x18ad, 0x18ad, 0x2338, 0x2338, 0x2358, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x1930, 0x2339, 0x2358, 0x2338, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0xa2b3, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0x4970, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x10d3, 0x011a, 0x011a, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x18ae, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x2150, 0x2b18, 0x2b39, 0x2b18, 0x2b19, 0x2b19, 0x2af8, 0x18ce, 0x18ad, 0x18ad, 0x2b19, 0x2b18, 0x2b19, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x2192, 0x2b19, 0x2b19, 0x2b18, 0x2338, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0xbb34, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0x4970, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08d5, 0x0119, 0x0119, 0x00f7, 0x0117, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b8, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08f3, 0x10d3, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x2192, 0x2b19, 0x3319, 0x32f9, 0x2a15, 0x18ef, 0x20ad, 0x18ad, 0x18ad, 0x32f9, 0x3319, 0x32f9, 0x18ad, 0x18ad, 0x18ad, 0x2191, 0x3319, 0x2af9, 0x3319, 0x2af9, 0x2a97, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x0119, 0x0119, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x20cf, 0x20cf, 0x28cf, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0x71d1, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x20cd, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x011a, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b8, + 0x18ad, 0x18ae, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x3ad9, 0x3ad9, 0x3ad9, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x3af9, 0x3ad9, 0x3ad9, 0x18ad, 0x20ad, 0x3215, 0x3ad9, 0x3af9, 0x3ada, 0x3ad9, 0x3277, 0x18ce, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x011a, 0x20cd, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28cf, 0x28cf, 0x4950, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd374, 0xd375, 0xd355, 0xd355, 0xaab3, 0x20ce, 0x18ce, 0x20ce, 0x20ae, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x10d2, 0x10d3, 0x08f3, 0x10d2, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x0398, 0x0398, 0x0398, 0x0398, 0x03b7, 0x0397, + 0x18ad, 0x18ad, 0x08f5, 0x0139, 0x011a, 0x0117, 0x00f7, 0x011a, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x42d9, 0x42b9, 0x42b9, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x42b9, 0x42b9, 0x42ba, 0x18ae, 0x31f5, 0x42da, 0x42d9, 0x42b9, 0x42d9, 0x3a77, 0x18ce, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x20ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x0119, 0x0119, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x5991, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd374, 0xd375, 0xd355, 0xd355, 0xd355, 0x9252, 0x30ef, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x2338, 0x2338, 0x2318, 0x2319, 0x2338, 0x2338, + 0x18ad, 0x18ad, 0x00f9, 0x0119, 0x10d3, 0x18ad, 0x18ad, 0x10f3, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18b0, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x4a99, 0x4ab9, 0x4a9a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x4aba, 0x4aba, 0x4a9a, 0x4257, 0x4a99, 0x4a9a, 0x4a9a, 0x4aba, 0x4237, 0x20ce, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ae, 0x20ae, 0x0119, 0x0119, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x69f1, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd375, 0xd355, 0xd355, 0xd355, 0xd335, 0xd355, 0xcb14, 0x4130, 0x20af, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x18ad, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x18ad, 0x208e, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x42b9, 0x4a99, 0x42b9, 0x42ba, 0x18ad, 0x18ad, + 0x18ad, 0x18af, 0x011a, 0x00f9, 0x10d0, 0x18ad, 0x20ad, 0x10d0, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0118, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x527a, 0x527a, 0x527a, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x527a, 0x527a, 0x529a, 0x527a, 0x527a, 0x527a, 0x527a, 0x4a18, 0x20ce, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x00f9, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d1, 0x0117, 0x0119, 0x0119, 0x0917, 0x18d2, 0x20ce, 0x20cf, 0x28ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x8253, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd354, 0xd355, 0x7a11, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x6a3b, 0x6a3b, 0x6a3b, 0x621a, 0x6a3b, 0x6a3b, + 0x18ad, 0x18ad, 0x0119, 0x0119, 0x10d3, 0x18ad, 0x20ae, 0x08f3, 0x0119, 0x0119, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x00f9, 0x18d0, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x20ad, 0x5a5b, 0x5a5a, 0x5a7a, 0x2910, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x5a5a, 0x5a7b, 0x5a5a, 0x5a5a, 0x5a5a, 0x5a5a, 0x4a18, 0x20ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d1, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x091a, 0x18f2, 0x28cf, 0x28ce, 0x28cf, 0x28cf, 0x28ef, 0x28f0, 0x30f0, 0x8232, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xa293, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x20ae, 0x20ad, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x89bc, 0x89bc, 0x89bc, 0x91bc, 0x89bc, 0x899c, + 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x00f7, 0x0117, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x18d0, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x623a, 0x623b, 0x625a, 0x621a, 0x2910, 0x18cd, 0x18ad, 0x18ad, 0x623b, 0x623a, 0x625a, 0x623b, 0x623b, 0x51f8, 0x20ce, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0118, 0x0119, 0x0917, 0x18d2, 0x18d2, 0x0918, 0x091a, 0x0918, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x30d0, 0x30f0, 0x30f0, 0x8252, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd335, 0x9253, 0x30ef, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xa93d, 0xa93d, 0xa93d, 0xb13d, 0xa93d, 0xa93d, + 0x18ad, 0x20ad, 0x18ae, 0x0117, 0x011a, 0x011a, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x00f7, 0x0119, 0x00f8, 0x18d0, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x59d8, 0x6a1b, 0x6a1b, 0x6a1b, 0x6a1b, 0x4133, 0x18ad, 0x18ad, 0x6a3b, 0x6a1b, 0x6a1b, 0x6a1b, 0x51b6, 0x20cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x00f9, 0x10d3, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18d1, 0x20ce, 0x20ce, 0x18d1, 0x093a, 0x093a, 0x28ef, 0x28cf, 0x28cf, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x9273, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd334, 0xd335, 0xd334, 0xd334, 0xd314, 0xd315, 0xaa93, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0xd0be, 0xd0be, 0xd0be, 0xd0be, 0xd0be, 0xd0be, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08d4, 0x08f3, 0x10d2, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x18d0, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ce, 0x61b8, 0x721b, 0x71fb, 0x721b, 0x721b, 0x4133, 0x20ad, 0x71fb, 0x721b, 0x71fb, 0x4174, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x0119, 0x011a, 0x18d1, 0x20ae, 0x20ce, 0x20f1, 0x093a, 0x093a, 0x28cf, 0x28cf, 0x30ef, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0xaaf4, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd314, 0xd314, 0xd315, 0x28ef, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x28ce, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ae, 0x20ad, 0x20ad, 0x20ae, 0x30ee, 0x6150, 0x81b1, 0xa1f2, 0xc233, 0xca53, 0xca54, 0xca53, 0xc233, 0xa1f2, 0x8191, 0x512f, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0xf03f, 0xf03f, 0xf03f, 0xf03f, 0xf03f, 0xf03f, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x0119, 0x18d0, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x20ce, 0x69b9, 0x81fb, 0x79db, 0x79dc, 0x81fc, 0x5976, 0x79db, 0x79dc, 0x81dc, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x0918, 0x0119, 0x0917, 0x18d0, 0x20d0, 0x0917, 0x093a, 0x1138, 0x28cf, 0x30cf, 0x30ef, 0x30f0, 0x30f0, 0x3911, 0x3911, 0xaad4, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd314, 0xd315, 0xd315, 0xd314, 0x69b2, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ce, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x410f, 0x6990, 0x99f2, 0xc253, 0xca74, 0xd274, 0xca74, 0xd253, 0xca53, 0xca53, 0xca53, 0xd233, 0xd253, 0xca53, 0xd233, 0xca33, 0xc213, 0x8991, 0x410f, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x0917, 0x0119, 0x0119, 0x10cf, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x20ae, 0x7199, 0x89db, 0x89bc, 0x81bc, 0x89bc, 0x89bc, 0x89bc, 0x89bc, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x011a, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18d2, 0x0119, 0x0119, 0x093a, 0x093a, 0x093a, 0x093a, 0x20f2, 0x28cf, 0x28f0, 0x30f0, 0x30f0, 0x3111, 0x3911, 0x3911, 0xb2f5, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd315, 0xd314, 0xd314, 0xd2f4, 0xd2f5, 0xcad4, 0x5971, 0x30f0, 0x30d0, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28ce, 0x38ef, 0x79b1, 0xba53, 0xca94, 0xca94, 0xca74, 0xd273, 0xd273, 0xca73, 0xca54, 0xca53, 0xca54, 0xca53, 0xca33, 0xca53, 0xca53, 0xca33, 0xca33, 0xca33, 0xd213, 0xca13, 0xca13, 0xa1b2, 0x490f, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20cd, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x00f9, 0x18b0, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ce, 0x7979, 0x919c, 0x919c, 0x91bc, 0x919c, 0x899c, 0x89bc, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x10f2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ae, 0x20ae, 0x20ce, 0x18f2, 0x0919, 0x091a, 0x091a, 0x0919, 0x20f3, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x3110, 0x3911, 0x3911, 0x4112, 0xb2f5, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd314, 0xd314, 0xd314, 0xd2f4, 0xd314, 0xd2f5, 0xd2f4, 0xd2f4, 0x4930, 0x30f0, 0x30ef, 0x28f0, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28ce, 0x28cf, 0x28cf, 0x28cf, 0x4130, 0x89f1, 0xd294, 0xd294, 0xca93, 0xca74, 0xd274, 0xca74, 0xca74, 0xca53, 0xca73, 0xd253, 0xd254, 0xca53, 0xca53, 0xca54, 0xc274, 0x9b36, 0x83b8, 0x6419, 0x6c39, 0x6439, 0x6c1a, 0x8b57, 0xb295, 0xca13, 0x9191, 0x28ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x18af, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x28ae, 0x8159, 0x917c, 0x997c, 0x997c, 0x999c, 0x999c, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08d5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x08f4, 0x0119, 0x00f9, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20d0, 0x20d1, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x3110, 0x3910, 0x4111, 0x4112, 0x4112, 0x9294, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd315, 0xd314, 0xd2f4, 0xd2f4, 0xd315, 0xd2f4, 0xd2f5, 0xd2f4, 0xd2d5, 0x79d2, 0x3110, 0x30f0, 0x30f0, 0x30f0, 0x28f0, 0x30d0, 0x28ef, 0x28f0, 0x28cf, 0x5150, 0xaa32, 0xd293, 0xd294, 0xd294, 0xca93, 0xca74, 0xca74, 0xca74, 0xca74, 0xd274, 0xd254, 0xca53, 0xca54, 0xb2d5, 0x83b8, 0x44fc, 0x1dbe, 0x063f, 0x0cdb, 0x0b76, 0x1377, 0x1377, 0x0b76, 0x1356, 0x0b76, 0x0b77, 0x23f8, 0x6991, 0x510f, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x00f9, 0x18af, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x20ad, 0x20ae, 0x8939, 0xa17c, 0xa17c, 0xa15d, 0xa15d, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x10d2, 0x0119, 0x011a, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28ce, 0x28cf, 0x28cf, 0x28ef, 0x28f0, 0x30f0, 0x3110, 0x3911, 0x3911, 0x3911, 0x4112, 0x4132, 0x8a54, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd315, 0xd315, 0xd315, 0xd314, 0xd314, 0xd314, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2f4, 0xd2f4, 0xd2d4, 0xcad4, 0x5951, 0x38f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x4130, 0x91f2, 0xd294, 0xd294, 0xca94, 0xca74, 0xca94, 0xca94, 0xca74, 0xd274, 0xd274, 0xd274, 0xd253, 0xb2d5, 0x7419, 0x257d, 0x063f, 0x061f, 0x057d, 0x12b5, 0x190f, 0x18ce, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x0117, 0x0119, 0x0119, 0x18b0, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ce, 0x913a, 0xa93d, 0xa95d, 0xa95c, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x20ae, 0x18ae, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28ce, 0x28cf, 0x28ef, 0x28f0, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x3911, 0x4132, 0x4132, 0x4932, 0x9255, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd315, 0xd315, 0xd314, 0xd314, 0xd314, 0xd2f4, 0xd2f5, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2d4, 0xd2d4, 0xcab4, 0x5172, 0x3911, 0x38f1, 0x38f0, 0x30f0, 0x81d2, 0xc294, 0xd294, 0xd293, 0xd294, 0xd294, 0xca93, 0xca93, 0xd274, 0xd274, 0xca73, 0xd274, 0x83d8, 0x353d, 0x061f, 0x063f, 0x063f, 0x063f, 0x4c5a, 0x4970, 0x20ae, 0x20ae, 0x20ad, 0x18cd, 0x20ad, 0x20ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x10d2, 0x08f3, 0x08d4, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x00f9, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0xb11d, 0xb11d, 0xb11d, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08d5, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x20cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x4112, 0x4132, 0x4932, 0x4953, 0x6b36, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2d4, 0xd2d4, 0xd2d5, 0xd2d4, 0xcad4, 0xcab4, 0x5972, 0x3911, 0x5151, 0xb253, 0xcab4, 0xd294, 0xca94, 0xd294, 0xca94, 0xd294, 0xca94, 0xca74, 0xd274, 0xc294, 0x645a, 0x1dbe, 0x063f, 0x063f, 0x063f, 0x1dbe, 0x6459, 0xc274, 0x99d2, 0x28ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ce, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x0117, 0x0119, 0x0119, 0x0119, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x18d0, 0x18cd, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0xb8fe, 0xb8fd, 0xb8fe, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x00f9, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28f0, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x4111, 0x4132, 0x4132, 0x4933, 0x4953, 0x253b, 0x465c, 0x6d7b, 0x6d9a, 0x6d9a, 0x6d7a, 0x84f9, 0x9c78, 0x9c77, 0x9c78, 0x9c78, 0x9c57, 0x9c78, 0x9c58, 0x9c58, 0xbbb6, 0xd334, 0xd315, 0xd334, 0xd315, 0xd314, 0xd315, 0xd2f4, 0xcaf4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2d4, 0xcad4, 0xd2d4, 0xd2d4, 0xcad4, 0xcab4, 0xd2d4, 0x91f3, 0x5972, 0xca74, 0xd2b4, 0xd2b4, 0xd294, 0xca94, 0xd294, 0xd294, 0xca94, 0xca74, 0xc2b4, 0x6c5a, 0x0dff, 0x063f, 0x063f, 0x063f, 0x353d, 0x83b8, 0xca53, 0xca33, 0x89b1, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x011a, 0x0119, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x08f5, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x0119, 0x18d0, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ae, 0xc0de, 0xc0fe, 0xc0dd, 0x18ae, 0x18cd, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f9, 0x00fa, 0x08f4, 0x18ad, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30ef, 0x30f0, 0x30f0, 0x3911, 0x38f1, 0x3911, 0x4112, 0x4132, 0x4932, 0x4953, 0x5153, 0x4d1a, 0x6d9a, 0x94b9, 0x9c98, 0x9c77, 0x9c78, 0x9c78, 0x9c78, 0x94b8, 0x6d7a, 0x6d7a, 0x6d7b, 0x367c, 0x367d, 0x1efe, 0x077f, 0x075f, 0x1ede, 0x363d, 0x6d3a, 0x9c17, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xcad4, 0xd2b4, 0xcad4, 0xd2b3, 0xcab4, 0xc294, 0xcab4, 0xca94, 0xca94, 0xd294, 0xca94, 0xca74, 0xca74, 0xca74, 0x7bd8, 0x0dff, 0x063f, 0x061f, 0x063f, 0x4cbb, 0x9b57, 0xd233, 0xca33, 0xca53, 0x6150, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x0119, 0x0119, 0x011a, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x0917, 0x0119, 0x0119, 0x18cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xc8be, 0xc8de, 0xc8be, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x3912, 0x4132, 0x4132, 0x4933, 0x5153, 0xa2b5, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd355, 0xd334, 0xd335, 0xd335, 0xd335, 0xd335, 0xbb96, 0xa437, 0x74f9, 0x4dbc, 0x2e7e, 0x0edf, 0x559b, 0x8498, 0xc335, 0xd2f4, 0xd2d4, 0xd2f5, 0xd2d4, 0xd2d4, 0xd2b5, 0xcab4, 0xd2b4, 0xd2b4, 0xcab4, 0xd2b4, 0xd2b4, 0xbab4, 0xbaf6, 0xca94, 0xd294, 0xca94, 0xd273, 0x9b76, 0x1dbe, 0x061f, 0x063f, 0x0ddf, 0x643a, 0xb2d5, 0xca54, 0xd253, 0xca53, 0xc294, 0x59b1, 0x28ce, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x00f9, 0x18af, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18cd, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x40b0, 0xa09a, 0xd0be, 0xd09e, 0xd0be, 0xb89c, 0x78b5, 0x28ae, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x011a, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30ef, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x4112, 0x4112, 0x4932, 0x4933, 0x5173, 0xbb15, 0xd395, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd355, 0xd335, 0xd335, 0xd314, 0xd314, 0xd335, 0xd315, 0xd314, 0xd315, 0xd2f5, 0xd2f5, 0xd2f4, 0x9bf7, 0x6d1a, 0x2e3d, 0x45bc, 0x9418, 0xd2d4, 0xcad4, 0xd2d4, 0xd2b4, 0xd2b4, 0xd2b4, 0xcab4, 0xd2b4, 0xd294, 0xd294, 0xd294, 0xc2d4, 0x4cdb, 0x7bd8, 0x9b57, 0x44fc, 0x063f, 0x063f, 0x1dbe, 0x83d8, 0xc294, 0xca53, 0xca54, 0xca33, 0xca53, 0xb2b5, 0x33b8, 0x28f0, 0x28cf, 0x28cf, 0x28cf, 0x20cf, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x188e, 0x20cd, 0x10d1, 0x0119, 0x011a, 0x10d1, 0x20ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x00f7, 0x0119, 0x0118, 0x10d0, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x40b0, 0xd07d, 0xd87e, 0xd89f, 0xd89f, 0xe07f, 0xd89e, 0xd89f, 0xb87b, 0x28ae, 0x20ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x28ef, 0x30f0, 0x30f0, 0x3110, 0x3911, 0x3911, 0x3911, 0x4132, 0x4132, 0x4933, 0x5174, 0xbb14, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd334, 0xd335, 0xd335, 0xd335, 0xd314, 0xd335, 0xd315, 0xd314, 0xd314, 0xd315, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2d4, 0xc335, 0x8478, 0x4d7b, 0x4d5b, 0xab96, 0xd2b4, 0xcab4, 0xd2b4, 0xd2b4, 0xca94, 0xcab4, 0xd294, 0xd294, 0xd273, 0xc2b4, 0x5c9a, 0x061f, 0x061f, 0x063f, 0x7419, 0xd273, 0xd273, 0xca53, 0xca53, 0xd233, 0xca53, 0xaaf6, 0x153c, 0x2951, 0x30f0, 0x30f0, 0x28ef, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x0119, 0x0119, 0x0119, 0x0117, 0x18ce, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f6, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x10b0, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x208d, 0x18ad, 0x10d2, 0x08f3, 0x10d3, 0x10d2, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xb07a, 0xe85f, 0xe85f, 0xe07f, 0xe85f, 0xe87f, 0xe07f, 0xe85f, 0xe07f, 0x9898, 0x20ad, 0x18ad, 0x18cd, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x3110, 0x3910, 0x3911, 0x3911, 0x4112, 0x4132, 0x4932, 0x5153, 0xbb15, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd354, 0xd355, 0xd335, 0xd355, 0xd335, 0xd335, 0xd315, 0xcb34, 0xd315, 0xd314, 0xd314, 0xd315, 0xd314, 0xd2f4, 0xd2f5, 0xd2f4, 0xcaf4, 0xd2f4, 0xd2d4, 0xd2d4, 0xd2d5, 0xd2d4, 0xd2d4, 0xbb55, 0x7499, 0x35dc, 0x8439, 0xc2f4, 0xd2b4, 0xd294, 0xd294, 0xd294, 0xca93, 0xd294, 0xd274, 0xca74, 0x9b76, 0x061f, 0x061f, 0x83d8, 0xc295, 0xca53, 0xca53, 0xca53, 0xca53, 0x7bb8, 0x063f, 0x2a34, 0x30f0, 0x30f0, 0x30ef, 0x30f0, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x00f9, 0x08d5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0118, 0x18d0, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x38b0, 0xf05f, 0xe83f, 0xf03f, 0xf05f, 0xf05f, 0xf03f, 0xf03f, 0xf03f, 0xf05f, 0xe83f, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30ef, 0x30f0, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x3911, 0x4112, 0x4132, 0x4933, 0x5173, 0xbb35, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xcb35, 0xd315, 0xd314, 0xd314, 0xd314, 0xd314, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2f5, 0xcad4, 0xd2f4, 0xcad4, 0xd2d4, 0xd2d4, 0xcab4, 0xd2b4, 0xcab4, 0xcab4, 0x8bf8, 0x3d5c, 0x6499, 0xc2d4, 0xd294, 0xd294, 0xca74, 0xca74, 0xd274, 0xca74, 0xca74, 0x54bb, 0x5c9a, 0x353d, 0x1dbe, 0x4cbb, 0x9377, 0x9b36, 0x44fc, 0x061f, 0x1bf9, 0x3911, 0x3910, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f4, 0x10f3, 0x10d2, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x00f7, 0x0119, 0x0118, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x5092, 0xf83f, 0xf83f, 0xf03f, 0xf83f, 0xf83f, 0xf83f, 0xf83f, 0xf81f, 0xf03f, 0xf83f, 0x5092, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x3911, 0x4112, 0x4132, 0x4932, 0x69b3, 0xc355, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd335, 0xd335, 0xd314, 0xd314, 0xd314, 0xd2f5, 0xd2f5, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xcad4, 0xcab4, 0xd2b4, 0xd2b4, 0xcab4, 0xd294, 0x9b97, 0x453c, 0x6c59, 0xc2b4, 0xca74, 0xd274, 0xd273, 0xca73, 0xd273, 0xc294, 0x6c39, 0xc294, 0xca53, 0x8b98, 0x4cbb, 0x0dff, 0x063f, 0x0d7e, 0x3972, 0x3911, 0x3911, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x011a, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x20ae, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x0119, 0x00f9, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x18cd, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x5092, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0x5092, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x4111, 0x4112, 0x4132, 0x4933, 0x9254, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd375, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd314, 0xd314, 0xd314, 0xd314, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2f4, 0xd2d4, 0xd2d4, 0xcad4, 0xd2d4, 0xcad4, 0xd2d4, 0xd2b4, 0xcab4, 0xd2b4, 0xd2b4, 0xcab4, 0xd294, 0xd294, 0xd294, 0xca94, 0x9b77, 0x44dc, 0x73f9, 0xca73, 0xca74, 0xd254, 0xca73, 0xca53, 0xc294, 0x351c, 0x6c3a, 0xc294, 0xd253, 0xca34, 0x83b8, 0x5a55, 0x4132, 0x4132, 0x3912, 0x3911, 0x3911, 0x3910, 0x30f0, 0x30f0, 0x30f0, 0x28f0, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18b0, 0x0119, 0x011a, 0x0119, 0x00f8, 0x18d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ce, 0x0117, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x4090, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0x28af, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x28f0, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x4112, 0x4132, 0x4132, 0x69d3, 0xc355, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xcb55, 0xd335, 0xd335, 0xd335, 0xd315, 0xd314, 0xd314, 0xd314, 0xd314, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xcad4, 0xd2f4, 0xd2d4, 0xd2d4, 0xd2b4, 0xd2b4, 0xd2b4, 0xcab4, 0xcab4, 0xcab4, 0xd2b4, 0xcab4, 0xd294, 0xd294, 0xd294, 0xca94, 0xd274, 0xca74, 0x8b78, 0x447c, 0xa316, 0xd253, 0xd253, 0xca54, 0xca53, 0xc294, 0x257d, 0x0ddf, 0x83b8, 0xd233, 0xca33, 0xca33, 0xba13, 0x7993, 0x4112, 0x4112, 0x4111, 0x3911, 0x3911, 0x38f0, 0x30f0, 0x28f0, 0x30d0, 0x30d0, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x08f5, 0x0119, 0x011a, 0x011a, 0x0119, 0x011a, 0x00f9, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x0119, 0x00f9, 0x0119, 0x00f8, 0x18cf, 0x18ad, 0x18ae, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f9, 0x011a, 0x0119, 0x011a, 0x00f9, 0x0119, 0x0119, 0x00f9, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x20ad, 0xd03c, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xd03c, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f9, 0x0119, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x3911, 0x4111, 0x4112, 0x5193, 0xaad4, 0xd375, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd314, 0xd314, 0xd315, 0xd314, 0xd314, 0xd314, 0xd314, 0xd315, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2d4, 0xd2d4, 0xd2d4, 0xcad4, 0xd2b4, 0xd2b4, 0xd2d4, 0xd2b4, 0xcab4, 0xd2b4, 0xd2b4, 0xd294, 0xd2b4, 0xca94, 0xca94, 0xd294, 0xca74, 0xca73, 0xca74, 0xd274, 0xc295, 0x6bb9, 0x6b99, 0xca54, 0xca53, 0xd254, 0xca33, 0xc294, 0x24fd, 0x063f, 0x351d, 0xb295, 0xca13, 0xca13, 0xca13, 0xb9f3, 0x7992, 0x4111, 0x4112, 0x38f1, 0x3911, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18cf, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x0117, 0x18ce, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cf, 0x0118, 0x00f9, 0x0119, 0x00f9, 0x18d0, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x00f9, 0x0119, 0x0119, 0x0119, 0x00fa, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x4090, 0xf03f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0x6073, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20cd, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30ef, 0x28f0, 0x30f0, 0x30f0, 0x30f0, 0x3910, 0x3911, 0x3912, 0x4112, 0x4112, 0x8233, 0xcb55, 0xd375, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd334, 0xd314, 0xd335, 0xd314, 0xd314, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2d4, 0xd2d4, 0xd2d4, 0xcad4, 0xd2d4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xcab4, 0xd2b4, 0xd2b4, 0xcab4, 0xd294, 0xd294, 0xd294, 0xca74, 0xca74, 0xca74, 0xca73, 0xca73, 0xca53, 0xca53, 0xca74, 0xaab6, 0x5b7a, 0xba74, 0xca53, 0xca33, 0xca33, 0xc254, 0x4bfb, 0x059f, 0x0d7f, 0x8b57, 0xc9f3, 0xca13, 0xc9f3, 0xc9f3, 0xa9b3, 0x5952, 0x4112, 0x3931, 0x3911, 0x3111, 0x3110, 0x30f0, 0x30f0, 0x28f0, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x10d2, 0x08f3, 0x10d3, 0x10d2, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18d0, 0x00f9, 0x0119, 0x0119, 0x0118, 0x10cf, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x011a, 0x0119, 0x011a, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x4091, 0xe01d, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0x7074, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x08f3, 0x10d2, 0x20cd, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x10d1, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x20ae, 0x18cd, 0x20ae, 0x20cd, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3910, 0x3911, 0x3911, 0x3912, 0x4132, 0x4953, 0xb2f4, 0xd395, 0xdb95, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd334, 0x84f9, 0x467d, 0x1f5e, 0x07df, 0x07df, 0x07df, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x079f, 0x1f1e, 0x367d, 0x367c, 0x4ddb, 0x653a, 0x8498, 0x9bf7, 0xc2f5, 0xd294, 0xd294, 0xd294, 0xd294, 0xca94, 0xca94, 0xca74, 0xca73, 0xd253, 0xd254, 0xca74, 0xca53, 0xca53, 0xca53, 0xd253, 0x72d9, 0xaa76, 0xca33, 0xd233, 0xca13, 0xca33, 0x1c7e, 0x059f, 0x05ff, 0x5c7a, 0xca13, 0xc9f3, 0xc9f3, 0xc9f3, 0xd1f3, 0x9193, 0x4911, 0x3911, 0x3911, 0x3911, 0x3110, 0x30f0, 0x30f0, 0x30f0, 0x28ef, 0x28ef, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0118, 0x10b0, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x10d1, 0x08f3, 0x08f3, 0x10d2, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x7074, 0x9077, 0x8856, 0x8876, 0x388f, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18cd, 0x18ae, 0x18ce, 0x00f7, 0x0119, 0x011a, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x08f7, 0x0119, 0x011a, 0x0119, 0x0119, 0x08f7, 0x18ce, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30ef, 0x30f0, 0x30f0, 0x30f0, 0x3111, 0x3111, 0x38f1, 0x3911, 0x4111, 0x4132, 0x6193, 0xc355, 0xd396, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd375, 0xd355, 0xd355, 0xd335, 0xd335, 0xb3d6, 0x271d, 0x07ff, 0x07ff, 0x07bf, 0x079f, 0x079f, 0x077f, 0x079f, 0x077f, 0x077f, 0x077f, 0x077f, 0x077f, 0x077f, 0x077f, 0x075f, 0x077f, 0x077f, 0x077f, 0x077f, 0x077f, 0x077f, 0x077f, 0x079f, 0x079f, 0x1efe, 0x461c, 0x6d1a, 0x9bd6, 0xca74, 0xca74, 0xca74, 0xca73, 0xd274, 0xca74, 0xca53, 0xd254, 0xca54, 0xd253, 0xca53, 0xca33, 0xa275, 0x9a76, 0xca33, 0xca13, 0xca33, 0x9ad6, 0x04ff, 0x05bf, 0x063f, 0x357c, 0xc254, 0xc9f3, 0xd1f3, 0xc9f3, 0xc9f3, 0xb9d3, 0x6152, 0x4111, 0x3911, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x00f8, 0x10d0, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x208e, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x00f9, 0x08f5, 0x18ae, 0x20ad, 0x18ad, 0x08f4, 0x0119, 0x011a, 0x00f7, 0x0117, 0x0119, 0x011a, 0x08f5, 0x20ae, 0x20ae, 0x20ad, 0x20ce, 0x20ce, 0x20ce, 0x20cd, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30ef, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3910, 0x3911, 0x3911, 0x3911, 0x4112, 0x4132, 0x6193, 0xcb55, 0xd395, 0xd395, 0xd375, 0xd395, 0xd375, 0xd375, 0xd375, 0xd355, 0xd375, 0xd355, 0xd355, 0xd355, 0xcb55, 0xd334, 0xcb55, 0xac17, 0x0fbf, 0x07ff, 0x07ff, 0x07bf, 0x07bf, 0x077f, 0x075f, 0x075f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x075f, 0x075f, 0x077f, 0x077f, 0x079f, 0x07bf, 0x365c, 0x74b9, 0xb315, 0xca73, 0xca54, 0xca54, 0xca53, 0xca53, 0xca53, 0xca33, 0xd233, 0xca33, 0xb235, 0xaa16, 0xca33, 0xca13, 0xca13, 0x7b37, 0x055f, 0x05ff, 0x067f, 0x25dd, 0xa2f5, 0xd1d3, 0xc9f3, 0xc9d3, 0xc9d2, 0xc9d3, 0x9193, 0x4932, 0x4111, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18b0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x0119, 0x00f9, 0x011a, 0x011a, 0x0119, 0x011a, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x10d3, 0x18ce, 0x20ad, 0x10f4, 0x011a, 0x0119, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x3911, 0x4111, 0x4132, 0x4132, 0x61b3, 0xcb75, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd375, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0x8cb8, 0x0fbf, 0x07ff, 0x07df, 0x07bf, 0x079f, 0x077f, 0x075f, 0x073f, 0x071f, 0x06ff, 0x06ff, 0x06ff, 0x06ff, 0x06ff, 0x06ff, 0x06ff, 0x06df, 0x06ff, 0x06df, 0x06df, 0x06df, 0x06ff, 0x06ff, 0x06ff, 0x06ff, 0x071f, 0x071f, 0x071f, 0x073f, 0x073f, 0x073f, 0x073f, 0x075f, 0x075f, 0x071f, 0x2dfd, 0x7419, 0xb2b5, 0xca53, 0xca53, 0xca33, 0xca33, 0xca33, 0xca33, 0xd233, 0xca14, 0xa215, 0xca13, 0xca13, 0xc9f3, 0x8338, 0x05bf, 0x063f, 0x06bf, 0x0e9f, 0xaad5, 0xc9d3, 0xc9d2, 0xc9d3, 0xc9d3, 0xc9b2, 0xb1b2, 0x5931, 0x3911, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x28f0, 0x28ef, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18cf, 0x011a, 0x0119, 0x10d0, 0x18ad, 0x20ae, 0x18d0, 0x0119, 0x0119, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3111, 0x38f1, 0x3911, 0x3911, 0x4112, 0x4112, 0x4132, 0x6193, 0xcb75, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd354, 0xd355, 0xd355, 0xc395, 0x5dfa, 0x07ff, 0x07df, 0x07bf, 0x079f, 0x077f, 0x075f, 0x073f, 0x071f, 0x06ff, 0x06df, 0x06bf, 0x06bf, 0x069f, 0x069f, 0x069f, 0x069f, 0x06bf, 0x06bf, 0x069f, 0x069f, 0x069f, 0x069f, 0x069f, 0x069f, 0x069f, 0x06bf, 0x06bf, 0x06bf, 0x06df, 0x06df, 0x06ff, 0x06ff, 0x06ff, 0x071f, 0x071f, 0x06ff, 0x06bf, 0x065f, 0x05bf, 0x443c, 0x8af7, 0xca33, 0xca33, 0xca33, 0xca33, 0xca13, 0xca13, 0xca13, 0x99b6, 0xc9f3, 0xca13, 0xc9f3, 0x4c3b, 0x061f, 0x069f, 0x06ff, 0x0ebe, 0xa2d5, 0xc9b3, 0xc9d3, 0xc9b2, 0xc9b3, 0xc9b2, 0xc1b3, 0x7152, 0x3911, 0x3911, 0x3110, 0x30f0, 0x30f0, 0x28f0, 0x30d0, 0x28cf, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ce, 0x08f7, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x011a, 0x0119, 0x20ae, 0x20ad, 0x18ce, 0x0119, 0x0119, 0x10d3, 0x20ce, 0x20ae, 0x10f4, 0x0119, 0x011a, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28cf, 0x28ef, 0x30ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x3911, 0x4112, 0x3912, 0x4112, 0x4132, 0x4133, 0x5153, 0xbb35, 0xd395, 0xd396, 0xd395, 0xd375, 0xd375, 0xd375, 0xd355, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xbbd6, 0x5dfb, 0x0fbf, 0x07ff, 0x07df, 0x07bf, 0x077f, 0x075f, 0x073f, 0x071f, 0x06ff, 0x06df, 0x06bf, 0x069f, 0x069f, 0x067f, 0x067f, 0x067f, 0x065f, 0x065f, 0x065f, 0x065f, 0x065f, 0x065f, 0x065f, 0x065f, 0x065f, 0x065f, 0x067f, 0x065f, 0x065f, 0x067f, 0x067f, 0x069f, 0x069f, 0x069f, 0x06bf, 0x06bf, 0x06df, 0x06bf, 0x069f, 0x065f, 0x05ff, 0x053f, 0x049f, 0x1bbe, 0x8298, 0xca13, 0xca13, 0xca13, 0xca13, 0xca13, 0xd1f3, 0x99b6, 0xc9f3, 0xc9f3, 0xb254, 0x0d9f, 0x067f, 0x06df, 0x06ff, 0x0ebf, 0xa2d5, 0xc9d2, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b2, 0xc9b3, 0x8152, 0x3911, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x28f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x08f5, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x08f5, 0x18ae, 0x20ae, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0918, 0x0917, 0x0139, 0x011a, 0x10f5, 0x20ce, 0x20cf, 0x28cf, 0x28ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30ef, 0x30f0, 0x30f0, 0x30f0, 0x3110, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x3911, 0x4112, 0x4112, 0x4132, 0x4932, 0x4133, 0x4933, 0xbb35, 0xd395, 0xd396, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xac37, 0x6d9a, 0x2efe, 0x07ff, 0x07ff, 0x07df, 0x07bf, 0x079f, 0x075f, 0x073f, 0x071f, 0x06df, 0x06bf, 0x069f, 0x067f, 0x065f, 0x065f, 0x063f, 0x063f, 0x061f, 0x061f, 0x061f, 0x061f, 0x061f, 0x061f, 0x061f, 0x061f, 0x061f, 0x05ff, 0x061f, 0x061f, 0x061f, 0x061f, 0x061f, 0x061f, 0x063f, 0x063f, 0x063f, 0x065f, 0x065f, 0x065f, 0x065f, 0x067f, 0x067f, 0x063f, 0x05df, 0x055f, 0x04bf, 0x043f, 0x037f, 0x1abe, 0x7a18, 0xca13, 0xca13, 0xca13, 0xc9f3, 0xc1f4, 0x7178, 0xc9f2, 0xd1f3, 0x8338, 0x061f, 0x06bf, 0x06ff, 0x071f, 0x0edf, 0xa2d5, 0xc9b3, 0xc9b3, 0xc9b2, 0xc992, 0xc992, 0xc993, 0x9172, 0x3911, 0x3910, 0x3110, 0x30f0, 0x30f0, 0x30f0, 0x28ef, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ae, 0x00f7, 0x011a, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x20ad, 0x20ae, 0x20ae, 0x18ce, 0x0918, 0x011a, 0x011a, 0x0919, 0x011a, 0x0917, 0x20cf, 0x28ae, 0x20cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x28ef, 0x30ef, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x38f0, 0x3911, 0x3911, 0x3911, 0x3911, 0x3912, 0x4112, 0x4132, 0x4932, 0x4933, 0x4933, 0x4953, 0xa2b4, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd355, 0xd375, 0xd355, 0xc3b6, 0x8519, 0x4e3c, 0x0f9f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x079f, 0x077f, 0x077f, 0x075f, 0x073f, 0x06ff, 0x06bf, 0x069f, 0x067f, 0x065f, 0x063f, 0x061f, 0x061f, 0x05ff, 0x05df, 0x05df, 0x05df, 0x05df, 0x05bf, 0x05bf, 0x05df, 0x05df, 0x05bf, 0x05bf, 0x05bf, 0x05bf, 0x05bf, 0x05bf, 0x05df, 0x05df, 0x05df, 0x05df, 0x05ff, 0x05ff, 0x061f, 0x061f, 0x061f, 0x061f, 0x061f, 0x061f, 0x05df, 0x057f, 0x04ff, 0x047f, 0x03df, 0x031f, 0x025f, 0x19de, 0x79b8, 0xc9f3, 0xca13, 0xc9f3, 0xb9d3, 0xa1b5, 0xc9d3, 0xc9f3, 0x4c5b, 0x065f, 0x06df, 0x071f, 0x071f, 0x0edf, 0xa2b5, 0xc9b3, 0xc9b3, 0xc992, 0xc992, 0xc993, 0xc992, 0xb172, 0x4911, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x30ef, 0x28ef, 0x28ef, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x10d2, 0x10f3, 0x10f3, 0x10d2, 0x20ae, 0x18ae, 0x20ae, 0x18ce, 0x20ce, 0x20ce, 0x20ce, 0x18f2, 0x10f4, 0x1114, 0x18f3, 0x20cf, 0x28ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x30ef, 0x30f0, 0x30f0, 0x30f0, 0x3110, 0x38f0, 0x3911, 0x3911, 0x3911, 0x3912, 0x3911, 0x4112, 0x4132, 0x4132, 0x4933, 0x4933, 0x4933, 0x4953, 0xa2b5, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xc3b5, 0x7d59, 0x36bd, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07bf, 0x07bf, 0x079f, 0x079f, 0x077f, 0x077f, 0x071f, 0x06de, 0x069e, 0x067e, 0x065e, 0x063f, 0x063f, 0x061e, 0x05ff, 0x05df, 0x05bf, 0x05bf, 0x059f, 0x059f, 0x059f, 0x057f, 0x057f, 0x057f, 0x057f, 0x057f, 0x057f, 0x057f, 0x057f, 0x057f, 0x057f, 0x057f, 0x057f, 0x059f, 0x059f, 0x059f, 0x05bf, 0x05bf, 0x05bf, 0x05df, 0x05df, 0x05df, 0x05bf, 0x057f, 0x04ff, 0x049f, 0x03ff, 0x037f, 0x02bf, 0x021f, 0x017f, 0x213d, 0x9996, 0xc9f3, 0xc9f3, 0xb9d4, 0x99b6, 0xc9d3, 0xc213, 0x0dbf, 0x069f, 0x06ff, 0x071f, 0x073f, 0x0eff, 0xa2b5, 0xc992, 0xc992, 0xc992, 0xc992, 0xc972, 0xc972, 0xa972, 0x4911, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ae, 0x18ce, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20af, 0x20ce, 0x28ce, 0x28cf, 0x28ef, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3110, 0x3910, 0x3911, 0x3911, 0x3911, 0x3911, 0x4111, 0x4131, 0x4112, 0x4132, 0x4913, 0x4933, 0x4933, 0x4953, 0x5154, 0xaab5, 0xd375, 0xd395, 0xd375, 0xd395, 0xd375, 0x94d8, 0x467c, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07df, 0x07bf, 0x07bf, 0x079f, 0x079f, 0x077f, 0x077f, 0x06de, 0x06be, 0x067e, 0x067e, 0x065e, 0x063e, 0x061e, 0x05fe, 0x05de, 0x05de, 0x05be, 0x059f, 0x057f, 0x057f, 0x055f, 0x055f, 0x053f, 0x053f, 0x053f, 0x053f, 0x053f, 0x053f, 0x053f, 0x053f, 0x053f, 0x053f, 0x053f, 0x053f, 0x053f, 0x055f, 0x055f, 0x055f, 0x057f, 0x057f, 0x057f, 0x057f, 0x057f, 0x055f, 0x04ff, 0x04bf, 0x041f, 0x039f, 0x031f, 0x025f, 0x01bf, 0x013f, 0x00bf, 0x40fb, 0xb1b5, 0xc9d2, 0xb1d5, 0xb1d4, 0xc9b3, 0x6399, 0x061f, 0x06df, 0x071f, 0x073f, 0x073f, 0x0eff, 0xa2b5, 0xc992, 0xc992, 0xc972, 0xc972, 0xc992, 0xc972, 0xb152, 0x4111, 0x3911, 0x30f0, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x0117, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x20ce, 0x20cd, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28ce, 0x20cf, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30ef, 0x30d0, 0x28f0, 0x3110, 0x30f0, 0x30f0, 0x30f1, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x4112, 0x4132, 0x4132, 0x4132, 0x4932, 0x4933, 0x4953, 0x4953, 0x5153, 0x4a16, 0xa2b5, 0xd395, 0xd395, 0xd395, 0xd375, 0x8539, 0x1f5e, 0x07ff, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07df, 0x07df, 0x07bf, 0x07bf, 0x079f, 0x07bf, 0x075f, 0x06be, 0x069d, 0x067d, 0x065d, 0x063d, 0x063d, 0x061d, 0x05fe, 0x05de, 0x05de, 0x05be, 0x059e, 0x057e, 0x055f, 0x053f, 0x053f, 0x051f, 0x051f, 0x04ff, 0x04ff, 0x04ff, 0x04ff, 0x04ff, 0x04ff, 0x04ff, 0x04ff, 0x04ff, 0x04ff, 0x04ff, 0x051f, 0x051f, 0x051f, 0x051f, 0x051f, 0x051f, 0x053f, 0x053f, 0x051f, 0x04df, 0x04bf, 0x043f, 0x03df, 0x035f, 0x02bf, 0x021f, 0x017f, 0x00ff, 0x009f, 0x087f, 0x7119, 0xc9d3, 0xb1d4, 0xb9d3, 0xc9b3, 0x1cfe, 0x065f, 0x06ff, 0x071f, 0x073f, 0x073f, 0x1ebe, 0xb9f3, 0xc993, 0xc972, 0xc992, 0xc972, 0xc973, 0xc952, 0xb152, 0x4111, 0x3910, 0x38f0, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x011a, 0x0139, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x20cd, 0x20ce, 0x20ae, 0x20ae, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x20cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28cf, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3910, 0x3911, 0x3911, 0x3911, 0x3911, 0x4132, 0x4132, 0x4132, 0x4932, 0x4933, 0x4933, 0x4933, 0x4953, 0x4a15, 0x3439, 0x16bd, 0x8519, 0xd395, 0xd395, 0xd395, 0x94d8, 0x1f5e, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x071e, 0x069d, 0x069d, 0x067d, 0x065d, 0x063d, 0x063d, 0x061d, 0x05fd, 0x05dd, 0x05bd, 0x059d, 0x059e, 0x057e, 0x055e, 0x053e, 0x051e, 0x04ff, 0x04ff, 0x04df, 0x04bf, 0x04bf, 0x04bf, 0x049f, 0x049f, 0x049f, 0x049f, 0x049f, 0x04bf, 0x04bf, 0x04bf, 0x04bf, 0x04bf, 0x04bf, 0x04df, 0x04bf, 0x04df, 0x04df, 0x04df, 0x04bf, 0x049f, 0x043f, 0x03df, 0x035f, 0x02ff, 0x025f, 0x01bf, 0x013f, 0x00df, 0x007f, 0x005f, 0x185e, 0x8957, 0x61b9, 0xc9d3, 0x9a96, 0x059f, 0x067f, 0x06ff, 0x071f, 0x073f, 0x075f, 0x267d, 0xb9d3, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc952, 0xb152, 0x4111, 0x38f1, 0x30f0, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18cf, 0x00f7, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x011a, 0x00f6, 0x18ce, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28cf, 0x20cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3110, 0x38f1, 0x38f1, 0x3911, 0x3911, 0x4111, 0x4112, 0x4132, 0x4112, 0x4932, 0x4932, 0x4933, 0x4933, 0x69b4, 0x6336, 0x6cd9, 0x4e5b, 0x07df, 0x8539, 0xd395, 0xd395, 0xbc17, 0x3e9c, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07ff, 0x07df, 0x07df, 0x07df, 0x07bf, 0x07df, 0x06bd, 0x069c, 0x069c, 0x067c, 0x065c, 0x065c, 0x063c, 0x061c, 0x05fc, 0x05dc, 0x05bc, 0x05bd, 0x059d, 0x057d, 0x055d, 0x053e, 0x051e, 0x04fe, 0x04de, 0x04be, 0x04bf, 0x049f, 0x047f, 0x047f, 0x047f, 0x045f, 0x045f, 0x045f, 0x047f, 0x047f, 0x047f, 0x047f, 0x047f, 0x047f, 0x047f, 0x047f, 0x047f, 0x047f, 0x049f, 0x047f, 0x045f, 0x041f, 0x03df, 0x037f, 0x031f, 0x029f, 0x021f, 0x017f, 0x011f, 0x00bf, 0x005f, 0x001f, 0x001f, 0x00ff, 0x89b7, 0xc9b3, 0x447b, 0x065f, 0x06bf, 0x071f, 0x073f, 0x073f, 0x075f, 0x3d9b, 0xc972, 0xc972, 0xc972, 0xc972, 0xc952, 0xc952, 0xc952, 0xa132, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x20ae, 0x20cd, 0x18ad, 0x18d0, 0x00f9, 0x0119, 0x0119, 0x0119, 0x00fa, 0x0119, 0x0119, 0x011a, 0x08f4, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x3110, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x3931, 0x40f1, 0x4111, 0x4132, 0x4132, 0x4132, 0x61b3, 0x9274, 0xb2f5, 0xc355, 0xd395, 0xd395, 0xd395, 0xbc16, 0x469d, 0x8539, 0xd376, 0xd375, 0x6dba, 0x0f9f, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07df, 0x07df, 0x07df, 0x077f, 0x06bc, 0x06bb, 0x069b, 0x067b, 0x065b, 0x063b, 0x063b, 0x061b, 0x05fb, 0x05db, 0x05bb, 0x059c, 0x059c, 0x057c, 0x055c, 0x053d, 0x051d, 0x04fd, 0x04dd, 0x04be, 0x049e, 0x047f, 0x047f, 0x045f, 0x043f, 0x043f, 0x041f, 0x041f, 0x041f, 0x041f, 0x041f, 0x043f, 0x043f, 0x043f, 0x043f, 0x043f, 0x043f, 0x043f, 0x043f, 0x043f, 0x041f, 0x03ff, 0x03bf, 0x037f, 0x033f, 0x02bf, 0x023f, 0x01df, 0x015f, 0x00df, 0x009f, 0x005f, 0x001f, 0x005f, 0x097f, 0xb9b3, 0xb214, 0x0dbf, 0x06ff, 0x075f, 0x073f, 0x073f, 0x075f, 0x077f, 0x6479, 0xc972, 0xc972, 0xc952, 0xc952, 0xc952, 0xc952, 0xc932, 0x9132, 0x3911, 0x3111, 0x30f0, 0x28f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x18ad, 0x18d0, 0x00f9, 0x0119, 0x00f9, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x08f4, 0x20cd, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30ef, 0x30f0, 0x28f0, 0x30f0, 0x3110, 0x38f0, 0x38f1, 0x3911, 0x3911, 0x3912, 0x4111, 0x4132, 0x4132, 0x5152, 0x8234, 0xc335, 0xd395, 0xd395, 0xd395, 0xd395, 0xac57, 0x7d7a, 0x469c, 0x0f9f, 0xa4b8, 0xd395, 0x8539, 0x1f5e, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07ff, 0x07df, 0x075d, 0x06bb, 0x06bb, 0x069a, 0x067a, 0x065a, 0x065a, 0x063a, 0x061a, 0x05fa, 0x05da, 0x05db, 0x05bb, 0x059b, 0x057b, 0x055b, 0x053c, 0x053c, 0x051c, 0x04fc, 0x04dd, 0x04bd, 0x047e, 0x047e, 0x045e, 0x043f, 0x041f, 0x03ff, 0x03ff, 0x03df, 0x03df, 0x03df, 0x03df, 0x03df, 0x03df, 0x03df, 0x03df, 0x03df, 0x03df, 0x03df, 0x03df, 0x03df, 0x03df, 0x03bf, 0x035f, 0x031f, 0x02df, 0x027f, 0x01ff, 0x019f, 0x011f, 0x00bf, 0x007f, 0x003f, 0x001f, 0x009f, 0x39db, 0xc992, 0x6399, 0x069f, 0x079f, 0x07ff, 0x07df, 0x07bf, 0x077f, 0x079f, 0x9af6, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc932, 0x7112, 0x3110, 0x30f0, 0x30ef, 0x28f0, 0x28ef, 0x28ce, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20cd, 0x20ce, 0x20ae, 0x18cf, 0x00f9, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x011a, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08f3, 0x08d3, 0x10d2, 0x20ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x3911, 0x4112, 0x4132, 0x4132, 0x5193, 0x9274, 0xcb75, 0xd395, 0xd395, 0xd395, 0xc3d6, 0x6dba, 0x1f7e, 0x07ff, 0x07ff, 0x36dd, 0xbc17, 0x8539, 0x1f5e, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07df, 0x071b, 0x06da, 0x06ba, 0x06ba, 0x0699, 0x0679, 0x0659, 0x0639, 0x0619, 0x0619, 0x05f9, 0x05da, 0x05ba, 0x059a, 0x057a, 0x055a, 0x055b, 0x053b, 0x051b, 0x04fc, 0x04dc, 0x04bc, 0x049d, 0x047d, 0x045d, 0x043e, 0x041e, 0x03fe, 0x03df, 0x03df, 0x03bf, 0x03bf, 0x039f, 0x039f, 0x039f, 0x039f, 0x039f, 0x039f, 0x039f, 0x039f, 0x039f, 0x039f, 0x039f, 0x037f, 0x035f, 0x031f, 0x02df, 0x027f, 0x023f, 0x01bf, 0x015f, 0x00ff, 0x009f, 0x005f, 0x001f, 0x003f, 0x011f, 0x99b6, 0xb9d3, 0x0d9f, 0x06df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x0f7e, 0xb9b3, 0xc952, 0xc952, 0xc952, 0xc952, 0xc931, 0xc932, 0xc132, 0x6111, 0x38f0, 0x30f0, 0x28f0, 0x30ef, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x18ce, 0x08f5, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x3110, 0x3910, 0x3911, 0x3911, 0x3912, 0x4132, 0x4132, 0x6173, 0xa2b4, 0xd395, 0xd375, 0xd395, 0xd395, 0xc3d6, 0x6dba, 0x0fbf, 0x07ff, 0x07df, 0x07ff, 0x07df, 0x1f7e, 0x07df, 0x07ff, 0x07ff, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x06f9, 0x06f9, 0x06d9, 0x06b8, 0x0698, 0x0698, 0x0678, 0x0658, 0x0638, 0x0638, 0x0618, 0x05f8, 0x05d8, 0x05b8, 0x0598, 0x0579, 0x0559, 0x0559, 0x051a, 0x04fa, 0x04db, 0x04bb, 0x049c, 0x047c, 0x045d, 0x043d, 0x041e, 0x03fe, 0x03de, 0x03bf, 0x039f, 0x039f, 0x037f, 0x037f, 0x037f, 0x035f, 0x035f, 0x035f, 0x035f, 0x035f, 0x035f, 0x035f, 0x033f, 0x033f, 0x031f, 0x02ff, 0x02bf, 0x027f, 0x023f, 0x01ff, 0x019f, 0x013f, 0x00bf, 0x007f, 0x003f, 0x001f, 0x005f, 0x197e, 0xb993, 0x6379, 0x063f, 0x073f, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x3dfb, 0xc952, 0xc952, 0xc932, 0xc932, 0xc932, 0xc932, 0xc912, 0xb912, 0x4111, 0x30f0, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x08f6, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f5, 0x20ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18cd, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0117, 0x00f7, 0x0119, 0x0119, 0x08f4, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28ef, 0x28cf, 0x28ef, 0x30ef, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x3911, 0x4111, 0x4952, 0x79f3, 0xb2f4, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x94f9, 0x0fbf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x079d, 0x0719, 0x06f8, 0x06f8, 0x06d7, 0x06b7, 0x06b7, 0x0697, 0x0676, 0x0656, 0x0637, 0x0636, 0x0617, 0x05f7, 0x05d7, 0x05b7, 0x0597, 0x0578, 0x0578, 0x0538, 0x0519, 0x04f9, 0x04da, 0x04bb, 0x049b, 0x047c, 0x043c, 0x041d, 0x041d, 0x03fe, 0x03de, 0x03be, 0x039e, 0x037f, 0x035f, 0x035f, 0x033f, 0x031f, 0x031f, 0x031f, 0x031f, 0x02ff, 0x02ff, 0x02ff, 0x02ff, 0x02df, 0x02bf, 0x029f, 0x027f, 0x023f, 0x01ff, 0x019f, 0x015f, 0x00ff, 0x009f, 0x005f, 0x003f, 0x001f, 0x00bf, 0x59ba, 0xb9b3, 0x0d3f, 0x06bf, 0x079f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x7438, 0xc952, 0xc132, 0xc932, 0xc932, 0xc932, 0xc911, 0xc912, 0xa111, 0x3911, 0x30f0, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x08f5, 0x011a, 0x0119, 0x00fa, 0x0119, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x10d3, 0x011a, 0x00f9, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x5151, 0x79f3, 0xa2b4, 0xcb75, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xc3d6, 0x469c, 0x07ff, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0xc335, 0x45d7, 0x0738, 0x0717, 0x06f6, 0x06f6, 0x06d6, 0x06b5, 0x06b5, 0x0695, 0x0675, 0x0655, 0x0635, 0x0615, 0x05f5, 0x05f5, 0x05d6, 0x05b6, 0x0597, 0x0557, 0x0538, 0x0518, 0x04f9, 0x04d9, 0x049a, 0x047b, 0x045b, 0x043c, 0x041c, 0x03dd, 0x03dd, 0x03be, 0x039e, 0x037e, 0x035f, 0x033f, 0x033f, 0x031f, 0x02ff, 0x02df, 0x02df, 0x02bf, 0x02bf, 0x02bf, 0x02bf, 0x029f, 0x029f, 0x027f, 0x025f, 0x021f, 0x01ff, 0x01bf, 0x017f, 0x011f, 0x00df, 0x009f, 0x003f, 0x001f, 0x003f, 0x013f, 0xb174, 0x6339, 0x05ff, 0x071f, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x0f9f, 0xb992, 0xc932, 0xc932, 0xc931, 0xc912, 0xc912, 0xc912, 0xc911, 0x8111, 0x30f0, 0x30f0, 0x28ef, 0x30ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20d0, 0x0119, 0x0119, 0x0119, 0x0139, 0x08f5, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x00f9, 0x0119, 0x18d0, 0x18cd, 0x18ad, 0x10d1, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28cf, 0x28ef, 0x28ef, 0x28ef, 0x30f0, 0x30f0, 0x59b2, 0x7a13, 0x9a94, 0xbb55, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xac77, 0x2f1e, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07bc, 0x0759, 0xabb5, 0xc314, 0x1e97, 0x0736, 0x0716, 0x0715, 0x06f4, 0x06f4, 0x06f3, 0x06d3, 0x06b3, 0x06b2, 0x0692, 0x0672, 0x0653, 0x0633, 0x0613, 0x05f4, 0x05d4, 0x0595, 0x0575, 0x0556, 0x0517, 0x04f8, 0x04b9, 0x0499, 0x045a, 0x043b, 0x041b, 0x03fc, 0x03dd, 0x03bd, 0x039d, 0x037e, 0x035e, 0x033e, 0x033f, 0x031f, 0x02ff, 0x02df, 0x02bf, 0x02bf, 0x029f, 0x027f, 0x027f, 0x025f, 0x025f, 0x023f, 0x021f, 0x021f, 0x01df, 0x019f, 0x017f, 0x013f, 0x00ff, 0x009f, 0x007f, 0x003f, 0x001f, 0x007f, 0x399b, 0xb993, 0x055f, 0x067f, 0x079f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x45db, 0xc132, 0xc932, 0xc912, 0xc132, 0xc912, 0xc912, 0xc911, 0xc912, 0x5111, 0x38f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x18ce, 0x10d3, 0x10f4, 0x18d0, 0x18ad, 0x18ae, 0x20cd, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x00f9, 0x10d0, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x08d4, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x20cd, 0x20ae, 0x20ad, 0x20ae, 0x18ce, 0x20ae, 0x20ce, 0x20ce, 0x28ae, 0x20ce, 0x28ee, 0x5171, 0x69d2, 0x8232, 0xaaf4, 0xc334, 0xd375, 0xd3b5, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x757a, 0x0fbf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07bd, 0x079b, 0x077a, 0x0779, 0x74d6, 0xd2d4, 0x9bf5, 0x0756, 0x0735, 0x0734, 0x0734, 0x0733, 0x0712, 0x0711, 0x0711, 0x06f0, 0x06f0, 0x06d0, 0x06af, 0x06af, 0x066f, 0x0650, 0x0631, 0x0611, 0x05d2, 0x0594, 0x0554, 0x0515, 0x04f7, 0x04b8, 0x0478, 0x0459, 0x043a, 0x03fb, 0x03bc, 0x03bc, 0x039d, 0x037d, 0x035e, 0x033e, 0x031f, 0x031f, 0x02ff, 0x02df, 0x02bf, 0x02bf, 0x027f, 0x027f, 0x025f, 0x023f, 0x023f, 0x021f, 0x01ff, 0x01df, 0x01bf, 0x019f, 0x017f, 0x013f, 0x011f, 0x00bf, 0x007f, 0x005f, 0x001f, 0x001f, 0x00df, 0xa175, 0x33bc, 0x05df, 0x06ff, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x92d5, 0xc911, 0xc132, 0xc912, 0xc912, 0xc8f2, 0xc112, 0xc912, 0xa8f1, 0x3110, 0x30f0, 0x30ef, 0x28ef, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x0119, 0x0119, 0x10cf, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x08f5, 0x0119, 0x0119, 0x00f7, 0x00f7, 0x011a, 0x011a, 0x08f5, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ad, 0x390f, 0x4970, 0x59b0, 0x7a32, 0x9293, 0xaad3, 0xcb55, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0x9cb8, 0x271d, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07de, 0x07dd, 0x07bc, 0x079b, 0x079a, 0x079a, 0x0779, 0x55b7, 0xd2b4, 0xd2b4, 0x4db5, 0x0775, 0x0774, 0x0753, 0x0773, 0x0752, 0x0750, 0x0750, 0x074f, 0x074e, 0x074d, 0x074d, 0x074c, 0x072b, 0x072b, 0x072a, 0x070a, 0x06ea, 0x06ac, 0x064d, 0x05d0, 0x0573, 0x04f5, 0x04b6, 0x0478, 0x0438, 0x041a, 0x03fb, 0x03bc, 0x039c, 0x037c, 0x033d, 0x033d, 0x031e, 0x02fe, 0x02ff, 0x02df, 0x02bf, 0x029f, 0x029f, 0x027f, 0x025f, 0x023f, 0x021f, 0x01ff, 0x01df, 0x01bf, 0x019f, 0x017f, 0x015f, 0x013f, 0x011f, 0x00df, 0x009f, 0x005f, 0x003f, 0x001f, 0x003f, 0x213d, 0x1b1e, 0x051f, 0x065f, 0x077f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x1f3d, 0xc912, 0xc912, 0xc112, 0xc112, 0xc8f1, 0xc8f2, 0xc8f1, 0xc8f2, 0x80f1, 0x30f0, 0x30f0, 0x30ef, 0x28ef, 0x28cf, 0x28ce, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x00f7, 0x00f9, 0x0119, 0x10d0, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x10d0, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x392f, 0xd395, 0xc374, 0xa2d3, 0xaad3, 0x7a31, 0x7a31, 0x7a11, 0x7231, 0x5190, 0x496f, 0x496f, 0x4970, 0x496f, 0x494f, 0x412f, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x4970, 0x494f, 0x496f, 0x496f, 0x69f1, 0x7a31, 0x7a31, 0x9272, 0xa2d3, 0xaaf3, 0xc355, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd375, 0xd395, 0xac57, 0x565c, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07de, 0x07bd, 0x07bc, 0x07bc, 0x07bb, 0x079a, 0x079a, 0x0799, 0x26b8, 0xcad4, 0xd2b4, 0xc314, 0x0f35, 0x0794, 0x0794, 0x0792, 0x0792, 0x0791, 0x0790, 0x078f, 0x078e, 0x078e, 0x078d, 0x078c, 0x07aa, 0x07a9, 0x07a9, 0x07a8, 0x07c7, 0x07c5, 0x07c4, 0x07e4, 0x07a4, 0x0727, 0x068a, 0x05af, 0x0496, 0x0438, 0x03f9, 0x03ba, 0x039b, 0x035c, 0x035d, 0x031d, 0x031d, 0x02fe, 0x02df, 0x02bf, 0x02bf, 0x029f, 0x027f, 0x025f, 0x025f, 0x023f, 0x021f, 0x01ff, 0x01df, 0x019f, 0x019f, 0x017f, 0x015f, 0x013f, 0x00ff, 0x00df, 0x00bf, 0x007f, 0x005f, 0x001f, 0x001f, 0x007f, 0x023f, 0x041f, 0x05bf, 0x06ff, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x6498, 0xc911, 0xc912, 0xc8f1, 0xc8f1, 0xc8f1, 0xc8f2, 0xc8f1, 0xc8d1, 0x50f1, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x0119, 0x0119, 0x0117, 0x10d2, 0x08f3, 0x10d3, 0x10d2, 0x18cd, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x496f, 0xaad3, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xc3d6, 0x8539, 0x36dd, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07de, 0x07bd, 0x07bd, 0x07bc, 0x07bc, 0x07bb, 0x07ba, 0x07ba, 0x07b9, 0xd2b4, 0xd2b4, 0xd2b4, 0x6535, 0x07b5, 0x07b5, 0x07b4, 0x07b3, 0x07b2, 0x07b1, 0x07b0, 0x07af, 0x07ce, 0x07cd, 0x07cc, 0x07cb, 0x07ca, 0x07ca, 0x07c9, 0x07e8, 0x07e7, 0x07e6, 0x07e5, 0x07e5, 0x07e3, 0x07e3, 0x07e2, 0x07e1, 0x0726, 0x060c, 0x04b4, 0x03b9, 0x037b, 0x035c, 0x033d, 0x031d, 0x02de, 0x02df, 0x02be, 0x029f, 0x029f, 0x027f, 0x025f, 0x023f, 0x023f, 0x021f, 0x01ff, 0x01df, 0x019f, 0x019f, 0x015f, 0x015f, 0x013f, 0x00ff, 0x00df, 0x00bf, 0x007f, 0x007f, 0x003f, 0x001f, 0x001f, 0x011f, 0x02ff, 0x04df, 0x063f, 0x077f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x0f9f, 0xb972, 0xc8f2, 0xc8f2, 0xc0f1, 0xc8f2, 0xc0f2, 0xc0f1, 0xc8d1, 0xa0f1, 0x30f0, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28ce, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ae, 0x0117, 0x0119, 0x00f9, 0x18b0, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d0, 0x00f9, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x412f, 0x8a72, 0xc334, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd375, 0xac57, 0x469c, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x467c, 0x8519, 0x8519, 0x36dd, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07de, 0x07de, 0x07de, 0x07dd, 0x07dc, 0x07dc, 0x07db, 0x07db, 0x07da, 0x07da, 0x9bf5, 0xd2b4, 0xd2b4, 0xc2f4, 0x0f77, 0x07d6, 0x07d5, 0x07d4, 0x07d4, 0x07d3, 0x07d2, 0x07d1, 0x07d0, 0x07ef, 0x07ee, 0x07ed, 0x07ec, 0x07ec, 0x07ea, 0x07e9, 0x07e9, 0x07e7, 0x07e6, 0x07e6, 0x07e5, 0x07e5, 0x07e4, 0x07e4, 0x07e3, 0x07e3, 0x07e2, 0x0785, 0x060c, 0x04d3, 0x035b, 0x031c, 0x02de, 0x02de, 0x02be, 0x029f, 0x027f, 0x025f, 0x025f, 0x023f, 0x021f, 0x01ff, 0x01df, 0x01bf, 0x019f, 0x019f, 0x017f, 0x015f, 0x013f, 0x011f, 0x00df, 0x00bf, 0x009f, 0x007f, 0x005f, 0x001f, 0x001f, 0x003f, 0x01df, 0x03bf, 0x059f, 0x06df, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x4d7a, 0xc111, 0xc0f1, 0xc8f1, 0xc8f2, 0xc8d1, 0xc8f2, 0xc0d1, 0xc8d1, 0x68f1, 0x30f0, 0x30f0, 0x28f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18cd, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x00f8, 0x18d0, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x414f, 0x61d1, 0x8251, 0xa2d3, 0xbb34, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xbc16, 0x8539, 0x469c, 0x17bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x8518, 0xd355, 0xd355, 0xd335, 0xd335, 0x84f8, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07de, 0x07fe, 0x07dd, 0x07dd, 0x07bc, 0x07dc, 0x07db, 0x07db, 0x07da, 0x8c56, 0xcab4, 0xcab4, 0xd294, 0x4df7, 0x07d7, 0x07d7, 0x07d6, 0x07f5, 0x07d5, 0x07f3, 0x07f3, 0x07f2, 0x07f1, 0x07f0, 0x07ef, 0x07ee, 0x07ed, 0x07ec, 0x07eb, 0x07eb, 0x07ea, 0x07e9, 0x07e8, 0x07e8, 0x07e7, 0x07e7, 0x07e6, 0x07e6, 0x07e5, 0x07e5, 0x07e5, 0x07e5, 0x07e4, 0x07a6, 0x060e, 0x03f8, 0x02de, 0x02be, 0x029f, 0x027f, 0x025f, 0x023f, 0x023f, 0x021f, 0x01ff, 0x01df, 0x01bf, 0x019f, 0x019f, 0x017f, 0x015f, 0x013f, 0x011f, 0x00df, 0x00bf, 0x009f, 0x007f, 0x005f, 0x003f, 0x001f, 0x001f, 0x00bf, 0x029f, 0x049f, 0x063f, 0x075f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xb1d3, 0xc8f1, 0xc8f2, 0xc0f1, 0xc8d1, 0xc8d1, 0xc0f1, 0xc8d1, 0xb8d1, 0x40f0, 0x30f0, 0x28f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20cf, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0139, 0x00f8, 0x18b0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d0, 0x00f9, 0x0119, 0x00f7, 0x18af, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x310e, 0x496f, 0x5990, 0x7a12, 0x7a32, 0x9272, 0xa2d3, 0xa2d3, 0xc375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xac77, 0x757a, 0x36fd, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x4e3c, 0xd355, 0xd335, 0xd355, 0xd335, 0xd335, 0xd334, 0x7539, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07fe, 0x07dd, 0x07dd, 0x07dd, 0x07dc, 0x07fc, 0x07dc, 0x07db, 0x6d38, 0xcab4, 0xd294, 0xd294, 0xab95, 0x07d8, 0x07d8, 0x07f7, 0x07f7, 0x07f6, 0x07f5, 0x07f5, 0x07f4, 0x07f3, 0x07f2, 0x07f1, 0x07f0, 0x07ef, 0x07ee, 0x07ed, 0x07ed, 0x07ec, 0x07ec, 0x07eb, 0x07ea, 0x07ea, 0x07ea, 0x07e9, 0x07e9, 0x07e8, 0x07e8, 0x07e8, 0x07e8, 0x07e7, 0x07e7, 0x07e8, 0x07c8, 0x06eb, 0x0514, 0x033c, 0x027f, 0x025f, 0x023f, 0x021f, 0x01ff, 0x01df, 0x01bf, 0x019f, 0x019f, 0x017f, 0x015f, 0x013f, 0x011f, 0x00ff, 0x00df, 0x00bf, 0x009f, 0x009f, 0x005f, 0x005f, 0x003f, 0x001f, 0x001f, 0x015f, 0x037f, 0x057f, 0x06df, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x4d5a, 0xc8f1, 0xc8d1, 0xc0f1, 0xc8d1, 0xc8d1, 0xc0d1, 0xc0d1, 0xc8b1, 0x78d1, 0x3110, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0117, 0x0117, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18af, 0x0118, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x496f, 0x496f, 0x4970, 0x7a12, 0x7a31, 0x8252, 0xaad3, 0xa2d3, 0xbb34, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xcbd6, 0x94f8, 0x565b, 0x0fbf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xb3f6, 0xd335, 0xd335, 0xd334, 0xd335, 0xd335, 0xd335, 0xd334, 0x1f7e, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07de, 0x07dd, 0x07fd, 0x07fd, 0x07fd, 0x07dd, 0x07dc, 0x6d38, 0xcab4, 0xd294, 0xca94, 0xd294, 0x1f39, 0x07f9, 0x07f8, 0x07f8, 0x07f8, 0x07f7, 0x07f7, 0x07f6, 0x07f5, 0x07f4, 0x07f3, 0x07f2, 0x07f2, 0x07f1, 0x07f0, 0x07ef, 0x07ef, 0x07ee, 0x07ee, 0x07ed, 0x07ed, 0x07ec, 0x07ed, 0x07ec, 0x07eb, 0x07ec, 0x07eb, 0x07eb, 0x07ea, 0x07ea, 0x07ea, 0x07ca, 0x07ab, 0x076c, 0x070d, 0x05b2, 0x039b, 0x023f, 0x021f, 0x01ff, 0x01df, 0x01bf, 0x019f, 0x017f, 0x017f, 0x015f, 0x013f, 0x011f, 0x00ff, 0x00df, 0x00df, 0x009f, 0x009f, 0x007f, 0x005f, 0x003f, 0x003f, 0x001f, 0x60d9, 0x0a3f, 0x047f, 0x063f, 0x075f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xa9d3, 0xc0d1, 0xc8d1, 0xc0f1, 0xc8b1, 0xc0d1, 0xc8b1, 0xc0b1, 0xb8b1, 0x48f1, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x10d0, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x00f9, 0x10d0, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18d0, 0x00f9, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x18cd, 0x20ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x4970, 0x4970, 0x5990, 0x7a31, 0x7231, 0x7a31, 0x7a31, 0x9ab3, 0xaad4, 0xa2d4, 0xb314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0x94f8, 0x565c, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xd335, 0xd334, 0xd335, 0xd335, 0xd335, 0xd335, 0xd314, 0xd315, 0x5ddb, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fd, 0x07fd, 0x6d58, 0xd294, 0xd293, 0xca94, 0xd274, 0x4df8, 0x07fb, 0x07fa, 0x07fa, 0x07f9, 0x07f9, 0x07f8, 0x07f7, 0x07f6, 0x07f6, 0x07f5, 0x07f5, 0x07f4, 0x07f3, 0x07f3, 0x07f2, 0x07f1, 0x07f1, 0x07f0, 0x07f0, 0x07f0, 0x07ef, 0x07ef, 0x07ef, 0x07ef, 0x07ef, 0x07ee, 0x07ee, 0x07ee, 0x07ee, 0x07ee, 0x07ed, 0x07cd, 0x078e, 0x076e, 0x0710, 0x06b1, 0x0574, 0x037b, 0x01ff, 0x01df, 0x01bf, 0x019f, 0x017f, 0x017f, 0x013f, 0x013f, 0x011f, 0x00ff, 0x00df, 0x00bf, 0x009f, 0x009f, 0x007f, 0x005f, 0x003f, 0x003f, 0x001f, 0x88d6, 0x6159, 0x031f, 0x053f, 0x06df, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x4d5b, 0xc0d1, 0xc8d1, 0xc8d1, 0xc0b1, 0xc8b1, 0xc8b2, 0xc0b1, 0xc8b1, 0x90d1, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28cf, 0x20cf, 0x20cf, 0x20ce, 0x20ae, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x0119, 0x011a, 0x10d1, 0x18ad, 0x18ad, 0x10d1, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, + 0x00f8, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x0117, 0x0119, 0x0119, 0x10cf, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18b0, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ae, 0x18ad, 0x18ce, 0x18ad, 0x20ae, 0x20ad, 0x20ce, 0x20ce, 0x290f, 0x5170, 0x5170, 0x69f1, 0x7a32, 0x8232, 0xaaf3, 0xaaf4, 0xcb75, 0xd395, 0xd396, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xc3b6, 0x8539, 0x1f7f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xd335, 0xd335, 0xd335, 0xd315, 0xd314, 0xd315, 0xd314, 0xd314, 0x659a, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x6d39, 0xd294, 0xca94, 0xd274, 0xca74, 0x7c96, 0x07fc, 0x07fc, 0x07fb, 0x07fb, 0x07fa, 0x07fa, 0x07f9, 0x07f8, 0x07f8, 0x07f7, 0x07f7, 0x07f6, 0x07f6, 0x07f5, 0x07f4, 0x07f4, 0x07f3, 0x07f3, 0x07f3, 0x07f2, 0x07f2, 0x07f2, 0x07f2, 0x07f2, 0x07f2, 0x07f2, 0x07f1, 0x07f1, 0x07f1, 0x07f1, 0x07f0, 0x07f1, 0x07d0, 0x0791, 0x0751, 0x0712, 0x0693, 0x0634, 0x0517, 0x02dd, 0x01bf, 0x019f, 0x017f, 0x015f, 0x015f, 0x013f, 0x011f, 0x00ff, 0x00df, 0x00bf, 0x00bf, 0x007f, 0x005f, 0x005f, 0x003f, 0x003f, 0x001f, 0x60b8, 0xb8f3, 0x09bf, 0x041f, 0x061f, 0x073f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xb1b3, 0xc0d1, 0xc0d1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0x48f1, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, + 0x011a, 0x0118, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x00f9, 0x0119, 0x10d0, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18af, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x20ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18cd, 0x18ae, 0x00f7, 0x011a, 0x011a, 0x011a, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28ce, 0x28cf, 0x28ef, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x5172, 0x61b2, 0x8a54, 0x9a94, 0xb335, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0x9c97, 0x36dd, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xac17, 0xd335, 0xd314, 0xd335, 0xd314, 0xd315, 0xd315, 0xd2f4, 0x467c, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x6d59, 0xd274, 0xca94, 0xd274, 0xca74, 0xb334, 0x07fe, 0x07fd, 0x07fd, 0x07fd, 0x07fc, 0x07fc, 0x07fb, 0x07fa, 0x07fa, 0x07fa, 0x07f9, 0x07f8, 0x07f8, 0x07f8, 0x07f7, 0x07f6, 0x07f6, 0x07f6, 0x07f5, 0x07f5, 0x07f5, 0x07f5, 0x07f5, 0x07f5, 0x07f5, 0x07f5, 0x07f5, 0x07f5, 0x07f5, 0x07f4, 0x07f4, 0x07f4, 0x07d3, 0x07b3, 0x0793, 0x0753, 0x0714, 0x06b5, 0x5516, 0x0538, 0x037c, 0x01ff, 0x017f, 0x015f, 0x013f, 0x011f, 0x011f, 0x00ff, 0x00df, 0x00bf, 0x009f, 0x009f, 0x007f, 0x005f, 0x005f, 0x003f, 0x001f, 0x6099, 0xc911, 0x491a, 0x02df, 0x051f, 0x06bf, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x6459, 0xc8b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x90d1, 0x30f1, 0x30f0, 0x30ef, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x00f7, 0x00f7, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x00f7, 0x011a, 0x00f8, 0x10d0, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x08f5, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x20ad, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x3111, 0x3911, 0x3911, 0x4132, 0x4132, 0x5152, 0x69d3, 0x9274, 0xb2f5, 0xd395, 0xd395, 0xd375, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xa478, 0x36dd, 0x07ff, 0x07ff, 0x563c, 0xd335, 0xd334, 0xd315, 0xd315, 0xd2f4, 0xcb15, 0xbb96, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x8498, 0xca94, 0xca94, 0xd274, 0xca74, 0xca74, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fd, 0x07fd, 0x07fc, 0x07fc, 0x07fc, 0x07fb, 0x07fb, 0x07fa, 0x07fa, 0x07f9, 0x07f9, 0x07f8, 0x07f8, 0x07f8, 0x07f8, 0x07f7, 0x07f7, 0x07f7, 0x07f7, 0x07f7, 0x07f7, 0x07f7, 0x07f7, 0x07f7, 0x07f7, 0x07f7, 0x07f7, 0x07f6, 0x07f6, 0x07d6, 0x07b6, 0x0796, 0x0756, 0x0716, 0xa456, 0xbbd6, 0x3479, 0x02fd, 0x023f, 0x019f, 0x015f, 0x011f, 0x00ff, 0x00ff, 0x00bf, 0x00bf, 0x009f, 0x009f, 0x007f, 0x005f, 0x003f, 0x003f, 0x003f, 0x78b7, 0xc111, 0xa114, 0x01ff, 0x041f, 0x05ff, 0x075f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x0f9f, 0xc0b1, 0xc0d2, 0xc8b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x48f1, 0x30f0, 0x30ef, 0x28f0, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ce, 0x08f7, 0x0119, 0x00f8, 0x10cf, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x00f9, 0x18b0, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18af, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ae, 0x20cd, 0x20cd, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28ce, 0x28cf, 0x28cf, 0x28cf, 0x28f0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x4132, 0x4132, 0x4932, 0x4933, 0x4953, 0x5154, 0x5154, 0x71f4, 0x9a75, 0xb2f5, 0xd375, 0xd375, 0xd375, 0xd355, 0xd375, 0xd355, 0xd375, 0xd355, 0xd355, 0xd335, 0xd335, 0x9c78, 0x36dd, 0x07ff, 0x9c57, 0xd335, 0xd315, 0xd334, 0xd314, 0xc355, 0x271d, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x9bf7, 0xca94, 0xd274, 0xca73, 0xca74, 0xd253, 0x2efd, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07fe, 0x07fd, 0x07fd, 0x07fd, 0x07fc, 0x07fc, 0x07fb, 0x07fb, 0x07fb, 0x07fa, 0x07fa, 0x07fa, 0x07f9, 0x07f9, 0x07f9, 0x07f9, 0x07f9, 0x07f9, 0x07fa, 0x07fa, 0x07fa, 0x07fa, 0x07fa, 0x07fa, 0x07f9, 0x07f9, 0x07f9, 0x07f8, 0x07d8, 0x07b8, 0x0797, 0x0758, 0x0ef8, 0xbbf6, 0xd395, 0x6b99, 0x025f, 0x021f, 0x01bf, 0x013f, 0x011f, 0x00ff, 0x00df, 0x00bf, 0x009f, 0x009f, 0x007f, 0x005f, 0x005f, 0x003f, 0x001f, 0x98d5, 0xc8f2, 0xc911, 0x195e, 0x033f, 0x053f, 0x06bf, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x7b76, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0x88d1, 0x30f1, 0x30f0, 0x28f0, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ae, 0x18ae, 0x00f7, 0x011a, 0x00f9, 0x18cf, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x00f8, 0x18d0, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18b0, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x00f9, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x00fa, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x20ae, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20cf, 0x28ce, 0x28cf, 0x28cf, 0x28ef, 0x30ef, 0x30f0, 0x30f0, 0x3111, 0x3910, 0x3911, 0x4111, 0x4912, 0x4133, 0x4932, 0x4933, 0x5154, 0x5154, 0x5955, 0x5955, 0x5975, 0x6996, 0x8a16, 0xaad5, 0xcb55, 0xd375, 0xd355, 0xd354, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xcb35, 0x84f9, 0x0fbf, 0x5ddb, 0xa457, 0x9c58, 0x84d8, 0x1f5e, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x9bd6, 0xca74, 0xca74, 0xca74, 0xca74, 0xca74, 0x369c, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07fe, 0x07fe, 0x07fd, 0x07fd, 0x07fd, 0x07fc, 0x07fc, 0x07fc, 0x07fb, 0x07fb, 0x07fb, 0x07fb, 0x07fb, 0x07fb, 0x07fb, 0x07fb, 0x07fb, 0x07fc, 0x07fc, 0x07fc, 0x07fc, 0x07fb, 0x07fb, 0x07fb, 0x07fb, 0x07da, 0x07da, 0x07ba, 0x079a, 0x0779, 0x2e99, 0xc3d6, 0xd395, 0x8339, 0x0a3e, 0x01df, 0x019f, 0x015f, 0x011f, 0x00ff, 0x00bf, 0x009f, 0x007f, 0x007f, 0x007f, 0x003f, 0x003f, 0x003f, 0x90d5, 0xc912, 0xc0f1, 0x7117, 0x027f, 0x049f, 0x065f, 0x077f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x269d, 0xc891, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xb8b1, 0x3110, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ae, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x10cf, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0139, 0x00f8, 0x18b0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18d0, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x00f9, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20cd, 0x18ce, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28ef, 0x28cf, 0x28ef, 0x28d0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x3931, 0x4132, 0x4132, 0x4933, 0x5133, 0x5153, 0x5154, 0x5154, 0x5975, 0x6175, 0x6195, 0x9255, 0x8b14, 0x4ad3, 0x7a94, 0xab14, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd315, 0xd314, 0xd335, 0xc355, 0x467c, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xc2d4, 0xca74, 0xca74, 0xd274, 0xca74, 0xd253, 0x369c, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fd, 0x07fd, 0x07fd, 0x07fd, 0x07fd, 0x07fc, 0x07fc, 0x07fc, 0x07fd, 0x07fd, 0x07fd, 0x07fd, 0x07fd, 0x07fd, 0x07fe, 0x07fe, 0x07fe, 0x07fd, 0x07fd, 0x07fd, 0x07fc, 0x07fc, 0x07db, 0x07bb, 0x07bb, 0x077b, 0x2eba, 0xc3d6, 0xd395, 0xb337, 0x09df, 0x01bf, 0x017f, 0x013f, 0x011f, 0x00df, 0x009f, 0x009f, 0x007f, 0x005f, 0x005f, 0x003f, 0x003f, 0x7896, 0xc0f1, 0xc8f1, 0xa8f3, 0x01df, 0x03df, 0x05bf, 0x071f, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xa214, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0x68f1, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x00f9, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18af, 0x00f9, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ef, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30ef, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x4111, 0x4132, 0x4932, 0x4933, 0x5133, 0x5153, 0x5154, 0x5954, 0x6195, 0x9a75, 0xcb55, 0xcb75, 0x5bb4, 0x3b34, 0x42b3, 0x4a33, 0x6253, 0x9ab4, 0xd335, 0xd335, 0xd315, 0xd334, 0xd314, 0xd315, 0xd314, 0xd314, 0x5ddb, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x1f5e, 0xd274, 0xd274, 0xd274, 0xd274, 0xd274, 0xca53, 0x369d, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07fe, 0x07fe, 0x07fd, 0x07dd, 0x07dd, 0x07bd, 0x079c, 0x561a, 0xd395, 0xd395, 0xab37, 0x099f, 0x015f, 0x013f, 0x011f, 0x00ff, 0x00bf, 0x009f, 0x007f, 0x007f, 0x005f, 0x003f, 0x003f, 0x305c, 0xc0f1, 0xc8f1, 0xc8d1, 0x215d, 0x033f, 0x051f, 0x06df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x5cd9, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x98d1, 0x38f0, 0x30f0, 0x30f0, 0x28cf, 0x28ef, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x011a, 0x00f8, 0x10d0, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ce, 0x00f7, 0x0119, 0x00f8, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f8, 0x011a, 0x00f7, 0x18ae, 0x20ae, 0x18ad, 0x18ad, 0x18cd, 0x18b0, 0x00f9, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x0117, 0x0119, 0x0119, 0x011a, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x4111, 0x4131, 0x4132, 0x4933, 0x4933, 0x5154, 0x5974, 0x9255, 0xcb55, 0xd375, 0xbb95, 0x5474, 0x3c34, 0x3bb4, 0x4333, 0x42b3, 0x4a13, 0x49f3, 0x5a32, 0x9ab4, 0xd334, 0xd335, 0xd314, 0xd314, 0xd315, 0xd314, 0xd2f4, 0x84d8, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x4ddb, 0xd274, 0xca74, 0xca73, 0xd274, 0xca54, 0xca54, 0x369c, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07fe, 0x07dd, 0x07de, 0x079d, 0x6d99, 0xd395, 0xd395, 0xab17, 0x097f, 0x011f, 0x011f, 0x00ff, 0x00bf, 0x00bf, 0x009f, 0x007f, 0x007f, 0x003f, 0x003f, 0x003f, 0xc8f1, 0xc8f1, 0xc8d1, 0x5119, 0x02df, 0x04ff, 0x06bf, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x1f1e, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x4910, 0x30f0, 0x30f0, 0x28ef, 0x28ef, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f8, 0x10d0, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f7, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x00f7, 0x18ae, 0x20ae, 0x18ad, 0x18ad, 0x18ae, 0x10cf, 0x00f9, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ae, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x3910, 0x3911, 0x4112, 0x4132, 0x4132, 0x4933, 0x5133, 0x8214, 0xcb55, 0xd375, 0xd375, 0xb3d5, 0x3d55, 0x3515, 0x3495, 0x3c14, 0x3b94, 0x3b13, 0x4293, 0x4212, 0x49f3, 0x49f3, 0x5a13, 0x9ab4, 0xd314, 0xd315, 0xcb15, 0xd2f4, 0xd2f5, 0xd2f4, 0x7539, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x8c37, 0xca74, 0xd273, 0xd253, 0xca54, 0xca53, 0xd253, 0x1f5e, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07df, 0x07df, 0x94d8, 0xd396, 0xd395, 0x8299, 0x00ff, 0x00ff, 0x00ff, 0x00bf, 0x00bf, 0x009f, 0x007f, 0x005f, 0x005f, 0x003f, 0x001f, 0xc8d1, 0xc0f1, 0xc0d1, 0xa0d4, 0x027f, 0x04bf, 0x069f, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x8315, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x70f1, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f7, 0x011a, 0x0118, 0x10d0, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ae, 0x00f7, 0x011a, 0x0119, 0x0119, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x011a, 0x0119, 0x0117, 0x18ae, 0x20cd, 0x18ad, 0x18ae, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28ce, 0x28cf, 0x28cf, 0x28cf, 0x28f0, 0x30f0, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x4132, 0x4132, 0x4132, 0x5973, 0xb2f4, 0xd375, 0xd375, 0xd375, 0x9435, 0x3d55, 0x2d55, 0x2d75, 0x3515, 0x3c94, 0x3414, 0x3b94, 0x4313, 0x4293, 0x4a13, 0x41f3, 0x49f2, 0x4a13, 0x5a33, 0xa2b4, 0xd314, 0xd2f4, 0xd2f4, 0xd2d4, 0xd2f4, 0x4e1b, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x179f, 0xd274, 0xca53, 0xca73, 0xca53, 0xca53, 0xca53, 0xd253, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x0f9e, 0xbc16, 0xd395, 0xd395, 0x725a, 0x00bf, 0x00bf, 0x00bf, 0x009f, 0x007f, 0x007f, 0x005f, 0x005f, 0x003f, 0x001f, 0x90b5, 0xc8d1, 0xc8d1, 0xc0d1, 0x123e, 0x047f, 0x067f, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x54d9, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0x90d1, 0x38f1, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ce, 0x00f7, 0x011a, 0x00f8, 0x10d0, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x20ae, 0x18ad, 0x18ae, 0x18ad, 0x18d0, 0x00f9, 0x00f9, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28f0, 0x30f0, 0x38f0, 0x30f0, 0x3911, 0x3911, 0x4112, 0x4132, 0x8234, 0xcb55, 0xd375, 0xd375, 0xd355, 0x9435, 0x3575, 0x3575, 0x2d75, 0x3555, 0x3555, 0x3514, 0x3474, 0x3bf4, 0x3b73, 0x42f4, 0x4273, 0x4a13, 0x4213, 0x49f2, 0x49f3, 0x49f3, 0x6a33, 0xbad4, 0xd2f5, 0xd2f4, 0xd2d4, 0xc335, 0x177e, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x5d9a, 0xca54, 0xd273, 0xca54, 0xca53, 0xca53, 0xca53, 0x9bb6, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07df, 0x07df, 0x07df, 0x07bf, 0x07bf, 0x07bf, 0x079f, 0x077f, 0x077f, 0x077e, 0x07bf, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07bf, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x36dd, 0xd395, 0xd395, 0xd395, 0x51bc, 0x009f, 0x009f, 0x007f, 0x007f, 0x007f, 0x005f, 0x005f, 0x003f, 0x001f, 0x7077, 0xc0d2, 0xc8d1, 0xc0d1, 0x49fa, 0x049f, 0x069f, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x1f1e, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0x3910, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ce, 0x08f7, 0x0119, 0x00f8, 0x18b0, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x0119, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x4952, 0xaab4, 0xd375, 0xd375, 0xd375, 0xd355, 0x9435, 0x3575, 0x3575, 0x2d75, 0x2d75, 0x2d75, 0x3555, 0x54d5, 0x6475, 0x83b5, 0x8b74, 0x9b34, 0xab14, 0xaad4, 0xb2d4, 0xaad4, 0xaab4, 0xaab4, 0xb2b4, 0x6b15, 0x8a94, 0xc2d4, 0xd2f4, 0xd2d4, 0x84b8, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xb315, 0xd274, 0xca53, 0xca54, 0xca53, 0xca53, 0xd253, 0x653a, 0x07ff, 0x07ff, 0x07df, 0x07df, 0x07ff, 0x07df, 0x07df, 0x07bf, 0x07bf, 0x079f, 0x079f, 0x077f, 0x075f, 0x075f, 0x073f, 0x073f, 0x071f, 0x071e, 0x071e, 0x073e, 0x079f, 0x07df, 0x07ff, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x7d7a, 0xd395, 0xd395, 0xc375, 0x28fe, 0x007f, 0x007f, 0x005f, 0x005f, 0x003f, 0x005f, 0x003f, 0x003f, 0x183e, 0xc0d1, 0xc0d1, 0xc0d2, 0x7996, 0x04bf, 0x067f, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xa214, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0x58f1, 0x30f0, 0x30f0, 0x30f0, 0x28cf, 0x28ef, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x18ad, 0x18ae, 0x18ae, 0x00f7, 0x011a, 0x00f8, 0x18d0, 0x18ad, 0x18ad, 0x20cd, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x20ad, 0x18cd, 0x20ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18d0, 0x00f9, 0x0119, 0x0117, 0x18ce, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x5972, 0xcb55, 0xd375, 0xd375, 0xd375, 0xd375, 0xabd5, 0x4515, 0x54f5, 0x7c75, 0x8c35, 0xabd5, 0xcb55, 0xd335, 0xd335, 0xd334, 0xd335, 0xd335, 0xd315, 0xd314, 0xd314, 0xc355, 0x9c37, 0x659a, 0x467c, 0x0fbf, 0x07ff, 0x07ff, 0x269d, 0x9c17, 0xd2d4, 0x9c17, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x5d9a, 0xd274, 0xca53, 0xca54, 0xca53, 0xca33, 0xca33, 0xca33, 0x26dd, 0x07ff, 0x07df, 0x07df, 0x07df, 0x07df, 0x07bf, 0x079f, 0x079f, 0x077f, 0x077f, 0x075f, 0x073f, 0x071e, 0x071e, 0x06fe, 0x06fe, 0x06ff, 0x06de, 0x06de, 0x06be, 0x06be, 0x06de, 0x073e, 0x079f, 0x07bf, 0x07bf, 0x079f, 0x079f, 0x079f, 0x077f, 0x079f, 0x079f, 0x077f, 0x079f, 0x079f, 0x079f, 0x079f, 0x07bf, 0x07bf, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x0fbf, 0xc3f6, 0xd395, 0xd395, 0xaaf7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x001f, 0x001f, 0xa094, 0xc0d1, 0xc8b1, 0xa8f3, 0x04bf, 0x069f, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x73d8, 0xb8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0x78f1, 0x3911, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x011a, 0x011a, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18cd, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0118, 0x18d0, 0x18ad, 0x18ad, 0x18ad, 0x188d, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18cd, 0x10cf, 0x0119, 0x00f9, 0x0117, 0x18ce, 0x188d, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x3111, 0x71f2, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd375, 0xd355, 0xd355, 0xd335, 0xd335, 0xd355, 0xd335, 0xd335, 0xcb14, 0xd334, 0xd334, 0xac16, 0x753a, 0x467d, 0x1f5e, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x369c, 0x4e1b, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x26fd, 0xc2b4, 0xca53, 0xca53, 0xca53, 0xd253, 0xca33, 0xca33, 0xa356, 0x07ff, 0x07ff, 0x07df, 0x07bf, 0x07bf, 0x079f, 0x077f, 0x077f, 0x075f, 0x073f, 0x071f, 0x071f, 0x06ff, 0x06fe, 0x06fe, 0x06de, 0x06be, 0x06be, 0x069e, 0x069e, 0x069e, 0x067e, 0x067e, 0x065e, 0x065e, 0x06be, 0x073e, 0x075f, 0x075f, 0x075f, 0x075f, 0x075f, 0x075f, 0x075f, 0x075f, 0x077f, 0x077f, 0x077f, 0x077f, 0x079f, 0x07bf, 0x07bf, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07df, 0x6dda, 0xd395, 0xd376, 0xd375, 0x79fa, 0x003f, 0x003f, 0x001f, 0x003f, 0x001f, 0x001f, 0x001f, 0x001f, 0x8896, 0xc0b1, 0xc0b1, 0xc8b1, 0x0c9f, 0x069f, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x3dbb, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xb8d1, 0xc0b1, 0xc0b1, 0x98d1, 0x3911, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ad, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x011a, 0x0119, 0x18b0, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x00f9, 0x0119, 0x00f7, 0x18ce, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x9a93, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd355, 0xd355, 0xd335, 0xd335, 0xc375, 0x84f9, 0x4e3c, 0x0fbf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x0f9f, 0xab75, 0xca54, 0xd253, 0xca53, 0xca33, 0xca33, 0xd233, 0xca33, 0x4dbb, 0x07df, 0x07bf, 0x07bf, 0x079f, 0x077f, 0x075f, 0x075f, 0x073f, 0x071f, 0x071f, 0x06ff, 0x06de, 0x06de, 0x06de, 0x06be, 0x06be, 0x069e, 0x067e, 0x067e, 0x067e, 0x065e, 0x063e, 0x063e, 0x061e, 0x061e, 0x05fe, 0x05fd, 0x067d, 0x06de, 0x06fe, 0x06fe, 0x06fe, 0x06fe, 0x071e, 0x073f, 0x073f, 0x073f, 0x073e, 0x075f, 0x077f, 0x079f, 0x079f, 0x07bf, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x0fbf, 0xc3d6, 0xd375, 0xd375, 0xd355, 0x30fd, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x001f, 0x001f, 0x6058, 0xc0b1, 0xc0b1, 0xc0b1, 0x33fc, 0x06bf, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x0f9e, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xb8b1, 0xc0b1, 0xb8d1, 0xb8d1, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ad, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0118, 0x18d0, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18b0, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x30f0, 0x3910, 0xaaf4, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xb3d6, 0x7539, 0x271d, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x2efd, 0xb315, 0xca53, 0xca54, 0xca33, 0xca53, 0xca34, 0xca34, 0xca33, 0xa335, 0x07bf, 0x07bf, 0x079f, 0x077f, 0x075f, 0x073f, 0x073f, 0x071f, 0x06ff, 0x06ff, 0x06df, 0x06de, 0x06bf, 0x06be, 0x069e, 0x069e, 0x069e, 0x067e, 0x065e, 0x065e, 0x063e, 0x061e, 0x061e, 0x05fe, 0x05de, 0x05bd, 0x05be, 0x059d, 0x055e, 0x055e, 0x05be, 0x05fe, 0x061d, 0x067e, 0x06be, 0x06fe, 0x06fe, 0x071f, 0x071e, 0x073f, 0x073f, 0x075f, 0x077f, 0x079f, 0x07bf, 0x07bf, 0x07df, 0x07ff, 0x07ff, 0x8539, 0xd375, 0xd355, 0xd355, 0xbaf6, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x403b, 0xc8b1, 0xc0b1, 0xc0b1, 0x6318, 0x06bf, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xa9b3, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xb8d1, 0x4910, 0x3910, 0x30f0, 0x30f0, 0x28cf, 0x28ef, 0x28cf, 0x20cf, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x10d3, 0x10d3, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x0117, 0x011a, 0x0119, 0x18af, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ae, 0x18cf, 0x00f8, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x20cf, 0x28cf, 0x28cf, 0x28ef, 0x30cf, 0x3910, 0xb314, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd354, 0xd355, 0xd355, 0xcb96, 0x8518, 0x36dd, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x0fbe, 0x653a, 0xca54, 0xca53, 0xd253, 0xca53, 0xca53, 0xca33, 0xca33, 0xca33, 0xca33, 0x2e9d, 0x077f, 0x077f, 0x075f, 0x073f, 0x073f, 0x071f, 0x06ff, 0x06fe, 0x06df, 0x06de, 0x06bf, 0x06be, 0x06bf, 0x069e, 0x067e, 0x067e, 0x065e, 0x065e, 0x063e, 0x061e, 0x061e, 0x05fe, 0x05de, 0x05be, 0x05be, 0x059e, 0x057e, 0x053e, 0x051e, 0x04fe, 0x04be, 0x049e, 0x041e, 0x03dd, 0x04de, 0x065e, 0x06be, 0x06de, 0x06de, 0x06fe, 0x071f, 0x073e, 0x077f, 0x079f, 0x079f, 0x07bf, 0x07df, 0x07df, 0x07ff, 0x36dd, 0xd355, 0xd355, 0xd355, 0xd335, 0x699a, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0xb8b2, 0xc091, 0xc0b1, 0x7a96, 0x06bf, 0x079f, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x82f5, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb8d1, 0x60f1, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28ef, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f7, 0x0119, 0x08f7, 0x18ce, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x10d0, 0x0118, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x20ad, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28ce, 0x20cf, 0x28cf, 0x28ef, 0x3910, 0xb314, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xbbd6, 0x5dfb, 0x0fbf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x0fbf, 0x5d9a, 0xb315, 0xd254, 0xca53, 0xd254, 0xca53, 0xca53, 0xca33, 0xd233, 0xca33, 0xca33, 0x64d9, 0x077f, 0x073f, 0x073f, 0x071f, 0x06ff, 0x06ff, 0x06df, 0x06df, 0x06df, 0x06bf, 0x06be, 0x069f, 0x069f, 0x067e, 0x065e, 0x065e, 0x063e, 0x063e, 0x061e, 0x05fe, 0x05fe, 0x05de, 0x05be, 0x059e, 0x059e, 0x055e, 0x055e, 0x051e, 0x04fe, 0x04de, 0x049e, 0x043d, 0x03de, 0x03be, 0x039e, 0x037e, 0x03fe, 0x05fe, 0x069e, 0x069e, 0x06be, 0x06fe, 0x071e, 0x073f, 0x075f, 0x079f, 0x079f, 0x07df, 0x07df, 0x07df, 0x07ff, 0xbbf6, 0xd355, 0xd335, 0xd335, 0xc2f5, 0x083f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x9095, 0xc8b1, 0xc8b1, 0x91f5, 0x067f, 0x06ff, 0x073f, 0x075f, 0x077f, 0x07bf, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x54d9, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xb8d1, 0xc0d1, 0xb8d1, 0xb8d1, 0x80f2, 0x3911, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x20cd, 0x20ae, 0x18ad, 0x18ae, 0x20ae, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ce, 0x08f7, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f6, 0x18ce, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28ce, 0x28cf, 0x28cf, 0x3110, 0xb314, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0x9c77, 0x563b, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x1f7e, 0x65db, 0x7cf9, 0x9c57, 0x9c57, 0x9c57, 0x9c57, 0x9c37, 0x9c37, 0x9c37, 0x9c37, 0x7539, 0x6d7a, 0x6579, 0x5dbb, 0x36bd, 0x36bd, 0x36bc, 0x2efd, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x0fbf, 0x36bd, 0x5d9a, 0x8c37, 0xd274, 0xd273, 0xd254, 0xca53, 0xd254, 0xd253, 0xca33, 0xd233, 0xca34, 0xca13, 0xca33, 0x8418, 0x075f, 0x073f, 0x071f, 0x06ff, 0x06ff, 0x06df, 0x06df, 0x06df, 0x06bf, 0x06bf, 0x069e, 0x069f, 0x067e, 0x067e, 0x065e, 0x065e, 0x063e, 0x061e, 0x061e, 0x05fe, 0x05de, 0x05de, 0x05be, 0x05be, 0x057e, 0x055e, 0x051e, 0x051e, 0x04fe, 0x04be, 0x045e, 0x03fe, 0x03be, 0x039e, 0x037e, 0x037e, 0x035e, 0x033e, 0x035e, 0x061d, 0x067e, 0x067e, 0x069e, 0x06be, 0x06fe, 0x073f, 0x075f, 0x077f, 0x079f, 0x07df, 0x07df, 0x07ff, 0x7d59, 0xd335, 0xd335, 0xd335, 0xd314, 0x699a, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x007f, 0x60d8, 0xc0b1, 0xc0b1, 0xb8f2, 0x05df, 0x061f, 0x065f, 0x06df, 0x073f, 0x077f, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x363c, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xb8d1, 0xc0d1, 0xb8d1, 0xb8d1, 0x90d1, 0x3911, 0x30f0, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x18ae, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x00f9, 0x0119, 0x0119, 0x011a, 0x08d5, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28ce, 0x28ce, 0x30ef, 0xb314, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd375, 0xd355, 0x9c77, 0x3edd, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x659a, 0xd315, 0xd314, 0xd315, 0xd314, 0xd314, 0xd314, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2d4, 0xd2d4, 0xd2f4, 0xcad4, 0xd2d4, 0xd2b4, 0xd2b4, 0xd2b4, 0xcab4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd294, 0xd294, 0xca94, 0xca94, 0xca94, 0xca94, 0xca74, 0xca74, 0xca73, 0xca73, 0xd274, 0xca53, 0xca53, 0xca53, 0xca53, 0xca53, 0xca53, 0xca33, 0xca33, 0xca33, 0xab15, 0x0edf, 0x06ff, 0x06ff, 0x06df, 0x06df, 0x06bf, 0x06bf, 0x06df, 0x06bf, 0x069f, 0x069f, 0x067e, 0x067f, 0x067e, 0x065e, 0x063f, 0x061e, 0x061e, 0x05fe, 0x05fe, 0x05de, 0x05be, 0x059e, 0x059e, 0x055e, 0x053e, 0x051e, 0x04fe, 0x04de, 0x049e, 0x043e, 0x03be, 0x039e, 0x039e, 0x035e, 0x035e, 0x033e, 0x033e, 0x031e, 0x02fe, 0x037e, 0x05fe, 0x065e, 0x067e, 0x069e, 0x06de, 0x06fe, 0x075f, 0x077f, 0x079f, 0x07bf, 0x07df, 0x07ff, 0x271d, 0xd335, 0xd314, 0xd315, 0xd315, 0xc2d5, 0x083f, 0x001f, 0x001f, 0x001f, 0x001f, 0x009f, 0x60d8, 0xc0b1, 0xc0b2, 0xc0b1, 0x04bf, 0x053f, 0x05bf, 0x067f, 0x06df, 0x075f, 0x079f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xc0b1, 0xb8d1, 0x98d1, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ce, 0x20ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28ce, 0x20ce, 0x30ef, 0xb314, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd375, 0xac37, 0x36dd, 0x07ff, 0x07ff, 0x07ff, 0x0ebd, 0x1d7b, 0x1c99, 0x32f5, 0x3a75, 0x6193, 0x69b3, 0x79f4, 0x8a14, 0xb294, 0xcaf4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2b4, 0xd2b4, 0xcad4, 0xd2b4, 0xcab4, 0xd2b4, 0xd2b4, 0xd294, 0xd294, 0xd294, 0xd294, 0xca94, 0xca94, 0xca74, 0xca74, 0xd274, 0xd274, 0xca53, 0xca54, 0xca54, 0xca53, 0xd253, 0xca53, 0xca33, 0xca33, 0xca33, 0xca33, 0x8b97, 0x35fd, 0x5d7b, 0x6d3a, 0x6d3a, 0x5d5b, 0x35fd, 0x06bf, 0x0e7e, 0x457c, 0x6c99, 0x6479, 0x6459, 0x4cba, 0x0e1e, 0x063e, 0x063e, 0x061e, 0x05fe, 0x05fe, 0x05fe, 0x05de, 0x05be, 0x059e, 0x057e, 0x055e, 0x051e, 0x051e, 0x04fe, 0x04de, 0x047e, 0x03de, 0x03be, 0x037e, 0x037f, 0x035e, 0x033e, 0x033e, 0x031e, 0x02fe, 0x02fe, 0x02fe, 0x02de, 0x03fe, 0x05be, 0x063e, 0x065e, 0x069e, 0x06de, 0x071f, 0x073e, 0x077f, 0x079f, 0x07bf, 0x07df, 0x07ff, 0xbbb6, 0xd314, 0xd315, 0xd2f4, 0xd2f4, 0x697a, 0x001f, 0x001f, 0x001f, 0x003f, 0x007f, 0x48fa, 0xc0b1, 0xc0b1, 0xc0b1, 0x331c, 0x047f, 0x053f, 0x05ff, 0x069f, 0x073f, 0x079f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x9a14, 0xb8d1, 0xb8d1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20cf, 0x20ae, 0x18cf, 0x08f6, 0x011a, 0x0119, 0x0119, 0x08f4, 0x18ce, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x20ad, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x9273, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xc3b6, 0x5dfb, 0x07ff, 0x0e3b, 0x1c98, 0x2ad5, 0x3911, 0x3911, 0x3912, 0x4111, 0x4112, 0x4112, 0x4112, 0x4132, 0x4132, 0x4132, 0x4132, 0x4933, 0x5173, 0x79d3, 0x9a54, 0xc294, 0xd2f4, 0xd2d5, 0xcad4, 0xd2d4, 0xd2b4, 0xcad4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd294, 0xd294, 0xd294, 0xd294, 0xca94, 0xca94, 0xca74, 0xca74, 0xca74, 0xca73, 0xd253, 0xca53, 0xca53, 0xca53, 0xca53, 0xca53, 0xca33, 0xca33, 0xca33, 0xca33, 0x99d4, 0x6358, 0xd395, 0xd396, 0xd395, 0xd395, 0xd375, 0xd375, 0x06bf, 0x5cfa, 0xd2b4, 0xca94, 0xca33, 0xca13, 0xc9d3, 0xb9d3, 0x4c5a, 0x061e, 0x061e, 0x05de, 0x05de, 0x05be, 0x059e, 0x059e, 0x057e, 0x053e, 0x051e, 0x051d, 0x04de, 0x04be, 0x043e, 0x03be, 0x03be, 0x037f, 0x0b7e, 0x337c, 0x333c, 0x335c, 0x333c, 0x333c, 0x331c, 0x331c, 0x32fc, 0x32fc, 0x32dc, 0x2b7c, 0x05de, 0x061e, 0x065e, 0x069e, 0x06de, 0x071f, 0x073f, 0x077f, 0x07bf, 0x07df, 0x07df, 0x84f9, 0xd314, 0xcb14, 0xcaf4, 0xd2d5, 0xb275, 0x001f, 0x001f, 0x001f, 0x001f, 0x005f, 0x08df, 0xb8d2, 0xc0b1, 0xc0b1, 0x3a7b, 0x03ff, 0x04df, 0x05bf, 0x067f, 0x071f, 0x079f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x7b77, 0xb8d1, 0xb8b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x4111, 0x38f1, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28cf, 0x20cf, 0x20ae, 0x20cf, 0x0918, 0x013a, 0x011a, 0x0119, 0x011a, 0x0119, 0x08f6, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0139, 0x00f9, 0x10d2, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x7a32, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0x9c78, 0x261b, 0x1b96, 0x3171, 0x30f0, 0x38f1, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x4111, 0x3912, 0x4112, 0x4112, 0x4112, 0x4132, 0x4112, 0x4132, 0x4132, 0x4912, 0x4132, 0x6172, 0x81f3, 0xaa73, 0xcad4, 0xd2b4, 0xcab4, 0xd2b4, 0xd2b4, 0xcab4, 0xcab4, 0xca94, 0xca94, 0xd294, 0xca94, 0xca94, 0xca74, 0xca74, 0xca74, 0xd274, 0xca54, 0xd274, 0xca53, 0xca53, 0xca53, 0xd233, 0xca33, 0xca33, 0xd233, 0xc234, 0x7994, 0x5975, 0xb315, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xc375, 0x067f, 0x067f, 0x6c79, 0xca33, 0xca13, 0xc9d3, 0xc992, 0xc952, 0xc912, 0x34bb, 0x05fe, 0x05de, 0x05be, 0x059e, 0x055e, 0x055e, 0x053e, 0x051e, 0x04fe, 0x249d, 0x347b, 0x6bfa, 0x7b99, 0x9b98, 0xab97, 0xdb95, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd396, 0xd395, 0xbbd6, 0x9c37, 0x8499, 0x6d1a, 0x363c, 0x1edd, 0x079f, 0x07bf, 0x07df, 0x4e1b, 0xd2f4, 0xd2f5, 0xd2d4, 0xd2d4, 0xd2d4, 0x40fc, 0x001f, 0x001f, 0x001f, 0x003f, 0x009f, 0x78d7, 0xc0b1, 0xc0b1, 0x61d8, 0x03bf, 0x049f, 0x057f, 0x065f, 0x071f, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x54d9, 0xb8d1, 0xb8b1, 0xb8d1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x4111, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20cf, 0x20ae, 0x10f3, 0x013a, 0x0119, 0x0139, 0x0119, 0x0119, 0x0119, 0x011a, 0x18d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x18ad, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x5170, 0xd395, 0xd375, 0xd375, 0xd375, 0xd355, 0x6519, 0x22b3, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x4112, 0x4112, 0x4112, 0x4112, 0x4132, 0x4112, 0x4132, 0x4112, 0x4952, 0x79b3, 0xa233, 0xd2b4, 0xcab4, 0xd294, 0xca94, 0xd294, 0xca94, 0xca74, 0xca94, 0xca74, 0xca74, 0xd274, 0xca54, 0xd274, 0xd253, 0xca54, 0xca54, 0xca33, 0xd233, 0xca34, 0xca33, 0xca33, 0xa1d3, 0x5954, 0x5954, 0x79f5, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd335, 0x8c18, 0x067f, 0x065f, 0x063f, 0xa2d5, 0xc9d3, 0xc972, 0xc952, 0xc111, 0xc8d1, 0x8a55, 0x05de, 0x05be, 0x059e, 0x057e, 0x055e, 0x34dc, 0x6c5a, 0xa3f7, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xbbb6, 0x84d9, 0x4e1b, 0x465c, 0xd2f5, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2b4, 0x81d8, 0x001f, 0x001f, 0x001f, 0x001f, 0x005f, 0x6098, 0xc0b1, 0xc0d1, 0x59b8, 0x035f, 0x045f, 0x055f, 0x063f, 0x06ff, 0x079f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x363c, 0xc0d1, 0xb8d1, 0xb8b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x58f1, 0x3911, 0x30f0, 0x3110, 0x30cf, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x08f6, 0x013a, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, + 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x011a, 0x011a, 0x0119, 0x0119, 0x011a, 0x00f8, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ae, 0x20ce, 0x20ae, 0x28ee, 0xcb55, 0xd375, 0xd375, 0xd375, 0xbb14, 0x34f9, 0x2930, 0x30ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x4112, 0x4111, 0x3931, 0x4112, 0x4111, 0x6993, 0x91f2, 0xc254, 0xca93, 0xca94, 0xca94, 0xca74, 0xca74, 0xd274, 0xca73, 0xd273, 0xca73, 0xd254, 0xca53, 0xca53, 0xca54, 0xca33, 0xca34, 0xa1f3, 0x6973, 0x4953, 0x5134, 0x5154, 0xaaf5, 0xd395, 0xd395, 0xd395, 0xd375, 0xd335, 0xd314, 0x5cda, 0x065f, 0x063f, 0x063f, 0xb254, 0xc972, 0xc952, 0xc112, 0xc8d1, 0xc0b1, 0xc0b1, 0x05be, 0x059e, 0x2d1c, 0x9438, 0xcbb6, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd375, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd314, 0xd314, 0xd315, 0xd2f4, 0xd2f5, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2b4, 0xd2b4, 0xca94, 0x087f, 0x003f, 0x001f, 0x001f, 0x001f, 0x385b, 0xc0b1, 0xc0b1, 0x9135, 0x031f, 0x043f, 0x053f, 0x063f, 0x071f, 0x079f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8b1, 0xb8d1, 0xc0d1, 0xb8b1, 0xb8d1, 0x5911, 0x3911, 0x38f0, 0x30f0, 0x30cf, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x0917, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, + 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0118, 0x011a, 0x00f9, 0x0119, 0x00f9, 0x10d2, 0x20ad, 0x18cd, 0x20ae, 0x18ad, 0x20ae, 0x20ce, 0x20ce, 0x8252, 0xd375, 0xd375, 0xd375, 0x9a93, 0x30ef, 0x20cf, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x28f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x38f0, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x38f1, 0x3911, 0x3911, 0x3911, 0x3911, 0x4111, 0x6972, 0x81d2, 0xaa13, 0xba33, 0xca54, 0xca74, 0xca53, 0xca54, 0xca53, 0xca53, 0xb213, 0xa1f3, 0x8193, 0x5152, 0x4932, 0x4933, 0x4933, 0x4933, 0x5174, 0xd395, 0xd395, 0xd396, 0xd375, 0xd334, 0xd2f5, 0xd2b4, 0x2d9d, 0x063f, 0x063f, 0x061f, 0xc993, 0xc952, 0xc911, 0xc8f1, 0xc0b1, 0xc0b1, 0xb8d1, 0x059e, 0x057e, 0xabf7, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd315, 0xd335, 0xcb15, 0xd2f4, 0xd2f5, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2b4, 0xd2b4, 0xd294, 0xd294, 0x411c, 0x003f, 0x003f, 0x001f, 0x001f, 0x203c, 0xc0b1, 0xc0b1, 0x9135, 0x02ff, 0x041f, 0x051f, 0x061f, 0x06ff, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xa1b3, 0xb8b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x68f1, 0x3911, 0x38f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x10f3, 0x0119, 0x0119, 0x0119, 0x00fa, 0x0119, 0x0119, 0x0119, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x18ae, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x20ae, 0x20ce, 0x412f, 0xd375, 0xd375, 0xd375, 0x71d1, 0x20ce, 0x28cf, 0x20cf, 0x28ce, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3110, 0x3110, 0x38f0, 0x30f0, 0x3111, 0x3111, 0x38f1, 0x38f1, 0x38f0, 0x3910, 0x3910, 0x3910, 0x3911, 0x3911, 0x3911, 0x3910, 0x6152, 0x6152, 0x5131, 0x3911, 0x3911, 0x3911, 0x3912, 0x4112, 0x4132, 0x4112, 0x4932, 0x4932, 0x8a34, 0xd395, 0xd395, 0xd375, 0xd335, 0xd2f4, 0xcad4, 0xb2f6, 0x065f, 0x061f, 0x061f, 0x34dc, 0xc952, 0xc912, 0xc8d2, 0xc0b1, 0xc0d1, 0xb8d1, 0x89b4, 0x2bba, 0x4216, 0x5154, 0x5154, 0x4954, 0x5154, 0x6194, 0x71d4, 0x69f4, 0x71d3, 0x69d4, 0x71d3, 0x7a14, 0x8a75, 0x9274, 0x9254, 0x9254, 0x9a95, 0xb315, 0xbb14, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd314, 0xd315, 0xd2f4, 0xcb14, 0xd2f4, 0xd2f4, 0xd2d4, 0xcad4, 0xcab4, 0xd2b4, 0xcab4, 0xca94, 0xca94, 0x81b8, 0x005f, 0x005f, 0x003f, 0x001f, 0x001f, 0xa8b3, 0xc0b1, 0xb0d2, 0x02df, 0x03ff, 0x051f, 0x061f, 0x06ff, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x8a95, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x78f2, 0x3911, 0x38f0, 0x30f0, 0x28f0, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20cf, 0x0918, 0x0119, 0x0119, 0x011a, 0x00f9, 0x0119, 0x08f7, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x20ae, 0x20cd, 0x20ae, 0x20cd, 0x9272, 0xd375, 0xc334, 0x61d1, 0x20cf, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x30ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x30f0, 0x3110, 0x3110, 0x30f0, 0x3110, 0x38f0, 0x30f0, 0x38f0, 0x3111, 0x38f0, 0x3911, 0x38f1, 0x3911, 0x3911, 0x3912, 0x4111, 0x4132, 0x4132, 0xb2f5, 0xd395, 0xd375, 0xd355, 0xd2f4, 0xd2b4, 0xd274, 0x83b8, 0x063f, 0x061f, 0x061e, 0x6398, 0xc912, 0xc8d1, 0xc0b1, 0xc0b1, 0xb8b1, 0xb8d1, 0x7933, 0x5153, 0x5134, 0x5154, 0x5133, 0x4953, 0x4933, 0x4933, 0x4933, 0x4133, 0x4933, 0x4932, 0x4932, 0x4932, 0x4933, 0x4933, 0x4933, 0x4932, 0x4932, 0x4933, 0x4933, 0x4933, 0x61b3, 0x7a34, 0x9a95, 0xb2f5, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd314, 0xd314, 0xd315, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2d4, 0xd2d4, 0xd2b4, 0xd2b4, 0xd294, 0xd294, 0xd274, 0xca74, 0xc254, 0x007f, 0x005f, 0x005f, 0x003f, 0x001f, 0x5878, 0xb8d1, 0xc0b1, 0x02bf, 0x03bf, 0x04ff, 0x05ff, 0x06ff, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x6478, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x78f1, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20cf, 0x0917, 0x011a, 0x011a, 0x0119, 0x08f4, 0x18ce, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20cd, 0x18ce, 0x20ae, 0x390f, 0xd375, 0xcb35, 0x414f, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x28ef, 0x30ef, 0x30ef, 0x30ef, 0x30ef, 0x30ef, 0x30ef, 0x30ef, 0x30ef, 0x30f0, 0x28f0, 0x30f0, 0x30f0, 0x30f0, 0x28f0, 0x30f0, 0x30ef, 0x3110, 0x30f0, 0x30d0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f1, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3910, 0x3911, 0x38f1, 0x3911, 0x3912, 0x4952, 0xd395, 0xd375, 0xd335, 0xd2f4, 0xd2b4, 0xd274, 0xca33, 0x4c9a, 0x05ff, 0x061f, 0x05ff, 0xa1f4, 0xc0d1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xa0f1, 0x5134, 0x4933, 0x4933, 0x4933, 0x4933, 0x4933, 0x4932, 0x4932, 0x4932, 0x4132, 0x4132, 0x4132, 0x4112, 0x4112, 0x4112, 0x4112, 0x4112, 0x4112, 0x4132, 0x4132, 0x4132, 0x4132, 0x4132, 0x4133, 0x4933, 0x4932, 0x4953, 0x6193, 0x8214, 0xa274, 0xc315, 0xd335, 0xd314, 0xd315, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2b4, 0xcab4, 0xcab4, 0xca94, 0xca74, 0xca74, 0xca74, 0xca54, 0x20fd, 0x009f, 0x007f, 0x005f, 0x003f, 0x105d, 0xc0b1, 0xc0d1, 0x029f, 0x03bf, 0x04df, 0x05ff, 0x06ff, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x54d9, 0xb8d1, 0xb8d1, 0xb8b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x78f1, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28ce, 0x20cf, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x20ae, 0x61d0, 0xbb14, 0x412f, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x28ce, 0x20ce, 0x20cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x28cf, 0x28f0, 0x30d0, 0x28ef, 0x28cf, 0x30cf, 0x30f0, 0x30d0, 0x30d0, 0x28f0, 0x30f0, 0x30f0, 0x30f0, 0x30d0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x3911, 0x61b2, 0xd375, 0xd335, 0xd2f4, 0xcad4, 0xca74, 0xd233, 0xca13, 0x1d9d, 0x05ff, 0x05ff, 0x1d3d, 0xc0d1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb0d1, 0x6132, 0x4933, 0x4933, 0x4932, 0x4132, 0x4112, 0x4112, 0x4112, 0x4132, 0x4112, 0x4111, 0x4111, 0x4112, 0x4112, 0x4111, 0x3911, 0x3911, 0x4111, 0x4112, 0x4112, 0x3912, 0x4132, 0x4112, 0x4112, 0x4112, 0x4912, 0x4132, 0x4132, 0x4932, 0x4933, 0x4953, 0x4933, 0x6173, 0x8a14, 0xaa74, 0xcaf4, 0xd2f5, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2b4, 0xcab4, 0xd2b4, 0xd294, 0xca94, 0xca73, 0xd274, 0xd253, 0xd254, 0x597a, 0x00bf, 0x00bf, 0x009f, 0x009f, 0x005f, 0xa8b3, 0xc0b1, 0x31fc, 0x039f, 0x04df, 0x05df, 0x06df, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x2e3c, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8b1, 0xb8d1, 0xb8d1, 0x78f1, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ad, 0x20ae, 0x18ce, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18af, 0x18af, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18af, 0x18af, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ae, 0x390f, 0x28ce, 0x20ae, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x28ef, 0x28cf, 0x28ef, 0x28ef, 0x30ef, 0x28ef, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3911, 0x71f2, 0xd335, 0xd2f4, 0xd2b4, 0xca74, 0xd233, 0xca13, 0xa295, 0x05ff, 0x05ff, 0x05ff, 0x5399, 0xc0d1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb0d1, 0x7912, 0x4952, 0x4132, 0x4112, 0x4132, 0x4132, 0x4132, 0x4112, 0x3911, 0x3911, 0x3911, 0x3911, 0x38f1, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x4111, 0x4112, 0x4112, 0x4112, 0x4112, 0x4132, 0x4932, 0x4932, 0x4933, 0x4933, 0x5133, 0x6194, 0x9a34, 0xc2b4, 0xd2b5, 0xd2b3, 0xcab4, 0xd294, 0xd294, 0xca93, 0xd274, 0xd274, 0xca53, 0xca54, 0xca53, 0x81d8, 0x00df, 0x00df, 0x00df, 0x00bf, 0x00bf, 0x68b7, 0xb8d1, 0x31dc, 0x033f, 0x049f, 0x05df, 0x06ff, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x26bd, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d2, 0xb8d1, 0xb8d1, 0x78f1, 0x3911, 0x38f1, 0x30f0, 0x30ef, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x0118, 0x0119, 0x0119, 0x00f6, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x00f8, 0x0119, 0x011a, 0x00f6, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x20cf, 0x20cf, 0x20cf, 0x20cf, 0x20cf, 0x20cf, 0x20cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28f0, 0x28f0, 0x30f0, 0x30f0, 0x38f0, 0x8213, 0xd2f5, 0xcad4, 0xd274, 0xca53, 0xc9f3, 0xc9d2, 0x7398, 0x05ff, 0x05ff, 0x05df, 0xa953, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x98f2, 0x4132, 0x4132, 0x4112, 0x4111, 0x4111, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x38f0, 0x38f0, 0x38f0, 0x38f0, 0x3911, 0x38f0, 0x38f0, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x4112, 0x4112, 0x4112, 0x4132, 0x4132, 0x4933, 0x4933, 0x4933, 0x5153, 0x5974, 0x9214, 0xca94, 0xd294, 0xca94, 0xd274, 0xca74, 0xd274, 0xca53, 0xca54, 0xca53, 0xca34, 0x99f6, 0x011f, 0x011f, 0x00ff, 0x00ff, 0x00ff, 0x38db, 0xc0b1, 0x28fc, 0x02df, 0x047f, 0x059f, 0x06df, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x78f1, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18cd, 0x18ad, 0x18ae, 0x18b0, 0x0119, 0x00f9, 0x0119, 0x00f9, 0x0119, 0x08f6, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18d0, 0x00f9, 0x0119, 0x0119, 0x011a, 0x0119, 0x08f6, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x310e, 0x7a32, 0xaad3, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd335, 0xd2b4, 0xca94, 0xca33, 0xd1f3, 0xc9d3, 0xc993, 0xc972, 0xc992, 0xc972, 0xc932, 0xc0d1, 0xc0b1, 0xb8d1, 0xb0d2, 0xb9f2, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xca13, 0x015f, 0x013f, 0x013f, 0x013f, 0x011f, 0x093f, 0xc0b1, 0x311c, 0x01bf, 0x03ff, 0x059f, 0x069f, 0x079f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xb8b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x78f1, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ae, 0x18b0, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x10cf, 0x0118, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x20ad, 0x18ad, 0x496f, 0xaad3, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd2f4, 0xca74, 0xca33, 0xca13, 0xc9d3, 0xc992, 0xc952, 0xc111, 0xc0d1, 0xc0b1, 0xc0d1, 0xb8b1, 0xb8d1, 0xb8d1, 0xca53, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xca13, 0x097f, 0x017f, 0x015f, 0x017f, 0x015f, 0x015f, 0x88f5, 0x293c, 0x013f, 0x02df, 0x053e, 0x067f, 0x077f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x9234, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x78f1, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ae, 0x10d0, 0x0118, 0x0119, 0x011a, 0x011a, 0x0119, 0x011a, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x00f8, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ee, 0x8252, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd3b5, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd2b4, 0xd233, 0xca13, 0xc9b3, 0xc992, 0xc952, 0xc912, 0xc8d1, 0xc0b1, 0xc0b1, 0xb8b1, 0xb8d1, 0xb8d1, 0xc253, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdb95, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xca13, 0x31bc, 0x01bf, 0x019f, 0x019f, 0x019f, 0x019f, 0x5139, 0x315c, 0x017f, 0x01bf, 0x045e, 0x063e, 0x077f, 0x07fe, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x8a95, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb8d1, 0x78f1, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x10d0, 0x0118, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x10d0, 0x00f9, 0x0119, 0x0119, 0x00fa, 0x0119, 0x0119, 0x011a, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x28ee, 0xb314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd4f8, 0xd65c, 0xd6dd, 0xd6fd, 0xd7ff, 0xd7ff, 0xdfff, 0xd7ff, 0xd7ff, 0xdfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xdfff, 0xd7ff, 0xcb15, 0xca13, 0xc9d3, 0xc992, 0xc932, 0xc911, 0xc0d1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xc397, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xdfff, 0xd539, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdb95, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xc9f3, 0x31fc, 0x01df, 0x01df, 0x01df, 0x01df, 0x01df, 0x01bf, 0x01df, 0x01bf, 0x01bf, 0x02df, 0x05fd, 0x073e, 0x07fe, 0x07fe, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x8ab5, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0f1, 0xb8d1, 0x78f1, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x10d0, 0x00f8, 0x0119, 0x011a, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ae, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x28ee, 0xcb55, 0xd375, 0xd395, 0xd395, 0xd3d6, 0xd5db, 0xd7bf, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xdfff, 0xdfff, 0xca13, 0xc9b3, 0xc992, 0xc952, 0xc912, 0xc0d1, 0xc0b1, 0xc0d1, 0xb8b1, 0xb8d1, 0xb0f1, 0xba95, 0xdfff, 0xd7ff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xd7ff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xdfff, 0xd539, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xc9f3, 0x31fd, 0x021f, 0x01ff, 0x01ff, 0x01ff, 0x01ff, 0x01ff, 0x01ff, 0x01ff, 0x01df, 0x01ff, 0x051d, 0x071d, 0x07fd, 0x07fe, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x6bf7, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0x78f1, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18cf, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x28ee, 0xb314, 0xd395, 0xd395, 0xd395, 0xd477, 0xd77e, 0xd7ff, 0xd7ff, 0xdfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xdfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xc9d3, 0xc992, 0xc952, 0xc912, 0xc8d1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb152, 0xd79e, 0xdfff, 0xdfff, 0xdfff, 0xd7ff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xd7ff, 0xdfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd539, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xc9d3, 0x323c, 0x023f, 0x023f, 0x021f, 0x023f, 0x023f, 0x021f, 0x021f, 0x021f, 0x021f, 0x021f, 0x037e, 0x06dc, 0x07fd, 0x07fd, 0x07fe, 0x07ff, 0x07ff, 0x07ff, 0x5c78, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb8d1, 0xb0f1, 0x7911, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x011a, 0x00f9, 0x0119, 0x0119, 0x0119, 0x011a, 0x0117, 0x18ae, 0x18ad, 0x10d0, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x8252, 0xd395, 0xd395, 0xd396, 0xd4b8, 0xd7bf, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xc972, 0xc952, 0xc912, 0xc8d1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0f1, 0xd63c, 0xdfff, 0xdfff, 0xd7ff, 0xdfff, 0xdfff, 0xd7ff, 0xdfff, 0xdfff, 0xd7ff, 0xd7ff, 0xdfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xdfff, 0xd7ff, 0xdfff, 0xd539, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xc9d3, 0x325c, 0x027f, 0x025f, 0x025f, 0x025f, 0x023f, 0x025f, 0x025f, 0x023f, 0x023f, 0x023f, 0x029f, 0x067c, 0x07fc, 0x07fc, 0x07fe, 0x07ff, 0x07ff, 0x07ff, 0x5c78, 0xb8d1, 0xb0d1, 0xb8d1, 0xb0d1, 0xb0d1, 0xb8d1, 0x70f1, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x10cf, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x496f, 0xd395, 0xd395, 0xd395, 0xd457, 0xd7bf, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7df, 0xd7ff, 0xcf3e, 0xc67c, 0xc53a, 0xc951, 0xc912, 0xc0d1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb0f1, 0xbb97, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd65b, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd396, 0xd395, 0xc9b3, 0x327c, 0x029f, 0x029f, 0x029f, 0x029f, 0x027f, 0x027f, 0x027f, 0x027f, 0x027f, 0x025f, 0x027f, 0x05bc, 0x07db, 0x07fc, 0x07fd, 0x07ff, 0x07ff, 0x07ff, 0x5c78, 0xb8d1, 0xb0d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0x58f1, 0x3911, 0x3111, 0x30f0, 0x28f0, 0x28f0, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x011a, 0x0119, 0x0119, 0x011a, 0x0117, 0x18ce, 0x18ae, 0x18d0, 0x0118, 0x00f9, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0xa2d3, 0xd395, 0xd395, 0xd3d6, 0xd75e, 0xcfff, 0xcfff, 0xd7ff, 0xd7ff, 0xcfff, 0xcfff, 0xd7ff, 0xd7ff, 0xd7df, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7df, 0xd7ff, 0xd7ff, 0xcfdf, 0xcfff, 0xd7ff, 0xd7df, 0xd7ff, 0xcfff, 0xd7ff, 0xd7df, 0xd7ff, 0xcfff, 0xd7df, 0xcfff, 0xcfff, 0xd7ff, 0xd7ff, 0xcfff, 0xd7ff, 0xcfff, 0xd7ff, 0xd7df, 0xd7df, 0xcfff, 0xd7df, 0xcfff, 0xd7ff, 0xd7ff, 0xcfff, 0xd7ff, 0xcfff, 0xd7ff, 0xd7df, 0xd7ff, 0xd7ff, 0xcfff, 0xcfff, 0xd7ff, 0xcfff, 0xd7df, 0xcfff, 0xd7ff, 0xd7df, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xcfff, 0xd7ff, 0xcfdf, 0xd7df, 0xcfdf, 0xcfff, 0xd7df, 0xacd8, 0x8191, 0x9151, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0xa8f1, 0xa972, 0xd77e, 0xd7ff, 0xd7ff, 0xd7df, 0xd7df, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7df, 0xcfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7df, 0xd7df, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7df, 0xd7ff, 0xd7df, 0xd7ff, 0xd7df, 0xd65c, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xc193, 0x0a7f, 0x02ff, 0x02df, 0x02bf, 0x02bf, 0x02bf, 0x029f, 0x029f, 0x029f, 0x027f, 0x029f, 0x027f, 0x04dd, 0x07bb, 0x07fb, 0x07fd, 0x07ff, 0x07ff, 0x07ff, 0x3dbb, 0xb8d1, 0xb8d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0d1, 0x5911, 0x3911, 0x30f0, 0x30f0, 0x28f0, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x00f9, 0x0119, 0x011a, 0x00f7, 0x18ae, 0x18ad, 0x18af, 0x0118, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x310e, 0xd395, 0xd375, 0xd375, 0xd5ba, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xc77e, 0xbe5b, 0xbe3c, 0xb57a, 0xacb8, 0xbdbb, 0xc63c, 0xbe3b, 0xc71e, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xc77e, 0xbe5c, 0xb5db, 0xacb8, 0xac98, 0xbd5a, 0xbe3c, 0xc61c, 0xc69d, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xacb9, 0x8191, 0x9151, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0xa111, 0xa911, 0xbc78, 0xcfdf, 0xcfdf, 0xcfdf, 0xd7df, 0xcfdf, 0xcf5e, 0xbe5c, 0xbe5c, 0xc63c, 0xc61c, 0xcefd, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfff, 0xcfdf, 0xd63b, 0xd375, 0xd395, 0xd375, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd395, 0xd375, 0xd375, 0xd375, 0xd395, 0x089f, 0x011f, 0x031f, 0x02ff, 0x02ff, 0x02df, 0x02df, 0x02df, 0x02bf, 0x02bf, 0x02bf, 0x02bf, 0x02bf, 0x03fd, 0x079a, 0x07fa, 0x07fc, 0x07fe, 0x07ff, 0x07ff, 0x2e5c, 0xb0d1, 0xb8d1, 0xb8d1, 0xb0f1, 0xb0d1, 0xb8d1, 0x5912, 0x3911, 0x38f1, 0x30f0, 0x28f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x0119, 0x0119, 0x0117, 0x18ce, 0x18ad, 0x18ad, 0x0118, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x79f1, 0xd355, 0xd355, 0xd355, 0xcf7e, 0xc7df, 0xcfbf, 0xcfdf, 0xc7df, 0xc7df, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfbf, 0xcfdf, 0xcfdf, 0xcfbf, 0xbefd, 0xacb8, 0x8a52, 0x9151, 0x9131, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0xa192, 0xab96, 0xbe7d, 0xcfdf, 0xc7df, 0xcfbf, 0xc7df, 0xcfdf, 0xcfbf, 0xc75e, 0xad19, 0x92b4, 0x8971, 0x9151, 0x9931, 0x9931, 0x9911, 0x9911, 0xa111, 0x9931, 0xa111, 0x9911, 0xab36, 0xbd5a, 0xc75e, 0xcfdf, 0xc7bf, 0xc7bf, 0xcfdf, 0xc7df, 0xc7bf, 0xc7df, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xc7df, 0xcfbf, 0xc7df, 0xc7bf, 0xcfbf, 0xc7df, 0xa4b8, 0x8191, 0x9151, 0x9931, 0x9911, 0x9931, 0x9931, 0x9911, 0x9931, 0x9912, 0xbe3b, 0xcfbf, 0xcfdf, 0xcfbf, 0xcfdf, 0xcfdf, 0xb5da, 0x8a12, 0x8971, 0x9931, 0x9931, 0xa111, 0x9931, 0xab35, 0xc75e, 0xcfbf, 0xcfdf, 0xc7df, 0xc7df, 0xcfdf, 0xcfdf, 0xcfbf, 0xc7df, 0xc7df, 0xcfdf, 0xcfdf, 0xcfdf, 0xc7df, 0xcfdf, 0xcfdf, 0xcfdf, 0xce1b, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0x007f, 0x009e, 0x023f, 0x033f, 0x031f, 0x031f, 0x031f, 0x02ff, 0x031f, 0x02ff, 0x02df, 0x02df, 0x02df, 0x039e, 0x075a, 0x07f9, 0x07fb, 0x07fd, 0x07ff, 0x07ff, 0x2e3c, 0xb8d2, 0xb8d1, 0xb0d1, 0xb8d1, 0xb0d1, 0xb0d1, 0x4911, 0x3911, 0x38f0, 0x30f0, 0x28f0, 0x28ef, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0xa293, 0xd335, 0xd335, 0xcc98, 0xc7bf, 0xc7be, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc75e, 0xa4b8, 0x8191, 0x9151, 0x9911, 0xa131, 0xa111, 0xa111, 0x9931, 0xa111, 0xa112, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xab35, 0xbefe, 0xc7bf, 0xc7be, 0xc7bf, 0xb5db, 0x89f1, 0x8971, 0x9931, 0x9911, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa132, 0x9911, 0xa111, 0xa111, 0xa111, 0xa111, 0xa172, 0xbd3a, 0xc7be, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7be, 0xc79f, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc79f, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xac98, 0x8191, 0x9151, 0x9931, 0xa111, 0xa131, 0xa111, 0xa131, 0xa111, 0x9931, 0xbe1b, 0xc79f, 0xc7bf, 0xc7bf, 0xc7bf, 0xbefd, 0x89f2, 0x8991, 0x9931, 0xa112, 0xa131, 0xa111, 0xa111, 0xa111, 0xab97, 0xc7bf, 0xc7bf, 0xc7be, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc6dd, 0xd375, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd334, 0xd335, 0xd335, 0x009f, 0x009f, 0x013f, 0x033f, 0x037f, 0x035f, 0x033f, 0x031f, 0x031f, 0x031f, 0x031f, 0x02ff, 0x02ff, 0x033f, 0x06f9, 0x07f9, 0x07fb, 0x07fd, 0x07ff, 0x07ff, 0x2e3c, 0xb8d2, 0xb0f1, 0xb8d1, 0xb0d1, 0xb0f1, 0xb0d1, 0x3911, 0x3911, 0x38f0, 0x30f0, 0x3110, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f9, 0x0119, 0x0119, 0x0139, 0x0119, 0x011a, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0xd315, 0xd315, 0xd314, 0xc5fb, 0xc79f, 0xc79e, 0xc7bf, 0xc7bf, 0xc79e, 0xc79e, 0xc7bf, 0xc79f, 0xbf9e, 0xbfbf, 0xbfbe, 0xb67c, 0x8a53, 0x8971, 0xa131, 0xa112, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa112, 0xa111, 0xa111, 0xa172, 0xb539, 0xbf9f, 0x9bf6, 0x8191, 0x9151, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa112, 0xa111, 0xa111, 0xab15, 0xbf3d, 0xc79f, 0xc7be, 0xc79f, 0xc79f, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79f, 0xc79e, 0xc79f, 0xc79e, 0xc79e, 0xc7bf, 0xc79f, 0xa4b8, 0x8191, 0x9151, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa112, 0xa111, 0xbdfb, 0xc79f, 0xc79e, 0xc7be, 0xc79f, 0xacf9, 0x8191, 0x9171, 0xa111, 0xa111, 0xa111, 0xa112, 0xa111, 0xa131, 0xa111, 0xbf3e, 0xbfbf, 0xc79e, 0xc79e, 0xc79e, 0xc7bf, 0xc79e, 0xc79e, 0xc79e, 0xbfbf, 0xc79e, 0xc79e, 0xc79e, 0xbf9e, 0xc79f, 0xc79e, 0xbfbe, 0xc79e, 0xc6bd, 0xd355, 0xd2f5, 0xd315, 0xcb14, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd315, 0xd315, 0xd315, 0xd314, 0x007f, 0x007f, 0x00ff, 0x027f, 0x039f, 0x039f, 0x037f, 0x231d, 0x5259, 0x5a3a, 0x033f, 0x033f, 0x031f, 0x031f, 0x0699, 0x07f8, 0x07fa, 0x07fd, 0x07ff, 0x07ff, 0x363c, 0xb0d1, 0xb0f1, 0xb0d1, 0xb8d1, 0xb0d1, 0xb0d1, 0x4112, 0x38f1, 0x3911, 0x30f0, 0x30ef, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x20ad, 0x0915, 0x00f9, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20cd, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xd2f4, 0xcaf4, 0xd2f4, 0xc65c, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf7f, 0xb67c, 0x8a12, 0x8971, 0xa111, 0xa111, 0xa911, 0xa111, 0xa911, 0xa111, 0xa111, 0xa111, 0xa911, 0xa911, 0xa111, 0xa111, 0xa111, 0xa911, 0xa111, 0xa111, 0xa111, 0xa912, 0xa911, 0xa1f3, 0x8191, 0x9931, 0xa111, 0xa111, 0xa912, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa911, 0xa911, 0xa911, 0xa911, 0xa911, 0xa111, 0xa111, 0xa111, 0xa112, 0xa911, 0xaa54, 0xbf1d, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xb79e, 0xbf9f, 0xa498, 0x8191, 0x9951, 0xa911, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa911, 0xb5fb, 0xbf9e, 0xbf9f, 0xbf9e, 0xbf9f, 0xa498, 0x8191, 0x9951, 0xa111, 0xa111, 0xa111, 0xa111, 0xa112, 0xa111, 0xa911, 0xb5fb, 0xbf7e, 0xbf9e, 0xbf9e, 0xbf9f, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbebd, 0xd335, 0xcaf4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xcaf4, 0xd2f4, 0xd2f5, 0xcaf4, 0x007f, 0x007f, 0x00bf, 0x021f, 0x2abd, 0x7a36, 0xb953, 0xc112, 0xc911, 0xc912, 0x0b3f, 0x035f, 0x035f, 0x033f, 0x05fa, 0x07f7, 0x07f9, 0x07fc, 0x07fe, 0x07ff, 0x2e3c, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0d1, 0xb0d1, 0xa0f1, 0x68f1, 0x4111, 0x30f0, 0x30f0, 0x28ef, 0x28ef, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xd2d4, 0xd2d4, 0xd2d4, 0xbe5c, 0xb77e, 0xb79e, 0xb77e, 0xbf7e, 0xb77e, 0xb77e, 0xb77e, 0xb79e, 0xbf7e, 0xae7b, 0x89f2, 0x8971, 0xa111, 0xa8f1, 0xa911, 0xa8f1, 0xa911, 0xa911, 0xa911, 0xa911, 0xa911, 0xa8f1, 0xa911, 0xa911, 0xa911, 0xa8f1, 0xa911, 0xa8f1, 0xa911, 0xa911, 0xa912, 0xa911, 0xa911, 0xa111, 0xa911, 0xa8f1, 0xa911, 0xa8f1, 0xa111, 0xa911, 0xa8f1, 0xa8f1, 0xa911, 0xa911, 0xa8f1, 0xa911, 0xa8f1, 0xa8f1, 0xa912, 0xa911, 0xa911, 0xa911, 0xa8f1, 0xa111, 0xaa34, 0xb71e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xb77e, 0xb77e, 0xbf7e, 0xb77e, 0xb77e, 0xbf7f, 0xb77e, 0x9c97, 0x8191, 0x9951, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa911, 0xa8f1, 0xb5db, 0xbf7e, 0xb77e, 0xbf7e, 0xbf7e, 0xa478, 0x8191, 0x9951, 0xa911, 0xa8f1, 0xa8f1, 0xa911, 0xa911, 0xa8f1, 0xa911, 0xb5db, 0xb77f, 0xb77e, 0xbf7e, 0xbf7e, 0xb77e, 0xbf7e, 0xbf7e, 0xbf7e, 0xb77e, 0xb77e, 0xbf7e, 0xb77e, 0xbf7e, 0xb77e, 0xbf7e, 0xbf7e, 0xb77e, 0xb77e, 0xbf7e, 0xbe9d, 0xcb75, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d5, 0x007f, 0x007f, 0x30bb, 0x9955, 0xc931, 0xc932, 0xc932, 0xc912, 0xc0f2, 0xc8f2, 0x32fc, 0x037f, 0x037f, 0x037f, 0x059b, 0x07f7, 0x07f9, 0x07fc, 0x07fe, 0x07ff, 0x2e3c, 0xb8d1, 0xb0d1, 0xb0d2, 0xb0d1, 0xb0f1, 0x98f1, 0xb0f1, 0x88f1, 0x3110, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xd2b4, 0xd2b4, 0xd2b4, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb71d, 0x8a53, 0x8191, 0xa111, 0xa8f1, 0xb0f1, 0xa911, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f2, 0xa8f1, 0xb0f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xb2f5, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb75e, 0xb77e, 0xb77e, 0xb77e, 0xb75e, 0xb75e, 0xb77e, 0xb75e, 0xb77e, 0xb77e, 0xb75e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb75e, 0xb75e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb75e, 0xb77e, 0xb77e, 0xb75e, 0xb77e, 0xb75e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0x9c78, 0x8191, 0x9951, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xb5db, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0x9c77, 0x8191, 0x9151, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xb5db, 0xb77e, 0xb77e, 0xb77e, 0xb75e, 0xb77e, 0xb75e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb75e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb75e, 0xb71d, 0xcb96, 0xd2b4, 0xd2b4, 0xcab4, 0xd2b4, 0xcab4, 0xd2b4, 0xcab4, 0xd2b4, 0xcab4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xca94, 0xd2b4, 0xd2b4, 0xd2b4, 0xcab4, 0x087e, 0x70f8, 0xc952, 0xc932, 0xc912, 0xc932, 0xc111, 0xc8f1, 0xc8f1, 0xc8d1, 0x331c, 0x03bf, 0x039f, 0x039f, 0x051b, 0x07d6, 0x07f7, 0x07fb, 0x07fe, 0x07ff, 0x2e3c, 0xb8d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xa0f1, 0xb0f1, 0xb0d1, 0x50f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xd294, 0xd294, 0xca94, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf5e, 0xb75e, 0x9416, 0x8991, 0x9951, 0xb0f1, 0xa8f1, 0xb0f1, 0xa8f1, 0xb0f1, 0xa8f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xa8f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xa8f1, 0xa8f1, 0xb0f1, 0xa8f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f2, 0xa8f1, 0xb0f1, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f2, 0xa8f1, 0xb0f2, 0xb0f1, 0xb0f1, 0xb0f1, 0xa8f1, 0xb0f1, 0xb0f1, 0xacf9, 0xaf5e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf7e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xb75e, 0xb75e, 0xaf5e, 0xb75e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xb75e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5d, 0xb75e, 0xaf5e, 0xaf5e, 0x9c77, 0x8191, 0x9951, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xadbb, 0xb75e, 0xb75e, 0xb75e, 0xb75e, 0x9c78, 0x8991, 0x9951, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb5bb, 0xb75e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf5e, 0xb75e, 0xb75e, 0xb75e, 0xaf5e, 0xb75e, 0xb75e, 0xb75e, 0xaf5e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf1d, 0xcb75, 0xca93, 0xd294, 0xca74, 0xca94, 0xca74, 0xd274, 0xca74, 0xd294, 0xca94, 0xca94, 0xca94, 0xca94, 0xca94, 0xca94, 0xca94, 0xca94, 0xd294, 0xca93, 0xca94, 0xd293, 0xca74, 0x9915, 0xc932, 0xc932, 0xc932, 0xc912, 0xc111, 0xc8f2, 0xc0f2, 0xc8d1, 0xc8d1, 0x333c, 0x03ff, 0x03df, 0x03bf, 0x04dc, 0x07d6, 0x07f7, 0x07fb, 0x07fe, 0x07ff, 0x2e3c, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f1, 0xa8f1, 0xb0f1, 0xb0f1, 0x90f1, 0x30f0, 0x28f0, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xd274, 0xd274, 0xca53, 0xaf5e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3d, 0xaf5d, 0xaf3d, 0xaf3e, 0xa69c, 0x8191, 0x8191, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0d1, 0xb0f2, 0xb0d1, 0xb0d1, 0xb0f2, 0xb0f1, 0xb0f1, 0xaa13, 0xb418, 0xa438, 0x9ab4, 0x9931, 0xa8f1, 0xb0f1, 0xb0f2, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xaa74, 0xac78, 0xacf9, 0x9b35, 0x9931, 0xa8f1, 0xb0f1, 0xb0f2, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0f2, 0xb0d1, 0xb0f1, 0xa9b3, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3d, 0xaf3d, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3d, 0xaf3d, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3d, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0x9c77, 0x8191, 0x9931, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xadbb, 0xaf3e, 0xaf3e, 0xaf5d, 0xaf3e, 0x9477, 0x8191, 0x9951, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xadba, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3d, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf3d, 0xaf3d, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaefd, 0xcb56, 0xca53, 0xca74, 0xd253, 0xd274, 0xd274, 0xd273, 0xca73, 0xd274, 0xd274, 0xd274, 0xd274, 0xd274, 0xd274, 0xd274, 0xd274, 0xd254, 0xca74, 0xca54, 0xca54, 0xca74, 0xc932, 0xc932, 0xc932, 0xc912, 0xc912, 0xc912, 0xc0f1, 0xc8d1, 0xc8d1, 0xc8d1, 0x335c, 0x041f, 0x03ff, 0x03ff, 0x047d, 0x0795, 0x07f6, 0x07fa, 0x07fe, 0x07ff, 0x2e3c, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f1, 0xa8f1, 0xb0f1, 0xb0d1, 0xb0f1, 0x40f0, 0x28cf, 0x28ef, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xca53, 0xca53, 0xca53, 0xa73e, 0xa73e, 0xa73e, 0xa73e, 0xa73d, 0xa73d, 0xa73d, 0xa73d, 0x9457, 0x8191, 0x9931, 0xb8d1, 0xb0d1, 0xb8d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb1b3, 0xad9a, 0xaf3d, 0xaf3d, 0xa73d, 0xa73d, 0x9dda, 0x89d1, 0x9951, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0f1, 0xb213, 0xad9b, 0xa73e, 0xa73d, 0xaf3e, 0xaf3e, 0x9dda, 0x81f2, 0x9171, 0xb0f1, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb8d1, 0xb8d2, 0xb0f1, 0xad39, 0xa73d, 0xa73e, 0xa73d, 0xa73d, 0xa73d, 0xa73d, 0xa73d, 0xa73e, 0xa73d, 0xa73d, 0xa73d, 0xaf3d, 0xa73d, 0xa73d, 0xa73d, 0xa73e, 0xa73e, 0xa73d, 0xaf3d, 0xa73d, 0xa73d, 0xa73e, 0xaf3d, 0xa73e, 0xa73e, 0xa73d, 0xaf3d, 0xa73d, 0xa73d, 0xa73e, 0xaf3e, 0xaf1e, 0xa73e, 0xa73e, 0xa73e, 0xa73e, 0xa73e, 0xa73e, 0xa73e, 0xa73e, 0xaf3e, 0xa73e, 0xa73d, 0xaf3e, 0xa73e, 0xa73d, 0xa73d, 0xa73d, 0xaf3d, 0xa73e, 0xa73e, 0xa73e, 0xa73d, 0xaf3d, 0xa73d, 0xaf3d, 0xa73e, 0xa73e, 0xaf3d, 0xa73e, 0xa73d, 0xa73d, 0xa73e, 0x9478, 0x8191, 0x9931, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb8d1, 0xad9a, 0xa73e, 0xa73d, 0xa73e, 0xa73d, 0xa73d, 0xa73d, 0xaf3d, 0xa73d, 0xa73d, 0xa73d, 0xa73d, 0xa73d, 0xaf3d, 0xa73d, 0xa73d, 0xa73d, 0xaf3e, 0xa73e, 0xa73d, 0xa73d, 0xa73d, 0xaf3d, 0xaf3e, 0xa73d, 0xaf3d, 0xaf3e, 0xa73d, 0xa73d, 0xaf3d, 0xa73e, 0xaf3d, 0xaf3d, 0xaf3d, 0xa73e, 0xa73d, 0xa73d, 0xaf3d, 0xa73d, 0xaedd, 0xc376, 0xca53, 0xca53, 0xca53, 0xca53, 0xca33, 0xca53, 0xca53, 0xca53, 0xca53, 0xca53, 0xca53, 0xca53, 0xca53, 0xca53, 0xd233, 0xca53, 0xd253, 0xca53, 0xca53, 0x309c, 0x005f, 0x58b9, 0xc912, 0xc111, 0xc8f1, 0xc8d1, 0xc8d1, 0xc0d1, 0xc0d1, 0x337c, 0x045f, 0x041f, 0x041f, 0x045e, 0x0775, 0x07f5, 0x07fa, 0x07fe, 0x07ff, 0x2e3c, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0d1, 0xb0f1, 0xa8f1, 0xb0f1, 0xb0f1, 0xb0d1, 0x80f1, 0x28ef, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xca13, 0xca33, 0xca13, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa73d, 0xa73d, 0xa73d, 0x8a53, 0x8191, 0xa8f1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb213, 0xa6bd, 0xa71d, 0xa73e, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0x9e1b, 0x81f1, 0x9171, 0xb0f1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb1f3, 0xa6bd, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa73d, 0xa71d, 0x9e1b, 0x89f2, 0x8991, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb8d1, 0xb336, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa73d, 0xa73d, 0xa73d, 0xa71d, 0xa71d, 0xa73d, 0xa71d, 0xa71e, 0xa71d, 0xa71d, 0xa73d, 0xa73e, 0xa71d, 0xa71d, 0xa71d, 0xa73e, 0xa71d, 0xa73e, 0xa73d, 0xa71d, 0xa71d, 0xa73d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa73d, 0xa73d, 0xa73d, 0xa73e, 0xa71d, 0xa73d, 0xa73d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa73d, 0xa71d, 0xa71d, 0xa73e, 0xa73d, 0xa73d, 0xa71d, 0xa71d, 0x9477, 0x8191, 0x9931, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xa59a, 0xa71d, 0xa73d, 0xa73e, 0xa71d, 0xa71d, 0xa71e, 0xa73d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa73d, 0xa73d, 0xa71e, 0xa71d, 0xa73d, 0xa71d, 0xa73d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa73d, 0xa73d, 0xa71d, 0xa73d, 0xa73d, 0xa71d, 0xa73e, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xbbf7, 0xca13, 0xca33, 0xca13, 0xca33, 0xca33, 0xca33, 0xca33, 0xca33, 0xca33, 0xca33, 0xca33, 0xca33, 0xca33, 0xca13, 0xca13, 0xca14, 0xd233, 0xca33, 0x003f, 0x003f, 0x005f, 0x78d7, 0xc0f2, 0xc8f1, 0xc0d1, 0xc0d1, 0xc0d1, 0xc8b1, 0x4b1a, 0x047f, 0x045f, 0x043f, 0x045f, 0x0735, 0x07f4, 0x07f9, 0x07fe, 0x07ff, 0x2e3c, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0d1, 0xa8f1, 0xb0f1, 0xb0d1, 0xb0f1, 0xa0f1, 0x28cf, 0x28ef, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xca13, 0xca13, 0xca13, 0x9f1d, 0x9f1d, 0xa71d, 0x9f1d, 0x9f1d, 0xa71d, 0x9f1d, 0x9f1d, 0x8191, 0x8191, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xa5db, 0x9f1d, 0x9f1d, 0x9efd, 0x9f1d, 0x9f1d, 0x9f1d, 0xa6fd, 0x9f1d, 0x94f9, 0x8191, 0x9931, 0xb8d1, 0xb8d1, 0xb8b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8b1, 0xa5db, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0xa6fd, 0x9f1d, 0x9f1d, 0x9f1d, 0x94f9, 0x8191, 0x9931, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb932, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1e, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9e1b, 0x9457, 0x92d4, 0xa1f3, 0xa911, 0xb0f1, 0xb0f1, 0xa911, 0xb274, 0xb254, 0xb254, 0xabf7, 0xa5db, 0xa6fd, 0xa6fd, 0xa71d, 0xa71d, 0x9f1d, 0x9f1d, 0xa6fd, 0x9f1d, 0x9f1d, 0xa71d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9e7c, 0x9498, 0x8b14, 0x9a13, 0xa131, 0xa912, 0xb0f1, 0xa8f1, 0xb255, 0xb274, 0xb254, 0xab97, 0xad1a, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0xa71d, 0x9f1d, 0xa71d, 0x9457, 0x8191, 0xa131, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xa57a, 0x9f1d, 0xa71d, 0x9f1d, 0xa71d, 0x9e7c, 0x9dba, 0xa59a, 0xa57a, 0xa57a, 0xa57a, 0xa57a, 0xa57a, 0xa57a, 0xa57a, 0xa69c, 0x9f1d, 0x9f1d, 0x9f1d, 0xa71d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9e5c, 0x94b8, 0x8af4, 0x9a13, 0xa131, 0xa8f1, 0xb0f1, 0xb0f1, 0xb932, 0xb274, 0xb254, 0xb336, 0xacb9, 0xa63c, 0x9f1d, 0xbbf7, 0xc9f3, 0xca13, 0xca13, 0xca13, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xca13, 0xca13, 0xca13, 0xca13, 0xca13, 0x003f, 0x003f, 0x005f, 0x58b9, 0xc0f1, 0xc0d1, 0xc8d1, 0xc8b2, 0xc0b1, 0xc0b1, 0x62b8, 0x04bf, 0x047f, 0x047f, 0x045f, 0x0715, 0x07f4, 0x07f9, 0x07fd, 0x07ff, 0x2e3c, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xa8f1, 0xa8f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0x58f0, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xc9d3, 0xc9d3, 0xc9d3, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x959a, 0x8191, 0x9151, 0xc0b1, 0xb8d1, 0xc0b1, 0xb8d1, 0xc0d1, 0xb8d1, 0xb8d1, 0xb2b5, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x8252, 0x8191, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xc0b1, 0xc0d1, 0xb8d1, 0xc0d1, 0xb1f3, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9f1d, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x8a93, 0x8191, 0xb8d1, 0xb8d1, 0xc0d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xc0b1, 0xa63c, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x94f8, 0x8a53, 0x9171, 0xb0f1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8b1, 0xb8b1, 0xc0b1, 0xc0d1, 0xc0d1, 0xb8d1, 0xc0d1, 0xb8b1, 0xb992, 0xacb9, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9e5c, 0x8b96, 0x8991, 0xa131, 0xb8d1, 0xb8d1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xc0b1, 0xb8d1, 0xb932, 0xabf7, 0x9e9c, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9437, 0x8191, 0xa131, 0xb8d1, 0xc0b1, 0xb8d1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xa57a, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9437, 0x8191, 0xa131, 0xb8d1, 0xc0b1, 0xb8d1, 0xb8d1, 0xc0b1, 0xb8d1, 0xb8d1, 0xa57a, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9e9c, 0x8b96, 0x8971, 0xa131, 0xb8d1, 0xb8d1, 0xc0b1, 0xb8d1, 0xc0b1, 0xc0d1, 0xb8d1, 0xb8d1, 0xc0d1, 0xb8d1, 0xb8d1, 0xc0d1, 0xb335, 0xa63c, 0xbbd7, 0xc9d3, 0xc9f3, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9f3, 0xc9d3, 0xc9d3, 0xc9f3, 0xc9d3, 0x001f, 0x003f, 0x003f, 0x00df, 0x88f6, 0xc8d1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc8b1, 0x62d9, 0x04ff, 0x04bf, 0x049f, 0x047f, 0x06b6, 0x07f3, 0x07f8, 0x07fd, 0x07ff, 0x2e3c, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0f1, 0x98f2, 0xb0f1, 0xb0f1, 0xb0f1, 0x78f0, 0x90f1, 0x80d1, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0xc9b3, 0xc9b3, 0xc9b3, 0x9edd, 0x96fd, 0x9edd, 0x96fd, 0x9efc, 0x96fd, 0x96fd, 0x9599, 0x8991, 0x9171, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xabd7, 0x9efc, 0x96fd, 0x96fd, 0x96dd, 0x96fd, 0x9efd, 0x9edd, 0x96fd, 0x9edd, 0x9efd, 0x8c37, 0x8191, 0xa111, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xab76, 0x9edd, 0x9efd, 0x9efd, 0x9edd, 0x9edd, 0x96dd, 0x9efd, 0x9edd, 0x96fd, 0x9edd, 0x8c37, 0x8191, 0xa131, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0d1, 0xa55a, 0x96fd, 0x9edd, 0x9efd, 0x96fd, 0x963b, 0x8af4, 0x8991, 0xa911, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xb992, 0xa55a, 0x9edd, 0x9efc, 0x96fd, 0x9edd, 0x96fd, 0x9efd, 0x96fd, 0x96fd, 0x96fd, 0x96fd, 0x96fd, 0x96fd, 0x96fd, 0x96fd, 0x94f9, 0x81f1, 0x9171, 0xb8d2, 0xc0b1, 0xc0d1, 0xc0d1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xb992, 0x9dbb, 0x96fd, 0x9edd, 0x96fd, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xa55a, 0x9edd, 0x96fd, 0x96fd, 0x9efd, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xa55a, 0x96fd, 0x9efd, 0x96fd, 0x9efd, 0x9efd, 0x96fd, 0x9efd, 0x96fd, 0x9539, 0x81f1, 0x9171, 0xb0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb911, 0xacfa, 0xb458, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9d2, 0xc9d3, 0xc9d3, 0xc9b3, 0x001f, 0x003f, 0x003f, 0x00bf, 0x311c, 0xc0d1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x6278, 0x053f, 0x04ff, 0x04bf, 0x049f, 0x0696, 0x07f2, 0x07f7, 0x07fc, 0x07ff, 0x2e3c, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f1, 0x8912, 0xb0f1, 0xb0f1, 0xb0d1, 0x48f0, 0x28f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xc993, 0xc993, 0xc992, 0x96dc, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x8d79, 0x8191, 0x9151, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xabd7, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xabd7, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x9d5a, 0x96dd, 0x96dd, 0x96dd, 0x95da, 0x89f2, 0x8971, 0xb8d1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xa499, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dc, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x8c37, 0x8191, 0x9931, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xa499, 0x96dc, 0x96dd, 0x8c37, 0x8191, 0xa111, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x9d5a, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x9d5a, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x8cd8, 0x8191, 0x9951, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xac79, 0xacf9, 0xc992, 0xc993, 0xc9b2, 0xc992, 0xc992, 0xc993, 0xc993, 0xc993, 0xc992, 0xc992, 0xc992, 0xc993, 0xc993, 0xc993, 0x003f, 0x003f, 0x003f, 0x00bf, 0x011f, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x79d6, 0x051f, 0x051f, 0x04ff, 0x04bf, 0x0638, 0x07f1, 0x07f7, 0x07fc, 0x07ff, 0x2e3c, 0xb0f1, 0xb0f2, 0xb0f1, 0xb0f1, 0x80f2, 0xb0f1, 0xb0f1, 0xb0f2, 0x3110, 0x30f0, 0x28cf, 0x28ef, 0x20ce, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x10d2, 0x08f3, 0x10f3, 0x10d2, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xc972, 0xc972, 0xc972, 0x8ebc, 0x8ebd, 0x8ebd, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebd, 0x8d7a, 0x8191, 0x9151, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xabb7, 0x8ebd, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebd, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xabb7, 0x8ebc, 0x8ebc, 0x8ebc, 0x8edc, 0x8ebc, 0x8edd, 0x8ebc, 0x8ebc, 0x8ebd, 0x8ebc, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x9d39, 0x8ebd, 0x8edd, 0x8dba, 0x81f2, 0x9171, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc8b1, 0xc8b2, 0xc0b1, 0xc8b2, 0xc8b1, 0xc8b1, 0xc0d1, 0xc0b1, 0xc0d1, 0xc0d1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xa437, 0x8ebc, 0x8edd, 0x8ebc, 0x8ebd, 0x8ebc, 0x8ebc, 0x8ebd, 0x8ebc, 0x8ebd, 0x8ebd, 0x8cd8, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc8b2, 0xc8b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc8b1, 0xa4d9, 0x8ebc, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc8b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0x9d3a, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x9d5a, 0x8ebc, 0x8ebc, 0x8edc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8cd8, 0x8191, 0x9951, 0xc8b1, 0xc0b1, 0xc8b1, 0xc8b2, 0xc8b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc8b1, 0xc8b1, 0xc8d1, 0xa478, 0xa4d9, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0x003f, 0x003f, 0x001f, 0x009f, 0x00df, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x9174, 0x049f, 0x057f, 0x051f, 0x04ff, 0x0619, 0x07f1, 0x07f6, 0x07fc, 0x07ff, 0x35bb, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f1, 0x6912, 0xb0f1, 0xb0f1, 0x98f1, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28ef, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x011a, 0x00fa, 0x011a, 0x0119, 0x08f7, 0x18ce, 0x18ad, 0x20ad, 0x18ae, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0xc952, 0xc952, 0xc952, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8d59, 0x8191, 0x9171, 0xc8f2, 0xc8f1, 0xc8f2, 0xc8f2, 0xc8f2, 0xc8f1, 0xc8f2, 0xabd7, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8c36, 0x8191, 0xa931, 0xc8f2, 0xc8f1, 0xc8f2, 0xc8f2, 0xc8f2, 0xc8f2, 0xc0f2, 0xabb7, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8437, 0x8191, 0xa951, 0xc8f1, 0xc8f1, 0xc8f2, 0xc8f1, 0xc8f1, 0xc8f2, 0xc8f1, 0x9d3a, 0x8ebc, 0x8e1b, 0x81f2, 0x8971, 0xb912, 0xc8f1, 0xc8f1, 0xc8f2, 0xc8f1, 0xc8f1, 0xc8f1, 0xc8f2, 0xc8d1, 0xc112, 0xc8f2, 0xc8f2, 0xc8f2, 0xc8d1, 0xc8f2, 0xc8d1, 0xc8f2, 0xc0f1, 0xc8f1, 0xc8f2, 0xc8f1, 0xc8f2, 0xc0f1, 0xa498, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8dba, 0x8991, 0x8991, 0xc0f1, 0xc8f2, 0xc0f2, 0xc8f1, 0xc8f2, 0xc8f1, 0xc0f1, 0xc8f2, 0xc8f1, 0xc8f2, 0xc0f2, 0xc8f1, 0xc0f1, 0xc8f2, 0xc8f1, 0xc8f2, 0xc8f2, 0xc8f2, 0xc8f1, 0xc8f1, 0xc0f2, 0xc132, 0x8e5c, 0x8c17, 0x8191, 0xa931, 0xc8f2, 0xc8f2, 0xc8f2, 0xc8f2, 0xc8f1, 0xc8f2, 0xc8f2, 0x9d59, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8c17, 0x8191, 0xa951, 0xc8f1, 0xc8f1, 0xc8f2, 0xc8f1, 0xc8f1, 0xc8f2, 0xc8f1, 0x9d5a, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebd, 0x8dba, 0x81f2, 0x8991, 0xc111, 0xc8f1, 0xc8f1, 0xc8f1, 0xc0f2, 0xc8f1, 0xc8f1, 0xc0f2, 0xc8d2, 0xc8f1, 0xc8f2, 0xc0f1, 0xc0f1, 0xc8f2, 0xc0f1, 0xc8f1, 0xc8f2, 0xc8f2, 0xc8f1, 0xc8f1, 0xc8f2, 0xc152, 0x95fb, 0xa4b8, 0xc152, 0xc952, 0xc952, 0xc952, 0xc972, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0x001f, 0x001f, 0x001f, 0x007f, 0x00df, 0x68b7, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xa8f3, 0x041f, 0x057f, 0x053f, 0x051f, 0x05f9, 0x07f0, 0x07f6, 0x07fc, 0x07ff, 0x5c78, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f1, 0x5912, 0xb0f1, 0xb0f1, 0x90f1, 0x30f0, 0x30ef, 0x30ef, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0117, 0x00f7, 0x0119, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xc932, 0xc932, 0xc932, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8d79, 0x8191, 0x9171, 0xc132, 0xc131, 0xc912, 0xc912, 0xc132, 0xc911, 0xc912, 0xabf7, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x96bc, 0x8c36, 0x8191, 0xa951, 0xc912, 0xc911, 0xc912, 0xc912, 0xc112, 0xc912, 0xc912, 0xabf7, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8c36, 0x8191, 0xa951, 0xc912, 0xc912, 0xc912, 0xc911, 0xc911, 0xc912, 0xc912, 0x9d59, 0x8ebc, 0x8ad4, 0x8191, 0xb152, 0xc912, 0xc131, 0xc912, 0xc912, 0xc912, 0xc912, 0xc912, 0xc912, 0xc932, 0xc912, 0xc912, 0xc912, 0xc912, 0xc911, 0xc112, 0xc932, 0xc912, 0xc912, 0xc932, 0xc911, 0xc912, 0xc912, 0xc932, 0xc131, 0x9dba, 0x8ebc, 0x96bc, 0x8ebc, 0x8edc, 0x96bb, 0x8ebc, 0x8edc, 0x82d4, 0x8191, 0xb932, 0xc912, 0xc112, 0xc912, 0xc112, 0xc912, 0xc112, 0xc912, 0xc911, 0xc911, 0xc932, 0xc911, 0xc131, 0xc912, 0xc132, 0xc131, 0xc912, 0xc912, 0xc911, 0xc911, 0xc131, 0xc912, 0xc912, 0xb356, 0x8c36, 0x8191, 0xa151, 0xc912, 0xc912, 0xc912, 0xc912, 0xc912, 0xc912, 0xc112, 0x9d59, 0x8ebc, 0x96bc, 0x8ebc, 0x8ebc, 0x8c37, 0x8191, 0xa951, 0xc912, 0xc912, 0xc912, 0xc911, 0xc911, 0xc912, 0xc912, 0x9d59, 0x8ebc, 0x8ebc, 0x8ebc, 0x96bc, 0x8ebc, 0x82f4, 0x8991, 0xb151, 0xc912, 0xc912, 0xc932, 0xc912, 0xc912, 0xc131, 0xc932, 0xc912, 0xc911, 0xc911, 0xc932, 0xc911, 0xc912, 0xc911, 0xc932, 0xc932, 0xc112, 0xc911, 0xc132, 0xc912, 0xc912, 0xc932, 0xb336, 0x96bc, 0xa4f9, 0xc192, 0xc932, 0xc932, 0xc932, 0xc932, 0xc932, 0xc932, 0xc932, 0xc932, 0xc932, 0xc932, 0x001f, 0x001f, 0x001f, 0x007f, 0x00bf, 0x009f, 0x90b5, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x0b9e, 0x053f, 0x057f, 0x053f, 0x05da, 0x07ef, 0x07f5, 0x07fb, 0x07ff, 0x5478, 0xb0d1, 0xb0f1, 0xb0f1, 0x9111, 0x5912, 0xa8f1, 0xb0f1, 0x70f1, 0x30f0, 0x28ef, 0x20ef, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xc912, 0xc912, 0xc912, 0x9edb, 0x9edb, 0x9edb, 0x9edc, 0x9edb, 0x9edb, 0x9edb, 0x9578, 0x8191, 0x9991, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xb417, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9436, 0x8191, 0xa972, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xa518, 0x9edb, 0x96db, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9436, 0x8191, 0xa171, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xa579, 0x94d8, 0x8191, 0x9991, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc152, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc253, 0xc2b4, 0xb952, 0xc152, 0xc952, 0xc152, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xbab5, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9599, 0x8191, 0x91b1, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc1f3, 0xc2b5, 0xb952, 0xc152, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc972, 0xc952, 0xc952, 0xc972, 0xc1b2, 0x9436, 0x8191, 0xa972, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xa579, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x8c36, 0x8991, 0xa171, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xa579, 0x9edb, 0x9edc, 0x9edb, 0x9edb, 0x9598, 0x8191, 0x9191, 0xc952, 0xc952, 0xc952, 0xc952, 0xc152, 0xc952, 0xc172, 0xc952, 0xc952, 0xc952, 0xc1f3, 0xc2b4, 0xb952, 0xc152, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xa61a, 0x9edc, 0xa5da, 0xc172, 0xc912, 0xc911, 0xc911, 0xc912, 0xc912, 0xc111, 0xc912, 0xc912, 0xc912, 0x001f, 0x001f, 0x001f, 0x005f, 0x007f, 0x007f, 0x6098, 0xc0b1, 0xb8b1, 0xc0b1, 0xc0b1, 0x2afc, 0x04ff, 0x05bf, 0x055f, 0x05fb, 0x07cf, 0x07f4, 0x07fc, 0x07ff, 0x5c79, 0xb0f1, 0xb0f1, 0xb0f1, 0x8112, 0x5912, 0xb0f1, 0xb0f1, 0x68f1, 0x30f0, 0x30ef, 0x30cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x18d0, 0x18ad, 0x18ad, 0x10d0, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xc8f1, 0xc8f1, 0xc8f2, 0xa6fb, 0xa6fa, 0xa6fa, 0xa6fb, 0xa6fa, 0xa6da, 0xa6fa, 0x9d98, 0x8191, 0x9191, 0xc972, 0xc992, 0xc992, 0xc972, 0xc992, 0xc992, 0xc992, 0xb436, 0xa6fb, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0x9436, 0x8191, 0xa992, 0xc992, 0xc992, 0xc972, 0xc972, 0xc972, 0xc992, 0xc992, 0xad98, 0xa6da, 0xa6da, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0x9436, 0x8191, 0xa992, 0xc993, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xad99, 0x8a32, 0x8991, 0xc192, 0xc992, 0xc992, 0xc972, 0xc992, 0xc992, 0xc973, 0xc992, 0xc992, 0xc992, 0xbc36, 0xa69a, 0xa6fa, 0xa6fa, 0xa69a, 0x9395, 0x8991, 0xb992, 0xc993, 0xc972, 0xc972, 0xc992, 0xc992, 0xc972, 0xc992, 0xc972, 0xc972, 0xad98, 0xa6db, 0xa6da, 0xa6fa, 0xa6fb, 0xa6fa, 0x9395, 0x8191, 0xb192, 0xc992, 0xc992, 0xc992, 0xc993, 0xc972, 0xc972, 0xc992, 0xc972, 0xc233, 0xad98, 0xa6fa, 0xa6fb, 0xa639, 0x8a93, 0x9992, 0xc192, 0xc972, 0xc992, 0xc992, 0xc992, 0xc972, 0xc992, 0xc972, 0xc972, 0x9a93, 0x8191, 0xa992, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xad98, 0xa6fa, 0xa6fb, 0xa6fa, 0xa6fa, 0x9436, 0x8191, 0xa992, 0xc993, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xad98, 0xa6da, 0xa6da, 0xa6fa, 0xa6da, 0x8b95, 0x8191, 0xb192, 0xc972, 0xc992, 0xc972, 0xc992, 0xc992, 0xc972, 0xc992, 0xc972, 0xc294, 0xadf9, 0xa6fa, 0xa6da, 0xa69a, 0x9334, 0x9191, 0xb992, 0xc992, 0xc993, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xb497, 0xaefb, 0xaefb, 0xb5d9, 0xc952, 0xc8f1, 0xc8f2, 0xc0f1, 0xc8f1, 0xc8f1, 0xc8f1, 0xc8f1, 0xc8f1, 0x001f, 0x001f, 0x001f, 0x003f, 0x007f, 0x005f, 0x7897, 0xc0b1, 0xc0d1, 0xc0b1, 0xb8d1, 0x6238, 0x04df, 0x05bf, 0x059f, 0x05fa, 0x07ce, 0x07f4, 0x07fc, 0x07ff, 0x5c78, 0xb0f1, 0xb0f1, 0xb0f1, 0x7112, 0x5912, 0xb0f1, 0xa8f1, 0x5110, 0x30f0, 0x30cf, 0x28cf, 0x28cf, 0x28cf, 0x20ae, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0xc0d1, 0xc0d1, 0xc8d2, 0xb71a, 0xb71a, 0xb71a, 0xaefa, 0xb71a, 0xaf1a, 0xaefa, 0xa598, 0x8191, 0x9191, 0xc9b3, 0xc9b3, 0xc9d3, 0xc9d3, 0xc9b2, 0xc9b3, 0xc9d3, 0xbc76, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0x9c55, 0x8191, 0xa9b2, 0xc9d3, 0xc9d3, 0xc9b3, 0xc9b2, 0xc9b3, 0xc9d3, 0xc9d3, 0xb5b8, 0xb71a, 0xaf1a, 0xb71a, 0xb6fa, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0xb6fa, 0xaf1a, 0x9c56, 0x8191, 0xa992, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xa3b5, 0x8191, 0x9992, 0xc9b2, 0xc9b3, 0xc9d2, 0xc9b2, 0xc9b3, 0xc9b2, 0xc9b3, 0xc9d3, 0xca13, 0xbdb8, 0xaefa, 0xaf1a, 0xb71a, 0xb6fa, 0xaefa, 0xaf19, 0xa4f7, 0x8991, 0xb1b2, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9d2, 0xc9b3, 0xc9b3, 0xc314, 0xaf1a, 0xaf1a, 0xaef9, 0xaf1a, 0xaf1a, 0x89f1, 0x8191, 0xc1b2, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b2, 0xc9b2, 0xc9d3, 0xc9b3, 0xcab4, 0xb6b9, 0xaf1a, 0xb71a, 0xaefa, 0xb71a, 0xb6b9, 0x8a93, 0x8991, 0xc1d2, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b2, 0xc9d3, 0xc9b2, 0xa992, 0x8191, 0xa9b2, 0xc9d3, 0xc9b3, 0xc9d3, 0xc9b2, 0xc9b2, 0xc9b2, 0xc9b3, 0xb5b8, 0xaf1a, 0xaefa, 0xaf1a, 0xb71a, 0x9c56, 0x8191, 0xa992, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xb5b8, 0xb6fa, 0xaf1a, 0xaf1a, 0xb6fa, 0x89f2, 0x8191, 0xc1b2, 0xc9b3, 0xc9b2, 0xc9d3, 0xc9b3, 0xc9b3, 0xc9b2, 0xc9d3, 0xcab4, 0xb6b9, 0xaf1a, 0xb71a, 0xb71a, 0xb6fa, 0xb71a, 0x92f3, 0x89b1, 0xc1b2, 0xc9d3, 0xc9b3, 0xc9b3, 0xc9d3, 0xc9d3, 0xc9b3, 0xc9d3, 0xc315, 0xb71a, 0xb71a, 0xb71a, 0xbdd9, 0xc132, 0xc0d1, 0xc8d1, 0xc8d1, 0xc8d1, 0xc8d1, 0xc0d1, 0xc0d1, 0x001f, 0x001f, 0x001f, 0x003f, 0x007f, 0x007f, 0x6878, 0xb8b1, 0xc0b1, 0xc0d1, 0xb8d1, 0x9954, 0x047f, 0x05bf, 0x05bf, 0x061a, 0x07ce, 0x07f2, 0x07fc, 0x07ff, 0x5c78, 0xb0f1, 0xb0f1, 0xb0f1, 0x6112, 0x5912, 0xa8f1, 0xa8f1, 0x60f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f7, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x08f5, 0x0119, 0x0119, 0x00f7, 0x00f7, 0x0119, 0x0119, 0x08f4, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0xc0b1, 0xc8b1, 0xc0b1, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xa4b5, 0x8191, 0xa1b2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xd1f3, 0xc496, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xa455, 0x8191, 0xa9d2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xbdd8, 0xbf19, 0xbf19, 0xbf19, 0xbf39, 0xbf19, 0xbf19, 0xbf39, 0xbf19, 0xbf39, 0xbf39, 0xa455, 0x8191, 0xa9d2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0x99f2, 0x8991, 0xb1d2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f2, 0xc577, 0xbf19, 0xbf39, 0xbf39, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0x9bf5, 0x8191, 0xb1d2, 0xc9f3, 0xc9f3, 0xd1f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xbe78, 0xbf19, 0xbf19, 0xbf19, 0xb6b9, 0x8191, 0x8991, 0xc9f3, 0xc9f3, 0xc9f2, 0xc9f3, 0xc9f3, 0xc9d3, 0xc9f3, 0xc9f3, 0xbed8, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf39, 0xad57, 0x8191, 0x99b2, 0xc9f3, 0xc9f2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xb9d3, 0x8191, 0xa9b2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xbdd8, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0x9c75, 0x8191, 0xa9d2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xbdd8, 0xbf19, 0xbf19, 0xbf19, 0xb6b8, 0x8191, 0x8191, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xbe78, 0xbf19, 0xbf39, 0xbf19, 0xbf39, 0xbf19, 0xbf19, 0xadb7, 0x8191, 0x91b1, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc71a, 0xbf1a, 0xc73a, 0xbf3a, 0xc659, 0xc9d3, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0x001f, 0x001f, 0x001f, 0x003f, 0x005f, 0x003f, 0x001f, 0x7076, 0xc0d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x0bff, 0x05df, 0x05bf, 0x0639, 0x07cd, 0x07f2, 0x07fc, 0x07ff, 0x63f7, 0xb0f1, 0xb0f1, 0xb0f1, 0x4132, 0x4111, 0xa0f1, 0xb0f1, 0x90f1, 0x30f0, 0x28ef, 0x28ce, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f8, 0x10d0, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0xc0b1, 0xc0b1, 0xc0b1, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xa475, 0x8991, 0xa9d2, 0xca13, 0xca33, 0xca33, 0xca34, 0xca13, 0xca33, 0xca33, 0xccb6, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xa455, 0x8191, 0xa9d2, 0xca33, 0xca33, 0xca13, 0xca33, 0xca33, 0xca33, 0xd213, 0xc5f7, 0xc738, 0xc738, 0xc738, 0xc738, 0xc739, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xa475, 0x8191, 0xa9d2, 0xca13, 0xca33, 0xca33, 0xca33, 0xca33, 0xca13, 0xca33, 0x91b1, 0x8191, 0xca13, 0xca33, 0xca33, 0xca33, 0xca33, 0xca13, 0xca33, 0xca13, 0xc455, 0xc738, 0xc739, 0xc738, 0xc738, 0xc738, 0xc738, 0xc739, 0xc738, 0xc738, 0xc738, 0x8a52, 0x8991, 0xc213, 0xca13, 0xca13, 0xca13, 0xca13, 0xca33, 0xca13, 0xca33, 0xcd56, 0xc738, 0xc738, 0xc739, 0xb5d7, 0x8191, 0x91b1, 0xca13, 0xca13, 0xca13, 0xd233, 0xca33, 0xca33, 0xca33, 0xcb55, 0xcf38, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc739, 0xc738, 0x8191, 0x8191, 0xca13, 0xca13, 0xca13, 0xca33, 0xca13, 0xca33, 0xd233, 0xca13, 0x8191, 0xa9d2, 0xca33, 0xca33, 0xca13, 0xca13, 0xca33, 0xca13, 0xca33, 0xcdf7, 0xc738, 0xc738, 0xc738, 0xc739, 0xa475, 0x8191, 0xa9d2, 0xca13, 0xca33, 0xca33, 0xca33, 0xca33, 0xca13, 0xca33, 0xc5f7, 0xc738, 0xc738, 0xc738, 0xb5d6, 0x8191, 0x99b2, 0xca33, 0xca33, 0xd213, 0xca33, 0xca33, 0xca33, 0xca33, 0xcb74, 0xc739, 0xc738, 0xc738, 0xc738, 0xc738, 0xc739, 0xc738, 0xc738, 0x8ab2, 0x8191, 0xba13, 0xca13, 0xca13, 0xca33, 0xca13, 0xca33, 0xca33, 0xca13, 0xcf39, 0xc739, 0xc759, 0xcf3a, 0xcf39, 0xced9, 0xc9f3, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x003f, 0x001f, 0x001f, 0x9894, 0xb8d1, 0xb8d1, 0xb8d1, 0x42da, 0x059f, 0x05ff, 0x0678, 0x07cc, 0x07f1, 0x07fc, 0x07ff, 0x82b5, 0xa8f1, 0xb0f1, 0x98f2, 0x4132, 0x3912, 0x70f1, 0xa8f1, 0xa8f1, 0x50f0, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f8, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x10d2, 0x10d3, 0x08f3, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0xc0b1, 0xc0b1, 0xc0b1, 0xcf57, 0xd758, 0xd758, 0xcf58, 0xd758, 0xcf58, 0xd758, 0xac74, 0x8191, 0xa9f2, 0xca53, 0xd253, 0xca54, 0xca53, 0xca53, 0xca53, 0xca54, 0xccd6, 0xcf58, 0xd758, 0xd758, 0xd758, 0xd758, 0xd758, 0xd758, 0xd758, 0xd758, 0xcf58, 0xac75, 0x8191, 0xa9f2, 0xca53, 0xca53, 0xd253, 0xca53, 0xca53, 0xca53, 0xd254, 0xce17, 0xcf57, 0xd758, 0xcf58, 0xd758, 0xcf58, 0xd758, 0xd758, 0xcf58, 0xd758, 0xcf58, 0xac74, 0x8191, 0xa9f2, 0xca53, 0xca54, 0xd253, 0xca53, 0xca53, 0xca54, 0xca53, 0x99d2, 0x89b1, 0xca53, 0xca53, 0xca53, 0xca53, 0xd253, 0xca53, 0xca53, 0xca54, 0xd6b7, 0xd758, 0xcf58, 0xcf57, 0xcf58, 0xd758, 0xd757, 0xd758, 0xd757, 0xd758, 0xcf58, 0xb535, 0x8191, 0xa1d2, 0xca53, 0xca53, 0xca53, 0xd254, 0xca73, 0xca53, 0xca53, 0xcc95, 0xd758, 0xd758, 0xcf58, 0xbdd6, 0x8191, 0x99d2, 0xca53, 0xca53, 0xca54, 0xca53, 0xca53, 0xd254, 0xca54, 0xd435, 0xd758, 0xd758, 0xcf58, 0xd758, 0xd758, 0xcf57, 0xd738, 0xcf58, 0x9af3, 0x8991, 0xc213, 0xca54, 0xca53, 0xca53, 0xd253, 0xca53, 0xca54, 0xca73, 0x8191, 0xa9f2, 0xca53, 0xd253, 0xd253, 0xca54, 0xd253, 0xca53, 0xca54, 0xce17, 0xcf58, 0xd758, 0xd758, 0xcf58, 0xac74, 0x8191, 0xa9f2, 0xca53, 0xca54, 0xd253, 0xca53, 0xca53, 0xca54, 0xca53, 0xd617, 0xd758, 0xcf58, 0xcf58, 0xbdd6, 0x8191, 0x91b2, 0xca53, 0xd254, 0xca53, 0xca53, 0xca54, 0xd253, 0xd253, 0xccd6, 0xd758, 0xd758, 0xd758, 0xd758, 0xcf57, 0xd757, 0xcf58, 0xd758, 0x9af3, 0x8191, 0xba33, 0xca54, 0xca53, 0xd253, 0xca54, 0xca53, 0xd253, 0xca53, 0xd758, 0xd758, 0xdf59, 0xd779, 0xd759, 0xd759, 0xd6f9, 0xc1f2, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x001f, 0x001f, 0x001f, 0x003f, 0x001f, 0x001f, 0x001f, 0x001f, 0x183e, 0xb0d2, 0xb8d1, 0xb8d1, 0x9974, 0x059f, 0x061f, 0x0698, 0x07cc, 0x07f0, 0x07fc, 0x07ff, 0x82b5, 0xb0f1, 0xb0f1, 0x88f1, 0x4132, 0x4111, 0x3910, 0x98f1, 0xa8f2, 0x88f1, 0x28ef, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x0118, 0x10d0, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0xc0b1, 0xc0b1, 0xc0b1, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xb494, 0x8191, 0xaa12, 0xca94, 0xca74, 0xca94, 0xca94, 0xca94, 0xca94, 0xd294, 0xd4f5, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xb474, 0x8191, 0xaa12, 0xca94, 0xca94, 0xd294, 0xca94, 0xd294, 0xca94, 0xd294, 0xde36, 0xdf77, 0xdf77, 0xdf57, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xb494, 0x8191, 0xaa12, 0xca94, 0xd294, 0xd294, 0xd294, 0xd294, 0xd294, 0xd294, 0x99d2, 0x91d2, 0xd294, 0xca94, 0xd294, 0xca94, 0xd294, 0xca94, 0xca94, 0xd3d4, 0xdf77, 0xdf77, 0xdf77, 0xdf76, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf57, 0xdf77, 0xdf77, 0x8191, 0x8992, 0xca94, 0xca94, 0xca94, 0xd294, 0xca94, 0xca93, 0xca94, 0xd3d5, 0xdf77, 0xdf77, 0xdf77, 0xc5f5, 0x8191, 0x99d2, 0xca94, 0xca94, 0xd273, 0xca94, 0xd294, 0xca94, 0xd294, 0xd515, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0x9b12, 0x8191, 0xba53, 0xca94, 0xca94, 0xd294, 0xca94, 0xca93, 0xd294, 0xca94, 0x8191, 0xaa12, 0xd294, 0xd294, 0xd294, 0xca94, 0xca94, 0xd294, 0xd294, 0xde36, 0xdf77, 0xdf77, 0xdf57, 0xdf77, 0xb474, 0x8191, 0xaa12, 0xca94, 0xd294, 0xd294, 0xd294, 0xd294, 0xd294, 0xd294, 0xde36, 0xdf77, 0xdf77, 0xdf77, 0xc5f5, 0x8191, 0x99d2, 0xd294, 0xca94, 0xca94, 0xd294, 0xca94, 0xca94, 0xca93, 0xd4f5, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0x9b12, 0x8191, 0xba53, 0xd294, 0xca94, 0xca94, 0xd294, 0xca94, 0xd294, 0xca94, 0xdf78, 0xdf78, 0xdf78, 0xdf78, 0xdf78, 0xdf78, 0xe779, 0xdf19, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x385b, 0xb8d1, 0xb8d1, 0xb8d1, 0x2c3c, 0x061f, 0x06b7, 0x07cb, 0x07f0, 0x07fb, 0x07ff, 0xb0f1, 0xb0f1, 0xa8f1, 0x7912, 0x4132, 0x4111, 0x3911, 0x4110, 0xa0f1, 0xa8f1, 0x48ef, 0x28ce, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0118, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x208e, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xb8d1, 0xb8d1, 0xc0d1, 0xe776, 0xe796, 0xe797, 0xe797, 0xe796, 0xe796, 0xe796, 0xb494, 0x8191, 0xaa33, 0xd2b4, 0xd2b4, 0xd2b4, 0xcab4, 0xd2d4, 0xd2b4, 0xd2b4, 0xdd35, 0xe776, 0xe796, 0xe796, 0xe796, 0xe796, 0xe796, 0xe796, 0xe796, 0xe796, 0xe796, 0xb474, 0x8191, 0xaa33, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2b4, 0xd2b4, 0xcad4, 0xd2d4, 0xe656, 0xef96, 0xe776, 0xe797, 0xe796, 0xe796, 0xe776, 0xe777, 0xe796, 0xe796, 0xe796, 0xb494, 0x8191, 0xaa33, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0x99d2, 0x99f2, 0xcab4, 0xd2b4, 0xd2d4, 0xd2b4, 0xd2b4, 0xcad4, 0xd2b4, 0xd3f5, 0xe777, 0xe797, 0xef97, 0xe796, 0xe796, 0xe776, 0xe777, 0xe796, 0xe796, 0xe796, 0xe777, 0xef97, 0x8191, 0x8191, 0xd2b4, 0xd2b4, 0xd2d4, 0xd2d4, 0xd2b4, 0xd2b4, 0xcad4, 0xd3d5, 0xe796, 0xe796, 0xe796, 0xce15, 0x8191, 0x99f2, 0xcad4, 0xd2b4, 0xd2d4, 0xd2b4, 0xd2b4, 0xcab4, 0xd2b4, 0xdd35, 0xe777, 0xef76, 0xe796, 0xe797, 0xe797, 0xe776, 0xe796, 0xe776, 0xc534, 0xb494, 0xcc15, 0xd3f5, 0xdbf4, 0xdbf4, 0xdbf5, 0xd3f5, 0xd3f4, 0xcb34, 0x8191, 0xaa32, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2d4, 0xd2b4, 0xcab4, 0xe656, 0xe776, 0xe796, 0xe796, 0xe776, 0xb494, 0x8191, 0xaa33, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xde56, 0xe796, 0xe796, 0xe796, 0xce15, 0x8191, 0x99f2, 0xd2b4, 0xd2b4, 0xd2d4, 0xd2b4, 0xd2d4, 0xcad4, 0xcad4, 0xdd15, 0xe796, 0xe796, 0xe776, 0xe796, 0xef96, 0xe796, 0xe796, 0xe796, 0x9b13, 0x8191, 0xba73, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xe797, 0xef97, 0xef77, 0xef97, 0xef78, 0xef98, 0xef98, 0xef98, 0xc992, 0xb8d1, 0xc0d1, 0xc0b1, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x7096, 0xb8d1, 0xb8d1, 0x8a35, 0x063f, 0x06d6, 0x07ea, 0x07f1, 0x07fc, 0x07ff, 0xa8f1, 0xa8f1, 0xa8f1, 0x6132, 0x4132, 0x4111, 0x38f1, 0x3110, 0x48f0, 0xa8f1, 0x98f1, 0x30cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0118, 0x18d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xb8d1, 0xb8d1, 0xb8d1, 0xf796, 0xf7b6, 0xf796, 0xf795, 0xf795, 0xf796, 0xefb6, 0xbc93, 0x8191, 0xaa52, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2f5, 0xd2f5, 0xd2f4, 0xdd55, 0xf7b6, 0xf7b6, 0xf7b6, 0xf7b6, 0xf7b6, 0xf7b6, 0xf7b6, 0xf7b6, 0xf7b6, 0xefb6, 0xbc93, 0x8191, 0xaa53, 0xd2f5, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xe675, 0xf796, 0xf795, 0xf796, 0xf796, 0xf796, 0xf7b6, 0xf7b5, 0xf7b5, 0xef96, 0xf796, 0xbc93, 0x8191, 0xaa33, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0x99f2, 0x99f2, 0xd2f5, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2d4, 0xd2f4, 0xd2f4, 0xdc75, 0xf795, 0xf795, 0xf795, 0xf796, 0xf7b5, 0xf796, 0xf796, 0xf796, 0xf796, 0xefb6, 0xf7b5, 0xf796, 0x8191, 0x8991, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xdc15, 0xf796, 0xf796, 0xf796, 0xd615, 0x8191, 0x99f2, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2f4, 0xd2f5, 0xe535, 0xf7b6, 0xf7b5, 0xf796, 0xefb6, 0xf796, 0xf795, 0xf7b6, 0xf796, 0xf7b6, 0xf795, 0xf796, 0xf796, 0xf795, 0xf7b6, 0xf795, 0xf7b6, 0xf796, 0xbc93, 0x8191, 0xaa53, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xee75, 0xf796, 0xf796, 0xf7b5, 0xf796, 0xbc93, 0x8191, 0xaa33, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xee75, 0xf796, 0xf7b5, 0xf795, 0xd634, 0x8191, 0x99f2, 0xd2f4, 0xd2f5, 0xd2f4, 0xd2f5, 0xd2f5, 0xd2f5, 0xd2d4, 0xe555, 0xf796, 0xf7b5, 0xf7b6, 0xf7b6, 0xf795, 0xf7b6, 0xf796, 0xf7b6, 0xa311, 0x8191, 0xba94, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xf796, 0xf796, 0xf797, 0xf797, 0xf797, 0xf7b7, 0xf798, 0xf798, 0xd273, 0xb8d1, 0xb8d1, 0xb8d1, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x98b4, 0xb8d1, 0xb8d1, 0x3c9b, 0x06f5, 0x07e9, 0x07f1, 0x07fd, 0x26bd, 0xb0f1, 0xb0f2, 0xb0f1, 0x4932, 0x4132, 0x4111, 0x3911, 0x3110, 0x30f0, 0x60f0, 0xa911, 0x70f0, 0x20ce, 0x20cf, 0x20ae, 0x20ce, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x0118, 0x18d0, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xb8d1, 0xb8d1, 0xb8d1, 0xff94, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb4, 0xffb5, 0xc493, 0x8191, 0xaa53, 0xd315, 0xd335, 0xd335, 0xd335, 0xd334, 0xd315, 0xd335, 0xe575, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xc493, 0x8191, 0xaa53, 0xd335, 0xd335, 0xd314, 0xd315, 0xd335, 0xd335, 0xd335, 0xf675, 0xffb5, 0xffb4, 0xffb5, 0xffb5, 0xffb4, 0xffb4, 0xffb4, 0xffb5, 0xffb5, 0xff95, 0xc493, 0x8191, 0xaa53, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd315, 0xd335, 0x99f2, 0x99f2, 0xd335, 0xd314, 0xd315, 0xd335, 0xd335, 0xd315, 0xd335, 0xdc54, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb4, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb4, 0xffb5, 0x8191, 0x8191, 0xd334, 0xd315, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xdc34, 0xffb4, 0xffb5, 0xffb5, 0xde34, 0x8191, 0x99f2, 0xd314, 0xd335, 0xd315, 0xd334, 0xd334, 0xd335, 0xd335, 0xe574, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb4, 0xffb4, 0xffb5, 0xffb4, 0xffb5, 0xffb5, 0xffb5, 0xffb4, 0xffb5, 0xffb5, 0xc4b3, 0x8191, 0xaa53, 0xd335, 0xd335, 0xd314, 0xd315, 0xd335, 0xd335, 0xd335, 0xedf5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xc493, 0x8191, 0xaa53, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd315, 0xd335, 0xf694, 0xffb5, 0xffb5, 0xffb5, 0xde14, 0x8191, 0x99f2, 0xd335, 0xd335, 0xd314, 0xd334, 0xd314, 0xd334, 0xd315, 0xe555, 0xffb5, 0xffb5, 0xffb5, 0xffb4, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xa332, 0x8191, 0xbab4, 0xd335, 0xd335, 0xd335, 0xd315, 0xd334, 0xd335, 0xd335, 0xffb5, 0xffb6, 0xffb6, 0xffb6, 0xffb6, 0xffb6, 0xffb7, 0xffb8, 0xdbd4, 0xb8d2, 0xb8d1, 0xb8d1, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x083f, 0x70f7, 0xb8d1, 0xa952, 0x0e94, 0x07c9, 0x07f2, 0x07fd, 0x2e3c, 0xa8f1, 0xa8f1, 0x9911, 0x4132, 0x4132, 0x3911, 0x3910, 0x30f0, 0x30f0, 0x30ef, 0x58f0, 0xa8f1, 0x40cf, 0x20ae, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x00f7, 0x00f9, 0x0118, 0x18cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xb8d1, 0xb8d1, 0xb8d1, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe4e, 0xfe4e, 0xc3f0, 0x8191, 0xaa73, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xecd1, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xc3ef, 0x8191, 0xaa73, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd354, 0xf590, 0xfe4e, 0xfe4e, 0xfe2e, 0xfe2e, 0xfe4e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xc3ef, 0x8191, 0xaa73, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0x9a12, 0x91f2, 0xd355, 0xd354, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xdbd4, 0xfe4e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe4e, 0xfe2e, 0xfe4e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe4e, 0x8191, 0x8191, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xdc13, 0xfe4e, 0xfe2e, 0xfe2e, 0xe50f, 0x8191, 0x99f2, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd354, 0xecd1, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe4e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe4e, 0xfe4e, 0xfe2e, 0xfe2e, 0xc3cf, 0x8191, 0xaa73, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xe4d1, 0xfe4e, 0xfe2e, 0xfe2e, 0xfe4e, 0xc3d0, 0x8191, 0xaa73, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xf590, 0xfe4e, 0xfe2e, 0xfe2e, 0xe50f, 0x8191, 0x9a12, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xecd2, 0xfe2e, 0xfe4e, 0xfe2e, 0xfe4e, 0xfe4e, 0xfe4e, 0xfe4d, 0xfe2f, 0xa2b0, 0x8191, 0xc2f4, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xfe2f, 0xfe50, 0xfe50, 0xfe50, 0xfe51, 0xfe51, 0xfe52, 0xfe52, 0xe3d2, 0xb8d2, 0xb8d1, 0xb8d1, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x001f, 0x003f, 0x00df, 0x59f8, 0xb8d1, 0x8291, 0x07c9, 0x07f2, 0x07fe, 0x455a, 0xb0f1, 0xa8f1, 0x8112, 0x4132, 0x4132, 0x3911, 0x38f0, 0x30f0, 0x30ef, 0x28ef, 0x28cf, 0x50cf, 0x48ef, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f7, 0x0119, 0x00f8, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0xb8d1, 0xb0d1, 0xb0d2, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc6d, 0xc30f, 0x81b1, 0xaa73, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd375, 0xec11, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc8d, 0xc30f, 0x8191, 0xaa93, 0xd375, 0xd375, 0xd395, 0xd395, 0xd375, 0xd395, 0xd396, 0xf42f, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc8d, 0xc30f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd395, 0x9a12, 0x8191, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xf44f, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc8d, 0xfc6d, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd396, 0xdbd3, 0xfc8d, 0xfc6d, 0xfc6d, 0xe3ce, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd376, 0xd395, 0xd395, 0xd395, 0xec11, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc6d, 0xfc8d, 0xc30f, 0x8191, 0xaa93, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xebf1, 0xfc8d, 0xfc6d, 0xfc8d, 0xfc6d, 0xc30f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd395, 0xf42f, 0xfc6d, 0xfc6d, 0xfc8d, 0xe3ce, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd375, 0xd395, 0xd376, 0xd395, 0xd395, 0xebf1, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc8d, 0xa250, 0x8191, 0xc314, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xfc8e, 0xfc8f, 0xfc8f, 0xfc8f, 0xfcb0, 0xfcb0, 0xfcb1, 0xfcb1, 0xf3b2, 0xb8d1, 0xb0f1, 0xb8d1, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x003f, 0x005f, 0x031f, 0x2d3b, 0x99b2, 0x454b, 0x07f3, 0x07fe, 0x5498, 0xb0f1, 0xa8f1, 0x6912, 0x4912, 0x4112, 0x3911, 0x3110, 0x30f0, 0x30ef, 0x30cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20cd, 0x20ce, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x00f7, 0x0119, 0x00f8, 0x18cf, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xb0f1, 0xb0f1, 0xb0d1, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xc30f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec11, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xc30f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf44f, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xc30f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x9a12, 0x8191, 0xc334, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdbb4, 0xfc8e, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xdbd3, 0xfc8d, 0xfc8d, 0xfc8d, 0xe3ce, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec11, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xcb2f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xec11, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xc30f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf44f, 0xfc8d, 0xfc8d, 0xfc8d, 0xcb6f, 0x8191, 0x9a32, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec11, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xa250, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfc8e, 0xfc8f, 0xfcaf, 0xfcaf, 0xfcb0, 0xfcb0, 0xfcb0, 0xfcb2, 0xf451, 0xb0d1, 0xb0d1, 0xb0d1, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x003f, 0x003f, 0x005f, 0x025f, 0x06fd, 0x0770, 0x0f88, 0x07f4, 0x07ff, 0x5478, 0xa8f1, 0xa8f1, 0x5932, 0x4132, 0x4111, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f8, 0x18cf, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xb0f1, 0xb0f1, 0xb0d1, 0xfcad, 0xfccd, 0xfcad, 0xfcad, 0xfccd, 0xfccd, 0xfccd, 0xcb4e, 0x8191, 0xaa73, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec31, 0xfcad, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xc32f, 0x8991, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf46f, 0xfccd, 0xfccd, 0xfccd, 0xfcad, 0xfccd, 0xfccd, 0xfccd, 0xfcad, 0xfcad, 0xfcad, 0xc32f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xbb11, 0x8191, 0xaa73, 0xd396, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xdbb4, 0xfcae, 0xfcad, 0xfccd, 0xfcad, 0xfccd, 0xfcad, 0xfccd, 0xfccd, 0xfcad, 0xfcad, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xdbd3, 0xfcad, 0xfccd, 0xfccd, 0xdbee, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec31, 0xfccd, 0xfcad, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfcad, 0xfccd, 0xfcad, 0xfccd, 0xdbee, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdbd3, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xc32f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf46f, 0xfcad, 0xfccd, 0xfccd, 0xc32f, 0x8991, 0xaa94, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec31, 0xfccd, 0xfccd, 0xfcad, 0xfccd, 0xfcad, 0xfcad, 0xfcad, 0xfcad, 0xa270, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfcce, 0xfccf, 0xfccf, 0xfcef, 0xfcd0, 0xfcf0, 0xfcf1, 0xfcf1, 0xfcf2, 0xb0f1, 0xb0f1, 0xb0f2, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x003f, 0x005f, 0x007f, 0x021f, 0x06fc, 0x078d, 0x07e7, 0x07f6, 0x07ff, 0x82b5, 0xa8f1, 0xa111, 0x4932, 0x4132, 0x4111, 0x38f1, 0x38f0, 0x30f0, 0x30ef, 0x30ef, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x00f6, 0x0119, 0x0118, 0x18cf, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xb0f1, 0xa8f1, 0xb0f1, 0xfd0d, 0xfced, 0xfced, 0xfced, 0xfd0d, 0xfced, 0xfd0d, 0xe42e, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec51, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xc34f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf48f, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xc32f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec6f, 0x91d1, 0x89d1, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xdbb4, 0xec70, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfd0d, 0xfced, 0xfced, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdbf3, 0xfced, 0xfced, 0xfced, 0xe42e, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec51, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfd0d, 0xfced, 0xec6e, 0x8191, 0x91f2, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd376, 0xd395, 0xd395, 0xf4af, 0xfd0d, 0xfced, 0xfd0d, 0xc34f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf48f, 0xfced, 0xfced, 0xfced, 0xc34f, 0x8191, 0xaa93, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec51, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xa270, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfd0e, 0xfd0f, 0xfd0f, 0xfd0f, 0xfd10, 0xfd10, 0xfd31, 0xfd31, 0xfd32, 0xb0f1, 0xb0f1, 0xb0f1, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x005f, 0x005f, 0x005f, 0x021f, 0x073b, 0x07ac, 0x07e7, 0x07f7, 0x07ff, 0x82b5, 0xa8f1, 0x8912, 0x4932, 0x4112, 0x3911, 0x3911, 0x3110, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f6, 0x0119, 0x0118, 0x10cf, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xb0f1, 0xa8f1, 0xb0f1, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xe44e, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec71, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xc34f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf4cf, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xc34f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf4cf, 0xc34f, 0x8191, 0xb2d4, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdbd4, 0xe431, 0xec71, 0xec71, 0xdbf0, 0xe450, 0xf4cf, 0xfd0e, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdbd4, 0xf4af, 0xf4cf, 0xf4af, 0xdc10, 0x9a12, 0xaa73, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec71, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2c, 0xfd2c, 0x9211, 0x8191, 0xd375, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec71, 0xfcee, 0xfd2d, 0xc36f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdc10, 0xe44e, 0xdc2e, 0xe44e, 0xb2f0, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec71, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xa270, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfd2e, 0xfd2f, 0xfd2f, 0xfd4f, 0xfd50, 0xfd50, 0xfd51, 0xfd51, 0xfd71, 0xa8f1, 0xb0f1, 0xb0f2, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x005f, 0x005f, 0x007f, 0x007f, 0x023f, 0x073b, 0x07ab, 0x07e8, 0x07f9, 0x07ff, 0xa152, 0xa8f1, 0x7132, 0x4132, 0x4131, 0x3911, 0x3910, 0x38f0, 0x30f0, 0x30ef, 0x28cf, 0x28ce, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f6, 0x0119, 0x0118, 0x18cf, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xa8f1, 0xa8f1, 0xa8f2, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd4d, 0xfd6d, 0xfd6d, 0xe46e, 0x8191, 0x9212, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec71, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xc36f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf4ef, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xc36f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf4ef, 0xfd2d, 0x9211, 0x89b2, 0xcb75, 0xd396, 0xd375, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec91, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xcb95, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec71, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd4d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xbb2f, 0x8191, 0xb2d4, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xc314, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec71, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xa290, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfd6e, 0xfd6f, 0xfd6f, 0xfd8f, 0xfd90, 0xfd90, 0xfd91, 0xfd91, 0xfd92, 0xa8f1, 0xa8f1, 0xa8f1, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x003f, 0x005f, 0x005f, 0x007f, 0x009f, 0x023f, 0x0779, 0x07aa, 0x07e8, 0x07fb, 0x07ff, 0xa8f1, 0xa8f1, 0x5932, 0x4932, 0x4131, 0x3911, 0x3910, 0x38f0, 0x30ef, 0x30ef, 0x28cf, 0x28ce, 0x28ce, 0x20ce, 0x20ce, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x0116, 0x0119, 0x0118, 0x18cf, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0xa8f1, 0xa8f1, 0xa8f1, 0xec6f, 0xfd8d, 0xfdad, 0xfd8d, 0xfdad, 0xfdad, 0xfdad, 0xe48e, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec91, 0xfdad, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xc38f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf52f, 0xfdad, 0xfd8d, 0xfdad, 0xfd8d, 0xfd8d, 0xfdad, 0xfd8d, 0xfd8d, 0xfdad, 0xfdad, 0xc38f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf52f, 0xfd8d, 0xe4ae, 0x8991, 0x9a32, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xe491, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec91, 0xfdad, 0xfdad, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfdad, 0xfdad, 0xfd8d, 0xfd8d, 0xfdad, 0xfdad, 0xfd8d, 0xfdad, 0xf52d, 0x8191, 0x91f2, 0xd395, 0xd395, 0xd395, 0xd395, 0xd376, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xc314, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec91, 0xfd8d, 0xfd8d, 0xfdad, 0xfdad, 0xfdad, 0xfdad, 0xfdad, 0xfd8d, 0xa290, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfdaf, 0xfdaf, 0xfdaf, 0xfdaf, 0xfdb0, 0xfdb0, 0xfdb1, 0xfdd1, 0xe4b2, 0xa911, 0xa8f1, 0xa8f1, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x005f, 0x005f, 0x007f, 0x007f, 0x009f, 0x02bf, 0x0778, 0x07c8, 0x07e9, 0x07fd, 0x173e, 0xa8f1, 0x9912, 0x4932, 0x4932, 0x4131, 0x4111, 0x3911, 0x38f0, 0x30ef, 0x30ef, 0x28cf, 0x28ce, 0x28ce, 0x20ce, 0x20ce, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x00f7, 0x0119, 0x0118, 0x18cf, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xa911, 0xa911, 0xa911, 0xec8e, 0xfded, 0xfded, 0xfdcd, 0xfdcd, 0xfdcd, 0xfded, 0xe4ce, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecb1, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xc3af, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf54f, 0xfdcd, 0xfdcd, 0xfded, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfded, 0xfdcd, 0xc3af, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf54f, 0xfded, 0xfdcd, 0xd44f, 0x8191, 0xb2b3, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xecb1, 0x8991, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecb1, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xbb6f, 0x8191, 0xbaf4, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xc314, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecb1, 0xfded, 0xfded, 0xfdcd, 0xfdcd, 0xfded, 0xfded, 0xfded, 0xfded, 0xa2b0, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xfdee, 0xfdef, 0xfdef, 0xfdf0, 0xfdf0, 0xfdf0, 0xfdf1, 0xfdf1, 0xecb1, 0xa0f1, 0xa911, 0xa911, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x005f, 0x005f, 0x005f, 0x007f, 0x009f, 0x009f, 0x041f, 0x0797, 0x07c7, 0x07eb, 0x07fe, 0x2e5c, 0xa8f1, 0x7932, 0x4932, 0x4932, 0x4111, 0x3911, 0x3910, 0x38f0, 0x30ef, 0x30ef, 0x28ce, 0x28ce, 0x28ce, 0x20ce, 0x20ce, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f7, 0x0118, 0x0117, 0x18cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xa911, 0xa911, 0xa111, 0xe42e, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xe4ee, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecd1, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xc3cf, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf56f, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xc3cf, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf56f, 0xfe0d, 0xfe0d, 0xfe0d, 0xd44f, 0x8191, 0xbad3, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd376, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xecd1, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecd1, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xf5ad, 0x9a70, 0x89b1, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xc314, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecd1, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0e, 0xfe0d, 0xfe0e, 0xfe0e, 0xfe0e, 0xa2b0, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfe0f, 0xfe0f, 0xfe0f, 0xfe30, 0xfe30, 0xfe30, 0xfe31, 0xfe31, 0xdc32, 0xa111, 0xa911, 0xa111, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x005f, 0x005f, 0x007f, 0x007f, 0x009f, 0x00bf, 0x043f, 0x0794, 0x07e6, 0x07ec, 0x07fe, 0x35db, 0xa911, 0x5133, 0x4932, 0x4132, 0x4111, 0x4111, 0x3910, 0x30f0, 0x30ef, 0x30ef, 0x28ce, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ac, 0x18ad, 0x18ae, 0x00f6, 0x0119, 0x00f8, 0x18cf, 0x20ad, 0x18ad, 0x20ad, 0x18ac, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x80f0, 0xa111, 0xa111, 0xc2b0, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xe50e, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecf1, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xc3ef, 0x8991, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xf58f, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xc3ef, 0x8191, 0xaa93, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf58f, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xe50e, 0x89d1, 0xa253, 0xcb75, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd376, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecf1, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecf1, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xf60e, 0x9a70, 0x91f2, 0xcb75, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xc314, 0x8191, 0xaa93, 0xd395, 0xd396, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecf2, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4e, 0xfe4d, 0xfe4e, 0xfe4d, 0xfe4e, 0xa2d0, 0x8191, 0xc314, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfe4e, 0xfe4f, 0xfe6f, 0xfe70, 0xfe50, 0xfe50, 0xfe71, 0xfe51, 0xba52, 0xa111, 0xa111, 0x78d5, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x005f, 0x007f, 0x007f, 0x009f, 0x00bf, 0x00bf, 0x043f, 0x07b3, 0x07c5, 0x07ee, 0x07ff, 0x5478, 0x6ad6, 0x4953, 0x4932, 0x4912, 0x4111, 0x3911, 0x3910, 0x30f0, 0x30ef, 0x28cf, 0x28ce, 0x28ce, 0x28ce, 0x20ce, 0x20cd, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x00f6, 0x0118, 0x00f8, 0x18cf, 0x18ac, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ac, 0x60ef, 0xa111, 0xa111, 0xa112, 0xfe2d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xe54e, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xed11, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe8d, 0xc40f, 0x8191, 0xaa93, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xf5cf, 0xfe6d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe6d, 0xc40f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf5ce, 0xfe6d, 0xfe6d, 0xfe8d, 0xfe6c, 0xfe8d, 0xf62d, 0xc40f, 0x9a12, 0xb2d4, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecf1, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xed11, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe8d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6c, 0xfe8d, 0xfe6d, 0xfe2d, 0xbbcf, 0x89b1, 0xbaf4, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd396, 0xc314, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xed12, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xa2d0, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe90, 0xfe90, 0xfe90, 0xfe91, 0xe471, 0xa111, 0xa112, 0xa111, 0x60d5, 0x001f, 0x283c, 0x7097, 0x405a, 0x001f, 0x001f, 0x001f, 0x003f, 0x007f, 0x009f, 0x00bf, 0x00bf, 0x00df, 0x045f, 0x07d2, 0x07e4, 0x07ef, 0x07ff, 0x2e3c, 0x2d1a, 0x5133, 0x4932, 0x4132, 0x3911, 0x3911, 0x38f0, 0x30f0, 0x30ef, 0x28cf, 0x28ce, 0x28ce, 0x20ce, 0x20ce, 0x20cd, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x00f6, 0x0118, 0x00f7, 0x18cf, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x28cd, 0xa111, 0xa111, 0xa111, 0xcbcf, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xf5ed, 0x89d1, 0x91d2, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xed11, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xc42f, 0x81b1, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf5ef, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfecc, 0xfead, 0xc42f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xf5ef, 0xfead, 0xfeac, 0xfead, 0xfead, 0xfeac, 0xfead, 0xfead, 0xf64d, 0xd4ce, 0xbbd0, 0xc3b2, 0xc314, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xed12, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xed31, 0xfeac, 0xfeac, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xee0d, 0xcc6f, 0xbb51, 0xbad4, 0xcb55, 0xd395, 0xd395, 0xd395, 0xd395, 0xc334, 0x8191, 0xb294, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xed11, 0xfeae, 0xfece, 0xfead, 0xfeae, 0xfead, 0xfece, 0xfeae, 0xfeae, 0xa2f0, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdc34, 0xfeaf, 0xfed0, 0xfeaf, 0xfed0, 0xfeb0, 0xfed1, 0xe491, 0xa911, 0xa111, 0x9931, 0xa111, 0x58d6, 0x88b5, 0xb8d1, 0xb8d1, 0x5059, 0x001f, 0x001f, 0x001f, 0x001f, 0x007f, 0x009f, 0x00bf, 0x00ff, 0x00df, 0x047f, 0x07d2, 0x07e3, 0x07f1, 0x07ff, 0x07ff, 0x2cba, 0x4933, 0x4132, 0x4131, 0x4111, 0x38f0, 0x38f0, 0x30f0, 0x30ef, 0x28ef, 0x28ce, 0x28ce, 0x20ce, 0x20cd, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x00f6, 0x0118, 0x0118, 0x18cf, 0x20ad, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ac, 0x20ad, 0x18ad, 0x8110, 0x9911, 0xa111, 0xa171, 0xf5ed, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfeac, 0xfe6d, 0xf5cf, 0xf5ef, 0xf5cf, 0xf5cf, 0xf5ef, 0xf5cf, 0xfe4d, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfe4e, 0xf5ef, 0xf5ef, 0xf5cf, 0xf5ee, 0xf5ef, 0xf5ef, 0xf5ef, 0xfe8d, 0xfeac, 0xfeac, 0xfeac, 0xfeac, 0xfead, 0xfe8d, 0xfead, 0xfead, 0xfead, 0xfeac, 0xfeac, 0xfead, 0xf64d, 0xf5ef, 0xf5cf, 0xf5ef, 0xf5cf, 0xf5ef, 0xf5ef, 0xf5ef, 0xfe6e, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfeac, 0xfeac, 0xfead, 0xfead, 0xfead, 0xfead, 0xfeac, 0xfead, 0xfead, 0xf60e, 0xf5ef, 0xf5cf, 0xf5ef, 0xf5ef, 0xf5cf, 0xf64e, 0xfeac, 0xfead, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5cf, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5cf, 0xfe4d, 0xfeac, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfeac, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfeac, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfe6d, 0xf5ef, 0xf5ef, 0xf5cf, 0xf5cf, 0xfead, 0xf62e, 0xf5ef, 0xf5d0, 0xf5ef, 0xf5cf, 0xf5f0, 0xf5f0, 0xf5ef, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5ef, 0xf5f0, 0xfe4f, 0xfece, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeaf, 0xf610, 0xf5d0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf610, 0xfeaf, 0xfeaf, 0xfeaf, 0xfed0, 0xfeb0, 0xfeb1, 0xe471, 0xb8d1, 0xa111, 0x9931, 0x9931, 0x9912, 0x6933, 0xb0f1, 0xb0d1, 0xb0d1, 0x283c, 0x001f, 0x001f, 0x001f, 0x003f, 0x007f, 0x00bf, 0x00df, 0x00ff, 0x011f, 0x047f, 0x07d1, 0x07e3, 0x07f3, 0x07ff, 0x07ff, 0x3b77, 0x4932, 0x4932, 0x4131, 0x4111, 0x38f0, 0x38f0, 0x30ef, 0x30ef, 0x28ef, 0x28ce, 0x28ce, 0x20ce, 0x20cd, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x0118, 0x0117, 0x18cf, 0x18ad, 0x18ac, 0x18ac, 0x18ad, 0x18ac, 0x20ad, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18cd, 0x18ac, 0x20ac, 0x38ce, 0x9931, 0x9931, 0x9931, 0xaa31, 0xfe2d, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfead, 0xfe8c, 0xfeac, 0xfeac, 0xfe8c, 0xfe8c, 0xfeac, 0xfead, 0xfe8d, 0xfe8c, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfe8c, 0xfe8c, 0xfeac, 0xfeac, 0xfead, 0xfe8c, 0xfead, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8c, 0xfead, 0xfe8c, 0xfe8c, 0xfead, 0xfead, 0xfeac, 0xfeac, 0xfe8c, 0xfe8c, 0xfeac, 0xfe8c, 0xfeac, 0xfead, 0xfead, 0xfe8d, 0xfe8c, 0xfead, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8d, 0xfeac, 0xfe8c, 0xfeac, 0xfe8d, 0xfead, 0xfead, 0xfe8c, 0xfeac, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8c, 0xfeac, 0xfe8d, 0xfe8c, 0xfead, 0xfead, 0xfe8c, 0xfe8c, 0xfe8c, 0xfead, 0xfe8c, 0xfeac, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfe8c, 0xfeac, 0xfe8d, 0xfeac, 0xfead, 0xfead, 0xfe8c, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfeac, 0xfe8c, 0xfead, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfead, 0xfead, 0xfead, 0xfe8d, 0xfead, 0xfead, 0xfead, 0xfead, 0xfe8d, 0xfe8e, 0xfead, 0xfeae, 0xfeae, 0xfead, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfe8e, 0xfe8e, 0xfeae, 0xfeae, 0xfeae, 0xfe8e, 0xfeae, 0xfeae, 0xfeae, 0xfe8e, 0xfe8e, 0xfeae, 0xfeaf, 0xfeae, 0xfeae, 0xfeaf, 0xfe8e, 0xfeaf, 0xfeaf, 0xfeaf, 0xfeaf, 0xfeaf, 0xfe8f, 0xfeb0, 0xfeaf, 0xfeb0, 0xfe90, 0xe471, 0xb8d2, 0xa111, 0x9911, 0x9931, 0x9931, 0x7132, 0x7133, 0xb0f1, 0xb0d1, 0xb0d2, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x007f, 0x00df, 0x00df, 0x011f, 0x011f, 0x049f, 0x07f0, 0x07e2, 0x07f4, 0x07ff, 0x07ff, 0x3af6, 0x4932, 0x4932, 0x4111, 0x3911, 0x3910, 0x38f0, 0x30ef, 0x30ef, 0x28ee, 0x28ce, 0x28ce, 0x20ce, 0x20cd, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x18ac, 0x20ac, 0x18ad, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, + 0x0117, 0x18cf, 0x20ac, 0x20ac, 0x20ad, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x20ad, 0x20ac, 0x60ef, 0x9912, 0x9931, 0x9931, 0xb270, 0xf62d, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe6d, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8e, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8f, 0xfe8e, 0xfe8e, 0xfe8f, 0xfe8f, 0xfe8e, 0xfe8f, 0xfe8f, 0xfe8e, 0xfe8f, 0xfe8e, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe90, 0xfe90, 0xfeb0, 0xfeb0, 0xe471, 0xb8d1, 0xa111, 0x9931, 0x9931, 0x9912, 0x8911, 0x5174, 0x6953, 0xb0f1, 0xb0d1, 0x90b4, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x009f, 0x00df, 0x00ff, 0x011f, 0x015f, 0x049f, 0x07f1, 0x07e2, 0x07f6, 0x07ff, 0x0f9f, 0x4a35, 0x4933, 0x4932, 0x4131, 0x3910, 0x3910, 0x38f0, 0x30ef, 0x30ef, 0x28ce, 0x28ce, 0x28ce, 0x20cd, 0x20cd, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x18ac, 0x20ac, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, + 0x18ce, 0x18ac, 0x20cc, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ad, 0x18cc, 0x20ad, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x28ad, 0x8110, 0x9931, 0x9931, 0x9911, 0xaa31, 0xf5cd, 0xfe8c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe8c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe8c, 0xfe6d, 0xfe6d, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6c, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe8e, 0xfe8d, 0xfe8d, 0xfe6e, 0xfe8d, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe8f, 0xfe8f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe8f, 0xfe6f, 0xfe6f, 0xfe8f, 0xfe8f, 0xfe6f, 0xfe6f, 0xfe8f, 0xfe6f, 0xfe6f, 0xfe8f, 0xfe8f, 0xfe6f, 0xfe8f, 0xfe8f, 0xfe6f, 0xfe90, 0xfe8f, 0xfe8f, 0xfe90, 0xfe90, 0xe471, 0xb0d1, 0xa111, 0x9931, 0x9931, 0x9931, 0x9912, 0x5953, 0x5153, 0x7133, 0xb0d1, 0xb0d1, 0x7896, 0x001f, 0x001f, 0x001f, 0x003f, 0x005f, 0x00bf, 0x011f, 0x011f, 0x013f, 0x017f, 0x04bf, 0x07f2, 0x07e2, 0x07f5, 0x07ff, 0x7336, 0x5153, 0x4933, 0x4932, 0x4131, 0x4110, 0x3910, 0x30ef, 0x30ef, 0x30ef, 0x28ce, 0x28ce, 0x28cd, 0x20cd, 0x20cd, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x20ac, 0x20ac, 0x20ad, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, + 0x20ac, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x18ac, 0x28ad, 0x9111, 0x9931, 0x9931, 0x9931, 0xa171, 0xcbcf, 0xf60d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6c, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6c, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6c, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6e, 0xfe6e, 0xfe4e, 0xfe6d, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6f, 0xfe6e, 0xfe6e, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe70, 0xfe70, 0xfe6f, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe90, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe71, 0xfe71, 0xfe71, 0xe471, 0xa8f1, 0xa111, 0x9931, 0x9932, 0x9931, 0x9931, 0x6933, 0x5153, 0x5953, 0x7153, 0xb0d1, 0xb0d1, 0x5878, 0x001f, 0x001f, 0x003f, 0x007f, 0x009f, 0x00ff, 0x013f, 0x013f, 0x017f, 0x019f, 0x033f, 0x07f3, 0x07e2, 0x07f3, 0x07ff, 0xa8f1, 0x6932, 0x4932, 0x4932, 0x4931, 0x4111, 0x3910, 0x3110, 0x30ef, 0x30ef, 0x28ce, 0x28ce, 0x28cd, 0x20cd, 0x20cd, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x20ac, 0x20ac, 0x20ad, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, + 0x18cc, 0x18ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x20ac, 0x28cd, 0x8111, 0x9931, 0x9912, 0x9931, 0x9931, 0x9911, 0xbab0, 0xdc6f, 0xe50f, 0xe50e, 0xfe4e, 0xfe6e, 0xfe4e, 0xfe6d, 0xfe4e, 0xfe4e, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4e, 0xfe4e, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4e, 0xfe4e, 0xfe4e, 0xfe4e, 0xfe6e, 0xfe6e, 0xfe4e, 0xfe4e, 0xfe4e, 0xfe6e, 0xfe6e, 0xfe4e, 0xfe6f, 0xfe6e, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe4f, 0xfe6f, 0xfe70, 0xfe50, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xf612, 0xe531, 0xe512, 0xd472, 0xb271, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9911, 0x6153, 0x5153, 0x5954, 0x5954, 0x7154, 0xb0f1, 0xb0f1, 0x285c, 0x003f, 0x005f, 0x007f, 0x00bf, 0x00ff, 0x013f, 0x015f, 0x017f, 0x019f, 0x01bf, 0x02ff, 0x07f4, 0x07e3, 0x07f1, 0x2e5c, 0xa911, 0x6932, 0x5132, 0x4931, 0x4132, 0x4110, 0x3910, 0x3910, 0x30ef, 0x30ee, 0x28ce, 0x28ce, 0x28cd, 0x20cd, 0x20cd, 0x20cd, 0x20ac, 0x20ad, 0x20ad, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, + 0x20ac, 0x18ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x28cc, 0x610f, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9932, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9911, 0x9931, 0x9931, 0x9911, 0x9911, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9911, 0x9931, 0x9932, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9931, 0x9931, 0x8912, 0x5153, 0x5953, 0x5153, 0x5974, 0x5974, 0x7953, 0xb0f1, 0xb0d1, 0x087f, 0x009f, 0x00bf, 0x00df, 0x011f, 0x015f, 0x019f, 0x019f, 0x019f, 0x01df, 0x01df, 0x01ff, 0x07f7, 0x07e3, 0x07ef, 0x5498, 0xa8f1, 0x7132, 0x4952, 0x4931, 0x4131, 0x4110, 0x3910, 0x30ef, 0x30ef, 0x30ee, 0x28ce, 0x28ce, 0x28cd, 0x20cd, 0x20cd, 0x20cd, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, + 0x20ac, 0x18ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x40ce, 0x7910, 0x9931, 0x9931, 0x9932, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0xa111, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x7132, 0x5153, 0x5153, 0x5153, 0x5974, 0x5974, 0x6174, 0x9113, 0xb0f1, 0x98f3, 0x00df, 0x00ff, 0x011f, 0x013f, 0x017f, 0x01bf, 0x01bf, 0x01df, 0x01df, 0x01ff, 0x01ff, 0x021f, 0x06d9, 0x07e5, 0x07ec, 0x7355, 0xa8f1, 0x7932, 0x4932, 0x4931, 0x4131, 0x4110, 0x3910, 0x390f, 0x30ef, 0x30ee, 0x28ce, 0x28ce, 0x28cd, 0x28cd, 0x20cd, 0x20cd, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, + 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ab, 0x30cc, 0x58cf, 0x7910, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9911, 0x9931, 0x9911, 0x9932, 0x9931, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9911, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0xa111, 0x9911, 0x8932, 0x6932, 0x5152, 0x5153, 0x5953, 0x5953, 0x5974, 0x6174, 0x6175, 0x7954, 0xa8f1, 0xb0f1, 0x80f5, 0x013f, 0x017f, 0x019f, 0x01bf, 0x01df, 0x01ff, 0x01df, 0x01ff, 0x021f, 0x023f, 0x023f, 0x023f, 0x057d, 0x07e8, 0x07e9, 0x82d5, 0xa0f1, 0x8132, 0x5132, 0x4931, 0x4131, 0x4110, 0x38f0, 0x38ef, 0x30ef, 0x30ee, 0x28ce, 0x28cd, 0x28cd, 0x28cd, 0x20cd, 0x20cd, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, + 0x18ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18cc, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20cc, 0x20ad, 0x20cd, 0x20cd, 0x28cd, 0x28cd, 0x28cd, 0x28cd, 0x28cd, 0x28ce, 0x28ee, 0x28ee, 0x30ee, 0x30ef, 0x30ef, 0x30ee, 0x38ef, 0x5110, 0x6110, 0x5910, 0x6930, 0x7931, 0x8131, 0x8130, 0x9931, 0xa932, 0xa131, 0xb131, 0xc912, 0xc911, 0xc8f2, 0xc8f2, 0xc8f2, 0xc8d1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xb8b1, 0xc0d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f1, 0x5158, 0x01bf, 0x01df, 0x01ff, 0x021f, 0x023f, 0x023f, 0x021f, 0x023f, 0x025f, 0x025f, 0x025f, 0x025f, 0x041f, 0x07ed, 0x07e4, 0x7ab4, 0xa911, 0x9112, 0x5132, 0x4931, 0x4111, 0x4110, 0x3910, 0x38ef, 0x30ef, 0x30ee, 0x30ee, 0x28cd, 0x28cd, 0x28cd, 0x20cd, 0x20cc, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, + 0x20cc, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ab, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20cc, 0x20cd, 0x20cd, 0x28cd, 0x28cd, 0x28cd, 0x28cd, 0x28ad, 0x28ce, 0x30ce, 0x30ce, 0x30ee, 0x8151, 0xb192, 0xc9b3, 0xc9b2, 0xc992, 0xc992, 0xc992, 0xc972, 0xc972, 0xc972, 0xc952, 0xc952, 0xc932, 0xc932, 0xc932, 0xc912, 0xc912, 0xc111, 0xc8f1, 0xc8f1, 0xc8d1, 0xc0d1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xb8b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d2, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xa8f1, 0x39bb, 0x021f, 0x023f, 0x025f, 0x027f, 0x027f, 0x025f, 0x025f, 0x027f, 0x027f, 0x027f, 0x027f, 0x027f, 0x029f, 0x07f3, 0x07e2, 0x9972, 0xa911, 0xa112, 0x4952, 0x4932, 0x4131, 0x4110, 0x3910, 0x38ef, 0x30ef, 0x30ee, 0x30ee, 0x28cd, 0x28cd, 0x28cd, 0x20cd, 0x20cc, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, + 0x20ab, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x18cc, 0x18ac, 0x20ab, 0x20ac, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x18ac, 0x20ab, 0x20ab, 0x20ac, 0x20ac, 0x20ab, 0x20ab, 0x20ac, 0x20ac, 0x20ab, 0x20ab, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20cc, 0x20cc, 0x20cc, 0x28cd, 0x28cd, 0x28cd, 0x28cd, 0x30cd, 0x28ee, 0x30ee, 0x490e, 0xa9b2, 0xc9d3, 0xc9d3, 0xc9b3, 0xc9b3, 0xc992, 0xc992, 0xc972, 0xc972, 0xc972, 0xc952, 0xc952, 0xc952, 0xc932, 0xc932, 0xc912, 0xc912, 0xc912, 0xc0f2, 0xc8d1, 0xc0d1, 0xc0d1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb0d1, 0xb8d2, 0xb8d1, 0xb0f1, 0xb0d1, 0xb0f2, 0xb0f1, 0xb0f1, 0xb0f1, 0xa8f1, 0xa8f1, 0x123e, 0x029f, 0x02bf, 0x02bf, 0x02bf, 0x029f, 0x029f, 0x029f, 0x02bf, 0x02bf, 0x02bf, 0x029f, 0x029f, 0x02df, 0x06b9, 0x07e3, 0xa111, 0xa911, 0xa111, 0x5932, 0x4931, 0x4911, 0x4110, 0x4110, 0x390f, 0x38ef, 0x30ee, 0x30ee, 0x28cd, 0x28cd, 0x28cd, 0x20cd, 0x20cc, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, + 0x20ab, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ab, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x20ab, 0x20ab, 0x18ac, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x18ab, 0x20ab, 0x20ab, 0x20ac, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20cc, 0x20cd, 0x28cd, 0x28cd, 0x28cd, 0x28cd, 0x28cd, 0x28cd, 0x30ed, 0x692f, 0xc9d3, 0xc9d3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc992, 0xc992, 0xc972, 0xc972, 0xc972, 0xc952, 0xc952, 0xc932, 0xc932, 0xc132, 0xc912, 0xc912, 0xc8f2, 0xc8f1, 0xc8d1, 0xc0d1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb8d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xa8f1, 0x9933, 0x02df, 0x02df, 0x02ff, 0x02ff, 0x02df, 0x02bf, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02bf, 0x02bf, 0x02ff, 0x051e, 0x07e8, 0xa912, 0xa111, 0xa111, 0x6932, 0x4931, 0x4931, 0x4130, 0x410f, 0x390f, 0x38ee, 0x30ee, 0x30ee, 0x28cd, 0x28cd, 0x28cd, 0x20cd, 0x20cc, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ab, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, + 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x28ac, 0x20cc, 0x28cc, 0x28cc, 0x28cc, 0x28cd, 0x28cd, 0x28ed, 0x28cd, 0x30cd, 0x9191, 0xc9d3, 0xc9d3, 0xc9b3, 0xc9b3, 0xc992, 0xc9b3, 0xc992, 0xc992, 0xc972, 0xc972, 0xc952, 0xc952, 0xc932, 0xc932, 0xc912, 0xc932, 0xc912, 0xc112, 0xc8f2, 0xc8f2, 0xc8d1, 0xc8d1, 0x9095, 0x9095, 0x9075, 0x8875, 0x6078, 0x6059, 0x6059, 0x6058, 0x6058, 0x6078, 0x6078, 0x6059, 0x6078, 0x6078, 0x5878, 0x6078, 0x88b4, 0x88b5, 0x88b5, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0f1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xa8f1, 0xa8f1, 0xa8f1, 0x69d6, 0x033f, 0x033f, 0x033f, 0x031f, 0x02ff, 0x02ff, 0x02ff, 0x02ff, 0x02ff, 0x02ff, 0x02ff, 0x02df, 0x02ff, 0x035f, 0x03ff, 0x07f0, 0x8a4f, 0xa111, 0xa111, 0x8132, 0x4931, 0x4931, 0x4110, 0x410f, 0x390f, 0x30ee, 0x30ee, 0x30cd, 0x30cd, 0x28cd, 0x28cd, 0x28cc, 0x28cc, 0x20cc, 0x20ac, 0x20ac, 0x20ac, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, + 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cc, 0x20ac, 0x28cc, 0x28cc, 0x28cc, 0x20cc, 0x28cc, 0x28cc, 0x28cd, 0x40ee, 0xa9b2, 0xc9d3, 0xc9d3, 0xc9b3, 0xc9b2, 0xc9b3, 0xc992, 0xc992, 0xc972, 0xc972, 0xc952, 0xc952, 0xc952, 0xc932, 0xc932, 0x90d5, 0x88d6, 0x6098, 0x5879, 0x303c, 0x305c, 0x081e, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x005f, 0x007f, 0x009f, 0x00bf, 0x00df, 0x291c, 0x411a, 0x6118, 0x8915, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f2, 0xa8f1, 0xb0f1, 0x429a, 0x039f, 0x039f, 0x035f, 0x035f, 0x033f, 0x033f, 0x033f, 0x033f, 0x033f, 0x033f, 0x031f, 0x031f, 0x031f, 0x037f, 0x03ff, 0x06d7, 0x7acf, 0xa111, 0xa111, 0x9912, 0x5131, 0x4931, 0x4110, 0x410f, 0x40ef, 0x38ee, 0x30ee, 0x30ed, 0x30cd, 0x28cd, 0x28cd, 0x28cc, 0x28cc, 0x20cc, 0x20cc, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, + 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x20cb, 0x28cc, 0x28cc, 0x28cc, 0x28cd, 0x28cc, 0x490e, 0xc1d3, 0xc9d3, 0xc9d3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc992, 0xc992, 0xc972, 0xc952, 0x98f5, 0x60b8, 0x407b, 0x183e, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x003f, 0x007f, 0x007f, 0x009f, 0x00bf, 0x00ff, 0x011f, 0x013f, 0x017f, 0x019f, 0x01df, 0x021f, 0x21fd, 0x49d9, 0x7996, 0xa112, 0xa8f1, 0xb0f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0x139e, 0x03df, 0x03bf, 0x039f, 0x039f, 0x037f, 0x037f, 0x037f, 0x037f, 0x035f, 0x035f, 0x033f, 0x033f, 0x035f, 0x03bf, 0x041f, 0x05de, 0x7ad1, 0xa111, 0xa111, 0xa111, 0x5931, 0x4931, 0x4130, 0x4130, 0x40ef, 0x38ee, 0x30ee, 0x30ed, 0x30ed, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, + 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x692f, 0xc9f3, 0xc9d3, 0xc9d3, 0xc9b2, 0xc9b3, 0xc992, 0xc9b2, 0xc972, 0xb973, 0x80f7, 0x387b, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x003f, 0x005f, 0x007f, 0x009f, 0x00bf, 0x00df, 0x00ff, 0x013f, 0x015f, 0x019f, 0x01bf, 0x01ff, 0x023f, 0x025f, 0x029f, 0x02df, 0x02ff, 0x033f, 0x2adc, 0x5a58, 0x8994, 0xa8f1, 0xa8f1, 0x81d4, 0x041f, 0x041f, 0x03ff, 0x03df, 0x03bf, 0x03bf, 0x03bf, 0x03bf, 0x03bf, 0x039f, 0x037f, 0x035f, 0x037f, 0x039f, 0x03ff, 0x047f, 0x04ff, 0x6375, 0xa112, 0xa111, 0xa111, 0x7111, 0x4931, 0x4110, 0x4110, 0x390f, 0x38ee, 0x30ee, 0x30ed, 0x30ed, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, + 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x28ac, 0x28cc, 0x28cc, 0x28cc, 0x692e, 0xc9f3, 0xc9d2, 0xc9d3, 0xc9b3, 0xc9b3, 0xc992, 0xc993, 0x80f7, 0x389b, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x083c, 0x085b, 0x105b, 0x2078, 0x2098, 0x2097, 0x2097, 0x2097, 0x2097, 0x2097, 0x2098, 0x187a, 0x105b, 0x085d, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x005f, 0x007f, 0x009f, 0x00df, 0x00ff, 0x011f, 0x015f, 0x017f, 0x01bf, 0x01ff, 0x021f, 0x025f, 0x029f, 0x02df, 0x02ff, 0x033f, 0x037f, 0x03bf, 0x03df, 0x041f, 0x043f, 0x0c3f, 0x2bbc, 0x0c3f, 0x045f, 0x043f, 0x041f, 0x041f, 0x03ff, 0x03ff, 0x03ff, 0x03df, 0x03df, 0x03bf, 0x039f, 0x037f, 0x039f, 0x03df, 0x043f, 0x04bf, 0x053f, 0x5398, 0xa111, 0xa111, 0xa111, 0x9111, 0x4931, 0x4910, 0x4110, 0x410f, 0x38ee, 0x38ee, 0x30ed, 0x30cd, 0x30cd, 0x28cc, 0x28cc, 0x28cc, 0x28cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, + 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x28cb, 0x28cb, 0x28cc, 0x28cb, 0x614e, 0xd1f3, 0xc9f3, 0xc9d3, 0xc9b2, 0xc9b3, 0xb173, 0x60d9, 0x081e, 0x003d, 0x083b, 0x1878, 0x1877, 0x28d2, 0x28d2, 0x40ee, 0x38ee, 0x390f, 0x390f, 0x390f, 0x410e, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x4110, 0x410f, 0x4910, 0x4130, 0x38f3, 0x28b6, 0x189a, 0x003e, 0x001f, 0x001f, 0x003f, 0x005f, 0x005f, 0x007f, 0x00bf, 0x00df, 0x00ff, 0x013f, 0x015f, 0x019f, 0x01df, 0x021f, 0x023f, 0x027f, 0x029f, 0x02ff, 0x033f, 0x035f, 0x039f, 0x03df, 0x041f, 0x045f, 0x047f, 0x04bf, 0x04df, 0x04df, 0x04bf, 0x04bf, 0x047f, 0x047f, 0x043f, 0x043f, 0x043f, 0x041f, 0x041f, 0x03ff, 0x03df, 0x03bf, 0x03bf, 0x03df, 0x043f, 0x047f, 0x04df, 0x057f, 0x3c1a, 0xa111, 0xa111, 0xa111, 0xa111, 0x5931, 0x4910, 0x4110, 0x410f, 0x390e, 0x38ee, 0x30ed, 0x30ed, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, + 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x28cb, 0x20cb, 0x28ab, 0x692e, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9b3, 0xb1b2, 0x58f3, 0x1895, 0x28b2, 0x30ed, 0x38ed, 0x30ed, 0x38ed, 0x38ed, 0x38ed, 0x38ee, 0x390e, 0x390e, 0x38ee, 0x38ee, 0x390e, 0x390e, 0x390e, 0x390e, 0x410f, 0x390e, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x4110, 0x410f, 0x492f, 0x4930, 0x4910, 0x38f3, 0x20b8, 0x087d, 0x007f, 0x009f, 0x00df, 0x00ff, 0x011f, 0x015f, 0x017f, 0x019f, 0x01df, 0x021f, 0x025f, 0x02bf, 0x02df, 0x031f, 0x035f, 0x039f, 0x03df, 0x041f, 0x045f, 0x049f, 0x04df, 0x04ff, 0x051f, 0x051f, 0x053f, 0x04ff, 0x04df, 0x04bf, 0x049f, 0x047f, 0x047f, 0x045f, 0x045f, 0x043f, 0x041f, 0x03ff, 0x03df, 0x03ff, 0x043f, 0x045f, 0x04bf, 0x053f, 0x05bf, 0x2cdc, 0xa112, 0xa111, 0xa111, 0xa111, 0x7131, 0x4930, 0x4130, 0x410f, 0x390e, 0x38ee, 0x30ed, 0x30ed, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x28ab, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, + 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x28ab, 0x28cb, 0x28cb, 0x612e, 0xc9f3, 0xc9d3, 0xc9d3, 0xb992, 0x692e, 0x28cc, 0x28ec, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x38ed, 0x30ed, 0x38ed, 0x38ed, 0x390e, 0x38ee, 0x38ee, 0x38ee, 0x390f, 0x38ee, 0x40ee, 0x40ee, 0x390f, 0x390e, 0x410e, 0x40ef, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x412f, 0x4910, 0x4910, 0x4930, 0x4113, 0x28f8, 0x08fe, 0x013f, 0x015f, 0x019f, 0x01df, 0x021f, 0x023f, 0x029f, 0x02bf, 0x031f, 0x035f, 0x039f, 0x03df, 0x041f, 0x045f, 0x049f, 0x04df, 0x051f, 0x053f, 0x057f, 0x059f, 0x057f, 0x055f, 0x053f, 0x04ff, 0x04ff, 0x04df, 0x04bf, 0x049f, 0x049f, 0x047f, 0x045f, 0x043f, 0x041f, 0x041f, 0x043f, 0x045f, 0x04bf, 0x04ff, 0x055f, 0x05df, 0x0e1f, 0xa111, 0xa111, 0xa111, 0xa112, 0x8931, 0x4930, 0x4130, 0x410f, 0x410e, 0x38ee, 0x30ed, 0x30ed, 0x30cc, 0x28cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, + 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20cb, 0x20ab, 0x20ab, 0x20cb, 0x28ab, 0x20cb, 0x612e, 0xd1f3, 0xc9f3, 0xc1b2, 0x612e, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x38ed, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x390e, 0x38ee, 0x390e, 0x390e, 0x390e, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x4130, 0x4930, 0x4930, 0x4931, 0x4930, 0x4133, 0x197a, 0x01de, 0x021f, 0x027f, 0x02bf, 0x02ff, 0x033f, 0x037f, 0x03bf, 0x03ff, 0x045f, 0x049f, 0x04df, 0x051f, 0x057f, 0x059f, 0x05df, 0x05df, 0x05df, 0x05bf, 0x059f, 0x055f, 0x055f, 0x053f, 0x051f, 0x04ff, 0x04df, 0x04df, 0x04bf, 0x047f, 0x045f, 0x043f, 0x043f, 0x047f, 0x04bf, 0x04ff, 0x053f, 0x05bf, 0x061f, 0x069f, 0x9972, 0xa111, 0xa111, 0xa111, 0xa111, 0x5130, 0x4910, 0x410f, 0x390f, 0x390e, 0x38ed, 0x30ed, 0x30cd, 0x28cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, + 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20cb, 0x28ab, 0x510d, 0xd1f3, 0xc9d2, 0x816f, 0x30cc, 0x28ac, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30cd, 0x30ed, 0x30ed, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x38ed, 0x38ed, 0x38ed, 0x38ed, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x390e, 0x390e, 0x390e, 0x390e, 0x390e, 0x410f, 0x410f, 0x410f, 0x410f, 0x4110, 0x410f, 0x4910, 0x4930, 0x4930, 0x4930, 0x4931, 0x4932, 0x31b6, 0x0a9d, 0x02ff, 0x035f, 0x039f, 0x03ff, 0x043f, 0x047f, 0x04bf, 0x051f, 0x055f, 0x05bf, 0x05df, 0x061f, 0x063f, 0x063f, 0x05ff, 0x05df, 0x05bf, 0x059f, 0x059f, 0x057f, 0x055f, 0x053f, 0x051f, 0x04ff, 0x04df, 0x04bf, 0x047f, 0x047f, 0x047f, 0x049f, 0x04df, 0x053f, 0x057f, 0x05ff, 0x065f, 0x06df, 0x7a95, 0xa111, 0xa111, 0xa111, 0xa111, 0x6911, 0x4930, 0x410f, 0x410f, 0x390e, 0x38ee, 0x30ed, 0x30cd, 0x28cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, + 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20cb, 0x20cb, 0x20ab, 0x20ab, 0x40ec, 0xc1d2, 0xc1b3, 0x490d, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30ec, 0x30cd, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x38ed, 0x38ed, 0x38ed, 0x38ed, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x390e, 0x390e, 0x390f, 0x410f, 0x410f, 0x410f, 0x410f, 0x4910, 0x4910, 0x4930, 0x4931, 0x4951, 0x4951, 0x39d5, 0x131c, 0x041f, 0x047f, 0x04bf, 0x051f, 0x055f, 0x059f, 0x05df, 0x061f, 0x067f, 0x069f, 0x069f, 0x067f, 0x065f, 0x061f, 0x05ff, 0x05ff, 0x05bf, 0x059f, 0x057f, 0x055f, 0x053f, 0x051f, 0x04ff, 0x04df, 0x04bf, 0x04bf, 0x04bf, 0x04df, 0x051f, 0x057f, 0x05bf, 0x063f, 0x069f, 0x071f, 0x5438, 0xa111, 0xa111, 0xa111, 0xa111, 0x8111, 0x4930, 0x410f, 0x410f, 0x390e, 0x38ee, 0x30ed, 0x30ed, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, + 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x30cb, 0xa992, 0xa9b1, 0x30cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30cc, 0x30cc, 0x30ec, 0x30ec, 0x30cd, 0x30ed, 0x30ed, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x38ed, 0x38ed, 0x38ed, 0x38ed, 0x38ee, 0x38ee, 0x38ee, 0x390e, 0x390e, 0x390e, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x412f, 0x4930, 0x4930, 0x5130, 0x4931, 0x5131, 0x3a15, 0x237b, 0x053f, 0x059f, 0x5358, 0x349b, 0x0e1f, 0x06bf, 0x06ff, 0x06ff, 0x06df, 0x06bf, 0x069f, 0x065f, 0x063f, 0x061f, 0x05ff, 0x05df, 0x05bf, 0x059f, 0x057f, 0x055f, 0x051f, 0x04ff, 0x04df, 0x04df, 0x04ff, 0x051f, 0x055f, 0x059f, 0x05ff, 0x065f, 0x06df, 0x073f, 0x359b, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0x4930, 0x4910, 0x412f, 0x390e, 0x38ee, 0x30ed, 0x30ed, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, + 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x692f, 0x816f, 0x20ab, 0x20cb, 0x20ab, 0x28cb, 0x28cb, 0x28cb, 0x28ab, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30cc, 0x30cd, 0x30cd, 0x30cd, 0x30cd, 0x30cd, 0x30cd, 0x30cd, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x38ed, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x390e, 0x390e, 0x410f, 0x410f, 0x410f, 0x410f, 0x412f, 0x4930, 0x4930, 0x4930, 0x4931, 0x4931, 0x5131, 0x49d4, 0x243a, 0xa132, 0xa8f1, 0xa8f1, 0xa8f1, 0x8295, 0x8295, 0x5418, 0x351b, 0x06df, 0x069f, 0x067f, 0x065f, 0x063f, 0x05ff, 0x05ff, 0x05bf, 0x059f, 0x057f, 0x055f, 0x053f, 0x051f, 0x051f, 0x053f, 0x057f, 0x059f, 0x05df, 0x063f, 0x069f, 0x06ff, 0x077f, 0x0f5f, 0xa111, 0xa111, 0xa111, 0xa111, 0x9931, 0x6911, 0x4930, 0x410f, 0x390e, 0x38ee, 0x30ed, 0x30ed, 0x30cd, 0x30cc, 0x28cc, 0x28cb, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, + 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20cb, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20cb, 0x20ab, 0x28cb, 0x28ab, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30cc, 0x30cc, 0x30cd, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ee, 0x38ed, 0x38ed, 0x390e, 0x390e, 0x390e, 0x410e, 0x410f, 0x410f, 0x410f, 0x410f, 0x4130, 0x4930, 0x4930, 0x4930, 0x5131, 0x5131, 0x6992, 0xa8f1, 0xa911, 0xa8f1, 0xa911, 0xa8f1, 0xa8f1, 0xa8f1, 0xa172, 0x4c39, 0x2d5c, 0x069f, 0x065f, 0x063f, 0x061f, 0x05ff, 0x05df, 0x059f, 0x057f, 0x055f, 0x055f, 0x055f, 0x057f, 0x059f, 0x05df, 0x061f, 0x067f, 0x06df, 0x073f, 0x079f, 0x07df, 0x8254, 0xa111, 0xa131, 0xa111, 0x9911, 0x8131, 0x4910, 0x410f, 0x410e, 0x38ee, 0x38ed, 0x30ed, 0x30cd, 0x30cc, 0x28cc, 0x28cb, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, + 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x28ab, 0x28ab, 0x20cb, 0x20cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30ec, 0x30ec, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x390e, 0x390f, 0x410f, 0x410f, 0x410f, 0x412f, 0x4930, 0x4910, 0x4930, 0x5131, 0x5131, 0x6931, 0xa111, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa911, 0xa111, 0xa911, 0xa0f1, 0x9972, 0x4419, 0x067f, 0x065f, 0x061f, 0x05ff, 0x05df, 0x05bf, 0x059f, 0x059f, 0x05bf, 0x05bf, 0x05df, 0x061f, 0x065f, 0x06bf, 0x06ff, 0x075f, 0x07bf, 0x07ff, 0x5498, 0xa131, 0xa111, 0xa111, 0xa111, 0x9911, 0x4930, 0x410f, 0x410f, 0x38ee, 0x38ee, 0x30ed, 0x30cd, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, + 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20ca, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20ab, 0x20ab, 0x28cb, 0x20cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30cc, 0x30ec, 0x30ec, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x38ed, 0x38ee, 0x390e, 0x390e, 0x390e, 0x390f, 0x410f, 0x410f, 0x490f, 0x412f, 0x4910, 0x4930, 0x4931, 0x4931, 0x5931, 0x9111, 0xa8f1, 0xa8f1, 0xa911, 0xa8f1, 0xa8f1, 0xa911, 0xa911, 0xa911, 0xa111, 0x7a55, 0x34bb, 0x065f, 0x061f, 0x05ff, 0x05df, 0x05df, 0x05df, 0x05df, 0x05ff, 0x063f, 0x065f, 0x069f, 0x06df, 0x071f, 0x077f, 0x07bf, 0x07ff, 0x2e3c, 0x9911, 0xa111, 0xa111, 0x9931, 0x9931, 0x6910, 0x410f, 0x410f, 0x38ee, 0x38ee, 0x30ed, 0x30ed, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, + 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30ec, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x390e, 0x410f, 0x410f, 0x410f, 0x410f, 0x4910, 0x4930, 0x4931, 0x5131, 0x7931, 0xa911, 0xa8f1, 0xa911, 0xa911, 0xa911, 0xa911, 0xa8f1, 0xa111, 0xa111, 0xa111, 0xa111, 0x91b3, 0x62f6, 0x347b, 0x061f, 0x061f, 0x063f, 0x063f, 0x065f, 0x067f, 0x06bf, 0x071f, 0x073f, 0x079f, 0x07df, 0x07ff, 0x07ff, 0xa111, 0x9912, 0x9911, 0x9931, 0x9932, 0x8131, 0x4130, 0x410f, 0x410e, 0x38ee, 0x30ee, 0x30ed, 0x30cd, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x28cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, + 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20ab, 0x28ab, 0x28ab, 0x28ab, 0x28ab, 0x28ab, 0x28ab, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x390f, 0x410f, 0x410f, 0x410f, 0x4910, 0x4930, 0x4930, 0x4930, 0x7111, 0xa911, 0xa911, 0xa911, 0xa911, 0xa111, 0xa911, 0xa911, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0x91b3, 0x349b, 0x065f, 0x067f, 0x069f, 0x06bf, 0x06ff, 0x073f, 0x077f, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x7ad4, 0xa111, 0x9911, 0xa111, 0x9931, 0x9931, 0x4930, 0x410f, 0x390e, 0x38ee, 0x30ee, 0x30ed, 0x30ed, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x28cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, + 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x28ab, 0x28ab, 0x28ab, 0x28ab, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x28cb, 0x28cb, 0x20cb, 0x20cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30ec, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x38ed, 0x38ee, 0x38ee, 0x390e, 0x390e, 0x410f, 0x410f, 0x4110, 0x4930, 0x4930, 0x5130, 0x8111, 0xa111, 0xa911, 0xa111, 0xa111, 0xa911, 0xa112, 0xa111, 0xa911, 0xa111, 0xa112, 0xa0f1, 0xa111, 0xa111, 0xa111, 0x7a75, 0x15fd, 0x06bf, 0x06ff, 0x071f, 0x075f, 0x079f, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x5499, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x6930, 0x410f, 0x390e, 0x390e, 0x38ee, 0x30ed, 0x30cd, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, + 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x28ab, 0x20ab, 0x28ab, 0x28ab, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30ec, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x38ed, 0x38ee, 0x38ee, 0x40ee, 0x410f, 0x410f, 0x410f, 0x4130, 0x4930, 0x4930, 0x5931, 0x90f1, 0xa911, 0xa912, 0xa111, 0xa111, 0xa111, 0xa911, 0xa911, 0xa111, 0xa112, 0xa111, 0xa111, 0xa111, 0xa111, 0x9972, 0x353b, 0x071f, 0x073f, 0x077f, 0x07bf, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x2e3c, 0xa111, 0x9931, 0x9931, 0x9931, 0x9931, 0x8931, 0x410f, 0x410f, 0x38ee, 0x38ee, 0x30ed, 0x30ed, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, + 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x28ab, 0x20cb, 0x20cb, 0x20cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cd, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x38ee, 0x390e, 0x390e, 0x390e, 0x410f, 0x410f, 0x412f, 0x4130, 0x4930, 0x4930, 0x8111, 0xa911, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa112, 0xa112, 0xa111, 0xa111, 0x4499, 0x077f, 0x079f, 0x07bf, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x9931, 0xa111, 0x9931, 0x9931, 0x9931, 0x9931, 0x490f, 0x410f, 0x38ee, 0x30ee, 0x38ed, 0x30ed, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, + 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x28ab, 0x28ab, 0x20cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30cd, 0x30cd, 0x30ed, 0x30ed, 0x38ed, 0x310e, 0x38ee, 0x390e, 0x390e, 0x410f, 0x410f, 0x412f, 0x4930, 0x4930, 0x7131, 0xa111, 0xa111, 0xa112, 0xa111, 0xa0f1, 0xa111, 0xa111, 0xa112, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa131, 0x6397, 0x07bf, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x7ad4, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x7130, 0x390f, 0x38ee, 0x38ee, 0x38ed, 0x30ed, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x28ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, + 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30ec, 0x30ec, 0x30ed, 0x38ee, 0x30ed, 0x38ed, 0x390e, 0x38ee, 0x410e, 0x410f, 0x410f, 0x4930, 0x4930, 0x6931, 0xa111, 0xa111, 0xa112, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa112, 0x9931, 0x9911, 0x6397, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x5c14, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9131, 0x410f, 0x390e, 0x390e, 0x30ed, 0x30ed, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x28ab, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, + 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x20cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cd, 0x30ed, 0x30ed, 0x38ed, 0x30ee, 0x38ee, 0x390e, 0x390e, 0x410f, 0x410f, 0x4130, 0x4930, 0x5931, 0x7911, 0x9131, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0x9931, 0xa111, 0x9931, 0x5498, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x35f5, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x510f, 0x390e, 0x390e, 0x38ed, 0x30ed, 0x30cc, 0x30cc, 0x28cc, 0x28cb, 0x28cb, 0x28ab, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, + 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x28ab, 0x28cb, 0x20cb, 0x28ab, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cd, 0x30ed, 0x30ed, 0x38ed, 0x38ee, 0x38ee, 0x390e, 0x410f, 0x410f, 0x412f, 0x4130, 0x4930, 0x4930, 0x6131, 0x8931, 0xa111, 0xa111, 0xa111, 0xa131, 0xa111, 0xa111, 0x9931, 0xa111, 0xa111, 0xa111, 0xa111, 0x3d7a, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07f6, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x7911, 0x390e, 0x38ee, 0x30ee, 0x30ed, 0x30cd, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28ab, 0x28ab, 0x20ab, 0x20ab, 0x20ca, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, + 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20cb, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ca, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x18aa, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ca, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x28cb, 0x20ab, 0x20cb, 0x20cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30ec, 0x30ed, 0x30ed, 0x30ed, 0x38ee, 0x38ee, 0x390e, 0x390e, 0x410f, 0x410f, 0x410f, 0x4930, 0x4930, 0x5131, 0x6131, 0x9911, 0xa111, 0xa111, 0xa111, 0x9931, 0xa111, 0xa111, 0xa112, 0x9931, 0x9911, 0x9192, 0x1ebd, 0x07ff, 0x07ff, 0x07fe, 0x07f6, 0x7a71, 0x9931, 0x9931, 0x9932, 0x9931, 0x9931, 0x9111, 0x410e, 0x38ee, 0x30ed, 0x30ed, 0x30ed, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20ab, 0x28ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, + 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ca, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ca, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ac, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cc, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x28cd, 0x28cd, 0x28cd, 0x28cd, 0x20cd, 0x28ce, 0x28ce, 0x28ce, 0x28ee, 0x28ce, 0x28ee, 0x30ee, 0x30ef, 0x30ef, 0x30ef, 0x390f, 0x390f, 0x3910, 0x3910, 0x4110, 0x4131, 0x4931, 0x4931, 0x4932, 0x4952, 0x5152, 0x9132, 0xa111, 0xa111, 0xa111, 0x9912, 0x9931, 0x9931, 0x9911, 0x9931, 0x9912, 0x8274, 0x07ff, 0x07ff, 0x07fd, 0x07f6, 0x5c32, 0x9911, 0x9931, 0x9932, 0x9931, 0x9931, 0x9931, 0x5910, 0x390f, 0x30ef, 0x30ef, 0x30ee, 0x30ce, 0x28cd, 0x28ee, 0x28ed, 0x28cd, 0x20cd, 0x20ac, 0x20cd, 0x20cd, 0x20ad, 0x20cd, 0x20ad, 0x20cc, 0x20cc, 0x20ad, 0x20cc, 0x20ac, 0x20cc, 0x20cc, 0x20ac, 0x20ac, 0x20cc, 0x20cc, 0x20cc, 0x20cc, 0x20cc, 0x20cc, 0x20cc, 0x20cc, + 0x18d2, 0x10f2, 0x18d2, 0x10f2, 0x10f2, 0x10f2, 0x10f2, 0x10f2, 0x10f2, 0x10f2, 0x10f2, 0x10f2, 0x18d2, 0x18d2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18d2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f3, 0x18f3, 0x18f2, 0x20f2, 0x18f2, 0x18f2, 0x20f2, 0x18f3, 0x18f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f2, 0x18f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x2113, 0x20f3, 0x20f3, 0x2113, 0x20f3, 0x20f3, 0x2113, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x2113, 0x2113, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x2113, 0x20f3, 0x2113, 0x2113, 0x2113, 0x28f3, 0x28f3, 0x2113, 0x28f3, 0x28f3, 0x2913, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2113, 0x2913, 0x2914, 0x2113, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2914, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2913, 0x2913, 0x28f3, 0x28f3, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x28f3, 0x2913, 0x2113, 0x2913, 0x2914, 0x2913, 0x2913, 0x2914, 0x2914, 0x2914, 0x2914, 0x2914, 0x3134, 0x3134, 0x3134, 0x3134, 0x3134, 0x3934, 0x3934, 0x3935, 0x3955, 0x4155, 0x4155, 0x4176, 0x4176, 0x4976, 0x4977, 0x5176, 0x9132, 0xa111, 0xa111, 0x9931, 0x9911, 0xa111, 0x9931, 0x9931, 0x9912, 0x9931, 0x5c38, 0x07ff, 0x07fd, 0x07f6, 0x44f2, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x7933, 0x3955, 0x3135, 0x3134, 0x3114, 0x2133, 0x2113, 0x2113, 0x20f3, 0x20f3, 0x2113, 0x1912, 0x18f2, 0x20f3, 0x18f2, 0x18f3, 0x18f2, 0x18f3, 0x18f3, 0x18f3, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, + 0x10f2, 0x18d2, 0x18d2, 0x10d2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18d2, 0x18f2, 0x18f2, 0x18d2, 0x18d2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f3, 0x18f3, 0x18f3, 0x18f3, 0x18f3, 0x18f2, 0x18f3, 0x18f3, 0x20f2, 0x18f3, 0x18f3, 0x18f3, 0x18f3, 0x18f3, 0x18f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x2112, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x2113, 0x20f2, 0x20f3, 0x20f2, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x2113, 0x28f3, 0x2113, 0x20f3, 0x2113, 0x28f3, 0x20f3, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x28f3, 0x28f3, 0x2113, 0x2113, 0x2113, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2113, 0x2913, 0x2913, 0x2913, 0x2914, 0x2913, 0x2913, 0x28f3, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x28f3, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2113, 0x2913, 0x2913, 0x2914, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2913, 0x28f3, 0x28f3, 0x2913, 0x2113, 0x2913, 0x2913, 0x2113, 0x2113, 0x28f3, 0x2913, 0x2113, 0x2914, 0x2914, 0x2914, 0x2914, 0x2914, 0x2914, 0x2914, 0x2914, 0x3134, 0x3134, 0x3134, 0x3135, 0x3935, 0x3935, 0x3955, 0x3955, 0x4155, 0x4156, 0x4176, 0x4976, 0x4956, 0x5176, 0x9132, 0xa111, 0xa112, 0xa111, 0x9931, 0x9931, 0x9911, 0x9932, 0x9931, 0x9911, 0x2e5c, 0x07fc, 0x07f6, 0x2e53, 0x9931, 0x9931, 0x9931, 0x9911, 0x9911, 0x9931, 0x9132, 0x3134, 0x3134, 0x3134, 0x2934, 0x2914, 0x2913, 0x2113, 0x2113, 0x20f3, 0x2112, 0x20f3, 0x20d3, 0x1912, 0x18f2, 0x18f3, 0x18f2, 0x18f2, 0x18f2, 0x18d2, 0x18f2, 0x20f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, + 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d9c, 0x1d9c, 0x1d9c, 0x1d9c, 0x1d9c, 0x1d9c, 0x1d9c, 0x1d9c, 0x1d9d, 0x1d9d, 0x1d9d, 0x1d9d, 0x259c, 0x1dbc, 0x1d9d, 0x259d, 0x1d9c, 0x259c, 0x259c, 0x259c, 0x259c, 0x259c, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25dd, 0x25dd, 0x25bd, 0x25bd, 0x1ddd, 0x25dd, 0x25dd, 0x25dd, 0x25bd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x2dfd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x2dfd, 0x2dfd, 0x2dfd, 0x2dfd, 0x2dfd, 0x25fd, 0x2dfe, 0x2dfd, 0x2dfd, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e3e, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e3d, 0x2e3d, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3d, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x365e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e3e, 0x365e, 0x365e, 0x2e5d, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3e, 0x2e3d, 0x2e3e, 0x2e3d, 0x363d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x361d, 0x361d, 0x361d, 0x361d, 0x361d, 0x3e1d, 0x3e1d, 0x3e1d, 0x3e1d, 0x3e1d, 0x3e1e, 0x461e, 0x461d, 0x4dfe, 0x4dfd, 0x4e3e, 0x4dfe, 0x55dd, 0x9214, 0x9931, 0x9931, 0x9931, 0x9932, 0x9931, 0x9911, 0x9911, 0x9931, 0x7a74, 0x07fb, 0x07f6, 0x07f6, 0x9931, 0x9931, 0x9911, 0x9932, 0x9931, 0x9931, 0x9931, 0x4cfb, 0x3dfe, 0x35dd, 0x35dd, 0x2ddd, 0x2ddd, 0x2ddd, 0x2ddd, 0x25dd, 0x25dd, 0x25bd, 0x25bd, 0x25dd, 0x25dd, 0x25bd, 0x25dc, 0x25bd, 0x25bd, 0x25bd, 0x1dbd, 0x25bc, 0x1dbd, 0x1dbd, 0x1dbc, 0x1dbc, 0x1dbc, 0x1dbc, 0x1dbc, 0x1dbc, 0x1d9d, 0x1d9d, 0x1d9d, 0x1d9d, + 0x1c7c, 0x1c7c, 0x1c7c, 0x1c7b, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x249c, 0x1c9c, 0x1d9d, 0x1d7c, 0x1cfc, 0x1c9c, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x24bc, 0x1cbc, 0x1cbc, 0x24bc, 0x24bc, 0x24bc, 0x1cbc, 0x24dc, 0x24dc, 0x24dc, 0x253d, 0x25bd, 0x253d, 0x24dd, 0x24bc, 0x24bc, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24fd, 0x24dc, 0x24dc, 0x24fd, 0x24fd, 0x24fc, 0x24dd, 0x24fd, 0x251c, 0x25fd, 0x255d, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x24fc, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x251d, 0x24fd, 0x24fd, 0x251d, 0x2d1d, 0x24fd, 0x2cfd, 0x25bd, 0x25bd, 0x253c, 0x2cfc, 0x2d1d, 0x251d, 0x2cfd, 0x2cfd, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1c, 0x2d5d, 0x2dde, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d1d, 0x2d3d, 0x2d1d, 0x2d1d, 0x2e1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2ddd, 0x2d5d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2d1d, 0x2d1d, 0x2cfd, 0x2cfd, 0x2cfd, 0x2dbd, 0x2dbd, 0x2cfd, 0x2d1d, 0x251c, 0x251c, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x34fd, 0x34fd, 0x34fd, 0x34fd, 0x34fd, 0x3cfd, 0x3cfd, 0x3cfd, 0x3cfd, 0x3d1d, 0x451d, 0x451d, 0x451d, 0x4d1d, 0x4d1d, 0x553d, 0x91b3, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0xa112, 0x9931, 0x9931, 0x5496, 0x07f7, 0x07f7, 0x8a13, 0xa111, 0x9931, 0x9931, 0x9912, 0x9932, 0x9911, 0x6318, 0x34dd, 0x34dd, 0x2cdd, 0x2cdc, 0x2cdd, 0x2cbc, 0x24dc, 0x24bc, 0x24bc, 0x253c, 0x25bd, 0x253c, 0x24bc, 0x24bc, 0x24bc, 0x1cbc, 0x24bc, 0x1cbc, 0x1cbc, 0x24bc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, + 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1b3b, 0x1cfc, 0x157c, 0x1c1c, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x22db, 0x22db, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x22db, 0x22db, 0x22fb, 0x231c, 0x1d1c, 0x1d5c, 0x235b, 0x22dc, 0x22db, 0x22dc, 0x22fb, 0x22fc, 0x22dc, 0x22dc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fb, 0x22fb, 0x22fb, 0x22fb, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x231b, 0x22fc, 0x233c, 0x253c, 0x1cfd, 0x22fc, 0x22fc, 0x22fb, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x2afc, 0x2afc, 0x231c, 0x2b1c, 0x2b1c, 0x259c, 0x247c, 0x231c, 0x231c, 0x2b1c, 0x231c, 0x231c, 0x2b1c, 0x231c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x25bd, 0x2bbc, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x231c, 0x2b1c, 0x2b1c, 0x25dd, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x231c, 0x2b1c, 0x2b7c, 0x259d, 0x2b1c, 0x2b1c, 0x231c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x245d, 0x259c, 0x22fc, 0x2afc, 0x231c, 0x2afc, 0x22fc, 0x231c, 0x231c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2afc, 0x2b1c, 0x2b1c, 0x2b1c, 0x331c, 0x331c, 0x331c, 0x331c, 0x331c, 0x3b1c, 0x3b3d, 0x3b3d, 0x3b3d, 0x433c, 0x433d, 0x4b3d, 0x435d, 0x5a9a, 0x9932, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x1737, 0x07f9, 0x72d4, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x8194, 0x331c, 0x32fc, 0x2afb, 0x2afc, 0x2afb, 0x22fb, 0x22dc, 0x22dc, 0x22fb, 0x22db, 0x22db, 0x235c, 0x1d5c, 0x1d1d, 0x231b, 0x1adb, 0x1adb, 0x1adb, 0x22db, 0x1abb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1abb, 0x1abb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, + 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x1b7b, 0x137b, 0x1b5b, 0x1b7b, 0x137b, 0x137b, 0x137b, 0x139b, 0x1bbb, 0x14fb, 0x153c, 0x13fb, 0x1b7b, 0x139b, 0x1b7b, 0x1b7c, 0x1b9b, 0x1b7b, 0x1b7b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9c, 0x1b9b, 0x1b9b, 0x1b9b, 0x139c, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9c, 0x1b9b, 0x1d3c, 0x1d5c, 0x1bfb, 0x1b9c, 0x1bbb, 0x1b9b, 0x1bbc, 0x1b9b, 0x1b9b, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbc, 0x1bbb, 0x1cdc, 0x1d7d, 0x23fc, 0x1bdc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x1bbc, 0x1bbc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23bc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x247c, 0x1d9c, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x241c, 0x259d, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x1dbd, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x1dbd, 0x243c, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23bc, 0x23dc, 0x23dc, 0x259c, 0x247c, 0x23bc, 0x23bc, 0x23dc, 0x23bc, 0x23dc, 0x23dc, 0x23bc, 0x23bc, 0x23bc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x2bdc, 0x2bdc, 0x2bdc, 0x2bdc, 0x2bdc, 0x33dc, 0x33dc, 0x33dc, 0x33dc, 0x3bdc, 0x3bfc, 0x3bfc, 0x3bdc, 0x43fc, 0x43fd, 0x6b18, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9932, 0x9931, 0x6b53, 0x07fa, 0x5437, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9912, 0x9931, 0x2bbc, 0x2bbc, 0x2bbc, 0x2bbb, 0x23bb, 0x23bb, 0x239b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1bdb, 0x1d5c, 0x1d1c, 0x1b9b, 0x1b9b, 0x139b, 0x139c, 0x1b9b, 0x1b7b, 0x1b7b, 0x139b, 0x1b9b, 0x1b9b, 0x1b7b, 0x1b9b, 0x139b, 0x1b7b, 0x1b7b, 0x1b9b, 0x1b9b, + 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x137b, 0x135a, 0x135a, 0x137b, 0x135a, 0x135b, 0x139b, 0x14bb, 0x14fb, 0x13fb, 0x137b, 0x137b, 0x135b, 0x137b, 0x137a, 0x137a, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x1b7b, 0x1b7b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x1bbb, 0x153c, 0x151c, 0x1b7b, 0x139b, 0x137b, 0x139b, 0x139b, 0x1b9b, 0x139b, 0x1b9b, 0x1b9b, 0x139b, 0x139b, 0x139b, 0x139b, 0x139b, 0x139b, 0x139b, 0x139b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x13bb, 0x139b, 0x1b9b, 0x139b, 0x1b9b, 0x1b9b, 0x1b9c, 0x1c3b, 0x1d5c, 0x1c3c, 0x1b9b, 0x1bbb, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1b9b, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbb, 0x1c9c, 0x1d1c, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bdb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1cfc, 0x1c7c, 0x1bbb, 0x1bdb, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbb, 0x1bdc, 0x23bc, 0x1bbb, 0x1d7c, 0x1bbb, 0x1bdc, 0x1bbb, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbc, 0x1b9c, 0x1bdc, 0x1bbb, 0x1c5b, 0x1cfb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbb, 0x1bbb, 0x1bbb, 0x1b9b, 0x1d3c, 0x1cbc, 0x1bbb, 0x1bbb, 0x1b9b, 0x1b9c, 0x1b9c, 0x1b9b, 0x1b9b, 0x1bbb, 0x1b9c, 0x1b9b, 0x1bbb, 0x239b, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x2bbc, 0x2bbc, 0x2bbc, 0x2bbc, 0x33bc, 0x33bc, 0x33dc, 0x3bdc, 0x3bdc, 0x3bdc, 0x3bdc, 0x8194, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9911, 0x9931, 0x2659, 0x4c98, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x4b19, 0x23bc, 0x239b, 0x239b, 0x239b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b7b, 0x1b7b, 0x1b7b, 0x1b7b, 0x137b, 0x137b, 0x137b, 0x14bb, 0x151b, 0x13db, 0x137b, 0x137a, 0x137b, 0x137b, 0x137a, 0x137b, 0x137b, 0x137b, 0x135b, 0x137b, 0x135b, 0x135b, 0x135b, 0x137b, + 0x0999, 0x0999, 0x0999, 0x0999, 0x1199, 0x11ba, 0x11ba, 0x11b9, 0x09b9, 0x11ba, 0x1199, 0x11ba, 0x11ba, 0x1199, 0x11da, 0x0b3a, 0x0c9b, 0x0bfb, 0x127a, 0x11ba, 0x119a, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x119a, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x119a, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x12ba, 0x14bb, 0x13fb, 0x11db, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11da, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11bb, 0x11ba, 0x11da, 0x11ba, 0x11da, 0x11ba, 0x11ba, 0x11da, 0x11ba, 0x127a, 0x14db, 0x137b, 0x11da, 0x19ba, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x19da, 0x19da, 0x19da, 0x11da, 0x11db, 0x11db, 0x11db, 0x11db, 0x11db, 0x11db, 0x11db, 0x19db, 0x11da, 0x19da, 0x1a3b, 0x14fb, 0x1afb, 0x19da, 0x11db, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19da, 0x19db, 0x19da, 0x1a1b, 0x153c, 0x1a3b, 0x19da, 0x19da, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19db, 0x19db, 0x19da, 0x19db, 0x153b, 0x19db, 0x19da, 0x19db, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x11db, 0x19db, 0x19da, 0x19db, 0x19fb, 0x153c, 0x123a, 0x19da, 0x19da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x19da, 0x11db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x19db, 0x19ba, 0x11da, 0x11ba, 0x1abb, 0x14fb, 0x1a5b, 0x19ba, 0x19ba, 0x11da, 0x11da, 0x19db, 0x19db, 0x19da, 0x19db, 0x19ba, 0x19da, 0x19da, 0x19db, 0x19db, 0x19db, 0x21db, 0x21db, 0x21db, 0x21fb, 0x21fb, 0x29fb, 0x29fb, 0x29fb, 0x29fb, 0x31fb, 0x321b, 0x31fb, 0x321b, 0x41fa, 0x9912, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x72d4, 0x4c98, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x5996, 0x21db, 0x21da, 0x19da, 0x19da, 0x19da, 0x11da, 0x11da, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11d9, 0x137a, 0x149b, 0x131a, 0x11ba, 0x119a, 0x11b9, 0x11ba, 0x11ba, 0x119a, 0x11ba, 0x119a, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, + 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0b1a, 0x0b1a, 0x0afa, 0x0afa, 0x0b1a, 0x0afa, 0x0b1a, 0x0afa, 0x0b1a, 0x0b1a, 0x0c3a, 0x0c9a, 0x0bda, 0x0b1a, 0x0afa, 0x0afa, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0bdb, 0x14bb, 0x0bfa, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b3a, 0x131a, 0x0b3a, 0x0b1a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x133b, 0x133b, 0x133a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x133a, 0x0b3a, 0x137a, 0x0cdb, 0x0c5b, 0x133b, 0x133b, 0x0b3a, 0x133a, 0x133a, 0x133a, 0x133a, 0x133a, 0x133a, 0x133a, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x135b, 0x135b, 0x135b, 0x135b, 0x133b, 0x133b, 0x135a, 0x0b5b, 0x133b, 0x143a, 0x147b, 0x135b, 0x135a, 0x133b, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135a, 0x13bb, 0x14db, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135a, 0x135b, 0x133b, 0x14fb, 0x135a, 0x135b, 0x135a, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x133a, 0x135b, 0x135a, 0x135b, 0x135b, 0x149b, 0x13fb, 0x133a, 0x135b, 0x135b, 0x135a, 0x135a, 0x135a, 0x135b, 0x135b, 0x135b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133a, 0x133b, 0x133a, 0x135a, 0x133a, 0x143b, 0x147b, 0x133a, 0x133a, 0x133a, 0x133a, 0x133b, 0x133a, 0x133a, 0x133b, 0x133a, 0x133a, 0x133a, 0x135b, 0x133b, 0x133b, 0x1b3b, 0x1b5b, 0x1b5b, 0x1b3b, 0x1b5b, 0x235b, 0x235b, 0x235b, 0x235b, 0x2b5b, 0x2b5b, 0x2b7b, 0x2b7b, 0x335b, 0x7235, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x72d5, 0x9932, 0x9932, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x71b4, 0x1b3b, 0x1b3b, 0x133a, 0x133b, 0x133a, 0x131a, 0x131a, 0x131a, 0x131a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0afa, 0x0b1a, 0x0afa, 0x0bda, 0x0cbb, 0x0bda, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, + 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02f9, 0x02d9, 0x02da, 0x0ada, 0x0afa, 0x0bfa, 0x0c5b, 0x0bfa, 0x0ad9, 0x02fa, 0x02f9, 0x02f9, 0x0af9, 0x02f9, 0x0af9, 0x02d9, 0x02f9, 0x0af9, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0af9, 0x0afa, 0x0afa, 0x0afa, 0x0c1a, 0x0c7b, 0x0b5a, 0x0afa, 0x0af9, 0x0b1a, 0x0afa, 0x0afa, 0x0afa, 0x0b1a, 0x0afa, 0x0afa, 0x0b1a, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0b1a, 0x0b1a, 0x0b1a, 0x031a, 0x0afa, 0x0b1a, 0x0b1a, 0x0afa, 0x0b1a, 0x0b1a, 0x0b1a, 0x0afa, 0x0c3a, 0x0c5a, 0x0b1a, 0x0afa, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0c5b, 0x0c1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0c7b, 0x0b7a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0cbb, 0x0b1a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b7a, 0x0cbb, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0bda, 0x0c7b, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x131a, 0x131a, 0x131a, 0x131a, 0x131a, 0x1b1a, 0x1b3a, 0x1b3a, 0x1b3a, 0x1b3a, 0x233a, 0x233a, 0x233b, 0x2b3b, 0x2b5b, 0x3ad9, 0x9931, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x8993, 0x1b1a, 0x131a, 0x131a, 0x12fa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x02fa, 0x0afa, 0x035a, 0x045a, 0x0c3a, 0x0afa, 0x02da, 0x0afa, 0x0af9, 0x02f9, 0x0afa, 0x0afa, 0x0afa, 0x02d9, 0x02d9, + 0x0158, 0x0158, 0x0158, 0x0158, 0x0138, 0x0158, 0x0158, 0x0158, 0x0138, 0x0238, 0x03b9, 0x03da, 0x0259, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0138, 0x0178, 0x0158, 0x0158, 0x0159, 0x01b9, 0x037a, 0x0bda, 0x0218, 0x0958, 0x0159, 0x0159, 0x0958, 0x0158, 0x0158, 0x0158, 0x0158, 0x0958, 0x0959, 0x0158, 0x0159, 0x0179, 0x0158, 0x0159, 0x0159, 0x0159, 0x0159, 0x0158, 0x0158, 0x0158, 0x0158, 0x0979, 0x0179, 0x0958, 0x0979, 0x0159, 0x0178, 0x0159, 0x0958, 0x033a, 0x041a, 0x01f9, 0x0959, 0x0179, 0x0958, 0x0959, 0x0158, 0x0159, 0x0159, 0x0159, 0x0159, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0979, 0x0979, 0x0959, 0x0959, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0a79, 0x043a, 0x0199, 0x0959, 0x0179, 0x0179, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0979, 0x0179, 0x09b9, 0x0c3b, 0x0179, 0x0979, 0x0179, 0x0179, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0979, 0x0179, 0x0c7a, 0x0979, 0x0179, 0x0179, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0979, 0x0979, 0x0979, 0x0979, 0x0bfa, 0x0259, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0959, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0958, 0x0979, 0x0178, 0x0958, 0x0159, 0x0999, 0x0bda, 0x02d9, 0x0159, 0x0959, 0x0159, 0x0979, 0x0959, 0x0979, 0x0959, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x1179, 0x1179, 0x1179, 0x1179, 0x1179, 0x1999, 0x1999, 0x199a, 0x1999, 0x2199, 0x219a, 0x21ba, 0x7154, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x1179, 0x1179, 0x1179, 0x0979, 0x0979, 0x0958, 0x0958, 0x0958, 0x0958, 0x0158, 0x0158, 0x0158, 0x0958, 0x0158, 0x0158, 0x0158, 0x0158, 0x0159, 0x0158, 0x01d8, 0x0399, 0x0399, 0x01d9, 0x0158, 0x0158, 0x0138, 0x0138, 0x0158, 0x0158, 0x0158, 0x0158, + 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0138, 0x0137, 0x01d8, 0x0339, 0x0399, 0x0238, 0x0137, 0x0137, 0x0138, 0x0138, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0138, 0x0138, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0157, 0x0138, 0x0278, 0x03d9, 0x02b9, 0x0178, 0x0158, 0x0138, 0x0138, 0x0158, 0x0138, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0158, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0158, 0x0158, 0x0158, 0x0138, 0x0138, 0x0938, 0x0158, 0x0158, 0x0158, 0x0178, 0x0339, 0x0399, 0x0178, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x01d9, 0x03f9, 0x01f9, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x02d9, 0x0319, 0x0158, 0x0158, 0x0158, 0x0159, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0959, 0x0158, 0x0158, 0x0159, 0x041a, 0x0959, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x02b9, 0x0319, 0x0158, 0x0158, 0x0138, 0x0138, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0138, 0x0158, 0x01d8, 0x03f9, 0x01f8, 0x0138, 0x0138, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0958, 0x0958, 0x0958, 0x0958, 0x0958, 0x1158, 0x1158, 0x1158, 0x1178, 0x1179, 0x1979, 0x1979, 0x1979, 0x1979, 0x1999, 0x2179, 0x3178, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x3157, 0x0958, 0x1158, 0x0958, 0x0958, 0x0938, 0x0938, 0x0938, 0x0938, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0298, 0x03f9, 0x0298, 0x0137, 0x0138, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, + 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x01d7, 0x0318, 0x0379, 0x0238, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0117, 0x0117, 0x0177, 0x0318, 0x0379, 0x01d7, 0x0137, 0x0117, 0x0137, 0x0117, 0x0137, 0x0136, 0x0117, 0x0117, 0x0137, 0x0137, 0x0117, 0x0117, 0x0137, 0x0137, 0x0137, 0x0117, 0x0137, 0x0137, 0x0137, 0x0117, 0x0117, 0x0117, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0138, 0x0137, 0x0117, 0x0157, 0x0359, 0x02f8, 0x0157, 0x0117, 0x0137, 0x0117, 0x0137, 0x0117, 0x0137, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0158, 0x0359, 0x0278, 0x0137, 0x0138, 0x0137, 0x0138, 0x0138, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0138, 0x03b9, 0x01b8, 0x0137, 0x0138, 0x0138, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0137, 0x0138, 0x03f9, 0x0137, 0x0138, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0138, 0x0118, 0x0138, 0x0138, 0x0178, 0x03f9, 0x0158, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0137, 0x0138, 0x0138, 0x0137, 0x0137, 0x0118, 0x0238, 0x03b9, 0x0177, 0x0137, 0x0138, 0x0137, 0x0117, 0x0137, 0x0138, 0x0137, 0x0137, 0x0137, 0x0137, 0x0937, 0x0938, 0x0938, 0x0938, 0x0938, 0x0938, 0x0958, 0x1158, 0x1158, 0x1158, 0x1158, 0x1158, 0x1958, 0x1958, 0x1959, 0x1978, 0x6934, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9932, 0x4135, 0x0938, 0x0957, 0x0937, 0x0937, 0x0937, 0x0937, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0137, 0x0117, 0x0117, 0x0117, 0x0117, 0x0197, 0x0318, 0x0338, 0x01b7, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, + 0x02d8, 0x02d8, 0x02d7, 0x02d7, 0x02f7, 0x0358, 0x0378, 0x02f7, 0x02d8, 0x02d8, 0x02d8, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02d7, 0x02f8, 0x02f8, 0x0398, 0x0378, 0x02f8, 0x02d8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x0378, 0x0398, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x0318, 0x02f8, 0x0318, 0x02f7, 0x02f8, 0x02f8, 0x0318, 0x0358, 0x0399, 0x0318, 0x02f8, 0x02f8, 0x0318, 0x0318, 0x02f8, 0x0318, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0338, 0x03b8, 0x0318, 0x0318, 0x02f8, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x03b8, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x02f8, 0x0318, 0x0318, 0x02f8, 0x0318, 0x0378, 0x0338, 0x02f8, 0x02f8, 0x0318, 0x02f8, 0x0318, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x0318, 0x0318, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x0378, 0x0338, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x0af8, 0x0af8, 0x0af8, 0x0af8, 0x0b18, 0x0b18, 0x1318, 0x1319, 0x1319, 0x1319, 0x1319, 0x1319, 0x1b18, 0x2af8, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9932, 0x9931, 0x9911, 0x9931, 0x9932, 0x9931, 0x9931, 0x9931, 0x5215, 0x0af8, 0x0af8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d7, 0x02d8, 0x02d8, 0x0378, 0x0378, 0x02d7, 0x02d8, 0x02d7, 0x02d7, 0x02d8, + 0x0176, 0x01b6, 0x02f8, 0x0317, 0x0217, 0x0196, 0x0176, 0x0196, 0x0196, 0x0196, 0x0196, 0x0176, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0176, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x01f7, 0x0337, 0x02d7, 0x01b6, 0x0197, 0x0196, 0x0196, 0x0176, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0197, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0237, 0x0358, 0x0217, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0196, 0x0196, 0x0197, 0x0197, 0x0196, 0x0196, 0x0277, 0x0318, 0x01b6, 0x0196, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x01b7, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x01b6, 0x02f7, 0x0257, 0x0197, 0x01b6, 0x01b7, 0x01b6, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x01b7, 0x01b6, 0x01b7, 0x0378, 0x01b7, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x01b6, 0x01f7, 0x0358, 0x0196, 0x0196, 0x01b6, 0x0196, 0x01b6, 0x0197, 0x0196, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0196, 0x0196, 0x0197, 0x0197, 0x02f7, 0x02f7, 0x0196, 0x0196, 0x0196, 0x0196, 0x0197, 0x0196, 0x0197, 0x01b6, 0x01b6, 0x0196, 0x0196, 0x0196, 0x0197, 0x0197, 0x0197, 0x09b7, 0x0997, 0x09b7, 0x09b7, 0x09b7, 0x11b7, 0x11b7, 0x11d7, 0x11b7, 0x11b7, 0x11b7, 0x7153, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x6174, 0x09b6, 0x0196, 0x0197, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0176, 0x0196, 0x0196, 0x0196, 0x0196, 0x0177, 0x0196, 0x02b7, 0x0337, 0x0216, 0x0196, 0x0196, + 0x0236, 0x0317, 0x0256, 0x00f4, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00f5, 0x00f5, 0x00d5, 0x00f5, 0x00d5, 0x00d5, 0x00f5, 0x01f6, 0x0317, 0x01f6, 0x00f5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00f5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00f5, 0x00f5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00f5, 0x00d5, 0x00f5, 0x01b6, 0x0337, 0x01b6, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x0155, 0x0337, 0x0156, 0x00d5, 0x00d5, 0x00f6, 0x00f6, 0x00f6, 0x00f5, 0x00d6, 0x00d6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f6, 0x00d5, 0x00f6, 0x00f6, 0x00f5, 0x00f5, 0x00f5, 0x00f6, 0x0115, 0x0338, 0x0115, 0x00f6, 0x00f5, 0x00f6, 0x00f5, 0x00d6, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00d5, 0x00f6, 0x00d5, 0x00f5, 0x0357, 0x00f5, 0x00f6, 0x00f6, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f6, 0x00f5, 0x00d5, 0x00d5, 0x00d6, 0x00d6, 0x00d5, 0x00f5, 0x02f7, 0x0176, 0x00f5, 0x00d5, 0x00f5, 0x00f6, 0x00f6, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00d5, 0x00f5, 0x00d5, 0x0116, 0x02f7, 0x01d6, 0x00d6, 0x00d5, 0x00f5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00f5, 0x00d5, 0x00d5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x08f6, 0x08f6, 0x08f6, 0x08f6, 0x0916, 0x0916, 0x10f6, 0x1117, 0x1116, 0x3135, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9912, 0x9931, 0x9931, 0x9931, 0x9931, 0x7113, 0x08f5, 0x08f6, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d4, 0x00d5, 0x00d5, 0x00d5, 0x01d6, 0x02f7, 0x0236, 0x0114, + 0x01f4, 0x0113, 0x00b3, 0x00d3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00d3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00d3, 0x00b3, 0x00d3, 0x00d4, 0x00b3, 0x00b3, 0x00d4, 0x00b3, 0x00b3, 0x00d4, 0x00b3, 0x00d3, 0x0133, 0x0275, 0x0255, 0x0134, 0x00d3, 0x00b3, 0x00d3, 0x00d3, 0x00d4, 0x00d4, 0x00b4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00b4, 0x00d4, 0x00b4, 0x00d4, 0x00d4, 0x00b4, 0x00b4, 0x01d4, 0x02b5, 0x0134, 0x00d4, 0x00b4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00f4, 0x02b5, 0x01b5, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x01b5, 0x0255, 0x00d5, 0x00b4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x02f6, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x01f5, 0x0235, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00b4, 0x00b4, 0x00b4, 0x00b4, 0x00b4, 0x00b4, 0x00b4, 0x00d4, 0x00d4, 0x00b4, 0x0154, 0x02b5, 0x0134, 0x00d4, 0x00b4, 0x00b4, 0x00d4, 0x00d4, 0x00d4, 0x00b4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x08d4, 0x08d4, 0x08d4, 0x08f4, 0x08f4, 0x08f4, 0x08f5, 0x10f4, 0x10d5, 0x7912, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x8132, 0x00d4, 0x00d4, 0x00d4, 0x00d3, 0x00d3, 0x00d3, 0x00d3, 0x00d3, 0x00b3, 0x00d3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b2, 0x00b3, 0x00d3, 0x00d3, 0x0214, 0x0295, + 0x00b1, 0x0091, 0x0091, 0x0091, 0x00b1, 0x0091, 0x00b1, 0x00b1, 0x0091, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x0091, 0x0091, 0x00d2, 0x01b2, 0x0273, 0x0172, 0x00b1, 0x00b2, 0x00b1, 0x00b1, 0x00b2, 0x00b1, 0x00b1, 0x00b2, 0x00b1, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b1, 0x00b1, 0x00b2, 0x00b2, 0x00b1, 0x00b2, 0x00b2, 0x00b2, 0x01d3, 0x0253, 0x0112, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x0213, 0x01d3, 0x0092, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x0253, 0x0153, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x0294, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00f2, 0x0293, 0x00d2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b1, 0x00b2, 0x0172, 0x0253, 0x00b1, 0x00b1, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b1, 0x00b1, 0x00b1, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x08b2, 0x08b2, 0x08b2, 0x08d2, 0x08b2, 0x08d2, 0x08d3, 0x10d3, 0x40f2, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x00d2, 0x00b2, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x0091, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x0091, 0x0131, + 0x0090, 0x0070, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0111, 0x0212, 0x01d1, 0x00d0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x01d2, 0x01f2, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x0171, 0x0212, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x00f1, 0x0252, 0x00b0, 0x0090, 0x00b0, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x0272, 0x00b0, 0x0090, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x01d1, 0x0171, 0x0091, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x01d1, 0x01d1, 0x0090, 0x00b0, 0x0090, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0091, 0x0091, 0x0091, 0x0091, 0x08b1, 0x08b1, 0x08b1, 0x08b1, 0x08b1, 0x08b1, 0x08b1, 0x8912, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9911, 0x9912, 0x9931, 0x0091, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, + 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x0191, 0x0232, 0x0151, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x01f2, 0x01d1, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0110, 0x0252, 0x00d0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x01b1, 0x0191, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x0090, 0x0090, 0x0252, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0151, 0x0232, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x01f1, 0x0171, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0091, 0x00b0, 0x00b0, 0x00b1, 0x08b1, 0x08b0, 0x08b1, 0x08b1, 0x50f1, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9911, 0x9931, 0x9911, 0x9931, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0070, 0x0090, 0x0090, + 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x00d0, 0x0212, 0x01d2, 0x00d0, 0x0090, 0x008f, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x0090, 0x0090, 0x00f0, 0x0232, 0x01b1, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0232, 0x0130, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x0232, 0x00d0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0252, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0232, 0x00f0, 0x0090, 0x0070, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00f0, 0x0232, 0x00f1, 0x00b0, 0x008f, 0x008f, 0x0090, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x0890, 0x08b0, 0x0891, 0x10b0, 0x9931, 0x9911, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, + 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0171, 0x0232, 0x0151, 0x008f, 0x006f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0070, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x006f, 0x00f0, 0x0212, 0x0151, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x0070, 0x0090, 0x01f1, 0x01b1, 0x0070, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x008f, 0x0090, 0x008f, 0x008f, 0x0130, 0x01f1, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0252, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x0191, 0x01b1, 0x0090, 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x0090, 0x0090, 0x008f, 0x0090, 0x006f, 0x008f, 0x0131, 0x0232, 0x00d0, 0x0090, 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x60f1, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x0150, 0x0090, 0x0090, 0x0090, 0x006f, 0x0090, 0x006f, 0x008f, 0x008f, 0x0070, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, + 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x0070, 0x008f, 0x006f, 0x008f, 0x0110, 0x0232, 0x01b1, 0x00af, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x0110, 0x0252, 0x0130, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x0170, 0x01f2, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x01d2, 0x0130, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x0252, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x00cf, 0x0232, 0x00af, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x008f, 0x0191, 0x0212, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x18af, 0x9911, 0x9912, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0xa111, 0x9931, 0xa111, 0x29d2, 0x01b1, 0x008f, 0x006f, 0x008f, 0x006f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, + 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x01b1, 0x0232, 0x010f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x0150, 0x0232, 0x00cf, 0x006f, 0x006f, 0x008e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x006f, 0x010f, 0x0212, 0x00af, 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x008f, 0x00af, 0x0212, 0x00af, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x0252, 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x006f, 0x006f, 0x01d1, 0x0130, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x01f1, 0x01b1, 0x008f, 0x006f, 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x0090, 0x8111, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x9932, 0x9931, 0x9931, 0x28d0, 0x01f2, 0x01d1, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006e, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, + 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x008e, 0x0110, 0x0212, 0x01b1, 0x008f, 0x006f, 0x006e, 0x006f, 0x006f, 0x006e, 0x008f, 0x006e, 0x006e, 0x006e, 0x006f, 0x006f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006f, 0x008f, 0x006e, 0x006e, 0x006f, 0x006f, 0x008e, 0x006e, 0x0191, 0x01f1, 0x00cf, 0x006f, 0x006f, 0x006e, 0x008f, 0x006e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006e, 0x006e, 0x006f, 0x00cf, 0x0212, 0x0110, 0x008f, 0x006f, 0x006e, 0x008f, 0x006f, 0x006e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x0150, 0x0191, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x0232, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x0110, 0x01f1, 0x008f, 0x006e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x00af, 0x0212, 0x0110, 0x006f, 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x48d0, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x008e, 0x008f, 0x01b1, 0x01f2, 0x00af, 0x006f, 0x006e, 0x008f, 0x006e, 0x008f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, + 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x008e, 0x01b1, 0x0212, 0x00ef, 0x006e, 0x006e, 0x006e, 0x006f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006f, 0x006e, 0x006e, 0x008e, 0x01d1, 0x01f1, 0x008f, 0x006f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x00ae, 0x01f1, 0x0170, 0x006f, 0x006e, 0x006e, 0x006e, 0x006f, 0x006e, 0x006e, 0x006f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0211, 0x00cf, 0x008f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0232, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x008f, 0x0212, 0x00cf, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x00ef, 0x0212, 0x00cf, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006e, 0x108f, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x006e, 0x006f, 0x006e, 0x0190, 0x0212, 0x00cf, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, + 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0130, 0x0212, 0x0170, 0x008e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x00af, 0x01d1, 0x0190, 0x008e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0190, 0x01f1, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x00ef, 0x0211, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0232, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0170, 0x0190, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0150, 0x01f1, 0x008e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x68f0, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x006e, 0x006e, 0x006e, 0x006e, 0x010f, 0x0212, 0x00ef, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, + 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x008e, 0x01b1, 0x01f2, 0x00cf, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x00af, 0x0212, 0x0191, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x004e, 0x008e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x010f, 0x0212, 0x008e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0190, 0x0150, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0232, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x008e, 0x0211, 0x008e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0190, 0x01b1, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x38b0, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9912, 0x004e, 0x006e, 0x006e, 0x004e, 0x006e, 0x010f, 0x0212, 0x010f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, + 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x004e, 0x004d, 0x0130, 0x01f2, 0x0150, 0x006d, 0x006d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x00ef, 0x0212, 0x010f, 0x004e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x004e, 0x00af, 0x0212, 0x00cf, 0x004e, 0x006e, 0x004e, 0x004e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x008e, 0x0232, 0x008e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0232, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x004e, 0x006e, 0x006e, 0x01d1, 0x010f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x004e, 0x006e, 0x004e, 0x006e, 0x008e, 0x01f1, 0x012f, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x004e, 0x006e, 0x086e, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9911, 0x9931, 0x004e, 0x006d, 0x006e, 0x006e, 0x006e, 0x006e, 0x00ae, 0x0211, 0x0190, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, + 0x004d, 0x004d, 0x004d, 0x004d, 0x006e, 0x006d, 0x004d, 0x004d, 0x004e, 0x004d, 0x004d, 0x006d, 0x006d, 0x008e, 0x01b1, 0x01d1, 0x00ce, 0x006d, 0x004d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004d, 0x006e, 0x004d, 0x006e, 0x006e, 0x004e, 0x006d, 0x010f, 0x0212, 0x00ef, 0x006d, 0x006e, 0x006e, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004d, 0x006d, 0x006e, 0x006e, 0x006e, 0x004d, 0x006e, 0x004d, 0x006e, 0x01d1, 0x0150, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x0130, 0x0191, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x0232, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x004d, 0x004d, 0x004e, 0x010f, 0x01d1, 0x006e, 0x006e, 0x006e, 0x006e, 0x006d, 0x004e, 0x004e, 0x004d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006d, 0x006d, 0x00ce, 0x0212, 0x00ce, 0x006e, 0x006e, 0x006e, 0x006e, 0x006d, 0x004d, 0x004d, 0x006d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x70f0, 0x9932, 0x9931, 0x9931, 0x9911, 0x9931, 0x9911, 0x9931, 0x9931, 0x8110, 0x006e, 0x006e, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x008e, 0x01d1, 0x0190, 0x006d, 0x006d, 0x004e, 0x006e, 0x006e, 0x004d, 0x006d, 0x006e, 0x004d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, + 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x004d, 0x004d, 0x004d, 0x0150, 0x01f1, 0x0150, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x004d, 0x004e, 0x004d, 0x004d, 0x004d, 0x0150, 0x01f1, 0x00ae, 0x006d, 0x004d, 0x004d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004d, 0x006d, 0x006d, 0x004d, 0x006d, 0x004d, 0x006d, 0x006d, 0x006d, 0x0170, 0x01b1, 0x006d, 0x006d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006d, 0x004e, 0x006e, 0x01d1, 0x010f, 0x006d, 0x006d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004d, 0x006d, 0x006e, 0x004e, 0x0212, 0x004d, 0x004d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004d, 0x006d, 0x006d, 0x006d, 0x006e, 0x01f1, 0x008e, 0x006d, 0x006e, 0x004d, 0x004d, 0x006d, 0x006d, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004d, 0x006d, 0x004d, 0x010f, 0x01f1, 0x006d, 0x006d, 0x004d, 0x006e, 0x006d, 0x006d, 0x006d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004e, 0x006d, 0x006d, 0x004d, 0x40cf, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x70f0, 0x004d, 0x006d, 0x004d, 0x004d, 0x006d, 0x006d, 0x004d, 0x004d, 0x006d, 0x0191, 0x01b1, 0x006d, 0x004d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d +}; + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/images/bootscreen_480x320x16.cpp b/Marlin/src/lcd/tft/images/bootscreen_480x320x16.cpp new file mode 100644 index 000000000000..cff7c0b0a7e3 --- /dev/null +++ b/Marlin/src/lcd/tft/images/bootscreen_480x320x16.cpp @@ -0,0 +1,350 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../inc/MarlinConfigPre.h" + +#if HAS_GRAPHICAL_TFT + +extern const uint16_t marlin_logo_480x320x16[153600] = { + 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x10ae, 0x00f8, 0x00f9, 0x00d6, 0x18ad, 0x188c, 0x188c, 0x18ac, 0x188c, 0x18ac, 0x18ac, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188d, 0x188d, 0x188d, 0x188d, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x188d, 0x18ad, 0x18ac, 0x18ac, 0x188d, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x188d, 0x18ac, 0x18ac, 0x00f9, 0x00f9, 0x18ac, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188c, 0x188c, 0x18ab, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, + 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x10ae, 0x00f7, 0x00f9, 0x00f6, 0x188d, 0x18ac, 0x18ac, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x188d, 0x18ac, 0x18ac, 0x188d, 0x188d, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x00f9, 0x00f9, 0x18ac, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, + 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x10af, 0x00f8, 0x00f8, 0x00f7, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188d, 0x18ac, 0x18ad, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x00f9, 0x00f9, 0x18ac, 0x18ad, 0x18ac, 0x18ac, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, + 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x18ac, 0x18ac, 0x10af, 0x00f7, 0x00f8, 0x00f6, 0x18ad, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x00f9, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, + 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x188c, 0x18ac, 0x18ac, 0x10af, 0x00f8, 0x00f9, 0x00d6, 0x18ad, 0x18ad, 0x188c, 0x18ac, 0x18ad, 0x18ac, 0x18ad, 0x188d, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x208d, 0x18ad, 0x18ad, 0x208d, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f9, 0x00f9, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, + 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188b, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x18ac, 0x188d, 0x18ac, 0x18ad, 0x18af, 0x00f8, 0x00f9, 0x00f6, 0x18ae, 0x188d, 0x18ac, 0x188d, 0x18ac, 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d1, 0x10d3, 0x10d3, 0x10d1, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x00f9, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, + 0x188b, 0x188b, 0x188b, 0x188b, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188b, 0x188b, 0x188b, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ac, 0x188c, 0x18ac, 0x188d, 0x10af, 0x00f8, 0x0119, 0x00d7, 0x18ae, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x011a, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x00f9, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, + 0x188b, 0x188c, 0x188c, 0x188c, 0x188b, 0x188b, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x188d, 0x18ad, 0x18ad, 0x18cf, 0x00f8, 0x0119, 0x00f6, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x00f7, 0x00f7, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, + 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cf, 0x00f9, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x188d, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18cd, 0x18ae, 0x0119, 0x0119, 0x10d3, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x188c, + 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cf, 0x00f8, 0x00f9, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18af, 0x011a, 0x0119, 0x10d1, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x18ac, 0x08b2, 0x08d2, + 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x00f9, 0x0119, 0x00f8, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08f6, 0x0119, 0x0119, 0x0119, 0x0119, 0x0118, 0x08f6, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x08d3, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x00f9, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x00f8, 0x00f8, + 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x188d, 0x18ad, 0x18ad, 0x18b0, 0x0118, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18b0, 0x0118, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0117, 0x10d0, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x011a, 0x00f7, 0x00f7, 0x0119, 0x011a, 0x08f5, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x00f9, 0x00f9, + 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x20ad, 0x18b0, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ae, 0x18ad, 0x20ad, 0x18ae, 0x18ae, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ae, 0x10d2, 0x0119, 0x011a, 0x0119, 0x00f6, 0x10f2, 0x10d1, 0x10d0, 0x10d1, 0x10d3, 0x08f6, 0x00f9, 0x00f9, 0x0119, 0x10d2, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x011a, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x00f8, 0x00f8, + 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ae, 0x18d0, 0x0118, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x011a, 0x00f8, 0x18d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d0, 0x0119, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x10d1, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x0119, 0x011a, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x00f9, 0x00f9, + 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18cf, 0x00f9, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cf, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0118, 0x18af, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x10d2, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x20ad, 0x18ad, 0x18cd, 0x18cd, 0x20ae, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x00f9, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x18ac, 0x00f9, 0x00f8, + 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x08d5, 0x011a, 0x00f8, 0x18cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x011a, 0x011a, 0x10d2, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188d, 0x00f9, 0x00f8, + 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x188d, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x0118, 0x011a, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x011a, 0x011a, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x0118, 0x10d1, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x08f3, 0x0119, 0x011a, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d1, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x188c, 0x00f9, 0x00f9, + 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x00f8, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x00f9, 0x10d2, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x011a, 0x00f9, 0x0119, 0x011a, 0x0119, 0x08f4, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d1, 0x0119, 0x0119, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x00f7, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x00f7, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x10d1, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d1, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ae, 0x18cd, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d1, 0x0119, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x18ac, 0x188c, 0x00f9, 0x00f9, + 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x0119, 0x0119, 0x0117, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0118, 0x0119, 0x0119, 0x0118, 0x10d1, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x08f3, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f3, 0x011a, 0x0119, 0x08f3, 0x10d1, 0x00f7, 0x0119, 0x00f9, 0x18af, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x00f7, 0x18ad, 0x20ad, 0x18ad, 0x10d2, 0x011a, 0x0119, 0x08f3, 0x10d0, 0x10f4, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x0117, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f9, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x0119, 0x011a, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x00f9, 0x00f9, + 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x188c, 0x188c, 0x188c, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18af, 0x08f5, 0x0139, 0x00fa, 0x011a, 0x0119, 0x08f5, 0x18af, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x0119, 0x011a, 0x0117, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d1, 0x0119, 0x0119, 0x00fa, 0x0119, 0x0119, 0x0119, 0x10d1, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ae, 0x20ad, 0x08f5, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f6, 0x0119, 0x08f4, 0x20ad, 0x18ae, 0x18ae, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x08d4, 0x0119, 0x08f6, 0x18ad, 0x18ad, 0x18ad, 0x08d4, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x20ad, 0x00f7, 0x011a, 0x10d3, 0x18ad, 0x18ad, 0x18ad, 0x08f6, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x00f9, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ae, 0x18ae, 0x011a, 0x0119, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ac, 0x00f9, 0x00f9, + 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x188c, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cf, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0118, 0x18cf, 0x20ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18b0, 0x00f9, 0x0119, 0x00f7, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x0118, 0x0119, 0x08f7, 0x10d1, 0x10d1, 0x00f7, 0x0119, 0x0118, 0x20ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x00f6, 0x011a, 0x08f3, 0x18ae, 0x18ad, 0x18ad, 0x00f9, 0x0119, 0x10d2, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x08d4, 0x0119, 0x08f6, 0x18ad, 0x18ad, 0x18ad, 0x08d4, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x20ad, 0x00f7, 0x011a, 0x10d3, 0x18ad, 0x18ad, 0x18ad, 0x08f6, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x011a, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x00f9, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x00f9, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f9, 0x00f9, + 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x011a, 0x0119, 0x0119, 0x00f9, 0x011a, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x10d1, 0x18cd, 0x18ad, 0x10d1, 0x00f9, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x08f4, 0x011a, 0x011a, 0x10f1, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x00f9, 0x10d0, 0x18ae, 0x08d5, 0x011a, 0x0119, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x00f7, 0x18ad, 0x20ad, 0x18ad, 0x10d2, 0x011a, 0x0119, 0x08f3, 0x10d0, 0x10f4, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x0117, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x10d2, 0x0119, 0x00f9, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x10f2, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, + 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x10b1, 0x18ad, 0x18ad, 0x10d1, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x08f5, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x00f9, 0x0119, 0x00f9, 0x0119, 0x0119, 0x0119, 0x00f6, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d1, 0x0119, 0x0119, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x00f7, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x00f7, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x10d1, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18cd, 0x18ae, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, + 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x18ae, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x0118, 0x0119, 0x00f7, 0x10d1, 0x10d1, 0x00f7, 0x0119, 0x00f8, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x08d5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x0118, 0x0119, 0x0119, 0x011a, 0x08f5, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x08f3, 0x0119, 0x011a, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18cd, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x08f5, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f8, 0x18ce, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, + 0x18ad, 0x188d, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x10f1, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x10f1, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x08d5, 0x011a, 0x00f8, 0x18cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08d5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x0119, 0x0119, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f9, 0x0119, + 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x08f5, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x10d1, 0x00f8, 0x0119, 0x0119, 0x00f8, 0x10d1, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x08f5, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cf, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x18af, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x20ae, 0x18cd, 0x18ad, 0x20ad, 0x00f9, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x08f5, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x0118, 0x0119, 0x0117, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08d3, 0x10d3, + 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x08f5, 0x18ae, 0x18cd, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x08f5, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x011a, 0x00f8, 0x18d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x0118, 0x0119, 0x0119, 0x10d1, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x011a, 0x0119, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x011a, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18cd, 0x18cd, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x18d0, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ae, 0x10d2, 0x0119, 0x011a, 0x0119, 0x00f6, 0x10f2, 0x10d1, 0x10d0, 0x10d1, 0x10d3, 0x08f6, 0x011a, 0x0119, 0x0119, 0x10d2, 0x20ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10cf, 0x0119, 0x011a, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x10d2, 0x0119, 0x011a, 0x08f6, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x08f5, 0x013a, 0x00f8, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18b0, 0x0118, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0118, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x10d2, 0x00f9, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x011a, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x0119, 0x00f9, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x20ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cf, 0x0119, 0x00f9, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08f6, 0x0119, 0x0119, 0x0119, 0x0119, 0x0118, 0x08f5, 0x10d1, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x10d2, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x10d2, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x10d2, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x00f9, 0x011a, 0x10d2, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x0118, 0x0119, 0x0117, 0x18ae, 0x18ae, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x10d0, 0x0119, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x10d2, 0x00f9, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x00f9, 0x10d2, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x20ad, 0x18ae, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x08d5, 0x0119, 0x00f9, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x10f3, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x10d0, 0x00f9, 0x011a, 0x00f7, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, + 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18d0, 0x00f9, 0x0119, 0x00f7, 0x18ce, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x10d0, 0x10d3, 0x08f4, 0x08f3, 0x08f3, 0x10f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x10d3, 0x10d3, 0x08f3, 0x08f3, 0x08d4, 0x10d3, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18cf, 0x0118, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18b0, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18cf, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x20ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x011a, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x011a, 0x10d1, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x20ad, 0x18cd, 0x10f3, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18af, 0x00f9, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, + 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x10d1, 0x0119, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18af, 0x0119, 0x011a, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f3, 0x00f9, 0x011a, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x18d0, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x00f9, 0x0119, 0x08f5, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x10d2, 0x011a, 0x0119, 0x08f5, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x08f5, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18cd, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x20ae, 0x18ae, 0x18ae, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18d0, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x08f4, + 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f7, 0x18ae, 0x18cd, 0x18af, 0x0119, 0x011a, 0x00f9, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x10cf, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x18cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x08d5, 0x0119, 0x0119, 0x10d2, 0x18ce, 0x18ae, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d1, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x00f7, 0x00f7, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18b0, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, + 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x011a, 0x00f7, 0x18ae, 0x18ad, 0x18b0, 0x0118, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0118, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x20ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x00f9, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x011a, 0x10d2, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x10d1, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x08f3, 0x00f9, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18af, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x08f5, 0x0119, 0x0119, + 0x08f5, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x10d0, 0x00f9, 0x0119, 0x0117, 0x18ae, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f3, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x00f7, 0x18af, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x10d2, 0x00f9, 0x0119, 0x08f5, 0x20ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08d5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x0119, 0x011a, 0x10d0, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x10d2, 0x011a, 0x011a, 0x10d2, + 0x18ad, 0x08f5, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x00f9, 0x00f9, 0x0119, 0x011a, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x10d0, 0x0119, 0x00f9, 0x00f7, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0119, 0x08f6, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d1, 0x08f3, 0x08f3, 0x10d2, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x10d2, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x10d2, 0x0119, 0x011a, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x10d2, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x20ae, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x011a, 0x08d3, 0x18ad, 0x18ad, 0x08d3, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18af, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ae, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x0119, 0x0119, 0x10d3, 0x18ad, + 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x10b0, 0x0119, 0x0119, 0x08f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0139, 0x011a, 0x0119, 0x08f6, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ae, 0x18ad, 0x20ce, 0x00f7, 0x011a, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x10d2, 0x00f9, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x20ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x00f9, 0x10d2, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08d5, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x08d5, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x00f7, 0x00f7, 0x0139, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18b0, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x20ad, + 0x18ae, 0x18ad, 0x18ad, 0x08d5, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18b0, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d3, 0x011a, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0116, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18cd, 0x08f5, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08d5, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d0, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x08f7, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18d0, 0x00f9, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x10d1, 0x00f9, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, + 0x20ad, 0x18ae, 0x18ad, 0x20ad, 0x08f5, 0x0119, 0x011a, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x00f6, 0x18ae, 0x18ae, 0x18d0, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f6, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cf, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x011a, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18cd, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x18cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x00fa, 0x18d1, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x10f3, 0x08d3, 0x10d2, 0x0117, 0x011a, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18af, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cf, 0x00f9, 0x0119, 0x08f5, 0x18ce, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f6, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0116, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18d0, 0x00f9, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18af, 0x00f8, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f6, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f9, 0x0119, 0x08d4, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d1, 0x011a, 0x0119, 0x08f5, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08d4, 0x0119, 0x00f9, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x08d5, 0x0119, 0x00f9, 0x18ad, 0x18ae, 0x208d, 0x18ae, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d0, 0x00f8, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x0118, 0x0119, 0x00f7, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, + 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cf, 0x00f8, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x00f9, 0x18af, 0x20ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x0118, 0x011a, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f3, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f6, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x10d2, 0x0119, 0x00f9, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ae, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x0117, 0x18ae, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x0119, 0x011a, 0x08f6, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18b0, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18cd, 0x20ad, 0x18ae, 0x18ae, 0x00f7, + 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x08f6, 0x0119, 0x0119, 0x011a, 0x0119, 0x0116, 0x18cf, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x00f9, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f3, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f6, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x08d5, 0x0119, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18cf, 0x00f9, 0x011a, 0x08f5, 0x20ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x011a, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x011a, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ae, 0x00f8, 0x0119, 0x0117, 0x18ae, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18d0, 0x0118, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x00f9, 0x0119, 0x00f7, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f3, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f6, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x00f7, 0x011a, 0x0119, 0x011a, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ae, 0x00f8, 0x0119, 0x08f4, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x00f9, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18b0, 0x00f9, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x00f7, 0x011a, 0x00f9, + 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x00f9, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f3, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f6, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x10d2, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18cd, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18cd, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x20ae, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x08f5, 0x0119, 0x00f9, 0x18cf, + 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f6, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ae, 0x20ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d1, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ae, 0x00f8, 0x0119, 0x00f7, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x18d0, 0x18ad, + 0x011a, 0x0119, 0x08f5, 0x18ae, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f6, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x20ad, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d1, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x18ae, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f7, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x20ae, + 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x20ad, 0x08f5, 0x0119, 0x011a, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f3, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x00f6, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x00fa, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x10d2, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f7, 0x18ce, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x08d5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, + 0x08f7, 0x00f9, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x08f3, 0x08f3, 0x10f3, 0x08f3, 0x10d3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x08f3, 0x10f2, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x00f9, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x10d2, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x08f3, 0x0119, 0x0119, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x310e, 0x18ad, 0x20ae, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x10f2, 0x0119, 0x0119, 0x10d2, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00fa, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18d0, + 0x18ae, 0x0117, 0x00f9, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ce, 0x00f8, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f7, 0x18ce, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08d5, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x28ee, 0x8252, 0xcb54, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ae, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x0119, + 0x18ad, 0x18ae, 0x08f7, 0x0119, 0x011a, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x00f9, 0x0119, 0x00f7, 0x00f7, 0x0119, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x394f, 0xb313, 0xd395, 0x7211, 0x18ad, 0x18ad, 0x20cd, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x00f9, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x20ad, 0x18cd, 0x18cd, 0x20ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, + 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x011a, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x011a, 0x18cd, 0x20ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x08f4, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x496f, 0xcb55, 0xd395, 0xbb54, 0x28ce, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x0119, 0x011a, 0x00f7, + 0x188d, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x10d2, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x208d, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00fa, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x0119, 0x0119, 0x18d0, 0x18ad, 0x18ad, 0x10d0, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x61d0, 0xd395, 0xd395, 0xd395, 0x69f1, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x20cd, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18d0, 0x00f9, 0x011a, 0x00f7, 0x18ae, + 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x011a, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x00f9, 0x011a, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x10d3, 0x011a, 0x011a, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x61d0, 0xd395, 0xd395, 0xd396, 0xd375, 0x310e, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x011a, 0x00f9, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x0117, 0x18ae, 0x18ad, + 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ae, 0x00f7, 0x0119, 0x011a, 0x0119, 0x08f5, 0x18ae, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08d4, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08d5, 0x0119, 0x0119, 0x00f7, 0x0117, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x392f, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0x28ce, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x00f7, 0x00f7, 0x0119, 0x011a, 0x08f4, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ae, + 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x011a, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x0119, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x10d2, 0x0119, 0x00f9, 0x10f2, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x011a, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x310e, 0xcb55, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x8252, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x10d2, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18cd, 0x18ad, 0x20ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ae, 0x18ad, 0x18ad, + 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x08f7, 0x00f9, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x10f2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x10d2, 0x10d3, 0x08f3, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x00f9, 0x10d2, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0xb314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x5190, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x011a, 0x011a, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x011a, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x00f9, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18af, 0x0119, 0x0119, 0x10d0, 0x18ad, 0x18ad, 0x18d0, 0x00f9, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ae, 0x18ad, 0x18ad, 0x18ad, + 0x0119, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x00f9, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ee, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x011a, 0x011a, 0x0119, 0x0119, 0x00f9, 0x0119, 0x011a, 0x00f9, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x10f2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x08d5, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x08f5, 0x011a, 0x0119, 0x10d2, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x8252, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x412f, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x08d5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f4, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x20ae, 0x20ad, 0x18ae, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x10f3, 0x18ad, 0x18ae, 0x08f3, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x0118, 0x0119, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x188d, 0x18ad, 0x18ad, 0x18ae, 0x08f7, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18cd, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0355, 0x190f, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f4, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x10d2, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x208e, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x496f, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0x496f, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x00f9, 0x0119, 0x011a, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x20ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x08f5, 0x00f9, 0x011a, 0x0117, 0x0117, 0x0119, 0x0119, 0x08d5, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18b0, 0x0119, 0x00f9, 0x0119, 0x011a, 0x10d1, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x0119, 0x08d4, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x11d1, 0x03b7, 0x0a93, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x00f9, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ae, 0x10d2, 0x011a, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x28ee, 0xbb34, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x9ab3, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x00f9, 0x00f9, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x10af, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x011a, 0x011a, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x10d0, 0x0118, 0x011a, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x188d, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x00f9, 0x10f2, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x208d, 0x18ad, 0x10d2, 0x08f3, 0x10d3, 0x10d2, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0356, 0x03b7, 0x03b7, 0x190f, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08f3, 0x08d4, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x00f9, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x10d2, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x0119, 0x0119, 0x00fa, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x7a31, 0xd395, 0xd395, 0xd375, 0xdb95, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd396, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08f3, 0x08f4, 0x10d2, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18cd, 0x18ad, 0x10cf, 0x0119, 0x0119, 0x0119, 0x0119, 0x10d1, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x0117, 0x00fa, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d1, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x11d1, 0x03b8, 0x03b7, 0x03b8, 0x0a94, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x10d2, 0x00f9, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x00f9, 0x10d2, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x08f5, 0x00f9, 0x011a, 0x0119, 0x011a, 0x0119, 0x011a, 0x08f5, 0x20ae, 0x18ad, 0x18cd, 0x18ad, 0x18cd, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08d5, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x18cd, 0x18ad, 0x20ad, 0x18ad, 0x310e, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd396, 0xd395, 0xd395, 0xb313, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x011a, 0x011a, 0x011a, 0x0119, 0x08f5, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x08f5, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ae, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x011a, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x10d2, 0x18cd, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x00f8, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x0356, 0x03b7, 0x03b7, 0x03b8, 0x03b7, 0x190e, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x10d2, 0x011a, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x011a, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ae, 0xa2d3, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xa2d3, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x0119, 0x0119, 0x0119, 0x0117, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x00f9, 0x0119, 0x011a, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ce, 0x00f7, 0x011a, 0x011a, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x011a, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x00f8, 0x10d0, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18cd, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x11d1, 0x03b8, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x0a94, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ae, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08d4, 0x08f3, 0x10d2, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18b0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x496f, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xaad3, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x10d1, 0x08f3, 0x08f3, 0x10d2, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x10d2, 0x08f3, 0x08d4, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f4, 0x0119, 0x0119, 0x10d1, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x0118, 0x00f9, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0356, 0x03b8, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x190f, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x00f9, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0xb314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x61d0, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18cd, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x0119, 0x0119, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ce, 0x08f5, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x00f9, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x0397, 0x03b8, 0x03b7, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x00f9, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x59d0, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd396, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f4, 0x011a, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18b0, 0x0118, 0x0119, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18cd, 0x20ae, 0x18ae, 0x00f7, 0x011a, 0x011a, 0x011a, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x03b7, 0x03b7, 0x0397, 0x03b7, 0x03b8, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x011a, 0x10d1, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0xbb34, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xaad3, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x00f9, 0x10d2, 0x18cd, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18b0, 0x0119, 0x00f9, 0x0119, 0x011a, 0x10d2, 0x18cd, 0x18ae, 0x18cd, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x00f9, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x011a, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x03b7, 0x03b7, 0x03b7, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x0397, 0x03b7, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x011a, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x08f5, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x61b1, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x8a92, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x08f5, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x08f4, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x0118, 0x011a, 0x0119, 0x0119, 0x10d2, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x188d, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x03b8, 0x03b7, 0x03b8, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x10d2, 0x00f9, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18cd, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0xaad3, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0x310e, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x0119, 0x0119, 0x10d1, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x10cf, 0x0119, 0x0119, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x00f7, 0x011a, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x03d7, 0x0397, 0x03b7, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x03b7, 0x03b8, 0x0397, 0x03b7, 0x03b8, 0x03b7, 0x03b7, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x10d2, 0x00f9, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x10d0, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x496f, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0x7231, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x10d1, 0x10d3, 0x08d3, 0x10d2, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x011a, 0x0119, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x03b7, 0x03b7, 0x03b8, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x10d2, 0x011a, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x08f5, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x011a, 0x0119, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20cd, 0x20ae, 0x8a92, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x7a31, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x011a, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0118, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x03b7, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x03b7, 0x03b7, 0x03b8, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ae, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x28ee, 0xc374, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xa2d3, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x0118, 0x00f9, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x18d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ce, 0x194f, 0x18ae, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x03b7, 0x0397, 0x03b8, 0x18ad, 0x20ae, 0x20ad, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b8, 0x03b7, 0x03b7, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x00f9, 0x0119, 0x08f5, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x20ae, 0x20ae, 0x61d1, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0x69f1, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x10d2, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ce, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x011a, 0x011a, 0x011a, 0x00f9, 0x08f7, 0x18ce, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x0119, 0x0119, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x10cf, 0x00f9, 0x0119, 0x0119, 0x00f9, 0x18d0, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x1930, 0x02f5, 0x03b7, 0x03b8, 0x0356, 0x114f, 0x18ad, 0x18ad, 0x18ad, 0x03b8, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x03b7, 0x03b8, 0x03b7, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x00f9, 0x0119, 0x08f4, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ae, 0x20ae, 0x9ab3, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0x412f, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ce, 0x00f8, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f7, 0x18ce, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x0397, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18ad, 0x0a32, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x0356, 0x18ad, 0x18ad, 0x0a32, 0x03b7, 0x03b8, 0x03b8, 0x03b8, 0x0376, 0x18ee, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x0397, 0x03b7, 0x03b7, 0x03b7, 0x03b8, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18b0, 0x0118, 0x0119, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cf, 0x00f8, 0x0119, 0x00f9, 0x0119, 0x18b0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x190f, 0x0377, 0x0397, 0x03b8, 0x0398, 0x0397, 0x0b77, 0x18ce, 0x18ad, 0x18ad, 0x03b7, 0x0397, 0x03b8, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x03b7, 0x0bb7, 0x0398, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0xc355, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x4970, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x00f9, 0x0119, 0x00f7, 0x00f7, 0x0119, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b8, 0x03b7, 0x03b7, 0x0397, 0x03b7, 0x18ad, 0x18ad, 0x18ad, 0x18ee, 0x0377, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x0a33, 0x190e, 0x0397, 0x03b8, 0x03b7, 0x03b7, 0x03b7, 0x11d1, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x11b0, 0x0a93, 0x0356, 0x03b7, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f9, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x011a, 0x0119, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x011a, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18b0, 0x0119, 0x00f9, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x00f9, 0x0119, 0x0119, 0x0119, 0x18b0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x1253, 0x0b78, 0x0b98, 0x0b78, 0x0b98, 0x0b98, 0x1378, 0x11f2, 0x18ad, 0x18ad, 0x0b98, 0x0b78, 0x0b78, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0b98, 0x1378, 0x0b78, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x4970, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0x8252, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x08f4, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x18ad, 0x18ad, 0x03b8, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x11d1, 0x03b8, 0x03b7, 0x03b7, 0x03b8, 0x0377, 0x0ad4, 0x0397, 0x03b7, 0x03b7, 0x03b7, 0x02f5, 0x18ae, 0x18ad, 0x03b7, 0x03b8, 0x03b7, 0x03b8, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x192f, 0x03b7, 0x03b7, 0x03b8, 0x03b8, 0x03b7, 0x03b7, 0x20ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18af, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x00f7, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x0118, 0x011a, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d0, 0x00f9, 0x0119, 0x0119, 0x0119, 0x18d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x1ab5, 0x1b78, 0x1b58, 0x1358, 0x1b78, 0x1378, 0x1358, 0x1a13, 0x18ae, 0x18ae, 0x1358, 0x1358, 0x1378, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x1358, 0x1358, 0x1358, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x20ae, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x7a32, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd375, 0xd395, 0xc354, 0x5990, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x0119, 0x0119, 0x18d0, 0x18ad, 0x18ad, 0x10d0, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x0397, 0x03b7, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x0356, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x0397, 0x03b7, 0x03b7, 0x194f, 0x18ad, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x03b7, 0x0397, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x20ad, 0x18ad, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x0119, 0x0119, 0x00f8, 0x18ae, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x10cf, 0x0119, 0x011a, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cf, 0x00f9, 0x0119, 0x00f9, 0x00f9, 0x18d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x1a54, 0x1b38, 0x1b38, 0x2338, 0x1b38, 0x1b58, 0x2338, 0x21d2, 0x18ad, 0x18ad, 0x2338, 0x2338, 0x2358, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x1930, 0x2339, 0x2358, 0x2338, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0xa2b3, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0x4970, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x10d3, 0x011a, 0x011a, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x1170, 0x03b8, 0x03b8, 0x03b7, 0x03b7, 0x03b8, 0x03b7, 0x03b7, 0x03b7, 0x0a53, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x03b7, 0x03b7, 0x0397, 0x03b7, 0x03b7, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x0396, 0x03b8, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18d0, 0x0118, 0x0119, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x10d0, 0x00f9, 0x0119, 0x0119, 0x0119, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x2150, 0x2b18, 0x2b39, 0x2b18, 0x2b19, 0x2b19, 0x2af8, 0x18ce, 0x18ad, 0x18ad, 0x2b19, 0x2b18, 0x2b19, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x2192, 0x2b19, 0x2b19, 0x2b18, 0x2338, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0xbb34, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0x4970, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08d5, 0x0119, 0x0119, 0x00f7, 0x0117, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b8, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0af5, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x0377, 0x18ee, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x03b7, 0x03b8, 0x03b7, 0x03b7, 0x03b8, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x11b0, 0x03b7, 0x03b8, 0x03b7, 0x03b7, 0x03b7, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ce, 0x0117, 0x011a, 0x0119, 0x0119, 0x0119, 0x0117, 0x18ae, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x011a, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x10cf, 0x0118, 0x0119, 0x0119, 0x0119, 0x18d0, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08f3, 0x10d3, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x2192, 0x2b19, 0x3319, 0x32f9, 0x2a15, 0x18ef, 0x20ad, 0x18ad, 0x18ad, 0x32f9, 0x3319, 0x32f9, 0x18ad, 0x18ad, 0x18ad, 0x2191, 0x3319, 0x2af9, 0x3319, 0x2af9, 0x2a97, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x0119, 0x0119, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x20cf, 0x20cf, 0x28cf, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0x71d1, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x20cd, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x011a, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b8, 0x0397, 0x03b7, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x190f, 0x03b7, 0x03b7, 0x03b8, 0x03b7, 0x03b7, 0x03b7, 0x11d1, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x03b7, 0x0397, 0x03b7, 0x03b7, 0x03b7, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x0118, 0x00f9, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18d0, 0x0119, 0x011a, 0x0119, 0x0119, 0x18d0, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x3ad9, 0x3ad9, 0x3ad9, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x3af9, 0x3ad9, 0x3ad9, 0x18ad, 0x20ad, 0x3215, 0x3ad9, 0x3af9, 0x3ada, 0x3ad9, 0x3277, 0x18ce, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x011a, 0x20cd, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28cf, 0x28cf, 0x4950, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd374, 0xd375, 0xd355, 0xd355, 0xaab3, 0x20ce, 0x18ce, 0x20ce, 0x20ae, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x10d2, 0x10d3, 0x08f3, 0x10d2, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x0398, 0x0398, 0x0398, 0x0398, 0x03b7, 0x0397, 0x0397, 0x03b7, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x0ad5, 0x0397, 0x0398, 0x03b8, 0x0398, 0x03b8, 0x18ee, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0398, 0x0398, 0x03b8, 0x0398, 0x0398, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0398, 0x0398, 0x0398, 0x0398, 0x0398, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x0119, 0x0119, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18d0, 0x00f8, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0139, 0x011a, 0x0117, 0x00f7, 0x011a, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x42d9, 0x42b9, 0x42b9, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x42b9, 0x42b9, 0x42ba, 0x18ae, 0x31f5, 0x42da, 0x42d9, 0x42b9, 0x42d9, 0x3a77, 0x18ce, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x20ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x0119, 0x0119, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x5991, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd374, 0xd375, 0xd355, 0xd355, 0xd355, 0x9252, 0x30ef, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x2338, 0x2338, 0x2318, 0x2319, 0x2338, 0x2338, 0x2338, 0x2338, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x2150, 0x2318, 0x2338, 0x2338, 0x2318, 0x2318, 0x2338, 0x21f3, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x2339, 0x2318, 0x2318, 0x2339, 0x2338, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x2338, 0x2338, 0x2338, 0x2338, 0x2338, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18b0, 0x0119, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18b0, 0x0118, 0x0119, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x0119, 0x0119, 0x0117, 0x00f7, 0x011a, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x00f9, 0x0119, 0x10d3, 0x18ad, 0x18ad, 0x10f3, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18b0, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x4a99, 0x4ab9, 0x4a9a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x4aba, 0x4aba, 0x4a9a, 0x4257, 0x4a99, 0x4a9a, 0x4a9a, 0x4aba, 0x4237, 0x20ce, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ae, 0x20ae, 0x0119, 0x0119, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x69f1, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd375, 0xd355, 0xd355, 0xd355, 0xd335, 0xd355, 0xcb14, 0x4130, 0x20af, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x18ad, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x18ad, 0x208e, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x42b9, 0x4a99, 0x42b9, 0x42ba, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x4257, 0x4aba, 0x4a9a, 0x4a99, 0x42b9, 0x4a9a, 0x42b9, 0x4a9a, 0x20ef, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x4a9a, 0x42b9, 0x42b9, 0x4aba, 0x4ab9, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x4a99, 0x42b9, 0x4aba, 0x4a99, 0x4a99, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x0119, 0x0119, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18b0, 0x0119, 0x00f9, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x08f3, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x011a, 0x00f9, 0x10d0, 0x18ad, 0x20ad, 0x10d0, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0118, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x527a, 0x527a, 0x527a, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x527a, 0x527a, 0x529a, 0x527a, 0x527a, 0x527a, 0x527a, 0x4a18, 0x20ce, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x00f9, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d1, 0x0117, 0x0119, 0x0119, 0x0917, 0x18d2, 0x20ce, 0x20cf, 0x28ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x8253, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd354, 0xd355, 0x7a11, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x6a3b, 0x6a3b, 0x6a3b, 0x621a, 0x6a3b, 0x6a3b, 0x6a1b, 0x6a3b, 0x6a3b, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x3932, 0x6a3b, 0x6a3b, 0x6a1b, 0x6a3b, 0x6a3b, 0x6a3b, 0x6a3b, 0x6a3b, 0x59d7, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x6a3b, 0x6a3b, 0x6a3b, 0x6a3b, 0x6a3b, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x6a1b, 0x6a3b, 0x6a3b, 0x6a1b, 0x6a3b, 0x18ad, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x10d2, 0x08f3, 0x10f3, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x00f9, 0x011a, 0x00f7, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x0118, 0x011a, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x18af, 0x0119, 0x0119, 0x10d1, 0x18ad, 0x18ae, 0x10d0, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x10d3, 0x18ad, 0x20ae, 0x08f3, 0x0119, 0x0119, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x00f9, 0x18d0, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x20ad, 0x5a5b, 0x5a5a, 0x5a7a, 0x2910, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x5a5a, 0x5a7b, 0x5a5a, 0x5a5a, 0x5a5a, 0x5a5a, 0x4a18, 0x20ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d1, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x091a, 0x18f2, 0x28cf, 0x28ce, 0x28cf, 0x28cf, 0x28ef, 0x28f0, 0x30f0, 0x8232, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xa293, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x20ae, 0x20ad, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x89bc, 0x89bc, 0x89bc, 0x91bc, 0x89bc, 0x899c, 0x89bc, 0x89bc, 0x89bb, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x899b, 0x89bc, 0x89bc, 0x89bc, 0x799a, 0x7179, 0x89bb, 0x899c, 0x89bc, 0x89bc, 0x38f1, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x89bc, 0x899c, 0x899c, 0x89bc, 0x89bc, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x89bc, 0x899c, 0x89bc, 0x899c, 0x89bc, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ae, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x10d0, 0x0118, 0x011a, 0x0117, 0x18ae, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x10cf, 0x0119, 0x0119, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x00f7, 0x0117, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x18d0, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x623a, 0x623b, 0x625a, 0x621a, 0x2910, 0x18cd, 0x18ad, 0x18ad, 0x623b, 0x623a, 0x625a, 0x623b, 0x623b, 0x51f8, 0x20ce, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0118, 0x0119, 0x0917, 0x18d2, 0x18d2, 0x0918, 0x091a, 0x0918, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x30d0, 0x30f0, 0x30f0, 0x8252, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd335, 0x9253, 0x30ef, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xa93d, 0xa93d, 0xa93d, 0xb13d, 0xa93d, 0xa93d, 0xa93d, 0xb13d, 0xb11d, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x60f5, 0xa93d, 0xa93d, 0xb13d, 0xa93d, 0x60f5, 0x40d1, 0xb11d, 0xb13d, 0xa93d, 0xa93d, 0x991b, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xa93d, 0xa93d, 0xa93d, 0xa93d, 0xa93d, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xa93d, 0xa93d, 0xa93d, 0xb13d, 0xa93d, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x011a, 0x00f7, 0x00f7, 0x011a, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x00f9, 0x0119, 0x00f7, 0x18ce, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x00f7, 0x00f7, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x0117, 0x011a, 0x011a, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x00f7, 0x0119, 0x00f8, 0x18d0, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x59d8, 0x6a1b, 0x6a1b, 0x6a1b, 0x6a1b, 0x4133, 0x18ad, 0x18ad, 0x6a3b, 0x6a1b, 0x6a1b, 0x6a1b, 0x51b6, 0x20cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x00f9, 0x10d3, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18d1, 0x20ce, 0x20ce, 0x18d1, 0x093a, 0x093a, 0x28ef, 0x28cf, 0x28cf, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x9273, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd334, 0xd335, 0xd334, 0xd334, 0xd314, 0xd315, 0xaa93, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0xd0be, 0xd0be, 0xd0be, 0xd0be, 0xd0be, 0xd0be, 0xd09e, 0xd0be, 0xd0be, 0x18ad, 0x18ad, 0x18ad, 0x30b0, 0xd0be, 0xd0be, 0xd0be, 0xd0be, 0xd0be, 0x20ae, 0x18ad, 0xb8bc, 0xd0be, 0xd0be, 0xd0be, 0xd0be, 0x68b5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xd0be, 0xd0be, 0xd0be, 0xd0be, 0xd0be, 0x20ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xd0be, 0xd0be, 0xd0be, 0xd0be, 0xd0be, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x08f3, 0x011a, 0x0119, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x10d0, 0x00f9, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x0118, 0x011a, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08d4, 0x08f3, 0x10d2, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x18d0, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ce, 0x61b8, 0x721b, 0x71fb, 0x721b, 0x721b, 0x4133, 0x20ad, 0x71fb, 0x721b, 0x71fb, 0x4174, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x0119, 0x011a, 0x18d1, 0x20ae, 0x20ce, 0x20f1, 0x093a, 0x093a, 0x28cf, 0x28cf, 0x30ef, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0xaaf4, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd314, 0xd314, 0xd315, 0x28ef, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x28ce, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ae, 0x20ad, 0x20ad, 0x20ae, 0x30ee, 0x6150, 0x81b1, 0xa1f2, 0xc233, 0xca53, 0xca54, 0xca53, 0xc233, 0xa1f2, 0x8191, 0x512f, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0xf03f, 0xf03f, 0xf03f, 0xf03f, 0xf03f, 0xf03f, 0xf03f, 0xf03f, 0xf03f, 0x18ad, 0x20ad, 0x18ad, 0xb079, 0xf03f, 0xf03f, 0xf03f, 0xf03f, 0xa058, 0x18ad, 0x18ad, 0x7095, 0xf03f, 0xf03f, 0xf03f, 0xf03f, 0xe83e, 0x28ae, 0x20ad, 0x18ad, 0x18ad, 0xf03f, 0xf01f, 0xf03f, 0xf03f, 0xf03f, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0xf03f, 0xf03f, 0xf03f, 0xf03f, 0xf03f, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x00f9, 0x0119, 0x18d0, 0x18ad, 0x18ae, 0x10d0, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x0119, 0x00f9, 0x0119, 0x0119, 0x10d0, 0x20ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x0119, 0x18d0, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x20ce, 0x69b9, 0x81fb, 0x79db, 0x79dc, 0x81fc, 0x5976, 0x79db, 0x79dc, 0x81dc, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x0918, 0x0119, 0x0917, 0x18d0, 0x20d0, 0x0917, 0x093a, 0x1138, 0x28cf, 0x30cf, 0x30ef, 0x30f0, 0x30f0, 0x3911, 0x3911, 0xaad4, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd314, 0xd315, 0xd315, 0xd314, 0x69b2, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ce, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x410f, 0x6990, 0x99f2, 0xc253, 0xca74, 0xd274, 0xca74, 0xd253, 0xca53, 0xca53, 0xca53, 0xd233, 0xd253, 0xca53, 0xd233, 0xca33, 0xc213, 0x8991, 0x410f, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x00f9, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x00f9, 0x0119, 0x011a, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18d0, 0x0119, 0x011a, 0x0119, 0x00f9, 0x10cf, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x0917, 0x0119, 0x0119, 0x10cf, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x20ae, 0x7199, 0x89db, 0x89bc, 0x81bc, 0x89bc, 0x89bc, 0x89bc, 0x89bc, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x011a, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18d2, 0x0119, 0x0119, 0x093a, 0x093a, 0x093a, 0x093a, 0x20f2, 0x28cf, 0x28f0, 0x30f0, 0x30f0, 0x3111, 0x3911, 0x3911, 0xb2f5, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd315, 0xd314, 0xd314, 0xd2f4, 0xd2f5, 0xcad4, 0x5971, 0x30f0, 0x30d0, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28ce, 0x38ef, 0x79b1, 0xba53, 0xca94, 0xca94, 0xca74, 0xd273, 0xd273, 0xca73, 0xca54, 0xca53, 0xca54, 0xca53, 0xca33, 0xca53, 0xca53, 0xca33, 0xca33, 0xca33, 0xd213, 0xca13, 0xca13, 0xa1b2, 0x490f, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20cd, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x00f7, 0x00f7, 0x0119, 0x0119, 0x08d5, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ae, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x0118, 0x0119, 0x0119, 0x00f9, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x00f9, 0x18b0, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ce, 0x7979, 0x919c, 0x919c, 0x91bc, 0x919c, 0x899c, 0x89bc, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x10f2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ae, 0x20ae, 0x20ce, 0x18f2, 0x0919, 0x091a, 0x091a, 0x0919, 0x20f3, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x3110, 0x3911, 0x3911, 0x4112, 0xb2f5, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd314, 0xd314, 0xd314, 0xd2f4, 0xd314, 0xd2f5, 0xd2f4, 0xd2f4, 0x4930, 0x30f0, 0x30ef, 0x28f0, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28ce, 0x28cf, 0x28cf, 0x28cf, 0x4130, 0x89f1, 0xd294, 0xd294, 0xca93, 0xca74, 0xd274, 0xca74, 0xca74, 0xca53, 0xca73, 0xd253, 0xd254, 0xca53, 0xca53, 0xca54, 0xc274, 0x9b36, 0x83b8, 0x6419, 0x6c39, 0x6439, 0x6c1a, 0x8b57, 0xb295, 0xca13, 0x9191, 0x28ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18cd, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18cf, 0x0119, 0x00f9, 0x0119, 0x00f9, 0x18cf, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x18af, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x28ae, 0x8159, 0x917c, 0x997c, 0x997c, 0x999c, 0x999c, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08d5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x08f4, 0x0119, 0x00f9, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20d0, 0x20d1, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x3110, 0x3910, 0x4111, 0x4112, 0x4112, 0x9294, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd315, 0xd314, 0xd2f4, 0xd2f4, 0xd315, 0xd2f4, 0xd2f5, 0xd2f4, 0xd2d5, 0x79d2, 0x3110, 0x30f0, 0x30f0, 0x30f0, 0x28f0, 0x30d0, 0x28ef, 0x28f0, 0x28cf, 0x5150, 0xaa32, 0xd293, 0xd294, 0xd294, 0xca93, 0xca74, 0xca74, 0xca74, 0xca74, 0xd274, 0xd254, 0xca53, 0xca54, 0xb2d5, 0x83b8, 0x44fc, 0x1dbe, 0x063f, 0x0cdb, 0x0b76, 0x1377, 0x1377, 0x0b76, 0x1356, 0x0b76, 0x0b77, 0x23f8, 0x6991, 0x510f, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18af, 0x0119, 0x0119, 0x0119, 0x00f9, 0x18cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x00f9, 0x18af, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x20ad, 0x20ae, 0x8939, 0xa17c, 0xa17c, 0xa15d, 0xa15d, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x10d2, 0x0119, 0x011a, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28ce, 0x28cf, 0x28cf, 0x28ef, 0x28f0, 0x30f0, 0x3110, 0x3911, 0x3911, 0x3911, 0x4112, 0x4132, 0x8a54, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd315, 0xd315, 0xd315, 0xd314, 0xd314, 0xd314, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2f4, 0xd2f4, 0xd2d4, 0xcad4, 0x5951, 0x38f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x4130, 0x91f2, 0xd294, 0xd294, 0xca94, 0xca74, 0xca94, 0xca94, 0xca74, 0xd274, 0xd274, 0xd274, 0xd253, 0xb2d5, 0x7419, 0x257d, 0x063f, 0x061f, 0x057d, 0x12b5, 0x190f, 0x18ce, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ae, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x10d0, 0x0119, 0x0119, 0x011a, 0x00f9, 0x18cf, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x0117, 0x0119, 0x0119, 0x18b0, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ce, 0x913a, 0xa93d, 0xa95d, 0xa95c, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08f5, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x20ae, 0x18ae, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28ce, 0x28cf, 0x28ef, 0x28f0, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x3911, 0x4132, 0x4132, 0x4932, 0x9255, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd315, 0xd315, 0xd314, 0xd314, 0xd314, 0xd2f4, 0xd2f5, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2d4, 0xd2d4, 0xcab4, 0x5172, 0x3911, 0x38f1, 0x38f0, 0x30f0, 0x81d2, 0xc294, 0xd294, 0xd293, 0xd294, 0xd294, 0xca93, 0xca93, 0xd274, 0xd274, 0xca73, 0xd274, 0x83d8, 0x353d, 0x061f, 0x063f, 0x063f, 0x063f, 0x4c5a, 0x4970, 0x20ae, 0x20ae, 0x20ad, 0x18cd, 0x20ad, 0x20ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18d0, 0x00f9, 0x0119, 0x0119, 0x00f9, 0x10cf, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x10d2, 0x08f3, 0x08d4, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x00f9, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0xb11d, 0xb11d, 0xb11d, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x08d5, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x20cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x4112, 0x4132, 0x4932, 0x4953, 0x6b36, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2d4, 0xd2d4, 0xd2d5, 0xd2d4, 0xcad4, 0xcab4, 0x5972, 0x3911, 0x5151, 0xb253, 0xcab4, 0xd294, 0xca94, 0xd294, 0xca94, 0xd294, 0xca94, 0xca74, 0xd274, 0xc294, 0x645a, 0x1dbe, 0x063f, 0x063f, 0x063f, 0x1dbe, 0x6459, 0xc274, 0x99d2, 0x28ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ce, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18cd, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x20ae, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x0119, 0x0119, 0x0119, 0x00f9, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x0117, 0x0119, 0x0119, 0x0119, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x18d0, 0x18cd, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0xb8fe, 0xb8fd, 0xb8fe, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x00f9, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28f0, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x4111, 0x4132, 0x4132, 0x4933, 0x4953, 0x253b, 0x465c, 0x6d7b, 0x6d9a, 0x6d9a, 0x6d7a, 0x84f9, 0x9c78, 0x9c77, 0x9c78, 0x9c78, 0x9c57, 0x9c78, 0x9c58, 0x9c58, 0xbbb6, 0xd334, 0xd315, 0xd334, 0xd315, 0xd314, 0xd315, 0xd2f4, 0xcaf4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2d4, 0xcad4, 0xd2d4, 0xd2d4, 0xcad4, 0xcab4, 0xd2d4, 0x91f3, 0x5972, 0xca74, 0xd2b4, 0xd2b4, 0xd294, 0xca94, 0xd294, 0xd294, 0xca94, 0xca74, 0xc2b4, 0x6c5a, 0x0dff, 0x063f, 0x063f, 0x063f, 0x353d, 0x83b8, 0xca53, 0xca33, 0x89b1, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x011a, 0x0119, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x20ae, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ce, 0x00f7, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x00f9, 0x00f9, 0x0119, 0x00f9, 0x18cf, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x08f5, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x0119, 0x18d0, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ae, 0xc0de, 0xc0fe, 0xc0dd, 0x18ae, 0x18cd, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f9, 0x00fa, 0x08f4, 0x18ad, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30ef, 0x30f0, 0x30f0, 0x3911, 0x38f1, 0x3911, 0x4112, 0x4132, 0x4932, 0x4953, 0x5153, 0x4d1a, 0x6d9a, 0x94b9, 0x9c98, 0x9c77, 0x9c78, 0x9c78, 0x9c78, 0x94b8, 0x6d7a, 0x6d7a, 0x6d7b, 0x367c, 0x367d, 0x1efe, 0x077f, 0x075f, 0x1ede, 0x363d, 0x6d3a, 0x9c17, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xcad4, 0xd2b4, 0xcad4, 0xd2b3, 0xcab4, 0xc294, 0xcab4, 0xca94, 0xca94, 0xd294, 0xca94, 0xca74, 0xca74, 0xca74, 0x7bd8, 0x0dff, 0x063f, 0x061f, 0x063f, 0x4cbb, 0x9b57, 0xd233, 0xca33, 0xca53, 0x6150, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x08f3, 0x08f3, 0x08f3, 0x10d2, 0x20ae, 0x10d2, 0x10d3, 0x08f3, 0x08f3, 0x18d0, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x08f3, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x08f3, 0x08f3, 0x08f3, 0x10d2, 0x18ad, 0x10d2, 0x08f3, 0x10d3, 0x08f3, 0x18d0, 0x18ae, 0x10d2, 0x08f3, 0x08f3, 0x08f3, 0x10d1, 0x18ad, 0x10d1, 0x08f3, 0x08f3, 0x08f3, 0x10d2, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x08f3, 0x10d1, 0x18ad, 0x10d2, 0x08f3, 0x10f3, 0x08f3, 0x10d0, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x0119, 0x00f9, 0x10d0, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x0119, 0x0119, 0x011a, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x0917, 0x0119, 0x0119, 0x18cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xc8be, 0xc8de, 0xc8be, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x3912, 0x4132, 0x4132, 0x4933, 0x5153, 0xa2b5, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd355, 0xd334, 0xd335, 0xd335, 0xd335, 0xd335, 0xbb96, 0xa437, 0x74f9, 0x4dbc, 0x2e7e, 0x0edf, 0x559b, 0x8498, 0xc335, 0xd2f4, 0xd2d4, 0xd2f5, 0xd2d4, 0xd2d4, 0xd2b5, 0xcab4, 0xd2b4, 0xd2b4, 0xcab4, 0xd2b4, 0xd2b4, 0xbab4, 0xbaf6, 0xca94, 0xd294, 0xca94, 0xd273, 0x9b76, 0x1dbe, 0x061f, 0x063f, 0x0ddf, 0x643a, 0xb2d5, 0xca54, 0xd253, 0xca53, 0xc294, 0x59b1, 0x28ce, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x011a, 0x0119, 0x00f7, 0x18ad, 0x00f6, 0x0119, 0x0119, 0x011a, 0x10d3, 0x18ad, 0x0116, 0x00f9, 0x0119, 0x011a, 0x10d3, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x10d3, 0x011a, 0x0119, 0x00f9, 0x00f6, 0x18ad, 0x08f6, 0x011a, 0x011a, 0x0119, 0x10d3, 0x18cd, 0x08f6, 0x0119, 0x0119, 0x0119, 0x10d3, 0x18ad, 0x08f3, 0x0119, 0x011a, 0x0119, 0x08f7, 0x18ae, 0x00f6, 0x0119, 0x0119, 0x0119, 0x08f3, 0x18cd, 0x00f7, 0x011a, 0x011a, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x10d2, 0x08f3, 0x08f3, 0x10d1, 0x18ce, 0x00f7, 0x0119, 0x0119, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x0119, 0x0119, 0x0119, 0x00f9, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x00f9, 0x18af, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18cd, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x40b0, 0xa09a, 0xd0be, 0xd09e, 0xd0be, 0xb89c, 0x78b5, 0x28ae, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x011a, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30ef, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x4112, 0x4112, 0x4932, 0x4933, 0x5173, 0xbb15, 0xd395, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd355, 0xd335, 0xd335, 0xd314, 0xd314, 0xd335, 0xd315, 0xd314, 0xd315, 0xd2f5, 0xd2f5, 0xd2f4, 0x9bf7, 0x6d1a, 0x2e3d, 0x45bc, 0x9418, 0xd2d4, 0xcad4, 0xd2d4, 0xd2b4, 0xd2b4, 0xd2b4, 0xcab4, 0xd2b4, 0xd294, 0xd294, 0xd294, 0xc2d4, 0x4cdb, 0x7bd8, 0x9b57, 0x44fc, 0x063f, 0x063f, 0x1dbe, 0x83d8, 0xc294, 0xca53, 0xca54, 0xca33, 0xca53, 0xb2b5, 0x33b8, 0x28f0, 0x28cf, 0x28cf, 0x28cf, 0x20cf, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x188e, 0x20cd, 0x10d1, 0x0119, 0x011a, 0x10d1, 0x20ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x08f3, 0x011a, 0x011a, 0x0119, 0x00f6, 0x18ad, 0x08f6, 0x011a, 0x0119, 0x0119, 0x10d3, 0x18ad, 0x00f7, 0x0119, 0x0139, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f3, 0x011a, 0x0139, 0x0119, 0x08f7, 0x18ad, 0x08f6, 0x0119, 0x0119, 0x0119, 0x10d3, 0x18ad, 0x08f7, 0x011a, 0x0119, 0x011a, 0x10d3, 0x20ad, 0x08f3, 0x0119, 0x0119, 0x0119, 0x08f6, 0x18ad, 0x08f6, 0x011a, 0x0119, 0x011a, 0x10d3, 0x18ad, 0x08f7, 0x0119, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x18ae, 0x18ae, 0x18cf, 0x00f8, 0x011a, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x00f9, 0x10d0, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x0119, 0x00f9, 0x0119, 0x00f9, 0x18cf, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x00f7, 0x0119, 0x0118, 0x10d0, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x40b0, 0xd07d, 0xd87e, 0xd89f, 0xd89f, 0xe07f, 0xd89e, 0xd89f, 0xb87b, 0x28ae, 0x20ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x28ef, 0x30f0, 0x30f0, 0x3110, 0x3911, 0x3911, 0x3911, 0x4132, 0x4132, 0x4933, 0x5174, 0xbb14, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd334, 0xd335, 0xd335, 0xd335, 0xd314, 0xd335, 0xd315, 0xd314, 0xd314, 0xd315, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2d4, 0xc335, 0x8478, 0x4d7b, 0x4d5b, 0xab96, 0xd2b4, 0xcab4, 0xd2b4, 0xd2b4, 0xca94, 0xcab4, 0xd294, 0xd294, 0xd273, 0xc2b4, 0x5c9a, 0x061f, 0x061f, 0x063f, 0x7419, 0xd273, 0xd273, 0xca53, 0xca53, 0xd233, 0xca53, 0xaaf6, 0x153c, 0x2951, 0x30f0, 0x30f0, 0x28ef, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x0119, 0x0119, 0x0119, 0x0117, 0x18ce, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x011a, 0x0119, 0x08f6, 0x18ad, 0x08f6, 0x0119, 0x011a, 0x0119, 0x08f3, 0x18ad, 0x00f6, 0x0119, 0x0119, 0x011a, 0x10d3, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d3, 0x011a, 0x0119, 0x0119, 0x08f6, 0x18ad, 0x00f6, 0x0119, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x08f6, 0x0119, 0x0119, 0x0119, 0x08f3, 0x18ae, 0x08f3, 0x0119, 0x0119, 0x0119, 0x00f6, 0x18ae, 0x08f6, 0x011a, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x00f6, 0x0119, 0x0119, 0x0119, 0x08f3, 0x18ae, 0x18ad, 0x18ad, 0x00f7, 0x0119, 0x011a, 0x0119, 0x00f9, 0x0119, 0x0119, 0x0118, 0x10cf, 0x20ae, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18d0, 0x00f9, 0x0119, 0x0119, 0x00f9, 0x18cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f6, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x10b0, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x208d, 0x18ad, 0x10d2, 0x08f3, 0x10d3, 0x10d2, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xb07a, 0xe85f, 0xe85f, 0xe07f, 0xe85f, 0xe87f, 0xe07f, 0xe85f, 0xe07f, 0x9898, 0x20ad, 0x18ad, 0x18cd, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x3110, 0x3910, 0x3911, 0x3911, 0x4112, 0x4132, 0x4932, 0x5153, 0xbb15, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd354, 0xd355, 0xd335, 0xd355, 0xd335, 0xd335, 0xd315, 0xcb34, 0xd315, 0xd314, 0xd314, 0xd315, 0xd314, 0xd2f4, 0xd2f5, 0xd2f4, 0xcaf4, 0xd2f4, 0xd2d4, 0xd2d4, 0xd2d5, 0xd2d4, 0xd2d4, 0xbb55, 0x7499, 0x35dc, 0x8439, 0xc2f4, 0xd2b4, 0xd294, 0xd294, 0xd294, 0xca93, 0xd294, 0xd274, 0xca74, 0x9b76, 0x061f, 0x061f, 0x83d8, 0xc295, 0xca53, 0xca53, 0xca53, 0xca53, 0x7bb8, 0x063f, 0x2a34, 0x30f0, 0x30f0, 0x30ef, 0x30f0, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x00f9, 0x08d5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f3, 0x0119, 0x011a, 0x0119, 0x08f6, 0x18ad, 0x08f7, 0x0119, 0x011a, 0x0119, 0x08f3, 0x18ad, 0x08f6, 0x0119, 0x011a, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x011a, 0x0119, 0x00f6, 0x18ad, 0x00f6, 0x011a, 0x0119, 0x0119, 0x08f3, 0x18ae, 0x00f6, 0x0119, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x08d4, 0x0119, 0x0119, 0x011a, 0x08f6, 0x18ad, 0x08f6, 0x0119, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x08f6, 0x0119, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0118, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x011a, 0x00f9, 0x18cf, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0118, 0x18d0, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x38b0, 0xf05f, 0xe83f, 0xf03f, 0xf05f, 0xf05f, 0xf03f, 0xf03f, 0xf03f, 0xf05f, 0xe83f, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30ef, 0x30f0, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x3911, 0x4112, 0x4132, 0x4933, 0x5173, 0xbb35, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xcb35, 0xd315, 0xd314, 0xd314, 0xd314, 0xd314, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2f5, 0xcad4, 0xd2f4, 0xcad4, 0xd2d4, 0xd2d4, 0xcab4, 0xd2b4, 0xcab4, 0xcab4, 0x8bf8, 0x3d5c, 0x6499, 0xc2d4, 0xd294, 0xd294, 0xca74, 0xca74, 0xd274, 0xca74, 0xca74, 0x54bb, 0x5c9a, 0x353d, 0x1dbe, 0x4cbb, 0x9377, 0x9b36, 0x44fc, 0x061f, 0x1bf9, 0x3911, 0x3910, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x0119, 0x00f6, 0x18ad, 0x08f7, 0x0119, 0x011a, 0x011a, 0x10d3, 0x18ad, 0x08f6, 0x0119, 0x00f9, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x00f9, 0x0119, 0x08f6, 0x18ad, 0x08f6, 0x0119, 0x0119, 0x011a, 0x08f3, 0x18ae, 0x00f6, 0x0119, 0x0119, 0x011a, 0x10d3, 0x18ad, 0x10d3, 0x0119, 0x011a, 0x011a, 0x08f6, 0x18ad, 0x08f6, 0x0119, 0x0119, 0x0119, 0x08f3, 0x20ad, 0x08f6, 0x011a, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x10d0, 0x011a, 0x011a, 0x011a, 0x0119, 0x011a, 0x011a, 0x0119, 0x00f9, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x00f9, 0x0119, 0x0119, 0x00f9, 0x10cf, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f4, 0x10f3, 0x10d2, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x00f7, 0x0119, 0x0118, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x5092, 0xf83f, 0xf83f, 0xf03f, 0xf83f, 0xf83f, 0xf83f, 0xf83f, 0xf81f, 0xf03f, 0xf83f, 0x5092, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x3911, 0x4112, 0x4132, 0x4932, 0x69b3, 0xc355, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd335, 0xd335, 0xd314, 0xd314, 0xd314, 0xd2f5, 0xd2f5, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xcad4, 0xcab4, 0xd2b4, 0xd2b4, 0xcab4, 0xd294, 0x9b97, 0x453c, 0x6c59, 0xc2b4, 0xca74, 0xd274, 0xd273, 0xca73, 0xd273, 0xc294, 0x6c39, 0xc294, 0xca53, 0x8b98, 0x4cbb, 0x0dff, 0x063f, 0x0d7e, 0x3972, 0x3911, 0x3911, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x011a, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x011a, 0x00f6, 0x18ad, 0x08f6, 0x0119, 0x0119, 0x0119, 0x10d3, 0x18ad, 0x00f6, 0x011a, 0x0119, 0x0119, 0x10d3, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d3, 0x0119, 0x0119, 0x011a, 0x08f6, 0x18ad, 0x08f6, 0x0119, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x00f6, 0x0119, 0x00f9, 0x011a, 0x08f3, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x0119, 0x00f6, 0x18ad, 0x00f6, 0x00f9, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x00f6, 0x0119, 0x011a, 0x0119, 0x10d3, 0x18ad, 0x18ad, 0x10d0, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0117, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x0119, 0x0119, 0x0119, 0x00f9, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x20ae, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x0119, 0x00f9, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x18cd, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x5092, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0x5092, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x4111, 0x4112, 0x4132, 0x4933, 0x9254, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd375, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd314, 0xd314, 0xd314, 0xd314, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2f4, 0xd2d4, 0xd2d4, 0xcad4, 0xd2d4, 0xcad4, 0xd2d4, 0xd2b4, 0xcab4, 0xd2b4, 0xd2b4, 0xcab4, 0xd294, 0xd294, 0xd294, 0xca94, 0x9b77, 0x44dc, 0x73f9, 0xca73, 0xca74, 0xd254, 0xca73, 0xca53, 0xc294, 0x351c, 0x6c3a, 0xc294, 0xd253, 0xca34, 0x83b8, 0x5a55, 0x4132, 0x4132, 0x3912, 0x3911, 0x3911, 0x3910, 0x30f0, 0x30f0, 0x30f0, 0x28f0, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f3, 0x00fa, 0x0119, 0x0119, 0x08f6, 0x18ad, 0x00f6, 0x0119, 0x0119, 0x011a, 0x08f3, 0x18ae, 0x08f6, 0x011a, 0x0119, 0x0119, 0x08f3, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x08f3, 0x0119, 0x0119, 0x011a, 0x08f7, 0x18ad, 0x0116, 0x011a, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x08f6, 0x0119, 0x011a, 0x0119, 0x08f3, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x0119, 0x08f6, 0x18ad, 0x00f6, 0x0119, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x08f6, 0x0119, 0x011a, 0x0119, 0x10d3, 0x18ae, 0x18ad, 0x18ad, 0x00f7, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x00f9, 0x00f9, 0x0119, 0x00f9, 0x18cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18b0, 0x0119, 0x011a, 0x0119, 0x00f8, 0x18d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ce, 0x0117, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x4090, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0x28af, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x28f0, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x4112, 0x4132, 0x4132, 0x69d3, 0xc355, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xcb55, 0xd335, 0xd335, 0xd335, 0xd315, 0xd314, 0xd314, 0xd314, 0xd314, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xcad4, 0xd2f4, 0xd2d4, 0xd2d4, 0xd2b4, 0xd2b4, 0xd2b4, 0xcab4, 0xcab4, 0xcab4, 0xd2b4, 0xcab4, 0xd294, 0xd294, 0xd294, 0xca94, 0xd274, 0xca74, 0x8b78, 0x447c, 0xa316, 0xd253, 0xd253, 0xca54, 0xca53, 0xc294, 0x257d, 0x0ddf, 0x83b8, 0xd233, 0xca33, 0xca33, 0xba13, 0x7993, 0x4112, 0x4112, 0x4111, 0x3911, 0x3911, 0x38f0, 0x30f0, 0x28f0, 0x30d0, 0x30d0, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x08f5, 0x0119, 0x011a, 0x011a, 0x0119, 0x011a, 0x00f9, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x0119, 0x08f7, 0x18ad, 0x00f6, 0x0119, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x08f6, 0x0119, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x0119, 0x0116, 0x20ad, 0x08f6, 0x011a, 0x00f9, 0x0119, 0x10f3, 0x18ad, 0x0116, 0x0119, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x10d4, 0x011a, 0x011a, 0x0119, 0x08f6, 0x20ad, 0x00f6, 0x0119, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x08f7, 0x0119, 0x011a, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x00f7, 0x011a, 0x011a, 0x0119, 0x0119, 0x08f4, 0x20cd, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x0119, 0x00f9, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x0119, 0x00f9, 0x0119, 0x00f8, 0x18cf, 0x18ad, 0x18ae, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f9, 0x011a, 0x0119, 0x011a, 0x00f9, 0x0119, 0x0119, 0x00f9, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x20ad, 0xd03c, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xd03c, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f9, 0x0119, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x3911, 0x4111, 0x4112, 0x5193, 0xaad4, 0xd375, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd314, 0xd314, 0xd315, 0xd314, 0xd314, 0xd314, 0xd314, 0xd315, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2d4, 0xd2d4, 0xd2d4, 0xcad4, 0xd2b4, 0xd2b4, 0xd2d4, 0xd2b4, 0xcab4, 0xd2b4, 0xd2b4, 0xd294, 0xd2b4, 0xca94, 0xca94, 0xd294, 0xca74, 0xca73, 0xca74, 0xd274, 0xc295, 0x6bb9, 0x6b99, 0xca54, 0xca53, 0xd254, 0xca33, 0xc294, 0x24fd, 0x063f, 0x351d, 0xb295, 0xca13, 0xca13, 0xca13, 0xb9f3, 0x7992, 0x4111, 0x4112, 0x38f1, 0x3911, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18cf, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x0117, 0x18ce, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f3, 0x00f9, 0x011a, 0x0119, 0x08f6, 0x18ad, 0x00f6, 0x011a, 0x0119, 0x011a, 0x10d3, 0x18ad, 0x00f6, 0x0119, 0x0119, 0x0119, 0x10d3, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d3, 0x0119, 0x0119, 0x0119, 0x08f7, 0x18ad, 0x00f7, 0x0119, 0x0119, 0x011a, 0x08f3, 0x18ae, 0x00f6, 0x011a, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x011a, 0x08f6, 0x18ad, 0x08f6, 0x011a, 0x0119, 0x0119, 0x10d3, 0x18ad, 0x08f6, 0x011a, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x10d2, 0x10f3, 0x08f3, 0x10d1, 0x18ad, 0x18ae, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x0119, 0x0119, 0x0119, 0x00f9, 0x18b0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cf, 0x0118, 0x00f9, 0x0119, 0x00f9, 0x18d0, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x00f9, 0x0119, 0x0119, 0x0119, 0x00fa, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x4090, 0xf03f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0x6073, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20cd, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30ef, 0x28f0, 0x30f0, 0x30f0, 0x30f0, 0x3910, 0x3911, 0x3912, 0x4112, 0x4112, 0x8233, 0xcb55, 0xd375, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd334, 0xd314, 0xd335, 0xd314, 0xd314, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2d4, 0xd2d4, 0xd2d4, 0xcad4, 0xd2d4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xcab4, 0xd2b4, 0xd2b4, 0xcab4, 0xd294, 0xd294, 0xd294, 0xca74, 0xca74, 0xca74, 0xca73, 0xca73, 0xca53, 0xca53, 0xca74, 0xaab6, 0x5b7a, 0xba74, 0xca53, 0xca33, 0xca33, 0xc254, 0x4bfb, 0x059f, 0x0d7f, 0x8b57, 0xc9f3, 0xca13, 0xc9f3, 0xc9f3, 0xa9b3, 0x5952, 0x4112, 0x3931, 0x3911, 0x3111, 0x3110, 0x30f0, 0x30f0, 0x28f0, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x10d2, 0x08f3, 0x10d3, 0x10d2, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x10d3, 0x10d3, 0x08f3, 0x10d2, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x08f3, 0x18d1, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x10d3, 0x10b0, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10b0, 0x10d3, 0x08f3, 0x08f3, 0x10d2, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x10d3, 0x10d0, 0x18ad, 0x10d2, 0x08f3, 0x10d3, 0x08f3, 0x10d0, 0x18ad, 0x10d0, 0x08f3, 0x08f3, 0x10d3, 0x10d2, 0x18ad, 0x10d2, 0x10d4, 0x08f3, 0x08f3, 0x18d1, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x10d3, 0x18d1, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x20ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x0119, 0x00f9, 0x0119, 0x00f9, 0x18d0, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18d0, 0x00f9, 0x0119, 0x0119, 0x0118, 0x10cf, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x011a, 0x0119, 0x011a, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x4091, 0xe01d, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0xf81f, 0x7074, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x08f3, 0x10d2, 0x20cd, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x10d1, 0x0119, 0x0119, 0x10d2, 0x20ad, 0x18ad, 0x20ae, 0x18cd, 0x20ae, 0x20cd, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3910, 0x3911, 0x3911, 0x3912, 0x4132, 0x4953, 0xb2f4, 0xd395, 0xdb95, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd334, 0x84f9, 0x467d, 0x1f5e, 0x07df, 0x07df, 0x07df, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x079f, 0x1f1e, 0x367d, 0x367c, 0x4ddb, 0x653a, 0x8498, 0x9bf7, 0xc2f5, 0xd294, 0xd294, 0xd294, 0xd294, 0xca94, 0xca94, 0xca74, 0xca73, 0xd253, 0xd254, 0xca74, 0xca53, 0xca53, 0xca53, 0xd253, 0x72d9, 0xaa76, 0xca33, 0xd233, 0xca13, 0xca33, 0x1c7e, 0x059f, 0x05ff, 0x5c7a, 0xca13, 0xc9f3, 0xc9f3, 0xc9f3, 0xd1f3, 0x9193, 0x4911, 0x3911, 0x3911, 0x3911, 0x3110, 0x30f0, 0x30f0, 0x30f0, 0x28ef, 0x28ef, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x208d, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ae, 0x18ad, 0x18cd, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18d0, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0118, 0x10b0, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x10d1, 0x08f3, 0x08f3, 0x10d2, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x7074, 0x9077, 0x8856, 0x8876, 0x388f, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18cd, 0x18ae, 0x18ce, 0x00f7, 0x0119, 0x011a, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x08f7, 0x0119, 0x011a, 0x0119, 0x0119, 0x08f7, 0x18ce, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30ef, 0x30f0, 0x30f0, 0x30f0, 0x3111, 0x3111, 0x38f1, 0x3911, 0x4111, 0x4132, 0x6193, 0xc355, 0xd396, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd375, 0xd355, 0xd355, 0xd335, 0xd335, 0xb3d6, 0x271d, 0x07ff, 0x07ff, 0x07bf, 0x079f, 0x079f, 0x077f, 0x079f, 0x077f, 0x077f, 0x077f, 0x077f, 0x077f, 0x077f, 0x077f, 0x075f, 0x077f, 0x077f, 0x077f, 0x077f, 0x077f, 0x077f, 0x077f, 0x079f, 0x079f, 0x1efe, 0x461c, 0x6d1a, 0x9bd6, 0xca74, 0xca74, 0xca74, 0xca73, 0xd274, 0xca74, 0xca53, 0xd254, 0xca54, 0xd253, 0xca53, 0xca33, 0xa275, 0x9a76, 0xca33, 0xca13, 0xca33, 0x9ad6, 0x04ff, 0x05bf, 0x063f, 0x357c, 0xc254, 0xc9f3, 0xd1f3, 0xc9f3, 0xc9f3, 0xb9d3, 0x6152, 0x4111, 0x3911, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x00f8, 0x10d0, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x208e, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x00f9, 0x08f5, 0x18ae, 0x20ad, 0x18ad, 0x08f4, 0x0119, 0x011a, 0x00f7, 0x0117, 0x0119, 0x011a, 0x08f5, 0x20ae, 0x20ae, 0x20ad, 0x20ce, 0x20ce, 0x20ce, 0x20cd, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30ef, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3910, 0x3911, 0x3911, 0x3911, 0x4112, 0x4132, 0x6193, 0xcb55, 0xd395, 0xd395, 0xd375, 0xd395, 0xd375, 0xd375, 0xd375, 0xd355, 0xd375, 0xd355, 0xd355, 0xd355, 0xcb55, 0xd334, 0xcb55, 0xac17, 0x0fbf, 0x07ff, 0x07ff, 0x07bf, 0x07bf, 0x077f, 0x075f, 0x075f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x073f, 0x075f, 0x075f, 0x077f, 0x077f, 0x079f, 0x07bf, 0x365c, 0x74b9, 0xb315, 0xca73, 0xca54, 0xca54, 0xca53, 0xca53, 0xca53, 0xca33, 0xd233, 0xca33, 0xb235, 0xaa16, 0xca33, 0xca13, 0xca13, 0x7b37, 0x055f, 0x05ff, 0x067f, 0x25dd, 0xa2f5, 0xd1d3, 0xc9f3, 0xc9d3, 0xc9d2, 0xc9d3, 0x9193, 0x4932, 0x4111, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x0118, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18b0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x0119, 0x00f9, 0x011a, 0x011a, 0x0119, 0x011a, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x10d3, 0x18ce, 0x20ad, 0x10f4, 0x011a, 0x0119, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x3911, 0x4111, 0x4132, 0x4132, 0x61b3, 0xcb75, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd375, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0x8cb8, 0x0fbf, 0x07ff, 0x07df, 0x07bf, 0x079f, 0x077f, 0x075f, 0x073f, 0x071f, 0x06ff, 0x06ff, 0x06ff, 0x06ff, 0x06ff, 0x06ff, 0x06ff, 0x06df, 0x06ff, 0x06df, 0x06df, 0x06df, 0x06ff, 0x06ff, 0x06ff, 0x06ff, 0x071f, 0x071f, 0x071f, 0x073f, 0x073f, 0x073f, 0x073f, 0x075f, 0x075f, 0x071f, 0x2dfd, 0x7419, 0xb2b5, 0xca53, 0xca53, 0xca33, 0xca33, 0xca33, 0xca33, 0xd233, 0xca14, 0xa215, 0xca13, 0xca13, 0xc9f3, 0x8338, 0x05bf, 0x063f, 0x06bf, 0x0e9f, 0xaad5, 0xc9d3, 0xc9d2, 0xc9d3, 0xc9d3, 0xc9b2, 0xb1b2, 0x5931, 0x3911, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x28f0, 0x28ef, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18cf, 0x011a, 0x0119, 0x10d0, 0x18ad, 0x20ae, 0x18d0, 0x0119, 0x0119, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3111, 0x38f1, 0x3911, 0x3911, 0x4112, 0x4112, 0x4132, 0x6193, 0xcb75, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd354, 0xd355, 0xd355, 0xc395, 0x5dfa, 0x07ff, 0x07df, 0x07bf, 0x079f, 0x077f, 0x075f, 0x073f, 0x071f, 0x06ff, 0x06df, 0x06bf, 0x06bf, 0x069f, 0x069f, 0x069f, 0x069f, 0x06bf, 0x06bf, 0x069f, 0x069f, 0x069f, 0x069f, 0x069f, 0x069f, 0x069f, 0x06bf, 0x06bf, 0x06bf, 0x06df, 0x06df, 0x06ff, 0x06ff, 0x06ff, 0x071f, 0x071f, 0x06ff, 0x06bf, 0x065f, 0x05bf, 0x443c, 0x8af7, 0xca33, 0xca33, 0xca33, 0xca33, 0xca13, 0xca13, 0xca13, 0x99b6, 0xc9f3, 0xca13, 0xc9f3, 0x4c3b, 0x061f, 0x069f, 0x06ff, 0x0ebe, 0xa2d5, 0xc9b3, 0xc9d3, 0xc9b2, 0xc9b3, 0xc9b2, 0xc1b3, 0x7152, 0x3911, 0x3911, 0x3110, 0x30f0, 0x30f0, 0x28f0, 0x30d0, 0x28cf, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ce, 0x08f7, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x011a, 0x0119, 0x20ae, 0x20ad, 0x18ce, 0x0119, 0x0119, 0x10d3, 0x20ce, 0x20ae, 0x10f4, 0x0119, 0x011a, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28cf, 0x28ef, 0x30ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x3911, 0x4112, 0x3912, 0x4112, 0x4132, 0x4133, 0x5153, 0xbb35, 0xd395, 0xd396, 0xd395, 0xd375, 0xd375, 0xd375, 0xd355, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xbbd6, 0x5dfb, 0x0fbf, 0x07ff, 0x07df, 0x07bf, 0x077f, 0x075f, 0x073f, 0x071f, 0x06ff, 0x06df, 0x06bf, 0x069f, 0x069f, 0x067f, 0x067f, 0x067f, 0x065f, 0x065f, 0x065f, 0x065f, 0x065f, 0x065f, 0x065f, 0x065f, 0x065f, 0x065f, 0x067f, 0x065f, 0x065f, 0x067f, 0x067f, 0x069f, 0x069f, 0x069f, 0x06bf, 0x06bf, 0x06df, 0x06bf, 0x069f, 0x065f, 0x05ff, 0x053f, 0x049f, 0x1bbe, 0x8298, 0xca13, 0xca13, 0xca13, 0xca13, 0xca13, 0xd1f3, 0x99b6, 0xc9f3, 0xc9f3, 0xb254, 0x0d9f, 0x067f, 0x06df, 0x06ff, 0x0ebf, 0xa2d5, 0xc9d2, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b2, 0xc9b3, 0x8152, 0x3911, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x28f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x08f5, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x08f5, 0x18ae, 0x20ae, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0918, 0x0917, 0x0139, 0x011a, 0x10f5, 0x20ce, 0x20cf, 0x28cf, 0x28ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30ef, 0x30f0, 0x30f0, 0x30f0, 0x3110, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x3911, 0x4112, 0x4112, 0x4132, 0x4932, 0x4133, 0x4933, 0xbb35, 0xd395, 0xd396, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xac37, 0x6d9a, 0x2efe, 0x07ff, 0x07ff, 0x07df, 0x07bf, 0x079f, 0x075f, 0x073f, 0x071f, 0x06df, 0x06bf, 0x069f, 0x067f, 0x065f, 0x065f, 0x063f, 0x063f, 0x061f, 0x061f, 0x061f, 0x061f, 0x061f, 0x061f, 0x061f, 0x061f, 0x061f, 0x05ff, 0x061f, 0x061f, 0x061f, 0x061f, 0x061f, 0x061f, 0x063f, 0x063f, 0x063f, 0x065f, 0x065f, 0x065f, 0x065f, 0x067f, 0x067f, 0x063f, 0x05df, 0x055f, 0x04bf, 0x043f, 0x037f, 0x1abe, 0x7a18, 0xca13, 0xca13, 0xca13, 0xc9f3, 0xc1f4, 0x7178, 0xc9f2, 0xd1f3, 0x8338, 0x061f, 0x06bf, 0x06ff, 0x071f, 0x0edf, 0xa2d5, 0xc9b3, 0xc9b3, 0xc9b2, 0xc992, 0xc992, 0xc993, 0x9172, 0x3911, 0x3910, 0x3110, 0x30f0, 0x30f0, 0x30f0, 0x28ef, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x0119, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ae, 0x00f7, 0x011a, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x20ad, 0x20ae, 0x20ae, 0x18ce, 0x0918, 0x011a, 0x011a, 0x0919, 0x011a, 0x0917, 0x20cf, 0x28ae, 0x20cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x28ef, 0x30ef, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x38f0, 0x3911, 0x3911, 0x3911, 0x3911, 0x3912, 0x4112, 0x4132, 0x4932, 0x4933, 0x4933, 0x4953, 0xa2b4, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd355, 0xd375, 0xd355, 0xc3b6, 0x8519, 0x4e3c, 0x0f9f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x079f, 0x077f, 0x077f, 0x075f, 0x073f, 0x06ff, 0x06bf, 0x069f, 0x067f, 0x065f, 0x063f, 0x061f, 0x061f, 0x05ff, 0x05df, 0x05df, 0x05df, 0x05df, 0x05bf, 0x05bf, 0x05df, 0x05df, 0x05bf, 0x05bf, 0x05bf, 0x05bf, 0x05bf, 0x05bf, 0x05df, 0x05df, 0x05df, 0x05df, 0x05ff, 0x05ff, 0x061f, 0x061f, 0x061f, 0x061f, 0x061f, 0x061f, 0x05df, 0x057f, 0x04ff, 0x047f, 0x03df, 0x031f, 0x025f, 0x19de, 0x79b8, 0xc9f3, 0xca13, 0xc9f3, 0xb9d3, 0xa1b5, 0xc9d3, 0xc9f3, 0x4c5b, 0x065f, 0x06df, 0x071f, 0x071f, 0x0edf, 0xa2b5, 0xc9b3, 0xc9b3, 0xc992, 0xc992, 0xc993, 0xc992, 0xb172, 0x4911, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x30ef, 0x28ef, 0x28ef, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x10d2, 0x10f3, 0x10f3, 0x10d2, 0x20ae, 0x18ae, 0x20ae, 0x18ce, 0x20ce, 0x20ce, 0x20ce, 0x18f2, 0x10f4, 0x1114, 0x18f3, 0x20cf, 0x28ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x30ef, 0x30f0, 0x30f0, 0x30f0, 0x3110, 0x38f0, 0x3911, 0x3911, 0x3911, 0x3912, 0x3911, 0x4112, 0x4132, 0x4132, 0x4933, 0x4933, 0x4933, 0x4953, 0xa2b5, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xc3b5, 0x7d59, 0x36bd, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07bf, 0x07bf, 0x079f, 0x079f, 0x077f, 0x077f, 0x071f, 0x06de, 0x069e, 0x067e, 0x065e, 0x063f, 0x063f, 0x061e, 0x05ff, 0x05df, 0x05bf, 0x05bf, 0x059f, 0x059f, 0x059f, 0x057f, 0x057f, 0x057f, 0x057f, 0x057f, 0x057f, 0x057f, 0x057f, 0x057f, 0x057f, 0x057f, 0x057f, 0x059f, 0x059f, 0x059f, 0x05bf, 0x05bf, 0x05bf, 0x05df, 0x05df, 0x05df, 0x05bf, 0x057f, 0x04ff, 0x049f, 0x03ff, 0x037f, 0x02bf, 0x021f, 0x017f, 0x213d, 0x9996, 0xc9f3, 0xc9f3, 0xb9d4, 0x99b6, 0xc9d3, 0xc213, 0x0dbf, 0x069f, 0x06ff, 0x071f, 0x073f, 0x0eff, 0xa2b5, 0xc992, 0xc992, 0xc992, 0xc992, 0xc972, 0xc972, 0xa972, 0x4911, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ae, 0x18ce, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20af, 0x20ce, 0x28ce, 0x28cf, 0x28ef, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3110, 0x3910, 0x3911, 0x3911, 0x3911, 0x3911, 0x4111, 0x4131, 0x4112, 0x4132, 0x4913, 0x4933, 0x4933, 0x4953, 0x5154, 0xaab5, 0xd375, 0xd395, 0xd375, 0xd395, 0xd375, 0x94d8, 0x467c, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07df, 0x07bf, 0x07bf, 0x079f, 0x079f, 0x077f, 0x077f, 0x06de, 0x06be, 0x067e, 0x067e, 0x065e, 0x063e, 0x061e, 0x05fe, 0x05de, 0x05de, 0x05be, 0x059f, 0x057f, 0x057f, 0x055f, 0x055f, 0x053f, 0x053f, 0x053f, 0x053f, 0x053f, 0x053f, 0x053f, 0x053f, 0x053f, 0x053f, 0x053f, 0x053f, 0x053f, 0x055f, 0x055f, 0x055f, 0x057f, 0x057f, 0x057f, 0x057f, 0x057f, 0x055f, 0x04ff, 0x04bf, 0x041f, 0x039f, 0x031f, 0x025f, 0x01bf, 0x013f, 0x00bf, 0x40fb, 0xb1b5, 0xc9d2, 0xb1d5, 0xb1d4, 0xc9b3, 0x6399, 0x061f, 0x06df, 0x071f, 0x073f, 0x073f, 0x0eff, 0xa2b5, 0xc992, 0xc992, 0xc972, 0xc972, 0xc992, 0xc972, 0xb152, 0x4111, 0x3911, 0x30f0, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x0117, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x20ce, 0x20cd, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28ce, 0x20cf, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30ef, 0x30d0, 0x28f0, 0x3110, 0x30f0, 0x30f0, 0x30f1, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x4112, 0x4132, 0x4132, 0x4132, 0x4932, 0x4933, 0x4953, 0x4953, 0x5153, 0x4a16, 0xa2b5, 0xd395, 0xd395, 0xd395, 0xd375, 0x8539, 0x1f5e, 0x07ff, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07df, 0x07df, 0x07bf, 0x07bf, 0x079f, 0x07bf, 0x075f, 0x06be, 0x069d, 0x067d, 0x065d, 0x063d, 0x063d, 0x061d, 0x05fe, 0x05de, 0x05de, 0x05be, 0x059e, 0x057e, 0x055f, 0x053f, 0x053f, 0x051f, 0x051f, 0x04ff, 0x04ff, 0x04ff, 0x04ff, 0x04ff, 0x04ff, 0x04ff, 0x04ff, 0x04ff, 0x04ff, 0x04ff, 0x051f, 0x051f, 0x051f, 0x051f, 0x051f, 0x051f, 0x053f, 0x053f, 0x051f, 0x04df, 0x04bf, 0x043f, 0x03df, 0x035f, 0x02bf, 0x021f, 0x017f, 0x00ff, 0x009f, 0x087f, 0x7119, 0xc9d3, 0xb1d4, 0xb9d3, 0xc9b3, 0x1cfe, 0x065f, 0x06ff, 0x071f, 0x073f, 0x073f, 0x1ebe, 0xb9f3, 0xc993, 0xc972, 0xc992, 0xc972, 0xc973, 0xc952, 0xb152, 0x4111, 0x3910, 0x38f0, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x011a, 0x0139, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x20cd, 0x20ce, 0x20ae, 0x20ae, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x20cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28cf, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3910, 0x3911, 0x3911, 0x3911, 0x3911, 0x4132, 0x4132, 0x4132, 0x4932, 0x4933, 0x4933, 0x4933, 0x4953, 0x4a15, 0x3439, 0x16bd, 0x8519, 0xd395, 0xd395, 0xd395, 0x94d8, 0x1f5e, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x071e, 0x069d, 0x069d, 0x067d, 0x065d, 0x063d, 0x063d, 0x061d, 0x05fd, 0x05dd, 0x05bd, 0x059d, 0x059e, 0x057e, 0x055e, 0x053e, 0x051e, 0x04ff, 0x04ff, 0x04df, 0x04bf, 0x04bf, 0x04bf, 0x049f, 0x049f, 0x049f, 0x049f, 0x049f, 0x04bf, 0x04bf, 0x04bf, 0x04bf, 0x04bf, 0x04bf, 0x04df, 0x04bf, 0x04df, 0x04df, 0x04df, 0x04bf, 0x049f, 0x043f, 0x03df, 0x035f, 0x02ff, 0x025f, 0x01bf, 0x013f, 0x00df, 0x007f, 0x005f, 0x185e, 0x8957, 0x61b9, 0xc9d3, 0x9a96, 0x059f, 0x067f, 0x06ff, 0x071f, 0x073f, 0x075f, 0x267d, 0xb9d3, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc952, 0xb152, 0x4111, 0x38f1, 0x30f0, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18cf, 0x00f7, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x011a, 0x00f6, 0x18ce, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x00f8, 0x10d0, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28cf, 0x20cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3110, 0x38f1, 0x38f1, 0x3911, 0x3911, 0x4111, 0x4112, 0x4132, 0x4112, 0x4932, 0x4932, 0x4933, 0x4933, 0x69b4, 0x6336, 0x6cd9, 0x4e5b, 0x07df, 0x8539, 0xd395, 0xd395, 0xbc17, 0x3e9c, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07ff, 0x07df, 0x07df, 0x07df, 0x07bf, 0x07df, 0x06bd, 0x069c, 0x069c, 0x067c, 0x065c, 0x065c, 0x063c, 0x061c, 0x05fc, 0x05dc, 0x05bc, 0x05bd, 0x059d, 0x057d, 0x055d, 0x053e, 0x051e, 0x04fe, 0x04de, 0x04be, 0x04bf, 0x049f, 0x047f, 0x047f, 0x047f, 0x045f, 0x045f, 0x045f, 0x047f, 0x047f, 0x047f, 0x047f, 0x047f, 0x047f, 0x047f, 0x047f, 0x047f, 0x047f, 0x049f, 0x047f, 0x045f, 0x041f, 0x03df, 0x037f, 0x031f, 0x029f, 0x021f, 0x017f, 0x011f, 0x00bf, 0x005f, 0x001f, 0x001f, 0x00ff, 0x89b7, 0xc9b3, 0x447b, 0x065f, 0x06bf, 0x071f, 0x073f, 0x073f, 0x075f, 0x3d9b, 0xc972, 0xc972, 0xc972, 0xc972, 0xc952, 0xc952, 0xc952, 0xa132, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x20ae, 0x20cd, 0x18ad, 0x18d0, 0x00f9, 0x0119, 0x0119, 0x0119, 0x00fa, 0x0119, 0x0119, 0x011a, 0x08f4, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0118, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x3110, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x3931, 0x40f1, 0x4111, 0x4132, 0x4132, 0x4132, 0x61b3, 0x9274, 0xb2f5, 0xc355, 0xd395, 0xd395, 0xd395, 0xbc16, 0x469d, 0x8539, 0xd376, 0xd375, 0x6dba, 0x0f9f, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07df, 0x07df, 0x07df, 0x077f, 0x06bc, 0x06bb, 0x069b, 0x067b, 0x065b, 0x063b, 0x063b, 0x061b, 0x05fb, 0x05db, 0x05bb, 0x059c, 0x059c, 0x057c, 0x055c, 0x053d, 0x051d, 0x04fd, 0x04dd, 0x04be, 0x049e, 0x047f, 0x047f, 0x045f, 0x043f, 0x043f, 0x041f, 0x041f, 0x041f, 0x041f, 0x041f, 0x043f, 0x043f, 0x043f, 0x043f, 0x043f, 0x043f, 0x043f, 0x043f, 0x043f, 0x041f, 0x03ff, 0x03bf, 0x037f, 0x033f, 0x02bf, 0x023f, 0x01df, 0x015f, 0x00df, 0x009f, 0x005f, 0x001f, 0x005f, 0x097f, 0xb9b3, 0xb214, 0x0dbf, 0x06ff, 0x075f, 0x073f, 0x073f, 0x075f, 0x077f, 0x6479, 0xc972, 0xc972, 0xc952, 0xc952, 0xc952, 0xc952, 0xc932, 0x9132, 0x3911, 0x3111, 0x30f0, 0x28f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x18ad, 0x18d0, 0x00f9, 0x0119, 0x00f9, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x08f4, 0x20cd, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x08f5, 0x0119, 0x00f9, 0x18d0, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x30ef, 0x30f0, 0x28f0, 0x30f0, 0x3110, 0x38f0, 0x38f1, 0x3911, 0x3911, 0x3912, 0x4111, 0x4132, 0x4132, 0x5152, 0x8234, 0xc335, 0xd395, 0xd395, 0xd395, 0xd395, 0xac57, 0x7d7a, 0x469c, 0x0f9f, 0xa4b8, 0xd395, 0x8539, 0x1f5e, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07ff, 0x07df, 0x075d, 0x06bb, 0x06bb, 0x069a, 0x067a, 0x065a, 0x065a, 0x063a, 0x061a, 0x05fa, 0x05da, 0x05db, 0x05bb, 0x059b, 0x057b, 0x055b, 0x053c, 0x053c, 0x051c, 0x04fc, 0x04dd, 0x04bd, 0x047e, 0x047e, 0x045e, 0x043f, 0x041f, 0x03ff, 0x03ff, 0x03df, 0x03df, 0x03df, 0x03df, 0x03df, 0x03df, 0x03df, 0x03df, 0x03df, 0x03df, 0x03df, 0x03df, 0x03df, 0x03df, 0x03bf, 0x035f, 0x031f, 0x02df, 0x027f, 0x01ff, 0x019f, 0x011f, 0x00bf, 0x007f, 0x003f, 0x001f, 0x009f, 0x39db, 0xc992, 0x6399, 0x069f, 0x079f, 0x07ff, 0x07df, 0x07bf, 0x077f, 0x079f, 0x9af6, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc932, 0x7112, 0x3110, 0x30f0, 0x30ef, 0x28f0, 0x28ef, 0x28ce, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20cd, 0x20ce, 0x20ae, 0x18cf, 0x00f9, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x011a, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x00f9, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08f3, 0x08d3, 0x10d2, 0x20ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x3911, 0x4112, 0x4132, 0x4132, 0x5193, 0x9274, 0xcb75, 0xd395, 0xd395, 0xd395, 0xc3d6, 0x6dba, 0x1f7e, 0x07ff, 0x07ff, 0x36dd, 0xbc17, 0x8539, 0x1f5e, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07df, 0x071b, 0x06da, 0x06ba, 0x06ba, 0x0699, 0x0679, 0x0659, 0x0639, 0x0619, 0x0619, 0x05f9, 0x05da, 0x05ba, 0x059a, 0x057a, 0x055a, 0x055b, 0x053b, 0x051b, 0x04fc, 0x04dc, 0x04bc, 0x049d, 0x047d, 0x045d, 0x043e, 0x041e, 0x03fe, 0x03df, 0x03df, 0x03bf, 0x03bf, 0x039f, 0x039f, 0x039f, 0x039f, 0x039f, 0x039f, 0x039f, 0x039f, 0x039f, 0x039f, 0x039f, 0x037f, 0x035f, 0x031f, 0x02df, 0x027f, 0x023f, 0x01bf, 0x015f, 0x00ff, 0x009f, 0x005f, 0x001f, 0x003f, 0x011f, 0x99b6, 0xb9d3, 0x0d9f, 0x06df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x0f7e, 0xb9b3, 0xc952, 0xc952, 0xc952, 0xc952, 0xc931, 0xc932, 0xc132, 0x6111, 0x38f0, 0x30f0, 0x28f0, 0x30ef, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x18ce, 0x08f5, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x0117, 0x0119, 0x00f9, 0x18b0, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x3110, 0x3910, 0x3911, 0x3911, 0x3912, 0x4132, 0x4132, 0x6173, 0xa2b4, 0xd395, 0xd375, 0xd395, 0xd395, 0xc3d6, 0x6dba, 0x0fbf, 0x07ff, 0x07df, 0x07ff, 0x07df, 0x1f7e, 0x07df, 0x07ff, 0x07ff, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x06f9, 0x06f9, 0x06d9, 0x06b8, 0x0698, 0x0698, 0x0678, 0x0658, 0x0638, 0x0638, 0x0618, 0x05f8, 0x05d8, 0x05b8, 0x0598, 0x0579, 0x0559, 0x0559, 0x051a, 0x04fa, 0x04db, 0x04bb, 0x049c, 0x047c, 0x045d, 0x043d, 0x041e, 0x03fe, 0x03de, 0x03bf, 0x039f, 0x039f, 0x037f, 0x037f, 0x037f, 0x035f, 0x035f, 0x035f, 0x035f, 0x035f, 0x035f, 0x035f, 0x033f, 0x033f, 0x031f, 0x02ff, 0x02bf, 0x027f, 0x023f, 0x01ff, 0x019f, 0x013f, 0x00bf, 0x007f, 0x003f, 0x001f, 0x005f, 0x197e, 0xb993, 0x6379, 0x063f, 0x073f, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x3dfb, 0xc952, 0xc952, 0xc932, 0xc932, 0xc932, 0xc932, 0xc912, 0xb912, 0x4111, 0x30f0, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x08f6, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f5, 0x20ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x20ae, 0x18ae, 0x00f7, 0x0119, 0x00f8, 0x18d0, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0117, 0x00f7, 0x0119, 0x0119, 0x08f4, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28ef, 0x28cf, 0x28ef, 0x30ef, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x3911, 0x4111, 0x4952, 0x79f3, 0xb2f4, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x94f9, 0x0fbf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x079d, 0x0719, 0x06f8, 0x06f8, 0x06d7, 0x06b7, 0x06b7, 0x0697, 0x0676, 0x0656, 0x0637, 0x0636, 0x0617, 0x05f7, 0x05d7, 0x05b7, 0x0597, 0x0578, 0x0578, 0x0538, 0x0519, 0x04f9, 0x04da, 0x04bb, 0x049b, 0x047c, 0x043c, 0x041d, 0x041d, 0x03fe, 0x03de, 0x03be, 0x039e, 0x037f, 0x035f, 0x035f, 0x033f, 0x031f, 0x031f, 0x031f, 0x031f, 0x02ff, 0x02ff, 0x02ff, 0x02ff, 0x02df, 0x02bf, 0x029f, 0x027f, 0x023f, 0x01ff, 0x019f, 0x015f, 0x00ff, 0x009f, 0x005f, 0x003f, 0x001f, 0x00bf, 0x59ba, 0xb9b3, 0x0d3f, 0x06bf, 0x079f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x7438, 0xc952, 0xc132, 0xc932, 0xc932, 0xc932, 0xc911, 0xc912, 0xa111, 0x3911, 0x30f0, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x08f5, 0x011a, 0x0119, 0x00fa, 0x0119, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0139, 0x00f8, 0x18b0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x10d3, 0x011a, 0x00f9, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x5151, 0x79f3, 0xa2b4, 0xcb75, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xc3d6, 0x469c, 0x07ff, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0xc335, 0x45d7, 0x0738, 0x0717, 0x06f6, 0x06f6, 0x06d6, 0x06b5, 0x06b5, 0x0695, 0x0675, 0x0655, 0x0635, 0x0615, 0x05f5, 0x05f5, 0x05d6, 0x05b6, 0x0597, 0x0557, 0x0538, 0x0518, 0x04f9, 0x04d9, 0x049a, 0x047b, 0x045b, 0x043c, 0x041c, 0x03dd, 0x03dd, 0x03be, 0x039e, 0x037e, 0x035f, 0x033f, 0x033f, 0x031f, 0x02ff, 0x02df, 0x02df, 0x02bf, 0x02bf, 0x02bf, 0x02bf, 0x029f, 0x029f, 0x027f, 0x025f, 0x021f, 0x01ff, 0x01bf, 0x017f, 0x011f, 0x00df, 0x009f, 0x003f, 0x001f, 0x003f, 0x013f, 0xb174, 0x6339, 0x05ff, 0x071f, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x0f9f, 0xb992, 0xc932, 0xc932, 0xc931, 0xc912, 0xc912, 0xc912, 0xc911, 0x8111, 0x30f0, 0x30f0, 0x28ef, 0x30ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20d0, 0x0119, 0x0119, 0x0119, 0x0139, 0x08f5, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x00f9, 0x0119, 0x18d0, 0x18cd, 0x18ad, 0x10d1, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28cf, 0x28ef, 0x28ef, 0x28ef, 0x30f0, 0x30f0, 0x59b2, 0x7a13, 0x9a94, 0xbb55, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xac77, 0x2f1e, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07bc, 0x0759, 0xabb5, 0xc314, 0x1e97, 0x0736, 0x0716, 0x0715, 0x06f4, 0x06f4, 0x06f3, 0x06d3, 0x06b3, 0x06b2, 0x0692, 0x0672, 0x0653, 0x0633, 0x0613, 0x05f4, 0x05d4, 0x0595, 0x0575, 0x0556, 0x0517, 0x04f8, 0x04b9, 0x0499, 0x045a, 0x043b, 0x041b, 0x03fc, 0x03dd, 0x03bd, 0x039d, 0x037e, 0x035e, 0x033e, 0x033f, 0x031f, 0x02ff, 0x02df, 0x02bf, 0x02bf, 0x029f, 0x027f, 0x027f, 0x025f, 0x025f, 0x023f, 0x021f, 0x021f, 0x01df, 0x019f, 0x017f, 0x013f, 0x00ff, 0x009f, 0x007f, 0x003f, 0x001f, 0x007f, 0x399b, 0xb993, 0x055f, 0x067f, 0x079f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x45db, 0xc132, 0xc932, 0xc912, 0xc132, 0xc912, 0xc912, 0xc911, 0xc912, 0x5111, 0x38f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x18ce, 0x10d3, 0x10f4, 0x18d0, 0x18ad, 0x18ae, 0x20cd, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x00f9, 0x10d0, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x08d4, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x20cd, 0x20ae, 0x20ad, 0x20ae, 0x18ce, 0x20ae, 0x20ce, 0x20ce, 0x28ae, 0x20ce, 0x28ee, 0x5171, 0x69d2, 0x8232, 0xaaf4, 0xc334, 0xd375, 0xd3b5, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x757a, 0x0fbf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07bd, 0x079b, 0x077a, 0x0779, 0x74d6, 0xd2d4, 0x9bf5, 0x0756, 0x0735, 0x0734, 0x0734, 0x0733, 0x0712, 0x0711, 0x0711, 0x06f0, 0x06f0, 0x06d0, 0x06af, 0x06af, 0x066f, 0x0650, 0x0631, 0x0611, 0x05d2, 0x0594, 0x0554, 0x0515, 0x04f7, 0x04b8, 0x0478, 0x0459, 0x043a, 0x03fb, 0x03bc, 0x03bc, 0x039d, 0x037d, 0x035e, 0x033e, 0x031f, 0x031f, 0x02ff, 0x02df, 0x02bf, 0x02bf, 0x027f, 0x027f, 0x025f, 0x023f, 0x023f, 0x021f, 0x01ff, 0x01df, 0x01bf, 0x019f, 0x017f, 0x013f, 0x011f, 0x00bf, 0x007f, 0x005f, 0x001f, 0x001f, 0x00df, 0xa175, 0x33bc, 0x05df, 0x06ff, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x92d5, 0xc911, 0xc132, 0xc912, 0xc912, 0xc8f2, 0xc112, 0xc912, 0xa8f1, 0x3110, 0x30f0, 0x30ef, 0x28ef, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f8, 0x18cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x0117, 0x0119, 0x0119, 0x10cf, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x08f5, 0x0119, 0x0119, 0x00f7, 0x00f7, 0x011a, 0x011a, 0x08f5, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ad, 0x390f, 0x4970, 0x59b0, 0x7a32, 0x9293, 0xaad3, 0xcb55, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0x9cb8, 0x271d, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07de, 0x07dd, 0x07bc, 0x079b, 0x079a, 0x079a, 0x0779, 0x55b7, 0xd2b4, 0xd2b4, 0x4db5, 0x0775, 0x0774, 0x0753, 0x0773, 0x0752, 0x0750, 0x0750, 0x074f, 0x074e, 0x074d, 0x074d, 0x074c, 0x072b, 0x072b, 0x072a, 0x070a, 0x06ea, 0x06ac, 0x064d, 0x05d0, 0x0573, 0x04f5, 0x04b6, 0x0478, 0x0438, 0x041a, 0x03fb, 0x03bc, 0x039c, 0x037c, 0x033d, 0x033d, 0x031e, 0x02fe, 0x02ff, 0x02df, 0x02bf, 0x029f, 0x029f, 0x027f, 0x025f, 0x023f, 0x021f, 0x01ff, 0x01df, 0x01bf, 0x019f, 0x017f, 0x015f, 0x013f, 0x011f, 0x00df, 0x009f, 0x005f, 0x003f, 0x001f, 0x003f, 0x213d, 0x1b1e, 0x051f, 0x065f, 0x077f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x1f3d, 0xc912, 0xc912, 0xc112, 0xc112, 0xc8f1, 0xc8f2, 0xc8f1, 0xc8f2, 0x80f1, 0x30f0, 0x30f0, 0x30ef, 0x28ef, 0x28cf, 0x28ce, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x00f9, 0x0119, 0x10d0, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x10d0, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x392f, 0xd395, 0xc374, 0xa2d3, 0xaad3, 0x7a31, 0x7a31, 0x7a11, 0x7231, 0x5190, 0x496f, 0x496f, 0x4970, 0x496f, 0x494f, 0x412f, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x4970, 0x494f, 0x496f, 0x496f, 0x69f1, 0x7a31, 0x7a31, 0x9272, 0xa2d3, 0xaaf3, 0xc355, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd375, 0xd395, 0xac57, 0x565c, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07de, 0x07bd, 0x07bc, 0x07bc, 0x07bb, 0x079a, 0x079a, 0x0799, 0x26b8, 0xcad4, 0xd2b4, 0xc314, 0x0f35, 0x0794, 0x0794, 0x0792, 0x0792, 0x0791, 0x0790, 0x078f, 0x078e, 0x078e, 0x078d, 0x078c, 0x07aa, 0x07a9, 0x07a9, 0x07a8, 0x07c7, 0x07c5, 0x07c4, 0x07e4, 0x07a4, 0x0727, 0x068a, 0x05af, 0x0496, 0x0438, 0x03f9, 0x03ba, 0x039b, 0x035c, 0x035d, 0x031d, 0x031d, 0x02fe, 0x02df, 0x02bf, 0x02bf, 0x029f, 0x027f, 0x025f, 0x025f, 0x023f, 0x021f, 0x01ff, 0x01df, 0x019f, 0x019f, 0x017f, 0x015f, 0x013f, 0x00ff, 0x00df, 0x00bf, 0x007f, 0x005f, 0x001f, 0x001f, 0x007f, 0x023f, 0x041f, 0x05bf, 0x06ff, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x6498, 0xc911, 0xc912, 0xc8f1, 0xc8f1, 0xc8f1, 0xc8f2, 0xc8f1, 0xc8d1, 0x50f1, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0118, 0x18d0, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x0119, 0x0119, 0x0117, 0x10d2, 0x08f3, 0x10d3, 0x10d2, 0x18cd, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x496f, 0xaad3, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xc3d6, 0x8539, 0x36dd, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07de, 0x07bd, 0x07bd, 0x07bc, 0x07bc, 0x07bb, 0x07ba, 0x07ba, 0x07b9, 0xd2b4, 0xd2b4, 0xd2b4, 0x6535, 0x07b5, 0x07b5, 0x07b4, 0x07b3, 0x07b2, 0x07b1, 0x07b0, 0x07af, 0x07ce, 0x07cd, 0x07cc, 0x07cb, 0x07ca, 0x07ca, 0x07c9, 0x07e8, 0x07e7, 0x07e6, 0x07e5, 0x07e5, 0x07e3, 0x07e3, 0x07e2, 0x07e1, 0x0726, 0x060c, 0x04b4, 0x03b9, 0x037b, 0x035c, 0x033d, 0x031d, 0x02de, 0x02df, 0x02be, 0x029f, 0x029f, 0x027f, 0x025f, 0x023f, 0x023f, 0x021f, 0x01ff, 0x01df, 0x019f, 0x019f, 0x015f, 0x015f, 0x013f, 0x00ff, 0x00df, 0x00bf, 0x007f, 0x007f, 0x003f, 0x001f, 0x001f, 0x011f, 0x02ff, 0x04df, 0x063f, 0x077f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x0f9f, 0xb972, 0xc8f2, 0xc8f2, 0xc0f1, 0xc8f2, 0xc0f2, 0xc0f1, 0xc8d1, 0xa0f1, 0x30f0, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28ce, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x011a, 0x0119, 0x10cf, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x00f9, 0x18b0, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d0, 0x00f9, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x412f, 0x8a72, 0xc334, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd375, 0xac57, 0x469c, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x467c, 0x8519, 0x8519, 0x36dd, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07de, 0x07de, 0x07de, 0x07dd, 0x07dc, 0x07dc, 0x07db, 0x07db, 0x07da, 0x07da, 0x9bf5, 0xd2b4, 0xd2b4, 0xc2f4, 0x0f77, 0x07d6, 0x07d5, 0x07d4, 0x07d4, 0x07d3, 0x07d2, 0x07d1, 0x07d0, 0x07ef, 0x07ee, 0x07ed, 0x07ec, 0x07ec, 0x07ea, 0x07e9, 0x07e9, 0x07e7, 0x07e6, 0x07e6, 0x07e5, 0x07e5, 0x07e4, 0x07e4, 0x07e3, 0x07e3, 0x07e2, 0x0785, 0x060c, 0x04d3, 0x035b, 0x031c, 0x02de, 0x02de, 0x02be, 0x029f, 0x027f, 0x025f, 0x025f, 0x023f, 0x021f, 0x01ff, 0x01df, 0x01bf, 0x019f, 0x019f, 0x017f, 0x015f, 0x013f, 0x011f, 0x00df, 0x00bf, 0x009f, 0x007f, 0x005f, 0x001f, 0x001f, 0x003f, 0x01df, 0x03bf, 0x059f, 0x06df, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x4d7a, 0xc111, 0xc0f1, 0xc8f1, 0xc8f2, 0xc8d1, 0xc8f2, 0xc0d1, 0xc8d1, 0x68f1, 0x30f0, 0x30f0, 0x28f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x0117, 0x0119, 0x00f9, 0x18cf, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x00f8, 0x18d0, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x414f, 0x61d1, 0x8251, 0xa2d3, 0xbb34, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xbc16, 0x8539, 0x469c, 0x17bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x8518, 0xd355, 0xd355, 0xd335, 0xd335, 0x84f8, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07de, 0x07fe, 0x07dd, 0x07dd, 0x07bc, 0x07dc, 0x07db, 0x07db, 0x07da, 0x8c56, 0xcab4, 0xcab4, 0xd294, 0x4df7, 0x07d7, 0x07d7, 0x07d6, 0x07f5, 0x07d5, 0x07f3, 0x07f3, 0x07f2, 0x07f1, 0x07f0, 0x07ef, 0x07ee, 0x07ed, 0x07ec, 0x07eb, 0x07eb, 0x07ea, 0x07e9, 0x07e8, 0x07e8, 0x07e7, 0x07e7, 0x07e6, 0x07e6, 0x07e5, 0x07e5, 0x07e5, 0x07e5, 0x07e4, 0x07a6, 0x060e, 0x03f8, 0x02de, 0x02be, 0x029f, 0x027f, 0x025f, 0x023f, 0x023f, 0x021f, 0x01ff, 0x01df, 0x01bf, 0x019f, 0x019f, 0x017f, 0x015f, 0x013f, 0x011f, 0x00df, 0x00bf, 0x009f, 0x007f, 0x005f, 0x003f, 0x001f, 0x001f, 0x00bf, 0x029f, 0x049f, 0x063f, 0x075f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xb1d3, 0xc8f1, 0xc8f2, 0xc0f1, 0xc8d1, 0xc8d1, 0xc0f1, 0xc8d1, 0xb8d1, 0x40f0, 0x30f0, 0x28f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20cf, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ce, 0x08f7, 0x0119, 0x00f9, 0x10cf, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0139, 0x00f8, 0x18b0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10d0, 0x00f9, 0x0119, 0x00f7, 0x18af, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x310e, 0x496f, 0x5990, 0x7a12, 0x7a32, 0x9272, 0xa2d3, 0xa2d3, 0xc375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xac77, 0x757a, 0x36fd, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x4e3c, 0xd355, 0xd335, 0xd355, 0xd335, 0xd335, 0xd334, 0x7539, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07fe, 0x07dd, 0x07dd, 0x07dd, 0x07dc, 0x07fc, 0x07dc, 0x07db, 0x6d38, 0xcab4, 0xd294, 0xd294, 0xab95, 0x07d8, 0x07d8, 0x07f7, 0x07f7, 0x07f6, 0x07f5, 0x07f5, 0x07f4, 0x07f3, 0x07f2, 0x07f1, 0x07f0, 0x07ef, 0x07ee, 0x07ed, 0x07ed, 0x07ec, 0x07ec, 0x07eb, 0x07ea, 0x07ea, 0x07ea, 0x07e9, 0x07e9, 0x07e8, 0x07e8, 0x07e8, 0x07e8, 0x07e7, 0x07e7, 0x07e8, 0x07c8, 0x06eb, 0x0514, 0x033c, 0x027f, 0x025f, 0x023f, 0x021f, 0x01ff, 0x01df, 0x01bf, 0x019f, 0x019f, 0x017f, 0x015f, 0x013f, 0x011f, 0x00ff, 0x00df, 0x00bf, 0x009f, 0x009f, 0x005f, 0x005f, 0x003f, 0x001f, 0x001f, 0x015f, 0x037f, 0x057f, 0x06df, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x4d5a, 0xc8f1, 0xc8d1, 0xc0f1, 0xc8d1, 0xc8d1, 0xc0d1, 0xc0d1, 0xc8b1, 0x78d1, 0x3110, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0117, 0x0117, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x0117, 0x0119, 0x00f9, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18af, 0x0118, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x496f, 0x496f, 0x4970, 0x7a12, 0x7a31, 0x8252, 0xaad3, 0xa2d3, 0xbb34, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xcbd6, 0x94f8, 0x565b, 0x0fbf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xb3f6, 0xd335, 0xd335, 0xd334, 0xd335, 0xd335, 0xd335, 0xd334, 0x1f7e, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07de, 0x07dd, 0x07fd, 0x07fd, 0x07fd, 0x07dd, 0x07dc, 0x6d38, 0xcab4, 0xd294, 0xca94, 0xd294, 0x1f39, 0x07f9, 0x07f8, 0x07f8, 0x07f8, 0x07f7, 0x07f7, 0x07f6, 0x07f5, 0x07f4, 0x07f3, 0x07f2, 0x07f2, 0x07f1, 0x07f0, 0x07ef, 0x07ef, 0x07ee, 0x07ee, 0x07ed, 0x07ed, 0x07ec, 0x07ed, 0x07ec, 0x07eb, 0x07ec, 0x07eb, 0x07eb, 0x07ea, 0x07ea, 0x07ea, 0x07ca, 0x07ab, 0x076c, 0x070d, 0x05b2, 0x039b, 0x023f, 0x021f, 0x01ff, 0x01df, 0x01bf, 0x019f, 0x017f, 0x017f, 0x015f, 0x013f, 0x011f, 0x00ff, 0x00df, 0x00df, 0x009f, 0x009f, 0x007f, 0x005f, 0x003f, 0x003f, 0x001f, 0x60d9, 0x0a3f, 0x047f, 0x063f, 0x075f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xa9d3, 0xc0d1, 0xc8d1, 0xc0f1, 0xc8b1, 0xc0d1, 0xc8b1, 0xc0b1, 0xb8b1, 0x48f1, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x18ae, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x011a, 0x00f8, 0x10d0, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x00f9, 0x10d0, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18d0, 0x00f9, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x18cd, 0x20ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x4970, 0x4970, 0x5990, 0x7a31, 0x7231, 0x7a31, 0x7a31, 0x9ab3, 0xaad4, 0xa2d4, 0xb314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0x94f8, 0x565c, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xd335, 0xd334, 0xd335, 0xd335, 0xd335, 0xd335, 0xd314, 0xd315, 0x5ddb, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fd, 0x07fd, 0x6d58, 0xd294, 0xd293, 0xca94, 0xd274, 0x4df8, 0x07fb, 0x07fa, 0x07fa, 0x07f9, 0x07f9, 0x07f8, 0x07f7, 0x07f6, 0x07f6, 0x07f5, 0x07f5, 0x07f4, 0x07f3, 0x07f3, 0x07f2, 0x07f1, 0x07f1, 0x07f0, 0x07f0, 0x07f0, 0x07ef, 0x07ef, 0x07ef, 0x07ef, 0x07ef, 0x07ee, 0x07ee, 0x07ee, 0x07ee, 0x07ee, 0x07ed, 0x07cd, 0x078e, 0x076e, 0x0710, 0x06b1, 0x0574, 0x037b, 0x01ff, 0x01df, 0x01bf, 0x019f, 0x017f, 0x017f, 0x013f, 0x013f, 0x011f, 0x00ff, 0x00df, 0x00bf, 0x009f, 0x009f, 0x007f, 0x005f, 0x003f, 0x003f, 0x001f, 0x88d6, 0x6159, 0x031f, 0x053f, 0x06df, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x4d5b, 0xc0d1, 0xc8d1, 0xc8d1, 0xc0b1, 0xc8b1, 0xc8b2, 0xc0b1, 0xc8b1, 0x90d1, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28cf, 0x20cf, 0x20cf, 0x20ce, 0x20ae, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x0119, 0x011a, 0x10d1, 0x18ad, 0x18ad, 0x10d1, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00fa, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f8, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x0117, 0x0119, 0x0119, 0x10cf, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18b0, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ae, 0x18ad, 0x18ce, 0x18ad, 0x20ae, 0x20ad, 0x20ce, 0x20ce, 0x290f, 0x5170, 0x5170, 0x69f1, 0x7a32, 0x8232, 0xaaf3, 0xaaf4, 0xcb75, 0xd395, 0xd396, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xc3b6, 0x8539, 0x1f7f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xd335, 0xd335, 0xd335, 0xd315, 0xd314, 0xd315, 0xd314, 0xd314, 0x659a, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x6d39, 0xd294, 0xca94, 0xd274, 0xca74, 0x7c96, 0x07fc, 0x07fc, 0x07fb, 0x07fb, 0x07fa, 0x07fa, 0x07f9, 0x07f8, 0x07f8, 0x07f7, 0x07f7, 0x07f6, 0x07f6, 0x07f5, 0x07f4, 0x07f4, 0x07f3, 0x07f3, 0x07f3, 0x07f2, 0x07f2, 0x07f2, 0x07f2, 0x07f2, 0x07f2, 0x07f2, 0x07f1, 0x07f1, 0x07f1, 0x07f1, 0x07f0, 0x07f1, 0x07d0, 0x0791, 0x0751, 0x0712, 0x0693, 0x0634, 0x0517, 0x02dd, 0x01bf, 0x019f, 0x017f, 0x015f, 0x015f, 0x013f, 0x011f, 0x00ff, 0x00df, 0x00bf, 0x00bf, 0x007f, 0x005f, 0x005f, 0x003f, 0x003f, 0x001f, 0x60b8, 0xb8f3, 0x09bf, 0x041f, 0x061f, 0x073f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xb1b3, 0xc0d1, 0xc0d1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0x48f1, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ae, 0x18ae, 0x00f7, 0x011a, 0x00f9, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f8, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f7, 0x011a, 0x0118, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x00f9, 0x0119, 0x10d0, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18af, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x20ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18cd, 0x18ae, 0x00f7, 0x011a, 0x011a, 0x011a, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28ce, 0x28cf, 0x28ef, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x5172, 0x61b2, 0x8a54, 0x9a94, 0xb335, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0x9c97, 0x36dd, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xac17, 0xd335, 0xd314, 0xd335, 0xd314, 0xd315, 0xd315, 0xd2f4, 0x467c, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x6d59, 0xd274, 0xca94, 0xd274, 0xca74, 0xb334, 0x07fe, 0x07fd, 0x07fd, 0x07fd, 0x07fc, 0x07fc, 0x07fb, 0x07fa, 0x07fa, 0x07fa, 0x07f9, 0x07f8, 0x07f8, 0x07f8, 0x07f7, 0x07f6, 0x07f6, 0x07f6, 0x07f5, 0x07f5, 0x07f5, 0x07f5, 0x07f5, 0x07f5, 0x07f5, 0x07f5, 0x07f5, 0x07f5, 0x07f5, 0x07f4, 0x07f4, 0x07f4, 0x07d3, 0x07b3, 0x0793, 0x0753, 0x0714, 0x06b5, 0x5516, 0x0538, 0x037c, 0x01ff, 0x017f, 0x015f, 0x013f, 0x011f, 0x011f, 0x00ff, 0x00df, 0x00bf, 0x009f, 0x009f, 0x007f, 0x005f, 0x005f, 0x003f, 0x001f, 0x6099, 0xc911, 0x491a, 0x02df, 0x051f, 0x06bf, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x6459, 0xc8b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x90d1, 0x30f1, 0x30f0, 0x30ef, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x00f7, 0x00f7, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x0118, 0x0119, 0x00f7, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x18d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ae, 0x10cf, 0x00f9, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ce, 0x00f7, 0x011a, 0x00f8, 0x10d0, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x08f5, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x20ad, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x3111, 0x3911, 0x3911, 0x4132, 0x4132, 0x5152, 0x69d3, 0x9274, 0xb2f5, 0xd395, 0xd395, 0xd375, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xa478, 0x36dd, 0x07ff, 0x07ff, 0x563c, 0xd335, 0xd334, 0xd315, 0xd315, 0xd2f4, 0xcb15, 0xbb96, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x8498, 0xca94, 0xca94, 0xd274, 0xca74, 0xca74, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fd, 0x07fd, 0x07fc, 0x07fc, 0x07fc, 0x07fb, 0x07fb, 0x07fa, 0x07fa, 0x07f9, 0x07f9, 0x07f8, 0x07f8, 0x07f8, 0x07f8, 0x07f7, 0x07f7, 0x07f7, 0x07f7, 0x07f7, 0x07f7, 0x07f7, 0x07f7, 0x07f7, 0x07f7, 0x07f7, 0x07f7, 0x07f6, 0x07f6, 0x07d6, 0x07b6, 0x0796, 0x0756, 0x0716, 0xa456, 0xbbd6, 0x3479, 0x02fd, 0x023f, 0x019f, 0x015f, 0x011f, 0x00ff, 0x00ff, 0x00bf, 0x00bf, 0x009f, 0x009f, 0x007f, 0x005f, 0x003f, 0x003f, 0x003f, 0x78b7, 0xc111, 0xa114, 0x01ff, 0x041f, 0x05ff, 0x075f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x0f9f, 0xc0b1, 0xc0d2, 0xc8b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x48f1, 0x30f0, 0x30ef, 0x28f0, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ae, 0x18b0, 0x00f9, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x10d0, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x10d0, 0x00f9, 0x0119, 0x00f7, 0x18ae, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ce, 0x08f7, 0x0119, 0x00f8, 0x10cf, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x00f9, 0x18b0, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18af, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ae, 0x20cd, 0x20cd, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28ce, 0x28cf, 0x28cf, 0x28cf, 0x28f0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x4132, 0x4132, 0x4932, 0x4933, 0x4953, 0x5154, 0x5154, 0x71f4, 0x9a75, 0xb2f5, 0xd375, 0xd375, 0xd375, 0xd355, 0xd375, 0xd355, 0xd375, 0xd355, 0xd355, 0xd335, 0xd335, 0x9c78, 0x36dd, 0x07ff, 0x9c57, 0xd335, 0xd315, 0xd334, 0xd314, 0xc355, 0x271d, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x9bf7, 0xca94, 0xd274, 0xca73, 0xca74, 0xd253, 0x2efd, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07fe, 0x07fd, 0x07fd, 0x07fd, 0x07fc, 0x07fc, 0x07fb, 0x07fb, 0x07fb, 0x07fa, 0x07fa, 0x07fa, 0x07f9, 0x07f9, 0x07f9, 0x07f9, 0x07f9, 0x07f9, 0x07fa, 0x07fa, 0x07fa, 0x07fa, 0x07fa, 0x07fa, 0x07f9, 0x07f9, 0x07f9, 0x07f8, 0x07d8, 0x07b8, 0x0797, 0x0758, 0x0ef8, 0xbbf6, 0xd395, 0x6b99, 0x025f, 0x021f, 0x01bf, 0x013f, 0x011f, 0x00ff, 0x00df, 0x00bf, 0x009f, 0x009f, 0x007f, 0x005f, 0x005f, 0x003f, 0x001f, 0x98d5, 0xc8f2, 0xc911, 0x195e, 0x033f, 0x053f, 0x06bf, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x7b76, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0x88d1, 0x30f1, 0x30f0, 0x28f0, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x10cf, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x10d2, 0x00f6, 0x0119, 0x0119, 0x0119, 0x0119, 0x0118, 0x08d5, 0x10d0, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x0118, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x18ad, 0x18ae, 0x18ae, 0x00f7, 0x011a, 0x00f9, 0x18cf, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x00f8, 0x18d0, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18b0, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x00f9, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x00fa, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x20ae, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20cf, 0x28ce, 0x28cf, 0x28cf, 0x28ef, 0x30ef, 0x30f0, 0x30f0, 0x3111, 0x3910, 0x3911, 0x4111, 0x4912, 0x4133, 0x4932, 0x4933, 0x5154, 0x5154, 0x5955, 0x5955, 0x5975, 0x6996, 0x8a16, 0xaad5, 0xcb55, 0xd375, 0xd355, 0xd354, 0xd355, 0xd335, 0xd335, 0xd335, 0xd335, 0xcb35, 0x84f9, 0x0fbf, 0x5ddb, 0xa457, 0x9c58, 0x84d8, 0x1f5e, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x9bd6, 0xca74, 0xca74, 0xca74, 0xca74, 0xca74, 0x369c, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07fe, 0x07fe, 0x07fd, 0x07fd, 0x07fd, 0x07fc, 0x07fc, 0x07fc, 0x07fb, 0x07fb, 0x07fb, 0x07fb, 0x07fb, 0x07fb, 0x07fb, 0x07fb, 0x07fb, 0x07fc, 0x07fc, 0x07fc, 0x07fc, 0x07fb, 0x07fb, 0x07fb, 0x07fb, 0x07da, 0x07da, 0x07ba, 0x079a, 0x0779, 0x2e99, 0xc3d6, 0xd395, 0x8339, 0x0a3e, 0x01df, 0x019f, 0x015f, 0x011f, 0x00ff, 0x00bf, 0x009f, 0x007f, 0x007f, 0x007f, 0x003f, 0x003f, 0x003f, 0x90d5, 0xc912, 0xc0f1, 0x7117, 0x027f, 0x049f, 0x065f, 0x077f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x269d, 0xc891, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xb8b1, 0x3110, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x18b0, 0x0118, 0x0119, 0x08f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x0117, 0x011a, 0x00f9, 0x10d0, 0x18ad, 0x20ad, 0x20ad, 0x10d1, 0x00f8, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f6, 0x18af, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x10d0, 0x0118, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x20ae, 0x18cd, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x10cf, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0139, 0x00f8, 0x18b0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18d0, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x00f9, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20cd, 0x18ce, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28ef, 0x28cf, 0x28ef, 0x28d0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x3931, 0x4132, 0x4132, 0x4933, 0x5133, 0x5153, 0x5154, 0x5154, 0x5975, 0x6175, 0x6195, 0x9255, 0x8b14, 0x4ad3, 0x7a94, 0xab14, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd315, 0xd314, 0xd335, 0xc355, 0x467c, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xc2d4, 0xca74, 0xca74, 0xd274, 0xca74, 0xd253, 0x369c, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fd, 0x07fd, 0x07fd, 0x07fd, 0x07fd, 0x07fc, 0x07fc, 0x07fc, 0x07fd, 0x07fd, 0x07fd, 0x07fd, 0x07fd, 0x07fd, 0x07fe, 0x07fe, 0x07fe, 0x07fd, 0x07fd, 0x07fd, 0x07fc, 0x07fc, 0x07db, 0x07bb, 0x07bb, 0x077b, 0x2eba, 0xc3d6, 0xd395, 0xb337, 0x09df, 0x01bf, 0x017f, 0x013f, 0x011f, 0x00df, 0x009f, 0x009f, 0x007f, 0x005f, 0x005f, 0x003f, 0x003f, 0x7896, 0xc0f1, 0xc8f1, 0xa8f3, 0x01df, 0x03df, 0x05bf, 0x071f, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xa214, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0x68f1, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x18ad, 0x18ad, 0x10d0, 0x00f9, 0x0139, 0x08f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x18d0, 0x18ad, 0x20ad, 0x18ad, 0x08f4, 0x0119, 0x011a, 0x0119, 0x08f6, 0x10d2, 0x10d0, 0x18cf, 0x18d0, 0x10d3, 0x0118, 0x0119, 0x011a, 0x00f9, 0x18cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x0119, 0x011a, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x00f9, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18af, 0x00f9, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ef, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30ef, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x4111, 0x4132, 0x4932, 0x4933, 0x5133, 0x5153, 0x5154, 0x5954, 0x6195, 0x9a75, 0xcb55, 0xcb75, 0x5bb4, 0x3b34, 0x42b3, 0x4a33, 0x6253, 0x9ab4, 0xd335, 0xd335, 0xd315, 0xd334, 0xd314, 0xd315, 0xd314, 0xd314, 0x5ddb, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x1f5e, 0xd274, 0xd274, 0xd274, 0xd274, 0xd274, 0xca53, 0x369d, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07fe, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07fe, 0x07fe, 0x07fd, 0x07dd, 0x07dd, 0x07bd, 0x079c, 0x561a, 0xd395, 0xd395, 0xab37, 0x099f, 0x015f, 0x013f, 0x011f, 0x00ff, 0x00bf, 0x009f, 0x007f, 0x007f, 0x005f, 0x003f, 0x003f, 0x305c, 0xc0f1, 0xc8f1, 0xc8d1, 0x215d, 0x033f, 0x051f, 0x06df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x5cd9, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x98d1, 0x38f0, 0x30f0, 0x30f0, 0x28cf, 0x28ef, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ce, 0x0117, 0x011a, 0x0118, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x0117, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x08f3, 0x0118, 0x0119, 0x0119, 0x10d0, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x011a, 0x00f8, 0x10d0, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ce, 0x00f7, 0x0119, 0x00f8, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f8, 0x011a, 0x00f7, 0x18ae, 0x20ae, 0x18ad, 0x18ad, 0x18cd, 0x18b0, 0x00f9, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x0117, 0x0119, 0x0119, 0x011a, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x4111, 0x4131, 0x4132, 0x4933, 0x4933, 0x5154, 0x5974, 0x9255, 0xcb55, 0xd375, 0xbb95, 0x5474, 0x3c34, 0x3bb4, 0x4333, 0x42b3, 0x4a13, 0x49f3, 0x5a32, 0x9ab4, 0xd334, 0xd335, 0xd314, 0xd314, 0xd315, 0xd314, 0xd2f4, 0x84d8, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x4ddb, 0xd274, 0xca74, 0xca73, 0xd274, 0xca54, 0xca54, 0x369c, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07fe, 0x07dd, 0x07de, 0x079d, 0x6d99, 0xd395, 0xd395, 0xab17, 0x097f, 0x011f, 0x011f, 0x00ff, 0x00bf, 0x00bf, 0x009f, 0x007f, 0x007f, 0x003f, 0x003f, 0x003f, 0xc8f1, 0xc8f1, 0xc8d1, 0x5119, 0x02df, 0x04ff, 0x06bf, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x1f1e, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x4910, 0x30f0, 0x30f0, 0x28ef, 0x28ef, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ae, 0x20ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x00f8, 0x18cf, 0x18ad, 0x20ad, 0x18ad, 0x18d0, 0x00f9, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18d0, 0x00f8, 0x0119, 0x00f8, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f8, 0x10d0, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f7, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x00f7, 0x18ae, 0x20ae, 0x18ad, 0x18ad, 0x18ae, 0x10cf, 0x00f9, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ae, 0x10d2, 0x08f3, 0x08f3, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x3910, 0x3911, 0x4112, 0x4132, 0x4132, 0x4933, 0x5133, 0x8214, 0xcb55, 0xd375, 0xd375, 0xb3d5, 0x3d55, 0x3515, 0x3495, 0x3c14, 0x3b94, 0x3b13, 0x4293, 0x4212, 0x49f3, 0x49f3, 0x5a13, 0x9ab4, 0xd314, 0xd315, 0xcb15, 0xd2f4, 0xd2f5, 0xd2f4, 0x7539, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x8c37, 0xca74, 0xd273, 0xd253, 0xca54, 0xca53, 0xd253, 0x1f5e, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07df, 0x07df, 0x94d8, 0xd396, 0xd395, 0x8299, 0x00ff, 0x00ff, 0x00ff, 0x00bf, 0x00bf, 0x009f, 0x007f, 0x005f, 0x005f, 0x003f, 0x001f, 0xc8d1, 0xc0f1, 0xc0d1, 0xa0d4, 0x027f, 0x04bf, 0x069f, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x8315, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x70f1, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x0117, 0x18cd, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x10d2, 0x10d3, 0x08f3, 0x10d1, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ae, 0x0117, 0x0119, 0x0119, 0x10cf, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x08f6, 0x0119, 0x0118, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f7, 0x011a, 0x0118, 0x10d0, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ae, 0x00f7, 0x011a, 0x0119, 0x0119, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x011a, 0x0119, 0x0117, 0x18ae, 0x20cd, 0x18ad, 0x18ae, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28ce, 0x28cf, 0x28cf, 0x28cf, 0x28f0, 0x30f0, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x4132, 0x4132, 0x4132, 0x5973, 0xb2f4, 0xd375, 0xd375, 0xd375, 0x9435, 0x3d55, 0x2d55, 0x2d75, 0x3515, 0x3c94, 0x3414, 0x3b94, 0x4313, 0x4293, 0x4a13, 0x41f3, 0x49f2, 0x4a13, 0x5a33, 0xa2b4, 0xd314, 0xd2f4, 0xd2f4, 0xd2d4, 0xd2f4, 0x4e1b, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x179f, 0xd274, 0xca53, 0xca73, 0xca53, 0xca53, 0xca53, 0xd253, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x0f9e, 0xbc16, 0xd395, 0xd395, 0x725a, 0x00bf, 0x00bf, 0x00bf, 0x009f, 0x007f, 0x007f, 0x005f, 0x005f, 0x003f, 0x001f, 0x90b5, 0xc8d1, 0xc8d1, 0xc0d1, 0x123e, 0x047f, 0x067f, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x54d9, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0x90d1, 0x38f1, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x0119, 0x0119, 0x0117, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x011a, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x00f7, 0x0119, 0x0118, 0x18d0, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18d0, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x08f6, 0x011a, 0x0119, 0x0118, 0x08f4, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0118, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ce, 0x00f7, 0x011a, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ce, 0x00f7, 0x011a, 0x00f8, 0x10d0, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x20ae, 0x18ad, 0x18ae, 0x18ad, 0x18d0, 0x00f9, 0x00f9, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28f0, 0x30f0, 0x38f0, 0x30f0, 0x3911, 0x3911, 0x4112, 0x4132, 0x8234, 0xcb55, 0xd375, 0xd375, 0xd355, 0x9435, 0x3575, 0x3575, 0x2d75, 0x3555, 0x3555, 0x3514, 0x3474, 0x3bf4, 0x3b73, 0x42f4, 0x4273, 0x4a13, 0x4213, 0x49f2, 0x49f3, 0x49f3, 0x6a33, 0xbad4, 0xd2f5, 0xd2f4, 0xd2d4, 0xc335, 0x177e, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x5d9a, 0xca54, 0xd273, 0xca54, 0xca53, 0xca53, 0xca53, 0x9bb6, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07df, 0x07df, 0x07df, 0x07bf, 0x07bf, 0x07bf, 0x079f, 0x077f, 0x077f, 0x077e, 0x07bf, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07bf, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x36dd, 0xd395, 0xd395, 0xd395, 0x51bc, 0x009f, 0x009f, 0x007f, 0x007f, 0x007f, 0x005f, 0x005f, 0x003f, 0x001f, 0x7077, 0xc0d2, 0xc8d1, 0xc0d1, 0x49fa, 0x049f, 0x069f, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x1f1e, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0x3910, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x20ad, 0x10d0, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x08f5, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x0119, 0x00f8, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d3, 0x011a, 0x0118, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f8, 0x0119, 0x0119, 0x011a, 0x011a, 0x011a, 0x08f5, 0x20ad, 0x18cd, 0x18ad, 0x18af, 0x0119, 0x0119, 0x18d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08f3, 0x10f3, 0x10d2, 0x20ad, 0x188d, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ce, 0x08f7, 0x0119, 0x00f8, 0x18b0, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x0119, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x4952, 0xaab4, 0xd375, 0xd375, 0xd375, 0xd355, 0x9435, 0x3575, 0x3575, 0x2d75, 0x2d75, 0x2d75, 0x3555, 0x54d5, 0x6475, 0x83b5, 0x8b74, 0x9b34, 0xab14, 0xaad4, 0xb2d4, 0xaad4, 0xaab4, 0xaab4, 0xb2b4, 0x6b15, 0x8a94, 0xc2d4, 0xd2f4, 0xd2d4, 0x84b8, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xb315, 0xd274, 0xca53, 0xca54, 0xca53, 0xca53, 0xd253, 0x653a, 0x07ff, 0x07ff, 0x07df, 0x07df, 0x07ff, 0x07df, 0x07df, 0x07bf, 0x07bf, 0x079f, 0x079f, 0x077f, 0x075f, 0x075f, 0x073f, 0x073f, 0x071f, 0x071e, 0x071e, 0x073e, 0x079f, 0x07df, 0x07ff, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07bf, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x7d7a, 0xd395, 0xd395, 0xc375, 0x28fe, 0x007f, 0x007f, 0x005f, 0x005f, 0x003f, 0x005f, 0x003f, 0x003f, 0x183e, 0xc0d1, 0xc0d1, 0xc0d2, 0x7996, 0x04bf, 0x067f, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xa214, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0x58f1, 0x30f0, 0x30f0, 0x30f0, 0x28cf, 0x28ef, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x00f9, 0x0119, 0x00f7, 0x18ce, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18af, 0x0119, 0x0119, 0x08f6, 0x20ae, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x0118, 0x18b0, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x08f7, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x08f4, 0x0139, 0x0119, 0x10f3, 0x18d0, 0x08f5, 0x0119, 0x0119, 0x18d0, 0x18ae, 0x18ae, 0x18cd, 0x0119, 0x011a, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x18ad, 0x18ae, 0x18ae, 0x00f7, 0x011a, 0x00f8, 0x18d0, 0x18ad, 0x18ad, 0x20cd, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x20ad, 0x18cd, 0x20ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18d0, 0x00f9, 0x0119, 0x0117, 0x18ce, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x5972, 0xcb55, 0xd375, 0xd375, 0xd375, 0xd375, 0xabd5, 0x4515, 0x54f5, 0x7c75, 0x8c35, 0xabd5, 0xcb55, 0xd335, 0xd335, 0xd334, 0xd335, 0xd335, 0xd315, 0xd314, 0xd314, 0xc355, 0x9c37, 0x659a, 0x467c, 0x0fbf, 0x07ff, 0x07ff, 0x269d, 0x9c17, 0xd2d4, 0x9c17, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x5d9a, 0xd274, 0xca53, 0xca54, 0xca53, 0xca33, 0xca33, 0xca33, 0x26dd, 0x07ff, 0x07df, 0x07df, 0x07df, 0x07df, 0x07bf, 0x079f, 0x079f, 0x077f, 0x077f, 0x075f, 0x073f, 0x071e, 0x071e, 0x06fe, 0x06fe, 0x06ff, 0x06de, 0x06de, 0x06be, 0x06be, 0x06de, 0x073e, 0x079f, 0x07bf, 0x07bf, 0x079f, 0x079f, 0x079f, 0x077f, 0x079f, 0x079f, 0x077f, 0x079f, 0x079f, 0x079f, 0x079f, 0x07bf, 0x07bf, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x0fbf, 0xc3f6, 0xd395, 0xd395, 0xaaf7, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x003f, 0x001f, 0x001f, 0xa094, 0xc0d1, 0xc8b1, 0xa8f3, 0x04bf, 0x069f, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x73d8, 0xb8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0x78f1, 0x3911, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18cf, 0x18ae, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x00f6, 0x0119, 0x08f3, 0x18ad, 0x20ad, 0x20ad, 0x00f6, 0x00f9, 0x08d4, 0x18ad, 0x18ad, 0x18ad, 0x00f8, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x18ad, 0x00f6, 0x0119, 0x10d3, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18cd, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0118, 0x18d0, 0x18ad, 0x18ad, 0x18ad, 0x188d, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18cd, 0x10cf, 0x0119, 0x00f9, 0x0117, 0x18ce, 0x188d, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x3111, 0x71f2, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd375, 0xd355, 0xd355, 0xd335, 0xd335, 0xd355, 0xd335, 0xd335, 0xcb14, 0xd334, 0xd334, 0xac16, 0x753a, 0x467d, 0x1f5e, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x369c, 0x4e1b, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x26fd, 0xc2b4, 0xca53, 0xca53, 0xca53, 0xd253, 0xca33, 0xca33, 0xa356, 0x07ff, 0x07ff, 0x07df, 0x07bf, 0x07bf, 0x079f, 0x077f, 0x077f, 0x075f, 0x073f, 0x071f, 0x071f, 0x06ff, 0x06fe, 0x06fe, 0x06de, 0x06be, 0x06be, 0x069e, 0x069e, 0x069e, 0x067e, 0x067e, 0x065e, 0x065e, 0x06be, 0x073e, 0x075f, 0x075f, 0x075f, 0x075f, 0x075f, 0x075f, 0x075f, 0x075f, 0x077f, 0x077f, 0x077f, 0x077f, 0x079f, 0x07bf, 0x07bf, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07df, 0x6dda, 0xd395, 0xd376, 0xd375, 0x79fa, 0x003f, 0x003f, 0x001f, 0x003f, 0x001f, 0x001f, 0x001f, 0x001f, 0x8896, 0xc0b1, 0xc0b1, 0xc8b1, 0x0c9f, 0x069f, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x3dbb, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xb8d1, 0xc0b1, 0xc0b1, 0x98d1, 0x3911, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ad, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x011a, 0x00f7, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x10cf, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x08f6, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x18ad, 0x00f6, 0x011a, 0x08f4, 0x18ad, 0x18ad, 0x18ad, 0x0118, 0x011a, 0x08f3, 0x20ad, 0x18ad, 0x18ad, 0x08f7, 0x0119, 0x08f3, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x011a, 0x0119, 0x18b0, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x00f9, 0x0119, 0x00f7, 0x18ce, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x9a93, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd355, 0xd355, 0xd335, 0xd335, 0xc375, 0x84f9, 0x4e3c, 0x0fbf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x0f9f, 0xab75, 0xca54, 0xd253, 0xca53, 0xca33, 0xca33, 0xd233, 0xca33, 0x4dbb, 0x07df, 0x07bf, 0x07bf, 0x079f, 0x077f, 0x075f, 0x075f, 0x073f, 0x071f, 0x071f, 0x06ff, 0x06de, 0x06de, 0x06de, 0x06be, 0x06be, 0x069e, 0x067e, 0x067e, 0x067e, 0x065e, 0x063e, 0x063e, 0x061e, 0x061e, 0x05fe, 0x05fd, 0x067d, 0x06de, 0x06fe, 0x06fe, 0x06fe, 0x06fe, 0x071e, 0x073f, 0x073f, 0x073f, 0x073e, 0x075f, 0x077f, 0x079f, 0x079f, 0x07bf, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x0fbf, 0xc3d6, 0xd375, 0xd375, 0xd355, 0x30fd, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x001f, 0x001f, 0x6058, 0xc0b1, 0xc0b1, 0xc0b1, 0x33fc, 0x06bf, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x0f9e, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xb8b1, 0xc0b1, 0xb8d1, 0xb8d1, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ad, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x08f5, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x00f9, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18cd, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x08f6, 0x0119, 0x08d5, 0x18cd, 0x18ae, 0x18ad, 0x08d4, 0x0119, 0x0119, 0x10d3, 0x10d0, 0x08f4, 0x0119, 0x0119, 0x18b0, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0118, 0x18d0, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18b0, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x30f0, 0x3910, 0xaaf4, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xb3d6, 0x7539, 0x271d, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x2efd, 0xb315, 0xca53, 0xca54, 0xca33, 0xca53, 0xca34, 0xca34, 0xca33, 0xa335, 0x07bf, 0x07bf, 0x079f, 0x077f, 0x075f, 0x073f, 0x073f, 0x071f, 0x06ff, 0x06ff, 0x06df, 0x06de, 0x06bf, 0x06be, 0x069e, 0x069e, 0x069e, 0x067e, 0x065e, 0x065e, 0x063e, 0x061e, 0x061e, 0x05fe, 0x05de, 0x05bd, 0x05be, 0x059d, 0x055e, 0x055e, 0x05be, 0x05fe, 0x061d, 0x067e, 0x06be, 0x06fe, 0x06fe, 0x071f, 0x071e, 0x073f, 0x073f, 0x075f, 0x077f, 0x079f, 0x07bf, 0x07bf, 0x07df, 0x07ff, 0x07ff, 0x8539, 0xd375, 0xd355, 0xd355, 0xbaf6, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x403b, 0xc8b1, 0xc0b1, 0xc0b1, 0x6318, 0x06bf, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xa9b3, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xb8d1, 0x4910, 0x3910, 0x30f0, 0x30f0, 0x28cf, 0x28ef, 0x28cf, 0x20cf, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x10d3, 0x10d3, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x011a, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x08f3, 0x011a, 0x0118, 0x18ad, 0x18cd, 0x18ad, 0x18ce, 0x00f8, 0x011a, 0x0119, 0x011a, 0x0119, 0x011a, 0x08f5, 0x18ad, 0x20cd, 0x18ad, 0x10d0, 0x011a, 0x0119, 0x10d0, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x0117, 0x011a, 0x0119, 0x18af, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ae, 0x18cf, 0x00f8, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x20cf, 0x28cf, 0x28cf, 0x28ef, 0x30cf, 0x3910, 0xb314, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd354, 0xd355, 0xd355, 0xcb96, 0x8518, 0x36dd, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x0fbe, 0x653a, 0xca54, 0xca53, 0xd253, 0xca53, 0xca53, 0xca33, 0xca33, 0xca33, 0xca33, 0x2e9d, 0x077f, 0x077f, 0x075f, 0x073f, 0x073f, 0x071f, 0x06ff, 0x06fe, 0x06df, 0x06de, 0x06bf, 0x06be, 0x06bf, 0x069e, 0x067e, 0x067e, 0x065e, 0x065e, 0x063e, 0x061e, 0x061e, 0x05fe, 0x05de, 0x05be, 0x05be, 0x059e, 0x057e, 0x053e, 0x051e, 0x04fe, 0x04be, 0x049e, 0x041e, 0x03dd, 0x04de, 0x065e, 0x06be, 0x06de, 0x06de, 0x06fe, 0x071f, 0x073e, 0x077f, 0x079f, 0x079f, 0x07bf, 0x07df, 0x07df, 0x07ff, 0x36dd, 0xd355, 0xd355, 0xd355, 0xd335, 0x699a, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0xb8b2, 0xc091, 0xc0b1, 0x7a96, 0x06bf, 0x079f, 0x07df, 0x07df, 0x07df, 0x07df, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x82f5, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb8d1, 0x60f1, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28ef, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x00f7, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x20cd, 0x10d2, 0x08d4, 0x08f3, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x011a, 0x0119, 0x10d2, 0x18ad, 0x20ad, 0x18ad, 0x18af, 0x08f6, 0x0119, 0x0119, 0x00f9, 0x08f4, 0x18ad, 0x20ae, 0x18ad, 0x18ae, 0x08f5, 0x011a, 0x00f8, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f7, 0x0119, 0x08f7, 0x18ce, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x10d0, 0x0118, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x20ad, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28ce, 0x20cf, 0x28cf, 0x28ef, 0x3910, 0xb314, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd355, 0xbbd6, 0x5dfb, 0x0fbf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x0fbf, 0x5d9a, 0xb315, 0xd254, 0xca53, 0xd254, 0xca53, 0xca53, 0xca33, 0xd233, 0xca33, 0xca33, 0x64d9, 0x077f, 0x073f, 0x073f, 0x071f, 0x06ff, 0x06ff, 0x06df, 0x06df, 0x06df, 0x06bf, 0x06be, 0x069f, 0x069f, 0x067e, 0x065e, 0x065e, 0x063e, 0x063e, 0x061e, 0x05fe, 0x05fe, 0x05de, 0x05be, 0x059e, 0x059e, 0x055e, 0x055e, 0x051e, 0x04fe, 0x04de, 0x049e, 0x043d, 0x03de, 0x03be, 0x039e, 0x037e, 0x03fe, 0x05fe, 0x069e, 0x069e, 0x06be, 0x06fe, 0x071e, 0x073f, 0x075f, 0x079f, 0x079f, 0x07df, 0x07df, 0x07df, 0x07ff, 0xbbf6, 0xd355, 0xd335, 0xd335, 0xc2f5, 0x083f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x9095, 0xc8b1, 0xc8b1, 0x91f5, 0x067f, 0x06ff, 0x073f, 0x075f, 0x077f, 0x07bf, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x54d9, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xb8d1, 0xc0d1, 0xb8d1, 0xb8d1, 0x80f2, 0x3911, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x20cd, 0x20ae, 0x18ad, 0x18ae, 0x20ae, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ae, 0x18ae, 0x0117, 0x0119, 0x0117, 0x18ae, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ae, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x00f6, 0x011a, 0x0117, 0x18ce, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x20ad, 0x18ad, 0x18ad, 0x18cd, 0x18d0, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ce, 0x08f7, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f6, 0x18ce, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28ce, 0x28cf, 0x28cf, 0x3110, 0xb314, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0x9c77, 0x563b, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x1f7e, 0x65db, 0x7cf9, 0x9c57, 0x9c57, 0x9c57, 0x9c57, 0x9c37, 0x9c37, 0x9c37, 0x9c37, 0x7539, 0x6d7a, 0x6579, 0x5dbb, 0x36bd, 0x36bd, 0x36bc, 0x2efd, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x0fbf, 0x36bd, 0x5d9a, 0x8c37, 0xd274, 0xd273, 0xd254, 0xca53, 0xd254, 0xd253, 0xca33, 0xd233, 0xca34, 0xca13, 0xca33, 0x8418, 0x075f, 0x073f, 0x071f, 0x06ff, 0x06ff, 0x06df, 0x06df, 0x06df, 0x06bf, 0x06bf, 0x069e, 0x069f, 0x067e, 0x067e, 0x065e, 0x065e, 0x063e, 0x061e, 0x061e, 0x05fe, 0x05de, 0x05de, 0x05be, 0x05be, 0x057e, 0x055e, 0x051e, 0x051e, 0x04fe, 0x04be, 0x045e, 0x03fe, 0x03be, 0x039e, 0x037e, 0x037e, 0x035e, 0x033e, 0x035e, 0x061d, 0x067e, 0x067e, 0x069e, 0x06be, 0x06fe, 0x073f, 0x075f, 0x077f, 0x079f, 0x07df, 0x07df, 0x07ff, 0x7d59, 0xd335, 0xd335, 0xd335, 0xd314, 0x699a, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x007f, 0x60d8, 0xc0b1, 0xc0b1, 0xb8f2, 0x05df, 0x061f, 0x065f, 0x06df, 0x073f, 0x077f, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x363c, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xb8d1, 0xc0d1, 0xb8d1, 0xb8d1, 0x90d1, 0x3911, 0x30f0, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x18ae, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x00f8, 0x0119, 0x0117, 0x18ae, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x20ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x10d0, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18d0, 0x00f8, 0x011a, 0x00f8, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x00f9, 0x0119, 0x0119, 0x011a, 0x08d5, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x28ce, 0x28ce, 0x30ef, 0xb314, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd375, 0xd355, 0x9c77, 0x3edd, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x659a, 0xd315, 0xd314, 0xd315, 0xd314, 0xd314, 0xd314, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2d4, 0xd2d4, 0xd2f4, 0xcad4, 0xd2d4, 0xd2b4, 0xd2b4, 0xd2b4, 0xcab4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd294, 0xd294, 0xca94, 0xca94, 0xca94, 0xca94, 0xca74, 0xca74, 0xca73, 0xca73, 0xd274, 0xca53, 0xca53, 0xca53, 0xca53, 0xca53, 0xca53, 0xca33, 0xca33, 0xca33, 0xab15, 0x0edf, 0x06ff, 0x06ff, 0x06df, 0x06df, 0x06bf, 0x06bf, 0x06df, 0x06bf, 0x069f, 0x069f, 0x067e, 0x067f, 0x067e, 0x065e, 0x063f, 0x061e, 0x061e, 0x05fe, 0x05fe, 0x05de, 0x05be, 0x059e, 0x059e, 0x055e, 0x053e, 0x051e, 0x04fe, 0x04de, 0x049e, 0x043e, 0x03be, 0x039e, 0x039e, 0x035e, 0x035e, 0x033e, 0x033e, 0x031e, 0x02fe, 0x037e, 0x05fe, 0x065e, 0x067e, 0x069e, 0x06de, 0x06fe, 0x075f, 0x077f, 0x079f, 0x07bf, 0x07df, 0x07ff, 0x271d, 0xd335, 0xd314, 0xd315, 0xd315, 0xc2d5, 0x083f, 0x001f, 0x001f, 0x001f, 0x001f, 0x009f, 0x60d8, 0xc0b1, 0xc0b2, 0xc0b1, 0x04bf, 0x053f, 0x05bf, 0x067f, 0x06df, 0x075f, 0x079f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xc0b1, 0xb8d1, 0x98d1, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ce, 0x20ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x08f3, 0x0119, 0x011a, 0x08f7, 0x10d0, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x10d2, 0x0118, 0x0119, 0x0119, 0x10d0, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28ce, 0x20ce, 0x30ef, 0xb314, 0xd375, 0xd375, 0xd375, 0xd375, 0xd355, 0xd375, 0xac37, 0x36dd, 0x07ff, 0x07ff, 0x07ff, 0x0ebd, 0x1d7b, 0x1c99, 0x32f5, 0x3a75, 0x6193, 0x69b3, 0x79f4, 0x8a14, 0xb294, 0xcaf4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2b4, 0xd2b4, 0xcad4, 0xd2b4, 0xcab4, 0xd2b4, 0xd2b4, 0xd294, 0xd294, 0xd294, 0xd294, 0xca94, 0xca94, 0xca74, 0xca74, 0xd274, 0xd274, 0xca53, 0xca54, 0xca54, 0xca53, 0xd253, 0xca53, 0xca33, 0xca33, 0xca33, 0xca33, 0x8b97, 0x35fd, 0x5d7b, 0x6d3a, 0x6d3a, 0x5d5b, 0x35fd, 0x06bf, 0x0e7e, 0x457c, 0x6c99, 0x6479, 0x6459, 0x4cba, 0x0e1e, 0x063e, 0x063e, 0x061e, 0x05fe, 0x05fe, 0x05fe, 0x05de, 0x05be, 0x059e, 0x057e, 0x055e, 0x051e, 0x051e, 0x04fe, 0x04de, 0x047e, 0x03de, 0x03be, 0x037e, 0x037f, 0x035e, 0x033e, 0x033e, 0x031e, 0x02fe, 0x02fe, 0x02fe, 0x02de, 0x03fe, 0x05be, 0x063e, 0x065e, 0x069e, 0x06de, 0x071f, 0x073e, 0x077f, 0x079f, 0x07bf, 0x07df, 0x07ff, 0xbbb6, 0xd314, 0xd315, 0xd2f4, 0xd2f4, 0x697a, 0x001f, 0x001f, 0x001f, 0x003f, 0x007f, 0x48fa, 0xc0b1, 0xc0b1, 0xc0b1, 0x331c, 0x047f, 0x053f, 0x05ff, 0x069f, 0x073f, 0x079f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x9a14, 0xb8d1, 0xb8d1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x20cf, 0x20ae, 0x18cf, 0x08f6, 0x011a, 0x0119, 0x0119, 0x08f4, 0x18ce, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x08d4, 0x0119, 0x0119, 0x0119, 0x08f6, 0x10d2, 0x10d0, 0x18d0, 0x18d1, 0x10d2, 0x00f8, 0x0119, 0x011a, 0x0119, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x20ad, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x9273, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xc3b6, 0x5dfb, 0x07ff, 0x0e3b, 0x1c98, 0x2ad5, 0x3911, 0x3911, 0x3912, 0x4111, 0x4112, 0x4112, 0x4112, 0x4132, 0x4132, 0x4132, 0x4132, 0x4933, 0x5173, 0x79d3, 0x9a54, 0xc294, 0xd2f4, 0xd2d5, 0xcad4, 0xd2d4, 0xd2b4, 0xcad4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd294, 0xd294, 0xd294, 0xd294, 0xca94, 0xca94, 0xca74, 0xca74, 0xca74, 0xca73, 0xd253, 0xca53, 0xca53, 0xca53, 0xca53, 0xca53, 0xca33, 0xca33, 0xca33, 0xca33, 0x99d4, 0x6358, 0xd395, 0xd396, 0xd395, 0xd395, 0xd375, 0xd375, 0x06bf, 0x5cfa, 0xd2b4, 0xca94, 0xca33, 0xca13, 0xc9d3, 0xb9d3, 0x4c5a, 0x061e, 0x061e, 0x05de, 0x05de, 0x05be, 0x059e, 0x059e, 0x057e, 0x053e, 0x051e, 0x051d, 0x04de, 0x04be, 0x043e, 0x03be, 0x03be, 0x037f, 0x0b7e, 0x337c, 0x333c, 0x335c, 0x333c, 0x333c, 0x331c, 0x331c, 0x32fc, 0x32fc, 0x32dc, 0x2b7c, 0x05de, 0x061e, 0x065e, 0x069e, 0x06de, 0x071f, 0x073f, 0x077f, 0x07bf, 0x07df, 0x07df, 0x84f9, 0xd314, 0xcb14, 0xcaf4, 0xd2d5, 0xb275, 0x001f, 0x001f, 0x001f, 0x001f, 0x005f, 0x08df, 0xb8d2, 0xc0b1, 0xc0b1, 0x3a7b, 0x03ff, 0x04df, 0x05bf, 0x067f, 0x071f, 0x079f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x7b77, 0xb8d1, 0xb8b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x4111, 0x38f1, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28cf, 0x20cf, 0x20ae, 0x20cf, 0x0918, 0x013a, 0x011a, 0x0119, 0x011a, 0x0119, 0x08f6, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ae, 0x00f8, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d1, 0x0118, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x011a, 0x08f6, 0x18cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x10d2, 0x0119, 0x011a, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0139, 0x00f9, 0x10d2, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x7a32, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0x9c78, 0x261b, 0x1b96, 0x3171, 0x30f0, 0x38f1, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x4111, 0x3912, 0x4112, 0x4112, 0x4112, 0x4132, 0x4112, 0x4132, 0x4132, 0x4912, 0x4132, 0x6172, 0x81f3, 0xaa73, 0xcad4, 0xd2b4, 0xcab4, 0xd2b4, 0xd2b4, 0xcab4, 0xcab4, 0xca94, 0xca94, 0xd294, 0xca94, 0xca94, 0xca74, 0xca74, 0xca74, 0xd274, 0xca54, 0xd274, 0xca53, 0xca53, 0xca53, 0xd233, 0xca33, 0xca33, 0xd233, 0xc234, 0x7994, 0x5975, 0xb315, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xc375, 0x067f, 0x067f, 0x6c79, 0xca33, 0xca13, 0xc9d3, 0xc992, 0xc952, 0xc912, 0x34bb, 0x05fe, 0x05de, 0x05be, 0x059e, 0x055e, 0x055e, 0x053e, 0x051e, 0x04fe, 0x249d, 0x347b, 0x6bfa, 0x7b99, 0x9b98, 0xab97, 0xdb95, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd396, 0xd395, 0xbbd6, 0x9c37, 0x8499, 0x6d1a, 0x363c, 0x1edd, 0x079f, 0x07bf, 0x07df, 0x4e1b, 0xd2f4, 0xd2f5, 0xd2d4, 0xd2d4, 0xd2d4, 0x40fc, 0x001f, 0x001f, 0x001f, 0x003f, 0x009f, 0x78d7, 0xc0b1, 0xc0b1, 0x61d8, 0x03bf, 0x049f, 0x057f, 0x065f, 0x071f, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x54d9, 0xb8d1, 0xb8b1, 0xb8d1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x4111, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20cf, 0x20ae, 0x10f3, 0x013a, 0x0119, 0x0139, 0x0119, 0x0119, 0x0119, 0x011a, 0x18d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x18ae, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f7, 0x18ce, 0x10d2, 0x08f3, 0x08f4, 0x10d1, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x10f2, 0x00f7, 0x00f9, 0x0119, 0x0119, 0x011a, 0x0119, 0x08f5, 0x10d0, 0x18ae, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x10d2, 0x011a, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x18ad, 0x20ae, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x5170, 0xd395, 0xd375, 0xd375, 0xd375, 0xd355, 0x6519, 0x22b3, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x4112, 0x4112, 0x4112, 0x4112, 0x4132, 0x4112, 0x4132, 0x4112, 0x4952, 0x79b3, 0xa233, 0xd2b4, 0xcab4, 0xd294, 0xca94, 0xd294, 0xca94, 0xca74, 0xca94, 0xca74, 0xca74, 0xd274, 0xca54, 0xd274, 0xd253, 0xca54, 0xca54, 0xca33, 0xd233, 0xca34, 0xca33, 0xca33, 0xa1d3, 0x5954, 0x5954, 0x79f5, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd335, 0x8c18, 0x067f, 0x065f, 0x063f, 0xa2d5, 0xc9d3, 0xc972, 0xc952, 0xc111, 0xc8d1, 0x8a55, 0x05de, 0x05be, 0x059e, 0x057e, 0x055e, 0x34dc, 0x6c5a, 0xa3f7, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd355, 0xd355, 0xd335, 0xd335, 0xd335, 0xbbb6, 0x84d9, 0x4e1b, 0x465c, 0xd2f5, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2b4, 0x81d8, 0x001f, 0x001f, 0x001f, 0x001f, 0x005f, 0x6098, 0xc0b1, 0xc0d1, 0x59b8, 0x035f, 0x045f, 0x055f, 0x063f, 0x06ff, 0x079f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x363c, 0xc0d1, 0xb8d1, 0xb8b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x58f1, 0x3911, 0x30f0, 0x3110, 0x30cf, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x08f6, 0x013a, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x011a, 0x00f7, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x00f9, 0x08f8, 0x0118, 0x18ad, 0x18ad, 0x18ad, 0x00f8, 0x00f8, 0x08f8, 0x0118, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00fa, 0x00f8, 0x08f7, 0x08f7, 0x18b0, 0x18ad, 0x18ae, 0x08f4, 0x0119, 0x08f8, 0x08f8, 0x00f8, 0x18cf, 0x18ad, 0x18ad, 0x10d4, 0x10d0, 0x18ad, 0x20ad, 0x08f8, 0x10d3, 0x18ad, 0x18ad, 0x10f4, 0x10d1, 0x18ad, 0x18ad, 0x08f8, 0x00f7, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x00f9, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x011a, 0x011a, 0x0119, 0x0119, 0x011a, 0x00f8, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ae, 0x20ce, 0x20ae, 0x28ee, 0xcb55, 0xd375, 0xd375, 0xd375, 0xbb14, 0x34f9, 0x2930, 0x30ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x4112, 0x4111, 0x3931, 0x4112, 0x4111, 0x6993, 0x91f2, 0xc254, 0xca93, 0xca94, 0xca94, 0xca74, 0xca74, 0xd274, 0xca73, 0xd273, 0xca73, 0xd254, 0xca53, 0xca53, 0xca54, 0xca33, 0xca34, 0xa1f3, 0x6973, 0x4953, 0x5134, 0x5154, 0xaaf5, 0xd395, 0xd395, 0xd395, 0xd375, 0xd335, 0xd314, 0x5cda, 0x065f, 0x063f, 0x063f, 0xb254, 0xc972, 0xc952, 0xc112, 0xc8d1, 0xc0b1, 0xc0b1, 0x05be, 0x059e, 0x2d1c, 0x9438, 0xcbb6, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd375, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd314, 0xd314, 0xd315, 0xd2f4, 0xd2f5, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2b4, 0xd2b4, 0xca94, 0x087f, 0x003f, 0x001f, 0x001f, 0x001f, 0x385b, 0xc0b1, 0xc0b1, 0x9135, 0x031f, 0x043f, 0x053f, 0x063f, 0x071f, 0x079f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8b1, 0xb8d1, 0xc0d1, 0xb8b1, 0xb8d1, 0x5911, 0x3911, 0x38f0, 0x30f0, 0x30cf, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x0917, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x011a, 0x08f7, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ce, 0x0118, 0x0119, 0x011a, 0x00f7, 0x08f7, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x20ad, 0x10d1, 0x10d0, 0x18ad, 0x08d5, 0x10d1, 0x18ad, 0x20ae, 0x00f7, 0x18ad, 0x18ae, 0x18ad, 0x08f7, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f8, 0x18ae, 0x18ad, 0x18ae, 0x0118, 0x18ae, 0x18ad, 0x08f4, 0x18d0, 0x18ad, 0x18ad, 0x10d1, 0x10d5, 0x18ae, 0x18ad, 0x08f5, 0x10d1, 0x20ad, 0x18ad, 0x00f8, 0x08f7, 0x18af, 0x18ad, 0x08d4, 0x10d1, 0x18ad, 0x18ae, 0x18ad, 0x20ae, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0118, 0x011a, 0x00f9, 0x0119, 0x00f9, 0x10d2, 0x20ad, 0x18cd, 0x20ae, 0x18ad, 0x20ae, 0x20ce, 0x20ce, 0x8252, 0xd375, 0xd375, 0xd375, 0x9a93, 0x30ef, 0x20cf, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x28f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x38f0, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x38f1, 0x3911, 0x3911, 0x3911, 0x3911, 0x4111, 0x6972, 0x81d2, 0xaa13, 0xba33, 0xca54, 0xca74, 0xca53, 0xca54, 0xca53, 0xca53, 0xb213, 0xa1f3, 0x8193, 0x5152, 0x4932, 0x4933, 0x4933, 0x4933, 0x5174, 0xd395, 0xd395, 0xd396, 0xd375, 0xd334, 0xd2f5, 0xd2b4, 0x2d9d, 0x063f, 0x063f, 0x061f, 0xc993, 0xc952, 0xc911, 0xc8f1, 0xc0b1, 0xc0b1, 0xb8d1, 0x059e, 0x057e, 0xabf7, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd315, 0xd335, 0xcb15, 0xd2f4, 0xd2f5, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2b4, 0xd2b4, 0xd294, 0xd294, 0x411c, 0x003f, 0x003f, 0x001f, 0x001f, 0x203c, 0xc0b1, 0xc0b1, 0x9135, 0x02ff, 0x041f, 0x051f, 0x061f, 0x06ff, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xa1b3, 0xb8b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x68f1, 0x3911, 0x38f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x28cf, 0x20ce, 0x10f3, 0x0119, 0x0119, 0x0119, 0x00fa, 0x0119, 0x0119, 0x0119, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x00f9, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x0119, 0x0119, 0x08f3, 0x18ae, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x10f4, 0x08f7, 0x18ad, 0x18ae, 0x18ad, 0x08f8, 0x20ae, 0x18ad, 0x18ad, 0x10d1, 0x10f4, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f7, 0x18ad, 0x18ad, 0x10d1, 0x08f6, 0x18ad, 0x20ad, 0x08f4, 0x10d3, 0x18d1, 0x18d1, 0x08f5, 0x18d2, 0x18ad, 0x20ad, 0x08f4, 0x10d1, 0x18ad, 0x18ad, 0x08f7, 0x18af, 0x08f7, 0x18ad, 0x08f4, 0x10d1, 0x18ad, 0x18ad, 0x208e, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x10d2, 0x00f9, 0x0119, 0x0119, 0x011a, 0x011a, 0x10d2, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x18ae, 0x18ae, 0x18ad, 0x20ae, 0x18ad, 0x20ae, 0x20ce, 0x412f, 0xd375, 0xd375, 0xd375, 0x71d1, 0x20ce, 0x28cf, 0x20cf, 0x28ce, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3110, 0x3110, 0x38f0, 0x30f0, 0x3111, 0x3111, 0x38f1, 0x38f1, 0x38f0, 0x3910, 0x3910, 0x3910, 0x3911, 0x3911, 0x3911, 0x3910, 0x6152, 0x6152, 0x5131, 0x3911, 0x3911, 0x3911, 0x3912, 0x4112, 0x4132, 0x4112, 0x4932, 0x4932, 0x8a34, 0xd395, 0xd395, 0xd375, 0xd335, 0xd2f4, 0xcad4, 0xb2f6, 0x065f, 0x061f, 0x061f, 0x34dc, 0xc952, 0xc912, 0xc8d2, 0xc0b1, 0xc0d1, 0xb8d1, 0x89b4, 0x2bba, 0x4216, 0x5154, 0x5154, 0x4954, 0x5154, 0x6194, 0x71d4, 0x69f4, 0x71d3, 0x69d4, 0x71d3, 0x7a14, 0x8a75, 0x9274, 0x9254, 0x9254, 0x9a95, 0xb315, 0xbb14, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd314, 0xd315, 0xd2f4, 0xcb14, 0xd2f4, 0xd2f4, 0xd2d4, 0xcad4, 0xcab4, 0xd2b4, 0xcab4, 0xca94, 0xca94, 0x81b8, 0x005f, 0x005f, 0x003f, 0x001f, 0x001f, 0xa8b3, 0xc0b1, 0xb0d2, 0x02df, 0x03ff, 0x051f, 0x061f, 0x06ff, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x8a95, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x78f2, 0x3911, 0x38f0, 0x30f0, 0x28f0, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20cf, 0x0918, 0x0119, 0x0119, 0x011a, 0x00f9, 0x0119, 0x08f7, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x0117, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x0119, 0x0119, 0x10d1, 0x18ad, 0x18ad, 0x10d0, 0x00fa, 0x0119, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x10d1, 0x08f7, 0x18d1, 0x18ad, 0x20ad, 0x08f8, 0x18ad, 0x18ad, 0x18ad, 0x18d1, 0x08d4, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x20ad, 0x18ae, 0x00fa, 0x08f8, 0x00f7, 0x08f6, 0x18ae, 0x18ad, 0x18ad, 0x08f4, 0x08f6, 0x08d4, 0x08f6, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x08f4, 0x10d1, 0x18ae, 0x18ae, 0x08f8, 0x18ad, 0x08f3, 0x10d3, 0x10d5, 0x10d0, 0x18ad, 0x18ad, 0x20ae, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x20ae, 0x20cd, 0x20ae, 0x20cd, 0x9272, 0xd375, 0xc334, 0x61d1, 0x20cf, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x30ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x30f0, 0x3110, 0x3110, 0x30f0, 0x3110, 0x38f0, 0x30f0, 0x38f0, 0x3111, 0x38f0, 0x3911, 0x38f1, 0x3911, 0x3911, 0x3912, 0x4111, 0x4132, 0x4132, 0xb2f5, 0xd395, 0xd375, 0xd355, 0xd2f4, 0xd2b4, 0xd274, 0x83b8, 0x063f, 0x061f, 0x061e, 0x6398, 0xc912, 0xc8d1, 0xc0b1, 0xc0b1, 0xb8b1, 0xb8d1, 0x7933, 0x5153, 0x5134, 0x5154, 0x5133, 0x4953, 0x4933, 0x4933, 0x4933, 0x4133, 0x4933, 0x4932, 0x4932, 0x4932, 0x4933, 0x4933, 0x4933, 0x4932, 0x4932, 0x4933, 0x4933, 0x4933, 0x61b3, 0x7a34, 0x9a95, 0xb2f5, 0xd375, 0xd375, 0xd355, 0xd355, 0xd355, 0xd335, 0xd335, 0xd314, 0xd314, 0xd315, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2d4, 0xd2d4, 0xd2b4, 0xd2b4, 0xd294, 0xd294, 0xd274, 0xca74, 0xc254, 0x007f, 0x005f, 0x005f, 0x003f, 0x001f, 0x5878, 0xb8d1, 0xc0b1, 0x02bf, 0x03bf, 0x04ff, 0x05ff, 0x06ff, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x6478, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x78f1, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20cf, 0x0917, 0x011a, 0x011a, 0x0119, 0x08f4, 0x18ce, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x00f7, 0x011a, 0x00f7, 0x18ae, 0x18ae, 0x18ad, 0x18ae, 0x188d, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x10f3, 0x0119, 0x0119, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ce, 0x10d1, 0x18cf, 0x18ad, 0x10d1, 0x10f4, 0x18ad, 0x18ad, 0x08f7, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x10d1, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f8, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x08f5, 0x18d1, 0x18ad, 0x18ad, 0x08f6, 0x18cf, 0x18ae, 0x20ae, 0x10d4, 0x18d1, 0x18ad, 0x20ae, 0x00f8, 0x18ad, 0x18ad, 0x08f7, 0x08f6, 0x18b1, 0x18ae, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20cd, 0x18ce, 0x20ae, 0x390f, 0xd375, 0xcb35, 0x414f, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x28ef, 0x30ef, 0x30ef, 0x30ef, 0x30ef, 0x30ef, 0x30ef, 0x30ef, 0x30ef, 0x30f0, 0x28f0, 0x30f0, 0x30f0, 0x30f0, 0x28f0, 0x30f0, 0x30ef, 0x3110, 0x30f0, 0x30d0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f1, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3910, 0x3911, 0x38f1, 0x3911, 0x3912, 0x4952, 0xd395, 0xd375, 0xd335, 0xd2f4, 0xd2b4, 0xd274, 0xca33, 0x4c9a, 0x05ff, 0x061f, 0x05ff, 0xa1f4, 0xc0d1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xa0f1, 0x5134, 0x4933, 0x4933, 0x4933, 0x4933, 0x4933, 0x4932, 0x4932, 0x4932, 0x4132, 0x4132, 0x4132, 0x4112, 0x4112, 0x4112, 0x4112, 0x4112, 0x4112, 0x4132, 0x4132, 0x4132, 0x4132, 0x4132, 0x4133, 0x4933, 0x4932, 0x4953, 0x6193, 0x8214, 0xa274, 0xc315, 0xd335, 0xd314, 0xd315, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2b4, 0xcab4, 0xcab4, 0xca94, 0xca74, 0xca74, 0xca74, 0xca54, 0x20fd, 0x009f, 0x007f, 0x005f, 0x003f, 0x105d, 0xc0b1, 0xc0d1, 0x029f, 0x03bf, 0x04df, 0x05ff, 0x06ff, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x54d9, 0xb8d1, 0xb8d1, 0xb8b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x78f1, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28ce, 0x20cf, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ad, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x00f7, 0x00f9, 0x0117, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x08f5, 0x0119, 0x0119, 0x0117, 0x00f7, 0x011a, 0x0119, 0x08d4, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18af, 0x0117, 0x10f4, 0x00f8, 0x18af, 0x18ad, 0x18ad, 0x08f7, 0x08f4, 0x10d5, 0x00f7, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x08f8, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x08f4, 0x10d1, 0x18ad, 0x18cd, 0x10d1, 0x10d3, 0x18ad, 0x18ad, 0x08f4, 0x10d1, 0x18ad, 0x18ad, 0x08f8, 0x18ae, 0x18ad, 0x18af, 0x00fa, 0x10d1, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x10d2, 0x011a, 0x0119, 0x00fa, 0x0119, 0x011a, 0x10d2, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x20ae, 0x61d0, 0xbb14, 0x412f, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x28ce, 0x20ce, 0x20cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x28cf, 0x28f0, 0x30d0, 0x28ef, 0x28cf, 0x30cf, 0x30f0, 0x30d0, 0x30d0, 0x28f0, 0x30f0, 0x30f0, 0x30f0, 0x30d0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x38f0, 0x3911, 0x3911, 0x3911, 0x61b2, 0xd375, 0xd335, 0xd2f4, 0xcad4, 0xca74, 0xd233, 0xca13, 0x1d9d, 0x05ff, 0x05ff, 0x1d3d, 0xc0d1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb0d1, 0x6132, 0x4933, 0x4933, 0x4932, 0x4132, 0x4112, 0x4112, 0x4112, 0x4132, 0x4112, 0x4111, 0x4111, 0x4112, 0x4112, 0x4111, 0x3911, 0x3911, 0x4111, 0x4112, 0x4112, 0x3912, 0x4132, 0x4112, 0x4112, 0x4112, 0x4912, 0x4132, 0x4132, 0x4932, 0x4933, 0x4953, 0x4933, 0x6173, 0x8a14, 0xaa74, 0xcaf4, 0xd2f5, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2b4, 0xcab4, 0xd2b4, 0xd294, 0xca94, 0xca73, 0xd274, 0xd253, 0xd254, 0x597a, 0x00bf, 0x00bf, 0x009f, 0x009f, 0x005f, 0xa8b3, 0xc0b1, 0x31fc, 0x039f, 0x04df, 0x05df, 0x06df, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x2e3c, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8b1, 0xb8d1, 0xb8d1, 0x78f1, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ad, 0x20ae, 0x18ce, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f7, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ae, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x00f9, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18b1, 0x18ce, 0x18ad, 0x18ad, 0x18ae, 0x18b0, 0x10d0, 0x10d1, 0x18af, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cf, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x10d0, 0x18ae, 0x18ad, 0x18af, 0x18ae, 0x18ad, 0x18ad, 0x10d0, 0x188d, 0x18ad, 0x18ae, 0x10d0, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x10d2, 0x00f9, 0x011a, 0x0119, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18af, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18af, 0x18af, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18af, 0x18af, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ae, 0x390f, 0x28ce, 0x20ae, 0x20ce, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28ef, 0x28ef, 0x28cf, 0x28ef, 0x28ef, 0x30ef, 0x28ef, 0x28ef, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x30f0, 0x3911, 0x71f2, 0xd335, 0xd2f4, 0xd2b4, 0xca74, 0xd233, 0xca13, 0xa295, 0x05ff, 0x05ff, 0x05ff, 0x5399, 0xc0d1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb0d1, 0x7912, 0x4952, 0x4132, 0x4112, 0x4132, 0x4132, 0x4132, 0x4112, 0x3911, 0x3911, 0x3911, 0x3911, 0x38f1, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x4111, 0x4112, 0x4112, 0x4112, 0x4112, 0x4132, 0x4932, 0x4932, 0x4933, 0x4933, 0x5133, 0x6194, 0x9a34, 0xc2b4, 0xd2b5, 0xd2b3, 0xcab4, 0xd294, 0xd294, 0xca93, 0xd274, 0xd274, 0xca53, 0xca54, 0xca53, 0x81d8, 0x00df, 0x00df, 0x00df, 0x00bf, 0x00bf, 0x68b7, 0xb8d1, 0x31dc, 0x033f, 0x049f, 0x05df, 0x06ff, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x26bd, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d2, 0xb8d1, 0xb8d1, 0x78f1, 0x3911, 0x38f1, 0x30f0, 0x30ef, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x08d3, 0x08f3, 0x10d2, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ae, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x00f7, 0x011a, 0x0119, 0x0118, 0x18af, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18b0, 0x0118, 0x0119, 0x0119, 0x00f6, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x00f8, 0x0119, 0x011a, 0x00f6, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20cf, 0x20cf, 0x20cf, 0x20cf, 0x20cf, 0x20cf, 0x20cf, 0x20cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28cf, 0x28ef, 0x28f0, 0x28f0, 0x30f0, 0x30f0, 0x38f0, 0x8213, 0xd2f5, 0xcad4, 0xd274, 0xca53, 0xc9f3, 0xc9d2, 0x7398, 0x05ff, 0x05ff, 0x05df, 0xa953, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x98f2, 0x4132, 0x4132, 0x4112, 0x4111, 0x4111, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x38f0, 0x38f0, 0x38f0, 0x38f0, 0x3911, 0x38f0, 0x38f0, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x3911, 0x4112, 0x4112, 0x4112, 0x4132, 0x4132, 0x4933, 0x4933, 0x4933, 0x5153, 0x5974, 0x9214, 0xca94, 0xd294, 0xca94, 0xd274, 0xca74, 0xd274, 0xca53, 0xca54, 0xca53, 0xca34, 0x99f6, 0x011f, 0x011f, 0x00ff, 0x00ff, 0x00ff, 0x38db, 0xc0b1, 0x28fc, 0x02df, 0x047f, 0x059f, 0x06df, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x78f1, 0x3911, 0x38f0, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x011a, 0x00f7, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x011a, 0x011a, 0x00f9, 0x011a, 0x00f9, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x00f9, 0x0119, 0x0119, 0x011a, 0x0119, 0x0117, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ae, 0x18b0, 0x0119, 0x00f9, 0x0119, 0x00f9, 0x0119, 0x08f6, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18d0, 0x00f9, 0x0119, 0x0119, 0x011a, 0x0119, 0x08f6, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x310e, 0x7a32, 0xaad3, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd335, 0xd2b4, 0xca94, 0xca33, 0xd1f3, 0xc9d3, 0xc993, 0xc972, 0xc992, 0xc972, 0xc932, 0xc0d1, 0xc0b1, 0xb8d1, 0xb0d2, 0xb9f2, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xca13, 0x015f, 0x013f, 0x013f, 0x013f, 0x011f, 0x093f, 0xc0b1, 0x311c, 0x01bf, 0x03ff, 0x059f, 0x069f, 0x079f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0xb8b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x78f1, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x08d5, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x10f2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x00f8, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x18af, 0x18ad, 0x18ad, 0x18ae, 0x18b0, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x10cf, 0x0118, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x20ad, 0x18ad, 0x496f, 0xaad3, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd2f4, 0xca74, 0xca33, 0xca13, 0xc9d3, 0xc992, 0xc952, 0xc111, 0xc0d1, 0xc0b1, 0xc0d1, 0xb8b1, 0xb8d1, 0xb8d1, 0xca53, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xca13, 0x097f, 0x017f, 0x015f, 0x017f, 0x015f, 0x015f, 0x88f5, 0x293c, 0x013f, 0x02df, 0x053e, 0x067f, 0x077f, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x9234, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x78f1, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ae, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x18af, 0x18cd, 0x18ae, 0x10d0, 0x0118, 0x0119, 0x011a, 0x011a, 0x0119, 0x011a, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x00f8, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ee, 0x8252, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd3b5, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd2b4, 0xd233, 0xca13, 0xc9b3, 0xc992, 0xc952, 0xc912, 0xc8d1, 0xc0b1, 0xc0b1, 0xb8b1, 0xb8d1, 0xb8d1, 0xc253, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdb95, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xca13, 0x31bc, 0x01bf, 0x019f, 0x019f, 0x019f, 0x019f, 0x5139, 0x315c, 0x017f, 0x01bf, 0x045e, 0x063e, 0x077f, 0x07fe, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x8a95, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb8d1, 0x78f1, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x08d5, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x00f9, 0x0119, 0x00f9, 0x011a, 0x0119, 0x0119, 0x011a, 0x00f9, 0x08f7, 0x18ad, 0x20ad, 0x10d0, 0x0118, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x10d0, 0x00f9, 0x0119, 0x0119, 0x00fa, 0x0119, 0x0119, 0x011a, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x28ee, 0xb314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd4f8, 0xd65c, 0xd6dd, 0xd6fd, 0xd7ff, 0xd7ff, 0xdfff, 0xd7ff, 0xd7ff, 0xdfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xdfff, 0xd7ff, 0xcb15, 0xca13, 0xc9d3, 0xc992, 0xc932, 0xc911, 0xc0d1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xc397, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xdfff, 0xd539, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdb95, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xc9f3, 0x31fc, 0x01df, 0x01df, 0x01df, 0x01df, 0x01df, 0x01bf, 0x01df, 0x01bf, 0x01bf, 0x02df, 0x05fd, 0x073e, 0x07fe, 0x07fe, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x8ab5, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0f1, 0xb8d1, 0x78f1, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08d5, 0x0119, 0x011a, 0x0119, 0x011a, 0x00f9, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x00f8, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x00f7, 0x18ae, 0x18ae, 0x18b0, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x10d0, 0x00f8, 0x0119, 0x011a, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ae, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x28ee, 0xcb55, 0xd375, 0xd395, 0xd395, 0xd3d6, 0xd5db, 0xd7bf, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xdfff, 0xdfff, 0xca13, 0xc9b3, 0xc992, 0xc952, 0xc912, 0xc0d1, 0xc0b1, 0xc0d1, 0xb8b1, 0xb8d1, 0xb0f1, 0xba95, 0xdfff, 0xd7ff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xd7ff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xdfff, 0xd539, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xc9f3, 0x31fd, 0x021f, 0x01ff, 0x01ff, 0x01ff, 0x01ff, 0x01ff, 0x01ff, 0x01ff, 0x01df, 0x01ff, 0x051d, 0x071d, 0x07fd, 0x07fe, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x6bf7, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0x78f1, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x011a, 0x00f7, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x0119, 0x011a, 0x00f8, 0x18b0, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ae, 0x18ad, 0x10cf, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18cf, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x011a, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x28ee, 0xb314, 0xd395, 0xd395, 0xd395, 0xd477, 0xd77e, 0xd7ff, 0xd7ff, 0xdfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xdfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xc9d3, 0xc992, 0xc952, 0xc912, 0xc8d1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb152, 0xd79e, 0xdfff, 0xdfff, 0xdfff, 0xd7ff, 0xdfff, 0xdfff, 0xdfff, 0xdfff, 0xd7ff, 0xdfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd539, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xc9d3, 0x323c, 0x023f, 0x023f, 0x021f, 0x023f, 0x023f, 0x021f, 0x021f, 0x021f, 0x021f, 0x021f, 0x037e, 0x06dc, 0x07fd, 0x07fd, 0x07fe, 0x07ff, 0x07ff, 0x07ff, 0x5c78, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb8d1, 0xb0f1, 0x7911, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ae, 0x18ae, 0x011a, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x00f9, 0x18af, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08d5, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x0118, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x10d0, 0x0119, 0x0119, 0x011a, 0x00f9, 0x0119, 0x0119, 0x0119, 0x011a, 0x0117, 0x18ae, 0x18ad, 0x10d0, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x8252, 0xd395, 0xd395, 0xd396, 0xd4b8, 0xd7bf, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xc972, 0xc952, 0xc912, 0xc8d1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0f1, 0xd63c, 0xdfff, 0xdfff, 0xd7ff, 0xdfff, 0xdfff, 0xd7ff, 0xdfff, 0xdfff, 0xd7ff, 0xd7ff, 0xdfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xdfff, 0xd7ff, 0xdfff, 0xd539, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xc9d3, 0x325c, 0x027f, 0x025f, 0x025f, 0x025f, 0x023f, 0x025f, 0x025f, 0x023f, 0x023f, 0x023f, 0x029f, 0x067c, 0x07fc, 0x07fc, 0x07fe, 0x07ff, 0x07ff, 0x07ff, 0x5c78, 0xb8d1, 0xb0d1, 0xb8d1, 0xb0d1, 0xb0d1, 0xb8d1, 0x70f1, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f9, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x10d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x011a, 0x011a, 0x0118, 0x10d1, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x011a, 0x00f7, 0x18ae, 0x18ad, 0x10d0, 0x0118, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x10cf, 0x0119, 0x0119, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x496f, 0xd395, 0xd395, 0xd395, 0xd457, 0xd7bf, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7df, 0xd7ff, 0xcf3e, 0xc67c, 0xc53a, 0xc951, 0xc912, 0xc0d1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb0f1, 0xbb97, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd65b, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd396, 0xd395, 0xc9b3, 0x327c, 0x029f, 0x029f, 0x029f, 0x029f, 0x027f, 0x027f, 0x027f, 0x027f, 0x027f, 0x025f, 0x027f, 0x05bc, 0x07db, 0x07fc, 0x07fd, 0x07ff, 0x07ff, 0x07ff, 0x5c78, 0xb8d1, 0xb0d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0x58f1, 0x3911, 0x3111, 0x30f0, 0x28f0, 0x28f0, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x10d1, 0x18ad, 0x18ae, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x08f5, 0x0119, 0x011a, 0x0119, 0x0119, 0x00f9, 0x18b0, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18d0, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18cf, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x0117, 0x18ce, 0x18ae, 0x18d0, 0x0118, 0x00f9, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0xa2d3, 0xd395, 0xd395, 0xd3d6, 0xd75e, 0xcfff, 0xcfff, 0xd7ff, 0xd7ff, 0xcfff, 0xcfff, 0xd7ff, 0xd7ff, 0xd7df, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7df, 0xd7ff, 0xd7ff, 0xcfdf, 0xcfff, 0xd7ff, 0xd7df, 0xd7ff, 0xcfff, 0xd7ff, 0xd7df, 0xd7ff, 0xcfff, 0xd7df, 0xcfff, 0xcfff, 0xd7ff, 0xd7ff, 0xcfff, 0xd7ff, 0xcfff, 0xd7ff, 0xd7df, 0xd7df, 0xcfff, 0xd7df, 0xcfff, 0xd7ff, 0xd7ff, 0xcfff, 0xd7ff, 0xcfff, 0xd7ff, 0xd7df, 0xd7ff, 0xd7ff, 0xcfff, 0xcfff, 0xd7ff, 0xcfff, 0xd7df, 0xcfff, 0xd7ff, 0xd7df, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xcfff, 0xd7ff, 0xcfdf, 0xd7df, 0xcfdf, 0xcfff, 0xd7df, 0xacd8, 0x8191, 0x9151, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0xa8f1, 0xa972, 0xd77e, 0xd7ff, 0xd7ff, 0xd7df, 0xd7df, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7df, 0xcfff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7df, 0xd7df, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7ff, 0xd7df, 0xd7ff, 0xd7df, 0xd7ff, 0xd7df, 0xd65c, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xc193, 0x0a7f, 0x02ff, 0x02df, 0x02bf, 0x02bf, 0x02bf, 0x029f, 0x029f, 0x029f, 0x027f, 0x029f, 0x027f, 0x04dd, 0x07bb, 0x07fb, 0x07fd, 0x07ff, 0x07ff, 0x07ff, 0x3dbb, 0xb8d1, 0xb8d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0d1, 0x5911, 0x3911, 0x30f0, 0x30f0, 0x28f0, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x20ad, 0x08f5, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x18d0, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x10d0, 0x00f8, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x20ad, 0x10d0, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x0119, 0x011a, 0x00f7, 0x18ae, 0x18ad, 0x18af, 0x0118, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x310e, 0xd395, 0xd375, 0xd375, 0xd5ba, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xc77e, 0xbe5b, 0xbe3c, 0xb57a, 0xacb8, 0xbdbb, 0xc63c, 0xbe3b, 0xc71e, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xc77e, 0xbe5c, 0xb5db, 0xacb8, 0xac98, 0xbd5a, 0xbe3c, 0xc61c, 0xc69d, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xacb9, 0x8191, 0x9151, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0xa111, 0xa911, 0xbc78, 0xcfdf, 0xcfdf, 0xcfdf, 0xd7df, 0xcfdf, 0xcf5e, 0xbe5c, 0xbe5c, 0xc63c, 0xc61c, 0xcefd, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfff, 0xcfdf, 0xd63b, 0xd375, 0xd395, 0xd375, 0xd395, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd375, 0xd395, 0xd375, 0xd375, 0xd375, 0xd395, 0x089f, 0x011f, 0x031f, 0x02ff, 0x02ff, 0x02df, 0x02df, 0x02df, 0x02bf, 0x02bf, 0x02bf, 0x02bf, 0x02bf, 0x03fd, 0x079a, 0x07fa, 0x07fc, 0x07fe, 0x07ff, 0x07ff, 0x2e5c, 0xb0d1, 0xb8d1, 0xb8d1, 0xb0f1, 0xb0d1, 0xb8d1, 0x5912, 0x3911, 0x38f1, 0x30f0, 0x28f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x08f5, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x10d0, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x00f6, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ae, 0x0117, 0x011a, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0117, 0x18ce, 0x18ad, 0x18ad, 0x0118, 0x011a, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x79f1, 0xd355, 0xd355, 0xd355, 0xcf7e, 0xc7df, 0xcfbf, 0xcfdf, 0xc7df, 0xc7df, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfbf, 0xcfdf, 0xcfdf, 0xcfbf, 0xbefd, 0xacb8, 0x8a52, 0x9151, 0x9131, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0xa192, 0xab96, 0xbe7d, 0xcfdf, 0xc7df, 0xcfbf, 0xc7df, 0xcfdf, 0xcfbf, 0xc75e, 0xad19, 0x92b4, 0x8971, 0x9151, 0x9931, 0x9931, 0x9911, 0x9911, 0xa111, 0x9931, 0xa111, 0x9911, 0xab36, 0xbd5a, 0xc75e, 0xcfdf, 0xc7bf, 0xc7bf, 0xcfdf, 0xc7df, 0xc7bf, 0xc7df, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xcfdf, 0xc7df, 0xcfbf, 0xc7df, 0xc7bf, 0xcfbf, 0xc7df, 0xa4b8, 0x8191, 0x9151, 0x9931, 0x9911, 0x9931, 0x9931, 0x9911, 0x9931, 0x9912, 0xbe3b, 0xcfbf, 0xcfdf, 0xcfbf, 0xcfdf, 0xcfdf, 0xb5da, 0x8a12, 0x8971, 0x9931, 0x9931, 0xa111, 0x9931, 0xab35, 0xc75e, 0xcfbf, 0xcfdf, 0xc7df, 0xc7df, 0xcfdf, 0xcfdf, 0xcfbf, 0xc7df, 0xc7df, 0xcfdf, 0xcfdf, 0xcfdf, 0xc7df, 0xcfdf, 0xcfdf, 0xcfdf, 0xce1b, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0x007f, 0x009e, 0x023f, 0x033f, 0x031f, 0x031f, 0x031f, 0x02ff, 0x031f, 0x02ff, 0x02df, 0x02df, 0x02df, 0x039e, 0x075a, 0x07f9, 0x07fb, 0x07fd, 0x07ff, 0x07ff, 0x2e3c, 0xb8d2, 0xb8d1, 0xb0d1, 0xb8d1, 0xb0d1, 0xb0d1, 0x4911, 0x3911, 0x38f0, 0x30f0, 0x28f0, 0x28ef, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x20ad, 0x20ad, 0x08f5, 0x00f9, 0x00fa, 0x0119, 0x011a, 0x0119, 0x10d2, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x10d0, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x011a, 0x00f9, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18cd, 0x0119, 0x00f9, 0x011a, 0x0119, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ae, 0x18ad, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0xa293, 0xd335, 0xd335, 0xcc98, 0xc7bf, 0xc7be, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc75e, 0xa4b8, 0x8191, 0x9151, 0x9911, 0xa131, 0xa111, 0xa111, 0x9931, 0xa111, 0xa112, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xab35, 0xbefe, 0xc7bf, 0xc7be, 0xc7bf, 0xb5db, 0x89f1, 0x8971, 0x9931, 0x9911, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa132, 0x9911, 0xa111, 0xa111, 0xa111, 0xa111, 0xa172, 0xbd3a, 0xc7be, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7be, 0xc79f, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc79f, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xac98, 0x8191, 0x9151, 0x9931, 0xa111, 0xa131, 0xa111, 0xa131, 0xa111, 0x9931, 0xbe1b, 0xc79f, 0xc7bf, 0xc7bf, 0xc7bf, 0xbefd, 0x89f2, 0x8991, 0x9931, 0xa112, 0xa131, 0xa111, 0xa111, 0xa111, 0xab97, 0xc7bf, 0xc7bf, 0xc7be, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc7bf, 0xc6dd, 0xd375, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd335, 0xd334, 0xd335, 0xd335, 0x009f, 0x009f, 0x013f, 0x033f, 0x037f, 0x035f, 0x033f, 0x031f, 0x031f, 0x031f, 0x031f, 0x02ff, 0x02ff, 0x033f, 0x06f9, 0x07f9, 0x07fb, 0x07fd, 0x07ff, 0x07ff, 0x2e3c, 0xb8d2, 0xb0f1, 0xb8d1, 0xb0d1, 0xb0f1, 0xb0d1, 0x3911, 0x3911, 0x38f0, 0x30f0, 0x3110, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18b0, 0x10f2, 0x10d3, 0x08d3, 0x08f3, 0x10f3, 0x18b0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x08f5, 0x0119, 0x00f9, 0x011a, 0x0119, 0x011a, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f4, 0x0119, 0x0119, 0x011a, 0x011a, 0x00f9, 0x10cf, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x0119, 0x00f9, 0x011a, 0x011a, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f9, 0x0119, 0x0119, 0x0139, 0x0119, 0x011a, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0xd315, 0xd315, 0xd314, 0xc5fb, 0xc79f, 0xc79e, 0xc7bf, 0xc7bf, 0xc79e, 0xc79e, 0xc7bf, 0xc79f, 0xbf9e, 0xbfbf, 0xbfbe, 0xb67c, 0x8a53, 0x8971, 0xa131, 0xa112, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa112, 0xa111, 0xa111, 0xa172, 0xb539, 0xbf9f, 0x9bf6, 0x8191, 0x9151, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa112, 0xa111, 0xa111, 0xab15, 0xbf3d, 0xc79f, 0xc7be, 0xc79f, 0xc79f, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79e, 0xc79f, 0xc79e, 0xc79f, 0xc79e, 0xc79e, 0xc7bf, 0xc79f, 0xa4b8, 0x8191, 0x9151, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa112, 0xa111, 0xbdfb, 0xc79f, 0xc79e, 0xc7be, 0xc79f, 0xacf9, 0x8191, 0x9171, 0xa111, 0xa111, 0xa111, 0xa112, 0xa111, 0xa131, 0xa111, 0xbf3e, 0xbfbf, 0xc79e, 0xc79e, 0xc79e, 0xc7bf, 0xc79e, 0xc79e, 0xc79e, 0xbfbf, 0xc79e, 0xc79e, 0xc79e, 0xbf9e, 0xc79f, 0xc79e, 0xbfbe, 0xc79e, 0xc6bd, 0xd355, 0xd2f5, 0xd315, 0xcb14, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd314, 0xd315, 0xd315, 0xd315, 0xd314, 0x007f, 0x007f, 0x00ff, 0x027f, 0x039f, 0x039f, 0x037f, 0x231d, 0x5259, 0x5a3a, 0x033f, 0x033f, 0x031f, 0x031f, 0x0699, 0x07f8, 0x07fa, 0x07fd, 0x07ff, 0x07ff, 0x363c, 0xb0d1, 0xb0f1, 0xb0d1, 0xb8d1, 0xb0d1, 0xb0d1, 0x4112, 0x38f1, 0x3911, 0x30f0, 0x30ef, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d1, 0x08f7, 0x011a, 0x011a, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x00f7, 0x10d1, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10f2, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0118, 0x18b0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x08f4, 0x0119, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0915, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x20ad, 0x0915, 0x00f9, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20cd, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xd2f4, 0xcaf4, 0xd2f4, 0xc65c, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf7f, 0xb67c, 0x8a12, 0x8971, 0xa111, 0xa111, 0xa911, 0xa111, 0xa911, 0xa111, 0xa111, 0xa111, 0xa911, 0xa911, 0xa111, 0xa111, 0xa111, 0xa911, 0xa111, 0xa111, 0xa111, 0xa912, 0xa911, 0xa1f3, 0x8191, 0x9931, 0xa111, 0xa111, 0xa912, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa911, 0xa911, 0xa911, 0xa911, 0xa911, 0xa111, 0xa111, 0xa111, 0xa112, 0xa911, 0xaa54, 0xbf1d, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xb79e, 0xbf9f, 0xa498, 0x8191, 0x9951, 0xa911, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa911, 0xb5fb, 0xbf9e, 0xbf9f, 0xbf9e, 0xbf9f, 0xa498, 0x8191, 0x9951, 0xa111, 0xa111, 0xa111, 0xa111, 0xa112, 0xa111, 0xa911, 0xb5fb, 0xbf7e, 0xbf9e, 0xbf9e, 0xbf9f, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbf9e, 0xbebd, 0xd335, 0xcaf4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xcaf4, 0xd2f4, 0xd2f5, 0xcaf4, 0x007f, 0x007f, 0x00bf, 0x021f, 0x2abd, 0x7a36, 0xb953, 0xc112, 0xc911, 0xc912, 0x0b3f, 0x035f, 0x035f, 0x033f, 0x05fa, 0x07f7, 0x07f9, 0x07fc, 0x07fe, 0x07ff, 0x2e3c, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0d1, 0xb0d1, 0xa0f1, 0x68f1, 0x4111, 0x30f0, 0x30f0, 0x28ef, 0x28ef, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x011a, 0x0119, 0x0119, 0x0118, 0x08f7, 0x08f6, 0x00f7, 0x0118, 0x0119, 0x0119, 0x0119, 0x08f5, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x10d2, 0x00f9, 0x011a, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08d4, 0x0118, 0x0119, 0x08f6, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x011a, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xd2d4, 0xd2d4, 0xd2d4, 0xbe5c, 0xb77e, 0xb79e, 0xb77e, 0xbf7e, 0xb77e, 0xb77e, 0xb77e, 0xb79e, 0xbf7e, 0xae7b, 0x89f2, 0x8971, 0xa111, 0xa8f1, 0xa911, 0xa8f1, 0xa911, 0xa911, 0xa911, 0xa911, 0xa911, 0xa8f1, 0xa911, 0xa911, 0xa911, 0xa8f1, 0xa911, 0xa8f1, 0xa911, 0xa911, 0xa912, 0xa911, 0xa911, 0xa111, 0xa911, 0xa8f1, 0xa911, 0xa8f1, 0xa111, 0xa911, 0xa8f1, 0xa8f1, 0xa911, 0xa911, 0xa8f1, 0xa911, 0xa8f1, 0xa8f1, 0xa912, 0xa911, 0xa911, 0xa911, 0xa8f1, 0xa111, 0xaa34, 0xb71e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xbf7e, 0xb77e, 0xb77e, 0xbf7e, 0xb77e, 0xb77e, 0xbf7f, 0xb77e, 0x9c97, 0x8191, 0x9951, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa911, 0xa8f1, 0xb5db, 0xbf7e, 0xb77e, 0xbf7e, 0xbf7e, 0xa478, 0x8191, 0x9951, 0xa911, 0xa8f1, 0xa8f1, 0xa911, 0xa911, 0xa8f1, 0xa911, 0xb5db, 0xb77f, 0xb77e, 0xbf7e, 0xbf7e, 0xb77e, 0xbf7e, 0xbf7e, 0xbf7e, 0xb77e, 0xb77e, 0xbf7e, 0xb77e, 0xbf7e, 0xb77e, 0xbf7e, 0xbf7e, 0xb77e, 0xb77e, 0xbf7e, 0xbe9d, 0xcb75, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2d5, 0x007f, 0x007f, 0x30bb, 0x9955, 0xc931, 0xc932, 0xc932, 0xc912, 0xc0f2, 0xc8f2, 0x32fc, 0x037f, 0x037f, 0x037f, 0x059b, 0x07f7, 0x07f9, 0x07fc, 0x07fe, 0x07ff, 0x2e3c, 0xb8d1, 0xb0d1, 0xb0d2, 0xb0d1, 0xb0f1, 0x98f1, 0xb0f1, 0x88f1, 0x3110, 0x30f0, 0x30f0, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x011a, 0x0119, 0x00f7, 0x10d1, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d1, 0x00f7, 0x011a, 0x0119, 0x00f7, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x011a, 0x011a, 0x0119, 0x00f8, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xd2b4, 0xd2b4, 0xd2b4, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb71d, 0x8a53, 0x8191, 0xa111, 0xa8f1, 0xb0f1, 0xa911, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f2, 0xa8f1, 0xb0f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xb2f5, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb75e, 0xb77e, 0xb77e, 0xb77e, 0xb75e, 0xb75e, 0xb77e, 0xb75e, 0xb77e, 0xb77e, 0xb75e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb75e, 0xb75e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb75e, 0xb77e, 0xb77e, 0xb75e, 0xb77e, 0xb75e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0x9c78, 0x8191, 0x9951, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xb5db, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0x9c77, 0x8191, 0x9151, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xb5db, 0xb77e, 0xb77e, 0xb77e, 0xb75e, 0xb77e, 0xb75e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb75e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb77e, 0xb75e, 0xb71d, 0xcb96, 0xd2b4, 0xd2b4, 0xcab4, 0xd2b4, 0xcab4, 0xd2b4, 0xcab4, 0xd2b4, 0xcab4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xca94, 0xd2b4, 0xd2b4, 0xd2b4, 0xcab4, 0x087e, 0x70f8, 0xc952, 0xc932, 0xc912, 0xc932, 0xc111, 0xc8f1, 0xc8f1, 0xc8d1, 0x331c, 0x03bf, 0x039f, 0x039f, 0x051b, 0x07d6, 0x07f7, 0x07fb, 0x07fe, 0x07ff, 0x2e3c, 0xb8d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xa0f1, 0xb0f1, 0xb0d1, 0x50f0, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0116, 0x0119, 0x0119, 0x08d5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x10d3, 0x00fa, 0x0119, 0x08f6, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ae, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ae, 0x10d2, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x0119, 0x011a, 0x0119, 0x0119, 0x00f9, 0x18d0, 0x188d, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xd294, 0xd294, 0xca94, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf5e, 0xb75e, 0x9416, 0x8991, 0x9951, 0xb0f1, 0xa8f1, 0xb0f1, 0xa8f1, 0xb0f1, 0xa8f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xa8f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xa8f1, 0xa8f1, 0xb0f1, 0xa8f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f2, 0xa8f1, 0xb0f1, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f2, 0xa8f1, 0xb0f2, 0xb0f1, 0xb0f1, 0xb0f1, 0xa8f1, 0xb0f1, 0xb0f1, 0xacf9, 0xaf5e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf7e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xb75e, 0xb75e, 0xaf5e, 0xb75e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xb75e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5d, 0xb75e, 0xaf5e, 0xaf5e, 0x9c77, 0x8191, 0x9951, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xadbb, 0xb75e, 0xb75e, 0xb75e, 0xb75e, 0x9c78, 0x8991, 0x9951, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb5bb, 0xb75e, 0xb75e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf5e, 0xb75e, 0xb75e, 0xb75e, 0xaf5e, 0xb75e, 0xb75e, 0xb75e, 0xaf5e, 0xaf5e, 0xb75e, 0xaf5e, 0xaf1d, 0xcb75, 0xca93, 0xd294, 0xca74, 0xca94, 0xca74, 0xd274, 0xca74, 0xd294, 0xca94, 0xca94, 0xca94, 0xca94, 0xca94, 0xca94, 0xca94, 0xca94, 0xd294, 0xca93, 0xca94, 0xd293, 0xca74, 0x9915, 0xc932, 0xc932, 0xc932, 0xc912, 0xc111, 0xc8f2, 0xc0f2, 0xc8d1, 0xc8d1, 0x333c, 0x03ff, 0x03df, 0x03bf, 0x04dc, 0x07d6, 0x07f7, 0x07fb, 0x07fe, 0x07ff, 0x2e3c, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f1, 0xa8f1, 0xb0f1, 0xb0f1, 0x90f1, 0x30f0, 0x28f0, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x011a, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08d3, 0x0119, 0x0119, 0x10d1, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xd274, 0xd274, 0xca53, 0xaf5e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3d, 0xaf5d, 0xaf3d, 0xaf3e, 0xa69c, 0x8191, 0x8191, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0d1, 0xb0f2, 0xb0d1, 0xb0d1, 0xb0f2, 0xb0f1, 0xb0f1, 0xaa13, 0xb418, 0xa438, 0x9ab4, 0x9931, 0xa8f1, 0xb0f1, 0xb0f2, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xaa74, 0xac78, 0xacf9, 0x9b35, 0x9931, 0xa8f1, 0xb0f1, 0xb0f2, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0f2, 0xb0d1, 0xb0f1, 0xa9b3, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3d, 0xaf3d, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3d, 0xaf3d, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3d, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0x9c77, 0x8191, 0x9931, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xadbb, 0xaf3e, 0xaf3e, 0xaf5d, 0xaf3e, 0x9477, 0x8191, 0x9951, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xadba, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3d, 0xaf5e, 0xaf5e, 0xaf5e, 0xaf3d, 0xaf3d, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf5e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaf3e, 0xaefd, 0xcb56, 0xca53, 0xca74, 0xd253, 0xd274, 0xd274, 0xd273, 0xca73, 0xd274, 0xd274, 0xd274, 0xd274, 0xd274, 0xd274, 0xd274, 0xd274, 0xd254, 0xca74, 0xca54, 0xca54, 0xca74, 0xc932, 0xc932, 0xc932, 0xc912, 0xc912, 0xc912, 0xc0f1, 0xc8d1, 0xc8d1, 0xc8d1, 0x335c, 0x041f, 0x03ff, 0x03ff, 0x047d, 0x0795, 0x07f6, 0x07fa, 0x07fe, 0x07ff, 0x2e3c, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f1, 0xa8f1, 0xb0f1, 0xb0d1, 0xb0f1, 0x40f0, 0x28cf, 0x28ef, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18cd, 0x00f8, 0x011a, 0x08f6, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18cf, 0x08d3, 0x08f3, 0x08f3, 0x18af, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x00f6, 0x0119, 0x0118, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xca53, 0xca53, 0xca53, 0xa73e, 0xa73e, 0xa73e, 0xa73e, 0xa73d, 0xa73d, 0xa73d, 0xa73d, 0x9457, 0x8191, 0x9931, 0xb8d1, 0xb0d1, 0xb8d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb1b3, 0xad9a, 0xaf3d, 0xaf3d, 0xa73d, 0xa73d, 0x9dda, 0x89d1, 0x9951, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0f1, 0xb213, 0xad9b, 0xa73e, 0xa73d, 0xaf3e, 0xaf3e, 0x9dda, 0x81f2, 0x9171, 0xb0f1, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb8d1, 0xb8d2, 0xb0f1, 0xad39, 0xa73d, 0xa73e, 0xa73d, 0xa73d, 0xa73d, 0xa73d, 0xa73d, 0xa73e, 0xa73d, 0xa73d, 0xa73d, 0xaf3d, 0xa73d, 0xa73d, 0xa73d, 0xa73e, 0xa73e, 0xa73d, 0xaf3d, 0xa73d, 0xa73d, 0xa73e, 0xaf3d, 0xa73e, 0xa73e, 0xa73d, 0xaf3d, 0xa73d, 0xa73d, 0xa73e, 0xaf3e, 0xaf1e, 0xa73e, 0xa73e, 0xa73e, 0xa73e, 0xa73e, 0xa73e, 0xa73e, 0xa73e, 0xaf3e, 0xa73e, 0xa73d, 0xaf3e, 0xa73e, 0xa73d, 0xa73d, 0xa73d, 0xaf3d, 0xa73e, 0xa73e, 0xa73e, 0xa73d, 0xaf3d, 0xa73d, 0xaf3d, 0xa73e, 0xa73e, 0xaf3d, 0xa73e, 0xa73d, 0xa73d, 0xa73e, 0x9478, 0x8191, 0x9931, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb8d1, 0xad9a, 0xa73e, 0xa73d, 0xa73e, 0xa73d, 0xa73d, 0xa73d, 0xaf3d, 0xa73d, 0xa73d, 0xa73d, 0xa73d, 0xa73d, 0xaf3d, 0xa73d, 0xa73d, 0xa73d, 0xaf3e, 0xa73e, 0xa73d, 0xa73d, 0xa73d, 0xaf3d, 0xaf3e, 0xa73d, 0xaf3d, 0xaf3e, 0xa73d, 0xa73d, 0xaf3d, 0xa73e, 0xaf3d, 0xaf3d, 0xaf3d, 0xa73e, 0xa73d, 0xa73d, 0xaf3d, 0xa73d, 0xaedd, 0xc376, 0xca53, 0xca53, 0xca53, 0xca53, 0xca33, 0xca53, 0xca53, 0xca53, 0xca53, 0xca53, 0xca53, 0xca53, 0xca53, 0xca53, 0xd233, 0xca53, 0xd253, 0xca53, 0xca53, 0x309c, 0x005f, 0x58b9, 0xc912, 0xc111, 0xc8f1, 0xc8d1, 0xc8d1, 0xc0d1, 0xc0d1, 0x337c, 0x045f, 0x041f, 0x041f, 0x045e, 0x0775, 0x07f5, 0x07fa, 0x07fe, 0x07ff, 0x2e3c, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0d1, 0xb0f1, 0xa8f1, 0xb0f1, 0xb0f1, 0xb0d1, 0x80f1, 0x28ef, 0x28cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x011a, 0x011a, 0x10d1, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x10d1, 0x0119, 0x0119, 0x10d0, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xca13, 0xca33, 0xca13, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa73d, 0xa73d, 0xa73d, 0x8a53, 0x8191, 0xa8f1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb213, 0xa6bd, 0xa71d, 0xa73e, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0x9e1b, 0x81f1, 0x9171, 0xb0f1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb1f3, 0xa6bd, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa73d, 0xa71d, 0x9e1b, 0x89f2, 0x8991, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb8d1, 0xb336, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa73d, 0xa73d, 0xa73d, 0xa71d, 0xa71d, 0xa73d, 0xa71d, 0xa71e, 0xa71d, 0xa71d, 0xa73d, 0xa73e, 0xa71d, 0xa71d, 0xa71d, 0xa73e, 0xa71d, 0xa73e, 0xa73d, 0xa71d, 0xa71d, 0xa73d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa73d, 0xa73d, 0xa73d, 0xa73e, 0xa71d, 0xa73d, 0xa73d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa73d, 0xa71d, 0xa71d, 0xa73e, 0xa73d, 0xa73d, 0xa71d, 0xa71d, 0x9477, 0x8191, 0x9931, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xa59a, 0xa71d, 0xa73d, 0xa73e, 0xa71d, 0xa71d, 0xa71e, 0xa73d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa73d, 0xa73d, 0xa71e, 0xa71d, 0xa73d, 0xa71d, 0xa73d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa73d, 0xa73d, 0xa71d, 0xa73d, 0xa73d, 0xa71d, 0xa73e, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xa71d, 0xbbf7, 0xca13, 0xca33, 0xca13, 0xca33, 0xca33, 0xca33, 0xca33, 0xca33, 0xca33, 0xca33, 0xca33, 0xca33, 0xca33, 0xca13, 0xca13, 0xca14, 0xd233, 0xca33, 0x003f, 0x003f, 0x005f, 0x78d7, 0xc0f2, 0xc8f1, 0xc0d1, 0xc0d1, 0xc0d1, 0xc8b1, 0x4b1a, 0x047f, 0x045f, 0x043f, 0x045f, 0x0735, 0x07f4, 0x07f9, 0x07fe, 0x07ff, 0x2e3c, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0d1, 0xa8f1, 0xb0f1, 0xb0d1, 0xb0f1, 0xa0f1, 0x28cf, 0x28ef, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x10d1, 0x08f3, 0x10f3, 0x10d2, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x10d3, 0x0119, 0x0119, 0x18cd, 0x18ad, 0x18ad, 0x18af, 0x011a, 0x0119, 0x00f9, 0x08f6, 0x0119, 0x0119, 0x0119, 0x18af, 0x20ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x10d3, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xca13, 0xca13, 0xca13, 0x9f1d, 0x9f1d, 0xa71d, 0x9f1d, 0x9f1d, 0xa71d, 0x9f1d, 0x9f1d, 0x8191, 0x8191, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xa5db, 0x9f1d, 0x9f1d, 0x9efd, 0x9f1d, 0x9f1d, 0x9f1d, 0xa6fd, 0x9f1d, 0x94f9, 0x8191, 0x9931, 0xb8d1, 0xb8d1, 0xb8b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8b1, 0xa5db, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0xa6fd, 0x9f1d, 0x9f1d, 0x9f1d, 0x94f9, 0x8191, 0x9931, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb932, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1e, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9e1b, 0x9457, 0x92d4, 0xa1f3, 0xa911, 0xb0f1, 0xb0f1, 0xa911, 0xb274, 0xb254, 0xb254, 0xabf7, 0xa5db, 0xa6fd, 0xa6fd, 0xa71d, 0xa71d, 0x9f1d, 0x9f1d, 0xa6fd, 0x9f1d, 0x9f1d, 0xa71d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9e7c, 0x9498, 0x8b14, 0x9a13, 0xa131, 0xa912, 0xb0f1, 0xa8f1, 0xb255, 0xb274, 0xb254, 0xab97, 0xad1a, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0xa71d, 0x9f1d, 0xa71d, 0x9457, 0x8191, 0xa131, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xa57a, 0x9f1d, 0xa71d, 0x9f1d, 0xa71d, 0x9e7c, 0x9dba, 0xa59a, 0xa57a, 0xa57a, 0xa57a, 0xa57a, 0xa57a, 0xa57a, 0xa57a, 0xa69c, 0x9f1d, 0x9f1d, 0x9f1d, 0xa71d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9f1d, 0x9e5c, 0x94b8, 0x8af4, 0x9a13, 0xa131, 0xa8f1, 0xb0f1, 0xb0f1, 0xb932, 0xb274, 0xb254, 0xb336, 0xacb9, 0xa63c, 0x9f1d, 0xbbf7, 0xc9f3, 0xca13, 0xca13, 0xca13, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xca13, 0xca13, 0xca13, 0xca13, 0xca13, 0x003f, 0x003f, 0x005f, 0x58b9, 0xc0f1, 0xc0d1, 0xc8d1, 0xc8b2, 0xc0b1, 0xc0b1, 0x62b8, 0x04bf, 0x047f, 0x047f, 0x045f, 0x0715, 0x07f4, 0x07f9, 0x07fd, 0x07ff, 0x2e3c, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xa8f1, 0xa8f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0x58f0, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x0117, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x011a, 0x011a, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x00f6, 0x20ad, 0x20cd, 0x18ae, 0x08f3, 0x0119, 0x00f9, 0x18ae, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x10d4, 0x18ad, 0x18ad, 0x18ad, 0x00f6, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xc9d3, 0xc9d3, 0xc9d3, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x959a, 0x8191, 0x9151, 0xc0b1, 0xb8d1, 0xc0b1, 0xb8d1, 0xc0d1, 0xb8d1, 0xb8d1, 0xb2b5, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x8252, 0x8191, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xc0b1, 0xc0d1, 0xb8d1, 0xc0d1, 0xb1f3, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9f1d, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x8a93, 0x8191, 0xb8d1, 0xb8d1, 0xc0d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xc0b1, 0xa63c, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x94f8, 0x8a53, 0x9171, 0xb0f1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8b1, 0xb8b1, 0xc0b1, 0xc0d1, 0xc0d1, 0xb8d1, 0xc0d1, 0xb8b1, 0xb992, 0xacb9, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9e5c, 0x8b96, 0x8991, 0xa131, 0xb8d1, 0xb8d1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xc0b1, 0xb8d1, 0xb932, 0xabf7, 0x9e9c, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9437, 0x8191, 0xa131, 0xb8d1, 0xc0b1, 0xb8d1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xa57a, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9437, 0x8191, 0xa131, 0xb8d1, 0xc0b1, 0xb8d1, 0xb8d1, 0xc0b1, 0xb8d1, 0xb8d1, 0xa57a, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9efd, 0x9e9c, 0x8b96, 0x8971, 0xa131, 0xb8d1, 0xb8d1, 0xc0b1, 0xb8d1, 0xc0b1, 0xc0d1, 0xb8d1, 0xb8d1, 0xc0d1, 0xb8d1, 0xb8d1, 0xc0d1, 0xb335, 0xa63c, 0xbbd7, 0xc9d3, 0xc9f3, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9f3, 0xc9d3, 0xc9d3, 0xc9f3, 0xc9d3, 0x001f, 0x003f, 0x003f, 0x00df, 0x88f6, 0xc8d1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc8b1, 0x62d9, 0x04ff, 0x04bf, 0x049f, 0x047f, 0x06b6, 0x07f3, 0x07f8, 0x07fd, 0x07ff, 0x2e3c, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0f1, 0x98f2, 0xb0f1, 0xb0f1, 0xb0f1, 0x78f0, 0x90f1, 0x80d1, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x0119, 0x0119, 0x00f7, 0x08f7, 0x0119, 0x011a, 0x08f4, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x08f3, 0x0119, 0x00f6, 0x18ad, 0x18ad, 0x18cd, 0x08f3, 0x0119, 0x08f6, 0x18ad, 0x18ad, 0x18ad, 0x08f7, 0x0119, 0x08f5, 0x18cd, 0x18ad, 0x18ad, 0x08f6, 0x011a, 0x08f6, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0xc9b3, 0xc9b3, 0xc9b3, 0x9edd, 0x96fd, 0x9edd, 0x96fd, 0x9efc, 0x96fd, 0x96fd, 0x9599, 0x8991, 0x9171, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xabd7, 0x9efc, 0x96fd, 0x96fd, 0x96dd, 0x96fd, 0x9efd, 0x9edd, 0x96fd, 0x9edd, 0x9efd, 0x8c37, 0x8191, 0xa111, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xab76, 0x9edd, 0x9efd, 0x9efd, 0x9edd, 0x9edd, 0x96dd, 0x9efd, 0x9edd, 0x96fd, 0x9edd, 0x8c37, 0x8191, 0xa131, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0d1, 0xa55a, 0x96fd, 0x9edd, 0x9efd, 0x96fd, 0x963b, 0x8af4, 0x8991, 0xa911, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xb992, 0xa55a, 0x9edd, 0x9efc, 0x96fd, 0x9edd, 0x96fd, 0x9efd, 0x96fd, 0x96fd, 0x96fd, 0x96fd, 0x96fd, 0x96fd, 0x96fd, 0x96fd, 0x94f9, 0x81f1, 0x9171, 0xb8d2, 0xc0b1, 0xc0d1, 0xc0d1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xb992, 0x9dbb, 0x96fd, 0x9edd, 0x96fd, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xa55a, 0x9edd, 0x96fd, 0x96fd, 0x9efd, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xa55a, 0x96fd, 0x9efd, 0x96fd, 0x9efd, 0x9efd, 0x96fd, 0x9efd, 0x96fd, 0x9539, 0x81f1, 0x9171, 0xb0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb911, 0xacfa, 0xb458, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9d2, 0xc9d3, 0xc9d3, 0xc9b3, 0x001f, 0x003f, 0x003f, 0x00bf, 0x311c, 0xc0d1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x6278, 0x053f, 0x04ff, 0x04bf, 0x049f, 0x0696, 0x07f2, 0x07f7, 0x07fc, 0x07ff, 0x2e3c, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f1, 0x8912, 0xb0f1, 0xb0f1, 0xb0d1, 0x48f0, 0x28f0, 0x28ef, 0x28cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x011a, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x10d3, 0x0119, 0x00f9, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x00f6, 0x18ad, 0x18ad, 0x208d, 0x08f3, 0x0119, 0x00f9, 0x18ae, 0x18ae, 0x18ce, 0x00f9, 0x0119, 0x08f3, 0x18ad, 0x20ae, 0x18ad, 0x08f6, 0x011a, 0x08f3, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18cf, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x10d3, 0x08f3, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xc993, 0xc993, 0xc992, 0x96dc, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x8d79, 0x8191, 0x9151, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xabd7, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xabd7, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x9d5a, 0x96dd, 0x96dd, 0x96dd, 0x95da, 0x89f2, 0x8971, 0xb8d1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xa499, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dc, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x8c37, 0x8191, 0x9931, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xa499, 0x96dc, 0x96dd, 0x8c37, 0x8191, 0xa111, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x9d5a, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x9d5a, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x96dd, 0x8cd8, 0x8191, 0x9951, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xac79, 0xacf9, 0xc992, 0xc993, 0xc9b2, 0xc992, 0xc992, 0xc993, 0xc993, 0xc993, 0xc992, 0xc992, 0xc992, 0xc993, 0xc993, 0xc993, 0x003f, 0x003f, 0x003f, 0x00bf, 0x011f, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x79d6, 0x051f, 0x051f, 0x04ff, 0x04bf, 0x0638, 0x07f1, 0x07f7, 0x07fc, 0x07ff, 0x2e3c, 0xb0f1, 0xb0f2, 0xb0f1, 0xb0f1, 0x80f2, 0xb0f1, 0xb0f1, 0xb0f2, 0x3110, 0x30f0, 0x28cf, 0x28ef, 0x20ce, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x011a, 0x0119, 0x10d0, 0x18ad, 0x18ad, 0x18d1, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0118, 0x18ae, 0x18ad, 0x18ad, 0x18ce, 0x0119, 0x0119, 0x0118, 0x08f5, 0x00f8, 0x0119, 0x0119, 0x18cf, 0x18ad, 0x18ad, 0x18ad, 0x00f8, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18d0, 0x0119, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ce, 0x0117, 0x011a, 0x0119, 0x0119, 0x011a, 0x00f7, 0x18ce, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x10d2, 0x08f3, 0x10f3, 0x10d2, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xc972, 0xc972, 0xc972, 0x8ebc, 0x8ebd, 0x8ebd, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebd, 0x8d7a, 0x8191, 0x9151, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xabb7, 0x8ebd, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebd, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xabb7, 0x8ebc, 0x8ebc, 0x8ebc, 0x8edc, 0x8ebc, 0x8edd, 0x8ebc, 0x8ebc, 0x8ebd, 0x8ebc, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x9d39, 0x8ebd, 0x8edd, 0x8dba, 0x81f2, 0x9171, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc8b1, 0xc8b2, 0xc0b1, 0xc8b2, 0xc8b1, 0xc8b1, 0xc0d1, 0xc0b1, 0xc0d1, 0xc0d1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xa437, 0x8ebc, 0x8edd, 0x8ebc, 0x8ebd, 0x8ebc, 0x8ebc, 0x8ebd, 0x8ebc, 0x8ebd, 0x8ebd, 0x8cd8, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc8b2, 0xc8b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc8b1, 0xa4d9, 0x8ebc, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc8b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0x9d3a, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8c37, 0x8191, 0xa131, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x9d5a, 0x8ebc, 0x8ebc, 0x8edc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8cd8, 0x8191, 0x9951, 0xc8b1, 0xc0b1, 0xc8b1, 0xc8b2, 0xc8b1, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc8b1, 0xc8b1, 0xc8d1, 0xa478, 0xa4d9, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0xc972, 0x003f, 0x003f, 0x001f, 0x009f, 0x00df, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x9174, 0x049f, 0x057f, 0x051f, 0x04ff, 0x0619, 0x07f1, 0x07f6, 0x07fc, 0x07ff, 0x35bb, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f1, 0x6912, 0xb0f1, 0xb0f1, 0x98f1, 0x30f0, 0x30f0, 0x28ef, 0x28cf, 0x28ef, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x10d3, 0x20ad, 0x18ad, 0x10d3, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18d0, 0x011a, 0x011a, 0x10d0, 0x18ad, 0x18ad, 0x20ad, 0x10d2, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x18b0, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x0119, 0x00f9, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f5, 0x011a, 0x0119, 0x0117, 0x00f7, 0x00f9, 0x0119, 0x08f5, 0x20ad, 0x20ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x011a, 0x00fa, 0x011a, 0x0119, 0x08f7, 0x18ce, 0x18ad, 0x20ad, 0x18ae, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0xc952, 0xc952, 0xc952, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8d59, 0x8191, 0x9171, 0xc8f2, 0xc8f1, 0xc8f2, 0xc8f2, 0xc8f2, 0xc8f1, 0xc8f2, 0xabd7, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8c36, 0x8191, 0xa931, 0xc8f2, 0xc8f1, 0xc8f2, 0xc8f2, 0xc8f2, 0xc8f2, 0xc0f2, 0xabb7, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8437, 0x8191, 0xa951, 0xc8f1, 0xc8f1, 0xc8f2, 0xc8f1, 0xc8f1, 0xc8f2, 0xc8f1, 0x9d3a, 0x8ebc, 0x8e1b, 0x81f2, 0x8971, 0xb912, 0xc8f1, 0xc8f1, 0xc8f2, 0xc8f1, 0xc8f1, 0xc8f1, 0xc8f2, 0xc8d1, 0xc112, 0xc8f2, 0xc8f2, 0xc8f2, 0xc8d1, 0xc8f2, 0xc8d1, 0xc8f2, 0xc0f1, 0xc8f1, 0xc8f2, 0xc8f1, 0xc8f2, 0xc0f1, 0xa498, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8dba, 0x8991, 0x8991, 0xc0f1, 0xc8f2, 0xc0f2, 0xc8f1, 0xc8f2, 0xc8f1, 0xc0f1, 0xc8f2, 0xc8f1, 0xc8f2, 0xc0f2, 0xc8f1, 0xc0f1, 0xc8f2, 0xc8f1, 0xc8f2, 0xc8f2, 0xc8f2, 0xc8f1, 0xc8f1, 0xc0f2, 0xc132, 0x8e5c, 0x8c17, 0x8191, 0xa931, 0xc8f2, 0xc8f2, 0xc8f2, 0xc8f2, 0xc8f1, 0xc8f2, 0xc8f2, 0x9d59, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8c17, 0x8191, 0xa951, 0xc8f1, 0xc8f1, 0xc8f2, 0xc8f1, 0xc8f1, 0xc8f2, 0xc8f1, 0x9d5a, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebd, 0x8dba, 0x81f2, 0x8991, 0xc111, 0xc8f1, 0xc8f1, 0xc8f1, 0xc0f2, 0xc8f1, 0xc8f1, 0xc0f2, 0xc8d2, 0xc8f1, 0xc8f2, 0xc0f1, 0xc0f1, 0xc8f2, 0xc0f1, 0xc8f1, 0xc8f2, 0xc8f2, 0xc8f1, 0xc8f1, 0xc8f2, 0xc152, 0x95fb, 0xa4b8, 0xc152, 0xc952, 0xc952, 0xc952, 0xc972, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0x001f, 0x001f, 0x001f, 0x007f, 0x00df, 0x68b7, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xa8f3, 0x041f, 0x057f, 0x053f, 0x051f, 0x05f9, 0x07f0, 0x07f6, 0x07fc, 0x07ff, 0x5c78, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f1, 0x5912, 0xb0f1, 0xb0f1, 0x90f1, 0x30f0, 0x30ef, 0x30ef, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ae, 0x20ce, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f4, 0x0119, 0x011a, 0x00f7, 0x00f8, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x0117, 0x0119, 0x08f6, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cf, 0x08f3, 0x00f6, 0x08f3, 0x18af, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x00f6, 0x0119, 0x0118, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18cd, 0x20ad, 0x18ad, 0x10cf, 0x00f9, 0x0119, 0x0117, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0119, 0x0119, 0x08f3, 0x18cd, 0x20ae, 0x10d3, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x08f5, 0x0119, 0x0119, 0x0117, 0x00f7, 0x0119, 0x0119, 0x08f5, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xc932, 0xc932, 0xc932, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8d79, 0x8191, 0x9171, 0xc132, 0xc131, 0xc912, 0xc912, 0xc132, 0xc911, 0xc912, 0xabf7, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x96bc, 0x8c36, 0x8191, 0xa951, 0xc912, 0xc911, 0xc912, 0xc912, 0xc112, 0xc912, 0xc912, 0xabf7, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8ebc, 0x8c36, 0x8191, 0xa951, 0xc912, 0xc912, 0xc912, 0xc911, 0xc911, 0xc912, 0xc912, 0x9d59, 0x8ebc, 0x8ad4, 0x8191, 0xb152, 0xc912, 0xc131, 0xc912, 0xc912, 0xc912, 0xc912, 0xc912, 0xc912, 0xc932, 0xc912, 0xc912, 0xc912, 0xc912, 0xc911, 0xc112, 0xc932, 0xc912, 0xc912, 0xc932, 0xc911, 0xc912, 0xc912, 0xc932, 0xc131, 0x9dba, 0x8ebc, 0x96bc, 0x8ebc, 0x8edc, 0x96bb, 0x8ebc, 0x8edc, 0x82d4, 0x8191, 0xb932, 0xc912, 0xc112, 0xc912, 0xc112, 0xc912, 0xc112, 0xc912, 0xc911, 0xc911, 0xc932, 0xc911, 0xc131, 0xc912, 0xc132, 0xc131, 0xc912, 0xc912, 0xc911, 0xc911, 0xc131, 0xc912, 0xc912, 0xb356, 0x8c36, 0x8191, 0xa151, 0xc912, 0xc912, 0xc912, 0xc912, 0xc912, 0xc912, 0xc112, 0x9d59, 0x8ebc, 0x96bc, 0x8ebc, 0x8ebc, 0x8c37, 0x8191, 0xa951, 0xc912, 0xc912, 0xc912, 0xc911, 0xc911, 0xc912, 0xc912, 0x9d59, 0x8ebc, 0x8ebc, 0x8ebc, 0x96bc, 0x8ebc, 0x82f4, 0x8991, 0xb151, 0xc912, 0xc912, 0xc932, 0xc912, 0xc912, 0xc131, 0xc932, 0xc912, 0xc911, 0xc911, 0xc932, 0xc911, 0xc912, 0xc911, 0xc932, 0xc932, 0xc112, 0xc911, 0xc132, 0xc912, 0xc912, 0xc932, 0xb336, 0x96bc, 0xa4f9, 0xc192, 0xc932, 0xc932, 0xc932, 0xc932, 0xc932, 0xc932, 0xc932, 0xc932, 0xc932, 0xc932, 0x001f, 0x001f, 0x001f, 0x007f, 0x00bf, 0x009f, 0x90b5, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x0b9e, 0x053f, 0x057f, 0x053f, 0x05da, 0x07ef, 0x07f5, 0x07fb, 0x07ff, 0x5478, 0xb0d1, 0xb0f1, 0xb0f1, 0x9111, 0x5912, 0xa8f1, 0xb0f1, 0x70f1, 0x30f0, 0x28ef, 0x20ef, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x011a, 0x0119, 0x10d3, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x10d2, 0x18ae, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x00f8, 0x0119, 0x08f7, 0x18ae, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18d0, 0x0118, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x10d0, 0x20ae, 0x18ad, 0x10d0, 0x0119, 0x0119, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xc912, 0xc912, 0xc912, 0x9edb, 0x9edb, 0x9edb, 0x9edc, 0x9edb, 0x9edb, 0x9edb, 0x9578, 0x8191, 0x9991, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xb417, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9436, 0x8191, 0xa972, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xa518, 0x9edb, 0x96db, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9436, 0x8191, 0xa171, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xa579, 0x94d8, 0x8191, 0x9991, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc152, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc253, 0xc2b4, 0xb952, 0xc152, 0xc952, 0xc152, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xbab5, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x9599, 0x8191, 0x91b1, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc1f3, 0xc2b5, 0xb952, 0xc152, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc972, 0xc952, 0xc952, 0xc972, 0xc1b2, 0x9436, 0x8191, 0xa972, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xa579, 0x9edb, 0x9edb, 0x9edb, 0x9edb, 0x8c36, 0x8991, 0xa171, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xa579, 0x9edb, 0x9edc, 0x9edb, 0x9edb, 0x9598, 0x8191, 0x9191, 0xc952, 0xc952, 0xc952, 0xc952, 0xc152, 0xc952, 0xc172, 0xc952, 0xc952, 0xc952, 0xc1f3, 0xc2b4, 0xb952, 0xc152, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xc952, 0xa61a, 0x9edc, 0xa5da, 0xc172, 0xc912, 0xc911, 0xc911, 0xc912, 0xc912, 0xc111, 0xc912, 0xc912, 0xc912, 0x001f, 0x001f, 0x001f, 0x005f, 0x007f, 0x007f, 0x6098, 0xc0b1, 0xb8b1, 0xc0b1, 0xc0b1, 0x2afc, 0x04ff, 0x05bf, 0x055f, 0x05fb, 0x07cf, 0x07f4, 0x07fc, 0x07ff, 0x5c79, 0xb0f1, 0xb0f1, 0xb0f1, 0x8112, 0x5912, 0xb0f1, 0xb0f1, 0x68f1, 0x30f0, 0x30ef, 0x30cf, 0x28cf, 0x20cf, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ae, 0x18ad, 0x10d2, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ae, 0x18ad, 0x0119, 0x011a, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x00f6, 0x0119, 0x0119, 0x10d2, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x10d3, 0x0119, 0x0119, 0x08d6, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0x18ad, 0x18ae, 0x18ad, 0x18d0, 0x00f8, 0x0119, 0x00f7, 0x18ae, 0x20ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x00f8, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x18ae, 0x08f3, 0x0119, 0x0119, 0x18ad, 0x20ad, 0x18ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x18d0, 0x18ad, 0x18ad, 0x10d0, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xc8f1, 0xc8f1, 0xc8f2, 0xa6fb, 0xa6fa, 0xa6fa, 0xa6fb, 0xa6fa, 0xa6da, 0xa6fa, 0x9d98, 0x8191, 0x9191, 0xc972, 0xc992, 0xc992, 0xc972, 0xc992, 0xc992, 0xc992, 0xb436, 0xa6fb, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0x9436, 0x8191, 0xa992, 0xc992, 0xc992, 0xc972, 0xc972, 0xc972, 0xc992, 0xc992, 0xad98, 0xa6da, 0xa6da, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0xa6fa, 0x9436, 0x8191, 0xa992, 0xc993, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xad99, 0x8a32, 0x8991, 0xc192, 0xc992, 0xc992, 0xc972, 0xc992, 0xc992, 0xc973, 0xc992, 0xc992, 0xc992, 0xbc36, 0xa69a, 0xa6fa, 0xa6fa, 0xa69a, 0x9395, 0x8991, 0xb992, 0xc993, 0xc972, 0xc972, 0xc992, 0xc992, 0xc972, 0xc992, 0xc972, 0xc972, 0xad98, 0xa6db, 0xa6da, 0xa6fa, 0xa6fb, 0xa6fa, 0x9395, 0x8191, 0xb192, 0xc992, 0xc992, 0xc992, 0xc993, 0xc972, 0xc972, 0xc992, 0xc972, 0xc233, 0xad98, 0xa6fa, 0xa6fb, 0xa639, 0x8a93, 0x9992, 0xc192, 0xc972, 0xc992, 0xc992, 0xc992, 0xc972, 0xc992, 0xc972, 0xc972, 0x9a93, 0x8191, 0xa992, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xad98, 0xa6fa, 0xa6fb, 0xa6fa, 0xa6fa, 0x9436, 0x8191, 0xa992, 0xc993, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xad98, 0xa6da, 0xa6da, 0xa6fa, 0xa6da, 0x8b95, 0x8191, 0xb192, 0xc972, 0xc992, 0xc972, 0xc992, 0xc992, 0xc972, 0xc992, 0xc972, 0xc294, 0xadf9, 0xa6fa, 0xa6da, 0xa69a, 0x9334, 0x9191, 0xb992, 0xc992, 0xc993, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xc992, 0xb497, 0xaefb, 0xaefb, 0xb5d9, 0xc952, 0xc8f1, 0xc8f2, 0xc0f1, 0xc8f1, 0xc8f1, 0xc8f1, 0xc8f1, 0xc8f1, 0x001f, 0x001f, 0x001f, 0x003f, 0x007f, 0x005f, 0x7897, 0xc0b1, 0xc0d1, 0xc0b1, 0xb8d1, 0x6238, 0x04df, 0x05bf, 0x059f, 0x05fa, 0x07ce, 0x07f4, 0x07fc, 0x07ff, 0x5c78, 0xb0f1, 0xb0f1, 0xb0f1, 0x7112, 0x5912, 0xb0f1, 0xa8f1, 0x5110, 0x30f0, 0x30cf, 0x28cf, 0x28cf, 0x28cf, 0x20ae, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x20ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x08f6, 0x18d0, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x08f6, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18d0, 0x00f8, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x00f8, 0x0119, 0x00f7, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x08f5, 0x0119, 0x0119, 0x00f7, 0x00f7, 0x0119, 0x0119, 0x08f5, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x011a, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f3, 0x18ad, 0x18ad, 0x08f3, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0xc0d1, 0xc0d1, 0xc8d2, 0xb71a, 0xb71a, 0xb71a, 0xaefa, 0xb71a, 0xaf1a, 0xaefa, 0xa598, 0x8191, 0x9191, 0xc9b3, 0xc9b3, 0xc9d3, 0xc9d3, 0xc9b2, 0xc9b3, 0xc9d3, 0xbc76, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0x9c55, 0x8191, 0xa9b2, 0xc9d3, 0xc9d3, 0xc9b3, 0xc9b2, 0xc9b3, 0xc9d3, 0xc9d3, 0xb5b8, 0xb71a, 0xaf1a, 0xb71a, 0xb6fa, 0xb71a, 0xb71a, 0xb71a, 0xb71a, 0xb6fa, 0xaf1a, 0x9c56, 0x8191, 0xa992, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xa3b5, 0x8191, 0x9992, 0xc9b2, 0xc9b3, 0xc9d2, 0xc9b2, 0xc9b3, 0xc9b2, 0xc9b3, 0xc9d3, 0xca13, 0xbdb8, 0xaefa, 0xaf1a, 0xb71a, 0xb6fa, 0xaefa, 0xaf19, 0xa4f7, 0x8991, 0xb1b2, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9d2, 0xc9b3, 0xc9b3, 0xc314, 0xaf1a, 0xaf1a, 0xaef9, 0xaf1a, 0xaf1a, 0x89f1, 0x8191, 0xc1b2, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b2, 0xc9b2, 0xc9d3, 0xc9b3, 0xcab4, 0xb6b9, 0xaf1a, 0xb71a, 0xaefa, 0xb71a, 0xb6b9, 0x8a93, 0x8991, 0xc1d2, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b2, 0xc9d3, 0xc9b2, 0xa992, 0x8191, 0xa9b2, 0xc9d3, 0xc9b3, 0xc9d3, 0xc9b2, 0xc9b2, 0xc9b2, 0xc9b3, 0xb5b8, 0xaf1a, 0xaefa, 0xaf1a, 0xb71a, 0x9c56, 0x8191, 0xa992, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xb5b8, 0xb6fa, 0xaf1a, 0xaf1a, 0xb6fa, 0x89f2, 0x8191, 0xc1b2, 0xc9b3, 0xc9b2, 0xc9d3, 0xc9b3, 0xc9b3, 0xc9b2, 0xc9d3, 0xcab4, 0xb6b9, 0xaf1a, 0xb71a, 0xb71a, 0xb6fa, 0xb71a, 0x92f3, 0x89b1, 0xc1b2, 0xc9d3, 0xc9b3, 0xc9b3, 0xc9d3, 0xc9d3, 0xc9b3, 0xc9d3, 0xc315, 0xb71a, 0xb71a, 0xb71a, 0xbdd9, 0xc132, 0xc0d1, 0xc8d1, 0xc8d1, 0xc8d1, 0xc8d1, 0xc0d1, 0xc0d1, 0x001f, 0x001f, 0x001f, 0x003f, 0x007f, 0x007f, 0x6878, 0xb8b1, 0xc0b1, 0xc0d1, 0xb8d1, 0x9954, 0x047f, 0x05bf, 0x05bf, 0x061a, 0x07ce, 0x07f2, 0x07fc, 0x07ff, 0x5c78, 0xb0f1, 0xb0f1, 0xb0f1, 0x6112, 0x5912, 0xa8f1, 0xa8f1, 0x60f0, 0x30f0, 0x28ef, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x0119, 0x00f9, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x08f6, 0x0119, 0x0119, 0x0119, 0x0118, 0x00f6, 0x10d3, 0x08f6, 0x0118, 0x0119, 0x0119, 0x0119, 0x08f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x208d, 0x18b0, 0x00f8, 0x0139, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x00f8, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f7, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x08f5, 0x0119, 0x0119, 0x00f7, 0x00f7, 0x0119, 0x0119, 0x08f4, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0xc0b1, 0xc8b1, 0xc0b1, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xa4b5, 0x8191, 0xa1b2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xd1f3, 0xc496, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xa455, 0x8191, 0xa9d2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xbdd8, 0xbf19, 0xbf19, 0xbf19, 0xbf39, 0xbf19, 0xbf19, 0xbf39, 0xbf19, 0xbf39, 0xbf39, 0xa455, 0x8191, 0xa9d2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0x99f2, 0x8991, 0xb1d2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f2, 0xc577, 0xbf19, 0xbf39, 0xbf39, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0x9bf5, 0x8191, 0xb1d2, 0xc9f3, 0xc9f3, 0xd1f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xbe78, 0xbf19, 0xbf19, 0xbf19, 0xb6b9, 0x8191, 0x8991, 0xc9f3, 0xc9f3, 0xc9f2, 0xc9f3, 0xc9f3, 0xc9d3, 0xc9f3, 0xc9f3, 0xbed8, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0xbf39, 0xad57, 0x8191, 0x99b2, 0xc9f3, 0xc9f2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xb9d3, 0x8191, 0xa9b2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xbdd8, 0xbf19, 0xbf19, 0xbf19, 0xbf19, 0x9c75, 0x8191, 0xa9d2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xbdd8, 0xbf19, 0xbf19, 0xbf19, 0xb6b8, 0x8191, 0x8191, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xbe78, 0xbf19, 0xbf39, 0xbf19, 0xbf39, 0xbf19, 0xbf19, 0xadb7, 0x8191, 0x91b1, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f2, 0xc9f3, 0xc9f3, 0xc9f3, 0xc9f3, 0xc71a, 0xbf1a, 0xc73a, 0xbf3a, 0xc659, 0xc9d3, 0xc0b1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc8b1, 0xc0b1, 0x001f, 0x001f, 0x001f, 0x003f, 0x005f, 0x003f, 0x001f, 0x7076, 0xc0d1, 0xb8d1, 0xb8d1, 0xb8d1, 0x0bff, 0x05df, 0x05bf, 0x0639, 0x07cd, 0x07f2, 0x07fc, 0x07ff, 0x63f7, 0xb0f1, 0xb0f1, 0xb0f1, 0x4132, 0x4111, 0xa0f1, 0xb0f1, 0x90f1, 0x30f0, 0x28ef, 0x28ce, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x00f9, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d1, 0x0118, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f8, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x00f8, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18cd, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x00f9, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x10d1, 0x08f3, 0x08f3, 0x10d2, 0x18cd, 0x20ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f8, 0x10d0, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ce, 0x00f7, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18cd, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ae, 0xc0b1, 0xc0b1, 0xc0b1, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xa475, 0x8991, 0xa9d2, 0xca13, 0xca33, 0xca33, 0xca34, 0xca13, 0xca33, 0xca33, 0xccb6, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xa455, 0x8191, 0xa9d2, 0xca33, 0xca33, 0xca13, 0xca33, 0xca33, 0xca33, 0xd213, 0xc5f7, 0xc738, 0xc738, 0xc738, 0xc738, 0xc739, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xa475, 0x8191, 0xa9d2, 0xca13, 0xca33, 0xca33, 0xca33, 0xca33, 0xca13, 0xca33, 0x91b1, 0x8191, 0xca13, 0xca33, 0xca33, 0xca33, 0xca33, 0xca13, 0xca33, 0xca13, 0xc455, 0xc738, 0xc739, 0xc738, 0xc738, 0xc738, 0xc738, 0xc739, 0xc738, 0xc738, 0xc738, 0x8a52, 0x8991, 0xc213, 0xca13, 0xca13, 0xca13, 0xca13, 0xca33, 0xca13, 0xca33, 0xcd56, 0xc738, 0xc738, 0xc739, 0xb5d7, 0x8191, 0x91b1, 0xca13, 0xca13, 0xca13, 0xd233, 0xca33, 0xca33, 0xca33, 0xcb55, 0xcf38, 0xc738, 0xc738, 0xc738, 0xc738, 0xc738, 0xc739, 0xc738, 0x8191, 0x8191, 0xca13, 0xca13, 0xca13, 0xca33, 0xca13, 0xca33, 0xd233, 0xca13, 0x8191, 0xa9d2, 0xca33, 0xca33, 0xca13, 0xca13, 0xca33, 0xca13, 0xca33, 0xcdf7, 0xc738, 0xc738, 0xc738, 0xc739, 0xa475, 0x8191, 0xa9d2, 0xca13, 0xca33, 0xca33, 0xca33, 0xca33, 0xca13, 0xca33, 0xc5f7, 0xc738, 0xc738, 0xc738, 0xb5d6, 0x8191, 0x99b2, 0xca33, 0xca33, 0xd213, 0xca33, 0xca33, 0xca33, 0xca33, 0xcb74, 0xc739, 0xc738, 0xc738, 0xc738, 0xc738, 0xc739, 0xc738, 0xc738, 0x8ab2, 0x8191, 0xba13, 0xca13, 0xca13, 0xca33, 0xca13, 0xca33, 0xca33, 0xca13, 0xcf39, 0xc739, 0xc759, 0xcf3a, 0xcf39, 0xced9, 0xc9f3, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x003f, 0x001f, 0x001f, 0x9894, 0xb8d1, 0xb8d1, 0xb8d1, 0x42da, 0x059f, 0x05ff, 0x0678, 0x07cc, 0x07f1, 0x07fc, 0x07ff, 0x82b5, 0xa8f1, 0xb0f1, 0x98f2, 0x4132, 0x3912, 0x70f1, 0xa8f1, 0xa8f1, 0x50f0, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cf, 0x10d4, 0x08f5, 0x08f6, 0x08f4, 0x08d3, 0x10cf, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x00f9, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x0118, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f8, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x10d2, 0x10d3, 0x08f3, 0x10d2, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0xc0b1, 0xc0b1, 0xc0b1, 0xcf57, 0xd758, 0xd758, 0xcf58, 0xd758, 0xcf58, 0xd758, 0xac74, 0x8191, 0xa9f2, 0xca53, 0xd253, 0xca54, 0xca53, 0xca53, 0xca53, 0xca54, 0xccd6, 0xcf58, 0xd758, 0xd758, 0xd758, 0xd758, 0xd758, 0xd758, 0xd758, 0xd758, 0xcf58, 0xac75, 0x8191, 0xa9f2, 0xca53, 0xca53, 0xd253, 0xca53, 0xca53, 0xca53, 0xd254, 0xce17, 0xcf57, 0xd758, 0xcf58, 0xd758, 0xcf58, 0xd758, 0xd758, 0xcf58, 0xd758, 0xcf58, 0xac74, 0x8191, 0xa9f2, 0xca53, 0xca54, 0xd253, 0xca53, 0xca53, 0xca54, 0xca53, 0x99d2, 0x89b1, 0xca53, 0xca53, 0xca53, 0xca53, 0xd253, 0xca53, 0xca53, 0xca54, 0xd6b7, 0xd758, 0xcf58, 0xcf57, 0xcf58, 0xd758, 0xd757, 0xd758, 0xd757, 0xd758, 0xcf58, 0xb535, 0x8191, 0xa1d2, 0xca53, 0xca53, 0xca53, 0xd254, 0xca73, 0xca53, 0xca53, 0xcc95, 0xd758, 0xd758, 0xcf58, 0xbdd6, 0x8191, 0x99d2, 0xca53, 0xca53, 0xca54, 0xca53, 0xca53, 0xd254, 0xca54, 0xd435, 0xd758, 0xd758, 0xcf58, 0xd758, 0xd758, 0xcf57, 0xd738, 0xcf58, 0x9af3, 0x8991, 0xc213, 0xca54, 0xca53, 0xca53, 0xd253, 0xca53, 0xca54, 0xca73, 0x8191, 0xa9f2, 0xca53, 0xd253, 0xd253, 0xca54, 0xd253, 0xca53, 0xca54, 0xce17, 0xcf58, 0xd758, 0xd758, 0xcf58, 0xac74, 0x8191, 0xa9f2, 0xca53, 0xca54, 0xd253, 0xca53, 0xca53, 0xca54, 0xca53, 0xd617, 0xd758, 0xcf58, 0xcf58, 0xbdd6, 0x8191, 0x91b2, 0xca53, 0xd254, 0xca53, 0xca53, 0xca54, 0xd253, 0xd253, 0xccd6, 0xd758, 0xd758, 0xd758, 0xd758, 0xcf57, 0xd757, 0xcf58, 0xd758, 0x9af3, 0x8191, 0xba33, 0xca54, 0xca53, 0xd253, 0xca54, 0xca53, 0xd253, 0xca53, 0xd758, 0xd758, 0xdf59, 0xd779, 0xd759, 0xd759, 0xd6f9, 0xc1f2, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x001f, 0x001f, 0x001f, 0x003f, 0x001f, 0x001f, 0x001f, 0x001f, 0x183e, 0xb0d2, 0xb8d1, 0xb8d1, 0x9974, 0x059f, 0x061f, 0x0698, 0x07cc, 0x07f0, 0x07fc, 0x07ff, 0x82b5, 0xb0f1, 0xb0f1, 0x88f1, 0x4132, 0x4111, 0x3910, 0x98f1, 0xa8f2, 0x88f1, 0x28ef, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x10d0, 0x0118, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x10cf, 0x0118, 0x00f9, 0x08f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x0118, 0x10d0, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0xc0b1, 0xc0b1, 0xc0b1, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xb494, 0x8191, 0xaa12, 0xca94, 0xca74, 0xca94, 0xca94, 0xca94, 0xca94, 0xd294, 0xd4f5, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xb474, 0x8191, 0xaa12, 0xca94, 0xca94, 0xd294, 0xca94, 0xd294, 0xca94, 0xd294, 0xde36, 0xdf77, 0xdf77, 0xdf57, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xb494, 0x8191, 0xaa12, 0xca94, 0xd294, 0xd294, 0xd294, 0xd294, 0xd294, 0xd294, 0x99d2, 0x91d2, 0xd294, 0xca94, 0xd294, 0xca94, 0xd294, 0xca94, 0xca94, 0xd3d4, 0xdf77, 0xdf77, 0xdf77, 0xdf76, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf57, 0xdf77, 0xdf77, 0x8191, 0x8992, 0xca94, 0xca94, 0xca94, 0xd294, 0xca94, 0xca93, 0xca94, 0xd3d5, 0xdf77, 0xdf77, 0xdf77, 0xc5f5, 0x8191, 0x99d2, 0xca94, 0xca94, 0xd273, 0xca94, 0xd294, 0xca94, 0xd294, 0xd515, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0x9b12, 0x8191, 0xba53, 0xca94, 0xca94, 0xd294, 0xca94, 0xca93, 0xd294, 0xca94, 0x8191, 0xaa12, 0xd294, 0xd294, 0xd294, 0xca94, 0xca94, 0xd294, 0xd294, 0xde36, 0xdf77, 0xdf77, 0xdf57, 0xdf77, 0xb474, 0x8191, 0xaa12, 0xca94, 0xd294, 0xd294, 0xd294, 0xd294, 0xd294, 0xd294, 0xde36, 0xdf77, 0xdf77, 0xdf77, 0xc5f5, 0x8191, 0x99d2, 0xd294, 0xca94, 0xca94, 0xd294, 0xca94, 0xca94, 0xca93, 0xd4f5, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0xdf77, 0x9b12, 0x8191, 0xba53, 0xd294, 0xca94, 0xca94, 0xd294, 0xca94, 0xd294, 0xca94, 0xdf78, 0xdf78, 0xdf78, 0xdf78, 0xdf78, 0xdf78, 0xe779, 0xdf19, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x385b, 0xb8d1, 0xb8d1, 0xb8d1, 0x2c3c, 0x061f, 0x06b7, 0x07cb, 0x07f0, 0x07fb, 0x07ff, 0xb0f1, 0xb0f1, 0xa8f1, 0x7912, 0x4132, 0x4111, 0x3911, 0x4110, 0xa0f1, 0xa8f1, 0x48ef, 0x28ce, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ad, 0x10cf, 0x0118, 0x00f9, 0x08f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x00f9, 0x0119, 0x08f7, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0118, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x208e, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xb8d1, 0xb8d1, 0xc0d1, 0xe776, 0xe796, 0xe797, 0xe797, 0xe796, 0xe796, 0xe796, 0xb494, 0x8191, 0xaa33, 0xd2b4, 0xd2b4, 0xd2b4, 0xcab4, 0xd2d4, 0xd2b4, 0xd2b4, 0xdd35, 0xe776, 0xe796, 0xe796, 0xe796, 0xe796, 0xe796, 0xe796, 0xe796, 0xe796, 0xe796, 0xb474, 0x8191, 0xaa33, 0xd2d4, 0xd2d4, 0xd2d4, 0xd2b4, 0xd2b4, 0xcad4, 0xd2d4, 0xe656, 0xef96, 0xe776, 0xe797, 0xe796, 0xe796, 0xe776, 0xe777, 0xe796, 0xe796, 0xe796, 0xb494, 0x8191, 0xaa33, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0x99d2, 0x99f2, 0xcab4, 0xd2b4, 0xd2d4, 0xd2b4, 0xd2b4, 0xcad4, 0xd2b4, 0xd3f5, 0xe777, 0xe797, 0xef97, 0xe796, 0xe796, 0xe776, 0xe777, 0xe796, 0xe796, 0xe796, 0xe777, 0xef97, 0x8191, 0x8191, 0xd2b4, 0xd2b4, 0xd2d4, 0xd2d4, 0xd2b4, 0xd2b4, 0xcad4, 0xd3d5, 0xe796, 0xe796, 0xe796, 0xce15, 0x8191, 0x99f2, 0xcad4, 0xd2b4, 0xd2d4, 0xd2b4, 0xd2b4, 0xcab4, 0xd2b4, 0xdd35, 0xe777, 0xef76, 0xe796, 0xe797, 0xe797, 0xe776, 0xe796, 0xe776, 0xc534, 0xb494, 0xcc15, 0xd3f5, 0xdbf4, 0xdbf4, 0xdbf5, 0xd3f5, 0xd3f4, 0xcb34, 0x8191, 0xaa32, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2d4, 0xd2b4, 0xcab4, 0xe656, 0xe776, 0xe796, 0xe796, 0xe776, 0xb494, 0x8191, 0xaa33, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xde56, 0xe796, 0xe796, 0xe796, 0xce15, 0x8191, 0x99f2, 0xd2b4, 0xd2b4, 0xd2d4, 0xd2b4, 0xd2d4, 0xcad4, 0xcad4, 0xdd15, 0xe796, 0xe796, 0xe776, 0xe796, 0xef96, 0xe796, 0xe796, 0xe796, 0x9b13, 0x8191, 0xba73, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xd2b4, 0xe797, 0xef97, 0xef77, 0xef97, 0xef78, 0xef98, 0xef98, 0xef98, 0xc992, 0xb8d1, 0xc0d1, 0xc0b1, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x7096, 0xb8d1, 0xb8d1, 0x8a35, 0x063f, 0x06d6, 0x07ea, 0x07f1, 0x07fc, 0x07ff, 0xa8f1, 0xa8f1, 0xa8f1, 0x6132, 0x4132, 0x4111, 0x38f1, 0x3110, 0x48f0, 0xa8f1, 0x98f1, 0x30cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x20ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10d0, 0x00f9, 0x0119, 0x08f7, 0x18ae, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18cf, 0x00f8, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x0118, 0x18d0, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xb8d1, 0xb8d1, 0xb8d1, 0xf796, 0xf7b6, 0xf796, 0xf795, 0xf795, 0xf796, 0xefb6, 0xbc93, 0x8191, 0xaa52, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2f5, 0xd2f5, 0xd2f4, 0xdd55, 0xf7b6, 0xf7b6, 0xf7b6, 0xf7b6, 0xf7b6, 0xf7b6, 0xf7b6, 0xf7b6, 0xf7b6, 0xefb6, 0xbc93, 0x8191, 0xaa53, 0xd2f5, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xe675, 0xf796, 0xf795, 0xf796, 0xf796, 0xf796, 0xf7b6, 0xf7b5, 0xf7b5, 0xef96, 0xf796, 0xbc93, 0x8191, 0xaa33, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0x99f2, 0x99f2, 0xd2f5, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2d4, 0xd2f4, 0xd2f4, 0xdc75, 0xf795, 0xf795, 0xf795, 0xf796, 0xf7b5, 0xf796, 0xf796, 0xf796, 0xf796, 0xefb6, 0xf7b5, 0xf796, 0x8191, 0x8991, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xdc15, 0xf796, 0xf796, 0xf796, 0xd615, 0x8191, 0x99f2, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f5, 0xd2f4, 0xd2f5, 0xe535, 0xf7b6, 0xf7b5, 0xf796, 0xefb6, 0xf796, 0xf795, 0xf7b6, 0xf796, 0xf7b6, 0xf795, 0xf796, 0xf796, 0xf795, 0xf7b6, 0xf795, 0xf7b6, 0xf796, 0xbc93, 0x8191, 0xaa53, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xee75, 0xf796, 0xf796, 0xf7b5, 0xf796, 0xbc93, 0x8191, 0xaa33, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xee75, 0xf796, 0xf7b5, 0xf795, 0xd634, 0x8191, 0x99f2, 0xd2f4, 0xd2f5, 0xd2f4, 0xd2f5, 0xd2f5, 0xd2f5, 0xd2d4, 0xe555, 0xf796, 0xf7b5, 0xf7b6, 0xf7b6, 0xf795, 0xf7b6, 0xf796, 0xf7b6, 0xa311, 0x8191, 0xba94, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xd2f4, 0xf796, 0xf796, 0xf797, 0xf797, 0xf797, 0xf7b7, 0xf798, 0xf798, 0xd273, 0xb8d1, 0xb8d1, 0xb8d1, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x98b4, 0xb8d1, 0xb8d1, 0x3c9b, 0x06f5, 0x07e9, 0x07f1, 0x07fd, 0x26bd, 0xb0f1, 0xb0f2, 0xb0f1, 0x4932, 0x4132, 0x4111, 0x3911, 0x3110, 0x30f0, 0x60f0, 0xa911, 0x70f0, 0x20ce, 0x20cf, 0x20ae, 0x20ce, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18cf, 0x00f8, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x00f8, 0x0119, 0x00f7, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x18ad, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x0118, 0x18d0, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xb8d1, 0xb8d1, 0xb8d1, 0xff94, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb4, 0xffb5, 0xc493, 0x8191, 0xaa53, 0xd315, 0xd335, 0xd335, 0xd335, 0xd334, 0xd315, 0xd335, 0xe575, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xc493, 0x8191, 0xaa53, 0xd335, 0xd335, 0xd314, 0xd315, 0xd335, 0xd335, 0xd335, 0xf675, 0xffb5, 0xffb4, 0xffb5, 0xffb5, 0xffb4, 0xffb4, 0xffb4, 0xffb5, 0xffb5, 0xff95, 0xc493, 0x8191, 0xaa53, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd315, 0xd335, 0x99f2, 0x99f2, 0xd335, 0xd314, 0xd315, 0xd335, 0xd335, 0xd315, 0xd335, 0xdc54, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb4, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb4, 0xffb5, 0x8191, 0x8191, 0xd334, 0xd315, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xdc34, 0xffb4, 0xffb5, 0xffb5, 0xde34, 0x8191, 0x99f2, 0xd314, 0xd335, 0xd315, 0xd334, 0xd334, 0xd335, 0xd335, 0xe574, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xffb4, 0xffb4, 0xffb5, 0xffb4, 0xffb5, 0xffb5, 0xffb5, 0xffb4, 0xffb5, 0xffb5, 0xc4b3, 0x8191, 0xaa53, 0xd335, 0xd335, 0xd314, 0xd315, 0xd335, 0xd335, 0xd335, 0xedf5, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xc493, 0x8191, 0xaa53, 0xd335, 0xd335, 0xd335, 0xd335, 0xd315, 0xd315, 0xd335, 0xf694, 0xffb5, 0xffb5, 0xffb5, 0xde14, 0x8191, 0x99f2, 0xd335, 0xd335, 0xd314, 0xd334, 0xd314, 0xd334, 0xd315, 0xe555, 0xffb5, 0xffb5, 0xffb5, 0xffb4, 0xffb5, 0xffb5, 0xffb5, 0xffb5, 0xa332, 0x8191, 0xbab4, 0xd335, 0xd335, 0xd335, 0xd315, 0xd334, 0xd335, 0xd335, 0xffb5, 0xffb6, 0xffb6, 0xffb6, 0xffb6, 0xffb6, 0xffb7, 0xffb8, 0xdbd4, 0xb8d2, 0xb8d1, 0xb8d1, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x083f, 0x70f7, 0xb8d1, 0xa952, 0x0e94, 0x07c9, 0x07f2, 0x07fd, 0x2e3c, 0xa8f1, 0xa8f1, 0x9911, 0x4132, 0x4132, 0x3911, 0x3910, 0x30f0, 0x30f0, 0x30ef, 0x58f0, 0xa8f1, 0x40cf, 0x20ae, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18b0, 0x00f8, 0x0119, 0x00f7, 0x18ae, 0x18cd, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x18cf, 0x00f8, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x00f7, 0x00f9, 0x0118, 0x18cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xb8d1, 0xb8d1, 0xb8d1, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe4e, 0xfe4e, 0xc3f0, 0x8191, 0xaa73, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xecd1, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xc3ef, 0x8191, 0xaa73, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd354, 0xf590, 0xfe4e, 0xfe4e, 0xfe2e, 0xfe2e, 0xfe4e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xc3ef, 0x8191, 0xaa73, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0x9a12, 0x91f2, 0xd355, 0xd354, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xdbd4, 0xfe4e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe4e, 0xfe2e, 0xfe4e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe4e, 0x8191, 0x8191, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xdc13, 0xfe4e, 0xfe2e, 0xfe2e, 0xe50f, 0x8191, 0x99f2, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd354, 0xecd1, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe4e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe2e, 0xfe4e, 0xfe4e, 0xfe2e, 0xfe2e, 0xc3cf, 0x8191, 0xaa73, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xe4d1, 0xfe4e, 0xfe2e, 0xfe2e, 0xfe4e, 0xc3d0, 0x8191, 0xaa73, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xf590, 0xfe4e, 0xfe2e, 0xfe2e, 0xe50f, 0x8191, 0x9a12, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xecd2, 0xfe2e, 0xfe4e, 0xfe2e, 0xfe4e, 0xfe4e, 0xfe4e, 0xfe4d, 0xfe2f, 0xa2b0, 0x8191, 0xc2f4, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xd355, 0xfe2f, 0xfe50, 0xfe50, 0xfe50, 0xfe51, 0xfe51, 0xfe52, 0xfe52, 0xe3d2, 0xb8d2, 0xb8d1, 0xb8d1, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x001f, 0x003f, 0x00df, 0x59f8, 0xb8d1, 0x8291, 0x07c9, 0x07f2, 0x07fe, 0x455a, 0xb0f1, 0xa8f1, 0x8112, 0x4132, 0x4132, 0x3911, 0x38f0, 0x30f0, 0x30ef, 0x28ef, 0x28cf, 0x50cf, 0x48ef, 0x20ae, 0x20ae, 0x20ce, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18af, 0x00f8, 0x0139, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18af, 0x0118, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f7, 0x0119, 0x00f8, 0x10cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0xb8d1, 0xb0d1, 0xb0d2, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc6d, 0xc30f, 0x81b1, 0xaa73, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd375, 0xec11, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc8d, 0xc30f, 0x8191, 0xaa93, 0xd375, 0xd375, 0xd395, 0xd395, 0xd375, 0xd395, 0xd396, 0xf42f, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc8d, 0xc30f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd395, 0x9a12, 0x8191, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xf44f, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc8d, 0xfc6d, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd396, 0xdbd3, 0xfc8d, 0xfc6d, 0xfc6d, 0xe3ce, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd376, 0xd395, 0xd395, 0xd395, 0xec11, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc6d, 0xfc8d, 0xc30f, 0x8191, 0xaa93, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xebf1, 0xfc8d, 0xfc6d, 0xfc8d, 0xfc6d, 0xc30f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd375, 0xd395, 0xf42f, 0xfc6d, 0xfc6d, 0xfc8d, 0xe3ce, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd375, 0xd395, 0xd376, 0xd395, 0xd395, 0xebf1, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc8d, 0xfc6d, 0xfc6d, 0xfc6d, 0xfc8d, 0xa250, 0x8191, 0xc314, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xfc8e, 0xfc8f, 0xfc8f, 0xfc8f, 0xfcb0, 0xfcb0, 0xfcb1, 0xfcb1, 0xf3b2, 0xb8d1, 0xb0f1, 0xb8d1, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x003f, 0x005f, 0x031f, 0x2d3b, 0x99b2, 0x454b, 0x07f3, 0x07fe, 0x5498, 0xb0f1, 0xa8f1, 0x6912, 0x4912, 0x4112, 0x3911, 0x3110, 0x30f0, 0x30ef, 0x30cf, 0x28cf, 0x20ce, 0x20ce, 0x20ce, 0x20cd, 0x20ce, 0x20ae, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18cd, 0x10d1, 0x08f3, 0x08d3, 0x10d1, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x00f8, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f6, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x00f7, 0x0119, 0x00f8, 0x18cf, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xb0f1, 0xb0f1, 0xb0d1, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xc30f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec11, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xc30f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf44f, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xc30f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0x9a12, 0x8191, 0xc334, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdbb4, 0xfc8e, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xdbd3, 0xfc8d, 0xfc8d, 0xfc8d, 0xe3ce, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec11, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xcb2f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xec11, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xc30f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf44f, 0xfc8d, 0xfc8d, 0xfc8d, 0xcb6f, 0x8191, 0x9a32, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec11, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xfc8d, 0xa250, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfc8e, 0xfc8f, 0xfcaf, 0xfcaf, 0xfcb0, 0xfcb0, 0xfcb0, 0xfcb2, 0xf451, 0xb0d1, 0xb0d1, 0xb0d1, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x003f, 0x003f, 0x005f, 0x025f, 0x06fd, 0x0770, 0x0f88, 0x07f4, 0x07ff, 0x5478, 0xa8f1, 0xa8f1, 0x5932, 0x4132, 0x4111, 0x3911, 0x3911, 0x30f0, 0x30f0, 0x30ef, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f9, 0x0119, 0x0119, 0x00f7, 0x18ae, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cf, 0x0118, 0x0119, 0x00f7, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x00f9, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0118, 0x0119, 0x00f6, 0x18ce, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f7, 0x0119, 0x00f8, 0x18cf, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xb0f1, 0xb0f1, 0xb0d1, 0xfcad, 0xfccd, 0xfcad, 0xfcad, 0xfccd, 0xfccd, 0xfccd, 0xcb4e, 0x8191, 0xaa73, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec31, 0xfcad, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xc32f, 0x8991, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf46f, 0xfccd, 0xfccd, 0xfccd, 0xfcad, 0xfccd, 0xfccd, 0xfccd, 0xfcad, 0xfcad, 0xfcad, 0xc32f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xbb11, 0x8191, 0xaa73, 0xd396, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xdbb4, 0xfcae, 0xfcad, 0xfccd, 0xfcad, 0xfccd, 0xfcad, 0xfccd, 0xfccd, 0xfcad, 0xfcad, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xdbd3, 0xfcad, 0xfccd, 0xfccd, 0xdbee, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec31, 0xfccd, 0xfcad, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xfcad, 0xfccd, 0xfcad, 0xfccd, 0xdbee, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdbd3, 0xfccd, 0xfccd, 0xfccd, 0xfccd, 0xc32f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf46f, 0xfcad, 0xfccd, 0xfccd, 0xc32f, 0x8991, 0xaa94, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec31, 0xfccd, 0xfccd, 0xfcad, 0xfccd, 0xfcad, 0xfcad, 0xfcad, 0xfcad, 0xa270, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfcce, 0xfccf, 0xfccf, 0xfcef, 0xfcd0, 0xfcf0, 0xfcf1, 0xfcf1, 0xfcf2, 0xb0f1, 0xb0f1, 0xb0f2, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x003f, 0x005f, 0x007f, 0x021f, 0x06fc, 0x078d, 0x07e7, 0x07f6, 0x07ff, 0x82b5, 0xa8f1, 0xa111, 0x4932, 0x4132, 0x4111, 0x38f1, 0x38f0, 0x30f0, 0x30ef, 0x30ef, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ce, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x20ad, 0x08f5, 0x0119, 0x0119, 0x0117, 0x0117, 0x0119, 0x0119, 0x08f4, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x10cf, 0x0118, 0x0119, 0x0117, 0x18ae, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ae, 0x00f6, 0x0119, 0x0118, 0x18cf, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xb0f1, 0xa8f1, 0xb0f1, 0xfd0d, 0xfced, 0xfced, 0xfced, 0xfd0d, 0xfced, 0xfd0d, 0xe42e, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec51, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xc34f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf48f, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xc32f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec6f, 0x91d1, 0x89d1, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xdbb4, 0xec70, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfd0d, 0xfced, 0xfced, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdbf3, 0xfced, 0xfced, 0xfced, 0xe42e, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec51, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfd0d, 0xfced, 0xec6e, 0x8191, 0x91f2, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd376, 0xd395, 0xd395, 0xf4af, 0xfd0d, 0xfced, 0xfd0d, 0xc34f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf48f, 0xfced, 0xfced, 0xfced, 0xc34f, 0x8191, 0xaa93, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec51, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xfced, 0xa270, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfd0e, 0xfd0f, 0xfd0f, 0xfd0f, 0xfd10, 0xfd10, 0xfd31, 0xfd31, 0xfd32, 0xb0f1, 0xb0f1, 0xb0f1, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x005f, 0x005f, 0x005f, 0x021f, 0x073b, 0x07ac, 0x07e7, 0x07f7, 0x07ff, 0x82b5, 0xa8f1, 0x8912, 0x4932, 0x4112, 0x3911, 0x3911, 0x3110, 0x30f0, 0x30ef, 0x28cf, 0x28cf, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ae, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x10f3, 0x18ad, 0x18ad, 0x10f3, 0x0119, 0x0119, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x0117, 0x0119, 0x00f7, 0x18ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x208d, 0x18ad, 0x20ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18cd, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f6, 0x0119, 0x0118, 0x10cf, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xb0f1, 0xa8f1, 0xb0f1, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xe44e, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec71, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xc34f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf4cf, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xc34f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf4cf, 0xc34f, 0x8191, 0xb2d4, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdbd4, 0xe431, 0xec71, 0xec71, 0xdbf0, 0xe450, 0xf4cf, 0xfd0e, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdbd4, 0xf4af, 0xf4cf, 0xf4af, 0xdc10, 0x9a12, 0xaa73, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec71, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2c, 0xfd2c, 0x9211, 0x8191, 0xd375, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec71, 0xfcee, 0xfd2d, 0xc36f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdc10, 0xe44e, 0xdc2e, 0xe44e, 0xb2f0, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec71, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xfd2d, 0xa270, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfd2e, 0xfd2f, 0xfd2f, 0xfd4f, 0xfd50, 0xfd50, 0xfd51, 0xfd51, 0xfd71, 0xa8f1, 0xb0f1, 0xb0f2, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x005f, 0x005f, 0x007f, 0x007f, 0x023f, 0x073b, 0x07ab, 0x07e8, 0x07f9, 0x07ff, 0xa152, 0xa8f1, 0x7132, 0x4132, 0x4131, 0x3911, 0x3910, 0x38f0, 0x30f0, 0x30ef, 0x28cf, 0x28ce, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ce, 0x0119, 0x0119, 0x10d0, 0x18ad, 0x18ad, 0x18d0, 0x0119, 0x0119, 0x0119, 0x0118, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x08f7, 0x18ad, 0x20ad, 0x18ad, 0x20cd, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ac, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f6, 0x0119, 0x0118, 0x18cf, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xa8f1, 0xa8f1, 0xa8f2, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd4d, 0xfd6d, 0xfd6d, 0xe46e, 0x8191, 0x9212, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec71, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xc36f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf4ef, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xc36f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf4ef, 0xfd2d, 0x9211, 0x89b2, 0xcb75, 0xd396, 0xd375, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec91, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xcb95, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec71, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd4d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xbb2f, 0x8191, 0xb2d4, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xc314, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec71, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xfd6d, 0xa290, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfd6e, 0xfd6f, 0xfd6f, 0xfd8f, 0xfd90, 0xfd90, 0xfd91, 0xfd91, 0xfd92, 0xa8f1, 0xa8f1, 0xa8f1, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x003f, 0x005f, 0x005f, 0x007f, 0x009f, 0x023f, 0x0779, 0x07aa, 0x07e8, 0x07fb, 0x07ff, 0xa8f1, 0xa8f1, 0x5932, 0x4932, 0x4131, 0x3911, 0x3910, 0x38f0, 0x30ef, 0x30ef, 0x28cf, 0x28ce, 0x28ce, 0x20ce, 0x20ce, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ac, 0x0119, 0x0119, 0x10d3, 0x18ad, 0x18ad, 0x10d3, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x0119, 0x00f6, 0x20ae, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x0116, 0x0119, 0x0118, 0x18cf, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0xa8f1, 0xa8f1, 0xa8f1, 0xec6f, 0xfd8d, 0xfdad, 0xfd8d, 0xfdad, 0xfdad, 0xfdad, 0xe48e, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec91, 0xfdad, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xc38f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf52f, 0xfdad, 0xfd8d, 0xfdad, 0xfd8d, 0xfd8d, 0xfdad, 0xfd8d, 0xfd8d, 0xfdad, 0xfdad, 0xc38f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf52f, 0xfd8d, 0xe4ae, 0x8991, 0x9a32, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xe491, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec91, 0xfdad, 0xfdad, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfd8d, 0xfdad, 0xfdad, 0xfd8d, 0xfd8d, 0xfdad, 0xfdad, 0xfd8d, 0xfdad, 0xf52d, 0x8191, 0x91f2, 0xd395, 0xd395, 0xd395, 0xd395, 0xd376, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xc314, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xec91, 0xfd8d, 0xfd8d, 0xfdad, 0xfdad, 0xfdad, 0xfdad, 0xfdad, 0xfd8d, 0xa290, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfdaf, 0xfdaf, 0xfdaf, 0xfdaf, 0xfdb0, 0xfdb0, 0xfdb1, 0xfdd1, 0xe4b2, 0xa911, 0xa8f1, 0xa8f1, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x005f, 0x005f, 0x007f, 0x007f, 0x009f, 0x02bf, 0x0778, 0x07c8, 0x07e9, 0x07fd, 0x173e, 0xa8f1, 0x9912, 0x4932, 0x4932, 0x4131, 0x4111, 0x3911, 0x38f0, 0x30ef, 0x30ef, 0x28cf, 0x28ce, 0x28ce, 0x20ce, 0x20ce, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x08f4, 0x0119, 0x0119, 0x00f7, 0x08f6, 0x0119, 0x0119, 0x08f4, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x00f7, 0x0119, 0x0118, 0x18cf, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18cd, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xa911, 0xa911, 0xa911, 0xec8e, 0xfded, 0xfded, 0xfdcd, 0xfdcd, 0xfdcd, 0xfded, 0xe4ce, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecb1, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xc3af, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf54f, 0xfdcd, 0xfdcd, 0xfded, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfded, 0xfdcd, 0xc3af, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf54f, 0xfded, 0xfdcd, 0xd44f, 0x8191, 0xb2b3, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xecb1, 0x8991, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecb1, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xfdcd, 0xbb6f, 0x8191, 0xbaf4, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xc314, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecb1, 0xfded, 0xfded, 0xfdcd, 0xfdcd, 0xfded, 0xfded, 0xfded, 0xfded, 0xa2b0, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xfdee, 0xfdef, 0xfdef, 0xfdf0, 0xfdf0, 0xfdf0, 0xfdf1, 0xfdf1, 0xecb1, 0xa0f1, 0xa911, 0xa911, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x005f, 0x005f, 0x005f, 0x007f, 0x009f, 0x009f, 0x041f, 0x0797, 0x07c7, 0x07eb, 0x07fe, 0x2e5c, 0xa8f1, 0x7932, 0x4932, 0x4932, 0x4111, 0x3911, 0x3910, 0x38f0, 0x30ef, 0x30ef, 0x28ce, 0x28ce, 0x28ce, 0x20ce, 0x20ce, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ae, 0x00f6, 0x0118, 0x0118, 0x0119, 0x0119, 0x00f6, 0x18ce, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ac, 0x18ad, 0x18ac, 0x20ad, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x20ad, 0x18ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f7, 0x0118, 0x0117, 0x18cf, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0xa911, 0xa911, 0xa111, 0xe42e, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xe4ee, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecd1, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xc3cf, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf56f, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xc3cf, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf56f, 0xfe0d, 0xfe0d, 0xfe0d, 0xd44f, 0x8191, 0xbad3, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd376, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xecd1, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecd1, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0d, 0xf5ad, 0x9a70, 0x89b1, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xc314, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecd1, 0xfe0d, 0xfe0d, 0xfe0d, 0xfe0e, 0xfe0d, 0xfe0e, 0xfe0e, 0xfe0e, 0xa2b0, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfe0f, 0xfe0f, 0xfe0f, 0xfe30, 0xfe30, 0xfe30, 0xfe31, 0xfe31, 0xdc32, 0xa111, 0xa911, 0xa111, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x005f, 0x005f, 0x007f, 0x007f, 0x009f, 0x00bf, 0x043f, 0x0794, 0x07e6, 0x07ec, 0x07fe, 0x35db, 0xa911, 0x5133, 0x4932, 0x4132, 0x4111, 0x4111, 0x3910, 0x30f0, 0x30ef, 0x30ef, 0x28ce, 0x28ce, 0x20ce, 0x20ce, 0x20ce, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x20ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0119, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x10d1, 0x10d3, 0x10f2, 0x10d1, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x20ad, 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x18ae, 0x00f6, 0x0119, 0x00f8, 0x18cf, 0x20ad, 0x18ad, 0x20ad, 0x18ac, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x80f0, 0xa111, 0xa111, 0xc2b0, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xe50e, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecf1, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xc3ef, 0x8991, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xf58f, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xc3ef, 0x8191, 0xaa93, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf58f, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xe50e, 0x89d1, 0xa253, 0xcb75, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd376, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecf1, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecf1, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xf60e, 0x9a70, 0x91f2, 0xcb75, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xc314, 0x8191, 0xaa93, 0xd395, 0xd396, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecf2, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4e, 0xfe4d, 0xfe4e, 0xfe4d, 0xfe4e, 0xa2d0, 0x8191, 0xc314, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfe4e, 0xfe4f, 0xfe6f, 0xfe70, 0xfe50, 0xfe50, 0xfe71, 0xfe51, 0xba52, 0xa111, 0xa111, 0x78d5, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x005f, 0x007f, 0x007f, 0x009f, 0x00bf, 0x00bf, 0x043f, 0x07b3, 0x07c5, 0x07ee, 0x07ff, 0x5478, 0x6ad6, 0x4953, 0x4932, 0x4912, 0x4111, 0x3911, 0x3910, 0x30f0, 0x30ef, 0x28cf, 0x28ce, 0x28ce, 0x28ce, 0x20ce, 0x20cd, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0118, 0x0118, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0118, 0x0119, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ac, 0x18ad, 0x20ad, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x00f6, 0x0118, 0x00f8, 0x18cf, 0x18ac, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18ac, 0x60ef, 0xa111, 0xa111, 0xa112, 0xfe2d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xe54e, 0x8191, 0x9a12, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xed11, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe8d, 0xc40f, 0x8191, 0xaa93, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xf5cf, 0xfe6d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe6d, 0xc40f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf5ce, 0xfe6d, 0xfe6d, 0xfe8d, 0xfe6c, 0xfe8d, 0xf62d, 0xc40f, 0x9a12, 0xb2d4, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xecf1, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xed11, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe8d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6c, 0xfe8d, 0xfe6d, 0xfe2d, 0xbbcf, 0x89b1, 0xbaf4, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd396, 0xc314, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xed12, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xa2d0, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe90, 0xfe90, 0xfe90, 0xfe91, 0xe471, 0xa111, 0xa112, 0xa111, 0x60d5, 0x001f, 0x283c, 0x7097, 0x405a, 0x001f, 0x001f, 0x001f, 0x003f, 0x007f, 0x009f, 0x00bf, 0x00bf, 0x00df, 0x045f, 0x07d2, 0x07e4, 0x07ef, 0x07ff, 0x2e3c, 0x2d1a, 0x5133, 0x4932, 0x4132, 0x3911, 0x3911, 0x38f0, 0x30f0, 0x30ef, 0x28cf, 0x28ce, 0x28ce, 0x20ce, 0x20ce, 0x20cd, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0118, 0x0118, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x20ad, 0x18ac, 0x0119, 0x0118, 0x18ad, 0x18ac, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18cc, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x18ae, 0x18ad, 0x20ad, 0x18ac, 0x18ad, 0x18ad, 0x18ac, 0x20ad, 0x18ad, 0x20ad, 0x18cd, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x00f6, 0x0118, 0x00f7, 0x18cf, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x20ad, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x28cd, 0xa111, 0xa111, 0xa111, 0xcbcf, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xf5ed, 0x89d1, 0x91d2, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd396, 0xd395, 0xed11, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xc42f, 0x81b1, 0xaa93, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xf5ef, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfecc, 0xfead, 0xc42f, 0x8191, 0xaa93, 0xd395, 0xd395, 0xd396, 0xd395, 0xd395, 0xd395, 0xd395, 0xf5ef, 0xfead, 0xfeac, 0xfead, 0xfead, 0xfeac, 0xfead, 0xfead, 0xf64d, 0xd4ce, 0xbbd0, 0xc3b2, 0xc314, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xed12, 0x8191, 0x8191, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xd395, 0xd395, 0xed31, 0xfeac, 0xfeac, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xee0d, 0xcc6f, 0xbb51, 0xbad4, 0xcb55, 0xd395, 0xd395, 0xd395, 0xd395, 0xc334, 0x8191, 0xb294, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd375, 0xd395, 0xed11, 0xfeae, 0xfece, 0xfead, 0xfeae, 0xfead, 0xfece, 0xfeae, 0xfeae, 0xa2f0, 0x8191, 0xc314, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xd395, 0xdc34, 0xfeaf, 0xfed0, 0xfeaf, 0xfed0, 0xfeb0, 0xfed1, 0xe491, 0xa911, 0xa111, 0x9931, 0xa111, 0x58d6, 0x88b5, 0xb8d1, 0xb8d1, 0x5059, 0x001f, 0x001f, 0x001f, 0x001f, 0x007f, 0x009f, 0x00bf, 0x00ff, 0x00df, 0x047f, 0x07d2, 0x07e3, 0x07f1, 0x07ff, 0x07ff, 0x2cba, 0x4933, 0x4132, 0x4131, 0x4111, 0x38f0, 0x38f0, 0x30f0, 0x30ef, 0x28ef, 0x28ce, 0x28ce, 0x20ce, 0x20cd, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x0118, 0x0118, 0x18ad, 0x18ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x0118, 0x0118, 0x18ad, 0x18ad, 0x18ad, 0x20ad, 0x18cd, 0x20ad, 0x20ad, 0x18ac, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x00f6, 0x18ad, 0x18ad, 0x18ac, 0x20ac, 0x18ac, 0x18ad, 0x18ac, 0x18ac, 0x18ad, 0x18ac, 0x20ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ac, 0x18ac, 0x18ad, 0x00f6, 0x0118, 0x0118, 0x18cf, 0x20ad, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x20ac, 0x20ad, 0x18ad, 0x8110, 0x9911, 0xa111, 0xa171, 0xf5ed, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfeac, 0xfe6d, 0xf5cf, 0xf5ef, 0xf5cf, 0xf5cf, 0xf5ef, 0xf5cf, 0xfe4d, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfe4e, 0xf5ef, 0xf5ef, 0xf5cf, 0xf5ee, 0xf5ef, 0xf5ef, 0xf5ef, 0xfe8d, 0xfeac, 0xfeac, 0xfeac, 0xfeac, 0xfead, 0xfe8d, 0xfead, 0xfead, 0xfead, 0xfeac, 0xfeac, 0xfead, 0xf64d, 0xf5ef, 0xf5cf, 0xf5ef, 0xf5cf, 0xf5ef, 0xf5ef, 0xf5ef, 0xfe6e, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfeac, 0xfeac, 0xfead, 0xfead, 0xfead, 0xfead, 0xfeac, 0xfead, 0xfead, 0xf60e, 0xf5ef, 0xf5cf, 0xf5ef, 0xf5ef, 0xf5cf, 0xf64e, 0xfeac, 0xfead, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5cf, 0xf5ef, 0xf5ef, 0xf5ef, 0xf5cf, 0xfe4d, 0xfeac, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfeac, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfeac, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfe6d, 0xf5ef, 0xf5ef, 0xf5cf, 0xf5cf, 0xfead, 0xf62e, 0xf5ef, 0xf5d0, 0xf5ef, 0xf5cf, 0xf5f0, 0xf5f0, 0xf5ef, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5ef, 0xf5f0, 0xfe4f, 0xfece, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeaf, 0xf610, 0xf5d0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf5f0, 0xf610, 0xfeaf, 0xfeaf, 0xfeaf, 0xfed0, 0xfeb0, 0xfeb1, 0xe471, 0xb8d1, 0xa111, 0x9931, 0x9931, 0x9912, 0x6933, 0xb0f1, 0xb0d1, 0xb0d1, 0x283c, 0x001f, 0x001f, 0x001f, 0x003f, 0x007f, 0x00bf, 0x00df, 0x00ff, 0x011f, 0x047f, 0x07d1, 0x07e3, 0x07f3, 0x07ff, 0x07ff, 0x3b77, 0x4932, 0x4932, 0x4131, 0x4111, 0x38f0, 0x38f0, 0x30ef, 0x30ef, 0x28ef, 0x28ce, 0x28ce, 0x20ce, 0x20cd, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x20ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x18ac, 0x18ad, 0x0118, 0x0118, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ad, 0x20ad, 0x0118, 0x0118, 0x20ad, 0x20ac, 0x20ac, 0x18ad, 0x18ad, 0x18ac, 0x20ac, 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, 0x18ad, + 0x0118, 0x00f6, 0x18cd, 0x18ac, 0x18ad, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x18ad, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18cc, 0x20ac, 0x18ad, 0x00f6, 0x0118, 0x0117, 0x18cf, 0x18ad, 0x18ac, 0x18ac, 0x18ad, 0x18ac, 0x20ad, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18cd, 0x18ac, 0x20ac, 0x38ce, 0x9931, 0x9931, 0x9931, 0xaa31, 0xfe2d, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfead, 0xfe8c, 0xfeac, 0xfeac, 0xfe8c, 0xfe8c, 0xfeac, 0xfead, 0xfe8d, 0xfe8c, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfe8c, 0xfe8c, 0xfeac, 0xfeac, 0xfead, 0xfe8c, 0xfead, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8c, 0xfead, 0xfe8c, 0xfe8c, 0xfead, 0xfead, 0xfeac, 0xfeac, 0xfe8c, 0xfe8c, 0xfeac, 0xfe8c, 0xfeac, 0xfead, 0xfead, 0xfe8d, 0xfe8c, 0xfead, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8d, 0xfeac, 0xfe8c, 0xfeac, 0xfe8d, 0xfead, 0xfead, 0xfe8c, 0xfeac, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8c, 0xfeac, 0xfe8d, 0xfe8c, 0xfead, 0xfead, 0xfe8c, 0xfe8c, 0xfe8c, 0xfead, 0xfe8c, 0xfeac, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfe8c, 0xfeac, 0xfe8d, 0xfeac, 0xfead, 0xfead, 0xfe8c, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfead, 0xfeac, 0xfe8c, 0xfead, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfead, 0xfead, 0xfead, 0xfe8d, 0xfead, 0xfead, 0xfead, 0xfead, 0xfe8d, 0xfe8e, 0xfead, 0xfeae, 0xfeae, 0xfead, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfeae, 0xfe8e, 0xfe8e, 0xfeae, 0xfeae, 0xfeae, 0xfe8e, 0xfeae, 0xfeae, 0xfeae, 0xfe8e, 0xfe8e, 0xfeae, 0xfeaf, 0xfeae, 0xfeae, 0xfeaf, 0xfe8e, 0xfeaf, 0xfeaf, 0xfeaf, 0xfeaf, 0xfeaf, 0xfe8f, 0xfeb0, 0xfeaf, 0xfeb0, 0xfe90, 0xe471, 0xb8d2, 0xa111, 0x9911, 0x9931, 0x9931, 0x7132, 0x7133, 0xb0f1, 0xb0d1, 0xb0d2, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x007f, 0x00df, 0x00df, 0x011f, 0x011f, 0x049f, 0x07f0, 0x07e2, 0x07f4, 0x07ff, 0x07ff, 0x3af6, 0x4932, 0x4932, 0x4111, 0x3911, 0x3910, 0x38f0, 0x30ef, 0x30ef, 0x28ee, 0x28ce, 0x28ce, 0x20ce, 0x20cd, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x18ac, 0x20ac, 0x18ad, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x0118, 0x0118, 0x18ac, 0x18ac, 0x18ac, 0x20ac, 0x18ac, 0x20ad, 0x18ad, 0x0118, 0x0118, 0x18ac, 0x18ad, 0x18ad, 0x18ac, 0x18ad, 0x18ad, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, + 0x00f8, 0x0118, 0x00f5, 0x18ad, 0x20ac, 0x18ad, 0x20ad, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x20ad, 0x18cd, 0x0116, 0x0118, 0x0117, 0x18cf, 0x20ac, 0x20ac, 0x20ad, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x20ad, 0x20ac, 0x60ef, 0x9912, 0x9931, 0x9931, 0xb270, 0xf62d, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe6d, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8c, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8e, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8d, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8e, 0xfe8f, 0xfe8e, 0xfe8e, 0xfe8f, 0xfe8f, 0xfe8e, 0xfe8f, 0xfe8f, 0xfe8e, 0xfe8f, 0xfe8e, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe8f, 0xfe90, 0xfe90, 0xfeb0, 0xfeb0, 0xe471, 0xb8d1, 0xa111, 0x9931, 0x9931, 0x9912, 0x8911, 0x5174, 0x6953, 0xb0f1, 0xb0d1, 0x90b4, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x009f, 0x00df, 0x00ff, 0x011f, 0x015f, 0x049f, 0x07f1, 0x07e2, 0x07f6, 0x07ff, 0x0f9f, 0x4a35, 0x4933, 0x4932, 0x4131, 0x3910, 0x3910, 0x38f0, 0x30ef, 0x30ef, 0x28ce, 0x28ce, 0x28ce, 0x20cd, 0x20cd, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x18ac, 0x20ac, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x0118, 0x0118, 0x18ac, 0x18ac, 0x18ac, 0x20ac, 0x18ac, 0x18ad, 0x20ad, 0x0118, 0x0118, 0x18ce, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x20ad, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, + 0x18ce, 0x0117, 0x0118, 0x0115, 0x18ad, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ad, 0x00f6, 0x0118, 0x0117, 0x18ce, 0x18ac, 0x20cc, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ad, 0x18cc, 0x20ad, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x28ad, 0x8110, 0x9931, 0x9931, 0x9911, 0xaa31, 0xf5cd, 0xfe8c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe8c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe8c, 0xfe6d, 0xfe6d, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6d, 0xfe6c, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6c, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe8e, 0xfe8d, 0xfe8d, 0xfe6e, 0xfe8d, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe8f, 0xfe8f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe8f, 0xfe6f, 0xfe6f, 0xfe8f, 0xfe8f, 0xfe6f, 0xfe6f, 0xfe8f, 0xfe6f, 0xfe6f, 0xfe8f, 0xfe8f, 0xfe6f, 0xfe8f, 0xfe8f, 0xfe6f, 0xfe90, 0xfe8f, 0xfe8f, 0xfe90, 0xfe90, 0xe471, 0xb0d1, 0xa111, 0x9931, 0x9931, 0x9931, 0x9912, 0x5953, 0x5153, 0x7133, 0xb0d1, 0xb0d1, 0x7896, 0x001f, 0x001f, 0x001f, 0x003f, 0x005f, 0x00bf, 0x011f, 0x011f, 0x013f, 0x017f, 0x04bf, 0x07f2, 0x07e2, 0x07f5, 0x07ff, 0x7336, 0x5153, 0x4933, 0x4932, 0x4131, 0x4110, 0x3910, 0x30ef, 0x30ef, 0x30ef, 0x28ce, 0x28ce, 0x28cd, 0x20cd, 0x20cd, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x20ac, 0x20ac, 0x20ad, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x0118, 0x0118, 0x18ac, 0x20ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x00f5, 0x0117, 0x00f7, 0x18ce, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x18ad, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, + 0x20ac, 0x18ae, 0x0117, 0x0118, 0x08f5, 0x18ad, 0x18ac, 0x18cd, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x08f3, 0x0118, 0x0117, 0x18ce, 0x20ac, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x18ac, 0x28ad, 0x9111, 0x9931, 0x9931, 0x9931, 0xa171, 0xcbcf, 0xf60d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6c, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6c, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6c, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6d, 0xfe6d, 0xfe6d, 0xfe4d, 0xfe6e, 0xfe6e, 0xfe4e, 0xfe6d, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6e, 0xfe6f, 0xfe6e, 0xfe6e, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe70, 0xfe70, 0xfe6f, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe90, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe71, 0xfe71, 0xfe71, 0xe471, 0xa8f1, 0xa111, 0x9931, 0x9932, 0x9931, 0x9931, 0x6933, 0x5153, 0x5953, 0x7153, 0xb0d1, 0xb0d1, 0x5878, 0x001f, 0x001f, 0x003f, 0x007f, 0x009f, 0x00ff, 0x013f, 0x013f, 0x017f, 0x019f, 0x033f, 0x07f3, 0x07e2, 0x07f3, 0x07ff, 0xa8f1, 0x6932, 0x4932, 0x4932, 0x4931, 0x4111, 0x3910, 0x3110, 0x30ef, 0x30ef, 0x28ce, 0x28ce, 0x28cd, 0x20cd, 0x20cd, 0x20cd, 0x20ad, 0x20ad, 0x20ad, 0x20ac, 0x20ac, 0x20ad, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x0118, 0x0118, 0x18ac, 0x20ac, 0x20ac, 0x18ac, 0x20ad, 0x20ac, 0x18ac, 0x18ad, 0x00f5, 0x0118, 0x0117, 0x18ce, 0x20ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, + 0x18ac, 0x20ac, 0x18ce, 0x08f5, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0118, 0x0117, 0x00f7, 0x18ce, 0x20ac, 0x18cc, 0x18ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x20ac, 0x28cd, 0x8111, 0x9931, 0x9912, 0x9931, 0x9931, 0x9911, 0xbab0, 0xdc6f, 0xe50f, 0xe50e, 0xfe4e, 0xfe6e, 0xfe4e, 0xfe6d, 0xfe4e, 0xfe4e, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4e, 0xfe4e, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4d, 0xfe4e, 0xfe4e, 0xfe4e, 0xfe4e, 0xfe6e, 0xfe6e, 0xfe4e, 0xfe4e, 0xfe4e, 0xfe6e, 0xfe6e, 0xfe4e, 0xfe6f, 0xfe6e, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe6f, 0xfe4f, 0xfe6f, 0xfe70, 0xfe50, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe70, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xfe71, 0xf612, 0xe531, 0xe512, 0xd472, 0xb271, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9911, 0x6153, 0x5153, 0x5954, 0x5954, 0x7154, 0xb0f1, 0xb0f1, 0x285c, 0x003f, 0x005f, 0x007f, 0x00bf, 0x00ff, 0x013f, 0x015f, 0x017f, 0x019f, 0x01bf, 0x02ff, 0x07f4, 0x07e3, 0x07f1, 0x2e5c, 0xa911, 0x6932, 0x5132, 0x4931, 0x4132, 0x4110, 0x3910, 0x3910, 0x30ef, 0x30ee, 0x28ce, 0x28ce, 0x28cd, 0x20cd, 0x20cd, 0x20cd, 0x20ac, 0x20ad, 0x20ad, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x0118, 0x0118, 0x18ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x18cc, 0x20ac, 0x18ad, 0x0115, 0x0118, 0x00f7, 0x18ae, 0x18ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x10d0, 0x10d2, 0x08d2, 0x18ae, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, + 0x18ac, 0x20ac, 0x20ac, 0x18cd, 0x0116, 0x0117, 0x0118, 0x0118, 0x0117, 0x0117, 0x0118, 0x0118, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x18ce, 0x18ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x28cc, 0x610f, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9932, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9911, 0x9931, 0x9931, 0x9911, 0x9911, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9911, 0x9931, 0x9932, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9931, 0x9931, 0x8912, 0x5153, 0x5953, 0x5153, 0x5974, 0x5974, 0x7953, 0xb0f1, 0xb0d1, 0x087f, 0x009f, 0x00bf, 0x00df, 0x011f, 0x015f, 0x019f, 0x019f, 0x019f, 0x01df, 0x01df, 0x01ff, 0x07f7, 0x07e3, 0x07ef, 0x5498, 0xa8f1, 0x7132, 0x4952, 0x4931, 0x4131, 0x4110, 0x3910, 0x30ef, 0x30ef, 0x30ee, 0x28ce, 0x28ce, 0x28cd, 0x20cd, 0x20cd, 0x20cd, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x0117, 0x0117, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x18ad, 0x0115, 0x0117, 0x00f7, 0x18ae, 0x18ac, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ad, 0x00f5, 0x0117, 0x0118, 0x0117, 0x0117, 0x08f3, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x20cc, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x18ac, + 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x40ce, 0x7910, 0x9931, 0x9931, 0x9932, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0xa111, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x7132, 0x5153, 0x5153, 0x5153, 0x5974, 0x5974, 0x6174, 0x9113, 0xb0f1, 0x98f3, 0x00df, 0x00ff, 0x011f, 0x013f, 0x017f, 0x01bf, 0x01bf, 0x01df, 0x01df, 0x01ff, 0x01ff, 0x021f, 0x06d9, 0x07e5, 0x07ec, 0x7355, 0xa8f1, 0x7932, 0x4932, 0x4931, 0x4131, 0x4110, 0x3910, 0x390f, 0x30ef, 0x30ee, 0x28ce, 0x28ce, 0x28cd, 0x28cd, 0x20cd, 0x20cd, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x18ac, 0x0117, 0x00f7, 0x20ac, 0x18ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ad, 0x00f5, 0x0117, 0x0116, 0x18cd, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x00f5, 0x0117, 0x0118, 0x08f5, 0x0116, 0x0117, 0x0117, 0x10f2, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x18ac, 0x20ab, 0x20ac, 0x20ac, + 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ab, 0x30cc, 0x58cf, 0x7910, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9911, 0x9931, 0x9911, 0x9932, 0x9931, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9911, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0xa111, 0x9911, 0x8932, 0x6932, 0x5152, 0x5153, 0x5953, 0x5953, 0x5974, 0x6174, 0x6175, 0x7954, 0xa8f1, 0xb0f1, 0x80f5, 0x013f, 0x017f, 0x019f, 0x01bf, 0x01df, 0x01ff, 0x01df, 0x01ff, 0x021f, 0x023f, 0x023f, 0x023f, 0x057d, 0x07e8, 0x07e9, 0x82d5, 0xa0f1, 0x8132, 0x5132, 0x4931, 0x4131, 0x4110, 0x38f0, 0x38ef, 0x30ef, 0x30ee, 0x28ce, 0x28cd, 0x28cd, 0x28cd, 0x20cd, 0x20cd, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x00f7, 0x0117, 0x10d0, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x18cd, 0x00f5, 0x0117, 0x08f5, 0x18ad, 0x20ac, 0x20cc, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x18ad, 0x0117, 0x0117, 0x10d0, 0x20ac, 0x20ac, 0x08f3, 0x0117, 0x0115, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20cc, 0x20ac, 0x20ac, 0x20ac, 0x20cc, + 0x20ac, 0x20ac, 0x20ac, 0x20ab, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18cc, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20cc, 0x20ad, 0x20cd, 0x20cd, 0x28cd, 0x28cd, 0x28cd, 0x28cd, 0x28cd, 0x28ce, 0x28ee, 0x28ee, 0x30ee, 0x30ef, 0x30ef, 0x30ee, 0x38ef, 0x5110, 0x6110, 0x5910, 0x6930, 0x7931, 0x8131, 0x8130, 0x9931, 0xa932, 0xa131, 0xb131, 0xc912, 0xc911, 0xc8f2, 0xc8f2, 0xc8f2, 0xc8d1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xb8b1, 0xc0d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f1, 0x5158, 0x01bf, 0x01df, 0x01ff, 0x021f, 0x023f, 0x023f, 0x021f, 0x023f, 0x025f, 0x025f, 0x025f, 0x025f, 0x041f, 0x07ed, 0x07e4, 0x7ab4, 0xa911, 0x9112, 0x5132, 0x4931, 0x4111, 0x4110, 0x3910, 0x38ef, 0x30ef, 0x30ee, 0x30ee, 0x28cd, 0x28cd, 0x28cd, 0x20cd, 0x20cc, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x10d0, 0x0117, 0x00f7, 0x10d0, 0x20ac, 0x20cc, 0x18ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x00f5, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x20ac, 0x20ac, 0x20ac, 0x10ef, 0x0117, 0x0117, 0x20ac, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, + 0x20ac, 0x18ac, 0x18ac, 0x18cc, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20cc, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ab, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20cc, 0x20cd, 0x20cd, 0x28cd, 0x28cd, 0x28cd, 0x28cd, 0x28ad, 0x28ce, 0x30ce, 0x30ce, 0x30ee, 0x8151, 0xb192, 0xc9b3, 0xc9b2, 0xc992, 0xc992, 0xc992, 0xc972, 0xc972, 0xc972, 0xc952, 0xc952, 0xc932, 0xc932, 0xc932, 0xc912, 0xc912, 0xc111, 0xc8f1, 0xc8f1, 0xc8d1, 0xc0d1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0d1, 0xb8b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d2, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xa8f1, 0x39bb, 0x021f, 0x023f, 0x025f, 0x027f, 0x027f, 0x025f, 0x025f, 0x027f, 0x027f, 0x027f, 0x027f, 0x027f, 0x029f, 0x07f3, 0x07e2, 0x9972, 0xa911, 0xa112, 0x4952, 0x4932, 0x4131, 0x4110, 0x3910, 0x38ef, 0x30ef, 0x30ee, 0x30ee, 0x28cd, 0x28cd, 0x28cd, 0x20cd, 0x20cc, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x08f2, 0x0117, 0x0116, 0x10d0, 0x20ac, 0x20ab, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ad, 0x00f4, 0x00f7, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0116, 0x0117, 0x0116, 0x0117, 0x0116, 0x0117, 0x18cf, 0x20ac, 0x20ac, 0x10d1, 0x00f7, 0x0115, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ab, 0x20ab, 0x20ac, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b8, 0x03b7, 0x03b7, 0x03b7, 0x03b7, + 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ab, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ab, 0x20ac, 0x20ab, 0x20ab, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x18cc, 0x18ac, 0x20ab, 0x20ac, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x18ac, 0x20ab, 0x20ab, 0x20ac, 0x20ac, 0x20ab, 0x20ab, 0x20ac, 0x20ac, 0x20ab, 0x20ab, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20cc, 0x20cc, 0x20cc, 0x28cd, 0x28cd, 0x28cd, 0x28cd, 0x30cd, 0x28ee, 0x30ee, 0x490e, 0xa9b2, 0xc9d3, 0xc9d3, 0xc9b3, 0xc9b3, 0xc992, 0xc992, 0xc972, 0xc972, 0xc972, 0xc952, 0xc952, 0xc952, 0xc932, 0xc932, 0xc912, 0xc912, 0xc912, 0xc0f2, 0xc8d1, 0xc0d1, 0xc0d1, 0xc8b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb0d1, 0xb8d2, 0xb8d1, 0xb0f1, 0xb0d1, 0xb0f2, 0xb0f1, 0xb0f1, 0xb0f1, 0xa8f1, 0xa8f1, 0x123e, 0x029f, 0x02bf, 0x02bf, 0x02bf, 0x029f, 0x029f, 0x029f, 0x02bf, 0x02bf, 0x02bf, 0x029f, 0x029f, 0x02df, 0x06b9, 0x07e3, 0xa111, 0xa911, 0xa111, 0x5932, 0x4931, 0x4911, 0x4110, 0x4110, 0x390f, 0x38ef, 0x30ee, 0x30ee, 0x28cd, 0x28cd, 0x28cd, 0x20cd, 0x20cc, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ab, 0x20ac, 0x20ab, 0x20ab, 0x20ac, 0x08d3, 0x0116, 0x0117, 0x10cf, 0x20ac, 0x20ab, 0x20ab, 0x20ab, 0x20ac, 0x20ac, 0x20ab, 0x20ac, 0x18ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ab, 0x20ac, 0x20ab, 0x20ac, 0x00f4, 0x0117, 0x0116, 0x08f2, 0x08f2, 0x0117, 0x0116, 0x08f2, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x03b7, 0x03b7, 0x03b8, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, + 0x20ac, 0x20ab, 0x20ab, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ac, 0x20ab, 0x20ab, 0x20ab, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ab, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x20ab, 0x20ab, 0x18ac, 0x20ac, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x18ab, 0x20ab, 0x20ab, 0x20ac, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20cc, 0x20cd, 0x28cd, 0x28cd, 0x28cd, 0x28cd, 0x28cd, 0x28cd, 0x30ed, 0x692f, 0xc9d3, 0xc9d3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc992, 0xc992, 0xc972, 0xc972, 0xc972, 0xc952, 0xc952, 0xc932, 0xc932, 0xc132, 0xc912, 0xc912, 0xc8f2, 0xc8f1, 0xc8d1, 0xc0d1, 0xc0d1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xc0b1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0d1, 0xb8d1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xa8f1, 0x9933, 0x02df, 0x02df, 0x02ff, 0x02ff, 0x02df, 0x02bf, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02bf, 0x02bf, 0x02ff, 0x051e, 0x07e8, 0xa912, 0xa111, 0xa111, 0x6932, 0x4931, 0x4931, 0x4130, 0x410f, 0x390f, 0x38ee, 0x30ee, 0x30ee, 0x28cd, 0x28cd, 0x28cd, 0x20cd, 0x20cc, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ab, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ab, 0x20ac, 0x20ab, 0x20ab, 0x20ac, 0x20ab, 0x20ab, 0x08f2, 0x0116, 0x0117, 0x10d0, 0x20ab, 0x20ab, 0x20ac, 0x20ab, 0x20ac, 0x20ab, 0x20ab, 0x20ac, 0x20ab, 0x20ab, 0x20ac, 0x20ac, 0x18cb, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ab, 0x20ab, 0x18ae, 0x0115, 0x0117, 0x0116, 0x0116, 0x0116, 0x00f4, 0x18cc, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x03b8, 0x03b8, 0x03b7, 0x03b7, 0x03b7, 0x03b8, 0x03b7, 0x03b7, 0x03b7, + 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ac, 0x20ac, 0x20ac, 0x28ac, 0x20cc, 0x28cc, 0x28cc, 0x28cc, 0x28cd, 0x28cd, 0x28ed, 0x28cd, 0x30cd, 0x9191, 0xc9d3, 0xc9d3, 0xc9b3, 0xc9b3, 0xc992, 0xc9b3, 0xc992, 0xc992, 0xc972, 0xc972, 0xc952, 0xc952, 0xc932, 0xc932, 0xc912, 0xc932, 0xc912, 0xc112, 0xc8f2, 0xc8f2, 0xc8d1, 0xc8d1, 0x9095, 0x9095, 0x9075, 0x8875, 0x6078, 0x6059, 0x6059, 0x6058, 0x6058, 0x6078, 0x6078, 0x6059, 0x6078, 0x6078, 0x5878, 0x6078, 0x88b4, 0x88b5, 0x88b5, 0xb8d1, 0xb8d1, 0xb8d1, 0xb8d1, 0xb0f1, 0xb0f1, 0xb0d1, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xa8f1, 0xa8f1, 0xa8f1, 0x69d6, 0x033f, 0x033f, 0x033f, 0x031f, 0x02ff, 0x02ff, 0x02ff, 0x02ff, 0x02ff, 0x02ff, 0x02ff, 0x02df, 0x02ff, 0x035f, 0x03ff, 0x07f0, 0x8a4f, 0xa111, 0xa111, 0x8132, 0x4931, 0x4931, 0x4110, 0x410f, 0x390f, 0x30ee, 0x30ee, 0x30cd, 0x30cd, 0x28cd, 0x28cd, 0x28cc, 0x28cc, 0x20cc, 0x20ac, 0x20ac, 0x20ac, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x08f2, 0x0116, 0x0116, 0x10cf, 0x20ab, 0x20ab, 0x20ab, 0x20ac, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ac, 0x20ab, 0x20ab, 0x20cc, 0x08d1, 0x08f3, 0x08f3, 0x10d0, 0x20ab, 0x20ac, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x03b7, 0x03b8, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, + 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cc, 0x20ac, 0x28cc, 0x28cc, 0x28cc, 0x20cc, 0x28cc, 0x28cc, 0x28cd, 0x40ee, 0xa9b2, 0xc9d3, 0xc9d3, 0xc9b3, 0xc9b2, 0xc9b3, 0xc992, 0xc992, 0xc972, 0xc972, 0xc952, 0xc952, 0xc952, 0xc932, 0xc932, 0x90d5, 0x88d6, 0x6098, 0x5879, 0x303c, 0x305c, 0x081e, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x005f, 0x007f, 0x009f, 0x00bf, 0x00df, 0x291c, 0x411a, 0x6118, 0x8915, 0xb0d1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f1, 0xb0f2, 0xa8f1, 0xb0f1, 0x429a, 0x039f, 0x039f, 0x035f, 0x035f, 0x033f, 0x033f, 0x033f, 0x033f, 0x033f, 0x033f, 0x031f, 0x031f, 0x031f, 0x037f, 0x03ff, 0x06d7, 0x7acf, 0xa111, 0xa111, 0x9912, 0x5131, 0x4931, 0x4110, 0x410f, 0x40ef, 0x38ee, 0x30ee, 0x30ed, 0x30cd, 0x28cd, 0x28cd, 0x28cc, 0x28cc, 0x20cc, 0x20cc, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x08f2, 0x0116, 0x0116, 0x10cf, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x20ab, 0x20ab, 0x20ab, 0x20ab, + 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x20cb, 0x28cc, 0x28cc, 0x28cc, 0x28cd, 0x28cc, 0x490e, 0xc1d3, 0xc9d3, 0xc9d3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc9b3, 0xc992, 0xc992, 0xc972, 0xc952, 0x98f5, 0x60b8, 0x407b, 0x183e, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x003f, 0x007f, 0x007f, 0x009f, 0x00bf, 0x00ff, 0x011f, 0x013f, 0x017f, 0x019f, 0x01df, 0x021f, 0x21fd, 0x49d9, 0x7996, 0xa112, 0xa8f1, 0xb0f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0x139e, 0x03df, 0x03bf, 0x039f, 0x039f, 0x037f, 0x037f, 0x037f, 0x037f, 0x035f, 0x035f, 0x033f, 0x033f, 0x035f, 0x03bf, 0x041f, 0x05de, 0x7ad1, 0xa111, 0xa111, 0xa111, 0x5931, 0x4931, 0x4130, 0x4130, 0x40ef, 0x38ee, 0x30ee, 0x30ed, 0x30ed, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x08f2, 0x0115, 0x0115, 0x10cf, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x18ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b8, + 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x692f, 0xc9f3, 0xc9d3, 0xc9d3, 0xc9b2, 0xc9b3, 0xc992, 0xc9b2, 0xc972, 0xb973, 0x80f7, 0x387b, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x003f, 0x005f, 0x007f, 0x009f, 0x00bf, 0x00df, 0x00ff, 0x013f, 0x015f, 0x019f, 0x01bf, 0x01ff, 0x023f, 0x025f, 0x029f, 0x02df, 0x02ff, 0x033f, 0x2adc, 0x5a58, 0x8994, 0xa8f1, 0xa8f1, 0x81d4, 0x041f, 0x041f, 0x03ff, 0x03df, 0x03bf, 0x03bf, 0x03bf, 0x03bf, 0x03bf, 0x039f, 0x037f, 0x035f, 0x037f, 0x039f, 0x03ff, 0x047f, 0x04ff, 0x6375, 0xa112, 0xa111, 0xa111, 0x7111, 0x4931, 0x4110, 0x4110, 0x390f, 0x38ee, 0x30ee, 0x30ed, 0x30ed, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x08f1, 0x0115, 0x0115, 0x10cf, 0x20ab, 0x20ab, 0x20ab, 0x20ca, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, 0x03b7, + 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x28ac, 0x28cc, 0x28cc, 0x28cc, 0x692e, 0xc9f3, 0xc9d2, 0xc9d3, 0xc9b3, 0xc9b3, 0xc992, 0xc993, 0x80f7, 0x389b, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x083c, 0x085b, 0x105b, 0x2078, 0x2098, 0x2097, 0x2097, 0x2097, 0x2097, 0x2097, 0x2098, 0x187a, 0x105b, 0x085d, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x001f, 0x003f, 0x005f, 0x007f, 0x009f, 0x00df, 0x00ff, 0x011f, 0x015f, 0x017f, 0x01bf, 0x01ff, 0x021f, 0x025f, 0x029f, 0x02df, 0x02ff, 0x033f, 0x037f, 0x03bf, 0x03df, 0x041f, 0x043f, 0x0c3f, 0x2bbc, 0x0c3f, 0x045f, 0x043f, 0x041f, 0x041f, 0x03ff, 0x03ff, 0x03ff, 0x03df, 0x03df, 0x03bf, 0x039f, 0x037f, 0x039f, 0x03df, 0x043f, 0x04bf, 0x053f, 0x5398, 0xa111, 0xa111, 0xa111, 0x9111, 0x4931, 0x4910, 0x4110, 0x410f, 0x38ee, 0x38ee, 0x30ed, 0x30cd, 0x30cd, 0x28cc, 0x28cc, 0x28cc, 0x28cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x08f1, 0x0115, 0x0115, 0x10ce, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x1378, 0x1378, 0x1358, 0x1358, 0x1378, 0x1378, 0x1358, 0x1378, 0x1358, + 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x28cb, 0x28cb, 0x28cc, 0x28cb, 0x614e, 0xd1f3, 0xc9f3, 0xc9d3, 0xc9b2, 0xc9b3, 0xb173, 0x60d9, 0x081e, 0x003d, 0x083b, 0x1878, 0x1877, 0x28d2, 0x28d2, 0x40ee, 0x38ee, 0x390f, 0x390f, 0x390f, 0x410e, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x4110, 0x410f, 0x4910, 0x4130, 0x38f3, 0x28b6, 0x189a, 0x003e, 0x001f, 0x001f, 0x003f, 0x005f, 0x005f, 0x007f, 0x00bf, 0x00df, 0x00ff, 0x013f, 0x015f, 0x019f, 0x01df, 0x021f, 0x023f, 0x027f, 0x029f, 0x02ff, 0x033f, 0x035f, 0x039f, 0x03df, 0x041f, 0x045f, 0x047f, 0x04bf, 0x04df, 0x04df, 0x04bf, 0x04bf, 0x047f, 0x047f, 0x043f, 0x043f, 0x043f, 0x041f, 0x041f, 0x03ff, 0x03df, 0x03bf, 0x03bf, 0x03df, 0x043f, 0x047f, 0x04df, 0x057f, 0x3c1a, 0xa111, 0xa111, 0xa111, 0xa111, 0x5931, 0x4910, 0x4110, 0x410f, 0x390e, 0x38ee, 0x30ed, 0x30ed, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x08f1, 0x0115, 0x0115, 0x10cf, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x3af9, 0x3ad9, 0x3ad9, 0x3ad9, 0x3ad9, 0x3ad9, 0x3af9, 0x3af9, 0x3af9, + 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x28cb, 0x20cb, 0x28ab, 0x692e, 0xc9d3, 0xc9d3, 0xc9d3, 0xc9b3, 0xb1b2, 0x58f3, 0x1895, 0x28b2, 0x30ed, 0x38ed, 0x30ed, 0x38ed, 0x38ed, 0x38ed, 0x38ee, 0x390e, 0x390e, 0x38ee, 0x38ee, 0x390e, 0x390e, 0x390e, 0x390e, 0x410f, 0x390e, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x4110, 0x410f, 0x492f, 0x4930, 0x4910, 0x38f3, 0x20b8, 0x087d, 0x007f, 0x009f, 0x00df, 0x00ff, 0x011f, 0x015f, 0x017f, 0x019f, 0x01df, 0x021f, 0x025f, 0x02bf, 0x02df, 0x031f, 0x035f, 0x039f, 0x03df, 0x041f, 0x045f, 0x049f, 0x04df, 0x04ff, 0x051f, 0x051f, 0x053f, 0x04ff, 0x04df, 0x04bf, 0x049f, 0x047f, 0x047f, 0x045f, 0x045f, 0x043f, 0x041f, 0x03ff, 0x03df, 0x03ff, 0x043f, 0x045f, 0x04bf, 0x053f, 0x05bf, 0x2cdc, 0xa112, 0xa111, 0xa111, 0xa111, 0x7131, 0x4930, 0x4130, 0x410f, 0x390e, 0x38ee, 0x30ed, 0x30ed, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x28ab, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x08f1, 0x0115, 0x0114, 0x10ce, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x625a, 0x625b, 0x5a5a, 0x5a5a, 0x625b, 0x20ca, 0x20aa, 0x20aa, 0x20aa, + 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x28ab, 0x28cb, 0x28cb, 0x612e, 0xc9f3, 0xc9d3, 0xc9d3, 0xb992, 0x692e, 0x28cc, 0x28ec, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x38ed, 0x30ed, 0x38ed, 0x38ed, 0x390e, 0x38ee, 0x38ee, 0x38ee, 0x390f, 0x38ee, 0x40ee, 0x40ee, 0x390f, 0x390e, 0x410e, 0x40ef, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x412f, 0x4910, 0x4910, 0x4930, 0x4113, 0x28f8, 0x08fe, 0x013f, 0x015f, 0x019f, 0x01df, 0x021f, 0x023f, 0x029f, 0x02bf, 0x031f, 0x035f, 0x039f, 0x03df, 0x041f, 0x045f, 0x049f, 0x04df, 0x051f, 0x053f, 0x057f, 0x059f, 0x057f, 0x055f, 0x053f, 0x04ff, 0x04ff, 0x04df, 0x04bf, 0x049f, 0x049f, 0x047f, 0x045f, 0x043f, 0x041f, 0x041f, 0x043f, 0x045f, 0x04bf, 0x04ff, 0x055f, 0x05df, 0x0e1f, 0xa111, 0xa111, 0xa111, 0xa112, 0x8931, 0x4930, 0x4130, 0x410f, 0x410e, 0x38ee, 0x30ed, 0x30ed, 0x30cc, 0x28cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x08f1, 0x0115, 0x0114, 0x10cf, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20cb, 0x10cf, 0x10ef, 0x10ef, 0x18ce, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x81db, 0x81dc, 0x81db, 0x81db, 0x81bc, 0x81bb, 0x81bc, 0x81dc, 0x81dc, + 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ca, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20cb, 0x20ab, 0x20ab, 0x20cb, 0x28ab, 0x20cb, 0x612e, 0xd1f3, 0xc9f3, 0xc1b2, 0x612e, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x38ed, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x390e, 0x38ee, 0x390e, 0x390e, 0x390e, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x4130, 0x4930, 0x4930, 0x4931, 0x4930, 0x4133, 0x197a, 0x01de, 0x021f, 0x027f, 0x02bf, 0x02ff, 0x033f, 0x037f, 0x03bf, 0x03ff, 0x045f, 0x049f, 0x04df, 0x051f, 0x057f, 0x059f, 0x05df, 0x05df, 0x05df, 0x05bf, 0x059f, 0x055f, 0x055f, 0x053f, 0x051f, 0x04ff, 0x04df, 0x04df, 0x04bf, 0x047f, 0x045f, 0x043f, 0x043f, 0x047f, 0x04bf, 0x04ff, 0x053f, 0x05bf, 0x061f, 0x069f, 0x9972, 0xa111, 0xa111, 0xa111, 0xa111, 0x5130, 0x4910, 0x410f, 0x390f, 0x390e, 0x38ed, 0x30ed, 0x30cd, 0x28cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x08f1, 0x0115, 0x00f4, 0x18cc, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x18cc, 0x00f3, 0x0115, 0x0114, 0x0115, 0x00f4, 0x00f2, 0x20cb, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0xa93d, 0xa93d, 0xa95c, 0xa93d, 0xa95c, 0xa95d, 0xa93c, 0xa95d, 0xa93d, + 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20cb, 0x28ab, 0x510d, 0xd1f3, 0xc9d2, 0x816f, 0x30cc, 0x28ac, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30cd, 0x30ed, 0x30ed, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x38ed, 0x38ed, 0x38ed, 0x38ed, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x390e, 0x390e, 0x390e, 0x390e, 0x390e, 0x410f, 0x410f, 0x410f, 0x410f, 0x4110, 0x410f, 0x4910, 0x4930, 0x4930, 0x4930, 0x4931, 0x4932, 0x31b6, 0x0a9d, 0x02ff, 0x035f, 0x039f, 0x03ff, 0x043f, 0x047f, 0x04bf, 0x051f, 0x055f, 0x05bf, 0x05df, 0x061f, 0x063f, 0x063f, 0x05ff, 0x05df, 0x05bf, 0x059f, 0x059f, 0x057f, 0x055f, 0x053f, 0x051f, 0x04ff, 0x04df, 0x04bf, 0x047f, 0x047f, 0x047f, 0x049f, 0x04df, 0x053f, 0x057f, 0x05ff, 0x065f, 0x06df, 0x7a95, 0xa111, 0xa111, 0xa111, 0xa111, 0x6911, 0x4930, 0x410f, 0x410f, 0x390e, 0x38ee, 0x30ed, 0x30cd, 0x28cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x08f1, 0x0114, 0x0114, 0x18cd, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x08f2, 0x0115, 0x0114, 0x0115, 0x0114, 0x0115, 0x0114, 0x10ef, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20cb, 0x20ab, 0xc8be, 0xd0be, 0xc8be, 0xc8be, 0xd0be, 0xc8be, 0xd0be, 0xd0be, 0xc8be, + 0x20ca, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20cb, 0x20cb, 0x20ab, 0x20ab, 0x40ec, 0xc1d2, 0xc1b3, 0x490d, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30ec, 0x30cd, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x38ed, 0x38ed, 0x38ed, 0x38ed, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x390e, 0x390e, 0x390f, 0x410f, 0x410f, 0x410f, 0x410f, 0x4910, 0x4910, 0x4930, 0x4931, 0x4951, 0x4951, 0x39d5, 0x131c, 0x041f, 0x047f, 0x04bf, 0x051f, 0x055f, 0x059f, 0x05df, 0x061f, 0x067f, 0x069f, 0x069f, 0x067f, 0x065f, 0x061f, 0x05ff, 0x05ff, 0x05bf, 0x059f, 0x057f, 0x055f, 0x053f, 0x051f, 0x04ff, 0x04df, 0x04bf, 0x04bf, 0x04bf, 0x04df, 0x051f, 0x057f, 0x05bf, 0x063f, 0x069f, 0x071f, 0x5438, 0xa111, 0xa111, 0xa111, 0xa111, 0x8111, 0x4930, 0x410f, 0x410f, 0x390e, 0x38ee, 0x30ed, 0x30ed, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x08f1, 0x0115, 0x00f4, 0x18cc, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x18cc, 0x00f5, 0x0115, 0x00f4, 0x0115, 0x0115, 0x0114, 0x0115, 0x00f4, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0xf03f, 0xf03f, 0xf03f, 0xf03f, 0xf03f, 0xf03f, 0xf03f, 0xf03f, 0xf03f, + 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x30cb, 0xa992, 0xa9b1, 0x30cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30cc, 0x30cc, 0x30ec, 0x30ec, 0x30cd, 0x30ed, 0x30ed, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x38ed, 0x38ed, 0x38ed, 0x38ed, 0x38ee, 0x38ee, 0x38ee, 0x390e, 0x390e, 0x390e, 0x410f, 0x410f, 0x410f, 0x410f, 0x410f, 0x412f, 0x4930, 0x4930, 0x5130, 0x4931, 0x5131, 0x3a15, 0x237b, 0x053f, 0x059f, 0x5358, 0x349b, 0x0e1f, 0x06bf, 0x06ff, 0x06ff, 0x06df, 0x06bf, 0x069f, 0x065f, 0x063f, 0x061f, 0x05ff, 0x05df, 0x05bf, 0x059f, 0x057f, 0x055f, 0x051f, 0x04ff, 0x04df, 0x04df, 0x04ff, 0x051f, 0x055f, 0x059f, 0x05ff, 0x065f, 0x06df, 0x073f, 0x359b, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0x4930, 0x4910, 0x412f, 0x390e, 0x38ee, 0x30ed, 0x30ed, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x00f3, 0x0115, 0x0114, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0114, 0x0114, 0x0114, 0x0115, 0x0114, 0x0114, 0x0115, 0x0115, 0x0114, 0x0114, 0x0114, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ca, + 0x790f, 0x68ee, 0x50ed, 0x38cc, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x692f, 0x816f, 0x20ab, 0x20cb, 0x20ab, 0x28cb, 0x28cb, 0x28cb, 0x28ab, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30cc, 0x30cd, 0x30cd, 0x30cd, 0x30cd, 0x30cd, 0x30cd, 0x30cd, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x38ed, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x390e, 0x390e, 0x410f, 0x410f, 0x410f, 0x410f, 0x412f, 0x4930, 0x4930, 0x4930, 0x4931, 0x4931, 0x5131, 0x49d4, 0x243a, 0xa132, 0xa8f1, 0xa8f1, 0xa8f1, 0x8295, 0x8295, 0x5418, 0x351b, 0x06df, 0x069f, 0x067f, 0x065f, 0x063f, 0x05ff, 0x05ff, 0x05bf, 0x059f, 0x057f, 0x055f, 0x053f, 0x051f, 0x051f, 0x053f, 0x057f, 0x059f, 0x05df, 0x063f, 0x069f, 0x06ff, 0x077f, 0x0f5f, 0xa111, 0xa111, 0xa111, 0xa111, 0x9931, 0x6911, 0x4930, 0x410f, 0x390e, 0x38ee, 0x30ed, 0x30ed, 0x30cd, 0x30cc, 0x28cc, 0x28cb, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x18cb, 0x00f2, 0x0115, 0x0114, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0115, 0x0114, 0x00f5, 0x0114, 0x0115, 0x0114, 0x0115, 0x0115, 0x0115, 0x0115, 0x0114, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, + 0x8130, 0x8930, 0x8930, 0x8910, 0x8930, 0x790f, 0x690e, 0x48cd, 0x38cc, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ca, 0x20ca, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20cb, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20cb, 0x20ab, 0x28cb, 0x28ab, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30cc, 0x30cc, 0x30cd, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ee, 0x38ed, 0x38ed, 0x390e, 0x390e, 0x390e, 0x410e, 0x410f, 0x410f, 0x410f, 0x410f, 0x4130, 0x4930, 0x4930, 0x4930, 0x5131, 0x5131, 0x6992, 0xa8f1, 0xa911, 0xa8f1, 0xa911, 0xa8f1, 0xa8f1, 0xa8f1, 0xa172, 0x4c39, 0x2d5c, 0x069f, 0x065f, 0x063f, 0x061f, 0x05ff, 0x05df, 0x059f, 0x057f, 0x055f, 0x055f, 0x055f, 0x057f, 0x059f, 0x05df, 0x061f, 0x067f, 0x06df, 0x073f, 0x079f, 0x07df, 0x8254, 0xa111, 0xa131, 0xa111, 0x9911, 0x8131, 0x4910, 0x410f, 0x410e, 0x38ee, 0x38ed, 0x30ed, 0x30cd, 0x30cc, 0x28cc, 0x28cb, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x08f2, 0x00f5, 0x0114, 0x0114, 0x0115, 0x0115, 0x0114, 0x10f0, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ab, + 0x8930, 0x8910, 0x8910, 0x8930, 0x8930, 0x8930, 0x8910, 0x8930, 0x8910, 0x8130, 0x710f, 0x60ee, 0x48ed, 0x38cc, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x28ab, 0x28ab, 0x20cb, 0x20cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30ec, 0x30ec, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x390e, 0x390f, 0x410f, 0x410f, 0x410f, 0x412f, 0x4930, 0x4910, 0x4930, 0x5131, 0x5131, 0x6931, 0xa111, 0xa8f1, 0xa8f1, 0xa8f1, 0xa8f1, 0xa911, 0xa111, 0xa911, 0xa0f1, 0x9972, 0x4419, 0x067f, 0x065f, 0x061f, 0x05ff, 0x05df, 0x05bf, 0x059f, 0x059f, 0x05bf, 0x05bf, 0x05df, 0x061f, 0x065f, 0x06bf, 0x06ff, 0x075f, 0x07bf, 0x07ff, 0x5498, 0xa131, 0xa111, 0xa111, 0xa111, 0x9911, 0x4930, 0x410f, 0x410f, 0x38ee, 0x38ee, 0x30ed, 0x30cd, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ca, 0x20aa, 0x20aa, 0x20ab, 0x20cc, 0x00f3, 0x00f4, 0x0114, 0x0114, 0x0114, 0x08f2, 0x20cb, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ca, 0x20aa, 0x20ca, 0x20aa, 0x20aa, 0x20aa, 0x20ab, + 0x8110, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8930, 0x8910, 0x8930, 0x8930, 0x8930, 0x8930, 0x8930, 0x8930, 0x8130, 0x710f, 0x58ed, 0x48cc, 0x30cb, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20ca, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20ab, 0x20ab, 0x28cb, 0x20cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30cc, 0x30ec, 0x30ec, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x38ed, 0x38ee, 0x390e, 0x390e, 0x390e, 0x390f, 0x410f, 0x410f, 0x490f, 0x412f, 0x4910, 0x4930, 0x4931, 0x4931, 0x5931, 0x9111, 0xa8f1, 0xa8f1, 0xa911, 0xa8f1, 0xa8f1, 0xa911, 0xa911, 0xa911, 0xa111, 0x7a55, 0x34bb, 0x065f, 0x061f, 0x05ff, 0x05df, 0x05df, 0x05df, 0x05df, 0x05ff, 0x063f, 0x065f, 0x069f, 0x06df, 0x071f, 0x077f, 0x07bf, 0x07ff, 0x2e3c, 0x9911, 0xa111, 0xa111, 0x9931, 0x9931, 0x6910, 0x410f, 0x410f, 0x38ee, 0x38ee, 0x30ed, 0x30ed, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20cb, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20cb, 0x10cf, 0x10d0, 0x10ef, 0x10ce, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ca, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, + 0x8910, 0x8910, 0x8910, 0x810f, 0x890f, 0x890f, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8930, 0x8930, 0x8930, 0x8930, 0x8930, 0x690f, 0x58ee, 0x40cd, 0x30cc, 0x20ab, 0x20ca, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30ec, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x390e, 0x410f, 0x410f, 0x410f, 0x410f, 0x4910, 0x4930, 0x4931, 0x5131, 0x7931, 0xa911, 0xa8f1, 0xa911, 0xa911, 0xa911, 0xa911, 0xa8f1, 0xa111, 0xa111, 0xa111, 0xa111, 0x91b3, 0x62f6, 0x347b, 0x061f, 0x061f, 0x063f, 0x063f, 0x065f, 0x067f, 0x06bf, 0x071f, 0x073f, 0x079f, 0x07df, 0x07ff, 0x07ff, 0xa111, 0x9912, 0x9911, 0x9931, 0x9932, 0x8131, 0x4130, 0x410f, 0x410e, 0x38ee, 0x30ee, 0x30ed, 0x30cd, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x28cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, + 0x810f, 0x810f, 0x810f, 0x890f, 0x8910, 0x8910, 0x8110, 0x8110, 0x8110, 0x8110, 0x8910, 0x8130, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8930, 0x8910, 0x8930, 0x8930, 0x810f, 0x710f, 0x50ed, 0x40cc, 0x28ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20ab, 0x28ab, 0x28ab, 0x28ab, 0x28ab, 0x28ab, 0x28ab, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x30ed, 0x38ee, 0x38ee, 0x38ee, 0x38ee, 0x390f, 0x410f, 0x410f, 0x410f, 0x4910, 0x4930, 0x4930, 0x4930, 0x7111, 0xa911, 0xa911, 0xa911, 0xa911, 0xa111, 0xa911, 0xa911, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0x91b3, 0x349b, 0x065f, 0x067f, 0x069f, 0x06bf, 0x06ff, 0x073f, 0x077f, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x7ad4, 0xa111, 0x9911, 0xa111, 0x9931, 0x9931, 0x4930, 0x410f, 0x390e, 0x38ee, 0x30ee, 0x30ed, 0x30ed, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x28cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, + 0x890f, 0x890f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x890f, 0x890f, 0x8910, 0x8910, 0x8110, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8930, 0x8930, 0x8930, 0x8130, 0x8930, 0x8930, 0x810f, 0x710f, 0x50ed, 0x38cc, 0x28ab, 0x20ab, 0x20ab, 0x20ca, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ca, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ca, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x28ab, 0x28ab, 0x28ab, 0x28ab, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x28cb, 0x28cb, 0x20cb, 0x20cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30ec, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x38ed, 0x38ee, 0x38ee, 0x390e, 0x390e, 0x410f, 0x410f, 0x4110, 0x4930, 0x4930, 0x5130, 0x8111, 0xa111, 0xa911, 0xa111, 0xa111, 0xa911, 0xa112, 0xa111, 0xa911, 0xa111, 0xa112, 0xa0f1, 0xa111, 0xa111, 0xa111, 0x7a75, 0x15fd, 0x06bf, 0x06ff, 0x071f, 0x075f, 0x079f, 0x07bf, 0x07ff, 0x07ff, 0x07ff, 0x5499, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x6930, 0x410f, 0x390e, 0x390e, 0x38ee, 0x30ed, 0x30cd, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, + 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x8110, 0x8110, 0x8910, 0x8910, 0x8910, 0x8910, 0x8930, 0x8930, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8930, 0x8130, 0x8930, 0x8930, 0x8130, 0x8930, 0x8930, 0x790f, 0x690e, 0x50ed, 0x38cc, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x28ab, 0x20ab, 0x28ab, 0x28ab, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30ec, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x38ed, 0x38ee, 0x38ee, 0x40ee, 0x410f, 0x410f, 0x410f, 0x4130, 0x4930, 0x4930, 0x5931, 0x90f1, 0xa911, 0xa912, 0xa111, 0xa111, 0xa111, 0xa911, 0xa911, 0xa111, 0xa112, 0xa111, 0xa111, 0xa111, 0xa111, 0x9972, 0x353b, 0x071f, 0x073f, 0x077f, 0x07bf, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x2e3c, 0xa111, 0x9931, 0x9931, 0x9931, 0x9931, 0x8931, 0x410f, 0x410f, 0x38ee, 0x38ee, 0x30ed, 0x30ed, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, + 0x810f, 0x80ef, 0x810f, 0x810f, 0x810f, 0x810f, 0x890f, 0x890f, 0x890f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x8110, 0x8110, 0x8910, 0x8110, 0x8110, 0x8130, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8930, 0x8130, 0x8130, 0x8930, 0x8930, 0x790f, 0x690e, 0x50ed, 0x38cc, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x28ab, 0x20cb, 0x20cb, 0x20cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cd, 0x30cd, 0x30ed, 0x30ed, 0x30ed, 0x38ee, 0x390e, 0x390e, 0x390e, 0x410f, 0x410f, 0x412f, 0x4130, 0x4930, 0x4930, 0x8111, 0xa911, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa112, 0xa112, 0xa111, 0xa111, 0x4499, 0x077f, 0x079f, 0x07bf, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x9931, 0xa111, 0x9931, 0x9931, 0x9931, 0x9931, 0x490f, 0x410f, 0x38ee, 0x30ee, 0x38ed, 0x30ed, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, + 0x90ef, 0x88ef, 0x80ef, 0x810f, 0x80ef, 0x80ef, 0x80ef, 0x810f, 0x810f, 0x890f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x890f, 0x890f, 0x810f, 0x8110, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8930, 0x8910, 0x8930, 0x8930, 0x8930, 0x8930, 0x8930, 0x8130, 0x710f, 0x60ee, 0x48ed, 0x38ec, 0x20aa, 0x20aa, 0x20cb, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x28ab, 0x28ab, 0x20cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cc, 0x30cd, 0x30cd, 0x30ed, 0x30ed, 0x38ed, 0x310e, 0x38ee, 0x390e, 0x390e, 0x410f, 0x410f, 0x412f, 0x4930, 0x4930, 0x7131, 0xa111, 0xa111, 0xa112, 0xa111, 0xa0f1, 0xa111, 0xa111, 0xa112, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa131, 0x6397, 0x07bf, 0x07df, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x7ad4, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x7130, 0x390f, 0x38ee, 0x38ee, 0x38ed, 0x30ed, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x28ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, + 0x990f, 0x990f, 0x910f, 0x910f, 0x890f, 0x88ef, 0x810f, 0x80ef, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x890f, 0x890f, 0x890f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x8910, 0x8110, 0x8110, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8930, 0x8910, 0x8910, 0x8910, 0x8930, 0x8930, 0x8130, 0x8930, 0x8930, 0x8930, 0x710f, 0x58ee, 0x48ed, 0x30cb, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x20cb, 0x20cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30ec, 0x30ec, 0x30ed, 0x38ee, 0x30ed, 0x38ed, 0x390e, 0x38ee, 0x410e, 0x410f, 0x410f, 0x4930, 0x4930, 0x6931, 0xa111, 0xa111, 0xa112, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa112, 0x9931, 0x9911, 0x6397, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x5c14, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9131, 0x410f, 0x390e, 0x390e, 0x30ed, 0x30ed, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x28ab, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, + 0x910f, 0x98ef, 0x910f, 0x910f, 0x98ef, 0x990f, 0x910f, 0x890f, 0x88ef, 0x80ef, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x890f, 0x810f, 0x810f, 0x810f, 0x890f, 0x890f, 0x810f, 0x810f, 0x8110, 0x8910, 0x8910, 0x8110, 0x8110, 0x8910, 0x8110, 0x8110, 0x8910, 0x8910, 0x8910, 0x8930, 0x8930, 0x8910, 0x8930, 0x8930, 0x8930, 0x8930, 0x8930, 0x8930, 0x8930, 0x8930, 0x8930, 0x8130, 0x710f, 0x58ed, 0x40ed, 0x30cb, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x20cb, 0x20cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cd, 0x30ed, 0x30ed, 0x38ed, 0x30ee, 0x38ee, 0x390e, 0x390e, 0x410f, 0x410f, 0x4130, 0x4930, 0x5931, 0x7911, 0x9131, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0xa111, 0x9931, 0xa111, 0x9931, 0x5498, 0x07ff, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x35f5, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x510f, 0x390e, 0x390e, 0x38ed, 0x30ed, 0x30cc, 0x30cc, 0x28cc, 0x28cb, 0x28cb, 0x28ab, 0x20cb, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, + 0x890f, 0x88ef, 0x88ef, 0x88ef, 0x88ef, 0x88ef, 0x88ef, 0x88ef, 0x88ef, 0x890f, 0x810f, 0x80ef, 0x80ef, 0x80ef, 0x80ef, 0x810f, 0x810f, 0x810f, 0x80ef, 0x810f, 0x810f, 0x810f, 0x810f, 0x890f, 0x890f, 0x890f, 0x890f, 0x890f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x890f, 0x8910, 0x8910, 0x8930, 0x8930, 0x8930, 0x8930, 0x8930, 0x8930, 0x8930, 0x8930, 0x8910, 0x8930, 0x8930, 0x8930, 0x8130, 0x68ef, 0x50ed, 0x40cc, 0x28cb, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20cb, 0x28ab, 0x28cb, 0x20cb, 0x28ab, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30cd, 0x30ed, 0x30ed, 0x38ed, 0x38ee, 0x38ee, 0x390e, 0x410f, 0x410f, 0x412f, 0x4130, 0x4930, 0x4930, 0x6131, 0x8931, 0xa111, 0xa111, 0xa111, 0xa131, 0xa111, 0xa111, 0x9931, 0xa111, 0xa111, 0xa111, 0xa111, 0x3d7a, 0x07ff, 0x07ff, 0x07ff, 0x07fe, 0x07f6, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x7911, 0x390e, 0x38ee, 0x30ee, 0x30ed, 0x30cd, 0x30cc, 0x28cc, 0x28cc, 0x28cb, 0x28ab, 0x28ab, 0x20ab, 0x20ab, 0x20ca, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x18aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, + 0x78ee, 0x78ee, 0x80ee, 0x80ee, 0x80ee, 0x78ee, 0x80ee, 0x80ee, 0x80ef, 0x80ef, 0x80ef, 0x80ee, 0x80ef, 0x810f, 0x80ef, 0x80ef, 0x80ef, 0x80ef, 0x810f, 0x80ef, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x890f, 0x890f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x890f, 0x890f, 0x8910, 0x8110, 0x8130, 0x8910, 0x810f, 0x8110, 0x810f, 0x8910, 0x8910, 0x8910, 0x8930, 0x8930, 0x8910, 0x8930, 0x8930, 0x8930, 0x8930, 0x8130, 0x8930, 0x8910, 0x8930, 0x8130, 0x8930, 0x8930, 0x8930, 0x8110, 0x690f, 0x50ed, 0x38cc, 0x28ab, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20cb, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20cb, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ca, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x18aa, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ca, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x28cb, 0x20ab, 0x20cb, 0x20cb, 0x28cb, 0x28cb, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x28cc, 0x30cc, 0x30ec, 0x30ed, 0x30ed, 0x30ed, 0x38ee, 0x38ee, 0x390e, 0x390e, 0x410f, 0x410f, 0x410f, 0x4930, 0x4930, 0x5131, 0x6131, 0x9911, 0xa111, 0xa111, 0xa111, 0x9931, 0xa111, 0xa111, 0xa112, 0x9931, 0x9911, 0x9192, 0x1ebd, 0x07ff, 0x07ff, 0x07fe, 0x07f6, 0x7a71, 0x9931, 0x9931, 0x9932, 0x9931, 0x9931, 0x9111, 0x410e, 0x38ee, 0x30ed, 0x30ed, 0x30ed, 0x28cc, 0x28cc, 0x28cb, 0x28cb, 0x20ab, 0x28ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ca, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x208a, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, + 0x78ee, 0x78ee, 0x78ee, 0x78ee, 0x80ee, 0x78ee, 0x78ee, 0x80ee, 0x80ee, 0x80ef, 0x80ef, 0x80ee, 0x80ef, 0x80ef, 0x80ef, 0x80ef, 0x80ef, 0x810f, 0x810e, 0x810f, 0x80ef, 0x80ef, 0x80ef, 0x80ef, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x810f, 0x890f, 0x890f, 0x890f, 0x890f, 0x890f, 0x890f, 0x890f, 0x890f, 0x8110, 0x810f, 0x890f, 0x890f, 0x810f, 0x810f, 0x810f, 0x890f, 0x8910, 0x8910, 0x8910, 0x8910, 0x8910, 0x8130, 0x8910, 0x8930, 0x8130, 0x8930, 0x8930, 0x8910, 0x8910, 0x8130, 0x8930, 0x8930, 0x8930, 0x8930, 0x8130, 0x8130, 0x8930, 0x710f, 0x690e, 0x50ed, 0x38cc, 0x28ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20cb, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ca, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20aa, 0x20ca, 0x20aa, 0x20ab, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20aa, 0x20ab, 0x20aa, 0x20ab, 0x20ab, 0x20ac, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cc, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x20cd, 0x28cd, 0x28cd, 0x28cd, 0x28cd, 0x20cd, 0x28ce, 0x28ce, 0x28ce, 0x28ee, 0x28ce, 0x28ee, 0x30ee, 0x30ef, 0x30ef, 0x30ef, 0x390f, 0x390f, 0x3910, 0x3910, 0x4110, 0x4131, 0x4931, 0x4931, 0x4932, 0x4952, 0x5152, 0x9132, 0xa111, 0xa111, 0xa111, 0x9912, 0x9931, 0x9931, 0x9911, 0x9931, 0x9912, 0x8274, 0x07ff, 0x07ff, 0x07fd, 0x07f6, 0x5c32, 0x9911, 0x9931, 0x9932, 0x9931, 0x9931, 0x9931, 0x5910, 0x390f, 0x30ef, 0x30ef, 0x30ee, 0x30ce, 0x28cd, 0x28ee, 0x28ed, 0x28cd, 0x20cd, 0x20ac, 0x20cd, 0x20cd, 0x20ad, 0x20cd, 0x20ad, 0x20cc, 0x20cc, 0x20ad, 0x20cc, 0x20ac, 0x20cc, 0x20cc, 0x20ac, 0x20ac, 0x20cc, 0x20cc, 0x20cc, 0x20cc, 0x20cc, 0x20cc, 0x20cc, 0x20cc, 0x20cc, 0x20cc, 0x20cc, 0x20cc, 0x20cc, 0x20cd, 0x20ad, 0x18cc, 0x20cc, 0x20ac, 0x20cc, 0x20ad, 0x20cc, 0x20ac, 0x20ac, 0x20cc, 0x18cc, 0x18cc, 0x20cc, 0x20cc, 0x20cc, 0x20cc, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x20ac, 0x18ac, 0x20ac, 0x20ac, 0x20ac, 0x20cc, 0x18ac, 0x18ac, 0x20ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ac, 0x18ab, 0x18ab, 0x18ab, 0x18ac, 0x18ac, 0x18ac, 0x18ab, + 0x78d0, 0x78d0, 0x78d0, 0x78f0, 0x78f0, 0x78f1, 0x78f0, 0x78f0, 0x78f0, 0x78f1, 0x78f1, 0x80f0, 0x78f1, 0x78f0, 0x80f1, 0x80d1, 0x80f1, 0x80f1, 0x80f1, 0x80f1, 0x80f0, 0x80f0, 0x80f0, 0x80f0, 0x80f0, 0x80f0, 0x80f0, 0x8111, 0x8110, 0x8110, 0x8110, 0x8111, 0x8111, 0x8111, 0x8111, 0x8111, 0x8110, 0x8110, 0x8110, 0x8111, 0x8911, 0x8110, 0x8110, 0x8111, 0x8110, 0x8911, 0x8911, 0x8911, 0x8111, 0x8911, 0x8911, 0x8910, 0x8911, 0x8911, 0x8911, 0x8911, 0x8111, 0x8131, 0x8131, 0x8931, 0x8911, 0x8911, 0x8911, 0x8911, 0x8931, 0x8911, 0x8131, 0x8131, 0x8931, 0x8130, 0x8131, 0x8911, 0x8931, 0x7931, 0x6111, 0x4911, 0x30d2, 0x18f2, 0x10f2, 0x18d2, 0x18d2, 0x10f2, 0x18d2, 0x10f2, 0x10f2, 0x10f2, 0x10f2, 0x10f2, 0x10f2, 0x10f2, 0x10f2, 0x10f2, 0x18d2, 0x18d2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18d2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f3, 0x18f3, 0x18f2, 0x20f2, 0x18f2, 0x18f2, 0x20f2, 0x18f3, 0x18f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f2, 0x18f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x2113, 0x20f3, 0x20f3, 0x2113, 0x20f3, 0x20f3, 0x2113, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x2113, 0x2113, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x2113, 0x20f3, 0x2113, 0x2113, 0x2113, 0x28f3, 0x28f3, 0x2113, 0x28f3, 0x28f3, 0x2913, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2113, 0x2913, 0x2914, 0x2113, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2914, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2913, 0x2913, 0x28f3, 0x28f3, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x28f3, 0x2913, 0x2113, 0x2913, 0x2914, 0x2913, 0x2913, 0x2914, 0x2914, 0x2914, 0x2914, 0x2914, 0x3134, 0x3134, 0x3134, 0x3134, 0x3134, 0x3934, 0x3934, 0x3935, 0x3955, 0x4155, 0x4155, 0x4176, 0x4176, 0x4976, 0x4977, 0x5176, 0x9132, 0xa111, 0xa111, 0x9931, 0x9911, 0xa111, 0x9931, 0x9931, 0x9912, 0x9931, 0x5c38, 0x07ff, 0x07fd, 0x07f6, 0x44f2, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x7933, 0x3955, 0x3135, 0x3134, 0x3114, 0x2133, 0x2113, 0x2113, 0x20f3, 0x20f3, 0x2113, 0x1912, 0x18f2, 0x20f3, 0x18f2, 0x18f3, 0x18f2, 0x18f3, 0x18f3, 0x18f3, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18d2, 0x18f2, 0x18d2, 0x10f2, 0x18f2, 0x18d2, 0x10f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x10f2, 0x10f2, 0x18f2, 0x18f2, 0x10f2, 0x10f2, 0x10f2, 0x10d2, 0x10d2, 0x10d2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x10d2, 0x10d2, 0x10d2, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10b1, 0x10b1, 0x10b1, 0x10b1, 0x10d0, 0x10b0, 0x10d0, 0x10b0, 0x10b0, 0x10d0, 0x10b0, 0x08b0, 0x08b0, 0x08b0, 0x08b0, 0x08b0, + 0x0051, 0x0071, 0x0071, 0x0071, 0x0071, 0x0051, 0x0071, 0x0070, 0x0870, 0x0870, 0x0071, 0x0071, 0x0091, 0x0870, 0x0071, 0x0091, 0x0071, 0x0871, 0x0871, 0x0891, 0x0871, 0x0871, 0x0871, 0x0871, 0x0891, 0x0891, 0x0891, 0x0891, 0x0871, 0x0871, 0x0871, 0x0892, 0x0892, 0x0892, 0x0892, 0x0892, 0x0892, 0x0891, 0x0891, 0x0891, 0x0892, 0x0891, 0x0891, 0x08b1, 0x08b1, 0x08b1, 0x08b2, 0x10b2, 0x08b1, 0x08b2, 0x08b1, 0x08b2, 0x08b2, 0x08b2, 0x10b2, 0x10b2, 0x10b2, 0x10b2, 0x10b2, 0x08b2, 0x10b2, 0x10b2, 0x08b2, 0x08b2, 0x10b2, 0x10b2, 0x10b2, 0x10b2, 0x10b2, 0x10d2, 0x10d2, 0x10d2, 0x10f2, 0x10d2, 0x10d2, 0x10d2, 0x10d2, 0x10d2, 0x18d2, 0x18d2, 0x10f2, 0x18d2, 0x18d2, 0x10d2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18d2, 0x18f2, 0x18f2, 0x18d2, 0x18d2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f3, 0x18f3, 0x18f3, 0x18f3, 0x18f3, 0x18f2, 0x18f3, 0x18f3, 0x20f2, 0x18f3, 0x18f3, 0x18f3, 0x18f3, 0x18f3, 0x18f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x2112, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x2113, 0x20f2, 0x20f3, 0x20f2, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x20f3, 0x2113, 0x28f3, 0x2113, 0x20f3, 0x2113, 0x28f3, 0x20f3, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x28f3, 0x28f3, 0x2113, 0x2113, 0x2113, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2113, 0x2913, 0x2913, 0x2913, 0x2914, 0x2913, 0x2913, 0x28f3, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x28f3, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2113, 0x2913, 0x2913, 0x2914, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2913, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2113, 0x2913, 0x28f3, 0x28f3, 0x2913, 0x2113, 0x2913, 0x2913, 0x2113, 0x2113, 0x28f3, 0x2913, 0x2113, 0x2914, 0x2914, 0x2914, 0x2914, 0x2914, 0x2914, 0x2914, 0x2914, 0x3134, 0x3134, 0x3134, 0x3135, 0x3935, 0x3935, 0x3955, 0x3955, 0x4155, 0x4156, 0x4176, 0x4976, 0x4956, 0x5176, 0x9132, 0xa111, 0xa112, 0xa111, 0x9931, 0x9931, 0x9911, 0x9932, 0x9931, 0x9911, 0x2e5c, 0x07fc, 0x07f6, 0x2e53, 0x9931, 0x9931, 0x9931, 0x9911, 0x9911, 0x9931, 0x9132, 0x3134, 0x3134, 0x3134, 0x2934, 0x2914, 0x2913, 0x2113, 0x2113, 0x20f3, 0x2112, 0x20f3, 0x20d3, 0x1912, 0x18f2, 0x18f3, 0x18f2, 0x18f2, 0x18f2, 0x18d2, 0x18f2, 0x20f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18d2, 0x18d2, 0x18d2, 0x18d2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x18d2, 0x18f2, 0x18f2, 0x18f2, 0x18f2, 0x10f2, 0x10f2, 0x18f2, 0x18f2, 0x18d2, 0x18f2, 0x10f2, 0x18f2, 0x18d2, 0x10f2, 0x18f2, 0x10f2, 0x10f2, 0x10f2, 0x10f2, 0x10f2, 0x10f2, 0x10d2, 0x10d2, 0x10f2, 0x10f2, 0x10d2, 0x10d2, 0x10d2, 0x10d2, 0x10d2, 0x10d2, 0x10d2, 0x10d1, 0x10d1, 0x10d2, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10d1, 0x10b0, 0x10b0, 0x10b0, 0x10b0, 0x10b0, 0x10b0, 0x10b0, 0x10b0, 0x08b0, 0x10b0, 0x10b0, 0x08b0, 0x08b0, 0x10b0, 0x10d0, 0x08d0, 0x08b0, 0x08b0, 0x08b0, 0x08b0, + 0x0cdc, 0x0cdc, 0x0cdb, 0x0cdc, 0x0cfb, 0x0cdc, 0x14dc, 0x14fc, 0x0cdc, 0x14fc, 0x14dc, 0x0cfc, 0x0cfc, 0x14fc, 0x0cfc, 0x14fc, 0x14fc, 0x14fc, 0x14fc, 0x14fc, 0x14fc, 0x14fc, 0x151c, 0x151c, 0x151c, 0x151c, 0x151c, 0x151c, 0x151c, 0x151c, 0x151c, 0x151c, 0x151c, 0x151c, 0x151c, 0x151c, 0x151c, 0x151c, 0x153c, 0x153c, 0x153c, 0x153c, 0x151c, 0x153c, 0x153c, 0x153c, 0x153c, 0x153c, 0x153c, 0x153c, 0x153c, 0x153c, 0x153c, 0x155c, 0x153c, 0x153c, 0x1d5c, 0x1d5c, 0x1d5c, 0x155c, 0x155c, 0x155c, 0x1d5c, 0x1d5c, 0x1d5c, 0x1d5c, 0x1d5c, 0x155c, 0x1d5c, 0x1d5c, 0x1d5c, 0x1d5c, 0x1d5c, 0x1d5c, 0x1d5c, 0x1d5c, 0x157c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d9c, 0x1d9c, 0x1d9c, 0x1d9c, 0x1d9c, 0x1d9c, 0x1d9c, 0x1d9c, 0x1d9d, 0x1d9d, 0x1d9d, 0x1d9d, 0x259c, 0x1dbc, 0x1d9d, 0x259d, 0x1d9c, 0x259c, 0x259c, 0x259c, 0x259c, 0x259c, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25bd, 0x25dd, 0x25dd, 0x25bd, 0x25bd, 0x1ddd, 0x25dd, 0x25dd, 0x25dd, 0x25bd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25dd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x2dfd, 0x25fd, 0x25fd, 0x25fd, 0x25fd, 0x2dfd, 0x2dfd, 0x2dfd, 0x2dfd, 0x2dfd, 0x25fd, 0x2dfe, 0x2dfd, 0x2dfd, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e3e, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e3d, 0x2e3d, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3d, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x365e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e3e, 0x365e, 0x365e, 0x2e5d, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e5e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3e, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3e, 0x2e3d, 0x2e3e, 0x2e3d, 0x363d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e3d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x2e1d, 0x361d, 0x361d, 0x361d, 0x361d, 0x361d, 0x3e1d, 0x3e1d, 0x3e1d, 0x3e1d, 0x3e1d, 0x3e1e, 0x461e, 0x461d, 0x4dfe, 0x4dfd, 0x4e3e, 0x4dfe, 0x55dd, 0x9214, 0x9931, 0x9931, 0x9931, 0x9932, 0x9931, 0x9911, 0x9911, 0x9931, 0x7a74, 0x07fb, 0x07f6, 0x07f6, 0x9931, 0x9931, 0x9911, 0x9932, 0x9931, 0x9931, 0x9931, 0x4cfb, 0x3dfe, 0x35dd, 0x35dd, 0x2ddd, 0x2ddd, 0x2ddd, 0x2ddd, 0x25dd, 0x25dd, 0x25bd, 0x25bd, 0x25dd, 0x25dd, 0x25bd, 0x25dc, 0x25bd, 0x25bd, 0x25bd, 0x1dbd, 0x25bc, 0x1dbd, 0x1dbd, 0x1dbc, 0x1dbc, 0x1dbc, 0x1dbc, 0x1dbc, 0x1dbc, 0x1d9d, 0x1d9d, 0x1d9d, 0x1d9d, 0x1d9d, 0x1d9d, 0x1d9d, 0x1d9c, 0x1d9c, 0x1dbc, 0x1d9c, 0x1d9c, 0x1d9c, 0x1d9c, 0x1d9d, 0x1d9c, 0x1d9d, 0x1d9c, 0x1d7c, 0x1d7c, 0x1d7d, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d5c, 0x1d5c, 0x1d5c, 0x1d5c, 0x1d5c, 0x1d5c, 0x157c, 0x1d5c, 0x1d5c, 0x1d5c, 0x1d5c, 0x1d5c, 0x1d5c, 0x155c, 0x155c, 0x155c, 0x1d5c, 0x153c, 0x153c, 0x153c, 0x153c, 0x153c, 0x153c, 0x153c, 0x153c, 0x153c, 0x153c, 0x153c, 0x153c, 0x153c, 0x153c, 0x153c, 0x153c, 0x153c, 0x151c, 0x151c, 0x151c, 0x151c, 0x151c, 0x151b, 0x151b, 0x151b, 0x151c, 0x151c, 0x151c, 0x151c, 0x151c, 0x151c, 0x151c, 0x151c, + 0x0bfb, 0x0bfb, 0x0bfb, 0x0bfb, 0x0bfb, 0x0c1b, 0x0c1b, 0x0c1b, 0x0c1b, 0x141b, 0x141b, 0x145b, 0x14dc, 0x0cdb, 0x14bc, 0x143b, 0x141b, 0x0c1b, 0x0c1b, 0x141c, 0x141b, 0x141b, 0x141b, 0x141b, 0x141b, 0x141b, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b, 0x143c, 0x143b, 0x145b, 0x151c, 0x0d1b, 0x151c, 0x145b, 0x143b, 0x145c, 0x143b, 0x145c, 0x1c5b, 0x143b, 0x145c, 0x145c, 0x145c, 0x145c, 0x145c, 0x145b, 0x145c, 0x145b, 0x145b, 0x1c5c, 0x145c, 0x147c, 0x147c, 0x147c, 0x145c, 0x1c7c, 0x1c5c, 0x147c, 0x147c, 0x1c7c, 0x1cdc, 0x1d5c, 0x155c, 0x1cbc, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c7b, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x249c, 0x1c9c, 0x1d9d, 0x1d7c, 0x1cfc, 0x1c9c, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x24bc, 0x1cbc, 0x1cbc, 0x24bc, 0x24bc, 0x24bc, 0x1cbc, 0x24dc, 0x24dc, 0x24dc, 0x253d, 0x25bd, 0x253d, 0x24dd, 0x24bc, 0x24bc, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24dd, 0x24fd, 0x24dc, 0x24dc, 0x24fd, 0x24fd, 0x24fc, 0x24dd, 0x24fd, 0x251c, 0x25fd, 0x255d, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x24fc, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x24fd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x251d, 0x24fd, 0x24fd, 0x251d, 0x2d1d, 0x24fd, 0x2cfd, 0x25bd, 0x25bd, 0x253c, 0x2cfc, 0x2d1d, 0x251d, 0x2cfd, 0x2cfd, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1c, 0x2d5d, 0x2dde, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d1d, 0x2d3d, 0x2d1d, 0x2d1d, 0x2e1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d3d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2ddd, 0x2d5d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2d1d, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2d1d, 0x2d1d, 0x2cfd, 0x2cfd, 0x2cfd, 0x2dbd, 0x2dbd, 0x2cfd, 0x2d1d, 0x251c, 0x251c, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x2cfd, 0x34fd, 0x34fd, 0x34fd, 0x34fd, 0x34fd, 0x3cfd, 0x3cfd, 0x3cfd, 0x3cfd, 0x3d1d, 0x451d, 0x451d, 0x451d, 0x4d1d, 0x4d1d, 0x553d, 0x91b3, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0xa112, 0x9931, 0x9931, 0x5496, 0x07f7, 0x07f7, 0x8a13, 0xa111, 0x9931, 0x9931, 0x9912, 0x9932, 0x9911, 0x6318, 0x34dd, 0x34dd, 0x2cdd, 0x2cdc, 0x2cdd, 0x2cbc, 0x24dc, 0x24bc, 0x24bc, 0x253c, 0x25bd, 0x253c, 0x24bc, 0x24bc, 0x24bc, 0x1cbc, 0x24bc, 0x1cbc, 0x1cbc, 0x24bc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1cbc, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c7c, 0x1c9c, 0x1cdc, 0x1d7c, 0x1d5c, 0x1c9c, 0x1c9c, 0x1c7b, 0x1c7c, 0x1c9c, 0x1c7b, 0x1c9c, 0x1c9c, 0x1c9c, 0x1c7c, 0x1c9c, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c7c, 0x147c, 0x147c, 0x147c, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c7c, 0x1c5c, 0x1c9c, 0x153c, 0x155c, 0x14bc, 0x145b, 0x145b, 0x1c5c, 0x147b, 0x145b, 0x145b, 0x145b, 0x145b, 0x145b, 0x145b, 0x145b, 0x145c, 0x145c, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b, 0x143b, 0x151c, 0x14fb, 0x14fc, 0x145b, 0x143b, 0x143b, 0x141b, 0x141b, 0x141b, 0x141b, 0x141b, 0x141b, + 0x0a5a, 0x0a5a, 0x0a5a, 0x0a5a, 0x0a7a, 0x0a5a, 0x0afa, 0x0c1b, 0x0cbb, 0x0c9b, 0x0b9b, 0x0a9a, 0x125a, 0x0a7a, 0x0a7a, 0x0a7a, 0x0a7a, 0x127a, 0x127a, 0x0a7a, 0x127a, 0x127a, 0x127a, 0x127a, 0x127a, 0x127a, 0x127a, 0x127a, 0x127a, 0x127a, 0x127a, 0x127a, 0x127a, 0x127a, 0x127a, 0x129a, 0x129a, 0x129a, 0x133b, 0x145b, 0x0d1c, 0x149c, 0x131b, 0x129b, 0x129b, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129b, 0x129a, 0x129b, 0x129b, 0x129b, 0x129b, 0x129b, 0x129b, 0x129a, 0x129b, 0x1abb, 0x129b, 0x131b, 0x147c, 0x153b, 0x145c, 0x12fb, 0x1abb, 0x12ba, 0x1abb, 0x1abb, 0x12bb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1b3b, 0x1cfc, 0x157c, 0x1c1c, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x22db, 0x22db, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x22db, 0x22db, 0x22fb, 0x231c, 0x1d1c, 0x1d5c, 0x235b, 0x22dc, 0x22db, 0x22dc, 0x22fb, 0x22fc, 0x22dc, 0x22dc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fb, 0x22fb, 0x22fb, 0x22fb, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x231b, 0x22fc, 0x233c, 0x253c, 0x1cfd, 0x22fc, 0x22fc, 0x22fb, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x22fc, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x2afc, 0x2afc, 0x231c, 0x2b1c, 0x2b1c, 0x259c, 0x247c, 0x231c, 0x231c, 0x2b1c, 0x231c, 0x231c, 0x2b1c, 0x231c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x25bd, 0x2bbc, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x231c, 0x2b1c, 0x2b1c, 0x25dd, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x231c, 0x2b1c, 0x2b7c, 0x259d, 0x2b1c, 0x2b1c, 0x231c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x231c, 0x245d, 0x259c, 0x22fc, 0x2afc, 0x231c, 0x2afc, 0x22fc, 0x231c, 0x231c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2b1c, 0x2afc, 0x2b1c, 0x2b1c, 0x2b1c, 0x331c, 0x331c, 0x331c, 0x331c, 0x331c, 0x3b1c, 0x3b3d, 0x3b3d, 0x3b3d, 0x433c, 0x433d, 0x4b3d, 0x435d, 0x5a9a, 0x9932, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x1737, 0x07f9, 0x72d4, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x8194, 0x331c, 0x32fc, 0x2afb, 0x2afc, 0x2afb, 0x22fb, 0x22dc, 0x22dc, 0x22fb, 0x22db, 0x22db, 0x235c, 0x1d5c, 0x1d1d, 0x231b, 0x1adb, 0x1adb, 0x1adb, 0x22db, 0x1abb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1abb, 0x1abb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1adb, 0x1abb, 0x1abb, 0x1abb, 0x1adb, 0x1bfc, 0x1d5c, 0x14dc, 0x1b3b, 0x1abb, 0x1adb, 0x1abb, 0x1abb, 0x12db, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x1abb, 0x129b, 0x12bb, 0x129a, 0x12ba, 0x129a, 0x12db, 0x143b, 0x151b, 0x14bb, 0x1afb, 0x12ba, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x129a, 0x127a, 0x127a, 0x127a, 0x131b, 0x147c, 0x14db, 0x145b, 0x131a, 0x127a, 0x127a, 0x127a, 0x127a, + 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b5a, 0x0c1b, 0x0c9b, 0x0c9b, 0x0bba, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b3a, 0x0b3b, 0x0b3a, 0x0b3a, 0x0b3b, 0x133b, 0x0b3b, 0x0b3b, 0x0b3b, 0x133a, 0x0b3a, 0x0c3b, 0x14dc, 0x14bc, 0x13fb, 0x0b3a, 0x133b, 0x133b, 0x133b, 0x135b, 0x0b5b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135a, 0x135b, 0x135b, 0x0b5a, 0x135b, 0x135b, 0x135b, 0x135b, 0x0b5b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x13fb, 0x151c, 0x14fc, 0x13db, 0x135b, 0x137b, 0x137b, 0x137b, 0x137b, 0x135b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x1b7b, 0x137b, 0x1b5b, 0x1b7b, 0x137b, 0x137b, 0x137b, 0x139b, 0x1bbb, 0x14fb, 0x153c, 0x13fb, 0x1b7b, 0x139b, 0x1b7b, 0x1b7c, 0x1b9b, 0x1b7b, 0x1b7b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9c, 0x1b9b, 0x1b9b, 0x1b9b, 0x139c, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9c, 0x1b9b, 0x1d3c, 0x1d5c, 0x1bfb, 0x1b9c, 0x1bbb, 0x1b9b, 0x1bbc, 0x1b9b, 0x1b9b, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbc, 0x1bbb, 0x1cdc, 0x1d7d, 0x23fc, 0x1bdc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x1bbc, 0x1bbc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23bc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x247c, 0x1d9c, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x241c, 0x259d, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x1dbd, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x1dbd, 0x243c, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x23bc, 0x23dc, 0x23dc, 0x259c, 0x247c, 0x23bc, 0x23bc, 0x23dc, 0x23bc, 0x23dc, 0x23dc, 0x23bc, 0x23bc, 0x23bc, 0x23dc, 0x23dc, 0x23dc, 0x23dc, 0x2bdc, 0x2bdc, 0x2bdc, 0x2bdc, 0x2bdc, 0x33dc, 0x33dc, 0x33dc, 0x33dc, 0x3bdc, 0x3bfc, 0x3bfc, 0x3bdc, 0x43fc, 0x43fd, 0x6b18, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9932, 0x9931, 0x6b53, 0x07fa, 0x5437, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9912, 0x9931, 0x2bbc, 0x2bbc, 0x2bbc, 0x2bbb, 0x23bb, 0x23bb, 0x239b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1bdb, 0x1d5c, 0x1d1c, 0x1b9b, 0x1b9b, 0x139b, 0x139c, 0x1b9b, 0x1b7b, 0x1b7b, 0x139b, 0x1b9b, 0x1b9b, 0x1b7b, 0x1b9b, 0x139b, 0x1b7b, 0x1b7b, 0x1b9b, 0x1b9b, 0x137b, 0x137b, 0x137b, 0x137b, 0x1b9b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x139b, 0x1bbb, 0x151c, 0x151c, 0x13db, 0x137b, 0x137b, 0x135b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x135b, 0x135b, 0x135b, 0x137b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135a, 0x135b, 0x133b, 0x13da, 0x14fb, 0x0cfb, 0x141b, 0x133a, 0x135b, 0x133b, 0x135b, 0x135b, 0x135a, 0x135b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133a, 0x133b, 0x0b5b, 0x133b, 0x133a, 0x0b3a, 0x133a, 0x133a, 0x0b3b, 0x0b3b, 0x0b3b, 0x0b3a, 0x133a, 0x0b1a, 0x0b3b, 0x0b3a, 0x0bda, 0x14bb, 0x0cbb, 0x0c1b, 0x0b3a, 0x0b3b, 0x0b3a, + 0x0bdb, 0x0c7b, 0x0c7b, 0x0c1a, 0x0b3a, 0x0b1a, 0x0afa, 0x0afa, 0x0afa, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0c1b, 0x0cbb, 0x0c9b, 0x0bbb, 0x0b5a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b1a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x133a, 0x133a, 0x133a, 0x0b3a, 0x133b, 0x0b3a, 0x133a, 0x0b3a, 0x133a, 0x0b3a, 0x135a, 0x133a, 0x133b, 0x133a, 0x133b, 0x0b3a, 0x0c7b, 0x0cfb, 0x147b, 0x137b, 0x0b5b, 0x0b5b, 0x135a, 0x135a, 0x135b, 0x135a, 0x135a, 0x135a, 0x135a, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x137b, 0x135a, 0x135a, 0x137b, 0x135a, 0x135b, 0x139b, 0x14bb, 0x14fb, 0x13fb, 0x137b, 0x137b, 0x135b, 0x137b, 0x137a, 0x137a, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x1b7b, 0x1b7b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x1bbb, 0x153c, 0x151c, 0x1b7b, 0x139b, 0x137b, 0x139b, 0x139b, 0x1b9b, 0x139b, 0x1b9b, 0x1b9b, 0x139b, 0x139b, 0x139b, 0x139b, 0x139b, 0x139b, 0x139b, 0x139b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x13bb, 0x139b, 0x1b9b, 0x139b, 0x1b9b, 0x1b9b, 0x1b9c, 0x1c3b, 0x1d5c, 0x1c3c, 0x1b9b, 0x1bbb, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1b9b, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbc, 0x1bbb, 0x1bbb, 0x1c9c, 0x1d1c, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bdb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1cfc, 0x1c7c, 0x1bbb, 0x1bdb, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbb, 0x1bdc, 0x23bc, 0x1bbb, 0x1d7c, 0x1bbb, 0x1bdc, 0x1bbb, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbc, 0x1b9c, 0x1bdc, 0x1bbb, 0x1c5b, 0x1cfb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbb, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbc, 0x1bbb, 0x1bbb, 0x1bbb, 0x1b9b, 0x1d3c, 0x1cbc, 0x1bbb, 0x1bbb, 0x1b9b, 0x1b9c, 0x1b9c, 0x1b9b, 0x1b9b, 0x1bbb, 0x1b9c, 0x1b9b, 0x1bbb, 0x239b, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x23bc, 0x2bbc, 0x2bbc, 0x2bbc, 0x2bbc, 0x33bc, 0x33bc, 0x33dc, 0x3bdc, 0x3bdc, 0x3bdc, 0x3bdc, 0x8194, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9911, 0x9931, 0x2659, 0x4c98, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x4b19, 0x23bc, 0x239b, 0x239b, 0x239b, 0x1b9b, 0x1b9b, 0x1b9b, 0x1b7b, 0x1b7b, 0x1b7b, 0x1b7b, 0x137b, 0x137b, 0x137b, 0x14bb, 0x151b, 0x13db, 0x137b, 0x137a, 0x137b, 0x137b, 0x137a, 0x137b, 0x137b, 0x137b, 0x135b, 0x137b, 0x135b, 0x135b, 0x135b, 0x137b, 0x137b, 0x137b, 0x137b, 0x137b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135a, 0x135b, 0x135a, 0x13bb, 0x14db, 0x14bb, 0x137b, 0x135a, 0x135b, 0x0b5a, 0x135b, 0x135b, 0x135a, 0x0b5a, 0x135a, 0x135b, 0x135a, 0x135a, 0x135a, 0x135a, 0x0b5a, 0x0b5a, 0x135a, 0x133a, 0x135a, 0x133a, 0x0b3a, 0x133b, 0x133a, 0x0b3a, 0x133b, 0x133b, 0x133a, 0x0b3a, 0x0b3a, 0x0c5b, 0x0cbb, 0x0c5b, 0x0b7a, 0x0b3a, 0x0b3b, 0x0b1a, 0x133b, 0x0b3a, 0x0b1a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b1a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b9a, 0x0c9b, 0x0c9b, + 0x0bda, 0x02f9, 0x01f9, 0x0978, 0x0978, 0x0978, 0x0978, 0x0978, 0x0978, 0x0979, 0x0979, 0x0978, 0x0979, 0x0979, 0x0979, 0x0979, 0x0178, 0x0178, 0x0979, 0x0979, 0x0979, 0x0978, 0x0979, 0x0178, 0x0979, 0x0978, 0x0979, 0x0979, 0x0979, 0x0979, 0x0a1a, 0x0b1a, 0x0c3a, 0x0c1b, 0x0ada, 0x09f9, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0999, 0x0999, 0x0979, 0x0999, 0x0999, 0x0979, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x09f9, 0x0b1a, 0x0c7b, 0x0c1b, 0x0aba, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x1199, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x1199, 0x11ba, 0x11ba, 0x11b9, 0x09b9, 0x11ba, 0x1199, 0x11ba, 0x11ba, 0x1199, 0x11da, 0x0b3a, 0x0c9b, 0x0bfb, 0x127a, 0x11ba, 0x119a, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x119a, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x119a, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x12ba, 0x14bb, 0x13fb, 0x11db, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11da, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11bb, 0x11ba, 0x11da, 0x11ba, 0x11da, 0x11ba, 0x11ba, 0x11da, 0x11ba, 0x127a, 0x14db, 0x137b, 0x11da, 0x19ba, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x19da, 0x19da, 0x19da, 0x11da, 0x11db, 0x11db, 0x11db, 0x11db, 0x11db, 0x11db, 0x11db, 0x19db, 0x11da, 0x19da, 0x1a3b, 0x14fb, 0x1afb, 0x19da, 0x11db, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19da, 0x19db, 0x19da, 0x1a1b, 0x153c, 0x1a3b, 0x19da, 0x19da, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19db, 0x19db, 0x19da, 0x19db, 0x153b, 0x19db, 0x19da, 0x19db, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x19da, 0x11db, 0x19db, 0x19da, 0x19db, 0x19fb, 0x153c, 0x123a, 0x19da, 0x19da, 0x11da, 0x11da, 0x11da, 0x11da, 0x11da, 0x19da, 0x11db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x19db, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x19db, 0x19ba, 0x11da, 0x11ba, 0x1abb, 0x14fb, 0x1a5b, 0x19ba, 0x19ba, 0x11da, 0x11da, 0x19db, 0x19db, 0x19da, 0x19db, 0x19ba, 0x19da, 0x19da, 0x19db, 0x19db, 0x19db, 0x21db, 0x21db, 0x21db, 0x21fb, 0x21fb, 0x29fb, 0x29fb, 0x29fb, 0x29fb, 0x31fb, 0x321b, 0x31fb, 0x321b, 0x41fa, 0x9912, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x72d4, 0x4c98, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x5996, 0x21db, 0x21da, 0x19da, 0x19da, 0x19da, 0x11da, 0x11da, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11d9, 0x137a, 0x149b, 0x131a, 0x11ba, 0x119a, 0x11b9, 0x11ba, 0x11ba, 0x119a, 0x11ba, 0x119a, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x11ba, 0x0999, 0x1199, 0x1199, 0x1199, 0x1199, 0x11ba, 0x11ba, 0x1199, 0x0999, 0x09b9, 0x0999, 0x0a1a, 0x0bfb, 0x0c9b, 0x131a, 0x09da, 0x119a, 0x0999, 0x0999, 0x0999, 0x1199, 0x099a, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0aba, 0x0bda, 0x0c5b, 0x0b3a, 0x09f9, 0x0999, 0x0979, 0x0999, 0x0999, 0x0999, 0x0999, 0x0999, 0x0979, 0x0979, 0x0979, 0x0999, 0x0979, 0x0999, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0978, 0x0979, 0x0979, 0x0178, 0x0199, 0x0179, 0x0979, 0x0999, 0x02b9, + 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x0ab9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x0ab9, 0x02b9, 0x02b9, 0x02d9, 0x02d9, 0x02b9, 0x0ab9, 0x0ad9, 0x02d9, 0x0ad9, 0x0ab9, 0x0ab9, 0x03ba, 0x043a, 0x043a, 0x0359, 0x02d9, 0x0ad9, 0x02d9, 0x0ad9, 0x02d9, 0x02d9, 0x0ad9, 0x0ad9, 0x0ad9, 0x02d9, 0x0ad9, 0x02d9, 0x02d9, 0x0ada, 0x0afa, 0x02fa, 0x02fa, 0x02d9, 0x02fa, 0x0ada, 0x0afa, 0x02fa, 0x0afa, 0x0afa, 0x0ad9, 0x0afa, 0x0ada, 0x0afa, 0x0b5a, 0x0c5b, 0x047a, 0x0bba, 0x0af9, 0x0afa, 0x0afa, 0x0afa, 0x0af9, 0x0af9, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0b1a, 0x0b1a, 0x0afa, 0x0afa, 0x0b1a, 0x0afa, 0x0b1a, 0x0afa, 0x0b1a, 0x0b1a, 0x0c3a, 0x0c9a, 0x0bda, 0x0b1a, 0x0afa, 0x0afa, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0bdb, 0x14bb, 0x0bfa, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0b3a, 0x131a, 0x0b3a, 0x0b1a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x133b, 0x133b, 0x133a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x0b3a, 0x133a, 0x0b3a, 0x137a, 0x0cdb, 0x0c5b, 0x133b, 0x133b, 0x0b3a, 0x133a, 0x133a, 0x133a, 0x133a, 0x133a, 0x133a, 0x133a, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x135b, 0x135b, 0x135b, 0x135b, 0x133b, 0x133b, 0x135a, 0x0b5b, 0x133b, 0x143a, 0x147b, 0x135b, 0x135a, 0x133b, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135a, 0x13bb, 0x14db, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135a, 0x135b, 0x133b, 0x14fb, 0x135a, 0x135b, 0x135a, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135b, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x135a, 0x133a, 0x135b, 0x135a, 0x135b, 0x135b, 0x149b, 0x13fb, 0x133a, 0x135b, 0x135b, 0x135a, 0x135a, 0x135a, 0x135b, 0x135b, 0x135b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133b, 0x133a, 0x133b, 0x133a, 0x135a, 0x133a, 0x143b, 0x147b, 0x133a, 0x133a, 0x133a, 0x133a, 0x133b, 0x133a, 0x133a, 0x133b, 0x133a, 0x133a, 0x133a, 0x135b, 0x133b, 0x133b, 0x1b3b, 0x1b5b, 0x1b5b, 0x1b3b, 0x1b5b, 0x235b, 0x235b, 0x235b, 0x235b, 0x2b5b, 0x2b5b, 0x2b7b, 0x2b7b, 0x335b, 0x7235, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x72d5, 0x9932, 0x9932, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x71b4, 0x1b3b, 0x1b3b, 0x133a, 0x133b, 0x133a, 0x131a, 0x131a, 0x131a, 0x131a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0afa, 0x0b1a, 0x0afa, 0x0bda, 0x0cbb, 0x0bda, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0b1a, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0bba, 0x049b, 0x0c3a, 0x0b3a, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x02fa, 0x0afa, 0x0ada, 0x0ada, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x02da, 0x0ada, 0x0ada, 0x0ada, 0x02d9, 0x02d9, 0x02da, 0x02fa, 0x02d9, 0x0ad9, 0x0ad9, 0x0b5a, 0x045a, 0x045a, 0x033a, 0x0ad9, 0x02d9, 0x02d9, 0x02da, 0x0ada, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x0ab9, 0x0ab9, 0x02d9, 0x02d9, 0x0ab9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x0ab9, 0x02b9, 0x02d9, 0x02b9, 0x02d9, 0x0ab9, + 0x0299, 0x0299, 0x0298, 0x0298, 0x0298, 0x0299, 0x0299, 0x0299, 0x0299, 0x0298, 0x0299, 0x0299, 0x0299, 0x0299, 0x0299, 0x0299, 0x0299, 0x0299, 0x0299, 0x0299, 0x0299, 0x02b8, 0x02b9, 0x0299, 0x02b8, 0x039a, 0x041a, 0x03fa, 0x0339, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02d9, 0x02b9, 0x02b9, 0x02d9, 0x02b9, 0x02d9, 0x03ba, 0x043a, 0x03fa, 0x02f9, 0x02d9, 0x02d9, 0x0ab9, 0x0ab9, 0x02d9, 0x02b9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x0ad9, 0x0ad9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02f9, 0x02d9, 0x02da, 0x0ada, 0x0afa, 0x0bfa, 0x0c5b, 0x0bfa, 0x0ad9, 0x02fa, 0x02f9, 0x02f9, 0x0af9, 0x02f9, 0x0af9, 0x02d9, 0x02f9, 0x0af9, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0af9, 0x0afa, 0x0afa, 0x0afa, 0x0c1a, 0x0c7b, 0x0b5a, 0x0afa, 0x0af9, 0x0b1a, 0x0afa, 0x0afa, 0x0afa, 0x0b1a, 0x0afa, 0x0afa, 0x0b1a, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0b1a, 0x0b1a, 0x0b1a, 0x031a, 0x0afa, 0x0b1a, 0x0b1a, 0x0afa, 0x0b1a, 0x0b1a, 0x0b1a, 0x0afa, 0x0c3a, 0x0c5a, 0x0b1a, 0x0afa, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0c5b, 0x0c1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b3a, 0x0c7b, 0x0b7a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0cbb, 0x0b1a, 0x0b3a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b7a, 0x0cbb, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0bda, 0x0c7b, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x0b1a, 0x131a, 0x131a, 0x131a, 0x131a, 0x131a, 0x1b1a, 0x1b3a, 0x1b3a, 0x1b3a, 0x1b3a, 0x233a, 0x233a, 0x233b, 0x2b3b, 0x2b5b, 0x3ad9, 0x9931, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x8993, 0x1b1a, 0x131a, 0x131a, 0x12fa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x0afa, 0x02fa, 0x0afa, 0x035a, 0x045a, 0x0c3a, 0x0afa, 0x02da, 0x0afa, 0x0af9, 0x02f9, 0x0afa, 0x0afa, 0x0afa, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x0ad9, 0x02d9, 0x02da, 0x0ad9, 0x0ad9, 0x02ba, 0x02d9, 0x039a, 0x043a, 0x03da, 0x02d9, 0x0ab9, 0x02d9, 0x0ab9, 0x02b9, 0x02d9, 0x02b9, 0x02b9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02d9, 0x02b9, 0x0ab9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02d9, 0x02b9, 0x02d9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x02d9, 0x03fa, 0x041a, 0x03b9, 0x02b9, 0x02b9, 0x0299, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x0299, 0x02b9, 0x02b9, 0x02b9, 0x02b9, 0x0299, 0x02b9, 0x02b9, 0x0299, 0x0299, 0x0299, 0x0299, 0x0299, 0x0299, 0x0299, 0x02b8, 0x02b8, + 0x0117, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0117, 0x0137, 0x0137, 0x0137, 0x0117, 0x0117, 0x0137, 0x0137, 0x0137, 0x0117, 0x0117, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0198, 0x02b8, 0x0399, 0x0359, 0x0258, 0x0198, 0x0137, 0x0137, 0x0117, 0x0158, 0x0137, 0x0137, 0x0138, 0x0137, 0x0138, 0x0138, 0x0137, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0138, 0x0138, 0x0137, 0x0158, 0x0259, 0x0399, 0x0399, 0x0258, 0x0158, 0x0158, 0x0138, 0x0138, 0x0158, 0x0138, 0x0158, 0x0137, 0x0138, 0x0158, 0x0138, 0x0138, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0138, 0x0158, 0x0158, 0x0158, 0x0138, 0x0238, 0x03b9, 0x03da, 0x0259, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0138, 0x0178, 0x0158, 0x0158, 0x0159, 0x01b9, 0x037a, 0x0bda, 0x0218, 0x0958, 0x0159, 0x0159, 0x0958, 0x0158, 0x0158, 0x0158, 0x0158, 0x0958, 0x0959, 0x0158, 0x0159, 0x0179, 0x0158, 0x0159, 0x0159, 0x0159, 0x0159, 0x0158, 0x0158, 0x0158, 0x0158, 0x0979, 0x0179, 0x0958, 0x0979, 0x0159, 0x0178, 0x0159, 0x0958, 0x033a, 0x041a, 0x01f9, 0x0959, 0x0179, 0x0958, 0x0959, 0x0158, 0x0159, 0x0159, 0x0159, 0x0159, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0979, 0x0979, 0x0959, 0x0959, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0a79, 0x043a, 0x0199, 0x0959, 0x0179, 0x0179, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0979, 0x0179, 0x09b9, 0x0c3b, 0x0179, 0x0979, 0x0179, 0x0179, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0979, 0x0179, 0x0c7a, 0x0979, 0x0179, 0x0179, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0179, 0x0979, 0x0979, 0x0979, 0x0979, 0x0bfa, 0x0259, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0959, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0179, 0x0958, 0x0979, 0x0178, 0x0958, 0x0159, 0x0999, 0x0bda, 0x02d9, 0x0159, 0x0959, 0x0159, 0x0979, 0x0959, 0x0979, 0x0959, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x0979, 0x1179, 0x1179, 0x1179, 0x1179, 0x1179, 0x1999, 0x1999, 0x199a, 0x1999, 0x2199, 0x219a, 0x21ba, 0x7154, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x1179, 0x1179, 0x1179, 0x0979, 0x0979, 0x0958, 0x0958, 0x0958, 0x0958, 0x0158, 0x0158, 0x0158, 0x0958, 0x0158, 0x0158, 0x0158, 0x0158, 0x0159, 0x0158, 0x01d8, 0x0399, 0x0399, 0x01d9, 0x0158, 0x0158, 0x0138, 0x0138, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0138, 0x0158, 0x0158, 0x0157, 0x0158, 0x0158, 0x0158, 0x0158, 0x0138, 0x0218, 0x0379, 0x03b9, 0x0258, 0x0158, 0x0138, 0x0158, 0x0138, 0x0138, 0x0158, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0138, 0x0138, 0x0137, 0x0138, 0x0137, 0x0138, 0x0137, 0x0138, 0x0138, 0x0138, 0x0137, 0x0238, 0x0359, 0x0399, 0x0298, 0x0178, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0117, 0x0117, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0117, 0x0137, 0x0137, + 0x0116, 0x0116, 0x0116, 0x00f7, 0x00f6, 0x0116, 0x0117, 0x0116, 0x0116, 0x0117, 0x0116, 0x0116, 0x0117, 0x0117, 0x0116, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0238, 0x0318, 0x0379, 0x0297, 0x0197, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0116, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0117, 0x0177, 0x02d8, 0x0399, 0x0318, 0x01d7, 0x0117, 0x0137, 0x0117, 0x0137, 0x0137, 0x0137, 0x0137, 0x0117, 0x0137, 0x0117, 0x0137, 0x0117, 0x0117, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0138, 0x0137, 0x01d8, 0x0339, 0x0399, 0x0238, 0x0137, 0x0137, 0x0138, 0x0138, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0138, 0x0138, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0157, 0x0138, 0x0278, 0x03d9, 0x02b9, 0x0178, 0x0158, 0x0138, 0x0138, 0x0158, 0x0138, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0158, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0158, 0x0158, 0x0158, 0x0138, 0x0138, 0x0938, 0x0158, 0x0158, 0x0158, 0x0178, 0x0339, 0x0399, 0x0178, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x01d9, 0x03f9, 0x01f9, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x02d9, 0x0319, 0x0158, 0x0158, 0x0158, 0x0159, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0959, 0x0158, 0x0158, 0x0159, 0x041a, 0x0959, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x02b9, 0x0319, 0x0158, 0x0158, 0x0138, 0x0138, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0138, 0x0158, 0x01d8, 0x03f9, 0x01f8, 0x0138, 0x0138, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0158, 0x0958, 0x0958, 0x0958, 0x0958, 0x0958, 0x1158, 0x1158, 0x1158, 0x1178, 0x1179, 0x1979, 0x1979, 0x1979, 0x1979, 0x1999, 0x2179, 0x3178, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x3157, 0x0958, 0x1158, 0x0958, 0x0958, 0x0938, 0x0938, 0x0938, 0x0938, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0298, 0x03f9, 0x0298, 0x0137, 0x0138, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0117, 0x0137, 0x0137, 0x0117, 0x0137, 0x0137, 0x0138, 0x0117, 0x0137, 0x0238, 0x0379, 0x0379, 0x0238, 0x0137, 0x0137, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0117, 0x0117, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0117, 0x0117, 0x0136, 0x0117, 0x0117, 0x0117, 0x0136, 0x0137, 0x01b7, 0x02b8, 0x0399, 0x02b8, 0x0197, 0x0137, 0x0117, 0x0137, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0116, 0x0117, 0x0117, 0x0117, 0x0117, 0x0116, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, + 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x0116, 0x00f6, 0x0116, 0x01b7, 0x02b7, 0x0378, 0x02b7, 0x01d6, 0x0116, 0x00f7, 0x00f6, 0x0116, 0x00f6, 0x0116, 0x0116, 0x00f6, 0x00f6, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0117, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0136, 0x0197, 0x02f8, 0x0378, 0x0297, 0x0177, 0x0116, 0x0116, 0x0117, 0x0116, 0x0116, 0x0117, 0x0117, 0x0116, 0x0117, 0x0117, 0x0117, 0x0117, 0x0116, 0x0116, 0x0116, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x01d7, 0x0318, 0x0379, 0x0238, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0117, 0x0117, 0x0177, 0x0318, 0x0379, 0x01d7, 0x0137, 0x0117, 0x0137, 0x0117, 0x0137, 0x0136, 0x0117, 0x0117, 0x0137, 0x0137, 0x0117, 0x0117, 0x0137, 0x0137, 0x0137, 0x0117, 0x0137, 0x0137, 0x0137, 0x0117, 0x0117, 0x0117, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0138, 0x0137, 0x0117, 0x0157, 0x0359, 0x02f8, 0x0157, 0x0117, 0x0137, 0x0117, 0x0137, 0x0117, 0x0137, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0137, 0x0158, 0x0359, 0x0278, 0x0137, 0x0138, 0x0137, 0x0138, 0x0138, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0138, 0x03b9, 0x01b8, 0x0137, 0x0138, 0x0138, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0137, 0x0138, 0x03f9, 0x0137, 0x0138, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0138, 0x0118, 0x0138, 0x0138, 0x0178, 0x03f9, 0x0158, 0x0137, 0x0137, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0138, 0x0137, 0x0137, 0x0137, 0x0138, 0x0138, 0x0137, 0x0137, 0x0118, 0x0238, 0x03b9, 0x0177, 0x0137, 0x0138, 0x0137, 0x0117, 0x0137, 0x0138, 0x0137, 0x0137, 0x0137, 0x0137, 0x0937, 0x0938, 0x0938, 0x0938, 0x0938, 0x0938, 0x0958, 0x1158, 0x1158, 0x1158, 0x1158, 0x1158, 0x1958, 0x1958, 0x1959, 0x1978, 0x6934, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9932, 0x4135, 0x0938, 0x0957, 0x0937, 0x0937, 0x0937, 0x0937, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0137, 0x0137, 0x0117, 0x0117, 0x0117, 0x0117, 0x0197, 0x0318, 0x0338, 0x01b7, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0117, 0x0116, 0x0117, 0x0117, 0x0117, 0x0116, 0x0117, 0x0116, 0x0117, 0x0116, 0x0117, 0x00f7, 0x0217, 0x0339, 0x02f8, 0x0197, 0x0136, 0x0116, 0x0117, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0117, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0117, 0x0116, 0x0116, 0x0116, 0x0156, 0x0237, 0x0358, 0x02d8, 0x01f7, 0x0116, 0x00f6, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x0116, 0x00f6, 0x00f6, 0x0116, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x0116, + 0x0297, 0x0297, 0x0297, 0x0297, 0x0297, 0x0297, 0x0297, 0x0297, 0x0297, 0x0297, 0x02b7, 0x0297, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x0318, 0x0357, 0x0338, 0x02d7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b8, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b8, 0x02b8, 0x02b7, 0x0317, 0x0358, 0x0338, 0x02f7, 0x02d7, 0x02b7, 0x02b7, 0x02b7, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d8, 0x02d8, 0x02d7, 0x02d7, 0x02d7, 0x02d8, 0x02d8, 0x02d7, 0x02d8, 0x02d7, 0x02d8, 0x02d8, 0x02d8, 0x02d7, 0x02d7, 0x02f7, 0x0358, 0x0378, 0x02f7, 0x02d8, 0x02d8, 0x02d8, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02d7, 0x02f8, 0x02f8, 0x0398, 0x0378, 0x02f8, 0x02d8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x0378, 0x0398, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x0318, 0x02f8, 0x0318, 0x02f7, 0x02f8, 0x02f8, 0x0318, 0x0358, 0x0399, 0x0318, 0x02f8, 0x02f8, 0x0318, 0x0318, 0x02f8, 0x0318, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0338, 0x03b8, 0x0318, 0x0318, 0x02f8, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x03b8, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x0318, 0x02f8, 0x0318, 0x0318, 0x02f8, 0x0318, 0x0378, 0x0338, 0x02f8, 0x02f8, 0x0318, 0x02f8, 0x0318, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x0318, 0x0318, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x0378, 0x0338, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x0af8, 0x0af8, 0x0af8, 0x0af8, 0x0b18, 0x0b18, 0x1318, 0x1319, 0x1319, 0x1319, 0x1319, 0x1319, 0x1b18, 0x2af8, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9932, 0x9931, 0x9911, 0x9931, 0x9932, 0x9931, 0x9931, 0x9931, 0x5215, 0x0af8, 0x0af8, 0x02f8, 0x02f8, 0x02f8, 0x02f8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d8, 0x02d7, 0x02d8, 0x02d8, 0x0378, 0x0378, 0x02d7, 0x02d8, 0x02d7, 0x02d7, 0x02d8, 0x02d8, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d8, 0x02d8, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d8, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02d7, 0x02b7, 0x02d7, 0x02d7, 0x02d7, 0x02b7, 0x02b7, 0x02f7, 0x0358, 0x0358, 0x02f7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02d7, 0x0338, 0x0357, 0x02f7, 0x0297, 0x0297, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x02b7, 0x0297, 0x0297, 0x0297, 0x02b7, 0x0297, 0x0297, 0x02b7, 0x0297, + 0x0175, 0x0155, 0x0155, 0x0156, 0x0175, 0x0176, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x01b6, 0x0257, 0x02f7, 0x02d7, 0x0216, 0x0176, 0x0155, 0x0175, 0x0156, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0176, 0x0176, 0x0155, 0x0176, 0x0176, 0x0176, 0x0175, 0x0176, 0x0175, 0x0156, 0x0176, 0x0176, 0x0176, 0x0155, 0x01b6, 0x0296, 0x0337, 0x0296, 0x01d6, 0x0176, 0x0196, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0196, 0x0176, 0x0176, 0x0176, 0x0196, 0x0196, 0x0176, 0x0176, 0x0196, 0x0176, 0x0196, 0x0176, 0x01b6, 0x02f8, 0x0317, 0x0217, 0x0196, 0x0176, 0x0196, 0x0196, 0x0196, 0x0196, 0x0176, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0176, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x01f7, 0x0337, 0x02d7, 0x01b6, 0x0197, 0x0196, 0x0196, 0x0176, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0197, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0237, 0x0358, 0x0217, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0196, 0x0196, 0x0197, 0x0197, 0x0196, 0x0196, 0x0277, 0x0318, 0x01b6, 0x0196, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x01b7, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x01b6, 0x02f7, 0x0257, 0x0197, 0x01b6, 0x01b7, 0x01b6, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x01b7, 0x01b6, 0x01b7, 0x0378, 0x01b7, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x01b6, 0x01f7, 0x0358, 0x0196, 0x0196, 0x01b6, 0x0196, 0x01b6, 0x0197, 0x0196, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0197, 0x0196, 0x0196, 0x0197, 0x0197, 0x02f7, 0x02f7, 0x0196, 0x0196, 0x0196, 0x0196, 0x0197, 0x0196, 0x0197, 0x01b6, 0x01b6, 0x0196, 0x0196, 0x0196, 0x0197, 0x0197, 0x0197, 0x09b7, 0x0997, 0x09b7, 0x09b7, 0x09b7, 0x11b7, 0x11b7, 0x11d7, 0x11b7, 0x11b7, 0x11b7, 0x7153, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x6174, 0x09b6, 0x0196, 0x0197, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0196, 0x0176, 0x0196, 0x0196, 0x0196, 0x0196, 0x0177, 0x0196, 0x02b7, 0x0337, 0x0216, 0x0196, 0x0196, 0x0196, 0x0176, 0x0176, 0x0176, 0x0176, 0x0196, 0x0196, 0x0176, 0x0176, 0x0196, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0176, 0x0175, 0x0196, 0x0195, 0x0216, 0x02f7, 0x0317, 0x0216, 0x0176, 0x0176, 0x0176, 0x0176, 0x0175, 0x0175, 0x0176, 0x0176, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0176, 0x0175, 0x0155, 0x0196, 0x0256, 0x0317, 0x02b7, 0x01b6, 0x0176, 0x0175, 0x0175, 0x0175, 0x0175, 0x0175, 0x0155, 0x0155, 0x0175, 0x0155, 0x0155, 0x0155, + 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b4, 0x00d3, 0x00d3, 0x00b4, 0x00d4, 0x0174, 0x0235, 0x02d6, 0x0235, 0x0174, 0x00d4, 0x00d4, 0x00b4, 0x00d4, 0x00b4, 0x00d4, 0x00b4, 0x00b4, 0x00b4, 0x00b4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00b4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00b4, 0x00d4, 0x00d4, 0x00d4, 0x0135, 0x0235, 0x02d6, 0x0236, 0x0134, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d4, 0x00d4, 0x00d4, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x0115, 0x0236, 0x0317, 0x0256, 0x00f4, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00f5, 0x00f5, 0x00d5, 0x00f5, 0x00d5, 0x00d5, 0x00f5, 0x01f6, 0x0317, 0x01f6, 0x00f5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00f5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00f5, 0x00f5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00f5, 0x00d5, 0x00f5, 0x01b6, 0x0337, 0x01b6, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x0155, 0x0337, 0x0156, 0x00d5, 0x00d5, 0x00f6, 0x00f6, 0x00f6, 0x00f5, 0x00d6, 0x00d6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f6, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f6, 0x00d5, 0x00f6, 0x00f6, 0x00f5, 0x00f5, 0x00f5, 0x00f6, 0x0115, 0x0338, 0x0115, 0x00f6, 0x00f5, 0x00f6, 0x00f5, 0x00d6, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00d5, 0x00f6, 0x00d5, 0x00f5, 0x0357, 0x00f5, 0x00f6, 0x00f6, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f6, 0x00f5, 0x00d5, 0x00d5, 0x00d6, 0x00d6, 0x00d5, 0x00f5, 0x02f7, 0x0176, 0x00f5, 0x00d5, 0x00f5, 0x00f6, 0x00f6, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00d5, 0x00f5, 0x00d5, 0x0116, 0x02f7, 0x01d6, 0x00d6, 0x00d5, 0x00f5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00f5, 0x00d5, 0x00d5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x08f6, 0x08f6, 0x08f6, 0x08f6, 0x0916, 0x0916, 0x10f6, 0x1117, 0x1116, 0x3135, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9912, 0x9931, 0x9931, 0x9931, 0x9931, 0x7113, 0x08f5, 0x08f6, 0x00f5, 0x00f5, 0x00f5, 0x00f5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d5, 0x00d4, 0x00d5, 0x00d5, 0x00d5, 0x01d6, 0x02f7, 0x0236, 0x0114, 0x00d5, 0x00d5, 0x00d4, 0x00d5, 0x00d5, 0x00d5, 0x00d4, 0x00d5, 0x00d4, 0x00d5, 0x00d5, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00b4, 0x00d4, 0x00d4, 0x00f4, 0x01d5, 0x02d6, 0x0236, 0x0114, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00b4, 0x00b4, 0x00b4, 0x00b4, 0x00b4, 0x00b4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d3, 0x0114, 0x01f5, 0x02b5, 0x0235, 0x0154, 0x00d3, 0x00b3, 0x00b3, 0x00d3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, + 0x00b1, 0x00b2, 0x00b1, 0x00b2, 0x00b2, 0x00b2, 0x00f2, 0x01d3, 0x0253, 0x0234, 0x0173, 0x00d2, 0x0092, 0x00b1, 0x00b1, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x0092, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b3, 0x00b2, 0x0153, 0x0234, 0x0274, 0x01b3, 0x00f3, 0x00b2, 0x00b2, 0x00b3, 0x00b3, 0x00b2, 0x00b3, 0x00b3, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00d3, 0x01b4, 0x02b5, 0x01f4, 0x0113, 0x00b3, 0x00d3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00d3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00d3, 0x00b3, 0x00d3, 0x00d4, 0x00b3, 0x00b3, 0x00d4, 0x00b3, 0x00b3, 0x00d4, 0x00b3, 0x00d3, 0x0133, 0x0275, 0x0255, 0x0134, 0x00d3, 0x00b3, 0x00d3, 0x00d3, 0x00d4, 0x00d4, 0x00b4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00b4, 0x00d4, 0x00b4, 0x00d4, 0x00d4, 0x00b4, 0x00b4, 0x01d4, 0x02b5, 0x0134, 0x00d4, 0x00b4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00f4, 0x02b5, 0x01b5, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x01b5, 0x0255, 0x00d5, 0x00b4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x02f6, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x01f5, 0x0235, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00b4, 0x00b4, 0x00b4, 0x00b4, 0x00b4, 0x00b4, 0x00b4, 0x00d4, 0x00d4, 0x00b4, 0x0154, 0x02b5, 0x0134, 0x00d4, 0x00b4, 0x00b4, 0x00d4, 0x00d4, 0x00d4, 0x00b4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x00d4, 0x08d4, 0x08d4, 0x08d4, 0x08f4, 0x08f4, 0x08f4, 0x08f5, 0x10f4, 0x10d5, 0x7912, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x8132, 0x00d4, 0x00d4, 0x00d4, 0x00d3, 0x00d3, 0x00d3, 0x00d3, 0x00d3, 0x00b3, 0x00d3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b2, 0x00b3, 0x00d3, 0x00d3, 0x0214, 0x0295, 0x0153, 0x00b3, 0x00b3, 0x00b3, 0x00b2, 0x00b3, 0x00b3, 0x00b3, 0x00b2, 0x00b2, 0x00b2, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b3, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00d2, 0x01b3, 0x0274, 0x01d3, 0x00f2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b1, 0x00b2, 0x0092, 0x00b2, 0x00b1, 0x0172, 0x0253, 0x0233, 0x0152, 0x00b1, 0x0091, 0x00b1, 0x0091, 0x00b1, 0x00b1, 0x0091, 0x00b1, + 0x0090, 0x0090, 0x0090, 0x00b0, 0x0151, 0x0212, 0x0232, 0x0191, 0x00f0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0091, 0x0090, 0x0091, 0x00b1, 0x0171, 0x0232, 0x0213, 0x0151, 0x0090, 0x00b0, 0x0090, 0x0091, 0x00b1, 0x00b0, 0x0090, 0x00b1, 0x00b1, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x00b1, 0x00b1, 0x0091, 0x0091, 0x0091, 0x00d1, 0x0172, 0x0253, 0x01b2, 0x00d1, 0x00b1, 0x0091, 0x0091, 0x0091, 0x00b1, 0x0091, 0x00b1, 0x00b1, 0x0091, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x0091, 0x0091, 0x00d2, 0x01b2, 0x0273, 0x0172, 0x00b1, 0x00b2, 0x00b1, 0x00b1, 0x00b2, 0x00b1, 0x00b1, 0x00b2, 0x00b1, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b1, 0x00b1, 0x00b2, 0x00b2, 0x00b1, 0x00b2, 0x00b2, 0x00b2, 0x01d3, 0x0253, 0x0112, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x0213, 0x01d3, 0x0092, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x0253, 0x0153, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x0294, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00f2, 0x0293, 0x00d2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b1, 0x00b2, 0x0172, 0x0253, 0x00b1, 0x00b1, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b1, 0x00b1, 0x00b1, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x00b2, 0x08b2, 0x08b2, 0x08b2, 0x08d2, 0x08b2, 0x08d2, 0x08d3, 0x10d3, 0x40f2, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x00d2, 0x00b2, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x0091, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x00b1, 0x0091, 0x0131, 0x0252, 0x01f2, 0x00b1, 0x00b1, 0x00b1, 0x0091, 0x0091, 0x00b1, 0x0091, 0x0091, 0x00b0, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0091, 0x0090, 0x0090, 0x0091, 0x0091, 0x0091, 0x00b1, 0x0090, 0x00b0, 0x0091, 0x00b0, 0x01b2, 0x0252, 0x01b1, 0x00d0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0111, 0x01d1, 0x0232, 0x0191, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, + 0x008f, 0x0130, 0x01b1, 0x0232, 0x01b1, 0x0110, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00d0, 0x0191, 0x0232, 0x01d1, 0x00f0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x0171, 0x0232, 0x01d1, 0x00f1, 0x0090, 0x0090, 0x0090, 0x0070, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0111, 0x0212, 0x01d1, 0x00d0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x01d2, 0x01f2, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x0171, 0x0212, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x00f1, 0x0252, 0x00b0, 0x0090, 0x00b0, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x0272, 0x00b0, 0x0090, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x01d1, 0x0171, 0x0091, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x01d1, 0x01d1, 0x0090, 0x00b0, 0x0090, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0091, 0x0091, 0x0091, 0x0091, 0x08b1, 0x08b1, 0x08b1, 0x08b1, 0x08b1, 0x08b1, 0x08b1, 0x8912, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9911, 0x9912, 0x9931, 0x0091, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x01b1, 0x0252, 0x0131, 0x0090, 0x0090, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x01b1, 0x0232, 0x0191, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0070, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x0191, 0x0252, 0x01b1, 0x0110, 0x0090, 0x0090, 0x0090, + 0x0212, 0x01f1, 0x0150, 0x00af, 0x008f, 0x008f, 0x006f, 0x0090, 0x0090, 0x0070, 0x006f, 0x006f, 0x008f, 0x008f, 0x0070, 0x0070, 0x006f, 0x008f, 0x006f, 0x008f, 0x0090, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x006f, 0x008f, 0x008f, 0x008f, 0x0130, 0x01d1, 0x0212, 0x0191, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x0090, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x008f, 0x0090, 0x0151, 0x0211, 0x01d1, 0x00f0, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x0191, 0x0232, 0x0151, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x01f2, 0x01d1, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0110, 0x0252, 0x00d0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x01b1, 0x0191, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x0090, 0x0090, 0x0252, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0151, 0x0232, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x01f1, 0x0171, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0091, 0x00b0, 0x00b0, 0x00b1, 0x08b1, 0x08b0, 0x08b1, 0x08b1, 0x50f1, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9911, 0x9931, 0x9911, 0x9931, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0070, 0x0090, 0x0090, 0x0090, 0x0090, 0x00f1, 0x0211, 0x01d2, 0x00d0, 0x0090, 0x0090, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x0090, 0x0090, 0x008f, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x008f, 0x0090, 0x00b0, 0x01b1, 0x0232, 0x0151, 0x00b0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x008f, 0x0090, 0x008f, 0x008f, 0x008f, 0x0090, 0x008f, 0x0090, 0x008f, 0x00b0, 0x0151, 0x0211, 0x0212, 0x0130, 0x00af, + 0x00cf, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x00af, 0x0130, 0x01f2, 0x0212, 0x0131, 0x00af, 0x006f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x006f, 0x006f, 0x008f, 0x006f, 0x0090, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0130, 0x0212, 0x01f2, 0x00f0, 0x0070, 0x008f, 0x006f, 0x008f, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x00d0, 0x0212, 0x01d2, 0x00d0, 0x0090, 0x008f, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x0090, 0x0090, 0x00f0, 0x0232, 0x01b1, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0232, 0x0130, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x0232, 0x00d0, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0252, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0232, 0x00f0, 0x0090, 0x0070, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00f0, 0x0232, 0x00f1, 0x00b0, 0x008f, 0x008f, 0x0090, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x00b0, 0x00b0, 0x0890, 0x08b0, 0x0891, 0x10b0, 0x9931, 0x9911, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x008f, 0x008f, 0x0090, 0x0191, 0x0212, 0x0150, 0x008f, 0x0090, 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x006f, 0x008f, 0x006f, 0x0070, 0x008f, 0x006f, 0x008f, 0x008f, 0x006f, 0x00d0, 0x01d2, 0x0212, 0x0150, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x0110, 0x01d1, 0x0212, + 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x006f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006f, 0x00af, 0x0171, 0x0212, 0x01d1, 0x0110, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x006f, 0x0110, 0x01f2, 0x0212, 0x0130, 0x008f, 0x006f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0171, 0x0232, 0x0151, 0x008f, 0x006f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0070, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x006f, 0x00f0, 0x0212, 0x0151, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x0070, 0x0090, 0x01f1, 0x01b1, 0x0070, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x008f, 0x0090, 0x008f, 0x008f, 0x0130, 0x01f1, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0252, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x0191, 0x01b1, 0x0090, 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x0090, 0x0090, 0x008f, 0x0090, 0x006f, 0x008f, 0x0131, 0x0232, 0x00d0, 0x0090, 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x60f1, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x0150, 0x0090, 0x0090, 0x0090, 0x006f, 0x0090, 0x006f, 0x008f, 0x008f, 0x0070, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x0110, 0x01f2, 0x01d1, 0x00cf, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x006f, 0x006f, 0x00f0, 0x01b2, 0x0232, 0x0150, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x00f0, + 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x006f, 0x006e, 0x008f, 0x006e, 0x006e, 0x00ef, 0x01b1, 0x0212, 0x0191, 0x00d0, 0x006f, 0x006f, 0x008e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x008f, 0x006f, 0x006f, 0x00ef, 0x01d1, 0x01f1, 0x0130, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x0070, 0x008f, 0x006f, 0x008f, 0x0110, 0x0232, 0x01b1, 0x00af, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x0110, 0x0252, 0x0130, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x0170, 0x01f2, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x01d2, 0x0130, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x0252, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x00cf, 0x0232, 0x00af, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x008f, 0x0191, 0x0212, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x0090, 0x008f, 0x18af, 0x9911, 0x9912, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0xa111, 0x9931, 0xa111, 0x29d2, 0x01b1, 0x008f, 0x006f, 0x008f, 0x006f, 0x008f, 0x008f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x006f, 0x0150, 0x0232, 0x0150, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x008f, 0x00f0, 0x01d1, 0x01f1, 0x0130, 0x008f, 0x006f, 0x008f, 0x006f, 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x006f, 0x006e, 0x008f, + 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006f, 0x006e, 0x0130, 0x01d1, 0x0212, 0x0150, 0x00af, 0x006e, 0x006e, 0x008e, 0x006e, 0x006f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006e, 0x006f, 0x006f, 0x00cf, 0x01b1, 0x0212, 0x0130, 0x006e, 0x006e, 0x006f, 0x006f, 0x006f, 0x008f, 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x01b1, 0x0232, 0x010f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x0150, 0x0232, 0x00cf, 0x006f, 0x006f, 0x008e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x006f, 0x010f, 0x0212, 0x00af, 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x008f, 0x00af, 0x0212, 0x00af, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006f, 0x006f, 0x0252, 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x006f, 0x006f, 0x01d1, 0x0130, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x01f1, 0x01b1, 0x008f, 0x006f, 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x0090, 0x8111, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x9932, 0x9931, 0x9931, 0x28d0, 0x01f2, 0x01d1, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006e, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x006f, 0x00cf, 0x01f1, 0x01f1, 0x00cf, 0x006f, 0x006f, 0x006f, 0x006e, 0x006e, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006e, 0x006f, 0x00f0, 0x01d1, 0x01f1, 0x0110, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006f, 0x006e, 0x006e, 0x006e, + 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x008e, 0x0150, 0x0212, 0x01d1, 0x0110, 0x008e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x00af, 0x01d1, 0x0212, 0x0150, 0x008f, 0x006e, 0x006f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x008e, 0x0110, 0x0212, 0x01b1, 0x008f, 0x006f, 0x006e, 0x006f, 0x006f, 0x006e, 0x008f, 0x006e, 0x006e, 0x006e, 0x006f, 0x006f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006f, 0x008f, 0x006e, 0x006e, 0x006f, 0x006f, 0x008e, 0x006e, 0x0191, 0x01f1, 0x00cf, 0x006f, 0x006f, 0x006e, 0x008f, 0x006e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x006e, 0x006e, 0x006f, 0x00cf, 0x0212, 0x0110, 0x008f, 0x006f, 0x006e, 0x008f, 0x006f, 0x006e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x0150, 0x0191, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x0232, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x0110, 0x01f1, 0x008f, 0x006e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x00af, 0x0212, 0x0110, 0x006f, 0x006f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x008f, 0x008f, 0x008f, 0x008f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x48d0, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x008e, 0x008f, 0x01b1, 0x01f2, 0x00af, 0x006f, 0x006e, 0x008f, 0x006e, 0x008f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0150, 0x0232, 0x0150, 0x008e, 0x006e, 0x006e, 0x006e, 0x006e, 0x008e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006f, 0x006e, 0x006e, 0x006e, 0x0110, 0x01f1, 0x01f1, 0x0110, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, + 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x00ae, 0x0190, 0x0212, 0x0190, 0x00cf, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x00af, 0x0170, 0x0212, 0x0150, 0x008e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x008e, 0x01b1, 0x0212, 0x00ef, 0x006e, 0x006e, 0x006e, 0x006f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006f, 0x006e, 0x006e, 0x008e, 0x01d1, 0x01f1, 0x008f, 0x006f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x00ae, 0x01f1, 0x0170, 0x006f, 0x006e, 0x006e, 0x006e, 0x006f, 0x006e, 0x006e, 0x006f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0211, 0x00cf, 0x008f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0232, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x008f, 0x0212, 0x00cf, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x00ef, 0x0212, 0x00cf, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006f, 0x006e, 0x108f, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x006e, 0x006f, 0x006e, 0x0190, 0x0212, 0x00cf, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x00af, 0x01b1, 0x01f2, 0x00ef, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x010f, 0x01f1, 0x01b1, 0x00ef, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, + 0x006e, 0x006e, 0x006e, 0x004d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x004e, 0x006e, 0x006e, 0x004e, 0x006e, 0x00ef, 0x01b1, 0x01f1, 0x0150, 0x008f, 0x006e, 0x006e, 0x004e, 0x004e, 0x004e, 0x004e, 0x006e, 0x006e, 0x004e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x008e, 0x0170, 0x0212, 0x0171, 0x008e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0130, 0x0212, 0x0170, 0x008e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x00af, 0x01d1, 0x0190, 0x008e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0190, 0x01f1, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x00ef, 0x0211, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0232, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0170, 0x0190, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0150, 0x01f1, 0x008e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x68f0, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x006e, 0x006e, 0x006e, 0x006e, 0x010f, 0x0212, 0x00ef, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x0130, 0x01f2, 0x0170, 0x008e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x010f, 0x01d1, 0x01b1, 0x00cf, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, + 0x006e, 0x006d, 0x004d, 0x006d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004d, 0x006e, 0x0130, 0x01d1, 0x01d1, 0x010f, 0x006e, 0x006d, 0x006d, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x004d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004d, 0x004d, 0x004d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006d, 0x006e, 0x006e, 0x0170, 0x0212, 0x0170, 0x008e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x008e, 0x01b1, 0x01f2, 0x00cf, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x00af, 0x0212, 0x0191, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x004e, 0x008e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x010f, 0x0212, 0x008e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0190, 0x0150, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0232, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x008e, 0x0211, 0x008e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0190, 0x01b1, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x38b0, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x9912, 0x004e, 0x006e, 0x006e, 0x004e, 0x006e, 0x010f, 0x0212, 0x010f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x008e, 0x01b1, 0x01d1, 0x00cf, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x004e, 0x006e, 0x006e, 0x006d, 0x004d, 0x008e, 0x0150, 0x01f1, 0x01b1, 0x00cf, 0x004d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004d, 0x006e, 0x006e, 0x006d, + 0x004d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x004d, 0x008e, 0x0170, 0x01f1, 0x01b1, 0x00ef, 0x004d, 0x004d, 0x006d, 0x004d, 0x006d, 0x006d, 0x004d, 0x006d, 0x006d, 0x004d, 0x006d, 0x006d, 0x006d, 0x004d, 0x006d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x008e, 0x012f, 0x01f1, 0x0170, 0x008e, 0x006d, 0x006d, 0x006e, 0x004d, 0x006e, 0x006e, 0x006e, 0x004d, 0x004d, 0x006d, 0x006e, 0x006e, 0x004e, 0x004d, 0x006e, 0x006e, 0x006d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x004e, 0x004d, 0x0130, 0x01f2, 0x0150, 0x006d, 0x006d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x00ef, 0x0212, 0x010f, 0x004e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x004e, 0x00af, 0x0212, 0x00cf, 0x004e, 0x006e, 0x004e, 0x004e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x008e, 0x0232, 0x008e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x0232, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x004e, 0x006e, 0x006e, 0x01d1, 0x010f, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x004e, 0x006e, 0x004e, 0x006e, 0x008e, 0x01f1, 0x012f, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x004e, 0x006e, 0x086e, 0x9911, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x9931, 0x9931, 0x9911, 0x9931, 0x004e, 0x006d, 0x006e, 0x006e, 0x006e, 0x006e, 0x00ae, 0x0211, 0x0190, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x004e, 0x006e, 0x006e, 0x004d, 0x00ef, 0x01f2, 0x0190, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006d, 0x006d, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004d, 0x006e, 0x006e, 0x006e, 0x006d, 0x006d, 0x006d, 0x004d, 0x006e, 0x006e, 0x006d, 0x004e, 0x006e, 0x012f, 0x01f1, 0x0190, 0x008e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006e, 0x004d, 0x006d, 0x006d, + 0x006d, 0x004d, 0x004d, 0x006d, 0x004d, 0x004d, 0x004d, 0x006d, 0x006d, 0x004d, 0x006d, 0x004d, 0x00ce, 0x0190, 0x0211, 0x0170, 0x008e, 0x004d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004e, 0x004d, 0x004d, 0x006d, 0x004d, 0x006d, 0x0150, 0x01f1, 0x01b1, 0x00ce, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006e, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006e, 0x006d, 0x004d, 0x004d, 0x004e, 0x004d, 0x004d, 0x006d, 0x006d, 0x008e, 0x01b1, 0x01d1, 0x00ce, 0x006d, 0x004d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004d, 0x006e, 0x004d, 0x006e, 0x006e, 0x004e, 0x006d, 0x010f, 0x0212, 0x00ef, 0x006d, 0x006e, 0x006e, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004d, 0x006d, 0x006e, 0x006e, 0x006e, 0x004d, 0x006e, 0x004d, 0x006e, 0x01d1, 0x0150, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x0130, 0x0191, 0x006e, 0x006e, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x0232, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x006e, 0x004d, 0x004d, 0x004e, 0x010f, 0x01d1, 0x006e, 0x006e, 0x006e, 0x006e, 0x006d, 0x004e, 0x004e, 0x004d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006d, 0x006d, 0x00ce, 0x0212, 0x00ce, 0x006e, 0x006e, 0x006e, 0x006e, 0x006d, 0x004d, 0x004d, 0x006d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004e, 0x70f0, 0x9932, 0x9931, 0x9931, 0x9911, 0x9931, 0x9911, 0x9931, 0x9931, 0x8110, 0x006e, 0x006e, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x008e, 0x01d1, 0x0190, 0x006d, 0x006d, 0x004e, 0x006e, 0x006e, 0x004d, 0x006d, 0x006e, 0x004d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006e, 0x0171, 0x01f2, 0x00ef, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x008e, 0x012f, 0x01f1, 0x0170, 0x008e, 0x004d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x004d, 0x004d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, + 0x004d, 0x004d, 0x004d, 0x006d, 0x004d, 0x004d, 0x006d, 0x004d, 0x004d, 0x006d, 0x00ef, 0x01d1, 0x01d1, 0x012f, 0x008d, 0x004d, 0x006d, 0x006d, 0x004d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x004d, 0x004d, 0x004d, 0x006d, 0x00ef, 0x01f1, 0x01b0, 0x00ce, 0x004d, 0x004d, 0x006d, 0x004d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x004d, 0x004d, 0x004d, 0x0150, 0x01f1, 0x0150, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x004d, 0x004e, 0x004d, 0x004d, 0x004d, 0x0150, 0x01f1, 0x00ae, 0x006d, 0x004d, 0x004d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004d, 0x006d, 0x006d, 0x004d, 0x006d, 0x004d, 0x006d, 0x006d, 0x006d, 0x0170, 0x01b1, 0x006d, 0x006d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006d, 0x004e, 0x006e, 0x01d1, 0x010f, 0x006d, 0x006d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004d, 0x006d, 0x006e, 0x004e, 0x0212, 0x004d, 0x004d, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x004d, 0x006d, 0x006d, 0x006d, 0x006e, 0x01f1, 0x008e, 0x006d, 0x006e, 0x004d, 0x004d, 0x006d, 0x006d, 0x004e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006e, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004d, 0x006d, 0x004d, 0x010f, 0x01f1, 0x006d, 0x006d, 0x004d, 0x006e, 0x006d, 0x006d, 0x006d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004e, 0x006d, 0x006d, 0x004d, 0x40cf, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x70f0, 0x004d, 0x006d, 0x004d, 0x004d, 0x006d, 0x006d, 0x004d, 0x004d, 0x006d, 0x0191, 0x01b1, 0x006d, 0x004d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x004d, 0x006d, 0x004d, 0x006d, 0x004d, 0x006d, 0x00ee, 0x01f1, 0x0190, 0x008e, 0x004d, 0x006d, 0x006d, 0x004d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x004d, 0x004d, 0x006d, 0x006d, 0x004d, 0x004d, 0x006d, 0x0150, 0x0212, 0x0170, 0x008e, 0x006d, 0x006d, 0x004d, 0x004d, 0x004d, 0x006d, 0x004d, 0x006d, 0x004d, 0x004d, 0x006d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, + 0x0211, 0x0211, 0x0212, 0x01f2, 0x0212, 0x01f2, 0x01f1, 0x0211, 0x0211, 0x01f1, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x01f1, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x01f1, 0x0211, 0x0211, 0x0211, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0211, 0x0212, 0x01f1, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0211, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0232, 0x0212, 0x0211, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0232, 0x0232, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0211, 0x0232, 0x0212, 0x0232, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0232, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0232, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x11f1, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0x9932, 0x9931, 0x9931, 0x5991, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, 0x01f1, 0x0212, 0x0211, 0x0212, 0x0212, 0x01f2, 0x0212, 0x0211, 0x01f1, 0x0211, 0x0211, 0x01f1, 0x0212, 0x0212, 0x0212, 0x0212, 0x0212, + 0x004d, 0x004d, 0x004c, 0x004c, 0x004d, 0x00ae, 0x0170, 0x01f1, 0x0170, 0x00ce, 0x004d, 0x004c, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004d, 0x004d, 0x004c, 0x004c, 0x004d, 0x004d, 0x004d, 0x004c, 0x004d, 0x004d, 0x004d, 0x00ef, 0x01d1, 0x01d1, 0x00ee, 0x004c, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004c, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x012f, 0x0212, 0x012f, 0x004d, 0x004d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x01b1, 0x01d1, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x00ae, 0x0212, 0x00ae, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004d, 0x004d, 0x0150, 0x014f, 0x004d, 0x006d, 0x004d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004d, 0x006d, 0x004d, 0x004d, 0x0212, 0x004d, 0x004d, 0x004d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x00ae, 0x01f1, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x01b1, 0x0150, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x004d, 0x006d, 0x004d, 0x88f0, 0x9931, 0x9931, 0x9931, 0x9931, 0x9912, 0x9911, 0x9931, 0x40af, 0x004d, 0x006d, 0x004d, 0x004d, 0x006d, 0x004d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x010f, 0x0212, 0x00ae, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x004d, 0x004c, 0x006d, 0x00ce, 0x01d1, 0x0190, 0x008e, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x008d, 0x0170, 0x01f1, 0x012f, 0x006d, 0x004c, 0x004c, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, + 0x004c, 0x004c, 0x004c, 0x00ee, 0x0190, 0x01d1, 0x012f, 0x008d, 0x004c, 0x004c, 0x004c, 0x004d, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004d, 0x004d, 0x004d, 0x004c, 0x004c, 0x004c, 0x00ae, 0x0190, 0x01d1, 0x00ee, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004c, 0x004d, 0x004d, 0x00ae, 0x01b1, 0x01b1, 0x008d, 0x004c, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x008d, 0x01b1, 0x0170, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x01d1, 0x010f, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x01f1, 0x008e, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x0212, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x01d1, 0x00ee, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x006d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x008d, 0x01f1, 0x00ef, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004c, 0x004d, 0x004d, 0x004d, 0x004d, 0x50cf, 0x9911, 0x9931, 0x9911, 0x9931, 0x9931, 0x9931, 0xa111, 0x186e, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004c, 0x004d, 0x00ef, 0x01f1, 0x00ef, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004c, 0x004c, 0x004d, 0x006d, 0x0150, 0x01f1, 0x010f, 0x004d, 0x004c, 0x004c, 0x006c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004d, 0x004d, 0x008e, 0x0190, 0x01d1, 0x012f, 0x006d, 0x004c, 0x006c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, + 0x006d, 0x010f, 0x01b1, 0x01d1, 0x00ee, 0x006d, 0x002c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002c, 0x004c, 0x004c, 0x004c, 0x00ae, 0x0190, 0x01d1, 0x00ee, 0x004d, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004d, 0x004d, 0x004d, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x012f, 0x01f1, 0x012f, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004d, 0x004c, 0x004c, 0x004c, 0x008e, 0x01f1, 0x014f, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004d, 0x006d, 0x0170, 0x0190, 0x004d, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x010f, 0x01d1, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004c, 0x004d, 0x004d, 0x0212, 0x004d, 0x004c, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x010e, 0x01b0, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x00ae, 0x01f1, 0x00ad, 0x004d, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x308e, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x9111, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x008d, 0x01f1, 0x012f, 0x006d, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004d, 0x004d, 0x004d, 0x004d, 0x004d, 0x008d, 0x01b0, 0x01b1, 0x008d, 0x004d, 0x004c, 0x004c, 0x002c, 0x004c, 0x004c, 0x002c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x00cd, 0x0191, 0x01d1, 0x012f, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, + 0x01d1, 0x0170, 0x00ae, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x008d, 0x0190, 0x01d1, 0x010f, 0x006d, 0x002c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x00ae, 0x01d1, 0x0190, 0x008d, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x00ee, 0x01f1, 0x00ee, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x012f, 0x01b0, 0x006d, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x0170, 0x010f, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004d, 0x004c, 0x004c, 0x004c, 0x0212, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x006d, 0x01f1, 0x008d, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x006c, 0x004c, 0x012f, 0x01b0, 0x006d, 0x004c, 0x006c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x084d, 0x9931, 0x9931, 0x9931, 0x9931, 0x9911, 0x9931, 0x68f0, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x008d, 0x01b0, 0x016f, 0x004d, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x012f, 0x0211, 0x010f, 0x004d, 0x002c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002c, 0x004c, 0x004c, 0x004c, 0x00ad, 0x0190, 0x01d1, 0x00ee, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, + 0x006c, 0x004c, 0x004c, 0x004c, 0x002c, 0x004c, 0x002c, 0x002c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x008d, 0x0150, 0x01f1, 0x012f, 0x006c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002c, 0x006d, 0x014f, 0x01d1, 0x010f, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002c, 0x00ee, 0x01d1, 0x00ce, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x00ae, 0x01f1, 0x008e, 0x004c, 0x004c, 0x002c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x008d, 0x0211, 0x004d, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x0212, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x0150, 0x012f, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x0170, 0x0170, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x80f0, 0x9931, 0x9931, 0x9931, 0x9931, 0x9931, 0x388e, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x006d, 0x01b0, 0x01b1, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x008e, 0x01b0, 0x01b0, 0x00ad, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x00ad, 0x01b0, 0x01b1, 0x00ee, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, + 0x004c, 0x004c, 0x002c, 0x002b, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002b, 0x002b, 0x002b, 0x002b, 0x002c, 0x002c, 0x002c, 0x002c, 0x002b, 0x004c, 0x004c, 0x004c, 0x004b, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002c, 0x004c, 0x004c, 0x002c, 0x004c, 0x008d, 0x0150, 0x01d1, 0x012f, 0x006c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x00ad, 0x01b0, 0x0190, 0x006c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x0150, 0x01f1, 0x008d, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002c, 0x004c, 0x004c, 0x01d1, 0x00ee, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x010f, 0x016f, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x01f1, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x00ad, 0x01f1, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x006c, 0x01d1, 0x010e, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x50cf, 0xa111, 0x9931, 0x9931, 0x9931, 0x9931, 0x084c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002c, 0x004c, 0x014f, 0x01b1, 0x008d, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x010e, 0x01d1, 0x014f, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002c, 0x00ce, 0x01b1, 0x01b1, 0x00ee, 0x004c, 0x002c, 0x004c, + 0x004b, 0x002b, 0x004c, 0x004b, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004c, 0x004b, 0x004c, 0x004c, 0x004c, 0x002b, 0x004c, 0x004b, 0x004b, 0x002b, 0x002b, 0x004c, 0x002c, 0x004c, 0x004c, 0x012f, 0x01f1, 0x014f, 0x006c, 0x004b, 0x004c, 0x002c, 0x004b, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002c, 0x002c, 0x002c, 0x002c, 0x002c, 0x002c, 0x002c, 0x002c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002b, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004b, 0x004c, 0x014f, 0x01d1, 0x00ee, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x0150, 0x01b0, 0x006d, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x0190, 0x014f, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x01b1, 0x00ce, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x01f1, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x01b1, 0x00ee, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x008d, 0x01f1, 0x00ae, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x388e, 0x9931, 0x9931, 0x9931, 0x9931, 0x68d0, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002c, 0x004c, 0x012e, 0x01d1, 0x008d, 0x004c, 0x004c, 0x004b, 0x004c, 0x004b, 0x004c, 0x004c, 0x004c, 0x004c, 0x002c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002c, 0x004c, 0x002c, 0x004c, 0x008c, 0x0170, 0x01b1, 0x00ad, 0x004c, 0x004c, 0x002b, 0x002b, 0x004c, 0x004c, 0x002b, 0x004b, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004b, 0x004b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002c, 0x00ee, 0x01b1, 0x0190, 0x00ad, 0x002b, + 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004c, 0x004c, 0x004b, 0x002b, 0x004c, 0x004b, 0x004b, 0x004b, 0x006c, 0x010e, 0x01d1, 0x014f, 0x006c, 0x004b, 0x004b, 0x002b, 0x004b, 0x004b, 0x004c, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002b, 0x004b, 0x004c, 0x004c, 0x002c, 0x004b, 0x004b, 0x002b, 0x002b, 0x004b, 0x00cd, 0x01b1, 0x0170, 0x008c, 0x004b, 0x002c, 0x004b, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002c, 0x004c, 0x002c, 0x004b, 0x004b, 0x004c, 0x0190, 0x0190, 0x004c, 0x004b, 0x004c, 0x004c, 0x002c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002c, 0x004c, 0x004c, 0x004c, 0x002c, 0x004c, 0x004c, 0x012f, 0x0190, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002c, 0x004c, 0x004c, 0x004c, 0x004c, 0x00ad, 0x01d1, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x01f2, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x010e, 0x0170, 0x002b, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x00ce, 0x01d1, 0x004c, 0x004c, 0x004c, 0x002b, 0x004c, 0x004c, 0x004c, 0x002c, 0x002c, 0x004c, 0x002c, 0x004c, 0x004c, 0x004c, 0x004c, 0x104c, 0xa111, 0x9931, 0x9931, 0x9931, 0x288d, 0x004b, 0x004c, 0x002b, 0x002b, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004b, 0x004c, 0x002b, 0x004b, 0x004c, 0x002b, 0x004b, 0x00ee, 0x01f2, 0x00cd, 0x004b, 0x004c, 0x002b, 0x004c, 0x004c, 0x002b, 0x004b, 0x002b, 0x002b, 0x002c, 0x004b, 0x004c, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004c, 0x004c, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x004c, 0x002b, 0x00ee, 0x01d1, 0x012f, 0x004c, 0x002b, 0x004c, 0x002b, 0x002b, 0x004b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004c, 0x002b, 0x004c, 0x00ee, 0x01b1, 0x0170, + 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x004b, 0x004b, 0x002b, 0x004c, 0x010e, 0x01b1, 0x0170, 0x008c, 0x002b, 0x004b, 0x002b, 0x004b, 0x002c, 0x002c, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x006c, 0x0170, 0x01d1, 0x00cd, 0x004b, 0x004b, 0x004c, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x004c, 0x004b, 0x004b, 0x008d, 0x0190, 0x014f, 0x004c, 0x002b, 0x004b, 0x004c, 0x004c, 0x004b, 0x002b, 0x004c, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002b, 0x002b, 0x002b, 0x004c, 0x004c, 0x004c, 0x004b, 0x004c, 0x002b, 0x00cd, 0x01d1, 0x008c, 0x004c, 0x004c, 0x002b, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004b, 0x004c, 0x002b, 0x004b, 0x004b, 0x004b, 0x002b, 0x014f, 0x012e, 0x002c, 0x004b, 0x004c, 0x004b, 0x004c, 0x002b, 0x002b, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x01f1, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002b, 0x004c, 0x01f1, 0x006c, 0x002b, 0x004b, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004b, 0x002c, 0x004c, 0x004c, 0x002b, 0x004c, 0x014f, 0x01b0, 0x004c, 0x004c, 0x004c, 0x004c, 0x004b, 0x004b, 0x004c, 0x004b, 0x004b, 0x002b, 0x004c, 0x002b, 0x004b, 0x004c, 0x004c, 0x9931, 0x9931, 0x9931, 0x8910, 0x002c, 0x004b, 0x004c, 0x002b, 0x004b, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x004c, 0x002c, 0x002b, 0x004c, 0x002b, 0x004c, 0x002b, 0x002b, 0x004c, 0x004c, 0x004b, 0x00ac, 0x01d1, 0x010f, 0x004b, 0x002c, 0x004c, 0x002c, 0x004c, 0x004b, 0x004b, 0x004b, 0x002b, 0x002b, 0x004c, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004c, 0x004b, 0x002b, 0x004c, 0x002b, 0x006c, 0x014f, 0x01d1, 0x00cd, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x004b, 0x004b, 0x002b, 0x004b, 0x002b, 0x004c, 0x010e, + 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x00ed, 0x01b1, 0x0170, 0x008d, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x00ad, 0x01d1, 0x016f, 0x004c, 0x004b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x002b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x004b, 0x002b, 0x008d, 0x01d1, 0x012f, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x004c, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x006c, 0x01d1, 0x00cd, 0x004b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004c, 0x002b, 0x004c, 0x004b, 0x004c, 0x004b, 0x004c, 0x01d1, 0x006c, 0x004c, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x01f1, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x002b, 0x014f, 0x010e, 0x004b, 0x004b, 0x002c, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x004b, 0x004c, 0x004b, 0x004b, 0x0190, 0x012f, 0x004b, 0x004c, 0x002b, 0x004b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x004c, 0x004b, 0x004b, 0x002b, 0x70f0, 0x9931, 0x9931, 0x48ae, 0x004b, 0x004b, 0x004c, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x008c, 0x01b1, 0x014f, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x004b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x00cd, 0x01d1, 0x0150, 0x004b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x002b, + 0x002a, 0x002a, 0x004a, 0x004a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002a, 0x004a, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x00cd, 0x01b0, 0x0170, 0x00ac, 0x002a, 0x004b, 0x002b, 0x004b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x004a, 0x002a, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x004b, 0x004b, 0x016f, 0x01d1, 0x00ad, 0x002b, 0x002a, 0x002b, 0x002b, 0x004b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x002b, 0x00ce, 0x01d1, 0x00cd, 0x002b, 0x004b, 0x002b, 0x004b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x0190, 0x012f, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x00ee, 0x0190, 0x002b, 0x004b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x01f2, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x002b, 0x00ad, 0x01b1, 0x002b, 0x002c, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x002b, 0x002b, 0x006c, 0x01d1, 0x00ce, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x60cf, 0x9931, 0x9931, 0x104c, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x0190, 0x0190, 0x004c, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x004b, 0x014f, 0x01b1, 0x00ad, 0x002b, 0x002b, 0x002a, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002a, 0x002b, 0x002b, 0x002b, 0x002b, 0x002a, 0x004b, 0x004b, 0x002b, 0x002b, 0x004a, 0x002a, + 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x00cd, 0x0190, 0x01b0, 0x00cd, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x004a, 0x002a, 0x004a, 0x002a, 0x002a, 0x004a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004a, 0x002b, 0x002a, 0x004b, 0x00cd, 0x01d1, 0x012f, 0x004b, 0x004b, 0x002a, 0x004b, 0x002b, 0x002b, 0x004a, 0x002b, 0x002b, 0x004b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x004b, 0x002b, 0x004b, 0x00ce, 0x01d1, 0x00ad, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x004b, 0x014f, 0x0190, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x004b, 0x004b, 0x004b, 0x0190, 0x00cd, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x004b, 0x01d1, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x01b0, 0x00ad, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x004b, 0x002b, 0x002b, 0x004b, 0x002b, 0x004b, 0x00ad, 0x01d1, 0x008c, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x48ae, 0x9931, 0x68f0, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x014f, 0x0190, 0x006c, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004a, 0x004b, 0x004b, 0x002a, 0x002b, 0x004b, 0x002b, 0x002b, 0x002a, 0x002b, 0x004a, 0x00ac, 0x0190, 0x0170, 0x006c, 0x004a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, + 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x0029, 0x008c, 0x0170, 0x0190, 0x00cd, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x006b, 0x016f, 0x0190, 0x008c, 0x002a, 0x004a, 0x002a, 0x004a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x012f, 0x01b1, 0x006c, 0x004b, 0x002b, 0x002b, 0x002b, 0x004a, 0x002b, 0x002b, 0x002b, 0x002a, 0x002a, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x002b, 0x004b, 0x002b, 0x004b, 0x00cd, 0x01b1, 0x004b, 0x002b, 0x002b, 0x004a, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x006c, 0x01d1, 0x004b, 0x002b, 0x004b, 0x002b, 0x004b, 0x002b, 0x002b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x01d1, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x002b, 0x010e, 0x014f, 0x004b, 0x004b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004a, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x010e, 0x0190, 0x004b, 0x002a, 0x002b, 0x002a, 0x002b, 0x002b, 0x002a, 0x002b, 0x004b, 0x002b, 0x002b, 0x004b, 0x308d, 0x9911, 0x206c, 0x004b, 0x002b, 0x002b, 0x002a, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x002b, 0x004b, 0x004b, 0x002a, 0x004b, 0x004a, 0x004b, 0x004a, 0x002a, 0x002b, 0x002b, 0x004b, 0x002a, 0x002a, 0x002a, 0x002b, 0x010e, 0x01b1, 0x008c, 0x002a, 0x004a, 0x002b, 0x002a, 0x004a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x004b, 0x010e, 0x01b0, 0x00ed, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, + 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x002a, 0x0029, 0x0029, 0x0029, 0x002a, 0x002a, 0x002a, 0x0029, 0x008b, 0x016f, 0x01b0, 0x00cd, 0x002a, 0x0029, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x00ed, 0x01b1, 0x010e, 0x004a, 0x002a, 0x002a, 0x0029, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x004b, 0x014f, 0x016f, 0x004b, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002b, 0x002a, 0x002a, 0x008b, 0x01b1, 0x008c, 0x002b, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002b, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002b, 0x002a, 0x002b, 0x002a, 0x002a, 0x012e, 0x012f, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x01d2, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002b, 0x002a, 0x004b, 0x01d1, 0x006b, 0x002a, 0x002b, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002b, 0x002a, 0x014f, 0x014f, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x186b, 0x88f1, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x00cd, 0x01b1, 0x00cd, 0x002a, 0x004a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x0029, 0x00ac, 0x0190, 0x016f, 0x006b, 0x002a, 0x002a, 0x002a, 0x0029, 0x002a, 0x002a, 0x0029, 0x0029, 0x0029, 0x0029, 0x002a, 0x0029, 0x0029, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x0029, 0x0029, 0x0029, 0x0029, + 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x008b, 0x014f, 0x0190, 0x00ed, 0x004a, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x002a, 0x0029, 0x0029, 0x002a, 0x002a, 0x002a, 0x006a, 0x014f, 0x0190, 0x00ab, 0x0029, 0x002a, 0x0029, 0x0029, 0x0029, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x0029, 0x004a, 0x0170, 0x016f, 0x004a, 0x002a, 0x002a, 0x002a, 0x0029, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x004a, 0x0170, 0x00ed, 0x004a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x0190, 0x008c, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x01d1, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x012f, 0x010e, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x0029, 0x002a, 0x004b, 0x0190, 0x00ed, 0x002a, 0x002a, 0x002a, 0x002a, 0x004a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x286b, 0x0029, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x00ac, 0x01b1, 0x00ed, 0x0029, 0x002a, 0x0029, 0x0029, 0x002a, 0x002a, 0x0029, 0x002a, 0x0029, 0x002a, 0x002a, 0x0029, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x0029, 0x0029, 0x002a, 0x0029, 0x0029, 0x0029, 0x0029, 0x002a, 0x00ee, 0x01b1, 0x010d, 0x0029, 0x0029, 0x0029, 0x002a, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, + 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0029, 0x0028, 0x0028, 0x0028, 0x0029, 0x0029, 0x0028, 0x0028, 0x0029, 0x0029, 0x0029, 0x0009, 0x0029, 0x0049, 0x012e, 0x0190, 0x00ed, 0x004a, 0x0028, 0x0029, 0x0029, 0x0029, 0x0009, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x00cc, 0x01b0, 0x010e, 0x0049, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x006b, 0x0190, 0x012e, 0x0049, 0x002a, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x0029, 0x0029, 0x0029, 0x012e, 0x016f, 0x002a, 0x0029, 0x002a, 0x002a, 0x0029, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x00ac, 0x0190, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x01d1, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x0029, 0x002a, 0x0029, 0x00ac, 0x0190, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x002a, 0x0029, 0x002a, 0x008b, 0x01b1, 0x008b, 0x0029, 0x002a, 0x0029, 0x0029, 0x0029, 0x002a, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x002a, 0x002a, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x006b, 0x01b0, 0x012e, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x008b, 0x0170, 0x014f, 0x006a, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0009, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, + 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0069, 0x010d, 0x01b1, 0x00ed, 0x0049, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0029, 0x0029, 0x0029, 0x0028, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0028, 0x006a, 0x014f, 0x016f, 0x008b, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0028, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x006a, 0x01b0, 0x00ed, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0049, 0x00cd, 0x01b0, 0x004a, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x014f, 0x00cd, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x01d1, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x002a, 0x0029, 0x0029, 0x0029, 0x002a, 0x0190, 0x00ab, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x004a, 0x0029, 0x0029, 0x00cc, 0x01b1, 0x0049, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0049, 0x016f, 0x012e, 0x004a, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0028, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0028, 0x0028, 0x0009, 0x00ed, 0x01b1, 0x00ed, 0x0008, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, + 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0049, 0x010e, 0x0191, 0x010e, 0x0069, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x00ed, 0x01b1, 0x00ec, 0x0008, 0x0028, 0x0028, 0x0029, 0x0008, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0028, 0x0029, 0x00ab, 0x01b1, 0x00ac, 0x0029, 0x0029, 0x0029, 0x0028, 0x0029, 0x0029, 0x0029, 0x0028, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0028, 0x0029, 0x0029, 0x006a, 0x01b1, 0x006a, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x004a, 0x01b1, 0x006a, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x01b1, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x00ed, 0x012e, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0028, 0x0029, 0x0029, 0x0029, 0x0029, 0x012e, 0x016f, 0x0029, 0x0029, 0x0029, 0x0029, 0x0028, 0x0029, 0x0029, 0x0029, 0x0028, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0029, 0x0028, 0x0029, 0x0049, 0x012e, 0x016f, 0x0029, 0x0028, 0x0028, 0x0029, 0x0029, 0x0029, 0x0009, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x006a, 0x014f, 0x0170, 0x008a, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, + 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x00ed, 0x0190, 0x010e, 0x004a, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x0029, 0x006a, 0x016f, 0x014f, 0x006a, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x00cc, 0x0190, 0x008a, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0049, 0x0190, 0x00cc, 0x0028, 0x0028, 0x0028, 0x0029, 0x0029, 0x0029, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x00cc, 0x012e, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x01b1, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x004a, 0x01b1, 0x0049, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0029, 0x0029, 0x0028, 0x016f, 0x00ed, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0029, 0x0028, 0x0029, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x010d, 0x0190, 0x006a, 0x0028, 0x0029, 0x0028, 0x0028, 0x0029, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x00cc, 0x0190, 0x00ed, 0x0049, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, + 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0029, 0x0028, 0x0049, 0x00ed, 0x0190, 0x012f, 0x0069, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0029, 0x00ec, 0x01b0, 0x00ed, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x010e, 0x0190, 0x006a, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x012e, 0x012e, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x016f, 0x00ab, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x01b1, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x012e, 0x00ec, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0049, 0x0190, 0x00ab, 0x0029, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x00cc, 0x0190, 0x00ab, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0049, 0x014e, 0x0170, 0x008b, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, + 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x00cc, 0x0190, 0x014f, 0x008a, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x008a, 0x014f, 0x012f, 0x006a, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x012e, 0x014f, 0x0049, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x00cc, 0x016f, 0x0049, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x006a, 0x0190, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x01b1, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x008b, 0x018f, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x00ab, 0x0190, 0x006a, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x00ac, 0x0190, 0x00ac, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x00ac, 0x0190, 0x012e, 0x0049, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, + 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x00cb, 0x0170, 0x014f, 0x008a, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0009, 0x0028, 0x0049, 0x00ed, 0x0190, 0x00cc, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x014f, 0x014f, 0x0049, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x006a, 0x0190, 0x006a, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x010e, 0x00ed, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x01b1, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0170, 0x008a, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x00ed, 0x014f, 0x0048, 0x0029, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x006a, 0x0190, 0x010d, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0049, 0x012e, 0x0190, 0x00ab, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, + 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x00ac, 0x0170, 0x0170, 0x008b, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x008a, 0x016f, 0x014e, 0x0069, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0029, 0x0028, 0x006a, 0x0170, 0x010e, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0048, 0x0190, 0x00ab, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0190, 0x006a, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x01b1, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x00cd, 0x010d, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x012f, 0x012e, 0x0008, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0049, 0x014f, 0x010e, 0x0049, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x00ab, 0x0190, 0x010e, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, + 0x0028, 0x0028, 0x0028, 0x008a, 0x016f, 0x016f, 0x00ac, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0048, 0x010d, 0x0190, 0x00cc, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x006a, 0x0190, 0x00ed, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x014f, 0x010d, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x00cb, 0x016f, 0x0028, 0x0029, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x01b1, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0069, 0x01b1, 0x0049, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0049, 0x0170, 0x00cc, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0029, 0x014f, 0x014f, 0x0049, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x010d, 0x01b0, 0x00cc, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, + 0x0028, 0x008b, 0x014f, 0x0170, 0x00ab, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x008b, 0x0170, 0x014e, 0x0049, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x00ab, 0x0191, 0x00ab, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x00ec, 0x016f, 0x0049, 0x0008, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x012e, 0x00cc, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x01b1, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x012e, 0x00cc, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x006a, 0x0191, 0x008a, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x010e, 0x0170, 0x006a, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x008a, 0x0170, 0x014f, 0x004a, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, + 0x012f, 0x0190, 0x00ec, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0049, 0x012e, 0x0190, 0x00ab, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x00ed, 0x0190, 0x006a, 0x0028, 0x0028, 0x0029, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x00aa, 0x0190, 0x008a, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0049, 0x01b1, 0x0049, 0x0008, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x01b1, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x00ab, 0x0170, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x00ac, 0x0190, 0x0048, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x00ec, 0x0190, 0x008b, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0029, 0x0028, 0x0028, 0x0048, 0x00ed, 0x0190, 0x00cc, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, + 0x00ec, 0x0049, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0029, 0x0008, 0x00ab, 0x0190, 0x012e, 0x0049, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x010e, 0x0170, 0x006a, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0069, 0x0190, 0x008b, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x00ed, 0x010e, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x01b1, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0190, 0x006a, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x010d, 0x014f, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0029, 0x0008, 0x00cb, 0x0191, 0x00cc, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x006b, 0x014f, 0x014e, 0x006a, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, + 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0049, 0x012e, 0x0190, 0x00ab, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x012f, 0x014f, 0x0029, 0x0028, 0x0029, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x014f, 0x00ed, 0x0029, 0x0028, 0x0008, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0170, 0x008a, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x01b1, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0029, 0x0028, 0x0029, 0x0028, 0x00ed, 0x010e, 0x0028, 0x0028, 0x0028, 0x0029, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0049, 0x014f, 0x00ed, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x006a, 0x0190, 0x00ed, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0008, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x00ed, 0x0191, 0x00ed, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 +}; + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/images/cancel_64x64x4.cpp b/Marlin/src/lcd/tft/images/cancel_64x64x4.cpp new file mode 100644 index 000000000000..502b592d8e92 --- /dev/null +++ b/Marlin/src/lcd/tft/images/cancel_64x64x4.cpp @@ -0,0 +1,94 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../inc/MarlinConfigPre.h" + +#if HAS_GRAPHICAL_TFT + +extern const uint8_t cancel_64x64x4[2048] = { + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x88, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xdd, 0xb7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8d, 0xba, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xfa, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xdf, 0xff, 0xa7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xdf, 0xff, 0xff, 0xa7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xfa, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xff, 0xfa, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xdf, 0xff, 0xff, 0xff, 0xa7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x78, 0x88, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x77, 0x88, 0x88, 0x88, 0x78, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x78, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x97, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x77, 0x88, 0x78, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x76, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x77, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x69, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x76, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xad, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x69, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x76, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x69, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x76, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x69, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x76, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x6a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x66, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x96, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x79, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x66, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x76, 0x66, 0x69, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x66, 0x67, 0x76, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x97, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x76, 0x66, 0x78, 0x87, 0x69, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd7, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd7, 0x66, 0x67, 0x88, 0x88, 0x76, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x76, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x9f, 0xff, 0xff, 0xff, 0xfc, 0x76, 0x66, 0x78, 0x88, 0x88, 0x87, 0x69, 0xff, 0xff, 0xff, 0xff, 0xd7, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x69, 0xff, 0xff, 0xff, 0xc7, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x76, 0x9f, 0xff, 0xff, 0xfd, 0x76, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x9f, 0xff, 0xfc, 0x76, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x87, 0x69, 0xff, 0xff, 0xd7, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x69, 0xff, 0xd7, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x9f, 0xdd, 0x76, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0xa9, 0x76, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x68, 0x77, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x66, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x66, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88 +}; + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/images/chamber_64x64x4.cpp b/Marlin/src/lcd/tft/images/chamber_64x64x4.cpp new file mode 100644 index 000000000000..8ec4350fe682 --- /dev/null +++ b/Marlin/src/lcd/tft/images/chamber_64x64x4.cpp @@ -0,0 +1,161 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../inc/MarlinConfigPre.h" + +#if HAS_GRAPHICAL_TFT + +extern const uint8_t chamber_64x64x4[2048] = { + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xae, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xea, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 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, 0x67, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 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, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 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, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 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, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf8, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x8f, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x45, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xfe, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xef, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 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, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 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, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 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, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 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, 0x56, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x89, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x56, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x75, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x56, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x57, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88 +}; + +extern const uint8_t chamber_heated_64x64x4[2048] = { + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xae, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xea, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 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, 0x67, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 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, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 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, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 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, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf8, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x8f, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x45, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x77, 0x9b, 0x97, 0x88, 0x88, 0x87, 0x8b, 0xa8, 0x78, 0x88, 0x87, 0x8b, 0xb8, 0x78, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x56, 0x88, 0x88, 0x79, 0xff, 0xf9, 0x78, 0x88, 0x78, 0xdf, 0xfb, 0x78, 0x88, 0x77, 0xcf, 0xfc, 0x87, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x7a, 0xff, 0xfd, 0x77, 0x88, 0x79, 0xff, 0xff, 0x87, 0x88, 0x78, 0xdf, 0xff, 0x97, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x56, 0x88, 0x88, 0x79, 0xff, 0xff, 0x86, 0x88, 0x78, 0xdf, 0xff, 0xb6, 0x88, 0x77, 0xcf, 0xff, 0xc6, 0x78, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xb6, 0x78, 0x87, 0x9f, 0xff, 0xd6, 0x78, 0x87, 0x8e, 0xff, 0xf7, 0x68, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x88, 0x7d, 0xff, 0xe5, 0x67, 0x87, 0x7b, 0xff, 0xf7, 0x57, 0x88, 0x79, 0xff, 0xfa, 0x57, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x56, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xe6, 0x57, 0x87, 0x8c, 0xff, 0xf7, 0x57, 0x88, 0x7a, 0xff, 0xfa, 0x56, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xd5, 0x57, 0x87, 0x8e, 0xff, 0xe6, 0x57, 0x88, 0x7c, 0xff, 0xf8, 0x56, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x77, 0xcf, 0xff, 0xa5, 0x57, 0x87, 0xaf, 0xff, 0xd5, 0x57, 0x87, 0x9f, 0xff, 0xe6, 0x56, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x56, 0x88, 0x88, 0x79, 0xff, 0xff, 0x75, 0x57, 0x78, 0xef, 0xff, 0xa5, 0x57, 0x87, 0xcf, 0xff, 0xb5, 0x56, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x87, 0x7c, 0xff, 0xfb, 0x55, 0x67, 0x7b, 0xff, 0xfe, 0x65, 0x57, 0x79, 0xff, 0xff, 0x85, 0x57, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x87, 0x9f, 0xff, 0xf7, 0x55, 0x67, 0x8e, 0xff, 0xf8, 0x55, 0x67, 0x7d, 0xff, 0xfb, 0x55, 0x67, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x56, 0x88, 0x87, 0xcf, 0xff, 0xb5, 0x55, 0x77, 0x9f, 0xff, 0xd6, 0x55, 0x77, 0x8f, 0xff, 0xe7, 0x55, 0x68, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x77, 0xdf, 0xff, 0x75, 0x56, 0x87, 0xbf, 0xff, 0xa5, 0x56, 0x77, 0xaf, 0xff, 0xb5, 0x55, 0x78, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x78, 0xef, 0xfd, 0x65, 0x67, 0x77, 0xcf, 0xff, 0x85, 0x57, 0x87, 0xbf, 0xff, 0x95, 0x56, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x56, 0x88, 0x78, 0xef, 0xfd, 0x55, 0x68, 0x77, 0xcf, 0xff, 0x75, 0x68, 0x87, 0xbf, 0xff, 0x95, 0x67, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x78, 0xdf, 0xff, 0x65, 0x78, 0x77, 0xbf, 0xff, 0x95, 0x68, 0x87, 0xaf, 0xff, 0xb5, 0x68, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x87, 0x9f, 0xff, 0xf8, 0x68, 0x87, 0x8e, 0xff, 0xf9, 0x68, 0x87, 0x7c, 0xff, 0xfc, 0x67, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x56, 0x88, 0x88, 0x7b, 0xff, 0xfa, 0x58, 0x88, 0x7b, 0xff, 0xfc, 0x57, 0x88, 0x78, 0xff, 0xfe, 0x67, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x77, 0xdf, 0xd7, 0x57, 0x88, 0x87, 0xbf, 0xf8, 0x56, 0x88, 0x87, 0xaf, 0xfa, 0x56, 0x78, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x87, 0x69, 0x75, 0x56, 0x88, 0x87, 0x68, 0x85, 0x56, 0x78, 0x87, 0x68, 0x85, 0x55, 0x78, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x56, 0x88, 0x88, 0x88, 0x65, 0x55, 0x57, 0x88, 0x88, 0x75, 0x55, 0x56, 0x88, 0x88, 0x75, 0x55, 0x56, 0x78, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x77, 0x77, 0x77, 0x77, 0x76, 0x55, 0x67, 0x77, 0x77, 0x76, 0x55, 0x67, 0x77, 0x77, 0x76, 0x55, 0x57, 0x77, 0x77, 0x77, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xf9, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x88, 0x88, 0x88, 0x88, 0x87, 0x88, 0x88, 0x88, 0x88, 0x87, 0x88, 0x88, 0x88, 0x88, 0xbf, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xfe, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xef, 0xff, 0xf9, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 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, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 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, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 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, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 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, 0x56, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x89, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x56, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x75, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x56, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x57, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88 +}; + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/images/confirm_64x64x4.cpp b/Marlin/src/lcd/tft/images/confirm_64x64x4.cpp new file mode 100644 index 000000000000..1ecb09834c3d --- /dev/null +++ b/Marlin/src/lcd/tft/images/confirm_64x64x4.cpp @@ -0,0 +1,94 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../inc/MarlinConfigPre.h" + +#if HAS_GRAPHICAL_TFT + +extern const uint8_t confirm_64x64x4[2048] = { + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xa8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xfc, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xcf, 0xff, 0xc7, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xfb, 0x77, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xcf, 0xff, 0xff, 0xff, 0xb7, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x87, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x55, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xa8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x94, 0x44, 0x68, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8d, 0xfb, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x44, 0x45, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xdf, 0xff, 0xb7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x94, 0x44, 0x57, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xfb, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x78, 0xdf, 0xff, 0xff, 0xff, 0xb7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa4, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa4, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x8c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x77, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x76, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x78, 0x88, 0x88, 0x88, 0x77, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa4, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x86, 0x4b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x77, 0x88, 0x88, 0x87, 0x8c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x64, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0x78, 0x88, 0x77, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa4, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x4b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x77, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x64, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0x78, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa4, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x4b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x65, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x94, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x5b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x64, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x94, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x5b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x64, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x94, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x4b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x65, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa4, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x4b, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x65, 0xbf, 0xff, 0xff, 0xff, 0x94, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x4b, 0xff, 0xff, 0xfa, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x64, 0xbf, 0xff, 0x94, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x4b, 0xfa, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x65, 0x75, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x65, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88 +}; + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/images/decrease_64x64x4.cpp b/Marlin/src/lcd/tft/images/decrease_64x64x4.cpp new file mode 100644 index 000000000000..3514433c8edf --- /dev/null +++ b/Marlin/src/lcd/tft/images/decrease_64x64x4.cpp @@ -0,0 +1,94 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../inc/MarlinConfigPre.h" + +#if HAS_GRAPHICAL_TFT + +extern const uint8_t decrease_64x64x4[2048] = { + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb5, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb3, 0x58, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb3, 0x58, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb3, 0x58, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb3, 0x58, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb3, 0x58, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb3, 0x58, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xad, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0x94, 0x58, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x85, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x58, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x58, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88 +}; + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/images/directory_32x32x4.cpp b/Marlin/src/lcd/tft/images/directory_32x32x4.cpp new file mode 100644 index 000000000000..0297f03fb320 --- /dev/null +++ b/Marlin/src/lcd/tft/images/directory_32x32x4.cpp @@ -0,0 +1,62 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../inc/MarlinConfigPre.h" + +#if HAS_GRAPHICAL_TFT + +extern const uint8_t directory_32x32x4[512] = { + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x88, 0x88, + 0x88, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0x88, + 0x88, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x78, 0x88, + 0x88, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x68, 0x88, + 0x88, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x68, 0x88, + 0x88, 0x88, 0x76, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x68, 0x88, + 0x88, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x68, 0x88, + 0x88, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x68, 0x88, + 0x88, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x68, 0x88, + 0x88, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x68, 0x88, + 0x88, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x68, 0x88, + 0x88, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x68, 0x88, + 0x88, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x68, 0x88, + 0x88, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x68, 0x88, + 0x88, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x68, 0x88, + 0x88, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x68, 0x88, + 0x88, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x68, 0x88, + 0x88, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x68, 0x88, + 0x88, 0x87, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x68, 0x88, + 0x88, 0x88, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x68, 0x88, + 0x88, 0x88, 0x87, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x67, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88 +}; + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/images/down_32x32x4.cpp b/Marlin/src/lcd/tft/images/down_32x32x4.cpp new file mode 100644 index 000000000000..b71c0e5e7ca4 --- /dev/null +++ b/Marlin/src/lcd/tft/images/down_32x32x4.cpp @@ -0,0 +1,62 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../inc/MarlinConfigPre.h" + +#if HAS_GRAPHICAL_TFT + +extern const uint8_t down_32x32x4[512] = { + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x88, 0x88, 0x88, + 0x88, 0x87, 0x78, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x98, 0x88, 0x88, 0x88, + 0x88, 0x87, 0x8f, 0xb4, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xfa, 0x48, 0x88, 0x88, + 0x88, 0x78, 0xff, 0xfa, 0x38, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8f, 0xff, 0x84, 0x88, 0x88, + 0x88, 0x7f, 0xff, 0xff, 0xa3, 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0xff, 0xff, 0xfa, 0x47, 0x88, + 0x88, 0x7a, 0xff, 0xff, 0xfa, 0x38, 0x88, 0x88, 0x88, 0x77, 0x8f, 0xff, 0xff, 0xc5, 0x35, 0x88, + 0x88, 0x77, 0x9f, 0xff, 0xff, 0xa3, 0x88, 0x88, 0x87, 0x79, 0xff, 0xff, 0xfc, 0x43, 0x46, 0x88, + 0x88, 0x87, 0x79, 0xff, 0xff, 0xfa, 0x47, 0x88, 0x77, 0x9f, 0xff, 0xff, 0xc4, 0x34, 0x78, 0x88, + 0x88, 0x88, 0x77, 0x9f, 0xff, 0xff, 0xa4, 0x78, 0x79, 0xff, 0xff, 0xfc, 0x43, 0x47, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x79, 0xff, 0xff, 0xf9, 0x47, 0x9f, 0xff, 0xff, 0xc3, 0x34, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x77, 0x9f, 0xff, 0xff, 0x96, 0xff, 0xff, 0xfc, 0x33, 0x47, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x79, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd3, 0x44, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x77, 0x9f, 0xff, 0xff, 0xff, 0xfd, 0x34, 0x47, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x79, 0xff, 0xff, 0xff, 0xc3, 0x44, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x9f, 0xff, 0xfc, 0x33, 0x47, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x79, 0xff, 0xc3, 0x34, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xac, 0x43, 0x47, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x86, 0x34, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x66, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88 +}; + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/images/fan_64x64x4.cpp b/Marlin/src/lcd/tft/images/fan_64x64x4.cpp new file mode 100644 index 000000000000..02801ddbc706 --- /dev/null +++ b/Marlin/src/lcd/tft/images/fan_64x64x4.cpp @@ -0,0 +1,161 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../inc/MarlinConfigPre.h" + +#if HAS_GRAPHICAL_TFT + +extern const uint8_t fan0_64x64x4[2048] = { + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x78, 0x9a, 0xcc, 0xcb, 0xba, 0x98, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x89, 0xbc, 0xef, 0xff, 0xff, 0xff, 0xed, 0xb9, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x9b, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc9, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8b, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x96, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa4, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa4, 0x58, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x59, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x84, 0x58, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x64, 0x58, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x6d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x44, 0x58, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x68, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x45, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc5, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x74, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc5, 0x44, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x64, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xef, 0xff, 0xff, 0x84, 0x44, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7b, 0xfe, 0xa7, 0x67, 0xbf, 0xf9, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xc6, 0x44, 0x44, 0x48, 0x94, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x88, 0x88, 0x88, 0x87, 0x8a, 0x64, 0x44, 0x44, 0x44, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x87, 0x54, 0x6a, 0xcb, 0x86, 0x54, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0x9a, 0xbb, 0xbb, 0xba, 0x98, 0x87, 0x77, 0x87, 0x46, 0xef, 0xff, 0xfa, 0x76, 0x88, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x78, 0xad, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xdb, 0xa9, 0x87, 0x7c, 0xff, 0xff, 0xfd, 0x77, 0xac, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x8c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x87, 0x9f, 0xff, 0xff, 0xff, 0x75, 0x9f, 0xea, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x87, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x77, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x66, 0x8f, 0xff, 0xff, 0xff, 0x74, 0x8e, 0xff, 0xda, 0x98, 0x87, 0x78, 0x89, 0xab, 0xcd, 0xda, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x79, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x54, 0x7c, 0xff, 0xff, 0xfc, 0x54, 0x8f, 0xff, 0xff, 0xee, 0xdc, 0xdd, 0xee, 0xff, 0xff, 0xff, 0x97, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x74, 0x78, 0xcf, 0xff, 0xd6, 0x44, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x95, 0x78, 0x88, + 0x88, 0x88, 0x88, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc5, 0x77, 0x58, 0xa9, 0x54, 0x45, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x84, 0x68, 0x88, + 0x88, 0x88, 0x88, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x77, 0x64, 0x44, 0x44, 0x5b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x74, 0x68, 0x88, + 0x88, 0x88, 0x88, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xda, 0x86, 0x54, 0x59, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x54, 0x68, 0x88, + 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb8, 0x76, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x44, 0x68, 0x88, + 0x88, 0x88, 0x88, 0x79, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0x66, 0x78, 0x8c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x45, 0x78, 0x88, + 0x88, 0x88, 0x88, 0x78, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x44, 0x44, 0x57, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe6, 0x45, 0x78, 0x88, + 0x88, 0x88, 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x64, 0x44, 0x45, 0x68, 0x78, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb4, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe6, 0x44, 0x45, 0x67, 0x88, 0x77, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x84, 0x47, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x84, 0x45, 0x57, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x64, 0x57, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x78, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x44, 0x46, 0x88, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x44, 0x68, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x77, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd5, 0x44, 0x68, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb5, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x78, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x74, 0x45, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xef, 0xff, 0xff, 0xff, 0xff, 0x84, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x44, 0x46, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x85, 0x8f, 0xff, 0xff, 0xff, 0xfd, 0x54, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa4, 0x44, 0x68, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x59, 0xff, 0xff, 0xff, 0xfb, 0x44, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xef, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x54, 0x45, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x9f, 0xff, 0xff, 0xf7, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x59, 0xff, 0xff, 0xd5, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x57, 0xdf, 0xff, 0xff, 0xd8, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x8d, 0xff, 0x84, 0x46, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x59, 0xcc, 0xc9, 0x64, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x55, 0x76, 0x44, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x54, 0x55, 0x54, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x44, 0x44, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x44, 0x44, 0x45, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x65, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x55, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88 +}; + +extern const uint8_t fan1_64x64x4[2048] = { + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x65, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x45, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x65, 0x44, 0x44, 0x46, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x64, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x44, 0x44, 0x55, 0x54, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x54, 0x46, 0x75, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x54, 0x44, 0x69, 0xcc, 0xc9, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x44, 0x8f, 0xfd, 0x85, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x44, 0x48, 0xdf, 0xff, 0xff, 0xd7, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x45, 0xdf, 0xff, 0xf9, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x54, 0x45, 0xaf, 0xff, 0xff, 0xff, 0xfe, 0x76, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x47, 0xff, 0xff, 0xff, 0x95, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x75, 0x44, 0x5b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x64, 0x4b, 0xff, 0xff, 0xff, 0xf9, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x64, 0x44, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x54, 0x5d, 0xff, 0xff, 0xff, 0xff, 0x85, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x86, 0x44, 0x48, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x97, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x44, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x75, 0x44, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x75, 0x45, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x87, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x64, 0x45, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0x88, 0x88, 0x88, 0x87, 0x54, 0x47, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x64, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x87, 0x88, 0x88, 0x88, 0x86, 0x44, 0x4b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x54, 0x6e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x97, 0x88, 0x88, 0x87, 0x55, 0x44, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x77, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x44, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x78, 0x87, 0x65, 0x44, 0x46, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x87, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x86, 0x44, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x78, 0x65, 0x44, 0x44, 0x6d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x75, 0x46, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x77, 0x54, 0x44, 0x48, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd8, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x75, 0x48, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x88, 0x76, 0x67, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe9, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x64, 0x4b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x76, 0x78, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x64, 0x5d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd9, 0x54, 0x56, 0x8a, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x64, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x54, 0x44, 0x44, 0x67, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x64, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd5, 0x44, 0x59, 0xa8, 0x57, 0x75, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x75, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x94, 0x46, 0xdf, 0xff, 0xc8, 0x74, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xfe, 0xed, 0xdc, 0xde, 0xef, 0xff, 0xff, 0x84, 0x5c, 0xff, 0xff, 0xfc, 0x74, 0x5e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x8a, 0xdd, 0xcb, 0xa9, 0x88, 0x77, 0x88, 0x9a, 0xdf, 0xfe, 0x84, 0x7f, 0xff, 0xff, 0xff, 0x86, 0x6e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x77, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x8a, 0xef, 0x95, 0x7f, 0xff, 0xff, 0xff, 0x97, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x87, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x8c, 0xa7, 0x7d, 0xff, 0xff, 0xfc, 0x77, 0x89, 0xab, 0xde, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xa8, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0x86, 0x7a, 0xff, 0xff, 0xe6, 0x47, 0x87, 0x77, 0x88, 0x9a, 0xbb, 0xbb, 0xba, 0x98, 0x77, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x54, 0x56, 0x8b, 0xca, 0x64, 0x57, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x44, 0x44, 0x44, 0x44, 0x44, 0x6a, 0x87, 0x88, 0x88, 0x88, 0x87, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x54, 0x44, 0x98, 0x44, 0x44, 0x46, 0xcc, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x44, 0x49, 0xff, 0xb7, 0x67, 0xae, 0xfb, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x64, 0x44, 0x8f, 0xff, 0xff, 0xef, 0xff, 0xfa, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x54, 0x47, 0xef, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x44, 0x6d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x64, 0x45, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x54, 0x49, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x44, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x45, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x65, 0x48, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x54, 0x4c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x66, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x54, 0x6e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb5, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x54, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x54, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x86, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x74, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x79, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdb, 0x97, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x79, 0xbd, 0xef, 0xff, 0xff, 0xff, 0xec, 0xb9, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x78, 0x9a, 0xbb, 0xcc, 0xca, 0x98, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88 +}; + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/images/fan_fast_64x64x4.cpp b/Marlin/src/lcd/tft/images/fan_fast_64x64x4.cpp new file mode 100644 index 000000000000..a315f8bf8f07 --- /dev/null +++ b/Marlin/src/lcd/tft/images/fan_fast_64x64x4.cpp @@ -0,0 +1,161 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../inc/MarlinConfigPre.h" + +#if HAS_GRAPHICAL_TFT + +extern const uint8_t fan_fast0_64x64x4[2048] = { + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x78, 0x89, 0x98, 0x88, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x8a, 0xbd, 0xef, 0xfe, 0xec, 0xba, 0x87, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x89, 0xac, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xec, 0x97, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x79, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x89, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0x9c, 0xed, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8a, 0xde, 0xdd, 0xce, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xbd, 0xed, 0xdd, 0xdd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8a, 0xdd, 0xdd, 0xdd, 0xdc, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xac, 0xdd, 0xdd, 0xdd, 0xdd, 0xcd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x85, 0x68, 0x88, 0x87, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xcb, 0xcd, 0xdd, 0xdd, 0xdd, 0xdc, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x65, 0x68, 0x88, 0x78, 0x88, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x8b, 0xca, 0xac, 0xdd, 0xdd, 0xdd, 0xdd, 0xce, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x55, 0x68, 0x87, 0x8a, 0xba, 0x87, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x78, 0xac, 0xba, 0xaa, 0xbc, 0xdd, 0xdd, 0xdd, 0xcd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe6, 0x55, 0x78, 0x78, 0xac, 0xbb, 0x97, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x79, 0xcb, 0xaa, 0xaa, 0xaa, 0xbc, 0xdd, 0xdd, 0xdc, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x56, 0x78, 0x8a, 0xcb, 0xaa, 0xa8, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x8b, 0xca, 0xaa, 0xaa, 0xaa, 0xaa, 0xcd, 0xdd, 0xdc, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x65, 0x57, 0x87, 0x9c, 0xba, 0xaa, 0xb9, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x9b, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xdd, 0xdd, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x55, 0x67, 0x79, 0xbb, 0xba, 0xaa, 0xaa, 0x77, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x9c, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xbd, 0xdd, 0xce, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x95, 0x55, 0x77, 0x9b, 0xcb, 0xaa, 0xaa, 0xaa, 0x96, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x89, 0xaa, 0xab, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xdd, 0xce, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x55, 0x56, 0x79, 0xbc, 0xba, 0xaa, 0xaa, 0xaa, 0xa6, 0x68, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x67, 0x88, 0x9a, 0xaa, 0xaa, 0xaa, 0xaa, 0xcd, 0xcd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc5, 0x55, 0x68, 0xab, 0xcb, 0xaa, 0xaa, 0xaa, 0xab, 0xb8, 0x68, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x55, 0x55, 0x56, 0x78, 0x9a, 0xaa, 0xaa, 0xbd, 0xce, 0xff, 0xfd, 0xde, 0xff, 0xfc, 0x65, 0x56, 0x9b, 0xcb, 0xba, 0xaa, 0xaa, 0xab, 0xcd, 0xdb, 0x67, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x65, 0x55, 0x55, 0x57, 0x9a, 0xaa, 0xac, 0xde, 0xfb, 0x86, 0x67, 0x8c, 0xe8, 0x77, 0x8a, 0xcc, 0xba, 0xaa, 0xaa, 0xaa, 0xcd, 0xdd, 0xdd, 0x86, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x65, 0x55, 0x58, 0xaa, 0xab, 0xdd, 0x95, 0x55, 0x55, 0x56, 0x68, 0xaa, 0xbb, 0xbb, 0xaa, 0xaa, 0xaa, 0xcd, 0xdd, 0xdd, 0xdd, 0x95, 0x78, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x76, 0x55, 0x7a, 0xab, 0xc8, 0x55, 0x57, 0x87, 0x55, 0x56, 0xac, 0xaa, 0xaa, 0xaa, 0xab, 0xcd, 0xdd, 0xdd, 0xdd, 0xdd, 0xb5, 0x68, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x78, 0x88, 0x88, 0x88, 0x76, 0x56, 0xab, 0x95, 0x55, 0xae, 0xff, 0xb7, 0x65, 0x7c, 0xdc, 0xcb, 0xcc, 0xcd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xc6, 0x57, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x8a, 0xcd, 0xee, 0xee, 0xed, 0xcb, 0x96, 0x89, 0x65, 0x5a, 0xff, 0xff, 0xfc, 0x77, 0x9c, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xc6, 0x57, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x79, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xdb, 0x65, 0x6e, 0xff, 0xff, 0xfe, 0x77, 0x9e, 0xec, 0xcd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdc, 0xcc, 0xcd, 0xc6, 0x57, 0x88, + 0x88, 0x88, 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x65, 0x8f, 0xff, 0xff, 0xff, 0x75, 0x9f, 0xff, 0xdd, 0xcc, 0xcc, 0xcc, 0xcc, 0xdd, 0xdd, 0xdd, 0xc6, 0x57, 0x88, + 0x88, 0x88, 0x88, 0x78, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x65, 0x8e, 0xff, 0xff, 0xfe, 0x65, 0x8f, 0xff, 0xff, 0xee, 0xdd, 0xdd, 0xee, 0xef, 0xff, 0xff, 0xd6, 0x57, 0x88, + 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x85, 0x7a, 0xff, 0xff, 0xfa, 0x55, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd6, 0x57, 0x88, + 0x88, 0x88, 0x88, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb5, 0x77, 0x9d, 0xfd, 0xa5, 0x55, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd6, 0x57, 0x88, + 0x88, 0x88, 0x88, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x67, 0x66, 0x66, 0x55, 0x58, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc5, 0x57, 0x88, + 0x88, 0x88, 0x88, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x97, 0x75, 0x55, 0x56, 0x9e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x95, 0x57, 0x88, + 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xa8, 0x66, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x65, 0x67, 0x88, + 0x88, 0x88, 0x88, 0x79, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xec, 0xcb, 0xbe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x67, 0x88, + 0x88, 0x88, 0x88, 0x78, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdc, 0xdd, 0xcb, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x55, 0x68, 0x88, + 0x88, 0x88, 0x88, 0x87, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xed, 0xcd, 0xdb, 0xa9, 0x57, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe6, 0x55, 0x78, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xcc, 0xdd, 0xba, 0xa8, 0x55, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb5, 0x56, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xec, 0xdd, 0xdc, 0xaa, 0xa7, 0x55, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x85, 0x57, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdc, 0xdd, 0xdb, 0xaa, 0xa7, 0x56, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x65, 0x67, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x78, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xcd, 0xdd, 0xca, 0xaa, 0xa7, 0x56, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x55, 0x68, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xdd, 0xdd, 0xca, 0xaa, 0xa7, 0x56, 0x79, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x55, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xec, 0xdd, 0xdd, 0xba, 0xaa, 0xa8, 0x56, 0x87, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x56, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xdc, 0xdd, 0xdd, 0xba, 0xaa, 0xb9, 0x56, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe6, 0x55, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xcd, 0xdd, 0xdd, 0xba, 0xaa, 0xa9, 0x56, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x85, 0x55, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x67, 0xef, 0xff, 0xff, 0xfe, 0xcd, 0xdd, 0xdd, 0xba, 0xaa, 0xaa, 0x76, 0x88, 0x76, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x55, 0x56, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x7e, 0xff, 0xff, 0xfd, 0xcd, 0xdd, 0xdd, 0xba, 0xaa, 0xaa, 0x85, 0x78, 0x87, 0x6b, 0xff, 0xff, 0xff, 0xfd, 0x75, 0x55, 0x67, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x67, 0xdf, 0xff, 0xec, 0xdd, 0xdd, 0xdd, 0xba, 0xaa, 0xaa, 0xa6, 0x68, 0x88, 0x76, 0xae, 0xff, 0xfe, 0xa6, 0x55, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x6b, 0xff, 0xdc, 0xdd, 0xdd, 0xdd, 0xba, 0xaa, 0xaa, 0xa7, 0x68, 0x88, 0x86, 0x56, 0x89, 0x86, 0x55, 0x55, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x65, 0x8b, 0xdd, 0xdd, 0xdd, 0xdd, 0xba, 0xaa, 0xaa, 0xa9, 0x57, 0x88, 0x88, 0x65, 0x55, 0x55, 0x55, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x55, 0x8b, 0xdd, 0xdd, 0xdd, 0xaa, 0xaa, 0xaa, 0xaa, 0x66, 0x88, 0x88, 0x87, 0x65, 0x55, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x65, 0x56, 0x8b, 0xdd, 0xdc, 0xaa, 0xaa, 0xaa, 0xba, 0x65, 0x78, 0x88, 0x88, 0x87, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x65, 0x55, 0x79, 0x99, 0x99, 0xaa, 0xaa, 0x97, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x65, 0x55, 0x55, 0x56, 0x66, 0x66, 0x65, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x66, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x76, 0x66, 0x66, 0x66, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88 +}; + +extern const uint8_t fan_fast1_64x64x4[2048] = { + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x66, 0x66, 0x66, 0x66, 0x66, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x55, 0x55, 0x55, 0x55, 0x55, 0x56, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x55, 0x66, 0x66, 0x66, 0x55, 0x55, 0x55, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x57, 0x9a, 0xaa, 0xa9, 0x99, 0x99, 0x75, 0x55, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x88, 0x88, 0x88, 0x75, 0x6a, 0xba, 0xaa, 0xaa, 0xac, 0xdd, 0xdb, 0x86, 0x55, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x55, 0x55, 0x67, 0x88, 0x88, 0x86, 0x6a, 0xaa, 0xaa, 0xaa, 0xad, 0xdd, 0xdd, 0xdb, 0x85, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x55, 0x55, 0x55, 0x55, 0x68, 0x88, 0x87, 0x59, 0xaa, 0xaa, 0xaa, 0xbd, 0xdd, 0xdd, 0xdd, 0xdb, 0x85, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x65, 0x55, 0x56, 0x89, 0x86, 0x56, 0x88, 0x88, 0x67, 0xaa, 0xaa, 0xaa, 0xbd, 0xdd, 0xdd, 0xdc, 0xdf, 0xfb, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x55, 0x56, 0xae, 0xff, 0xfe, 0xa6, 0x78, 0x88, 0x66, 0xaa, 0xaa, 0xaa, 0xbd, 0xdd, 0xdd, 0xdc, 0xef, 0xff, 0xd7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x65, 0x55, 0x7d, 0xff, 0xff, 0xff, 0xfb, 0x67, 0x88, 0x75, 0x8a, 0xaa, 0xaa, 0xbd, 0xdd, 0xdd, 0xcd, 0xff, 0xff, 0xfe, 0x76, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x86, 0x55, 0x58, 0xef, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x78, 0x86, 0x7a, 0xaa, 0xaa, 0xbd, 0xdd, 0xdd, 0xce, 0xff, 0xff, 0xff, 0xe7, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x75, 0x55, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0x86, 0x59, 0xaa, 0xaa, 0xbd, 0xdd, 0xdd, 0xcf, 0xff, 0xff, 0xff, 0xfe, 0x76, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x65, 0x56, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x87, 0x86, 0x59, 0xba, 0xaa, 0xbd, 0xdd, 0xdc, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xd6, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x86, 0x55, 0x5c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x86, 0x58, 0xaa, 0xaa, 0xbd, 0xdd, 0xdc, 0xef, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x75, 0x55, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x76, 0x57, 0xaa, 0xaa, 0xcd, 0xdd, 0xdd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x65, 0x58, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x76, 0x57, 0xaa, 0xaa, 0xcd, 0xdd, 0xce, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd8, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x65, 0x6d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x86, 0x57, 0xaa, 0xab, 0xdd, 0xdc, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x55, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb5, 0x57, 0xaa, 0xac, 0xdd, 0xdc, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x87, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x86, 0x55, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd5, 0x58, 0xaa, 0xbd, 0xdc, 0xce, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x97, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x75, 0x56, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x59, 0xab, 0xdd, 0xcd, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x65, 0x59, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x7b, 0xcd, 0xdc, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x78, 0x88, 0x88, + 0x88, 0x87, 0x65, 0x5c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xbb, 0xcc, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x78, 0x88, 0x88, + 0x88, 0x87, 0x65, 0x6e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x86, 0x68, 0xad, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0x88, 0x88, + 0x88, 0x87, 0x55, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x96, 0x55, 0x55, 0x77, 0x9e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x78, 0x88, 0x88, + 0x88, 0x87, 0x55, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x55, 0x56, 0x66, 0x67, 0x68, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x78, 0x88, 0x88, + 0x88, 0x87, 0x56, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb5, 0x55, 0xad, 0xfd, 0x97, 0x75, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x78, 0x88, 0x88, + 0x88, 0x87, 0x56, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x95, 0x5a, 0xff, 0xff, 0xfa, 0x75, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0x88, 0x88, + 0x88, 0x87, 0x56, 0xdf, 0xff, 0xff, 0xee, 0xed, 0xdd, 0xde, 0xef, 0xff, 0xff, 0x85, 0x6e, 0xff, 0xff, 0xfe, 0x85, 0x6e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x78, 0x88, 0x88, + 0x88, 0x87, 0x56, 0xcd, 0xdd, 0xdd, 0xdc, 0xcc, 0xcc, 0xcc, 0xcd, 0xdf, 0xff, 0x95, 0x7f, 0xff, 0xff, 0xff, 0x85, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x88, 0x88, 0x88, + 0x88, 0x87, 0x56, 0xcd, 0xcc, 0xcc, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xcc, 0xee, 0x97, 0x7e, 0xff, 0xff, 0xfe, 0x65, 0x6b, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd9, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x87, 0x56, 0xcd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdc, 0x97, 0x7c, 0xff, 0xff, 0xfa, 0x55, 0x69, 0x86, 0x9b, 0xcd, 0xee, 0xee, 0xed, 0xca, 0x87, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x87, 0x56, 0xcd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xcc, 0xcb, 0xcc, 0xdc, 0x75, 0x67, 0xbf, 0xfe, 0xa5, 0x55, 0x9b, 0xa6, 0x56, 0x78, 0x88, 0x88, 0x88, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x65, 0xbd, 0xdd, 0xdd, 0xdd, 0xdd, 0xcb, 0xaa, 0xaa, 0xaa, 0xac, 0xa6, 0x55, 0x57, 0x87, 0x55, 0x58, 0xcb, 0xaa, 0x75, 0x56, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x75, 0x9d, 0xdd, 0xdd, 0xdd, 0xca, 0xaa, 0xaa, 0xab, 0xbb, 0xba, 0xa8, 0x66, 0x55, 0x55, 0x55, 0x9d, 0xdb, 0xaa, 0xa8, 0x55, 0x55, 0x67, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x86, 0x8d, 0xdd, 0xdd, 0xca, 0xaa, 0xaa, 0xaa, 0xbc, 0xca, 0x87, 0x78, 0xec, 0x87, 0x66, 0x8b, 0xfe, 0xdc, 0xaa, 0xaa, 0x97, 0x55, 0x55, 0x55, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x6b, 0xdd, 0xcb, 0xaa, 0xaa, 0xaa, 0xbb, 0xcb, 0x96, 0x55, 0x6c, 0xff, 0xfe, 0xdd, 0xff, 0xfe, 0xcd, 0xba, 0xaa, 0xaa, 0x98, 0x76, 0x55, 0x55, 0x57, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x68, 0xbb, 0xaa, 0xaa, 0xaa, 0xab, 0xcb, 0xa8, 0x65, 0x55, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xcd, 0xca, 0xaa, 0xaa, 0xaa, 0xaa, 0x98, 0x87, 0x67, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x66, 0xaa, 0xaa, 0xaa, 0xaa, 0xbc, 0xb9, 0x76, 0x55, 0x5b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xcd, 0xdb, 0xaa, 0xaa, 0xaa, 0xaa, 0xab, 0xaa, 0xa9, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x76, 0x9a, 0xaa, 0xaa, 0xab, 0xcb, 0x97, 0x75, 0x55, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xcd, 0xdd, 0xba, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xbc, 0x97, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x7a, 0xaa, 0xaa, 0xbb, 0xb9, 0x77, 0x65, 0x57, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcd, 0xdd, 0xdb, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xbb, 0x97, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x69, 0xba, 0xaa, 0xbc, 0x97, 0x87, 0x55, 0x6d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdc, 0xdd, 0xdd, 0xca, 0xaa, 0xaa, 0xaa, 0xaa, 0xcb, 0x87, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x78, 0xaa, 0xab, 0xca, 0x88, 0x76, 0x55, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xec, 0xdd, 0xdd, 0xdc, 0xba, 0xaa, 0xaa, 0xab, 0xc9, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x9b, 0xbc, 0xa8, 0x78, 0x75, 0x56, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xcd, 0xdd, 0xdd, 0xdc, 0xba, 0xaa, 0xbc, 0xa8, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x8a, 0xba, 0x87, 0x88, 0x65, 0x5a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xcd, 0xdd, 0xdd, 0xdd, 0xdc, 0xaa, 0xcb, 0x87, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0x88, 0x78, 0x88, 0x65, 0x6d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdc, 0xdd, 0xdd, 0xdd, 0xdd, 0xcb, 0xc9, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x88, 0x88, 0x65, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xcd, 0xdd, 0xdd, 0xdd, 0xdc, 0xa7, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x65, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdc, 0xdd, 0xdd, 0xdd, 0xda, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x65, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xdd, 0xdd, 0xed, 0xb8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xcd, 0xde, 0xda, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xed, 0xec, 0x98, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xb8, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb9, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc9, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x9c, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xec, 0xa9, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x8a, 0xbc, 0xee, 0xff, 0xed, 0xba, 0x87, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x78, 0x88, 0x99, 0x88, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88 +}; + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/images/fan_slow_64x64x4.cpp b/Marlin/src/lcd/tft/images/fan_slow_64x64x4.cpp new file mode 100644 index 000000000000..baf065188193 --- /dev/null +++ b/Marlin/src/lcd/tft/images/fan_slow_64x64x4.cpp @@ -0,0 +1,161 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../inc/MarlinConfigPre.h" + +#if HAS_GRAPHICAL_TFT + +extern const uint8_t fan_slow0_64x64x4[2048] = { + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x89, 0x9a, 0xbb, 0xbb, 0xaa, 0x99, 0x87, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0xab, 0xde, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xdb, 0x97, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x79, 0xce, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x97, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xae, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x8b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x89, 0xbc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xac, 0xcb, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8b, 0xcb, 0xbb, 0xbe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xbc, 0xbb, 0xbb, 0xbc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8a, 0xcb, 0xbb, 0xbb, 0xbb, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8b, 0xcb, 0xbb, 0xbb, 0xbb, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe9, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x8a, 0xcc, 0xbb, 0xbb, 0xbb, 0xbb, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0x9b, 0xcb, 0xbb, 0xbb, 0xbb, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0xac, 0xcb, 0xbb, 0xbb, 0xbc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x89, 0xbc, 0xbb, 0xbb, 0xbb, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x8a, 0xbc, 0xbb, 0xbb, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0x9b, 0xcb, 0xbb, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x79, 0xbc, 0xbb, 0xbe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9b, 0xcb, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xcb, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x88, 0x87, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xac, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0xab, 0xa8, 0x78, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9b, 0xbe, 0xff, 0xca, 0xab, 0xce, 0xfd, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0xab, 0xcc, 0xca, 0x78, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8b, 0xcf, 0xd9, 0x77, 0x77, 0x79, 0xc8, 0x77, 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0x9b, 0xcc, 0xbb, 0xcb, 0x87, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x8a, 0xcc, 0x87, 0x77, 0x77, 0x77, 0x77, 0x88, 0x77, 0x77, 0x77, 0x77, 0x78, 0x9b, 0xcc, 0xbb, 0xbb, 0xcb, 0x87, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x79, 0xb8, 0x77, 0x8a, 0xcb, 0x97, 0x77, 0x8a, 0xa9, 0x88, 0x88, 0x89, 0xab, 0xcc, 0xbb, 0xbb, 0xbb, 0xbc, 0x97, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x77, 0x78, 0x99, 0xaa, 0x99, 0x98, 0x87, 0x77, 0x79, 0x97, 0x78, 0xdf, 0xff, 0xea, 0x77, 0x8a, 0xcb, 0xbb, 0xbb, 0xbb, 0xcc, 0xbb, 0xbb, 0xbb, 0xbb, 0xbc, 0x97, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x7a, 0xce, 0xff, 0xff, 0xff, 0xee, 0xdc, 0xa9, 0x88, 0x87, 0x8c, 0xff, 0xff, 0xfe, 0x97, 0x8c, 0xcb, 0xbc, 0xcc, 0xcb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbc, 0x97, 0x88, + 0x88, 0x88, 0x88, 0x78, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0x77, 0x9f, 0xff, 0xff, 0xff, 0xb7, 0x7c, 0xfd, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbc, 0x97, 0x88, + 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x77, 0x9f, 0xff, 0xff, 0xff, 0xc7, 0x7b, 0xff, 0xec, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbc, 0xcd, 0xcc, 0x97, 0x88, + 0x88, 0x88, 0x87, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x77, 0x8e, 0xff, 0xff, 0xff, 0xa7, 0x7b, 0xff, 0xff, 0xed, 0xdc, 0xcc, 0xcd, 0xde, 0xff, 0xff, 0xfe, 0x97, 0x88, + 0x88, 0x88, 0x78, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x87, 0x7b, 0xff, 0xff, 0xfd, 0x87, 0x7d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x88, + 0x88, 0x88, 0x79, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x78, 0xbe, 0xff, 0xc8, 0x77, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x88, + 0x88, 0x88, 0x79, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd8, 0x77, 0x79, 0x99, 0x87, 0x78, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x88, + 0x88, 0x88, 0x79, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x87, 0x77, 0x77, 0x77, 0x8c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x97, 0x88, + 0x88, 0x88, 0x78, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0x97, 0x78, 0x7b, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x87, 0x88, + 0x88, 0x88, 0x78, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xca, 0x98, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x78, 0x88, + 0x88, 0x88, 0x77, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdc, 0xcc, 0xa8, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0x88, + 0x88, 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xec, 0xbb, 0xca, 0x87, 0x78, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x78, 0x88, + 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xbb, 0xbc, 0xa8, 0x78, 0x77, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0xbb, 0xbb, 0x87, 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x97, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x79, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcb, 0xbb, 0xca, 0x78, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x87, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x77, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xbb, 0xbc, 0xb8, 0x78, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0xbb, 0xbc, 0xa8, 0x78, 0x88, 0x88, 0x79, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdb, 0xbb, 0xbc, 0x97, 0x88, 0x88, 0x88, 0x87, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x87, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x78, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbb, 0xbb, 0xbc, 0x97, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x9e, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xbb, 0xbb, 0xbb, 0x87, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xef, 0xff, 0xff, 0xff, 0xfc, 0xbb, 0xbb, 0xcb, 0x87, 0x88, 0x88, 0x88, 0x88, 0x78, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x77, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xeb, 0xbb, 0xbb, 0xcb, 0x87, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xdb, 0xbb, 0xbb, 0xcb, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xef, 0xff, 0xff, 0xff, 0xfb, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xae, 0xff, 0xff, 0xcb, 0xbb, 0xbb, 0xcb, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9d, 0xff, 0xff, 0xfd, 0x97, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x79, 0xdf, 0xfd, 0xbb, 0xbb, 0xbb, 0xcb, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xac, 0xcb, 0x98, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8a, 0xcc, 0xbb, 0xbb, 0xbb, 0xcb, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x8a, 0xbc, 0xbb, 0xbb, 0xcb, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0x8a, 0xbc, 0xcb, 0xca, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x8a, 0xbb, 0xb9, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88 +}; + +extern const uint8_t fan_slow1_64x64x4[2048] = { + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xbb, 0xba, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8a, 0xcb, 0xcc, 0xba, 0x88, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8b, 0xcb, 0xbb, 0xbc, 0xba, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8b, 0xcb, 0xbb, 0xbb, 0xbc, 0xca, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0x9b, 0xcc, 0xa8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8b, 0xcb, 0xbb, 0xbb, 0xbd, 0xff, 0xd9, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x9d, 0xff, 0xff, 0xfd, 0x97, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8b, 0xcb, 0xbb, 0xbb, 0xcf, 0xff, 0xfe, 0xa7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xea, 0x78, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8b, 0xcb, 0xbb, 0xbb, 0xdf, 0xff, 0xff, 0xfa, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x97, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8b, 0xcb, 0xbb, 0xbb, 0xef, 0xff, 0xff, 0xff, 0xa7, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x78, 0x88, 0x88, 0x88, 0x87, 0x8b, 0xcb, 0xbb, 0xbc, 0xff, 0xff, 0xff, 0xff, 0xe9, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x77, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x77, 0x88, 0x88, 0x88, 0x87, 0x8b, 0xbb, 0xbb, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x97, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x79, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x97, 0x88, 0x88, 0x88, 0x87, 0x9c, 0xbb, 0xbb, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd8, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x88, 0x88, 0x88, 0x87, 0x9c, 0xbb, 0xbb, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x77, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x77, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x78, 0x88, 0x88, 0x78, 0xac, 0xbb, 0xbb, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x97, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x77, 0x88, 0x88, 0x78, 0xbc, 0xbb, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x87, 0x88, 0x88, 0x7a, 0xcb, 0xbb, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x88, 0x87, 0x8b, 0xbb, 0xbb, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x78, 0x78, 0xac, 0xbb, 0xbe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x87, 0x88, 0x88, + 0x88, 0x88, 0x78, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x77, 0x8a, 0xcb, 0xbc, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x88, 0x88, + 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x78, 0xac, 0xcc, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x78, 0x88, + 0x88, 0x88, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x78, 0x9a, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd8, 0x78, 0x88, + 0x88, 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0x78, 0x77, 0x9b, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x78, 0x88, + 0x88, 0x87, 0x9e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x87, 0x77, 0x77, 0x77, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x78, 0x88, + 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc8, 0x77, 0x89, 0x99, 0x77, 0x78, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x78, 0x88, + 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x87, 0x78, 0xcf, 0xfe, 0xb8, 0x77, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x78, 0x88, + 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x77, 0x8d, 0xff, 0xff, 0xfb, 0x77, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd8, 0x78, 0x88, + 0x88, 0x87, 0x9e, 0xff, 0xff, 0xfe, 0xdd, 0xcc, 0xcc, 0xdd, 0xef, 0xff, 0xfb, 0x77, 0xaf, 0xff, 0xff, 0xfe, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0x88, 0x88, + 0x88, 0x87, 0x9c, 0xcd, 0xcc, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbc, 0xef, 0xfb, 0x77, 0xcf, 0xff, 0xff, 0xff, 0x97, 0x7d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x87, 0x88, 0x88, + 0x88, 0x87, 0x9c, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbd, 0xfc, 0x77, 0xbf, 0xff, 0xff, 0xff, 0x97, 0x7b, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc8, 0x78, 0x88, 0x88, + 0x88, 0x87, 0x9c, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xcc, 0xcc, 0xbb, 0xcc, 0x87, 0x9e, 0xff, 0xff, 0xfc, 0x87, 0x88, 0x89, 0xac, 0xde, 0xef, 0xff, 0xff, 0xfe, 0xca, 0x77, 0x88, 0x88, 0x88, + 0x88, 0x87, 0x9c, 0xbb, 0xbb, 0xbb, 0xbb, 0xbc, 0xcb, 0xbb, 0xbb, 0xbb, 0xca, 0x87, 0x7a, 0xef, 0xff, 0xd8, 0x77, 0x99, 0x77, 0x77, 0x88, 0x99, 0x9a, 0xa9, 0x98, 0x77, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x87, 0x9c, 0xbb, 0xbb, 0xbb, 0xbc, 0xcb, 0xa9, 0x88, 0x88, 0x89, 0xaa, 0x87, 0x77, 0x9b, 0xca, 0x87, 0x78, 0xb9, 0x78, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x87, 0x8b, 0xcb, 0xbb, 0xbc, 0xcb, 0x98, 0x77, 0x77, 0x77, 0x77, 0x78, 0x87, 0x77, 0x77, 0x77, 0x77, 0x8c, 0xca, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x87, 0x8b, 0xcb, 0xbc, 0xcb, 0x98, 0x77, 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0xc9, 0x77, 0x77, 0x79, 0xdf, 0xcb, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x7a, 0xcc, 0xcb, 0xa8, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8d, 0xfe, 0xcb, 0xaa, 0xcf, 0xfe, 0xbb, 0x97, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x78, 0xab, 0xa8, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xbc, 0xa8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x88, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xbb, 0xc9, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xbb, 0xcb, 0x97, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xbb, 0xbc, 0xb9, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcb, 0xbb, 0xcb, 0x98, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdb, 0xbb, 0xbc, 0xba, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0xbb, 0xbb, 0xbc, 0xb9, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xbb, 0xbb, 0xbb, 0xcc, 0xa8, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcb, 0xbb, 0xbb, 0xbb, 0xcb, 0x98, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0xbb, 0xbb, 0xbb, 0xbc, 0xca, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xbb, 0xbb, 0xbb, 0xbb, 0xcb, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcb, 0xbb, 0xbb, 0xbb, 0xca, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xbb, 0xbb, 0xbc, 0xb8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xbb, 0xbb, 0xcb, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdb, 0xcc, 0xa8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xb9, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xa8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x9d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xc9, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x9b, 0xde, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xdb, 0xa8, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x89, 0x9a, 0xab, 0xbb, 0xba, 0x99, 0x87, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88 +}; + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/images/feedrate_32x32x4.cpp b/Marlin/src/lcd/tft/images/feedrate_32x32x4.cpp new file mode 100644 index 000000000000..3515b382753b --- /dev/null +++ b/Marlin/src/lcd/tft/images/feedrate_32x32x4.cpp @@ -0,0 +1,62 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../inc/MarlinConfigPre.h" + +#if HAS_GRAPHICAL_TFT + +extern const uint8_t feedrate_32x32x4[512] = { + 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x78, 0x77, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x77, 0x8a, 0xcd, 0xa8, 0xcc, 0xb9, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x77, 0x9c, 0xef, 0xff, 0xa8, 0xff, 0xff, 0xda, 0x87, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x8b, 0xef, 0xff, 0xff, 0x97, 0xff, 0xff, 0xff, 0xd9, 0x77, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x78, 0xcf, 0xff, 0xff, 0xec, 0x76, 0xbd, 0xef, 0xff, 0xff, 0x97, 0x78, 0x88, 0x88, + 0x88, 0x87, 0x8d, 0xff, 0xff, 0xc9, 0x65, 0x55, 0x65, 0x6a, 0xef, 0xfb, 0x67, 0x87, 0x88, 0x88, + 0x88, 0x77, 0xcf, 0xff, 0xe9, 0x55, 0x55, 0x55, 0x65, 0x55, 0x6b, 0xb5, 0x7d, 0xb7, 0x78, 0x88, + 0x87, 0x7a, 0xff, 0xfe, 0x85, 0x55, 0x56, 0x67, 0x77, 0x66, 0x55, 0x57, 0xdf, 0xf8, 0x78, 0x88, + 0x87, 0x8e, 0xff, 0xf8, 0x55, 0x56, 0x67, 0x88, 0x88, 0x87, 0x76, 0x58, 0xff, 0xfc, 0x67, 0x88, + 0x77, 0xbf, 0xff, 0xa5, 0x55, 0x67, 0x88, 0x88, 0x87, 0x78, 0xb9, 0x66, 0xbf, 0xff, 0x86, 0x88, + 0x78, 0xdf, 0xfd, 0x65, 0x56, 0x78, 0x88, 0x87, 0x77, 0xae, 0xd8, 0x77, 0x7e, 0xff, 0xb5, 0x78, + 0x79, 0xff, 0xfa, 0x55, 0x67, 0x88, 0x88, 0x77, 0x9c, 0xff, 0x86, 0x56, 0x7b, 0xff, 0xe6, 0x68, + 0x7a, 0xff, 0xf7, 0x55, 0x78, 0x88, 0x87, 0x8b, 0xff, 0xfb, 0x55, 0x67, 0x79, 0xff, 0xf8, 0x68, + 0x7b, 0xff, 0xe6, 0x56, 0x78, 0x88, 0x78, 0xdf, 0xff, 0xe7, 0x55, 0x78, 0x79, 0xee, 0xe8, 0x57, + 0x7c, 0xff, 0xd6, 0x57, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xa5, 0x56, 0x78, 0x78, 0x77, 0x76, 0x57, + 0x7c, 0xff, 0xd6, 0x57, 0x88, 0x87, 0x7c, 0xff, 0xfd, 0x65, 0x57, 0x88, 0x78, 0x98, 0x86, 0x57, + 0x7b, 0xff, 0xd6, 0x57, 0x88, 0x88, 0x79, 0xef, 0xe8, 0x55, 0x67, 0x88, 0x79, 0xff, 0xf9, 0x67, + 0x7b, 0xff, 0xf7, 0x57, 0x88, 0x88, 0x87, 0x78, 0x75, 0x55, 0x78, 0x88, 0x7a, 0xff, 0xf8, 0x67, + 0x79, 0xff, 0xf9, 0x57, 0x88, 0x88, 0x88, 0x65, 0x55, 0x56, 0x88, 0x87, 0x7c, 0xff, 0xd6, 0x56, + 0x78, 0xef, 0xfd, 0x57, 0x88, 0x88, 0x88, 0x76, 0x55, 0x67, 0x88, 0x87, 0x8f, 0xff, 0xb5, 0x57, + 0x77, 0xbf, 0xff, 0x96, 0x88, 0x88, 0x88, 0x88, 0x77, 0x78, 0x88, 0x77, 0xcf, 0xff, 0x85, 0x67, + 0x87, 0x8e, 0xff, 0xe8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7a, 0xff, 0xfc, 0x55, 0x67, + 0x88, 0x7a, 0xff, 0xfd, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, 0x77, 0x9e, 0xff, 0xf7, 0x55, 0x68, + 0x88, 0x77, 0xbf, 0xff, 0xea, 0x77, 0x77, 0x88, 0x87, 0x77, 0x7a, 0xff, 0xff, 0x95, 0x56, 0x78, + 0x88, 0x87, 0x6c, 0xff, 0xff, 0xc9, 0x87, 0x77, 0x77, 0x89, 0xdf, 0xff, 0xfb, 0x55, 0x56, 0x88, + 0x88, 0x88, 0x76, 0xcf, 0xff, 0xff, 0xdc, 0xbb, 0xbc, 0xef, 0xff, 0xff, 0xa5, 0x55, 0x67, 0x88, + 0x88, 0x88, 0x86, 0x6a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x55, 0x55, 0x78, 0x88, + 0x88, 0x88, 0x87, 0x65, 0x7b, 0xef, 0xff, 0xff, 0xff, 0xff, 0xda, 0x65, 0x55, 0x57, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x86, 0x55, 0x79, 0xbd, 0xde, 0xdc, 0xb9, 0x65, 0x55, 0x56, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x76, 0x55, 0x56, 0x66, 0x66, 0x55, 0x55, 0x55, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x76, 0x55, 0x55, 0x55, 0x55, 0x56, 0x67, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x66, 0x66, 0x66, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88 +}; + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/images/flowrate_32x32x4.cpp b/Marlin/src/lcd/tft/images/flowrate_32x32x4.cpp new file mode 100644 index 000000000000..d3c7fd187a46 --- /dev/null +++ b/Marlin/src/lcd/tft/images/flowrate_32x32x4.cpp @@ -0,0 +1,62 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../inc/MarlinConfigPre.h" + +#if HAS_GRAPHICAL_TFT + +extern const uint8_t flowrate_32x32x4[512] = { + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x88, 0x88, 0x88, 0x87, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x88, 0x88, 0x88, 0x87, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x77, 0x78, 0xce, 0xeb, 0x77, 0x77, 0x87, 0x7c, 0xea, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x87, 0x89, 0x77, 0xef, 0xfd, 0x67, 0xa8, 0x77, 0x7e, 0xfb, 0x77, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x78, 0xdf, 0xba, 0xff, 0xfe, 0x8b, 0xfd, 0x87, 0x7d, 0xfa, 0x56, 0x87, 0x77, 0x88, 0x88, + 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x7d, 0xfa, 0x56, 0x77, 0x87, 0x77, 0x88, + 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc6, 0x7d, 0xfa, 0x56, 0x9c, 0xdc, 0x97, 0x78, + 0x87, 0x78, 0xef, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x65, 0x6d, 0xfa, 0x59, 0xff, 0xff, 0xfb, 0x77, + 0x88, 0x89, 0xef, 0xff, 0xa7, 0x7b, 0xff, 0xfd, 0x76, 0x5d, 0xf9, 0x7f, 0xff, 0xff, 0xff, 0x97, + 0x7a, 0xdf, 0xff, 0xfa, 0x55, 0x55, 0xcf, 0xff, 0xec, 0x9c, 0xf9, 0x9f, 0xff, 0xff, 0xff, 0xc6, + 0x7c, 0xff, 0xff, 0xf7, 0x55, 0x55, 0x8f, 0xff, 0xff, 0xac, 0xf9, 0xbf, 0xfd, 0x6c, 0xff, 0xe5, + 0x7c, 0xff, 0xff, 0xf7, 0x56, 0x77, 0xaf, 0xff, 0xff, 0x9b, 0xf9, 0xbf, 0xfe, 0x8d, 0xff, 0xe5, + 0x7a, 0xde, 0xff, 0xfb, 0x56, 0x77, 0xdf, 0xff, 0xed, 0x8c, 0xf9, 0x8f, 0xff, 0xff, 0xff, 0xb5, + 0x87, 0x67, 0xef, 0xff, 0xa8, 0x9c, 0xff, 0xfd, 0x76, 0x5d, 0xf9, 0x6d, 0xff, 0xff, 0xfe, 0x75, + 0x88, 0x66, 0xef, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x65, 0x5c, 0xfa, 0x57, 0xdf, 0xff, 0xd8, 0x55, + 0x87, 0x7d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc6, 0x6d, 0xfa, 0x55, 0x68, 0xa9, 0x65, 0x55, + 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc6, 0x7d, 0xfa, 0x56, 0x65, 0x55, 0x55, 0x56, + 0x88, 0x78, 0xdf, 0xa8, 0xff, 0xfe, 0x8a, 0xfc, 0x65, 0x6d, 0xfa, 0x56, 0x77, 0x65, 0x56, 0x67, + 0x88, 0x87, 0x78, 0x55, 0xef, 0xfd, 0x55, 0x86, 0x55, 0x5d, 0xfa, 0x56, 0x88, 0x77, 0x77, 0x88, + 0x88, 0x88, 0x65, 0x55, 0xbe, 0xea, 0x55, 0x55, 0x55, 0x6b, 0xd8, 0x56, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x77, 0x66, 0x76, 0x65, 0x56, 0x76, 0x68, 0xa9, 0x88, 0x88, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x77, 0x76, 0x55, 0x56, 0x87, 0x7b, 0xff, 0xff, 0xfb, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x66, 0x67, 0x88, 0x78, 0xef, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x78, 0x88, 0x87, 0xaf, 0xff, 0x95, 0x56, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7d, 0xfd, 0x65, 0x56, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xf8, 0x55, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x96, 0x55, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x65, 0x56, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x67, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88 +}; + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/images/heated_bed_64x64x4.cpp b/Marlin/src/lcd/tft/images/heated_bed_64x64x4.cpp new file mode 100644 index 000000000000..6bc96968dac4 --- /dev/null +++ b/Marlin/src/lcd/tft/images/heated_bed_64x64x4.cpp @@ -0,0 +1,161 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../inc/MarlinConfigPre.h" + +#if HAS_GRAPHICAL_TFT + +extern const uint8_t bed_64x64x4[2048] = { + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xae, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xea, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 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, 0x67, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 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, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 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, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 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, 0x56, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x89, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x56, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x75, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x56, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x57, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88 +}; + +extern const uint8_t bed_heated_64x64x4[2048] = { + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x78, 0x88, 0x88, 0x88, 0x77, 0x77, 0x88, 0x88, 0x88, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x9b, 0x97, 0x88, 0x88, 0x87, 0x8b, 0xa8, 0x78, 0x88, 0x87, 0x8b, 0xb8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xff, 0xf9, 0x78, 0x88, 0x78, 0xdf, 0xfb, 0x78, 0x88, 0x77, 0xcf, 0xfc, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xfd, 0x77, 0x88, 0x79, 0xff, 0xff, 0x87, 0x88, 0x78, 0xdf, 0xff, 0x97, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xff, 0xff, 0x86, 0x88, 0x78, 0xdf, 0xff, 0xb6, 0x88, 0x77, 0xcf, 0xff, 0xc6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xb6, 0x78, 0x87, 0x9f, 0xff, 0xd6, 0x78, 0x87, 0x8e, 0xff, 0xf7, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7d, 0xff, 0xe6, 0x68, 0x87, 0x7d, 0xff, 0xe7, 0x68, 0x88, 0x7a, 0xff, 0xf9, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7d, 0xff, 0xe5, 0x67, 0x87, 0x7b, 0xff, 0xf7, 0x57, 0x88, 0x79, 0xff, 0xfa, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xe6, 0x57, 0x87, 0x8c, 0xff, 0xf7, 0x57, 0x88, 0x7a, 0xff, 0xfa, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xd5, 0x57, 0x87, 0x8e, 0xff, 0xe6, 0x57, 0x88, 0x7c, 0xff, 0xf8, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xcf, 0xff, 0xa5, 0x57, 0x87, 0xaf, 0xff, 0xd5, 0x57, 0x87, 0x9f, 0xff, 0xe6, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xff, 0xff, 0x75, 0x57, 0x78, 0xef, 0xff, 0xa5, 0x57, 0x87, 0xcf, 0xff, 0xb5, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xfb, 0x55, 0x67, 0x7b, 0xff, 0xfe, 0x65, 0x57, 0x79, 0xff, 0xff, 0x85, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xf7, 0x55, 0x67, 0x8e, 0xff, 0xf8, 0x55, 0x67, 0x7d, 0xff, 0xfb, 0x55, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xcf, 0xff, 0xb5, 0x55, 0x77, 0x9f, 0xff, 0xd6, 0x55, 0x77, 0x8f, 0xff, 0xe7, 0x55, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xdf, 0xff, 0x75, 0x56, 0x87, 0xbf, 0xff, 0xa5, 0x56, 0x77, 0xaf, 0xff, 0xb5, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xef, 0xfd, 0x65, 0x67, 0x77, 0xcf, 0xff, 0x85, 0x57, 0x87, 0xbf, 0xff, 0x95, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xef, 0xfd, 0x55, 0x68, 0x77, 0xcf, 0xff, 0x75, 0x68, 0x87, 0xbf, 0xff, 0x95, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xdf, 0xff, 0x65, 0x78, 0x77, 0xbf, 0xff, 0x95, 0x68, 0x87, 0xaf, 0xff, 0xb5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xcf, 0xff, 0xb5, 0x78, 0x87, 0xaf, 0xff, 0xd6, 0x68, 0x87, 0x9f, 0xff, 0xe7, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xf8, 0x68, 0x87, 0x8e, 0xff, 0xf9, 0x68, 0x87, 0x7c, 0xff, 0xfc, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7b, 0xff, 0xfa, 0x58, 0x88, 0x7b, 0xff, 0xfc, 0x57, 0x88, 0x78, 0xff, 0xfe, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xdf, 0xd7, 0x57, 0x88, 0x87, 0xbf, 0xf8, 0x56, 0x88, 0x87, 0xaf, 0xfa, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x69, 0x75, 0x56, 0x88, 0x87, 0x68, 0x85, 0x56, 0x78, 0x87, 0x68, 0x85, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x65, 0x55, 0x57, 0x88, 0x88, 0x75, 0x55, 0x56, 0x88, 0x88, 0x75, 0x55, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x76, 0x55, 0x67, 0x77, 0x77, 0x76, 0x55, 0x67, 0x77, 0x77, 0x76, 0x55, 0x57, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x88, 0x88, 0x88, 0x88, 0x87, 0x88, 0x88, 0x88, 0x88, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xae, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xea, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 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, 0x67, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 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, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 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, 0x46, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xbf, 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, 0x56, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x89, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x56, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x75, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x56, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x57, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88 +}; + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/images/hotend_64x64x4.cpp b/Marlin/src/lcd/tft/images/hotend_64x64x4.cpp new file mode 100644 index 000000000000..7dbf5f0ab115 --- /dev/null +++ b/Marlin/src/lcd/tft/images/hotend_64x64x4.cpp @@ -0,0 +1,94 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../inc/MarlinConfigPre.h" + +#if HAS_GRAPHICAL_TFT + +extern const uint8_t hotend_64x64x4[2048] = { + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7a, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xa7, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa5, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x95, 0x67, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x8a, 0xaa, 0xaa, 0xad, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb8, 0x9a, 0xaa, 0x97, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x9e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb5, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x9e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb4, 0x68, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x9e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb4, 0x68, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x9e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb4, 0x68, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x9e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb4, 0x68, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x9e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb4, 0x68, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb4, 0x68, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x9e, 0xee, 0xee, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xee, 0xa5, 0x68, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x66, 0x9e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0x77, 0x65, 0x68, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x55, 0x55, 0x57, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe9, 0x55, 0x55, 0x55, 0x68, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x66, 0x66, 0x65, 0x6c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x75, 0x55, 0x55, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x65, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc6, 0x55, 0x56, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x58, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x55, 0x55, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x65, 0x7d, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x85, 0x55, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x56, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x55, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x59, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x55, 0x55, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x65, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x95, 0x55, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x56, 0xcf, 0xff, 0xff, 0xff, 0xd7, 0x55, 0x55, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x5a, 0xff, 0xff, 0xfb, 0x65, 0x55, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x65, 0x8d, 0xfe, 0xa5, 0x55, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x56, 0x87, 0x55, 0x55, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x55, 0x55, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x65, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88 +}; + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/images/increase_64x64x4.cpp b/Marlin/src/lcd/tft/images/increase_64x64x4.cpp new file mode 100644 index 000000000000..c6f34d1affc2 --- /dev/null +++ b/Marlin/src/lcd/tft/images/increase_64x64x4.cpp @@ -0,0 +1,94 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../inc/MarlinConfigPre.h" + +#if HAS_GRAPHICAL_TFT + +extern const uint8_t increase_64x64x4[2048] = { + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xb5, 0x67, 0x77, 0x77, 0x77, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7b, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcd, 0xff, 0xff, 0xff, 0xff, 0xdb, 0xbc, 0xcc, 0xcc, 0xcc, 0xcc, 0xc8, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x89, 0x99, 0x99, 0x99, 0x99, 0x99, 0x9b, 0xff, 0xff, 0xff, 0xff, 0xd9, 0x99, 0x99, 0x99, 0x99, 0x99, 0x96, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x66, 0x66, 0x66, 0x66, 0x66, 0x69, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x66, 0x66, 0x66, 0x66, 0x66, 0x69, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x67, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xee, 0xee, 0xee, 0xee, 0xa6, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x66, 0x66, 0x66, 0x66, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x66, 0x66, 0x66, 0x66, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x66, 0x66, 0x66, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88 +}; + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/images/left_32x32x4.cpp b/Marlin/src/lcd/tft/images/left_32x32x4.cpp new file mode 100644 index 000000000000..a855f0c19706 --- /dev/null +++ b/Marlin/src/lcd/tft/images/left_32x32x4.cpp @@ -0,0 +1,62 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../inc/MarlinConfigPre.h" + +#if HAS_GRAPHICAL_TFT + +extern const uint8_t left_32x32x4[512] = { + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xaf, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7a, 0xff, 0xf7, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xaf, 0xff, 0xff, 0x87, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7a, 0xff, 0xff, 0xfb, 0x46, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xaf, 0xff, 0xff, 0xa3, 0x34, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7a, 0xff, 0xff, 0xfb, 0x34, 0x47, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xaf, 0xff, 0xff, 0xb3, 0x44, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xff, 0xff, 0xfb, 0x34, 0x48, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x77, 0x9f, 0xff, 0xff, 0xa3, 0x44, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x79, 0xff, 0xff, 0xfa, 0x34, 0x48, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x77, 0xaf, 0xff, 0xff, 0xa3, 0x34, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x7a, 0xff, 0xff, 0xfa, 0x33, 0x47, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xf6, 0x34, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x76, 0xbf, 0xff, 0xff, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x3b, 0xff, 0xff, 0xf8, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x73, 0xcf, 0xff, 0xff, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x3c, 0xff, 0xff, 0xf8, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x83, 0xcf, 0xff, 0xff, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x3b, 0xff, 0xff, 0xf7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x74, 0xbf, 0xff, 0xff, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x4b, 0xff, 0xff, 0xf8, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x74, 0xbf, 0xff, 0xff, 0x87, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x4b, 0xff, 0xf9, 0x46, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x74, 0xcf, 0x93, 0x34, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x4b, 0x34, 0x47, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x73, 0x34, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x47, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88 +}; + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/images/leveling_32x32x4.cpp b/Marlin/src/lcd/tft/images/leveling_32x32x4.cpp new file mode 100644 index 000000000000..f0bb73e93523 --- /dev/null +++ b/Marlin/src/lcd/tft/images/leveling_32x32x4.cpp @@ -0,0 +1,62 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../inc/MarlinConfigPre.h" + +#if HAS_GRAPHICAL_TFT + +extern const uint8_t leveling_32x32x4[512] = { + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x89, 0x99, 0x99, 0x99, 0x99, 0x87, 0x78, 0x88, 0x77, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xe6, 0x88, 0x87, 0x7b, 0x77, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xc4, 0x88, 0x87, 0x8f, 0x97, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x77, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xd4, 0x88, 0x77, 0xef, 0xf5, 0x88, 0x88, 0x88, + 0x88, 0x87, 0x77, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xc5, 0x88, 0x7a, 0xff, 0xfc, 0x78, 0x88, 0x88, + 0x88, 0x87, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x97, 0x7a, 0x88, 0x88, 0x58, 0x88, 0x88, + 0x88, 0x87, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x66, 0x87, 0x45, 0x55, 0x57, 0x88, 0x88, + 0x88, 0x87, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x76, 0x88, 0x77, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x87, 0x85, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xc5, 0x56, 0x7c, 0xff, 0xfe, 0x67, 0x88, 0x88, + 0x88, 0x88, 0x86, 0x55, 0xef, 0xff, 0xff, 0xf9, 0x45, 0x57, 0x86, 0xff, 0xf5, 0x57, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x4c, 0xff, 0xff, 0x74, 0x57, 0x88, 0x87, 0x8f, 0xa4, 0x68, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x84, 0x9f, 0xd5, 0x45, 0x78, 0x88, 0x88, 0x7c, 0x55, 0x88, 0x88, 0x88, + 0x87, 0x77, 0x77, 0x77, 0x88, 0x65, 0x55, 0x68, 0x87, 0x77, 0x77, 0x86, 0x57, 0x87, 0x77, 0x78, + 0x77, 0x77, 0x77, 0x77, 0x77, 0x76, 0x56, 0x77, 0x77, 0x77, 0x77, 0x77, 0x67, 0x77, 0x77, 0x77, + 0x7b, 0xfe, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xef, 0xb7, + 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb6, + 0x7c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb5, + 0x78, 0x67, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x66, + 0x87, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x67, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88 +}; + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/images/menu_64x64x4.cpp b/Marlin/src/lcd/tft/images/menu_64x64x4.cpp new file mode 100644 index 000000000000..89cd56b8dc3e --- /dev/null +++ b/Marlin/src/lcd/tft/images/menu_64x64x4.cpp @@ -0,0 +1,94 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../inc/MarlinConfigPre.h" + +#if HAS_GRAPHICAL_TFT + +extern const uint8_t menu_64x64x4[2048] = { + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x79, 0xaa, 0x98, 0x88, 0x88, 0x88, 0x9a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x98, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x9e, 0xff, 0xfa, 0x78, 0x88, 0x8a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xaf, 0xff, 0xfb, 0x66, 0x88, 0x8b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xaf, 0xff, 0xfb, 0x66, 0x88, 0x8b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x9f, 0xff, 0xfa, 0x66, 0x88, 0x8a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x8a, 0xbb, 0xa7, 0x67, 0x88, 0x88, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xa6, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x66, 0x66, 0x67, 0x88, 0x88, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x66, 0x66, 0x67, 0x88, 0x88, 0x76, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x78, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x79, 0xaa, 0x98, 0x88, 0x88, 0x88, 0x9a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x98, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x9e, 0xff, 0xfa, 0x78, 0x88, 0x8a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xaf, 0xff, 0xfb, 0x66, 0x88, 0x8b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xaf, 0xff, 0xfb, 0x66, 0x88, 0x8b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x9f, 0xff, 0xfa, 0x66, 0x88, 0x8a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x8a, 0xbb, 0xa7, 0x67, 0x88, 0x88, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xa6, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x66, 0x66, 0x67, 0x88, 0x88, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x66, 0x66, 0x67, 0x88, 0x88, 0x76, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x78, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x79, 0xaa, 0x98, 0x88, 0x88, 0x88, 0x9a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x98, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x9e, 0xff, 0xfa, 0x78, 0x88, 0x8a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xaf, 0xff, 0xfb, 0x66, 0x88, 0x8b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xaf, 0xff, 0xfb, 0x66, 0x88, 0x8b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x9f, 0xff, 0xfa, 0x66, 0x88, 0x8a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x8a, 0xbb, 0xa7, 0x67, 0x88, 0x88, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xa6, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x66, 0x66, 0x67, 0x88, 0x88, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x66, 0x66, 0x67, 0x88, 0x88, 0x76, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x78, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x79, 0xaa, 0x98, 0x88, 0x88, 0x88, 0x9a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x98, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x9e, 0xff, 0xfa, 0x78, 0x88, 0x8a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xaf, 0xff, 0xfb, 0x66, 0x88, 0x8b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xaf, 0xff, 0xfb, 0x66, 0x88, 0x8b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x9f, 0xff, 0xfa, 0x66, 0x88, 0x8a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x8a, 0xbb, 0xa7, 0x67, 0x88, 0x88, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xa6, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x66, 0x66, 0x67, 0x88, 0x88, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x66, 0x66, 0x67, 0x88, 0x88, 0x76, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x78, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x79, 0xaa, 0x98, 0x88, 0x88, 0x88, 0x9a, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x98, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x9e, 0xff, 0xfa, 0x78, 0x88, 0x8a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xaf, 0xff, 0xfb, 0x66, 0x88, 0x8b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0xaf, 0xff, 0xfb, 0x66, 0x88, 0x8b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x9f, 0xff, 0xfa, 0x66, 0x88, 0x8a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x8a, 0xbb, 0xa7, 0x67, 0x88, 0x88, 0xab, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xa6, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x66, 0x66, 0x67, 0x88, 0x88, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x66, 0x66, 0x67, 0x88, 0x88, 0x76, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x78, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88 +}; + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/images/pause_64x64x4.cpp b/Marlin/src/lcd/tft/images/pause_64x64x4.cpp new file mode 100644 index 000000000000..b88651c1060c --- /dev/null +++ b/Marlin/src/lcd/tft/images/pause_64x64x4.cpp @@ -0,0 +1,94 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../inc/MarlinConfigPre.h" + +#if HAS_GRAPHICAL_TFT + +extern const uint8_t pause_64x64x4[2048] = { + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xd8, 0x78, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe8, 0x78, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x67, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xd7, 0x67, 0x88, 0x88, 0x87, 0x8d, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x76, 0x67, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x76, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x66, 0x66, 0x66, 0x66, 0x66, 0x67, 0x88, 0x88, 0x88, 0x87, 0x66, 0x66, 0x66, 0x66, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x66, 0x66, 0x66, 0x66, 0x66, 0x77, 0x88, 0x88, 0x88, 0x87, 0x76, 0x66, 0x66, 0x66, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88 +}; + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/images/refresh_32x32x4.cpp b/Marlin/src/lcd/tft/images/refresh_32x32x4.cpp new file mode 100644 index 000000000000..48ca294ca100 --- /dev/null +++ b/Marlin/src/lcd/tft/images/refresh_32x32x4.cpp @@ -0,0 +1,62 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../inc/MarlinConfigPre.h" + +#if HAS_GRAPHICAL_TFT + +extern const uint8_t refresh_32x32x4[512] = { + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xff, 0x57, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xaf, 0xff, 0x9a, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xff, 0xff, 0xff, 0xfe, 0x97, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xaf, 0xff, 0xce, 0xff, 0xfd, 0x77, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x77, 0x88, 0x6a, 0xff, 0x55, 0x5c, 0xff, 0xd7, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0xa7, 0x78, 0x86, 0x9f, 0x57, 0x75, 0x8f, 0xfb, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x78, 0xfc, 0x78, 0x88, 0x69, 0x67, 0x88, 0x69, 0xff, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x7c, 0xff, 0x58, 0x88, 0x87, 0x58, 0x88, 0x86, 0xff, 0xa7, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x7e, 0xfa, 0x58, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xe5, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x7f, 0xf8, 0x68, 0x88, 0x88, 0x88, 0x88, 0x87, 0xaf, 0xf5, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x7f, 0xf8, 0x68, 0x88, 0x88, 0x88, 0x88, 0x87, 0xaf, 0xf5, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x7e, 0xfa, 0x68, 0x88, 0x88, 0x88, 0x88, 0x87, 0xcf, 0xe5, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x7c, 0xff, 0x68, 0x88, 0x87, 0x78, 0x88, 0x77, 0xff, 0xa5, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x78, 0xff, 0xa7, 0x88, 0x78, 0xb7, 0x88, 0x77, 0xbf, 0x66, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0xbf, 0xf9, 0x77, 0x77, 0xfb, 0x78, 0x88, 0x68, 0x57, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x6d, 0xff, 0xd8, 0x77, 0xff, 0xb7, 0x78, 0x87, 0x68, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x85, 0xcf, 0xff, 0xfd, 0xff, 0xfb, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x57, 0xef, 0xff, 0xff, 0xff, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x55, 0x89, 0xff, 0xf8, 0x47, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x65, 0xff, 0x75, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0xf7, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0x75, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88 +}; + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/images/right_32x32x4.cpp b/Marlin/src/lcd/tft/images/right_32x32x4.cpp new file mode 100644 index 000000000000..6ca5867e98ad --- /dev/null +++ b/Marlin/src/lcd/tft/images/right_32x32x4.cpp @@ -0,0 +1,62 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../inc/MarlinConfigPre.h" + +#if HAS_GRAPHICAL_TFT + +extern const uint8_t right_32x32x4[512] = { + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x77, 0x8f, 0xa7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x78, 0xff, 0xf9, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x8f, 0xff, 0xff, 0x97, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x7b, 0xff, 0xff, 0xf9, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x84, 0xaf, 0xff, 0xff, 0x97, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x3a, 0xff, 0xff, 0xf9, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x83, 0xaf, 0xff, 0xff, 0x97, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x3a, 0xff, 0xff, 0xf9, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x83, 0xaf, 0xff, 0xff, 0x97, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x4a, 0xff, 0xff, 0xf9, 0x77, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x74, 0x9f, 0xff, 0xff, 0x97, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x49, 0xff, 0xff, 0xfa, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0xff, 0xff, 0xfc, 0x67, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x9f, 0xff, 0xff, 0xc4, 0x36, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x79, 0xff, 0xff, 0xfc, 0x33, 0x46, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x9f, 0xff, 0xff, 0xc3, 0x34, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x79, 0xff, 0xff, 0xfd, 0x33, 0x47, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8f, 0xff, 0xff, 0xd3, 0x44, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xff, 0xff, 0xfc, 0x34, 0x47, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x77, 0x8f, 0xff, 0xff, 0xc3, 0x44, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x78, 0xff, 0xff, 0xfc, 0x33, 0x47, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xc4, 0x34, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x8a, 0xff, 0xfc, 0x43, 0x47, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x84, 0x8f, 0xc4, 0x34, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x4a, 0x53, 0x47, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x84, 0x34, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x56, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88 +}; + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/images/sd_64x64x4.cpp b/Marlin/src/lcd/tft/images/sd_64x64x4.cpp new file mode 100644 index 000000000000..6991ff68c96e --- /dev/null +++ b/Marlin/src/lcd/tft/images/sd_64x64x4.cpp @@ -0,0 +1,94 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../inc/MarlinConfigPre.h" + +#if HAS_GRAPHICAL_TFT + +extern const uint8_t sd_64x64x4[2048] = { + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x66, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xed, 0xff, 0xfe, 0xdf, 0xff, 0xfd, 0xef, 0xff, 0xde, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0x85, 0xbf, 0xfa, 0x4b, 0xff, 0xa4, 0xaf, 0xfb, 0x59, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x84, 0xbf, 0xf9, 0x3a, 0xff, 0xa3, 0x9f, 0xfb, 0x48, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x84, 0xbf, 0xf9, 0x4b, 0xff, 0xa4, 0xaf, 0xfb, 0x49, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x84, 0xcf, 0xf9, 0x4b, 0xff, 0xa4, 0xaf, 0xfb, 0x49, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x84, 0xcf, 0xf9, 0x4b, 0xff, 0xa4, 0xaf, 0xfb, 0x49, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x84, 0xcf, 0xf9, 0x4b, 0xff, 0xa4, 0xaf, 0xfb, 0x49, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x84, 0xbf, 0xf9, 0x3a, 0xff, 0xa3, 0xaf, 0xfb, 0x39, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x96, 0xcf, 0xfa, 0x5b, 0xff, 0xb5, 0xbf, 0xfc, 0x5a, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xef, 0xff, 0xfe, 0xff, 0xff, 0xef, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x9e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x76, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x86, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x45, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88 +}; + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/images/settings_64x64x4.cpp b/Marlin/src/lcd/tft/images/settings_64x64x4.cpp new file mode 100644 index 000000000000..7a9c84fdffa2 --- /dev/null +++ b/Marlin/src/lcd/tft/images/settings_64x64x4.cpp @@ -0,0 +1,94 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../inc/MarlinConfigPre.h" + +#if HAS_GRAPHICAL_TFT + +extern const uint8_t settings_64x64x4[2048] = { + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xad, 0xdd, 0xdd, 0xd9, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0x88, 0x77, 0xef, 0xff, 0xff, 0xfb, 0x78, 0x88, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x87, 0x78, 0x79, 0xff, 0xff, 0xff, 0xfd, 0x67, 0x87, 0x78, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8d, 0xeb, 0x87, 0x7b, 0xff, 0xff, 0xff, 0xff, 0x75, 0x78, 0xce, 0xb7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xdf, 0xff, 0xea, 0xaf, 0xff, 0xff, 0xff, 0xff, 0xd8, 0xbf, 0xff, 0xfb, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xeb, 0x98, 0x8a, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7e, 0xff, 0xff, 0xff, 0xfb, 0x65, 0x55, 0x55, 0x57, 0xdf, 0xff, 0xff, 0xff, 0xb5, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x6c, 0xff, 0xff, 0xff, 0x95, 0x56, 0x66, 0x66, 0x65, 0x5b, 0xff, 0xff, 0xff, 0x95, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x78, 0xaf, 0xff, 0xff, 0xfa, 0x56, 0x66, 0x67, 0x77, 0x77, 0x65, 0xdf, 0xff, 0xff, 0xd7, 0x67, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x89, 0xce, 0xff, 0xff, 0xff, 0xd5, 0x56, 0x67, 0x88, 0x88, 0x88, 0x86, 0x7f, 0xff, 0xff, 0xff, 0xdb, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8f, 0xff, 0xff, 0xff, 0xff, 0x95, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x6c, 0xff, 0xff, 0xff, 0xff, 0xd7, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xfe, 0x75, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xe6, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xfd, 0x65, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xff, 0xff, 0xff, 0xff, 0xd5, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xfd, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xff, 0xff, 0xff, 0xff, 0xd5, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xfe, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0xff, 0xff, 0xff, 0xff, 0xd5, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0x75, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xe5, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8c, 0xef, 0xff, 0xff, 0xff, 0xa5, 0x78, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7e, 0xff, 0xff, 0xff, 0xfe, 0xa5, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x66, 0x79, 0xcf, 0xff, 0xe7, 0x68, 0x88, 0x88, 0x88, 0x88, 0x77, 0xaf, 0xff, 0xff, 0xfc, 0x96, 0x56, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x55, 0x55, 0x58, 0xdf, 0xfd, 0x77, 0x78, 0x88, 0x88, 0x87, 0x79, 0xff, 0xff, 0xff, 0xa5, 0x56, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x9c, 0xdd, 0xdb, 0x96, 0x55, 0x5b, 0xff, 0xd8, 0x77, 0x77, 0x77, 0x77, 0xaf, 0xff, 0xff, 0xff, 0x95, 0x66, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xad, 0xff, 0xff, 0xff, 0xfe, 0xb7, 0x55, 0xbf, 0xfe, 0xb9, 0x77, 0x78, 0x9c, 0xff, 0xff, 0xff, 0xff, 0xe6, 0x67, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x9e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x86, 0x6d, 0xff, 0xff, 0xed, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd8, 0x69, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7a, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x77, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x66, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0xb7, 0x56, 0xaf, 0xff, 0xff, 0xff, 0xff, 0x86, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x77, 0xaf, 0xff, 0xc6, 0x5d, 0xff, 0xff, 0xff, 0xff, 0xc6, 0x8c, 0xef, 0xff, 0xff, 0xff, 0xfd, 0xef, 0xff, 0xfe, 0x75, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x7a, 0xff, 0xff, 0xfc, 0x59, 0xff, 0xff, 0xff, 0xff, 0xf7, 0x66, 0x68, 0xbd, 0xff, 0xff, 0xa5, 0x7b, 0xff, 0xe7, 0x56, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x7b, 0xff, 0xff, 0xfd, 0x66, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x66, 0x55, 0x56, 0x8a, 0xee, 0x65, 0x55, 0x7a, 0x75, 0x66, 0x68, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x79, 0xff, 0xff, 0xff, 0x75, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xdb, 0x97, 0x55, 0x55, 0x66, 0x66, 0x66, 0x55, 0x56, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x78, 0xff, 0xff, 0xfe, 0x65, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xca, 0x76, 0x55, 0x56, 0x78, 0x76, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x79, 0x97, 0x9d, 0xff, 0xd5, 0x6b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x97, 0x66, 0x77, 0x88, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x7b, 0xfd, 0xa7, 0x9a, 0x68, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xda, 0x97, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x79, 0xff, 0xff, 0xc9, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xb8, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x77, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdb, 0x98, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xba, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xea, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x76, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x89, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x59, 0xef, 0xff, 0xff, 0xff, 0xff, 0xb6, 0x55, 0x57, 0x9b, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x96, 0x87, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x6a, 0xdf, 0xff, 0xfe, 0xb8, 0x55, 0x66, 0x65, 0x55, 0x69, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x85, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x55, 0x67, 0x77, 0x76, 0x55, 0x66, 0x67, 0x76, 0x66, 0x55, 0x56, 0x7b, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x65, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x55, 0x55, 0x55, 0x66, 0x66, 0x78, 0x88, 0x87, 0x76, 0x65, 0x55, 0x68, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x55, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x88, 0x76, 0x66, 0x66, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x77, 0x66, 0x55, 0x55, 0x8a, 0xdf, 0xff, 0xff, 0xff, 0xf8, 0x56, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x76, 0x65, 0x55, 0x67, 0x9c, 0xef, 0xff, 0xb5, 0x66, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x76, 0x55, 0x55, 0x79, 0xb9, 0x56, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x76, 0x66, 0x55, 0x55, 0x66, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x76, 0x56, 0x66, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88 +}; + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/images/slider_8x16x4.cpp b/Marlin/src/lcd/tft/images/slider_8x16x4.cpp new file mode 100644 index 000000000000..9fb8c42c2878 --- /dev/null +++ b/Marlin/src/lcd/tft/images/slider_8x16x4.cpp @@ -0,0 +1,46 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../inc/MarlinConfigPre.h" + +#if HAS_GRAPHICAL_TFT + +extern const uint8_t slider_8x16x4[64] = { + 0x88, 0xff, 0xff, 0x88, + 0x8f, 0xff, 0xff, 0xf8, + 0x8f, 0xff, 0xff, 0xf8, + 0x8f, 0xff, 0xff, 0xf8, + 0x8f, 0xff, 0xff, 0xf8, + 0x8f, 0xff, 0xff, 0xf8, + 0x8f, 0xff, 0xff, 0xf8, + 0x8f, 0xff, 0xff, 0xf8, + 0x8f, 0xff, 0xff, 0xf8, + 0x8f, 0xff, 0xff, 0xf8, + 0x8f, 0xff, 0xff, 0xf8, + 0x8f, 0xff, 0xff, 0xf8, + 0x8f, 0xff, 0xff, 0xf8, + 0x8f, 0xff, 0xff, 0xf8, + 0x8f, 0xff, 0xff, 0xf8, + 0x88, 0xff, 0xff, 0x88, +}; + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/images/up_32x32x4.cpp b/Marlin/src/lcd/tft/images/up_32x32x4.cpp new file mode 100644 index 000000000000..59bae8aef0a4 --- /dev/null +++ b/Marlin/src/lcd/tft/images/up_32x32x4.cpp @@ -0,0 +1,62 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../../inc/MarlinConfigPre.h" + +#if HAS_GRAPHICAL_TFT + +extern const uint8_t up_32x32x4[512] = { + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x78, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xad, 0x67, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7a, 0xff, 0xb3, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x9f, 0xff, 0xfb, 0x38, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x87, 0x79, 0xff, 0xff, 0xff, 0xc3, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x77, 0x9f, 0xff, 0xff, 0xff, 0xfc, 0x38, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0x7a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x77, 0xaf, 0xff, 0xff, 0xa6, 0xff, 0xff, 0xfb, 0x47, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x7a, 0xff, 0xff, 0xfa, 0x33, 0x6f, 0xff, 0xff, 0xb4, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x77, 0xaf, 0xff, 0xff, 0xa3, 0x34, 0x78, 0xff, 0xff, 0xfb, 0x47, 0x88, 0x88, 0x88, + 0x88, 0x87, 0x7a, 0xff, 0xff, 0xfa, 0x33, 0x47, 0x87, 0x8f, 0xff, 0xff, 0xb4, 0x78, 0x88, 0x88, + 0x88, 0x77, 0xaf, 0xff, 0xff, 0xb3, 0x44, 0x78, 0x87, 0x78, 0xff, 0xff, 0xfb, 0x47, 0x88, 0x88, + 0x88, 0x7a, 0xff, 0xff, 0xfb, 0x34, 0x47, 0x88, 0x88, 0x87, 0x7f, 0xff, 0xff, 0xc4, 0x78, 0x88, + 0x88, 0x7f, 0xff, 0xff, 0xb3, 0x44, 0x88, 0x88, 0x88, 0x88, 0x77, 0xff, 0xff, 0xfb, 0x37, 0x88, + 0x88, 0x78, 0xff, 0xfa, 0x34, 0x48, 0x88, 0x88, 0x88, 0x88, 0x87, 0x8f, 0xff, 0x93, 0x34, 0x88, + 0x88, 0x77, 0x7f, 0xb3, 0x44, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xf9, 0x34, 0x47, 0x88, + 0x88, 0x87, 0x78, 0x43, 0x47, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x84, 0x34, 0x88, 0x88, + 0x88, 0x88, 0x87, 0x64, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x47, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88 +}; + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/r65105.h b/Marlin/src/lcd/tft/r65105.h new file mode 100644 index 000000000000..8d073f5d0d1c --- /dev/null +++ b/Marlin/src/lcd/tft/r65105.h @@ -0,0 +1,155 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#include "tft.h" + +#include "../../inc/MarlinConfig.h" + +#define R61505_DRVCTL_SM 0x0400 +#define R61505_DRVCTL_SS 0x0100 // Select the shift direction of outputs from the source driver. 0 - from S1 to S720 / 1 - from S720 to S1 + +#define R61505_ETMOD_TRIGGER 0x8000 // 18-bit RAM when set; 16-bit RAM when not set +#define R61505_ETMOD_DFM 0x4000 +#define R61505_ETMOD_BGR 0x1000 // RGB-BGR ORDER +#define R61505_ETMOD_RGB 0x0000 + +#define R61505_ETMOD_HWM 0x0020 +#define R61505_ETMOD_ORG 0x0080 +#define R61505_ETMOD_ID1 0x0020 // 0 - Vertical Decrement / 1 - Vertical Increment +#define R61505_ETMOD_ID0 0x0010 // 0 - Horizontal Decrement / 1 - Horizontal Increment +#define R61505_ETMOD_AM 0x0008 // 0 - Horizontal / 1 - Vertical + +#define R61505_DRVCTRL_GS 0x8000 // Gate Scan direction + +// MKS Robin TFT v1.1 - 320x240 ; Cable on the left side +#define R61505_DRVCTL_DATA R61505_DRVCTL_SS +#define R61505_ETMOD_DATA R61505_ETMOD_BGR | R61505_ETMOD_ID1 | R61505_ETMOD_ID0 | R61505_ETMOD_AM +#define R61505_DRVCTRL_GSDIR R61505_DRVCTRL_GS + + +#define R61505_RDDID 0x00 // ID code - 0x1505 +#define R61505_DRVCTL 0x01 // Driver Output Control +#define R61505_LCDCTL 0x02 // LCD Driving Wave Control +#define R61505_ETMOD 0x03 // Entry Mode - Control the GRAM update direction +#define R61505_RESIZECTL 0x04 // Resizing Control Register +#define R61505_DISCTRL1 0x07 // Display Control 1 +#define R61505_DISCTRL2 0x08 // Display Control 2 +#define R61505_DISCTRL3 0x09 // Display Control 3 +#define R61505_DISCTRL4 0x0A // Display Control 4 +#define R61505_RGBCTRL1 0x0C // RGB Display Interface Control 1 +#define R61505_FMARKERPOS 0x0D // Frame Marker Position +#define R61505_RGBCTRL2 0x0F // RGB Display Interface Control 2 +#define R61505_PWCTRL1 0x10 // Power Control 1 +#define R61505_PWCTRL2 0x11 // Power Control 2 +#define R61505_PWCTRL3 0x12 // Power Control 3 +#define R61505_PWCTRL4 0x13 // Power Control 4 + +// With landscape screen orientation 'Horizontal' is Y and 'Vertical' is X +#define R61505_HASET 0x20 // GRAM Horizontal Address Set (0-255) +#define R61505_VASET 0x21 // GRAM Vertical Address Set (0-511) +#define R61505_RAMWR 0x22 // Write data to GRAM +#define R61505_RAMRD 0x22 // Read Data from GRAM + +#define R61505_PWCTRL7 0x29 // Power Control 7 +#define R61505_GAMCTRL1 0x30 // Gamma Control +#define R61505_GAMCTRL2 0x31 // Gamma Control +#define R61505_GAMCTRL3 0x32 // Gamma Control +#define R61505_GAMCTRL4 0x35 // Gamma Control +#define R61505_GAMCTRL5 0x36 // Gamma Control +#define R61505_GAMCTRL6 0x37 // Gamma Control +#define R61505_GAMCTRL7 0x38 // Gamma Control +#define R61505_GAMCTRL8 0x39 // Gamma Control +#define R61505_GAMCTRL9 0x3C // Gamma Control +#define R61505_GAMCTRLA 0x3D // Gamma Control + +// With landscape screen orientation 'Horizontal' is Y and 'Vertical' is X +#define R61505_HASTART 0x50 // Horizontal Address Start Position (0-255) +#define R61505_HAEND 0x51 // Horizontal Address End Position (0-255) +#define R61505_VASTART 0x52 // Vertical Address Start Position (0-511) +#define R61505_VAEND 0x53 // Vertical Address End Position (0-511) + +#define R61505_DRVCTRL 0x60 // Driver Output Control +#define R61505_BASE_IMAGE_CTRL 0x61 // Base Image Display Control +#define R61505_VSCROLL_CTRL 0x6A // Vertical Scroll Control + +#define R61505_PLTPOS1 0x80 // Partial Image 1 Display Position +#define R61505_PLTSTART1 0x81 // Partial Image 1 RAM Start Address +#define R61505_PLTEND1 0x82 // Partial Image 1 RAM End Address +#define R61505_PLTPOS2 0x83 // Partial Image 2 Display Position +#define R61505_PLTSTART2 0x84 // Partial Image 2 RAM Start Address +#define R61505_PLTEND2 0x85 // Partial Image 2 RAM End Address + +#define R61505_IFCTL1 0x90 // Panel Interface Control 1 +#define R61505_IFCTL2 0x92 // Panel Interface Control 2 +#define R61505_IFCTL3 0x93 // Panel Interface Control 3 +#define R61505_IFCTL4 0x95 // Panel Interface Control 4 +#define R61505_IFCTL5 0x97 // Panel Interface Control 5 +#define R61505_IFCTL6 0x98 // Panel Interface Control 6 + +#define R61505_OSC_CTRL 0xA4 // Oscillation Control + + +static const uint16_t r61505_init[] = { + DATASIZE_16BIT, + ESC_REG(R61505_DRVCTL), R61505_DRVCTL_DATA, + ESC_REG(R61505_LCDCTL), 0x0700, // LCD Driving Wave Control + ESC_REG(R61505_ETMOD), R61505_ETMOD_DATA, + + ESC_REG(R61505_RESIZECTL), 0x0000, + ESC_REG(R61505_DISCTRL1), 0x0173, + ESC_REG(R61505_DISCTRL2), 0x0202, + ESC_REG(R61505_DISCTRL3), 0x0000, + ESC_REG(R61505_DISCTRL4), 0x0000, + ESC_REG(R61505_RGBCTRL1), 0x0000, + ESC_REG(R61505_FMARKERPOS), 0x0000, + ESC_REG(R61505_RGBCTRL2), 0x0000, + + ESC_REG(R61505_PWCTRL1), 0x17B0, + ESC_REG(R61505_PWCTRL2), 0x0037, + ESC_REG(R61505_PWCTRL3), 0x0138, + ESC_REG(R61505_PWCTRL4), 0x1700, + ESC_REG(R61505_PWCTRL7), 0x000D, + + ESC_REG(R61505_GAMCTRL1), 0x0001, + ESC_REG(R61505_GAMCTRL2), 0x0606, + ESC_REG(R61505_GAMCTRL3), 0x0304, + ESC_REG(R61505_GAMCTRL4), 0x0103, + ESC_REG(R61505_GAMCTRL5), 0x011D, + ESC_REG(R61505_GAMCTRL6), 0x0404, + ESC_REG(R61505_GAMCTRL7), 0x0404, + ESC_REG(R61505_GAMCTRL8), 0x0404, + ESC_REG(R61505_GAMCTRL9), 0x0700, + ESC_REG(R61505_GAMCTRLA), 0x0A1F, + + ESC_REG(R61505_DRVCTRL), R61505_DRVCTRL_GSDIR | 0x2700, + ESC_REG(R61505_BASE_IMAGE_CTRL), 0x0001, + ESC_REG(R61505_VSCROLL_CTRL), 0x0000, + + ESC_REG(R61505_IFCTL1), 0x0010, + ESC_REG(R61505_IFCTL2), 0x0000, + ESC_REG(R61505_IFCTL3), 0x0003, + ESC_REG(R61505_IFCTL4), 0x0101, + ESC_REG(R61505_IFCTL5), 0x0000, + ESC_REG(R61505_IFCTL6), 0x0000, + ESC_END +}; diff --git a/Marlin/src/lcd/tft/st7735.h b/Marlin/src/lcd/tft/st7735.h new file mode 100644 index 000000000000..30e77fbd91ab --- /dev/null +++ b/Marlin/src/lcd/tft/st7735.h @@ -0,0 +1,128 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#include "tft.h" + +#include "../../inc/MarlinConfig.h" + +#define ST7735_MADCTL_MY 0x80 // Row Address Order +#define ST7735_MADCTL_MX 0x40 // Column Address Order +#define ST7735_MADCTL_MV 0x20 // Row/Column Exchange +#define ST7735_MADCTL_ML 0x10 // Vertical Refresh Order +#define ST7735_MADCTL_BGR 0x08 // RGB-BGR ORDER +#define ST7735_MADCTL_RGB 0x00 +#define ST7735_MADCTL_MH 0x04 // Horizontal Refresh Order + +#define ST7735_ORIENTATION_UP 0x00 // 128x160 ; Cable on the upper side +#define ST7735_ORIENTATION_RIGHT ST7735_MADCTL_MV | ST7735_MADCTL_MY // 160x128 ; Cable on the right side +#define ST7735_ORIENTATION_LEFT ST7735_MADCTL_MV | ST7735_MADCTL_MX // 160x128 ; Cable on the left side +#define ST7735_ORIENTATION_DOWN ST7735_MADCTL_MX | ST7735_MADCTL_MY // 128x160 ; Cable on the lower side + +//#define ST7735_COLOR_BGR +#define ST7735_ORIENTATION ST7735_ORIENTATION_DOWN +#define ST7735_MADCTL_DATA (ST7735_ORIENTATION | TERN(ST7735_COLOR_BGR, ST7735_MADCTL_BGR, ST7735_MADCTL_RGB)) + +#define ST7735_NOP 0x00 // No Operation +#define ST7735_SWRESET 0x01 // Software reset +#define ST7735_RDDID 0x04 // Read Display ID +#define ST7735_RDDST 0x09 // Read Display Status +#define ST7735_RDDPM 0x0A // Read Display Power Mode +#define ST7735_RDDMADCTL 0x0B // Read Display MADCTL +#define ST7735_RDDCOLMOD 0x0C // Read Display Pixel Format +#define ST7735_RDDIM 0x0D // Read Display Image Mode +#define ST7735_RDDSM 0x0E // Read Display Signal Mode +#define ST7735_SLPIN 0x10 // Sleep In +#define ST7735_SLPOUT 0x11 // Sleep Out +#define ST7735_PTLON 0x12 // Partial Display Mode On +#define ST7735_NORON 0x13 // Normal Display Mode On +#define ST7735_INVOFF 0x20 // Display Inversion Off +#define ST7735_INVON 0x21 // Display Inversion On +#define ST7735_GAMSET 0x26 // Gamma Set +#define ST7735_DISPOFF 0x28 // Display Off // The delay time between DISPON and DISPOFF needs 120ms at least. +#define ST7735_DISPON 0x29 // Display On +#define ST7735_CASET 0x2A // Column Address Set +#define ST7735_RASET 0x2B // Row Address Set +#define ST7735_RAMWR 0x2C // Memory Write +#define ST7735_RAMRD 0x2E // Memory Read +#define ST7735_PTLAR 0x30 // Partial Area +#define ST7735_TEOFF 0x34 // Tearing Effect Line OFF +#define ST7735_TEON 0x35 // Tearing Effect Line ON +#define ST7735_MADCTL 0x36 // Memory Data Access Control +#define ST7735_IDMOFF 0x38 // Idle Mode Off +#define ST7735_IDMON 0x39 // Idle Mode On +#define ST7735_COLMOD 0x3A // Interface Pixel Format +#define ST7735_RDID1 0xDA // Read ID1 Value +#define ST7735_RDID2 0xDB // Read ID2 Value +#define ST7735_RDID3 0xDC // Read ID3 Value + +#define ST7735_FRMCTR1 0xB1 // Frame Rate Control (In normal mode/ Full colors) +#define ST7735_FRMCTR2 0xB2 // Frame Rate Control (In Idle mode/ 8-colors) +#define ST7735_FRMCTR3 0xB3 // Frame Rate Control (In Partial mode/ full colors) +#define ST7735_INVCTR 0xB4 // Display Inversion Control +#define ST7735_DISSET5 0xB6 // Display Function set 5 +#define ST7735_PWCTR1 0xC0 // Power Control 1 +#define ST7735_PWCTR2 0xC1 // Power Control 2 +#define ST7735_PWCTR3 0xC2 // Power Control 3 (in Normal mode/ Full colors) +#define ST7735_PWCTR4 0xC3 // Power Control 4 (in Idle mode/ 8-colors) +#define ST7735_PWCTR5 0xC4 // Power Control 5 (in Partial mode/ full-colors) +#define ST7735_VMCTR1 0xC5 // VCOM Control 1 +#define ST7735_VMOFCTR 0xC7 // VCOM Offset Control +#define ST7735_WRID2 0xD1 // Write ID2 Value +#define ST7735_WRID3 0xD2 // Write ID3 Value +#define ST7735_PWCTR6 0xFC // Power Control 5 (in Partial mode + Idle mode) +#define ST7735_NVFCTR1 0xD9 // EEPROM Control Status +#define ST7735_NVFCTR2 0xDE // EEPROM Read Command +#define ST7735_NVFCTR3 0xDF // EEPROM Write Command +#define ST7735_GMCTRP1 0xE0 // Gamma (‘+’polarity) Correction Characteristics Setting +#define ST7735_GMCTRN1 0xE1 // GMCTRN1 (E1h): Gamma ‘-’polarity Correction Characteristics Setting +#define ST7735_EXTCTRL 0xF0 // Extension Command Control +#define ST7735_VCOM4L 0xFF // Vcom 4 Level Control + +static const uint16_t st7735_init[] = { + DATASIZE_8BIT, + ESC_REG(ST7735_SWRESET), ESC_DELAY(100), + ESC_REG(ST7735_SLPOUT), ESC_DELAY(20), +/* + ESC_REG(ST7735_FRMCTR1), 0x0001, 0x002C, 0x002D, + ESC_REG(ST7735_FRMCTR2), 0x0001, 0x002C, 0x002D, + ESC_REG(ST7735_FRMCTR3), 0x0001, 0x002C, 0x002D, 0x0001, 0x002C, 0x002D, + ESC_REG(ST7735_INVCTR), 0x0007, + ESC_REG(ST7735_PWCTR1), 0x00A2, 0x0002, 0x0084, + ESC_REG(ST7735_PWCTR2), 0x00C5, + ESC_REG(ST7735_PWCTR3), 0x000A, 0x0000, + ESC_REG(ST7735_PWCTR4), 0x008A, 0x002A, + ESC_REG(ST7735_PWCTR5), 0x008A, 0x00EE, + ESC_REG(ST7735_VMCTR1), 0x000E, + ESC_REG(ST7735_INVOFF), +*/ + ESC_REG(ST7735_MADCTL), ST7735_MADCTL_DATA, + ESC_REG(ST7735_COLMOD), 0x0005, + + /* Gamma Correction. Colors with 'after-reset' settings are bleak */ + ESC_REG(ST7735_GMCTRP1), 0x0002, 0x001C, 0x0007, 0x0012, 0x0037, 0x0032, 0x0029, 0x002D, 0x0029, 0x0025, 0x002B, 0x0039, 0x0000, 0x0001, 0x0003, 0x0010, + ESC_REG(ST7735_GMCTRN1), 0x0003, 0x001D, 0x0007, 0x0006, 0x002E, 0x002C, 0x0029, 0x002D, 0x002E, 0x002E, 0x0037, 0x003F, 0x0000, 0x0000, 0x0002, 0x0010, + + ESC_REG(ST7735_NORON), + ESC_REG(ST7735_DISPON), + ESC_END +}; diff --git a/Marlin/src/lcd/tft/st7789v.h b/Marlin/src/lcd/tft/st7789v.h new file mode 100644 index 000000000000..f6e937c2c2b3 --- /dev/null +++ b/Marlin/src/lcd/tft/st7789v.h @@ -0,0 +1,150 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#include "tft.h" + +#include "../../inc/MarlinConfig.h" + +#define ST7789V_MADCTL_MY 0x80 // Row Address Order +#define ST7789V_MADCTL_MX 0x40 // Column Address Order +#define ST7789V_MADCTL_MV 0x20 // Row/Column Exchange +#define ST7789V_MADCTL_ML 0x10 // Vertical Refresh Order +#define ST7789V_MADCTL_BGR 0x08 // RGB-BGR ORDER +#define ST7789V_MADCTL_RGB 0x00 +#define ST7789V_MADCTL_MH 0x04 // Horizontal Refresh Order + +#define ST7789V_ORIENTATION_UP ST7789V_MADCTL_MX | ST7789V_MADCTL_MY // 240x320 ; Cable on the upper side +#define ST7789V_ORIENTATION_RIGHT ST7789V_MADCTL_MX | ST7789V_MADCTL_MV // 320x240 ; Cable on the right side +#define ST7789V_ORIENTATION_LEFT ST7789V_MADCTL_MY | ST7789V_MADCTL_MV // 320x240 ; Cable on the left side +#define ST7789V_ORIENTATION_DOWN 0 // 240x320 ; Cable on the lower side + +//#define ST7789V_COLOR_BGR +#ifndef ST7789V_ORIENTATION + #define ST7789V_ORIENTATION ST7789V_ORIENTATION_LEFT +#endif +#define ST7789V_MADCTL_DATA (ST7789V_ORIENTATION | TERN(ST7789V_COLOR_BGR, ST7789V_MADCTL_BGR, ST7789V_MADCTL_RGB)) + +#define ST7789V_NOP 0x00 // No Operation +#define ST7789V_SWRESET 0x01 // Software reset +#define ST7789V_RDDID 0x04 // Read Display ID +#define ST7789V_RDDST 0x09 // Read Display Status +#define ST7789V_RDDPM 0x0A // Read Display Power Mode +#define ST7789V_RDDMADCTL 0x0B // Read Display MADCTL +#define ST7789V_RDDCOLMOD 0x0C // Read Display Pixel Format +#define ST7789V_RDDIM 0x0D // Read Display Image Mode +#define ST7789V_RDDSM 0x0E // Read Display Signal Mode +#define ST7789V_RDDSDR 0x0F // Read Display Self-Diagnostic Result +#define ST7789V_SLPIN 0x10 // Sleep In +#define ST7789V_SLPOUT 0x11 // Sleep Out +#define ST7789V_PTLON 0x12 // Partial Display Mode On +#define ST7789V_NORON 0x13 // Normal Display Mode On +#define ST7789V_INVOFF 0x20 // Display Inversion Off +#define ST7789V_INVON 0x21 // Display Inversion On +#define ST7789V_GAMSET 0x26 // Gamma Set +#define ST7789V_DISPOFF 0x28 // Display Off +#define ST7789V_DISPON 0x29 // Display On +#define ST7789V_CASET 0x2A // Column Address Set +#define ST7789V_RASET 0x2B // Row Address Set +#define ST7789V_RAMWR 0x2C // Memory Write +#define ST7789V_RAMRD 0x2E // Memory Read +#define ST7789V_PTLAR 0x30 // Partial Area +#define ST7789V_VSCRDEF 0x33 // Vertical Scrolling Definition +#define ST7789V_TEOFF 0x34 // Tearing Effect Line OFF +#define ST7789V_TEON 0x35 // Tearing Effect Line ON +#define ST7789V_MADCTL 0x36 // Memory Data Access Control +#define ST7789V_VSCSAD 0x37 // Vertical Scroll Start Address of RAM +#define ST7789V_IDMOFF 0x38 // Idle Mode Off +#define ST7789V_IDMON 0x39 // Idle Mode On +#define ST7789V_COLMOD 0x3A // Interface Pixel Format +#define ST7789V_WRMEMC 0x3C // Write Memory Continue +#define ST7789V_RDMEMC 0x3E // Read Memory Continue +#define ST7789V_STE 0x44 // Set Tear Scanline +#define ST7789V_GSCAN 0x45 // Get Scanline +#define ST7789V_WRDISBV 0x51 // Write Display Brightness +#define ST7789V_RDDISBV 0x52 // Read Display Brightness +#define ST7789V_WRCTRLD 0x53 // Write CTRL Display +#define ST7789V_RDCTRLD 0x54 // Read CTRL Value Display +#define ST7789V_WRCACE 0x55 // Write Content Adaptive Brightness Control and Color Enhancement +#define ST7789V_RDCABC 0x56 // Read Content Adaptive Brightness Control +#define ST7789V_WRCABCMB 0x5E // Write CABC Minimum Brightness +#define ST7789V_RDCABCMB 0x5F // Read CABC Minimum Brightness +#define ST7789V_RDABCSDR 0x68 // Read Automatic Brightness Control Self-Diagnostic Result +#define ST7789V_RDID1 0xDA // Read ID1 Value +#define ST7789V_RDID2 0xDB // Read ID2 Value +#define ST7789V_RDID3 0xDC // Read ID3 Value + +#define ST7789V_RAMCTRL 0xB0 // RAM Control +#define ST7789V_RGBCTRL 0xB1 // RGB Interface Control +#define ST7789V_PORCTRL 0xB2 // Porch Setting +#define ST7789V_FRCTRL1 0xB3 // Frame Rate Control 1 (In partial mode/ idle colors) +#define ST7789V_GCTRL 0xB7 // Gate Control +#define ST7789V_DGMEN 0xBA // Digital Gamma Enable +#define ST7789V_VCOMS 0xBB // VCOM Setting +#define ST7789V_LCMCTRL 0xC0 // LCM Control +#define ST7789V_IDSET 0xC1 // ID Code Setting +#define ST7789V_VDVVRHEN 0xC2 // VDV and VRH Command Enable +#define ST7789V_VRHS 0xC3 // VRH Set +#define ST7789V_VDVS 0xC4 // VDV Set +#define ST7789V_VCMOFSET 0xC5 // VCOM Offset Set +#define ST7789V_FRCTRL2 0xC6 // Frame Rate Control in Normal Mode +#define ST7789V_CABCCTRL 0xC7 // CABC Control +#define ST7789V_REGSEL1 0xC8 // Register Value Selection 1 +#define ST7789V_REGSEL2 0xCA // Register Value Selection 2 +#define ST7789V_PWMFRSEL 0xCC // PWM Frequency Selection +#define ST7789V_PWCTRL1 0xD0 // Power Control 1 +#define ST7789V_VAPVANEN 0xD2 // Enable VAP/VAN signal output +#define ST7789V_CMD2EN 0xDF // Command 2 Enable +#define ST7789V_PVGAMCTRL 0xE0 // Positive Voltage Gamma Control +#define ST7789V_NVGAMCTRL 0xE1 // Negative Voltage Gamma Control +#define ST7789V_DGMLUTR 0xE2 // Digital Gamma Look-up Table for Red +#define ST7789V_DGMLUTB 0xE3 // Digital Gamma Look-up Table for Blue +#define ST7789V_GATECTRL 0xE4 // Gate Control +#define ST7789V_SPI2EN 0xE7 // SPI2 Enable +#define ST7789V_PWCTRL2 0xE8 // Power Control 2 +#define ST7789V_EQCTRL 0xE9 // Equalize time control +#define ST7789V_PROMCTRL 0xEC // Program Mode Control +#define ST7789V_PROMEN 0xFA // Program Mode Enable +#define ST7789V_NVMSET 0xFC // NVM Setting +#define ST7789V_PROMACT 0xFE // Program action + +static const uint16_t st7789v_init[] = { + DATASIZE_8BIT, + ESC_REG(ST7789V_SWRESET), ESC_DELAY(100), + ESC_REG(ST7789V_SLPOUT), ESC_DELAY(20), + + ESC_REG(ST7789V_PORCTRL), 0x000C, 0x000C, 0x0000, 0x0033, 0x0033, + ESC_REG(ST7789V_GCTRL), 0x0035, + ESC_REG(ST7789V_VCOMS), 0x001F, + ESC_REG(ST7789V_LCMCTRL), 0x002C, + ESC_REG(ST7789V_VDVVRHEN), 0x0001, 0x00C3, + ESC_REG(ST7789V_VDVS), 0x0020, + ESC_REG(ST7789V_FRCTRL2), 0x000F, + ESC_REG(ST7789V_PWCTRL1), 0x00A4, 0x00A1, + + ESC_REG(ST7789V_MADCTL), ST7789V_MADCTL_DATA, + ESC_REG(ST7789V_COLMOD), 0x0055, + + ESC_REG(ST7789V_NORON), + ESC_REG(ST7789V_DISPON), + ESC_END +}; diff --git a/Marlin/src/lcd/tft/st7796s.h b/Marlin/src/lcd/tft/st7796s.h new file mode 100644 index 000000000000..7ddbcfae840d --- /dev/null +++ b/Marlin/src/lcd/tft/st7796s.h @@ -0,0 +1,175 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#include "tft.h" + +#include "../../inc/MarlinConfig.h" + +#define ST7796S_MADCTL_MY 0x80 // Row Address Order +#define ST7796S_MADCTL_MX 0x40 // Column Address Order +#define ST7796S_MADCTL_MV 0x20 // Row/Column Exchange +#define ST7796S_MADCTL_ML 0x10 // Vertical Refresh Order +#define ST7796S_MADCTL_BGR 0x08 // RGB-BGR ORDER +#define ST7796S_MADCTL_RGB 0x00 +#define ST7796S_MADCTL_MH 0x04 // Horizontal Refresh Order + +#define ST7796S_COLOR_BGR +#define ST7796S_ORIENTATION ST7796S_MADCTL_MV +#define ST7796S_MADCTL_DATA (ST7796S_ORIENTATION | TERN(ST7796S_COLOR_BGR, ST7796S_MADCTL_BGR, ST7796S_MADCTL_RGB)) + +#define ST7796S_NOP 0x00 // No Operation +#define ST7796S_SWRESET 0x01 // Software reset +#define ST7796S_RDDID 0x04 // Read Display ID +#define ST7796S_RDNUMED 0x05 // Read Number of the Errors on DSI +#define ST7796S_RDDST 0x09 // Read Display Status +#define ST7796S_RDDPM 0x0A // Read Display Power Mode +#define ST7796S_RDDMADCTL 0x0B // Read Display MADCTL +#define ST7796S_RDDCOLMOD 0x0C // Read Display Pixel Format +#define ST7796S_RDDIM 0x0D // Read Display Image Mode +#define ST7796S_RDDSM 0x0E // Read Display Signal Status +#define ST7796S_RDDSDR 0x0F // Read Display Self-Diagnostic Result +#define ST7796S_SLPIN 0x10 // Sleep In +#define ST7796S_SLPOUT 0x11 // Sleep Out +#define ST7796S_PTLON 0x12 // Partial Display Mode On +#define ST7796S_NORON 0x13 // Normal Display Mode On +#define ST7796S_INVOFF 0x20 // Display Inversion Off +#define ST7796S_INVON 0x21 // Display Inversion On +#define ST7796S_DISPOFF 0x28 // Display Off +#define ST7796S_DISPON 0x29 // Display On +#define ST7796S_CASET 0x2A // Column Address Set +#define ST7796S_RASET 0x2B // Row Address Set +#define ST7796S_RAMWR 0x2C // Memory Write +#define ST7796S_RAMRD 0x2E // Memory Read +#define ST7796S_PTLAR 0x30 // Partial Area +#define ST7796S_VSCRDEF 0x33 // Vertical Scrolling Definition +#define ST7796S_TEOFF 0x34 // Tearing Effect Line OFF +#define ST7796S_TEON 0x35 // Tearing Effect Line On +#define ST7796S_MADCTL 0x36 // Memory Data Access Control +#define ST7796S_VSCSAD 0x37 // Vertical Scroll Start Address of RAM +#define ST7796S_IDMOFF 0x38 // Idle Mode Off +#define ST7796S_IDMON 0x39 // Idle Mode On +#define ST7796S_COLMOD 0x3A // Interface Pixel Format +#define ST7796S_WRMEMC 0x3C // Write Memory Continue +#define ST7796S_RDMEMC 0x3E // Read Memory Continue +#define ST7796S_STE 0x44 // Set Tear ScanLine +#define ST7796S_GSCAN 0x45 // Get ScanLine +#define ST7796S_WRDISBV 0x51 // Write Display Brightness +#define ST7796S_RDDISBV 0x52 // Read Display Brightness Value +#define ST7796S_WRCTRLD 0x53 // Write CTRL Display +#define ST7796S_RDCTRLD 0x54 // Read CTRL value Display +#define ST7796S_WRCABC 0x55 // Write Adaptive Brightness Control +#define ST7796S_RDCABC 0x56 // Read Content Adaptive Brightness Control +#define ST7796S_WRCABCMB 0x5E // Write CABC Minimum Brightness +#define ST7796S_RDCABCMB 0x5F // Read CABC Minimum Brightness +#define ST7796S_RDFCS 0xAA // Read First Checksum +#define ST7796S_RDCFCS 0xAF // Read Continue Checksum +#define ST7796S_RDID1 0xDA // Read ID1 +#define ST7796S_RDID2 0xDB // Read ID2 +#define ST7796S_RDID3 0xDC // Read ID3 + +#define ST7796S_IFMODE 0xB0 // Interface Mode Control +#define ST7796S_FRMCTR1 0xB1 // Frame Rate Control (In Normal Mode/Full Colors) +#define ST7796S_FRMCTR2 0xB2 // Frame Rate Control 2 (In Idle Mode/8 colors) +#define ST7796S_FRMCTR3 0xB3 // Frame Rate Control 3(In Partial Mode/Full Colors) +#define ST7796S_DIC 0xB4 // Display Inversion Control +#define ST7796S_BPC 0xB5 // Blanking Porch Control +#define ST7796S_DFC 0xB6 // Display Function Control +#define ST7796S_EM 0xB7 // Entry Mode Set +#define ST7796S_PWR1 0xC0 // Power Control 1 +#define ST7796S_PWR2 0xC1 // Power Control 2 +#define ST7796S_PWR3 0xC2 // Power Control 3 +#define ST7796S_VCMPCTL 0xC5 // VCOM Control +#define ST7796S_VCMOST 0xC6 // VCOM Offset Register +#define ST7796S_NVMADW 0xD0 // NVM Address/Data Write +#define ST7796S_NVMBPROG 0xD1 // NVM Byte Program +#define ST7796S_NVMSTRD 0xD2 // NVM Status Read +#define ST7796S_RDID4 0xD3 // Read ID4 +#define ST7796S_PGC 0xE0 // Positive Gamma Control +#define ST7796S_NGC 0xE1 // Negative Gamma Control +#define ST7796S_DGC1 0xE2 // Digital Gamma Control 1 +#define ST7796S_DGC2 0xE3 // Digital Gamma Control 2 +#define ST7796S_DOCA 0xE8 // Display Output Ctrl Adjust +#define ST7796S_CSCON 0xF0 // Command Set Control +#define ST7796S_SPIRC 0xFB // SPI Read Control + +static const uint16_t st7796s_init[] = { + DATASIZE_8BIT, + ESC_REG(ST7796S_SWRESET), ESC_DELAY(100), + ESC_REG(ST7796S_SLPOUT), ESC_DELAY(20), + + ESC_REG(ST7796S_CSCON), 0x00C3, // enable command 2 part I + ESC_REG(ST7796S_CSCON), 0x0096, // enable command 2 part II + + ESC_REG(ST7796S_MADCTL), ST7796S_MADCTL_DATA, + ESC_REG(ST7796S_COLMOD), 0x0055, + + ESC_REG(ST7796S_DIC), 0x0001, // 1-dot inversion + ESC_REG(ST7796S_EM), 0x00C6, + + ESC_REG(ST7796S_PWR2), 0x0015, + ESC_REG(ST7796S_PWR3), 0x00AF, + ESC_REG(ST7796S_VCMPCTL), 0x0022, + ESC_REG(ST7796S_VCMOST), 0x0000, + ESC_REG(ST7796S_DOCA), 0x0040, 0x008A, 0x0000, 0x0000, 0x0029, 0x0019, 0x00A5, 0x0033, + + /* Gamma Correction. */ + ESC_REG(ST7796S_PGC), 0x00F0, 0x0004, 0x0008, 0x0009, 0x0008, 0x0015, 0x002F, 0x0042, 0x0046, 0x0028, 0x0015, 0x0016, 0x0029, 0x002D, + ESC_REG(ST7796S_NGC), 0x00F0, 0x0004, 0x0009, 0x0009, 0x0008, 0x0015, 0x002E, 0x0046, 0x0046, 0x0028, 0x0015, 0x0015, 0x0029, 0x002D, + + ESC_REG(ST7796S_NORON), + ESC_REG(ST7796S_WRCTRLD), 0x0024, + ESC_REG(ST7796S_CSCON), 0x003C, // disable command 2 part I + ESC_REG(ST7796S_CSCON), 0x0069, // disable command 2 part II + ESC_REG(ST7796S_DISPON), + ESC_END +}; + +static const uint16_t lerdge_st7796s_init[] = { + DATASIZE_8BIT, + ESC_REG(ST7796S_CSCON), 0x00C3, // enable command 2 part I + ESC_REG(ST7796S_CSCON), 0x0096, // enable command 2 part II + + ESC_REG(ST7796S_MADCTL), ST7796S_MADCTL_DATA, + ESC_REG(ST7796S_COLMOD), 0x0055, + + ESC_REG(ST7796S_DIC), 0x0001, // 1-dot inversion + ESC_REG(ST7796S_EM), 0x00C6, + + ESC_REG(ST7796S_PWR2), 0x0015, + ESC_REG(ST7796S_PWR3), 0x00AF, + ESC_REG(0xC3), 0x0009, // Register not documented in datasheet + ESC_REG(ST7796S_VCMPCTL), 0x0022, + ESC_REG(ST7796S_VCMOST), 0x0000, + ESC_REG(ST7796S_DOCA), 0x0040, 0x008A, 0x0000, 0x0000, 0x0029, 0x0019, 0x00A5, 0x0033, + + /* Gamma Correction. */ + ESC_REG(ST7796S_PGC), 0x00F0, 0x0004, 0x0008, 0x0009, 0x0008, 0x0015, 0x002F, 0x0042, 0x0046, 0x0028, 0x0015, 0x0016, 0x0029, 0x002D, + ESC_REG(ST7796S_NGC), 0x00F0, 0x0004, 0x0009, 0x0009, 0x0008, 0x0015, 0x002E, 0x0046, 0x0046, 0x0028, 0x0015, 0x0015, 0x0029, 0x002D, + + ESC_REG(ST7796S_INVON), // Display inversion ON + ESC_REG(ST7796S_WRCTRLD), 0x0024, + ESC_REG(ST7796S_CSCON), 0x003C, // disable command 2 part I + ESC_REG(ST7796S_CSCON), 0x0069, // disable command 2 part II + ESC_REG(ST7796S_DISPON), + ESC_END +}; diff --git a/Marlin/src/lcd/tft/tft.cpp b/Marlin/src/lcd/tft/tft.cpp new file mode 100644 index 000000000000..81fe6788e7c7 --- /dev/null +++ b/Marlin/src/lcd/tft/tft.cpp @@ -0,0 +1,199 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../inc/MarlinConfig.h" + +#if HAS_GRAPHICAL_TFT + +#include "tft.h" +#include "st7735.h" +#include "st7789v.h" +#include "st7796s.h" +#include "r65105.h" +#include "ili9328.h" +#include "ili9341.h" +#include "ili9488.h" + +//#define DEBUG_GRAPHICAL_TFT +#define DEBUG_OUT ENABLED(DEBUG_GRAPHICAL_TFT) +#include "../../core/debug_out.h" + +uint16_t TFT::buffer[]; +uint32_t TFT::lcd_id = 0xFFFFFFFF; + +void TFT::init() { + if (lcd_id != 0xFFFFFFFF) return; + + io.Init(); + + #if TFT_DRIVER != AUTO + lcd_id = TFT_DRIVER; + #endif + + #if TFT_DRIVER == ST7735 + write_esc_sequence(st7735_init); + #elif TFT_DRIVER == ST7789 + write_esc_sequence(st7789v_init); + #elif TFT_DRIVER == ST7796 + write_esc_sequence(st7796s_init); + #elif TFT_DRIVER == R61505 + write_esc_sequence(r61505_init); + #elif TFT_DRIVER == ILI9328 + write_esc_sequence(ili9328_init); + #elif TFT_DRIVER == ILI9341 + write_esc_sequence(ili9341_init); + #elif TFT_DRIVER == ILI9488 + write_esc_sequence(ili9488_init); + #elif TFT_DRIVER == LERDGE_ST7796 + lcd_id = ST7796; + write_esc_sequence(lerdge_st7796s_init); + + #elif TFT_DRIVER == AUTO // autodetect + + lcd_id = io.GetID() & 0xFFFF; + + switch (lcd_id) { + case ST7796: // ST7796S 480x320 + DEBUG_ECHO_MSG(" ST7796S"); + write_esc_sequence(st7796s_init); + break; + case ST7789: // ST7789V 320x240 + DEBUG_ECHO_MSG(" ST7789V"); + write_esc_sequence(st7789v_init); + break; + case ST7735: // ST7735 160x128 + DEBUG_ECHO_MSG(" ST7735"); + write_esc_sequence(st7735_init); + break; + case R61505: // R61505U 320x240 + DEBUG_ECHO_MSG(" R61505U"); + write_esc_sequence(r61505_init); + break; + case ILI9328: // ILI9328 320x240 + DEBUG_ECHO_MSG(" ILI9328"); + write_esc_sequence(ili9328_init); + break; + case ILI9341: // ILI9341 320x240 + DEBUG_ECHO_MSG(" ILI9341"); + write_esc_sequence(ili9341_init); + break; + case ILI9488: // ILI9488 480x320 + DEBUG_ECHO_MSG(" ILI9488"); + write_esc_sequence(ili9488_init); + break; + default: + lcd_id = 0; + } + #else + #error Unsupported TFT driver + #endif +} + +void TFT::set_window(uint16_t Xmin, uint16_t Ymin, uint16_t Xmax, uint16_t Ymax) { + #ifdef OFFSET_X + Xmin += OFFSET_X; Xmax += OFFSET_X; + #endif + #ifdef OFFSET_Y + Ymin += OFFSET_Y; Ymax += OFFSET_Y; + #endif + + switch (lcd_id) { + case ST7735: // ST7735 160x128 + case ST7789: // ST7789V 320x240 + case ST7796: // ST7796 480x320 + case ILI9341: // ILI9341 320x240 + case ILI9488: // ILI9488 480x320 + io.DataTransferBegin(DATASIZE_8BIT); + + // CASET: Column Address Set + io.WriteReg(ILI9341_CASET); + io.WriteData((Xmin >> 8) & 0xFF); + io.WriteData(Xmin & 0xFF); + io.WriteData((Xmax >> 8) & 0xFF); + io.WriteData(Xmax & 0xFF); + + // RASET: Row Address Set + io.WriteReg(ILI9341_PASET); + io.WriteData((Ymin >> 8) & 0xFF); + io.WriteData(Ymin & 0xFF); + io.WriteData((Ymax >> 8) & 0xFF); + io.WriteData(Ymax & 0xFF); + + // RAMWR: Memory Write + io.WriteReg(ILI9341_RAMWR); + break; + case R61505: // R61505U 320x240 + case ILI9328: // ILI9328 320x240 + io.DataTransferBegin(DATASIZE_16BIT); + + // Mind the mess: with landscape screen orientation 'Horizontal' is Y and 'Vertical' is X + io.WriteReg(ILI9328_HASTART); + io.WriteData(Ymin); + io.WriteReg(ILI9328_HAEND); + io.WriteData(Ymax); + io.WriteReg(ILI9328_VASTART); + io.WriteData(Xmin); + io.WriteReg(ILI9328_VAEND); + io.WriteData(Xmax); + + io.WriteReg(ILI9328_HASET); + io.WriteData(Ymin); + io.WriteReg(ILI9328_VASET); + io.WriteData(Xmin); + + io.WriteReg(ILI9328_RAMWR); + break; + default: + break; + } + + io.DataTransferEnd(); +} + +void TFT::write_esc_sequence(const uint16_t *Sequence) { + uint16_t dataWidth, data; + + dataWidth = *Sequence++; + io.DataTransferBegin(dataWidth); + + for (;;) { + data = *Sequence++; + if (data != 0xFFFF) { + io.WriteData(data); + continue; + } + data = *Sequence++; + if (data == 0x7FFF) return; + if (data == 0xFFFF) + io.WriteData(0xFFFF); + else if (data & 0x8000) + delay(data & 0x7FFF); + else if ((data & 0xFF00) == 0) + io.WriteReg(data); + } + + io.DataTransferEnd(); +} + +TFT tft; + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/tft.h b/Marlin/src/lcd/tft/tft.h new file mode 100644 index 000000000000..6d429109c892 --- /dev/null +++ b/Marlin/src/lcd/tft/tft.h @@ -0,0 +1,113 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#include "tft_queue.h" +#include "canvas.h" +#include "tft_color.h" +#include "tft_string.h" +#include "tft_image.h" +#include "tft_io.h" + +#include "../../inc/MarlinConfig.h" + +#if HAS_UI_320x240 + #define TFT_WIDTH 320 + #define TFT_HEIGHT 240 +#elif HAS_UI_480x320 + #define TFT_WIDTH 480 + #define TFT_HEIGHT 320 +#else + #error "Unsupported display resolution!" +#endif + +#define ST7735 0x89F0 +#define ST7789 0x8552 +#define ST7796 0x7796 +#define R61505 0x1505 +#define ILI9328 0x9328 +#define ILI9341 0x9341 +#define ILI9488 0x9488 +#define LERDGE_ST7796 0xFFFE +#define AUTO 0xFFFF + +#ifndef TFT_DRIVER + #define TFT_DRIVER AUTO +#endif + +#ifndef TFT_BUFFER_SIZE + #ifdef STM32F103xB + #define TFT_BUFFER_SIZE 1024 + #elif defined(STM32F103xE) + #define TFT_BUFFER_SIZE 19200 // 320 * 60 + #elif defined(STM32F1) + #define TFT_BUFFER_SIZE 8192 + #else + #define TFT_BUFFER_SIZE 19200 // 320 * 60 + #endif +#endif + +#if TFT_BUFFER_SIZE > 65535 + // DMA Count parameter is uint16_t + #error "TFT_BUFFER_SIZE can not exceed 65535" +#endif + +#define ESC_REG(x) 0xFFFF, 0x00FF & (uint16_t)x +#define ESC_DELAY(x) 0xFFFF, 0x8000 | (x & 0x7FFF) +#define ESC_END 0xFFFF, 0x7FFF +#define ESC_FFFF 0xFFFF, 0xFFFF + +class TFT { + private: + static uint32_t lcd_id; + static TFT_String string; + static TFT_IO io; + + public: + static TFT_Queue queue; + + static uint16_t buffer[TFT_BUFFER_SIZE]; + + static void init(); + static inline void set_font(const uint8_t *Font) { string.set_font(Font); } + static inline void add_glyphs(const uint8_t *Font) { string.add_glyphs(Font); } + + static void set_window(uint16_t Xmin, uint16_t Ymin, uint16_t Xmax, uint16_t Ymax); + static void write_esc_sequence(const uint16_t *Sequence); + + static inline bool is_busy() { return io.isBusy(); } + static inline void abort() { io.Abort(); } + static inline void write_multiple(uint16_t Data, uint16_t Count) { io.WriteMultiple(Data, Count); } + static inline void write_sequence(uint16_t *Data, uint16_t Count) { io.WriteSequence(Data, Count); } + + static inline void fill(uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint16_t color) { queue.fill(x, y, width, height, color); } + static inline void canvas(uint16_t x, uint16_t y, uint16_t width, uint16_t height) { queue.canvas(x, y, width, height); } + static inline void set_background(uint16_t color) { queue.set_background(color); } + static inline void add_text(uint16_t x, uint16_t y, uint16_t color, TFT_String tft_string, uint16_t maxWidth = 0) { queue.add_text(x, y, color, tft_string.string(), maxWidth); } + static inline void add_text(uint16_t x, uint16_t y, uint16_t color, const char *string, uint16_t maxWidth = 0) { queue.add_text(x, y, color, (uint8_t *)string, maxWidth); } + static inline void add_image(int16_t x, int16_t y, MarlinImage image, uint16_t *colors) { queue.add_image(x, y, image, colors); } + static inline void add_image(int16_t x, int16_t y, MarlinImage image, uint16_t color_main = COLOR_WHITE, uint16_t color_background = COLOR_BACKGROUND, uint16_t color_shadow = COLOR_BLACK) { queue.add_image(x, y, image, color_main, color_background, color_shadow); } + static inline void add_bar(uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint16_t color) { queue.add_bar(x, y, width, height, color); } + static inline void add_rectangle(uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint16_t color) { queue.add_rectangle(x, y, width, height, color); } +}; + +extern TFT tft; diff --git a/Marlin/src/lcd/tft/tft_color.h b/Marlin/src/lcd/tft/tft_color.h new file mode 100644 index 000000000000..d2c5d8e7db7e --- /dev/null +++ b/Marlin/src/lcd/tft/tft_color.h @@ -0,0 +1,112 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#define RED(color) ((color >> 8) & 0xF8) +#define GREEN(color) ((color >> 3) & 0xFC) +#define BLUE(color) ((color << 3) & 0xF8) +#define RGB(red, green, blue) (((red << 8) & 0xF800) | ((green << 3) & 0x07E0) | ((blue >> 3) & 0x001F)) +#define COLOR(color) RGB(((color >> 16) & 0xFF), ((color >> 8) & 0xFF), (color & 0xFF)) +#define HALF(color) RGB(RED(color) >> 1, GREEN(color) >> 1, BLUE(color) >> 1) + +// see https://ee-programming-notepad.blogspot.com/2016/10/16-bit-color-generator-picker.html + +#define COLOR_BLACK 0x0000 // #000000 +#define COLOR_WHITE 0xFFFF // #FFFFFF +#define COLOR_SILVER 0xC618 // #C0C0C0 +#define COLOR_GREY 0x7BEF // #808080 +#define COLOR_DARKGREY 0x4208 // #404040 +#define COLOR_DARKGREY2 0x39E7 // #303030 +#define COLOR_DARK 0x0003 // Some dark color + +#define COLOR_RED 0xF800 // #FF0000 +#define COLOR_SCARLET 0xF904 // #FF2020 +#define COLOR_LIME 0x7E00 // #00FF00 +#define COLOR_BLUE 0x001F // #0000FF +#define COLOR_YELLOW 0xFFE0 // #FFFF00 +#define COLOR_MAGENTA 0xF81F // #FF00FF +#define COLOR_FUCHSIA 0xF81F // #FF00FF +#define COLOR_CYAN 0x07FF // #00FFFF +#define COLOR_AQUA 0x07FF // #00FFFF +#define COLOR_DODGER_BLUE 0x041F // #0080FF +#define COLOR_VIVID_VIOLET 0x7933 // #772399 + +#define COLOR_DARK_PURPLE 0x9930 // #992380 + +#define COLOR_MAROON 0x7800 // #800000 +#define COLOR_GREEN 0x03E0 // #008000 +#define COLOR_NAVY 0x000F // #000080 +#define COLOR_OLIVE 0x8400 // #808000 +#define COLOR_PURPLE 0x8010 // #800080 +#define COLOR_TEAL 0x0410 // #008080 + +#define COLOR_ORANGE 0xFC00 // #FF7F00 +#define COLOR_VIVID_GREEN 0x7FE0 // #7FFF00 +#define COLOR_DARK_ORANGE 0xFC40 // #FF8C00 +#define COLOR_CORAL_RED 0xF9E7 // #FF3F3F + +#define COLOR_DARK_PURPLE 0x9930 // #992380 + + +#define COLOR_BACKGROUND 0x20AC // #1E156E +#define COLOR_SELECTION_BG 0x9930 // #992380 +#define COLOR_WEBSITE_URL 0x03B7 + +#define COLOR_INACTIVE COLOR_GREY +#define COLOR_COLD COLOR_AQUA +#define COLOR_HOTEND COLOR_SCARLET +#define COLOR_HEATED_BED COLOR_DARK_ORANGE +#define COLOR_CHAMBER COLOR_DARK_ORANGE +#define COLOR_FAN COLOR_AQUA + +#define COLOR_AXIS_HOMED COLOR_WHITE +#define COLOR_AXIS_NOT_HOMED COLOR_YELLOW + +#define COLOR_RATE_100 COLOR_VIVID_GREEN +#define COLOR_RATE_ALTERED COLOR_YELLOW + +#define COLOR_PRINT_TIME COLOR_AQUA + +#define COLOR_PROGRESS_FRAME COLOR_WHITE +#define COLOR_PROGRESS_BAR COLOR_BLUE +#define COLOR_PROGRESS_BG COLOR_BLACK + +#define COLOR_STATUS_MESSAGE COLOR_YELLOW + +#define COLOR_CONTROL_ENABLED COLOR_WHITE +#define COLOR_CONTROL_DISABLED COLOR_GREY +#define COLOR_CONTROL_CANCEL COLOR_SCARLET +#define COLOR_CONTROL_CONFIRM COLOR_VIVID_GREEN +#define COLOR_BUSY COLOR_SILVER + +#define COLOR_MENU_TEXT COLOR_YELLOW +#define COLOR_MENU_VALUE COLOR_WHITE + +#define COLOR_SLIDER COLOR_WHITE +#define COLOR_SLIDER_INACTIVE COLOR_GREY + +#define COLOR_UBL COLOR_WHITE + +#define COLOR_TOUCH_CALIBRATION COLOR_WHITE + +#define COLOR_KILL_SCREEN_BG COLOR_MAROON +#define COLOR_KILL_SCREEN_TEXT COLOR_WHITE diff --git a/Marlin/src/lcd/tft/tft_image.cpp b/Marlin/src/lcd/tft/tft_image.cpp new file mode 100644 index 000000000000..ff60bee9a9df --- /dev/null +++ b/Marlin/src/lcd/tft/tft_image.cpp @@ -0,0 +1,69 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "tft_image.h" +#include + +const tImage NoLogo = { (void *)NULL, 0, 0, NOCOLORS }; + +const tImage MarlinLogo112x38x1 = { (void *)marlin_logo_112x38x1, 112, 38, GREYSCALE1 }; +const tImage MarlinLogo228x255x2 = { (void *)marlin_logo_228x255x2, 228, 255, GREYSCALE2 }; +const tImage MarlinLogo228x255x4 = { (void *)marlin_logo_228x255x4, 228, 255, GREYSCALE4 }; +const tImage MarlinLogo195x59x16 = { (void *)marlin_logo_195x59x16, 195, 59, HIGHCOLOR }; +const tImage MarlinLogo320x240x16 = { (void *)marlin_logo_320x240x16, 320, 240, HIGHCOLOR }; +const tImage MarlinLogo480x320x16 = { (void *)marlin_logo_480x320x16, 480, 320, HIGHCOLOR }; +const tImage Background320x30x16 = { (void *)background_320x30x16, 320, 30, HIGHCOLOR }; + +const tImage HotEnd_64x64x4 = { (void *)hotend_64x64x4, 64, 64, GREYSCALE4 }; +const tImage Bed_64x64x4 = { (void *)bed_64x64x4, 64, 64, GREYSCALE4 }; +const tImage Bed_Heated_64x64x4 = { (void *)bed_heated_64x64x4, 64, 64, GREYSCALE4 }; +const tImage Chamber_64x64x4 = { (void *)chamber_64x64x4, 64, 64, GREYSCALE4 }; +const tImage Chamber_Heated_64x64x4 = { (void *)chamber_heated_64x64x4, 64, 64, GREYSCALE4 }; +const tImage Fan0_64x64x4 = { (void *)fan0_64x64x4, 64, 64, GREYSCALE4 }; +const tImage Fan1_64x64x4 = { (void *)fan1_64x64x4, 64, 64, GREYSCALE4 }; +const tImage Fan_Slow0_64x64x4 = { (void *)fan_slow0_64x64x4, 64, 64, GREYSCALE4 }; +const tImage Fan_Slow1_64x64x4 = { (void *)fan_slow1_64x64x4, 64, 64, GREYSCALE4 }; +const tImage Fan_Fast0_64x64x4 = { (void *)fan_fast0_64x64x4, 64, 64, GREYSCALE4 }; +const tImage Fan_Fast1_64x64x4 = { (void *)fan_fast1_64x64x4, 64, 64, GREYSCALE4 }; +const tImage SD_64x64x4 = { (void *)sd_64x64x4, 64, 64, GREYSCALE4 }; +const tImage Menu_64x64x4 = { (void *)menu_64x64x4, 64, 64, GREYSCALE4 }; +const tImage Settings_64x64x4 = { (void *)settings_64x64x4, 64, 64, GREYSCALE4 }; +const tImage Confirm_64x64x4 = { (void *)confirm_64x64x4, 64, 64, GREYSCALE4 }; +const tImage Cancel_64x64x4 = { (void *)cancel_64x64x4, 64, 64, GREYSCALE4 }; +const tImage Increase_64x64x4 = { (void *)increase_64x64x4, 64, 64, GREYSCALE4 }; +const tImage Decrease_64x64x4 = { (void *)decrease_64x64x4, 64, 64, GREYSCALE4 }; +const tImage Pause_64x64x4 = { (void *)pause_64x64x4, 64, 64, GREYSCALE4 }; + +const tImage Feedrate_32x32x4 = { (void *)feedrate_32x32x4, 32, 32, GREYSCALE4 }; +const tImage Flowrate_32x32x4 = { (void *)flowrate_32x32x4, 32, 32, GREYSCALE4 }; +const tImage Directory_32x32x4 = { (void *)directory_32x32x4, 32, 32, GREYSCALE4 }; +const tImage Back_32x32x4 = { (void *)back_32x32x4, 32, 32, GREYSCALE4 }; +const tImage Up_32x32x4 = { (void *)up_32x32x4, 32, 32, GREYSCALE4 }; +const tImage Down_32x32x4 = { (void *)down_32x32x4, 32, 32, GREYSCALE4 }; +const tImage Left_32x32x4 = { (void *)left_32x32x4, 32, 32, GREYSCALE4 }; +const tImage Right_32x32x4 = { (void *)right_32x32x4, 32, 32, GREYSCALE4 }; +const tImage Refresh_32x32x4 = { (void *)refresh_32x32x4, 32, 32, GREYSCALE4 }; +const tImage Leveling_32x32x4 = { (void *)leveling_32x32x4, 32, 32, GREYSCALE4 }; + +const tImage Slider8x16x4 = { (void *)slider_8x16x4, 8, 16, GREYSCALE4 }; + +extern const tImage Images[imgCount]; diff --git a/Marlin/src/lcd/tft/tft_image.h b/Marlin/src/lcd/tft/tft_image.h new file mode 100644 index 000000000000..cf48065968b1 --- /dev/null +++ b/Marlin/src/lcd/tft/tft_image.h @@ -0,0 +1,160 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#include "stdint.h" + + +extern const uint8_t marlin_logo_112x38x1[]; +extern const uint8_t marlin_logo_228x255x2[]; +extern const uint8_t marlin_logo_228x255x4[]; +extern const uint16_t marlin_logo_195x59x16[]; +extern const uint16_t marlin_logo_320x240x16[]; +extern const uint16_t marlin_logo_480x320x16[]; +extern const uint16_t background_320x30x16[]; + +extern const uint8_t hotend_64x64x4[]; +extern const uint8_t bed_64x64x4[], bed_heated_64x64x4[]; +extern const uint8_t chamber_64x64x4[], chamber_heated_64x64x4[]; +extern const uint8_t fan0_64x64x4[], fan1_64x64x4[]; +extern const uint8_t fan_slow0_64x64x4[], fan_slow1_64x64x4[]; +extern const uint8_t fan_fast0_64x64x4[], fan_fast1_64x64x4[]; +extern const uint8_t sd_64x64x4[]; +extern const uint8_t menu_64x64x4[]; +extern const uint8_t settings_64x64x4[]; +extern const uint8_t confirm_64x64x4[]; +extern const uint8_t cancel_64x64x4[]; +extern const uint8_t increase_64x64x4[]; +extern const uint8_t decrease_64x64x4[]; +extern const uint8_t pause_64x64x4[]; + +extern const uint8_t feedrate_32x32x4[]; +extern const uint8_t flowrate_32x32x4[]; +extern const uint8_t directory_32x32x4[]; +extern const uint8_t back_32x32x4[]; +extern const uint8_t up_32x32x4[]; +extern const uint8_t down_32x32x4[]; +extern const uint8_t left_32x32x4[]; +extern const uint8_t right_32x32x4[]; +extern const uint8_t refresh_32x32x4[]; +extern const uint8_t leveling_32x32x4[]; + +extern const uint8_t slider_8x16x4[]; + +enum MarlinImage : uint8_t { + imgBootScreen = 0x00, + imgHotEnd, + imgBed, + imgBedHeated, + imgChamber, + imgChamberHeated, + imgFanIdle, + imgFanSlow0, + imgFanSlow1, + imgFanFast0, + imgFanFast1, + imgFeedRate, + imgFlowRate, + imgSD, + imgMenu, + imgSettings, + imgDirectory, + imgConfirm, + imgCancel, + imgIncrease, + imgDecrease, + imgBack, + imgUp, + imgDown, + imgLeft, + imgRight, + imgRefresh, + imgLeveling, + imgSlider, + imgCount, + noImage = imgCount, + imgPageUp = imgLeft, + imgPageDown = imgRight +}; + +enum colorMode_t : uint8_t { + NOCOLORS = 0x00, + MONOCHROME = 0x01, // 1 bit per pixel + GREYSCALE1 = 0x01, // 1 bit per pixel + GREYSCALE2, // 2 bits per pixel + GREYSCALE4, // 4 bits per pixel + HIGHCOLOR // 16 bits per pixel +}; + +typedef colorMode_t ColorMode; + +typedef struct __attribute__((__packed__)) { + void *data; + uint16_t width; + uint16_t height; + colorMode_t colorMode; +} tImage; + +extern const tImage NoLogo; + +extern const tImage MarlinLogo112x38x1; +extern const tImage MarlinLogo228x255x2; +extern const tImage MarlinLogo228x255x4; +extern const tImage MarlinLogo195x59x16; +extern const tImage MarlinLogo320x240x16; +extern const tImage MarlinLogo480x320x16; +extern const tImage Background320x30x16; + +extern const tImage HotEnd_64x64x4; +extern const tImage Bed_64x64x4; +extern const tImage Bed_Heated_64x64x4; +extern const tImage Chamber_64x64x4; +extern const tImage Chamber_Heated_64x64x4; +extern const tImage Fan0_64x64x4; +extern const tImage Fan1_64x64x4; +extern const tImage Fan_Slow0_64x64x4; +extern const tImage Fan_Slow1_64x64x4; +extern const tImage Fan_Fast0_64x64x4; +extern const tImage Fan_Fast1_64x64x4; +extern const tImage SD_64x64x4; +extern const tImage Menu_64x64x4; +extern const tImage Settings_64x64x4; +extern const tImage Confirm_64x64x4; +extern const tImage Cancel_64x64x4; +extern const tImage Increase_64x64x4; +extern const tImage Decrease_64x64x4; +extern const tImage Pause_64x64x4; + +extern const tImage Feedrate_32x32x4; +extern const tImage Flowrate_32x32x4; +extern const tImage Directory_32x32x4; +extern const tImage Back_32x32x4; +extern const tImage Up_32x32x4; +extern const tImage Down_32x32x4; +extern const tImage Left_32x32x4; +extern const tImage Right_32x32x4; +extern const tImage Refresh_32x32x4; +extern const tImage Leveling_32x32x4; + +extern const tImage Slider8x16x4; + +extern const tImage Images[imgCount]; diff --git a/Marlin/src/lcd/tft/tft_io.h b/Marlin/src/lcd/tft/tft_io.h new file mode 100644 index 000000000000..bffe92b0ff30 --- /dev/null +++ b/Marlin/src/lcd/tft/tft_io.h @@ -0,0 +1,30 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#include "../../inc/MarlinConfig.h" + +#if HAS_SPI_TFT + #include HAL_PATH(../../HAL, tft/tft_spi.h) +#elif HAS_FSMC_TFT + #include HAL_PATH(../../HAL, tft/tft_fsmc.h) +#endif diff --git a/Marlin/src/lcd/tft/tft_queue.cpp b/Marlin/src/lcd/tft/tft_queue.cpp new file mode 100644 index 000000000000..e77afaf716bf --- /dev/null +++ b/Marlin/src/lcd/tft/tft_queue.cpp @@ -0,0 +1,346 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../inc/MarlinConfig.h" + +#if HAS_GRAPHICAL_TFT + +#include "tft_queue.h" +#include "tft.h" +#include "tft_image.h" + +uint8_t TFT_Queue::queue[]; +uint8_t *TFT_Queue::end_of_queue = queue; +uint8_t *TFT_Queue::current_task = NULL; +uint8_t *TFT_Queue::last_task = NULL; + +void TFT_Queue::reset() { + tft.abort(); + + end_of_queue = queue; + current_task = NULL; + last_task = NULL; +} + +void TFT_Queue::async() { + if (current_task == NULL) return; + queueTask_t *task = (queueTask_t *)current_task; + + // Check IO busy status + if (tft.is_busy()) return; + + if (task->state == TASK_STATE_COMPLETED) { + task = (queueTask_t *)task->nextTask; + current_task = (uint8_t *)task; + } + + finish_sketch(); + + switch (task->type) { + case TASK_END_OF_QUEUE: reset(); break; + case TASK_FILL: fill(task); break; + case TASK_CANVAS: canvas(task); break; + } +} + +void TFT_Queue::finish_sketch() { + if (last_task == NULL) return; + queueTask_t *task = (queueTask_t *)last_task; + + if (task->state == TASK_STATE_SKETCH) { + *end_of_queue = TASK_END_OF_QUEUE; + task->nextTask = end_of_queue; + task->state = TASK_STATE_READY; + + if (current_task == NULL) current_task = (uint8_t *)task; + } +} + +void TFT_Queue::fill(queueTask_t *task) { + uint16_t count; + parametersFill_t *task_parameters = (parametersFill_t *)(((uint8_t *)task) + sizeof(queueTask_t)); + + if (task->state == TASK_STATE_READY) { + tft.set_window(task_parameters->x, task_parameters->y, task_parameters->x + task_parameters->width - 1, task_parameters->y + task_parameters->height - 1); + task->state = TASK_STATE_IN_PROGRESS; + } + + if (task_parameters->count > 65535) { + count = 65535; + task_parameters->count -= 65535; + } + else { + count = task_parameters->count; + task_parameters->count = 0; + task->state = TASK_STATE_COMPLETED; + } + + tft.write_multiple(task_parameters->color, count); +} + +void TFT_Queue::canvas(queueTask_t *task) { + parametersCanvas_t *task_parameters = (parametersCanvas_t *)(((uint8_t *)task) + sizeof(queueTask_t)); + + uint16_t i; + uint8_t *item = ((uint8_t *)task_parameters) + sizeof(parametersCanvas_t); + + if (task->state == TASK_STATE_READY) { + task->state = TASK_STATE_IN_PROGRESS; + Canvas.New(task_parameters->x, task_parameters->y, task_parameters->width, task_parameters->height); + } + Canvas.Continue(); + + for (i = 0; i < task_parameters->count; i++) { + switch (*item) { + case CANVAS_SET_BACKGROUND: + Canvas.SetBackground(((parametersCanvasBackground_t *)item)->color); + item += sizeof(parametersCanvasBackground_t); + break; + case CANVAS_ADD_TEXT: + Canvas.AddText(((parametersCanvasText_t *)item)->x, ((parametersCanvasText_t *)item)->y, ((parametersCanvasText_t *)item)->color, item + sizeof(parametersCanvasText_t), ((parametersCanvasText_t *)item)->maxWidth); + item += sizeof(parametersCanvasText_t) + ((parametersCanvasText_t *)item)->stringLength; + break; + + case CANVAS_ADD_IMAGE: + MarlinImage image; + uint16_t *colors; + colorMode_t color_mode; + + image = ((parametersCanvasImage_t *)item)->image; + colors = (uint16_t *)(item + sizeof(parametersCanvasImage_t)); + Canvas.AddImage(((parametersCanvasImage_t *)item)->x, ((parametersCanvasImage_t *)item)->y, image, colors); + + item = (uint8_t *)colors; + color_mode = Images[image].colorMode; + + switch (color_mode) { + case GREYSCALE1: + item += sizeof(uint16_t); + break; + case GREYSCALE2: + item += sizeof(uint16_t) * 3; + break; + case GREYSCALE4: + item += sizeof(uint16_t) * 15; + break; + default: + break; + } + break; + + case CANVAS_ADD_BAR: + Canvas.AddBar(((parametersCanvasBar_t *)item)->x, ((parametersCanvasBar_t *)item)->y, ((parametersCanvasBar_t *)item)->width, ((parametersCanvasBar_t *)item)->height, ((parametersCanvasBar_t *)item)->color); + item += sizeof(parametersCanvasBar_t); + break; + case CANVAS_ADD_RECTANGLE: + Canvas.AddRectangle(((parametersCanvasRectangle_t *)item)->x, ((parametersCanvasRectangle_t *)item)->y, ((parametersCanvasRectangle_t *)item)->width, ((parametersCanvasRectangle_t *)item)->height, ((parametersCanvasRectangle_t *)item)->color); + item += sizeof(parametersCanvasRectangle_t); + break; + } + } + + if (Canvas.ToScreen()) task->state = TASK_STATE_COMPLETED; +} + + +void TFT_Queue::fill(uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint16_t color) { + finish_sketch(); + + queueTask_t *task = (queueTask_t *)end_of_queue; + last_task = (uint8_t *)task; + + end_of_queue += sizeof(queueTask_t); + parametersFill_t *task_parameters = (parametersFill_t *)end_of_queue; + end_of_queue += sizeof(parametersFill_t); + + task_parameters->x = x; + task_parameters->y = y; + task_parameters->width = width; + task_parameters->height = height; + task_parameters->color = color; + task_parameters->count = width * height; + + *end_of_queue = TASK_END_OF_QUEUE; + task->nextTask = end_of_queue; + task->state = TASK_STATE_READY; + task->type = TASK_FILL; + + if (current_task == NULL) current_task = (uint8_t *)task; +} + +void TFT_Queue::canvas(uint16_t x, uint16_t y, uint16_t width, uint16_t height) { + finish_sketch(); + + queueTask_t *task = (queueTask_t *)end_of_queue; + last_task = (uint8_t *) task; + + task->state = TASK_STATE_SKETCH; + task->type = TASK_CANVAS; + task->nextTask = NULL; + + end_of_queue += sizeof(queueTask_t); + parametersCanvas_t *task_parameters = (parametersCanvas_t *)end_of_queue; + end_of_queue += sizeof(parametersCanvas_t); + + task_parameters->x = x; + task_parameters->y = y; + task_parameters->width = width; + task_parameters->height = height; + task_parameters->count = 0; + + if (current_task == NULL) current_task = (uint8_t *)task; +} + +void TFT_Queue::set_background(uint16_t color) { + parametersCanvas_t *task_parameters = (parametersCanvas_t *)(((uint8_t *)last_task) + sizeof(queueTask_t)); + parametersCanvasBackground_t *parameters = (parametersCanvasBackground_t *)end_of_queue; + + parameters->type = CANVAS_SET_BACKGROUND; + parameters->color = color; + + end_of_queue += sizeof(parametersCanvasBackground_t); + task_parameters->count++; +} + +void TFT_Queue::add_text(uint16_t x, uint16_t y, uint16_t color, uint8_t *string, uint16_t maxWidth) { + parametersCanvas_t *task_parameters = (parametersCanvas_t *)(((uint8_t *)last_task) + sizeof(queueTask_t)); + parametersCanvasText_t *parameters = (parametersCanvasText_t *)end_of_queue; + + uint8_t *pointer = string; + + parameters->type = CANVAS_ADD_TEXT; + parameters->x = x; + parameters->y = y; + parameters->color = color; + parameters->stringLength = 0; + parameters->maxWidth = maxWidth; + + end_of_queue += sizeof(parametersCanvasText_t); + + /* TODO: Deal with maxWidth */ + while ((*(end_of_queue++) = *pointer++) != 0x00); + + parameters->stringLength = pointer - string; + task_parameters->count++; +} + +void TFT_Queue::add_image(int16_t x, int16_t y, MarlinImage image, uint16_t *colors) { + parametersCanvas_t *task_parameters = (parametersCanvas_t *)(((uint8_t *)last_task) + sizeof(queueTask_t)); + parametersCanvasImage_t *parameters = (parametersCanvasImage_t *)end_of_queue; + + parameters->type = CANVAS_ADD_IMAGE; + parameters->x = x; + parameters->y = y; + parameters->image = image; + + end_of_queue += sizeof(parametersCanvasImage_t); + task_parameters->count++; + + colorMode_t color_mode = Images[image].colorMode; + + if (color_mode == HIGHCOLOR) return; + + uint16_t *color = (uint16_t *)end_of_queue; + uint8_t number_of_color = 0; + + switch (color_mode) { + case GREYSCALE1: number_of_color = 1; break; + case GREYSCALE2: number_of_color = 3; break; + case GREYSCALE4: number_of_color = 15; break; + default: + break; + } + + while (number_of_color--) { + *color++ = *colors++; + } + + end_of_queue = (uint8_t *)color; +} + +uint16_t gradient(uint16_t colorA, uint16_t colorB, uint16_t factor) { + uint16_t red, green, blue; + + red = ( RED(colorA) * factor + RED(colorB) * (256 - factor)) >> 8; + green = (GREEN(colorA) * factor + GREEN(colorB) * (256 - factor)) >> 8; + blue = ( BLUE(colorA) * factor + BLUE(colorB) * (256 - factor)) >> 8; + + return RGB(red, green, blue); +} + +void TFT_Queue::add_image(int16_t x, int16_t y, MarlinImage image, uint16_t color_main, uint16_t color_background, uint16_t color_shadow) { + uint16_t colors[16]; + colorMode_t color_mode = Images[image].colorMode; + uint16_t i; + + switch (color_mode) { + case GREYSCALE1: + colors[1] = color_main; + break; + case GREYSCALE2: + for (i = 1; i < 4; i++) + colors[i] = gradient(color_main, color_background, (i << 8) / 3); + break; + case GREYSCALE4: + for (i = 1; i < 8; i++) + colors[i] = gradient(color_background, color_shadow, i << 5); + for (i = 8; i < 16; i++) + colors[i] = gradient(color_main, color_background, ((i - 8) << 8) / 7); + break; + default: + break; + } + + add_image(x, y, image, colors + 1); +} + +void TFT_Queue::add_bar(uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint16_t color) { + parametersCanvas_t *task_parameters = (parametersCanvas_t *)(((uint8_t *)last_task) + sizeof(queueTask_t)); + parametersCanvasBar_t *parameters = (parametersCanvasBar_t *)end_of_queue; + + parameters->type = CANVAS_ADD_BAR; + parameters->x = x; + parameters->y = y; + parameters->width = width; + parameters->height = height; + parameters->color = color; + + end_of_queue += sizeof(parametersCanvasBar_t); + task_parameters->count++; +} + +void TFT_Queue::add_rectangle(uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint16_t color) { + parametersCanvas_t *task_parameters = (parametersCanvas_t *)(((uint8_t *)last_task) + sizeof(queueTask_t)); + parametersCanvasRectangle_t *parameters = (parametersCanvasRectangle_t *)end_of_queue; + + parameters->type = CANVAS_ADD_RECTANGLE; + parameters->x = x; + parameters->y = y; + parameters->width = width; + parameters->height = height; + parameters->color = color; + + end_of_queue += sizeof(parametersCanvasRectangle_t); + task_parameters->count++; +} + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/tft_queue.h b/Marlin/src/lcd/tft/tft_queue.h new file mode 100644 index 000000000000..9aa0d5b6c91d --- /dev/null +++ b/Marlin/src/lcd/tft/tft_queue.h @@ -0,0 +1,140 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#include "../../inc/MarlinConfig.h" +#include "tft_string.h" +#include "tft_image.h" + +#define QUEUE_SIZE 8192 + +enum QueueTaskType : uint8_t { + TASK_END_OF_QUEUE = 0x00, + TASK_FILL, + TASK_CANVAS, +}; + +enum QueueTaskState : uint8_t { + TASK_STATE_READY = 0x00, + TASK_STATE_IN_PROGRESS, + TASK_STATE_COMPLETED, + TASK_STATE_SKETCH = 0xFF, +}; + +enum CanvasSubtype : uint8_t { + CANVAS_SET_BACKGROUND = 0x00, + CANVAS_ADD_TEXT, + CANVAS_ADD_IMAGE, + CANVAS_ADD_BAR, + CANVAS_ADD_RECTANGLE, +}; + +typedef struct __attribute__((__packed__)) { + QueueTaskType type; + QueueTaskState state; + uint8_t *nextTask; +} queueTask_t; + +typedef struct __attribute__((__packed__)) { + uint16_t x; + uint16_t y; + uint16_t width; + uint16_t height; + uint16_t color; + uint32_t count; +} parametersFill_t; + +typedef struct __attribute__((__packed__)) { + uint16_t x; + uint16_t y; + uint16_t width; + uint16_t height; + uint32_t count; +} parametersCanvas_t; + +typedef struct __attribute__((__packed__)) { + CanvasSubtype type; + uint16_t color; +} parametersCanvasBackground_t; + +typedef struct __attribute__((__packed__)) { + CanvasSubtype type; + uint16_t x; + uint16_t y; + uint16_t color; + uint32_t count; + uint16_t maxWidth; + uint16_t stringLength; +} parametersCanvasText_t; + +typedef struct __attribute__((__packed__)) { + CanvasSubtype type; + int16_t x; + int16_t y; + MarlinImage image; +} parametersCanvasImage_t; + +typedef struct __attribute__((__packed__)) { + CanvasSubtype type; + uint16_t x; + uint16_t y; + uint16_t width; + uint16_t height; + uint16_t color; +} parametersCanvasBar_t; + +typedef struct __attribute__((__packed__)) { + CanvasSubtype type; + uint16_t x; + uint16_t y; + uint16_t width; + uint16_t height; + uint16_t color; +} parametersCanvasRectangle_t; + +class TFT_Queue { + private: + static uint8_t queue[QUEUE_SIZE]; + static uint8_t *end_of_queue; + static uint8_t *current_task; + static uint8_t *last_task; + + static void finish_sketch(); + static void fill(queueTask_t *task); + static void canvas(queueTask_t *task); + + public: + static void reset(); + static void async(); + static void sync() { while (current_task != NULL) async(); } + + static void fill(uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint16_t color); + static void canvas(uint16_t x, uint16_t y, uint16_t width, uint16_t height); + static void set_background(uint16_t color); + static void add_text(uint16_t x, uint16_t y, uint16_t color, uint8_t *string, uint16_t maxWidth); + + static void add_image(int16_t x, int16_t y, MarlinImage image, uint16_t *colors); + static void add_image(int16_t x, int16_t y, MarlinImage image, uint16_t color_main, uint16_t color_background, uint16_t color_shadow); + + static void add_bar(uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint16_t color); + static void add_rectangle(uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint16_t color); +}; diff --git a/Marlin/src/lcd/tft/tft_string.cpp b/Marlin/src/lcd/tft/tft_string.cpp new file mode 100644 index 000000000000..7e66c3d29cf8 --- /dev/null +++ b/Marlin/src/lcd/tft/tft_string.cpp @@ -0,0 +1,158 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../inc/MarlinConfig.h" + +#if HAS_GRAPHICAL_TFT + +#include "tft_string.h" +#include "../fontutils.h" + +//#define DEBUG_TFT_FONT +#define DEBUG_OUT ENABLED(DEBUG_TFT_FONT) +#include "../../core/debug_out.h" + +glyph_t *TFT_String::glyphs[256]; +font_t *TFT_String::font_header; + +uint8_t TFT_String::data[]; +uint16_t TFT_String::span; +uint16_t TFT_String::length; + +void TFT_String::set_font(const uint8_t *font) { + font_header = (font_t *)font; + uint32_t glyph; + + for (glyph = 0; glyph < 256; glyph++) glyphs[glyph] = NULL; + + DEBUG_ECHOLNPAIR("Format: ", font_header->Format); + DEBUG_ECHOLNPAIR("BBXWidth: ", font_header->BBXWidth); + DEBUG_ECHOLNPAIR("BBXHeight: ", font_header->BBXHeight); + DEBUG_ECHOLNPAIR("BBXOffsetX: ", font_header->BBXOffsetX); + DEBUG_ECHOLNPAIR("BBXOffsetY: ", font_header->BBXOffsetY); + DEBUG_ECHOLNPAIR("CapitalAHeight: ", font_header->CapitalAHeight); + DEBUG_ECHOLNPAIR("Encoding65Pos: ", font_header->Encoding65Pos); + DEBUG_ECHOLNPAIR("Encoding97Pos: ", font_header->Encoding97Pos); + DEBUG_ECHOLNPAIR("FontStartEncoding: ", font_header->FontStartEncoding); + DEBUG_ECHOLNPAIR("FontEndEncoding: ", font_header->FontEndEncoding); + DEBUG_ECHOLNPAIR("LowerGDescent: ", font_header->LowerGDescent); + DEBUG_ECHOLNPAIR("FontAscent: ", font_header->FontAscent); + DEBUG_ECHOLNPAIR("FontDescent: ", font_header->FontDescent); + DEBUG_ECHOLNPAIR("FontXAscent: ", font_header->FontXAscent); + DEBUG_ECHOLNPAIR("FontXDescent: ", font_header->FontXDescent); + + add_glyphs(font); +} + +void TFT_String::add_glyphs(const uint8_t *font) { + uint32_t glyph; + uint8_t *pointer = (uint8_t *)font + sizeof(font_t); + + for (glyph = ((font_t *)font)->FontStartEncoding; glyph <= ((font_t *)font)->FontEndEncoding; glyph++) { + if (*pointer != NO_GLYPH) { + glyphs[glyph] = (glyph_t *)pointer; + pointer += sizeof(glyph_t) + ((glyph_t *)pointer)->DataSize; + } + else { + pointer++; + } + } +} + +void TFT_String::set() { + *data = 0x00; + span = 0; + length = 0; +} + +uint8_t read_byte(uint8_t *byte) { return *byte; } + +void TFT_String::add(uint8_t *string, int8_t index, uint8_t *itemString) { + wchar_t wchar; + + while (*string) { + string = get_utf8_value_cb(string, read_byte, &wchar); + if (wchar > 255) wchar |= 0x0080; + uint8_t ch = uint8_t(wchar & 0x00FF); + + if (ch == '=' || ch == '~' || ch == '*') { + if (index >= 0) { + int8_t inum = index + ((ch == '=') ? 0 : LCD_FIRST_TOOL); + if (ch == '*') add_character('E'); + if (inum >= 10) { add_character('0' + (inum / 10)); inum %= 10; } + add_character('0' + inum); + } + else { + add(index == -2 ? GET_TEXT(MSG_CHAMBER) : GET_TEXT(MSG_BED)); + } + continue; + } + else if (ch == '$' && itemString) { + add(itemString); + continue; + } + + add_character(ch); + } + eol(); +} + +void TFT_String::add_character(uint8_t character) { + if (length < MAX_STRING_LENGTH) { + data[length] = character; + length++; + span += glyph(character)->DWidth; + } +} + +void TFT_String::rtrim(uint8_t character) { + while (length) { + if (data[length - 1] == 0x20 || data[length - 1] == character) { + length--; + span -= glyph(data[length])->DWidth; + eol(); + } + else { + break; + } + } +} + +void TFT_String::ltrim(uint8_t character) { + uint16_t i, j; + for (i = 0; (i < length) && (data[i] == 0x20 || data[i] == character); i++) { + span -= glyph(data[i])->DWidth; + } + if (i == 0) return; + for (j = 0; i < length; data[j++] = data[i++]); + length = j; + eol(); +} + +void TFT_String::trim(uint8_t character) { + rtrim(character); + ltrim(character); +} + +TFT_String tft_string; + +#endif // HAS_GRAPHICAL_TFT diff --git a/Marlin/src/lcd/tft/tft_string.h b/Marlin/src/lcd/tft/tft_string.h new file mode 100644 index 000000000000..d83d3af7027e --- /dev/null +++ b/Marlin/src/lcd/tft/tft_string.h @@ -0,0 +1,104 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#include + +extern const uint8_t ISO10646_1_5x7[]; +extern const uint8_t font10x20[]; + +extern const uint8_t Helvetica12Bold[]; + +extern const uint8_t Helvetica14[], Helvetica14_symbols[]; +extern const uint8_t Helvetica18[], Helvetica18_symbols[]; + +#define NO_GLYPH 0xFF + +typedef struct __attribute__((__packed__)) { + uint8_t Format; + uint8_t BBXWidth; + uint8_t BBXHeight; + int8_t BBXOffsetX; + int8_t BBXOffsetY; + uint8_t CapitalAHeight; + uint16_t Encoding65Pos; + uint16_t Encoding97Pos; + uint8_t FontStartEncoding; + uint8_t FontEndEncoding; + int8_t LowerGDescent; + int8_t FontAscent; + int8_t FontDescent; + int8_t FontXAscent; + int8_t FontXDescent; +} font_t; + +typedef struct __attribute__((__packed__)) { + uint8_t BBXWidth; + uint8_t BBXHeight; + uint8_t DataSize; + int8_t DWidth; + int8_t BBXOffsetX; + int8_t BBXOffsetY; +} glyph_t; + +#define MAX_STRING_LENGTH 64 + +class TFT_String { + private: + static glyph_t *glyphs[256]; + static font_t *font_header; + + static uint8_t data[MAX_STRING_LENGTH + 1]; + static uint16_t span; // in pixels + static uint16_t length; // in characters + + static void add_character(uint8_t character); + static void eol() { data[length] = 0x00; } + + public: + static void set_font(const uint8_t *font); + static void add_glyphs(const uint8_t *font); + + static font_t *font() { return font_header; }; + static uint16_t font_height() { return font_header->FontAscent - font_header->FontDescent; } + static glyph_t *glyph(uint8_t character) { return glyphs[character] == NULL ? glyphs[0x3F] : glyphs[character]; } /* Use '?' for unknown glyphs */ + static inline glyph_t *glyph(uint8_t *character) { return glyph(*character); } + + static void set(); + static void add(uint8_t character) { add_character(character); eol(); } + static void add(uint8_t *string) { while (*string) { add_character(*string++); } eol(); } + static void add(uint8_t *string, int8_t index, uint8_t *itemString = NULL); + static void set(uint8_t *string) { set(); add(string); }; + static void set(uint8_t *string, int8_t index, const char *itemString = NULL) { set(); add(string, index, (uint8_t *)itemString); }; + static inline void set(const char *string) { set((uint8_t *)string); } + static inline void set(const char *string, int8_t index, const char *itemString = NULL) { set((uint8_t *)string, index, itemString); } + static inline void add(const char *string) { add((uint8_t *)string); } + + static void trim(uint8_t character = 0x20); + static void rtrim(uint8_t character = 0x20); + static void ltrim(uint8_t character = 0x20); + static uint16_t width() { return span; } + static uint8_t *string() { return data; } + static uint16_t center(uint16_t width) { return span > width ? 0 : (width - span) / 2; } +}; + +extern TFT_String tft_string; diff --git a/Marlin/src/lcd/tft/touch.cpp b/Marlin/src/lcd/tft/touch.cpp new file mode 100644 index 000000000000..d2b860ab155f --- /dev/null +++ b/Marlin/src/lcd/tft/touch.cpp @@ -0,0 +1,293 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../inc/MarlinConfig.h" + +#if ENABLED(TOUCH_SCREEN) + +#include "touch.h" + +#include "../ultralcd.h" // for ui methods +#include "../menu/menu_item.h" // for touch_screen_calibration + +#include "../../module/temperature.h" +#include "../../module/planner.h" + +#if ENABLED(AUTO_BED_LEVELING_UBL) + #include "../../feature/bedlevel/bedlevel.h" +#endif + +#include "tft.h" + +int16_t Touch::x, Touch::y; +touch_control_t Touch::controls[]; +touch_control_t *Touch::current_control; +uint16_t Touch::controls_count; +millis_t Touch::now = 0; +millis_t Touch::time_to_hold; +millis_t Touch::repeat_delay; +millis_t Touch::touch_time; +TouchControlType Touch::touch_control_type = NONE; +touch_calibration_t Touch::calibration; +#if ENABLED(TOUCH_SCREEN_CALIBRATION) + calibrationState Touch::calibration_state = CALIBRATION_NONE; + touch_calibration_point_t Touch::calibration_points[4]; +#endif + +void Touch::init() { + calibration_reset(); + reset(); + io.Init(); +} + +void Touch::add_control(TouchControlType type, uint16_t x, uint16_t y, uint16_t width, uint16_t height, int32_t data) { + if (controls_count == MAX_CONTROLS) return; + + controls[controls_count].type = type; + controls[controls_count].x = x; + controls[controls_count].y = y; + controls[controls_count].width = width; + controls[controls_count].height = height; + controls[controls_count].data = data; + controls_count++; +} + +void Touch::idle() { + uint16_t i; + int16_t _x, _y; + + if (now == millis()) return; + now = millis(); + + if (get_point(&_x, &_y)) { + #if LCD_TIMEOUT_TO_STATUS + ui.return_to_status_ms = now + LCD_TIMEOUT_TO_STATUS; + #endif + + if (touch_time) { + #if ENABLED(TOUCH_SCREEN_CALIBRATION) + if (touch_control_type == NONE && ELAPSED(now, touch_time + TOUCH_SCREEN_HOLD_TO_CALIBRATE_MS) && ui.on_status_screen()) + ui.goto_screen(touch_screen_calibration); + #endif + return; + } + + if (time_to_hold == 0) time_to_hold = now + MINIMUM_HOLD_TIME; + if (PENDING(now, time_to_hold)) return; + + if (x != 0 && y != 0) { + if (current_control) { + if (WITHIN(x, current_control->x - FREE_MOVE_RANGE, current_control->x + current_control->width + FREE_MOVE_RANGE) && WITHIN(y, current_control->y - FREE_MOVE_RANGE, current_control->y + current_control->height + FREE_MOVE_RANGE)) { + NOLESS(x, current_control->x); + NOMORE(x, current_control->x + current_control->width); + NOLESS(y, current_control->y); + NOMORE(y, current_control->y + current_control->height); + touch(current_control); + } + else { + current_control = NULL; + } + } + else { + for (i = 0; i < controls_count; i++) { + if ((WITHIN(x, controls[i].x, controls[i].x + controls[i].width) && WITHIN(y, controls[i].y, controls[i].y + controls[i].height)) || (TERN(TOUCH_SCREEN_CALIBRATION, controls[i].type == CALIBRATE, false))) { + touch_control_type = controls[i].type; + touch(&controls[i]); + break; + } + } + } + + if (current_control == NULL) + touch_time = now; + } + x = _x; + y = _y; + } + else { + x = y = 0; + current_control = NULL; + touch_time = 0; + touch_control_type = NONE; + time_to_hold = 0; + repeat_delay = TOUCH_REPEAT_DELAY; + } +} + +void Touch::touch(touch_control_t *control) { + switch (control->type) { + #if ENABLED(TOUCH_SCREEN_CALIBRATION) + case CALIBRATE: + ui.refresh(); + + if (calibration_state < CALIBRATION_SUCCESS) { + calibration_points[calibration_state].x = int16_t(control->data >> 16); + calibration_points[calibration_state].y = int16_t(control->data & 0xFFFF); + calibration_points[calibration_state].raw_x = x; + calibration_points[calibration_state].raw_y = y; + } + + switch (calibration_state) { + case CALIBRATION_POINT_1: calibration_state = CALIBRATION_POINT_2; break; + case CALIBRATION_POINT_2: calibration_state = CALIBRATION_POINT_3; break; + case CALIBRATION_POINT_3: calibration_state = CALIBRATION_POINT_4; break; + case CALIBRATION_POINT_4: + if (validate_precision_x(0, 1) && validate_precision_x(2, 3) && validate_precision_y(0, 2) && validate_precision_y(1, 3)) { + calibration_state = CALIBRATION_SUCCESS; + calibration.x = ((calibration_points[2].x - calibration_points[0].x) << 17) / (calibration_points[3].raw_x + calibration_points[2].raw_x - calibration_points[1].raw_x - calibration_points[0].raw_x); + calibration.y = ((calibration_points[1].y - calibration_points[0].y) << 17) / (calibration_points[3].raw_y - calibration_points[2].raw_y + calibration_points[1].raw_y - calibration_points[0].raw_y); + calibration.offset_x = calibration_points[0].x - int16_t(((calibration_points[0].raw_x + calibration_points[1].raw_x) * calibration.x) >> 17); + calibration.offset_y = calibration_points[0].y - int16_t(((calibration_points[0].raw_y + calibration_points[2].raw_y) * calibration.y) >> 17); + calibration.orientation = TOUCH_LANDSCAPE; + } + else if (validate_precision_y(0, 1) && validate_precision_y(2, 3) && validate_precision_x(0, 2) && validate_precision_x(1, 3)) { + calibration_state = CALIBRATION_SUCCESS; + calibration.x = ((calibration_points[2].x - calibration_points[0].x) << 17) / (calibration_points[3].raw_y + calibration_points[2].raw_y - calibration_points[1].raw_y - calibration_points[0].raw_y); + calibration.y = ((calibration_points[1].y - calibration_points[0].y) << 17) / (calibration_points[3].raw_x - calibration_points[2].raw_x + calibration_points[1].raw_x - calibration_points[0].raw_x); + calibration.offset_x = calibration_points[0].x - int16_t(((calibration_points[0].raw_y + calibration_points[1].raw_y) * calibration.x) >> 17); + calibration.offset_y = calibration_points[0].y - int16_t(((calibration_points[0].raw_x + calibration_points[2].raw_x) * calibration.y) >> 17); + calibration.orientation = TOUCH_PORTRAIT; + } + else { + calibration_state = CALIBRATION_FAIL; + calibration_reset(); + } + + if (calibration_state == CALIBRATION_SUCCESS) { + SERIAL_ECHOLN("Touch screen calibration completed"); + SERIAL_ECHOLNPAIR("TOUCH_CALIBRATION_X ", calibration.x); + SERIAL_ECHOLNPAIR("TOUCH_CALIBRATION_Y ", calibration.y); + SERIAL_ECHOLNPAIR("TOUCH_OFFSET_X ", calibration.offset_x); + SERIAL_ECHOLNPAIR("TOUCH_OFFSET_Y ", calibration.offset_y); + SERIAL_ECHO("TOUCH_ORIENTATION "); if (calibration.orientation == TOUCH_LANDSCAPE) SERIAL_ECHOLN("TOUCH_LANDSCAPE"); else SERIAL_ECHOLN("TOUCH_PORTRAIT"); + } + break; + default: break; + } + break; + #endif // TOUCH_SCREEN_CALIBRATION + + case MENU_SCREEN: ui.goto_screen((screenFunc_t)control->data); break; + case BACK: ui.goto_previous_screen(); break; + case CLICK: ui.lcd_clicked = true; break; + #if HAS_RESUME_CONTINUE + case RESUME_CONTINUE: extern bool wait_for_user; wait_for_user = false; break; + #endif + case CANCEL: ui.encoderPosition = 0; ui.selection = false; ui.lcd_clicked = true; break; + case CONFIRM: ui.encoderPosition = 1; ui.selection = true; ui.lcd_clicked = true; break; + case MENU_ITEM: ui.encoderPosition = control->data; ui.refresh(); break; + case PAGE_UP: + encoderTopLine = encoderTopLine > LCD_HEIGHT ? encoderTopLine - LCD_HEIGHT : 0; + ui.encoderPosition = ui.encoderPosition > LCD_HEIGHT ? ui.encoderPosition - LCD_HEIGHT : 0; + ui.refresh(); + break; + case PAGE_DOWN: + encoderTopLine = encoderTopLine + 2 * LCD_HEIGHT < screen_items ? encoderTopLine + LCD_HEIGHT : screen_items - LCD_HEIGHT; + ui.encoderPosition = ui.encoderPosition + LCD_HEIGHT < (uint32_t)screen_items ? ui.encoderPosition + LCD_HEIGHT : screen_items; + ui.refresh(); + break; + case SLIDER: hold(control); ui.encoderPosition = (x - control->x) * control->data / control->width; break; + case INCREASE: hold(control, repeat_delay - 5); TERN(AUTO_BED_LEVELING_UBL, ui.external_control ? ubl.encoder_diff++ : ui.encoderPosition++, ui.encoderPosition++); break; + case DECREASE: hold(control, repeat_delay - 5); TERN(AUTO_BED_LEVELING_UBL, ui.external_control ? ubl.encoder_diff-- : ui.encoderPosition--, ui.encoderPosition--); break; + case HEATER: + int8_t heater; + heater = control->data; + ui.clear_lcd(); + if (heater >= 0) { // HotEnd + #if HOTENDS == 1 + MenuItem_int3::action((const char *)GET_TEXT_F(MSG_NOZZLE), &thermalManager.temp_hotend[0].target, 0, thermalManager.heater_maxtemp[0] - 15, []{ thermalManager.start_watching_hotend(0); }); + #else + MenuItemBase::itemIndex = heater; + MenuItem_int3::action((const char *)GET_TEXT_F(MSG_NOZZLE_N), &thermalManager.temp_hotend[heater].target, 0, thermalManager.heater_maxtemp[heater] - 15, []{ thermalManager.start_watching_hotend(MenuItemBase::itemIndex); }); + #endif + } + #if HAS_HEATED_BED + else if (heater == H_BED) { + MenuItem_int3::action((const char *)GET_TEXT_F(MSG_BED), &thermalManager.temp_bed.target, 0, BED_MAXTEMP - 10, thermalManager.start_watching_bed); + } + #endif + #if HAS_HEATED_CHAMBER + else if (heater == H_CHAMBER) { + MenuItem_int3::action((const char *)GET_TEXT_F(MSG_CHAMBER), &thermalManager.temp_chamber.target, 0, CHAMBER_MAXTEMP - 10, thermalManager.start_watching_chamber); + } + #endif + break; + case FAN: + ui.clear_lcd(); + static uint8_t fan, fan_speed; + fan = 0; + fan_speed = thermalManager.fan_speed[fan]; + MenuItem_percent::action((const char *)GET_TEXT_F(MSG_FIRST_FAN_SPEED), &fan_speed, 0, 255, []{ thermalManager.set_fan_speed(fan, fan_speed); }); + break; + case FEEDRATE: + ui.clear_lcd(); + MenuItem_int3::action((const char *)GET_TEXT_F(MSG_SPEED), &feedrate_percentage, 10, 999); + break; + case FLOWRATE: + ui.clear_lcd(); + MenuItemBase::itemIndex = control->data; + #if EXTRUDERS == 1 + MenuItem_int3::action((const char *)GET_TEXT_F(MSG_FLOW), &planner.flow_percentage[MenuItemBase::itemIndex], 10, 999, []{ planner.refresh_e_factor(MenuItemBase::itemIndex); }); + #else + MenuItem_int3::action((const char *)GET_TEXT_F(MSG_FLOW_N), &planner.flow_percentage[MenuItemBase::itemIndex], 10, 999, []{ planner.refresh_e_factor(MenuItemBase::itemIndex); }); + #endif + break; + + #if ENABLED(AUTO_BED_LEVELING_UBL) + case UBL: hold(control, UBL_REPEAT_DELAY); ui.encoderPosition += control->data; break; + #endif + + default: break; + } +} + +void Touch::hold(touch_control_t *control, millis_t delay) { + current_control = control; + if (delay) { + repeat_delay = delay > MIN_REPEAT_DELAY ? delay : MIN_REPEAT_DELAY; + time_to_hold = now + repeat_delay; + } + ui.refresh(); +} + +bool Touch::get_point(int16_t *x, int16_t *y) { + bool is_touched = (calibration.orientation == TOUCH_PORTRAIT ? io.getRawPoint(y, x) : io.getRawPoint(x, y)); + + if (is_touched && calibration.orientation != TOUCH_ORIENTATION_NONE) { + *x = int16_t((int32_t(*x) * calibration.x) >> 16) + calibration.offset_x; + *y = int16_t((int32_t(*y) * calibration.y) >> 16) + calibration.offset_y; + } + return is_touched; +} +Touch touch; + +bool MarlinUI::touch_pressed() { + return touch.is_clicked(); +} + +void add_control(uint16_t x, uint16_t y, TouchControlType control_type, int32_t data, MarlinImage image, bool is_enabled, uint16_t color_enabled, uint16_t color_disabled) { + uint16_t width = Images[image].width; + uint16_t height = Images[image].height; + tft.canvas(x, y, width, height); + tft.add_image(0, 0, image, is_enabled ? color_enabled : color_disabled); + if (is_enabled) + touch.add_control(control_type, x, y, width, height, data); +} + +#endif // TOUCH_SCREEN diff --git a/Marlin/src/lcd/tft/touch.h b/Marlin/src/lcd/tft/touch.h new file mode 100644 index 000000000000..f3e53ae461c5 --- /dev/null +++ b/Marlin/src/lcd/tft/touch.h @@ -0,0 +1,180 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#include "../../inc/MarlinConfigPre.h" + +#if ENABLED(TOUCH_SCREEN) + +#include "tft_color.h" +#include "tft_image.h" + +#include HAL_PATH(../../HAL, tft/xpt2046.h) +#define TOUCH_DRIVER XPT2046 + +#ifndef TOUCH_SCREEN_CALIBRATION_PRECISION + #define TOUCH_SCREEN_CALIBRATION_PRECISION 80 +#endif + +#ifndef TOUCH_SCREEN_HOLD_TO_CALIBRATE_MS + #define TOUCH_SCREEN_HOLD_TO_CALIBRATE_MS 2500 +#endif + +#define TOUCH_ORIENTATION_NONE 0 +#define TOUCH_LANDSCAPE 1 +#define TOUCH_PORTRAIT 2 + +#if !(defined(TOUCH_CALIBRATION_X) || defined(TOUCH_CALIBRATION_Y) || defined(TOUCH_OFFSET_X) || defined(TOUCH_OFFSET_Y) || defined(TOUCH_ORIENTATION)) + #if defined(XPT2046_X_CALIBRATION) && defined(XPT2046_Y_CALIBRATION) && defined(XPT2046_X_OFFSET) && defined(XPT2046_Y_OFFSET) + #define TOUCH_CALIBRATION_X XPT2046_X_CALIBRATION + #define TOUCH_CALIBRATION_Y XPT2046_Y_CALIBRATION + #define TOUCH_OFFSET_X XPT2046_X_OFFSET + #define TOUCH_OFFSET_Y XPT2046_Y_OFFSET + #define TOUCH_ORIENTATION TOUCH_LANDSCAPE + #else + #define TOUCH_CALIBRATION_X 0 + #define TOUCH_CALIBRATION_Y 0 + #define TOUCH_OFFSET_X 0 + #define TOUCH_OFFSET_Y 0 + #define TOUCH_ORIENTATION TOUCH_ORIENTATION_NONE + #endif +#endif + +// Menu Navigation +extern int8_t encoderTopLine, encoderLine, screen_items; + +enum TouchControlType : uint16_t { + NONE = 0x0000, + CALIBRATE, + MENU_SCREEN, + MENU_ITEM, + BACK, + PAGE_UP, + PAGE_DOWN, + CLICK, + RESUME_CONTINUE, + SLIDER, + INCREASE, + DECREASE, + CANCEL, + CONFIRM, + HEATER, + FAN, + FEEDRATE, + FLOWRATE, + UBL, +}; + +typedef void (*screenFunc_t)(); + +void add_control(uint16_t x, uint16_t y, TouchControlType control_type, int32_t data, MarlinImage image, bool is_enabled = true, uint16_t color_enabled = COLOR_CONTROL_ENABLED, uint16_t color_disabled = COLOR_CONTROL_DISABLED); +inline void add_control(uint16_t x, uint16_t y, TouchControlType control_type, MarlinImage image, bool is_enabled = true, uint16_t color_enabled = COLOR_CONTROL_ENABLED, uint16_t color_disabled = COLOR_CONTROL_DISABLED) { add_control(x, y, control_type, 0, image, is_enabled, color_enabled, color_disabled); } +inline void add_control(uint16_t x, uint16_t y, screenFunc_t screen, MarlinImage image, bool is_enabled = true, uint16_t color_enabled = COLOR_CONTROL_ENABLED, uint16_t color_disabled = COLOR_CONTROL_DISABLED) { add_control(x, y, MENU_SCREEN, (int32_t)screen, image, is_enabled, color_enabled, color_disabled); } + +typedef struct __attribute__((__packed__)) { + TouchControlType type; + uint16_t x; + uint16_t y; + uint16_t width; + uint16_t height; + int32_t data; +} touch_control_t; + +typedef struct __attribute__((__packed__)) { + int32_t x; + int32_t y; + int16_t offset_x; + int16_t offset_y; + uint8_t orientation; +} touch_calibration_t; + +typedef struct __attribute__((__packed__)) { + uint16_t x; + uint16_t y; + int16_t raw_x; + int16_t raw_y; +} touch_calibration_point_t; + +enum calibrationState : uint8_t { + CALIBRATION_POINT_1 = 0x00, + CALIBRATION_POINT_2, + CALIBRATION_POINT_3, + CALIBRATION_POINT_4, + CALIBRATION_SUCCESS, + CALIBRATION_FAIL, + CALIBRATION_NONE, +}; + +#define MAX_CONTROLS 16 +#define MINIMUM_HOLD_TIME 15 +#define TOUCH_REPEAT_DELAY 75 +#define MIN_REPEAT_DELAY 25 +#define UBL_REPEAT_DELAY 125 +#define FREE_MOVE_RANGE 32 + +class Touch { + private: + static TOUCH_DRIVER io; + static int16_t x, y; + + static touch_control_t controls[MAX_CONTROLS]; + static touch_control_t *current_control; + static uint16_t controls_count; + + static millis_t now; + static millis_t time_to_hold; + static millis_t repeat_delay; + static millis_t touch_time; + static TouchControlType touch_control_type; + + static inline bool get_point(int16_t *x, int16_t *y); + static void touch(touch_control_t *control); + static void hold(touch_control_t *control, millis_t delay = 0); + + #if ENABLED(TOUCH_SCREEN_CALIBRATION) + static calibrationState calibration_state; + static touch_calibration_point_t calibration_points[4]; + + static bool validate_precision(int32_t a, int32_t b) { return (a > b ? (100 * b) / a : (100 * a) / b) > TOUCH_SCREEN_CALIBRATION_PRECISION; } + static bool validate_precision_x(uint8_t a, uint8_t b) { return validate_precision(calibration_points[a].raw_x, calibration_points[b].raw_x); } + static bool validate_precision_y(uint8_t a, uint8_t b) { return validate_precision(calibration_points[a].raw_y, calibration_points[b].raw_y); } + #endif // TOUCH_SCREEN_CALIBRATION + + public: + static void init(); + static void reset() { controls_count = 0; touch_time = -1; current_control = NULL; } + static void clear() { controls_count = 0; } + static void idle(); + static bool is_clicked() { return touch_control_type == CLICK; } + + static void add_control(TouchControlType type, uint16_t x, uint16_t y, uint16_t width, uint16_t height, int32_t data = 0); + + static touch_calibration_t calibration; + static void calibration_reset() { calibration = {TOUCH_CALIBRATION_X, TOUCH_CALIBRATION_Y, TOUCH_OFFSET_X, TOUCH_OFFSET_Y, TOUCH_ORIENTATION}; } + + #if ENABLED(TOUCH_SCREEN_CALIBRATION) + static calibrationState calibration_start() { calibration = {0, 0, 0, 0, TOUCH_ORIENTATION_NONE}; return calibration_state = CALIBRATION_POINT_1; } + static void calibration_end() { calibration_state = CALIBRATION_NONE; } + static calibrationState get_calibration_state() { return calibration_state; } + #endif // TOUCH_SCREEN_CALIBRATION +}; + +extern Touch touch; + +#endif // TOUCH_SCREEN diff --git a/Marlin/src/lcd/tft/ui_320x240.cpp b/Marlin/src/lcd/tft/ui_320x240.cpp new file mode 100644 index 000000000000..a4ac1465ea25 --- /dev/null +++ b/Marlin/src/lcd/tft/ui_320x240.cpp @@ -0,0 +1,653 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../inc/MarlinConfigPre.h" + +#if HAS_UI_320x240 + +#include "ui_320x240.h" + +#include "../ultralcd.h" +#include "../menu/menu.h" +#include "../../libs/numtostr.h" + +#include "../../sd/cardreader.h" +#include "../../module/temperature.h" +#include "../../module/printcounter.h" +#include "../../module/planner.h" +#include "../../module/motion.h" + +#if DISABLED(LCD_PROGRESS_BAR) && BOTH(FILAMENT_LCD_DISPLAY, SDSUPPORT) + #include "../../feature/filwidth.h" + #include "../../gcode/parser.h" +#endif + +#if ENABLED(AUTO_BED_LEVELING_UBL) + #include "../../feature/bedlevel/bedlevel.h" +#endif + +#if !HAS_LCD_MENU + #error "Seriously? High resolution TFT screen without menu?" +#endif + +static bool draw_menu_navigation = false; + +void MarlinUI::tft_idle() { + #if ENABLED(TOUCH_SCREEN) + if (draw_menu_navigation) { + add_control(48, 206, PAGE_UP, imgPageUp, encoderTopLine > 0); + add_control(240, 206, PAGE_DOWN, imgPageDown, encoderTopLine + LCD_HEIGHT < screen_items); + add_control(144, 206, BACK, imgBack); + draw_menu_navigation = false; + } + #endif + + tft.queue.async(); + TERN_(TOUCH_SCREEN, touch.idle()); +} + +void MarlinUI::init_lcd() { + tft.init(); + tft.set_font(MENU_FONT_NAME); + #ifdef SYMBOLS_FONT_NAME + tft.add_glyphs(SYMBOLS_FONT_NAME); + #endif + TERN_(TOUCH_SCREEN, touch.init()); + clear_lcd(); +} + +bool MarlinUI::detected() { return true; } + +void MarlinUI::clear_lcd() { + #if ENABLED(TOUCH_SCREEN) + touch.reset(); + draw_menu_navigation = false; + #endif + + tft.queue.reset(); + tft.fill(0, 0, TFT_WIDTH, TFT_HEIGHT, COLOR_BACKGROUND); +} + +#if ENABLED(SHOW_BOOTSCREEN) + #ifndef BOOTSCREEN_TIMEOUT + #define BOOTSCREEN_TIMEOUT 1500 + #endif + + void MarlinUI::show_bootscreen() { + tft.queue.reset(); + + tft.canvas(0, 0, TFT_WIDTH, TFT_HEIGHT); + tft.add_image(0, 0, imgBootScreen); // MarlinLogo320x240x16 + + #ifdef WEBSITE_URL + tft.add_text(4, 188, COLOR_WEBSITE_URL, WEBSITE_URL); + #endif + + tft.queue.sync(); + safe_delay(BOOTSCREEN_TIMEOUT); + clear_lcd(); + } +#endif // SHOW_BOOTSCREEN + +void MarlinUI::draw_kill_screen() { + tft.queue.reset(); + tft.fill(0, 0, TFT_WIDTH, TFT_HEIGHT, COLOR_KILL_SCREEN_BG); + + tft.canvas(0, 60, TFT_WIDTH, 20); + tft.set_background(COLOR_KILL_SCREEN_BG); + tft_string.set(status_message); + tft_string.trim(); + tft.add_text(tft_string.center(TFT_WIDTH), 0, COLOR_KILL_SCREEN_TEXT, tft_string); + + tft.canvas(0, 120, TFT_WIDTH, 20); + tft.set_background(COLOR_KILL_SCREEN_BG); + tft_string.set(GET_TEXT(MSG_HALTED)); + tft_string.trim(); + tft.add_text(tft_string.center(TFT_WIDTH), 0, COLOR_KILL_SCREEN_TEXT, tft_string); + + tft.canvas(0, 160, TFT_WIDTH, 20); + tft.set_background(COLOR_KILL_SCREEN_BG); + tft_string.set(GET_TEXT(MSG_PLEASE_RESET)); + tft_string.trim(); + tft.add_text(tft_string.center(TFT_WIDTH), 0, COLOR_KILL_SCREEN_TEXT, tft_string); + + tft.queue.sync(); +} + +void draw_heater_status(uint16_t x, uint16_t y, const int8_t Heater) { + MarlinImage image = imgHotEnd; + uint16_t Color; + float currentTemperature, targetTemperature; + + if (Heater >= 0) { // HotEnd + currentTemperature = thermalManager.degHotend(Heater); + targetTemperature = thermalManager.degTargetHotend(Heater); + } +#if HAS_HEATED_BED + else if (Heater == H_BED) { + currentTemperature = thermalManager.degBed(); + targetTemperature = thermalManager.degTargetBed(); + } +#endif // HAS_HEATED_BED +#if HAS_TEMP_CHAMBER + else if (Heater == H_CHAMBER) { + currentTemperature = thermalManager.degChamber(); + #if HAS_HEATED_CHAMBER + targetTemperature = thermalManager.degTargetChamber(); + #else + targetTemperature = ABSOLUTE_ZERO; + #endif + } +#endif // HAS_TEMP_CHAMBER + else return; + + TERN_(TOUCH_SCREEN, if (targetTemperature >= 0) touch.add_control(HEATER, x, y, 64, 100, Heater)); + tft.canvas(x, y, 64, 100); + tft.set_background(COLOR_BACKGROUND); + + Color = currentTemperature < 0 ? COLOR_INACTIVE : COLOR_COLD; + + if (Heater >= 0) { // HotEnd + if (currentTemperature >= 50) Color = COLOR_HOTEND; + } + #if HAS_HEATED_BED + else if (Heater == H_BED) { + if (currentTemperature >= 50) Color = COLOR_HEATED_BED; + image = targetTemperature > 0 ? imgBedHeated : imgBed; + } + #endif // HAS_HEATED_BED + #if HAS_TEMP_CHAMBER + else if (Heater == H_CHAMBER) { + if (currentTemperature >= 50) Color = COLOR_CHAMBER; + image = targetTemperature > 0 ? imgChamberHeated : imgChamber; + } + #endif // HAS_TEMP_CHAMBER + + tft.add_image(0, 18, image, Color); + + tft_string.set((uint8_t *)i16tostr3rj(currentTemperature + 0.5)); + tft_string.add(LCD_STR_DEGREE); + tft_string.trim(); + tft.add_text(tft_string.center(64) + 2, 72, Color, tft_string); + + if (targetTemperature >= 0) { + tft_string.set((uint8_t *)i16tostr3rj(targetTemperature + 0.5)); + tft_string.add(LCD_STR_DEGREE); + tft_string.trim(); + tft.add_text(tft_string.center(64) + 2, 8, Color, tft_string); + + } +} + +void draw_fan_status(uint16_t x, uint16_t y, const bool blink) { + TERN_(TOUCH_SCREEN, touch.add_control(FAN, x, y, 64, 100)); + tft.canvas(x, y, 64, 100); + tft.set_background(COLOR_BACKGROUND); + + uint8_t fanSpeed = thermalManager.fan_speed[0]; + MarlinImage image; + + if (fanSpeed >= 127) + image = blink ? imgFanFast1 : imgFanFast0; + else if (fanSpeed > 0) + image = blink ? imgFanSlow1 : imgFanSlow0; + else + image = imgFanIdle; + + tft.add_image(0, 10, image, COLOR_FAN); + + tft_string.set((uint8_t *)ui8tostr4pctrj(thermalManager.fan_speed[0])); + tft_string.trim(); + tft.add_text(tft_string.center(64) + 6, 72, COLOR_FAN, tft_string); +} + +void MarlinUI::draw_status_screen() { + const bool blink = get_blink(); + + TERN_(TOUCH_SCREEN, touch.clear()); + + // heaters and fan + uint16_t i, x, y = POS_Y; + + for (i = 0 ; i < ITEMS_COUNT; i++) { + x = (320 / ITEMS_COUNT - 64) / 2 + (320 * i / ITEMS_COUNT); + switch (i) { + #ifdef ITEM_E0 + case ITEM_E0: draw_heater_status(x, y, H_E0); break; + #endif + #ifdef ITEM_E1 + case ITEM_E1: draw_heater_status(x, y, H_E1); break; + #endif + #ifdef ITEM_E2 + case ITEM_E2: draw_heater_status(x, y, H_E2); break; + #endif + #ifdef ITEM_BED + case ITEM_BED: draw_heater_status(x, y, H_BED); break; + #endif + #ifdef ITEM_CHAMBER + case ITEM_CHAMBER: draw_heater_status(x, y, H_CHAMBER); break; + #endif + #ifdef ITEM_FAN + case ITEM_FAN: draw_fan_status(x, y, blink); break; + #endif + } + } + + // coordinates + tft.canvas(4, 103, 312, 24); + tft.set_background(COLOR_BACKGROUND); + tft.add_rectangle(0, 0, 312, 24, COLOR_AXIS_HOMED); + + uint16_t color; + uint16_t offset; + bool is_homed; + + tft.add_text( 10, 3, COLOR_AXIS_HOMED , "X"); + tft.add_text(127, 3, COLOR_AXIS_HOMED , "Y"); + tft.add_text(219, 3, COLOR_AXIS_HOMED , "Z"); + + is_homed = TEST(axis_homed, X_AXIS); + tft_string.set(blink & !is_homed ? "?" : ftostr4sign(LOGICAL_X_POSITION(current_position.x))); + tft.add_text( 68 - tft_string.width(), 3, is_homed ? COLOR_AXIS_HOMED : COLOR_AXIS_NOT_HOMED, tft_string); + + is_homed = TEST(axis_homed, Y_AXIS); + tft_string.set(blink & !is_homed ? "?" : ftostr4sign(LOGICAL_Y_POSITION(current_position.y))); + tft.add_text(185 - tft_string.width(), 3, is_homed ? COLOR_AXIS_HOMED : COLOR_AXIS_NOT_HOMED, tft_string); + + is_homed = TEST(axis_homed, Z_AXIS); + if (blink & !is_homed) { + tft_string.set("?"); + offset = 25; // ".00" + } + else { + const float z = LOGICAL_Z_POSITION(current_position.z); + tft_string.set(ftostr52sp((int16_t)z)); + tft_string.rtrim(); + offset = tft_string.width(); + + tft_string.set(ftostr52sp(z)); + offset += 25 - tft_string.width(); + } + tft.add_text(301 - tft_string.width() - offset, 3, is_homed ? COLOR_AXIS_HOMED : COLOR_AXIS_NOT_HOMED, tft_string); + + // feed rate + tft.canvas(70, 136, 80, 32); + tft.set_background(COLOR_BACKGROUND); + color = feedrate_percentage == 100 ? COLOR_RATE_100 : COLOR_RATE_ALTERED; + tft.add_image(0, 0, imgFeedRate, color); + tft_string.set(i16tostr3rj(feedrate_percentage)); + tft_string.add('%'); + tft.add_text(32, 6, color , tft_string); + TERN_(TOUCH_SCREEN, touch.add_control(FEEDRATE, 70, 136, 80, 32)); + + // flow rate + tft.canvas(170, 136, 80, 32); + tft.set_background(COLOR_BACKGROUND); + color = planner.flow_percentage[0] == 100 ? COLOR_RATE_100 : COLOR_RATE_ALTERED; + tft.add_image(0, 0, imgFlowRate, color); + tft_string.set(i16tostr3rj(planner.flow_percentage[active_extruder])); + tft_string.add('%'); + tft.add_text(32, 6, color , tft_string); + TERN_(TOUCH_SCREEN, touch.add_control(FLOWRATE, 170, 136, 80, 32, active_extruder)); + + // print duration + char buffer[14]; + duration_t elapsed = print_job_timer.duration(); + elapsed.toDigital(buffer); + + tft.canvas(96, 176, 128, 20); + tft.set_background(COLOR_BACKGROUND); + tft_string.set(buffer); + tft.add_text(tft_string.center(128), 0, COLOR_PRINT_TIME, tft_string); + + // progress bar + const uint8_t progress = ui.get_progress_percent(); + tft.canvas(4, 198, 312, 9); + tft.set_background(COLOR_PROGRESS_BG); + tft.add_rectangle(0, 0, 312, 9, COLOR_PROGRESS_FRAME); + if (progress) + tft.add_bar(1, 1, (310 * progress) / 100, 7, COLOR_PROGRESS_BAR); + + // status message + tft.canvas(0, 216, 320, 20); + tft.set_background(COLOR_BACKGROUND); + tft_string.set(status_message); + tft_string.trim(); + tft.add_text(tft_string.center(TFT_WIDTH), 0, COLOR_STATUS_MESSAGE, tft_string); + + #if ENABLED(TOUCH_SCREEN) + add_control(256, 130, menu_main, imgSettings); + TERN_(SDSUPPORT, add_control(0, 130, menu_media, imgSD, card.isMounted() && !printingIsActive(), COLOR_CONTROL_ENABLED, card.isMounted() && printingIsActive() ? COLOR_BUSY : COLOR_CONTROL_DISABLED)); + #endif +} + +// Draw a static item with no left-right margin required. Centered by default. +void MenuItem_static::draw(const uint8_t row, PGM_P const pstr, const uint8_t style/*=SS_DEFAULT*/, const char * const vstr/*=nullptr*/) { + menu_item(row); + tft_string.set(pstr, itemIndex, itemString); + if (vstr) + tft_string.add(vstr); + tft.add_text(tft_string.center(TFT_WIDTH), MENU_TEXT_Y_OFFSET, COLOR_YELLOW, tft_string); +} + +// Draw a generic menu item with pre_char (if selected) and post_char +void MenuItemBase::_draw(const bool sel, const uint8_t row, PGM_P const pstr, const char pre_char, const char post_char) { + menu_item(row, sel); + + uint8_t *string = (uint8_t *)pstr; + MarlinImage image = noImage; + switch (*string) { + case 0x01: image = imgRefresh; break; // LCD_STR_REFRESH + case 0x02: image = imgDirectory; break; // LCD_STR_FOLDER + } + + uint8_t offset = MENU_TEXT_X_OFFSET; + if (image != noImage) { + string++; + offset = 32; + tft.add_image(0, 0, image, COLOR_MENU_TEXT, sel ? COLOR_SELECTION_BG : COLOR_BACKGROUND); + } + + tft_string.set(string, itemIndex, itemString); + tft.add_text(offset, MENU_TEXT_Y_OFFSET, COLOR_MENU_TEXT, tft_string); +} + +// Draw a menu item with a (potentially) editable value +void MenuEditItemBase::draw(const bool sel, const uint8_t row, PGM_P const pstr, const char* const data, const bool pgm) { + menu_item(row, sel); + + tft_string.set(pstr, itemIndex, itemString); + tft.add_text(MENU_TEXT_X_OFFSET, MENU_TEXT_Y_OFFSET, COLOR_MENU_TEXT, tft_string); + if (data) { + tft_string.set(data); + tft.add_text(TFT_WIDTH - MENU_TEXT_X_OFFSET - tft_string.width(), MENU_TEXT_Y_OFFSET, COLOR_MENU_VALUE, tft_string); + } +} + +// Low-level draw_edit_screen can be used to draw an edit screen from anyplace +void MenuEditItemBase::draw_edit_screen(PGM_P const pstr, const char* const value/*=nullptr*/) { + ui.encoder_direction_normal(); + TERN_(TOUCH_SCREEN, touch.clear()); + + uint16_t line = 1; + + menu_line(line++); + tft_string.set(pstr, itemIndex, itemString); + tft_string.trim(); + tft.add_text(tft_string.center(TFT_WIDTH), MENU_TEXT_Y_OFFSET, COLOR_MENU_TEXT, tft_string); + + TERN_(AUTO_BED_LEVELING_UBL, if (ui.external_control) line++); // ftostr52() will overwrite *value so *value has to be displayed first + + menu_line(line); + tft_string.set(value); + tft_string.trim(); + tft.add_text(tft_string.center(TFT_WIDTH), MENU_TEXT_Y_OFFSET, COLOR_MENU_VALUE, tft_string); + + #if ENABLED(AUTO_BED_LEVELING_UBL) + if (ui.external_control) { + menu_line(line - 1); + + tft_string.set(X_LBL); + tft.add_text(52, MENU_TEXT_Y_OFFSET, COLOR_MENU_TEXT, tft_string); + tft_string.set(ftostr52(LOGICAL_X_POSITION(current_position.x))); + tft_string.trim(); + tft.add_text(144 - tft_string.width(), MENU_TEXT_Y_OFFSET, COLOR_MENU_VALUE, tft_string); + + tft_string.set(Y_LBL); + tft.add_text(176, MENU_TEXT_Y_OFFSET, COLOR_MENU_TEXT, tft_string); + tft_string.set(ftostr52(LOGICAL_X_POSITION(current_position.y))); + tft_string.trim(); + tft.add_text(268 - tft_string.width(), MENU_TEXT_Y_OFFSET, COLOR_MENU_VALUE, tft_string); + } + #endif + + extern screenFunc_t _manual_move_func_ptr; + if (ui.currentScreen != _manual_move_func_ptr && !ui.external_control) { + + #define SLIDER_LENGHT 224 + #define SLIDER_Y_POSITION 140 + + tft.canvas((TFT_WIDTH - SLIDER_LENGHT) / 2, SLIDER_Y_POSITION, SLIDER_LENGHT, 16); + tft.set_background(COLOR_BACKGROUND); + + int16_t position = (SLIDER_LENGHT - 2) * ui.encoderPosition / maxEditValue; + tft.add_bar(0, 7, 1, 2, ui.encoderPosition == 0 ? COLOR_SLIDER_INACTIVE : COLOR_SLIDER); + tft.add_bar(1, 6, position, 4, COLOR_SLIDER); + tft.add_bar(position + 1, 6, SLIDER_LENGHT - 2 - position, 4, COLOR_SLIDER_INACTIVE); + tft.add_bar(SLIDER_LENGHT - 1, 7, 1, 2, int32_t(ui.encoderPosition) == maxEditValue ? COLOR_SLIDER : COLOR_SLIDER_INACTIVE); + + #if ENABLED(TOUCH_SCREEN) + tft.add_image((SLIDER_LENGHT - 8) * ui.encoderPosition / maxEditValue, 0, imgSlider, COLOR_SLIDER); + touch.add_control(SLIDER, (TFT_WIDTH - SLIDER_LENGHT) / 2, SLIDER_Y_POSITION - 8, SLIDER_LENGHT, 32, maxEditValue); + #endif + } + + #if ENABLED(TOUCH_SCREEN) + add_control(32, 176, DECREASE, imgDecrease); + add_control(224, 176, INCREASE, imgIncrease); + add_control(128, 176, CLICK, imgConfirm); + #endif +} + +// The Select Screen presents a prompt and two "buttons" +void MenuItem_confirm::draw_select_screen(PGM_P const yes, PGM_P const no, const bool yesno, PGM_P const pref, const char * const string/*=nullptr*/, PGM_P const suff/*=nullptr*/) { + uint16_t line = 1; + + if (string == NULL) line++; + + menu_line(line++); + tft_string.set(pref); + tft_string.trim(); + tft.add_text(tft_string.center(TFT_WIDTH), MENU_TEXT_Y_OFFSET, COLOR_MENU_TEXT, tft_string); + + if (string) { + menu_line(line++); + tft_string.set(string); + tft_string.trim(); + tft.add_text(tft_string.center(TFT_WIDTH), MENU_TEXT_Y_OFFSET, COLOR_MENU_TEXT, tft_string); + } + + if (suff) { + menu_line(line); + tft_string.set(suff); + tft_string.trim(); + tft.add_text(tft_string.center(TFT_WIDTH), MENU_TEXT_Y_OFFSET, COLOR_MENU_TEXT, tft_string); + } + #if ENABLED(TOUCH_SCREEN) + add_control(48, 176, CANCEL, imgCancel, true, yesno ? HALF(COLOR_CONTROL_CANCEL) : COLOR_CONTROL_CANCEL); + add_control(208, 176, CONFIRM, imgConfirm, true, yesno ? COLOR_CONTROL_CONFIRM : HALF(COLOR_CONTROL_CONFIRM)); + #endif +} + +#if ENABLED(SDSUPPORT) + void MenuItem_sdbase::draw(const bool sel, const uint8_t row, PGM_P const, CardReader &theCard, const bool isDir) { + menu_item(row, sel); + if (isDir) + tft.add_image(0, 0, imgDirectory, COLOR_MENU_TEXT, sel ? COLOR_SELECTION_BG : COLOR_BACKGROUND); + tft.add_text(32, MENU_TEXT_Y_OFFSET, COLOR_MENU_TEXT, theCard.longest_filename()); + } +#endif + +#if ENABLED(ADVANCED_PAUSE_FEATURE) + void MarlinUI::draw_hotend_status(const uint8_t row, const uint8_t extruder) { + #if ENABLED(TOUCH_SCREEN) + touch.clear(); + draw_menu_navigation = false; + touch.add_control(RESUME_CONTINUE , 0, 0, 320, 240); + #endif + + menu_line(row); + tft_string.set(GET_TEXT(MSG_FILAMENT_CHANGE_NOZZLE)); + tft_string.add('E'); + tft_string.add((char)('1' + extruder)); + tft_string.add(' '); + tft_string.add(i16tostr3rj(thermalManager.degHotend(extruder))); + tft_string.add(LCD_STR_DEGREE); + tft_string.add(" / "); + tft_string.add(i16tostr3rj(thermalManager.degTargetHotend(extruder))); + tft_string.add(LCD_STR_DEGREE); + tft_string.trim(); + tft.add_text(tft_string.center(TFT_WIDTH), MENU_TEXT_Y_OFFSET, COLOR_MENU_TEXT, tft_string); + } +#endif // ADVANCED_PAUSE_FEATURE + +#if ENABLED(AUTO_BED_LEVELING_UBL) + #define GRID_OFFSET_X 8 + #define GRID_OFFSET_Y 8 + #define GRID_WIDTH 144 + #define GRID_HEIGHT 144 + #define CONTROL_OFFSET 8 + + void MarlinUI::ubl_plot(const uint8_t x_plot, const uint8_t y_plot) { + + tft.canvas(GRID_OFFSET_X, GRID_OFFSET_Y, GRID_WIDTH, GRID_HEIGHT); + tft.set_background(COLOR_BACKGROUND); + tft.add_rectangle(0, 0, GRID_WIDTH, GRID_HEIGHT, COLOR_WHITE); + + for (uint16_t x = 0; x < GRID_MAX_POINTS_X ; x++) + for (uint16_t y = 0; y < GRID_MAX_POINTS_Y ; y++) + if (position_is_reachable({ ubl.mesh_index_to_xpos(x), ubl.mesh_index_to_ypos(y) })) + tft.add_bar(1 + (x * 2 + 1) * (GRID_WIDTH - 4) / GRID_MAX_POINTS_X / 2, GRID_HEIGHT - 3 - ((y * 2 + 1) * (GRID_HEIGHT - 4) / GRID_MAX_POINTS_Y / 2), 2, 2, COLOR_UBL); + + tft.add_rectangle((x_plot * 2 + 1) * (GRID_WIDTH - 4) / GRID_MAX_POINTS_X / 2 - 1, GRID_HEIGHT - 5 - ((y_plot * 2 + 1) * (GRID_HEIGHT - 4) / GRID_MAX_POINTS_Y / 2), 6, 6, COLOR_UBL); + + const xy_pos_t pos = { ubl.mesh_index_to_xpos(x_plot), ubl.mesh_index_to_ypos(y_plot) }, + lpos = pos.asLogical(); + + tft.canvas(216, GRID_OFFSET_Y + (GRID_HEIGHT - 32) / 2 - 32, 96, 32); + tft.set_background(COLOR_BACKGROUND); + tft_string.set(X_LBL); + tft.add_text(0, MENU_TEXT_Y_OFFSET, COLOR_MENU_TEXT, tft_string); + tft_string.set(ftostr52(lpos.x)); + tft_string.trim(); + tft.add_text(96 - tft_string.width(), MENU_TEXT_Y_OFFSET, COLOR_MENU_VALUE, tft_string); + + tft.canvas(216, GRID_OFFSET_Y + (GRID_HEIGHT - 32) / 2, 96, 32); + tft.set_background(COLOR_BACKGROUND); + tft_string.set(Y_LBL); + tft.add_text(0, MENU_TEXT_Y_OFFSET, COLOR_MENU_TEXT, tft_string); + tft_string.set(ftostr52(lpos.y)); + tft_string.trim(); + tft.add_text(96 - tft_string.width(), MENU_TEXT_Y_OFFSET, COLOR_MENU_VALUE, tft_string); + + tft.canvas(216, GRID_OFFSET_Y + (GRID_HEIGHT - 32) / 2 + 32, 96, 32); + tft.set_background(COLOR_BACKGROUND); + tft_string.set(Z_LBL); + tft.add_text(0, MENU_TEXT_Y_OFFSET, COLOR_MENU_TEXT, tft_string); + tft_string.set(isnan(ubl.z_values[x_plot][y_plot]) ? "-----" : ftostr43sign(ubl.z_values[x_plot][y_plot])); + tft_string.trim(); + tft.add_text(96 - tft_string.width(), MENU_TEXT_Y_OFFSET, COLOR_MENU_VALUE, tft_string); + + + tft.canvas(GRID_OFFSET_X + (GRID_WIDTH - 32) / 2, GRID_OFFSET_Y + GRID_HEIGHT + CONTROL_OFFSET - 1, 32, 32); + tft.set_background(COLOR_BACKGROUND); + tft_string.set(ui8tostr3rj(x_plot)); + tft_string.trim(); + tft.add_text(tft_string.center(32), MENU_TEXT_Y_OFFSET, COLOR_MENU_VALUE, tft_string); + + tft.canvas(GRID_OFFSET_X + GRID_WIDTH + CONTROL_OFFSET, GRID_OFFSET_Y + (GRID_HEIGHT - 27) / 2, 32, 32); + tft.set_background(COLOR_BACKGROUND); + tft_string.set(ui8tostr3rj(y_plot)); + tft_string.trim(); + tft.add_text(tft_string.center(32), MENU_TEXT_Y_OFFSET, COLOR_MENU_VALUE, tft_string); + + #if ENABLED(TOUCH_SCREEN) + touch.clear(); + draw_menu_navigation = false; + add_control(GRID_OFFSET_X + GRID_WIDTH + CONTROL_OFFSET, GRID_OFFSET_Y + CONTROL_OFFSET, UBL, ENCODER_STEPS_PER_MENU_ITEM * GRID_MAX_POINTS_X, imgUp); + add_control(GRID_OFFSET_X + GRID_WIDTH + CONTROL_OFFSET, GRID_OFFSET_Y + GRID_HEIGHT - CONTROL_OFFSET - 32, UBL, - ENCODER_STEPS_PER_MENU_ITEM * GRID_MAX_POINTS_X, imgDown); + add_control(GRID_OFFSET_X + CONTROL_OFFSET, GRID_OFFSET_Y + GRID_HEIGHT + CONTROL_OFFSET, UBL, - ENCODER_STEPS_PER_MENU_ITEM, imgLeft); + add_control(GRID_OFFSET_X + GRID_WIDTH - CONTROL_OFFSET - 32, GRID_OFFSET_Y + GRID_HEIGHT + CONTROL_OFFSET, UBL, ENCODER_STEPS_PER_MENU_ITEM, imgRight); + add_control(224, GRID_OFFSET_Y + GRID_HEIGHT + CONTROL_OFFSET, CLICK, imgLeveling); + add_control(144, 206, BACK, imgBack); + #endif + } +#endif // AUTO_BED_LEVELING_UBL + +#if ENABLED(TOUCH_SCREEN_CALIBRATION) + void MarlinUI::touch_calibration() { + static uint16_t x, y; + + calibrationState calibration_stage = touch.get_calibration_state(); + + if (calibration_stage == CALIBRATION_NONE) { + defer_status_screen(true); + clear_lcd(); + calibration_stage = touch.calibration_start(); + } + else { + tft.canvas(x - 15, y - 15, 31, 31); + tft.set_background(COLOR_BACKGROUND); + } + + x = 20; y = 20; + touch.clear(); + + if (calibration_stage < CALIBRATION_SUCCESS) { + switch(calibration_stage) { + case CALIBRATION_POINT_1: tft_string.set("Top Left"); break; + case CALIBRATION_POINT_2: y = TFT_HEIGHT - 21; tft_string.set("Bottom Left"); break; + case CALIBRATION_POINT_3: x = TFT_WIDTH - 21; tft_string.set("Top Right"); break; + case CALIBRATION_POINT_4: x = TFT_WIDTH - 21; y = TFT_HEIGHT - 21; tft_string.set("Bottom Right"); break; + default: break; + } + + tft.canvas(x - 15, y - 15, 31, 31); + tft.set_background(COLOR_BACKGROUND); + tft.add_bar(0, 15, 31, 1, COLOR_TOUCH_CALIBRATION); + tft.add_bar(15, 0, 1, 31, COLOR_TOUCH_CALIBRATION); + + touch.add_control(CALIBRATE, 0, 0, TFT_WIDTH, TFT_HEIGHT, uint32_t(x) << 16 | uint32_t(y)); + } + else { + tft_string.set(calibration_stage == CALIBRATION_SUCCESS ? "Calibration Completed" : "Calibration Failed"); + defer_status_screen(false); + touch.calibration_end(); + touch.add_control(BACK, 0, 0, TFT_WIDTH, TFT_HEIGHT); + } + + tft.canvas(0, (TFT_HEIGHT - tft_string.font_height()) >> 1, TFT_WIDTH, tft_string.font_height()); + tft.set_background(COLOR_BACKGROUND); + tft.add_text(tft_string.center(TFT_WIDTH), 0, COLOR_MENU_TEXT, tft_string); + } +#endif // TOUCH_SCREEN_CALIBRATION + +void menu_line(const uint8_t row, uint16_t color) { + tft.canvas(0, 2 + 34 * row, TFT_WIDTH, 32); + tft.set_background(color); +} + +void menu_pause_option(); + +void menu_item(const uint8_t row, bool sel ) { + #if ENABLED(TOUCH_SCREEN) + if (row == 0) { + touch.clear(); + draw_menu_navigation = TERN(ADVANCED_PAUSE_FEATURE, ui.currentScreen != menu_pause_option, true); + } + #endif + + menu_line(row, sel ? COLOR_SELECTION_BG : COLOR_BACKGROUND); + TERN_(TOUCH_SCREEN, touch.add_control(sel ? CLICK : MENU_ITEM, 0, 2 + 34 * row, 320, 32, encoderTopLine + row)); +} + +#endif // HAS_UI_320x240 diff --git a/Marlin/src/lcd/tft/ui_320x240.h b/Marlin/src/lcd/tft/ui_320x240.h new file mode 100644 index 000000000000..ed69acbcd2e9 --- /dev/null +++ b/Marlin/src/lcd/tft/ui_320x240.h @@ -0,0 +1,106 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#include "../../inc/MarlinConfigPre.h" + +#include "tft.h" +#include "tft_image.h" + +#if ENABLED(TOUCH_SCREEN) + #include "touch.h" +#endif + +void draw_heater_status(uint16_t x, uint16_t y, const int8_t Heater); +void draw_fan_status(uint16_t x, uint16_t y, const bool blink); + +#define MENU_TEXT_X_OFFSET 10 +#define MENU_TEXT_Y_OFFSET 7 +void menu_line(const uint8_t row, uint16_t color = COLOR_BACKGROUND); +void menu_item(const uint8_t row, bool sel = false); + +#define MENU_FONT_NAME Helvetica14 +#define SYMBOLS_FONT_NAME Helvetica14_symbols + +#define ABSOLUTE_ZERO -273.15 + +const tImage Images[imgCount] = { + MarlinLogo320x240x16, + HotEnd_64x64x4, + Bed_64x64x4, + Bed_Heated_64x64x4, + Chamber_64x64x4, + Chamber_Heated_64x64x4, + Fan0_64x64x4, + Fan_Slow0_64x64x4, + Fan_Slow1_64x64x4, + Fan_Fast0_64x64x4, + Fan_Fast1_64x64x4, + Feedrate_32x32x4, + Flowrate_32x32x4, + SD_64x64x4, + Menu_64x64x4, + Settings_64x64x4, + Directory_32x32x4, + Confirm_64x64x4, + Cancel_64x64x4, + Increase_64x64x4, + Decrease_64x64x4, + Back_32x32x4, + Up_32x32x4, + Down_32x32x4, + Left_32x32x4, + Right_32x32x4, + Refresh_32x32x4, + Leveling_32x32x4, + Slider8x16x4, +}; + +#if HAS_TEMP_CHAMBER && HOTENDS > 1 + #define ITEM_E0 0 + #define ITEM_E1 1 + #define ITEM_BED 2 + #define ITEM_CHAMBER 3 + #define ITEM_FAN 4 + #define ITEMS_COUNT 5 + #define POS_Y 0 +#elif HAS_TEMP_CHAMBER + #define ITEM_E0 0 + #define ITEM_BED 1 + #define ITEM_CHAMBER 2 + #define ITEM_FAN 3 + #define ITEMS_COUNT 4 + #define POS_Y 0 +#elif HOTENDS > 1 + #define ITEM_E0 0 + #define ITEM_E1 1 + #define ITEM_BED 2 + #define ITEM_FAN 3 + #define ITEMS_COUNT 4 + #define POS_Y 0 +#else + #define ITEM_E0 0 + #define ITEM_BED 1 + #define ITEM_FAN 2 + #define ITEMS_COUNT 3 + #define POS_Y 0 +#endif diff --git a/Marlin/src/lcd/tft/ui_480x320.cpp b/Marlin/src/lcd/tft/ui_480x320.cpp new file mode 100644 index 000000000000..c9f0bfd0e9b1 --- /dev/null +++ b/Marlin/src/lcd/tft/ui_480x320.cpp @@ -0,0 +1,657 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../inc/MarlinConfigPre.h" + +#if HAS_UI_480x320 + +#include "ui_480x320.h" + +#include "../ultralcd.h" +#include "../menu/menu.h" +#include "../../libs/numtostr.h" + +#include "../../sd/cardreader.h" +#include "../../module/temperature.h" +#include "../../module/printcounter.h" +#include "../../module/planner.h" +#include "../../module/motion.h" + +#if DISABLED(LCD_PROGRESS_BAR) && BOTH(FILAMENT_LCD_DISPLAY, SDSUPPORT) + #include "../../feature/filwidth.h" + #include "../../gcode/parser.h" +#endif + +#if ENABLED(AUTO_BED_LEVELING_UBL) + #include "../../feature/bedlevel/bedlevel.h" +#endif + +#if !HAS_LCD_MENU + #error "Seriously? High resolution TFT screen without menu?" +#endif + +static bool draw_menu_navigation = false; + +void MarlinUI::tft_idle() { + #if ENABLED(TOUCH_SCREEN) + if (draw_menu_navigation) { + add_control(104, 286, PAGE_UP, imgPageUp, encoderTopLine > 0); + add_control(344, 286, PAGE_DOWN, imgPageDown, encoderTopLine + LCD_HEIGHT < screen_items); + add_control(224, 286, BACK, imgBack); + draw_menu_navigation = false; + } + #endif + + tft.queue.async(); + TERN_(TOUCH_SCREEN, touch.idle()); +} + +void MarlinUI::init_lcd() { + tft.init(); + tft.set_font(MENU_FONT_NAME); + #ifdef SYMBOLS_FONT_NAME + tft.add_glyphs(SYMBOLS_FONT_NAME); + #endif + TERN_(TOUCH_SCREEN, touch.init()); + clear_lcd(); +} + +bool MarlinUI::detected() { return true; } + +void MarlinUI::clear_lcd() { + #if ENABLED(TOUCH_SCREEN) + touch.reset(); + draw_menu_navigation = false; + #endif + + tft.queue.reset(); + tft.fill(0, 0, TFT_WIDTH, TFT_HEIGHT, COLOR_BACKGROUND); +} + +#if ENABLED(SHOW_BOOTSCREEN) + #ifndef BOOTSCREEN_TIMEOUT + #define BOOTSCREEN_TIMEOUT 1500 + #endif + + #undef BOOTSCREEN_TIMEOUT + #define BOOTSCREEN_TIMEOUT 5000 + + void MarlinUI::show_bootscreen() { + tft.queue.reset(); + + tft.canvas(0, 0, TFT_WIDTH, TFT_HEIGHT); + tft.set_background(COLOR_BACKGROUND); + tft.add_image(142, 130, imgBootScreen); // MarlinLogo195x59x16 + + #ifdef WEBSITE_URL + tft.add_text(8, 250, COLOR_WEBSITE_URL, WEBSITE_URL); + #endif + + tft.queue.sync(); + safe_delay(BOOTSCREEN_TIMEOUT); + clear_lcd(); + } +#endif // SHOW_BOOTSCREEN + +void MarlinUI::draw_kill_screen() { + tft.queue.reset(); + tft.fill(0, 0, TFT_WIDTH, TFT_HEIGHT, COLOR_KILL_SCREEN_BG); + + uint16_t line = 2; + + menu_line(line++, COLOR_KILL_SCREEN_BG); + tft_string.set(status_message); + tft_string.trim(); + tft.add_text(tft_string.center(TFT_WIDTH), 0, COLOR_MENU_TEXT, tft_string); + + line++; + menu_line(line++, COLOR_KILL_SCREEN_BG); + tft_string.set(GET_TEXT(MSG_HALTED)); + tft_string.trim(); + tft.add_text(tft_string.center(TFT_WIDTH), 0, COLOR_MENU_TEXT, tft_string); + + menu_line(line++, COLOR_KILL_SCREEN_BG); + tft_string.set(GET_TEXT(MSG_PLEASE_RESET)); + tft_string.trim(); + tft.add_text(tft_string.center(TFT_WIDTH), 0, COLOR_MENU_TEXT, tft_string); + + tft.queue.sync(); +} + +void draw_heater_status(uint16_t x, uint16_t y, const int8_t Heater) { + MarlinImage image = imgHotEnd; + uint16_t Color; + float currentTemperature, targetTemperature; + + if (Heater >= 0) { // HotEnd + currentTemperature = thermalManager.degHotend(Heater); + targetTemperature = thermalManager.degTargetHotend(Heater); + } +#if HAS_HEATED_BED + else if (Heater == H_BED) { + currentTemperature = thermalManager.degBed(); + targetTemperature = thermalManager.degTargetBed(); + } +#endif // HAS_HEATED_BED +#if HAS_TEMP_CHAMBER + else if (Heater == H_CHAMBER) { + currentTemperature = thermalManager.degChamber(); + #if HAS_HEATED_CHAMBER + targetTemperature = thermalManager.degTargetChamber(); + #else + targetTemperature = ABSOLUTE_ZERO; + #endif + } +#endif // HAS_TEMP_CHAMBER + else return; + + TERN_(TOUCH_SCREEN, if (targetTemperature >= 0) touch.add_control(HEATER, x, y, 80, 120, Heater)); + tft.canvas(x, y, 80, 120); + tft.set_background(COLOR_BACKGROUND); + + Color = currentTemperature < 0 ? COLOR_INACTIVE : COLOR_COLD; + + if (Heater >= 0) { // HotEnd + if (currentTemperature >= 50) Color = COLOR_HOTEND; + } + #if HAS_HEATED_BED + else if (Heater == H_BED) { + if (currentTemperature >= 50) Color = COLOR_HEATED_BED; + image = targetTemperature > 0 ? imgBedHeated : imgBed; + } + #endif // HAS_HEATED_BED + #if HAS_TEMP_CHAMBER + else if (Heater == H_CHAMBER) { + if (currentTemperature >= 50) Color = COLOR_CHAMBER; + image = targetTemperature > 0 ? imgChamberHeated : imgChamber; + } + #endif // HAS_TEMP_CHAMBER + + tft.add_image(8, 28, image, Color); + + tft_string.set((uint8_t *)i16tostr3rj(currentTemperature + 0.5)); + tft_string.add(LCD_STR_DEGREE); + tft_string.trim(); + tft.add_text(tft_string.center(80) + 2, 82, Color, tft_string); + + if (targetTemperature >= 0) { + tft_string.set((uint8_t *)i16tostr3rj(targetTemperature + 0.5)); + tft_string.add(LCD_STR_DEGREE); + tft_string.trim(); + tft.add_text(tft_string.center(80) + 2, 8, Color, tft_string); + } +} + +void draw_fan_status(uint16_t x, uint16_t y, const bool blink) { + TERN_(TOUCH_SCREEN, touch.add_control(FAN, x, y, 80, 120)); + tft.canvas(x, y, 80, 120); + tft.set_background(COLOR_BACKGROUND); + + uint8_t fanSpeed = thermalManager.fan_speed[0]; + MarlinImage image; + + if (fanSpeed >= 127) + image = blink ? imgFanFast1 : imgFanFast0; + else if (fanSpeed > 0) + image = blink ? imgFanSlow1 : imgFanSlow0; + else + image = imgFanIdle; + + tft.add_image(8, 20, image, COLOR_FAN); + + tft_string.set((uint8_t *)ui8tostr4pctrj(thermalManager.fan_speed[0])); + tft_string.trim(); + tft.add_text(tft_string.center(80) + 6, 82, COLOR_FAN, tft_string); +} + +void MarlinUI::draw_status_screen() { + const bool blink = get_blink(); + + TERN_(TOUCH_SCREEN, touch.clear()); + + // heaters and fan + uint16_t i, x, y = POS_Y; + + for (i = 0 ; i < ITEMS_COUNT; i++) { + x = (TFT_WIDTH / ITEMS_COUNT - 80) / 2 + (TFT_WIDTH * i / ITEMS_COUNT); + switch (i) { + #ifdef ITEM_E0 + case ITEM_E0: draw_heater_status(x, y, H_E0); break; + #endif + #ifdef ITEM_E1 + case ITEM_E1: draw_heater_status(x, y, H_E1); break; + #endif + #ifdef ITEM_E2 + case ITEM_E2: draw_heater_status(x, y, H_E2); break; + #endif + #ifdef ITEM_BED + case ITEM_BED: draw_heater_status(x, y, H_BED); break; + #endif + #ifdef ITEM_CHAMBER + case ITEM_CHAMBER: draw_heater_status(x, y, H_CHAMBER); break; + #endif + #ifdef ITEM_FAN + case ITEM_FAN: draw_fan_status(x, y, blink); break; + #endif + } + } + + // coordinates + tft.canvas(4, 132, TFT_WIDTH - 8, 34); + tft.set_background(COLOR_BACKGROUND); + tft.add_rectangle(0, 0, TFT_WIDTH - 8, 34, COLOR_AXIS_HOMED); + + uint16_t color; + uint16_t offset; + bool is_homed; + + tft.add_text( 16, 3, COLOR_AXIS_HOMED , "X"); + tft.add_text(192, 3, COLOR_AXIS_HOMED , "Y"); + tft.add_text(330, 3, COLOR_AXIS_HOMED , "Z"); + + is_homed = TEST(axis_homed, X_AXIS); + tft_string.set(blink & !is_homed ? "?" : ftostr4sign(LOGICAL_X_POSITION(current_position.x))); + tft.add_text(102 - tft_string.width(), 3, is_homed ? COLOR_AXIS_HOMED : COLOR_AXIS_NOT_HOMED, tft_string); + + is_homed = TEST(axis_homed, Y_AXIS); + tft_string.set(blink & !is_homed ? "?" : ftostr4sign(LOGICAL_Y_POSITION(current_position.y))); + tft.add_text(280 - tft_string.width(), 3, is_homed ? COLOR_AXIS_HOMED : COLOR_AXIS_NOT_HOMED, tft_string); + + is_homed = TEST(axis_homed, Z_AXIS); + if (blink & !is_homed) { + tft_string.set("?"); + offset = 32; // ".00" + } + else { + const float z = LOGICAL_Z_POSITION(current_position.z); + tft_string.set(ftostr52sp((int16_t)z)); + tft_string.rtrim(); + offset = tft_string.width(); + + tft_string.set(ftostr52sp(z)); + offset += 32 - tft_string.width(); + } + tft.add_text(455 - tft_string.width() - offset, 3, is_homed ? COLOR_AXIS_HOMED : COLOR_AXIS_NOT_HOMED, tft_string); + + // feed rate + tft.canvas(96, 180, 100, 32); + tft.set_background(COLOR_BACKGROUND); + color = feedrate_percentage == 100 ? COLOR_RATE_100 : COLOR_RATE_ALTERED; + tft.add_image(0, 0, imgFeedRate, color); + tft_string.set(i16tostr3rj(feedrate_percentage)); + tft_string.add('%'); + tft.add_text(36, 1, color , tft_string); + TERN_(TOUCH_SCREEN, touch.add_control(FEEDRATE, 96, 176, 100, 32)); + + // flow rate + tft.canvas(284, 180, 100, 32); + tft.set_background(COLOR_BACKGROUND); + color = planner.flow_percentage[0] == 100 ? COLOR_RATE_100 : COLOR_RATE_ALTERED; + tft.add_image(0, 0, imgFlowRate, color); + tft_string.set(i16tostr3rj(planner.flow_percentage[active_extruder])); + tft_string.add('%'); + tft.add_text(36, 1, color , tft_string); + TERN_(TOUCH_SCREEN, touch.add_control(FLOWRATE, 284, 176, 100, 32, active_extruder)); + + // print duration + char buffer[14]; + duration_t elapsed = print_job_timer.duration(); + elapsed.toDigital(buffer); + + tft.canvas((TFT_WIDTH - 128) / 2, 224, 128, 29); + tft.set_background(COLOR_BACKGROUND); + tft_string.set(buffer); + tft.add_text(tft_string.center(128), 0, COLOR_PRINT_TIME, tft_string); + + // progress bar + const uint8_t progress = ui.get_progress_percent(); + tft.canvas(4, 260, TFT_WIDTH - 8, 9); + tft.set_background(COLOR_PROGRESS_BG); + tft.add_rectangle(0, 0, TFT_WIDTH - 8, 9, COLOR_PROGRESS_FRAME); + if (progress) + tft.add_bar(1, 1, ((TFT_WIDTH - 10) * progress) / 100, 7, COLOR_PROGRESS_BAR); + + // status message + tft.canvas(0, 280, TFT_WIDTH, 29); + tft.set_background(COLOR_BACKGROUND); + tft_string.set(status_message); + tft_string.trim(); + tft.add_text(tft_string.center(TFT_WIDTH), 0, COLOR_STATUS_MESSAGE, tft_string); + + + #if ENABLED(TOUCH_SCREEN) + add_control(404, 180, menu_main, imgSettings); + TERN_(SDSUPPORT, add_control(12, 180, menu_media, imgSD, card.isMounted() && !printingIsActive(), COLOR_CONTROL_ENABLED, card.isMounted() && printingIsActive() ? COLOR_BUSY : COLOR_CONTROL_DISABLED)); + #endif +} + +// Draw a static item with no left-right margin required. Centered by default. +void MenuItem_static::draw(const uint8_t row, PGM_P const pstr, const uint8_t style/*=SS_DEFAULT*/, const char * const vstr/*=nullptr*/) { + menu_item(row); + tft_string.set(pstr, itemIndex, itemString); + if (vstr) + tft_string.add(vstr); + tft.add_text(tft_string.center(TFT_WIDTH), MENU_TEXT_Y_OFFSET, COLOR_YELLOW, tft_string); +} + +// Draw a generic menu item with pre_char (if selected) and post_char +void MenuItemBase::_draw(const bool sel, const uint8_t row, PGM_P const pstr, const char pre_char, const char post_char) { + menu_item(row, sel); + + uint8_t *string = (uint8_t *)pstr; + MarlinImage image = noImage; + switch (*string) { + case 0x01: image = imgRefresh; break; // LCD_STR_REFRESH + case 0x02: image = imgDirectory; break; // LCD_STR_FOLDER + } + + uint8_t offset = MENU_TEXT_X_OFFSET; + if (image != noImage) { + string++; + offset = 42; + tft.add_image(5, 5, image, COLOR_MENU_TEXT, sel ? COLOR_SELECTION_BG : COLOR_BACKGROUND); + } + + tft_string.set(string, itemIndex, itemString); + tft.add_text(offset, MENU_TEXT_Y_OFFSET, COLOR_MENU_TEXT, tft_string); +} + +// Draw a menu item with a (potentially) editable value +void MenuEditItemBase::draw(const bool sel, const uint8_t row, PGM_P const pstr, const char* const data, const bool pgm) { + menu_item(row, sel); + + tft_string.set(pstr, itemIndex, itemString); + tft.add_text(MENU_TEXT_X_OFFSET, MENU_TEXT_Y_OFFSET, COLOR_MENU_TEXT, tft_string); + if (data) { + tft_string.set(data); + tft.add_text(TFT_WIDTH - MENU_TEXT_X_OFFSET - tft_string.width(), MENU_TEXT_Y_OFFSET, COLOR_MENU_VALUE, tft_string); + } +} + +// Low-level draw_edit_screen can be used to draw an edit screen from anyplace +void MenuEditItemBase::draw_edit_screen(PGM_P const pstr, const char* const value/*=nullptr*/) { + ui.encoder_direction_normal(); + TERN_(TOUCH_SCREEN, touch.clear()); + + uint16_t line = 1; + + menu_line(line++); + tft_string.set(pstr, itemIndex, itemString); + tft_string.trim(); + tft.add_text(tft_string.center(TFT_WIDTH), MENU_TEXT_Y_OFFSET, COLOR_MENU_TEXT, tft_string); + + TERN_(AUTO_BED_LEVELING_UBL, if (ui.external_control) line++); // ftostr52() will overwrite *value so *value has to be displayed first + + menu_line(line); + tft_string.set(value); + tft_string.trim(); + tft.add_text(tft_string.center(TFT_WIDTH), MENU_TEXT_Y_OFFSET, COLOR_MENU_VALUE, tft_string); + + #if ENABLED(AUTO_BED_LEVELING_UBL) + if (ui.external_control) { + menu_line(line - 1); + + tft_string.set(X_LBL); + tft.add_text((TFT_WIDTH / 2 - 120), MENU_TEXT_Y_OFFSET, COLOR_MENU_TEXT, tft_string); + tft_string.set(ftostr52(LOGICAL_X_POSITION(current_position.x))); + tft_string.trim(); + tft.add_text((TFT_WIDTH / 2 - 16) - tft_string.width(), MENU_TEXT_Y_OFFSET, COLOR_MENU_VALUE, tft_string); + + tft_string.set(Y_LBL); + tft.add_text((TFT_WIDTH / 2 + 16), MENU_TEXT_Y_OFFSET, COLOR_MENU_TEXT, tft_string); + tft_string.set(ftostr52(LOGICAL_X_POSITION(current_position.y))); + tft_string.trim(); + tft.add_text((TFT_WIDTH / 2 + 120) - tft_string.width(), MENU_TEXT_Y_OFFSET, COLOR_MENU_VALUE, tft_string); + } + #endif + + extern screenFunc_t _manual_move_func_ptr; + if (ui.currentScreen != _manual_move_func_ptr && !ui.external_control) { + + #define SLIDER_LENGHT 336 + #define SLIDER_Y_POSITION 186 + + tft.canvas((TFT_WIDTH - SLIDER_LENGHT) / 2, SLIDER_Y_POSITION, SLIDER_LENGHT, 16); + tft.set_background(COLOR_BACKGROUND); + + int16_t position = (SLIDER_LENGHT - 2) * ui.encoderPosition / maxEditValue; + tft.add_bar(0, 7, 1, 2, ui.encoderPosition == 0 ? COLOR_SLIDER_INACTIVE : COLOR_SLIDER); + tft.add_bar(1, 6, position, 4, COLOR_SLIDER); + tft.add_bar(position + 1, 6, SLIDER_LENGHT - 2 - position, 4, COLOR_SLIDER_INACTIVE); + tft.add_bar(SLIDER_LENGHT - 1, 7, 1, 2, int32_t(ui.encoderPosition) == maxEditValue ? COLOR_SLIDER : COLOR_SLIDER_INACTIVE); + + #if ENABLED(TOUCH_SCREEN) + tft.add_image((SLIDER_LENGHT - 8) * ui.encoderPosition / maxEditValue, 0, imgSlider, COLOR_SLIDER); + touch.add_control(SLIDER, (TFT_WIDTH - SLIDER_LENGHT) / 2, SLIDER_Y_POSITION - 8, SLIDER_LENGHT, 32, maxEditValue); + #endif + } + + #if ENABLED(TOUCH_SCREEN) + add_control(64, 256, DECREASE, imgDecrease); + add_control(352, 256, INCREASE, imgIncrease); + add_control(208, 256, CLICK, imgConfirm); + #endif +} + +// The Select Screen presents a prompt and two "buttons" +void MenuItem_confirm::draw_select_screen(PGM_P const yes, PGM_P const no, const bool yesno, PGM_P const pref, const char * const string/*=nullptr*/, PGM_P const suff/*=nullptr*/) { + uint16_t line = 1; + + if (string == NULL) line++; + + menu_line(line++); + tft_string.set(pref); + tft_string.trim(); + tft.add_text(tft_string.center(TFT_WIDTH), 0, COLOR_MENU_TEXT, tft_string); + + if (string) { + menu_line(line++); + tft_string.set(string); + tft_string.trim(); + tft.add_text(tft_string.center(TFT_WIDTH), 0, COLOR_MENU_TEXT, tft_string); + } + + if (suff) { + menu_line(line); + tft_string.set(suff); + tft_string.trim(); + tft.add_text(tft_string.center(TFT_WIDTH), 0, COLOR_MENU_TEXT, tft_string); + } + #if ENABLED(TOUCH_SCREEN) + add_control(88, 256, CANCEL, imgCancel, true, yesno ? HALF(COLOR_CONTROL_CANCEL) : COLOR_CONTROL_CANCEL); + add_control(328, 256, CONFIRM, imgConfirm, true, yesno ? COLOR_CONTROL_CONFIRM : HALF(COLOR_CONTROL_CONFIRM)); + #endif +} + +#if ENABLED(SDSUPPORT) + void MenuItem_sdbase::draw(const bool sel, const uint8_t row, PGM_P const, CardReader &theCard, const bool isDir) { + menu_item(row, sel); + if (isDir) + tft.add_image(5, 5, imgDirectory, COLOR_MENU_TEXT, sel ? COLOR_SELECTION_BG : COLOR_BACKGROUND); + tft.add_text(42, MENU_TEXT_Y_OFFSET, COLOR_MENU_TEXT, theCard.longest_filename()); + } +#endif + +#if ENABLED(ADVANCED_PAUSE_FEATURE) + void MarlinUI::draw_hotend_status(const uint8_t row, const uint8_t extruder) { + #if ENABLED(TOUCH_SCREEN) + touch.clear(); + draw_menu_navigation = false; + touch.add_control(RESUME_CONTINUE , 0, 0, TFT_WIDTH, TFT_HEIGHT); + #endif + + menu_line(row); + tft_string.set(GET_TEXT(MSG_FILAMENT_CHANGE_NOZZLE)); + tft_string.add('E'); + tft_string.add((char)('1' + extruder)); + tft_string.add(' '); + tft_string.add(i16tostr3rj(thermalManager.degHotend(extruder))); + tft_string.add(LCD_STR_DEGREE); + tft_string.add(" / "); + tft_string.add(i16tostr3rj(thermalManager.degTargetHotend(extruder))); + tft_string.add(LCD_STR_DEGREE); + tft_string.trim(); + tft.add_text(tft_string.center(TFT_WIDTH), 0, COLOR_MENU_TEXT, tft_string); + } +#endif // ADVANCED_PAUSE_FEATURE + +#if ENABLED(AUTO_BED_LEVELING_UBL) + #define GRID_OFFSET_X 8 + #define GRID_OFFSET_Y 8 + #define GRID_WIDTH 192 + #define GRID_HEIGHT 192 + #define CONTROL_OFFSET 16 + + void MarlinUI::ubl_plot(const uint8_t x_plot, const uint8_t y_plot) { + + tft.canvas(GRID_OFFSET_X, GRID_OFFSET_Y, GRID_WIDTH, GRID_HEIGHT); + tft.set_background(COLOR_BACKGROUND); + tft.add_rectangle(0, 0, GRID_WIDTH, GRID_HEIGHT, COLOR_WHITE); + + for (uint16_t x = 0; x < GRID_MAX_POINTS_X ; x++) + for (uint16_t y = 0; y < GRID_MAX_POINTS_Y ; y++) + if (position_is_reachable({ ubl.mesh_index_to_xpos(x), ubl.mesh_index_to_ypos(y) })) + tft.add_bar(1 + (x * 2 + 1) * (GRID_WIDTH - 4) / GRID_MAX_POINTS_X / 2, GRID_HEIGHT - 3 - ((y * 2 + 1) * (GRID_HEIGHT - 4) / GRID_MAX_POINTS_Y / 2), 2, 2, COLOR_UBL); + + tft.add_rectangle((x_plot * 2 + 1) * (GRID_WIDTH - 4) / GRID_MAX_POINTS_X / 2 - 1, GRID_HEIGHT - 5 - ((y_plot * 2 + 1) * (GRID_HEIGHT - 4) / GRID_MAX_POINTS_Y / 2), 6, 6, COLOR_UBL); + + const xy_pos_t pos = { ubl.mesh_index_to_xpos(x_plot), ubl.mesh_index_to_ypos(y_plot) }, + lpos = pos.asLogical(); + + tft.canvas(320, GRID_OFFSET_Y + (GRID_HEIGHT - 43) / 2 - 43, 120, 43); + tft.set_background(COLOR_BACKGROUND); + tft_string.set(X_LBL); + tft.add_text(0, MENU_TEXT_Y_OFFSET, COLOR_MENU_TEXT, tft_string); + tft_string.set(ftostr52(lpos.x)); + tft_string.trim(); + tft.add_text(120 - tft_string.width(), MENU_TEXT_Y_OFFSET, COLOR_MENU_VALUE, tft_string); + + tft.canvas(320, GRID_OFFSET_Y + (GRID_HEIGHT - 43) / 2, 120, 43); + tft.set_background(COLOR_BACKGROUND); + tft_string.set(Y_LBL); + tft.add_text(0, MENU_TEXT_Y_OFFSET, COLOR_MENU_TEXT, tft_string); + tft_string.set(ftostr52(lpos.y)); + tft_string.trim(); + tft.add_text(120 - tft_string.width(), MENU_TEXT_Y_OFFSET, COLOR_MENU_VALUE, tft_string); + + tft.canvas(320, GRID_OFFSET_Y + (GRID_HEIGHT - 43) / 2 + 43, 120, 43); + tft.set_background(COLOR_BACKGROUND); + tft_string.set(Z_LBL); + tft.add_text(0, MENU_TEXT_Y_OFFSET, COLOR_MENU_TEXT, tft_string); + tft_string.set(isnan(ubl.z_values[x_plot][y_plot]) ? "-----" : ftostr43sign(ubl.z_values[x_plot][y_plot])); + tft_string.trim(); + tft.add_text(120 - tft_string.width(), MENU_TEXT_Y_OFFSET, COLOR_MENU_VALUE, tft_string); + + + tft.canvas(GRID_OFFSET_X + (GRID_WIDTH - 48) / 2, GRID_OFFSET_Y + GRID_HEIGHT + CONTROL_OFFSET - 5, 48, 43); + tft.set_background(COLOR_BACKGROUND); + tft_string.set(ui8tostr3rj(x_plot)); + tft_string.trim(); + tft.add_text(tft_string.center(48), MENU_TEXT_Y_OFFSET, COLOR_MENU_VALUE, tft_string); + + tft.canvas(GRID_OFFSET_X + GRID_WIDTH + CONTROL_OFFSET + 16 - 24, GRID_OFFSET_Y + (GRID_HEIGHT - 43) / 2, 48, 43); + tft.set_background(COLOR_BACKGROUND); + tft_string.set(ui8tostr3rj(y_plot)); + tft_string.trim(); + tft.add_text(tft_string.center(48), MENU_TEXT_Y_OFFSET, COLOR_MENU_VALUE, tft_string); + + #if ENABLED(TOUCH_SCREEN) + touch.clear(); + draw_menu_navigation = false; + add_control(GRID_OFFSET_X + GRID_WIDTH + CONTROL_OFFSET, GRID_OFFSET_Y + CONTROL_OFFSET, UBL, ENCODER_STEPS_PER_MENU_ITEM * GRID_MAX_POINTS_X, imgUp); + add_control(GRID_OFFSET_X + GRID_WIDTH + CONTROL_OFFSET, GRID_OFFSET_Y + GRID_HEIGHT - CONTROL_OFFSET - 32, UBL, - ENCODER_STEPS_PER_MENU_ITEM * GRID_MAX_POINTS_X, imgDown); + add_control(GRID_OFFSET_X + CONTROL_OFFSET, GRID_OFFSET_Y + GRID_HEIGHT + CONTROL_OFFSET, UBL, - ENCODER_STEPS_PER_MENU_ITEM, imgLeft); + add_control(GRID_OFFSET_X + GRID_WIDTH - CONTROL_OFFSET - 32, GRID_OFFSET_Y + GRID_HEIGHT + CONTROL_OFFSET, UBL, ENCODER_STEPS_PER_MENU_ITEM, imgRight); + add_control(320, GRID_OFFSET_Y + GRID_HEIGHT + CONTROL_OFFSET, CLICK, imgLeveling); + add_control(224, 286, BACK, imgBack); + #endif + } +#endif // AUTO_BED_LEVELING_UBL + +#if ENABLED(TOUCH_SCREEN_CALIBRATION) + void MarlinUI::touch_calibration() { + static uint16_t x, y; + + calibrationState calibration_stage = touch.get_calibration_state(); + + if (calibration_stage == CALIBRATION_NONE) { + defer_status_screen(true); + clear_lcd(); + calibration_stage = touch.calibration_start(); + } + else { + tft.canvas(x - 15, y - 15, 31, 31); + tft.set_background(COLOR_BACKGROUND); + } + + x = 20; y = 20; + touch.clear(); + + if (calibration_stage < CALIBRATION_SUCCESS) { + switch(calibration_stage) { + case CALIBRATION_POINT_1: tft_string.set("Top Left"); break; + case CALIBRATION_POINT_2: y = TFT_HEIGHT - 21; tft_string.set("Bottom Left"); break; + case CALIBRATION_POINT_3: x = TFT_WIDTH - 21; tft_string.set("Top Right"); break; + case CALIBRATION_POINT_4: x = TFT_WIDTH - 21; y = TFT_HEIGHT - 21; tft_string.set("Bottom Right"); break; + default: break; + } + + tft.canvas(x - 15, y - 15, 31, 31); + tft.set_background(COLOR_BACKGROUND); + tft.add_bar(0, 15, 31, 1, COLOR_TOUCH_CALIBRATION); + tft.add_bar(15, 0, 1, 31, COLOR_TOUCH_CALIBRATION); + + touch.add_control(CALIBRATE, 0, 0, TFT_WIDTH, TFT_HEIGHT, uint32_t(x) << 16 | uint32_t(y)); + } + else { + tft_string.set(calibration_stage == CALIBRATION_SUCCESS ? "Calibration Completed" : "Calibration Failed"); + defer_status_screen(false); + touch.calibration_end(); + touch.add_control(BACK, 0, 0, TFT_WIDTH, TFT_HEIGHT); + } + + tft.canvas(0, (TFT_HEIGHT - tft_string.font_height()) >> 1, TFT_WIDTH, tft_string.font_height()); + tft.set_background(COLOR_BACKGROUND); + tft.add_text(tft_string.center(TFT_WIDTH), 0, COLOR_MENU_TEXT, tft_string); + } +#endif // TOUCH_SCREEN_CALIBRATION + +void menu_line(const uint8_t row, uint16_t color) { + tft.canvas(0, 4 + 45 * row, TFT_WIDTH, 43); + tft.set_background(color); +} + +void menu_pause_option(); + +void menu_item(const uint8_t row, bool sel ) { + #if ENABLED(TOUCH_SCREEN) + if (row == 0) { + touch.clear(); + draw_menu_navigation = TERN(ADVANCED_PAUSE_FEATURE, ui.currentScreen != menu_pause_option, true); + } + #endif + + menu_line(row, sel ? COLOR_SELECTION_BG : COLOR_BACKGROUND); + TERN_(TOUCH_SCREEN, touch.add_control(sel ? CLICK : MENU_ITEM, 0, 4 + 45 * row, TFT_WIDTH, 43, encoderTopLine + row)); +} + +#endif // HAS_UI_480x320 diff --git a/Marlin/src/lcd/tft/ui_480x320.h b/Marlin/src/lcd/tft/ui_480x320.h new file mode 100644 index 000000000000..d803df4a247d --- /dev/null +++ b/Marlin/src/lcd/tft/ui_480x320.h @@ -0,0 +1,106 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#include "../../inc/MarlinConfigPre.h" + +#include "tft.h" +#include "tft_image.h" + +#if ENABLED(TOUCH_SCREEN) + #include "touch.h" +#endif + +void draw_heater_status(uint16_t x, uint16_t y, const int8_t Heater); +void draw_fan_status(uint16_t x, uint16_t y, const bool blink); + +#define MENU_TEXT_X_OFFSET 16 +#define MENU_TEXT_Y_OFFSET 7 +void menu_line(const uint8_t row, uint16_t color = COLOR_BACKGROUND); +void menu_item(const uint8_t row, bool sel = false); + +#define MENU_FONT_NAME Helvetica18 +#define SYMBOLS_FONT_NAME Helvetica18_symbols + +#define ABSOLUTE_ZERO -273.15 + +const tImage Images[imgCount] = { + MarlinLogo195x59x16, + HotEnd_64x64x4, + Bed_64x64x4, + Bed_Heated_64x64x4, + Chamber_64x64x4, + Chamber_Heated_64x64x4, + Fan0_64x64x4, + Fan_Slow0_64x64x4, + Fan_Slow1_64x64x4, + Fan_Fast0_64x64x4, + Fan_Fast1_64x64x4, + Feedrate_32x32x4, + Flowrate_32x32x4, + SD_64x64x4, + Menu_64x64x4, + Settings_64x64x4, + Directory_32x32x4, + Confirm_64x64x4, + Cancel_64x64x4, + Increase_64x64x4, + Decrease_64x64x4, + Back_32x32x4, + Up_32x32x4, + Down_32x32x4, + Left_32x32x4, + Right_32x32x4, + Refresh_32x32x4, + Leveling_32x32x4, + Slider8x16x4, +}; + +#if HAS_TEMP_CHAMBER && HOTENDS > 1 + #define ITEM_E0 0 + #define ITEM_E1 1 + #define ITEM_BED 2 + #define ITEM_CHAMBER 3 + #define ITEM_FAN 4 + #define ITEMS_COUNT 5 + #define POS_Y 4 +#elif HAS_TEMP_CHAMBER + #define ITEM_E0 0 + #define ITEM_BED 1 + #define ITEM_CHAMBER 2 + #define ITEM_FAN 3 + #define ITEMS_COUNT 4 + #define POS_Y 4 +#elif HOTENDS > 1 + #define ITEM_E0 0 + #define ITEM_E1 1 + #define ITEM_BED 2 + #define ITEM_FAN 3 + #define ITEMS_COUNT 4 + #define POS_Y 4 +#else + #define ITEM_E0 0 + #define ITEM_BED 1 + #define ITEM_FAN 2 + #define ITEMS_COUNT 3 + #define POS_Y 4 +#endif diff --git a/Marlin/src/lcd/touch/touch_buttons.cpp b/Marlin/src/lcd/touch/touch_buttons.cpp new file mode 100644 index 000000000000..8eae73df1194 --- /dev/null +++ b/Marlin/src/lcd/touch/touch_buttons.cpp @@ -0,0 +1,112 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../inc/MarlinConfig.h" + +#if HAS_TOUCH_XPT2046 + +#include "touch_buttons.h" +#include "../scaled_tft.h" + +#include HAL_PATH(../../HAL, tft/xpt2046.h) +XPT2046 touchIO; + +#include "../../lcd/ultralcd.h" // For EN_C bit mask + +/** + * Draw and Touch processing + * + * LCD_PIXEL_WIDTH/HEIGHT (128x64) is the (emulated DOGM) Pixel Drawing resolution. + * TOUCH_SENSOR_WIDTH/HEIGHT (320x240) is the Touch Area resolution. + * TFT_WIDTH/HEIGHT (320x240 or 480x320) is the Actual (FSMC) Display resolution. + * + * - All native (u8g) drawing is done in LCD_PIXEL_* (128x64) + * - The DOGM pixels are is upscaled 2-3x (as needed) for display. + * - Touch coordinates use TOUCH_SENSOR_* resolution and are converted to + * click and scroll-wheel events (emulating of a common DOGM display). + * + * TOUCH_SCREEN resolution exists to fit our calibration values. The original touch code was made + * and originally calibrated for 320x240. If you decide to change the resolution of the touch code, + * new calibration values will be needed. + * + * The Marlin menus are drawn scaled in the upper region of the screen. The bottom region (in a + * fixed location in TOUCH_SCREEN* coordinate space) is used for 4 general-purpose buttons to + * navigate and select menu items. Both regions are touchable. + * + * The Marlin screen touchable area starts at TFT_PIXEL_OFFSET_X/Y (translated to SCREEN_PCT_LEFT/TOP) + * and spans LCD_PIXEL_WIDTH/HEIGHT (scaled to SCREEN_PCT_WIDTH/HEIGHT). + */ + +// Touch sensor resolution independent of display resolution +#define TOUCH_SENSOR_WIDTH 320 +#define TOUCH_SENSOR_HEIGHT 240 + +#define SCREEN_PCT_WIDE(X) ((X) * (TOUCH_SENSOR_WIDTH) / (TFT_WIDTH)) +#define SCREEN_PCT_HIGH(Y) ((Y) * (TOUCH_SENSOR_HEIGHT) / (TFT_HEIGHT)) + +#define SCREEN_PCT_LEFT SCREEN_PCT_WIDE(TFT_PIXEL_OFFSET_X) +#define SCREEN_PCT_TOP SCREEN_PCT_HIGH(TFT_PIXEL_OFFSET_Y) +#define SCREEN_PCT_WIDTH SCREEN_PCT_WIDE((GRAPHICAL_TFT_UPSCALE) * (LCD_PIXEL_WIDTH)) +#define SCREEN_PCT_HEIGHT SCREEN_PCT_HIGH((GRAPHICAL_TFT_UPSCALE) * (LCD_PIXEL_HEIGHT)) + +// Coordinates in terms of 240-unit-tall touch area +#define BUTTON_AREA_TOP 175 +#define BUTTON_AREA_BOT 234 + +TouchButtons touch; + +void TouchButtons::init() { touchIO.Init(); } + +uint8_t TouchButtons::read_buttons() { + #ifdef HAS_SPI_LCD + int16_t x, y; + + if (!touchIO.getRawPoint(&x, &y)) return 0; + + x = uint16_t((uint32_t(x) * XPT2046_X_CALIBRATION) >> 16) + XPT2046_X_OFFSET; + y = uint16_t((uint32_t(y) * XPT2046_Y_CALIBRATION) >> 16) + XPT2046_Y_OFFSET; + + #if ENABLED(GRAPHICAL_TFT_ROTATE_180) + x = TOUCH_SENSOR_WIDTH - x; + y = TOUCH_SENSOR_HEIGHT - y; + #endif + + // Touch within the button area simulates an encoder button + if (y > BUTTON_AREA_TOP && y < BUTTON_AREA_BOT) + return WITHIN(x, 14, 77) ? EN_D + : WITHIN(x, 90, 153) ? EN_A + : WITHIN(x, 166, 229) ? EN_B + : WITHIN(x, 242, 305) ? EN_C + : 0; + + if ( !WITHIN(x, SCREEN_PCT_LEFT, SCREEN_PCT_LEFT + SCREEN_PCT_WIDTH) + || !WITHIN(y, SCREEN_PCT_TOP, SCREEN_PCT_TOP + SCREEN_PCT_HEIGHT) + ) return 0; + + // Column and row above BUTTON_AREA_TOP + int8_t col = (x - (SCREEN_PCT_LEFT)) * (LCD_WIDTH) / (SCREEN_PCT_WIDTH), + row = (y - (SCREEN_PCT_TOP)) * (LCD_HEIGHT) / (SCREEN_PCT_HEIGHT); + + // Send the touch to the UI (which will simulate the encoder wheel) + MarlinUI::screen_click(row, col, x, y); + #endif + return 0; +} + +#endif // HAS_TOUCH_XPT2046 diff --git a/Marlin/src/feature/touch/xpt2046.h b/Marlin/src/lcd/touch/touch_buttons.h similarity index 54% rename from Marlin/src/feature/touch/xpt2046.h rename to Marlin/src/lcd/touch/touch_buttons.h index 347881e0addc..451e5a5a37ca 100644 --- a/Marlin/src/feature/touch/xpt2046.h +++ b/Marlin/src/lcd/touch/touch_buttons.h @@ -20,34 +20,10 @@ #include -// Relies on XPT2046-compatible mode of ADS7843, -// hence no Z1 / Z2 measurements are possible. - -#define XPT2046_DFR_MODE 0x00 -#define XPT2046_SER_MODE 0x04 -#define XPT2046_CONTROL 0x80 - -enum XPTCoordinate : uint8_t { - XPT2046_X = 0x10, - XPT2046_Y = 0x50, - XPT2046_Z1 = 0x30, - XPT2046_Z2 = 0x40 -}; - -#ifndef XPT2046_Z1_THRESHOLD - #define XPT2046_Z1_THRESHOLD 10 -#endif - -class XPT2046 { +class TouchButtons { public: static void init(); static uint8_t read_buttons(); - bool getTouchPoint(uint16_t &x, uint16_t &y); - static bool isTouched(); - inline void waitForRelease() { while (isTouched()) { /* nada */ } } - inline void waitForTouch(uint16_t &x, uint16_t &y) { while (!getTouchPoint(x, y)) { /* nada */ } } -private: - static uint16_t getInTouch(const XPTCoordinate coordinate); }; -extern XPT2046 touch; +extern TouchButtons touch; diff --git a/Marlin/src/lcd/ultralcd.cpp b/Marlin/src/lcd/ultralcd.cpp index 88a9c36b3642..b30f6e49c9e0 100644 --- a/Marlin/src/lcd/ultralcd.cpp +++ b/Marlin/src/lcd/ultralcd.cpp @@ -74,14 +74,14 @@ constexpr uint8_t epps = ENCODER_PULSES_PER_STEP; #endif #endif -#if ENABLED(PCA9632_BUZZER) || USE_BEEPER +#if EITHER(PCA9632_BUZZER, USE_BEEPER) #include "../libs/buzzer.h" // for BUZZ() macro #if ENABLED(PCA9632_BUZZER) #include "../feature/leds/pca9632.h" #endif void MarlinUI::buzz(const long duration, const uint16_t freq) { #if ENABLED(PCA9632_BUZZER) - pca9632_buzz(duration, freq); + PCA9632_buzz(duration, freq); #elif USE_BEEPER buzzer.tone(duration, freq); #endif @@ -123,7 +123,7 @@ constexpr uint8_t epps = ENCODER_PULSES_PER_STEP; #include "lcdprint.h" #include "../sd/cardreader.h" -#include "../module/configuration_store.h" +#include "../module/settings.h" #include "../module/temperature.h" #include "../module/planner.h" #include "../module/motion.h" @@ -149,8 +149,8 @@ constexpr uint8_t epps = ENCODER_PULSES_PER_STEP; #if HAS_SLOW_BUTTONS volatile uint8_t MarlinUI::slow_buttons; #endif - #if ENABLED(TOUCH_BUTTONS) - #include "../feature/touch/xpt2046.h" + #if HAS_TOUCH_XPT2046 + #include "touch/touch_buttons.h" bool MarlinUI::on_edit_screen = false; #endif #endif @@ -229,7 +229,7 @@ millis_t MarlinUI::next_button_update_ms; // = 0 int8_t MarlinUI::encoderDirection = ENCODERBASE; #endif - #if ENABLED(TOUCH_BUTTONS) + #if HAS_TOUCH_XPT2046 uint8_t MarlinUI::touch_buttons; uint8_t MarlinUI::repeat_delay; #endif @@ -372,10 +372,6 @@ void MarlinUI::init() { #endif // HAS_SHIFT_ENCODER - #if ENABLED(SDSUPPORT) && PIN_EXISTS(SD_DETECT) - SET_INPUT_PULLUP(SD_DETECT_PIN); - #endif - #if HAS_ENCODER_ACTION && HAS_SLOW_BUTTONS slow_buttons = 0; #endif @@ -802,6 +798,9 @@ void MarlinUI::quick_feedback(const bool clear_buttons/*=true*/) { LCDViewAction MarlinUI::lcdDrawUpdate = LCDVIEW_CLEAR_CALL_REDRAW; millis_t next_lcd_update_ms; +#if HAS_LCD_MENU && LCD_TIMEOUT_TO_STATUS + millis_t MarlinUI::return_to_status_ms = 0; +#endif void MarlinUI::update() { @@ -809,7 +808,6 @@ void MarlinUI::update() { millis_t ms = millis(); #if HAS_LCD_MENU && LCD_TIMEOUT_TO_STATUS > 0 - static millis_t return_to_status_ms = 0; #define RESET_STATUS_TIMEOUT() (return_to_status_ms = ms + LCD_TIMEOUT_TO_STATUS) #else #define RESET_STATUS_TIMEOUT() NOOP @@ -838,7 +836,7 @@ void MarlinUI::update() { quick_feedback(); // - Always make a click sound }; - #if ENABLED(TOUCH_BUTTONS) + #if HAS_TOUCH_XPT2046 if (touch_buttons) { RESET_STATUS_TIMEOUT(); if (touch_buttons & (EN_A | EN_B)) { // Menu arrows, in priority @@ -859,7 +857,7 @@ void MarlinUI::update() { } else // keep wait_for_unclick value - #endif // TOUCH_BUTTONS + #endif // HAS_TOUCH_XPT2046 { // Integrated LCD click handling via button_pressed @@ -881,7 +879,7 @@ void MarlinUI::update() { next_lcd_update_ms = ms + LCD_UPDATE_INTERVAL; - #if ENABLED(TOUCH_BUTTONS) + #if HAS_TOUCH_XPT2046 if (on_status_screen()) next_lcd_update_ms += (LCD_UPDATE_INTERVAL) * 2; @@ -936,6 +934,8 @@ void MarlinUI::update() { if (encoderStepRate >= ENCODER_100X_STEPS_PER_SEC) encoderMultiplier = 100; else if (encoderStepRate >= ENCODER_10X_STEPS_PER_SEC) encoderMultiplier = 10; + // Enable to output the encoder steps per second value + //#define ENCODER_RATE_MULTIPLIER_DEBUG #if ENABLED(ENCODER_RATE_MULTIPLIER_DEBUG) SERIAL_ECHO_START(); SERIAL_ECHOPAIR("Enc Step Rate: ", encoderStepRate); @@ -1078,6 +1078,8 @@ void MarlinUI::update() { } // switch } // ELAPSED(ms, next_lcd_update_ms) + + TERN_(HAS_GRAPHICAL_TFT, tft_idle()); } #if HAS_ADC_BUTTONS @@ -1224,7 +1226,7 @@ void MarlinUI::update() { #if HAS_SLOW_BUTTONS | slow_buttons #endif - #if BOTH(TOUCH_BUTTONS, HAS_ENCODER_ACTION) + #if BOTH(HAS_TOUCH_XPT2046, HAS_ENCODER_ACTION) | (touch_buttons & TERN(HAS_ENCODER_WHEEL, ~(EN_A | EN_B), 0xFF)) #endif ); @@ -1533,7 +1535,7 @@ void MarlinUI::update() { #endif - #if ENABLED(TOUCH_BUTTONS) + #if HAS_TOUCH_XPT2046 // // Screen Click diff --git a/Marlin/src/lcd/ultralcd.h b/Marlin/src/lcd/ultralcd.h index f3c06177bb20..d6a9f31e6c77 100644 --- a/Marlin/src/lcd/ultralcd.h +++ b/Marlin/src/lcd/ultralcd.h @@ -74,7 +74,7 @@ uint8_t get_ADC_keyValue(); #endif - #define LCD_UPDATE_INTERVAL TERN(TOUCH_BUTTONS, 50, 100) + #define LCD_UPDATE_INTERVAL TERN(HAS_TOUCH_XPT2046, 50, 100) #if HAS_LCD_MENU @@ -149,7 +149,7 @@ #define BUTTON_PRESSED(BN) !READ(BTN_## BN) - #if BUTTON_EXISTS(ENC) || ENABLED(TOUCH_BUTTONS) + #if BUTTON_EXISTS(ENC) || HAS_TOUCH_XPT2046 #define BLEN_C 2 #define EN_C _BV(BLEN_C) #endif @@ -215,7 +215,7 @@ #endif -#if BUTTON_EXISTS(BACK) || ENABLED(TOUCH_BUTTONS) +#if BUTTON_EXISTS(BACK) || HAS_TOUCH_XPT2046 #define BLEN_D 3 #define EN_D _BV(BLEN_D) #define LCD_BACK_CLICKED() (buttons & EN_D) @@ -451,7 +451,7 @@ class MarlinUI { static void draw_hotend_status(const uint8_t row, const uint8_t extruder); #endif - #if ENABLED(TOUCH_BUTTONS) + #if HAS_TOUCH_XPT2046 static bool on_edit_screen; static void screen_click(const uint8_t row, const uint8_t col, const uint8_t x, const uint8_t y); #endif @@ -501,8 +501,11 @@ class MarlinUI { #endif #if HAS_LCD_MENU + #if LCD_TIMEOUT_TO_STATUS + static millis_t return_to_status_ms; + #endif - #if ENABLED(TOUCH_BUTTONS) + #if HAS_TOUCH_XPT2046 static uint8_t touch_buttons; static uint8_t repeat_delay; #endif @@ -511,6 +514,9 @@ class MarlinUI { static bool encoderRateMultiplierEnabled; static millis_t lastEncoderMovementMillis; static void enable_encoder_multiplier(const bool onoff); + #define ENCODER_RATE_MULTIPLY(F) (ui.encoderRateMultiplierEnabled = F) + #else + #define ENCODER_RATE_MULTIPLY(F) NOOP #endif // Manual Movement @@ -633,7 +639,7 @@ class MarlinUI { #endif static void update_buttons(); - static inline bool button_pressed() { return BUTTON_CLICK(); } + static inline bool button_pressed() { return BUTTON_CLICK() || TERN(TOUCH_SCREEN, touch_pressed(), false); } #if EITHER(AUTO_BED_LEVELING_UBL, G26_MESH_VALIDATION) static void wait_for_release(); #endif @@ -668,6 +674,10 @@ class MarlinUI { #endif + #if ENABLED(TOUCH_SCREEN_CALIBRATION) + static void touch_calibration(); + #endif + private: #if HAS_DISPLAY @@ -681,6 +691,12 @@ class MarlinUI { static constexpr bool defer_return_to_status = false; #endif static void draw_status_screen(); + #if HAS_GRAPHICAL_TFT + static void tft_idle(); + #if ENABLED(TOUCH_SCREEN) + static bool touch_pressed(); + #endif + #endif #endif }; diff --git a/Marlin/src/lcd/extui/lib/mks_ui/W25Qxx.cpp b/Marlin/src/libs/W25Qxx.cpp similarity index 90% rename from Marlin/src/lcd/extui/lib/mks_ui/W25Qxx.cpp rename to Marlin/src/libs/W25Qxx.cpp index 60b4d0b7ea98..d51dfb819de9 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/W25Qxx.cpp +++ b/Marlin/src/libs/W25Qxx.cpp @@ -19,13 +19,12 @@ * along with this program. If not, see . * */ -#include "../../../../inc/MarlinConfigPre.h" -#if 1 // ENABLED(SPI_FLASH) -#if HAS_TFT_LVGL_UI +#include "../inc/MarlinConfig.h" + +#if HAS_SPI_FLASH #include -#include "../../../../inc/MarlinConfig.h" #include "W25Qxx.h" @@ -45,9 +44,7 @@ #define W25QXX_CS_H OUT_WRITE(SPI_FLASH_CS_PIN, HIGH) #define W25QXX_CS_L OUT_WRITE(SPI_FLASH_CS_PIN, LOW) -ext_FLASH W25QXX; - -void ext_FLASH::init(uint8_t spiRate) { +void W25QXXFlash::init(uint8_t spiRate) { OUT_WRITE(SPI_FLASH_CS_PIN, HIGH); @@ -85,12 +82,12 @@ void ext_FLASH::init(uint8_t spiRate) { * * @details */ -uint8_t ext_FLASH::spi_flash_Rec() { +uint8_t W25QXXFlash::spi_flash_Rec() { uint8_t returnByte = SPI.transfer(ff); return returnByte; } -uint8_t ext_FLASH::spi_flash_read_write_byte(uint8_t data) { +uint8_t W25QXXFlash::spi_flash_read_write_byte(uint8_t data) { uint8_t returnByte = SPI.transfer(data); return returnByte; } @@ -104,7 +101,7 @@ uint8_t ext_FLASH::spi_flash_read_write_byte(uint8_t data) { * * @details Uses DMA */ -void ext_FLASH::spi_flash_Read(uint8_t* buf, uint16_t nbyte) { SPI.dmaTransfer(0, const_cast(buf), nbyte); } +void W25QXXFlash::spi_flash_Read(uint8_t* buf, uint16_t nbyte) { SPI.dmaTransfer(0, const_cast(buf), nbyte); } /** * @brief Send a single byte on SPI port @@ -113,7 +110,7 @@ void ext_FLASH::spi_flash_Read(uint8_t* buf, uint16_t nbyte) { SPI.dmaTransfer(0 * * @details */ -void ext_FLASH::spi_flash_Send(uint8_t b) { SPI.send(b); } +void W25QXXFlash::spi_flash_Send(uint8_t b) { SPI.send(b); } /** * @brief Write token and then write from 512 byte buffer to SPI (for SD card) @@ -123,12 +120,12 @@ void ext_FLASH::spi_flash_Send(uint8_t b) { SPI.send(b); } * * @details Use DMA */ -void ext_FLASH::spi_flash_SendBlock(uint8_t token, const uint8_t* buf) { +void W25QXXFlash::spi_flash_SendBlock(uint8_t token, const uint8_t* buf) { SPI.send(token); SPI.dmaSend(const_cast(buf), 512); } -uint16_t ext_FLASH::W25QXX_ReadID(void) { +uint16_t W25QXXFlash::W25QXX_ReadID(void) { uint16_t Temp = 0; W25QXX_CS_L; spi_flash_Send(0x90); @@ -141,7 +138,7 @@ uint16_t ext_FLASH::W25QXX_ReadID(void) { return Temp; } -void ext_FLASH::SPI_FLASH_WriteEnable(void) { +void W25QXXFlash::SPI_FLASH_WriteEnable(void) { /* Select the FLASH: Chip Select low */ W25QXX_CS_L; /* Send "Write Enable" instruction */ @@ -159,7 +156,7 @@ void ext_FLASH::SPI_FLASH_WriteEnable(void) { * Output : None * Return : None *******************************************************************************/ -void ext_FLASH::SPI_FLASH_WaitForWriteEnd(void) { +void W25QXXFlash::SPI_FLASH_WaitForWriteEnd(void) { uint8_t FLASH_Status = 0; /* Select the FLASH: Chip Select low */ @@ -178,7 +175,7 @@ void ext_FLASH::SPI_FLASH_WaitForWriteEnd(void) { W25QXX_CS_H; } -void ext_FLASH::SPI_FLASH_SectorErase(uint32_t SectorAddr) { +void W25QXXFlash::SPI_FLASH_SectorErase(uint32_t SectorAddr) { /* Send write enable instruction */ SPI_FLASH_WriteEnable(); @@ -200,7 +197,7 @@ void ext_FLASH::SPI_FLASH_SectorErase(uint32_t SectorAddr) { SPI_FLASH_WaitForWriteEnd(); } -void ext_FLASH::SPI_FLASH_BlockErase(uint32_t BlockAddr) { +void W25QXXFlash::SPI_FLASH_BlockErase(uint32_t BlockAddr) { SPI_FLASH_WriteEnable(); W25QXX_CS_L; /* Send Sector Erase instruction */ @@ -224,7 +221,7 @@ void ext_FLASH::SPI_FLASH_BlockErase(uint32_t BlockAddr) { * Output : None * Return : None *******************************************************************************/ -void ext_FLASH::SPI_FLASH_BulkErase(void) { +void W25QXXFlash::SPI_FLASH_BulkErase(void) { /* Send write enable instruction */ SPI_FLASH_WriteEnable(); @@ -253,7 +250,7 @@ void ext_FLASH::SPI_FLASH_BulkErase(void) { * Output : None * Return : None *******************************************************************************/ -void ext_FLASH::SPI_FLASH_PageWrite(uint8_t* pBuffer, uint32_t WriteAddr, uint16_t NumByteToWrite) { +void W25QXXFlash::SPI_FLASH_PageWrite(uint8_t* pBuffer, uint32_t WriteAddr, uint16_t NumByteToWrite) { /* Enable the write access to the FLASH */ SPI_FLASH_WriteEnable(); @@ -296,7 +293,7 @@ void ext_FLASH::SPI_FLASH_PageWrite(uint8_t* pBuffer, uint32_t WriteAddr, uint16 * Output : None * Return : None *******************************************************************************/ -void ext_FLASH::SPI_FLASH_BufferWrite(uint8_t* pBuffer, uint32_t WriteAddr, uint16_t NumByteToWrite) { +void W25QXXFlash::SPI_FLASH_BufferWrite(uint8_t* pBuffer, uint32_t WriteAddr, uint16_t NumByteToWrite) { uint8_t NumOfPage = 0, NumOfSingle = 0, Addr = 0, count = 0, temp = 0; Addr = WriteAddr % SPI_FLASH_PageSize; @@ -361,7 +358,7 @@ void ext_FLASH::SPI_FLASH_BufferWrite(uint8_t* pBuffer, uint32_t WriteAddr, uint * Output : None * Return : None *******************************************************************************/ -void ext_FLASH::SPI_FLASH_BufferRead(uint8_t* pBuffer, uint32_t ReadAddr, uint16_t NumByteToRead) { +void W25QXXFlash::SPI_FLASH_BufferRead(uint8_t* pBuffer, uint32_t ReadAddr, uint16_t NumByteToRead) { /* Select the FLASH: Chip Select low */ W25QXX_CS_L; @@ -389,7 +386,4 @@ void ext_FLASH::SPI_FLASH_BufferRead(uint8_t* pBuffer, uint32_t ReadAddr, uint16 W25QXX_CS_H; } -void ext_FLASH::lv_pic_read(uint8_t *P_Rbuff, uint32_t addr, uint32_t size) {SPI_FLASH_BufferRead((uint8_t *)P_Rbuff, addr, size);} - -#endif // HAS_TFT_LVGL_UI -#endif // 1 ... SPI_FLASH +#endif // HAS_SPI_FLASH diff --git a/Marlin/src/lcd/extui/lib/mks_ui/W25Qxx.h b/Marlin/src/libs/W25Qxx.h similarity index 67% rename from Marlin/src/lcd/extui/lib/mks_ui/W25Qxx.h rename to Marlin/src/libs/W25Qxx.h index 88d5d6c2f549..81e964345010 100644 --- a/Marlin/src/lcd/extui/lib/mks_ui/W25Qxx.h +++ b/Marlin/src/libs/W25Qxx.h @@ -52,49 +52,7 @@ #define SPI_FLASH_PageSize 256 #define SPI_FLASH_PerWritePageSize 256 -#if 0 - - #define PIC_NAME_MAX_LEN 50 - - #define LOGO_MAX_SIZE (300*1024) - #define TITLELOGO_MAX_SIZE (150*1024) - #define DEFAULT_VIEW_MAX_SIZE (200*200*2) - #define FLASH_VIEW_MAX_SIZE (200*200*2) - - //Robin 2 - #define PIC_NAME_ADDR 0x003000 - #define PIC_SIZE_ADDR 0x007000 - #define PIC_COUNTER_ADDR 0x008000 - #define PIC_LOGO_ADDR 0x009000 - //#define PIC_DATA_ADDR 0x02f000 - - #define DEFAULT_VIEW_ADDR 0XC5800 - #define BAK_VIEW_ADDR (DEFAULT_VIEW_ADDR+90*1024) - #define PIC_ICON_LOGO_ADDR (BAK_VIEW_ADDR+80*1024) - - #define PIC_DATA_ADDR (PIC_ICON_LOGO_ADDR+350*1024) - - #define FONTINFOADDR 0x600000 - #define UNIGBK_FLASH_ADDR (FONTINFOADDR+4096) // 4*1024 - #define GBK_FLASH_ADDR (UNIGBK_FLASH_ADDR+180224) // 176*1024 - - #define PER_PIC_MAX_SPACE (32*1024) - - union union32 { - uint8_t bytes[4]; - uint32_t dwords; - }; - - struct pic_msg { - uint8_t name[PIC_NAME_MAX_LEN]; - union union32 size; - }; - - typedef struct pic_msg PIC_MSG; - -#endif // if 0 - -class ext_FLASH { +class W25QXXFlash { public: void init(uint8_t spiRate); static uint8_t spi_flash_Rec(); @@ -111,14 +69,8 @@ class ext_FLASH { static void SPI_FLASH_PageWrite(uint8_t* pBuffer, uint32_t WriteAddr, uint16_t NumByteToWrite); static void SPI_FLASH_BufferWrite(uint8_t* pBuffer, uint32_t WriteAddr, uint16_t NumByteToWrite); static void SPI_FLASH_BufferRead(uint8_t* pBuffer, uint32_t ReadAddr, uint16_t NumByteToRead); - //uint32_t lv_get_pic_addr(uint8_t *Pname); - void lv_pic_read(uint8_t *P_Rbuff, uint32_t addr, uint32_t size); }; -extern ext_FLASH W25QXX; - -//extern uint32_t lv_get_pic_addr(uint8_t *Pname); - //#ifdef __cplusplus //} /* C-declarations for C++ */ //#endif diff --git a/Marlin/src/libs/heatshrink/heatshrink_decoder.cpp b/Marlin/src/libs/heatshrink/heatshrink_decoder.cpp index 4684af975e80..3f0f828cd78b 100644 --- a/Marlin/src/libs/heatshrink/heatshrink_decoder.cpp +++ b/Marlin/src/libs/heatshrink/heatshrink_decoder.cpp @@ -1,9 +1,36 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../../inc/MarlinConfigPre.h" + +#if ENABLED(BINARY_FILE_TRANSFER) + /** * libs/heatshrink/heatshrink_decoder.cpp */ +#include "heatshrink_decoder.h" + #include #include -#include "heatshrink_decoder.h" #pragma GCC optimize ("O3") @@ -353,3 +380,5 @@ static void push_byte(heatshrink_decoder *hsd, output_info *oi, uint8_t byte) { oi->buf[(*oi->output_size)++] = byte; (void)hsd; } + +#endif // BINARY_FILE_TRANSFER diff --git a/Marlin/src/libs/heatshrink/heatshrink_decoder.h b/Marlin/src/libs/heatshrink/heatshrink_decoder.h index 11fafe617fff..eb113aa5e568 100644 --- a/Marlin/src/libs/heatshrink/heatshrink_decoder.h +++ b/Marlin/src/libs/heatshrink/heatshrink_decoder.h @@ -1,13 +1,36 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + /** * libs/heatshrink/heatshrink_decoder.h */ #pragma once -#include -#include #include "heatshrink_common.h" #include "heatshrink_config.h" +#include +#include + typedef enum { HSDR_SINK_OK, /* data sunk, ready to poll */ HSDR_SINK_FULL, /* out of space in internal buffer */ diff --git a/Marlin/src/libs/hex_print.cpp b/Marlin/src/libs/hex_print.cpp new file mode 100644 index 000000000000..0f746d628470 --- /dev/null +++ b/Marlin/src/libs/hex_print.cpp @@ -0,0 +1,90 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include "../inc/MarlinConfigPre.h" + +#if NEED_HEX_PRINT + +#include "hex_print.h" +#include "../core/serial.h" + +#ifdef CPU_32_BIT + constexpr int byte_start = 4; + static char _hex[] = "0x00000000"; +#else + constexpr int byte_start = 0; + static char _hex[] = "0x0000"; +#endif + +char* hex_byte(const uint8_t b) { + _hex[byte_start + 4] = hex_nybble(b >> 4); + _hex[byte_start + 5] = hex_nybble(b); + return &_hex[byte_start + 4]; +} + +inline void _hex_word(const uint16_t w) { + _hex[byte_start + 2] = hex_nybble(w >> 12); + _hex[byte_start + 3] = hex_nybble(w >> 8); + _hex[byte_start + 4] = hex_nybble(w >> 4); + _hex[byte_start + 5] = hex_nybble(w); +} + +char* hex_word(const uint16_t w) { + _hex_word(w); + return &_hex[byte_start + 2]; +} + +#ifdef CPU_32_BIT + char* hex_long(const uintptr_t l) { + _hex[2] = hex_nybble(l >> 28); + _hex[3] = hex_nybble(l >> 24); + _hex[4] = hex_nybble(l >> 20); + _hex[5] = hex_nybble(l >> 16); + _hex_word((uint16_t)(l & 0xFFFF)); + return &_hex[2]; + } +#endif + +char* hex_address(const void * const w) { + #ifdef CPU_32_BIT + (void)hex_long((uintptr_t)w); + #else + (void)hex_word((uintptr_t)w); + #endif + return _hex; +} + +void print_hex_nybble(const uint8_t n) { SERIAL_CHAR(hex_nybble(n)); } +void print_hex_byte(const uint8_t b) { SERIAL_ECHO(hex_byte(b)); } +void print_hex_word(const uint16_t w) { SERIAL_ECHO(hex_word(w)); } +void print_hex_address(const void * const w) { SERIAL_ECHO(hex_address(w)); } + +void print_hex_long(const uint32_t w, const char delimiter) { + SERIAL_ECHOPGM("0x"); + for (int B = 24; B >= 8; B -= 8){ + print_hex_byte(w >> B); + SERIAL_CHAR(delimiter); + } + print_hex_byte(w); +} + +#endif // NEED_HEX_PRINT diff --git a/Marlin/src/libs/hex_print_routines.h b/Marlin/src/libs/hex_print.h similarity index 93% rename from Marlin/src/libs/hex_print_routines.h rename to Marlin/src/libs/hex_print.h index 2fac6c989216..40baa15bcc11 100644 --- a/Marlin/src/libs/hex_print_routines.h +++ b/Marlin/src/libs/hex_print.h @@ -39,9 +39,3 @@ void print_hex_byte(const uint8_t b); void print_hex_word(const uint16_t w); void print_hex_address(const void * const w); void print_hex_long(const uint32_t w, const char delimiter); - -#ifdef CPU_32_BIT - typedef uint32_t ptr_int_t; -#else - typedef uint16_t ptr_int_t; -#endif diff --git a/Marlin/src/libs/hex_print_routines.cpp b/Marlin/src/libs/hex_print_routines.cpp deleted file mode 100644 index 5909ffd7d015..000000000000 --- a/Marlin/src/libs/hex_print_routines.cpp +++ /dev/null @@ -1,90 +0,0 @@ -/** - * Marlin 3D Printer Firmware - * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] - * - * Based on Sprinter and grbl. - * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - */ - -#include "../inc/MarlinConfig.h" -#include "../gcode/parser.h" - -#if ANY(AUTO_BED_LEVELING_UBL, M100_FREE_MEMORY_WATCHER, DEBUG_GCODE_PARSER, TMC_DEBUG, MARLIN_DEV_MODE) - - #include "hex_print_routines.h" - - #ifdef CPU_32_BIT - constexpr int byte_start = 4; - static char _hex[] = "0x00000000"; - #else - constexpr int byte_start = 0; - static char _hex[] = "0x0000"; - #endif - - char* hex_byte(const uint8_t b) { - _hex[byte_start + 4] = hex_nybble(b >> 4); - _hex[byte_start + 5] = hex_nybble(b); - return &_hex[byte_start + 4]; - } - - inline void _hex_word(const uint16_t w) { - _hex[byte_start + 2] = hex_nybble(w >> 12); - _hex[byte_start + 3] = hex_nybble(w >> 8); - _hex[byte_start + 4] = hex_nybble(w >> 4); - _hex[byte_start + 5] = hex_nybble(w); - } - - char* hex_word(const uint16_t w) { - _hex_word(w); - return &_hex[byte_start + 2]; - } - - #ifdef CPU_32_BIT - char* hex_long(const uint32_t l) { - _hex[2] = hex_nybble(l >> 28); - _hex[3] = hex_nybble(l >> 24); - _hex[4] = hex_nybble(l >> 20); - _hex[5] = hex_nybble(l >> 16); - _hex_word((uint16_t)(l & 0xFFFF)); - return &_hex[2]; - } - #endif - - char* hex_address(const void * const w) { - #ifdef CPU_32_BIT - (void)hex_long((ptr_int_t)w); - #else - (void)hex_word((ptr_int_t)w); - #endif - return _hex; - } - - void print_hex_nybble(const uint8_t n) { SERIAL_CHAR(hex_nybble(n)); } - void print_hex_byte(const uint8_t b) { SERIAL_ECHO(hex_byte(b)); } - void print_hex_word(const uint16_t w) { SERIAL_ECHO(hex_word(w)); } - void print_hex_address(const void * const w) { SERIAL_ECHO(hex_address(w)); } - - void print_hex_long(const uint32_t w, const char delimiter) { - SERIAL_ECHOPGM("0x"); - for (int B = 24; B >= 8; B -= 8){ - print_hex_byte(w >> B); - SERIAL_CHAR(delimiter); - } - print_hex_byte(w); - } - -#endif // AUTO_BED_LEVELING_UBL || M100_FREE_MEMORY_WATCHER || DEBUG_GCODE_PARSER diff --git a/Marlin/src/libs/least_squares_fit.cpp b/Marlin/src/libs/least_squares_fit.cpp index ce3a342b92ba..ef6ef9e90d80 100644 --- a/Marlin/src/libs/least_squares_fit.cpp +++ b/Marlin/src/libs/least_squares_fit.cpp @@ -34,7 +34,7 @@ #include "../inc/MarlinConfig.h" -#if ANY(AUTO_BED_LEVELING_UBL, AUTO_BED_LEVELING_LINEAR, Z_STEPPER_ALIGN_KNOWN_STEPPER_POSITIONS) +#if NEED_LSF #include "least_squares_fit.h" @@ -67,4 +67,4 @@ int finish_incremental_LSF(struct linear_fit_data *lsf) { return 0; } -#endif // AUTO_BED_LEVELING_UBL || ENABLED(AUTO_BED_LEVELING_LINEAR) +#endif // NEED_LSF diff --git a/Marlin/src/libs/nozzle.cpp b/Marlin/src/libs/nozzle.cpp index 21e6ffb7cd13..f93e5524813a 100644 --- a/Marlin/src/libs/nozzle.cpp +++ b/Marlin/src/libs/nozzle.cpp @@ -46,15 +46,24 @@ Nozzle nozzle; // Move to the starting point #if ENABLED(NOZZLE_CLEAN_NO_Z) - do_blocking_move_to_xy(start); + #if ENABLED(NOZZLE_CLEAN_NO_Y) + do_blocking_move_to_x(start.x); + #else + do_blocking_move_to_xy(start); + #endif #else do_blocking_move_to(start); #endif // Start the stroke pattern LOOP_L_N(i, strokes >> 1) { - do_blocking_move_to_xy(end); - do_blocking_move_to_xy(start); + #if ENABLED(NOZZLE_CLEAN_NO_Y) + do_blocking_move_to_x(end.x); + do_blocking_move_to_x(start.x); + #else + do_blocking_move_to_xy(end); + do_blocking_move_to_xy(start); + #endif } TERN_(NOZZLE_CLEAN_GOBACK, do_blocking_move_to(oldpos)); diff --git a/Marlin/src/module/motion.cpp b/Marlin/src/module/motion.cpp index 9b8c1c60ffa5..401721140be7 100644 --- a/Marlin/src/module/motion.cpp +++ b/Marlin/src/module/motion.cpp @@ -1097,17 +1097,16 @@ void prepare_line_to_destination() { current_position = destination; } -uint8_t axes_need_homing(uint8_t axis_bits/*=0x07*/) { - #define HOMED_FLAGS TERN(HOME_AFTER_DEACTIVATE, axis_known_position, axis_homed) - // Clear test bits that are homed - if (TEST(axis_bits, X_AXIS) && TEST(HOMED_FLAGS, X_AXIS)) CBI(axis_bits, X_AXIS); - if (TEST(axis_bits, Y_AXIS) && TEST(HOMED_FLAGS, Y_AXIS)) CBI(axis_bits, Y_AXIS); - if (TEST(axis_bits, Z_AXIS) && TEST(HOMED_FLAGS, Z_AXIS)) CBI(axis_bits, Z_AXIS); +uint8_t axes_should_home(uint8_t axis_bits/*=0x07*/) { + // Clear test bits that are trusted + if (TEST(axis_bits, X_AXIS) && TEST(axis_homed, X_AXIS)) CBI(axis_bits, X_AXIS); + if (TEST(axis_bits, Y_AXIS) && TEST(axis_homed, Y_AXIS)) CBI(axis_bits, Y_AXIS); + if (TEST(axis_bits, Z_AXIS) && TEST(axis_homed, Z_AXIS)) CBI(axis_bits, Z_AXIS); return axis_bits; } -bool axis_unhomed_error(uint8_t axis_bits/*=0x07*/) { - if ((axis_bits = axes_need_homing(axis_bits))) { +bool homing_needed_error(uint8_t axis_bits/*=0x07*/) { + if ((axis_bits = axes_should_home(axis_bits))) { PGM_P home_first = GET_TEXT(MSG_HOME_FIRST); char msg[strlen_P(home_first)+1]; sprintf_P(msg, home_first, @@ -1431,15 +1430,15 @@ void set_axis_is_at_home(const AxisEnum axis) { } /** - * Set an axis' to be unhomed. + * Set an axis to be unhomed. */ -void set_axis_not_trusted(const AxisEnum axis) { - if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPAIR(">>> set_axis_not_trusted(", axis_codes[axis], ")"); +void set_axis_never_homed(const AxisEnum axis) { + if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPAIR(">>> set_axis_never_homed(", axis_codes[axis], ")"); CBI(axis_known_position, axis); CBI(axis_homed, axis); - if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPAIR("<<< set_axis_not_trusted(", axis_codes[axis], ")"); + if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPAIR("<<< set_axis_never_homed(", axis_codes[axis], ")"); TERN_(I2C_POSITION_ENCODERS, I2CPEM.unhomed(axis)); } diff --git a/Marlin/src/module/motion.h b/Marlin/src/module/motion.h index 38ce980dae98..c3f2d9b779a4 100644 --- a/Marlin/src/module/motion.h +++ b/Marlin/src/module/motion.h @@ -40,8 +40,8 @@ constexpr uint8_t xyz_bits = _BV(X_AXIS) | _BV(Y_AXIS) | _BV(Z_AXIS); FORCE_INLINE bool no_axes_homed() { return !axis_homed; } FORCE_INLINE bool all_axes_homed() { return (axis_homed & xyz_bits) == xyz_bits; } FORCE_INLINE bool all_axes_known() { return (axis_known_position & xyz_bits) == xyz_bits; } -FORCE_INLINE void set_all_unhomed() { axis_homed = 0; } -FORCE_INLINE void set_all_unknown() { axis_known_position = 0; } +FORCE_INLINE void set_all_homed() { axis_homed = axis_known_position = xyz_bits; } +FORCE_INLINE void set_all_unhomed() { axis_homed = axis_known_position = 0; } FORCE_INLINE bool homing_needed() { return !TERN(HOME_AFTER_DEACTIVATE, all_axes_known, all_axes_homed)(); @@ -239,22 +239,18 @@ void do_z_clearance(const float &zclear, const bool z_known=true, const bool rai // // Homing // - -uint8_t axes_need_homing(uint8_t axis_bits=0x07); -bool axis_unhomed_error(uint8_t axis_bits=0x07); +void homeaxis(const AxisEnum axis); +void set_axis_is_at_home(const AxisEnum axis); +void set_axis_never_homed(const AxisEnum axis); +uint8_t axes_should_home(uint8_t axis_bits=0x07); +bool homing_needed_error(uint8_t axis_bits=0x07); #if ENABLED(NO_MOTION_BEFORE_HOMING) - #define MOTION_CONDITIONS (IsRunning() && !axis_unhomed_error()) + #define MOTION_CONDITIONS (IsRunning() && !homing_needed_error()) #else #define MOTION_CONDITIONS IsRunning() #endif -void set_axis_is_at_home(const AxisEnum axis); - -void set_axis_not_trusted(const AxisEnum axis); - -void homeaxis(const AxisEnum axis); - /** * Workspace offsets */ diff --git a/Marlin/src/module/planner.cpp b/Marlin/src/module/planner.cpp index 65a9e4e05927..931daa3322b8 100644 --- a/Marlin/src/module/planner.cpp +++ b/Marlin/src/module/planner.cpp @@ -1316,7 +1316,10 @@ void Planner::check_axes_activity() { #if ANY(DISABLE_X, DISABLE_Y, DISABLE_Z, DISABLE_E) for (uint8_t b = block_buffer_tail; b != block_buffer_head; b = next_block_index(b)) { block_t *block = &block_buffer[b]; - LOOP_XYZE(i) if (block->steps[i]) axis_active[i] = true; + if (ENABLED(DISABLE_X) && block->steps.x) axis_active.x = true; + if (ENABLED(DISABLE_Y) && block->steps.y) axis_active.y = true; + if (ENABLED(DISABLE_Z) && block->steps.z) axis_active.z = true; + if (ENABLED(DISABLE_E) && block->steps.e) axis_active.e = true; } #endif } diff --git a/Marlin/src/module/probe.cpp b/Marlin/src/module/probe.cpp index 4fab4ec27b49..12b617ec439e 100644 --- a/Marlin/src/module/probe.cpp +++ b/Marlin/src/module/probe.cpp @@ -359,7 +359,7 @@ bool Probe::set_deployed(const bool deploy) { do_z_raise(_MAX(Z_CLEARANCE_BETWEEN_PROBES, Z_CLEARANCE_DEPLOY_PROBE)); #if EITHER(Z_PROBE_SLED, Z_PROBE_ALLEN_KEY) - if (axis_unhomed_error(TERN_(Z_PROBE_SLED, _BV(X_AXIS)))) { + if (homing_needed_error(TERN_(Z_PROBE_SLED, _BV(X_AXIS)))) { SERIAL_ERROR_MSG(STR_STOP_UNHOMED); stop(); return true; diff --git a/Marlin/src/module/configuration_store.cpp b/Marlin/src/module/settings.cpp similarity index 97% rename from Marlin/src/module/configuration_store.cpp rename to Marlin/src/module/settings.cpp index 72ff0576283b..d5f41a324664 100644 --- a/Marlin/src/module/configuration_store.cpp +++ b/Marlin/src/module/settings.cpp @@ -21,7 +21,7 @@ */ /** - * configuration_store.cpp + * settings.cpp * * Settings and EEPROM storage * @@ -44,7 +44,7 @@ // Can be disabled for production build. //#define DEBUG_EEPROM_READWRITE -#include "configuration_store.h" +#include "settings.h" #include "endstops.h" #include "planner.h" @@ -106,6 +106,9 @@ #if HAS_FILAMENT_SENSOR #include "../feature/runout.h" + #ifndef FIL_RUNOUT_ENABLED_DEFAULT + #define FIL_RUNOUT_ENABLED_DEFAULT true + #endif #endif #if ENABLED(EXTRA_LIN_ADVANCE_K) @@ -140,6 +143,14 @@ #define HAS_CASE_LIGHT_BRIGHTNESS 1 #endif +#if ENABLED(PASSWORD_FEATURE) + #include "../feature/password/password.h" +#endif + +#if ENABLED(TOUCH_SCREEN_CALIBRATION) + #include "../lcd/tft/touch.h" +#endif + #pragma pack(push, 1) // No padding between variables typedef struct { uint16_t X, Y, Z, X2, Y2, Z2, Z3, Z4, E0, E1, E2, E3, E4, E5, E6, E7; } tmc_stepper_current_t; @@ -148,7 +159,7 @@ typedef struct { int16_t X, Y, Z, X2, Y2, Z2, Z3, Z4; typedef struct { bool X, Y, Z, X2, Y2, Z2, Z3, Z4, E0, E1, E2, E3, E4, E5, E6, E7; } tmc_stealth_enabled_t; // Limit an index to an array size -#define ALIM(I,ARR) _MIN(I, signed(COUNT(ARR) - 1)) +#define ALIM(I,ARR) _MIN(I, (signed)COUNT(ARR) - 1) // Defaults for reset / fill in on load static const uint32_t _DMA[] PROGMEM = DEFAULT_MAX_ACCELERATION; @@ -400,7 +411,22 @@ typedef struct SettingsDataStruct { // HAS_CASE_LIGHT_BRIGHTNESS // #if HAS_CASE_LIGHT_BRIGHTNESS - uint8_t case_light_brightness; + uint8_t caselight_brightness; // M355 P + #endif + + // + // PASSWORD_FEATURE + // + #if ENABLED(PASSWORD_FEATURE) + bool password_is_set; + uint32_t password_value; + #endif + + // + // TOUCH_SCREEN_CALIBRATION + // + #if ENABLED(TOUCH_SCREEN_CALIBRATION) + touch_calibration_t touch_calibration; #endif } SettingsData; @@ -454,7 +480,7 @@ void MarlinSettings::postprocess() { TERN_(HAS_LINEAR_E_JERK, planner.recalculate_max_e_jerk()); - TERN_(HAS_CASE_LIGHT_BRIGHTNESS, update_case_light()); + TERN_(HAS_CASE_LIGHT_BRIGHTNESS, caselight.update_brightness()); // Refresh steps_to_mm with the reciprocal of axis_steps_per_mm // and init stepper.count[], planner.position[] with current_position @@ -603,7 +629,12 @@ void MarlinSettings::postprocess() { #endif EEPROM_WRITE(home_offset); #endif + } + // + // Hotend Offsets, if any + // + { #if HAS_HOTEND_OFFSET // Skip hotend 0 which must be 0 LOOP_S_L_N(e, 1, HOTENDS) @@ -618,15 +649,16 @@ void MarlinSettings::postprocess() { #if HAS_FILAMENT_SENSOR const bool &runout_sensor_enabled = runout.enabled; #else - constexpr bool runout_sensor_enabled = true; + constexpr int8_t runout_sensor_enabled = -1; #endif + _FIELD_TEST(runout_sensor_enabled); + EEPROM_WRITE(runout_sensor_enabled); + #if HAS_FILAMENT_RUNOUT_DISTANCE const float &runout_distance_mm = runout.runout_distance(); #else constexpr float runout_distance_mm = 0; #endif - _FIELD_TEST(runout_sensor_enabled); - EEPROM_WRITE(runout_sensor_enabled); EEPROM_WRITE(runout_distance_mm); } @@ -1331,7 +1363,22 @@ void MarlinSettings::postprocess() { // Case Light Brightness // #if HAS_CASE_LIGHT_BRIGHTNESS - EEPROM_WRITE(case_light_brightness); + EEPROM_WRITE(caselight.brightness); + #endif + + // + // Password feature + // + #if ENABLED(PASSWORD_FEATURE) + EEPROM_WRITE(password.is_set); + EEPROM_WRITE(password.value); + #endif + + // + // TOUCH_SCREEN_CALIBRATION + // + #if ENABLED(TOUCH_SCREEN_CALIBRATION) + EEPROM_WRITE(touch.calibration); #endif // @@ -1475,13 +1522,14 @@ void MarlinSettings::postprocess() { // Filament Runout Sensor // { - #if HAS_FILAMENT_SENSOR - const bool &runout_sensor_enabled = runout.enabled; - #else - bool runout_sensor_enabled; - #endif + int8_t runout_sensor_enabled; _FIELD_TEST(runout_sensor_enabled); EEPROM_READ(runout_sensor_enabled); + #if HAS_FILAMENT_SENSOR + runout.enabled = runout_sensor_enabled < 0 ? FIL_RUNOUT_ENABLED_DEFAULT : runout_sensor_enabled; + #endif + + TERN_(HAS_FILAMENT_SENSOR, if (runout.enabled) runout.reset()); float runout_distance_mm; EEPROM_READ(runout_distance_mm); @@ -2163,8 +2211,25 @@ void MarlinSettings::postprocess() { // Case Light Brightness // #if HAS_CASE_LIGHT_BRIGHTNESS - _FIELD_TEST(case_light_brightness); - EEPROM_READ(case_light_brightness); + _FIELD_TEST(caselight_brightness); + EEPROM_READ(caselight.brightness); + #endif + + // + // Password feature + // + #if ENABLED(PASSWORD_FEATURE) + _FIELD_TEST(password_is_set); + EEPROM_READ(password.is_set); + EEPROM_READ(password.value); + #endif + + // + // TOUCH_SCREEN_CALIBRATION + // + #if ENABLED(TOUCH_SCREEN_CALIBRATION) + _FIELD_TEST(touch.calibration); + EEPROM_READ(touch.calibration); #endif eeprom_error = size_error(eeprom_index - (EEPROM_OFFSET)); @@ -2414,7 +2479,7 @@ void MarlinSettings::reset() { // #if HAS_FILAMENT_SENSOR - runout.enabled = true; + runout.enabled = FIL_RUNOUT_ENABLED_DEFAULT; runout.reset(); TERN_(HAS_FILAMENT_RUNOUT_DISTANCE, runout.set_runout_distance(FILAMENT_RUNOUT_DISTANCE_MM)); #endif @@ -2467,7 +2532,12 @@ void MarlinSettings::reset() { // // Case Light Brightness // - TERN_(HAS_CASE_LIGHT_BRIGHTNESS, case_light_brightness = CASE_LIGHT_DEFAULT_BRIGHTNESS); + TERN_(HAS_CASE_LIGHT_BRIGHTNESS, caselight.brightness = CASE_LIGHT_DEFAULT_BRIGHTNESS); + + // + // TOUCH_SCREEN_CALIBRATION + // + TERN_(TOUCH_SCREEN_CALIBRATION, touch.calibration_reset()); // // Magnetic Parking Extruder @@ -2486,8 +2556,7 @@ void MarlinSettings::reset() { #if HAS_PROBE_XY_OFFSET LOOP_XYZ(a) probe.offset[a] = dpo[a]; #else - probe.offset.x = probe.offset.y = 0; - probe.offset.z = dpo[Z_AXIS]; + probe.offset.set(0, 0, dpo[Z_AXIS]); #endif #endif @@ -2635,7 +2704,7 @@ void MarlinSettings::reset() { #define PID_DEFAULT(N,E) DEFAULT_##N #endif HOTEND_LOOP() { - PID_PARAM(Kp, e) = float(PID_DEFAULT(Kp, ALIM(e, defKp))); + PID_PARAM(Kp, e) = float(PID_DEFAULT(Kp, ALIM(e, defKp))); PID_PARAM(Ki, e) = scalePID_i(PID_DEFAULT(Ki, ALIM(e, defKi))); PID_PARAM(Kd, e) = scalePID_d(PID_DEFAULT(Kd, ALIM(e, defKd))); TERN_(PID_EXTRUSION_SCALING, PID_PARAM(Kc, e) = float(PID_DEFAULT(Kc, ALIM(e, defKc)))); @@ -2753,6 +2822,15 @@ void MarlinSettings::reset() { } #endif + #if ENABLED(PASSWORD_FEATURE) + #ifdef PASSWORD_DEFAULT_VALUE + password.is_set = true; + password.value = PASSWORD_DEFAULT_VALUE; + #else + password.is_set = false; + #endif + #endif + postprocess(); DEBUG_ECHO_START(); diff --git a/Marlin/src/module/configuration_store.h b/Marlin/src/module/settings.h similarity index 98% rename from Marlin/src/module/configuration_store.h rename to Marlin/src/module/settings.h index c654b11bd5ef..b213de93a433 100644 --- a/Marlin/src/module/configuration_store.h +++ b/Marlin/src/module/settings.h @@ -21,6 +21,10 @@ */ #pragma once +// +// settings.cpp - Settings and EEPROM storage +// + #include "../inc/MarlinConfig.h" #if ENABLED(EEPROM_SETTINGS) diff --git a/Marlin/src/module/stepper.cpp b/Marlin/src/module/stepper.cpp index c9d87486f87d..0e70fd370cf9 100644 --- a/Marlin/src/module/stepper.cpp +++ b/Marlin/src/module/stepper.cpp @@ -1264,7 +1264,7 @@ void Stepper::set_directions() { } FORCE_INLINE int32_t Stepper::_eval_bezier_curve(const uint32_t curr_step) { - #if defined(__ARM__) || defined(__thumb__) + #if defined(__arm__) || defined(__thumb__) // For ARM Cortex M3/M4 CPUs, we have the optimized assembler version, that takes 43 cycles to execute uint32_t flo = 0; @@ -1578,12 +1578,11 @@ void Stepper::pulse_phase_isr() { #if STEPPER_PAGE_FORMAT == SP_4x4D_128 - #define PAGE_SEGMENT_UPDATE(AXIS, VALUE, MID) do{ \ - if ((VALUE) == MID) {} \ - else if ((VALUE) < MID) SBI(dm, _AXIS(AXIS)); \ - else CBI(dm, _AXIS(AXIS)); \ - page_step_state.sd[_AXIS(AXIS)] = VALUE; \ - page_step_state.bd[_AXIS(AXIS)] += VALUE; \ + #define PAGE_SEGMENT_UPDATE(AXIS, VALUE) do{ \ + if ((VALUE) < 7) SBI(dm, _AXIS(AXIS)); \ + else if ((VALUE) > 7) CBI(dm, _AXIS(AXIS)); \ + page_step_state.sd[_AXIS(AXIS)] = VALUE; \ + page_step_state.bd[_AXIS(AXIS)] += VALUE; \ }while(0) #define PAGE_PULSE_PREP(AXIS) do{ \ @@ -1592,7 +1591,7 @@ void Stepper::pulse_phase_isr() { }while(0) switch (page_step_state.segment_steps) { - case 8: + case DirectStepping::Config::SEGMENT_STEPS: page_step_state.segment_idx += 2; page_step_state.segment_steps = 0; // fallthru @@ -1601,10 +1600,10 @@ void Stepper::pulse_phase_isr() { high = page_step_state.page[page_step_state.segment_idx + 1]; uint8_t dm = last_direction_bits; - PAGE_SEGMENT_UPDATE(X, low >> 4, 7); - PAGE_SEGMENT_UPDATE(Y, low & 0xF, 7); - PAGE_SEGMENT_UPDATE(Z, high >> 4, 7); - PAGE_SEGMENT_UPDATE(E, high & 0xF, 7); + PAGE_SEGMENT_UPDATE(X, low >> 4); + PAGE_SEGMENT_UPDATE(Y, low & 0xF); + PAGE_SEGMENT_UPDATE(Z, high >> 4); + PAGE_SEGMENT_UPDATE(E, high & 0xF); if (dm != last_direction_bits) { last_direction_bits = dm; @@ -1615,9 +1614,9 @@ void Stepper::pulse_phase_isr() { default: break; } - PAGE_PULSE_PREP(X), - PAGE_PULSE_PREP(Y), - PAGE_PULSE_PREP(Z), + PAGE_PULSE_PREP(X); + PAGE_PULSE_PREP(Y); + PAGE_PULSE_PREP(Z); PAGE_PULSE_PREP(E); page_step_state.segment_steps++; @@ -1634,7 +1633,7 @@ void Stepper::pulse_phase_isr() { }while(0) switch (page_step_state.segment_steps) { - case 4: + case DirectStepping::Config::SEGMENT_STEPS: page_step_state.segment_idx++; page_step_state.segment_steps = 0; // fallthru @@ -1664,7 +1663,6 @@ void Stepper::pulse_phase_isr() { }while(0) uint8_t steps = page_step_state.page[page_step_state.segment_idx >> 1]; - if (page_step_state.segment_idx & 0x1) steps >>= 4; PAGE_PULSE_PREP(X, 3); diff --git a/Marlin/src/module/stepper/indirection.h b/Marlin/src/module/stepper/indirection.h index e3d3730c79ea..ec0d63a89d97 100644 --- a/Marlin/src/module/stepper/indirection.h +++ b/Marlin/src/module/stepper/indirection.h @@ -840,15 +840,22 @@ void reset_stepper_drivers(); // Called by settings.load / settings.reset // // Axis steppers enable / disable macros // +#define FORGET_AXIS(A) TERN(HOME_AFTER_DEACTIVATE, set_axis_never_homed(A), CBI(axis_known_position, A)) #define ENABLE_AXIS_X() do{ ENABLE_STEPPER_X(); ENABLE_STEPPER_X2(); }while(0) -#define DISABLE_AXIS_X() do{ DISABLE_STEPPER_X(); DISABLE_STEPPER_X2(); CBI(axis_known_position, X_AXIS); }while(0) +#define DISABLE_AXIS_X() do{ DISABLE_STEPPER_X(); DISABLE_STEPPER_X2(); FORGET_AXIS(X_AXIS); }while(0) #define ENABLE_AXIS_Y() do{ ENABLE_STEPPER_Y(); ENABLE_STEPPER_Y2(); }while(0) -#define DISABLE_AXIS_Y() do{ DISABLE_STEPPER_Y(); DISABLE_STEPPER_Y2(); CBI(axis_known_position, Y_AXIS); }while(0) +#define DISABLE_AXIS_Y() do{ DISABLE_STEPPER_Y(); DISABLE_STEPPER_Y2(); FORGET_AXIS(Y_AXIS); }while(0) #define ENABLE_AXIS_Z() do{ ENABLE_STEPPER_Z(); ENABLE_STEPPER_Z2(); ENABLE_STEPPER_Z3(); ENABLE_STEPPER_Z4(); }while(0) -#define DISABLE_AXIS_Z() do{ DISABLE_STEPPER_Z(); DISABLE_STEPPER_Z2(); DISABLE_STEPPER_Z3(); DISABLE_STEPPER_Z4(); CBI(axis_known_position, Z_AXIS); }while(0) + +#ifdef Z_AFTER_DEACTIVATE + #define Z_RESET() do{ current_position.z = Z_AFTER_DEACTIVATE; sync_plan_position(); }while(0) +#else + #define Z_RESET() +#endif +#define DISABLE_AXIS_Z() do{ DISABLE_STEPPER_Z(); DISABLE_STEPPER_Z2(); DISABLE_STEPPER_Z3(); DISABLE_STEPPER_Z4(); FORGET_AXIS(Z_AXIS); Z_RESET(); }while(0) // // Extruder steppers enable / disable macros diff --git a/Marlin/src/module/temperature.cpp b/Marlin/src/module/temperature.cpp index 1dc480a9279a..b162173bc606 100644 --- a/Marlin/src/module/temperature.cpp +++ b/Marlin/src/module/temperature.cpp @@ -195,7 +195,7 @@ const char str_t_thermal_runaway[] PROGMEM = STR_T_THERMAL_RUNAWAY, #endif #if ENABLED(ADAPTIVE_FAN_SLOWING) - uint8_t Temperature::fan_speed_scaler[FAN_COUNT] = ARRAY_N(FAN_COUNT, 128, 128, 128, 128, 128, 128); + uint8_t Temperature::fan_speed_scaler[FAN_COUNT] = ARRAY_N(FAN_COUNT, 128, 128, 128, 128, 128, 128, 128, 128); #endif /** @@ -210,9 +210,10 @@ const char str_t_thermal_runaway[] PROGMEM = STR_T_THERMAL_RUNAWAY, if (target < EXTRUDERS) singlenozzle_fan_speed[target] = speed; return; } - target = 0; // Always use fan index 0 with SINGLENOZZLE #endif + TERN_(SINGLENOZZLE, target = 0); // Always use fan index 0 with SINGLENOZZLE + if (target >= FAN_COUNT) return; fan_speed[target] = speed; @@ -361,7 +362,7 @@ volatile bool Temperature::raw_temps_ready = false; #endif #if ENABLED(PID_EXTRUSION_SCALING) - int16_t Temperature::lpq_len; // Initialized in configuration_store + int16_t Temperature::lpq_len; // Initialized in settings.cpp #endif #if HAS_PID_HEATING @@ -435,6 +436,7 @@ volatile bool Temperature::raw_temps_ready = false; SERIAL_ECHOLNPGM(STR_PID_AUTOTUNE_START); disable_all_heaters(); + TERN_(AUTO_POWER_CONTROL, powerManager.power_on()); SHV(bias = d = (MAX_BED_POWER) >> 1, bias = d = (PID_MAX) >> 1); diff --git a/Marlin/src/module/thermistor/thermistors.h b/Marlin/src/module/thermistor/thermistors.h index 44680a7baa41..56921c6d186e 100644 --- a/Marlin/src/module/thermistor/thermistors.h +++ b/Marlin/src/module/thermistor/thermistors.h @@ -72,7 +72,7 @@ typedef struct { int16_t value, celsius; } temp_entry_t; #if ANY_THERMISTOR_IS(501) // 100K Zonestar thermistor #include "thermistor_501.h" #endif -#if ANY_THERMISTOR_IS(502) // Unknown thermistor used by the Zonestar Prusa P802M hot bed +#if ANY_THERMISTOR_IS(502) // Unknown thermistor used by the Zonestar Průša P802M hot bed #include "thermistor_502.h" #endif #if ANY_THERMISTOR_IS(512) // 100k thermistor in RPW-Ultra hotend, Pull-up = 4.7 kOhm, "unknown model" diff --git a/Marlin/src/module/tool_change.cpp b/Marlin/src/module/tool_change.cpp index 5d2dc7d3be3f..855756026684 100644 --- a/Marlin/src/module/tool_change.cpp +++ b/Marlin/src/module/tool_change.cpp @@ -174,7 +174,7 @@ inline void fast_line_to_current(const AxisEnum fr_axis) { _line_to_current(fr_a grabpos = mpe_settings.parking_xpos[new_tool] + (new_tool ? mpe_settings.grab_distance : -mpe_settings.grab_distance), offsetcompensation = TERN0(HAS_HOTEND_OFFSET, hotend_offset[active_extruder].x * mpe_settings.compensation_factor); - if (axis_unhomed_error(_BV(X_AXIS))) return; + if (homing_needed_error(_BV(X_AXIS))) return; /** * Z Lift and Nozzle Offset shift ar defined in caller method to work equal with any Multi Hotend realization @@ -1133,7 +1133,7 @@ void tool_change(const uint8_t new_tool, bool no_move/*=false*/) { if (toolchange_settings.enable_park) do_blocking_move_to_xy_z(destination, destination.z, MMM_TO_MMS(TOOLCHANGE_PARK_XY_FEEDRATE)); #else do_blocking_move_to_xy(destination, planner.settings.max_feedrate_mm_s[X_AXIS]); - do_blocking_move_to_z(destination, planner.settings.max_feedrate_mm_s[Z_AXIS]); + do_blocking_move_to_z(destination.z, planner.settings.max_feedrate_mm_s[Z_AXIS]); #endif #endif diff --git a/Marlin/src/pins/linux/pins_RAMPS_LINUX.h b/Marlin/src/pins/linux/pins_RAMPS_LINUX.h index 9361680c2371..2b7909221ec9 100644 --- a/Marlin/src/pins/linux/pins_RAMPS_LINUX.h +++ b/Marlin/src/pins/linux/pins_RAMPS_LINUX.h @@ -50,7 +50,7 @@ #endif #ifndef MARLIN_EEPROM_SIZE - #define MARLIN_EEPROM_SIZE 0x1000 // 4KB + #define MARLIN_EEPROM_SIZE 0x1000 // 4KB #endif #define IS_RAMPS_EFB diff --git a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_3.h b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_3.h index 9e26a335974b..fb1218068eb3 100644 --- a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_3.h +++ b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_3.h @@ -182,7 +182,7 @@ #define E1_SERIAL_RX_PIN P1_01 // Reduce baud rate to improve software serial reliability - #define TMC_BAUD_RATE 19200 + #define TMC_BAUD_RATE 19200 #endif /** diff --git a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h index f467ba58cbec..b32f99c68db0 100644 --- a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h +++ b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h @@ -208,7 +208,7 @@ #define Z2_SERIAL_RX_PIN P1_01 // Reduce baud rate to improve software serial reliability - #define TMC_BAUD_RATE 19200 + #define TMC_BAUD_RATE 19200 #endif // @@ -250,6 +250,62 @@ #define LCD_PINS_ENABLE P1_23 #define LCD_PINS_D4 P1_21 + #elif ENABLED(ENDER2_STOCKDISPLAY) + + /** Creality Ender-2 display pinout + * _____ + * 5V | 1 2 | GND + * (MOSI) 1.23 | 3 4 | 1.22 (LCD_RS) + * (LCD_A0) 1.21 | 5 6 | 1.20 (BTN_EN2) + * RESET 1.19 | 7 8 | 1.18 (BTN_EN1) + * (BTN_ENC) 0.28 | 9 10| 1.30 (SCK) + * ----- + * EXP1 + */ + + #define BTN_EN1 P1_18 + #define BTN_EN2 P1_20 + #define BTN_ENC P0_28 + + #define DOGLCD_CS P1_22 + #define DOGLCD_A0 P1_21 + #define DOGLCD_SCK P1_30 + #define DOGLCD_MOSI P1_23 + #define FORCE_SOFT_SPI + #define LCD_BACKLIGHT_PIN -1 + + #elif HAS_SPI_TFT // Config for Classic UI (emulated DOGM) and Color UI + #define SS_PIN -1 + //#define ONBOARD_SD_CS_PIN -1 + + #define TFT_CS_PIN P1_22 + #define TFT_A0_PIN P1_23 + #define TFT_DC_PIN P1_23 + #define TFT_MISO_PIN P0_17 + #define TFT_BACKLIGHT_PIN P1_18 + #define TFT_RESET_PIN P1_19 + + #define LPC_HW_SPI_DEV 0 + #define LCD_USE_DMA_SPI + + #define TOUCH_INT_PIN P1_21 + #define TOUCH_CS_PIN P1_20 + #define TOUCH_BUTTONS_HW_SPI + #define TOUCH_BUTTONS_HW_SPI_DEVICE 1 + + #ifndef GRAPHICAL_TFT_UPSCALE + #define GRAPHICAL_TFT_UPSCALE 3 + #endif + + // SPI 1 + #define SCK_PIN P0_15 + #define MISO_PIN P0_17 + #define MOSI_PIN P0_18 + + // Disable any LCD related PINs config + #define LCD_PINS_ENABLE -1 + #define LCD_PINS_RS -1 + #else #define BTN_ENC P0_28 // (58) open-drain @@ -321,7 +377,7 @@ #endif // -// Neopixel LED +// NeoPixel LED // #ifndef NEOPIXEL_PIN #define NEOPIXEL_PIN P1_24 diff --git a/Marlin/src/pins/lpc1768/pins_BTT_SKR_common.h b/Marlin/src/pins/lpc1768/pins_BTT_SKR_common.h index cc35dfb0d4eb..bfae569cc422 100644 --- a/Marlin/src/pins/lpc1768/pins_BTT_SKR_common.h +++ b/Marlin/src/pins/lpc1768/pins_BTT_SKR_common.h @@ -30,7 +30,7 @@ #endif // Ignore temp readings during development. -//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000 +//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000 // // Steppers diff --git a/Marlin/src/pins/lpc1768/pins_GMARSH_X6_REV1.h b/Marlin/src/pins/lpc1768/pins_GMARSH_X6_REV1.h index 7012068d615b..6bba067cbef8 100644 --- a/Marlin/src/pins/lpc1768/pins_GMARSH_X6_REV1.h +++ b/Marlin/src/pins/lpc1768/pins_GMARSH_X6_REV1.h @@ -28,7 +28,7 @@ #define BOARD_INFO_NAME "GMARSH X6 REV1" // Ignore temp readings during develpment. -//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000 +//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000 // // Enable 12MHz clock output on P1.27 pin to sync TMC2208 chip clocks @@ -97,7 +97,7 @@ #define E2_SERIAL_RX_PIN P2_06 // Reduce baud rate to improve software serial reliability - #define TMC_BAUD_RATE 19200 + #define TMC_BAUD_RATE 19200 #else #error "TMC2208 UART configuration is required for GMarsh X6." #endif diff --git a/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h b/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h index db8551c114a1..c89807227892 100644 --- a/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h +++ b/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h @@ -324,7 +324,7 @@ #define E0_SERIAL_RX_PIN P0_26 // TH4 // Reduce baud rate to improve software serial reliability - #define TMC_BAUD_RATE 19200 + #define TMC_BAUD_RATE 19200 #endif // UNUSED diff --git a/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h b/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h index c4bc90c17f67..733751eb0a8e 100644 --- a/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h +++ b/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h @@ -188,7 +188,7 @@ #define Z2_SERIAL_RX_PIN P1_17 // Reduce baud rate to improve software serial reliability - #define TMC_BAUD_RATE 19200 + #define TMC_BAUD_RATE 19200 #endif // TMC2208 || TMC2209 // diff --git a/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h b/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h index 554c060cb44f..32c9ad271187 100644 --- a/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h +++ b/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h @@ -158,7 +158,7 @@ #endif // Reduce baud rate to improve software serial reliability - #define TMC_BAUD_RATE 19200 + #define TMC_BAUD_RATE 19200 #endif // diff --git a/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_MINI.h b/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_MINI.h index 042b724e8cfd..8d5080b28033 100644 --- a/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_MINI.h +++ b/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_MINI.h @@ -82,11 +82,11 @@ // DIGIPOT slave addresses // #ifndef DIGIPOT_I2C_ADDRESS_A - #define DIGIPOT_I2C_ADDRESS_A 0x2C // unshifted slave address for first DIGIPOT + #define DIGIPOT_I2C_ADDRESS_A 0x2C // unshifted slave address for first DIGIPOT #endif #ifndef DIGIPOT_I2C_ADDRESS_B - #define DIGIPOT_I2C_ADDRESS_B 0x2E // unshifted slave address for second DIGIPOT + #define DIGIPOT_I2C_ADDRESS_B 0x2E // unshifted slave address for second DIGIPOT #endif // diff --git a/Marlin/src/pins/lpc1769/pins_MKS_SGEN.h b/Marlin/src/pins/lpc1769/pins_MKS_SGEN.h index 23275e86b6c8..c9f3ff7aae26 100644 --- a/Marlin/src/pins/lpc1769/pins_MKS_SGEN.h +++ b/Marlin/src/pins/lpc1769/pins_MKS_SGEN.h @@ -56,5 +56,5 @@ #define E1_SERIAL_RX_PIN P4_28 // J8-6 // Reduce baud rate to improve software serial reliability - #define TMC_BAUD_RATE 19200 + #define TMC_BAUD_RATE 19200 #endif diff --git a/Marlin/src/pins/lpc1769/pins_SMOOTHIEBOARD.h b/Marlin/src/pins/lpc1769/pins_SMOOTHIEBOARD.h index 0712a274bbe6..c9bd9ec3ae1a 100644 --- a/Marlin/src/pins/lpc1769/pins_SMOOTHIEBOARD.h +++ b/Marlin/src/pins/lpc1769/pins_SMOOTHIEBOARD.h @@ -114,3 +114,20 @@ #error "Marlin's Smoothieboard support cannot drive your LCD." #endif + +/** + * I2C Digipots - MCP4451 + * Address 58 (2C << 1) + * Set from 0 - 127 with stop bit. + * (Ex. 3F << 1 | 1) + */ +#define DIGIPOTS_I2C_SCL P0_0 +#define DIGIPOTS_I2C_SDA_X P0_04 +#define DIGIPOTS_I2C_SDA_Y P0_10 +#define DIGIPOTS_I2C_SDA_Z P0_19 +#define DIGIPOTS_I2C_SDA_E0 P0_21 +#define DIGIPOTS_I2C_SDA_E1 P4_29 + +#ifndef DIGIPOT_I2C_ADDRESS_A + #define DIGIPOT_I2C_ADDRESS_A 0x2C // unshifted slave address (58 <- 2C << 1) +#endif diff --git a/Marlin/src/pins/lpc1769/pins_TH3D_EZBOARD.h b/Marlin/src/pins/lpc1769/pins_TH3D_EZBOARD.h index a1d3b08caa8f..81f5b75016c3 100644 --- a/Marlin/src/pins/lpc1769/pins_TH3D_EZBOARD.h +++ b/Marlin/src/pins/lpc1769/pins_TH3D_EZBOARD.h @@ -89,7 +89,7 @@ #define E0_SERIAL_RX_PIN P0_21 // Reduce baud rate to improve software serial reliability - #define TMC_BAUD_RATE 19200 + #define TMC_BAUD_RATE 19200 #endif // diff --git a/Marlin/src/pins/mega/pins_INTAMSYS40.h b/Marlin/src/pins/mega/pins_INTAMSYS40.h index 19725eda2ffd..b6ff30a4fc23 100644 --- a/Marlin/src/pins/mega/pins_INTAMSYS40.h +++ b/Marlin/src/pins/mega/pins_INTAMSYS40.h @@ -82,7 +82,7 @@ // Motor current PWM conversion, PWM value = MotorCurrentSetting * 255 / range #ifndef MOTOR_CURRENT_PWM_RANGE - #define MOTOR_CURRENT_PWM_RANGE 2000 + #define MOTOR_CURRENT_PWM_RANGE 2000 #endif #define DEFAULT_PWM_MOTOR_CURRENT { 1300, 1300, 1250 } diff --git a/Marlin/src/pins/mega/pins_MIGHTYBOARD_REVE.h b/Marlin/src/pins/mega/pins_MIGHTYBOARD_REVE.h index efa99164208d..526c9bfc68b9 100644 --- a/Marlin/src/pins/mega/pins_MIGHTYBOARD_REVE.h +++ b/Marlin/src/pins/mega/pins_MIGHTYBOARD_REVE.h @@ -116,7 +116,7 @@ #define DIGIPOTS_I2C_SDA_E1 77 // J6 #ifndef DIGIPOT_I2C_ADDRESS_A - #define DIGIPOT_I2C_ADDRESS_A 0x2F // unshifted slave address (5E <- 2F << 1) + #define DIGIPOT_I2C_ADDRESS_A 0x2F // unshifted slave address (5E <- 2F << 1) #endif // diff --git a/Marlin/src/pins/pins.h b/Marlin/src/pins/pins.h index 1b78b0f769ad..22f6ea663ce0 100644 --- a/Marlin/src/pins/pins.h +++ b/Marlin/src/pins/pins.h @@ -300,6 +300,8 @@ #include "sanguino/pins_STB_11.h" // ATmega644P, ATmega1284P env:sanguino644p env:sanguino1284p #elif MB(AZTEEG_X1) #include "sanguino/pins_AZTEEG_X1.h" // ATmega644P, ATmega1284P env:sanguino644p env:sanguino1284p +#elif MB(ZMIB_V2) + #include "sanguino/pins_ZMIB_V2.h" // ATmega644P, ATmega1284P env:sanguino_atmega644p env:sanguino_atmega1284p // // Other ATmega644P, ATmega644, ATmega1284P @@ -503,7 +505,7 @@ #elif MB(CHITU3D) #include "stm32f1/pins_CHITU3D.h" // STM32F1 env:STM32F103RE #elif MB(MKS_ROBIN) - #include "stm32f1/pins_MKS_ROBIN.h" // STM32F1 env:mks_robin + #include "stm32f1/pins_MKS_ROBIN.h" // STM32F1 env:mks_robin env:mks_robin_stm32 #elif MB(MKS_ROBIN_MINI) #include "stm32f1/pins_MKS_ROBIN_MINI.h" // STM32F1 env:mks_robin_mini #elif MB(MKS_ROBIN_NANO) @@ -548,6 +550,8 @@ #include "stm32f1/pins_CHITU3D_V6.h" // STM32F1 env:chitu_f103 #elif MB(CREALITY_V4) #include "stm32f1/pins_CREALITY_V4.h" // STM32F1 env:STM32F103RET6_creality +#elif MB(CREALITY_V427) + #include "stm32f1/pins_CREALITY_V427.h" // STM32F1 env:STM32F103RET6_creality #elif MB(TRIGORILLA_PRO) #include "stm32f1/pins_TRIGORILLA_PRO.h" // STM32F1 env:trigorilla_pro @@ -602,6 +606,8 @@ #include "stm32f4/pins_FLYF407ZG.h" // STM32F4 env:FLYF407ZG #elif MB(MKS_ROBIN2) #include "stm32f4/pins_MKS_ROBIN2.h" // STM32F4 env:MKS_ROBIN2 +#elif MB(FYSETC_S6_V2_0) + #include "stm32f4/pins_FYSETC_S6_V2_0.h" // STM32F4 env:FYSETC_S6 // // ARM Cortex M7 @@ -632,6 +638,12 @@ #elif MB(AGCM4_RAMPS_144) #include "samd/pins_RAMPS_144.h" // SAMD51 env:SAMD51_grandcentral_m4 +// +// Custom board (with custom PIO env) +// +#elif MB(CUSTOM) + #include "pins_custom.h" // env:custom + // // Linux Native Debug board // diff --git a/Marlin/src/pins/pinsDebug_list.h b/Marlin/src/pins/pinsDebug_list.h index 3307cbde97e8..ac15a3c9bae2 100644 --- a/Marlin/src/pins/pinsDebug_list.h +++ b/Marlin/src/pins/pinsDebug_list.h @@ -1421,3 +1421,22 @@ #if PIN_EXISTS(ESP_WIFI_MODULE_GPIO2) REPORT_NAME_DIGITAL(__LINE__, ESP_WIFI_MODULE_GPIO2_PIN) #endif +// TFT PINS +#if PIN_EXISTS(TFT_CS) + REPORT_NAME_DIGITAL(__LINE__, TFT_CS_PIN) +#endif +#if PIN_EXISTS(TFT_A0) + REPORT_NAME_DIGITAL(__LINE__, TFT_A0_PIN) +#endif +#if PIN_EXISTS(TFT_DC) + REPORT_NAME_DIGITAL(__LINE__, TFT_DC_PIN) +#endif +#if PIN_EXISTS(TFT_MISO) + REPORT_NAME_DIGITAL(__LINE__, TFT_MISO_PIN) +#endif +#if PIN_EXISTS(TFT_BACKLIGHT) + REPORT_NAME_DIGITAL(__LINE__, TFT_BACKLIGHT_PIN) +#endif +#if PIN_EXISTS(TFT_RESET) + REPORT_NAME_DIGITAL(__LINE__, TFT_RESET_PIN) +#endif diff --git a/Marlin/src/pins/rambo/pins_EINSY_RAMBO.h b/Marlin/src/pins/rambo/pins_EINSY_RAMBO.h index 8fb3be47da54..e2a4940e8789 100644 --- a/Marlin/src/pins/rambo/pins_EINSY_RAMBO.h +++ b/Marlin/src/pins/rambo/pins_EINSY_RAMBO.h @@ -80,6 +80,13 @@ #define Z_MIN_PROBE_PIN 10 #endif +// +// Filament Runout Sensor +// +#ifndef FIL_RUNOUT_PIN + #define FIL_RUNOUT_PIN 62 +#endif + // // Steppers // diff --git a/Marlin/src/pins/ramps/pins_AZTEEG_X3_PRO.h b/Marlin/src/pins/ramps/pins_AZTEEG_X3_PRO.h index a23ada0aca2f..5eee450fc507 100644 --- a/Marlin/src/pins/ramps/pins_AZTEEG_X3_PRO.h +++ b/Marlin/src/pins/ramps/pins_AZTEEG_X3_PRO.h @@ -67,10 +67,10 @@ // DIGIPOT slave addresses #ifndef DIGIPOT_I2C_ADDRESS_A - #define DIGIPOT_I2C_ADDRESS_A 0x2C // unshifted slave address for first DIGIPOT 0x2C (0x58 <- 0x2C << 1) + #define DIGIPOT_I2C_ADDRESS_A 0x2C // unshifted slave address for first DIGIPOT 0x2C (0x58 <- 0x2C << 1) #endif #ifndef DIGIPOT_I2C_ADDRESS_B - #define DIGIPOT_I2C_ADDRESS_B 0x2E // unshifted slave address for second DIGIPOT 0x2E (0x5C <- 0x2E << 1) + #define DIGIPOT_I2C_ADDRESS_B 0x2E // unshifted slave address for second DIGIPOT 0x2E (0x5C <- 0x2E << 1) #endif // diff --git a/Marlin/src/pins/ramps/pins_RAMPS_CREALITY.h b/Marlin/src/pins/ramps/pins_RAMPS_CREALITY.h index b2a412e305c8..1dc898e6ca9a 100644 --- a/Marlin/src/pins/ramps/pins_RAMPS_CREALITY.h +++ b/Marlin/src/pins/ramps/pins_RAMPS_CREALITY.h @@ -64,5 +64,5 @@ #define SUICIDE_PIN 12 // Used by CR2020 Industrial series #ifndef SUICIDE_PIN_INVERTING - #define SUICIDE_PIN_INVERTING true + #define SUICIDE_PIN_INVERTING true #endif diff --git a/Marlin/src/pins/ramps/pins_RAMPS_PLUS.h b/Marlin/src/pins/ramps/pins_RAMPS_PLUS.h index 9af4a3e05c0f..bdd53abbc04d 100644 --- a/Marlin/src/pins/ramps/pins_RAMPS_PLUS.h +++ b/Marlin/src/pins/ramps/pins_RAMPS_PLUS.h @@ -74,7 +74,7 @@ #undef E0_CS_PIN #undef E1_CS_PIN -#if ENABLED(ULTRA_LCD, REPRAPWORLD_GRAPHICAL_LCD, CR10_STOCKDISPLAY) && !BOTH(NEWPANEL, PANEL_ONE) +#if ENABLED(ULTRA_LCD) && NONE(REPRAPWORLD_GRAPHICAL_LCD, CR10_STOCKDISPLAY) && !BOTH(NEWPANEL, PANEL_ONE) #if DISABLED(MKS_12864OLED) || ENABLED(MKS_12864OLED_SSD1306) #undef LCD_PINS_RS #define LCD_PINS_RS 42 // 3DYMY boards pin 16 -> 42 diff --git a/Marlin/src/pins/ramps/pins_TRIGORILLA_14.h b/Marlin/src/pins/ramps/pins_TRIGORILLA_14.h index 6382d3af51ad..708f8fa26cd6 100644 --- a/Marlin/src/pins/ramps/pins_TRIGORILLA_14.h +++ b/Marlin/src/pins/ramps/pins_TRIGORILLA_14.h @@ -27,49 +27,8 @@ #define BOARD_INFO_NAME "Anycubic RAMPS 1.4" -// -// Servos -// -#if MB(TRIGORILLA_14_11) - #define SERVO0_PIN 5 - #define SERVO1_PIN 4 - #define SERVO2_PIN 11 - #define SERVO3_PIN 6 -#endif - -// -// Limit Switches -// -//#define ANYCUBIC_4_MAX_PRO_ENDSTOPS - -#define X_MIN_PIN 3 - -#if ENABLED(ANYCUBIC_4_MAX_PRO_ENDSTOPS) - #define X_MAX_PIN 43 -#else - #define X_MAX_PIN 43 -#endif +// Board labeled pins: -#if ENABLED(ANYCUBIC_4_MAX_PRO_ENDSTOPS) - #define Y_STOP_PIN 19 -#else - #define Y_STOP_PIN 42 -#endif - -#define Z_STOP_PIN 18 - -// -// Z Probe (when not Z_MIN_PIN) -// -#define Z_MIN_PROBE_PIN 2 - -#ifndef FIL_RUNOUT_PIN - #define FIL_RUNOUT_PIN 19 -#endif - -// -// Heaters / Fans -// #define TG_HEATER_BED_PIN 8 #define TG_HEATER_0_PIN 10 #define TG_HEATER_1_PIN 45 // Anycubic Kossel: Unused @@ -78,10 +37,15 @@ #define TG_FAN1_PIN 7 // Anycubic Kossel: Unused #define TG_FAN2_PIN 44 // Anycubic Kossel: Hotend fan -#define CONTROLLER_FAN_PIN TG_FAN1_PIN - -#define BEEPER_PIN 31 -#define SD_DETECT_PIN 49 +// +// Servos +// +#if MB(TRIGORILLA_14_11) + #define SERVO0_PIN 5 + #define SERVO1_PIN 4 + #define SERVO2_PIN 11 + #define SERVO3_PIN 6 +#endif // Remap MOSFET pins to common usages: @@ -100,7 +64,11 @@ #elif TEMP_SENSOR_BED // EFB (Anycubic Kossel default) #define RAMPS_D9_PIN TG_FAN0_PIN - #define RAMPS_D8_PIN TG_HEATER_BED_PIN + #if ENABLED(ANYCUBIC_CHIRON) + #define RAMPS_D8_PIN TG_HEATER_1_PIN // Heated bed is connected to HEATER1 output + #else + #define RAMPS_D8_PIN TG_HEATER_BED_PIN + #endif #else // EFF #define RAMPS_D9_PIN TG_FAN1_PIN @@ -116,6 +84,44 @@ #define E0_AUTO_FAN_PIN TG_FAN2_PIN // Used in Anycubic Kossel example config #endif +#if ENABLED(ANYCUBIC_I3MEGA) + #define CONTROLLER_FAN_PIN TG_FAN1_PIN +#endif + +// +// AnyCubic standard pin mappings +// +// On most printers, endstops are NOT all wired to the appropriate pins on the Trigorilla board. +// For instance, on a Chiron, Y axis goes to an aux connector. +// There are also other things that have been wired in creative ways. +// To enable PIN definitions for a specific printer model, #define the appropriate symbol after +// MOTHERBOARD in Configuration.h + +// +// Limit Switches +// +//#define ANYCUBIC_4_MAX_PRO_ENDSTOPS + +#if ENABLED(ANYCUBIC_4_MAX_PRO_ENDSTOPS) + #define X_MAX_PIN 43 + #define Y_STOP_PIN 19 +#elif EITHER(ANYCUBIC_CHIRON, ANYCUBIC_I3MEGA) + #define Y_STOP_PIN 42 + #define Z2_MIN_PIN 43 + #ifndef Z_MIN_PROBE_PIN + #define Z_MIN_PROBE_PIN 2 + #endif + #ifndef FIL_RUNOUT_PIN + #if ENABLED(ANYCUBIC_CHIRON) + #define FIL_RUNOUT_PIN 33 + #else + #define FIL_RUNOUT_PIN 19 + #endif + #endif + #define BEEPER_PIN 31 + #define SD_DETECT_PIN 49 +#endif + #include "pins_RAMPS.h" // diff --git a/Marlin/src/pins/ramps/pins_ULTIMAKER_OLD.h b/Marlin/src/pins/ramps/pins_ULTIMAKER_OLD.h index 955801558457..a44baf26e4d0 100644 --- a/Marlin/src/pins/ramps/pins_ULTIMAKER_OLD.h +++ b/Marlin/src/pins/ramps/pins_ULTIMAKER_OLD.h @@ -174,7 +174,7 @@ #define LCD_PINS_D6 32 #define LCD_PINS_D7 30 -#elif ENABLED(BOARD_REV_1_5, ULTRA_LCD) +#elif BOTH(BOARD_REV_1_5, ULTRA_LCD) #define BEEPER_PIN 18 diff --git a/Marlin/src/pins/sam/pins_CNCONTROLS_15D.h b/Marlin/src/pins/sam/pins_CNCONTROLS_15D.h index b977ad1aba54..a2094bee4daf 100644 --- a/Marlin/src/pins/sam/pins_CNCONTROLS_15D.h +++ b/Marlin/src/pins/sam/pins_CNCONTROLS_15D.h @@ -92,7 +92,7 @@ // // Fans // -//#define FAN0_PIN 8 +//#define FAN_PIN 8 // // Auto fans diff --git a/Marlin/src/pins/sam/pins_PRINTRBOARD_G2.h b/Marlin/src/pins/sam/pins_PRINTRBOARD_G2.h index 5d8716b67887..be6b0fb2ed86 100644 --- a/Marlin/src/pins/sam/pins_PRINTRBOARD_G2.h +++ b/Marlin/src/pins/sam/pins_PRINTRBOARD_G2.h @@ -147,7 +147,7 @@ #define FET_SAFETY_PIN 31 // PA7 must be pulsed low every 50 mS or FETs are turned off #define FET_SAFETY_DELAY 50 // 50 mS delay between pulses -#define FET_SAFETY_INVERTED true // true - negative going pulse of 2 uS +#define FET_SAFETY_INVERTED true // true - negative going pulse of 2 uS ///////////////////////////////////////////////////////// diff --git a/Marlin/src/pins/sam/pins_RADDS.h b/Marlin/src/pins/sam/pins_RADDS.h index 78231afaffa2..a0192aadb6f4 100644 --- a/Marlin/src/pins/sam/pins_RADDS.h +++ b/Marlin/src/pins/sam/pins_RADDS.h @@ -36,7 +36,7 @@ // #if EITHER(NO_EEPROM_SELECTED, I2C_EEPROM) #define I2C_EEPROM - #define MARLIN_EEPROM_SIZE 0x2000 // 8KB + #define MARLIN_EEPROM_SIZE 0x2000 // 8KB #endif // diff --git a/Marlin/src/pins/sam/pins_RAMPS_SMART.h b/Marlin/src/pins/sam/pins_RAMPS_SMART.h index 4c26d19cafdb..06eee2d970eb 100644 --- a/Marlin/src/pins/sam/pins_RAMPS_SMART.h +++ b/Marlin/src/pins/sam/pins_RAMPS_SMART.h @@ -70,7 +70,7 @@ // I2C EEPROM with 4K of space #define I2C_EEPROM -#define MARLIN_EEPROM_SIZE 0x1000 +#define MARLIN_EEPROM_SIZE 0x1000 #define RESET_PIN 42 // Resets the board if the jumper is attached diff --git a/Marlin/src/pins/sam/pins_RURAMPS4D_11.h b/Marlin/src/pins/sam/pins_RURAMPS4D_11.h index 22353611b61b..dd490e38933a 100644 --- a/Marlin/src/pins/sam/pins_RURAMPS4D_11.h +++ b/Marlin/src/pins/sam/pins_RURAMPS4D_11.h @@ -186,7 +186,7 @@ // // EEPROM // -#define MARLIN_EEPROM_SIZE 0x8000 // 32Kb (24lc256) +#define MARLIN_EEPROM_SIZE 0x8000 // 32Kb (24lc256) #define I2C_EEPROM // EEPROM on I2C-0 //#define EEPROM_SD // EEPROM on SDCARD //#define SPI_EEPROM // EEPROM on SPI-0 diff --git a/Marlin/src/pins/sam/pins_RURAMPS4D_13.h b/Marlin/src/pins/sam/pins_RURAMPS4D_13.h index 19b8ac97754b..8a6287fb659f 100644 --- a/Marlin/src/pins/sam/pins_RURAMPS4D_13.h +++ b/Marlin/src/pins/sam/pins_RURAMPS4D_13.h @@ -172,7 +172,7 @@ // // EEPROM // -#define MARLIN_EEPROM_SIZE 0x8000 // 32Kb (24lc256) +#define MARLIN_EEPROM_SIZE 0x8000 // 32Kb (24lc256) #define I2C_EEPROM // EEPROM on I2C-0 //#define EEPROM_SD // EEPROM on SDCARD //#define SPI_EEPROM // EEPROM on SPI-0 diff --git a/Marlin/src/pins/samd/pins_RAMPS_144.h b/Marlin/src/pins/samd/pins_RAMPS_144.h index 319584b5eb56..93e758b3ae66 100644 --- a/Marlin/src/pins/samd/pins_RAMPS_144.h +++ b/Marlin/src/pins/samd/pins_RAMPS_144.h @@ -46,7 +46,7 @@ // //#define QSPI_EEPROM // Use AGCM4 onboard QSPI EEPROM (Uses 4K of RAM) #define I2C_EEPROM // EEPROM on I2C-0 -#define MARLIN_EEPROM_SIZE 0x8000 // 32K (24lc256) +#define MARLIN_EEPROM_SIZE 0x8000 // 32K (24lc256) // // Limit Switches diff --git a/Marlin/src/pins/sanguino/pins_ZMIB_V2.h b/Marlin/src/pins/sanguino/pins_ZMIB_V2.h new file mode 100644 index 000000000000..262199e310cf --- /dev/null +++ b/Marlin/src/pins/sanguino/pins_ZMIB_V2.h @@ -0,0 +1,234 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega1284P__) + #error "Oops! Select 'Sanguino' in 'Tools > Boards' and 'ATmega644P' or 'ATmega1284P' in 'Tools > Processor.'" +#endif + +#define BOARD_INFO_NAME "Zonestar ZMIB_V2" +#define BOARD_WEBSITE_URL "https://www.aliexpress.com/item/32957490744.html" + +#define IS_ZMIB_V2 + +/** + * ZMIB pin assignments + * + * The ZMIB board needs a bootloader installed before Marlin can be uploaded. + * If you don't have a chip programmer you can use a spare Arduino plus a few + * electronic components to write the bootloader. + * + * See http://www.instructables.com/id/Burn-Arduino-Bootloader-with-Arduino-MEGA/ + */ + +/** + * PIN: 0 Port: B0 HEATER_0_PIN + * PIN: 1 Port: B1 HEATER_BED_PIN + * PIN: 2 Port: B2 EXP1_4(BTN_EN2) + * PIN: 3 Port: B3 V1: SD_DETECT_PIN + * PIN: 3 Port: B3 V2: EXP1_6 + * PIN: 4 Port: B4 SDSS + * PIN: 4 Port: B4 V1: EXP1_6 + * PIN: 5 Port: B5 AVR_MOSI_PIN + * . MOSI_PIN + * PIN: 6 Port: B6 AVR_MISO_PIN + * . EXP1_9(MISO_PIN) + * PIN: 7 Port: B7 AVR_SCK_PIN + * . EXP1_10(SCK_PIN) + * PIN: 8 Port: D0 RXD + * PIN: 9 Port: D1 TXD + * PIN: 10 Port: D2 EXP1_8 + * PIN: 11 Port: D3 EXP1_7 + * PIN: 12 Port: D4 EXP1_5(BTN_EN1) + * PIN: 13 Port: D5 Z_MIN_PIN + * PIN: 14 Port: D6 E1_DIR_PIN + * PIN: 15 Port: D7 E1_STEP_PIN + * PIN: 16 Port: C0 Z_DIR_PIN + * PIN: 17 Port: C1 Z_STEP_PIN + * PIN: 18 Port: C2 Y_MIN_PIN + * PIN: 19 Port: C3 Y_DIR_PIN + * PIN: 20 Port: C4 Y_STEP_PIN + * PIN: 21 Port: C5 X_MIN_PIN + * PIN: 22 Port: C6 X_DIR_PIN + * PIN: 23 Port: C7 X_STEP_PIN + * PIN: 24 Port: A7 X_ENABLE_PIN + * Y_ENABLE_PIN + * Z_ENABLE_PIN + * E0_ENABLE_PIN + * E1_ENABLE_PIN + * PIN: 25 Port: A6 FIL_RUNOUT_PIN + * PIN: 26 Port: A5 E0_DIR_PIN + * PIN: 27 Port: A4 E0_STEP_PIN + * PIN: 28 Port: A3 FAN_PIN + * PIN: 29 Port: A2 EXP1_3(BTN_ENC) + * ADC_KEY_PIN + * PIN: 30 Port: A1 TEMP_0_PIN + * PIN: 31 Port: A0 TEMP_BED_PIN + */ + +// +// Limit Switches +// +#define X_MIN_PIN 21 +#define Y_MIN_PIN 18 + +#if EITHER(Z6S_ZFAULT, Z6BS_ZFAULT) + #define Z_MIN_PIN 25 +#else + #define Z_MIN_PIN 13 +#endif + +// +// Steppers +// +#define X_STEP_PIN 23 +#define X_DIR_PIN 22 +#define X_ENABLE_PIN 24 + +#define Y_STEP_PIN 20 +#define Y_DIR_PIN 19 +#define Y_ENABLE_PIN 24 + +#if EITHER(Z6S_ZFAULT, Z6BS_ZFAULT) + #define Z_STEP_PIN 27 + #define Z_DIR_PIN 26 +#else + #define Z_STEP_PIN 17 + #define Z_DIR_PIN 16 +#endif + +#define Z_ENABLE_PIN 24 + +#if EITHER(Z6S_ZFAULT, Z6BS_ZFAULT) + #define E0_STEP_PIN 15 + #define E0_DIR_PIN 14 +#else + #define E0_STEP_PIN 27 + #define E0_DIR_PIN 26 +#endif + +#define E0_ENABLE_PIN 24 + +#define E1_STEP_PIN 15 +#define E1_DIR_PIN 14 +#define E1_ENABLE_PIN 24 + +// +// Temperature Sensors +// +#define TEMP_0_PIN 1 // Analog Input +#define TEMP_BED_PIN 0 // Analog Input + +// +// Heaters / Fans +// +#define HEATER_0_PIN 0 +#define HEATER_BED_PIN 1 +#define FAN_PIN 28 +#define FAN1_PIN -1 + +// +//filament run out sensor +// +#if EITHER(Z6S_ZFAULT, Z6BS_ZFAULT) + #define FIL_RUNOUT_PIN 13 +#else + #define FIL_RUNOUT_PIN 25 // Z-MIN +#endif + +// +// SD card +// +#if ENABLED(SDSUPPORT) + #define SDSS 4 +#endif +#define SD_DETECT_PIN -1 + +/*=================================================== + * ZMIB Version 1 - EXP1 Connector + * MOSI(D5) TX1(D11) ENA(D12) ENC(D29/A2) 5V + * SCK(D7) RX1(D10) SCS(D4) ENB(D2) GND + *=================================================== + * ZMIB Version 2 - EXP1 Connector + * MOSI(D5) TX1(D11) ENA(D12) ENC(D29/A2) 5V + * SCK(D7) RX1(D10) SCS(D3) ENB(D2) GND + *=================================================== + * LCD 128x64 + *==================================================*/ + +#if ENABLED(ZONESTAR_12864LCD) + // + // LCD 128x64 + // + #define LCDSCREEN_NAME "ZONESTAR_12864LCD" + #define FORCE_SOFT_SPI + //#define LCD_SDSS 11 + #define LCD_PINS_RS 11 // ST7920_CS_PIN LCD_PIN_RS (PIN4 of LCD module) + #ifdef IS_ZMIB_V2 + #define LCD_PINS_ENABLE 3 // ST7920_DAT_PIN LCD_PIN_R/W (PIN5 of LCD module) + #else + #define LCD_PINS_ENABLE 4 // ST7920_DAT_PIN LCD_PIN_R/W (PIN5 of LCD module) + #endif + #define LCD_PINS_D4 10 // ST7920_CLK_PIN LCD_PIN_ENABLE (PIN6 of LCD module) + + // Alter timing for graphical display + #define ST7920_DELAY_1 DELAY_2_NOP + #define ST7920_DELAY_2 DELAY_2_NOP + #define ST7920_DELAY_3 DELAY_2_NOP + +#elif EITHER(ZONESTAR_12864OLED, ZONESTAR_12864OLED_SSD1306) + // + // OLED 128x64 + // + #define LCDSCREEN_NAME "ZONESTAR 12864OLED" + #define FORCE_SOFT_SPI + #ifdef IS_ZMIB_V2 + #define LCD_PINS_RS 3 // RESET + #else + #define LCD_PINS_RS 4 // RESET + #endif + #define LCD_PINS_DC 10 // DC + #define DOGLCD_CS 11 // CS + #if ENABLED(OLED_HW_IIC) + #error "Oops! can't choose HW IIC for ZMIB board!!" + #elif ENABLED(OLED_HW_SPI) + // HW SPI + #define DOGLCD_A0 LCD_PINS_DC // A0 = DC + #else + // SW SPI + #define DOGLCD_A0 LCD_PINS_DC // A0 = DC + #define DOGLCD_MOSI AVR_MOSI_PIN // SDA + #define DOGLCD_SCK AVR_SCK_PIN // SCK + #endif + +#endif + +// +// All the above are also RRDSC with rotary encoder +// +#if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) + #define BTN_EN1 2 + #define BTN_EN2 12 + #define BTN_ENC 29 + #define BEEPER_PIN -1 + #define KILL_PIN -1 +#endif diff --git a/Marlin/src/pins/stm32f0/pins_MALYAN_M300.h b/Marlin/src/pins/stm32f0/pins_MALYAN_M300.h index b8c2ed950392..d6a83aca1a30 100644 --- a/Marlin/src/pins/stm32f0/pins_MALYAN_M300.h +++ b/Marlin/src/pins/stm32f0/pins_MALYAN_M300.h @@ -43,8 +43,8 @@ // // Timers // -#define STEP_TIMER 6 -#define TEMP_TIMER 7 +#define STEP_TIMER 6 +#define TEMP_TIMER 7 // // Limit Switches diff --git a/Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h b/Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h index 3801a9bae4b5..cff34daf2f02 100644 --- a/Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h +++ b/Marlin/src/pins/stm32f1/pins_BTT_SKR_E3_DIP.h @@ -31,7 +31,7 @@ #define DISABLE_JTAG // Ignore temp readings during development. -//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000 +//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000 #if EITHER(NO_EEPROM_SELECTED, FLASH_EEPROM_EMULATION) #define FLASH_EEPROM_EMULATION @@ -138,7 +138,7 @@ #define E0_SERIAL_RX_PIN PD2 // Reduce baud rate to improve software serial reliability - #define TMC_BAUD_RATE 19200 + #define TMC_BAUD_RATE 19200 #endif // @@ -158,7 +158,7 @@ // USB connect control // #define USB_CONNECT_PIN PC13 -#define USB_CONNECT_INVERTING false +#define USB_CONNECT_INVERTING false /** * _____ @@ -260,7 +260,7 @@ * */ - #define CLCD_SPI_BUS 1 // SPI1 connector + #define CLCD_SPI_BUS 1 // SPI1 connector #define BEEPER_PIN PB6 @@ -288,5 +288,5 @@ #error "SD CUSTOM_CABLE is not compatible with SKR E3 DIP." #endif -#define ON_BOARD_SPI_DEVICE 1 // SPI1 +#define ON_BOARD_SPI_DEVICE 1 // SPI1 #define ONBOARD_SD_CS_PIN PA4 // Chip select for "System" SD card diff --git a/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3_common.h b/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3_common.h index a8df0e5c02df..923b0fa4c1b2 100644 --- a/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3_common.h +++ b/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_E3_common.h @@ -29,7 +29,7 @@ #define DISABLE_JTAG // Ignore temp readings during development. -//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000 +//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000 #if EITHER(NO_EEPROM_SELECTED, FLASH_EEPROM_EMULATION) #define FLASH_EEPROM_EMULATION @@ -108,7 +108,7 @@ #define USB_CONNECT_PIN PC13 #endif -#define USB_CONNECT_INVERTING false +#define USB_CONNECT_INVERTING false /** * SKR Mini E3 V1.0, V1.2 SKR Mini E3 V2.0 @@ -208,7 +208,7 @@ * */ - #define CLCD_SPI_BUS 1 // SPI1 connector + #define CLCD_SPI_BUS 1 // SPI1 connector #define BEEPER_PIN EXP1_9 @@ -236,5 +236,5 @@ #error "SD CUSTOM_CABLE is not compatible with SKR Mini E3." #endif -#define ON_BOARD_SPI_DEVICE 1 // SPI1 +#define ON_BOARD_SPI_DEVICE 1 // SPI1 #define ONBOARD_SD_CS_PIN PA4 // Chip select for "System" SD card diff --git a/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_V1_1.h b/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_V1_1.h index db31eb377fcb..4a12d5d32db0 100644 --- a/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_V1_1.h +++ b/Marlin/src/pins/stm32f1/pins_BTT_SKR_MINI_V1_1.h @@ -31,7 +31,7 @@ #define DISABLE_JTAG // Ignore temp readings during development. -//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000 +//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000 #if EITHER(NO_EEPROM_SELECTED, FLASH_EEPROM_EMULATION) #define FLASH_EEPROM_EMULATION @@ -213,5 +213,5 @@ #define MOSI_PIN PA7 #define SS_PIN PA4 #endif -#define ON_BOARD_SPI_DEVICE 1 // SPI1 +#define ON_BOARD_SPI_DEVICE 1 // SPI1 #define ONBOARD_SD_CS_PIN PA4 // Chip select for "System" SD card diff --git a/Marlin/src/pins/stm32f1/pins_CCROBOT_MEEB_3DP.h b/Marlin/src/pins/stm32f1/pins_CCROBOT_MEEB_3DP.h index f99721f144a6..5254166fa576 100644 --- a/Marlin/src/pins/stm32f1/pins_CCROBOT_MEEB_3DP.h +++ b/Marlin/src/pins/stm32f1/pins_CCROBOT_MEEB_3DP.h @@ -43,9 +43,9 @@ // #if EITHER(NO_EEPROM_SELECTED, FLASH_EEPROM_EMULATION) #define FLASH_EEPROM_EMULATION - #define EEPROM_PAGE_SIZE 0x800U // 2KB + #define EEPROM_PAGE_SIZE 0x800U // 2KB #define EEPROM_START_ADDRESS (0x8000000UL + (STM32_FLASH_SIZE) * 1024UL - (EEPROM_PAGE_SIZE) * 2UL) - #define MARLIN_EEPROM_SIZE 0x1000 // 4KB + #define MARLIN_EEPROM_SIZE 0x1000 // 4KB #endif // @@ -95,7 +95,7 @@ #define E0_SERIAL_RX_PIN PC4 // Reduce baud rate to improve software serial reliability -#define TMC_BAUD_RATE 19200 +#define TMC_BAUD_RATE 19200 // // Temperature Sensors @@ -113,7 +113,7 @@ #define FAN1_PIN PA8 // FAN (fan0 on board) e0 cool fan #define FAN2_PIN PB9 // FAN (fan1 on board) controller cool fan -// One neopixel onboard and a connector for other neopixels +// One NeoPixel onboard and a connector for other NeoPixels #define NEOPIXEL_PIN PC7 // The NEOPIXEL LED driving pin /** @@ -173,7 +173,7 @@ #define SS_PIN PA4 #endif -#define ON_BOARD_SPI_DEVICE 1 // SPI1 +#define ON_BOARD_SPI_DEVICE 1 // SPI1 #define ONBOARD_SD_CS_PIN PA4 // Chip select for SD-NAND #endif diff --git a/Marlin/src/pins/stm32f1/pins_CHITU3D.h b/Marlin/src/pins/stm32f1/pins_CHITU3D.h index e3b7d2f547cf..bf9a7d8e0543 100644 --- a/Marlin/src/pins/stm32f1/pins_CHITU3D.h +++ b/Marlin/src/pins/stm32f1/pins_CHITU3D.h @@ -36,7 +36,7 @@ //#define I2C_EEPROM // Ignore temp readings during development. -//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000 +//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000 // // Steppers diff --git a/Marlin/src/pins/stm32f1/pins_CHITU3D_V5.h b/Marlin/src/pins/stm32f1/pins_CHITU3D_V5.h index 0a733049b87e..54ff9a779a30 100644 --- a/Marlin/src/pins/stm32f1/pins_CHITU3D_V5.h +++ b/Marlin/src/pins/stm32f1/pins_CHITU3D_V5.h @@ -44,7 +44,7 @@ #define EEPROM_PAGE_SIZE (0x800U) // 2KB, but will use 2x more (4KB) #define MARLIN_EEPROM_SIZE EEPROM_PAGE_SIZE #else - #define MARLIN_EEPROM_SIZE 0x800U // On SD, Limit to 2KB, require this amount of RAM + #define MARLIN_EEPROM_SIZE 0x800U // On SD, Limit to 2KB, require this amount of RAM #endif // @@ -104,112 +104,96 @@ //#define POWER_LOSS_PIN -1 #define FIL_RUNOUT_PIN PA15 +// SPI Flash +#define SPI_FLASH_SIZE 0x200000 // 2MB +#define HAS_SPI_FLASH 1 + +// SPI 2 +#define W25QXX_CS_PIN PB12 +#define W25QXX_MOSI_PIN PB15 +#define W25QXX_MISO_PIN PB14 +#define W25QXX_SCK_PIN PB13 + // // TronXY TFT Support // -//#define FSMC_GRAPHICAL_TFT -//#define TOUCH_BUTTONS -#if ENABLED(FSMC_GRAPHICAL_TFT) - #define FSMC_UPSCALE 3 - #define LCD_FULL_PIXEL_WIDTH 480 - #define LCD_PIXEL_OFFSET_X 48 - #define LCD_FULL_PIXEL_HEIGHT 320 - #define LCD_PIXEL_OFFSET_Y 48 +#if HAS_FSMC_TFT + + // Shared FSMC + + #define TOUCH_CS_PIN PB7 // SPI1_NSS + #define TOUCH_SCK_PIN PA5 // SPI1_SCK + #define TOUCH_MISO_PIN PA6 // SPI1_MISO + #define TOUCH_MOSI_PIN PA7 // SPI1_MOSI #define LCD_RESET_PIN PF11 #define LCD_BACKLIGHT_PIN PD13 - #define FSMC_CS_PIN PD7 - #define FSMC_RS_PIN PD11 + #define TFT_RESET_PIN PF11 + #define TFT_BACKLIGHT_PIN PD13 #define LCD_USE_DMA_FSMC // Use DMA transfers to send data to the TFT + #define FSMC_CS_PIN PD7 + #define FSMC_RS_PIN PD11 #define FSMC_DMA_DEV DMA2 #define FSMC_DMA_CHANNEL DMA_CH5 - #if ENABLED(TOUCH_BUTTONS) - #define TOUCH_CS_PIN PB7 // SPI1_NSS - #define TOUCH_SCK_PIN PA5 // SPI1_SCK - #define TOUCH_MISO_PIN PA6 // SPI1_MISO - #define TOUCH_MOSI_PIN PA7 // SPI1_MOSI + #define TFT_WIDTH 480 + #define TFT_HEIGHT 320 + #define TFT_PIXEL_OFFSET_X 48 + #define TFT_PIXEL_OFFSET_Y 32 - #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens - #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus - - #define XPT2046_X_CALIBRATION -12316 - #define XPT2046_Y_CALIBRATION 8981 - #define XPT2046_X_OFFSET 340 - #define XPT2046_Y_OFFSET -20 - #endif #endif -#define SPI_FLASH_SIZE 0x200000 // 2MB - #if HAS_TFT_LVGL_UI - #define HAS_SPI_FLASH_FONT 0 - #define HAS_GCODE_PREVIEW 1 - #define HAS_GCODE_DEFAULT_VIEW_IN_FLASH 0 - #define HAS_LANG_SELECT_SCREEN 0 - #define HAS_BAK_VIEW_IN_FLASH 0 - #define HAS_LOGO_IN_FLASH 0 - - //SPI 2 - #define W25QXX_CS_PIN PB12 - #define W25QXX_MOSI_PIN PB15 - #define W25QXX_MISO_PIN PB14 - #define W25QXX_SCK_PIN PB13 - #define TOUCH_CS_PIN PB7 // SPI1_NSS - #define TOUCH_SCK_PIN PA5 // SPI1_SCK - #define TOUCH_MISO_PIN PA6 // SPI1_MISO - #define TOUCH_MOSI_PIN PA7 // SPI1_MOSI - // #define TOUCH_INT_PIN PB6 + // LVGL - #define SPI_TFT_CS_PIN TOUCH_CS_PIN - #define SPI_TFT_SCK_PIN TOUCH_SCK_PIN - #define SPI_TFT_MISO_PIN TOUCH_MISO_PIN - #define SPI_TFT_MOSI_PIN TOUCH_MOSI_PIN - #define SPI_TFT_DC_PIN PB6 - #define SPI_TFT_RST_PIN PF11 + #define HAS_SPI_FLASH_FONT 1 + #define HAS_GCODE_PREVIEW 1 + #define HAS_GCODE_DEFAULT_VIEW_IN_FLASH 0 + #define HAS_LANG_SELECT_SCREEN 1 + #define HAS_BAK_VIEW_IN_FLASH 0 + #define HAS_LOGO_IN_FLASH 0 - #define LCD_RESET_PIN PF11 - #define LCD_BACKLIGHT_PIN PD13 - #define FSMC_CS_PIN PD7 - #define FSMC_RS_PIN PD11 + #define XPT2046_X_CALIBRATION -17181 + #define XPT2046_Y_CALIBRATION 11434 + #define XPT2046_X_OFFSET 501 + #define XPT2046_Y_OFFSET -9 - #define LCD_USE_DMA_FSMC // Use DMA transfers to send data to the TFT - #define FSMC_DMA_DEV DMA2 - #define FSMC_DMA_CHANNEL DMA_CH5 +#elif ENABLED(TFT_480x320) + + // Color UI - #define LCD_FULL_PIXEL_WIDTH 480 - #define LCD_PIXEL_OFFSET_X 48 - #define LCD_FULL_PIXEL_HEIGHT 320 - #define LCD_PIXEL_OFFSET_Y 48 - - #define LCD_PIXEL_HEIGHT 320 - #define LCD_PIXEL_WIDTH 480 - - #define XPT2046_X_CALIBRATION -12316 - #define XPT2046_Y_CALIBRATION 8981 - #define XPT2046_X_OFFSET 340 - #define XPT2046_Y_OFFSET -20 - - #define USE_XPT2046 1 - #define XPT2046_XY_SWAP 0 - #define XPT2046_X_INV 1 - #define XPT2046_Y_INV 0 - - #define XPT2046_HOR_RES 480 - #define XPT2046_VER_RES 320 - #define XPT2046_X_MIN 140 - #define XPT2046_Y_MIN 200 - #define XPT2046_X_MAX 1900 - #define XPT2046_Y_MAX 1900 - #define XPT2046_AVG 4 - #define XPT2046_INV 0 + #define TFT_DRIVER ILI9488 + #define TFT_BUFFER_SIZE 14400 + + #define XPT2046_X_CALIBRATION -17181 + #define XPT2046_Y_CALIBRATION 11434 + #define XPT2046_X_OFFSET 501 + #define XPT2046_Y_OFFSET -9 + +#elif ENABLED(FSMC_GRAPHICAL_TFT) + + // Emulated DOGM + + #define GRAPHICAL_TFT_UPSCALE 3 + #ifndef XPT2046_X_CALIBRATION + #define XPT2046_X_CALIBRATION -12316 + #endif + #ifndef XPT2046_Y_CALIBRATION + #define XPT2046_Y_CALIBRATION 8981 + #endif + #ifndef XPT2046_X_OFFSET + #define XPT2046_X_OFFSET 340 + #endif + #ifndef XPT2046_Y_OFFSET + #define XPT2046_Y_OFFSET -20 + #endif #endif // SPI1(PA7)=LCD & SPI3(PB5)=STUFF, are not available -// We nee to use the SPI2 +// Needs to use SPI2 #define ENABLE_SPI2 #define SCK_PIN PB13 #define MISO_PIN PB14 @@ -221,5 +205,5 @@ // #define SDIO_SUPPORT #define SD_DETECT_PIN -1 // PF0, but it isn't connected -#define SDIO_CLOCK 4500000 -#define SDIO_READ_RETRIES 16 +#define SDIO_CLOCK 4500000 +#define SDIO_READ_RETRIES 16 diff --git a/Marlin/src/pins/stm32f1/pins_CHITU3D_V6.h b/Marlin/src/pins/stm32f1/pins_CHITU3D_V6.h index 0fb3a9a8799e..a825db275c6a 100644 --- a/Marlin/src/pins/stm32f1/pins_CHITU3D_V6.h +++ b/Marlin/src/pins/stm32f1/pins_CHITU3D_V6.h @@ -48,7 +48,7 @@ #define EEPROM_PAGE_SIZE (0x800U) // 2KB, but will use 2x more (4KB) #define MARLIN_EEPROM_SIZE EEPROM_PAGE_SIZE #else - #define MARLIN_EEPROM_SIZE 0x800U // On SD, Limit to 2KB, require this amount of RAM + #define MARLIN_EEPROM_SIZE 0x800U // On SD, Limit to 2KB, require this amount of RAM #endif // @@ -96,7 +96,7 @@ // #define HEATER_0_PIN PG12 // HEATER1 #define HEATER_BED_PIN PG11 // HOT BED -//#define HEATER_BED_INVERTING true +//#define HEATER_BED_INVERTING true // // Fans @@ -111,107 +111,96 @@ #define BEEPER_PIN PB0 //#define LED_PIN PD3 //#define POWER_LOSS_PIN PG2 // PG4 PW_DET -#define FIL_RUNOUT_PIN PA15 // MT_DET + +#ifndef FIL_RUNOUT_PIN + #define FIL_RUNOUT_PIN PA15 // MT_DET +#endif +#ifndef FIL_RUNOUT2_PIN + #define FIL_RUNOUT2_PIN PF13 +#endif + +// SPI Flash +#define SPI_FLASH_SIZE 0x200000 // 2MB +#define HAS_SPI_FLASH 1 + +// SPI 2 +#define W25QXX_CS_PIN PB12 +#define W25QXX_MOSI_PIN PB15 +#define W25QXX_MISO_PIN PB14 +#define W25QXX_SCK_PIN PB13 // // TronXY TFT Support // -#if ENABLED(FSMC_GRAPHICAL_TFT) - #define FSMC_UPSCALE 3 - #define LCD_FULL_PIXEL_WIDTH 480 - #define LCD_PIXEL_OFFSET_X 48 - #define LCD_FULL_PIXEL_HEIGHT 320 - #define LCD_PIXEL_OFFSET_Y 48 + +// Shared FSMC Configs +#if HAS_FSMC_TFT + #define TOUCH_CS_PIN PB7 // SPI1_NSS + #define TOUCH_SCK_PIN PA5 // SPI1_SCK + #define TOUCH_MISO_PIN PA6 // SPI1_MISO + #define TOUCH_MOSI_PIN PA7 // SPI1_MOSI #define LCD_RESET_PIN PF11 #define LCD_BACKLIGHT_PIN PD13 - #define FSMC_CS_PIN PD7 - #define FSMC_RS_PIN PD11 + #define TFT_RESET_PIN PF11 + #define TFT_BACKLIGHT_PIN PD13 #define LCD_USE_DMA_FSMC // Use DMA transfers to send data to the TFT + #define FSMC_CS_PIN PD7 + #define FSMC_RS_PIN PD11 #define FSMC_DMA_DEV DMA2 #define FSMC_DMA_CHANNEL DMA_CH5 - #if ENABLED(TOUCH_BUTTONS) - #define TOUCH_CS_PIN PB7 // SPI1_NSS - #define TOUCH_SCK_PIN PA5 // SPI1_SCK - #define TOUCH_MISO_PIN PA6 // SPI1_MISO - #define TOUCH_MOSI_PIN PA7 // SPI1_MOSI + #define TFT_WIDTH 480 + #define TFT_HEIGHT 320 + #define TFT_PIXEL_OFFSET_X 48 + #define TFT_PIXEL_OFFSET_Y 32 - #define BUTTON_DELAY_EDIT 50 // (ms) Button repeat delay for edit screens - #define BUTTON_DELAY_MENU 250 // (ms) Button repeat delay for menus - - #define XPT2046_X_CALIBRATION -12316 - #define XPT2046_Y_CALIBRATION 8981 - #define XPT2046_X_OFFSET 340 - #define XPT2046_Y_OFFSET -20 - #endif #endif -#define SPI_FLASH_SIZE 0x200000 // 2MB - +// LVGL Configs #if HAS_TFT_LVGL_UI - #define HAS_SPI_FLASH_FONT 0 - #define HAS_GCODE_PREVIEW 1 - #define HAS_GCODE_DEFAULT_VIEW_IN_FLASH 0 - #define HAS_LANG_SELECT_SCREEN 0 - #define HAS_BAK_VIEW_IN_FLASH 0 - #define HAS_LOGO_IN_FLASH 0 - - //SPI 2 - #define W25QXX_CS_PIN PB12 - #define W25QXX_MOSI_PIN PB15 - #define W25QXX_MISO_PIN PB14 - #define W25QXX_SCK_PIN PB13 - #define TOUCH_CS_PIN PB7 // SPI1_NSS - #define TOUCH_SCK_PIN PA5 // SPI1_SCK - #define TOUCH_MISO_PIN PA6 // SPI1_MISO - #define TOUCH_MOSI_PIN PA7 // SPI1_MOSI - // #define TOUCH_INT_PIN PB6 + #define HAS_SPI_FLASH_FONT 1 + #define HAS_GCODE_PREVIEW 1 + #define HAS_GCODE_DEFAULT_VIEW_IN_FLASH 0 + #define HAS_LANG_SELECT_SCREEN 1 + #define HAS_BAK_VIEW_IN_FLASH 0 + #define HAS_LOGO_IN_FLASH 0 - #define SPI_TFT_CS_PIN TOUCH_CS_PIN - #define SPI_TFT_SCK_PIN TOUCH_SCK_PIN - #define SPI_TFT_MISO_PIN TOUCH_MISO_PIN - #define SPI_TFT_MOSI_PIN TOUCH_MOSI_PIN - #define SPI_TFT_DC_PIN PB6 - #define SPI_TFT_RST_PIN PF11 + #define XPT2046_X_CALIBRATION -17181 + #define XPT2046_Y_CALIBRATION 11434 + #define XPT2046_X_OFFSET 501 + #define XPT2046_Y_OFFSET -9 - #define LCD_RESET_PIN PF11 - #define LCD_BACKLIGHT_PIN PD13 - #define FSMC_CS_PIN PD7 - #define FSMC_RS_PIN PD11 +// Color UI Configs +#elif ENABLED(TFT_480x320) - #define LCD_USE_DMA_FSMC // Use DMA transfers to send data to the TFT - #define FSMC_DMA_DEV DMA2 - #define FSMC_DMA_CHANNEL DMA_CH5 + #define TFT_DRIVER ILI9488 + #define TFT_BUFFER_SIZE 14400 + + #define XPT2046_X_CALIBRATION -17181 + #define XPT2046_Y_CALIBRATION 11434 + #define XPT2046_X_OFFSET 501 + #define XPT2046_Y_OFFSET -9 + +// Emulated DOGM +#elif ENABLED(FSMC_GRAPHICAL_TFT) + #define GRAPHICAL_TFT_UPSCALE 3 + + #ifndef XPT2046_X_CALIBRATION + #define XPT2046_X_CALIBRATION -12316 + #endif + #ifndef XPT2046_Y_CALIBRATION + #define XPT2046_Y_CALIBRATION 8981 + #endif + #ifndef XPT2046_X_OFFSET + #define XPT2046_X_OFFSET 340 + #endif + #ifndef XPT2046_Y_OFFSET + #define XPT2046_Y_OFFSET -20 + #endif - #define LCD_FULL_PIXEL_WIDTH 480 - #define LCD_PIXEL_OFFSET_X 48 - #define LCD_FULL_PIXEL_HEIGHT 320 - #define LCD_PIXEL_OFFSET_Y 48 - - #define LCD_PIXEL_HEIGHT 320 - #define LCD_PIXEL_WIDTH 480 - - #define XPT2046_X_CALIBRATION -12316 - #define XPT2046_Y_CALIBRATION 8981 - #define XPT2046_X_OFFSET 340 - #define XPT2046_Y_OFFSET -20 - - #define USE_XPT2046 1 - #define XPT2046_XY_SWAP 0 - #define XPT2046_X_INV 1 - #define XPT2046_Y_INV 0 - - #define XPT2046_HOR_RES 480 - #define XPT2046_VER_RES 320 - #define XPT2046_X_MIN 140 - #define XPT2046_Y_MIN 200 - #define XPT2046_X_MAX 1900 - #define XPT2046_Y_MAX 1900 - #define XPT2046_AVG 4 - #define XPT2046_INV 0 #endif // SPI1(PA7)=LCD & SPI3(PB5)=STUFF, are not available @@ -227,5 +216,5 @@ // #define SDIO_SUPPORT #define SD_DETECT_PIN -1 // PF0, but it isn't connected -#define SDIO_CLOCK 4500000 -#define SDIO_READ_RETRIES 16 +#define SDIO_CLOCK 4500000 +#define SDIO_READ_RETRIES 16 diff --git a/Marlin/src/pins/stm32f1/pins_CREALITY_V4.h b/Marlin/src/pins/stm32f1/pins_CREALITY_V4.h index ed281eb00c21..ded0ba405b4c 100644 --- a/Marlin/src/pins/stm32f1/pins_CREALITY_V4.h +++ b/Marlin/src/pins/stm32f1/pins_CREALITY_V4.h @@ -32,8 +32,12 @@ #error "CREALITY supports up to 1 hotends / E-steppers. Comment out this line to continue." #endif -#define BOARD_INFO_NAME "CREALITY V4" -#define DEFAULT_MACHINE_NAME "Ender 3 V2" +#ifndef BOARD_INFO_NAME + #define BOARD_INFO_NAME "Creality V4" +#endif +#ifndef DEFAULT_MACHINE_NAME + #define DEFAULT_MACHINE_NAME "Ender 3 V2" +#endif // // EEPROM @@ -47,10 +51,10 @@ #if ENABLED(IIC_BL24CXX_EEPROM) #define IIC_EEPROM_SDA PA11 #define IIC_EEPROM_SCL PA12 - #define MARLIN_EEPROM_SIZE 0x800 // 2Kb (24C16) + #define MARLIN_EEPROM_SIZE 0x800 // 2Kb (24C16) #else #define SDCARD_EEPROM_EMULATION // SD EEPROM until all EEPROM is BL24CXX - #define MARLIN_EEPROM_SIZE 0x800 // 2Kb + #define MARLIN_EEPROM_SIZE 0x800 // 2Kb #endif // SPI @@ -77,7 +81,7 @@ #define Y_STOP_PIN PA6 #define Z_STOP_PIN PA7 -#define Z_PROBE_PIN PB1 // BLTouch IN +#define Z_MIN_PROBE_PIN PB1 // BLTouch IN // // Filament Runout Sensor @@ -90,20 +94,36 @@ // Steppers // #define X_ENABLE_PIN PC3 -#define X_STEP_PIN PC2 -#define X_DIR_PIN PB9 +#ifndef X_STEP_PIN + #define X_STEP_PIN PC2 +#endif +#ifndef X_DIR_PIN + #define X_DIR_PIN PB9 +#endif #define Y_ENABLE_PIN PC3 -#define Y_STEP_PIN PB8 -#define Y_DIR_PIN PB7 +#ifndef Y_STEP_PIN + #define Y_STEP_PIN PB8 +#endif +#ifndef Y_DIR_PIN + #define Y_DIR_PIN PB7 +#endif #define Z_ENABLE_PIN PC3 -#define Z_STEP_PIN PB6 -#define Z_DIR_PIN PB5 +#ifndef Z_STEP_PIN + #define Z_STEP_PIN PB6 +#endif +#ifndef Z_DIR_PIN + #define Z_DIR_PIN PB5 +#endif #define E0_ENABLE_PIN PC3 -#define E0_STEP_PIN PB4 -#define E0_DIR_PIN PB3 +#ifndef E0_STEP_PIN + #define E0_STEP_PIN PB4 +#endif +#ifndef E0_DIR_PIN + #define E0_DIR_PIN PB3 +#endif // // Release PB4 (Y_ENABLE_PIN) from JTAG NRST role @@ -130,10 +150,14 @@ // #define SD_DETECT_PIN PC7 #define SDCARD_CONNECTION ONBOARD -#define ON_BOARD_SPI_DEVICE 1 +#define ON_BOARD_SPI_DEVICE 1 #define ONBOARD_SD_CS_PIN PA4 // SDSS #define SDIO_SUPPORT +#if ENABLED(CR10_STOCKDISPLAY) && NONE(RET6_12864_LCD, VET6_12864_LCD) + #error "Define RET6_12864_LCD or VET6_12864_LCD to select pins for CR10_STOCKDISPLAY with the Creality V4 controller." +#endif + #if ENABLED(RET6_12864_LCD) /* RET6 12864 LCD */ @@ -146,6 +170,7 @@ #define BTN_EN2 PB14 #define BEEPER_PIN PC6 + #elif ENABLED(VET6_12864_LCD) /* VET6 12864 LCD */ @@ -165,7 +190,10 @@ #define BTN_EN2 PB12 //#define LCD_LED_PIN PB2 - #define BEEPER_PIN PB13 + #ifndef BEEPER_PIN + #define BEEPER_PIN PB13 + #undef SPEAKER + #endif #elif ENABLED(DWIN_VET6_CREALITY_LCD) diff --git a/Marlin/src/pins/stm32f1/pins_CREALITY_V427.h b/Marlin/src/pins/stm32f1/pins_CREALITY_V427.h new file mode 100644 index 000000000000..9453a6d515b2 --- /dev/null +++ b/Marlin/src/pins/stm32f1/pins_CREALITY_V427.h @@ -0,0 +1,48 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +/** + * CREALITY v4.2.7 (STM32F103) board pin assignments + */ + +#ifndef __STM32F1__ + #error "Oops! Select an STM32F1 board in 'Tools > Board.'" +#endif + +#define BOARD_INFO_NAME "Creality v4.2.7" +#define DEFAULT_MACHINE_NAME "Creality3D" + +// +// Steppers +// +#define X_STEP_PIN PB9 +#define X_DIR_PIN PC2 +#define Y_STEP_PIN PB7 + +#define Y_DIR_PIN PB8 +#define Z_STEP_PIN PB5 +#define Z_DIR_PIN PB6 + +#define E0_STEP_PIN PB3 +#define E0_DIR_PIN PB4 + +#include "pins_CREALITY_V4.h" diff --git a/Marlin/src/pins/stm32f1/pins_FYSETC_AIO_II.h b/Marlin/src/pins/stm32f1/pins_FYSETC_AIO_II.h index 6a30a2cb23ce..ca9364a570d9 100644 --- a/Marlin/src/pins/stm32f1/pins_FYSETC_AIO_II.h +++ b/Marlin/src/pins/stm32f1/pins_FYSETC_AIO_II.h @@ -33,7 +33,7 @@ #define pins_v2_20190128 // new pins define // Ignore temp readings during development. -//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000 +//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000 // // Flash EEPROM Emulation @@ -112,7 +112,7 @@ // Stepper current PWM // #ifndef MOTOR_CURRENT_PWM_RANGE - #define MOTOR_CURRENT_PWM_RANGE 1500 // origin:2000 + #define MOTOR_CURRENT_PWM_RANGE 1500 // origin:2000 #endif #define DEFAULT_PWM_MOTOR_CURRENT { 500, 500, 400 } // origin: {1300,1300,1250} @@ -152,7 +152,7 @@ #define DOGLCD_CS PB7 #endif - //#define LCD_CONTRAST_INIT 190 + //#define LCD_CONTRAST_INIT 190 //#define LCD_SCREEN_ROT_90 //#define LCD_SCREEN_ROT_180 //#define LCD_SCREEN_ROT_270 diff --git a/Marlin/src/pins/stm32f1/pins_FYSETC_CHEETAH.h b/Marlin/src/pins/stm32f1/pins_FYSETC_CHEETAH.h index 7143176bd7fc..1f5e70a15a28 100644 --- a/Marlin/src/pins/stm32f1/pins_FYSETC_CHEETAH.h +++ b/Marlin/src/pins/stm32f1/pins_FYSETC_CHEETAH.h @@ -32,7 +32,7 @@ // https://github.com/FYSETC/Cheetah // Ignore temp readings during development. -//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000 +//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000 #define DISABLE_JTAG @@ -151,7 +151,7 @@ #define LCD_PINS_D4 PB13 // SCLK #define LCD_PINS_ENABLE PB15 // DATA MOSI - //#define LCD_CONTRAST_INIT 190 + //#define LCD_CONTRAST_INIT 190 #if ENABLED(NEWPANEL) #define BTN_EN1 PC10 @@ -172,6 +172,6 @@ #define CLCD_SOFT_SPI_MISO PB14 #define CLCD_SOFT_SPI_SCLK PB13 #else - #define CLCD_SPI_BUS 2 + #define CLCD_SPI_BUS 2 #endif #endif diff --git a/Marlin/src/pins/stm32f1/pins_GTM32_MINI.h b/Marlin/src/pins/stm32f1/pins_GTM32_MINI.h index 03f9ce0216e4..fe6c0b1325c9 100644 --- a/Marlin/src/pins/stm32f1/pins_GTM32_MINI.h +++ b/Marlin/src/pins/stm32f1/pins_GTM32_MINI.h @@ -49,12 +49,12 @@ //#define DISABLE_JTAGSWD // Ignore temp readings during development. -//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000 +//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000 // Enable EEPROM Emulation for this board as it doesn't have EEPROM #if EITHER(NO_EEPROM_SELECTED, FLASH_EEPROM_EMULATION) #define FLASH_EEPROM_EMULATION - #define MARLIN_EEPROM_SIZE 0x1000 // 4KB + #define MARLIN_EEPROM_SIZE 0x1000 // 4KB #endif // @@ -236,6 +236,6 @@ // ESP WiFi can be soldered to J9 connector which is wired to USART2. // Must define WIFISUPPORT in Configuration.h for the printer. // -#define ESP_WIFI_MODULE_COM 2 -#define ESP_WIFI_MODULE_BAUDRATE 115200 +#define ESP_WIFI_MODULE_COM 2 +#define ESP_WIFI_MODULE_BAUDRATE 115200 #define ESP_WIFI_MODULE_RESET_PIN -1 diff --git a/Marlin/src/pins/stm32f1/pins_GTM32_MINI_A30.h b/Marlin/src/pins/stm32f1/pins_GTM32_MINI_A30.h index 3f5a39a90c03..716de610a710 100644 --- a/Marlin/src/pins/stm32f1/pins_GTM32_MINI_A30.h +++ b/Marlin/src/pins/stm32f1/pins_GTM32_MINI_A30.h @@ -49,12 +49,12 @@ //#define DISABLE_JTAGSWD // Ignore temp readings during development. -//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000 +//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000 // Enable EEPROM Emulation for this board as it doesn't have EEPROM #if EITHER(NO_EEPROM_SELECTED, FLASH_EEPROM_EMULATION) #define FLASH_EEPROM_EMULATION - #define MARLIN_EEPROM_SIZE 0x1000 // 4KB + #define MARLIN_EEPROM_SIZE 0x1000 // 4KB #endif // @@ -230,6 +230,6 @@ // ESP WiFi can be soldered to J9 connector which is wired to USART2. // Must define WIFISUPPORT in Configuration.h for the printer. // -#define ESP_WIFI_MODULE_COM 2 -#define ESP_WIFI_MODULE_BAUDRATE 115200 +#define ESP_WIFI_MODULE_COM 2 +#define ESP_WIFI_MODULE_BAUDRATE 115200 #define ESP_WIFI_MODULE_RESET_PIN -1 diff --git a/Marlin/src/pins/stm32f1/pins_GTM32_PRO_VB.h b/Marlin/src/pins/stm32f1/pins_GTM32_PRO_VB.h index 03f9ce0216e4..fe6c0b1325c9 100644 --- a/Marlin/src/pins/stm32f1/pins_GTM32_PRO_VB.h +++ b/Marlin/src/pins/stm32f1/pins_GTM32_PRO_VB.h @@ -49,12 +49,12 @@ //#define DISABLE_JTAGSWD // Ignore temp readings during development. -//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000 +//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000 // Enable EEPROM Emulation for this board as it doesn't have EEPROM #if EITHER(NO_EEPROM_SELECTED, FLASH_EEPROM_EMULATION) #define FLASH_EEPROM_EMULATION - #define MARLIN_EEPROM_SIZE 0x1000 // 4KB + #define MARLIN_EEPROM_SIZE 0x1000 // 4KB #endif // @@ -236,6 +236,6 @@ // ESP WiFi can be soldered to J9 connector which is wired to USART2. // Must define WIFISUPPORT in Configuration.h for the printer. // -#define ESP_WIFI_MODULE_COM 2 -#define ESP_WIFI_MODULE_BAUDRATE 115200 +#define ESP_WIFI_MODULE_COM 2 +#define ESP_WIFI_MODULE_BAUDRATE 115200 #define ESP_WIFI_MODULE_RESET_PIN -1 diff --git a/Marlin/src/pins/stm32f1/pins_GTM32_REV_B.h b/Marlin/src/pins/stm32f1/pins_GTM32_REV_B.h index c39c89e42cec..1fc4fa94249e 100644 --- a/Marlin/src/pins/stm32f1/pins_GTM32_REV_B.h +++ b/Marlin/src/pins/stm32f1/pins_GTM32_REV_B.h @@ -49,12 +49,12 @@ //#define DISABLE_JTAGSWD // Ignore temp readings during development. -//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000 +//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000 // Enable EEPROM Emulation for this board as it doesn't have EEPROM #if EITHER(NO_EEPROM_SELECTED, FLASH_EEPROM_EMULATION) #define FLASH_EEPROM_EMULATION - #define MARLIN_EEPROM_SIZE 0x1000 // 4KB + #define MARLIN_EEPROM_SIZE 0x1000 // 4KB #endif // @@ -233,6 +233,6 @@ // ESP WiFi can be soldered to J9 connector which is wired to USART2. // Must define WIFISUPPORT in Configuration.h for the printer. // -#define ESP_WIFI_MODULE_COM 2 -#define ESP_WIFI_MODULE_BAUDRATE 115200 +#define ESP_WIFI_MODULE_COM 2 +#define ESP_WIFI_MODULE_BAUDRATE 115200 #define ESP_WIFI_MODULE_RESET_PIN -1 diff --git a/Marlin/src/pins/stm32f1/pins_JGAURORA_A5S_A1.h b/Marlin/src/pins/stm32f1/pins_JGAURORA_A5S_A1.h index c68c059265e4..d474eb25f6a7 100644 --- a/Marlin/src/pins/stm32f1/pins_JGAURORA_A5S_A1.h +++ b/Marlin/src/pins/stm32f1/pins_JGAURORA_A5S_A1.h @@ -43,10 +43,10 @@ // Enable EEPROM Emulation for this board, so that we don't overwrite factory data //#define I2C_EEPROM // AT24C64 -//#define MARLIN_EEPROM_SIZE 0x8000UL // 64KB +//#define MARLIN_EEPROM_SIZE 0x8000UL // 64KB //#define FLASH_EEPROM_EMULATION -//#define MARLIN_EEPROM_SIZE 0x1000UL // 4KB +//#define MARLIN_EEPROM_SIZE 0x1000UL // 4KB //#define MARLIN_EEPROM_SIZE (EEPROM_START_ADDRESS + (EEPROM_PAGE_SIZE) * 2UL) //#define EEPROM_CHITCHAT @@ -126,7 +126,7 @@ // // Touch support // -#if ENABLED(TOUCH_BUTTONS) +#if NEED_TOUCH_PINS #define TOUCH_CS_PIN PA4 #define TOUCH_INT_PIN PC4 #endif diff --git a/Marlin/src/pins/stm32f1/pins_LONGER3D_LK.h b/Marlin/src/pins/stm32f1/pins_LONGER3D_LK.h index e99b70270093..cbc43a7ac806 100644 --- a/Marlin/src/pins/stm32f1/pins_LONGER3D_LK.h +++ b/Marlin/src/pins/stm32f1/pins_LONGER3D_LK.h @@ -86,8 +86,8 @@ #define FAN_PIN PA15 // pin 77 (4cm Fan) #define FAN_SOFT_PWM // Required to avoid issues with heating or STLink -#define FAN_MIN_PWM 35 // Fan will not start in 1-30 range -#define FAN_MAX_PWM 255 +#define FAN_MIN_PWM 35 // Fan will not start in 1-30 range +#define FAN_MAX_PWM 255 //#define BEEPER_PIN PD13 // pin 60 (Servo PWM output 5V/GND on Board V0G+) made for BL-Touch sensor // Can drive a PC Buzzer, if connected between PWM and 5V pins @@ -130,12 +130,18 @@ #define DOGLCD_MOSI -1 // Prevent auto-define by Conditionals_post.h #define DOGLCD_SCK -1 +#define GRAPHICAL_TFT_UPSCALE 2 +#define TFT_WIDTH 320 +#define TFT_HEIGHT 240 +#define TFT_PIXEL_OFFSET_X 32 +#define TFT_PIXEL_OFFSET_Y 32 + /** * Note: Alfawise U20/U30 boards DON'T use SPI2, as the hardware designer * mixed up MOSI and MISO pins. SPI is managed in SW, and needs pins * declared below. */ -#if ENABLED(TOUCH_BUTTONS) +#if NEED_TOUCH_PINS #define TOUCH_CS_PIN PB12 // pin 51 SPI2_NSS #define TOUCH_SCK_PIN PB13 // pin 52 #define TOUCH_MOSI_PIN PB14 // pin 53 @@ -154,12 +160,12 @@ #if ENABLED(SPI_EEPROM) // SPI1 EEPROM Winbond W25Q64 (8MB/64Mbits) - #define SPI_CHAN_EEPROM1 1 + #define SPI_CHAN_EEPROM1 1 #define SPI_EEPROM1_CS PC5 // pin 34 #define EEPROM_SCK BOARD_SPI1_SCK_PIN // PA5 pin 30 #define EEPROM_MISO BOARD_SPI1_MISO_PIN // PA6 pin 31 #define EEPROM_MOSI BOARD_SPI1_MOSI_PIN // PA7 pin 32 - #define EEPROM_PAGE_SIZE 0x1000U // 4KB (from datasheet) + #define EEPROM_PAGE_SIZE 0x1000U // 4KB (from datasheet) #define MARLIN_EEPROM_SIZE 16UL * (EEPROM_PAGE_SIZE) // Limit to 64KB for now... #elif ENABLED(FLASH_EEPROM_EMULATION) // SoC Flash (framework-arduinoststm32-maple/STM32F1/libraries/EEPROM/EEPROM.h) @@ -167,5 +173,5 @@ #define EEPROM_START_ADDRESS (0x8000000UL + (STM32_FLASH_SIZE) * 1024UL - (EEPROM_PAGE_SIZE) * 2UL) #define MARLIN_EEPROM_SIZE (EEPROM_PAGE_SIZE) #else - #define MARLIN_EEPROM_SIZE 0x800U // On SD, Limit to 2KB, require this amount of RAM + #define MARLIN_EEPROM_SIZE 0x800U // On SD, Limit to 2KB, require this amount of RAM #endif diff --git a/Marlin/src/pins/stm32f1/pins_MALYAN_M200.h b/Marlin/src/pins/stm32f1/pins_MALYAN_M200.h index 6a8f316b0dc2..39c52ab0d30e 100644 --- a/Marlin/src/pins/stm32f1/pins_MALYAN_M200.h +++ b/Marlin/src/pins/stm32f1/pins_MALYAN_M200.h @@ -44,8 +44,8 @@ // On STM32F103: // PB3, PB6, PB7, and PB8 can be used with pwm, which rules out TIM2 and TIM4. // On STM32F070, 16 and 17 are in use, but 1 and 3 are available. -#define STEP_TIMER 1 -#define TEMP_TIMER 3 +#define STEP_TIMER 1 +#define TEMP_TIMER 3 // // Limit Switches diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN.h index 86b6f613d2d8..1ab9165830e0 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN.h @@ -27,7 +27,7 @@ * https://github.com/makerbase-mks/MKS-Robin/tree/master/MKS%20Robin/Hardware */ -#ifndef __STM32F1__ +#if !defined(STM32F1) && !defined(STM32F1xx) #error "Oops! Select an STM32F1 board in 'Tools > Board.'" #elif HOTENDS > 2 || E_STEPPERS > 2 #error "MKS Robin supports up to 2 hotends / E-steppers. Comment out this line to continue." @@ -43,7 +43,14 @@ // // Enable SD EEPROM to prevent infinite boot loop // -#define SDCARD_EEPROM_EMULATION +#ifdef ARDUINO_ARCH_STM32 + #define FLASH_EEPROM_EMULATION + #define EEPROM_PAGE_SIZE (0x800U) // 2KB + #define EEPROM_START_ADDRESS (0x8000000UL + (STM32_FLASH_SIZE) * 1024UL - (EEPROM_PAGE_SIZE) * 2UL) + #define MARLIN_EEPROM_SIZE (EEPROM_PAGE_SIZE) +#else + #define SDCARD_EEPROM_EMULATION +#endif // // Servos @@ -112,35 +119,47 @@ #define PS_ON_PIN PA3 // PW_OFF #define FIL_RUNOUT_PIN PF11 // MT_DET -#define BEEPER_PIN PC13 +#ifdef ARDUINO_ARCH_STM32F1 + #define BEEPER_PIN PC13 +#else + #define BEEPER_PIN -1 +#endif #define LED_PIN PB2 -/** - * Note: MKS Robin TFT screens use various TFT controllers - * Supported screens are based on the ILI9341, ST7789V and ILI9328 (320x240) - * ILI9488 is not supported - * Define init sequences for other screens in u8g_dev_tft_320x240_upscale_from_128x64.cpp - * - * If the screen stays white, disable 'LCD_RESET_PIN' - * to let the bootloader init the screen. - * - * Setting an 'LCD_RESET_PIN' may cause a flicker when entering the LCD menu - * because Marlin uses the reset as a failsafe to revive a glitchy LCD. - */ -//#define LCD_RESET_PIN PF6 -#define LCD_BACKLIGHT_PIN PG11 -#define FSMC_CS_PIN PG12 // NE4 -#define FSMC_RS_PIN PF0 // A0 - -#define LCD_USE_DMA_FSMC // Use DMA transfers to send data to the TFT -#define FSMC_DMA_DEV DMA2 -#define FSMC_DMA_CHANNEL DMA_CH5 +#ifdef HAS_GRAPHICAL_TFT + #define TFT_RESET_PIN PF6 + #define TFT_BACKLIGHT_PIN PG11 + #define TFT_CS_PIN PG12 // NE4 + #define TFT_RS_PIN PF0 // A0 +#else + /** + * Note: MKS Robin TFT screens use various TFT controllers + * Supported screens are based on the ILI9341, ST7789V and ILI9328 (320x240) + * ILI9488 is not supported + * Define init sequences for other screens in u8g_dev_tft_320x240_upscale_from_128x64.cpp + * + * If the screen stays white, disable 'LCD_RESET_PIN' + * to let the bootloader init the screen. + * + * Setting an 'LCD_RESET_PIN' may cause a flicker when entering the LCD menu + * because Marlin uses the reset as a failsafe to revive a glitchy LCD. + */ + //#define LCD_RESET_PIN PF6 + #define LCD_BACKLIGHT_PIN PG11 + #define FSMC_CS_PIN PG12 // NE4 + #define FSMC_RS_PIN PF0 // A0 + + #define LCD_USE_DMA_FSMC // Use DMA transfers to send data to the TFT + #define FSMC_DMA_DEV DMA2 + #define FSMC_DMA_CHANNEL DMA_CH5 +#endif -#if ENABLED(TOUCH_BUTTONS) +#if NEED_TOUCH_PINS #define TOUCH_CS_PIN PB1 // SPI2_NSS #define TOUCH_SCK_PIN PB13 // SPI2_SCK #define TOUCH_MISO_PIN PB14 // SPI2_MISO #define TOUCH_MOSI_PIN PB15 // SPI2_MOSI + #define TOUCH_INT_PIN -1 #endif // SPI1(PA7) & SPI3(PB5) not available @@ -150,7 +169,6 @@ #define SCK_PIN PB13 // SPI2 #define MISO_PIN PB14 // SPI2 #define MOSI_PIN PB15 // SPI2 - #define SS_PIN -1 // PB12 is X- #define SD_DETECT_PIN PF12 // SD_CD #else // SD as custom software SPI (SDIO pins) @@ -194,6 +212,6 @@ // Reduce baud rate for software serial reliability #if HAS_TMC_SW_SERIAL - #define TMC_BAUD_RATE 19200 + #define TMC_BAUD_RATE 19200 #endif #endif diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3_common.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3_common.h index 0f55de824573..1346e8099a65 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3_common.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3_common.h @@ -105,7 +105,7 @@ #define E0_SERIAL_RX_PIN PC11 // Reduce baud rate to improve software serial reliability - #define TMC_BAUD_RATE 19200 + #define TMC_BAUD_RATE 19200 #endif // diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_MINI.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_MINI.h index a4c179afce23..cb3ab62cc25c 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_MINI.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_MINI.h @@ -22,34 +22,33 @@ #pragma once /** - * MKS Robin MINI (STM32F130VET6) board pin assignments + * MKS Robin mini (STM32F130VET6) board pin assignments */ #ifndef __STM32F1__ #error "Oops! Select an STM32F1 board in 'Tools > Board.'" #elif HOTENDS > 1 || E_STEPPERS > 1 - #error "MKS Robin mini supports up to 1 hotends / E-steppers. Comment out this line to continue." + #error "MKS Robin mini only supports 1 hotend / E-stepper. Comment out this line to continue." #endif -#define BOARD_INFO_NAME "MKS Robin mini" +#define BOARD_INFO_NAME "MKS Robin Mini" // // Release PB4 (Y_ENABLE_PIN) from JTAG NRST role // #define DISABLE_DEBUG +// +// EEPROM +// #if EITHER(NO_EEPROM_SELECTED, FLASH_EEPROM_EMULATION) #define FLASH_EEPROM_EMULATION - // 2K in a AT24C16N - #define EEPROM_PAGE_SIZE (0x800U) // 2KB - #define EEPROM_START_ADDRESS (0x8000000UL + (STM32_FLASH_SIZE) * 1024UL - (EEPROM_PAGE_SIZE) * 2UL) + #define EEPROM_PAGE_SIZE (0x800U) // 2KB + #define EEPROM_START_ADDRESS (0x8000000UL + (STM32_FLASH_SIZE) * 1024UL - (EEPROM_PAGE_SIZE) * 2UL) #define MARLIN_EEPROM_SIZE EEPROM_PAGE_SIZE // 2KB #endif -// -// Note: MKS Robin mini board is using SPI2 interface. -// -#define SPI_MODULE 2 +#define ENABLE_SPI2 // // Limit Switches @@ -82,6 +81,14 @@ #define E0_STEP_PIN PD6 #define E0_DIR_PIN PD3 +// Motor current PWM pins +#define MOTOR_CURRENT_PWM_XY_PIN PA6 +#define MOTOR_CURRENT_PWM_Z_PIN PA7 +#define MOTOR_CURRENT_PWM_E_PIN PB0 +#define MOTOR_CURRENT_PWM_RANGE 1500 // (255 * (1000mA / 65535)) * 257 = 1000 is equal 1.6v Vref in turn equal 1Amp +#ifndef DEFAULT_PWM_MOTOR_CURRENT + #define DEFAULT_PWM_MOTOR_CURRENT { 800, 800, 800 } +#endif // // Temperature Sensors // @@ -91,64 +98,102 @@ // // Heaters / Fans // -#define HEATER_0_PIN PC3 // HEATER1 -#define HEATER_BED_PIN PA0 // HOT BED +#define HEATER_0_PIN PC3 +#define HEATER_BED_PIN PA0 #define FAN_PIN PB1 // FAN -// -// Thermocouples -// -//#define MAX6675_SS_PIN PE5 // TC1 - CS1 -//#define MAX6675_SS_PIN PE6 // TC2 - CS2 - // // Misc. Functions // #define POWER_LOSS_PIN PA2 // PW_DET #define PS_ON_PIN PA3 // PW_OFF -//#define LED_PIN PB2 +#define SERVO0_PIN PA8 // Enable BLTOUCH support on IO0 (WIFI connector) + +#define MT_DET_1_PIN PA4 +#define MT_DET_PIN_INVERTING false + +#define WIFI_IO0_PIN PC13 + +// +// SD Card +// +#ifndef SDCARD_CONNECTION + #define SDCARD_CONNECTION ONBOARD +#endif + +#define SDIO_SUPPORT +#define SDIO_CLOCK 4500000 // 4.5 MHz +#define SD_DETECT_PIN PD12 +#define ONBOARD_SD_CS_PIN PC11 // // LCD / Controller // #define BEEPER_PIN PC5 -#define SD_DETECT_PIN PD12 /** * Note: MKS Robin TFT screens use various TFT controllers. * If the screen stays white, disable 'LCD_RESET_PIN' * to let the bootloader init the screen. */ + #define XPT2046_X_CALIBRATION 12033 + #define XPT2046_Y_CALIBRATION -9047 + #define XPT2046_X_OFFSET -30 + #define XPT2046_Y_OFFSET 254 + #if ENABLED(FSMC_GRAPHICAL_TFT) + #define FSMC_CS_PIN PD7 // NE4 #define FSMC_RS_PIN PD11 // A0 - #define LCD_RESET_PIN PC6 + #define LCD_USE_DMA_FSMC // Use DMA transfers to send data to the TFT + #define FSMC_DMA_DEV DMA2 + #define FSMC_DMA_CHANNEL DMA_CH5 + + #define LCD_RESET_PIN PC6 // FSMC_RST #define LCD_BACKLIGHT_PIN PD13 - #if ENABLED(TOUCH_BUTTONS) - #define TOUCH_CS_PIN PC2 - #define TOUCH_SCK_PIN PB13 - #define TOUCH_MOSI_PIN PB15 - #define TOUCH_MISO_PIN PB14 + #if NEED_TOUCH_PINS + #define TOUCH_CS_PIN PC2 // SPI2_NSS + #define TOUCH_SCK_PIN PB13 // SPI2_SCK + #define TOUCH_MISO_PIN PB14 // SPI2_MISO + #define TOUCH_MOSI_PIN PB15 // SPI2_MOSI #endif + +#elif ENABLED(TFT_320x240) //TFT32/28 + + #define TFT_RESET_PIN PC6 + #define TFT_BACKLIGHT_PIN PD13 + + #define LCD_USE_DMA_FSMC // Use DMA transfers to send data to the TFT + #define FSMC_CS_PIN PD7 + #define FSMC_RS_PIN PD11 + #define FSMC_DMA_DEV DMA2 + #define FSMC_DMA_CHANNEL DMA_CH5 + + #define TOUCH_CS_PIN PC2 // SPI2_NSS + #define TOUCH_SCK_PIN PB13 // SPI2_SCK + #define TOUCH_MISO_PIN PB14 // SPI2_MISO + #define TOUCH_MOSI_PIN PB15 // SPI2_MOSI + + #define TFT_DRIVER ILI9341 + #define TFT_BUFFER_SIZE 14400 + + // YV for normal screen mounting + #define ILI9341_ORIENTATION ILI9341_MADCTL_MY | ILI9341_MADCTL_MV + // XV for 180° rotated screen mounting + //#define ILI9341_ORIENTATION ILI9341_MADCTL_MX | ILI9341_MADCTL_MV + + #define ILI9341_COLOR_RGB #endif -// Motor current PWM pins -#define MOTOR_CURRENT_PWM_XY_PIN PA6 -#define MOTOR_CURRENT_PWM_Z_PIN PA7 -#define MOTOR_CURRENT_PWM_E_PIN PB0 -#define MOTOR_CURRENT_PWM_RANGE 1500 // (255 * (1000mA / 65535)) * 257 = 1000 is equal 1.6v Vref in turn equal 1Amp -#define DEFAULT_PWM_MOTOR_CURRENT { 1030, 1030, 1030 } // 1.05Amp per driver, here is XY, Z and E. This values determined empirically. - -// This is a kind of workaround in case native marlin "digipot" interface won't work. -// Required to enable related code in STM32F1/HAL.cpp -//#ifndef MKS_ROBIN_MINI_VREF_PWM -// #define MKS_ROBIN_MINI_VREF_PWM -//#endif - -//#define VREF_XY_PIN PA6 -//#define VREF_Z_PIN PA7 -//#define VREF_E1_PIN PB0 +#define HAS_SPI_FLASH 1 +#define SPI_FLASH_SIZE 0x1000000 // 16MB +#if HAS_SPI_FLASH + #define W25QXX_CS_PIN PB12 // Flash chip-select + #define W25QXX_MOSI_PIN PB15 + #define W25QXX_MISO_PIN PB14 + #define W25QXX_SCK_PIN PB13 +#endif diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h index 610f4b5735dd..2c1d016f8cd6 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO.h @@ -127,10 +127,10 @@ #define PS_ON_PIN PA3 // PW_OFF //#define SUICIDE_PIN PB2 // Enable MKSPWC support ROBIN NANO v1.2 ONLY -//#define SUICIDE_PIN_INVERTING false +//#define SUICIDE_PIN_INVERTING false //#define KILL_PIN PA2 // Enable MKSPWC support ROBIN NANO v1.2 ONLY -//#define KILL_PIN_INVERTING true // Enable MKSPWC support ROBIN NANO v1.2 ONLY +//#define KILL_PIN_INVERTING true // Enable MKSPWC support ROBIN NANO v1.2 ONLY #define SERVO0_PIN PA8 // Enable BLTOUCH support ROBIN NANO v1.2 ONLY @@ -138,7 +138,7 @@ #define MT_DET_1_PIN PA4 #define MT_DET_2_PIN PE6 -#define MT_DET_PIN_INVERTING false +#define MT_DET_PIN_INVERTING false #define WIFI_IO0_PIN PC13 @@ -150,7 +150,7 @@ #endif #define SDIO_SUPPORT -#define SDIO_CLOCK 4500000 // 4.5 MHz +#define SDIO_CLOCK 4500000 // 4.5 MHz #define SD_DETECT_PIN PD12 #define ONBOARD_SD_CS_PIN PC11 @@ -165,107 +165,119 @@ * to let the bootloader init the screen. */ -#if ENABLED(TFT_LVGL_UI_SPI) +// Shared FSMC Configs +#if HAS_FSMC_TFT + #define FSMC_CS_PIN PD7 // NE4 + #define FSMC_RS_PIN PD11 // A0 - #define SPI_TFT_CS_PIN PD11 - #define SPI_TFT_SCK_PIN PA5 - #define SPI_TFT_MISO_PIN PA6 - #define SPI_TFT_MOSI_PIN PA7 - #define SPI_TFT_DC_PIN PD10 - #define SPI_TFT_RST_PIN PC6 + #define TOUCH_CS_PIN PA7 // SPI2_NSS + #define TOUCH_SCK_PIN PB13 // SPI2_SCK + #define TOUCH_MISO_PIN PB14 // SPI2_MISO + #define TOUCH_MOSI_PIN PB15 // SPI2_MOSI + #define LCD_RESET_PIN PC6 // FSMC_RST #define LCD_BACKLIGHT_PIN PD13 - #define TOUCH_CS_PIN PE14 // SPI1_NSS - #define TOUCH_SCK_PIN PA5 // SPI1_SCK - #define TOUCH_MISO_PIN PA6 // SPI1_MISO - #define TOUCH_MOSI_PIN PA7 // SPI1_MOSI + #define TFT_RESET_PIN PC6 // FSMC_RST + #define TFT_BACKLIGHT_PIN PD13 - #define BTN_EN1 PE8 - #define BTN_EN2 PE11 - #define BEEPER_PIN PC5 - #define BTN_ENC PE13 + #define LCD_USE_DMA_FSMC // Use DMA transfers to send data to the TFT + #define FSMC_CS_PIN PD7 + #define FSMC_RS_PIN PD11 + #define FSMC_DMA_DEV DMA2 + #define FSMC_DMA_CHANNEL DMA_CH5 -#elif ENABLED(TFT_LVGL_UI_FSMC) + #define TOUCH_BUTTONS_HW_SPI + #define TOUCH_BUTTONS_HW_SPI_DEVICE 2 +#endif - #define FSMC_CS_PIN PD7 // NE4 - #define FSMC_RS_PIN PD11 // A0 +// LVGL Configs +#if ENABLED(TFT_LVGL_UI_FSMC) + + #define XPT2046_X_CALIBRATION 17880 + #define XPT2046_Y_CALIBRATION -12234 + #define XPT2046_X_OFFSET -45 + #define XPT2046_Y_OFFSET 349 + +// Emulated DOGM Configs +#elif ENABLED(FSMC_GRAPHICAL_TFT) + + #define DOGLCD_MOSI -1 // prevent redefine Conditionals_post.h + #define DOGLCD_SCK -1 + + #ifndef GRAPHICAL_TFT_UPSCALE + #define GRAPHICAL_TFT_UPSCALE 3 + #endif + #ifndef TFT_WIDTH + #define TFT_WIDTH 480 + #endif + #ifndef TFT_PIXEL_OFFSET_X + #define TFT_PIXEL_OFFSET_X 48 + #endif + #ifndef TFT_HEIGHT + #define TFT_HEIGHT 320 + #endif + #ifndef TFT_PIXEL_OFFSET_Y + #define TFT_PIXEL_OFFSET_Y 32 + #endif + + #ifndef XPT2046_X_CALIBRATION + #define XPT2046_X_CALIBRATION 12149 + #endif + #ifndef XPT2046_Y_CALIBRATION + #define XPT2046_Y_CALIBRATION -8746 + #endif + #ifndef XPT2046_X_OFFSET + #define XPT2046_X_OFFSET -35 + #endif + #ifndef XPT2046_Y_OFFSET + #define XPT2046_Y_OFFSET 256 + #endif + +#elif ENABLED(TFT_320x240) // TFT32/28 + #define TFT_RESET_PIN PC6 + #define TFT_BACKLIGHT_PIN PD13 + + #define LCD_USE_DMA_FSMC // Use DMA transfers to send data to the TFT + #define FSMC_CS_PIN PD7 + #define FSMC_RS_PIN PD11 + #define FSMC_DMA_DEV DMA2 + #define FSMC_DMA_CHANNEL DMA_CH5 + + #define XPT2046_X_CALIBRATION -12246 + #define XPT2046_Y_CALIBRATION 9453 + #define XPT2046_X_OFFSET 360 + #define XPT2046_Y_OFFSET -22 #define TOUCH_CS_PIN PA7 // SPI2_NSS #define TOUCH_SCK_PIN PB13 // SPI2_SCK #define TOUCH_MISO_PIN PB14 // SPI2_MISO #define TOUCH_MOSI_PIN PB15 // SPI2_MOSI - #define LCD_BACKLIGHT_PIN PD13 - -#endif + #define TFT_DRIVER ILI9341 + #define TFT_BUFFER_SIZE 14400 -#if ENABLED(FSMC_GRAPHICAL_TFT) - //#define DOGLCD_MOSI -1 // prevent redefine Conditionals_post.h - //#define DOGLCD_SCK -1 + // YV for normal screen mounting + //#define ILI9341_ORIENTATION ILI9341_MADCTL_MY | ILI9341_MADCTL_MV + // XV for 180° rotated screen mounting + #define ILI9341_ORIENTATION ILI9341_MADCTL_MX | ILI9341_MADCTL_MV - #define FSMC_CS_PIN PD7 // NE4 - #define FSMC_RS_PIN PD11 // A0 + #define ILI9341_COLOR_RGB - #define LCD_RESET_PIN PC6 // FSMC_RST - #define LCD_BACKLIGHT_PIN PD13 +#elif ENABLED(TFT_480x320) + #define XPT2046_X_CALIBRATION 17880 + #define XPT2046_Y_CALIBRATION -12234 + #define XPT2046_X_OFFSET -45 + #define XPT2046_Y_OFFSET 349 - #if ENABLED(TOUCH_BUTTONS) - #define TOUCH_CS_PIN PA7 // SPI2_NSS - #define TOUCH_SCK_PIN PB13 // SPI2_SCK - #define TOUCH_MISO_PIN PB14 // SPI2_MISO - #define TOUCH_MOSI_PIN PB15 // SPI2_MOSI - #endif + #define TFT_DRIVER ILI9488 + #define TFT_BUFFER_SIZE 14400 + #define ILI9488_ORIENTATION ILI9488_MADCTL_MX | ILI9488_MADCTL_MV #endif -#if HAS_SPI_LCD - - #define BEEPER_PIN PC5 - #define BTN_ENC PE13 - #define LCD_PINS_ENABLE PD13 - #define LCD_PINS_RS PC6 - #define BTN_EN1 PE8 - #define BTN_EN2 PE11 - #define LCD_BACKLIGHT_PIN -1 - - // MKS MINI12864 and MKS LCD12864B; If using MKS LCD12864A (Need to remove RPK2 resistor) - #if ENABLED(MKS_MINI_12864) - #define LCD_BACKLIGHT_PIN -1 - #define LCD_RESET_PIN -1 - #define DOGLCD_A0 PD11 - #define DOGLCD_CS PE15 - #define DOGLCD_SCK PA5 - #define DOGLCD_MOSI PA7 - - // Required for MKS_MINI_12864 with this board - #define MKS_LCD12864B - #undef SHOW_BOOTSCREEN - - #else // !MKS_MINI_12864 - - #define LCD_PINS_D4 PE14 - #if ENABLED(ULTIPANEL) - #define LCD_PINS_D5 PE15 - #define LCD_PINS_D6 PD11 - #define LCD_PINS_D7 PD10 - #endif - - #ifndef BOARD_ST7920_DELAY_1 - #define BOARD_ST7920_DELAY_1 DELAY_NS(125) - #endif - #ifndef BOARD_ST7920_DELAY_2 - #define BOARD_ST7920_DELAY_2 DELAY_NS(125) - #endif - #ifndef BOARD_ST7920_DELAY_3 - #define BOARD_ST7920_DELAY_3 DELAY_NS(125) - #endif - - #endif // !MKS_MINI_12864 - -#endif // HAS_SPI_LCD - -#define SPI_FLASH -#if ENABLED(SPI_FLASH) +#define HAS_SPI_FLASH 1 +#define SPI_FLASH_SIZE 0x1000000 // 16MB +#if HAS_SPI_FLASH #define W25QXX_CS_PIN PB12 #define W25QXX_MOSI_PIN PB15 #define W25QXX_MISO_PIN PB14 diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h index ee88962e12bf..228049d139bd 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h @@ -29,6 +29,8 @@ #error "Oops! Select an STM32F1 board in 'Tools > Board.'" #elif HOTENDS > 2 || E_STEPPERS > 2 #error "MKS Robin nano supports up to 2 hotends / E-steppers. Comment out this line to continue." +#elif HAS_FSMC_TFT + #error "MKS Robin nano v2 doesn't support FSMC-based TFT displays." #endif #define BOARD_INFO_NAME "MKS Robin nano V2.0" @@ -47,13 +49,13 @@ #if EITHER(NO_EEPROM_SELECTED, I2C_EEPROM) #define I2C_EEPROM // EEPROM on I2C-0 - #define MARLIN_EEPROM_SIZE 0x1000 // 4KB + #define MARLIN_EEPROM_SIZE 0x1000 // 4KB #endif // // Note: MKS Robin board is using SPI2 interface. // -//#define SPI_MODULE 2 +//#define SPI_MODULE 2 #define ENABLE_SPI2 // @@ -162,7 +164,7 @@ #define E1_SERIAL_RX_PIN PD8 // Reduce baud rate to improve software serial reliability - #define TMC_BAUD_RATE 19200 + #define TMC_BAUD_RATE 19200 #endif // TMC2208 || TMC2209 // @@ -194,10 +196,10 @@ #define PS_ON_PIN PA3 // PW_OFF //#define SUICIDE_PIN PB2 // Enable MKSPWC support ROBIN NANO v1.2 ONLY -//#define SUICIDE_PIN_INVERTING false +//#define SUICIDE_PIN_INVERTING false //#define KILL_PIN PA2 // Enable MKSPWC support ROBIN NANO v1.2 ONLY -//#define KILL_PIN_INVERTING true // Enable MKSPWC support ROBIN NANO v1.2 ONLY +//#define KILL_PIN_INVERTING true // Enable MKSPWC support ROBIN NANO v1.2 ONLY #define SERVO0_PIN PA8 // Enable BLTOUCH support ROBIN NANO v1.2 ONLY @@ -205,7 +207,14 @@ #define MT_DET_1_PIN PA4 #define MT_DET_2_PIN PE6 -#define MT_DET_PIN_INVERTING false +#define MT_DET_PIN_INVERTING false + +#ifndef FIL_RUNOUT_PIN + #define FIL_RUNOUT_PIN MT_DET_1_PIN +#endif +#ifndef FIL_RUNOUT2_PIN + #define FIL_RUNOUT2_PIN MT_DET_2_PIN +#endif #define WIFI_IO0_PIN PC13 @@ -217,14 +226,16 @@ #endif #define SDIO_SUPPORT -#define SDIO_CLOCK 4500000 // 4.5 MHz +#define SDIO_CLOCK 4500000 // 4.5 MHz #define SD_DETECT_PIN PD12 #define ONBOARD_SD_CS_PIN PC11 // // LCD / Controller // -#define BEEPER_PIN PC5 +#ifndef BEEPER_PIN + #define BEEPER_PIN PC5 +#endif /** * Note: MKS Robin TFT screens use various TFT controllers. @@ -232,14 +243,9 @@ * to let the bootloader init the screen. */ -#if ENABLED(TFT_LVGL_UI_SPI) +#if HAS_SPI_TFT - #define SPI_TFT_CS_PIN PD11 - #define SPI_TFT_SCK_PIN PA5 - #define SPI_TFT_MISO_PIN PA6 - #define SPI_TFT_MOSI_PIN PA7 - #define SPI_TFT_DC_PIN PD10 - #define SPI_TFT_RST_PIN PC6 + // Shared SPI TFT #define LCD_BACKLIGHT_PIN PD13 @@ -250,35 +256,94 @@ #define BTN_EN1 PE8 #define BTN_EN2 PE11 - #define BEEPER_PIN PC5 #define BTN_ENC PE13 -#elif ENABLED(TFT_LITTLE_VGL_UI) + #define TFT_CS_PIN PD11 + #define TFT_SCK_PIN PA5 + #define TFT_MISO_PIN PA6 + #define TFT_MOSI_PIN PA7 + #define TFT_DC_PIN PD10 + #define TFT_RST_PIN PC6 + #define TFT_A0_PIN TFT_DC_PIN - #define FSMC_CS_PIN PD7 // NE4 - #define FSMC_RS_PIN PD11 // A0 + #define TFT_RESET_PIN PC6 + #define TFT_BACKLIGHT_PIN PD13 - #define TOUCH_CS_PIN PA7 // SPI2_NSS - #define TOUCH_SCK_PIN PB13 // SPI2_SCK - #define TOUCH_MISO_PIN PB14 // SPI2_MISO - #define TOUCH_MOSI_PIN PB15 // SPI2_MOSI + #define TOUCH_BUTTONS_HW_SPI + #define TOUCH_BUTTONS_HW_SPI_DEVICE 1 - #define LCD_BACKLIGHT_PIN PD13 + #ifndef TFT_WIDTH + #define TFT_WIDTH 480 + #endif + #ifndef TFT_HEIGHT + #define TFT_HEIGHT 320 + #endif + + #define LCD_READ_ID 0xD3 + #define LCD_USE_DMA_SPI #endif -#if HAS_SPI_LCD +#if ENABLED(TFT_LVGL_UI_SPI) + + // LVGL + + #define XPT2046_X_CALIBRATION -17253 + #define XPT2046_Y_CALIBRATION 11579 + #define XPT2046_X_OFFSET 514 + #define XPT2046_Y_OFFSET -24 + +#elif ENABLED(SPI_GRAPHICAL_TFT) + + // Emulated DOGM SPI + + #ifndef XPT2046_X_CALIBRATION + #define XPT2046_X_CALIBRATION -11386 + #endif + #ifndef XPT2046_Y_CALIBRATION + #define XPT2046_Y_CALIBRATION 8684 + #endif + #ifndef XPT2046_X_OFFSET + #define XPT2046_X_OFFSET 339 + #endif + #ifndef XPT2046_Y_OFFSET + #define XPT2046_Y_OFFSET -18 + #endif + + #ifndef GRAPHICAL_TFT_UPSCALE + #define GRAPHICAL_TFT_UPSCALE 3 + #endif + #ifndef TFT_PIXEL_OFFSET_Y + #define TFT_PIXEL_OFFSET_Y 32 + #endif - #define BEEPER_PIN PC5 #define BTN_ENC PE13 - #define LCD_PINS_ENABLE PD13 - #define LCD_PINS_RS PC6 #define BTN_EN1 PE8 #define BTN_EN2 PE11 - #define LCD_BACKLIGHT_PIN -1 - // MKS MINI12864 and MKS LCD12864B; If using MKS LCD12864A (Need to remove RPK2 resistor) + #define LCD_PINS_ENABLE PD13 + #define LCD_PINS_RS PC6 + +#elif ENABLED(TFT_480x320_SPI) + #define XPT2046_X_CALIBRATION -17253 + #define XPT2046_Y_CALIBRATION 11579 + #define XPT2046_X_OFFSET 514 + #define XPT2046_Y_OFFSET -24 + + #define TFT_DRIVER ST7796 + #define TFT_BUFFER_SIZE 14400 + +#endif + +#if HAS_SPI_LCD && !HAS_SPI_TFT + + // NON TFT Displays + #if ENABLED(MKS_MINI_12864) + + // MKS MINI12864 and MKS LCD12864B + // If using MKS LCD12864A (Need to remove RPK2 resistor) + #define LCD_BACKLIGHT_PIN -1 #define LCD_RESET_PIN -1 #define DOGLCD_A0 PD11 @@ -311,12 +376,17 @@ #endif // !MKS_MINI_12864 -#endif // HAS_SPI_LCD +#endif // HAS_SPI_LCD && !HAS_SPI_TFT -#define SPI_FLASH -#if ENABLED(SPI_FLASH) +#define HAS_SPI_FLASH 1 +#define SPI_FLASH_SIZE 0x1000000 // 16MB +#if HAS_SPI_FLASH #define W25QXX_CS_PIN PB12 #define W25QXX_MOSI_PIN PB15 #define W25QXX_MISO_PIN PB14 #define W25QXX_SCK_PIN PB13 #endif + +#if ENABLED(SPEAKER) && BEEPER_PIN == PC5 + #error "MKS Robin nano default BEEPER_PIN is not a SPEAKER." +#endif diff --git a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h index 2d6c98eb1e40..c00466677a25 100644 --- a/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h +++ b/Marlin/src/pins/stm32f1/pins_MKS_ROBIN_PRO.h @@ -41,7 +41,7 @@ // // Note: MKS Robin board is using SPI2 interface. // -//#define SPI_MODULE 2 +//#define SPI_MODULE 2 #define ENABLE_SPI2 // @@ -221,7 +221,7 @@ #define LCD_RESET_PIN PF6 #define LCD_BACKLIGHT_PIN PD13 - #if ENABLED(TOUCH_BUTTONS) + #if NEED_TOUCH_PINS #define TOUCH_CS_PIN PA7 #else #define BEEPER_PIN PC5 diff --git a/Marlin/src/pins/stm32f1/pins_STM32F1R.h b/Marlin/src/pins/stm32f1/pins_STM32F1R.h index 475f31cb71c3..63fb383c9b52 100644 --- a/Marlin/src/pins/stm32f1/pins_STM32F1R.h +++ b/Marlin/src/pins/stm32f1/pins_STM32F1R.h @@ -33,7 +33,7 @@ #define DEFAULT_MACHINE_NAME "STM32F103RET6" // Ignore temp readings during development. -//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000 +//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000 // // Limit Switches @@ -100,9 +100,9 @@ #if HAS_SPI_LCD #if ENABLED(REPRAPWORLD_GRAPHICAL_LCD) - #define LCD_PINS_RS 49 // CS chip select /SS chip slave select - #define LCD_PINS_ENABLE 51 // SID (MOSI) - #define LCD_PINS_D4 52 // SCK (CLK) clock + #define LCD_PINS_RS 49 // CS chip select /SS chip slave select + #define LCD_PINS_ENABLE 51 // SID (MOSI) + #define LCD_PINS_D4 52 // SCK (CLK) clock #elif BOTH(NEWPANEL, PANEL_ONE) #define LCD_PINS_RS PB8 #define LCD_PINS_ENABLE PD2 @@ -118,13 +118,13 @@ #define LCD_PINS_D6 PB14 #define LCD_PINS_D7 PB15 #if DISABLED(NEWPANEL) - #define BEEPER_PIN 33 + #define BEEPER_PIN 33 // Buttons attached to a shift register // Not wired yet - //#define SHIFT_CLK 38 - //#define SHIFT_LD 42 - //#define SHIFT_OUT 40 - //#define SHIFT_EN 17 + //#define SHIFT_CLK 38 + //#define SHIFT_LD 42 + //#define SHIFT_OUT 40 + //#define SHIFT_EN 17 #endif #endif @@ -132,125 +132,125 @@ #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) - #define BEEPER_PIN 37 + #define BEEPER_PIN 37 - #define BTN_EN1 31 - #define BTN_EN2 33 - #define BTN_ENC 35 + #define BTN_EN1 31 + #define BTN_EN2 33 + #define BTN_ENC 35 - #define SD_DETECT_PIN 49 - #define KILL_PIN 41 + #define SD_DETECT_PIN 49 + #define KILL_PIN 41 #if ENABLED(BQ_LCD_SMART_CONTROLLER) - #define LCD_BACKLIGHT_PIN 39 + #define LCD_BACKLIGHT_PIN 39 #endif #elif ENABLED(REPRAPWORLD_GRAPHICAL_LCD) - #define BTN_EN1 64 - #define BTN_EN2 59 - #define BTN_ENC 63 - #define SD_DETECT_PIN 42 + #define BTN_EN1 64 + #define BTN_EN2 59 + #define BTN_ENC 63 + #define SD_DETECT_PIN 42 #elif ENABLED(LCD_I2C_PANELOLU2) - #define BTN_EN1 47 - #define BTN_EN2 43 - #define BTN_ENC 32 - #define LCD_SDSS 53 + #define BTN_EN1 47 + #define BTN_EN2 43 + #define BTN_ENC 32 + #define LCD_SDSS 53 #define SD_DETECT_PIN -1 - #define KILL_PIN 41 + #define KILL_PIN 41 #elif ENABLED(LCD_I2C_VIKI) - #define BTN_EN1 22 // https://files.panucatt.com/datasheets/viki_wiring_diagram.pdf explains 40/42. - #define BTN_EN2 7 // 22/7 are unused on RAMPS_14. 22 is unused and 7 the SERVO0_PIN on RAMPS_13. + #define BTN_EN1 22 // https://files.panucatt.com/datasheets/viki_wiring_diagram.pdf explains 40/42. + #define BTN_EN2 7 // 22/7 are unused on RAMPS_14. 22 is unused and 7 the SERVO0_PIN on RAMPS_13. #define BTN_ENC -1 - #define LCD_SDSS 53 - #define SD_DETECT_PIN 49 + #define LCD_SDSS 53 + #define SD_DETECT_PIN 49 #elif ANY(VIKI2, miniVIKI) - #define BEEPER_PIN 33 + #define BEEPER_PIN 33 // Pins for DOGM SPI LCD Support - #define DOGLCD_A0 44 - #define DOGLCD_CS 45 + #define DOGLCD_A0 44 + #define DOGLCD_CS 45 #define LCD_SCREEN_ROT_180 - #define BTN_EN1 22 - #define BTN_EN2 7 - #define BTN_ENC 39 + #define BTN_EN1 22 + #define BTN_EN2 7 + #define BTN_ENC 39 - #define SDSS 53 + #define SDSS 53 #define SD_DETECT_PIN -1 // Pin 49 for display sd interface, 72 for easy adapter board - #define KILL_PIN 31 + #define KILL_PIN 31 - #define STAT_LED_RED_PIN 32 - #define STAT_LED_BLUE_PIN 35 + #define STAT_LED_RED_PIN 32 + #define STAT_LED_BLUE_PIN 35 #elif ENABLED(ELB_FULL_GRAPHIC_CONTROLLER) - #define BTN_EN1 35 - #define BTN_EN2 37 - #define BTN_ENC 31 - #define SD_DETECT_PIN 49 - #define LCD_SDSS 53 - #define KILL_PIN 41 - #define BEEPER_PIN 23 - #define DOGLCD_CS 29 - #define DOGLCD_A0 27 - #define LCD_BACKLIGHT_PIN 33 + #define BTN_EN1 35 + #define BTN_EN2 37 + #define BTN_ENC 31 + #define SD_DETECT_PIN 49 + #define LCD_SDSS 53 + #define KILL_PIN 41 + #define BEEPER_PIN 23 + #define DOGLCD_CS 29 + #define DOGLCD_A0 27 + #define LCD_BACKLIGHT_PIN 33 #elif ENABLED(MINIPANEL) - #define BEEPER_PIN 42 + #define BEEPER_PIN 42 // Pins for DOGM SPI LCD Support - #define DOGLCD_A0 44 - #define DOGLCD_CS 66 - #define LCD_BACKLIGHT_PIN 65 // backlight LED on A11/D65 - #define SDSS 53 + #define DOGLCD_A0 44 + #define DOGLCD_CS 66 + #define LCD_BACKLIGHT_PIN 65 // backlight LED on A11/D65 + #define SDSS 53 - #define KILL_PIN 64 + #define KILL_PIN 64 // GLCD features // Uncomment screen orientation //#define LCD_SCREEN_ROT_90 //#define LCD_SCREEN_ROT_180 //#define LCD_SCREEN_ROT_270 // The encoder and click button - #define BTN_EN1 40 - #define BTN_EN2 63 - #define BTN_ENC 59 + #define BTN_EN1 40 + #define BTN_EN2 63 + #define BTN_ENC 59 // not connected to a pin - #define SD_DETECT_PIN 49 + #define SD_DETECT_PIN 49 #else // Beeper on AUX-4 - #define BEEPER_PIN 33 + #define BEEPER_PIN 33 // Buttons directly attached to AUX-2 #if ENABLED(REPRAPWORLD_KEYPAD) - #define BTN_EN1 64 - #define BTN_EN2 59 - #define BTN_ENC 63 - #define SHIFT_OUT 40 - #define SHIFT_CLK 44 - #define SHIFT_LD 42 + #define BTN_EN1 64 + #define BTN_EN2 59 + #define BTN_ENC 63 + #define SHIFT_OUT 40 + #define SHIFT_CLK 44 + #define SHIFT_LD 42 #elif ENABLED(PANEL_ONE) - #define BTN_EN1 59 // AUX2 PIN 3 - #define BTN_EN2 63 // AUX2 PIN 4 - #define BTN_ENC 49 // AUX3 PIN 7 + #define BTN_EN1 59 // AUX2 PIN 3 + #define BTN_EN2 63 // AUX2 PIN 4 + #define BTN_ENC 49 // AUX3 PIN 7 #else - #define BTN_EN1 37 - #define BTN_EN2 35 - #define BTN_ENC 31 + #define BTN_EN1 37 + #define BTN_EN2 35 + #define BTN_ENC 31 #endif #if ENABLED(G3D_PANEL) - #define SD_DETECT_PIN 49 - #define KILL_PIN 41 + #define SD_DETECT_PIN 49 + #define KILL_PIN 41 #else //#define SD_DETECT_PIN -1 // Ramps doesn't use this #endif diff --git a/Marlin/src/pins/stm32f1/pins_STM3R_MINI.h b/Marlin/src/pins/stm32f1/pins_STM3R_MINI.h index 16e665621cd9..c18642fb1df1 100644 --- a/Marlin/src/pins/stm32f1/pins_STM3R_MINI.h +++ b/Marlin/src/pins/stm32f1/pins_STM3R_MINI.h @@ -36,7 +36,7 @@ #define I2C_EEPROM // Ignore temp readings during development. -//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000 +//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000 // // Limit Switches @@ -115,9 +115,9 @@ #if HAS_SPI_LCD #if ENABLED(REPRAPWORLD_GRAPHICAL_LCD) - #define LCD_PINS_RS 49 // CS chip select /SS chip slave select - #define LCD_PINS_ENABLE 51 // SID (MOSI) - #define LCD_PINS_D4 52 // SCK (CLK) clock + #define LCD_PINS_RS 49 // CS chip select /SS chip slave select + #define LCD_PINS_ENABLE 51 // SID (MOSI) + #define LCD_PINS_D4 52 // SCK (CLK) clock #elif BOTH(NEWPANEL, PANEL_ONE) #define LCD_PINS_RS PB8 #define LCD_PINS_ENABLE PD2 @@ -133,17 +133,17 @@ #define LCD_PINS_D6 PB14 #define LCD_PINS_D7 PB15 #if DISABLED(NEWPANEL) - #define BEEPER_PIN 33 + #define BEEPER_PIN 33 // Buttons attached to a shift register // Not wired yet - //#define SHIFT_CLK 38 - //#define SHIFT_LD 42 - //#define SHIFT_OUT 40 - //#define SHIFT_EN 17 + //#define SHIFT_CLK 38 + //#define SHIFT_LD 42 + //#define SHIFT_OUT 40 + //#define SHIFT_EN 17 #endif #endif - #if ENABLED(TOUCH_BUTTONS) + #if NEED_TOUCH_PINS #define TOUCH_CS_PIN PB12 // SPI2_NSS #define TOUCH_SCK_PIN PB13 @@ -155,126 +155,126 @@ #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) - #define BEEPER_PIN 37 + #define BEEPER_PIN 37 - #define BTN_EN1 31 - #define BTN_EN2 33 - #define BTN_ENC 35 + #define BTN_EN1 31 + #define BTN_EN2 33 + #define BTN_ENC 35 - #define SD_DETECT_PIN 49 - #define KILL_PIN 41 + #define SD_DETECT_PIN 49 + #define KILL_PIN 41 #if ENABLED(BQ_LCD_SMART_CONTROLLER) - #define LCD_BACKLIGHT_PIN 39 + #define LCD_BACKLIGHT_PIN 39 #endif #elif ENABLED(REPRAPWORLD_GRAPHICAL_LCD) - #define BTN_EN1 64 - #define BTN_EN2 59 - #define BTN_ENC 63 - #define SD_DETECT_PIN 42 + #define BTN_EN1 64 + #define BTN_EN2 59 + #define BTN_ENC 63 + #define SD_DETECT_PIN 42 #elif ENABLED(LCD_I2C_PANELOLU2) - #define BTN_EN1 47 - #define BTN_EN2 43 - #define BTN_ENC 32 - #define LCD_SDSS 53 + #define BTN_EN1 47 + #define BTN_EN2 43 + #define BTN_ENC 32 + #define LCD_SDSS 53 #define SD_DETECT_PIN -1 - #define KILL_PIN 41 + #define KILL_PIN 41 #elif ENABLED(LCD_I2C_VIKI) - #define BTN_EN1 22 // https://files.panucatt.com/datasheets/viki_wiring_diagram.pdf explains 40/42. - #define BTN_EN2 7 // 22/7 are unused on RAMPS_14. 22 is unused and 7 the SERVO0_PIN on RAMPS_13. + #define BTN_EN1 22 // https://files.panucatt.com/datasheets/viki_wiring_diagram.pdf explains 40/42. + #define BTN_EN2 7 // 22/7 are unused on RAMPS_14. 22 is unused and 7 the SERVO0_PIN on RAMPS_13. #define BTN_ENC -1 - #define LCD_SDSS 53 - #define SD_DETECT_PIN 49 + #define LCD_SDSS 53 + #define SD_DETECT_PIN 49 #elif ANY(VIKI2, miniVIKI) - #define BEEPER_PIN 33 + #define BEEPER_PIN 33 // Pins for DOGM SPI LCD Support - #define DOGLCD_A0 44 - #define DOGLCD_CS 45 + #define DOGLCD_A0 44 + #define DOGLCD_CS 45 #define LCD_SCREEN_ROT_180 - #define BTN_EN1 22 - #define BTN_EN2 7 - #define BTN_ENC 39 + #define BTN_EN1 22 + #define BTN_EN2 7 + #define BTN_ENC 39 - #define SDSS 53 + #define SDSS 53 #define SD_DETECT_PIN -1 // Pin 49 for display sd interface, 72 for easy adapter board - #define KILL_PIN 31 + #define KILL_PIN 31 - #define STAT_LED_RED_PIN 32 - #define STAT_LED_BLUE_PIN 35 + #define STAT_LED_RED_PIN 32 + #define STAT_LED_BLUE_PIN 35 #elif ENABLED(ELB_FULL_GRAPHIC_CONTROLLER) - #define BTN_EN1 35 - #define BTN_EN2 37 - #define BTN_ENC 31 - #define SD_DETECT_PIN 49 - #define LCD_SDSS 53 - #define KILL_PIN 41 - #define BEEPER_PIN 23 - #define DOGLCD_CS 29 - #define DOGLCD_A0 27 - #define LCD_BACKLIGHT_PIN 33 + #define BTN_EN1 35 + #define BTN_EN2 37 + #define BTN_ENC 31 + #define SD_DETECT_PIN 49 + #define LCD_SDSS 53 + #define KILL_PIN 41 + #define BEEPER_PIN 23 + #define DOGLCD_CS 29 + #define DOGLCD_A0 27 + #define LCD_BACKLIGHT_PIN 33 #elif ENABLED(MINIPANEL) - #define BEEPER_PIN 42 + #define BEEPER_PIN 42 // Pins for DOGM SPI LCD Support - #define DOGLCD_A0 44 - #define DOGLCD_CS 66 - #define LCD_BACKLIGHT_PIN 65 // backlight LED on A11/D65 - #define SDSS 53 + #define DOGLCD_A0 44 + #define DOGLCD_CS 66 + #define LCD_BACKLIGHT_PIN 65 // backlight LED on A11/D65 + #define SDSS 53 - #define KILL_PIN 64 + #define KILL_PIN 64 // GLCD features // Uncomment screen orientation //#define LCD_SCREEN_ROT_90 //#define LCD_SCREEN_ROT_180 //#define LCD_SCREEN_ROT_270 // The encoder and click button - #define BTN_EN1 40 - #define BTN_EN2 63 - #define BTN_ENC 59 + #define BTN_EN1 40 + #define BTN_EN2 63 + #define BTN_ENC 59 // not connected to a pin - #define SD_DETECT_PIN 49 + #define SD_DETECT_PIN 49 #else // Beeper on AUX-4 - #define BEEPER_PIN 33 + #define BEEPER_PIN 33 // Buttons directly attached to AUX-2 #if ENABLED(REPRAPWORLD_KEYPAD) - #define BTN_EN1 64 - #define BTN_EN2 59 - #define BTN_ENC 63 - #define SHIFT_OUT 40 - #define SHIFT_CLK 44 - #define SHIFT_LD 42 + #define BTN_EN1 64 + #define BTN_EN2 59 + #define BTN_ENC 63 + #define SHIFT_OUT 40 + #define SHIFT_CLK 44 + #define SHIFT_LD 42 #elif ENABLED(PANEL_ONE) - #define BTN_EN1 59 // AUX2 PIN 3 - #define BTN_EN2 63 // AUX2 PIN 4 - #define BTN_ENC 49 // AUX3 PIN 7 + #define BTN_EN1 59 // AUX2 PIN 3 + #define BTN_EN2 63 // AUX2 PIN 4 + #define BTN_ENC 49 // AUX3 PIN 7 #else - #define BTN_EN1 37 - #define BTN_EN2 35 - #define BTN_ENC 31 + #define BTN_EN1 37 + #define BTN_EN2 35 + #define BTN_ENC 31 #endif #if ENABLED(G3D_PANEL) - #define SD_DETECT_PIN 49 - #define KILL_PIN 41 + #define SD_DETECT_PIN 49 + #define KILL_PIN 41 #else //#define SD_DETECT_PIN -1 // Ramps doesn't use this #endif diff --git a/Marlin/src/pins/stm32f1/pins_TRIGORILLA_PRO.h b/Marlin/src/pins/stm32f1/pins_TRIGORILLA_PRO.h index 2ca5897e9e69..598db026fd94 100644 --- a/Marlin/src/pins/stm32f1/pins_TRIGORILLA_PRO.h +++ b/Marlin/src/pins/stm32f1/pins_TRIGORILLA_PRO.h @@ -92,7 +92,7 @@ // #define HEATER_0_PIN PG12 // HEATER1 #define HEATER_BED_PIN PG11 // HOT BED -#define HEATER_BED_INVERTING true +#define HEATER_BED_INVERTING true // // Fans @@ -129,7 +129,7 @@ #define FSMC_DMA_DEV DMA2 #define FSMC_DMA_CHANNEL DMA_CH5 -#if ENABLED(TOUCH_BUTTONS) +#if NEED_TOUCH_PINS #define TOUCH_CS_PIN PB7 // SPI2_NSS #define TOUCH_SCK_PIN PA5 // SPI2_SCK #define TOUCH_MISO_PIN PA6 // SPI2_MISO diff --git a/Marlin/src/pins/stm32f4/pins_ARMED.h b/Marlin/src/pins/stm32f4/pins_ARMED.h index 232337f6df99..696241693629 100644 --- a/Marlin/src/pins/stm32f4/pins_ARMED.h +++ b/Marlin/src/pins/stm32f4/pins_ARMED.h @@ -39,7 +39,7 @@ #define DEFAULT_MACHINE_NAME BOARD_INFO_NAME #define I2C_EEPROM -#define MARLIN_EEPROM_SIZE 0x1000 // 4KB +#define MARLIN_EEPROM_SIZE 0x1000 // 4KB // // Limit Switches @@ -225,5 +225,5 @@ #define Z2_SERIAL_RX_PIN EXT4_PIN #define Z2_SERIAL_TX_PIN EXT4_PIN - #define TMC_BAUD_RATE 19200 + #define TMC_BAUD_RATE 19200 #endif diff --git a/Marlin/src/pins/stm32f4/pins_BEAST.h b/Marlin/src/pins/stm32f4/pins_BEAST.h index 676f1f8c9bfb..691b468c343a 100644 --- a/Marlin/src/pins/stm32f4/pins_BEAST.h +++ b/Marlin/src/pins/stm32f4/pins_BEAST.h @@ -36,7 +36,7 @@ #define I2C_EEPROM // Ignore temp readings during development. -//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000 +//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000 // // Steppers @@ -123,9 +123,9 @@ #if HAS_SPI_LCD #if ENABLED(REPRAPWORLD_GRAPHICAL_LCD) - #define LCD_PINS_RS 49 // CS chip select /SS chip slave select - #define LCD_PINS_ENABLE 51 // SID (MOSI) - #define LCD_PINS_D4 52 // SCK (CLK) clock + #define LCD_PINS_RS 49 // CS chip select /SS chip slave select + #define LCD_PINS_ENABLE 51 // SID (MOSI) + #define LCD_PINS_D4 52 // SCK (CLK) clock #elif BOTH(NEWPANEL, PANEL_ONE) #define LCD_PINS_RS PB8 #define LCD_PINS_ENABLE PD2 @@ -141,13 +141,13 @@ #define LCD_PINS_D6 PB14 #define LCD_PINS_D7 PB15 #if DISABLED(NEWPANEL) - #define BEEPER_PIN 33 + #define BEEPER_PIN 33 // Buttons attached to a shift register // Not wired yet - //#define SHIFT_CLK 38 - //#define SHIFT_LD 42 - //#define SHIFT_OUT 40 - //#define SHIFT_EN 17 + //#define SHIFT_CLK 38 + //#define SHIFT_LD 42 + //#define SHIFT_OUT 40 + //#define SHIFT_EN 17 #endif #endif @@ -155,126 +155,126 @@ #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) - #define BEEPER_PIN 37 + #define BEEPER_PIN 37 - #define BTN_EN1 31 - #define BTN_EN2 33 - #define BTN_ENC 35 + #define BTN_EN1 31 + #define BTN_EN2 33 + #define BTN_ENC 35 - #define SD_DETECT_PIN 49 - #define KILL_PIN 41 + #define SD_DETECT_PIN 49 + #define KILL_PIN 41 #if ENABLED(BQ_LCD_SMART_CONTROLLER) - #define LCD_BACKLIGHT_PIN 39 + #define LCD_BACKLIGHT_PIN 39 #endif #elif ENABLED(REPRAPWORLD_GRAPHICAL_LCD) - #define BTN_EN1 64 - #define BTN_EN2 59 - #define BTN_ENC 63 - #define SD_DETECT_PIN 42 + #define BTN_EN1 64 + #define BTN_EN2 59 + #define BTN_ENC 63 + #define SD_DETECT_PIN 42 #elif ENABLED(LCD_I2C_PANELOLU2) - #define BTN_EN1 47 - #define BTN_EN2 43 - #define BTN_ENC 32 - #define LCD_SDSS 53 + #define BTN_EN1 47 + #define BTN_EN2 43 + #define BTN_ENC 32 + #define LCD_SDSS 53 #define SD_DETECT_PIN -1 - #define KILL_PIN 41 + #define KILL_PIN 41 #elif ENABLED(LCD_I2C_VIKI) - #define BTN_EN1 22 // https://files.panucatt.com/datasheets/viki_wiring_diagram.pdf explains 40/42. - #define BTN_EN2 7 // 22/7 are unused on RAMPS_14. 22 is unused and 7 the SERVO0_PIN on RAMPS_13. + #define BTN_EN1 22 // https://files.panucatt.com/datasheets/viki_wiring_diagram.pdf explains 40/42. + #define BTN_EN2 7 // 22/7 are unused on RAMPS_14. 22 is unused and 7 the SERVO0_PIN on RAMPS_13. #define BTN_ENC -1 - #define LCD_SDSS 53 - #define SD_DETECT_PIN 49 + #define LCD_SDSS 53 + #define SD_DETECT_PIN 49 #elif ANY(VIKI2, miniVIKI) - #define BEEPER_PIN 33 + #define BEEPER_PIN 33 // Pins for DOGM SPI LCD Support - #define DOGLCD_A0 44 - #define DOGLCD_CS 45 + #define DOGLCD_A0 44 + #define DOGLCD_CS 45 #define LCD_SCREEN_ROT_180 - #define BTN_EN1 22 - #define BTN_EN2 7 - #define BTN_ENC 39 + #define BTN_EN1 22 + #define BTN_EN2 7 + #define BTN_ENC 39 - #define SDSS 53 + #define SDSS 53 #define SD_DETECT_PIN -1 // Pin 49 for display sd interface, 72 for easy adapter board - #define KILL_PIN 31 + #define KILL_PIN 31 - #define STAT_LED_RED_PIN 32 - #define STAT_LED_BLUE_PIN 35 + #define STAT_LED_RED_PIN 32 + #define STAT_LED_BLUE_PIN 35 #elif ENABLED(ELB_FULL_GRAPHIC_CONTROLLER) - #define BTN_EN1 35 - #define BTN_EN2 37 - #define BTN_ENC 31 - #define SD_DETECT_PIN 49 - #define LCD_SDSS 53 - #define KILL_PIN 41 - #define BEEPER_PIN 23 - #define DOGLCD_CS 29 - #define DOGLCD_A0 27 - #define LCD_BACKLIGHT_PIN 33 + #define BTN_EN1 35 + #define BTN_EN2 37 + #define BTN_ENC 31 + #define SD_DETECT_PIN 49 + #define LCD_SDSS 53 + #define KILL_PIN 41 + #define BEEPER_PIN 23 + #define DOGLCD_CS 29 + #define DOGLCD_A0 27 + #define LCD_BACKLIGHT_PIN 33 #elif ENABLED(MINIPANEL) - #define BEEPER_PIN 42 + #define BEEPER_PIN 42 // Pins for DOGM SPI LCD Support - #define DOGLCD_A0 44 - #define DOGLCD_CS 66 - #define LCD_BACKLIGHT_PIN 65 // backlight LED on A11/D65 - #define SDSS 53 + #define DOGLCD_A0 44 + #define DOGLCD_CS 66 + #define LCD_BACKLIGHT_PIN 65 // backlight LED on A11/D65 + #define SDSS 53 - #define KILL_PIN 64 + #define KILL_PIN 64 // GLCD features // Uncomment screen orientation //#define LCD_SCREEN_ROT_90 //#define LCD_SCREEN_ROT_180 //#define LCD_SCREEN_ROT_270 // The encoder and click button - #define BTN_EN1 40 - #define BTN_EN2 63 - #define BTN_ENC 59 + #define BTN_EN1 40 + #define BTN_EN2 63 + #define BTN_ENC 59 // not connected to a pin - #define SD_DETECT_PIN 49 + #define SD_DETECT_PIN 49 #else // Beeper on AUX-4 - #define BEEPER_PIN 33 + #define BEEPER_PIN 33 // Buttons directly attached to AUX-2 #if ENABLED(REPRAPWORLD_KEYPAD) - #define BTN_EN1 64 - #define BTN_EN2 59 - #define BTN_ENC 63 - #define SHIFT_OUT 40 - #define SHIFT_CLK 44 - #define SHIFT_LD 42 + #define BTN_EN1 64 + #define BTN_EN2 59 + #define BTN_ENC 63 + #define SHIFT_OUT 40 + #define SHIFT_CLK 44 + #define SHIFT_LD 42 #elif ENABLED(PANEL_ONE) - #define BTN_EN1 59 // AUX2 PIN 3 - #define BTN_EN2 63 // AUX2 PIN 4 - #define BTN_ENC 49 // AUX3 PIN 7 + #define BTN_EN1 59 // AUX2 PIN 3 + #define BTN_EN2 63 // AUX2 PIN 4 + #define BTN_ENC 49 // AUX3 PIN 7 #else - #define BTN_EN1 37 - #define BTN_EN2 35 - #define BTN_ENC 31 + #define BTN_EN1 37 + #define BTN_EN2 35 + #define BTN_ENC 31 #endif #if ENABLED(G3D_PANEL) - #define SD_DETECT_PIN 49 - #define KILL_PIN 41 + #define SD_DETECT_PIN 49 + #define KILL_PIN 41 #else //#define SD_DETECT_PIN -1 // Ramps doesn't use this #endif diff --git a/Marlin/src/pins/stm32f4/pins_BLACK_STM32F407VE.h b/Marlin/src/pins/stm32f4/pins_BLACK_STM32F407VE.h index e6350f71dcdb..dc0dab1cd15d 100644 --- a/Marlin/src/pins/stm32f4/pins_BLACK_STM32F407VE.h +++ b/Marlin/src/pins/stm32f4/pins_BLACK_STM32F407VE.h @@ -41,7 +41,7 @@ //#define I2C_EEPROM #define SRAM_EEPROM_EMULATION -#define MARLIN_EEPROM_SIZE 0x2000 // 8KB +#define MARLIN_EEPROM_SIZE 0x2000 // 8KB // // Servos diff --git a/Marlin/src/pins/stm32f4/pins_BTT_BTT002_V1_0.h b/Marlin/src/pins/stm32f4/pins_BTT_BTT002_V1_0.h index 0e81237ad91b..d3510b1ff815 100644 --- a/Marlin/src/pins/stm32f4/pins_BTT_BTT002_V1_0.h +++ b/Marlin/src/pins/stm32f4/pins_BTT_BTT002_V1_0.h @@ -42,7 +42,7 @@ #endif // Ignore temp readings during development. -//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000 +//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000 // // Limit Switches @@ -153,7 +153,7 @@ #define E0_SERIAL_RX_PIN PD7 // Reduce baud rate to improve software serial reliability - #define TMC_BAUD_RATE 19200 + #define TMC_BAUD_RATE 19200 #endif // diff --git a/Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h b/Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h index 776ab1d811b2..ea643322b67b 100644 --- a/Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h +++ b/Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h @@ -33,7 +33,7 @@ // Onboard I2C EEPROM #define I2C_EEPROM -#define MARLIN_EEPROM_SIZE 0x2000 // 8KB (24C64 ... 64Kb = 8KB) +#define MARLIN_EEPROM_SIZE 0x2000 // 8KB (24C64 ... 64Kb = 8KB) #define TP // Enable to define servo and probe pins @@ -223,7 +223,7 @@ #define E7_SERIAL_RX_PIN PH14 // Reduce baud rate to improve software serial reliability - #define TMC_BAUD_RATE 19200 + #define TMC_BAUD_RATE 19200 #endif // @@ -280,24 +280,29 @@ //#define FAN6_PIN PC9 // Fan6 //#define FAN7_PIN PE14 // Fan7 +#ifndef SDCARD_CONNECTION + #define SDCARD_CONNECTION ONBOARD +#endif + // -// By default the onboard SD (SPI1) is enabled +// By default the LCD SD (SPI2) is enabled +// Onboard SD is on a completely separate SPI bus, and requires +// overriding pins to access. // -#define CUSTOM_SPI_PINS -#if DISABLED(CUSTOM_SPI_PINS) +#if SD_CONNECTION_IS(LCD) + #define SD_DETECT_PIN PB10 #define SDSS PB12 -#endif - -// HAL SPI1 pins group -#if ENABLED(CUSTOM_SPI_PINS) +#elif SD_CONNECTION_IS(ONBOARD) + // Instruct the STM32 HAL to override the default SPI pins from the variant.h file + #define CUSTOM_SPI_PINS #define SDSS PA4 - #define SD_DETECT_PIN PC4 - #define LCD_SDSS PA4 - + #define SS_PIN SDSS #define SCK_PIN PA5 #define MISO_PIN PA6 #define MOSI_PIN PA7 - #define SS_PIN PA4 // Chip select for SD card used by Marlin + #define SD_DETECT_PIN PC4 +#elif SD_CONNECTION_IS(CUSTOM_CABLE) + #define "CUSTOM_CABLE is not a supported SDCARD_CONNECTION for this board" #endif /** @@ -319,7 +324,6 @@ #define BTN_ENC PA15 #if ENABLED(CR10_STOCKDISPLAY) - #define LCD_PINS_RS PG6 #define BTN_EN1 PC10 @@ -333,6 +337,15 @@ #undef BOARD_ST7920_DELAY_2 #undef BOARD_ST7920_DELAY_3 + #elif ENABLED(MKS_MINI_12864) + #define DOGLCD_A0 PG6 + #define DOGLCD_CS PG7 + #define BTN_EN1 PD10 + #define BTN_EN2 PH10 + + #if SD_CONNECTION_IS(ONBOARD) + #define SOFTWARE_SPI + #endif #else #define LCD_PINS_RS PA8 @@ -340,17 +353,17 @@ #define BTN_EN1 PD10 #define BTN_EN2 PH10 - #if DISABLED(CUSTOM_SPI_PINS) - #define SD_DETECT_PIN PB10 - #define LCD_SDSS PB12 - #endif - #define LCD_PINS_ENABLE PC10 #define LCD_PINS_D4 PG8 #if ENABLED(FYSETC_MINI_12864) #define DOGLCD_CS PC10 #define DOGLCD_A0 PA8 + + #if SD_CONNECTION_IS(ONBOARD) + #define SOFTWARE_SPI + #endif + //#define LCD_BACKLIGHT_PIN -1 #define LCD_RESET_PIN PG8 // Must be high or open for LCD to operate normally. #if EITHER(FYSETC_MINI_12864_1_2, FYSETC_MINI_12864_2_0) @@ -389,11 +402,6 @@ #endif #endif - //#define DOGLCD_CS PB12 - //#define DOGLCD_A0 PA8 - //#define LCD_PINS_DC PB14 - //#define DOGLCD_MOSI PB15 - #endif // HAS_SPI_LCD #undef TP diff --git a/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_common.h b/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_common.h index b6bb854d5be0..56c509562fc5 100644 --- a/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_common.h +++ b/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_common.h @@ -212,7 +212,7 @@ #define E2_SERIAL_RX_PIN PD6 // Reduce baud rate to improve software serial reliability - #define TMC_BAUD_RATE 19200 + #define TMC_BAUD_RATE 19200 #endif // @@ -250,12 +250,22 @@ // Onboard SD card // Must use soft SPI because Marlin's default hardware SPI is tied to LCD's EXP2 // -#if SD_CONNECTION_IS(ONBOARD) - #define SOFTWARE_SPI // Use soft SPI for onboard SD +#if SD_CONNECTION_IS(LCD) + #define SD_DETECT_PIN PF12 + #define SDSS PB12 +#elif SD_CONNECTION_IS(ONBOARD) + // The SKR Pro's ONBOARD SD interface is on SPI1. + // Due to a pull resistor on the clock line, it needs to use SPI Data Mode 3 to + // function with Hardware SPI. This is not currently configurable in the HAL, + // so force Software SPI to work around this issue. + #define SOFTWARE_SPI #define SDSS PA4 #define SCK_PIN PA5 #define MISO_PIN PA6 #define MOSI_PIN PB5 + #define SD_DETECT_PIN PB11 +#elif SD_CONNECTION_IS(CUSTOM_CABLE) + #define "CUSTOM_CABLE is not a supported SDCARD_CONNECTION for this board" #endif /** @@ -275,9 +285,6 @@ #if HAS_SPI_LCD #define BEEPER_PIN PG4 #define BTN_ENC PA8 - #if SD_CONNECTION_IS(LCD) - #define SDSS PB12 // Uses default hardware SPI for LCD's SD - #endif #if ENABLED(CR10_STOCKDISPLAY) #define LCD_PINS_RS PG6 @@ -296,16 +303,14 @@ #elif ENABLED(MKS_MINI_12864) #define DOGLCD_A0 PG6 #define DOGLCD_CS PG3 - + #define BTN_EN1 PG10 + #define BTN_EN2 PF11 #else #define LCD_PINS_RS PD10 #define BTN_EN1 PG10 #define BTN_EN2 PF11 - #define SD_DETECT_PIN PF12 - - #define LCD_SDSS PB12 #define LCD_PINS_ENABLE PD11 #define LCD_PINS_D4 PG2 @@ -366,7 +371,7 @@ *  ̄ ̄ * W1 */ -#define ESP_WIFI_MODULE_COM 6 // Must also set either SERIAL_PORT or SERIAL_PORT_2 to this +#define ESP_WIFI_MODULE_COM 6 // Must also set either SERIAL_PORT or SERIAL_PORT_2 to this #define ESP_WIFI_MODULE_BAUDRATE BAUDRATE // Must use same BAUDRATE as SERIAL_PORT & SERIAL_PORT_2 #define ESP_WIFI_MODULE_RESET_PIN PG0 #define ESP_WIFI_MODULE_ENABLE_PIN PG1 diff --git a/Marlin/src/pins/stm32f4/pins_FLYF407ZG.h b/Marlin/src/pins/stm32f4/pins_FLYF407ZG.h index 499edc8dc0a7..a3a5ccdff8dc 100644 --- a/Marlin/src/pins/stm32f4/pins_FLYF407ZG.h +++ b/Marlin/src/pins/stm32f4/pins_FLYF407ZG.h @@ -45,11 +45,11 @@ // the 128kB sector allocated for EEPROM emulation. #define FLASH_EEPROM_LEVELING #elif ENABLED(I2C_EEPROM) - #define MARLIN_EEPROM_SIZE 0x2000 // 8KB + #define MARLIN_EEPROM_SIZE 0x2000 // 8KB #endif #ifndef MARLIN_EEPROM_SIZE - #define MARLIN_EEPROM_SIZE 0x1000 // 4KB + #define MARLIN_EEPROM_SIZE 0x1000 // 4KB #endif // diff --git a/Marlin/src/pins/stm32f4/pins_FYSETC_S6.h b/Marlin/src/pins/stm32f4/pins_FYSETC_S6.h index 03960584fb2f..9ffedc2ac477 100644 --- a/Marlin/src/pins/stm32f4/pins_FYSETC_S6.h +++ b/Marlin/src/pins/stm32f4/pins_FYSETC_S6.h @@ -28,14 +28,14 @@ #endif #ifndef BOARD_INFO_NAME - #define BOARD_INFO_NAME "FYSETC_S6" + #define BOARD_INFO_NAME "FYSETC S6" #endif #ifndef DEFAULT_MACHINE_NAME #define DEFAULT_MACHINE_NAME BOARD_INFO_NAME #endif // Change the priority to 3. Priority 2 is for software serial. -//#define TEMP_TIMER_IRQ_PRIO 3 +//#define TEMP_TIMER_IRQ_PRIO 3 // // EEPROM Emulation @@ -51,7 +51,7 @@ // 128 kB sector allocated for EEPROM emulation. #define FLASH_EEPROM_LEVELING #elif ENABLED(I2C_EEPROM) - #define MARLIN_EEPROM_SIZE 0x1000 // 4KB + #define MARLIN_EEPROM_SIZE 0x1000 // 4KB #endif // @@ -82,7 +82,9 @@ // #define X_STEP_PIN PE11 #define X_DIR_PIN PE10 -#define X_ENABLE_PIN PE12 +#ifndef X_ENABLE_PIN + #define X_ENABLE_PIN PE12 +#endif #define X_CS_PIN PE7 #define Y_STEP_PIN PD8 @@ -118,23 +120,42 @@ // // Software serial // - #define X_SERIAL_TX_PIN PE9 - #define X_SERIAL_RX_PIN PE8 - - #define Y_SERIAL_TX_PIN PE14 - #define Y_SERIAL_RX_PIN PE13 - - #define Z_SERIAL_TX_PIN PD11 - #define Z_SERIAL_RX_PIN PD12 - - #define E0_SERIAL_TX_PIN PD3 - #define E0_SERIAL_RX_PIN PA15 - - #define E1_SERIAL_TX_PIN PC4 - #define E1_SERIAL_RX_PIN PC5 - - #define E2_SERIAL_TX_PIN PE1 - #define E2_SERIAL_RX_PIN PE0 + #ifndef X_SERIAL_TX_PIN + #define X_SERIAL_TX_PIN PE9 + #endif + #ifndef X_SERIAL_RX_PIN + #define X_SERIAL_RX_PIN PE8 + #endif + #ifndef Y_SERIAL_TX_PIN + #define Y_SERIAL_TX_PIN PE14 + #endif + #ifndef Y_SERIAL_RX_PIN + #define Y_SERIAL_RX_PIN PE13 + #endif + #ifndef Z_SERIAL_TX_PIN + #define Z_SERIAL_TX_PIN PD11 + #endif + #ifndef Z_SERIAL_RX_PIN + #define Z_SERIAL_RX_PIN PD12 + #endif + #ifndef E0_SERIAL_TX_PIN + #define E0_SERIAL_TX_PIN PD3 + #endif + #ifndef E0_SERIAL_RX_PIN + #define E0_SERIAL_RX_PIN PA15 + #endif + #ifndef E1_SERIAL_TX_PIN + #define E1_SERIAL_TX_PIN PC4 + #endif + #ifndef E1_SERIAL_RX_PIN + #define E1_SERIAL_RX_PIN PC5 + #endif + #ifndef E2_SERIAL_TX_PIN + #define E2_SERIAL_TX_PIN PE1 + #endif + #ifndef E2_SERIAL_RX_PIN + #define E2_SERIAL_RX_PIN PE0 + #endif #endif // diff --git a/Marlin/src/pins/stm32f4/pins_FYSETC_S6_V2_0.h b/Marlin/src/pins/stm32f4/pins_FYSETC_S6_V2_0.h new file mode 100644 index 000000000000..6cd970501fde --- /dev/null +++ b/Marlin/src/pins/stm32f4/pins_FYSETC_S6_V2_0.h @@ -0,0 +1,67 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * + * Based on Sprinter and grbl. + * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#define BOARD_INFO_NAME "FYSETC S6 2.0" + +// +// EEPROM Emulation +// +#if NO_EEPROM_SELECTED + #undef NO_EEPROM_SELECTED + //#define FLASH_EEPROM_EMULATION + //#define SRAM_EEPROM_EMULATION + #define I2C_EEPROM +#endif + +// +// Steppers +// +#define X_ENABLE_PIN PE9 + +#if HAS_TMC_UART + #define X_SERIAL_TX_PIN PE8 + #define Y_SERIAL_TX_PIN PC4 + #define Y_SERIAL_RX_PIN PC4 + #define Z_SERIAL_TX_PIN PD12 + #define E0_SERIAL_TX_PIN PA15 + #define E1_SERIAL_TX_PIN PC5 + #define E2_SERIAL_TX_PIN PE0 +#endif + +// +// Software SPI pins for TMC2130 stepper drivers +// +#define TMC_USE_SW_SPI +#if ENABLED(TMC_USE_SW_SPI) + #ifndef TMC_SW_MOSI + #define TMC_SW_MOSI PE14 + #endif + #ifndef TMC_SW_MISO + #define TMC_SW_MISO PE13 + #endif + #ifndef TMC_SW_SCK + #define TMC_SW_SCK PE12 + #endif +#endif + +#include "pins_FYSETC_S6.h" diff --git a/Marlin/src/pins/stm32f4/pins_GENERIC_STM32F4.h b/Marlin/src/pins/stm32f4/pins_GENERIC_STM32F4.h index b84c72466729..44b2e6b27cbc 100644 --- a/Marlin/src/pins/stm32f4/pins_GENERIC_STM32F4.h +++ b/Marlin/src/pins/stm32f4/pins_GENERIC_STM32F4.h @@ -37,11 +37,11 @@ //#define I2C_EEPROM #ifndef MARLIN_EEPROM_SIZE - #define MARLIN_EEPROM_SIZE 0x1000 // 4KB + #define MARLIN_EEPROM_SIZE 0x1000 // 4KB #endif // Ignore temp readings during development. -//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000 +//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000 // // Limit Switches diff --git a/Marlin/src/pins/stm32f4/pins_LERDGE_K.h b/Marlin/src/pins/stm32f4/pins_LERDGE_K.h index 126d571464ee..0f0d3d048c71 100644 --- a/Marlin/src/pins/stm32f4/pins_LERDGE_K.h +++ b/Marlin/src/pins/stm32f4/pins_LERDGE_K.h @@ -147,10 +147,10 @@ // Misc. Functions // #define SDSS PC11 -#define LED_PIN PA15 // Alive +#define LED_PIN PA15 // Alive #define PS_ON_PIN -1 #define KILL_PIN -1 -#define POWER_LOSS_PIN PA4 // Power-loss / nAC_FAULT +#define POWER_LOSS_PIN PA4 // Power-loss / nAC_FAULT #define SCK_PIN PC12 #define MISO_PIN PC8 diff --git a/Marlin/src/pins/stm32f4/pins_LERDGE_S.h b/Marlin/src/pins/stm32f4/pins_LERDGE_S.h index 8f9a4339cd07..2e55782edb41 100644 --- a/Marlin/src/pins/stm32f4/pins_LERDGE_S.h +++ b/Marlin/src/pins/stm32f4/pins_LERDGE_S.h @@ -27,8 +27,8 @@ #define BOARD_INFO_NAME "Lerdge S" #define DEFAULT_MACHINE_NAME "LERDGE" -#define STEP_TIMER 4 -#define TEMP_TIMER 2 +#define STEP_TIMER 4 +#define TEMP_TIMER 2 //#define I2C_EEPROM @@ -127,7 +127,7 @@ #endif // -// Prusa i3 MK2 Multi Material Multiplexer Support +// Průša i3 MK2 Multi Material Multiplexer Support // //#define E_MUX0_PIN -1 //#define E_MUX1_PIN -1 @@ -173,15 +173,15 @@ #if ENABLED(SPI_EEPROM) // Lerdge has an SPI EEPROM Winbond W25Q128 (128Mbits) https://www.pjrc.com/teensy/W25Q128FV.pdf - #define SPI_CHAN_EEPROM1 1 + #define SPI_CHAN_EEPROM1 1 #define SPI_EEPROM1_CS PB12 // datasheet: /CS pin, found with multimeter, not tested #define EEPROM_SCK PB13 // datasheet: CLK pin, found with multimeter, not tested #define EEPROM_MISO PB14 // datasheet: DO pin, found with multimeter, not tested #define EEPROM_MOSI PB15 // datasheet: DI pin, found with multimeter, not tested - #define EEPROM_PAGE_SIZE 0x1000U // 4KB (from datasheet) + #define EEPROM_PAGE_SIZE 0x1000U // 4KB (from datasheet) #define MARLIN_EEPROM_SIZE 16UL * (EEPROM_PAGE_SIZE) // Limit to 64KB for now... #else - #define MARLIN_EEPROM_SIZE 0x800U // On SD, Limit to 2KB, require this amount of RAM + #define MARLIN_EEPROM_SIZE 0x800U // On SD, Limit to 2KB, require this amount of RAM #endif // diff --git a/Marlin/src/pins/stm32f4/pins_LERDGE_X.h b/Marlin/src/pins/stm32f4/pins_LERDGE_X.h index 745d911e3a7a..da2851c1316d 100644 --- a/Marlin/src/pins/stm32f4/pins_LERDGE_X.h +++ b/Marlin/src/pins/stm32f4/pins_LERDGE_X.h @@ -27,8 +27,8 @@ #define BOARD_INFO_NAME "Lerdge X" #define DEFAULT_MACHINE_NAME "LERDGE" -#define STEP_TIMER 4 -#define TEMP_TIMER 2 +#define STEP_TIMER 4 +#define TEMP_TIMER 2 #define I2C_EEPROM @@ -115,7 +115,7 @@ #define KILL_PIN -1 // Lerdge supports auto-power off and power loss sense through a single pin. -#define POWER_LOSS_PIN PC14 // Power-loss / nAC_FAULT +#define POWER_LOSS_PIN PC14 // Power-loss / nAC_FAULT #define SCK_PIN PC12 #define MISO_PIN PC8 diff --git a/Marlin/src/pins/stm32f4/pins_RUMBA32_AUS3D.h b/Marlin/src/pins/stm32f4/pins_RUMBA32_AUS3D.h index de8d13c546dd..a60a2781495c 100644 --- a/Marlin/src/pins/stm32f4/pins_RUMBA32_AUS3D.h +++ b/Marlin/src/pins/stm32f4/pins_RUMBA32_AUS3D.h @@ -33,10 +33,10 @@ #if NO_EEPROM_SELECTED #if MB(RUMBA32_V1_0) #define FLASH_EEPROM_EMULATION - #define MARLIN_EEPROM_SIZE 0x1000 // 4KB + #define MARLIN_EEPROM_SIZE 0x1000 // 4KB #elif MB(RUMBA32_V1_1) #define I2C_EEPROM - #define MARLIN_EEPROM_SIZE 0x2000 // 8KB (24LC64T-I/OT) + #define MARLIN_EEPROM_SIZE 0x2000 // 8KB (24LC64T-I/OT) #endif #endif diff --git a/Marlin/src/pins/stm32f4/pins_RUMBA32_MKS.h b/Marlin/src/pins/stm32f4/pins_RUMBA32_MKS.h index d67962b1a61e..fe6e559bdb8e 100644 --- a/Marlin/src/pins/stm32f4/pins_RUMBA32_MKS.h +++ b/Marlin/src/pins/stm32f4/pins_RUMBA32_MKS.h @@ -37,7 +37,7 @@ #if NO_EEPROM_SELECTED #define FLASH_EEPROM_EMULATION - #define MARLIN_EEPROM_SIZE 0x1000 // 4KB + #define MARLIN_EEPROM_SIZE 0x1000 // 4KB #endif #if ENABLED(FLASH_EEPROM_EMULATION) diff --git a/Marlin/src/pins/stm32f4/pins_RUMBA32_common.h b/Marlin/src/pins/stm32f4/pins_RUMBA32_common.h index aa481a8b7433..3b513b31ca8c 100644 --- a/Marlin/src/pins/stm32f4/pins_RUMBA32_common.h +++ b/Marlin/src/pins/stm32f4/pins_RUMBA32_common.h @@ -44,8 +44,8 @@ // TIM7 is used for SERVO // TIMER_SERIAL defaults to TIM7 so we'll override it here // -#define STEP_TIMER 10 -#define TEMP_TIMER 14 +#define STEP_TIMER 10 +#define TEMP_TIMER 14 #define TIMER_SERIAL TIM9 #define HAL_TIMER_RATE F_CPU diff --git a/Marlin/src/pins/stm32f4/pins_VAKE403D.h b/Marlin/src/pins/stm32f4/pins_VAKE403D.h index 01e9da590a58..1ffe25b49927 100644 --- a/Marlin/src/pins/stm32f4/pins_VAKE403D.h +++ b/Marlin/src/pins/stm32f4/pins_VAKE403D.h @@ -31,7 +31,7 @@ #define BOARD_INFO_NAME "STM32F4 VAkE" //#define I2C_EEPROM -#define MARLIN_EEPROM_SIZE 0x1000 // 4KB +#define MARLIN_EEPROM_SIZE 0x1000 // 4KB // // Servos @@ -147,7 +147,7 @@ //#define NEOPIXEL_PIN PF13 // -// Prusa i3 MK2 Multi Material Multiplexer Support +// Průša i3 MK2 Multi Material Multiplexer Support // //#define E_MUX0_PIN PG3 //#define E_MUX1_PIN PG4 diff --git a/Marlin/src/pins/stm32f7/pins_THE_BORG.h b/Marlin/src/pins/stm32f7/pins_THE_BORG.h index fa4279920ca0..756f495e4b2e 100644 --- a/Marlin/src/pins/stm32f7/pins_THE_BORG.h +++ b/Marlin/src/pins/stm32f7/pins_THE_BORG.h @@ -31,11 +31,11 @@ #define DEFAULT_MACHINE_NAME BOARD_INFO_NAME #ifndef MARLIN_EEPROM_SIZE - #define MARLIN_EEPROM_SIZE 0x1000 + #define MARLIN_EEPROM_SIZE 0x1000 #endif // Ignore temp readings during development. -//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000 +//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000 // // Limit Switches diff --git a/Marlin/src/pins/teensy2/pins_5DPRINT.h b/Marlin/src/pins/teensy2/pins_5DPRINT.h index f473ad145e62..7ba1fbcf8db8 100644 --- a/Marlin/src/pins/teensy2/pins_5DPRINT.h +++ b/Marlin/src/pins/teensy2/pins_5DPRINT.h @@ -144,5 +144,5 @@ //DIGIPOTS slave addresses #ifndef DIGIPOT_I2C_ADDRESS_A - #define DIGIPOT_I2C_ADDRESS_A 0x2C // unshifted slave address for DIGIPOT 0x2C (0x58 <- 0x2C << 1) + #define DIGIPOT_I2C_ADDRESS_A 0x2C // unshifted slave address for DIGIPOT 0x2C (0x58 <- 0x2C << 1) #endif diff --git a/Marlin/src/pins/teensy2/pins_PRINTRBOARD_REVF.h b/Marlin/src/pins/teensy2/pins_PRINTRBOARD_REVF.h index 7bf0f334f4ee..83b17b65606c 100644 --- a/Marlin/src/pins/teensy2/pins_PRINTRBOARD_REVF.h +++ b/Marlin/src/pins/teensy2/pins_PRINTRBOARD_REVF.h @@ -158,7 +158,7 @@ #define DAC_STEPPER_MAX 3520 #define DAC_STEPPER_VREF 1 // internal Vref, gain 1x = 2.048V #define DAC_STEPPER_GAIN 0 -#define DAC_OR_ADDRESS 0x00 +#define DAC_OR_ADDRESS 0x00 // // Temperature Sensors diff --git a/Marlin/src/sd/Sd2Card.cpp b/Marlin/src/sd/Sd2Card.cpp index c56d690b2ed2..6ff2793e93df 100644 --- a/Marlin/src/sd/Sd2Card.cpp +++ b/Marlin/src/sd/Sd2Card.cpp @@ -240,8 +240,15 @@ bool Sd2Card::init(const uint8_t sckRateID, const pin_t chipSelectPin) { watchdog_refresh(); // In case init takes too long // Set pin modes - extDigitalWrite(chipSelectPin_, HIGH); // For some CPUs pinMode can write the wrong data so init desired data value first - pinMode(chipSelectPin_, OUTPUT); // Solution for #8746 by @benlye + #if ENABLED(ZONESTAR_12864OLED) + if (chipSelectPin_ != DOGLCD_CS) { + SET_OUTPUT(DOGLCD_CS); + WRITE(DOGLCD_CS, HIGH); + } + #else + extDigitalWrite(chipSelectPin_, HIGH); // For some CPUs pinMode can write the wrong data so init desired data value first + pinMode(chipSelectPin_, OUTPUT); // Solution for #8746 by @benlye + #endif spiBegin(); // Set SCK rate for initialization commands diff --git a/Marlin/src/sd/cardreader.cpp b/Marlin/src/sd/cardreader.cpp index bc1f88083a53..29f9672e92b5 100644 --- a/Marlin/src/sd/cardreader.cpp +++ b/Marlin/src/sd/cardreader.cpp @@ -36,7 +36,7 @@ #include "../module/planner.h" // for synchronize #include "../module/printcounter.h" #include "../gcode/queue.h" -#include "../module/configuration_store.h" +#include "../module/settings.h" #include "../module/stepper/indirection.h" #if ENABLED(EMERGENCY_PARSER) @@ -137,6 +137,10 @@ CardReader::CardReader() { // Disable autostart until card is initialized autostart_index = -1; + #if ENABLED(SDSUPPORT) && PIN_EXISTS(SD_DETECT) + SET_INPUT_PULLUP(SD_DETECT_PIN); + #endif + #if PIN_EXISTS(SDPOWER) OUT_WRITE(SDPOWER_PIN, HIGH); // Power the SD reader #endif @@ -376,8 +380,13 @@ void CardReader::mount() { flag.mounted = true; SERIAL_ECHO_MSG(STR_SD_CARD_OK); } - cdroot(); + if (flag.mounted) + cdroot(); + else { + spiInit(SPI_SPEED); // Return to base SPI speed + ui.set_status_P(GET_TEXT(MSG_SD_INIT_FAIL), -1); + } ui.refresh(); } diff --git a/buildroot/bin/opt_add b/buildroot/bin/opt_add index 2c1eb3000822..2306ebdaa1b8 100755 --- a/buildroot/bin/opt_add +++ b/buildroot/bin/opt_add @@ -1,3 +1,3 @@ #!/usr/bin/env bash -eval "echo '#define ${@}' >>Marlin/Configuration_adv.h" +eval "echo '#define ${@}' | cat - Marlin/Configuration.h > temp && mv temp Marlin/Configuration.h" diff --git a/buildroot/bin/use_example_configs b/buildroot/bin/use_example_configs index 4510f689f2b0..83c0f5485d2c 100755 --- a/buildroot/bin/use_example_configs +++ b/buildroot/bin/use_example_configs @@ -1,15 +1,21 @@ #!/usr/bin/env bash -restore_configs +IFS=: read -r PART1 PART2 <<< "$@" +[ -n "${PART2}" ] && { REPO="$PART1" ; RDIR="${PART2// /%20}" ; } \ + || { REPO=bugfix-2.0.x ; RDIR="${PART1// /%20}" ; } +EXAMPLES="https://raw.githubusercontent.com/MarlinFirmware/Configurations/$REPO/config/examples" + +which curl >/dev/null && TOOL='curl -L -s -S -f -o wgot' +which wget >/dev/null && TOOL='wget -q -O wgot' -EXAMPLES="https://raw.githubusercontent.com/MarlinFirmware/Configurations/bugfix-2.0.x/config/examples" +restore_configs cd Marlin -wget -q "$EXAMPLES/$@/Configuration.h" -O wgot && mv wgot Configuration.h -wget -q "$EXAMPLES/$@/Configuration_adv.h" -O wgot && mv wgot Configuration_adv.h -wget -q "$EXAMPLES/$@/_Bootscreen.h" -O wgot && mv wgot _Bootscreen.h -wget -q "$EXAMPLES/$@/_Statusscreen.h" -O wgot && mv wgot _Statusscreen.h -rm -f wgot +$TOOL "$EXAMPLES/$RDIR/Configuration.h" >/dev/null 2>&1 && mv wgot Configuration.h +$TOOL "$EXAMPLES/$RDIR/Configuration_adv.h" >/dev/null 2>&1 && mv wgot Configuration_adv.h +$TOOL "$EXAMPLES/$RDIR/_Bootscreen.h" >/dev/null 2>&1 && mv wgot _Bootscreen.h +$TOOL "$EXAMPLES/$RDIR/_Statusscreen.h" >/dev/null 2>&1 && mv wgot _Statusscreen.h +rm -f wgot cd - >/dev/null diff --git a/buildroot/share/PlatformIO/scripts/common-dependencies.h b/buildroot/share/PlatformIO/scripts/common-dependencies.h index a1f8b095add7..c41027003e9e 100644 --- a/buildroot/share/PlatformIO/scripts/common-dependencies.h +++ b/buildroot/share/PlatformIO/scripts/common-dependencies.h @@ -65,3 +65,94 @@ #ifdef HAL_PATH #include HAL_PATH(../../../../Marlin/src/HAL, inc/Conditionals_post.h) #endif + +// +// Conditionals only used for [features] +// +#if ENABLED(SR_LCD_3W_NL) + // Feature checks for SR_LCD_3W_NL +#elif EITHER(LCD_I2C_TYPE_MCP23017, LCD_I2C_TYPE_MCP23008) + #define USES_LIQUIDTWI2 +#elif ANY(HAS_CHARACTER_LCD, LCD_I2C_TYPE_PCF8575, LCD_I2C_TYPE_PCA8574, SR_LCD_2W_NL, LCM1602) + #define USES_LIQUIDCRYSTAL +#endif + +#if BOTH(ANYCUBIC_LCD_I3MEGA, EXTENSIBLE_UI) + #define HAS_ANYCUBIC_TFT_EXTUI +#endif + +#if SAVED_POSITIONS + #define HAS_SAVED_POSITIONS +#endif + +#if ENABLED(HOST_PROMPT_SUPPORT) && DISABLED(EMERGENCY_PARSER) + #define HAS_GCODE_M876 +#endif + +#if PREHEAT_COUNT + #define HAS_PREHEAT_COUNT +#endif + +#if EXTRUDERS + #define HAS_EXTRUDERS + #if EXTRUDERS > 1 + #define HAS_MULTI_EXTRUDER + #endif +#endif + +#if HAS_LCD_MENU + #if ENABLED(BACKLASH_GCODE) + #define HAS_MENU_BACKLASH + #endif + #if ENABLED(LEVEL_BED_CORNERS) + #define HAS_MENU_BED_CORNERS + #endif + #if ENABLED(CANCEL_OBJECTS) + #define HAS_MENU_CANCELOBJECT + #endif + #if ENABLED(CUSTOM_USER_MENUS) + #define HAS_MENU_CUSTOM + #endif + #if EITHER(DELTA_CALIBRATION_MENU, DELTA_AUTO_CALIBRATION) + #define HAS_MENU_DELTA_CALIBRATE + #endif + #if EITHER(LED_CONTROL_MENU, CASE_LIGHT_MENU) + #define HAS_MENU_LED + #endif + #if ENABLED(ADVANCED_PAUSE_FEATURE) + #define HAS_MENU_FILAMENT + #endif + #if ENABLED(SDSUPPORT) + #define HAS_MENU_MEDIA + #endif + #if ENABLED(MIXING_EXTRUDER) + #define HAS_MENU_MIXER + #endif + #if ENABLED(POWER_LOSS_RECOVERY) + #define HAS_MENU_JOB_RECOVERY + #endif + #if HAS_POWER_MONITOR + #define HAS_MENU_POWER_MONITOR + #endif + #if HAS_CUTTER + #define HAS_MENU_CUTTER + #endif + #if HAS_TEMPERATURE + #define HAS_MENU_TEMPERATURE + #endif + #if ENABLED(MMU2_MENUS) + #define HAS_MENU_MMU2 + #endif + #if ENABLED(PASSWORD_FEATURE) + #define HAS_MENU_PASSWORD + #endif + #if HAS_TRINAMIC_CONFIG + #define HAS_MENU_TMC + #endif + #if ENABLED(TOUCH_SCREEN_CALIBRATION) + #define HAS_MENU_TOUCH_SCREEN + #endif + #if ENABLED(AUTO_BED_LEVELING_UBL) + #define HAS_MENU_UBL + #endif +#endif diff --git a/buildroot/share/PlatformIO/scripts/common-dependencies.py b/buildroot/share/PlatformIO/scripts/common-dependencies.py index 37efaa37436f..def3bf40c225 100644 --- a/buildroot/share/PlatformIO/scripts/common-dependencies.py +++ b/buildroot/share/PlatformIO/scripts/common-dependencies.py @@ -6,42 +6,80 @@ import os import re try: - import configparser + import configparser except ImportError: - import ConfigParser as configparser -from platformio.managers.package import PackageManager + import ConfigParser as configparser +try: + # PIO < 4.4 + from platformio.managers.package import PackageManager +except ImportError: + # PIO >= 4.4 + from platformio.package.meta import PackageSpec as PackageManager Import("env") -FEATURE_DEPENDENCIES = {} +#print(env.Dump()) + +try: + verbose = int(env.GetProjectOption('custom_verbose')) +except: + verbose = 0 + +def blab(str): + if verbose: + print(str) + +def parse_pkg_uri(spec): + if PackageManager.__name__ == 'PackageSpec': + return PackageManager(spec).name + else: + name, _, _ = PackageManager.parse_pkg_uri(spec) + return name + +FEATURE_CONFIG = {} + +def add_to_feat_cnf(feature, flines): + feat = FEATURE_CONFIG[feature] + atoms = re.sub(',\\s*', '\n', flines).strip().split('\n') + for dep in atoms: + parts = dep.split('=') + name = parts.pop(0) + rest = '='.join(parts) + if name in ['extra_scripts', 'src_filter', 'lib_ignore']: + feat[name] = rest + else: + feat['lib_deps'] += [dep] def load_config(): config = configparser.ConfigParser() config.read("platformio.ini") items = config.items('features') for key in items: - ukey = key[0].upper() - if not ukey in FEATURE_DEPENDENCIES: - FEATURE_DEPENDENCIES[ukey] = { - 'lib_deps': [] - } - deps = re.sub(',\\s*', '\n', key[1]).strip().split('\n') - for dep in deps: - parts = dep.split('=') - name = parts.pop(0) - rest = '='.join(parts) - if name in ['extra_scripts', 'src_filter', 'lib_ignore']: - FEATURE_DEPENDENCIES[ukey][name] = rest - else: - FEATURE_DEPENDENCIES[ukey]['lib_deps'] += [dep] + feature = key[0].upper() + if not feature in FEATURE_CONFIG: + FEATURE_CONFIG[feature] = { 'lib_deps': [] } + add_to_feat_cnf(feature, key[1]) + + # Add options matching custom_marlin.MY_OPTION to the pile + all_opts = env.GetProjectOptions() + for n in all_opts: + mat = re.match(r'custom_marlin\.(.+)', n[0]) + if mat: + try: + val = env.GetProjectOption(n[0]) + except: + val = None + if val: + add_to_feat_cnf(mat.group(1).upper(), val) def get_all_known_libs(): known_libs = [] - for feature in FEATURE_DEPENDENCIES: - if not 'lib_deps' in FEATURE_DEPENDENCIES[feature]: + for feature in FEATURE_CONFIG: + feat = FEATURE_CONFIG[feature] + if not 'lib_deps' in feat: continue - for dep in FEATURE_DEPENDENCIES[feature]['lib_deps']: - name, _, _ = PackageManager.parse_pkg_uri(dep) + for dep in feat['lib_deps']: + name = parse_pkg_uri(dep) known_libs.append(name) return known_libs @@ -49,7 +87,7 @@ def get_all_env_libs(): env_libs = [] lib_deps = env.GetProjectOption('lib_deps') for dep in lib_deps: - name, _, _ = PackageManager.parse_pkg_uri(dep) + name = parse_pkg_uri(dep) env_libs.append(name) return env_libs @@ -64,35 +102,38 @@ def force_ignore_unused_libs(): known_libs = get_all_known_libs() diff = (list(set(known_libs) - set(env_libs))) lib_ignore = env.GetProjectOption('lib_ignore') + diff - print("Ignoring libs:", lib_ignore) + if verbose: + print("Ignore libraries:", lib_ignore) set_env_field('lib_ignore', lib_ignore) -def install_features_dependencies(): +def apply_features_config(): load_config() - for feature in FEATURE_DEPENDENCIES: + for feature in FEATURE_CONFIG: if not env.MarlinFeatureIsEnabled(feature): continue - if 'lib_deps' in FEATURE_DEPENDENCIES[feature]: - print("Adding lib_deps for %s... " % feature) + feat = FEATURE_CONFIG[feature] + + if 'lib_deps' in feat and len(feat['lib_deps']): + blab("Adding lib_deps for %s... " % feature) - # deps to add + # feat to add deps_to_add = {} - for dep in FEATURE_DEPENDENCIES[feature]['lib_deps']: - name, _, _ = PackageManager.parse_pkg_uri(dep) + for dep in feat['lib_deps']: + name = parse_pkg_uri(dep) deps_to_add[name] = dep # Does the env already have the dependency? deps = env.GetProjectOption('lib_deps') for dep in deps: - name, _, _ = PackageManager.parse_pkg_uri(dep) + name = parse_pkg_uri(dep) if name in deps_to_add: del deps_to_add[name] # Are there any libraries that should be ignored? lib_ignore = env.GetProjectOption('lib_ignore') for dep in deps: - name, _, _ = PackageManager.parse_pkg_uri(dep) + name = parse_pkg_uri(dep) if name in deps_to_add: del deps_to_add[name] @@ -101,27 +142,27 @@ def install_features_dependencies(): # Only add the missing dependencies set_env_field('lib_deps', deps + list(deps_to_add.values())) - if 'extra_scripts' in FEATURE_DEPENDENCIES[feature]: - print("Executing extra_scripts for %s... " % feature) - env.SConscript(FEATURE_DEPENDENCIES[feature]['extra_scripts'], exports="env") + if 'extra_scripts' in feat: + blab("Running extra_scripts for %s... " % feature) + env.SConscript(feat['extra_scripts'], exports="env") - if 'src_filter' in FEATURE_DEPENDENCIES[feature]: - print("Adding src_filter for %s... " % feature) + if 'src_filter' in feat: + blab("Adding src_filter for %s... " % feature) src_filter = ' '.join(env.GetProjectOption('src_filter')) # first we need to remove the references to the same folder - my_srcs = re.findall( r'[+-](<.*?>)', FEATURE_DEPENDENCIES[feature]['src_filter']) + my_srcs = re.findall( r'[+-](<.*?>)', feat['src_filter']) cur_srcs = re.findall( r'[+-](<.*?>)', src_filter) for d in my_srcs: if d in cur_srcs: src_filter = re.sub(r'[+-]' + d, '', src_filter) - src_filter = FEATURE_DEPENDENCIES[feature]['src_filter'] + ' ' + src_filter + src_filter = feat['src_filter'] + ' ' + src_filter set_env_field('src_filter', [src_filter]) env.Replace(SRC_FILTER=src_filter) - if 'lib_ignore' in FEATURE_DEPENDENCIES[feature]: - print("Ignoring libs for %s... " % feature) - lib_ignore = env.GetProjectOption('lib_ignore') + [FEATURE_DEPENDENCIES[feature]['lib_ignore']] + if 'lib_ignore' in feat: + blab("Adding lib_ignore for %s... " % feature) + lib_ignore = env.GetProjectOption('lib_ignore') + [feat['lib_ignore']] set_env_field('lib_ignore', lib_ignore) # @@ -130,51 +171,58 @@ def install_features_dependencies(): ENV_BUILD_PATH = os.path.join(env.Dictionary('PROJECT_BUILD_DIR'), env['PIOENV']) GCC_PATH_CACHE = os.path.join(ENV_BUILD_PATH, ".gcc_path") def search_compiler(): + try: + filepath = env.GetProjectOption('custom_gcc') + blab('Getting compiler from env') + return filepath + except: + pass + if os.path.exists(GCC_PATH_CACHE): - print('Getting g++ path from cache') + blab('Getting g++ path from cache') with open(GCC_PATH_CACHE, 'r') as f: return f.read() - # PlatformIO inserts the toolchain bin folder on the front of the $PATH # Find the current platform compiler by searching the $PATH + # which will be in a platformio toolchain bin folder + path_regex = re.escape(env['PROJECT_PACKAGES_DIR']) + gcc = "g++" if env['PLATFORM'] == 'win32': path_separator = ';' - path_regex = r'platformio\\packages.*\\bin' - gcc = "g++.exe" + path_regex += r'.*\\bin' + gcc += ".exe" else: path_separator = ':' - path_regex = r'platformio/packages.*/bin' - gcc = "g++" + path_regex += r'/.+/bin' # Search for the compiler - for path in env['ENV']['PATH'].split(path_separator): - if not re.search(path_regex, path): + for pathdir in env['ENV']['PATH'].split(path_separator): + if not re.search(path_regex, pathdir, re.IGNORECASE): continue - for file in os.listdir(path): - if not file.endswith(gcc): + for filepath in os.listdir(pathdir): + if not filepath.endswith(gcc): continue # Cache the g++ path to no search always if os.path.exists(ENV_BUILD_PATH): - print('Caching g++ for current env') + blab('Caching g++ for current env') with open(GCC_PATH_CACHE, 'w+') as f: - f.write(file) + f.write(filepath) - return file + return filepath - file = env.get('CXX') - print("Couldn't find a compiler! Fallback to", file) - return file + filepath = env.get('CXX') + blab("Couldn't find a compiler! Fallback to %s" % filepath) + return filepath # # Use the compiler to get a list of all enabled features # def load_marlin_features(): - if "MARLIN_FEATURES" in env: + if 'MARLIN_FEATURES' in env: return # Process defines - #print(env.Dump()) build_flags = env.get('BUILD_FLAGS') build_flags = env.ParseFlagsExtended(build_flags) @@ -192,23 +240,34 @@ def load_marlin_features(): cmd += ['-w -dM -E -x c++ buildroot/share/PlatformIO/scripts/common-dependencies.h'] cmd = ' '.join(cmd) - print(cmd) + blab(cmd) define_list = subprocess.check_output(cmd, shell=True).splitlines() marlin_features = {} for define in define_list: feature = define[8:].strip().decode().split(' ') feature, definition = feature[0], ' '.join(feature[1:]) marlin_features[feature] = definition - env["MARLIN_FEATURES"] = marlin_features + env['MARLIN_FEATURES'] = marlin_features # # Return True if a matching feature is enabled # def MarlinFeatureIsEnabled(env, feature): load_marlin_features() - r = re.compile(feature) - matches = list(filter(r.match, env["MARLIN_FEATURES"])) - return len(matches) > 0 + r = re.compile('^' + feature + '$') + found = list(filter(r.match, env['MARLIN_FEATURES'])) + + # Defines could still be 'false' or '0', so check + some_on = False + if len(found): + for f in found: + val = env['MARLIN_FEATURES'][f] + if val in [ '', '1', 'true' ]: + some_on = True + elif val in env['MARLIN_FEATURES']: + some_on = env.MarlinFeatureIsEnabled(val) + + return some_on # # Add a method for other PIO scripts to query enabled features @@ -218,5 +277,5 @@ def MarlinFeatureIsEnabled(env, feature): # # Add dependencies for enabled Marlin features # -install_features_dependencies() +apply_features_config() force_ignore_unused_libs() diff --git a/buildroot/share/PlatformIO/scripts/copy_marlin_variant_to_framework.py b/buildroot/share/PlatformIO/scripts/copy_marlin_variant_to_framework.py index 02957ec47026..f7d3f0d03ab7 100644 --- a/buildroot/share/PlatformIO/scripts/copy_marlin_variant_to_framework.py +++ b/buildroot/share/PlatformIO/scripts/copy_marlin_variant_to_framework.py @@ -1,6 +1,19 @@ import os,shutil from SCons.Script import DefaultEnvironment from platformio import util +try: + # PIO < 4.4 + from platformio.managers.package import PackageManager +except ImportError: + # PIO >= 4.4 + from platformio.package.meta import PackageSpec as PackageManager + +def parse_pkg_uri(spec): + if PackageManager.__name__ == 'PackageSpec': + return PackageManager(spec).name + else: + name, _, _ = PackageManager.parse_pkg_uri(spec) + return name def copytree(src, dst, symlinks=False, ignore=None): for item in os.listdir(src): @@ -16,7 +29,18 @@ def copytree(src, dst, symlinks=False, ignore=None): board = env.BoardConfig() variant = board.get("build.variant") -FRAMEWORK_DIR = platform.get_package_dir("framework-arduinoststm32") +platform_packages = env.GetProjectOption('platform_packages') +# if there's no framework defined, take it from the class name of platform +framewords = { + "Ststm32Platform": "framework-arduinoststm32", + "AtmelavrPlatform": "framework-arduino-avr" +} +if len(platform_packages) == 0: + platform_name = framewords[platform.__class__.__name__] +else: + platform_name = parse_pkg_uri(platform_packages[0]) + +FRAMEWORK_DIR = platform.get_package_dir(platform_name) assert os.path.isdir(FRAMEWORK_DIR) assert os.path.isdir("buildroot/share/PlatformIO/variants") diff --git a/buildroot/share/PlatformIO/scripts/mks_encrypt.py b/buildroot/share/PlatformIO/scripts/mks_encrypt.py new file mode 100644 index 000000000000..0d53cdfbe934 --- /dev/null +++ b/buildroot/share/PlatformIO/scripts/mks_encrypt.py @@ -0,0 +1,32 @@ +import os,sys +Import("env") + +from SCons.Script import DefaultEnvironment +board = DefaultEnvironment().BoardConfig() + +# Encrypt ${PROGNAME}.bin and save it as build.firmware ('Robin.bin') +def encrypt(source, target, env): + key = [0xA3, 0xBD, 0xAD, 0x0D, 0x41, 0x11, 0xBB, 0x8D, 0xDC, 0x80, 0x2D, 0xD0, 0xD2, 0xC4, 0x9B, 0x1E, 0x26, 0xEB, 0xE3, 0x33, 0x4A, 0x15, 0xE4, 0x0A, 0xB3, 0xB1, 0x3C, 0x93, 0xBB, 0xAF, 0xF7, 0x3E] + + firmware = open(target[0].path, "rb") + robin = open(target[0].dir.path +'/'+ board.get("build.firmware"), "wb") + length = os.path.getsize(target[0].path) + position = 0 + try: + while position < length: + byte = firmware.read(1) + if position >= 320 and position < 31040: + byte = chr(ord(byte) ^ key[position & 31]) + if sys.version_info[0] > 2: + byte = bytes(byte, 'latin1') + robin.write(byte) + position += 1 + finally: + firmware.close() + robin.close() + +if 'firmware' in board.get("build").keys(): + env.AddPostAction("$BUILD_DIR/${PROGNAME}.bin", encrypt); +else: + print("You need to define output file via board_build.firmware = 'filename' parameter", file=sys.stderr) + exit(1); diff --git a/buildroot/share/PlatformIO/variants/CHITU_F103/wirish/boards.cpp b/buildroot/share/PlatformIO/variants/CHITU_F103/wirish/boards.cpp index 93ae231518c3..2210e9844c53 100755 --- a/buildroot/share/PlatformIO/variants/CHITU_F103/wirish/boards.cpp +++ b/buildroot/share/PlatformIO/variants/CHITU_F103/wirish/boards.cpp @@ -123,7 +123,7 @@ static void setup_clocks(void) { #if !USE_HSI_CLOCK // Enable HSE, and wait until it's ready. rcc_turn_on_clk(RCC_CLK_HSE); - while (!rcc_is_clk_ready(RCC_CLK_HSE)) + while(!rcc_is_clk_ready(RCC_CLK_HSE)) ; #endif // Configure AHBx, APBx, etc. prescalers and the main PLL. diff --git a/buildroot/share/PlatformIO/variants/FLY_F407ZG/PeripheralPins.c b/buildroot/share/PlatformIO/variants/FLY_F407ZG/PeripheralPins.c index d621325aa3a4..bd2a47062c19 100644 --- a/buildroot/share/PlatformIO/variants/FLY_F407ZG/PeripheralPins.c +++ b/buildroot/share/PlatformIO/variants/FLY_F407ZG/PeripheralPins.c @@ -31,7 +31,6 @@ #include #include - /* ===== * Note: Commented lines are alternative possibilities which are not used per default. * If you change them, you will have to know what you do @@ -41,46 +40,46 @@ //*** ADC *** #ifdef HAL_ADC_MODULE_ENABLED -const PinMap PinMap_ADC[] = { +WEAK const PinMap PinMap_ADC[] = { {PA_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC1_IN0 - // {PA_0, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC2_IN0 - // {PA_0, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC3_IN0 + //{PA_0, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC2_IN0 + //{PA_0, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC3_IN0 //{PA_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC1_IN1 - // {PA_1, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC2_IN1 - // {PA_1, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC3_IN1 - // {PA_2, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC1_IN2 + //{PA_1, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC2_IN1 + //{PA_1, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC3_IN1 + //{PA_2, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC1_IN2 //{PA_2, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC2_IN2 - // {PA_2, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC3_IN2 - // {PA_3, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC1_IN3 - // {PA_3, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC2_IN3 + //{PA_2, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC3_IN2 + //{PA_3, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC1_IN3 + //{PA_3, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC2_IN3 //{PA_3, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC3_IN3 //{PA_4, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC1_IN4 - // {PA_4, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC2_IN4 - // {PA_5, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC1_IN5 + //{PA_4, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC2_IN4 + //{PA_5, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC1_IN5 //{PA_5, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC2_IN5 //{PA_6, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC1_IN6 - // {PA_6, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC2_IN6 + //{PA_6, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC2_IN6 //{PA_7, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC1_IN7 - // {PA_7, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC2_IN7 - // {PB_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC1_IN8 + //{PA_7, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC2_IN7 + //{PB_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC1_IN8 //{PB_0, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC2_IN8 //{PB_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC1_IN9 - // {PB_1, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC2_IN9 - // {PC_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC1_IN10 - // {PC_0, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC2_IN10 + //{PB_1, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC2_IN9 + //{PC_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC1_IN10 + //{PC_0, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC2_IN10 {PC_0, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC3_IN10 {PC_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 11, 0)}, // ADC1_IN11 - // {PC_1, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 11, 0)}, // ADC2_IN11 - // {PC_1, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 11, 0)}, // ADC3_IN11 - // {PC_2, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 12, 0)}, // ADC1_IN12 + //{PC_1, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 11, 0)}, // ADC2_IN11 + //{PC_1, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 11, 0)}, // ADC3_IN11 + //{PC_2, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 12, 0)}, // ADC1_IN12 //{PC_2, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 12, 0)}, // ADC2_IN12 - // {PC_2, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 12, 0)}, // ADC3_IN12 - // {PC_3, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 13, 0)}, // ADC1_IN13 - // {PC_3, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 13, 0)}, // ADC2_IN13 + //{PC_2, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 12, 0)}, // ADC3_IN12 + //{PC_3, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 13, 0)}, // ADC1_IN13 + //{PC_3, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 13, 0)}, // ADC2_IN13 //{PC_3, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 13, 0)}, // ADC3_IN13 - // {PC_4, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 14, 0)}, // ADC1_IN14 + //{PC_4, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 14, 0)}, // ADC1_IN14 //{PC_4, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 14, 0)}, // ADC2_IN14 - // {PC_5, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 15, 0)}, // ADC1_IN15 + //{PC_5, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 15, 0)}, // ADC1_IN15 //{PC_5, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 15, 0)}, // ADC2_IN15 {PF_3, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC3_IN9 {PF_4, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 14, 0)}, // ADC3_IN14 @@ -88,7 +87,7 @@ const PinMap PinMap_ADC[] = { //{PF_6, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC3_IN4 //{PF_7, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC3_IN5 //{PF_8, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC3_IN6 - // {PF_9, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC3_IN7 + //{PF_9, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC3_IN7 {PF_10, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC3_IN8 {NC, NP, 0} }; @@ -97,9 +96,9 @@ const PinMap PinMap_ADC[] = { //*** DAC *** #ifdef HAL_DAC_MODULE_ENABLED -const PinMap PinMap_DAC[] = { - // {PA_4, DAC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // DAC_OUT1 - // {PA_5, DAC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // DAC_OUT2 +WEAK const PinMap PinMap_DAC[] = { + //{PA_4, DAC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // DAC_OUT1 + //{PA_5, DAC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // DAC_OUT2 {NC, NP, 0} }; #endif @@ -107,7 +106,7 @@ const PinMap PinMap_DAC[] = { //*** I2C *** #ifdef HAL_I2C_MODULE_ENABLED -const PinMap PinMap_I2C_SDA[] = { +WEAK const PinMap PinMap_I2C_SDA[] = { {PB_7, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, //{PB_9, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, //{PB_11, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, @@ -115,10 +114,8 @@ const PinMap PinMap_I2C_SDA[] = { //{PF_0, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, {NC, NP, 0} }; -#endif -#ifdef HAL_I2C_MODULE_ENABLED -const PinMap PinMap_I2C_SCL[] = { +WEAK const PinMap PinMap_I2C_SCL[] = { //{PA_8, I2C3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C3)}, {PB_6, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, //{PB_8, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, @@ -131,94 +128,79 @@ const PinMap PinMap_I2C_SCL[] = { //*** PWM *** #ifdef HAL_TIM_MODULE_ENABLED -const PinMap PinMap_PWM[] = { - - - - {PA_1, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 2, 0)}, // TIM2_CH2 - {PA_2, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 3, 0)}, // TIM2_CH3 - {PA_8, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 0)}, // TIM1_CH1 - {PB_8, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 3, 0)}, // TIM4_CH3 - {PB_9, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 4, 0)}, // TIM4_CH4 - {PB_11, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 4, 0)}, // TIM2_CH4 - {PC_6, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1 - {PC_7, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2 - {PD_12, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 1, 0)}, // TIM4_CH1 - {PD_13, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 2, 0)}, // TIM4_CH2 - {PD_14, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 3, 0)}, // TIM4_CH3 - {PD_15, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 4, 0)}, // TIM4_CH4 - {PE_5, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 1, 0)}, // TIM9_CH1 - {PE_6, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 2, 0)}, // TIM9_CH2 - //{PE_11, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 0)}, // TIM1_CH2 - {PE_13, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 0)}, // TIM1_CH3 - {PF_6, TIM10, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM10, 1, 0)}, // TIM10_CH1 - {PF_7, TIM11, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM11, 1, 0)}, // TIM11_CH1 - {PF_8, TIM13, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM13, 1, 0)}, // TIM13_CH1 - {PF_9, TIM14, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM14, 1, 0)}, // TIM14_CH1 +WEAK const PinMap PinMap_PWM[] = { + {PA_1, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 2, 0)}, // TIM2_CH2 + {PA_2, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 3, 0)}, // TIM2_CH3 + {PA_8, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 0)}, // TIM1_CH1 + {PB_8, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 3, 0)}, // TIM4_CH3 + {PB_9, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 4, 0)}, // TIM4_CH4 + {PB_11, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 4, 0)}, // TIM2_CH4 + {PC_6, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1 + {PC_7, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2 + {PD_12, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 1, 0)}, // TIM4_CH1 + {PD_13, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 2, 0)}, // TIM4_CH2 + {PD_14, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 3, 0)}, // TIM4_CH3 + {PD_15, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 4, 0)}, // TIM4_CH4 + {PE_5, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 1, 0)}, // TIM9_CH1 + {PE_6, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 2, 0)}, // TIM9_CH2 + //{PE_11, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 0)}, // TIM1_CH2 + {PE_13, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 0)}, // TIM1_CH3 + {PF_6, TIM10, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM10, 1, 0)}, // TIM10_CH1 + {PF_7, TIM11, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM11, 1, 0)}, // TIM11_CH1 + {PF_8, TIM13, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM13, 1, 0)}, // TIM13_CH1 + {PF_9, TIM14, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM14, 1, 0)}, // TIM14_CH1 //{PA_0, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1 - // {PA_0, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 1, 0)}, // TIM5_CH1 - - // {PA_1, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 2, 0)}, // TIM5_CH2 - - // {PA_2, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 3, 0)}, // TIM5_CH3 - // {PA_2, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 1, 0)}, // TIM9_CH1 + //{PA_0, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 1, 0)}, // TIM5_CH1 + //{PA_1, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 2, 0)}, // TIM5_CH2 + //{PA_2, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 3, 0)}, // TIM5_CH3 + //{PA_2, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 1, 0)}, // TIM9_CH1 //{PA_3, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 4, 0)}, // TIM2_CH4 - // {PA_3, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 4, 0)}, // TIM5_CH4 - // {PA_3, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 2, 0)}, // TIM9_CH2 - // {PA_5, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1 - // {PA_5, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 1)}, // TIM8_CH1N - // {PA_6, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1 - // {PA_6, TIM13, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM13, 1, 0)}, // TIM13_CH1 - // {PA_7, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N -// {PA_7, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2 - // {PA_7, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 1)}, // TIM8_CH1N - // {PA_7, TIM14, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM14, 1, 0)}, // TIM14_CH1 - - // {PA_9, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 0)}, // TIM1_CH2 - // {PA_10, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 0)}, // TIM1_CH3 - // {PA_11, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 4, 0)}, // TIM1_CH4 - // {PA_15, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1 - // {PB_0, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N -// {PB_0, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 3, 0)}, // TIM3_CH3 - // {PB_0, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 1)}, // TIM8_CH2N - // {PB_1, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N - // {PB_1, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 4, 0)}, // TIM3_CH4 - // {PB_1, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 1)}, // TIM8_CH3N - // {PB_3, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 2, 0)}, // TIM2_CH2 + //{PA_3, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 4, 0)}, // TIM5_CH4 + //{PA_3, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 2, 0)}, // TIM9_CH2 + //{PA_5, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1 + //{PA_5, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 1)}, // TIM8_CH1N + //{PA_6, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1 + //{PA_6, TIM13, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM13, 1, 0)}, // TIM13_CH1 + //{PA_7, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N + //{PA_7, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2 + //{PA_7, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 1)}, // TIM8_CH1N + //{PA_7, TIM14, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM14, 1, 0)}, // TIM14_CH1 + //{PA_9, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 0)}, // TIM1_CH2 + //{PA_10, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 0)}, // TIM1_CH3 + //{PA_11, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 4, 0)}, // TIM1_CH4 + //{PA_15, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1 + //{PB_0, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N + //{PB_0, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 3, 0)}, // TIM3_CH3 + //{PB_0, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 1)}, // TIM8_CH2N + //{PB_1, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N + //{PB_1, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 4, 0)}, // TIM3_CH4 + //{PB_1, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 1)}, // TIM8_CH3N + //{PB_3, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 2, 0)}, // TIM2_CH2 //{PB_4, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1 //{PB_5, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2 //{PB_6, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 1, 0)}, // TIM4_CH1 //{PB_7, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 2, 0)}, // TIM4_CH2 - - // {PB_8, TIM10, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM10, 1, 0)}, // TIM10_CH1 - - // {PB_9, TIM11, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM11, 1, 0)}, // TIM11_CH1 - // {PB_10, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 3, 0)}, // TIM2_CH3 - - // {PB_13, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N - // {PB_14, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N + //{PB_8, TIM10, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM10, 1, 0)}, // TIM10_CH1 + //{PB_9, TIM11, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM11, 1, 0)}, // TIM11_CH1 + //{PB_10, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 3, 0)}, // TIM2_CH3 + //{PB_13, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N + //{PB_14, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N //{PB_14, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 1)}, // TIM8_CH2N //{PB_14, TIM12, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM12, 1, 0)}, // TIM12_CH1 //{PB_15, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N - // {PB_15, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 1)}, // TIM8_CH3N - // {PB_15, TIM12, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM12, 2, 0)}, // TIM12_CH2 - + //{PB_15, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 1)}, // TIM8_CH3N + //{PB_15, TIM12, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM12, 2, 0)}, // TIM12_CH2 //{PC_6, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 0)}, // TIM8_CH1 - //{PC_7, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 0)}, // TIM8_CH2 - // {PC_8, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 3, 0)}, // TIM3_CH3 - // {PC_8, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 0)}, // TIM8_CH3 - // {PC_9, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 4, 0)}, // TIM3_CH4 - // {PC_9, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 4, 0)}, // TIM8_CH4 - + //{PC_8, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 3, 0)}, // TIM3_CH3 + //{PC_8, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 0)}, // TIM8_CH3 + //{PC_9, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 4, 0)}, // TIM3_CH4 + //{PC_9, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 4, 0)}, // TIM8_CH4 //{PE_8, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N //{PE_9, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 0)}, // TIM1_CH1 //{PE_10, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N - - // {PE_12, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N - + //{PE_12, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N //{PE_14, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 4, 0)}, // TIM1_CH4 - {NC, NP, 0} }; #endif @@ -226,7 +208,7 @@ const PinMap PinMap_PWM[] = { //*** SERIAL *** #ifdef HAL_UART_MODULE_ENABLED -const PinMap PinMap_UART_TX[] = { +WEAK const PinMap PinMap_UART_TX[] = { //{PA_0, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, //{PA_2, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, {PA_9, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, @@ -241,10 +223,8 @@ const PinMap PinMap_UART_TX[] = { {PG_14, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, {NC, NP, 0} }; -#endif -#ifdef HAL_UART_MODULE_ENABLED -const PinMap PinMap_UART_RX[] = { +WEAK const PinMap PinMap_UART_RX[] = { //{PA_1, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, //{PA_3, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, {PA_10, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, @@ -259,30 +239,26 @@ const PinMap PinMap_UART_RX[] = { {PG_9, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, {NC, NP, 0} }; -#endif -#ifdef HAL_UART_MODULE_ENABLED -const PinMap PinMap_UART_RTS[] = { -// {PA_1, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, -// {PA_12, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, -// {PB_14, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, -// {PD_4, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, -// {PD_12, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, -// {PG_8, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, -// {PG_12, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, +WEAK const PinMap PinMap_UART_RTS[] = { + //{PA_1, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, + //{PA_12, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, + //{PB_14, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, + //{PD_4, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, + //{PD_12, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, + //{PG_8, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, + //{PG_12, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, {NC, NP, 0} }; -#endif -#ifdef HAL_UART_MODULE_ENABLED -const PinMap PinMap_UART_CTS[] = { -// {PA_0, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, -// {PA_11, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, -// {PB_13, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, -// {PD_3, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, -// {PD_11, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, -// {PG_13, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, -// {PG_15, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, +WEAK const PinMap PinMap_UART_CTS[] = { + //{PA_0, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, + //{PA_11, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, + //{PB_13, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, + //{PD_3, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, + //{PD_11, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, + //{PG_13, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, + //{PG_15, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)}, {NC, NP, 0} }; #endif @@ -290,49 +266,43 @@ const PinMap PinMap_UART_CTS[] = { //*** SPI *** #ifdef HAL_SPI_MODULE_ENABLED -const PinMap PinMap_SPI_MOSI[] = { +WEAK const PinMap PinMap_SPI_MOSI[] = { {PA_7, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, -//{PB_5, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, + //{PB_5, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, {PB_5, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, {PB_15, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, -//{PC_3, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, -//{PC_12, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, + //{PC_3, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + //{PC_12, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, {NC, NP, 0} }; -#endif -#ifdef HAL_SPI_MODULE_ENABLED -const PinMap PinMap_SPI_MISO[] = { +WEAK const PinMap PinMap_SPI_MISO[] = { {PA_6, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, -//{PB_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, + //{PB_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, {PB_4, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, {PB_14, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, -//{PC_2, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, -//{PC_11, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, + //{PC_2, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + //{PC_11, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, {NC, NP, 0} }; -#endif -#ifdef HAL_SPI_MODULE_ENABLED -const PinMap PinMap_SPI_SCLK[] = { +WEAK const PinMap PinMap_SPI_SCLK[] = { {PA_5, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, -//{PB_3, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, + //{PB_3, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, {PB_3, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, -//{PB_10, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + //{PB_10, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, {PB_13, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, -//{PC_10, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, + //{PC_10, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, {NC, NP, 0} }; -#endif -#ifdef HAL_SPI_MODULE_ENABLED -const PinMap PinMap_SPI_SSEL[] = { +WEAK const PinMap PinMap_SPI_SSEL[] = { {PA_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, -//{PA_4, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, -//{PA_15, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, -//{PA_15, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, -//{PB_9, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, -//{PB_12, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + //{PA_4, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, + //{PA_15, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, + //{PA_15, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, + //{PB_9, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + //{PB_12, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, {NC, NP, 0} }; #endif @@ -340,23 +310,21 @@ const PinMap PinMap_SPI_SSEL[] = { //*** CAN *** #ifdef HAL_CAN_MODULE_ENABLED -const PinMap PinMap_CAN_RD[] = { -//{PA_11, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, -//{PB_5, CAN2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)}, -//{PB_8, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, -//{PB_12, CAN2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)}, -//{PD_0, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, +WEAK const PinMap PinMap_CAN_RD[] = { + //{PA_11, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, + //{PB_5, CAN2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)}, + //{PB_8, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, + //{PB_12, CAN2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)}, + //{PD_0, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, {NC, NP, 0} }; -#endif -#ifdef HAL_CAN_MODULE_ENABLED -const PinMap PinMap_CAN_TD[] = { -//{PA_12, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, -//{PB_6, CAN2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)}, -//{PB_9, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, -//{PB_13, CAN2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)}, -//{PD_1, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, +WEAK const PinMap PinMap_CAN_TD[] = { + //{PA_12, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, + //{PB_6, CAN2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)}, + //{PB_9, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, + //{PB_13, CAN2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)}, + //{PD_1, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, {NC, NP, 0} }; #endif @@ -364,7 +332,8 @@ const PinMap PinMap_CAN_TD[] = { //*** ETHERNET *** #ifdef HAL_ETH_MODULE_ENABLED -const PinMap PinMap_Ethernet[] = {/* +WEAK const PinMap PinMap_Ethernet[] = { + /* {PA_0, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_CRS {PA_1, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_REF_CLK|ETH_RX_CLK {PA_2, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_MDIO @@ -398,38 +367,38 @@ const PinMap PinMap_Ethernet[] = {/* //*** USB *** #ifdef HAL_PCD_MODULE_ENABLED -const PinMap PinMap_USB_OTG_FS[] = { - // {PA_8, USB_OTG_FS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_FS)}, // USB_OTG_FS_SOF - // {PA_9, USB_OTG_FS, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, GPIO_AF_NONE)}, // USB_OTG_FS_VBUS - // {PA_10, USB_OTG_FS, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_PULLUP, GPIO_AF10_OTG_FS)}, // USB_OTG_FS_ID +WEAK const PinMap PinMap_USB_OTG_FS[] = { + //{PA_8, USB_OTG_FS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_FS)}, // USB_OTG_FS_SOF + //{PA_9, USB_OTG_FS, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, GPIO_AF_NONE)}, // USB_OTG_FS_VBUS + //{PA_10, USB_OTG_FS, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_PULLUP, GPIO_AF10_OTG_FS)}, // USB_OTG_FS_ID {PA_11, USB_OTG_FS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_FS)}, // USB_OTG_FS_DM {PA_12, USB_OTG_FS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_FS)}, // USB_OTG_FS_DP {NC, NP, 0} }; -#endif -#ifdef HAL_PCD_MODULE_ENABLED -const PinMap PinMap_USB_OTG_HS[] = { -//#ifdef USE_USB_HS_IN_FS -// {PA_4, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_SOF -// {PB_12, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_ID -// {PB_13, USB_OTG_HS, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, GPIO_AF_NONE)}, // USB_OTG_HS_VBUS -// {PB_14, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_DM -// {PB_15, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_DP -// #else -// {PA_3, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D0 -// {PA_5, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_CK -// {PB_0, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D1 -// {PB_1, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D2 -// {PB_5, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D7 -// {PB_10, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D3 -// {PB_11, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D4 -// {PB_12, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D5 -// {PB_13, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D6 -// {PC_0, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_STP -// {PC_2, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_DIR -// {PC_3, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_NXT -//#endif /* USE_USB_HS_IN_FS */ +WEAK const PinMap PinMap_USB_OTG_HS[] = { + /* + #ifdef USE_USB_HS_IN_FS + {PA_4, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_SOF + {PB_12, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_ID + {PB_13, USB_OTG_HS, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, GPIO_AF_NONE)}, // USB_OTG_HS_VBUS + {PB_14, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_DM + {PB_15, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_DP + #else + {PA_3, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D0 + {PA_5, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_CK + {PB_0, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D1 + {PB_1, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D2 + {PB_5, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D7 + {PB_10, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D3 + {PB_11, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D4 + {PB_12, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D5 + {PB_13, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D6 + {PC_0, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_STP + {PC_2, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_DIR + {PC_3, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_NXT + #endif // USE_USB_HS_IN_FS + */ {NC, NP, 0} }; #endif diff --git a/buildroot/share/PlatformIO/variants/MARLIN_F103Vx/PeripheralPins.c b/buildroot/share/PlatformIO/variants/MARLIN_F103Vx/PeripheralPins.c new file mode 100644 index 000000000000..c9d2bb88b87a --- /dev/null +++ b/buildroot/share/PlatformIO/variants/MARLIN_F103Vx/PeripheralPins.c @@ -0,0 +1,425 @@ +/* + ******************************************************************************* + * Copyright (c) 2020, STMicroelectronics + * All rights reserved. + * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ******************************************************************************* + * Automatically generated from STM32F103V(F-G)Tx.xml + */ +#include "Arduino.h" +#include "PeripheralPins.h" + +/* ===== + * Note: Commented lines are alternative possibilities which are not used per default. + * If you change them, you will have to know what you do + * ===== + */ + +//*** ADC *** + +#ifdef HAL_ADC_MODULE_ENABLED +WEAK const PinMap PinMap_ADC[] = { + {PA_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC1_IN0 + // {PA_0, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC2_IN0 +#if defined(STM32F103xE) || defined(STM32F103xG) + // {PA_0, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC3_IN0 +#endif + {PA_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC1_IN1 + // {PA_1, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC2_IN1 +#if defined(STM32F103xE) || defined(STM32F103xG) + // {PA_1, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC3_IN1 +#endif + {PA_2, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC1_IN2 + // {PA_2, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC2_IN2 +#if defined(STM32F103xE) || defined(STM32F103xG) + // {PA_2, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC3_IN2 +#endif + {PA_3, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC1_IN3 + // {PA_3, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC2_IN3 +#if defined(STM32F103xE) || defined(STM32F103xG) + // {PA_3, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC3_IN3 +#endif + {PA_4, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC1_IN4 + // {PA_4, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC2_IN4 + {PA_5, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC1_IN5 + // {PA_5, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC2_IN5 + {PA_6, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC1_IN6 + // {PA_6, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC2_IN6 + {PA_7, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC1_IN7 + // {PA_7, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC2_IN7 + {PB_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC1_IN8 + // {PB_0, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC2_IN8 + {PB_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC1_IN9 + // {PB_1, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC2_IN9 + {PC_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC1_IN10 + // {PC_0, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC2_IN10 +#if defined(STM32F103xE) || defined(STM32F103xG) + // {PC_0, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC3_IN10 +#endif + {PC_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 11, 0)}, // ADC1_IN11 + // {PC_1, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 11, 0)}, // ADC2_IN11 +#if defined(STM32F103xE) || defined(STM32F103xG) + // {PC_1, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 11, 0)}, // ADC3_IN11 +#endif + {PC_2, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 12, 0)}, // ADC1_IN12 + // {PC_2, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 12, 0)}, // ADC2_IN12 +#if defined(STM32F103xE) || defined(STM32F103xG) + // {PC_2, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 12, 0)}, // ADC3_IN12 +#endif + {PC_3, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 13, 0)}, // ADC1_IN13 + // {PC_3, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 13, 0)}, // ADC2_IN13 +#if defined(STM32F103xE) || defined(STM32F103xG) + // {PC_3, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 13, 0)}, // ADC3_IN13 +#endif + {PC_4, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 14, 0)}, // ADC1_IN14 + // {PC_4, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 14, 0)}, // ADC2_IN14 + {PC_5, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 15, 0)}, // ADC1_IN15 + // {PC_5, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 15, 0)}, // ADC2_IN15 + {NC, NP, 0} +}; +#endif + +//*** DAC *** + +#if defined(STM32F103xE) || defined(STM32F103xG) +#ifdef HAL_DAC_MODULE_ENABLED +WEAK const PinMap PinMap_DAC[] = { + {PA_4, DAC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // DAC_OUT1 + {PA_5, DAC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // DAC_OUT2 + {NC, NP, 0} +}; +#endif +#endif + +//*** I2C *** + +#ifdef HAL_I2C_MODULE_ENABLED +WEAK const PinMap PinMap_I2C_SDA[] = { + {PB_7, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, AFIO_NONE)}, + {PB_9, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, AFIO_I2C1_ENABLE)}, + {PB_11, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, AFIO_NONE)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_I2C_MODULE_ENABLED +WEAK const PinMap PinMap_I2C_SCL[] = { + {PB_6, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, AFIO_NONE)}, + {PB_8, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, AFIO_I2C1_ENABLE)}, + {PB_10, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, AFIO_NONE)}, + {NC, NP, 0} +}; +#endif + +//*** PWM *** + +#ifdef HAL_TIM_MODULE_ENABLED +WEAK const PinMap PinMap_PWM[] = { + {PA_0, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 1, 0)}, // TIM2_CH1 + // {PA_0, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM2_PARTIAL_2, 1, 0)}, // TIM2_CH1 +#if defined(STM32F103xE) || defined(STM32F103xG) + // {PA_0, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 1, 0)}, // TIM5_CH1 +#endif + {PA_1, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 2, 0)}, // TIM2_CH2 + // {PA_1, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM2_PARTIAL_2, 2, 0)}, // TIM2_CH2 +#if defined(STM32F103xE) || defined(STM32F103xG) + // {PA_1, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 2, 0)}, // TIM5_CH2 +#endif + {PA_2, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 3, 0)}, // TIM2_CH3 + // {PA_2, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM2_PARTIAL_1, 3, 0)}, // TIM2_CH3 +#if defined(STM32F103xE) || defined(STM32F103xG) + // {PA_2, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 3, 0)}, // TIM5_CH3 +#endif +#ifdef STM32F103xG + // {PA_2, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 1, 0)}, // TIM9_CH1 +#endif + // {PA_3, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM2_PARTIAL_1, 4, 0)}, // TIM2_CH4 +#if defined(STM32F103xE) || defined(STM32F103xG) + // {PA_3, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 4, 0)}, // TIM2_CH4 + {PA_3, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 4, 0)}, // TIM5_CH4 +#else + {PA_3, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 4, 0)}, // TIM2_CH4 +#endif +#if defined(STM32F103xG) + // {PA_3, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 2, 0)}, // TIM9_CH2 +#endif + {PA_6, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 1, 0)}, // TIM3_CH1 +#if defined(STM32F103xG) + // {PA_6, TIM13, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 1, 0)}, // TIM13_CH1 +#endif + {PA_7, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM1_PARTIAL, 1, 1)}, // TIM1_CH1N + // {PA_7, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 2, 0)}, // TIM3_CH2 + // {PA_7, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 1, 1)}, // TIM8_CH1N +#if defined(STM32F103xG) + // {PA_7, TIM14, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 1, 0)}, // TIM14_CH1 +#endif + {PA_8, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 1, 0)}, // TIM1_CH1 + // {PA_8, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM1_PARTIAL, 1, 0)}, // TIM1_CH1 + {PA_9, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 2, 0)}, // TIM1_CH2 + // {PA_9, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM1_PARTIAL, 2, 0)}, // TIM1_CH2 + {PA_10, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 3, 0)}, // TIM1_CH3 + // {PA_10, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM1_PARTIAL, 3, 0)}, // TIM1_CH3 + {PA_11, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 4, 0)}, // TIM1_CH4 + // {PA_11, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM1_PARTIAL, 4, 0)}, // TIM1_CH4 + {PA_15, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM2_PARTIAL_1, 1, 0)}, // TIM2_CH1 + // {PA_15, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM2_ENABLE, 1, 0)}, // TIM2_CH1 + // {PB_0, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM1_PARTIAL, 2, 1)}, // TIM1_CH2N + {PB_0, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 3, 0)}, // TIM3_CH3 + // {PB_0, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM3_PARTIAL, 3, 0)}, // TIM3_CH3 +#if defined(STM32F103xE) || defined(STM32F103xG) + // {PB_0, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 2, 1)}, // TIM8_CH2N +#endif + {PB_1, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM1_PARTIAL, 3, 1)}, // TIM1_CH3N + // {PB_1, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 4, 0)}, // TIM3_CH4 + // {PB_1, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM3_PARTIAL, 4, 0)}, // TIM3_CH4 +#if defined(STM32F103xE) || defined(STM32F103xG) + // {PB_1, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 3, 1)}, // TIM8_CH3N +#endif + {PB_3, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM2_PARTIAL_1, 2, 0)}, // TIM2_CH2 + // {PB_3, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM2_ENABLE, 2, 0)}, // TIM2_CH2 + {PB_4, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM3_PARTIAL, 1, 0)}, // TIM3_CH1 + {PB_5, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM3_PARTIAL, 2, 0)}, // TIM3_CH2 + {PB_6, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 1, 0)}, // TIM4_CH1 + {PB_7, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 2, 0)}, // TIM4_CH2 + {PB_8, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 3, 0)}, // TIM4_CH3 +#if defined(STM32F103xG) + // {PB_8, TIM10, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 1, 0)}, // TIM10_CH1 +#endif + {PB_9, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 4, 0)}, // TIM4_CH4 +#if defined(STM32F103xG) + // {PB_9, TIM11, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 1, 0)}, // TIM11_CH1 +#endif + {PB_10, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM2_PARTIAL_2, 3, 0)}, // TIM2_CH3 + // {PB_10, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM2_ENABLE, 3, 0)}, // TIM2_CH3 + {PB_11, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM2_PARTIAL_2, 4, 0)}, // TIM2_CH4 + // {PB_11, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM2_ENABLE, 4, 0)}, // TIM2_CH4 + {PB_13, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 1, 1)}, // TIM1_CH1N + {PB_14, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 2, 1)}, // TIM1_CH2N +#if defined(STM32F103xG) + // {PB_14, TIM12, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 1, 0)}, // TIM12_CH1 +#endif + {PB_15, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 3, 1)}, // TIM1_CH3N +#if defined(STM32F103xG) + // {PB_15, TIM12, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 2, 0)}, // TIM12_CH2 +#endif + {PC_6, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM3_ENABLE, 1, 0)}, // TIM3_CH1 +#if defined(STM32F103xE) || defined(STM32F103xG) + // {PC_6, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 1, 0)}, // TIM8_CH1 +#endif + {PC_7, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM3_ENABLE, 2, 0)}, // TIM3_CH2 +#if defined(STM32F103xE) || defined(STM32F103xG) + // {PC_7, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 2, 0)}, // TIM8_CH2 +#endif + {PC_8, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM3_ENABLE, 3, 0)}, // TIM3_CH3 + // {PC_8, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 3, 0)}, // TIM8_CH3 + {PC_9, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM3_ENABLE, 4, 0)}, // TIM3_CH4 +#if defined(STM32F103xE) || defined(STM32F103xG) + // {PC_9, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 4, 0)}, // TIM8_CH4 +#endif + {PD_12, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM4_ENABLE, 1, 0)}, // TIM4_CH1 + {PD_13, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM4_ENABLE, 2, 0)}, // TIM4_CH2 + {PD_14, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM4_ENABLE, 3, 0)}, // TIM4_CH3 + {PD_15, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM4_ENABLE, 4, 0)}, // TIM4_CH4 +#if defined(STM32F103xG) + {PE_5, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM9_ENABLE, 1, 0)}, // TIM9_CH1 + {PE_6, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM9_ENABLE, 2, 0)}, // TIM9_CH2 +#endif + {PE_8, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM1_ENABLE, 1, 1)}, // TIM1_CH1N + {PE_9, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM1_ENABLE, 1, 0)}, // TIM1_CH1 + {PE_10, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM1_ENABLE, 2, 1)}, // TIM1_CH2N + {PE_11, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM1_ENABLE, 2, 0)}, // TIM1_CH2 + {PE_12, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM1_ENABLE, 3, 1)}, // TIM1_CH3N + {PE_13, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM1_ENABLE, 3, 0)}, // TIM1_CH3 + {PE_14, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM1_ENABLE, 4, 0)}, // TIM1_CH4 + {NC, NP, 0} +}; +#endif + +//*** SERIAL *** + +#ifdef HAL_UART_MODULE_ENABLED +WEAK const PinMap PinMap_UART_TX[] = { + {PA_2, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, + {PA_9, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, + {PB_6, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_USART1_ENABLE)}, + {PB_10, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, +#if defined(STM32F103xE) || defined(STM32F103xG) + // {PC_10, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_USART3_PARTIAL)}, + {PC_10, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, +#else + {PC_10, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_USART3_PARTIAL)}, +#endif +#if defined(STM32F103xE) || defined(STM32F103xG) + {PC_12, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, +#endif + {PD_5, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_USART2_ENABLE)}, + {PD_8, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_USART3_ENABLE)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_UART_MODULE_ENABLED +WEAK const PinMap PinMap_UART_RX[] = { + {PA_3, USART2, STM_PIN_DATA(STM_MODE_INPUT, GPIO_PULLUP, AFIO_NONE)}, + {PA_10, USART1, STM_PIN_DATA(STM_MODE_INPUT, GPIO_PULLUP, AFIO_NONE)}, + {PB_7, USART1, STM_PIN_DATA(STM_MODE_INPUT, GPIO_PULLUP, AFIO_USART1_ENABLE)}, + {PB_11, USART3, STM_PIN_DATA(STM_MODE_INPUT, GPIO_PULLUP, AFIO_NONE)}, +#if defined(STM32F103xE) || defined(STM32F103xG) + // {PC_11, USART3, STM_PIN_DATA(STM_MODE_INPUT, GPIO_PULLUP, AFIO_USART3_PARTIAL)}, + {PC_11, UART4, STM_PIN_DATA(STM_MODE_INPUT, GPIO_PULLUP, AFIO_NONE)}, +#else + {PC_11, USART3, STM_PIN_DATA(STM_MODE_INPUT, GPIO_PULLUP, AFIO_USART3_PARTIAL)}, +#endif +#if defined(STM32F103xE) || defined(STM32F103xG) + {PD_2, UART5, STM_PIN_DATA(STM_MODE_INPUT, GPIO_PULLUP, AFIO_NONE)}, +#endif + {PD_6, USART2, STM_PIN_DATA(STM_MODE_INPUT, GPIO_PULLUP, AFIO_USART2_ENABLE)}, + {PD_9, USART3, STM_PIN_DATA(STM_MODE_INPUT, GPIO_PULLUP, AFIO_USART3_ENABLE)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_UART_MODULE_ENABLED +WEAK const PinMap PinMap_UART_RTS[] = { + {PA_1, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, + {PA_12, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, + {PB_14, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, + // {PB_14, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_USART3_PARTIAL)}, + {PD_4, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_USART2_ENABLE)}, + {PD_12, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_USART3_ENABLE)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_UART_MODULE_ENABLED +WEAK const PinMap PinMap_UART_CTS[] = { + {PA_0, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, + {PA_11, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, + {PB_13, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, + // {PB_13, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_USART3_PARTIAL)}, + {PD_3, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_USART2_ENABLE)}, + {PD_11, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_USART3_ENABLE)}, + {NC, NP, 0} +}; +#endif + +//*** SPI *** + +#ifdef HAL_SPI_MODULE_ENABLED +WEAK const PinMap PinMap_SPI_MOSI[] = { + {PA_7, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, +#if defined(STM32F103xE) || defined(STM32F103xG) + // {PB_5, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_SPI1_ENABLE)}, + {PB_5, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, +#else + {PB_5, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_SPI1_ENABLE)}, +#endif + {PB_15, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_SPI_MODULE_ENABLED +WEAK const PinMap PinMap_SPI_MISO[] = { + {PA_6, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, +#if defined(STM32F103xE) || defined(STM32F103xG) + // {PB_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_SPI1_ENABLE)}, + {PB_4, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, +#else + {PB_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_SPI1_ENABLE)}, +#endif + {PB_14, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_SPI_MODULE_ENABLED +WEAK const PinMap PinMap_SPI_SCLK[] = { + {PA_5, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, +#if defined(STM32F103xE) || defined(STM32F103xG) + // {PB_3, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_SPI1_ENABLE)}, + {PB_3, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, +#else + {PB_3, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_SPI1_ENABLE)}, +#endif + {PB_13, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_SPI_MODULE_ENABLED +WEAK const PinMap PinMap_SPI_SSEL[] = { + {PA_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, +#if defined(STM32F103xE) || defined(STM32F103xG) + // {PA_15, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_SPI1_ENABLE)}, + {PA_15, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, +#else + {PA_15, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_SPI1_ENABLE)}, +#endif + {PB_12, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, + {NC, NP, 0} +}; +#endif + +//*** CAN *** + +#ifdef HAL_CAN_MODULE_ENABLED +WEAK const PinMap PinMap_CAN_RD[] = { + {PA_11, CAN1, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, AFIO_NONE)}, + {PB_8, CAN1, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, AFIO_CAN1_2)}, + {PD_0, CAN1, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, AFIO_CAN1_3)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_CAN_MODULE_ENABLED +WEAK const PinMap PinMap_CAN_TD[] = { + {PA_12, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE)}, + {PB_9, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_CAN1_2)}, + {PD_1, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_CAN1_3)}, + {NC, NP, 0} +}; +#endif + +//*** No ETHERNET *** + +//*** No QUADSPI *** + +//*** USB *** + +#ifdef HAL_PCD_MODULE_ENABLED +WEAK const PinMap PinMap_USB[] = { + {PA_11, USB, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, AFIO_NONE)}, // USB_DM + {PA_12, USB, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, AFIO_NONE)}, // USB_DP + {NC, NP, 0} +}; +#endif + +//*** No USB_OTG_FS *** + +//*** No USB_OTG_HS *** + +//*** SD *** + +#if defined(STM32F103xE) || defined(STM32F103xG) +#ifdef HAL_SD_MODULE_ENABLED +WEAK const PinMap PinMap_SD[] = { + {PB_8, SDIO, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, // SDIO_D4 + {PB_9, SDIO, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, // SDIO_D5 + {PC_6, SDIO, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, // SDIO_D6 + {PC_7, SDIO, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, // SDIO_D7 + {PC_8, SDIO, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, // SDIO_D0 + {PC_9, SDIO, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, // SDIO_D1 + {PC_10, SDIO, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, // SDIO_D2 + {PC_11, SDIO, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, // SDIO_D3 + {PC_12, SDIO, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE)}, // SDIO_CK + {PD_2, SDIO, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE)}, // SDIO_CMD + {NC, NP, 0} +}; +#endif +#endif diff --git a/buildroot/share/PlatformIO/variants/MARLIN_F103Vx/PinNamesVar.h b/buildroot/share/PlatformIO/variants/MARLIN_F103Vx/PinNamesVar.h new file mode 100644 index 000000000000..d9076b4dfb59 --- /dev/null +++ b/buildroot/share/PlatformIO/variants/MARLIN_F103Vx/PinNamesVar.h @@ -0,0 +1,30 @@ +/* SYS_WKUP */ +#ifdef PWR_WAKEUP_PIN1 + SYS_WKUP1 = PA_0, +#endif +#ifdef PWR_WAKEUP_PIN2 + SYS_WKUP2 = NC, +#endif +#ifdef PWR_WAKEUP_PIN3 + SYS_WKUP3 = NC, +#endif +#ifdef PWR_WAKEUP_PIN4 + SYS_WKUP4 = NC, +#endif +#ifdef PWR_WAKEUP_PIN5 + SYS_WKUP5 = NC, +#endif +#ifdef PWR_WAKEUP_PIN6 + SYS_WKUP6 = NC, +#endif +#ifdef PWR_WAKEUP_PIN7 + SYS_WKUP7 = NC, +#endif +#ifdef PWR_WAKEUP_PIN8 + SYS_WKUP8 = NC, +#endif +/* USB */ +#ifdef USBCON + USB_DM = PA_11, + USB_DP = PA_12, +#endif diff --git a/buildroot/share/PlatformIO/variants/MARLIN_F103Vx/ldscript.ld b/buildroot/share/PlatformIO/variants/MARLIN_F103Vx/ldscript.ld new file mode 100644 index 000000000000..c9197c8b451a --- /dev/null +++ b/buildroot/share/PlatformIO/variants/MARLIN_F103Vx/ldscript.ld @@ -0,0 +1,200 @@ +/* +****************************************************************************** +** + +** File : LinkerScript.ld +** +** Author : Auto-generated by STM32CubeIDE +** +** Abstract : Linker script for STM32F103V(8/B/C/E/F/GTx Device from STM32F1 series +** 64/128/256/512/768/1024Kbytes FLASH +** 20/20/48/64/64/96/96Kbytes RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Distribution: The file is distributed as is without any warranty +** of any kind. +** +***************************************************************************** +** @attention +** +**

© COPYRIGHT(c) 2019 STMicroelectronics

+** +** Redistribution and use in source and binary forms, with or without modification, +** are permitted provided that the following conditions are met: +** 1. Redistributions of source code must retain the above copyright notice, +** this list of conditions and the following disclaimer. +** 2. Redistributions in binary form must reproduce the above copyright notice, +** this list of conditions and the following disclaimer in the documentation +** and/or other materials provided with the distribution. +** 3. Neither the name of STMicroelectronics nor the names of its contributors +** may be used to endorse or promote products derived from this software +** without specific prior written permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +** DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +** FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +** DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +** SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +** OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x20000000 + LD_MAX_DATA_SIZE; /* end of "RAM" Ram type memory */ +_Min_Heap_Size = 0x200; /* required amount of heap */ +_Min_Stack_Size = 0x400; /* required amount of stack */ + +/* Memories definition */ +MEMORY +{ + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = LD_MAX_DATA_SIZE + FLASH (rx) : ORIGIN = 0x8000000 + LD_FLASH_OFFSET, LENGTH = LD_MAX_SIZE - LD_FLASH_OFFSET +} + +/* Sections */ +SECTIONS +{ + /* The startup code into "FLASH" Rom type memory */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data into "FLASH" Rom type memory */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + *(.eh_frame) + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + /* Constant data into "FLASH" Rom type memory */ + .rodata : + { + . = ALIGN(4); + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + . = ALIGN(4); + } >FLASH + + .ARM.extab : { + . = ALIGN(4); + *(.ARM.extab* .gnu.linkonce.armextab.*) + . = ALIGN(4); + } >FLASH + .ARM : { + . = ALIGN(4); + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + . = ALIGN(4); + } >FLASH + + .preinit_array : + { + . = ALIGN(4); + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + . = ALIGN(4); + } >FLASH + .init_array : + { + . = ALIGN(4); + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + . = ALIGN(4); + } >FLASH + .fini_array : + { + . = ALIGN(4); + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(SORT(.fini_array.*))) + KEEP (*(.fini_array*)) + PROVIDE_HIDDEN (__fini_array_end = .); + . = ALIGN(4); + } >FLASH + + /* Used by the startup to initialize data */ + _sidata = LOADADDR(.data); + + /* Initialized data sections into "RAM" Ram type memory */ + .data : + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >RAM AT> FLASH + + + /* Uninitialized data section into "RAM" Ram type memory */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + /* User_heap_stack section, used to check that there is enough "RAM" Ram type memory left */ + ._user_heap_stack : + { + . = ALIGN(8); + PROVIDE ( end = . ); + PROVIDE ( _end = . ); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(8); + } >RAM + + + + /* Remove information from the compiler libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } + + .ARM.attributes 0 : { *(.ARM.attributes) } +} + diff --git a/buildroot/share/PlatformIO/variants/MARLIN_F103Vx/variant.cpp b/buildroot/share/PlatformIO/variants/MARLIN_F103Vx/variant.cpp new file mode 100644 index 000000000000..25b4b511458b --- /dev/null +++ b/buildroot/share/PlatformIO/variants/MARLIN_F103Vx/variant.cpp @@ -0,0 +1,235 @@ +/* + ******************************************************************************* + * Copyright (c) 2019, STMicroelectronics + * All rights reserved. + * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ******************************************************************************* + */ + +#include "pins_arduino.h" + +#ifdef __cplusplus +extern "C" { +#endif + +// Digital PinName array +const PinName digitalPin[] = { + PA_0, //D0 + PA_1, //D1 + PA_2, //D2 + PA_3, //D3 + PA_4, //D4 + PA_5, //D5 + PA_6, //D6 + PA_7, //D7 + PA_8, //D8 + PA_9, //D9 + PA_10, //D10 + PA_11, //D11 + PA_12, //D12 + PA_13, //D13 + PA_14, //D14 + PA_15, //D15 + + PB_0, //D16 + PB_1, //D17 + PB_2, //D18 + PB_3, //D19 + PB_4, //D20 + PB_5, //D21 + PB_6, //D22 + PB_7, //D23 + PB_8, //D24 + PB_9, //D25 + PB_10, //D26 + PB_11, //D27 + PB_12, //D28 + PB_13, //D29 + PB_14, //D30 + PB_15, //D31 + + PC_0, //D32 + PC_1, //D33 + PC_2, //D34 + PC_3, //D35 + PC_4, //D36 + PC_5, //D37 + PC_6, //D38 + PC_7, //D39 + PC_8, //D40 + PC_9, //D41 + PC_10, //D42 + PC_11, //D43 + PC_12, //D44 + PC_13, //D45 + PC_14, //D46 + PC_15, //D47 + + PD_0, //D48 + PD_1, //D49 + PD_2, //D50 + PD_3, //D51 + PD_4, //D52 + PD_5, //D53 + PD_6, //D54 + PD_7, //D55 + PD_8, //D56 + PD_9, //D57 + PD_10, //D58 + PD_11, //D59 + PD_12, //D60 + PD_13, //D61 + PD_14, //D62 + PD_15, //D63 + + PE_0, //D64 + PE_1, //D65 + PE_2, //D66 + PE_3, //D67 + PE_4, //D68 + PE_5, //D69 + PE_6, //D70 + PE_7, //D71 + PE_8, //D72 + PE_9, //D73 + PE_10, //D74 + PE_11, //D75 + PE_12, //D76 + PE_13, //D77 + PE_14, //D78 + PE_15, //D79 +}; + +// Analog (Ax) pin number array +const uint32_t analogInputPin[] = { + 0, // A0, PA0 + 1, // A1, PA1 + 2, // A2, PA2 + 3, // A3, PA3 + 4, // A4, PA4 + 5, // A5, PA5 + 6, // A6, PA6 + 7, // A7, PA7 + 16, // A8, PB0 + 17, // A9, PB1 + 32, // A10, PC0 + 33, // A11, PC1 + 34, // A12, PC2 + 35, // A13, PC3 + 36, // A14, PC4 + 37, // A15, PC5 +}; + +/******************************************************************************/ +/* PLL (clocked by HSE) used as System clock source */ +/******************************************************************************/ +static bool SetSysClock_PLL_HSE(bool bypass) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {}; + RCC_PeriphCLKInitTypeDef PeriphClkInit = {}; + bool ret = false; + + /* Initializes the CPU, AHB and APB busses clocks */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; + if (bypass == false) { + RCC_OscInitStruct.HSEState = RCC_HSE_ON; + } else { + RCC_OscInitStruct.HSEState = RCC_HSE_BYPASS; + } + RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV1; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; + RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL9; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) == HAL_OK) { + /* Initializes the CPU, AHB and APB busses clocks */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK + | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) == HAL_OK) { + PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC | RCC_PERIPHCLK_USB; + PeriphClkInit.AdcClockSelection = RCC_ADCPCLK2_DIV6; + PeriphClkInit.UsbClockSelection = RCC_USBCLKSOURCE_PLL_DIV1_5; + if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) == HAL_OK) { + ret = true; + } + } + } + return ret; +} + +/******************************************************************************/ +/* PLL (clocked by HSI) used as System clock source */ +/******************************************************************************/ +bool SetSysClock_PLL_HSI(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {}; + RCC_PeriphCLKInitTypeDef PeriphClkInit = {}; + bool ret = false; + + /* Initializes the CPU, AHB and APB busses clocks */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI | RCC_OSCILLATORTYPE_HSE; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSEState = RCC_HSE_OFF; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI_DIV2; + RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL12; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) == HAL_OK) { + /* Initializes the CPU, AHB and APB busses clocks */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK + | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1) == HAL_OK) { + PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC | RCC_PERIPHCLK_USB; + PeriphClkInit.AdcClockSelection = RCC_ADCPCLK2_DIV4; + PeriphClkInit.UsbClockSelection = RCC_USBCLKSOURCE_PLL; + if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) == HAL_OK) { + ret = true; + } + } + } + return ret; +} + +WEAK void SystemClock_Config(void) +{ + /* + * If HSE_VALUE is not 8MHz and you want use it, then: + * - Redefine HSE_VALUE to the correct HSE_VALUE + * - Redefine SystemClock_Config() with the correct settings + */ +#if HSE_VALUE == 8000000U + /* 1- Try to start with HSE and external 8MHz xtal */ + if (SetSysClock_PLL_HSE(false) == false) { + /* 2- If fail try to start with HSE and external clock */ + if (SetSysClock_PLL_HSE(true) == false) { +#endif + /* 3- If fail start with HSI clock */ + if (SetSysClock_PLL_HSI() == false) { + Error_Handler(); + } +#if HSE_VALUE == 8000000U + } + } +#endif +} + +#ifdef __cplusplus +} +#endif diff --git a/buildroot/share/PlatformIO/variants/MARLIN_F103Vx/variant.h b/buildroot/share/PlatformIO/variants/MARLIN_F103Vx/variant.h new file mode 100644 index 000000000000..b622b39376b9 --- /dev/null +++ b/buildroot/share/PlatformIO/variants/MARLIN_F103Vx/variant.h @@ -0,0 +1,181 @@ +/* + ******************************************************************************* + * Copyright (c) 2019, STMicroelectronics + * All rights reserved. + * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ******************************************************************************* + */ + +#ifndef _VARIANT_ARDUINO_STM32_ +#define _VARIANT_ARDUINO_STM32_ + +#ifdef __cplusplus +extern "C" { +#endif // __cplusplus + +/*---------------------------------------------------------------------------- + * Pins + *----------------------------------------------------------------------------*/ +#define PA0 0 +#define PA1 1 +#define PA2 2 +#define PA3 3 +#define PA4 4 +#define PA5 5 +#define PA6 6 +#define PA7 7 +#define PA8 8 +#define PA9 9 +#define PA10 10 +#define PA11 11 +#define PA12 12 +#define PA13 13 +#define PA14 14 +#define PA15 15 + +#define PB0 16 +#define PB1 17 +#define PB2 18 +#define PB3 19 +#define PB4 20 +#define PB5 21 +#define PB6 22 +#define PB7 23 +#define PB8 24 +#define PB9 25 +#define PB10 26 +#define PB11 27 +#define PB12 28 +#define PB13 29 +#define PB14 30 +#define PB15 31 + +#define PC0 32 +#define PC1 33 +#define PC2 34 +#define PC3 35 +#define PC4 36 +#define PC5 37 +#define PC6 38 +#define PC7 39 +#define PC8 40 +#define PC9 41 +#define PC10 42 +#define PC11 43 +#define PC12 44 +#define PC13 45 +#define PC14 46 +#define PC15 47 + +#define PD0 48 +#define PD1 49 +#define PD2 50 +#define PD3 51 +#define PD4 52 +#define PD5 53 +#define PD6 54 +#define PD7 55 +#define PD8 56 +#define PD9 57 +#define PD10 58 +#define PD11 59 +#define PD12 60 +#define PD13 61 +#define PD14 62 +#define PD15 63 + +#define PE0 64 +#define PE1 65 +#define PE2 66 +#define PE3 67 +#define PE4 68 +#define PE5 69 +#define PE6 70 +#define PE7 71 +#define PE8 72 +#define PE9 73 +#define PE10 74 +#define PE11 75 +#define PE12 76 +#define PE13 77 +#define PE14 78 +#define PE15 79 + +// This must be a literal +#define NUM_DIGITAL_PINS 80 +#define NUM_ANALOG_INPUTS 16 + +// On-board LED pin number +#ifndef LED_BUILTIN +#define LED_BUILTIN PB11 +#endif + +// On-board user button +#ifndef USER_BTN +#define USER_BTN PC13 +#endif + +// SPI Definitions +#define PIN_SPI_SS PC4 +#define PIN_SPI_MOSI PA7 +#define PIN_SPI_MISO PA6 +#define PIN_SPI_SCK PA5 + +// I2C Definitions +#define PIN_WIRE_SDA PB7 +#define PIN_WIRE_SCL PB6 + +// Timer Definitions (optional) +// Use TIM6/TIM7 when possible as servo and tone don't need GPIO output pin +#define TIMER_TONE TIM3 +#define TIMER_SERVO TIM2 + +// UART Definitions +// Define here Serial instance number to map on Serial generic name +#define SERIAL_UART_INSTANCE 1 + +// Extra HAL modules +#if defined(STM32F103xE) || defined(STM32F103xG) +#define HAL_DAC_MODULE_ENABLED +#define HAL_SD_MODULE_ENABLED +#define HAL_SRAM_MODULE_ENABLED +#endif + +// Default pin used for 'Serial' instance (ex: ST-Link) +// Mandatory for Firmata +#define PIN_SERIAL_RX PA10 +#define PIN_SERIAL_TX PA9 + +#ifdef __cplusplus +} // extern "C" +#endif +/*---------------------------------------------------------------------------- + * Arduino objects - C++ only + *----------------------------------------------------------------------------*/ + +#ifdef __cplusplus + // These serial port names are intended to allow libraries and architecture-neutral + // sketches to automatically default to the correct port name for a particular type + // of use. For example, a GPS module would normally connect to SERIAL_PORT_HARDWARE_OPEN, + // the first hardware serial port whose RX/TX pins are not dedicated to another use. + // + // SERIAL_PORT_MONITOR Port which normally prints to the Arduino Serial Monitor + // + // SERIAL_PORT_USBVIRTUAL Port which is USB virtual serial + // + // SERIAL_PORT_LINUXBRIDGE Port which connects to a Linux system via Bridge library + // + // SERIAL_PORT_HARDWARE Hardware serial port, physical RX & TX pins. + // + // SERIAL_PORT_HARDWARE_OPEN Hardware serial ports which are open for use. Their RX & TX + // pins are NOT connected to anything by default. + #define SERIAL_PORT_MONITOR Serial + #define SERIAL_PORT_HARDWARE Serial1 +#endif + +#endif /* _VARIANT_ARDUINO_STM32_ */ diff --git a/buildroot/share/PlatformIO/variants/MARLIN_F103Zx/PeripheralPins.c b/buildroot/share/PlatformIO/variants/MARLIN_F103Zx/PeripheralPins.c new file mode 100644 index 000000000000..5736e5206e09 --- /dev/null +++ b/buildroot/share/PlatformIO/variants/MARLIN_F103Zx/PeripheralPins.c @@ -0,0 +1,368 @@ +/* + ******************************************************************************* + * Copyright (c) 2019, STMicroelectronics + * All rights reserved. + * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ******************************************************************************* + * Automatically generated from STM32F103Z(C-D-E|F-G))Tx.xml + */ +#include "Arduino.h" +#include "PeripheralPins.h" + +/* ===== + * Note: Commented lines are alternative possibilities which are not used per default. + * If you change them, you will have to know what you do + * ===== + */ + +//*** ADC *** + +#ifdef HAL_ADC_MODULE_ENABLED +WEAK const PinMap PinMap_ADC[] = { + {PA_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC1_IN0 + // {PA_0, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC2_IN0 + // {PA_0, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC3_IN0 + {PA_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC1_IN1 + // {PA_1, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC2_IN1 + // {PA_1, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC3_IN1 + // {PA_2, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC1_IN2 + {PA_2, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC2_IN2 + // {PA_2, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC3_IN2 + {PA_3, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC1_IN3 + // {PA_3, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC2_IN3 + // {PA_3, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC3_IN3 + // {PA_4, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC1_IN4 + {PA_4, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC2_IN4 + {PA_5, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC1_IN5 + // {PA_5, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC2_IN5 + // {PA_6, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC1_IN6 + {PA_6, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC2_IN6 + {PA_7, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC1_IN7 + // {PA_7, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC2_IN7 + // {PB_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC1_IN8 + {PB_0, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC2_IN8 + {PB_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC1_IN9 + // {PB_1, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC2_IN9 + // {PC_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC1_IN10 + {PC_0, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC2_IN10 + // {PC_0, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC3_IN10 + {PC_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 11, 0)}, // ADC1_IN11 + // {PC_1, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 11, 0)}, // ADC2_IN11 + // {PC_1, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 11, 0)}, // ADC3_IN11 + // {PC_2, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 12, 0)}, // ADC1_IN12 + {PC_2, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 12, 0)}, // ADC2_IN12 + // {PC_2, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 12, 0)}, // ADC3_IN12 + {PC_3, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 13, 0)}, // ADC1_IN13 + // {PC_3, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 13, 0)}, // ADC2_IN13 + // {PC_3, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 13, 0)}, // ADC3_IN13 + // {PC_4, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 14, 0)}, // ADC1_IN14 + {PC_4, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 14, 0)}, // ADC2_IN14 + {PC_5, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 15, 0)}, // ADC1_IN15 + // {PC_5, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 15, 0)}, // ADC2_IN15 + {PF_6, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC3_IN4 + {PF_7, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC3_IN5 + {PF_8, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC3_IN6 + {PF_9, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC3_IN7 + {PF_10, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC3_IN8 + {NC, NP, 0} +}; +#endif + +//*** DAC *** + +#ifdef HAL_DAC_MODULE_ENABLED +WEAK const PinMap PinMap_DAC[] = { + {PA_4, DAC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // DAC_OUT1 + {PA_5, DAC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // DAC_OUT2 + {NC, NP, 0} +}; +#endif + +//*** I2C *** + +#ifdef HAL_I2C_MODULE_ENABLED +WEAK const PinMap PinMap_I2C_SDA[] = { + {PB_7, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, AFIO_NONE)}, + {PB_9, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, AFIO_I2C1_ENABLE)}, + {PB_11, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, AFIO_NONE)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_I2C_MODULE_ENABLED +WEAK const PinMap PinMap_I2C_SCL[] = { + {PB_6, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, AFIO_NONE)}, + {PB_8, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, AFIO_I2C1_ENABLE)}, + {PB_10, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, AFIO_NONE)}, + {NC, NP, 0} +}; +#endif + +//*** PWM *** + +#ifdef HAL_TIM_MODULE_ENABLED +WEAK const PinMap PinMap_PWM[] = { + {PA_0, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 1, 0)}, // TIM2_CH1 + // {PA_0, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM2_PARTIAL_2, 1, 0)}, // TIM2_CH1 + // {PA_0, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 1, 0)}, // TIM5_CH1 + // {PA_1, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 2, 0)}, // TIM2_CH2 + // {PA_1, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM2_PARTIAL_2, 2, 0)}, // TIM2_CH2 + {PA_1, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 2, 0)}, // TIM5_CH2 + {PA_2, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 3, 0)}, // TIM2_CH3 + // {PA_2, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM2_PARTIAL_1, 3, 0)}, // TIM2_CH3 + // {PA_2, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 3, 0)}, // TIM5_CH3 +#ifdef STM32F103xG + // {PA_2, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 1, 0)}, // TIM9_CH1 +#endif + // {PA_3, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 4, 0)}, // TIM2_CH4 + // {PA_3, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM2_PARTIAL_1, 4, 0)}, // TIM2_CH4 + {PA_3, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 4, 0)}, // TIM5_CH4 +#ifdef STM32F103xG + // {PA_3, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 2, 0)}, // TIM9_CH2 +#endif + {PA_6, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 1, 0)}, // TIM3_CH1 +#ifdef STM32F103xG + // {PA_6, TIM13, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 1, 0)}, // TIM13_CH1 +#endif + // {PA_7, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM1_PARTIAL, 1, 1)}, // TIM1_CH1N + // {PA_7, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 2, 0)}, // TIM3_CH2 + {PA_7, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 1, 1)}, // TIM8_CH1N +#ifdef STM32F103xG + // {PA_7, TIM14, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 1, 0)}, // TIM14_CH1 +#endif + {PA_8, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 1, 0)}, // TIM1_CH1 + // {PA_8, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM1_PARTIAL, 1, 0)}, // TIM1_CH1 + {PA_9, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 2, 0)}, // TIM1_CH2 + // {PA_9, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM1_PARTIAL, 2, 0)}, // TIM1_CH2 + {PA_10, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 3, 0)}, // TIM1_CH3 + // {PA_10, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM1_PARTIAL, 3, 0)}, // TIM1_CH3 + {PA_11, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 4, 0)}, // TIM1_CH4 + // {PA_11, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM1_PARTIAL, 4, 0)}, // TIM1_CH4 + {PA_15, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM2_PARTIAL_1, 1, 0)}, // TIM2_CH1 + // {PA_15, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM2_ENABLE, 1, 0)}, // TIM2_CH1 + // {PB_0, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM1_PARTIAL, 2, 1)}, // TIM1_CH2N + {PB_0, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 3, 0)}, // TIM3_CH3 + // {PB_0, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM3_PARTIAL, 3, 0)}, // TIM3_CH3 + {PB_0, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 2, 1)}, // TIM8_CH2N + {PB_1, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM1_PARTIAL, 3, 1)}, // TIM1_CH3N + // {PB_1, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 4, 0)}, // TIM3_CH4 + // {PB_1, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM3_PARTIAL, 4, 0)}, // TIM3_CH4 + // {PB_1, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 3, 1)}, // TIM8_CH3N + {PB_3, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM2_PARTIAL_1, 2, 0)}, // TIM2_CH2 + // {PB_3, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM2_ENABLE, 2, 0)}, // TIM2_CH2 + {PB_4, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM3_PARTIAL, 1, 0)}, // TIM3_CH1 + {PB_5, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM3_PARTIAL, 2, 0)}, // TIM3_CH2 + {PB_6, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 1, 0)}, // TIM4_CH1 + {PB_7, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 2, 0)}, // TIM4_CH2 + {PB_8, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 3, 0)}, // TIM4_CH3 +#ifdef STM32F103xG + // {PB_8, TIM10, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 1, 0)}, // TIM10_CH1 +#endif + {PB_9, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 4, 0)}, // TIM4_CH4 +#ifdef STM32F103xG + // {PB_9, TIM11, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 1, 0)}, // TIM11_CH1 +#endif + // {PB_10, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM2_PARTIAL_2, 3, 0)}, // TIM2_CH3 + {PB_10, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM2_ENABLE, 3, 0)}, // TIM2_CH3 + // {PB_11, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM2_PARTIAL_2, 4, 0)}, // TIM2_CH4 + {PB_11, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM2_ENABLE, 4, 0)}, // TIM2_CH4 + {PB_13, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 1, 1)}, // TIM1_CH1N + {PB_14, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 2, 1)}, // TIM1_CH2N +#ifdef STM32F103xG + // {PB_14, TIM12, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 1, 0)}, // TIM12_CH1 +#endif + {PB_15, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 3, 1)}, // TIM1_CH3N +#ifdef STM32F103xG + // {PB_15, TIM12, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 2, 0)}, // TIM12_CH2 +#endif + // {PC_6, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM3_ENABLE, 1, 0)}, // TIM3_CH1 + {PC_6, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 1, 0)}, // TIM8_CH1 + // {PC_7, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM3_ENABLE, 2, 0)}, // TIM3_CH2 + {PC_7, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 2, 0)}, // TIM8_CH2 + {PC_8, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM3_ENABLE, 3, 0)}, // TIM3_CH3 + // {PC_8, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 3, 0)}, // TIM8_CH3 + {PC_9, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM3_ENABLE, 4, 0)}, // TIM3_CH4 + // {PC_9, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 4, 0)}, // TIM8_CH4 + {PD_12, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM4_ENABLE, 1, 0)}, // TIM4_CH1 + {PD_13, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM4_ENABLE, 2, 0)}, // TIM4_CH2 + {PD_14, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM4_ENABLE, 3, 0)}, // TIM4_CH3 + {PD_15, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM4_ENABLE, 4, 0)}, // TIM4_CH4 +#ifdef STM32F103xG + {PE_5, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM9_ENABLE, 1, 0)}, // TIM9_CH1 + {PE_6, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM9_ENABLE, 2, 0)}, // TIM9_CH2 +#endif + {PE_8, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM1_ENABLE, 1, 1)}, // TIM1_CH1N + {PE_9, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM1_ENABLE, 1, 0)}, // TIM1_CH1 + {PE_10, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM1_ENABLE, 2, 1)}, // TIM1_CH2N + {PE_11, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM1_ENABLE, 2, 0)}, // TIM1_CH2 + {PE_12, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM1_ENABLE, 3, 1)}, // TIM1_CH3N + {PE_13, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM1_ENABLE, 3, 0)}, // TIM1_CH3 + {PE_14, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM1_ENABLE, 4, 0)}, // TIM1_CH4 +#ifdef STM32F103xG + {PF_6, TIM10, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM10_ENABLE, 1, 0)}, // TIM10_CH1 + {PF_7, TIM11, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM11_ENABLE, 1, 0)}, // TIM11_CH1 + {PF_8, TIM13, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM13_ENABLE, 1, 0)}, // TIM13_CH1 + {PF_9, TIM14, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM14_ENABLE, 1, 0)}, // TIM14_CH1 +#endif + {NC, NP, 0} +}; +#endif + +//*** SERIAL *** + +#ifdef HAL_UART_MODULE_ENABLED +WEAK const PinMap PinMap_UART_TX[] = { + {PA_2, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, + {PA_9, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, + {PB_6, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_USART1_ENABLE)}, + {PB_10, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, + {PC_10, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, + // {PC_10, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_USART3_PARTIAL)}, + {PC_12, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, + {PD_5, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_USART2_ENABLE)}, + {PD_8, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_USART3_ENABLE)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_UART_MODULE_ENABLED +WEAK const PinMap PinMap_UART_RX[] = { + {PA_3, USART2, STM_PIN_DATA(STM_MODE_INPUT, GPIO_PULLUP, AFIO_NONE)}, + {PA_10, USART1, STM_PIN_DATA(STM_MODE_INPUT, GPIO_PULLUP, AFIO_NONE)}, + {PB_7, USART1, STM_PIN_DATA(STM_MODE_INPUT, GPIO_PULLUP, AFIO_USART1_ENABLE)}, + {PB_11, USART3, STM_PIN_DATA(STM_MODE_INPUT, GPIO_PULLUP, AFIO_NONE)}, + {PC_11, UART4, STM_PIN_DATA(STM_MODE_INPUT, GPIO_PULLUP, AFIO_NONE)}, + // {PC_11, USART3, STM_PIN_DATA(STM_MODE_INPUT, GPIO_PULLUP, AFIO_USART3_PARTIAL)}, + {PD_2, UART5, STM_PIN_DATA(STM_MODE_INPUT, GPIO_PULLUP, AFIO_NONE)}, + {PD_6, USART2, STM_PIN_DATA(STM_MODE_INPUT, GPIO_PULLUP, AFIO_USART2_ENABLE)}, + {PD_9, USART3, STM_PIN_DATA(STM_MODE_INPUT, GPIO_PULLUP, AFIO_USART3_ENABLE)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_UART_MODULE_ENABLED +WEAK const PinMap PinMap_UART_RTS[] = { + {PA_1, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, + {PA_12, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, + {PB_14, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, + // {PB_14, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_USART3_PARTIAL)}, + {PD_4, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_USART2_ENABLE)}, + {PD_12, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_USART3_ENABLE)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_UART_MODULE_ENABLED +WEAK const PinMap PinMap_UART_CTS[] = { + {PA_0, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, + {PA_11, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, + {PB_13, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, + // {PB_13, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_USART3_PARTIAL)}, + {PD_3, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_USART2_ENABLE)}, + {PD_11, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_USART3_ENABLE)}, + {NC, NP, 0} +}; +#endif + +//*** SPI *** + +#ifdef HAL_SPI_MODULE_ENABLED +WEAK const PinMap PinMap_SPI_MOSI[] = { + {PA_7, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, + // {PB_5, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_SPI1_ENABLE)}, + {PB_5, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, + {PB_15, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_SPI_MODULE_ENABLED +WEAK const PinMap PinMap_SPI_MISO[] = { + {PA_6, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, + // {PB_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_SPI1_ENABLE)}, + {PB_4, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, + {PB_14, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_SPI_MODULE_ENABLED +WEAK const PinMap PinMap_SPI_SCLK[] = { + {PA_5, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, + // {PB_3, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_SPI1_ENABLE)}, + {PB_3, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, + {PB_13, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_SPI_MODULE_ENABLED +WEAK const PinMap PinMap_SPI_SSEL[] = { + {PA_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, + // {PA_15, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_SPI1_ENABLE)}, + {PA_15, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, + {PB_12, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, + {NC, NP, 0} +}; +#endif + +//*** CAN *** + +#ifdef HAL_CAN_MODULE_ENABLED +WEAK const PinMap PinMap_CAN_RD[] = { + {PA_11, CAN1, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, AFIO_NONE)}, + {PB_8, CAN1, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, AFIO_CAN1_2)}, + {PD_0, CAN1, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, AFIO_CAN1_3)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_CAN_MODULE_ENABLED +WEAK const PinMap PinMap_CAN_TD[] = { + {PA_12, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE)}, + {PB_9, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_CAN1_2)}, + {PD_1, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_CAN1_3)}, + {NC, NP, 0} +}; +#endif + +//*** No ETHERNET *** + +//*** No QUADSPI *** + +//*** USB *** + +#ifdef HAL_PCD_MODULE_ENABLED +WEAK const PinMap PinMap_USB[] = { + {PA_11, USB, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, AFIO_NONE)}, // USB_DM + {PA_12, USB, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, AFIO_NONE)}, // USB_DP + {NC, NP, 0} +}; +#endif + +//*** No USB_OTG_FS *** + +//*** No USB_OTG_HS *** + +//*** SD *** + +#ifdef HAL_SD_MODULE_ENABLED +WEAK const PinMap PinMap_SD[] = { + // {PB_8, SDIO, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, // SDIO_D4 + // {PB_9, SDIO, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, // SDIO_D5 + // {PC_6, SDIO, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, // SDIO_D6 + // {PC_7, SDIO, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, // SDIO_D7 + {PC_8, SDIO, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, // SDIO_D0 + {PC_9, SDIO, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, // SDIO_D1 + {PC_10, SDIO, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, // SDIO_D2 + {PC_11, SDIO, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)}, // SDIO_D3 + {PC_12, SDIO, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE)}, // SDIO_CK + {PD_2, SDIO, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE)}, // SDIO_CMD + {NC, NP, 0} +}; +#endif diff --git a/buildroot/share/PlatformIO/variants/MARLIN_F103Zx/PinNamesVar.h b/buildroot/share/PlatformIO/variants/MARLIN_F103Zx/PinNamesVar.h new file mode 100644 index 000000000000..d9076b4dfb59 --- /dev/null +++ b/buildroot/share/PlatformIO/variants/MARLIN_F103Zx/PinNamesVar.h @@ -0,0 +1,30 @@ +/* SYS_WKUP */ +#ifdef PWR_WAKEUP_PIN1 + SYS_WKUP1 = PA_0, +#endif +#ifdef PWR_WAKEUP_PIN2 + SYS_WKUP2 = NC, +#endif +#ifdef PWR_WAKEUP_PIN3 + SYS_WKUP3 = NC, +#endif +#ifdef PWR_WAKEUP_PIN4 + SYS_WKUP4 = NC, +#endif +#ifdef PWR_WAKEUP_PIN5 + SYS_WKUP5 = NC, +#endif +#ifdef PWR_WAKEUP_PIN6 + SYS_WKUP6 = NC, +#endif +#ifdef PWR_WAKEUP_PIN7 + SYS_WKUP7 = NC, +#endif +#ifdef PWR_WAKEUP_PIN8 + SYS_WKUP8 = NC, +#endif +/* USB */ +#ifdef USBCON + USB_DM = PA_11, + USB_DP = PA_12, +#endif diff --git a/buildroot/share/PlatformIO/variants/MARLIN_F103Zx/hal_conf_custom.h b/buildroot/share/PlatformIO/variants/MARLIN_F103Zx/hal_conf_custom.h new file mode 100644 index 000000000000..014943f311ed --- /dev/null +++ b/buildroot/share/PlatformIO/variants/MARLIN_F103Zx/hal_conf_custom.h @@ -0,0 +1,412 @@ +/** + ****************************************************************************** + * @file stm32f1xx_hal_conf_default.h + * @brief HAL default configuration file. + ****************************************************************************** + * @attention + * + *

© Copyright (c) 2017 STMicroelectronics. + * All rights reserved.

+ * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + */ + +/* Define to prevent recursive inclusion -------------------------------------*/ +#ifndef __STM32F1xx_HAL_CONF_DEFAULT_H +#define __STM32F1xx_HAL_CONF_DEFAULT_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* Exported types ------------------------------------------------------------*/ +/* Exported constants --------------------------------------------------------*/ + +/* ########################## Module Selection ############################## */ +/** + * @brief Include the default list of modules to be used in the HAL driver + * and manage module deactivation + */ +#include "stm32yyxx_hal_conf.h" +#if 0 +/** + * @brief This is the list of modules to be used in the HAL driver + */ +#define HAL_MODULE_ENABLED +#define HAL_ADC_MODULE_ENABLED +#define HAL_CAN_MODULE_ENABLED +/*#define HAL_CAN_LEGACY_MODULE_ENABLED*/ +#define HAL_CEC_MODULE_ENABLED +#define HAL_CORTEX_MODULE_ENABLED +#define HAL_CRC_MODULE_ENABLED +#define HAL_DAC_MODULE_ENABLED +#define HAL_DMA_MODULE_ENABLED +#define HAL_ETH_MODULE_ENABLED +#define HAL_EXTI_MODULE_ENABLED +#define HAL_FLASH_MODULE_ENABLED +#define HAL_GPIO_MODULE_ENABLED +#define HAL_HCD_MODULE_ENABLED +#define HAL_I2C_MODULE_ENABLED +#define HAL_I2S_MODULE_ENABLED +#define HAL_IRDA_MODULE_ENABLED +#define HAL_IWDG_MODULE_ENABLED +#define HAL_NAND_MODULE_ENABLED +#define HAL_NOR_MODULE_ENABLED +#define HAL_PCCARD_MODULE_ENABLED +#define HAL_PCD_MODULE_ENABLED +#define HAL_PWR_MODULE_ENABLED +#define HAL_RCC_MODULE_ENABLED +#define HAL_RTC_MODULE_ENABLED +#define HAL_SD_MODULE_ENABLED +#define HAL_SMARTCARD_MODULE_ENABLED +#define HAL_SPI_MODULE_ENABLED +#define HAL_SRAM_MODULE_ENABLED +#define HAL_TIM_MODULE_ENABLED +#define HAL_UART_MODULE_ENABLED +#define HAL_USART_MODULE_ENABLED +#define HAL_WWDG_MODULE_ENABLED +#define HAL_MMC_MODULE_ENABLED +#endif + +/* ########################## Oscillator Values adaptation ####################*/ +/** + * @brief Adjust the value of External High Speed oscillator (HSE) used in your application. + * This value is used by the RCC HAL module to compute the system frequency + * (when HSE is used as system clock source, directly or through the PLL). + */ +#if !defined (HSE_VALUE) +#if defined(USE_STM3210C_EVAL) +#define HSE_VALUE 25000000U /*!< Value of the External oscillator in Hz */ +#else +#define HSE_VALUE 8000000U /*!< Value of the External oscillator in Hz */ +#endif +#endif /* HSE_VALUE */ + +#if !defined (HSE_STARTUP_TIMEOUT) +#define HSE_STARTUP_TIMEOUT 100U /*!< Time out for HSE start up, in ms */ +#endif /* HSE_STARTUP_TIMEOUT */ + +/** + * @brief Internal High Speed oscillator (HSI) value. + * This value is used by the RCC HAL module to compute the system frequency + * (when HSI is used as system clock source, directly or through the PLL). + */ +#if !defined (HSI_VALUE) +#define HSI_VALUE 8000000U /*!< Value of the Internal oscillator in Hz */ +#endif /* HSI_VALUE */ + +/** + * @brief Internal Low Speed oscillator (LSI) value. + */ +#if !defined (LSI_VALUE) +#define LSI_VALUE 40000U /*!< LSI Typical Value in Hz */ +#endif /* LSI_VALUE */ /*!< Value of the Internal Low Speed oscillator in Hz + The real value may vary depending on the variations + in voltage and temperature. */ +/** + * @brief External Low Speed oscillator (LSE) value. + * This value is used by the UART, RTC HAL module to compute the system frequency + */ +#if !defined (LSE_VALUE) +#define LSE_VALUE 32768U /*!< Value of the External Low Speed oscillator in Hz */ +#endif /* LSE_VALUE */ + +#if !defined (LSE_STARTUP_TIMEOUT) +#define LSE_STARTUP_TIMEOUT 5000U /*!< Time out for LSE start up, in ms */ +#endif /* LSE_STARTUP_TIMEOUT */ + +/* Tip: To avoid modifying this file each time you need to use different HSE, + === you can define the HSE value in your toolchain compiler preprocessor. */ + +/* ########################### System Configuration ######################### */ +/** + * @brief This is the HAL system configuration section + */ +#if !defined(VDD_VALUE) +#define VDD_VALUE 3300U /*!< Value of VDD in mv */ +#endif +#if !defined (TICK_INT_PRIORITY) +#define TICK_INT_PRIORITY 0x00U /*!< tick interrupt priority */ +#endif +#if !defined (USE_RTOS) +#define USE_RTOS 0U +#endif +#if !defined (PREFETCH_ENABLE) +#define PREFETCH_ENABLE 1U +#endif + +#define USE_HAL_ADC_REGISTER_CALLBACKS 0U /* ADC register callback disabled */ +#define USE_HAL_CAN_REGISTER_CALLBACKS 0U /* CAN register callback disabled */ +#define USE_HAL_CEC_REGISTER_CALLBACKS 0U /* CEC register callback disabled */ +#define USE_HAL_DAC_REGISTER_CALLBACKS 0U /* DAC register callback disabled */ +#define USE_HAL_ETH_REGISTER_CALLBACKS 0U /* ETH register callback disabled */ +#define USE_HAL_HCD_REGISTER_CALLBACKS 0U /* HCD register callback disabled */ +#define USE_HAL_I2C_REGISTER_CALLBACKS 0U /* I2C register callback disabled */ +#define USE_HAL_I2S_REGISTER_CALLBACKS 0U /* I2S register callback disabled */ +#define USE_HAL_MMC_REGISTER_CALLBACKS 0U /* MMC register callback disabled */ +#define USE_HAL_NAND_REGISTER_CALLBACKS 0U /* NAND register callback disabled */ +#define USE_HAL_NOR_REGISTER_CALLBACKS 0U /* NOR register callback disabled */ +#define USE_HAL_PCCARD_REGISTER_CALLBACKS 0U /* PCCARD register callback disabled */ +#define USE_HAL_PCD_REGISTER_CALLBACKS 0U /* PCD register callback disabled */ +#define USE_HAL_RTC_REGISTER_CALLBACKS 0U /* RTC register callback disabled */ +#define USE_HAL_SD_REGISTER_CALLBACKS 0U /* SD register callback disabled */ +#define USE_HAL_SMARTCARD_REGISTER_CALLBACKS 0U /* SMARTCARD register callback disabled */ +#define USE_HAL_IRDA_REGISTER_CALLBACKS 0U /* IRDA register callback disabled */ +#define USE_HAL_SRAM_REGISTER_CALLBACKS 0U /* SRAM register callback disabled */ +#define USE_HAL_SPI_REGISTER_CALLBACKS 0U /* SPI register callback disabled */ +#define USE_HAL_TIM_REGISTER_CALLBACKS 0U /* TIM register callback disabled */ +#define USE_HAL_UART_REGISTER_CALLBACKS 0U /* UART register callback disabled */ +#define USE_HAL_USART_REGISTER_CALLBACKS 0U /* USART register callback disabled */ +#define USE_HAL_WWDG_REGISTER_CALLBACKS 0U /* WWDG register callback disabled */ + +/* ########################## Assert Selection ############################## */ +/** + * @brief Uncomment the line below to expanse the "assert_param" macro in the + * HAL drivers code + */ +/* #define USE_FULL_ASSERT 1U */ + +/* ################## Ethernet peripheral configuration ##################### */ + +/* Section 1 : Ethernet peripheral configuration */ + +/* MAC ADDRESS: MAC_ADDR0:MAC_ADDR1:MAC_ADDR2:MAC_ADDR3:MAC_ADDR4:MAC_ADDR5 */ +#define MAC_ADDR0 2U +#define MAC_ADDR1 0U +#define MAC_ADDR2 0U +#define MAC_ADDR3 0U +#define MAC_ADDR4 0U +#define MAC_ADDR5 0U + +/* Definition of the Ethernet driver buffers size and count */ +#define ETH_RX_BUF_SIZE ETH_MAX_PACKET_SIZE /* buffer size for receive */ +#define ETH_TX_BUF_SIZE ETH_MAX_PACKET_SIZE /* buffer size for transmit */ +#define ETH_RXBUFNB 8U /* 8 Rx buffers of size ETH_RX_BUF_SIZE */ +#define ETH_TXBUFNB 4U /* 4 Tx buffers of size ETH_TX_BUF_SIZE */ + +/* Section 2: PHY configuration section */ + +/* DP83848 PHY Address*/ +#define DP83848_PHY_ADDRESS 0x01U +/* PHY Reset delay these values are based on a 1 ms Systick interrupt*/ +#define PHY_RESET_DELAY 0x000000FFU +/* PHY Configuration delay */ +#define PHY_CONFIG_DELAY 0x00000FFFU + +#define PHY_READ_TO 0x0000FFFFU +#define PHY_WRITE_TO 0x0000FFFFU + +/* Section 3: Common PHY Registers */ + +#define PHY_BCR ((uint16_t)0x0000) /*!< Transceiver Basic Control Register */ +#define PHY_BSR ((uint16_t)0x0001) /*!< Transceiver Basic Status Register */ + +#define PHY_RESET ((uint16_t)0x8000) /*!< PHY Reset */ +#define PHY_LOOPBACK ((uint16_t)0x4000) /*!< Select loop-back mode */ +#define PHY_FULLDUPLEX_100M ((uint16_t)0x2100) /*!< Set the full-duplex mode at 100 Mb/s */ +#define PHY_HALFDUPLEX_100M ((uint16_t)0x2000) /*!< Set the half-duplex mode at 100 Mb/s */ +#define PHY_FULLDUPLEX_10M ((uint16_t)0x0100) /*!< Set the full-duplex mode at 10 Mb/s */ +#define PHY_HALFDUPLEX_10M ((uint16_t)0x0000) /*!< Set the half-duplex mode at 10 Mb/s */ +#define PHY_AUTONEGOTIATION ((uint16_t)0x1000) /*!< Enable auto-negotiation function */ +#define PHY_RESTART_AUTONEGOTIATION ((uint16_t)0x0200) /*!< Restart auto-negotiation function */ +#define PHY_POWERDOWN ((uint16_t)0x0800) /*!< Select the power down mode */ +#define PHY_ISOLATE ((uint16_t)0x0400) /*!< Isolate PHY from MII */ + +#define PHY_AUTONEGO_COMPLETE ((uint16_t)0x0020) /*!< Auto-Negotiation process completed */ +#define PHY_LINKED_STATUS ((uint16_t)0x0004) /*!< Valid link established */ +#define PHY_JABBER_DETECTION ((uint16_t)0x0002) /*!< Jabber condition detected */ + +/* Section 4: Extended PHY Registers */ + +#define PHY_SR ((uint16_t)0x0010) /*!< PHY status register Offset */ +#define PHY_MICR ((uint16_t)0x0011) /*!< MII Interrupt Control Register */ +#define PHY_MISR ((uint16_t)0x0012) /*!< MII Interrupt Status and Misc. Control Register */ + +#define PHY_LINK_STATUS ((uint16_t)0x0001) /*!< PHY Link mask */ +#define PHY_SPEED_STATUS ((uint16_t)0x0002) /*!< PHY Speed mask */ +#define PHY_DUPLEX_STATUS ((uint16_t)0x0004) /*!< PHY Duplex mask */ + +#define PHY_MICR_INT_EN ((uint16_t)0x0002) /*!< PHY Enable interrupts */ +#define PHY_MICR_INT_OE ((uint16_t)0x0001) /*!< PHY Enable output interrupt events */ + +#define PHY_MISR_LINK_INT_EN ((uint16_t)0x0020) /*!< Enable Interrupt on change of link status */ +#define PHY_LINK_INTERRUPT ((uint16_t)0x2000) /*!< PHY link status interrupt mask */ + +/* ################## SPI peripheral configuration ########################## */ + +/* CRC FEATURE: Use to activate CRC feature inside HAL SPI Driver +* Activated: CRC code is present inside driver +* Deactivated: CRC code cleaned from driver +*/ +#if !defined (USE_SPI_CRC) +#define USE_SPI_CRC 0U +#endif + +/* Includes ------------------------------------------------------------------*/ +/** + * @brief Include module's header file + */ + +#ifdef HAL_RCC_MODULE_ENABLED +#include "stm32f1xx_hal_rcc.h" +#endif /* HAL_RCC_MODULE_ENABLED */ + +#ifdef HAL_GPIO_MODULE_ENABLED +#include "stm32f1xx_hal_gpio.h" +#endif /* HAL_GPIO_MODULE_ENABLED */ + +#ifdef HAL_EXTI_MODULE_ENABLED +#include "stm32f1xx_hal_exti.h" +#endif /* HAL_EXTI_MODULE_ENABLED */ + +#ifdef HAL_DMA_MODULE_ENABLED +#include "stm32f1xx_hal_dma.h" +#endif /* HAL_DMA_MODULE_ENABLED */ + +#ifdef HAL_ETH_MODULE_ENABLED +#include "stm32f1xx_hal_eth.h" +#endif /* HAL_ETH_MODULE_ENABLED */ + +#ifdef HAL_CAN_MODULE_ENABLED +#include "stm32f1xx_hal_can.h" +#endif /* HAL_CAN_MODULE_ENABLED */ + +#ifdef HAL_CAN_LEGACY_MODULE_ENABLED + #include "Legacy/stm32f1xx_hal_can_legacy.h" +#endif /* HAL_CAN_LEGACY_MODULE_ENABLED */ + +#ifdef HAL_CEC_MODULE_ENABLED +#include "stm32f1xx_hal_cec.h" +#endif /* HAL_CEC_MODULE_ENABLED */ + +#ifdef HAL_CORTEX_MODULE_ENABLED +#include "stm32f1xx_hal_cortex.h" +#endif /* HAL_CORTEX_MODULE_ENABLED */ + +#ifdef HAL_ADC_MODULE_ENABLED +#include "stm32f1xx_hal_adc.h" +#endif /* HAL_ADC_MODULE_ENABLED */ + +#ifdef HAL_CRC_MODULE_ENABLED +#include "stm32f1xx_hal_crc.h" +#endif /* HAL_CRC_MODULE_ENABLED */ + +#ifdef HAL_DAC_MODULE_ENABLED +#include "stm32f1xx_hal_dac.h" +#endif /* HAL_DAC_MODULE_ENABLED */ + +#ifdef HAL_FLASH_MODULE_ENABLED +#include "stm32f1xx_hal_flash.h" +#endif /* HAL_FLASH_MODULE_ENABLED */ + +#ifdef HAL_SRAM_MODULE_ENABLED +#include "stm32f1xx_hal_sram.h" +#endif /* HAL_SRAM_MODULE_ENABLED */ + +#ifdef HAL_NOR_MODULE_ENABLED +#include "stm32f1xx_hal_nor.h" +#endif /* HAL_NOR_MODULE_ENABLED */ + +#ifdef HAL_I2C_MODULE_ENABLED +#include "stm32f1xx_hal_i2c.h" +#endif /* HAL_I2C_MODULE_ENABLED */ + +#ifdef HAL_I2S_MODULE_ENABLED +#include "stm32f1xx_hal_i2s.h" +#endif /* HAL_I2S_MODULE_ENABLED */ + +#ifdef HAL_IWDG_MODULE_ENABLED +#include "stm32f1xx_hal_iwdg.h" +#endif /* HAL_IWDG_MODULE_ENABLED */ + +#ifdef HAL_PWR_MODULE_ENABLED +#include "stm32f1xx_hal_pwr.h" +#endif /* HAL_PWR_MODULE_ENABLED */ + +#ifdef HAL_RTC_MODULE_ENABLED +#include "stm32f1xx_hal_rtc.h" +#endif /* HAL_RTC_MODULE_ENABLED */ + +#ifdef HAL_PCCARD_MODULE_ENABLED +#include "stm32f1xx_hal_pccard.h" +#endif /* HAL_PCCARD_MODULE_ENABLED */ + +#ifdef HAL_SD_MODULE_ENABLED +#include "stm32f1xx_hal_sd.h" +#endif /* HAL_SD_MODULE_ENABLED */ + +#ifdef HAL_NAND_MODULE_ENABLED +#include "stm32f1xx_hal_nand.h" +#endif /* HAL_NAND_MODULE_ENABLED */ + +#ifdef HAL_SPI_MODULE_ENABLED +#include "stm32f1xx_hal_spi.h" +#endif /* HAL_SPI_MODULE_ENABLED */ + +#ifdef HAL_TIM_MODULE_ENABLED +#include "stm32f1xx_hal_tim.h" +#endif /* HAL_TIM_MODULE_ENABLED */ + +#ifdef HAL_UART_MODULE_ENABLED +#include "stm32f1xx_hal_uart.h" +#endif /* HAL_UART_MODULE_ENABLED */ + +#ifdef HAL_USART_MODULE_ENABLED +#include "stm32f1xx_hal_usart.h" +#endif /* HAL_USART_MODULE_ENABLED */ + +#ifdef HAL_IRDA_MODULE_ENABLED +#include "stm32f1xx_hal_irda.h" +#endif /* HAL_IRDA_MODULE_ENABLED */ + +#ifdef HAL_SMARTCARD_MODULE_ENABLED +#include "stm32f1xx_hal_smartcard.h" +#endif /* HAL_SMARTCARD_MODULE_ENABLED */ + +#ifdef HAL_WWDG_MODULE_ENABLED +#include "stm32f1xx_hal_wwdg.h" +#endif /* HAL_WWDG_MODULE_ENABLED */ + +#ifdef HAL_PCD_MODULE_ENABLED +#include "stm32f1xx_hal_pcd.h" +#endif /* HAL_PCD_MODULE_ENABLED */ + +#ifdef HAL_HCD_MODULE_ENABLED +#include "stm32f1xx_hal_hcd.h" +#endif /* HAL_HCD_MODULE_ENABLED */ + +#ifdef HAL_MMC_MODULE_ENABLED +#include "stm32f1xx_hal_mmc.h" +#endif /* HAL_MMC_MODULE_ENABLED */ + +/* Exported macro ------------------------------------------------------------*/ +#ifdef USE_FULL_ASSERT +/** + * @brief The assert_param macro is used for function's parameters check. + * @param expr If expr is false, it calls assert_failed function + * which reports the name of the source file and the source + * line number of the call that failed. + * If expr is true, it returns no value. + * @retval None + */ +#define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__)) +/* Exported functions ------------------------------------------------------- */ +void assert_failed(uint8_t *file, uint32_t line); +#else +#define assert_param(expr) ((void)0U) +#endif /* USE_FULL_ASSERT */ + + +#ifdef __cplusplus +} +#endif + +#endif /* __STM32F1xx_HAL_CONF_DEFAULT_H */ + + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/buildroot/share/PlatformIO/variants/MARLIN_F103Zx/ldscript.ld b/buildroot/share/PlatformIO/variants/MARLIN_F103Zx/ldscript.ld new file mode 100644 index 000000000000..09088b622c87 --- /dev/null +++ b/buildroot/share/PlatformIO/variants/MARLIN_F103Zx/ldscript.ld @@ -0,0 +1,197 @@ +/* +****************************************************************************** +** + +** File : LinkerScript.ld +** +** Author : Auto-generated by STM32CubeIDE +** +** Abstract : Linker script for STM32F103Z(C/D/E/G/GTx Device from STM32F1 series +** 256/386/512K/786/1024bytes FLASH +** 48/64/96Kbytes RAM +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Distribution: The file is distributed as is without any warranty +** of any kind. +** +***************************************************************************** +** @attention +** +**

© COPYRIGHT(c) 2019 STMicroelectronics

+** +** Redistribution and use in source and binary forms, with or without modification, +** are permitted provided that the following conditions are met: +** 1. Redistributions of source code must retain the above copyright notice, +** this list of conditions and the following disclaimer. +** 2. Redistributions in binary form must reproduce the above copyright notice, +** this list of conditions and the following disclaimer in the documentation +** and/or other materials provided with the distribution. +** 3. Neither the name of STMicroelectronics nor the names of its contributors +** may be used to endorse or promote products derived from this software +** without specific prior written permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +** DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +** FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +** DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +** SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +** OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x20000000 + LD_MAX_DATA_SIZE; /* end of "RAM" Ram type memory */ +_Min_Heap_Size = 0x200; /* required amount of heap */ +_Min_Stack_Size = 0x400; /* required amount of stack */ + +/* Memories definition */ +MEMORY +{ + RAM (xrw) : ORIGIN = 0x20000000, LENGTH = LD_MAX_DATA_SIZE + FLASH (rx) : ORIGIN = 0x8000000 + LD_FLASH_OFFSET, LENGTH = LD_MAX_SIZE - LD_FLASH_OFFSET +} + +/* Sections */ +SECTIONS +{ + /* The startup code into "FLASH" Rom type memory */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data into "FLASH" Rom type memory */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + *(.eh_frame) + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + /* Constant data into "FLASH" Rom type memory */ + .rodata : + { + . = ALIGN(4); + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + . = ALIGN(4); + } >FLASH + + .ARM.extab : { + . = ALIGN(4); + *(.ARM.extab* .gnu.linkonce.armextab.*) + . = ALIGN(4); + } >FLASH + .ARM : { + . = ALIGN(4); + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + . = ALIGN(4); + } >FLASH + + .preinit_array : + { + . = ALIGN(4); + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + . = ALIGN(4); + } >FLASH + .init_array : + { + . = ALIGN(4); + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + . = ALIGN(4); + } >FLASH + .fini_array : + { + . = ALIGN(4); + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(SORT(.fini_array.*))) + KEEP (*(.fini_array*)) + PROVIDE_HIDDEN (__fini_array_end = .); + . = ALIGN(4); + } >FLASH + + /* Used by the startup to initialize data */ + _sidata = LOADADDR(.data); + + /* Initialized data sections into "RAM" Ram type memory */ + .data : + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + } >RAM AT> FLASH + + + /* Uninitialized data section into "RAM" Ram type memory */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM + + /* User_heap_stack section, used to check that there is enough "RAM" Ram type memory left */ + ._user_heap_stack : + { + . = ALIGN(8); + PROVIDE ( end = . ); + PROVIDE ( _end = . ); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(8); + } >RAM + + /* Remove information from the compiler libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } + + .ARM.attributes 0 : { *(.ARM.attributes) } +} diff --git a/buildroot/share/PlatformIO/variants/MARLIN_F103Zx/variant.cpp b/buildroot/share/PlatformIO/variants/MARLIN_F103Zx/variant.cpp new file mode 100644 index 000000000000..ff7ab771c02b --- /dev/null +++ b/buildroot/share/PlatformIO/variants/MARLIN_F103Zx/variant.cpp @@ -0,0 +1,222 @@ +/* + ******************************************************************************* + * Copyright (c) 2019, STMicroelectronics + * All rights reserved. + * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ******************************************************************************* + */ + +#include "pins_arduino.h" + +#ifdef __cplusplus +extern "C" { +#endif + +// Digital PinName array +const PinName digitalPin[] = { + PA_0, //D0 + PA_1, //D1 + PA_2, //D2 + PA_3, //D3 + PA_4, //D4 + PA_5, //D5 + PA_6, //D6 + PA_7, //D7 + PA_8, //D8 + PA_9, //D9 + PA_10, //D10 + PA_11, //D11 + PA_12, //D12 + PA_13, //D13 + PA_14, //D14 + PA_15, //D15 + + PB_0, //D16 + PB_1, //D17 + PB_2, //D18 + PB_3, //D19 + PB_4, //D20 + PB_5, //D21 + PB_6, //D22 + PB_7, //D23 + PB_8, //D24 + PB_9, //D25 + PB_10, //D26 + PB_11, //D27 + PB_12, //D28 + PB_13, //D29 + PB_14, //D30 + PB_15, //D31 + + PC_0, //D32 + PC_1, //D33 + PC_2, //D34 + PC_3, //D35 + PC_4, //D36 + PC_5, //D37 + PC_6, //D38 + PC_7, //D39 + PC_8, //D40 + PC_9, //D41 + PC_10, //D42 + PC_11, //D43 + PC_12, //D44 + PC_13, //D45 + PC_14, //D46 + PC_15, //D47 + + PD_0, //D48 + PD_1, //D49 + PD_2, //D50 + PD_3, //D51 + PD_4, //D52 + PD_5, //D53 + PD_6, //D54 + PD_7, //D55 + PD_8, //D56 + PD_9, //D57 + PD_10, //D58 + PD_11, //D59 + PD_12, //D60 + PD_13, //D61 + PD_14, //D62 + PD_15, //D63 + + PE_0, //D64 + PE_1, //D65 + PE_2, //D66 + PE_3, //D67 + PE_4, //D68 + PE_5, //D69 + PE_6, //D70 + PE_7, //D71 + PE_8, //D72 + PE_9, //D73 + PE_10, //D74 + PE_11, //D75 + PE_12, //D76 + PE_13, //D77 + PE_14, //D78 + PE_15, //D79 + + PF_0, //D80 + PF_1, //D81 + PF_2, //D82 + PF_3, //D83 + PF_4, //D84 + PF_5, //D85 + PF_6, //D86 + PF_7, //D87 + PF_8, //D88 + PF_9, //D89 + PF_10, //D90 + PF_11, //D91 + PF_12, //D92 + PF_13, //D93 + PF_14, //D94 + PF_15, //D95 + + PG_0, //D96 + PG_1, //D97 + PG_2, //D98 + PG_3, //D99 + PG_4, //D100 + PG_5, //D101 + PG_6, //D102 + PG_7, //D103 + PG_8, //D104 + PG_9, //D105 + PG_10, //D106 + PG_11, //D107 + PG_12, //D108 + PG_13, //D109 + PG_14, //D110 + PG_15 //D111 +}; + +// Analog (Ax) pin number array +const uint32_t analogInputPin[] = { + 0, // A0, PA0 + 1, // A1, PA1 + 2, // A2, PA2 + 3, // A3, PA3 + 4, // A4, PA4 + 5, // A5, PA5 + 6, // A6, PA6 + 7, // A7, PA7 + 16, // A8, PB0 + 17, // A9, PB1 + 32, // A10, PC0 + 33, // A11, PC1 + 34, // A12, PC2 + 35, // A13, PC3 + 36, // A14, PC4 + 37, // A15, PC5 + 86, // A16, PF6 + 87, // A17, PF7 + 88, // A18, PF8 + 89, // A19, PF9 + 90 // A20, PF10 +}; + +#ifdef __cplusplus +} +#endif + +// ---------------------------------------------------------------------------- + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief System Clock Configuration + * @param None + * @retval None + */ +WEAK void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {}; + RCC_PeriphCLKInitTypeDef PeriphClkInit = {}; + + /* Initializes the CPU, AHB and APB busses clocks */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; + RCC_OscInitStruct.HSEState = RCC_HSE_ON; + RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV1; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; + RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL9; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { + Error_Handler(); + } + /* Initializes the CPU, AHB and APB busses clocks */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK + | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; + RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; + RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) { + Error_Handler(); + } + + PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC | RCC_PERIPHCLK_USB; + PeriphClkInit.AdcClockSelection = RCC_ADCPCLK2_DIV6; + PeriphClkInit.UsbClockSelection = RCC_USBCLKSOURCE_PLL_DIV1_5; + if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) { + Error_Handler(); + } +} + + +#ifdef __cplusplus +} +#endif diff --git a/buildroot/share/PlatformIO/variants/MARLIN_F103Zx/variant.h b/buildroot/share/PlatformIO/variants/MARLIN_F103Zx/variant.h new file mode 100644 index 000000000000..fb878f8b78f3 --- /dev/null +++ b/buildroot/share/PlatformIO/variants/MARLIN_F103Zx/variant.h @@ -0,0 +1,232 @@ +/* + ******************************************************************************* + * Copyright (c) 2019, STMicroelectronics + * All rights reserved. + * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ******************************************************************************* + */ + +#ifndef _VARIANT_ARDUINO_STM32_ +#define _VARIANT_ARDUINO_STM32_ + +#ifdef __cplusplus +extern "C" { +#endif // __cplusplus + +/*---------------------------------------------------------------------------- + * Pins + *----------------------------------------------------------------------------*/ +#define PA0 0 +#define PA1 1 +#define PA2 2 +#define PA3 3 +#define PA4 4 +#define PA5 5 +#define PA6 6 +#define PA7 7 +#define PA8 8 +#define PA9 9 +#define PA10 10 +#define PA11 11 +#define PA12 12 +#define PA13 13 +#define PA14 14 +#define PA15 15 + +#define PB0 16 +#define PB1 17 +#define PB2 18 +#define PB3 19 +#define PB4 20 +#define PB5 21 +#define PB6 22 +#define PB7 23 +#define PB8 24 +#define PB9 25 +#define PB10 26 +#define PB11 27 +#define PB12 28 +#define PB13 29 +#define PB14 30 +#define PB15 31 + +#define PC0 32 +#define PC1 33 +#define PC2 34 +#define PC3 35 +#define PC4 36 +#define PC5 37 +#define PC6 38 +#define PC7 39 +#define PC8 40 +#define PC9 41 +#define PC10 42 +#define PC11 43 +#define PC12 44 +#define PC13 45 +#define PC14 46 +#define PC15 47 + +#define PD0 48 +#define PD1 49 +#define PD2 50 +#define PD3 51 +#define PD4 52 +#define PD5 53 +#define PD6 54 +#define PD7 55 +#define PD8 56 +#define PD9 57 +#define PD10 58 +#define PD11 59 +#define PD12 60 +#define PD13 61 +#define PD14 62 +#define PD15 63 + +#define PE0 64 +#define PE1 65 +#define PE2 66 +#define PE3 67 +#define PE4 68 +#define PE5 69 +#define PE6 70 +#define PE7 71 +#define PE8 72 +#define PE9 73 +#define PE10 74 +#define PE11 75 +#define PE12 76 +#define PE13 77 +#define PE14 78 +#define PE15 79 + +#define PF0 80 +#define PF1 81 +#define PF2 82 +#define PF3 83 +#define PF4 84 +#define PF5 85 +#define PF6 86 +#define PF7 87 +#define PF8 88 +#define PF9 89 +#define PF10 90 +#define PF11 91 +#define PF12 92 +#define PF13 93 +#define PF14 94 +#define PF15 95 + +#define PG0 96 +#define PG1 97 +#define PG2 98 +#define PG3 99 +#define PG4 100 +#define PG5 101 +#define PG6 102 +#define PG7 103 +#define PG8 104 +#define PG9 105 +#define PG10 106 +#define PG11 107 +#define PG12 108 +#define PG13 109 +#define PG14 110 +#define PG15 111 + +// This must be a literal +#define NUM_DIGITAL_PINS 112 +#define NUM_ANALOG_INPUTS 21 + +// On-board LED pin number +#ifdef ARDUINO_VCCGND_F103ZET6_MINI +#define LED_BUILTIN PG15 +#elif defined(ARDUINO_VCCGND_F103ZET6) +#define LED_BUILTIN PC13 +#elif !defined(LED_BUILTIN) +#define LED_BUILTIN PC13 +#endif + +// On-board user button +#ifndef USER_BTN +#define USER_BTN PB1 +#endif + +// SPI Definitions +#ifdef ARDUINO_VCCGND_F103ZET6 +#define PIN_SPI_SS PA15 +#define PIN_SPI_MOSI PB5 +#define PIN_SPI_MISO PB4 +#define PIN_SPI_SCK PB3 +#else +#define PIN_SPI_SS PC4 +#define PIN_SPI_MOSI PA7 +#define PIN_SPI_MISO PA6 +#define PIN_SPI_SCK PA5 +#endif + +// I2C Definitions +#define PIN_WIRE_SDA PB7 +#define PIN_WIRE_SCL PB6 + +// Timer Definitions (optional) +// Use TIM6/TIM7 when possible as servo and tone don't need GPIO output pin +#define TIMER_TONE TIM6 +#define TIMER_SERVO TIM7 + +// UART Definitions +// Define here Serial instance number to map on Serial generic name +#define SERIAL_UART_INSTANCE 1 + +// Default pin used for 'Serial' instance (ex: ST-Link) +// Mandatory for Firmata +#define PIN_SERIAL_RX PA10 +#define PIN_SERIAL_TX PA9 + +// Default pin used for 'Serial2' instance +#define PIN_SERIAL2_RX PA3 +#define PIN_SERIAL2_TX PA2 + +// Default pin used for 'Serial3' instance +#define PIN_SERIAL3_RX PB11 +#define PIN_SERIAL3_TX PB10 + +/* Extra HAL modules */ +#define HAL_DAC_MODULE_ENABLED +#define HAL_SD_MODULE_ENABLED +#define HAL_SRAM_MODULE_ENABLED + +#ifdef __cplusplus +} // extern "C" +#endif +/*---------------------------------------------------------------------------- + * Arduino objects - C++ only + *----------------------------------------------------------------------------*/ + +#ifdef __cplusplus + // These serial port names are intended to allow libraries and architecture-neutral + // sketches to automatically default to the correct port name for a particular type + // of use. For example, a GPS module would normally connect to SERIAL_PORT_HARDWARE_OPEN, + // the first hardware serial port whose RX/TX pins are not dedicated to another use. + // + // SERIAL_PORT_MONITOR Port which normally prints to the Arduino Serial Monitor + // + // SERIAL_PORT_USBVIRTUAL Port which is USB virtual serial + // + // SERIAL_PORT_LINUXBRIDGE Port which connects to a Linux system via Bridge library + // + // SERIAL_PORT_HARDWARE Hardware serial port, physical RX & TX pins. + // + // SERIAL_PORT_HARDWARE_OPEN Hardware serial ports which are open for use. Their RX & TX + // pins are NOT connected to anything by default. + #define SERIAL_PORT_MONITOR Serial + #define SERIAL_PORT_HARDWARE Serial1 +#endif + +#endif /* _VARIANT_ARDUINO_STM32_ */ diff --git a/buildroot/share/PlatformIO/variants/MARLIN_F407VE/PeripheralPins.c b/buildroot/share/PlatformIO/variants/MARLIN_F407VE/PeripheralPins.c index 6b6cfdbcb0b8..d3c76713bf53 100644 --- a/buildroot/share/PlatformIO/variants/MARLIN_F407VE/PeripheralPins.c +++ b/buildroot/share/PlatformIO/variants/MARLIN_F407VE/PeripheralPins.c @@ -122,9 +122,7 @@ WEAK const PinMap PinMap_I2C_SDA[] = { #endif {NC, NP, 0} }; -#endif -#ifdef HAL_I2C_MODULE_ENABLED WEAK const PinMap PinMap_I2C_SCL[] = { {PA_8, I2C3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C3)}, {PB_6, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, @@ -239,9 +237,7 @@ WEAK const PinMap PinMap_UART_TX[] = { #endif {NC, NP, 0} }; -#endif -#ifdef HAL_UART_MODULE_ENABLED WEAK const PinMap PinMap_UART_RX[] = { {PA_1, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, {PA_3, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, @@ -259,9 +255,7 @@ WEAK const PinMap PinMap_UART_RX[] = { #endif {NC, NP, 0} }; -#endif -#ifdef HAL_UART_MODULE_ENABLED WEAK const PinMap PinMap_UART_RTS[] = { {PA_1, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, {PA_12, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, @@ -274,9 +268,7 @@ WEAK const PinMap PinMap_UART_RTS[] = { #endif {NC, NP, 0} }; -#endif -#ifdef HAL_UART_MODULE_ENABLED WEAK const PinMap PinMap_UART_CTS[] = { {PA_0, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, {PA_11, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, @@ -303,9 +295,7 @@ WEAK const PinMap PinMap_SPI_MOSI[] = { {PC_12, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, {NC, NP, 0} }; -#endif -#ifdef HAL_SPI_MODULE_ENABLED WEAK const PinMap PinMap_SPI_MISO[] = { {PA_6, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, //{PB_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, @@ -315,9 +305,7 @@ WEAK const PinMap PinMap_SPI_MISO[] = { {PC_11, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, {NC, NP, 0} }; -#endif -#ifdef HAL_SPI_MODULE_ENABLED WEAK const PinMap PinMap_SPI_SCLK[] = { {PA_5, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, //{PB_3, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, @@ -327,9 +315,7 @@ WEAK const PinMap PinMap_SPI_SCLK[] = { {PC_10, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, {NC, NP, 0} }; -#endif -#ifdef HAL_SPI_MODULE_ENABLED WEAK const PinMap PinMap_SPI_SSEL[] = { {PA_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, //{PA_4, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, @@ -352,9 +338,7 @@ WEAK const PinMap PinMap_CAN_RD[] = { {PD_0, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, {NC, NP, 0} }; -#endif -#ifdef HAL_CAN_MODULE_ENABLED WEAK const PinMap PinMap_CAN_TD[] = { {PA_12, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN1)}, {PB_6, CAN2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_CAN2)}, @@ -388,12 +372,12 @@ WEAK const PinMap PinMap_Ethernet[] = { {PC_4, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_RXD0 {PC_5, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_RXD1 {PE_2, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD3 -#if defined(ARDUINO_BLACK_F407ZE) || defined(ARDUINO_BLACK_F407ZG) - {PG_8, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_PPS_OUT - {PG_11, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TX_EN - {PG_13, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD0 - {PG_14, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD1 -#endif + #if defined(ARDUINO_BLACK_F407ZE) || defined(ARDUINO_BLACK_F407ZG) + {PG_8, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_PPS_OUT + {PG_11, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TX_EN + {PG_13, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD0 + {PG_14, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD1 + #endif {NC, NP, 0} }; #endif @@ -411,9 +395,7 @@ WEAK const PinMap PinMap_USB_OTG_FS[] = { {PA_12, USB_OTG_FS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_FS)}, // USB_OTG_FS_DP {NC, NP, 0} }; -#endif -#ifdef HAL_PCD_MODULE_ENABLED WEAK const PinMap PinMap_USB_OTG_HS[] = { #ifdef USE_USB_HS_IN_FS {PA_4, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_SOF diff --git a/buildroot/share/PlatformIO/variants/megaextendedpins/pins_arduino.h b/buildroot/share/PlatformIO/variants/megaextendedpins/pins_arduino.h new file mode 100755 index 000000000000..77d0beca9b9d --- /dev/null +++ b/buildroot/share/PlatformIO/variants/megaextendedpins/pins_arduino.h @@ -0,0 +1,461 @@ +/* + pins_arduino.h - Pin definition functions for Arduino + Part of Arduino - http://www.arduino.cc/ + + Copyright (c) 2007 David A. Mellis + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General + Public License along with this library; if not, write to the + Free Software Foundation, Inc., 59 Temple Place, Suite 330, + Boston, MA 02111-1307 USA +*/ + +#ifndef Pins_Arduino_h +#define Pins_Arduino_h + +#include + +#define NUM_DIGITAL_PINS 86 +#define NUM_ANALOG_INPUTS 16 +#define analogInputToDigitalPin(p) ((p < 16) ? (p) + 54 : -1) +#define digitalPinHasPWM(p) (((p) >= 2 && (p) <= 13) || ((p) >= 44 && (p)<= 46)) + +#define PIN_SPI_SS (53) +#define PIN_SPI_MOSI (51) +#define PIN_SPI_MISO (50) +#define PIN_SPI_SCK (52) + +static const uint8_t SS = PIN_SPI_SS; +static const uint8_t MOSI = PIN_SPI_MOSI; +static const uint8_t MISO = PIN_SPI_MISO; +static const uint8_t SCK = PIN_SPI_SCK; + +#define PIN_WIRE_SDA (20) +#define PIN_WIRE_SCL (21) + +static const uint8_t SDA = PIN_WIRE_SDA; +static const uint8_t SCL = PIN_WIRE_SCL; + +#define LED_BUILTIN 13 + +#define PIN_A0 (54) +#define PIN_A1 (55) +#define PIN_A2 (56) +#define PIN_A3 (57) +#define PIN_A4 (58) +#define PIN_A5 (59) +#define PIN_A6 (60) +#define PIN_A7 (61) +#define PIN_A8 (62) +#define PIN_A9 (63) +#define PIN_A10 (64) +#define PIN_A11 (65) +#define PIN_A12 (66) +#define PIN_A13 (67) +#define PIN_A14 (68) +#define PIN_A15 (69) + +static const uint8_t A0 = PIN_A0; +static const uint8_t A1 = PIN_A1; +static const uint8_t A2 = PIN_A2; +static const uint8_t A3 = PIN_A3; +static const uint8_t A4 = PIN_A4; +static const uint8_t A5 = PIN_A5; +static const uint8_t A6 = PIN_A6; +static const uint8_t A7 = PIN_A7; +static const uint8_t A8 = PIN_A8; +static const uint8_t A9 = PIN_A9; +static const uint8_t A10 = PIN_A10; +static const uint8_t A11 = PIN_A11; +static const uint8_t A12 = PIN_A12; +static const uint8_t A13 = PIN_A13; +static const uint8_t A14 = PIN_A14; +static const uint8_t A15 = PIN_A15; + +// A majority of the pins are NOT PCINTs, SO BE WARNED (i.e. you cannot use them as receive pins) +// Only pins available for RECEIVE (TRANSMIT can be on any pin): +// (I've deliberately left out pin mapping to the Hardware USARTs - seems senseless to me) +// Pins: 10, 11, 12, 13, 50, 51, 52, 53, 62, 63, 64, 65, 66, 67, 68, 69 + +#define digitalPinToPCICR(p) ( (((p) >= 10) && ((p) <= 13)) || \ + (((p) >= 50) && ((p) <= 53)) || \ + (((p) >= 62) && ((p) <= 69)) ? (&PCICR) : ((uint8_t *)0) ) + +#define digitalPinToPCICRbit(p) ( (((p) >= 10) && ((p) <= 13)) || (((p) >= 50) && ((p) <= 53)) ? 0 : \ + ( (((p) >= 62) && ((p) <= 69)) ? 2 : \ + 0 ) ) + +#define digitalPinToPCMSK(p) ( (((p) >= 10) && ((p) <= 13)) || (((p) >= 50) && ((p) <= 53)) ? (&PCMSK0) : \ + ( (((p) >= 62) && ((p) <= 69)) ? (&PCMSK2) : \ + ((uint8_t *)0) ) ) + +#define digitalPinToPCMSKbit(p) ( (((p) >= 10) && ((p) <= 13)) ? ((p) - 6) : \ + ( ((p) == 50) ? 3 : \ + ( ((p) == 51) ? 2 : \ + ( ((p) == 52) ? 1 : \ + ( ((p) == 53) ? 0 : \ + ( (((p) >= 62) && ((p) <= 69)) ? ((p) - 62) : \ + 0 ) ) ) ) ) ) + +#define digitalPinToInterrupt(p) ((p) == 2 ? 0 : ((p) == 3 ? 1 : ((p) >= 18 && (p) <= 21 ? 23 - (p) : NOT_AN_INTERRUPT))) + +#ifdef ARDUINO_MAIN + +const uint16_t PROGMEM port_to_mode_PGM[] = { + NOT_A_PORT, + (uint16_t) &DDRA, + (uint16_t) &DDRB, + (uint16_t) &DDRC, + (uint16_t) &DDRD, + (uint16_t) &DDRE, + (uint16_t) &DDRF, + (uint16_t) &DDRG, + (uint16_t) &DDRH, + NOT_A_PORT, + (uint16_t) &DDRJ, + (uint16_t) &DDRK, + (uint16_t) &DDRL, +}; + +const uint16_t PROGMEM port_to_output_PGM[] = { + NOT_A_PORT, + (uint16_t) &PORTA, + (uint16_t) &PORTB, + (uint16_t) &PORTC, + (uint16_t) &PORTD, + (uint16_t) &PORTE, + (uint16_t) &PORTF, + (uint16_t) &PORTG, + (uint16_t) &PORTH, + NOT_A_PORT, + (uint16_t) &PORTJ, + (uint16_t) &PORTK, + (uint16_t) &PORTL, +}; + +const uint16_t PROGMEM port_to_input_PGM[] = { + NOT_A_PIN, + (uint16_t) &PINA, + (uint16_t) &PINB, + (uint16_t) &PINC, + (uint16_t) &PIND, + (uint16_t) &PINE, + (uint16_t) &PINF, + (uint16_t) &PING, + (uint16_t) &PINH, + NOT_A_PIN, + (uint16_t) &PINJ, + (uint16_t) &PINK, + (uint16_t) &PINL, +}; + +const uint8_t PROGMEM digital_pin_to_port_PGM[] = { + // PORTLIST + // ------------------------------------------- + PE , // PE 0 ** 0 ** USART0_RX + PE , // PE 1 ** 1 ** USART0_TX + PE , // PE 4 ** 2 ** PWM2 + PE , // PE 5 ** 3 ** PWM3 + PG , // PG 5 ** 4 ** PWM4 + PE , // PE 3 ** 5 ** PWM5 + PH , // PH 3 ** 6 ** PWM6 + PH , // PH 4 ** 7 ** PWM7 + PH , // PH 5 ** 8 ** PWM8 + PH , // PH 6 ** 9 ** PWM9 + PB , // PB 4 ** 10 ** PWM10 + PB , // PB 5 ** 11 ** PWM11 + PB , // PB 6 ** 12 ** PWM12 + PB , // PB 7 ** 13 ** PWM13 + PJ , // PJ 1 ** 14 ** USART3_TX + PJ , // PJ 0 ** 15 ** USART3_RX + PH , // PH 1 ** 16 ** USART2_TX + PH , // PH 0 ** 17 ** USART2_RX + PD , // PD 3 ** 18 ** USART1_TX + PD , // PD 2 ** 19 ** USART1_RX + PD , // PD 1 ** 20 ** I2C_SDA + PD , // PD 0 ** 21 ** I2C_SCL + PA , // PA 0 ** 22 ** D22 + PA , // PA 1 ** 23 ** D23 + PA , // PA 2 ** 24 ** D24 + PA , // PA 3 ** 25 ** D25 + PA , // PA 4 ** 26 ** D26 + PA , // PA 5 ** 27 ** D27 + PA , // PA 6 ** 28 ** D28 + PA , // PA 7 ** 29 ** D29 + PC , // PC 7 ** 30 ** D30 + PC , // PC 6 ** 31 ** D31 + PC , // PC 5 ** 32 ** D32 + PC , // PC 4 ** 33 ** D33 + PC , // PC 3 ** 34 ** D34 + PC , // PC 2 ** 35 ** D35 + PC , // PC 1 ** 36 ** D36 + PC , // PC 0 ** 37 ** D37 + PD , // PD 7 ** 38 ** D38 + PG , // PG 2 ** 39 ** D39 + PG , // PG 1 ** 40 ** D40 + PG , // PG 0 ** 41 ** D41 + PL , // PL 7 ** 42 ** D42 + PL , // PL 6 ** 43 ** D43 + PL , // PL 5 ** 44 ** D44 + PL , // PL 4 ** 45 ** D45 + PL , // PL 3 ** 46 ** D46 + PL , // PL 2 ** 47 ** D47 + PL , // PL 1 ** 48 ** D48 + PL , // PL 0 ** 49 ** D49 + PB , // PB 3 ** 50 ** SPI_MISO + PB , // PB 2 ** 51 ** SPI_MOSI + PB , // PB 1 ** 52 ** SPI_SCK + PB , // PB 0 ** 53 ** SPI_SS + PF , // PF 0 ** 54 ** A0 + PF , // PF 1 ** 55 ** A1 + PF , // PF 2 ** 56 ** A2 + PF , // PF 3 ** 57 ** A3 + PF , // PF 4 ** 58 ** A4 + PF , // PF 5 ** 59 ** A5 + PF , // PF 6 ** 60 ** A6 + PF , // PF 7 ** 61 ** A7 + PK , // PK 0 ** 62 ** A8 + PK , // PK 1 ** 63 ** A9 + PK , // PK 2 ** 64 ** A10 + PK , // PK 3 ** 65 ** A11 + PK , // PK 4 ** 66 ** A12 + PK , // PK 5 ** 67 ** A13 + PK , // PK 6 ** 68 ** A14 + PK , // PK 7 ** 69 ** A15 + PG , // PG 4 ** 70 ** D70 + PG , // PG 3 ** 71 ** D71 + PJ , // PJ 2 ** 72 ** D72 + PJ , // PJ 3 ** 73 ** D73 + PJ , // PJ 7 ** 74 ** D74 + PJ , // PJ 4 ** 75 ** D75 + PJ , // PJ 5 ** 76 ** D76 + PJ , // PJ 6 ** 77 ** D77 + PE , // PE 2 ** 78 ** D78 + PE , // PE 6 ** 79 ** D79 + PE , // PE 7 ** 80 ** D80 + PD , // PD 4 ** 81 ** D81 + PD , // PD 5 ** 82 ** D82 + PD , // PD 6 ** 83 ** D83 + PH , // PH 2 ** 84 ** D84 + PH , // PH 7 ** 85 ** D85 +}; + +const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[] = { + // PIN IN PORT + // ------------------------------------------- + _BV( 0 ) , // PE 0 ** 0 ** USART0_RX + _BV( 1 ) , // PE 1 ** 1 ** USART0_TX + _BV( 4 ) , // PE 4 ** 2 ** PWM2 + _BV( 5 ) , // PE 5 ** 3 ** PWM3 + _BV( 5 ) , // PG 5 ** 4 ** PWM4 + _BV( 3 ) , // PE 3 ** 5 ** PWM5 + _BV( 3 ) , // PH 3 ** 6 ** PWM6 + _BV( 4 ) , // PH 4 ** 7 ** PWM7 + _BV( 5 ) , // PH 5 ** 8 ** PWM8 + _BV( 6 ) , // PH 6 ** 9 ** PWM9 + _BV( 4 ) , // PB 4 ** 10 ** PWM10 + _BV( 5 ) , // PB 5 ** 11 ** PWM11 + _BV( 6 ) , // PB 6 ** 12 ** PWM12 + _BV( 7 ) , // PB 7 ** 13 ** PWM13 + _BV( 1 ) , // PJ 1 ** 14 ** USART3_TX + _BV( 0 ) , // PJ 0 ** 15 ** USART3_RX + _BV( 1 ) , // PH 1 ** 16 ** USART2_TX + _BV( 0 ) , // PH 0 ** 17 ** USART2_RX + _BV( 3 ) , // PD 3 ** 18 ** USART1_TX + _BV( 2 ) , // PD 2 ** 19 ** USART1_RX + _BV( 1 ) , // PD 1 ** 20 ** I2C_SDA + _BV( 0 ) , // PD 0 ** 21 ** I2C_SCL + _BV( 0 ) , // PA 0 ** 22 ** D22 + _BV( 1 ) , // PA 1 ** 23 ** D23 + _BV( 2 ) , // PA 2 ** 24 ** D24 + _BV( 3 ) , // PA 3 ** 25 ** D25 + _BV( 4 ) , // PA 4 ** 26 ** D26 + _BV( 5 ) , // PA 5 ** 27 ** D27 + _BV( 6 ) , // PA 6 ** 28 ** D28 + _BV( 7 ) , // PA 7 ** 29 ** D29 + _BV( 7 ) , // PC 7 ** 30 ** D30 + _BV( 6 ) , // PC 6 ** 31 ** D31 + _BV( 5 ) , // PC 5 ** 32 ** D32 + _BV( 4 ) , // PC 4 ** 33 ** D33 + _BV( 3 ) , // PC 3 ** 34 ** D34 + _BV( 2 ) , // PC 2 ** 35 ** D35 + _BV( 1 ) , // PC 1 ** 36 ** D36 + _BV( 0 ) , // PC 0 ** 37 ** D37 + _BV( 7 ) , // PD 7 ** 38 ** D38 + _BV( 2 ) , // PG 2 ** 39 ** D39 + _BV( 1 ) , // PG 1 ** 40 ** D40 + _BV( 0 ) , // PG 0 ** 41 ** D41 + _BV( 7 ) , // PL 7 ** 42 ** D42 + _BV( 6 ) , // PL 6 ** 43 ** D43 + _BV( 5 ) , // PL 5 ** 44 ** D44 + _BV( 4 ) , // PL 4 ** 45 ** D45 + _BV( 3 ) , // PL 3 ** 46 ** D46 + _BV( 2 ) , // PL 2 ** 47 ** D47 + _BV( 1 ) , // PL 1 ** 48 ** D48 + _BV( 0 ) , // PL 0 ** 49 ** D49 + _BV( 3 ) , // PB 3 ** 50 ** SPI_MISO + _BV( 2 ) , // PB 2 ** 51 ** SPI_MOSI + _BV( 1 ) , // PB 1 ** 52 ** SPI_SCK + _BV( 0 ) , // PB 0 ** 53 ** SPI_SS + _BV( 0 ) , // PF 0 ** 54 ** A0 + _BV( 1 ) , // PF 1 ** 55 ** A1 + _BV( 2 ) , // PF 2 ** 56 ** A2 + _BV( 3 ) , // PF 3 ** 57 ** A3 + _BV( 4 ) , // PF 4 ** 58 ** A4 + _BV( 5 ) , // PF 5 ** 59 ** A5 + _BV( 6 ) , // PF 6 ** 60 ** A6 + _BV( 7 ) , // PF 7 ** 61 ** A7 + _BV( 0 ) , // PK 0 ** 62 ** A8 + _BV( 1 ) , // PK 1 ** 63 ** A9 + _BV( 2 ) , // PK 2 ** 64 ** A10 + _BV( 3 ) , // PK 3 ** 65 ** A11 + _BV( 4 ) , // PK 4 ** 66 ** A12 + _BV( 5 ) , // PK 5 ** 67 ** A13 + _BV( 6 ) , // PK 6 ** 68 ** A14 + _BV( 7 ) , // PK 7 ** 69 ** A15 + _BV( 4 ) , // PG 4 ** 70 ** D70 + _BV( 3 ) , // PG 3 ** 71 ** D71 + _BV( 2 ) , // PJ 2 ** 72 ** D72 + _BV( 3 ) , // PJ 3 ** 73 ** D73 + _BV( 7 ) , // PJ 7 ** 74 ** D74 + _BV( 4 ) , // PJ 4 ** 75 ** D75 + _BV( 5 ) , // PJ 5 ** 76 ** D76 + _BV( 6 ) , // PJ 6 ** 77 ** D77 + _BV( 2 ) , // PE 2 ** 78 ** D78 + _BV( 6 ) , // PE 6 ** 79 ** D79 + _BV( 7 ) , // PE 7 ** 80 ** D80 + _BV( 4 ) , // PD 4 ** 81 ** D81 + _BV( 5 ) , // PD 5 ** 82 ** D82 + _BV( 6 ) , // PD 6 ** 83 ** D83 + _BV( 2 ) , // PH 2 ** 84 ** D84 + _BV( 7 ) , // PH 7 ** 85 ** D85 +}; + +const uint8_t PROGMEM digital_pin_to_timer_PGM[] = { + // TIMERS + // ------------------------------------------- + NOT_ON_TIMER , // PE 0 ** 0 ** USART0_RX + NOT_ON_TIMER , // PE 1 ** 1 ** USART0_TX + TIMER3B , // PE 4 ** 2 ** PWM2 + TIMER3C , // PE 5 ** 3 ** PWM3 + TIMER0B , // PG 5 ** 4 ** PWM4 + TIMER3A , // PE 3 ** 5 ** PWM5 + TIMER4A , // PH 3 ** 6 ** PWM6 + TIMER4B , // PH 4 ** 7 ** PWM7 + TIMER4C , // PH 5 ** 8 ** PWM8 + TIMER2B , // PH 6 ** 9 ** PWM9 + TIMER2A , // PB 4 ** 10 ** PWM10 + TIMER1A , // PB 5 ** 11 ** PWM11 + TIMER1B , // PB 6 ** 12 ** PWM12 + TIMER0A , // PB 7 ** 13 ** PWM13 + NOT_ON_TIMER , // PJ 1 ** 14 ** USART3_TX + NOT_ON_TIMER , // PJ 0 ** 15 ** USART3_RX + NOT_ON_TIMER , // PH 1 ** 16 ** USART2_TX + NOT_ON_TIMER , // PH 0 ** 17 ** USART2_RX + NOT_ON_TIMER , // PD 3 ** 18 ** USART1_TX + NOT_ON_TIMER , // PD 2 ** 19 ** USART1_RX + NOT_ON_TIMER , // PD 1 ** 20 ** I2C_SDA + NOT_ON_TIMER , // PD 0 ** 21 ** I2C_SCL + NOT_ON_TIMER , // PA 0 ** 22 ** D22 + NOT_ON_TIMER , // PA 1 ** 23 ** D23 + NOT_ON_TIMER , // PA 2 ** 24 ** D24 + NOT_ON_TIMER , // PA 3 ** 25 ** D25 + NOT_ON_TIMER , // PA 4 ** 26 ** D26 + NOT_ON_TIMER , // PA 5 ** 27 ** D27 + NOT_ON_TIMER , // PA 6 ** 28 ** D28 + NOT_ON_TIMER , // PA 7 ** 29 ** D29 + NOT_ON_TIMER , // PC 7 ** 30 ** D30 + NOT_ON_TIMER , // PC 6 ** 31 ** D31 + NOT_ON_TIMER , // PC 5 ** 32 ** D32 + NOT_ON_TIMER , // PC 4 ** 33 ** D33 + NOT_ON_TIMER , // PC 3 ** 34 ** D34 + NOT_ON_TIMER , // PC 2 ** 35 ** D35 + NOT_ON_TIMER , // PC 1 ** 36 ** D36 + NOT_ON_TIMER , // PC 0 ** 37 ** D37 + NOT_ON_TIMER , // PD 7 ** 38 ** D38 + NOT_ON_TIMER , // PG 2 ** 39 ** D39 + NOT_ON_TIMER , // PG 1 ** 40 ** D40 + NOT_ON_TIMER , // PG 0 ** 41 ** D41 + NOT_ON_TIMER , // PL 7 ** 42 ** D42 + NOT_ON_TIMER , // PL 6 ** 43 ** D43 + TIMER5C , // PL 5 ** 44 ** D44 + TIMER5B , // PL 4 ** 45 ** D45 + TIMER5A , // PL 3 ** 46 ** D46 + NOT_ON_TIMER , // PL 2 ** 47 ** D47 + NOT_ON_TIMER , // PL 1 ** 48 ** D48 + NOT_ON_TIMER , // PL 0 ** 49 ** D49 + NOT_ON_TIMER , // PB 3 ** 50 ** SPI_MISO + NOT_ON_TIMER , // PB 2 ** 51 ** SPI_MOSI + NOT_ON_TIMER , // PB 1 ** 52 ** SPI_SCK + NOT_ON_TIMER , // PB 0 ** 53 ** SPI_SS + NOT_ON_TIMER , // PF 0 ** 54 ** A0 + NOT_ON_TIMER , // PF 1 ** 55 ** A1 + NOT_ON_TIMER , // PF 2 ** 56 ** A2 + NOT_ON_TIMER , // PF 3 ** 57 ** A3 + NOT_ON_TIMER , // PF 4 ** 58 ** A4 + NOT_ON_TIMER , // PF 5 ** 59 ** A5 + NOT_ON_TIMER , // PF 6 ** 60 ** A6 + NOT_ON_TIMER , // PF 7 ** 61 ** A7 + NOT_ON_TIMER , // PK 0 ** 62 ** A8 + NOT_ON_TIMER , // PK 1 ** 63 ** A9 + NOT_ON_TIMER , // PK 2 ** 64 ** A10 + NOT_ON_TIMER , // PK 3 ** 65 ** A11 + NOT_ON_TIMER , // PK 4 ** 66 ** A12 + NOT_ON_TIMER , // PK 5 ** 67 ** A13 + NOT_ON_TIMER , // PK 6 ** 68 ** A14 + NOT_ON_TIMER , // PK 7 ** 69 ** A15 + NOT_ON_TIMER , // PG 4 ** 70 ** D70 + NOT_ON_TIMER , // PG 3 ** 71 ** D71 + NOT_ON_TIMER , // PJ 2 ** 72 ** D72 + NOT_ON_TIMER , // PJ 3 ** 73 ** D73 + NOT_ON_TIMER , // PJ 7 ** 74 ** D74 + NOT_ON_TIMER , // PJ 4 ** 75 ** D75 + NOT_ON_TIMER , // PJ 5 ** 76 ** D76 + NOT_ON_TIMER , // PJ 6 ** 77 ** D77 + NOT_ON_TIMER , // PE 2 ** 78 ** D78 + NOT_ON_TIMER , // PE 6 ** 79 ** D79 + NOT_ON_TIMER , // PE 7 ** 80 ** D80 + NOT_ON_TIMER , // PD 4 ** 81 ** D81 + NOT_ON_TIMER , // PD 5 ** 82 ** D82 + NOT_ON_TIMER , // PD 6 ** 83 ** D83 + NOT_ON_TIMER , // PH 2 ** 84 ** D84 + NOT_ON_TIMER , // PH 7 ** 85 ** D85 +}; + +#endif + +// These serial port names are intended to allow libraries and architecture-neutral +// sketches to automatically default to the correct port name for a particular type +// of use. For example, a GPS module would normally connect to SERIAL_PORT_HARDWARE_OPEN, +// the first hardware serial port whose RX/TX pins are not dedicated to another use. +// +// SERIAL_PORT_MONITOR Port which normally prints to the Arduino Serial Monitor +// +// SERIAL_PORT_USBVIRTUAL Port which is USB virtual serial +// +// SERIAL_PORT_LINUXBRIDGE Port which connects to a Linux system via Bridge library +// +// SERIAL_PORT_HARDWARE Hardware serial port, physical RX & TX pins. +// +// SERIAL_PORT_HARDWARE_OPEN Hardware serial ports which are open for use. Their RX & TX +// pins are NOT connected to anything by default. +#define SERIAL_PORT_MONITOR Serial +#define SERIAL_PORT_HARDWARE Serial +#define SERIAL_PORT_HARDWARE1 Serial1 +#define SERIAL_PORT_HARDWARE2 Serial2 +#define SERIAL_PORT_HARDWARE3 Serial3 +#define SERIAL_PORT_HARDWARE_OPEN Serial1 +#define SERIAL_PORT_HARDWARE_OPEN1 Serial2 +#define SERIAL_PORT_HARDWARE_OPEN2 Serial3 + +#endif diff --git a/buildroot/share/fonts/uxggenpages.sh b/buildroot/share/fonts/uxggenpages.sh index 9207835148f6..a99fd9902463 100755 --- a/buildroot/share/fonts/uxggenpages.sh +++ b/buildroot/share/fonts/uxggenpages.sh @@ -139,11 +139,13 @@ BEGIN { } EOF +AWK=$(which gawk || which awk) + grep -Hrn _UxGT . | grep '"' \ | sed 's/_UxGT("/\n&/g;s/[^\n]*\n_UxGT("\([^"]*\)[^\n]*/\1 /g;s/.$//' \ | ${EXEC_GENPAGES} \ | sort -k 1n -k 2n | uniq \ - | gawk -v EXEC_PREFIX=${DN_EXEC} -f "proc.awk" \ + | "$AWK" -v EXEC_PREFIX=${DN_EXEC} -f "proc.awk" \ | while read PAGE BEGIN END UTF8BEGIN UTF8END; do \ if [ ! -f ${DN_DATA}/fontpage_${PAGE}_${BEGIN}_${END}.h ]; then \ ${EXEC_BDF2U8G} -u ${PAGE} -b ${BEGIN} -e ${END} ${FN_FONT} fontpage_${PAGE}_${BEGIN}_${END} ${DN_DATA}/fontpage_${PAGE}_${BEGIN}_${END}.h > /dev/null 2>&1 ; diff --git a/buildroot/share/git/ghtp b/buildroot/share/git/ghtp index f7a6263012cd..14afd8a27b7d 100755 --- a/buildroot/share/git/ghtp +++ b/buildroot/share/git/ghtp @@ -5,29 +5,35 @@ # Set all remotes in the current repo to HTTPS or SSH connection. # Useful when switching environments, using public wifi, etc. # +# Optionally, specify a particular remote to change. +# GH_SSH="git@github\.com:" GH_HTTPS="https:\/\/github\.com\/" case "$1" in - -[Hh]) TYPE=HTTPS ; MATCH="git@" ; FORMULA="$GH_SSH/$GH_HTTPS" ;; - -[Ss]) TYPE=SSH ; MATCH="https:" ; FORMULA="$GH_HTTPS/$GH_SSH" ;; + -[Hh]) TYPE=HTTPS ; MATCH="git@" ; REPLACE="$GH_SSH/$GH_HTTPS" ;; + -[Ss]) TYPE=SSH ; MATCH="https:" ; REPLACE="$GH_HTTPS/$GH_SSH" ;; *) - echo "usage: `basename $0` -h | -s" 1>&2 + echo "Usage: `basename $0` -h | -s" 1>&2 echo -e " \e[0;92m-h\e[0m to switch to HTTPS" 1>&2 echo -e " \e[0;92m-s\e[0m to switch to SSH" 1>&2 exit 1 ;; esac -REMOTES=$(git remote -v | egrep "\t$MATCH" | gawk '{print $1 " " $2}' | sort -u | sed "s/$FORMULA/") +AWK=$(which gawk || which awk) + +# Match all or specified remotes of the other type +REGEX="\t$MATCH" ; [[ $# > 1 ]] && REGEX="^$2$REGEX" + +REMOTES=$(git remote -v | egrep "$REGEX" | "$AWK" '{print $1 " " $2}' | sort -u | sed "s/$REPLACE/") -if [[ -z $REMOTES ]]; then - echo "Nothing to do." ; exit -fi +[[ -z $REMOTES ]] && { echo "Nothing to do." ; exit ; } +# Update a remote for each results pair echo "$REMOTES" | xargs -n2 git remote set-url echo -n "Remotes set to $TYPE: " -echo "$REMOTES" | gawk '{printf "%s ", $1}' +echo "$REMOTES" | "$AWK" '{printf "%s ", $1}' echo diff --git a/buildroot/share/git/mfclean b/buildroot/share/git/mfclean index f38997405bc8..fd131c42630c 100755 --- a/buildroot/share/git/mfclean +++ b/buildroot/share/git/mfclean @@ -6,6 +6,8 @@ # Great way to clean up your branches after messing around a lot # +AWK=$(which gawk || which awk) + KEEP="RC|RCBugFix|dev|master|bugfix-1|bugfix-2" echo "Fetching latest upstream and origin..." @@ -18,7 +20,7 @@ git branch --merged | egrep -v "^\*|$KEEP" | xargs -n 1 git branch -d echo echo "Pruning Remotely-deleted Branches..." -git branch -vv | egrep -v "^\*|$KEEP" | grep ': gone]' | gawk '{print $1}' | xargs -n 1 git branch -D +git branch -vv | egrep -v "^\*|$KEEP" | grep ': gone]' | "$AWK" '{print $1}' | xargs -n 1 git branch -D echo # List fork branches that don't match local branches diff --git a/buildroot/share/scripts/config-labels.py b/buildroot/share/scripts/config-labels.py index 8effb54eed58..267aa2d27353 100755 --- a/buildroot/share/scripts/config-labels.py +++ b/buildroot/share/scripts/config-labels.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # # for python3.5 or higher #----------------------------------- diff --git a/buildroot/share/scripts/pinsformat.js b/buildroot/share/scripts/pinsformat.js index 3e2a57b556dc..a82c2f2659f0 100755 --- a/buildroot/share/scripts/pinsformat.js +++ b/buildroot/share/scripts/pinsformat.js @@ -38,10 +38,12 @@ for (let m of mpatt) mexpr.push(new RegExp('^' + m + '$')); const argv = process.argv.slice(2), argc = argv.length; -var src_file = 0, src_name = 'STDIN', dst_file; +var src_file = 0, src_name = 'STDIN', dst_file, do_log = false; if (argc > 0) { - src_file = src_name = argv[0]; - dst_file = argv[argc > 1 ? 1 : 0]; + let ind = 0; + if (argv[0] == '-v') { do_log = true; ind++; } + dst_file = src_file = src_name = argv[ind++]; + if (ind < argc) dst_file = argv[ind]; } // Read from file or STDIN until it terminates @@ -81,7 +83,7 @@ function process_text(txt) { aliasPatt = new RegExp('^(\\s*(//)?#define)\\s+([A-Z_][A-Z0-9_]+)\\s+([A-Z_][A-Z0-9_()]+)\\s*(//.*)?$'), switchPatt = new RegExp('^(\\s*(//)?#define)\\s+([A-Z_][A-Z0-9_]+)\\s*(//.*)?$'), undefPatt = new RegExp('^(\\s*(//)?#undef)\\s+([A-Z_][A-Z0-9_]+)\\s*(//.*)?$'), - defPatt = new RegExp('^(\\s*(//)?#define)\\s+([A-Z_][A-Z0-9_]+)\\s+(\\w+)\\s*(//.*)?$'), + defPatt = new RegExp('^(\\s*(//)?#define)\\s+([A-Z_][A-Z0-9_]+)\\s+([-_\\w]+)\\s*(//.*)?$'), condPatt = new RegExp('^(\\s*(//)?#(if|ifn?def|else|elif)(\\s+\\S+)*)\\s+(//.*)$'), commPatt = new RegExp('^\\s{20,}(//.*)?$'); const col_value_lj = col_comment - patt.pad - 2; @@ -98,6 +100,7 @@ function process_text(txt) { // // #define MY_PIN [pin] // + if (do_log) console.log("pin:", line); const pinnum = r[4].charAt(0) == 'P' ? r[4] : r[4].lpad(patt.pad); line = r[1] + ' ' + r[3]; line = line.rpad(col_value_lj) + pinnum; @@ -107,31 +110,57 @@ function process_text(txt) { // // #define MY_PIN -1 // + if (do_log) console.log("pin -1:", line); line = r[1] + ' ' + r[3]; line = line.rpad(col_value_lj) + '-1'; if (r[5]) line = line.rpad(col_comment) + r[5]; } else if ((r = skipPatt.exec(line)) !== null) { + // + // #define SKIP_ME + // + if (do_log) console.log("skip:", line); } else if ((r = aliasPatt.exec(line)) !== null) { + // + // #define ALIAS OTHER + // + if (do_log) console.log("alias:", line); line = r[1] + ' ' + r[3]; line += r[4].lpad(col_value_rj + 1 - line.length); if (r[5]) line = line.rpad(col_comment) + r[5]; } else if ((r = switchPatt.exec(line)) !== null) { + // + // #define SWITCH + // + if (do_log) console.log("switch:", line); line = r[1] + ' ' + r[3]; if (r[4]) line = line.rpad(col_comment) + r[4]; check_comment_next = true; } else if ((r = defPatt.exec(line)) !== null) { - line = r[1] + ' ' + r[3] + ' ' + r[4]; - if (r[5]) line = line.rpad(col_comment) + r[5]; + // + // #define ... + // + if (do_log) console.log("def:", line); + line = r[1] + ' ' + r[3] + ' '; + line += r[4].lpad(col_value_rj + 1 - line.length); + if (r[5]) line = line.rpad(col_comment - 1) + ' ' + r[5]; } else if ((r = undefPatt.exec(line)) !== null) { + // + // #undef ... + // + if (do_log) console.log("undef:", line); line = r[1] + ' ' + r[3]; if (r[4]) line = line.rpad(col_comment) + r[4]; } else if ((r = condPatt.exec(line)) !== null) { + // + // #if ... + // + if (do_log) console.log("cond:", line); line = r[1].rpad(col_comment) + r[5]; check_comment_next = true; } diff --git a/buildroot/share/sublime/MarlinFirmware.sublime-project b/buildroot/share/sublime/MarlinFirmware.sublime-project index e437369ec243..9b5234f7a13c 100644 --- a/buildroot/share/sublime/MarlinFirmware.sublime-project +++ b/buildroot/share/sublime/MarlinFirmware.sublime-project @@ -8,7 +8,6 @@ "MarlinFirmware/lib", "Marlin/lib", "datatmp", - "Marlin/*/src", ".vscode" ], "binary_file_patterns": diff --git a/buildroot/share/vscode/avrdude.conf b/buildroot/share/vscode/avrdude.conf index 1194847f775d..991d255750f5 100644 --- a/buildroot/share/vscode/avrdude.conf +++ b/buildroot/share/vscode/avrdude.conf @@ -145,13 +145,13 @@ # VCC pins are not defined for the programmer, a message # indicating that the device needs a power-cycle is printed out. # This flag was added to work around a problem with the -# at90s4433/2333's; see the at90s4433 errata at: +# at90s4433/2333's; see the at90s4433 errata page 2 at: # -# http://www.atmel.com/atmel/acrobat/doc1280.pdf +# https://ww1.microchip.com/downloads/en/AppNotes/doc2574.pdf # # INSTRUCTION FORMATS # -# Instruction formats are specified as a comma seperated list of +# Instruction formats are specified as a comma separated list of # string values containing information (bit specifiers) about each # of the 32 bits of the instruction. Bit specifiers may be one of # the following formats: @@ -416,13 +416,13 @@ programmer programmer id = "usbasp"; - desc = "USBasp, http://www.fischl.de/usbasp/"; + desc = "USBasp, https://www.fischl.de/usbasp/"; type = usbasp; ; programmer id = "usbtiny"; - desc = "USBtiny simple USB programmer, http://www.ladyada.net/make/usbtinyisp/"; + desc = "USBtiny simple USB programmer, https://learn.adafruit.com/usbtinyisp"; type = usbtiny; ; @@ -596,7 +596,7 @@ programmer programmer id = "bsd"; - desc = "Brian Dean's Programmer, http://www.bsdhome.com/avrdude/"; + desc = "Brian Dean's Programmer, https://savannah.nongnu.org/projects/avrdude"; type = par; vcc = 2, 3, 4, 5; reset = 7; @@ -743,7 +743,7 @@ programmer programmer id = "atisp"; - desc = "AT-ISP V1.1 programming cable for AVR-SDK1 from micro-research.co.th"; + desc = "AT-ISP V1.1 programming cable for AVR-SDK1 from micro-research.co.th"; type = par; reset = ~6; sck = ~8; @@ -753,7 +753,7 @@ programmer programmer id = "ere-isp-avr"; - desc = "ERE ISP-AVR "; + desc = "ERE ISP-AVR "; type = par; reset = ~4; sck = 3; @@ -773,7 +773,7 @@ programmer ; # It is almost same as pony-stk200, except vcc on pin 5 to auto -# disconnect port (download on http://electropol.free.fr) +# disconnect port download on http://www.electropol.fr programmer id = "frank-stk200"; desc = "Frank STK200"; @@ -787,7 +787,7 @@ programmer ; # The AT98ISP Cable is a simple parallel dongle for AT89 family. -# http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2877 +# https://www.microchip.com/wwwAppNotes/AppNotes.aspx?appnote=en592141 programmer id = "89isp"; desc = "Atmel at89isp cable"; diff --git a/buildroot/share/vscode/avrdude_linux.conf b/buildroot/share/vscode/avrdude_linux.conf index 46e7ace34b21..ff429a028cca 100644 --- a/buildroot/share/vscode/avrdude_linux.conf +++ b/buildroot/share/vscode/avrdude_linux.conf @@ -145,13 +145,13 @@ # VCC pins are not defined for the programmer, a message # indicating that the device needs a power-cycle is printed out. # This flag was added to work around a problem with the -# at90s4433/2333's; see the at90s4433 errata at: +# at90s4433/2333's; see the at90s4433 errata page 2 at: # -# http://www.atmel.com/atmel/acrobat/doc1280.pdf +# https://ww1.microchip.com/downloads/en/AppNotes/doc2574.pdf # # INSTRUCTION FORMATS # -# Instruction formats are specified as a comma seperated list of +# Instruction formats are specified as a comma separated list of # string values containing information (bit specifiers) about each # of the 32 bits of the instruction. Bit specifiers may be one of # the following formats: @@ -416,13 +416,13 @@ programmer programmer id = "usbasp"; - desc = "USBasp, http://www.fischl.de/usbasp/"; + desc = "USBasp, https://www.fischl.de/usbasp/"; type = usbasp; ; programmer id = "usbtiny"; - desc = "USBtiny simple USB programmer, http://www.ladyada.net/make/usbtinyisp/"; + desc = "USBtiny simple USB programmer, https://learn.adafruit.com/usbtinyisp"; type = usbtiny; ; @@ -596,7 +596,7 @@ programmer programmer id = "bsd"; - desc = "Brian Dean's Programmer, http://www.bsdhome.com/avrdude/"; + desc = "Brian Dean's Programmer, https://savannah.nongnu.org/projects/avrdude"; type = par; vcc = 2, 3, 4, 5; reset = 7; @@ -743,7 +743,7 @@ programmer programmer id = "atisp"; - desc = "AT-ISP V1.1 programming cable for AVR-SDK1 from micro-research.co.th"; + desc = "AT-ISP V1.1 programming cable for AVR-SDK1 from micro-research.co.th"; type = par; reset = ~6; sck = ~8; @@ -753,7 +753,7 @@ programmer programmer id = "ere-isp-avr"; - desc = "ERE ISP-AVR "; + desc = "ERE ISP-AVR "; type = par; reset = ~4; sck = 3; @@ -773,7 +773,7 @@ programmer ; # It is almost same as pony-stk200, except vcc on pin 5 to auto -# disconnect port (download on http://electropol.free.fr) +# disconnect port download on http://www.electropol.fr programmer id = "frank-stk200"; desc = "Frank STK200"; @@ -787,7 +787,7 @@ programmer ; # The AT98ISP Cable is a simple parallel dongle for AT89 family. -# http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2877 +# https://www.microchip.com/wwwAppNotes/AppNotes.aspx?appnote=en592141 programmer id = "89isp"; desc = "Atmel at89isp cable"; diff --git a/buildroot/share/vscode/avrdude_macOS.conf b/buildroot/share/vscode/avrdude_macOS.conf index d933567452fc..6147a2259ac9 100644 --- a/buildroot/share/vscode/avrdude_macOS.conf +++ b/buildroot/share/vscode/avrdude_macOS.conf @@ -145,13 +145,13 @@ # VCC pins are not defined for the programmer, a message # indicating that the device needs a power-cycle is printed out. # This flag was added to work around a problem with the -# at90s4433/2333's; see the at90s4433 errata at: +# at90s4433/2333's; see the at90s4433 errata page 2 at: # -# http://www.atmel.com/atmel/acrobat/doc1280.pdf +# https://ww1.microchip.com/downloads/en/AppNotes/doc2574.pdf # # INSTRUCTION FORMATS # -# Instruction formats are specified as a comma seperated list of +# Instruction formats are specified as a comma separated list of # string values containing information (bit specifiers) about each # of the 32 bits of the instruction. Bit specifiers may be one of # the following formats: @@ -416,13 +416,13 @@ programmer programmer id = "usbasp"; - desc = "USBasp, http://www.fischl.de/usbasp/"; + desc = "USBasp, https://www.fischl.de/usbasp/"; type = usbasp; ; programmer id = "usbtiny"; - desc = "USBtiny simple USB programmer, http://www.ladyada.net/make/usbtinyisp/"; + desc = "USBtiny simple USB programmer, https://learn.adafruit.com/usbtinyisp"; type = usbtiny; ; diff --git a/buildroot/tests/DUE-tests b/buildroot/tests/DUE-tests index 5c36db03679a..7f488f6126cb 100755 --- a/buildroot/tests/DUE-tests +++ b/buildroot/tests/DUE-tests @@ -33,7 +33,7 @@ opt_set EXTRUDER_AUTO_FAN_SPEED 100 opt_set TEMP_SENSOR_CHAMBER 3 opt_add TEMP_CHAMBER_PIN 6 opt_set HEATER_CHAMBER_PIN 45 -exec_test $1 $2 "RAMPS4DUE_EFB with ABL (Bilinear), EXTENSIBLE_UI, S-Curve, many options." +exec_test $1 $2 "RAMPS4DUE_EFB with ABL (Bilinear), ExtUI, S-Curve, many options." restore_configs opt_set MOTHERBOARD BOARD_RADDS diff --git a/buildroot/tests/mks_robin-tests b/buildroot/tests/mks_robin-tests index 99d41ef4ad56..d6350622052c 100644 --- a/buildroot/tests/mks_robin-tests +++ b/buildroot/tests/mks_robin-tests @@ -1,13 +1,16 @@ #!/usr/bin/env bash # -# Build tests for STM32F1 genericSTM32F103ZE +# Build tests for MKS Robin +# (STM32F1 genericSTM32F103ZE) # # exit on first failure set -e use_example_configs Mks/Robin -exec_test $1 $2 "Default Configuration" +opt_disable TFT_320x240 +opt_enable FSMC_GRAPHICAL_TFT +exec_test $1 $2 "MKS Robin base configuration" # cleanup restore_configs diff --git a/buildroot/tests/mks_robin_mini-tests b/buildroot/tests/mks_robin_mini-tests index c8ba5a5a4870..1c40ea453554 100644 --- a/buildroot/tests/mks_robin_mini-tests +++ b/buildroot/tests/mks_robin_mini-tests @@ -1,6 +1,7 @@ #!/usr/bin/env bash # -# Build tests for STM32F1 genericSTM32F103VE +# Build tests for MKS Robin mini +# (STM32F1 genericSTM32F103VE) # # exit on first failure @@ -10,7 +11,7 @@ use_example_configs Mks/Robin opt_set MOTHERBOARD BOARD_MKS_ROBIN_MINI opt_set EXTRUDERS 1 opt_set TEMP_SENSOR_1 0 -exec_test $1 $2 "Default Configuration" +exec_test $1 $2 "MKS Robin mini" # cleanup restore_configs diff --git a/buildroot/tests/mks_robin_nano-tests b/buildroot/tests/mks_robin_nano-tests deleted file mode 100644 index 809fd6e6f503..000000000000 --- a/buildroot/tests/mks_robin_nano-tests +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env bash -# -# Build tests for STM32F1 genericSTM32F103VE -# - -# exit on first failure -set -e - -use_example_configs Mks/Robin -opt_set MOTHERBOARD BOARD_MKS_ROBIN_NANO -exec_test $1 $2 "Default Configuration" - -# cleanup -restore_configs diff --git a/buildroot/tests/mks_robin_nano35-tests b/buildroot/tests/mks_robin_nano35-tests new file mode 100644 index 000000000000..92c97be756cd --- /dev/null +++ b/buildroot/tests/mks_robin_nano35-tests @@ -0,0 +1,46 @@ +#!/usr/bin/env bash +# +# Build tests for MKS Robin nano +# (STM32F1 genericSTM32F103VE) +# + +# exit on first failure +set -e + +use_example_configs Mks/Robin +opt_set MOTHERBOARD BOARD_MKS_ROBIN_NANO +opt_disable TFT_320x240 +opt_enable TOUCH_SCREEN +opt_enable FSMC_GRAPHICAL_TFT +exec_test $1 $2 "MKS Robin nano v1.2 Emulated DOGM FSMC" + +use_example_configs Mks/Robin +opt_set MOTHERBOARD BOARD_MKS_ROBIN_NANO_V2 +opt_disable TFT_320x240 +opt_enable TOUCH_SCREEN +opt_enable SPI_GRAPHICAL_TFT +exec_test $1 $2 "MKS Robin v2 nano Emulated DOGM SPI" + +use_example_configs Mks/Robin +opt_set MOTHERBOARD BOARD_MKS_ROBIN_NANO +opt_disable TFT_320x240 +opt_disable TOUCH_SCREEN +opt_enable TFT_LVGL_UI_FSMC +exec_test $1 $2 "MKS Robin nano v1.2 LVGL FSMC" + +use_example_configs Mks/Robin +opt_set MOTHERBOARD BOARD_MKS_ROBIN_NANO_V2 +opt_disable TFT_320x240 +opt_disable TOUCH_SCREEN +opt_enable TFT_LVGL_UI_SPI +exec_test $1 $2 "MKS Robin v2 nano LVGL SPI" + +use_example_configs Mks/Robin +opt_set MOTHERBOARD BOARD_MKS_ROBIN_NANO_V2 +opt_disable TFT_320x240 +opt_enable TOUCH_SCREEN +opt_enable TFT_480x320_SPI +exec_test $1 $2 "MKS Robin v2 nano New Color UI 480x320 SPI" + +# cleanup +restore_configs diff --git a/buildroot/tests/mks_robin_stm32-tests b/buildroot/tests/mks_robin_stm32-tests new file mode 100644 index 000000000000..4aa146fa5288 --- /dev/null +++ b/buildroot/tests/mks_robin_stm32-tests @@ -0,0 +1,13 @@ +#!/usr/bin/env bash +# +# Build tests for MKS Robin (HAL/STM32) +# + +# exit on first failure +set -e + +use_example_configs Mks/Robin +exec_test $1 $2 "MKS Robin base configuration" + +# cleanup +restore_configs diff --git a/buildroot/tests/rambo-tests b/buildroot/tests/rambo-tests index 0b249e2149cf..ec8af16c23b4 100644 --- a/buildroot/tests/rambo-tests +++ b/buildroot/tests/rambo-tests @@ -33,6 +33,7 @@ opt_enable REPRAP_DISCOUNT_SMART_CONTROLLER LCD_PROGRESS_BAR LCD_PROGRESS_BAR_TE PRINTCOUNTER SERVICE_NAME_1 SERVICE_INTERVAL_1 LEVEL_BED_CORNERS \ NOZZLE_PARK_FEATURE FILAMENT_RUNOUT_SENSOR FILAMENT_RUNOUT_DISTANCE_MM \ ADVANCED_PAUSE_FEATURE FILAMENT_LOAD_UNLOAD_GCODES FILAMENT_UNLOAD_ALL_EXTRUDERS \ + PASSWORD_FEATURE PASSWORD_ON_STARTUP PASSWORD_ON_SD_PRINT_MENU PASSWORD_AFTER_SD_PRINT_END PASSWORD_AFTER_SD_PRINT_ABORT \ AUTO_BED_LEVELING_BILINEAR Z_MIN_PROBE_REPEATABILITY_TEST DISTINCT_E_FACTORS \ SKEW_CORRECTION SKEW_CORRECTION_FOR_Z SKEW_CORRECTION_GCODE \ BACKLASH_COMPENSATION BACKLASH_GCODE BAUD_RATE_GCODE BEZIER_CURVE_SUPPORT \ diff --git a/config/README.md b/config/README.md index e7d7bd8d859c..906c9dd71cb5 100644 --- a/config/README.md +++ b/config/README.md @@ -1,3 +1,3 @@ # Where have all the configurations gone? -## https://github.com/MarlinFirmware/Configurations/archive/release-2.0.6.zip +## https://github.com/MarlinFirmware/Configurations/archive/release-2.0.6.1.zip diff --git a/platformio.ini b/platformio.ini index 15316d156d35..e3ff6c152634 100644 --- a/platformio.ini +++ b/platformio.ini @@ -4,7 +4,7 @@ # # For detailed documentation with EXAMPLES: # -# https://docs.platformio.org/en/latest/projectconf.html +# https://docs.platformio.org/en/latest/projectconf/index.html # # Automatic targets - enable auto-uploading @@ -26,15 +26,162 @@ include_dir = Marlin # [common] default_src_filter = + - - + - - - - - - - - - - + - - - - + - + - - - + - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + - + - + - + - + - + - - - - + - + - - - - - - - - + - - + - + - - + - - + - + - - - - - - + - - + - + - + - + - - + - - + - + - + - + - + - + - + - + - + - + - + - + - - + - - + - + - + - - + - - + - + - - + - + - + - - + - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + - + - + - - + - + - + - + - + - - + - extra_scripts = pre:buildroot/share/PlatformIO/scripts/common-dependencies.py pre:buildroot/share/PlatformIO/scripts/common-cxxflags.py @@ -49,12 +196,17 @@ HAS_TFT_LVGL_UI = lvgl=https://github.com/makerbase-mks/MKS-LittlevGL/ar src_filter=+ extra_scripts=download_mks_assets.py HAS_TRINAMIC_CONFIG = TMCStepper@~0.7.1 - src_filter=+ + src_filter=+ + + + + +HAS_STEALTHCHOP = src_filter=+ SR_LCD_3W_NL = SailfishLCD=https://github.com/mikeshub/SailfishLCD/archive/master.zip -DIGIPOT_MCP4... = SlowSoftI2CMaster +HAS_I2C_DIGIPOT = SlowSoftI2CMaster + src_filter=+ HAS_TMC26X = TMC26XStepper=https://github.com/trinamic/TMC26XStepper/archive/master.zip + src_filter=+ HAS_L64XX = Arduino-L6470@0.8.0 + src_filter=+ + + NEOPIXEL_LED = Adafruit NeoPixel@1.5.0 + src_filter=+ MAX6675_IS_MAX31865 = Adafruit MAX31865 library@~1.1.0 HAS_GRAPHICAL_LCD = U8glib-HAL@0.4.1 src_filter=+ @@ -62,18 +214,147 @@ USES_LIQUIDCRYSTAL = LiquidCrystal@1.5.0 USES_LIQUIDTWI2 = LiquidTWI2@1.2.7 DWIN_CREALITY_LCD = src_filter=+ HAS_CHARACTER_LCD = src_filter=+ +HAS_GRAPHICAL_TFT = src_filter=+ HAS_LCD_MENU = src_filter=+ -HAS_DGUS_LCD = src_filter=+ +HAS_GAMES = src_filter=+ +MARLIN_BRICKOUT = src_filter=+ +MARLIN_INVADERS = src_filter=+ +MARLIN_MAZE = src_filter=+ +MARLIN_SNAKE = src_filter=+ +HAS_MENU_BACKLASH = src_filter=+ +HAS_MENU_BED_CORNERS = src_filter=+ +LCD_BED_LEVELING = src_filter=+ +HAS_MENU_CANCELOBJECT = src_filter=+ +HAS_MENU_DELTA_CALIBRATE = src_filter=+ +HAS_MENU_FILAMENT = src_filter=+ +LCD_INFO_MENU = src_filter=+ +HAS_MENU_JOB_RECOVERY = src_filter=+ +HAS_MENU_LED = src_filter=+ +HAS_MENU_MEDIA = src_filter=+ +HAS_MENU_MIXER = src_filter=+ +HAS_MENU_MMU2 = src_filter=+ +HAS_MENU_PASSWORD = src_filter=+ +HAS_MENU_POWER_MONITOR = src_filter=+ +HAS_MENU_CUTTER = src_filter=+ +HAS_MENU_TEMPERATURE = src_filter=+ +HAS_MENU_TMC = src_filter=+ +HAS_MENU_TOUCH_SCREEN = src_filter=+ +HAS_MENU_UBL = src_filter=+ +ANYCUBIC_LCD_I3MEGA = src_filter=+ +HAS_DGUS_LCD = src_filter=+ + TOUCH_UI_FTDI_EVE = src_filter=+ -ANYCUBIC_TFT_MODEL = src_filter=+ +HAS_ANYCUBIC_TFT_EXTUI = src_filter=+ +EXTUI_EXAMPLE = src_filter=+ +MALYAN_LCD = src_filter=+ +HAS_SPI_LCD = src_filter=+ USB_FLASH_DRIVE_SUPPORT = src_filter=+ -AUTO_BED_LEVELING_(3POINT|(BI)?LINEAR) = src_filter=+ + +AUTO_BED_LEVELING_BILINEAR = src_filter=+ +AUTO_BED_LEVELING_(3POINT|(BI)?LINEAR) = src_filter=+ MESH_BED_LEVELING = src_filter=+ + AUTO_BED_LEVELING_UBL = src_filter=+ + +BACKLASH_COMPENSATION = src_filter=+ +BARICUDA = src_filter=+ + +BINARY_FILE_TRANSFER = src_filter=+ + +BLTOUCH = src_filter=+ +CANCEL_OBJECTS = src_filter=+ + +CASE_LIGHT_ENABLE = src_filter=+ + +EXTERNAL_CLOSED_LOOP_CONTROLLER = src_filter=+ + +USE_CONTROLLER_FAN = src_filter=+ DAC_STEPPER_CURRENT = src_filter=+ -HAS_I2C_DIGIPOT = src_filter=+ -HAS_LED_FEATURE = src_filter=+ -(ESP3D_)?WIFISUPPORT = AsyncTCP, ESP Async WebServer +DIRECT_STEPPING = src_filter=+ + +EMERGENCY_PARSER = src_filter=+ - +I2C_POSITION_ENCODERS = src_filter=+ +HAS_FANMUX = src_filter=+ +FILAMENT_WIDTH_SENSOR = src_filter=+ + +FWRETRACT = src_filter=+ + +HOST_ACTION_COMMANDS = src_filter=+ +HOTEND_IDLE_TIMEOUT = src_filter=+ +JOYSTICK = src_filter=+ +BLINKM = src_filter=+ +HAS_COLOR_LEDS = src_filter=+ + +PCA9533 = src_filter=+ +PCA9632 = src_filter=+ +PRINTER_EVENT_LEDS = src_filter=+ +TEMP_STAT_LEDS = src_filter=+ +MAX7219_DEBUG = src_filter=+ + +MIXING_EXTRUDER = src_filter=+ + +PRUSA_MMU2 = src_filter=+ + +PASSWORD_FEATURE = src_filter=+ + +ADVANCED_PAUSE_FEATURE = src_filter=+ + + +AUTO_POWER_CONTROL = src_filter=+ +HAS_POWER_MONITOR = src_filter=+ + +POWER_LOSS_RECOVERY = src_filter=+ + +PROBE_TEMP_COMPENSATION = src_filter=+ + +HAS_FILAMENT_SENSOR = src_filter=+ + +MK2_MULTIPLEXER = src_filter=+ +EXT_SOLENOID|MANUAL_SOLENOID_CONTROL = src_filter=+ +HAS_CUTTER = src_filter=+ + +EXPERIMENTAL_I2CBUS = src_filter=+ + +Z_STEPPER_AUTO_ALIGN = src_filter=+ + +G26_MESH_VALIDATION = src_filter=+ +ASSISTED_TRAMMING = src_filter=+ +HAS_MESH = src_filter=+ +HAS_LEVELING = src_filter=+ +DELTA_AUTO_CALIBRATION = src_filter=+ +CALIBRATION_GCODE = src_filter=+ +Z_MIN_PROBE_REPEATABILITY_TEST = src_filter=+ +M100_FREE_MEMORY_WATCHER = src_filter=+ +BACKLASH_GCODE = src_filter=+ +IS_KINEMATIC = src_filter=+ +HAS_EXTRA_ENDSTOPS = src_filter=+ +SKEW_CORRECTION_GCODE = src_filter=+ +PINS_DEBUGGING = src_filter=- +NO_VOLUMETRICS = src_filter=- +HAS_MULTI_EXTRUDER = src_filter=+ +HAS_HOTEND_OFFSET = src_filter=+ +EDITABLE_SERVO_ANGLES = src_filter=+ +PREVENT_COLD_EXTRUSION = src_filter=+ +HAS_USER_THERMISTORS = src_filter=+ +SD_ABORT_ON_ENDSTOP_HIT = src_filter=+ +COOLANT_CONTROL = src_filter=+ +HAS_SOFTWARE_ENDSTOPS = src_filter=+ +HAS_DUPLICATION_MODE = src_filter=+ +LIN_ADVANCE = src_filter=+ +PHOTO_GCODE = src_filter=+ +CONTROLLER_FAN_EDITABLE = src_filter=+ +GCODE_MACROS = src_filter=+ +GRADIENT_MIX = src_filter=+ +HAS_SAVED_POSITIONS = src_filter=+ + +PARK_HEAD_ON_PAUSE = src_filter=+ +FILAMENT_LOAD_UNLOAD_GCODES = src_filter=+ +CNC_WORKSPACE_PLANES = src_filter=+ +CNC_COORDINATE_SYSTEMS = src_filter=+ +HAS_M206_COMMAND = src_filter=+ +EXPECTED_PRINTER_CHECK = src_filter=+ +HOST_KEEPALIVE_FEATURE = src_filter=+ +REPETIER_GCODE_M360 = src_filter=+ +HAS_GCODE_M876 = src_filter=+ +HAS_RESUME_CONTINUE = src_filter=+ +HAS_PREHEAT_COUNT = src_filter=+ +HAS_LCD_CONTRAST = src_filter=+ +LCD_SET_PROGRESS_MANUALLY = src_filter=+ +TOUCH_SCREEN_CALIBRATION = src_filter=+ +ARC_SUPPORT = src_filter=+ +GCODE_MOTION_MODES = src_filter=+ +BABYSTEPPING = src_filter=+ +Z_PROBE_SLED = src_filter=+ +G38_PROBE_TARGET = src_filter=+ +MAGNETIC_PARKING_EXTRUDER = src_filter=+ +SDSUPPORT = src_filter=+ +HAS_EXTRUDERS = src_filter=+ + +INCH_MODE_SUPPORT = src_filter=+ +TEMPERATURE_UNITS_SUPPORT = src_filter=+ +NEED_HEX_PRINT = src_filter=+ +NEED_LSF = src_filter=+ +NOZZLE_PARK_FEATURE = src_filter=+ + +NOZZLE_CLEAN_FEATURE = src_filter=+ + +DELTA = src_filter=+ + +BEZIER_CURVE_SUPPORT = src_filter=+ + +PRINTCOUNTER = src_filter=+ +HAS_BED_PROBE = src_filter=+ + + + +IS_SCARA = src_filter=+ +MORGAN_SCARA = src_filter=+ +(ESP3D_)?WIFISUPPORT = AsyncTCP, ESP Async WebServer ESP3DLib=https://github.com/luc-github/ESP3DLib.git arduinoWebSockets=https://github.com/Links2004/arduinoWebSockets.git ESP32SSDP=https://github.com/luc-github/ESP32SSDP.git @@ -98,7 +379,6 @@ monitor_flags = --filter time - ################################# # # # Unique Core Architectures # @@ -126,9 +406,20 @@ src_filter = ${common.default_src_filter} + # ATmega2560 # [env:mega2560] -platform = atmelavr -extends = common_avr8 -board = megaatmega2560 +platform = atmelavr +extends = common_avr8 +board = megaatmega2560 + +# +# ATmega2560 with extended pins 70-85 defined +# +[env:mega2560ext] +platform = atmelavr +extends = mega2560 +board = megaatmega2560 +board_build.variant = megaextendedpins +extra_scripts = ${common.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/copy_marlin_variant_to_framework.py # # ATmega1280 @@ -268,14 +559,13 @@ src_filter = ${common.default_src_filter} + [env:DUE_USB] platform = atmelsam +extends = env:DUE board = dueUSB -src_filter = ${common.default_src_filter} + [env:DUE_debug] # Used when WATCHDOG_RESET_MANUAL is enabled platform = atmelsam -board = due -src_filter = ${common.default_src_filter} + +extends = env:DUE build_flags = ${common.build_flags} -funwind-tables -mpoke-function-name @@ -285,8 +575,7 @@ build_flags = ${common.build_flags} # [common_DUE_archim] platform = atmelsam -board = due -src_filter = ${common.default_src_filter} + +extends = env:DUE build_flags = ${common.build_flags} -DARDUINO_SAM_ARCHIM -DARDUINO_ARCH_SAM -D__SAM3X8E__ -DUSBCON extra_scripts = ${common.extra_scripts} @@ -320,7 +609,7 @@ src_filter = ${common.default_src_filter} + lib_deps = ${common.lib_deps} SoftwareSerialM Adafruit SPIFlash - SdFat - Adafruit Fork +custom_marlin.SDSUPPORT = SdFat - Adafruit Fork debug_tool = jlink ################################# @@ -342,8 +631,8 @@ extra_scripts = ${common.extra_scripts} src_filter = ${common.default_src_filter} + lib_deps = ${common.lib_deps} Servo - LiquidCrystal@1.0.0 - Adafruit NeoPixel=https://github.com/p3p/Adafruit_NeoPixel/archive/1.5.0.zip +custom_marlin.USES_LIQUIDCRYSTAL = LiquidCrystal@1.0.0 +custom_marlin.NEOPIXEL_LED = Adafruit NeoPixel=https://github.com/p3p/Adafruit_NeoPixel/archive/1.5.0.zip build_flags = ${common.build_flags} -DU8G_HAL_LINKS -IMarlin/src/HAL/LPC1768/include -IMarlin/src/HAL/LPC1768/u8g # debug options for backtrace #-funwind-tables @@ -390,7 +679,7 @@ src_filter = ${common.default_src_filter} + platform = ${common_stm32.platform} build_flags = !python Marlin/src/HAL/STM32F1/build_flags.py ${common.build_flags} -std=gnu++14 -DHAVE_SW_SERIAL -build_unflags = -std=gnu11 +build_unflags = -std=gnu11 -std=gnu++11 src_filter = ${common.default_src_filter} + lib_ignore = SPI lib_deps = ${common.lib_deps} @@ -426,9 +715,9 @@ extra_scripts = ${common.extra_scripts} pre:buildroot/share/PlatformIO/scripts/STM32F1_create_variant.py buildroot/share/PlatformIO/scripts/STM32F103RC_MEEB_3DP.py lib_deps = ${common.lib_deps} - Adafruit NeoPixel=https://github.com/ccccmagicboy/Adafruit_NeoPixel#meeb_3dp_use SoftwareSerialM USBComposite for STM32F1@0.91 +custom_marlin.NEOPIXEL_LED = Adafruit NeoPixel=https://github.com/ccccmagicboy/Adafruit_NeoPixel#meeb_3dp_use debug_tool = stlink upload_protocol = dfu @@ -595,7 +884,6 @@ board = genericSTM32F103VE platform_packages = tool-stm32duino extra_scripts = ${common.extra_scripts} buildroot/share/PlatformIO/scripts/mks_robin_nano35.py -lib_deps = ${common_stm32f1.lib_deps} build_flags = ${common_stm32f1.build_flags} -DMCU_STM32F103VE -DSS_TIMER=4 debug_tool = jlink @@ -613,6 +901,28 @@ extra_scripts = ${common.extra_scripts} build_flags = ${common_stm32f1.build_flags} -DSS_TIMER=4 -DSTM32_XL_DENSITY +# MKS Robin (STM32F103ZET6) +# Uses HAL STM32 to support Marlin UI for TFT screen with optional touch panel +# +[env:mks_robin_stm32] +platform = ${common_stm32.platform} +extends = common_stm32 +board = genericSTM32F103ZE +board_build.core = stm32 +board_build.variant = MARLIN_F103Zx +board_build.ldscript = ldscript.ld +board_build.offset = 0x7000 +board_build.firmware = Robin.bin +build_flags = ${common_stm32.build_flags} + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 +build_unflags = ${common_stm32.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${common.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/generic_create_variant.py + buildroot/share/PlatformIO/scripts/stm32_bootloader.py + buildroot/share/PlatformIO/scripts/mks_encrypt.py +lib_deps = + # # MKS Robin Pro (STM32F103ZET6) #