diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml index 83854bd6..60b00809 100644 --- a/.github/ISSUE_TEMPLATE/bug.yml +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -48,7 +48,7 @@ body: attributes: label: What version/release of MM WLED? description: You can find this in by going to Config -> Security & Updates -> Scroll to Bottom. Copy and paste the entire line after "Server message" - placeholder: "e.g. build 2308250, WLEDMM_0.14.0-b27.31_esp32_4MB_M.bin" + placeholder: "e.g. build 2401290, WLEDMM_0.14.1-b30.36_esp32_4MB_M.bin" validations: required: true - type: dropdown diff --git a/CHANGELOG.md b/CHANGELOG.md index 594fa97e..11799d26 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,15 +1,82 @@ -## WLED changelog +## [WLED upstream](https://github.com/Aircoookie/WLED/tree/0_14_1) changelog + +#### Build 2312290 +- Fix for #3622 +- NB: fix for #3613 #3609 are not needed in MoonModules fork +- Various tweaks and fixes + +#### Build 2312230 +- Fix for #2922 (option to force WiFi PHY mode to G on ESP8266) +- Fix for #3601, #3400 (incorrect sunrise/sunset, #3612 by @softhack007) + +#### Build 2312180 +- Bugfixes (#3593, #3490, #3573, #3517, #3561, #3555, #3541, #3536, #3522, #3533, #3508) + +#### Build 2311160 +- Bugfixes (#3496, #3487) +- New usermod: LDR sensor (#3490 by @JeffWDH) +- Effect: Twinklefox & Tinklecat metadata fix +- Effect: separate #HH and #MM for Scrolling Text (#3480) + +#### Build 2310010, build 2310130 +- Bugfixes for #3400, #3403, #3405 +- minor HTML optimizations +- audioreactive: bugfix for UDP sound sync (partly initialized packets) + +#### Build 2309240 +- Effect bugfixes and improvements (Meteor, Meteor Smooth, Scrolling Text) +- audioreactive: bugfixes for ES8388 and ES7243 init; minor improvements for analog inputs + +#### Build 2309050 +- Added receive and send sync groups to JSON API (#3317) (you can change sync groups using preset) +- Internal temperature usermod (#3246) +- New effect: Rolling Balls (a.k.a. linear bounce) (#1039) +- Various bug fixes and enhancements. + +#### Build 2308030 +- Fix ESP-NOW crash with AP mode Always + +#### Build 2307180 +- various fixes and improvements (ESP variants platform 5.3.0, effect optimizations, /json/cfg pin allocation) + +#### Build 2307130 +- larger `oappend()` stack buffer (3.5k) for ESP32 +- Preset cycle bugfix (#3262) +- effect updates (2D Plasmaball), `blur()` speedup +- On/Off toggle from nodes view (may show unknown device type on older versions) (#3291) +- various fixes and improvements (ABL, crashes when changing presets with different segments) + +#### Build 2306270 +- ESP-NOW remote support (#3237) +- Pixel Magic tool (display pixel art) (#3249) +- Add WiFi network scan RPC command to Improv Serial (#3271) +- various fixes and improvements + +#### Build 2306210 +- 0.14.0-b3 release +- Multi relay usermod compile-time enabled option (-D MULTI_RELAY_ENABLED=true|false) + +#### Build 2306180 +- Added client-side option for applying effect defaults from metadata +- Improved ESP8266 stability by reducing WebSocket response resends +- Updated ESP8266 core to 3.1.2 + +#### Build 2306141 +- Lissajous improvements +- Scrolling Text improvements (leading 0) + +#### Build 2306140 +- Add settings PIN (un)locking to JSON post API #### Build 2306020 - Support for segment sets (PR #3171) -- Reduce sound simulation modes to 2 to facilitiate segment sets +- Reduce sound simulation modes to 2 to facilitate segment sets - Trigger button immediately on press if all configured presets are the same (PR #3226) - Changes for allowing Alexa to change light color to White when auto-calculating from RGB (PR #3211) #### Build 2305280 - DDP protocol update (#3193) -- added PCF8574 I2C port expander support for Multi relay usermod - MQTT multipacket (fragmented) message fix - added option to retain MQTT brightness and color messages - new ethernet board: @srg74 Ethernet Shield @@ -340,7 +407,7 @@ - Added application level pong websockets reply (#2139) - Use AsyncTCP 1.0.3 as it mitigates the flickering issue from 0.13.0-b2 -- Fixed transition manually updated in preset overriden by field value +- Fixed transition manually updated in preset overridden by field value #### Build 2108050 @@ -684,7 +751,7 @@ #### Build 2101040 - Replaced Red & Blue effect with Aurora effect (PR #1589) -- Fixed HTTP changing segments uncommanded (#1618) +- Fixed HTTP changing segments un-commanded (#1618) - Updated copyright year and contributor page link #### Build 2012311 @@ -869,7 +936,7 @@ #### Build 2011040 -- Inversed Rain direction (fixes #1147) +- Inverted Rain direction (fixes #1147) #### Build 2011010 @@ -1080,7 +1147,7 @@ - Added module info page to web UI - Added realtime override functionality to web UI -- Added individial segment power and brightness to web UI +- Added individual segment power and brightness to web UI - Added feature to one-click select single segment only by tapping segment name - Removed palette jumping to default if color is changed diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b4fbef51..fdf1388c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -14,7 +14,7 @@ You are all set if you have enabled `Editor: Detect Indentation` in VS Code. #### Blocks -Whether the opening bracket of e.g. an `if` block is in the same line as the condition or in a separate line is up to your discretion. If there is only one statement, leaving out block braches is acceptable. +Whether the opening bracket of e.g. an `if` block is in the same line as the condition or in a separate line is up to your discretion. If there is only one statement, leaving out block braces is acceptable. Good: ```cpp diff --git a/package-lock.json b/package-lock.json index da832670..f8c04b00 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "wled", - "version": "0.14.0-b27.32", + "version": "0.14.1-b30.36", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "wled", - "version": "0.14.0-b27.32", + "version": "0.14.1-b30.36", "license": "GPL-3.0-or-later", "dependencies": { "clean-css": "^4.2.3", diff --git a/package.json b/package.json index 54e922ad..476577f1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wled", - "version": "0.14.0-b27.32", + "version": "0.14.1-b30.36", "description": "Tools for WLED project", "main": "tools/cdata.js", "directories": { diff --git a/platformio.ini b/platformio.ini index f3b9a0a5..0eab03af 100644 --- a/platformio.ini +++ b/platformio.ini @@ -11,7 +11,7 @@ # CI binaries ;; default_envs = nodemcuv2, esp8266_2m, esp01_1m_full, esp32dev, esp32_eth # ESP32 variant builds are temporarily excluded from CI due to toolchain issues on the GitHub Actions Linux environment -; default_envs = nodemcuv2, esp8266_2m, esp01_1m_full, esp32dev, esp32_eth, lolin_s2_mini, esp32c3dev, esp32s3dev_8MB +; default_envs = nodemcuv2, esp8266_2m, esp01_1m_full, esp32dev, esp32_eth, esp32dev_audioreactive, lolin_s2_mini, esp32c3dev, esp32s3dev_8MB, esp32s3dev_8MB_PSRAM_opi # Release binaries ; default_envs = nodemcuv2, esp8266_2m, esp01_1m_full, esp32dev, esp32_eth, lolin_s2_mini, esp32c3dev, esp32s3dev_8MB @@ -34,6 +34,7 @@ ; default_envs = esp8285_4CH_MagicHome ; default_envs = esp8285_H801 ; default_envs = d1_mini_5CH_Shojo_PCB +; default_envs = wemos_shield_esp32 ; default_envs = m5atom ; default_envs = esp32_eth ; default_envs = esp32dev_qio80 @@ -41,42 +42,44 @@ ; default_envs = esp32s2_saola ; default_envs = esp32c3dev ; default_envs = lolin_s2_mini +; default_envs = esp32s3dev_16MB_PSRAM_opi ; MoonModules entries ; =================== default_envs = - ; esp32_4MB_S ;; experimental, optimized for speed - ; esp32_4MB_M ;; esp32 recommended default - ; esp32_4MB_M_eth - ; esp32_4MB_M_debug - ; ; esp32_4MB_XL -- temp disable - ; ; esp32_16MB_S ;; experimental, optimized for speed - ; esp32_16MB_M ;; esp32 recommended for boards with 16MB flash - ; ; esp32_16MB_M_debug - ; ; esp32_16MB_XL - ; esp8266_2MB_S - ; esp8266_4MB_S ;; recommended for 8266 with audio sync - ; esp8266_4MB_M - ; wemos_shield_esp32_4MB_M - ; ; wemos_shield_esp32_4MB_ICS4343x_M - ; ; wemos_shield_esp32_4MB_SPM1423_M - ; ; wemos_shield_esp32_4MB_LineIn_M - ; ; wemos_shield_esp32_16MB_M - ; ; wemos_shield_esp32_16MB_ICS4343x_M - ; ; wemos_shield_esp32_16MB_SPM1423_M - ; ; wemos_shield_esp32_16MB_SPM1423_XL - ; ; wemos_shield_esp32_16MB_LineIn_M - ; esp32_pico_4MB_M - ; esp32_4MB_PSRAM_S - ; ; esp32_4MB_PSRAM_REV3_S ;; experimental, optimized for WROVER-E with "revision3" chip - ; ; esp32S3_8MB_S ;; experimental, optimized for speed - ; ; esp32S3_8MB_M - ; ;; esp32S3_8MB_PSRAM_M ;; experiemental - ; ;; esp32s2_tinyUF2_PSRAM_S ;; experimental - only for adafruit -S2 boards with tinyUF2 bootloader !!! - ; ; esp32s2_PSRAM_M ;; experimental - ; ; esp32c3dev_4MB_M ;; experimental - ; seeed_esp32c3_4MB_S ;; experimental + esp32_4MB_S ;; experimental, optimized for speed + esp32_4MB_M ;; esp32 recommended default + esp32_4MB_M_eth + esp32_4MB_M_debug + esp32_4MB_XL + ; esp32_16MB_S ;; experimental, optimized for speed + esp32_16MB_M ;; esp32 recommended for boards with 16MB flash + ; esp32_16MB_M_debug + ; esp32_16MB_XL + esp8266_2MB_S + esp8266_4MB_S ;; recommended for 8266 with audio sync + esp8266_4MB_M + wemos_shield_esp32_4MB_M + ; wemos_shield_esp32_4MB_ICS4343x_M + ; wemos_shield_esp32_4MB_SPM1423_M + ; wemos_shield_esp32_4MB_LineIn_M + ; wemos_shield_esp32_16MB_M + ; wemos_shield_esp32_16MB_ICS4343x_M + ; wemos_shield_esp32_16MB_SPM1423_M + ; wemos_shield_esp32_16MB_SPM1423_XL + ; wemos_shield_esp32_16MB_LineIn_M + esp32_pico_4MB_M + esp32_4MB_PSRAM_S + ; esp32_4MB_PSRAM_REV3_S ;; experimental, optimized for WROVER-E with "revision3" chip + esp32S3_8MB_S ;; experimental, optimized for speed + esp32S3_8MB_M + ;; esp32S3_8MB_PSRAM_M ;; experiemental + ;; esp32s2_tinyUF2_PSRAM_S ;; experimental - only for adafruit -S2 boards with tinyUF2 bootloader !!! + esp32s2_PSRAM_M ;; experimental + esp32c3dev_4MB_M ;; experimental + esp32c3mini_dio_4MB_M ;; for boards that need "dio" flash mode (instead of qio) + seeed_esp32c3_4MB_S ;; experimental esp32_4MB_V4_S ;; experimental ; esp32_16MB_V4_S ;; experimental, optimized for speed ; esp32_16MB_V4_M ;; experimental @@ -110,13 +113,14 @@ arduino_core_2_7_4 = espressif8266@2.6.2 arduino_core_3_0_0 = espressif8266@3.0.0 arduino_core_3_2_0 = espressif8266@3.2.0 arduino_core_4_1_0 = espressif8266@4.1.0 +arduino_core_3_1_2 = espressif8266@4.2.0 # Development platforms arduino_core_develop = https://github.com/platformio/platform-espressif8266#develop arduino_core_git = https://github.com/platformio/platform-espressif8266#feature/stage # Platform to use for ESP8266 -platform_wled_default = ${common.arduino_core_4_1_0} +platform_wled_default = ${common.arduino_core_3_1_2} # We use 2.7.4.7 for all, includes PWM flicker fix and Wstring optimization #platform_packages = tasmota/framework-arduinoespressif8266 @ 3.20704.7 platform_packages = platformio/framework-arduinoespressif8266 @@ -139,7 +143,7 @@ platform_packages = platformio/framework-arduinoespressif8266 # ------------------------------------------------------------------------------ debug_flags = -D DEBUG=1 -D WLED_DEBUG -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_TLS_MEM ;; for esp8266 - -DARDUINOJSON_DEBUG=1 ;; enables some debug asserts in arduinoJSON + -DARDUINOJSON_DEBUG=1 ;; WLEDMM: this enables some debug asserts in arduinoJSON # if needed (for memleaks etc) also add; -DDEBUG_ESP_OOM -include "umm_malloc/umm_malloc_cfg.h" # -DDEBUG_ESP_CORE is not working right now @@ -231,8 +235,7 @@ upload_speed = 115200 # ------------------------------------------------------------------------------ lib_compat_mode = strict lib_deps = - fastled/FastLED @ 3.6.0 ;; 3.6.0 was release recently - ;https://github.com/FastLED/FastLED.git#master @3.6.0+sha.23c67b7 ;; up to 50% faster - using a "known good" hash, so we get predictable builds + fastled/FastLED @ 3.6.0 IRremoteESP8266 @ 2.8.2 ;;makuna/NeoPixelBus @ 2.7.5 ;; WLEDMM will be added in board specific sections ;;https://github.com/Aircoookie/ESPAsyncWebServer.git @ ~2.0.7 @@ -259,7 +262,7 @@ build_flags = -DESP8266 -DFP_IN_IROM ;-Wno-deprecated-declarations - ;; -Wno-register ;; leaves some warnings when compiling C files: command-line option '-Wno-register' is valid for C++/ObjC++ but not for C + ;-Wno-register ;; leaves some warnings when compiling C files: command-line option '-Wno-register' is valid for C++/ObjC++ but not for C ;-Dregister= # remove warnings in C++17 due to use of deprecated register keyword by the FastLED library ;; warning: this can be dangerous -Wno-misleading-indentation ; NONOSDK22x_190703 = 2.2.2-dev(38a443e) @@ -295,12 +298,13 @@ build_flags = -g -DARDUINO_ARCH_ESP32 #-DCONFIG_LITTLEFS_FOR_IDF_3_2 -D CONFIG_ASYNC_TCP_USE_WDT=0 + -D CONFIG_ASYNC_TCP_TASK_STACK_SIZE=9472 ;; WLEDMM increase stack by 1.25Kb, as audioreactive needs bigger SETTINGS_STACK_BUF_SIZE #use LITTLEFS library by lorol in ESP32 core 1.x.x instead of built-in in 2.x.x -D LOROL_LITTLEFS ; -DARDUINO_USB_CDC_ON_BOOT=0 ;; this flag is mandatory for "classic ESP32" when building with arduino-esp32 >=2.0.3 default_partitions = tools/WLED_ESP32_4MB_1MB_FS.csv ;; WLED standard for 4MB flash: 1.4MB firmware, 1MB filesystem -;default_partitions = tools/WLED_ESP32_4MB_256KB_FS.csv ;; Alternative for 4MB flash: 1.8MB firmware, 256KB filesystem (esptool erase_flash needed before changing) +;default_partitions = tools/WLED_ESP32_4MB_256KB_FS.csv ;; WLEDMM alternative for 4MB flash: 1.8MB firmware, 256KB filesystem (esptool erase_flash needed before changing) lib_deps = https://github.com/pbolduc/AsyncTCP.git @ 1.2.0 ;; WLEDMM this must be first in the list, otherwise Aircoookie/ESPAsyncWebServer pulls in an older version of AsyncTCP !! @@ -314,28 +318,24 @@ lib_deps = ;; ** For compiling with latest Frameworks (IDF4.4.x and arduino-esp32 v2.0.x) ** ;;; previous standard V4 platform -platformV4_pre = espressif32@ ~5.1.1 -platformV4_packages_pre = - platformio/framework-arduinoespressif32@ ~3.20004.0 +platformV4_pre = espressif32@5.2.0 +platformV4_packages_pre = toolchain-riscv32-esp @ 8.4.0+2021r2-patch5 ; required for platform version < 5.3.0, remove this line when upgrading to platform >=5.3.0 ;;; standard V4 platform -platformV4 = espressif32@5.2.0 +platformV4 = espressif32@5.3.0 platformV4_packages = - toolchain-riscv32-esp @ 8.4.0+2021r2-patch5 ; required for platform version < 5.3.0, remove this line when upgrading to platform >=5.3.0 - -;;; updated V4 platform (5.3.0) - experimental -;;platformV4_up = espressif32@ ~5.3.0 -;;platformV4_packages_up = ;;; experimental: latest V4 platform with latest arduino-esp32 2.0.9 + ESP-IDF 4.4.4 (may or may not work) -platformV4_xp = espressif32@ ~6.3.0 +platformV4_xp = espressif32@ ~6.4.0 platformV4_packages_xp = platformio/framework-arduinoespressif32 @ ~3.20009.0 ;; arduino-esp32 v2.0.9+ +;; platformV4_packages_xp = platformio/framework-arduinoespressif32 @ ~3.20011.0 ;; arduino-esp32 v2.0.11 (latest one supported in platformio) build_flagsV4 = -g -DARDUINO_ARCH_ESP32 -DESP32 -DCONFIG_LITTLEFS_FOR_IDF_3_2 -DLFS_THREADSAFE -D CONFIG_ASYNC_TCP_USE_WDT=0 - ; -DARDUINO_USB_CDC_ON_BOOT=0 ;; mandatory for "classic ESP32" when builing with arduino-esp32 >=2.0.3 + -D CONFIG_ASYNC_TCP_TASK_STACK_SIZE=9472 ;; WLEDMM increase stack by 1.25Kb, as audioreactive needs bigger SETTINGS_STACK_BUF_SIZE + ; -DARDUINO_USB_CDC_ON_BOOT=0 ;; mandatory for "classic ESP32" when building with arduino-esp32 >=2.0.3 ;;; V4.4.x libraries (without LOROL_LITTLEFS; with newer NeoPixelBus) lib_depsV4 = https://github.com/pbolduc/AsyncTCP.git @ 1.2.0 ;; WLEDMM this must be first in the list, otherwise Aircoookie/ESPAsyncWebServer pulls in an older version of AsyncTCP !! @@ -352,14 +352,14 @@ lib_depsV4 = ;; ;; please note that you can NOT update existing ESP32 installs with a "V4" build. Also updating by OTA will not work properly. ;; You need to completely erase your device (esptool erase_flash) first, then install the "V4" build from VSCode+platformio. -platform = espressif32@5.2.0 +platform = espressif32@5.3.0 platform_packages = - toolchain-riscv32-esp @ 8.4.0+2021r2-patch5 ; required for platform version < 5.3.0, remove this line when upgrading to platform >=5.3.0 build_flags = -g -Wshadow=compatible-local ;; emit warning in case a local variable "shadows" another local one -DARDUINO_ARCH_ESP32 -DESP32 #-DCONFIG_LITTLEFS_FOR_IDF_3_2 -D CONFIG_ASYNC_TCP_USE_WDT=0 + -D CONFIG_ASYNC_TCP_TASK_STACK_SIZE=9472 ;; WLEDMM increase stack by 1.25Kb, as audioreactive needs bigger SETTINGS_STACK_BUF_SIZE -DARDUINO_USB_CDC_ON_BOOT=0 ;; this flag is mandatory for "classic ESP32" when building with arduino-esp32 >=2.0.3 default_partitions = tools/WLED_ESP32_4MB_1MB_FS.csv lib_deps = @@ -371,13 +371,15 @@ lib_deps = ;; generic definitions for all ESP32-S2 boards platform = espressif32@5.2.0 platform_packages = - toolchain-riscv32-esp @ 8.4.0+2021r2-patch5 ; required for platform version < 5.3.0, remove this line when upgrading to platform >=5.3.0 + toolchain-riscv32-esp @ 8.4.0+2021r2-patch5 + toolchain-xtensa-esp32s2 @ 8.4.0+2021r2-patch5 build_flags = -g -DARDUINO_ARCH_ESP32 -DESP32 ;; WLEDMM -DARDUINO_ARCH_ESP32S2 -DCONFIG_IDF_TARGET_ESP32S2=1 -DCONFIG_LITTLEFS_FOR_IDF_3_2 -DLFS_THREADSAFE ;; WLEDMM -D CONFIG_ASYNC_TCP_USE_WDT=0 + -D CONFIG_ASYNC_TCP_TASK_STACK_SIZE=8614 ;; WLEDMM increase stack by 1Kb, as audioreactive needs bigger SETTINGS_STACK_BUF_SIZE -DARDUINO_USB_MSC_ON_BOOT=0 -DARDUINO_USB_DFU_ON_BOOT=0 -DCO -DARDUINO_USB_MODE=0 ;; this flag is mandatory for ESP32-S2 ! @@ -391,15 +393,15 @@ lib_deps = [esp32c3] ;; generic definitions for all ESP32-C3 boards -platform = espressif32@5.2.0 +platform = espressif32@5.3.0 platform_packages = - toolchain-riscv32-esp @ 8.4.0+2021r2-patch5 ; required for platform version < 5.3.0, remove this line when upgrading to platform >=5.3.0 build_flags = -g -DARDUINO_ARCH_ESP32 -DESP32 ;; WLEDMM -DARDUINO_ARCH_ESP32C3 -DCONFIG_IDF_TARGET_ESP32C3=1 -DCONFIG_LITTLEFS_FOR_IDF_3_2 -DLFS_THREADSAFE ;; WLEDMM -D CONFIG_ASYNC_TCP_USE_WDT=0 + -D CONFIG_ASYNC_TCP_TASK_STACK_SIZE=9472 ;; WLEDMM increase stack by 1.25Kb, as audioreactive needs bigger SETTINGS_STACK_BUF_SIZE -DCO -DARDUINO_USB_MODE=1 ;; this flag is mandatory for ESP32-C3 ;; please make sure that the following flags are properly set (to 0 or 1) by your board.json, or included in your custom platformio_override.ini entry: @@ -412,9 +414,8 @@ lib_deps = [esp32s3] ;; generic definitions for all ESP32-S3 boards -platform = espressif32@5.2.0 +platform = espressif32@5.3.0 platform_packages = - toolchain-riscv32-esp @ 8.4.0+2021r2-patch5 ; required for platform version < 5.3.0, remove this line when upgrading to platform >=5.3.0 build_flags = -g -DESP32 -DARDUINO_ARCH_ESP32 @@ -422,6 +423,7 @@ build_flags = -g -DCONFIG_IDF_TARGET_ESP32S3=1 -DCONFIG_LITTLEFS_FOR_IDF_3_2 -DLFS_THREADSAFE ;; WLEDMM -D CONFIG_ASYNC_TCP_USE_WDT=0 + -D CONFIG_ASYNC_TCP_TASK_STACK_SIZE=9472 ;; WLEDMM increase stack by 1.25Kb, as audioreactive needs bigger SETTINGS_STACK_BUF_SIZE -DARDUINO_USB_MSC_ON_BOOT=0 -DARDUINO_DFU_ON_BOOT=0 -DCO ;; please make sure that the following flags are properly set (to 0 or 1) by your board.json, or included in your custom platformio_override.ini entry: @@ -464,7 +466,7 @@ lib_deps = ${esp8266.lib_deps} ; board_build.ldscript = ${common.ldscript_1m128k} ; build_unflags = ${common.build_unflags} ; build_flags = ${common.build_flags_esp8266} -D WLED_RELEASE_NAME=ESP01 -D WLED_DISABLE_OTA -; ; -D WLED_USE_UNREAL_MATH ;; may cause wrong sunset/sunrise times, but saves 7064 bytes FLASH and 975 bytes RAM +; ; -D WLED_USE_UNREAL_MATH ;; may cause wrong sunset/sunrise times, but saves 7064 bytes FLASH and 975 bytes RAM ; lib_deps = ${esp8266.lib_deps} [env:esp07] @@ -515,6 +517,21 @@ lib_deps = ${esp32.lib_deps} monitor_filters = esp32_exception_decoder board_build.partitions = ${esp32.default_partitions} +;WLEDMM: use WLEDMM build environments +; [env:esp32dev_audioreactive] +; board = esp32dev +; platform = ${esp32.platform} +; platform_packages = ${esp32.platform_packages} +; build_unflags = ${common.build_unflags} +; build_flags = ${common.build_flags_esp32} -D WLED_RELEASE_NAME=ESP32_audioreactive #-D WLED_DISABLE_BROWNOUT_DET +; ${esp32.AR_build_flags} +; lib_deps = ${esp32.lib_deps} +; ${esp32.AR_lib_deps} +; monitor_filters = esp32_exception_decoder +; board_build.partitions = ${esp32.default_partitions} +; ; board_build.f_flash = 80000000L +; ; board_build.flash_mode = dio + [env:esp32dev_qio80] board = esp32dev platform = ${esp32.platform} @@ -548,7 +565,8 @@ platform = ${esp32.platform} platform_packages = ${esp32.platform_packages} upload_speed = 921600 build_unflags = ${common.build_unflags} -build_flags = ${common.build_flags_esp32} -D WLED_RELEASE_NAME=ESP32_Ethernet -D RLYPIN=-1 -D WLED_USE_ETHERNET -D BTNPIN=-1 -D WLED_DISABLE_ESPNOW +build_flags = ${common.build_flags_esp32} -D WLED_RELEASE_NAME=ESP32_Ethernet -D RLYPIN=-1 -D WLED_USE_ETHERNET -D BTNPIN=-1 + -D WLED_DISABLE_ESPNOW ;; ESP-NOW requires wifi, may crash with ethernet only lib_deps = ${esp32.lib_deps} board_build.partitions = ${esp32.default_partitions} @@ -562,6 +580,7 @@ board_build.flash_mode = qio upload_speed = 460800 build_unflags = ${common.build_unflags} build_flags = ${common.build_flags} ${esp32s2.build_flags} #-D WLED_RELEASE_NAME=S2_saola + ;-DLOLIN_WIFI_FIX ;; try this in case Wifi does not work -DARDUINO_USB_CDC_ON_BOOT=1 lib_deps = ${esp32s2.lib_deps} @@ -572,8 +591,9 @@ platform_packages = ${esp32c3.platform_packages} framework = arduino board = esp32-c3-devkitm-1 board_build.partitions = tools/WLED_ESP32_4MB_1MB_FS.csv -build_flags = ${common.build_flags} ${esp32c3.build_flags} #-D WLED_RELEASE_NAME=ESP32-C3 +build_flags = ${common.build_flags} ${esp32c3.build_flags} -D WLED_RELEASE_NAME=ESP32-C3 -D WLED_WATCHDOG_TIMEOUT=0 + -DLOLIN_WIFI_FIX ; seems to work much better with this -DARDUINO_USB_CDC_ON_BOOT=1 ;; for virtual CDC USB ;-DARDUINO_USB_CDC_ON_BOOT=0 ;; for serial-to-USB chip upload_speed = 460800 @@ -587,10 +607,10 @@ platform = ${esp32s3.platform} platform_packages = ${esp32s3.platform_packages} upload_speed = 921600 ; or 460800 build_unflags = ${common.build_unflags} -build_flags = ${common.build_flags} ${esp32s3.build_flags} +build_flags = ${common.build_flags} ${esp32s3.build_flags} -D WLED_RELEASE_NAME=ESP32-S3_8MB -D CONFIG_LITTLEFS_FOR_IDF_3_2 -D WLED_WATCHDOG_TIMEOUT=0 -D ARDUINO_USB_CDC_ON_BOOT=0 ;; -D ARDUINO_USB_MODE=1 ;; for boards with serial-to-USB chip - ;-D ARDUINO_USB_CDC_ON_BOOT=1 ;; -D ARDUINO_USB_MODE=0 ;; for boards with USB-OTG connector only (USBCDC or "TinyUSB") + ;-D ARDUINO_USB_CDC_ON_BOOT=1 ;; -D ARDUINO_USB_MODE=1 ;; for boards with USB-OTG connector only (USBCDC or "TinyUSB") ;-D WLED_DEBUG lib_deps = ${esp32s3.lib_deps} board_build.partitions = tools/WLED_ESP32_8MB.csv @@ -599,11 +619,10 @@ board_build.flash_mode = qio ; board_build.flash_mode = dio ;; try this if you have problems at startup monitor_filters = esp32_exception_decoder -[env:esp32s3dev_8MB_PSRAM] -;; ESP32-TinyS3 development board, with 8MB FLASH and 8MB PSRAM (memory_type: qio_opi, qio_qspi, or opi_opi) -;board = um_tinys3 ; -> needs workaround from https://github.com/Aircoookie/WLED/pull/2905#issuecomment-1328049860 -;board = esp32s3box ; -> error: 'esp32_adc2gpio' was not declared in this scope -board = esp32-s3-devkitc-1 ; -> compiles, but does not support PSRAM +[env:esp32s3dev_8MB_PSRAM_opi] +;; ESP32-S3 development board, with 8MB FLASH and >= 8MB PSRAM (memory_type: qio_opi) +board = esp32-s3-devkitc-1 ;; generic dev board; the next line adds PSRAM support +board_build.arduino.memory_type = qio_opi ;; use with PSRAM: 8MB or 16MB platform = ${esp32s3.platform} platform_packages = ${esp32s3.platform_packages} upload_speed = 921600 @@ -611,7 +630,7 @@ build_unflags = ${common.build_unflags} build_flags = ${common.build_flags} ${esp32s3.build_flags} -D CONFIG_LITTLEFS_FOR_IDF_3_2 -D WLED_WATCHDOG_TIMEOUT=0 ;-D ARDUINO_USB_CDC_ON_BOOT=0 ;; -D ARDUINO_USB_MODE=1 ;; for boards with serial-to-USB chip - -D ARDUINO_USB_CDC_ON_BOOT=1 ;; -D ARDUINO_USB_MODE=0 ;; for boards with USB-OTG connector only (USBCDC or "TinyUSB") + -D ARDUINO_USB_CDC_ON_BOOT=1 -D ARDUINO_USB_MODE=1 ;; for boards with USB-OTG connector only (USBCDC or "TinyUSB") ; -D WLED_RELEASE_NAME=ESP32-S3_PSRAM -D WLED_USE_PSRAM -DBOARD_HAS_PSRAM ; tells WLED that PSRAM shall be used lib_deps = ${esp32s3.lib_deps} @@ -620,6 +639,18 @@ board_build.f_flash = 80000000L board_build.flash_mode = qio monitor_filters = esp32_exception_decoder +[env:esp32s3dev_16MB_PSRAM_opi] +extends = env:esp32s3dev_8MB_PSRAM_opi +board_build.partitions = tools/WLED_ESP32_16MB.csv +board_upload.flash_size = 16MB + +[env:esp32s3dev_8MB_PSRAM_qspi] +;; ESP32-TinyS3 development board, with 8MB FLASH and PSRAM (memory_type: qio_qspi) +extends = env:esp32s3dev_8MB_PSRAM_opi +;board = um_tinys3 ; -> needs workaround from https://github.com/Aircoookie/WLED/pull/2905#issuecomment-1328049860 +board = esp32-s3-devkitc-1 ;; generic dev board; the next line adds PSRAM support +board_build.arduino.memory_type = qio_qspi ;; use with PSRAM: 2MB or 4MB + [env:esp8285_4CH_MagicHome] board = esp8285 platform = ${common.platform_wled_default} @@ -688,7 +719,7 @@ platform_packages = ${esp32s2.platform_packages} board = lolin_s2_mini board_build.partitions = tools/WLED_ESP32_4MB_1MB_FS.csv build_unflags = ${common.build_unflags} #-DARDUINO_USB_CDC_ON_BOOT=1 -build_flags = ${common.build_flags} ${esp32s2.build_flags} #-D WLED_RELEASE_NAME=LolinS2 +build_flags = ${common.build_flags} ${esp32s2.build_flags} -D WLED_RELEASE_NAME=ESP32-S2 -DBOARD_HAS_PSRAM -DARDUINO_USB_CDC_ON_BOOT=1 # try disabling and enabling unflag above in case of board-specific issues, will disable Serial -DARDUINO_USB_MSC_ON_BOOT=0 @@ -731,6 +762,8 @@ upload_speed = 115200 lib_deps = ${esp32c3.lib_deps} board_build.partitions = tools/WLED_ESP32_2MB_noOTA.csv board_build.flash_mode = dio +board_upload.flash_size = 2MB +board_upload.maximum_size = 2097152 ;WLEDMM: see below ; [env:wemos_shield_esp32] @@ -744,7 +777,7 @@ board_build.flash_mode = dio ; -D RLYPIN=19 ; -D BTNPIN=17 ; -D IRPIN=18 -; -D UWLED_USE_MY_CONFIG +; -U WLED_USE_MY_CONFIG ; -D USERMOD_DALLASTEMPERATURE ; -D USERMOD_FOUR_LINE_DISPLAY ; -D TEMPERATURE_PIN=23 @@ -909,6 +942,16 @@ board_build.partitions = ${esp32.default_partitions} ; shared build flags and lib deps for minimum and maximum environment [common_mm] + +build_disable_sync_interfaces = + -D WLED_DISABLE_LOXONE + -D WLED_DISABLE_ALEXA + -D WLED_DISABLE_HUESYNC + -D WLED_DISABLE_MQTT + -D WLED_DISABLE_INFRARED + -D WLED_DISABLE_ADALIGHT ;; WLEDMM this board does not have a serial-to-USB chip. Better to disable serial protocols, to avoid crashes (see upstream #3128) + -D WLED_DISABLE_ESPNOW ;; ESP-NOW requires wifi, may crash with ethernet only + build_flags_S = -Wall -Wformat -Woverflow -Wuninitialized -Winit-self -Warray-bounds ; enables more warnings -Wno-attributes -Wno-unused-variable -Wno-unused-function -Wno-deprecated-declarations ;disables some stupid warnings @@ -919,14 +962,9 @@ build_flags_S = -D USERMOD_AUDIOREACTIVE -D UM_AUDIOREACTIVE_USE_NEW_FFT ; use latest (upstream) FFTLib, instead of older library modified by blazoncek. Slightly faster, more accurate, needs 2KB RAM extra ; -D USERMOD_ARTIFX ;; WLEDMM usermod - temporarily moved into "_M", due to problems in "_S" when compiling with -O2 - ; -D WLEDMM_FASTPATH ;; WLEDMM experimental option. Reduces audio lag (latency), and allows for faster LED framerates. May break compatibility with previous versions. + -D WLEDMM_FASTPATH ;; WLEDMM experimental option. Reduces audio lag (latency), and allows for faster LED framerates. May break compatibility with previous versions. ; -D WLED_DEBUG_HEAP ;; WLEDMM enable heap debugging - ; -D WLED_DISABLE_LOXONE - ; -D WLED_DISABLE_ALEXA - ; -D WLED_DISABLE_HUESYNC - ; -D WLED_DISABLE_MQTT - ; -D WLED_DISABLE_INFRARED - ; -D WLED_ENABLE_DMX + ${common_mm.build_disable_sync_interfaces} lib_deps_S = ;; https://github.com/kosme/arduinoFFT#develop @ 1.9.2+sha.419d7b0 ;; used for USERMOD_AUDIOREACTIVE - using "known working" hash @@ -961,7 +999,7 @@ lib_deps_M = lib_deps_V4_M = ;https://github.com/blazoncek/OneWire.git ; includes bugfixes for inconsistent readings paulstoffregen/OneWire@ ^2.3.7 ; used for USERMOD_DALLASTEMPERATURE -> need newer release with bugfixes for -S3; still requires TEMPERATURE_PIN < 46 - olikraus/U8g2@ ^2.34.5 ; used for USERMOD_FOUR_LINE_DISPLAY -> need newer version with bugfixes for arduino-esp32 v2.0.4 (Wire inititialization) + olikraus/U8g2@ ^2.34.5 ; used for USERMOD_FOUR_LINE_DISPLAY -> need newer version with bugfixes for arduino-esp32 v2.0.4 (Wire initialization) ${common_mm.animartrix_lib_deps} build_flags_XL = @@ -969,7 +1007,7 @@ build_flags_XL = -D USERMOD_MPU6050_IMU ; gyro/accelero for USERMOD_GAMES (ONLY WORKS IF USERMOD_FOUR_LINE_DISPLAY NOT INCLUDED - I2C SHARING BUG) -D USERMOD_GAMES ; WLEDMM usermod -D USERMOD_BATTERY ;; enable Battery usermod - -D USERMOD_BATTERY_USE_LIPO ;; use new "decharging curve" for LiPo cells + -D USERMOD_BATTERY_USE_LIPO ;; use new "discharging curve" for LiPo cells -D USERMOD_BH1750 -D USERMOD_ANIMATED_STAIRCASE -D USERMOD_RTC ;; experimental @@ -978,8 +1016,8 @@ build_flags_XL = -D USERMOD_MULTI_RELAY -D USERMOD_PIRSWITCH -D USERMOD_PWM_FAN - ; -D USERMOD_PING_PONG_CLOCK //Removed as dots is confusing - -D USERMOD_BUZZER + ; -D USERMOD_PING_PONG_CLOCK ;; Removed as dots is confusing + ; -D USERMOD_BUZZER ;; Removed as it grabs gpio32 (pin needed by audioreactive) -D USERMOD_SN_PHOTORESISTOR -D USERMOD_BME280 -D USERMOD_DHT @@ -1021,32 +1059,34 @@ monitor_filters = esp32_exception_decoder [esp32_4MB_M_base] extends = esp32_4MB_S_base build_flags = ${esp32_4MB_S_base.build_flags} ${common_mm.build_flags_M} +build_unflags = ${esp32_4MB_S_base.build_unflags} ${common_mm.build_disable_sync_interfaces} lib_deps = ${esp32_4MB_S_base.lib_deps} ${common_mm.lib_deps_M} ; board_build.partitions = tools/WLED_ESP32-wrover_4MB.csv [esp32_4MB_XL_base] extends = esp32_4MB_M_base build_flags = ${esp32_4MB_M_base.build_flags} ${common_mm.build_flags_XL} +build_unflags = ${esp32_4MB_M_base.build_unflags} ${common_mm.build_disable_sync_interfaces} lib_deps = ${esp32_4MB_M_base.lib_deps} ${common_mm.lib_deps_XL} ; board_build.partitions = tools/WLED_ESP32-wrover_4MB.csv -;common default for all V4 min environments +;common default for all V4 min environments, including -S3, -S2, -C3 [esp32_4MB_V4_S_base] board = esp32dev upload_speed = 460800 ; or 921600 platform = ${esp32.platformV4} -platform_packages = - ${esp32.platformV4_packages} - toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5 ; align main tools with riscV tools +platform_packages = ${esp32.platformV4_packages} build_unflags = ${common.build_unflags} -build_flags = ${common.build_flags} ${esp32.build_flagsV4} ${common_mm.build_flags_S} +build_flags = ${common.build_flags} ${common_mm.build_flags_S} ;; do not include ${esp32.build_flagsV4} here !!!! -Wno-misleading-indentation -Wno-format-truncation -Wshadow=compatible-local ;; emit warning in case a local variable "shadows" another local one ;-Wstack-usage=2732 ;; warn if a function needs more that 30% of availeable stack ("stack usage might be unbounded", "stack usage is 2824 bytes") ;-Wsuggest-attribute=const -Wsuggest-attribute=pure ;; ask compiler for hints on attributes -D WLED_ENABLE_DMX_INPUT -lib_deps = ${esp32.lib_depsV4} ${common_mm.lib_deps_S} +lib_deps = ${common_mm.lib_deps_S} ;; do not include ${esp32.lib_depsV4} here !!!! https://github.com/someweisguy/esp_dmx.git#v3.0.2-beta ;; for DMX_INPUT +esp32_build_flags = ${esp32.build_flagsV4} ${esp32_4MB_V4_S_base.build_flags} ;; this is for esp32 only, including specific "V4" flags +esp32_lib_deps = ${esp32.lib_depsV4} ${esp32_4MB_V4_S_base.lib_deps} ;; this is for esp32 only, including specific "V4" flags board_build.partitions = ${esp32.default_partitions} board_build.f_flash = 80000000L ; use full 80MHz speed for flash (default = 40Mhz) board_build.flash_mode = dio ; (dio = dual i/o; more compatible than qio = quad i/o) @@ -1055,8 +1095,10 @@ board_build.flash_mode = dio ; (dio = dual i/o; more compatible than qio = quad [esp32_4MB_V4_M_base] extends = esp32_4MB_V4_S_base -build_flags = ${esp32_4MB_V4_S_base.build_flags} ${common_mm.build_flags_M} +build_flags = ${esp32_4MB_V4_S_base.build_flags} ${common_mm.build_flags_M} ;; generic, for all variants lib_deps = ${esp32_4MB_V4_S_base.lib_deps} ${common_mm.lib_deps_V4_M} +esp32_build_flags = ${esp32_4MB_V4_S_base.esp32_build_flags} ${common_mm.build_flags_M} ;; for esp32 only, including specific "V4" flags +esp32_lib_deps = ${esp32_4MB_V4_S_base.esp32_lib_deps} ${common_mm.lib_deps_V4_M} board_build.partitions = ${esp32_4MB_V4_S_base.board_build.partitions} ;board_build.flash_mode = qio ; (dio = dual i/o; more compatible than qio = quad i/o) @@ -1099,7 +1141,7 @@ build_flags = [Speed_Flags] build_flags = -O2 ;; optimize for performance instead of size - ;-ffast-math ;; gives a few (2-5) percent sppedup on ESP32-S3, but causes slight slowdown on classic ESP32 + ;-ffast-math ;; gives a few (2-5) percent speedup on ESP32-S3, but causes slight slowdown on classic ESP32 -mtarget-align -free -fipa-pta ;; these are very useful, too -fno-jump-tables -fno-tree-switch-conversion ;; needed -freorder-blocks -Wwrite-strings -fstrict-volatile-bitfields ;; needed @@ -1155,13 +1197,16 @@ build_flags = ${esp32_4MB_M_base.build_flags} extends = esp32_4MB_XL_base build_flags = ${esp32_4MB_XL_base.build_flags} -D WLED_RELEASE_NAME=esp32_4MB_XL -build_unflags = - -D USERMOD_ANIMARTRIX ;; Tips our memory usage over the limit -; RAM: [== ] 24.4% (used 80060 bytes from 327680 bytes) -; Flash: [==========] 95.3% (used 1499037 bytes from 1572864 bytes) -; HELP !!!!! : -; RAM: [== ] 24.5% (used 80356 bytes from 327680 bytes) -; Flash: [==========] 99.9% (used 1571053 bytes from 1572864 bytes) + ;-D WLED_DISABLE_ALEXA + ;-D WLED_DISABLE_HUESYNC ;; Over the limits ? + -D WLED_DISABLE_LOXONE ;; Over the limits + ;-D WLED_DISABLE_MQTT + ;-D WLED_DISABLE_INFRARED + -D WLEDMM_SAVE_FLASH ;; a humble attempt to save a few extra bytes +build_unflags = ${esp32_4MB_XL_base.build_unflags} +board_build.partitions = tools/WLED_ESP32_4MB_256KB_FS.csv +; RAM: [=== ] 26.3% (used 86172 bytes from 327680 bytes) +; Flash: [========= ] 85.0% (used 1615569 bytes from 1900544 bytes) ;; standard framework build for 16MB flash, optimized for speed [env:esp32_16MB_S] @@ -1316,7 +1361,7 @@ build_flags = ${common.build_flags_esp8266} -D USERMOD_GAMES ; WLEDMM usermod ; -D USERMOD_ARTIFX ; this is compiling but not working due to low memory on 8266 -D USERMOD_BATTERY ;; enable Battery usermod - -D USERMOD_BATTERY_USE_LIPO ;; use new "decharging curve" for LiPo cells + -D USERMOD_BATTERY_USE_LIPO ;; use new "discharging curve" for LiPo cells -D WLED_DEBUG_HOST='"192.168.x.x"' ;; to send debug messages over network to host 192.168.x.y - FQDN is also possible -D WLED_DEBUG_PORT=1768 ;; port for network debugging. default = 7868 ; -D WLED_DEBUG @@ -1449,7 +1494,7 @@ lib_deps = ${esp8266.lib_deps} ; compiled with ESP-IDF 4.4.1 [env:esp32_4MB_V4_S] extends = esp32_4MB_V4_S_base -build_flags = ${esp32_4MB_V4_S_base.build_flags} +build_flags = ${esp32_4MB_V4_S_base.esp32_build_flags} -D WLED_RELEASE_NAME=esp32_4MB_V4_S -D WLED_WATCHDOG_TIMEOUT=0 #-D WLED_DISABLE_BROWNOUT_DET -D ARDUINO_USB_CDC_ON_BOOT=0 ; needed for arduino-esp32 >=2.0.4; avoids errors on startup @@ -1464,6 +1509,7 @@ build_flags = ${esp32_4MB_V4_S_base.build_flags} ; -D MIC_LOGGER -D WLED_ENABLE_HUB75MATRIX -D NO_GFX +lib_deps = ${esp32_4MB_V4_S_base.esp32_lib_deps} lib_ignore = IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation ; RAM: [=== ] 25.1% (used 82176 bytes from 327680 bytes) ; Flash: [========= ] 93.8% (used 1474893 bytes from 1572864 bytes) @@ -1471,7 +1517,7 @@ lib_ignore = IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compila ; compiled with ESP-IDF 4.4.1 [env:esp32_4MB_V4_M] extends = esp32_4MB_V4_M_base -build_flags = ${esp32_4MB_V4_M_base.build_flags} +build_flags = ${esp32_4MB_V4_M_base.esp32_build_flags} -D WLED_RELEASE_NAME=esp32_4MB_V4_M -D WLED_WATCHDOG_TIMEOUT=0 #-D WLED_DISABLE_BROWNOUT_DET -D ARDUINO_USB_CDC_ON_BOOT=0 ; needed for arduino-esp32 >=2.0.4; avoids errors on startup @@ -1480,6 +1526,7 @@ build_flags = ${esp32_4MB_V4_M_base.build_flags} -D WLED_DISABLE_HUESYNC ;RAM 122 bytes; FLASH 6308 bytes ;-D WLED_DISABLE_MQTT ; RAM 216 bytes; FLASH 16496 bytes -D WLED_DISABLE_INFRARED ;RAM 136 bytes; FLASH 24492 bytes ;; softhack007 disabled to stay below 100% flash size +lib_deps = ${esp32_4MB_V4_M_base.esp32_lib_deps} lib_ignore = IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation build_unflags = ${esp32_4MB_V4_M_base.build_unflags} -D USERMOD_ANIMARTRIX ;; Tips our memory usage over the limit @@ -1492,14 +1539,14 @@ build_unflags = ${esp32_4MB_V4_M_base.build_unflags} extends = esp32_4MB_V4_S_base build_unflags = ${esp32_4MB_V4_S_base.build_unflags} ${Speed_Flags.build_unflags} ;; to override -Os -build_flags = ${esp32_4MB_V4_S_base.build_flags} +build_flags = ${esp32_4MB_V4_S_base.esp32_build_flags} ${Speed_Flags.build_flags} ;; optimize for speed instead of size -D WLED_RELEASE_NAME=esp32_16MB_V4_S -D WLED_WATCHDOG_TIMEOUT=0 #-D WLED_DISABLE_BROWNOUT_DET -D ARDUINO_USB_CDC_ON_BOOT=0 ; needed for arduino-esp32 >=2.0.4; avoids errors on startup -D WLEDMM_FASTPATH ; WLEDMM experimental option. Reduces audio lag (latency), and allows for faster LED framerates. May break compatibility with previous versions. ;; ${common_mm.animartrix_build_flags} ;; breaks the build - Internal Compiler Error -lib_deps = ${esp32_4MB_V4_S_base.lib_deps} +lib_deps = ${esp32_4MB_V4_S_base.esp32_lib_deps} ;; ${common_mm.animartrix_lib_deps} board = esp32_16MB board_build.partitions = tools/WLED_ESP32_16MB.csv ;; WLED standard for 16MB flash: 2MB firmware, 12 MB filesystem @@ -1514,7 +1561,7 @@ board_build.partitions = tools/WLED_ESP32_16MB.csv ;; WLED standard for ; compiled with ESP-IDF 4.4.1 [env:esp32_16MB_V4_M] extends = esp32_4MB_V4_M_base -build_flags = ${esp32_4MB_V4_M_base.build_flags} +build_flags = ${esp32_4MB_V4_M_base.esp32_build_flags} -D WLED_RELEASE_NAME=esp32_16MB_V4_M -D WLED_WATCHDOG_TIMEOUT=0 #-D WLED_DISABLE_BROWNOUT_DET -D ARDUINO_USB_CDC_ON_BOOT=0 ; needed for arduino-esp32 >=2.0.4; avoids errors on startup @@ -1525,6 +1572,7 @@ build_flags = ${esp32_4MB_V4_M_base.build_flags} -D ENCODER_DT_PIN=35 -D ENCODER_CLK_PIN=39 -D ENCODER_SW_PIN=5 ; WLEDMM spec by @SERG74: use 35 and 39 instead of 18 and 19 (conflicts) -D FLD_PIN_SCL=-1 -D FLD_PIN_SDA=-1 ; use global! -D HW_PIN_SCL=22 -D HW_PIN_SDA=21 +lib_deps = ${esp32_4MB_V4_M_base.esp32_lib_deps} board = esp32_16MB board_build.partitions = tools/WLED_ESP32_16MB.csv ;; WLED standard for 16MB flash: 2MB firmware, 12 MB filesystem ;board_build.partitions = tools/WLED_ESP32_16MB_9MB_FS.csv ;; WLED extended for 16MB flash: 3.2MB firmware, 9 MB filesystem @@ -1535,14 +1583,15 @@ board_build.partitions = tools/WLED_ESP32_16MB.csv ;; WLED standard for extends = esp32_4MB_V4_M_base build_unflags = ${common.build_unflags} -D CORE_DEBUG_LEVEL=0 -build_flags = ${esp32_4MB_V4_M_base.build_flags} +build_flags = ${esp32_4MB_V4_M_base.esp32_build_flags} ${Debug_Flags.build_flags} -D CORE_DEBUG_LEVEL=4 ;; 0=none, 1=error, 2=warning, 3=info, 4=debug, 5=verbose -D WLED_DEBUG_HEAP ;; WLEDMM enable heap debugging -D WLED_RELEASE_NAME=esp32_16MB_V4_M_debug -D WLED_WATCHDOG_TIMEOUT=0 #-D WLED_DISABLE_BROWNOUT_DET -D ARDUINO_USB_CDC_ON_BOOT=0 ; needed for arduino-esp32 >=2.0.4; avoids errors on startup -board = esp32_16MB +lib_deps = ${esp32_4MB_V4_M_base.esp32_lib_deps} +board = esp32_16MB board_build.partitions = tools/WLED_ESP32_16MB.csv ;; WLED standard for 16MB flash: 2MB firmware, 12 MB filesystem ;board_build.partitions = tools/WLED_ESP32_16MB_9MB_FS.csv ;; WLED extended for 16MB flash: 3.2MB firmware, 9 MB filesystem monitor_filters = esp32_exception_decoder @@ -1554,12 +1603,13 @@ monitor_filters = esp32_exception_decoder extends = esp32_4MB_V4_S_base board = lolin_d32_pro ;board = esp32cam -build_flags = ${esp32_4MB_V4_S_base.build_flags} +build_flags = ${esp32_4MB_V4_S_base.esp32_build_flags} -D WLED_RELEASE_NAME=esp32_4MB_PSRAM_S -D WLED_WATCHDOG_TIMEOUT=0 #-D WLED_DISABLE_BROWNOUT_DET -D ARDUINO_USB_CDC_ON_BOOT=0 ; needed for arduino-esp32 >=2.0.4; avoids errors on startup -D WLEDMM_FASTPATH ; WLEDMM experimental option. Reduces audio lag (latency), and allows for faster LED framerates. May break compatibility with previous versions. -DBOARD_HAS_PSRAM -D WLED_USE_PSRAM_JSON ;; -D WLED_USE_PSRAM ;; WLED_USE_PSRAM causes major slow-down (slow LEDs) on some ESP32 boards + ;; -DALL_JSON_TO_PSRAM ;; WLEDMM experimental --> try to force all JSON stuff into PSRAM; gives more free heap. -D WLED_DISABLE_LOXONE ; FLASH 1272 bytes -D WLED_DISABLE_HUESYNC ; RAM 122 bytes; FLASH 6308 bytes -D WLED_DISABLE_ALEXA ; RAM 116 bytes; FLASH 13524 bytes @@ -1569,6 +1619,7 @@ build_flags = ${esp32_4MB_V4_S_base.build_flags} ; -D WLED_DEBUG ; -D SR_DEBUG ; -D MIC_LOGGER +lib_deps = ${esp32_4MB_V4_S_base.esp32_lib_deps} lib_ignore = IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation ;; RAM: [== ] 24.3% (used 79524 bytes from 327680 bytes) ;; Flash: [========= ] 93.2% (used 1466389 bytes from 1572864 bytes) @@ -1586,13 +1637,14 @@ build_unflags = ${esp32_4MB_V4_S_base.build_unflags} -mfix-esp32-psram-cache-issue ;; this fix is not needed any more for revision 3 -mfix-esp32-psram-cache-strategy=memw ;; same as above -build_flags = ${esp32_4MB_V4_S_base.build_flags} +build_flags = ${esp32_4MB_V4_S_base.esp32_build_flags} -DARDUINO_EVENT_RUNNING_CORE=0 ;; assign Wifi to core0, to have more CPU on core#1 (arduino loop) -DARDUINO_RUNNING_CORE=1 ;; should be default, but does not hurt -DCONFIG_MBEDTLS_DYNAMIC_BUFFER=1 ;; optional - seems to move more buffers into PSRAM ;;${Speed_Flags.build_flags} ;; optimize for speed instead of size --> over 100% flash, but works with 256KB filesystem (alternative partitions file) -D WLEDMM_FASTPATH ; WLEDMM experimental option. Reduces audio lag (latency), and allows for faster LED framerates. May break compatibility with previous versions. -DBOARD_HAS_PSRAM -D WLED_USE_PSRAM_JSON ;; -D WLED_USE_PSRAM ;; WLED_USE_PSRAM causes major slow-down (slow LEDs) on some ESP32 boards + ;; -DALL_JSON_TO_PSRAM ;; WLEDMM experimental --> try to force all JSON stuff into PSRAM; gives more free heap. ;;-D CONFIG_ESP32_REV_MIN=3 ;; disables PSRAM bug workarounds in the core, reducing the code size and improving overall performance. -D WLED_RELEASE_NAME=esp32_4MB_PSRAM_REV3_S -D WLED_WATCHDOG_TIMEOUT=0 #-D WLED_DISABLE_BROWNOUT_DET @@ -1607,6 +1659,7 @@ build_flags = ${esp32_4MB_V4_S_base.build_flags} ; -D WLED_DEBUG ; -D SR_DEBUG ; -D MIC_LOGGER +lib_deps = ${esp32_4MB_V4_S_base.esp32_lib_deps} lib_ignore = IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation ;; RAM: [==== ] 35.9% (used 117688 bytes from 327680 bytes) ;; Flash: [========= ] 94.5% (used 1487097 bytes from 1572864 bytes) @@ -1617,7 +1670,7 @@ extends = esp32_4MB_V4_M_base board = lolin_d32_pro ;board = esp32cam board_build.partitions = tools/WLED_ESP32_4MB_256KB_FS.csv ;; 1.8MB firmware, 256KB filesystem (esptool erase_flash needed when changing from "standard WLED" partitions) -build_flags = ${esp32_4MB_V4_M_base.build_flags} +build_flags = ${esp32_4MB_V4_M_base.esp32_build_flags} -D WLED_RELEASE_NAME=esp32_4MB_PSRAM_M -D WLED_WATCHDOG_TIMEOUT=0 #-D WLED_DISABLE_BROWNOUT_DET -D ARDUINO_USB_CDC_ON_BOOT=0 ; needed for arduino-esp32 >=2.0.4; avoids errors on startup @@ -1631,6 +1684,7 @@ build_flags = ${esp32_4MB_V4_M_base.build_flags} ; -D WLED_DEBUG ; -D SR_DEBUG ; -D MIC_LOGGER +lib_deps = ${esp32_4MB_V4_M_base.esp32_lib_deps} ;lib_ignore = IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation ;; RAM: [== ] 24.9% (used 81484 bytes from 327680 bytes) ;; Flash: [======== ] 84.6% (used 1607857 bytes from 1900544 bytes) @@ -1773,8 +1827,8 @@ board_build.partitions = tools/WLED_ESP32_8MB.csv ;; to ewowi - i'll optimize this entry later, as a few things can be inherited for sure. To softhack: sure ;-) [env:esp32s2_tinyUF2_PSRAM_S] extends = esp32_4MB_V4_S_base -platform = ${esp32.platformV4} -platform_packages = ${esp32.platformV4_packages} +platform = ${esp32s2.platform} ;; using 5.2.0, due to massive connectivity problems on -S2 with 5.3.0 +platform_packages = ${esp32s2.platform_packages} board = adafruit_qtpy_esp32s2 board_build.partitions = tools/partitions-4MB_spiffs-tinyuf2.csv ;; this is needed for tinyUF2 bootloader! Filename has to end in "tinyuf2.csv" @@ -1785,18 +1839,21 @@ build_unflags = ${common.build_unflags} -D USERMOD_DALLASTEMPERATURE ;; disabled because it hangs during usermod setup on -S3 (autodetect broken?) -D WLED_ENABLE_DMX ;; disabled because it does not work with ESP-IDF 4.4.x (buggy driver in SparkFunDMX) -D WLED_ENABLE_DMX_INPUT ;; needs more testing + -DWLEDMM_FASTPATH ;; needs more testing on -S2 build_flags = ${common.build_flags} ${esp32s2.build_flags} ; ${Debug_Flags.build_flags} ;ewowi: enabling debug causes Error: The program size (1463330 bytes) is greater than maximum allowed (1441792 bytes) -D WLED_WATCHDOG_TIMEOUT=0 -D CONFIG_ASYNC_TCP_USE_WDT=0 ${common_mm.build_flags_S} -Wno-misleading-indentation -Wno-format-truncation + -DCONFIG_MBEDTLS_DYNAMIC_BUFFER=1 ;; optional - allows some buffers to use PSRAM -D WLED_RELEASE_NAME=esp32S2_4MB_UF2_S -DARDUINO_USB_CDC_ON_BOOT=1 ;; mandatory, otherwise USB does not work!! -D WLED_DISABLE_ADALIGHT ;; disables serial protocols when using CDC USB (Serial RX will receive junk commands, unless its pulled down by resistor) -DARDUINO_USB_MSC_ON_BOOT=0 -DARDUINO_USB_DFU_ON_BOOT=0 -D SERVERNAME='"WLED-S2"' -DBOARD_HAS_PSRAM -D WLED_USE_PSRAM_JSON ;; -D WLED_USE_PSRAM + -DALL_JSON_TO_PSRAM ;; WLEDMM experimental --> try to force all JSON stuff into PSRAM; gives more free heap. -D WLED_DISABLE_LOXONE ;; FLASH 1272 bytes -D WLED_DISABLE_HUESYNC ;; RAM 122 bytes; FLASH 6308 bytes -D WLED_DISABLE_ALEXA ;; RAM 116 bytes; FLASH 13524 bytes @@ -1826,8 +1883,8 @@ monitor_filters = esp32_exception_decoder ;; PINs assignments optimized for use with serg74 "mini shield" [env:esp32s2_PSRAM_M] extends = esp32_4MB_V4_M_base -platform = ${esp32.platformV4} ;; more stable on -S2 than 5.1.1 -platform_packages = ${esp32.platformV4_packages} +platform = ${esp32s2.platform} ;; using 5.2.0, due to massive connectivity problems on -S2 with 5.3.0 +platform_packages = ${esp32s2.platform_packages} board = lolin_s2_mini board_build.partitions = tools/WLED_ESP32_4MB_256KB_FS.csv ;; 1.8MB firmware, 256KB filesystem (esptool erase_flash needed when changing from "standard WLED" partitions) @@ -1839,6 +1896,7 @@ build_unflags = ${common.build_unflags} -D USERMOD_DALLASTEMPERATURE ;; disabled because it hangs during usermod setup on -S3 (autodetect broken?) -D WLED_ENABLE_DMX ;; disabled because it does not work with ESP-IDF 4.4.x (buggy driver in SparkFunDMX) -D WLED_ENABLE_DMX_INPUT ;; needs more testing + -DWLEDMM_FASTPATH ;; needs more testing on -S2 build_flags = ${common.build_flags} ${esp32s2.build_flags} ;; ${Debug_Flags.build_flags} -D WLED_WATCHDOG_TIMEOUT=0 -D CONFIG_ASYNC_TCP_USE_WDT=0 @@ -1846,6 +1904,7 @@ build_flags = ${common.build_flags} ${esp32s2.build_flags} -Wno-misleading-indentation -Wno-format-truncation -D WLED_RELEASE_NAME=esp32s2_4MB_M -DBOARD_HAS_PSRAM -D WLED_USE_PSRAM_JSON ;; -D WLED_USE_PSRAM + ;; -DALL_JSON_TO_PSRAM ;; WLEDMM experimental --> try to force all JSON stuff into PSRAM; gives more free heap. -DLOLIN_WIFI_FIX -DWLEDMM_WIFI_POWERON_HACK ;; seems to work much better with this -DARDUINO_USB_CDC_ON_BOOT=0 -DARDUINO_USB_MSC_ON_BOOT=0 -DARDUINO_USB_DFU_ON_BOOT=1 -D WLED_DISABLE_ADALIGHT ;; disables serial protocols, as the board only has CDC USB @@ -1859,7 +1918,7 @@ build_flags = ${common.build_flags} ${esp32s2.build_flags} -D HW_PIN_SCL=35 -D HW_PIN_SDA=33 -D RLYPIN=9 ;; -D HW_PIN_MOSISPI=11 -D HW_PIN_CLOCKSPI=7 -D HW_PIN_MISOSPI=9 ;; 9 already in use for RELAY, 7 for IR - -D SR_DMTYPE=1 -D I2S_SDPIN=34 -D I2S_CKPIN=14 -D I2S_WSPIN=17 -D MCLK_PIN=-1 ;; reommended for mini shield + -D SR_DMTYPE=1 -D I2S_SDPIN=34 -D I2S_CKPIN=14 -D I2S_WSPIN=17 -D MCLK_PIN=-1 ;; recommended for mini shield ;; -D FFTTASK_PRIORITY=2 ;; useful for testing FFT timing. reduces audio latency, but makes effects slower. ;; -D STATUSLED=15 -D WLED_USE_MY_CONFIG @@ -1893,6 +1952,7 @@ build_unflags = ${common.build_unflags} -D WLED_ENABLE_DMX_INPUT ;; needs more testing ;-D WLED_DEBUG_HOST='"192.168.x.x"' ;; to disable net print -D USERMOD_ANIMARTRIX ;; Tips our memory usage over the limit + -DWLEDMM_FASTPATH ;; needs more testing on -C3 build_flags = ${common.build_flags} ${esp32c3.build_flags} ; -D WLED_DISABLE_OTA ;; OTA is not possible for boards with 2MB flash only (like some Ai-Thinker ESP32-C3-12F models) @@ -1924,6 +1984,23 @@ lib_ignore = ; RAM: [== ] 23.7% (used 77780 bytes from 327680 bytes) ; Flash: [========= ] 93.9% (used 1477456 bytes from 1572864 bytes) +;; MM environment for ESP32-C3 "mini" and "super mini" -> flash mode "dio" instead of "qio" (see #101) +[env:esp32c3mini_dio_4MB_M] +extends = env:esp32c3dev_4MB_M +board = lolin_c3_mini +board_build.flash_mode = dio ;; some super-mini boards are unstable with "qio" mode +;; board_build.partitions = tools/WLED_ESP32_4MB_256KB_FS.csv ;; optional: 1.8MB firmware, 256KB filesystem (esptool erase_flash needed when changing from "standard WLED" partitions) +;;; replace WLED_RELEASE_NAME, disable CDC_ON_BOOT +build_unflags = ${env:esp32c3dev_4MB_M.build_unflags} + -DARDUINO_USB_CDC_ON_BOOT=1 + -D WLED_RELEASE_NAME=esp32c3dev_4MB_M +build_flags = ${env:esp32c3dev_4MB_M.build_flags} + -DARDUINO_USB_CDC_ON_BOOT=0 + -D WLED_RELEASE_NAME=esp32c3mini_dio_4MB_M + -D WLED_DISABLE_BROWNOUT_DET ;; the board only has a 500mA LDO, better to disable brownout detection + -D WLED_DISABLE_ADALIGHT ;; to disable serial protocols for boards with CDC USB (Serial RX will receive junk commands, unless its pulled down by resistor) + -D HW_PIN_SDA=0 -D HW_PIN_SCL=1 ;; avoid pin conflicts + ;; MM environment for "seeed xiao -C3" boards [env:seeed_esp32c3_4MB_S] extends = env:esp32c3dev_4MB_M @@ -1933,6 +2010,7 @@ platform_packages = ${esp32.platformV4_packages_pre} board_build.flash_mode = qio upload_speed = 460800 build_unflags = ${env:esp32c3dev_4MB_M.build_unflags} + -DWLEDMM_FASTPATH ;; needs more testing on -C3 build_flags = ${common.build_flags} ${esp32c3.build_flags} -D WLED_WATCHDOG_TIMEOUT=0 -D CONFIG_ASYNC_TCP_USE_WDT=0 ${common_mm.build_flags_S} -Wno-misleading-indentation -Wno-format-truncation @@ -1962,9 +2040,11 @@ monitor_filters = esp32_exception_decoder # custom board environments # ------------------------------------------------------------------------------ -[wemos_shield_esp32_4MB_M_base] -extends = esp32_4MB_M_base -build_flags = ${esp32_4MB_M_base.build_flags} +;https://www.tindie.com/products/serg74/wled-shield-board-for-addressable-leds/ +;https://www.tindie.com/products/moonmodules/shield-board-for-esp32-for-wled-addressable-leds/ +[wemos_shield_esp32_4MB_S_base] +extends = esp32_4MB_S_base +build_flags = ${esp32_4MB_S_base.build_flags} -D ABL_MILLIAMPS_DEFAULT=9500 ; Wemos max 10A -D LEDPIN=16 -D RLYPIN=19 @@ -1980,11 +2060,21 @@ build_flags = ${esp32_4MB_M_base.build_flags} -D PWM_PIN=-1 ; -D WLED_USE_MY_CONFIG +[wemos_shield_esp32_4MB_M_base] +extends = wemos_shield_esp32_4MB_S_base +build_flags = ${wemos_shield_esp32_4MB_S_base.build_flags} ${common_mm.build_flags_M} +lib_deps = ${wemos_shield_esp32_4MB_S_base.lib_deps} ${common_mm.lib_deps_M} + [wemos_shield_esp32_4MB_XL_base] extends = wemos_shield_esp32_4MB_M_base build_flags = ${wemos_shield_esp32_4MB_M_base.build_flags} ${common_mm.build_flags_XL} lib_deps = ${wemos_shield_esp32_4MB_M_base.lib_deps} ${common_mm.lib_deps_XL} +[env:wemos_shield_esp32_4MB_S] +extends = wemos_shield_esp32_4MB_S_base +build_flags = ${wemos_shield_esp32_4MB_S_base.build_flags} + -D WLED_RELEASE_NAME=wemos_shield_esp32_4MB_S + [env:wemos_shield_esp32_4MB_M] extends = wemos_shield_esp32_4MB_M_base build_flags = ${wemos_shield_esp32_4MB_M_base.build_flags} @@ -2012,6 +2102,13 @@ build_unflags = ${common.build_unflags} ${Shield_LineIn.build_unflags} build_flags = ${wemos_shield_esp32_4MB_M_base.build_flags} ${Shield_LineIn.build_flags} -D WLED_RELEASE_NAME=wemos_shield_esp32_4MB_LineIn_M +[env:wemos_shield_esp32_16MB_S] +extends = wemos_shield_esp32_4MB_S_base +build_flags = ${wemos_shield_esp32_4MB_S_base.build_flags} + -D WLED_RELEASE_NAME=wemos_shield_esp32_16MB_S +board = esp32_16MB +board_build.partitions = tools/WLED_ESP32_16MB.csv ;; WLED standard for 16MB flash: 2MB firmware, 12 MB filesystem + [env:wemos_shield_esp32_16MB_M] extends = wemos_shield_esp32_4MB_M_base build_flags = ${wemos_shield_esp32_4MB_M_base.build_flags} @@ -2071,6 +2168,7 @@ board = esp32_16MB board_build.partitions = tools/WLED_ESP32_16MB.csv ;; WLED standard for 16MB flash: 2MB firmware, 12 MB filesystem ;board_build.partitions = tools/WLED_ESP32_16MB_9MB_FS.csv ;; WLED extended for 16MB flash: 3.2MB firmware, 9 MB filesystem +;https://www.athom.tech/blank-1/wled-esp32-music-addressable-led-strip-controller [env:athom_music_esp32_4MB_M] extends = esp32_4MB_M_base build_flags = ${esp32_4MB_M_base.build_flags} ${Athom_PDMmic.build_flags} @@ -2090,6 +2188,25 @@ build_flags = ${esp32_4MB_M_base.build_flags} ${Athom_PDMmic.build_flags} ; -D PWM_PIN=-1 ; -D WLED_USE_MY_CONFIG +;https://shop.myhome-control.de/Elektronik/ +[env:abc_wled_controller_v43_S] +extends = esp32_4MB_S_base +build_unflags = ${esp32_4MB_S_base.build_unflags} ${common_mm.build_disable_sync_interfaces} +build_flags = ${esp32_4MB_S_base.build_flags} + -D WLED_RELEASE_NAME=abc_wled_controller_v43_M + -D LEDPIN=16 + -D ABL_MILLIAMPS_DEFAULT=5000 ; 5A default. Max 13A depending on the wires connected + -D WLED_USE_ETHERNET + -D WLED_ETH_DEFAULT=9 ; ABC! WLED V43 & compatible + -D RLYPIN=-1 -D BTNPIN=-1 ;; Prevent clash + -D WLED_DISABLE_ESPNOW ;; ESP-NOW requires wifi, may crash with ethernet only + -D AUDIOPIN=-1 + -D FLD_PIN_SCL=-1 -D FLD_PIN_SDA=-1 ; use global! + ; -D WLED_USE_MY_CONFIG + -D SR_DMTYPE=4 -D I2S_SDPIN=32 -D I2S_WSPIN=15 -D I2S_CKPIN=14 -D MCLK_PIN=0 ; generic i2s with mclk 0 + -D SR_SQUELCH=1 -D SR_GAIN=60 ; increrase squelch if noise, in test 0 is okay, but only slightly + -D SR_FREQ_PROF=1 ; Generic line in + ; ESP32 WLED pico board with builtin ICS-43432 microphpone [env:esp32_pico_4MB_M] extends = esp32_4MB_M_base @@ -2135,7 +2252,7 @@ board = pico32 ;platform_packages = upload_speed = 256000 ;; or 115200 ;; or 460800 ; or 921600 (slower speeds are better when flashing without a soldered connection) -build_flags = ${esp32_4MB_V4_S_base.build_flags} +build_flags = ${esp32_4MB_V4_S_base.esp32_build_flags} -D ARDUINO_USB_CDC_ON_BOOT=0 ; needed for arduino-esp32 >=2.0.4; avoids errors on startup -D WLED_RELEASE_NAME=esp32_pico_4MB_V4_S -D WLED_DISABLE_BROWNOUT_DET @@ -2159,6 +2276,7 @@ build_flags = ${esp32_4MB_V4_S_base.build_flags} ; -D MCLK_PIN=0 -D SR_ENABLE_DEFAULT ;; enable audioreactive at first start - no need to manually set "enable", then reboot ; -D WLED_USE_MY_CONFIG +lib_deps = ${esp32_4MB_V4_S_base.esp32_lib_deps} ;lib_ignore = IRremoteESP8266 ; use with WLED_DISABLE_INFRARED for faster compilation ; RAM: [=== ] 25.4% (used 83144 bytes from 327680 bytes) ; Flash: [==========] 96.4% (used 1516029 bytes from 1572864 bytes) diff --git a/tools/ESP32-Chip_info.hpp b/tools/ESP32-Chip_info.hpp index 1e6fad8f..89316598 100644 --- a/tools/ESP32-Chip_info.hpp +++ b/tools/ESP32-Chip_info.hpp @@ -17,6 +17,12 @@ #include "soc/spi_reg.h" #include +#if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(4, 0, 0) + #include "esp_chip_info.h" // esp-idf v4.4.x +#else + #include "esp_system.h" // esp-idf v3.x +#endif + #if CONFIG_IDF_TARGET_ESP32 #if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(4, 0, 0) #include "esp32/rom/spi_flash.h" @@ -82,7 +88,7 @@ return F("DOUT"); } -//******** Flash Chip Speed is NOT correctl !!!! ***** +//******** Flash Chip Speed is NOT correct !!!! ***** uint32_t my_ESP_getFlashChipSpeed(void) { const uint32_t spi_clock = REG_READ(SPI_CLOCK_REG(0)); @@ -163,7 +169,9 @@ typedef struct { case 3: if (single_core) { return F("ESP32-S0WD-OEM"); } // Max 160MHz, Single core, QFN 5*5, Xiaomi Yeelight else { return F("ESP32-D0WD-OEM"); } // Max 240MHz, Dual core, QFN 5*5 - case 4: return F("ESP32-U4WDH"); // Max 160MHz, Single core, QFN 5*5, 4MB embedded flash, ESP32-MINI-1, ESP32-DevKitM-1 + case 4: + if (single_core) { return F("ESP32-U4WDH-S"); } // Max 160MHz, Single core, QFN 5*5, 4MB embedded flash, ESP32-MINI-1, ESP32-DevKitM-1 + else { return F("ESP32-U4WDH-D"); } // Max 240MHz, Dual core, QFN 5*5, 4MB embedded flash case 5: if (rev3) { return F("ESP32-PICO-V3"); } // Max 240MHz, Dual core, LGA 7*7, ESP32-PICO-V3-ZERO, ESP32-PICO-V3-ZERO-DevKit else { return F("ESP32-PICO-D4"); } // Max 240MHz, Dual core, LGA 7*7, 4MB embedded flash, ESP32-PICO-KIT @@ -295,11 +303,14 @@ String my_GetDeviceHardwareRevision(void) { esp_chip_info_t chip_info; esp_chip_info(&chip_info); - char revision[10] = { 0 }; + char revision[24] = { 0 }; if (chip_info.revision) { - snprintf_P(revision, sizeof(revision), PSTR(" rev.%d"), chip_info.revision); + snprintf_P(revision, sizeof(revision), PSTR(" rev.%d (0x%x)"), chip_info.revision, chip_info.revision); } result += revision; // ESP32-C3 rev.3 +#if CONFIG_ESP32_ECO3_CACHE_LOCK_FIX + result += soc_has_cache_lock_bug() ? F(", chip has cache lock bug") : F(", free of cache lock bug"); +#endif return result; } @@ -318,12 +329,17 @@ static void my_show_chip_info(void) { #if 0 Serial.println("ESP Chip Info:"); switch ((int)my_info.model) { - case (int)CHIP_ESP32: Serial.print("ESP32 "); break; - case 2: Serial.print("ESP32-S2 "); break; - case 9: Serial.print("ESP32-S3 "); break; - case 5: Serial.print("ESP32-C3 "); break; - case 6: Serial.print("ESP32-H2 "); break; + case 1: Serial.print("ESP32 "); break; + case 2: Serial.print("ESP32-S2 "); break; + case 9: Serial.print("ESP32-S3 "); break; + case 5: Serial.print("ESP32-C3 "); break; + case 6: Serial.print("ESP32-H2/H4 "); break; // ESP-IFD 4.x case 12: Serial.print("ESP32-C2 "); break; + case 13: Serial.print("ESP32-C6 "); break; + case 16: Serial.print("ESP32-H2 "); break; // ESP-IFD 5.x + case 17: Serial.print("ESP32-C5 beta3 "); break; + case 18: Serial.print("ESP32-P4 "); break; + case 999: Serial.print("POSIX/Linux simulator "); break; default: Serial.print("(unknown) 0x"); Serial.print((int)my_info.model, HEX); Serial.print(" "); break; } Serial.print(" Rev "); @@ -394,6 +410,7 @@ static void my_show_chip_info(void) { // reason > 6 = user-defined reason codes #endif +#if 0 // duplicate - this info is also printed by getCoreResetReason() void my_print_reset_reason(int reason) { Serial.print(reason); @@ -413,7 +430,7 @@ void my_print_reset_reason(int reason) case 11 : Serial.print(" TGWDT_CPU_RESET");break; /**<11, Time Group reset CPU*/ case 12 : Serial.print(" SW_CPU_RESET");break; /**<12, Software reset CPU*/ case 13 : Serial.print(" RTCWDT_CPU_RESET");break; /**<13, RTC Watch dog Reset CPU*/ - case 14 : Serial.print(" EXT_CPU_RESET");break; /**<14, for APP CPU, reseted by PRO CPU*/ + case 14 : Serial.print(" EXT_CPU_RESET");break; /**<14, for APP CPU, reset by PRO CPU*/ case 15 : Serial.print(" RTCWDT_BROWN_OUT_RESET");break; /**<15, Reset when the vdd voltage is not stable*/ case 16 : Serial.print(" RTCWDT_RTC_RESET");break; /**<16, RTC Watch dog reset digital core and rtc module*/ case 17 : Serial.print(" TG1WDT_CPU_RESET");break; /**<17, Time Group1 reset CPU*/ @@ -449,10 +466,10 @@ void my_verbose_print_reset_reason(int reason) default : Serial.print ("other "); Serial.print(reason); } } - +#endif /* - * parts below were created by softhack007, licended under GPL v3.0 + * parts below were created by softhack007, licenced under GPL v3.0 */ void show_psram_info_part1(void) @@ -461,7 +478,7 @@ void show_psram_info_part1(void) //if (esp_spiram_is_initialized() == false) esp_spiram_init(); Serial.println(psramFound() ? "ESP32 PSRAM: found.": "ESP32 PSRAM: not found!"); if (!psramFound()) return; - psramInit(); + //psramInit(); // already doe by arduino framework // the next part only works on "classic" ESP32 #if !defined(CONFIG_IDF_TARGET_ESP32S3) && !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32C3) @@ -527,19 +544,23 @@ void show_psram_info_part2(void) void showRealSpeed() { //Serial.begin(115200); Serial.flush(); - Serial.println(F("\n====================================")); - Serial.print( F("Chip info for ")); Serial.println(ESP.getChipModel()); + Serial.println(F("\n")); + for(int aa=0; aa<65; aa++) Serial.print("="); Serial.println(); +#if 0 // duplicate - same info is printed in wled.cpp + Serial.print( F("Chip info for ")); Serial.print(ESP.getChipModel()); + Serial.print(F(", ")); Serial.print(ESP.getChipCores()); Serial.print(F(" core(s)")); + Serial.print(F(", ")); Serial.print(ESP.getCpuFreqMHz()); Serial.println(F("MHz.")); +#endif + Serial.print( F("ESP32 device: ")); Serial.println(my_GetDeviceHardwareRevision()); Serial.print( F("SDK: ")); Serial.println(ESP.getSdkVersion()); - Serial.println(F("------------------------------------\n")); + for(int aa=0; aa<42; aa++) Serial.print("-"); Serial.println(); + + my_show_chip_info(); Serial.print(" XTAL FREQ: "); Serial.print(getXtalFrequencyMhz()); Serial.println(" MHz"); Serial.print(" APB FREQ: "); Serial.print(getApbFrequency() / 1000000.0, 1); Serial.println(" MHz"); Serial.print(" CPU FREQ: "); Serial.print(getCpuFrequencyMhz()); Serial.println(" MHz\n"); - - Serial.print("ESP32 DEVICE: "); Serial.print(my_GetDeviceHardwareRevision()); - Serial.print(F(", ")); Serial.print(ESP.getChipCores()); Serial.print(F(" core(s)")); - Serial.print(F(", ")); Serial.print(ESP.getCpuFreqMHz()); Serial.println(F("MHz.\n")); - my_show_chip_info(); + for(int aa=0; aa<42; aa++) Serial.print("-"); Serial.println("\n"); Serial.print("FLASH CHIP FREQ (magic): "); Serial.print(ESP.getFlashChipSpeed()/1000000.0, 1); Serial.println(" MHz"); Serial.print("FLASH SIZE (magic byte): "); Serial.print(ESP.getFlashChipSize() / (1024.0 * 1024), 2); Serial.println(" MB"); @@ -553,7 +574,7 @@ void showRealSpeed() { Serial.print("FLASH REAL SIZE: "); Serial.print(my_ESP_getFlashChipRealSize() / (1024.0 * 1024), 2); Serial.println(" MB"); Serial.print("FLASH REAL MODE: "); Serial.println(my_ESP_getFlashChipMode()); - Serial.println(F("\n------------------------------------")); + for(int aa=0; aa<42; aa++) Serial.print("-"); Serial.println(); Serial.flush(); Serial.print( "RAM HEAP SIZE: "); Serial.print(ESP.getHeapSize() / 1024.0, 2); Serial.println(" KB"); Serial.print( " FREE RAM: "); Serial.print(ESP.getFreeHeap() / 1024.0, 2); Serial.println(" KB"); @@ -573,6 +594,7 @@ void showRealSpeed() { Serial.flush(); #endif +#if 0 // duplicate - this info is also printed by getCoreResetReason() Serial.println(); Serial.print("CPU #0 - last reset reason = "); my_print_reset_reason(rtc_get_reset_reason(0)); Serial.print("\t => "); @@ -584,8 +606,9 @@ void showRealSpeed() { my_verbose_print_reset_reason(rtc_get_reset_reason(1)); Serial.println(); } +#endif - Serial.println(F("====================================\n")); + for(int aa=0; aa<42; aa++) Serial.print("="); Serial.println("\n"); Serial.flush(); } diff --git a/tools/WLED_ESP32-wrover_4MB.csv b/tools/WLED_ESP32-wrover_4MB.csv deleted file mode 100644 index a179a89d..00000000 --- a/tools/WLED_ESP32-wrover_4MB.csv +++ /dev/null @@ -1,6 +0,0 @@ -# Name, Type, SubType, Offset, Size, Flags -nvs, data, nvs, 0x9000, 0x5000, -otadata, data, ota, 0xe000, 0x2000, -app0, app, ota_0, 0x10000, 0x180000, -app1, app, ota_1, 0x190000,0x180000, -spiffs, data, spiffs, 0x310000,0xF0000, diff --git a/tools/WLED_ESP32_8MB_1500KB_FS.csv b/tools/WLED_ESP32_8MB_1500KB_FS.csv new file mode 100644 index 00000000..9f732bf8 --- /dev/null +++ b/tools/WLED_ESP32_8MB_1500KB_FS.csv @@ -0,0 +1,7 @@ +# Name, Type, SubType, Offset, Size, Flags +nvs, data, nvs, 0x9000, 0x5000, +otadata, data, ota, 0xe000, 0x2000, +app0, app, ota_0, 0x10000, 0x330000, +app1, app, ota_1, 0x340000,0x330000, +spiffs, data, spiffs, 0x670000,0x180000, +coredump, data, coredump,,64K diff --git a/tools/cdata.js b/tools/cdata.js index 8959a588..561d390e 100644 --- a/tools/cdata.js +++ b/tools/cdata.js @@ -223,6 +223,7 @@ writeHtmlGzipped("wled00/data/index.htm", "wled00/html_ui.h", 'index'); writeHtmlGzipped("wled00/data/simple.htm", "wled00/html_simple.h", 'simple'); writeHtmlGzipped("wled00/data/pixart/pixart.htm", "wled00/html_pixart.h", 'pixart'); writeHtmlGzipped("wled00/data/cpal/cpal.htm", "wled00/html_cpal.h", 'cpal'); +writeHtmlGzipped("wled00/data/pxmagic/pxmagic.htm", "wled00/html_pxmagic.h", 'pxmagic'); /* writeChunks( "wled00/data", diff --git a/usermods/Animated_Staircase/Animated_Staircase.h b/usermods/Animated_Staircase/Animated_Staircase.h index 20c240c7..9365a17e 100644 --- a/usermods/Animated_Staircase/Animated_Staircase.h +++ b/usermods/Animated_Staircase/Animated_Staircase.h @@ -16,7 +16,7 @@ class Animated_Staircase : public Usermod { /* configuration (available in API and stored in flash) */ bool enabled = false; // Enable this usermod unsigned long segment_delay_ms = 150; // Time between switching each segment - unsigned long on_time_ms = 30000; // The time for the light to stay on + unsigned long on_time_ms = 5000; // The time for the light to stay on - TroyHacks: 5s for testing int8_t topPIRorTriggerPin = -1; // disabled int8_t bottomPIRorTriggerPin = -1; // disabled int8_t topEchoPin = -1; // disabled @@ -131,7 +131,7 @@ class Animated_Staircase : public Usermod { * received within this time, an object is detected * and the function will return true. * - * The speed of sound is 343 meters per second at 20 degress Celcius. + * The speed of sound is 343 meters per second at 20 degrees Celsius. * Since the sound has to travel back and forth, the detection * distance for the sensor in cm is (0.0343 * maxTimeUs) / 2. * @@ -161,28 +161,37 @@ class Animated_Staircase : public Usermod { if ((millis() - lastScanTime) > scanDelay) { lastScanTime = millis(); - bottomSensorRead = bottomSensorWrite || - (!useUSSensorBottom ? - (bottomPIRorTriggerPin<0 ? false : digitalRead(bottomPIRorTriggerPin)) : - ultrasoundRead(bottomPIRorTriggerPin, bottomEchoPin, bottomMaxDist*59) // cm to us - ); - topSensorRead = topSensorWrite || - (!useUSSensorTop ? - (topPIRorTriggerPin<0 ? false : digitalRead(topPIRorTriggerPin)) : - ultrasoundRead(topPIRorTriggerPin, topEchoPin, topMaxDist*59) // cm to us - ); + if (useUSSensorBottom) { + bottomSensorRead = ultrasoundRead(bottomPIRorTriggerPin, bottomEchoPin, bottomMaxDist*59); // US + } else if (bottomPIRorTriggerPin > 0) { + bottomSensorRead = digitalRead(bottomPIRorTriggerPin); // PIR + } else { + bottomSensorRead = false; // DUNNO + } + + if (useUSSensorTop) { + topSensorRead = ultrasoundRead(topPIRorTriggerPin, topEchoPin, topMaxDist*59); // US + } else if (topPIRorTriggerPin > 0) { + topSensorRead = digitalRead(topPIRorTriggerPin); // PIR + } else { + topSensorRead = false; // DUNNO + } if (bottomSensorRead != bottomSensorState) { bottomSensorState = bottomSensorRead; // change previous state sensorChanged = true; - publishMqtt(true, bottomSensorState ? "on" : "off"); + #ifndef WLED_DISABLE_MQTT + publishMqtt(true, bottomSensorState ? "on" : "off"); + #endif DEBUG_PRINTLN(F("Bottom sensor changed.")); } if (topSensorRead != topSensorState) { topSensorState = topSensorRead; // change previous state sensorChanged = true; - publishMqtt(false, topSensorState ? "on" : "off"); + #ifndef WLED_DISABLE_MQTT + publishMqtt(false, topSensorState ? "on" : "off"); + #endif DEBUG_PRINTLN(F("Top sensor changed.")); } @@ -224,7 +233,13 @@ class Animated_Staircase : public Usermod { if (bottomSensorState || topSensorState) return; // Swipe OFF in the direction of the last sensor detection - swipe = lastSensor; + // WLED-MM/TroyHacks: This should follow you up/down the stairs. + if (lastSensor == SWIPE_UP) { + swipe = SWIPE_DOWN; + } else { + swipe = SWIPE_UP; + } + on = false; DEBUG_PRINT(F("OFF -> Swipe ")); @@ -253,7 +268,7 @@ class Animated_Staircase : public Usermod { } } - // send sesnor values to JSON API + // send sensor values to JSON API void writeSensorsToJson(JsonObject& staircase) { staircase[F("top-sensor")] = topSensorRead; staircase[F("bottom-sensor")] = bottomSensorRead; @@ -302,7 +317,7 @@ class Animated_Staircase : public Usermod { seg.setOption(SEG_OPTION_ON, true); } strip.trigger(); // force strip update - stateChanged = true; // inform external dvices/UI of change + stateChanged = true; // inform external devices/UI of change colorUpdated(CALL_MODE_DIRECT_CHANGE); DEBUG_PRINTLN(F("Animated Staircase disabled.")); } @@ -486,7 +501,7 @@ class Animated_Staircase : public Usermod { bottomEchoPin = top[FPSTR(_bottomEcho_pin)] | bottomEchoPin; topMaxDist = top[FPSTR(_topEchoCm)] | topMaxDist; - topMaxDist = min(150,max(30,(int)topMaxDist)); // max distnace ~1.5m (a lag of 9ms may be expected) + topMaxDist = min(150,max(30,(int)topMaxDist)); // max distance ~1.5m (a lag of 9ms may be expected) bottomMaxDist = top[FPSTR(_bottomEchoCm)] | bottomMaxDist; bottomMaxDist = min(150,max(30,(int)bottomMaxDist)); // max distance ~1.5m (a lag of 9ms may be expected) diff --git a/usermods/Animated_Staircase/README.md b/usermods/Animated_Staircase/README.md index 61c1cb2d..320b744a 100644 --- a/usermods/Animated_Staircase/README.md +++ b/usermods/Animated_Staircase/README.md @@ -11,7 +11,7 @@ The Animated Staircase can be controlled by the WLED API. Change settings such a speed, on/off time and distance by sending an HTTP request, see below. ## WLED integration -To include this usermod in your WLED setup, you have to be able to [compile WLED from source](https://github.com/Aircoookie/WLED/wiki/Compiling-WLED). +To include this usermod in your WLED setup, you have to be able to [compile WLED from source](https://kno.wled.ge/advanced/compiling-wled/). Before compiling, you have to make the following modifications: @@ -38,7 +38,7 @@ Maximum distance for ultrasonic sensor can be configured as the time needed for You _may_ need to use 10k pull-down resistors on the selected PIR pins, depending on the sensor. ## WLED configuration -1. In the WLED UI, confgure a segment for each step. The lowest step of the stairs is the +1. In the WLED UI, configure a segment for each step. The lowest step of the stairs is the lowest segment id. 2. Save your segments into a preset. 3. Ideally, add the preset in the config > LED setup menu to the "apply @@ -91,7 +91,7 @@ To enable the usermod again, use `"enabled":true`. Alternatively you can use _Usermod_ Settings page where you can change other parameters as well. ### Changing animation parameters and detection range of the ultrasonic HC-SR04 sensor -Using _Usermod_ Settings page you can define different usermod parameters, includng sensor pins, delay between segment activation etc. +Using _Usermod_ Settings page you can define different usermod parameters, including sensor pins, delay between segment activation etc. When an ultrasonic sensor is enabled you can enter maximum detection distance in centimeters separately for top and bottom sensors. diff --git a/usermods/BH1750_v2/readme.md b/usermods/BH1750_v2/readme.md index 05a033cf..6e6c693d 100644 --- a/usermods/BH1750_v2/readme.md +++ b/usermods/BH1750_v2/readme.md @@ -9,7 +9,7 @@ The luminance is displayed in both the Info section of the web UI, as well as pu - This must be added under `lib_deps` in your `platformio.ini` (or `platformio_override.ini`). - Data is published over MQTT - make sure you've enabled the MQTT sync interface. -## Compiliation +## Compilation To enable, compile with `USERMOD_BH1750` defined (e.g. in `platformio_override.ini`) ```ini diff --git a/usermods/BH1750_v2/usermod_bh1750.h b/usermods/BH1750_v2/usermod_bh1750.h index 1903240f..5b5fa25f 100644 --- a/usermods/BH1750_v2/usermod_bh1750.h +++ b/usermods/BH1750_v2/usermod_bh1750.h @@ -28,7 +28,7 @@ #define USERMOD_BH1750_FIRST_MEASUREMENT_AT 10000 #endif -// only report if differance grater than offset value +// only report if difference grater than offset value #ifndef USERMOD_BH1750_OFFSET_VALUE #define USERMOD_BH1750_OFFSET_VALUE 2 // WLEDMM this makes more sense #endif diff --git a/usermods/BME280_v2/usermod_bme280.h b/usermods/BME280_v2/usermod_bme280.h index 6fe5dba9..d9351ffa 100644 --- a/usermods/BME280_v2/usermod_bme280.h +++ b/usermods/BME280_v2/usermod_bme280.h @@ -32,7 +32,7 @@ private: // set the default pins based on the architecture, these get overridden by Usermod menu settings #ifdef ESP8266 - //uint8_t RST_PIN = 16; // Uncoment for Heltec WiFi-Kit-8 + //uint8_t RST_PIN = 16; // Un-comment for Heltec WiFi-Kit-8 #endif int8_t ioPin[2] = {i2c_scl, i2c_sda}; // I2C pins: SCL, SDA...defaults to Arch hardware pins but overridden at setup() bool initDone = false; @@ -80,7 +80,7 @@ private: static const char _name[]; static const char _enabled[]; - // Read the BME280/BMP280 Sensor (which one runs depends on whether Celsius or Farenheit being set in Usermod Menu) + // Read the BME280/BMP280 Sensor (which one runs depends on whether Celsius or Fahrenheit being set in Usermod Menu) void UpdateBME280Data(int SensorType) { float _temperature, _humidity, _pressure; diff --git a/usermods/Battery/battery_defaults.h b/usermods/Battery/battery_defaults.h index c1e3c6bb..60dd4c4b 100644 --- a/usermods/Battery/battery_defaults.h +++ b/usermods/Battery/battery_defaults.h @@ -56,7 +56,7 @@ // auto-off feature #ifndef USERMOD_BATTERY_AUTO_OFF_ENABLED - #define USERMOD_BATTERY_AUTO_OFF_ENABLED true + #define USERMOD_BATTERY_AUTO_OFF_ENABLED false #endif #ifndef USERMOD_BATTERY_AUTO_OFF_THRESHOLD @@ -78,4 +78,4 @@ #ifndef USERMOD_BATTERY_LOW_POWER_INDICATOR_DURATION #define USERMOD_BATTERY_LOW_POWER_INDICATOR_DURATION 5 -#endif \ No newline at end of file +#endif diff --git a/usermods/Battery/readme.md b/usermods/Battery/readme.md index d55573ab..999c0a54 100644 --- a/usermods/Battery/readme.md +++ b/usermods/Battery/readme.md @@ -19,7 +19,7 @@ If you have an ESP32 board, connect the positive side of the battery to ADC1 (GP - 💯 Displays current battery voltage - 🚥 Displays battery level - 🚫 Auto-off with configurable Threshold -- 🚨 Low power indicator with many configuration posibilities +- 🚨 Low power indicator with many configuration possibilities ## 🎈 Installation @@ -41,7 +41,7 @@ define `USERMOD_BATTERY` in `wled00/my_config.h` | `USERMOD_BATTERY_MEASUREMENT_INTERVAL` | ms | battery check interval. defaults to 30 seconds | | `USERMOD_BATTERY_MIN_VOLTAGE` | v | minimum battery voltage. default is 2.6 (18650 battery standard) | | `USERMOD_BATTERY_MAX_VOLTAGE` | v | maximum battery voltage. default is 4.2 (18650 battery standard) | -| `USERMOD_BATTERY_TOTAL_CAPACITY` | mAh | the capacity of all cells in parralel sumed up | +| `USERMOD_BATTERY_TOTAL_CAPACITY` | mAh | the capacity of all cells in parallel summed up | | `USERMOD_BATTERY_CALIBRATION` | | offset / calibration number, fine tune the measured voltage by the microcontroller | | Auto-Off | --- | --- | | `USERMOD_BATTERY_AUTO_OFF_ENABLED` | true/false | enables auto-off | diff --git a/usermods/Battery/usermod_v2_Battery.h b/usermods/Battery/usermod_v2_Battery.h index cd518b9a..bd3bf62c 100644 --- a/usermods/Battery/usermod_v2_Battery.h +++ b/usermods/Battery/usermod_v2_Battery.h @@ -118,7 +118,7 @@ class UsermodBattery : public Usermod { #ifdef ARDUINO_ARCH_ESP32 if ((batteryPin <0) || !pinManager.isPinAnalog(batteryPin)) return(-1.0f); // WLEDMM avoid reading from invalid pin - // use calibrated millivolts analogread on esp32 (150 mV ~ 2450 mV default attentuation) and divide by 1000 to get from milivolts to volts and multiply by voltage multiplier and apply calibration value + // use calibrated millivolts analogread on esp32 (150 mV ~ 2450 mV default attenuation) and divide by 1000 to get from milliVolts to volts and multiply by voltage multiplier and apply calibration value return (analogReadMilliVolts(batteryPin) / 1000.0f) * voltageMultiplier + calibration; #else // use analog read on esp8266 ( 0V ~ 1V no attenuation options) and divide by ADC precision 1023 and multiply by voltage multiplier and apply calibration value @@ -216,7 +216,7 @@ class UsermodBattery : public Usermod */ #ifdef USERMOD_BATTERY_USE_LIPO batteryLevel = mapf(voltage, minBatteryVoltage, maxBatteryVoltage, 0, 100); // basic mapping - // LiPo batteries have a differnt dischargin curve, see + // LiPo batteries have a different dischargin curve, see // https://blog.ampow.com/lipo-voltage-chart/ if (batteryLevel < 40.0f) batteryLevel = mapf(batteryLevel, 0, 40, 0, 12); // last 45% -> drops very quickly @@ -413,7 +413,7 @@ class UsermodBattery : public Usermod oappend(SET_F("addInfo('Battery:indicator:threshold', 1, '%');")); oappend(SET_F("addInfo('Battery:indicator:duration', 1, 's');")); - // cannot quite get this mf to work. its exeeding some buffer limit i think + // cannot quite get this mf to work. its exceeding some buffer limit i think // what i wanted is a list of all presets to select one from // oappend(SET_F("bd=addDropdown('Battery:low-power-indicator', 'preset');")); // the loop generates: oappend(SET_F("addOption(bd, 'preset name', preset id);")); @@ -612,7 +612,7 @@ class UsermodBattery : public Usermod /* - * Get the capacity of all cells in parralel sumed up + * Get the capacity of all cells in parallel summed up * unit: mAh */ unsigned int getTotalBatteryCapacity() @@ -788,7 +788,7 @@ class UsermodBattery : public Usermod /* - * Get low-power-indicator status when the indication is done thsi returns true + * Get low-power-indicator status when the indication is done this returns true */ bool getLowPowerIndicatorDone() { diff --git a/usermods/DHT/usermod_dht.h b/usermods/DHT/usermod_dht.h index b6142f43..05a7267b 100644 --- a/usermods/DHT/usermod_dht.h +++ b/usermods/DHT/usermod_dht.h @@ -49,7 +49,7 @@ #endif // how many seconds after boot to take first measurement, 90 seconds -// 90 gives enough time to OTA update firmware if this crashses +// 90 gives enough time to OTA update firmware if this crashes #ifndef USERMOD_DHT_FIRST_MEASUREMENT_AT #define USERMOD_DHT_FIRST_MEASUREMENT_AT 90000 #endif diff --git a/usermods/EXAMPLE_v2/usermod_v2_example.h b/usermods/EXAMPLE_v2/usermod_v2_example.h index ba2ffc4e..b2a257f0 100644 --- a/usermods/EXAMPLE_v2/usermod_v2_example.h +++ b/usermods/EXAMPLE_v2/usermod_v2_example.h @@ -58,7 +58,7 @@ class MyExampleUsermod : public Usermod { long testLong; int8_t testPins[2]; - // any private methods should go here (non-inline methosd should be defined out of class) + // any private methods should go here (non-inline method should be defined out of class) void publishMqtt(const char* state, bool retain = false); // example for publishing MQTT message diff --git a/usermods/Enclosure_with_OLED_temp_ESP07/usermod.cpp b/usermods/Enclosure_with_OLED_temp_ESP07/usermod.cpp index 1ca16050..823ad747 100644 --- a/usermods/Enclosure_with_OLED_temp_ESP07/usermod.cpp +++ b/usermods/Enclosure_with_OLED_temp_ESP07/usermod.cpp @@ -15,23 +15,23 @@ OneWire oneWire(13); DallasTemperature sensor(&oneWire); long temptimer = millis(); long lastMeasure = 0; -#define Celsius // Show temperature mesaurement in Celcius otherwise is in Fahrenheit +#define Celsius // Show temperature measurement in Celsius otherwise is in Fahrenheit // If display does not work or looks corrupted check the // constructor reference: // https://github.com/olikraus/u8g2/wiki/u8x8setupcpp // or check the gallery: // https://github.com/olikraus/u8g2/wiki/gallery -// --> First choise of cheap I2C OLED 128X32 0.91" +// --> First choice of cheap I2C OLED 128X32 0.91" U8X8_SSD1306_128X32_UNIVISION_HW_I2C u8x8(U8X8_PIN_NONE, U8X8_PIN_SCL, U8X8_PIN_SDA); // Pins are Reset, SCL, SDA -// --> Second choise of cheap I2C OLED 128X64 0.96" or 1.3" +// --> Second choice of cheap I2C OLED 128X64 0.96" or 1.3" //U8X8_SSD1306_128X64_NONAME_HW_I2C u8x8(U8X8_PIN_NONE, U8X8_PIN_SCL, U8X8_PIN_SDA); // Pins are Reset, SCL, SDA // gets called once at boot. Do all initialization that doesn't depend on // network here void userSetup() { sensor.begin(); //Start Dallas temperature sensor u8x8.begin(); - //u8x8.setFlipMode(1); //Uncoment if using WLED Wemos shield + //u8x8.setFlipMode(1); //Un-comment if using WLED Wemos shield u8x8.setPowerSave(0); u8x8.setContrast(10); //Contrast setup will help to preserve OLED lifetime. In case OLED need to be brighter increase number up to 255 u8x8.setFont(u8x8_font_chroma48medium8_r); @@ -71,7 +71,7 @@ void userLoop() { if (mqtt != nullptr) { sensor.requestTemperatures(); -//Gets prefered temperature scale based on selection in definitions section +//Gets preferred temperature scale based on selection in definitions section #ifdef Celsius float board_temperature = sensor.getTempCByIndex(0); #else @@ -138,11 +138,11 @@ void userLoop() { // First row with Wifi name u8x8.setCursor(1, 0); u8x8.print(knownSsid.substring(0, u8x8.getCols() > 1 ? u8x8.getCols() - 2 : 0)); - // Print `~` char to indicate that SSID is longer, than owr dicplay + // Print `~` char to indicate that SSID is longer than our display if (knownSsid.length() > u8x8.getCols()) u8x8.print("~"); - // Second row with IP or Psssword + // Second row with IP or Password u8x8.setCursor(1, 1); // Print password in AP mode and if led is OFF. if (apActive && bri == 0) diff --git a/usermods/Enclosure_with_OLED_temp_ESP07/usermod_bme280.cpp b/usermods/Enclosure_with_OLED_temp_ESP07/usermod_bme280.cpp index d5fd4a0c..29a4332d 100644 --- a/usermods/Enclosure_with_OLED_temp_ESP07/usermod_bme280.cpp +++ b/usermods/Enclosure_with_OLED_temp_ESP07/usermod_bme280.cpp @@ -10,7 +10,7 @@ void UpdateBME280Data(); -#define Celsius // Show temperature mesaurement in Celcius otherwise is in Fahrenheit +#define Celsius // Show temperature measurement in Celsius otherwise is in Fahrenheit BME280I2C bme; // Default : forced mode, standby time = 1000 ms // Oversampling = pressure ×1, temperature ×1, humidity ×1, filter off, @@ -20,14 +20,14 @@ uint8_t SDA_PIN = 21; #else //ESP8266 boards uint8_t SCL_PIN = 5; uint8_t SDA_PIN = 4; -// uint8_t RST_PIN = 16; // Uncoment for Heltec WiFi-Kit-8 +// uint8_t RST_PIN = 16; // Un-comment for Heltec WiFi-Kit-8 #endif //The SCL and SDA pins are defined here. //ESP8266 Wemos D1 mini board use SCL=5 SDA=4 while ESP32 Wemos32 mini board use SCL=22 SDA=21 #define U8X8_PIN_SCL SCL_PIN #define U8X8_PIN_SDA SDA_PIN -//#define U8X8_PIN_RESET RST_PIN // Uncoment for Heltec WiFi-Kit-8 +//#define U8X8_PIN_RESET RST_PIN // Un-comment for Heltec WiFi-Kit-8 // If display does not work or looks corrupted check the // constructor reference: @@ -36,9 +36,9 @@ uint8_t SDA_PIN = 4; // https://github.com/olikraus/u8g2/wiki/gallery // --> First choise of cheap I2C OLED 128X32 0.91" U8X8_SSD1306_128X32_UNIVISION_HW_I2C u8x8(U8X8_PIN_NONE, U8X8_PIN_SCL, U8X8_PIN_SDA); // Pins are Reset, SCL, SDA -// --> Second choise of cheap I2C OLED 128X64 0.96" or 1.3" +// --> Second choice of cheap I2C OLED 128X64 0.96" or 1.3" //U8X8_SSD1306_128X64_NONAME_HW_I2C u8x8(U8X8_PIN_NONE, U8X8_PIN_SCL, U8X8_PIN_SDA); // Pins are Reset, SCL, SDA -// --> Third choise of Heltec WiFi-Kit-8 OLED 128X32 0.91" +// --> Third choice of Heltec WiFi-Kit-8 OLED 128X32 0.91" //U8X8_SSD1306_128X32_UNIVISION_HW_I2C u8x8(U8X8_PIN_RESET, U8X8_PIN_SCL, U8X8_PIN_SDA); // Constructor for Heltec WiFi-Kit-8 // gets called once at boot. Do all initialization that doesn't depend on network here @@ -181,11 +181,11 @@ void userLoop() { // First row with Wifi name u8x8.setCursor(1, 0); u8x8.print(knownSsid.substring(0, u8x8.getCols() > 1 ? u8x8.getCols() - 2 : 0)); - // Print `~` char to indicate that SSID is longer, than owr dicplay + // Print `~` char to indicate that SSID is longer than our display if (knownSsid.length() > u8x8.getCols()) u8x8.print("~"); - // Second row with IP or Psssword + // Second row with IP or Password u8x8.setCursor(1, 1); // Print password in AP mode and if led is OFF. if (apActive && bri == 0) diff --git a/usermods/Fix_unreachable_netservices_v2/readme.md b/usermods/Fix_unreachable_netservices_v2/readme.md index 24d5ff5a..006eaf9f 100644 --- a/usermods/Fix_unreachable_netservices_v2/readme.md +++ b/usermods/Fix_unreachable_netservices_v2/readme.md @@ -2,7 +2,7 @@ **Attention: This usermod compiles only for ESP8266** -This usermod-v2 modification performs a ping request to a local IP address every 60 seconds. This ensures WLED net services remain accessible in some problematic WLAN environments. +This usermod-v2 modification performs a ping request to a local IP address every 60 seconds. This ensures WLED net services remain accessible in some problematic WiFi environments. The modification works with static or DHCP IP address configuration. @@ -24,7 +24,7 @@ The usermod supports the following state changes: | JSON key | Value range | Description | |-------------|------------------|---------------------------------| -| PingDelayMs | 5000 to 18000000 | Deactivdate/activate the sensor | +| PingDelayMs | 5000 to 18000000 | Deactivate/activate the sensor | Changes also persist after a reboot. diff --git a/usermods/LDR_Dusk_Dawn_v2/README.md b/usermods/LDR_Dusk_Dawn_v2/README.md new file mode 100644 index 00000000..5e33518a --- /dev/null +++ b/usermods/LDR_Dusk_Dawn_v2/README.md @@ -0,0 +1,26 @@ +# LDR_Dusk_Dawn_v2 +This usermod will obtain readings from a Light Dependent Resistor (LDR) and will turn on/off specific presets based on those readings. This is useful for exterior lighting situations where you want the lights to only be on when it is dark out. + +# Installation +Add "-D USERMOD_LDR_DUSK_DAWN" to your platformio.ini [common] build_flags and build. + +Example: +``` +[common] +build_flags = + -D USERMOD_LDR_DUSK_DAWN # Enable LDR Dusk Dawn Usermod +``` + +# Usermod Settings +Setting | Description | Default +--- | --- | --- +Enabled | Enable/Disable the LDR functionality. | Disabled +LDR Pin | The analog capable pin your LDR is connected to. | 34 +Threshold Minutes | The number of minutes of consistent readings above/below the on/off threshold before the LED state will change. | 5 +Threshold | The analog read value threshold from the LDR. Readings lower than this number will count towards changing the LED state to off. You can see the current LDR reading by going into the info section when LDR functionality is enabled. | 1000 +On Preset | The WLED preset to be used for the LED on state. | 1 +Off Preset | The WLED preset to be used for the LED off state. | 2 + +## Author +[@jeffwdh](https://github.com/jeffwdh) +jeffwdh@tarball.ca diff --git a/usermods/LDR_Dusk_Dawn_v2/usermod_LDR_Dusk_Dawn_v2.h b/usermods/LDR_Dusk_Dawn_v2/usermod_LDR_Dusk_Dawn_v2.h new file mode 100644 index 00000000..393fc223 --- /dev/null +++ b/usermods/LDR_Dusk_Dawn_v2/usermod_LDR_Dusk_Dawn_v2.h @@ -0,0 +1,153 @@ +#pragma once +#include "wled.h" + +#ifndef ARDUINO_ARCH_ESP32 + // 8266 does not support analogRead on user selectable pins + #error only ESP32 is supported by usermod LDR_DUSK_DAWN +#endif + +class LDR_Dusk_Dawn_v2 : public Usermod { + private: + // Defaults + bool ldrEnabled = false; + int ldrPin = 34; //A2 on Adafruit Huzzah32 + int ldrThresholdMinutes = 5; // How many minutes of readings above/below threshold until it switches LED state + int ldrThreshold = 1000; // Readings higher than this number will turn off LED. + int ldrOnPreset = 1; // Default "On" Preset + int ldrOffPreset = 2; // Default "Off" Preset + + // Variables + bool initDone = false; + bool ldrEnabledPreviously = false; // Was LDR enabled for the previous check? First check is always no. + int ldrOffCount; // Number of readings above the threshold + int ldrOnCount; // Number of readings below the threshold + int ldrReading = 0; // Last LDR reading + int ldrLEDState; // Current LED on/off state + unsigned long lastMillis = 0; + static const char _name[]; + + public: + void setup() { + // register ldrPin + if ((ldrPin >= 0) && (digitalPinToAnalogChannel(ldrPin) >= 0)) { + if(!pinManager.allocatePin(ldrPin, false, PinOwner::UM_LDR_DUSK_DAWN)) ldrEnabled = false; // pin already in use -> disable usermod + else pinMode(ldrPin, INPUT); // alloc success -> configure pin for input + } else ldrEnabled = false; // invalid pin -> disable usermod + initDone = true; + } + + void loop() { + // Only update every 10 seconds + if (millis() - lastMillis > 10000) { + if ( (ldrEnabled == true) + && (ldrPin >= 0) && (digitalPinToAnalogChannel(ldrPin) >= 0) ) { // make sure that pin is valid for analogread() + // Default state is off + if (ldrEnabledPreviously == false) { + applyPreset(ldrOffPreset); + ldrEnabledPreviously = true; + ldrLEDState = 0; + } + + // Get LDR reading and increment counter by number of seconds since last read + ldrReading = analogRead(ldrPin); + if (ldrReading <= ldrThreshold) { + ldrOnCount = ldrOnCount + 10; + ldrOffCount = 0; + } else { + ldrOffCount = ldrOffCount + 10; + ldrOnCount = 0; + } + + if (ldrOnCount >= (ldrThresholdMinutes * 60)) { + ldrOnCount = 0; + // If LEDs were previously off, turn on + if (ldrLEDState == 0) { + applyPreset(ldrOnPreset); + ldrLEDState = 1; + } + } + + if (ldrOffCount >= (ldrThresholdMinutes * 60)) { + ldrOffCount = 0; + // If LEDs were previously on, turn off + if (ldrLEDState == 1) { + applyPreset(ldrOffPreset); + ldrLEDState = 0; + } + } + } else { + // LDR is disabled, reset variables to default + ldrReading = 0; + ldrOnCount = 0; + ldrOffCount = 0; + ldrLEDState = 0; + ldrEnabledPreviously = false; + } + lastMillis = millis(); + } + } + + void addToConfig(JsonObject& root) { + JsonObject top = root.createNestedObject(FPSTR(_name)); + top["Enabled"] = ldrEnabled; + top["LDR Pin"] = ldrPin; + top["Threshold Minutes"] = ldrThresholdMinutes; + top["Threshold"] = ldrThreshold; + top["On Preset"] = ldrOnPreset; + top["Off Preset"] = ldrOffPreset; + } + + bool readFromConfig(JsonObject& root) { + int8_t oldLdrPin = ldrPin; + JsonObject top = root[FPSTR(_name)]; + bool configComplete = !top.isNull(); + configComplete &= getJsonValue(top["Enabled"], ldrEnabled); + configComplete &= getJsonValue(top["LDR Pin"], ldrPin); + configComplete &= getJsonValue(top["Threshold Minutes"], ldrThresholdMinutes); + configComplete &= getJsonValue(top["Threshold"], ldrThreshold); + configComplete &= getJsonValue(top["On Preset"], ldrOnPreset); + configComplete &= getJsonValue(top["Off Preset"], ldrOffPreset); + + if (initDone && (ldrPin != oldLdrPin)) { + // pin changed - un-register previous pin, register new pin + if (oldLdrPin >= 0) pinManager.deallocatePin(oldLdrPin, PinOwner::UM_LDR_DUSK_DAWN); + setup(); // setup new pin + } + return configComplete; + } + + void addToJsonInfo(JsonObject& root) { + // If "u" object does not exist yet we need to create it + JsonObject user = root["u"]; + if (user.isNull()) user = root.createNestedObject("u"); + + JsonArray LDR_Enabled = user.createNestedArray("LDR dusk/dawn enabled"); + LDR_Enabled.add(ldrEnabled); + if (!ldrEnabled) return; // do not add more if usermod is disabled + + JsonArray LDR_Reading = user.createNestedArray("LDR reading"); + LDR_Reading.add(ldrReading); + + JsonArray LDR_State = user.createNestedArray("LDR turned LEDs on"); + LDR_State.add(bool(ldrLEDState)); + + // Optional debug information: + //JsonArray LDR_On_Count = user.createNestedArray("LDR on count"); + //LDR_On_Count.add(ldrOnCount); + + //JsonArray LDR_Off_Count = user.createNestedArray("LDR off count"); + //LDR_Off_Count.add(ldrOffCount); + + //bool pinValid = ((ldrPin >= 0) && (digitalPinToAnalogChannel(ldrPin) >= 0)); + //if (pinManager.getPinOwner(ldrPin) != PinOwner::UM_LDR_DUSK_DAWN) pinValid = false; + //JsonArray LDR_valid = user.createNestedArray(F("LDR pin")); + //LDR_valid.add(ldrPin); + //LDR_valid.add(pinValid ? F(" OK"): F(" invalid")); + } + + uint16_t getId() { + return USERMOD_ID_LDR_DUSK_DAWN; + } +}; + +const char LDR_Dusk_Dawn_v2::_name[] PROGMEM = "LDR_Dusk_Dawn_v2"; diff --git a/usermods/PIR_sensor_switch/readme.md b/usermods/PIR_sensor_switch/readme.md index 574bd06d..85a5a74c 100644 --- a/usermods/PIR_sensor_switch/readme.md +++ b/usermods/PIR_sensor_switch/readme.md @@ -23,7 +23,7 @@ You can also use usermod's off timer instead of sensor's. In such case rotate th ## Usermod installation -**NOTE:** Usermod has been included in master branch of WLED so it can be compiled in directly just by defining `-D USERMOD_PIRSWITCH` and optionaly `-D PIR_SENSOR_PIN=16` to override default pin. You can also change the default off time by adding `-D PIR_SENSOR_OFF_SEC=30`. +**NOTE:** Usermod has been included in master branch of WLED so it can be compiled in directly just by defining `-D USERMOD_PIRSWITCH` and optionally `-D PIR_SENSOR_PIN=16` to override default pin. You can also change the default off time by adding `-D PIR_SENSOR_OFF_SEC=30`. ## API to enable/disable the PIR sensor from outside. For example from another usermod: @@ -31,7 +31,7 @@ To query or change the PIR sensor state the methods `bool PIRsensorEnabled()` an When the PIR sensor state changes an MQTT message is broadcasted with topic `wled/deviceMAC/motion` and message `on` or `off`. Usermod can also be configured to send just the MQTT message but not change WLED state using settings page as well as responding to motion only at night -(assuming NTP and lattitude/longitude are set to determine sunrise/sunset times). +(assuming NTP and latitude/longitude are set to determine sunrise/sunset times). ### There are two options to get access to the usermod instance: @@ -85,7 +85,7 @@ Have fun - @gegu & @blazoncek 2021-11 * Added information about dynamic configuration options -* Added option to temporary enable/disble usermod from WLED UI (Info dialog) +* Added option to temporary enable/disable usermod from WLED UI (Info dialog) 2022-11 * Added compile time option for off timer. diff --git a/usermods/PIR_sensor_switch/usermod_PIR_sensor_switch.h b/usermods/PIR_sensor_switch/usermod_PIR_sensor_switch.h index 3d69c208..1bf7b0d1 100644 --- a/usermods/PIR_sensor_switch/usermod_PIR_sensor_switch.h +++ b/usermods/PIR_sensor_switch/usermod_PIR_sensor_switch.h @@ -205,7 +205,7 @@ private: /** * Read and update PIR sensor state. - * Initilize/reset switch off timer + * Initialize/reset switch off timer */ bool updatePIRsensorState() { diff --git a/usermods/PWM_fan/readme.md b/usermods/PWM_fan/readme.md index 1fbfe0e6..6a44acf3 100644 --- a/usermods/PWM_fan/readme.md +++ b/usermods/PWM_fan/readme.md @@ -5,7 +5,7 @@ v2 Usermod to to control PWM fan with RPM feedback and temperature control This usermod requires the Dallas Temperature usermod to obtain temperature information. If it's not available, the fan will run at 100% speed. If the fan does not have _tachometer_ (RPM) output you can set the _tachometer-pin_ to -1 to disable that feature. -You can also set the thershold temperature at which fan runs at lowest speed. If the measured temperature is 3°C greater than the threshold temperature, the fan will run at 100%. +You can also set the threshold temperature at which fan runs at lowest speed. If the measured temperature is 3°C greater than the threshold temperature, the fan will run at 100%. If the _tachometer_ is supported, the current speed (in RPM) will be displayed on the WLED Info page. @@ -22,7 +22,7 @@ This includes: * PWM output pin (can be configured at compile time `-D PWM_PIN=xx`) * tachometer input pin (can be configured at compile time `-D TACHO_PIN=xx`) * sampling frequency in seconds -* threshold temperature in degees C +* threshold temperature in degrees Celsius _NOTE:_ You may also need to tweak Dallas Temperature usermod sampling frequency to match PWM fan sampling frequency. diff --git a/usermods/PWM_fan/usermod_PWM_fan.h b/usermods/PWM_fan/usermod_PWM_fan.h index d8aa7a1a..c9ccf14d 100644 --- a/usermods/PWM_fan/usermod_PWM_fan.h +++ b/usermods/PWM_fan/usermod_PWM_fan.h @@ -75,7 +75,7 @@ class PWMFanUsermod : public Usermod { pinMode(tachoPin, INPUT); digitalWrite(tachoPin, HIGH); attachInterrupt(digitalPinToInterrupt(tachoPin), rpm_fan, FALLING); - DEBUG_PRINTLN(F("Tacho sucessfully initialized.")); + DEBUG_PRINTLN(F("Tacho successfully initialized.")); } void deinitTacho(void) { @@ -118,12 +118,12 @@ class PWMFanUsermod : public Usermod { if (pwmChannel == 255) { //no more free LEDC channels deinitPWMfan(); return; } - // configure LED PWM functionalitites + // configure LED PWM functionalities ledcSetup(pwmChannel, 25000, 8); // attach the channel to the GPIO to be controlled ledcAttachPin(pwmPin, pwmChannel); #endif - DEBUG_PRINTLN(F("Fan PWM sucessfully initialized.")); + DEBUG_PRINTLN(F("Fan PWM successfully initialized.")); } void deinitPWMfan(void) { diff --git a/usermods/SN_Photoresistor/usermod_sn_photoresistor.h b/usermods/SN_Photoresistor/usermod_sn_photoresistor.h index 60861e4c..1e92d7d7 100644 --- a/usermods/SN_Photoresistor/usermod_sn_photoresistor.h +++ b/usermods/SN_Photoresistor/usermod_sn_photoresistor.h @@ -30,7 +30,7 @@ #define USERMOD_SN_PHOTORESISTOR_RESISTOR_VALUE 10000.0f #endif -// only report if differance grater than offset value +// only report if difference grater than offset value #ifndef USERMOD_SN_PHOTORESISTOR_OFFSET_VALUE #define USERMOD_SN_PHOTORESISTOR_OFFSET_VALUE 5 #endif diff --git a/usermods/TTGO-T-Display/usermod.cpp b/usermods/TTGO-T-Display/usermod.cpp index b126d40a..cbba0777 100644 --- a/usermods/TTGO-T-Display/usermod.cpp +++ b/usermods/TTGO-T-Display/usermod.cpp @@ -3,7 +3,7 @@ * This file allows you to add own functionality to WLED more easily * See: https://github.com/Aircoookie/WLED/wiki/Add-own-functionality * EEPROM bytes 2750+ are reserved for your custom use case. (if you extend #define EEPSIZE in const.h) - * bytes 2400+ are currently ununsed, but might be used for future wled features + * bytes 2400+ are currently unused, but might be used for future wled features */ /* @@ -144,7 +144,7 @@ void userLoop() { // First row with Wifi name tft.setCursor(1, 1); tft.print(knownSsid.substring(0, tftcharwidth > 1 ? tftcharwidth - 1 : 0)); - // Print `~` char to indicate that SSID is longer, than our dicplay + // Print `~` char to indicate that SSID is longer than our display if (knownSsid.length() > tftcharwidth) tft.print("~"); diff --git a/usermods/Temperature/readme.md b/usermods/Temperature/readme.md index 2657c6c8..b41e3e11 100644 --- a/usermods/Temperature/readme.md +++ b/usermods/Temperature/readme.md @@ -18,7 +18,7 @@ Copy the example `platformio_override.ini` to the root directory. This file sho * `USERMOD_DALLASTEMPERATURE` - enables this user mod wled00/usermods_list.cpp * `USERMOD_DALLASTEMPERATURE_MEASUREMENT_INTERVAL` - number of milliseconds between measurements, defaults to 60000 ms (60s) -All parameters can be configured at runtime via the Usermods settings page, including pin, temperature in degrees Celsius or Farenheit and measurement interval. +All parameters can be configured at runtime via the Usermods settings page, including pin, temperature in degrees Celsius or Fahrenheit and measurement interval. ## Project link diff --git a/usermods/Wemos_D1_mini+Wemos32_mini_shield/usermod.cpp b/usermods/Wemos_D1_mini+Wemos32_mini_shield/usermod.cpp index 78cc32a8..e7d1212a 100644 --- a/usermods/Wemos_D1_mini+Wemos32_mini_shield/usermod.cpp +++ b/usermods/Wemos_D1_mini+Wemos32_mini_shield/usermod.cpp @@ -34,30 +34,30 @@ uint8_t DALLAS_PIN =23; uint8_t SCL_PIN = 5; uint8_t SDA_PIN = 4; uint8_t DALLAS_PIN =13; -// uint8_t RST_PIN = 16; // Uncoment for Heltec WiFi-Kit-8 +// uint8_t RST_PIN = 16; // Un-comment for Heltec WiFi-Kit-8 #endif //The SCL and SDA pins are defined here. //ESP8266 Wemos D1 mini board use SCL=5 SDA=4 while ESP32 Wemos32 mini board use SCL=22 SDA=21 #define U8X8_PIN_SCL SCL_PIN #define U8X8_PIN_SDA SDA_PIN -//#define U8X8_PIN_RESET RST_PIN // Uncoment for Heltec WiFi-Kit-8 +//#define U8X8_PIN_RESET RST_PIN // Un-comment for Heltec WiFi-Kit-8 // Dallas sensor reading timer long temptimer = millis(); long lastMeasure = 0; -#define Celsius // Show temperature mesaurement in Celcius otherwise is in Fahrenheit +#define Celsius // Show temperature measurement in Celsius otherwise is in Fahrenheit // If display does not work or looks corrupted check the // constructor reference: // https://github.com/olikraus/u8g2/wiki/u8x8setupcpp // or check the gallery: // https://github.com/olikraus/u8g2/wiki/gallery -// --> First choise of cheap I2C OLED 128X32 0.91" +// --> First choice of cheap I2C OLED 128X32 0.91" U8X8_SSD1306_128X32_UNIVISION_HW_I2C u8x8(U8X8_PIN_NONE, U8X8_PIN_SCL, U8X8_PIN_SDA); // Pins are Reset, SCL, SDA -// --> Second choise of cheap I2C OLED 128X64 0.96" or 1.3" +// --> Second choice of cheap I2C OLED 128X64 0.96" or 1.3" //U8X8_SSD1306_128X64_NONAME_HW_I2C u8x8(U8X8_PIN_NONE, U8X8_PIN_SCL, U8X8_PIN_SDA); // Pins are Reset, SCL, SDA -// --> Third choise of Heltec WiFi-Kit-8 OLED 128X32 0.91" +// --> Third choice of Heltec WiFi-Kit-8 OLED 128X32 0.91" //U8X8_SSD1306_128X32_UNIVISION_HW_I2C u8x8(U8X8_PIN_RESET, U8X8_PIN_SCL, U8X8_PIN_SDA); // Constructor for Heltec WiFi-Kit-8 // gets called once at boot. Do all initialization that doesn't depend on network here void userSetup() { @@ -97,7 +97,7 @@ void userLoop() { //----> Dallas temperature sensor MQTT publishing temptimer = millis(); -// Timer to publishe new temperature every 60 seconds +// Timer to publish new temperature every 60 seconds if (temptimer - lastMeasure > 60000) { lastMeasure = temptimer; @@ -106,7 +106,7 @@ void userLoop() { if (mqtt != nullptr) { // Serial.println(Dallas(DALLAS_PIN,0)); -//Gets prefered temperature scale based on selection in definitions section +//Gets preferred temperature scale based on selection in definitions section #ifdef Celsius int16_t board_temperature = Dallas(DALLAS_PIN,0); #else @@ -173,11 +173,11 @@ void userLoop() { // First row with Wifi name u8x8.setCursor(1, 0); u8x8.print(knownSsid.substring(0, u8x8.getCols() > 1 ? u8x8.getCols() - 2 : 0)); - // Print `~` char to indicate that SSID is longer, than owr dicplay + // Print `~` char to indicate that SSID is longer than our display if (knownSsid.length() > u8x8.getCols()) u8x8.print("~"); - // Second row with IP or Psssword + // Second row with IP or Password u8x8.setCursor(1, 1); // Print password in AP mode and if led is OFF. if (apActive && bri == 0) diff --git a/usermods/Wemos_D1_mini+Wemos32_mini_shield/usermod_bme280.cpp b/usermods/Wemos_D1_mini+Wemos32_mini_shield/usermod_bme280.cpp index c9d9a527..ff1cf7e5 100644 --- a/usermods/Wemos_D1_mini+Wemos32_mini_shield/usermod_bme280.cpp +++ b/usermods/Wemos_D1_mini+Wemos32_mini_shield/usermod_bme280.cpp @@ -6,7 +6,7 @@ void UpdateBME280Data(); -#define Celsius // Show temperature mesaurement in Celcius otherwise is in Fahrenheit +#define Celsius // Show temperature measurement in Celsius otherwise is in Fahrenheit BME280I2C bme; // Default : forced mode, standby time = 1000 ms // Oversampling = pressure ×1, temperature ×1, humidity ×1, filter off, @@ -16,25 +16,25 @@ uint8_t SDA_PIN = 21; #else //ESP8266 boards uint8_t SCL_PIN = 5; uint8_t SDA_PIN = 4; -// uint8_t RST_PIN = 16; // Uncoment for Heltec WiFi-Kit-8 +// uint8_t RST_PIN = 16; // Un-comment for Heltec WiFi-Kit-8 #endif //The SCL and SDA pins are defined here. //ESP8266 Wemos D1 mini board use SCL=5 SDA=4 while ESP32 Wemos32 mini board use SCL=22 SDA=21 #define U8X8_PIN_SCL SCL_PIN #define U8X8_PIN_SDA SDA_PIN -//#define U8X8_PIN_RESET RST_PIN // Uncoment for Heltec WiFi-Kit-8 +//#define U8X8_PIN_RESET RST_PIN // Un-comment for Heltec WiFi-Kit-8 // If display does not work or looks corrupted check the // constructor reference: // https://github.com/olikraus/u8g2/wiki/u8x8setupcpp // or check the gallery: // https://github.com/olikraus/u8g2/wiki/gallery -// --> First choise of cheap I2C OLED 128X32 0.91" +// --> First choice of cheap I2C OLED 128X32 0.91" U8X8_SSD1306_128X32_UNIVISION_HW_I2C u8x8(U8X8_PIN_NONE, U8X8_PIN_SCL, U8X8_PIN_SDA); // Pins are Reset, SCL, SDA -// --> Second choise of cheap I2C OLED 128X64 0.96" or 1.3" +// --> Second choice of cheap I2C OLED 128X64 0.96" or 1.3" //U8X8_SSD1306_128X64_NONAME_HW_I2C u8x8(U8X8_PIN_NONE, U8X8_PIN_SCL, U8X8_PIN_SDA); // Pins are Reset, SCL, SDA -// --> Third choise of Heltec WiFi-Kit-8 OLED 128X32 0.91" +// --> Third choice of Heltec WiFi-Kit-8 OLED 128X32 0.91" //U8X8_SSD1306_128X32_UNIVISION_HW_I2C u8x8(U8X8_PIN_RESET, U8X8_PIN_SCL, U8X8_PIN_SDA); // Constructor for Heltec WiFi-Kit-8 // gets called once at boot. Do all initialization that doesn't depend on network here @@ -179,11 +179,11 @@ void userLoop() { // First row with Wifi name u8x8.setCursor(1, 0); u8x8.print(knownSsid.substring(0, u8x8.getCols() > 1 ? u8x8.getCols() - 2 : 0)); - // Print `~` char to indicate that SSID is longer, than owr dicplay + // Print `~` char to indicate that SSID is longer, than our display if (knownSsid.length() > u8x8.getCols()) u8x8.print("~"); - // Second row with IP or Psssword + // Second row with IP or Password u8x8.setCursor(1, 1); // Print password in AP mode and if led is OFF. if (apActive && bri == 0) diff --git a/usermods/artifx/arti.h b/usermods/artifx/arti.h index 19d6b493..2e5fda45 100644 --- a/usermods/artifx/arti.h +++ b/usermods/artifx/arti.h @@ -9,7 +9,7 @@ - #define ARDUINOJSON_DEFAULT_NESTING_LIMIT 100 //set this in ArduinoJson!!!, currently not necessary... - IF UPDATING THIS FILE IN THE WLED REPO, SEND A PULL REQUEST TO https://github.com/ewoudwijma/ARTI AS WELL!!! @later - - Code improvememt + - Code improvement - See 'for some weird reason this causes a crash on esp32' - check why column/lineno not correct - Definition improvements @@ -2181,7 +2181,7 @@ public: ERROR_ARTI("%s %s %s unknown\n", spaces+50-depth, key, variable_name); valueStack->push(floatNull); } - } // ! founnd + } // ! fouund visitedAlready = true; break; } diff --git a/usermods/artifx/arti_wled.h b/usermods/artifx/arti_wled.h index 8796e1c1..78627a25 100644 --- a/usermods/artifx/arti_wled.h +++ b/usermods/artifx/arti_wled.h @@ -9,7 +9,7 @@ #pragma once -// For testing porposes, definitions should not only run on Arduino but also on Windows etc. +// For testing purposes, definitions should not only run on Arduino but also on Windows etc. // Because compiling on arduino takes seriously more time than on Windows. // The plugin.h files replace native arduino calls by windows simulated calls (e.g. setPixelColor will become printf) @@ -185,7 +185,7 @@ float ARTI::arti_external_function(uint8_t function, float par1, float par2, flo float halfLength = (circleLength-1)/2.0; - //calculate circle positions, round to 5 digits and then round again to cater for radians inprecision (e.g. 3.49->3.5->4) + //calculate circle positions, round to 5 digits and then round again to cater for radians imprecision (e.g. 3.49->3.5->4) int x = round(round((sin(radians(par1)) * halfLength + halfLength) * 10)/10) + deltaWidth; int y = round(round((halfLength - cos(radians(par1)) * halfLength) * 10)/10) + deltaHeight; return SEGMENT.XY(x,y); diff --git a/usermods/artifx/artifx.js b/usermods/artifx/artifx.js index d1658077..f2386448 100644 --- a/usermods/artifx/artifx.js +++ b/usermods/artifx/artifx.js @@ -82,7 +82,7 @@ function populateCEEditor(name, segID)

Compile and Run Log

- Run log > 3 seconds is send to Serial Ouput.
+ Run log > 3 seconds is send to Serial Output.
🥚 🥚 🥚`; diff --git a/usermods/artifx/usermod_v2_artifx.h b/usermods/artifx/usermod_v2_artifx.h index 1962ed24..ee0899d8 100644 --- a/usermods/artifx/usermod_v2_artifx.h +++ b/usermods/artifx/usermod_v2_artifx.h @@ -19,7 +19,7 @@ ARTI * arti; //effect function uint16_t mode_ARTIFX(void) { //tbd: move statics to SEGMENT.data - static bool succesful; + static bool successful; static bool notEnoughHeap; static char previousEffect[charLength]; @@ -46,20 +46,20 @@ uint16_t mode_ARTIFX(void) { // artiWrapper = reinterpret_cast(SEGENV.data); arti = new ARTI(); - succesful = arti->setup("/wledv033.json", currentEffect); + successful = arti->setup("/wledv033.json", currentEffect); - if (!succesful) - ERROR_ARTI("Setup not succesful\n"); + if (!successful) + ERROR_ARTI("Setup not successful\n"); } else { - if (succesful) // && SEGENV.call < 250 for each frame + if (successful) // && SEGENV.call < 250 for each frame { if (FREE_SIZE <= 20000) { ERROR_ARTI("Not enough free heap (%u <= 30000)\n", FREE_SIZE); notEnoughHeap = true; - succesful = false; + successful = false; } else { @@ -71,7 +71,7 @@ uint16_t mode_ARTIFX(void) { // previousCall = SEGENV.call; // } - succesful = arti->loop(); + successful = arti->loop(); } } else @@ -79,7 +79,7 @@ uint16_t mode_ARTIFX(void) { arti->closeLog(); if (notEnoughHeap && FREE_SIZE > 20000) { ERROR_ARTI("Again enough free heap, restart effect (%u > 30000)\n", FREE_SIZE); - succesful = true; + successful = true; notEnoughHeap = false; strcpy(previousEffect, ""); // force new create } diff --git a/usermods/audioreactive/audio_reactive.h b/usermods/audioreactive/audio_reactive.h index 4726ee26..050f0eed 100644 --- a/usermods/audioreactive/audio_reactive.h +++ b/usermods/audioreactive/audio_reactive.h @@ -25,9 +25,14 @@ //#define SR_STATS #if !defined(FFTTASK_PRIORITY) +#if defined(WLEDMM_FASTPATH) && !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32C3) && defined(ARDUINO_ARCH_ESP32) +// FASTPATH: use higher priority, to avoid that webserver (ws, json, etc) delays sample processing +//#define FFTTASK_PRIORITY 3 // competing with async_tcp +#define FFTTASK_PRIORITY 4 // above async_tcp +#else #define FFTTASK_PRIORITY 1 // standard: looptask prio //#define FFTTASK_PRIORITY 2 // above looptask, below async_tcp -//#define FFTTASK_PRIORITY 4 // above async_tcp +#endif #endif #if !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32C3) @@ -86,8 +91,27 @@ #define PLOT_FLUSH() #endif +// sanity checks +#ifdef ARDUINO_ARCH_ESP32 + // we need more space in for oappend() stack buffer -> SETTINGS_STACK_BUF_SIZE and CONFIG_ASYNC_TCP_TASK_STACK_SIZE + #if SETTINGS_STACK_BUF_SIZE < 3904 // 3904 is required for WLEDMM-0.14.0-b28 + #warning please increase SETTINGS_STACK_BUF_SIZE >= 3904 + #endif + #if (CONFIG_ASYNC_TCP_TASK_STACK_SIZE - SETTINGS_STACK_BUF_SIZE) < 4352 // at least 4096+256 words of free task stack is needed by async_tcp alone + #error remaining async_tcp stack will be too low - please increase CONFIG_ASYNC_TCP_TASK_STACK_SIZE + #endif +#endif + +// audiosync constants +#define AUDIOSYNC_NONE 0x00 // UDP sound sync off +#define AUDIOSYNC_SEND 0x01 // UDP sound sync - send mode +#define AUDIOSYNC_REC 0x02 // UDP sound sync - receiver mode +#define AUDIOSYNC_REC_PLUS 0x06 // UDP sound sync - receiver + local mode (uses local input if no receiving udp sound) +#define AUDIOSYNC_IDLE_MS 2500 // timeout for "receiver idle" (milliseconds) + static volatile bool disableSoundProcessing = false; // if true, sound processing (FFT, filters, AGC) will be suspended. "volatile" as its shared between tasks. -static uint8_t audioSyncEnabled = 0; // bit field: bit 0 - send, bit 1 - receive (config value) +static uint8_t audioSyncEnabled = AUDIOSYNC_NONE; // bit field: bit 0 - send, bit 1 - receive, bit 2 - use local if not receiving +static bool audioSyncSequence = true; // if true, the receiver will drop out-of-sequence packets static bool udpSyncConnected = false; // UDP connection status -> true if connected to multicast group #define NUM_GEQ_CHANNELS 16 // number of frequency channels. Don't change !! @@ -111,7 +135,11 @@ static float FFT_Magnitude = 0.0f; // FFT: volume (magnitude) of pe static bool samplePeak = false; // Boolean flag for peak - used in effects. Responding routine may reset this flag. Auto-reset after strip.getMinShowDelay() static bool udpSamplePeak = false; // Boolean flag for peak. Set at the same time as samplePeak, but reset by transmitAudioData static unsigned long timeOfPeak = 0; // time of last sample peak detection. -static uint8_t fftResult[NUM_GEQ_CHANNELS]= {0};// Our calculated freq. channel result table to be used by effects +volatile bool haveNewFFTResult = false; // flag to directly inform UDP sound sender when new FFT results are available (to reduce latency). Flag is reset at next UDP send + +static uint8_t fftResult[NUM_GEQ_CHANNELS]= {0}; // Our calculated freq. channel result table to be used by effects +static float fftCalc[NUM_GEQ_CHANNELS] = {0.0f}; // Try and normalize fftBin values to a max of 4096, so that 4096/16 = 256. (also used by dynamics limiter) +static float fftAvg[NUM_GEQ_CHANNELS] = {0.0f}; // Calculated frequency channel results, with smoothing (used if dynamics limiter is ON) // TODO: probably best not used by receive nodes static float agcSensitivity = 128; // AGC sensitivity estimation, based on agc gain (multAgc). calculated by getSensitivity(). range 0..255 @@ -280,8 +308,6 @@ static float sampleTime = 0; // avg (blocked) time for reading I2S sample // FFT Task variables (filtering and post-processing) static float lastFftCalc[NUM_GEQ_CHANNELS] = {0.0f}; // backup of last FFT channels (before postprocessing) -static float fftCalc[NUM_GEQ_CHANNELS] = {0.0f}; // Try and normalize fftBin values to a max of 4096, so that 4096/16 = 256. -static float fftAvg[NUM_GEQ_CHANNELS] = {0.0f}; // Calculated frequency channel results, with smoothing (used if dynamics limiter is ON) #if !defined(CONFIG_IDF_TARGET_ESP32C3) // audio source parameters and constant @@ -442,7 +468,7 @@ void FFTcode(void * parameter) // taskYIELD(), yield(), vTaskDelay() and esp_task_wdt_feed() didn't seem to work. // Don't run FFT computing code if we're in Receive mode or in realtime mode - if (disableSoundProcessing || (audioSyncEnabled & 0x02)) { + if (disableSoundProcessing || (audioSyncEnabled == AUDIOSYNC_REC)) { isFirstRun = false; vTaskDelayUntil( &xLastWakeTime, xFrequency); // release CPU, and let I2S fill its buffers continue; @@ -499,6 +525,11 @@ void FFTcode(void * parameter) } #endif +#if defined(WLEDMM_FASTPATH) && !defined(CONFIG_IDF_TARGET_ESP32S2) && !defined(CONFIG_IDF_TARGET_ESP32C3) && defined(ARDUINO_ARCH_ESP32) + // experimental - be nice to LED update task (trying to avoid flickering) - dual core only + if (strip.isServicing()) delay(2); +#endif + // band pass filter - can reduce noise floor by a factor of 50 // downside: frequencies below 100Hz will be ignored if ((useInputFilter > 0) && (useInputFilter < 99)) { @@ -736,6 +767,9 @@ void FFTcode(void * parameter) autoResetPeak(); detectSamplePeak(); + // we have new results - notify UDP sound send + haveNewFFTResult = true; + #if !defined(I2S_GRAB_ADC1_COMPLETELY) if ((audioSource == nullptr) || (audioSource->getType() != AudioSource::Type_I2SAdc)) // the "delay trick" does not help for analog ADC #endif @@ -904,7 +938,7 @@ static void autoResetPeak(void) { uint16_t MinShowDelay = MAX(50, strip.getMinShowDelay()); // Fixes private class variable compiler error. Unsure if this is the correct way of fixing the root problem. -THATDONFC if (millis() - timeOfPeak > MinShowDelay) { // Auto-reset of samplePeak after a complete frame has passed. samplePeak = false; - if (audioSyncEnabled == 0) udpSamplePeak = false; // this is normally reset by transmitAudioData + if (audioSyncEnabled == AUDIOSYNC_NONE) udpSamplePeak = false; // this is normally reset by transmitAudioData } } @@ -960,19 +994,21 @@ class AudioReactive : public Usermod { int8_t mclkPin = MCLK_PIN; #endif #endif - // new "V2" audiosync struct - 40 Bytes - struct audioSyncPacket { - char header[6]; // 06 Bytes - float sampleRaw; // 04 Bytes - either "sampleRaw" or "rawSampleAgc" depending on soundAgc setting - float sampleSmth; // 04 Bytes - either "sampleAvg" or "sampleAgc" depending on soundAgc setting - uint8_t samplePeak; // 01 Bytes - 0 no peak; >=1 peak detected. In future, this will also provide peak Magnitude - uint8_t frameCounter; // 01 Bytes - track duplicate/out of order packets - uint8_t fftResult[16]; // 16 Bytes - float FFT_Magnitude; // 04 Bytes - float FFT_MajorPeak; // 04 Bytes + // new "V2" audiosync struct - 44 Bytes + struct __attribute__ ((packed)) audioSyncPacket { // WLEDMM "packed" ensures that there are no additional gaps + char header[6]; // 06 Bytes offset 0 + uint8_t gap1[2]; // gap added by compiler: 02 Bytes, offset 6 + float sampleRaw; // 04 Bytes offset 8 - either "sampleRaw" or "rawSampleAgc" depending on soundAgc setting + float sampleSmth; // 04 Bytes offset 12 - either "sampleAvg" or "sampleAgc" depending on soundAgc setting + uint8_t samplePeak; // 01 Bytes offset 16 - 0 no peak; >=1 peak detected. In future, this will also provide peak Magnitude + uint8_t frameCounter; // 01 Bytes offset 17 - track duplicate/out of order packets + uint8_t fftResult[16]; // 16 Bytes offset 18 + uint8_t gap2[2]; // gap added by compiler: 02 Bytes, offset 34 + float FFT_Magnitude; // 04 Bytes offset 36 + float FFT_MajorPeak; // 04 Bytes offset 40 }; - // old "V1" audiosync struct - 83 Bytes - for backwards compatibility + // old "V1" audiosync struct - 83 Bytes payload, 88 bytes total - for backwards compatibility struct audioSyncPacket_v1 { char header[6]; // 06 Bytes uint8_t myVals[32]; // 32 Bytes @@ -998,7 +1034,11 @@ class AudioReactive : public Usermod { // variables for UDP sound sync WiFiUDP fftUdp; // UDP object for sound sync (from WiFi UDP, not Async UDP!) unsigned long lastTime = 0; // last time of running UDP Microphone Sync +#if defined(WLEDMM_FASTPATH) + const uint16_t delayMs = 5; // I don't want to sample too often and overload WLED +#else const uint16_t delayMs = 10; // I don't want to sample too often and overload WLED +#endif uint16_t audioSyncPort= 11988;// default port for UDP sound sync bool updateIsRunning = false; // true during OTA. @@ -1048,7 +1088,7 @@ class AudioReactive : public Usermod { //////////////////// void logAudio() { - if (disableSoundProcessing && (!udpSyncConnected || ((audioSyncEnabled & 0x02) == 0))) return; // no audio available + if (disableSoundProcessing && (!udpSyncConnected || ((audioSyncEnabled & AUDIOSYNC_REC) == 0))) return; // no audio available #ifdef MIC_LOGGER // Debugging functions for audio input and sound processing. Comment out the values you want to see PLOT_PRINT("volumeSmth:"); PLOT_PRINT(volumeSmth + 256.0f); PLOT_PRINT("\t"); // +256 to move above other lines @@ -1425,6 +1465,39 @@ class AudioReactive : public Usermod { last_time = millis(); } + // MM experimental: limiter to smooth GEQ samples (only for UDP sound receiver mode) + // target value (if gotNewSample) : fftCalc + // last filtered value: fftAvg + void limitGEQDynamics(bool gotNewSample) { + constexpr float bigChange = 202; // just a representative number - a large, expected sample value + constexpr float smooth = 0.8f; // a bit of filtering + static unsigned long last_time = 0; + + if (limiterOn == false) return; + + if (gotNewSample) { // take new FFT samples as target values + for(unsigned i=0; i < NUM_GEQ_CHANNELS; i++) { + fftCalc[i] = fftResult[i]; + fftResult[i] = fftAvg[i]; + } + } + + long delta_time = millis() - last_time; + delta_time = constrain(delta_time , 1, 1000); // below 1ms -> 1ms; above 1sec -> silly lil hick-up + float maxAttack = (attackTime <= 0) ? 255.0f : (bigChange * float(delta_time) / float(attackTime)); + float maxDecay = (decayTime <= 0) ? -255.0f : (-bigChange * float(delta_time) / float(decayTime)); + + for(unsigned i=0; i < NUM_GEQ_CHANNELS; i++) { + float deltaSample = fftCalc[i] - fftAvg[i]; + if (deltaSample > maxAttack) deltaSample = maxAttack; + if (deltaSample < maxDecay) deltaSample = maxDecay; + deltaSample = deltaSample * smooth; + fftAvg[i] = fmaxf(0.0f, fminf(255.0f, fftAvg[i] + deltaSample)); + fftResult[i] = fftAvg[i]; + } + last_time = millis(); + } + ////////////////////// // UDP Sound Sync // ////////////////////// @@ -1435,7 +1508,7 @@ class AudioReactive : public Usermod { // necessary as we also want to transmit in "AP Mode", but the standard "connected()" callback only reacts on STA connection static unsigned long last_connection_attempt = 0; - if ((audioSyncPort <= 0) || ((audioSyncEnabled & 0x03) == 0)) return; // Sound Sync not enabled + if ((audioSyncPort <= 0) || (audioSyncEnabled == AUDIOSYNC_NONE)) return; // Sound Sync not enabled if (!(apActive || WLED_CONNECTED || interfacesInited)) { if (udpSyncConnected) { udpSyncConnected = false; @@ -1493,13 +1566,24 @@ class AudioReactive : public Usermod { return strncmp_P(header, UDP_SYNC_HEADER_v1, 6) == 0; } - void decodeAudioData(int packetSize, uint8_t *fftBuff) { + bool decodeAudioData(int packetSize, uint8_t *fftBuff) { + if((0 == packetSize) || (nullptr == fftBuff)) return false; // sanity check audioSyncPacket *receivedPacket = reinterpret_cast(fftBuff); + // validate sequence, discard out-of-sequence packets static uint8_t lastFrameCounter = 0; - if(receivedPacket->frameCounter <= lastFrameCounter && receivedPacket->frameCounter != 0) { // TODO: might need extra checks here + // add info for UI + if ((receivedPacket->frameCounter > 0) && (lastFrameCounter > 0)) receivedFormat = 3; // v2+ + else receivedFormat = 2; // v2 + // check sequence + bool sequenceOK = false; + if(receivedPacket->frameCounter > lastFrameCounter) sequenceOK = true; // sequence OK + if((lastFrameCounter < 12) && (receivedPacket->frameCounter > 248)) sequenceOK = false; // prevent sequence "roll-back" due to late packets (1->254) + if((lastFrameCounter > 248) && (receivedPacket->frameCounter < 12)) sequenceOK = true; // handle roll-over (255 -> 0) + if(audioSyncSequence == false) sequenceOK = true; // sequence checking disabled by user + if((sequenceOK == false) && (receivedPacket->frameCounter != 0)) { // always accept "0" - its the legacy value DEBUGSR_PRINTF("Skipping audio frame out of order or duplicated - %u vs %u\n", lastFrameCounter, receivedPacket->frameCounter); - return; + return false; // reject out-of sequence frame } else { lastFrameCounter = receivedPacket->frameCounter; @@ -1529,6 +1613,10 @@ class AudioReactive : public Usermod { my_magnitude = fmaxf(receivedPacket->FFT_Magnitude, 0.0f); FFT_Magnitude = my_magnitude; FFT_MajorPeak = constrain(receivedPacket->FFT_MajorPeak, 1.0f, 11025.0f); // restrict value to range expected by effects + soundPressure = volumeSmth; // substitute - V2 format does not (yet) include this value + agcSensitivity = 128.0f; // substitute - V2 format does not (yet) include this value + + return true; } void decodeAudioData_v1(int packetSize, uint8_t *fftBuff) { @@ -1557,6 +1645,8 @@ class AudioReactive : public Usermod { my_magnitude = fmaxf(receivedPacket->FFT_Magnitude, 0.0); FFT_Magnitude = my_magnitude; FFT_MajorPeak = constrain(receivedPacket->FFT_MajorPeak, 1.0, 11025.0); // restrict value to range expected by effects + soundPressure = volumeSmth; // substitute - V1 format does not include this value + agcSensitivity = 128.0f; // substitute - V1 format does not include this value } bool receiveAudioData() // check & process new data. return TRUE in case that new audio data was received. @@ -1591,16 +1681,15 @@ class AudioReactive : public Usermod { // VERIFY THAT THIS IS A COMPATIBLE PACKET if (packetSize == sizeof(audioSyncPacket) && (isValidUdpSyncVersion((const char *)fftUdpBuffer))) { - decodeAudioData(packetSize, fftUdpBuffer); - //DEBUGSR_PRINTLN("Finished parsing UDP Sync Packet v2"); - haveFreshData = true; receivedFormat = 2; + haveFreshData = decodeAudioData(packetSize, fftUdpBuffer); + //DEBUGSR_PRINTLN("Finished parsing UDP Sync Packet v2"); } else { if (packetSize == sizeof(audioSyncPacket_v1) && (isValidUdpSyncVersion_v1((const char *)fftUdpBuffer))) { decodeAudioData_v1(packetSize, fftUdpBuffer); + receivedFormat = 1; //DEBUGSR_PRINTLN("Finished parsing UDP Sync Packet v1"); haveFreshData = true; - receivedFormat = 1; } else receivedFormat = 0; // unknown format } } @@ -1815,6 +1904,26 @@ class AudioReactive : public Usermod { DEBUGSR_PRINTLN(enabled ? F("true.") : F("false.")); USER_FLUSH(); + // dump audiosync data layout + #if defined(SR_DEBUG) + { + audioSyncPacket data; + USER_PRINTF("\naudioSyncPacket_v1 size = %d\n", sizeof(audioSyncPacket_v1)); // size 88 + USER_PRINTF("audioSyncPacket size = %d\n", sizeof(audioSyncPacket)); // size 44 + USER_PRINTF("| char header[6] offset = %2d size = %2d\n", offsetof(audioSyncPacket, header[0]), sizeof(data.header)); // offset 0 size 6 + USER_PRINTF("| uint8_t gap1[2] offset = %2d size = %2d\n", offsetof(audioSyncPacket, gap1[0]), sizeof(data.gap1)); // offset 6 size 2 + USER_PRINTF("| float sampleRaw offset = %2d size = %2d\n", offsetof(audioSyncPacket, sampleRaw), sizeof(data.sampleRaw)); // offset 8 size 4 + USER_PRINTF("| float sampleSmth offset = %2d size = %2d\n", offsetof(audioSyncPacket, sampleSmth), sizeof(data.sampleSmth)); // offset 12 size 4 + USER_PRINTF("| uint8_t samplePeak offset = %2d size = %2d\n", offsetof(audioSyncPacket, samplePeak), sizeof(data.samplePeak)); // offset 16 size 1 + USER_PRINTF("| uint8_t frameCounter offset = %2d size = %2d\n", offsetof(audioSyncPacket, frameCounter), sizeof(data.frameCounter)); // offset 17 size 1 + USER_PRINTF("| uint8_t fftResult[16] offset = %2d size = %2d\n", offsetof(audioSyncPacket, fftResult[0]), sizeof(data.fftResult)); // offset 18 size 16 + USER_PRINTF("| uint8_t gap2[2] offset = %2d size = %2d\n", offsetof(audioSyncPacket, gap2[0]), sizeof(data.gap2)); // offset 34 size 2 + USER_PRINTF("| float FFT_Magnitude offset = %2d size = %2d\n", offsetof(audioSyncPacket, FFT_Magnitude), sizeof(data.FFT_Magnitude));// offset 36 size 4 + USER_PRINTF("| float FFT_MajorPeak offset = %2d size = %2d\n", offsetof(audioSyncPacket, FFT_MajorPeak), sizeof(data.FFT_MajorPeak));// offset 40 size 4 + USER_PRINTLN(); USER_FLUSH(); + } + #endif + #if defined(ARDUINO_ARCH_ESP32) && defined(SR_DEBUG) DEBUGSR_PRINTF("|| %-9s min free stack %d\n", pcTaskGetTaskName(NULL), uxTaskGetStackHighWaterMark(NULL)); //WLEDMM #endif @@ -1834,7 +1943,7 @@ class AudioReactive : public Usermod { DEBUGSR_PRINTLN(F("AR connected(): old UDP connection closed.")); } - if (audioSyncPort > 0 && (audioSyncEnabled & 0x03)) { + if ((audioSyncPort > 0) && (audioSyncEnabled > AUDIOSYNC_NONE)) { #ifdef ARDUINO_ARCH_ESP32 udpSyncConnected = fftUdp.beginMulticast(IPAddress(239, 0, 0, 1), audioSyncPort); #else @@ -1875,7 +1984,18 @@ class AudioReactive : public Usermod { return; } // We cannot wait indefinitely before processing audio data - if (strip.isUpdating() && (millis() - lastUMRun < 2)) return; // be nice, but not too nice + if (strip.isServicing() && (millis() - lastUMRun < 2)) return; // WLEDMM isServicing() is the critical part (be nice, but not too nice) + + // sound sync "receive or local" + bool useNetworkAudio = false; + if (audioSyncEnabled > AUDIOSYNC_SEND) { // we are in "receive" or "receive+local" mode + if (udpSyncConnected && ((millis() - last_UDPTime) <= AUDIOSYNC_IDLE_MS)) + useNetworkAudio = true; + else + useNetworkAudio = false; + if (audioSyncEnabled == AUDIOSYNC_REC) + useNetworkAudio = true; // don't fall back to local audio in standard "receive mode" + } // suspend local sound processing when "real time mode" is active (E131, UDP, ADALIGHT, ARTNET) if ( (realtimeOverride == REALTIME_OVERRIDE_NONE) // please add other overrides here if needed @@ -1886,27 +2006,32 @@ class AudioReactive : public Usermod { ||(realtimeMode == REALTIME_MODE_ARTNET) ) ) // please add other modes here if needed { #ifdef WLED_DEBUG - if ((disableSoundProcessing == false) && (audioSyncEnabled == 0)) { // we just switched to "disabled" + if ((disableSoundProcessing == false) && (audioSyncEnabled < AUDIOSYNC_REC)) { // we just switched to "disabled" DEBUG_PRINTLN("[AR userLoop] realtime mode active - audio processing suspended."); DEBUG_PRINTF( " RealtimeMode = %d; RealtimeOverride = %d\n", int(realtimeMode), int(realtimeOverride)); } #endif disableSoundProcessing = true; + useNetworkAudio = false; } else { #if defined(ARDUINO_ARCH_ESP32) && defined(WLED_DEBUG) - if ((disableSoundProcessing == true) && (audioSyncEnabled == 0) && audioSource->isInitialized()) { // we just switched to "enabled" + if ((disableSoundProcessing == true) && (audioSyncEnabled < AUDIOSYNC_REC) && audioSource->isInitialized()) { // we just switched to "enabled" DEBUG_PRINTLN("[AR userLoop] realtime mode ended - audio processing resumed."); DEBUG_PRINTF( " RealtimeMode = %d; RealtimeOverride = %d\n", int(realtimeMode), int(realtimeOverride)); } #endif - if ((disableSoundProcessing == true) && (audioSyncEnabled == 0)) lastUMRun = millis(); // just left "realtime mode" - update timekeeping + if ((disableSoundProcessing == true) && (audioSyncEnabled != AUDIOSYNC_REC)) lastUMRun = millis(); // just left "realtime mode" - update timekeeping disableSoundProcessing = false; } - if (audioSyncEnabled & 0x02) disableSoundProcessing = true; // make sure everything is disabled IF in audio Receive mode - if (audioSyncEnabled & 0x01) disableSoundProcessing = false; // keep running audio IF we're in audio Transmit mode + if (audioSyncEnabled == AUDIOSYNC_REC) disableSoundProcessing = true; // make sure everything is disabled IF in audio Receive mode + if (audioSyncEnabled == AUDIOSYNC_SEND) disableSoundProcessing = false; // keep running audio IF we're in audio Transmit mode #ifdef ARDUINO_ARCH_ESP32 - if (!audioSource->isInitialized()) disableSoundProcessing = true; // no audio source + if (!audioSource->isInitialized()) { // no audio source + disableSoundProcessing = true; + if (audioSyncEnabled > AUDIOSYNC_SEND) useNetworkAudio = true; + } + if ((audioSyncEnabled == AUDIOSYNC_REC_PLUS) && useNetworkAudio) disableSoundProcessing = true; // UDP sound receiving - disable local audio #ifdef SR_DEBUG // debug info in case that task stack usage changes @@ -1919,7 +2044,7 @@ class AudioReactive : public Usermod { #endif // Only run the sampling code IF we're not in Receive mode or realtime mode - if (!(audioSyncEnabled & 0x02) && !disableSoundProcessing) { + if ((audioSyncEnabled != AUDIOSYNC_REC) && !disableSoundProcessing && !useNetworkAudio) { if (soundAgc > AGC_NUM_PRESETS) soundAgc = 0; // make sure that AGC preset is valid (to avoid array bounds violation) unsigned long t_now = millis(); // remember current time @@ -1929,7 +2054,7 @@ class AudioReactive : public Usermod { #if defined(SR_DEBUG) // complain when audio userloop has been delayed for long time. Currently we need userloop running between 500 and 1500 times per second. // softhack007 disabled temporarily - avoid serial console spam with MANY LEDs and low FPS - //if ((userloopDelay > /*23*/ 65) && !disableSoundProcessing && (audioSyncEnabled == 0)) { + //if ((userloopDelay > /*23*/ 65) && !disableSoundProcessing && (audioSyncEnabled == AUDIOSYNC_NONE)) { //DEBUG_PRINTF("[AR userLoop] hiccup detected -> was inactive for last %d millis!\n", userloopDelay); //} #endif @@ -1976,27 +2101,33 @@ class AudioReactive : public Usermod { connectUDPSoundSync(); // ensure we have a connection - if needed // UDP Microphone Sync - receive mode - if ((audioSyncEnabled & 0x02) && udpSyncConnected) { + if ((audioSyncEnabled & AUDIOSYNC_REC) && udpSyncConnected) { // Only run the audio listener code if we're in Receive mode static float syncVolumeSmth = 0; bool have_new_sample = false; if (millis() - lastTime > delayMs) { have_new_sample = receiveAudioData(); - if (have_new_sample) last_UDPTime = millis(); + if (have_new_sample) { + last_UDPTime = millis(); + useNetworkAudio = true; // UDP input arrived - use it + } lastTime = millis(); } else { #ifdef ARDUINO_ARCH_ESP32 fftUdp.flush(); // WLEDMM: Flush this if we haven't read it. Does not work on 8266. #endif } - if (have_new_sample) syncVolumeSmth = volumeSmth; // remember received sample - else volumeSmth = syncVolumeSmth; // restore originally received sample for next run of dynamics limiter - limitSampleDynamics(); // run dynamics limiter on received volumeSmth, to hide jumps and hickups + if (useNetworkAudio) { + if (have_new_sample) syncVolumeSmth = volumeSmth; // remember received sample + else volumeSmth = syncVolumeSmth; // restore originally received sample for next run of dynamics limiter + limitSampleDynamics(); // run dynamics limiter on received volumeSmth, to hide jumps and hickups + limitGEQDynamics(have_new_sample); // WLEDMM experimental: smooth FFT (GEQ) samples + } } else { receivedFormat = 0; } - if ( (audioSyncEnabled & 0x02) // receive mode + if ( (audioSyncEnabled & AUDIOSYNC_REC) // receive mode && udpSyncConnected // connected && (receivedFormat > 0) // we actually received something in the past && ((millis() - last_UDPTime) > 25000)) { // close connection after 25sec idle @@ -2006,6 +2137,8 @@ class AudioReactive : public Usermod { volumeSmth =0.0f; volumeRaw =0; my_magnitude = 0.1; FFT_Magnitude = 0.01; FFT_MajorPeak = 2; + soundPressure = 1.0f; + agcSensitivity = 64.0f; #ifdef ARDUINO_ARCH_ESP32 multAgc = 1; #endif @@ -2042,7 +2175,12 @@ class AudioReactive : public Usermod { #ifdef ARDUINO_ARCH_ESP32 //UDP Microphone Sync - transmit mode - if ((audioSyncEnabled & 0x01) && (millis() - lastTime > 20)) { + #if defined(WLEDMM_FASTPATH) + if ((audioSyncEnabled & AUDIOSYNC_SEND) && (haveNewFFTResult || (millis() - lastTime > 24))) { // fastpath: send data once results are ready, or each 25ms as fallback (max sampling time is 23ms) + #else + if ((audioSyncEnabled & AUDIOSYNC_SEND) && (millis() - lastTime > 20)) { // standard: send data each 20ms + #endif + haveNewFFTResult = false; // reset notification // Only run the transmit code IF we're in Transmit mode transmitAudioData(); lastTime = millis(); @@ -2192,7 +2330,15 @@ class AudioReactive : public Usermod { infoArr.add(uiDomString); if (enabled) { + bool audioSyncIDLE = false; // true if sound sync is not receiving + #ifdef ARDUINO_ARCH_ESP32 + // audio sync status + if ((audioSyncEnabled & AUDIOSYNC_REC) && (!udpSyncConnected || (millis() - last_UDPTime > AUDIOSYNC_IDLE_MS))) // connected and nothing received in 2.5sec + audioSyncIDLE = true; + if ((audioSource == nullptr) || (!audioSource->isInitialized())) // local audio not configured + audioSyncIDLE = false; + // Input Level Slider if (disableSoundProcessing == false) { // only show slider when audio processing is running if (soundAgc > 0) { @@ -2219,11 +2365,11 @@ class AudioReactive : public Usermod { // The following can be used for troubleshooting user errors and is so not enclosed in #ifdef WLED_DEBUG // current Audio input infoArr = user.createNestedArray(F("Audio Source")); - if (audioSyncEnabled & 0x02) { + if ((audioSyncEnabled == AUDIOSYNC_REC) || (!audioSyncIDLE && (audioSyncEnabled == AUDIOSYNC_REC_PLUS))){ // UDP sound sync - receive mode infoArr.add(F("UDP sound sync")); if (udpSyncConnected) { - if (millis() - last_UDPTime < 2500) + if (millis() - last_UDPTime < AUDIOSYNC_IDLE_MS) infoArr.add(F(" - receiving")); else infoArr.add(F(" - idle")); @@ -2271,13 +2417,13 @@ class AudioReactive : public Usermod { } // AGC or manual Gain - if ((soundAgc==0) && (disableSoundProcessing == false) && !(audioSyncEnabled & 0x02)) { + if ((soundAgc == 0) && (disableSoundProcessing == false) && !(audioSyncEnabled == AUDIOSYNC_REC)) { infoArr = user.createNestedArray(F("Manual Gain")); float myGain = ((float)sampleGain/40.0f * (float)inputLevel/128.0f) + 1.0f/16.0f; // non-AGC gain from presets infoArr.add(roundf(myGain*100.0f) / 100.0f); infoArr.add("x"); } - if (soundAgc && (disableSoundProcessing == false) && !(audioSyncEnabled & 0x02)) { + if ((soundAgc > 0) && (disableSoundProcessing == false) && !(audioSyncEnabled == AUDIOSYNC_REC)) { infoArr = user.createNestedArray(F("AGC Gain")); infoArr.add(roundf(multAgc*100.0f) / 100.0f); infoArr.add("x"); @@ -2286,18 +2432,24 @@ class AudioReactive : public Usermod { // UDP Sound Sync status infoArr = user.createNestedArray(F("UDP Sound Sync")); if (audioSyncEnabled) { - if (audioSyncEnabled & 0x01) { + if (audioSyncEnabled & AUDIOSYNC_SEND) { infoArr.add(F("send mode")); - if ((udpSyncConnected) && (millis() - lastTime < 2500)) infoArr.add(F(" v2")); - } else if (audioSyncEnabled & 0x02) { + if ((udpSyncConnected) && (millis() - lastTime < AUDIOSYNC_IDLE_MS)) infoArr.add(F(" v2+")); + } else if (audioSyncEnabled == AUDIOSYNC_REC) { infoArr.add(F("receive mode")); + } else if (audioSyncEnabled == AUDIOSYNC_REC_PLUS) { + infoArr.add(F("receive+local mode")); } } else infoArr.add("off"); if (audioSyncEnabled && !udpSyncConnected) infoArr.add(" (unconnected)"); - if (audioSyncEnabled && udpSyncConnected && (millis() - last_UDPTime < 2500)) { + if (audioSyncEnabled && udpSyncConnected && (millis() - last_UDPTime < AUDIOSYNC_IDLE_MS)) { if (receivedFormat == 1) infoArr.add(F(" v1")); if (receivedFormat == 2) infoArr.add(F(" v2")); + if (receivedFormat == 3) { + if (audioSyncSequence) infoArr.add(F(" v2+")); // Sequence checking enabled + else infoArr.add(F(" v2")); + } } #if defined(WLED_DEBUG) || defined(SR_DEBUG) || defined(SR_STATS) @@ -2449,6 +2601,7 @@ class AudioReactive : public Usermod { JsonObject sync = top.createNestedObject("sync"); sync[F("port")] = audioSyncPort; sync[F("mode")] = audioSyncEnabled; + sync[F("check_sequence")] = audioSyncSequence; } @@ -2517,6 +2670,7 @@ class AudioReactive : public Usermod { configComplete &= getJsonValue(top["sync"][F("port")], audioSyncPort); configComplete &= getJsonValue(top["sync"][F("mode")], audioSyncEnabled); + configComplete &= getJsonValue(top["sync"][F("check_sequence")], audioSyncSequence); return configComplete; } @@ -2687,12 +2841,20 @@ class AudioReactive : public Usermod { oappend(SET_F("addInfo('AudioReactive:frequency:profile',1,'☾');")); #endif oappend(SET_F("dd=addDropdown('AudioReactive','sync:mode');")); - oappend(SET_F("addOption(dd,'Off',0);")); + oappend(SET_F("addOption(dd,'Off',0);")); // AUDIOSYNC_NONE #ifdef ARDUINO_ARCH_ESP32 - oappend(SET_F("addOption(dd,'Send',1);")); + oappend(SET_F("addOption(dd,'Send',1);")); // AUDIOSYNC_SEND #endif - oappend(SET_F("addOption(dd,'Receive',2);")); - oappend(SET_F("addInfo('AudioReactive:sync:mode',1,'
Sync audio data with other WLEDs');")); + oappend(SET_F("addOption(dd,'Receive',2);")); // AUDIOSYNC_REC +#ifdef ARDUINO_ARCH_ESP32 + oappend(SET_F("addOption(dd,'Receive or Local',6);")); // AUDIOSYNC_REC_PLUS +#endif + // check_sequence: Receiver skips out-of-sequence packets when enabled + oappend(SET_F("dd=addDropdown('AudioReactive','sync:check_sequence');")); + oappend(SET_F("addOption(dd,'Off',0);")); + oappend(SET_F("addOption(dd,'On',1);")); + + oappend(SET_F("addInfo('AudioReactive:sync:check_sequence',1,'when receiving
Sync audio data with other WLEDs');")); // must append this to the last field of 'sync' oappend(SET_F("addInfo('AudioReactive:digitalmic:type',1,'requires reboot!');")); // 0 is field type, 1 is actual field #ifdef ARDUINO_ARCH_ESP32 @@ -2735,7 +2897,7 @@ class AudioReactive : public Usermod { oappend(SET_F("xOpt('AudioReactive:digitalmic:pin[]',5,' ⎌',")); oappendi(ES7243_SCLPIN); oappend(");"); #endif oappend(SET_F("dRO('AudioReactive:digitalmic:pin[]',5);")); // disable read only pins -#endif +#endif } diff --git a/usermods/audioreactive/audio_source.h b/usermods/audioreactive/audio_source.h index 2009efbb..bd026968 100644 --- a/usermods/audioreactive/audio_source.h +++ b/usermods/audioreactive/audio_source.h @@ -646,27 +646,26 @@ class WM8978Source : public I2SSource { _wm8978I2cBegin(); _wm8978I2cWrite( 0,0b000000000); // Reset all settings - _wm8978I2cWrite( 1,0b000001011); // Power Management 1 - power off most things - _wm8978I2cWrite( 2,0b110110011); // Power Management 2 - enable output and amp stages (amps may lift signal but it works better on the ADCs) + _wm8978I2cWrite( 1,0b000111110); // Power Management 1 - power off most things, but enable mic bias and I/O tie-off to help mitigate mic leakage. + _wm8978I2cWrite( 2,0b110111111); // Power Management 2 - enable output and amp stages (amps may lift signal but it works better on the ADCs) _wm8978I2cWrite( 3,0b000001100); // Power Management 3 - enable L&R output mixers _wm8978I2cWrite( 4,0b001010000); // Audio Interface - standard I2S, 24-bit - _wm8978I2cWrite( 5,0b000000001); // Loopback Enable _wm8978I2cWrite( 6,0b000000000); // Clock generation control - use external mclk _wm8978I2cWrite( 7,0b000000100); // Sets sample rate to ~24kHz (only used for internal calculations, not I2S) _wm8978I2cWrite(14,0b010001000); // 128x ADC oversampling - high pass filter disabled as it kills the bass response _wm8978I2cWrite(43,0b000110000); // Mute signal paths we don't use - _wm8978I2cWrite(44,0b000000000); // Disconnect microphones + _wm8978I2cWrite(44,0b100000000); // Disconnect microphones _wm8978I2cWrite(45,0b111000000); // Mute signal paths we don't use _wm8978I2cWrite(46,0b111000000); // Mute signal paths we don't use _wm8978I2cWrite(47,0b001000000); // 0dB gain on left line-in _wm8978I2cWrite(48,0b001000000); // 0dB gain on right line-in - _wm8978I2cWrite(49,0b000000010); // Mixer thermal shutdown enable + _wm8978I2cWrite(49,0b000000011); // Mixer thermal shutdown enable and unused IOs to 30kΩ _wm8978I2cWrite(50,0b000010110); // Output mixer enable only left bypass at 0dB gain _wm8978I2cWrite(51,0b000010110); // Output mixer enable only right bypass at 0dB gain _wm8978I2cWrite(52,0b110111001); // Left line-out enabled at 0dB gain _wm8978I2cWrite(53,0b110111001); // Right line-out enabled at 0db gain - _wm8978I2cWrite(54,0b001000000); // Mute left speaker output - _wm8978I2cWrite(55,0b101000000); // Mute right speaker output + _wm8978I2cWrite(54,0b111000000); // Mute left speaker output + _wm8978I2cWrite(55,0b111000000); // Mute right speaker output } diff --git a/usermods/audioreactive/readme.md b/usermods/audioreactive/readme.md index d9f9ea78..1dd5f5d9 100644 --- a/usermods/audioreactive/readme.md +++ b/usermods/audioreactive/readme.md @@ -1,6 +1,6 @@ # Audioreactive usermod -Enabless controlling LEDs via audio input. Audio source can be a microphone or analog-in (AUX) using an appropriate adapter. +Enables controlling LEDs via audio input. Audio source can be a microphone or analog-in (AUX) using an appropriate adapter. Supported microphones range from analog (MAX4466, MAX9814, ...) to digital (INMP441, ICS-43434, ...). Does audio processing and provides data structure that specially written effects can use. @@ -19,7 +19,7 @@ This usermod is an evolution of [SR-WLED](https://github.com/atuline/WLED), and ## Supported MCUs This audioreactive usermod works best on "classic ESP32" (dual core), and on ESP32-S3 which also has dual core and hardware floating point support. -It will compile succesfully for ESP32-S2 and ESP32-C3, however might not work well, as other WLED functions will become slow. Audio processing requires a lot of computing power, which can be problematic on smaller MCUs like -S2 and -C3. +It will compile successfully for ESP32-S2 and ESP32-C3, however might not work well, as other WLED functions will become slow. Audio processing requires a lot of computing power, which can be problematic on smaller MCUs like -S2 and -C3. Analog audio is only possible on "classic" ESP32, but not on other MCUs like ESP32-S3. @@ -35,7 +35,7 @@ Customised _arduinoFFT_ library for use with this usermod can be found at https: ### using latest (develop) _arduinoFFT_ library Alternatively, you can use the latest arduinoFFT development version. -ArduinoFFT `develop` library is slightly more accurate, and slighly faster than our customised library, however also needs additional 2kB RAM. +ArduinoFFT `develop` library is slightly more accurate, and slightly faster than our customised library, however also needs additional 2kB RAM. * `build_flags` = `-D USERMOD_AUDIOREACTIVE` `-D UM_AUDIOREACTIVE_USE_NEW_FFT` * `lib_deps`= `https://github.com/kosme/arduinoFFT#develop @ 1.9.2` @@ -63,7 +63,7 @@ You can use the following additional flags in your `build_flags` * `-D SR_GAIN=x` : Default "gain" setting (60) * `-D I2S_USE_RIGHT_CHANNEL`: Use RIGHT instead of LEFT channel (not recommended unless you strictly need this). * `-D I2S_USE_16BIT_SAMPLES`: Use 16bit instead of 32bit for internal sample buffers. Reduces sampling quality, but frees some RAM ressources (not recommended unless you absolutely need this). -* `-D I2S_GRAB_ADC1_COMPLETELY`: Experimental: continously sample analog ADC microphone. Only effective on ESP32. WARNING this _will_ cause conflicts(lock-up) with any analogRead() call. +* `-D I2S_GRAB_ADC1_COMPLETELY`: Experimental: continuously sample analog ADC microphone. Only effective on ESP32. WARNING this _will_ cause conflicts(lock-up) with any analogRead() call. * `-D MIC_LOGGER` : (debugging) Logs samples from the microphone to serial USB. Use with serial plotter (Arduino IDE) * `-D SR_DEBUG` : (debugging) Additional error diagnostics and debug info on serial USB. diff --git a/usermods/mcu_temp/mcuTemp.h b/usermods/mcu_temp/mcuTemp.h index d38bac2b..73272cd1 100644 --- a/usermods/mcu_temp/mcuTemp.h +++ b/usermods/mcu_temp/mcuTemp.h @@ -2,6 +2,9 @@ #include "wled.h" +// constants +#define MCUT_READ_TIME_MS 7500 // read once in 7.5 seconds + // class name. Use something descriptive and leave the ": public Usermod" part :) class mcuTemp : public Usermod { @@ -9,7 +12,7 @@ class mcuTemp : public Usermod private: float mcutemp = 0; - // any private methods should go here (non-inline methosd should be defined out of class) + // any private methods should go here (non-inline method should be defined out of class) void publishMqtt(const char *state, bool retain = false); // example for publishing MQTT message public: @@ -25,27 +28,34 @@ public: void loop() { + static unsigned long lastMQQTTime = 0; // if usermod is disabled or called during strip updating just exit // NOTE: on very long strips strip.isUpdating() may always return true so update accordingly - if (!enabled || strip.isUpdating()) + if (!enabled || (strip.isUpdating() && (millis() - lastTime < MCUT_READ_TIME_MS))) return; + if (millis() - lastTime < MCUT_READ_TIME_MS) return; // reading each 8 seconds should be enough + #ifdef ESP8266 // ESP8266 // does not seem possible mcutemp = -1; #elif defined(CONFIG_IDF_TARGET_ESP32S2) // ESP32S2 mcutemp = -1; #else // ESP32 ESP32S3 and ESP32C3 - mcutemp = roundf(temperatureRead() * 100) / 100; + float newmcutemp = roundf(temperatureRead() * 10) / 10; + if (abs(newmcutemp - 53.3f) > 0.05f) mcutemp = (mcutemp + 2.0f * newmcutemp) / 3.0f; // skip error value (128 => 53.3deg), apply some filtering #endif - if (millis() - lastTime > 10000) +#ifndef WLED_DISABLE_MQTT + if (millis() - lastMQQTTime > 15000) { char array[10]; - snprintf(array, sizeof(array), "%f", mcutemp); + snprintf(array, sizeof(array), "%3.1f", mcutemp); publishMqtt(array); - lastTime = millis(); + lastMQQTTime = millis(); } +#endif + lastTime = millis(); } /* * addToJsonInfo() can be used to add custom entries to the /json/info part of the JSON API. @@ -61,8 +71,9 @@ public: // this code adds "u":{"ExampleUsermod":[20," lux"]} to the info object // int reading = 20; + if (!enabled) return; JsonArray lightArr = user.createNestedArray(FPSTR(_name)); // name - lightArr.add(mcutemp); // value + lightArr.add(roundf(10.0f * mcutemp)/10.0f); // value, rounded to 1 decimal lightArr.add(F(" °C")); // unit // if you are implementing a sensor usermod, you may publish sensor data @@ -72,7 +83,7 @@ public: // temp.add(reading); // temp.add(F("lux")); } - +/* void addToJsonState(JsonObject &root) { } @@ -96,7 +107,7 @@ public: void handleOverlayDraw() { } - +*/ /* * getId() allows you to optionally give your V2 usermod an unique ID (please define it in const.h!). * This could be used in the future for the system to determine whether your usermod is installed. diff --git a/usermods/mpu6050_imu/usermod_mpu6050_imu.h b/usermods/mpu6050_imu/usermod_mpu6050_imu.h index e923e1f9..1e784d95 100644 --- a/usermods/mpu6050_imu/usermod_mpu6050_imu.h +++ b/usermods/mpu6050_imu/usermod_mpu6050_imu.h @@ -185,7 +185,7 @@ class MPU6050Driver : public Usermod { //INTERRUPT_PIN = -1; //return; } - if ((INTERRUPT_PIN >= 0) && (pinManager.getPinOwner(INTERRUPT_PIN) != PinOwner::UM_IMU) // only allocate pin if we don't ownn it already + if ((INTERRUPT_PIN >= 0) && (pinManager.getPinOwner(INTERRUPT_PIN) != PinOwner::UM_IMU) // only allocate pin if we don't own it already && !pinManager.allocatePin(INTERRUPT_PIN, false, PinOwner::UM_IMU)) { //enabled = false; diff --git a/usermods/mqtt_switch_v2/README.md b/usermods/mqtt_switch_v2/README.md index 148e4a56..744d7fe3 100644 --- a/usermods/mqtt_switch_v2/README.md +++ b/usermods/mqtt_switch_v2/README.md @@ -50,5 +50,5 @@ This usermod listens on `[mqttDeviceTopic]/switch/0/set` (where 0 is replaced wi Feedback about the current state is provided at `[mqttDeviceTopic]/switch/0/state`. ### Home Assistant auto-discovery -Auto-discovery information is automatically published and you shoudn't have to do anything to register the switches in Home Assistant. +Auto-discovery information is automatically published and you shouldn't have to do anything to register the switches in Home Assistant. diff --git a/usermods/multi_relay/readme.md b/usermods/multi_relay/readme.md index 71a54070..1f3bec7a 100644 --- a/usermods/multi_relay/readme.md +++ b/usermods/multi_relay/readme.md @@ -2,7 +2,7 @@ This usermod-v2 modification allows the connection of multiple relays, each with individual delay and on/off mode. Usermod supports PCF8574 I2C port expander to reduce GPIO use. -PCF8574 supports 8 outputs and each output corresponds to a relay in WLED (relay 0 = port 0, etc). I you are using more than 8 relays with multiple PCF8574 make sure their addresses are set conscutively (e.g. 0x20 and 0x21). You can set address of first expander in settings. +PCF8574 supports 8 outputs and each output corresponds to a relay in WLED (relay 0 = port 0, etc). I you are using more than 8 relays with multiple PCF8574 make sure their addresses are set in sequence (e.g. 0x20 and 0x21). You can set address of first expander in settings. (**NOTE:** Will require Wire library and global I2C pins defined.) ## HTTP API diff --git a/usermods/multi_relay/usermod_multi_relay.h b/usermods/multi_relay/usermod_multi_relay.h index b8cabebb..cf0aca22 100644 --- a/usermods/multi_relay/usermod_multi_relay.h +++ b/usermods/multi_relay/usermod_multi_relay.h @@ -196,7 +196,7 @@ class MultiRelay : public Usermod { }; -// class implementetion +// class implementation void MultiRelay::publishMqtt(int relay) { #ifndef WLED_DISABLE_MQTT @@ -496,10 +496,10 @@ void MultiRelay::setup() { * loop() is called continuously. Here you can check for events, read sensors, etc. */ void MultiRelay::loop() { - yield(); - if (!enabled || strip.isUpdating()) return; - static unsigned long lastUpdate = 0; + yield(); + if (!enabled || (strip.isUpdating() && millis() - lastUpdate < 100)) return; + if (millis() - lastUpdate < 100) return; // update only 10 times/s lastUpdate = millis(); diff --git a/usermods/quinled-an-penta/readme.md b/usermods/quinled-an-penta/readme.md index 2338747d..c1260d91 100644 --- a/usermods/quinled-an-penta/readme.md +++ b/usermods/quinled-an-penta/readme.md @@ -2,7 +2,7 @@ The (un)official usermod to get the best out of the QuinLED-An-Penta (https://quinled.info/quinled-an-penta/), e.g. using the OLED and the SHT30 temperature/humidity sensor. ## Requirements -* "u8gs" by olikraus, v2.28 or higher: https://github.com/olikraus/u8g2 +* "u8g2" by olikraus, v2.28 or higher: https://github.com/olikraus/u8g2 * "SHT85" by Rob Tillaart, v0.2 or higher: https://github.com/RobTillaart/SHT85 ## Usermod installation diff --git a/usermods/sd_card/readme.md b/usermods/sd_card/readme.md index 299b68eb..96390c05 100644 --- a/usermods/sd_card/readme.md +++ b/usermods/sd_card/readme.md @@ -20,7 +20,7 @@ | `pinSourceSelect` | GPIO that is connected to SD's `SS`(source select) / `CS`(chip select) | 16 | | `pinSourceClock` | GPIO that is connected to SD's `SCLK` (source clock) / `CLK`(clock) | 14 | | `pinPoci` | GPIO that is connected to SD's `POCI` (Peripheral-Out-Ctrl-In) / `MISO` (deprecated) | 36 | - | `pinPico` | GPIO that is connected to SD's `PICO` (Peripheral-In-Ctrl-Out) / `MOSI` (deprecated) | 14 | + | `pinPico` | GPIO that is connected to SD's `PICO` (Peripheral-In-Ctrl-Out) / `MOSI` (deprecated) | 15 | | `sdEnable` | Enable to read data from the SD-card | true | Following new naming convention of [OSHWA](https://www.oshwa.org/a-resolution-to-redefine-spi-signal-names/) @@ -31,4 +31,4 @@ - checks if the specified file is available on the SD card ```cpp bool file_onSD(const char *filepath) {...} - ``` \ No newline at end of file + ``` diff --git a/usermods/seven_segment_display/readme.md b/usermods/seven_segment_display/readme.md index a5294701..792393a8 100644 --- a/usermods/seven_segment_display/readme.md +++ b/usermods/seven_segment_display/readme.md @@ -17,7 +17,7 @@ The number of individual LEDs per segment. 7 segments per digit. #### perPeriod -- ssLEDPerPeriod The number of individual LEDs per period. A ':' (colon) has two periods. #### startIdx -- ssStartLED -Index of the LED the display starts at. Enabless a seven segment display to be in the middle of a string. +Index of the LED the display starts at. Enables a seven segment display to be in the middle of a string. #### timeEnable -- ssTimeEnabled When true, when displayMask is configured for a time output and no message is set, the time will be displayed. #### scrollSpd -- ssScrollSpeed diff --git a/usermods/seven_segment_display/usermod_v2_seven_segment_display.h b/usermods/seven_segment_display/usermod_v2_seven_segment_display.h index e5b726e5..20fef15d 100644 --- a/usermods/seven_segment_display/usermod_v2_seven_segment_display.h +++ b/usermods/seven_segment_display/usermod_v2_seven_segment_display.h @@ -409,7 +409,7 @@ public: if (mqttGroupTopic[0] != 0) { - //subcribe for sevenseg messages on the group topic + //subscribe for sevenseg messages on the group topic sprintf_P(subBuffer, PSTR("%s/%S/+/set"), mqttGroupTopic, _str_sevenSeg); mqtt->subscribe(subBuffer, 2); } @@ -417,7 +417,7 @@ public: bool onMqttMessage(char *topic, char *payload) { - //If topic beings iwth sevenSeg cut it off, otherwise not our message. + //If topic beings with sevenSeg cut it off, otherwise not our message. size_t topicPrefixLen = strlen_P(PSTR("/sevenSeg/")); if (strncmp_P(topic, PSTR("/sevenSeg/"), topicPrefixLen) == 0) topic += topicPrefixLen; diff --git a/usermods/seven_segment_display_reloaded/usermod_seven_segment_reloaded.h b/usermods/seven_segment_display_reloaded/usermod_seven_segment_reloaded.h index 27977405..3afe775f 100644 --- a/usermods/seven_segment_display_reloaded/usermod_seven_segment_reloaded.h +++ b/usermods/seven_segment_display_reloaded/usermod_seven_segment_reloaded.h @@ -470,14 +470,14 @@ public: if (mqttGroupTopic[0] != 0) { - //subcribe for sevenseg messages on the group topic + //subscribe for sevenseg messages on the group topic sprintf_P(subBuffer, PSTR("%s/%S/+/set"), mqttGroupTopic, _str_name); mqtt->subscribe(subBuffer, 2); } } bool onMqttMessage(char *topic, char *payload) { - //If topic beings iwth sevenSeg cut it off, otherwise not our message. + //If topic begins with sevenSeg cut it off, otherwise not our message. size_t topicPrefixLen = strlen_P(PSTR("/wledSS/")); if (strncmp_P(topic, PSTR("/wledSS/"), topicPrefixLen) == 0) { topic += topicPrefixLen; diff --git a/usermods/sht/usermod_sht.h b/usermods/sht/usermod_sht.h index bf99afd2..7583a823 100644 --- a/usermods/sht/usermod_sht.h +++ b/usermods/sht/usermod_sht.h @@ -331,7 +331,7 @@ void ShtUsermod::loop() /** * Whenever MQTT is connected, publish HA autodiscovery topics. * - * Is only donce once. + * Is only done once. * * @see Usermod::onMqttConnect() * @see UsermodManager::onMqttConnect() diff --git a/usermods/usermod_rotary_brightness_color/usermod_rotary_brightness_color.h b/usermods/usermod_rotary_brightness_color/usermod_rotary_brightness_color.h index 61b76ba1..85a9a160 100644 --- a/usermods/usermod_rotary_brightness_color/usermod_rotary_brightness_color.h +++ b/usermods/usermod_rotary_brightness_color/usermod_rotary_brightness_color.h @@ -23,7 +23,7 @@ private: unsigned char Enc_B; unsigned char Enc_A_prev = 0; - // private class memebers configurable by Usermod Settings (defaults set inside readFromConfig()) + // private class members configurable by Usermod Settings (defaults set inside readFromConfig()) int8_t pins[3]; // pins[0] = DT from encoder, pins[1] = CLK from encoder, pins[2] = CLK from encoder (optional) int fadeAmount; // how many points to fade the Neopixel with each step @@ -162,7 +162,7 @@ public: * - configComplete is used to return false if any value is missing, not just if the main object is missing * - The defaults are loaded every time readFromConfig() is run, not just once after boot * - * This ensures that missing values are added to the config, with their default values, in the rare but plauible cases of: + * This ensures that missing values are added to the config, with their default values, in the rare but plausible cases of: * - a single value being missing at boot, e.g. if the Usermod was upgraded and a new setting was added * - a single value being missing after boot (e.g. if the cfg.json was manually edited and a value was removed) * diff --git a/usermods/usermod_v2_auto_save/usermod_v2_auto_save.h b/usermods/usermod_v2_auto_save/usermod_v2_auto_save.h index 4acd6b15..1dd0a69a 100644 --- a/usermods/usermod_v2_auto_save/usermod_v2_auto_save.h +++ b/usermods/usermod_v2_auto_save/usermod_v2_auto_save.h @@ -109,7 +109,7 @@ class AutoSaveUsermod : public Usermod { // network here void setup() { #ifdef USERMOD_FOUR_LINE_DISPLAY - // This Usermod has enhanced funcionality if + // This Usermod has enhanced functionality if // FourLineDisplayUsermod is available. display = (FourLineDisplayUsermod*) usermods.lookup(USERMOD_ID_FOUR_LINE_DISP); #endif @@ -156,7 +156,7 @@ class AutoSaveUsermod : public Usermod { if (autoSaveAfter && now > autoSaveAfter) { autoSaveAfter = 0; - // Time to auto save. You may have some flickry? + // Time to auto save. You may have some flickery? saveSettings(); displayOverlay(); } diff --git a/usermods/usermod_v2_four_line_display/readme.md b/usermods/usermod_v2_four_line_display/readme.md deleted file mode 100644 index 26250cb5..00000000 --- a/usermods/usermod_v2_four_line_display/readme.md +++ /dev/null @@ -1,63 +0,0 @@ -# I2C 4 Line Display Usermod - -First, thanks to the authors of the ssd11306_i2c_oled_u8g2 mod. - -Provides a four line display using either -128x32 or 128x64 OLED displays. -It can operate independently, but starts to provide -a relatively complete on-device UI when paired with the -Rotary Encoder UI usermod. I strongly encourage you to use -them together. - -[See the pair of usermods in action](https://www.youtube.com/watch?v=tITQY80rIOA) - -## Installation - -Copy and update the example `platformio_override.ini.sample` -from the Rotary Encoder UI usermode folder to the root directory of your particular build. -This file should be placed in the same directory as `platformio.ini`. - -### Define Your Options - -* `USERMOD_FOUR_LINE_DISPLAY` - define this to have this mod included wled00\usermods_list.cpp - also tells Rotary Encoder usermod, if installed, the display is available -* `FLD_PIN_SCL` - The display SCL pin, defaults to 5 -* `FLD_PIN_SDA` - The display SDA pin, defaults to 4 - -All of the parameters can be configured via the Usermods settings page, inluding GPIO pins. - -### PlatformIO requirements - -This usermod requires the `U8g2` and `Wire` libraries. See the -`platformio_override.ini.sample` found in the Rotary Encoder -UI usermod folder for how to include these using `platformio_override.ini`. - -## Configuration - -* `enabled` - enable/disable usermod -* `pin` - GPIO pins used for display; I2C displays use Clk & Data; SPI displays can use SCK, MOSI, CS, DC & RST -* `type` - display type in numeric format - * 1 = I2C SSD1306 128x32 - * 2 = I2C SH1106 128x32 - * 3 = I2C SSD1306 128x64 (4 double-height lines) - * 4 = I2C SSD1305 128x32 - * 5 = I2C SSD1305 128x64 (4 double-height lines) - * 6 = SPI SSD1306 128x32 - * 7 = SPI SSD1306 128x64 (4 double-height lines) -* `contrast` - set display contrast (higher contrast may reduce display lifetime) -* `refreshRateSec` - display refresh time in seconds -* `screenTimeOutSec` - screen saver time-out in seconds -* `flip` - flip/rotate display 180° -* `sleepMode` - enable/disable screen saver -* `clockMode` - enable/disable clock display in screen saver mode -* `i2c-freq-kHz` - I2C clock frequency in kHz (may help reduce dropped frames, range: 400-3400) - -## Change Log - -2021-02 -* First public release - -2021-04 -* Adaptation for runtime configuration. - -2021-11 -* Added configuration option description. diff --git a/usermods/usermod_v2_four_line_display/usermod_v2_four_line_display.h b/usermods/usermod_v2_four_line_display/usermod_v2_four_line_display.h deleted file mode 100644 index 7f052648..00000000 --- a/usermods/usermod_v2_four_line_display/usermod_v2_four_line_display.h +++ /dev/null @@ -1,748 +0,0 @@ -#pragma once - -#include "wled.h" -#include // from https://github.com/olikraus/u8g2/ - -// -// Insired by the v1 usermod: ssd1306_i2c_oled_u8g2 -// -// v2 usermod for using 128x32 or 128x64 i2c -// OLED displays to provide a four line display -// for WLED. -// -// Dependencies -// * This usermod REQURES the ModeSortUsermod -// * This Usermod works best, by far, when coupled -// with RotaryEncoderUIUsermod. -// -// Make sure to enable NTP and set your time zone in WLED Config | Time. -// -// REQUIREMENT: You must add the following requirements to -// REQUIREMENT: "lib_deps" within platformio.ini / platformio_override.ini -// REQUIREMENT: * U8g2 (the version already in platformio.ini is fine) -// REQUIREMENT: * Wire -// - -//The SCL and SDA pins are defined here. -#ifndef FLD_PIN_SCL - #define FLD_PIN_SCL i2c_scl -#endif -#ifndef FLD_PIN_SDA - #define FLD_PIN_SDA i2c_sda -#endif -#ifndef FLD_PIN_CLOCKSPI - #define FLD_PIN_CLOCKSPI spi_sclk -#endif - #ifndef FLD_PIN_MOSISPI //WLEDMM renamed from HW_PIN_DATASPI - #define FLD_PIN_MOSISPI spi_mosi -#endif -#ifndef FLD_PIN_CS - #define FLD_PIN_CS spi_cs -#endif -#ifdef ARDUINO_ARCH_ESP32 - #ifndef FLD_PIN_DC - #define FLD_PIN_DC 19 - #endif - #ifndef FLD_PIN_RESET - #define FLD_PIN_RESET 26 - #endif -#else - #ifndef FLD_PIN_DC - #define FLD_PIN_DC 12 - #endif - #ifndef FLD_PIN_RESET - #define FLD_PIN_RESET 16 - #endif -#endif - -#ifndef FLD_TYPE - #ifndef FLD_SPI_DEFAULT - #define FLD_TYPE SSD1306 - #else - #define FLD_TYPE SSD1306_SPI - #endif -#endif - -// When to time out to the clock or blank the screen -// if SLEEP_MODE_ENABLED. -#define SCREEN_TIMEOUT_MS 60*1000 // 1 min - -#define TIME_INDENT 0 -#define DATE_INDENT 2 - -// Minimum time between redrawing screen in ms -#define USER_LOOP_REFRESH_RATE_MS 1000 - -// Extra char (+1) for null -#define LINE_BUFFER_SIZE 16+1 - -typedef enum { - FLD_LINE_BRIGHTNESS = 0, - FLD_LINE_EFFECT_SPEED, - FLD_LINE_EFFECT_INTENSITY, - FLD_LINE_MODE, - FLD_LINE_PALETTE, - FLD_LINE_TIME -} Line4Type; - -typedef enum { - NONE = 0, - SSD1306, // U8X8_SSD1306_128X32_UNIVISION_HW_I2C - SH1106, // U8X8_SH1106_128X64_WINSTAR_HW_I2C - SSD1306_64, // U8X8_SSD1306_128X64_NONAME_HW_I2C - SSD1305, // U8X8_SSD1305_128X32_ADAFRUIT_HW_I2C - SSD1305_64, // U8X8_SSD1305_128X64_ADAFRUIT_HW_I2C - SSD1306_SPI, // U8X8_SSD1306_128X32_NONAME_HW_SPI - SSD1306_SPI64 // U8X8_SSD1306_128X64_NONAME_HW_SPI -} DisplayType; - -class FourLineDisplayUsermod : public Usermod { - - private: - - bool initDone = false; - unsigned long lastTime = 0; - - // HW interface & configuration - U8X8 *u8x8 = nullptr; // pointer to U8X8 display object - #ifndef FLD_SPI_DEFAULT - int8_t ioPin[5] = {FLD_PIN_SCL, FLD_PIN_SDA, -1, -1, -1}; // I2C pins: SCL, SDA - uint32_t ioFrequency = 400000; // in Hz (minimum is 100000, baseline is 400000 and maximum should be 3400000) - #else - int8_t ioPin[5] = {FLD_PIN_CLOCKSPI, FLD_PIN_MOSISPI, FLD_PIN_CS, FLD_PIN_DC, FLD_PIN_RESET}; // SPI pins: CLK, MOSI, CS, DC, RST - uint32_t ioFrequency = 1000000; // in Hz (minimum is 500kHz, baseline is 1MHz and maximum should be 20MHz) - #endif - DisplayType type = FLD_TYPE; // display type - bool flip = false; // flip display 180° - uint8_t contrast = 10; // screen contrast - uint8_t lineHeight = 1; // 1 row or 2 rows - uint32_t refreshRate = USER_LOOP_REFRESH_RATE_MS; // in ms - uint32_t screenTimeout = SCREEN_TIMEOUT_MS; // in ms - bool sleepMode = true; // allow screen sleep? - bool clockMode = false; // display clock -#if defined(ARDUINO_ARCH_ESP32) && ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(4, 0, 0) - bool enabled = false; // WLEDMM workaround for I2C bugs in IDF v4.4.1 -#else - bool enabled = true; -#endif - // Next variables hold the previous known values to determine if redraw is - // required. - String knownSsid = ""; - IPAddress knownIp; - uint8_t knownBrightness = 0; - uint8_t knownEffectSpeed = 0; - uint8_t knownEffectIntensity = 0; - uint8_t knownMode = 0; - uint8_t knownPalette = 0; - uint8_t knownMinute = 99; - uint8_t knownHour = 99; - - bool displayTurnedOff = false; - unsigned long lastUpdate = 0; - unsigned long lastRedraw = 0; - unsigned long overlayUntil = 0; - Line4Type lineType = FLD_LINE_BRIGHTNESS; - // Set to 2 or 3 to mark lines 2 or 3. Other values ignored. - byte markLineNum = 0; - - // strings to reduce flash memory usage (used more than twice) - static const char _name[]; - static const char _enabled[]; - static const char _contrast[]; - static const char _refreshRate[]; - static const char _screenTimeOut[]; - static const char _flip[]; - static const char _sleepMode[]; - static const char _clockMode[]; - static const char _busClkFrequency[]; - - // If display does not work or looks corrupted check the - // constructor reference: - // https://github.com/olikraus/u8g2/wiki/u8x8setupcpp - // or check the gallery: - // https://github.com/olikraus/u8g2/wiki/gallery - - public: - - // gets called once at boot. Do all initialization that doesn't depend on - // network here - void setup() { - if (type == NONE || !enabled) return; - - bool isHW; - PinOwner po = PinOwner::UM_FourLineDisplay; - if (type == SSD1306_SPI || type == SSD1306_SPI64) { - isHW = (ioPin[0]==spi_sclk && ioPin[1]==spi_mosi); - if (isHW) po = PinOwner::HW_SPI; // allow multiple allocations of HW I2C bus pins - PinManagerPinType pins[5] = { { ioPin[0], true }, { ioPin[1], true }, { ioPin[2], true }, { ioPin[3], true }, { ioPin[4], true }}; - if (!pinManager.allocateMultiplePins(pins, 5, po)) { type=NONE; return; } - } else { - isHW = (ioPin[0]==i2c_scl && ioPin[1]==i2c_sda); - //isHW = true; - if (isHW) po = PinOwner::HW_I2C; // allow multiple allocations of HW I2C bus pins - if (ioPin[0] < 0 || ioPin[1] < 0) { type=NONE; enabled = false; return; } //WLEDMM bugfix - ensure that "final" GPIO are valid - PinManagerPinType pins[2] = { { ioPin[0], true }, { ioPin[1], true } }; - if (!pinManager.allocateMultiplePins(pins, 2, po)) { type=NONE; enabled = false; return; } - } - - DEBUG_PRINTLN(F("Allocating display.")); - switch (type) { - case SSD1306: - if (!isHW) u8x8 = (U8X8 *) new U8X8_SSD1306_128X32_UNIVISION_SW_I2C(ioPin[0], ioPin[1]); // SCL, SDA, reset - else u8x8 = (U8X8 *) new U8X8_SSD1306_128X32_UNIVISION_HW_I2C(U8X8_PIN_NONE, ioPin[0], ioPin[1]); // Pins are Reset, SCL, SDA - lineHeight = 1; - break; - case SH1106: - if (!isHW) u8x8 = (U8X8 *) new U8X8_SH1106_128X64_WINSTAR_SW_I2C(ioPin[0], ioPin[1]); // SCL, SDA, reset - else u8x8 = (U8X8 *) new U8X8_SH1106_128X64_WINSTAR_HW_I2C(U8X8_PIN_NONE, ioPin[0], ioPin[1]); // Pins are Reset, SCL, SDA - lineHeight = 2; - break; - case SSD1306_64: - if (!isHW) u8x8 = (U8X8 *) new U8X8_SSD1306_128X64_NONAME_SW_I2C(ioPin[0], ioPin[1]); // SCL, SDA, reset - else u8x8 = (U8X8 *) new U8X8_SSD1306_128X64_NONAME_HW_I2C(U8X8_PIN_NONE, ioPin[0], ioPin[1]); // Pins are Reset, SCL, SDA - lineHeight = 2; - break; - case SSD1305: - if (!isHW) u8x8 = (U8X8 *) new U8X8_SSD1305_128X32_NONAME_SW_I2C(ioPin[0], ioPin[1]); // SCL, SDA, reset - else u8x8 = (U8X8 *) new U8X8_SSD1305_128X32_ADAFRUIT_HW_I2C(U8X8_PIN_NONE, ioPin[0], ioPin[1]); // Pins are Reset, SCL, SDA - lineHeight = 1; - break; - case SSD1305_64: - if (!isHW) u8x8 = (U8X8 *) new U8X8_SSD1305_128X64_ADAFRUIT_SW_I2C(ioPin[0], ioPin[1]); // SCL, SDA, reset - else u8x8 = (U8X8 *) new U8X8_SSD1305_128X64_ADAFRUIT_HW_I2C(U8X8_PIN_NONE, ioPin[0], ioPin[1]); // Pins are Reset, SCL, SDA - lineHeight = 2; - break; - case SSD1306_SPI: - if (!isHW) u8x8 = (U8X8 *) new U8X8_SSD1306_128X32_UNIVISION_4W_SW_SPI(ioPin[0], ioPin[1], ioPin[2], ioPin[3], ioPin[4]); - else u8x8 = (U8X8 *) new U8X8_SSD1306_128X32_UNIVISION_4W_HW_SPI(ioPin[2], ioPin[3], ioPin[4]); // Pins are cs, dc, reset - lineHeight = 1; - break; - case SSD1306_SPI64: - if (!isHW) u8x8 = (U8X8 *) new U8X8_SSD1306_128X64_NONAME_4W_SW_SPI(ioPin[0], ioPin[1], ioPin[2], ioPin[3], ioPin[4]); - else u8x8 = (U8X8 *) new U8X8_SSD1306_128X64_NONAME_4W_HW_SPI(ioPin[2], ioPin[3], ioPin[4]); // Pins are cs, dc, reset - lineHeight = 2; - break; - default: - u8x8 = nullptr; - } - - if (nullptr == u8x8) { - USER_PRINTLN(F("Display init failed.")); - pinManager.deallocateMultiplePins((const uint8_t*)ioPin, (type == SSD1306_SPI || type == SSD1306_SPI64) ? 5 : 2, po); - type = NONE; - return; - } - - initDone = true; - USER_PRINTLN(F("Starting display.")); - /*if (!(type == SSD1306_SPI || type == SSD1306_SPI64))*/ u8x8->setBusClock(ioFrequency); // can be used for SPI too - u8x8->begin(); - setFlipMode(flip); - setContrast(contrast); //Contrast setup will help to preserve OLED lifetime. In case OLED need to be brighter increase number up to 255 - setPowerSave(0); - drawString(0, 0, "Loading..."); - } - - // gets called every time WiFi is (re-)connected. Initialize own network - // interfaces here - void connected() {} - - /** - * Da loop. - */ - void loop() { - if (!enabled || millis() - lastUpdate < (clockMode?1000:refreshRate) || strip.isUpdating()) return; - lastUpdate = millis(); - - redraw(false); - } - - /** - * Wrappers for screen drawing - */ - void setFlipMode(uint8_t mode) { - if (type == NONE || !enabled) return; - u8x8->setFlipMode(mode); - } - void setContrast(uint8_t contrast) { - if (type == NONE || !enabled) return; - u8x8->setContrast(contrast); - } - void drawString(uint8_t col, uint8_t row, const char *string, bool ignoreLH=false) { - if (type == NONE || !enabled) return; - u8x8->setFont(u8x8_font_chroma48medium8_r); - if (!ignoreLH && lineHeight==2) u8x8->draw1x2String(col, row, string); - else u8x8->drawString(col, row, string); - } - void draw2x2String(uint8_t col, uint8_t row, const char *string) { - if (type == NONE || !enabled) return; - u8x8->setFont(u8x8_font_chroma48medium8_r); - u8x8->draw2x2String(col, row, string); - } - void drawGlyph(uint8_t col, uint8_t row, char glyph, const uint8_t *font, bool ignoreLH=false) { - if (type == NONE || !enabled) return; - u8x8->setFont(font); - if (!ignoreLH && lineHeight==2) u8x8->draw1x2Glyph(col, row, glyph); - else u8x8->drawGlyph(col, row, glyph); - } - uint8_t getCols() { - if (type==NONE || !enabled) return 0; - return u8x8->getCols(); - } - void clear() { - if (type == NONE || !enabled) return; - u8x8->clear(); - } - void setPowerSave(uint8_t save) { - if (type == NONE || !enabled) return; - u8x8->setPowerSave(save); - } - - void center(String &line, uint8_t width) { - int len = line.length(); - if (len0; i--) line = ' ' + line; - for (byte i=line.length(); i 0) { - if (now >= overlayUntil) { - // Time to display the overlay has elapsed. - overlayUntil = 0; - forceRedraw = true; - } else { - // We are still displaying the overlay - // Don't redraw. - return; - } - } - - // Check if values which are shown on display changed from the last time. - if (forceRedraw || - (((apActive) ? String(apSSID) : WiFi.SSID()) != knownSsid) || - (knownIp != (apActive ? IPAddress(4, 3, 2, 1) : Network.localIP())) || - (knownBrightness != bri) || - (knownEffectSpeed != effectSpeed) || - (knownEffectIntensity != effectIntensity) || - (knownMode != strip.getMainSegment().mode) || - (knownPalette != strip.getMainSegment().palette)) { - knownHour = 99; // force time update - lastRedraw = now; // update lastRedraw marker - } else if (sleepMode && !displayTurnedOff && ((now - lastRedraw)/1000)%5 == 0) { - // change line every 5s - showName = !showName; - switch (lineType) { - case FLD_LINE_BRIGHTNESS: - lineType = FLD_LINE_EFFECT_SPEED; - break; - case FLD_LINE_MODE: - lineType = FLD_LINE_BRIGHTNESS; - break; - case FLD_LINE_PALETTE: - lineType = clockMode ? FLD_LINE_MODE : FLD_LINE_BRIGHTNESS; - break; - case FLD_LINE_EFFECT_SPEED: - lineType = FLD_LINE_EFFECT_INTENSITY; - break; - case FLD_LINE_EFFECT_INTENSITY: - lineType = FLD_LINE_PALETTE; - break; - default: - lineType = FLD_LINE_MODE; - break; - } - knownHour = 99; // force time update - // do not update lastRedraw marker if just switching row contenet - } else { - // Nothing to change. - // Turn off display after 3 minutes with no change. - if(sleepMode && !displayTurnedOff && (millis() - lastRedraw > screenTimeout)) { - // We will still check if there is a change in redraw() - // and turn it back on if it changed. - sleepOrClock(true); - } else if (displayTurnedOff && clockMode) { - showTime(); - } - return; - } - - // Turn the display back on - if (displayTurnedOff) sleepOrClock(false); - - // Update last known values. - knownSsid = apActive ? WiFi.softAPSSID() : WiFi.SSID(); - knownIp = apActive ? IPAddress(4, 3, 2, 1) : Network.localIP(); - knownBrightness = bri; - knownMode = strip.getMainSegment().mode; - knownPalette = strip.getMainSegment().palette; - knownEffectSpeed = effectSpeed; - knownEffectIntensity = effectIntensity; - - // Do the actual drawing - String line; - // First row with Wifi name - drawGlyph(0, 0, 80, u8x8_font_open_iconic_embedded_1x1); // home icon - line = knownSsid.substring(0, getCols() > 1 ? getCols() - 2 : 0); - center(line, getCols()-2); - drawString(1, 0, line.c_str()); - // Print `~` char to indicate that SSID is longer, than our display - if (knownSsid.length() > (int)getCols()-1) { - drawString(getCols() - 1, 0, "~"); - } - - // Second row with IP or Psssword - drawGlyph(0, lineHeight, 68, u8x8_font_open_iconic_embedded_1x1); // wifi icon - // Print password in AP mode and if led is OFF. - if (apActive && bri == 0) { - drawString(1, lineHeight, apPass); - } else { - // alternate IP address and server name - line = knownIp.toString(); - if (showName && strcmp(serverDescription, "WLED") != 0) { - line = serverDescription; - } - center(line, getCols()-1); - drawString(1, lineHeight, line.c_str()); - } - - // draw third and fourth row - drawLine(2, clockMode ? lineType : FLD_LINE_MODE); - drawLine(3, clockMode ? FLD_LINE_TIME : lineType); - - drawGlyph(0, 2*lineHeight, 66 + (bri > 0 ? 3 : 0), u8x8_font_open_iconic_weather_2x2); // sun/moon icon - //if (markLineNum>1) drawGlyph(2, markLineNum*lineHeight, 66, u8x8_font_open_iconic_arrow_1x1); // arrow icon - } - - void drawLine(uint8_t line, Line4Type lineType) { - char lineBuffer[LINE_BUFFER_SIZE]; - uint8_t printedChars; - switch(lineType) { - case FLD_LINE_BRIGHTNESS: - sprintf_P(lineBuffer, PSTR("Brightness %3d"), bri); - drawString(2, line*lineHeight, lineBuffer); - break; - case FLD_LINE_EFFECT_SPEED: - sprintf_P(lineBuffer, PSTR("FX Speed %3d"), effectSpeed); - drawString(2, line*lineHeight, lineBuffer); - break; - case FLD_LINE_EFFECT_INTENSITY: - sprintf_P(lineBuffer, PSTR("FX Intens. %3d"), effectIntensity); - drawString(2, line*lineHeight, lineBuffer); - break; - case FLD_LINE_MODE: - printedChars = extractModeName(knownMode, JSON_mode_names, lineBuffer, LINE_BUFFER_SIZE-1); - for (;printedChars < getCols()-2 && printedChars < LINE_BUFFER_SIZE-3; printedChars++) lineBuffer[printedChars]=' '; - lineBuffer[printedChars] = 0; - drawString(2, line*lineHeight, lineBuffer); - break; - case FLD_LINE_PALETTE: - printedChars = extractModeName(knownPalette, JSON_palette_names, lineBuffer, LINE_BUFFER_SIZE-1); - for (;printedChars < getCols()-2 && printedChars < LINE_BUFFER_SIZE-3; printedChars++) lineBuffer[printedChars]=' '; - lineBuffer[printedChars] = 0; - drawString(2, line*lineHeight, lineBuffer); - break; - case FLD_LINE_TIME: - default: - showTime(false); - break; - } - } - - /** - * If there screen is off or in clock is displayed, - * this will return true. This allows us to throw away - * the first input from the rotary encoder but - * to wake up the screen. - */ - bool wakeDisplay() { - if (type == NONE || !enabled) return false; - knownHour = 99; - if (displayTurnedOff) { - // Turn the display back on - sleepOrClock(false); - redraw(true); - return true; - } - return false; - } - - /** - * Allows you to show up to two lines as overlay for a - * period of time. - * Clears the screen and prints on the middle two lines. - */ - void overlay(const char* line1, const char *line2, long showHowLong) { - if (type == NONE || !enabled) return; - - if (displayTurnedOff) { - // Turn the display back on (includes clear()) - sleepOrClock(false); - } else { - clear(); - } - - // Print the overlay - if (line1) { - String buf = line1; - center(buf, getCols()); - drawString(0, 1*lineHeight, buf.c_str()); - } - if (line2) { - String buf = line2; - center(buf, getCols()); - drawString(0, 2*lineHeight, buf.c_str()); - } - overlayUntil = millis() + showHowLong; - } - - void setLineType(byte lT) { - lineType = (Line4Type) lT; - } - - /** - * Line 3 or 4 (last two lines) can be marked with an - * arrow in the first column. Pass 2 or 3 to this to - * specify which line to mark with an arrow. - * Any other values are ignored. - */ - void setMarkLine(byte newMarkLineNum) { - if (newMarkLineNum == 2 || newMarkLineNum == 3) { - markLineNum = newMarkLineNum; - } - else { - markLineNum = 0; - } - } - - /** - * Enable sleep (turn the display off) or clock mode. - */ - void sleepOrClock(bool enabled) { - clear(); - if (enabled) { - if (clockMode) showTime(); - else setPowerSave(1); - displayTurnedOff = true; - } else { - setPowerSave(0); - displayTurnedOff = false; - } - } - - /** - * Display the current date and time in large characters - * on the middle rows. Based 24 or 12 hour depending on - * the useAMPM configuration. - */ - void showTime(bool fullScreen = true) { - if (type == NONE || !enabled) return; - char lineBuffer[LINE_BUFFER_SIZE]; - - updateLocalTime(); - byte minuteCurrent = minute(localTime); - byte hourCurrent = hour(localTime); - byte secondCurrent = second(localTime); - if (knownMinute == minuteCurrent && knownHour == hourCurrent) { - // Time hasn't changed. - if (!fullScreen) return; - } - knownMinute = minuteCurrent; - knownHour = hourCurrent; - - byte currentMonth = month(localTime); - sprintf_P(lineBuffer, PSTR("%s %2d "), monthShortStr(currentMonth), day(localTime)); - if (fullScreen) - draw2x2String(DATE_INDENT, lineHeight==1 ? 0 : lineHeight, lineBuffer); // adjust for 8 line displays - else - drawString(2, lineHeight*3, lineBuffer); - - byte showHour = hourCurrent; - boolean isAM = false; - if (useAMPM) { - if (showHour == 0) { - showHour = 12; - isAM = true; - } - else if (showHour > 12) { - showHour -= 12; - isAM = false; - } - else { - isAM = true; - } - } - - sprintf_P(lineBuffer, (secondCurrent%2 || !fullScreen) ? PSTR("%2d:%02d") : PSTR("%2d %02d"), (useAMPM ? showHour : hourCurrent), minuteCurrent); - // For time, we always use LINE_HEIGHT of 2 since - // we are printing it big. - if (fullScreen) { - draw2x2String(TIME_INDENT+2, lineHeight*2, lineBuffer); - sprintf_P(lineBuffer, PSTR("%02d"), secondCurrent); - if (useAMPM) drawString(12+(fullScreen?0:2), lineHeight*2, (isAM ? "AM" : "PM"), true); - else drawString(12, lineHeight*2+1, lineBuffer, true); // even with double sized rows print seconds in 1 line - } else { - drawString(9+(useAMPM?0:2), lineHeight*3, lineBuffer); - if (useAMPM) drawString(12+(fullScreen?0:2), lineHeight*3, (isAM ? "AM" : "PM"), true); - } - } - - /* - * addToJsonInfo() can be used to add custom entries to the /json/info part of the JSON API. - * Creating an "u" object allows you to add custom key/value pairs to the Info section of the WLED web UI. - * Below it is shown how this could be used for e.g. a light sensor - */ - //void addToJsonInfo(JsonObject& root) { - //JsonObject user = root["u"]; - //if (user.isNull()) user = root.createNestedObject("u"); - //JsonArray data = user.createNestedArray(F("4LineDisplay")); - //data.add(F("Loaded.")); - //} - - /* - * addToJsonState() can be used to add custom entries to the /json/state part of the JSON API (state object). - * Values in the state object may be modified by connected clients - */ - //void addToJsonState(JsonObject& root) { - //} - - /* - * readFromJsonState() can be used to receive data clients send to the /json/state part of the JSON API (state object). - * Values in the state object may be modified by connected clients - */ - //void readFromJsonState(JsonObject& root) { - // if (!initDone) return; // prevent crash on boot applyPreset() - //} - - /* - * addToConfig() can be used to add custom persistent settings to the cfg.json file in the "um" (usermod) object. - * It will be called by WLED when settings are actually saved (for example, LED settings are saved) - * If you want to force saving the current state, use serializeConfig() in your loop(). - * - * CAUTION: serializeConfig() will initiate a filesystem write operation. - * It might cause the LEDs to stutter and will cause flash wear if called too often. - * Use it sparingly and always in the loop, never in network callbacks! - * - * addToConfig() will also not yet add your setting to one of the settings pages automatically. - * To make that work you still have to add the setting to the HTML, xml.cpp and set.cpp manually. - * - * I highly recommend checking out the basics of ArduinoJson serialization and deserialization in order to use custom settings! - */ - void addToConfig(JsonObject& root) { - JsonObject top = root.createNestedObject(FPSTR(_name)); - top[FPSTR(_enabled)] = enabled; - JsonArray io_pin = top.createNestedArray("pin"); - #warning WLEDMM: this causes global pin hijacking - for (byte i=0; i<5; i++) io_pin.add(ioPin[i]); - top["help4Pins"] = F("Clk,Data,CS,DC,RST"); // help for Settings page - top["type"] = type; - top["help4Type"] = F("1=SSD1306,2=SH1106,3=SSD1306_128x64,4=SSD1305,5=SSD1305_128x64,6=SSD1306_SPI,7=SSD1306_SPI_128x64"); // help for Settings page - top[FPSTR(_flip)] = (bool) flip; - top[FPSTR(_contrast)] = contrast; - top[FPSTR(_refreshRate)] = refreshRate/1000; - top[FPSTR(_screenTimeOut)] = screenTimeout/1000; - top[FPSTR(_sleepMode)] = (bool) sleepMode; - top[FPSTR(_clockMode)] = (bool) clockMode; - top[FPSTR(_busClkFrequency)] = ioFrequency/1000; - DEBUG_PRINTLN(F("4 Line Display config saved.")); - } - - /* - * readFromConfig() can be used to read back the custom settings you added with addToConfig(). - * This is called by WLED when settings are loaded (currently this only happens once immediately after boot) - * - * readFromConfig() is called BEFORE setup(). This means you can use your persistent values in setup() (e.g. pin assignments, buffer sizes), - * but also that if you want to write persistent values to a dynamic buffer, you'd need to allocate it here instead of in setup. - * If you don't know what that is, don't fret. It most likely doesn't affect your use case :) - */ - bool readFromConfig(JsonObject& root) { - bool needsRedraw = false; - DisplayType newType = type; - int8_t newPin[5]; for (byte i=0; i<5; i++) newPin[i] = ioPin[i]; - - JsonObject top = root[FPSTR(_name)]; - if (top.isNull()) { - DEBUG_PRINT(FPSTR(_name)); - DEBUG_PRINTLN(F(": No config found. (Using defaults.)")); - return false; - } - - enabled = top[FPSTR(_enabled)] | enabled; - newType = top["type"] | newType; - for (byte i=0; i<5; i++) newPin[i] = top["pin"][i] | ioPin[i]; - flip = top[FPSTR(_flip)] | flip; - contrast = top[FPSTR(_contrast)] | contrast; - refreshRate = (top[FPSTR(_refreshRate)] | refreshRate/1000) * 1000; - screenTimeout = (top[FPSTR(_screenTimeOut)] | screenTimeout/1000) * 1000; - sleepMode = top[FPSTR(_sleepMode)] | sleepMode; - clockMode = top[FPSTR(_clockMode)] | clockMode; - if (newType == SSD1306_SPI || newType == SSD1306_SPI64) - ioFrequency = min(20000, max(500, (int)(top[FPSTR(_busClkFrequency)] | ioFrequency/1000))) * 1000; // limit frequency - else - ioFrequency = min(3400, max(100, (int)(top[FPSTR(_busClkFrequency)] | ioFrequency/1000))) * 1000; // limit frequency - - DEBUG_PRINT(FPSTR(_name)); - if (!initDone) { - // first run: reading from cfg.json - for (byte i=0; i<5; i++) ioPin[i] = newPin[i]; - type = newType; - DEBUG_PRINTLN(F(" config loaded.")); - } else { - DEBUG_PRINTLN(F(" config (re)loaded.")); - // changing parameters from settings page - bool pinsChanged = false; - for (byte i=0; i<5; i++) if (ioPin[i] != newPin[i]) { pinsChanged = true; break; } - if (pinsChanged || type!=newType) { - if (type != NONE) delete u8x8; - PinOwner po = PinOwner::UM_FourLineDisplay; - bool isSPI = (type == SSD1306_SPI || type == SSD1306_SPI64); - if (isSPI) { - if (ioPin[0]==spi_sclk && ioPin[1]==spi_mosi) po = PinOwner::HW_SPI; // allow multiple allocations of HW SPI bus pins - pinManager.deallocateMultiplePins((const uint8_t *)ioPin, 5, po); - } else { - if (ioPin[0]==i2c_scl && ioPin[1]==i2c_sda) po = PinOwner::HW_I2C; // allow multiple allocations of HW I2C bus pins - pinManager.deallocateMultiplePins((const uint8_t *)ioPin, 2, po); - } - for (byte i=0; i<5; i++) ioPin[i] = newPin[i]; - if (ioPin[0]<0 || ioPin[1]<0) { // data & clock must be > -1 - type = NONE; - return true; - } else type = newType; - setup(); - needsRedraw |= true; - } - if (!(type == SSD1306_SPI || type == SSD1306_SPI64)) u8x8->setBusClock(ioFrequency); // can be used for SPI too - setContrast(contrast); - setFlipMode(flip); - if (needsRedraw && !wakeDisplay()) redraw(true); - } - // use "return !top["newestParameter"].isNull();" when updating Usermod with new features - return !top[FPSTR(_enabled)].isNull(); - } - - /* - * getId() allows you to optionally give your V2 usermod an unique ID (please define it in const.h!). - * This could be used in the future for the system to determine whether your usermod is installed. - */ - uint16_t getId() { - return USERMOD_ID_FOUR_LINE_DISP; - } -}; - -// strings to reduce flash memory usage (used more than twice) -const char FourLineDisplayUsermod::_name[] PROGMEM = "4LineDisplay"; -const char FourLineDisplayUsermod::_enabled[] PROGMEM = "enabled"; -const char FourLineDisplayUsermod::_contrast[] PROGMEM = "contrast"; -const char FourLineDisplayUsermod::_refreshRate[] PROGMEM = "refreshRateSec"; -const char FourLineDisplayUsermod::_screenTimeOut[] PROGMEM = "screenTimeOutSec"; -const char FourLineDisplayUsermod::_flip[] PROGMEM = "flip"; -const char FourLineDisplayUsermod::_sleepMode[] PROGMEM = "sleepMode"; -const char FourLineDisplayUsermod::_clockMode[] PROGMEM = "clockMode"; -const char FourLineDisplayUsermod::_busClkFrequency[] PROGMEM = "i2c-freq-kHz"; diff --git a/usermods/usermod_v2_four_line_display_ALT/usermod_v2_four_line_display_ALT.h b/usermods/usermod_v2_four_line_display_ALT/usermod_v2_four_line_display_ALT.h index fc037a49..cc6d7b29 100644 --- a/usermods/usermod_v2_four_line_display_ALT/usermod_v2_four_line_display_ALT.h +++ b/usermods/usermod_v2_four_line_display_ALT/usermod_v2_four_line_display_ALT.h @@ -11,7 +11,7 @@ #include "4LD_wled_fonts.c" #ifndef FLD_ESP32_NO_THREADS -#define FLD_ESP32_USE_THREADS // comment out to use 0.13.x behaviour without parallel update task - slower, but more robust. May delay other tasks like LEDs or audioreactive!! + #define FLD_ESP32_USE_THREADS // comment out to use 0.13.x behaviour without parallel update task - slower, but more robust. May delay other tasks like LEDs or audioreactive!! #endif //#define OLD_4LD_FONTS // comment out if you prefer the "classic" look with blocky fonts (saves 1K flash) @@ -671,7 +671,7 @@ void FourLineDisplayUsermod::setup() { } // start SPI now! #ifdef ARDUINO_ARCH_ESP32 - if (isHW) SPI.begin(spi_sclk, spi_miso, spi_mosi); // ESP32 - will silently fail if SPI alread active. + if (isHW) SPI.begin(spi_sclk, spi_miso, spi_mosi); // ESP32 - will silently fail if SPI already active. #else if (isHW) SPI.begin(); // ESP8266 - SPI pins are fixed #endif @@ -1339,7 +1339,7 @@ void FourLineDisplayUsermod::sleepOrClock(bool sleepEnable) { bool FourLineDisplayUsermod::handleButton(uint8_t b) { yield(); if (!enabled - || b // butto 0 only + || b // button 0 only || buttonType[b] == BTN_TYPE_SWITCH || buttonType[b] == BTN_TYPE_NONE || buttonType[b] == BTN_TYPE_RESERVED diff --git a/usermods/usermod_v2_klipper_percentage/readme.md b/usermods/usermod_v2_klipper_percentage/readme.md index 0619bf85..e967d6b2 100644 --- a/usermods/usermod_v2_klipper_percentage/readme.md +++ b/usermods/usermod_v2_klipper_percentage/readme.md @@ -10,7 +10,7 @@ curl --location --request GET 'http://[]/printer/objects/query?virtual_sdcard=pr ## Usage Compile the source with the buildflag `-D USERMOD_KLIPPER_PERCENTAGE` added. -You can also use the WLBD bot in the Discord by simply extending an exsisting build enviroment: +You can also use the WLBD bot in the Discord by simply extending an existing build environment: ``` [env:esp32klipper] extends = env:esp32dev @@ -23,7 +23,7 @@ build_flags = ${common.build_flags_esp32} -D USERMOD_KLIPPER_PERCENTAGE Checkbox to enable or disable the overlay ### Klipper IP: -IP adress of your Klipper instance you want to poll. ESP has to be restarted after change +IP address of your Klipper instance you want to poll. ESP has to be restarted after change ### Direction : 0 = normal diff --git a/usermods/usermod_v2_klipper_percentage/usermod_v2_klipper_percentage.h b/usermods/usermod_v2_klipper_percentage/usermod_v2_klipper_percentage.h index 0e19cc80..2f591b15 100644 --- a/usermods/usermod_v2_klipper_percentage/usermod_v2_klipper_percentage.h +++ b/usermods/usermod_v2_klipper_percentage/usermod_v2_klipper_percentage.h @@ -79,7 +79,7 @@ public: httpGet(wifiClient, errorMessage); if (strcmp(errorMessage, "") == 0) { - PSRAMDynamicJsonDocument klipperDoc(4096); // in practive about 2673 + PSRAMDynamicJsonDocument klipperDoc(4096); // in practice about 2673 DeserializationError error = deserializeJson(klipperDoc, wifiClient); if (error) { diff --git a/usermods/usermod_v2_mode_sort/readme.md b/usermods/usermod_v2_mode_sort/readme.md deleted file mode 100644 index c24322f3..00000000 --- a/usermods/usermod_v2_mode_sort/readme.md +++ /dev/null @@ -1,33 +0,0 @@ -# Mode Sort - -v2 usermod that provides data about modes and -palettes to other usermods. Notably it provides: -* A direct method for a mode or palette name -* Ability to retrieve mode and palette names in - alphabetical order - -```char **getModesQStrings()``` - -Provides a char* array (pointers) to the names of the -palettes contained in JSON_mode_names, in the same order as -JSON_mode_names. These strings end in double quote (") -(or \0 if there is a problem). - -```byte *getModesAlphaIndexes()``` - -A byte array designating the indexes of names of the -modes in alphabetical order. "Solid" will always remain -at the top of the list. - -```char **getPalettesQStrings()``` - -Provides a char* array (pointers) to the names of the -palettes contained in JSON_palette_names, in the same order as -JSON_palette_names. These strings end in double quote (") -(or \0 if there is a problem). - -```byte *getPalettesAlphaIndexes()``` - -A byte array designating the indexes of names of the -palettes in alphabetical order. "Default" and those -starting with "(" will always remain at the top of the list. diff --git a/usermods/usermod_v2_mode_sort/usermod_v2_mode_sort.h b/usermods/usermod_v2_mode_sort/usermod_v2_mode_sort.h deleted file mode 100644 index 092206bb..00000000 --- a/usermods/usermod_v2_mode_sort/usermod_v2_mode_sort.h +++ /dev/null @@ -1,244 +0,0 @@ -#pragma once - -#include "wled.h" - -// -// v2 usermod that provides data about modes and -// palettes to other usermods. Notably it provides: -// * A direct method for a mode or palette name -// * Ability to retrieve mode and palette names in -// alphabetical order -// -// char **getModesQStrings() -// Provides an array of char* (pointers) to the names of the -// palettes within JSON_mode_names, in the same order as -// JSON_mode_names. These strings end in double quote (") -// (or \0 if there is a problem). -// -// byte *getModesAlphaIndexes() -// An array of byte designating the indexes of names of the -// modes in alphabetical order. "Solid" will always remain -// at the front of the list. -// -// char **getPalettesQStrings() -// Provides an array of char* (pointers) to the names of the -// palettes within JSON_palette_names, in the same order as -// JSON_palette_names. These strings end in double quote (") -// (or \0 if there is a problem). -// -// byte *getPalettesAlphaIndexes() -// An array of byte designating the indexes of names of the -// palettes in alphabetical order. "Default" and those -// starting with "(" will always remain at the front of the list. -// - -// Number of modes at the start of the list to not sort -#define MODE_SORT_SKIP_COUNT 1 - -// Which list is being sorted -char **listBeingSorted = nullptr; - -/** - * Modes and palettes are stored as strings that - * end in a quote character. Compare two of them. - * We are comparing directly within either - * JSON_mode_names or JSON_palette_names. - */ -int re_qstringCmp(const void *ap, const void *bp) { - char *a = listBeingSorted[*((byte *)ap)]; - char *b = listBeingSorted[*((byte *)bp)]; - int i = 0; - do { - char aVal = pgm_read_byte_near(a + i); - if (aVal >= 97 && aVal <= 122) { - // Lowercase - aVal -= 32; - } - char bVal = pgm_read_byte_near(b + i); - if (bVal >= 97 && bVal <= 122) { - // Lowercase - bVal -= 32; - } - // Relly we shouldn't ever get to '\0' - if (aVal == '"' || bVal == '"' || aVal == '\0' || bVal == '\0') { - // We're done. one is a substring of the other - // or something happenend and the quote didn't stop us. - if (aVal == bVal) { - // Same value, probably shouldn't happen - // with this dataset - return 0; - } - else if (aVal == '"' || aVal == '\0') { - return -1; - } - else { - return 1; - } - } - if (aVal == bVal) { - // Same characters. Move to the next. - i++; - continue; - } - // We're done - if (aVal < bVal) { - return -1; - } - else { - return 1; - } - } while (true); - // We shouldn't get here. - return 0; -} - -class ModeSortUsermod : public Usermod { -private: - - // Pointers the start of the mode names within JSON_mode_names - char **modes_qstrings = nullptr; - - // Array of mode indexes in alphabetical order. - byte *modes_alpha_indexes = nullptr; - - // Pointers the start of the palette names within JSON_palette_names - char **palettes_qstrings = nullptr; - - // Array of palette indexes in alphabetical order. - byte *palettes_alpha_indexes = nullptr; - -public: - /** - * setup() is called once at boot. WiFi is not yet connected at this point. - * You can use it to initialize variables, sensors or similar. - */ - void setup() { - // Sort the modes and palettes on startup - // as they are guarantted to change. - sortModesAndPalettes(); - } - - char **getModesQStrings() { - return modes_qstrings; - } - - byte *getModesAlphaIndexes() { - return modes_alpha_indexes; - } - - char **getPalettesQStrings() { - return palettes_qstrings; - } - - byte *getPalettesAlphaIndexes() { - return palettes_alpha_indexes; - } - - /** - * This Usermod doesn't have anything for loop. - */ - void loop() {} - - /** - * Sort the modes and palettes to the index arrays - * modes_alpha_indexes and palettes_alpha_indexes. - */ - void sortModesAndPalettes() { - modes_qstrings = re_findModeStrings(JSON_mode_names, strip.getModeCount()); - modes_alpha_indexes = re_initIndexArray(strip.getModeCount()); - re_sortModes(modes_qstrings, modes_alpha_indexes, strip.getModeCount(), MODE_SORT_SKIP_COUNT); - - palettes_qstrings = re_findModeStrings(JSON_palette_names, strip.getPaletteCount()); - palettes_alpha_indexes = re_initIndexArray(strip.getPaletteCount()); - - int skipPaletteCount = 1; - while (true) { - // How many palette names start with '*' and should not be sorted? - // (Also skipping the first one, 'Default'). - if (pgm_read_byte_near(palettes_qstrings[skipPaletteCount]) == '*') { - skipPaletteCount++; - } - else { - break; - } - } - re_sortModes(palettes_qstrings, palettes_alpha_indexes, strip.getPaletteCount(), skipPaletteCount); - } - - byte *re_initIndexArray(int numModes) { - byte *indexes = (byte *)malloc(sizeof(byte) * numModes); - for (byte i = 0; i < numModes; i++) { - indexes[i] = i; - } - return indexes; - } - - /** - * Return an array of mode or palette names from the JSON string. - * They don't end in '\0', they end in '"'. - */ - char **re_findModeStrings(const char json[], int numModes) { - char **modeStrings = (char **)malloc(sizeof(char *) * numModes); - uint8_t modeIndex = 0; - bool insideQuotes = false; - // advance past the mark for markLineNum that may exist. - char singleJsonSymbol; - - // Find the mode name in JSON - bool complete = false; - for (size_t i = 0; i < strlen_P(json); i++) { - singleJsonSymbol = pgm_read_byte_near(json + i); - if (singleJsonSymbol == '\0') break; - switch (singleJsonSymbol) { - case '"': - insideQuotes = !insideQuotes; - if (insideQuotes) { - // We have a new mode or palette - modeStrings[modeIndex] = (char *)(json + i + 1); - } - break; - case '[': - break; - case ']': - if (!insideQuotes) complete = true; - break; - case ',': - if (!insideQuotes) modeIndex++; - default: - if (!insideQuotes) break; - } - if (complete) break; - } - return modeStrings; - } - - /** - * Sort either the modes or the palettes using quicksort. - */ - void re_sortModes(char **modeNames, byte *indexes, int count, int numSkip) { - listBeingSorted = modeNames; - qsort(indexes + numSkip, count - numSkip, sizeof(byte), re_qstringCmp); - listBeingSorted = nullptr; - } - - /* - * addToJsonState() can be used to add custom entries to the /json/state part of the JSON API (state object). - * Values in the state object may be modified by connected clients - */ - void addToJsonState(JsonObject &root) {} - - /* - * readFromJsonState() can be used to receive data clients send to the /json/state part of the JSON API (state object). - * Values in the state object may be modified by connected clients - */ - void readFromJsonState(JsonObject &root) {} - - /* - * getId() allows you to optionally give your V2 usermod an unique ID (please define it in const.h!). - * This could be used in the future for the system to determine whether your usermod is installed. - */ - uint16_t getId() - { - return USERMOD_ID_MODE_SORT; - } -}; diff --git a/usermods/usermod_v2_ping_pong_clock/readme.md b/usermods/usermod_v2_ping_pong_clock/readme.md index 9f01b3eb..f8219489 100644 --- a/usermods/usermod_v2_ping_pong_clock/readme.md +++ b/usermods/usermod_v2_ping_pong_clock/readme.md @@ -7,4 +7,4 @@ Contains a modification to use WLED in combination with the Ping Pong Ball LED C To install this Usermod, you instruct PlatformIO to compile the Project with the USERMOD_PING_PONG_CLOCK flag. WLED then automatically provides you with various settings on the Usermod Page. -Note: Depending on the size of your clock, you may have to update the led indices for the indivdual numbers and the base indices. +Note: Depending on the size of your clock, you may have to update the led indices for the individual numbers and the base indices. diff --git a/usermods/usermod_v2_ping_pong_clock/usermod_v2_ping_pong_clock.h b/usermods/usermod_v2_ping_pong_clock/usermod_v2_ping_pong_clock.h index a690c1b1..40ff675c 100644 --- a/usermods/usermod_v2_ping_pong_clock/usermod_v2_ping_pong_clock.h +++ b/usermods/usermod_v2_ping_pong_clock/usermod_v2_ping_pong_clock.h @@ -18,15 +18,15 @@ private: // ---- Variables for correct LED numbering below, edit only if your clock is built different ---- - int baseH = 43; // Adress for the one place of the hours - int baseHH = 7; // Adress for the tens place of the hours - int baseM = 133; // Adress for the one place of the minutes - int baseMM = 97; // Adress for the tens place of the minutes - int colon1 = 79; // Adress for the first colon led - int colon2 = 80; // Adress for the second colon led + int baseH = 43; // Address for the one place of the hours + int baseHH = 7; // Address for the tens place of the hours + int baseM = 133; // Address for the one place of the minutes + int baseMM = 97; // Address for the tens place of the minutes + int colon1 = 79; // Address for the first colon led + int colon2 = 80; // Address for the second colon led // Matrix for the illumination of the numbers - // Note: These only define the increments of the base adress. e.g. to define the second Minute you have to add the baseMM to every led position + // Note: These only define the increments of the base address. e.g. to define the second Minute you have to add the baseMM to every led position const int numbers[10][10] = { { 0, 1, 4, 6, 13, 15, 18, 19, -1, -1 }, // 0: null diff --git a/usermods/usermod_v2_rotary_encoder_ui/platformio_override.ini.sample b/usermods/usermod_v2_rotary_encoder_ui/platformio_override.ini.sample deleted file mode 100644 index 4b537a8f..00000000 --- a/usermods/usermod_v2_rotary_encoder_ui/platformio_override.ini.sample +++ /dev/null @@ -1,48 +0,0 @@ -[platformio] -default_envs = d1_mini -; default_envs = esp32dev - -[env:esp32dev] -board = esp32dev -platform = espressif32@3.2 -build_unflags = ${common.build_unflags} -build_flags = - ${common.build_flags_esp32} - -D USERMOD_MODE_SORT - -D USERMOD_FOUR_LINE_DISPLAY -D FLD_PIN_SCL=22 -D FLD_PIN_SDA=21 - -D USERMOD_ROTARY_ENCODER_UI -D ENCODER_DT_PIN=18 -D ENCODER_CLK_PIN=5 -D ENCODER_SW_PIN=19 - -D USERMOD_AUTO_SAVE -D AUTOSAVE_PRESET_NUM=1 - -D LEDPIN=16 -D BTNPIN=13 -upload_speed = 460800 -lib_ignore = - ESPAsyncTCP - ESPAsyncUDP - -[env:d1_mini] -board = d1_mini -platform = ${common.platform_wled_default} -platform_packages = ${common.platform_packages} -upload_speed = 460800 -board_build.ldscript = ${common.ldscript_4m1m} -build_unflags = ${common.build_unflags} -build_flags = - ${common.build_flags_esp8266} - -D USERMOD_MODE_SORT - -D USERMOD_FOUR_LINE_DISPLAY -D FLD_PIN_SCL=5 -D FLD_PIN_SDA=4 - -D USERMOD_ROTARY_ENCODER_UI -D ENCODER_DT_PIN=12 -D ENCODER_CLK_PIN=14 -D ENCODER_SW_PIN=13 - -D USERMOD_AUTO_SAVE -D AUTOSAVE_PRESET_NUM=1 - -D LEDPIN=3 -D BTNPIN=0 -monitor_filters = esp8266_exception_decoder - -[env] -lib_deps = - fastled/FastLED @ 3.3.2 - NeoPixelBus @ 2.6.0 - ESPAsyncTCP @ 1.2.0 - ESPAsyncUDP - AsyncTCP @ 1.0.3 - IRremoteESP8266 @ 2.7.3 - https://github.com/lorol/LITTLEFS.git - https://github.com/Aircoookie/ESPAsyncWebServer.git @ ~2.0.0 - U8g2@~2.27.2 - Wire diff --git a/usermods/usermod_v2_rotary_encoder_ui/readme.md b/usermods/usermod_v2_rotary_encoder_ui/readme.md deleted file mode 100644 index 5e4f3cff..00000000 --- a/usermods/usermod_v2_rotary_encoder_ui/readme.md +++ /dev/null @@ -1,39 +0,0 @@ -# Rotary Encoder UI Usermod - -First, thanks to the authors of other Rotary Encoder usermods. - -This usermod starts to provide a relatively complete on-device -UI when paired with the Four Line Display usermod. I strongly -encourage you to try them together. - -[See the pair of usermods in action](https://www.youtube.com/watch?v=tITQY80rIOA) - -## Installation - -Copy and update the example `platformio_override.ini.sample` to the root directory of your particular build. -This file should be placed in the same directory as `platformio.ini`. - -### Define Your Options - -* `USERMOD_ROTARY_ENCODER_UI` - define this to have this user mod included wled00\usermods_list.cpp -* `USERMOD_ROTARY_ENCODER_GPIO` - define the GPIO function (INPUT, INPUT_PULLUP, etc...) -* `USERMOD_FOUR_LINE_DISPLAY` - define this to have this the Four Line Display mod included wled00\usermods_list.cpp - also tells this usermod that the display is available - (see the Four Line Display usermod `readme.md` for more details) -* `ENCODER_DT_PIN`   - defaults to 12 -* `ENCODER_CLK_PIN` - defaults to 14 -* `ENCODER_SW_PIN`   - defaults to 13 -* `USERMOD_ROTARY_ENCODER_GPIO` - GPIO functionality: - `INPUT_PULLUP` to use internal pull-up - `INPUT` to use pull-up on the PCB - -### PlatformIO requirements - -No special requirements. - -Note: the Four Line Display usermod requires the libraries `U8g2` and `Wire`. - -## Change Log - -2021-02 -* First public release diff --git a/usermods/usermod_v2_rotary_encoder_ui/usermod_v2_rotary_encoder_ui.h b/usermods/usermod_v2_rotary_encoder_ui/usermod_v2_rotary_encoder_ui.h deleted file mode 100644 index 1e85c518..00000000 --- a/usermods/usermod_v2_rotary_encoder_ui/usermod_v2_rotary_encoder_ui.h +++ /dev/null @@ -1,503 +0,0 @@ -#pragma once - -#include "wled.h" - -// -// Inspired by the v1 usermods -// * rotary_encoder_change_brightness -// * rotary_encoder_change_effect -// -// v2 usermod that provides a rotary encoder-based UI. -// -// This usermod allows you to control: -// -// * Brightness -// * Selected Effect -// * Effect Speed -// * Effect Intensity -// * Palette -// -// Change between modes by pressing a button. -// -// Dependencies -// * This usermod REQURES the ModeSortUsermod -// * This Usermod works best coupled with -// FourLineDisplayUsermod. -// - -#ifndef ENCODER_DT_PIN -#define ENCODER_DT_PIN 12 -#endif - -#ifndef ENCODER_CLK_PIN -#define ENCODER_CLK_PIN 14 -#endif - -#ifndef ENCODER_SW_PIN -#define ENCODER_SW_PIN 13 -#endif - -#ifndef USERMOD_FOUR_LINE_DISPLAY -// These constants won't be defined if we aren't using FourLineDisplay. -#define FLD_LINE_BRIGHTNESS 0 -#define FLD_LINE_MODE 0 -#define FLD_LINE_EFFECT_SPEED 0 -#define FLD_LINE_EFFECT_INTENSITY 0 -#define FLD_LINE_PALETTE 0 -#endif - - -// The last UI state -#define LAST_UI_STATE 4 - - -class RotaryEncoderUIUsermod : public Usermod { -private: - int fadeAmount = 10; // Amount to change every step (brightness) - unsigned long currentTime = 0; - unsigned long loopTime = 0; - int8_t pinA = ENCODER_DT_PIN; // DT from encoder - int8_t pinB = ENCODER_CLK_PIN; // CLK from encoder - int8_t pinC = ENCODER_SW_PIN; // SW from encoder - unsigned char select_state = 0; // 0: brightness, 1: effect, 2: effect speed - unsigned char button_state = HIGH; - unsigned char prev_button_state = HIGH; - -#ifdef USERMOD_FOUR_LINE_DISPLAY - FourLineDisplayUsermod *display; -#else - void* display = nullptr; -#endif - - byte *modes_alpha_indexes = nullptr; - byte *palettes_alpha_indexes = nullptr; - - unsigned char Enc_A; - unsigned char Enc_B; - unsigned char Enc_A_prev = 0; - - bool currentEffectAndPaletteInitialized = false; - uint8_t effectCurrentIndex = 0; - uint8_t effectPaletteIndex = 0; - - bool initDone = false; - bool enabled = true; - - // strings to reduce flash memory usage (used more than twice) - static const char _name[]; - static const char _enabled[]; - static const char _DT_pin[]; - static const char _CLK_pin[]; - static const char _SW_pin[]; - -public: - /* - * setup() is called once at boot. WiFi is not yet connected at this point. - * You can use it to initialize variables, sensors or similar. - */ - void setup() - { - DEBUG_PRINTLN(F("Usermod Rotary Encoder init.")); - PinManagerPinType pins[3] = { { pinA, false }, { pinB, false }, { pinC, false } }; - if ((pinA < 0) || (pinB < 0)) { //WLEDMM catch error: [ 1839][E][esp32-hal-gpio.c:102] __pinMode(): Invalid pin selected - enabled = false; - DEBUG_PRINTLN(F("Invalid GPIO pins for Usermod Rotary Encoder.")); //WLEDMM add debug info - return; - } - - if (!pinManager.allocateMultiplePins(pins, 3, PinOwner::UM_RotaryEncoderUI)) { - // BUG: configuring this usermod with conflicting pins - // will cause it to de-allocate pins it does not own - // (at second config) - // This is the exact type of bug solved by pinManager - // tracking the owner tags.... - pinA = pinB = pinC = -1; - enabled = false; - DEBUG_PRINTLN(F("Failed to alocate GPIO pins for Usermod Rotary Encoder.")); //WLEDMM add debug info - return; - } - - #ifndef USERMOD_ROTARY_ENCODER_GPIO - #define USERMOD_ROTARY_ENCODER_GPIO INPUT_PULLUP - #endif - pinMode(pinA, USERMOD_ROTARY_ENCODER_GPIO); - pinMode(pinB, USERMOD_ROTARY_ENCODER_GPIO); - if (pinC >= 0) pinMode(pinC, USERMOD_ROTARY_ENCODER_GPIO); // WLEDMM catch error - currentTime = millis(); - loopTime = currentTime; - - ModeSortUsermod *modeSortUsermod = (ModeSortUsermod*) usermods.lookup(USERMOD_ID_MODE_SORT); - modes_alpha_indexes = modeSortUsermod->getModesAlphaIndexes(); - palettes_alpha_indexes = modeSortUsermod->getPalettesAlphaIndexes(); - -#ifdef USERMOD_FOUR_LINE_DISPLAY - // This Usermod uses FourLineDisplayUsermod for the best experience. - // But it's optional. But you want it. - display = (FourLineDisplayUsermod*) usermods.lookup(USERMOD_ID_FOUR_LINE_DISP); - if (display != nullptr) { - display->setLineType(FLD_LINE_BRIGHTNESS); - display->setMarkLine(3); - } -#endif - - initDone = true; - USER_PRINTLN(F("Rotary encoder setup completed.")); // WLEDMM inform user - } - - /* - * connected() is called every time the WiFi is (re)connected - * Use it to initialize network interfaces - */ - void connected() - { - //Serial.println("Connected to WiFi!"); - } - - /* - * loop() is called continuously. Here you can check for events, read sensors, etc. - * - * Tips: - * 1. You can use "if (WLED_CONNECTED)" to check for a successful network connection. - * Additionally, "if (WLED_MQTT_CONNECTED)" is available to check for a connection to an MQTT broker. - * - * 2. Try to avoid using the delay() function. NEVER use delays longer than 10 milliseconds. - * Instead, use a timer check as shown here. - */ - void loop() - { - if (!enabled) return; - - currentTime = millis(); // get the current elapsed time - - // Initialize effectCurrentIndex and effectPaletteIndex to - // current state. We do it here as (at least) effectCurrent - // is not yet initialized when setup is called. - if (!currentEffectAndPaletteInitialized) { - findCurrentEffectAndPalette(); - } - - if (currentTime >= (loopTime + 2)) // 2ms since last check of encoder = 500Hz - { - if (pinC >= 0) button_state = digitalRead(pinC); - if (prev_button_state != button_state) - { - if (button_state == LOW) - { - prev_button_state = button_state; - - char newState = select_state + 1; - if (newState > LAST_UI_STATE) newState = 0; - - bool changedState = true; - if (display != nullptr) { - switch(newState) { - case 0: - changedState = changeState("Brightness", FLD_LINE_BRIGHTNESS, 3); - break; - case 1: - changedState = changeState("Select FX", FLD_LINE_MODE, 2); - break; - case 2: - changedState = changeState("FX Speed", FLD_LINE_EFFECT_SPEED, 3); - break; - case 3: - changedState = changeState("FX Intensity", FLD_LINE_EFFECT_INTENSITY, 3); - break; - case 4: - changedState = changeState("Palette", FLD_LINE_PALETTE, 3); - break; - } - } - if (changedState) { - select_state = newState; - } - } - else - { - prev_button_state = button_state; - } - } - int Enc_A = digitalRead(pinA); // Read encoder pins - int Enc_B = digitalRead(pinB); - if ((!Enc_A) && (Enc_A_prev)) - { // A has gone from high to low - if (Enc_B == HIGH) - { // B is high so clockwise - switch(select_state) { - case 0: - changeBrightness(true); - break; - case 1: - changeEffect(true); - break; - case 2: - changeEffectSpeed(true); - break; - case 3: - changeEffectIntensity(true); - break; - case 4: - changePalette(true); - break; - } - } - else if (Enc_B == LOW) - { // B is low so counter-clockwise - switch(select_state) { - case 0: - changeBrightness(false); - break; - case 1: - changeEffect(false); - break; - case 2: - changeEffectSpeed(false); - break; - case 3: - changeEffectIntensity(false); - break; - case 4: - changePalette(false); - break; - } - } - } - Enc_A_prev = Enc_A; // Store value of A for next time - loopTime = currentTime; // Updates loopTime - } - } - - void findCurrentEffectAndPalette() { - currentEffectAndPaletteInitialized = true; - for (uint8_t i = 0; i < strip.getModeCount(); i++) { - //byte value = modes_alpha_indexes[i]; - if (modes_alpha_indexes[i] == effectCurrent) { - effectCurrentIndex = i; - break; - } - } - - for (uint8_t i = 0; i < strip.getPaletteCount(); i++) { - //byte value = palettes_alpha_indexes[i]; - if (palettes_alpha_indexes[i] == strip.getSegment(0).palette) { - effectPaletteIndex = i; - break; - } - } - } - - boolean changeState(const char *stateName, byte lineThreeMode, byte markedLine) { -#ifdef USERMOD_FOUR_LINE_DISPLAY - if (display != nullptr) { - if (display->wakeDisplay()) { - // Throw away wake up input - return false; - } - display->overlay("Mode change", stateName, 1500); - display->setLineType(lineThreeMode); - display->setMarkLine(markedLine); - } - #endif - return true; - } - - void lampUdated() { - colorUpdated(CALL_MODE_BUTTON); - updateInterfaces(CALL_MODE_BUTTON); - } - - void changeBrightness(bool increase) { -#ifdef USERMOD_FOUR_LINE_DISPLAY - if (display && display->wakeDisplay()) { - // Throw away wake up input - return; - } -#endif - if (increase) { - bri = (bri + fadeAmount <= 255) ? (bri + fadeAmount) : 255; - } - else { - bri = (bri - fadeAmount >= 0) ? (bri - fadeAmount) : 0; - } - lampUdated(); - } - - void changeEffect(bool increase) { -#ifdef USERMOD_FOUR_LINE_DISPLAY - if (display && display->wakeDisplay()) { - // Throw away wake up input - return; - } -#endif - if (increase) { - effectCurrentIndex = (effectCurrentIndex + 1 >= strip.getModeCount()) ? 0 : (effectCurrentIndex + 1); - } - else { - effectCurrentIndex = (effectCurrentIndex - 1 < 0) ? (strip.getModeCount() - 1) : (effectCurrentIndex - 1); - } - effectCurrent = modes_alpha_indexes[effectCurrentIndex]; - lampUdated(); - } - - void changeEffectSpeed(bool increase) { -#ifdef USERMOD_FOUR_LINE_DISPLAY - if (display && display->wakeDisplay()) { - // Throw away wake up input - return; - } -#endif - if (increase) { - effectSpeed = (effectSpeed + fadeAmount <= 255) ? (effectSpeed + fadeAmount) : 255; - } - else { - effectSpeed = (effectSpeed - fadeAmount >= 0) ? (effectSpeed - fadeAmount) : 0; - } - lampUdated(); - } - - void changeEffectIntensity(bool increase) { -#ifdef USERMOD_FOUR_LINE_DISPLAY - if (display && display->wakeDisplay()) { - // Throw away wake up input - return; - } -#endif - if (increase) { - effectIntensity = (effectIntensity + fadeAmount <= 255) ? (effectIntensity + fadeAmount) : 255; - } - else { - effectIntensity = (effectIntensity - fadeAmount >= 0) ? (effectIntensity - fadeAmount) : 0; - } - lampUdated(); - } - - void changePalette(bool increase) { -#ifdef USERMOD_FOUR_LINE_DISPLAY - if (display && display->wakeDisplay()) { - // Throw away wake up input - return; - } -#endif - if (increase) { - effectPaletteIndex = (effectPaletteIndex + 1 >= strip.getPaletteCount()) ? 0 : (effectPaletteIndex + 1); - } - else { - effectPaletteIndex = (effectPaletteIndex - 1 < 0) ? (strip.getPaletteCount() - 1) : (effectPaletteIndex - 1); - } - effectPalette = palettes_alpha_indexes[effectPaletteIndex]; - lampUdated(); - } - - /* - * addToJsonInfo() can be used to add custom entries to the /json/info part of the JSON API. - * Creating an "u" object allows you to add custom key/value pairs to the Info section of the WLED web UI. - * Below it is shown how this could be used for e.g. a light sensor - */ - /* - void addToJsonInfo(JsonObject& root) - { - int reading = 20; - //this code adds "u":{"Light":[20," lux"]} to the info object - JsonObject user = root["u"]; - if (user.isNull()) user = root.createNestedObject("u"); - JsonArray lightArr = user.createNestedArray("Light"); //name - lightArr.add(reading); //value - lightArr.add(" lux"); //unit - } - */ - - /* - * addToJsonState() can be used to add custom entries to the /json/state part of the JSON API (state object). - * Values in the state object may be modified by connected clients - */ - void addToJsonState(JsonObject &root) - { - //root["user0"] = userVar0; - } - - /* - * readFromJsonState() can be used to receive data clients send to the /json/state part of the JSON API (state object). - * Values in the state object may be modified by connected clients - */ - void readFromJsonState(JsonObject &root) - { - //userVar0 = root["user0"] | userVar0; //if "user0" key exists in JSON, update, else keep old value - //if (root["bri"] == 255) Serial.println(F("Don't burn down your garage!")); - } - - /** - * addToConfig() (called from set.cpp) stores persistent properties to cfg.json - */ - void addToConfig(JsonObject &root) { - // we add JSON object: {"Rotary-Encoder":{"DT-pin":12,"CLK-pin":14,"SW-pin":13}} - JsonObject top = root.createNestedObject(FPSTR(_name)); // usermodname - top[FPSTR(_enabled)] = enabled; - top[FPSTR(_DT_pin)] = pinA; - top[FPSTR(_CLK_pin)] = pinB; - top[FPSTR(_SW_pin)] = pinC; - DEBUG_PRINTLN(F("Rotary Encoder config saved.")); - } - - /** - * readFromConfig() is called before setup() to populate properties from values stored in cfg.json - * - * The function should return true if configuration was successfully loaded or false if there was no configuration. - */ - bool readFromConfig(JsonObject &root) { - // we look for JSON object: {"Rotary-Encoder":{"DT-pin":12,"CLK-pin":14,"SW-pin":13}} - JsonObject top = root[FPSTR(_name)]; - if (top.isNull()) { - DEBUG_PRINT(FPSTR(_name)); - DEBUG_PRINTLN(F(": No config found. (Using defaults.)")); - return false; - } - int8_t newDTpin = top[FPSTR(_DT_pin)] | pinA; - int8_t newCLKpin = top[FPSTR(_CLK_pin)] | pinB; - int8_t newSWpin = top[FPSTR(_SW_pin)] | pinC; - - enabled = top[FPSTR(_enabled)] | enabled; - - DEBUG_PRINT(FPSTR(_name)); - if (!initDone) { - // first run: reading from cfg.json - pinA = newDTpin; - pinB = newCLKpin; - pinC = newSWpin; - DEBUG_PRINTLN(F(" config loaded.")); - } else { - DEBUG_PRINTLN(F(" config (re)loaded.")); - // changing parameters from settings page - if (pinA!=newDTpin || pinB!=newCLKpin || pinC!=newSWpin) { - pinManager.deallocatePin(pinA, PinOwner::UM_RotaryEncoderUI); - pinManager.deallocatePin(pinB, PinOwner::UM_RotaryEncoderUI); - pinManager.deallocatePin(pinC, PinOwner::UM_RotaryEncoderUI); - pinA = newDTpin; - pinB = newCLKpin; - pinC = newSWpin; - if (pinA<0 || pinB<0 || pinC<0) { - enabled = false; - return true; - } - setup(); - } - } - // use "return !top["newestParameter"].isNull();" when updating Usermod with new features - return !top[FPSTR(_enabled)].isNull(); - } - - /* - * getId() allows you to optionally give your V2 usermod an unique ID (please define it in const.h!). - * This could be used in the future for the system to determine whether your usermod is installed. - */ - uint16_t getId() - { - return USERMOD_ID_ROTARY_ENC_UI; - } -}; - -// strings to reduce flash memory usage (used more than twice) -const char RotaryEncoderUIUsermod::_name[] PROGMEM = "Rotary-Encoder"; -const char RotaryEncoderUIUsermod::_enabled[] PROGMEM = "enabled"; -const char RotaryEncoderUIUsermod::_DT_pin[] PROGMEM = "DT-pin"; -const char RotaryEncoderUIUsermod::_CLK_pin[] PROGMEM = "CLK-pin"; -const char RotaryEncoderUIUsermod::_SW_pin[] PROGMEM = "SW-pin"; diff --git a/usermods/usermod_v2_rotary_encoder_ui_ALT/usermod_v2_rotary_encoder_ui_ALT.h b/usermods/usermod_v2_rotary_encoder_ui_ALT/usermod_v2_rotary_encoder_ui_ALT.h index 17943bab..66a1401a 100644 --- a/usermods/usermod_v2_rotary_encoder_ui_ALT/usermod_v2_rotary_encoder_ui_ALT.h +++ b/usermods/usermod_v2_rotary_encoder_ui_ALT/usermod_v2_rotary_encoder_ui_ALT.h @@ -4,7 +4,7 @@ // // Inspired by the original v2 usermods -// * usermod_v2_rotaty_encoder_ui +// * usermod_v2_rotary_encoder_ui // // v2 usermod that provides a rotary encoder-based UI. // @@ -29,10 +29,6 @@ // * display network (long press buttion) // -#ifdef USERMOD_MODE_SORT - #error "Usermod Mode Sort is no longer required. Remove -D USERMOD_MODE_SORT from platformio.ini" -#endif - #ifndef ENCODER_DT_PIN #define ENCODER_DT_PIN 18 #endif @@ -79,7 +75,7 @@ static int re_qstringCmp(const void *ap, const void *bp) { // Lowercase bVal -= 32; } - // Relly we shouldn't ever get to '\0' + // Really we shouldn't ever get to '\0' if (aVal == '"' || bVal == '"' || aVal == '\0' || bVal == '\0') { // We're done. one is a substring of the other // or something happenend and the quote didn't stop us. @@ -436,7 +432,7 @@ void RotaryEncoderUIUsermod::setup() // tracking the owner tags.... pinA = pinB = pinC = -1; enabled = false; - DEBUG_PRINTLN(F("Failed to alocate GPIO pins for Usermod Rotary Encoder (ALT).")); //WLEDMM add debug info + DEBUG_PRINTLN(F("Failed to allocate GPIO pins for Usermod Rotary Encoder (ALT).")); //WLEDMM add debug info return; } @@ -542,7 +538,7 @@ void RotaryEncoderUIUsermod::loop() bool changedState = false; char lineBuffer[64] = { '\0' }; do { - // finde new state + // find new state switch (newState) { case 0: strcpy_P(lineBuffer, PSTR("Brightness")); changedState = true; break; case 1: if (!extractModeSlider(effectCurrent, 0, lineBuffer, 63)) newState++; else changedState = true; break; // speed diff --git a/usermods/usermod_v2_weather/usermod_v2_weather.h b/usermods/usermod_v2_weather/usermod_v2_weather.h index 95e02379..10f7b03c 100644 --- a/usermods/usermod_v2_weather/usermod_v2_weather.h +++ b/usermods/usermod_v2_weather/usermod_v2_weather.h @@ -7,7 +7,7 @@ // #define WEATHER_DEBUG -//declare weathermod global variables (always precede with weather_ (psuedo class static variables) +//declare weathermod global variables (always precede with weather_ (pseudo class static variables) static uint32_t usermods_pushLoop = 0; //effect pushes loop to execute. might be interesting for audioreactive too static uint8_t weather_units = 1; //config var metric (celsius) is default. (Standard=Kelvin, Imperial is Fahrenheit) static float weather_minTemp = 0; //config var @@ -159,7 +159,7 @@ class WeatherUsermod : public Usermod { } void loop() { - // return if no location or no api key (reset lastTume to force loop) + // return if no location or no api key (reset lastTime to force loop) if (fabs(latitude) < 0.00001 && fabs(latitude) < 0.00001) {strcpy(errorMessage, PSTR("No location")); lastTime = 0; return;} if (strcmp(apiKey.c_str(), "") == 0) {strcpy(errorMessage, PSTR("No api key")); lastTime = 0; return;} @@ -181,12 +181,12 @@ class WeatherUsermod : public Usermod { if (strcmp(errorMessage, "") == 0) { // https://arduinojson.org/v6/how-to/deserialize-a-very-large-document/ - StaticJsonDocument<256> filter; //in practive about 128 + StaticJsonDocument<256> filter; //in practice about 128 filter["list"][0]["dt"] = true; filter["list"][0]["main"]["temp"] = true; filter["city"]["name"] = true; filter["city"]["country"] = true; - PSRAMDynamicJsonDocument weatherDoc(4096); //in practive about 2673 + PSRAMDynamicJsonDocument weatherDoc(4096); //in practice about 2673 // Parse JSON object DeserializationError error = deserializeJson(weatherDoc, client, DeserializationOption::Filter(filter)); @@ -206,7 +206,7 @@ class WeatherUsermod : public Usermod { JsonObject weatherDocObject = weatherDoc.as(); JsonArray list = weatherDocObject[F("list")]; JsonObject city = weatherDocObject["city"]; - strcat(errorMessage, city["name"]); //api succesfull + strcat(errorMessage, city["name"]); //api successful strcat(errorMessage, city["country"]); uint8_t i = 0; @@ -319,10 +319,10 @@ class WeatherUsermod : public Usermod { oappend(SET_F("dd=addDropdown('Weather','units');")); oappend(SET_F("addOption(dd,'Kelvin',0);")); - oappend(SET_F("addOption(dd,'Celcius',1);")); + oappend(SET_F("addOption(dd,'Celsius',1);")); oappend(SET_F("addOption(dd,'Fahrenheit',2);")); oappend(SET_F("addInfo('Weather:units',1,'Set time and location in time settings');")); - oappend(SET_F("addInfo('Weather:apiKey',1,'Create acount on openweathermap.org and copy the key');")); + oappend(SET_F("addInfo('Weather:apiKey',1,'Create account on openweathermap.org and copy the key');")); oappend(SET_F("addInfo('Weather:minTemp',1,'Changing values: Reboot to (re)load forecast');")); } diff --git a/usermods/usermod_v2_word_clock/readme.md b/usermods/usermod_v2_word_clock/readme.md index 1dde2223..c42ee0ee 100644 --- a/usermods/usermod_v2_word_clock/readme.md +++ b/usermods/usermod_v2_word_clock/readme.md @@ -8,7 +8,7 @@ active: enable/disable usermod diplayItIs: enable/disable display of "Es ist" on the clock ledOffset: number of LEDs before the wordclock LEDs -### Update for alternatative wiring pattern +### Update for alternative wiring pattern Based on this fantastic work I added an alternative wiring pattern. The original used a long wire to connect DO to DI, from one line to the next line. diff --git a/usermods/usermod_v2_word_clock/usermod_v2_word_clock.h b/usermods/usermod_v2_word_clock/usermod_v2_word_clock.h index 058b8318..b66be290 100644 --- a/usermods/usermod_v2_word_clock/usermod_v2_word_clock.h +++ b/usermods/usermod_v2_word_clock/usermod_v2_word_clock.h @@ -7,8 +7,8 @@ * See: https://github.com/Aircoookie/WLED/wiki/Add-own-functionality * * This usermod can be used to drive a wordclock with a 11x10 pixel matrix with WLED. There are also 4 additional dots for the minutes. - * The visualisation is desribed in 4 mask with LED numbers (single dots for minutes, minutes, hours and "clock/Uhr"). - * There are 2 parameters to chnage the behaviour: + * The visualisation is described in 4 mask with LED numbers (single dots for minutes, minutes, hours and "clock/Uhr"). + * There are 2 parameters to change the behaviour: * * active: enable/disable usermod * diplayItIs: enable/disable display of "Es ist" on the clock. diff --git a/usermods/wizlights/readme.md b/usermods/wizlights/readme.md index a0e0a8b8..9e633043 100644 --- a/usermods/wizlights/readme.md +++ b/usermods/wizlights/readme.md @@ -1,6 +1,6 @@ # Controlling Wiz lights -Enabless controlling [WiZ](https://www.wizconnected.com/en/consumer/) lights that are part of the same network as the WLED controller. +Enables controlling [WiZ](https://www.wizconnected.com/en/consumer/) lights that are part of the same network as the WLED controller. The mod takes the colors from the first few pixels and sends them to the lights. @@ -8,7 +8,7 @@ The mod takes the colors from the first few pixels and sends them to the lights. - Interval (ms) - How frequently to update the WiZ lights, in milliseconds. - - Setting it too low may causse the ESP to become unresponsive. + - Setting it too low may cause the ESP to become unresponsive. - Send Delay (ms) - An optional millisecond delay after updating each WiZ light. - Can help smooth out effects when using a large number of WiZ lights diff --git a/wled00/FX.cpp b/wled00/FX.cpp index dc19c502..167d5285 100644 --- a/wled00/FX.cpp +++ b/wled00/FX.cpp @@ -48,10 +48,10 @@ static uint16_t triwave16(uint16_t in) { } /* - * Generates a tristate square wave w/ attac & decay + * Generates a tristate square wave w/ attack & decay * @param x input value 0-255 * @param pulsewidth 0-127 - * @param attdec attac & decay, max. pulsewidth / 2 + * @param attdec attack & decay, max. pulsewidth / 2 * @returns signed waveform value */ static int8_t tristate_square8(uint8_t x, uint8_t pulsewidth, uint8_t attdec) { @@ -86,7 +86,7 @@ static float mapf(float x, float in_min, float in_max, float out_min, float out_ */ uint16_t mode_static(void) { SEGMENT.fill(SEGCOLOR(0)); - return FRAMETIME_FIXED_SLOW; // WLEDMM to ensure smooth color changes from DMX (PR #73) + return strip.isOffRefreshRequired() ? FRAMETIME : FRAMETIME_FIXED_SLOW; // WLEDMM to ensure smooth color changes from DMX (PR #73) } static const char _data_FX_MODE_STATIC[] PROGMEM = "Solid"; @@ -1211,7 +1211,7 @@ static const char _data_FX_MODE_COMET[] PROGMEM = "Lighthouse@!,Fade rate;!,!;!" /* * Fireworks function. */ -uint16_t mode_fireworks() { +static uint16_t mode_fireworks_core(bool useaudio) { if (SEGLEN == 1) return mode_static(); const uint16_t width = SEGMENT.is2D() ? SEGMENT.virtualWidth() : SEGMENT.virtualLength(); const uint16_t height = SEGMENT.virtualHeight(); @@ -1227,27 +1227,60 @@ uint16_t mode_fireworks() { bool valid1 = (SEGENV.aux0 < width*height); bool valid2 = (SEGENV.aux1 < width*height); uint32_t sv1 = 0, sv2 = 0; + + // WLEDMM begin + um_data_t *um_data; + if (!usermods.getUMData(&um_data, USERMOD_ID_AUDIOREACTIVE)) { + useaudio = false; // no audio - fallback to standard behaviour (don't use soundSim) + } + bool addPixels = true; // false -> inhibit new pixels in silence + unsigned myIntensity = 129 - (SEGMENT.intensity >> 1); // make parameter explicit, so we can work with it + int soundColor = -1; // -1 = random color; 0..255 = use as palette index + + if (useaudio) { + float volumeSmth = *(float*) um_data->u_data[0]; + float FFT_MajorPeak = *(float*) um_data->u_data[4]; + uint8_t samplePeak = *(uint8_t*)um_data->u_data[3]; + if ((volumeSmth > 1.0f) && (FFT_MajorPeak > 60.0f)) { // we have sound - select color based on major frequency + float musicIndex = logf(FFT_MajorPeak); // log scaling of peak freq + soundColor = mapf(musicIndex, 4.6f, 9.06f, 0, 255); // pick color from frequency (4.6 = ln(100), 9.06 = ln(8600)) + soundColor = constrain(soundColor, 0, 255); // remove over-shoot + if (samplePeak > 0) myIntensity -= myIntensity / 2; // increase effect intensity at peaks + else if (volumeSmth > 96.0f) myIntensity -= myIntensity / 4; // increase effect intensity slightly when music plays + myIntensity = constrain(myIntensity, 0, 129); + } else { // silence -> fade away + valid1 = valid2 = false; // do not copy last pixels + addPixels = false; // don't add new pixels + } + } + // WLEDMM end + if (valid1) sv1 = SEGMENT.is2D() ? SEGMENT.getPixelColorXY(SEGENV.aux0%width, SEGENV.aux0/width) : SEGMENT.getPixelColor(SEGENV.aux0); // get spark color if (valid2) sv2 = SEGMENT.is2D() ? SEGMENT.getPixelColorXY(SEGENV.aux1%width, SEGENV.aux1/width) : SEGMENT.getPixelColor(SEGENV.aux1); if (!SEGENV.step) SEGMENT.blur(16); if (valid1) { if (SEGMENT.is2D()) SEGMENT.setPixelColorXY(SEGENV.aux0%width, SEGENV.aux0/width, sv1); else SEGMENT.setPixelColor(SEGENV.aux0, sv1); } // restore spark color after blur if (valid2) { if (SEGMENT.is2D()) SEGMENT.setPixelColorXY(SEGENV.aux1%width, SEGENV.aux1/width, sv2); else SEGMENT.setPixelColor(SEGENV.aux1, sv2); } // restore old spark color after blur + if (addPixels) // WLEDMM for (int i=0; i> 1)) == 0) { + if (random8(myIntensity) == 0) { // WLEDMM uint16_t index = random16(width*height); uint16_t j = index % width, k = index / width; - uint32_t col = SEGMENT.color_from_palette(random8(), false, false, 0); + uint32_t col = SEGMENT.color_from_palette((soundColor > 0) ? soundColor + random8(24) : random8(), false, false, 0); // WLEDMM if (SEGMENT.is2D()) SEGMENT.setPixelColorXY(j, k, col); else SEGMENT.setPixelColor(index, col); SEGENV.aux1 = SEGENV.aux0; // old spark - SEGENV.aux0 = index; // remember where spark occured + SEGENV.aux0 = index; // remember where spark occurred } } return FRAMETIME; } + +uint16_t mode_fireworks(void) { return mode_fireworks_core(false); } static const char _data_FX_MODE_FIREWORKS[] PROGMEM = "Fireworks@,Frequency;!,!;!;12;ix=192,pal=11"; +uint16_t mode_fireworks_audio(void) { return mode_fireworks_core(true); } +static const char _data_FX_MODE_FIREWORKS_AR[] PROGMEM = "Fireworks audio ☾@,Frequency;!,!;!;1v,12;ix=192,pal=11"; //Twinkling LEDs running. Inspired by https://github.com/kitesurfer1404/WS2812FX/blob/master/src/custom/Rain.h uint16_t mode_rain() { @@ -1278,8 +1311,8 @@ uint16_t mode_rain() { SEGENV.aux0++; // increase spark index SEGENV.aux1++; } - if (SEGENV.aux0 == 0) SEGENV.aux0 = UINT16_MAX; // reset previous spark positiom - if (SEGENV.aux1 == 0) SEGENV.aux0 = UINT16_MAX; // reset previous spark positiom + if (SEGENV.aux0 == 0) SEGENV.aux0 = UINT16_MAX; // reset previous spark position + if (SEGENV.aux1 == 0) SEGENV.aux0 = UINT16_MAX; // reset previous spark position if (SEGENV.aux0 >= width*height) SEGENV.aux0 = 0; // ignore if (SEGENV.aux1 >= width*height) SEGENV.aux1 = 0; } @@ -1722,7 +1755,7 @@ uint16_t mode_multi_comet(void) { } comets[i]++; } else { - if(!random(SEGLEN)) { + if(!random16(SEGLEN)) { comets[i] = 0; } } @@ -1922,6 +1955,71 @@ uint16_t mode_pride_2015(void) { static const char _data_FX_MODE_PRIDE_2015[] PROGMEM = "Pride 2015@!;;"; +////////////////////// +// PARTYJERK // +////////////////////// +// by @tonyxforce +// NB: This effects expects a palette that starts with black and then ramps up brightness. +// Currently works best with the "color gradient" and the "colors 1&2" palettes +uint16_t mode_partyjerk() { + if (SEGENV.call == 0) { + SEGMENT.fill(BLACK); // clear LEDs + SEGENV.aux0 = 0; + SEGENV.aux1 = 0; + SEGENV.step = 0; + } + /* + * use of persistent variables: + * aux0: hueDelay + * aux1: hue + * step: pos + */ + + um_data_t *um_data; + if (!usermods.getUMData(&um_data, USERMOD_ID_AUDIOREACTIVE)) { + // add support for no audio + um_data = simulateSound(SEGMENT.soundSim); + } + float volumeSmth = *(float*) um_data->u_data[0]; + + SEGENV.aux0++; + if (SEGENV.aux1 > 254) { + SEGENV.aux1 = 0; + } + if (SEGENV.aux0 > map(SEGMENT.custom1, 0, 255, 0, 14)) { + SEGENV.aux0 = 0; + SEGENV.aux1++; + } + + uint_fast32_t speed = 0; + uint16_t counter = 0; + + if (volumeSmth * 2 > (255 - SEGMENT.intensity)) { + speed = SEGMENT.speed * map(SEGMENT.custom2, 0, 255, 0, 100); + } else { + speed = SEGMENT.speed; + }; + + SEGENV.step += speed; + counter = SEGENV.step >> 8; + + for (unsigned i = 0; i < SEGLEN; i++) { + uint8_t colorIndex = ((i * 255) / SEGLEN) - counter; + uint32_t paletteColor = SEGMENT.color_from_palette(colorIndex, false, PALETTE_MOVING_WRAP, 255); + uint8_t r = R(paletteColor); + uint8_t g = G(paletteColor); + uint8_t b = B(paletteColor); + uint8_t activeColor = max(r, max(g, b)); + + CRGB rgb(CHSV(SEGENV.aux1, 255, activeColor)); + SEGMENT.setPixelColor((uint16_t)i, rgb.r, rgb.g, rgb.b); + }; + + return FRAMETIME; +} // mode_partyjerk() +static const char _data_FX_MODE_PARTYJERK[] PROGMEM = "Party jerk@Effect speed,Sensitivity,Color change speed,Effect speed active multiplier;!,!;!;1v;c1=8,c2=48,m12=0,si=0"; + + //eight colored dots, weaving in and out of sync with each other uint16_t mode_juggle(void) { if (SEGLEN == 1) return mode_static(); @@ -2009,7 +2107,7 @@ uint16_t mode_fire_2012() { // Step 1. Cool down every cell a little for (int i = 0; i < SEGLEN; i++) { - uint8_t cool = (it != SEGENV.step) ? random8((((20 + SEGMENT.speed/3) * 16) / SEGLEN)+2) : random(4); + uint8_t cool = (it != SEGENV.step) ? random8((((20 + SEGMENT.speed/3) * 16) / SEGLEN)+2) : random8(4); uint8_t minTemp = (iu_data[0]; + int16_t volumeRaw = *(int16_t*) um_data->u_data[1]; + uint8_t samplePeak = *(uint8_t*) um_data->u_data[3]; for(int i = 0; i < numPopcorn; i++) { if (popcorn[i].pos >= 0.0f) { // if kernel is active, update its position popcorn[i].pos += popcorn[i].vel; popcorn[i].vel += gravity; } else { // if kernel is inactive, randomly pop it - if (random8() < 2) { // POP!!! + bool doPopCorn = false; // WLEDMM allows to inhibit new pops + // WLEDMM begin + if (useaudio) { + if ( (volumeSmth > 1.0f) // no pops in silence + &&((samplePeak > 0) || (volumeRaw > 128)) // try to pop at onsets (our peek detector still sucks) + &&(random8() < 4) ) // stay somewhat random + doPopCorn = true; + } else { + if (random8() < 2) doPopCorn = true; // default POP!!! + } + // WLEDMM end + + if (doPopCorn) { // POP!!! popcorn[i].pos = 0.01f; uint16_t peakHeight = 128 + random8(128); //0-255 @@ -3145,12 +3267,16 @@ uint16_t mode_popcorn(void) { }; for (int stripNr=0; stripNru_data[0]; + int16_t volumeRaw = *(int16_t*) um_data->u_data[1]; + uint8_t samplePeak = *(uint8_t*) um_data->u_data[3]; + for (int j = 0; j < numStars; j++) { // speed to adjust chance of a burst, max is nearly always. - if (random8((144-(SEGMENT.speed >> 1))) == 0 && stars[j].birth == 0) + bool doNewStar = random8((144-(SEGMENT.speed >> 1))) == 0; // WLEDMM original spawning trigger + // WLEDMM begin + if (useaudio) { + doNewStar = false; + int burstplus = (volumeSmth > 159)? 96:0; // high volume -> more stars + if (volumeRaw <= 56) burstplus = -64; // low volume -> fewer stars + int birthrate = (144-(SEGMENT.speed >> 1)) - burstplus; + birthrate = constrain(birthrate, 4, 144); + if ( (volumeSmth > 1.0f) // no bursts in silence + && ((samplePeak > 0) || (volumeRaw > 48)) // try to burst with sound + && (random8(birthrate) == 0) ) // original random rate + doNewStar = true; + } + // WLEDMM end + + if (doNewStar && stars[j].birth == 0) // WLEDMM { // Pick a random color and location. uint16_t startPos = (SEGLEN > 1) ? random16(SEGLEN-1) : 0; @@ -3299,7 +3451,7 @@ uint16_t mode_starburst(void) { stars[j].color = CRGB(SEGMENT.color_wheel(random8())); stars[j].pos = startPos; - stars[j].vel = maxSpeed * (float)(random8())/255.0 * multiplier; + stars[j].vel = maxSpeed * (float)(random8())/255.0f * multiplier; stars[j].birth = it; stars[j].last = it; // more fragments means larger burst effect @@ -3377,8 +3529,12 @@ uint16_t mode_starburst(void) { return FRAMETIME; } #undef STARBURST_MAX_FRAG + +uint16_t mode_starburst(void) { return mode_starburst_core(false); } static const char _data_FX_MODE_STARBURST[] PROGMEM = "Fireworks Starburst@Chance,Fragments,,,,,Overlay;,!;!;;pal=11,m12=0"; +uint16_t mode_starburst_audio(void) { return mode_starburst_core(true); } +static const char _data_FX_MODE_STARBURST_AR[] PROGMEM = "Fw Starburst audio ☾@Chance,Fragments,,,,,Overlay;,!;!;1v;pal=11,m12=0"; /* * Exploding fireworks effect @@ -3642,7 +3798,7 @@ uint16_t mode_tetrix(void) { } if (drop->step == 0) { // init brick - // speed calcualtion: a single brick should reach bottom of strip in X seconds + // speed calculation: a single brick should reach bottom of strip in X seconds // if the speed is set to 1 this should take 5s and at 255 it should take 0.25s // as this is dependant on SEGLEN it should be taken into account and the fact that effect runs every FRAMETIME s int speed = SEGMENT.speed ? SEGMENT.speed : random8(1,255); @@ -3725,7 +3881,7 @@ static const char _data_FX_MODE_PLASMA[] PROGMEM = "Plasma@Phase,!;!;!"; /* * Percentage display - * Intesity values from 0-100 turn on the leds. + * Intensity values from 0-100 turn on the leds. */ uint16_t mode_percent(void) { @@ -3778,7 +3934,7 @@ static const char _data_FX_MODE_PERCENT[] PROGMEM = "Percent@,% of fill,,,,One c /* * Modulates the brightness similar to a heartbeat - * (unimplemented?) tries to draw an ECG aproximation on a 2D matrix + * (unimplemented?) tries to draw an ECG approximation on a 2D matrix */ uint16_t mode_heartbeat(void) { uint8_t bpm = 40 + (SEGMENT.speed >> 3); @@ -4022,6 +4178,7 @@ static const char _data_FX_MODE_PHASEDNOISE[] PROGMEM = "Phased Noise@!,!;!,!;!" uint16_t mode_twinkleup(void) { // A very short twinkle routine with fade-in and dual controls. By Andrew Tuline. + uint16_t prevSeed = random16_get_seed(); // save seed so we can restore it at the end of the function random16_set_seed(535); // The randomizer needs to be re-set each time through the loop in order for the same 'random' numbers to be the same each time through. for (int i = 0; i < SEGLEN; i++) { @@ -4031,6 +4188,7 @@ uint16_t mode_twinkleup(void) { // A very short twinkle routine SEGMENT.setPixelColor(i, color_blend(SEGCOLOR(1), SEGMENT.color_from_palette(random8()+strip.now/100, false, PALETTE_SOLID_WRAP, 0), pixBri)); } + random16_set_seed(prevSeed); // restore original seed so other effects can use "random" PRNG return FRAMETIME; } static const char _data_FX_MODE_TWINKLEUP[] PROGMEM = "Twinkleup@!,Intensity;!,!;!;;m12=0"; @@ -4458,7 +4616,7 @@ uint16_t mode_tv_simulator(void) { // how much time is elapsed ? tvSimulator->elapsed = strip.now - tvSimulator->startTime; - // fade from prev volor to next color + // fade from prev color to next color if (tvSimulator->elapsed < tvSimulator->fadeTime) { r = map(tvSimulator->elapsed, 0, tvSimulator->fadeTime, tvSimulator->pr, nr); g = map(tvSimulator->elapsed, 0, tvSimulator->fadeTime, tvSimulator->pg, ng); @@ -4515,15 +4673,15 @@ class AuroraWave { public: void init(uint32_t segment_length, CRGB color) { - ttl = random(500, 1501); + ttl = random16(500, 1501); basecolor = color; - basealpha = random(60, 101) / (float)100; + basealpha = random8(60, 101) / (float)100; age = 0; - width = random(segment_length / 20, segment_length / W_WIDTH_FACTOR); //half of width to make math easier + width = random16(segment_length / 20, segment_length / W_WIDTH_FACTOR); //half of width to make math easier if (!width) width = 1; - center = random(101) / (float)100 * segment_length; - goingleft = random(0, 2) == 0; - speed_factor = (random(10, 31) / (float)100 * W_MAX_SPEED / 255); + center = random8(101) / (float)100 * segment_length; + goingleft = random8(0, 2) == 0; + speed_factor = (random8(10, 31) / (float)100 * W_MAX_SPEED / 255); alive = true; } @@ -4608,7 +4766,7 @@ uint16_t mode_aurora(void) { waves = reinterpret_cast(SEGENV.data); for (int i = 0; i < SEGENV.aux1; i++) { - waves[i].init(SEGLEN, CRGB(SEGMENT.color_from_palette(random8(), false, false, random(0, 3)))); + waves[i].init(SEGLEN, CRGB(SEGMENT.color_from_palette(random8(), false, false, random8(0, 3)))); } } else { waves = reinterpret_cast(SEGENV.data); @@ -4620,7 +4778,7 @@ uint16_t mode_aurora(void) { if(!(waves[i].stillAlive())) { //If a wave dies, reinitialize it starts over. - waves[i].init(SEGLEN, CRGB(SEGMENT.color_from_palette(random8(), false, false, random(0, 3)))); + waves[i].init(SEGLEN, CRGB(SEGMENT.color_from_palette(random8(), false, false, random8(0, 3)))); } } @@ -4840,7 +4998,7 @@ static const char _data_FX_MODE_2DDNA[] PROGMEM = "DNA@Scroll speed,Blur;;!;2"; ///////////////////////// // 2D DNA Spiral // ///////////////////////// -uint16_t mode_2DDNASpiral() { // By: ldirko https://editor.soulmatelights.com/gallery/810 , modified by: Andrew Tuline +uint16_t mode_2DDNASpiral() { // By: ldirko https://editor.soulmatelights.com/gallery/512-dna-spiral-variation , modified by: Andrew Tuline if (!strip.isMatrix) return mode_static(); // not a 2D set-up const uint16_t cols = SEGMENT.virtualWidth(); @@ -4851,7 +5009,7 @@ uint16_t mode_2DDNASpiral() { // By: ldirko https://editor.soulma SEGMENT.fill(BLACK); } - uint8_t speeds = SEGMENT.speed/2 + 1; + uint8_t speeds = SEGMENT.speed/2 + 7; uint8_t freq = SEGMENT.intensity/8; uint32_t ms = strip.now / 20; @@ -5081,7 +5239,7 @@ uint16_t mode_2Dgameoflife(void) { // Written by Ewoud Wijma, inspired by https: bool repetition = false; for (int i=0; i softhack007: not exacly. Different CRC means diferent image; same CRC means nothing (could be same or slightly different). + // -> softhack007: not exacly. Different CRC means different image; same CRC means nothing (could be same or slightly different). if (!repetition) SEGENV.step = strip.now; //if no repetition avoid reset // remember CRCs across frames crcBuffer[SEGENV.aux0] = crc; @@ -5266,7 +5424,7 @@ uint16_t mode_2DLissajous(void) { // By: Andrew Tuline return FRAMETIME; } // mode_2DLissajous() -static const char _data_FX_MODE_2DLISSAJOUS[] PROGMEM = "Lissajous ☾@X frequency,Fade rate,,,Speed,,,☾ Smooth Style;!;!;2;;sx=64,c3=15"; +static const char _data_FX_MODE_2DLISSAJOUS[] PROGMEM = "Lissajous ☾@X frequency,Fade rate,,,Speed,,,☾ Smooth Style;!;!;2;sx=64,c3=15"; /////////////////////// @@ -5928,7 +6086,7 @@ uint16_t mode_2Dghostrider(void) { if (lighter->reg[i]) { lighter->lightersPosY[i] = lighter->gPosY; lighter->lightersPosX[i] = lighter->gPosX; - lighter->Angle[i] = lighter->gAngle + random(-10, 10); + lighter->Angle[i] = lighter->gAngle + ((int)random8(20) - 10); lighter->time[i] = 0; lighter->reg[i] = false; } else { @@ -6073,9 +6231,10 @@ uint16_t mode_2Dscrollingtext(void) { char text[33] = {'\0'}; unsigned maxLen = (SEGMENT.name) ? min(32, (int)strlen(SEGMENT.name)) : 0; // WLEDMM make it robust against too long segment names if (SEGMENT.name) for (size_t i=0,j=0; i31 && SEGMENT.name[i]<128) text[j++] = SEGMENT.name[i]; + const bool zero = strchr(text, '0') != nullptr; - if (!strlen(text) || !strncmp_P(text,PSTR("#F"),2) || !strncmp_P(text,PSTR("#P"),2) || !strncmp_P(text,PSTR("#DATE"),5) || !strncmp_P(text,PSTR("#DDMM"),5) || !strncmp_P(text,PSTR("#MMDD"),5) || !strncmp_P(text,PSTR("#TIME"),5) || !strncmp_P(text,PSTR("#HHMM"),5)) { // fallback if empty segment name: display date and time - char sec[5]; + if (!strlen(text) || !strncmp_P(text,PSTR("#F"),2) || !strncmp_P(text,PSTR("#P"),2) || !strncmp_P(text,PSTR("#DATE"),5) || !strncmp_P(text,PSTR("#DDMM"),5) || !strncmp_P(text,PSTR("#MMDD"),5) || !strncmp_P(text,PSTR("#TIME"),5) || !strncmp_P(text,PSTR("#HH"),3) || !strncmp_P(text,PSTR("#MM"),3)) { // fallback if empty segment name: display date and time + char sec[5]= {'\0'}; byte AmPmHour = hour(localTime); boolean isitAM = true; if (useAMPM) { @@ -6084,14 +6243,16 @@ uint16_t mode_2Dscrollingtext(void) { } if (useAMPM) sprintf_P(sec, PSTR(" %2s"), (isitAM ? "AM" : "PM")); else sprintf_P(sec, PSTR(":%02d"), second(localTime)); - if (!strncmp_P(text,PSTR("#DATE"),5)) sprintf_P(text, PSTR("%d.%d.%d"), day(localTime), month(localTime), year(localTime)); - else if (!strncmp_P(text,PSTR("#DDMM"),5)) sprintf_P(text, PSTR("%d.%d"), day(localTime), month(localTime)); - else if (!strncmp_P(text,PSTR("#MMDD"),5)) sprintf_P(text, PSTR("%d/%d"), month(localTime), day(localTime)); - else if (!strncmp_P(text,PSTR("#TIME"),5)) sprintf_P(text, PSTR("%2d:%02d%s"), AmPmHour, minute(localTime), sec); - else if (!strncmp_P(text,PSTR("#HHMM"),5)) sprintf_P(text, PSTR("%2d:%02d"), AmPmHour, minute(localTime)); + if (!strncmp_P(text,PSTR("#DATE"),5)) sprintf_P(text, zero?PSTR("%02d.%02d.%04d"):PSTR("%d.%d.%d"), day(localTime), month(localTime), year(localTime)); + else if (!strncmp_P(text,PSTR("#DDMM"),5)) sprintf_P(text, zero?PSTR("%02d.%02d") :PSTR("%d.%d"), day(localTime), month(localTime)); + else if (!strncmp_P(text,PSTR("#MMDD"),5)) sprintf_P(text, zero?PSTR("%02d/%02d") :PSTR("%d/%d"), month(localTime), day(localTime)); + else if (!strncmp_P(text,PSTR("#TIME"),5)) sprintf_P(text, zero?PSTR("%02d:%02d%s") :PSTR("%2d:%02d%s"), AmPmHour, minute(localTime), sec); + else if (!strncmp_P(text,PSTR("#HHMM"),5)) sprintf_P(text, zero?PSTR("%02d:%02d") :PSTR("%d:%02d"), AmPmHour, minute(localTime)); + else if (!strncmp_P(text,PSTR("#HH"),3)) sprintf_P(text, zero?PSTR("%02d") :PSTR("%d"), AmPmHour); + else if (!strncmp_P(text,PSTR("#MM"),3)) sprintf_P(text, zero?PSTR("%02d") :PSTR("%d"), minute(localTime)); else if (!strncmp_P(text,PSTR("#FPS"),4)) sprintf_P(text, PSTR("%2d"), (int) strip.getFps()); // WLEDMM else if (!strncmp_P(text,PSTR("#POW"),4)) sprintf_P(text, PSTR("%3.2fA"), float(strip.currentMilliamps)/1000.0f); // WLEDMM - else sprintf_P(text, PSTR("%s %d, %d %2d:%02d%s"), monthShortStr(month(localTime)), day(localTime), year(localTime), AmPmHour, minute(localTime), sec); + else sprintf_P(text, PSTR("%s %d, %d %d:%02d%s"), monthShortStr(month(localTime)), day(localTime), year(localTime), AmPmHour, minute(localTime), sec); } const int numberOfLetters = strlen(text); @@ -6417,7 +6578,7 @@ uint16_t mode_gravcenter(void) { // Gravcenter. By Andrew Tuline. SEGMENT.fade_out(251); // 30% float segmentSampleAvg = volumeSmth * (float)SEGMENT.intensity / 255.0f; - segmentSampleAvg *= 0.125; // divide by 8, to compensate for later "sensitivty" upscaling + segmentSampleAvg *= 0.125; // divide by 8, to compensate for later "sensitivity" upscaling float mySampleAvg = mapf(segmentSampleAvg*2.0, 0, 32, 0, (float)SEGLEN/2.0); // map to pixels available in current segment uint16_t tempsamp = constrain(mySampleAvg, 0, SEGLEN/2); // Keep the sample from overflowing. @@ -6472,7 +6633,7 @@ uint16_t mode_gravcentric(void) { // Gravcentric. By Andrew SEGMENT.fade_out(253); // 50% float segmentSampleAvg = volumeSmth * (float)SEGMENT.intensity / 255.0; - segmentSampleAvg *= 0.125f; // divide by 8, to compensate for later "sensitivty" upscaling + segmentSampleAvg *= 0.125f; // divide by 8, to compensate for later "sensitivity" upscaling float mySampleAvg = mapf(segmentSampleAvg*2.0, 0.0f, 32.0f, 0.0f, (float)SEGLEN/2.0); // map to pixels availeable in current segment int tempsamp = constrain(mySampleAvg, 0, SEGLEN/2); // Keep the sample from overflowing. @@ -6539,7 +6700,7 @@ uint16_t mode_gravimeter(void) { // Gravmeter. By Andrew Tuline. float segmentSampleAvg = (volumeSmth * sensGain) - sensOffset; if (segmentSampleAvg < 0) segmentSampleAvg = 0; // could be <0 due to sensOffset - segmentSampleAvg *= 0.25f; // divide by 4, to compensate for later "sensitivty" upscaling + segmentSampleAvg *= 0.25f; // divide by 4, to compensate for later "sensitivity" upscaling float mySampleAvg = mapf(segmentSampleAvg*2.0f, 0, 64, 0, (SEGLEN-1)); // map to pixels availeable in current segment int tempsamp = constrain(mySampleAvg,0,SEGLEN-1); // Keep the sample from overflowing. uint8_t gravity = 8 - SEGMENT.speed/32; @@ -6683,7 +6844,7 @@ uint16_t mode_midnoise(void) { // Midnoise. By Andrew Tuline. //SEGMENT.fade_out(SEGMENT.speed); float tmpSound2 = volumeSmth * (float)SEGMENT.intensity / 256.0; // Too sensitive. - tmpSound2 *= (float)SEGMENT.intensity / 128.0; // Reduce sensitity/length. + tmpSound2 *= (float)SEGMENT.intensity / 128.0; // Reduce sensitivity/length. int maxLen = mapf(tmpSound2, 0, 127, 0, SEGLEN/2); if (maxLen >SEGLEN/2) maxLen = SEGLEN/2; @@ -6860,7 +7021,7 @@ uint16_t mode_puddlepeak(void) { // Puddlepeak. By Andrew Tuline. uint16_t size = 0; uint8_t fadeVal = map(SEGMENT.speed,0,255, 224, 254); - uint16_t pos = random(SEGLEN); // Set a random starting position. + uint16_t pos = random16(SEGLEN); // Set a random starting position. um_data_t *um_data; if (!usermods.getUMData(&um_data, USERMOD_ID_AUDIOREACTIVE)) { @@ -7199,7 +7360,7 @@ uint16_t mode_freqmatrix(void) { // Freqmatrix. By Andreas Plesch if (FFT_MajorPeak > MAX_FREQUENCY) FFT_MajorPeak = 1; // MajorPeak holds the freq. value which is most abundant in the last sample. - // With our sampling rate of 10240Hz we have a usable freq range from roughtly 80Hz to 10240/2 Hz + // With our sampling rate of 10240Hz we have a usable freq range from roughly 80Hz to 10240/2 Hz // we will treat everything with less than 65Hz as 0 if ((FFT_MajorPeak > 80.0f) && (volumeSmth > 0.25f)) { // WLEDMM @@ -7220,7 +7381,7 @@ uint16_t mode_freqmatrix(void) { // Freqmatrix. By Andreas Plesch return FRAMETIME; } // mode_freqmatrix() -static const char _data_FX_MODE_FREQMATRIX[] PROGMEM = "Freqmatrix@Speed,Sound effect,Low bin,High bin,Sensivity;;;1f;c1=18,c2=48,c3=6,m12=3,si=0"; // Corner, Beatsin; notes range C3 to C7 +static const char _data_FX_MODE_FREQMATRIX[] PROGMEM = "Freqmatrix@Speed,Sound effect,Low bin,High bin,Sensitivity;;;1f;c1=18,c2=48,c3=6,m12=3,si=0"; // Corner, Beatsin; notes range C3 to C7 ////////////////////// @@ -7304,7 +7465,7 @@ uint16_t mode_freqwave(void) { // Freqwave. By Andreas Pleschun if (FFT_MajorPeak > MAX_FREQUENCY) FFT_MajorPeak = 1.0f; // MajorPeak holds the freq. value which is most abundant in the last sample. - // With our sampling rate of 10240Hz we have a usable freq range from roughtly 80Hz to 10240/2 Hz + // With our sampling rate of 10240Hz we have a usable freq range from roughly 80Hz to 10240/2 Hz // we will treat everything with less than 65Hz as 0 if ((FFT_MajorPeak < 80) || (volumeSmth < 1.0f) || (FFT_MajorPeak > 10800)) { // silence or out-of-range --> black @@ -7367,7 +7528,7 @@ uint16_t mode_gravfreq(void) { // Gravfreq. By Andrew Tuline. SEGMENT.fadeToBlackBy(96); float segmentSampleAvg = volumeSmth * (float)SEGMENT.intensity / 255.0f; - segmentSampleAvg *= 0.125; // divide by 8, to compensate for later "sensitivty" upscaling + segmentSampleAvg *= 0.125f; // divide by 8, to compensate for later "sensitivity" upscaling float mySampleAvg = mapf(segmentSampleAvg*2.0f, 0,32, 0, (float)SEGLEN/2.0); // map to pixels availeable in current segment int tempsamp = constrain(mySampleAvg,0,SEGLEN/2); // Keep the sample from overflowing. @@ -7396,7 +7557,7 @@ uint16_t mode_gravfreq(void) { // Gravfreq. By Andrew Tuline. SEGENV.aux0 = indexNew; return FRAMETIME; } // mode_gravfreq() -static const char _data_FX_MODE_GRAVFREQ[] PROGMEM = "Gravfreq ☾@Rate of fall,Sensivity;!,!;!;1f;ix=128,m12=0,si=0"; // Pixels, Beatsin +static const char _data_FX_MODE_GRAVFREQ[] PROGMEM = "Gravfreq ☾@Rate of fall,Sensitivity;!,!;!;1f;ix=128,m12=0,si=0"; // Pixels, Beatsin ////////////////////// @@ -8082,7 +8243,7 @@ static const char _data_FX_MODE_2DWAVINGCELL[] PROGMEM = "Waving Cell@!,,Amplitu static const char _data_RESERVED[] PROGMEM = "RSVD"; // add (or replace reserved) effect mode and data into vector -// use id==255 to find unallocatd gaps (with "Reserved" data string) +// use id==255 to find unallocated gaps (with "Reserved" data string) // if vector size() is smaller than id (single) data is appended at the end (regardless of id) void WS2812FX::addEffect(uint8_t id, mode_ptr mode_fn, const char *mode_name) { if (id == 255) { // find empty slot @@ -8232,6 +8393,7 @@ void WS2812FX::setupEffectData() { // --- 1D audio effects --- addEffect(FX_MODE_PIXELS, &mode_pixels, _data_FX_MODE_PIXELS); addEffect(FX_MODE_PIXELWAVE, &mode_pixelwave, _data_FX_MODE_PIXELWAVE); + addEffect(FX_MODE_PARTYJERK, &mode_partyjerk, _data_FX_MODE_PARTYJERK); addEffect(FX_MODE_JUGGLES, &mode_juggles, _data_FX_MODE_JUGGLES); addEffect(FX_MODE_MATRIPIX, &mode_matripix, _data_FX_MODE_MATRIPIX); addEffect(FX_MODE_GRAVIMETER, &mode_gravimeter, _data_FX_MODE_GRAVIMETER); @@ -8265,6 +8427,11 @@ void WS2812FX::setupEffectData() { addEffect(FX_MODE_WAVESINS, &mode_wavesins, _data_FX_MODE_WAVESINS); addEffect(FX_MODE_ROCKTAVES, &mode_rocktaves, _data_FX_MODE_ROCKTAVES); + // --- WLEDSR experimental 1D audio enhanced + addEffect(FX_MODE_POPCORN_AR, &mode_popcorn_audio, _data_FX_MODE_POPCORN_AR); + addEffect(FX_MODE_STARBURST_AR, &mode_starburst_audio, _data_FX_MODE_STARBURST_AR); + addEffect(FX_MODE_FIREWORKS_AR, &mode_fireworks_audio, _data_FX_MODE_FIREWORKS_AR); + // --- 2D effects --- #ifndef WLED_DISABLE_2D addEffect(FX_MODE_2DSPACESHIPS, &mode_2Dspaceships, _data_FX_MODE_2DSPACESHIPS); diff --git a/wled00/FX.h b/wled00/FX.h index 93a4ae34..2a357e95 100644 --- a/wled00/FX.h +++ b/wled00/FX.h @@ -33,6 +33,7 @@ bool canUseSerial(void); // WLEDMM implemented in wled_serial.cpp void strip_wait_until_idle(String whoCalledMe); // WLEDMM implemented in FX_fcn.cpp +bool strip_uses_global_leds(void); // WLEDMM implemented in FX_fcn.cpp #define FASTLED_INTERNAL //remove annoying pragma messages #define USE_GET_MILLISECOND_TIMER @@ -334,8 +335,17 @@ void strip_wait_until_idle(String whoCalledMe); // WLEDMM implemented in FX_fcn. #define FX_MODE_ROCKTAVES 185 #define FX_MODE_2DAKEMI 186 #define FX_MODE_ARTIFX 187 //WLEDMM ARTIFX +#define FX_MODE_PARTYJERK 188 -#define MODE_COUNT 188 +// Experimental Audioresponsive modes from WLED-SR +// #define FX_MODE_3DSphereMove 189 // experimental WLED-SR "cube" mode +#define FX_MODE_POPCORN_AR 190 // WLED-SR audioreactive popcorn +// #define FX_MODE_MULTI_COMET_AR 191 // WLED-SR audioreactive multi-comet +#define FX_MODE_STARBURST_AR 192 // WLED-SR audioreactive fireworks starburst +// #define FX_MODE_PALETTE_AR 193 // WLED-SR audioreactive palette +#define FX_MODE_FIREWORKS_AR 194 // WLED-SR audioreactive fireworks + +#define MODE_COUNT 195 typedef enum mapping1D2D { M12_Pixels = 0, @@ -397,7 +407,7 @@ typedef struct Segment { uint16_t aux0; // custom var uint16_t aux1; // custom var byte* data = nullptr; // effect data pointer // WLEDMM initialize to nullptr - CRGB* ledsrgb = nullptr; // local leds[] array (may be a pointer to global) //WLEDMM rename to ledsrgb to search on them (temp?), and initialilize to nullptr + CRGB* ledsrgb = nullptr; // local leds[] array (may be a pointer to global) //WLEDMM rename to ledsrgb to search on them (temp?), and initialize to nullptr size_t ledsrgbSize; //WLEDMM static CRGB *_globalLeds; // global leds[] array static uint16_t maxWidth, maxHeight; // these define matrix width & height (max. segment dimensions) @@ -423,12 +433,12 @@ typedef struct Segment { uint8_t _briT; // temporary brightness uint8_t _cctT; // temporary CCT CRGBPalette16 _palT; // temporary palette - uint8_t _prevPaletteBlends; // number of previous palette blends (there are max 255 belnds possible) + uint8_t _prevPaletteBlends; // number of previous palette blends (there are max 255 blends possible) uint8_t _modeP; // previous mode/effect //uint16_t _aux0, _aux1; // previous mode/effect runtime data //uint32_t _step, _call; // previous mode/effect runtime data //byte *_data; // previous mode/effect runtime data - unsigned long _start; // must accommodate millis() + unsigned long _start; // must accommodate millis() uint16_t _dur; Transition(uint16_t dur=750) : _briT(255) @@ -507,7 +517,11 @@ typedef struct Segment { if (name) Serial.printf(" name=%s (%p)", name, name); if (data) Serial.printf(" dataLen=%d (%p)", (int)_dataLen, data); if (ledsrgb) Serial.printf(" [%sledsrgb %u bytes]", Segment::_globalLeds ? "global ":"",length()*sizeof(CRGB)); + if (strip_uses_global_leds() == true) Serial.println((Segment::_globalLeds != nullptr) ? F(" using global buffer.") : F(", using global buffer but Segment::_globalLeds is NULL!!")); Serial.println(); + #ifdef ARDUINO_ARCH_ESP32 + Serial.flush(); + #endif } #endif @@ -516,7 +530,7 @@ typedef struct Segment { strip_wait_until_idle("~Segment()"); #endif - if (!Segment::_globalLeds && (ledsrgb != nullptr)) {free(ledsrgb); ledsrgb = nullptr;} + if ((Segment::_globalLeds == nullptr) && !strip_uses_global_leds() && (ledsrgb != nullptr)) {free(ledsrgb); ledsrgb = nullptr;} // WLEDMM we need "!strip_uses_global_leds()" to avoid crashes (#104) if (name) { delete[] name; name = nullptr; } if (_t) { transitional = false; delete _t; _t = nullptr; } deallocateData(); @@ -575,7 +589,18 @@ typedef struct Segment { void startTransition(uint16_t dur); // transition has to start before actual segment values change void handleTransition(void); uint16_t progress(void); //transition progression between 0-65535 - uint8_t currentBri(uint8_t briNew, bool useCct = false); + + // WLEDMM method inlined for speed (its called at each setPixelColor) + inline uint8_t currentBri(uint8_t briNew, bool useCct = false) { + uint32_t prog = (transitional && _t) ? progress() : 0xFFFFU; + if (transitional && _t && prog < 0xFFFFU) { + if (useCct) return ((briNew * prog) + _t->_cctT * (0xFFFFU - prog)) >> 16; + else return ((briNew * prog) + _t->_briT * (0xFFFFU - prog)) >> 16; + } else { + return (useCct ? briNew : (on ? briNew : 0)); // WLEDMM aligned with upstream + } + } + uint8_t currentMode(uint8_t modeNew); uint32_t currentColor(uint8_t slot, uint32_t colorNew); CRGBPalette16 &loadPalette(CRGBPalette16 &tgt, uint8_t pal); diff --git a/wled00/FX_2Dfcn.cpp b/wled00/FX_2Dfcn.cpp index d9955d5b..999684b1 100644 --- a/wled00/FX_2Dfcn.cpp +++ b/wled00/FX_2Dfcn.cpp @@ -52,7 +52,7 @@ void WS2812FX::setUpMatrix() { } // safety check - // WLEDMM no chech on Segment::maxWidth * Segment::maxHeight > MAX_LEDS || + // WLEDMM no check on Segment::maxWidth * Segment::maxHeight > MAX_LEDS || if (Segment::maxWidth <= 1 || Segment::maxHeight <= 1) { DEBUG_PRINTF("2D Bounds error. %d x %d\n", Segment::maxWidth, Segment::maxHeight); isMatrix = false; @@ -173,7 +173,7 @@ void WS2812FX::setUpMatrix() { } // absolute matrix version of setPixelColor() -void IRAM_ATTR_YN WS2812FX::setPixelColorXY(int x, int y, uint32_t col) //WLEDMM: IRAM_ATTR conditionaly +void IRAM_ATTR_YN WS2812FX::setPixelColorXY(int x, int y, uint32_t col) //WLEDMM: IRAM_ATTR conditionally { #ifndef WLED_DISABLE_2D if (!isMatrix) return; // not a matrix set-up @@ -207,7 +207,7 @@ uint32_t WS2812FX::getPixelColorXY(uint16_t x, uint16_t y) { // XY(x,y) - gets pixel index within current segment (often used to reference leds[] array element) // WLEDMM Segment::XY()is declared inline, see FX.h -void IRAM_ATTR_YN Segment::setPixelColorXY(int x, int y, uint32_t col) //WLEDMM: IRAM_ATTR conditionaly +void IRAM_ATTR_YN Segment::setPixelColorXY(int x, int y, uint32_t col) //WLEDMM: IRAM_ATTR conditionally { if (Segment::maxHeight==1) return; // not a matrix set-up if (x >= virtualWidth() || y >= virtualHeight() || x<0 || y<0) return; // if pixel would fall out of virtual segment just exit diff --git a/wled00/FX_fcn.cpp b/wled00/FX_fcn.cpp index baed4c15..f405beaa 100644 --- a/wled00/FX_fcn.cpp +++ b/wled00/FX_fcn.cpp @@ -82,7 +82,10 @@ void strip_wait_until_idle(String whoCalledMe) { } #endif } - +// WLEDMM another helper for segment class +bool strip_uses_global_leds(void) { + return strip.useLedsArray; +} /////////////////////////////////////////////////////////////////////////////// // Segment class implementation @@ -146,7 +149,7 @@ Segment::Segment(Segment &&orig) noexcept { orig.jMap = nullptr; //WLEDMM jMap } -// copy assignment --> overwrite segment withg orig - deletes old buffers in "this", but does not change orig! +// copy assignment --> overwrite segment with orig - deletes old buffers in "this", but does not change orig! Segment& Segment::operator= (const Segment &orig) { DEBUG_PRINTLN(F("-- Copy-assignment segment --")); if (this != &orig) { @@ -201,12 +204,14 @@ Segment& Segment::operator= (Segment &&orig) noexcept { } bool Segment::allocateData(size_t len) { - if (data && _dataLen >= len) { - if (call == 0) memset(data, 0, len); // WLEDMM: clear data when SEGENV.call==0 - return true; //already allocated + // WLEDMM + if (data && _dataLen >= len) { // already allocated enough (reduce fragmentation) + if ((call == 0) && (len > 0)) memset(data, 0, len); // erase buffer if called during effect initialisation + return true; } //DEBUG_PRINTF("allocateData(%u) start %d, stop %d, vlen %d\n", len, start, stop, virtualLength()); deallocateData(); + if (len == 0) return false; // nothing to do if (Segment::getUsedSegmentData() + len > MAX_SEGMENT_DATA) return false; //not enough memory // do not use SPI RAM on ESP32 since it is slow //#if defined(ARDUINO_ARCH_ESP32) && defined(BOARD_HAS_PSRAM) && defined(WLED_USE_PSRAM) @@ -271,7 +276,7 @@ void Segment::setUpLeds() { } CRGBPalette16 &Segment::loadPalette(CRGBPalette16 &targetPalette, uint8_t pal) { - static unsigned long _lastPaletteChange = 0; // perhaps it should be per segment + static unsigned long _lastPaletteChange = millis() - 990000; // perhaps it should be per segment //WLEDMM changed init value to avoid pure orange after startup static CRGBPalette16 randomPalette = CRGBPalette16(DEFAULT_COLOR); static CRGBPalette16 prevRandomPalette = CRGBPalette16(CRGB(BLACK)); byte tcp[76] = { 255 }; //WLEDMM: prevent out-of-range access in loadDynamicGradientPalette() @@ -349,7 +354,7 @@ CRGBPalette16 &Segment::loadPalette(CRGBPalette16 &targetPalette, uint8_t pal) { CRGB sec = gamma32(colors[1]); CRGB ter = gamma32(colors[2]); targetPalette = CRGBPalette16(ter,sec,prim); break;} - case 5: {//primary + secondary (+tert if not off), more distinct + case 5: {//primary + secondary (+tertiary if not off), more distinct CRGB prim = gamma32(colors[0]); CRGB sec = gamma32(colors[1]); if (colors[2]) { @@ -411,22 +416,25 @@ void Segment::startTransition(uint16_t dur) { } // transition progression between 0-65535 -uint16_t Segment::progress() { +uint16_t IRAM_ATTR_YN Segment::progress() { if (!transitional || !_t) return 0xFFFFU; unsigned long timeNow = millis(); if (timeNow - _t->_start > _t->_dur || _t->_dur == 0) return 0xFFFFU; return (timeNow - _t->_start) * 0xFFFFU / _t->_dur; } -uint8_t Segment::currentBri(uint8_t briNew, bool useCct) { - uint32_t prog = progress(); +// WLEDMM Segment::currentBri() is declared inline, see FX.h +#if 0 +uint8_t IRAM_ATTR_YN Segment::currentBri(uint8_t briNew, bool useCct) { + uint32_t prog = (transitional && _t) ? progress() : 0xFFFFU; if (transitional && _t && prog < 0xFFFFU) { if (useCct) return ((briNew * prog) + _t->_cctT * (0xFFFFU - prog)) >> 16; else return ((briNew * prog) + _t->_briT * (0xFFFFU - prog)) >> 16; } else { - return briNew; + return (useCct ? briNew : (on ? briNew : 0)); // WLEDMM aligned with upstream } } +#endif uint8_t Segment::currentMode(uint8_t newMode) { return (progress()>32767U) ? newMode : _t->_modeP; // change effect in the middle of transition @@ -833,7 +841,7 @@ void xyFromBlock(uint16_t &x,uint16_t &y, uint16_t i, uint16_t vW, uint16_t vH, } -void IRAM_ATTR_YN Segment::setPixelColor(int i, uint32_t col) //WLEDMM: IRAM_ATTR conditionaly +void IRAM_ATTR_YN Segment::setPixelColor(int i, uint32_t col) //WLEDMM: IRAM_ATTR conditionally { if (!isActive()) return; // not active #ifndef WLED_DISABLE_2D @@ -942,7 +950,7 @@ void IRAM_ATTR_YN Segment::setPixelColor(int i, uint32_t col) //WLEDMM: IRAM_ATT uint16_t len = length(); uint8_t _bri_t = currentBri(on ? opacity : 0); - if (!_bri_t && !transitional && fadeTransition) return; // if _bri_t == 0 && segment is not transitionig && transitions are enabled then save a few CPU cycles + if (!_bri_t && !transitional && fadeTransition) return; // if _bri_t == 0 && segment is not transitioning && transitions are enabled then save a few CPU cycles if (_bri_t < 255) { byte r = scale8(R(col), _bri_t); byte g = scale8(G(col), _bri_t); @@ -1223,7 +1231,7 @@ void Segment::fade_out(uint8_t rate) { int g1 = G(color); int b1 = B(color); - int wdelta = mappedRate_r * (w2 - w1); // WLEDMM use receprocal - its faster + int wdelta = mappedRate_r * (w2 - w1); // WLEDMM use reciprocal - its faster int rdelta = mappedRate_r * (r2 - r1); int gdelta = mappedRate_r * (g2 - g1); int bdelta = mappedRate_r * (b2 - b1); @@ -1502,7 +1510,7 @@ void WS2812FX::enumerateLedmaps() { void WS2812FX::finalizeInit(void) { //reset segment runtimes - suspendStripService = true; // WELDMM avoid running effects on an incomplete strip + suspendStripService = true; // WLEDMM avoid running effects on an incomplete strip for (segment &seg : _segments) { seg.markForReset(); seg.resetIfRequired(); @@ -1583,11 +1591,11 @@ void WS2812FX::finalizeInit(void) DEBUG_PRINTLN(F("Loading custom ledmaps")); deserializeMap(); // (re)load default ledmap _isServicing = false; // WLEDMM - suspendStripService = false; // WELDMM ready, run ! + suspendStripService = false; // WLEDMM ready, run ! } // WLEDMM wait until strip is idle (=not servicing). -// on 8266 this function does nothing, because we can only do "buisy waiting" on ESP32 +// on 8266 this function does nothing, because we can only do "busy waiting" on ESP32 #define MAX_IDLE_WAIT_MS 50 // seems to work in most cases void WS2812FX::waitUntilIdle(void) { #if defined(ARDUINO_ARCH_ESP32) && defined(WLEDMM_PROTECT_SERVICE) @@ -1755,7 +1763,7 @@ void WS2812FX::estimateCurrentAndLimitBri() { uint8_t scaleB = (scaleI > 255) ? 255 : scaleI; uint8_t newBri = scale8(_brightness, scaleB); // to keep brightness uniform, sets virtual busses too - softhack007: apply reductions immediately - if (scaleB < 255) busses.setBrightness(scaleB, true); // NPB-LG has already applied brightness, so its suffifient to post-apply scaling ==> use scaleB instead of newBri + if (scaleB < 255) busses.setBrightness(scaleB, true); // NPB-LG has already applied brightness, so its sufficient to post-apply scaling ==> use scaleB instead of newBri busses.setBrightness(newBri, false); // set new brightness for next frame //currentMilliamps = (powerSum0 * newBri) / puPerMilliamp; // for NPBrightnessBus currentMilliamps = (powerSum0 * scaleB) / puPerMilliamp; // for NPBus-LG @@ -1768,8 +1776,7 @@ void WS2812FX::estimateCurrentAndLimitBri() { } void WS2812FX::show(void) { - - // avoid race condition, caputre _callback value + // avoid race condition, capture _callback value show_callback callback = _callback; if (callback) callback(); @@ -1788,7 +1795,7 @@ void WS2812FX::show(void) { if (diff > 0) fpsCurr = 1000 / diff; _cumulativeFps = (3 * _cumulativeFps + fpsCurr +2) >> 2; // "+2" for proper rounding (2/4 = 0.5) #if defined(ARDUINO_ARCH_ESP32) && defined(WLEDMM_FASTPATH) - _lastShow = b4show; // WLEDMM this is more accurate, however it also icreases CPU load - strip.service will run more frequently + _lastShow = b4show; // WLEDMM this is more accurate, however it also increases CPU load - strip.service will run more frequently #else _lastShow = now; #endif @@ -1815,7 +1822,7 @@ bool WS2812FX::isUpdating() { /** * Returns the refresh rate of the LED strip. Useful for finding out whether a given setup is fast enough. - * Only updates on show() or is set to 0 fps if last show is more than 2 secs ago, so accurary varies + * Only updates on show() or is set to 0 fps if last show is more than 2 secs ago, so accuracy varies */ uint16_t WS2812FX::getFps() { if (millis() - _lastShow > 2000) return 0; @@ -2235,7 +2242,7 @@ bool WS2812FX::deserializeMap(uint8_t n) { if (n) sprintf(fileName +7, "%d", n); //WLEDMM: trick to not include 0 in ledmap.json strcat(fileName, ".json"); isFile = WLED_FS.exists(fileName); - } else { //WLEDM add segment name as ledmap.name + } else { //WLEDMM add segment name as ledmap.name uint8_t segment_index = 0; for (segment &seg : _segments) { if (n == 10 + segment_index && !isFile && seg.name != nullptr) { @@ -2249,7 +2256,7 @@ bool WS2812FX::deserializeMap(uint8_t n) { if (!isFile) { // erase custom mapping if selecting nonexistent ledmap.json (n==0) - //WLEDM: doubt this is necessary as return false causes setupMatrix to deal with this !!!! + //WLEDMM: doubt this is necessary as return false causes setupMatrix to deal with this !!!! if (!isMatrix && !n) { customMappingSize = 0; loadedLedmap = 0; //WLEDMM diff --git a/wled00/bus_manager.cpp b/wled00/bus_manager.cpp index 359ff0a3..5d1f3c63 100644 --- a/wled00/bus_manager.cpp +++ b/wled00/bus_manager.cpp @@ -70,7 +70,7 @@ void ColorOrderMap::add(uint16_t start, uint16_t len, uint8_t colorOrder) { uint8_t IRAM_ATTR ColorOrderMap::getPixelColorOrder(uint16_t pix, uint8_t defaultColorOrder) const { if (_count == 0) return defaultColorOrder; - // upper nibble containd W swap information + // upper nibble contains W swap information uint8_t swapW = defaultColorOrder >> 4; for (uint8_t i = 0; i < _count; i++) { if (pix >= _mappings[i].start && pix < (_mappings[i].start + _mappings[i].len)) { @@ -83,7 +83,7 @@ uint8_t IRAM_ATTR ColorOrderMap::getPixelColorOrder(uint16_t pix, uint8_t defaul uint32_t Bus::autoWhiteCalc(uint32_t c) { uint8_t aWM = _autoWhiteMode; - if (_gAWM < 255) aWM = _gAWM; + if (_gAWM != AW_GLOBAL_DISABLED) aWM = _gAWM; if (aWM == RGBW_MODE_MANUAL_ONLY) return c; uint8_t w = W(c); //ignore auto-white calculation if w>0 and mode DUAL (DUAL behaves as BRIGHTER if w==0) diff --git a/wled00/bus_manager.h b/wled00/bus_manager.h index 30211624..ecbd5cdc 100644 --- a/wled00/bus_manager.h +++ b/wled00/bus_manager.h @@ -102,7 +102,7 @@ class Bus { { _type = type; _start = start; - _autoWhiteMode = Bus::hasWhite(_type) ? aw : RGBW_MODE_MANUAL_ONLY; + _autoWhiteMode = Bus::hasWhite(type) ? aw : RGBW_MODE_MANUAL_ONLY; }; virtual ~Bus() {} //throw the bus under the bus @@ -133,7 +133,7 @@ class Bus { } virtual bool hasWhite() { return Bus::hasWhite(_type); } static bool hasWhite(uint8_t type) { - if ((type >= TYPE_WS2812_1CH && type <= TYPE_WS2812_WWA) || type == TYPE_SK6812_RGBW || type == TYPE_TM1814) return true; // digital types with white channel + if ((type >= TYPE_WS2812_1CH && type <= TYPE_WS2812_WWA) || type == TYPE_SK6812_RGBW || type == TYPE_TM1814 || type == TYPE_UCS8904) return true; // digital types with white channel if (type > TYPE_ONOFF && type <= TYPE_ANALOG_5CH && type != TYPE_ANALOG_3CH) return true; // analog types with white channel if (type == TYPE_NET_DDP_RGBW) return true; // network types with white channel return false; diff --git a/wled00/bus_wrapper.h b/wled00/bus_wrapper.h index 8473938e..a5b9d7a7 100644 --- a/wled00/bus_wrapper.h +++ b/wled00/bus_wrapper.h @@ -69,17 +69,17 @@ #define I_32_RN_NEO_3 21 #define I_32_I0_NEO_3 22 #define I_32_I1_NEO_3 23 -#define I_32_BB_NEO_3 24 // bitbangging on ESP32 not recommended +#define I_32_BB_NEO_3 24 // bitbanging on ESP32 not recommended //RGBW #define I_32_RN_NEO_4 25 #define I_32_I0_NEO_4 26 #define I_32_I1_NEO_4 27 -#define I_32_BB_NEO_4 28 // bitbangging on ESP32 not recommended +#define I_32_BB_NEO_4 28 // bitbanging on ESP32 not recommended //400Kbps #define I_32_RN_400_3 29 #define I_32_I0_400_3 30 #define I_32_I1_400_3 31 -#define I_32_BB_400_3 32 // bitbangging on ESP32 not recommended +#define I_32_BB_400_3 32 // bitbanging on ESP32 not recommended //TM1814 (RGBW) #define I_32_RN_TM1_4 33 #define I_32_I0_TM1_4 34 @@ -374,7 +374,7 @@ class PolyBus { case I_32_I1_UCS_4: (static_cast(busPtr))->Begin(); break; #endif // case I_32_BB_UCS_4: (static_cast(busPtr))->Begin(); break; - // ESP32 can (and should, to avoid inadvertantly driving the chip select signal) specify the pins used for SPI, but only in begin() + // ESP32 can (and should, to avoid inadvertently driving the chip select signal) specify the pins used for SPI, but only in begin() case I_HS_DOT_3: beginDotStar(busPtr, pins[1], -1, pins[0], -1, clock_kHz); break; case I_HS_LPD_3: beginDotStar(busPtr, pins[1], -1, pins[0], -1, clock_kHz); break; case I_HS_LPO_3: beginDotStar(busPtr, pins[1], -1, pins[0], -1, clock_kHz); break; diff --git a/wled00/button.cpp b/wled00/button.cpp index 053d59dd..60df15eb 100644 --- a/wled00/button.cpp +++ b/wled00/button.cpp @@ -171,13 +171,12 @@ void handleAnalog(uint8_t b) // remove noise & reduce frequency of UI updates if (abs(int(aRead) - int(oldRead[b])) <= POT_SENSITIVITY) return; // no significant change in reading - // Unomment the next lines if you still see flickering related to potentiometer + // Un-comment the next lines if you still see flickering related to potentiometer // This waits until strip finishes updating (why: strip was not updating at the start of handleButton() but may have started during analogRead()?) //unsigned long wait_started = millis(); //while(strip.isUpdating() && (millis() - wait_started < STRIP_WAIT_TIME)) { // delay(1); //} - //if (strip.isUpdating()) return; // give up oldRead[b] = aRead; @@ -375,7 +374,7 @@ void handleIO() if (!offMode) { #ifdef ESP8266 // turn off built-in LED if strip is turned off - // this will break digital bus so will need to be reinitialised on On + // this will break digital bus so will need to be re-initialised on On PinOwner ledPinOwner = pinManager.getPinOwner(LED_BUILTIN); if (!strip.isOffRefreshRequired() && (ledPinOwner == PinOwner::None || ledPinOwner == PinOwner::BusDigital)) { pinMode(LED_BUILTIN, OUTPUT); @@ -392,4 +391,4 @@ void handleIO() } offMode = true; } -} \ No newline at end of file +} diff --git a/wled00/cfg.cpp b/wled00/cfg.cpp index 07a06945..4316b2c4 100644 --- a/wled00/cfg.cpp +++ b/wled00/cfg.cpp @@ -83,7 +83,7 @@ bool deserializeConfig(JsonObject doc, bool fromFS) { noWifiSleep = doc[F("wifi")][F("sleep")] | !noWifiSleep; // inverted noWifiSleep = !noWifiSleep; - //int wifi_phy = doc[F("wifi")][F("phy")]; //force phy mode n? + force802_3g = doc[F("wifi")][F("phy")] | force802_3g; //force phy mode g? JsonObject hw = doc[F("hw")]; @@ -103,10 +103,9 @@ bool deserializeConfig(JsonObject doc, bool fromFS) { } #endif - uint8_t autoWhiteMode = RGBW_MODE_MANUAL_ONLY; CJSON(strip.ablMilliampsMax, hw_led[F("maxpwr")]); CJSON(strip.milliampsPerLed, hw_led[F("ledma")]); - Bus::setGlobalAWMode(hw_led[F("rgbwm")] | 255); + Bus::setGlobalAWMode(hw_led[F("rgbwm")] | AW_GLOBAL_DISABLED); CJSON(correctWB, hw_led["cct"]); CJSON(cctFromRgb, hw_led[F("cr")]); CJSON(strip.cctBlending, hw_led[F("cb")]); @@ -185,7 +184,7 @@ bool deserializeConfig(JsonObject doc, bool fromFS) { } uint16_t length = elm["len"] | 1; - uint8_t colorOrder = (int)elm[F("order")]; + uint8_t colorOrder = (int)elm[F("order")]; // contains white channel swap option in upper nibble uint8_t skipFirst = elm[F("skip")]; uint16_t start = elm["start"] | 0; if (length==0 || start + length > MAX_LEDS) continue; // zero length or we reached max. number of LEDs, just stop @@ -194,7 +193,7 @@ bool deserializeConfig(JsonObject doc, bool fromFS) { bool refresh = elm["ref"] | false; uint16_t freqkHz = elm[F("freq")] | 0; // will be in kHz for DotStar and Hz for PWM (not yet implemented fully) ledType |= refresh << 7; // hack bit 7 to indicate strip requires off refresh - uint8_t AWmode = elm[F("rgbwm")] | autoWhiteMode; + uint8_t AWmode = elm[F("rgbwm")] | RGBW_MODE_MANUAL_ONLY; if (fromFS) { BusConfig bc = BusConfig(ledType, pins, start, length, colorOrder, reversed, skipFirst, AWmode, freqkHz); mem += BusManager::memUsage(bc); @@ -338,7 +337,7 @@ bool deserializeConfig(JsonObject doc, bool fromFS) { PinManagerPinType i2c[2] = { { i2c_sda, true }, { i2c_scl, true } }; if (i2c_scl >= 0 && i2c_sda >= 0 && pinManager.allocateMultiplePins(i2c, 2, PinOwner::HW_I2C)) { #ifdef ESP32 - Wire.setPins(i2c_sda, i2c_scl); // this will fail if Wire is initilised (Wire.begin() called prior) + Wire.setPins(i2c_sda, i2c_scl); // this will fail if Wire is initialised (Wire.begin() called prior) #endif // Wire.begin(); // WLEDMM moved into pinManager DEBUG_PRINTF("pinmgr success for global i2c %d %d\n", i2c_sda, i2c_scl); @@ -366,7 +365,7 @@ bool deserializeConfig(JsonObject doc, bool fromFS) { JsonObject light = doc[F("light")]; byte prev; //WLEDMM int tdd; //WLEDMM - if (!light.isNull()) { //WLEDMM: in case cfg string does not contain light! (solves issue that somethimes gamma correction dissappears) + if (!light.isNull()) { //WLEDMM: in case cfg string does not contain light! (solves issue that sometimes gamma correction dissappears) CJSON(briMultiplier, light[F("scale-bri")]); CJSON(strip.paletteBlend, light[F("pal-mode")]); CJSON(autoSegments, light[F("aseg")]); @@ -736,7 +735,7 @@ void serializeConfig() { JsonObject wifi = doc.createNestedObject("wifi"); wifi[F("sleep")] = !noWifiSleep; - //wifi[F("phy")] = 1; + wifi[F("phy")] = force802_3g; #ifdef WLED_USE_ETHERNET JsonObject ethernet = doc.createNestedObject("eth"); diff --git a/wled00/colors.cpp b/wled00/colors.cpp index aed4e56c..30d31927 100644 --- a/wled00/colors.cpp +++ b/wled00/colors.cpp @@ -325,7 +325,7 @@ static byte gammaT[256] = { // experimental // CIE 1931 lookup table (8bit->8bit) that was proposed during discussion of issue #2767 // https://github.com/Aircoookie/WLED/issues/2767#issuecomment-1310961308 -// unfortunately NepixelsBu has its own internal table, that kills low brightness values similar to the original WLED table. +// unfortunately NeoPixelBus has its own internal table, that kills low brightness values similar to the original WLED table. // see https://github.com/Makuna/NeoPixelBus/blob/master/src/internal/NeoGamma.h static const byte gammaT[256] = { 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, diff --git a/wled00/const.h b/wled00/const.h index 49467dcb..2e6e1c6b 100644 --- a/wled00/const.h +++ b/wled00/const.h @@ -103,7 +103,7 @@ #define USERMOD_ID_ROTARY_ENC_UI 8 //Usermod "usermod_v2_rotary_encoder_ui.h" #define USERMOD_ID_AUTO_SAVE 9 //Usermod "usermod_v2_auto_save.h" #define USERMOD_ID_DHT 10 //Usermod "usermod_dht.h" -#define USERMOD_ID_MODE_SORT 11 //Usermod "usermod_v2_mode_sort.h" +// #define USERMOD_ID_MODE_SORT 11 //Usermod "usermod_v2_mode_sort.h" #define USERMOD_ID_VL53L0X 12 //Usermod "usermod_vl53l0x_gestures.h" #define USERMOD_ID_MULTI_RELAY 13 //Usermod "usermod_multi_relay.h" #define USERMOD_ID_ANIMATED_STAIRCASE 14 //Usermod "Animated_Staircase.h" @@ -132,7 +132,10 @@ #define USERMOD_ID_SD_CARD 37 //Usermod "usermod_sd_card.h" #define USERMOD_ID_PWM_OUTPUTS 38 //Usermod "usermod_pwm_outputs.h #define USERMOD_ID_SHT 39 //Usermod "usermod_sht.h -#define USERMOD_ID_KLIPPER 40 // Usermod Klipper percentage +#define USERMOD_ID_KLIPPER 40 //Usermod Klipper percentage +#define USERMOD_ID_WIREGUARD 41 //Usermod "wireguard.h" +#define USERMOD_ID_INTERNAL_TEMPERATURE 42 //Usermod "usermod_internal_temperature.h" +#define USERMOD_ID_LDR_DUSK_DAWN 43 //Usermod "usermod_LDR_Dusk_Dawn_v2.h" //WLEDMM #define USERMOD_ID_MCUTEMP 89 //Usermod "usermod_v2_artifx.h" #define USERMOD_ID_ARTIFX 90 //Usermod "usermod_v2_artifx.h" @@ -155,7 +158,7 @@ #define CALL_MODE_NO_NOTIFY 5 #define CALL_MODE_FX_CHANGED 6 //no longer used #define CALL_MODE_HUE 7 -#define CALL_MODE_PRESET_CYCLE 8 +#define CALL_MODE_PRESET_CYCLE 8 //no longer used #define CALL_MODE_BLYNK 9 //no longer used #define CALL_MODE_ALEXA 10 #define CALL_MODE_WS_SEND 11 //special call mode, not for notifier, updates websocket only @@ -196,8 +199,8 @@ #define DMX_MODE_MULTIPLE_RGB 4 //every LED is addressed with its own RGB (ledCount * 3 channels) #define DMX_MODE_MULTIPLE_DRGB 5 //every LED is addressed with its own RGB and share a master dimmer (ledCount * 3 + 1 channels) #define DMX_MODE_MULTIPLE_RGBW 6 //every LED is addressed with its own RGBW (ledCount * 4 channels) -#define DMX_MODE_EFFECT_SEGMENT 8 //trigger standalone effects of WLED (15 channels per segement) -#define DMX_MODE_EFFECT_SEGMENT_W 9 //trigger standalone effects of WLED (18 channels per segement) +#define DMX_MODE_EFFECT_SEGMENT 8 //trigger standalone effects of WLED (15 channels per segment) +#define DMX_MODE_EFFECT_SEGMENT_W 9 //trigger standalone effects of WLED (18 channels per segment) #define DMX_MODE_PRESET 10 //apply presets (1 channel) //Light capability byte (unused) 0bRCCCTTTT @@ -317,7 +320,7 @@ #define SEG_DIFFERS_OPT 0x02 // all segment options except: selected, reset & transitional #define SEG_DIFFERS_COL 0x04 // colors #define SEG_DIFFERS_FX 0x08 // effect/mode parameters -#define SEG_DIFFERS_BOUNDS 0x10 // segment start/stop ounds +#define SEG_DIFFERS_BOUNDS 0x10 // segment start/stop bounds #define SEG_DIFFERS_GSO 0x20 // grouping, spacing & offset #define SEG_DIFFERS_SEL 0x80 // selected @@ -331,26 +334,46 @@ // WLED Error modes #define ERR_NONE 0 // All good :) -#define ERR_EEP_COMMIT 2 // Could not commit to EEPROM (wrong flash layout?) +#define ERR_DENIED 1 // Permission denied +#define ERR_EEP_COMMIT 2 // Could not commit to EEPROM (wrong flash layout?) OBSOLETE #define ERR_NOBUF 3 // JSON buffer was not released in time, request cannot be handled at this time #define ERR_JSON 9 // JSON parsing failed (input too large?) #define ERR_FS_BEGIN 10 // Could not init filesystem (no partition?) #define ERR_FS_QUOTA 11 // The FS is full or the maximum file size is reached #define ERR_FS_PLOAD 12 // It was attempted to load a preset that does not exist #define ERR_FS_IRLOAD 13 // It was attempted to load an IR JSON cmd, but the "ir.json" file does not exist -#define ERR_FS_GENERAL 19 // A general unspecified filesystem error occured +#define ERR_FS_RMLOAD 14 // It was attempted to load an remote JSON cmd, but the "remote.json" file does not exist +#define ERR_FS_GENERAL 19 // A general unspecified filesystem error occurred #define ERR_OVERTEMP 30 // An attached temperature sensor has measured above threshold temperature (not implemented) #define ERR_OVERCURRENT 31 // An attached current sensor has measured a current above the threshold (not implemented) #define ERR_UNDERVOLT 32 // An attached voltmeter has measured a voltage below the threshold (not implemented) -//Timer mode types +// Timer mode types #define NL_MODE_SET 0 //After nightlight time elapsed, set to target brightness #define NL_MODE_FADE 1 //Fade to target brightness gradually #define NL_MODE_COLORFADE 2 //Fade to target brightness and secondary color gradually #define NL_MODE_SUN 3 //Sunrise/sunset. Target brightness is set immediately, then Sunrise effect is started. Max 60 min. +// Settings sub page IDs +#define SUBPAGE_MENU 0 +#define SUBPAGE_WIFI 1 +#define SUBPAGE_LEDS 2 +#define SUBPAGE_UI 3 +#define SUBPAGE_SYNC 4 +#define SUBPAGE_TIME 5 +#define SUBPAGE_SEC 6 +#define SUBPAGE_DMX 7 +#define SUBPAGE_UM 8 +#define SUBPAGE_UPDATE 9 +#define SUBPAGE_2D 10 +#define SUBPAGE_LOCK 251 +#define SUBPAGE_PINREQ 252 +#define SUBPAGE_CSS 253 +#define SUBPAGE_JS 254 +#define SUBPAGE_WELCOME 255 -#define NTP_PACKET_SIZE 48 +#define NTP_PACKET_SIZE 48 // size of NTP receive buffer +#define NTP_MIN_PACKET_SIZE 48 // min expected size - NTP v4 allows for "extended information" appended to the standard fields //maximum number of rendered LEDs - this does not have to match max. physical LEDs, e.g. if there are virtual busses #ifndef MAX_LEDS @@ -381,7 +404,11 @@ #ifdef ESP8266 #define SETTINGS_STACK_BUF_SIZE 2048 #else -#define SETTINGS_STACK_BUF_SIZE 3802 // WLEDMM added 696+10 bytes of margin (was 3096) for audioreactive UI + #if !defined(USERMOD_AUDIOREACTIVE) + #define SETTINGS_STACK_BUF_SIZE 3834 // WLEDMM added 696+32 bytes of margin (was 3096) + #else + #define SETTINGS_STACK_BUF_SIZE 4000 // WLEDMM more buffer for audioreactive UI (add '-D CONFIG_ASYNC_TCP_TASK_STACK_SIZE=9216' to your build_flags) + #endif #endif #ifdef WLED_USE_ETHERNET @@ -422,12 +449,12 @@ #if defined(BOARD_HAS_PSRAM) && (defined(WLED_USE_PSRAM) || defined(WLED_USE_PSRAM_JSON)) #if defined(ARDUINO_ARCH_ESP32S2) || defined(ARDUINO_ARCH_ESP32C3) #if defined(ARDUINO_ARCH_ESP32C3) - #define JSON_BUFFER_SIZE 46000 // WLEDMM - max 46KB on -C3 with PSRAM (chip has 400kb RAM) + #define JSON_BUFFER_SIZE 44000 // WLEDMM - max 44KB on -C3 with PSRAM (chip has 400kb RAM) #else - #define JSON_BUFFER_SIZE 36000 // WLEDMM - max 36KB on -S2 with PSRAM (chip has 320kb RAM) + #define JSON_BUFFER_SIZE 28000 // WLEDMM - max 28KB on -S2 with PSRAM (chip has 320kb RAM) #endif #else - #define JSON_BUFFER_SIZE 56000 // WLEDMM (was 60000) slightly reduced to avoid build error "region dram0_0_seg overflowed" + #define JSON_BUFFER_SIZE 54000 // WLEDMM (was 60000) slightly reduced to avoid build error "region dram0_0_seg overflowed" #endif #else #define JSON_BUFFER_SIZE 24576 @@ -446,8 +473,9 @@ //this is merely a default now and can be changed at runtime #ifndef LEDPIN -#if defined(ESP8266) || (defined(ARDUINO_ARCH_ESP32) && defined(BOARD_HAS_PSRAM)) || defined(CONFIG_IDF_TARGET_ESP32C3) - #define LEDPIN 2 // GPIO2 (D4) on Wemod D1 mini compatible boards + +#if defined(ESP8266) || (defined(ARDUINO_ARCH_ESP32) && defined(BOARD_HAS_PSRAM)) || defined(CONFIG_IDF_TARGET_ESP32C3) || defined(ARDUINO_ESP32_PICO) //WLEDMM + #define LEDPIN 2 // GPIO2 (D4) on Wemos D1 mini compatible boards, and on boards where GPIO16 is not available #else #define LEDPIN 16 // aligns with GPIO2 (D4) on Wemos D1 mini32 compatible boards #endif @@ -468,7 +496,7 @@ #define INTERFACE_UPDATE_COOLDOWN 2000 //time in ms to wait between websockets, alexa, and MQTT updates // HW_PIN_SCL & HW_PIN_SDA are used for information in usermods settings page and usermods themselves -// which GPIO pins are actually used in a hardwarea layout (controller board) +// which GPIO pins are actually used in a hardware layout (controller board) //WLEDMM: unchangeable pins are not treated here by undef them, but elsewhere in the code // defaults for 1st I2C on ESP32 (Wire global) #ifndef HW_PIN_SCL @@ -479,7 +507,7 @@ #endif // HW_PIN_SCLKSPI & HW_PIN_MOSISPI & HW_PIN_MISOSPI are used for information in usermods settings page and usermods themselves -// which GPIO pins are actually used in a hardwarea layout (controller board) +// which GPIO pins are actually used in a hardware layout (controller board) //WLEDMM: unchangeable pins are not treated here by undef them, but elsewhere in the code // defaults for VSPI on ESP32 (SPI global, SPI.cpp) as HSPI is used by WLED (bus_wrapper.h) #ifndef HW_PIN_CLOCKSPI diff --git a/wled00/data/cpal/cpal.htm b/wled00/data/cpal/cpal.htm index 5a8c801e..773c02d2 100644 --- a/wled00/data/cpal/cpal.htm +++ b/wled00/data/cpal/cpal.htm @@ -1,6 +1,7 @@ + @@ -45,6 +46,7 @@ width: 7px; top: 50%; transform: translateY(-50%); + touch-action: none; } .color-picker-marker { height: 7px; @@ -94,9 +96,14 @@ line-height: 1; } .wrap { - width: 800px; + width: 100%; margin: 0 auto; } + @media (min-width: 800px) { + .wrap { + width: 800px; + } + } .palette { height: 20px; } @@ -136,6 +143,9 @@ .sendSpan, .editSpan{ cursor: pointer; } + h1 { + font-size: 1.6rem; + } @@ -191,6 +201,7 @@ var gradientLength = rect.width; var mOffs = Math.round((gradientLength / 256) / 2) - 5; var paletteArray = []; //Holds the palettes after load. + var paletteName = []; // Holds the names of the palettes after load. var svgSave = '' var svgEdit = '' @@ -349,24 +360,31 @@ var gradientLength = maxX - minX + 1; elmnt.onmousedown = dragMouseDown; + elmnt.ontouchstart = dragMouseDown; function dragMouseDown(e) { removeTrashcan(event) e = e || window.event; - e.preventDefault(); + var isTouch = e.type.startsWith('touch'); + if (!isTouch) e.preventDefault(); // get the mouse cursor position at startup: - mousePos = e.clientX; + mousePos = isTouch ? e.touches[0].clientX : e.clientX; d.onmouseup = closeDragElement; + d.ontouchcancel = closeDragElement; + d.ontouchend = closeDragElement; // call a function whenever the cursor moves: d.onmousemove = elementDrag; + d.ontouchmove = elementDrag; } function elementDrag(e) { e = e || window.event; - e.preventDefault(); + var isTouch = e.type.startsWith('touch'); + if (!isTouch) e.preventDefault(); // calculate the new cursor position: - posNew = mousePos - e.clientX; - mousePos = e.clientX; + var clientX = isTouch ? e.touches[0].clientX : e.clientX; + posNew = mousePos - clientX; + mousePos = clientX; mousePosInGradient = mousePos - (minX + 1) truePos = Math.round((mousePosInGradient/gradientLength)*256); @@ -393,7 +411,10 @@ function closeDragElement() { /* stop moving when mouse button is released:*/ d.onmouseup = null; + d.ontouchcancel = null; + d.ontouchend = null; d.onmousemove = null; + d.ontouchmove = null; } } @@ -485,7 +506,7 @@ console.log('Error: ', e); console.log(' Status: ', this.status); //Show some error notification for some time setTimeout(()=>{ - //Remove it when time has pased + //Remove it when time has passed }, 1000); }); req.open("POST", "/upload"); @@ -500,8 +521,10 @@ if (hst.length > 0 ) { try { var arr = []; - const response = await fetch('http://'+hst+'/json/info'); - const json = await response.json(); + const responseInfo = await fetch('http://'+hst+'/json/info'); + const responsePalettes = await fetch('http://'+hst+'/json/palettes'); + const json = await responseInfo.json(); + paletteName = await responsePalettes.json(); cpalc = json.cpalcount; fetchPalettes(cpalc-1); } catch (error) { @@ -530,7 +553,7 @@ paletteArray.push({"palette":[0,70,70,70,255,70,70,70]}); } - //Get static palettes from localStorage and do some magic to reformat them into the same format as the pallete JSONs + //Get static palettes from localStorage and do some magic to reformat them into the same format as the palette JSONs //This code excludes any objects with "non valid integer colors", i.e. r, c1, c2, c3 and such //This code also fixes potentially broken palettes which doesn't end on 255 //The code finally also removes any representations of the custom palettes, since we read them from file @@ -540,6 +563,7 @@ alert("The cache of palettes are missig from your browser. You should probably return to the main page and let it load properly for the palettes cache to regenerate before returning here.","Missing cached palettes!") } else { for (const key in wledPalx.p) { + wledPalx.p[key].name = paletteName[key]; if (key > 245) { delete wledPalx.p[key]; continue; @@ -571,8 +595,11 @@ } const pArray = Object.entries(wledPalx.p).map(([key, value]) => ({ - [key]: value.flat() + [key]: value.flat(), + name: value.name })); + // Sort pArray by name + pArray.sort((a, b) => a.name.localeCompare(b.name)); paletteArray.push( ...pArray); } @@ -614,6 +641,9 @@ editSpan.id = `editSpan${i}`; editSpan.onclick = function() {loadForEdit(i)}; editSpan.setAttribute('title', `Copy slot ${i} palette to editor`); + if (paletteArray[i].name) { + editSpan.setAttribute('title', `Copy ${paletteArray[i].name} palette to editor`); + } editSpan.innerHTML = svgEdit; editSpan.classList.add("editSpan") diff --git a/wled00/data/index.js b/wled00/data/index.js index 6b836f1c..2e47f504 100644 --- a/wled00/data/index.js +++ b/wled00/data/index.js @@ -33,15 +33,17 @@ var hol = [ [0,11,24,4,"https://aircoookie.github.io/xmas.png"], // christmas [0,2,17,1,"https://images.alphacoders.com/491/491123.jpg"], // st. Patrick's day [2025,3,20,2,"https://aircoookie.github.io/easter.png"], - [2023,3,9,2,"https://aircoookie.github.io/easter.png"], [2024,2,31,2,"https://aircoookie.github.io/easter.png"], - [0,6,4,1,"https://initiate.alphacoders.com/download/wallpaper/516792/images/jpg/510921363292536"], // 4th of July - [0,0,1,1,"https://initiate.alphacoders.com/download/wallpaper/1198800/images/jpg/2522807481585600"] // new year + [0,6,4,1,"https://images.alphacoders.com/516/516792.jpg"], // 4th of July + [0,0,1,1,"https://images.alphacoders.com/119/1198800.jpg"] // new year ]; var ctx = null; // WLEDMM var ledmapNr = -1; //WLEDMM var ledmapFileNames = []; //WLEDMM let nodesData = []; //WLEDMM +let ibtglChecked = true; //WLEDMM +let sbtglChecked = true; //WLEDMM +let sbchkChecked = false; //WLEDMM function handleVisibilityChange() {if (!d.hidden && new Date () - lastUpdate > 3000) requestJson();} function sCol(na, col) {d.documentElement.style.setProperty(na, col);} @@ -673,11 +675,11 @@ function populateInfo(i) if (i.cn) vcn = i.cn; //WLEDMM: add total heap and total PSRAM, and build number, add bin name - if (i.ver.includes("0.14.1")) vcn = "Sitting Ducks"; // easter egg if (i.ver.includes("0.14.0")) vcn = "Lupo"; // check for MM versioning scheme if (i.ver.includes("0.14.0-b15")) vcn = "Sitting Ducks"; // late easter egg if (i.ver.includes("0.14.0-b2")) vcn = "This is the way"; // recently watched The Mandalorian? I have spoken ;-) if (i.ver.includes("0.14.0-b15.22")) vcn = "Lupo"; + if (i.ver.includes("0.14.1-b3")) vcn = "Fried Chicken"; // final line of "One Vision" by Queen cn += `v${i.ver}  "${vcn}"

(WLEDMM_${i.ver} ${i.rel}.bin)

build ${i.vid}

${urows} ${urows===""?'':''} @@ -695,6 +697,7 @@ ${inforow("Filesystem",i.fs.u + "/" + i.fs.t + " kB (" +Math.round(i.fs.u*100/i. ${theap>0?inforow("Heap ☾",((i.totalheap-i.freeheap)/1000).toFixed(0)+"/"+theap.toFixed(0)+" kB"," ("+Math.round((i.totalheap-i.freeheap)/(10*theap))+"%)"):""} ${i.minfreeheap?inforow("Max used heap ☾",((i.totalheap-i.minfreeheap)/1000).toFixed(1)+" kB"," ("+Math.round((i.totalheap-i.minfreeheap)/(10*theap))+"%)"):""} ${inforow("Free heap",heap," kB")} +${i.freestack?inforow("Free stack ☾",(i.freestack/1024).toFixed(3)," kB"):""} ${inforow("Flash Size ☾",flashsize," kB")} ${i.tpram?inforow("PSRAM ☾",(i.tpram/1024).toFixed(1)," kB"):""} ${i.psram?((i.tpram-i.psram)>16383?inforow("Used PSRAM ☾",((i.tpram-i.psram)/1024).toFixed(1)," kB"):inforow("Used PSRAM ☾",(i.tpram-i.psram)," B")):""} @@ -974,6 +977,11 @@ function redrawPalPrev() } } +// WLEDMM experimental - revert gamma correction in the browser (for palette preview) +function unGamma(val, gamma){ + return Math.round(Math.pow(val / 255.0, 1.0/gamma) * 255.0); +} + function genPalPrevCss(id) { if (!palettesData) return; @@ -996,15 +1004,17 @@ function genPalPrevCss(id) let r, g, b; let index = false; if (Array.isArray(e)) { + // fastLED palettes, with gammas (2.6, 2.2, 2.5) - we revert with slightly reduced values, to better preserve contrast index = Math.round(e[0]/255*100); - r = e[1]; - g = e[2]; - b = e[3]; + r = unGamma(e[1], 2.5); + g = unGamma(e[2], 2.3); + b = unGamma(e[3], 2.4); } else if (e == 'r') { r = Math.random() * 255; g = Math.random() * 255; b = Math.random() * 255; } else { + // gradient palettes have custom gamma ~2.6 - don't revert, so their look matches the custom colors display let i = e[1] - 1; var cd = gId('csl').children; r = parseInt(cd[i].dataset.r); @@ -1104,7 +1114,7 @@ function ddpAll() { callNode(lastinfo.ip, "cfg", {"hw":{"led":{"ins":ins}}}); //self } -//curl -s -F "update=@/Users/ewoudwijma/Developer/GitHub/MoonModules/WLED/build_output/release/WLEDMM_0.14.0-b27.31_esp32_4MB_M.bin" 192.168.8.105/update >nul & +//curl -s -F "update=@/Users/ewoudwijma/Developer/GitHub/MoonModules/WLED/build_output/release/WLEDMM_0.14.0-b28.35_esp32_4MB_M.bin" 192.168.8.105/update >nul & //WLEDMM function SuperSync() { @@ -1180,7 +1190,7 @@ function populateNodes(i,n) } //fetch both cfg.json and info from a node and store in nodesData array - function fetchInfoAndCfg(ip, nodeNr, parms, callback) { + function fetchInfoAndCfg(ip, nodeNr, callback) { //add td placeholders urows += ``; for (let nm of ["ins", "pwr", "ip", "type", "rel", "ver", "vid", "fx", "scale-bri", "gcc", "fps", "fpsr", "lpc", "lvc", "mrx", "pnl0", "pnlC", "pnlX", "ssu"]) @@ -1188,22 +1198,24 @@ function populateNodes(i,n) urows += ``; //fetch info, state and effects - fetchAndExecute(`http://${ip}/`, "json", nodeNr, function(nodeNr, text) { + fetchAndExecute(`http://${ip}/`, "json/si", nodeNr, function(nodeNr, text) { let info = JSON.parse(text)["info"]; let state = JSON.parse(text)["state"]; - let effects = JSON.parse(text)["effects"]; //set values + let name = n.nodes[nodeNr].name; + let url = ``; + gId(`ins${nodeNr}`).innerHTML = url; + gId(`ip${nodeNr}`).innerText = ip; gId(`pwr${nodeNr}`).innerHTML = ""; gId(`type${nodeNr}`).innerText = info.arch; gId(`vid${nodeNr}`).innerText = info.vid; - gId(`ip${nodeNr}`).innerText = info.ip; gId(`rel${nodeNr}`).innerText = info.rel; gId(`ver${nodeNr}`).innerText = info.ver; gId(`lvc${nodeNr}`).innerText = info.leds.count; gId(`lpc${nodeNr}`).innerText = info.leds.countP; gId(`fpsr${nodeNr}`).innerText = info.leds.fps; - gId(`fx${nodeNr}`).innerText = effects[state.seg[0].fx]; + gId(`fx${nodeNr}`).innerText = eJson.find((o)=>{return o.id==state.seg[0].fx}).name; //store data if (!nodesData[nodeNr]) nodesData[nodeNr] = {}; @@ -1215,12 +1227,10 @@ function populateNodes(i,n) } //fetch cfg.json - fetchAndExecute(`http://${ip}/`, "cfg.json", nodeNr, function(nodeNr,text) { + fetchAndExecute(`http://${ip}/`, "cfg.json", nodeNr, function(nodeNr, text) { let cfg = JSON.parse(text); //set values - let url = ``; - gId(`ins${nodeNr}`).innerHTML = url; gId(`scale-bri${nodeNr}`).innerText = cfg.light["scale-bri"]; gId(`gcc${nodeNr}`).innerText = cfg.light.gc.col > 1; gId(`fps${nodeNr}`).innerText = cfg.hw.led.fps; @@ -1281,15 +1291,12 @@ function populateNodes(i,n) } } callback(nodeNr); - }, function(nodeNr, text) {console.log("cfg error", nodeNr, n.nodes[nodeNr].name, text);callback(nodeNr);}); //also callback on error + }, function(nodeNr, text) { + console.log("cfg error", nodeNr, ip, n.nodes[nodeNr].name, text); + callback(nodeNr); + }); //also callback on error }, function(nodeNr, text) { - //to show nodes which failed in providing json info - let ip = n.nodes[nodeNr].ip; - let name = n.nodes[nodeNr].name; - let url = ``; - gId(`ins${nodeNr}`).innerHTML = url; - gId(`ip${nodeNr}`).innerText = ip; - console.log("json error", nodeNr, ip, name, text); + console.log("json error", nodeNr, ip, n.nodes[nodeNr].name, text); callback(nodeNr); //also callback on error }); } //fetchInfoAndCfg @@ -1315,7 +1322,7 @@ function populateNodes(i,n) for (let o of n.nodes) { if (o.name) { if (o.ip) { //in ap mode no ip... - fetchInfoAndCfg(o.ip, nnodes, -1, function(nodeNr) { + fetchInfoAndCfg(o.ip, nnodes, function(nodeNr) { nodesDone++; console.log("nodesDone", nodesDone, nodeNr, n.nodes.length, nnodes, n.nodes[nodeNr].name); //if all done @@ -1365,7 +1372,7 @@ function updateTrail(e) { if (e==null) return; let sd = e.parentNode.getElementsByClassName('sliderdisplay')[0]; - if (sd && getComputedStyle(sd).getPropertyValue("--bg") !== "none") { + if (sd && getComputedStyle(sd).getPropertyValue("--bg").trim() !== "none") { // trim() for Safari var max = e.hasAttribute('max') ? e.attributes.max.value : 255; var perc = Math.round(e.value * 100 / max); if (perc < 50) perc += 2; @@ -1384,7 +1391,7 @@ function toggleBubble(e) } // updates segment length upon input of segment values -function updateLen(s, draw=true) //WLEDMM conditonally draw segment view +function updateLen(s, draw=true) //WLEDMM conditionally draw segment view { if (!gId(`seg${s}s`)) return; var start = parseInt(gId(`seg${s}s`).value); @@ -1725,7 +1732,7 @@ function updateUI() if (hasRGB) { updateTrail(gId('sliderR')); updateTrail(gId('sliderG')); - updateTrail(gId('sliderB')); + updateTrail(gId('sliderB')); } if (hasWhite) updateTrail(gId('sliderW')); @@ -1978,9 +1985,9 @@ function readState(s,command=false) // - For AC effects (id<128) 2 sliders and 3 colors and the palette will be shown // - For SR effects (id>128) 5 sliders and 3 colors and the palette will be shown // If effective (@) -// - a ; seperates slider controls (left) from color controls (middle) and palette control (right) +// - a ; separates slider controls (left) from color controls (middle) and palette control (right) // - if left, middle or right is empty no controls are shown -// - a , seperates slider controls (max 5) or color controls (max 3). Palette has only one value +// - a , separates slider controls (max 5) or color controls (max 3). Palette has only one value // - a ! means that the default is used. // - For sliders: Effect speeds, Effect intensity, Custom 1, Custom 2, Custom 3 // - For colors: Fx color, Background color, Custom @@ -2438,7 +2445,7 @@ function makeP(i,pl) end: 0 }; var rep = plJson[i].repeat ? plJson[i].repeat : 0; - content = + content = `
`; if (Array.isArray(lastinfo.maps) && lastinfo.maps.length>0) { //WLEDMM >0 instead of 1 to show also first ledmap. Attention: WLED AC has isM check, in MM Matrices are supported so do not check on isM @@ -2518,7 +2525,15 @@ function makePUtil() p.innerHTML = `
${makeP(0)}
`; let pTx = gId('p0txt'); pTx.focus(); - pTx.value = eJson.find((o)=>{return o.id==selectedFx}).name; + //WLEDMM: take the name PLUS the icons as default name + let fxName = eJson.find((o)=>{return o.id==selectedFx}).name; + + let sE = gId('fxlist').querySelector(`.lstI[data-id="${selectedFx}"]`); + if (sE) { + fxName = sE.querySelector(".lstIname").innerText; + } + + pTx.value = fxName; pTx.select(); p.scrollIntoView({ behavior: 'smooth', @@ -2906,8 +2921,11 @@ function saveP(i,pl) obj.o = true; } else { obj.ib = gId(`p${i}ibtgl`).checked; + ibtglChecked = obj.ib; //WLEDMM obj.sb = gId(`p${i}sbtgl`).checked; + sbtglChecked = obj.sb; //WLEDMM obj.sc = gId(`p${i}sbchk`).checked; + sbchkChecked = obj.sc; //WLEDMM if (gId(`p${i}lmp`) && gId(`p${i}lmp`).value!=="") obj.ledmap = parseInt(gId(`p${i}lmp`).value); } } @@ -3239,7 +3257,7 @@ function genPresets() addToPlaylist("All", ef.id); if (m.includes("1")) addToPlaylist("All1", ef.id); if (m.includes("2")) addToPlaylist("All2", ef.id); - } //fxData is array + } //fxdata is array } //not RSVD } //all effects @@ -3266,13 +3284,15 @@ function genPresets() //WLEDMM: utility function to load contents of file from FS (used in draw) function fetchAndExecute(url, name, parms, callback, callError = null) { + let errorCalled = false; fetch (url+name, { method: 'get' }) .then(res => { if (!res.ok) { - callError("File " + name + " not found"); + if (!errorCalled && callError) callError(parms, "File " + name + " not found"); + errorCalled = true; return ""; } return res.text(); @@ -3281,7 +3301,8 @@ function fetchAndExecute(url, name, parms, callback, callError = null) callback(parms, text); }) .catch(function (error) { - if (callError) callError(parms, "Error getting " + name); + if (!errorCalled && callError) callError(parms, "Error getting " + name); + errorCalled = true; console.log(error); }) .finally(() => { diff --git a/wled00/data/peek.js b/wled00/data/peek.js index 5192cfec..24ee7ee7 100644 --- a/wled00/data/peek.js +++ b/wled00/data/peek.js @@ -25,7 +25,7 @@ function peek(c) { let mW = leds[2]; // matrix width let mH = leds[3]; // matrix height let pPL = Math.min(c.width / mW, c.height / mH); // pixels per LED (width of circle) - let lOf = Math.floor((c.width - pPL*mW)/2); //left offeset (to center matrix) + let lOf = Math.floor((c.width - pPL*mW)/2); //left offset (to center matrix) var i = 4; //same offset as in ws.cpp ctx.clearRect(0, 0, c.width, c.height); //WLEDMM function colorAmp(color) { diff --git a/wled00/data/pixart/getPixelValues.js b/wled00/data/pixart/getPixelValues.js index 6f68f2d2..7f4265fd 100644 --- a/wled00/data/pixart/getPixelValues.js +++ b/wled00/data/pixart/getPixelValues.js @@ -69,7 +69,7 @@ function getPixelRGBValues(base64Image) { let sizeY = szY.value; if (color != accentColor || sizeX < 1 || sizeY < 1){ - //image will not be rezised Set desitred size to original size + //image will not be resized Set desired size to original size sizeX = image.width; sizeY = image.height; //failsafe for not generating huge images automatically @@ -153,7 +153,7 @@ function getPixelRGBValues(base64Image) { let curentColorIndex = 0 let commandArray = []; - //For evry pixel in the LED array + //For every pixel in the LED array for (let i = 0; i < maxi; i++) { let pixel = ledRGBValues[i]; let r = pixel[0]; diff --git a/wled00/data/settings_leds.htm b/wled00/data/settings_leds.htm index ce9e710a..545a3b50 100644 --- a/wled00/data/settings_leds.htm +++ b/wled00/data/settings_leds.htm @@ -26,7 +26,9 @@ d.body.appendChild(scE); // success event scE.addEventListener("load", () => { - GetV();checkSi();setABL(); + GetV(); + checkSi(); + setABL(); if (d.um_p[0]==-1) d.um_p.shift(); }); // error event @@ -345,7 +347,7 @@ ${i+1}:
AP IP: Not active

Experimental

+ Force 802.11g mode (ESP8266 only):
Disable WiFi sleep:
Can help with connectivity issues.
Do not enable if WiFi is working correctly, increases power consumption.
diff --git a/wled00/data/simple.js b/wled00/data/simple.js index 42c76266..8e3d2914 100644 --- a/wled00/data/simple.js +++ b/wled00/data/simple.js @@ -965,7 +965,7 @@ function readState(s,command=false) errstr = "Missing IR.json."; break; case 19: - errstr = "A filesystem error has occured."; + errstr = "A filesystem error has occurred."; break; } showToast('Error ' + s.error + ": " + errstr, true); diff --git a/wled00/data/style.css b/wled00/data/style.css index 608cc92f..5daca929 100644 --- a/wled00/data/style.css +++ b/wled00/data/style.css @@ -61,6 +61,12 @@ button.sml { .hide { display: none; } +.err { + color: #f00; +} +.warn { + color: #fa0; +} input { background: #333; color: #fff; @@ -114,6 +120,10 @@ select { font-family: Verdana, sans-serif; border: 0.5ch solid #333; } +select.pin { + max-width: 120px; + text-overflow: ellipsis; +} tr { line-height: 100%; } diff --git a/wled00/fcn_declare.h b/wled00/fcn_declare.h index f46c7cce..ab29dd8d 100644 --- a/wled00/fcn_declare.h +++ b/wled00/fcn_declare.h @@ -373,6 +373,22 @@ um_data_t* simulateSound(uint8_t simulationId); CRGB getCRGBForBand(int x, uint8_t *fftResult, int pal); //WLEDMM netmindz ar palette char *cleanUpName(char *in); // to clean up a name that was read from file +// RAII guard class for the JSON Buffer lock +// Modeled after std::lock_guard +class JSONBufferGuard { + bool holding_lock; + public: + inline JSONBufferGuard(uint8_t module=255) : holding_lock(requestJSONBufferLock(module)) {}; + inline ~JSONBufferGuard() { if (holding_lock) releaseJSONBufferLock(); }; + inline JSONBufferGuard(const JSONBufferGuard&) = delete; // Noncopyable + inline JSONBufferGuard& operator=(const JSONBufferGuard&) = delete; + inline JSONBufferGuard(JSONBufferGuard&& r) : holding_lock(r.holding_lock) { r.holding_lock = false; }; // but movable + inline JSONBufferGuard& operator=(JSONBufferGuard&& r) { holding_lock |= r.holding_lock; r.holding_lock = false; return *this; }; + inline bool owns_lock() const { return holding_lock; } + explicit inline operator bool() const { return owns_lock(); }; + inline void release() { if (holding_lock) releaseJSONBufferLock(); holding_lock = false; } +}; + #ifdef WLED_ADD_EEPROM_SUPPORT //wled_eeprom.cpp void applyMacro(byte index); diff --git a/wled00/html_cpal.h b/wled00/html_cpal.h index 0765d044..9585d731 100644 --- a/wled00/html_cpal.h +++ b/wled00/html_cpal.h @@ -7,302 +7,317 @@ */ // Autogenerated from wled00/data/cpal/cpal.htm, do not edit!! -const uint16_t PAGE_cpal_L = 4721; +const uint16_t PAGE_cpal_L = 4970; const uint8_t PAGE_cpal[] PROGMEM = { - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0xbd, 0x3b, 0x7f, 0x73, 0xdb, 0xb6, - 0x92, 0xff, 0xe7, 0x53, 0x20, 0x4c, 0x5f, 0x42, 0xd6, 0x14, 0x45, 0xd2, 0xb6, 0x64, 0x4b, 0xa2, - 0x3b, 0xa9, 0x93, 0x77, 0xce, 0x8d, 0xdd, 0x64, 0x5e, 0x7c, 0x6e, 0x7b, 0x3e, 0xbf, 0x31, 0x4d, - 0x42, 0x12, 0x1b, 0x8a, 0xe0, 0x03, 0x21, 0xd9, 0xae, 0xac, 0xef, 0x7e, 0xbb, 0x00, 0x48, 0x91, - 0x94, 0xe4, 0x24, 0xd7, 0x37, 0xd7, 0xf1, 0x44, 0x20, 0xb0, 0x58, 0xec, 0x2e, 0xf6, 0x17, 0x16, - 0xe8, 0xe8, 0xe5, 0xbb, 0x8f, 0xa7, 0x97, 0xbf, 0x7f, 0x7a, 0x4f, 0xa6, 0x62, 0x96, 0x9e, 0x90, - 0x51, 0xf9, 0x43, 0xc3, 0x18, 0x7e, 0x66, 0x54, 0x84, 0x30, 0x22, 0xf2, 0x0e, 0xfd, 0xd7, 0x3c, - 0x59, 0x04, 0xc6, 0x69, 0x18, 0x4d, 0x69, 0xe7, 0x94, 0x65, 0x82, 0xb3, 0xd4, 0x20, 0x2f, 0x22, - 0x68, 0xd1, 0x4c, 0x04, 0x46, 0xc6, 0x3a, 0x11, 0x8e, 0xd9, 0x04, 0x5a, 0x85, 0x60, 0x1c, 0x5a, - 0xb3, 0x79, 0x21, 0x3a, 0x9c, 0x2e, 0xc2, 0x34, 0x89, 0x43, 0x41, 0x8d, 0x6d, 0x08, 0x3f, 0xf1, - 0x70, 0x32, 0x0b, 0xb7, 0x61, 0xda, 0x0a, 0xfe, 0xfe, 0x21, 0x4f, 0x38, 0x2d, 0x0c, 0x52, 0x81, - 0xbb, 0x08, 0x27, 0x12, 0x91, 0xd2, 0x93, 0x17, 0xbf, 0x9e, 0xbf, 0x7f, 0x47, 0x4e, 0x61, 0x55, - 0x36, 0x23, 0x9f, 0xc2, 0x94, 0x0a, 0x41, 0xc9, 0xfb, 0x38, 0x01, 0x6a, 0x46, 0x5d, 0x05, 0x42, - 0x46, 0x45, 0xc4, 0x93, 0x5c, 0x10, 0xf1, 0x98, 0xd3, 0xc0, 0x10, 0xf4, 0x41, 0x74, 0xff, 0x08, - 0x17, 0xa1, 0xea, 0x35, 0x4e, 0x5e, 0x8c, 0xe7, 0x59, 0x24, 0x12, 0x96, 0x91, 0xc9, 0x87, 0xd8, - 0xa4, 0xd6, 0x92, 0x53, 0x31, 0xe7, 0x19, 0x89, 0x9d, 0x09, 0x15, 0xef, 0x53, 0x3a, 0x83, 0x35, - 0x7f, 0x7e, 0x94, 0x43, 0xab, 0x0a, 0x34, 0x7a, 0xdf, 0x80, 0x8c, 0x38, 0x05, 0x6e, 0x35, 0x30, - 0x02, 0x2e, 0x42, 0x4e, 0xe2, 0x20, 0x66, 0xd1, 0x1c, 0x7b, 0x5e, 0x8c, 0xba, 0x6a, 0x35, 0x24, - 0x46, 0x3c, 0x22, 0xdd, 0x77, 0x2c, 0x7e, 0x5c, 0x8e, 0x81, 0xa3, 0xce, 0x38, 0x9c, 0x25, 0xe9, - 0xe3, 0xe0, 0x2d, 0x4f, 0xc2, 0xd4, 0x2e, 0xc2, 0xac, 0xe8, 0x14, 0x94, 0x27, 0xe3, 0xe1, 0x5d, - 0x18, 0x7d, 0x99, 0x70, 0x36, 0xcf, 0xe2, 0x4e, 0xc4, 0x52, 0xc6, 0x07, 0xaf, 0x3c, 0xcf, 0x1b, - 0xca, 0x29, 0x45, 0xf2, 0x27, 0x1d, 0x78, 0xbd, 0xfc, 0x61, 0xa8, 0x47, 0xe2, 0x38, 0x1e, 0xce, - 0x42, 0x3e, 0x49, 0xb2, 0x81, 0x4b, 0x3c, 0x17, 0x06, 0xd2, 0x24, 0xa3, 0x9d, 0x29, 0x4d, 0x26, - 0x53, 0x31, 0x70, 0x0e, 0x57, 0xaf, 0xf2, 0x90, 0x03, 0x21, 0x1d, 0x94, 0x61, 0x08, 0x43, 0x7c, - 0x99, 0xb3, 0x22, 0x41, 0x56, 0x06, 0x9c, 0xa6, 0xa1, 0x48, 0x16, 0x74, 0x78, 0x9f, 0xc4, 0x62, - 0x3a, 0xf0, 0x5c, 0xf7, 0x6f, 0x43, 0x3d, 0xd1, 0x07, 0x4c, 0xab, 0x57, 0x77, 0x4c, 0x80, 0x74, - 0x4f, 0x37, 0x67, 0x86, 0x77, 0x05, 0x4b, 0xe7, 0x82, 0xea, 0xa5, 0x3b, 0x82, 0xe5, 0x83, 0x43, - 0x39, 0x65, 0xc2, 0xc3, 0x38, 0xc1, 0xf5, 0xee, 0xd8, 0xc3, 0x72, 0x13, 0x2f, 0xb6, 0x57, 0x8e, - 0xa4, 0xbd, 0x03, 0x73, 0xbf, 0x50, 0x6e, 0xeb, 0xaf, 0x3c, 0x89, 0xe0, 0x4b, 0x77, 0x6e, 0x59, - 0xe9, 0x8e, 0xf1, 0x18, 0xc6, 0x11, 0xfd, 0xbc, 0x18, 0xec, 0x03, 0xa3, 0x1b, 0x62, 0x2a, 0x92, - 0x74, 0x41, 0xb9, 0x86, 0x1c, 0xf8, 0xf9, 0x03, 0x81, 0xb9, 0x49, 0x4c, 0xf8, 0xe4, 0x2e, 0x34, - 0x7b, 0x47, 0xb6, 0xfa, 0x73, 0x0e, 0xad, 0xe1, 0x9f, 0x9d, 0x24, 0x8b, 0xe9, 0xc3, 0xc0, 0x6f, - 0xd2, 0xb2, 0xd4, 0x54, 0xee, 0xa3, 0x1c, 0x15, 0xf1, 0x7d, 0x68, 0x29, 0xee, 0xfe, 0x36, 0x14, - 0x1c, 0xf6, 0x68, 0xcc, 0xf8, 0x6c, 0x20, 0x5b, 0x20, 0x3c, 0xfa, 0xbb, 0xd9, 0x81, 0x11, 0x6b, - 0xb5, 0x95, 0x09, 0x8d, 0xad, 0xbf, 0x81, 0xcc, 0x3b, 0x44, 0x29, 0xc4, 0x14, 0x94, 0x96, 0xee, - 0xe6, 0x58, 0x4f, 0x3f, 0xac, 0xa6, 0x63, 0xeb, 0x1b, 0xc4, 0xf0, 0x6a, 0x3c, 0x1e, 0x97, 0x42, - 0xd8, 0xaf, 0x84, 0xf0, 0xea, 0xf8, 0xce, 0x3f, 0xf2, 0x8f, 0xe4, 0xfa, 0xbe, 0x0f, 0xdc, 0x6c, - 0xc8, 0x40, 0x11, 0xbf, 0x9b, 0x10, 0xaf, 0x22, 0xc4, 0xab, 0x08, 0x91, 0xcd, 0x92, 0xa5, 0x0a, - 0xa5, 0x57, 0x92, 0x59, 0x53, 0xdf, 0xad, 0x4a, 0xbd, 0x72, 0xee, 0xe6, 0xa0, 0x62, 0x59, 0x94, - 0x86, 0x45, 0xb1, 0xcc, 0xc3, 0x38, 0x4e, 0xb2, 0xc9, 0xc0, 0xad, 0x34, 0x7a, 0x08, 0xfb, 0x29, - 0x92, 0x28, 0x4c, 0x3b, 0xe0, 0x56, 0x26, 0xd9, 0x40, 0x29, 0xe4, 0x0e, 0x5c, 0x6d, 0x75, 0x25, - 0x45, 0x1e, 0x66, 0xcb, 0x38, 0x29, 0xf2, 0x34, 0x7c, 0x1c, 0x24, 0x99, 0x34, 0x8c, 0x71, 0x4a, - 0x1f, 0x86, 0x12, 0x59, 0x27, 0x11, 0x74, 0x56, 0x0c, 0x22, 0x50, 0x56, 0x50, 0x9a, 0x9a, 0xe8, - 0x6a, 0x86, 0x06, 0x3a, 0xd4, 0x26, 0x61, 0x96, 0xc4, 0x71, 0x4a, 0x57, 0xaf, 0x92, 0x6c, 0xcc, - 0x2a, 0xe4, 0x86, 0x31, 0x44, 0xef, 0xa2, 0x41, 0xbe, 0x8a, 0x72, 0xd3, 0x02, 0x6b, 0x76, 0xb4, - 0x61, 0xc4, 0x20, 0xa5, 0x7b, 0x1e, 0xe6, 0xda, 0x9a, 0x8e, 0x5c, 0x1c, 0xaf, 0x4c, 0x3e, 0x9c, - 0x0b, 0xb6, 0x72, 0x72, 0xe5, 0xff, 0x96, 0x75, 0xeb, 0x2d, 0x3b, 0xff, 0x43, 0x5b, 0x64, 0xb1, - 0x44, 0xde, 0x61, 0x6f, 0x6a, 0x40, 0x9b, 0xea, 0x54, 0x4d, 0x2b, 0x2e, 0x40, 0x88, 0xcb, 0x96, - 0x7d, 0xd7, 0x3c, 0x85, 0x04, 0xbc, 0x64, 0x79, 0xb9, 0xe6, 0x38, 0x51, 0x3e, 0x06, 0x56, 0xfa, - 0x8b, 0xb2, 0x68, 0xf1, 0x0e, 0xcb, 0x94, 0x2c, 0x7c, 0x92, 0xae, 0xac, 0x92, 0xfa, 0xae, 0xbd, - 0xdc, 0x42, 0x51, 0x5b, 0xbe, 0xff, 0x56, 0x0a, 0x95, 0x0e, 0x17, 0xef, 0x92, 0xc5, 0x56, 0x6d, - 0xd3, 0x6b, 0xa7, 0x74, 0xdc, 0x30, 0x66, 0xb9, 0x47, 0x14, 0x02, 0xd6, 0x67, 0x50, 0x53, 0xdb, - 0x29, 0x68, 0x16, 0x63, 0x6b, 0x19, 0xcd, 0x79, 0x01, 0x94, 0xe4, 0x2c, 0x41, 0xba, 0x56, 0x18, - 0x41, 0x64, 0xe0, 0x20, 0xa3, 0xae, 0x0e, 0xd4, 0x18, 0x41, 0xe0, 0x27, 0x4e, 0x16, 0x24, 0x89, - 0x03, 0x03, 0x95, 0x03, 0x62, 0x24, 0x9a, 0x90, 0xfe, 0xd0, 0x83, 0x2f, 0xe4, 0xc4, 0xc0, 0x68, - 0xc8, 0xeb, 0x0f, 0x88, 0x98, 0xc9, 0xf8, 0xb1, 0x94, 0x8c, 0x66, 0x1f, 0xa7, 0x4c, 0xbd, 0xed, - 0x33, 0x36, 0x25, 0x8c, 0xd0, 0xc5, 0x62, 0x52, 0x81, 0x2b, 0x8e, 0xf6, 0x31, 0x2c, 0x95, 0x1e, - 0xb4, 0x57, 0x29, 0x69, 0x87, 0xcb, 0x1e, 0xe8, 0x30, 0xc8, 0x22, 0xa1, 0xf7, 0x3f, 0xb3, 0x07, - 0x08, 0xe4, 0xc4, 0x25, 0xfb, 0x3e, 0xfc, 0x19, 0x27, 0xa3, 0x3c, 0x14, 0x53, 0xf2, 0x62, 0x9c, - 0xa4, 0x69, 0x60, 0xbc, 0x72, 0xdd, 0x7d, 0xd8, 0x02, 0x03, 0x42, 0xa8, 0x71, 0xd1, 0x23, 0xbe, - 0x3f, 0x3d, 0x5a, 0x1c, 0x9c, 0xf5, 0xfe, 0xbc, 0xf0, 0x0e, 0x88, 0x77, 0x30, 0x3d, 0x58, 0x1c, - 0x4d, 0x3b, 0x07, 0xf0, 0x75, 0x04, 0xb1, 0xae, 0xfa, 0xf2, 0x7d, 0xd2, 0x43, 0xb8, 0x69, 0xe7, - 0xe8, 0x4f, 0xa3, 0x7b, 0x02, 0x02, 0x5b, 0x4c, 0x4e, 0x5e, 0x00, 0x89, 0x20, 0x4e, 0x29, 0x21, - 0x94, 0x9b, 0x71, 0xf2, 0x5c, 0xc2, 0x80, 0xa0, 0x52, 0xc2, 0x1e, 0xfe, 0x0b, 0xc2, 0x2b, 0x45, - 0x88, 0xd3, 0xdb, 0x11, 0xd4, 0xa8, 0x09, 0xbf, 0x1e, 0xef, 0x80, 0x17, 0x3d, 0xb5, 0x8e, 0xe1, - 0xfb, 0x36, 0xa1, 0xc4, 0x5b, 0x5a, 0x21, 0x26, 0x4b, 0x6a, 0x67, 0xeb, 0x76, 0xd9, 0x82, 0x04, - 0x33, 0xac, 0x14, 0x40, 0x7f, 0x02, 0xff, 0xa7, 0x73, 0x8e, 0x74, 0xa7, 0x8f, 0x24, 0xc9, 0xc8, - 0xbc, 0xa0, 0x24, 0x52, 0xbc, 0x97, 0x88, 0x48, 0x8b, 0xda, 0xbf, 0x4e, 0x34, 0xfa, 0x44, 0xb9, - 0x72, 0x0a, 0xa1, 0x84, 0x40, 0xb2, 0x24, 0xa6, 0x94, 0x94, 0x12, 0x22, 0x54, 0xca, 0x9a, 0x08, - 0x46, 0xc0, 0xcf, 0x93, 0x8c, 0xde, 0x13, 0x69, 0x73, 0xa4, 0x80, 0xf0, 0x04, 0x79, 0x00, 0x02, - 0xab, 0x19, 0xb2, 0x9b, 0xc6, 0x04, 0x44, 0x4a, 0xee, 0x68, 0xca, 0xee, 0x65, 0xaf, 0x02, 0xc3, - 0xe9, 0xd1, 0x34, 0xcc, 0x26, 0x94, 0x24, 0xa2, 0x50, 0xa0, 0x8e, 0x5e, 0x10, 0xa1, 0x9a, 0xf3, - 0x20, 0x1c, 0x81, 0xeb, 0xc6, 0x55, 0xcd, 0x30, 0x8b, 0x31, 0x8f, 0x1c, 0x27, 0x7c, 0x66, 0x21, - 0x12, 0x15, 0x7d, 0x1d, 0xf2, 0x31, 0x8b, 0x28, 0x19, 0x27, 0x59, 0x52, 0x4c, 0x69, 0x6c, 0x83, - 0x14, 0x4b, 0x4c, 0x21, 0xe7, 0x88, 0x21, 0x42, 0x36, 0x18, 0x99, 0xe7, 0x29, 0x0b, 0x63, 0x40, - 0x08, 0x6d, 0x1c, 0x8d, 0x69, 0x91, 0xe0, 0x5a, 0x45, 0xca, 0x84, 0x43, 0x2e, 0x99, 0xe4, 0x8e, - 0xd0, 0x87, 0x04, 0x64, 0x94, 0x4d, 0x4a, 0x19, 0xd7, 0xf1, 0xe5, 0x34, 0x8b, 0x92, 0x54, 0x22, - 0x74, 0xc8, 0x8b, 0x2d, 0x42, 0xff, 0x7e, 0x99, 0x4b, 0xed, 0x2c, 0x04, 0x38, 0xa5, 0xe8, 0x53, - 0xa5, 0x2f, 0x5f, 0x51, 0x17, 0x04, 0xdf, 0xa9, 0x32, 0x6f, 0x17, 0x61, 0x92, 0x86, 0x77, 0x29, - 0x48, 0x5b, 0x62, 0xfd, 0x9a, 0xae, 0xc8, 0x9f, 0x51, 0x57, 0x3b, 0x24, 0x9d, 0x6d, 0xbf, 0xd8, - 0x95, 0x6e, 0x63, 0x6a, 0x5c, 0x6a, 0x03, 0x7a, 0x01, 0xcc, 0xba, 0x9b, 0x06, 0x64, 0xd9, 0x11, - 0xac, 0x18, 0x05, 0x1d, 0xcf, 0xce, 0x1f, 0x4e, 0x59, 0x1a, 0x2c, 0x57, 0xb6, 0xd0, 0xbf, 0x9c, - 0x46, 0x22, 0xa8, 0x4d, 0xc7, 0x24, 0xfd, 0x67, 0xcc, 0x01, 0x40, 0xde, 0xb0, 0xff, 0xd0, 0xf9, - 0x0f, 0x80, 0x30, 0x2d, 0xbb, 0x84, 0x39, 0xa7, 0xd9, 0x44, 0x4c, 0x03, 0x9c, 0xe7, 0x48, 0x0f, - 0x65, 0xcf, 0x3e, 0x8e, 0xc7, 0x45, 0x70, 0x01, 0xfe, 0xc6, 0x91, 0xd9, 0x83, 0xd9, 0x04, 0xed, - 0xfa, 0x87, 0xbd, 0xae, 0x6f, 0x75, 0x0e, 0x6d, 0xcd, 0xf6, 0x5b, 0xce, 0xc3, 0xc7, 0xe0, 0xfa, - 0xc6, 0x06, 0x87, 0xf2, 0x39, 0x5c, 0xd0, 0xe0, 0x8d, 0x74, 0x7b, 0x0d, 0xaf, 0xe7, 0x1f, 0xae, - 0xbd, 0x1e, 0xb6, 0x5b, 0x4e, 0xce, 0x3f, 0x80, 0xbf, 0xd2, 0xc9, 0x49, 0x1f, 0x87, 0x21, 0x46, - 0xba, 0x37, 0xdf, 0xb7, 0x3d, 0xff, 0xad, 0xe7, 0xda, 0x1e, 0x02, 0xc2, 0x0f, 0xf1, 0x7c, 0xdb, - 0x6f, 0xf6, 0x6c, 0x05, 0x69, 0x42, 0x20, 0xc8, 0x45, 0x1f, 0xfe, 0x39, 0x87, 0x31, 0xaf, 0x7f, - 0xe5, 0x1d, 0x9c, 0x79, 0xbd, 0x2b, 0xcf, 0x3d, 0xf3, 0xfc, 0xab, 0xfe, 0x39, 0x0e, 0xfc, 0x77, - 0xe5, 0x14, 0xdf, 0x20, 0x27, 0xe8, 0xf3, 0xfe, 0xbd, 0x9c, 0x20, 0x51, 0xa7, 0x3d, 0xe7, 0xa0, - 0x6f, 0xfb, 0x40, 0x31, 0x36, 0x24, 0xe1, 0xa7, 0x48, 0x8f, 0x73, 0xb8, 0x4f, 0xd4, 0x90, 0xaf, - 0xf8, 0x3b, 0x95, 0x7d, 0xf8, 0xe9, 0x97, 0xe3, 0xbe, 0x82, 0xd6, 0x53, 0xf5, 0xb8, 0x84, 0xbe, - 0xf0, 0x0e, 0x1d, 0xcf, 0xee, 0x3b, 0x6e, 0xff, 0x14, 0x5a, 0xfe, 0x81, 0x6c, 0x12, 0x68, 0xee, - 0x1f, 0x41, 0xd3, 0xf3, 0xb1, 0x79, 0x08, 0x2d, 0x7f, 0xff, 0xdc, 0xeb, 0x39, 0xfd, 0xbe, 0x7d, - 0xe4, 0x1c, 0xc2, 0x02, 0xf0, 0xd3, 0x87, 0xb1, 0xbe, 0x7d, 0x2c, 0xc1, 0xe5, 0xc8, 0xb1, 0xe3, - 0x1f, 0x9d, 0x03, 0x38, 0x34, 0x3d, 0x57, 0xb6, 0xf7, 0x01, 0x08, 0x20, 0x71, 0xee, 0x01, 0x36, - 0x11, 0xcd, 0x29, 0x34, 0x8f, 0x7c, 0x8d, 0xfb, 0xc0, 0x39, 0xee, 0x55, 0x2b, 0x2a, 0x32, 0x2e, - 0x60, 0x96, 0xb7, 0x0f, 0xb3, 0x8e, 0x3c, 0x44, 0xe6, 0x1d, 0x23, 0xb2, 0xa3, 0xfe, 0xf9, 0x31, - 0xf6, 0xc2, 0x42, 0xc7, 0xfb, 0x67, 0x08, 0x76, 0x85, 0x68, 0xfa, 0xe7, 0x6b, 0xe0, 0xda, 0x1e, - 0x0c, 0xab, 0xb3, 0x24, 0xa8, 0xe6, 0xc7, 0xb1, 0x89, 0xa7, 0xc9, 0xff, 0x37, 0xd5, 0xae, 0x1d, - 0x64, 0xd3, 0xe4, 0xcb, 0xc7, 0xac, 0x4c, 0xad, 0xd4, 0xa1, 0x76, 0xc6, 0x16, 0xf4, 0x92, 0x87, - 0xc5, 0x34, 0x0a, 0x33, 0xe8, 0xb1, 0xc1, 0x51, 0x9f, 0x9a, 0x35, 0xa4, 0xd4, 0x61, 0xb0, 0x0c, - 0x15, 0xbf, 0x75, 0x9b, 0xe8, 0x7f, 0x04, 0xf4, 0x56, 0xed, 0x90, 0x2c, 0xe7, 0x51, 0x1b, 0x4e, - 0xec, 0x86, 0xb5, 0x04, 0x53, 0x22, 0x1c, 0x4d, 0x9a, 0x05, 0x2f, 0x3d, 0xc8, 0xb3, 0xb2, 0x42, - 0x90, 0xb0, 0xc1, 0xee, 0xbf, 0xe6, 0x94, 0x3f, 0x7e, 0x06, 0x87, 0x1c, 0x81, 0xab, 0x7e, 0x9b, - 0xa6, 0xa6, 0xd1, 0x38, 0x96, 0x19, 0xd6, 0x30, 0x19, 0x9b, 0xa1, 0x03, 0x47, 0xaf, 0xf7, 0x61, - 0x34, 0x35, 0x4d, 0x61, 0x73, 0x2b, 0x38, 0x59, 0x0a, 0x94, 0xd3, 0x5b, 0x21, 0x78, 0x02, 0x19, - 0x18, 0x35, 0x8d, 0x38, 0x14, 0x61, 0x47, 0xf0, 0x39, 0x85, 0x8c, 0xcd, 0xb0, 0x82, 0x80, 0xbe, - 0x7e, 0x6d, 0xc2, 0x9a, 0xae, 0xb5, 0x02, 0x4e, 0x9c, 0x54, 0x52, 0x7a, 0xe2, 0xf5, 0xcb, 0x5e, - 0x9b, 0x59, 0xea, 0x18, 0x8f, 0xd8, 0xe9, 0x89, 0xfb, 0xfa, 0x35, 0x1d, 0xf9, 0x87, 0x87, 0x16, - 0x2c, 0x63, 0xa2, 0xab, 0xca, 0x02, 0x6f, 0x98, 0x8d, 0x02, 0xaf, 0xf7, 0xfa, 0x35, 0x1f, 0x41, - 0x73, 0x6f, 0xcf, 0x92, 0x1e, 0x4b, 0x92, 0x76, 0xa1, 0x28, 0xdb, 0xcb, 0xac, 0xa7, 0x27, 0x93, - 0x07, 0x99, 0x35, 0xa4, 0x29, 0x84, 0x58, 0x1e, 0xd0, 0xa1, 0x61, 0x04, 0x81, 0x80, 0x45, 0x80, - 0xfb, 0x57, 0xc6, 0x9e, 0xe9, 0xf5, 0xfa, 0xfd, 0xbe, 0xef, 0x1d, 0xfe, 0xa8, 0xe4, 0x08, 0x71, - 0x88, 0xcd, 0x4c, 0x6b, 0x34, 0x72, 0x2d, 0x47, 0xb0, 0xcf, 0x40, 0x7c, 0x36, 0x01, 0x18, 0x0b, - 0xf2, 0xdc, 0xf8, 0xb3, 0x08, 0xb9, 0x30, 0x7b, 0xb6, 0xe1, 0x1a, 0x96, 0xa5, 0x25, 0x95, 0x06, - 0xd1, 0x7b, 0xd3, 0xc0, 0xfc, 0x04, 0xc4, 0x90, 0x3a, 0xd2, 0x65, 0xff, 0x12, 0xce, 0xc0, 0x6a, - 0x1b, 0x22, 0xb2, 0x53, 0x07, 0xbd, 0x7b, 0x83, 0x36, 0xbe, 0x5e, 0xc0, 0x82, 0xf1, 0x62, 0xb7, - 0xb0, 0x6c, 0xfa, 0x0c, 0x00, 0xe0, 0x34, 0x6c, 0xb1, 0x03, 0x40, 0xe9, 0x83, 0xa1, 0xf4, 0x0f, - 0x61, 0x60, 0xeb, 0xdf, 0x2f, 0x50, 0x31, 0x20, 0x12, 0x52, 0x48, 0x96, 0x40, 0x5e, 0x18, 0x02, - 0x0d, 0x1b, 0x72, 0x8f, 0xfc, 0xef, 0x73, 0x0e, 0xa1, 0x90, 0x7f, 0xe2, 0x2c, 0x97, 0xf8, 0xd0, - 0xfd, 0x38, 0x98, 0x18, 0x3f, 0xaf, 0xb9, 0x3f, 0x52, 0x6b, 0x4f, 0x2e, 0xb0, 0x67, 0x80, 0x5b, - 0xd2, 0x82, 0x49, 0xa4, 0x60, 0x92, 0x2c, 0x9f, 0x0b, 0x54, 0x10, 0x47, 0x45, 0x1d, 0x29, 0x00, - 0xc3, 0x4e, 0x9c, 0x45, 0x98, 0xce, 0x69, 0x20, 0xa0, 0xb5, 0x21, 0x32, 0x75, 0xd0, 0x45, 0xa0, - 0x4a, 0x64, 0x9f, 0x54, 0x57, 0x53, 0x64, 0xc9, 0x16, 0x66, 0xd4, 0x7a, 0xf6, 0x3c, 0xc7, 0x22, - 0x57, 0x69, 0x3c, 0xdb, 0x41, 0x35, 0xdf, 0x51, 0x7e, 0x9a, 0x7e, 0x29, 0x77, 0xb3, 0xa8, 0xef, - 0x66, 0xb1, 0x8b, 0xb4, 0x6a, 0x53, 0x8b, 0x36, 0x85, 0x5b, 0xb7, 0xb6, 0x78, 0x66, 0x71, 0x96, - 0xe2, 0xea, 0x00, 0x52, 0x93, 0x75, 0x5d, 0xf0, 0x40, 0xf9, 0x8e, 0x11, 0x4d, 0x71, 0x5c, 0xa7, - 0x98, 0xa3, 0x95, 0x70, 0xb4, 0x12, 0xd0, 0xef, 0xb8, 0x4e, 0x7e, 0xa3, 0x98, 0x61, 0xd8, 0xb1, - 0x24, 0x5c, 0x75, 0x6e, 0xa5, 0x39, 0xde, 0x4d, 0x33, 0x05, 0xd3, 0x56, 0x33, 0x4f, 0x91, 0x71, - 0x2c, 0xaa, 0x21, 0xfc, 0x0e, 0x32, 0xd7, 0x7a, 0xb4, 0xae, 0x0a, 0xc8, 0x79, 0x81, 0xd6, 0x81, - 0x8a, 0xf7, 0x5d, 0xe3, 0x75, 0x4f, 0x14, 0xe6, 0x90, 0xa6, 0xc5, 0xa7, 0xd3, 0x24, 0x8d, 0xcd, - 0xc4, 0xda, 0x39, 0x94, 0xee, 0x1e, 0x02, 0x23, 0x70, 0x5f, 0x06, 0xfc, 0xf5, 0x6b, 0x10, 0x92, - 0xfc, 0xdd, 0x05, 0x18, 0x5b, 0x76, 0x5d, 0x9c, 0xb3, 0xf0, 0x0b, 0xbd, 0xa0, 0xef, 0x78, 0x38, - 0x31, 0xd1, 0xcb, 0xa0, 0x39, 0x5b, 0xb0, 0x6f, 0x54, 0x5c, 0x32, 0x96, 0x8a, 0x24, 0x57, 0x52, - 0xac, 0x8f, 0x35, 0x75, 0xd0, 0xac, 0xb9, 0xdf, 0xf6, 0xc8, 0x52, 0x6d, 0x25, 0xfd, 0x4e, 0xa7, - 0xbb, 0x91, 0x82, 0xd1, 0x0d, 0x17, 0xac, 0x10, 0x33, 0x99, 0xca, 0xd1, 0x6b, 0x7e, 0x03, 0x94, - 0x39, 0x9c, 0x42, 0xfe, 0x1a, 0xd1, 0xa6, 0xa3, 0xb4, 0x1b, 0x76, 0x66, 0x59, 0x4a, 0xf6, 0xc3, - 0xef, 0x9b, 0xa7, 0xfb, 0x60, 0xf6, 0xf6, 0x1d, 0x65, 0xb6, 0xc4, 0xf5, 0xfc, 0xe0, 0x33, 0x4e, - 0x8e, 0x59, 0x55, 0x78, 0x92, 0xb0, 0xcf, 0x85, 0x17, 0x3b, 0xfb, 0x8a, 0xcf, 0x0a, 0xb5, 0x00, - 0xaf, 0xb3, 0x1b, 0x58, 0x1b, 0x45, 0x78, 0x1d, 0x42, 0x6b, 0xb5, 0x56, 0x1d, 0x65, 0x0c, 0x81, - 0x81, 0xa5, 0x82, 0x90, 0x77, 0xca, 0x6e, 0x13, 0x8e, 0x18, 0xf2, 0xcc, 0x6c, 0xd8, 0x1f, 0xef, - 0xfe, 0xc0, 0x10, 0x0f, 0x9d, 0x3c, 0xa1, 0x85, 0x29, 0xf1, 0x59, 0xeb, 0x4d, 0xb8, 0x86, 0x10, - 0x7b, 0x83, 0xdb, 0xd0, 0xc4, 0xb8, 0x17, 0xdc, 0xda, 0xe4, 0x87, 0xa5, 0x58, 0xc1, 0x3f, 0x74, - 0x95, 0x3f, 0xdc, 0x6e, 0xac, 0xb9, 0x17, 0x18, 0x96, 0xd1, 0x50, 0xe1, 0xb6, 0xcc, 0x82, 0xe6, - 0x84, 0xb5, 0x6e, 0xb5, 0xdc, 0x38, 0xe6, 0x0d, 0xd4, 0xc1, 0x4e, 0xfc, 0x0a, 0x27, 0x21, 0x02, - 0xd5, 0x75, 0x51, 0x79, 0xa0, 0xed, 0xe9, 0xc5, 0x96, 0x89, 0xb6, 0xd4, 0x08, 0xa7, 0xe0, 0x91, - 0xae, 0xa9, 0x37, 0x34, 0xa3, 0x52, 0x0a, 0xd4, 0x01, 0xe9, 0x2e, 0x1a, 0x4b, 0xe5, 0x3b, 0x56, - 0x5a, 0x48, 0x1f, 0xfd, 0x2c, 0x99, 0x35, 0xf3, 0x03, 0x04, 0x18, 0xfe, 0x45, 0xe0, 0xda, 0xfc, - 0x9b, 0xb2, 0x32, 0x16, 0x70, 0x47, 0x6e, 0x98, 0x1d, 0x42, 0x4b, 0x7a, 0xd5, 0x2c, 0x60, 0x9d, - 0x70, 0xcf, 0x5b, 0xa7, 0x7a, 0xa9, 0xc9, 0xad, 0x25, 0x24, 0x0a, 0xfc, 0xe9, 0xe9, 0x1e, 0x4e, - 0xa5, 0xec, 0xde, 0x51, 0x54, 0x39, 0x39, 0x97, 0x8d, 0x77, 0x74, 0x1c, 0xce, 0x53, 0xc4, 0x26, - 0x3a, 0x1c, 0x59, 0x83, 0xbe, 0xdf, 0x20, 0x81, 0x5a, 0xb7, 0x67, 0x0c, 0xce, 0xf0, 0x9f, 0x58, - 0xf1, 0xa1, 0xca, 0xd9, 0x02, 0xd1, 0x31, 0x61, 0x11, 0x98, 0x02, 0x4a, 0x09, 0x23, 0x75, 0x85, - 0xdc, 0x84, 0xee, 0x66, 0x32, 0x4b, 0xb3, 0x59, 0x1a, 0x5f, 0x6a, 0x78, 0xfa, 0xbc, 0x86, 0x6b, - 0xb4, 0xe8, 0xa4, 0x74, 0x53, 0xb9, 0xaa, 0x35, 0x86, 0x97, 0x81, 0x1e, 0xc0, 0x74, 0x47, 0x83, - 0xf4, 0x0e, 0x7e, 0x12, 0xd3, 0xa4, 0xf8, 0x28, 0x13, 0x83, 0xc0, 0x1d, 0x94, 0x58, 0xbc, 0x63, - 0xbf, 0x3e, 0xd0, 0x1f, 0xd4, 0x3e, 0xf6, 0xe5, 0xe6, 0x6c, 0x4b, 0x06, 0x32, 0x69, 0x4b, 0x1a, - 0x47, 0x3d, 0x0b, 0xd0, 0x8a, 0xf2, 0x7f, 0xf2, 0x1b, 0x72, 0x91, 0xfa, 0x8a, 0x5f, 0x45, 0xd6, - 0x88, 0x64, 0x7f, 0x01, 0x4f, 0xcb, 0x09, 0xee, 0x42, 0x43, 0x9f, 0x4d, 0xd6, 0x4a, 0x69, 0x6c, - 0x46, 0x07, 0xba, 0x19, 0x15, 0x6a, 0x3a, 0x9e, 0x40, 0x24, 0x88, 0x1d, 0x96, 0x49, 0xdd, 0x98, - 0xe7, 0x41, 0x36, 0x4f, 0x53, 0xbb, 0xea, 0x40, 0x93, 0x91, 0x5d, 0x2b, 0x5a, 0x76, 0x81, 0x9a, - 0x66, 0x41, 0x39, 0x7d, 0xb7, 0x61, 0x99, 0x34, 0xa0, 0x5f, 0x57, 0x6b, 0xe0, 0xb0, 0x54, 0xe5, - 0x3a, 0x11, 0x49, 0x8b, 0x82, 0x74, 0x55, 0xf3, 0x35, 0x9b, 0xfc, 0x2d, 0xdb, 0xa2, 0x91, 0x57, - 0x7d, 0x86, 0x7d, 0x0b, 0xae, 0xee, 0x59, 0x6d, 0x5e, 0x91, 0x01, 0x79, 0x06, 0x06, 0xfd, 0xbf, - 0xb5, 0xba, 0xad, 0x49, 0xab, 0x99, 0x82, 0x68, 0x97, 0x80, 0xb9, 0x50, 0x9c, 0x2c, 0x20, 0x38, - 0xa2, 0xf6, 0xbe, 0xab, 0x69, 0x45, 0x50, 0x77, 0x5a, 0x36, 0x8e, 0x9e, 0xae, 0x77, 0x5e, 0xc6, - 0xc7, 0xf6, 0x8c, 0x86, 0x9a, 0xa8, 0xd5, 0x4a, 0x0d, 0x01, 0xdd, 0x58, 0xa3, 0xa8, 0xeb, 0xf0, - 0xf7, 0x22, 0xaa, 0x54, 0xad, 0x8d, 0xee, 0x5b, 0x11, 0xed, 0xd0, 0x5c, 0x9b, 0x43, 0x1e, 0x43, - 0xb9, 0x32, 0xdf, 0xdf, 0x02, 0xcf, 0xd5, 0x1d, 0xbf, 0x35, 0xc4, 0xb0, 0xcb, 0x63, 0x3a, 0x0f, - 0x9d, 0xc6, 0x7c, 0x3d, 0xf9, 0xf7, 0x6f, 0x9b, 0xfc, 0xb8, 0x07, 0x67, 0x6a, 0x21, 0x13, 0x4c, - 0x81, 0x9a, 0x68, 0xe0, 0x47, 0x06, 0x19, 0xe4, 0xd9, 0xe5, 0xc5, 0xb9, 0x2e, 0x6c, 0x6c, 0xa9, - 0x5c, 0x90, 0x87, 0x59, 0x9a, 0x15, 0x81, 0x81, 0x37, 0xcc, 0x83, 0x6e, 0xf7, 0xfe, 0xfe, 0xde, - 0xb9, 0xdf, 0x77, 0x18, 0x9f, 0x74, 0x7d, 0xd7, 0x75, 0xf1, 0x68, 0x6e, 0x10, 0x79, 0x96, 0x0e, - 0x0c, 0xbc, 0xff, 0x33, 0x88, 0x2a, 0x85, 0xe8, 0x2f, 0x5d, 0xf7, 0xd0, 0x05, 0x13, 0x2c, 0x7f, - 0x0c, 0x5e, 0x1d, 0x1d, 0xc1, 0x44, 0x77, 0x08, 0x9d, 0x9c, 0x7d, 0xa1, 0x03, 0x02, 0x1d, 0xf8, - 0x5f, 0xd9, 0xd1, 0x51, 0x65, 0x15, 0xd2, 0xc1, 0x4b, 0x04, 0xdd, 0x15, 0x03, 0xbd, 0x21, 0x56, - 0x95, 0x06, 0xc4, 0x75, 0x3c, 0x9b, 0x1c, 0x0d, 0x55, 0xa9, 0xfb, 0xd8, 0xde, 0xbf, 0x3a, 0x38, - 0x3b, 0xb8, 0xea, 0x9d, 0x1d, 0x5e, 0x79, 0xc7, 0x6f, 0x7d, 0xdb, 0x97, 0xe5, 0x1d, 0x97, 0xf4, - 0x6d, 0xdf, 0x3b, 0xf3, 0xfa, 0xb5, 0x1e, 0x2c, 0x39, 0x1c, 0x03, 0xa0, 0xef, 0xc2, 0x0c, 0xef, - 0xf0, 0x6a, 0xff, 0xec, 0xf8, 0xa2, 0x6f, 0xf7, 0xce, 0xb0, 0xf4, 0x73, 0x7c, 0xd6, 0xbf, 0xea, - 0x01, 0xb2, 0xa3, 0x2b, 0xaf, 0x7f, 0xe6, 0x79, 0x57, 0x47, 0x30, 0x86, 0x05, 0x08, 0xf9, 0x79, - 0x08, 0x9f, 0xde, 0x7e, 0xbd, 0x18, 0x24, 0xb4, 0xcf, 0x29, 0x6f, 0x38, 0x02, 0xa3, 0xbc, 0xf3, - 0x33, 0xaa, 0x31, 0xe9, 0x9c, 0xf4, 0xe6, 0x2a, 0xc7, 0x5b, 0x8e, 0x40, 0x30, 0xd5, 0x03, 0xbf, - 0xab, 0x81, 0xd8, 0xc1, 0x42, 0x60, 0x23, 0xc9, 0x05, 0xef, 0x20, 0x9e, 0xcf, 0xf4, 0x85, 0xa3, - 0xca, 0xeb, 0xbf, 0xb0, 0x98, 0x3a, 0xca, 0xbf, 0xac, 0xa7, 0xb6, 0xf5, 0x73, 0x17, 0x68, 0x0b, - 0x6e, 0x87, 0xf1, 0x3c, 0x37, 0x7d, 0x03, 0xd8, 0x6a, 0xdb, 0xf0, 0x57, 0x67, 0xef, 0x58, 0xfb, - 0x1b, 0x57, 0xdd, 0x92, 0xcf, 0x6f, 0x4f, 0x90, 0x9e, 0x39, 0x39, 0x35, 0xdd, 0xf3, 0x57, 0x32, - 0x9e, 0x8d, 0x74, 0x6c, 0x29, 0xad, 0x49, 0x55, 0x65, 0x95, 0x61, 0x21, 0x06, 0x11, 0x72, 0x30, - 0x44, 0x0c, 0xf4, 0xd0, 0x83, 0x89, 0x80, 0xfc, 0x31, 0xe5, 0xef, 0x4e, 0xd6, 0x70, 0x10, 0x29, - 0x55, 0x9d, 0xdf, 0x44, 0x6c, 0x3d, 0x8f, 0x9b, 0x7e, 0xf9, 0xb5, 0x7e, 0x68, 0x41, 0x82, 0xe4, - 0xbd, 0x16, 0x46, 0x11, 0xf9, 0x25, 0x2f, 0x74, 0xac, 0x61, 0x59, 0x8e, 0xfa, 0x15, 0x0d, 0x6d, - 0xd4, 0x73, 0xdd, 0x9f, 0x4a, 0xdd, 0xd4, 0x45, 0x74, 0x7c, 0x60, 0x92, 0x51, 0x63, 0xb0, 0xd1, - 0xad, 0xee, 0xe7, 0x8c, 0xda, 0x9a, 0x61, 0x1a, 0xfd, 0xe7, 0xe7, 0x8f, 0xbf, 0x98, 0xaa, 0x5e, - 0x45, 0x83, 0x37, 0xcb, 0xb2, 0x84, 0x6e, 0x0c, 0xae, 0xdf, 0x0c, 0xf5, 0x83, 0x8f, 0x56, 0x42, - 0x2e, 0x5a, 0xf9, 0x38, 0x9c, 0x8a, 0x64, 0x3e, 0x2e, 0x30, 0x67, 0x32, 0x29, 0xa4, 0xd9, 0x36, - 0x0a, 0x11, 0x12, 0x72, 0x4c, 0xc7, 0x6d, 0xe3, 0x87, 0x25, 0x77, 0x0a, 0x60, 0x9f, 0x9a, 0x9e, - 0xb5, 0x32, 0x30, 0x2f, 0x47, 0x98, 0x9b, 0x15, 0x98, 0x42, 0x2d, 0x4c, 0x67, 0x60, 0x8c, 0xa0, - 0x09, 0xff, 0x25, 0xaf, 0x1c, 0x70, 0x63, 0xd4, 0xe5, 0x83, 0x24, 0x6f, 0x4d, 0xa7, 0x7d, 0xdb, - 0xd5, 0x04, 0x62, 0x96, 0xef, 0xfc, 0x51, 0xb0, 0xec, 0xb6, 0x71, 0x06, 0xac, 0xe6, 0xc0, 0x29, - 0x41, 0xc5, 0x2f, 0x1e, 0xe0, 0xad, 0xcb, 0x6f, 0x17, 0xe7, 0x67, 0xe0, 0x03, 0xff, 0x41, 0xe1, - 0x04, 0x58, 0x08, 0xc8, 0x5e, 0xb1, 0xf3, 0xe7, 0x94, 0xdd, 0xc1, 0x79, 0xe2, 0xc6, 0x5e, 0x62, - 0x1d, 0x65, 0x60, 0x80, 0x11, 0xa7, 0x78, 0x75, 0x02, 0xa8, 0xba, 0x88, 0xda, 0x58, 0xc1, 0xe9, - 0x7f, 0x8b, 0xe6, 0xe1, 0x22, 0x86, 0x6d, 0x96, 0x67, 0x41, 0x86, 0x1e, 0x83, 0x4d, 0xa4, 0x72, - 0xc3, 0xee, 0x17, 0x39, 0xf4, 0xd1, 0x4b, 0xfa, 0x20, 0x6c, 0x83, 0x74, 0x88, 0x21, 0x6d, 0xc3, - 0xc1, 0xbb, 0x85, 0x39, 0x16, 0x8b, 0x18, 0x70, 0xf3, 0x19, 0x4e, 0x9f, 0xe1, 0xa4, 0xd4, 0x9f, - 0x0f, 0x82, 0xce, 0x60, 0xb3, 0x53, 0x1a, 0x7f, 0x0a, 0x53, 0xbc, 0x0f, 0xd0, 0x59, 0x05, 0x82, - 0x22, 0x2d, 0xce, 0x94, 0xd3, 0x71, 0x60, 0x74, 0x81, 0x1c, 0x7b, 0x1b, 0x39, 0x94, 0x73, 0x2c, - 0xff, 0xd0, 0x16, 0x39, 0xc6, 0x7b, 0xec, 0x1f, 0x10, 0x59, 0xe8, 0x6a, 0x0c, 0x90, 0xcf, 0x92, - 0x98, 0x41, 0x9b, 0x36, 0x4c, 0x3d, 0x92, 0x19, 0x65, 0x73, 0x61, 0x4a, 0xe6, 0x56, 0xb6, 0x47, - 0xf7, 0x2d, 0xb9, 0x2a, 0x03, 0xf7, 0x66, 0x1a, 0x9f, 0x3e, 0x7e, 0xbe, 0x84, 0xdd, 0xed, 0x2a, - 0x39, 0x83, 0x32, 0xa2, 0x80, 0x43, 0x29, 0xcb, 0xbf, 0x33, 0x3e, 0x7b, 0x07, 0x89, 0x45, 0xa9, - 0x34, 0xa1, 0x76, 0x89, 0x2a, 0xdd, 0x80, 0x63, 0x26, 0x56, 0xd3, 0xb8, 0xbc, 0xf1, 0x35, 0x43, - 0xcb, 0x7e, 0xe9, 0xad, 0xc2, 0xe2, 0x31, 0x8b, 0xc8, 0xfa, 0x39, 0x12, 0x15, 0x1f, 0xb2, 0x31, - 0x03, 0x5d, 0x4c, 0xc6, 0xe6, 0xb4, 0x10, 0xc1, 0x9a, 0x7d, 0x06, 0x3b, 0x06, 0x3d, 0x65, 0x35, - 0xd3, 0xb5, 0x04, 0x7f, 0xac, 0x2c, 0x25, 0xbc, 0x0f, 0x13, 0x41, 0xc6, 0x54, 0x80, 0x32, 0x96, - 0x71, 0xce, 0xd8, 0x03, 0xf0, 0x3d, 0x43, 0x6e, 0x62, 0x57, 0x5e, 0xd0, 0xa1, 0x15, 0x29, 0x48, - 0x2a, 0xb5, 0xc6, 0xb4, 0x86, 0x72, 0x4a, 0x79, 0x85, 0x64, 0x9a, 0xea, 0x12, 0x46, 0x38, 0xf2, - 0x17, 0x42, 0xb0, 0xb0, 0x3a, 0xa0, 0xaf, 0x40, 0x02, 0xe0, 0xa5, 0x56, 0x25, 0x59, 0x29, 0x6c, - 0x2c, 0xcf, 0xc8, 0xd2, 0x67, 0xb3, 0xd7, 0x00, 0x9b, 0xce, 0x98, 0x20, 0x49, 0x0c, 0xfb, 0x93, - 0x8c, 0x1f, 0x09, 0x52, 0x0e, 0x19, 0x56, 0x8b, 0xd3, 0xe6, 0xc2, 0x80, 0xbb, 0x7e, 0xf3, 0xa2, - 0x99, 0x0c, 0xdc, 0x21, 0x96, 0x64, 0xd1, 0x2c, 0xe1, 0x3c, 0x31, 0x14, 0xa3, 0x80, 0x0e, 0xc5, - 0xde, 0xde, 0xda, 0x41, 0xdc, 0x6a, 0x56, 0x7f, 0x58, 0x02, 0xab, 0xab, 0xb5, 0x55, 0x08, 0x6d, - 0x15, 0xc3, 0xb5, 0x8c, 0x44, 0x43, 0x46, 0xa0, 0x0c, 0x5c, 0x77, 0x88, 0x52, 0x14, 0x0d, 0x02, - 0xf2, 0x79, 0x31, 0x85, 0x83, 0x9b, 0x66, 0x5d, 0xb4, 0x59, 0xbf, 0x95, 0x6a, 0xa5, 0x90, 0xe1, - 0xad, 0x1f, 0x5a, 0x1b, 0x19, 0x73, 0x36, 0x93, 0x07, 0xef, 0x01, 0xb9, 0x85, 0x8d, 0x5e, 0xad, - 0xb6, 0xb0, 0x34, 0xf2, 0xc0, 0x3f, 0x6c, 0xae, 0x54, 0x72, 0x3f, 0xb8, 0x76, 0xed, 0x7e, 0xf9, - 0x07, 0x47, 0xae, 0xea, 0xe3, 0x66, 0x55, 0x56, 0x28, 0x44, 0x80, 0x8b, 0xa1, 0x03, 0x2e, 0xa8, - 0xd9, 0x30, 0x24, 0x54, 0x9e, 0x96, 0x15, 0xc9, 0xfa, 0x39, 0x50, 0x8f, 0x62, 0xd4, 0x42, 0xc3, - 0x3b, 0x61, 0x08, 0xbd, 0x52, 0xc3, 0xe8, 0x89, 0x7f, 0x70, 0x68, 0xe9, 0x9a, 0x1b, 0xf6, 0x82, - 0x1f, 0xc0, 0x65, 0x44, 0x92, 0xcd, 0xe9, 0x4a, 0x4d, 0xe0, 0x81, 0xee, 0xc7, 0x6d, 0xc0, 0xf2, - 0xf9, 0xb0, 0x8e, 0x8c, 0x8d, 0x09, 0x97, 0xa8, 0x5e, 0x2a, 0x6e, 0x92, 0x42, 0xfe, 0x82, 0x80, - 0x9f, 0x9e, 0x0e, 0x5e, 0x06, 0x01, 0xd5, 0x7c, 0x5b, 0x4b, 0x79, 0x07, 0x70, 0xc7, 0x69, 0xf8, - 0x65, 0xb5, 0x46, 0x20, 0x10, 0x01, 0xb5, 0x60, 0xbe, 0x91, 0xcd, 0x67, 0x77, 0x90, 0x61, 0x42, - 0xbc, 0x01, 0x37, 0x04, 0xbd, 0xe2, 0xe9, 0x49, 0x8c, 0x5c, 0xf8, 0xe7, 0x04, 0xe4, 0xf0, 0xf4, - 0xf4, 0xf2, 0x17, 0x39, 0x0e, 0x0b, 0x7c, 0xc8, 0x04, 0x9d, 0x80, 0xc9, 0x0b, 0xab, 0x81, 0x74, - 0x85, 0x44, 0xb0, 0xaf, 0x30, 0x03, 0xc7, 0xf4, 0x6b, 0xae, 0x49, 0xea, 0x78, 0x37, 0x28, 0x1d, - 0x59, 0xad, 0x0b, 0xc2, 0x6b, 0xf7, 0x66, 0xad, 0x57, 0xd7, 0x8e, 0xe3, 0x84, 0x37, 0x43, 0x0a, - 0x9d, 0x01, 0xee, 0x02, 0x57, 0xbb, 0x04, 0x0a, 0xbf, 0x2a, 0x41, 0xda, 0xf1, 0x00, 0x24, 0xea, - 0xcc, 0xc2, 0x7c, 0x5d, 0x9a, 0x31, 0x97, 0xb0, 0x3e, 0xc4, 0x9f, 0x71, 0x1a, 0xca, 0x90, 0xbe, - 0x4d, 0xc1, 0x60, 0x99, 0xd2, 0x88, 0x60, 0x8c, 0x0b, 0xd3, 0xb8, 0xc4, 0x5b, 0x70, 0x7c, 0x17, - 0x89, 0x82, 0xa9, 0xee, 0x60, 0x21, 0xd8, 0x92, 0x59, 0x52, 0x14, 0xc9, 0x44, 0x29, 0xd9, 0x23, - 0x9b, 0x73, 0x72, 0xc7, 0xd9, 0x7d, 0x01, 0x12, 0x21, 0xbf, 0xb3, 0x39, 0x29, 0xa6, 0x6c, 0x9e, - 0xc6, 0x24, 0xe7, 0xec, 0x2e, 0xbc, 0x4b, 0x1f, 0x89, 0x76, 0x40, 0xfa, 0xce, 0x7a, 0x16, 0xc2, - 0xa6, 0x43, 0x2a, 0x00, 0xcb, 0x64, 0x31, 0xc1, 0x8d, 0x04, 0xc5, 0x97, 0xd7, 0xda, 0x30, 0x21, - 0xa7, 0x1c, 0x26, 0x8c, 0xf1, 0x82, 0x1e, 0x2f, 0xab, 0xcb, 0x35, 0x15, 0x15, 0x58, 0x91, 0x02, - 0x69, 0x83, 0x8b, 0x85, 0xb8, 0x44, 0xee, 0x28, 0x80, 0x51, 0x8d, 0x1c, 0xf5, 0x7e, 0x4a, 0x39, - 0x75, 0xc0, 0x19, 0x5e, 0x20, 0x71, 0xf0, 0x2d, 0x27, 0xc5, 0x15, 0x92, 0x97, 0xe0, 0x1d, 0xcb, - 0xc9, 0xda, 0xd6, 0xdf, 0x25, 0x8b, 0xa2, 0x9e, 0x8c, 0x6c, 0x1d, 0xae, 0x36, 0x62, 0xe3, 0x41, - 0xe6, 0xfa, 0x79, 0x04, 0x3a, 0xb3, 0xcd, 0xe1, 0xd6, 0x9d, 0x38, 0x9a, 0xb9, 0x92, 0x37, 0xca, - 0x0d, 0x0e, 0xe8, 0x11, 0xa6, 0x29, 0x90, 0xba, 0x40, 0xec, 0x4e, 0x52, 0x81, 0x07, 0xcb, 0xe0, - 0x44, 0x1e, 0xdb, 0x67, 0xd2, 0xd0, 0xbb, 0xff, 0xd4, 0xf8, 0xff, 0x27, 0xfe, 0xa1, 0x0b, 0x5b, - 0xd6, 0xd2, 0x54, 0x6e, 0xb5, 0x33, 0xd5, 0xca, 0x41, 0x71, 0x70, 0x50, 0x7c, 0xb4, 0xc5, 0xe2, - 0x87, 0x7c, 0xed, 0xb1, 0x58, 0x50, 0x07, 0xb8, 0xe6, 0x37, 0x76, 0x18, 0xb4, 0x5f, 0x92, 0xea, - 0x53, 0x66, 0xe8, 0xd4, 0x1e, 0x83, 0x18, 0x7b, 0xdc, 0x0e, 0x55, 0xd1, 0x1d, 0x23, 0x1e, 0x86, - 0xbf, 0x4a, 0x12, 0x46, 0xe9, 0x18, 0xb2, 0x52, 0x27, 0xbf, 0xd0, 0xc7, 0xc2, 0x64, 0x16, 0x28, - 0x2f, 0x60, 0xc1, 0xc0, 0x03, 0x21, 0x0d, 0x2b, 0xbc, 0xf2, 0xf8, 0xa1, 0xbc, 0x47, 0x21, 0x6b, - 0x7b, 0xe0, 0x9d, 0x4d, 0x76, 0x9d, 0xdd, 0xac, 0x6f, 0x9c, 0x76, 0x10, 0x93, 0xd6, 0x89, 0x29, - 0xf3, 0x54, 0x20, 0xaa, 0xba, 0x90, 0xd9, 0x31, 0x4f, 0xdd, 0xb3, 0xac, 0x5f, 0x49, 0x21, 0x1f, - 0x49, 0x9b, 0x8f, 0xda, 0xf0, 0xfa, 0xb2, 0x64, 0x03, 0x61, 0x75, 0x73, 0x22, 0x9f, 0x32, 0xe8, - 0x27, 0x53, 0x88, 0xaf, 0x70, 0xf0, 0x15, 0x21, 0x24, 0x96, 0xeb, 0x7a, 0x05, 0x38, 0xa4, 0x66, - 0x26, 0x05, 0x8e, 0x1c, 0x2f, 0x03, 0xb6, 0x95, 0x0f, 0x8c, 0xcf, 0x14, 0xdf, 0x87, 0xa8, 0x17, - 0x33, 0xb5, 0x97, 0x2a, 0xf8, 0xbc, 0x83, 0x00, 0x7e, 0xbc, 0x41, 0x59, 0x9f, 0x31, 0xf5, 0x73, - 0x00, 0xbb, 0x68, 0x33, 0x51, 0x51, 0x54, 0xb2, 0x10, 0xed, 0x64, 0x21, 0x92, 0x2c, 0x94, 0xef, - 0xbf, 0x90, 0x85, 0x68, 0x1b, 0x0b, 0x48, 0x38, 0xe4, 0x13, 0x78, 0x67, 0x2f, 0xe9, 0x8f, 0x76, - 0x94, 0x3f, 0x4e, 0x59, 0xfe, 0xa8, 0xa8, 0x85, 0x1c, 0x73, 0x55, 0x9a, 0x1e, 0xb2, 0xa0, 0x98, - 0xb9, 0x85, 0xbc, 0xa7, 0xc9, 0x01, 0xa2, 0x84, 0xbe, 0x16, 0x07, 0x15, 0x41, 0x78, 0xaf, 0xb2, - 0x5d, 0xd5, 0xaa, 0x07, 0x85, 0xa8, 0x12, 0xa0, 0xf3, 0x79, 0x60, 0x18, 0x95, 0x01, 0x50, 0x30, - 0x00, 0x3a, 0x42, 0x75, 0x2a, 0x15, 0x1f, 0x32, 0x5c, 0xdf, 0xaa, 0xc2, 0x2f, 0x8e, 0xa0, 0x47, - 0x46, 0x5f, 0xaf, 0xd4, 0x0f, 0x6f, 0x4b, 0x95, 0xaf, 0x57, 0x63, 0x7b, 0xde, 0x8d, 0x95, 0x43, - 0xc6, 0xfc, 0xea, 0x87, 0x65, 0xd5, 0x81, 0x95, 0x6c, 0xd1, 0x05, 0x1f, 0xfc, 0xa3, 0xe7, 0xba, - 0xab, 0xbf, 0xd9, 0xe4, 0x56, 0x5e, 0xb7, 0x2e, 0x11, 0x4e, 0xbe, 0xee, 0xad, 0xc3, 0x62, 0xed, - 0x5b, 0x7f, 0xf9, 0x8d, 0xaf, 0x7d, 0xfc, 0xf2, 0xac, 0x0d, 0x5c, 0x98, 0x84, 0xfb, 0x10, 0xa7, - 0x83, 0x5c, 0x27, 0xe7, 0xae, 0xdd, 0xf1, 0xb7, 0xdd, 0x2b, 0x7d, 0x98, 0x81, 0xf3, 0x0c, 0x6e, - 0x77, 0xd5, 0xeb, 0x71, 0xa9, 0x7c, 0x65, 0xdd, 0x96, 0x46, 0xaa, 0x6e, 0xc6, 0x36, 0xde, 0x2f, - 0x82, 0xb6, 0x95, 0x46, 0x1b, 0x04, 0xd9, 0x4f, 0x49, 0xeb, 0xfa, 0x68, 0x10, 0xe9, 0x75, 0xd5, - 0xf3, 0xb9, 0x73, 0x3c, 0x7f, 0x1b, 0xf2, 0x3d, 0x86, 0xcd, 0x5f, 0x06, 0x32, 0x25, 0x7b, 0xfd, - 0xba, 0x39, 0x29, 0xc2, 0xfb, 0xed, 0xd6, 0xfd, 0x54, 0xd8, 0xbe, 0xcb, 0x6a, 0x2c, 0x4a, 0x1b, - 0xa3, 0xa1, 0x05, 0x11, 0xaa, 0xd9, 0x51, 0xab, 0xc2, 0xd5, 0x55, 0x90, 0x62, 0x05, 0x71, 0xe3, - 0xe6, 0xe8, 0x8d, 0xbc, 0x15, 0xbd, 0x4e, 0xe2, 0x7f, 0x36, 0xaf, 0x53, 0x6f, 0xde, 0xac, 0x0f, - 0x47, 0x98, 0x92, 0xd3, 0x5d, 0x07, 0x46, 0x7d, 0xc5, 0xb7, 0x89, 0x18, 0x8d, 0xa5, 0x86, 0x57, - 0x57, 0xa3, 0x6e, 0x6c, 0xd2, 0x1a, 0x68, 0xd4, 0x79, 0x1b, 0xc3, 0x8d, 0x32, 0xd6, 0x77, 0x11, - 0x34, 0x54, 0x19, 0x67, 0x2d, 0xcf, 0x9a, 0xd4, 0x42, 0x8f, 0xb1, 0x47, 0xad, 0x6d, 0xc5, 0xc4, - 0xd2, 0xc3, 0x1a, 0x96, 0xd5, 0x32, 0x0a, 0xb1, 0xcd, 0x22, 0x20, 0xaf, 0xaa, 0xb2, 0xaa, 0xad, - 0x46, 0x21, 0x94, 0x45, 0x30, 0xf9, 0x98, 0x40, 0x7d, 0x28, 0xdd, 0x67, 0x01, 0x68, 0xfe, 0x25, - 0x3b, 0xa3, 0x0f, 0xa6, 0xea, 0xb6, 0x85, 0xd4, 0x78, 0xf9, 0xb3, 0x7f, 0x63, 0x29, 0xad, 0x96, - 0x2f, 0x31, 0xb8, 0xcd, 0xaa, 0x93, 0x54, 0x11, 0x71, 0x06, 0x92, 0x75, 0x6d, 0xb7, 0xbe, 0xc7, - 0x15, 0x2a, 0x48, 0x5b, 0x6c, 0xbe, 0x0e, 0x54, 0x26, 0x1d, 0x8d, 0xbc, 0x1e, 0xa4, 0x60, 0xa3, - 0xa3, 0x27, 0xde, 0x7c, 0xb0, 0xa0, 0x4f, 0x37, 0x48, 0x96, 0xe1, 0x1a, 0x58, 0x37, 0x04, 0x37, - 0x67, 0xf6, 0x3a, 0xac, 0xcc, 0xf5, 0xf6, 0xd8, 0xaa, 0x3a, 0xc8, 0x94, 0xab, 0xef, 0x3a, 0x40, - 0xe2, 0x91, 0xff, 0x19, 0x20, 0x38, 0x49, 0x26, 0x7f, 0xd2, 0x12, 0xac, 0x71, 0xa3, 0xba, 0xf3, - 0xe6, 0xbb, 0xf1, 0xbc, 0x45, 0x3f, 0x65, 0x71, 0xf5, 0x2f, 0x3e, 0xf3, 0xd8, 0xa8, 0xb7, 0xd4, - 0xff, 0x5f, 0x8d, 0xae, 0xfa, 0x5f, 0x63, 0xfe, 0x17, 0x66, 0xba, 0xb1, 0x98, 0x32, 0x33, 0x00, - 0x00 + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0xbd, 0x3b, 0xfd, 0x77, 0xdb, 0x36, + 0x92, 0xbf, 0xe7, 0xaf, 0x40, 0x98, 0xd4, 0x21, 0x6b, 0x8a, 0x22, 0x29, 0x5b, 0xb2, 0x25, 0xd1, + 0xdd, 0xd4, 0xc9, 0x9e, 0x73, 0xcf, 0x6e, 0xf2, 0x36, 0x3e, 0xb7, 0x3d, 0x9f, 0xf7, 0x99, 0x26, + 0x21, 0x89, 0x0d, 0x45, 0x70, 0x41, 0x48, 0xb6, 0x2b, 0xeb, 0x7f, 0xbf, 0x19, 0x00, 0xa4, 0x48, + 0x7d, 0x38, 0xc9, 0x75, 0xdf, 0xf5, 0xf9, 0x45, 0x20, 0x30, 0x18, 0x0c, 0x06, 0xf3, 0x89, 0x41, + 0x87, 0x2f, 0xdf, 0x7d, 0x3c, 0xbd, 0xfc, 0xfd, 0xd3, 0x7b, 0x32, 0x11, 0xd3, 0xf4, 0x84, 0x0c, + 0xcb, 0x1f, 0x1a, 0xc6, 0xf0, 0x33, 0xa5, 0x22, 0x24, 0x59, 0x38, 0xa5, 0x81, 0x31, 0x4f, 0xe8, + 0x7d, 0xce, 0xb8, 0x30, 0xc8, 0x8b, 0x88, 0x65, 0x82, 0x66, 0x22, 0x30, 0xee, 0x93, 0x58, 0x4c, + 0x82, 0x98, 0xce, 0x93, 0x88, 0xb6, 0xe4, 0x87, 0x9d, 0x64, 0x89, 0x48, 0xc2, 0xb4, 0x55, 0x44, + 0x61, 0x4a, 0x03, 0xcf, 0x9e, 0x42, 0xc7, 0x74, 0x36, 0x2d, 0xbf, 0x8d, 0x12, 0xe9, 0x8b, 0x89, + 0x10, 0x79, 0x8b, 0xfe, 0x6b, 0x96, 0xcc, 0x03, 0xe3, 0x34, 0x8c, 0x26, 0xb4, 0x75, 0x0a, 0x68, + 0x39, 0x4b, 0x0d, 0x52, 0xe1, 0xcf, 0x58, 0x2b, 0xc2, 0x21, 0x9b, 0x40, 0xab, 0x10, 0x8c, 0x43, + 0x6b, 0x3a, 0x2b, 0x44, 0x8b, 0xd3, 0x79, 0x98, 0x26, 0x71, 0x28, 0xe8, 0x76, 0x84, 0x9f, 0x78, + 0x38, 0x9e, 0x86, 0x5b, 0x30, 0x55, 0xe0, 0x75, 0xe8, 0xf7, 0x0f, 0x79, 0xc2, 0x69, 0x51, 0x03, + 0x77, 0x01, 0xee, 0xc5, 0x50, 0x24, 0x22, 0xa5, 0x27, 0xbf, 0x9e, 0xbf, 0x7f, 0x47, 0x4e, 0x61, + 0x55, 0x36, 0x25, 0x9f, 0x60, 0x13, 0x42, 0x50, 0xf2, 0x3e, 0x4e, 0x80, 0x9a, 0x61, 0x5b, 0x41, + 0x90, 0x61, 0x11, 0xf1, 0x24, 0x17, 0x44, 0x3c, 0xe6, 0xc0, 0x29, 0x41, 0x1f, 0x44, 0xfb, 0x8f, + 0x70, 0x1e, 0xaa, 0x5e, 0xe3, 0xe4, 0xc5, 0x68, 0x96, 0x45, 0x22, 0x61, 0x19, 0x19, 0x7f, 0x88, + 0x4d, 0x6a, 0x2d, 0x38, 0x15, 0x33, 0x9e, 0x91, 0xd8, 0x19, 0x53, 0xf1, 0x3e, 0xa5, 0x53, 0x58, + 0xf3, 0xe7, 0x47, 0x39, 0xb4, 0xac, 0x40, 0xa3, 0xf7, 0x0d, 0xc8, 0x88, 0x53, 0xd8, 0xad, 0x06, + 0x46, 0xc0, 0x79, 0xc8, 0x49, 0x1c, 0xc4, 0x2c, 0x9a, 0x61, 0xcf, 0x8b, 0x61, 0x5b, 0xad, 0x86, + 0xc4, 0x88, 0x47, 0x20, 0xea, 0xc5, 0x1d, 0x8b, 0x1f, 0x17, 0x23, 0xd8, 0x51, 0x6b, 0x14, 0x4e, + 0x93, 0xf4, 0xb1, 0xff, 0x96, 0xc3, 0xc1, 0xd8, 0x45, 0x98, 0x15, 0xad, 0x82, 0xf2, 0x64, 0x34, + 0xb8, 0x0b, 0xa3, 0x2f, 0x63, 0xce, 0x66, 0x59, 0xdc, 0x8a, 0x58, 0xca, 0x78, 0xff, 0x95, 0xe7, + 0x79, 0x03, 0x39, 0xa5, 0x48, 0xfe, 0xa4, 0x7d, 0xaf, 0x9b, 0x3f, 0x0c, 0xf4, 0x48, 0x1c, 0xc7, + 0x83, 0x69, 0xc8, 0xc7, 0x49, 0xd6, 0x77, 0x89, 0xe7, 0xc2, 0x40, 0x9a, 0x64, 0xb4, 0x35, 0xa1, + 0xc9, 0x78, 0x22, 0xfa, 0xce, 0xe1, 0xf2, 0x55, 0x1e, 0x72, 0x20, 0xa4, 0x85, 0x3c, 0x0c, 0x61, + 0x88, 0x2f, 0x72, 0x56, 0x24, 0xb8, 0x95, 0x3e, 0xa7, 0x69, 0x28, 0x92, 0x39, 0x1d, 0x48, 0x11, + 0xe9, 0x7b, 0xae, 0xfb, 0xc3, 0x40, 0x4f, 0xf4, 0x01, 0xd3, 0xf2, 0xd5, 0x1d, 0x13, 0xc0, 0xdd, + 0xd3, 0xcd, 0x99, 0xe1, 0x5d, 0xc1, 0xd2, 0x99, 0xa0, 0x7a, 0xe9, 0x96, 0x60, 0x79, 0xff, 0x50, + 0x4e, 0x19, 0xf3, 0x30, 0x4e, 0x70, 0xbd, 0x3b, 0xf6, 0xb0, 0xd8, 0xc4, 0x8b, 0xed, 0xa5, 0x23, + 0x69, 0x6f, 0xc1, 0xdc, 0x2f, 0x94, 0xdb, 0xfa, 0x2b, 0x4f, 0x22, 0xf8, 0xd2, 0x9d, 0x5b, 0x56, + 0xba, 0x63, 0x3c, 0x86, 0x71, 0x44, 0x3f, 0x2b, 0xfa, 0x1d, 0xd8, 0xe8, 0x06, 0x9b, 0x8a, 0x24, + 0x9d, 0x53, 0xae, 0x21, 0xfb, 0x7e, 0xfe, 0x40, 0x60, 0x6e, 0x12, 0x13, 0x3e, 0xbe, 0x0b, 0xcd, + 0xee, 0x91, 0xad, 0xfe, 0x9c, 0x43, 0x6b, 0xf0, 0x67, 0x2b, 0xc9, 0x62, 0xfa, 0xd0, 0xf7, 0x9b, + 0xb4, 0x2c, 0x34, 0x95, 0x1d, 0xe4, 0xa3, 0x22, 0xbe, 0x07, 0x2d, 0xb5, 0xbb, 0x1f, 0x06, 0x82, + 0xc3, 0x19, 0x8d, 0x18, 0x9f, 0xf6, 0x65, 0x0b, 0x98, 0x47, 0x7f, 0x37, 0x5b, 0x30, 0x62, 0x01, + 0xc8, 0x2c, 0x9a, 0xb4, 0x42, 0x29, 0x22, 0xfd, 0x8c, 0x65, 0x74, 0xb9, 0x75, 0x5b, 0x1a, 0x7f, + 0x6f, 0x03, 0xbd, 0x77, 0x88, 0x7c, 0x89, 0x29, 0x88, 0x31, 0xdd, 0xcd, 0x03, 0x3d, 0xfd, 0xb0, + 0x9a, 0x8e, 0xad, 0x6f, 0x60, 0xcc, 0xab, 0xd1, 0x68, 0x54, 0xb2, 0xa5, 0x53, 0xb1, 0xe5, 0xd5, + 0xf1, 0x9d, 0x7f, 0xe4, 0x1f, 0xc9, 0xf5, 0x7d, 0x1f, 0xf6, 0xb7, 0xc1, 0x15, 0x45, 0xfc, 0x6e, + 0x42, 0xbc, 0x8a, 0x10, 0xaf, 0x22, 0x44, 0x36, 0xcb, 0x2d, 0x55, 0x28, 0xbd, 0x92, 0xcc, 0x9a, + 0x40, 0x6f, 0x15, 0xf3, 0xa5, 0x73, 0x37, 0x03, 0xa1, 0xcb, 0xa2, 0x34, 0x2c, 0x8a, 0x45, 0x1e, + 0xc6, 0x71, 0x92, 0x8d, 0xfb, 0x6e, 0x25, 0xe3, 0x03, 0x38, 0x61, 0x91, 0x80, 0xd1, 0x6a, 0x81, + 0xa1, 0x19, 0x67, 0x7d, 0x25, 0xa2, 0x3b, 0x70, 0xad, 0x0b, 0x30, 0x29, 0xf2, 0x30, 0x5b, 0xc4, + 0x49, 0x91, 0xa7, 0xe1, 0x63, 0x3f, 0xc9, 0xa4, 0xaa, 0x8c, 0x52, 0xfa, 0x30, 0x90, 0xc8, 0x5a, + 0x89, 0xa0, 0xd3, 0xa2, 0x1f, 0x81, 0xf8, 0x82, 0x18, 0xd5, 0x58, 0x57, 0x53, 0x3d, 0x90, 0xaa, + 0x75, 0x12, 0xa6, 0x49, 0x1c, 0xa7, 0x74, 0xf9, 0x2a, 0xc9, 0x46, 0xac, 0x42, 0x6e, 0x18, 0x03, + 0xb4, 0x37, 0x1a, 0xe4, 0xab, 0x28, 0x37, 0x75, 0xb2, 0xa6, 0x59, 0x1b, 0x6a, 0x0d, 0x5c, 0xba, + 0xe7, 0x61, 0x5e, 0xd7, 0xaf, 0xca, 0x06, 0x84, 0x33, 0xc1, 0x96, 0x7f, 0x9b, 0xd2, 0x38, 0x09, + 0x89, 0x09, 0x56, 0x5e, 0xd9, 0xff, 0xfe, 0x91, 0x0b, 0x48, 0xac, 0x45, 0x7d, 0x9e, 0xec, 0x5a, + 0x2e, 0x9d, 0x5c, 0x19, 0xcf, 0x45, 0x5d, 0xf5, 0xcb, 0xce, 0xff, 0xd0, 0xea, 0x5c, 0x2c, 0x90, + 0x4d, 0x70, 0x8c, 0x35, 0xa0, 0x4d, 0xc9, 0xab, 0xa6, 0x15, 0x17, 0xc0, 0xef, 0xc5, 0x9a, 0x71, + 0xa8, 0x99, 0x19, 0x09, 0x78, 0xc9, 0xf2, 0x72, 0xcd, 0x51, 0xa2, 0x0c, 0x14, 0xac, 0xf4, 0x17, + 0xd9, 0xb6, 0xc6, 0x26, 0x58, 0xa6, 0xdc, 0xc2, 0x27, 0x69, 0x07, 0xab, 0x03, 0xda, 0x75, 0xec, + 0x5b, 0x28, 0x5a, 0x3f, 0x8a, 0x7f, 0x2b, 0x85, 0x4a, 0xdc, 0x8b, 0x77, 0xc9, 0x7c, 0xab, 0x60, + 0xea, 0xb5, 0x53, 0x3a, 0x6a, 0xe8, 0xbd, 0x3c, 0x23, 0x38, 0x63, 0xf1, 0x19, 0x24, 0xda, 0x76, + 0x0a, 0x9a, 0xc5, 0xd8, 0x5a, 0x44, 0x33, 0x5e, 0x00, 0x25, 0x39, 0x4b, 0x90, 0xae, 0xe5, 0xc4, + 0x5b, 0xd4, 0xe8, 0x71, 0xba, 0x9c, 0x4e, 0x97, 0xe8, 0x92, 0xa4, 0x27, 0x22, 0xc3, 0xb6, 0x0e, + 0x27, 0xd0, 0x25, 0xc1, 0x4f, 0x9c, 0xcc, 0x49, 0x12, 0x43, 0xf8, 0x00, 0x32, 0x02, 0x4e, 0x17, + 0x35, 0x50, 0x7f, 0xe8, 0xc1, 0x17, 0x72, 0x62, 0x60, 0x34, 0x78, 0xf8, 0x07, 0xb8, 0xe0, 0x64, + 0xf4, 0x58, 0x72, 0x4b, 0xb3, 0x04, 0xa7, 0x4c, 0xbc, 0xed, 0x33, 0x36, 0xb9, 0x8e, 0xd0, 0xc5, + 0x7c, 0x5c, 0x81, 0xab, 0x5d, 0x76, 0xd0, 0xcf, 0x95, 0x26, 0x19, 0xdb, 0x9a, 0x19, 0x5c, 0xf6, + 0x40, 0x87, 0x41, 0x30, 0xfa, 0xf9, 0x99, 0x3d, 0x40, 0x64, 0x40, 0x5c, 0xd2, 0xf1, 0xe1, 0xcf, + 0x38, 0x19, 0xe6, 0xa1, 0x98, 0x90, 0x17, 0xa3, 0x24, 0x4d, 0x03, 0xe3, 0x95, 0xeb, 0x76, 0xe0, + 0x58, 0x0c, 0xf0, 0xc9, 0xc6, 0x45, 0x97, 0xf8, 0xfe, 0xe4, 0x68, 0x7e, 0x70, 0xd6, 0xfd, 0xf3, + 0xc2, 0x3b, 0x20, 0xde, 0xc1, 0xe4, 0x60, 0x7e, 0x34, 0x69, 0x1d, 0xc0, 0xd7, 0x11, 0x38, 0xcf, + 0xea, 0xcb, 0xf7, 0x49, 0x17, 0xe1, 0x26, 0xad, 0xa3, 0x3f, 0x8d, 0xf6, 0x09, 0x30, 0x6c, 0x3e, + 0x3e, 0x79, 0x01, 0x24, 0x02, 0x8b, 0x25, 0x87, 0x90, 0x6f, 0xc6, 0xb3, 0x11, 0x08, 0x82, 0x4a, + 0x0e, 0x7b, 0xf8, 0x2f, 0x30, 0xaf, 0x64, 0x21, 0x4e, 0x5f, 0x77, 0xc9, 0x46, 0x8d, 0xf9, 0x75, + 0x07, 0x0a, 0x7b, 0xd1, 0x53, 0xeb, 0x18, 0xbe, 0xef, 0x10, 0x4a, 0xbc, 0xa5, 0x66, 0x62, 0x9c, + 0xa8, 0x4e, 0xb6, 0xae, 0xab, 0x6b, 0x90, 0xa0, 0x9a, 0x95, 0x00, 0xe8, 0x4f, 0xd8, 0xff, 0xe9, + 0x8c, 0x23, 0xdd, 0xe9, 0x23, 0x49, 0x32, 0x32, 0x2b, 0x28, 0x89, 0xd4, 0xde, 0x4b, 0x44, 0x64, + 0x8d, 0xda, 0xbf, 0x4e, 0x34, 0x9a, 0x54, 0xb9, 0x72, 0x0a, 0x9e, 0x88, 0x40, 0xf4, 0x25, 0x26, + 0x94, 0x94, 0x1c, 0x22, 0x54, 0xf2, 0x9a, 0x08, 0x46, 0xc0, 0x4d, 0x90, 0x8c, 0xde, 0x13, 0xa9, + 0x87, 0xa4, 0x00, 0xef, 0x06, 0x81, 0x05, 0x02, 0xab, 0x19, 0xb2, 0x9b, 0xc6, 0x04, 0x58, 0x4a, + 0xee, 0x68, 0xca, 0xee, 0x65, 0xaf, 0x02, 0xc3, 0xe9, 0xd1, 0x24, 0xcc, 0xc6, 0x94, 0x24, 0xa2, + 0x50, 0xa0, 0x8e, 0x5e, 0x10, 0xa1, 0x9a, 0xf3, 0xc0, 0x9b, 0x81, 0xe5, 0xc7, 0x55, 0xcd, 0x30, + 0x8b, 0x31, 0x30, 0x1d, 0x25, 0x7c, 0x6a, 0x21, 0x12, 0xe5, 0xbc, 0x1d, 0xf2, 0x31, 0x8b, 0x28, + 0x19, 0x41, 0x78, 0x5d, 0x4c, 0x68, 0x6c, 0x03, 0x17, 0x4b, 0x4c, 0x21, 0xe7, 0x88, 0x21, 0xc2, + 0x6d, 0x30, 0x32, 0xcb, 0x53, 0x16, 0xc6, 0x80, 0x10, 0xda, 0x38, 0x1a, 0xd3, 0x22, 0xc1, 0xb5, + 0x8a, 0x94, 0x09, 0x87, 0x5c, 0x32, 0xb9, 0x3b, 0x42, 0x1f, 0x12, 0xe0, 0x51, 0x36, 0x2e, 0x79, + 0x5c, 0xc7, 0x97, 0xd3, 0x2c, 0x4a, 0x52, 0x89, 0xd0, 0x81, 0xa8, 0x78, 0x93, 0xe9, 0xdf, 0xcf, + 0x73, 0x29, 0x9d, 0x85, 0x00, 0x43, 0x15, 0x7d, 0xaa, 0xe4, 0xe5, 0x2b, 0xe2, 0x82, 0xe0, 0x3b, + 0x45, 0xe6, 0xed, 0x3c, 0x4c, 0xd2, 0xf0, 0x2e, 0x05, 0x6e, 0x4b, 0xac, 0x5f, 0x93, 0x15, 0xf9, + 0x33, 0x6c, 0x6b, 0x83, 0xa4, 0xc3, 0xf7, 0x17, 0xbb, 0xe2, 0x77, 0x8c, 0xb5, 0x4b, 0x69, 0x40, + 0x2b, 0x80, 0x61, 0x7c, 0x53, 0x81, 0x2c, 0x3b, 0x82, 0x15, 0xa3, 0xa0, 0xe5, 0xd9, 0xf9, 0xc3, + 0x29, 0x4b, 0x83, 0xc5, 0xd2, 0x16, 0xfa, 0x97, 0xd3, 0x48, 0x04, 0xb5, 0xe9, 0x18, 0xf5, 0xff, + 0x8c, 0x21, 0x04, 0xf0, 0x1b, 0xce, 0x1f, 0x3a, 0xff, 0x01, 0x10, 0xa6, 0x65, 0x97, 0x30, 0xe7, + 0x34, 0x1b, 0x43, 0x5e, 0x85, 0xf3, 0x1c, 0x95, 0x55, 0x4d, 0x3f, 0x8e, 0x46, 0x45, 0x70, 0x01, + 0xf6, 0xc6, 0x91, 0xc1, 0x87, 0xd9, 0x04, 0x6d, 0xfb, 0x87, 0xdd, 0xb6, 0x6f, 0xb5, 0x0e, 0x6d, + 0xbd, 0xed, 0xb7, 0x9c, 0x87, 0x8f, 0xc1, 0xf5, 0x4d, 0xf9, 0xfd, 0x0b, 0xa6, 0x70, 0xf0, 0x09, + 0xf6, 0xe5, 0x73, 0x38, 0xa7, 0xc1, 0x1b, 0x69, 0x05, 0x1b, 0x46, 0xd0, 0x3f, 0x5c, 0x19, 0x41, + 0x6c, 0xaf, 0xd9, 0x3c, 0xff, 0x00, 0xfe, 0x4a, 0x9b, 0x27, 0x4d, 0x1e, 0x7a, 0x21, 0x69, 0xed, + 0x7c, 0xdf, 0xf6, 0xfc, 0xb7, 0x9e, 0x6b, 0x7b, 0x08, 0x08, 0x3f, 0xc4, 0xf3, 0x6d, 0xbf, 0xd9, + 0xb3, 0x15, 0xa4, 0x09, 0x81, 0x20, 0x17, 0x3d, 0xf8, 0xe7, 0x1c, 0xc6, 0xbc, 0xde, 0x95, 0x77, + 0x70, 0xe6, 0x75, 0xaf, 0x3c, 0xf7, 0xcc, 0xf3, 0xaf, 0x7a, 0xe7, 0x38, 0xf0, 0xdf, 0x95, 0x8d, + 0x7c, 0x83, 0x3b, 0x41, 0x13, 0xf8, 0xef, 0xdd, 0x09, 0x12, 0x75, 0xda, 0x75, 0x0e, 0x7a, 0xb6, + 0x0f, 0x14, 0x63, 0x43, 0x12, 0x7e, 0x8a, 0xf4, 0x38, 0x87, 0x1d, 0xa2, 0x86, 0x7c, 0xb5, 0xbf, + 0x53, 0xd9, 0x87, 0x9f, 0x7e, 0x39, 0xee, 0x2b, 0x68, 0x3d, 0x55, 0x8f, 0x4b, 0xe8, 0x0b, 0xef, + 0xd0, 0xf1, 0xec, 0x9e, 0xe3, 0xf6, 0x4e, 0xa1, 0xe5, 0x1f, 0xc8, 0x26, 0x81, 0x66, 0xe7, 0x08, + 0x9a, 0x9e, 0x8f, 0xcd, 0x43, 0x68, 0xf9, 0x9d, 0x73, 0xaf, 0xeb, 0xf4, 0x7a, 0xf6, 0x91, 0x73, + 0x08, 0x0b, 0xc0, 0x4f, 0x0f, 0xc6, 0x7a, 0xf6, 0xb1, 0x04, 0x97, 0x23, 0xc7, 0x8e, 0x7f, 0x74, + 0x0e, 0xe0, 0xd0, 0xf4, 0x5c, 0xd9, 0xee, 0x00, 0x10, 0x40, 0xe2, 0xdc, 0x03, 0x6c, 0x22, 0x9a, + 0x53, 0x68, 0x1e, 0xf9, 0x1a, 0xf7, 0x81, 0x73, 0xdc, 0xad, 0x56, 0x54, 0x64, 0x5c, 0xc0, 0x2c, + 0xaf, 0x03, 0xb3, 0x8e, 0x3c, 0x44, 0xe6, 0x1d, 0x23, 0xb2, 0xa3, 0xde, 0xf9, 0x31, 0xf6, 0xc2, + 0x42, 0xc7, 0x9d, 0x33, 0x04, 0xbb, 0x42, 0x34, 0xbd, 0xf3, 0x15, 0x70, 0xed, 0x0c, 0x06, 0x55, + 0xae, 0x0a, 0x92, 0xfa, 0x71, 0x64, 0x62, 0xb6, 0xfa, 0xff, 0x26, 0xe9, 0xb5, 0x44, 0x39, 0x4d, + 0xbe, 0x7c, 0xcc, 0xca, 0xe8, 0x4b, 0x25, 0xcd, 0x53, 0x36, 0xa7, 0x97, 0x3c, 0x2c, 0x26, 0x51, + 0x98, 0x41, 0x8f, 0x0d, 0x76, 0xfb, 0xd4, 0xac, 0x21, 0xa5, 0x0e, 0x83, 0x65, 0xa8, 0xf8, 0xad, + 0xdd, 0x44, 0xff, 0x23, 0xa0, 0xb7, 0x6a, 0x49, 0xb8, 0x9c, 0x47, 0x6d, 0x11, 0x18, 0x86, 0xb5, + 0x00, 0x4d, 0x22, 0x1c, 0x35, 0x9c, 0x05, 0x2f, 0x3d, 0x08, 0xc5, 0xb2, 0x42, 0x90, 0xb0, 0xb1, + 0xdd, 0x7f, 0xcd, 0x28, 0x7f, 0xfc, 0x0c, 0xf6, 0x39, 0x02, 0xcb, 0xfd, 0x36, 0x4d, 0x4d, 0xa3, + 0x91, 0xf6, 0x19, 0xd6, 0x20, 0x19, 0x99, 0xa1, 0x03, 0xa9, 0xdd, 0xfb, 0x30, 0x9a, 0x98, 0xa6, + 0xb0, 0xb9, 0x15, 0x9c, 0x2c, 0x04, 0xf2, 0xe9, 0xad, 0x10, 0x3c, 0x81, 0x20, 0x8d, 0x9a, 0x46, + 0x1c, 0x8a, 0xb0, 0x25, 0xf8, 0x8c, 0x42, 0x50, 0x67, 0x58, 0x41, 0x40, 0xf7, 0xf6, 0x4c, 0x58, + 0xd3, 0xb5, 0x96, 0xb0, 0x13, 0x27, 0x95, 0x94, 0x9e, 0x78, 0xbd, 0xb2, 0xd7, 0x66, 0x96, 0xba, + 0x26, 0x40, 0xec, 0xf4, 0xc4, 0xdd, 0xdb, 0xa3, 0x43, 0xff, 0xf0, 0xd0, 0x82, 0x65, 0x4c, 0xb4, + 0x5c, 0x59, 0xe0, 0x0d, 0xb2, 0x61, 0xe0, 0x75, 0xf7, 0xf6, 0xf8, 0x10, 0x9a, 0xfb, 0xfb, 0x96, + 0x34, 0x60, 0x92, 0xb4, 0x0b, 0x45, 0xd9, 0x7e, 0x66, 0x3d, 0x3d, 0x99, 0x3c, 0xc8, 0xac, 0x01, + 0x4d, 0xc1, 0xe3, 0xf2, 0x80, 0x0e, 0x0c, 0x23, 0x08, 0x04, 0x2c, 0x02, 0xbb, 0x7f, 0x65, 0xec, + 0x9b, 0x5e, 0xb7, 0xd7, 0xeb, 0xf9, 0xde, 0xe1, 0x8f, 0x8a, 0x8f, 0xe0, 0x96, 0xd8, 0xd4, 0xb4, + 0x86, 0x43, 0xd7, 0x72, 0x04, 0xfb, 0x0c, 0xc4, 0x67, 0x63, 0x80, 0xb1, 0x20, 0x14, 0x8e, 0x3f, + 0x8b, 0x90, 0x0b, 0xb3, 0x6b, 0x1b, 0xae, 0x61, 0x59, 0x9a, 0x53, 0x69, 0x10, 0xbd, 0x37, 0x0d, + 0x0c, 0x57, 0x80, 0x0d, 0xa9, 0x23, 0x2d, 0xb8, 0x34, 0x4b, 0x46, 0x83, 0x45, 0x76, 0xea, 0xa0, + 0xb1, 0x6f, 0xd0, 0xc6, 0x57, 0x0b, 0x58, 0x30, 0x5e, 0xec, 0x66, 0x96, 0x4d, 0x9f, 0x01, 0x00, + 0x9c, 0x86, 0x2d, 0x76, 0x00, 0x28, 0x79, 0x30, 0x94, 0xfc, 0x21, 0x0c, 0x1c, 0xfd, 0xfb, 0x39, + 0x0a, 0x06, 0x38, 0x46, 0x0a, 0xb1, 0x13, 0xf0, 0x0b, 0x3d, 0xa2, 0x61, 0x43, 0x28, 0x92, 0xff, + 0x7d, 0xc6, 0xc1, 0x33, 0xf2, 0x4f, 0x9c, 0xe5, 0x12, 0x1f, 0x9a, 0x1f, 0x07, 0x63, 0xe7, 0xe7, + 0x25, 0xf7, 0x47, 0x6a, 0xed, 0xcb, 0x05, 0xf6, 0x0d, 0x30, 0x4b, 0x9a, 0x31, 0x89, 0x64, 0x4c, + 0x92, 0xe5, 0x33, 0x81, 0x02, 0xe2, 0x28, 0x27, 0x24, 0x19, 0x60, 0xd8, 0x89, 0x33, 0x0f, 0xd3, + 0x19, 0x0d, 0x04, 0xb4, 0x36, 0x58, 0xa6, 0xd2, 0x66, 0x04, 0xaa, 0x58, 0xf6, 0x49, 0x75, 0x35, + 0x59, 0x96, 0x6c, 0xd9, 0x8c, 0x5a, 0xcf, 0x9e, 0xe5, 0x78, 0x89, 0x56, 0x2a, 0xcf, 0x76, 0x50, + 0xbd, 0xef, 0x28, 0x3f, 0x4d, 0xbf, 0x94, 0xa7, 0x59, 0xd4, 0x4f, 0xb3, 0xd8, 0x45, 0x5a, 0x75, + 0xa8, 0xc5, 0x3a, 0x85, 0x5b, 0x8f, 0xb6, 0x78, 0x66, 0x71, 0x96, 0xe2, 0xea, 0x00, 0x52, 0xe3, + 0x75, 0x9d, 0xf1, 0x40, 0xf9, 0x8e, 0x11, 0x4d, 0x71, 0x5c, 0xa7, 0x98, 0xa3, 0x96, 0x70, 0xd4, + 0x12, 0x90, 0xef, 0xb8, 0x4e, 0x7e, 0xe3, 0x6a, 0xc4, 0xb0, 0x63, 0x49, 0xb8, 0xea, 0xdc, 0x4a, + 0x73, 0xbc, 0x9b, 0x66, 0x0a, 0xaa, 0xad, 0x66, 0x9e, 0xe2, 0xc6, 0xf1, 0xd2, 0x0e, 0xe1, 0x77, + 0x90, 0xb9, 0x92, 0xa3, 0xd5, 0x1d, 0x83, 0x9c, 0x17, 0x68, 0x19, 0xa8, 0xf6, 0xbe, 0x6b, 0xbc, + 0x6e, 0x89, 0xc2, 0x1c, 0xa2, 0xb6, 0xf8, 0x74, 0x92, 0xa4, 0xb1, 0x99, 0x58, 0x3b, 0x87, 0xd2, + 0xdd, 0x43, 0xa0, 0x04, 0xee, 0xcb, 0x80, 0xef, 0xed, 0x01, 0x93, 0xe4, 0xef, 0x2e, 0xc0, 0xd8, + 0xb2, 0xeb, 0xec, 0x9c, 0x86, 0x5f, 0xe8, 0x05, 0x7d, 0xc7, 0xc3, 0xb1, 0x89, 0x56, 0x06, 0xd5, + 0xd9, 0x82, 0x73, 0xa3, 0xe2, 0x92, 0xb1, 0x54, 0x24, 0xb9, 0xe2, 0x62, 0x7d, 0xac, 0x29, 0x83, + 0x66, 0xcd, 0xfc, 0xae, 0x8f, 0x2c, 0xd4, 0x51, 0xd2, 0xef, 0x34, 0xba, 0x1b, 0x11, 0x19, 0xdd, + 0x30, 0xc1, 0x0a, 0x31, 0x93, 0x91, 0x1d, 0xbd, 0xe6, 0x37, 0x40, 0x99, 0xc3, 0x29, 0x84, 0xb3, + 0x11, 0x6d, 0x1a, 0x4a, 0xbb, 0xa1, 0x67, 0x96, 0xa5, 0x78, 0x3f, 0xf8, 0xbe, 0x79, 0xba, 0x0f, + 0x66, 0x6f, 0x3f, 0x51, 0x66, 0x4b, 0x5c, 0xcf, 0x0f, 0x3e, 0x63, 0xe4, 0x98, 0x55, 0xb9, 0x27, + 0x09, 0xfb, 0x9c, 0x7b, 0xb1, 0xb3, 0xaf, 0xd8, 0xac, 0x50, 0x33, 0xf0, 0x3a, 0xbb, 0x81, 0xb5, + 0x91, 0x85, 0xd7, 0x21, 0xb4, 0x96, 0x2b, 0xd1, 0x51, 0xca, 0x10, 0x18, 0x78, 0x9b, 0x10, 0xf2, + 0x56, 0xd9, 0x6d, 0x42, 0xc6, 0x21, 0x53, 0x68, 0xc3, 0xfe, 0x78, 0xf7, 0x07, 0xba, 0x78, 0xe8, + 0xe4, 0x09, 0x2d, 0x4c, 0x89, 0xcf, 0x5a, 0x1d, 0xc2, 0x35, 0xb8, 0xd8, 0x1b, 0x3c, 0x86, 0x26, + 0xc6, 0xfd, 0xe0, 0xd6, 0x26, 0xaf, 0x17, 0x62, 0x09, 0xff, 0xd0, 0x65, 0xfe, 0x70, 0xbb, 0xb1, + 0xe6, 0x7e, 0x60, 0x58, 0x46, 0x43, 0x84, 0xd7, 0x79, 0x16, 0x34, 0x27, 0xac, 0x64, 0x6b, 0xcd, + 0x8c, 0x63, 0xdc, 0x40, 0x1d, 0xec, 0xc4, 0xaf, 0x70, 0x1c, 0x22, 0x50, 0x5d, 0x16, 0x95, 0x05, + 0xda, 0x1e, 0x5e, 0x6c, 0x99, 0x68, 0x4b, 0x89, 0x70, 0x0a, 0x1e, 0xe9, 0x3b, 0xfb, 0x86, 0x64, + 0x54, 0x42, 0x81, 0x32, 0x20, 0xcd, 0x45, 0x63, 0xa9, 0x7c, 0xc7, 0x4a, 0x73, 0x69, 0xa3, 0x9f, + 0x25, 0xb3, 0xa6, 0x7e, 0x80, 0x00, 0xdd, 0xbf, 0x08, 0x5c, 0x9b, 0x7f, 0x53, 0x54, 0xc6, 0x02, + 0xee, 0xc8, 0x03, 0xb3, 0x43, 0x68, 0x49, 0xab, 0x9a, 0x05, 0xac, 0x15, 0xee, 0x7b, 0xab, 0x50, + 0x2f, 0xdd, 0x49, 0xd7, 0x00, 0x17, 0xe3, 0x81, 0x49, 0x03, 0xfa, 0xf4, 0x74, 0x0f, 0x09, 0x2c, + 0xbb, 0x77, 0xd4, 0x88, 0x74, 0x69, 0x40, 0x34, 0x04, 0x05, 0xc5, 0xaf, 0x89, 0x98, 0x98, 0x86, + 0xbc, 0xc6, 0x46, 0x3b, 0xfc, 0xf4, 0x44, 0x9d, 0x9c, 0x4b, 0xb0, 0x77, 0x74, 0x14, 0xce, 0x52, + 0xa4, 0x43, 0x04, 0xfc, 0x27, 0xea, 0x48, 0x18, 0x5a, 0x5c, 0xbb, 0x37, 0xc8, 0x21, 0x00, 0xf8, + 0xad, 0x4f, 0xcb, 0x16, 0x98, 0x51, 0x96, 0x4d, 0xd9, 0xac, 0xa0, 0xb3, 0x3c, 0x28, 0xe4, 0x97, + 0x04, 0x07, 0x6a, 0x22, 0x9a, 0xd6, 0x7b, 0xc0, 0x4c, 0xe9, 0x4f, 0x09, 0x8e, 0x74, 0x07, 0xc9, + 0x6a, 0x58, 0x7d, 0xaf, 0xd8, 0x97, 0x98, 0x5c, 0x71, 0x8d, 0x05, 0x10, 0x0d, 0xf1, 0x6f, 0xde, + 0x08, 0x7b, 0x7a, 0xe2, 0x1b, 0x1b, 0x91, 0x1c, 0x49, 0x03, 0xf6, 0x13, 0xdf, 0xb6, 0x19, 0x5e, + 0xb6, 0x06, 0xa2, 0x95, 0xc2, 0x9e, 0x53, 0x5b, 0x52, 0xf8, 0x89, 0x15, 0x1f, 0xaa, 0x68, 0x36, + 0x10, 0x2d, 0x13, 0xd8, 0x0f, 0x2c, 0x01, 0x75, 0x85, 0x91, 0xba, 0xaa, 0x6e, 0x42, 0xb7, 0x33, + 0x19, 0xbf, 0xda, 0x2c, 0x8d, 0x2f, 0x35, 0x3c, 0x7d, 0x5e, 0xf7, 0x35, 0x5a, 0x34, 0xdf, 0xba, + 0xa9, 0x8c, 0xf8, 0x0a, 0xc3, 0xcb, 0x40, 0x0f, 0x60, 0x20, 0xa8, 0x41, 0xba, 0x07, 0x3f, 0x89, + 0x49, 0x52, 0x7c, 0x94, 0x21, 0x53, 0xe0, 0xf6, 0x4b, 0x2c, 0xde, 0xb1, 0x5f, 0x1f, 0xe8, 0xf5, + 0x6b, 0x1f, 0x1d, 0x29, 0xb6, 0xdb, 0xc2, 0xa4, 0x4c, 0x5a, 0x19, 0x8d, 0xa3, 0x1e, 0x1f, 0x69, + 0x15, 0xfa, 0x3f, 0x59, 0x54, 0xb9, 0x48, 0x7d, 0xc5, 0xaf, 0x22, 0x6b, 0xf8, 0xf8, 0xbf, 0x80, + 0x67, 0xcd, 0x3d, 0xec, 0x42, 0x43, 0x9f, 0x0d, 0x63, 0x4b, 0x6e, 0x6c, 0xfa, 0x4d, 0xba, 0xe9, + 0x2f, 0x6b, 0xda, 0x5f, 0x80, 0x8f, 0xac, 0xab, 0x46, 0x36, 0x4b, 0xd3, 0x0d, 0xed, 0x68, 0x76, + 0xa2, 0x82, 0x54, 0x3d, 0x2b, 0x1d, 0x69, 0x02, 0x55, 0x5d, 0x4b, 0x5a, 0x42, 0x81, 0x56, 0x64, + 0x20, 0xb3, 0xb4, 0x04, 0x91, 0x5a, 0x11, 0xa4, 0x35, 0x5a, 0x36, 0x49, 0x5f, 0xac, 0xef, 0x5a, + 0xd6, 0x4f, 0x0d, 0xfb, 0x16, 0xec, 0xfb, 0xb3, 0x82, 0xba, 0x24, 0x7d, 0xf2, 0x0c, 0x0c, 0x3a, + 0x3d, 0x6b, 0x79, 0x5b, 0x63, 0x44, 0x33, 0xee, 0xd2, 0x76, 0x10, 0x03, 0xc0, 0x38, 0x99, 0x83, + 0xba, 0xa2, 0x60, 0xbe, 0xab, 0x1d, 0x78, 0x50, 0xb7, 0xd4, 0x36, 0x8e, 0x9e, 0xae, 0x0e, 0x55, + 0x06, 0x05, 0xeb, 0x33, 0x1a, 0x12, 0xa0, 0x56, 0x2b, 0x0f, 0x1f, 0x8e, 0x7d, 0x85, 0xa2, 0x2e, + 0x9e, 0xdf, 0x8b, 0xa8, 0x92, 0xa2, 0x75, 0x74, 0xdf, 0x8a, 0x68, 0x87, 0x50, 0xda, 0x1c, 0x0e, + 0x9d, 0x72, 0xa5, 0x99, 0xbf, 0x05, 0x9e, 0xab, 0x3b, 0x7e, 0x6b, 0xb0, 0x61, 0x97, 0x9b, 0x70, + 0x1e, 0x5a, 0x8d, 0xf9, 0x7a, 0xf2, 0xef, 0xdf, 0x36, 0xf9, 0x71, 0xdf, 0xeb, 0xd8, 0x42, 0x46, + 0xd5, 0x02, 0xfd, 0x87, 0x81, 0x1f, 0x19, 0x84, 0xcd, 0x67, 0x97, 0x17, 0xe7, 0xfa, 0x36, 0x67, + 0xcb, 0x75, 0x0d, 0x79, 0x98, 0xa6, 0x59, 0x11, 0x18, 0x58, 0xb6, 0xef, 0xb7, 0xdb, 0xf7, 0xf7, + 0xf7, 0xce, 0x7d, 0xc7, 0x61, 0x7c, 0xdc, 0xf6, 0x5d, 0xd7, 0xc5, 0xfb, 0x08, 0x83, 0xa8, 0xd7, + 0x08, 0x06, 0x16, 0x55, 0x0d, 0xa2, 0xee, 0x7f, 0xf4, 0x97, 0xbe, 0xec, 0xd1, 0xb7, 0x44, 0x78, + 0xe7, 0xd3, 0x7f, 0x75, 0x74, 0x04, 0x13, 0xdd, 0x01, 0x74, 0x72, 0xf6, 0x85, 0xf6, 0x09, 0x74, + 0xe0, 0x7f, 0x65, 0x87, 0x2e, 0x67, 0x91, 0x16, 0x16, 0x57, 0x74, 0x57, 0x0c, 0xf4, 0x86, 0x78, + 0xb3, 0xd6, 0x27, 0xae, 0xe3, 0xd9, 0xe4, 0x68, 0xa0, 0xae, 0xfb, 0x8f, 0xed, 0xce, 0xd5, 0xc1, + 0xd9, 0xc1, 0x55, 0xf7, 0xec, 0xf0, 0xca, 0x3b, 0x7e, 0xeb, 0xdb, 0xbe, 0xbc, 0xd3, 0x72, 0x49, + 0xcf, 0xf6, 0xbd, 0x33, 0xaf, 0x57, 0xeb, 0xc1, 0x7b, 0x96, 0x63, 0x00, 0xf4, 0x5d, 0x98, 0xe1, + 0x1d, 0x5e, 0x75, 0xce, 0x8e, 0x2f, 0x7a, 0x76, 0xf7, 0x0c, 0xef, 0xbb, 0x8e, 0xcf, 0x7a, 0x57, + 0x5d, 0x40, 0x76, 0x74, 0xe5, 0xf5, 0xce, 0x3c, 0xef, 0xea, 0x08, 0xc6, 0xf0, 0xd6, 0x45, 0x7e, + 0x1e, 0xc2, 0xa7, 0xd7, 0xa9, 0xdf, 0x80, 0x09, 0x6d, 0x4e, 0xca, 0xca, 0x4f, 0x60, 0x94, 0x65, + 0x53, 0xa3, 0x1a, 0x93, 0x76, 0x47, 0x1f, 0xae, 0xb2, 0xa9, 0xe5, 0x08, 0x44, 0x10, 0x7a, 0xe0, + 0x77, 0x35, 0x10, 0x3b, 0x78, 0x19, 0xda, 0x88, 0xec, 0x21, 0xd6, 0x10, 0xcf, 0xa7, 0x37, 0xc2, + 0x51, 0x25, 0x86, 0x5f, 0x58, 0x4c, 0x1d, 0x15, 0x15, 0xac, 0xa6, 0xae, 0xcb, 0xe7, 0x2e, 0xd0, + 0x35, 0xb8, 0x1d, 0xca, 0xf3, 0xdc, 0xf4, 0x0d, 0x60, 0x6b, 0x5d, 0x87, 0xbf, 0x3a, 0x7b, 0xc7, + 0xda, 0xdf, 0xb8, 0xea, 0x96, 0x24, 0x66, 0x7b, 0x54, 0xf8, 0x4c, 0xba, 0xd8, 0x0c, 0xaa, 0xbe, + 0x12, 0xe6, 0x6d, 0xc4, 0xa0, 0x0b, 0xa9, 0x4d, 0xea, 0x66, 0x5a, 0x29, 0x16, 0x62, 0x00, 0x9b, + 0x0c, 0x8a, 0x88, 0x3e, 0x1c, 0x7a, 0xd0, 0xc7, 0xcb, 0x1f, 0x53, 0xfe, 0xee, 0xdc, 0x1a, 0x0e, + 0x22, 0xa5, 0xaa, 0xf3, 0x9b, 0x88, 0xad, 0x07, 0xaf, 0x93, 0x2f, 0xbf, 0xd6, 0x33, 0x35, 0x24, + 0x48, 0xd6, 0xf6, 0x30, 0xae, 0x93, 0x5f, 0xb2, 0xa8, 0x65, 0x0d, 0xca, 0x3b, 0xb8, 0x5f, 0x51, + 0xd1, 0x86, 0x5d, 0xd7, 0xfd, 0xa9, 0x94, 0x4d, 0x5d, 0x48, 0xc0, 0x57, 0x3b, 0x19, 0x35, 0xfa, + 0x1b, 0xdd, 0xaa, 0x6e, 0x69, 0xd4, 0xd6, 0x0c, 0xd3, 0xe8, 0x3f, 0x3f, 0x7f, 0xfc, 0xc5, 0x54, + 0x97, 0x74, 0x34, 0x78, 0xb3, 0x28, 0xcb, 0x08, 0x46, 0xff, 0xfa, 0xcd, 0x40, 0xbf, 0xa2, 0x59, + 0xcb, 0x42, 0xc4, 0x5a, 0x12, 0x02, 0xa9, 0xa0, 0x4c, 0x42, 0x04, 0x86, 0x43, 0x26, 0x85, 0xdc, + 0xc2, 0x46, 0x26, 0x42, 0x16, 0x82, 0x39, 0x88, 0x6d, 0xbc, 0x5e, 0x70, 0xa7, 0x80, 0xed, 0x53, + 0xd3, 0xb3, 0x96, 0x06, 0x26, 0x23, 0x08, 0x73, 0xb3, 0x04, 0x55, 0xa8, 0x05, 0x90, 0xf2, 0xfd, + 0x93, 0xa0, 0xff, 0x25, 0xcb, 0x2e, 0x78, 0x30, 0xaa, 0x00, 0x23, 0xc9, 0x5b, 0xd1, 0x69, 0xdf, + 0xb6, 0x35, 0x81, 0x98, 0xda, 0x38, 0x7f, 0x14, 0x2c, 0xbb, 0x6d, 0x24, 0xbe, 0xd5, 0x1c, 0x48, + 0x8d, 0x94, 0xff, 0xe2, 0x01, 0x56, 0x9e, 0x7e, 0xbb, 0x38, 0x3f, 0x03, 0x1b, 0xf8, 0x0f, 0x0a, + 0x69, 0x6f, 0x21, 0x20, 0x64, 0xc7, 0xce, 0x9f, 0x53, 0x76, 0x07, 0x49, 0xd4, 0x8d, 0xbd, 0xc0, + 0x00, 0xb5, 0x6f, 0x80, 0x12, 0xa7, 0x58, 0x3e, 0x02, 0x54, 0x6d, 0x44, 0x6d, 0x2c, 0x21, 0xd4, + 0xde, 0x22, 0x79, 0xb8, 0x88, 0x61, 0x9b, 0x65, 0x02, 0xcc, 0xd0, 0x62, 0xb0, 0xb1, 0x14, 0x6e, + 0x38, 0xfd, 0x22, 0x87, 0x3e, 0x7a, 0x49, 0x1f, 0x84, 0x6d, 0x90, 0x16, 0x31, 0xa4, 0x6e, 0x60, + 0xf4, 0x2b, 0x66, 0x78, 0x43, 0xc6, 0x60, 0x37, 0x9f, 0x21, 0xe5, 0x0e, 0xc7, 0xa5, 0xfc, 0x7c, + 0x10, 0x74, 0x0a, 0x87, 0x9d, 0xd2, 0xf8, 0x53, 0x98, 0x62, 0x4d, 0x44, 0x07, 0xcf, 0x08, 0x8a, + 0xb4, 0x38, 0x13, 0x4e, 0x47, 0x81, 0xd1, 0x06, 0x72, 0xec, 0x6d, 0xe4, 0x50, 0xce, 0xf1, 0xce, + 0x8b, 0xae, 0x91, 0x63, 0xbc, 0xc7, 0xfe, 0x3e, 0x91, 0xb7, 0x7b, 0x8d, 0x01, 0xf2, 0x59, 0x12, + 0xd3, 0x5f, 0xa7, 0x0d, 0x43, 0x8f, 0x64, 0x4a, 0xd9, 0x4c, 0x98, 0x72, 0x73, 0x4b, 0xdb, 0xa3, + 0x1d, 0x4b, 0xae, 0xca, 0xc0, 0xbc, 0x99, 0xc6, 0xa7, 0x8f, 0x9f, 0x2f, 0xe1, 0x74, 0xdb, 0x8a, + 0xcf, 0x86, 0x8a, 0xd4, 0x43, 0xc9, 0xcb, 0xbf, 0x33, 0x3e, 0x7d, 0x07, 0x81, 0x45, 0x29, 0x34, + 0xa1, 0x36, 0x89, 0x2a, 0xdc, 0x80, 0xdc, 0x1a, 0xaf, 0x10, 0xb9, 0xac, 0x84, 0x9b, 0xa1, 0x65, + 0xbf, 0xf4, 0x96, 0x61, 0xf1, 0x98, 0x45, 0x64, 0xf5, 0xc6, 0x8b, 0x8a, 0x0f, 0xd9, 0x88, 0x81, + 0x2c, 0x26, 0x23, 0x13, 0xc2, 0xa2, 0x60, 0xb5, 0x7d, 0x06, 0x27, 0x06, 0x3d, 0xe5, 0x15, 0xae, + 0x6b, 0x09, 0xfe, 0x58, 0x69, 0x4a, 0x78, 0x1f, 0x26, 0x82, 0x8c, 0xa8, 0x00, 0x61, 0x2c, 0xfd, + 0x9c, 0xb1, 0x0f, 0xe0, 0xfb, 0x86, 0x3c, 0xc4, 0xb6, 0x2c, 0x52, 0xa2, 0x16, 0x7d, 0x15, 0xb2, + 0xaa, 0xc1, 0x02, 0xa5, 0x1a, 0x9a, 0x4a, 0x19, 0x83, 0x9c, 0xa4, 0x5e, 0x11, 0x52, 0x43, 0x42, + 0x0f, 0xd9, 0x12, 0x63, 0x59, 0x8f, 0x33, 0x4d, 0x55, 0xd1, 0x82, 0x34, 0x05, 0x7f, 0xc1, 0x97, + 0x0b, 0xab, 0x05, 0x82, 0x0f, 0x7b, 0x81, 0x65, 0xa9, 0x55, 0x1d, 0x91, 0x3c, 0x35, 0xbc, 0xdc, + 0x92, 0x17, 0xc7, 0xcd, 0x5e, 0x03, 0x8c, 0x43, 0xc6, 0x04, 0x49, 0x62, 0x38, 0xe8, 0x64, 0xf4, + 0x48, 0x90, 0x05, 0x10, 0xaa, 0xad, 0xb1, 0xac, 0xb9, 0x30, 0xe0, 0xae, 0x97, 0xb1, 0x34, 0xb7, + 0x02, 0x77, 0x80, 0x17, 0xda, 0xa8, 0xdf, 0x90, 0x73, 0x0c, 0xc4, 0x30, 0xa0, 0x03, 0xb1, 0xbf, + 0xbf, 0xb2, 0x34, 0xb7, 0x9a, 0x13, 0xaf, 0x17, 0xc0, 0x89, 0xe5, 0x4a, 0xbd, 0x84, 0x56, 0xaf, + 0xc1, 0x8a, 0xd9, 0x4d, 0x16, 0xd2, 0x15, 0x97, 0xc4, 0x1a, 0x97, 0x14, 0x01, 0xf9, 0xac, 0x98, + 0x40, 0x5e, 0xa8, 0xb7, 0x2e, 0xd6, 0xb7, 0x7e, 0x2b, 0xe5, 0x53, 0x21, 0xc3, 0x12, 0x2a, 0xaa, + 0x2d, 0x19, 0x71, 0x36, 0x95, 0xd7, 0x16, 0x7d, 0x72, 0x0b, 0x12, 0xb3, 0x5c, 0x6e, 0xd9, 0xd2, + 0xd0, 0x03, 0x43, 0xb3, 0xb9, 0x52, 0xb9, 0xfb, 0xfe, 0xb5, 0x6b, 0xf7, 0xca, 0x3f, 0x48, 0xcb, + 0xaa, 0x8f, 0x9b, 0x65, 0x79, 0xbf, 0x23, 0x02, 0x5c, 0x0c, 0x2d, 0x79, 0x41, 0xcd, 0x86, 0x46, + 0xa2, 0x14, 0xae, 0xa9, 0xa3, 0xac, 0x3e, 0x00, 0xf5, 0xc8, 0x46, 0xcd, 0x34, 0x2c, 0xb0, 0x83, + 0x0f, 0x97, 0xa2, 0x0a, 0xbf, 0x60, 0x42, 0x1c, 0xf9, 0xda, 0xb3, 0x26, 0x24, 0x68, 0x56, 0xe8, + 0x89, 0x7f, 0x70, 0x68, 0xe9, 0xcb, 0x4c, 0xa2, 0x00, 0x91, 0x02, 0x91, 0x64, 0x33, 0xba, 0x54, + 0xb8, 0x78, 0xa0, 0xfb, 0xf1, 0x84, 0xb0, 0x2e, 0x31, 0xa8, 0xaf, 0xc3, 0x46, 0x84, 0xcb, 0x55, + 0x5e, 0xaa, 0x8d, 0x26, 0x85, 0xfc, 0x05, 0xde, 0x3f, 0x3d, 0x1d, 0xbc, 0x0c, 0x02, 0xaa, 0x59, + 0x62, 0x2d, 0x64, 0x71, 0xe5, 0x8e, 0xd3, 0xf0, 0xcb, 0x72, 0x85, 0x40, 0x20, 0x02, 0x6a, 0xc1, + 0x7c, 0x23, 0x9b, 0x4d, 0xef, 0x20, 0x8a, 0x05, 0x9f, 0x06, 0xa6, 0x0e, 0x7a, 0xc5, 0xd3, 0x93, + 0x18, 0xba, 0xf0, 0xcf, 0x09, 0xb0, 0xe8, 0xe9, 0xe9, 0xe5, 0x2f, 0x72, 0x1c, 0x16, 0xf8, 0x90, + 0x09, 0x3a, 0x06, 0xb3, 0x22, 0xac, 0x06, 0xd2, 0x25, 0x12, 0xc1, 0xbe, 0xb2, 0x99, 0x30, 0xe0, + 0xd7, 0x5c, 0x93, 0xd4, 0xf2, 0x6e, 0x90, 0x71, 0xf2, 0x1a, 0x34, 0x08, 0x21, 0x83, 0x5f, 0x89, + 0xdc, 0xb5, 0xe3, 0x38, 0xe1, 0xcd, 0x80, 0x42, 0x67, 0x80, 0x07, 0xc4, 0xd5, 0x01, 0x82, 0x2e, + 0x2c, 0x4b, 0x90, 0x75, 0x9f, 0x03, 0xcc, 0x76, 0xa6, 0x61, 0xbe, 0xba, 0xf3, 0x32, 0x17, 0xb0, + 0x3e, 0xf8, 0xb8, 0x51, 0x1a, 0xe2, 0xdd, 0x07, 0xb2, 0x1f, 0xbe, 0xf0, 0x67, 0x69, 0xa1, 0x93, + 0x2c, 0x18, 0x07, 0x2b, 0x86, 0x5e, 0x20, 0x38, 0xa1, 0xb2, 0x5f, 0xda, 0xd3, 0x14, 0x92, 0x9b, + 0x29, 0x7a, 0x70, 0x53, 0x01, 0x43, 0x54, 0xbf, 0x29, 0x49, 0x40, 0x5e, 0xa9, 0x97, 0x30, 0x06, + 0x78, 0x8c, 0x4b, 0x7c, 0xa5, 0x80, 0x0f, 0x61, 0x91, 0xa1, 0x55, 0x8d, 0x1c, 0xd0, 0x90, 0x69, + 0x52, 0x14, 0xc9, 0x58, 0xc9, 0xed, 0x23, 0x9b, 0x71, 0x72, 0xc7, 0xd9, 0x7d, 0x01, 0x9c, 0x24, + 0xbf, 0xb3, 0x19, 0x29, 0x26, 0x6c, 0x96, 0xc6, 0x24, 0xe7, 0xec, 0x2e, 0xbc, 0x4b, 0x1f, 0x89, + 0x36, 0x8e, 0xfa, 0x4d, 0xc1, 0x34, 0x04, 0x39, 0x82, 0x30, 0x05, 0x96, 0xc9, 0x62, 0x82, 0x02, + 0x00, 0xba, 0x24, 0x9f, 0x1d, 0xc0, 0x84, 0x9c, 0x72, 0x98, 0x30, 0xc2, 0x07, 0x14, 0xf8, 0x98, + 0xa0, 0x5c, 0x53, 0x51, 0x81, 0x57, 0x84, 0x70, 0x4a, 0x60, 0xfe, 0xc1, 0x67, 0x92, 0x3b, 0x0a, + 0x60, 0x54, 0x23, 0x47, 0x55, 0x9a, 0x50, 0x4e, 0x1d, 0x30, 0xd4, 0x17, 0x48, 0x1c, 0x7c, 0xcb, + 0x49, 0x71, 0x85, 0xe4, 0x25, 0x58, 0xee, 0x72, 0xb2, 0x36, 0x1f, 0xef, 0x92, 0x79, 0x51, 0x0f, + 0x94, 0xb6, 0x0e, 0x57, 0x07, 0xb8, 0xf1, 0x02, 0xd7, 0xa8, 0x99, 0x4e, 0xb1, 0x65, 0x78, 0xed, + 0xcd, 0x02, 0x5a, 0x0e, 0xc5, 0x6f, 0xe4, 0x9b, 0x49, 0x9d, 0x08, 0x43, 0x28, 0x08, 0xab, 0x20, + 0xae, 0x48, 0x52, 0x81, 0x49, 0x2f, 0x9e, 0x1a, 0x64, 0x66, 0x53, 0x69, 0x3b, 0xda, 0xff, 0xd4, + 0xf8, 0xff, 0x27, 0x7e, 0xdd, 0x86, 0xe3, 0x5d, 0x93, 0x70, 0x6e, 0xad, 0x47, 0xd1, 0x95, 0xcd, + 0xe3, 0x60, 0xf3, 0xf8, 0x70, 0x8b, 0x11, 0x19, 0xf0, 0x95, 0x11, 0x64, 0x41, 0x1d, 0xe0, 0x9a, + 0xdf, 0xd8, 0x61, 0xb0, 0xfe, 0x74, 0x58, 0x67, 0xc0, 0xa1, 0x53, 0x7b, 0xac, 0x63, 0xec, 0x73, + 0x3b, 0x54, 0x55, 0x10, 0xf4, 0xc6, 0xe8, 0x9a, 0x2b, 0x4e, 0x18, 0xa5, 0xad, 0xc9, 0x4a, 0x59, + 0xfe, 0x42, 0x1f, 0x0b, 0x93, 0x59, 0x20, 0xf4, 0x80, 0x05, 0x9d, 0x22, 0xb8, 0x5b, 0xbc, 0x72, + 0x97, 0xa9, 0x91, 0x32, 0x48, 0x85, 0xbc, 0x6c, 0x05, 0x83, 0x6f, 0xb2, 0xeb, 0xec, 0x66, 0x55, + 0x02, 0xdc, 0x41, 0x4c, 0x5a, 0x27, 0xa6, 0x8c, 0xa1, 0x81, 0xa8, 0xaa, 0x42, 0xb6, 0x63, 0x9e, + 0x2a, 0x7c, 0xad, 0x5e, 0xb6, 0xe1, 0x3e, 0x92, 0xf5, 0x7d, 0xd4, 0x86, 0x57, 0xd5, 0xab, 0x0d, + 0x84, 0x55, 0x29, 0x4b, 0x3e, 0x35, 0xd1, 0xcf, 0xdc, 0x10, 0x5f, 0xe1, 0xe0, 0x23, 0x51, 0x08, + 0x7a, 0x83, 0x52, 0xa6, 0xd0, 0xb3, 0x37, 0xa3, 0x3c, 0xf0, 0x0d, 0x58, 0x9d, 0xd9, 0x76, 0xb5, + 0x61, 0x7c, 0xa6, 0xf8, 0x7e, 0x47, 0xbd, 0x68, 0xaa, 0xbd, 0x24, 0xc2, 0xe7, 0x37, 0x04, 0xf0, + 0x63, 0x49, 0x6b, 0x95, 0xff, 0xea, 0xf7, 0x19, 0x76, 0xb1, 0xbe, 0x89, 0x8a, 0xa2, 0x72, 0x0b, + 0xd1, 0xce, 0x2d, 0x44, 0x72, 0x0b, 0xe5, 0x9b, 0x3d, 0xdc, 0x42, 0xb4, 0x6d, 0x0b, 0x48, 0x38, + 0xc4, 0x3a, 0xf8, 0x88, 0x42, 0xd2, 0x1f, 0xed, 0xb8, 0x9a, 0x39, 0x65, 0xf9, 0xa3, 0xa2, 0x16, + 0xe2, 0xdf, 0x65, 0xa9, 0x7a, 0xb8, 0x05, 0xb5, 0x99, 0xdb, 0xa6, 0xe1, 0xc1, 0x72, 0x03, 0xda, + 0xa3, 0xbd, 0xbd, 0x67, 0x11, 0xbe, 0x5e, 0x6c, 0x9b, 0xb4, 0x1d, 0x7d, 0xd4, 0x64, 0x10, 0x52, + 0x0c, 0x7d, 0x6b, 0x0c, 0xaa, 0xf6, 0x8b, 0x75, 0xb4, 0xed, 0x92, 0x5c, 0xbd, 0x31, 0x45, 0x89, + 0x03, 0x95, 0xca, 0x03, 0xc3, 0xa8, 0xf4, 0x8b, 0x82, 0x7e, 0xd1, 0x21, 0x4a, 0x6b, 0xa9, 0x57, + 0x10, 0xdc, 0xfb, 0x56, 0x15, 0x30, 0xe0, 0x08, 0x3a, 0x0a, 0x74, 0x41, 0x4a, 0xba, 0xb1, 0x3a, + 0xae, 0x5c, 0x90, 0x1a, 0xdb, 0xf7, 0x6e, 0xac, 0x1c, 0x92, 0x85, 0x57, 0xaf, 0x17, 0x55, 0x07, + 0x56, 0x2e, 0x44, 0x1b, 0x5c, 0xc3, 0x8f, 0x9e, 0xeb, 0x2e, 0x7f, 0xb0, 0xc9, 0xad, 0x2c, 0xaf, + 0x2f, 0x10, 0x4e, 0xbe, 0x16, 0xaf, 0xc3, 0x62, 0xad, 0x43, 0x7f, 0xf9, 0x8d, 0xaf, 0x0e, 0x7e, + 0x79, 0xd6, 0x06, 0x2e, 0xcc, 0x3f, 0x7c, 0x88, 0x2c, 0x82, 0x5c, 0xe7, 0x25, 0xae, 0xdd, 0xf2, + 0xb7, 0xd5, 0x11, 0x3f, 0x4c, 0xc1, 0x36, 0x07, 0xb7, 0xbb, 0xea, 0x33, 0xb8, 0x54, 0xbe, 0xb4, + 0x6e, 0x4b, 0x1b, 0xa0, 0x2a, 0xa1, 0x1b, 0x4f, 0x5a, 0x41, 0x98, 0x4b, 0x9b, 0x10, 0x04, 0xd9, + 0x4f, 0xc9, 0x5a, 0xb9, 0xb0, 0x1f, 0xe9, 0x75, 0xd5, 0xeb, 0xc9, 0x73, 0xbc, 0x7a, 0x30, 0xe4, + 0xfb, 0x1b, 0x9b, 0xbf, 0x0c, 0x64, 0x10, 0xb9, 0xb7, 0xd7, 0x9c, 0x14, 0xe1, 0x7b, 0x86, 0xb5, + 0x7a, 0x64, 0xb8, 0x5e, 0xbb, 0x6c, 0x2c, 0x4a, 0x1b, 0xa3, 0xa1, 0x05, 0xae, 0xb2, 0xd9, 0xb1, + 0x5c, 0x99, 0xfe, 0xba, 0x84, 0x53, 0xbc, 0x17, 0xdd, 0xa8, 0x14, 0xbe, 0x91, 0x55, 0xf0, 0xeb, + 0x24, 0xfe, 0x67, 0xb3, 0x7c, 0x7e, 0xf3, 0x66, 0x95, 0x17, 0x62, 0x36, 0x42, 0x77, 0xe5, 0xca, + 0xba, 0xa4, 0xbb, 0x89, 0x18, 0x75, 0xb1, 0x86, 0x57, 0x5f, 0xc4, 0xdd, 0xd8, 0x64, 0x6d, 0xa0, + 0x71, 0x7b, 0xdd, 0x18, 0x6e, 0xdc, 0xe0, 0x7d, 0x17, 0x41, 0x03, 0x15, 0x23, 0xd7, 0x22, 0xc3, + 0x71, 0xcd, 0xb3, 0x19, 0xfb, 0xd4, 0xda, 0x76, 0x8f, 0x5a, 0x1a, 0x70, 0xc3, 0xb2, 0xd6, 0x94, + 0x42, 0x6c, 0xd3, 0x08, 0x08, 0xf7, 0xaa, 0x60, 0x6f, 0xab, 0x52, 0x08, 0xa5, 0x11, 0x4c, 0x3e, + 0x1e, 0x51, 0x1f, 0x4a, 0xf6, 0x59, 0x00, 0x92, 0x7f, 0xc9, 0xce, 0xe8, 0x83, 0xa9, 0xba, 0x6d, + 0x21, 0x25, 0x5e, 0xfe, 0x74, 0x6e, 0x2c, 0x25, 0xd5, 0xf2, 0xe5, 0x0d, 0xb7, 0x59, 0x95, 0x44, + 0x16, 0x11, 0x67, 0xc0, 0x59, 0xd7, 0x76, 0xeb, 0x67, 0x5c, 0xa1, 0x82, 0x00, 0xc9, 0xe6, 0x2b, + 0x3f, 0x68, 0xd2, 0xe1, 0xd0, 0xeb, 0x42, 0x64, 0x38, 0x3c, 0x7a, 0xe2, 0xcd, 0x07, 0x2a, 0x3a, + 0xb1, 0x43, 0xb2, 0x0c, 0xd7, 0xc0, 0x2b, 0x53, 0xb0, 0xa2, 0x66, 0xb7, 0xc5, 0xca, 0x10, 0x74, + 0x9f, 0x2d, 0xab, 0x1c, 0xae, 0x5c, 0x7d, 0x57, 0xee, 0x8c, 0xb7, 0x1d, 0xcf, 0x00, 0x41, 0x12, + 0x9d, 0xfc, 0x49, 0x4b, 0xb0, 0x46, 0x05, 0x7d, 0xe7, 0x4b, 0x87, 0xc6, 0x73, 0x26, 0xfd, 0x74, + 0xc9, 0xd5, 0xbf, 0xf8, 0xac, 0x67, 0xe3, 0xaa, 0xa9, 0xfe, 0xff, 0xfe, 0xb4, 0xd5, 0xff, 0xbf, + 0xf5, 0xbf, 0x04, 0xfa, 0x03, 0x25, 0xd7, 0x35, 0x00, 0x00 }; diff --git a/wled00/html_other.h b/wled00/html_other.h index 66065b32..bc45b71e 100644 --- a/wled00/html_other.h +++ b/wled00/html_other.h @@ -43,44 +43,44 @@ const char PAGE_dmxmap[] PROGMEM = R"=====()====="; // Autogenerated from wled00/data/update.htm, do not edit!! const uint16_t PAGE_update_length = 607; const uint8_t PAGE_update[] PROGMEM = { - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x75, 0x53, 0xd1, 0x6e, 0xd4, 0x30, - 0x10, 0x7c, 0xcf, 0x57, 0x18, 0x3f, 0xdd, 0x49, 0x9c, 0x53, 0x0a, 0x12, 0xa2, 0x24, 0x29, 0x3a, - 0x5a, 0x21, 0x24, 0xaa, 0x56, 0x6a, 0x0b, 0xe2, 0x09, 0x39, 0xf1, 0x26, 0x31, 0xe7, 0xd8, 0xa9, - 0xbd, 0xb9, 0xd3, 0x09, 0xf5, 0xdf, 0x59, 0x3b, 0x77, 0x05, 0xa9, 0xf0, 0x12, 0xc5, 0xc9, 0xec, - 0x64, 0x76, 0x66, 0x52, 0xbc, 0xb8, 0xb8, 0xfe, 0x78, 0xf7, 0xfd, 0xe6, 0x92, 0xf5, 0x38, 0x98, - 0xaa, 0x38, 0x5c, 0x41, 0xaa, 0xaa, 0x18, 0x00, 0x25, 0x6b, 0x9c, 0x45, 0xb0, 0x58, 0xf2, 0x9d, - 0x56, 0xd8, 0x97, 0x0a, 0xb6, 0xba, 0x81, 0x55, 0x3a, 0x70, 0x66, 0xe5, 0x00, 0x25, 0xdf, 0x6a, - 0xd8, 0x8d, 0xce, 0x23, 0xaf, 0xb2, 0x02, 0x35, 0x1a, 0xa8, 0xbe, 0x7d, 0xb9, 0xbc, 0x60, 0xf7, - 0xa3, 0x92, 0x08, 0x45, 0x3e, 0x3f, 0x2a, 0x42, 0xe3, 0xf5, 0x88, 0x55, 0xd6, 0x4e, 0xb6, 0x41, - 0xed, 0x2c, 0x5b, 0x2f, 0x96, 0xbf, 0x76, 0xda, 0x2a, 0xb7, 0x13, 0xbd, 0x0e, 0xe8, 0xfc, 0x5e, - 0xd4, 0xb2, 0xd9, 0x2c, 0x96, 0x8f, 0x4f, 0x90, 0x7b, 0x82, 0x28, 0xd7, 0x4c, 0x03, 0x29, 0x10, - 0x1d, 0xe0, 0xa5, 0x81, 0x78, 0xbb, 0xde, 0x7f, 0x56, 0x0b, 0x3e, 0xb5, 0x7c, 0x29, 0x02, 0xee, - 0x0d, 0x08, 0xa5, 0xc3, 0x68, 0xe4, 0xbe, 0xe4, 0xd6, 0x59, 0xe0, 0x2f, 0xff, 0x3b, 0x32, 0x84, - 0xee, 0xf9, 0x4c, 0x6d, 0x5c, 0xb3, 0xe1, 0x8f, 0x59, 0x91, 0x1f, 0x24, 0x1e, 0xa4, 0xb2, 0xe0, - 0x9b, 0x92, 0xe7, 0x01, 0x10, 0xb5, 0xed, 0x42, 0x1e, 0xc4, 0xcf, 0x70, 0x3e, 0x96, 0xef, 0x78, - 0xf5, 0x17, 0x32, 0x52, 0x55, 0xd9, 0x07, 0x3d, 0x44, 0x03, 0xd8, 0xe4, 0xcd, 0x82, 0xcf, 0xf4, - 0x4d, 0x08, 0x7c, 0xf9, 0x9e, 0x90, 0x09, 0x51, 0xe4, 0xb3, 0xa5, 0xb5, 0x53, 0x7b, 0xe6, 0xac, - 0x71, 0x52, 0x95, 0xfc, 0x13, 0xe0, 0xd7, 0xc5, 0x92, 0xe8, 0xfa, 0xd3, 0x2a, 0xbb, 0x72, 0xce, - 0x5e, 0x39, 0xc5, 0x92, 0x75, 0xb7, 0xae, 0xc5, 0x9d, 0xf4, 0xf0, 0xe4, 0x21, 0x21, 0x8a, 0xd6, - 0xf9, 0x81, 0x51, 0x26, 0xbd, 0xa3, 0xd9, 0x9b, 0xeb, 0xdb, 0x3b, 0xce, 0x64, 0xb2, 0x89, 0x44, - 0x4e, 0x09, 0xc7, 0x99, 0xa6, 0x57, 0xe4, 0x0b, 0xcb, 0x80, 0x1c, 0xdc, 0x8f, 0x14, 0xce, 0x30, - 0x19, 0xd4, 0xa3, 0xf4, 0x98, 0xc7, 0xf9, 0x15, 0xc1, 0x24, 0x27, 0x05, 0x61, 0xaa, 0x07, 0x4d, - 0xa9, 0xde, 0x27, 0x01, 0x61, 0x94, 0x96, 0x35, 0x46, 0x86, 0x50, 0xf2, 0xa0, 0x47, 0x5e, 0x9d, - 0x88, 0x57, 0x6f, 0xc4, 0xc9, 0xaa, 0x3e, 0x7d, 0x2b, 0x5e, 0x9f, 0x46, 0x67, 0x08, 0x40, 0xea, - 0x7d, 0x75, 0xe1, 0x76, 0x49, 0x3d, 0xc3, 0x1e, 0x98, 0xa1, 0x6f, 0x06, 0x64, 0x1e, 0x0c, 0xc8, - 0x00, 0x67, 0xac, 0x90, 0x2c, 0xeb, 0x3d, 0xb4, 0x25, 0xef, 0x11, 0xc7, 0x70, 0x96, 0xe7, 0x9d, - 0xc6, 0x7e, 0xaa, 0x45, 0xe3, 0x86, 0xfc, 0xb0, 0xe0, 0x64, 0x20, 0xe4, 0x71, 0xc9, 0xfc, 0x30, - 0x16, 0x38, 0x43, 0xe9, 0x29, 0xa9, 0x92, 0xff, 0xa8, 0x8d, 0xb4, 0x1b, 0xd2, 0xa3, 0x87, 0x8e, - 0x65, 0xc9, 0xfe, 0x23, 0x11, 0x3d, 0x11, 0xa1, 0xd7, 0x60, 0x54, 0x10, 0xda, 0x1d, 0x78, 0x8f, - 0x14, 0xcf, 0xb8, 0x45, 0xd8, 0x76, 0xe7, 0xc9, 0xf9, 0xb2, 0x25, 0x91, 0xab, 0xf0, 0x30, 0x91, - 0x9b, 0xb1, 0x9f, 0xb9, 0x4c, 0x6b, 0x14, 0xda, 0x8e, 0x13, 0xb2, 0xd9, 0xa2, 0x56, 0x1b, 0x38, - 0x76, 0xf9, 0x68, 0xa4, 0x87, 0x87, 0x49, 0x7b, 0x50, 0x33, 0xba, 0x9e, 0x10, 0xa9, 0x8e, 0x33, - 0x7c, 0xb6, 0x8e, 0xc8, 0xe6, 0x70, 0x5e, 0x14, 0xf9, 0xfc, 0xfa, 0x1f, 0xd0, 0xf9, 0x10, 0xfd, - 0x6e, 0x8c, 0x6e, 0x36, 0x25, 0x5f, 0x47, 0xbb, 0xd7, 0xd4, 0xf2, 0x3f, 0x43, 0x29, 0x97, 0xaa, - 0x50, 0x7a, 0x9b, 0xa5, 0xf8, 0x62, 0x47, 0x89, 0xa6, 0x4a, 0xec, 0x54, 0x3c, 0x21, 0x04, 0x81, - 0x13, 0xf9, 0x4d, 0xda, 0x96, 0x29, 0xc7, 0xac, 0x43, 0xca, 0xcb, 0xd1, 0xc1, 0x79, 0xd2, 0xda, - 0x7a, 0x08, 0x7d, 0x8a, 0x64, 0x94, 0x1d, 0xb0, 0xb3, 0x65, 0x91, 0x13, 0x5f, 0x5c, 0x37, 0x16, - 0x2e, 0xb6, 0x2f, 0xfe, 0xd6, 0xbf, 0x01, 0xb4, 0xad, 0x31, 0xbd, 0xec, 0x03, 0x00, 0x00 + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x75, 0x53, 0xd1, 0x6e, 0xd3, 0x30, + 0x14, 0x7d, 0xcf, 0x57, 0x78, 0x7e, 0x6a, 0x25, 0xea, 0x6c, 0x0c, 0x21, 0x31, 0x92, 0x0c, 0x95, + 0x4d, 0x08, 0x89, 0x69, 0x95, 0xb6, 0x81, 0x78, 0x42, 0x4e, 0x7c, 0xd3, 0x98, 0x3a, 0x76, 0x66, + 0xdf, 0xb4, 0xaa, 0xd0, 0xfe, 0x9d, 0x6b, 0xa7, 0x1d, 0x48, 0x83, 0x97, 0x28, 0x4e, 0xce, 0x3d, + 0x39, 0xf7, 0x9c, 0x93, 0xe2, 0xe4, 0xea, 0xf6, 0xe3, 0xfd, 0xf7, 0xd5, 0x35, 0xeb, 0xb0, 0x37, + 0x55, 0x71, 0xb8, 0x82, 0x54, 0x55, 0xd1, 0x03, 0x4a, 0xd6, 0x38, 0x8b, 0x60, 0xb1, 0xe4, 0x3b, + 0xad, 0xb0, 0x2b, 0x15, 0x6c, 0x75, 0x03, 0x8b, 0x74, 0xe0, 0xcc, 0xca, 0x1e, 0x4a, 0xbe, 0xd5, + 0xb0, 0x1b, 0x9c, 0x47, 0x5e, 0x65, 0x05, 0x6a, 0x34, 0x50, 0x7d, 0xfb, 0x72, 0x7d, 0xc5, 0x1e, + 0x06, 0x25, 0x11, 0x8a, 0x7c, 0x7a, 0x54, 0x84, 0xc6, 0xeb, 0x01, 0xab, 0xac, 0x1d, 0x6d, 0x83, + 0xda, 0x59, 0xb6, 0x9c, 0xcd, 0x7f, 0xed, 0xb4, 0x55, 0x6e, 0x27, 0x3a, 0x1d, 0xd0, 0xf9, 0xbd, + 0xa8, 0x65, 0xb3, 0x99, 0xcd, 0x9f, 0x9e, 0x21, 0x0f, 0x04, 0x51, 0xae, 0x19, 0x7b, 0x52, 0x20, + 0xd6, 0x80, 0xd7, 0x06, 0xe2, 0xed, 0x72, 0xff, 0x59, 0xcd, 0xf8, 0xd8, 0xf2, 0xb9, 0x08, 0xb8, + 0x37, 0x20, 0x94, 0x0e, 0x83, 0x91, 0xfb, 0x92, 0x5b, 0x67, 0x81, 0xbf, 0xfa, 0xef, 0x48, 0x1f, + 0xd6, 0x2f, 0x67, 0x6a, 0xe3, 0x9a, 0x0d, 0x7f, 0xca, 0x8a, 0xfc, 0x20, 0xf1, 0x20, 0x95, 0x05, + 0xdf, 0x94, 0x3c, 0x0f, 0x80, 0xa8, 0xed, 0x3a, 0xe4, 0x41, 0xfc, 0x0c, 0x97, 0x43, 0xf9, 0x8e, + 0x57, 0x7f, 0x21, 0x23, 0x55, 0x95, 0x7d, 0xd0, 0x7d, 0x34, 0x80, 0x8d, 0xde, 0xcc, 0xf8, 0x44, + 0xdf, 0x84, 0xc0, 0xe7, 0xef, 0x09, 0x99, 0x10, 0x45, 0x3e, 0x59, 0x5a, 0x3b, 0xb5, 0x67, 0xce, + 0x1a, 0x27, 0x55, 0xc9, 0x3f, 0x01, 0x7e, 0x9d, 0xcd, 0x89, 0xae, 0x7b, 0x5d, 0x65, 0x37, 0xce, + 0xd9, 0x1b, 0xa7, 0x58, 0xb2, 0xee, 0xce, 0xb5, 0xb8, 0x93, 0x1e, 0x9e, 0x3d, 0x24, 0x44, 0xd1, + 0x3a, 0xdf, 0x33, 0xca, 0xa4, 0x73, 0x34, 0xbb, 0xba, 0xbd, 0xbb, 0xe7, 0x4c, 0x26, 0x9b, 0x48, + 0xe4, 0x98, 0x70, 0x9c, 0x69, 0x7a, 0x45, 0xbe, 0xb0, 0x0c, 0xc8, 0xc1, 0xfd, 0x40, 0xe1, 0xf4, + 0xa3, 0x41, 0x3d, 0x48, 0x8f, 0x79, 0x9c, 0x5f, 0x10, 0x4c, 0x72, 0x52, 0x10, 0xc6, 0xba, 0xd7, + 0x94, 0xea, 0x43, 0x12, 0x10, 0x06, 0x69, 0x59, 0x63, 0x64, 0x08, 0x25, 0x0f, 0x7a, 0xe0, 0xd5, + 0xa9, 0x38, 0x7b, 0x23, 0xce, 0x16, 0xf5, 0xf9, 0xa9, 0x38, 0x7f, 0x1b, 0x9d, 0x21, 0x00, 0xa9, + 0xf7, 0xd5, 0x95, 0xdb, 0x25, 0xf5, 0x0c, 0x3b, 0x60, 0x86, 0xbe, 0x19, 0x90, 0x79, 0x30, 0x20, + 0x03, 0x5c, 0xb0, 0x42, 0xb2, 0xac, 0xf3, 0xd0, 0x96, 0xbc, 0x43, 0x1c, 0xc2, 0x45, 0x9e, 0xaf, + 0x35, 0x76, 0x63, 0x2d, 0x1a, 0xd7, 0xe7, 0x87, 0x05, 0x47, 0x03, 0x21, 0x8f, 0x4b, 0xe6, 0x87, + 0xb1, 0xc0, 0x19, 0x4a, 0x4f, 0x49, 0x95, 0xfc, 0x47, 0x6d, 0xa4, 0xdd, 0x90, 0x1e, 0xdd, 0xaf, + 0x59, 0x96, 0xec, 0x3f, 0x12, 0xd1, 0x13, 0x11, 0x3a, 0x0d, 0x46, 0x05, 0xa1, 0xdd, 0x81, 0xf7, + 0x48, 0xf1, 0x82, 0x5b, 0x84, 0xed, 0xfa, 0x32, 0x39, 0x5f, 0xb6, 0x24, 0x72, 0x11, 0x1e, 0x47, + 0x72, 0x33, 0xf6, 0x33, 0x97, 0x69, 0x8d, 0x42, 0xdb, 0x61, 0x44, 0x36, 0x59, 0xd4, 0x6a, 0x03, + 0xc7, 0x2e, 0x1f, 0x8d, 0xf4, 0xf0, 0x38, 0x6a, 0x0f, 0x6a, 0x42, 0xd7, 0x23, 0x22, 0xd5, 0x71, + 0x82, 0x4f, 0xd6, 0x11, 0xd9, 0x14, 0xce, 0x49, 0x91, 0x4f, 0xaf, 0xff, 0x01, 0x9d, 0x0e, 0xd1, + 0xef, 0xc6, 0xe8, 0x66, 0x53, 0xf2, 0x65, 0xb4, 0x7b, 0x49, 0x2d, 0xff, 0x33, 0x94, 0x72, 0xa9, + 0x0a, 0xa5, 0xb7, 0x59, 0x8a, 0x2f, 0x76, 0x94, 0x68, 0xaa, 0xc4, 0x4e, 0xc5, 0x13, 0x42, 0x10, + 0x38, 0x91, 0xaf, 0xd2, 0xb6, 0x4c, 0x39, 0x66, 0x1d, 0x52, 0x5e, 0x8e, 0x0e, 0xce, 0x93, 0xd6, + 0xd6, 0x43, 0xe8, 0x52, 0x24, 0x83, 0x5c, 0x03, 0xbb, 0x98, 0x17, 0x39, 0xf1, 0xc5, 0x75, 0x63, + 0xe1, 0x62, 0xfb, 0xe2, 0x6f, 0xfd, 0x1b, 0x42, 0x30, 0xd6, 0x7f, 0xec, 0x03, 0x00, 0x00 }; diff --git a/wled00/html_pxmagic.h b/wled00/html_pxmagic.h new file mode 100644 index 00000000..0a1c1a2b --- /dev/null +++ b/wled00/html_pxmagic.h @@ -0,0 +1,562 @@ +/* + * Binary array for the Web UI. + * gzip is used for smaller size and improved speeds. + * + * Please see https://kno.wled.ge/advanced/custom-features/#changing-web-ui + * to find out how to easily modify the web UI source! + */ + +// Autogenerated from wled00/data/pxmagic/pxmagic.htm, do not edit!! +const uint16_t PAGE_pxmagic_L = 8795; +const uint8_t PAGE_pxmagic[] PROGMEM = { + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0xcd, 0x3d, 0xeb, 0x7a, 0xdb, 0xc6, + 0xb1, 0xff, 0xf9, 0x14, 0x30, 0xec, 0x38, 0x84, 0x05, 0x42, 0x24, 0x75, 0xb1, 0x02, 0x0a, 0x52, + 0x13, 0xdb, 0x69, 0x7c, 0x3e, 0xe7, 0x72, 0x62, 0xb5, 0x4d, 0x3e, 0x55, 0x5f, 0xbc, 0x24, 0x96, + 0x24, 0x62, 0x10, 0xcb, 0x02, 0xa0, 0x2e, 0xa1, 0xf8, 0x40, 0xe7, 0xf7, 0x79, 0x84, 0xbe, 0xd8, + 0x99, 0x99, 0xdd, 0x05, 0x16, 0x17, 0x4a, 0xb4, 0xd3, 0x1f, 0xc7, 0x6d, 0x05, 0x60, 0xb1, 0x97, + 0xd9, 0xb9, 0xcf, 0xec, 0x80, 0x3d, 0x7d, 0xf2, 0xfa, 0xc7, 0x57, 0x17, 0xbf, 0xfe, 0xf4, 0xc6, + 0x9a, 0xe7, 0x8b, 0xf8, 0xcc, 0x3a, 0xc5, 0x8b, 0x15, 0xb3, 0x64, 0x16, 0xd8, 0x3c, 0xb1, 0xb1, + 0x81, 0xb3, 0x10, 0x2e, 0x0b, 0x9e, 0x33, 0x6b, 0x32, 0x67, 0x69, 0xc6, 0xf3, 0xc0, 0xfe, 0xdb, + 0xc5, 0xb7, 0xbd, 0x13, 0x5b, 0x37, 0x77, 0x12, 0xb6, 0xe0, 0x81, 0x7d, 0x1d, 0xf1, 0x9b, 0xa5, + 0x48, 0x73, 0xdb, 0x9a, 0x88, 0x24, 0xe7, 0x09, 0xf4, 0xbb, 0x89, 0xc2, 0x7c, 0x1e, 0x84, 0xfc, + 0x3a, 0x9a, 0xf0, 0x1e, 0x3d, 0xb8, 0x51, 0x12, 0xe5, 0x11, 0x8b, 0x7b, 0xd9, 0x84, 0xc5, 0x3c, + 0x18, 0xd4, 0x27, 0x61, 0xab, 0x7c, 0x2e, 0x52, 0x63, 0x8a, 0xbf, 0xb0, 0xdf, 0x45, 0xce, 0x92, + 0x09, 0x76, 0xcc, 0xa3, 0x3c, 0xe6, 0x67, 0x3f, 0x45, 0xb7, 0x3c, 0xb6, 0xbe, 0x67, 0xb3, 0x68, + 0x62, 0x5d, 0x08, 0x11, 0x9f, 0xee, 0xcb, 0x76, 0xeb, 0x34, 0xcb, 0xef, 0xe0, 0xda, 0xf1, 0x53, + 0x21, 0xf2, 0x75, 0xaf, 0x97, 0xf5, 0xf2, 0xf9, 0x6a, 0x31, 0xf6, 0x9f, 0xf6, 0xfb, 0xfd, 0xe3, + 0x11, 0x3e, 0x8f, 0xd9, 0xe4, 0xe3, 0x2c, 0x15, 0xab, 0x24, 0xa4, 0xc6, 0x03, 0x68, 0x14, 0xd7, + 0x3c, 0x8d, 0xd9, 0x9d, 0x9f, 0xce, 0xc6, 0xac, 0xdb, 0x77, 0x2d, 0xf5, 0x5f, 0xef, 0xc8, 0x81, + 0x97, 0x66, 0xff, 0xc1, 0x60, 0x00, 0x2d, 0x39, 0xbf, 0xcd, 0xfd, 0xa7, 0xe3, 0xf1, 0x18, 0xee, + 0x67, 0x29, 0xbb, 0xeb, 0x85, 0x2c, 0xfd, 0xe8, 0x3f, 0x1d, 0x0e, 0x87, 0xba, 0x61, 0xc1, 0xc3, + 0x68, 0xb5, 0xf0, 0x9f, 0x1e, 0x1c, 0x1c, 0xe8, 0xa6, 0x38, 0x9a, 0xcd, 0x61, 0x14, 0xa7, 0x7f, + 0x38, 0x6d, 0xbc, 0xe2, 0x7a, 0xe0, 0xc9, 0xe1, 0xc1, 0xd1, 0x50, 0xb7, 0x15, 0x63, 0xc7, 0x2f, + 0xfb, 0x27, 0x63, 0xdd, 0xaa, 0x86, 0x1f, 0x9e, 0x30, 0xdc, 0xc4, 0x6a, 0x32, 0xe1, 0x59, 0xa6, + 0x86, 0xf7, 0x0f, 0x0e, 0x0f, 0xfb, 0x13, 0xa3, 0x59, 0xcf, 0x70, 0x74, 0x78, 0x32, 0x19, 0x4e, + 0x8d, 0x17, 0x6a, 0x92, 0x13, 0x36, 0xf9, 0x6a, 0x88, 0xc8, 0xe0, 0x69, 0x2a, 0x52, 0x35, 0x0b, + 0x3b, 0xe9, 0xb3, 0x3e, 0x2b, 0x1a, 0xf5, 0x1c, 0xd8, 0x73, 0x38, 0x2e, 0x9a, 0xd5, 0x0c, 0xd3, + 0xe9, 0xd1, 0x57, 0x47, 0xb8, 0x8b, 0x1b, 0x96, 0x26, 0x51, 0x32, 0x53, 0x73, 0x84, 0xb0, 0x5c, + 0x7f, 0x68, 0x34, 0xeb, 0x59, 0xf8, 0xc9, 0x51, 0xd8, 0x3f, 0x34, 0x5e, 0xe8, 0x79, 0x00, 0xc2, + 0xfe, 0xf1, 0xc6, 0xf7, 0x7b, 0x37, 0x7c, 0xfc, 0x31, 0xca, 0x81, 0x23, 0x52, 0x11, 0xc7, 0x63, + 0x96, 0xae, 0x89, 0x53, 0xfc, 0xe3, 0xe5, 0x6d, 0xdb, 0xdb, 0x5e, 0x9e, 0x02, 0x55, 0xd6, 0x06, + 0x69, 0xfa, 0x56, 0xbf, 0xbd, 0x23, 0x52, 0xdf, 0xec, 0x78, 0xcd, 0xd2, 0x6e, 0xc1, 0x16, 0xce, + 0x48, 0x2c, 0xd9, 0x24, 0xca, 0xef, 0x7c, 0x6f, 0x38, 0x1a, 0x8b, 0x34, 0xe4, 0x69, 0x2f, 0x65, + 0x00, 0x73, 0xe6, 0x1f, 0x6d, 0x5b, 0x99, 0xd8, 0x69, 0x8e, 0x2c, 0xd3, 0x36, 0x6d, 0xd9, 0xe4, + 0xc0, 0xf0, 0x8c, 0xc7, 0x7c, 0x92, 0x47, 0x22, 0x69, 0x76, 0x2d, 0xa9, 0xea, 0x6c, 0x5e, 0xac, + 0xa7, 0xc0, 0xea, 0xbd, 0x29, 0x5b, 0x44, 0xf1, 0x9d, 0xff, 0x1d, 0x8f, 0xaf, 0x79, 0x1e, 0x4d, + 0x98, 0xfb, 0x77, 0x9e, 0x86, 0x2c, 0x61, 0x6e, 0xc6, 0x92, 0xac, 0x97, 0xf1, 0x34, 0x9a, 0x02, + 0x90, 0xb7, 0xbd, 0x2c, 0xfa, 0x03, 0x70, 0xe8, 0x2b, 0x78, 0xa1, 0x65, 0xb4, 0x60, 0xe9, 0x2c, + 0x4a, 0xfc, 0xfe, 0x68, 0xc9, 0xc2, 0x10, 0xdf, 0xf5, 0x37, 0x63, 0x11, 0xde, 0xad, 0x8b, 0xf6, + 0x30, 0xca, 0x96, 0xc8, 0xe1, 0xd3, 0x98, 0xdf, 0x8e, 0x7e, 0x5f, 0x65, 0x79, 0x34, 0xbd, 0xeb, + 0x29, 0xf9, 0xf2, 0x27, 0xf0, 0x87, 0xa7, 0x23, 0x06, 0xd0, 0x24, 0xbd, 0x28, 0xe7, 0x8b, 0x4c, + 0x37, 0x2d, 0xa2, 0xa4, 0x37, 0xe7, 0x44, 0xab, 0x41, 0xbf, 0x7f, 0x3d, 0x1f, 0x35, 0xb7, 0x61, + 0xec, 0x77, 0xc2, 0x92, 0x6b, 0x96, 0x29, 0xca, 0x41, 0xff, 0x2f, 0x36, 0xd9, 0x82, 0xc5, 0xf1, + 0x5a, 0x2f, 0x3e, 0x8e, 0xc5, 0xe4, 0xe3, 0x88, 0xb6, 0x7a, 0x23, 0x27, 0x3d, 0xec, 0xf7, 0x35, + 0xec, 0xc3, 0xe5, 0xad, 0xd5, 0xb7, 0x00, 0xeb, 0xa3, 0x89, 0x88, 0x45, 0xaa, 0xa6, 0x2f, 0x45, + 0xc7, 0x91, 0x03, 0x61, 0xef, 0xdc, 0xf7, 0x5e, 0x1e, 0xa5, 0x7c, 0xb1, 0x99, 0x82, 0x88, 0x03, + 0x15, 0x76, 0xd9, 0x9b, 0x5c, 0xa4, 0x47, 0x10, 0xf8, 0xc3, 0x3e, 0xd0, 0x96, 0xad, 0x51, 0x8c, + 0x7b, 0x21, 0x9f, 0x88, 0x94, 0x21, 0x89, 0xfc, 0x44, 0x24, 0xbc, 0xb2, 0xb8, 0x41, 0xa2, 0xc6, + 0xe2, 0x95, 0x6d, 0x1c, 0xf7, 0xfb, 0x1b, 0xe6, 0x47, 0x59, 0x57, 0xf2, 0x85, 0xeb, 0x4f, 0xc5, + 0x64, 0x95, 0xb9, 0x3e, 0x03, 0xda, 0x5f, 0x73, 0x67, 0xdd, 0x98, 0x54, 0xca, 0x85, 0xb3, 0x79, + 0x7a, 0x13, 0xf3, 0xf0, 0x4d, 0x18, 0xe5, 0x6b, 0x4d, 0xb8, 0x81, 0x07, 0x28, 0xb0, 0x4e, 0x00, + 0x0d, 0x0f, 0x71, 0x8c, 0xde, 0x4f, 0xcc, 0xa7, 0x39, 0xca, 0x48, 0x8d, 0x77, 0x0f, 0xb7, 0x63, + 0x71, 0xe3, 0x21, 0x66, 0x58, 0x94, 0xf0, 0xd4, 0x20, 0x54, 0x95, 0x3f, 0x5a, 0x18, 0x61, 0x0b, + 0x5a, 0xb1, 0x7b, 0x2f, 0x8c, 0x52, 0xc9, 0xe4, 0x3e, 0xac, 0xb9, 0x5a, 0x24, 0x72, 0x09, 0xe8, + 0xa0, 0x16, 0x00, 0x26, 0xea, 0xbe, 0x3c, 0x86, 0x2d, 0xb9, 0xa0, 0xee, 0x27, 0x5d, 0x5c, 0xcf, + 0xea, 0x59, 0x87, 0x40, 0x04, 0xa7, 0xd8, 0x48, 0x94, 0xc4, 0x00, 0x92, 0xa4, 0x8c, 0x97, 0x8a, + 0x9b, 0x2a, 0x51, 0x69, 0x99, 0x9b, 0x94, 0x2d, 0x81, 0x46, 0x78, 0x69, 0x80, 0x93, 0x81, 0x14, + 0xf3, 0xde, 0x98, 0xe7, 0x37, 0x9c, 0x27, 0x7a, 0xce, 0x5c, 0x2c, 0xd5, 0x84, 0x00, 0xd7, 0x9a, + 0xe6, 0x18, 0xb3, 0x2c, 0x82, 0x3d, 0x21, 0x18, 0x47, 0x04, 0xc5, 0x00, 0xa1, 0x18, 0x2d, 0x45, + 0x16, 0xd1, 0x06, 0x52, 0x1e, 0x33, 0x24, 0x99, 0x96, 0x23, 0x0d, 0xd7, 0x91, 0x9a, 0xa5, 0x37, + 0x5d, 0xc5, 0x95, 0xa9, 0x08, 0x79, 0xbb, 0x0f, 0x97, 0xf2, 0x60, 0x8c, 0x3f, 0x38, 0xf0, 0xc0, + 0x46, 0x1c, 0xec, 0x3a, 0x07, 0x1a, 0xe2, 0x3a, 0xc7, 0xb7, 0xd2, 0xa0, 0x18, 0x6d, 0x70, 0xbc, + 0x1a, 0x6d, 0x79, 0x64, 0x2a, 0xd7, 0x25, 0x47, 0x0f, 0x3d, 0xe2, 0x68, 0x5c, 0x46, 0x4b, 0xbb, + 0x6a, 0x32, 0x99, 0xfc, 0x04, 0x64, 0x75, 0x9b, 0x68, 0x16, 0xab, 0x89, 0x3c, 0x17, 0x0b, 0x13, + 0x56, 0xcb, 0xcb, 0x56, 0xe3, 0xfa, 0x82, 0x4a, 0x84, 0xcc, 0xd9, 0x50, 0x18, 0x9d, 0x72, 0x50, + 0x0a, 0x1c, 0x3a, 0x06, 0x36, 0x30, 0x84, 0x00, 0xc1, 0x03, 0xfd, 0x3b, 0x43, 0x1e, 0x07, 0x9a, + 0x77, 0x73, 0x61, 0xa5, 0xb8, 0xba, 0xfb, 0x94, 0x4f, 0x8f, 0x0e, 0x8e, 0xfa, 0x2e, 0x5a, 0x93, + 0xe9, 0x78, 0xe0, 0x3e, 0x7d, 0xc9, 0x8f, 0x5e, 0x4e, 0x86, 0xee, 0xd3, 0xe1, 0xe0, 0xab, 0xe3, + 0xe9, 0x01, 0x5c, 0x8f, 0x27, 0xc7, 0x21, 0x73, 0x9f, 0x1e, 0x1e, 0xb0, 0xfe, 0xe1, 0x4b, 0xe8, + 0xcf, 0xa7, 0xd3, 0x43, 0xe8, 0x37, 0xfd, 0x8a, 0x9d, 0x0c, 0x8f, 0x5c, 0xb4, 0x66, 0x2f, 0x87, + 0x43, 0xb0, 0xf5, 0x4a, 0xd9, 0x97, 0x8b, 0xf6, 0x26, 0x71, 0xb4, 0xf4, 0x11, 0xb6, 0xe2, 0x25, + 0x69, 0x8d, 0x69, 0x14, 0xc7, 0x3d, 0x09, 0x3e, 0x58, 0xa2, 0x04, 0xd8, 0x2f, 0x05, 0x90, 0x0c, + 0x91, 0x55, 0x88, 0x45, 0x56, 0xc7, 0x3f, 0x23, 0x96, 0x44, 0x0b, 0xa9, 0x65, 0xd4, 0xce, 0xac, + 0xa3, 0xcc, 0x92, 0x3b, 0xb2, 0xa2, 0x64, 0x8a, 0x0e, 0x11, 0x1f, 0xd1, 0x54, 0x92, 0x0b, 0x8c, + 0x99, 0x34, 0x67, 0x58, 0x1e, 0x0c, 0xe1, 0x2c, 0xe3, 0x9b, 0x98, 0x8d, 0x79, 0x5c, 0x65, 0x02, + 0xad, 0xdf, 0x0a, 0xfc, 0x57, 0x48, 0xf7, 0xb2, 0x46, 0x3a, 0x42, 0x76, 0x8b, 0x98, 0x6f, 0xa2, + 0x64, 0xb9, 0xca, 0x2f, 0xf3, 0xbb, 0x25, 0x0f, 0x12, 0x30, 0x73, 0x3c, 0xbd, 0x72, 0x8d, 0x26, + 0x1c, 0x76, 0xe5, 0x4a, 0x9b, 0xe6, 0xe2, 0x03, 0xec, 0x9a, 0x99, 0x5a, 0xa4, 0x50, 0x62, 0xfd, + 0x86, 0x4a, 0x3a, 0xea, 0x57, 0x54, 0x5a, 0xaf, 0xc1, 0x49, 0x4a, 0x25, 0xaa, 0x61, 0xfe, 0x00, + 0xb4, 0x60, 0x26, 0xe2, 0x28, 0xb4, 0x5a, 0xfa, 0x88, 0x55, 0x4e, 0x32, 0xd1, 0xdf, 0xc5, 0x56, + 0x9c, 0x48, 0x63, 0xe1, 0xd1, 0x46, 0x7a, 0xb8, 0xfc, 0x72, 0xfd, 0x79, 0xe6, 0xb0, 0x32, 0x87, + 0x45, 0xf7, 0xa0, 0x90, 0xf2, 0xae, 0xc4, 0x0e, 0x10, 0x6f, 0xc6, 0xaf, 0x9c, 0x75, 0x73, 0xdf, + 0x60, 0xd7, 0xc0, 0xb2, 0x91, 0x08, 0x9a, 0x13, 0xa8, 0x87, 0x90, 0x83, 0x73, 0x11, 0x2d, 0xc9, + 0x4b, 0x30, 0x70, 0xb9, 0x60, 0xb7, 0xd2, 0x5b, 0xf6, 0x0f, 0xd0, 0x1a, 0x28, 0xb9, 0xa4, 0xfb, + 0xcf, 0x34, 0xe6, 0x0d, 0x5c, 0xa1, 0xd3, 0xe6, 0x34, 0xed, 0x8c, 0x89, 0xc7, 0xea, 0x66, 0xe4, + 0x2e, 0xe4, 0x9f, 0xfe, 0x83, 0x94, 0xaa, 0x0e, 0x27, 0x33, 0xd5, 0x6f, 0x12, 0xa5, 0xa2, 0x72, + 0x06, 0x75, 0x2a, 0x81, 0xea, 0xf8, 0xd7, 0x0a, 0x58, 0xac, 0x05, 0xa3, 0x4f, 0xa2, 0x05, 0x46, + 0x19, 0x0c, 0x64, 0xce, 0xb4, 0x84, 0x83, 0x26, 0x8e, 0xe5, 0x14, 0x92, 0x58, 0xd2, 0xe2, 0x13, + 0x66, 0x34, 0x4e, 0xaa, 0x1e, 0x64, 0xe9, 0x3e, 0xe9, 0xcd, 0xf5, 0xb7, 0x60, 0x6d, 0x53, 0xb0, + 0x7f, 0xca, 0x69, 0x47, 0xe4, 0x3c, 0x54, 0x01, 0x3d, 0x21, 0xad, 0x0f, 0xe4, 0x11, 0x8b, 0x9e, + 0x14, 0x1a, 0x4b, 0x5e, 0xd6, 0x6c, 0xb9, 0x04, 0xc1, 0x87, 0x80, 0x46, 0x8d, 0xd3, 0xba, 0xa5, + 0xd1, 0xbe, 0x10, 0x7f, 0x34, 0x1a, 0x0d, 0x21, 0x02, 0x9d, 0x32, 0x53, 0xad, 0x5a, 0x03, 0xa7, + 0x92, 0x4d, 0xbe, 0x42, 0x0f, 0x60, 0x95, 0x66, 0x00, 0xfa, 0x52, 0x44, 0x92, 0x79, 0xab, 0xa0, + 0x90, 0x12, 0xf1, 0x7d, 0x36, 0x45, 0x17, 0x4a, 0x33, 0x8f, 0x6d, 0x97, 0x86, 0x88, 0x8d, 0x81, + 0xaa, 0x2b, 0x54, 0x4b, 0x60, 0x47, 0x0b, 0x93, 0xb9, 0x67, 0x1d, 0xa3, 0xc5, 0x94, 0xcb, 0x0c, + 0x81, 0xf6, 0x52, 0x6b, 0x4d, 0x45, 0xba, 0x80, 0x90, 0x2b, 0x67, 0x39, 0xef, 0x0e, 0x0e, 0x8e, + 0x42, 0x3e, 0x73, 0x46, 0x85, 0x07, 0xaf, 0x99, 0xd7, 0x70, 0x54, 0xc8, 0x36, 0x3f, 0xce, 0x38, + 0x6a, 0x99, 0x07, 0x3a, 0xaa, 0xdd, 0xf5, 0xf8, 0x35, 0xc0, 0x9f, 0x11, 0x2e, 0x36, 0x5e, 0x98, + 0x8a, 0xe5, 0x1f, 0x70, 0x67, 0xca, 0x93, 0xc1, 0xad, 0x21, 0xcb, 0xe6, 0xbc, 0x75, 0xd5, 0x07, + 0xf4, 0x93, 0x14, 0x96, 0x6d, 0xfa, 0xa6, 0xc9, 0x59, 0x9a, 0x95, 0xd0, 0xcf, 0xb1, 0x5a, 0x14, + 0x22, 0x0a, 0x72, 0xcd, 0x51, 0x31, 0x0d, 0x00, 0xf8, 0x09, 0x85, 0xc2, 0x07, 0x17, 0xa0, 0x07, + 0x2a, 0xaf, 0xdc, 0x97, 0x0a, 0x3f, 0xaa, 0x04, 0x7e, 0x5c, 0xbe, 0x7b, 0xdb, 0xa0, 0x57, 0x90, + 0x6d, 0x61, 0xf5, 0x62, 0x59, 0xb8, 0x61, 0xb3, 0x5a, 0xe0, 0xb3, 0x55, 0x91, 0x83, 0x1b, 0x87, + 0x0a, 0xb1, 0x97, 0x01, 0xdd, 0x60, 0xc4, 0x03, 0x5c, 0xbc, 0x0d, 0x2a, 0xc5, 0x35, 0x88, 0xa8, + 0x06, 0x1d, 0x35, 0x16, 0x09, 0xb1, 0xa5, 0x39, 0xa8, 0xb8, 0xf9, 0x03, 0x72, 0x43, 0x4c, 0x28, + 0x20, 0x9e, 0x43, 0x89, 0x92, 0x4d, 0x14, 0xc8, 0xb9, 0xf5, 0xf7, 0x3a, 0xde, 0xa3, 0x67, 0x15, + 0x3d, 0xd6, 0x61, 0xd7, 0x0a, 0xeb, 0xb8, 0x84, 0xec, 0x78, 0xbb, 0x75, 0x33, 0xdd, 0xf6, 0xba, + 0x26, 0xfb, 0xa2, 0x26, 0xa4, 0x85, 0xda, 0xd9, 0x78, 0xd9, 0x4d, 0x94, 0x4f, 0xe6, 0xeb, 0xa6, + 0x5f, 0xa8, 0xb5, 0xbf, 0xf4, 0x0b, 0xe5, 0x5e, 0x47, 0x4d, 0x4b, 0x21, 0x5d, 0x3e, 0x39, 0x8b, + 0x52, 0x7f, 0x25, 0x9e, 0xf4, 0x1c, 0x52, 0x5c, 0x64, 0x27, 0x4d, 0xa9, 0xa6, 0x02, 0xa8, 0xc1, + 0x88, 0xec, 0xda, 0x1f, 0x29, 0x9d, 0x2e, 0x25, 0x14, 0xf5, 0x25, 0x79, 0x1e, 0xfd, 0x4f, 0xb0, + 0xf1, 0x1a, 0x0d, 0x07, 0x87, 0x55, 0xd6, 0xf7, 0x0e, 0xb3, 0x1a, 0x4c, 0xfe, 0x98, 0x83, 0x82, + 0xe1, 0x6d, 0xa0, 0x95, 0x8a, 0x4b, 0x53, 0xe5, 0xb0, 0xa4, 0x0a, 0xde, 0x12, 0x9c, 0x07, 0x24, + 0x7e, 0x04, 0xe1, 0x41, 0x1b, 0xa5, 0xc0, 0x05, 0x9c, 0xb6, 0x10, 0xa7, 0x06, 0x94, 0xb4, 0xf8, + 0x93, 0x39, 0x9f, 0x7c, 0xe4, 0xe1, 0x5e, 0x0d, 0x6d, 0x8f, 0x53, 0x5f, 0x8d, 0xa7, 0xd8, 0xb0, + 0x31, 0x1a, 0xc3, 0xfa, 0x39, 0x0b, 0xc5, 0x0d, 0xda, 0x21, 0x0b, 0xb5, 0xd4, 0xb6, 0xf1, 0xed, + 0xeb, 0x6b, 0x14, 0x95, 0xda, 0x98, 0xee, 0x80, 0x67, 0xf8, 0x2f, 0xdd, 0x01, 0xf0, 0x05, 0x04, + 0x9b, 0xb9, 0x60, 0x59, 0xde, 0x2b, 0xe3, 0xbf, 0x02, 0x9d, 0xd3, 0xe8, 0x96, 0x87, 0x1a, 0x41, + 0xa4, 0x89, 0xd2, 0x82, 0x87, 0x46, 0x7f, 0x80, 0xfa, 0x09, 0xf9, 0xad, 0xff, 0x15, 0xfc, 0xdb, + 0x78, 0x34, 0xc7, 0xfa, 0xb1, 0x70, 0x51, 0xe2, 0x9f, 0xad, 0x72, 0x51, 0xe8, 0xc1, 0x63, 0x54, + 0x83, 0xc3, 0xaa, 0xd2, 0xdb, 0xa2, 0x16, 0x5b, 0xf6, 0xf0, 0x6b, 0xf7, 0x80, 0x22, 0x35, 0x9d, + 0xae, 0xe9, 0x8f, 0xae, 0xa3, 0x2c, 0x1a, 0x47, 0x31, 0x3e, 0xcc, 0xa3, 0x30, 0xe4, 0x89, 0x82, + 0xcd, 0x92, 0x97, 0x1e, 0xe5, 0x3f, 0xaa, 0x51, 0xd0, 0x49, 0xcd, 0x2d, 0x3e, 0x6e, 0x75, 0x8b, + 0x63, 0x9e, 0xa3, 0x41, 0xc1, 0x90, 0x12, 0xe1, 0xf6, 0x48, 0x8b, 0xd0, 0x9c, 0x9e, 0xca, 0xa3, + 0x6d, 0xa3, 0x75, 0x35, 0xff, 0xe6, 0xe8, 0x51, 0x94, 0x39, 0xdb, 0x36, 0xc6, 0x48, 0xab, 0x15, + 0x03, 0x54, 0x92, 0x6c, 0xdb, 0x90, 0x4a, 0x0e, 0x4d, 0x0f, 0xea, 0x2d, 0x53, 0x31, 0x4b, 0x11, + 0xb8, 0xa6, 0x90, 0x90, 0x08, 0x1c, 0x96, 0x22, 0x50, 0x4a, 0x88, 0x19, 0x90, 0x23, 0x8f, 0x14, + 0x6e, 0x66, 0x85, 0x0a, 0x94, 0xa6, 0xfd, 0xa5, 0xdb, 0x77, 0xca, 0xb6, 0x9e, 0x00, 0x0e, 0x89, + 0x12, 0x1f, 0xa7, 0x6e, 0x73, 0x7b, 0x2a, 0xf8, 0xb2, 0xea, 0x20, 0xee, 0x12, 0xd5, 0x55, 0x51, + 0x2a, 0xf7, 0xea, 0xb6, 0xe2, 0xb9, 0x8a, 0xe8, 0x3f, 0xb1, 0x98, 0x49, 0x8b, 0x4a, 0x53, 0x7d, + 0x21, 0x45, 0x81, 0x3f, 0xb1, 0x54, 0x95, 0x86, 0xb5, 0xc6, 0x72, 0xb9, 0x09, 0x83, 0xd9, 0xb2, + 0x7a, 0xb0, 0x57, 0x66, 0xe4, 0xbe, 0x30, 0x2d, 0x63, 0xdd, 0xdf, 0x1b, 0xaf, 0x80, 0xda, 0x49, + 0x8b, 0x0f, 0xd4, 0xaf, 0x04, 0x6a, 0xd6, 0xe0, 0xa4, 0x3d, 0x5a, 0x6b, 0x8a, 0x46, 0xcd, 0x10, + 0x54, 0x83, 0xce, 0x41, 0xbf, 0x2d, 0x69, 0xb5, 0x73, 0x6c, 0x27, 0x9d, 0x95, 0x87, 0x3d, 0xa0, + 0x96, 0x08, 0xa2, 0x9e, 0x86, 0x53, 0xbb, 0xde, 0x96, 0xa0, 0x35, 0xfd, 0xa2, 0xc7, 0x03, 0xcd, + 0x62, 0xb6, 0x98, 0x14, 0xe7, 0x3c, 0x8a, 0xc3, 0x75, 0x75, 0xd3, 0xc5, 0x82, 0xd9, 0x2e, 0x49, + 0x19, 0x23, 0x33, 0xfa, 0x54, 0x9d, 0x39, 0xd4, 0x95, 0x70, 0xc5, 0xb8, 0x1a, 0xa4, 0x33, 0x69, + 0xbe, 0x45, 0x2f, 0xa8, 0x19, 0x9d, 0xaa, 0x75, 0xd7, 0x0b, 0x79, 0xb1, 0x60, 0x44, 0xf3, 0xa6, + 0xcb, 0x5f, 0xcd, 0xcf, 0x3e, 0x12, 0x00, 0xf4, 0xac, 0xc1, 0x57, 0xa8, 0x29, 0x08, 0xc4, 0x46, + 0xab, 0x84, 0x78, 0x68, 0x38, 0xfd, 0xc3, 0xd2, 0xeb, 0x27, 0x1b, 0xf0, 0x88, 0xc7, 0x0f, 0x6b, + 0x6d, 0xf3, 0xbd, 0x9b, 0xf6, 0xb9, 0xcc, 0xaa, 0x64, 0xcb, 0x28, 0xb1, 0x06, 0x8d, 0x94, 0xca, + 0xe6, 0x29, 0x50, 0x00, 0xa2, 0xb4, 0x9c, 0x87, 0x6f, 0x31, 0x56, 0x5a, 0x37, 0xf3, 0xc0, 0x10, + 0x2e, 0x5e, 0x83, 0x05, 0x0b, 0xd7, 0x5b, 0xf8, 0xa1, 0x3c, 0x23, 0x71, 0xca, 0xa8, 0x73, 0xe3, + 0x69, 0xc5, 0x90, 0x65, 0x38, 0x6d, 0x15, 0x83, 0x4d, 0xfd, 0x2e, 0x37, 0x50, 0xb5, 0x46, 0x87, + 0x2d, 0xd6, 0xa8, 0x91, 0xe2, 0xfe, 0x0b, 0x72, 0x22, 0xb3, 0xba, 0x65, 0x36, 0xe0, 0xe5, 0xf1, + 0x4b, 0x40, 0xf4, 0x9a, 0x92, 0xa4, 0x65, 0x5e, 0x94, 0xb2, 0xa2, 0xed, 0x4c, 0xa7, 0xcf, 0x00, + 0x28, 0x03, 0xe9, 0x16, 0x59, 0x4c, 0xb7, 0x3d, 0x21, 0xa9, 0x72, 0x0f, 0xd5, 0xb8, 0xa4, 0x3c, + 0x55, 0xd8, 0xfc, 0xe5, 0x23, 0xbf, 0x9b, 0xa6, 0x0c, 0x36, 0x6e, 0x21, 0xce, 0xd7, 0xb9, 0x58, + 0x37, 0x02, 0xc0, 0x83, 0xe3, 0x3e, 0x06, 0x80, 0x95, 0xce, 0x85, 0x8e, 0xac, 0x0c, 0x50, 0x96, + 0x65, 0x50, 0xed, 0x3b, 0x65, 0x21, 0x7f, 0x9b, 0xac, 0x8f, 0xbe, 0x58, 0x6b, 0x73, 0x3f, 0x30, + 0xcd, 0x3d, 0xdd, 0xc6, 0xbc, 0xdd, 0x4d, 0xe8, 0x3b, 0x9b, 0xaf, 0x2a, 0x03, 0xb7, 0xf5, 0x32, + 0x17, 0xd4, 0xd9, 0xc6, 0xfe, 0x17, 0xeb, 0x96, 0xc4, 0x1b, 0x9d, 0x2d, 0x21, 0x5e, 0x5a, 0x5f, + 0x52, 0x8e, 0x0f, 0x10, 0xd3, 0x39, 0xdd, 0x97, 0x47, 0x8f, 0xd6, 0xe9, 0xbe, 0x3a, 0x2f, 0x45, + 0x17, 0x04, 0x2e, 0x61, 0x74, 0x6d, 0x4d, 0x40, 0x83, 0x64, 0x81, 0x5d, 0xf8, 0x5e, 0x76, 0xb3, + 0x1d, 0x84, 0x11, 0x5b, 0x11, 0x54, 0xab, 0x13, 0x85, 0x81, 0x8d, 0x77, 0x7f, 0xe5, 0xd0, 0x19, + 0x40, 0xb6, 0xad, 0x44, 0x10, 0x9b, 0xc2, 0x7d, 0x75, 0xa8, 0xcc, 0x98, 0xe2, 0x48, 0xf0, 0x58, + 0x12, 0xdd, 0x4a, 0x19, 0x57, 0xfb, 0xec, 0xa7, 0xb7, 0xbf, 0xbc, 0x79, 0x67, 0x75, 0x2a, 0xaf, + 0xd4, 0x66, 0xed, 0xb3, 0xef, 0xbf, 0xfe, 0xeb, 0xdb, 0x57, 0x00, 0x35, 0xbc, 0x3b, 0xb3, 0x2e, + 0x7e, 0xfc, 0xf1, 0x9d, 0xbe, 0xaf, 0x74, 0xd7, 0xe9, 0x5b, 0xfb, 0xac, 0xf3, 0x36, 0xb7, 0xa2, + 0xcc, 0x62, 0x56, 0x2e, 0x44, 0x6c, 0xe5, 0x73, 0x96, 0xe3, 0x09, 0x2d, 0x68, 0x97, 0x1c, 0x1a, + 0x93, 0x3b, 0x8b, 0xb2, 0x11, 0x20, 0x7a, 0x60, 0xea, 0x26, 0x22, 0xc4, 0x3b, 0x3c, 0x8d, 0x4d, + 0x45, 0x32, 0x3b, 0xfb, 0xaf, 0xf7, 0x3f, 0xfe, 0x60, 0xfd, 0xe3, 0xdd, 0x9b, 0xd7, 0x88, 0x24, + 0x6a, 0xe9, 0x58, 0xb8, 0x3d, 0x98, 0x02, 0x2e, 0x45, 0xb7, 0xe1, 0x6b, 0xeb, 0x7b, 0x96, 0xa7, + 0xd1, 0x6d, 0xd1, 0xcd, 0x02, 0x48, 0x78, 0x9c, 0x15, 0x90, 0xed, 0xc3, 0xce, 0xab, 0xfb, 0x4f, + 0x71, 0x2b, 0xb0, 0xc5, 0x0a, 0x36, 0x63, 0xdb, 0x32, 0xb0, 0x45, 0xa9, 0x0e, 0x5c, 0x08, 0xb0, + 0x25, 0xb2, 0x1c, 0x0f, 0x99, 0xed, 0xb3, 0xef, 0xd4, 0xdd, 0xe9, 0x3e, 0xbd, 0x86, 0x6e, 0xe4, + 0x5e, 0x5b, 0x1d, 0x4a, 0xe6, 0xd9, 0x68, 0xf0, 0x00, 0xe9, 0x74, 0x1e, 0x5d, 0x0c, 0xb2, 0x90, + 0x2c, 0xe5, 0x53, 0xca, 0xff, 0xb5, 0x02, 0x69, 0x0b, 0x5b, 0xe1, 0x22, 0x20, 0x3a, 0xed, 0x50, + 0x48, 0x08, 0x7e, 0x02, 0x79, 0xe0, 0xb9, 0xf5, 0x43, 0x0b, 0x10, 0x4d, 0x18, 0xe4, 0x8a, 0xc4, + 0x17, 0xf2, 0x16, 0x66, 0x5e, 0x41, 0xfb, 0x0f, 0xfc, 0xc6, 0x92, 0x13, 0xb5, 0xc1, 0xb3, 0x0d, + 0x5d, 0xd4, 0xd2, 0xd9, 0x82, 0x2e, 0x73, 0x13, 0x66, 0xca, 0xc8, 0xae, 0x6e, 0x62, 0xc9, 0xd0, + 0x4f, 0x4e, 0x60, 0x1f, 0xf2, 0xa6, 0x53, 0x6e, 0x42, 0xa5, 0x98, 0x24, 0xe4, 0xba, 0x1f, 0x21, + 0xaf, 0x78, 0x30, 0x60, 0x15, 0x94, 0xfb, 0xd4, 0x1b, 0x1a, 0xc0, 0x2e, 0x89, 0xe1, 0x02, 0xfb, + 0xf2, 0xcb, 0x29, 0xfd, 0xfb, 0xf2, 0xca, 0x3e, 0x7b, 0x9b, 0x00, 0x58, 0x51, 0xb8, 0x62, 0xf1, + 0xe9, 0xbe, 0x1c, 0xd0, 0x18, 0x39, 0xb4, 0x2d, 0x3d, 0xb0, 0xef, 0x5a, 0xc6, 0xd8, 0xce, 0x5b, + 0x0c, 0x60, 0xb6, 0x8e, 0x3b, 0xa8, 0x8c, 0x3b, 0x32, 0x87, 0xaa, 0x84, 0x1d, 0x07, 0xc8, 0xf5, + 0x1d, 0x4c, 0x67, 0xfd, 0x8c, 0x39, 0x03, 0xcb, 0x98, 0x70, 0x5f, 0xbe, 0x7d, 0x08, 0xf1, 0x6d, + 0x58, 0xee, 0xec, 0x80, 0x66, 0x70, 0x7b, 0x80, 0x23, 0xec, 0xb3, 0x1f, 0xe9, 0xba, 0x05, 0xc7, + 0xaa, 0x93, 0xe4, 0x0f, 0xfd, 0xb0, 0x15, 0xc5, 0xbf, 0x67, 0x22, 0x69, 0xdf, 0x1a, 0x8a, 0xa8, + 0x85, 0xc2, 0xda, 0xd9, 0x8a, 0xad, 0x39, 0x43, 0xd9, 0x59, 0x70, 0xeb, 0xeb, 0x0c, 0xec, 0x05, + 0x1a, 0xc3, 0xad, 0x5d, 0xc1, 0x5d, 0x8c, 0xed, 0xb3, 0x57, 0x7f, 0xfb, 0xf9, 0x5d, 0x67, 0x07, + 0x5c, 0xb5, 0xf2, 0xaa, 0x55, 0xec, 0x8c, 0x94, 0x6b, 0x60, 0x9b, 0xbe, 0x8d, 0xfd, 0x30, 0x86, + 0x0d, 0x24, 0xca, 0xea, 0x13, 0xfb, 0xec, 0x35, 0x5d, 0x3b, 0x8f, 0x8b, 0x9b, 0x1a, 0x40, 0x3c, + 0xab, 0xef, 0xdb, 0xc5, 0xbd, 0xf3, 0xf8, 0xea, 0xab, 0x24, 0xfa, 0xd7, 0x8a, 0xbf, 0x05, 0xfc, + 0xfe, 0x8d, 0xee, 0xac, 0xb7, 0xe1, 0x0e, 0x5a, 0xa7, 0x18, 0x45, 0x40, 0x94, 0x4f, 0x9f, 0xad, + 0x75, 0xa6, 0x29, 0x44, 0x22, 0x61, 0x7c, 0xf7, 0x03, 0x69, 0x9f, 0x6f, 0xd5, 0xd3, 0xa3, 0xfa, + 0x47, 0x15, 0xe5, 0x54, 0x46, 0x13, 0x48, 0xd5, 0x96, 0xdd, 0x95, 0x4f, 0xe7, 0x31, 0xb1, 0xd8, + 0x41, 0x2a, 0x32, 0x3e, 0x5b, 0x60, 0xc2, 0x17, 0xa4, 0xf1, 0xbd, 0xbc, 0xad, 0x20, 0xb5, 0x22, + 0x1c, 0x45, 0x5f, 0x82, 0xba, 0x1c, 0x59, 0x67, 0xd7, 0x3e, 0xec, 0x15, 0xa0, 0x60, 0xd2, 0xd1, + 0x02, 0x4d, 0x74, 0x6c, 0x5b, 0xf4, 0x2c, 0x3d, 0x59, 0x6a, 0x38, 0xb3, 0xf4, 0x72, 0xfd, 0x1d, + 0xe4, 0x7f, 0x57, 0xab, 0x34, 0xa6, 0xd0, 0x30, 0x01, 0xf7, 0xc8, 0x3e, 0xfb, 0xa6, 0xb8, 0x2f, + 0xb7, 0x63, 0xf2, 0x99, 0x71, 0xba, 0x61, 0xd7, 0xe8, 0x45, 0xa9, 0x4c, 0xcd, 0x3e, 0xc6, 0x9c, + 0xb4, 0x6f, 0xf3, 0xb9, 0xb3, 0x88, 0x12, 0xda, 0x2f, 0xb8, 0x95, 0xa0, 0x37, 0x8f, 0x8e, 0x0a, + 0x73, 0x32, 0x18, 0x9e, 0xd8, 0xa5, 0xa3, 0x50, 0x66, 0x46, 0xed, 0x56, 0x28, 0x8c, 0xa3, 0x2b, + 0x4b, 0x1e, 0xb4, 0xd8, 0x0f, 0xc8, 0x54, 0x09, 0xc1, 0xdf, 0x71, 0x31, 0xa5, 0xad, 0x1a, 0xad, + 0x06, 0x24, 0xdb, 0x74, 0xc4, 0x9f, 0xf5, 0x02, 0x8a, 0xb8, 0xc1, 0x3e, 0xfb, 0x5a, 0xdf, 0x96, + 0xd8, 0x96, 0x1d, 0xf5, 0x4e, 0x65, 0x96, 0xad, 0xbe, 0x2f, 0x4a, 0xc2, 0x8d, 0xc5, 0xad, 0xde, + 0x5b, 0x39, 0x23, 0x21, 0xdb, 0x78, 0x94, 0x2c, 0x25, 0x0f, 0x88, 0x2b, 0x2b, 0xd7, 0xdc, 0x2c, + 0x33, 0x99, 0x67, 0x9f, 0x95, 0x0e, 0x8f, 0x86, 0xea, 0xd3, 0x38, 0xca, 0x38, 0x95, 0xa6, 0xc0, + 0xc7, 0x3e, 0xbb, 0x28, 0x5b, 0x2c, 0x6a, 0xea, 0xd4, 0x77, 0xfc, 0x49, 0x1b, 0x6e, 0x2c, 0x20, + 0xa9, 0xd9, 0x6c, 0xae, 0x6c, 0xbf, 0x09, 0x96, 0xc2, 0x42, 0xe7, 0xd3, 0xd0, 0xf0, 0x38, 0x16, + 0x3a, 0x84, 0x06, 0x79, 0x38, 0xa7, 0x96, 0xfa, 0x99, 0x1e, 0xe4, 0xe6, 0x77, 0xdc, 0x7b, 0xa7, + 0x7d, 0xf3, 0xe6, 0xb4, 0x44, 0xef, 0x4a, 0x43, 0x65, 0xc7, 0x95, 0x37, 0x1d, 0x95, 0xbb, 0x55, + 0x33, 0xa2, 0xc5, 0xfd, 0x2c, 0x2e, 0x68, 0x63, 0x06, 0x34, 0x96, 0x95, 0xed, 0xee, 0x6a, 0x1b, + 0x49, 0xdb, 0x81, 0x1e, 0xfd, 0x07, 0x5e, 0xdb, 0x0d, 0x81, 0xac, 0x05, 0xd0, 0xbb, 0x97, 0x03, + 0x68, 0xdf, 0xea, 0x56, 0x8b, 0xec, 0xb1, 0xfd, 0xc9, 0x8c, 0x2a, 0x75, 0x2b, 0xb8, 0x14, 0x74, + 0xdd, 0x62, 0x16, 0xab, 0xeb, 0xab, 0x21, 0xd2, 0x19, 0x57, 0xf7, 0x2d, 0x10, 0xb4, 0x19, 0x69, + 0x44, 0x92, 0x21, 0x9b, 0x9f, 0xeb, 0x53, 0x74, 0x94, 0x3d, 0xc5, 0xe0, 0x11, 0x2d, 0x29, 0x5e, + 0x77, 0xc1, 0x9c, 0x1a, 0xa1, 0xac, 0xa7, 0xbc, 0xef, 0x28, 0xd0, 0x0f, 0xed, 0x4f, 0xe0, 0x6e, + 0xe9, 0xd4, 0xac, 0x52, 0xa5, 0x4a, 0x5e, 0xab, 0xbb, 0x4e, 0xd5, 0x64, 0x3c, 0x6e, 0x31, 0xaa, + 0xe0, 0x15, 0x13, 0x4a, 0x59, 0x2e, 0x1f, 0xb5, 0x81, 0xf4, 0x8e, 0x4a, 0x3b, 0x8f, 0xac, 0x2d, + 0xef, 0xc0, 0x8c, 0x28, 0x73, 0x92, 0xe5, 0x7c, 0x89, 0xdd, 0xd0, 0x87, 0xa7, 0x65, 0x16, 0x10, + 0x07, 0xd2, 0x2a, 0x3c, 0x8d, 0x26, 0x76, 0x1b, 0x58, 0x86, 0x09, 0xd1, 0xc2, 0x70, 0x96, 0xf1, + 0x49, 0x2d, 0xe0, 0xeb, 0xec, 0xee, 0x57, 0xd7, 0x95, 0x60, 0x24, 0xa7, 0xbe, 0x28, 0xee, 0xff, + 0x24, 0x92, 0x8c, 0x49, 0x0d, 0x95, 0x17, 0xd5, 0x10, 0x35, 0xfc, 0x7f, 0x82, 0xa8, 0x76, 0xa7, + 0xba, 0xa9, 0xa5, 0xdb, 0x25, 0xa1, 0x2e, 0xc4, 0x94, 0x38, 0xda, 0x86, 0x6d, 0xca, 0x7a, 0x81, + 0xbb, 0x3f, 0x17, 0x22, 0xe3, 0x16, 0xb3, 0xe8, 0xb9, 0xc0, 0x75, 0xe7, 0x94, 0x52, 0x4d, 0x67, + 0xd6, 0x2b, 0x6c, 0x96, 0xd9, 0x83, 0x9b, 0x28, 0x8e, 0x01, 0x4d, 0xb0, 0xe2, 0x84, 0x43, 0x0b, + 0x2f, 0xf2, 0x00, 0x06, 0x7c, 0xd6, 0x12, 0x2b, 0xbd, 0x33, 0x23, 0x6f, 0x10, 0x25, 0xd4, 0x57, + 0x66, 0x1b, 0xa0, 0x5d, 0x4e, 0x5b, 0x35, 0x56, 0x04, 0x8a, 0x22, 0x98, 0x7a, 0x40, 0x52, 0xa9, + 0x5b, 0x2d, 0x72, 0x4f, 0xfb, 0xfd, 0x6f, 0xbe, 0xfd, 0xf6, 0x5b, 0x7b, 0xc7, 0x78, 0x79, 0x3b, + 0x1e, 0x3a, 0x3b, 0xfb, 0xad, 0x04, 0x75, 0x56, 0x10, 0x90, 0xb0, 0x9f, 0x59, 0xab, 0x25, 0x26, + 0x67, 0xad, 0x5c, 0x50, 0x8e, 0xa4, 0x53, 0xd0, 0x94, 0x49, 0x25, 0xab, 0x6a, 0x44, 0x6d, 0x6b, + 0x9e, 0xf2, 0x29, 0xe8, 0xbc, 0x3c, 0x5f, 0xfa, 0xfb, 0xfb, 0x97, 0xd8, 0xde, 0x8b, 0x96, 0x57, + 0xfb, 0x9c, 0x5e, 0xe6, 0x2c, 0x9d, 0x61, 0x5d, 0xfe, 0x6f, 0xe3, 0x98, 0x25, 0x1f, 0x61, 0x09, + 0x35, 0x2b, 0x4c, 0xc7, 0x4c, 0x13, 0x52, 0xf1, 0x8d, 0x15, 0x3c, 0xb4, 0x4e, 0x09, 0x9b, 0xe9, + 0x17, 0x9f, 0xbd, 0x97, 0xfd, 0x23, 0xe5, 0x33, 0x7c, 0x4a, 0x1c, 0x47, 0x5a, 0x44, 0x15, 0x0f, + 0x14, 0x6e, 0x65, 0xd9, 0x60, 0xc6, 0x29, 0xcb, 0x4a, 0xe7, 0x77, 0x08, 0x2b, 0x46, 0xda, 0xaf, + 0x53, 0x36, 0x03, 0x8d, 0x1d, 0x5a, 0xf8, 0x06, 0x98, 0x6a, 0x1a, 0xc5, 0xdc, 0x9a, 0xf3, 0x94, + 0x5b, 0xc0, 0x44, 0x93, 0x38, 0x9a, 0x7c, 0x44, 0xac, 0xa9, 0x2d, 0x31, 0x2b, 0x16, 0x13, 0x16, + 0xcb, 0x4e, 0xa7, 0xfb, 0xcb, 0xba, 0x19, 0xc1, 0x76, 0xcd, 0x15, 0x99, 0x58, 0xa5, 0x3a, 0xc0, + 0xd3, 0xf7, 0x6c, 0x32, 0xe1, 0xcb, 0x5c, 0x21, 0x62, 0xff, 0xc5, 0x76, 0xa9, 0xf8, 0x24, 0x36, + 0xc1, 0x44, 0x20, 0x1d, 0x11, 0x28, 0xe6, 0x94, 0x0f, 0x76, 0x61, 0x93, 0xf4, 0x33, 0x39, 0xc3, + 0x79, 0x52, 0x64, 0xfc, 0xce, 0x2c, 0x7d, 0x0b, 0x7b, 0x91, 0x9d, 0xb6, 0x46, 0x9e, 0x32, 0x8f, + 0x2b, 0xe7, 0x98, 0x8d, 0xd1, 0x24, 0x6f, 0x31, 0x6d, 0x3b, 0x41, 0x22, 0x12, 0xc2, 0x2c, 0x9a, + 0xf7, 0x24, 0x14, 0x37, 0x1e, 0x62, 0x15, 0x89, 0xee, 0x11, 0xff, 0x21, 0x8b, 0xfe, 0x06, 0x31, + 0x3d, 0x4c, 0xf7, 0x0d, 0x03, 0xfc, 0x37, 0x80, 0x2b, 0x75, 0x10, 0xa6, 0xf8, 0x0c, 0x56, 0x58, + 0xa6, 0x1c, 0xbf, 0x0f, 0x79, 0xd0, 0xee, 0x4a, 0x6f, 0xca, 0xcc, 0xd9, 0x03, 0x1b, 0xe8, 0x09, + 0x75, 0xd1, 0x55, 0xe9, 0x86, 0x2d, 0x45, 0x92, 0x95, 0x3e, 0x98, 0x7a, 0x02, 0x62, 0xc0, 0x6e, + 0x4e, 0x50, 0x05, 0xb3, 0x50, 0x24, 0xf1, 0x1d, 0xbe, 0x94, 0x77, 0xc8, 0x53, 0xc5, 0xbf, 0xd3, + 0x7d, 0x3d, 0x61, 0x95, 0x74, 0xea, 0x44, 0xc7, 0xde, 0x81, 0xc4, 0xc4, 0x0e, 0xad, 0x48, 0x6d, + 0xa7, 0xee, 0x2b, 0xb1, 0xbc, 0xbb, 0x10, 0xaf, 0xe2, 0x68, 0x39, 0x16, 0x2c, 0x45, 0xff, 0x0f, + 0x5b, 0x90, 0x87, 0x8b, 0x36, 0xc4, 0x5f, 0x1b, 0xb9, 0x2b, 0x8b, 0xee, 0xb4, 0x66, 0x47, 0x2d, + 0xfa, 0x9e, 0x5d, 0x03, 0x16, 0xf1, 0xef, 0x67, 0xcf, 0xbc, 0x85, 0x59, 0x5f, 0x8b, 0x9b, 0x04, + 0x95, 0x8c, 0xca, 0x40, 0x9e, 0x59, 0xba, 0xa1, 0x85, 0x65, 0xdb, 0xdd, 0x31, 0x25, 0x81, 0xd1, + 0x62, 0x15, 0x53, 0x9a, 0x7b, 0x27, 0x97, 0xac, 0x2e, 0x58, 0x9d, 0x5d, 0x50, 0xff, 0x5e, 0xad, + 0x51, 0xc0, 0xaa, 0x1b, 0x1e, 0xe2, 0xe0, 0xb6, 0x8b, 0xfc, 0xec, 0x80, 0xd4, 0x73, 0xa7, 0xd4, + 0xc8, 0x19, 0xa8, 0xe4, 0x59, 0x94, 0xcf, 0x57, 0x63, 0x6f, 0x22, 0x16, 0xfb, 0xea, 0x8b, 0xa5, + 0x7d, 0xfa, 0x50, 0x89, 0xbe, 0x53, 0xc2, 0xcf, 0x94, 0x9a, 0x5a, 0xba, 0x63, 0xfd, 0x95, 0x06, + 0x59, 0xcf, 0x27, 0xc0, 0x08, 0x23, 0xab, 0xfe, 0x61, 0x93, 0xa5, 0xb4, 0x77, 0xb1, 0x68, 0x4d, + 0xbd, 0xd6, 0x6a, 0x3a, 0x0c, 0x61, 0xd1, 0x3d, 0xd4, 0xf9, 0x1f, 0x46, 0x13, 0x6a, 0x1b, 0xea, + 0x5c, 0x42, 0xfa, 0x13, 0x67, 0x1d, 0x18, 0x9c, 0xe5, 0x56, 0x18, 0x84, 0x62, 0xb2, 0xc2, 0xd4, + 0x86, 0x0b, 0x96, 0x97, 0x2d, 0xb2, 0x20, 0xe1, 0x37, 0x16, 0xc8, 0xf9, 0x7b, 0xce, 0xd2, 0xc9, + 0xfc, 0x27, 0x6a, 0xeb, 0xd6, 0x35, 0x42, 0x46, 0x2f, 0x1d, 0x17, 0x93, 0xe2, 0x81, 0x1c, 0xe7, + 0xc1, 0xfe, 0xba, 0xf6, 0x3c, 0xb1, 0x9d, 0xf3, 0x7a, 0x83, 0xdf, 0x50, 0x28, 0x30, 0xec, 0xbc, + 0xad, 0xd1, 0x07, 0xe7, 0x88, 0xfe, 0x63, 0xbb, 0xcb, 0x54, 0xe4, 0x02, 0x88, 0x2e, 0xf5, 0xb7, + 0x6f, 0x07, 0x41, 0x50, 0x1f, 0xa1, 0xbb, 0x9c, 0x4b, 0xdb, 0x68, 0xfb, 0xdb, 0x3a, 0x60, 0x71, + 0x87, 0xa5, 0x15, 0x58, 0xf0, 0xe1, 0xd9, 0x5a, 0xbf, 0xd8, 0xec, 0xef, 0x3f, 0x5b, 0xe3, 0xc2, + 0x9b, 0x0f, 0x23, 0x89, 0x0f, 0x9d, 0xe6, 0x0f, 0x66, 0x6f, 0xc3, 0x6e, 0x99, 0xf4, 0x77, 0x46, + 0xfa, 0xd6, 0x93, 0x5e, 0x04, 0x3e, 0xba, 0x45, 0x1b, 0x0b, 0xc3, 0x37, 0x58, 0x89, 0xf8, 0x2e, + 0x02, 0x17, 0x0f, 0xe8, 0xd1, 0xb5, 0xc7, 0xf1, 0x2a, 0xb5, 0x5d, 0x96, 0xdd, 0x25, 0x93, 0xae, + 0x13, 0x9c, 0xad, 0x1f, 0x5c, 0xbd, 0x9c, 0x77, 0xf3, 0xc1, 0x65, 0x37, 0x2c, 0xc2, 0x92, 0x51, + 0x99, 0xaf, 0xea, 0x3a, 0xaa, 0x41, 0x9a, 0xe9, 0xae, 0x53, 0x2c, 0x4a, 0xc6, 0xb2, 0xeb, 0x6c, + 0x1c, 0x97, 0x40, 0x25, 0xfd, 0xef, 0x78, 0x24, 0x48, 0x9e, 0x92, 0x23, 0xe5, 0x34, 0x3c, 0x8c, + 0x3b, 0x3c, 0x05, 0xb4, 0x7d, 0x9b, 0x44, 0x8e, 0x10, 0x85, 0x79, 0x62, 0xd4, 0x1a, 0x08, 0x72, + 0x70, 0x79, 0xe5, 0xd2, 0x33, 0x4f, 0x42, 0x7a, 0x5e, 0x6f, 0x46, 0xd3, 0x55, 0x42, 0x27, 0x8d, + 0x16, 0xae, 0xcb, 0x9d, 0x75, 0xca, 0xf3, 0x55, 0x9a, 0x58, 0x21, 0x12, 0xfc, 0x4d, 0xcc, 0x11, + 0xec, 0x6f, 0xee, 0xe8, 0xd5, 0xa6, 0xe8, 0x5a, 0x03, 0x7a, 0x4d, 0x20, 0x17, 0x1e, 0x8e, 0x53, + 0x35, 0x31, 0x7b, 0xb6, 0xf4, 0x6d, 0x36, 0x84, 0x3e, 0xab, 0x98, 0x04, 0xb7, 0x14, 0x03, 0x86, + 0xbb, 0xf8, 0x69, 0x0d, 0x10, 0x6b, 0x4d, 0x28, 0xf3, 0xf9, 0x46, 0x12, 0xab, 0x08, 0x5c, 0x1c, + 0x57, 0xbd, 0xc9, 0xd5, 0x1b, 0xc3, 0x57, 0x2f, 0xde, 0x31, 0xf5, 0x4e, 0x92, 0xd7, 0x4d, 0xcc, + 0xd5, 0x97, 0xa4, 0x2b, 0x32, 0x8f, 0x32, 0xe6, 0x6e, 0x66, 0xbe, 0xa2, 0xa6, 0x51, 0x9e, 0xde, + 0x49, 0x10, 0x2c, 0x11, 0x48, 0xf2, 0x4c, 0x39, 0x44, 0xf0, 0xdd, 0xc4, 0x71, 0x23, 0xd5, 0x20, + 0x68, 0x34, 0xd0, 0x2b, 0x0d, 0x7e, 0x1c, 0xff, 0x0e, 0x7e, 0x8a, 0xf7, 0x91, 0xdf, 0x65, 0xdd, + 0xc8, 0x71, 0xe3, 0x20, 0xf5, 0x80, 0xa7, 0x41, 0xae, 0xbb, 0x3c, 0x38, 0xb3, 0x05, 0xbd, 0x05, + 0x1a, 0xa1, 0x36, 0x13, 0x53, 0x2b, 0xba, 0xe4, 0x57, 0xcf, 0x9f, 0x3f, 0xc1, 0x8b, 0xa7, 0x77, + 0xfc, 0xfc, 0x39, 0x3d, 0x26, 0xfa, 0x0a, 0x64, 0x66, 0x69, 0x9e, 0xfd, 0x03, 0x74, 0x48, 0x97, + 0x39, 0x8e, 0x3b, 0xa1, 0x29, 0x93, 0xf0, 0x81, 0x09, 0x1f, 0x9c, 0x0f, 0x18, 0x84, 0x39, 0xf7, + 0xf7, 0x4b, 0xfc, 0xc6, 0xf3, 0x6d, 0x92, 0x77, 0x53, 0x6f, 0x29, 0x96, 0x5d, 0xc7, 0xd9, 0x1b, + 0xb8, 0x61, 0xb0, 0x5e, 0x66, 0xc0, 0x0d, 0x7e, 0xf1, 0x72, 0x02, 0xd8, 0xf2, 0x99, 0x2b, 0x12, + 0xff, 0x49, 0xdf, 0x15, 0xfe, 0x93, 0x81, 0xab, 0xa7, 0xf5, 0xa1, 0xab, 0x1f, 0xbb, 0x40, 0x08, + 0xff, 0xeb, 0x34, 0x65, 0x77, 0xde, 0x34, 0x15, 0x8b, 0xee, 0x3a, 0xe6, 0xc9, 0x2c, 0x9f, 0xfb, + 0xb1, 0x27, 0x6f, 0x36, 0x2e, 0x4a, 0xc4, 0xa0, 0xff, 0x82, 0x3b, 0xae, 0x51, 0xf8, 0xb1, 0xcb, + 0x88, 0x1c, 0xd0, 0xc9, 0x97, 0xe0, 0x24, 0xf8, 0x7d, 0x97, 0x63, 0xf1, 0xf6, 0x66, 0xe3, 0xce, + 0x82, 0xf5, 0x82, 0xe7, 0x73, 0x11, 0xfa, 0xf6, 0x4f, 0x3f, 0xbe, 0xbf, 0xb0, 0x5d, 0xd4, 0x73, + 0x3e, 0x9e, 0x66, 0x00, 0x96, 0xd2, 0x28, 0x99, 0x45, 0xd3, 0xbb, 0x6e, 0xe8, 0x6c, 0x0c, 0xa2, + 0xf1, 0x0a, 0xd1, 0x32, 0x77, 0x06, 0x5c, 0xa1, 0xaa, 0x8b, 0x90, 0x67, 0xe4, 0x4b, 0xae, 0x08, + 0x38, 0x02, 0x6c, 0x91, 0xba, 0xed, 0x7e, 0xf8, 0x49, 0xed, 0xd3, 0xb2, 0x9f, 0xad, 0xd9, 0x06, + 0xac, 0x16, 0xe0, 0xc5, 0x52, 0x03, 0xd1, 0x36, 0xdd, 0x7d, 0xc0, 0xaf, 0xe1, 0x70, 0x4e, 0x10, + 0x0b, 0x39, 0xc6, 0x7e, 0x43, 0xd5, 0x49, 0xd0, 0x13, 0x2b, 0x87, 0x24, 0x63, 0xf9, 0x96, 0xbd, + 0xc7, 0x5d, 0x9b, 0x6a, 0x04, 0x6c, 0x67, 0x53, 0x1f, 0x62, 0xbe, 0xaa, 0x49, 0x40, 0x04, 0x8e, + 0x4e, 0x8a, 0x3d, 0xf2, 0x00, 0xd0, 0xce, 0x82, 0x23, 0x7e, 0xa0, 0x64, 0xc1, 0xfa, 0x34, 0x06, + 0x46, 0x39, 0x17, 0x41, 0x7f, 0x94, 0xcd, 0xc5, 0x4d, 0xd7, 0x51, 0xba, 0x2f, 0x0a, 0xb8, 0xb7, + 0x60, 0xcb, 0xae, 0x5c, 0x14, 0x58, 0x29, 0xa1, 0x53, 0x46, 0xb1, 0x88, 0x32, 0xde, 0xed, 0xe6, + 0x6e, 0x84, 0x8a, 0x0c, 0xe6, 0xbd, 0x88, 0x16, 0x5c, 0xac, 0xf2, 0x6e, 0xa9, 0xdd, 0x4a, 0xd4, + 0xb2, 0xba, 0x3c, 0x68, 0x01, 0x61, 0x5a, 0x1e, 0xa2, 0x8a, 0x3c, 0x08, 0x14, 0x90, 0x48, 0x32, + 0x6f, 0xde, 0xc2, 0xbc, 0xe2, 0x32, 0x47, 0x69, 0xc0, 0x8b, 0xc1, 0xbd, 0xf4, 0x88, 0x5c, 0xcb, + 0xbd, 0xc4, 0xe4, 0xdb, 0xa8, 0xe4, 0xdb, 0x58, 0x2f, 0x03, 0x4e, 0x41, 0x34, 0x4b, 0x00, 0x67, + 0x75, 0x3e, 0x4e, 0x51, 0x77, 0x4e, 0x76, 0xe1, 0x9e, 0xb8, 0xc2, 0x3d, 0x79, 0x8d, 0x7b, 0x26, + 0x06, 0xf7, 0x30, 0xcd, 0x3d, 0xb9, 0xe6, 0x1e, 0xf6, 0xfc, 0x79, 0x57, 0xb3, 0x8f, 0x3c, 0xf9, + 0x05, 0xe6, 0x01, 0xb0, 0xdb, 0xd9, 0xc7, 0x55, 0x7a, 0x5a, 0x46, 0xc1, 0xb0, 0x9b, 0x2c, 0xff, + 0x5e, 0x16, 0x9b, 0x74, 0xed, 0xd2, 0xe3, 0xca, 0x6c, 0x57, 0x53, 0xd4, 0xf9, 0x0f, 0x73, 0x1c, + 0x10, 0x02, 0x42, 0x8a, 0xbb, 0x35, 0x28, 0x59, 0x90, 0x2d, 0xf6, 0x42, 0xec, 0xed, 0x01, 0x9a, + 0x60, 0x1b, 0xb4, 0x2b, 0xc5, 0x0c, 0x1e, 0x74, 0x41, 0x4d, 0x96, 0x9f, 0xb7, 0x72, 0x83, 0xec, + 0x5b, 0x6a, 0x6b, 0x0f, 0x02, 0xf7, 0xa4, 0x4b, 0xaf, 0xe6, 0x51, 0xc8, 0xd1, 0x66, 0x79, 0x6a, + 0x9d, 0x6a, 0x2b, 0x2c, 0xe8, 0xf8, 0xea, 0xa1, 0xce, 0xf9, 0xca, 0xfc, 0x15, 0x12, 0x5c, 0x33, + 0x16, 0xe7, 0xb8, 0x54, 0xb0, 0x6f, 0x83, 0x64, 0x90, 0x5a, 0x57, 0x51, 0xad, 0xa3, 0x39, 0x7c, + 0x1b, 0x87, 0x72, 0x54, 0xfd, 0x35, 0x0e, 0xcd, 0x82, 0x4b, 0xfb, 0xf7, 0x25, 0x9f, 0xd9, 0x2e, + 0x5c, 0xf0, 0xef, 0x32, 0xc1, 0xbf, 0xc0, 0x0a, 0xf6, 0x15, 0xf0, 0x73, 0x62, 0x68, 0x6f, 0x65, + 0x88, 0xd0, 0x88, 0xa0, 0xe6, 0xe0, 0xee, 0x25, 0x73, 0x93, 0xab, 0x20, 0xf7, 0xc0, 0xfe, 0x46, + 0x40, 0x0b, 0x0f, 0x20, 0x50, 0xf6, 0x11, 0x68, 0x8e, 0x7e, 0x45, 0xee, 0xa9, 0xd4, 0x47, 0xd7, + 0x06, 0x68, 0x6d, 0x30, 0x3d, 0x99, 0x17, 0x41, 0xe4, 0xb5, 0x0a, 0x61, 0x7b, 0x09, 0xb2, 0x64, + 0x14, 0x5c, 0xd2, 0x27, 0x2b, 0xbe, 0x6d, 0xc6, 0xe0, 0xb6, 0x2b, 0xed, 0x96, 0x6d, 0x6f, 0xae, + 0x46, 0x42, 0x29, 0xc6, 0xb3, 0x3e, 0x70, 0x17, 0x30, 0xfd, 0x2a, 0x9b, 0x77, 0x3d, 0xcf, 0x13, + 0x24, 0xbe, 0x5d, 0x09, 0x0e, 0xdf, 0x00, 0x6a, 0xbb, 0x72, 0x26, 0xae, 0x06, 0x83, 0xf3, 0xa1, + 0xf1, 0xb6, 0x01, 0xdf, 0x03, 0xdc, 0x0d, 0xa0, 0x2d, 0xd0, 0x11, 0x20, 0x00, 0xaf, 0xe5, 0xbb, + 0x8b, 0xef, 0xdf, 0x05, 0xb6, 0xed, 0x82, 0x38, 0x8a, 0xf4, 0x0d, 0x03, 0xec, 0xd4, 0x86, 0x33, + 0x9c, 0xb2, 0xd0, 0x37, 0xa8, 0x1d, 0x7e, 0xa4, 0xb4, 0x00, 0x30, 0x10, 0x73, 0x46, 0x7d, 0x90, + 0x47, 0xaa, 0x19, 0x06, 0x98, 0xd0, 0x45, 0x54, 0xe7, 0xcc, 0x4f, 0xfa, 0xb8, 0x00, 0x16, 0xd3, + 0x27, 0xe1, 0x2b, 0xac, 0xa5, 0xa3, 0x5d, 0x3a, 0x3b, 0xf0, 0xa0, 0xe2, 0x84, 0x3a, 0x2b, 0x94, + 0xae, 0x51, 0xc1, 0x0c, 0x44, 0xf2, 0xe2, 0x88, 0xcf, 0xd1, 0x4c, 0x20, 0xf3, 0xd4, 0xe0, 0x41, + 0x29, 0x6f, 0x4e, 0x66, 0x8d, 0x5b, 0x78, 0x22, 0xa9, 0x6b, 0xc8, 0xfd, 0x0c, 0x4b, 0x9a, 0x50, + 0x75, 0xd6, 0xd4, 0x19, 0xe8, 0xbf, 0x99, 0x2f, 0xb4, 0x94, 0x67, 0xa5, 0x52, 0x2b, 0x69, 0x26, + 0x0f, 0x0a, 0x5f, 0xf3, 0x29, 0x5b, 0xc5, 0xb9, 0x26, 0x5b, 0xdf, 0xd5, 0x9f, 0x0c, 0xb8, 0xc5, + 0x77, 0x04, 0x48, 0x48, 0xa2, 0x1f, 0x32, 0x0b, 0x30, 0x04, 0x20, 0xaa, 0x49, 0xcb, 0x28, 0x04, + 0xf4, 0x27, 0x7e, 0xee, 0x92, 0xc9, 0x07, 0xbb, 0x9b, 0x61, 0x7d, 0x56, 0x22, 0x1f, 0x7f, 0xf5, + 0x33, 0x7a, 0xfe, 0x15, 0x40, 0x2a, 0xa9, 0x9d, 0xdf, 0xdf, 0x17, 0x60, 0xa0, 0xdc, 0x2b, 0x37, + 0x49, 0x41, 0x90, 0xf4, 0x98, 0x06, 0x41, 0xf4, 0x32, 0xa4, 0xbf, 0xe3, 0xf2, 0x47, 0x18, 0x20, + 0x51, 0x73, 0x64, 0x6a, 0x0e, 0xa1, 0x67, 0x88, 0x36, 0x6e, 0x5a, 0xf2, 0x44, 0x6c, 0xf2, 0x04, + 0x80, 0xe8, 0x8c, 0x62, 0x0f, 0x8f, 0x45, 0x40, 0x4b, 0x78, 0xf2, 0x74, 0x55, 0xb8, 0x65, 0x8b, + 0x3a, 0x5f, 0x8d, 0x5c, 0x64, 0x9c, 0x14, 0x10, 0x11, 0x9b, 0x4c, 0x03, 0x3c, 0x23, 0x3d, 0x6d, + 0xe1, 0x32, 0x75, 0x17, 0x21, 0xa0, 0xe0, 0x6a, 0xa3, 0x3e, 0xfe, 0x13, 0xfc, 0x23, 0xb3, 0x0c, + 0xd2, 0x3a, 0x00, 0xc5, 0x0d, 0x17, 0x56, 0xab, 0x04, 0xa9, 0xb0, 0x40, 0xbc, 0x61, 0x39, 0xf4, + 0x4a, 0xbe, 0x59, 0x4d, 0xa7, 0x20, 0xef, 0x4e, 0xf9, 0xa2, 0x30, 0x05, 0x14, 0x2d, 0x45, 0x49, + 0x7e, 0x42, 0xee, 0x0b, 0x8c, 0x55, 0xe2, 0x6e, 0xe3, 0x2e, 0x7d, 0x99, 0x52, 0x02, 0xf5, 0x31, + 0x1a, 0xc3, 0x96, 0x8f, 0x0f, 0x5d, 0x7b, 0x6f, 0x0c, 0xe0, 0x76, 0xdf, 0x93, 0x69, 0x21, 0x67, + 0xe7, 0xd5, 0x9c, 0xa5, 0xaf, 0x04, 0x00, 0x0a, 0x34, 0xcf, 0x1d, 0xdc, 0x58, 0x01, 0x28, 0x2a, + 0x7c, 0xca, 0x85, 0x18, 0x20, 0xd6, 0x4c, 0x32, 0xab, 0x0b, 0x24, 0xf5, 0x1f, 0x25, 0x9e, 0xa0, + 0x78, 0x3c, 0x40, 0xf5, 0x9a, 0x23, 0xdf, 0x62, 0x0b, 0xe1, 0x27, 0x00, 0xe8, 0x19, 0xa9, 0x3d, + 0x2f, 0x4b, 0x27, 0x01, 0x68, 0x89, 0x3a, 0x7e, 0x66, 0x2a, 0xff, 0xd4, 0x90, 0x2f, 0x99, 0x2f, + 0x43, 0xdd, 0x1d, 0xf3, 0xec, 0xb2, 0x7f, 0x55, 0x77, 0xb3, 0xb5, 0xce, 0xad, 0xbb, 0xd8, 0xaa, + 0x98, 0xa3, 0x55, 0xee, 0xa8, 0x43, 0x91, 0xc3, 0x41, 0xdd, 0xab, 0x5a, 0x2a, 0xb9, 0x20, 0x74, + 0x23, 0xf2, 0x73, 0x29, 0x73, 0x75, 0xf2, 0xe5, 0x8e, 0x0f, 0x17, 0xaf, 0x49, 0xd5, 0xc2, 0x15, + 0x2f, 0xf1, 0x08, 0xde, 0xc6, 0x5a, 0xfe, 0x5c, 0x81, 0x9f, 0xba, 0xe3, 0x34, 0x02, 0x67, 0x15, + 0xe4, 0x6b, 0xe2, 0x46, 0x7e, 0xb8, 0x09, 0xf4, 0x9a, 0x60, 0xd9, 0x94, 0xb9, 0x33, 0x91, 0x8d, + 0x44, 0xaf, 0x7a, 0x14, 0x66, 0x5c, 0xe4, 0xae, 0xa5, 0x3b, 0x2c, 0xe7, 0x44, 0x1d, 0xb1, 0x2e, + 0x26, 0x06, 0x95, 0x4e, 0xd6, 0x4d, 0x79, 0x59, 0xb3, 0x40, 0x96, 0xc0, 0xc9, 0xca, 0x9e, 0x2e, + 0x73, 0x6b, 0xce, 0x86, 0x39, 0x2d, 0x18, 0xde, 0x44, 0x31, 0xff, 0x0c, 0xec, 0x84, 0xa9, 0x44, + 0xd3, 0x3f, 0x21, 0x01, 0x9a, 0xc2, 0xc5, 0x29, 0xf8, 0xe3, 0xa4, 0xae, 0x99, 0x55, 0xad, 0x52, + 0x0d, 0xca, 0x29, 0xa2, 0x27, 0xd5, 0xb8, 0x4a, 0xb5, 0x66, 0xaa, 0x55, 0x1d, 0x7f, 0x15, 0xed, + 0xa2, 0xc6, 0x22, 0xba, 0x3d, 0x6a, 0x89, 0xe9, 0x48, 0x13, 0xa5, 0x4a, 0x13, 0xc5, 0x1b, 0x34, + 0xb2, 0x4a, 0x5d, 0x48, 0x8d, 0x83, 0x70, 0x36, 0x59, 0x4c, 0x8a, 0xe8, 0xb7, 0x80, 0xf2, 0xd7, + 0x20, 0x91, 0xa3, 0x68, 0x0a, 0xda, 0xa3, 0x35, 0x0c, 0x88, 0x71, 0x53, 0xda, 0xf5, 0x1f, 0xc7, + 0x62, 0xdc, 0x45, 0xd7, 0x80, 0x06, 0x03, 0x12, 0xba, 0x97, 0xec, 0xca, 0x4d, 0x01, 0x08, 0x70, + 0x4b, 0x7d, 0xe6, 0xe1, 0x05, 0x28, 0xaa, 0xed, 0x9a, 0x42, 0x8c, 0xed, 0x82, 0x69, 0xe3, 0x71, + 0xc6, 0xad, 0xc6, 0x0b, 0xae, 0xc9, 0x3f, 0xa9, 0x2c, 0x5a, 0xe4, 0x90, 0xe8, 0xbc, 0x63, 0x81, + 0xf9, 0x1f, 0x2c, 0xb3, 0xf4, 0xae, 0x39, 0xe0, 0x3f, 0xc6, 0x49, 0xf6, 0xd9, 0x32, 0xda, 0xc7, + 0x48, 0x79, 0x5f, 0xe2, 0xee, 0x9c, 0x2d, 0xc4, 0x0a, 0x8f, 0x98, 0xf7, 0x32, 0xb7, 0xcd, 0x75, + 0xcd, 0x81, 0xdd, 0xd6, 0xaa, 0x40, 0xd9, 0x0f, 0x5d, 0x39, 0xc8, 0x9f, 0x69, 0x8b, 0x35, 0xd1, + 0x7e, 0x29, 0x20, 0xe2, 0xc9, 0xc4, 0x13, 0x1f, 0x1d, 0xa5, 0x58, 0xae, 0x45, 0x84, 0x47, 0x11, + 0xc8, 0x48, 0x61, 0xc1, 0x48, 0xa3, 0x5a, 0x2e, 0x40, 0xed, 0x61, 0x85, 0x69, 0x81, 0x25, 0xfe, + 0x99, 0x07, 0x03, 0x7e, 0xf0, 0x22, 0x72, 0x17, 0xc1, 0xac, 0x0c, 0x1d, 0x30, 0x3e, 0x29, 0xf5, + 0x12, 0x6b, 0x48, 0x21, 0x2f, 0xa5, 0x30, 0x23, 0x89, 0x11, 0x28, 0x85, 0x11, 0x08, 0x4b, 0x6a, + 0x48, 0x21, 0xc3, 0x48, 0xd9, 0x10, 0x2b, 0x51, 0x88, 0x95, 0xec, 0xb9, 0x01, 0xdf, 0x1d, 0xfc, + 0x99, 0x64, 0x63, 0x3d, 0x5b, 0xe7, 0x7b, 0x83, 0xcd, 0x87, 0xd1, 0x4a, 0x1a, 0x4f, 0x68, 0x9c, + 0x6c, 0xee, 0x9f, 0xad, 0x9b, 0x4e, 0x3c, 0xf8, 0xd7, 0x4b, 0xd9, 0x27, 0x73, 0x5c, 0x73, 0x6b, + 0xb2, 0xb1, 0x2a, 0xde, 0xb1, 0xbb, 0x4e, 0x40, 0x82, 0x21, 0xc0, 0xed, 0xa3, 0xbb, 0xd2, 0xe6, + 0x02, 0x2f, 0x34, 0x51, 0xef, 0x82, 0x15, 0x6d, 0xbf, 0xb0, 0x0c, 0x97, 0xa0, 0x9a, 0xaf, 0x20, + 0x3a, 0x51, 0x6e, 0xe0, 0x3d, 0x65, 0x18, 0x2a, 0x72, 0x2f, 0xd0, 0x65, 0x92, 0xb8, 0x07, 0x80, + 0x2f, 0xb1, 0xc0, 0xce, 0x95, 0xa5, 0x73, 0x57, 0xa5, 0x3f, 0x28, 0x9c, 0x73, 0xfb, 0xa9, 0xed, + 0xdb, 0xfb, 0xfb, 0x36, 0x6d, 0x73, 0xf3, 0xcf, 0x04, 0x77, 0xfc, 0x01, 0xa1, 0x51, 0x7a, 0xe1, + 0xce, 0xfb, 0x5d, 0x44, 0x49, 0xd7, 0xfe, 0x27, 0xca, 0x88, 0xa2, 0x1f, 0x84, 0x35, 0xea, 0x0b, + 0x92, 0x86, 0x26, 0x75, 0x97, 0xee, 0xfc, 0x53, 0x34, 0x47, 0xa1, 0x33, 0x0a, 0xba, 0xf0, 0x6a, + 0xf6, 0x45, 0x2b, 0x7f, 0x5d, 0xe2, 0xd9, 0xd0, 0xfe, 0x86, 0x5b, 0x56, 0x53, 0x11, 0x46, 0x6d, + 0x52, 0x43, 0x51, 0x68, 0xd7, 0xad, 0xa6, 0x27, 0xb4, 0x0b, 0x07, 0x0c, 0x24, 0x4b, 0x29, 0x90, + 0x65, 0xb4, 0x26, 0x2a, 0x8a, 0x20, 0x90, 0x73, 0x8a, 0x30, 0x2f, 0xc3, 0x20, 0xaf, 0x78, 0x42, + 0x0b, 0x20, 0x7d, 0x98, 0x50, 0xfb, 0x30, 0xb3, 0x06, 0xa0, 0x2d, 0x8a, 0x45, 0x7b, 0x2d, 0xee, + 0xaa, 0x9c, 0x0b, 0xf0, 0xbc, 0x2c, 0x9f, 0x66, 0x0e, 0x48, 0x03, 0x3a, 0xf9, 0x40, 0x52, 0x16, + 0x53, 0x59, 0x05, 0x88, 0x45, 0xd1, 0x20, 0x2b, 0x1d, 0xdc, 0xbb, 0x20, 0x3d, 0x8f, 0xfd, 0xb9, + 0x3b, 0x85, 0xeb, 0xc4, 0x5f, 0xb8, 0xd7, 0x70, 0x5d, 0xf9, 0x77, 0xee, 0x5b, 0xb8, 0x2e, 0xfd, + 0xa9, 0x7b, 0x13, 0x7c, 0xcf, 0xf2, 0xb9, 0x37, 0x8d, 0x85, 0x48, 0xbb, 0xdd, 0x55, 0xef, 0xce, + 0xd9, 0x1f, 0x3a, 0xee, 0xbb, 0x4a, 0xeb, 0xb2, 0x37, 0xa5, 0xd6, 0x71, 0x70, 0x78, 0xf2, 0xe2, + 0xda, 0x7d, 0x83, 0x97, 0xb7, 0xee, 0xef, 0xc1, 0xf8, 0x34, 0x78, 0x79, 0x7c, 0x72, 0x3e, 0x38, + 0xf4, 0x07, 0x27, 0xee, 0x7b, 0x14, 0xcf, 0xf5, 0x24, 0xbf, 0xf5, 0x6f, 0x37, 0x81, 0x24, 0xdd, + 0x2b, 0x92, 0xb9, 0xee, 0x9d, 0x3b, 0x75, 0x46, 0xb7, 0xf8, 0x55, 0xef, 0x8d, 0x92, 0x47, 0xb7, + 0x0f, 0xff, 0xa1, 0x66, 0xc9, 0xce, 0xaf, 0x83, 0x5b, 0x4c, 0xe6, 0xd1, 0x5b, 0xd4, 0x9a, 0x5d, + 0xfd, 0x9e, 0xb0, 0x50, 0x08, 0xef, 0x85, 0x8b, 0xd3, 0x3f, 0xab, 0x4d, 0x3f, 0x76, 0xdf, 0x38, + 0xa3, 0x67, 0x68, 0x39, 0xe2, 0xf7, 0x32, 0xab, 0x8f, 0xbf, 0xb7, 0x05, 0xff, 0x6c, 0x57, 0xb6, + 0xfe, 0x0c, 0xa8, 0xa5, 0x19, 0xa9, 0x27, 0x08, 0x45, 0x17, 0xb3, 0x11, 0x3c, 0xe8, 0x8f, 0xf8, + 0xe9, 0xdb, 0x11, 0x87, 0x80, 0x53, 0xb7, 0xe5, 0xd0, 0x96, 0x9f, 0x5e, 0x8f, 0x72, 0x68, 0x5b, + 0x63, 0x03, 0x0b, 0xf8, 0x8b, 0xeb, 0x3d, 0x90, 0x76, 0x90, 0x26, 0xd8, 0x34, 0x38, 0xc5, 0x78, + 0xe1, 0xe8, 0x1d, 0xf4, 0x6e, 0xc0, 0xde, 0xf3, 0xde, 0x3b, 0x20, 0xbd, 0xad, 0xd6, 0x43, 0x1d, + 0x07, 0x7e, 0xa5, 0x38, 0x0b, 0x20, 0x4c, 0x12, 0xa7, 0x77, 0xcf, 0x9f, 0x47, 0x74, 0x1b, 0x9d, + 0x4e, 0xef, 0xef, 0x9f, 0xc0, 0x9b, 0x1c, 0xdb, 0xf8, 0xe9, 0x54, 0x4f, 0x9e, 0x9e, 0x47, 0x2f, + 0xee, 0xf6, 0x84, 0xcf, 0xe1, 0x6f, 0x3e, 0x02, 0x1e, 0x42, 0xa5, 0x4c, 0x27, 0xd7, 0xdd, 0xd7, + 0x97, 0x87, 0x2f, 0xc0, 0x02, 0xd0, 0x65, 0x6f, 0xa0, 0x6f, 0x86, 0xfa, 0xe6, 0xe0, 0x8a, 0xbe, + 0x20, 0x5c, 0xa7, 0xa0, 0x31, 0x66, 0xc0, 0x5a, 0x63, 0xe4, 0xaa, 0x39, 0xbf, 0xbd, 0x10, 0x3f, + 0xcf, 0xc6, 0xa0, 0x7a, 0x46, 0xef, 0xa5, 0x8a, 0x01, 0x23, 0x63, 0xa2, 0xe6, 0x43, 0x0a, 0x6f, + 0x51, 0x5d, 0xb9, 0x20, 0xdd, 0x21, 0xfd, 0x9d, 0x6d, 0x9c, 0x0f, 0x26, 0xa2, 0xc0, 0x8d, 0x76, + 0x0f, 0x4f, 0xe0, 0xbf, 0xca, 0xb2, 0xa8, 0x89, 0xf4, 0x1e, 0x11, 0xd5, 0xf8, 0xf5, 0x0b, 0xf1, + 0x5b, 0x30, 0x80, 0x91, 0x78, 0x62, 0xfe, 0x91, 0x6b, 0xd4, 0x0f, 0xe8, 0x9f, 0x5d, 0xb4, 0xd7, + 0xe6, 0xa4, 0x44, 0xd0, 0x24, 0x48, 0xf6, 0x86, 0x87, 0x6e, 0x18, 0x64, 0x70, 0x41, 0xd2, 0x09, + 0xb0, 0x2f, 0xbf, 0xef, 0xd9, 0xcb, 0x5b, 0xeb, 0xeb, 0x34, 0x62, 0xb1, 0x5d, 0x81, 0x59, 0xaf, + 0x0c, 0x4e, 0x7b, 0x0c, 0xda, 0x49, 0xfe, 0xb2, 0x19, 0xe8, 0x28, 0x63, 0x29, 0xb4, 0xd4, 0x5f, + 0xe3, 0xe7, 0xa1, 0x81, 0x2d, 0xbf, 0x0c, 0xd5, 0x8d, 0xdf, 0x80, 0x08, 0x21, 0xb4, 0x81, 0xbd, + 0x88, 0xc2, 0x30, 0xe6, 0x7a, 0xe6, 0x0b, 0x78, 0x07, 0x9e, 0xd0, 0xc4, 0x0d, 0x9d, 0x8d, 0x2c, + 0x86, 0x02, 0xb7, 0x0e, 0xd8, 0x0c, 0x1c, 0x8b, 0x81, 0xed, 0x47, 0xc1, 0xfb, 0xd1, 0x18, 0x58, + 0xec, 0xe3, 0x88, 0x5a, 0x86, 0xd8, 0x42, 0x81, 0x66, 0xf7, 0xbd, 0x63, 0xbe, 0x38, 0xc0, 0x17, + 0x54, 0xbe, 0x08, 0x2f, 0x36, 0x52, 0xb7, 0x96, 0xbc, 0x8a, 0x36, 0xa4, 0x10, 0x56, 0x4c, 0xd4, + 0x86, 0xe5, 0x23, 0xd8, 0x9a, 0x08, 0x7c, 0x0e, 0x43, 0xdb, 0xd1, 0x2c, 0x5c, 0x32, 0x06, 0xb0, + 0x21, 0xb8, 0x06, 0x7d, 0xe0, 0x39, 0x8e, 0xae, 0x50, 0x86, 0x86, 0x90, 0x97, 0x21, 0x12, 0xb0, + 0x1f, 0x5a, 0x3b, 0x60, 0x36, 0xfe, 0x24, 0x08, 0x12, 0x67, 0xcd, 0x02, 0x31, 0x1a, 0x04, 0x01, + 0xeb, 0xe5, 0xe7, 0x99, 0xa4, 0x56, 0xe2, 0xf8, 0xea, 0x0e, 0xec, 0x02, 0x38, 0x09, 0xe0, 0x4e, + 0x89, 0x4d, 0x82, 0xce, 0xb7, 0xce, 0x0e, 0x0c, 0x28, 0x99, 0x25, 0xa3, 0xfa, 0xf6, 0x71, 0xfa, + 0x2d, 0x0e, 0xcf, 0x4a, 0x48, 0x0d, 0x1e, 0x05, 0xb3, 0x4b, 0xb3, 0x2b, 0xfd, 0xac, 0x35, 0x64, + 0x66, 0x66, 0xc1, 0xcd, 0xf2, 0x8f, 0x86, 0x76, 0x95, 0x85, 0x12, 0x05, 0x4c, 0x18, 0x97, 0x25, + 0xe7, 0xd9, 0xb9, 0x28, 0x53, 0x16, 0x4f, 0x29, 0x65, 0xe1, 0xe5, 0xe2, 0x9d, 0xb8, 0xe1, 0xe9, + 0x2b, 0xc0, 0x7a, 0xd7, 0xc1, 0xdf, 0xcf, 0xbb, 0x10, 0xdf, 0x01, 0x39, 0x86, 0x47, 0x47, 0xae, + 0xfa, 0x9f, 0xd1, 0x4a, 0x60, 0x99, 0x67, 0x01, 0x5a, 0x2c, 0x00, 0xbd, 0x07, 0xb0, 0x04, 0x58, + 0x4d, 0x5e, 0x5f, 0xc1, 0x51, 0x9b, 0x85, 0xa8, 0xd0, 0x7c, 0xbb, 0xdf, 0xf5, 0x9c, 0xfd, 0x99, + 0x6b, 0x3f, 0x1b, 0x3c, 0x1b, 0x40, 0xa7, 0x51, 0x61, 0x6b, 0x31, 0xe9, 0x82, 0xc9, 0x4b, 0xe4, + 0x9c, 0x7d, 0x6f, 0x3d, 0xdc, 0xec, 0xcf, 0x1c, 0x6d, 0x91, 0x0b, 0x2a, 0x73, 0x77, 0x70, 0xec, + 0xe8, 0xdd, 0x81, 0xa8, 0xe6, 0x20, 0xaa, 0x0c, 0x44, 0x35, 0x31, 0x09, 0x5f, 0x85, 0x5a, 0x85, + 0x5d, 0x85, 0xb8, 0xed, 0x75, 0xf9, 0xe9, 0xe9, 0xe0, 0xf8, 0x3e, 0x3f, 0x3d, 0x3d, 0xb9, 0x67, + 0x88, 0x08, 0x19, 0xca, 0x75, 0x71, 0x66, 0x2f, 0xa3, 0x30, 0xbe, 0x77, 0x6c, 0x6c, 0x56, 0xf2, + 0xa9, 0xb6, 0x99, 0xc0, 0x4a, 0xc0, 0x3b, 0x45, 0x42, 0xc8, 0x60, 0x21, 0x0a, 0xe4, 0x72, 0x49, + 0x6b, 0x06, 0xde, 0x22, 0x78, 0x71, 0xf9, 0xa6, 0x16, 0xb2, 0x2a, 0x05, 0x8b, 0xde, 0x55, 0xe1, + 0x5b, 0x85, 0x2a, 0xf0, 0x51, 0x07, 0x2f, 0x40, 0x43, 0xea, 0x64, 0xa3, 0x83, 0x20, 0x43, 0x6e, + 0x98, 0x5b, 0x87, 0xda, 0xf9, 0x48, 0x87, 0x5d, 0x0c, 0xf5, 0xfb, 0x2b, 0xfc, 0xfc, 0x08, 0x04, + 0xcf, 0x1e, 0x86, 0x36, 0x5a, 0x45, 0xd4, 0x38, 0x2c, 0xfc, 0x16, 0xeb, 0x96, 0x60, 0xaa, 0xf8, + 0x8e, 0x3c, 0x1f, 0x0d, 0x6d, 0xe2, 0x91, 0x27, 0xfb, 0x7e, 0x21, 0x44, 0x3e, 0x87, 0x1d, 0xff, + 0xf7, 0x8a, 0xe1, 0x67, 0x59, 0x81, 0x3d, 0x87, 0xa9, 0xc1, 0xf1, 0xad, 0xbd, 0x7e, 0x93, 0xb0, + 0x71, 0x8c, 0x81, 0xfc, 0xa0, 0x30, 0x17, 0x8c, 0xcc, 0x85, 0x89, 0xec, 0x8a, 0x43, 0x44, 0xdb, + 0x52, 0xc1, 0x33, 0x38, 0x43, 0x28, 0x0f, 0xe7, 0x77, 0x6c, 0x11, 0x63, 0x80, 0x27, 0x1d, 0x23, + 0x6a, 0xc2, 0x3b, 0x6c, 0x32, 0xb0, 0x13, 0xaa, 0xd3, 0x67, 0xf2, 0xd3, 0x15, 0xdd, 0x50, 0x6e, + 0x41, 0xcd, 0x8d, 0x94, 0x36, 0x61, 0x4a, 0x9b, 0x50, 0xf6, 0xdb, 0x07, 0xbd, 0x04, 0x9e, 0x35, + 0x10, 0x8b, 0x62, 0x8b, 0x7d, 0x9d, 0x25, 0x97, 0x6f, 0x4d, 0x8d, 0x02, 0x70, 0xd4, 0x3b, 0xdf, + 0xf6, 0x10, 0x28, 0xea, 0x4e, 0x37, 0x66, 0x77, 0x82, 0x12, 0x07, 0x20, 0x5a, 0xf7, 0x81, 0x65, + 0x23, 0x39, 0x6f, 0x7e, 0x9b, 0xdb, 0x1b, 0x7d, 0x5e, 0x84, 0x11, 0xc5, 0x37, 0x18, 0x5e, 0x5c, + 0xf2, 0x2b, 0x15, 0x4f, 0x24, 0x94, 0xf5, 0x6b, 0x8b, 0x62, 0x29, 0x3d, 0xde, 0xa0, 0x31, 0x43, + 0x19, 0x95, 0x67, 0x66, 0x91, 0x9b, 0x7a, 0x7a, 0xff, 0xe8, 0x0e, 0xe7, 0x1b, 0xef, 0xd9, 0x3a, + 0xdb, 0x7c, 0x80, 0x66, 0xaa, 0xe6, 0x80, 0x20, 0x06, 0xe7, 0x4d, 0xf9, 0x35, 0x28, 0xff, 0x72, + 0xde, 0xc8, 0x60, 0x51, 0x42, 0xf2, 0x16, 0xaf, 0x4e, 0x7d, 0x04, 0xd1, 0x70, 0xea, 0x2a, 0x1f, + 0x01, 0x34, 0x1c, 0xbb, 0xe2, 0xab, 0x85, 0x86, 0x5b, 0x67, 0x1c, 0xa8, 0x82, 0xbe, 0x2c, 0x08, + 0xae, 0xbf, 0x28, 0xbb, 0x10, 0xbf, 0x22, 0x30, 0x6b, 0x49, 0x35, 0x88, 0x5b, 0xd6, 0x97, 0xf9, + 0x95, 0xbf, 0xd6, 0xab, 0xfd, 0x46, 0x89, 0x4d, 0xe6, 0xca, 0xf9, 0x7f, 0x03, 0x0d, 0x9e, 0xb8, + 0x13, 0xb1, 0x58, 0xb0, 0x24, 0xfc, 0x0d, 0x02, 0x85, 0x0f, 0x88, 0x7f, 0xab, 0xf7, 0x8b, 0x85, + 0xe1, 0x90, 0xa5, 0x0b, 0xa6, 0x10, 0x1d, 0x66, 0x4e, 0xcf, 0xea, 0x85, 0xd6, 0x97, 0x98, 0xfb, + 0xfc, 0xd2, 0xea, 0x7d, 0x67, 0xd9, 0xaf, 0xe4, 0x37, 0x78, 0xbd, 0x0b, 0x24, 0x84, 0xd5, 0x60, + 0x8b, 0x0f, 0xe5, 0x02, 0xd3, 0xe9, 0xa7, 0xac, 0xb0, 0xb6, 0x91, 0xd3, 0xa6, 0x0c, 0x6c, 0xf6, + 0x8e, 0x2b, 0x6d, 0x36, 0x1b, 0xd3, 0xe1, 0x26, 0x46, 0xdf, 0x42, 0x16, 0x03, 0x8d, 0x2a, 0x84, + 0xd8, 0x02, 0x58, 0xfe, 0x67, 0xb6, 0x6e, 0xc0, 0x52, 0x21, 0x0f, 0x00, 0x55, 0xbc, 0x41, 0xb9, + 0x05, 0xdb, 0x58, 0x9e, 0x42, 0xd9, 0x96, 0x65, 0x7b, 0xf2, 0x90, 0xae, 0x5b, 0x44, 0x38, 0x96, + 0x0a, 0xad, 0x60, 0x35, 0x20, 0x65, 0x86, 0x29, 0x36, 0xca, 0x6e, 0x5e, 0x72, 0x37, 0xbb, 0x72, + 0xca, 0x63, 0x9f, 0x27, 0xfa, 0xd8, 0x27, 0xbb, 0xbf, 0x97, 0xe7, 0x81, 0x51, 0x26, 0x13, 0x6b, + 0x99, 0x73, 0x4e, 0xc1, 0x1e, 0x42, 0xef, 0x83, 0x9b, 0xa4, 0x01, 0x20, 0xd5, 0xa9, 0xd5, 0x46, + 0x7d, 0x16, 0x5e, 0x9f, 0x85, 0x3b, 0xe7, 0x80, 0x44, 0x1c, 0xb3, 0x37, 0x70, 0x36, 0xdd, 0x0c, + 0xed, 0xd2, 0x07, 0xbf, 0x9c, 0x18, 0xc3, 0xab, 0x1c, 0x9b, 0xf1, 0xf5, 0x07, 0xc7, 0x08, 0xad, + 0x94, 0x3b, 0x81, 0xfb, 0x35, 0x44, 0x47, 0x87, 0x4f, 0x39, 0x7e, 0x30, 0x49, 0xe7, 0x38, 0x36, + 0x60, 0x63, 0xc8, 0x0f, 0xc0, 0x57, 0x28, 0xea, 0x9e, 0x34, 0x6e, 0x64, 0x6a, 0x8b, 0x8e, 0xc4, + 0x1a, 0x12, 0x1d, 0x46, 0xd7, 0x40, 0x4b, 0xa1, 0x8e, 0xef, 0x8b, 0x5a, 0xe5, 0xc0, 0x96, 0x1f, + 0xc5, 0xda, 0x6e, 0xe3, 0x95, 0x2e, 0xfe, 0x0d, 0x00, 0xd6, 0x7e, 0x7f, 0xcf, 0x5e, 0x64, 0x2d, + 0x9d, 0x2e, 0xa2, 0x05, 0xe8, 0xe2, 0x6f, 0x15, 0xb8, 0x81, 0x2d, 0xbf, 0x93, 0xc6, 0x8e, 0x54, + 0x2c, 0x83, 0xe5, 0x0a, 0x94, 0x50, 0x95, 0xf5, 0x24, 0xb6, 0x9b, 0x97, 0x47, 0x81, 0x0d, 0x10, + 0xb1, 0x38, 0x11, 0xc5, 0xb6, 0x75, 0x28, 0xfd, 0xee, 0x86, 0x8d, 0xf9, 0x6b, 0x54, 0x7d, 0x8a, + 0xb1, 0xc0, 0xf4, 0x88, 0x4a, 0xce, 0x2a, 0xd2, 0xd3, 0xa7, 0xdb, 0x30, 0x90, 0xb6, 0xcf, 0xae, + 0x3f, 0x23, 0x86, 0x15, 0xd2, 0x26, 0x8e, 0x8a, 0xb7, 0xcd, 0x97, 0x6d, 0x58, 0x6a, 0x76, 0xe2, + 0x54, 0x2b, 0xd1, 0x27, 0x0c, 0x56, 0x73, 0x6c, 0xb2, 0xb6, 0xa2, 0x5e, 0x6d, 0xe3, 0x54, 0x7a, + 0x81, 0x8e, 0x36, 0x8e, 0xc1, 0xe8, 0x40, 0x4b, 0x13, 0x42, 0x7d, 0x8f, 0x0c, 0xbe, 0x63, 0xb3, + 0x47, 0xca, 0x17, 0xe2, 0x1a, 0x63, 0x6c, 0x17, 0x20, 0xa3, 0xa3, 0x2f, 0x1d, 0x85, 0x83, 0x9d, + 0xcb, 0xc1, 0xf1, 0xc9, 0xea, 0xc5, 0x1c, 0x54, 0xa2, 0x61, 0x70, 0x5f, 0x11, 0xe4, 0x93, 0xcd, + 0x0b, 0x0e, 0xf0, 0x30, 0x98, 0xec, 0x5e, 0xd0, 0x1f, 0x69, 0x96, 0xdb, 0x82, 0xe7, 0xac, 0x8e, + 0x67, 0x3d, 0x17, 0x26, 0x11, 0x4c, 0xbf, 0x84, 0x12, 0x39, 0x39, 0x3a, 0x82, 0xf7, 0xf7, 0x5d, + 0xde, 0x0e, 0x51, 0x2d, 0x33, 0xc9, 0xcb, 0x5c, 0xa7, 0x08, 0x64, 0x8d, 0x08, 0x85, 0x19, 0x51, + 0x59, 0x39, 0x92, 0x62, 0xc2, 0x31, 0x06, 0x56, 0xd4, 0x38, 0x89, 0xd0, 0x00, 0xd6, 0x71, 0x94, + 0x5f, 0x26, 0x57, 0xad, 0x2b, 0xba, 0xc9, 0xde, 0x9e, 0x9b, 0x9c, 0x05, 0x79, 0xe9, 0x25, 0xc2, + 0x9e, 0x01, 0xf2, 0x96, 0x01, 0xf4, 0xd5, 0x3d, 0x10, 0x1d, 0x0c, 0x21, 0xf9, 0xb3, 0xcf, 0x9f, + 0x03, 0x5e, 0xe9, 0x67, 0x7d, 0x2f, 0x04, 0x46, 0xa1, 0x84, 0xf9, 0x8d, 0xa8, 0x1e, 0x80, 0x54, + 0xd9, 0x20, 0x73, 0x68, 0x78, 0xd6, 0x52, 0xe6, 0xb3, 0x40, 0xa4, 0x61, 0xa9, 0x95, 0x4d, 0x25, + 0x0a, 0xf5, 0x4d, 0x6d, 0x1e, 0x1a, 0xb5, 0xca, 0xd5, 0xa0, 0xb4, 0x5b, 0x49, 0xfb, 0xcb, 0x14, + 0x66, 0x35, 0x21, 0xab, 0xab, 0xb9, 0x1c, 0x08, 0x3c, 0x6a, 0x94, 0x53, 0x3f, 0xf0, 0x60, 0xe3, + 0xe1, 0x48, 0xfb, 0xde, 0x75, 0xbb, 0xfc, 0x1d, 0x0f, 0xc4, 0x21, 0xfe, 0x68, 0x59, 0x0c, 0x1e, + 0x3c, 0xf8, 0x7d, 0xa1, 0x87, 0xa2, 0xab, 0xf9, 0x15, 0x96, 0x99, 0xc2, 0x0b, 0xf4, 0xea, 0xf0, + 0xc7, 0x75, 0x6c, 0xc3, 0x6b, 0xa7, 0x84, 0xd0, 0x2e, 0x50, 0x29, 0xc6, 0x7e, 0x08, 0x30, 0x49, + 0xc5, 0x3a, 0x5c, 0xa1, 0x3e, 0x32, 0xdb, 0x02, 0x13, 0xfe, 0xb0, 0x90, 0x01, 0x91, 0x2e, 0x23, + 0x46, 0x7b, 0xc4, 0x3d, 0xd4, 0xb6, 0x80, 0x64, 0x75, 0xec, 0x56, 0xd4, 0x34, 0xa8, 0xbc, 0x75, + 0xe5, 0xa3, 0x7a, 0xc7, 0x03, 0xef, 0x21, 0xbd, 0x93, 0xa7, 0xab, 0x22, 0xfd, 0x3a, 0x8e, 0xbb, + 0xb2, 0xda, 0xde, 0x55, 0x25, 0xc5, 0xae, 0xa5, 0x2b, 0x44, 0x6d, 0xc9, 0xba, 0x2c, 0x78, 0xd2, + 0x2f, 0x7c, 0x67, 0x7b, 0x09, 0xea, 0x8e, 0xa4, 0xb4, 0x9b, 0xb0, 0xeb, 0x68, 0xc6, 0x60, 0x0e, + 0x0f, 0x7f, 0x37, 0x7d, 0x05, 0x0e, 0xf0, 0xfd, 0x7d, 0xd9, 0x06, 0x44, 0x4e, 0xdf, 0xa9, 0x76, + 0xe7, 0xdc, 0x7e, 0x03, 0xe4, 0x07, 0x99, 0x5d, 0x2c, 0x85, 0xf5, 0xef, 0xff, 0xb1, 0x04, 0x66, + 0xbf, 0x58, 0xfe, 0xef, 0xff, 0x4d, 0x23, 0x01, 0xd1, 0xf3, 0xc5, 0x3c, 0xca, 0xac, 0x69, 0xc4, + 0xe3, 0x10, 0x3f, 0xb6, 0x2f, 0x3e, 0x1d, 0xd0, 0xf6, 0xb3, 0x94, 0x49, 0xf3, 0xf0, 0x09, 0xb1, + 0x2e, 0x32, 0x8e, 0x87, 0xfe, 0x97, 0x1a, 0x1b, 0x57, 0xd2, 0xb5, 0x7a, 0x92, 0xab, 0xc4, 0x2e, + 0xc1, 0x9f, 0xe1, 0x81, 0x9a, 0x08, 0x72, 0xca, 0xb6, 0x8c, 0x04, 0x84, 0xa9, 0x12, 0xc5, 0xa3, + 0x92, 0xa0, 0xaa, 0xf0, 0x80, 0xc2, 0x82, 0x05, 0xe0, 0x82, 0x87, 0x14, 0xee, 0x83, 0x76, 0xc3, + 0xe9, 0x24, 0xc5, 0x28, 0x46, 0x55, 0x44, 0xbc, 0xbf, 0xd7, 0x3c, 0x62, 0xb6, 0x3a, 0x6b, 0x58, + 0x6a, 0x20, 0x7d, 0xe2, 0x8d, 0x08, 0x84, 0x2a, 0x64, 0xf8, 0x41, 0x84, 0x7c, 0x03, 0xd3, 0x64, + 0x20, 0xa9, 0x4f, 0x00, 0x6a, 0x8c, 0x4c, 0xff, 0x8e, 0x00, 0x83, 0x72, 0xec, 0x3a, 0x30, 0x15, + 0xd5, 0x68, 0xd3, 0x44, 0x68, 0xba, 0x9f, 0x3f, 0xef, 0xd3, 0x3d, 0x9d, 0x3e, 0x28, 0x19, 0x77, + 0x90, 0xc8, 0x35, 0xd6, 0x57, 0xbf, 0xe1, 0x61, 0x3b, 0x85, 0xba, 0xe3, 0xc5, 0xe9, 0x22, 0xa9, + 0x52, 0x55, 0x3b, 0x71, 0x7f, 0x4f, 0xe5, 0x75, 0x88, 0x1f, 0x60, 0x9c, 0xa2, 0x31, 0x51, 0x65, + 0x30, 0x79, 0x95, 0x1f, 0xba, 0x76, 0xf5, 0x67, 0x3e, 0xd0, 0x30, 0x83, 0xf2, 0xdb, 0x66, 0xb5, + 0x9b, 0xc6, 0xb4, 0x36, 0xba, 0x76, 0xfa, 0x2d, 0x1c, 0x1c, 0x42, 0xea, 0x06, 0xd3, 0x1e, 0x01, + 0x78, 0x1b, 0x80, 0x32, 0x4a, 0xee, 0xac, 0xdb, 0xc4, 0xa8, 0xbe, 0x49, 0xb6, 0x03, 0xbc, 0xec, + 0xf9, 0x73, 0x3d, 0x81, 0x5c, 0x14, 0x54, 0x1c, 0xe8, 0x22, 0xb6, 0x79, 0x52, 0x3d, 0x09, 0x02, + 0x81, 0xfe, 0xd4, 0x72, 0xc3, 0xae, 0xb2, 0x89, 0x45, 0x3d, 0xbf, 0xd3, 0xa2, 0xe0, 0xf4, 0x2f, + 0x06, 0x82, 0x8c, 0x03, 0xbb, 0x36, 0x85, 0x73, 0xb3, 0xdb, 0x24, 0x62, 0xb9, 0x6d, 0x02, 0x57, + 0x9e, 0x50, 0x49, 0x0e, 0x51, 0x54, 0xa7, 0x6f, 0x7d, 0xa6, 0x3c, 0x95, 0x8d, 0xa3, 0x6a, 0x65, + 0x86, 0xd9, 0x1f, 0xcf, 0x89, 0x2a, 0xcb, 0xcb, 0xef, 0x0e, 0x9c, 0x8a, 0xef, 0xf2, 0x81, 0x72, + 0x24, 0x94, 0x74, 0x2f, 0xbe, 0x99, 0x7f, 0xf2, 0xc1, 0x35, 0x94, 0xce, 0x4e, 0x9b, 0xa0, 0x20, + 0x4c, 0xe9, 0x79, 0x05, 0x83, 0x8a, 0xcb, 0xf4, 0xf0, 0xe2, 0xac, 0xad, 0x65, 0xf0, 0x9c, 0x3e, + 0xed, 0x75, 0x4d, 0x99, 0x6f, 0x03, 0xdc, 0x88, 0xce, 0x40, 0x80, 0xa8, 0xd4, 0x18, 0x85, 0x96, + 0x39, 0x66, 0x79, 0x8a, 0xf1, 0xb2, 0x44, 0x43, 0xde, 0xbe, 0x67, 0x66, 0xee, 0x59, 0x9f, 0x68, + 0x99, 0x3d, 0xed, 0x4f, 0xfc, 0x42, 0x83, 0xe4, 0x7b, 0xd4, 0x82, 0xbc, 0x66, 0x85, 0xf6, 0x03, + 0x58, 0x2c, 0x4b, 0x8c, 0x5a, 0xaa, 0x80, 0xcc, 0xb2, 0x8d, 0x7c, 0x97, 0xaa, 0xae, 0xca, 0x41, + 0xeb, 0xe6, 0xd1, 0x42, 0x21, 0x70, 0x85, 0xca, 0x3a, 0xaf, 0x64, 0x53, 0x2b, 0x1a, 0x1a, 0x25, + 0xba, 0x4a, 0xd0, 0x7e, 0x6f, 0x54, 0x74, 0x59, 0xba, 0xc4, 0x3d, 0x54, 0x95, 0x58, 0xf6, 0xa7, + 0x1c, 0xbe, 0x18, 0x38, 0xc2, 0x5a, 0xfe, 0xdd, 0x31, 0x53, 0xe4, 0xfe, 0x74, 0x6d, 0x6c, 0xf9, + 0xf5, 0x63, 0xa3, 0x38, 0x56, 0xc5, 0x91, 0x5c, 0x1d, 0xaf, 0xab, 0x12, 0x43, 0xf3, 0x74, 0xcc, + 0x7d, 0xd2, 0x77, 0xfc, 0x4a, 0x8b, 0x51, 0xb1, 0xf2, 0xd8, 0x31, 0xda, 0x7a, 0xe3, 0x56, 0x0f, + 0xca, 0xb1, 0x96, 0x05, 0xab, 0x46, 0x37, 0x4e, 0xa1, 0x6b, 0x9a, 0x4b, 0x3a, 0x26, 0x83, 0xd4, + 0xbf, 0x9e, 0xf8, 0x24, 0x0e, 0xa9, 0x1d, 0x53, 0x83, 0xa7, 0x22, 0x99, 0x52, 0x91, 0x5a, 0x1d, + 0xf4, 0x17, 0x36, 0x7b, 0xa2, 0x57, 0xf1, 0x6e, 0xd2, 0x28, 0xe7, 0x94, 0x98, 0x56, 0xb5, 0xd9, + 0xfa, 0x78, 0xcd, 0xc6, 0x46, 0x08, 0x89, 0x97, 0x11, 0xa7, 0x8f, 0xb7, 0x26, 0x25, 0x60, 0x06, + 0x6d, 0x8b, 0xb9, 0x43, 0x8f, 0xdf, 0xf2, 0xc9, 0x2b, 0x99, 0x45, 0xc0, 0x1c, 0xeb, 0xf2, 0xce, + 0xfe, 0xb4, 0xa9, 0x1a, 0x55, 0xa1, 0x06, 0x6e, 0x6a, 0x9f, 0x62, 0x3c, 0xa6, 0x82, 0xda, 0xea, + 0xa6, 0x9b, 0x67, 0xf8, 0x79, 0xbd, 0x70, 0xa3, 0x96, 0x61, 0xb3, 0x49, 0xec, 0xec, 0xbd, 0x2e, + 0xe6, 0xb2, 0x5e, 0x03, 0x77, 0x3b, 0xe8, 0x37, 0xa0, 0xdb, 0x0b, 0x9a, 0x39, 0x2f, 0x35, 0x5b, + 0x79, 0xa0, 0xb6, 0x83, 0x6e, 0x53, 0xc7, 0x72, 0xb9, 0x3e, 0x96, 0x33, 0xf5, 0xd5, 0xf6, 0xf3, + 0xb8, 0x91, 0x79, 0x5a, 0xa8, 0x8e, 0x44, 0x6f, 0xdc, 0xca, 0x59, 0xa1, 0xae, 0xd8, 0xd7, 0x60, + 0xe9, 0x5d, 0xed, 0x04, 0x54, 0x81, 0x90, 0x07, 0x60, 0x19, 0x85, 0x0d, 0x83, 0x5c, 0xac, 0x51, + 0xaf, 0xc7, 0xa7, 0xc4, 0x66, 0x5e, 0xad, 0xba, 0x2f, 0xc8, 0x59, 0xfb, 0x4d, 0x84, 0x36, 0x08, + 0xc9, 0x4f, 0x7d, 0x10, 0x40, 0x70, 0x27, 0xf2, 0xd3, 0x60, 0x78, 0x74, 0x74, 0x9e, 0xfb, 0xf0, + 0x77, 0xd4, 0x38, 0x6a, 0x55, 0xf8, 0x60, 0x6e, 0xb1, 0x25, 0xd5, 0xd0, 0x84, 0xe3, 0x33, 0x41, + 0x18, 0x6d, 0xd9, 0x8e, 0x5c, 0x27, 0xd7, 0xeb, 0xe8, 0x62, 0x92, 0xcf, 0xb1, 0x7c, 0xad, 0x46, + 0xaf, 0x8d, 0x36, 0x64, 0x07, 0xf3, 0xd6, 0x00, 0x64, 0x44, 0x3e, 0x57, 0x6b, 0xe1, 0xcb, 0xe3, + 0xfe, 0x81, 0xfd, 0xd9, 0xdf, 0x28, 0x62, 0xe0, 0xa3, 0x3e, 0x45, 0x05, 0x4b, 0xd5, 0x1e, 0xb3, + 0x15, 0x22, 0xde, 0x3c, 0xb4, 0xd9, 0x89, 0x6d, 0xb5, 0xfe, 0x37, 0x89, 0xd2, 0xe4, 0xd2, 0x96, + 0xc9, 0xab, 0xd0, 0x6c, 0x61, 0xd4, 0xca, 0x59, 0xfb, 0x7f, 0x10, 0x9e, 0xea, 0xbc, 0x3b, 0x81, + 0x62, 0x18, 0xb6, 0x1d, 0xd9, 0xa8, 0xb9, 0xac, 0x69, 0x1c, 0x59, 0x95, 0x0f, 0xca, 0x3a, 0x83, + 0xc4, 0x80, 0x3c, 0x39, 0x57, 0x25, 0xdd, 0x5f, 0xbe, 0x9d, 0x5a, 0x77, 0x62, 0x65, 0xdd, 0xb0, + 0x04, 0x68, 0x1c, 0x03, 0x7d, 0xe5, 0x2f, 0xcb, 0x99, 0x1f, 0x2b, 0x63, 0x50, 0x09, 0x36, 0x2e, + 0x47, 0x6e, 0xb0, 0xfb, 0xf6, 0x97, 0xae, 0xad, 0x7e, 0xf0, 0xd3, 0x76, 0xb1, 0x7c, 0xdf, 0x65, + 0xc0, 0xb5, 0xf9, 0xd7, 0x39, 0xb8, 0x25, 0x63, 0x88, 0xba, 0x60, 0x47, 0xf4, 0x39, 0xaa, 0xed, + 0xaa, 0xef, 0x51, 0xb1, 0xea, 0xd8, 0x69, 0xb2, 0x09, 0xe1, 0x02, 0xac, 0xf2, 0x23, 0xa3, 0x5f, + 0xb4, 0x8d, 0x55, 0x79, 0xa4, 0xd2, 0x88, 0x18, 0x91, 0xf1, 0xc3, 0x96, 0xd5, 0x6a, 0xa5, 0x68, + 0x9d, 0x10, 0x28, 0x73, 0x86, 0xab, 0xe7, 0xac, 0xb7, 0xb8, 0x0e, 0xb2, 0x6e, 0x44, 0x67, 0x49, + 0xb7, 0x24, 0x2f, 0x5a, 0xcb, 0x01, 0x2b, 0xd9, 0x9a, 0x51, 0x55, 0x82, 0xf5, 0x37, 0x85, 0x60, + 0xdf, 0xcf, 0xb7, 0x64, 0xac, 0x94, 0xdf, 0xd1, 0x52, 0x06, 0x07, 0x18, 0xe5, 0xad, 0xa8, 0xae, + 0x0d, 0x81, 0x9e, 0x20, 0xa2, 0xf8, 0xc9, 0xb6, 0xfc, 0x9a, 0x0e, 0x7f, 0xfd, 0x8f, 0xfe, 0x5f, + 0xd4, 0xfe, 0x0f, 0xbf, 0x30, 0xb3, 0x23, 0x56, 0x6d, 0x00, 0x00 +}; diff --git a/wled00/html_settings.h b/wled00/html_settings.h index de3c5665..83fcf42f 100644 --- a/wled00/html_settings.h +++ b/wled00/html_settings.h @@ -6,61 +6,64 @@ */ // Autogenerated from wled00/data/style.css, do not edit!! -const uint16_t PAGE_settingsCss_length = 847; +const uint16_t PAGE_settingsCss_length = 888; const uint8_t PAGE_settingsCss[] PROGMEM = { - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0xad, 0x55, 0xc1, 0x8e, 0x9b, 0x30, - 0x10, 0xfd, 0x15, 0xaa, 0x68, 0xa5, 0xad, 0x14, 0x10, 0x10, 0xc8, 0xa6, 0x46, 0x95, 0xaa, 0xde, - 0x7b, 0xab, 0xaa, 0x4a, 0xd5, 0x1e, 0x0c, 0x1e, 0x82, 0x15, 0x63, 0x23, 0xdb, 0x74, 0x49, 0x11, - 0xff, 0x5e, 0xdb, 0xc0, 0x42, 0xb2, 0x68, 0x7b, 0xa9, 0xa2, 0x44, 0xc4, 0x63, 0xc6, 0x6f, 0xde, - 0xbc, 0x79, 0xae, 0x74, 0xcd, 0x7a, 0x2d, 0xda, 0xa2, 0xf2, 0x71, 0xa1, 0xa9, 0xe0, 0xa8, 0xc6, - 0x9c, 0x36, 0x2d, 0xc3, 0xf6, 0xcf, 0x90, 0x0b, 0x72, 0xed, 0x4b, 0xc1, 0xb5, 0x5f, 0xe2, 0x9a, - 0xb2, 0x2b, 0xfa, 0x01, 0x92, 0x60, 0x8e, 0xf7, 0x0a, 0x73, 0xe5, 0x2b, 0x90, 0xb4, 0xcc, 0x5c, - 0x58, 0xd1, 0x3f, 0x80, 0x22, 0x09, 0x75, 0xa6, 0xa1, 0xd3, 0x3e, 0x66, 0xf4, 0xcc, 0x51, 0x01, - 0x5c, 0x83, 0xcc, 0x72, 0x5c, 0x5c, 0xce, 0x52, 0xb4, 0x9c, 0xa0, 0x5d, 0x1c, 0xc7, 0x59, 0x21, - 0x98, 0x90, 0x68, 0x57, 0x96, 0x65, 0xc6, 0x28, 0x07, 0xbf, 0x02, 0x7a, 0xae, 0x34, 0x8a, 0xc3, - 0xf0, 0x21, 0xab, 0xb1, 0x3c, 0x53, 0x8e, 0xc2, 0xa1, 0x92, 0x7d, 0x2e, 0x24, 0x01, 0xe9, 0x4f, - 0xdb, 0x8f, 0xc7, 0xa3, 0x59, 0x0c, 0x94, 0xc1, 0xfb, 0x42, 0x89, 0xae, 0x50, 0x7c, 0x0c, 0x9b, - 0x6e, 0xc0, 0x7b, 0x8c, 0x2a, 0xf1, 0x1b, 0x64, 0x3f, 0xed, 0x8b, 0x4f, 0xe5, 0x88, 0x81, 0x40, - 0x21, 0xa4, 0x2b, 0x03, 0x71, 0xc1, 0x61, 0x08, 0x72, 0xcd, 0xf7, 0x79, 0xab, 0xb5, 0xe0, 0xfd, - 0x1a, 0xd2, 0xe1, 0x70, 0x58, 0x43, 0xfa, 0x47, 0xb5, 0x23, 0x28, 0x14, 0x1c, 0x8a, 0xca, 0x53, - 0x82, 0x51, 0xe2, 0xb9, 0x04, 0x13, 0x56, 0x89, 0x09, 0x6d, 0x15, 0x8a, 0x93, 0xa6, 0xcb, 0x08, - 0x55, 0x0d, 0xc3, 0x57, 0x44, 0xb9, 0xab, 0x32, 0x67, 0xa2, 0xb8, 0xac, 0xc8, 0x8a, 0x0d, 0xfa, - 0xb9, 0xdc, 0x28, 0x6e, 0x3a, 0xef, 0x34, 0x7e, 0xb3, 0x06, 0x13, 0x42, 0xf9, 0x19, 0xd9, 0xff, - 0x36, 0x90, 0xd5, 0x94, 0xfb, 0x63, 0xc9, 0x89, 0x8d, 0x17, 0xad, 0x54, 0x06, 0x6c, 0x23, 0xa8, - 0x63, 0x77, 0xb3, 0xd6, 0xb1, 0x4c, 0x47, 0xd6, 0x2a, 0xdd, 0x3d, 0x4a, 0x8b, 0x60, 0xd5, 0xbd, - 0xf4, 0xf6, 0xac, 0x15, 0xbe, 0xd0, 0xb3, 0x9f, 0xc8, 0xf2, 0xbd, 0x53, 0x05, 0xe6, 0xfd, 0xb8, - 0xee, 0x6b, 0xd1, 0x20, 0xdf, 0x2d, 0x07, 0xe6, 0x51, 0x8a, 0x97, 0xde, 0xae, 0x84, 0x59, 0x23, - 0x14, 0x75, 0x60, 0x94, 0xa6, 0xc5, 0xe5, 0xba, 0x52, 0xc0, 0xdc, 0x4d, 0xab, 0x83, 0x3f, 0x3e, - 0xe5, 0x04, 0x3a, 0x14, 0x0d, 0x01, 0xe3, 0x97, 0xa9, 0xdd, 0xa6, 0xf5, 0x41, 0x05, 0xac, 0xf9, - 0xda, 0xaf, 0x84, 0xc4, 0xa0, 0xd4, 0x4b, 0x52, 0x9c, 0x1b, 0xe2, 0x5b, 0x0d, 0xd9, 0x08, 0xd4, - 0xc9, 0x20, 0xa8, 0x28, 0x81, 0x7e, 0xa6, 0xdc, 0x71, 0x40, 0x79, 0xd3, 0xea, 0xff, 0xd0, 0xe9, - 0xf4, 0xa6, 0xd3, 0x63, 0x5a, 0x64, 0x4e, 0xc2, 0x39, 0x03, 0x32, 0xab, 0xee, 0x74, 0x3a, 0x8d, - 0x91, 0x5f, 0xfa, 0xda, 0xc0, 0x67, 0xde, 0xd6, 0x39, 0xc8, 0xe7, 0xfd, 0x6a, 0xc9, 0x96, 0xf3, - 0xbc, 0x57, 0xc0, 0xa0, 0xd0, 0xfd, 0xc2, 0x7a, 0x0d, 0xa6, 0x17, 0xf5, 0x4c, 0xb4, 0x69, 0xf7, - 0x46, 0x9a, 0x49, 0xf0, 0x09, 0xd4, 0x1b, 0xc1, 0xa0, 0xeb, 0xe6, 0x89, 0x88, 0xc2, 0x70, 0xf3, - 0xfd, 0xe0, 0x75, 0xc7, 0x29, 0xdd, 0xde, 0x30, 0xc7, 0x8f, 0xc9, 0x76, 0xbc, 0x9e, 0xe2, 0xe9, - 0x71, 0x3b, 0xae, 0xfa, 0x45, 0xa0, 0x9b, 0x00, 0x5e, 0x37, 0xdc, 0x21, 0x2c, 0x2a, 0x28, 0x2e, - 0xb9, 0xe8, 0x9e, 0x7b, 0x2d, 0x0d, 0xf5, 0xa5, 0x90, 0x35, 0x32, 0x0a, 0x63, 0xf0, 0x18, 0x05, - 0xe9, 0xc7, 0x89, 0x16, 0x5f, 0x3a, 0x83, 0x70, 0x42, 0xd3, 0xc4, 0xdb, 0x7c, 0xfd, 0x66, 0xa7, - 0x04, 0x63, 0x08, 0x7a, 0x7d, 0x4e, 0x49, 0x19, 0x3c, 0xaf, 0x68, 0x8f, 0x6c, 0x21, 0x53, 0x33, - 0x16, 0xee, 0xb3, 0xff, 0xae, 0x16, 0x2d, 0xfb, 0xb5, 0xc7, 0x99, 0x0e, 0x3d, 0x98, 0x12, 0x5e, - 0x87, 0xd2, 0xf6, 0x3b, 0x20, 0xe9, 0x4c, 0x8e, 0xf1, 0xcf, 0x0f, 0xb4, 0x6e, 0x84, 0xd4, 0x98, - 0xeb, 0x21, 0x30, 0x3c, 0xac, 0x21, 0x07, 0xa9, 0xf5, 0xd7, 0xdb, 0xf1, 0x1f, 0x76, 0xdf, 0xbf, - 0x7d, 0xf7, 0xb4, 0xd5, 0xe2, 0x22, 0x82, 0x87, 0x61, 0x57, 0xab, 0xf3, 0xed, 0x34, 0xec, 0xb4, - 0xc0, 0x4a, 0xf7, 0xa2, 0xc1, 0x05, 0xd5, 0x57, 0x33, 0xa3, 0x6f, 0x67, 0x32, 0x49, 0x92, 0x3b, - 0x87, 0x48, 0x9d, 0x67, 0x18, 0x2b, 0xa9, 0x9d, 0x32, 0xde, 0xd0, 0x31, 0xe2, 0x7a, 0x5a, 0x99, - 0x96, 0xe5, 0x35, 0x9b, 0xb0, 0xf9, 0xa6, 0x0b, 0x5c, 0x2b, 0x77, 0xfe, 0x32, 0xbd, 0x25, 0xed, - 0x80, 0x6c, 0xdc, 0x12, 0xb3, 0x1b, 0xa4, 0xd9, 0xa2, 0x04, 0xf7, 0x64, 0xae, 0x22, 0xf8, 0xf9, - 0xe8, 0xa7, 0xe1, 0x83, 0xd5, 0x43, 0x37, 0xd9, 0xd3, 0x27, 0x73, 0x59, 0x58, 0x5b, 0x40, 0xa9, - 0x2d, 0xd7, 0x15, 0x17, 0xa8, 0xca, 0x38, 0xd0, 0x5c, 0x61, 0xb4, 0xe5, 0x3a, 0xc7, 0x24, 0x33, - 0xd7, 0x5b, 0x3d, 0x3a, 0x65, 0x89, 0x09, 0x50, 0xee, 0x05, 0xa9, 0xda, 0x2f, 0x8f, 0x5e, 0x6c, - 0x7f, 0x9c, 0x80, 0xd4, 0xcc, 0x5a, 0x00, 0x52, 0x0a, 0xf9, 0x6e, 0xe6, 0x3c, 0x8e, 0x36, 0x33, - 0x0f, 0x5f, 0xec, 0x80, 0x63, 0x4f, 0x15, 0x12, 0x80, 0x7b, 0x98, 0x13, 0xef, 0x71, 0x29, 0xe2, - 0xe9, 0x68, 0xb8, 0xfb, 0xd8, 0xaf, 0x74, 0x0a, 0x35, 0xa6, 0xec, 0xc6, 0x37, 0x9c, 0x72, 0xf7, - 0xef, 0x7b, 0x4b, 0x83, 0x95, 0x7a, 0x31, 0x9d, 0xbb, 0x33, 0x1c, 0xf6, 0xd6, 0x80, 0xee, 0x47, - 0xe0, 0x7d, 0x7c, 0xc9, 0x29, 0xbc, 0xc3, 0xf7, 0x66, 0xe0, 0xc3, 0x7f, 0x0c, 0xfc, 0xe1, 0xce, - 0xd2, 0xc6, 0x41, 0x9c, 0x6e, 0x70, 0x7b, 0x4f, 0x0e, 0x3b, 0x73, 0x2f, 0x2b, 0x6f, 0x9a, 0xc5, - 0x49, 0xc3, 0x89, 0x0d, 0x0c, 0x7f, 0x01, 0xbc, 0xb1, 0xff, 0x31, 0x9d, 0x08, 0x00, 0x00 + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0xad, 0x56, 0x51, 0x8b, 0xab, 0x38, + 0x14, 0xfe, 0x2b, 0x2e, 0x65, 0x60, 0x2e, 0x54, 0x51, 0xab, 0x9d, 0xde, 0xc8, 0xc2, 0xb2, 0xef, + 0xf7, 0x6d, 0x58, 0x16, 0x96, 0x79, 0x88, 0xe6, 0x58, 0x43, 0x63, 0x22, 0x49, 0xbc, 0xb5, 0x23, + 0xfe, 0xf7, 0x4d, 0xa2, 0x8e, 0xb6, 0x23, 0x73, 0x5f, 0x2e, 0xa5, 0x25, 0xe6, 0xc4, 0xe4, 0x3b, + 0xdf, 0xf9, 0xce, 0x97, 0x56, 0xba, 0x66, 0xbd, 0x16, 0x6d, 0x51, 0xf9, 0xb8, 0xd0, 0x54, 0x70, + 0x54, 0x63, 0x4e, 0x9b, 0x96, 0x61, 0xfb, 0x30, 0xe4, 0x82, 0xdc, 0xfa, 0x52, 0x70, 0xed, 0x97, + 0xb8, 0xa6, 0xec, 0x86, 0xfe, 0x01, 0x49, 0x30, 0xc7, 0x7b, 0x85, 0xb9, 0xf2, 0x15, 0x48, 0x5a, + 0x66, 0x2e, 0xac, 0xe8, 0x3b, 0xa0, 0x48, 0x42, 0x9d, 0x69, 0xe8, 0xb4, 0x8f, 0x19, 0x3d, 0x73, + 0x54, 0x00, 0xd7, 0x20, 0xb3, 0x1c, 0x17, 0x97, 0xb3, 0x14, 0x2d, 0x27, 0x68, 0x17, 0xc7, 0x71, + 0x56, 0x08, 0x26, 0x24, 0xda, 0x95, 0x65, 0x99, 0x31, 0xca, 0xc1, 0xaf, 0x80, 0x9e, 0x2b, 0x8d, + 0xe2, 0x30, 0x7c, 0xca, 0x6a, 0x2c, 0xcf, 0x94, 0xa3, 0x70, 0xa8, 0x64, 0x9f, 0x0b, 0x49, 0x40, + 0xfa, 0xd3, 0xf2, 0xe3, 0xf1, 0x68, 0x26, 0x03, 0x65, 0xf0, 0x5e, 0x29, 0xd1, 0x15, 0x8a, 0x8f, + 0x61, 0xd3, 0x0d, 0x78, 0x8f, 0x51, 0x25, 0x7e, 0x82, 0xec, 0xa7, 0x75, 0xf1, 0xa9, 0x1c, 0x31, + 0x10, 0x28, 0x84, 0x74, 0x69, 0x20, 0x2e, 0x38, 0x0c, 0x41, 0xae, 0xf9, 0x3e, 0x6f, 0xb5, 0x16, + 0xbc, 0x5f, 0x43, 0x3a, 0x1c, 0x0e, 0x6b, 0x48, 0xbf, 0xc8, 0x76, 0x04, 0x85, 0x82, 0x43, 0x51, + 0x79, 0x4a, 0x30, 0x4a, 0x3c, 0xb7, 0xc1, 0x84, 0x55, 0x62, 0x42, 0x5b, 0x85, 0xe2, 0xa4, 0xe9, + 0x32, 0x42, 0x55, 0xc3, 0xf0, 0x0d, 0x51, 0xee, 0xb2, 0xcc, 0x99, 0x28, 0x2e, 0x2b, 0xb2, 0x62, + 0x83, 0x7e, 0x4e, 0x37, 0x8a, 0x9b, 0xce, 0x3b, 0x8d, 0xdf, 0xac, 0xc1, 0x84, 0x50, 0x7e, 0x46, + 0xf6, 0xd9, 0x06, 0xb2, 0x9a, 0x72, 0x7f, 0x4c, 0x39, 0xb1, 0xf1, 0xa2, 0x95, 0xca, 0x80, 0x6d, + 0x04, 0x75, 0xec, 0x6e, 0xe6, 0x3a, 0xa6, 0xe9, 0xc8, 0x5a, 0x6d, 0xf7, 0x88, 0xd2, 0x22, 0x58, + 0x55, 0x2f, 0xbd, 0x3f, 0x6b, 0x85, 0x2f, 0xf4, 0xec, 0x27, 0xb2, 0x7c, 0xef, 0x54, 0x81, 0x79, + 0x3f, 0xce, 0xfb, 0x5a, 0x34, 0xc8, 0x77, 0xd3, 0x81, 0x19, 0x4a, 0x71, 0xed, 0xed, 0x4c, 0x98, + 0x35, 0x42, 0x51, 0x07, 0x46, 0x69, 0x5a, 0x5c, 0x6e, 0x2b, 0x05, 0xcc, 0xd5, 0xb4, 0x3a, 0x78, + 0xf7, 0x29, 0x27, 0xd0, 0xa1, 0x68, 0x08, 0x18, 0xbf, 0x4c, 0xe5, 0x36, 0xa5, 0x0f, 0x2a, 0x60, + 0xcd, 0xdf, 0xfd, 0x4a, 0x48, 0x0c, 0x4a, 0xbd, 0x6c, 0x8a, 0x73, 0x43, 0x7c, 0xab, 0x21, 0x1b, + 0x81, 0x3a, 0x19, 0x04, 0x15, 0x25, 0xd0, 0xcf, 0x94, 0x8f, 0xf5, 0x06, 0x39, 0x8b, 0x42, 0x02, + 0x19, 0x82, 0x2b, 0x96, 0x7c, 0x16, 0x49, 0x89, 0xc3, 0x81, 0xf2, 0xa6, 0xd5, 0xbf, 0x41, 0x09, + 0xe9, 0x9d, 0x12, 0xc6, 0x6d, 0x91, 0x41, 0x82, 0x73, 0x06, 0x64, 0x3e, 0xf0, 0x74, 0x3a, 0x8d, + 0x91, 0xff, 0xf4, 0xad, 0x81, 0x3f, 0x79, 0x5b, 0xe7, 0x20, 0xdf, 0xf6, 0xab, 0x29, 0x9b, 0xee, + 0xdb, 0x5e, 0x01, 0x83, 0x42, 0xf7, 0x4b, 0x55, 0x6a, 0x30, 0xb5, 0xaa, 0xe7, 0x42, 0x18, 0x39, + 0x6c, 0x6c, 0x33, 0x35, 0x44, 0x02, 0xf5, 0x46, 0x30, 0xe8, 0xba, 0xb9, 0x63, 0xa2, 0x30, 0xdc, + 0x7c, 0x3f, 0xf8, 0x58, 0x71, 0x4a, 0xb7, 0x17, 0xcc, 0xf1, 0x63, 0xb2, 0x1d, 0xaf, 0xa7, 0x78, + 0x7a, 0xdc, 0x8e, 0xab, 0x7e, 0x11, 0xf0, 0x26, 0x80, 0x8f, 0x05, 0x0f, 0x08, 0x8b, 0x0a, 0x8a, + 0x4b, 0x2e, 0xba, 0xb7, 0x5e, 0x4b, 0x43, 0x7d, 0x29, 0x64, 0x8d, 0x8c, 0x02, 0x19, 0x3c, 0x47, + 0x41, 0xfa, 0x6d, 0xa2, 0xc5, 0x97, 0xce, 0x40, 0x9c, 0x10, 0x35, 0xf1, 0x36, 0x5f, 0xbf, 0x5b, + 0x29, 0xc1, 0x18, 0x86, 0x5e, 0x9f, 0x53, 0x52, 0x06, 0x6f, 0x2b, 0xda, 0x23, 0x9b, 0xc8, 0x54, + 0x8c, 0x85, 0xfb, 0xec, 0xb7, 0xab, 0x65, 0x3c, 0x22, 0x68, 0xa8, 0xed, 0xa9, 0x6e, 0x6a, 0xbd, + 0xc8, 0x75, 0xa6, 0xd3, 0xbf, 0x75, 0xb6, 0x92, 0x89, 0x2b, 0x02, 0xc6, 0x68, 0xa3, 0xa8, 0x1a, + 0xb4, 0xec, 0xd7, 0xae, 0x69, 0x6a, 0xfa, 0x64, 0x92, 0xfe, 0x68, 0x73, 0xab, 0x90, 0x80, 0xa4, + 0x33, 0x9d, 0xc6, 0x91, 0xff, 0xa0, 0x75, 0x23, 0xa4, 0xc6, 0x5c, 0x0f, 0x81, 0x61, 0x6e, 0x9d, + 0x64, 0x90, 0x5a, 0xc7, 0xbe, 0x37, 0x94, 0x61, 0xf7, 0xfa, 0xe3, 0xd5, 0xd3, 0x56, 0xbd, 0x8b, + 0x6c, 0x9e, 0x86, 0x5d, 0xad, 0xce, 0xf7, 0xfd, 0xb5, 0xd3, 0x02, 0x2b, 0xdd, 0x8b, 0x06, 0x17, + 0x54, 0xdf, 0x4c, 0xd7, 0x7f, 0xee, 0xf2, 0x24, 0x49, 0x1e, 0x3c, 0x27, 0x75, 0x2e, 0x64, 0xcc, + 0xa9, 0x76, 0x5a, 0xfa, 0x44, 0xe0, 0x88, 0xeb, 0x65, 0x65, 0x83, 0xb6, 0x12, 0xd9, 0x84, 0xcd, + 0x37, 0x75, 0xe3, 0x5a, 0xb9, 0xf3, 0x17, 0x3f, 0x28, 0x69, 0x07, 0x64, 0xe3, 0xde, 0x99, 0xfd, + 0x25, 0xcd, 0x16, 0xed, 0xb8, 0x91, 0xb9, 0xdc, 0xe0, 0xdf, 0x67, 0x3f, 0x0d, 0x9f, 0xac, 0x82, + 0x66, 0xd6, 0xbf, 0x9b, 0xeb, 0xc7, 0x1a, 0x0d, 0x4a, 0x6d, 0xba, 0x2e, 0xb9, 0x40, 0x55, 0xc6, + 0xd3, 0xe6, 0x0c, 0xa3, 0x2d, 0x1f, 0x3b, 0x26, 0x99, 0xb9, 0x30, 0xeb, 0xd1, 0x7b, 0x4b, 0x4c, + 0x80, 0x72, 0x2f, 0x48, 0xd5, 0x7e, 0x19, 0x7a, 0xb1, 0xfd, 0x71, 0x92, 0x53, 0x33, 0x6b, 0xd6, + 0x9b, 0x84, 0xfc, 0x72, 0xe7, 0x3c, 0x8e, 0x36, 0x77, 0x1e, 0xfe, 0xb2, 0x96, 0x80, 0x3d, 0x55, + 0x48, 0x00, 0xee, 0x61, 0x4e, 0xbc, 0xe7, 0x25, 0x89, 0x97, 0xa3, 0xe1, 0xee, 0x5b, 0xbf, 0x52, + 0x36, 0xd4, 0x98, 0xb2, 0x3b, 0xa7, 0x71, 0x5a, 0xdf, 0x7f, 0xed, 0x46, 0x0d, 0x56, 0xea, 0x6a, + 0x2a, 0xf7, 0x60, 0x51, 0xec, 0xb3, 0x65, 0x3d, 0x36, 0xcd, 0xd7, 0xf8, 0x92, 0x53, 0xf8, 0x80, + 0xef, 0x93, 0x45, 0x84, 0xbf, 0xb0, 0x88, 0xc3, 0x83, 0x09, 0x8e, 0xad, 0x3b, 0xfd, 0x27, 0xb0, + 0x37, 0xef, 0xb0, 0x33, 0x37, 0xbd, 0xf2, 0xa6, 0xee, 0x9d, 0x34, 0x9c, 0xd8, 0xc0, 0xf0, 0x3f, + 0x39, 0x38, 0xc0, 0xa3, 0xef, 0x08, 0x00, 0x00 }; @@ -151,156 +154,158 @@ const uint8_t PAGE_settings[] PROGMEM = { // Autogenerated from wled00/data/settings_wifi.htm, do not edit!! -const uint16_t PAGE_settings_wifi_length = 2275; +const uint16_t PAGE_settings_wifi_length = 2307; const uint8_t PAGE_settings_wifi[] PROGMEM = { - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0xad, 0x58, 0xff, 0x53, 0xdb, 0x3a, - 0x12, 0xff, 0xdd, 0x7f, 0x85, 0xd0, 0xbb, 0xe9, 0xd8, 0x83, 0xe3, 0x10, 0xd2, 0xf6, 0xf5, 0x20, - 0x4e, 0x0f, 0x42, 0x1e, 0x70, 0x8f, 0x42, 0xae, 0x61, 0xca, 0xdc, 0xf4, 0x3a, 0xef, 0x19, 0x5b, - 0x49, 0x54, 0x6c, 0xc9, 0x67, 0xc9, 0x09, 0x0c, 0xe4, 0x7f, 0x7f, 0xbb, 0x92, 0x13, 0xe2, 0x40, - 0xe8, 0x5d, 0x87, 0xe9, 0x4c, 0xb1, 0xe5, 0xd5, 0x7e, 0xf9, 0xec, 0x47, 0xbb, 0xab, 0x74, 0xb6, - 0x8e, 0x2e, 0x7a, 0x97, 0xff, 0x1e, 0xf4, 0xc9, 0x44, 0x67, 0x69, 0xb7, 0x83, 0xff, 0x93, 0x34, - 0x12, 0xe3, 0x90, 0x32, 0x41, 0xe1, 0x9d, 0x45, 0x49, 0xb7, 0x93, 0x31, 0x1d, 0x91, 0x78, 0x12, - 0x15, 0x8a, 0xe9, 0x90, 0x96, 0x7a, 0xd4, 0xf8, 0x40, 0xab, 0x55, 0x27, 0x96, 0x42, 0x33, 0x01, - 0xcb, 0x33, 0x9e, 0xe8, 0x49, 0x98, 0xb0, 0x29, 0x8f, 0x59, 0xc3, 0xbc, 0xf8, 0x5c, 0x70, 0xcd, - 0xa3, 0xb4, 0xa1, 0xe2, 0x28, 0x65, 0x61, 0xcb, 0xcf, 0xa2, 0x5b, 0x9e, 0x95, 0xd9, 0xf2, 0xbd, - 0x54, 0xac, 0x30, 0x2f, 0xd1, 0x35, 0xbc, 0x0b, 0x49, 0x89, 0x23, 0xa2, 0x8c, 0x85, 0x74, 0xca, - 0xd9, 0x2c, 0x97, 0x85, 0x06, 0x2b, 0x9a, 0xeb, 0x94, 0x75, 0xaf, 0xf8, 0x6f, 0x9c, 0x0c, 0x99, - 0xd6, 0x5c, 0x8c, 0x55, 0xa7, 0x69, 0x17, 0x3b, 0x2a, 0x2e, 0x78, 0xae, 0xbb, 0xce, 0x34, 0x2a, - 0x48, 0x2a, 0x63, 0x9e, 0xfb, 0x49, 0x98, 0xc8, 0xb8, 0xcc, 0xc0, 0x21, 0x1f, 0x16, 0xc2, 0xad, - 0x96, 0x0f, 0xea, 0xc5, 0x99, 0x94, 0xb9, 0x0a, 0x77, 0xfc, 0xbc, 0x60, 0x43, 0x78, 0x1d, 0x0e, - 0x4f, 0x8f, 0x42, 0x4a, 0xf7, 0x47, 0xa5, 0x88, 0x35, 0x97, 0x82, 0x8c, 0x4f, 0x13, 0x57, 0x7b, - 0xf7, 0x05, 0xd3, 0x65, 0x21, 0x48, 0x12, 0x8c, 0x99, 0xee, 0xa7, 0x0c, 0xb5, 0x1c, 0xde, 0x99, - 0x4f, 0xf3, 0xa5, 0x68, 0xdc, 0xaf, 0x49, 0xc6, 0x05, 0x8b, 0x34, 0xab, 0x84, 0x6b, 0x82, 0x27, - 0xae, 0x77, 0x3f, 0xe3, 0x22, 0x91, 0xb3, 0x40, 0xe6, 0x4c, 0xb8, 0x74, 0xa2, 0x75, 0xae, 0xf6, - 0x9a, 0xcd, 0x2c, 0x0b, 0x6e, 0x84, 0x0c, 0x66, 0x29, 0x43, 0x43, 0xcd, 0x11, 0x28, 0x28, 0x0b, - 0xa6, 0x9a, 0xaa, 0x8a, 0xae, 0xf9, 0xcb, 0x8c, 0x8f, 0x78, 0x63, 0xf1, 0x4a, 0x57, 0x74, 0x1e, - 0xae, 0xeb, 0x5c, 0x6e, 0xa2, 0x3e, 0xfd, 0x43, 0xb1, 0x74, 0xb4, 0x2a, 0x7d, 0x0e, 0xd2, 0x90, - 0x1d, 0xa5, 0x89, 0x0e, 0x5d, 0x40, 0xe3, 0xa3, 0x71, 0x01, 0x3c, 0xa0, 0xdb, 0x06, 0xac, 0x3d, - 0x4a, 0xbd, 0x6d, 0xda, 0xfc, 0xae, 0xa4, 0x68, 0x0a, 0xa6, 0xa9, 0xcf, 0x42, 0x04, 0x82, 0x22, - 0x62, 0xd4, 0xdb, 0x67, 0x41, 0xc2, 0x15, 0x26, 0x26, 0x09, 0xb7, 0x76, 0x7c, 0x16, 0x68, 0x76, - 0xab, 0x7b, 0x8b, 0x64, 0x23, 0x8c, 0x02, 0x0c, 0x07, 0x41, 0x40, 0xfd, 0x11, 0xd3, 0xf1, 0x04, - 0x82, 0x0f, 0xf4, 0x04, 0x9c, 0xd2, 0x61, 0x57, 0x07, 0xa8, 0xd4, 0xf5, 0x1e, 0x57, 0x2e, 0xae, - 0xbf, 0xb3, 0x58, 0x07, 0x91, 0x52, 0x7c, 0x2c, 0xdc, 0xfb, 0xb9, 0x7f, 0x0f, 0x16, 0x67, 0xb2, - 0xb8, 0x51, 0x7b, 0x5f, 0xbf, 0xcd, 0x7d, 0xd8, 0xbb, 0x78, 0x0f, 0x14, 0xe4, 0xdd, 0x75, 0xb5, - 0xcf, 0xbc, 0xb0, 0xcb, 0x82, 0x02, 0x76, 0x34, 0xb4, 0xf9, 0xe3, 0x05, 0x05, 0x4b, 0xca, 0x98, - 0x2d, 0x3e, 0xba, 0x1a, 0x64, 0x33, 0x66, 0x0d, 0xc2, 0xf7, 0x24, 0x0c, 0x43, 0x66, 0x1e, 0xbc, - 0x87, 0x07, 0x1d, 0xe4, 0xa5, 0x9a, 0xb8, 0xcc, 0x03, 0xdd, 0xfe, 0xd7, 0x6f, 0x2b, 0xae, 0xdc, - 0xf3, 0x91, 0xbb, 0x03, 0xa2, 0x3a, 0x48, 0x99, 0x18, 0xeb, 0xc9, 0x9b, 0x37, 0x4b, 0x8a, 0x74, - 0x5a, 0x3b, 0x5e, 0x95, 0xda, 0xe5, 0xda, 0xf6, 0xb6, 0x3f, 0x95, 0x3c, 0x21, 0x80, 0xf4, 0x25, - 0xcf, 0x98, 0x2c, 0xb5, 0x7b, 0xee, 0xb7, 0x58, 0xdb, 0xdb, 0x5f, 0x61, 0xd6, 0x7e, 0xca, 0x34, - 0x11, 0x16, 0xbe, 0xde, 0x10, 0xc0, 0x03, 0x1b, 0xc2, 0xbb, 0xc7, 0x55, 0x16, 0x02, 0x65, 0x28, - 0xe4, 0x06, 0xe2, 0x37, 0xa8, 0x82, 0xa2, 0x03, 0xad, 0x0b, 0x7e, 0x5d, 0x6a, 0xe6, 0x52, 0x9e, - 0x40, 0xea, 0x70, 0x8b, 0xbf, 0xfe, 0x05, 0x4f, 0xc2, 0xa6, 0x6f, 0x52, 0xc0, 0x69, 0x14, 0x63, - 0xfc, 0x7e, 0xe9, 0x7a, 0x20, 0xb0, 0xca, 0x6c, 0x11, 0x4c, 0xa3, 0xb4, 0x64, 0xfb, 0x23, 0x59, - 0xb8, 0xe8, 0x81, 0x06, 0xff, 0x74, 0x87, 0x05, 0xf1, 0x84, 0xa7, 0x49, 0xc1, 0x44, 0x15, 0xf7, - 0xbe, 0xde, 0xde, 0xf6, 0x00, 0x60, 0x96, 0xc9, 0x29, 0xeb, 0xe1, 0x37, 0xf7, 0x51, 0xe6, 0xab, - 0xfe, 0xe6, 0x2d, 0x15, 0x48, 0x50, 0x20, 0x3b, 0x0b, 0xbc, 0xf6, 0x25, 0xec, 0xab, 0x88, 0xa5, - 0x4c, 0x70, 0x32, 0x47, 0xbe, 0x41, 0x70, 0x6a, 0xcd, 0x4d, 0xe3, 0x07, 0xf5, 0xf5, 0x57, 0xf9, - 0xcd, 0xe6, 0xc5, 0x57, 0x35, 0x1a, 0xfd, 0xf9, 0xb7, 0xfb, 0xe5, 0xb7, 0x39, 0x71, 0xab, 0x37, - 0xcc, 0xf5, 0x9c, 0x24, 0x87, 0x99, 0xf7, 0xe7, 0xe3, 0x56, 0x48, 0x58, 0x15, 0x17, 0xe4, 0x6b, - 0xcd, 0x8c, 0x05, 0x97, 0x21, 0x92, 0xcb, 0x47, 0xc4, 0x2c, 0xca, 0xe1, 0x90, 0x24, 0x36, 0x34, - 0xe5, 0xcd, 0xad, 0xcb, 0xb2, 0xee, 0xb2, 0x7c, 0xde, 0x65, 0xba, 0xd5, 0x83, 0x93, 0xe7, 0xcb, - 0x3a, 0xeb, 0x2f, 0x80, 0x43, 0x05, 0xa9, 0x98, 0x6a, 0xa8, 0x5f, 0x37, 0x22, 0x3d, 0x5f, 0x00, - 0xa0, 0x79, 0x1a, 0xc5, 0xec, 0x8a, 0x6b, 0xa4, 0xdf, 0x7c, 0xf5, 0x18, 0xb5, 0x9e, 0x3b, 0x46, - 0x74, 0xbe, 0x72, 0x66, 0x21, 0x9b, 0xf7, 0x36, 0x67, 0x35, 0x2e, 0x6d, 0xe9, 0x87, 0x07, 0xe3, - 0xd2, 0x16, 0xd0, 0xd6, 0xb8, 0x58, 0xf1, 0x74, 0xff, 0x91, 0x62, 0x5c, 0xe4, 0xa5, 0x65, 0x98, - 0xbe, 0xcb, 0xa1, 0x86, 0xa2, 0x21, 0x74, 0x10, 0xb0, 0x43, 0x3d, 0xf0, 0x64, 0x6b, 0xab, 0x7d, - 0xae, 0x47, 0x0d, 0x85, 0xd9, 0x26, 0x97, 0xfa, 0xed, 0x5d, 0x84, 0xce, 0xd8, 0x08, 0x57, 0x58, - 0xe5, 0xeb, 0xf5, 0xc0, 0x96, 0x3e, 0xa7, 0x32, 0x4a, 0xfe, 0x39, 0xc4, 0x43, 0x09, 0x85, 0xc2, - 0xba, 0x2f, 0x2c, 0xe9, 0x4d, 0x79, 0x06, 0x97, 0xc4, 0x7a, 0xc2, 0x8a, 0x98, 0xe2, 0xb9, 0x5c, - 0x5f, 0x47, 0xc7, 0x01, 0x7b, 0xf4, 0xbc, 0xf9, 0x3d, 0x9a, 0x46, 0x0b, 0x05, 0x4f, 0x04, 0x23, - 0x75, 0x27, 0x40, 0x05, 0x9c, 0xee, 0x24, 0xb8, 0x96, 0xc9, 0x5d, 0x2d, 0x0b, 0x02, 0xe5, 0xa3, - 0x24, 0xe9, 0x4f, 0x01, 0xe3, 0x33, 0xae, 0x00, 0x6a, 0x56, 0xb8, 0x14, 0xdd, 0xa4, 0xbe, 0x0b, - 0x85, 0xe3, 0xfe, 0x98, 0xe9, 0x2f, 0xae, 0x37, 0x7f, 0x5e, 0x8e, 0x15, 0x85, 0x2c, 0xc0, 0x3d, - 0x90, 0x43, 0xc6, 0xc8, 0x94, 0x05, 0xa9, 0x1c, 0xbb, 0xb4, 0x8f, 0xeb, 0xa4, 0x8a, 0x17, 0x4a, - 0x1f, 0x19, 0xf1, 0x94, 0x99, 0x30, 0xa0, 0x99, 0x41, 0xc9, 0xa2, 0x67, 0xd5, 0xba, 0x1c, 0x11, - 0xd8, 0x38, 0xe2, 0xe3, 0xb2, 0x88, 0x0c, 0x40, 0x36, 0x0c, 0x32, 0x8a, 0x38, 0xd6, 0xfc, 0xff, - 0x88, 0x53, 0x11, 0xcb, 0x2c, 0x07, 0x9c, 0x18, 0xc9, 0xa3, 0x31, 0x23, 0x49, 0xa4, 0xa3, 0x2d, - 0xa8, 0xdc, 0x2b, 0x98, 0x0e, 0x81, 0x07, 0x14, 0x0d, 0xec, 0xd1, 0x30, 0xac, 0x4a, 0x3e, 0x14, - 0x6d, 0xa3, 0x2f, 0xc8, 0x0b, 0xa9, 0x65, 0x2c, 0xd3, 0x37, 0x6f, 0x5c, 0xd3, 0xe4, 0x76, 0x7c, - 0xd7, 0x14, 0xf4, 0x10, 0x25, 0xd2, 0xa1, 0x96, 0x05, 0x68, 0xc5, 0x26, 0x76, 0xaa, 0x59, 0x86, - 0x81, 0xc7, 0xa7, 0x39, 0xf5, 0xa0, 0x28, 0x56, 0x62, 0xb0, 0x3f, 0xcb, 0xc1, 0xe1, 0xdf, 0x40, - 0x3f, 0xf9, 0x24, 0x13, 0x16, 0x90, 0x41, 0xca, 0x22, 0xc5, 0x08, 0x00, 0x01, 0x04, 0xbf, 0x3a, - 0xeb, 0x1f, 0x91, 0xd3, 0x01, 0xb8, 0xe4, 0xd7, 0x34, 0xaa, 0xba, 0x46, 0xdf, 0x68, 0xf3, 0x3c, - 0x94, 0x32, 0x0c, 0x78, 0xa1, 0xc9, 0x2c, 0x9b, 0x9b, 0x82, 0xd6, 0xf0, 0x31, 0x0f, 0x5b, 0xd4, - 0xdf, 0x6a, 0x79, 0x73, 0xa7, 0xd3, 0xac, 0x7a, 0x78, 0x47, 0xe9, 0x3b, 0x68, 0xe9, 0xff, 0xe0, - 0x19, 0xf6, 0x7d, 0x52, 0x16, 0x29, 0xd0, 0x04, 0x97, 0x82, 0x58, 0xc1, 0x49, 0xdc, 0x07, 0x41, - 0x23, 0xd0, 0x69, 0xda, 0x91, 0x04, 0xb3, 0x0e, 0xc9, 0x40, 0xcb, 0x70, 0x8c, 0xa0, 0x06, 0x76, - 0x3b, 0x50, 0xae, 0x32, 0x87, 0x20, 0xdd, 0xf1, 0xe9, 0x0f, 0x45, 0x89, 0x25, 0xfc, 0x70, 0x44, - 0x09, 0xcc, 0x2a, 0x13, 0x09, 0x5f, 0x72, 0xa9, 0x70, 0xa8, 0x48, 0xf8, 0x94, 0xc4, 0x29, 0x74, - 0x23, 0x38, 0x26, 0x12, 0xe0, 0x98, 0xd5, 0xd7, 0x26, 0x2c, 0xcd, 0x0f, 0x69, 0xd7, 0xe9, 0x00, - 0xdb, 0x34, 0x64, 0xc3, 0x1e, 0x28, 0xfb, 0x42, 0xc1, 0x6a, 0x9c, 0xf2, 0xf8, 0x26, 0xa4, 0x27, - 0x68, 0xf6, 0x63, 0xa7, 0x69, 0x3f, 0x80, 0x6b, 0xa0, 0xa2, 0xfb, 0xfc, 0x1e, 0x67, 0xb9, 0xe9, - 0x10, 0x37, 0x1d, 0x46, 0xf1, 0xcd, 0xe3, 0xbe, 0xda, 0x0e, 0x55, 0x5e, 0x67, 0x1c, 0x7c, 0x1c, - 0x46, 0x53, 0x46, 0xde, 0x10, 0x28, 0x15, 0x02, 0x2a, 0xda, 0xa3, 0xf0, 0xa4, 0x00, 0xbf, 0xac, - 0xa5, 0xc9, 0xae, 0x9d, 0x8b, 0x00, 0xdc, 0x32, 0x07, 0x60, 0x76, 0x61, 0xa9, 0xdd, 0xad, 0x76, - 0x10, 0x2d, 0x09, 0xbb, 0x05, 0x56, 0x23, 0x25, 0xab, 0x92, 0x05, 0x32, 0xed, 0xa5, 0x39, 0xa7, - 0xee, 0x21, 0xe2, 0x66, 0x3a, 0xff, 0x63, 0x7c, 0xe7, 0xe8, 0x2a, 0x16, 0x80, 0x15, 0x57, 0xc1, - 0xfa, 0xb9, 0x55, 0x66, 0xd0, 0x25, 0xae, 0x29, 0x0e, 0x84, 0x01, 0xa1, 0xee, 0xd0, 0xa4, 0x90, - 0x1a, 0xd9, 0x8f, 0x1e, 0x78, 0x7b, 0x28, 0xde, 0x31, 0x75, 0x89, 0xac, 0xd4, 0x24, 0x52, 0x55, + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0xad, 0x58, 0x7f, 0x53, 0xdb, 0x3c, + 0x12, 0xfe, 0xdf, 0x9f, 0x42, 0xe8, 0x6e, 0x3a, 0xf6, 0xe0, 0x38, 0x84, 0xb4, 0xbc, 0x1c, 0xc4, + 0xe9, 0x41, 0x48, 0x81, 0x7b, 0x29, 0xe4, 0x1a, 0xa6, 0xcc, 0x4d, 0xaf, 0xf3, 0xbe, 0xc6, 0x56, + 0x12, 0x15, 0x5b, 0xf2, 0x59, 0x72, 0x02, 0x43, 0xf3, 0xdd, 0x6f, 0x57, 0x72, 0x42, 0x1c, 0x48, + 0x7b, 0xd7, 0x61, 0x3a, 0x53, 0x6c, 0x79, 0xb5, 0xbb, 0x7a, 0xf6, 0xd9, 0x1f, 0x4a, 0x67, 0xeb, + 0xe4, 0xaa, 0x77, 0xfd, 0xaf, 0x41, 0x9f, 0x4c, 0x74, 0x96, 0x76, 0x3b, 0xf8, 0x3f, 0x49, 0x23, + 0x31, 0x0e, 0x29, 0x13, 0x14, 0xde, 0x59, 0x94, 0x74, 0x3b, 0x19, 0xd3, 0x11, 0x89, 0x27, 0x51, + 0xa1, 0x98, 0x0e, 0x69, 0xa9, 0x47, 0x8d, 0x7d, 0x5a, 0xad, 0x3a, 0xb1, 0x14, 0x9a, 0x09, 0x58, + 0x9e, 0xf1, 0x44, 0x4f, 0xc2, 0x84, 0x4d, 0x79, 0xcc, 0x1a, 0xe6, 0xc5, 0xe7, 0x82, 0x6b, 0x1e, + 0xa5, 0x0d, 0x15, 0x47, 0x29, 0x0b, 0x5b, 0x7e, 0x16, 0xdd, 0xf3, 0xac, 0xcc, 0x96, 0xef, 0xa5, + 0x62, 0x85, 0x79, 0x89, 0x6e, 0xe1, 0x5d, 0x48, 0x4a, 0x1c, 0x11, 0x65, 0x2c, 0xa4, 0x53, 0xce, + 0x66, 0xb9, 0x2c, 0x34, 0x58, 0xd1, 0x5c, 0xa7, 0xac, 0x7b, 0xc3, 0x3f, 0x70, 0x32, 0x64, 0x5a, + 0x73, 0x31, 0x56, 0x9d, 0xa6, 0x5d, 0xec, 0xa8, 0xb8, 0xe0, 0xb9, 0xee, 0x3a, 0xd3, 0xa8, 0x20, + 0xa9, 0x8c, 0x79, 0xee, 0x27, 0x61, 0x22, 0xe3, 0x32, 0x03, 0x87, 0x7c, 0x58, 0x08, 0xb7, 0x5a, + 0x3e, 0xa8, 0x17, 0x17, 0x52, 0xe6, 0x2a, 0xdc, 0xf1, 0xf3, 0x82, 0x0d, 0xe1, 0x75, 0x38, 0x3c, + 0x3f, 0x09, 0x29, 0x3d, 0x1c, 0x95, 0x22, 0xd6, 0x5c, 0x0a, 0x32, 0x3e, 0x4f, 0x5c, 0xed, 0x3d, + 0x16, 0x4c, 0x97, 0x85, 0x20, 0x49, 0x30, 0x66, 0xba, 0x9f, 0x32, 0xd4, 0x72, 0xfc, 0x60, 0x3e, + 0xcd, 0x97, 0xa2, 0x71, 0xbf, 0x26, 0x19, 0x17, 0x2c, 0xd2, 0xac, 0x12, 0xae, 0x09, 0x9e, 0xb9, + 0xde, 0xe3, 0x8c, 0x8b, 0x44, 0xce, 0x02, 0x99, 0x33, 0xe1, 0xd2, 0x89, 0xd6, 0xb9, 0x3a, 0x68, + 0x36, 0xb3, 0x2c, 0xb8, 0x13, 0x32, 0x98, 0xa5, 0x0c, 0x0d, 0x35, 0x47, 0xa0, 0xa0, 0x2c, 0x98, + 0x6a, 0xaa, 0xea, 0x74, 0xcd, 0xbf, 0xcc, 0xf8, 0x88, 0x37, 0x16, 0xaf, 0x74, 0x45, 0xe7, 0xf1, + 0xba, 0xce, 0xe5, 0x26, 0xea, 0xd3, 0x3f, 0x14, 0x4b, 0x47, 0xab, 0xd2, 0x97, 0x20, 0x0d, 0xd1, + 0x51, 0x9a, 0xe8, 0xd0, 0x05, 0x34, 0xde, 0x1b, 0x17, 0xc0, 0x03, 0xba, 0x6d, 0xc0, 0x3a, 0xa0, + 0xd4, 0xdb, 0xa6, 0xcd, 0x6f, 0x4a, 0x8a, 0xa6, 0x60, 0x9a, 0xfa, 0x2c, 0x44, 0x20, 0x28, 0x22, + 0x46, 0xbd, 0x43, 0x16, 0x24, 0x5c, 0x61, 0x60, 0x92, 0x70, 0x6b, 0xc7, 0x67, 0x81, 0x66, 0xf7, + 0xba, 0xb7, 0x08, 0x36, 0xc2, 0x28, 0xc0, 0x70, 0x10, 0x04, 0xd4, 0x1f, 0x31, 0x1d, 0x4f, 0xe0, + 0xf0, 0x81, 0x9e, 0x80, 0x53, 0x3a, 0xec, 0xea, 0x00, 0x95, 0xba, 0xde, 0xd3, 0xca, 0xd5, 0xed, + 0x37, 0x16, 0xeb, 0x20, 0x52, 0x8a, 0x8f, 0x85, 0xfb, 0x38, 0xf7, 0x1f, 0xc1, 0xe2, 0x4c, 0x16, + 0x77, 0xea, 0xe0, 0xcb, 0xd7, 0xb9, 0x0f, 0x7b, 0x17, 0xef, 0x81, 0x82, 0xb8, 0xbb, 0xae, 0xf6, + 0x99, 0x17, 0x76, 0x59, 0x50, 0xc0, 0x8e, 0x86, 0x36, 0x7f, 0xbc, 0xa0, 0x60, 0x49, 0x19, 0xb3, + 0xc5, 0x47, 0x57, 0x83, 0x6c, 0xc6, 0xac, 0x41, 0xf8, 0x9e, 0x84, 0x61, 0xc8, 0xcc, 0x83, 0xf7, + 0xfd, 0xbb, 0x0e, 0xf2, 0x52, 0x4d, 0x5c, 0xe6, 0x81, 0x6e, 0xff, 0xcb, 0xd7, 0x15, 0x57, 0x1e, + 0xf9, 0xc8, 0xdd, 0x01, 0x51, 0x1d, 0xa4, 0x4c, 0x8c, 0xf5, 0xe4, 0xcd, 0x9b, 0x25, 0x45, 0x3a, + 0xad, 0x1d, 0xaf, 0x0a, 0xed, 0x72, 0x6d, 0x7b, 0xdb, 0x9f, 0x4a, 0x9e, 0x10, 0x40, 0xfa, 0x9a, + 0x67, 0x4c, 0x96, 0xda, 0xbd, 0xf4, 0x5b, 0xac, 0xed, 0x1d, 0xae, 0x30, 0xeb, 0x30, 0x65, 0x9a, + 0x08, 0x0b, 0x5f, 0x6f, 0x08, 0xe0, 0x81, 0x0d, 0xe1, 0x3d, 0xe2, 0x2a, 0x0b, 0x81, 0x32, 0x14, + 0x62, 0x03, 0xe7, 0x37, 0xa8, 0x82, 0xa2, 0x23, 0xad, 0x0b, 0x7e, 0x5b, 0x6a, 0xe6, 0x52, 0x9e, + 0x40, 0xe8, 0x70, 0x8b, 0xbf, 0xfe, 0x05, 0x33, 0x61, 0xd3, 0x37, 0x29, 0x20, 0x1b, 0xc5, 0x18, + 0xbf, 0x5f, 0xbb, 0x1e, 0x08, 0xac, 0x32, 0x5b, 0x04, 0xd3, 0x28, 0x2d, 0xd9, 0xe1, 0x48, 0x16, + 0x2e, 0x7a, 0xa0, 0xc1, 0x3f, 0xdd, 0x61, 0x41, 0x3c, 0xe1, 0x69, 0x52, 0x30, 0x51, 0x9d, 0xfb, + 0x50, 0x6f, 0x6f, 0x7b, 0x00, 0x30, 0xcb, 0xe4, 0x94, 0xf5, 0xf0, 0x9b, 0xfb, 0x24, 0xf3, 0x45, + 0x7f, 0xf5, 0x96, 0x0a, 0x24, 0x28, 0x90, 0x9d, 0x05, 0x5e, 0x87, 0x12, 0xf6, 0x55, 0xc4, 0x52, + 0xe6, 0x70, 0x32, 0x47, 0xbe, 0xc1, 0xe1, 0xd4, 0x9a, 0x9b, 0xc6, 0x0f, 0xea, 0xeb, 0x2f, 0xf2, + 0xab, 0x8d, 0x8b, 0xaf, 0x6a, 0x34, 0xfa, 0xf3, 0xaf, 0x8f, 0xcb, 0x6f, 0x73, 0xe2, 0x56, 0x6f, + 0x18, 0xeb, 0x39, 0x49, 0x8e, 0x33, 0xef, 0xcf, 0xa7, 0xad, 0x10, 0xb0, 0xea, 0x5c, 0x10, 0xaf, + 0x35, 0x33, 0x16, 0x5c, 0x86, 0x48, 0x2e, 0x1f, 0x11, 0xb3, 0x28, 0x87, 0x24, 0x49, 0xec, 0xd1, + 0x94, 0x37, 0xb7, 0x2e, 0xcb, 0xba, 0xcb, 0xf2, 0x65, 0x97, 0xe9, 0x56, 0x0f, 0x32, 0xcf, 0x97, + 0x75, 0xd6, 0x5f, 0x01, 0x87, 0x0a, 0x52, 0x31, 0xd5, 0x50, 0xbf, 0x6e, 0x44, 0x7a, 0xbe, 0x00, + 0x40, 0xf3, 0x34, 0x8a, 0xd9, 0x0d, 0xd7, 0x48, 0xbf, 0xf9, 0x6a, 0x1a, 0xb5, 0x5e, 0x4a, 0x23, + 0x3a, 0x5f, 0xc9, 0x59, 0x88, 0xe6, 0xa3, 0x8d, 0x59, 0x8d, 0x4b, 0x5b, 0xfa, 0xfb, 0x77, 0xe3, + 0xd2, 0x16, 0xd0, 0xd6, 0xb8, 0x58, 0xf1, 0xf4, 0xf0, 0x89, 0x62, 0x5c, 0xe4, 0xa5, 0x65, 0x98, + 0x7e, 0xc8, 0xa1, 0x86, 0xa2, 0x21, 0x74, 0x10, 0xb0, 0x43, 0x3d, 0xf0, 0x64, 0x6b, 0xab, 0x7d, + 0xae, 0x9f, 0x1a, 0x0a, 0xb3, 0x0d, 0x2e, 0xf5, 0xdb, 0xbb, 0x08, 0x9d, 0xb1, 0x11, 0xae, 0xb0, + 0xca, 0xd7, 0xeb, 0x07, 0x5b, 0xfa, 0x9c, 0xca, 0x28, 0xf9, 0xc7, 0x10, 0x93, 0x12, 0x0a, 0x85, + 0x75, 0x5f, 0x58, 0xd2, 0x9b, 0xf2, 0x0c, 0x2e, 0x89, 0xf5, 0x80, 0x15, 0x31, 0xc5, 0xbc, 0x5c, + 0x5f, 0x47, 0xc7, 0x01, 0x7b, 0xf4, 0xbc, 0xf9, 0x2d, 0x9a, 0x46, 0x0b, 0x05, 0xcf, 0x04, 0x23, + 0xf5, 0x20, 0x40, 0x05, 0x64, 0x77, 0x12, 0xdc, 0xca, 0xe4, 0xa1, 0x16, 0x05, 0x81, 0xf2, 0x51, + 0x92, 0xf4, 0xa7, 0x80, 0xf1, 0x05, 0x57, 0x00, 0x35, 0x2b, 0x5c, 0x8a, 0x6e, 0x52, 0xdf, 0x85, + 0xc2, 0xf1, 0x78, 0xca, 0xf4, 0x67, 0xd7, 0x9b, 0xbf, 0x2c, 0xc7, 0x8a, 0x42, 0x16, 0xe0, 0x1e, + 0xc8, 0x21, 0x63, 0x64, 0xca, 0x82, 0x54, 0x8e, 0x5d, 0xda, 0xc7, 0x75, 0x52, 0x9d, 0x17, 0x4a, + 0x1f, 0x19, 0xf1, 0x94, 0x99, 0x63, 0x40, 0x33, 0x83, 0x92, 0x45, 0x2f, 0xaa, 0x75, 0x39, 0x22, + 0xb0, 0x71, 0xc4, 0xc7, 0x65, 0x11, 0x19, 0x80, 0xec, 0x31, 0xc8, 0x28, 0xe2, 0x58, 0xf3, 0xff, + 0x2d, 0xce, 0x45, 0x2c, 0xb3, 0x1c, 0x70, 0x62, 0x24, 0x8f, 0xc6, 0x8c, 0x24, 0x91, 0x8e, 0xb6, + 0xa0, 0x72, 0xaf, 0x60, 0x3a, 0x04, 0x1e, 0x50, 0x34, 0x70, 0x40, 0xc3, 0xb0, 0x2a, 0xf9, 0x50, + 0xb4, 0x8d, 0xbe, 0x20, 0x2f, 0xa4, 0x96, 0xb1, 0x4c, 0xdf, 0xbc, 0x71, 0x4d, 0x93, 0xdb, 0xf1, + 0x5d, 0x53, 0xd0, 0x43, 0x94, 0x48, 0x87, 0x5a, 0x16, 0xa0, 0x15, 0x9b, 0xd8, 0xb9, 0x66, 0x19, + 0x1e, 0x3c, 0x3e, 0xcf, 0xa9, 0x07, 0x45, 0xb1, 0x12, 0x83, 0xfd, 0x59, 0x0e, 0x0e, 0x7f, 0x00, + 0xfd, 0xe4, 0xa3, 0x4c, 0x58, 0x40, 0x06, 0x29, 0x8b, 0x14, 0x23, 0x00, 0x04, 0x10, 0xfc, 0xe6, + 0xa2, 0x7f, 0x42, 0xce, 0x07, 0xe0, 0x92, 0x5f, 0xd3, 0xa8, 0xea, 0x1a, 0x7d, 0xa3, 0xcd, 0xf3, + 0x50, 0xca, 0x30, 0xe0, 0x07, 0x4d, 0x66, 0xd9, 0xdc, 0x14, 0xb4, 0x86, 0xf7, 0x79, 0xd8, 0xa2, + 0xfe, 0x56, 0xcb, 0x9b, 0x3b, 0x9d, 0x66, 0xd5, 0xc3, 0x3b, 0x4a, 0x3f, 0x40, 0x4b, 0xff, 0x3b, + 0xcf, 0xb0, 0xef, 0x93, 0xb2, 0x48, 0x81, 0x26, 0xb8, 0x14, 0xc4, 0x0a, 0x32, 0xf1, 0x10, 0x04, + 0x8d, 0x40, 0xa7, 0x69, 0x47, 0x12, 0x8c, 0x3a, 0x04, 0x03, 0x2d, 0x43, 0x1a, 0x41, 0x0d, 0xec, + 0x76, 0xa0, 0x5c, 0x65, 0x0e, 0x41, 0xba, 0xe3, 0xd3, 0x1f, 0x8a, 0x12, 0x4b, 0xf8, 0xe1, 0x88, + 0x12, 0x98, 0x55, 0x26, 0x12, 0xbe, 0xe4, 0x52, 0xe1, 0x50, 0x91, 0xf0, 0x29, 0x89, 0x53, 0xe8, + 0x46, 0x90, 0x26, 0x12, 0xe0, 0x98, 0xd5, 0xd7, 0x26, 0x2c, 0xcd, 0x8f, 0x69, 0xd7, 0xe9, 0x00, + 0xdb, 0x34, 0x44, 0xc3, 0x26, 0x94, 0x7d, 0xa1, 0x60, 0x35, 0x4e, 0x79, 0x7c, 0x17, 0xd2, 0x33, + 0x34, 0xfb, 0xbe, 0xd3, 0xb4, 0x1f, 0xc0, 0x35, 0x50, 0xd1, 0x7d, 0x79, 0x8f, 0xb3, 0xdc, 0x74, + 0x8c, 0x9b, 0x8e, 0xa3, 0xf8, 0xee, 0x69, 0x5f, 0x6d, 0x87, 0x2a, 0x6f, 0x33, 0x0e, 0x3e, 0x0e, + 0xa3, 0x29, 0x23, 0x6f, 0x08, 0x94, 0x0a, 0x01, 0x15, 0xed, 0x49, 0x78, 0x52, 0x80, 0x5f, 0xd6, + 0xd2, 0x64, 0xd7, 0xce, 0x45, 0x00, 0x6e, 0x99, 0x03, 0x30, 0xbb, 0xb0, 0xd4, 0xee, 0x56, 0x3b, + 0x88, 0x96, 0x84, 0xdd, 0x03, 0xab, 0x91, 0x92, 0x55, 0xc9, 0x02, 0x99, 0xf6, 0xd2, 0x9c, 0x53, + 0xf7, 0x10, 0x71, 0x33, 0x9d, 0xff, 0xe9, 0x7c, 0x97, 0xe8, 0x2a, 0x16, 0x80, 0x15, 0x57, 0xc1, + 0xfa, 0xa5, 0x55, 0x66, 0xd0, 0x25, 0xae, 0x29, 0x0e, 0x84, 0x01, 0xa1, 0x1e, 0xd0, 0xa4, 0x90, + 0x1a, 0xd9, 0x8f, 0x1e, 0x78, 0x07, 0x28, 0xde, 0x31, 0x75, 0x89, 0xac, 0xd4, 0x24, 0x52, 0x55, 0xa4, 0xc5, 0xb0, 0x87, 0x8f, 0xcb, 0x02, 0x14, 0xd2, 0xf6, 0x2e, 0x35, 0x76, 0x16, 0x66, 0x72, - 0x48, 0x09, 0x3c, 0x24, 0x4f, 0xb5, 0x2d, 0xbe, 0x3c, 0x6a, 0x1a, 0xd4, 0x34, 0xbd, 0x6f, 0x5b, - 0x4d, 0x43, 0x0d, 0xe7, 0x26, 0x06, 0x46, 0x13, 0x68, 0x67, 0x08, 0x6b, 0xa4, 0xc9, 0x4e, 0x60, - 0xfe, 0x11, 0xa0, 0x0a, 0x39, 0x3a, 0xe9, 0x0d, 0x6a, 0xce, 0x56, 0xea, 0x4e, 0x77, 0x68, 0x65, - 0x49, 0x94, 0xd9, 0x35, 0x2b, 0xe8, 0x82, 0x1f, 0x40, 0xad, 0x8c, 0x8b, 0x90, 0xee, 0x18, 0x73, - 0x21, 0xdd, 0x7d, 0xf7, 0x8e, 0x92, 0x82, 0xfd, 0xb7, 0xe4, 0x30, 0xa1, 0x74, 0x49, 0x40, 0xd6, - 0xf4, 0xb4, 0x5e, 0x49, 0xcf, 0xee, 0x2b, 0xe9, 0x69, 0xff, 0x94, 0x9e, 0x15, 0x28, 0xc7, 0x30, - 0xf4, 0xce, 0xa2, 0xbb, 0x3d, 0x67, 0x05, 0x34, 0xab, 0xfb, 0xf8, 0xa7, 0x31, 0x73, 0xea, 0x7a, - 0x5e, 0x09, 0xb3, 0xe3, 0x57, 0xc2, 0xec, 0xf8, 0xe7, 0x31, 0x73, 0x2a, 0xd0, 0xe0, 0x64, 0xc3, - 0x39, 0x04, 0x29, 0x75, 0xb3, 0xf7, 0x04, 0xb7, 0xe1, 0xff, 0x80, 0x9b, 0xf3, 0xa2, 0xa3, 0x95, - 0x9e, 0xd6, 0x2b, 0xe9, 0xd9, 0x7d, 0x25, 0x3d, 0xed, 0x9f, 0xd3, 0x83, 0x00, 0x65, 0x47, 0xe7, - 0x43, 0x02, 0x0d, 0x1a, 0x6e, 0x47, 0x6a, 0x71, 0x74, 0x6d, 0xa1, 0xc1, 0x53, 0x2b, 0x24, 0x41, - 0x01, 0x7b, 0x70, 0xab, 0xa6, 0x53, 0xd9, 0x76, 0x6a, 0xe5, 0xa6, 0xaa, 0x0d, 0x9f, 0x9e, 0x54, - 0x19, 0x62, 0x5a, 0x6a, 0x8a, 0xfb, 0x7b, 0x29, 0x87, 0xde, 0x07, 0x25, 0x62, 0x8f, 0x74, 0x54, - 0x1e, 0x89, 0xa5, 0x97, 0x3c, 0x87, 0x3e, 0x70, 0xfe, 0x58, 0xd4, 0x58, 0x02, 0x9d, 0x08, 0x04, - 0x8c, 0x83, 0x55, 0xb9, 0x35, 0xad, 0x9e, 0x91, 0x83, 0x38, 0x46, 0x47, 0x07, 0x92, 0x0b, 0x6d, - 0x2a, 0xad, 0x73, 0x30, 0x20, 0x58, 0x1e, 0x9f, 0xf5, 0xfd, 0x60, 0xb0, 0xb1, 0x3e, 0x5a, 0x87, - 0x0f, 0x9e, 0x96, 0x45, 0x73, 0xdc, 0x4e, 0x78, 0x02, 0xb6, 0x06, 0x46, 0x6a, 0x8f, 0xd4, 0xb6, - 0xc7, 0x13, 0x16, 0xdf, 0x5c, 0xcb, 0xdb, 0xa5, 0x8a, 0x13, 0x5b, 0x00, 0xd1, 0x91, 0x45, 0xb1, - 0x7c, 0xea, 0x0c, 0x5e, 0x25, 0xbd, 0x97, 0xaa, 0x6b, 0xa5, 0x6c, 0x60, 0x33, 0xb5, 0x52, 0x5d, - 0x41, 0xa9, 0x86, 0x81, 0x01, 0xb2, 0xe8, 0x06, 0xf7, 0x1f, 0xfc, 0xf7, 0xed, 0xb9, 0xf7, 0x00, - 0x3d, 0x83, 0x98, 0xeb, 0x79, 0x48, 0xfb, 0xc6, 0x04, 0x58, 0x80, 0x44, 0x07, 0xe4, 0x83, 0xf9, - 0x05, 0x21, 0x02, 0x08, 0x0b, 0xb5, 0x70, 0x6b, 0x05, 0x31, 0x62, 0x5a, 0x19, 0x5e, 0x6b, 0x04, - 0x4b, 0xf7, 0xea, 0x24, 0x3a, 0xe8, 0x6d, 0x20, 0xd1, 0xed, 0x82, 0x45, 0xad, 0x05, 0x8b, 0x5a, - 0xed, 0x35, 0x12, 0x41, 0xe8, 0x18, 0xa0, 0xc2, 0xc4, 0x9a, 0xcb, 0xc1, 0x42, 0x27, 0x34, 0xf8, - 0x8e, 0xbd, 0x06, 0x10, 0x3b, 0xed, 0x02, 0x15, 0x31, 0xd5, 0x8b, 0x4c, 0xe3, 0x87, 0x68, 0x84, - 0xf3, 0xd0, 0xb5, 0x94, 0x90, 0x50, 0x2b, 0xbb, 0xbe, 0xa7, 0x45, 0xbb, 0x47, 0x5c, 0xad, 0x90, - 0x63, 0x4d, 0xcc, 0xa9, 0xe4, 0x20, 0x7b, 0x07, 0x29, 0x94, 0x4c, 0xb5, 0x49, 0x11, 0xf4, 0xaa, - 0x73, 0x36, 0x05, 0x6b, 0x2e, 0xb6, 0xd0, 0x82, 0xc1, 0x88, 0x98, 0xc1, 0x48, 0xcb, 0x12, 0x6f, - 0xb9, 0x03, 0xa7, 0x25, 0x13, 0xc2, 0x22, 0xb0, 0xe7, 0xe9, 0x8a, 0x6c, 0x05, 0x98, 0xf9, 0x94, - 0xad, 0x51, 0xb5, 0x7f, 0x9b, 0xb3, 0x82, 0xe3, 0x2f, 0x15, 0x40, 0x7a, 0x43, 0xd0, 0x23, 0x7b, - 0x35, 0xb1, 0xd8, 0xab, 0x94, 0xb1, 0xfc, 0x07, 0x8c, 0xba, 0x1a, 0xda, 0xd4, 0x75, 0x78, 0xd7, - 0xe9, 0x81, 0x5d, 0x9c, 0x94, 0xc8, 0x0c, 0x6e, 0x04, 0x4b, 0xd4, 0xa6, 0x1c, 0x72, 0xce, 0x95, - 0x2a, 0x99, 0x0a, 0x4c, 0x92, 0x8f, 0xec, 0x50, 0xc0, 0x84, 0xb1, 0xc4, 0x47, 0xd6, 0x18, 0x57, - 0x04, 0xbb, 0x3b, 0x0e, 0x27, 0xb1, 0x2c, 0x20, 0x5c, 0x9d, 0xde, 0xf9, 0x84, 0x0b, 0xfc, 0x41, - 0x45, 0x31, 0x45, 0x72, 0x39, 0x03, 0x2c, 0x70, 0x00, 0x2f, 0x33, 0x13, 0x7d, 0xd0, 0x69, 0x72, - 0x33, 0xa4, 0xd9, 0x11, 0x0f, 0xae, 0xad, 0x09, 0x35, 0x51, 0x5d, 0x41, 0xaa, 0x53, 0xa4, 0xd1, - 0x67, 0xb8, 0xc9, 0x6a, 0x66, 0x67, 0x1c, 0xde, 0xb5, 0x03, 0xbd, 0x21, 0x38, 0xc3, 0x01, 0x5f, - 0x11, 0x89, 0xe8, 0xf6, 0x87, 0x83, 0xc6, 0xf9, 0xc5, 0x95, 0xf1, 0xec, 0x77, 0x88, 0x97, 0x2c, - 0x6e, 0x67, 0xe8, 0x19, 0xfa, 0x59, 0x2a, 0xf4, 0x29, 0x22, 0x85, 0xd1, 0xf6, 0x03, 0x97, 0x10, - 0x09, 0x70, 0xcb, 0xe9, 0xdb, 0xe0, 0xac, 0x07, 0x3f, 0x80, 0xf0, 0x73, 0xdf, 0x42, 0x78, 0x12, - 0x15, 0xc9, 0x2c, 0x82, 0xba, 0xf1, 0xe9, 0xa0, 0xb7, 0xdc, 0xe2, 0x3c, 0xad, 0x03, 0x9f, 0xe1, - 0xbb, 0xdd, 0x71, 0x16, 0xc1, 0xfd, 0x75, 0xc8, 0x98, 0x58, 0xcb, 0x7a, 0x91, 0xf2, 0x04, 0xd3, - 0x2e, 0x6a, 0x09, 0x37, 0x33, 0xa2, 0x63, 0xc6, 0x5a, 0x04, 0x0c, 0x06, 0xe0, 0x0a, 0xb0, 0x3e, - 0xde, 0x62, 0xb1, 0x13, 0x5d, 0x82, 0x2d, 0x0b, 0x57, 0xed, 0x64, 0xf4, 0x2f, 0x4f, 0x9e, 0x3b, - 0x1a, 0xa8, 0xdf, 0xd9, 0xc4, 0xde, 0xbf, 0x03, 0xbd, 0x0f, 0x7b, 0x5b, 0xf6, 0xea, 0xf0, 0xe5, - 0x6d, 0x1b, 0x26, 0x57, 0xbc, 0xe3, 0x40, 0xdf, 0x03, 0x5c, 0x36, 0x6d, 0xc2, 0x8a, 0x06, 0xf9, - 0x68, 0xef, 0x36, 0x06, 0x17, 0xfd, 0x4d, 0x42, 0xef, 0x69, 0xd7, 0xc8, 0x1c, 0xb1, 0xf2, 0x76, - 0x93, 0xcc, 0xaf, 0xb4, 0xfb, 0xfb, 0xe9, 0x65, 0xe3, 0x4b, 0x7f, 0xa3, 0x7f, 0x2d, 0x38, 0xa7, - 0x17, 0x29, 0x70, 0xff, 0xb6, 0x61, 0x2d, 0x1e, 0xdb, 0x09, 0x66, 0x93, 0xfc, 0x07, 0x70, 0xed, - 0x5f, 0x25, 0x17, 0x10, 0x4e, 0xe3, 0x88, 0x8f, 0x1b, 0x17, 0xb1, 0x8e, 0x20, 0xa6, 0xcb, 0x06, - 0x80, 0xf3, 0x92, 0xb7, 0x6f, 0x69, 0x77, 0xb1, 0xcd, 0xd8, 0x59, 0x39, 0xbb, 0x6b, 0x0e, 0x01, - 0xa2, 0x43, 0x56, 0x8c, 0x7f, 0x7d, 0x8b, 0x2a, 0x57, 0x04, 0xd7, 0xe4, 0xde, 0xd1, 0xee, 0xe5, - 0x8c, 0xa7, 0x7c, 0x3c, 0xd1, 0x67, 0x50, 0x8c, 0xad, 0x56, 0xe7, 0x85, 0x22, 0x72, 0x55, 0xb7, - 0xfb, 0xb4, 0x5c, 0x5d, 0x5d, 0x42, 0xf8, 0x60, 0x73, 0xa7, 0xb5, 0xa1, 0xb0, 0x3c, 0xb2, 0x07, - 0x2f, 0x1b, 0x3f, 0xb8, 0x03, 0x3d, 0xbd, 0xce, 0x38, 0xff, 0xdf, 0x7d, 0xa6, 0x89, 0x97, 0x35, - 0xf8, 0x83, 0x17, 0x3a, 0xbc, 0xdd, 0xe1, 0xcf, 0xd0, 0x7f, 0x01, 0x1e, 0x24, 0xc0, 0x5a, 0x96, + 0x08, 0x09, 0x3c, 0x24, 0xcf, 0xb5, 0x2d, 0xbe, 0x3c, 0x69, 0x1a, 0xd4, 0x34, 0xed, 0xb5, 0xad, + 0xa6, 0xa1, 0x86, 0xbc, 0x89, 0x81, 0xd1, 0x04, 0xda, 0x19, 0xc2, 0x1a, 0x69, 0xb2, 0x13, 0x98, + 0x7f, 0x04, 0xa8, 0x42, 0x4e, 0xce, 0x7a, 0x83, 0x9a, 0xb3, 0x95, 0xba, 0xf3, 0x1d, 0x5a, 0x59, + 0x12, 0x65, 0x76, 0xcb, 0x0a, 0xba, 0xe0, 0x07, 0x50, 0x2b, 0xe3, 0x22, 0xa4, 0x3b, 0xc6, 0x5c, + 0x48, 0x77, 0xdf, 0xbd, 0xa3, 0xa4, 0x60, 0xff, 0x29, 0x39, 0x4c, 0x28, 0x5d, 0x12, 0x90, 0x35, + 0x3d, 0xad, 0x57, 0xd2, 0xb3, 0xfb, 0x4a, 0x7a, 0xda, 0xbf, 0xa4, 0x67, 0x05, 0xca, 0x31, 0x0c, + 0xbd, 0xb3, 0xe8, 0xe1, 0xc0, 0x59, 0x01, 0xcd, 0xea, 0x3e, 0xfd, 0x65, 0xcc, 0x9c, 0xba, 0x9e, + 0x57, 0xc2, 0xec, 0xf4, 0x95, 0x30, 0x3b, 0xfd, 0x75, 0xcc, 0x9c, 0x0a, 0x34, 0xc8, 0x6c, 0xc8, + 0x43, 0x90, 0x52, 0x77, 0x07, 0xcf, 0x70, 0x1b, 0xfe, 0x0f, 0xb8, 0x39, 0x3f, 0x74, 0xb4, 0xd2, + 0xd3, 0x7a, 0x25, 0x3d, 0xbb, 0xaf, 0xa4, 0xa7, 0xfd, 0x6b, 0x7a, 0x10, 0xa0, 0xec, 0xe4, 0x72, + 0x48, 0xa0, 0x41, 0xc3, 0xed, 0x48, 0x2d, 0x52, 0xd7, 0x16, 0x1a, 0xcc, 0x5a, 0x21, 0x09, 0x0a, + 0xd8, 0xc4, 0xad, 0x9a, 0x4e, 0x65, 0xdb, 0xa9, 0x95, 0x9b, 0xaa, 0x36, 0x7c, 0x7c, 0x56, 0x65, + 0x88, 0x69, 0xa9, 0x29, 0xee, 0xef, 0xa5, 0x1c, 0x7a, 0x1f, 0x94, 0x88, 0x03, 0xd2, 0x51, 0x79, + 0x24, 0x96, 0x5e, 0xf2, 0x1c, 0xfa, 0xc0, 0xe5, 0x53, 0x51, 0x63, 0x09, 0x74, 0x22, 0x10, 0x30, + 0x0e, 0x56, 0xe5, 0xd6, 0xb4, 0x7a, 0x46, 0x8e, 0xe2, 0x18, 0x1d, 0x1d, 0x48, 0x2e, 0xb4, 0xa9, + 0xb4, 0xce, 0xd1, 0x80, 0x60, 0x79, 0x7c, 0xd1, 0xf7, 0xa3, 0xc1, 0xc6, 0xfa, 0x68, 0x1d, 0x3e, + 0x7a, 0x5e, 0x16, 0x4d, 0xba, 0x9d, 0xf1, 0x04, 0x6c, 0x0d, 0x8c, 0xd4, 0x01, 0xa9, 0x6d, 0x8f, + 0x27, 0x2c, 0xbe, 0xbb, 0x95, 0xf7, 0x4b, 0x15, 0x67, 0xb6, 0x00, 0xa2, 0x23, 0x8b, 0x62, 0xf9, + 0xdc, 0x19, 0xbc, 0x4a, 0x7a, 0x3f, 0xaa, 0xae, 0x95, 0xb2, 0x81, 0x8d, 0xd4, 0x4a, 0x75, 0x05, + 0xa5, 0x1a, 0x06, 0x06, 0x88, 0xa2, 0x1b, 0x3c, 0xee, 0xfb, 0x7b, 0xed, 0xb9, 0xf7, 0x1d, 0x7a, + 0x06, 0x31, 0xd7, 0xf3, 0x90, 0xf6, 0x8d, 0x09, 0xb0, 0x00, 0x81, 0x0e, 0xc8, 0xbe, 0xf9, 0x05, + 0x21, 0x02, 0x08, 0x0b, 0xb5, 0x70, 0x6b, 0x05, 0x31, 0x62, 0x5a, 0x19, 0x5e, 0x6b, 0x04, 0x4b, + 0x0f, 0xea, 0x24, 0x3a, 0xea, 0x6d, 0x20, 0xd1, 0xfd, 0x82, 0x45, 0xad, 0x05, 0x8b, 0x5a, 0xed, + 0x35, 0x12, 0xc1, 0xd1, 0xf1, 0x80, 0x0a, 0x03, 0x6b, 0x2e, 0x07, 0x0b, 0x9d, 0xd0, 0xe0, 0x3b, + 0xf6, 0x1a, 0x40, 0xec, 0xb4, 0x0b, 0x54, 0xc4, 0x50, 0x2f, 0x22, 0x8d, 0x1f, 0xa2, 0x11, 0xce, + 0x43, 0xb7, 0x52, 0x42, 0x40, 0xad, 0xec, 0xfa, 0x9e, 0x16, 0xed, 0x9e, 0x70, 0xb5, 0x42, 0x8e, + 0x35, 0x31, 0xa7, 0x92, 0x83, 0xe8, 0x1d, 0xa5, 0x50, 0x32, 0xd5, 0x26, 0x45, 0xd0, 0xab, 0x2e, + 0xd9, 0x14, 0xac, 0xb9, 0xd8, 0x42, 0x0b, 0x06, 0x23, 0x62, 0x06, 0x23, 0x2d, 0x4b, 0xbc, 0xe5, + 0x0e, 0x9c, 0x96, 0xcc, 0x11, 0x16, 0x07, 0x7b, 0x99, 0xae, 0xc8, 0x56, 0x80, 0x99, 0x4f, 0xd9, + 0x1a, 0x55, 0xfb, 0xf7, 0x39, 0x2b, 0x38, 0xfe, 0x52, 0x01, 0xa4, 0x37, 0x04, 0xfd, 0x20, 0x8b, + 0x98, 0x91, 0xfd, 0x9d, 0xdd, 0xa0, 0xd5, 0x1a, 0x93, 0x0c, 0x46, 0x41, 0xe2, 0xf6, 0x87, 0x83, + 0xfd, 0xdd, 0xbd, 0x3d, 0x1c, 0xae, 0x1e, 0xbc, 0x9f, 0x10, 0xec, 0xc3, 0x69, 0x15, 0xc9, 0x13, + 0x7b, 0xc7, 0xb1, 0x41, 0x54, 0x29, 0x63, 0xf9, 0x4f, 0x76, 0xde, 0x0c, 0xed, 0xce, 0x0e, 0xef, + 0x3a, 0x3d, 0x38, 0x00, 0x8e, 0x5c, 0x64, 0x06, 0x57, 0x8b, 0x25, 0xfc, 0x53, 0x0e, 0xe4, 0xe1, + 0x4a, 0x95, 0x4c, 0x05, 0xd6, 0x86, 0x9d, 0x2e, 0x98, 0x30, 0x96, 0xf8, 0xc8, 0x1a, 0xe3, 0x8a, + 0xe0, 0x98, 0x80, 0x53, 0x4e, 0x2c, 0x0b, 0xc0, 0x4d, 0xa7, 0x0f, 0x3e, 0xe1, 0x02, 0x7f, 0x99, + 0x51, 0x4c, 0x91, 0x5c, 0xce, 0x00, 0x54, 0x9c, 0xe4, 0xcb, 0xcc, 0xc0, 0x18, 0x74, 0x9a, 0xdc, + 0x4c, 0x7b, 0x76, 0x56, 0x84, 0xfb, 0x6f, 0x42, 0x0d, 0x3c, 0x37, 0xc0, 0x99, 0x14, 0xf9, 0xf8, + 0x09, 0xae, 0xc4, 0x9a, 0xd9, 0x61, 0x89, 0x77, 0xed, 0xcd, 0xc0, 0x64, 0x0a, 0xc3, 0x9b, 0x82, + 0x22, 0x12, 0xc3, 0x04, 0x30, 0x35, 0x2e, 0xaf, 0x6e, 0x8c, 0x67, 0xbf, 0xc3, 0x79, 0xc9, 0xe2, + 0x9a, 0x87, 0x9e, 0xa1, 0x9f, 0xa5, 0x42, 0x9f, 0x22, 0x52, 0x18, 0x6d, 0x3f, 0x71, 0x09, 0x91, + 0x00, 0xb7, 0x9c, 0xbe, 0x3d, 0x9c, 0xf5, 0xe0, 0x27, 0x10, 0x7e, 0xea, 0x5b, 0x08, 0xcf, 0xa2, + 0x22, 0x99, 0x45, 0x50, 0x80, 0x3e, 0x1e, 0xf5, 0x96, 0x5b, 0x9c, 0xe7, 0x05, 0xe5, 0x13, 0x7c, + 0xb7, 0x3b, 0x2e, 0x22, 0xb8, 0x08, 0x0f, 0x19, 0x13, 0x6b, 0xf4, 0x29, 0x52, 0x9e, 0x20, 0x7f, + 0x44, 0x8d, 0x39, 0x66, 0xd8, 0x74, 0xcc, 0x7c, 0x8c, 0x80, 0xc1, 0x24, 0x5d, 0x01, 0xd6, 0xc7, + 0xeb, 0x30, 0xb6, 0xb4, 0x6b, 0xb0, 0x65, 0xe1, 0xaa, 0xa5, 0x58, 0xff, 0xfa, 0xec, 0xa5, 0x1c, + 0x43, 0xfd, 0xce, 0xa6, 0x34, 0xf8, 0x1b, 0xe4, 0xc9, 0x71, 0x6f, 0xcb, 0xde, 0x41, 0x3e, 0xbf, + 0x6d, 0xc3, 0x08, 0x8c, 0x97, 0x25, 0x68, 0xa0, 0x80, 0xcb, 0xa6, 0x4d, 0x58, 0x1a, 0x21, 0x1e, + 0xed, 0xdd, 0xc6, 0xe0, 0xaa, 0xbf, 0x49, 0x68, 0x8f, 0x76, 0x8d, 0xcc, 0x09, 0x2b, 0xef, 0x37, + 0xc9, 0xfc, 0x46, 0xbb, 0xbf, 0x9f, 0x5f, 0x37, 0x3e, 0xf7, 0x37, 0xfa, 0xd7, 0x82, 0x84, 0xbf, + 0x4a, 0x21, 0x89, 0xee, 0x1b, 0xd6, 0xe2, 0xa9, 0x1d, 0x85, 0x36, 0xc9, 0xef, 0x83, 0x6b, 0xff, + 0x2c, 0xb9, 0x80, 0xe3, 0x34, 0x4e, 0xf8, 0xb8, 0x71, 0x15, 0xeb, 0x08, 0xce, 0x74, 0xdd, 0x00, + 0x70, 0x7e, 0xe4, 0xed, 0x5b, 0xda, 0x5d, 0x6c, 0x33, 0x76, 0x56, 0x8a, 0xc0, 0x9a, 0x43, 0x80, + 0xe8, 0x90, 0x15, 0xe3, 0xdf, 0xde, 0xa2, 0xca, 0x15, 0xc1, 0x35, 0xb9, 0x77, 0xb4, 0x7b, 0x3d, + 0xe3, 0x29, 0x1f, 0x4f, 0xf4, 0x05, 0x54, 0x75, 0xab, 0xd5, 0xf9, 0x41, 0x35, 0xba, 0xa9, 0xdb, + 0x7d, 0x5e, 0xf7, 0x6e, 0xae, 0xe1, 0xf8, 0x60, 0x73, 0xa7, 0xb5, 0xa1, 0x42, 0x3d, 0xb1, 0x07, + 0x6f, 0x2d, 0x3f, 0xb9, 0x4c, 0x3d, 0xbf, 0x17, 0x39, 0xff, 0xdf, 0xc5, 0xa8, 0x89, 0xb7, 0x3e, + 0xf8, 0x83, 0x37, 0x43, 0xbc, 0x26, 0xe2, 0xef, 0xd9, 0xff, 0x05, 0x7b, 0x97, 0xa6, 0xa3, 0xdf, 0x16, 0x00, 0x00 }; // Autogenerated from wled00/data/settings_leds.htm, do not edit!! -const uint16_t PAGE_settings_leds_length = 8034; +const uint16_t PAGE_settings_leds_length = 8036; const uint8_t PAGE_settings_leds[] PROGMEM = { 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0xdd, 0x3c, 0x6b, 0x77, 0xe2, 0xc6, 0x92, 0xdf, 0xf9, 0x15, 0x6d, 0x25, 0x71, 0xa4, 0x20, 0x83, 0xc4, 0xc3, 0xc1, 0x80, 0xf0, 0x1a, @@ -515,296 +520,296 @@ const uint8_t PAGE_settings_leds[] PROGMEM = { 0x59, 0x30, 0xa4, 0xdf, 0x2e, 0xe4, 0x28, 0x00, 0x76, 0x48, 0x23, 0x78, 0xc3, 0xc9, 0xc2, 0x8d, 0xfe, 0x71, 0xe8, 0xaf, 0xd9, 0xb2, 0x45, 0x9a, 0xdc, 0x6a, 0x49, 0x24, 0x0e, 0xab, 0x47, 0x4c, 0x1d, 0x1e, 0x87, 0x4d, 0x0e, 0x32, 0xda, 0x02, 0x6d, 0x6b, 0xd2, 0x68, 0xfa, 0xf7, 0xe3, 0x9e, - 0xde, 0x22, 0x93, 0x8f, 0xe3, 0x4f, 0x95, 0x60, 0xba, 0x34, 0xba, 0xbd, 0xd2, 0x7b, 0x7a, 0xa7, - 0x0a, 0xa2, 0xd5, 0x91, 0x20, 0xd5, 0xd5, 0xee, 0x7e, 0xf9, 0xcf, 0x4a, 0x88, 0x2e, 0xc7, 0xd1, - 0x3a, 0xa9, 0x84, 0x38, 0x96, 0x46, 0xbf, 0x9d, 0x4f, 0x7b, 0x27, 0x5a, 0xbb, 0x12, 0xe4, 0x24, - 0x06, 0xe9, 0xec, 0x24, 0xb8, 0x0b, 0xeb, 0xc2, 0x95, 0x6b, 0x7a, 0x25, 0x04, 0x2c, 0xe9, 0xec, - 0xe6, 0x4c, 0xd7, 0x5a, 0x95, 0x10, 0x2d, 0x69, 0x74, 0x79, 0xf3, 0xae, 0xd7, 0xd3, 0x8e, 0x2b, - 0x41, 0x3a, 0x0c, 0xe4, 0xb8, 0x57, 0x4d, 0x71, 0xb7, 0x2d, 0x8d, 0x6e, 0x4e, 0x7a, 0x7a, 0x25, - 0x80, 0x7e, 0xc2, 0x49, 0xd5, 0x75, 0xf2, 0x69, 0xe9, 0x44, 0xb4, 0x0a, 0xae, 0x03, 0x4b, 0xba, - 0xf6, 0x9a, 0xd7, 0xf3, 0x79, 0x25, 0x04, 0x2c, 0xe9, 0xe6, 0xd3, 0xd5, 0x1e, 0x34, 0x2d, 0x0e, - 0x74, 0x7e, 0x7e, 0x5b, 0x09, 0xd2, 0xe6, 0x20, 0xc0, 0xe0, 0x4a, 0x90, 0x4e, 0x02, 0x52, 0xb9, - 0x07, 0x9d, 0x6e, 0x02, 0x53, 0xcf, 0xce, 0xf6, 0xe7, 0x63, 0xdb, 0x3a, 0x38, 0x3a, 0xda, 0x02, - 0x3e, 0x4e, 0x81, 0xdf, 0x65, 0xa0, 0x8f, 0x8e, 0x00, 0x9c, 0xfe, 0xf8, 0x0a, 0xca, 0x91, 0x1f, - 0xd0, 0x03, 0x76, 0xbc, 0x7b, 0x77, 0x83, 0x03, 0x88, 0xec, 0xd1, 0xe8, 0xc1, 0x0f, 0xee, 0x94, - 0x74, 0x0e, 0xaf, 0x74, 0x96, 0x1e, 0x70, 0xe8, 0xbd, 0xde, 0x68, 0xeb, 0xe5, 0xc3, 0xf8, 0x64, - 0xc5, 0xa9, 0x80, 0x65, 0x67, 0x41, 0x74, 0xf4, 0x2b, 0x8d, 0x2a, 0xa7, 0xdb, 0x1e, 0xd2, 0x4b, - 0xa8, 0xfb, 0xf4, 0x16, 0x78, 0x5d, 0x03, 0xca, 0x7e, 0xd9, 0xcc, 0x7e, 0xee, 0x82, 0xf3, 0x08, - 0x9c, 0x47, 0xd2, 0x6e, 0x3d, 0xb6, 0x5b, 0xbb, 0xe0, 0x5b, 0x79, 0xf8, 0xe3, 0xce, 0x1e, 0xf8, - 0x76, 0x01, 0xfe, 0xb8, 0x93, 0x85, 0x6f, 0x72, 0x8b, 0x31, 0x42, 0xef, 0x04, 0x5f, 0xd1, 0x6e, - 0x39, 0xb6, 0x21, 0x59, 0x3e, 0x37, 0x42, 0xcc, 0xdd, 0x18, 0x92, 0xf0, 0x37, 0x7d, 0x11, 0xfd, - 0x8c, 0xce, 0x31, 0xbc, 0x21, 0xd7, 0x81, 0x4d, 0x83, 0x82, 0xfd, 0x3a, 0xbf, 0x66, 0x43, 0x8b, - 0xc4, 0xc0, 0xce, 0x7d, 0x9c, 0x8c, 0x77, 0x10, 0x2b, 0x8d, 0xb2, 0xa2, 0x57, 0x78, 0x0f, 0x4b, - 0x1f, 0x4f, 0x3e, 0x56, 0xbf, 0x87, 0xa5, 0x4e, 0xc6, 0x3b, 0xde, 0x83, 0xec, 0x8e, 0x3f, 0x4e, - 0xaa, 0xdf, 0x83, 0xdc, 0x7e, 0x1c, 0x4f, 0x4a, 0x99, 0xd3, 0x04, 0xbe, 0x64, 0xd9, 0x63, 0x3b, - 0x0b, 0x5c, 0xe4, 0x43, 0x81, 0x41, 0xcc, 0xf7, 0x8e, 0xa6, 0x0f, 0xe6, 0xba, 0x4f, 0xf2, 0x6c, - 0xf9, 0x24, 0xd8, 0x52, 0x64, 0xca, 0xaf, 0x30, 0xa6, 0xd2, 0x4a, 0x80, 0x91, 0x20, 0x87, 0xa4, - 0x52, 0x21, 0x5b, 0xfc, 0xfd, 0xc7, 0x4a, 0x0b, 0xce, 0xdf, 0xa7, 0xab, 0xda, 0xbb, 0x26, 0xb7, - 0x62, 0x4d, 0xe7, 0x78, 0x1c, 0xb1, 0xbd, 0xa8, 0xe9, 0x4d, 0xd5, 0xa2, 0xa6, 0xae, 0xff, 0x40, - 0xc3, 0x68, 0xc7, 0xba, 0x10, 0x62, 0xc7, 0xb2, 0x7e, 0xf5, 0x83, 0x95, 0xe9, 0xee, 0x58, 0xd7, - 0x07, 0xb3, 0x1a, 0x7d, 0x87, 0xbf, 0xce, 0x11, 0x50, 0xb6, 0x70, 0xfc, 0x13, 0xae, 0x4d, 0x8f, - 0x31, 0x60, 0x1d, 0xda, 0x7c, 0x35, 0xbc, 0xb2, 0x05, 0x03, 0xe0, 0xcd, 0x88, 0x0c, 0x79, 0x3f, - 0x06, 0xf6, 0xab, 0x19, 0x92, 0xb7, 0x59, 0xcd, 0x68, 0x20, 0xc5, 0xae, 0x7a, 0xca, 0xb5, 0x04, - 0x47, 0xbb, 0x21, 0xff, 0x2c, 0x7c, 0xbc, 0x4b, 0x78, 0x8a, 0x28, 0x11, 0xcc, 0x31, 0x81, 0x23, - 0x18, 0xb2, 0xa3, 0x25, 0x3a, 0xd1, 0xa5, 0x98, 0xca, 0xef, 0x9f, 0xe3, 0xd8, 0xcc, 0x51, 0x98, - 0xc3, 0x67, 0x33, 0x41, 0x7c, 0x90, 0x49, 0x2e, 0x11, 0xe9, 0x67, 0x03, 0xdd, 0xff, 0x00, 0x4f, - 0x29, 0x07, 0x12, 0x89, 0x4b, 0xe4, 0xa4, 0x39, 0x3a, 0xf4, 0x66, 0xe1, 0x7a, 0x50, 0xdc, 0x43, - 0xab, 0x52, 0x71, 0x2f, 0x59, 0x9c, 0xd3, 0xdf, 0xb9, 0xa8, 0xf3, 0xfc, 0x42, 0xc4, 0x0a, 0x74, - 0xb1, 0x02, 0x96, 0x45, 0xdc, 0x8c, 0x5f, 0xa5, 0x74, 0x2b, 0x53, 0x92, 0x92, 0x25, 0x20, 0xad, - 0x12, 0x50, 0xc8, 0x99, 0x2d, 0x8c, 0x4b, 0xb3, 0xc0, 0x71, 0x4d, 0x70, 0x9c, 0x1d, 0xc0, 0xbc, - 0x85, 0xe1, 0x1a, 0xa7, 0x2d, 0x99, 0x30, 0x8e, 0xa8, 0xb6, 0xc2, 0x25, 0x45, 0x6a, 0xe6, 0x27, - 0xd2, 0xc5, 0x44, 0x62, 0x8e, 0x5d, 0x53, 0xe8, 0xb9, 0xe5, 0xef, 0xc5, 0xdc, 0x7a, 0x3b, 0xe6, - 0xd6, 0xb7, 0x61, 0x6e, 0xbf, 0x1d, 0x73, 0xfb, 0xdb, 0x30, 0x77, 0xde, 0x8e, 0xb9, 0xf3, 0x16, - 0xcc, 0x5b, 0xe2, 0x17, 0x54, 0x8a, 0x1f, 0x0a, 0x42, 0x4a, 0x07, 0xe4, 0x57, 0x9c, 0x8e, 0xb8, - 0x22, 0x2d, 0xe8, 0xd9, 0x12, 0x4f, 0x56, 0x12, 0x9e, 0xf9, 0x8f, 0x31, 0x4d, 0xe7, 0xbf, 0xc7, - 0xd4, 0x97, 0x5b, 0xb0, 0x70, 0xe7, 0xf4, 0xd3, 0x3b, 0x67, 0x4d, 0xe6, 0x4e, 0x00, 0x59, 0x1c, - 0xe6, 0x0a, 0x3b, 0x55, 0x61, 0x7a, 0xc9, 0x57, 0x9f, 0x53, 0x61, 0xc8, 0x5f, 0xa5, 0xd4, 0xd0, - 0x6d, 0x89, 0x7c, 0x25, 0x51, 0xf3, 0x9d, 0x44, 0x41, 0x74, 0x47, 0x26, 0x74, 0x1e, 0xd0, 0x30, - 0xd5, 0x4d, 0xc6, 0xa1, 0x39, 0x27, 0xa0, 0x9c, 0x11, 0x93, 0x0f, 0xbb, 0x19, 0x61, 0xee, 0x9c, - 0xf3, 0x6c, 0x13, 0xf9, 0x47, 0x96, 0xe9, 0x5a, 0x1b, 0xd7, 0x8c, 0x28, 0x79, 0xc0, 0xe8, 0x11, - 0x1b, 0xce, 0x21, 0xfb, 0x74, 0xc9, 0x3c, 0xf0, 0x57, 0x18, 0xc5, 0xf4, 0xf9, 0x8e, 0x65, 0x6d, - 0xfe, 0xd9, 0xa7, 0x32, 0x9b, 0xaf, 0xed, 0x72, 0x63, 0xfa, 0x68, 0x1c, 0x38, 0x8b, 0x65, 0x44, - 0x83, 0x0a, 0x80, 0xd6, 0xe8, 0xcc, 0xb2, 0xb0, 0x23, 0xb6, 0x0a, 0x43, 0x7b, 0xf4, 0x6e, 0x53, - 0xe9, 0x0d, 0x3a, 0xa3, 0x2b, 0xf3, 0xb1, 0x68, 0xe8, 0xb9, 0x75, 0x4c, 0x98, 0xc3, 0xfe, 0x7e, - 0x19, 0x98, 0x90, 0x5f, 0x87, 0x34, 0x88, 0xce, 0xec, 0xaf, 0xa6, 0x05, 0x19, 0x21, 0x26, 0xda, - 0xb2, 0x34, 0xa3, 0x90, 0xdb, 0x53, 0xea, 0xd9, 0x92, 0xea, 0x2b, 0xaf, 0x22, 0xdb, 0x93, 0xa3, - 0x3f, 0x8e, 0x8e, 0x9c, 0xcf, 0x8d, 0x80, 0xae, 0xfc, 0x7b, 0x8a, 0x1d, 0xc3, 0x47, 0x8e, 0x28, - 0xea, 0xd5, 0x0b, 0xa9, 0xb8, 0x33, 0x4c, 0xd2, 0xc5, 0x23, 0xbd, 0xbc, 0x4e, 0x74, 0x54, 0x1c, - 0x34, 0x2a, 0x96, 0x94, 0xbc, 0x97, 0x17, 0xd6, 0x8f, 0x92, 0x4b, 0x6b, 0xcf, 0xaf, 0xaf, 0x64, - 0x60, 0x32, 0xe4, 0xb5, 0xd8, 0x78, 0x21, 0x52, 0x5b, 0x67, 0x47, 0x6a, 0x6b, 0xf9, 0xab, 0xbf, - 0xe0, 0x61, 0xf0, 0x04, 0x73, 0x66, 0x93, 0x5b, 0x07, 0x4f, 0x94, 0x92, 0x14, 0x36, 0x97, 0xa8, - 0xa6, 0x43, 0x76, 0xa5, 0xab, 0x84, 0x7b, 0xc7, 0x5d, 0x6a, 0xf3, 0x8f, 0x8c, 0x5b, 0x7c, 0x7c, - 0x93, 0x5b, 0x3c, 0xee, 0x76, 0xdb, 0xdd, 0x8c, 0x5f, 0xa4, 0xaf, 0x5b, 0x8a, 0x95, 0xf1, 0x7b, - 0x86, 0x24, 0x25, 0x8e, 0xef, 0x0d, 0xee, 0xec, 0x1f, 0xe7, 0x19, 0x62, 0xac, 0x9d, 0xae, 0x6d, - 0x9b, 0x0a, 0xef, 0x35, 0x37, 0xeb, 0xb6, 0xaa, 0x0b, 0x85, 0xfb, 0xa6, 0x10, 0x99, 0x51, 0x21, - 0x62, 0x6b, 0x41, 0xdf, 0xff, 0xbf, 0x70, 0x39, 0x56, 0x36, 0x66, 0x3b, 0x84, 0xda, 0x89, 0x83, - 0x6f, 0x2e, 0x61, 0x0e, 0x0d, 0x59, 0x9d, 0x6b, 0xa7, 0x1e, 0x9a, 0x42, 0xd5, 0x1e, 0x7d, 0xa9, - 0xee, 0xc4, 0x45, 0xf5, 0x48, 0x9d, 0x45, 0x1e, 0x2a, 0x03, 0xc8, 0xa2, 0xe8, 0xdb, 0x4a, 0xf5, - 0x04, 0xf4, 0x14, 0x5f, 0x55, 0x74, 0x7f, 0x97, 0x2b, 0x07, 0x68, 0x54, 0xd2, 0x37, 0xab, 0x1d, - 0x18, 0x78, 0x6e, 0x2b, 0xd3, 0x3f, 0xbc, 0x23, 0x3d, 0xa3, 0xf6, 0x62, 0x4a, 0x78, 0xc8, 0xa7, - 0x54, 0xb2, 0x53, 0x86, 0x34, 0x62, 0xca, 0xa9, 0x3c, 0xa3, 0xc5, 0xd8, 0xba, 0x65, 0x42, 0xf9, - 0x51, 0x13, 0xf6, 0x4c, 0x51, 0x2c, 0xdb, 0xbe, 0x89, 0x24, 0x85, 0x26, 0x53, 0x0f, 0xc4, 0xd4, - 0xb9, 0x1e, 0x79, 0xfe, 0x88, 0x8a, 0xab, 0x1f, 0x38, 0x10, 0x0c, 0x44, 0xb1, 0x0d, 0x72, 0x98, - 0xa7, 0xa5, 0xdc, 0x24, 0xe1, 0x68, 0x98, 0xac, 0x38, 0xba, 0x68, 0x98, 0x72, 0xf6, 0x68, 0x1c, - 0x79, 0xbc, 0x49, 0x3f, 0xb6, 0x44, 0x0c, 0x1b, 0x90, 0x16, 0x66, 0x0b, 0x98, 0xaa, 0x69, 0xe0, - 0x69, 0x4c, 0x7d, 0xca, 0x8e, 0xad, 0x1a, 0xe8, 0x54, 0xce, 0x97, 0x66, 0x70, 0xee, 0xdb, 0x54, - 0xc6, 0x4a, 0xa4, 0x76, 0xda, 0xe9, 0xf5, 0xbb, 0x5d, 0xa5, 0x0e, 0x7c, 0x72, 0xea, 0xc6, 0x97, - 0xf1, 0x26, 0x8a, 0x7c, 0xd6, 0x89, 0xfb, 0xca, 0x7b, 0x72, 0x76, 0x29, 0xf6, 0xf7, 0xcf, 0xe6, - 0x6b, 0x21, 0x1c, 0x89, 0x55, 0xfb, 0x31, 0xcc, 0xeb, 0xf1, 0xe8, 0x8b, 0x8a, 0x13, 0x08, 0x97, - 0x90, 0xf3, 0x67, 0xdf, 0x3f, 0x4b, 0xe3, 0xf7, 0x6f, 0xa2, 0x31, 0x41, 0x53, 0xd0, 0x54, 0x20, - 0x59, 0x33, 0xf0, 0xc4, 0x3b, 0xae, 0xbf, 0x61, 0x33, 0xd1, 0xeb, 0xe8, 0x9d, 0x38, 0xf3, 0x49, - 0x94, 0xa4, 0x74, 0x78, 0x0b, 0x87, 0xb7, 0x4a, 0x86, 0xdf, 0x6c, 0xc2, 0xe5, 0x8c, 0xb1, 0x64, - 0x37, 0x82, 0x36, 0x22, 0x68, 0x57, 0x20, 0x20, 0x8e, 0x68, 0x00, 0xd8, 0x8d, 0xa3, 0x83, 0x38, - 0x3a, 0x25, 0x38, 0xa6, 0xac, 0x47, 0x75, 0xf7, 0xe0, 0x2e, 0x0e, 0xee, 0x96, 0x11, 0x70, 0x31, - 0x21, 0x21, 0xf5, 0x42, 0x3f, 0xd8, 0x8d, 0xe0, 0x18, 0x11, 0x1c, 0x97, 0x20, 0xb8, 0xf5, 0x37, - 0xfb, 0x26, 0xff, 0x19, 0xc7, 0xfe, 0x5c, 0x32, 0xf6, 0xcc, 0x33, 0x5d, 0x7f, 0xb1, 0x7b, 0x70, - 0x0f, 0x07, 0xf7, 0x2a, 0x07, 0x57, 0x30, 0x4f, 0x4a, 0x4c, 0x9d, 0xc4, 0x91, 0xb2, 0x90, 0x56, - 0x38, 0x02, 0x88, 0x63, 0x60, 0xbd, 0x7d, 0xb2, 0xf6, 0x1d, 0x0f, 0x22, 0x9e, 0x01, 0x93, 0x51, - 0xd6, 0x46, 0x24, 0xe1, 0xed, 0xab, 0x1f, 0x51, 0x6e, 0x7f, 0x54, 0x62, 0x1f, 0x76, 0xf8, 0xdd, - 0x63, 0xeb, 0x67, 0xbd, 0x3b, 0x88, 0x43, 0x71, 0x30, 0x99, 0xe2, 0x94, 0x6a, 0x5b, 0x99, 0x0c, - 0x27, 0xd3, 0x5b, 0xbe, 0x70, 0xa7, 0x0e, 0x9a, 0x00, 0x39, 0x77, 0xeb, 0x8d, 0x2a, 0x2f, 0x2f, - 0x72, 0xfe, 0xde, 0xdb, 0x76, 0x73, 0x6b, 0x72, 0x0f, 0xea, 0x19, 0x0d, 0x13, 0x37, 0x94, 0x07, - 0x3a, 0xc6, 0x15, 0x03, 0x70, 0x67, 0xbb, 0x2b, 0xe5, 0xb1, 0x9d, 0xf4, 0xb0, 0xa5, 0xa2, 0x78, - 0x62, 0xc9, 0x0c, 0xa4, 0xf2, 0x0d, 0xc7, 0x04, 0x5e, 0xbe, 0xda, 0x7f, 0x50, 0x72, 0x0a, 0xea, - 0xc5, 0xf8, 0xd0, 0x2c, 0x63, 0x53, 0x74, 0x36, 0x37, 0xf6, 0x3e, 0x63, 0x95, 0x5f, 0x1c, 0x63, - 0x86, 0x9a, 0x04, 0x40, 0x5a, 0x11, 0x09, 0x1e, 0x4b, 0x56, 0xe3, 0xd0, 0x18, 0x0e, 0xce, 0xf1, - 0xd0, 0xc9, 0x74, 0x4d, 0x53, 0x35, 0x66, 0x72, 0xca, 0xbc, 0xcd, 0x1a, 0xaf, 0x77, 0x7d, 0x70, - 0x5c, 0xbc, 0x2d, 0x27, 0x9a, 0xee, 0x3d, 0xfa, 0x40, 0xfe, 0x71, 0x75, 0xf9, 0x4b, 0x14, 0xad, - 0x27, 0x10, 0x2b, 0xd0, 0x30, 0x1a, 0x78, 0xd5, 0x37, 0xd2, 0x32, 0xf7, 0xa4, 0xd2, 0x5b, 0x5c, - 0xd1, 0xd2, 0x09, 0xc1, 0xe4, 0x87, 0x6b, 0x1f, 0x3c, 0xe2, 0x2d, 0x7d, 0x8c, 0x54, 0xf6, 0x04, - 0xc8, 0x8c, 0x36, 0xac, 0xf7, 0x06, 0x16, 0xa9, 0x80, 0xa7, 0xaa, 0xbe, 0x8f, 0x96, 0xe2, 0xa5, - 0x59, 0xc4, 0x78, 0x77, 0xc0, 0xb4, 0xee, 0xd4, 0x83, 0x18, 0x01, 0xbf, 0x85, 0x78, 0x73, 0x0d, - 0xbb, 0xa9, 0x4a, 0x4d, 0xbe, 0x1c, 0x71, 0x04, 0x16, 0xb1, 0x95, 0x7c, 0xf0, 0x83, 0x15, 0xb6, - 0x55, 0x26, 0x3d, 0xcc, 0xe2, 0xb6, 0x9d, 0x2c, 0xe1, 0xcd, 0x05, 0xd1, 0x4a, 0xcf, 0x2e, 0x31, - 0xe0, 0x05, 0xb7, 0x10, 0xd8, 0x87, 0x77, 0xdc, 0xbc, 0x46, 0x88, 0x30, 0x91, 0xa2, 0x96, 0x5c, - 0x72, 0x38, 0xd8, 0xba, 0x4b, 0x78, 0x3e, 0x5f, 0x24, 0xdc, 0x53, 0xa3, 0x81, 0x14, 0xbf, 0x94, - 0x40, 0x0b, 0xc1, 0xcc, 0x83, 0x97, 0x14, 0x57, 0x26, 0x91, 0xcf, 0x13, 0x6a, 0x42, 0x00, 0x75, - 0x0a, 0x2b, 0x61, 0xf3, 0x9d, 0xd2, 0x64, 0xde, 0x53, 0x19, 0x3d, 0x77, 0x42, 0x85, 0x2c, 0xe8, - 0x4f, 0xc6, 0x60, 0xf7, 0x1e, 0x4e, 0x67, 0x64, 0x59, 0xc3, 0x9b, 0x97, 0x69, 0x03, 0x04, 0x00, - 0x84, 0x12, 0x79, 0xbe, 0x71, 0x23, 0xb1, 0x7c, 0x76, 0x2b, 0x87, 0x09, 0x8f, 0xec, 0xb1, 0x13, - 0x9d, 0xa8, 0xb1, 0x7c, 0x60, 0x67, 0x66, 0xf8, 0x01, 0x64, 0xdf, 0x4e, 0x75, 0x86, 0xf7, 0x18, - 0xe9, 0x1a, 0xeb, 0x2e, 0x8a, 0x4f, 0x9d, 0x40, 0x9a, 0x07, 0x31, 0x28, 0x06, 0x37, 0x0d, 0x80, - 0x7e, 0x6f, 0x5a, 0x4b, 0x59, 0x78, 0x4a, 0x63, 0xf4, 0x1c, 0x83, 0xea, 0x3c, 0x2e, 0x48, 0x51, - 0xd1, 0xc6, 0xda, 0xf1, 0xb2, 0x2d, 0x4b, 0x65, 0x5a, 0xf3, 0x85, 0xa5, 0xa3, 0xe8, 0xcf, 0xbe, - 0x64, 0x9a, 0xf2, 0xd8, 0xd0, 0x3f, 0x9c, 0xcf, 0x83, 0xca, 0x63, 0x35, 0x2f, 0x07, 0x8d, 0x4c, - 0x56, 0x2b, 0x8f, 0xfb, 0xf2, 0xb0, 0x4c, 0x53, 0xd4, 0xb7, 0x74, 0xbd, 0xf3, 0x28, 0xaa, 0x1c, - 0xf4, 0xfc, 0x7a, 0x1b, 0xd4, 0xc7, 0xb0, 0x58, 0x7d, 0x4b, 0x53, 0x3c, 0x12, 0x01, 0x19, 0x7b, - 0x39, 0xec, 0xe4, 0x43, 0x0c, 0x9b, 0x68, 0x2d, 0xec, 0xe9, 0xbc, 0x82, 0x8a, 0xdf, 0xcb, 0x80, - 0xef, 0x5f, 0x95, 0xd7, 0x78, 0x8b, 0x21, 0x18, 0x02, 0x13, 0x91, 0x84, 0x74, 0x78, 0x05, 0x92, - 0x3f, 0x4d, 0x76, 0x92, 0xf2, 0x3d, 0x64, 0xf1, 0x97, 0x60, 0x0e, 0x5f, 0xb7, 0x58, 0x12, 0x53, - 0x33, 0x36, 0x0a, 0xac, 0x77, 0x9c, 0x64, 0xc5, 0xdf, 0x07, 0x67, 0x41, 0x60, 0x3e, 0x35, 0x9c, - 0x90, 0xfd, 0x95, 0x59, 0x22, 0xaa, 0xc4, 0x6d, 0xad, 0x05, 0x6b, 0x2f, 0xe1, 0x05, 0x9c, 0x6a, - 0x31, 0xc2, 0x00, 0x0c, 0xa7, 0xc5, 0xbd, 0x47, 0x25, 0x64, 0xdb, 0x8a, 0x37, 0x2a, 0x4b, 0xd7, - 0x7e, 0x7b, 0x2b, 0x65, 0x58, 0x6a, 0x36, 0xa2, 0xe8, 0x95, 0x51, 0xe5, 0x04, 0x55, 0xad, 0xb1, - 0x17, 0x93, 0xec, 0x08, 0x01, 0x8c, 0xb3, 0x95, 0x4f, 0x70, 0x71, 0x5b, 0x06, 0xce, 0x68, 0xe2, - 0xfc, 0x08, 0x28, 0x84, 0x95, 0x55, 0x93, 0x4d, 0x2e, 0x0b, 0xa3, 0x19, 0x7c, 0xf5, 0x7c, 0x93, - 0x2b, 0x29, 0xb7, 0x95, 0x99, 0x31, 0xe0, 0xb2, 0xe3, 0xcc, 0x40, 0x45, 0x15, 0x37, 0xed, 0xb3, - 0x10, 0x8d, 0x2a, 0x68, 0xb5, 0xd2, 0x17, 0xb7, 0x71, 0x6f, 0x5c, 0x8a, 0xb7, 0x53, 0x44, 0x1c, - 0x68, 0x12, 0xd4, 0x7d, 0x76, 0x65, 0x97, 0x57, 0x86, 0x0e, 0xa4, 0x04, 0xf2, 0x16, 0x2c, 0x31, - 0x99, 0x05, 0xfe, 0x03, 0xe4, 0x2a, 0xc4, 0xf6, 0x69, 0x88, 0x17, 0x09, 0xb1, 0x9b, 0xc0, 0x0f, - 0x20, 0x2c, 0x5d, 0x52, 0xf2, 0x85, 0x99, 0xa0, 0x2f, 0x64, 0x1d, 0x80, 0x71, 0x05, 0x8f, 0x82, - 0x61, 0x3e, 0xc3, 0xc4, 0x22, 0xd7, 0x10, 0xef, 0x51, 0xd1, 0x4c, 0x53, 0x75, 0x82, 0x96, 0x72, - 0xa8, 0xb3, 0x9b, 0x0b, 0xe2, 0x64, 0x91, 0xb2, 0x2a, 0x2a, 0x89, 0xb2, 0xd3, 0x3e, 0x81, 0xa9, - 0xca, 0x5e, 0x14, 0x9f, 0x82, 0xf7, 0x90, 0x70, 0x74, 0x1f, 0x6c, 0xa6, 0x30, 0x96, 0xae, 0x6f, - 0xb1, 0xdb, 0x61, 0x0d, 0xa0, 0x23, 0xf2, 0x2d, 0xdf, 0xc5, 0x4b, 0x00, 0x78, 0xc3, 0x5d, 0x53, - 0x65, 0x76, 0x4f, 0xde, 0x40, 0x08, 0x77, 0x1a, 0xf9, 0x81, 0xb9, 0xa0, 0xc8, 0xd2, 0x8b, 0x88, - 0xae, 0xd0, 0x2f, 0x59, 0x17, 0x6b, 0xc8, 0x39, 0x20, 0x70, 0xe0, 0x60, 0x30, 0x7e, 0xb5, 0x06, - 0x0a, 0xd1, 0x92, 0x92, 0x2b, 0x88, 0x82, 0x1b, 0x44, 0x70, 0x8b, 0x62, 0x38, 0x43, 0x3e, 0x61, - 0xd7, 0xc9, 0xc5, 0x0d, 0xb0, 0x48, 0xcd, 0x61, 0x0c, 0xf3, 0x18, 0x55, 0x86, 0x4d, 0x51, 0x10, - 0x8a, 0xdd, 0x1f, 0x47, 0xf4, 0xa7, 0xec, 0x4e, 0x7d, 0xbf, 0xd9, 0x94, 0xea, 0xec, 0x35, 0xb6, - 0xa0, 0xd4, 0xd3, 0x4b, 0xf1, 0xcd, 0xb0, 0xf1, 0x35, 0x3c, 0x5d, 0x1b, 0x2d, 0x74, 0x1a, 0xca, - 0x6b, 0x0d, 0x62, 0x22, 0xfe, 0x6b, 0x03, 0x43, 0x16, 0x5a, 0x8d, 0xfe, 0xc3, 0x59, 0x31, 0xb6, - 0x6f, 0x02, 0x17, 0x9c, 0x35, 0xef, 0xb3, 0x09, 0xb1, 0x85, 0x03, 0x00, 0x19, 0xc0, 0xb0, 0xc9, - 0x7f, 0x3b, 0x01, 0xaf, 0x89, 0x13, 0x61, 0xfe, 0xa5, 0x29, 0x2b, 0xcb, 0x81, 0x12, 0xad, 0x6a, - 0x2c, 0xfd, 0xc6, 0x4f, 0x7f, 0x85, 0x49, 0x89, 0x6f, 0x0e, 0xc9, 0x3f, 0x8d, 0x96, 0x3e, 0xd6, - 0x45, 0xfd, 0x10, 0x7f, 0xfd, 0x20, 0x53, 0x12, 0x89, 0x7c, 0x60, 0xc7, 0x43, 0xfe, 0x19, 0x5e, - 0xe0, 0x18, 0x4b, 0xa3, 0xda, 0x90, 0x87, 0xe6, 0x22, 0x37, 0xe1, 0x5f, 0x32, 0xb1, 0xde, 0x2f, - 0x38, 0xed, 0xe9, 0xb0, 0xc9, 0x5f, 0x24, 0x85, 0xf0, 0xb2, 0x31, 0xb5, 0x64, 0xd0, 0x18, 0x07, - 0x8d, 0xc1, 0x65, 0xa7, 0xe3, 0x72, 0x23, 0xc4, 0xdd, 0xa5, 0xd1, 0xd4, 0xbc, 0xa7, 0x29, 0xc8, - 0x32, 0x4e, 0xb3, 0x87, 0xcb, 0xd6, 0xa8, 0x86, 0xfb, 0x73, 0x68, 0xae, 0xd6, 0x03, 0xf2, 0x8b, - 0x19, 0x60, 0x63, 0x12, 0xca, 0x79, 0xb4, 0x59, 0x03, 0x73, 0x5a, 0x10, 0x4f, 0x47, 0xa6, 0x1b, - 0x17, 0x3e, 0x93, 0x42, 0xac, 0x6b, 0x31, 0x52, 0x45, 0xf9, 0x3d, 0xad, 0x13, 0x5b, 0xb8, 0xcc, - 0x34, 0x30, 0x1d, 0x3a, 0xa3, 0x09, 0x05, 0x73, 0x08, 0x9a, 0x68, 0x83, 0x98, 0xae, 0xfd, 0x07, - 0x90, 0x07, 0xd1, 0x59, 0x83, 0xad, 0x31, 0x33, 0x5e, 0xe4, 0x0b, 0x23, 0x5e, 0x4c, 0xec, 0x0f, - 0x9b, 0x0e, 0x1f, 0x37, 0x13, 0x45, 0xdf, 0x1a, 0x3f, 0x66, 0xd9, 0xa4, 0xb3, 0x61, 0x2b, 0x52, - 0xbe, 0x28, 0xcc, 0x9a, 0x60, 0x44, 0xe9, 0x20, 0x99, 0xb9, 0xf6, 0xde, 0xc3, 0x44, 0x8a, 0x98, - 0x1b, 0x08, 0x76, 0x41, 0xce, 0x2d, 0x31, 0x97, 0x47, 0xc3, 0x90, 0xb8, 0x78, 0x67, 0x9c, 0x06, - 0x7b, 0xaa, 0xc6, 0x67, 0x63, 0x2a, 0x58, 0x2d, 0xf2, 0x45, 0x71, 0x27, 0x8e, 0x57, 0x86, 0xd8, - 0x95, 0x39, 0x3e, 0x6b, 0x5c, 0x44, 0xc5, 0x7b, 0x88, 0x58, 0x58, 0xc4, 0x5f, 0xcf, 0x20, 0xe7, - 0x9b, 0x20, 0x00, 0xf9, 0x4f, 0xe6, 0x10, 0xbf, 0x99, 0x71, 0x75, 0x26, 0x6d, 0xe5, 0xa6, 0x5b, - 0xa5, 0xa5, 0x56, 0x37, 0x2d, 0x71, 0x69, 0x5a, 0xa1, 0x5c, 0x9c, 0x94, 0x97, 0x46, 0x35, 0xb2, - 0x3a, 0xcb, 0x4f, 0x9f, 0x5e, 0xa8, 0x4a, 0x32, 0x0b, 0x2c, 0x29, 0xf5, 0x79, 0xb3, 0xd8, 0x20, - 0x7f, 0x3a, 0x57, 0x3b, 0xfc, 0xee, 0xa4, 0xd7, 0xeb, 0x0d, 0xc8, 0x3f, 0xfd, 0x4d, 0x90, 0xdf, - 0x19, 0x90, 0xe0, 0x7b, 0x2c, 0x00, 0x90, 0x25, 0x70, 0x8c, 0x58, 0x7c, 0x21, 0x0d, 0xc6, 0xd5, - 0x5b, 0x9f, 0x80, 0x4a, 0xc1, 0x7b, 0xca, 0x4c, 0x59, 0x68, 0xce, 0x29, 0x37, 0x60, 0x4f, 0x88, - 0x85, 0x49, 0x8d, 0x8a, 0x80, 0x6b, 0x6e, 0x00, 0x36, 0x21, 0xc2, 0x81, 0xa0, 0x12, 0x0b, 0xf9, - 0x15, 0xb2, 0x77, 0xb5, 0x15, 0x84, 0x50, 0x0e, 0x40, 0x88, 0x59, 0x1d, 0xef, 0x2b, 0x15, 0x97, - 0xf1, 0x31, 0x01, 0x0a, 0x89, 0xe9, 0xd9, 0x60, 0x61, 0xe7, 0x30, 0xf8, 0x20, 0x2d, 0x08, 0x81, - 0x28, 0xd5, 0xce, 0xe2, 0xcd, 0x34, 0x5d, 0x20, 0x93, 0xed, 0x62, 0x98, 0xdd, 0xd7, 0xc8, 0xc7, - 0x62, 0xe1, 0x13, 0xb0, 0xd4, 0x0f, 0xd9, 0x35, 0x56, 0xa4, 0x91, 0x81, 0x71, 0xea, 0xff, 0x4e, - 0xe9, 0x9a, 0x98, 0x11, 0x39, 0x84, 0x10, 0x4e, 0x3f, 0x23, 0xce, 0x9c, 0x53, 0x80, 0xfd, 0x6e, - 0xac, 0xa3, 0xcd, 0x06, 0xc6, 0x5a, 0x11, 0xca, 0x26, 0x16, 0xb3, 0x71, 0x70, 0xda, 0x52, 0xc6, - 0x48, 0xa9, 0x5d, 0xb0, 0x95, 0xb2, 0x4b, 0xd7, 0xc9, 0xed, 0x57, 0xf0, 0x14, 0x34, 0x80, 0xe4, - 0x2f, 0xc7, 0x44, 0x55, 0x18, 0x3f, 0xa4, 0x10, 0x7f, 0xb7, 0xc1, 0x5b, 0x70, 0x12, 0x64, 0x21, - 0x17, 0x04, 0x84, 0x1e, 0x7f, 0x25, 0x01, 0xb4, 0x62, 0x13, 0x82, 0x35, 0x8c, 0x95, 0x4b, 0x48, - 0xc3, 0x1a, 0x6d, 0xc8, 0xc6, 0xbb, 0xf3, 0xfc, 0x07, 0x4f, 0x48, 0xb5, 0x92, 0x2a, 0x47, 0xc0, - 0x75, 0xf6, 0xde, 0x77, 0x23, 0xfc, 0xc1, 0x07, 0xf9, 0x0a, 0x7b, 0xfb, 0xc4, 0x3e, 0x31, 0xbd, - 0x32, 0x09, 0x12, 0x07, 0x1c, 0x06, 0x30, 0xa5, 0xa4, 0x22, 0xcf, 0xfa, 0xe8, 0xb6, 0x64, 0x1b, - 0xaf, 0xb3, 0x16, 0xce, 0x65, 0xf1, 0xe4, 0x22, 0x4e, 0x73, 0x8d, 0x34, 0xe1, 0x1d, 0x01, 0x4f, - 0xc4, 0x4d, 0x4c, 0x22, 0x77, 0xbb, 0xab, 0x33, 0xa5, 0x56, 0x79, 0xee, 0xda, 0x65, 0xd0, 0x74, - 0x3e, 0x77, 0x2c, 0xec, 0xd2, 0x24, 0x72, 0x1b, 0xe1, 0x77, 0xf5, 0x19, 0xd5, 0xb0, 0x25, 0x4f, - 0x6e, 0x6b, 0x3b, 0xc0, 0xf0, 0x48, 0x65, 0x24, 0x1a, 0xf8, 0x64, 0xbd, 0xb5, 0x03, 0x12, 0x1b, - 0x7c, 0x6a, 0xe7, 0x2c, 0xe7, 0x2d, 0x39, 0xd9, 0xcd, 0x19, 0x12, 0x7e, 0x9d, 0xb4, 0xfc, 0x30, - 0x5b, 0xa0, 0xe0, 0x6d, 0x94, 0x31, 0xab, 0xb1, 0x03, 0x12, 0x38, 0x9c, 0xe8, 0x78, 0xcc, 0xdc, - 0x6d, 0x15, 0x2f, 0x9e, 0x06, 0x31, 0xbb, 0xe6, 0x9a, 0xd5, 0xda, 0x1d, 0x2b, 0x77, 0x7c, 0xde, - 0x96, 0x0a, 0x6f, 0xcc, 0x77, 0x27, 0x23, 0x8a, 0x5e, 0xb8, 0x81, 0x3f, 0xe6, 0xcc, 0x07, 0x22, - 0x98, 0x26, 0xe2, 0xfc, 0xa8, 0x96, 0x28, 0xd6, 0x8d, 0x44, 0x70, 0x84, 0xc9, 0x6f, 0x8f, 0x6a, - 0x05, 0x43, 0xdf, 0x4e, 0xed, 0x08, 0x36, 0xa8, 0xb1, 0x9f, 0xf2, 0xe1, 0xcd, 0x9d, 0x61, 0x3f, - 0x1e, 0x97, 0xaf, 0xef, 0xc7, 0x7e, 0xa6, 0x96, 0x77, 0x4d, 0x88, 0xa1, 0x9e, 0xf1, 0x6a, 0x49, - 0x02, 0x83, 0x1e, 0x5a, 0x1a, 0xd5, 0x13, 0x27, 0x44, 0x2a, 0x5c, 0x1b, 0x22, 0x38, 0x2a, 0x41, - 0x70, 0x24, 0x30, 0x1c, 0x65, 0x3c, 0x5d, 0xc0, 0xe8, 0xbc, 0x62, 0x1d, 0xad, 0xe4, 0xb7, 0xac, - 0x1e, 0xb1, 0x85, 0xc0, 0xd6, 0x6b, 0xb1, 0x3b, 0x22, 0xcd, 0xec, 0x1b, 0x3d, 0xe3, 0xbe, 0xc6, - 0x39, 0x2b, 0xca, 0xba, 0x8d, 0x49, 0xad, 0xb4, 0x46, 0x7f, 0xc4, 0x6e, 0x58, 0x0e, 0xd8, 0xcf, - 0x26, 0xf5, 0x75, 0x4d, 0x5b, 0x3f, 0x0e, 0x96, 0x14, 0xad, 0x0f, 0x7c, 0x81, 0xcf, 0x33, 0x16, - 0xd1, 0x1f, 0x61, 0x3b, 0xf2, 0x26, 0xec, 0xb7, 0xe0, 0x51, 0x7c, 0xd2, 0x56, 0xcb, 0x4d, 0x91, - 0xe9, 0xfe, 0xfd, 0x46, 0x43, 0x0d, 0x92, 0x04, 0xb3, 0x91, 0x60, 0x03, 0xcb, 0xf0, 0xb8, 0xb5, - 0x9b, 0x39, 0xae, 0x83, 0x26, 0x38, 0x20, 0xae, 0xb9, 0x80, 0xc0, 0x30, 0xdc, 0xd0, 0x90, 0x99, - 0x9a, 0xdf, 0xc0, 0x04, 0xba, 0xcc, 0x2a, 0x82, 0x8a, 0x93, 0x8c, 0x3b, 0x8d, 0xdb, 0x85, 0x47, - 0x25, 0x9d, 0xbc, 0x31, 0x4f, 0xd0, 0x88, 0xa0, 0xfd, 0x9b, 0xa1, 0x6f, 0xa6, 0x8f, 0x00, 0x00, - 0xba, 0x6b, 0xe5, 0xec, 0x31, 0x88, 0x43, 0x2d, 0x2b, 0x0f, 0x57, 0xe6, 0x1d, 0x45, 0xc3, 0x43, - 0x17, 0xab, 0xd8, 0x0c, 0x51, 0x48, 0x42, 0x04, 0xe2, 0x3d, 0xbe, 0xf6, 0x6a, 0x2a, 0x71, 0x26, - 0x09, 0x35, 0x9b, 0x6d, 0x42, 0x7e, 0xee, 0x03, 0xeb, 0xb4, 0x1d, 0x8b, 0x86, 0x95, 0xe3, 0x33, - 0x36, 0x8c, 0x97, 0x5f, 0x58, 0x25, 0x44, 0x44, 0xf9, 0xc2, 0x57, 0x87, 0x0e, 0xf7, 0xd4, 0xc8, - 0x92, 0x85, 0xeb, 0xcf, 0x78, 0x40, 0x03, 0x93, 0xcc, 0xe7, 0x99, 0x28, 0xa0, 0x56, 0x4e, 0xda, - 0xe5, 0x3b, 0x29, 0x8e, 0x65, 0x6a, 0x18, 0xca, 0x5e, 0x5d, 0xf5, 0x49, 0x36, 0xa8, 0xc1, 0x85, - 0x62, 0xb7, 0xb4, 0x6b, 0xae, 0xd7, 0xe8, 0x11, 0x04, 0x03, 0x42, 0x22, 0x6b, 0x0d, 0xbd, 0xcd, - 0x37, 0x38, 0xb5, 0xdd, 0xdb, 0x5c, 0xcb, 0xf4, 0x4f, 0x81, 0x04, 0xfc, 0xc5, 0x24, 0xe8, 0xaf, - 0x15, 0x47, 0x95, 0x3b, 0x12, 0x22, 0x71, 0x5d, 0xbe, 0xcf, 0x86, 0xd4, 0xf8, 0x98, 0xf4, 0x74, - 0x64, 0xb4, 0x5b, 0x4b, 0x8b, 0x4a, 0x1a, 0x1f, 0x03, 0x64, 0x82, 0x49, 0x91, 0xa8, 0xbe, 0x45, - 0x4d, 0x63, 0x0c, 0x78, 0x14, 0x90, 0xc1, 0x10, 0x1f, 0xa8, 0x6c, 0xab, 0x69, 0x05, 0x71, 0xf1, - 0xe2, 0x59, 0x2e, 0x1b, 0xeb, 0x8a, 0xa8, 0x81, 0x13, 0x56, 0x0c, 0x65, 0x7e, 0x75, 0xe3, 0xba, - 0x47, 0x9b, 0x75, 0x13, 0xb2, 0x16, 0x6f, 0x8f, 0x1c, 0x5d, 0xdc, 0xf0, 0xcd, 0xaa, 0xb1, 0x32, - 0x30, 0x88, 0x30, 0x1e, 0x90, 0xfb, 0xae, 0x5d, 0x71, 0x2e, 0x90, 0x36, 0x29, 0xe4, 0x4c, 0xb4, - 0x8e, 0x71, 0x17, 0x47, 0x08, 0x79, 0x30, 0xa9, 0x25, 0x56, 0x39, 0xa7, 0xc6, 0xc9, 0x4f, 0x68, - 0x8d, 0x86, 0x74, 0x95, 0x57, 0xe4, 0xef, 0xe6, 0xf3, 0x9e, 0xa5, 0xa1, 0xe7, 0x61, 0xd9, 0x20, - 0xa4, 0x88, 0x2b, 0x66, 0x6d, 0x67, 0x1b, 0xc7, 0xb5, 0x59, 0x52, 0x48, 0x3c, 0x1f, 0x65, 0xdb, - 0x72, 0x37, 0x36, 0x25, 0x17, 0x13, 0x90, 0xa8, 0x95, 0x1f, 0xd1, 0x38, 0xa5, 0x6b, 0x70, 0x9e, - 0xd1, 0x95, 0xe0, 0x09, 0x00, 0xf0, 0xd3, 0x8d, 0x5a, 0xe9, 0x32, 0x18, 0xf1, 0x47, 0xf1, 0xa1, - 0x64, 0xa7, 0x97, 0x70, 0x63, 0xb2, 0xeb, 0xb8, 0x03, 0x14, 0x2e, 0x17, 0x14, 0x40, 0x46, 0xbe, - 0x0d, 0x5d, 0xd2, 0xa6, 0x25, 0x08, 0xb5, 0xb7, 0x0f, 0x2a, 0x6a, 0xc5, 0xc3, 0xc6, 0x56, 0xe7, - 0xe8, 0x8e, 0x3e, 0xed, 0xea, 0x0e, 0x6d, 0x25, 0x40, 0xac, 0x61, 0x3f, 0xd3, 0xfb, 0x59, 0x2b, - 0x9e, 0x3d, 0x76, 0x34, 0x06, 0x39, 0xc3, 0xeb, 0xf2, 0xd5, 0x5d, 0x5c, 0x9d, 0xe2, 0xa4, 0xb5, - 0xe2, 0x39, 0x64, 0x4b, 0xdf, 0x47, 0xda, 0xb1, 0x34, 0x3a, 0x16, 0xf3, 0xb1, 0xec, 0xaa, 0x02, - 0xd7, 0xcf, 0xd2, 0xe8, 0x84, 0x81, 0x05, 0x19, 0x5e, 0x14, 0x8e, 0x0c, 0x46, 0xac, 0x5c, 0x10, - 0x30, 0xd6, 0x55, 0xa2, 0x3a, 0x49, 0x98, 0xb1, 0x82, 0xd8, 0xd2, 0x2a, 0x89, 0x56, 0x4a, 0x0e, - 0x0d, 0xc4, 0x99, 0x41, 0x46, 0x07, 0x7f, 0xc4, 0x33, 0x03, 0x56, 0x8d, 0xf9, 0xb1, 0xfa, 0xc4, - 0xa0, 0x76, 0xc6, 0x22, 0x7d, 0x90, 0x2b, 0xbe, 0xdf, 0x18, 0x2c, 0xaf, 0x4c, 0xc7, 0x4b, 0xcc, - 0x37, 0xfe, 0x98, 0xd0, 0x5e, 0x9b, 0x7d, 0x9d, 0x26, 0x40, 0x3c, 0x53, 0x66, 0x57, 0x0e, 0xca, - 0x03, 0xa8, 0xa4, 0x60, 0xb2, 0x85, 0x95, 0xfd, 0xec, 0x99, 0xc0, 0xc8, 0x2a, 0xc6, 0xa4, 0x66, - 0x5a, 0x16, 0x5d, 0x43, 0x48, 0xd4, 0x60, 0xe8, 0x2a, 0x4c, 0x58, 0xc6, 0x8e, 0x64, 0xd6, 0x9e, - 0xa9, 0xb7, 0x4b, 0x4d, 0x27, 0xe0, 0x18, 0x80, 0x11, 0xbf, 0xb1, 0xe7, 0x65, 0x26, 0xc9, 0x24, - 0x35, 0x30, 0x12, 0x73, 0xa3, 0xea, 0xc7, 0xfb, 0x18, 0x7b, 0xe7, 0x26, 0xb8, 0x20, 0xf8, 0x38, - 0x0f, 0x40, 0x8b, 0xed, 0x26, 0xc4, 0x77, 0xac, 0x1c, 0x6c, 0x48, 0x7f, 0x81, 0x74, 0x78, 0x77, - 0x12, 0x2a, 0x28, 0xbc, 0xf5, 0x87, 0x4d, 0x93, 0xbb, 0xb1, 0x09, 0x16, 0x96, 0x76, 0x9d, 0x48, - 0x56, 0xa9, 0xec, 0xe4, 0x32, 0xe7, 0xd2, 0x0a, 0x3a, 0x4b, 0xf8, 0xed, 0xdc, 0xdd, 0x3b, 0x33, - 0xb9, 0x92, 0xe2, 0xfc, 0xb9, 0x42, 0x5a, 0xf2, 0xc2, 0x82, 0xd5, 0xb4, 0x1d, 0xc2, 0x52, 0x74, - 0x5a, 0x10, 0x2e, 0x8a, 0x1f, 0x20, 0x0a, 0x59, 0xec, 0x78, 0x8b, 0x95, 0x7f, 0x16, 0x4a, 0xe0, - 0x61, 0xef, 0x1c, 0x13, 0x1f, 0x9e, 0x0c, 0x81, 0xd5, 0x66, 0xd5, 0xd1, 0x7d, 0x4e, 0x76, 0x2c, - 0x44, 0x49, 0x60, 0xcd, 0x24, 0x75, 0x5b, 0xc1, 0xf5, 0x39, 0x04, 0xd7, 0xb5, 0x52, 0x23, 0xbe, - 0x2a, 0x8b, 0xb3, 0xd3, 0x78, 0x5a, 0xd6, 0x8e, 0xe0, 0x89, 0x12, 0x27, 0x50, 0x67, 0x22, 0xd3, - 0x45, 0xe2, 0x12, 0xab, 0x2a, 0x68, 0xb9, 0xa9, 0x48, 0xd1, 0x8b, 0x33, 0x68, 0xb9, 0x7c, 0x1c, - 0x82, 0xf3, 0x99, 0x0f, 0x66, 0x5d, 0xd6, 0x30, 0xf1, 0x0d, 0xe3, 0x48, 0x3d, 0x4c, 0x26, 0xc5, - 0xf8, 0xe3, 0xa3, 0xb9, 0x5a, 0x99, 0xc4, 0xf2, 0x83, 0x40, 0x24, 0xbd, 0x18, 0x3f, 0x70, 0xaf, - 0xb1, 0x87, 0x47, 0x1f, 0x21, 0x2c, 0x27, 0x72, 0x18, 0x05, 0x3e, 0xa4, 0x76, 0x68, 0x70, 0x92, - 0x18, 0x84, 0x4d, 0x50, 0xab, 0xc4, 0x8e, 0xd7, 0x92, 0x1c, 0xfa, 0xb0, 0x47, 0x9d, 0x3f, 0x9e, - 0xdf, 0x20, 0x7e, 0xf0, 0x65, 0x71, 0x9c, 0x23, 0x02, 0x3f, 0xb4, 0x07, 0xe0, 0x85, 0x99, 0x3b, - 0x52, 0x76, 0x2e, 0xa3, 0x64, 0xd7, 0xaa, 0xd6, 0x32, 0xc6, 0xb9, 0xd0, 0x07, 0x6e, 0x2f, 0x23, - 0x45, 0xce, 0xcc, 0xe2, 0x76, 0xfd, 0xe4, 0xe3, 0xef, 0xd5, 0x9b, 0xc3, 0x7e, 0x2d, 0x10, 0xbd, - 0x3d, 0x0d, 0x60, 0x73, 0x1a, 0xbd, 0xad, 0x66, 0x9d, 0x36, 0x5a, 0x26, 0xba, 0x86, 0xfd, 0x6b, - 0xe8, 0x05, 0xa7, 0x0e, 0xff, 0x8f, 0xd3, 0x42, 0x02, 0xe8, 0x7b, 0x94, 0xd9, 0x10, 0x21, 0x17, - 0x1f, 0xaa, 0xa7, 0xae, 0xe5, 0x66, 0xda, 0x12, 0xbd, 0x1f, 0x50, 0x5f, 0x6e, 0x21, 0xb6, 0x0f, - 0x1d, 0x64, 0x15, 0x57, 0x99, 0xf3, 0xc0, 0x0f, 0xc3, 0xb9, 0x69, 0xd3, 0x7d, 0xac, 0xba, 0xfd, - 0xc0, 0x55, 0x23, 0x45, 0x40, 0xf0, 0x47, 0x14, 0xb7, 0x88, 0xbb, 0x7d, 0xb7, 0x4d, 0x5c, 0xac, - 0xb1, 0x8f, 0x6e, 0xb1, 0x75, 0x0a, 0x43, 0x13, 0xb2, 0x0a, 0x11, 0xad, 0xa8, 0x93, 0xdd, 0x98, - 0x2e, 0x8d, 0xc0, 0xaf, 0x47, 0x29, 0x99, 0xfb, 0x08, 0xbb, 0xf9, 0x90, 0x04, 0xc6, 0x13, 0xd3, - 0xb3, 0x21, 0x6a, 0x3f, 0x7f, 0xb2, 0x5c, 0x8a, 0xa1, 0x6e, 0x82, 0x2e, 0x47, 0xa9, 0xd8, 0xc2, - 0xdb, 0x7d, 0xfa, 0x95, 0x65, 0xe3, 0x88, 0x84, 0xdc, 0x04, 0x01, 0x07, 0x01, 0x97, 0x4d, 0x5c, - 0xdc, 0x24, 0xc6, 0xc1, 0x5a, 0x6c, 0x2c, 0xde, 0x89, 0x5f, 0xc6, 0xdc, 0x66, 0xc9, 0xe5, 0x37, - 0xcc, 0x93, 0x91, 0x07, 0x7c, 0x99, 0xb5, 0x45, 0xb7, 0xcc, 0xd6, 0x57, 0x9b, 0xa4, 0xdb, 0x71, - 0x15, 0xeb, 0x77, 0x9b, 0x24, 0x9c, 0x03, 0xcb, 0xe5, 0xdb, 0x2d, 0xf2, 0xb7, 0x9f, 0xd2, 0xb8, - 0xab, 0x96, 0x06, 0x5e, 0x9f, 0x4c, 0x27, 0x62, 0xa5, 0x31, 0xb0, 0x58, 0x3b, 0x9a, 0xe4, 0x3f, - 0x80, 0x48, 0xed, 0x08, 0xb7, 0x6a, 0xf8, 0x9e, 0xb0, 0xbc, 0x62, 0x47, 0xa7, 0xfc, 0x74, 0xe3, - 0x05, 0x4e, 0x48, 0x4b, 0x42, 0x10, 0xe4, 0x3b, 0xbb, 0x36, 0x84, 0x3f, 0x1b, 0x07, 0xf9, 0x36, - 0x1a, 0x07, 0xb6, 0x1b, 0xfc, 0xe1, 0xd8, 0x04, 0x7f, 0x68, 0xd1, 0x8c, 0x61, 0xa8, 0x4e, 0xdc, - 0x84, 0x41, 0x3f, 0xbf, 0xdd, 0x2a, 0xa3, 0x3e, 0x58, 0xd2, 0xe8, 0x23, 0xcf, 0xd2, 0x7c, 0x91, - 0xf3, 0x30, 0xeb, 0x52, 0xd6, 0x7e, 0x9a, 0xad, 0x6d, 0xd5, 0x92, 0x76, 0x53, 0xa9, 0xb4, 0x5c, - 0x54, 0xe8, 0xad, 0xd9, 0x73, 0xb1, 0xa2, 0x24, 0xa2, 0xdd, 0xd3, 0x94, 0x8a, 0x0c, 0xae, 0x6c, - 0x4b, 0xad, 0xa5, 0xec, 0xdd, 0xd1, 0x99, 0x8a, 0x21, 0x6c, 0x69, 0x6f, 0x2a, 0x33, 0xf1, 0xe7, - 0xc9, 0xea, 0x81, 0x6d, 0x69, 0xcb, 0xed, 0x9e, 0xee, 0xe7, 0x89, 0xc8, 0x89, 0x70, 0x0c, 0xa4, - 0x78, 0xa0, 0xdd, 0xf7, 0x90, 0x8a, 0xb8, 0x60, 0x73, 0x21, 0xc9, 0xfc, 0x37, 0x32, 0xa3, 0x78, - 0xe7, 0xc6, 0x79, 0x23, 0x97, 0x54, 0x97, 0xce, 0xec, 0x7b, 0x14, 0x02, 0x9b, 0xc9, 0x45, 0x6c, - 0x09, 0x32, 0xf3, 0xe5, 0xa4, 0xfd, 0x86, 0x9d, 0x8c, 0x14, 0x76, 0xe2, 0x92, 0xdd, 0xed, 0x26, - 0xf2, 0x43, 0x60, 0xae, 0xb1, 0xd4, 0xb5, 0xf2, 0xef, 0x61, 0xb0, 0xb2, 0x43, 0xf0, 0x6b, 0xf1, - 0x10, 0xd3, 0x7d, 0x30, 0x9f, 0x42, 0x82, 0x23, 0x95, 0x1d, 0x1b, 0x15, 0x83, 0x7b, 0xd8, 0x4a, - 0xbe, 0x05, 0x5d, 0x92, 0x7d, 0xa0, 0x68, 0x94, 0x78, 0xac, 0xf2, 0x7d, 0x12, 0x26, 0x23, 0xe0, - 0x0d, 0xda, 0x58, 0x00, 0xa6, 0x6f, 0xe3, 0xb3, 0x9e, 0x0d, 0x2d, 0x38, 0x83, 0x3e, 0x4c, 0x58, - 0x44, 0x58, 0x51, 0x26, 0xfc, 0x70, 0x33, 0x4d, 0x14, 0x27, 0xf3, 0x73, 0x68, 0x69, 0xe0, 0xc7, - 0xf3, 0x51, 0xdb, 0x34, 0xbb, 0x2d, 0xad, 0xaa, 0xb2, 0xc4, 0x4e, 0xe8, 0x56, 0x10, 0xb0, 0xce, - 0x70, 0x69, 0xac, 0x9e, 0x18, 0xf1, 0xd3, 0x93, 0x19, 0x56, 0xfa, 0x7f, 0xd6, 0x08, 0xa0, 0x4e, - 0x0e, 0x00, 0xf0, 0xbc, 0x10, 0xf7, 0x2f, 0x53, 0xf2, 0x27, 0xa2, 0xde, 0xbf, 0xc2, 0x1a, 0x10, - 0xab, 0x45, 0x42, 0x3e, 0x81, 0x57, 0xf5, 0x37, 0x6b, 0x8e, 0x3c, 0xff, 0x0b, 0xc6, 0x68, 0xc5, - 0x78, 0xe8, 0x15, 0x12, 0xde, 0xbf, 0x09, 0x2c, 0x72, 0x58, 0x3d, 0x9d, 0x07, 0xd6, 0xb8, 0xac, - 0x64, 0xf2, 0x83, 0x5a, 0x26, 0x5c, 0xcf, 0xac, 0x95, 0xff, 0x74, 0xdb, 0x5b, 0x2a, 0x68, 0x1f, - 0x58, 0x49, 0x1c, 0xb6, 0xf9, 0x89, 0x84, 0x2b, 0x88, 0xd0, 0x96, 0x99, 0x92, 0x96, 0xca, 0x0e, - 0x29, 0xd2, 0x42, 0x59, 0xbb, 0x58, 0x14, 0x3b, 0xd8, 0x9a, 0xbf, 0x96, 0x21, 0xa0, 0xf5, 0x76, - 0x02, 0xd8, 0x49, 0x01, 0xe4, 0x80, 0xd4, 0x7d, 0x03, 0x19, 0x7a, 0x6f, 0x17, 0x19, 0xb5, 0x6d, - 0x3e, 0xb4, 0xbf, 0x81, 0x0f, 0x2b, 0xba, 0x30, 0x09, 0x38, 0xb6, 0xc0, 0x7c, 0x03, 0x19, 0xed, - 0xd6, 0x4e, 0x32, 0xaa, 0x0a, 0x3a, 0xd6, 0x9c, 0x55, 0xaf, 0x70, 0xd3, 0x49, 0x44, 0x57, 0x6b, - 0xb7, 0xa8, 0x01, 0xdb, 0x89, 0x5f, 0xeb, 0xdf, 0xc9, 0xfc, 0x92, 0xc2, 0x53, 0xdc, 0x27, 0x94, - 0xb4, 0x13, 0xb5, 0x14, 0x49, 0x64, 0xb9, 0xe5, 0x85, 0xa8, 0xd1, 0x9e, 0xd3, 0xd8, 0xe2, 0xc1, - 0x6a, 0xed, 0x2d, 0x27, 0xab, 0x4d, 0x3c, 0x2c, 0x4e, 0xf9, 0xc0, 0x7f, 0x5b, 0x3b, 0x9e, 0xb5, - 0x89, 0xc7, 0xcc, 0x78, 0xe6, 0x8c, 0xbf, 0xe2, 0xff, 0xbf, 0x3b, 0x45, 0x8d, 0xdb, 0xd5, 0x5f, - 0x00, 0x00 + 0xde, 0x6a, 0x32, 0xc0, 0x0e, 0x99, 0x7c, 0x1c, 0x7f, 0xaa, 0x84, 0xd6, 0xa5, 0xd1, 0xed, 0x95, + 0x0e, 0x60, 0x55, 0x10, 0xad, 0x8e, 0x04, 0x19, 0xaf, 0x76, 0xf7, 0xcb, 0x7f, 0x56, 0x42, 0x74, + 0x39, 0x8e, 0xd6, 0x49, 0x25, 0xc4, 0xb1, 0x34, 0xfa, 0xed, 0x7c, 0xda, 0x3b, 0xd1, 0xda, 0x95, + 0x20, 0x27, 0x31, 0xc8, 0x6e, 0x82, 0xbb, 0xb0, 0x3c, 0x5c, 0x97, 0xa6, 0x57, 0x42, 0xc0, 0x92, + 0xce, 0x6e, 0xce, 0x74, 0xad, 0x55, 0x09, 0xd1, 0x92, 0x46, 0x97, 0x37, 0xef, 0x7a, 0x3d, 0xed, + 0xb8, 0x12, 0xa4, 0xc3, 0x40, 0x8e, 0x7b, 0xd5, 0x14, 0x77, 0xdb, 0xd2, 0xe8, 0xe6, 0xa4, 0xa7, + 0x57, 0x02, 0xe8, 0x27, 0x9c, 0x54, 0x5d, 0x27, 0x9f, 0x96, 0x4e, 0x44, 0xab, 0xe0, 0x3a, 0xb0, + 0xa4, 0x6b, 0xaf, 0x79, 0x3d, 0x9f, 0x57, 0x42, 0xc0, 0x92, 0x6e, 0x3e, 0x5d, 0xed, 0x41, 0xd3, + 0xe2, 0x40, 0xe7, 0xe7, 0xb7, 0x95, 0x20, 0x6d, 0x0e, 0x02, 0x0c, 0xae, 0x04, 0xe9, 0x24, 0x20, + 0x95, 0x7b, 0xd0, 0xe9, 0x26, 0x30, 0xf5, 0xec, 0x6c, 0x7f, 0x3e, 0xb6, 0xad, 0x83, 0xa3, 0xa3, + 0x2d, 0xe0, 0xe3, 0x14, 0xf8, 0x5d, 0x06, 0xfa, 0xe8, 0x08, 0xc0, 0xe9, 0x8f, 0xaf, 0xa0, 0x23, + 0xf9, 0x01, 0x3d, 0x60, 0xc7, 0xbb, 0x77, 0x37, 0x38, 0x80, 0xc8, 0x1e, 0x8d, 0x1e, 0xfc, 0xe0, + 0x4e, 0x49, 0xe7, 0xf0, 0x4a, 0x67, 0xe9, 0x01, 0x87, 0xde, 0xeb, 0x8d, 0xb6, 0x5e, 0x3e, 0x8c, + 0x4f, 0x56, 0x9c, 0x0a, 0x58, 0x76, 0x16, 0x44, 0x47, 0xbf, 0xd2, 0xa8, 0x72, 0xba, 0xed, 0x21, + 0xbd, 0x84, 0xba, 0x4f, 0x6f, 0x81, 0xd7, 0x35, 0xa0, 0xec, 0x97, 0xcd, 0xec, 0xe7, 0x2e, 0xf8, + 0x90, 0xc0, 0x79, 0x24, 0xed, 0xd6, 0x63, 0xbb, 0xb5, 0x0b, 0xbe, 0x95, 0x87, 0x3f, 0xee, 0xec, + 0x81, 0x6f, 0x17, 0xe0, 0x8f, 0x3b, 0x59, 0xf8, 0x26, 0x37, 0x1c, 0x23, 0x74, 0x52, 0xf0, 0x15, + 0xcd, 0x97, 0x63, 0x1b, 0x92, 0xe5, 0x73, 0x5b, 0xc4, 0xbc, 0x8e, 0x21, 0x09, 0xb7, 0xd3, 0x17, + 0x41, 0xd0, 0xe8, 0x1c, 0xa3, 0x1c, 0x72, 0x1d, 0xd8, 0x34, 0x28, 0x98, 0xb1, 0xf3, 0x6b, 0x36, + 0xb4, 0x48, 0x0c, 0xec, 0xdc, 0xc7, 0xc9, 0x78, 0x07, 0xb1, 0xd2, 0x28, 0x2b, 0x7a, 0x85, 0xf7, + 0xb0, 0xf4, 0xf1, 0xe4, 0x63, 0xf5, 0x7b, 0x58, 0xea, 0x64, 0xbc, 0xe3, 0x3d, 0xc8, 0xee, 0xf8, + 0xe3, 0xa4, 0xfa, 0x3d, 0xc8, 0xed, 0xc7, 0xf1, 0xa4, 0x94, 0x39, 0x4d, 0xe0, 0x4b, 0x96, 0x3d, + 0xb6, 0xb3, 0xc0, 0x45, 0x3e, 0x14, 0x18, 0xc4, 0x5c, 0xf0, 0x68, 0xfa, 0x60, 0xae, 0xfb, 0x24, + 0xcf, 0x96, 0x4f, 0x82, 0x2d, 0x45, 0xa6, 0xfc, 0x0a, 0x63, 0x2a, 0xad, 0x04, 0x18, 0x09, 0x72, + 0x48, 0x2a, 0x15, 0xb2, 0xc5, 0xdf, 0x7f, 0xac, 0xb4, 0xe0, 0xfc, 0x7d, 0xba, 0xaa, 0xbd, 0x6b, + 0x72, 0x2b, 0xd6, 0x74, 0x8e, 0xa7, 0x12, 0xdb, 0x8b, 0x9a, 0xde, 0x54, 0x2d, 0x6a, 0xea, 0xfa, + 0x0f, 0x34, 0x8c, 0x76, 0xac, 0x0b, 0x21, 0x76, 0x2c, 0xeb, 0x57, 0x3f, 0x58, 0x99, 0xee, 0x8e, + 0x75, 0x7d, 0x30, 0xab, 0xd1, 0x77, 0xf8, 0xeb, 0x1c, 0x01, 0x65, 0x0b, 0xc7, 0x3f, 0xe1, 0xda, + 0xf4, 0x18, 0x03, 0xd6, 0xa1, 0xcd, 0x57, 0xc3, 0x0b, 0x5c, 0x30, 0x00, 0xde, 0x8c, 0xc8, 0x90, + 0xb7, 0x65, 0x60, 0xdb, 0x9a, 0x21, 0x79, 0x9b, 0xd5, 0x8c, 0x06, 0x52, 0xec, 0xb1, 0xa7, 0x5c, + 0x4b, 0x70, 0xb4, 0x1b, 0xf2, 0xcf, 0xc2, 0xd5, 0xbb, 0x84, 0x67, 0x8a, 0x12, 0xc1, 0x54, 0x13, + 0x38, 0x82, 0x91, 0x3b, 0x5a, 0xa2, 0x13, 0x5d, 0x8a, 0xa9, 0xfc, 0xfe, 0x39, 0x0e, 0xd1, 0x1c, + 0x85, 0xf9, 0x7d, 0x36, 0x13, 0x84, 0x09, 0x99, 0x1c, 0x13, 0x91, 0x7e, 0x36, 0x30, 0x0a, 0x18, + 0xe0, 0x61, 0xe5, 0x40, 0x22, 0x71, 0xa5, 0x9c, 0x34, 0x47, 0x87, 0xde, 0x2c, 0x5c, 0x0f, 0x8a, + 0x7b, 0x68, 0x55, 0x2a, 0xee, 0x25, 0x0b, 0x77, 0xfa, 0x3b, 0x17, 0x75, 0x9e, 0x5f, 0x88, 0x58, + 0x81, 0x2e, 0x56, 0xc0, 0x92, 0x89, 0x9b, 0xf1, 0xab, 0x94, 0x6e, 0x65, 0x4a, 0x52, 0xb2, 0x04, + 0xa4, 0x55, 0x02, 0x0a, 0x39, 0xb3, 0x85, 0x71, 0x69, 0x16, 0x38, 0xae, 0x09, 0x8e, 0xb3, 0x73, + 0x98, 0xb7, 0x30, 0x5c, 0xe3, 0xb4, 0x25, 0x13, 0xc6, 0x81, 0xd5, 0x56, 0xd4, 0xa4, 0x48, 0xcd, + 0xfc, 0x44, 0xba, 0x98, 0x48, 0xcc, 0xb1, 0x6b, 0x0a, 0x3d, 0xb7, 0xfc, 0xbd, 0x98, 0x5b, 0x6f, + 0xc7, 0xdc, 0xfa, 0x36, 0xcc, 0xed, 0xb7, 0x63, 0x6e, 0x7f, 0x1b, 0xe6, 0xce, 0xdb, 0x31, 0x77, + 0xde, 0x82, 0x79, 0x4b, 0xfc, 0x82, 0x4a, 0xf1, 0x43, 0x41, 0x48, 0xe9, 0x80, 0x34, 0x8b, 0xd3, + 0x11, 0x17, 0xa6, 0x05, 0x3d, 0x5b, 0xe2, 0xc9, 0x2a, 0xc3, 0x33, 0xff, 0x31, 0xa6, 0xe9, 0xfc, + 0xf7, 0x98, 0xfa, 0x72, 0x0b, 0x16, 0xee, 0x9c, 0x7e, 0x7a, 0xe7, 0xac, 0xc9, 0xdc, 0x09, 0x20, + 0x99, 0xc3, 0x94, 0x61, 0xa7, 0x2a, 0x4c, 0x2f, 0xf9, 0xea, 0x73, 0x2a, 0x0c, 0x69, 0xac, 0x94, + 0x1a, 0xba, 0x2d, 0x91, 0xaf, 0x24, 0x6a, 0xbe, 0x93, 0x28, 0x88, 0xee, 0xc8, 0x84, 0xce, 0x03, + 0x1a, 0xa6, 0xba, 0xc9, 0x38, 0x34, 0xe7, 0x04, 0x94, 0x33, 0x62, 0xf2, 0x61, 0x37, 0x23, 0xcc, + 0x9d, 0x73, 0x9e, 0x6d, 0x22, 0xff, 0xc8, 0x32, 0x5d, 0x6b, 0xe3, 0x9a, 0x11, 0x25, 0x0f, 0x18, + 0x3d, 0x62, 0xdf, 0x39, 0x24, 0xa1, 0x2e, 0x99, 0x07, 0xfe, 0x0a, 0xa3, 0x98, 0x3e, 0xdf, 0xb1, + 0xac, 0xcd, 0x3f, 0xfb, 0x54, 0x66, 0xf3, 0xb5, 0x5d, 0x6e, 0x4c, 0x1f, 0x8d, 0x03, 0x67, 0xb1, + 0x8c, 0x68, 0x50, 0x01, 0xd0, 0x1a, 0x9d, 0x59, 0x16, 0x36, 0xc6, 0x56, 0x61, 0x68, 0x8f, 0xde, + 0x6d, 0x2a, 0xbd, 0x41, 0x67, 0x74, 0x65, 0x3e, 0x16, 0x0d, 0x3d, 0xb7, 0x8e, 0x09, 0x73, 0xd8, + 0xdf, 0x2f, 0x03, 0x13, 0xd2, 0xec, 0x90, 0x06, 0xd1, 0x99, 0xfd, 0xd5, 0xb4, 0x20, 0x31, 0xc4, + 0x7c, 0x5b, 0x96, 0x66, 0x14, 0x52, 0x7c, 0x4a, 0x3d, 0x5b, 0x52, 0x7d, 0xe5, 0x55, 0x24, 0x7d, + 0x72, 0xf4, 0xc7, 0xd1, 0x91, 0xf3, 0xb9, 0x11, 0xd0, 0x95, 0x7f, 0x4f, 0xb1, 0x71, 0xf8, 0xc8, + 0x11, 0xb5, 0xbd, 0x7a, 0x21, 0x23, 0x77, 0x86, 0x49, 0xd6, 0x78, 0xa4, 0x97, 0x97, 0x8b, 0x8e, + 0x8a, 0x83, 0x46, 0xc5, 0xca, 0x92, 0xf7, 0xf2, 0xc2, 0xda, 0x52, 0x72, 0xd9, 0xed, 0xf9, 0xf5, + 0x95, 0x0c, 0x4c, 0x86, 0xf4, 0x16, 0xfb, 0x2f, 0x44, 0x86, 0xeb, 0xec, 0xc8, 0x70, 0x2d, 0x7f, + 0xf5, 0x17, 0x3c, 0x0c, 0x9e, 0x60, 0xce, 0x6c, 0x8e, 0xeb, 0xe0, 0xc1, 0x52, 0x92, 0xc9, 0xe6, + 0xf2, 0xd5, 0x74, 0xc8, 0xae, 0xac, 0x95, 0x70, 0xef, 0xb8, 0x4b, 0x6d, 0xfe, 0x91, 0x71, 0x8b, + 0x8f, 0x6f, 0x72, 0x8b, 0xc7, 0xdd, 0x6e, 0xbb, 0x9b, 0xf1, 0x8b, 0xf4, 0x75, 0x4b, 0xb1, 0x32, + 0x7e, 0xcf, 0x90, 0xa4, 0xc4, 0xf1, 0xbd, 0xc1, 0x9d, 0xfd, 0xe3, 0x3c, 0x43, 0x8c, 0xb5, 0xd3, + 0xb5, 0x6d, 0x53, 0xe1, 0xbd, 0xe6, 0x66, 0xdd, 0x56, 0x75, 0xa1, 0x70, 0xdf, 0x14, 0x22, 0x33, + 0x2a, 0x44, 0x6c, 0x2d, 0xe8, 0xfb, 0xff, 0x17, 0x2e, 0xc7, 0xca, 0xc6, 0x6c, 0x87, 0x50, 0x3b, + 0x71, 0xfe, 0xcd, 0x25, 0xcc, 0xa1, 0x21, 0x2b, 0x77, 0xed, 0xd4, 0x43, 0x53, 0xa8, 0xda, 0xa3, + 0x2f, 0xd5, 0x9d, 0xb8, 0xb6, 0x1e, 0xa9, 0xb3, 0xc8, 0x43, 0x65, 0x00, 0x59, 0x14, 0xed, 0x5b, + 0xa9, 0x9e, 0x80, 0x9e, 0xe2, 0xab, 0x8a, 0x26, 0xf0, 0x72, 0xe5, 0x00, 0x8d, 0x4a, 0xda, 0x67, + 0xb5, 0x03, 0x03, 0x8f, 0x6f, 0x65, 0xfa, 0x87, 0x77, 0xa4, 0x67, 0xd4, 0x5e, 0x4c, 0x09, 0x0f, + 0xf9, 0x94, 0x4a, 0x76, 0xca, 0x90, 0x46, 0x4c, 0x39, 0x95, 0x67, 0xb4, 0x18, 0x5b, 0x97, 0x4d, + 0x28, 0x3f, 0x71, 0xc2, 0xd6, 0x29, 0x8a, 0xd5, 0xdb, 0x37, 0x91, 0xa4, 0xd0, 0x64, 0xea, 0x81, + 0x98, 0x3a, 0xd7, 0x2a, 0xcf, 0x1f, 0x51, 0x71, 0x03, 0x04, 0x07, 0x82, 0x81, 0x28, 0x76, 0x43, + 0x0e, 0xf3, 0xb4, 0x94, 0x9b, 0x24, 0x1c, 0x0d, 0x93, 0x15, 0x47, 0x17, 0x0d, 0x53, 0xce, 0x1e, + 0x8d, 0x23, 0x8f, 0xf7, 0xea, 0xc7, 0x96, 0x88, 0x61, 0x03, 0xd2, 0xc2, 0x6c, 0x1d, 0x53, 0x35, + 0x0d, 0x3c, 0x94, 0xa9, 0x4f, 0xd9, 0xe9, 0x55, 0x03, 0x9d, 0xca, 0xf9, 0xd2, 0x0c, 0xce, 0x7d, + 0x9b, 0xca, 0x58, 0x90, 0xd4, 0x4e, 0x3b, 0xbd, 0x7e, 0xb7, 0xab, 0xd4, 0x81, 0x4f, 0x4e, 0xdd, + 0xf8, 0x32, 0xde, 0x44, 0x91, 0xcf, 0x1a, 0x72, 0x5f, 0x79, 0x6b, 0xce, 0x2e, 0xc5, 0xfe, 0xfe, + 0xd9, 0x7c, 0x2d, 0x84, 0x23, 0xb1, 0x6a, 0x3f, 0x86, 0x79, 0x3d, 0x1e, 0x7d, 0x51, 0x71, 0x02, + 0xe1, 0x12, 0x72, 0xfe, 0xec, 0xfb, 0x67, 0x69, 0xfc, 0xfe, 0x4d, 0x34, 0x26, 0x68, 0x0a, 0x9a, + 0x0a, 0x24, 0x6b, 0x06, 0x1e, 0x7c, 0xc7, 0x65, 0x38, 0xec, 0x29, 0x7a, 0x1d, 0xbd, 0x13, 0x47, + 0x3f, 0x89, 0x92, 0x94, 0x0e, 0x6f, 0xe1, 0xf0, 0x56, 0xc9, 0xf0, 0x9b, 0x4d, 0xb8, 0x9c, 0x31, + 0x96, 0xec, 0x46, 0xd0, 0x46, 0x04, 0xed, 0x0a, 0x04, 0xc4, 0x11, 0x7d, 0x00, 0xbb, 0x71, 0x74, + 0x10, 0x47, 0xa7, 0x04, 0xc7, 0x94, 0xb5, 0xaa, 0xee, 0x1e, 0xdc, 0xc5, 0xc1, 0xdd, 0x32, 0x02, + 0x2e, 0x26, 0x24, 0xa4, 0x5e, 0xe8, 0x07, 0xbb, 0x11, 0x1c, 0x23, 0x82, 0xe3, 0x12, 0x04, 0xb7, + 0xfe, 0x66, 0xdf, 0xe4, 0x3f, 0xe3, 0xd8, 0x9f, 0x4b, 0xc6, 0x9e, 0x79, 0xa6, 0xeb, 0x2f, 0x76, + 0x0f, 0xee, 0xe1, 0xe0, 0x5e, 0xe5, 0xe0, 0x0a, 0xe6, 0x49, 0x89, 0xa9, 0x93, 0x38, 0x52, 0x16, + 0xd2, 0x0a, 0x47, 0x00, 0x71, 0x0c, 0xac, 0xb7, 0x4f, 0xd6, 0xbe, 0xe3, 0x41, 0xc4, 0x33, 0x60, + 0x32, 0xca, 0xba, 0x89, 0x24, 0xbc, 0x84, 0xf5, 0x23, 0xca, 0xed, 0x8f, 0x4a, 0xec, 0xc3, 0x0e, + 0xbf, 0x7b, 0x6c, 0xfd, 0xac, 0x77, 0x07, 0x71, 0x28, 0x0e, 0x26, 0x53, 0x1c, 0x56, 0x6d, 0x2b, + 0x93, 0xe1, 0x64, 0x5a, 0xcc, 0x17, 0xee, 0xd4, 0x41, 0x13, 0x20, 0xe7, 0x2e, 0xbf, 0x51, 0xe5, + 0xe5, 0x45, 0xce, 0x5f, 0x7f, 0xdb, 0xee, 0x71, 0x4d, 0xae, 0x43, 0x3d, 0xa3, 0x61, 0xe2, 0x86, + 0xf2, 0x40, 0xc7, 0xb8, 0x62, 0x00, 0xee, 0x6c, 0x77, 0xc1, 0x3c, 0xb6, 0x93, 0x1e, 0x76, 0x56, + 0x14, 0x0f, 0x2e, 0x99, 0x81, 0x54, 0xbe, 0xe1, 0xb4, 0xc0, 0xcb, 0x17, 0xfd, 0x0f, 0x4a, 0x0e, + 0x43, 0xbd, 0x18, 0x1f, 0x9a, 0x65, 0xec, 0x8d, 0xce, 0xe6, 0xc6, 0xde, 0x67, 0x2c, 0xf6, 0x8b, + 0xd3, 0xcc, 0x50, 0x93, 0x00, 0x48, 0x2b, 0x22, 0xc1, 0xd3, 0xc9, 0x6a, 0x1c, 0x1a, 0xc3, 0xc1, + 0x39, 0x1e, 0x3a, 0x99, 0xe6, 0x69, 0xaa, 0xc6, 0x4c, 0x4e, 0x99, 0xb7, 0x59, 0xe3, 0x2d, 0xaf, + 0x0f, 0x8e, 0x8b, 0x97, 0xe6, 0x44, 0xef, 0xbd, 0x47, 0x1f, 0xc8, 0x3f, 0xae, 0x2e, 0x7f, 0x89, + 0xa2, 0xf5, 0x04, 0x62, 0x05, 0x1a, 0x46, 0x03, 0xaf, 0xfa, 0x62, 0x5a, 0xe6, 0xba, 0x54, 0x7a, + 0x99, 0x2b, 0x5a, 0x3a, 0x21, 0x98, 0xfc, 0x70, 0xed, 0x83, 0x47, 0xbc, 0xa5, 0x8f, 0x91, 0xca, + 0x9e, 0x00, 0x99, 0xd1, 0x86, 0xb5, 0xe0, 0xc0, 0x22, 0x15, 0xf0, 0x54, 0xd5, 0xd7, 0xd2, 0x52, + 0xbc, 0x34, 0x8b, 0x18, 0xaf, 0x10, 0x98, 0xd6, 0x9d, 0x7a, 0x10, 0x23, 0xe0, 0x97, 0x11, 0x6f, + 0xae, 0x61, 0x37, 0x55, 0xa9, 0xc9, 0x97, 0x23, 0x4e, 0xc2, 0x22, 0xb6, 0x92, 0x0f, 0x7e, 0xb0, + 0xc2, 0xee, 0xca, 0xa4, 0x95, 0x59, 0x5c, 0xba, 0x93, 0x25, 0xbc, 0xc0, 0x20, 0x3a, 0xea, 0xd9, + 0x5d, 0x06, 0xbc, 0xe7, 0x16, 0x02, 0xfb, 0xf0, 0xaa, 0x9b, 0xd7, 0x08, 0x11, 0x26, 0x52, 0xd4, + 0x92, 0xbb, 0x0e, 0x07, 0x5b, 0x57, 0x0a, 0xcf, 0xe7, 0x8b, 0x84, 0x7b, 0x6a, 0x34, 0x90, 0xe2, + 0x97, 0x12, 0x68, 0x21, 0x98, 0x79, 0xf0, 0x92, 0xe2, 0xe6, 0x24, 0xf2, 0x79, 0x42, 0x4d, 0x08, + 0xa0, 0x4e, 0x61, 0x25, 0x6c, 0xbe, 0x53, 0x9a, 0xcc, 0x7b, 0x2a, 0xa3, 0xe7, 0x4e, 0xa8, 0x90, + 0x05, 0xfd, 0xc9, 0x18, 0x6c, 0xe2, 0xc3, 0xe9, 0x8c, 0x2c, 0x6b, 0x78, 0x0f, 0x33, 0x6d, 0x80, + 0x00, 0x80, 0x50, 0x22, 0xcf, 0x37, 0x6e, 0x24, 0x96, 0xcf, 0x2e, 0xe7, 0x30, 0xe1, 0x91, 0x3d, + 0x76, 0xb0, 0x13, 0x35, 0x96, 0x0f, 0xec, 0xe8, 0x0c, 0x3f, 0x80, 0xec, 0xdb, 0xa9, 0xce, 0xf0, + 0x56, 0x23, 0x5d, 0x63, 0x4d, 0x46, 0xf1, 0xe1, 0x13, 0x48, 0xf3, 0x20, 0x06, 0xc5, 0xe0, 0xa6, + 0x01, 0xd0, 0xef, 0x4d, 0x6b, 0x29, 0x0b, 0x4f, 0x69, 0x8c, 0x9e, 0x63, 0x50, 0x9d, 0xc7, 0x05, + 0x29, 0x2a, 0xda, 0x58, 0x3b, 0x5e, 0xb6, 0x73, 0xa9, 0x4c, 0x6b, 0xbe, 0xb0, 0x74, 0x14, 0xfd, + 0xd9, 0x97, 0x4c, 0x6f, 0x1e, 0x1b, 0xfa, 0x87, 0xf3, 0x79, 0x50, 0x79, 0xba, 0xe6, 0xe5, 0xa0, + 0x91, 0xc9, 0x6a, 0xe5, 0xa9, 0x5f, 0x1e, 0x96, 0x69, 0x8a, 0xfa, 0x96, 0xe6, 0x77, 0x1e, 0x45, + 0x95, 0x83, 0x9e, 0x5f, 0x6f, 0x83, 0xfa, 0x18, 0x16, 0xab, 0x6f, 0xe9, 0x8d, 0x47, 0x22, 0x20, + 0x63, 0x2f, 0x87, 0x9d, 0x7c, 0x88, 0x61, 0x13, 0xad, 0x85, 0x3d, 0x9d, 0x57, 0x50, 0xf1, 0x7b, + 0x19, 0xf0, 0xfd, 0xab, 0xf2, 0x1a, 0x6f, 0x31, 0x04, 0x43, 0x60, 0x22, 0x92, 0x90, 0x0e, 0x6f, + 0x42, 0xf2, 0xa7, 0xc9, 0x4e, 0x52, 0xbe, 0x87, 0x2c, 0xfe, 0x12, 0xcc, 0xe1, 0xeb, 0x16, 0x4b, + 0x62, 0x6a, 0xc6, 0x46, 0x81, 0xf5, 0x8e, 0x93, 0xac, 0xf8, 0xfb, 0xe0, 0x2c, 0x08, 0xcc, 0xa7, + 0x86, 0x13, 0xb2, 0xbf, 0x32, 0x4b, 0x44, 0x95, 0xb8, 0xbb, 0xb5, 0x60, 0xed, 0x25, 0xbc, 0x87, + 0x53, 0x2d, 0x46, 0x18, 0x80, 0xe1, 0xb4, 0xb8, 0xf7, 0xa8, 0x84, 0x6c, 0x5b, 0xf1, 0x62, 0x65, + 0xe9, 0xda, 0x6f, 0x6f, 0xa5, 0x0c, 0x4b, 0xcd, 0x46, 0x14, 0xbd, 0x32, 0xaa, 0x9c, 0xa0, 0xaa, + 0x43, 0xf6, 0x62, 0x92, 0x1d, 0x21, 0x80, 0x71, 0xb6, 0xf2, 0x09, 0x2e, 0x6e, 0xcb, 0xc0, 0x19, + 0x4d, 0x9c, 0x1f, 0x01, 0x85, 0xb0, 0xb2, 0x6a, 0xb2, 0xc9, 0x65, 0x61, 0x34, 0x83, 0xaf, 0x9e, + 0x6f, 0x72, 0x25, 0xe5, 0xb6, 0x32, 0x33, 0x06, 0x5c, 0x76, 0x9c, 0x19, 0xa8, 0xa8, 0xe2, 0xa6, + 0x7d, 0x16, 0xa2, 0x51, 0x05, 0xad, 0x56, 0xfa, 0xe2, 0x52, 0xee, 0x8d, 0x4b, 0xf1, 0x92, 0x8a, + 0x88, 0x03, 0x4d, 0x82, 0xba, 0xcf, 0x6e, 0xee, 0xf2, 0xca, 0xd0, 0x81, 0x94, 0x40, 0xde, 0x82, + 0x25, 0x26, 0xb3, 0xc0, 0x7f, 0x80, 0x5c, 0x85, 0xd8, 0x3e, 0x0d, 0xf1, 0x3e, 0x21, 0x36, 0x15, + 0xf8, 0x01, 0x84, 0xa5, 0x4b, 0x4a, 0xbe, 0x30, 0x13, 0xf4, 0x85, 0xac, 0x03, 0x30, 0xae, 0xe0, + 0x51, 0x30, 0xcc, 0x67, 0x98, 0x58, 0xe4, 0x1a, 0xe2, 0x75, 0x2a, 0x9a, 0xe9, 0xad, 0x4e, 0xd0, + 0x52, 0x0e, 0x75, 0x76, 0x73, 0x41, 0x9c, 0x2c, 0x52, 0x56, 0x45, 0x25, 0x51, 0x76, 0xda, 0x27, + 0x30, 0x55, 0xd9, 0xfb, 0xe2, 0x53, 0xf0, 0x1e, 0x12, 0x8e, 0xee, 0x83, 0xcd, 0x14, 0xc6, 0xd2, + 0xf5, 0x2d, 0x76, 0x49, 0xac, 0x01, 0x74, 0x44, 0xbe, 0xe5, 0xbb, 0x78, 0x17, 0x00, 0x2f, 0xba, + 0x6b, 0xaa, 0xcc, 0xae, 0xcb, 0x1b, 0x08, 0xe1, 0x4e, 0x23, 0x3f, 0x30, 0x17, 0x14, 0x59, 0x7a, + 0x11, 0xd1, 0x15, 0xfa, 0x25, 0xeb, 0x62, 0x0d, 0x39, 0x07, 0x04, 0x0e, 0x1c, 0x0c, 0xc6, 0xaf, + 0xd6, 0x40, 0x21, 0x5a, 0x52, 0x72, 0x05, 0x51, 0x70, 0x83, 0x08, 0x6e, 0x51, 0x0c, 0x67, 0xc8, + 0x27, 0x6c, 0x3e, 0xb9, 0xb8, 0x01, 0x16, 0xa9, 0x39, 0x8c, 0x61, 0x1e, 0xa3, 0xca, 0xb0, 0x29, + 0x0a, 0x42, 0xb1, 0x6b, 0xe4, 0x88, 0xfe, 0x94, 0x5d, 0xad, 0xef, 0x37, 0x9b, 0x52, 0x9d, 0xbd, + 0xc6, 0x4e, 0x94, 0x7a, 0x7a, 0x37, 0xbe, 0x19, 0x36, 0xbe, 0x86, 0xa7, 0x6b, 0xa3, 0x85, 0x4e, + 0x43, 0x79, 0xad, 0x41, 0x4c, 0xc4, 0x7f, 0x74, 0x60, 0xc8, 0x42, 0xab, 0xd1, 0x7f, 0x38, 0x2b, + 0xc6, 0xf6, 0x4d, 0xe0, 0x82, 0xb3, 0xe6, 0xed, 0x36, 0x21, 0x76, 0x72, 0x00, 0x20, 0x03, 0x18, + 0x36, 0xf9, 0x4f, 0x28, 0xe0, 0x6d, 0x71, 0x22, 0xcc, 0xbf, 0x34, 0x65, 0x65, 0x39, 0x50, 0xa2, + 0x55, 0x8d, 0xa5, 0xdf, 0xf8, 0xe9, 0xaf, 0x30, 0x29, 0xf1, 0xcd, 0x21, 0xf9, 0xa7, 0xd1, 0xd2, + 0xc7, 0xba, 0xa8, 0x1f, 0xe2, 0x8f, 0x20, 0x64, 0x4a, 0x22, 0x91, 0x0f, 0xec, 0x78, 0xc8, 0x3f, + 0xc3, 0x7b, 0x1c, 0x63, 0x69, 0x54, 0x1b, 0xf2, 0xd0, 0x5c, 0xe4, 0x26, 0xfc, 0x4b, 0x26, 0xd6, + 0xfb, 0x05, 0xa7, 0x3d, 0x1d, 0x36, 0xf9, 0x8b, 0xa4, 0x10, 0x5e, 0x36, 0xa6, 0x96, 0x0c, 0x1a, + 0xe3, 0xa0, 0x31, 0xb8, 0xec, 0x74, 0x5c, 0x6e, 0x84, 0xb8, 0xc2, 0x34, 0x9a, 0x9a, 0xf7, 0x34, + 0x05, 0x59, 0xc6, 0x69, 0xf6, 0x70, 0xd9, 0x1a, 0xd5, 0x70, 0x7f, 0x0e, 0xcd, 0xd5, 0x7a, 0x40, + 0x7e, 0x31, 0x03, 0xec, 0x4f, 0x42, 0x39, 0x8f, 0x36, 0x6b, 0x60, 0x4e, 0x0b, 0xe2, 0xe9, 0xc8, + 0x74, 0xe3, 0xc2, 0x67, 0x52, 0x88, 0x75, 0x2d, 0x46, 0xaa, 0x28, 0xbf, 0xa7, 0x75, 0x62, 0x0b, + 0x97, 0x99, 0x06, 0xa6, 0x43, 0x67, 0x34, 0xa1, 0x60, 0x0e, 0x41, 0x13, 0x6d, 0x10, 0xd3, 0xb5, + 0xff, 0x00, 0xf2, 0x20, 0x1a, 0x6c, 0xb0, 0x43, 0x66, 0xc6, 0x8b, 0x7c, 0x61, 0xc4, 0x8b, 0x89, + 0xfd, 0x61, 0xd3, 0xe1, 0xe3, 0x66, 0xa2, 0xe8, 0x5b, 0xe3, 0xc7, 0x2c, 0x9b, 0x74, 0x36, 0xec, + 0x48, 0xca, 0x17, 0x85, 0x59, 0x2f, 0x8c, 0x28, 0x1d, 0x24, 0x33, 0xd7, 0xde, 0x7b, 0x98, 0x48, + 0x11, 0x73, 0x03, 0xc1, 0x2e, 0xc8, 0xb9, 0x25, 0xe6, 0xf2, 0x68, 0x18, 0x12, 0x17, 0xaf, 0x8e, + 0xd3, 0x60, 0x4f, 0xd5, 0xf8, 0x6c, 0x4c, 0x05, 0xab, 0x45, 0xbe, 0x28, 0xae, 0xc6, 0xf1, 0xca, + 0x10, 0xbb, 0x39, 0xc7, 0x67, 0x8d, 0x8b, 0xa8, 0x78, 0x1d, 0x11, 0x0b, 0x8b, 0xf8, 0x23, 0x1a, + 0xe4, 0x7c, 0x13, 0x04, 0x20, 0xff, 0xc9, 0x1c, 0xe2, 0xa7, 0x33, 0xae, 0xce, 0xa4, 0xad, 0xdc, + 0x74, 0xab, 0xb4, 0xd4, 0xea, 0xa6, 0x25, 0x2e, 0x4d, 0x2b, 0x94, 0x8b, 0x93, 0xf2, 0xd2, 0xa8, + 0x46, 0x56, 0x67, 0xf9, 0xe9, 0xd3, 0x7b, 0x55, 0x49, 0x66, 0x81, 0x25, 0xa5, 0x3e, 0xef, 0x19, + 0x1b, 0xe4, 0x4f, 0xe7, 0x6a, 0x87, 0xdf, 0x9d, 0xf4, 0x7a, 0xbd, 0x01, 0xf9, 0xa7, 0xbf, 0x09, + 0xf2, 0x3b, 0x03, 0x12, 0x7c, 0x8f, 0x05, 0x00, 0xb2, 0x04, 0x8e, 0x11, 0x8b, 0x2f, 0xa4, 0xc1, + 0xb8, 0x7a, 0xeb, 0x13, 0x50, 0x29, 0x78, 0x4f, 0x99, 0x29, 0x0b, 0xcd, 0x39, 0xe5, 0x06, 0xec, + 0x09, 0xb1, 0x30, 0xa9, 0x51, 0x11, 0x70, 0xcd, 0x0d, 0xc0, 0x26, 0x44, 0x38, 0x10, 0x54, 0x62, + 0x21, 0xbf, 0x42, 0xf6, 0xae, 0xb6, 0x82, 0x10, 0xca, 0x01, 0x08, 0x31, 0xab, 0xe3, 0x7d, 0xa5, + 0xe2, 0x4e, 0x3e, 0x26, 0x40, 0x21, 0x31, 0x3d, 0x1b, 0x2c, 0xec, 0x1c, 0x06, 0x1f, 0xa4, 0x05, + 0x21, 0x10, 0xa5, 0xda, 0x59, 0xbc, 0x99, 0xa6, 0x0b, 0x64, 0xb2, 0x5d, 0x0c, 0xb3, 0xfb, 0x1a, + 0xf9, 0x58, 0x2c, 0x7c, 0x02, 0x96, 0xfa, 0x21, 0xbb, 0xcd, 0x8a, 0x34, 0x32, 0x30, 0x4e, 0xfd, + 0xdf, 0x29, 0x5d, 0x13, 0x33, 0x22, 0x87, 0x10, 0xc2, 0xe9, 0x67, 0xc4, 0x99, 0x73, 0x0a, 0xb0, + 0xed, 0x8d, 0x35, 0xb6, 0xd9, 0xc0, 0x58, 0x2b, 0x42, 0xd9, 0xc4, 0x62, 0x36, 0x0e, 0x4e, 0x3b, + 0xcb, 0x18, 0x29, 0xb5, 0x0b, 0xb6, 0x52, 0x76, 0xf7, 0x3a, 0xb9, 0x04, 0x0b, 0x9e, 0x82, 0x06, + 0x90, 0xfc, 0xe5, 0x98, 0xa8, 0x0a, 0xe3, 0x87, 0x14, 0xe2, 0xcf, 0x37, 0x78, 0x0b, 0x4e, 0x82, + 0x2c, 0xe4, 0x82, 0x80, 0xd0, 0xe3, 0x8f, 0x25, 0x80, 0x56, 0x6c, 0x42, 0xb0, 0x86, 0xb1, 0x72, + 0x09, 0x69, 0x58, 0xa3, 0x0d, 0xd9, 0x78, 0x77, 0x9e, 0xff, 0xe0, 0x09, 0xa9, 0x56, 0x52, 0xe5, + 0x08, 0xb8, 0xce, 0xde, 0xfb, 0x6e, 0x84, 0xbf, 0xfb, 0x20, 0x5f, 0x61, 0x8b, 0x9f, 0xd8, 0x27, + 0xa6, 0x57, 0x26, 0x41, 0xe2, 0x80, 0xc3, 0x00, 0xa6, 0x94, 0x54, 0xe4, 0x59, 0x3b, 0xdd, 0x96, + 0x6c, 0xe3, 0xad, 0xd6, 0xc2, 0xb9, 0x2c, 0x9e, 0x5c, 0xc4, 0x69, 0xae, 0x91, 0x26, 0xbc, 0x23, + 0xe0, 0x89, 0xb8, 0x90, 0x49, 0xe4, 0x6e, 0x77, 0x75, 0xa6, 0xd4, 0x2a, 0xcf, 0x5d, 0xbb, 0x0c, + 0x9a, 0xce, 0xe7, 0x8e, 0x85, 0xcd, 0x9a, 0x44, 0x6e, 0x23, 0xfc, 0xae, 0x76, 0xa3, 0x1a, 0x76, + 0xe6, 0xc9, 0x6d, 0x6d, 0x07, 0x18, 0x1e, 0xa9, 0x8c, 0x44, 0x1f, 0x9f, 0xac, 0xb7, 0x76, 0x40, + 0x62, 0x83, 0x4f, 0xed, 0x9c, 0xe5, 0xbc, 0x25, 0x27, 0xbb, 0x39, 0x43, 0xc2, 0x6f, 0x95, 0x96, + 0x1f, 0x66, 0x0b, 0x14, 0xbc, 0x9b, 0x32, 0x66, 0x35, 0x36, 0x42, 0x02, 0x87, 0x13, 0x1d, 0x8f, + 0x99, 0xbb, 0xad, 0xe2, 0xc5, 0xd3, 0x20, 0x66, 0xd7, 0x5c, 0xb3, 0x5a, 0xbb, 0x63, 0xe5, 0x8e, + 0xcf, 0xdb, 0x52, 0xe1, 0x8d, 0xf9, 0xee, 0x64, 0x44, 0xd1, 0x0b, 0x37, 0xf0, 0xc7, 0x9c, 0xf9, + 0x40, 0x04, 0xd3, 0x44, 0x9c, 0x1f, 0xd5, 0x12, 0xc5, 0xba, 0x91, 0x08, 0x8e, 0x30, 0xf9, 0xed, + 0x51, 0xad, 0x60, 0xe8, 0xdb, 0xa9, 0x1d, 0xc1, 0x3e, 0x35, 0xf6, 0x8b, 0x3e, 0xbc, 0xc7, 0x33, + 0xec, 0xc7, 0xe3, 0xf2, 0xf5, 0xfd, 0xd8, 0xcf, 0xd4, 0xf2, 0xae, 0x09, 0x31, 0xd4, 0x33, 0x5e, + 0x2d, 0x49, 0x60, 0xd0, 0x43, 0x4b, 0xa3, 0x7a, 0xe2, 0x84, 0x48, 0x85, 0x6b, 0x43, 0x04, 0x47, + 0x25, 0x08, 0x8e, 0x04, 0x86, 0xa3, 0x8c, 0xa7, 0x0b, 0x18, 0x9d, 0x57, 0xac, 0xb1, 0x95, 0xfc, + 0x96, 0xd5, 0x23, 0xb6, 0x10, 0xd8, 0x7a, 0x2d, 0x76, 0x47, 0xa4, 0x99, 0x7d, 0xa3, 0x67, 0xdc, + 0xd7, 0x38, 0x67, 0x45, 0x59, 0xd3, 0x31, 0xa9, 0x95, 0xd6, 0xe8, 0x8f, 0xd8, 0x45, 0xcb, 0x01, + 0xfb, 0xf5, 0xa4, 0xbe, 0xae, 0x69, 0xeb, 0xc7, 0xc1, 0x92, 0xa2, 0xf5, 0x81, 0x2f, 0xf0, 0x79, + 0xc6, 0x22, 0xfa, 0x23, 0xec, 0x4a, 0xde, 0x84, 0xfd, 0x16, 0x3c, 0x8a, 0x4f, 0xda, 0x6a, 0xb9, + 0x29, 0x32, 0x4d, 0xc0, 0xdf, 0x68, 0xa8, 0x41, 0x92, 0x60, 0x36, 0x12, 0x6c, 0x60, 0x19, 0x1e, + 0xb7, 0x76, 0x33, 0xc7, 0x75, 0xd0, 0x04, 0x07, 0xc4, 0x35, 0x17, 0x10, 0x18, 0x86, 0x1b, 0x1a, + 0x32, 0x53, 0xf3, 0x1b, 0x98, 0x40, 0x97, 0x59, 0x45, 0x50, 0x71, 0x92, 0x71, 0xa7, 0x71, 0xd7, + 0xf0, 0xa8, 0xa4, 0xa1, 0x37, 0xe6, 0x09, 0x1a, 0x11, 0xb4, 0x7f, 0x33, 0xf4, 0xcd, 0xf4, 0x11, + 0x00, 0x40, 0x77, 0xad, 0x9c, 0x3d, 0x06, 0x71, 0xa8, 0x65, 0xe5, 0xe1, 0xca, 0xbc, 0xa3, 0x68, + 0x78, 0xe8, 0x62, 0x15, 0x9b, 0x21, 0x0a, 0x49, 0x88, 0x40, 0xbc, 0xc7, 0xd7, 0x5e, 0x4d, 0x25, + 0xce, 0x24, 0xa1, 0x66, 0xb3, 0x4d, 0xc8, 0xcf, 0x7d, 0x60, 0x9d, 0xb6, 0x63, 0xd1, 0xb0, 0x72, + 0x7c, 0xc6, 0x86, 0xf1, 0xf2, 0x0b, 0xab, 0x84, 0x88, 0x28, 0x5f, 0xf8, 0xea, 0xd0, 0xe1, 0x9e, + 0x1a, 0x59, 0xb2, 0x70, 0xfd, 0x19, 0x0f, 0x68, 0x60, 0x92, 0xf9, 0x3c, 0x13, 0x05, 0xd4, 0xca, + 0x49, 0xbb, 0x7c, 0x27, 0xc5, 0xb1, 0x4c, 0x0d, 0x43, 0xd9, 0xab, 0xab, 0x3e, 0xc9, 0x06, 0x35, + 0xb8, 0x50, 0x6c, 0x9a, 0x76, 0xcd, 0xf5, 0x1a, 0x3d, 0x82, 0x60, 0x40, 0x48, 0x64, 0xad, 0xa1, + 0xb7, 0xf9, 0x06, 0xa7, 0xb6, 0x7b, 0x9b, 0x6b, 0x99, 0xfe, 0x29, 0x90, 0x80, 0xbf, 0x98, 0x04, + 0xfd, 0xb5, 0xe2, 0xa8, 0x72, 0x47, 0x42, 0x24, 0xae, 0xcb, 0xf7, 0xd9, 0x90, 0x1a, 0x1f, 0x93, + 0x9e, 0x8e, 0x8c, 0x76, 0x6b, 0x69, 0x51, 0x49, 0xe3, 0x63, 0x80, 0x4c, 0x30, 0x29, 0x12, 0xd5, + 0xb7, 0xa8, 0x69, 0x8c, 0x01, 0x8f, 0x02, 0x32, 0x18, 0xe2, 0x03, 0x95, 0x6d, 0x35, 0xad, 0x20, + 0x2e, 0x5e, 0x3c, 0xcb, 0x65, 0x63, 0x5d, 0x11, 0x35, 0x70, 0xc2, 0x8a, 0xa1, 0xcc, 0xaf, 0x6e, + 0x5c, 0xf7, 0x68, 0xb3, 0x6e, 0x42, 0xd6, 0xe2, 0xed, 0x91, 0xa3, 0x8b, 0x1b, 0xbe, 0x59, 0x35, + 0x56, 0x06, 0x06, 0x11, 0xc6, 0x03, 0x72, 0xdf, 0xb5, 0x2b, 0xce, 0x05, 0xd2, 0x26, 0x85, 0x9c, + 0x89, 0xd6, 0x31, 0xee, 0xe2, 0x08, 0x21, 0x0f, 0x26, 0xb5, 0xc4, 0x2a, 0xe7, 0xd4, 0x38, 0xf9, + 0x25, 0xad, 0xd1, 0x90, 0xae, 0xf2, 0x8a, 0xfc, 0xdd, 0x7c, 0xde, 0xb3, 0x34, 0xf4, 0x3c, 0x2c, + 0x1b, 0x84, 0x14, 0x71, 0xc5, 0xac, 0xed, 0x6c, 0xe3, 0xb8, 0x36, 0x4b, 0x0a, 0x89, 0xe7, 0xa3, + 0x6c, 0x5b, 0xee, 0xc6, 0xa6, 0xe4, 0x62, 0x02, 0x12, 0xb5, 0xf2, 0x23, 0x1a, 0xa7, 0x74, 0x0d, + 0xce, 0x33, 0xba, 0x12, 0x3c, 0x01, 0x00, 0x7e, 0xba, 0x51, 0x2b, 0x5d, 0x06, 0x23, 0xfe, 0x28, + 0x3e, 0x94, 0xec, 0xf4, 0x12, 0x6e, 0x4c, 0x76, 0x1d, 0x77, 0x80, 0xc2, 0xe5, 0x82, 0x02, 0xc8, + 0xc8, 0xb7, 0xa1, 0x4b, 0xda, 0xb4, 0x04, 0xa1, 0xf6, 0xf6, 0x41, 0x45, 0xad, 0x78, 0xd8, 0xd8, + 0xea, 0x1c, 0xdd, 0xd1, 0xa7, 0x5d, 0xdd, 0xa1, 0xad, 0x04, 0x88, 0xf5, 0xed, 0x67, 0x7a, 0x3f, + 0x6b, 0xc5, 0xb3, 0xc7, 0x8e, 0xc6, 0x20, 0x67, 0x78, 0x6b, 0xbe, 0xba, 0x8b, 0xab, 0x53, 0x9c, + 0xb4, 0x56, 0x3c, 0x87, 0x6c, 0xe9, 0xfb, 0x48, 0x3b, 0x96, 0x46, 0xc7, 0x62, 0x3e, 0x96, 0x5d, + 0x55, 0xe0, 0xfa, 0x59, 0x1a, 0x9d, 0x30, 0xb0, 0x20, 0xc3, 0x8b, 0xc2, 0x91, 0xc1, 0x88, 0x95, + 0x0b, 0x02, 0xc6, 0xba, 0x4a, 0x54, 0x27, 0x09, 0x33, 0x56, 0x10, 0x5b, 0x5a, 0x25, 0xd1, 0x4a, + 0xc9, 0xa1, 0x81, 0x38, 0x33, 0xc8, 0xe8, 0xe0, 0x8f, 0x78, 0x66, 0xc0, 0xaa, 0x31, 0x3f, 0x56, + 0x9f, 0x18, 0xd4, 0xce, 0x58, 0xa4, 0x0f, 0x72, 0xc5, 0xf7, 0x1b, 0x83, 0xe5, 0x95, 0xe9, 0x78, + 0x89, 0xf9, 0xc6, 0xdf, 0x14, 0xda, 0x6b, 0xb3, 0xaf, 0xd3, 0x04, 0x88, 0x67, 0xca, 0xec, 0xe6, + 0x41, 0x79, 0x00, 0x95, 0x14, 0x4c, 0xb6, 0xb0, 0xb2, 0x5f, 0x3f, 0x13, 0x18, 0x59, 0xc5, 0x98, + 0xd4, 0x4c, 0xcb, 0xa2, 0x6b, 0x08, 0x89, 0x1a, 0x0c, 0x5d, 0x85, 0x09, 0xcb, 0xd8, 0x91, 0xcc, + 0xda, 0x33, 0xf5, 0x76, 0xa9, 0xe9, 0x04, 0x1c, 0x03, 0x30, 0xe2, 0x37, 0xf6, 0xbc, 0xcc, 0x24, + 0x99, 0xa4, 0x06, 0x46, 0x62, 0x6e, 0x54, 0xfd, 0x86, 0x1f, 0x63, 0xef, 0xdc, 0x04, 0x17, 0x04, + 0x1f, 0xe7, 0x01, 0x68, 0xb1, 0xdd, 0x84, 0xf8, 0x8e, 0x95, 0x83, 0x0d, 0xe9, 0x2f, 0x90, 0x0e, + 0xef, 0x4e, 0x42, 0x05, 0x85, 0xb7, 0xfe, 0xb0, 0x69, 0x72, 0x37, 0x36, 0xc1, 0xc2, 0xd2, 0xae, + 0x13, 0xc9, 0x2a, 0x95, 0x9d, 0x5c, 0xe6, 0x5c, 0x5a, 0x41, 0x67, 0x09, 0xbf, 0xa4, 0xbb, 0x7b, + 0x67, 0x26, 0x57, 0x52, 0x9c, 0x3f, 0x57, 0x48, 0x4b, 0x5e, 0x58, 0xb0, 0x9a, 0xb6, 0x43, 0x58, + 0x8a, 0x4e, 0x0b, 0xc2, 0x45, 0xf1, 0x3b, 0x44, 0x21, 0x8b, 0x1d, 0x6f, 0xb1, 0xf2, 0xcf, 0x42, + 0x09, 0x3c, 0xec, 0x9d, 0x63, 0xe2, 0xc3, 0x93, 0x21, 0xb0, 0xda, 0xac, 0x3a, 0xba, 0xcf, 0xc9, + 0x8e, 0x85, 0x28, 0x09, 0xac, 0x99, 0xa4, 0x6e, 0x2b, 0xb8, 0x3e, 0x87, 0xe0, 0xba, 0x56, 0x6a, + 0xc4, 0x57, 0x65, 0x71, 0x76, 0x1a, 0x4f, 0xcb, 0xda, 0x11, 0x3c, 0x51, 0xe2, 0x04, 0xea, 0x4c, + 0x64, 0xba, 0x48, 0x5c, 0x62, 0x55, 0x05, 0x2d, 0x37, 0x15, 0x29, 0x7a, 0x71, 0x06, 0x2d, 0x97, + 0x8f, 0x43, 0x70, 0x3e, 0xf3, 0xc1, 0xac, 0xcb, 0x1a, 0x26, 0xbe, 0x61, 0x1c, 0xa9, 0x87, 0xc9, + 0xa4, 0x18, 0x7f, 0x7c, 0x34, 0x57, 0x2b, 0x93, 0x58, 0x7e, 0x10, 0x88, 0xa4, 0x17, 0xe3, 0x07, + 0xee, 0x35, 0xf6, 0xf0, 0xe8, 0x23, 0x84, 0xe5, 0x44, 0x0e, 0xa3, 0xc0, 0x87, 0xd4, 0x0e, 0x0d, + 0x4e, 0x12, 0x83, 0xb0, 0x09, 0x6a, 0x95, 0xd8, 0xf1, 0x76, 0x92, 0x43, 0x1f, 0xf6, 0xa8, 0xf3, + 0xc7, 0xf3, 0x1b, 0xc4, 0x0f, 0xbe, 0x2c, 0x8e, 0x73, 0x44, 0xe0, 0x87, 0xf6, 0x00, 0xbc, 0x30, + 0x73, 0x47, 0xca, 0xce, 0x65, 0x94, 0xec, 0x5a, 0xd5, 0x5a, 0xc6, 0x38, 0x17, 0xfa, 0xc0, 0xed, + 0x65, 0xa4, 0xc8, 0x99, 0x59, 0xdc, 0xae, 0x9f, 0x7c, 0xfc, 0xbd, 0x7a, 0x73, 0xd8, 0x8f, 0x06, + 0xa2, 0xb7, 0xa7, 0x01, 0x6c, 0x4e, 0xa3, 0xb7, 0xd5, 0xac, 0xd3, 0x46, 0xcb, 0x44, 0xd7, 0xb0, + 0x7f, 0x0d, 0xbd, 0xe0, 0xd4, 0xe1, 0xff, 0x71, 0x5a, 0x48, 0x00, 0x7d, 0x8f, 0x32, 0x1b, 0x22, + 0xe4, 0xe2, 0x43, 0xf5, 0xd4, 0xb5, 0xdc, 0x4c, 0x5b, 0xa2, 0xf7, 0x03, 0xea, 0xcb, 0x2d, 0xc4, + 0xf6, 0xa1, 0x83, 0xac, 0xe2, 0x2a, 0x73, 0x1e, 0xf8, 0x61, 0x38, 0x37, 0x6d, 0xba, 0x8f, 0x55, + 0xb7, 0x1f, 0xb8, 0x6a, 0xa4, 0x08, 0x08, 0xfe, 0x96, 0xe2, 0x16, 0x71, 0xb7, 0xef, 0xb6, 0x89, + 0x8b, 0x35, 0xf6, 0xd1, 0x2d, 0xb6, 0x4e, 0x61, 0x68, 0x42, 0x56, 0x21, 0xa2, 0x15, 0x75, 0xb2, + 0x1b, 0xd3, 0xa5, 0x11, 0xf8, 0xf5, 0x28, 0x25, 0x73, 0x1f, 0x61, 0x37, 0x1f, 0x92, 0xc0, 0x78, + 0x62, 0x7a, 0x36, 0x44, 0xed, 0xe7, 0x4f, 0x96, 0x4b, 0x31, 0xd4, 0x4d, 0xd0, 0xe5, 0x28, 0x15, + 0x5b, 0x78, 0xbb, 0x4f, 0xbf, 0xb2, 0x6c, 0x1c, 0x91, 0x90, 0x9b, 0x20, 0xe0, 0x20, 0xe0, 0xb2, + 0x89, 0x8b, 0x9b, 0xc4, 0x38, 0x58, 0x8b, 0x8d, 0xc5, 0x3b, 0xf1, 0x03, 0x99, 0xdb, 0x2c, 0xb9, + 0xfc, 0x86, 0x79, 0x32, 0xf2, 0x80, 0x2f, 0xb3, 0xb6, 0xe8, 0x96, 0xd9, 0xfa, 0x6a, 0x93, 0x74, + 0x3b, 0xae, 0x62, 0xfd, 0x6e, 0x93, 0x84, 0x73, 0x60, 0xb9, 0x7c, 0xbb, 0x45, 0xfe, 0xf6, 0x53, + 0x1a, 0x77, 0xd5, 0xd2, 0xc0, 0xeb, 0x93, 0xe9, 0x44, 0xac, 0x34, 0x06, 0x16, 0x6b, 0x47, 0x93, + 0xfc, 0x07, 0x10, 0xa9, 0x1d, 0xe1, 0x56, 0x0d, 0xdf, 0x13, 0x96, 0x57, 0xec, 0xe8, 0x94, 0x9f, + 0x6e, 0xbc, 0xc0, 0x09, 0x69, 0x49, 0x08, 0x82, 0x7c, 0x67, 0xd7, 0x86, 0xf0, 0xd7, 0xe3, 0x20, + 0xdf, 0x46, 0xe3, 0xc0, 0x76, 0x83, 0x3f, 0x1c, 0x9b, 0xe0, 0x0f, 0x2d, 0x9a, 0x31, 0x0c, 0xd5, + 0x89, 0x9b, 0x30, 0xe8, 0xe7, 0xb7, 0x5b, 0x65, 0xd4, 0x07, 0x4b, 0x1a, 0x7d, 0xe4, 0x59, 0x9a, + 0x2f, 0x72, 0x1e, 0x66, 0x5d, 0xca, 0xda, 0x4f, 0xb3, 0xb5, 0xad, 0x5a, 0xd2, 0x6e, 0x2a, 0x95, + 0x96, 0x8b, 0x0a, 0xbd, 0x35, 0x7b, 0x2e, 0x56, 0x94, 0x44, 0xb4, 0x7b, 0x9a, 0x52, 0x91, 0xc1, + 0x95, 0x6d, 0xa9, 0xb5, 0x94, 0xbd, 0x3b, 0x3a, 0x53, 0x31, 0x84, 0x2d, 0xed, 0x4d, 0x65, 0x26, + 0xfe, 0x3c, 0x59, 0x3d, 0xb0, 0x2d, 0x6d, 0xb9, 0xdd, 0xd3, 0xfd, 0x3c, 0x11, 0x39, 0x11, 0x8e, + 0x81, 0x14, 0x0f, 0xb4, 0xfb, 0x1e, 0x52, 0x11, 0x17, 0x6c, 0x2e, 0x24, 0x99, 0xff, 0x46, 0x66, + 0x14, 0xef, 0xdc, 0x38, 0x6f, 0xe4, 0x92, 0xea, 0xd2, 0x99, 0x7d, 0x8f, 0x42, 0x60, 0x33, 0xb9, + 0x88, 0x2d, 0x41, 0x66, 0xbe, 0x9c, 0xb4, 0xdf, 0xb0, 0x93, 0x91, 0xc2, 0x4e, 0x5c, 0xb2, 0x2b, + 0xde, 0x44, 0x7e, 0x08, 0xcc, 0x35, 0x96, 0xba, 0x56, 0xfe, 0x3d, 0x0c, 0x56, 0x76, 0x08, 0x7e, + 0x2d, 0x1e, 0x62, 0xba, 0x0f, 0xe6, 0x53, 0x48, 0x70, 0xa4, 0xb2, 0x63, 0xa3, 0x62, 0x70, 0x0f, + 0x5b, 0xc9, 0xb7, 0xa0, 0x4b, 0xb2, 0x0f, 0x14, 0x8d, 0x12, 0x8f, 0x55, 0xbe, 0x4f, 0xc2, 0x64, + 0x04, 0xbc, 0x41, 0x1b, 0x0b, 0xc0, 0xf4, 0x6d, 0x7c, 0xd6, 0xb3, 0xa1, 0x05, 0x67, 0xd0, 0x87, + 0x09, 0x8b, 0x08, 0x2b, 0xca, 0x84, 0x1f, 0x6e, 0xa6, 0x89, 0xe2, 0x64, 0x7e, 0x15, 0x2d, 0x0d, + 0xfc, 0x78, 0x3e, 0x6a, 0x9b, 0x66, 0xb7, 0xa5, 0x55, 0x55, 0x96, 0xd8, 0x09, 0xdd, 0x0a, 0x02, + 0xd6, 0x19, 0x2e, 0x8d, 0xd5, 0x13, 0x23, 0x7e, 0x7a, 0x32, 0xc3, 0x4a, 0xff, 0xcf, 0x1a, 0x01, + 0xd4, 0xc9, 0x01, 0x00, 0x9e, 0x17, 0xe2, 0xfe, 0x65, 0x4a, 0xfe, 0x44, 0xd4, 0xfb, 0x57, 0x58, + 0x03, 0x62, 0xb5, 0x48, 0xc8, 0x27, 0xf0, 0xc6, 0xfe, 0x66, 0xcd, 0x91, 0xe7, 0x7f, 0xc8, 0x18, + 0xad, 0x18, 0x0f, 0xbd, 0x42, 0xc2, 0xfb, 0x37, 0x81, 0x45, 0x0e, 0xab, 0xa7, 0xf3, 0xc0, 0x1a, + 0x97, 0x95, 0x4c, 0x7e, 0x50, 0xcb, 0x84, 0xeb, 0x99, 0xb5, 0xf2, 0x5f, 0x70, 0x7b, 0x4b, 0x05, + 0xed, 0x03, 0x2b, 0x89, 0xc3, 0x36, 0x3f, 0x91, 0x70, 0x05, 0x11, 0xda, 0x32, 0x53, 0xd2, 0x52, + 0xd9, 0x21, 0x45, 0x5a, 0x28, 0x6b, 0x17, 0x8b, 0x62, 0x07, 0x5b, 0xf3, 0xd7, 0x32, 0x04, 0xb4, + 0xde, 0x4e, 0x00, 0x3b, 0x29, 0x80, 0x1c, 0x90, 0xba, 0x6f, 0x20, 0x43, 0xef, 0xed, 0x22, 0xa3, + 0xb6, 0xcd, 0x87, 0xf6, 0x37, 0xf0, 0x61, 0x45, 0x17, 0x26, 0x01, 0xc7, 0x16, 0x98, 0x6f, 0x20, + 0xa3, 0xdd, 0xda, 0x49, 0x46, 0x55, 0x41, 0xc7, 0x9a, 0xb3, 0xea, 0x15, 0x6e, 0x3a, 0x89, 0xe8, + 0x6a, 0xed, 0x16, 0x35, 0x60, 0x3b, 0xf1, 0x6b, 0xfd, 0x3b, 0x99, 0x5f, 0x52, 0x78, 0x8a, 0xfb, + 0x84, 0x92, 0x76, 0xa2, 0x96, 0x22, 0x89, 0x2c, 0xb7, 0xbc, 0x10, 0x35, 0xda, 0x73, 0x1a, 0x5b, + 0x3c, 0x58, 0xad, 0xbd, 0xe5, 0x64, 0xb5, 0x89, 0x87, 0xc5, 0x29, 0x1f, 0xf8, 0x4f, 0x6c, 0xc7, + 0xb3, 0x36, 0xf1, 0x98, 0x19, 0xcf, 0x9c, 0xf1, 0xc7, 0xfc, 0xff, 0x17, 0x24, 0x9c, 0xd9, 0x7b, + 0xdc, 0x5f, 0x00, 0x00 }; @@ -1364,7 +1369,7 @@ const uint8_t PAGE_settings_sync[] PROGMEM = { // Autogenerated from wled00/data/settings_time.htm, do not edit!! -const uint16_t PAGE_settings_time_length = 3305; +const uint16_t PAGE_settings_time_length = 3310; const uint8_t PAGE_settings_time[] PROGMEM = { 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0xd5, 0x1a, 0x6b, 0x57, 0xdb, 0x38, 0xf6, 0x7b, 0x7e, 0x85, 0x50, 0x7b, 0x98, 0x78, 0x70, 0x9e, 0x90, 0x16, 0x92, 0xd8, 0xdd, 0x10, @@ -1505,235 +1510,235 @@ const uint8_t PAGE_settings_time[] PROGMEM = { 0xb9, 0x35, 0x98, 0x03, 0x6c, 0x7f, 0xec, 0x17, 0x00, 0xa2, 0xd4, 0x39, 0xc9, 0x44, 0x54, 0x53, 0x40, 0x6d, 0x00, 0x6a, 0x9f, 0x64, 0xa3, 0x7a, 0xa5, 0xa0, 0xba, 0x00, 0xd5, 0xcd, 0x46, 0xf5, 0x5a, 0x01, 0xb5, 0xfe, 0xd8, 0x98, 0x9f, 0x4b, 0xec, 0x50, 0x01, 0x5c, 0x02, 0x96, 0xcb, 0x6c, - 0x2c, 0x90, 0x2f, 0x03, 0x35, 0xf9, 0xd6, 0x55, 0x7f, 0x60, 0x64, 0x62, 0xaa, 0x40, 0x3e, 0xfc, - 0x1e, 0xa0, 0x3e, 0x6c, 0x03, 0x9a, 0xc3, 0x80, 0xa4, 0x5b, 0x92, 0xfb, 0xd6, 0x36, 0xf6, 0x53, - 0x4c, 0x20, 0xec, 0xde, 0x1f, 0x00, 0xd5, 0xfb, 0x23, 0x9b, 0xa6, 0x0a, 0x88, 0xbb, 0x07, 0x3e, - 0x60, 0x82, 0x3e, 0x70, 0x08, 0xcb, 0xd9, 0xc8, 0x40, 0xe4, 0x67, 0xfd, 0x01, 0xca, 0x9f, 0x31, - 0xd7, 0x23, 0xd9, 0x94, 0x81, 0xd0, 0xdb, 0xad, 0x42, 0x9f, 0x44, 0x37, 0x44, 0x80, 0x2e, 0xce, - 0x08, 0xcb, 0x94, 0x7c, 0x05, 0x44, 0xdf, 0x6a, 0x67, 0x2b, 0x42, 0xe5, 0xb5, 0x9e, 0x2f, 0xb5, - 0xda, 0x4f, 0x71, 0x09, 0xa2, 0x3f, 0x95, 0x84, 0x9d, 0x92, 0x19, 0xf1, 0xbc, 0x6c, 0xca, 0x40, - 0xfa, 0xbd, 0x8b, 0xdf, 0x01, 0xb0, 0xc7, 0x6f, 0x79, 0xe4, 0x0d, 0xbd, 0x30, 0xba, 0x31, 0x32, - 0x89, 0xab, 0xc2, 0x31, 0xb4, 0x3e, 0xc8, 0xcd, 0x3f, 0x9c, 0xc0, 0x9a, 0x16, 0x73, 0x26, 0xaa, - 0x6f, 0x9c, 0x89, 0xbf, 0x0a, 0x67, 0xd2, 0xfd, 0xa7, 0x54, 0xb7, 0x6c, 0xe5, 0x87, 0x03, 0xb9, - 0xfc, 0x00, 0xd8, 0x2e, 0xc9, 0x8d, 0x27, 0xc3, 0xe0, 0x12, 0xb2, 0xb4, 0x3b, 0x22, 0x2d, 0x7c, - 0xd0, 0x46, 0x7c, 0x34, 0x02, 0x17, 0xb3, 0xb0, 0x6e, 0x6d, 0xac, 0x1f, 0x2f, 0xb6, 0xd7, 0x64, - 0xaf, 0x6a, 0xb5, 0xf2, 0x3c, 0xce, 0x27, 0xef, 0x69, 0x70, 0xcf, 0x81, 0x2d, 0x3b, 0x9c, 0xb9, - 0x11, 0xca, 0xc3, 0x7c, 0x11, 0x55, 0x0e, 0xd1, 0x84, 0xc7, 0x61, 0x64, 0xc8, 0xad, 0xda, 0x71, - 0x18, 0x42, 0x60, 0x47, 0xaa, 0x35, 0xae, 0xdd, 0x98, 0x17, 0x81, 0x87, 0x80, 0xf4, 0x39, 0x75, - 0xd1, 0x30, 0x18, 0x61, 0x3b, 0x66, 0x37, 0x8c, 0xcf, 0x98, 0x8c, 0x21, 0x30, 0x69, 0x17, 0xe5, - 0xea, 0x73, 0x22, 0x3c, 0x11, 0xbb, 0x1b, 0x3e, 0x05, 0xa2, 0x1c, 0x5e, 0x67, 0xbe, 0x07, 0xe2, - 0xcf, 0x3c, 0xc4, 0x3e, 0x96, 0xb5, 0xd0, 0x86, 0x2c, 0x96, 0x59, 0x3f, 0x1f, 0x64, 0xe4, 0x39, - 0x77, 0xfe, 0x22, 0xd1, 0xc9, 0x69, 0x09, 0xbc, 0x2a, 0xbe, 0x92, 0x75, 0x1d, 0x0d, 0x60, 0xb0, - 0x58, 0xae, 0x68, 0x0f, 0x78, 0xce, 0xd9, 0x78, 0x3b, 0xb5, 0xbd, 0x4d, 0x6a, 0x3b, 0xe0, 0x84, - 0x32, 0xcf, 0xf1, 0x0a, 0xcb, 0x0a, 0xef, 0x69, 0x6a, 0x7b, 0xeb, 0xd4, 0xe6, 0xb6, 0x90, 0xab, - 0xa8, 0xad, 0xc8, 0x5e, 0xd3, 0x3a, 0xb1, 0xdb, 0x63, 0x9f, 0x8c, 0xb6, 0x70, 0x52, 0x43, 0x01, - 0xef, 0xb9, 0x34, 0xa6, 0xcd, 0x53, 0x36, 0xac, 0x42, 0xd1, 0xfc, 0x62, 0x65, 0x11, 0xbd, 0x54, - 0xdc, 0xf2, 0xec, 0x5c, 0x5e, 0x26, 0x46, 0x11, 0x62, 0x74, 0x86, 0xa0, 0x3c, 0x34, 0x65, 0x3c, - 0xbf, 0x47, 0x33, 0x1e, 0xde, 0x44, 0x90, 0x95, 0xa1, 0xa1, 0xcc, 0xf0, 0x69, 0x08, 0x2a, 0xe9, - 0xcd, 0x63, 0xe9, 0xbc, 0x4c, 0x8e, 0x62, 0x86, 0xd7, 0xb4, 0x21, 0x0d, 0x87, 0xfb, 0x76, 0x5b, - 0xde, 0x13, 0x40, 0x24, 0xdc, 0xb7, 0x5b, 0x8c, 0xf8, 0x7c, 0x8c, 0xd4, 0x00, 0xe2, 0x10, 0x02, - 0x65, 0x3d, 0x8d, 0x9e, 0x0c, 0x4f, 0x17, 0xe7, 0x9a, 0x93, 0x09, 0x61, 0x63, 0x19, 0xad, 0x22, - 0x95, 0x20, 0x48, 0x01, 0xcc, 0x37, 0x97, 0x97, 0x15, 0xf6, 0x5b, 0x30, 0x56, 0x81, 0xce, 0x3b, - 0x27, 0x29, 0xba, 0x64, 0x79, 0x65, 0x43, 0xcc, 0x6b, 0x39, 0x6f, 0x6d, 0xc9, 0x12, 0xd0, 0x39, - 0xd9, 0x8e, 0xa5, 0x9a, 0xd5, 0xa2, 0xc8, 0x6d, 0xc1, 0x22, 0xa9, 0xab, 0x54, 0x27, 0xdb, 0xf0, - 0x74, 0x7f, 0x14, 0x4f, 0x7f, 0xc2, 0x67, 0xa8, 0x06, 0x50, 0x40, 0x2e, 0x9c, 0xc3, 0x73, 0xc2, - 0xaa, 0x69, 0xd9, 0xe4, 0xfa, 0x73, 0x83, 0x26, 0x11, 0x12, 0x21, 0xf1, 0x7c, 0xe3, 0xb9, 0x95, - 0xfd, 0x44, 0xaa, 0xea, 0xd4, 0xda, 0x3c, 0x66, 0x02, 0x32, 0x65, 0xa6, 0xee, 0xcb, 0x9e, 0xcd, - 0x20, 0x3a, 0x7a, 0xed, 0x62, 0xd5, 0x3b, 0x4e, 0xfc, 0xba, 0x1c, 0x3a, 0x81, 0xcc, 0xba, 0xbe, - 0xcb, 0x86, 0x51, 0xd0, 0x68, 0x82, 0x73, 0x08, 0x49, 0x60, 0x57, 0xcb, 0xab, 0x1e, 0xab, 0xfd, - 0xaf, 0xef, 0xbd, 0xf2, 0x38, 0x3a, 0x5a, 0x12, 0x4e, 0x21, 0x41, 0x92, 0xe4, 0x4a, 0xed, 0xb3, - 0xef, 0xed, 0x11, 0x43, 0xd0, 0xdb, 0xc4, 0x92, 0x20, 0x39, 0x59, 0xb2, 0xc2, 0x67, 0x3b, 0xcd, - 0x4b, 0x07, 0x55, 0x4a, 0x78, 0x9b, 0xe7, 0x51, 0x09, 0xcb, 0xb9, 0x39, 0xcf, 0xab, 0xbb, 0x9c, - 0x7e, 0xf7, 0x65, 0xd1, 0xfe, 0xd2, 0x26, 0xf5, 0x35, 0xb1, 0x75, 0x7f, 0xe0, 0xa6, 0x68, 0x09, - 0xcb, 0x9a, 0xd8, 0xfa, 0x3f, 0x85, 0x65, 0x85, 0x61, 0x69, 0xe2, 0xb9, 0xae, 0x6c, 0x05, 0xa0, - 0x40, 0x5d, 0xdb, 0x45, 0xca, 0xd6, 0x9b, 0x43, 0x5b, 0x0d, 0x46, 0x68, 0x02, 0xa9, 0x32, 0x9a, - 0x82, 0xb9, 0xbb, 0x3b, 0xe0, 0x73, 0x92, 0x94, 0xd6, 0xce, 0xe9, 0x3b, 0x3e, 0x70, 0x37, 0xa0, - 0xe1, 0xc4, 0x8f, 0x38, 0x72, 0x20, 0xa4, 0x0c, 0x29, 0x8a, 0x23, 0xea, 0x22, 0xd0, 0x5b, 0xdd, - 0x5d, 0x90, 0xf7, 0x0d, 0x91, 0x44, 0x30, 0xe4, 0x90, 0x82, 0xbc, 0xef, 0x5f, 0xf4, 0x10, 0x61, - 0x2e, 0x3a, 0x1d, 0x40, 0x1a, 0xdd, 0xba, 0x3c, 0x43, 0x0e, 0x9f, 0x4e, 0x61, 0x20, 0x2a, 0xe6, - 0x24, 0xde, 0xf7, 0x31, 0xd8, 0xaf, 0xbe, 0xd6, 0x15, 0x13, 0x9a, 0xd0, 0x83, 0xce, 0x4e, 0x00, - 0xaf, 0xcf, 0x67, 0x3b, 0xd2, 0x75, 0x21, 0xb9, 0xb7, 0x4c, 0x91, 0xcb, 0x32, 0x41, 0x56, 0x60, - 0x2e, 0x1d, 0x91, 0xd8, 0x17, 0x88, 0xe8, 0x6a, 0x4f, 0x56, 0xa0, 0x50, 0xd4, 0xc8, 0x9b, 0x6d, - 0x92, 0xa0, 0x50, 0x3e, 0x0f, 0xf0, 0xb7, 0x7c, 0x7a, 0x47, 0xd0, 0x05, 0x2b, 0x5d, 0x8c, 0x46, - 0x48, 0x33, 0xb0, 0x1e, 0x81, 0x5b, 0xe5, 0x54, 0xa4, 0xd3, 0x67, 0x1b, 0x9b, 0x4b, 0xae, 0x67, - 0xf5, 0x60, 0x5a, 0x95, 0x9f, 0xc2, 0xa2, 0x8c, 0x3f, 0xb5, 0xc3, 0xc2, 0x05, 0xb8, 0xd8, 0x94, - 0xcc, 0xd5, 0xc6, 0x40, 0xfb, 0x79, 0xfc, 0xb9, 0x8c, 0x0d, 0xa4, 0x86, 0xbb, 0x85, 0x73, 0x6f, - 0x3c, 0x11, 0xcb, 0x3b, 0x44, 0xeb, 0x5b, 0xf4, 0x96, 0xb7, 0xc8, 0xfd, 0x10, 0x0f, 0x52, 0xa7, - 0x92, 0xae, 0x8e, 0x3e, 0x94, 0x44, 0xa7, 0x54, 0xd7, 0x12, 0xe5, 0x92, 0x8e, 0x2c, 0xb8, 0xc4, - 0xb1, 0xc7, 0xea, 0x65, 0x44, 0x62, 0xc1, 0x75, 0xf0, 0x4b, 0x5a, 0x52, 0xf6, 0xca, 0xbd, 0xb3, - 0x6b, 0x07, 0x71, 0x34, 0x91, 0x78, 0xa3, 0x99, 0x07, 0x49, 0xa7, 0xee, 0x75, 0xc2, 0xff, 0x08, - 0x52, 0x36, 0xa1, 0x14, 0x87, 0xb3, 0xc2, 0xee, 0x58, 0x34, 0x20, 0xa9, 0x4a, 0x27, 0x7d, 0x48, - 0x07, 0xd4, 0xd4, 0x68, 0xa4, 0xe7, 0x58, 0x3a, 0xe5, 0xf2, 0x18, 0xe8, 0x90, 0x93, 0xbd, 0x52, - 0x6b, 0xd1, 0x39, 0xcd, 0xcd, 0x6f, 0xa7, 0x9b, 0x42, 0xd6, 0xc3, 0x72, 0x70, 0xfe, 0x57, 0x77, - 0x5b, 0x09, 0xca, 0x4d, 0x42, 0x3a, 0xb2, 0x9e, 0xfd, 0xd9, 0x8c, 0x66, 0xa3, 0xf4, 0x82, 0xa8, - 0x80, 0x59, 0x98, 0x87, 0x77, 0x01, 0x0c, 0xcb, 0x9f, 0x0a, 0x25, 0x1d, 0x0a, 0x3b, 0x97, 0x04, - 0xd4, 0x44, 0x54, 0x49, 0xc9, 0x49, 0x94, 0xf8, 0xe4, 0x29, 0x15, 0xe4, 0x2f, 0x98, 0x42, 0xee, - 0x03, 0xfa, 0x55, 0xdb, 0x54, 0xc5, 0xf4, 0x5a, 0x5f, 0xdb, 0x63, 0xbe, 0xc7, 0x68, 0x41, 0xdf, - 0xea, 0xcf, 0x45, 0x2d, 0x65, 0x2a, 0x3b, 0xc1, 0xf3, 0x26, 0x38, 0x9c, 0x9b, 0xfe, 0x01, 0x54, - 0x7d, 0x7f, 0xbf, 0x1c, 0xe8, 0xce, 0xb2, 0xe2, 0x2d, 0x8d, 0xf7, 0xe1, 0x73, 0x65, 0x79, 0x76, - 0x85, 0x9d, 0x7b, 0xaa, 0xc4, 0x2e, 0xc9, 0x72, 0x16, 0xfe, 0x24, 0x12, 0x55, 0xbf, 0xde, 0xfa, - 0x2f, 0x78, 0x55, 0x8e, 0x43, 0xcd, 0x25, 0x00, 0x00 + 0x2c, 0x90, 0x2f, 0x03, 0x35, 0x28, 0xdf, 0xba, 0xea, 0x0f, 0x4c, 0x74, 0x79, 0xda, 0x1f, 0x18, + 0x99, 0x08, 0x2b, 0x90, 0x16, 0xbf, 0x97, 0xc0, 0x1f, 0xb6, 0x41, 0xcd, 0x81, 0x40, 0xe2, 0x2d, + 0x29, 0x85, 0xd6, 0x36, 0x31, 0xa4, 0xa8, 0x40, 0xe8, 0xbd, 0x3f, 0x00, 0xaa, 0xf7, 0x47, 0x36, + 0x6d, 0x15, 0x10, 0x7b, 0x0f, 0x7c, 0xc1, 0x04, 0x7d, 0xe0, 0x10, 0x9e, 0xb3, 0x91, 0x81, 0xe8, + 0xcf, 0x24, 0x5d, 0x67, 0xcc, 0xf5, 0x48, 0x36, 0x65, 0x20, 0xfc, 0x76, 0xab, 0xd0, 0x27, 0xd1, + 0x0d, 0x11, 0xa0, 0x93, 0x33, 0xc2, 0x32, 0x4f, 0xa0, 0x02, 0x47, 0xd0, 0x6a, 0x67, 0x2b, 0x44, + 0xe5, 0xb5, 0x9e, 0x2f, 0xb5, 0xda, 0x4f, 0x71, 0x09, 0x47, 0x70, 0x2a, 0x09, 0x3b, 0x25, 0x33, + 0xe2, 0x79, 0xd9, 0x94, 0xc1, 0x29, 0xf4, 0x2e, 0x7e, 0x07, 0xc0, 0x1e, 0xbf, 0xe5, 0x91, 0x37, + 0xf4, 0xc2, 0xe8, 0xc6, 0xc8, 0x24, 0xae, 0x0a, 0xe7, 0xd0, 0xfa, 0x20, 0x37, 0xff, 0x70, 0x22, + 0x8f, 0x8e, 0x39, 0x13, 0xd5, 0x3f, 0xce, 0xc4, 0x5f, 0x85, 0x33, 0xe9, 0xfe, 0x53, 0xaa, 0x5d, + 0xb6, 0x11, 0xc0, 0x81, 0x5c, 0x7e, 0x00, 0x6c, 0x97, 0xe4, 0xc6, 0x93, 0xe1, 0x70, 0x09, 0x59, + 0xda, 0x25, 0x91, 0x96, 0x3e, 0x68, 0x23, 0x3e, 0x1a, 0x81, 0xab, 0x59, 0x58, 0xb9, 0x36, 0xda, + 0x8f, 0x17, 0xdb, 0x6b, 0xb3, 0x57, 0xb5, 0x5a, 0x79, 0x1e, 0xef, 0x93, 0xf7, 0x34, 0xc8, 0xe7, + 0xc0, 0xa6, 0x1d, 0xce, 0xdc, 0x08, 0xe5, 0x61, 0xbe, 0x88, 0x2a, 0x87, 0x68, 0xc2, 0xe3, 0x30, + 0x32, 0xe4, 0x56, 0xed, 0x38, 0x0c, 0x21, 0xc0, 0x23, 0xd5, 0x22, 0xd7, 0xee, 0xcc, 0x8b, 0xc0, + 0x53, 0x40, 0x1a, 0x9d, 0xba, 0x6a, 0x18, 0x8c, 0xb0, 0x1d, 0xb3, 0x1b, 0xc6, 0x67, 0x4c, 0xc6, + 0x12, 0x98, 0xb4, 0x8b, 0x72, 0xf5, 0x39, 0x11, 0x9e, 0x88, 0xdd, 0x0d, 0xdf, 0x02, 0xd1, 0x0e, + 0xaf, 0x33, 0xdf, 0x03, 0xf1, 0x67, 0x1e, 0x62, 0x1f, 0xcb, 0x9a, 0x68, 0x43, 0x16, 0xcb, 0xac, + 0x9f, 0x0f, 0x32, 0xf2, 0x9d, 0x3b, 0x7f, 0x91, 0xf0, 0xe4, 0xb4, 0x04, 0x5e, 0x15, 0x5f, 0xc9, + 0xfa, 0x8e, 0x06, 0x30, 0x58, 0x2c, 0x57, 0xb4, 0x27, 0x3c, 0xe7, 0x6c, 0xbc, 0x9d, 0xda, 0xde, + 0x26, 0xb5, 0x1d, 0x70, 0x46, 0x99, 0xe7, 0x78, 0x85, 0x65, 0xa5, 0xf7, 0x34, 0xb5, 0xbd, 0x75, + 0x6a, 0x73, 0x5b, 0xc8, 0x55, 0xd4, 0x56, 0x64, 0xcf, 0x69, 0x9d, 0xd8, 0xed, 0x31, 0x50, 0x46, + 0x5d, 0x38, 0xa9, 0xa1, 0x80, 0xf7, 0x5c, 0x1a, 0xdb, 0xe6, 0xa9, 0x1b, 0x56, 0x21, 0x69, 0x7e, + 0xc1, 0xb2, 0x88, 0x62, 0x2a, 0x7e, 0x79, 0x76, 0x2e, 0x2f, 0x13, 0xa4, 0x08, 0x31, 0x3a, 0x43, + 0x50, 0x26, 0x9a, 0x32, 0xae, 0xdf, 0xa3, 0x19, 0x0f, 0x6f, 0x22, 0xc8, 0xce, 0xd0, 0x50, 0x66, + 0xfa, 0x34, 0x04, 0x95, 0xf4, 0xe6, 0x31, 0x75, 0x5e, 0x2e, 0x47, 0x31, 0xc3, 0x6b, 0xda, 0x90, + 0x86, 0xc5, 0x7d, 0xbb, 0x2d, 0xef, 0x0b, 0x20, 0x22, 0xee, 0xdb, 0x2d, 0x46, 0x7c, 0x3e, 0x46, + 0x6a, 0x00, 0x71, 0x08, 0x85, 0xb2, 0xae, 0x46, 0x4f, 0x86, 0xa9, 0x8b, 0x73, 0xcd, 0xc9, 0x84, + 0xb0, 0xb1, 0x8c, 0x5a, 0x91, 0x4a, 0x14, 0xa4, 0x00, 0xe6, 0x9b, 0xcb, 0x4b, 0x0b, 0xfb, 0x2d, + 0x18, 0xab, 0x40, 0xe7, 0x9d, 0x93, 0x14, 0x5d, 0xb2, 0xbc, 0xb2, 0x21, 0xe6, 0xb5, 0xdc, 0xb7, + 0xb6, 0x64, 0x09, 0xe8, 0x9c, 0x6c, 0xc7, 0x52, 0xcd, 0x6a, 0x55, 0xe4, 0xb6, 0x60, 0x91, 0xd4, + 0x55, 0xaa, 0x93, 0x6d, 0x78, 0xba, 0x3f, 0x8a, 0xa7, 0x3f, 0xe1, 0x33, 0x54, 0x03, 0x28, 0x20, + 0x17, 0xce, 0xe1, 0x39, 0x61, 0xd5, 0xb4, 0x6c, 0x72, 0xfd, 0xb9, 0x41, 0x93, 0x08, 0x89, 0x90, + 0x78, 0xbe, 0xf1, 0xdc, 0xca, 0x7e, 0x22, 0x55, 0x75, 0x6a, 0x6d, 0x1e, 0x33, 0x01, 0x19, 0x33, + 0x53, 0xf7, 0x66, 0xcf, 0x66, 0x12, 0x1d, 0xbd, 0x76, 0xb1, 0xea, 0x1d, 0x27, 0x7e, 0x5d, 0x0e, + 0x9d, 0x40, 0x86, 0x5d, 0xdf, 0x65, 0xc3, 0x28, 0x68, 0x34, 0xc1, 0x39, 0x84, 0x24, 0xb0, 0xab, + 0xe5, 0x55, 0x8f, 0xd5, 0xfe, 0xd7, 0xf7, 0x5e, 0x7d, 0x1c, 0x1d, 0x2d, 0x09, 0xa7, 0x90, 0x20, + 0x49, 0x72, 0xa6, 0xf6, 0xd9, 0xf7, 0xf6, 0x8a, 0x21, 0xe8, 0x6d, 0x62, 0x49, 0x90, 0x9c, 0x2c, + 0x59, 0xe1, 0xb3, 0x1d, 0xe7, 0xa5, 0x83, 0x2a, 0x25, 0xbc, 0xcd, 0xf3, 0xa9, 0x84, 0xe5, 0xdc, + 0x9c, 0xe7, 0xd5, 0x5d, 0x4e, 0xbf, 0xfb, 0xd2, 0x68, 0x7f, 0x69, 0x93, 0xfa, 0x9a, 0xd8, 0xba, + 0x3f, 0x70, 0x63, 0xb4, 0x84, 0x65, 0x4d, 0x6c, 0xfd, 0x9f, 0xc2, 0xb2, 0xc2, 0xb0, 0x34, 0xf1, + 0x5c, 0x57, 0xb6, 0x04, 0x50, 0xa0, 0xae, 0xef, 0x22, 0x65, 0xeb, 0xcd, 0xa1, 0xad, 0x06, 0x23, + 0x34, 0x81, 0x94, 0x19, 0x4d, 0xc1, 0xdc, 0xdd, 0x1d, 0xf0, 0x39, 0x49, 0x6a, 0x6b, 0xe7, 0xf4, + 0x5d, 0x1f, 0xb8, 0x1b, 0xd0, 0x70, 0xe2, 0x47, 0x1c, 0x39, 0x10, 0x52, 0x86, 0x14, 0xc5, 0x11, + 0x75, 0x11, 0xe8, 0xad, 0xee, 0x32, 0xc8, 0x7b, 0x87, 0x48, 0x22, 0x18, 0x72, 0x48, 0x41, 0xde, + 0xf7, 0x2f, 0x7a, 0x88, 0x30, 0x17, 0x9d, 0x0e, 0x20, 0x9d, 0x6e, 0x5d, 0x9e, 0x21, 0x87, 0x4f, + 0xa7, 0x30, 0x10, 0x15, 0x73, 0x12, 0xef, 0xfb, 0x18, 0xec, 0x57, 0x5f, 0xef, 0x8a, 0x09, 0x4d, + 0xe8, 0x41, 0x67, 0x27, 0x80, 0xd7, 0xe7, 0xb3, 0x1d, 0xe9, 0xba, 0x90, 0xdc, 0x5b, 0xa6, 0xca, + 0x65, 0x99, 0x28, 0x2b, 0x30, 0x97, 0x8e, 0x48, 0xec, 0x0b, 0x44, 0x74, 0xd5, 0x27, 0x2b, 0x51, + 0x28, 0x6e, 0xe4, 0x0d, 0x37, 0x49, 0x50, 0x28, 0x9f, 0x07, 0xf8, 0x5b, 0x3e, 0xbd, 0x23, 0xe8, + 0x82, 0x95, 0x2e, 0x46, 0x23, 0xa4, 0x19, 0x58, 0x8f, 0xc0, 0xad, 0x72, 0x2a, 0xd2, 0xe9, 0xb3, + 0x0d, 0xce, 0x25, 0xd7, 0xb3, 0x7a, 0x30, 0xad, 0xca, 0x4f, 0x61, 0x51, 0xc6, 0x9f, 0xda, 0x61, + 0xe1, 0x02, 0x5c, 0x6c, 0x4a, 0xe6, 0x6a, 0x83, 0xa0, 0xfd, 0x3c, 0xfe, 0x5c, 0xc6, 0x06, 0x52, + 0xc3, 0xdd, 0xc2, 0xb9, 0x37, 0x9e, 0x88, 0xe5, 0x1d, 0xa2, 0xf5, 0x2d, 0x7a, 0xcb, 0x5b, 0xe4, + 0x7e, 0x88, 0x07, 0xa9, 0x53, 0x49, 0x77, 0x47, 0x1f, 0x4a, 0xa2, 0x53, 0xaa, 0x7b, 0x89, 0x72, + 0x49, 0x67, 0x16, 0x5c, 0xe2, 0xd8, 0x63, 0xf5, 0x32, 0x22, 0xb1, 0xe0, 0x3a, 0xf8, 0x25, 0xad, + 0x29, 0x7b, 0xe5, 0xfe, 0xd9, 0xb5, 0x83, 0x38, 0x9a, 0x48, 0xbc, 0xd1, 0xcc, 0x83, 0xa4, 0x53, + 0xf7, 0x3c, 0xe1, 0x7f, 0x04, 0x29, 0x9b, 0x50, 0x8a, 0xc3, 0x59, 0x61, 0x77, 0x2c, 0x1a, 0x90, + 0x54, 0xa5, 0x93, 0x3e, 0xa4, 0x03, 0x6a, 0x6a, 0x34, 0xd2, 0x73, 0x2c, 0x9d, 0x72, 0x79, 0x0c, + 0x74, 0xc8, 0xc9, 0x5e, 0xa9, 0xb5, 0xe8, 0xa0, 0xe6, 0xe6, 0xb7, 0xd4, 0x4d, 0x21, 0xeb, 0x62, + 0x39, 0x38, 0xff, 0xab, 0xbb, 0xae, 0x04, 0xe5, 0x26, 0x21, 0x1d, 0x59, 0xcf, 0xfe, 0x7c, 0x46, + 0xb3, 0x51, 0x7a, 0x41, 0x54, 0xc0, 0x2c, 0xcc, 0xc3, 0xbb, 0x00, 0x86, 0xe5, 0x4f, 0x86, 0x92, + 0x4e, 0x85, 0x9d, 0x4b, 0x02, 0x6a, 0x22, 0xaa, 0xa4, 0xf4, 0x24, 0x4a, 0x7c, 0xf2, 0x94, 0x0a, + 0xf2, 0x97, 0x4c, 0x21, 0xf7, 0x01, 0xfd, 0xaa, 0x6d, 0xaa, 0xa2, 0x7a, 0xad, 0xbf, 0xed, 0x31, + 0xdf, 0x63, 0xb4, 0xa0, 0x6f, 0xf7, 0xe7, 0xa2, 0x96, 0x32, 0x95, 0x1d, 0xe1, 0x79, 0x33, 0x1c, + 0xce, 0x4d, 0xff, 0x10, 0xaa, 0xbe, 0xbf, 0x5f, 0x0e, 0x74, 0x87, 0x59, 0xf1, 0x96, 0xc6, 0xfb, + 0xf0, 0xb9, 0xf2, 0x3c, 0xbb, 0xd2, 0xce, 0x3d, 0x55, 0x6a, 0x97, 0x64, 0x59, 0x0b, 0x7f, 0x12, + 0x89, 0xaa, 0x5f, 0x71, 0xfd, 0x17, 0xe4, 0x6b, 0x8f, 0xcb, 0xd5, 0x25, 0x00, 0x00 }; // Autogenerated from wled00/data/settings_sec.htm, do not edit!! const uint16_t PAGE_settings_sec_length = 2483; const uint8_t PAGE_settings_sec[] PROGMEM = { - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0xad, 0x58, 0xff, 0x72, 0xd3, 0x48, - 0x12, 0xfe, 0xdf, 0x4f, 0x31, 0x1e, 0xaa, 0x58, 0xeb, 0x50, 0xe4, 0x10, 0xa8, 0x3d, 0x08, 0x96, - 0xb9, 0x84, 0x84, 0x25, 0x57, 0x09, 0x49, 0x61, 0xb3, 0xdc, 0x15, 0x47, 0x51, 0x63, 0x69, 0x6c, - 0x0d, 0x96, 0x34, 0xda, 0x99, 0x51, 0x8c, 0x8f, 0xdd, 0xf7, 0xb8, 0xa7, 0xb9, 0x87, 0xb9, 0x27, - 0xb9, 0xaf, 0x47, 0x92, 0xed, 0x40, 0x80, 0xa2, 0xee, 0xfe, 0x48, 0x6c, 0x69, 0x66, 0xfa, 0xc7, - 0xd7, 0xdd, 0x5f, 0xf7, 0x78, 0xd4, 0x3f, 0xb9, 0x7c, 0x36, 0xfd, 0xfb, 0xd5, 0x29, 0xcb, 0x5c, - 0x91, 0x8f, 0x47, 0xf4, 0x9f, 0xe5, 0xa2, 0x5c, 0xc4, 0x5c, 0x96, 0x1c, 0xcf, 0x52, 0xa4, 0xe3, - 0x51, 0x21, 0x9d, 0x60, 0xbd, 0x44, 0x97, 0x4e, 0x96, 0x2e, 0xe6, 0x2b, 0x95, 0xba, 0x2c, 0x4e, - 0xe5, 0xb5, 0x4a, 0xe4, 0x9e, 0x7f, 0x08, 0x55, 0xa9, 0x9c, 0x12, 0xf9, 0x9e, 0x4d, 0x44, 0x2e, - 0xe3, 0xfb, 0x61, 0x21, 0x3e, 0xaa, 0xa2, 0x2e, 0x36, 0xcf, 0xb5, 0x95, 0xc6, 0x3f, 0x88, 0x19, - 0x9e, 0x4b, 0xcd, 0x59, 0xaf, 0x14, 0x85, 0x8c, 0xf9, 0xb5, 0x92, 0xab, 0x4a, 0x1b, 0xc7, 0x5b, - 0x2d, 0x49, 0x26, 0x8c, 0x95, 0x50, 0x52, 0xbb, 0xf9, 0xde, 0x23, 0xbc, 0x75, 0xca, 0xe5, 0x72, - 0x7c, 0xa1, 0x6c, 0xc2, 0x26, 0xd2, 0x39, 0x55, 0x2e, 0xec, 0x68, 0xd8, 0xbc, 0x1c, 0xd9, 0xc4, - 0xa8, 0xca, 0x8d, 0x7b, 0xd7, 0xc2, 0xb0, 0x5c, 0x27, 0xaa, 0x0a, 0x9d, 0x2a, 0xa4, 0xae, 0x5d, - 0x98, 0xc6, 0xa9, 0x4e, 0xea, 0x02, 0xe6, 0x86, 0x58, 0x88, 0xfb, 0xf7, 0x9f, 0xcc, 0xeb, 0x32, - 0x71, 0x4a, 0x97, 0xec, 0xc5, 0x20, 0xf8, 0xb4, 0x52, 0x65, 0xaa, 0x57, 0x91, 0xae, 0x64, 0x39, - 0xe0, 0x99, 0x73, 0x95, 0x3d, 0x1c, 0x0e, 0x8b, 0x22, 0x5a, 0x96, 0x3a, 0x5a, 0xe5, 0x32, 0x8d, - 0x16, 0x72, 0x38, 0x97, 0xc2, 0xd5, 0x46, 0xda, 0xa1, 0x6d, 0xd5, 0x0e, 0xef, 0x58, 0x99, 0xd4, - 0x46, 0xb9, 0xf5, 0x5e, 0xf7, 0x8a, 0x07, 0x7f, 0x6c, 0xe4, 0x1e, 0x7f, 0x2e, 0x77, 0x73, 0x90, - 0x87, 0xfc, 0xbd, 0x95, 0xf9, 0x7c, 0x77, 0xf7, 0xeb, 0x2f, 0x76, 0xd7, 0x55, 0x2a, 0x9c, 0xbc, - 0x6d, 0xef, 0xe2, 0x2c, 0x1d, 0xc8, 0xe0, 0x93, 0x91, 0xb0, 0xa7, 0x64, 0x64, 0x9c, 0x3b, 0xcd, - 0x25, 0x39, 0x77, 0xbc, 0xf6, 0x4b, 0xdb, 0xad, 0xca, 0x5e, 0xce, 0x3e, 0xec, 0x6c, 0x96, 0x77, - 0xef, 0x72, 0x3d, 0xfb, 0x20, 0x13, 0xc7, 0xe3, 0xd8, 0xad, 0x2b, 0xa9, 0xe7, 0xf4, 0xae, 0x7f, - 0x64, 0x8c, 0x58, 0x47, 0xca, 0xfa, 0xcf, 0x1b, 0x12, 0x72, 0x2d, 0xd2, 0xbf, 0x4e, 0x06, 0x32, - 0x74, 0x71, 0x7f, 0x3f, 0xf8, 0x94, 0x4b, 0xc7, 0x74, 0x9c, 0x46, 0x89, 0x01, 0x1c, 0xb2, 0x55, - 0x3b, 0xe0, 0x0d, 0xf2, 0x3c, 0x78, 0xa2, 0x23, 0x78, 0x79, 0xe4, 0x9c, 0x51, 0xb3, 0xda, 0x49, - 0x2c, 0x98, 0x84, 0x87, 0x32, 0x08, 0x3f, 0x7f, 0x4f, 0xba, 0xe1, 0x9b, 0x93, 0x1f, 0xdd, 0xf0, - 0x83, 0xb8, 0x16, 0x9d, 0x80, 0x2f, 0x36, 0x0a, 0xbb, 0x2e, 0x21, 0xc2, 0x05, 0x61, 0x1a, 0xcd, - 0x74, 0xba, 0x8e, 0x44, 0x05, 0x7c, 0xd2, 0x67, 0x99, 0xca, 0xd3, 0x81, 0xa6, 0xfd, 0x22, 0x4d, - 0x4f, 0xaf, 0x61, 0xc5, 0xb9, 0xb2, 0xc8, 0x47, 0x69, 0x06, 0x9c, 0x6c, 0xe6, 0xe1, 0x20, 0x88, - 0xc7, 0x9f, 0x7e, 0x91, 0xee, 0xd7, 0x41, 0x10, 0x42, 0xe6, 0x71, 0xb2, 0x7c, 0xae, 0x72, 0x49, - 0x69, 0x36, 0x20, 0x04, 0xf9, 0x2c, 0x59, 0x26, 0xf3, 0x05, 0x0f, 0xbe, 0xba, 0x5a, 0x21, 0xda, - 0xd2, 0x21, 0xa8, 0xc1, 0x1f, 0xb7, 0xeb, 0x91, 0xc6, 0x68, 0x03, 0xf7, 0xa0, 0x07, 0xc5, 0x60, - 0x75, 0x2e, 0xa3, 0x5c, 0x2f, 0x06, 0xfc, 0x94, 0xde, 0xb3, 0x16, 0x3c, 0x44, 0x9c, 0xcd, 0x21, - 0xda, 0xc3, 0x80, 0xec, 0x37, 0x80, 0xeb, 0xbc, 0x7d, 0x0f, 0xf4, 0x71, 0x70, 0xae, 0x16, 0xb5, - 0x11, 0x1e, 0xed, 0x06, 0x06, 0x36, 0x17, 0x8a, 0xb2, 0xee, 0x1f, 0xe5, 0x59, 0x99, 0xe8, 0xa2, - 0x02, 0xe8, 0x92, 0x55, 0x62, 0x21, 0x19, 0x52, 0x42, 0xf4, 0x91, 0x0b, 0x3b, 0x01, 0xb2, 0x99, - 0x5e, 0x4d, 0xb5, 0xb0, 0xae, 0x89, 0xd1, 0xfd, 0xe0, 0x13, 0xa5, 0xbf, 0x8e, 0xbd, 0x17, 0x8e, - 0x16, 0x7c, 0x58, 0x54, 0x09, 0x93, 0x5f, 0x4c, 0x2f, 0xce, 0x63, 0x09, 0x5f, 0x92, 0x5c, 0x58, - 0x4b, 0x8e, 0x90, 0x57, 0x03, 0xf7, 0xb4, 0x75, 0xe5, 0x90, 0x93, 0x34, 0x44, 0x21, 0xc9, 0xa5, - 0x30, 0xd3, 0xa6, 0x78, 0x06, 0x6d, 0x11, 0xf9, 0xd8, 0xb8, 0x35, 0x9c, 0x14, 0xa5, 0x2a, 0xbc, - 0xbd, 0x31, 0x2f, 0x75, 0x09, 0xcf, 0xda, 0x1d, 0x31, 0xe0, 0xea, 0x0e, 0x0d, 0x3a, 0x03, 0x91, - 0xd8, 0xbb, 0xfa, 0x8c, 0x2c, 0xf4, 0x35, 0x25, 0x86, 0x57, 0x04, 0x60, 0x0f, 0x1e, 0xef, 0xef, - 0xef, 0xb8, 0x53, 0x57, 0x04, 0x1a, 0xc5, 0x82, 0xfc, 0xe9, 0x9c, 0x29, 0xe5, 0x8a, 0xfd, 0xed, - 0xe2, 0xfc, 0x05, 0x4a, 0xf3, 0x95, 0xfc, 0xad, 0x96, 0xd6, 0x3d, 0xf9, 0x46, 0xe0, 0x77, 0x54, - 0x6f, 0xd1, 0x71, 0x99, 0xb2, 0xd0, 0x6e, 0x2b, 0x44, 0x4a, 0x4e, 0x91, 0x77, 0xa1, 0x7f, 0x63, - 0x1d, 0xca, 0xda, 0x8e, 0xe3, 0x87, 0x64, 0x45, 0xf0, 0xcd, 0x38, 0x6f, 0xe5, 0xca, 0x5d, 0xc1, - 0x92, 0x64, 0x24, 0xcb, 0xb0, 0xdf, 0x09, 0x68, 0x0a, 0xf8, 0xea, 0x72, 0x32, 0x45, 0x86, 0x0f, - 0x1b, 0x87, 0x10, 0x03, 0xf2, 0xa4, 0xf4, 0x9e, 0x3c, 0xd7, 0xa6, 0x38, 0x41, 0x24, 0x9f, 0xb4, - 0x55, 0x59, 0xb6, 0x49, 0x3d, 0xe0, 0x14, 0x5f, 0x24, 0x4a, 0x44, 0x09, 0x63, 0xdf, 0xee, 0xbf, - 0x0b, 0x1b, 0xd4, 0x69, 0xad, 0x0c, 0xf0, 0xfe, 0x5a, 0xe4, 0x35, 0x58, 0x92, 0x87, 0xfd, 0xfb, - 0x5b, 0xc8, 0x92, 0x4c, 0x26, 0xcb, 0x97, 0x75, 0xb1, 0xad, 0xf3, 0xfe, 0xa0, 0x2f, 0xc9, 0x85, - 0x68, 0x29, 0xd7, 0x11, 0x42, 0x95, 0x64, 0x83, 0xe1, 0xdb, 0xfd, 0xbd, 0xc7, 0xef, 0x86, 0x01, - 0x8a, 0xfd, 0x2d, 0x3f, 0x86, 0xbd, 0xb6, 0x12, 0x09, 0x95, 0xe0, 0x54, 0xcc, 0xf0, 0xff, 0x14, - 0x5c, 0x0e, 0x17, 0xf9, 0x24, 0x53, 0x73, 0x87, 0xcf, 0x67, 0x20, 0x77, 0xa3, 0x73, 0x7c, 0x3b, - 0xca, 0xe9, 0xf9, 0x4a, 0x80, 0xb2, 0xe9, 0xbd, 0xa8, 0xec, 0xb9, 0x4e, 0x96, 0x74, 0x04, 0xfc, - 0xed, 0x8b, 0x78, 0xd2, 0x4a, 0xba, 0x42, 0x86, 0xbe, 0xae, 0xda, 0x2f, 0x27, 0x7a, 0x55, 0x7a, - 0xb9, 0x08, 0x08, 0x7f, 0xa1, 0x0b, 0xda, 0x00, 0x76, 0xd1, 0xab, 0x73, 0xe9, 0x15, 0xf8, 0xef, - 0x7e, 0xb7, 0xff, 0xf6, 0x4a, 0x2d, 0xb2, 0xcd, 0xeb, 0xf6, 0xec, 0x19, 0x02, 0x65, 0xe8, 0xe5, - 0x89, 0xa4, 0x0a, 0xe0, 0xef, 0x90, 0xc4, 0x49, 0x5e, 0xa7, 0xd2, 0x0e, 0x36, 0xde, 0x05, 0xc1, - 0xef, 0xbf, 0xb7, 0x4f, 0x28, 0x57, 0xfa, 0x3c, 0x91, 0x73, 0x51, 0xe7, 0x0e, 0x45, 0x8f, 0x5a, - 0xd8, 0x29, 0x93, 0x9b, 0x35, 0x0e, 0xa8, 0xe4, 0x67, 0x4c, 0x03, 0xee, 0x2d, 0x9b, 0x04, 0xe2, - 0xc4, 0xf9, 0xef, 0xf9, 0x3d, 0x49, 0xd4, 0x7a, 0xdb, 0x8e, 0xe0, 0xde, 0x80, 0xbf, 0x39, 0x3f, - 0x3d, 0x01, 0x89, 0xda, 0xf4, 0x29, 0x47, 0xdd, 0x60, 0xb7, 0x4d, 0x83, 0x1d, 0x7d, 0x13, 0x24, - 0x1f, 0xa7, 0x30, 0x1e, 0x62, 0x53, 0xcb, 0xec, 0x68, 0x3d, 0xbe, 0x6c, 0x60, 0xaa, 0x76, 0x3a, - 0xd1, 0xf9, 0xdd, 0xbb, 0x03, 0xdf, 0x8e, 0xf6, 0xc3, 0x81, 0xef, 0x57, 0x31, 0xed, 0xc8, 0x27, - 0x4e, 0x1b, 0x20, 0x48, 0xca, 0xcf, 0x9c, 0x2c, 0x28, 0xad, 0x93, 0xb3, 0x8a, 0x7b, 0x57, 0x9b, - 0x6d, 0x38, 0x5f, 0x54, 0xe0, 0x11, 0x72, 0x87, 0x5d, 0xe8, 0x54, 0x46, 0xec, 0x0a, 0x15, 0x6b, - 0x25, 0x93, 0x14, 0x47, 0x46, 0xb6, 0xb1, 0xb3, 0x2b, 0x30, 0x45, 0x78, 0x43, 0xa2, 0xbd, 0x29, - 0x31, 0xf4, 0xd2, 0x82, 0x80, 0x76, 0x79, 0x96, 0x27, 0xf1, 0x4f, 0x7d, 0x03, 0x44, 0xff, 0xe3, - 0xf7, 0xfc, 0xf2, 0x21, 0x87, 0xbb, 0xdb, 0xe6, 0x35, 0xb4, 0xd1, 0x07, 0xfb, 0xb4, 0x8a, 0x7f, - 0xe6, 0x1e, 0xdf, 0xde, 0x68, 0xd8, 0x76, 0xdd, 0x91, 0xe7, 0x86, 0xf1, 0x5f, 0x54, 0x41, 0xfd, - 0x9b, 0xd5, 0x26, 0x47, 0x91, 0x7b, 0xba, 0x48, 0x2c, 0x38, 0xf4, 0x09, 0x36, 0xfa, 0x0d, 0xa3, - 0x61, 0x33, 0x44, 0x10, 0x99, 0x83, 0x23, 0x49, 0x73, 0xcc, 0x81, 0x16, 0x7a, 0xfb, 0x1c, 0x75, - 0xd1, 0x63, 0x0a, 0xcf, 0xf4, 0xed, 0xbd, 0xe5, 0xac, 0x19, 0x0a, 0x26, 0x73, 0xce, 0x30, 0x0d, - 0x64, 0x1a, 0x2b, 0x95, 0xb6, 0x34, 0x1c, 0xa4, 0xea, 0x9a, 0x79, 0x52, 0x89, 0xc1, 0x71, 0x80, - 0x63, 0x75, 0xf3, 0x5d, 0x26, 0xf3, 0xea, 0x98, 0x8f, 0x7b, 0x23, 0x04, 0xce, 0x21, 0x1a, 0xd4, - 0x6e, 0x62, 0xde, 0x3c, 0x70, 0x68, 0x4d, 0x72, 0x95, 0x2c, 0x63, 0xfe, 0x82, 0xd4, 0x3e, 0x1d, - 0x0d, 0x9b, 0x05, 0x98, 0x06, 0x11, 0xe3, 0xdb, 0xcf, 0xf4, 0x36, 0x87, 0x8e, 0xe9, 0x10, 0x55, - 0xd0, 0xf6, 0xdc, 0x8d, 0x13, 0xb6, 0x9e, 0x15, 0x0a, 0x36, 0x4e, 0xc4, 0xb5, 0xdc, 0x6e, 0xc9, - 0x4c, 0x27, 0x3e, 0x3b, 0x18, 0xf7, 0x26, 0xed, 0xe4, 0xc0, 0xee, 0xb2, 0xd7, 0xbe, 0xcf, 0x53, - 0x7e, 0xd6, 0x15, 0xb0, 0x39, 0x18, 0x77, 0x63, 0x0d, 0xbb, 0x3a, 0x7b, 0x79, 0xc8, 0x46, 0xaa, - 0xac, 0x6a, 0xd7, 0x8a, 0xae, 0xe0, 0xdc, 0x4a, 0x9b, 0x94, 0x7b, 0x90, 0xb0, 0xbe, 0x99, 0x9b, - 0xfc, 0x77, 0xab, 0xfe, 0x89, 0xaf, 0x0f, 0x01, 0x96, 0xf8, 0x88, 0x3c, 0x5f, 0x60, 0x2a, 0xf3, - 0x4f, 0xaa, 0xdc, 0x79, 0xd2, 0x25, 0xca, 0x86, 0x32, 0x39, 0xe6, 0x1b, 0xe2, 0x20, 0x26, 0x0c, - 0x20, 0xab, 0x12, 0x0e, 0xe9, 0x83, 0x15, 0x4f, 0x16, 0x7f, 0x82, 0x1a, 0x52, 0x5e, 0x20, 0xc1, - 0xc0, 0xf4, 0x18, 0x9f, 0x8c, 0x4a, 0x38, 0xf3, 0xc3, 0x16, 0x34, 0xee, 0x26, 0x9c, 0x60, 0x0f, - 0x59, 0xaa, 0x16, 0xca, 0x31, 0x6c, 0x9b, 0x81, 0x49, 0x80, 0x89, 0x01, 0xfc, 0x14, 0x12, 0x1f, - 0x76, 0x28, 0xd3, 0xb9, 0x36, 0x87, 0x77, 0xe6, 0x62, 0x1f, 0x71, 0xb9, 0x7b, 0xe7, 0xf1, 0xa3, - 0x47, 0x8f, 0x9e, 0xb0, 0xd7, 0xa5, 0x2c, 0x13, 0xb3, 0xae, 0x9c, 0x4c, 0x99, 0x33, 0xa2, 0xb4, - 0x85, 0xb2, 0x96, 0x2a, 0x84, 0x1d, 0xa3, 0xe3, 0x19, 0xd4, 0x7a, 0xe9, 0xd8, 0x2a, 0x93, 0x54, - 0xbf, 0x39, 0xa6, 0x16, 0x6a, 0x9a, 0x70, 0x35, 0x64, 0xa9, 0x66, 0x2f, 0x2f, 0xa7, 0x0c, 0xa4, - 0xc4, 0xd6, 0xba, 0x36, 0x6c, 0x26, 0xca, 0x25, 0x16, 0x69, 0x41, 0x9b, 0x90, 0x4d, 0xce, 0x2e, - 0x42, 0x26, 0x5d, 0x12, 0xb1, 0x4a, 0x95, 0xfd, 0x5e, 0x17, 0x58, 0x33, 0x26, 0xee, 0x62, 0x2b, - 0x65, 0x20, 0xcd, 0x5a, 0x36, 0xb8, 0x9c, 0x1e, 0x05, 0xcc, 0xea, 0xb9, 0x5b, 0x09, 0x23, 0x59, - 0x33, 0x72, 0x7d, 0x86, 0xb9, 0x07, 0x69, 0xa6, 0x3f, 0x76, 0xc9, 0xf8, 0xf2, 0xd2, 0xe7, 0x95, - 0x19, 0x5f, 0x21, 0x18, 0x55, 0x66, 0x00, 0xc2, 0x57, 0xa3, 0xd4, 0x9c, 0xb8, 0xbc, 0xba, 0x11, - 0x91, 0x07, 0x07, 0x2d, 0x3a, 0x53, 0x0d, 0xf4, 0x68, 0x00, 0x66, 0x30, 0x23, 0x64, 0xc8, 0x79, - 0xd6, 0x4d, 0x94, 0x0c, 0xe3, 0x95, 0x45, 0xa3, 0x22, 0xe7, 0x58, 0x29, 0x09, 0x1d, 0xcd, 0x44, - 0x6e, 0x75, 0x8b, 0xb7, 0xcb, 0x24, 0x26, 0x07, 0x63, 0x00, 0x09, 0xeb, 0xd4, 0xf5, 0xbd, 0x55, - 0xd3, 0x4c, 0x6e, 0xde, 0xd0, 0x6c, 0x50, 0xe7, 0x29, 0x9b, 0x49, 0x9a, 0xa3, 0xcb, 0x05, 0xc4, - 0x78, 0x2c, 0xa1, 0x0e, 0x93, 0x61, 0xab, 0x3c, 0x8d, 0xe8, 0xd8, 0x68, 0x36, 0xee, 0x9d, 0x28, - 0xdb, 0x59, 0xd3, 0xec, 0x2b, 0xb5, 0x43, 0x06, 0x10, 0xc8, 0x21, 0xd3, 0x50, 0x69, 0x56, 0x0a, - 0x78, 0x8b, 0x92, 0x21, 0x4d, 0x90, 0xff, 0xb0, 0x23, 0xc1, 0x83, 0x91, 0x73, 0x14, 0x5d, 0xc6, - 0x9a, 0x0b, 0xc0, 0x06, 0x4d, 0x42, 0x7d, 0xe6, 0x1d, 0x1d, 0xa9, 0x6d, 0x4e, 0x53, 0x95, 0x20, - 0xd9, 0x9a, 0x69, 0x86, 0x30, 0x07, 0x03, 0xac, 0x1b, 0xeb, 0xbc, 0x6e, 0x35, 0xf7, 0xea, 0x73, - 0x0a, 0x13, 0xb6, 0xa5, 0x8d, 0x49, 0x69, 0x7f, 0x34, 0x54, 0x0d, 0xea, 0x27, 0xb2, 0x5c, 0x33, - 0x91, 0x24, 0x14, 0x3e, 0x60, 0xf2, 0x46, 0x3d, 0x57, 0xac, 0xe3, 0x26, 0x3a, 0x4d, 0x27, 0x65, - 0xfa, 0x9d, 0x18, 0x5e, 0xbe, 0x69, 0x63, 0x48, 0x7f, 0xcf, 0x45, 0x02, 0x7a, 0x24, 0xc8, 0x21, - 0xe7, 0x3b, 0x07, 0x5f, 0x4d, 0xda, 0xd8, 0x1d, 0xe5, 0xf9, 0x56, 0xad, 0x28, 0x53, 0xd6, 0x0e, - 0x8b, 0xc8, 0x2d, 0xac, 0x00, 0x70, 0x49, 0x89, 0xd1, 0x61, 0x6b, 0xc6, 0xff, 0x43, 0x25, 0x1c, - 0xed, 0xe0, 0xed, 0xe1, 0x03, 0xc6, 0x30, 0x06, 0x69, 0xe1, 0x10, 0xe4, 0xa5, 0x8f, 0x81, 0xa2, - 0xac, 0x48, 0x24, 0x8d, 0x8e, 0x60, 0xce, 0x66, 0x4c, 0xec, 0xb2, 0x9e, 0x98, 0x27, 0x7b, 0x30, - 0x9e, 0x74, 0x59, 0xde, 0x10, 0x0e, 0xa8, 0xe6, 0xc1, 0xf8, 0x3b, 0xf4, 0xf8, 0x9a, 0x98, 0xae, - 0x77, 0x21, 0xca, 0x5a, 0xe4, 0x3e, 0x2c, 0xdd, 0xd1, 0x0d, 0xef, 0x99, 0xf1, 0x69, 0x93, 0xc1, - 0x47, 0x26, 0xad, 0x55, 0xa9, 0xb1, 0xe9, 0xab, 0x08, 0xb6, 0x4c, 0x75, 0x74, 0xc9, 0x37, 0x36, - 0x11, 0x8b, 0xd6, 0x15, 0x48, 0xf0, 0x15, 0x26, 0x3a, 0x6d, 0x5a, 0xa3, 0x44, 0xc7, 0xe2, 0x33, - 0x87, 0x11, 0xba, 0x5c, 0x36, 0x6c, 0xd7, 0x8e, 0xeb, 0xac, 0x97, 0x21, 0xe1, 0x62, 0x3e, 0x6c, - 0x01, 0x47, 0x37, 0x22, 0x9b, 0xbb, 0xd6, 0x8c, 0xea, 0x6b, 0xa7, 0xf6, 0x4e, 0x78, 0xfb, 0x3c, - 0x1a, 0x8a, 0x4d, 0x20, 0xc6, 0xbd, 0x56, 0xdf, 0x66, 0xd1, 0x67, 0xe9, 0x8e, 0xd5, 0x7e, 0x60, - 0x6f, 0x63, 0xee, 0x67, 0x32, 0x9f, 0x72, 0x15, 0xee, 0xa1, 0x8d, 0xbe, 0x31, 0xeb, 0xa0, 0xeb, - 0xdd, 0x8e, 0xdd, 0x4f, 0x3b, 0x73, 0x6c, 0x1a, 0x4d, 0xe6, 0x11, 0x49, 0x09, 0x3f, 0xb3, 0x3a, - 0xf8, 0x69, 0xfc, 0xda, 0x6f, 0xdb, 0x20, 0xda, 0x24, 0xe5, 0x86, 0xad, 0xbe, 0x0e, 0x45, 0xe7, - 0x25, 0x6b, 0xd1, 0x00, 0x34, 0x2d, 0x12, 0xbd, 0x2d, 0x14, 0x84, 0x57, 0x07, 0xc3, 0x8d, 0x7b, - 0xc6, 0x0d, 0x30, 0x3a, 0x2c, 0x6e, 0xee, 0xd8, 0x22, 0xd2, 0xbb, 0x1d, 0x92, 0x83, 0xaf, 0x63, - 0xf2, 0x95, 0xce, 0x79, 0x2b, 0x26, 0x07, 0xe1, 0x8e, 0xf1, 0x5f, 0x02, 0xb2, 0x83, 0x07, 0x55, - 0x50, 0xef, 0x5b, 0x25, 0xd4, 0x38, 0x42, 0x2d, 0xa2, 0x45, 0x67, 0x78, 0xf3, 0x72, 0xe5, 0x4b, - 0xf3, 0xf2, 0xd7, 0xd3, 0x57, 0x6f, 0x5e, 0x9d, 0x4d, 0x4f, 0x9b, 0xbe, 0x01, 0xba, 0x35, 0xd4, - 0x63, 0x6e, 0x3d, 0x11, 0xf9, 0x70, 0xf4, 0xe8, 0x12, 0xd6, 0x50, 0xed, 0x4d, 0x79, 0x85, 0x20, - 0xd2, 0xf8, 0xad, 0x46, 0x37, 0x41, 0x03, 0x9c, 0xef, 0xd2, 0x08, 0x03, 0x97, 0x1b, 0xb9, 0xe7, - 0x89, 0xb1, 0xbd, 0xe8, 0x79, 0x75, 0xa7, 0x93, 0xab, 0xa8, 0xad, 0xcb, 0xe7, 0xb7, 0xd0, 0x7d, - 0xb8, 0xa1, 0x6e, 0xeb, 0xc9, 0x91, 0x08, 0x78, 0x46, 0x95, 0x9f, 0xa2, 0x37, 0x45, 0x5d, 0xd5, - 0x1c, 0xcd, 0x70, 0xc1, 0xea, 0x4a, 0xa5, 0x2d, 0x87, 0xee, 0x47, 0x0b, 0xb4, 0xe0, 0xac, 0x9e, - 0x45, 0xb8, 0x35, 0x0e, 0x2f, 0xb4, 0x2e, 0x31, 0x1b, 0xd6, 0xe8, 0x74, 0x43, 0x1a, 0x08, 0x87, - 0x68, 0xdd, 0xc2, 0x2c, 0xe8, 0xc7, 0x94, 0xf7, 0xb3, 0x1c, 0xfd, 0x92, 0x8f, 0xe9, 0xf5, 0xc5, - 0x05, 0x65, 0x43, 0x8f, 0x5d, 0x4b, 0x43, 0x7c, 0xc3, 0xf6, 0xa3, 0xfb, 0x0f, 0xa3, 0xfd, 0xbd, - 0xd9, 0xc1, 0x9f, 0xa3, 0x07, 0x07, 0xec, 0x3f, 0xff, 0xfa, 0x37, 0x61, 0x30, 0x48, 0x02, 0x76, - 0xb0, 0x7f, 0xf0, 0x80, 0xfd, 0x98, 0x46, 0xba, 0xbc, 0xc2, 0x8f, 0x61, 0x21, 0x54, 0x19, 0x45, - 0xd1, 0xce, 0xfa, 0x21, 0xad, 0x1f, 0x16, 0xe8, 0x19, 0x48, 0x90, 0xcf, 0xcd, 0xfa, 0xc5, 0x8b, - 0x64, 0x3b, 0xdb, 0x9b, 0x89, 0xf6, 0x99, 0x2e, 0x30, 0x59, 0xb1, 0xa3, 0x1a, 0xa3, 0xa0, 0xd9, - 0x56, 0x34, 0xfe, 0xe6, 0x44, 0x84, 0x00, 0xf9, 0xff, 0x01, 0xc8, 0xe1, 0x46, 0xf0, 0x0f, 0x09, - 0x5b, 0xa9, 0xa5, 0x1a, 0xfa, 0x6b, 0x13, 0xdd, 0x16, 0x60, 0xdf, 0x1e, 0xda, 0xc2, 0x5e, 0x62, - 0x64, 0xaa, 0xa8, 0x4e, 0xbf, 0x70, 0x72, 0x77, 0x2b, 0xc6, 0x16, 0x49, 0x17, 0x40, 0xb4, 0x00, - 0x25, 0x9b, 0x7e, 0x62, 0x2b, 0x99, 0x28, 0xd0, 0xae, 0x43, 0x6b, 0x5c, 0x6e, 0x7c, 0xed, 0x1d, - 0xb1, 0xac, 0x46, 0xe7, 0xf4, 0x6f, 0xfd, 0x70, 0x80, 0x1e, 0x88, 0x6b, 0x8f, 0x59, 0xe3, 0x1e, - 0x8e, 0xa6, 0xad, 0x19, 0x4d, 0xbe, 0x48, 0x17, 0xf4, 0x87, 0xe6, 0x27, 0x1a, 0x8f, 0x5c, 0xbf, - 0xc3, 0xa9, 0xe7, 0x71, 0x4c, 0xa8, 0xdc, 0x9b, 0x90, 0xde, 0xff, 0x79, 0xcf, 0xc7, 0xf5, 0x59, - 0x66, 0x70, 0xdd, 0x55, 0x68, 0x25, 0x93, 0x24, 0x5b, 0xd1, 0x8f, 0x05, 0x6d, 0xe7, 0x3e, 0x47, - 0x4f, 0xc7, 0x3d, 0x0c, 0x09, 0x08, 0xf3, 0x9a, 0xc1, 0xe3, 0xc7, 0x70, 0x99, 0xe5, 0x7a, 0x86, - 0x04, 0xc0, 0x5d, 0xda, 0x0c, 0xcf, 0xcf, 0x9e, 0x9d, 0xbe, 0x9c, 0x9c, 0x7e, 0x89, 0x7b, 0xef, - 0xe2, 0x6c, 0xca, 0xf2, 0x46, 0x95, 0xf7, 0x15, 0xed, 0xbe, 0xb3, 0x79, 0x22, 0x0d, 0x1c, 0x84, - 0x47, 0xd6, 0x62, 0x68, 0x40, 0x7b, 0xc1, 0xcd, 0xb5, 0xec, 0x78, 0xd1, 0xaa, 0x8a, 0x13, 0x83, - 0xf9, 0x5b, 0x3d, 0xf3, 0x17, 0x75, 0x6a, 0x7c, 0xb4, 0xa5, 0xe9, 0x32, 0xc4, 0x1a, 0xc4, 0x99, - 0xcd, 0x2f, 0x21, 0xdf, 0x1c, 0xf1, 0xbf, 0x9c, 0xf0, 0x7b, 0x3f, 0x34, 0xe2, 0x0f, 0xa9, 0xf7, - 0xe2, 0x83, 0x6e, 0x36, 0x74, 0xcd, 0xa1, 0x5f, 0x50, 0xff, 0x0b, 0xc6, 0xda, 0x4c, 0x86, 0x51, + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0xad, 0x58, 0xff, 0x72, 0xdb, 0xb8, + 0x11, 0xfe, 0x5f, 0x4f, 0x01, 0x21, 0x33, 0x39, 0xb1, 0x47, 0x53, 0xb6, 0x93, 0xb9, 0x49, 0x1c, + 0x51, 0xa9, 0x1d, 0x3b, 0x17, 0xdf, 0xd8, 0xb1, 0x27, 0x52, 0x2e, 0xed, 0xa4, 0x37, 0x19, 0x88, + 0x84, 0x44, 0x44, 0x24, 0xc1, 0x03, 0x40, 0x2b, 0x6a, 0xee, 0xde, 0xa3, 0x4f, 0xd3, 0x87, 0xe9, + 0x93, 0xf4, 0x5b, 0x90, 0x94, 0xe4, 0xc4, 0x49, 0x26, 0xd3, 0xfe, 0x61, 0x4b, 0x24, 0x80, 0xfd, + 0xf1, 0xed, 0xee, 0xb7, 0x0b, 0x8d, 0xfa, 0xa7, 0x57, 0xcf, 0xa6, 0x7f, 0xbf, 0x3e, 0x63, 0x99, + 0x2b, 0xf2, 0xf1, 0x88, 0xfe, 0xb3, 0x5c, 0x94, 0x8b, 0x98, 0xcb, 0x92, 0xe3, 0x59, 0x8a, 0x74, + 0x3c, 0x2a, 0xa4, 0x13, 0xac, 0x97, 0xe8, 0xd2, 0xc9, 0xd2, 0xc5, 0x7c, 0xa5, 0x52, 0x97, 0xc5, + 0xa9, 0xbc, 0x51, 0x89, 0xdc, 0xf3, 0x0f, 0xa1, 0x2a, 0x95, 0x53, 0x22, 0xdf, 0xb3, 0x89, 0xc8, + 0x65, 0x7c, 0x10, 0x16, 0xe2, 0x83, 0x2a, 0xea, 0x62, 0xf3, 0x5c, 0x5b, 0x69, 0xfc, 0x83, 0x98, + 0xe1, 0xb9, 0xd4, 0x9c, 0xf5, 0x4a, 0x51, 0xc8, 0x98, 0xdf, 0x28, 0xb9, 0xaa, 0xb4, 0x71, 0xbc, + 0xd5, 0x92, 0x64, 0xc2, 0x58, 0x09, 0x25, 0xb5, 0x9b, 0xef, 0x3d, 0xc2, 0x5b, 0xa7, 0x5c, 0x2e, + 0xc7, 0x97, 0xca, 0x26, 0x6c, 0x22, 0x9d, 0x53, 0xe5, 0xc2, 0x8e, 0x86, 0xcd, 0xcb, 0x91, 0x4d, + 0x8c, 0xaa, 0xdc, 0xb8, 0x77, 0x23, 0x0c, 0xcb, 0x75, 0xa2, 0xaa, 0xd0, 0xa9, 0x42, 0xea, 0xda, + 0x85, 0x69, 0x9c, 0xea, 0xa4, 0x2e, 0x60, 0x6e, 0x88, 0x85, 0xb8, 0x7f, 0xf0, 0x64, 0x5e, 0x97, + 0x89, 0x53, 0xba, 0x64, 0x2f, 0x06, 0xc1, 0xc7, 0x95, 0x2a, 0x53, 0xbd, 0x8a, 0x74, 0x25, 0xcb, + 0x01, 0xcf, 0x9c, 0xab, 0xec, 0xd1, 0x70, 0x58, 0x14, 0xd1, 0xb2, 0xd4, 0xd1, 0x2a, 0x97, 0x69, + 0xb4, 0x90, 0xc3, 0xb9, 0x14, 0xae, 0x36, 0xd2, 0x0e, 0x6d, 0xab, 0x76, 0x78, 0xcf, 0xca, 0xa4, + 0x36, 0xca, 0xad, 0xf7, 0xba, 0x57, 0x3c, 0xf8, 0x73, 0x23, 0xf7, 0xe4, 0x53, 0xb9, 0x9b, 0x83, + 0x3c, 0xe4, 0xef, 0xac, 0xcc, 0xe7, 0xbb, 0xbb, 0x5f, 0x7f, 0xb6, 0xbb, 0xae, 0x52, 0xe1, 0xe4, + 0x5d, 0x7b, 0x17, 0xe7, 0xe9, 0x40, 0x06, 0x1f, 0x8d, 0x84, 0x3d, 0x25, 0x23, 0xe3, 0xdc, 0x59, + 0x2e, 0xc9, 0xb9, 0x93, 0xb5, 0x5f, 0xda, 0x6e, 0x55, 0xf6, 0x6a, 0xf6, 0x7e, 0x67, 0xb3, 0xbc, + 0x7f, 0x9f, 0xeb, 0xd9, 0x7b, 0x99, 0x38, 0x1e, 0xc7, 0x6e, 0x5d, 0x49, 0x3d, 0xa7, 0x77, 0xfd, + 0x63, 0x63, 0xc4, 0x3a, 0x52, 0xd6, 0x7f, 0xde, 0x92, 0x90, 0x6b, 0x91, 0xfe, 0x32, 0x19, 0xc8, + 0xd0, 0xc5, 0xfd, 0xfd, 0xe0, 0x63, 0x2e, 0x1d, 0xd3, 0x71, 0x1a, 0x25, 0x06, 0x70, 0xc8, 0x56, + 0xed, 0x80, 0x37, 0xc8, 0xf3, 0xe0, 0x89, 0x8e, 0xe0, 0xe5, 0xb1, 0x73, 0x46, 0xcd, 0x6a, 0x27, + 0xb1, 0x60, 0x12, 0x1e, 0xca, 0x20, 0xfc, 0xf4, 0x3d, 0xe9, 0x86, 0x6f, 0x4e, 0x7e, 0x70, 0xc3, + 0xf7, 0xe2, 0x46, 0x74, 0x02, 0x3e, 0xdb, 0x28, 0xec, 0xba, 0x84, 0x08, 0x17, 0x84, 0x69, 0x34, + 0xd3, 0xe9, 0x3a, 0x12, 0x15, 0xf0, 0x49, 0x9f, 0x65, 0x2a, 0x4f, 0x07, 0x9a, 0xf6, 0x8b, 0x34, + 0x3d, 0xbb, 0x81, 0x15, 0x17, 0xca, 0x22, 0x1f, 0xa5, 0x19, 0x70, 0xb2, 0x99, 0x87, 0x83, 0x20, + 0x1e, 0x7f, 0xfc, 0x59, 0xba, 0x5f, 0x07, 0x41, 0x08, 0x99, 0x27, 0xc9, 0xf2, 0xb9, 0xca, 0x25, + 0xa5, 0xd9, 0x80, 0x10, 0xe4, 0xb3, 0x64, 0x99, 0xcc, 0x17, 0x3c, 0xf8, 0xe2, 0x6a, 0x85, 0x68, + 0x4b, 0x87, 0xa0, 0x06, 0x7f, 0xde, 0xad, 0x47, 0x1a, 0xa3, 0x0d, 0xdc, 0x83, 0x1e, 0x14, 0x83, + 0xd5, 0xb9, 0x8c, 0x72, 0xbd, 0x18, 0xf0, 0x33, 0x7a, 0xcf, 0x5a, 0xf0, 0x10, 0x71, 0x36, 0x87, + 0x68, 0x0f, 0x03, 0xb2, 0xdf, 0x00, 0xae, 0x8b, 0xf6, 0x3d, 0xd0, 0xc7, 0xc1, 0xb9, 0x5a, 0xd4, + 0x46, 0x78, 0xb4, 0x1b, 0x18, 0xd8, 0x5c, 0x28, 0xca, 0xba, 0x7f, 0x94, 0xe7, 0x65, 0xa2, 0x8b, + 0x0a, 0xa0, 0x4b, 0x56, 0x89, 0x85, 0x64, 0x48, 0x09, 0xd1, 0x47, 0x2e, 0xec, 0x04, 0xc8, 0x66, + 0x7a, 0x35, 0xd5, 0xc2, 0xba, 0x26, 0x46, 0x07, 0xc1, 0x47, 0x4a, 0x7f, 0x1d, 0x7b, 0x2f, 0x1c, + 0x2d, 0xf8, 0xb0, 0xa8, 0x12, 0x26, 0xbf, 0x98, 0x5e, 0x5e, 0xc4, 0x12, 0xbe, 0x24, 0xb9, 0xb0, + 0x96, 0x1c, 0x21, 0xaf, 0x06, 0xee, 0x69, 0xeb, 0xca, 0x11, 0x27, 0x69, 0x88, 0x42, 0x92, 0x4b, + 0x61, 0xa6, 0x4d, 0xf1, 0x0c, 0xda, 0x22, 0xf2, 0xb1, 0x71, 0x6b, 0x38, 0x29, 0x4a, 0x55, 0x78, + 0x7b, 0x63, 0x5e, 0xea, 0x12, 0x9e, 0xb5, 0x3b, 0x62, 0xc0, 0xd5, 0x1d, 0x1a, 0x74, 0x06, 0x22, + 0xb1, 0x77, 0xf5, 0x19, 0x59, 0xe8, 0x1b, 0x4a, 0x0c, 0xaf, 0x08, 0xc0, 0x1e, 0x3e, 0xde, 0xdf, + 0xdf, 0x71, 0xa7, 0xae, 0x08, 0x34, 0x8a, 0x05, 0xf9, 0xd3, 0x39, 0x53, 0xca, 0x15, 0xfb, 0xdb, + 0xe5, 0xc5, 0x0b, 0x94, 0xe6, 0x2b, 0xf9, 0x7b, 0x2d, 0xad, 0x7b, 0xf2, 0x95, 0xc0, 0xef, 0xa8, + 0xde, 0xa2, 0xe3, 0x32, 0x65, 0xa1, 0xdd, 0x56, 0x88, 0x94, 0x9c, 0x22, 0xef, 0x42, 0xff, 0xc6, + 0x3a, 0x94, 0xb5, 0x1d, 0xc7, 0x0f, 0xc9, 0x8a, 0xe0, 0xab, 0x71, 0xde, 0xca, 0x95, 0xbb, 0x82, + 0x25, 0xc9, 0x48, 0x96, 0x61, 0xbf, 0x13, 0xd0, 0x14, 0xf0, 0xf5, 0xd5, 0x64, 0x8a, 0x0c, 0x1f, + 0x36, 0x0e, 0x21, 0x06, 0xe4, 0x49, 0xe9, 0x3d, 0x79, 0xae, 0x4d, 0x71, 0x8a, 0x48, 0x3e, 0x69, + 0xab, 0xb2, 0x6c, 0x93, 0x7a, 0xc0, 0x29, 0xbe, 0x48, 0x94, 0x88, 0x12, 0xc6, 0xbe, 0xdd, 0xff, + 0x2d, 0x6c, 0x50, 0xa7, 0xb5, 0x32, 0xc0, 0xfb, 0x1b, 0x91, 0xd7, 0x60, 0x49, 0x1e, 0xf6, 0x0f, + 0xb6, 0x90, 0x25, 0x99, 0x4c, 0x96, 0x2f, 0xeb, 0x62, 0x5b, 0xe7, 0xfd, 0x41, 0x5f, 0x92, 0x0b, + 0xd1, 0x52, 0xae, 0x23, 0x84, 0x2a, 0xc9, 0x06, 0xc3, 0xb7, 0xfb, 0x7b, 0x8f, 0x7f, 0x1b, 0x06, + 0x28, 0xf6, 0xb7, 0xfc, 0x04, 0xf6, 0xda, 0x4a, 0x24, 0x54, 0x82, 0x53, 0x31, 0xc3, 0xff, 0x33, + 0x70, 0x39, 0x5c, 0xe4, 0x93, 0x4c, 0xcd, 0x1d, 0x3e, 0x9f, 0x81, 0xdc, 0x8d, 0xce, 0xf1, 0xed, + 0x38, 0xa7, 0xe7, 0x6b, 0x01, 0xca, 0xa6, 0xf7, 0xa2, 0xb2, 0x17, 0x3a, 0x59, 0xd2, 0x11, 0xf0, + 0xb7, 0x2f, 0xe2, 0x49, 0x2b, 0xe9, 0x1a, 0x19, 0xfa, 0xba, 0x6a, 0xbf, 0x9c, 0xea, 0x55, 0xe9, + 0xe5, 0x22, 0x20, 0xfc, 0x85, 0x2e, 0x68, 0x03, 0xd8, 0x45, 0xaf, 0x2e, 0xa4, 0x57, 0xe0, 0xbf, + 0xfb, 0xdd, 0xfe, 0xdb, 0x2b, 0xb5, 0xc8, 0x36, 0xaf, 0xdb, 0xb3, 0xe7, 0x08, 0x94, 0xa1, 0x97, + 0xa7, 0x92, 0x2a, 0x80, 0xff, 0x86, 0x24, 0x4e, 0xf2, 0x3a, 0x95, 0x76, 0xb0, 0xf1, 0x2e, 0x08, + 0xfe, 0xf8, 0xa3, 0x7d, 0x42, 0xb9, 0xd2, 0xe7, 0xa9, 0x9c, 0x8b, 0x3a, 0x77, 0x28, 0x7a, 0xd4, + 0xc2, 0x4e, 0x99, 0xdc, 0xae, 0x71, 0x40, 0x25, 0x3f, 0x61, 0x1a, 0x70, 0x6f, 0xd9, 0x24, 0x10, + 0x27, 0xce, 0x7f, 0xc7, 0x7f, 0x94, 0x44, 0xad, 0x77, 0xed, 0x08, 0x7e, 0x1c, 0xf0, 0x37, 0x17, + 0x67, 0xa7, 0x20, 0x51, 0x9b, 0x3e, 0xe5, 0xa8, 0x1b, 0xec, 0xb6, 0x69, 0xb0, 0xa3, 0x6f, 0x82, + 0xe4, 0xe3, 0x14, 0xc6, 0x23, 0x6c, 0x6a, 0x99, 0x1d, 0xad, 0xc7, 0x97, 0x0d, 0x4c, 0xd5, 0x4e, + 0x27, 0x3a, 0xbf, 0x7f, 0x7f, 0xe0, 0xdb, 0xd1, 0x7e, 0x38, 0xf0, 0xfd, 0x2a, 0xa6, 0x1d, 0xf9, + 0xc4, 0x69, 0x03, 0x04, 0x49, 0xf9, 0xb9, 0x93, 0x05, 0xa5, 0x75, 0x72, 0x5e, 0x71, 0xef, 0x6a, + 0xb3, 0x0d, 0xe7, 0x8b, 0x0a, 0x3c, 0x42, 0xee, 0xb0, 0x4b, 0x9d, 0xca, 0x88, 0x5d, 0xa3, 0x62, + 0xad, 0x64, 0x92, 0xe2, 0xc8, 0xc8, 0x36, 0x76, 0x7e, 0x0d, 0xa6, 0x08, 0x6f, 0x49, 0xb4, 0xb7, + 0x25, 0x86, 0x5e, 0x5a, 0x10, 0xd0, 0x2e, 0xcf, 0xf2, 0x24, 0xfe, 0xa9, 0x6f, 0x80, 0xe8, 0x7f, + 0xfc, 0x47, 0xbf, 0x7c, 0xc4, 0xe1, 0xee, 0xb6, 0x79, 0x0d, 0x6d, 0xf4, 0xde, 0x3e, 0xad, 0xe2, + 0x9f, 0xb8, 0xc7, 0xb7, 0x37, 0x1a, 0xb6, 0x5d, 0x77, 0xe4, 0xb9, 0x61, 0xfc, 0x57, 0x55, 0x50, + 0xff, 0x66, 0xb5, 0xc9, 0x51, 0xe4, 0x9e, 0x2e, 0x12, 0x0b, 0x0e, 0x7d, 0x82, 0x8d, 0x7e, 0xc3, + 0x68, 0xd8, 0x0c, 0x11, 0x44, 0xe6, 0xe0, 0x48, 0xd2, 0x1c, 0x73, 0xa0, 0x85, 0xde, 0x3e, 0x47, + 0x5d, 0xf4, 0x98, 0xc2, 0x33, 0x7d, 0x7b, 0x67, 0x39, 0x6b, 0x86, 0x82, 0xc9, 0x9c, 0x33, 0x4c, + 0x03, 0x99, 0xc6, 0x4a, 0xa5, 0x2d, 0x0d, 0x07, 0xa9, 0xba, 0x61, 0x9e, 0x54, 0x62, 0x70, 0x1c, + 0xe0, 0x58, 0xdd, 0x7e, 0x97, 0xc9, 0xbc, 0x3a, 0xe1, 0xe3, 0xde, 0x08, 0x81, 0x73, 0x88, 0x06, + 0xb5, 0x9b, 0x98, 0x37, 0x0f, 0x1c, 0x5a, 0x93, 0x5c, 0x25, 0xcb, 0x98, 0xbf, 0x20, 0xb5, 0x4f, + 0x47, 0xc3, 0x66, 0x01, 0xa6, 0x41, 0xc4, 0xf8, 0xee, 0x33, 0xbd, 0xcd, 0xa1, 0x13, 0x3a, 0x44, + 0x15, 0xb4, 0x3d, 0x77, 0xeb, 0x84, 0xad, 0x67, 0x85, 0x82, 0x8d, 0x13, 0x71, 0x23, 0xb7, 0x5b, + 0x32, 0xd3, 0x89, 0xcf, 0x0e, 0xc7, 0xbd, 0x49, 0x3b, 0x39, 0xb0, 0xfb, 0xec, 0xb5, 0xef, 0xf3, + 0x94, 0x9f, 0x75, 0x05, 0x6c, 0x0e, 0xc7, 0xdd, 0x58, 0xc3, 0xae, 0xcf, 0x5f, 0x1e, 0xb1, 0x91, + 0x2a, 0xab, 0xda, 0xb5, 0xa2, 0x2b, 0x38, 0xb7, 0xd2, 0x26, 0xe5, 0x1e, 0x24, 0xac, 0x6f, 0xe6, + 0x26, 0xff, 0xdd, 0xaa, 0x7f, 0xe2, 0xeb, 0x43, 0x80, 0x25, 0x3e, 0x20, 0xcf, 0x17, 0x98, 0xca, + 0xfc, 0x93, 0x2a, 0x77, 0x9e, 0x74, 0x89, 0xb2, 0xa1, 0x4c, 0x8e, 0xf9, 0x86, 0x38, 0x88, 0x09, + 0x03, 0xc8, 0xaa, 0x84, 0x43, 0xfa, 0x60, 0xc5, 0x93, 0xc5, 0x5f, 0xa0, 0x86, 0x94, 0x17, 0x48, + 0x30, 0x30, 0x3d, 0xc6, 0x27, 0xa3, 0x12, 0xce, 0xfc, 0xb0, 0x05, 0x8d, 0xbb, 0x09, 0x27, 0xd8, + 0x43, 0x96, 0xaa, 0x85, 0x72, 0x0c, 0xdb, 0x66, 0x60, 0x12, 0x60, 0x62, 0x00, 0x3f, 0x85, 0xc4, + 0x87, 0x1d, 0xca, 0x74, 0xae, 0xcd, 0xd1, 0xbd, 0xb9, 0xd8, 0x47, 0x5c, 0xee, 0xdf, 0x7b, 0xfc, + 0xe8, 0xd1, 0xa3, 0x27, 0xec, 0x75, 0x29, 0xcb, 0xc4, 0xac, 0x2b, 0x27, 0x53, 0xe6, 0x8c, 0x28, + 0x6d, 0xa1, 0xac, 0xa5, 0x0a, 0x61, 0x27, 0xe8, 0x78, 0x06, 0xb5, 0x5e, 0x3a, 0xb6, 0xca, 0x24, + 0xd5, 0x6f, 0x8e, 0xa9, 0x85, 0x9a, 0x26, 0x5c, 0x0d, 0x59, 0xaa, 0xd9, 0xcb, 0xab, 0x29, 0x03, + 0x29, 0xb1, 0xb5, 0xae, 0x0d, 0x9b, 0x89, 0x72, 0x89, 0x45, 0x5a, 0xd0, 0x26, 0x64, 0x93, 0xf3, + 0xcb, 0x90, 0x49, 0x97, 0x44, 0xac, 0x52, 0x65, 0xbf, 0xd7, 0x05, 0xd6, 0x8c, 0x89, 0xbb, 0xd8, + 0x4a, 0x19, 0x48, 0xb3, 0x96, 0x0d, 0xae, 0xa6, 0xc7, 0x01, 0xb3, 0x7a, 0xee, 0x56, 0xc2, 0x48, + 0xd6, 0x8c, 0x5c, 0x9f, 0x60, 0xee, 0x41, 0x9a, 0xe9, 0x0f, 0x5d, 0x32, 0xbe, 0xbc, 0xf2, 0x79, + 0x65, 0xc6, 0xd7, 0x08, 0x46, 0x95, 0x19, 0x80, 0xf0, 0xc5, 0x28, 0x35, 0x27, 0xae, 0xae, 0x6f, + 0x45, 0xe4, 0xc1, 0x61, 0x8b, 0xce, 0x54, 0x03, 0x3d, 0x1a, 0x80, 0x19, 0xcc, 0x08, 0x19, 0x72, + 0x9e, 0x75, 0x13, 0x25, 0xc3, 0x78, 0x65, 0xd1, 0xa8, 0xc8, 0x39, 0x56, 0x4a, 0x42, 0x47, 0x33, + 0x91, 0x5b, 0xdd, 0xe2, 0xed, 0x32, 0x89, 0xc9, 0xc1, 0x18, 0x40, 0xc2, 0x3a, 0x75, 0x7d, 0x6f, + 0xd5, 0x34, 0x93, 0x9b, 0x37, 0x34, 0x1b, 0xd4, 0x79, 0xca, 0x66, 0x92, 0xe6, 0xe8, 0x72, 0x01, + 0x31, 0x1e, 0x4b, 0xa8, 0xc3, 0x64, 0xd8, 0x2a, 0x4f, 0x23, 0x3a, 0x36, 0x9a, 0x8d, 0x7b, 0xa7, + 0xca, 0x76, 0xd6, 0x34, 0xfb, 0x4a, 0xed, 0x90, 0x01, 0x04, 0x72, 0xc8, 0x34, 0x54, 0x9a, 0x95, + 0x02, 0xde, 0xa2, 0x64, 0x48, 0x13, 0xe4, 0x3f, 0xec, 0x48, 0xf0, 0x60, 0xe4, 0x1c, 0x45, 0x97, + 0xb1, 0xe6, 0x02, 0xb0, 0x41, 0x93, 0x50, 0x9f, 0x79, 0x47, 0x47, 0x6a, 0x9b, 0xd3, 0x54, 0x25, + 0x48, 0xb6, 0x66, 0x9a, 0x21, 0xcc, 0xc1, 0x00, 0xeb, 0xc6, 0x3a, 0xaf, 0x5b, 0xcd, 0xbd, 0xfa, + 0x9c, 0xc2, 0x84, 0x6d, 0x69, 0x63, 0x52, 0xda, 0x1f, 0x0d, 0x55, 0x83, 0xfa, 0xa9, 0x2c, 0xd7, + 0x4c, 0x24, 0x09, 0x85, 0x0f, 0x98, 0xbc, 0x51, 0xcf, 0x15, 0xeb, 0xb8, 0x89, 0x4e, 0xd3, 0x49, + 0x99, 0x7e, 0x23, 0x86, 0x57, 0x6f, 0xda, 0x18, 0xd2, 0xdf, 0x73, 0x91, 0x80, 0x1e, 0x09, 0x72, + 0xc8, 0xf9, 0xc6, 0xc1, 0x57, 0x93, 0x36, 0x76, 0xc7, 0x79, 0xbe, 0x55, 0x2b, 0xca, 0x94, 0xb5, + 0xc3, 0x22, 0x72, 0x0b, 0x2b, 0x00, 0x5c, 0x52, 0x62, 0x74, 0xd8, 0x9a, 0xf1, 0xff, 0x50, 0x09, + 0xc7, 0x3b, 0x78, 0x7b, 0xf8, 0x80, 0x31, 0x8c, 0x41, 0x5a, 0x38, 0x04, 0x79, 0xe9, 0x63, 0xa0, + 0x28, 0x2b, 0x12, 0x49, 0xa3, 0x23, 0x98, 0xb3, 0x19, 0x13, 0xbb, 0xac, 0x27, 0xe6, 0xc9, 0x1e, + 0x8c, 0x27, 0x5d, 0x96, 0x37, 0x84, 0x03, 0xaa, 0x79, 0x30, 0xfe, 0x06, 0x3d, 0xbe, 0x26, 0xa6, + 0xeb, 0x5d, 0x8a, 0xb2, 0x16, 0xb9, 0x0f, 0x4b, 0x77, 0x74, 0xc3, 0x7b, 0x66, 0x7c, 0xd6, 0x64, + 0xf0, 0xb1, 0x49, 0x6b, 0x55, 0x6a, 0x6c, 0xfa, 0x22, 0x82, 0x2d, 0x53, 0x1d, 0x5f, 0xf1, 0x8d, + 0x4d, 0xc4, 0xa2, 0x75, 0x05, 0x12, 0x7c, 0x85, 0x89, 0x4e, 0x9b, 0xd6, 0x28, 0xd1, 0xb1, 0xf8, + 0xcc, 0x61, 0x84, 0x2e, 0x97, 0x0d, 0xdb, 0xb5, 0xe3, 0x3a, 0xeb, 0x65, 0x48, 0xb8, 0x98, 0x0f, + 0x5b, 0xc0, 0xd1, 0x8d, 0xc8, 0xe6, 0xae, 0x35, 0xa3, 0xfa, 0xda, 0xa9, 0xbd, 0x13, 0xde, 0x3e, + 0x8f, 0x86, 0x62, 0x13, 0x88, 0x71, 0xaf, 0xd5, 0xb7, 0x59, 0xf4, 0x59, 0xba, 0x63, 0xb5, 0x1f, + 0xd8, 0xdb, 0x98, 0xfb, 0x99, 0xcc, 0xa7, 0x5c, 0x85, 0x7b, 0x68, 0xa3, 0x6f, 0xcc, 0x3a, 0xe8, + 0x7a, 0x77, 0x63, 0xf7, 0xc3, 0xce, 0x1c, 0x9b, 0x46, 0x93, 0x79, 0x44, 0x52, 0xc2, 0x4f, 0xac, + 0x0e, 0x7e, 0x18, 0xbf, 0xf6, 0xdb, 0x36, 0x88, 0x36, 0x49, 0xb9, 0x61, 0xab, 0x2f, 0x43, 0xd1, + 0x79, 0xc9, 0x5a, 0x34, 0x00, 0x4d, 0x8b, 0x44, 0x6f, 0x0b, 0x05, 0xe1, 0xd5, 0xc1, 0x70, 0xeb, + 0x9e, 0x71, 0x0b, 0x8c, 0x0e, 0x8b, 0xdb, 0x3b, 0xb6, 0x88, 0xf4, 0xee, 0x86, 0xe4, 0xf0, 0xcb, + 0x98, 0x7c, 0xa1, 0x73, 0xde, 0x89, 0xc9, 0x61, 0xb8, 0x63, 0xfc, 0xe7, 0x80, 0xec, 0xe0, 0x41, + 0x15, 0xd4, 0xfb, 0x5a, 0x09, 0x35, 0x8e, 0x50, 0x8b, 0x68, 0xd1, 0x19, 0xde, 0xbe, 0x5c, 0xf9, + 0xd2, 0xbc, 0xfa, 0xf5, 0xec, 0xd5, 0x9b, 0x57, 0xe7, 0xd3, 0xb3, 0xa6, 0x6f, 0x80, 0x6e, 0x0d, + 0xf5, 0x98, 0x3b, 0x4f, 0x44, 0x3e, 0x1c, 0x3d, 0xba, 0x84, 0x35, 0x54, 0x7b, 0x5b, 0x5e, 0x21, + 0x88, 0x34, 0x7e, 0xaf, 0xd1, 0x4d, 0xd0, 0x00, 0xe7, 0xbb, 0x34, 0xc2, 0xc0, 0xe5, 0x46, 0xee, + 0x79, 0x62, 0x6c, 0x2f, 0x7a, 0x5e, 0xdd, 0xd9, 0xe4, 0x3a, 0x6a, 0xeb, 0xf2, 0xf9, 0x1d, 0x74, + 0x1f, 0x6e, 0xa8, 0xdb, 0x7a, 0x72, 0x24, 0x02, 0x9e, 0x51, 0xe5, 0xa7, 0xe8, 0x4d, 0x51, 0x57, + 0x35, 0xc7, 0x33, 0x5c, 0xb0, 0xba, 0x52, 0x69, 0xcb, 0xa1, 0xfb, 0xd1, 0x02, 0x2d, 0x38, 0xab, + 0x67, 0x11, 0x6e, 0x8d, 0xc3, 0x4b, 0xad, 0x4b, 0xcc, 0x86, 0x35, 0x3a, 0xdd, 0x90, 0x06, 0xc2, + 0x21, 0x5a, 0xb7, 0x30, 0x0b, 0xfa, 0x31, 0xe5, 0xdd, 0x2c, 0x47, 0xbf, 0xe4, 0x63, 0x7a, 0x7d, + 0x79, 0x49, 0xd9, 0xd0, 0x63, 0x37, 0xd2, 0x10, 0xdf, 0xb0, 0xfd, 0xe8, 0xe0, 0x61, 0x74, 0xb0, + 0x37, 0x7b, 0xb0, 0x1f, 0x3d, 0xf8, 0x89, 0xfd, 0xe7, 0x5f, 0xff, 0x26, 0x0c, 0x06, 0x49, 0xc0, + 0x0e, 0xf7, 0x0f, 0x1f, 0xb0, 0xef, 0xd3, 0x48, 0x97, 0x57, 0xf8, 0x31, 0x2c, 0x84, 0x2a, 0xa3, + 0x28, 0xda, 0x59, 0x3f, 0xa2, 0xf5, 0xa3, 0x02, 0x3d, 0x03, 0x09, 0xf2, 0xa9, 0x59, 0x3f, 0x7b, + 0x91, 0x6c, 0x67, 0x7b, 0x33, 0xd1, 0x3e, 0xd3, 0x05, 0x26, 0x2b, 0x76, 0x5c, 0x63, 0x14, 0x34, + 0xdb, 0x8a, 0xc6, 0xdf, 0x9c, 0x88, 0x10, 0x20, 0xff, 0x3f, 0x00, 0x39, 0xda, 0x08, 0xfe, 0x2e, + 0x61, 0x2b, 0xb5, 0x54, 0x43, 0x7f, 0x6d, 0xa2, 0xdb, 0x02, 0xec, 0xdb, 0x43, 0x5b, 0xd8, 0x4b, + 0x8c, 0x4c, 0x15, 0xd5, 0xe9, 0x67, 0x4e, 0xee, 0x6e, 0xc5, 0xd8, 0x22, 0xe9, 0x02, 0x88, 0x16, + 0xa0, 0x64, 0xd3, 0x4f, 0x6c, 0x25, 0x13, 0x05, 0xda, 0x75, 0x68, 0x8d, 0xcb, 0x8d, 0xaf, 0xbd, + 0x63, 0x96, 0xd5, 0xe8, 0x9c, 0xfe, 0xad, 0x1f, 0x0e, 0xd0, 0x03, 0x71, 0xed, 0x31, 0x6b, 0xdc, + 0xc3, 0xd1, 0xb4, 0x35, 0xa3, 0xc9, 0x17, 0xe9, 0x82, 0xfe, 0xd0, 0xfc, 0x44, 0xe3, 0x91, 0xeb, + 0x77, 0x38, 0xf5, 0x3c, 0x8e, 0x09, 0x95, 0x7b, 0x13, 0xd2, 0x83, 0x9f, 0xf6, 0x7c, 0x5c, 0x9f, + 0x65, 0x06, 0xd7, 0x5d, 0x85, 0x56, 0x32, 0x49, 0xb2, 0x15, 0xfd, 0x58, 0xd0, 0x76, 0xee, 0x0b, + 0xf4, 0x74, 0xdc, 0xc3, 0x90, 0x80, 0x30, 0xaf, 0x19, 0x3c, 0xbe, 0x0f, 0x97, 0x59, 0xae, 0x67, + 0x48, 0x00, 0xdc, 0xa5, 0xcd, 0xf0, 0xe2, 0xfc, 0xd9, 0xd9, 0xcb, 0xc9, 0xd9, 0xe7, 0xb8, 0xf7, + 0x2e, 0xcf, 0xa7, 0x2c, 0x6f, 0x54, 0x79, 0x5f, 0xd1, 0xee, 0x3b, 0x9b, 0x27, 0xd2, 0xc0, 0x41, + 0x78, 0x64, 0x2d, 0x86, 0x06, 0xb4, 0x17, 0xdc, 0x5c, 0xcb, 0x8e, 0x17, 0xad, 0xaa, 0x38, 0x31, + 0x98, 0xbf, 0xd5, 0x33, 0x7f, 0x51, 0xa7, 0xc6, 0x47, 0x5b, 0x9a, 0x2e, 0x43, 0xac, 0x41, 0x9c, + 0xd9, 0xfc, 0x12, 0xf2, 0xd5, 0x11, 0xff, 0xf3, 0x09, 0xbf, 0xf7, 0x5d, 0x23, 0xfe, 0x90, 0x7a, + 0x2f, 0x3e, 0xe8, 0x66, 0x43, 0xd7, 0x1c, 0xfa, 0x05, 0xf5, 0xbf, 0xe5, 0x64, 0x23, 0xfa, 0x51, 0x15, 0x00, 0x00 }; diff --git a/wled00/html_simple.h b/wled00/html_simple.h index 8957a337..f5bdab34 100644 --- a/wled00/html_simple.h +++ b/wled00/html_simple.h @@ -7,7 +7,7 @@ */ // Autogenerated from wled00/data/simple.htm, do not edit!! -const uint16_t PAGE_simple_L = 18212; +const uint16_t PAGE_simple_L = 18211; const uint8_t PAGE_simple[] PROGMEM = { 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0xcd, 0xbd, 0xe9, 0x76, 0xe3, 0x3a, 0xae, 0x30, 0xfa, 0x3f, 0x4f, 0xe1, 0x52, 0x75, 0xa7, 0xac, 0xb6, 0x62, 0xcb, 0x63, 0x3c, 0x94, @@ -995,157 +995,157 @@ const uint8_t PAGE_simple[] PROGMEM = { 0x30, 0xf4, 0xae, 0x75, 0xa4, 0x31, 0x49, 0x31, 0x0f, 0xd4, 0x44, 0x95, 0x42, 0x3d, 0x08, 0x5b, 0x49, 0x5b, 0xf0, 0xec, 0xb2, 0xb1, 0x32, 0x45, 0x2c, 0x73, 0xa6, 0x39, 0x0e, 0xba, 0x3e, 0x1c, 0x5d, 0x53, 0xcb, 0x65, 0xa2, 0x48, 0x0d, 0x8b, 0xb4, 0x22, 0x3d, 0x4b, 0xd1, 0x61, 0xa4, 0x40, - 0x43, 0x4a, 0x99, 0x0a, 0x2c, 0x34, 0x34, 0x09, 0x2f, 0x22, 0xd4, 0x4b, 0x99, 0x05, 0x3b, 0xb3, - 0xc4, 0xa7, 0x0c, 0x57, 0x87, 0x17, 0x95, 0x7a, 0xd0, 0x45, 0x83, 0x9a, 0x18, 0xb0, 0x07, 0xe8, - 0xd1, 0x98, 0x27, 0x46, 0xb6, 0x37, 0x8d, 0x3a, 0xd3, 0x51, 0xcf, 0x90, 0x90, 0x15, 0xe5, 0x1b, - 0x11, 0xb6, 0x13, 0xde, 0x81, 0x89, 0xf8, 0x0e, 0xff, 0x39, 0xf7, 0xfc, 0x42, 0xfe, 0xfa, 0x2b, - 0x68, 0x82, 0x9f, 0x47, 0x36, 0x18, 0xd8, 0x02, 0xa3, 0xdb, 0x4d, 0x84, 0x9d, 0xc6, 0x3d, 0x13, - 0x85, 0x22, 0x29, 0xf2, 0xbe, 0x71, 0x8c, 0x72, 0x62, 0xb3, 0xf9, 0x91, 0xc1, 0xd9, 0xd1, 0xf0, - 0x80, 0xe2, 0xe3, 0x4b, 0x19, 0x20, 0x83, 0x90, 0x1f, 0x9c, 0x05, 0x9b, 0x2a, 0xc7, 0xac, 0xd2, - 0x18, 0xd1, 0x21, 0xfd, 0x05, 0xea, 0x21, 0x27, 0x83, 0x1e, 0x82, 0xb2, 0xd5, 0x64, 0x16, 0x67, - 0x74, 0xd8, 0x88, 0x5e, 0x4d, 0xc0, 0xad, 0x30, 0x6b, 0x98, 0x93, 0x34, 0x3b, 0xcc, 0x47, 0x45, - 0x20, 0xe1, 0x55, 0x4e, 0x78, 0x9f, 0x73, 0xa1, 0xd7, 0x10, 0xbd, 0x17, 0x0a, 0xfc, 0x1b, 0x96, - 0xdb, 0x0f, 0x7f, 0x53, 0x00, 0x1c, 0x7c, 0x9b, 0x73, 0x63, 0x8e, 0xed, 0x0b, 0xdf, 0xf8, 0x3a, - 0x3a, 0x67, 0x63, 0xcb, 0xb1, 0xdd, 0x25, 0x32, 0x17, 0x42, 0x01, 0x4d, 0x20, 0xcc, 0xe8, 0x6e, - 0x06, 0xf6, 0x74, 0x43, 0xc0, 0xfb, 0x9d, 0x04, 0x43, 0xb5, 0xe0, 0xed, 0x10, 0xd4, 0xe9, 0xb7, - 0xf0, 0x60, 0x02, 0xc6, 0x84, 0x17, 0x07, 0x35, 0x26, 0x3b, 0x50, 0xcc, 0x34, 0x30, 0x54, 0xb1, - 0x8d, 0x1c, 0xfb, 0xf6, 0xa6, 0xb3, 0x55, 0xe5, 0x16, 0x02, 0x7e, 0x1a, 0xa8, 0xee, 0xfe, 0x4d, - 0xf7, 0xd0, 0xf4, 0xff, 0xb2, 0x28, 0xd1, 0xe7, 0x31, 0xe6, 0xc6, 0x0f, 0x94, 0xc3, 0x15, 0x05, - 0xc4, 0x20, 0x3a, 0x63, 0x1a, 0x15, 0x19, 0x42, 0x91, 0x82, 0xa5, 0x7c, 0x2c, 0x57, 0xf8, 0x15, - 0x78, 0x3e, 0x22, 0x53, 0x10, 0x4f, 0xa6, 0xf0, 0x7e, 0xeb, 0x24, 0xbe, 0x79, 0xf3, 0xf5, 0xe8, - 0xb2, 0xc4, 0x38, 0x26, 0xb0, 0x74, 0x1c, 0x0b, 0x14, 0x07, 0xc2, 0x2e, 0xe3, 0xfc, 0xbd, 0xa3, - 0x86, 0x65, 0xe5, 0xde, 0xfb, 0x2e, 0x51, 0xec, 0x72, 0xda, 0xdc, 0x34, 0xea, 0x2c, 0x36, 0x12, - 0xfe, 0x8d, 0x4a, 0x0d, 0xd1, 0xc0, 0x61, 0x73, 0x2f, 0x58, 0x12, 0xa8, 0xa2, 0xd1, 0xd0, 0x50, - 0x42, 0xda, 0x0f, 0xa7, 0xc4, 0x7e, 0xf9, 0x44, 0xf0, 0x18, 0xef, 0x52, 0x36, 0x46, 0x9c, 0xf3, - 0xa7, 0x21, 0xf8, 0x58, 0x40, 0x93, 0x55, 0xf9, 0xc1, 0x45, 0x3e, 0x1a, 0x80, 0xdf, 0xdc, 0x02, - 0x82, 0x8b, 0xa4, 0xe0, 0x07, 0xee, 0x78, 0x4f, 0xad, 0xf0, 0xbf, 0x7d, 0x14, 0xd7, 0x65, 0x19, - 0x90, 0x50, 0x9b, 0x4d, 0x0e, 0xc0, 0x3f, 0x65, 0xf2, 0xa7, 0x2b, 0x3a, 0x2c, 0xec, 0xbf, 0x17, - 0x04, 0xca, 0x7b, 0xe0, 0xd9, 0x75, 0x48, 0x7f, 0x7c, 0xcc, 0x05, 0x92, 0x9e, 0x3c, 0xad, 0x1a, - 0x00, 0x2d, 0xf6, 0xc7, 0x23, 0x38, 0xf7, 0xe0, 0x45, 0x47, 0xe1, 0x41, 0x5a, 0x39, 0x0c, 0xf6, - 0xd5, 0x21, 0xdf, 0x0d, 0xd9, 0x2b, 0x02, 0x6c, 0x28, 0x02, 0xb2, 0x7d, 0x19, 0x85, 0xd7, 0x58, - 0x9b, 0x83, 0x9c, 0x0a, 0x57, 0x34, 0x83, 0xc1, 0x3a, 0xe5, 0x7d, 0x81, 0x21, 0xa9, 0xae, 0x91, - 0xa4, 0xb2, 0x46, 0x0b, 0x8f, 0x57, 0xaa, 0x76, 0xab, 0xcb, 0xfa, 0xa1, 0xfc, 0x3f, 0x2a, 0xed, - 0x9f, 0x59, 0xb0, 0x37, 0x7f, 0x60, 0x2c, 0x8c, 0x76, 0xa2, 0x6e, 0x63, 0x7d, 0x56, 0x33, 0xa9, - 0x5d, 0xc6, 0x31, 0x18, 0x71, 0x86, 0xf1, 0x6d, 0x2d, 0x64, 0xa1, 0x38, 0x90, 0xf5, 0x9b, 0xcf, - 0x7a, 0x6e, 0x19, 0x8d, 0x30, 0xc7, 0xcc, 0xff, 0x5e, 0x01, 0x7f, 0x59, 0xd7, 0xf5, 0x4a, 0x17, - 0x7e, 0x7f, 0xbe, 0x37, 0x9e, 0x6b, 0x08, 0x49, 0xac, 0x43, 0x10, 0x36, 0xeb, 0xf4, 0x8c, 0x08, - 0x37, 0xdb, 0x7a, 0x78, 0xcc, 0x4f, 0x70, 0x3b, 0x0e, 0xfb, 0xb8, 0x58, 0xc4, 0x23, 0xb6, 0xc4, - 0x82, 0xc7, 0x46, 0x6f, 0x0a, 0x45, 0x83, 0x88, 0x7a, 0x9d, 0x6b, 0x84, 0xdd, 0x0b, 0x91, 0x1d, - 0xa4, 0xad, 0x9c, 0xc3, 0x48, 0xf4, 0xd8, 0xe4, 0x08, 0x3d, 0x2c, 0xac, 0x80, 0xb4, 0xb9, 0xb9, - 0xaa, 0x07, 0xf4, 0xb3, 0x85, 0x20, 0x99, 0x99, 0x77, 0x1a, 0x99, 0xa4, 0xe7, 0x32, 0x19, 0x48, - 0x63, 0xcd, 0xb4, 0xeb, 0x9c, 0x33, 0x34, 0x4d, 0x74, 0x8f, 0xa4, 0x80, 0xea, 0x7e, 0x50, 0xe9, - 0xc4, 0x38, 0xa3, 0x81, 0x78, 0xa3, 0xc3, 0x5c, 0xee, 0xe0, 0xdf, 0x18, 0xe5, 0x0a, 0x5c, 0x7d, - 0x7e, 0x98, 0xf1, 0x1e, 0xfc, 0x07, 0xa3, 0x0c, 0x9d, 0x6e, 0xd6, 0xd3, 0x06, 0x70, 0xeb, 0x2f, - 0xbe, 0x2f, 0x0f, 0xf9, 0xb5, 0x58, 0xae, 0x8e, 0xce, 0x32, 0xeb, 0xab, 0x83, 0x6a, 0x56, 0x0f, - 0xc4, 0xf6, 0x28, 0x8d, 0x51, 0x57, 0x92, 0xc0, 0x28, 0x1c, 0x87, 0xea, 0x05, 0xb0, 0x25, 0x4d, - 0x91, 0x9f, 0x27, 0x66, 0x42, 0x58, 0x6e, 0xa7, 0x37, 0xad, 0x47, 0xef, 0x6f, 0xf6, 0xa6, 0x2a, - 0xe9, 0xa1, 0x35, 0x23, 0x01, 0xd4, 0x0f, 0xaf, 0xea, 0x0b, 0x86, 0x49, 0x52, 0x5e, 0x01, 0x19, - 0x66, 0xa9, 0x4e, 0x92, 0x70, 0xe8, 0xd7, 0xc6, 0xe2, 0xc3, 0x5d, 0x1a, 0xe4, 0xb2, 0x42, 0xcb, - 0x27, 0x11, 0xc7, 0x22, 0x83, 0xaf, 0x40, 0x9b, 0x33, 0x5d, 0x09, 0x2b, 0xa6, 0x7f, 0x2c, 0x61, - 0x2c, 0x12, 0x17, 0x7b, 0xd5, 0x4c, 0xac, 0x06, 0xb9, 0xa4, 0xb4, 0x2c, 0x81, 0xc5, 0x98, 0x89, - 0xc9, 0xb9, 0x45, 0x0f, 0x5a, 0x92, 0xc4, 0x2d, 0xbb, 0xac, 0x10, 0x30, 0xbc, 0x39, 0x2a, 0xd4, - 0x8b, 0x46, 0xec, 0xda, 0x25, 0x1e, 0x24, 0x82, 0x1e, 0x4f, 0x05, 0xd3, 0x88, 0xf8, 0xe1, 0x7f, - 0xc1, 0xd1, 0xf2, 0xef, 0x7a, 0xfa, 0x97, 0x40, 0x3d, 0x77, 0x57, 0xea, 0xe9, 0x1a, 0x9b, 0x1b, - 0x37, 0xd6, 0x76, 0xa0, 0x04, 0xa2, 0xef, 0x11, 0x46, 0x43, 0x24, 0x8d, 0x90, 0xe9, 0xae, 0x57, - 0x7a, 0x97, 0x8e, 0x2c, 0xf1, 0xa4, 0x72, 0x85, 0x1d, 0x7e, 0x3a, 0xa5, 0xd1, 0xcf, 0x1a, 0x89, - 0x6c, 0x6a, 0x13, 0xf7, 0xf2, 0x04, 0x44, 0x00, 0xdd, 0xd2, 0xd2, 0xee, 0x5a, 0x3d, 0x37, 0xa6, - 0x4b, 0x2e, 0xe9, 0xa6, 0xe4, 0xd7, 0x87, 0xe6, 0x48, 0xaa, 0xf6, 0xa0, 0xb0, 0x37, 0x80, 0xbe, - 0x87, 0xce, 0x02, 0x6d, 0xef, 0xa0, 0x8a, 0x7e, 0x79, 0xa9, 0x89, 0x27, 0x55, 0x40, 0xe0, 0xf3, - 0x41, 0x5d, 0x14, 0x1c, 0xf8, 0x37, 0xc6, 0xef, 0xf5, 0x82, 0x34, 0x17, 0xbb, 0xbd, 0x1c, 0xf8, - 0xf5, 0x7b, 0xa7, 0xa1, 0x99, 0xb2, 0xc8, 0x37, 0x54, 0x73, 0x4e, 0xb2, 0x83, 0x68, 0xb1, 0x62, - 0x25, 0x51, 0x8e, 0x5f, 0x40, 0x6f, 0x75, 0x92, 0xa6, 0x89, 0x92, 0x8c, 0x4e, 0xfd, 0x03, 0x1a, - 0xca, 0x6f, 0x80, 0xe7, 0x58, 0x7c, 0x83, 0x75, 0x0e, 0x12, 0x17, 0x21, 0x42, 0x08, 0xc5, 0x8e, - 0xff, 0x39, 0x90, 0xa5, 0xc3, 0x97, 0x60, 0x74, 0x1e, 0x83, 0x65, 0xe1, 0x16, 0x58, 0xa0, 0x3a, - 0xd8, 0xcc, 0x1b, 0x11, 0x9c, 0x5d, 0x47, 0x4c, 0x43, 0x76, 0x14, 0x99, 0x07, 0x91, 0x8c, 0x7e, - 0xcc, 0x9c, 0x14, 0x35, 0x26, 0x35, 0xa2, 0xa0, 0x07, 0x64, 0xda, 0xa5, 0x0a, 0x8f, 0x67, 0x09, - 0x87, 0x27, 0xff, 0x2e, 0x85, 0x1b, 0x33, 0x17, 0x34, 0x5c, 0xbc, 0x0e, 0x81, 0xe7, 0x49, 0x5d, - 0xaf, 0x54, 0x25, 0x16, 0x08, 0xc0, 0xff, 0xa4, 0x13, 0x86, 0x02, 0x60, 0x4d, 0x45, 0x9b, 0xa1, - 0x29, 0x9e, 0x19, 0x19, 0xa6, 0x24, 0xd6, 0x83, 0x11, 0xec, 0xba, 0xb1, 0x14, 0x47, 0x72, 0x47, - 0x36, 0x55, 0x79, 0xbc, 0x59, 0x03, 0x2d, 0x4f, 0xb3, 0xcd, 0x6c, 0x9b, 0x95, 0x77, 0xc6, 0x37, - 0x26, 0x7e, 0x58, 0xc6, 0xc1, 0x43, 0x6e, 0xcf, 0x66, 0x62, 0x64, 0x99, 0xbd, 0xc4, 0xc8, 0xf6, - 0xbd, 0x5f, 0x19, 0x57, 0x0b, 0xf4, 0xc5, 0x20, 0x53, 0xff, 0xb0, 0xac, 0xab, 0xc9, 0x3a, 0x1d, - 0xe9, 0xea, 0x20, 0x3e, 0x6b, 0x8e, 0x1b, 0x31, 0x80, 0x57, 0x4a, 0xfc, 0xa7, 0x40, 0x8f, 0x6e, - 0xf9, 0xdf, 0x51, 0xb4, 0x9e, 0x04, 0x68, 0x8d, 0x76, 0xff, 0x85, 0xe8, 0x63, 0xcd, 0x88, 0x33, - 0x05, 0x9f, 0x04, 0x3c, 0xa6, 0x80, 0xfa, 0x53, 0x30, 0x22, 0x34, 0x9d, 0xb9, 0x0c, 0xce, 0x8e, - 0xf8, 0x23, 0x86, 0x08, 0x82, 0x77, 0x9b, 0xea, 0x89, 0xa4, 0x36, 0xfb, 0x56, 0x4d, 0x9a, 0x03, - 0x4c, 0xc0, 0x58, 0xe1, 0x5f, 0x94, 0x9c, 0xbc, 0x0f, 0x67, 0xcd, 0x3f, 0xac, 0xb4, 0x14, 0x08, - 0x32, 0x9c, 0x42, 0x9f, 0x05, 0xc6, 0x80, 0x9e, 0x2c, 0x03, 0x4d, 0xcf, 0xd9, 0x58, 0xeb, 0xeb, - 0x60, 0x05, 0x08, 0x5a, 0x24, 0x80, 0xd1, 0x0f, 0x03, 0xcd, 0x43, 0xcc, 0x78, 0xde, 0x00, 0xab, - 0x88, 0x1c, 0x7d, 0x03, 0x56, 0xd1, 0x78, 0x22, 0x7d, 0x37, 0x6c, 0xea, 0xf7, 0x9a, 0x95, 0x16, - 0x24, 0xc6, 0xa4, 0xd1, 0x24, 0x63, 0xcc, 0x03, 0xeb, 0xd8, 0xdc, 0x8c, 0x87, 0x42, 0x69, 0x36, - 0x5d, 0xb6, 0x0a, 0x56, 0x73, 0xb4, 0xcd, 0xcd, 0x0f, 0xb1, 0x4d, 0x5d, 0x1f, 0xde, 0x05, 0x92, - 0x5c, 0xf1, 0x6c, 0x99, 0x09, 0x85, 0x2f, 0xd8, 0x9d, 0x74, 0x74, 0x29, 0x36, 0x57, 0xed, 0x60, - 0x01, 0x23, 0x0d, 0xfc, 0x52, 0x12, 0xf0, 0x04, 0x58, 0x79, 0x74, 0x0b, 0x84, 0x94, 0xfa, 0xcf, - 0x9f, 0x26, 0xb0, 0x0e, 0x13, 0xb8, 0x84, 0x99, 0x95, 0x85, 0x28, 0xf0, 0x5f, 0xc2, 0x4f, 0xfc, - 0x3f, 0x88, 0x37, 0x8d, 0x3c, 0x6d, 0x3a, 0xa1, 0x1a, 0xac, 0xd6, 0x58, 0x40, 0x6f, 0x47, 0x93, - 0x48, 0x3f, 0xdb, 0x9b, 0x82, 0xa4, 0x22, 0x00, 0x0e, 0x11, 0xd8, 0x8f, 0x78, 0x93, 0x00, 0xf7, - 0xbd, 0x56, 0xa1, 0xc9, 0x7a, 0x81, 0x55, 0xa4, 0xb6, 0x96, 0x44, 0xd5, 0xf7, 0x6a, 0xa3, 0x30, - 0x16, 0xdb, 0x18, 0x9d, 0x84, 0xa0, 0xe2, 0x7d, 0x99, 0x68, 0xa5, 0x70, 0xa6, 0x28, 0x6e, 0x54, - 0x6a, 0x5a, 0x78, 0x57, 0x54, 0x07, 0x4a, 0x74, 0x77, 0xc1, 0xf3, 0x80, 0x83, 0x43, 0x3c, 0xfa, - 0x61, 0x07, 0x3a, 0xf8, 0x9e, 0x0e, 0x82, 0x36, 0x79, 0x31, 0x61, 0x31, 0x7e, 0xed, 0x99, 0x69, - 0x1a, 0x67, 0xa6, 0x3a, 0xd2, 0x89, 0x93, 0x43, 0x0f, 0xdd, 0xdc, 0x44, 0x7b, 0x01, 0xd1, 0x67, - 0xe1, 0x49, 0x26, 0x36, 0xcc, 0x11, 0xbb, 0x1a, 0xeb, 0xeb, 0xc4, 0xe9, 0xf4, 0x40, 0xc9, 0x34, - 0xf3, 0x55, 0x7e, 0xa7, 0x48, 0xa3, 0x4f, 0x60, 0xbb, 0xbc, 0x30, 0x50, 0x76, 0x0a, 0xfe, 0x6b, - 0x51, 0xac, 0x00, 0x4a, 0x4b, 0xa5, 0x66, 0x73, 0xa0, 0xd0, 0x94, 0x4c, 0xb3, 0x88, 0x29, 0x62, - 0x35, 0x92, 0x02, 0x00, 0x18, 0x6b, 0x62, 0x41, 0xb9, 0xfd, 0xf9, 0xa1, 0xd3, 0xdf, 0xfc, 0x3d, - 0x70, 0x30, 0x40, 0xd9, 0x40, 0x59, 0x60, 0xb4, 0x37, 0x64, 0x66, 0x65, 0x50, 0x8c, 0x7f, 0xf3, - 0x0b, 0xa1, 0x96, 0x17, 0x19, 0xbd, 0x28, 0x46, 0xcf, 0x8e, 0x59, 0x10, 0xc3, 0x48, 0xe1, 0xf4, - 0xc4, 0x02, 0xf3, 0x63, 0xc2, 0x7f, 0x10, 0x5c, 0x3c, 0x88, 0xe1, 0x40, 0x62, 0x6d, 0x72, 0x5f, - 0xf1, 0x5b, 0x89, 0x02, 0x89, 0x9c, 0xcd, 0x72, 0xf4, 0xbb, 0xbf, 0xf6, 0x30, 0xc5, 0x22, 0x8f, - 0x73, 0xd4, 0x66, 0x9f, 0x66, 0x2d, 0xc3, 0x42, 0x5d, 0xf3, 0xa9, 0x61, 0xda, 0x10, 0xb7, 0xfa, - 0xa6, 0x7d, 0xec, 0x76, 0x75, 0xd2, 0x1b, 0x8c, 0x75, 0xcb, 0xdb, 0xcb, 0xde, 0x09, 0x84, 0x20, - 0xe9, 0x53, 0xe6, 0x5b, 0xe0, 0xf2, 0xae, 0x3d, 0x43, 0x30, 0xe9, 0xd8, 0x11, 0x9c, 0xcb, 0xdc, - 0x00, 0xc6, 0x78, 0x74, 0x1d, 0x1c, 0x22, 0xe1, 0x95, 0x33, 0x3f, 0xe8, 0x42, 0xa4, 0xd1, 0x26, - 0x46, 0xaa, 0xa0, 0xc3, 0x62, 0x57, 0x9f, 0xf9, 0x85, 0x17, 0x14, 0x8b, 0x9f, 0x2f, 0x62, 0xe5, - 0xe6, 0x0b, 0xbc, 0x54, 0x16, 0x1b, 0x87, 0x28, 0x78, 0xc1, 0x8d, 0xd6, 0xc5, 0x27, 0xa5, 0x3d, - 0x4d, 0xc6, 0xbe, 0x98, 0x5b, 0xf5, 0x58, 0x60, 0x6e, 0xe8, 0x58, 0x3d, 0xda, 0xcb, 0x05, 0x7a, - 0x2e, 0xae, 0x0a, 0x5e, 0x10, 0x0b, 0x05, 0x13, 0x47, 0x28, 0x1e, 0xb8, 0x7e, 0x3a, 0x76, 0xc1, - 0xf4, 0x87, 0x85, 0xfb, 0x27, 0x08, 0xa8, 0x71, 0x07, 0xe1, 0xff, 0xc0, 0xa8, 0xf9, 0x37, 0xac, - 0x99, 0x26, 0x60, 0x2e, 0x86, 0xe0, 0xe5, 0x98, 0x23, 0x51, 0x2c, 0x99, 0x59, 0x0b, 0x60, 0x7c, - 0x37, 0xb3, 0xc3, 0x1f, 0xc9, 0xc0, 0x42, 0x4b, 0xd8, 0xc8, 0xe4, 0x31, 0x9e, 0xb2, 0x00, 0x82, - 0x5d, 0xdd, 0x4d, 0xc7, 0xe3, 0x9c, 0x2d, 0xdd, 0x7f, 0x8f, 0xb2, 0x1d, 0xfa, 0xd5, 0x0e, 0x3c, - 0xf5, 0x0b, 0x43, 0x77, 0xac, 0x17, 0x47, 0x02, 0x95, 0x17, 0x2f, 0xd0, 0x78, 0x2e, 0x42, 0x49, - 0xa3, 0x47, 0xe0, 0xbe, 0x8f, 0x0b, 0xd0, 0xe5, 0x57, 0x1e, 0xbe, 0x87, 0x5e, 0x9a, 0x1a, 0x7a, - 0x95, 0x84, 0xb1, 0xbf, 0xb4, 0xf0, 0x9e, 0x90, 0xf9, 0x53, 0xc3, 0x58, 0x67, 0xce, 0x4a, 0x9f, - 0x4c, 0xea, 0x36, 0xe6, 0x79, 0x54, 0xdc, 0x40, 0x6f, 0x41, 0xe2, 0xbb, 0xc5, 0x2f, 0xb7, 0xb7, - 0x25, 0x0c, 0x7c, 0xd4, 0x70, 0x12, 0xfd, 0x35, 0x02, 0x1f, 0x0d, 0xaf, 0xd3, 0xf1, 0xf2, 0xfc, - 0xce, 0x56, 0x9e, 0x9a, 0xbd, 0xd8, 0xc1, 0xfe, 0x22, 0x1e, 0xdc, 0xc8, 0x60, 0xce, 0x4e, 0xab, - 0x94, 0xfe, 0x86, 0xef, 0x66, 0x86, 0x3e, 0xa2, 0x9a, 0x39, 0x72, 0xe2, 0x58, 0xf3, 0x25, 0x26, - 0x7a, 0x0f, 0x3e, 0x4b, 0x3f, 0x94, 0x92, 0xc6, 0x90, 0x8d, 0x08, 0x04, 0x67, 0x87, 0xc6, 0xc6, - 0x4a, 0xa3, 0x9c, 0xc5, 0x9e, 0x58, 0xd0, 0x32, 0x2e, 0xea, 0x04, 0x3e, 0x62, 0xdf, 0x57, 0x09, - 0x05, 0xef, 0x25, 0x75, 0x55, 0xd6, 0x47, 0x76, 0x7a, 0xe5, 0xd1, 0xd7, 0x72, 0x4e, 0x54, 0x83, - 0x64, 0xb9, 0x0b, 0xe6, 0xf9, 0xf9, 0xdf, 0xed, 0x15, 0x91, 0x93, 0xc3, 0x8f, 0x5c, 0xf3, 0xc2, - 0x79, 0x33, 0x4f, 0xfd, 0x42, 0x27, 0x82, 0x46, 0xfb, 0xd2, 0x14, 0x85, 0xa9, 0xc8, 0x4c, 0xee, - 0xcc, 0xa2, 0xd1, 0xa5, 0x21, 0xea, 0xd1, 0x00, 0x15, 0x63, 0xd0, 0x23, 0x83, 0x1d, 0x52, 0x04, - 0xae, 0x11, 0x59, 0x76, 0x75, 0x47, 0xbd, 0xa1, 0x81, 0xc0, 0x9c, 0x1f, 0xc9, 0x84, 0x9f, 0xe2, - 0xaf, 0x7a, 0xe4, 0x72, 0xc8, 0x40, 0x72, 0x8e, 0x6c, 0x93, 0xba, 0xc3, 0xd1, 0xa0, 0x0e, 0x31, - 0x47, 0x23, 0xb2, 0x74, 0x66, 0xcb, 0xdc, 0x36, 0xc2, 0x3b, 0xc7, 0x50, 0x17, 0xd0, 0xe9, 0x1d, - 0x63, 0x8b, 0x0b, 0xff, 0x3c, 0x3b, 0xca, 0xa7, 0x95, 0x97, 0x74, 0xc4, 0x5f, 0xd0, 0x73, 0x69, - 0x0b, 0x34, 0x47, 0x7a, 0x0d, 0x3c, 0xe6, 0xe7, 0xe6, 0x47, 0x34, 0x0f, 0x8a, 0xc0, 0x2c, 0x7b, - 0x98, 0x72, 0xd2, 0xc1, 0x47, 0x07, 0xf9, 0xbf, 0xfe, 0x8a, 0x76, 0xdd, 0x4d, 0xbc, 0x9b, 0x18, - 0x20, 0x12, 0x10, 0xe8, 0xa3, 0x07, 0xa0, 0xa1, 0x38, 0xff, 0x10, 0x20, 0xd3, 0xf3, 0x47, 0x8b, - 0x7c, 0x4f, 0x9c, 0xff, 0xc9, 0x30, 0xff, 0xcb, 0x33, 0x21, 0xdd, 0x98, 0x96, 0xf0, 0xdf, 0xed, - 0x55, 0x4e, 0x74, 0x9e, 0x1d, 0xe9, 0x4b, 0xda, 0x9f, 0x0f, 0x91, 0x8f, 0x92, 0x14, 0x55, 0x94, - 0x99, 0x16, 0xca, 0x0a, 0xf8, 0xa3, 0x5f, 0xea, 0x8c, 0xd9, 0x74, 0xb7, 0xa6, 0xa2, 0x1f, 0x4b, - 0x8b, 0xb2, 0x28, 0x13, 0x63, 0x67, 0x65, 0xd2, 0xce, 0xbf, 0xcc, 0xdc, 0x24, 0xbc, 0xa0, 0x59, - 0xe0, 0x1b, 0xe2, 0x17, 0x8c, 0x14, 0x98, 0x66, 0x7d, 0xdc, 0x11, 0x81, 0x19, 0x7e, 0x17, 0xf9, - 0x20, 0xe1, 0x3b, 0x26, 0xec, 0x60, 0x82, 0xb1, 0x93, 0xcd, 0x17, 0x36, 0x37, 0x3f, 0x35, 0xbe, - 0x66, 0xd3, 0x43, 0x07, 0xc0, 0x81, 0xa1, 0x2e, 0xc7, 0x90, 0xe7, 0xb6, 0xb6, 0x34, 0xce, 0xa3, - 0xc8, 0xad, 0xa6, 0x83, 0x7d, 0xcb, 0x6f, 0x19, 0xbe, 0x97, 0x93, 0x84, 0x8b, 0xf0, 0xc5, 0xf1, - 0xba, 0x00, 0x3b, 0xcc, 0x3a, 0x18, 0x3d, 0x4e, 0x30, 0xf8, 0xcf, 0x22, 0x13, 0x0f, 0xd7, 0x3c, - 0xd2, 0x8f, 0x30, 0x0a, 0x16, 0x79, 0x2f, 0x2a, 0x7a, 0xb8, 0xa6, 0xc5, 0xf9, 0xa8, 0x3c, 0xa4, - 0x77, 0x9f, 0x1b, 0x41, 0xf4, 0x6f, 0xbc, 0xea, 0x9d, 0xe1, 0xe2, 0x11, 0xc1, 0x2d, 0x48, 0xdb, - 0x4a, 0x27, 0x04, 0x59, 0xd9, 0xd6, 0x56, 0x59, 0xc8, 0x7f, 0x88, 0xf5, 0x44, 0x36, 0x6b, 0x07, - 0x70, 0xc6, 0x27, 0xe0, 0xd2, 0xc8, 0xb8, 0x18, 0x82, 0x3c, 0x4a, 0x01, 0x41, 0x3c, 0x50, 0x22, - 0x64, 0xb3, 0x59, 0x97, 0x09, 0x4f, 0xbe, 0x79, 0xc5, 0x97, 0x18, 0x48, 0x83, 0xf1, 0x06, 0xf4, - 0xa0, 0xf1, 0xef, 0x30, 0x40, 0x39, 0x3f, 0x28, 0xfe, 0xe6, 0x26, 0x7b, 0x32, 0xf9, 0x30, 0x9a, - 0x40, 0x0a, 0xaf, 0xfd, 0xa4, 0x4c, 0xde, 0xcb, 0x81, 0xd5, 0xc8, 0xff, 0xa0, 0x8b, 0xf2, 0xaf, - 0xbf, 0xe2, 0x3b, 0x1d, 0xec, 0xc2, 0x90, 0x5a, 0x9f, 0xa3, 0x48, 0x1c, 0xe9, 0x0d, 0xa4, 0x09, - 0xb4, 0x16, 0x5f, 0x5f, 0x59, 0x1e, 0xf3, 0x16, 0x81, 0x28, 0xb7, 0x34, 0x8c, 0x85, 0x17, 0xff, - 0xd0, 0x93, 0xd1, 0x96, 0xa3, 0x0f, 0x82, 0x94, 0x06, 0x25, 0x38, 0x1a, 0x27, 0x91, 0x06, 0x4c, - 0x84, 0x39, 0x5f, 0x2e, 0x35, 0x34, 0xf1, 0x6e, 0x29, 0x9a, 0x6b, 0x29, 0x47, 0x5b, 0x5f, 0x30, - 0x1a, 0xfa, 0xf0, 0xfd, 0x92, 0x14, 0x24, 0x6c, 0xde, 0x9c, 0x80, 0xab, 0xef, 0x83, 0x72, 0x23, - 0xeb, 0xa3, 0x62, 0x61, 0x14, 0x45, 0xbf, 0xdc, 0xc6, 0xf7, 0x9c, 0xf7, 0x55, 0x94, 0xd4, 0xf7, - 0x1c, 0x9e, 0xb6, 0xe2, 0xef, 0xc0, 0x1d, 0xea, 0x3b, 0xa9, 0xff, 0x0f, 0x56, 0x75, 0xa0, 0x7d, - 0x48, 0xc7, 0x00, 0x00 + 0x43, 0x4a, 0x99, 0x0a, 0x5d, 0x68, 0x00, 0x75, 0x11, 0x21, 0x5f, 0xca, 0x2d, 0xd8, 0xa1, 0x25, + 0x3e, 0x65, 0xb8, 0x3a, 0xbc, 0xa8, 0xd4, 0x85, 0x2e, 0x1a, 0xd5, 0xc4, 0x80, 0x4d, 0x40, 0x8f, + 0x06, 0x3d, 0x31, 0xb2, 0xbd, 0x69, 0xd4, 0x9b, 0x8e, 0xba, 0x86, 0x84, 0xbc, 0x28, 0xdf, 0x88, + 0xf0, 0x9d, 0xf0, 0x12, 0x4c, 0xc4, 0x79, 0xf8, 0xcf, 0xd9, 0xe7, 0x17, 0xf2, 0xd7, 0x5f, 0x41, + 0x13, 0xfc, 0x3c, 0xb2, 0xc3, 0xc0, 0x1e, 0x18, 0xdd, 0x6f, 0x22, 0xfc, 0x34, 0xee, 0x9a, 0x28, + 0x14, 0x49, 0x91, 0xf7, 0xad, 0x63, 0x94, 0x15, 0x9b, 0xcd, 0x8f, 0x2c, 0xce, 0x8e, 0x86, 0x27, + 0x14, 0x1f, 0xdf, 0xca, 0x00, 0x21, 0x84, 0xfc, 0xe0, 0x2c, 0xd8, 0x55, 0x39, 0x66, 0x96, 0xc6, + 0x90, 0x0e, 0xe9, 0x2f, 0x50, 0x0f, 0x59, 0x19, 0xf4, 0x10, 0xb4, 0xad, 0x26, 0x33, 0x39, 0xa3, + 0xc7, 0x46, 0xf4, 0x6e, 0x02, 0xee, 0x85, 0x59, 0xc3, 0x9c, 0xa4, 0xd9, 0x69, 0x3e, 0x6a, 0x02, + 0x09, 0xb7, 0x72, 0xc2, 0xfb, 0xac, 0x0b, 0xdd, 0x86, 0xe8, 0xc5, 0x50, 0x60, 0xe0, 0xb0, 0xde, + 0x7e, 0xf8, 0xbb, 0x02, 0xe0, 0xe0, 0xdb, 0x9c, 0x1b, 0x73, 0x6c, 0x63, 0xf8, 0xc6, 0xd7, 0xd1, + 0x3b, 0x1b, 0x5b, 0x8e, 0x6d, 0x2f, 0x91, 0xb9, 0x10, 0x0a, 0x68, 0x03, 0x61, 0x56, 0x77, 0x33, + 0x30, 0xa8, 0x1b, 0x02, 0x5e, 0xf0, 0x24, 0x18, 0xab, 0x05, 0xaf, 0x87, 0xa0, 0x52, 0xbf, 0x85, + 0x27, 0x13, 0x30, 0x26, 0xbc, 0x39, 0xa8, 0x31, 0xe1, 0x81, 0x62, 0xa6, 0x81, 0xb1, 0x8a, 0x6d, + 0x64, 0xd9, 0xb7, 0x37, 0x9d, 0xad, 0x2a, 0xb7, 0x10, 0xf0, 0xdb, 0x40, 0x75, 0xf7, 0x6f, 0xfa, + 0x87, 0xa6, 0xff, 0x97, 0x65, 0x89, 0x3e, 0x8f, 0x41, 0x37, 0x7e, 0xa0, 0x20, 0xae, 0x28, 0x20, + 0x07, 0xd1, 0x19, 0xd3, 0xa8, 0xcc, 0x10, 0xca, 0x14, 0x2c, 0xe5, 0x63, 0xc1, 0xc2, 0xaf, 0xc0, + 0xf3, 0x11, 0xa1, 0x82, 0x78, 0x42, 0x85, 0xf7, 0x5b, 0x27, 0xf1, 0xdd, 0x9b, 0xaf, 0x47, 0x97, + 0x25, 0x06, 0x32, 0x81, 0xa5, 0xe3, 0x58, 0xa0, 0x39, 0x10, 0x76, 0x1b, 0xe7, 0xef, 0x9d, 0x35, + 0x2c, 0x6b, 0xf7, 0xde, 0x87, 0x89, 0x62, 0xb7, 0xd3, 0xe6, 0xa6, 0x51, 0x67, 0xc1, 0x91, 0xf0, + 0x6f, 0x54, 0x6c, 0x88, 0x46, 0x0e, 0x9b, 0x7b, 0xd1, 0x92, 0x40, 0x17, 0x8d, 0xc6, 0x86, 0x12, + 0xd2, 0x7e, 0x3c, 0x25, 0xf6, 0xcb, 0x27, 0xa2, 0xc7, 0x78, 0xb7, 0xb2, 0x31, 0xe4, 0x9c, 0x3f, + 0x0d, 0xc1, 0xd7, 0x02, 0x9a, 0xac, 0xca, 0x0f, 0x2e, 0xf2, 0xd5, 0x00, 0xfc, 0xe8, 0x16, 0x10, + 0x5c, 0x24, 0x05, 0xbf, 0x70, 0xc7, 0x7b, 0x7a, 0x85, 0xff, 0xf1, 0xa3, 0xb8, 0x32, 0xcb, 0x80, + 0x84, 0xea, 0x6c, 0x72, 0x00, 0xfe, 0x31, 0x93, 0x3f, 0x5d, 0xd1, 0x61, 0x61, 0xff, 0xbd, 0x28, + 0x50, 0xde, 0x03, 0xcf, 0xee, 0x43, 0xfa, 0xe3, 0x63, 0x3e, 0x90, 0xf4, 0xe8, 0x69, 0xd5, 0x00, + 0x68, 0xb1, 0x3f, 0x1e, 0xc1, 0xb9, 0x07, 0x2f, 0x3a, 0x0a, 0x0f, 0xd2, 0xca, 0x61, 0xb0, 0xcf, + 0x0e, 0xf9, 0x7e, 0xc8, 0x5e, 0x11, 0x60, 0x43, 0x11, 0x90, 0xed, 0xcb, 0x28, 0xbc, 0xc6, 0xda, + 0x1c, 0xe4, 0x54, 0xb8, 0xa2, 0x19, 0x0c, 0xd6, 0x29, 0xef, 0x13, 0x0c, 0x49, 0x7d, 0x8d, 0x24, + 0xb5, 0x35, 0x5a, 0x78, 0xbc, 0x52, 0xb7, 0x5b, 0x5d, 0xd6, 0x8f, 0xe5, 0xff, 0x51, 0x69, 0xff, + 0xd0, 0x82, 0xbd, 0xf9, 0x03, 0x63, 0x71, 0xb4, 0x13, 0x75, 0x1b, 0xeb, 0xb3, 0x9a, 0x49, 0xf5, + 0x32, 0x8e, 0xc1, 0x88, 0x37, 0x8c, 0x6f, 0x6c, 0x21, 0x0b, 0xc5, 0x81, 0xac, 0xdf, 0x7c, 0xd6, + 0xf3, 0xcb, 0x68, 0x84, 0x39, 0x66, 0xfe, 0xf7, 0x0a, 0xf8, 0xcb, 0xca, 0xae, 0x57, 0xba, 0xf0, + 0xfb, 0xf3, 0xbd, 0xf1, 0x7c, 0x43, 0x48, 0x62, 0x1d, 0x82, 0xb4, 0x59, 0xa7, 0x87, 0x44, 0xb8, + 0xd9, 0xd6, 0xc3, 0x73, 0x7e, 0x82, 0xdb, 0x71, 0xd8, 0xc7, 0xc5, 0x22, 0x1e, 0xb2, 0x25, 0x16, + 0x3d, 0x36, 0x7a, 0x55, 0x28, 0x1a, 0x45, 0xd4, 0xeb, 0x5c, 0x23, 0xec, 0x5e, 0x88, 0xec, 0x20, + 0x6d, 0xe5, 0x1c, 0x46, 0xc2, 0xc7, 0x26, 0x47, 0xe8, 0x61, 0x61, 0x05, 0xa4, 0xcd, 0xcd, 0x55, + 0x3d, 0xa0, 0xdf, 0x2d, 0x04, 0xd1, 0xcc, 0xbc, 0xd3, 0xc8, 0x24, 0x3d, 0x97, 0xc9, 0x40, 0x1a, + 0x6b, 0xa6, 0x5d, 0xe7, 0x9c, 0xa1, 0x69, 0xa2, 0x7f, 0x24, 0x05, 0x54, 0xf7, 0xa3, 0x4a, 0x27, + 0xc6, 0x19, 0x8d, 0xc4, 0x1b, 0x1d, 0xe6, 0x72, 0x07, 0xff, 0xc6, 0x28, 0x57, 0xe0, 0xea, 0xf3, + 0xc3, 0x8c, 0xf7, 0xe0, 0x3f, 0x18, 0x65, 0xe8, 0x75, 0xb3, 0x9e, 0x36, 0x80, 0x5b, 0x7f, 0xf1, + 0x9d, 0x79, 0xc8, 0xaf, 0xc5, 0x72, 0x75, 0xf4, 0x96, 0x59, 0x5f, 0x1d, 0x74, 0xb3, 0x7a, 0x20, + 0xb7, 0x47, 0x69, 0x8c, 0xfa, 0x92, 0x04, 0x56, 0xe1, 0x38, 0x54, 0x2f, 0x82, 0x2d, 0x69, 0x8a, + 0xfc, 0x3c, 0x31, 0x13, 0xc2, 0x72, 0x3b, 0xbd, 0x69, 0x3d, 0x7a, 0x81, 0xb3, 0x37, 0x55, 0x49, + 0x0f, 0xcd, 0x19, 0x09, 0xa0, 0x7e, 0x7c, 0x55, 0x5f, 0x30, 0x4c, 0x92, 0xf2, 0x0a, 0xc8, 0x30, + 0x4b, 0x75, 0x92, 0x84, 0x43, 0x3f, 0x37, 0x16, 0x1f, 0xee, 0xd2, 0x20, 0x97, 0x35, 0x5a, 0x3e, + 0x89, 0x38, 0x16, 0x1a, 0x7c, 0x05, 0xda, 0x9c, 0xe9, 0x4a, 0x58, 0x31, 0x05, 0x64, 0x09, 0x63, + 0x91, 0xc0, 0xd8, 0xab, 0x66, 0x62, 0x35, 0xc8, 0x25, 0xad, 0x65, 0x09, 0x2c, 0x06, 0x4d, 0x4c, + 0xce, 0x2d, 0xba, 0xd0, 0x92, 0x24, 0x6e, 0xd9, 0x6d, 0x85, 0x80, 0xe1, 0xcd, 0x51, 0xa3, 0x5e, + 0x34, 0x62, 0xf7, 0x2e, 0xf1, 0x24, 0x11, 0x14, 0x79, 0x2a, 0x98, 0x46, 0xc4, 0x0f, 0xff, 0x13, + 0x8e, 0x96, 0x7f, 0xd9, 0xd3, 0xbf, 0x05, 0xea, 0xf9, 0xbb, 0x52, 0x57, 0xd7, 0xd8, 0xdc, 0xb8, + 0xb1, 0xb6, 0x03, 0x2d, 0x10, 0x9d, 0x8f, 0x30, 0x1c, 0x22, 0x69, 0x84, 0x4c, 0x77, 0xbd, 0xd6, + 0xbb, 0x74, 0x66, 0x89, 0x47, 0x95, 0x2b, 0x0c, 0xf1, 0xd3, 0x29, 0x0d, 0x7f, 0xd6, 0x48, 0x64, + 0x53, 0xa3, 0xb8, 0x97, 0x27, 0x20, 0x02, 0xe8, 0x96, 0x96, 0x76, 0xd7, 0x2a, 0xba, 0x31, 0x65, + 0x72, 0x49, 0x39, 0x25, 0xbf, 0x3e, 0xb4, 0x47, 0x52, 0xb5, 0x07, 0x85, 0xbd, 0x01, 0xf4, 0x3d, + 0xf4, 0x16, 0x68, 0x7b, 0x27, 0x55, 0xf4, 0xd3, 0x4b, 0x4d, 0x3c, 0xaa, 0x02, 0x02, 0x9f, 0x0f, + 0xea, 0xa2, 0xe0, 0xc0, 0xbf, 0x31, 0x7e, 0xb0, 0x17, 0xa4, 0xb9, 0xd8, 0xf5, 0xe5, 0xc0, 0xb1, + 0xdf, 0x3b, 0x0e, 0xcd, 0x94, 0x45, 0xbe, 0xa1, 0x9a, 0x73, 0x92, 0x1d, 0x44, 0x8b, 0x15, 0x2b, + 0x89, 0x72, 0xfc, 0x02, 0x7a, 0xab, 0x93, 0x34, 0x4d, 0x94, 0x64, 0xf4, 0xea, 0x1f, 0xd0, 0x58, + 0x7e, 0x03, 0x3c, 0xc8, 0xe2, 0x1b, 0xac, 0x73, 0x90, 0xb8, 0x08, 0x11, 0x42, 0x28, 0x76, 0xfc, + 0xef, 0x81, 0x2c, 0x9d, 0xbe, 0x04, 0xa3, 0xf3, 0x18, 0x2c, 0x8b, 0xb7, 0xc0, 0x22, 0xd5, 0xc1, + 0x66, 0xde, 0x88, 0xe0, 0xec, 0x3a, 0x62, 0x1b, 0xb2, 0xa3, 0xc8, 0x3c, 0x88, 0x64, 0xf4, 0x63, + 0xf6, 0xa4, 0xa8, 0x35, 0xa9, 0x11, 0x05, 0x3d, 0x20, 0xd3, 0x2e, 0x55, 0x78, 0x3c, 0x53, 0x38, + 0x3c, 0xf9, 0x97, 0x29, 0xdc, 0x98, 0xbd, 0xa0, 0xe1, 0xe2, 0x7d, 0x08, 0x3c, 0x50, 0xea, 0x7a, + 0xa5, 0x2a, 0xb1, 0x48, 0x00, 0xfe, 0x37, 0x9d, 0x30, 0x16, 0x00, 0x6b, 0x2a, 0xda, 0x0c, 0x4d, + 0xf1, 0xec, 0xc8, 0x30, 0x25, 0xb1, 0x1e, 0x8c, 0x60, 0xd7, 0x8d, 0xa5, 0x38, 0x92, 0x3b, 0xb2, + 0xa9, 0xca, 0xe3, 0xcd, 0x1a, 0x68, 0x79, 0x9a, 0x6d, 0x66, 0xdb, 0xac, 0xbc, 0x33, 0xbe, 0x31, + 0xf1, 0xcb, 0x32, 0x0e, 0x9e, 0x72, 0x7b, 0x46, 0x13, 0x23, 0xcb, 0x0c, 0x26, 0x46, 0xb6, 0xef, + 0xfd, 0xca, 0xb8, 0x5a, 0xa0, 0x2f, 0x06, 0x99, 0xfa, 0xa7, 0x65, 0x5d, 0x4d, 0xd6, 0xe9, 0x48, + 0x57, 0x47, 0xf1, 0x59, 0x73, 0xde, 0x88, 0x11, 0xbc, 0x52, 0xe2, 0x3f, 0x05, 0x7a, 0x76, 0xcb, + 0xff, 0x8e, 0xa2, 0xf5, 0x24, 0x40, 0x6b, 0xb4, 0xfb, 0x2f, 0x44, 0x1f, 0x6b, 0x46, 0x9c, 0x29, + 0xf8, 0x24, 0xe0, 0x31, 0x05, 0xd4, 0x9f, 0x82, 0x11, 0xa1, 0xed, 0xcc, 0x65, 0x70, 0x76, 0xc4, + 0x1f, 0x31, 0x44, 0x10, 0xbc, 0xdc, 0x54, 0x4f, 0x24, 0xb5, 0xd9, 0xc7, 0x6a, 0xd2, 0x1c, 0x60, + 0x02, 0xc6, 0x0a, 0xff, 0xa2, 0xe4, 0xe4, 0x7d, 0x39, 0x6b, 0xfe, 0x61, 0xa5, 0xa5, 0x48, 0x90, + 0xe1, 0x14, 0xfa, 0x2c, 0x30, 0x06, 0xf4, 0x64, 0x19, 0x68, 0x7a, 0xce, 0xc6, 0x5a, 0x5f, 0x07, + 0x2b, 0x40, 0xd0, 0x22, 0x01, 0x8c, 0x7e, 0x19, 0x68, 0x1e, 0x62, 0xc6, 0x73, 0x07, 0x58, 0x45, + 0xe4, 0xe8, 0x1c, 0xb0, 0x8a, 0xc6, 0x13, 0xe9, 0xbb, 0x61, 0x53, 0xbf, 0xd7, 0xac, 0xb4, 0x20, + 0x31, 0x26, 0x8d, 0x26, 0x19, 0x63, 0x1e, 0x58, 0xc7, 0xe6, 0x66, 0x3c, 0x16, 0x4a, 0xb3, 0xe9, + 0xb2, 0x55, 0xb0, 0x9a, 0xa3, 0x6d, 0x6e, 0x7e, 0x88, 0x6d, 0xea, 0xfb, 0xf0, 0x2e, 0x90, 0xe4, + 0x8a, 0x67, 0xcb, 0x4c, 0x28, 0x7c, 0xc1, 0xee, 0xa4, 0xa3, 0x4b, 0xb1, 0xb9, 0x6a, 0x07, 0x0b, + 0x18, 0x69, 0xe0, 0x98, 0x92, 0x80, 0x27, 0xc0, 0xca, 0xa3, 0x5b, 0x20, 0xa4, 0xd4, 0x7f, 0xfe, + 0x34, 0x81, 0x75, 0x98, 0xc0, 0x25, 0xcc, 0xac, 0x2c, 0x44, 0x81, 0xff, 0x12, 0x7e, 0xe2, 0xff, + 0x41, 0xbc, 0x69, 0xe4, 0x69, 0xd3, 0x09, 0xd5, 0x60, 0xb5, 0xc6, 0x02, 0x7a, 0x3b, 0x9a, 0x44, + 0xfa, 0xd9, 0xde, 0x14, 0x24, 0x15, 0x01, 0x70, 0x88, 0xc0, 0x7e, 0xc4, 0x9b, 0x04, 0xb8, 0xef, + 0xb5, 0x0a, 0x4d, 0xd6, 0x0b, 0xac, 0x22, 0xb5, 0xb5, 0x24, 0xaa, 0xbe, 0x57, 0x1b, 0x85, 0xb1, + 0xd8, 0xc6, 0xe8, 0x24, 0x04, 0x15, 0xef, 0xd3, 0x44, 0x2b, 0x85, 0x33, 0x45, 0x71, 0xa3, 0x52, + 0xd3, 0xc2, 0xbb, 0xa3, 0x3a, 0x50, 0xa2, 0xbb, 0x0b, 0x1e, 0x08, 0x1c, 0x1c, 0xe2, 0xd9, 0x0f, + 0x3b, 0xd1, 0xc1, 0xf7, 0x74, 0x10, 0xb5, 0xc9, 0x0b, 0x0a, 0x8b, 0x01, 0x6c, 0xcf, 0x4c, 0xd3, + 0x38, 0x33, 0xd5, 0x91, 0x4e, 0x9c, 0x1c, 0xba, 0xe8, 0xe6, 0x26, 0xda, 0x0b, 0x88, 0x3e, 0x0b, + 0x4f, 0x32, 0xb1, 0x61, 0x8e, 0xd8, 0xdd, 0x58, 0x5f, 0x27, 0x4e, 0xa7, 0x07, 0x4a, 0xa6, 0x99, + 0xaf, 0xf2, 0x3b, 0x45, 0x1a, 0x7e, 0x02, 0xdb, 0xe5, 0x85, 0x81, 0xb2, 0x53, 0xf0, 0x5f, 0x8b, + 0x62, 0x05, 0x50, 0x5a, 0x2a, 0x35, 0x9b, 0x03, 0x85, 0xa6, 0x64, 0x9a, 0x45, 0x4c, 0x11, 0xab, + 0x91, 0x14, 0x00, 0xc0, 0x58, 0x13, 0x8b, 0xca, 0xed, 0xcf, 0x0f, 0x9d, 0xfe, 0xe6, 0xef, 0x81, + 0x83, 0x11, 0xca, 0x06, 0xca, 0x02, 0xc3, 0xbd, 0x21, 0x33, 0x2b, 0x83, 0x62, 0xfc, 0x9b, 0x5f, + 0x08, 0xb5, 0xbc, 0xc8, 0xe8, 0x45, 0x31, 0x7a, 0x76, 0xcc, 0x82, 0x18, 0x86, 0x0a, 0xa7, 0x47, + 0x16, 0x98, 0x1f, 0x13, 0xfe, 0x83, 0xe8, 0xe2, 0x41, 0x10, 0x07, 0x12, 0x6b, 0x93, 0xfb, 0x8a, + 0x1f, 0x4b, 0x14, 0x48, 0xe4, 0x70, 0x96, 0xa3, 0x1f, 0xfe, 0xb5, 0x87, 0x29, 0x16, 0x7a, 0x9c, + 0xa3, 0x46, 0xfb, 0x34, 0x6b, 0x19, 0x16, 0xea, 0x9a, 0x6f, 0x0d, 0xd3, 0x86, 0xb8, 0xd5, 0x57, + 0xed, 0x63, 0xd7, 0xab, 0x93, 0xee, 0x60, 0xac, 0x5b, 0xde, 0x5e, 0xf6, 0x4e, 0x24, 0x04, 0x49, + 0x9f, 0x32, 0xe7, 0x02, 0x97, 0x77, 0xed, 0x19, 0x82, 0x49, 0xc7, 0xce, 0xe0, 0x5c, 0xe6, 0x07, + 0x30, 0xc6, 0xb3, 0xeb, 0xe0, 0x14, 0x09, 0xef, 0x9c, 0xf9, 0x51, 0x17, 0x22, 0x8d, 0x36, 0x31, + 0x54, 0x05, 0x1d, 0x16, 0xbb, 0xfb, 0xcc, 0x2f, 0xbc, 0xa8, 0x58, 0xfc, 0x7c, 0x11, 0x2b, 0x37, + 0x5f, 0xe0, 0xad, 0xb2, 0xd8, 0x38, 0x44, 0xc1, 0x8b, 0x6e, 0xb4, 0x2e, 0x40, 0x29, 0xed, 0x69, + 0x32, 0xf8, 0xc5, 0xdc, 0xaa, 0xc7, 0x22, 0x73, 0x43, 0xc7, 0xea, 0xd1, 0x5e, 0x2e, 0xd0, 0x75, + 0x71, 0x55, 0xf4, 0x82, 0x58, 0x2c, 0x98, 0x38, 0x42, 0xf1, 0xc4, 0xf5, 0xd3, 0xc1, 0x0b, 0xa6, + 0x3f, 0x2c, 0xdc, 0x3f, 0x41, 0x40, 0x8d, 0x7b, 0x08, 0xff, 0x07, 0x46, 0xcd, 0xbf, 0x61, 0xcd, + 0x34, 0x01, 0x73, 0x31, 0x04, 0x2f, 0x07, 0x1d, 0x89, 0x62, 0xc9, 0xcc, 0x5a, 0x00, 0xe3, 0xbb, + 0x99, 0x1d, 0xfe, 0x48, 0x46, 0x16, 0x5a, 0xc2, 0x46, 0x26, 0x8f, 0x01, 0x95, 0x05, 0x10, 0xec, + 0xea, 0x6e, 0x3a, 0x1e, 0xe8, 0x6c, 0xe9, 0x02, 0x7c, 0x94, 0xed, 0xd0, 0xcf, 0x76, 0xe0, 0xb1, + 0x5f, 0x18, 0xbb, 0x63, 0xbd, 0x38, 0x12, 0xa8, 0xbc, 0x78, 0x83, 0xc6, 0xf3, 0x11, 0x4a, 0x1a, + 0x3d, 0x02, 0xff, 0x7d, 0x5c, 0x80, 0x2e, 0xbf, 0xf2, 0xf4, 0x3d, 0x74, 0xd3, 0xd4, 0xd0, 0xad, + 0x24, 0x0c, 0xfe, 0xa5, 0x85, 0x17, 0x85, 0xcc, 0x9f, 0x1a, 0x06, 0x3b, 0x73, 0x56, 0x3a, 0x65, + 0x52, 0xbf, 0x31, 0xcf, 0xa5, 0xe2, 0x06, 0x7a, 0x0b, 0x12, 0xdf, 0x2d, 0x7e, 0xba, 0xbd, 0x2d, + 0x61, 0xe4, 0xa3, 0x86, 0x93, 0xe8, 0xaf, 0x11, 0x38, 0x69, 0x78, 0x9d, 0x8e, 0x97, 0xe7, 0x77, + 0xb6, 0xf2, 0xd4, 0xec, 0xc5, 0x4e, 0xf6, 0x17, 0xf1, 0xe8, 0x46, 0x06, 0xf3, 0x76, 0x5a, 0xa5, + 0xf4, 0x37, 0x7c, 0x3f, 0x33, 0x74, 0x12, 0xd5, 0xcc, 0x91, 0x13, 0xc7, 0x9a, 0x2f, 0x31, 0xd1, + 0x8b, 0xf0, 0x59, 0xfa, 0xa5, 0x94, 0x34, 0xc6, 0x6c, 0x44, 0x20, 0x38, 0x3b, 0x34, 0x38, 0x56, + 0x1a, 0xe5, 0x2c, 0xf6, 0xc4, 0xa2, 0x96, 0x71, 0x51, 0x2f, 0xf0, 0x11, 0xfb, 0xc0, 0x4a, 0x28, + 0x78, 0x2f, 0xa9, 0xab, 0xb2, 0x3e, 0xb2, 0xd3, 0x2b, 0xcf, 0xbe, 0x96, 0x73, 0xa2, 0x1a, 0x24, + 0xcb, 0x5d, 0x30, 0xd7, 0xcf, 0xff, 0x6e, 0xaf, 0x08, 0x9d, 0x1c, 0x7e, 0xe5, 0x9a, 0x17, 0xce, + 0x9b, 0x79, 0xea, 0x18, 0x3a, 0x11, 0x34, 0xda, 0x97, 0xa6, 0x28, 0x4c, 0x45, 0x66, 0x72, 0x67, + 0x16, 0x8d, 0x2e, 0x8d, 0x51, 0x8f, 0x06, 0xa8, 0x18, 0x83, 0x1e, 0x19, 0xec, 0x90, 0x22, 0xf0, + 0x8d, 0xc8, 0xb2, 0xbb, 0x3b, 0xea, 0x0d, 0x8d, 0x04, 0xe6, 0xfc, 0x48, 0x26, 0xfc, 0x14, 0x7f, + 0xd5, 0x23, 0xb7, 0x43, 0x06, 0x92, 0x73, 0x64, 0x9b, 0xd4, 0x1f, 0x8e, 0x46, 0x75, 0x88, 0x79, + 0x1a, 0x91, 0xa5, 0x43, 0x5b, 0xe6, 0xb7, 0x11, 0x5e, 0x3a, 0x86, 0xba, 0x80, 0x4e, 0xef, 0x1c, + 0x5b, 0x5c, 0xf8, 0x07, 0xda, 0x51, 0x3e, 0xad, 0xbc, 0xa4, 0x23, 0x0e, 0x83, 0x9e, 0x4f, 0x5b, + 0xa0, 0x39, 0xd2, 0x7b, 0xe0, 0x31, 0x47, 0x37, 0x3f, 0xa4, 0x79, 0x50, 0x04, 0x66, 0xd9, 0xc3, + 0x94, 0x93, 0x0e, 0xbe, 0x3a, 0xc8, 0xff, 0xf5, 0x57, 0xb4, 0xeb, 0x6e, 0xe2, 0xdd, 0xc4, 0x08, + 0x91, 0x80, 0x40, 0x1f, 0x3d, 0x00, 0x0d, 0xc5, 0xf9, 0x87, 0x00, 0x99, 0x9e, 0x43, 0x5a, 0xe4, + 0x83, 0xe2, 0xfc, 0x4f, 0x86, 0xf9, 0x5f, 0x9e, 0x09, 0xe9, 0xc6, 0xb4, 0x84, 0xff, 0x6e, 0xaf, + 0xf2, 0xa2, 0xf3, 0xec, 0x48, 0x5f, 0xd2, 0xfe, 0x7c, 0x88, 0x7c, 0x94, 0xa4, 0xa8, 0xa2, 0xcc, + 0xb4, 0x50, 0x56, 0xc0, 0x1f, 0xfd, 0x52, 0x67, 0xcc, 0xa6, 0xbb, 0x35, 0x15, 0xfd, 0x60, 0x5a, + 0x94, 0x45, 0x99, 0x18, 0x3c, 0x2b, 0x93, 0x76, 0xfe, 0x65, 0xe6, 0x26, 0xe1, 0x0d, 0xcd, 0x02, + 0xdf, 0x10, 0xbf, 0x60, 0xa8, 0xc0, 0x34, 0xeb, 0xe3, 0x8e, 0x08, 0xcc, 0xf0, 0xbb, 0xc8, 0x07, + 0x09, 0xdf, 0x31, 0x61, 0x07, 0x13, 0x8c, 0x9d, 0x6c, 0xbe, 0xb0, 0xb9, 0xf9, 0xa9, 0xf1, 0x35, + 0x9b, 0x1e, 0x3a, 0x00, 0x0e, 0x0c, 0x75, 0x39, 0x88, 0x3c, 0xb7, 0xb5, 0xa5, 0x71, 0x1e, 0x45, + 0x6e, 0x35, 0x1d, 0xec, 0x5b, 0x7e, 0xcb, 0xf0, 0xdd, 0x9c, 0x24, 0x5c, 0x84, 0x2f, 0x8e, 0xd7, + 0x05, 0xd8, 0x61, 0xd6, 0xc1, 0xe8, 0x71, 0x82, 0xc1, 0x7f, 0x16, 0x99, 0x78, 0xb8, 0xe6, 0x91, + 0x7e, 0x84, 0x51, 0xb0, 0xd0, 0x7b, 0x51, 0xd1, 0xc3, 0x35, 0x2d, 0xce, 0x47, 0xe5, 0x21, 0xbd, + 0xfc, 0xdc, 0x08, 0xc2, 0x7f, 0xe3, 0x5d, 0xef, 0x0c, 0x17, 0x0f, 0x09, 0x6e, 0x41, 0xda, 0x56, + 0x3a, 0x21, 0xc8, 0xca, 0xb6, 0xb6, 0xca, 0x42, 0xfe, 0x43, 0xac, 0x27, 0xb2, 0x59, 0x3b, 0x80, + 0x33, 0x3e, 0x01, 0x97, 0x86, 0xc6, 0xc5, 0x18, 0xe4, 0x51, 0x0a, 0x08, 0x02, 0x82, 0x12, 0x21, + 0x9b, 0xcd, 0xba, 0x4c, 0x78, 0xf2, 0xcd, 0x2b, 0xbe, 0xc4, 0x40, 0x1a, 0x8c, 0x37, 0xa0, 0x0b, + 0x8d, 0x7f, 0x89, 0x01, 0xca, 0xf9, 0x51, 0xf1, 0x37, 0x37, 0xd9, 0x93, 0xc9, 0x87, 0xe1, 0x04, + 0x52, 0x78, 0xef, 0x27, 0x65, 0xf2, 0x5e, 0x0e, 0xac, 0x46, 0xfe, 0x07, 0x5d, 0x94, 0x7f, 0xfd, + 0x15, 0xdf, 0xe9, 0x60, 0x17, 0x86, 0xd4, 0xfa, 0x1c, 0x45, 0xe2, 0x48, 0x6f, 0x20, 0x4d, 0xa0, + 0xb5, 0xf8, 0xfa, 0xca, 0xf2, 0x98, 0xb7, 0x08, 0x44, 0xb9, 0xa5, 0x61, 0x2c, 0xbc, 0x00, 0x88, + 0x9e, 0x8c, 0xb6, 0x1c, 0x7e, 0x10, 0xa4, 0x34, 0x28, 0xc1, 0xd1, 0x40, 0x89, 0x34, 0x62, 0x22, + 0xcc, 0xf9, 0x72, 0xa9, 0xa1, 0x89, 0x97, 0x4b, 0xd1, 0x5c, 0x4b, 0x39, 0xda, 0xfa, 0x82, 0xd1, + 0xd8, 0x87, 0xef, 0x97, 0xa4, 0x20, 0x61, 0xf3, 0xe6, 0x04, 0x5c, 0x7d, 0x1f, 0x94, 0x1b, 0x59, + 0x1f, 0x15, 0x0b, 0xc3, 0x28, 0xfa, 0xe5, 0x36, 0xbe, 0xe7, 0xbc, 0xcf, 0xa2, 0xa4, 0xbe, 0xe7, + 0xf0, 0xb4, 0x15, 0x7f, 0x07, 0xee, 0x50, 0xdf, 0x49, 0xfd, 0x7f, 0xaa, 0x2b, 0x4d, 0x43, 0x49, + 0xc7, 0x00, 0x00 }; diff --git a/wled00/html_ui.h b/wled00/html_ui.h index 269059d8..f878c02e 100644 --- a/wled00/html_ui.h +++ b/wled00/html_ui.h @@ -7,2384 +7,2388 @@ */ // Autogenerated from wled00/data/index.htm, do not edit!! -const uint16_t PAGE_index_L = 38040; +const uint16_t PAGE_index_L = 38110; const uint8_t PAGE_index[] PROGMEM = { - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0xcc, 0xbd, 0xe9, 0x7a, 0xe2, 0x48, - 0x93, 0x30, 0xfa, 0xdf, 0x57, 0xa1, 0x52, 0xf5, 0x5b, 0x86, 0x46, 0x06, 0x21, 0x76, 0x28, 0xec, - 0xc1, 0x78, 0xdf, 0x6d, 0xbc, 0xd7, 0xd4, 0x33, 0x25, 0x40, 0x80, 0x6c, 0x21, 0xc9, 0x92, 0xd8, - 0x4c, 0x33, 0xd7, 0xf1, 0x5d, 0xcd, 0xb9, 0x98, 0x73, 0x25, 0x27, 0x22, 0x53, 0x4b, 0x4a, 0x08, - 0xec, 0xea, 0xe9, 0x79, 0xcf, 0xd7, 0x8b, 0x91, 0x72, 0x8d, 0x88, 0x8c, 0x8c, 0x8c, 0x88, 0x8c, - 0x4c, 0x7d, 0xff, 0xb2, 0x77, 0xd9, 0xbc, 0x7d, 0xba, 0xda, 0xe7, 0x06, 0xce, 0x50, 0xdb, 0xe6, - 0xbe, 0xe3, 0x0f, 0xa7, 0xc9, 0x7a, 0xbf, 0xce, 0x2b, 0x3a, 0x8f, 0x09, 0x8a, 0xdc, 0x85, 0x9f, - 0xa1, 0xe2, 0xc8, 0x9c, 0x2e, 0x0f, 0x95, 0x3a, 0x3f, 0x56, 0x95, 0x89, 0x69, 0x58, 0x0e, 0xcf, - 0x6d, 0x74, 0x0c, 0xdd, 0x51, 0x74, 0xa7, 0xce, 0x4f, 0xd4, 0xae, 0x33, 0xa8, 0x77, 0x95, 0xb1, - 0xda, 0x51, 0xb6, 0xc8, 0x8b, 0xa0, 0xea, 0xaa, 0xa3, 0xca, 0xda, 0x96, 0xdd, 0x91, 0x35, 0xa5, - 0x9e, 0x15, 0x86, 0x90, 0x30, 0x1c, 0x0d, 0xbd, 0x77, 0xde, 0x6b, 0x74, 0xa3, 0x33, 0x90, 0x2d, - 0x5b, 0x81, 0x46, 0x46, 0x4e, 0x6f, 0xab, 0xcc, 0x87, 0x3b, 0x73, 0x06, 0xca, 0x50, 0xd9, 0xea, - 0x18, 0x9a, 0x61, 0xf1, 0x9c, 0xdf, 0xdd, 0x57, 0x89, 0xfc, 0xc3, 0xb4, 0xe1, 0xe5, 0xcc, 0x14, - 0x9b, 0x77, 0xab, 0xca, 0xa6, 0xa9, 0x29, 0x5b, 0x43, 0xa3, 0xad, 0xc2, 0xcf, 0x44, 0x69, 0x6f, - 0x41, 0xc2, 0x56, 0x47, 0x36, 0xe5, 0xb6, 0xa6, 0x60, 0x4d, 0x4d, 0xd5, 0x5f, 0x39, 0x4b, 0xd1, - 0xea, 0xbc, 0x3d, 0x00, 0x74, 0x3a, 0x23, 0x87, 0x53, 0xa1, 0x1d, 0x40, 0x6b, 0x60, 0x29, 0xbd, - 0x3a, 0xdf, 0x95, 0x1d, 0xb9, 0xaa, 0x0e, 0xe5, 0xbe, 0x92, 0x99, 0x6e, 0x61, 0x4e, 0xad, 0x2d, - 0xdb, 0x4a, 0x31, 0x2f, 0x34, 0x1a, 0x8d, 0xdd, 0x46, 0x63, 0xbf, 0xb1, 0x0f, 0x7f, 0xf1, 0xf7, - 0xb0, 0xd1, 0x3c, 0xc4, 0xa7, 0x83, 0x3e, 0xfc, 0x39, 0xd6, 0xae, 0x6f, 0x5f, 0x3b, 0x17, 0xcd, - 0x81, 0x71, 0x8a, 0x69, 0x7b, 0x77, 0xda, 0xf1, 0xcd, 0xc1, 0x31, 0x3e, 0x5e, 0xd3, 0xd2, 0x7d, - 0x52, 0xf6, 0x28, 0x73, 0x95, 0x79, 0xc2, 0x94, 0xfd, 0xec, 0xc9, 0xcd, 0xfe, 0xc1, 0xdd, 0xe5, - 0x71, 0xf6, 0x05, 0x92, 0x32, 0x57, 0x93, 0xcb, 0x69, 0xff, 0xe2, 0x50, 0x69, 0xdc, 0x9d, 0x4f, - 0xf7, 0x2b, 0x87, 0xc5, 0xce, 0x75, 0xf3, 0x74, 0xef, 0xa1, 0x31, 0x30, 0x1b, 0x7b, 0xcf, 0x52, - 0xaf, 0x7c, 0x75, 0xfe, 0xb2, 0xdb, 0xca, 0x5d, 0x3f, 0x88, 0xe5, 0xeb, 0x53, 0x49, 0x3c, 0x95, - 0x9f, 0x9b, 0x52, 0xbf, 0xd7, 0xac, 0x0c, 0x9a, 0xfa, 0x9b, 0x31, 0x32, 0x2e, 0xfa, 0x8d, 0x9b, - 0xfe, 0x53, 0xe9, 0xfd, 0x7c, 0xda, 0x98, 0x5d, 0x68, 0x77, 0xdd, 0xeb, 0x23, 0xed, 0x51, 0x6d, - 0x68, 0x97, 0xd2, 0xf9, 0x5e, 0x63, 0xaf, 0x98, 0xdb, 0xbf, 0x7f, 0xbb, 0x38, 0x6a, 0x28, 0x62, - 0x83, 0x00, 0xa2, 0x1d, 0xdc, 0xbe, 0xb6, 0x46, 0xd7, 0xc3, 0x66, 0x93, 0xdf, 0xde, 0xe0, 0xbe, - 0xdb, 0x1d, 0x4b, 0x35, 0x9d, 0xed, 0x8d, 0xde, 0x48, 0xef, 0x38, 0xaa, 0xa1, 0x73, 0xa6, 0xa2, - 0xbc, 0x26, 0x9c, 0xe4, 0x7c, 0x2c, 0x5b, 0x9c, 0x52, 0x77, 0xd2, 0x7d, 0xc5, 0x69, 0x22, 0x95, - 0xa7, 0x4e, 0x82, 0x97, 0xba, 0x7c, 0xb2, 0xa6, 0xf6, 0x12, 0x0a, 0xcd, 0xb6, 0x6a, 0x8e, 0x35, - 0x9b, 0x5b, 0x75, 0xc7, 0x30, 0xd3, 0x13, 0x55, 0xef, 0x1a, 0x93, 0xf4, 0xc4, 0x5e, 0x74, 0x64, - 0xa7, 0x33, 0xc0, 0x16, 0x16, 0xd6, 0xb7, 0x6f, 0x56, 0xda, 0x02, 0x46, 0x9a, 0xb5, 0x1c, 0xd9, - 0x51, 0xea, 0xf5, 0xfa, 0x83, 0xd2, 0x6e, 0x19, 0x9d, 0x57, 0xc5, 0x49, 0x5f, 0x5e, 0xed, 0x5f, - 0xec, 0x58, 0x69, 0x5b, 0xd1, 0xbb, 0x09, 0x7e, 0xbe, 0xa9, 0x8d, 0x37, 0xab, 0x8e, 0x35, 0x52, - 0x16, 0x7c, 0xb2, 0x9a, 0xb0, 0xea, 0xba, 0x32, 0xe1, 0xfc, 0xb2, 0x89, 0x04, 0x3f, 0x70, 0x1c, - 0xd3, 0xae, 0xf2, 0xf5, 0xba, 0xdb, 0x8d, 0x66, 0x40, 0x2f, 0x00, 0x6d, 0xda, 0xb4, 0x0c, 0xc7, - 0x00, 0x36, 0xd9, 0xe1, 0x27, 0xb6, 0xcd, 0x57, 0xe1, 0x2f, 0x9f, 0x4c, 0xf1, 0xd5, 0x4c, 0x86, - 0x4f, 0x75, 0x8d, 0xce, 0x68, 0x08, 0xcc, 0x11, 0x14, 0x1e, 0x18, 0xb6, 0x93, 0xe2, 0x33, 0x58, - 0x26, 0x99, 0x36, 0x74, 0xc3, 0x54, 0xf4, 0x7a, 0x22, 0x59, 0xdf, 0x9e, 0xc7, 0xc2, 0xb1, 0x10, - 0xac, 0x74, 0x5b, 0xd5, 0x65, 0x6b, 0x76, 0x3b, 0x33, 0x91, 0xaf, 0x2c, 0x4b, 0x9e, 0xb5, 0x47, - 0xbd, 0x9e, 0x62, 0xf1, 0x90, 0x25, 0x77, 0xbb, 0xfb, 0x63, 0x68, 0xfe, 0x4c, 0xb5, 0x81, 0x05, - 0x15, 0x2b, 0xc1, 0x0f, 0x15, 0xdb, 0x06, 0xae, 0x81, 0x4c, 0x68, 0x12, 0x29, 0x03, 0x94, 0xe2, - 0x7f, 0x18, 0xed, 0x17, 0xa5, 0xe3, 0x70, 0x0d, 0xac, 0xbd, 0x4b, 0x6a, 0xff, 0x04, 0x3c, 0x80, - 0x66, 0x2d, 0xc7, 0x52, 0xf5, 0x7e, 0x1a, 0xa6, 0x85, 0x96, 0xb0, 0xd2, 0xc8, 0x75, 0xc9, 0xe4, - 0x5c, 0x53, 0x1c, 0x4e, 0x27, 0xe8, 0xdf, 0xa9, 0xba, 0x53, 0x26, 0xb5, 0xbc, 0x5c, 0xa4, 0x7c, - 0xa9, 0xf8, 0xa5, 0xae, 0xff, 0x10, 0x7f, 0xfe, 0xf5, 0x97, 0x84, 0x0f, 0x59, 0x78, 0xf8, 0xa2, - 0x24, 0x2d, 0xc5, 0x19, 0x59, 0x7a, 0x0d, 0x2b, 0xab, 0x90, 0x2a, 0xfd, 0x14, 0x3a, 0xf0, 0x93, - 0xfb, 0x29, 0x68, 0xf5, 0x73, 0xd9, 0x19, 0xa4, 0x61, 0x0e, 0x26, 0x9c, 0x34, 0x99, 0x9f, 0x19, - 0x55, 0x70, 0xd2, 0x03, 0x45, 0xed, 0x0f, 0x9c, 0x4c, 0x27, 0x29, 0x0c, 0x68, 0x81, 0x9e, 0x66, - 0x18, 0x56, 0xc2, 0x2b, 0xb3, 0xa5, 0xfd, 0xa9, 0x26, 0x33, 0x52, 0xb2, 0x86, 0x83, 0x6c, 0xd4, - 0xf3, 0x35, 0x9f, 0x39, 0x64, 0x1c, 0x57, 0xda, 0x1b, 0x27, 0x02, 0x12, 0x3b, 0x62, 0x55, 0x2a, - 0xa4, 0x24, 0xa9, 0xf0, 0xa7, 0x93, 0x91, 0x0a, 0x85, 0x45, 0x0f, 0x5a, 0x51, 0xd2, 0x1d, 0x4d, - 0x91, 0xad, 0x1b, 0xc0, 0x3a, 0x21, 0x0a, 0xa2, 0xe0, 0x36, 0xea, 0x77, 0x9b, 0x14, 0x66, 0xf5, - 0x74, 0xa1, 0x36, 0xfb, 0xde, 0xa9, 0xcd, 0x52, 0xa9, 0x24, 0x56, 0x99, 0x62, 0xc2, 0xf4, 0xbb, - 0x5a, 0x9b, 0x42, 0x02, 0xb4, 0xab, 0xff, 0x30, 0x7e, 0x7e, 0xfb, 0x46, 0x1f, 0x52, 0xd9, 0xe0, - 0x51, 0x02, 0x74, 0xa1, 0xfd, 0x9e, 0xaa, 0x69, 0x2d, 0x67, 0x06, 0xe2, 0xe4, 0x97, 0xd5, 0x6f, - 0x27, 0xfe, 0x98, 0xcb, 0x09, 0xac, 0x01, 0x23, 0xe6, 0x3e, 0x42, 0x1d, 0xe6, 0x45, 0x82, 0x97, - 0xe4, 0x2f, 0x41, 0x49, 0xb7, 0x95, 0xbe, 0xaa, 0x5f, 0x01, 0xbe, 0x89, 0x24, 0xbc, 0xc9, 0x56, - 0x27, 0x31, 0xfd, 0x53, 0x4b, 0x0d, 0x84, 0xd9, 0x9f, 0x9a, 0x90, 0xce, 0xc3, 0x1f, 0x51, 0x90, - 0xfe, 0x24, 0xf4, 0xb8, 0x3a, 0xc6, 0x12, 0xd8, 0x4f, 0x22, 0x99, 0x14, 0x8c, 0x54, 0x3d, 0xb7, - 0x08, 0xf8, 0x1a, 0x44, 0x82, 0x6d, 0x68, 0x4a, 0x5a, 0xb1, 0x2c, 0x80, 0x9d, 0xbf, 0x82, 0x09, - 0xc3, 0x3d, 0xb4, 0x38, 0xf2, 0x5a, 0xe5, 0x05, 0x27, 0xb9, 0x58, 0xc0, 0x7f, 0x1b, 0xdf, 0x33, - 0xee, 0xdc, 0xe2, 0xbe, 0x3b, 0xaa, 0xa3, 0x29, 0xdb, 0x0f, 0x67, 0xfb, 0x7b, 0xdf, 0x33, 0xf4, - 0x39, 0x66, 0xe2, 0xf5, 0x14, 0xa5, 0xdb, 0x96, 0x3b, 0xaf, 0x09, 0x98, 0x39, 0x48, 0x78, 0x90, - 0xab, 0x1e, 0x07, 0xc3, 0x1c, 0xdc, 0xd7, 0x14, 0x7c, 0xb4, 0x77, 0x67, 0xb7, 0x72, 0xff, 0x02, - 0x04, 0x1d, 0x4c, 0x0a, 0x98, 0x59, 0x7c, 0x12, 0x98, 0x01, 0x86, 0xd9, 0x2f, 0xda, 0x81, 0xf9, - 0xe6, 0x28, 0x6e, 0xe9, 0x04, 0x4f, 0x7b, 0x81, 0x59, 0xab, 0xa5, 0x1d, 0xca, 0xc5, 0x20, 0x1d, - 0x55, 0x3a, 0x1f, 0x32, 0x2f, 0xf2, 0x58, 0x76, 0x0b, 0x08, 0x5a, 0xda, 0xb6, 0x3a, 0x75, 0x5e, - 0xb5, 0x8c, 0xf4, 0x8b, 0x8d, 0xaf, 0xcb, 0xfc, 0xad, 0x19, 0xd0, 0x9f, 0xa0, 0x00, 0x73, 0x77, - 0x4c, 0xb5, 0xf3, 0x4a, 0xb8, 0x14, 0xcb, 0x37, 0x51, 0x4a, 0x5f, 0x41, 0x0a, 0x16, 0xfa, 0x6a, - 0x92, 0x07, 0x5e, 0x98, 0x93, 0x51, 0xaf, 0x4a, 0x45, 0x51, 0x98, 0x0c, 0x14, 0x45, 0x3b, 0xc3, - 0xb1, 0xd7, 0x61, 0x8a, 0x54, 0xbf, 0x64, 0x69, 0x4a, 0x43, 0xef, 0x6b, 0x4a, 0x55, 0x2a, 0xb9, - 0x05, 0xf6, 0x54, 0x4b, 0x21, 0x94, 0xa8, 0xf2, 0x1d, 0x98, 0xb2, 0xaf, 0x13, 0xd5, 0x86, 0xb9, - 0xa4, 0xc9, 0x33, 0x63, 0xe4, 0x54, 0x7f, 0x00, 0xd5, 0x87, 0xa6, 0xa1, 0x03, 0x40, 0x55, 0xec, - 0x73, 0xa4, 0xa6, 0x1f, 0xb0, 0x92, 0x60, 0x98, 0x58, 0xc5, 0xae, 0xce, 0x17, 0x8b, 0x9f, 0x8b, - 0xa4, 0x40, 0x20, 0x83, 0xb9, 0x9d, 0xe0, 0x55, 0xdd, 0x84, 0x7a, 0x30, 0xad, 0x79, 0x81, 0xcc, - 0x71, 0x1b, 0xe5, 0x18, 0x00, 0x9a, 0xc8, 0x26, 0x43, 0xe5, 0xc8, 0x1a, 0x53, 0x85, 0xc5, 0x48, - 0xc7, 0xa9, 0x4b, 0x8a, 0x8e, 0x4c, 0x98, 0x6f, 0xca, 0x55, 0x4b, 0x53, 0xbb, 0x8a, 0x65, 0x27, - 0xa0, 0x3c, 0x99, 0x09, 0xce, 0xc7, 0x54, 0x76, 0x3e, 0xa0, 0xb2, 0x43, 0xa9, 0x6c, 0x61, 0x67, - 0x8e, 0x31, 0xea, 0x0c, 0x08, 0xb1, 0x9d, 0xb5, 0xc4, 0x26, 0x85, 0xed, 0xfa, 0x0d, 0xfe, 0xdc, - 0x92, 0x3a, 0x80, 0xca, 0xc8, 0x4c, 0x6c, 0x12, 0x0c, 0x7f, 0xd0, 0x0e, 0x49, 0x21, 0xfe, 0xe7, - 0xa6, 0x30, 0x07, 0x60, 0x51, 0x0e, 0x38, 0x75, 0x28, 0x75, 0x0c, 0x72, 0xdb, 0x1a, 0xcb, 0x5a, - 0x82, 0xa0, 0xc5, 0x23, 0x09, 0x21, 0x4f, 0x41, 0xf9, 0xe3, 0xa3, 0x12, 0xc8, 0xe7, 0x6f, 0xdf, - 0x12, 0x64, 0xe6, 0xfa, 0xb5, 0x60, 0xaa, 0x1a, 0xfa, 0x19, 0x00, 0x02, 0x93, 0x60, 0x21, 0x64, - 0x45, 0x11, 0x29, 0x07, 0xcd, 0xde, 0xaa, 0x43, 0x05, 0x06, 0x85, 0xb6, 0x3a, 0x48, 0x03, 0xb2, - 0x40, 0xe6, 0xe6, 0x40, 0xd5, 0xba, 0x50, 0xe5, 0x93, 0x05, 0x35, 0xb7, 0x20, 0x3b, 0x4d, 0x6c, - 0x9c, 0xd3, 0xdb, 0x1b, 0xff, 0xd1, 0x83, 0xf5, 0x66, 0xab, 0x27, 0x77, 0x94, 0xb9, 0xfb, 0x34, - 0x54, 0xb5, 0x59, 0xf5, 0xe1, 0x18, 0x27, 0x5e, 0x0d, 0x08, 0x58, 0x1d, 0x59, 0x5a, 0x82, 0x2c, - 0xd3, 0x98, 0x9f, 0x99, 0x18, 0xbd, 0x9e, 0x54, 0xf3, 0xd4, 0x09, 0xa2, 0x4d, 0x78, 0x4b, 0x76, - 0x57, 0xac, 0x1c, 0x9e, 0xf7, 0x1b, 0x64, 0xc1, 0x6e, 0x34, 0xf4, 0xbb, 0x46, 0xc3, 0xa6, 0xab, - 0x60, 0x16, 0xff, 0x0e, 0x0f, 0x1a, 0x8d, 0xc3, 0xe7, 0x61, 0xbf, 0xb1, 0xf2, 0x9f, 0xdd, 0x61, - 0xa3, 0xd1, 0x7f, 0x9c, 0xdc, 0x34, 0x1b, 0x6f, 0x9d, 0xa7, 0x93, 0xe7, 0xe3, 0xc6, 0xed, 0x53, - 0xf3, 0xa4, 0x71, 0x31, 0x69, 0xbe, 0x1b, 0x8d, 0xdd, 0x26, 0xac, 0xfc, 0x93, 0xa7, 0xa3, 0xe3, - 0x5d, 0xbb, 0xb4, 0x57, 0x56, 0x2f, 0x27, 0xef, 0xfd, 0x61, 0xee, 0xfc, 0xf1, 0x5c, 0x7f, 0x7f, - 0x6e, 0xbe, 0x3a, 0xfa, 0x4b, 0xa7, 0x7d, 0x91, 0xba, 0xd6, 0x4e, 0xce, 0xe4, 0x93, 0xdc, 0x48, - 0xbb, 0x3b, 0x33, 0x35, 0xf3, 0xa1, 0x78, 0xf7, 0xf6, 0xa0, 0x1a, 0x4a, 0xab, 0x92, 0x3d, 0x99, - 0x29, 0xe2, 0xcb, 0x9d, 0x76, 0x32, 0x79, 0xb6, 0x0a, 0xfa, 0x6d, 0x77, 0x3f, 0x77, 0xa6, 0x3b, - 0xdd, 0xab, 0x71, 0xa3, 0x9f, 0xea, 0x39, 0x99, 0x5e, 0xdb, 0x3e, 0xb3, 0x0f, 0xb5, 0x8b, 0xb3, - 0xd1, 0x40, 0x1b, 0x5e, 0xbf, 0x9c, 0xaa, 0xa5, 0x8b, 0xab, 0xbd, 0xfd, 0xe3, 0xfe, 0xe4, 0x76, - 0x08, 0xaa, 0x82, 0x5c, 0x1c, 0x76, 0xb5, 0x54, 0xeb, 0xe8, 0x6e, 0x77, 0xb0, 0x7f, 0xdc, 0x3d, - 0x3a, 0x98, 0xca, 0xaf, 0x25, 0x3b, 0xbf, 0x9f, 0x99, 0xbd, 0x0f, 0x4e, 0x5a, 0x2f, 0xcd, 0xd2, - 0xee, 0xf5, 0xf5, 0x59, 0x6f, 0x6f, 0x62, 0x98, 0x07, 0x19, 0xb5, 0x28, 0xbf, 0xb5, 0xf6, 0xb5, - 0xfd, 0x83, 0xbd, 0xc7, 0x69, 0xf9, 0xf9, 0xfe, 0xe1, 0x65, 0x96, 0xb3, 0x66, 0xc3, 0xfc, 0x45, - 0xf1, 0x40, 0x7b, 0xbe, 0xce, 0x0f, 0x46, 0x29, 0xfd, 0xd1, 0x3e, 0x3c, 0xde, 0x3b, 0xbf, 0x3e, - 0xc8, 0xf5, 0x1b, 0x53, 0x39, 0x9b, 0x6f, 0xf4, 0x1b, 0x96, 0x73, 0x7f, 0x3e, 0xe8, 0xbd, 0xf6, - 0x5f, 0x7a, 0xfb, 0x8d, 0xb6, 0xda, 0x1c, 0x4c, 0x46, 0xad, 0xe3, 0xc9, 0xfe, 0x5d, 0x73, 0x38, - 0xea, 0x5e, 0x0d, 0xd4, 0xeb, 0xee, 0x6d, 0xd1, 0x1a, 0x1f, 0xbf, 0x9c, 0xb5, 0x6e, 0x9e, 0xf7, - 0x27, 0x7b, 0x83, 0x83, 0xca, 0xee, 0xb1, 0x6d, 0x18, 0xc7, 0x85, 0xdc, 0xed, 0xf1, 0xcd, 0xb1, - 0x71, 0x7c, 0xb7, 0x57, 0x7e, 0x9d, 0x5d, 0x3c, 0x1f, 0x97, 0xee, 0x5e, 0x1a, 0xb3, 0x73, 0xeb, - 0x26, 0x23, 0x9f, 0x67, 0xf6, 0x26, 0xf2, 0xa5, 0x69, 0xbc, 0xcb, 0x83, 0xca, 0xd9, 0x61, 0xd3, - 0x7e, 0x92, 0xde, 0x2f, 0xa4, 0xa7, 0xcb, 0x77, 0x5b, 0x3a, 0xcb, 0x4d, 0xdf, 0x94, 0x0b, 0x33, - 0xff, 0xfe, 0xf8, 0xf2, 0x56, 0x6e, 0x3f, 0xde, 0x66, 0x06, 0xe7, 0xbb, 0x67, 0x2f, 0x99, 0x42, - 0xee, 0x69, 0xaf, 0x71, 0xdc, 0x4a, 0x95, 0x46, 0xc5, 0x62, 0x59, 0xcf, 0x1d, 0xa5, 0x8e, 0x6e, - 0xae, 0xba, 0xcf, 0xdd, 0xec, 0x28, 0x77, 0xfb, 0xde, 0xbd, 0x79, 0xee, 0xde, 0x9f, 0xdf, 0xf6, - 0x8e, 0xb5, 0xc2, 0x51, 0xef, 0xb4, 0xdf, 0xcd, 0xb6, 0x4b, 0xad, 0xf1, 0x5b, 0xb7, 0xf2, 0x50, - 0x19, 0x99, 0x56, 0xf7, 0xaa, 0x7c, 0x7d, 0x7b, 0x39, 0x54, 0xe4, 0xf7, 0xc2, 0xed, 0xd5, 0xe5, - 0xcd, 0x89, 0xb6, 0xb7, 0xf7, 0x72, 0x74, 0xff, 0x72, 0x28, 0x36, 0x2e, 0xce, 0xaf, 0x9f, 0xec, - 0xe1, 0x8d, 0x75, 0xaa, 0x0d, 0xcd, 0xd9, 0xdb, 0x7d, 0xe9, 0x75, 0xd4, 0x3e, 0xbe, 0x6e, 0x4a, - 0x87, 0xad, 0xe3, 0xd7, 0x83, 0x56, 0xea, 0x5c, 0x57, 0x9a, 0x27, 0xf9, 0xf2, 0xc9, 0xc9, 0xc1, - 0x7d, 0x73, 0x70, 0xdd, 0x1b, 0x4d, 0x4e, 0xcf, 0x4d, 0x69, 0x76, 0x57, 0x31, 0x87, 0x6f, 0xd9, - 0xfb, 0xd3, 0xbb, 0x9b, 0x22, 0x2c, 0x78, 0xe2, 0xa1, 0x29, 0xb6, 0x5e, 0xee, 0x9f, 0x6e, 0x6e, - 0x0e, 0x52, 0x8f, 0x2f, 0xa5, 0xd4, 0xa5, 0x7a, 0xd7, 0x7a, 0xcd, 0x1c, 0x1e, 0xbf, 0x8f, 0xb2, - 0x43, 0xf5, 0xe8, 0xf9, 0x61, 0x9a, 0xea, 0x97, 0x9f, 0xb2, 0x37, 0x77, 0xaf, 0xce, 0xd5, 0xf0, - 0xed, 0x58, 0x75, 0x6e, 0x6e, 0x1f, 0xef, 0x2f, 0xde, 0xdf, 0x9b, 0xce, 0xe8, 0xe0, 0xea, 0xb4, - 0x73, 0x24, 0xbe, 0xdf, 0xec, 0x1e, 0xa6, 0x9e, 0x2a, 0x99, 0xa6, 0x3e, 0xd8, 0x95, 0x25, 0x71, - 0x5c, 0x30, 0x8e, 0x7a, 0xf6, 0xfe, 0xdd, 0x79, 0xff, 0xf1, 0xfc, 0x6a, 0xbf, 0x77, 0x59, 0x78, - 0xee, 0x9c, 0x4c, 0xc5, 0x83, 0xe3, 0x2b, 0xf5, 0x7e, 0x36, 0xe9, 0xbf, 0xb4, 0x8b, 0xe7, 0xc7, - 0xa3, 0xfb, 0x94, 0xf1, 0x9c, 0x1f, 0x4b, 0xaf, 0xaf, 0xc5, 0xcc, 0xbb, 0x7e, 0x3c, 0xdd, 0x3b, - 0xb5, 0xfa, 0xa3, 0x73, 0x49, 0x9a, 0xa5, 0xda, 0x0f, 0xe5, 0xc9, 0xdd, 0xe1, 0x9b, 0x5a, 0x92, - 0xcf, 0xca, 0xbd, 0xeb, 0x93, 0xf7, 0x89, 0xde, 0x7c, 0x29, 0x3b, 0xc7, 0xa6, 0xd9, 0x3d, 0xae, - 0xb4, 0x9f, 0xf6, 0x5a, 0xf7, 0x27, 0xf7, 0xcd, 0xeb, 0x63, 0x5d, 0x35, 0x1f, 0xc4, 0xa3, 0xb6, - 0xd3, 0xd1, 0x3a, 0xb7, 0xa5, 0x71, 0x73, 0x76, 0x36, 0x7c, 0x94, 0x5b, 0xf7, 0xd6, 0x75, 0xeb, - 0xe2, 0x7c, 0xd6, 0x96, 0x4f, 0x4e, 0x76, 0x07, 0xd2, 0x95, 0xfa, 0x68, 0x3d, 0xb6, 0xfb, 0xdd, - 0x62, 0xa3, 0xfd, 0xa6, 0x74, 0xba, 0x7b, 0xb7, 0x97, 0x95, 0xfd, 0xeb, 0xfd, 0x63, 0xe5, 0x41, - 0xbc, 0xbf, 0x7a, 0xb8, 0xee, 0x74, 0xaf, 0xcb, 0x9a, 0x73, 0x75, 0xb9, 0x3f, 0x4a, 0x95, 0x8a, - 0x6f, 0xd2, 0xf1, 0xf4, 0xee, 0xd6, 0x38, 0x51, 0x1e, 0xcc, 0xde, 0xcb, 0xb5, 0x7a, 0x74, 0x74, - 0x54, 0x80, 0xa9, 0xb4, 0x77, 0xf6, 0x92, 0x6d, 0x1f, 0xf5, 0xaf, 0xa7, 0x8f, 0xf6, 0x1d, 0x20, - 0x74, 0xfa, 0xd4, 0xee, 0xa7, 0x9a, 0x53, 0xf8, 0xb7, 0x58, 0x51, 0x8e, 0x3a, 0x97, 0x63, 0x10, - 0xd1, 0x27, 0x59, 0xad, 0xd8, 0x16, 0xf5, 0xbd, 0xd2, 0xcb, 0x61, 0xaa, 0xdd, 0x6a, 0x64, 0xbb, - 0xcd, 0xe7, 0xfb, 0xe9, 0x70, 0x52, 0x7e, 0x3e, 0xc9, 0x1c, 0x3f, 0x39, 0xd3, 0x2b, 0xa7, 0x7d, - 0x32, 0xd5, 0xcc, 0xeb, 0xcc, 0xd9, 0xe1, 0x4b, 0xeb, 0x4d, 0x14, 0x6f, 0x87, 0xdd, 0x8b, 0xe3, - 0xe7, 0xa9, 0x75, 0xa8, 0x68, 0xa9, 0x59, 0xca, 0x7a, 0x3e, 0xb1, 0x8c, 0x94, 0x7e, 0x37, 0xc8, - 0x5d, 0x59, 0x17, 0xc7, 0x87, 0x93, 0xd3, 0xe2, 0x83, 0xf5, 0x78, 0x71, 0x7e, 0x2f, 0x4d, 0x6f, - 0x95, 0x9b, 0x87, 0xa3, 0xd6, 0x4b, 0xab, 0xf3, 0xea, 0x9c, 0x9d, 0xf4, 0x94, 0xac, 0xd5, 0x29, - 0xd9, 0xe6, 0x6c, 0xfc, 0x9a, 0x6b, 0x17, 0xef, 0xf3, 0xaf, 0xf9, 0x72, 0xcb, 0xca, 0x35, 0x86, - 0xd9, 0xab, 0x71, 0xe6, 0x5a, 0xed, 0x0d, 0xec, 0x63, 0x69, 0x74, 0x3e, 0xee, 0x94, 0x8b, 0xb9, - 0x4b, 0xf5, 0xfa, 0xfa, 0xe6, 0xc2, 0x50, 0xba, 0xe6, 0x55, 0xef, 0x48, 0x6f, 0x4d, 0x3a, 0x20, - 0x0d, 0x53, 0xf2, 0xde, 0xfe, 0x7e, 0xb1, 0xd4, 0x39, 0x7d, 0xbf, 0xed, 0xef, 0x6a, 0xd7, 0xfd, - 0x17, 0xf3, 0xa5, 0x7f, 0xbb, 0xa7, 0x9f, 0x38, 0x87, 0xfa, 0xa3, 0xf4, 0xd6, 0x1e, 0x3e, 0x9e, - 0x14, 0x0f, 0x2e, 0x77, 0xcf, 0x9e, 0x4b, 0x13, 0xdb, 0x4a, 0x9d, 0x3c, 0xbf, 0x3f, 0xe9, 0xed, - 0x97, 0x6e, 0xfb, 0xb5, 0x39, 0xda, 0xef, 0xdd, 0x89, 0x47, 0x63, 0x6d, 0xf2, 0xd6, 0x76, 0xee, - 0xfa, 0x27, 0xa5, 0xf7, 0x9b, 0xc7, 0x83, 0x8b, 0x13, 0x7b, 0xdc, 0x9a, 0x6a, 0x93, 0x77, 0xe9, - 0xe1, 0xc9, 0x91, 0xf3, 0xd3, 0x17, 0x4b, 0xcd, 0xf4, 0xec, 0x91, 0xa6, 0xeb, 0x07, 0xf7, 0x57, - 0x33, 0x43, 0x37, 0xaf, 0xc4, 0x9b, 0xb3, 0x82, 0x71, 0x7f, 0x71, 0xfa, 0xfa, 0xda, 0xdb, 0xd7, - 0x0e, 0xf3, 0x1d, 0xfb, 0x76, 0xef, 0xa2, 0x61, 0xf7, 0xdf, 0x9b, 0xb9, 0xf2, 0x61, 0xa9, 0xdf, - 0x3a, 0xbd, 0xef, 0xb7, 0x9e, 0x4b, 0xc3, 0x4c, 0x67, 0x7f, 0x7c, 0xda, 0x38, 0x1b, 0x4e, 0x4f, - 0xdf, 0x33, 0x99, 0x51, 0x69, 0x50, 0x54, 0xfa, 0x47, 0x07, 0xa5, 0x73, 0xeb, 0x28, 0xff, 0x72, - 0x62, 0x66, 0x9e, 0xa7, 0xf9, 0xb7, 0x9c, 0x24, 0x97, 0x6f, 0x4b, 0xd9, 0xa9, 0x7e, 0x74, 0x7f, - 0xd3, 0x3c, 0xd4, 0x7a, 0x07, 0xcf, 0x17, 0x8e, 0xd3, 0x95, 0x0e, 0x3a, 0x77, 0xb2, 0x3c, 0x2b, - 0x2a, 0x95, 0xab, 0xd7, 0xc1, 0xa8, 0x33, 0xbb, 0x11, 0x8d, 0xab, 0x51, 0xf6, 0x3d, 0xfb, 0x9e, - 0xd9, 0xdb, 0x4d, 0x95, 0x27, 0xea, 0xb4, 0x71, 0xd0, 0x3d, 0xbf, 0xcb, 0xf6, 0xf5, 0xe1, 0x6e, - 0x7e, 0xda, 0x98, 0x14, 0xcb, 0xe6, 0xe4, 0xa8, 0xf3, 0xf0, 0xa2, 0x1d, 0x58, 0xbb, 0xfa, 0xe3, - 0xf4, 0xec, 0xe5, 0xa5, 0x98, 0xbb, 0x3b, 0xec, 0x8f, 0x2f, 0x0e, 0xef, 0x0f, 0x1b, 0x27, 0x07, - 0xef, 0xd3, 0x83, 0x49, 0xea, 0xc1, 0x18, 0xea, 0xa5, 0xf3, 0x86, 0xda, 0xbe, 0x6f, 0x8f, 0x8a, - 0x9a, 0x72, 0x74, 0xb3, 0x5b, 0xb0, 0x3b, 0x59, 0xb1, 0x77, 0xe6, 0xb4, 0xad, 0xae, 0x95, 0x39, - 0x79, 0xbb, 0x2f, 0x3e, 0x59, 0x29, 0x63, 0x3c, 0x39, 0x70, 0x6e, 0x8e, 0xf6, 0x4b, 0xe7, 0xf9, - 0xf7, 0xc3, 0x8a, 0xf8, 0x76, 0xb1, 0x5b, 0x7c, 0xba, 0xd9, 0x37, 0x8c, 0x42, 0xf6, 0xf5, 0xe0, - 0x44, 0x6e, 0xbf, 0xe5, 0x2e, 0x94, 0xa3, 0xfb, 0xd3, 0xae, 0xd2, 0xcb, 0x0c, 0xec, 0xf3, 0x83, - 0x83, 0x96, 0xe9, 0x14, 0x86, 0xe5, 0xc7, 0xe1, 0xc9, 0xdb, 0xde, 0x5e, 0x43, 0xbf, 0x11, 0x3b, - 0xf9, 0x6c, 0x79, 0x38, 0x1d, 0x4e, 0xad, 0xeb, 0xf7, 0xeb, 0xd1, 0xec, 0x4a, 0xb7, 0xcd, 0x9b, - 0x49, 0xaf, 0xf1, 0xf4, 0x6a, 0x3a, 0x83, 0x77, 0x0b, 0xc8, 0x72, 0x9b, 0x9d, 0x5e, 0xb4, 0x7a, - 0xf9, 0x07, 0x67, 0xf7, 0xfc, 0xbc, 0xb2, 0x77, 0x7d, 0x9b, 0xad, 0x8c, 0xce, 0x52, 0xfd, 0x76, - 0xbe, 0xd4, 0x3f, 0x38, 0xbb, 0xca, 0x75, 0x6e, 0xc5, 0xf2, 0x41, 0xf9, 0x38, 0xdf, 0x7d, 0x9e, - 0x9e, 0x68, 0xf9, 0xec, 0xa1, 0x3d, 0xad, 0x3c, 0x1c, 0xbd, 0x9f, 0xed, 0x5e, 0x1e, 0xbd, 0x3f, - 0xbc, 0xdc, 0xb4, 0x2a, 0x17, 0x67, 0xcd, 0xcb, 0xbb, 0xdd, 0xe6, 0xc1, 0x75, 0x6a, 0x74, 0x38, - 0xd8, 0xcd, 0xdc, 0x97, 0x9e, 0xdf, 0xef, 0x26, 0xa7, 0xfb, 0xad, 0xdb, 0xe1, 0x9e, 0xa5, 0x9e, - 0xa4, 0xee, 0x90, 0xf7, 0x33, 0xed, 0x83, 0xc7, 0x83, 0xf3, 0xb3, 0x33, 0xfb, 0xa5, 0xaf, 0x36, - 0x9c, 0xbc, 0x69, 0x96, 0x46, 0x9a, 0x39, 0x6d, 0x4b, 0xce, 0xfb, 0x7e, 0xf9, 0xb8, 0x3c, 0x1d, - 0xcc, 0x8e, 0x2e, 0xf7, 0x76, 0x4f, 0x73, 0xad, 0xc3, 0x7e, 0xf1, 0xfa, 0x2a, 0x2b, 0xed, 0xaa, - 0x57, 0xb9, 0xa7, 0xf3, 0x89, 0x64, 0xed, 0x1d, 0x38, 0x0f, 0x77, 0x7b, 0x8f, 0x67, 0x29, 0xc5, - 0xd6, 0xc7, 0xb9, 0xa3, 0xca, 0xf5, 0xf4, 0xad, 0x37, 0x6c, 0xef, 0xe9, 0xed, 0xf3, 0xb3, 0x97, - 0xc3, 0xbb, 0x03, 0xf3, 0xed, 0xed, 0xb9, 0xad, 0x3f, 0xb4, 0xfa, 0xa2, 0x36, 0x78, 0x18, 0x57, - 0x26, 0x77, 0xb9, 0xc2, 0xdb, 0xed, 0xd1, 0xdb, 0x55, 0xe5, 0xfd, 0xed, 0xce, 0x3a, 0x2b, 0xbd, - 0xbe, 0x9d, 0xbe, 0x94, 0x9f, 0x5e, 0x9e, 0xdf, 0xfb, 0x62, 0xd6, 0x6c, 0x57, 0x52, 0xb3, 0xeb, - 0xb2, 0xfd, 0xf8, 0x6c, 0x3e, 0x4d, 0x4f, 0x0f, 0xd5, 0x83, 0x93, 0xdb, 0x0b, 0xfb, 0x78, 0x32, - 0x31, 0x67, 0x37, 0xf9, 0x7c, 0x7f, 0xff, 0x52, 0xbf, 0xcf, 0xa4, 0x14, 0x60, 0xa4, 0xee, 0xd1, - 0x5e, 0x46, 0xd2, 0xae, 0x73, 0xa3, 0x56, 0x61, 0x96, 0x7d, 0x7b, 0x3f, 0x7e, 0x77, 0x1e, 0xef, - 0x2e, 0xae, 0xf6, 0x8b, 0x46, 0xf7, 0xe9, 0x44, 0xbc, 0x7a, 0xbb, 0x53, 0x1f, 0x4e, 0x9c, 0xfe, - 0xe9, 0xe1, 0xe9, 0xf9, 0xf1, 0xd9, 0x53, 0x51, 0xec, 0x4e, 0x95, 0xa7, 0x99, 0xde, 0x6e, 0xa7, - 0xec, 0x83, 0xd3, 0xd3, 0xb7, 0x0b, 0x5d, 0x7c, 0x78, 0x97, 0xac, 0x33, 0xe7, 0xbc, 0xbd, 0x7b, - 0xfd, 0x70, 0xa5, 0x3f, 0x39, 0xc3, 0x13, 0x39, 0xff, 0xf0, 0x76, 0x70, 0x63, 0xb4, 0x33, 0x95, - 0xe1, 0x70, 0x34, 0xeb, 0x5c, 0xdf, 0x8f, 0x4b, 0x6a, 0xaf, 0x79, 0x31, 0x7e, 0xb4, 0xb4, 0xc1, - 0x7b, 0x7f, 0xef, 0x6c, 0x6f, 0x0c, 0x96, 0x6e, 0xaa, 0x7c, 0x54, 0x98, 0xbe, 0x9c, 0x56, 0xf2, - 0xe5, 0xce, 0x9e, 0xe2, 0xa4, 0x0e, 0xe4, 0xc7, 0x5e, 0x2b, 0x75, 0xf6, 0x6a, 0x64, 0x1e, 0x9c, - 0xd4, 0xb8, 0xd5, 0x79, 0x93, 0xad, 0xb7, 0xe2, 0xeb, 0xf3, 0x6d, 0xfb, 0x35, 0x7f, 0x21, 0x9f, - 0xbe, 0x99, 0x97, 0xed, 0xd7, 0xfd, 0x7d, 0xd3, 0x96, 0x3b, 0x95, 0xb3, 0xac, 0x75, 0x73, 0xf1, - 0x78, 0xd2, 0xbf, 0x6a, 0x5b, 0x0f, 0xb3, 0xbd, 0xee, 0xd3, 0x8b, 0x52, 0x74, 0x76, 0xaf, 0x1b, - 0xef, 0xce, 0x6b, 0xfb, 0xa9, 0x29, 0x4e, 0xf6, 0x94, 0xfc, 0x9d, 0x7e, 0xa1, 0x9a, 0x43, 0xfd, - 0x19, 0xb4, 0x95, 0x51, 0x66, 0xf4, 0xd2, 0x2b, 0x9e, 0xf6, 0x4a, 0x63, 0x25, 0x9b, 0x95, 0x8e, - 0x46, 0xbd, 0x8a, 0xb4, 0x3f, 0xce, 0x94, 0x14, 0x7d, 0x37, 0x93, 0xd2, 0xaf, 0x4a, 0x66, 0x1b, - 0xd4, 0xcc, 0xeb, 0x93, 0xe7, 0xb6, 0x2a, 0xbe, 0x34, 0x5b, 0xa6, 0x71, 0x51, 0x01, 0xc4, 0x6f, - 0x5f, 0x5f, 0x4a, 0x27, 0xe7, 0x13, 0xb3, 0xfd, 0xd0, 0x37, 0xcc, 0x46, 0x7b, 0xe0, 0xb4, 0x2f, - 0x1f, 0x5e, 0x67, 0x4e, 0xe3, 0x20, 0x77, 0x9a, 0xca, 0xbc, 0x19, 0x62, 0xab, 0xd1, 0xba, 0x78, - 0x90, 0x0e, 0xa5, 0xf6, 0x59, 0x4f, 0xb7, 0x07, 0xe6, 0x6e, 0x5e, 0xae, 0x74, 0x87, 0xef, 0xa5, - 0xcc, 0xd1, 0x34, 0x93, 0xe9, 0x76, 0x72, 0x97, 0x8f, 0x17, 0xcf, 0x79, 0xe0, 0xd5, 0xd9, 0xe3, - 0xdd, 0xbd, 0xd4, 0x7d, 0xba, 0xb1, 0xf7, 0x2a, 0xa5, 0xb7, 0xd3, 0xb3, 0x52, 0xe5, 0x4d, 0x7e, - 0x1f, 0x01, 0x6a, 0xc7, 0xd9, 0xf1, 0xd5, 0xe3, 0x6d, 0x29, 0x57, 0x2a, 0xb4, 0x1f, 0x5a, 0x87, - 0x46, 0x67, 0xd7, 0xe8, 0xed, 0x49, 0xca, 0xf1, 0xcd, 0xfb, 0x89, 0xd8, 0x39, 0x6f, 0x8a, 0xa0, - 0xad, 0x4d, 0xae, 0xc5, 0x7e, 0x6f, 0x3c, 0x6a, 0x75, 0xc7, 0xdd, 0x6c, 0xbe, 0x97, 0x1d, 0x01, - 0xd7, 0x9f, 0x5d, 0xed, 0xe7, 0x4e, 0x4e, 0x8e, 0xce, 0x8a, 0xa3, 0x66, 0x37, 0xa3, 0x17, 0xf4, - 0x72, 0x37, 0x57, 0xb8, 0xbb, 0x3c, 0xbd, 0xd2, 0x8b, 0xfa, 0xc0, 0x82, 0x05, 0xd2, 0xba, 0xcf, - 0xc9, 0xdd, 0x9c, 0xfe, 0x2e, 0xa9, 0xb7, 0xea, 0xc5, 0x59, 0x3e, 0x9b, 0xdf, 0xd7, 0x95, 0xde, - 0x59, 0xe6, 0xe4, 0xf0, 0x4c, 0x7b, 0x78, 0x76, 0x9e, 0x1f, 0xe4, 0x37, 0x63, 0x7f, 0x90, 0x9f, - 0xb6, 0x5e, 0xc6, 0xf6, 0x61, 0x3b, 0x53, 0x1c, 0x56, 0x2c, 0xf9, 0x40, 0xb3, 0xcf, 0x86, 0xf9, - 0xd1, 0xd1, 0xeb, 0xf5, 0x83, 0x36, 0x2e, 0xdd, 0x66, 0x26, 0xca, 0xf3, 0xfb, 0xcb, 0xd1, 0x91, - 0x52, 0x9a, 0x3e, 0xab, 0x77, 0xef, 0xe6, 0x49, 0xe1, 0xa1, 0xf1, 0xb0, 0x7b, 0xb6, 0x77, 0x31, - 0xb9, 0x39, 0x9d, 0x4e, 0x6e, 0x9e, 0xf4, 0x03, 0xe3, 0xf1, 0x70, 0xda, 0x91, 0x4f, 0xa7, 0x17, - 0xc5, 0xbd, 0x9b, 0xf2, 0xee, 0x85, 0x2e, 0x19, 0x95, 0x8b, 0x37, 0x18, 0x61, 0x67, 0x6c, 0xc9, - 0x85, 0x5b, 0xfd, 0xf8, 0xe5, 0xf1, 0x7c, 0x57, 0x1b, 0x1e, 0x1f, 0x3c, 0xe7, 0x66, 0x57, 0x4f, - 0x8f, 0xb9, 0x73, 0xa7, 0x32, 0x2e, 0x0c, 0x87, 0x47, 0xa3, 0xc9, 0xd3, 0x78, 0x3c, 0xbd, 0x1a, - 0x2b, 0xd6, 0x59, 0x45, 0x69, 0x8d, 0xed, 0xf7, 0xc7, 0x8b, 0x97, 0xbb, 0x47, 0xeb, 0xb5, 0xfd, - 0xd6, 0x39, 0xbc, 0xbc, 0x7f, 0x90, 0xda, 0xfb, 0xed, 0xbd, 0xc3, 0x53, 0x35, 0x77, 0x7e, 0x76, - 0x7f, 0xfb, 0xf0, 0xfe, 0xfe, 0x70, 0x74, 0x50, 0xc8, 0xef, 0x8e, 0x32, 0x92, 0xd5, 0xc8, 0xbe, - 0xbd, 0x1a, 0x45, 0xad, 0xd2, 0x3b, 0xe8, 0xdf, 0xb7, 0x77, 0x47, 0x56, 0xef, 0x7e, 0xf7, 0xe1, - 0xe0, 0x40, 0xbb, 0x7f, 0xc8, 0x8e, 0xfa, 0xd3, 0xcb, 0x49, 0xc7, 0x4e, 0x95, 0x1f, 0x32, 0x19, - 0x90, 0x4f, 0xcf, 0x27, 0xaa, 0x72, 0xa6, 0x55, 0x1e, 0x1e, 0x1b, 0x65, 0xe5, 0xf0, 0xac, 0xd0, - 0xb1, 0x76, 0x4b, 0xbd, 0xc1, 0xe5, 0xf9, 0x6c, 0xaa, 0x95, 0xdb, 0x2f, 0xd7, 0x0f, 0x87, 0x2f, - 0xbb, 0xd9, 0xf6, 0x43, 0xc6, 0x78, 0x2d, 0xde, 0x75, 0xde, 0x14, 0xdd, 0xb6, 0x4a, 0x07, 0xe5, - 0xa3, 0xd2, 0xc8, 0xb1, 0x87, 0xdd, 0x37, 0xe3, 0x68, 0xf8, 0x5e, 0xa9, 0x58, 0xe3, 0x99, 0xb2, - 0x9f, 0xb9, 0x7a, 0x07, 0x05, 0x21, 0x3f, 0x1c, 0xdf, 0x3f, 0x9e, 0xbd, 0xcc, 0x9e, 0xca, 0xe3, - 0xf2, 0x4b, 0xe1, 0x71, 0xf0, 0xac, 0x1c, 0xe5, 0xe4, 0xab, 0xc7, 0x52, 0xa1, 0x6b, 0xaa, 0x97, - 0x05, 0xe5, 0x22, 0x73, 0xf9, 0x3e, 0xe9, 0x1c, 0x96, 0xde, 0x5f, 0x7b, 0x9a, 0x93, 0xb1, 0xbb, - 0x05, 0xa5, 0xf4, 0xd4, 0x79, 0x6b, 0x5f, 0x1a, 0x93, 0xde, 0x4d, 0x5f, 0x92, 0x6e, 0x0a, 0x85, - 0x72, 0x41, 0x76, 0xa4, 0xf1, 0xe3, 0x63, 0xb9, 0xf4, 0x90, 0x7d, 0x12, 0xfb, 0xd7, 0x62, 0xa9, - 0x92, 0xaf, 0x94, 0x94, 0xa7, 0xdb, 0xec, 0xfe, 0xeb, 0xcc, 0xd8, 0x7f, 0x3b, 0x7f, 0x02, 0x1d, - 0xf0, 0xa8, 0x5b, 0xbe, 0x1e, 0x9f, 0x1e, 0x5a, 0x37, 0x87, 0xc5, 0xf6, 0xc9, 0xd3, 0xed, 0x5e, - 0xb3, 0xf9, 0xfc, 0x74, 0xb8, 0xff, 0xd0, 0x19, 0x16, 0x0e, 0xb3, 0x40, 0x46, 0x49, 0x2d, 0xe4, - 0x9f, 0x2a, 0x0f, 0x8e, 0xba, 0x3b, 0x7a, 0xd5, 0xae, 0x0a, 0xa5, 0x27, 0x67, 0xf7, 0xf9, 0xbc, - 0xf1, 0xa0, 0x8d, 0xa4, 0xde, 0xd3, 0xfb, 0xde, 0x79, 0xe9, 0x3a, 0x55, 0x38, 0x00, 0x49, 0xde, - 0xca, 0x5d, 0xbe, 0x17, 0x5e, 0x60, 0x0d, 0x3b, 0x96, 0x3b, 0x4e, 0xfb, 0xe1, 0xca, 0x98, 0x8c, - 0xae, 0xfb, 0x17, 0xb3, 0x23, 0x6d, 0x74, 0xaa, 0xc9, 0x93, 0xca, 0x44, 0x6f, 0x5f, 0x0e, 0x9d, - 0x91, 0xfc, 0x62, 0x64, 0xee, 0x5b, 0x93, 0x0a, 0x48, 0xe4, 0xd6, 0xcd, 0xe4, 0xbc, 0x33, 0x02, - 0xb6, 0x7c, 0x9e, 0x1c, 0x0c, 0x06, 0x45, 0xbb, 0x34, 0xb0, 0xdf, 0x2c, 0xf5, 0xa1, 0x69, 0xf7, - 0x1b, 0x92, 0x9d, 0xd3, 0x0f, 0x40, 0x6d, 0xce, 0x1f, 0x97, 0x2e, 0x53, 0xb2, 0x3d, 0x9d, 0x4c, - 0x9f, 0xdb, 0xce, 0xd9, 0x99, 0x98, 0xdb, 0xaf, 0xb4, 0x07, 0x9d, 0x9b, 0xe2, 0xd3, 0x7b, 0x65, - 0x78, 0xdc, 0x3e, 0x10, 0xef, 0x2a, 0xc5, 0x53, 0x71, 0x7a, 0xd8, 0x28, 0xb5, 0xa7, 0x95, 0x59, - 0x4a, 0x93, 0x32, 0x99, 0x52, 0xee, 0x25, 0x75, 0x24, 0xa9, 0xe2, 0xfe, 0x61, 0x57, 0x2a, 0x8d, - 0x1a, 0xf7, 0x17, 0xc7, 0x99, 0x87, 0x41, 0xf3, 0x69, 0xf4, 0xf0, 0x76, 0xbc, 0x27, 0x3f, 0x4d, - 0xe5, 0xae, 0x2d, 0x6a, 0x9d, 0xfb, 0x83, 0xfb, 0x54, 0xf7, 0x52, 0x3b, 0x1a, 0xee, 0x4e, 0x33, - 0x6f, 0x97, 0xa5, 0x4e, 0x31, 0x33, 0x7a, 0x7e, 0x14, 0x9d, 0x1b, 0xe5, 0xce, 0x39, 0xb9, 0x1e, - 0x17, 0xf3, 0x33, 0x60, 0xdf, 0xc6, 0xf8, 0xb1, 0x38, 0xdd, 0x53, 0xde, 0x1b, 0x8f, 0x99, 0xf2, - 0xc3, 0xb0, 0xdc, 0xec, 0x0f, 0x32, 0x95, 0xc2, 0x65, 0xe5, 0x72, 0x6a, 0x5f, 0x34, 0x9f, 0x74, - 0xfb, 0xf1, 0xe1, 0x3a, 0x55, 0x32, 0x9b, 0xef, 0xe5, 0xcc, 0xc5, 0xf9, 0x73, 0xa1, 0xf4, 0xdc, - 0x38, 0x3e, 0xdc, 0xef, 0xde, 0x4e, 0x52, 0xb2, 0x59, 0xbe, 0x4f, 0x1d, 0xe7, 0x2e, 0xee, 0xee, - 0x15, 0x98, 0x53, 0x13, 0x75, 0x9c, 0xd2, 0x3a, 0x9d, 0xb7, 0x97, 0x6c, 0x49, 0x7a, 0x2c, 0x3d, - 0x4d, 0x0a, 0xfd, 0x93, 0xc6, 0xdd, 0xf5, 0xe1, 0xd3, 0xd5, 0x75, 0xf1, 0x7a, 0x36, 0xbd, 0xe9, - 0xf5, 0x95, 0x66, 0xea, 0xba, 0x53, 0x78, 0xd0, 0x1b, 0xe7, 0xcd, 0xc6, 0xd1, 0xc1, 0xb8, 0x78, - 0x7b, 0xe2, 0x28, 0x4e, 0xce, 0xd4, 0x33, 0xe5, 0x5c, 0x3b, 0xff, 0xd4, 0x6c, 0x1c, 0xef, 0x8e, - 0x73, 0x05, 0xa3, 0x67, 0xde, 0xde, 0xcc, 0x9c, 0xc2, 0xd5, 0x0b, 0xe8, 0xa4, 0xb7, 0xe5, 0xd3, - 0xa7, 0xc6, 0xfe, 0xf5, 0x69, 0x59, 0x3f, 0xe8, 0xef, 0x76, 0x40, 0x2d, 0xbe, 0x9b, 0x00, 0xef, - 0xbf, 0x1d, 0xb5, 0x76, 0x4f, 0x8d, 0xfd, 0xc3, 0xd2, 0xe9, 0xf3, 0xf5, 0xd9, 0xb9, 0xf9, 0x62, - 0x14, 0x46, 0x03, 0x39, 0x73, 0x75, 0x2c, 0xcd, 0x46, 0xbb, 0x0f, 0x97, 0xcd, 0xdb, 0xd6, 0xde, - 0xb3, 0xfc, 0x62, 0xbe, 0x5d, 0x17, 0xcb, 0xa9, 0x67, 0x39, 0x5b, 0x7e, 0xe9, 0x1f, 0xf6, 0x9f, - 0xce, 0x6f, 0xcb, 0xfa, 0xee, 0xe0, 0xe5, 0xb4, 0x73, 0x60, 0x9d, 0x36, 0x9f, 0x0e, 0x8a, 0xb3, - 0xd3, 0xd6, 0xf3, 0xcd, 0xd9, 0x41, 0xc1, 0xb9, 0x29, 0x3c, 0x9d, 0x0e, 0xee, 0xde, 0xdf, 0x2f, - 0x1e, 0xce, 0x0b, 0xd2, 0x70, 0x77, 0x3c, 0xba, 0x3a, 0x57, 0xcf, 0x4a, 0xd3, 0xab, 0x69, 0xfe, - 0x4e, 0xbe, 0xe9, 0x1f, 0xa8, 0x27, 0xcf, 0x8d, 0xfb, 0x03, 0xbb, 0xf3, 0x2c, 0x1d, 0xdd, 0x1d, - 0x0f, 0xee, 0xae, 0x3a, 0xfb, 0xf2, 0x51, 0xe1, 0xe1, 0x61, 0x6f, 0x3c, 0x1e, 0x8e, 0xbb, 0x57, - 0x3d, 0xad, 0x70, 0x2a, 0x37, 0xc7, 0x97, 0x65, 0x23, 0x9b, 0xea, 0x1d, 0x34, 0x77, 0xdb, 0xc5, - 0xc1, 0x78, 0x74, 0xf6, 0x5e, 0xd6, 0xce, 0x6f, 0x2e, 0x27, 0xbd, 0x97, 0xab, 0x8b, 0xb2, 0x2a, - 0x5b, 0x15, 0xf1, 0xa6, 0xd9, 0x54, 0x6f, 0x9a, 0x27, 0x56, 0x6e, 0xd4, 0x7f, 0x3b, 0xea, 0x15, - 0xcf, 0xde, 0xfa, 0x77, 0x4f, 0x4f, 0x76, 0x61, 0xf0, 0x3e, 0x1e, 0x55, 0x9c, 0xf3, 0xe3, 0xcb, - 0x3b, 0x2b, 0x33, 0x35, 0xc7, 0x37, 0xf6, 0xc5, 0xfd, 0xb8, 0xfb, 0x9c, 0x31, 0x53, 0xc3, 0xdd, - 0xb2, 0x5e, 0xba, 0x97, 0x40, 0x2a, 0x8a, 0xb7, 0x29, 0xf9, 0x66, 0x70, 0x65, 0x5e, 0x0c, 0xec, - 0x8b, 0x83, 0xcb, 0xb7, 0xa9, 0xb1, 0x2f, 0x8d, 0x44, 0x7b, 0xf4, 0x76, 0xab, 0x9a, 0xfd, 0x69, - 0xa1, 0x7c, 0x7c, 0xd2, 0x20, 0x9e, 0xc0, 0x7a, 0x92, 0xeb, 0x19, 0xd6, 0x50, 0x76, 0x12, 0x9b, - 0x68, 0x40, 0x6d, 0x26, 0x17, 0x55, 0xcb, 0x30, 0x9c, 0xf9, 0xd6, 0x56, 0x67, 0x2b, 0x5b, 0xfd, - 0x9a, 0xcd, 0x66, 0x6b, 0xf8, 0xd8, 0xab, 0x7e, 0xed, 0xf5, 0x7a, 0xe4, 0x51, 0xaa, 0xa2, 0xff, - 0x95, 0x3c, 0xe6, 0xaa, 0x5f, 0x73, 0xb9, 0x1c, 0x79, 0xcc, 0x57, 0xbf, 0xe6, 0xf3, 0x79, 0xf2, - 0x58, 0xa8, 0x7e, 0x2d, 0x14, 0x0a, 0xe4, 0xb1, 0x58, 0xfd, 0x5a, 0x2c, 0x16, 0xc9, 0x63, 0xb9, - 0xfa, 0xb5, 0x5c, 0x2e, 0x93, 0xc7, 0x76, 0xf5, 0x6b, 0xbb, 0xdd, 0x26, 0x8f, 0x9d, 0xea, 0xd7, - 0x4e, 0xa7, 0x43, 0x1e, 0x95, 0xea, 0x57, 0x45, 0x51, 0xc8, 0x63, 0xb7, 0xfa, 0xb5, 0xdb, 0xed, - 0x92, 0x47, 0x0b, 0x0a, 0xe4, 0x68, 0x6f, 0x7d, 0xe8, 0xb8, 0x43, 0xc1, 0xd1, 0xa0, 0xb7, 0xb2, - 0x4c, 0x1e, 0x67, 0xd5, 0xaf, 0x72, 0x45, 0x84, 0x47, 0x07, 0xda, 0x15, 0xd3, 0xb4, 0x5f, 0xa3, - 0x6a, 0xf5, 0xdb, 0x72, 0x22, 0x97, 0x17, 0x38, 0xef, 0x7f, 0x31, 0x5d, 0x49, 0x92, 0x3c, 0xa7, - 0xbd, 0x9c, 0x09, 0x76, 0x7d, 0x82, 0xb4, 0x90, 0xf4, 0xca, 0xc8, 0xb4, 0x50, 0x56, 0x94, 0x04, - 0x2e, 0xf8, 0xb3, 0x5c, 0x6e, 0x40, 0xcb, 0x15, 0xb2, 0x02, 0xe7, 0xfd, 0x1f, 0x2e, 0xe4, 0x0c, - 0xaa, 0x25, 0xd1, 0x9c, 0xe2, 0x93, 0xe9, 0x3d, 0x41, 0xad, 0x62, 0x8e, 0xa6, 0xb5, 0xcd, 0x6a, - 0x36, 0x6f, 0x4e, 0x39, 0xfa, 0x47, 0x74, 0x9f, 0xb0, 0x0c, 0xe4, 0x54, 0xe0, 0x55, 0xe4, 0x4a, - 0xf8, 0x97, 0xd4, 0xea, 0x56, 0x75, 0x43, 0x47, 0x12, 0xd9, 0x7d, 0xb3, 0xca, 0xb7, 0xd1, 0x3d, - 0xc2, 0x63, 0xc6, 0xd0, 0xa9, 0x42, 0xcd, 0x05, 0x7a, 0xef, 0xe7, 0xc4, 0x9f, 0xb0, 0x25, 0x53, - 0x17, 0xca, 0x50, 0x06, 0xfd, 0x7f, 0xa4, 0x11, 0x0f, 0xc4, 0xa2, 0x6d, 0x74, 0x67, 0xf3, 0xa1, - 0x6c, 0xf5, 0x55, 0xbd, 0x2a, 0xd6, 0xd0, 0xc7, 0xd4, 0xb7, 0x8c, 0x91, 0xde, 0xa5, 0xfe, 0xf5, - 0x2a, 0x05, 0x1b, 0x46, 0x3d, 0x59, 0x63, 0xed, 0xed, 0x23, 0x45, 0x1b, 0x2b, 0x8e, 0xda, 0x91, - 0x85, 0x7b, 0xc5, 0xea, 0xca, 0xba, 0x2c, 0xd8, 0xb2, 0x6e, 0x6f, 0xd9, 0x8a, 0xa5, 0xf6, 0x68, - 0x41, 0x5b, 0x7d, 0x57, 0xaa, 0x59, 0x80, 0xb2, 0x16, 0x6e, 0xa8, 0x97, 0xac, 0xa1, 0xbf, 0x78, - 0x4b, 0xd6, 0xd4, 0xbe, 0x5e, 0xed, 0x28, 0xe8, 0x4f, 0xa8, 0xa1, 0x2b, 0xfe, 0x55, 0x75, 0xb6, - 0x28, 0x98, 0xe8, 0xf5, 0x44, 0xbf, 0x0e, 0x45, 0xcb, 0xcd, 0x1a, 0x41, 0xdb, 0xd0, 0xbe, 0xa6, - 0x74, 0xbc, 0x8c, 0xa1, 0xf1, 0x1e, 0x97, 0x6a, 0x2f, 0x27, 0x2e, 0x97, 0xf2, 0xfa, 0x93, 0xcd, - 0xad, 0x81, 0xda, 0x1f, 0x68, 0xe8, 0x7f, 0x72, 0x31, 0x76, 0x2c, 0xc0, 0xc4, 0x94, 0x2d, 0x80, - 0xac, 0x66, 0x77, 0x2c, 0x43, 0xd3, 0xda, 0xb2, 0x45, 0xf7, 0x2f, 0xaa, 0x45, 0x40, 0x27, 0x48, - 0x0b, 0x23, 0x66, 0xb7, 0x93, 0x1c, 0x53, 0x97, 0x10, 0x56, 0x20, 0xc4, 0xa7, 0xae, 0xcd, 0x6a, - 0x56, 0x14, 0xff, 0x55, 0xa3, 0xed, 0x90, 0x47, 0xd3, 0xb0, 0x55, 0x32, 0x1e, 0x3d, 0x75, 0xaa, - 0x74, 0x6b, 0x06, 0x2c, 0xab, 0xb4, 0xed, 0xad, 0xb6, 0x32, 0x90, 0xc7, 0x2a, 0xb4, 0x8d, 0xc0, - 0x2e, 0xbe, 0xb6, 0xfb, 0x4c, 0x13, 0xe3, 0x41, 0xd0, 0xc6, 0x78, 0x12, 0x6d, 0xe4, 0x7d, 0x4b, - 0xd5, 0xbb, 0xca, 0xb4, 0xba, 0x95, 0x0d, 0x8d, 0xa5, 0x5f, 0xca, 0xa5, 0x37, 0x93, 0x65, 0x29, - 0xa6, 0x22, 0x23, 0x59, 0xdc, 0x27, 0x36, 0x8f, 0x8c, 0x61, 0x07, 0x01, 0xab, 0x19, 0xa6, 0xdc, - 0x51, 0x9d, 0x19, 0xb0, 0x08, 0xc1, 0x91, 0xb6, 0xe6, 0x26, 0x72, 0x92, 0xbd, 0x30, 0x3d, 0x1e, - 0x22, 0xdc, 0x2a, 0x72, 0x12, 0xfe, 0x5d, 0xc8, 0x82, 0x5c, 0x1d, 0xab, 0x50, 0x5a, 0xe9, 0x0a, - 0xe6, 0x3c, 0x4c, 0xaf, 0x6e, 0x92, 0xcd, 0x9e, 0x13, 0xa6, 0xe8, 0x2a, 0x1d, 0xc3, 0x22, 0x7c, - 0x49, 0x51, 0x6f, 0x8f, 0x1c, 0xc7, 0xd0, 0xe7, 0xc0, 0x0c, 0x9a, 0xaa, 0x2b, 0xd0, 0x79, 0x67, - 0x64, 0xd9, 0xd0, 0x86, 0x69, 0xa8, 0x88, 0xc7, 0x22, 0xad, 0xc9, 0x6d, 0x45, 0xb3, 0x03, 0xfe, - 0x35, 0xe5, 0x6e, 0x57, 0xd5, 0xfb, 0xd5, 0x32, 0x03, 0xc4, 0x57, 0xdc, 0xfa, 0x21, 0x05, 0xe7, - 0x11, 0x6a, 0xb5, 0x0d, 0x68, 0x7e, 0x58, 0x05, 0x7e, 0xeb, 0x24, 0x28, 0x58, 0xed, 0x41, 0x92, - 0x4b, 0x71, 0x30, 0xcc, 0xc9, 0x9a, 0x45, 0x28, 0x5e, 0x5c, 0x62, 0xe0, 0x72, 0x32, 0x02, 0x45, - 0x6d, 0x62, 0x41, 0xa3, 0x7a, 0x1f, 0x18, 0xb2, 0xab, 0x54, 0x81, 0x58, 0x38, 0x2f, 0xb4, 0x2d, - 0x4b, 0x5b, 0xa4, 0xdb, 0x96, 0x3a, 0xf7, 0x40, 0x82, 0x09, 0xbc, 0x48, 0x4f, 0x2c, 0xf4, 0x73, - 0x59, 0x51, 0x40, 0x1c, 0xc3, 0x04, 0xe0, 0x35, 0xa5, 0x07, 0x53, 0xd6, 0xed, 0x98, 0x1d, 0x3f, - 0xbf, 0x6f, 0xa7, 0x9d, 0xf4, 0x87, 0x38, 0xbb, 0x48, 0xe3, 0x06, 0x94, 0x1d, 0xe7, 0x07, 0xa3, - 0x33, 0x10, 0x3d, 0x66, 0x40, 0x47, 0x90, 0xe3, 0x1a, 0x33, 0x27, 0x25, 0x00, 0xe4, 0x8b, 0x3a, - 0xc4, 0xdd, 0x3a, 0x19, 0x58, 0x1c, 0x09, 0xbb, 0xe5, 0xb1, 0x17, 0x93, 0xde, 0x55, 0x6d, 0x53, - 0x93, 0x67, 0x55, 0x55, 0x27, 0x25, 0x88, 0x58, 0x59, 0xa4, 0x61, 0x30, 0xc2, 0xd4, 0xe8, 0x27, - 0x83, 0x3a, 0x90, 0xdd, 0xeb, 0x45, 0xf2, 0x8b, 0x4c, 0xbe, 0x47, 0x37, 0xb0, 0xf4, 0xe4, 0x91, - 0xe6, 0xb0, 0x15, 0x61, 0x24, 0x38, 0x8a, 0x8e, 0x90, 0x06, 0x62, 0xb8, 0xcf, 0xde, 0xb8, 0x6e, - 0x91, 0x81, 0xe4, 0xf2, 0x64, 0x38, 0xd3, 0x83, 0x51, 0xdf, 0x75, 0xfe, 0x11, 0x7c, 0xf2, 0x12, - 0x12, 0xd6, 0xd4, 0x80, 0xb3, 0xad, 0x19, 0x77, 0xdb, 0xd8, 0x3d, 0xdb, 0x17, 0xd2, 0xb6, 0xd2, - 0x77, 0xe6, 0x0e, 0xee, 0xea, 0x6d, 0xb9, 0x4e, 0x62, 0x4a, 0xe8, 0x60, 0xfa, 0x2d, 0x48, 0x19, - 0xee, 0x76, 0xcf, 0x1f, 0x20, 0xd2, 0x09, 0x03, 0xed, 0x92, 0x98, 0x62, 0x7a, 0xd9, 0x13, 0xfc, - 0xea, 0x8c, 0xb4, 0x43, 0xe9, 0xed, 0xb5, 0x26, 0xd6, 0x7c, 0x4e, 0xa0, 0x6d, 0x0c, 0xd5, 0x6e, - 0x57, 0x53, 0x16, 0xe9, 0x57, 0x65, 0xe6, 0xb8, 0xec, 0x4e, 0x33, 0x70, 0xd8, 0x17, 0xe9, 0xb1, - 0xac, 0x85, 0x93, 0x09, 0x1b, 0xb8, 0xe9, 0x9c, 0xca, 0x74, 0x63, 0xc3, 0x78, 0x02, 0x6f, 0xd9, - 0xc4, 0x03, 0x4d, 0x36, 0x21, 0x03, 0x76, 0x92, 0xdb, 0xb6, 0xa1, 0x8d, 0x1c, 0x85, 0xf2, 0x12, - 0xcc, 0x02, 0x8f, 0xc7, 0x0b, 0x48, 0x24, 0x10, 0x81, 0xb4, 0x3c, 0x99, 0xc3, 0xb8, 0xc2, 0x53, - 0x69, 0x07, 0x4b, 0x81, 0xf2, 0x98, 0x00, 0xe8, 0x93, 0x8b, 0xb4, 0x42, 0x4a, 0x08, 0xe9, 0xbe, - 0xfb, 0xeb, 0xd5, 0x11, 0x42, 0x1d, 0x46, 0x66, 0xc0, 0xd2, 0xcc, 0x76, 0xab, 0xcf, 0x97, 0x19, - 0x71, 0x19, 0x54, 0x64, 0x7e, 0x84, 0x94, 0xf2, 0x7d, 0x99, 0x8c, 0xa6, 0x61, 0xc6, 0xe0, 0x14, - 0xc7, 0x92, 0xee, 0xd4, 0x71, 0xe7, 0x0c, 0xa9, 0xb9, 0xd5, 0x89, 0xa9, 0xbb, 0x72, 0x61, 0x93, - 0x92, 0x40, 0x22, 0x0b, 0x10, 0xab, 0x66, 0x61, 0xfc, 0xa1, 0xb4, 0xda, 0xe5, 0x98, 0xa9, 0x4e, - 0xf3, 0xb6, 0x2c, 0xb9, 0xab, 0x8e, 0xec, 0xaa, 0x84, 0x2b, 0xb5, 0x3f, 0x01, 0x49, 0xdf, 0x39, - 0x1f, 0xf2, 0x5c, 0x81, 0x19, 0x7e, 0x48, 0xe6, 0x50, 0x08, 0x41, 0xa3, 0x91, 0xb9, 0x17, 0x9a, - 0x71, 0x52, 0xde, 0x45, 0x77, 0xab, 0xc3, 0xc1, 0xc2, 0xa1, 0x87, 0x98, 0xb1, 0x48, 0xc7, 0x4c, - 0xb6, 0x60, 0x4d, 0x5c, 0x31, 0xcc, 0x1e, 0xed, 0xc8, 0x70, 0x67, 0xa1, 0x92, 0xcb, 0xe1, 0xa4, - 0xa3, 0x50, 0x1f, 0xc4, 0x7b, 0xff, 0x51, 0x33, 0x14, 0x91, 0x0a, 0xca, 0xbc, 0x88, 0xa0, 0xed, - 0x69, 0xd6, 0x7c, 0x79, 0x21, 0xf7, 0xd9, 0xc8, 0x32, 0x70, 0x93, 0x20, 0x21, 0x26, 0xd9, 0xe5, - 0xc1, 0xcf, 0xe6, 0xd2, 0x39, 0x7b, 0xc5, 0xc0, 0x07, 0xe2, 0x8e, 0x11, 0xdd, 0xc0, 0x85, 0x53, - 0x53, 0xc0, 0x3f, 0x32, 0x50, 0xba, 0xcb, 0x91, 0xde, 0x97, 0x3a, 0xcb, 0x96, 0xc5, 0xae, 0xd2, - 0x07, 0x5e, 0x53, 0xb5, 0x79, 0x2c, 0x6b, 0xc4, 0x4f, 0xc0, 0xaf, 0x9a, 0x3a, 0x56, 0x30, 0x5e, - 0xc1, 0x5b, 0x54, 0xf3, 0x3e, 0xd5, 0xc8, 0xb2, 0xec, 0x72, 0x83, 0x18, 0x14, 0x94, 0xf6, 0xbc, - 0xa2, 0x15, 0x7f, 0x05, 0xaf, 0x30, 0x25, 0x57, 0xa0, 0x56, 0x80, 0x22, 0x64, 0x5c, 0xf0, 0x21, - 0x66, 0xc6, 0x25, 0xb6, 0x20, 0x43, 0xc0, 0x3f, 0x80, 0x03, 0xc8, 0xaa, 0xf9, 0x12, 0x8f, 0xb2, - 0xaa, 0xc8, 0xf2, 0x14, 0x83, 0x99, 0xbd, 0x62, 0x41, 0xf3, 0x97, 0x12, 0x16, 0xad, 0x55, 0x13, - 0x00, 0xd6, 0x14, 0xd2, 0x3d, 0xe7, 0x2e, 0xb6, 0x6b, 0xa1, 0xe8, 0x69, 0x06, 0x28, 0x0b, 0xd8, - 0xba, 0x87, 0x3d, 0xd1, 0xa7, 0x98, 0x41, 0x27, 0x75, 0x70, 0xc0, 0x85, 0x68, 0x43, 0x84, 0x0b, - 0xd6, 0xea, 0x86, 0x9d, 0x64, 0x6d, 0xa8, 0xea, 0xae, 0xae, 0x95, 0x27, 0x6c, 0x8b, 0x8b, 0x81, - 0x0b, 0x98, 0xc7, 0x20, 0xae, 0x26, 0xdd, 0x36, 0xa1, 0xb4, 0xbb, 0xee, 0xd3, 0x05, 0x24, 0xb6, - 0x5c, 0x1b, 0xcb, 0xb9, 0x93, 0xa2, 0xf0, 0x2f, 0xa6, 0x46, 0x80, 0x72, 0x75, 0x80, 0x2a, 0xce, - 0x7c, 0x0d, 0x85, 0x06, 0xc9, 0x08, 0xa4, 0x4a, 0x88, 0x66, 0x69, 0x54, 0xac, 0xc7, 0xca, 0xba, - 0x16, 0xe4, 0xd0, 0x3a, 0x18, 0x99, 0x48, 0x8b, 0x0f, 0x1b, 0x28, 0xae, 0xaf, 0x8e, 0xa1, 0x2e, - 0x32, 0x30, 0xbe, 0x05, 0x16, 0x1a, 0xa8, 0x60, 0xec, 0xb8, 0xd3, 0x47, 0x46, 0xc5, 0xd1, 0x93, - 0x7f, 0x62, 0x46, 0xd2, 0x13, 0x0f, 0x24, 0x0b, 0x53, 0xb8, 0x2d, 0xcf, 0x48, 0x31, 0x93, 0xfe, - 0x33, 0xa0, 0xee, 0x91, 0x79, 0x0b, 0x99, 0xda, 0x2f, 0x11, 0xcb, 0xd1, 0x4c, 0x37, 0xaa, 0x20, - 0x26, 0x33, 0x9c, 0xdf, 0xe5, 0x16, 0xe9, 0x33, 0xb9, 0x5a, 0xcb, 0x45, 0x72, 0xba, 0x11, 0x3b, - 0x73, 0x86, 0xcb, 0x7c, 0x06, 0xb7, 0x14, 0x34, 0x58, 0xc6, 0xca, 0x0a, 0xdc, 0xf0, 0x3d, 0xe3, - 0xf5, 0x86, 0x62, 0x7b, 0x8a, 0x5c, 0x86, 0x6c, 0xe0, 0x4a, 0x70, 0x48, 0x09, 0x26, 0x2c, 0x42, - 0x01, 0x9d, 0x4c, 0xaa, 0xf2, 0xc8, 0x31, 0x6a, 0xac, 0x7e, 0xbe, 0x0a, 0xbe, 0x60, 0x5d, 0xe7, - 0x88, 0x25, 0xe6, 0x1a, 0x10, 0x5e, 0x43, 0x5b, 0xb4, 0x0e, 0x16, 0x20, 0x36, 0xcc, 0xe2, 0x6b, - 0x6f, 0x2a, 0x7c, 0x35, 0x65, 0x6d, 0x02, 0x7f, 0x11, 0x2d, 0xf8, 0x79, 0xd3, 0xe0, 0xcf, 0xc8, - 0x51, 0xe1, 0x07, 0x74, 0x07, 0x9a, 0x08, 0x0f, 0x7e, 0x0a, 0x3e, 0x48, 0x42, 0xba, 0xa7, 0x77, - 0x41, 0xef, 0x99, 0xba, 0xb3, 0x40, 0x2a, 0x8b, 0xa1, 0x15, 0x24, 0x0b, 0xc2, 0x79, 0xc1, 0x34, - 0x13, 0xae, 0x3d, 0xc7, 0xe9, 0xe3, 0x89, 0x35, 0x5c, 0x0d, 0x3c, 0xa5, 0x1c, 0x97, 0x23, 0xc4, - 0x15, 0xd5, 0x61, 0xb7, 0x30, 0x87, 0x1a, 0x8c, 0xea, 0x4f, 0x17, 0x32, 0xba, 0xb8, 0x82, 0x50, - 0xd0, 0x07, 0xca, 0x14, 0x40, 0xd7, 0x94, 0xee, 0x50, 0x36, 0x09, 0x22, 0x5a, 0x80, 0x08, 0xd9, - 0xc4, 0x77, 0x11, 0x7a, 0xeb, 0xd8, 0x5b, 0x13, 0x16, 0x21, 0xba, 0x2f, 0x2e, 0x60, 0x7c, 0x04, - 0x2c, 0x1c, 0x04, 0x1d, 0x21, 0x4d, 0x37, 0xe2, 0x85, 0xb4, 0x89, 0xaa, 0x38, 0x51, 0x9d, 0xdc, - 0x07, 0x52, 0xda, 0x57, 0xdf, 0x09, 0x88, 0x2e, 0x76, 0xfe, 0x34, 0x2e, 0x10, 0xdd, 0x0f, 0x26, - 0xac, 0x3d, 0x34, 0x0c, 0x67, 0x30, 0x8f, 0x5d, 0x60, 0x18, 0xc6, 0xeb, 0x09, 0xd9, 0xe4, 0x9f, - 0xe9, 0x82, 0x9d, 0xe4, 0x14, 0xd9, 0x56, 0xb6, 0x40, 0xf7, 0x23, 0xbc, 0xb5, 0x45, 0x2d, 0x00, - 0xbf, 0x2b, 0x91, 0xdb, 0x22, 0x2d, 0x7b, 0x03, 0xbb, 0xe5, 0xca, 0x4e, 0x1c, 0x5d, 0x6f, 0x35, - 0xf1, 0xa6, 0x00, 0x4a, 0x5b, 0x1c, 0x69, 0x48, 0x8b, 0x4a, 0xdc, 0x15, 0xb6, 0x5d, 0x48, 0xa1, - 0x5f, 0x39, 0xab, 0x73, 0xc9, 0xa8, 0x6e, 0xe0, 0xf5, 0xdc, 0xd3, 0x94, 0x69, 0x8d, 0x2c, 0x5b, - 0x5b, 0x60, 0x1d, 0x0d, 0x6d, 0xcf, 0x70, 0x7b, 0x19, 0xd9, 0x8e, 0xda, 0x9b, 0x6d, 0xb9, 0x33, - 0xc5, 0x4b, 0xf6, 0x55, 0x92, 0xac, 0x6f, 0xa8, 0xa5, 0x2b, 0x05, 0x56, 0x2c, 0xa7, 0x4b, 0xb8, - 0x02, 0x93, 0xc5, 0x7c, 0x4b, 0xc1, 0x68, 0x02, 0xdb, 0x9d, 0x76, 0xb6, 0x23, 0xcf, 0x00, 0x75, - 0x81, 0x3c, 0x00, 0xd8, 0xfe, 0x52, 0x4a, 0xd7, 0x50, 0x1f, 0x5d, 0x8f, 0xe3, 0xa1, 0xff, 0xce, - 0xeb, 0x2c, 0x48, 0xa7, 0xef, 0xac, 0xda, 0x4c, 0x50, 0xf7, 0x20, 0x92, 0x6a, 0xa1, 0xc1, 0xa5, - 0x23, 0xec, 0x75, 0x3a, 0x67, 0x94, 0x53, 0x8f, 0x73, 0xe6, 0x9f, 0xec, 0xd1, 0x5f, 0xeb, 0x16, - 0x5f, 0x95, 0x5e, 0x0f, 0x2c, 0xfb, 0xc3, 0x83, 0x47, 0xc2, 0x87, 0xf0, 0xfb, 0xe9, 0x36, 0x08, - 0xac, 0x7e, 0xd7, 0x9c, 0x67, 0x4e, 0xb2, 0x53, 0x22, 0x17, 0x9a, 0x7e, 0x21, 0xdd, 0x9b, 0x99, - 0xa6, 0x39, 0x51, 0x34, 0xa7, 0x51, 0x65, 0x11, 0x07, 0x74, 0x59, 0x7e, 0x45, 0xf8, 0x8d, 0x58, - 0x2f, 0xb4, 0x3d, 0x34, 0x0e, 0x3d, 0x4d, 0x23, 0x27, 0x06, 0xba, 0x1c, 0x79, 0x66, 0x44, 0x02, - 0x79, 0x5f, 0x6e, 0xd8, 0x23, 0x39, 0x20, 0xa4, 0xea, 0x3d, 0x83, 0x73, 0x5b, 0x15, 0x02, 0xf4, - 0x5c, 0xb0, 0xd7, 0xe8, 0xc2, 0x8b, 0x68, 0x61, 0x84, 0x09, 0x78, 0xa3, 0x1d, 0x4a, 0x98, 0x53, - 0x75, 0x93, 0xe8, 0xa7, 0xde, 0x3c, 0xa7, 0x53, 0x7c, 0x75, 0xdb, 0xf9, 0x25, 0x5d, 0xba, 0xc8, - 0xa8, 0xa8, 0xc5, 0x10, 0x86, 0x94, 0x9a, 0x8c, 0xe1, 0x8c, 0x96, 0x7c, 0x0c, 0xc6, 0x1e, 0xaf, - 0x67, 0xe3, 0x9c, 0x12, 0x20, 0x02, 0x38, 0x54, 0x06, 0x65, 0x4b, 0xa0, 0xbd, 0x60, 0x8a, 0xc0, - 0xe8, 0xa4, 0x05, 0xdb, 0x83, 0x7e, 0x1e, 0xa8, 0xf4, 0xfe, 0xca, 0x30, 0x00, 0x6d, 0x51, 0xd1, - 0x17, 0x2e, 0x5e, 0x1c, 0x28, 0x22, 0x86, 0xe6, 0xa8, 0x26, 0x1a, 0x68, 0x9e, 0xdc, 0x0a, 0x25, - 0xce, 0xd1, 0x91, 0xd1, 0x56, 0x35, 0x84, 0x87, 0xd6, 0x5d, 0x3d, 0xef, 0x0b, 0xee, 0x02, 0x35, - 0x90, 0xbb, 0xd0, 0x13, 0xe2, 0xe7, 0xfb, 0xf9, 0xf0, 0x81, 0xf1, 0xb9, 0x7d, 0xc2, 0x77, 0xc6, - 0x92, 0xa9, 0xbc, 0xc4, 0x84, 0xc5, 0x40, 0xb9, 0x2d, 0x86, 0xd8, 0xc6, 0x57, 0x55, 0x03, 0xdc, - 0x5d, 0x8e, 0x2c, 0xb3, 0x7a, 0xab, 0xbb, 0xf4, 0x93, 0xf7, 0xad, 0x0a, 0x1d, 0x86, 0x25, 0x29, - 0xb2, 0xde, 0x3b, 0x94, 0x2e, 0x21, 0xa5, 0x63, 0xe8, 0xe8, 0x4d, 0xff, 0xac, 0x84, 0xe6, 0x78, - 0x4c, 0x81, 0x6a, 0x55, 0xee, 0x11, 0xe6, 0x8a, 0xa1, 0xb7, 0x9b, 0x37, 0xf7, 0x24, 0x21, 0xcf, - 0xaf, 0x50, 0xc3, 0x89, 0x3c, 0x8e, 0xc7, 0xa7, 0x10, 0x90, 0x8b, 0xd2, 0x88, 0x49, 0xa0, 0x46, - 0x2b, 0xb1, 0x07, 0xbd, 0xa4, 0xe8, 0x20, 0xb2, 0xee, 0xbe, 0x55, 0xcf, 0x01, 0x5e, 0x9d, 0x81, - 0xd2, 0x79, 0xa5, 0xaa, 0x66, 0x2c, 0x37, 0xc5, 0x64, 0xb1, 0x3c, 0x45, 0x1e, 0x35, 0x86, 0xe7, - 0x81, 0x79, 0xe5, 0xae, 0x12, 0xc3, 0x76, 0x91, 0xc1, 0x20, 0x2a, 0x1a, 0x09, 0xb0, 0x7e, 0x42, - 0xfb, 0xcc, 0x9d, 0x71, 0x81, 0xbd, 0x25, 0xe2, 0x2c, 0xb0, 0x6c, 0x67, 0xce, 0x68, 0x79, 0xc8, - 0x8a, 0x8b, 0xaf, 0x8e, 0x21, 0x43, 0x72, 0xd0, 0xdc, 0x7a, 0x7e, 0x5e, 0x61, 0x43, 0x4b, 0x49, - 0x66, 0x62, 0xa3, 0xd5, 0xf4, 0x09, 0x96, 0x0e, 0xb3, 0x30, 0x6b, 0x56, 0x4b, 0x21, 0x41, 0x10, - 0xf6, 0x79, 0x16, 0xd6, 0x5a, 0x5b, 0x8f, 0xc4, 0xdc, 0x4a, 0xae, 0xf4, 0xf9, 0x61, 0xcb, 0xc9, - 0xa8, 0x79, 0x12, 0xb7, 0x62, 0x52, 0xb2, 0xa4, 0xed, 0x81, 0x31, 0x99, 0x07, 0x02, 0x48, 0xd6, - 0xd5, 0x21, 0x75, 0x5c, 0xe2, 0xa8, 0xa8, 0x3a, 0x11, 0x36, 0xc1, 0x23, 0x27, 0xe1, 0x1f, 0x4b, - 0x41, 0xed, 0xd2, 0x6f, 0x82, 0x04, 0x85, 0x32, 0x6d, 0x2c, 0xd1, 0xf7, 0x6b, 0x5b, 0x8a, 0x6f, - 0x79, 0x91, 0x1e, 0x1a, 0x5d, 0x79, 0xc9, 0x9f, 0xe9, 0xe9, 0x1b, 0x9e, 0x15, 0xe8, 0x99, 0xd6, - 0x38, 0xa4, 0x0c, 0xc2, 0xce, 0x00, 0xf5, 0xfb, 0x2c, 0xe2, 0xbb, 0x72, 0x48, 0x8d, 0x58, 0x05, - 0xff, 0x29, 0x41, 0x4d, 0x87, 0x78, 0x23, 0x3f, 0x6f, 0xb3, 0x46, 0x3c, 0x4b, 0x4b, 0x7c, 0x0d, - 0xe9, 0xdc, 0xe8, 0x8f, 0x30, 0x6c, 0xe5, 0xf7, 0x16, 0x6a, 0xd7, 0xfa, 0xa4, 0x8e, 0x31, 0xb2, - 0xc6, 0x09, 0x5f, 0x75, 0xa3, 0xab, 0xd8, 0xbe, 0xfc, 0xce, 0x2f, 0xbe, 0x5a, 0xc4, 0x96, 0xf3, - 0x12, 0x72, 0x8b, 0xaf, 0x7a, 0x57, 0x73, 0x7c, 0xe7, 0xb4, 0xeb, 0x11, 0x26, 0x85, 0x40, 0x09, - 0x89, 0x75, 0xc4, 0x46, 0x28, 0x95, 0xe2, 0x0a, 0x48, 0x29, 0xba, 0xe4, 0x2d, 0x7b, 0x46, 0xbe, - 0x82, 0x00, 0xd2, 0xa1, 0xb3, 0xcf, 0xfa, 0x96, 0x83, 0xc6, 0xf2, 0x0c, 0x5f, 0x17, 0x96, 0x04, - 0x37, 0x49, 0x59, 0x62, 0x08, 0xdc, 0xd4, 0xf2, 0x7d, 0xfc, 0x52, 0x78, 0xa1, 0x67, 0xad, 0x06, - 0xb2, 0x80, 0x06, 0xb6, 0x74, 0x36, 0x8f, 0xcd, 0x31, 0xe4, 0x0b, 0xec, 0xe0, 0x50, 0x13, 0x64, - 0x71, 0x67, 0x9a, 0x70, 0x73, 0x89, 0x23, 0xf5, 0x03, 0x77, 0x2a, 0x1d, 0x89, 0xb8, 0xa2, 0xc4, - 0xc6, 0x62, 0x4b, 0xd2, 0x36, 0xbb, 0xf3, 0x88, 0x26, 0x84, 0x8e, 0x1f, 0xaf, 0x95, 0x2e, 0xeb, - 0x56, 0x95, 0x02, 0x42, 0x85, 0xca, 0x52, 0xc8, 0xdb, 0x8e, 0xee, 0x0d, 0x6f, 0x21, 0x0c, 0x31, - 0xc9, 0x13, 0x58, 0xc0, 0x42, 0xa5, 0x3d, 0xdc, 0xbb, 0xea, 0x98, 0x21, 0x5d, 0xbe, 0x22, 0x06, - 0x76, 0x93, 0x67, 0x91, 0xd0, 0x26, 0xc2, 0x05, 0x2b, 0xe5, 0x98, 0x82, 0xa4, 0xc1, 0xaf, 0xea, - 0xb0, 0x3f, 0xf1, 0x7a, 0x29, 0xbb, 0x96, 0xd7, 0xe2, 0xab, 0xc6, 0xd6, 0x2e, 0x92, 0x11, 0x8a, - 0x75, 0xb2, 0x83, 0xed, 0x25, 0x5b, 0xce, 0x7c, 0xd9, 0xa7, 0x52, 0x09, 0xb9, 0x4f, 0x82, 0x9d, - 0x09, 0x4b, 0xe9, 0x2e, 0xa0, 0x4b, 0xa6, 0x75, 0xb2, 0xe6, 0xe1, 0x2b, 0x63, 0x9e, 0x2c, 0xd2, - 0x13, 0x75, 0x4e, 0x8e, 0xae, 0x6c, 0xc1, 0xc2, 0x04, 0x83, 0x8d, 0x7c, 0x67, 0xc2, 0x30, 0xe2, - 0xc4, 0xee, 0xd6, 0xa2, 0x39, 0x1d, 0x0b, 0x60, 0xdb, 0x52, 0xba, 0x7d, 0xc5, 0xf6, 0xf4, 0x50, - 0xb2, 0x2a, 0xfc, 0xc7, 0xab, 0x32, 0xeb, 0x59, 0x60, 0xbd, 0xd9, 0x1c, 0x95, 0x47, 0xf3, 0x9e, - 0x65, 0x0c, 0xe7, 0xbe, 0xcc, 0xf1, 0x97, 0x8b, 0x85, 0x63, 0xcc, 0xd7, 0x0b, 0xdb, 0x60, 0x29, - 0xf3, 0x34, 0x60, 0x97, 0x1e, 0xfe, 0xa2, 0xbe, 0xb9, 0xb9, 0x6a, 0x51, 0x97, 0x3c, 0xa7, 0x67, - 0xc8, 0x73, 0xec, 0xad, 0x6e, 0xe1, 0xc9, 0xb3, 0x5a, 0x07, 0x25, 0x44, 0x8c, 0x53, 0x68, 0x82, - 0x7d, 0x34, 0xdc, 0x49, 0xed, 0xb3, 0xce, 0x96, 0xaf, 0x64, 0x96, 0x70, 0x11, 0x88, 0x49, 0x29, - 0x52, 0x95, 0xe9, 0x97, 0xaa, 0x9f, 0x5b, 0x7d, 0xec, 0x0d, 0x63, 0xc1, 0x2b, 0xe8, 0xb0, 0x14, - 0xbe, 0x8a, 0x22, 0x18, 0x9f, 0xd9, 0xc2, 0xbf, 0x04, 0x18, 0x38, 0x68, 0xaf, 0xff, 0x8f, 0xb5, - 0xf7, 0x55, 0xec, 0x89, 0xd0, 0x60, 0xfb, 0x1f, 0x6c, 0x50, 0x44, 0x8c, 0x27, 0xff, 0x5c, 0x83, - 0xbd, 0x1e, 0x36, 0xf8, 0x1a, 0xd3, 0xa0, 0xf0, 0x75, 0xd2, 0x96, 0xb5, 0x68, 0x2f, 0x1f, 0xb7, - 0xdd, 0xeb, 0x95, 0x7b, 0xd9, 0x1e, 0x27, 0x92, 0xb6, 0x39, 0x74, 0xa9, 0x7e, 0xed, 0xb4, 0xbb, - 0x6d, 0xd2, 0x0f, 0xf5, 0x62, 0x0c, 0x88, 0x11, 0x43, 0x3b, 0x15, 0x7c, 0xaf, 0xae, 0xc0, 0xf8, - 0x77, 0x89, 0x33, 0x83, 0xfb, 0x6a, 0xf5, 0xdb, 0xb4, 0x8c, 0xeb, 0xd5, 0xf0, 0x97, 0x09, 0xb0, - 0xa1, 0x68, 0x06, 0x82, 0x28, 0x50, 0x7a, 0x08, 0x8c, 0x4b, 0x5d, 0x48, 0x2b, 0x5d, 0x58, 0xbc, - 0xe8, 0xa3, 0xe9, 0x80, 0xe6, 0xe6, 0xcd, 0x6c, 0xd7, 0xc8, 0x26, 0x38, 0xb5, 0x47, 0x6d, 0x14, - 0x8e, 0x8c, 0x87, 0x7e, 0xd9, 0xa4, 0x89, 0x75, 0x64, 0x47, 0x98, 0x56, 0x8c, 0xe7, 0xee, 0x5c, - 0x8c, 0xb9, 0xc0, 0x6e, 0x27, 0xe4, 0xc3, 0x6b, 0x72, 0x3e, 0xd8, 0xb8, 0x80, 0x27, 0x46, 0xda, - 0x04, 0x1a, 0x25, 0x97, 0x96, 0x40, 0x6b, 0x41, 0x37, 0x8a, 0xe0, 0x2b, 0xf3, 0x5e, 0x0a, 0xa3, - 0x66, 0x2e, 0xab, 0xa0, 0xde, 0xcc, 0x5c, 0x80, 0xfc, 0x37, 0x47, 0x4e, 0x08, 0x7f, 0xa2, 0x38, - 0xad, 0x55, 0x6c, 0x99, 0xb3, 0x0b, 0xe4, 0xe8, 0xc2, 0xcf, 0xb9, 0xa7, 0x1d, 0xe0, 0xe6, 0xa9, - 0x0c, 0x69, 0x1d, 0x85, 0x72, 0x1e, 0xbb, 0x9b, 0xee, 0xef, 0xbb, 0xad, 0x0e, 0x66, 0x08, 0xf9, - 0xd3, 0xc3, 0xcb, 0xf8, 0x52, 0x9f, 0xd5, 0x9e, 0xd1, 0x19, 0xd9, 0xc1, 0xd6, 0x73, 0x4c, 0x89, - 0x40, 0x69, 0xa1, 0x3b, 0x63, 0xd6, 0x48, 0xd7, 0xc9, 0xc2, 0x07, 0xfd, 0x74, 0x5e, 0xe7, 0x0c, - 0x70, 0xac, 0x51, 0x1f, 0xd9, 0x3a, 0x63, 0x06, 0x12, 0xbd, 0x5c, 0x1f, 0xf7, 0xe2, 0x0c, 0x46, - 0xc3, 0xb6, 0x1f, 0x10, 0xc0, 0xda, 0x77, 0xcb, 0x3a, 0x44, 0xc8, 0xef, 0xcf, 0xf2, 0x45, 0x04, - 0x88, 0x55, 0xf4, 0x65, 0x4c, 0x02, 0x50, 0x87, 0x63, 0x81, 0xc3, 0x28, 0x0c, 0xf2, 0xb2, 0x1e, - 0xeb, 0xa5, 0xb1, 0x20, 0x01, 0x32, 0x78, 0x04, 0x0c, 0xfe, 0x4d, 0x7e, 0xd4, 0x32, 0x41, 0xd9, - 0xf3, 0xde, 0xba, 0x06, 0x06, 0x3b, 0x98, 0xff, 0x43, 0x6a, 0xc4, 0x6a, 0xba, 0xa8, 0xa8, 0x2d, - 0xbe, 0x92, 0x63, 0x41, 0x36, 0xf7, 0xbb, 0xc3, 0x52, 0x0e, 0x00, 0x09, 0x6c, 0x72, 0x32, 0x0b, - 0xc3, 0xd6, 0x51, 0x36, 0xe4, 0x5c, 0x27, 0xfa, 0xcb, 0x9a, 0x1e, 0x57, 0x50, 0x24, 0xae, 0x59, - 0xbf, 0x1d, 0x56, 0xb3, 0x73, 0x67, 0x46, 0xde, 0xf3, 0xa8, 0x0e, 0xba, 0xf3, 0x18, 0x57, 0xe7, - 0xd7, 0xb6, 0xa5, 0xd2, 0xe2, 0xbe, 0xfe, 0x28, 0x15, 0x4b, 0xb1, 0xfa, 0x23, 0xb3, 0x25, 0xd0, - 0x1e, 0x3a, 0x50, 0x95, 0xfa, 0x86, 0x59, 0x53, 0xb2, 0x1c, 0x8a, 0x36, 0x60, 0x54, 0x54, 0x74, - 0x47, 0x2c, 0x88, 0x3e, 0xc6, 0x1a, 0x0d, 0x6c, 0x14, 0x49, 0x3e, 0xe2, 0x02, 0x0b, 0x7b, 0xc1, - 0x97, 0x76, 0xc4, 0x96, 0x66, 0x56, 0xd8, 0xdd, 0x54, 0x08, 0x49, 0xb9, 0xad, 0xee, 0xc8, 0x0d, - 0x34, 0xc1, 0x5d, 0x29, 0x6f, 0x2c, 0x91, 0x3d, 0xf0, 0x6c, 0xd1, 0xd6, 0xb2, 0x48, 0xf3, 0x43, - 0x86, 0x96, 0x79, 0x25, 0xd7, 0xa5, 0x8c, 0x4c, 0xcd, 0xa9, 0x15, 0xf5, 0xd7, 0xd6, 0x8b, 0x78, - 0x9d, 0xa8, 0x49, 0xec, 0x27, 0x2a, 0x9a, 0xa6, 0x9a, 0xb6, 0x6a, 0xaf, 0x36, 0xb2, 0x73, 0xc9, - 0x75, 0x4e, 0x66, 0xd7, 0xa3, 0x4e, 0x94, 0xdf, 0x2d, 0x9b, 0xfa, 0x19, 0x84, 0x60, 0x1b, 0x20, - 0x2e, 0x55, 0x0a, 0x27, 0xe3, 0x8b, 0xb7, 0x4b, 0xb6, 0x0a, 0x86, 0x42, 0x72, 0x9d, 0x83, 0x60, - 0x41, 0xdb, 0x9b, 0x87, 0xf4, 0x53, 0x7f, 0xf3, 0x0e, 0xb2, 0xc8, 0xce, 0xb4, 0x17, 0xef, 0xe1, - 0xb9, 0xc4, 0xb6, 0xb2, 0xc4, 0x45, 0x1f, 0xbb, 0x91, 0xbb, 0x22, 0x42, 0x05, 0xdb, 0xd2, 0xe7, - 0x61, 0xcf, 0xa9, 0xab, 0xa2, 0x97, 0x3d, 0xbe, 0xc7, 0x32, 0x9e, 0x9d, 0x93, 0x95, 0x98, 0x32, - 0x05, 0x1a, 0x61, 0x42, 0xf2, 0xa1, 0xb7, 0x6e, 0x57, 0xf0, 0x9e, 0xbb, 0x8a, 0x46, 0x9f, 0xa7, - 0x1e, 0x0e, 0xb8, 0xbf, 0xc2, 0x70, 0x36, 0xb3, 0xeb, 0x12, 0x8d, 0x21, 0xf1, 0x07, 0xb2, 0x03, - 0xe3, 0xb8, 0xf0, 0x5a, 0x71, 0xbb, 0xa4, 0xa1, 0x2d, 0x08, 0x16, 0x3b, 0x4a, 0x41, 0xbe, 0xc8, - 0xd8, 0x39, 0x98, 0xbc, 0x92, 0xfe, 0xf9, 0xc8, 0x38, 0x7b, 0xf8, 0xe5, 0x0a, 0x81, 0x5d, 0x95, - 0xc6, 0xa6, 0xc2, 0x26, 0x10, 0x5b, 0x25, 0xca, 0x14, 0x4b, 0xec, 0x30, 0x5f, 0xb7, 0x95, 0xb1, - 0x86, 0x3b, 0x57, 0x91, 0x34, 0x08, 0xdc, 0x9a, 0x0c, 0x54, 0x47, 0xd9, 0x02, 0x79, 0x4e, 0x96, - 0x1e, 0x14, 0x3f, 0x0b, 0xaa, 0x85, 0x2d, 0xb9, 0xa5, 0xd2, 0x90, 0xcc, 0x10, 0x2f, 0xaa, 0x1c, - 0xe5, 0x57, 0x98, 0x55, 0x9e, 0x24, 0x61, 0xac, 0x04, 0xf2, 0x1c, 0x8a, 0xc6, 0x28, 0xbb, 0xed, - 0xb7, 0xfd, 0x03, 0xaa, 0x11, 0x1f, 0x75, 0xa8, 0x74, 0xb0, 0xc4, 0x30, 0x48, 0xa3, 0x16, 0x4a, - 0x15, 0xcf, 0x79, 0x44, 0xb2, 0xd3, 0x00, 0xc4, 0x79, 0xd4, 0x5f, 0xeb, 0x93, 0x20, 0x22, 0xde, - 0xd6, 0x91, 0xfa, 0x73, 0xa2, 0xcf, 0x5f, 0x2a, 0x97, 0x62, 0x5d, 0x42, 0xf1, 0x2c, 0xb1, 0x42, - 0xb1, 0xf0, 0xcf, 0x09, 0xc5, 0x55, 0xca, 0x05, 0x59, 0xce, 0xa2, 0x89, 0x7f, 0x57, 0x82, 0xc6, - 0x4b, 0xcc, 0xc5, 0x57, 0xc7, 0x99, 0xc7, 0xc4, 0x71, 0x75, 0xb4, 0x65, 0x4e, 0x46, 0x23, 0xc5, - 0x1d, 0x23, 0x12, 0xf4, 0x64, 0x0a, 0xec, 0x8b, 0x16, 0x7e, 0x53, 0xe6, 0xac, 0xc4, 0xa8, 0x2d, - 0x2b, 0x3d, 0x79, 0x64, 0xd5, 0xae, 0x3a, 0xa6, 0xe5, 0xe7, 0x4b, 0x8a, 0x7e, 0x90, 0xf7, 0x19, - 0x3f, 0xb6, 0xe5, 0x5a, 0xf1, 0x38, 0x5a, 0xc0, 0x4d, 0x52, 0x10, 0xe8, 0x23, 0x06, 0x0e, 0x5d, - 0x77, 0x68, 0x3d, 0xdd, 0x3b, 0x46, 0x4d, 0xf2, 0x06, 0xdf, 0x33, 0x97, 0x57, 0x17, 0x71, 0x57, - 0xee, 0x08, 0xff, 0x80, 0x49, 0x15, 0xa1, 0xc2, 0x32, 0x6d, 0x99, 0x02, 0x76, 0x3f, 0x4c, 0x25, - 0x96, 0x34, 0x1f, 0x6d, 0x17, 0xc5, 0x18, 0x33, 0xac, 0x92, 0xa8, 0x83, 0xfa, 0xa3, 0x58, 0x3f, - 0x05, 0x26, 0x09, 0x41, 0xf9, 0x39, 0xff, 0xa4, 0x5d, 0xf4, 0xd9, 0x09, 0x92, 0x65, 0x37, 0xa2, - 0xca, 0xcb, 0x3a, 0x08, 0x63, 0x36, 0x2d, 0x87, 0xbb, 0x48, 0x76, 0x2d, 0x88, 0x5c, 0x8d, 0x99, - 0x05, 0x08, 0x71, 0x4f, 0x55, 0xb4, 0xee, 0xd2, 0x54, 0x08, 0x72, 0xe2, 0x12, 0x63, 0x08, 0xb1, - 0x14, 0x38, 0xe8, 0xb2, 0x47, 0x41, 0x0c, 0xab, 0xed, 0x94, 0x48, 0xcb, 0xa3, 0xb6, 0xdc, 0x22, - 0xb5, 0x7f, 0x96, 0x08, 0xec, 0x9a, 0x45, 0x31, 0x64, 0x2e, 0xc6, 0x0d, 0x50, 0xa0, 0x26, 0xab, - 0xba, 0x8e, 0xbb, 0x2a, 0x26, 0x08, 0x44, 0x1a, 0x34, 0x23, 0xac, 0x2b, 0x0d, 0x74, 0x0b, 0x97, - 0x5e, 0x65, 0x02, 0x52, 0x51, 0xcb, 0x2d, 0xa1, 0xe8, 0x7a, 0xd9, 0x94, 0xe1, 0x12, 0xf6, 0xd4, - 0x3e, 0x8f, 0x84, 0x8e, 0x70, 0x5b, 0x1c, 0x1a, 0xe4, 0xc9, 0x05, 0x16, 0x81, 0x99, 0x20, 0xc7, - 0x61, 0x28, 0xc5, 0x30, 0xd2, 0x72, 0x3b, 0xb8, 0x02, 0xf9, 0xdb, 0x2c, 0x15, 0x31, 0xde, 0xb1, - 0xbb, 0x4a, 0x71, 0x07, 0x25, 0x2a, 0x60, 0x19, 0x4b, 0x21, 0x8c, 0x46, 0xe4, 0x62, 0x84, 0xef, - 0x18, 0xbf, 0xf1, 0x22, 0x2d, 0x9b, 0x2a, 0xa2, 0xe4, 0x76, 0x59, 0x02, 0x9c, 0xab, 0x55, 0x3a, - 0x0d, 0xc3, 0x53, 0xcc, 0x87, 0x1b, 0x23, 0xbe, 0x08, 0x15, 0x3c, 0x7d, 0x2b, 0xeb, 0xea, 0x5b, - 0x21, 0x65, 0x1d, 0xb7, 0xe9, 0x7d, 0x4a, 0x21, 0x23, 0xb1, 0x59, 0xe1, 0x48, 0x8e, 0xf9, 0xf2, - 0xf2, 0x1d, 0xb3, 0xad, 0xf3, 0x49, 0x2d, 0x37, 0x1a, 0x1f, 0x19, 0x0a, 0xea, 0x26, 0x09, 0x8c, - 0xa3, 0xb3, 0x14, 0xbb, 0x17, 0xee, 0xc2, 0x47, 0x02, 0x07, 0x7d, 0x20, 0x57, 0x84, 0x11, 0x8a, - 0x5e, 0xa8, 0xf7, 0x16, 0x8d, 0xb7, 0x6c, 0xfb, 0xfb, 0xff, 0x64, 0x55, 0x17, 0x71, 0xa3, 0x84, - 0x93, 0xc4, 0xa5, 0xb0, 0x10, 0xbb, 0xef, 0x07, 0x96, 0x85, 0xc3, 0xf9, 0x23, 0x40, 0xcc, 0x89, - 0xe6, 0x42, 0x63, 0x94, 0xfd, 0x77, 0x8c, 0x54, 0x55, 0xbb, 0x9f, 0x0a, 0xe8, 0x8c, 0xb8, 0x7c, - 0x97, 0xc9, 0x1a, 0xe6, 0x49, 0x1c, 0x5b, 0x5d, 0x99, 0x00, 0xce, 0xf3, 0x70, 0xb8, 0x35, 0x86, - 0x8b, 0xfb, 0x98, 0x15, 0x7d, 0xad, 0x33, 0x3d, 0x0d, 0x34, 0x5a, 0x26, 0x68, 0x34, 0x9f, 0x0f, - 0x69, 0xc5, 0xa4, 0x98, 0xaf, 0x8c, 0x55, 0x83, 0xf5, 0x07, 0xf9, 0xc2, 0xf7, 0xba, 0x92, 0x1d, - 0x83, 0x8e, 0x0d, 0xea, 0xe3, 0x34, 0xd0, 0x54, 0x97, 0x99, 0xbc, 0xcb, 0xc6, 0x8c, 0xfb, 0xe5, - 0xa1, 0xf5, 0xe8, 0x5e, 0x2c, 0x5b, 0xcc, 0x0f, 0xe2, 0x17, 0x88, 0x02, 0x48, 0xc8, 0xe0, 0x6e, - 0xa0, 0x13, 0xf6, 0xa5, 0xa6, 0x02, 0x63, 0x01, 0x0b, 0xf1, 0xa9, 0x24, 0x25, 0xb6, 0x6c, 0x34, - 0x11, 0x86, 0xc8, 0x76, 0xec, 0xe5, 0xa8, 0xd7, 0xc0, 0x8a, 0x86, 0x12, 0x13, 0x6b, 0x29, 0xe0, - 0x7d, 0x29, 0x76, 0x56, 0x06, 0xad, 0x6f, 0x39, 0x66, 0xaf, 0xcb, 0x9e, 0x47, 0x08, 0xe2, 0x94, - 0xfd, 0xfd, 0x0d, 0x36, 0x1e, 0xba, 0x67, 0xbd, 0xbb, 0x31, 0x17, 0xf1, 0x7b, 0xf8, 0x1e, 0xd7, - 0x44, 0xd4, 0x40, 0xe6, 0xa8, 0x00, 0xd9, 0x7d, 0x16, 0xd2, 0x28, 0x83, 0x8c, 0x55, 0x21, 0x3e, - 0xbe, 0x13, 0x32, 0x8a, 0x80, 0xa5, 0x8c, 0x3b, 0x83, 0x57, 0x2d, 0xa4, 0xba, 0x22, 0xf7, 0x90, - 0x88, 0x67, 0x57, 0xcb, 0xf5, 0x37, 0x00, 0xc2, 0xb6, 0xff, 0xe2, 0x76, 0x8f, 0x5b, 0xaa, 0x2f, - 0xd2, 0xda, 0x41, 0x80, 0xda, 0x96, 0x3b, 0x27, 0x08, 0x94, 0x54, 0x98, 0xbb, 0xb0, 0xd2, 0x97, - 0x18, 0x42, 0x05, 0xee, 0xc7, 0x08, 0xd2, 0xbe, 0x3e, 0xe4, 0x2a, 0x48, 0x6e, 0xab, 0xd0, 0x91, - 0x87, 0x3f, 0x3e, 0xc6, 0xb4, 0xc8, 0x8a, 0x1c, 0xc6, 0x47, 0x4b, 0xb7, 0x1e, 0xa3, 0x91, 0xb5, - 0x7f, 0xcb, 0x10, 0x92, 0x60, 0xd8, 0x03, 0x08, 0x42, 0x53, 0x9d, 0x35, 0x4b, 0x98, 0x30, 0x6e, - 0xe9, 0x03, 0x2f, 0xd6, 0xb2, 0x63, 0x93, 0x41, 0x77, 0xbe, 0xac, 0xcb, 0x2c, 0x42, 0x61, 0x08, - 0x84, 0xb6, 0xff, 0xbd, 0x44, 0x9f, 0x70, 0x6e, 0x00, 0xf0, 0x5a, 0xf3, 0xde, 0x6f, 0xc4, 0x8b, - 0xd9, 0xf0, 0xeb, 0x7d, 0x46, 0xc1, 0x0d, 0xbb, 0xcb, 0x29, 0x1b, 0x44, 0x9b, 0xa4, 0x33, 0xa0, - 0xe2, 0x0e, 0x49, 0x30, 0x4a, 0x85, 0x80, 0x74, 0xd9, 0x60, 0xb9, 0xad, 0x46, 0x55, 0xd7, 0x70, - 0xa4, 0x07, 0xb0, 0x1f, 0x0c, 0x4f, 0x8e, 0xda, 0xfb, 0xf1, 0xfd, 0x01, 0x0a, 0x86, 0x93, 0x2f, - 0xcc, 0x97, 0x8d, 0x1c, 0x77, 0xe5, 0xc8, 0x17, 0x30, 0xfe, 0x9c, 0x1c, 0x39, 0x5b, 0x95, 0xb7, - 0x22, 0xdd, 0x65, 0x03, 0x6e, 0x89, 0x48, 0xde, 0x76, 0x2d, 0x83, 0x92, 0xc7, 0x83, 0x85, 0xe5, - 0x30, 0x96, 0xea, 0x56, 0xe9, 0xf3, 0x5e, 0x4e, 0x32, 0x13, 0x83, 0xa1, 0x26, 0xf3, 0x32, 0xc4, - 0x8b, 0x74, 0xfd, 0x1b, 0x44, 0x0f, 0xb4, 0x7c, 0x66, 0xc1, 0x69, 0x7b, 0xbe, 0x45, 0x76, 0x7f, - 0x36, 0x6d, 0x82, 0x02, 0x43, 0x56, 0xdf, 0xf9, 0x27, 0x4e, 0x5f, 0x88, 0x4b, 0xb6, 0x46, 0x2d, - 0x72, 0x46, 0x66, 0xbd, 0xb2, 0x5d, 0xb0, 0xa3, 0xb6, 0x6d, 0x96, 0x1e, 0x9f, 0xe8, 0x13, 0xe4, - 0x70, 0x0b, 0x96, 0xf1, 0xcb, 0xb8, 0x60, 0x86, 0x53, 0x49, 0x69, 0x2e, 0x6d, 0x53, 0x59, 0x15, - 0x2b, 0x64, 0x4b, 0xde, 0x7c, 0xad, 0x04, 0xb1, 0x6f, 0xa0, 0x57, 0x60, 0x0d, 0xc1, 0x8f, 0xf4, - 0x31, 0x48, 0x03, 0xb1, 0x4e, 0x88, 0xc0, 0xa5, 0x9a, 0x06, 0x3d, 0xad, 0xc6, 0x2a, 0x1a, 0x9e, - 0xcf, 0x8b, 0x88, 0xc5, 0x28, 0xea, 0x4b, 0x3a, 0x51, 0xbc, 0x4b, 0xcc, 0x63, 0x55, 0x0a, 0x58, - 0xb5, 0x6f, 0xc9, 0x33, 0x12, 0xf9, 0xe3, 0x86, 0x6d, 0xc4, 0x27, 0x2f, 0xd2, 0x5a, 0x5b, 0xdb, - 0xd2, 0x3e, 0x1e, 0xf7, 0x90, 0xf8, 0xa7, 0xb5, 0xec, 0x15, 0x68, 0x06, 0x52, 0xbd, 0x18, 0x56, - 0x61, 0x72, 0xfe, 0xb4, 0xcd, 0x97, 0xff, 0x15, 0x77, 0xc4, 0x4a, 0x53, 0x6d, 0x67, 0xd9, 0x5c, - 0xfe, 0x70, 0xec, 0xdd, 0x09, 0xe1, 0xc7, 0x98, 0x92, 0x68, 0xba, 0x98, 0xa3, 0x36, 0x9a, 0xed, - 0x1c, 0xcf, 0x63, 0x02, 0x6b, 0x57, 0xee, 0xca, 0x2c, 0x33, 0x6c, 0x54, 0x8d, 0xfd, 0x7c, 0xc0, - 0x6a, 0x94, 0x3d, 0x63, 0xc2, 0xb3, 0x6b, 0x6c, 0x04, 0xb7, 0x18, 0xe7, 0x60, 0x0a, 0x05, 0x6b, - 0x7a, 0xee, 0x3a, 0x82, 0x56, 0x78, 0x2d, 0xa5, 0x16, 0x80, 0xd2, 0x9d, 0xc7, 0x6e, 0x84, 0x2f, - 0xbc, 0x90, 0x6d, 0x12, 0x06, 0x4e, 0x25, 0x3e, 0x48, 0x5f, 0x27, 0xf1, 0xa3, 0xa3, 0xc9, 0xb6, - 0xfd, 0x67, 0xdd, 0x3b, 0x7c, 0xf3, 0x33, 0x29, 0x90, 0xd6, 0xd7, 0x16, 0x89, 0xeb, 0x03, 0x17, - 0x05, 0x0f, 0x06, 0x56, 0xf0, 0x30, 0x89, 0xbe, 0xfc, 0x61, 0x12, 0x63, 0x8c, 0xfc, 0xd8, 0xcc, - 0xa8, 0xb9, 0xbf, 0xec, 0xf5, 0x26, 0x60, 0x07, 0x64, 0x88, 0xac, 0xe3, 0xeb, 0xfc, 0xa8, 0xe1, - 0x9a, 0x82, 0xfb, 0x4a, 0x46, 0x71, 0xce, 0x86, 0x4b, 0xfa, 0x21, 0x9c, 0xa8, 0xce, 0xc4, 0x84, - 0x6f, 0x2e, 0x68, 0xc8, 0x3c, 0xe7, 0x37, 0xb5, 0x92, 0x7c, 0x6e, 0x1c, 0xb4, 0xe4, 0x2d, 0x6e, - 0x6e, 0x1c, 0x3e, 0x4e, 0x06, 0x2e, 0x06, 0x8f, 0x72, 0x7e, 0x39, 0x9f, 0x82, 0x17, 0xd4, 0xc6, - 0x98, 0xfd, 0xb5, 0xd5, 0x23, 0x05, 0x22, 0xf5, 0x49, 0xaa, 0x77, 0x20, 0xc3, 0x9b, 0xf9, 0xfe, - 0xd1, 0xf3, 0x38, 0x6b, 0x07, 0x2b, 0xac, 0x35, 0x06, 0x97, 0x4d, 0xbd, 0xbf, 0x2b, 0xaf, 0xa0, - 0x27, 0x58, 0x5c, 0xc6, 0x31, 0x9b, 0x8d, 0xc5, 0x58, 0xfd, 0x38, 0xaa, 0xbd, 0x05, 0xe1, 0x1d, - 0x0b, 0x72, 0xde, 0x22, 0x06, 0x1b, 0x48, 0x5e, 0x66, 0xb7, 0xb0, 0xe2, 0x1c, 0x3a, 0x34, 0x16, - 0x77, 0xde, 0x84, 0x35, 0x5c, 0x71, 0x32, 0x93, 0x1d, 0x88, 0x88, 0x65, 0xe5, 0xcd, 0xfb, 0xa8, - 0xc4, 0x8f, 0x91, 0x16, 0xf1, 0x2e, 0x89, 0x75, 0x9b, 0x42, 0x7f, 0x93, 0xbe, 0x71, 0xb8, 0x2f, - 0x39, 0x7e, 0x96, 0xe2, 0xbb, 0x57, 0xd4, 0x73, 0x77, 0x90, 0x62, 0xf3, 0x70, 0x3a, 0x54, 0x81, - 0xa2, 0x1d, 0x65, 0x60, 0x68, 0x24, 0xea, 0x76, 0x60, 0x4c, 0xf4, 0xe4, 0xfa, 0x69, 0x8d, 0x6a, - 0x85, 0x4a, 0x4e, 0xa6, 0x32, 0xc7, 0x57, 0x88, 0x02, 0x1d, 0x33, 0x8c, 0x64, 0x3b, 0x48, 0xf0, - 0x76, 0x2f, 0xd6, 0x04, 0xa9, 0xae, 0x0b, 0x8a, 0xa7, 0xd1, 0x96, 0x5c, 0xb0, 0x0b, 0xe6, 0x76, - 0xce, 0xfd, 0x13, 0xfb, 0x62, 0x88, 0x0e, 0xc7, 0xce, 0x36, 0x0f, 0xb3, 0x38, 0x9d, 0x98, 0x5e, - 0x5c, 0x49, 0x9e, 0x95, 0xee, 0x7f, 0x2f, 0x6b, 0xac, 0x9e, 0x4c, 0x61, 0x0f, 0x4f, 0x32, 0xa1, - 0x29, 0x41, 0xa2, 0x47, 0xc4, 0x20, 0xc5, 0x6e, 0xdb, 0xa1, 0x57, 0x84, 0x21, 0x64, 0x84, 0x05, - 0xdd, 0x46, 0xb4, 0x56, 0x81, 0x06, 0xc3, 0xc6, 0x69, 0x02, 0xac, 0x72, 0xc5, 0x1c, 0xe7, 0xb4, - 0xde, 0xd9, 0xae, 0xfa, 0x2b, 0xa0, 0x4b, 0xc3, 0x02, 0xab, 0x44, 0x40, 0x5c, 0x4e, 0x43, 0x38, - 0xdd, 0x54, 0xfc, 0x1b, 0x22, 0x1b, 0xdb, 0xfd, 0xb0, 0xe8, 0x79, 0x2f, 0x8a, 0xae, 0xd6, 0x1f, - 0xb7, 0x33, 0x60, 0x1a, 0x52, 0xa8, 0x85, 0xa8, 0x39, 0x0b, 0x16, 0xbf, 0x6c, 0x79, 0x87, 0xe0, - 0x31, 0xf0, 0x2e, 0x3d, 0x00, 0xdb, 0x9c, 0x4a, 0x02, 0xf6, 0x30, 0x99, 0xb4, 0x6e, 0x07, 0xa7, - 0xed, 0x3b, 0x11, 0xa8, 0x01, 0xc2, 0x04, 0x13, 0x78, 0x97, 0x4b, 0xcc, 0xfd, 0x0b, 0x27, 0xe2, - 0x72, 0xdd, 0x58, 0x8b, 0x48, 0xec, 0x48, 0x6c, 0x41, 0x1a, 0x28, 0xb0, 0x2c, 0x39, 0xec, 0x76, - 0x10, 0x80, 0x97, 0x96, 0x96, 0x7d, 0x94, 0xab, 0x5b, 0x5b, 0x3a, 0x2e, 0xc9, 0xb4, 0x39, 0x48, - 0x2e, 0xfe, 0x63, 0x08, 0x0c, 0x27, 0x73, 0x30, 0xb5, 0x39, 0x58, 0x60, 0x38, 0x18, 0x26, 0x2e, - 0xe1, 0xe9, 0x0e, 0xba, 0x92, 0x9c, 0x33, 0x01, 0x09, 0xb4, 0xa5, 0x54, 0x4c, 0x90, 0xd0, 0xfa, - 0x00, 0x21, 0xaf, 0x0f, 0xbf, 0x7d, 0x36, 0xf2, 0x51, 0xc2, 0x73, 0xec, 0x73, 0xf6, 0xe0, 0x28, - 0xcd, 0x29, 0x07, 0x31, 0x42, 0xee, 0x1d, 0x15, 0x65, 0x1a, 0x0c, 0x4c, 0x4b, 0x5d, 0x75, 0x86, - 0xe1, 0x19, 0xb7, 0xa6, 0x93, 0x1c, 0x3a, 0x3e, 0x7c, 0x4c, 0x5c, 0x88, 0x3f, 0x5b, 0xb9, 0x80, - 0x6e, 0xb2, 0xa4, 0x9b, 0xea, 0x9b, 0x03, 0xb9, 0x12, 0xba, 0x8d, 0xe7, 0x9f, 0x88, 0x5e, 0x5d, - 0x0e, 0xcf, 0xf5, 0x76, 0x75, 0x85, 0xe8, 0x2e, 0x2f, 0x13, 0xfc, 0x1b, 0xc4, 0xba, 0x0a, 0xb1, - 0xd1, 0xac, 0x39, 0xf4, 0x70, 0xae, 0x03, 0x3b, 0x8f, 0x05, 0x00, 0x40, 0x4a, 0xad, 0x0b, 0x12, - 0x76, 0xfd, 0x59, 0x94, 0x8b, 0xb9, 0x4a, 0xfc, 0x98, 0x64, 0x8b, 0xe9, 0xe2, 0xbf, 0x22, 0x97, - 0x76, 0xe4, 0xdd, 0x51, 0xf1, 0x82, 0x50, 0xd8, 0x00, 0x5b, 0xc6, 0x82, 0xa3, 0xc1, 0x28, 0x64, - 0x8a, 0xc6, 0x07, 0x02, 0x30, 0xc1, 0x2d, 0x11, 0x51, 0xb0, 0x0c, 0x69, 0x70, 0xe8, 0x58, 0x62, - 0x06, 0xe7, 0x13, 0xf0, 0xe7, 0xd3, 0x52, 0x39, 0x1e, 0x81, 0x35, 0x9d, 0x14, 0xf3, 0x71, 0x9d, - 0x94, 0x30, 0xc6, 0xe6, 0xf7, 0x08, 0x1c, 0xc4, 0x77, 0x8b, 0x64, 0xf7, 0x62, 0x69, 0x32, 0x48, - 0x79, 0x02, 0xf8, 0xaa, 0xc3, 0xa8, 0xf6, 0x01, 0xa8, 0x41, 0x9f, 0x39, 0x94, 0xea, 0x1f, 0xce, - 0x8b, 0x84, 0x17, 0xaf, 0x38, 0xa3, 0x4a, 0xa2, 0xb3, 0xdd, 0x50, 0x20, 0x26, 0x12, 0x23, 0x3e, - 0x3e, 0x21, 0x9b, 0x67, 0x4e, 0xff, 0x71, 0x6b, 0xe6, 0xd4, 0x72, 0x8c, 0x7a, 0x68, 0xfb, 0xa6, - 0x4c, 0xe2, 0xb5, 0x62, 0x8e, 0xaf, 0xcd, 0x7d, 0x5f, 0xfa, 0xc2, 0xdf, 0xaf, 0x08, 0x80, 0x0f, - 0x6d, 0xdd, 0xa0, 0x60, 0x48, 0x2e, 0xdf, 0x0c, 0xc2, 0xdc, 0x0a, 0xf2, 0x99, 0x4d, 0x48, 0x77, - 0xab, 0x58, 0xf0, 0xf7, 0x92, 0x22, 0xa4, 0x89, 0xd9, 0xbe, 0xf3, 0x26, 0xe1, 0x0a, 0xc5, 0xdb, - 0xdf, 0xd4, 0x0d, 0x7c, 0xb1, 0xcc, 0x28, 0x97, 0x7d, 0x73, 0x7d, 0x59, 0xc3, 0xf6, 0x0f, 0x28, - 0x4f, 0x69, 0xf4, 0x09, 0xb9, 0x7a, 0x9c, 0x5c, 0xa5, 0xec, 0x5f, 0xa9, 0x9c, 0xee, 0x28, 0xb7, - 0x1e, 0xa4, 0xc1, 0x31, 0x1d, 0x3f, 0x78, 0x0f, 0xc7, 0x96, 0xdd, 0x89, 0x62, 0xb5, 0x7b, 0x58, - 0xa7, 0x17, 0x5f, 0x5f, 0x3b, 0xca, 0x3e, 0xa8, 0x18, 0x86, 0xb5, 0x14, 0x45, 0x1f, 0x3b, 0x31, - 0x19, 0x00, 0x32, 0xee, 0x87, 0x24, 0xf0, 0xaa, 0x24, 0xf8, 0x01, 0x89, 0xc4, 0xa9, 0xdd, 0x3a, - 0xdf, 0x19, 0xf3, 0x1c, 0xb1, 0x91, 0xea, 0xbc, 0x7b, 0xea, 0x96, 0xdf, 0xc6, 0x9b, 0xa6, 0x81, - 0x10, 0x1c, 0xde, 0x93, 0xce, 0xdd, 0x1d, 0xa7, 0xd3, 0xe9, 0xef, 0x19, 0x28, 0xbf, 0xcd, 0x6d, - 0x7c, 0xd7, 0x0d, 0xf7, 0x92, 0x68, 0xd2, 0x40, 0xa4, 0x22, 0x47, 0xfa, 0x82, 0x77, 0x6f, 0xf1, - 0xe0, 0xb7, 0x37, 0x5a, 0x86, 0x65, 0xcd, 0x04, 0xaf, 0x29, 0x4e, 0x57, 0x94, 0xae, 0xcd, 0x9d, - 0xc8, 0x63, 0xb9, 0x45, 0xda, 0xf9, 0x42, 0x5b, 0xfe, 0x9e, 0xf1, 0x1b, 0x0e, 0x40, 0x6b, 0xf7, - 0xf9, 0x6d, 0xb7, 0x63, 0x92, 0xb6, 0xe1, 0x76, 0xe7, 0xde, 0xeb, 0xc3, 0x93, 0x42, 0x20, 0x26, - 0x78, 0x37, 0xdf, 0xcd, 0xc6, 0xab, 0x02, 0x96, 0x53, 0x61, 0x1a, 0x60, 0x3d, 0x4c, 0xa5, 0x93, - 0x9e, 0xdb, 0x20, 0x7d, 0xd0, 0xf5, 0xc8, 0x98, 0x60, 0x7b, 0x86, 0x0e, 0xc3, 0xd6, 0x79, 0xc5, - 0x46, 0xfb, 0x7d, 0x4d, 0x21, 0xa9, 0x89, 0xa4, 0x4f, 0x1f, 0xa7, 0xaf, 0x01, 0x40, 0xaa, 0xf7, - 0x4a, 0x6e, 0xcd, 0xe1, 0xb7, 0xbf, 0x7d, 0x9d, 0x2a, 0x62, 0xb9, 0x57, 0x03, 0x52, 0xab, 0xdb, - 0xdf, 0x4d, 0x06, 0x0a, 0x7a, 0x0a, 0x9a, 0xdf, 0x26, 0xed, 0x7c, 0xcf, 0x98, 0x80, 0x0c, 0xed, - 0x2e, 0x80, 0x21, 0x00, 0xe1, 0x42, 0xe3, 0xb9, 0x8d, 0x08, 0x00, 0x17, 0x1a, 0xf4, 0x1e, 0xdf, - 0xa3, 0x24, 0x4b, 0xb5, 0x95, 0x1d, 0xe2, 0x6d, 0xdf, 0xa4, 0xc3, 0x8d, 0x75, 0x3d, 0xb6, 0x66, - 0x7a, 0x67, 0x09, 0x67, 0x4c, 0x8c, 0xed, 0x74, 0x03, 0x7b, 0xcd, 0x66, 0x8b, 0xab, 0x7b, 0xc5, - 0xaa, 0x1f, 0x61, 0xd9, 0xb2, 0x96, 0xb1, 0x3c, 0x73, 0x23, 0xc3, 0x57, 0xe2, 0x9a, 0xcf, 0x8a, - 0xab, 0x7b, 0x3d, 0x3c, 0x78, 0xdc, 0xf8, 0xa8, 0xd7, 0xe3, 0x25, 0x34, 0x8f, 0x61, 0x7d, 0x5e, - 0x8d, 0xa6, 0x58, 0x5c, 0x83, 0x26, 0x56, 0xfd, 0x70, 0x30, 0x71, 0x41, 0x89, 0x19, 0x4f, 0x4c, - 0x5e, 0x3d, 0xa4, 0x52, 0x77, 0x75, 0xaf, 0xa4, 0xea, 0x0a, 0x44, 0xbd, 0x5e, 0x36, 0xa3, 0xdf, - 0xe4, 0xa0, 0x9f, 0x51, 0xc9, 0xd8, 0x8a, 0x83, 0x57, 0x66, 0xd9, 0xfc, 0x26, 0x76, 0xbc, 0x11, - 0xc3, 0xbe, 0xeb, 0x98, 0xa9, 0x69, 0xe8, 0x3d, 0xb5, 0x1f, 0xdf, 0x33, 0x3b, 0x85, 0x3a, 0xc3, - 0xe5, 0x09, 0xd4, 0x39, 0x07, 0xb0, 0x13, 0x5f, 0xc4, 0x95, 0x28, 0xe7, 0x7c, 0x94, 0x37, 0x62, - 0xe6, 0x4d, 0x93, 0xc3, 0xfa, 0x91, 0xae, 0x19, 0x81, 0x40, 0x7a, 0xa7, 0xaa, 0x0b, 0xce, 0x6b, - 0x1f, 0xfa, 0x41, 0x17, 0x06, 0x72, 0xd7, 0xf2, 0xbe, 0x73, 0x80, 0x0d, 0x84, 0x64, 0x01, 0x5d, - 0xae, 0x7c, 0x71, 0xe5, 0xc9, 0x7d, 0x37, 0x40, 0x1f, 0xd6, 0x05, 0x6c, 0x2d, 0x42, 0x29, 0x8e, - 0xb9, 0x91, 0x89, 0x45, 0xb4, 0xaf, 0xdd, 0xe2, 0x17, 0x72, 0x50, 0x4c, 0x6c, 0xb8, 0xed, 0xc5, - 0x5e, 0x3f, 0x83, 0xcd, 0x0a, 0xa8, 0xc9, 0x7a, 0xf3, 0x97, 0xb2, 0x58, 0x0c, 0x5c, 0xe4, 0xb8, - 0x86, 0x0a, 0xf8, 0x83, 0xb8, 0x25, 0xab, 0x17, 0xc1, 0x93, 0xe6, 0x01, 0x52, 0xa4, 0x73, 0xf2, - 0x91, 0x04, 0x48, 0x54, 0x1c, 0x48, 0xc1, 0xbe, 0x0d, 0x9d, 0x14, 0xad, 0xf3, 0xf4, 0x93, 0x09, - 0xb7, 0x96, 0xac, 0x6a, 0x09, 0x67, 0xa0, 0xda, 0x90, 0x07, 0x2b, 0x45, 0x9d, 0x97, 0x0a, 0x05, - 0x80, 0x10, 0xb4, 0x98, 0x3a, 0x9f, 0xe5, 0x39, 0xf6, 0x5b, 0x05, 0x60, 0x3c, 0x6b, 0x23, 0x78, - 0xcb, 0x4a, 0x65, 0x3e, 0x0e, 0x1e, 0x77, 0x61, 0x09, 0x64, 0xb1, 0xb7, 0x16, 0x50, 0x53, 0x22, - 0x5c, 0x98, 0xea, 0x12, 0x58, 0x96, 0xe6, 0x06, 0x03, 0xe6, 0xfe, 0xa8, 0xe4, 0x3c, 0x13, 0x41, - 0xc9, 0x3b, 0x12, 0x82, 0x94, 0xc3, 0x8f, 0x31, 0xc8, 0x6d, 0x3c, 0xc1, 0xd6, 0xd6, 0x64, 0xfd, - 0x15, 0x1b, 0xa0, 0x25, 0x97, 0x1a, 0x60, 0xe0, 0xf3, 0x6f, 0x62, 0xf1, 0xe0, 0x26, 0xfc, 0x48, - 0x63, 0xb1, 0x79, 0x86, 0x95, 0xdd, 0x05, 0x9e, 0x67, 0x97, 0x3d, 0x2c, 0x04, 0xb2, 0x83, 0xac, - 0x07, 0x16, 0x93, 0xe1, 0x7e, 0x35, 0xc3, 0x1f, 0x7c, 0x58, 0x97, 0x10, 0xb1, 0xf0, 0x4a, 0x84, - 0x05, 0xc9, 0x41, 0x17, 0x3e, 0xc2, 0x52, 0x91, 0x95, 0x2a, 0x3a, 0xa0, 0x4b, 0xe3, 0x79, 0xe4, - 0x37, 0xe0, 0xf5, 0x13, 0x8c, 0x24, 0x1e, 0xf5, 0x3a, 0x22, 0x7c, 0x15, 0x1a, 0x70, 0xfa, 0xed, - 0x0c, 0xd1, 0x1b, 0xd7, 0x5c, 0xa1, 0x02, 0x4f, 0x38, 0xac, 0x62, 0xfc, 0xb0, 0x8a, 0xc8, 0xe7, - 0x8a, 0x09, 0xe4, 0xd5, 0x67, 0x2e, 0x7c, 0x1b, 0xf1, 0x03, 0xec, 0x33, 0xf0, 0x87, 0xe7, 0x80, - 0xc0, 0x16, 0xe7, 0x24, 0x72, 0xc0, 0x48, 0xe4, 0xb2, 0x15, 0x7a, 0x16, 0x8a, 0xcb, 0xd1, 0x43, - 0x51, 0x3d, 0xae, 0x20, 0xd1, 0xc3, 0x4c, 0x5c, 0xb1, 0x8c, 0x65, 0xe0, 0xa1, 0xec, 0x9e, 0xbf, - 0xe2, 0x71, 0x45, 0x0a, 0x8d, 0x26, 0xde, 0xc3, 0xe5, 0x8f, 0x54, 0x70, 0x18, 0x9b, 0xdf, 0x3e, - 0x1a, 0xc1, 0xc4, 0xc7, 0xdc, 0xe5, 0x29, 0x6f, 0x53, 0xca, 0x6f, 0xc4, 0x92, 0xfe, 0xb3, 0x94, - 0x6f, 0x2d, 0x53, 0x7e, 0x23, 0x44, 0xfa, 0x16, 0x9d, 0x56, 0xab, 0x29, 0x0f, 0x7a, 0xec, 0x0a, - 0xca, 0x6f, 0x78, 0x33, 0x4a, 0x8c, 0x21, 0xfe, 0xff, 0x94, 0xf6, 0x5f, 0x65, 0x59, 0xe6, 0x44, - 0x97, 0x9c, 0x71, 0xd4, 0xdc, 0x88, 0x23, 0x67, 0x4b, 0x76, 0xdc, 0x70, 0xd3, 0x55, 0x54, 0x1d, - 0xc7, 0xf3, 0xf3, 0xc6, 0x6f, 0x51, 0xf5, 0xfe, 0x23, 0xaa, 0xde, 0xff, 0x5b, 0xa9, 0xfa, 0x79, - 0xfa, 0xdc, 0x63, 0xdb, 0x19, 0x76, 0xcd, 0x88, 0xa7, 0xd2, 0xeb, 0x3f, 0xc1, 0x7b, 0xa7, 0x1f, - 0x51, 0xe9, 0xf4, 0x13, 0x54, 0xaa, 0x64, 0x5d, 0x3a, 0x65, 0x2b, 0xe2, 0x2a, 0x52, 0x15, 0x0b, - 0x05, 0xf1, 0x1f, 0x22, 0xd0, 0xa9, 0xa2, 0x8d, 0x55, 0x3d, 0x73, 0xab, 0x0c, 0x41, 0xf5, 0x46, - 0x66, 0x5a, 0x39, 0x3d, 0xdd, 0x83, 0x7d, 0x21, 0x99, 0x6c, 0xad, 0x11, 0x96, 0x9f, 0xa5, 0xda, - 0xcd, 0xb2, 0x50, 0x0e, 0x0b, 0xcb, 0x9b, 0x7e, 0xfb, 0x23, 0xba, 0x91, 0x55, 0xd0, 0xe3, 0xae, - 0x8d, 0x7f, 0x60, 0x15, 0x5c, 0x43, 0xb1, 0x1b, 0x10, 0x92, 0x08, 0x89, 0xae, 0x68, 0xab, 0x48, - 0xd5, 0xff, 0x27, 0xe6, 0xdc, 0xe1, 0x47, 0xdc, 0xf4, 0xbb, 0x74, 0x89, 0x9f, 0x75, 0x7f, 0x87, - 0x2e, 0x71, 0x64, 0xd9, 0x38, 0xb4, 0x14, 0x45, 0xff, 0x88, 0x32, 0xed, 0x7f, 0x62, 0x75, 0xdd, - 0xfd, 0x60, 0x75, 0x75, 0x09, 0xb3, 0xf1, 0xf7, 0x28, 0xb3, 0x4c, 0x98, 0x8d, 0xff, 0x19, 0x65, - 0x76, 0xa1, 0x3d, 0x8f, 0x2e, 0x1b, 0x51, 0xc2, 0x44, 0xe8, 0x33, 0x59, 0x43, 0x1f, 0x92, 0x3f, - 0x50, 0xdb, 0xa8, 0x2b, 0x7e, 0x9a, 0x56, 0x0f, 0x1f, 0xd0, 0xea, 0xe1, 0xff, 0x26, 0x4a, 0x3d, - 0xa0, 0x5b, 0x64, 0x25, 0xa9, 0x7c, 0x1a, 0xb4, 0x65, 0xed, 0xef, 0xc8, 0x9c, 0x0d, 0x86, 0x2c, - 0x8d, 0x38, 0xb2, 0xb0, 0xea, 0xb7, 0xac, 0x61, 0x78, 0x34, 0x51, 0xb5, 0xd3, 0x04, 0xcf, 0x18, - 0x85, 0x5b, 0xfc, 0x47, 0x14, 0x6e, 0x42, 0x8e, 0x8d, 0x35, 0xf4, 0x68, 0x53, 0x58, 0x56, 0x91, - 0x83, 0x9c, 0xf0, 0x89, 0x0e, 0x00, 0x24, 0x06, 0xd6, 0xcc, 0xa6, 0xd9, 0x4c, 0xf0, 0xa8, 0xd4, - 0xc1, 0x3f, 0x7c, 0x72, 0x93, 0x23, 0x5f, 0xc8, 0xab, 0xf3, 0x20, 0xc8, 0x7c, 0x5b, 0x69, 0xf9, - 0x68, 0xa9, 0xd2, 0x65, 0xb4, 0x3a, 0x06, 0x97, 0xd8, 0x96, 0xe5, 0x70, 0xcb, 0x97, 0x9e, 0x90, - 0x59, 0xd5, 0xba, 0x57, 0x65, 0x7b, 0x55, 0x07, 0x1b, 0xd1, 0x1e, 0x3a, 0xe5, 0x50, 0x0f, 0x4f, - 0x8a, 0xa6, 0x19, 0x93, 0xd5, 0xe0, 0x7b, 0x35, 0xb6, 0x7d, 0xab, 0xe6, 0x23, 0x14, 0xc0, 0x5a, - 0x66, 0x3b, 0x78, 0x90, 0xad, 0x21, 0x47, 0xe8, 0xbf, 0x1e, 0x0d, 0x52, 0xed, 0xf3, 0x68, 0xe0, - 0x3f, 0x6c, 0x2f, 0xb4, 0x83, 0x35, 0xed, 0xf7, 0xe2, 0x7d, 0x65, 0xd0, 0x3a, 0x87, 0x67, 0xac, - 0xa2, 0x78, 0x88, 0x62, 0x64, 0x90, 0x77, 0x35, 0x68, 0x74, 0x1d, 0x0a, 0xcc, 0x30, 0x04, 0x16, - 0xd3, 0x5a, 0x1c, 0xc0, 0x04, 0x60, 0x71, 0xb8, 0x52, 0xc1, 0xae, 0x5b, 0x83, 0x82, 0xb8, 0x1a, - 0x85, 0x38, 0xe8, 0x43, 0x6d, 0xa3, 0xe8, 0x5c, 0xd3, 0xb6, 0x88, 0x6d, 0x7f, 0x92, 0x49, 0xb1, - 0xe5, 0x4e, 0x99, 0x69, 0xbb, 0x39, 0x93, 0xf5, 0xf5, 0x84, 0x21, 0x15, 0x3e, 0x3b, 0xb6, 0x62, - 0x19, 0x29, 0xc3, 0xb4, 0x4f, 0xd6, 0xc3, 0x75, 0xc0, 0xd3, 0x0a, 0x9f, 0xe4, 0x50, 0x4b, 0xef, - 0xb2, 0x53, 0x57, 0xd6, 0xbb, 0xc6, 0xf0, 0x53, 0xd6, 0x85, 0x63, 0x70, 0x44, 0xfb, 0x45, 0xcb, - 0x42, 0x30, 0xc8, 0xc4, 0x24, 0x06, 0x9e, 0xd0, 0x47, 0xf8, 0x88, 0x41, 0x27, 0x98, 0x23, 0xcb, - 0xd4, 0x94, 0x15, 0x67, 0xb8, 0xb7, 0xb2, 0x59, 0xe2, 0xde, 0xd8, 0xb8, 0x59, 0xb1, 0x66, 0x75, - 0x6c, 0x8d, 0x0f, 0x7b, 0xcb, 0x20, 0x45, 0xe4, 0x19, 0x0f, 0x2d, 0x37, 0x9d, 0xda, 0xf0, 0xca, - 0x7a, 0xce, 0xa8, 0x7b, 0xbf, 0xa5, 0x19, 0x0e, 0x59, 0x69, 0xf0, 0x63, 0x83, 0x5b, 0x16, 0x11, - 0xa9, 0xe4, 0xb1, 0x1f, 0x3c, 0xb6, 0x83, 0xc7, 0x09, 0x3e, 0x6e, 0x67, 0x03, 0xaf, 0xd1, 0x46, - 0xa4, 0xd7, 0x6c, 0x6c, 0xaf, 0x71, 0x9d, 0x66, 0xc3, 0x9d, 0x6e, 0x7c, 0xd8, 0xab, 0x14, 0xef, - 0x18, 0x84, 0x4e, 0xa5, 0x60, 0x39, 0xfe, 0xa8, 0x57, 0xe9, 0x33, 0xa8, 0x6e, 0x30, 0xbd, 0xe6, - 0x96, 0x3d, 0x64, 0xbe, 0x3b, 0x8c, 0x5e, 0xb4, 0xc8, 0x0d, 0x78, 0x0f, 0x90, 0x33, 0xea, 0x5f, - 0x0b, 0xfc, 0x62, 0x44, 0x47, 0xc7, 0xb3, 0x3d, 0xd4, 0xf1, 0x15, 0xf6, 0x7b, 0xb9, 0x77, 0x92, - 0x87, 0x9d, 0x5e, 0x54, 0x75, 0x0a, 0xf9, 0x2d, 0x3d, 0x9d, 0xc2, 0x6b, 0xac, 0xe3, 0xad, 0x7a, - 0x64, 0x8d, 0x8a, 0x59, 0x46, 0x5f, 0x95, 0x59, 0xd7, 0x98, 0xe8, 0xa4, 0xf0, 0x3e, 0x46, 0x04, - 0xa0, 0x8a, 0x81, 0x3b, 0x8f, 0xde, 0xe7, 0x31, 0xeb, 0xbc, 0x01, 0xb3, 0x1c, 0x16, 0x51, 0x79, - 0xaa, 0x29, 0x7a, 0xdf, 0x19, 0xd4, 0xf9, 0x72, 0x84, 0x83, 0xb0, 0x1f, 0xbd, 0x17, 0x1a, 0x4d, - 0x7a, 0x76, 0x97, 0x01, 0x97, 0x38, 0x52, 0x94, 0xa9, 0xeb, 0x78, 0x0d, 0x7b, 0xf5, 0xbc, 0xd3, - 0xd0, 0x14, 0x95, 0x5c, 0xc5, 0xf5, 0x34, 0x2f, 0x11, 0x33, 0x9e, 0xa6, 0x3c, 0x45, 0x16, 0x83, - 0xbb, 0x96, 0x3c, 0x9c, 0x2b, 0x08, 0xe7, 0x02, 0x42, 0x08, 0xd7, 0xce, 0x91, 0xde, 0x36, 0x38, - 0xa2, 0x49, 0x71, 0xd0, 0x8c, 0xe2, 0x38, 0x4a, 0x30, 0x2c, 0x6e, 0xdb, 0x13, 0x1f, 0x3d, 0xaa, - 0xa4, 0xb0, 0x0a, 0x03, 0xbd, 0x47, 0x94, 0xeb, 0xc1, 0xac, 0x0f, 0x06, 0x80, 0x25, 0x3b, 0x13, - 0xf0, 0x53, 0xe7, 0x5b, 0xe4, 0x7e, 0xf3, 0x40, 0xb3, 0xdb, 0xa4, 0x17, 0x9e, 0x13, 0xed, 0x45, - 0xe0, 0xdd, 0x18, 0x35, 0x14, 0x1f, 0x30, 0xff, 0x48, 0x08, 0xd2, 0xca, 0x12, 0xcb, 0x7c, 0x12, - 0x5c, 0xd0, 0xc2, 0x4e, 0x5f, 0x4c, 0xd5, 0x5d, 0x47, 0x24, 0x25, 0x71, 0xb9, 0xe7, 0x71, 0x4b, - 0x94, 0x5c, 0xfe, 0xdd, 0xeb, 0x9e, 0x57, 0x3a, 0x4b, 0x4b, 0x6e, 0x44, 0x05, 0x89, 0x07, 0x86, - 0x3f, 0x18, 0xf8, 0x12, 0x26, 0x0c, 0xee, 0xeb, 0x91, 0x6f, 0x8c, 0xe3, 0x38, 0xf9, 0x63, 0x4e, - 0x03, 0x6c, 0x48, 0xcc, 0x31, 0x33, 0x2a, 0xf8, 0x85, 0xd7, 0x2b, 0x4a, 0x7b, 0xe2, 0x9d, 0x5f, - 0x6a, 0x88, 0xf1, 0x1f, 0x86, 0xcc, 0x3d, 0x2f, 0x08, 0x0f, 0x32, 0xdc, 0x2d, 0xb3, 0x74, 0x3a, - 0xcd, 0x2d, 0x69, 0xee, 0x04, 0x86, 0x58, 0x4d, 0x7e, 0x23, 0xe2, 0x81, 0xf6, 0xee, 0x68, 0x14, - 0xa9, 0x0b, 0xda, 0xe5, 0xf3, 0x18, 0xde, 0xa6, 0x23, 0x4c, 0xf3, 0xd9, 0x15, 0x26, 0x76, 0x07, - 0x20, 0x01, 0xaf, 0x3b, 0xe4, 0xcb, 0xdd, 0xe4, 0x73, 0xdc, 0xf0, 0xa6, 0x9a, 0x55, 0x1e, 0x3f, - 0xcf, 0x9d, 0xe9, 0x00, 0x29, 0xd3, 0x03, 0x67, 0x18, 0xb3, 0x35, 0x10, 0x99, 0x1a, 0xd9, 0xb2, - 0x1c, 0x9d, 0x1a, 0xab, 0xc1, 0xdb, 0x58, 0x05, 0x9f, 0xcb, 0xe2, 0xf6, 0x1e, 0x48, 0xae, 0xba, - 0x3e, 0xd2, 0x34, 0x01, 0x41, 0xd5, 0x5a, 0x0e, 0x2c, 0x38, 0x7d, 0x25, 0x6d, 0x29, 0x43, 0x63, - 0xac, 0x1c, 0x3b, 0xca, 0x30, 0xc1, 0x4f, 0x34, 0x05, 0x47, 0x65, 0xca, 0x27, 0x61, 0x45, 0x7a, - 0x1b, 0x29, 0xb6, 0x73, 0x62, 0x1b, 0x7a, 0x62, 0x6e, 0x0d, 0x11, 0xe8, 0xea, 0x17, 0x31, 0xfc, - 0x65, 0x5b, 0x76, 0x10, 0x05, 0xa9, 0x20, 0x0a, 0x6c, 0x02, 0x76, 0x07, 0x3c, 0xbb, 0x11, 0xe5, - 0xb9, 0x30, 0x8a, 0x62, 0xae, 0xb4, 0x7e, 0xf6, 0xb3, 0x23, 0x87, 0x7c, 0xb8, 0x4f, 0xee, 0xc2, - 0xfd, 0xc8, 0xd5, 0xec, 0xdf, 0x98, 0xcb, 0x73, 0x34, 0x88, 0x19, 0x77, 0x08, 0x46, 0x8a, 0xef, - 0x79, 0xee, 0xc8, 0xfa, 0x58, 0xb6, 0xa9, 0xd1, 0x41, 0x9f, 0xf1, 0x43, 0xd6, 0x0c, 0x7f, 0xb6, - 0xd5, 0x3e, 0xa6, 0xb8, 0xfb, 0x28, 0x19, 0x5a, 0xc6, 0x55, 0xc2, 0xc8, 0x9f, 0xc8, 0xf4, 0xe8, - 0x4d, 0x89, 0x0f, 0x61, 0x49, 0xfe, 0x77, 0xe9, 0x02, 0x80, 0x5f, 0x4e, 0x71, 0x57, 0x00, 0x8a, - 0x00, 0x37, 0x74, 0x77, 0x59, 0x56, 0x8a, 0x16, 0x8a, 0x6e, 0x6f, 0x8a, 0x21, 0x0c, 0x81, 0x9c, - 0xf9, 0x50, 0xcc, 0x6c, 0xc4, 0xcb, 0x19, 0x1a, 0x4a, 0xbb, 0x46, 0xcc, 0x78, 0x05, 0x84, 0xfe, - 0x71, 0x37, 0xc1, 0xd3, 0xc0, 0x49, 0x9b, 0x4f, 0xa6, 0x09, 0x64, 0xf8, 0x65, 0x66, 0xfc, 0x4c, - 0x33, 0x64, 0xc8, 0xb0, 0x8e, 0xd0, 0x56, 0xda, 0xda, 0xc8, 0xaa, 0x6f, 0xae, 0x2c, 0x4e, 0xf9, - 0xca, 0xaf, 0xf1, 0xbf, 0x2b, 0xbc, 0x18, 0x76, 0x5f, 0x09, 0x10, 0xdd, 0x1f, 0x4b, 0xf0, 0x18, - 0x44, 0x87, 0x28, 0xb8, 0x72, 0x20, 0x1c, 0x18, 0xef, 0xed, 0x46, 0x7a, 0x72, 0x70, 0x79, 0x9c, - 0xff, 0x69, 0x29, 0x78, 0xf0, 0xf8, 0xef, 0x93, 0x7f, 0xd1, 0xc9, 0xe4, 0x06, 0x93, 0xb0, 0x33, - 0xc7, 0xa3, 0x9c, 0x07, 0x0b, 0x7d, 0x0f, 0x10, 0x0a, 0xca, 0x5c, 0xa1, 0xa5, 0xef, 0x81, 0x45, - 0xa3, 0x37, 0xc9, 0x39, 0x11, 0x32, 0x6c, 0xd9, 0x83, 0x5c, 0xa3, 0x5c, 0x0b, 0x73, 0x2d, 0x29, - 0xd3, 0x36, 0xa6, 0xae, 0x42, 0xd5, 0xd3, 0x9c, 0x3a, 0xef, 0x17, 0x0d, 0x39, 0x3a, 0x68, 0x07, - 0x07, 0x53, 0x8f, 0x0f, 0xc2, 0x6e, 0x09, 0x3f, 0x28, 0x14, 0x67, 0xa6, 0x87, 0xb7, 0x87, 0xb0, - 0x4b, 0xf6, 0x00, 0x4c, 0x71, 0x8f, 0xe7, 0x96, 0x81, 0xe4, 0x08, 0x17, 0x00, 0xa4, 0x65, 0x49, - 0x2a, 0xae, 0x84, 0x73, 0x83, 0x05, 0x94, 0x94, 0x64, 0x5d, 0x11, 0xbf, 0x0d, 0xe5, 0x46, 0x14, - 0xcc, 0x00, 0xca, 0x6c, 0x2c, 0x94, 0x04, 0xc0, 0x4a, 0x5e, 0xaa, 0x45, 0xd4, 0x8c, 0x78, 0x4a, - 0x92, 0x92, 0x9f, 0x00, 0x70, 0xe3, 0xf3, 0x74, 0x0c, 0x00, 0x94, 0x56, 0x00, 0x08, 0xd3, 0xa5, - 0x52, 0xcc, 0x7d, 0x6e, 0xa8, 0x49, 0xc1, 0xb5, 0x00, 0x6e, 0xfc, 0xee, 0x40, 0x07, 0x00, 0xde, - 0x1b, 0xab, 0xd9, 0xb1, 0x52, 0xce, 0xe5, 0x3f, 0x07, 0x21, 0x16, 0xfc, 0x5f, 0x63, 0xc5, 0x03, - 0x58, 0x54, 0x57, 0x0d, 0x33, 0xf4, 0x5c, 0xf8, 0x1c, 0x1f, 0x92, 0x92, 0xff, 0x14, 0x1f, 0x46, - 0xb7, 0xf9, 0x88, 0x40, 0x10, 0x63, 0x3c, 0x78, 0x51, 0xe1, 0xcb, 0xee, 0xcc, 0x6f, 0xb0, 0xca, - 0x36, 0x20, 0xa9, 0xbc, 0x2b, 0x9e, 0xbe, 0x9d, 0x93, 0x0a, 0x1f, 0xef, 0xb9, 0xb3, 0x46, 0x8c, - 0xbb, 0x53, 0x68, 0x2a, 0xe8, 0x00, 0x5b, 0xeb, 0x06, 0x24, 0x65, 0x5c, 0x0f, 0xe9, 0x67, 0x36, - 0xe2, 0xff, 0x51, 0x37, 0xe9, 0x27, 0xf7, 0xe1, 0xa9, 0xfb, 0x30, 0xc0, 0x8b, 0xe8, 0x00, 0x01, - 0x79, 0x43, 0x0e, 0x45, 0x57, 0x31, 0xb0, 0x11, 0xad, 0x38, 0x7f, 0x22, 0x43, 0x9e, 0xec, 0x6f, - 0x0e, 0x10, 0x3b, 0x3e, 0x04, 0x04, 0xa2, 0x73, 0x93, 0x95, 0x2e, 0x2f, 0x56, 0x3e, 0x3d, 0x40, - 0x01, 0x00, 0xc7, 0xb8, 0x38, 0xd9, 0xaa, 0x33, 0x8b, 0xdd, 0x1f, 0x62, 0x06, 0xc9, 0x2f, 0xf8, - 0xbb, 0x01, 0x13, 0xe2, 0xbf, 0x37, 0x60, 0x62, 0x95, 0xdb, 0x9b, 0xa5, 0x3a, 0xa1, 0x5c, 0xd6, - 0x1f, 0x28, 0xd5, 0x43, 0x6d, 0xe5, 0x9e, 0x39, 0xa9, 0x25, 0x45, 0x37, 0x04, 0xdc, 0xa5, 0x67, - 0xed, 0x88, 0x85, 0x62, 0xb0, 0x7e, 0x73, 0x07, 0xa6, 0x99, 0x8d, 0xdd, 0x9c, 0x62, 0x37, 0x11, - 0x46, 0x36, 0x98, 0x3c, 0xc4, 0xcd, 0xf2, 0x7b, 0x53, 0x67, 0x23, 0x3e, 0xd8, 0xe1, 0x77, 0x1c, - 0xea, 0xee, 0x78, 0x6c, 0xfc, 0xed, 0x01, 0x89, 0x8c, 0x87, 0x04, 0x7c, 0x4c, 0xf1, 0xe1, 0xb2, - 0xeb, 0x07, 0x22, 0x17, 0x99, 0x34, 0xcc, 0x38, 0x6c, 0xac, 0x1f, 0x08, 0x2f, 0x56, 0xeb, 0x37, - 0x85, 0x58, 0x53, 0xfa, 0x40, 0x82, 0xb9, 0xe3, 0x20, 0xfd, 0x33, 0x32, 0x4c, 0xfc, 0x5f, 0x94, - 0x60, 0x9f, 0x18, 0x88, 0x1c, 0xbf, 0xed, 0x8e, 0x83, 0xb4, 0x7e, 0x1c, 0xf2, 0x7f, 0x7b, 0x42, - 0x88, 0x4a, 0xf9, 0x6f, 0x4d, 0x88, 0xdc, 0x27, 0x27, 0x44, 0xee, 0x33, 0x13, 0x22, 0x97, 0xfd, - 0xbf, 0x7a, 0x3e, 0xe4, 0x83, 0xf9, 0x90, 0x5b, 0x35, 0x0e, 0xbd, 0xa9, 0x61, 0x06, 0x36, 0x8c, - 0x7b, 0xaa, 0x9b, 0xd8, 0x69, 0x21, 0xbd, 0x0a, 0x32, 0xc4, 0xa8, 0x4a, 0x65, 0x30, 0xca, 0x73, - 0x7c, 0x78, 0xa1, 0xeb, 0x60, 0xfb, 0x40, 0xa2, 0x42, 0xdb, 0xee, 0x5a, 0xb8, 0xdd, 0x24, 0x0d, - 0x07, 0x93, 0x37, 0x18, 0x3e, 0xd2, 0xe5, 0xa5, 0x1f, 0x3a, 0xc7, 0xe8, 0x43, 0xa1, 0xd1, 0xbb, - 0x24, 0x08, 0x24, 0xb2, 0x02, 0xd9, 0x10, 0x74, 0x0f, 0x71, 0xfd, 0x96, 0xaa, 0xb6, 0x11, 0xc6, - 0x3a, 0x1b, 0x51, 0xd2, 0x3e, 0x44, 0x3a, 0x97, 0x6f, 0x33, 0x48, 0x6f, 0xac, 0x1a, 0x26, 0x0f, - 0xe9, 0xac, 0x87, 0xb4, 0xb4, 0x12, 0x69, 0x89, 0x5f, 0xd6, 0xf5, 0xe3, 0x90, 0x96, 0x3e, 0x8d, - 0xf4, 0xc6, 0x3a, 0x15, 0x1a, 0x20, 0x93, 0x7e, 0x07, 0x69, 0x6a, 0x24, 0xe7, 0x3b, 0x1f, 0x0c, - 0x35, 0x8b, 0xb4, 0xe4, 0x21, 0x9d, 0x8b, 0x20, 0xbd, 0x11, 0x60, 0x9d, 0x5b, 0x1e, 0xea, 0x38, - 0xa4, 0x73, 0x2b, 0x90, 0xfe, 0x94, 0x61, 0xb3, 0xd2, 0x22, 0x46, 0x30, 0x5a, 0x4a, 0x7f, 0x88, - 0x97, 0xa4, 0xf3, 0x6c, 0x6c, 0x6c, 0x8c, 0x7f, 0x89, 0x7e, 0x86, 0x69, 0xad, 0x73, 0xc9, 0xc5, - 0x8b, 0x3c, 0xfb, 0xcd, 0xae, 0x73, 0x25, 0x2d, 0xf9, 0xb9, 0x23, 0x8e, 0xa3, 0x0d, 0xaf, 0x95, - 0xb0, 0xb3, 0xda, 0x3d, 0xd5, 0x12, 0xf5, 0x07, 0x2c, 0xed, 0x8b, 0x31, 0x1e, 0x29, 0x02, 0xd9, - 0xf9, 0xde, 0x72, 0x7c, 0xa5, 0x7b, 0x1e, 0x86, 0x67, 0xfd, 0x51, 0x6d, 0x83, 0x60, 0x1e, 0x5f, - 0x52, 0xe2, 0x99, 0x7d, 0x9e, 0x88, 0x53, 0xd2, 0xc5, 0xc0, 0xb2, 0xe1, 0x85, 0x51, 0x41, 0x2d, - 0x40, 0x83, 0xa8, 0x9f, 0x37, 0x0a, 0x8c, 0x28, 0x67, 0xfb, 0x48, 0x05, 0xfb, 0x46, 0x1e, 0x41, - 0xb6, 0x6f, 0x83, 0x4b, 0x11, 0xd8, 0x29, 0xe2, 0x38, 0x1e, 0x9f, 0xd0, 0xe3, 0x25, 0x81, 0x40, - 0x26, 0x12, 0xba, 0x58, 0x48, 0x17, 0xc8, 0xf6, 0x1b, 0x86, 0xab, 0x89, 0xe9, 0x6c, 0x20, 0x99, - 0xd3, 0x25, 0x98, 0xaf, 0x7a, 0xdb, 0x36, 0x6b, 0x2e, 0x11, 0x4d, 0x1a, 0x14, 0x4b, 0xbe, 0x02, - 0xe7, 0x63, 0xed, 0xf2, 0x3c, 0x29, 0x10, 0xd5, 0xbf, 0xaf, 0x2c, 0x84, 0xfa, 0x23, 0xf7, 0xa3, - 0xf9, 0xa6, 0xf1, 0x6b, 0x36, 0x85, 0x70, 0xf7, 0xde, 0x6d, 0x68, 0xbd, 0x0b, 0x90, 0xb4, 0x65, - 0xaf, 0xf6, 0x00, 0x6e, 0xfc, 0xce, 0x4e, 0x03, 0xe1, 0x92, 0x35, 0xfb, 0x0c, 0x6e, 0xfe, 0xff, - 0xbf, 0xbb, 0x0c, 0x04, 0x88, 0xa8, 0x77, 0x8d, 0x4c, 0xee, 0xf0, 0xd6, 0x01, 0xa5, 0x1e, 0xb2, - 0x51, 0xc0, 0xf5, 0x2b, 0x83, 0x52, 0xcc, 0x0f, 0x98, 0x3a, 0xc6, 0x3b, 0xc6, 0x9c, 0x6b, 0xc1, - 0xb2, 0x34, 0x3e, 0x8a, 0x56, 0x0a, 0x73, 0x3b, 0x1e, 0x5c, 0x54, 0xf5, 0x57, 0x76, 0xef, 0xcb, - 0x30, 0x15, 0xfd, 0x56, 0x6e, 0x27, 0xc4, 0x98, 0xcd, 0xaf, 0xc8, 0x22, 0x19, 0x1f, 0xfc, 0x8f, - 0xb1, 0xd4, 0x2b, 0x82, 0xff, 0x3f, 0xee, 0x35, 0xfb, 0xf7, 0x02, 0xff, 0x5d, 0xbf, 0x7a, 0x7c, - 0xb7, 0x4b, 0xbd, 0x6e, 0x2c, 0x75, 0x2b, 0x25, 0x3f, 0x5a, 0x1b, 0x63, 0xcf, 0xaf, 0xb8, 0xb3, - 0x7f, 0xe3, 0x93, 0xfd, 0x2e, 0x75, 0x9b, 0x4b, 0x7e, 0xb8, 0x3a, 0xc5, 0x1e, 0x0f, 0x0a, 0x66, - 0xdf, 0xea, 0x63, 0x0e, 0xee, 0x87, 0x6f, 0xa8, 0x8f, 0xab, 0x44, 0xb6, 0x29, 0xc3, 0x05, 0xc8, - 0x57, 0x8e, 0x18, 0xa0, 0xc8, 0x44, 0xd9, 0xc7, 0x8f, 0x1e, 0xdd, 0x62, 0x0e, 0x9e, 0xba, 0x4b, - 0x46, 0xe2, 0x2b, 0xb0, 0x9a, 0x7f, 0xd3, 0xdb, 0xd2, 0xe1, 0x8d, 0xe0, 0xb0, 0x4a, 0xa4, 0x27, - 0x3c, 0xdb, 0xea, 0x33, 0x30, 0x39, 0xac, 0xbf, 0x46, 0xf0, 0x92, 0x3d, 0x6e, 0xc3, 0x56, 0x3e, - 0x7b, 0x02, 0x87, 0x23, 0xd7, 0x40, 0x79, 0xc7, 0x8d, 0x96, 0xf7, 0x9c, 0x7c, 0x20, 0x86, 0x7d, - 0xba, 0x59, 0x3d, 0xec, 0x7b, 0xf5, 0x27, 0x2a, 0xcf, 0xc9, 0x9a, 0xe3, 0x1e, 0x26, 0x40, 0x2f, - 0x55, 0x95, 0x7c, 0x67, 0x25, 0x63, 0xea, 0xfd, 0x5a, 0x5b, 0xb6, 0x95, 0x62, 0x5e, 0x50, 0xef, - 0x77, 0x2f, 0x6f, 0x26, 0xe2, 0xe9, 0x61, 0xdf, 0x68, 0xc0, 0x3f, 0x17, 0xad, 0xbb, 0xc1, 0xfe, - 0x5d, 0x1f, 0x9e, 0x76, 0x45, 0x7c, 0x3f, 0x68, 0x36, 0x9e, 0xe0, 0xa7, 0x59, 0x38, 0x18, 0xf5, - 0x0a, 0x98, 0xd0, 0x78, 0xbc, 0x68, 0xdd, 0x88, 0xc7, 0x0d, 0xcb, 0xce, 0x77, 0x8a, 0xd7, 0x98, - 0x70, 0xa3, 0x5f, 0xdf, 0x65, 0x77, 0xa1, 0xcc, 0xf4, 0x65, 0x32, 0x2e, 0x3f, 0x5d, 0xdf, 0x61, - 0xe2, 0x49, 0x67, 0x7f, 0xf0, 0xdc, 0x99, 0x34, 0x1a, 0x7b, 0xf6, 0x39, 0xbc, 0x96, 0xf6, 0x1a, - 0x9d, 0xee, 0xf8, 0xed, 0x10, 0x2b, 0xec, 0xb6, 0x5b, 0x77, 0x37, 0xbb, 0xf7, 0xcd, 0xc1, 0xad, - 0xf6, 0x54, 0x69, 0xef, 0x19, 0x8d, 0xc9, 0xde, 0xf9, 0xc5, 0x43, 0x49, 0xaf, 0xe8, 0x93, 0xa6, - 0x6a, 0xce, 0x9c, 0xeb, 0x8b, 0xfc, 0x73, 0xd9, 0x69, 0x5b, 0xb7, 0x47, 0xc3, 0xbd, 0xe1, 0x41, - 0xde, 0xb8, 0x7a, 0x9f, 0x69, 0xdd, 0xc9, 0xcd, 0x9b, 0x99, 0x6d, 0xb5, 0xba, 0xfa, 0x7d, 0xe6, - 0x62, 0xf4, 0x3c, 0x7a, 0x7f, 0x53, 0xac, 0xc6, 0xee, 0x6c, 0xfa, 0xf8, 0xae, 0xef, 0x4e, 0x72, - 0x6a, 0xff, 0x55, 0x39, 0xd8, 0xef, 0x3d, 0xce, 0xee, 0x46, 0x83, 0xd3, 0xcc, 0xec, 0xe0, 0x5c, - 0x6c, 0x4e, 0x4f, 0x7a, 0xb3, 0xb7, 0xc7, 0xe7, 0xfd, 0xcb, 0x4e, 0x31, 0xd3, 0xb2, 0x2a, 0x99, - 0x76, 0xaf, 0x34, 0x3a, 0x6e, 0x16, 0x2e, 0x26, 0xdd, 0x92, 0x61, 0x9d, 0x8f, 0x1b, 0x57, 0x04, - 0x97, 0x7d, 0xed, 0xe0, 0xf6, 0xb5, 0x35, 0xba, 0x1e, 0x36, 0x9b, 0x40, 0xe0, 0xe5, 0xd0, 0xe6, - 0x31, 0x2b, 0xc0, 0x22, 0x91, 0x3e, 0xb1, 0xdb, 0x7d, 0xee, 0xd1, 0x67, 0x76, 0x0a, 0xb2, 0x5b, - 0x75, 0x64, 0x5d, 0xed, 0x01, 0x77, 0x0f, 0xd6, 0x6e, 0x1a, 0xc6, 0xb4, 0x12, 0xe1, 0xc0, 0x63, - 0x1d, 0xe4, 0xa4, 0xde, 0x51, 0x38, 0xdc, 0x3b, 0xf9, 0xcd, 0xb6, 0xbc, 0x2d, 0x51, 0x9c, 0xa4, - 0x09, 0x3e, 0x43, 0x2d, 0x29, 0x5e, 0xe0, 0xff, 0xcb, 0x56, 0x34, 0x8c, 0x20, 0xda, 0xbe, 0x23, - 0x29, 0xe4, 0x80, 0xe2, 0x6a, 0x19, 0x17, 0x6a, 0x9b, 0x68, 0x12, 0x38, 0x67, 0xc3, 0xca, 0x44, - 0x47, 0xef, 0x11, 0x35, 0x82, 0xe2, 0xdd, 0x36, 0x0c, 0x27, 0xd2, 0xe8, 0xc6, 0x3a, 0x80, 0x49, - 0x38, 0xb0, 0xa2, 0xfb, 0x6b, 0xba, 0xdf, 0x6c, 0x90, 0x48, 0xfc, 0x64, 0x87, 0x8a, 0x8e, 0xf1, - 0xd7, 0x0a, 0x67, 0xd2, 0x44, 0xee, 0xff, 0xfd, 0x3f, 0xff, 0xcf, 0xe7, 0x48, 0x42, 0x54, 0x25, - 0x79, 0xac, 0xb8, 0xad, 0x1d, 0x2a, 0x21, 0x92, 0x87, 0x73, 0xd0, 0x43, 0x16, 0xd6, 0x27, 0x5b, - 0x90, 0xcf, 0xf5, 0xdd, 0xce, 0xbb, 0x5e, 0xef, 0x2c, 0x72, 0xde, 0x09, 0x5c, 0xba, 0xcc, 0x31, - 0x9d, 0x84, 0x1b, 0xfa, 0x9e, 0xf1, 0x0a, 0x6e, 0x87, 0x54, 0x4e, 0xf2, 0x1c, 0x52, 0x9d, 0x07, - 0xfc, 0x36, 0x39, 0x36, 0x3a, 0x04, 0x6b, 0x90, 0x9b, 0xa8, 0xce, 0xc0, 0xcd, 0xa7, 0x71, 0x1f, - 0xb2, 0xe5, 0xa0, 0x50, 0x07, 0xb9, 0x56, 0xce, 0xd7, 0x40, 0x5a, 0x1c, 0xec, 0x8b, 0xfb, 0x35, - 0x77, 0xd5, 0xdd, 0xe0, 0xda, 0x33, 0xae, 0xa1, 0x5a, 0x1d, 0xc3, 0x30, 0x5e, 0x55, 0x85, 0x1c, - 0xd5, 0x76, 0x06, 0x0a, 0xf7, 0x5d, 0xe6, 0xe8, 0x99, 0x38, 0xdc, 0x0c, 0xb7, 0xab, 0x99, 0x0c, - 0x6e, 0x32, 0xa7, 0xc1, 0x1c, 0xee, 0x18, 0x23, 0xcb, 0x56, 0xd2, 0x18, 0x1a, 0x65, 0x66, 0x40, - 0xa1, 0x93, 0xad, 0xbe, 0x02, 0x76, 0xf7, 0x7f, 0xb9, 0x87, 0x91, 0x36, 0x08, 0x1c, 0x1d, 0x63, - 0x38, 0x1c, 0xe9, 0xc4, 0xc9, 0x26, 0x7b, 0xca, 0x3c, 0x03, 0x76, 0x04, 0xea, 0xf3, 0xf3, 0x25, - 0xc0, 0x37, 0x3e, 0x86, 0x1c, 0x01, 0x6f, 0x19, 0x3d, 0x67, 0x20, 0x77, 0x5e, 0x45, 0xb1, 0xc4, - 0x7d, 0xe3, 0xf6, 0x27, 0xc6, 0x44, 0x65, 0x31, 0xd8, 0x08, 0xa3, 0x40, 0xa0, 0xb7, 0xba, 0xe9, - 0x7e, 0x3f, 0x53, 0xbe, 0x2a, 0x4d, 0x0e, 0x47, 0x6f, 0xb7, 0x31, 0x18, 0x10, 0x90, 0xa4, 0x3d, - 0x68, 0xaf, 0x31, 0xc2, 0xdd, 0xbf, 0x3d, 0x65, 0x8c, 0x58, 0x6c, 0xb0, 0x48, 0xc5, 0x2b, 0x2c, - 0x3a, 0x3d, 0xcb, 0x18, 0x91, 0xf7, 0x71, 0x13, 0x64, 0xad, 0xbc, 0x5f, 0x75, 0xf6, 0xd1, 0x13, - 0xf8, 0x9e, 0xbc, 0xdf, 0x58, 0x21, 0xf0, 0xf1, 0xcb, 0x72, 0x2e, 0x1a, 0xaa, 0x2b, 0x0e, 0xec, - 0x25, 0x09, 0xa6, 0x2f, 0x4b, 0x30, 0x37, 0x5e, 0xce, 0x0b, 0xb4, 0x58, 0xf1, 0x5d, 0x5b, 0xfe, - 0xb3, 0x92, 0x09, 0x15, 0x3e, 0x1f, 0x95, 0x65, 0xe9, 0xb6, 0x22, 0xf0, 0xcd, 0x3d, 0xb3, 0x1d, - 0x58, 0x72, 0x3e, 0x19, 0x7d, 0xd0, 0xfd, 0x32, 0x2b, 0x64, 0x70, 0x74, 0xe1, 0x1e, 0x06, 0x1f, - 0x54, 0x5a, 0x1e, 0x1c, 0xbf, 0x55, 0xb6, 0x90, 0x17, 0x6c, 0xb2, 0x7c, 0x8f, 0x13, 0x3e, 0x7f, - 0xa2, 0x5f, 0x22, 0xf7, 0xf0, 0xac, 0x77, 0x0c, 0x1e, 0x91, 0x41, 0x1d, 0x8c, 0xfa, 0x4a, 0xe4, - 0xf0, 0x6e, 0xe8, 0x94, 0x9d, 0x06, 0x6b, 0xcd, 0x4e, 0xd0, 0xcd, 0x06, 0xc9, 0xbd, 0x35, 0xb8, - 0x91, 0xad, 0x70, 0xed, 0x91, 0xaa, 0xe1, 0x15, 0xd6, 0x1c, 0x0d, 0x9c, 0xb0, 0x05, 0x92, 0x8a, - 0x5a, 0x37, 0x74, 0x6d, 0x81, 0x3d, 0xe4, 0x5e, 0x0b, 0xc1, 0x81, 0xd6, 0x02, 0x82, 0x9d, 0xd4, - 0xe7, 0x9e, 0x8c, 0x11, 0x07, 0xd6, 0x2c, 0x67, 0x29, 0xce, 0xc8, 0xd2, 0x39, 0x0c, 0x66, 0x54, - 0x40, 0x19, 0x50, 0x87, 0x0a, 0x89, 0x6e, 0xc0, 0x69, 0x85, 0x22, 0xc9, 0xc6, 0x63, 0xed, 0x38, - 0x8f, 0xf0, 0x43, 0x53, 0x30, 0xbe, 0xe4, 0x19, 0x4d, 0x1c, 0x3c, 0xf3, 0x0f, 0x73, 0xc1, 0x02, - 0xf9, 0x96, 0xde, 0x70, 0xed, 0xe1, 0x28, 0x3f, 0x84, 0x42, 0xf5, 0x9c, 0x33, 0xc3, 0x22, 0xfa, - 0xed, 0xa5, 0x07, 0x95, 0x41, 0x62, 0xaf, 0xd7, 0xac, 0x20, 0xcb, 0xf5, 0x25, 0xb6, 0xfe, 0x48, - 0xc7, 0xfb, 0x1a, 0x2c, 0xb2, 0x72, 0xf8, 0xed, 0xc4, 0x8b, 0xc5, 0x8d, 0x03, 0xc3, 0x02, 0xf4, - 0x6d, 0x87, 0x33, 0x15, 0x0b, 0xe3, 0x30, 0x71, 0x3a, 0x08, 0x9c, 0x0a, 0x26, 0x29, 0x7e, 0xf8, - 0x12, 0xe7, 0xb4, 0x42, 0x6e, 0xec, 0x01, 0x3a, 0x10, 0x7a, 0x18, 0xbd, 0x9e, 0x8b, 0x36, 0x90, - 0x65, 0x88, 0x44, 0xb0, 0x41, 0xe2, 0xc1, 0x8a, 0x3a, 0x19, 0x28, 0x3a, 0xb9, 0x3e, 0x06, 0x68, - 0x01, 0x64, 0x5e, 0xb6, 0x5b, 0xd4, 0x60, 0xd8, 0x91, 0x66, 0x7c, 0xcc, 0x38, 0x2f, 0xa1, 0x25, - 0x26, 0x83, 0xb1, 0xdf, 0x08, 0x06, 0xdf, 0x3d, 0xe0, 0xbf, 0x31, 0x06, 0xd2, 0x93, 0x20, 0x24, - 0x61, 0xf2, 0x20, 0xb0, 0x11, 0x41, 0xc2, 0xc4, 0x16, 0x3a, 0x78, 0x00, 0x53, 0x20, 0x5e, 0x4c, - 0x1b, 0x83, 0x83, 0xea, 0x5f, 0xb2, 0x82, 0x6a, 0x5f, 0xea, 0xf8, 0xab, 0x6b, 0x0d, 0xfa, 0x7a, - 0x36, 0xa6, 0xbf, 0xa8, 0x44, 0xd2, 0x27, 0x32, 0x27, 0xf1, 0xd1, 0x9e, 0xe9, 0x9d, 0x16, 0x20, - 0xef, 0x3d, 0xdf, 0xf6, 0xb5, 0x1b, 0xa5, 0x03, 0xe5, 0x45, 0x61, 0x20, 0xdb, 0x24, 0x8e, 0x1a, - 0xb3, 0xe0, 0xf9, 0xe6, 0x70, 0xd7, 0x7d, 0x6a, 0x36, 0x6f, 0x69, 0xf3, 0x7b, 0x23, 0xab, 0x5e, - 0x14, 0xe1, 0xe1, 0x56, 0xb6, 0xea, 0xf8, 0x8b, 0xe7, 0x8f, 0x49, 0x4b, 0x4a, 0xff, 0x0c, 0xed, - 0x79, 0x51, 0xf0, 0xee, 0x76, 0x3b, 0x60, 0x5f, 0xae, 0x64, 0x0d, 0xde, 0x3a, 0xf0, 0x8a, 0x3f, - 0x23, 0x0b, 0xef, 0x86, 0xa5, 0x8b, 0x69, 0x7d, 0x2b, 0x2b, 0x00, 0xc1, 0x1c, 0xaa, 0x65, 0x90, - 0x2a, 0xfd, 0xa6, 0x01, 0x43, 0x0d, 0x8f, 0xb0, 0xf6, 0xf8, 0x8f, 0xc6, 0x04, 0x46, 0xf3, 0x4e, - 0x87, 0x21, 0xe8, 0xc2, 0x2b, 0x74, 0x05, 0xd6, 0x08, 0xa6, 0xd3, 0x1f, 0xb3, 0xe3, 0x01, 0x42, - 0x9f, 0x08, 0x19, 0xb0, 0xd9, 0x09, 0x64, 0x3a, 0x56, 0xbd, 0x24, 0x74, 0xeb, 0x5d, 0xb0, 0xa3, - 0xd1, 0x7e, 0x11, 0x7a, 0x53, 0xd4, 0x7d, 0xeb, 0x3f, 0x7e, 0x0a, 0x26, 0xaa, 0x61, 0xf5, 0xf9, - 0x42, 0x50, 0xbc, 0x07, 0xcd, 0x7b, 0x30, 0x83, 0xa7, 0x8b, 0x3a, 0xcf, 0x0b, 0xe6, 0x31, 0x76, - 0x73, 0x31, 0x1a, 0xe2, 0xcf, 0xd0, 0xa9, 0x67, 0xf1, 0xef, 0x59, 0x8b, 0xbe, 0x9d, 0x41, 0x4f, - 0x08, 0x0c, 0xfc, 0xa0, 0x48, 0xc4, 0x5a, 0xaa, 0x7d, 0x8e, 0x30, 0x0c, 0x11, 0x80, 0xe1, 0x00, - 0xb1, 0xee, 0xf5, 0xeb, 0x73, 0x07, 0x8f, 0x42, 0x57, 0xe7, 0xa8, 0x6c, 0x57, 0x41, 0x03, 0xb7, - 0x5e, 0x79, 0xa1, 0xdd, 0xaf, 0xce, 0x47, 0x96, 0x56, 0xe5, 0xf9, 0x85, 0x20, 0x6b, 0xe6, 0x40, - 0x86, 0xec, 0x7e, 0x35, 0x5d, 0x14, 0xc0, 0x02, 0xaa, 0xa6, 0xcb, 0x0b, 0x81, 0x46, 0x39, 0x63, - 0x22, 0x14, 0xc1, 0xd7, 0xa1, 0x59, 0xa5, 0x57, 0x3e, 0xd9, 0xd5, 0x39, 0x3d, 0x8d, 0x5b, 0x85, - 0xc1, 0xb3, 0xfa, 0xed, 0x2a, 0x74, 0xf8, 0x36, 0x82, 0x14, 0x7c, 0x1f, 0x28, 0x53, 0x78, 0x07, - 0x8c, 0x88, 0x1f, 0x03, 0x53, 0xcc, 0xce, 0x10, 0xc4, 0x39, 0x16, 0x32, 0xd5, 0x2e, 0x26, 0x00, - 0xa9, 0x35, 0x45, 0xaf, 0xd2, 0xe1, 0x33, 0x27, 0x96, 0xfb, 0xa4, 0x4c, 0x4d, 0xcc, 0xed, 0xd8, - 0xa4, 0xd6, 0xa0, 0x2b, 0xcf, 0x6c, 0xcc, 0x01, 0xb2, 0x29, 0x3d, 0x0c, 0x2b, 0x5b, 0x08, 0x03, - 0x43, 0xab, 0xff, 0xf8, 0x21, 0x0a, 0xd9, 0xac, 0x20, 0xe5, 0x85, 0xbc, 0xe0, 0xaf, 0xb5, 0xb2, - 0xaf, 0x52, 0xa4, 0xfb, 0xb0, 0xac, 0x8f, 0xda, 0x69, 0xd5, 0xc8, 0x4c, 0x87, 0xb2, 0x9d, 0x06, - 0x1b, 0x83, 0xff, 0x29, 0x40, 0x1d, 0x49, 0xc8, 0x96, 0x84, 0x6c, 0x50, 0x85, 0x98, 0x20, 0x76, - 0x9a, 0xa0, 0xde, 0x31, 0x30, 0xc2, 0x25, 0x0d, 0x28, 0x66, 0xf2, 0x95, 0x2c, 0xfe, 0x9f, 0x95, - 0x72, 0xe9, 0x17, 0x93, 0x54, 0x95, 0x44, 0xa9, 0x20, 0xe4, 0x04, 0x09, 0x9b, 0x58, 0xdf, 0xa1, - 0x02, 0xe3, 0x00, 0x62, 0xca, 0xed, 0x12, 0xea, 0xe5, 0xa0, 0x5e, 0xe5, 0xf7, 0xab, 0xe5, 0xa1, - 0x4a, 0x2e, 0xfb, 0x9b, 0xf5, 0x44, 0xa1, 0x08, 0x14, 0x61, 0x11, 0x04, 0xe5, 0x41, 0x05, 0xde, - 0x5e, 0x42, 0x11, 0x63, 0x7b, 0x71, 0xb9, 0xcc, 0x4c, 0x64, 0x4d, 0x33, 0x65, 0x90, 0x54, 0x99, - 0x42, 0xb6, 0x58, 0xaa, 0x48, 0x2e, 0x4d, 0x32, 0x80, 0x38, 0xa4, 0x88, 0x15, 0x29, 0x9b, 0x2b, - 0xe6, 0xa4, 0x8a, 0x54, 0xc8, 0x15, 0x69, 0x0f, 0x40, 0xf9, 0xbf, 0xdb, 0x43, 0x36, 0x5b, 0x29, - 0x97, 0x45, 0x91, 0xed, 0x42, 0x2a, 0x48, 0x52, 0x59, 0x2c, 0xe5, 0xcb, 0xd9, 0x42, 0xb9, 0x50, - 0x14, 0x45, 0xfe, 0xe7, 0x4f, 0xa1, 0xe3, 0x4c, 0xdd, 0xf0, 0x43, 0xe2, 0x6e, 0xbb, 0xb0, 0xc8, - 0x3c, 0x25, 0xcf, 0x07, 0x2a, 0x28, 0x2b, 0xf8, 0xc9, 0x4d, 0x98, 0x41, 0x35, 0x90, 0x4d, 0x1c, - 0x51, 0x80, 0xf6, 0xe8, 0x94, 0xaa, 0xf5, 0x46, 0x3a, 0xb9, 0xe9, 0x9f, 0x1b, 0x80, 0x46, 0xa6, - 0x29, 0xf7, 0xfe, 0xcd, 0x59, 0x4d, 0xe2, 0x19, 0x4e, 0x24, 0xe7, 0x5f, 0xba, 0x69, 0xaa, 0xf0, - 0x7e, 0xfb, 0xa6, 0x2b, 0x13, 0x0e, 0x2a, 0xe2, 0xc7, 0x59, 0x3d, 0x09, 0xb0, 0x9d, 0x53, 0x72, - 0xdf, 0xbe, 0x85, 0xac, 0xa4, 0x85, 0xdf, 0xa6, 0xdd, 0x34, 0xb4, 0x84, 0x22, 0x38, 0xc9, 0x39, - 0x28, 0xa5, 0xee, 0x74, 0xde, 0xd7, 0x14, 0xfc, 0x49, 0x93, 0xc5, 0x3b, 0x0d, 0x12, 0xe5, 0xca, - 0x02, 0x53, 0xc6, 0x72, 0x66, 0xa4, 0x60, 0x50, 0x17, 0x43, 0xcd, 0x94, 0xe4, 0xdc, 0x5d, 0xff, - 0x40, 0x1d, 0x54, 0xbc, 0xaa, 0xbb, 0x33, 0x92, 0xc5, 0x14, 0xdd, 0xdf, 0x6d, 0x5e, 0xac, 0x28, - 0x6c, 0xef, 0xce, 0x9a, 0x28, 0xe0, 0x91, 0x02, 0xa1, 0x4a, 0xaa, 0xbd, 0x3f, 0x34, 0xb1, 0x57, - 0xbf, 0x9a, 0x58, 0xaf, 0xd7, 0x2f, 0xdb, 0x2f, 0xf8, 0x01, 0x92, 0x57, 0x65, 0x66, 0x43, 0x4e, - 0x9a, 0x46, 0x69, 0xb3, 0x95, 0xa0, 0x00, 0x53, 0x45, 0xf9, 0xf6, 0x8d, 0x37, 0x48, 0x15, 0xbe, - 0x5e, 0x47, 0xe7, 0xa1, 0xd1, 0xc3, 0xb4, 0x2f, 0x0d, 0xcb, 0x92, 0x67, 0x69, 0xd5, 0x26, 0xbf, - 0x91, 0x6e, 0x41, 0x26, 0x29, 0x96, 0xda, 0x09, 0x5a, 0xf9, 0x02, 0x69, 0xf2, 0x45, 0xc2, 0x94, - 0x41, 0x63, 0x3f, 0xc0, 0x8b, 0xa9, 0x20, 0x2b, 0xf9, 0xed, 0x9b, 0x8a, 0xbe, 0x49, 0x90, 0xee, - 0x91, 0xea, 0x37, 0xfd, 0x36, 0x39, 0xda, 0x12, 0x06, 0x9c, 0x54, 0x3e, 0xd6, 0xa1, 0x6a, 0xda, - 0x82, 0xba, 0xe1, 0x94, 0xfe, 0x52, 0x4a, 0x9b, 0x69, 0x12, 0x04, 0x51, 0xcb, 0xb1, 0x82, 0xe6, - 0xf0, 0xbc, 0x6b, 0x82, 0x4f, 0x41, 0x43, 0x29, 0x30, 0x2b, 0xe1, 0xb7, 0xef, 0xfe, 0xb6, 0x53, - 0x7c, 0x92, 0x0f, 0xd5, 0xc3, 0xbb, 0x1a, 0xfc, 0x7a, 0x69, 0x29, 0x2b, 0x15, 0xff, 0x0c, 0x01, - 0x92, 0x4a, 0x97, 0xb2, 0x05, 0xe9, 0xcf, 0x10, 0x28, 0xa9, 0xb4, 0x58, 0x92, 0x42, 0x69, 0x2c, - 0x30, 0xb8, 0x5f, 0xd8, 0x3a, 0xc3, 0x46, 0x91, 0x53, 0x9d, 0xba, 0x92, 0x46, 0xd9, 0x0f, 0xa9, - 0xe9, 0xc9, 0x0e, 0x53, 0xc5, 0x4f, 0x4c, 0x56, 0x41, 0x2c, 0xa2, 0x4e, 0xaf, 0x2b, 0xfc, 0x97, - 0x7a, 0xbd, 0x8f, 0x87, 0xf8, 0x86, 0xe6, 0x08, 0x96, 0xb0, 0x16, 0xf2, 0x17, 0x8e, 0x21, 0x5a, - 0x67, 0x2d, 0x72, 0xd3, 0x6a, 0x8d, 0x2e, 0x92, 0x30, 0x3e, 0x2c, 0x19, 0xbd, 0xc6, 0x92, 0x3b, - 0x09, 0xfb, 0xaf, 0xbf, 0xe0, 0x9d, 0x72, 0x26, 0x91, 0xd8, 0x75, 0x0f, 0x49, 0xbf, 0xd0, 0x76, - 0x56, 0x2a, 0xed, 0x90, 0x03, 0x3b, 0x7c, 0x95, 0x9c, 0x6b, 0xe2, 0x93, 0x82, 0x57, 0x25, 0x38, - 0x8c, 0x52, 0xf7, 0x96, 0xe6, 0x6f, 0xdf, 0x9c, 0x6d, 0x71, 0xe7, 0x57, 0xf4, 0x6c, 0x4a, 0xb6, - 0x4c, 0x8e, 0xbe, 0x73, 0x7f, 0xcc, 0x3d, 0xea, 0xfb, 0x1d, 0x2c, 0xb8, 0x9c, 0xf8, 0x2f, 0x01, - 0xa9, 0x9b, 0xf8, 0x63, 0xee, 0x2c, 0x04, 0xff, 0x4f, 0x32, 0xf9, 0xab, 0xba, 0x54, 0x3a, 0x59, - 0x4d, 0xf8, 0x48, 0x05, 0x7d, 0x26, 0x60, 0x75, 0x8b, 0x05, 0xeb, 0x57, 0x4c, 0xb3, 0xbf, 0x84, - 0x65, 0xb4, 0x9d, 0x18, 0x34, 0x99, 0x51, 0x92, 0x4d, 0x53, 0x9b, 0x35, 0x7b, 0x7d, 0x90, 0x0e, - 0x1d, 0x7a, 0x5b, 0x08, 0xaf, 0xa1, 0xe2, 0x0d, 0x93, 0xa0, 0x0e, 0xeb, 0x66, 0x9a, 0x2c, 0x9b, - 0x69, 0x5c, 0x35, 0x93, 0x35, 0x54, 0x8e, 0x14, 0x26, 0x95, 0x74, 0x90, 0x6e, 0xf7, 0x6b, 0x00, - 0x27, 0x91, 0x0f, 0x3c, 0xb9, 0xee, 0x96, 0x17, 0xdc, 0xb2, 0x0e, 0x29, 0x8b, 0xab, 0x66, 0x9a, - 0x2e, 0x85, 0x35, 0xaf, 0x94, 0xd3, 0x36, 0x79, 0xc1, 0xd9, 0xe1, 0xf1, 0xce, 0x2f, 0x8e, 0xfe, - 0x11, 0xdd, 0x27, 0x00, 0x92, 0x3c, 0x4b, 0xee, 0xa7, 0x4a, 0xc9, 0x03, 0x8c, 0x8c, 0x57, 0xb5, - 0xed, 0x56, 0xf5, 0xaf, 0xa0, 0xe5, 0x44, 0xaf, 0x8a, 0x7b, 0xe5, 0x1a, 0x5b, 0x78, 0xd0, 0x25, - 0x85, 0xc9, 0x8d, 0x53, 0x50, 0x8c, 0x30, 0x17, 0x93, 0x3d, 0x74, 0x48, 0xb6, 0x48, 0xba, 0x2d, - 0x84, 0xfa, 0x71, 0xb6, 0xda, 0xbc, 0x10, 0xe0, 0x4a, 0xe4, 0x7b, 0x1a, 0x14, 0x83, 0xa0, 0x84, - 0xdd, 0x37, 0x69, 0x09, 0x82, 0x21, 0x5d, 0xc7, 0x77, 0x68, 0x17, 0x55, 0xb7, 0x47, 0x28, 0xac, - 0x62, 0x90, 0x57, 0x38, 0x94, 0x1c, 0xe3, 0x7d, 0xfc, 0x38, 0xf2, 0x3b, 0x15, 0xa8, 0xcf, 0x0b, - 0x27, 0xad, 0xcb, 0x0b, 0x18, 0x37, 0xfc, 0xe4, 0xb2, 0xda, 0x9b, 0x25, 0xa0, 0xd9, 0x64, 0xd2, - 0xd7, 0x6a, 0x40, 0x78, 0x75, 0xed, 0x6f, 0xdf, 0xa8, 0x83, 0xe8, 0xee, 0x98, 0x95, 0xcb, 0xde, - 0xb1, 0x8d, 0xb9, 0x0f, 0x08, 0xd5, 0x4f, 0xd2, 0xa0, 0x84, 0xd4, 0xbf, 0xc4, 0x24, 0x0a, 0xc1, - 0x88, 0x87, 0x5a, 0x71, 0xaf, 0x8a, 0x99, 0x87, 0x07, 0xbd, 0xbe, 0x8a, 0x1b, 0x76, 0xa8, 0x0e, - 0x55, 0x75, 0xf3, 0x57, 0xb5, 0xea, 0x45, 0x51, 0xcd, 0x23, 0x9c, 0xc0, 0x80, 0x46, 0x13, 0x56, - 0x35, 0x40, 0x0e, 0xf3, 0x2c, 0x21, 0x07, 0xbc, 0xbf, 0x8c, 0x1c, 0x24, 0xc6, 0xb6, 0xe2, 0xf2, - 0x35, 0x08, 0x22, 0x05, 0xe4, 0x02, 0xcb, 0xa7, 0xfc, 0x57, 0x45, 0x61, 0xf9, 0xa1, 0xb3, 0xd5, - 0xc3, 0x44, 0x72, 0xfa, 0x90, 0x49, 0x94, 0x30, 0xb1, 0xdb, 0xed, 0x86, 0x12, 0x73, 0x98, 0xd8, - 0x6e, 0xb7, 0x43, 0x89, 0x79, 0x4c, 0x94, 0x65, 0x39, 0x94, 0x58, 0xc0, 0xc4, 0x4a, 0xa5, 0x12, - 0x4a, 0x2c, 0xc6, 0x25, 0x96, 0x31, 0xb1, 0x5c, 0x2e, 0x87, 0x12, 0xdb, 0x98, 0x98, 0xcf, 0xe7, - 0x43, 0x89, 0x1d, 0x4c, 0xcc, 0xe5, 0x72, 0xa1, 0x44, 0xf4, 0x1d, 0x7e, 0xcd, 0x66, 0xb3, 0xa1, - 0xc4, 0x2e, 0x26, 0x4a, 0x92, 0x14, 0x4a, 0xb4, 0x08, 0x9c, 0x52, 0xb8, 0x64, 0x9f, 0x94, 0x94, - 0xc3, 0x89, 0x1a, 0x49, 0x2c, 0x76, 0x42, 0x89, 0x06, 0x24, 0x92, 0xef, 0xb6, 0x4a, 0x62, 0x5e, - 0xe0, 0x82, 0x3f, 0x62, 0xba, 0x92, 0x0c, 0x15, 0xb4, 0xdb, 0x2e, 0x3d, 0x73, 0x91, 0xe4, 0x81, - 0x9b, 0x5e, 0x0c, 0xa5, 0x3b, 0xed, 0x15, 0x0d, 0xd3, 0x8b, 0x45, 0x61, 0x4a, 0x26, 0x93, 0x91, - 0x0a, 0xb2, 0x57, 0x23, 0x5b, 0x12, 0x05, 0x2e, 0xf8, 0xb3, 0xba, 0xc6, 0xe0, 0x53, 0x7d, 0x90, - 0xf0, 0x78, 0xe2, 0xc9, 0x4f, 0xba, 0xe2, 0x94, 0x86, 0x8f, 0xe2, 0x1e, 0x03, 0xde, 0xb9, 0x9f, - 0x10, 0xd3, 0x65, 0x28, 0x57, 0x8d, 0x32, 0x54, 0x94, 0xfc, 0x84, 0xa1, 0xe8, 0xda, 0x12, 0x61, - 0xa8, 0xe8, 0x98, 0xe4, 0xe2, 0x86, 0x34, 0x1f, 0x37, 0xf8, 0x84, 0xa1, 0x0a, 0x85, 0xc2, 0x32, - 0x43, 0x15, 0x8b, 0xc5, 0x4f, 0x32, 0x54, 0x94, 0x73, 0x09, 0x43, 0x75, 0x3a, 0x9d, 0x65, 0x86, - 0x8a, 0x4e, 0x91, 0x6e, 0xdc, 0x6c, 0x20, 0x0c, 0xa5, 0xe4, 0xa5, 0x65, 0x86, 0xca, 0x2b, 0xd2, - 0x32, 0x43, 0xe5, 0xcb, 0x72, 0x3c, 0x43, 0xe5, 0x60, 0x20, 0xbc, 0xff, 0x57, 0x70, 0x13, 0x10, - 0x33, 0x96, 0x9b, 0x20, 0xbd, 0xb0, 0x82, 0x9b, 0xd8, 0x56, 0x3f, 0xc3, 0x4a, 0xa2, 0x04, 0x5c, - 0xe4, 0xff, 0xf9, 0x04, 0x2b, 0x15, 0xb2, 0x02, 0xe7, 0xfd, 0xff, 0x59, 0x3e, 0x1a, 0xe9, 0xb0, - 0x0e, 0xf0, 0x8c, 0x9c, 0x42, 0x73, 0x61, 0xb7, 0x1f, 0x28, 0x4c, 0xa4, 0x6a, 0xbb, 0x8f, 0x7d, - 0xd6, 0xbb, 0xe9, 0x8e, 0xa5, 0x80, 0xf0, 0x77, 0x55, 0x61, 0xd2, 0x24, 0x9f, 0xac, 0xa9, 0xbd, - 0x84, 0x9d, 0xc6, 0x3d, 0x25, 0x45, 0xe0, 0x41, 0x46, 0x2b, 0x7f, 0xfd, 0xe5, 0x5b, 0x26, 0x60, - 0x9e, 0xda, 0xa3, 0x61, 0xda, 0x1c, 0x18, 0x8e, 0x61, 0x67, 0xb2, 0x15, 0x49, 0xcc, 0x64, 0xc5, - 0xb2, 0x88, 0x92, 0x1c, 0x7a, 0xc0, 0xe5, 0x59, 0xaf, 0x7b, 0x46, 0x40, 0xad, 0x67, 0x58, 0x09, - 0xe2, 0xfa, 0xe0, 0x40, 0xeb, 0x05, 0x13, 0xf3, 0xaf, 0xbf, 0x7e, 0xfc, 0xa4, 0x85, 0xe4, 0x3a, - 0xa8, 0x9b, 0xda, 0x0f, 0xf1, 0xe7, 0x8e, 0x8e, 0xaa, 0xf8, 0x01, 0x18, 0x26, 0x4f, 0xa0, 0xff, - 0x24, 0x92, 0x55, 0x4c, 0x14, 0x0c, 0xbf, 0x8d, 0x84, 0x2c, 0x68, 0x3f, 0xb2, 0x3f, 0xe1, 0x8f, - 0xf4, 0x33, 0x29, 0xa8, 0x41, 0xba, 0x01, 0x60, 0xe2, 0x92, 0x47, 0x5e, 0x54, 0x6c, 0x84, 0x3c, - 0x25, 0x53, 0xda, 0x8f, 0x1c, 0x94, 0xd4, 0xb7, 0xeb, 0x06, 0x98, 0x23, 0xdf, 0xeb, 0x2a, 0x28, - 0x3b, 0x14, 0x19, 0xed, 0x47, 0xfe, 0x67, 0x72, 0xb1, 0xb0, 0xf1, 0x28, 0xcd, 0xfe, 0x18, 0xd0, - 0xc5, 0xbd, 0x15, 0x74, 0xef, 0x27, 0x88, 0x8f, 0x13, 0xf4, 0x8b, 0xfa, 0xb6, 0x8b, 0x01, 0xa3, - 0x69, 0x47, 0xd7, 0xea, 0x76, 0x1f, 0x3a, 0x26, 0xea, 0xb8, 0x0e, 0x4a, 0x73, 0x42, 0xaf, 0xa7, - 0x8b, 0x49, 0xc1, 0x33, 0x56, 0xdc, 0x6b, 0x20, 0xeb, 0xba, 0x9f, 0x12, 0xa8, 0x56, 0xc7, 0x68, - 0x9f, 0xd5, 0x7f, 0x8d, 0x2c, 0x0d, 0xf4, 0x2b, 0x02, 0x11, 0xd1, 0xac, 0xa8, 0x51, 0x46, 0x06, - 0x25, 0xd8, 0x99, 0x4c, 0x86, 0x74, 0x2d, 0xde, 0xbb, 0x00, 0xb9, 0x03, 0xda, 0x75, 0x64, 0x64, - 0x5b, 0xaf, 0xaa, 0xde, 0x6c, 0xb5, 0x70, 0x78, 0x61, 0xd4, 0xbe, 0x50, 0x9b, 0x88, 0xd2, 0xd8, - 0xa9, 0x47, 0xcc, 0x9c, 0x5b, 0xb9, 0x4f, 0x8c, 0x1c, 0x74, 0xc8, 0xc3, 0x3c, 0x43, 0x42, 0xc7, - 0xb0, 0x00, 0xee, 0xf5, 0x02, 0x0f, 0xd8, 0x69, 0xb5, 0x0b, 0xe3, 0x0f, 0xeb, 0x9f, 0xa2, 0xe1, - 0xae, 0xfd, 0x0c, 0x3f, 0xad, 0xae, 0x00, 0x6b, 0x41, 0x52, 0x10, 0x04, 0x91, 0xe9, 0xd8, 0x36, - 0xa6, 0xac, 0x39, 0x75, 0x97, 0x26, 0xc7, 0xee, 0x6c, 0x80, 0x33, 0xed, 0x16, 0x26, 0xf7, 0xcc, - 0xd6, 0x79, 0x3c, 0x42, 0x0a, 0x74, 0xc2, 0x9b, 0x2d, 0xf5, 0x6e, 0x73, 0xa0, 0x6a, 0xdd, 0x84, - 0x0d, 0xe3, 0xe3, 0xa3, 0x67, 0xe8, 0xe8, 0x9f, 0x85, 0x65, 0x1a, 0x43, 0xec, 0x95, 0x2a, 0xb0, - 0x58, 0xf4, 0xac, 0x9f, 0x69, 0x19, 0x78, 0x74, 0x56, 0x83, 0x71, 0x20, 0x7e, 0x33, 0x51, 0x48, - 0x90, 0x4e, 0xeb, 0x21, 0xbd, 0xa8, 0xef, 0xe9, 0x45, 0x90, 0x7a, 0x6c, 0x82, 0x9a, 0x0a, 0xca, - 0x2c, 0x2d, 0x06, 0xf5, 0xc1, 0xc2, 0x4b, 0xf0, 0x68, 0x00, 0x93, 0x8b, 0xf7, 0xd2, 0xdc, 0x95, - 0x86, 0x5f, 0x9f, 0xe7, 0xc8, 0x75, 0xdd, 0xf4, 0x0a, 0xcf, 0xe3, 0xab, 0x2f, 0xfc, 0x2a, 0x4d, - 0x8b, 0xb6, 0x28, 0x90, 0xd6, 0x92, 0x49, 0x4f, 0x95, 0x8d, 0xef, 0x3d, 0xd0, 0xca, 0x92, 0xa8, - 0xd9, 0x22, 0x63, 0xd5, 0xc1, 0xce, 0xeb, 0x2b, 0x7b, 0x8a, 0x62, 0xe2, 0x1b, 0x55, 0xd6, 0x08, - 0xeb, 0xe1, 0x18, 0xe2, 0x21, 0x40, 0x34, 0x7e, 0xef, 0x1c, 0x55, 0x03, 0x55, 0x2f, 0x41, 0x37, - 0x93, 0xea, 0x2b, 0x5a, 0x37, 0x3b, 0x43, 0x1e, 0x10, 0xfb, 0x92, 0x39, 0x37, 0xda, 0x6a, 0x06, - 0x4c, 0x1a, 0xdb, 0x49, 0xe8, 0xf2, 0x58, 0xed, 0xcb, 0x50, 0x32, 0x3d, 0xb2, 0x15, 0xab, 0xd1, - 0x07, 0xa4, 0x80, 0x65, 0x91, 0xdf, 0xd6, 0xb6, 0x02, 0x65, 0xa2, 0x97, 0x19, 0x32, 0x0a, 0x50, - 0xa0, 0x9a, 0x12, 0x3f, 0xd2, 0x4e, 0x4f, 0x71, 0x3a, 0x83, 0xc4, 0xba, 0xa1, 0x1f, 0xe0, 0x7d, - 0xf5, 0x50, 0x34, 0xfd, 0x02, 0xc6, 0x3f, 0x2f, 0xcc, 0x87, 0x8a, 0x33, 0x30, 0xba, 0x55, 0x1e, - 0x7a, 0x05, 0x76, 0xc6, 0xc9, 0xa5, 0x27, 0x60, 0xea, 0x29, 0x24, 0x3f, 0x91, 0x0c, 0x52, 0xe6, - 0x51, 0x23, 0x19, 0xa8, 0x86, 0x8e, 0x2a, 0x30, 0x77, 0x93, 0x69, 0x60, 0x01, 0xe8, 0x17, 0x4b, - 0xa1, 0x5b, 0xd6, 0x80, 0xc9, 0xa2, 0x19, 0xfd, 0x04, 0x7f, 0x61, 0x70, 0x32, 0x96, 0x76, 0x25, - 0x0e, 0xe9, 0x18, 0x3d, 0xbd, 0x21, 0x20, 0xd2, 0xdc, 0x1e, 0xfd, 0x68, 0x9d, 0x4d, 0xe6, 0x90, - 0xd2, 0x05, 0x40, 0xa1, 0xc9, 0x9e, 0xaa, 0x03, 0x4f, 0xce, 0x12, 0x89, 0x24, 0xb4, 0xea, 0x8a, - 0x4d, 0x46, 0x3d, 0xed, 0xa7, 0x61, 0xee, 0x42, 0xb9, 0xea, 0xaa, 0xac, 0x80, 0x34, 0xc0, 0xe8, - 0xdf, 0xbe, 0xb1, 0xd3, 0x93, 0x47, 0xfe, 0x6f, 0x02, 0xfb, 0x27, 0x85, 0xd0, 0xf1, 0x7e, 0xc1, - 0x8d, 0x73, 0x75, 0x43, 0x2c, 0x30, 0x85, 0x7a, 0x21, 0x57, 0xf3, 0xd0, 0xd5, 0xd0, 0x21, 0xfc, - 0xc8, 0x9c, 0xe0, 0xf5, 0x01, 0x3e, 0x78, 0x44, 0xaf, 0x0d, 0xfb, 0x4e, 0x9f, 0x99, 0x53, 0xa3, - 0x7e, 0x1e, 0x7b, 0x52, 0x94, 0xa6, 0x86, 0x7d, 0x34, 0xc9, 0x85, 0x80, 0x11, 0x14, 0x0b, 0xf2, - 0x2f, 0xe5, 0x45, 0x97, 0x15, 0xbb, 0x31, 0x12, 0x34, 0xb8, 0x50, 0x9d, 0x06, 0x0c, 0xf2, 0x42, - 0xbc, 0xbb, 0x48, 0xf8, 0x92, 0x75, 0x57, 0xaf, 0xce, 0xd8, 0x17, 0x73, 0x9e, 0xd8, 0x14, 0x6b, - 0x9e, 0xdc, 0x02, 0x40, 0xac, 0x59, 0x8b, 0x50, 0xca, 0xb0, 0x1a, 0x9a, 0x96, 0xd8, 0x64, 0x6e, - 0x35, 0x76, 0x23, 0x7e, 0x7f, 0x6e, 0x26, 0xfd, 0x15, 0xc6, 0xc6, 0xf1, 0x76, 0x92, 0x71, 0xb2, - 0xdd, 0x31, 0x46, 0x9d, 0x01, 0x3a, 0xf2, 0xd1, 0x28, 0x23, 0x7c, 0xbd, 0x4b, 0xe2, 0x7b, 0x61, - 0x24, 0x56, 0x95, 0x06, 0x79, 0x14, 0x29, 0x1b, 0x48, 0xa5, 0xc8, 0x80, 0x29, 0x9e, 0xac, 0xa5, - 0x2e, 0xa6, 0x20, 0x58, 0x26, 0x06, 0xb6, 0xe5, 0xd3, 0x99, 0x72, 0x07, 0x3f, 0x23, 0x01, 0x65, - 0xa9, 0x93, 0xfb, 0xaf, 0xbf, 0x9c, 0x1f, 0xca, 0xcf, 0xe8, 0xa1, 0x4f, 0xaf, 0x10, 0x23, 0x19, - 0xdd, 0xf0, 0x1b, 0x45, 0x70, 0xea, 0x40, 0xcf, 0x39, 0xad, 0x0d, 0x06, 0xbe, 0x03, 0xa2, 0x4d, - 0x6d, 0x61, 0x38, 0x32, 0x88, 0xee, 0xff, 0x6a, 0xc6, 0x1c, 0xbf, 0xb4, 0x87, 0x86, 0xe1, 0x80, - 0x82, 0x81, 0xc3, 0x00, 0x05, 0x96, 0x7d, 0x6c, 0xa0, 0x83, 0xa8, 0xbc, 0x40, 0x1b, 0x59, 0x62, - 0x4f, 0x10, 0x4b, 0x0b, 0x82, 0x2e, 0x65, 0xa6, 0xc0, 0x37, 0x88, 0x5f, 0x68, 0xa0, 0x51, 0x37, - 0x1e, 0x4c, 0x0e, 0x4c, 0x56, 0x3a, 0xce, 0x6e, 0x1c, 0x4f, 0x72, 0x69, 0x45, 0x6c, 0x86, 0x57, - 0x37, 0x0b, 0x14, 0x1b, 0xc2, 0x00, 0x36, 0xd5, 0x51, 0x68, 0x7c, 0x0f, 0x59, 0x89, 0xf0, 0xe3, - 0xae, 0x47, 0xb7, 0xe7, 0x67, 0x64, 0x41, 0x0a, 0x93, 0x07, 0xec, 0x6c, 0x05, 0x63, 0x7e, 0xc0, - 0x66, 0x44, 0x20, 0x60, 0x6a, 0x90, 0x38, 0x20, 0x8f, 0xdd, 0x5d, 0x48, 0x71, 0xb0, 0x69, 0xf7, - 0xb2, 0xae, 0x0e, 0xc9, 0xea, 0xe1, 0xfa, 0x84, 0x04, 0xb7, 0x44, 0x3d, 0x3a, 0x47, 0xe2, 0xc6, - 0x8b, 0xf6, 0xb0, 0x10, 0xa4, 0x0a, 0xcc, 0x0c, 0x01, 0x50, 0x64, 0x65, 0x0f, 0xcb, 0x25, 0x58, - 0x90, 0x09, 0x45, 0x4a, 0xce, 0x03, 0x02, 0xf1, 0x4d, 0x20, 0x88, 0xe2, 0x5a, 0xa2, 0x06, 0x47, - 0x0c, 0x5d, 0xae, 0x27, 0xc3, 0x12, 0xd4, 0xfd, 0x02, 0xe3, 0x22, 0xb2, 0x26, 0x66, 0x24, 0xa2, - 0x49, 0xa9, 0x17, 0x94, 0x9c, 0xcf, 0x70, 0x2c, 0x8d, 0x1c, 0x06, 0x58, 0xf7, 0x8e, 0x50, 0x3b, - 0xe1, 0x12, 0x06, 0xc5, 0x66, 0x3c, 0x4d, 0x56, 0xa1, 0xee, 0xac, 0x44, 0x5d, 0x88, 0xcb, 0x72, - 0xbb, 0x59, 0x08, 0x0a, 0xeb, 0x02, 0x02, 0xa1, 0x75, 0x83, 0x1b, 0x7c, 0x43, 0xc5, 0x75, 0x1e, - 0x52, 0xb0, 0x03, 0x1f, 0x1d, 0x2a, 0xa0, 0xe7, 0xb2, 0x33, 0x48, 0xf7, 0x34, 0x03, 0xa6, 0x8a, - 0x93, 0x29, 0x17, 0xf3, 0x48, 0x56, 0x9d, 0x4d, 0x4d, 0x38, 0x5b, 0x24, 0xf9, 0x4f, 0x3b, 0x99, - 0xc9, 0x15, 0x31, 0x5b, 0x8b, 0xcf, 0xde, 0xc2, 0xdc, 0x3f, 0xf5, 0x64, 0xa6, 0x88, 0xcb, 0x55, - 0xdd, 0xde, 0xb1, 0x53, 0x3c, 0xc7, 0xa7, 0x12, 0xd9, 0x3a, 0x3c, 0xf3, 0x20, 0xfa, 0x79, 0xdc, - 0x9f, 0x99, 0xd9, 0xb8, 0x24, 0x09, 0x1c, 0x8f, 0xdf, 0x09, 0x74, 0x9d, 0xa3, 0x72, 0xaa, 0xae, - 0xff, 0xf5, 0x97, 0xbd, 0xa3, 0xfb, 0x15, 0x74, 0x58, 0xca, 0x8c, 0x11, 0xb2, 0x14, 0xfe, 0x40, - 0x15, 0x28, 0x2d, 0x7c, 0x01, 0x91, 0xae, 0x03, 0x29, 0xa1, 0x38, 0x36, 0x00, 0xa4, 0xd8, 0x2e, - 0x54, 0x60, 0xce, 0xd9, 0x34, 0x4d, 0x4b, 0x91, 0x38, 0x58, 0x4c, 0xff, 0x8e, 0xa0, 0xa0, 0x5f, - 0x0f, 0xf3, 0x99, 0xf2, 0x6e, 0x3a, 0xa6, 0x38, 0x5b, 0x45, 0xf1, 0x4f, 0xac, 0x62, 0x2b, 0x68, - 0x1b, 0xc9, 0x8c, 0xff, 0x56, 0x07, 0xb9, 0x61, 0x4c, 0x70, 0x1e, 0xa1, 0xdf, 0x92, 0xf7, 0x9c, - 0xa7, 0xbf, 0xbe, 0x3b, 0xd6, 0xf6, 0x77, 0xa7, 0xeb, 0xed, 0x46, 0xbe, 0x2a, 0x33, 0xa7, 0xcb, - 0x6f, 0xff, 0x31, 0x57, 0x16, 0xdf, 0x33, 0x4e, 0x97, 0xcd, 0x1a, 0xcb, 0x1a, 0xcd, 0x72, 0x16, - 0xa0, 0x69, 0xba, 0xd9, 0x19, 0xa8, 0xfe, 0x2b, 0x34, 0x3a, 0x67, 0xcc, 0x0e, 0xdc, 0x55, 0x82, - 0x8e, 0x8f, 0x52, 0xcf, 0xfa, 0x72, 0x8b, 0xec, 0x90, 0x92, 0x0d, 0xb5, 0xa4, 0x03, 0xda, 0xfd, - 0xb7, 0x6f, 0x4a, 0x2a, 0xe5, 0xd1, 0x4c, 0xd9, 0x96, 0x0a, 0x88, 0x8a, 0x52, 0x87, 0xdf, 0xa4, - 0xa0, 0x30, 0x3c, 0x8b, 0xd1, 0xdf, 0x77, 0xd0, 0x24, 0x23, 0x1a, 0x81, 0x53, 0x7f, 0x99, 0x08, - 0xa9, 0xda, 0xfd, 0x95, 0xa4, 0x77, 0x86, 0xd5, 0xbe, 0x90, 0x96, 0x7f, 0x38, 0x3f, 0xff, 0xfa, - 0x4b, 0xfc, 0x82, 0xad, 0x63, 0x1f, 0x3b, 0x41, 0x51, 0xfc, 0x0e, 0x0a, 0x14, 0x0e, 0xa6, 0xbe, - 0x83, 0x5d, 0xee, 0x90, 0x13, 0x98, 0xe5, 0x72, 0x8d, 0x3b, 0xde, 0xe3, 0x86, 0x23, 0xdb, 0xe1, - 0xda, 0x0a, 0x07, 0xe9, 0x9c, 0x01, 0x56, 0x86, 0x62, 0xdb, 0x69, 0x1c, 0xd8, 0xea, 0x9a, 0x56, - 0x7e, 0x79, 0xf5, 0x71, 0x13, 0x7a, 0x62, 0xa9, 0x78, 0x4d, 0x34, 0xf7, 0xc7, 0xdc, 0x24, 0x8a, - 0xb1, 0x93, 0x5c, 0x7c, 0x61, 0x68, 0x64, 0xba, 0x5b, 0x02, 0x2e, 0x1a, 0x6e, 0xf4, 0x31, 0xf0, - 0x88, 0xe2, 0x91, 0x81, 0xe0, 0xf0, 0xed, 0x1b, 0x45, 0x45, 0xf9, 0x19, 0x3c, 0xa5, 0x75, 0xe2, - 0x63, 0x0d, 0x5e, 0x61, 0xf8, 0x59, 0x1f, 0xfd, 0x95, 0x26, 0xcf, 0x30, 0xbe, 0x96, 0xf1, 0xd1, - 0xfb, 0x65, 0x4d, 0x37, 0x8f, 0x69, 0xcd, 0x4b, 0x4a, 0x9b, 0x36, 0x03, 0x9e, 0x6c, 0xaa, 0xf7, - 0xb2, 0xe6, 0xa9, 0xfe, 0xa4, 0x30, 0x68, 0x80, 0x5e, 0xa5, 0xa4, 0xeb, 0xac, 0xe7, 0xdd, 0x45, - 0xd5, 0xdd, 0xb8, 0x00, 0x0e, 0x51, 0xfb, 0x7a, 0x02, 0xb7, 0x41, 0xbd, 0x82, 0x1e, 0x36, 0x4e, - 0x1a, 0x14, 0xec, 0x1d, 0xf2, 0xb7, 0x9a, 0xe8, 0x2a, 0x78, 0x1f, 0x0d, 0xa4, 0xe9, 0x82, 0xff, - 0x68, 0x06, 0x8f, 0x6f, 0x5a, 0xd4, 0xb7, 0xe8, 0xb0, 0x93, 0xff, 0x4d, 0xf3, 0x68, 0xf7, 0x21, - 0xa5, 0xde, 0xb4, 0x1d, 0xe6, 0x19, 0xb7, 0x44, 0x03, 0x5e, 0x32, 0x77, 0x3b, 0xaf, 0x3e, 0x67, - 0x52, 0xc3, 0x15, 0xdd, 0x9f, 0x35, 0xc5, 0xfd, 0xe0, 0x58, 0x82, 0xf8, 0xb0, 0x15, 0xa7, 0xe5, - 0x7d, 0x8e, 0xfa, 0x86, 0x6c, 0x49, 0x89, 0x42, 0x85, 0xfc, 0x83, 0xaa, 0x8a, 0x32, 0x55, 0x3a, - 0x4d, 0x63, 0x38, 0x04, 0x6d, 0x04, 0xd7, 0x22, 0x73, 0x86, 0x2a, 0x18, 0x2b, 0x8c, 0x4d, 0x95, - 0x46, 0x0d, 0xe0, 0xf7, 0x0b, 0xda, 0x86, 0x6c, 0x81, 0x14, 0x66, 0x10, 0xa1, 0x51, 0x5d, 0x44, - 0x06, 0x07, 0x9c, 0x80, 0xbb, 0xaa, 0x30, 0x35, 0x6b, 0x8e, 0x35, 0x9b, 0x27, 0xec, 0x75, 0xba, - 0x1a, 0x68, 0xd3, 0xee, 0x16, 0xd1, 0x76, 0x56, 0x24, 0x2c, 0x81, 0x02, 0xde, 0xd5, 0x5d, 0x93, - 0xf3, 0x05, 0x35, 0x37, 0x7f, 0xb1, 0x21, 0xe8, 0xe4, 0x83, 0x4d, 0x1d, 0x1e, 0x98, 0x52, 0xd9, - 0xd9, 0x0c, 0xdf, 0x96, 0x42, 0xbe, 0x42, 0xc5, 0x7c, 0x31, 0x88, 0x23, 0x9f, 0x6c, 0xe6, 0x37, - 0xab, 0x9b, 0x7e, 0x3c, 0x82, 0xbf, 0x77, 0x5d, 0x0b, 0x05, 0x6a, 0xd7, 0xf8, 0xf8, 0x0b, 0x17, - 0x6a, 0x1f, 0xb4, 0xbc, 0xd8, 0xfe, 0x55, 0xd3, 0x53, 0x30, 0x31, 0x79, 0x0c, 0x37, 0x19, 0x60, - 0x44, 0x9c, 0x6e, 0xf8, 0x81, 0x78, 0x33, 0xc5, 0xf9, 0x02, 0x13, 0xce, 0xfd, 0xe0, 0x01, 0xe8, - 0xc2, 0x96, 0xc2, 0x4d, 0x64, 0x1b, 0x23, 0x57, 0x54, 0xdb, 0x1e, 0x29, 0x44, 0xbb, 0xc6, 0x09, - 0x36, 0x03, 0x31, 0xea, 0xd5, 0x82, 0x45, 0x0e, 0x75, 0x03, 0x68, 0x95, 0xc7, 0x20, 0x09, 0xfc, - 0x9f, 0x17, 0x68, 0x1f, 0x47, 0x20, 0x91, 0xf0, 0xf3, 0x57, 0x6e, 0x53, 0xaa, 0xcd, 0xa1, 0xb2, - 0x30, 0x32, 0xdd, 0xaa, 0xe4, 0xac, 0x38, 0x2a, 0x53, 0x32, 0x26, 0x8c, 0x55, 0x63, 0x64, 0xd3, - 0xc8, 0x28, 0x4d, 0x93, 0xe9, 0xae, 0xc3, 0x18, 0x96, 0x51, 0xfc, 0x94, 0x0d, 0x09, 0x91, 0xf9, - 0x4f, 0x9d, 0xe3, 0xb8, 0x44, 0x0b, 0x8c, 0x20, 0x80, 0x40, 0xf6, 0xda, 0x98, 0xa8, 0x1a, 0x3d, - 0x57, 0xc3, 0x61, 0xf0, 0x3c, 0x89, 0x32, 0x33, 0x5c, 0x51, 0xa0, 0x90, 0x80, 0x11, 0xda, 0x65, - 0x12, 0xf0, 0x3a, 0x72, 0x81, 0x90, 0x3d, 0x30, 0x0c, 0x1a, 0x52, 0x82, 0xfe, 0x73, 0xee, 0x55, - 0x37, 0x26, 0x20, 0x46, 0x0d, 0xa3, 0x8b, 0x91, 0x35, 0x0e, 0xd8, 0xa7, 0x88, 0xc4, 0x66, 0x38, - 0x26, 0x10, 0xb9, 0x35, 0x1a, 0xfe, 0x47, 0xc0, 0x5a, 0x1b, 0x6a, 0xe3, 0xb2, 0x3d, 0xc6, 0xa2, - 0x9b, 0xb3, 0x10, 0x6b, 0xfa, 0x41, 0x32, 0x9b, 0x49, 0x81, 0x10, 0x90, 0x84, 0xac, 0xf0, 0x54, - 0xa1, 0x76, 0x8f, 0x10, 0x30, 0xc2, 0x4e, 0x17, 0x7c, 0x2d, 0x8c, 0xcc, 0x1b, 0x2a, 0x7a, 0xeb, - 0x76, 0xc4, 0x87, 0xe0, 0x71, 0x89, 0x42, 0x7c, 0x11, 0x44, 0x9a, 0x80, 0x3c, 0xc6, 0x98, 0x88, - 0x3a, 0x31, 0x46, 0xc8, 0xf3, 0xb6, 0x98, 0xf4, 0xa6, 0xb2, 0x61, 0x8e, 0xf0, 0xfe, 0x33, 0xaf, - 0xda, 0x17, 0xd7, 0x68, 0x41, 0xb6, 0x83, 0x5f, 0x61, 0x6c, 0xa8, 0x5d, 0x4e, 0x01, 0x9e, 0x4b, - 0x80, 0x42, 0x0b, 0x09, 0x5f, 0xea, 0x6e, 0x2e, 0x28, 0x22, 0xeb, 0xac, 0x45, 0x62, 0x2c, 0xba, - 0x4c, 0xf2, 0x81, 0xad, 0xc8, 0xe7, 0xc5, 0x3c, 0x3a, 0xa6, 0xd2, 0x48, 0xfa, 0x91, 0xbd, 0x33, - 0x17, 0xab, 0xf3, 0xc5, 0xa2, 0x1a, 0x63, 0x42, 0xd2, 0x80, 0x10, 0x25, 0x04, 0x60, 0x14, 0x81, - 0xb0, 0x39, 0xc9, 0xce, 0x78, 0x50, 0x64, 0xa3, 0x76, 0x21, 0x6e, 0x4a, 0x05, 0xea, 0x92, 0x02, - 0x92, 0x26, 0x19, 0xf5, 0xc9, 0xf8, 0x76, 0x99, 0x47, 0xd0, 0x0f, 0xb1, 0x46, 0xb0, 0x33, 0x5e, - 0x5c, 0xd0, 0x6a, 0xb4, 0x13, 0x60, 0x2a, 0xbd, 0x82, 0xaa, 0x12, 0x51, 0x2e, 0x05, 0x1f, 0x6f, - 0x06, 0x71, 0x1a, 0xed, 0xe2, 0x0a, 0x7d, 0x30, 0x71, 0x2c, 0x15, 0x01, 0x4a, 0x06, 0xc8, 0xfb, - 0xd7, 0x3f, 0x85, 0xb0, 0x67, 0x15, 0x79, 0x14, 0x55, 0xcb, 0xd8, 0xe3, 0xbe, 0x13, 0xb3, 0x65, - 0x14, 0xc1, 0x1d, 0x2c, 0xce, 0xdf, 0xc3, 0xda, 0x0d, 0x79, 0xfb, 0x67, 0x90, 0x56, 0x3e, 0x40, - 0xda, 0x3d, 0x66, 0xf1, 0x8f, 0xe3, 0x4c, 0x6c, 0xe8, 0xdf, 0xc3, 0x9b, 0xc6, 0x2c, 0xfd, 0x33, - 0x68, 0x27, 0xdc, 0x00, 0x28, 0x85, 0x38, 0x58, 0xd3, 0xf6, 0x40, 0xed, 0x61, 0x51, 0x9a, 0x9a, - 0x1e, 0xe9, 0x34, 0x81, 0xaf, 0x7d, 0xa9, 0xf1, 0x61, 0xcc, 0x83, 0xc0, 0xa9, 0xbf, 0x41, 0x03, - 0x5c, 0xbb, 0x10, 0x16, 0x77, 0x2e, 0x08, 0xe6, 0xf5, 0x59, 0x28, 0x5e, 0xc4, 0x23, 0xfa, 0xf5, - 0x99, 0xbf, 0x84, 0xc3, 0x9a, 0x09, 0xc2, 0x05, 0x0a, 0x7a, 0x8b, 0xa2, 0x08, 0xe4, 0xf2, 0xd5, - 0x4d, 0x83, 0x66, 0xc1, 0xf2, 0x04, 0x76, 0x08, 0xc6, 0x7a, 0xd4, 0xb7, 0x95, 0x1f, 0xd9, 0x9f, - 0xdb, 0x0e, 0xfc, 0x01, 0xc4, 0x51, 0xba, 0xc6, 0x1d, 0xe6, 0xba, 0xc6, 0x00, 0x29, 0x32, 0x10, - 0x78, 0xa0, 0x64, 0x13, 0xe1, 0x20, 0x74, 0x48, 0x42, 0x8d, 0x5f, 0xab, 0x0f, 0x69, 0x98, 0xb6, - 0xe3, 0x9e, 0x91, 0x03, 0x4d, 0xd1, 0xf9, 0x21, 0xfe, 0x5c, 0xbc, 0x69, 0x6d, 0xde, 0xbb, 0x46, - 0x12, 0x93, 0xa4, 0x9f, 0x3b, 0xf8, 0x07, 0x55, 0x92, 0x70, 0xc4, 0x1f, 0x15, 0x1c, 0x09, 0xb7, - 0x1a, 0x2c, 0xae, 0xa8, 0x6b, 0x03, 0x90, 0x0b, 0x5f, 0x3e, 0xff, 0xaa, 0x51, 0x91, 0xfc, 0xa6, - 0x2d, 0x5f, 0xe2, 0xe4, 0x7d, 0x5c, 0x10, 0xc6, 0x02, 0x50, 0x50, 0xb8, 0xd8, 0x92, 0xbe, 0x6d, - 0xe5, 0x17, 0x66, 0x5b, 0x64, 0x0c, 0xe2, 0xc5, 0x12, 0xbd, 0x7d, 0x71, 0xee, 0x49, 0xf2, 0x04, - 0x15, 0x82, 0x8c, 0x7b, 0x71, 0xbd, 0xc6, 0x92, 0xa4, 0xaa, 0x61, 0x72, 0xee, 0x6a, 0x7b, 0x54, - 0x3d, 0x13, 0x7f, 0xba, 0x8a, 0x24, 0xd8, 0x42, 0x76, 0x74, 0x8e, 0xd1, 0x0a, 0x60, 0xaa, 0x93, - 0xc1, 0xeb, 0x0c, 0xcd, 0xab, 0xa4, 0xc7, 0x0f, 0x54, 0xc5, 0x41, 0xc6, 0x60, 0x76, 0x03, 0x12, - 0x6e, 0xe0, 0x9d, 0x4d, 0x47, 0x8a, 0x28, 0xb0, 0x34, 0x74, 0x06, 0xbd, 0xfd, 0xc9, 0x24, 0x2e, - 0x65, 0xaa, 0x0e, 0x66, 0x02, 0xee, 0x59, 0x28, 0x81, 0xd1, 0x88, 0xbb, 0x03, 0xd4, 0x49, 0x20, - 0xd7, 0xb1, 0x24, 0x68, 0x8c, 0x35, 0x19, 0xd6, 0x27, 0x60, 0x1b, 0x73, 0x64, 0x0f, 0x12, 0x3f, - 0x14, 0x41, 0x16, 0x3c, 0xbd, 0x1d, 0xb7, 0x01, 0x68, 0x32, 0x88, 0x00, 0x27, 0x15, 0xa3, 0x66, - 0x91, 0xdb, 0xa2, 0x3c, 0x1e, 0x50, 0x16, 0x06, 0xbf, 0xfd, 0x2b, 0x70, 0xe2, 0x99, 0x6a, 0x17, - 0x35, 0xb6, 0x68, 0x3d, 0xd5, 0xb7, 0xba, 0x70, 0xed, 0xfd, 0x15, 0xd3, 0x32, 0xfa, 0xf1, 0x39, - 0xff, 0xa6, 0xa8, 0x78, 0xce, 0x51, 0x16, 0x49, 0x6c, 0x26, 0x64, 0x09, 0xec, 0xf0, 0x7e, 0x50, - 0xf1, 0x66, 0xf8, 0xb6, 0xb6, 0x4d, 0x1a, 0x2c, 0x9e, 0xa3, 0x97, 0x85, 0xa0, 0x8d, 0x03, 0x96, - 0x5d, 0x62, 0x85, 0x0a, 0x8d, 0x66, 0x2c, 0x91, 0x34, 0x1e, 0x1d, 0x16, 0xa0, 0x72, 0x44, 0xc3, - 0x95, 0xfd, 0xaf, 0x76, 0x72, 0x3d, 0xcd, 0x62, 0x48, 0xa0, 0x63, 0x46, 0xf8, 0xca, 0x92, 0x96, - 0x02, 0xf6, 0x02, 0xe4, 0xa5, 0xb2, 0xa2, 0xb8, 0xf0, 0x2e, 0x72, 0xec, 0xb8, 0xdf, 0x0b, 0x22, - 0x44, 0x88, 0x6b, 0x3f, 0xd2, 0x38, 0x46, 0x21, 0x7a, 0x6d, 0x30, 0xcd, 0x53, 0xf6, 0x8e, 0xb6, - 0x9e, 0xab, 0xd0, 0x6b, 0x6b, 0xb0, 0xdd, 0xc8, 0x90, 0x81, 0x49, 0xca, 0xde, 0xcf, 0xe5, 0xb5, - 0xed, 0x37, 0xed, 0x43, 0xe4, 0x0e, 0x0f, 0x89, 0xf0, 0x4c, 0xa5, 0x16, 0x2b, 0x34, 0x24, 0x87, - 0xe4, 0x6f, 0x8b, 0x3b, 0x09, 0xa2, 0xe9, 0x10, 0x55, 0xe5, 0xdb, 0x37, 0xd1, 0xfd, 0x4d, 0xac, - 0x8e, 0xaf, 0x40, 0x2f, 0x2c, 0x2a, 0x15, 0xee, 0x5c, 0x01, 0xb6, 0x24, 0xc1, 0xa6, 0xab, 0xcb, - 0x2f, 0xc5, 0x62, 0xd0, 0x29, 0x93, 0xf4, 0x1c, 0xbe, 0xd8, 0x56, 0x35, 0xa4, 0x7b, 0xf8, 0xde, - 0xe1, 0xab, 0x46, 0x22, 0x58, 0xc2, 0x50, 0x9a, 0x52, 0xb9, 0x11, 0xbd, 0x0a, 0x90, 0x4e, 0x7b, - 0xbc, 0x09, 0x90, 0xb5, 0x5f, 0xe8, 0xcc, 0xe9, 0x19, 0x64, 0x03, 0xd0, 0x0b, 0x67, 0x55, 0xdc, - 0xa9, 0xac, 0xa4, 0x91, 0x45, 0x6b, 0x4b, 0xbb, 0x4f, 0x2c, 0x81, 0x9c, 0xf4, 0x90, 0xac, 0x17, - 0x99, 0x1f, 0xff, 0x39, 0xca, 0x89, 0x79, 0x71, 0x0b, 0x7f, 0x7a, 0x3d, 0xf8, 0x9b, 0x17, 0xf1, - 0x25, 0xdf, 0x6d, 0xc3, 0x4b, 0x5e, 0x21, 0x2f, 0x95, 0x1e, 0xe6, 0xf4, 0x2a, 0xe4, 0xa5, 0x27, - 0x93, 0x97, 0x5e, 0xb1, 0x88, 0x2f, 0xbd, 0x0a, 0xd6, 0xc9, 0xe6, 0xb2, 0xf0, 0xb2, 0x57, 0xaa, - 0xec, 0xfd, 0xcc, 0xe0, 0x46, 0xcc, 0x8a, 0x8d, 0x2f, 0xff, 0xba, 0x5d, 0x0c, 0xc4, 0x46, 0xf5, - 0xda, 0x0d, 0x88, 0xc2, 0xbd, 0x4f, 0x7e, 0x8f, 0x80, 0xd7, 0x46, 0xef, 0x5d, 0xbd, 0x5e, 0xc7, - 0x71, 0x5a, 0x15, 0x3c, 0xb8, 0xae, 0x19, 0x25, 0x8d, 0x47, 0x05, 0x88, 0x4d, 0xc6, 0x27, 0xf0, - 0x8b, 0x5c, 0x49, 0xb0, 0xec, 0x1d, 0xb2, 0xd3, 0xe3, 0x25, 0xba, 0x29, 0xdd, 0x34, 0x5d, 0x14, - 0x9c, 0x20, 0x7e, 0x59, 0x21, 0xb1, 0x33, 0x20, 0x27, 0xe0, 0x25, 0x14, 0x74, 0x8d, 0x2a, 0xa9, - 0xe5, 0x45, 0x33, 0xbb, 0xa5, 0xe0, 0x0d, 0x58, 0x94, 0x04, 0x19, 0x2b, 0xe9, 0x9e, 0x9d, 0x46, - 0x1d, 0x94, 0x2a, 0xe5, 0xcc, 0xa7, 0xb3, 0x3c, 0xcc, 0xdd, 0x9b, 0x2a, 0xea, 0x7e, 0x90, 0x8e, - 0xde, 0xed, 0x00, 0x7f, 0xa2, 0x6a, 0xe1, 0x06, 0x1a, 0x61, 0x08, 0xb2, 0xdf, 0x32, 0xb0, 0xd3, - 0x74, 0x27, 0xf4, 0x96, 0x9e, 0x54, 0x49, 0x80, 0xf2, 0xba, 0x22, 0x03, 0x28, 0x92, 0xc0, 0x80, - 0xe6, 0xe1, 0x64, 0x1b, 0xcc, 0xd2, 0x21, 0x2e, 0xc4, 0x3b, 0x09, 0xe6, 0xee, 0x3e, 0x71, 0x6f, - 0x79, 0xdd, 0xa2, 0x37, 0xf7, 0xb1, 0x37, 0x14, 0x66, 0xf7, 0x62, 0xd7, 0xac, 0xe5, 0x82, 0xd2, - 0xba, 0x82, 0xc9, 0xea, 0x9a, 0x9e, 0x57, 0xb7, 0x99, 0xfd, 0x14, 0x88, 0xd2, 0xca, 0x52, 0xc9, - 0xe5, 0x95, 0xd3, 0x9b, 0x27, 0xcc, 0x3a, 0x07, 0x03, 0x66, 0x29, 0xca, 0x40, 0x91, 0x4d, 0x41, - 0xaf, 0x27, 0x5c, 0x87, 0x25, 0xf1, 0x5e, 0x27, 0x82, 0xac, 0x0c, 0x6e, 0x94, 0xc0, 0x1f, 0xe0, - 0x29, 0x07, 0xd8, 0x4c, 0xc3, 0x34, 0x18, 0x33, 0xe6, 0x2d, 0x93, 0x55, 0x72, 0xd5, 0xad, 0x2c, - 0x7a, 0x2f, 0xc9, 0x82, 0xdb, 0x03, 0x88, 0x06, 0x98, 0x58, 0xd3, 0xea, 0x1a, 0x14, 0x3b, 0x50, - 0xa7, 0x4a, 0x37, 0x91, 0xf5, 0x96, 0x36, 0x77, 0xb4, 0xcc, 0x89, 0x25, 0x18, 0x75, 0xfe, 0xc2, - 0x70, 0x38, 0xfc, 0x8e, 0x24, 0x81, 0xb1, 0xcb, 0xd7, 0xe4, 0x6d, 0xa8, 0xb8, 0x63, 0xd4, 0x13, - 0x32, 0xfc, 0x97, 0xa9, 0xc3, 0x4b, 0xd2, 0x6f, 0x02, 0xf2, 0xc4, 0x1d, 0xb1, 0x9a, 0x4d, 0x82, - 0xa2, 0xc9, 0x35, 0xf8, 0xaa, 0x8c, 0xe3, 0x9b, 0x20, 0x65, 0x0b, 0xe2, 0x9f, 0x0c, 0xf4, 0x72, - 0x06, 0xe4, 0x04, 0x16, 0x1a, 0x36, 0x5c, 0xb7, 0xbb, 0xea, 0xaa, 0x67, 0x4a, 0x7a, 0x94, 0xc4, - 0xb5, 0x1a, 0xe5, 0xb8, 0xf3, 0x03, 0xd8, 0xfb, 0x27, 0xd8, 0xbd, 0x51, 0x9d, 0x1a, 0xca, 0x24, - 0x6d, 0x58, 0x80, 0x77, 0xd4, 0x54, 0xdd, 0x73, 0x59, 0x42, 0x51, 0xb2, 0xa7, 0x8c, 0x2b, 0x78, - 0x35, 0x9c, 0x4e, 0x7b, 0xb0, 0xea, 0xfc, 0xe9, 0x68, 0x34, 0x90, 0x5f, 0x47, 0x7c, 0x4d, 0x49, - 0x83, 0xd5, 0x9d, 0x26, 0xfb, 0x32, 0xf6, 0x83, 0xea, 0x0c, 0x12, 0x78, 0x57, 0x40, 0x3e, 0x4d, - 0xbc, 0xd5, 0x50, 0xee, 0xc8, 0x00, 0xa5, 0x95, 0xcc, 0xd2, 0x8e, 0x4e, 0x52, 0xf0, 0x01, 0x5f, - 0xb1, 0x96, 0x0a, 0xcb, 0xc7, 0x08, 0x4f, 0x24, 0xd1, 0x3a, 0x59, 0xaf, 0x52, 0x4b, 0x25, 0x9f, - 0x7d, 0xe3, 0xf6, 0x46, 0x1d, 0xdc, 0x81, 0x89, 0x2f, 0x2d, 0x7a, 0xa5, 0xcf, 0x46, 0xa6, 0xb1, - 0xb2, 0xd0, 0x56, 0x3b, 0x5b, 0xf8, 0xbd, 0x66, 0xb7, 0xda, 0x92, 0x57, 0xe1, 0x16, 0x3d, 0x0b, - 0xf0, 0x1f, 0x3a, 0x0b, 0x26, 0xf2, 0x6c, 0x6d, 0x27, 0x69, 0x49, 0x8a, 0x00, 0x84, 0xfa, 0xc4, - 0x18, 0x16, 0x34, 0xac, 0xb2, 0xe0, 0xe8, 0x85, 0x09, 0xdf, 0x61, 0xd5, 0xff, 0x63, 0x6e, 0x2d, - 0x78, 0x7a, 0xa6, 0x7a, 0x3b, 0x81, 0x5b, 0xd3, 0xe7, 0xe7, 0xff, 0xe5, 0x17, 0xc3, 0x07, 0x4b, - 0xd1, 0x16, 0xe9, 0xb6, 0xaa, 0x27, 0xc9, 0xc1, 0x6a, 0xf8, 0x4f, 0x19, 0x6e, 0xe3, 0xd1, 0xa2, - 0x2e, 0xc9, 0x1d, 0xab, 0x5d, 0xd0, 0x59, 0x20, 0x89, 0xe4, 0x92, 0x2f, 0xfe, 0xc2, 0x32, 0x09, - 0x2a, 0xc8, 0x02, 0xff, 0x62, 0x9c, 0x47, 0x5d, 0xdd, 0xe1, 0xf9, 0xea, 0xa6, 0xef, 0x68, 0x36, - 0x34, 0x3c, 0x18, 0x53, 0x97, 0xb6, 0xbf, 0x0f, 0x2c, 0xcf, 0x7d, 0xe4, 0x9d, 0x9f, 0xc2, 0xef, - 0x4f, 0xd3, 0x6f, 0x3a, 0xd3, 0xc3, 0x55, 0x62, 0x8d, 0x9e, 0x6a, 0x68, 0x29, 0x32, 0xb9, 0xdd, - 0x7d, 0xf9, 0xeb, 0xd4, 0x90, 0x43, 0xee, 0x55, 0x27, 0x0e, 0x11, 0xd7, 0x21, 0xbd, 0x49, 0xfa, - 0x96, 0x0a, 0xc5, 0x6f, 0xb8, 0x09, 0xe8, 0xec, 0x78, 0x1c, 0xc3, 0x5f, 0x80, 0xda, 0x77, 0x05, - 0x2b, 0xa5, 0x83, 0x87, 0x3d, 0x79, 0x61, 0x73, 0xcd, 0xcd, 0xbb, 0xb1, 0x07, 0x71, 0xe7, 0xff, - 0xb9, 0xa9, 0x2b, 0xce, 0x9e, 0xd2, 0x1e, 0xf5, 0xff, 0x73, 0xb3, 0xba, 0x99, 0x4a, 0x64, 0xa5, - 0xb2, 0xdb, 0x07, 0xdf, 0x93, 0x61, 0xf5, 0x04, 0x0d, 0x89, 0xec, 0xa7, 0x27, 0x53, 0x9b, 0x44, - 0x81, 0x8f, 0xea, 0x2f, 0xe1, 0x2a, 0x86, 0x0e, 0xe5, 0xf1, 0x66, 0x6e, 0x28, 0x1e, 0x7c, 0xff, - 0x32, 0x74, 0x6e, 0x6f, 0x13, 0x37, 0x09, 0x08, 0x3a, 0xb8, 0xf2, 0x5b, 0xaa, 0xac, 0x5d, 0x92, - 0xcf, 0x92, 0xfa, 0x38, 0x85, 0x93, 0x05, 0xfe, 0xf6, 0xb1, 0x8e, 0x31, 0xd3, 0xf6, 0xed, 0xa3, - 0xc0, 0xd7, 0xb8, 0x1b, 0xf7, 0xed, 0xe6, 0xd1, 0x6f, 0x27, 0x20, 0xcb, 0xff, 0xe2, 0x90, 0x1c, - 0x2e, 0x0d, 0x89, 0xd7, 0xbd, 0x3f, 0x16, 0xbb, 0xc8, 0x42, 0xbc, 0x40, 0x38, 0x28, 0x19, 0xce, - 0xda, 0x87, 0x35, 0x6a, 0x48, 0x4e, 0xc7, 0xba, 0x47, 0x80, 0x78, 0xc1, 0x88, 0x14, 0x69, 0x00, - 0x7b, 0x82, 0x36, 0xc4, 0x1d, 0x5c, 0xb5, 0xb0, 0x0d, 0x22, 0xd7, 0x7a, 0xa6, 0x1d, 0x29, 0xd5, - 0x52, 0xfb, 0x60, 0x6d, 0x92, 0xc3, 0x5a, 0x68, 0x17, 0x62, 0xc9, 0x89, 0xda, 0x53, 0xd3, 0x36, - 0x49, 0x4f, 0xf1, 0xff, 0xe2, 0x48, 0xc0, 0x39, 0x49, 0xb3, 0x6c, 0x5b, 0x15, 0x78, 0xae, 0xbb, - 0x3b, 0x84, 0x65, 0x3c, 0xdc, 0xcc, 0x9d, 0x89, 0xfb, 0x4d, 0xbc, 0x10, 0xd9, 0x7b, 0x4a, 0x8f, - 0x48, 0x7a, 0x12, 0x4b, 0xff, 0xe7, 0x34, 0xd7, 0xf9, 0xb2, 0xb5, 0xc5, 0xd1, 0x09, 0xc4, 0xb5, - 0xf1, 0xfb, 0xee, 0x5b, 0x5b, 0x90, 0xaa, 0x70, 0xa0, 0x34, 0xfe, 0xfb, 0xe8, 0x1c, 0x82, 0x1b, - 0x03, 0x50, 0xec, 0x99, 0x0d, 0xda, 0x22, 0x62, 0x0e, 0x2a, 0xc2, 0x28, 0xc5, 0x67, 0x10, 0x61, - 0x78, 0x74, 0x40, 0x46, 0xbf, 0xee, 0x22, 0xfe, 0x8c, 0xf4, 0x86, 0x05, 0xe7, 0x4f, 0x5a, 0x30, - 0x43, 0x0b, 0x81, 0x24, 0xff, 0x97, 0x47, 0x0e, 0x1d, 0xd6, 0x1e, 0xbf, 0xe9, 0x23, 0x58, 0x7d, - 0xe8, 0x24, 0x02, 0x9b, 0x3a, 0x58, 0x90, 0xb6, 0x82, 0xd5, 0x2b, 0x99, 0x09, 0xad, 0x20, 0x62, - 0x92, 0xf4, 0xad, 0x87, 0x12, 0x00, 0x02, 0x1e, 0x68, 0x1e, 0x06, 0x62, 0x65, 0x7b, 0x00, 0xde, - 0x9f, 0x7a, 0xd2, 0x05, 0x29, 0x98, 0x16, 0x43, 0x00, 0xca, 0x2d, 0x13, 0xc0, 0x77, 0x2e, 0x4f, - 0xf1, 0x18, 0x5e, 0x97, 0x1b, 0xac, 0x04, 0x94, 0xa9, 0x17, 0x81, 0x35, 0xfb, 0x49, 0xd0, 0x42, - 0x2d, 0xc4, 0x42, 0x17, 0x0c, 0x05, 0x94, 0x23, 0xb0, 0xc0, 0xea, 0x2f, 0x90, 0xc6, 0x23, 0x3c, - 0x76, 0x80, 0x4b, 0x37, 0xd7, 0x52, 0xdf, 0x15, 0x0a, 0xad, 0xe6, 0x95, 0xe2, 0x38, 0x97, 0xb7, - 0x5c, 0xd6, 0x42, 0xd7, 0x72, 0xc3, 0x19, 0x18, 0x43, 0xca, 0x5e, 0x94, 0x06, 0x8e, 0x69, 0xc9, - 0xc3, 0x00, 0xfb, 0xab, 0xd6, 0x4d, 0xe3, 0xdc, 0xc5, 0xda, 0xcd, 0xcc, 0xe0, 0xd7, 0xb6, 0x59, - 0x14, 0xdd, 0xf6, 0x03, 0x3a, 0x9a, 0x36, 0xb6, 0xe1, 0x16, 0xdf, 0x72, 0xdf, 0xb7, 0xb3, 0xc5, - 0x5c, 0x39, 0x17, 0xb4, 0x8c, 0x5b, 0x70, 0x1c, 0xdb, 0x7c, 0x22, 0x52, 0x21, 0xb9, 0xb2, 0xa3, - 0x95, 0x6d, 0x44, 0x5a, 0x80, 0xf2, 0x11, 0xb8, 0x70, 0x20, 0xa3, 0xb0, 0xb9, 0x69, 0x51, 0xf8, - 0xfc, 0x71, 0x5f, 0x09, 0xa3, 0x5b, 0xf1, 0x13, 0x70, 0xc6, 0xb5, 0x15, 0xd3, 0xd2, 0x32, 0xbc, - 0xa1, 0xb1, 0x20, 0x23, 0x4f, 0x5a, 0x20, 0x83, 0x41, 0x72, 0x3f, 0x1a, 0x8c, 0x00, 0x84, 0x46, - 0x93, 0x03, 0xe5, 0x12, 0x0f, 0xdc, 0x62, 0xdf, 0x43, 0xb9, 0x13, 0x15, 0x95, 0xfa, 0x58, 0xb5, - 0x0c, 0x7d, 0x48, 0x84, 0xa4, 0x92, 0xc6, 0x3b, 0x79, 0xc8, 0x7e, 0x33, 0x06, 0xf9, 0x59, 0x4a, - 0x8a, 0xa7, 0x02, 0x4e, 0x9b, 0xa8, 0x26, 0x1e, 0xa2, 0xc1, 0xca, 0xff, 0x66, 0x61, 0xa4, 0xa4, - 0x95, 0x9c, 0x84, 0x27, 0x87, 0x35, 0x66, 0xc9, 0xf2, 0x92, 0x00, 0x3e, 0x97, 0xaa, 0x90, 0x82, - 0x00, 0xe3, 0xee, 0x3a, 0xfe, 0x26, 0xec, 0x24, 0xce, 0x3e, 0x84, 0x1d, 0x72, 0xc8, 0xed, 0xa9, - 0x90, 0x73, 0x3e, 0x78, 0x67, 0x09, 0x0d, 0x39, 0x44, 0xe1, 0xdd, 0x89, 0x4c, 0x22, 0xb7, 0x16, - 0xc9, 0x4b, 0xf1, 0xe7, 0xbb, 0xf4, 0xe0, 0x32, 0x9b, 0x8a, 0x09, 0xcc, 0x2b, 0x6e, 0xa4, 0x84, - 0x40, 0x21, 0xa9, 0xa4, 0x57, 0x21, 0xae, 0x57, 0x3c, 0x39, 0x17, 0x74, 0x8a, 0x1b, 0x00, 0xdc, - 0x7e, 0xeb, 0x8a, 0xbb, 0x51, 0x88, 0xde, 0x19, 0x42, 0xa9, 0xab, 0xa4, 0x7c, 0x34, 0xb0, 0x9b, - 0x68, 0x43, 0x96, 0x22, 0x86, 0x5b, 0x6b, 0x62, 0x12, 0x67, 0x41, 0x93, 0x96, 0x22, 0x83, 0xce, - 0x11, 0x21, 0x10, 0x29, 0x1d, 0x50, 0x86, 0x24, 0xc5, 0xb7, 0x9b, 0x5d, 0x6e, 0x37, 0xbb, 0xba, - 0xdd, 0xec, 0x72, 0xbb, 0x59, 0xa6, 0xdd, 0xc8, 0xf2, 0xa6, 0xc0, 0xb0, 0xfb, 0x8b, 0x5b, 0x86, - 0x2a, 0x7d, 0xbf, 0xa8, 0x7d, 0xf4, 0x3a, 0x0e, 0x1b, 0xfa, 0xc4, 0x3f, 0x47, 0xdc, 0x6d, 0xb8, - 0xcf, 0x15, 0x14, 0x59, 0x71, 0x52, 0x2e, 0x72, 0xb1, 0x62, 0x92, 0xc6, 0xf6, 0x7a, 0x67, 0xb2, - 0xbc, 0xfd, 0x39, 0xb7, 0x66, 0x4b, 0xc5, 0x00, 0xa2, 0x7e, 0xcd, 0xf1, 0x4e, 0x9b, 0xb8, 0x17, - 0x3b, 0xb2, 0xe1, 0x9e, 0x9e, 0x11, 0xe6, 0x5d, 0x4a, 0xc4, 0x1a, 0x62, 0xc4, 0x0d, 0x68, 0xfb, - 0x36, 0xb1, 0xef, 0x4a, 0xc4, 0x63, 0xde, 0x09, 0xf6, 0x7c, 0x71, 0xf8, 0x50, 0xb1, 0x7b, 0x96, - 0xd8, 0x3f, 0xf1, 0x48, 0xd4, 0x0f, 0x78, 0x8c, 0x39, 0xf7, 0x48, 0xf6, 0x91, 0xfb, 0xae, 0x37, - 0xd2, 0x6b, 0x31, 0x95, 0x22, 0x1d, 0x6b, 0x81, 0xff, 0x51, 0x4f, 0x83, 0x0e, 0x54, 0x23, 0xf1, - 0x93, 0x41, 0x4f, 0xc4, 0x51, 0xc4, 0x74, 0xac, 0xa5, 0xd0, 0xd0, 0xdb, 0xc6, 0xde, 0x31, 0x0b, - 0x81, 0xd0, 0x92, 0xa4, 0x25, 0x99, 0x6e, 0x62, 0x43, 0xfb, 0x7c, 0x4a, 0x4b, 0x82, 0x6d, 0xf7, - 0xe5, 0x8b, 0x8c, 0x01, 0x21, 0xf1, 0xd1, 0x3b, 0xbe, 0xeb, 0xf7, 0xaf, 0xbf, 0xf0, 0xe4, 0xa1, - 0xf6, 0xed, 0x1b, 0x7b, 0x2c, 0x08, 0xb2, 0xb1, 0xd1, 0x10, 0x22, 0xd4, 0xdb, 0x09, 0x50, 0xea, - 0x3b, 0xf0, 0x7f, 0x95, 0xef, 0xd2, 0x30, 0x47, 0xdc, 0x75, 0xa0, 0x3b, 0x6a, 0x14, 0x0c, 0x35, - 0x08, 0xba, 0x6a, 0x27, 0xf9, 0x9a, 0x3d, 0x51, 0xd1, 0xc1, 0xa3, 0xa3, 0xc7, 0x2a, 0x39, 0xef, - 0x60, 0xfc, 0x6b, 0xb6, 0xaa, 0x86, 0x02, 0xb3, 0x6a, 0x6d, 0x60, 0xc6, 0xd7, 0x1a, 0xc9, 0x93, - 0xd8, 0xbc, 0x7e, 0x38, 0x2f, 0xc7, 0xe6, 0x69, 0x49, 0x7e, 0x81, 0xdd, 0x59, 0xae, 0x7f, 0xd4, - 0xf5, 0xd5, 0x99, 0x7f, 0xcc, 0xb5, 0x45, 0x70, 0x1f, 0x58, 0xdb, 0x8e, 0xf9, 0x90, 0x4c, 0x70, - 0xf7, 0x28, 0x07, 0x46, 0x30, 0xd8, 0x2f, 0x7a, 0xda, 0xd0, 0x77, 0x30, 0x14, 0x8e, 0xa7, 0xee, - 0x78, 0xdf, 0xef, 0xa7, 0x2d, 0xa0, 0x40, 0xd8, 0xc9, 0x0a, 0x04, 0xbf, 0x9a, 0x58, 0x09, 0xcc, - 0x4b, 0x46, 0xb4, 0xf5, 0xd5, 0x37, 0xc8, 0xb2, 0xf7, 0x96, 0xd2, 0x76, 0xc9, 0xd7, 0x04, 0xd7, - 0xdf, 0x81, 0xad, 0xf4, 0xf1, 0xec, 0x1f, 0xed, 0xe8, 0x77, 0x2e, 0xf3, 0x5d, 0xf1, 0x3d, 0x6a, - 0x44, 0x13, 0x7a, 0x05, 0xf4, 0x32, 0xdb, 0x1f, 0xde, 0x61, 0xca, 0xfe, 0xfd, 0x25, 0x74, 0xea, - 0x3a, 0x35, 0xa6, 0x85, 0x2e, 0x79, 0x32, 0x4c, 0xc1, 0xf4, 0x92, 0x9e, 0x84, 0xbe, 0x9b, 0xf6, - 0x24, 0x8c, 0xea, 0xaa, 0x7d, 0x0e, 0x8c, 0xf4, 0x7d, 0x38, 0xf9, 0x73, 0x38, 0x10, 0x7a, 0x30, - 0x34, 0xf4, 0x1e, 0xca, 0xd0, 0xed, 0x93, 0x30, 0x7b, 0xe9, 0xcd, 0xe8, 0x37, 0xb8, 0x1f, 0x0f, - 0xe3, 0x8a, 0x9e, 0xea, 0x73, 0xb4, 0x0e, 0xf9, 0xae, 0x6a, 0xd1, 0x50, 0x0b, 0x7e, 0xb1, 0xe2, - 0xba, 0x74, 0x86, 0x84, 0xd0, 0x4e, 0x84, 0x64, 0xd0, 0xa0, 0x47, 0x2f, 0xc4, 0x16, 0x0a, 0xec, - 0xf0, 0xee, 0x4d, 0x92, 0x64, 0x64, 0xb7, 0x3f, 0xb8, 0x35, 0xd4, 0xbb, 0x49, 0xf2, 0x97, 0x30, - 0xf8, 0x00, 0xf4, 0x73, 0x15, 0xdd, 0xa8, 0x1f, 0xc3, 0x38, 0x8c, 0x7e, 0x5f, 0xfc, 0x5c, 0x65, - 0x21, 0x1c, 0xaa, 0x7f, 0x17, 0xc0, 0x31, 0x7a, 0x90, 0x86, 0x28, 0xbd, 0x46, 0x30, 0xc7, 0xc7, - 0x9f, 0xa3, 0xf4, 0x27, 0x68, 0xfa, 0xb4, 0x4c, 0xd2, 0xa7, 0x10, 0x4d, 0x9f, 0xfe, 0x2e, 0xc4, - 0xc3, 0x7f, 0x8a, 0xa4, 0x4f, 0x4b, 0x24, 0x0d, 0x41, 0x38, 0xfc, 0xbb, 0x10, 0x52, 0xf1, 0x75, - 0x1c, 0x96, 0x27, 0xa4, 0x47, 0xd9, 0xc4, 0x0b, 0x5f, 0xc8, 0x45, 0xfd, 0xf0, 0x5c, 0xe7, 0xdd, - 0x04, 0x6f, 0xb7, 0xb0, 0xad, 0x6d, 0xd9, 0xee, 0x6d, 0xaa, 0xfb, 0x44, 0xac, 0x72, 0xd9, 0x3d, - 0xee, 0xe0, 0x91, 0x04, 0xa0, 0xb0, 0x13, 0x4d, 0xd1, 0xb6, 0x4c, 0xe8, 0x96, 0x46, 0x17, 0x85, - 0x53, 0x43, 0xdd, 0x65, 0xa5, 0x28, 0x86, 0x59, 0xc9, 0x13, 0x38, 0xdf, 0xdd, 0x2b, 0x7d, 0x83, - 0xaf, 0x91, 0xff, 0x31, 0x07, 0xf9, 0x0d, 0x68, 0x67, 0xa5, 0x1d, 0x8c, 0xf8, 0xa3, 0x37, 0x68, - 0x50, 0xcc, 0xaf, 0x40, 0xaf, 0xd4, 0xec, 0xef, 0x19, 0x5a, 0x27, 0x5a, 0x37, 0x8b, 0x75, 0xb3, - 0xab, 0xea, 0xee, 0xca, 0xd6, 0xaa, 0x8a, 0x12, 0x56, 0x94, 0x56, 0x55, 0x6c, 0x58, 0x9d, 0x55, - 0x15, 0x73, 0x58, 0x31, 0xb7, 0xaa, 0x62, 0x93, 0x5c, 0x17, 0xb3, 0xaa, 0x6e, 0x1e, 0xeb, 0xe6, - 0x57, 0xd5, 0x7d, 0x39, 0xa7, 0xf6, 0xdd, 0xaa, 0xda, 0x05, 0xac, 0x5d, 0x58, 0xd9, 0xb3, 0x6a, - 0x75, 0x34, 0x65, 0x5d, 0xfd, 0x22, 0xd6, 0x2f, 0xae, 0xa4, 0x15, 0x1e, 0x9c, 0x0d, 0x57, 0xcf, - 0xd0, 0x12, 0x11, 0x41, 0xda, 0x76, 0x99, 0x8b, 0xb0, 0x92, 0xad, 0xe3, 0x98, 0xab, 0xb1, 0x7c, - 0xd4, 0x42, 0x9d, 0x9a, 0xb3, 0xd5, 0xe1, 0xdf, 0x65, 0x22, 0x3b, 0x2a, 0x78, 0x5a, 0xea, 0x87, - 0x2c, 0x64, 0xab, 0xcb, 0x98, 0x29, 0x32, 0xd4, 0xd4, 0x3f, 0x66, 0xa1, 0x98, 0xba, 0x0f, 0xca, - 0x83, 0xaa, 0x69, 0x37, 0x40, 0x9a, 0x27, 0x63, 0xf4, 0x11, 0x65, 0xa6, 0x75, 0x12, 0x5e, 0x81, - 0x81, 0x01, 0x5d, 0x7a, 0x60, 0x03, 0x90, 0xa9, 0x07, 0xb7, 0xc3, 0x24, 0xc9, 0x66, 0x92, 0x30, - 0x8b, 0xdb, 0x74, 0x5f, 0xba, 0x1c, 0xab, 0xb9, 0x4f, 0x2f, 0x7f, 0x4a, 0x6c, 0xa2, 0x40, 0x88, - 0xa8, 0x2b, 0x8b, 0x4d, 0x3c, 0xf8, 0x4e, 0x28, 0xd1, 0xb8, 0xb9, 0x3d, 0xde, 0x3a, 0x78, 0xe4, - 0x68, 0xe9, 0xd0, 0xd5, 0x6f, 0x48, 0xf7, 0x5f, 0xb5, 0xe8, 0xee, 0x2b, 0x10, 0x97, 0xec, 0x10, - 0x62, 0x03, 0x18, 0x21, 0x34, 0x44, 0x65, 0x4a, 0xe9, 0xef, 0xf0, 0x21, 0xcc, 0x21, 0xd7, 0xd8, - 0x09, 0x34, 0xac, 0x25, 0x9d, 0xc2, 0x15, 0x25, 0x78, 0x9d, 0x0d, 0x59, 0x95, 0xe1, 0x01, 0xf7, - 0x16, 0x63, 0x84, 0x23, 0xfd, 0xa8, 0xd0, 0xf6, 0xc7, 0x42, 0xd1, 0x76, 0x6f, 0x9c, 0xf4, 0xc7, - 0x1b, 0x15, 0x43, 0x56, 0x2a, 0x42, 0xca, 0xdf, 0x13, 0x8b, 0x11, 0xf4, 0x97, 0x76, 0x9d, 0xb1, - 0xa3, 0xfd, 0xa9, 0xcf, 0x5b, 0x2b, 0x76, 0x6a, 0xad, 0xf7, 0x10, 0xb8, 0xe4, 0x3d, 0xd8, 0xa7, - 0xc5, 0x53, 0x12, 0x44, 0xab, 0x87, 0x5f, 0xf7, 0xf0, 0x4c, 0x22, 0x59, 0x0b, 0x3e, 0x38, 0x42, - 0x1a, 0xaf, 0x11, 0x6d, 0x0b, 0x71, 0x81, 0xda, 0x3b, 0xb6, 0xbb, 0xc1, 0x46, 0x7f, 0xa1, 0x59, - 0x50, 0x61, 0x81, 0xe6, 0xf9, 0x2c, 0x9e, 0xac, 0xc7, 0xdb, 0xe4, 0xf1, 0x27, 0x27, 0x15, 0xf8, - 0x05, 0xd1, 0xcd, 0x7e, 0xa5, 0x02, 0xbd, 0xd5, 0xb5, 0x01, 0x38, 0xd4, 0x92, 0x53, 0x9b, 0xa1, - 0x3d, 0x60, 0xc3, 0xa4, 0xf3, 0xef, 0x43, 0xd8, 0x68, 0x32, 0x6a, 0x3d, 0x78, 0xb6, 0x41, 0xee, - 0x93, 0x10, 0x41, 0x8c, 0x84, 0xdc, 0xde, 0x4c, 0xfd, 0x8a, 0x12, 0xa1, 0xef, 0x5e, 0xb0, 0xeb, - 0x05, 0x49, 0x12, 0x4b, 0x19, 0x7d, 0xe3, 0x35, 0x96, 0x73, 0xf1, 0xda, 0x6b, 0x1d, 0x6c, 0xad, - 0xb0, 0x55, 0xb3, 0x7c, 0xca, 0x62, 0x13, 0x21, 0xdc, 0x74, 0xc9, 0x21, 0x95, 0xca, 0x7f, 0xcc, - 0x5b, 0x64, 0xdb, 0x37, 0x8d, 0xdf, 0x65, 0x6c, 0x0e, 0x64, 0xab, 0x89, 0xe7, 0xaa, 0x08, 0x57, - 0xa5, 0xf8, 0x06, 0x9f, 0xee, 0xb8, 0x49, 0x0d, 0x3c, 0x12, 0x94, 0xf4, 0xc8, 0xf1, 0x2b, 0x82, - 0xf7, 0x56, 0xc7, 0xbb, 0x0f, 0x9c, 0xb0, 0x45, 0x08, 0x54, 0x4f, 0xe5, 0xee, 0x25, 0x6b, 0x61, - 0x5d, 0xf8, 0xd0, 0x32, 0xc9, 0xd8, 0x08, 0x62, 0x00, 0x4e, 0xc3, 0xbb, 0x7a, 0x6f, 0x4d, 0x43, - 0xd6, 0xca, 0x86, 0xb2, 0x41, 0x43, 0xbb, 0x9f, 0x68, 0xa8, 0xbf, 0xb2, 0x21, 0x29, 0x68, 0xa8, - 0xf9, 0x89, 0x86, 0xb4, 0x95, 0x0d, 0xe5, 0x82, 0x86, 0xf6, 0xfc, 0x86, 0x18, 0xd1, 0xc5, 0xfd, - 0x5a, 0x1e, 0xf0, 0x98, 0xf8, 0x07, 0x97, 0xf1, 0x57, 0x47, 0x40, 0x68, 0xf1, 0xd1, 0x0f, 0x71, - 0xad, 0xc7, 0x46, 0x3f, 0x68, 0xb1, 0x91, 0x0f, 0x5a, 0x34, 0xea, 0x01, 0x26, 0x42, 0xf4, 0xfa, - 0x07, 0x8b, 0xc4, 0x73, 0x44, 0xe5, 0x9c, 0xaa, 0x87, 0x00, 0x87, 0x57, 0x0a, 0x4b, 0xd4, 0x90, - 0xe9, 0x4d, 0x43, 0x16, 0x46, 0x6f, 0xba, 0xf0, 0xcc, 0x0f, 0x7a, 0x6d, 0x0f, 0x9f, 0x61, 0xea, - 0xc5, 0x7c, 0xc0, 0xd4, 0x74, 0xa6, 0x4e, 0xa8, 0x27, 0x27, 0xf6, 0xa3, 0xa5, 0xc1, 0x37, 0x4b, - 0x73, 0x12, 0xdb, 0x9f, 0x3b, 0xa7, 0x51, 0xc2, 0x86, 0x2e, 0xcc, 0x26, 0x1f, 0x40, 0xe5, 0x50, - 0x5a, 0xa5, 0xd3, 0x69, 0x80, 0x81, 0xee, 0x49, 0xf9, 0x84, 0x04, 0x3b, 0x9f, 0xdc, 0x4f, 0xee, - 0x00, 0xc3, 0xe3, 0xd9, 0x05, 0x80, 0xd0, 0xe9, 0x6e, 0xff, 0x31, 0x1f, 0xed, 0xf0, 0x2d, 0xe2, - 0xbd, 0x79, 0xc4, 0xd0, 0x63, 0xf2, 0x74, 0xb6, 0xbf, 0xc7, 0xd3, 0x63, 0x0e, 0x4c, 0x29, 0x96, - 0x86, 0x00, 0xd7, 0x0e, 0xff, 0x80, 0x0e, 0x32, 0x52, 0x07, 0x64, 0x08, 0x54, 0x5e, 0x2a, 0x40, - 0x6f, 0xbc, 0x04, 0xbb, 0xdf, 0x2b, 0x14, 0xdb, 0x2e, 0x1a, 0x41, 0x97, 0xbd, 0x1e, 0x9e, 0xb2, - 0x66, 0x8e, 0x56, 0x30, 0x20, 0xba, 0x84, 0x64, 0x04, 0x72, 0x78, 0x1d, 0x58, 0x7b, 0x7b, 0xfa, - 0x1f, 0xf3, 0xc4, 0x68, 0x67, 0x38, 0xa9, 0x7a, 0x91, 0x06, 0xc9, 0xad, 0xec, 0x82, 0x19, 0xbd, - 0xce, 0x62, 0xc9, 0xce, 0x3c, 0x53, 0xf4, 0xc0, 0x02, 0xf5, 0x3f, 0x30, 0x0b, 0x9d, 0xd1, 0x0f, - 0xcc, 0x7a, 0x52, 0x9f, 0xc1, 0xe2, 0x03, 0x00, 0x95, 0x0f, 0x00, 0x0c, 0xc1, 0xc7, 0x02, 0xd7, - 0xdd, 0x4a, 0x44, 0x69, 0xda, 0xa9, 0x8a, 0xc9, 0x7f, 0x00, 0x64, 0x0e, 0x7b, 0xf5, 0x82, 0xe1, - 0x91, 0x37, 0xb7, 0x64, 0x4d, 0xed, 0xeb, 0x55, 0x94, 0xf9, 0x96, 0x83, 0x11, 0xf0, 0xb8, 0x5c, - 0x62, 0xa1, 0x41, 0x8a, 0x44, 0x95, 0xf3, 0xa9, 0x1e, 0x26, 0x2d, 0x63, 0x4a, 0x5a, 0xa2, 0x11, - 0x00, 0x4b, 0x8b, 0xbe, 0xd1, 0x8b, 0x62, 0xce, 0x70, 0xb1, 0xd1, 0x5b, 0x87, 0x07, 0xe3, 0x4b, - 0x85, 0xe9, 0x0b, 0x3d, 0xb8, 0xce, 0xdb, 0x6d, 0xca, 0xa0, 0x4f, 0xde, 0x11, 0x1d, 0x00, 0x6c, - 0x89, 0x46, 0xfc, 0x11, 0xf1, 0xe5, 0x7a, 0x4c, 0xf7, 0x84, 0x9b, 0x8c, 0x7e, 0xf9, 0x30, 0x87, - 0x7d, 0x30, 0x7a, 0x9b, 0x29, 0x2d, 0xb5, 0x69, 0x3f, 0xad, 0x1d, 0xbf, 0xcd, 0x54, 0x62, 0x38, - 0xd8, 0xca, 0xe2, 0x46, 0xa6, 0x87, 0xde, 0x66, 0xca, 0xc4, 0xb7, 0x18, 0xe4, 0x48, 0x83, 0x2b, - 0x46, 0xc9, 0xcd, 0xdb, 0x0e, 0x40, 0xfd, 0x00, 0x30, 0xe5, 0x23, 0xc0, 0x86, 0x83, 0x10, 0x50, - 0x89, 0xfe, 0x32, 0x3f, 0x99, 0x55, 0x0c, 0x5a, 0xf8, 0x9f, 0x03, 0xcb, 0xad, 0xe6, 0x25, 0x50, - 0x0f, 0x86, 0x1e, 0x13, 0x8d, 0xe1, 0xc1, 0x1f, 0x00, 0x1a, 0x54, 0xe7, 0x8f, 0xec, 0x21, 0xde, - 0x9c, 0x0b, 0x8b, 0xba, 0x8f, 0x7f, 0x0b, 0x4f, 0xb1, 0x32, 0xef, 0xe1, 0xa1, 0xe3, 0x3f, 0x35, - 0xf7, 0xfa, 0x96, 0x19, 0x4b, 0xa4, 0x2c, 0xeb, 0x42, 0x62, 0xb8, 0x12, 0xca, 0xff, 0x1b, 0x24, - 0x82, 0x6d, 0x76, 0xd6, 0x0e, 0x5d, 0x14, 0x2a, 0x28, 0xff, 0x8f, 0x40, 0xf5, 0x89, 0x4d, 0x7f, - 0xea, 0x85, 0x5b, 0xa5, 0xdb, 0xfa, 0x5f, 0xbb, 0xf5, 0xbf, 0xd5, 0x41, 0x56, 0xe1, 0xf8, 0x2f, - 0x5f, 0x33, 0xe3, 0xe5, 0x79, 0xca, 0xc3, 0x4b, 0xee, 0x80, 0x6b, 0x87, 0x2d, 0x38, 0x8d, 0xee, - 0xa2, 0x50, 0x25, 0x20, 0x41, 0x96, 0x86, 0x5e, 0x12, 0x1e, 0xbe, 0x7d, 0xeb, 0x6f, 0x99, 0xdb, - 0xd9, 0x6f, 0xdf, 0xba, 0x5b, 0x9d, 0xed, 0xec, 0xce, 0x31, 0x61, 0x9c, 0x84, 0x92, 0x26, 0x17, - 0x11, 0xdf, 0x28, 0xf4, 0x40, 0xef, 0xb7, 0x6f, 0x91, 0x04, 0xe2, 0xe1, 0xe4, 0xab, 0x6d, 0x5a, - 0x14, 0xec, 0x9e, 0x83, 0x47, 0x52, 0x86, 0x3c, 0xa5, 0xf1, 0xf4, 0xd4, 0x94, 0x89, 0x20, 0x71, - 0x0d, 0x23, 0x3e, 0xb9, 0x33, 0x73, 0x95, 0x83, 0x35, 0x9e, 0x9b, 0x10, 0xd0, 0x6d, 0x67, 0xc8, - 0xbb, 0xf0, 0x92, 0x2f, 0x7c, 0x98, 0x06, 0x09, 0x87, 0xa0, 0xce, 0x1d, 0xf7, 0x0a, 0x5a, 0x84, - 0x17, 0x24, 0xee, 0x7a, 0xab, 0x86, 0x4c, 0x2a, 0xc7, 0x8c, 0x58, 0xb1, 0xb7, 0xa6, 0x3f, 0x13, - 0x37, 0x51, 0xa5, 0x77, 0xcc, 0x90, 0x55, 0x03, 0x33, 0x68, 0x1b, 0x83, 0x4c, 0x3e, 0x6e, 0x39, - 0xce, 0x31, 0x17, 0x6a, 0x39, 0xe2, 0x9a, 0x23, 0x2d, 0xa3, 0xec, 0xfc, 0x7d, 0xab, 0xa9, 0x8b, - 0x5f, 0x25, 0x40, 0xb3, 0x60, 0x35, 0xc7, 0xb9, 0x90, 0x59, 0x54, 0x8d, 0x73, 0xa3, 0xc4, 0x6f, - 0x14, 0x13, 0xac, 0x6f, 0xf7, 0x1e, 0x5b, 0x3c, 0x35, 0xce, 0x44, 0xa3, 0x98, 0x9f, 0x62, 0xcc, - 0xd0, 0xf7, 0xe4, 0x83, 0xf0, 0xf1, 0xcf, 0x80, 0xd2, 0x0d, 0x81, 0xb2, 0x47, 0x62, 0xb5, 0x19, - 0x00, 0xba, 0xac, 0x81, 0xb9, 0xfd, 0x9b, 0xdf, 0x81, 0x0e, 0x59, 0xfe, 0xcb, 0xfa, 0x28, 0xb0, - 0xa9, 0x85, 0xa2, 0x90, 0x1e, 0x3f, 0x5a, 0x78, 0x9b, 0x1a, 0xcb, 0xe1, 0xb5, 0xee, 0xfe, 0x09, - 0xbb, 0x3d, 0xb2, 0x5d, 0xa7, 0xd1, 0x91, 0xb5, 0xe0, 0x4a, 0x01, 0xcd, 0x0d, 0xd9, 0x03, 0x53, - 0x15, 0x2f, 0x05, 0x49, 0x7a, 0x87, 0x96, 0xbc, 0x77, 0xef, 0x5b, 0x43, 0x78, 0x78, 0xce, 0xdf, - 0xfb, 0x91, 0xeb, 0x62, 0x4d, 0xfe, 0x5e, 0x47, 0x24, 0x6b, 0x72, 0x2a, 0x95, 0x0c, 0xa4, 0x8c, - 0x4c, 0x4e, 0xb7, 0xb3, 0x5e, 0x78, 0x72, 0x20, 0x94, 0xf0, 0xbf, 0x8c, 0x6e, 0xfd, 0x5f, 0x49, - 0xbf, 0xc3, 0xbe, 0xc5, 0xa7, 0xe4, 0x55, 0x71, 0x84, 0x5f, 0xd8, 0x7a, 0x00, 0xcc, 0x2f, 0x1f, - 0x12, 0x98, 0xe1, 0x9f, 0x03, 0x38, 0x4b, 0x6f, 0xd3, 0x71, 0x37, 0x94, 0xbe, 0x4b, 0x41, 0xc9, - 0x7e, 0x17, 0xac, 0x5b, 0x00, 0x7e, 0x55, 0xe7, 0x20, 0x54, 0x99, 0x1b, 0x19, 0xbd, 0x4a, 0x22, - 0xee, 0x4a, 0xb8, 0x07, 0xb9, 0x92, 0x3e, 0x14, 0x7d, 0x53, 0x5c, 0x19, 0xe6, 0x28, 0x7c, 0x21, - 0x1e, 0xff, 0x2f, 0x1a, 0xbd, 0x73, 0x24, 0xbc, 0x9c, 0xb2, 0xcd, 0x53, 0x44, 0x11, 0xa4, 0x85, - 0xed, 0x1d, 0xd3, 0x4d, 0xc2, 0x7a, 0x9b, 0x5a, 0x55, 0x4a, 0xf1, 0x4b, 0x7d, 0xf7, 0xd4, 0xc1, - 0x00, 0x22, 0x6b, 0x19, 0xbb, 0xb8, 0x58, 0x4e, 0xff, 0x4b, 0x46, 0xd1, 0xf8, 0x57, 0x8f, 0x64, - 0x20, 0x3f, 0xc3, 0xf7, 0xec, 0x09, 0xe1, 0x5b, 0x41, 0x30, 0xa6, 0xd5, 0xb4, 0x93, 0xe8, 0x66, - 0xc0, 0x07, 0xe6, 0x60, 0x09, 0x3d, 0x3a, 0xb0, 0x79, 0x46, 0xb6, 0xc8, 0xaa, 0x6e, 0x1c, 0xdd, - 0xb2, 0x53, 0xce, 0xee, 0xb3, 0x62, 0x26, 0x12, 0x44, 0x46, 0xf7, 0xd7, 0xfe, 0x73, 0xb3, 0xea, - 0xd3, 0x80, 0x38, 0x01, 0x28, 0xd6, 0x38, 0xaf, 0x36, 0x6b, 0x7e, 0xa8, 0x24, 0x39, 0xc1, 0xc2, - 0x51, 0x30, 0xc8, 0x46, 0x22, 0x39, 0x7f, 0x12, 0xf6, 0xc6, 0xfd, 0x31, 0x77, 0xd2, 0x6a, 0x77, - 0x01, 0xbf, 0x24, 0x30, 0xd3, 0xdf, 0x99, 0xac, 0x63, 0xf2, 0x92, 0x7b, 0x8e, 0x38, 0xfd, 0x68, - 0x8e, 0xeb, 0xd7, 0xe0, 0xab, 0xf8, 0xfa, 0x3d, 0x2b, 0xee, 0x78, 0x9f, 0x4d, 0x4a, 0x61, 0x82, - 0xb7, 0xbd, 0x57, 0x8d, 0xec, 0x07, 0xfe, 0xc0, 0xcc, 0xad, 0xac, 0x88, 0x27, 0x53, 0x5c, 0xe7, - 0xde, 0xaf, 0x9a, 0x42, 0x0e, 0x0e, 0x86, 0x5c, 0x7c, 0xee, 0x09, 0x42, 0xb7, 0xc9, 0xd0, 0xf9, - 0x92, 0x48, 0xce, 0xaa, 0xd1, 0x64, 0x8e, 0xb2, 0xc4, 0x94, 0x65, 0xf8, 0x71, 0x79, 0xc3, 0xd7, - 0x3f, 0x94, 0xe5, 0x1e, 0x12, 0x22, 0x5e, 0x46, 0x81, 0x6c, 0xfb, 0x2a, 0xde, 0x59, 0x26, 0x7f, - 0x73, 0x1a, 0x4f, 0xb6, 0x3a, 0xdf, 0x15, 0x77, 0x98, 0x6b, 0x0e, 0x4c, 0x7c, 0xe5, 0x87, 0xf3, - 0xb3, 0x3e, 0x57, 0xbb, 0x55, 0x7c, 0xc0, 0x00, 0x54, 0x34, 0x29, 0xe9, 0x4b, 0xf6, 0xe7, 0x02, - 0xdb, 0x60, 0x0f, 0x14, 0x11, 0x27, 0x25, 0xb9, 0x42, 0x48, 0x53, 0xf0, 0x26, 0x50, 0xd9, 0x52, - 0x12, 0x0e, 0x49, 0x4c, 0x62, 0x98, 0xa6, 0x77, 0x58, 0x0a, 0xdb, 0x13, 0x69, 0x4b, 0x7c, 0x0b, - 0xef, 0x8e, 0xe1, 0x17, 0x01, 0x10, 0xe4, 0x46, 0x0f, 0xc5, 0xe3, 0x30, 0xbc, 0x29, 0x49, 0xd0, - 0xe1, 0x07, 0x4b, 0x63, 0x10, 0x81, 0xa0, 0xb9, 0x91, 0xb4, 0x34, 0x09, 0xa8, 0xd9, 0x55, 0xa6, - 0x97, 0xbd, 0x04, 0x7f, 0xd3, 0xba, 0xdf, 0xe3, 0x93, 0xdf, 0x45, 0x72, 0xde, 0x25, 0xcc, 0xc6, - 0xf4, 0x24, 0x16, 0x9e, 0x90, 0xa4, 0x87, 0xb6, 0x5c, 0x36, 0xc6, 0x4e, 0xf0, 0xaa, 0x2c, 0x9a, - 0x8a, 0xe7, 0x3b, 0x68, 0xc6, 0x0e, 0x5f, 0xab, 0x7d, 0xa9, 0x65, 0x41, 0xdf, 0xf0, 0x32, 0x6a, - 0x94, 0x3a, 0x18, 0xc7, 0xa9, 0xed, 0xfc, 0xf8, 0x59, 0xd5, 0x40, 0x0b, 0xd3, 0x54, 0x3c, 0xf5, - 0x45, 0x6e, 0xfa, 0x72, 0xdc, 0x8a, 0xdf, 0x73, 0x7f, 0xfd, 0x45, 0x62, 0x3d, 0xc9, 0xf1, 0x26, - 0x28, 0x87, 0xbf, 0x5e, 0x51, 0x81, 0xdc, 0xb6, 0xe1, 0xcd, 0xa0, 0x6f, 0xdf, 0x78, 0xbc, 0x31, - 0x15, 0x63, 0x7a, 0xc9, 0x85, 0xa8, 0xde, 0xb5, 0xb4, 0x98, 0x90, 0x74, 0x4f, 0xf0, 0x06, 0x1f, - 0x10, 0xf7, 0x36, 0xb8, 0xfd, 0x8e, 0xf2, 0x7e, 0x47, 0xb9, 0x9f, 0x3b, 0xa0, 0xc0, 0x56, 0xf1, - 0xa1, 0x26, 0x92, 0x9b, 0x04, 0x12, 0x32, 0xde, 0x6c, 0x20, 0xc8, 0x4c, 0x5f, 0x09, 0x99, 0x0d, - 0x8f, 0xe5, 0x83, 0x0e, 0xe8, 0x87, 0xbf, 0xb1, 0x70, 0x90, 0x9f, 0x65, 0xf3, 0xc9, 0x77, 0xb7, - 0x23, 0xf9, 0xe9, 0x42, 0xf7, 0x83, 0x22, 0x12, 0x93, 0x4f, 0xbf, 0x8c, 0x1d, 0xce, 0x1f, 0xb3, - 0xf9, 0xe4, 0xbb, 0xd4, 0xe1, 0xfc, 0x5e, 0x38, 0xbf, 0x50, 0xc3, 0x88, 0x72, 0x27, 0x55, 0xf7, - 0x3e, 0x18, 0x82, 0x7c, 0x8f, 0xc7, 0x3f, 0x8e, 0x9c, 0xa1, 0x06, 0xa5, 0xa7, 0xbc, 0xa0, 0x08, - 0xba, 0x80, 0x6a, 0x0c, 0x28, 0x6d, 0x02, 0x0f, 0x4c, 0x92, 0x5c, 0xd0, 0x85, 0xd3, 0xfd, 0xa8, - 0x7d, 0x68, 0xdd, 0x8c, 0x39, 0xd5, 0xe5, 0x9f, 0xd7, 0xa4, 0x47, 0x3b, 0xfd, 0x53, 0x7e, 0xee, - 0x5b, 0xe4, 0xd0, 0x5c, 0x94, 0xc3, 0xc9, 0xa9, 0x2a, 0xb7, 0xac, 0xc7, 0xe3, 0x3f, 0x44, 0xc1, - 0x97, 0x2b, 0x3f, 0xbd, 0xcb, 0xab, 0x80, 0x73, 0xfd, 0xb9, 0x86, 0x6c, 0x4e, 0xaa, 0xa0, 0x28, - 0x8b, 0x47, 0xcc, 0x3d, 0xb4, 0xca, 0x0b, 0x78, 0x14, 0x4e, 0xc0, 0x6e, 0x08, 0x8e, 0x57, 0x5e, - 0x72, 0x48, 0x81, 0x46, 0xbf, 0xbc, 0x49, 0xf6, 0x84, 0x5d, 0xf3, 0xeb, 0x8f, 0x39, 0x7e, 0xeb, - 0x45, 0xd6, 0xae, 0x20, 0xb1, 0x69, 0xdb, 0x09, 0x6c, 0x24, 0xe9, 0x1f, 0xe2, 0xf9, 0x45, 0xd6, - 0x4e, 0x7a, 0x72, 0x07, 0x96, 0xd5, 0x28, 0x91, 0x14, 0x5c, 0xd9, 0xe8, 0x15, 0xcd, 0x5e, 0x60, - 0x08, 0x0c, 0x89, 0x7f, 0x6e, 0xa2, 0x03, 0x75, 0x88, 0x37, 0x27, 0xe9, 0x07, 0xb6, 0x80, 0xec, - 0x50, 0xbe, 0x2f, 0x17, 0x00, 0x89, 0x98, 0xf2, 0x42, 0x57, 0x96, 0xae, 0x43, 0x03, 0x40, 0xfc, - 0xb3, 0x77, 0x3e, 0x10, 0xec, 0x9d, 0x65, 0x78, 0x8f, 0x4a, 0xda, 0x18, 0x39, 0x2e, 0x54, 0x1f, - 0x90, 0x09, 0x56, 0xf5, 0x2d, 0x45, 0xe0, 0xff, 0x9b, 0x73, 0xbf, 0x12, 0xca, 0xa7, 0x50, 0x64, - 0xfc, 0x37, 0xff, 0x3f, 0xa1, 0x1a, 0x69, 0x93, 0x25, 0x1b, 0x13, 0x55, 0x63, 0x61, 0xe4, 0xdb, - 0xc4, 0x2d, 0x9c, 0xf0, 0x44, 0x56, 0xcc, 0x05, 0x4b, 0xfc, 0x57, 0x17, 0x3d, 0x2e, 0x4d, 0x4e, - 0xc5, 0x25, 0x6b, 0xec, 0xc1, 0x4c, 0x4e, 0x09, 0xe2, 0x7b, 0x14, 0x98, 0xe3, 0xa1, 0xea, 0x09, - 0x3e, 0xed, 0xc3, 0x48, 0xef, 0x36, 0x73, 0xef, 0x0a, 0xae, 0x47, 0x46, 0xd7, 0xbf, 0x95, 0x59, - 0xed, 0x26, 0x59, 0x20, 0xc3, 0xc5, 0xe8, 0xb9, 0x45, 0xf6, 0x2b, 0x09, 0xc1, 0xdd, 0x31, 0x41, - 0x1a, 0x8a, 0x3c, 0x3c, 0x35, 0xe8, 0x78, 0xf7, 0x5c, 0xb8, 0x8a, 0x43, 0x95, 0x23, 0x5a, 0x42, - 0x2d, 0x5b, 0xf7, 0x45, 0x11, 0x1e, 0xe7, 0x01, 0xc6, 0xac, 0x13, 0x16, 0x0d, 0x8b, 0x5d, 0x32, - 0x2f, 0xdc, 0x7c, 0x3c, 0xc3, 0x05, 0xa4, 0x4c, 0x7a, 0x97, 0x10, 0xb9, 0x47, 0x16, 0x03, 0xce, - 0xf1, 0xda, 0xa3, 0xfc, 0x42, 0xd7, 0x7c, 0xad, 0xee, 0x78, 0xc2, 0x57, 0x16, 0x0c, 0x41, 0x15, - 0x2c, 0xd0, 0xf9, 0x6a, 0x4b, 0xe2, 0x5d, 0x4b, 0x26, 0x2d, 0xf6, 0xec, 0x08, 0x9e, 0x63, 0xcc, - 0x40, 0x67, 0x7f, 0xe2, 0xc9, 0x11, 0x81, 0x9e, 0x65, 0x14, 0x8c, 0x3a, 0xde, 0x72, 0x28, 0xa8, - 0x75, 0xbc, 0xc2, 0xb0, 0x46, 0x16, 0x54, 0x68, 0x88, 0xb7, 0x50, 0xa4, 0x27, 0x65, 0x84, 0xcd, - 0x3d, 0xc0, 0x21, 0xeb, 0x5d, 0x63, 0x98, 0xc0, 0xf8, 0xa1, 0xe5, 0x34, 0x75, 0x39, 0x8d, 0x34, - 0xe5, 0x0e, 0x1d, 0x76, 0xb4, 0x95, 0x75, 0x0f, 0x65, 0xd2, 0xfb, 0x99, 0x6c, 0xaa, 0xb0, 0x02, - 0x2f, 0x5b, 0x8a, 0x5e, 0x93, 0x99, 0x60, 0x27, 0x5c, 0x6f, 0xbc, 0x21, 0xb3, 0xb0, 0xbb, 0xf8, - 0xac, 0x3e, 0xf6, 0x1a, 0x9f, 0xd5, 0x4e, 0x2e, 0xbe, 0xc0, 0x48, 0xd4, 0x2d, 0x72, 0xc2, 0x81, - 0x3d, 0x3c, 0x93, 0xf1, 0xa8, 0x49, 0x48, 0x80, 0xf7, 0x33, 0x91, 0xd8, 0x25, 0xf7, 0xfe, 0x69, - 0x19, 0xaf, 0x9e, 0x36, 0xf0, 0x8f, 0xba, 0x48, 0xe2, 0x25, 0xd8, 0x8b, 0x7f, 0x01, 0x5b, 0xbb, - 0x37, 0xe1, 0x04, 0x21, 0x8d, 0x55, 0x2e, 0x7a, 0x6f, 0x36, 0x7e, 0x06, 0x05, 0xbd, 0x69, 0x02, - 0xde, 0xb1, 0xf8, 0x62, 0xa8, 0xe4, 0x26, 0xb3, 0xda, 0xaf, 0x30, 0xb3, 0x2d, 0x4f, 0x50, 0x72, - 0xdb, 0x0e, 0xc8, 0x67, 0x5c, 0xb9, 0x05, 0x39, 0x74, 0xed, 0x4e, 0x64, 0x26, 0x52, 0x9d, 0x0c, - 0x55, 0x35, 0xf2, 0x3d, 0x1d, 0xd7, 0x8b, 0x48, 0x76, 0x0b, 0xd1, 0x2e, 0xc3, 0x4b, 0x77, 0x70, - 0x3b, 0x8f, 0x2c, 0x7d, 0x32, 0x39, 0x4f, 0x41, 0xf2, 0x40, 0xfb, 0x42, 0x9f, 0x96, 0x8c, 0xbe, - 0xab, 0xcd, 0x85, 0xa1, 0x37, 0xa9, 0x91, 0xf6, 0xc7, 0x5c, 0x5f, 0x90, 0xeb, 0xb6, 0x93, 0xfe, - 0xee, 0xa2, 0x6b, 0xcf, 0xb9, 0xa9, 0x5e, 0xd7, 0x88, 0x9f, 0xe1, 0x6e, 0x36, 0x7e, 0xb4, 0xf5, - 0x15, 0xd9, 0x8d, 0x24, 0x55, 0x19, 0xff, 0x0c, 0x02, 0x88, 0x7a, 0x09, 0x3e, 0x2b, 0x0b, 0x3e, - 0xbc, 0xcb, 0x48, 0x0a, 0x87, 0xed, 0xe5, 0x08, 0x01, 0xfc, 0x0f, 0x6e, 0x86, 0xea, 0xf9, 0xc7, - 0x5d, 0xb7, 0xe9, 0x95, 0x43, 0xa1, 0x4d, 0x18, 0x37, 0x7a, 0x03, 0x6c, 0x77, 0xdf, 0x64, 0xf4, - 0x87, 0xa3, 0x8d, 0x40, 0xe2, 0x9c, 0x77, 0xa3, 0xd0, 0x14, 0x37, 0x02, 0x2d, 0x27, 0x55, 0xdd, - 0x89, 0xbd, 0xdf, 0xba, 0xca, 0x49, 0xbc, 0x1b, 0x5f, 0x96, 0x0b, 0xa5, 0x6e, 0xb5, 0xfc, 0x8c, - 0x7c, 0x24, 0x23, 0xe7, 0x65, 0x14, 0xc2, 0x19, 0x4d, 0x2f, 0xa3, 0xcc, 0x76, 0x50, 0x96, 0x8a, - 0x45, 0xde, 0xe5, 0x2f, 0x7e, 0x87, 0x05, 0x4f, 0x0f, 0xdd, 0x63, 0xc3, 0x63, 0x5c, 0x25, 0xb9, - 0x79, 0x02, 0xd3, 0x77, 0x40, 0xb7, 0x33, 0xab, 0xf4, 0x99, 0xb9, 0xb5, 0x06, 0xe4, 0x28, 0x9e, - 0xe9, 0xa3, 0x4c, 0x95, 0x0c, 0xdf, 0x4f, 0xe8, 0x65, 0xa2, 0x3a, 0x80, 0xb9, 0x02, 0xbd, 0x2d, - 0x20, 0xb8, 0x28, 0x40, 0xf1, 0x2e, 0x08, 0x00, 0xcd, 0x3e, 0xb8, 0x1c, 0xe0, 0xea, 0xb2, 0x75, - 0xcb, 0x0b, 0x78, 0x6f, 0xa7, 0x82, 0x1f, 0x09, 0xc1, 0x3b, 0xc4, 0x70, 0x10, 0xb6, 0x6e, 0x81, - 0x78, 0xc0, 0x82, 0x78, 0x3d, 0xa3, 0x4a, 0x2f, 0xc5, 0x24, 0x95, 0xf9, 0x85, 0xd0, 0x36, 0xba, - 0xb3, 0x6a, 0xe4, 0xc8, 0xa9, 0x9d, 0x64, 0x2e, 0x18, 0x08, 0xc3, 0x85, 0xa9, 0xb0, 0x58, 0x60, - 0xf0, 0x32, 0xbd, 0x5c, 0xd0, 0xfd, 0xe4, 0xd3, 0xfa, 0x0a, 0xf4, 0x96, 0x0e, 0x25, 0x74, 0x23, - 0x42, 0xb7, 0x6b, 0xe2, 0x7a, 0x42, 0x84, 0x38, 0xd4, 0xe8, 0xa9, 0xd6, 0x30, 0x41, 0xae, 0x4e, - 0xb2, 0xb9, 0x27, 0xc5, 0xce, 0x5c, 0x9e, 0x82, 0x50, 0xc3, 0x0b, 0x61, 0xc8, 0x0d, 0x2a, 0xdc, - 0x64, 0x20, 0x3b, 0xe4, 0x0d, 0xb4, 0x14, 0xae, 0x0b, 0xf3, 0xb5, 0xff, 0x05, 0x14, 0x29, 0xff, - 0x52, 0x00, 0x8c, 0x45, 0x4d, 0xa8, 0x3a, 0x89, 0xd0, 0x24, 0xb1, 0x6c, 0x75, 0x51, 0x20, 0xe1, - 0xce, 0xf8, 0xad, 0x1a, 0xef, 0x2b, 0x15, 0xc9, 0x24, 0xea, 0xd8, 0xff, 0x5f, 0x71, 0xdf, 0xba, - 0xdd, 0xb6, 0x91, 0xad, 0xf9, 0xff, 0x3c, 0x05, 0x85, 0x24, 0x12, 0x60, 0x42, 0x14, 0x49, 0xd9, - 0x69, 0x87, 0x14, 0xc8, 0x65, 0xcb, 0x76, 0xa2, 0x75, 0x1c, 0x47, 0x63, 0xb9, 0x93, 0x78, 0xa9, - 0xb5, 0x5a, 0x10, 0x09, 0x4a, 0x38, 0x86, 0x00, 0x06, 0x80, 0x2e, 0x6e, 0x8a, 0xaf, 0x31, 0x6b, - 0xcd, 0xfc, 0x99, 0x5f, 0x33, 0x3f, 0x66, 0xde, 0x6a, 0x9e, 0x60, 0x1e, 0x61, 0xf6, 0xa5, 0xaa, - 0x50, 0x85, 0x0b, 0x49, 0xd9, 0xe9, 0x3e, 0xbd, 0x3a, 0x32, 0x51, 0xf7, 0xeb, 0xae, 0x5d, 0xbb, - 0xf6, 0xde, 0x1f, 0x9c, 0xe8, 0xe1, 0x7c, 0xab, 0xb0, 0x9b, 0x0c, 0xe7, 0x78, 0xe1, 0x35, 0xfc, - 0xb3, 0xb9, 0x8c, 0xe7, 0x8d, 0x96, 0xba, 0xfc, 0x8b, 0xf5, 0xe3, 0x3c, 0x56, 0x9c, 0x13, 0x41, - 0x40, 0x95, 0x3c, 0x51, 0x9e, 0x66, 0xe3, 0x29, 0x22, 0xe7, 0xa1, 0x8a, 0x0c, 0xe7, 0x92, 0x6d, - 0xee, 0x58, 0xb2, 0xe4, 0x0e, 0xb7, 0x8d, 0xfe, 0xb6, 0xdb, 0x32, 0x10, 0xb6, 0x27, 0xba, 0x0c, - 0x92, 0x55, 0x7e, 0x0a, 0xe7, 0xd8, 0x0b, 0xfe, 0xa2, 0x2d, 0xfa, 0xbc, 0x5b, 0x24, 0x9d, 0x69, - 0x49, 0x81, 0x16, 0xa2, 0x91, 0x3c, 0xf4, 0x9f, 0x89, 0x23, 0x07, 0x3b, 0x3c, 0x12, 0xed, 0x6a, - 0x2b, 0x9d, 0xa1, 0x5a, 0x7b, 0xda, 0x30, 0xb8, 0xd6, 0x04, 0x5d, 0xc1, 0x2f, 0xae, 0xee, 0x06, - 0x70, 0x08, 0x4c, 0x07, 0x0b, 0x28, 0x6f, 0x00, 0xff, 0x2d, 0x97, 0x4b, 0xfd, 0x10, 0x3e, 0xb9, - 0x99, 0x07, 0xe9, 0xc9, 0xe7, 0x78, 0xf2, 0x75, 0x53, 0x87, 0x33, 0x17, 0xc2, 0x71, 0x19, 0x1e, - 0xa8, 0xf9, 0x91, 0xc7, 0x66, 0x08, 0xc7, 0xa6, 0x0a, 0x3c, 0x0d, 0xcf, 0x1a, 0x26, 0xcd, 0xfa, - 0x0c, 0xcb, 0xd0, 0x13, 0x9a, 0xb2, 0xd9, 0x8d, 0xd5, 0x0e, 0x05, 0xd7, 0xf7, 0x21, 0xb8, 0x47, - 0x63, 0x5f, 0xd5, 0xc7, 0xba, 0xb2, 0xca, 0x9d, 0x35, 0xd2, 0xa0, 0xf8, 0xe3, 0xea, 0x0e, 0x07, - 0x0c, 0xba, 0xee, 0x6e, 0x54, 0x0e, 0xb9, 0xe7, 0xab, 0x96, 0x42, 0xc1, 0xeb, 0xcb, 0x20, 0xcf, - 0x40, 0x50, 0x4a, 0x7a, 0x81, 0x30, 0x3b, 0x75, 0x26, 0xa7, 0xbc, 0xcd, 0x08, 0x01, 0x85, 0xb9, - 0x0e, 0x38, 0x7f, 0x62, 0xfc, 0x03, 0xd7, 0xbe, 0xc2, 0x95, 0x86, 0xaf, 0x51, 0x20, 0xb2, 0x13, - 0xb8, 0x17, 0x88, 0x1b, 0x9f, 0xdb, 0x96, 0xd3, 0xda, 0x25, 0x65, 0xf0, 0xbb, 0xb6, 0x75, 0x8f, - 0xff, 0xb2, 0x59, 0x01, 0xa2, 0x66, 0x8c, 0x7b, 0x28, 0xbd, 0x41, 0x9c, 0x0d, 0xf5, 0xeb, 0x56, - 0xfd, 0xca, 0xe8, 0x97, 0xe6, 0x53, 0x92, 0x28, 0xaf, 0xbe, 0xc3, 0x09, 0x2f, 0x5c, 0xd2, 0xaa, - 0xa2, 0x7f, 0xe8, 0x30, 0x8c, 0x79, 0x65, 0x60, 0x74, 0x68, 0x92, 0x6e, 0xe1, 0x76, 0xdc, 0x0e, - 0xb4, 0x49, 0xd2, 0x26, 0xf4, 0x96, 0x9c, 0x28, 0x18, 0xc9, 0x0c, 0xd7, 0xc6, 0x09, 0x6b, 0xc0, - 0x0a, 0x69, 0x10, 0x22, 0xad, 0x35, 0x96, 0x14, 0xa4, 0xaa, 0x24, 0x91, 0x6c, 0x45, 0x49, 0x19, - 0xde, 0x7e, 0x76, 0x51, 0x58, 0x56, 0x2a, 0x4f, 0xef, 0x48, 0x31, 0x95, 0xa7, 0x5a, 0x86, 0x33, - 0x25, 0xa3, 0x33, 0xca, 0x58, 0x51, 0xd9, 0x6c, 0x9e, 0xad, 0xad, 0x86, 0xd7, 0x1d, 0x9a, 0xbe, - 0xc9, 0xe2, 0x65, 0xae, 0xfa, 0x82, 0x9b, 0x0a, 0x60, 0x0b, 0x6e, 0xbc, 0x7a, 0xea, 0x09, 0x4a, - 0x84, 0xe0, 0xb8, 0xb9, 0x01, 0xc2, 0x02, 0x1c, 0x8e, 0x67, 0xe0, 0x0a, 0x81, 0x0b, 0xed, 0xdc, - 0x3d, 0xd9, 0x38, 0xe9, 0x95, 0xf0, 0x60, 0x26, 0x64, 0x42, 0xf3, 0x49, 0xb5, 0xfd, 0x29, 0xea, - 0xab, 0x73, 0xfc, 0x75, 0x7a, 0xdf, 0x38, 0x99, 0x86, 0xbd, 0x3a, 0x2d, 0xdc, 0xda, 0x28, 0xb3, - 0x42, 0x59, 0x60, 0x53, 0x85, 0xf3, 0x38, 0xea, 0x96, 0x6b, 0x94, 0x11, 0xbf, 0x9b, 0x11, 0x46, - 0xb9, 0x2a, 0xdf, 0x8a, 0x82, 0x0f, 0xcd, 0xfc, 0xa3, 0x7e, 0xb9, 0x84, 0xc3, 0x86, 0x12, 0xe4, - 0x7a, 0x44, 0x42, 0xa6, 0x97, 0x80, 0x3c, 0x24, 0x12, 0x3a, 0x94, 0x6a, 0x5a, 0x85, 0x9f, 0x2e, - 0x99, 0xae, 0x5a, 0x90, 0xe6, 0x3e, 0x10, 0xe8, 0x45, 0x86, 0x97, 0x0d, 0x67, 0x41, 0x4e, 0xc0, - 0xf0, 0x75, 0xd1, 0xb0, 0xde, 0x38, 0xb5, 0x80, 0xbc, 0x03, 0x81, 0x40, 0xcd, 0x78, 0xd7, 0x0a, - 0xe7, 0xf0, 0x07, 0xcf, 0x19, 0x74, 0x2b, 0x1f, 0xa0, 0xa3, 0x7c, 0xdc, 0x3f, 0x2e, 0xed, 0x47, - 0x97, 0x24, 0x13, 0xda, 0x4a, 0x77, 0xad, 0xcb, 0x09, 0x3a, 0xed, 0xc7, 0xc5, 0x49, 0x7f, 0x31, - 0x25, 0xce, 0x34, 0xfc, 0xbd, 0xc5, 0xbf, 0x38, 0x09, 0x2e, 0x0f, 0x99, 0xcb, 0xfd, 0x76, 0x79, - 0x7c, 0x5d, 0x6a, 0xfb, 0x99, 0x13, 0xa3, 0xd4, 0x33, 0x9f, 0xb6, 0x98, 0x1b, 0x0e, 0xc8, 0x05, - 0xa5, 0x7c, 0xd7, 0x1b, 0xb2, 0xd3, 0x32, 0x6c, 0x30, 0x33, 0x3e, 0x2f, 0xe2, 0xe9, 0xeb, 0xfb, - 0x60, 0x02, 0xb7, 0x67, 0xfb, 0x5c, 0xb0, 0x40, 0x98, 0x67, 0xef, 0xdc, 0xb5, 0x98, 0xb7, 0xc8, - 0x5c, 0x5b, 0xf6, 0xdb, 0x06, 0x06, 0x9d, 0x6f, 0xa0, 0x89, 0xee, 0xcb, 0x26, 0x76, 0x68, 0xf5, - 0xc3, 0xc5, 0xcb, 0x0c, 0x24, 0xda, 0xeb, 0x4e, 0x4a, 0xa1, 0xc2, 0xdd, 0x94, 0xb8, 0xd0, 0xc3, - 0xf8, 0xb4, 0x33, 0x5d, 0xa6, 0xb0, 0x91, 0xa1, 0xb1, 0x22, 0xfa, 0x7f, 0xdb, 0xd9, 0x69, 0x23, - 0xa1, 0x6f, 0x5b, 0x3b, 0xee, 0x0e, 0xd5, 0xb7, 0xe3, 0x2e, 0x76, 0x92, 0x78, 0x67, 0x00, 0x04, - 0x38, 0xa5, 0xf7, 0xbc, 0x4d, 0x8d, 0x8d, 0x39, 0xf5, 0x26, 0x76, 0xc6, 0xbc, 0x9e, 0x68, 0x3e, - 0x55, 0xdb, 0x69, 0x41, 0x25, 0x64, 0x54, 0xe6, 0x16, 0xb4, 0xb6, 0x14, 0x0b, 0x61, 0x02, 0x37, - 0x60, 0x5e, 0x89, 0x83, 0xc3, 0x8a, 0xa2, 0x70, 0x7d, 0x94, 0xe3, 0x20, 0x4c, 0xa3, 0xce, 0xe5, - 0x42, 0x83, 0x54, 0x50, 0x03, 0x58, 0x1d, 0xe5, 0x48, 0x8d, 0x7f, 0x2a, 0x28, 0x46, 0x63, 0x9a, - 0x63, 0x45, 0x4c, 0xd3, 0xfa, 0x54, 0x10, 0x23, 0x92, 0xdc, 0x97, 0x12, 0x4c, 0x4e, 0x53, 0x7c, - 0xd2, 0x40, 0x1a, 0x35, 0xbb, 0x3f, 0xd3, 0x68, 0x67, 0x76, 0xf6, 0xf0, 0x60, 0xeb, 0x9f, 0xc0, - 0xfb, 0x39, 0x46, 0x3c, 0x2d, 0x1e, 0x2f, 0x71, 0x0d, 0xc2, 0x23, 0x77, 0x23, 0x51, 0x9c, 0xba, - 0xa6, 0x18, 0xa4, 0xab, 0x44, 0xb3, 0x9c, 0xb5, 0x4b, 0x1b, 0x69, 0xec, 0xe6, 0xcb, 0xdb, 0x4d, - 0xeb, 0x35, 0x6a, 0xa1, 0x34, 0x4f, 0xe7, 0x9c, 0x94, 0x82, 0x4c, 0xc5, 0xe4, 0x0f, 0xa5, 0x40, - 0x42, 0x49, 0xa6, 0xf0, 0x6f, 0x15, 0xe8, 0xda, 0x68, 0xca, 0xa5, 0xbe, 0x70, 0x0f, 0xba, 0xa3, - 0xb5, 0x78, 0x87, 0x1d, 0x5c, 0x41, 0x15, 0x53, 0xbe, 0xe9, 0x68, 0x5e, 0xae, 0xa4, 0x7c, 0x0e, - 0xe9, 0x8d, 0xb9, 0x93, 0xd2, 0xca, 0x39, 0x5c, 0x1e, 0xc7, 0xca, 0xb9, 0xcb, 0x39, 0x90, 0xfe, - 0xd4, 0xa6, 0xed, 0x5c, 0x4e, 0x90, 0x20, 0x8e, 0x7a, 0xda, 0xa1, 0x5b, 0x4a, 0x57, 0x1c, 0xb2, - 0x6e, 0x52, 0x39, 0x30, 0x35, 0x5a, 0x6f, 0x64, 0xf3, 0xed, 0xa4, 0xe9, 0xc4, 0x33, 0xe8, 0x7f, - 0x7d, 0x5d, 0x46, 0x16, 0xc1, 0xe9, 0xba, 0xe6, 0xc4, 0x38, 0x52, 0x6e, 0xd6, 0x55, 0x54, 0x3a, - 0x86, 0xdf, 0xf1, 0x41, 0x04, 0xf4, 0xb0, 0xed, 0xa0, 0xcb, 0x8d, 0x83, 0x95, 0xe5, 0x6d, 0x6f, - 0xe7, 0x1d, 0x5a, 0xb3, 0xa7, 0xf1, 0x59, 0x99, 0x5f, 0x96, 0x82, 0xcb, 0x86, 0x3e, 0x04, 0x67, - 0x43, 0xed, 0x08, 0x8c, 0xcd, 0x7e, 0xe7, 0xfa, 0x56, 0x88, 0xcd, 0xad, 0x12, 0x97, 0xb7, 0x4a, - 0x4c, 0xbc, 0x01, 0xdc, 0x95, 0xd2, 0x9b, 0x09, 0x30, 0xa2, 0xc1, 0xf4, 0x30, 0x4a, 0x62, 0xc4, - 0xe1, 0xa8, 0xa4, 0x29, 0xb5, 0xe4, 0xc2, 0x87, 0x73, 0x52, 0x3c, 0x04, 0x57, 0x76, 0x9e, 0xb9, - 0x9d, 0x50, 0x66, 0x77, 0xdf, 0xce, 0x3b, 0x77, 0x88, 0xf4, 0xb1, 0x32, 0xe9, 0x15, 0x26, 0xfd, - 0x0c, 0x49, 0xaf, 0x70, 0x0d, 0x46, 0xdb, 0xdb, 0xa1, 0xb3, 0xa6, 0x19, 0xd7, 0xf3, 0x89, 0xd7, - 0x73, 0xd7, 0x26, 0xba, 0xda, 0x24, 0xd1, 0xed, 0xfa, 0x44, 0x3c, 0xfe, 0xde, 0x69, 0x7e, 0xa6, - 0x8b, 0xdf, 0x16, 0x04, 0xe9, 0x49, 0xb8, 0x9c, 0xb7, 0x04, 0xce, 0x89, 0x7f, 0xee, 0x07, 0x6b, - 0x86, 0x65, 0xb7, 0xe7, 0x7e, 0x5e, 0x93, 0xe6, 0x0a, 0xd2, 0x5c, 0x0d, 0x7a, 0xee, 0xdd, 0xa0, - 0xb7, 0x1c, 0x6e, 0x30, 0x12, 0xfd, 0x3f, 0x6d, 0x24, 0xfa, 0x1b, 0x8f, 0x84, 0x1b, 0x9c, 0x2d, - 0x9b, 0xd2, 0xd2, 0x1d, 0x3f, 0xd1, 0xbe, 0x60, 0xf7, 0x9d, 0xb9, 0x2b, 0x52, 0x23, 0xad, 0x97, - 0x12, 0x81, 0x35, 0xc9, 0xf0, 0x46, 0x0f, 0x6b, 0xea, 0x09, 0x2c, 0x16, 0x37, 0x68, 0xb7, 0x75, - 0xaf, 0x7b, 0xd5, 0x5d, 0x01, 0x34, 0x32, 0x24, 0x41, 0x89, 0x46, 0x99, 0x83, 0xaa, 0x18, 0x67, - 0x76, 0xd9, 0x62, 0xb7, 0xe7, 0x28, 0xc7, 0x11, 0x9b, 0x13, 0xfd, 0x3c, 0xa3, 0x05, 0x44, 0xe6, - 0xb8, 0x88, 0x7a, 0x88, 0xf7, 0xbd, 0x4a, 0x29, 0xbc, 0xf9, 0xb5, 0x1c, 0x70, 0xf2, 0x46, 0x5e, - 0xb9, 0x04, 0xbf, 0x89, 0xe2, 0xc7, 0x5f, 0x43, 0xf1, 0xe3, 0xcd, 0x28, 0x7e, 0x2c, 0x29, 0x7e, - 0x54, 0xf1, 0x67, 0x48, 0x64, 0x3e, 0xd0, 0xc9, 0xbc, 0x5f, 0xb0, 0x14, 0x06, 0x77, 0x1b, 0xbb, - 0xc6, 0x78, 0xe1, 0x69, 0x57, 0x0c, 0x58, 0xec, 0x46, 0xfa, 0x20, 0xc1, 0x06, 0xd6, 0x11, 0x47, - 0xe5, 0x78, 0xf2, 0x60, 0x65, 0x40, 0x86, 0x86, 0xfc, 0x90, 0x2a, 0xa4, 0x6e, 0x6e, 0x06, 0x5d, - 0x47, 0xe1, 0xc7, 0x5c, 0xa6, 0x64, 0xe9, 0x48, 0xe6, 0xa8, 0xef, 0xcd, 0x5f, 0x7c, 0x9b, 0x18, - 0xe8, 0x23, 0x81, 0xb8, 0x0e, 0x6c, 0xed, 0x71, 0x72, 0x47, 0xfc, 0xf2, 0xd1, 0x31, 0xfc, 0xf9, - 0xc0, 0x7c, 0xf4, 0xfb, 0x80, 0x70, 0x62, 0xe0, 0xd7, 0xaf, 0x41, 0x9a, 0xa1, 0x35, 0xa4, 0x2b, - 0xfd, 0xa4, 0x58, 0xfc, 0x9e, 0x8d, 0x01, 0x69, 0xf8, 0x1d, 0xfc, 0xf3, 0xa3, 0x7f, 0x7d, 0x8d, - 0x20, 0x50, 0xe4, 0x01, 0x05, 0xff, 0xb6, 0xde, 0x07, 0x3e, 0xb2, 0xe1, 0x6f, 0x61, 0xff, 0x1e, - 0x7f, 0x23, 0x7e, 0xfc, 0x8a, 0x3f, 0x7e, 0xa6, 0x1d, 0x83, 0x75, 0xe2, 0x9e, 0xe9, 0xca, 0x1f, - 0x99, 0xfc, 0x81, 0x5c, 0xf6, 0x09, 0xca, 0x68, 0x14, 0x9f, 0x7d, 0x25, 0x1f, 0x85, 0x66, 0x49, - 0x9c, 0xef, 0x22, 0x2c, 0xe0, 0xe0, 0x79, 0xf7, 0xbb, 0xa1, 0x72, 0x0c, 0x7f, 0x65, 0x30, 0xdd, - 0xc2, 0x0b, 0x53, 0xd7, 0xb4, 0xf5, 0x96, 0xe3, 0xcd, 0x23, 0x85, 0x3a, 0x67, 0x24, 0x3b, 0x43, - 0x50, 0x4b, 0x5c, 0x9d, 0x6e, 0x57, 0x5f, 0xc4, 0x24, 0x1c, 0x42, 0xe1, 0x96, 0x31, 0xbf, 0x3c, - 0x7f, 0xa4, 0x9e, 0x91, 0x16, 0x3b, 0x42, 0x1e, 0x87, 0x51, 0x79, 0x8b, 0x20, 0x4f, 0xe3, 0x99, - 0x89, 0x9c, 0xf2, 0x5b, 0x8b, 0x1e, 0x49, 0x2f, 0x2e, 0xc6, 0xa6, 0x29, 0xc9, 0x8c, 0xf4, 0x2b, - 0xac, 0xf9, 0x45, 0xa4, 0xb2, 0x14, 0x04, 0xbb, 0x77, 0x7b, 0x3b, 0xe1, 0xd5, 0xe7, 0x46, 0x50, - 0xf4, 0x32, 0x40, 0x37, 0x6b, 0x07, 0xdd, 0x71, 0x06, 0x43, 0x25, 0xa7, 0xbe, 0x85, 0x2f, 0x04, - 0xe8, 0xc6, 0x69, 0x1a, 0x66, 0xa8, 0x0e, 0x38, 0xed, 0xa0, 0xf6, 0x05, 0x15, 0x04, 0x27, 0x25, - 0xa6, 0x7c, 0x97, 0xb4, 0x12, 0x74, 0x55, 0xcd, 0x5e, 0xa8, 0x21, 0x4b, 0xd6, 0x9a, 0xe1, 0x26, - 0x44, 0x81, 0x60, 0x46, 0xd3, 0x43, 0x6a, 0x84, 0xb8, 0xa5, 0x0a, 0xe3, 0xfb, 0xac, 0x5d, 0x77, - 0xcb, 0xd0, 0x15, 0xb7, 0x84, 0x00, 0x15, 0x26, 0xf1, 0xd5, 0xab, 0xe3, 0x16, 0x5c, 0x36, 0x34, - 0xe6, 0x7f, 0x6d, 0x6e, 0x4d, 0x8c, 0x07, 0x05, 0xa8, 0xaf, 0xf2, 0xfd, 0xe1, 0x53, 0x6c, 0xbc, - 0xa5, 0x66, 0xa6, 0x47, 0x5b, 0x21, 0xfc, 0xdd, 0xd0, 0x95, 0x2d, 0x0d, 0xc9, 0x46, 0x9e, 0x6c, - 0x95, 0xd3, 0xf5, 0x9b, 0x68, 0x4a, 0x18, 0xec, 0x58, 0x59, 0x0b, 0x6b, 0x6b, 0xe1, 0xd3, 0x23, - 0xe3, 0x5f, 0xd4, 0xba, 0xb8, 0x2d, 0x43, 0x61, 0xd0, 0xbb, 0x99, 0x29, 0x44, 0x93, 0x0b, 0xc2, - 0x0d, 0xd6, 0xb8, 0xf7, 0xad, 0x80, 0xb9, 0x90, 0x8e, 0x18, 0xaf, 0x6c, 0x46, 0x47, 0x0a, 0xc4, - 0xa3, 0xe2, 0x50, 0xf9, 0x33, 0xf0, 0xd1, 0xbb, 0x11, 0xd6, 0xb3, 0xa9, 0x3f, 0x04, 0xf4, 0x97, - 0x0a, 0xe5, 0xc1, 0xc5, 0xbe, 0x19, 0x7b, 0x36, 0x27, 0xef, 0x0a, 0x12, 0x7a, 0xe5, 0x57, 0x7c, - 0xa0, 0x21, 0xfc, 0xd0, 0x4b, 0xcb, 0x91, 0xe2, 0xc0, 0xa0, 0x73, 0xe5, 0x67, 0x2f, 0x72, 0x20, - 0x0b, 0x17, 0x78, 0x93, 0xb0, 0xae, 0xfd, 0x7b, 0xcb, 0x19, 0x07, 0x1d, 0x5f, 0x06, 0x91, 0x7b, - 0x41, 0x56, 0x48, 0x1a, 0xf4, 0x9f, 0x3d, 0x93, 0xe8, 0x19, 0xba, 0x9b, 0x20, 0x8a, 0xdc, 0xcb, - 0x1c, 0xe0, 0x38, 0x09, 0xb4, 0x01, 0xe8, 0x41, 0x9f, 0x1f, 0x39, 0x23, 0xaf, 0x02, 0x3c, 0xfb, - 0x03, 0xe3, 0xce, 0xb2, 0xd5, 0xcd, 0xc5, 0x25, 0x3e, 0xbe, 0xc5, 0xcb, 0xef, 0x64, 0xc0, 0x64, - 0xf7, 0x7b, 0x11, 0xe2, 0x9c, 0x0f, 0x9b, 0x30, 0xce, 0xa2, 0xa5, 0xf4, 0x62, 0xa7, 0x0d, 0x5b, - 0xd3, 0x08, 0x2a, 0x50, 0x32, 0x16, 0x6e, 0xf3, 0xc0, 0xf9, 0x42, 0x1f, 0x44, 0x3d, 0xf5, 0x4b, - 0x8d, 0xab, 0x02, 0xc3, 0x53, 0x43, 0xe7, 0x21, 0x0c, 0xce, 0x0e, 0xf0, 0x02, 0x50, 0xf0, 0x97, - 0x56, 0x59, 0x07, 0x95, 0x43, 0x13, 0x7a, 0x41, 0x55, 0x08, 0xe0, 0x97, 0xd2, 0xc2, 0x41, 0x65, - 0x43, 0xc2, 0xbb, 0xe9, 0x16, 0xe8, 0x6b, 0xac, 0x1f, 0x17, 0xa0, 0x0a, 0x9d, 0x5c, 0x44, 0x3c, - 0x93, 0x35, 0x5a, 0x74, 0x81, 0xa6, 0x68, 0xe7, 0xc6, 0xf5, 0x29, 0x0a, 0x25, 0xbb, 0xaa, 0xe5, - 0x40, 0x36, 0x20, 0x3c, 0x94, 0x78, 0x37, 0xd3, 0xbc, 0x4b, 0xa8, 0xa2, 0x3f, 0x9e, 0xe3, 0x93, - 0xad, 0x51, 0x16, 0x06, 0x85, 0x5e, 0xa9, 0x01, 0x40, 0x8b, 0x4b, 0x15, 0xba, 0x13, 0x23, 0x24, - 0x99, 0x41, 0xd0, 0x94, 0x45, 0x69, 0xd7, 0x9f, 0x4e, 0x3e, 0xfe, 0x04, 0xe4, 0x6d, 0x5e, 0x7c, - 0xbe, 0x62, 0xc4, 0xc0, 0x30, 0xfb, 0x19, 0xaf, 0x32, 0xd9, 0xc8, 0x23, 0xd7, 0x02, 0x0e, 0xcf, - 0x21, 0xbf, 0x3a, 0x76, 0x5d, 0x1f, 0x97, 0x29, 0xff, 0x1b, 0xc6, 0x88, 0x3d, 0x9c, 0xa0, 0x5b, - 0x42, 0x11, 0xdd, 0x83, 0xdb, 0x1a, 0x46, 0xd3, 0xbf, 0x1c, 0x1d, 0xd2, 0x0f, 0x76, 0x52, 0x10, - 0x52, 0xa4, 0x54, 0x31, 0x04, 0x46, 0x37, 0x2d, 0x22, 0xdb, 0xf4, 0xa5, 0x45, 0xbb, 0xd3, 0xed, - 0xed, 0x69, 0x83, 0x4a, 0x25, 0x1c, 0x14, 0xf3, 0x86, 0xa8, 0xc9, 0xf6, 0xf6, 0xa4, 0x51, 0xb9, - 0x8d, 0x39, 0xf8, 0x52, 0xc1, 0x25, 0x6d, 0xc6, 0x52, 0xd9, 0xa5, 0xd8, 0x52, 0xf1, 0x5a, 0xcd, - 0x82, 0xc4, 0xa8, 0xb9, 0xf7, 0xe5, 0x7a, 0xd0, 0x9e, 0xd4, 0x93, 0xc6, 0x15, 0x90, 0xc3, 0x0a, - 0x18, 0x46, 0x4f, 0xbc, 0x70, 0x97, 0x55, 0x6d, 0xcd, 0xa9, 0x44, 0x55, 0x6f, 0x56, 0xa2, 0x81, - 0x25, 0x82, 0xfa, 0xe8, 0x90, 0x6c, 0xd4, 0x73, 0x16, 0xe9, 0xf6, 0x76, 0xda, 0xdc, 0x59, 0x0d, - 0x26, 0x52, 0xa9, 0x26, 0x99, 0xfa, 0x1e, 0xe7, 0xa4, 0xef, 0x71, 0xaa, 0x3d, 0x7a, 0x17, 0x56, - 0xc0, 0x4b, 0xeb, 0x8c, 0xab, 0xcc, 0x25, 0xff, 0x56, 0xaf, 0x2d, 0x42, 0x8f, 0xc5, 0x1a, 0xc7, - 0xe8, 0xc6, 0x46, 0xd3, 0xc9, 0x7e, 0x1f, 0x0a, 0x8a, 0x09, 0xbe, 0x51, 0x69, 0xd0, 0xfd, 0xdf, - 0xff, 0xfa, 0xbf, 0x50, 0x81, 0x6e, 0x1c, 0x37, 0x36, 0x7f, 0x10, 0x37, 0xb9, 0xfb, 0x64, 0xbe, - 0x9f, 0x34, 0x11, 0x56, 0xf8, 0x0d, 0x95, 0x0d, 0xc8, 0xe7, 0xe7, 0x86, 0x1a, 0x2f, 0xd1, 0xb4, - 0x4b, 0xcf, 0x12, 0xc0, 0x28, 0x0e, 0x29, 0xf8, 0x45, 0xa3, 0xde, 0xf8, 0x92, 0xa0, 0x7f, 0xde, - 0xbe, 0x7e, 0x95, 0x59, 0x83, 0x1e, 0x79, 0x69, 0xb1, 0x21, 0x59, 0x8f, 0x8c, 0xc7, 0x60, 0x57, - 0xc3, 0x79, 0xb2, 0x65, 0xf4, 0xec, 0x32, 0x85, 0x92, 0x99, 0xbc, 0xdf, 0xd4, 0x6f, 0x79, 0x4a, - 0x21, 0x97, 0xc1, 0xac, 0x81, 0x70, 0xcc, 0x27, 0x2a, 0x0d, 0x2a, 0xd5, 0xa1, 0x8b, 0x89, 0x1b, - 0x4f, 0x38, 0x10, 0xbd, 0xe2, 0x33, 0x60, 0x12, 0xa0, 0x6e, 0xf5, 0x9e, 0x7d, 0xd3, 0x9e, 0x39, - 0xce, 0x50, 0x80, 0xc8, 0x5f, 0xa1, 0xba, 0xcb, 0xcd, 0xa8, 0xf7, 0xf0, 0x30, 0x1b, 0x75, 0x49, - 0x71, 0x19, 0x18, 0x95, 0x96, 0xfd, 0xed, 0xe2, 0x6a, 0xd9, 0xba, 0x0d, 0xd3, 0xfc, 0xc6, 0x8f, - 0x9c, 0x73, 0xe0, 0xc9, 0x51, 0x67, 0x58, 0xee, 0x65, 0x4e, 0x65, 0xb5, 0x4e, 0xf1, 0x29, 0x79, - 0x7e, 0x56, 0x1a, 0x29, 0x58, 0x87, 0x06, 0xc4, 0xce, 0xa5, 0xc9, 0x1a, 0xa2, 0xfe, 0x91, 0xb0, - 0xe7, 0xfd, 0x35, 0x0c, 0xee, 0x80, 0x83, 0x55, 0xc4, 0xd3, 0x22, 0x0c, 0x2d, 0xaa, 0xaa, 0x94, - 0x4a, 0x07, 0x5a, 0xae, 0x44, 0xb1, 0x9e, 0xa8, 0xd4, 0xd8, 0x70, 0xfd, 0xa1, 0xf6, 0x88, 0x95, - 0x28, 0xc4, 0x99, 0xa0, 0xaa, 0x3c, 0x6d, 0xb5, 0x93, 0xb6, 0x95, 0x29, 0xf5, 0x69, 0x77, 0x6b, - 0xcb, 0x8c, 0xf9, 0x48, 0x3a, 0x7d, 0x79, 0x53, 0xc6, 0x8f, 0x45, 0xce, 0xac, 0x21, 0x4d, 0x20, - 0x93, 0xec, 0x36, 0xd5, 0x19, 0x37, 0xe5, 0xfc, 0xd8, 0x90, 0x55, 0xab, 0x35, 0xf2, 0x82, 0x27, - 0x33, 0xb8, 0x1c, 0xe6, 0xf0, 0x17, 0x39, 0x19, 0xf6, 0xda, 0xda, 0x75, 0x75, 0x8e, 0x1e, 0xdf, - 0x0d, 0xa3, 0x83, 0x92, 0x46, 0xbe, 0xd4, 0xee, 0x51, 0xf2, 0xa4, 0xc4, 0x46, 0x8f, 0x44, 0x28, - 0x7c, 0xe2, 0xa5, 0x02, 0x14, 0xd4, 0x0e, 0xe1, 0x72, 0x9c, 0xe1, 0x69, 0xa0, 0x42, 0x52, 0x37, - 0x87, 0xcb, 0x31, 0x2e, 0xf4, 0x89, 0x1f, 0xdf, 0xfa, 0xd9, 0x71, 0x10, 0x7c, 0x12, 0x4a, 0x43, - 0xea, 0x1b, 0xd5, 0xe4, 0x27, 0xf9, 0x3d, 0x4f, 0xca, 0x44, 0x8f, 0x95, 0x8e, 0x9c, 0x80, 0xa4, - 0x40, 0x02, 0x6f, 0xd2, 0x21, 0xfe, 0x27, 0x46, 0x93, 0x2b, 0xdb, 0xea, 0xe3, 0x8b, 0x06, 0xb6, - 0x57, 0x9c, 0x2b, 0x45, 0x62, 0x38, 0x5a, 0xb8, 0x01, 0x61, 0x6c, 0x77, 0x7e, 0x78, 0xfe, 0x44, - 0x80, 0x7e, 0xd2, 0xfa, 0x22, 0x13, 0x4e, 0x77, 0xbf, 0xfb, 0x24, 0x84, 0x25, 0xe8, 0x85, 0x23, - 0x7c, 0xd8, 0x0c, 0xf7, 0x52, 0x2c, 0xbf, 0xc3, 0x95, 0x76, 0xc8, 0x0d, 0x9a, 0x67, 0x4f, 0x3b, - 0x09, 0xd9, 0x68, 0x52, 0x8e, 0xd1, 0xf3, 0x6e, 0x77, 0x3c, 0x1f, 0xec, 0x03, 0xcf, 0xf8, 0x04, - 0x56, 0x67, 0x91, 0x98, 0xbd, 0xa8, 0x79, 0xe5, 0xec, 0x7b, 0xe1, 0x93, 0xd4, 0x2d, 0xba, 0x28, - 0xca, 0x2c, 0xa7, 0xd2, 0x53, 0x54, 0x0b, 0xe2, 0x10, 0xae, 0x0c, 0x79, 0xd7, 0xf7, 0x08, 0x57, - 0xd4, 0x85, 0xbb, 0x54, 0xb5, 0x98, 0x72, 0x26, 0xde, 0xc4, 0x37, 0xb0, 0xf5, 0xab, 0x0d, 0x73, - 0xaf, 0xbc, 0xd3, 0x53, 0xe4, 0xf3, 0xa0, 0xa8, 0x33, 0xf7, 0xb4, 0xeb, 0xd2, 0x6f, 0xfa, 0x45, - 0xbf, 0xe1, 0x17, 0xc7, 0x16, 0xbf, 0x7b, 0xdf, 0x73, 0x0a, 0xfc, 0xcd, 0xa9, 0xcb, 0x8a, 0x6d, - 0xeb, 0x57, 0x0b, 0x10, 0x19, 0x52, 0x7a, 0x5b, 0x9d, 0x12, 0x8f, 0x18, 0x1b, 0xdb, 0x8c, 0x4c, - 0x25, 0x8d, 0xbc, 0xb7, 0x4f, 0xdd, 0x03, 0xba, 0x91, 0x7c, 0x0a, 0x4e, 0xf8, 0xa6, 0x7a, 0x77, - 0x15, 0xe2, 0xa3, 0x78, 0x11, 0x4e, 0x43, 0x03, 0xfb, 0xd8, 0xcd, 0x60, 0x5d, 0xc7, 0x4f, 0x66, - 0x42, 0x03, 0xef, 0xb6, 0x6e, 0xa7, 0x04, 0x6d, 0x94, 0xfe, 0xab, 0x1d, 0x71, 0xdd, 0x90, 0x06, - 0xed, 0xe8, 0x54, 0xa2, 0xa3, 0x86, 0x44, 0x68, 0xd6, 0xa6, 0x12, 0x5d, 0x78, 0x46, 0x1c, 0xe9, - 0x32, 0x4a, 0xfa, 0xef, 0x7e, 0x5b, 0x8a, 0xfc, 0xa8, 0xc5, 0x7d, 0x32, 0xe3, 0xae, 0x43, 0x2d, - 0xee, 0xae, 0x14, 0xa7, 0xe7, 0x3b, 0x31, 0xe3, 0xf2, 0x79, 0x11, 0x37, 0x34, 0xc7, 0xb0, 0xe7, - 0x7e, 0x12, 0xe3, 0x4a, 0xde, 0x4a, 0x8f, 0x61, 0x77, 0x20, 0x0e, 0x2b, 0x7c, 0xe3, 0xc1, 0xf7, - 0x01, 0xf6, 0x72, 0x3b, 0xdb, 0xeb, 0x23, 0x65, 0xe0, 0x50, 0xcc, 0xa9, 0x87, 0xb6, 0x71, 0x4c, - 0xb5, 0xf1, 0x86, 0x9b, 0x95, 0x7b, 0xb7, 0xa6, 0x44, 0xcc, 0x85, 0xb9, 0xcb, 0x25, 0x72, 0x79, - 0x45, 0x4c, 0x51, 0xe2, 0xb7, 0xeb, 0xdb, 0xf8, 0xfc, 0xc9, 0xac, 0xdd, 0x03, 0x1e, 0x10, 0xfe, - 0x54, 0x5a, 0xfa, 0xbc, 0xb6, 0xfd, 0xcf, 0xcd, 0xf6, 0x9b, 0x31, 0xbb, 0x54, 0x56, 0x4c, 0x3f, - 0xca, 0xad, 0xb9, 0x58, 0xd7, 0x1a, 0xce, 0x2b, 0x9a, 0x64, 0x96, 0x2e, 0x23, 0x1a, 0xfa, 0x5e, - 0x1b, 0xb3, 0x5b, 0x94, 0x57, 0xd3, 0x9a, 0x93, 0xb5, 0xa3, 0x5d, 0x5f, 0x57, 0x65, 0x94, 0x05, - 0x73, 0x76, 0xdd, 0x3e, 0x2a, 0x0e, 0xbd, 0xb7, 0xac, 0x3e, 0x52, 0x60, 0x4f, 0x6a, 0xb0, 0x6b, - 0xcf, 0x9e, 0xb5, 0x7b, 0xcf, 0xe0, 0x0e, 0x48, 0xba, 0xa6, 0xb9, 0x54, 0xa0, 0x64, 0x1d, 0x4b, - 0x48, 0x47, 0xea, 0xd6, 0x2e, 0xff, 0xec, 0xe1, 0xcf, 0x16, 0xff, 0xee, 0xc3, 0x6f, 0xe7, 0x9c, - 0xce, 0x97, 0x0f, 0xda, 0xd9, 0x92, 0xc0, 0xef, 0xe4, 0x20, 0x1e, 0x26, 0x6d, 0xaf, 0xd0, 0xaa, - 0x66, 0x65, 0x9f, 0x6c, 0x18, 0xea, 0x81, 0x6c, 0xa6, 0x71, 0x4d, 0xf6, 0x19, 0x32, 0x0c, 0x4f, - 0xa9, 0x14, 0xc2, 0x52, 0xa9, 0x6d, 0x3d, 0xf1, 0xc2, 0x76, 0x0a, 0x17, 0x8b, 0xa4, 0x9d, 0xd3, - 0x8a, 0x9f, 0x85, 0x51, 0xc4, 0x34, 0xe2, 0xad, 0x7d, 0x75, 0x1a, 0x7c, 0x77, 0x25, 0xc8, 0xca, - 0x99, 0xfb, 0x61, 0x2f, 0x86, 0xfb, 0xab, 0x5b, 0x37, 0x84, 0x7e, 0x3a, 0x81, 0xf1, 0x9a, 0xed, - 0xf5, 0xdb, 0x13, 0x1a, 0x33, 0xfc, 0x35, 0x85, 0x5f, 0x9d, 0xa7, 0xf0, 0x07, 0xc8, 0x20, 0xab, - 0xc2, 0x1e, 0x1f, 0x71, 0x6a, 0xac, 0x02, 0x32, 0x7e, 0x68, 0xb7, 0x35, 0xcd, 0xa7, 0x43, 0x9b, - 0x15, 0xce, 0x8a, 0x86, 0xaf, 0x27, 0x88, 0x40, 0xa4, 0x73, 0x7e, 0xbb, 0x59, 0x47, 0x12, 0x9d, - 0x05, 0x55, 0x0c, 0xb1, 0x9e, 0xf5, 0xb4, 0x3b, 0xbf, 0x6f, 0xbd, 0x40, 0x2f, 0xd0, 0x96, 0x6b, - 0xf6, 0x58, 0x2a, 0x7e, 0xa8, 0x60, 0xe4, 0x89, 0xed, 0xdc, 0x15, 0x9b, 0x58, 0x2e, 0xaf, 0xbe, - 0xb6, 0x5c, 0xb9, 0xc8, 0x7e, 0x73, 0x91, 0x4c, 0x68, 0x87, 0x9a, 0x55, 0x4d, 0xc9, 0x77, 0xcf, - 0x2d, 0xbb, 0xec, 0x19, 0x1a, 0x75, 0x06, 0xae, 0xdc, 0x1c, 0xbc, 0x94, 0x97, 0x4b, 0x7b, 0x03, - 0xaa, 0x4f, 0x49, 0x7e, 0x7e, 0x65, 0x08, 0x95, 0x2c, 0x72, 0xc1, 0xdb, 0xfa, 0xed, 0xc9, 0x4f, - 0xde, 0xdb, 0xc3, 0x41, 0xcb, 0x6a, 0x87, 0xc0, 0x28, 0xdf, 0xc3, 0xbf, 0x29, 0xfc, 0xeb, 0xe1, - 0xf7, 0x93, 0x54, 0xbc, 0xb0, 0x51, 0x4e, 0xd3, 0x00, 0x6c, 0x5d, 0xa5, 0x63, 0x2b, 0x24, 0x4f, - 0xda, 0xca, 0x2e, 0x4c, 0x1a, 0x53, 0x8d, 0xbc, 0x2e, 0xdc, 0xb6, 0x80, 0x25, 0x19, 0x03, 0x47, - 0x8c, 0x30, 0xf3, 0x22, 0x5c, 0x9a, 0x4c, 0x19, 0xa6, 0x52, 0xef, 0x52, 0xc3, 0x98, 0x4a, 0x06, - 0x36, 0x1a, 0x54, 0xc9, 0x04, 0x68, 0x54, 0x55, 0x79, 0xe7, 0x5d, 0x85, 0x82, 0x6d, 0xb9, 0x37, - 0x74, 0x19, 0x30, 0x1e, 0x04, 0x94, 0xd6, 0x97, 0xf6, 0xe0, 0x8b, 0x8f, 0x72, 0xa8, 0x1f, 0x58, - 0xd5, 0x3f, 0x87, 0xe1, 0xa2, 0x53, 0x38, 0x91, 0xa0, 0x36, 0x43, 0xe6, 0xb9, 0x4e, 0xad, 0xcf, - 0x41, 0x14, 0x25, 0xc8, 0x5a, 0xb3, 0x87, 0x75, 0xd7, 0x42, 0x39, 0x4c, 0x8c, 0xf0, 0x52, 0x72, - 0x5d, 0x9d, 0xc1, 0x3e, 0x6b, 0x2c, 0x70, 0xca, 0x05, 0xee, 0xf6, 0x9c, 0x86, 0x04, 0x64, 0xd4, - 0x76, 0x1a, 0x9c, 0xd1, 0xd0, 0xda, 0xd3, 0x53, 0xf9, 0x7d, 0xe6, 0x05, 0xe5, 0x2c, 0x53, 0x43, - 0x49, 0x5e, 0x18, 0x55, 0x08, 0x65, 0xfd, 0xdd, 0xde, 0x16, 0xd0, 0x08, 0xd2, 0x2e, 0x94, 0xeb, - 0x57, 0x9d, 0xcc, 0xb3, 0xbd, 0x7d, 0x18, 0xa6, 0x35, 0x6b, 0x59, 0x5c, 0xa7, 0x94, 0xe8, 0x97, - 0x05, 0x38, 0x19, 0x8f, 0xe2, 0x5c, 0x97, 0x6b, 0x9b, 0xa6, 0x1e, 0x22, 0x9d, 0xde, 0xb4, 0x78, - 0xe4, 0xd9, 0xf3, 0x76, 0xa5, 0x28, 0x54, 0x6f, 0x13, 0xc4, 0xba, 0xa8, 0x7d, 0x02, 0xc4, 0x68, - 0x22, 0x89, 0x91, 0xb3, 0xbc, 0xf7, 0xf2, 0xef, 0x42, 0xf7, 0x73, 0xd1, 0xf6, 0x7c, 0x2f, 0x74, - 0xcc, 0x8d, 0x0b, 0xf7, 0x12, 0xa2, 0x44, 0xf7, 0xb0, 0x87, 0x3a, 0xfb, 0x8a, 0x30, 0x7d, 0x06, - 0x82, 0x3e, 0x64, 0xc3, 0x81, 0x00, 0xb5, 0x2e, 0xc4, 0xb5, 0x16, 0x88, 0x49, 0x30, 0xda, 0x85, - 0x6d, 0x94, 0x90, 0x4a, 0xe9, 0x04, 0x55, 0x87, 0xe1, 0xc6, 0x19, 0x03, 0x95, 0x32, 0x3b, 0x94, - 0xe8, 0x3d, 0xb8, 0xf7, 0x12, 0x68, 0xad, 0xd9, 0x12, 0x0c, 0xd1, 0x1b, 0x23, 0x46, 0xef, 0x22, - 0xf2, 0x27, 0x9f, 0xac, 0x35, 0xf4, 0xf3, 0x5e, 0x6f, 0xe6, 0x4a, 0xfa, 0x39, 0x3c, 0xb4, 0xcb, - 0x4f, 0x5b, 0x79, 0xe9, 0x81, 0x0c, 0x2f, 0x6d, 0xbc, 0x57, 0xf8, 0xd9, 0xa7, 0x45, 0x7b, 0x05, - 0x51, 0x14, 0xac, 0xf6, 0x4d, 0xdb, 0x02, 0x6a, 0x00, 0x59, 0x5c, 0x2a, 0xc7, 0x71, 0x06, 0x87, - 0x76, 0x45, 0xb6, 0x86, 0xa0, 0x37, 0xfc, 0x68, 0x3a, 0x0c, 0x24, 0xb8, 0x36, 0xc2, 0xe3, 0x58, - 0x8e, 0x69, 0x9f, 0x14, 0x38, 0xb5, 0x68, 0xc5, 0xd2, 0x8e, 0xd2, 0xd1, 0x72, 0x67, 0xf9, 0xe3, - 0x73, 0xe3, 0x5a, 0x65, 0xd7, 0xf6, 0x8c, 0xaf, 0x83, 0x86, 0xa5, 0x26, 0xaa, 0xad, 0x11, 0xbd, - 0x4c, 0xce, 0x1d, 0xf4, 0x72, 0x9b, 0x97, 0x25, 0x0c, 0x45, 0x91, 0xae, 0xdd, 0x94, 0xf7, 0x8f, - 0xe8, 0xe2, 0xdc, 0x71, 0x56, 0x66, 0x5e, 0x96, 0x87, 0x09, 0xb1, 0xd8, 0x16, 0x1a, 0x98, 0x0c, - 0x3f, 0x56, 0x09, 0xdb, 0x4b, 0x24, 0x59, 0x5e, 0x98, 0xfd, 0xc2, 0x9e, 0x53, 0x11, 0x44, 0x1c, - 0x81, 0x8c, 0x75, 0xe8, 0x99, 0xc8, 0x48, 0x1a, 0x47, 0x2f, 0x9a, 0x52, 0xd2, 0xa3, 0x93, 0x9e, - 0x16, 0x41, 0x6f, 0x4e, 0x82, 0x78, 0x6a, 0x64, 0xe0, 0x36, 0x9d, 0x28, 0x61, 0x90, 0x82, 0x8c, - 0x93, 0x41, 0xc2, 0xc2, 0xc9, 0xce, 0x8a, 0xef, 0xaa, 0xa5, 0xb6, 0x90, 0xbc, 0xbe, 0x44, 0x4b, - 0xe7, 0xc6, 0xd8, 0x13, 0x74, 0xfa, 0xbc, 0x22, 0xfe, 0x08, 0x15, 0xe4, 0xb3, 0x30, 0xff, 0xbc, - 0x22, 0xcd, 0x61, 0x6f, 0x55, 0x64, 0x7f, 0x55, 0xe4, 0x3e, 0x46, 0x5e, 0xf9, 0xd9, 0xfb, 0x1f, - 0x5f, 0xa2, 0x3c, 0xa5, 0x3e, 0xd5, 0xfb, 0x15, 0x25, 0xfc, 0xb8, 0x22, 0xee, 0x25, 0x81, 0xb0, - 0x41, 0xe9, 0xbf, 0x21, 0xd5, 0x33, 0x7d, 0x26, 0x6b, 0xc9, 0x7e, 0xb3, 0x1c, 0x69, 0xb5, 0xa7, - 0xe4, 0x82, 0xf4, 0xfc, 0x2b, 0xd4, 0xdb, 0xee, 0xd0, 0xb9, 0x6d, 0xe5, 0x5c, 0x95, 0xc5, 0x96, - 0xcd, 0xaa, 0x39, 0xcb, 0x85, 0x1f, 0xd5, 0xe5, 0x38, 0x3c, 0xfc, 0x50, 0x9b, 0xfe, 0x2a, 0xb8, - 0xbf, 0xab, 0xa4, 0x0f, 0xe0, 0x1e, 0x7b, 0x5f, 0x9b, 0x7c, 0x1e, 0xc2, 0xf5, 0x26, 0xad, 0xab, - 0x80, 0xc6, 0x31, 0xe8, 0x70, 0x82, 0xfa, 0xaa, 0x9a, 0x7a, 0x43, 0x59, 0xb7, 0x56, 0xe6, 0xcd, - 0xbe, 0x22, 0xef, 0xed, 0x8a, 0xbc, 0xb5, 0x19, 0x3e, 0xad, 0xae, 0x6c, 0xc5, 0x68, 0x02, 0x5f, - 0xbe, 0x32, 0x6f, 0x80, 0x16, 0x01, 0xb5, 0x39, 0xff, 0x98, 0x64, 0xbb, 0x77, 0x2b, 0xf2, 0xfd, - 0x81, 0x18, 0x89, 0xe5, 0x9c, 0x1a, 0xba, 0x98, 0xf8, 0x79, 0x42, 0xeb, 0x2a, 0xab, 0x52, 0xe3, - 0xf2, 0xfe, 0x35, 0xb0, 0xbd, 0x0b, 0xc3, 0x48, 0xb7, 0x2a, 0xed, 0x3d, 0x27, 0x53, 0xa4, 0x53, - 0x36, 0x38, 0x92, 0x66, 0x90, 0x67, 0xa7, 0xca, 0x1a, 0x29, 0x60, 0x81, 0x71, 0x46, 0x72, 0x5e, - 0xdd, 0xcf, 0x03, 0x9b, 0xa8, 0x55, 0x85, 0xc7, 0x1a, 0x71, 0x8e, 0xb7, 0xb7, 0xe3, 0x95, 0xe4, - 0xdb, 0xcd, 0xd7, 0x4a, 0xae, 0xb9, 0x7e, 0x24, 0xba, 0x9b, 0xa5, 0x6c, 0xa6, 0xcd, 0x42, 0xc5, - 0xa9, 0xce, 0xa8, 0x0e, 0x55, 0xbc, 0x90, 0x4d, 0x0e, 0x0e, 0xbe, 0x77, 0x22, 0xf3, 0xb5, 0xa9, - 0xf4, 0x50, 0x10, 0xa0, 0x66, 0x31, 0x21, 0x1b, 0xae, 0x48, 0xb2, 0x8f, 0x49, 0xfa, 0x67, 0xab, - 0xdf, 0x2b, 0x5a, 0xc6, 0x1b, 0x7f, 0xe4, 0x58, 0x3d, 0xb2, 0x5b, 0x92, 0x96, 0x79, 0x98, 0x12, - 0x57, 0xc6, 0x1a, 0x23, 0xfd, 0x2a, 0x45, 0xd7, 0xd1, 0xb8, 0xe5, 0xfb, 0x80, 0x8b, 0x6f, 0xa4, - 0x2b, 0xe6, 0x7d, 0x76, 0xaf, 0x4f, 0x79, 0xf9, 0xb1, 0x80, 0xb4, 0xb1, 0x2b, 0x73, 0x9f, 0x55, - 0x8a, 0x34, 0xe6, 0x5e, 0x2c, 0x98, 0x55, 0x93, 0x9f, 0xc9, 0xf7, 0xc9, 0x04, 0x4e, 0xb0, 0x6b, - 0x46, 0x67, 0x15, 0xcb, 0x2a, 0xf8, 0x92, 0x17, 0x8d, 0xd8, 0x59, 0xc4, 0x2b, 0xce, 0x75, 0x44, - 0xee, 0x23, 0xd5, 0x8f, 0x63, 0x3f, 0x85, 0x5e, 0xe7, 0xb8, 0x91, 0x34, 0xef, 0xa8, 0xe2, 0xc1, - 0x35, 0xa8, 0x31, 0xbd, 0xd5, 0x2d, 0x6e, 0x05, 0x77, 0xc8, 0x73, 0xa6, 0xfc, 0xe9, 0xcb, 0x59, - 0x4b, 0xe6, 0xb9, 0x66, 0xd7, 0x3f, 0x0c, 0x34, 0x8b, 0x5a, 0x32, 0xa2, 0xef, 0xa2, 0x43, 0xd6, - 0xcb, 0xb7, 0xd7, 0xfe, 0xfd, 0xc3, 0x43, 0x4f, 0xfd, 0x86, 0x88, 0x2d, 0xb4, 0xbe, 0x7f, 0x78, - 0xc0, 0xbf, 0xc5, 0x6b, 0x4a, 0x97, 0x9c, 0x11, 0x3c, 0x3c, 0xb0, 0x87, 0x10, 0x8c, 0xe3, 0xbf, - 0x45, 0x0a, 0x38, 0x03, 0x89, 0xe7, 0x37, 0x43, 0x7b, 0xf4, 0x06, 0xd3, 0xb0, 0x76, 0x06, 0x41, - 0x33, 0xd2, 0x9b, 0x78, 0x18, 0x8e, 0x37, 0x7b, 0x11, 0x4a, 0xca, 0x77, 0xc0, 0xca, 0xc8, 0xed, - 0x4c, 0xc3, 0xdb, 0xd3, 0xb2, 0xd3, 0xe7, 0xb3, 0x9d, 0xca, 0x48, 0x26, 0x8e, 0x5f, 0x7d, 0x43, - 0x6a, 0x6e, 0xe7, 0xa0, 0xa1, 0x6b, 0xc3, 0xc7, 0xb4, 0x48, 0xfa, 0x0e, 0x5e, 0xdb, 0x9c, 0xff, - 0xf6, 0xbf, 0xb1, 0x39, 0xdb, 0xdb, 0x46, 0xd8, 0xff, 0xf9, 0xc2, 0x21, 0xd6, 0x18, 0x44, 0x71, - 0x0a, 0xbc, 0x47, 0x78, 0x73, 0xe6, 0xd0, 0xf9, 0x90, 0xc1, 0xef, 0x1a, 0xa0, 0x45, 0x89, 0x87, - 0x48, 0x2e, 0x47, 0x80, 0x89, 0x40, 0xe2, 0x20, 0x1c, 0xb7, 0x42, 0x4b, 0x2c, 0x4a, 0x88, 0xca, - 0x16, 0x1f, 0xed, 0xee, 0xfc, 0xde, 0x21, 0x95, 0x76, 0x15, 0xd2, 0xeb, 0x76, 0xbf, 0x73, 0x2c, - 0xb5, 0x6d, 0xa3, 0x70, 0x3e, 0xa6, 0xbf, 0xc0, 0x13, 0x16, 0x0e, 0x25, 0xd0, 0x64, 0x22, 0xf3, - 0xac, 0x16, 0x3a, 0x41, 0x6d, 0xa1, 0x3a, 0xad, 0x54, 0x1c, 0x37, 0x84, 0x06, 0xe7, 0x68, 0x61, - 0x89, 0x5a, 0x37, 0x69, 0x30, 0x09, 0x42, 0xc2, 0x6e, 0xc7, 0x56, 0x10, 0x84, 0x59, 0x74, 0xbd, - 0x24, 0x4b, 0x5b, 0x34, 0x29, 0x10, 0x28, 0x16, 0xd4, 0x1b, 0xd4, 0x03, 0xac, 0xe1, 0x42, 0xb8, - 0x3f, 0xd4, 0x99, 0xd2, 0xd1, 0xa7, 0x19, 0x6b, 0x5e, 0xcf, 0x8f, 0x57, 0xc8, 0xcf, 0x02, 0xc6, - 0x98, 0x1d, 0xb3, 0xff, 0x56, 0x5b, 0x7c, 0x3a, 0x70, 0x55, 0x9f, 0xbe, 0x8e, 0xa7, 0x76, 0x1f, - 0x81, 0x38, 0x9c, 0x81, 0xf5, 0x8f, 0x7f, 0xa0, 0xc5, 0x15, 0x46, 0xce, 0x05, 0x9c, 0xeb, 0xd8, - 0x3a, 0x80, 0xca, 0x3c, 0xb8, 0xfa, 0xab, 0xac, 0xdd, 0x33, 0xca, 0x47, 0x1e, 0x01, 0xed, 0x7d, - 0x17, 0x77, 0x9f, 0x10, 0xc8, 0x51, 0x95, 0x25, 0x0d, 0xb5, 0x0c, 0x6e, 0x85, 0x1a, 0x1d, 0xbe, - 0xf6, 0x3f, 0x05, 0xbf, 0x9d, 0x00, 0xf5, 0xbd, 0xcb, 0x1e, 0x1e, 0xd4, 0xa5, 0xf5, 0x2e, 0x3b, - 0xe8, 0x3e, 0x3c, 0xd8, 0xf6, 0x5d, 0xe6, 0xc5, 0xc1, 0x5d, 0xeb, 0xb7, 0xe0, 0xe2, 0x04, 0x7a, - 0x19, 0xe4, 0x36, 0x1b, 0x94, 0x66, 0xd0, 0x02, 0x4f, 0xbc, 0x9f, 0x28, 0x7d, 0xbf, 0x79, 0x9a, - 0xa0, 0xeb, 0xce, 0x68, 0x6c, 0xdd, 0x65, 0x68, 0x7e, 0x72, 0x97, 0xa1, 0x7c, 0x82, 0x04, 0x16, - 0x24, 0xbf, 0x60, 0xa9, 0x45, 0x39, 0xd7, 0x55, 0x92, 0xe5, 0xa4, 0xb9, 0xd5, 0xb6, 0xf6, 0x30, - 0x87, 0x83, 0x40, 0x73, 0x7e, 0xfa, 0xf9, 0x03, 0x99, 0x18, 0xfb, 0x68, 0xe4, 0x7e, 0x71, 0x03, - 0xd4, 0x2f, 0xb5, 0xdc, 0xbb, 0xac, 0x83, 0x38, 0x37, 0x59, 0x86, 0xba, 0x20, 0xa8, 0x80, 0x83, - 0xaa, 0x11, 0x36, 0x93, 0x2a, 0xa5, 0x29, 0x05, 0xbb, 0x80, 0x2c, 0xe3, 0x5f, 0x52, 0x26, 0x47, - 0xb2, 0x13, 0x9a, 0x1c, 0x84, 0x33, 0x38, 0x6c, 0xe4, 0x4f, 0xba, 0xae, 0x0e, 0x6b, 0x01, 0x49, - 0xd0, 0x53, 0x0d, 0x7b, 0xda, 0x71, 0xb5, 0x0f, 0x22, 0xf4, 0x2e, 0x8e, 0xd1, 0x5f, 0xe9, 0xf0, - 0xa2, 0xa1, 0x79, 0x45, 0xc6, 0x20, 0x25, 0x25, 0x22, 0xb1, 0x02, 0x61, 0x67, 0xc6, 0xd0, 0x5d, - 0xb5, 0x82, 0x0a, 0x7d, 0x96, 0x43, 0xb6, 0xbf, 0xd1, 0x00, 0x2d, 0xc4, 0x1a, 0xcf, 0x49, 0xad, - 0x6c, 0x98, 0x8d, 0xed, 0x02, 0x60, 0x15, 0x35, 0x1a, 0xb3, 0x23, 0xd2, 0x36, 0x33, 0x00, 0x25, - 0x33, 0xb8, 0xe0, 0x6a, 0xd8, 0x25, 0x92, 0xaf, 0x21, 0x7b, 0x91, 0xb1, 0xf8, 0x77, 0x90, 0x0f, - 0x8d, 0xed, 0x8a, 0xb6, 0x00, 0x6e, 0x1a, 0xd0, 0x6a, 0xc9, 0xc9, 0x08, 0x60, 0xcd, 0x9b, 0xea, - 0x5d, 0x70, 0x91, 0xd1, 0xd4, 0xd3, 0xbd, 0xba, 0xe1, 0x49, 0x75, 0xb9, 0xe4, 0xc9, 0x99, 0x44, - 0x49, 0xc6, 0x53, 0xf3, 0xb8, 0xfe, 0xa7, 0x8e, 0xe5, 0x6a, 0xa8, 0xb3, 0xbc, 0x26, 0xdd, 0xde, - 0x33, 0xd4, 0xc5, 0xc2, 0x25, 0x08, 0xe3, 0x2e, 0x6a, 0x48, 0xe6, 0x68, 0x45, 0x0b, 0x15, 0xa4, - 0xc1, 0x1f, 0xd9, 0xdb, 0xe0, 0xd2, 0x8f, 0x3c, 0x34, 0x80, 0xd4, 0xfd, 0x52, 0xc8, 0xbe, 0x91, - 0x02, 0x4d, 0x8f, 0x15, 0x68, 0xa4, 0xde, 0x15, 0xbb, 0x50, 0x08, 0x3a, 0xd9, 0xcd, 0x64, 0x02, - 0x0b, 0x49, 0x86, 0x76, 0x87, 0x78, 0x99, 0xf5, 0xd0, 0x53, 0x9e, 0x5b, 0xbe, 0x28, 0x0a, 0x55, - 0x92, 0x00, 0x01, 0x34, 0x5c, 0xb8, 0xc8, 0xa2, 0xb2, 0x68, 0x84, 0x09, 0xe3, 0xe8, 0xd5, 0x4d, - 0xca, 0x5f, 0xd3, 0x9b, 0x14, 0x3e, 0x3f, 0xf8, 0xe2, 0x33, 0xe7, 0xa4, 0x6f, 0xfc, 0x69, 0xc0, - 0x01, 0x33, 0xf8, 0xe5, 0xca, 0x8b, 0x2d, 0x04, 0xdd, 0x4c, 0xe7, 0xe8, 0xa4, 0x39, 0x9e, 0xba, - 0xc6, 0x45, 0x1d, 0x15, 0x9b, 0x22, 0xa2, 0xce, 0xb0, 0xc3, 0xf0, 0xb7, 0x9b, 0x63, 0x89, 0x44, - 0x0f, 0x43, 0xec, 0x9d, 0x30, 0xd1, 0xc9, 0x55, 0xab, 0xf2, 0x14, 0xd1, 0x41, 0x6b, 0x10, 0x6e, - 0xc4, 0x72, 0xea, 0xa2, 0xc8, 0x6f, 0xc8, 0xec, 0xba, 0xba, 0xa0, 0x89, 0x7b, 0x17, 0xda, 0x03, - 0x8b, 0x73, 0x5c, 0x13, 0x70, 0xb1, 0x9c, 0xda, 0x2e, 0x50, 0x6b, 0x74, 0x8f, 0x48, 0x30, 0x76, - 0xe8, 0x2d, 0x1e, 0x29, 0x38, 0x5a, 0xc5, 0xe4, 0x67, 0x24, 0xed, 0x55, 0xbe, 0xd0, 0x89, 0x0e, - 0xa3, 0xc2, 0x45, 0xcf, 0x71, 0x55, 0x0a, 0xe0, 0x54, 0x80, 0xbd, 0x39, 0x60, 0x22, 0x4d, 0x32, - 0xc8, 0xbe, 0xe0, 0x58, 0x4c, 0xcb, 0x3c, 0x54, 0x3c, 0x99, 0x9c, 0x6a, 0x05, 0x9f, 0x89, 0x76, - 0x3f, 0x78, 0x5b, 0x5b, 0x76, 0x6f, 0x3b, 0x2a, 0x2e, 0xae, 0x14, 0xd2, 0x17, 0x21, 0xd0, 0x13, - 0xfa, 0x7e, 0xba, 0xad, 0xb0, 0x70, 0xec, 0xa2, 0xf2, 0x3c, 0x41, 0x98, 0x36, 0xf5, 0x05, 0x14, - 0xd2, 0x79, 0x62, 0x46, 0x7f, 0x1c, 0x9b, 0x9f, 0xa5, 0xe4, 0x1f, 0x07, 0x3d, 0xe0, 0x09, 0xc5, - 0x30, 0x89, 0x7f, 0x0f, 0xfc, 0xb1, 0x3f, 0x10, 0xbf, 0x95, 0x4a, 0x1a, 0x66, 0xca, 0x48, 0x1a, - 0x89, 0x4e, 0xf1, 0xd1, 0xbd, 0x52, 0x5d, 0xff, 0x7c, 0xad, 0x63, 0x95, 0x7e, 0x95, 0xba, 0x25, - 0x7b, 0x85, 0x7a, 0xcc, 0x5b, 0xbe, 0x23, 0x49, 0x7a, 0xa1, 0xee, 0xf8, 0x2e, 0x69, 0xc9, 0x29, - 0x17, 0x1a, 0x8e, 0x85, 0xec, 0x06, 0x3e, 0x87, 0xd4, 0x28, 0xed, 0x94, 0xac, 0xf3, 0xce, 0xd2, - 0x81, 0xc5, 0x03, 0xcb, 0x09, 0xa6, 0xff, 0xb5, 0x2f, 0xf4, 0x1a, 0x57, 0x30, 0x01, 0xbc, 0xae, - 0x92, 0xda, 0xbb, 0x48, 0x21, 0x51, 0x94, 0xd2, 0xc4, 0xdd, 0xde, 0x30, 0x18, 0xa1, 0x7c, 0x71, - 0x77, 0xd7, 0x49, 0x0c, 0x9f, 0x1f, 0x9e, 0x8f, 0x02, 0x05, 0x08, 0x42, 0xcf, 0x29, 0x46, 0xd4, - 0x65, 0x11, 0xd5, 0x2b, 0x45, 0x5d, 0x14, 0x51, 0xfd, 0x33, 0xd7, 0x56, 0xab, 0xe1, 0x61, 0x4b, - 0xbf, 0x03, 0x53, 0x18, 0x8a, 0x5a, 0x8d, 0xbc, 0x77, 0x45, 0xde, 0xfd, 0x33, 0x62, 0xa9, 0x0f, - 0x4f, 0xde, 0x52, 0x12, 0xe1, 0x47, 0x0f, 0x87, 0xe4, 0x24, 0x4a, 0x72, 0x7b, 0x82, 0x0b, 0x56, - 0xc8, 0x83, 0x21, 0xcf, 0x24, 0x47, 0x06, 0x0a, 0xfe, 0x61, 0x11, 0xb5, 0x46, 0x1d, 0x5e, 0xa8, - 0x5d, 0x48, 0xf1, 0x8e, 0x5b, 0x15, 0x22, 0xa9, 0xf8, 0xec, 0xde, 0xad, 0x17, 0x21, 0xa9, 0x14, - 0xa1, 0x91, 0x02, 0x05, 0x48, 0x45, 0xe1, 0xbd, 0x31, 0xfe, 0x19, 0x74, 0xdd, 0x92, 0x14, 0xa9, - 0x48, 0xd1, 0xc7, 0x14, 0xfd, 0x52, 0x8a, 0x7d, 0x3d, 0xc5, 0x3e, 0xa6, 0xd8, 0x97, 0x29, 0xe8, - 0x4e, 0xf4, 0x4b, 0x4f, 0x77, 0x28, 0xb8, 0xe5, 0x77, 0x92, 0x9e, 0x1e, 0xdb, 0x2f, 0xc7, 0xf6, - 0xf5, 0xd8, 0xfd, 0x72, 0xec, 0x3e, 0x42, 0x89, 0xe1, 0x11, 0x48, 0x30, 0xe7, 0xe2, 0x37, 0x1f, - 0xbf, 0x04, 0x00, 0x2c, 0xdd, 0x70, 0xc8, 0x08, 0x86, 0x83, 0xea, 0x22, 0xae, 0x53, 0xa1, 0xb6, - 0x7b, 0x8d, 0x9a, 0x76, 0xad, 0x99, 0x42, 0xad, 0xdc, 0x32, 0x40, 0xa0, 0x7a, 0x84, 0x1e, 0x85, - 0xa8, 0xc5, 0x41, 0x9c, 0xdc, 0x5c, 0x5e, 0xb5, 0xb2, 0xb9, 0x3f, 0x09, 0x5a, 0x79, 0xd2, 0xca, - 0x7c, 0xe0, 0xe4, 0x18, 0xe4, 0xbc, 0x94, 0x85, 0x40, 0xa5, 0x98, 0xbc, 0x52, 0x0d, 0x42, 0x8f, - 0xda, 0x48, 0x43, 0xe0, 0x52, 0x3f, 0x87, 0x59, 0x86, 0x4c, 0x61, 0x98, 0xd2, 0x0b, 0x4d, 0x29, - 0xc9, 0x0f, 0x98, 0xe4, 0x85, 0xd6, 0x32, 0x21, 0x7d, 0x86, 0x05, 0xd7, 0x4a, 0x26, 0x13, 0x34, - 0x5b, 0xea, 0x58, 0x4b, 0x6d, 0x6f, 0x12, 0x37, 0xc0, 0x60, 0x6a, 0xf8, 0x8b, 0x24, 0xd3, 0xed, - 0x90, 0xb4, 0x6b, 0xe4, 0x46, 0x2e, 0x44, 0x1f, 0x30, 0x41, 0x73, 0x3f, 0x72, 0x8b, 0x4b, 0x1d, - 0x04, 0xcc, 0xee, 0xdd, 0x92, 0x8f, 0x25, 0x73, 0x77, 0x17, 0x47, 0x5e, 0xdd, 0xfd, 0x90, 0x95, - 0x8e, 0xb7, 0x36, 0x75, 0x06, 0xa7, 0x6b, 0x94, 0xe6, 0x15, 0xa7, 0x70, 0x6e, 0x56, 0x04, 0x91, - 0x13, 0x01, 0xb8, 0x00, 0xa2, 0x8b, 0xb7, 0x4c, 0x77, 0x05, 0x47, 0xee, 0xe4, 0xe4, 0x2b, 0x1a, - 0xbb, 0x68, 0x43, 0xf4, 0x7a, 0x4c, 0x17, 0x93, 0x4d, 0x8d, 0x72, 0x05, 0xe7, 0xfa, 0x2a, 0xdd, - 0x41, 0x5f, 0xa6, 0xec, 0x89, 0x94, 0x3d, 0x23, 0x65, 0x52, 0xa4, 0xdc, 0x97, 0x29, 0xfb, 0x22, - 0xa5, 0xe9, 0x5e, 0x4e, 0xb9, 0xd0, 0x03, 0x7a, 0x93, 0x1d, 0x3c, 0x1b, 0x66, 0xf8, 0x4a, 0xc4, - 0x8b, 0x4f, 0xdb, 0x13, 0x16, 0x2b, 0x22, 0x69, 0x21, 0x6f, 0x09, 0x1e, 0x1e, 0x82, 0x87, 0x5b, - 0xb0, 0xd3, 0x33, 0x38, 0xf9, 0x0e, 0x7a, 0xfd, 0xe7, 0xe3, 0xfe, 0xe0, 0x19, 0xdc, 0x5f, 0x23, - 0x39, 0x42, 0x19, 0xfb, 0xac, 0x8b, 0x80, 0xc2, 0x8f, 0x6d, 0x23, 0x74, 0x4b, 0x06, 0xa7, 0xda, - 0x5d, 0x03, 0x03, 0x06, 0x7a, 0x00, 0x5e, 0x9f, 0xc7, 0xc2, 0x80, 0xa3, 0x45, 0xb0, 0x82, 0xa4, - 0xd3, 0x57, 0x84, 0x85, 0x8a, 0x24, 0x0c, 0x2c, 0xf6, 0xe0, 0x05, 0x5c, 0x73, 0x86, 0xc0, 0xde, - 0xe1, 0x0a, 0x7c, 0xf3, 0xb0, 0x41, 0xca, 0x82, 0x1a, 0x84, 0xb2, 0x91, 0xcf, 0xc4, 0xf5, 0x6c, - 0x76, 0x0f, 0x77, 0xfc, 0x5a, 0x47, 0x8b, 0xc8, 0x9d, 0x58, 0xe5, 0xe7, 0xb6, 0x7d, 0x7a, 0x0a, - 0x7a, 0xd6, 0x0e, 0x0e, 0x22, 0xf5, 0x3a, 0x4d, 0x6e, 0xfb, 0xa2, 0x53, 0x08, 0x3c, 0x13, 0xa0, - 0xee, 0x58, 0x24, 0xda, 0xe7, 0xac, 0xf6, 0xc5, 0x09, 0xa9, 0xc4, 0x30, 0x1b, 0x26, 0x3e, 0x30, - 0x76, 0xaa, 0x38, 0xeb, 0x17, 0xf2, 0x22, 0x69, 0x0d, 0xf8, 0x1b, 0x18, 0xb4, 0x8b, 0x2c, 0x4f, - 0xed, 0xae, 0xdb, 0xfb, 0x1e, 0xfa, 0xd9, 0x50, 0x97, 0xde, 0xe5, 0xc2, 0xf6, 0xaa, 0xda, 0x51, - 0x4a, 0x27, 0x7a, 0x09, 0x9b, 0x05, 0xc9, 0x6f, 0x0a, 0x84, 0xd1, 0xb6, 0x1d, 0x38, 0xed, 0xb8, - 0xcb, 0x85, 0x22, 0x4f, 0x59, 0x97, 0x5e, 0x5b, 0x2b, 0x74, 0x3d, 0x91, 0xaa, 0x54, 0x41, 0xdb, - 0x7b, 0x36, 0x94, 0xbe, 0xdd, 0x4a, 0x62, 0x87, 0x6f, 0x58, 0x7e, 0xd5, 0xd2, 0xe5, 0x4a, 0x2c, - 0x8c, 0x32, 0x04, 0x47, 0x01, 0xbe, 0x4b, 0x42, 0xdb, 0xdd, 0xbf, 0x3c, 0xeb, 0xca, 0x37, 0x57, - 0xcb, 0x72, 0xe7, 0xf8, 0x07, 0xf1, 0x05, 0x6f, 0x3c, 0x3c, 0x8c, 0xea, 0x74, 0xaa, 0xcc, 0xa3, - 0xd7, 0x78, 0x19, 0xc5, 0x62, 0x66, 0xc5, 0x01, 0x0d, 0x23, 0x86, 0x07, 0x5c, 0xb1, 0xd7, 0x79, - 0x1a, 0xc9, 0xdd, 0x06, 0x92, 0x88, 0x59, 0xf3, 0xdc, 0xcd, 0x0c, 0x99, 0x1e, 0xb4, 0x87, 0x16, - 0x3b, 0xe7, 0x64, 0x6d, 0x50, 0xa2, 0x11, 0x6a, 0xaa, 0xfa, 0xb0, 0x86, 0xb4, 0xe9, 0xbd, 0x72, - 0xaf, 0x38, 0x35, 0x3e, 0x7b, 0xb6, 0xbd, 0x79, 0xfb, 0xaa, 0x0d, 0xf7, 0xd6, 0x36, 0x11, 0x11, - 0xe8, 0xa2, 0xdb, 0x92, 0xb3, 0x36, 0x33, 0x37, 0x4a, 0x30, 0xb6, 0xde, 0xdc, 0xd3, 0xf6, 0x80, - 0x5f, 0x2f, 0x2f, 0x71, 0x43, 0x64, 0xd6, 0x10, 0x98, 0xcb, 0x1b, 0x38, 0x56, 0x1e, 0x1e, 0xb4, - 0xa3, 0x3a, 0x80, 0xf5, 0x25, 0xcd, 0xee, 0xf2, 0xb1, 0xd1, 0x15, 0x5d, 0xfb, 0xb6, 0xd4, 0x8f, - 0x9e, 0xab, 0x57, 0x68, 0xe1, 0x05, 0xbb, 0xdd, 0x83, 0x45, 0xf6, 0xa8, 0xa1, 0xa8, 0x2b, 0xc2, - 0x6d, 0x6e, 0xa3, 0xb3, 0x94, 0x13, 0xc2, 0x1b, 0x41, 0xdf, 0x06, 0x13, 0xa1, 0x94, 0x26, 0x25, - 0xde, 0x77, 0x16, 0xaa, 0x9f, 0x29, 0xf9, 0x37, 0xbf, 0x15, 0xaa, 0x17, 0xa1, 0xad, 0xfc, 0xe1, - 0x21, 0x29, 0xb9, 0xd2, 0x4c, 0xc8, 0x93, 0x26, 0xab, 0xe1, 0xe2, 0x6f, 0xc7, 0xa1, 0xa9, 0xbd, - 0x2d, 0x09, 0x2e, 0x84, 0x5e, 0xc3, 0x2e, 0x4b, 0x2c, 0x5c, 0xbd, 0x14, 0xcc, 0x55, 0x48, 0x89, - 0x3c, 0xcb, 0x91, 0xcf, 0x91, 0x47, 0x5e, 0x25, 0x6a, 0xa8, 0xd4, 0x38, 0xbb, 0xae, 0x52, 0xa8, - 0x44, 0xfd, 0x3f, 0xed, 0xb1, 0xb8, 0xab, 0x96, 0xc5, 0x11, 0x8e, 0xad, 0xe3, 0x0c, 0x31, 0xcc, - 0xd3, 0x22, 0x50, 0x74, 0xd1, 0x75, 0x8f, 0x9c, 0xa5, 0xd1, 0x99, 0x2d, 0xd1, 0x9b, 0xf1, 0xb5, - 0x36, 0x40, 0x18, 0x30, 0xb8, 0x36, 0x9c, 0x29, 0x94, 0x61, 0x1d, 0x83, 0x48, 0xb8, 0x63, 0xd7, - 0xd1, 0x55, 0x7e, 0x0a, 0xee, 0x6d, 0x09, 0xac, 0x72, 0xb1, 0x4f, 0xde, 0x0e, 0x5a, 0x74, 0xf1, - 0x6c, 0x89, 0xe7, 0x82, 0x1d, 0x5e, 0x3a, 0xff, 0x8c, 0xa2, 0x89, 0xd7, 0x40, 0xaf, 0xd4, 0x3b, - 0x6e, 0x65, 0x1a, 0x58, 0x52, 0x44, 0x16, 0x73, 0xc5, 0x25, 0xb6, 0x37, 0xd4, 0xae, 0xb0, 0x85, - 0xab, 0xe0, 0x80, 0xa5, 0xcb, 0x0b, 0xa9, 0x0f, 0xb4, 0xf1, 0x95, 0xfa, 0x33, 0x5c, 0xa9, 0xb7, - 0x60, 0x29, 0xaa, 0x2a, 0x9c, 0x85, 0x26, 0xca, 0x78, 0x78, 0xd0, 0xa5, 0x1c, 0x9e, 0x76, 0xf7, - 0x26, 0x9a, 0x78, 0x07, 0x27, 0xdb, 0x1d, 0x0a, 0xc1, 0xe1, 0x3a, 0x6f, 0xab, 0x2b, 0xb8, 0x8b, - 0xec, 0x8d, 0x2e, 0xe5, 0x58, 0xba, 0xfb, 0xc1, 0xbe, 0x78, 0x2a, 0x14, 0xd2, 0x91, 0xcc, 0x5b, - 0x67, 0xd4, 0x95, 0x85, 0xe8, 0x88, 0x48, 0xd4, 0x80, 0xb7, 0xf5, 0xcf, 0x74, 0x5d, 0xf7, 0x3c, - 0x4f, 0x49, 0x99, 0x3a, 0xbf, 0x1c, 0xbf, 0x7e, 0x87, 0x4a, 0xc9, 0x63, 0x6b, 0x9e, 0x64, 0x08, - 0x60, 0x81, 0x96, 0x5f, 0x74, 0x73, 0x47, 0x83, 0x9c, 0x5b, 0x74, 0x8f, 0x02, 0xd7, 0x62, 0x68, - 0x31, 0x6b, 0xf4, 0xce, 0xa2, 0x04, 0x48, 0x24, 0x4a, 0x62, 0x3a, 0x71, 0x72, 0x67, 0x33, 0x96, - 0xf7, 0x90, 0x2f, 0x66, 0xea, 0xc6, 0xcc, 0x54, 0x10, 0xc8, 0x7e, 0x38, 0x85, 0x63, 0x96, 0x7f, - 0x6c, 0x6f, 0x0b, 0xb3, 0x2c, 0xed, 0x8e, 0xcd, 0xeb, 0x5e, 0x73, 0x49, 0xd8, 0xeb, 0x3e, 0x91, - 0xb6, 0x13, 0xc3, 0x64, 0x0b, 0xae, 0xdc, 0xe4, 0x87, 0xb2, 0xc8, 0xe0, 0x25, 0xce, 0xd2, 0x16, - 0x12, 0xa6, 0xc2, 0x25, 0x1a, 0xf0, 0x54, 0x4a, 0xa3, 0x68, 0xff, 0x29, 0x59, 0x47, 0xa1, 0x34, - 0xc2, 0xcd, 0xd5, 0xb9, 0xdc, 0xed, 0x16, 0x4e, 0x45, 0x61, 0xe9, 0x07, 0xd9, 0x9c, 0x9c, 0xc5, - 0x69, 0x86, 0xb8, 0xe8, 0x76, 0x43, 0x66, 0x5c, 0xc6, 0xe3, 0xbb, 0x8c, 0x64, 0x06, 0x36, 0xcc, - 0xde, 0xce, 0xc2, 0xba, 0xb5, 0x06, 0xe8, 0xfb, 0x63, 0xb9, 0xe3, 0x0c, 0xd8, 0x9a, 0x2e, 0x53, - 0x86, 0x72, 0x51, 0x8d, 0x43, 0xb7, 0xbc, 0xde, 0xa1, 0xdb, 0xb0, 0x85, 0x18, 0x51, 0x28, 0x7b, - 0xf8, 0xeb, 0x87, 0x37, 0xbb, 0xcf, 0xa5, 0x7f, 0xb7, 0x5c, 0x37, 0xb3, 0x7b, 0x84, 0x70, 0xac, - 0xb0, 0xc8, 0x33, 0xa4, 0x61, 0x75, 0x86, 0x77, 0xc8, 0xa3, 0x6c, 0x20, 0x4a, 0xc3, 0x15, 0xf6, - 0x48, 0x69, 0xda, 0xa5, 0x83, 0xae, 0xe3, 0x58, 0xee, 0xa3, 0x24, 0x3d, 0x0b, 0x92, 0xfb, 0x90, - 0x2f, 0x57, 0xf5, 0xf8, 0x41, 0x62, 0xb3, 0x42, 0xce, 0x96, 0x17, 0x86, 0x7f, 0xca, 0x29, 0x6e, - 0xde, 0x20, 0x7b, 0xcb, 0x91, 0x8d, 0x57, 0x92, 0x26, 0x21, 0x73, 0x13, 0xff, 0x0e, 0x02, 0x21, - 0x28, 0x63, 0x83, 0xaf, 0xb7, 0xe1, 0x6d, 0x70, 0x4b, 0x72, 0x32, 0x77, 0x8e, 0x7b, 0x9a, 0x7c, - 0x1e, 0xb3, 0x7b, 0x59, 0xfa, 0x76, 0xf0, 0xbc, 0x30, 0xf7, 0x1f, 0x5a, 0x2f, 0xf2, 0x9d, 0x25, - 0x33, 0x36, 0xe4, 0x8a, 0xed, 0xf2, 0xf0, 0x20, 0x25, 0xb9, 0x4b, 0xd8, 0x97, 0xfd, 0x67, 0x28, - 0xe5, 0xd3, 0x24, 0x64, 0x4c, 0xe9, 0xf4, 0xfb, 0x09, 0x36, 0x00, 0x1d, 0xf3, 0xcd, 0x81, 0xca, - 0x05, 0x16, 0x1b, 0x30, 0xae, 0x34, 0x6e, 0x2c, 0xdb, 0xc8, 0x91, 0x46, 0x88, 0x7a, 0xb6, 0x5b, - 0x24, 0xf1, 0x80, 0x84, 0x68, 0x5b, 0xf8, 0x77, 0x49, 0x02, 0x35, 0x7d, 0x7d, 0x17, 0xc2, 0x10, - 0x12, 0x9e, 0x1b, 0x9f, 0x59, 0x70, 0xc9, 0xb7, 0x6b, 0x16, 0xad, 0xa3, 0x60, 0x8a, 0x44, 0x17, - 0x0a, 0x3e, 0x19, 0xcf, 0x0e, 0x74, 0x9c, 0x5d, 0xce, 0xe5, 0xce, 0xd2, 0x7f, 0x0c, 0xb6, 0x7a, - 0x4b, 0xea, 0x6c, 0x41, 0x33, 0x2b, 0xe6, 0x7c, 0xef, 0xd0, 0x6d, 0x60, 0xd1, 0x23, 0x1b, 0xc5, - 0x78, 0x5b, 0xf0, 0xc7, 0x19, 0x9f, 0xe3, 0xb8, 0x03, 0x9d, 0x60, 0xa0, 0x8c, 0xd6, 0xc7, 0xe4, - 0x26, 0x6d, 0x91, 0x53, 0x90, 0xd6, 0x5d, 0x18, 0x45, 0x2d, 0xba, 0xa8, 0x7d, 0xbb, 0x20, 0xd9, - 0xde, 0xa8, 0xab, 0xf9, 0xd1, 0x59, 0x52, 0xe8, 0xcf, 0x08, 0xb0, 0x6d, 0xd1, 0xbb, 0x07, 0x6c, - 0xad, 0x19, 0xb0, 0x95, 0x22, 0xe2, 0xd5, 0x4d, 0xba, 0x44, 0x28, 0x13, 0xb2, 0xa3, 0x3c, 0x1f, - 0x58, 0x5c, 0xcb, 0x94, 0x01, 0x39, 0x60, 0xfa, 0xc8, 0x92, 0xd7, 0x70, 0x09, 0x1f, 0x47, 0x03, - 0x1c, 0x42, 0x68, 0xd4, 0x72, 0x59, 0x69, 0xbf, 0xf0, 0x9e, 0xa7, 0xf5, 0x40, 0x09, 0x13, 0xb7, - 0xe4, 0x2f, 0x07, 0x78, 0x68, 0xb2, 0x19, 0xa6, 0xe6, 0x67, 0x70, 0xa3, 0x68, 0xc1, 0x67, 0x2b, - 0x0e, 0xf2, 0xbb, 0x24, 0xfd, 0xc4, 0xdd, 0x41, 0xef, 0x7a, 0x98, 0x1e, 0xaf, 0xcc, 0xe8, 0x6f, - 0x1e, 0xce, 0xb4, 0xa0, 0x03, 0x4d, 0xff, 0x80, 0xbf, 0xb9, 0xdb, 0x08, 0x61, 0x9a, 0xac, 0x2f, - 0xa7, 0x15, 0x25, 0xf1, 0x25, 0x24, 0xc2, 0xd2, 0xa0, 0x2f, 0x42, 0x5b, 0x64, 0x81, 0x82, 0xcd, - 0xc1, 0x02, 0xa9, 0xd4, 0x40, 0xb6, 0x6b, 0xb9, 0x1c, 0xe2, 0xcf, 0x0f, 0x97, 0xd1, 0xfb, 0x60, - 0x72, 0x4b, 0x93, 0x4c, 0xe2, 0xcf, 0x14, 0xbe, 0x94, 0xb2, 0xcf, 0xba, 0x09, 0x2c, 0xf6, 0xd0, - 0x42, 0x5a, 0x04, 0x66, 0x6f, 0x6f, 0x71, 0xad, 0xbd, 0xbd, 0x95, 0xd4, 0x01, 0x68, 0xc0, 0x8f, - 0x88, 0x5b, 0x52, 0x3a, 0x6e, 0x31, 0x49, 0x45, 0xa5, 0x93, 0xb2, 0xb0, 0xcb, 0xa6, 0xc7, 0xe5, - 0x81, 0x45, 0xb7, 0x71, 0x86, 0x95, 0xb6, 0x2d, 0x98, 0x03, 0x68, 0x0a, 0x7c, 0x68, 0x36, 0x30, - 0xc2, 0x20, 0x50, 0x52, 0x1c, 0x8d, 0x88, 0x10, 0xd1, 0xc1, 0x5c, 0x64, 0x92, 0x6c, 0x44, 0x09, - 0x9b, 0x6a, 0xb7, 0x18, 0x11, 0xe9, 0x71, 0x3b, 0x12, 0xa3, 0x66, 0x91, 0xda, 0x4e, 0x50, 0xdf, - 0x68, 0xe3, 0xfd, 0x4a, 0x1c, 0xe5, 0x2b, 0xce, 0x70, 0xb8, 0x50, 0xa8, 0xd2, 0xd2, 0x09, 0x97, - 0x91, 0xc3, 0xe2, 0xbf, 0x00, 0xe2, 0x35, 0xb8, 0x88, 0xfc, 0x18, 0x38, 0x4b, 0xf4, 0x16, 0x60, - 0x0b, 0x96, 0x57, 0x68, 0x79, 0x95, 0x55, 0xc7, 0xb0, 0x66, 0x4d, 0xbf, 0x6b, 0x3d, 0x7d, 0xa3, - 0x78, 0x3a, 0xfe, 0xce, 0x17, 0xf8, 0xb4, 0x87, 0x20, 0x8a, 0x50, 0xca, 0x72, 0x79, 0xae, 0x2d, - 0x96, 0x8b, 0xf0, 0x12, 0x87, 0xd1, 0x0e, 0x24, 0x8d, 0x57, 0x43, 0xd0, 0x7f, 0x25, 0xf9, 0x07, - 0x56, 0xa5, 0xd1, 0xc2, 0x4d, 0x37, 0x5d, 0xe1, 0x0c, 0x65, 0x28, 0xe4, 0x64, 0x4c, 0x4b, 0xd3, - 0xc2, 0xbe, 0x1a, 0x9d, 0x84, 0xad, 0x83, 0x54, 0x5a, 0x80, 0x37, 0x0a, 0xdf, 0xb5, 0xbf, 0xf1, - 0xe3, 0xd6, 0x34, 0x99, 0xdc, 0xa0, 0x54, 0xb6, 0x83, 0x67, 0x69, 0x47, 0xf2, 0x8d, 0x4a, 0xa9, - 0xd1, 0x59, 0xc8, 0x76, 0x92, 0x13, 0x2f, 0x67, 0x48, 0x6e, 0xcc, 0xb8, 0xe2, 0xd1, 0x0e, 0x0f, - 0xdb, 0xb5, 0xd1, 0xc0, 0xca, 0x93, 0xea, 0x46, 0xcf, 0xa6, 0xb4, 0x62, 0xf3, 0xca, 0xf3, 0x65, - 0xdd, 0x94, 0x67, 0xab, 0xa7, 0x3c, 0x1f, 0xca, 0xa2, 0x60, 0x18, 0x82, 0x71, 0x66, 0xce, 0x77, - 0x79, 0xb3, 0xf2, 0x5a, 0x5d, 0xa8, 0xb5, 0x6a, 0x2e, 0x53, 0x9b, 0x57, 0x37, 0xae, 0xd4, 0x23, - 0xf6, 0xac, 0xae, 0x6f, 0x7d, 0x71, 0xd6, 0x23, 0x91, 0xaf, 0xe9, 0x37, 0x67, 0xd9, 0xbc, 0xf3, - 0x62, 0xf5, 0x1d, 0x95, 0x16, 0x1f, 0x17, 0x52, 0x2c, 0xbf, 0xca, 0x71, 0x21, 0xbc, 0x14, 0xc8, - 0x7d, 0x68, 0x6c, 0x41, 0x5b, 0xf4, 0x0b, 0x3b, 0x40, 0x3f, 0xd0, 0x37, 0x7c, 0xe1, 0xda, 0x80, - 0xeb, 0x65, 0xcf, 0x05, 0x75, 0x1d, 0xa0, 0x64, 0x8f, 0xee, 0xc1, 0x3b, 0x51, 0x9e, 0xde, 0x0b, - 0x51, 0x52, 0x5d, 0x37, 0x90, 0x15, 0x40, 0x8c, 0x1e, 0x79, 0x38, 0x77, 0x5d, 0xf4, 0x66, 0x93, - 0x19, 0x70, 0x39, 0x24, 0xf6, 0x96, 0x70, 0x26, 0xb5, 0x36, 0xe2, 0xd9, 0x6e, 0xaf, 0xb0, 0x12, - 0x77, 0x7b, 0xdd, 0x1a, 0x33, 0xe1, 0x86, 0x5c, 0x99, 0x9e, 0x0b, 0x2d, 0x89, 0x11, 0xe4, 0xdd, - 0xe6, 0x76, 0x5c, 0xdf, 0xc1, 0x55, 0x3b, 0xd6, 0x80, 0x5d, 0xf0, 0x8e, 0x83, 0x8a, 0x3e, 0xca, - 0x0e, 0xbb, 0x52, 0x4b, 0x80, 0xe0, 0x6c, 0x4b, 0x1d, 0xd6, 0x05, 0x87, 0x76, 0x92, 0x26, 0x51, - 0x04, 0x75, 0x27, 0xf4, 0x08, 0xb9, 0xb8, 0x08, 0xae, 0xfc, 0xdb, 0x30, 0x49, 0x07, 0x56, 0x76, - 0x9d, 0xc0, 0x09, 0x66, 0xb9, 0xb4, 0xcc, 0x07, 0x16, 0x3d, 0xe3, 0x58, 0x4b, 0xa9, 0xa1, 0x53, - 0x0f, 0xea, 0xab, 0x10, 0x7b, 0x47, 0x55, 0x2c, 0xcc, 0x51, 0x0d, 0x82, 0xa5, 0xc2, 0xbd, 0xca, - 0x1e, 0x01, 0x5a, 0x59, 0xc2, 0xa9, 0x7c, 0x07, 0x3c, 0x6f, 0x26, 0x00, 0x69, 0xc9, 0x99, 0x61, - 0x19, 0xaa, 0xb2, 0x00, 0xa9, 0x44, 0xbf, 0x87, 0x6c, 0x2c, 0x68, 0xed, 0x3f, 0xff, 0x0e, 0x9d, - 0xb0, 0xe0, 0x88, 0xae, 0xc0, 0xab, 0xac, 0xcf, 0xf0, 0xa7, 0x42, 0x57, 0x6e, 0x0a, 0x1e, 0x88, - 0x5d, 0x5b, 0x87, 0x4d, 0x89, 0x8d, 0xbb, 0xbe, 0xdb, 0xed, 0x0d, 0x0a, 0x63, 0x7c, 0x1d, 0x00, - 0x32, 0x68, 0x42, 0x7d, 0xcb, 0x9a, 0x51, 0xdf, 0xb2, 0xe5, 0x86, 0x18, 0x82, 0x98, 0x74, 0x1d, - 0x34, 0xa5, 0x01, 0x47, 0x99, 0x7f, 0x7d, 0x6b, 0x1e, 0x03, 0x40, 0x97, 0xd5, 0xba, 0x76, 0xbc, - 0xc8, 0xaf, 0x2a, 0x08, 0x74, 0xd9, 0x06, 0x08, 0x74, 0x79, 0x4a, 0x19, 0xd8, 0xdd, 0x82, 0x2c, - 0x52, 0x2c, 0x27, 0x98, 0x63, 0x92, 0x77, 0xe1, 0x79, 0x54, 0x03, 0x31, 0xf9, 0xed, 0x62, 0x2d, - 0xc2, 0xe4, 0xb2, 0xbe, 0xa6, 0x57, 0x6b, 0x6a, 0x5a, 0xb7, 0x7a, 0x3e, 0xae, 0x99, 0x1e, 0x04, - 0x9e, 0x2c, 0x66, 0xa8, 0xfb, 0xcf, 0x5e, 0x2c, 0xeb, 0x9b, 0xa3, 0x2f, 0x17, 0x5a, 0xdb, 0x57, - 0x83, 0xde, 0xd7, 0xad, 0x1a, 0x1d, 0x3e, 0xd0, 0xc0, 0x0e, 0x34, 0x9a, 0x46, 0xc0, 0x81, 0xdf, - 0x2e, 0xd4, 0x2e, 0x0a, 0x96, 0xe4, 0x40, 0x40, 0xf8, 0xcb, 0xd7, 0xb2, 0x4d, 0xac, 0xa6, 0x45, - 0x38, 0xd7, 0xb1, 0xe6, 0x14, 0x92, 0x1a, 0xb4, 0xe3, 0x10, 0xd5, 0x6b, 0xa2, 0x5a, 0x24, 0x37, - 0x81, 0x0f, 0x32, 0x2c, 0x91, 0xe8, 0x82, 0xaf, 0x8a, 0x75, 0x05, 0x0d, 0x59, 0x66, 0x40, 0xea, - 0x19, 0x8d, 0x79, 0x2a, 0x84, 0x5a, 0xb6, 0x30, 0x03, 0x82, 0x30, 0x86, 0x56, 0x02, 0x99, 0x65, - 0x90, 0x04, 0xe1, 0xa9, 0x6a, 0xee, 0x4f, 0xa7, 0x61, 0x7c, 0x39, 0xe8, 0x0e, 0xbf, 0x1c, 0x51, - 0x9d, 0x60, 0xd6, 0x2a, 0x68, 0xea, 0xf8, 0x52, 0x8e, 0x7c, 0x9e, 0x63, 0x7d, 0x15, 0x74, 0x3a, - 0xb5, 0xdb, 0x1a, 0xec, 0xa8, 0xf1, 0x55, 0xe7, 0xb4, 0xb5, 0xb3, 0x5c, 0x83, 0xa4, 0xd7, 0x7b, - 0xee, 0xd3, 0x9e, 0x7e, 0x31, 0x9d, 0xca, 0x43, 0xa3, 0x3a, 0xab, 0x8d, 0x20, 0xe6, 0x75, 0x68, - 0xe5, 0x4d, 0x50, 0xe5, 0x5f, 0x09, 0x4b, 0xfe, 0x7a, 0xff, 0xe9, 0x4b, 0xa6, 0x3e, 0x5f, 0x8f, - 0x32, 0x1e, 0x21, 0x14, 0xf7, 0x57, 0x02, 0x8c, 0x53, 0x19, 0x5f, 0x89, 0x2d, 0x4e, 0x65, 0x7c, - 0x25, 0xac, 0x38, 0x95, 0xb1, 0x0e, 0x51, 0x5c, 0x6c, 0x24, 0x93, 0x93, 0x3b, 0x86, 0x25, 0x18, - 0x29, 0x75, 0x26, 0xe9, 0xcd, 0x7d, 0xc8, 0xfe, 0x42, 0x5a, 0x24, 0x43, 0x42, 0xdf, 0x46, 0xcc, - 0xde, 0xfc, 0x72, 0xf1, 0x1f, 0x70, 0xa9, 0xed, 0xc0, 0x74, 0xa5, 0x21, 0xf0, 0xa3, 0x2c, 0x61, - 0x52, 0x90, 0x3b, 0x11, 0x6a, 0x89, 0x0a, 0x11, 0x27, 0x83, 0xc3, 0x74, 0xe2, 0x31, 0xff, 0x33, - 0x90, 0xaf, 0xe4, 0xc0, 0xfc, 0x63, 0x71, 0xf8, 0x1c, 0x1a, 0xe9, 0x9a, 0x87, 0xa5, 0xcf, 0xce, - 0x5c, 0x78, 0x2b, 0xab, 0x42, 0xd1, 0x61, 0x7e, 0x02, 0x2b, 0xc1, 0x1f, 0xf4, 0x8c, 0x53, 0x86, - 0x9f, 0xf3, 0x35, 0xdc, 0xb8, 0xe2, 0x41, 0x5c, 0x27, 0x12, 0x33, 0x68, 0xcc, 0xd5, 0x71, 0xf4, - 0xba, 0x6c, 0x11, 0x10, 0x05, 0xf2, 0x49, 0x2b, 0x2f, 0xd0, 0x1c, 0x32, 0xb8, 0xb8, 0x69, 0xab, - 0x6d, 0x16, 0xa6, 0x19, 0x90, 0x6f, 0x6b, 0x74, 0x2c, 0xda, 0xda, 0x12, 0xc3, 0xc1, 0xc3, 0xbb, - 0xe3, 0xb2, 0x97, 0xd4, 0x39, 0x41, 0x50, 0xe1, 0x13, 0x96, 0x82, 0xf7, 0x23, 0xbf, 0xa9, 0xd0, - 0x27, 0x1e, 0x76, 0x20, 0xc3, 0xe9, 0x67, 0x18, 0x78, 0x18, 0x40, 0x72, 0x8f, 0xa6, 0x93, 0xdd, - 0xf4, 0x1f, 0x12, 0x16, 0x69, 0xc7, 0xcd, 0x75, 0x87, 0x67, 0x42, 0xb9, 0x29, 0x6f, 0xf4, 0xe7, - 0x45, 0x44, 0x36, 0xda, 0x45, 0x68, 0x50, 0x67, 0x18, 0xa9, 0x87, 0x70, 0x60, 0x84, 0x23, 0xf6, - 0x3d, 0x59, 0x7d, 0x2c, 0x30, 0x84, 0xd9, 0x64, 0xd8, 0x8f, 0x0f, 0x4e, 0x08, 0x6f, 0xd3, 0xec, - 0x35, 0x8c, 0x8a, 0x97, 0x03, 0x14, 0xe3, 0xbc, 0xfb, 0x4e, 0xac, 0x9e, 0xb1, 0x60, 0xae, 0xa0, - 0xc2, 0x02, 0x5b, 0x47, 0x8f, 0x70, 0x46, 0xe8, 0x07, 0x87, 0x67, 0xd3, 0x88, 0x18, 0xe8, 0x23, - 0x76, 0x5a, 0x44, 0xd1, 0xeb, 0xd0, 0x99, 0x86, 0xd4, 0x23, 0xc4, 0xe5, 0xba, 0xcc, 0x10, 0x68, - 0xf3, 0x71, 0xc4, 0x0a, 0xb1, 0xc6, 0xb8, 0x0b, 0xbb, 0xc4, 0xbc, 0xdd, 0x43, 0xcf, 0x13, 0x8e, - 0x5b, 0x44, 0x4e, 0x6f, 0x52, 0x33, 0xd6, 0x88, 0x3a, 0xcd, 0xcf, 0xf4, 0xc4, 0x85, 0x38, 0xbe, - 0x29, 0x4f, 0x91, 0x82, 0xb2, 0x1a, 0x2b, 0x4c, 0xd3, 0x6d, 0x0e, 0xa2, 0xda, 0x66, 0x16, 0xea, - 0x0a, 0x76, 0x6d, 0xf3, 0xdd, 0x5e, 0x53, 0xd3, 0xcd, 0x98, 0x9a, 0x76, 0x62, 0x02, 0xa3, 0x35, - 0x3a, 0x9a, 0x43, 0x14, 0x1c, 0x67, 0x12, 0xef, 0xc5, 0x18, 0xfd, 0x5c, 0x1b, 0xef, 0xac, 0xe2, - 0xc5, 0x0c, 0xf2, 0xbd, 0xba, 0x49, 0x65, 0xc6, 0xac, 0xf2, 0xec, 0x61, 0x97, 0xc7, 0x52, 0x7f, - 0x48, 0xe9, 0x75, 0x9f, 0x64, 0x6a, 0x06, 0xf5, 0x22, 0x3f, 0x6c, 0x56, 0xa2, 0x31, 0xd2, 0x9b, - 0x14, 0xfc, 0xbe, 0xd8, 0xe4, 0xaa, 0x94, 0x21, 0x6a, 0x89, 0xb1, 0x39, 0x63, 0x84, 0x17, 0x80, - 0x34, 0xbf, 0xd4, 0x60, 0x52, 0x5d, 0x3d, 0x66, 0x6e, 0x44, 0x8d, 0x6d, 0x7c, 0xbd, 0x45, 0xf8, - 0x5c, 0xb8, 0x6e, 0x0a, 0x1a, 0x89, 0xf4, 0xd0, 0xc8, 0x93, 0xf4, 0xce, 0x9d, 0xfa, 0x9d, 0x36, - 0x28, 0xb2, 0x9b, 0x97, 0x5b, 0x59, 0x59, 0xe1, 0x41, 0x89, 0x4a, 0xad, 0x4d, 0x05, 0x9b, 0xef, - 0x75, 0x3c, 0x2d, 0x52, 0xae, 0xa9, 0x99, 0xe5, 0x31, 0x25, 0xa5, 0xec, 0x63, 0x13, 0xbc, 0x43, - 0x50, 0xbc, 0xae, 0xc7, 0x38, 0x87, 0x62, 0x9c, 0x50, 0x2e, 0x3e, 0xcf, 0x06, 0xa8, 0x2a, 0x07, - 0xf3, 0x08, 0xff, 0x76, 0x11, 0x2c, 0x4f, 0x8d, 0xff, 0xe0, 0x34, 0x4f, 0xcf, 0x5c, 0xee, 0xce, - 0xa0, 0xcb, 0xee, 0x81, 0x51, 0x36, 0xdb, 0x55, 0xb7, 0xe1, 0x62, 0xd6, 0x38, 0xd5, 0xb8, 0x1c, - 0x00, 0xdc, 0x54, 0x26, 0x58, 0x31, 0xe4, 0x90, 0x60, 0x15, 0xf0, 0x75, 0x4c, 0x9c, 0x79, 0xc0, - 0xfc, 0xc0, 0x15, 0x79, 0x17, 0xd8, 0x8b, 0x41, 0xaf, 0x3b, 0xbf, 0x1f, 0x4a, 0xa2, 0xb8, 0x0a, - 0x34, 0x7a, 0x74, 0x72, 0x75, 0x33, 0x9b, 0x45, 0xc1, 0xdf, 0xe2, 0xd6, 0x0a, 0x5e, 0xac, 0x98, - 0x76, 0x9d, 0x1f, 0xc3, 0xc5, 0x82, 0xe1, 0x0e, 0x1e, 0x2f, 0x5a, 0x5b, 0x1f, 0x1e, 0x62, 0x34, - 0x26, 0xd0, 0x50, 0x9b, 0x97, 0x23, 0x2c, 0x7f, 0x35, 0xb7, 0xf6, 0xb7, 0x58, 0xf2, 0x6b, 0xf0, - 0x6b, 0x55, 0x8b, 0x05, 0x1e, 0x33, 0x12, 0xba, 0x59, 0x18, 0x87, 0x79, 0x10, 0x7d, 0xde, 0xa8, - 0xf5, 0xf3, 0x55, 0xcd, 0x8f, 0xf1, 0x45, 0x01, 0x9a, 0x2a, 0x1b, 0xfd, 0xe8, 0x16, 0x17, 0x93, - 0xc2, 0x2b, 0x4b, 0xcd, 0x8a, 0x84, 0xac, 0x13, 0x75, 0x98, 0x26, 0x0a, 0x96, 0xcc, 0x5a, 0x5c, - 0x05, 0x44, 0xf7, 0x8c, 0xfe, 0xc8, 0xbb, 0x8d, 0xde, 0x1b, 0xed, 0x06, 0xa3, 0xf5, 0x84, 0x3c, - 0xec, 0xf5, 0xff, 0x42, 0xb7, 0xa0, 0xae, 0xe0, 0x02, 0xb8, 0xe6, 0x18, 0x6e, 0x3d, 0xa3, 0x16, - 0x3e, 0xd4, 0x8a, 0xa3, 0xd7, 0xac, 0x19, 0xcf, 0xa8, 0x11, 0x6c, 0x14, 0xa1, 0xb9, 0x37, 0x38, - 0xb8, 0x48, 0xab, 0x29, 0xe0, 0x42, 0x32, 0xaa, 0x41, 0xd7, 0x45, 0x46, 0x40, 0x6b, 0x1b, 0xef, - 0xb8, 0x86, 0xa1, 0x26, 0xb3, 0x19, 0x68, 0x97, 0xa7, 0x2f, 0x19, 0x34, 0x31, 0x36, 0xbe, 0x60, - 0x57, 0x60, 0xed, 0x26, 0x33, 0xd3, 0xb5, 0x46, 0xef, 0x60, 0xd4, 0x14, 0xb7, 0x52, 0x49, 0x80, - 0x10, 0xf5, 0x30, 0x7e, 0xc0, 0x60, 0xa7, 0x52, 0x03, 0x51, 0x4b, 0x0c, 0x77, 0x41, 0xc5, 0xc0, - 0xad, 0xac, 0x9a, 0xde, 0xd8, 0x70, 0x72, 0x0d, 0xf8, 0x5c, 0x35, 0x68, 0x35, 0x83, 0xb7, 0xd9, - 0x0d, 0x2e, 0x87, 0x96, 0xc1, 0x81, 0x86, 0x03, 0xe1, 0xb6, 0xe4, 0x15, 0x46, 0x32, 0xfe, 0x3b, - 0xe6, 0x45, 0x63, 0x87, 0x2f, 0x1a, 0xfb, 0x3f, 0x10, 0xfb, 0xfe, 0x01, 0x72, 0x96, 0x2e, 0x7b, - 0xe7, 0x4b, 0x89, 0x1d, 0x88, 0x24, 0x61, 0xd5, 0x7e, 0x29, 0x2f, 0xe4, 0x02, 0xc5, 0x0d, 0x62, - 0x8e, 0x18, 0xeb, 0xb4, 0x75, 0x41, 0x80, 0x7a, 0x71, 0x90, 0x65, 0x98, 0x5c, 0xae, 0xef, 0x95, - 0xbb, 0x0a, 0xfb, 0x11, 0x5e, 0xd0, 0xa6, 0x12, 0xbb, 0xe6, 0xcf, 0xdc, 0xe5, 0x2b, 0x5b, 0x7d, - 0x82, 0x2a, 0xa6, 0x52, 0x5c, 0x77, 0x81, 0xcf, 0xce, 0x8f, 0x6b, 0x76, 0xf6, 0x9f, 0xd3, 0xec, - 0x43, 0xae, 0x4f, 0xb6, 0x1c, 0x9f, 0xfc, 0x98, 0x76, 0x3d, 0xa2, 0xe1, 0x50, 0x8d, 0xf5, 0xa8, - 0x06, 0x9f, 0x97, 0xd0, 0x30, 0xd5, 0xbb, 0xad, 0x80, 0xd4, 0x36, 0xbe, 0x35, 0x64, 0x6d, 0xba, - 0x4d, 0xe8, 0xb0, 0x80, 0x17, 0xd1, 0x2e, 0x74, 0xd0, 0x44, 0xda, 0xde, 0x8c, 0x3c, 0x68, 0x1d, - 0x88, 0xae, 0x31, 0x8d, 0xb9, 0x6d, 0xad, 0xd1, 0x5f, 0x05, 0xa5, 0x98, 0x6a, 0x08, 0xd6, 0x25, - 0xc8, 0x6d, 0xa3, 0x99, 0x64, 0x0c, 0x91, 0xad, 0x42, 0xde, 0x0e, 0x50, 0x85, 0x69, 0x2e, 0xb7, - 0x35, 0x3b, 0xa9, 0xf8, 0x97, 0x02, 0x70, 0x67, 0x55, 0x00, 0x6e, 0x09, 0x8b, 0x28, 0x41, 0x27, - 0xab, 0x92, 0x6c, 0x79, 0x43, 0xcf, 0xef, 0x51, 0x0a, 0xcd, 0xfa, 0x77, 0xe4, 0x95, 0x96, 0x65, - 0x2b, 0x6a, 0x14, 0xf3, 0xfb, 0xcd, 0x05, 0xdd, 0x34, 0x16, 0xe3, 0xf9, 0x3b, 0x86, 0x38, 0xe4, - 0x82, 0x0c, 0xd1, 0x37, 0x09, 0xb8, 0x08, 0x2c, 0xb2, 0xd3, 0xe9, 0x58, 0x7b, 0x55, 0xd2, 0xf6, - 0x5f, 0xd0, 0xae, 0x9c, 0xbd, 0x38, 0xd3, 0x92, 0x1a, 0xb4, 0x9a, 0x9b, 0x9e, 0x51, 0xd3, 0x8a, - 0x76, 0x68, 0xcd, 0xf8, 0x23, 0x12, 0x6d, 0xd0, 0x7b, 0xf2, 0x47, 0x54, 0xd7, 0x91, 0xbd, 0x51, - 0x1d, 0x95, 0xbd, 0xb2, 0x46, 0x76, 0x14, 0xe0, 0xd6, 0x0f, 0x48, 0x61, 0x02, 0x56, 0x08, 0xbe, - 0x7e, 0x6b, 0xcd, 0x63, 0x0a, 0xe9, 0x18, 0x99, 0x61, 0x4d, 0x90, 0xbd, 0x23, 0x0e, 0x25, 0x9d, - 0xc8, 0x3b, 0xf2, 0x44, 0xc6, 0x23, 0x78, 0x47, 0xb2, 0x27, 0x5f, 0xbe, 0xab, 0xa1, 0x82, 0xb1, - 0x75, 0x02, 0xb3, 0xd4, 0x9a, 0xab, 0x2b, 0x2e, 0x70, 0xe3, 0x49, 0x6a, 0x0d, 0x70, 0xe4, 0xad, - 0x5f, 0x6e, 0x83, 0xf4, 0x2e, 0x05, 0x3e, 0xa5, 0x75, 0x17, 0x92, 0x2b, 0x77, 0x84, 0x8b, 0x1b, - 0x58, 0x7f, 0x05, 0xea, 0x2d, 0x2c, 0x8e, 0x44, 0xd8, 0xf2, 0x51, 0xa4, 0x60, 0x92, 0x95, 0xf8, - 0x19, 0xf8, 0x3c, 0xcc, 0x0a, 0x8e, 0x06, 0xbb, 0xfc, 0xf0, 0x90, 0x7f, 0x1d, 0x1f, 0x56, 0x33, - 0x0b, 0xf3, 0xa4, 0xaf, 0xb5, 0x02, 0x3e, 0x46, 0x2f, 0x8e, 0x8f, 0x5a, 0x30, 0x7f, 0xd7, 0x7e, - 0x3c, 0x45, 0xae, 0xe1, 0x00, 0x17, 0x84, 0x9f, 0x06, 0xbe, 0xcc, 0xe1, 0xcf, 0xc3, 0x5c, 0xbe, - 0xd3, 0x50, 0x26, 0x08, 0x20, 0x51, 0xaa, 0x48, 0x37, 0xaa, 0xaf, 0xa6, 0xa7, 0x57, 0xd3, 0x93, - 0x98, 0xa3, 0x35, 0x87, 0x6f, 0xeb, 0xfa, 0x7b, 0xe0, 0x63, 0x71, 0x5d, 0xe4, 0x49, 0xeb, 0xe8, - 0x95, 0x1c, 0xb9, 0xe2, 0x90, 0x9a, 0x96, 0x65, 0xc4, 0x8a, 0x73, 0xa2, 0xee, 0xc3, 0x4c, 0x4c, - 0x75, 0xfe, 0xa9, 0xff, 0xac, 0x4b, 0xfc, 0x53, 0x4f, 0xf1, 0x4f, 0x38, 0x8f, 0xc1, 0x00, 0xae, - 0xf7, 0x6f, 0xb5, 0x47, 0xbb, 0x63, 0xdb, 0x59, 0x8e, 0x1a, 0xb8, 0x01, 0x1c, 0xe6, 0xf5, 0x0c, - 0x01, 0x5a, 0x4a, 0x1c, 0x33, 0x3f, 0x20, 0xe1, 0x61, 0x57, 0xca, 0x1d, 0xe5, 0x5b, 0x02, 0xf6, - 0x55, 0xb1, 0x03, 0xb4, 0x02, 0xb1, 0x81, 0x3b, 0xcd, 0x35, 0xd2, 0x50, 0xec, 0xb4, 0x83, 0xf6, - 0x0e, 0x4a, 0x3a, 0x34, 0x2f, 0xf4, 0x70, 0xc3, 0xb6, 0x29, 0x7c, 0x6d, 0xdd, 0xdd, 0xfd, 0xbf, - 0x50, 0xdd, 0xaf, 0xe8, 0x16, 0xb7, 0x33, 0xd8, 0xd9, 0x54, 0x64, 0x7d, 0x6c, 0xca, 0xac, 0x77, - 0x96, 0x5a, 0xcb, 0x6b, 0x27, 0xfe, 0xce, 0x4f, 0x65, 0x97, 0xac, 0x8b, 0x39, 0x2d, 0xdb, 0xd6, - 0x44, 0x5b, 0x0b, 0x18, 0x6f, 0xa9, 0x81, 0x97, 0x7d, 0x37, 0xe9, 0x04, 0xac, 0x02, 0xec, 0x96, - 0x44, 0xa2, 0xc5, 0x32, 0xca, 0x82, 0x3c, 0x6e, 0x96, 0x50, 0x39, 0x67, 0x79, 0x16, 0x8b, 0xbd, - 0x87, 0x75, 0x36, 0x57, 0xb0, 0x43, 0x3f, 0x5f, 0x24, 0xe8, 0x05, 0xa1, 0x62, 0xae, 0xcd, 0x0e, - 0x8b, 0xdc, 0xa0, 0x49, 0x5c, 0x8e, 0xf1, 0x61, 0xac, 0xbd, 0x6a, 0x0a, 0x46, 0xd4, 0x06, 0x2e, - 0x53, 0x0a, 0xeb, 0x35, 0x77, 0xcc, 0xf3, 0x2e, 0x6e, 0x16, 0x07, 0xee, 0xdc, 0xb3, 0x64, 0x72, - 0x83, 0xaf, 0xd8, 0xb9, 0x34, 0x7b, 0xac, 0xf1, 0xee, 0xa6, 0xf9, 0x1e, 0x60, 0xdc, 0x8c, 0x5c, - 0xe8, 0xb9, 0x93, 0xa6, 0xdf, 0xc6, 0xef, 0xb2, 0x93, 0x20, 0x26, 0x85, 0x29, 0x89, 0x85, 0x94, - 0xbd, 0x61, 0xed, 0xbe, 0xfa, 0x81, 0xc8, 0xd1, 0x4c, 0xad, 0x2c, 0x17, 0x95, 0x02, 0xba, 0xbc, - 0x16, 0x55, 0x19, 0x88, 0x3b, 0xc6, 0xf3, 0xce, 0xa8, 0x97, 0xdd, 0x61, 0x0c, 0xbf, 0xa9, 0xd0, - 0x2f, 0xbc, 0x7e, 0xb4, 0x5a, 0xda, 0xdb, 0xe9, 0xf3, 0xee, 0x77, 0x70, 0xcc, 0x24, 0x11, 0x52, - 0x29, 0xaf, 0x4f, 0xb1, 0xad, 0x4d, 0xef, 0x27, 0xe6, 0x65, 0x04, 0xe5, 0x38, 0x6a, 0xd7, 0xb9, - 0xcc, 0x89, 0x17, 0x17, 0x13, 0xeb, 0xdb, 0xb2, 0x74, 0x47, 0x61, 0x3f, 0xa3, 0x6c, 0x4d, 0xbc, - 0x3a, 0x72, 0xfd, 0xf5, 0x77, 0x0a, 0xca, 0x84, 0x57, 0x08, 0x6c, 0xa1, 0xc9, 0x03, 0x50, 0x9f, - 0xf0, 0x11, 0x49, 0x76, 0x6e, 0xfd, 0x0d, 0x22, 0xda, 0x85, 0x65, 0xa6, 0xed, 0x2a, 0x96, 0xde, - 0x6d, 0x4e, 0x35, 0xe4, 0x6b, 0x85, 0xf9, 0x02, 0x49, 0x67, 0x0d, 0x0f, 0xb2, 0x3e, 0xd6, 0x45, - 0x73, 0x5e, 0xdd, 0xa4, 0xf4, 0x3e, 0xd1, 0xd0, 0xda, 0x0f, 0x4a, 0xb0, 0xd1, 0x90, 0xe0, 0x1b, - 0x68, 0x5c, 0xbb, 0xb7, 0xdc, 0xa8, 0x32, 0x39, 0xc5, 0x4f, 0x61, 0x8a, 0x6b, 0x5f, 0xfc, 0x4c, - 0xf2, 0x6d, 0xb0, 0x2f, 0xb2, 0x9d, 0x4c, 0xbb, 0xbf, 0x7f, 0xf6, 0x6c, 0xbf, 0xc3, 0xe4, 0xbb, - 0xdb, 0xe9, 0xc3, 0xc1, 0x1a, 0xcc, 0xe1, 0x47, 0x4f, 0xbf, 0x2b, 0x93, 0x34, 0xae, 0x32, 0xfd, - 0x8a, 0x4d, 0x29, 0x4b, 0xe3, 0xf6, 0x7a, 0x5d, 0x98, 0xed, 0xac, 0xbe, 0x97, 0x5f, 0xd3, 0xf0, - 0x62, 0x04, 0x65, 0xd3, 0x55, 0xc3, 0xbb, 0xf5, 0x0d, 0xff, 0xb0, 0x59, 0xbb, 0x0d, 0x99, 0xdf, - 0xca, 0xe6, 0xaf, 0x58, 0x73, 0xd5, 0x83, 0xe2, 0x31, 0x6b, 0x4e, 0x9e, 0x16, 0x95, 0x17, 0xca, - 0xd2, 0x62, 0xd8, 0x93, 0x1b, 0xbe, 0xe1, 0xb1, 0x45, 0x10, 0xe9, 0xf9, 0xbb, 0x9b, 0x6b, 0x94, - 0xca, 0x6b, 0x3a, 0xb3, 0x1f, 0x93, 0x9b, 0x56, 0x1c, 0xc0, 0x65, 0xca, 0xcf, 0x5b, 0x08, 0xd3, - 0x93, 0xb7, 0xfa, 0xe2, 0xca, 0x9f, 0x21, 0x1b, 0x80, 0xd9, 0x5b, 0xbe, 0xe2, 0xc8, 0xb6, 0x84, - 0xe7, 0x9e, 0x7f, 0x2d, 0xa5, 0x97, 0xaf, 0xc1, 0xbd, 0x6e, 0x57, 0xa3, 0xfa, 0x24, 0x5e, 0x30, - 0x9e, 0x98, 0x74, 0x91, 0x73, 0x57, 0x92, 0x60, 0x3e, 0x06, 0xd4, 0x21, 0xf0, 0xaf, 0x22, 0xe6, - 0xfa, 0x99, 0xbd, 0x68, 0xca, 0xcf, 0x5e, 0x71, 0x64, 0xe6, 0x75, 0x23, 0xab, 0x52, 0x57, 0x87, - 0x55, 0x36, 0xa4, 0x66, 0x64, 0x9b, 0x18, 0x0c, 0x5d, 0x2f, 0x43, 0x3b, 0xc8, 0x95, 0xbc, 0x6d, - 0x06, 0x37, 0x81, 0x1c, 0xae, 0x68, 0xb3, 0x7c, 0xb8, 0x29, 0x65, 0x3c, 0x16, 0xa2, 0x22, 0xb9, - 0x56, 0x37, 0xac, 0x38, 0xaa, 0xad, 0x99, 0x04, 0x29, 0x9b, 0x57, 0x2d, 0x16, 0x68, 0x01, 0xdd, - 0xa3, 0x29, 0xc0, 0x11, 0x43, 0x1f, 0x94, 0x7d, 0x11, 0x0a, 0xd6, 0xbf, 0x90, 0xb2, 0x0f, 0x8b, - 0x98, 0x1a, 0x89, 0x76, 0x5e, 0xe7, 0x4b, 0x4c, 0xa4, 0xee, 0xd7, 0xa5, 0xa6, 0x54, 0x03, 0x91, - 0xc9, 0x68, 0xcd, 0x09, 0x90, 0xb4, 0x42, 0x9f, 0x93, 0x34, 0x4f, 0xe1, 0x92, 0xdc, 0x1d, 0x2b, - 0x38, 0x85, 0xf3, 0x01, 0x15, 0x0c, 0x77, 0xe1, 0x2e, 0xde, 0x51, 0x0b, 0xb7, 0x4f, 0x55, 0xdc, - 0x15, 0xc2, 0x5a, 0x71, 0x75, 0x26, 0x47, 0xf2, 0x2d, 0xb0, 0x0c, 0xe8, 0x9d, 0x1c, 0xd6, 0x04, - 0xfe, 0x2b, 0xee, 0xe4, 0xb6, 0x0c, 0xae, 0x3c, 0x9f, 0xeb, 0xc6, 0xb7, 0x52, 0x41, 0x40, 0x0d, - 0xda, 0x02, 0x9a, 0x36, 0x38, 0x3d, 0x5b, 0x96, 0x6c, 0x52, 0x3d, 0x4c, 0x48, 0x76, 0xa9, 0x39, - 0xd9, 0xe5, 0x93, 0x6b, 0x54, 0xd4, 0x6a, 0xcf, 0xd0, 0xf0, 0x17, 0x5d, 0xef, 0xf0, 0xd0, 0x2e, - 0x9d, 0xa1, 0xae, 0x11, 0x99, 0x57, 0x2a, 0x7b, 0x7d, 0xff, 0xb5, 0x75, 0x65, 0x70, 0x4f, 0x5b, - 0x22, 0xbb, 0x27, 0x1c, 0x37, 0x78, 0x81, 0xbb, 0xba, 0x4a, 0xf6, 0x5c, 0xa3, 0xa9, 0xab, 0x63, - 0xb5, 0x58, 0x5e, 0x40, 0xe5, 0x19, 0x00, 0x12, 0x81, 0xb6, 0x4c, 0x0c, 0x5d, 0x76, 0xf1, 0x06, - 0x8e, 0x36, 0x3c, 0x8f, 0x1a, 0xec, 0xa1, 0xf6, 0xfe, 0xbb, 0xc2, 0x43, 0xd2, 0x79, 0xe1, 0x21, - 0x29, 0xc8, 0x0b, 0xbf, 0x6a, 0x6e, 0x56, 0x1d, 0x24, 0xb6, 0xa4, 0xe4, 0x41, 0x62, 0x37, 0xb4, - 0xc6, 0x20, 0x71, 0xa7, 0xd0, 0xae, 0x80, 0x5f, 0x5d, 0x4c, 0x50, 0x33, 0x12, 0x04, 0x2d, 0x4a, - 0xe8, 0x2a, 0xc8, 0x19, 0x6b, 0x96, 0x6d, 0x68, 0x15, 0x95, 0x09, 0x3f, 0x12, 0x64, 0xb9, 0x90, - 0x73, 0x91, 0xdd, 0xe5, 0x32, 0xd3, 0x9c, 0x32, 0x98, 0xba, 0xaf, 0x99, 0x4e, 0x12, 0xe7, 0xb9, - 0x18, 0x76, 0x6d, 0x23, 0xaa, 0x25, 0x2f, 0xb5, 0x2b, 0xff, 0x04, 0xf0, 0x1f, 0xec, 0x61, 0x77, - 0xcb, 0x13, 0x3a, 0x01, 0x91, 0x51, 0x11, 0xcc, 0x8f, 0xf6, 0xe4, 0x66, 0xa2, 0x00, 0x5d, 0x87, - 0x5a, 0x94, 0x89, 0x06, 0x64, 0xac, 0x80, 0x12, 0x2c, 0xd0, 0xfc, 0x2e, 0x35, 0x5c, 0xdd, 0xe1, - 0x64, 0xe2, 0x1a, 0xb4, 0x51, 0x8f, 0x15, 0x6d, 0x22, 0x3c, 0x6d, 0x69, 0xc5, 0x38, 0x6c, 0xa8, - 0x84, 0x86, 0xcb, 0x16, 0x9f, 0x98, 0x6a, 0x81, 0x8a, 0xda, 0x31, 0x2c, 0xde, 0xdb, 0x41, 0xe4, - 0x5e, 0x87, 0x03, 0xdf, 0x45, 0x33, 0x14, 0xf7, 0x22, 0x0d, 0x07, 0xb5, 0xfd, 0x86, 0x88, 0x62, - 0x6c, 0x70, 0x46, 0x92, 0xe5, 0x52, 0x62, 0xcd, 0xd6, 0xe0, 0xa8, 0x4c, 0x36, 0xc0, 0x51, 0x99, - 0xae, 0xc7, 0x51, 0x71, 0xe7, 0xf5, 0x69, 0x10, 0xff, 0x48, 0x4e, 0x03, 0xe1, 0x0c, 0x77, 0xa0, - 0x64, 0x6f, 0xe2, 0xf2, 0x6f, 0x28, 0xc1, 0x9b, 0x8a, 0xdf, 0xc9, 0xcc, 0x9b, 0x2f, 0xf9, 0x27, - 0xac, 0x0c, 0xb2, 0x7f, 0xa3, 0x03, 0x1f, 0xcd, 0x4b, 0xf5, 0x25, 0x94, 0xea, 0x4f, 0xee, 0x42, - 0x83, 0x70, 0xf5, 0x1a, 0x1a, 0x32, 0xd1, 0x28, 0x43, 0x37, 0xc5, 0x65, 0xe8, 0x26, 0xa1, 0xd6, - 0x50, 0x79, 0x73, 0x86, 0x65, 0x51, 0x79, 0xf7, 0xaf, 0xea, 0x09, 0x47, 0xa4, 0x04, 0x3c, 0xb3, - 0xa3, 0x83, 0x0c, 0xcd, 0x45, 0x1f, 0x1e, 0xa2, 0x11, 0xe1, 0x8b, 0x49, 0xa7, 0x26, 0xb7, 0x49, - 0x38, 0x95, 0x45, 0x7a, 0x94, 0x84, 0xed, 0xf5, 0x0e, 0x62, 0x4e, 0xee, 0xef, 0xd6, 0x16, 0x39, - 0x8a, 0x2b, 0x85, 0x14, 0x8a, 0x0b, 0x18, 0x43, 0x6e, 0x76, 0xcd, 0x8c, 0x24, 0x98, 0xf3, 0x1f, - 0x1e, 0xb6, 0x2a, 0xe1, 0x3e, 0x50, 0x04, 0xbd, 0x2c, 0x54, 0x06, 0xe0, 0x01, 0x14, 0x5e, 0x4f, - 0x6a, 0x97, 0x66, 0xc4, 0x4b, 0xd3, 0xe7, 0x85, 0x44, 0x76, 0x19, 0xd1, 0x01, 0x23, 0x55, 0x69, - 0x87, 0x96, 0x01, 0x9e, 0x95, 0x55, 0xc0, 0xb3, 0x86, 0xec, 0xa9, 0xa0, 0x70, 0xfc, 0x2c, 0x47, - 0x37, 0xad, 0x8e, 0x78, 0x75, 0x74, 0x43, 0x31, 0xba, 0xe1, 0x41, 0xce, 0xc3, 0x15, 0x8e, 0xf2, - 0xca, 0xc0, 0xc8, 0x1b, 0x7d, 0xae, 0x46, 0x37, 0x95, 0x93, 0x91, 0xae, 0x9e, 0x0c, 0x1c, 0xc7, - 0x84, 0x97, 0x24, 0x79, 0xc4, 0xf1, 0x42, 0x57, 0x7e, 0x26, 0xf3, 0x8f, 0x5e, 0xba, 0x64, 0x9f, - 0xfb, 0x95, 0x1d, 0x42, 0x83, 0x5f, 0xa1, 0x94, 0x93, 0x06, 0xa8, 0x9b, 0xda, 0x8d, 0x13, 0xaf, - 0xdf, 0x38, 0x89, 0xda, 0x38, 0xb9, 0x6c, 0x16, 0x6c, 0x9c, 0x4c, 0xfc, 0x86, 0x8d, 0x13, 0xb3, - 0x31, 0x5e, 0x19, 0x83, 0x89, 0x60, 0xc2, 0x30, 0x49, 0x3e, 0xf7, 0x9a, 0xf0, 0x99, 0x50, 0x35, - 0x49, 0x69, 0x40, 0x1a, 0x1b, 0x2d, 0x31, 0x75, 0x46, 0xc4, 0x3e, 0x83, 0x22, 0x48, 0xef, 0xf2, - 0xa0, 0x3f, 0xae, 0xbb, 0x36, 0xc0, 0x1d, 0xe1, 0x0a, 0x45, 0x86, 0xd7, 0x70, 0xdc, 0x85, 0x70, - 0xb7, 0x2a, 0x1e, 0x65, 0x20, 0x46, 0xa8, 0x2a, 0x00, 0x23, 0xb4, 0x85, 0x5a, 0x08, 0xb2, 0xa8, - 0xdd, 0x5d, 0xb7, 0xe9, 0xe0, 0xc5, 0x65, 0x07, 0x07, 0x8a, 0x63, 0x1c, 0xb1, 0xf9, 0xfb, 0xe0, - 0x76, 0xc5, 0x69, 0x8d, 0x94, 0xb2, 0x91, 0xc4, 0x97, 0x4e, 0x6b, 0x2c, 0xea, 0xe3, 0xaa, 0xb2, - 0x3e, 0x9a, 0x45, 0x7d, 0x6c, 0x2e, 0xe9, 0xe7, 0x70, 0x45, 0x39, 0x40, 0xb7, 0x9b, 0x4e, 0x96, - 0x6a, 0x39, 0xab, 0x1a, 0x74, 0x6d, 0x36, 0xe8, 0x7a, 0x55, 0x83, 0x7a, 0xfd, 0x55, 0x05, 0xf5, - 0xfa, 0x66, 0x49, 0x3d, 0xe2, 0x5a, 0x85, 0xdc, 0xeb, 0x08, 0x45, 0x32, 0xe5, 0x02, 0x4f, 0x56, - 0xf5, 0x30, 0x33, 0x7b, 0x98, 0x85, 0xeb, 0x4a, 0xfb, 0x30, 0x5f, 0x51, 0x5a, 0x3e, 0x1f, 0x34, - 0x2d, 0xd8, 0x72, 0x39, 0xc4, 0x6f, 0xa1, 0x78, 0xec, 0x71, 0x1c, 0x57, 0xe3, 0x92, 0x0b, 0xf2, - 0x41, 0x5e, 0xe9, 0x79, 0x70, 0x79, 0x7c, 0x97, 0xae, 0x68, 0x2f, 0x1c, 0xc9, 0x5b, 0x8f, 0xe0, - 0x01, 0x6a, 0xca, 0x7f, 0x99, 0xae, 0x1a, 0xdd, 0x8d, 0x4e, 0x7b, 0xd3, 0xaa, 0xf2, 0x32, 0x7a, - 0x93, 0x06, 0xc1, 0x3f, 0x02, 0x65, 0x5f, 0xaf, 0x71, 0xd3, 0x0b, 0x34, 0x2a, 0xb5, 0x72, 0x0b, - 0x08, 0x3a, 0x7b, 0x81, 0x22, 0x85, 0x1b, 0xe6, 0xa3, 0xe1, 0x72, 0x1d, 0xb8, 0x85, 0x51, 0xab, - 0x0e, 0xc7, 0x2e, 0x4c, 0x52, 0x2b, 0x96, 0xae, 0x36, 0x14, 0x8b, 0x7a, 0xa1, 0x3d, 0xc4, 0x84, - 0x6d, 0xe6, 0xb2, 0xf3, 0x37, 0xbf, 0xab, 0xc6, 0xb0, 0x51, 0xba, 0x17, 0x8c, 0x35, 0xbf, 0x24, - 0x65, 0x1f, 0x23, 0x3b, 0xd2, 0xc7, 0x48, 0xd9, 0x1d, 0xee, 0x40, 0x2c, 0x85, 0x1d, 0xd9, 0xf3, - 0x41, 0x39, 0xeb, 0x79, 0x53, 0xd6, 0xb2, 0xf3, 0x64, 0xcd, 0x75, 0x6e, 0xcd, 0x8a, 0x98, 0xdd, - 0x17, 0xa3, 0x8e, 0x78, 0x72, 0xf7, 0xd3, 0x60, 0x56, 0x18, 0x90, 0xd0, 0x67, 0x79, 0x2a, 0x95, - 0x97, 0xe7, 0x47, 0x75, 0x54, 0x78, 0x81, 0x6e, 0xd5, 0x3a, 0x7c, 0xde, 0xa4, 0xbb, 0x2b, 0x0b, - 0x78, 0x5c, 0xa7, 0x21, 0xdb, 0x20, 0x28, 0x77, 0x0b, 0x97, 0x67, 0x69, 0x75, 0x56, 0xd6, 0x64, - 0xd5, 0xa5, 0xa0, 0x53, 0x5e, 0xe7, 0xe8, 0x16, 0xc8, 0xae, 0x5b, 0xe5, 0xd9, 0x7d, 0x6d, 0x59, - 0x86, 0x93, 0xb1, 0xca, 0xb6, 0x51, 0x4e, 0xc6, 0x6a, 0x8b, 0x0c, 0xeb, 0x8b, 0xac, 0x78, 0x26, - 0xab, 0x14, 0xcb, 0xce, 0x89, 0x60, 0x06, 0x85, 0x67, 0x45, 0xbc, 0x8e, 0x3f, 0x3c, 0x04, 0xa3, - 0x7d, 0xc7, 0xdc, 0x44, 0xcb, 0x65, 0x15, 0xcb, 0x8e, 0xdd, 0x92, 0x91, 0x13, 0x1f, 0x71, 0x78, - 0xef, 0xd3, 0xec, 0xf3, 0xde, 0x9a, 0xec, 0x7b, 0xd9, 0xa0, 0xaf, 0x07, 0xf4, 0x21, 0x40, 0xfc, - 0xec, 0xc1, 0x89, 0x5e, 0xda, 0x3c, 0x46, 0xb3, 0xd8, 0x7d, 0x10, 0x36, 0x4b, 0xf3, 0xfa, 0x58, - 0x6e, 0x5b, 0xa6, 0xda, 0x26, 0x2a, 0xe6, 0xbb, 0x58, 0xb2, 0xef, 0x6d, 0x6d, 0xe5, 0xa2, 0x6a, - 0x11, 0xd4, 0xa7, 0x20, 0xf1, 0xd1, 0xc3, 0x0f, 0xb7, 0x74, 0x55, 0x33, 0xaa, 0x7f, 0x9b, 0x54, - 0x09, 0x20, 0x6e, 0xfa, 0xa0, 0xbc, 0x01, 0x88, 0x9f, 0xd0, 0xae, 0xef, 0xe8, 0xe8, 0x71, 0x89, - 0x10, 0x8a, 0x52, 0x28, 0x63, 0xa3, 0xef, 0x3a, 0xe1, 0x27, 0x40, 0xea, 0x12, 0xa0, 0xdb, 0x17, - 0xa5, 0x57, 0x70, 0x87, 0x1c, 0x9b, 0xfe, 0x55, 0x38, 0x67, 0x39, 0x66, 0xec, 0x70, 0xe7, 0xc0, - 0xeb, 0x32, 0xde, 0xe0, 0x62, 0x0e, 0xf4, 0x71, 0xe9, 0x0a, 0x9d, 0x70, 0x01, 0xc8, 0x9e, 0xbb, - 0x32, 0xb7, 0x53, 0xe8, 0x47, 0xfe, 0x11, 0x15, 0xbf, 0x63, 0xb4, 0x25, 0x36, 0xda, 0x03, 0xd4, - 0x2f, 0x89, 0xd1, 0x81, 0xb6, 0xab, 0xb1, 0x35, 0x6f, 0x13, 0x1f, 0xcd, 0x2d, 0x84, 0x04, 0xb4, - 0x65, 0xb5, 0xe5, 0x7b, 0x7f, 0xdb, 0x6a, 0xd9, 0x04, 0x3d, 0xe6, 0x58, 0x2b, 0x28, 0x1e, 0xbd, - 0x43, 0xd2, 0xd9, 0x04, 0x53, 0x05, 0x73, 0x35, 0x3f, 0x2a, 0xab, 0x52, 0xf2, 0x3b, 0xaa, 0xa2, - 0xe0, 0x0e, 0x74, 0xfb, 0xe8, 0xa0, 0x87, 0xcd, 0x81, 0xb4, 0x4d, 0xcf, 0xa3, 0x70, 0xd9, 0x3a, - 0x1a, 0xf5, 0x9f, 0x75, 0x1d, 0xd8, 0xdf, 0x29, 0xb4, 0x52, 0x28, 0xb5, 0x1f, 0xbd, 0x02, 0xae, - 0x0b, 0x48, 0xc0, 0x45, 0xd0, 0xc2, 0xa7, 0xd6, 0x04, 0xee, 0x32, 0x41, 0x96, 0x75, 0x24, 0x04, - 0x2b, 0x7a, 0x16, 0xb3, 0xe7, 0xef, 0x34, 0x79, 0x17, 0x89, 0x92, 0x44, 0xcd, 0x58, 0xe3, 0x3b, - 0xcf, 0xce, 0xc7, 0x96, 0x52, 0x28, 0xb7, 0x0a, 0x75, 0x79, 0xa7, 0x3d, 0x3f, 0x92, 0xfe, 0x36, - 0x17, 0xc5, 0x6d, 0xb2, 0x4e, 0x6a, 0xe6, 0xe4, 0x63, 0x60, 0xac, 0xa5, 0x80, 0xb8, 0x50, 0xbe, - 0x74, 0x33, 0x1e, 0x5f, 0xfc, 0x17, 0x87, 0x79, 0x80, 0xd0, 0xa4, 0x17, 0x5a, 0x6b, 0x48, 0xe7, - 0x49, 0xbb, 0x54, 0xc3, 0xc2, 0xd4, 0xa3, 0xb3, 0x6a, 0xf4, 0xc4, 0x88, 0x9e, 0x5c, 0x7d, 0xaa, - 0x28, 0xcf, 0x0a, 0xd5, 0x18, 0xe4, 0x84, 0xc9, 0xb1, 0x57, 0x29, 0x94, 0xfb, 0x4e, 0xce, 0xd0, - 0x85, 0x2a, 0x4b, 0xcd, 0xf4, 0x68, 0x29, 0xd1, 0xc9, 0x0f, 0x8d, 0x25, 0x2b, 0x96, 0x16, 0x69, - 0xfc, 0xb9, 0x3a, 0x85, 0x87, 0x79, 0xfa, 0x79, 0x61, 0x80, 0x12, 0xc5, 0xce, 0x92, 0x7d, 0x4e, - 0xf0, 0x3a, 0x40, 0x38, 0xc2, 0x18, 0x38, 0xf6, 0xc2, 0x3f, 0x9c, 0x71, 0x29, 0x29, 0x0a, 0xc5, - 0x07, 0x59, 0x03, 0x1c, 0xd4, 0xda, 0xfe, 0xe6, 0x87, 0xe7, 0xcf, 0x9f, 0x0f, 0x5b, 0xbc, 0x09, - 0x5a, 0x24, 0x8f, 0x6e, 0x7d, 0x46, 0x7f, 0x0e, 0x9a, 0xae, 0x40, 0x8b, 0x4c, 0x03, 0xd8, 0x19, - 0x8c, 0xb6, 0x71, 0x16, 0x96, 0x33, 0xda, 0xed, 0x3d, 0xba, 0xaa, 0x93, 0xcf, 0xc0, 0xb8, 0xdc, - 0x0b, 0x4f, 0x80, 0x61, 0xdc, 0x9a, 0x10, 0x6d, 0x6c, 0x61, 0xf7, 0xf4, 0x4a, 0xb9, 0x3a, 0xf2, - 0x8e, 0x57, 0xd9, 0xaa, 0x5f, 0xda, 0x3d, 0x21, 0xbd, 0x27, 0xd7, 0x0c, 0xc0, 0xb7, 0x05, 0xb0, - 0xb0, 0x67, 0xa8, 0x81, 0x78, 0x9d, 0x4c, 0xc3, 0xd9, 0x67, 0xdc, 0x96, 0xe4, 0xdf, 0x81, 0xf7, - 0x26, 0xf0, 0x54, 0xbc, 0xb0, 0xe0, 0x9f, 0x39, 0x6e, 0x3c, 0x6f, 0x7e, 0x04, 0x6b, 0x04, 0x2e, - 0x57, 0xef, 0x86, 0x9a, 0xd4, 0x47, 0x28, 0xc7, 0x14, 0x92, 0x01, 0xcd, 0x33, 0x13, 0xcc, 0xcc, - 0x1f, 0x11, 0x5c, 0x8f, 0x75, 0x02, 0x70, 0xe2, 0xdf, 0x32, 0xee, 0xce, 0xfc, 0x1d, 0x6f, 0xf9, - 0xf9, 0x51, 0x75, 0xcf, 0x67, 0xe8, 0x2e, 0x3f, 0x19, 0xb3, 0x21, 0xca, 0xe9, 0xfc, 0xe8, 0x0c, - 0x08, 0xb9, 0x61, 0xb9, 0x02, 0x41, 0xdc, 0xa8, 0x6a, 0x70, 0x52, 0x0d, 0xba, 0xad, 0x06, 0xa1, - 0x7a, 0x29, 0xec, 0x98, 0xa2, 0x82, 0x45, 0x3c, 0x98, 0xbf, 0x73, 0x61, 0x21, 0x0d, 0xac, 0xa6, - 0xd1, 0x42, 0x97, 0x91, 0x41, 0xc0, 0x63, 0x14, 0x07, 0x77, 0xd1, 0x67, 0xa2, 0x47, 0x53, 0x39, - 0x63, 0x1d, 0x0b, 0x4e, 0x2f, 0x5c, 0x8a, 0xb8, 0xf3, 0x55, 0x45, 0xb8, 0x34, 0x29, 0x14, 0xbb, - 0xf4, 0x47, 0x64, 0xc4, 0xc1, 0xe0, 0x60, 0x98, 0xa3, 0xb9, 0x90, 0x11, 0xfe, 0x5b, 0x70, 0x38, - 0x8a, 0xe7, 0x0d, 0xb7, 0xec, 0xea, 0x65, 0x7e, 0x9d, 0xbf, 0x85, 0xd1, 0xf4, 0xba, 0xae, 0xee, - 0xf4, 0x45, 0xf8, 0x84, 0xd3, 0x7d, 0xae, 0xb0, 0x22, 0xa7, 0x24, 0x98, 0x3d, 0x54, 0x1f, 0x93, - 0xf6, 0x17, 0x18, 0x27, 0x17, 0x92, 0x19, 0x8a, 0x16, 0xd7, 0xfa, 0x2a, 0xda, 0x5c, 0xf5, 0xd3, - 0x72, 0x49, 0x04, 0x42, 0x57, 0x03, 0x44, 0x66, 0x2a, 0x95, 0xdb, 0x7b, 0x4c, 0xb9, 0xfb, 0xcf, - 0x67, 0xac, 0x43, 0x82, 0x4f, 0x37, 0x05, 0xa5, 0x5c, 0x49, 0x09, 0x9b, 0x04, 0xa3, 0xb2, 0x41, - 0xe6, 0x59, 0x2b, 0x0b, 0xc2, 0xb3, 0xbd, 0x64, 0xcd, 0x51, 0xf7, 0x98, 0x31, 0x45, 0x09, 0xe5, - 0xd0, 0x18, 0xc3, 0x49, 0x3c, 0x1b, 0xdb, 0x66, 0x99, 0x53, 0x94, 0xca, 0x2f, 0x1d, 0x73, 0xc5, - 0xa1, 0xf3, 0xba, 0xca, 0x0c, 0xeb, 0xcf, 0x50, 0x8d, 0x8f, 0x50, 0x64, 0x5a, 0xc0, 0x2f, 0x1f, - 0x93, 0xaa, 0xfb, 0xeb, 0x47, 0x0c, 0xa7, 0xa9, 0x16, 0xb3, 0x85, 0x79, 0xb5, 0x5e, 0x00, 0x63, - 0x66, 0x88, 0xdc, 0x0b, 0x47, 0x74, 0x0b, 0xf4, 0x26, 0xe8, 0x05, 0xba, 0x38, 0xbd, 0xc9, 0x85, - 0x2f, 0x09, 0xba, 0x9d, 0xba, 0x57, 0xb3, 0xfb, 0x7b, 0x02, 0x84, 0x19, 0xe6, 0xc8, 0x7d, 0x94, - 0xba, 0x2a, 0xe2, 0x70, 0x8d, 0x1f, 0x13, 0xee, 0x8d, 0x9d, 0x5e, 0x5e, 0x9c, 0xe4, 0xa9, 0x9d, - 0x6b, 0xae, 0x78, 0x61, 0x8b, 0x00, 0x29, 0x9c, 0x20, 0x30, 0x0e, 0x8f, 0x83, 0x3c, 0x68, 0xca, - 0x50, 0x31, 0xae, 0x89, 0x48, 0x24, 0xe4, 0x51, 0x85, 0x88, 0xcc, 0x70, 0xef, 0xdb, 0x08, 0x79, - 0x84, 0x58, 0x46, 0x65, 0x47, 0xaa, 0xe4, 0x7b, 0x0d, 0xaf, 0x69, 0x57, 0xe8, 0xf8, 0x5a, 0xd9, - 0xa1, 0x1c, 0x0a, 0xaf, 0xa9, 0x56, 0x0a, 0x34, 0x1b, 0x78, 0x41, 0x67, 0x01, 0xfc, 0xe4, 0xe2, - 0x6a, 0x00, 0xc7, 0x32, 0xfc, 0x77, 0x3b, 0xc0, 0x17, 0x26, 0xb8, 0xb7, 0xeb, 0x16, 0x2d, 0xcf, - 0xba, 0x0c, 0x63, 0x96, 0x02, 0xd1, 0x00, 0xae, 0xd8, 0x69, 0xa3, 0x23, 0xc7, 0x69, 0xb2, 0x08, - 0x3a, 0x57, 0x7a, 0xb2, 0xfd, 0xef, 0x4b, 0xe9, 0x9c, 0xe5, 0x1d, 0x8c, 0x79, 0x60, 0x53, 0xa0, - 0x7f, 0x91, 0xd9, 0x90, 0x61, 0x97, 0x5a, 0xe4, 0x1c, 0x60, 0x11, 0xdc, 0x38, 0x08, 0x5c, 0x16, - 0x63, 0x19, 0xb0, 0xdb, 0x62, 0x1c, 0x32, 0x54, 0xe3, 0x29, 0xc3, 0x9a, 0xa9, 0x71, 0x13, 0x3e, - 0x1f, 0xf4, 0x11, 0x86, 0x69, 0x18, 0x9a, 0xf0, 0x51, 0xca, 0xab, 0x79, 0xea, 0x9a, 0xd8, 0x51, - 0x2a, 0xe2, 0xd2, 0x35, 0x81, 0xa3, 0x0a, 0x3f, 0xe8, 0xbc, 0x80, 0x80, 0xbd, 0xd7, 0xab, 0xb8, - 0x0a, 0xee, 0x19, 0x90, 0x40, 0x7b, 0x05, 0xe9, 0x55, 0x51, 0xa9, 0xcd, 0x05, 0x77, 0x8a, 0x2b, - 0x52, 0x9f, 0xc5, 0x61, 0xcc, 0x87, 0x4d, 0x1b, 0xce, 0xca, 0x3c, 0x11, 0x08, 0x07, 0xe8, 0x02, - 0x54, 0xa1, 0x42, 0x29, 0x64, 0x5d, 0x38, 0x47, 0x54, 0x58, 0x3c, 0x5b, 0xef, 0x15, 0x6c, 0xdf, - 0xb1, 0x04, 0x90, 0x8e, 0xd1, 0xec, 0x9b, 0xc0, 0xf5, 0x8d, 0x90, 0xcc, 0xcf, 0x85, 0x76, 0x87, - 0x9b, 0x54, 0x97, 0xa9, 0x3e, 0x8c, 0x3f, 0xa9, 0xa6, 0x44, 0x86, 0xef, 0xe7, 0xc2, 0xed, 0xb2, - 0x1e, 0xfc, 0xab, 0x0a, 0x4e, 0xe0, 0x8a, 0x12, 0xa6, 0x49, 0xe7, 0x90, 0x5b, 0x90, 0xdd, 0x7e, - 0x48, 0xde, 0x5f, 0x5e, 0xd8, 0xb0, 0xd2, 0x22, 0x58, 0x69, 0xb0, 0xca, 0xe4, 0x5a, 0x2b, 0x97, - 0x5a, 0x63, 0x8b, 0x5b, 0xee, 0xf4, 0x11, 0x02, 0x34, 0xa2, 0xeb, 0x9a, 0x38, 0xf0, 0xd3, 0xdd, - 0xcb, 0x14, 0x58, 0x74, 0x48, 0x6d, 0xff, 0xd0, 0x9d, 0x06, 0x97, 0x6e, 0xeb, 0x1b, 0xdf, 0xf7, - 0x5b, 0xbb, 0xbd, 0x67, 0xdf, 0xb9, 0x2d, 0x84, 0x6a, 0x45, 0x15, 0xe3, 0xb4, 0x6d, 0xb9, 0xf8, - 0xef, 0xa5, 0xf8, 0xf7, 0x02, 0x8e, 0x70, 0x24, 0x47, 0x2b, 0x5a, 0xe8, 0xd7, 0xb5, 0xef, 0xd7, - 0x3f, 0xa5, 0x7d, 0xdd, 0x6e, 0x77, 0xb3, 0xf6, 0x69, 0x35, 0xff, 0xbb, 0x1a, 0x58, 0x7d, 0xb6, - 0x3e, 0x05, 0x11, 0x70, 0x27, 0xc5, 0x2e, 0x81, 0x65, 0xc2, 0x56, 0xf5, 0xce, 0xa2, 0x07, 0x97, - 0x3f, 0x16, 0x7c, 0x7d, 0x0a, 0x3e, 0x1f, 0x26, 0x08, 0x57, 0x84, 0xd0, 0x21, 0xe4, 0xd3, 0x51, - 0x27, 0x9d, 0xc2, 0x0c, 0x3f, 0xa8, 0xcd, 0xa1, 0x1e, 0x57, 0x8a, 0x1c, 0xaa, 0x10, 0x1d, 0xc9, - 0x48, 0x5f, 0xb2, 0xc3, 0xca, 0xa3, 0x61, 0xb1, 0x57, 0xbe, 0x77, 0xd0, 0xd5, 0x2d, 0x33, 0xc8, - 0x6a, 0xcb, 0x5b, 0xdf, 0xa0, 0x03, 0x69, 0xdd, 0x61, 0x26, 0x6c, 0x05, 0xc1, 0x30, 0x93, 0xb8, - 0xb9, 0x48, 0x38, 0x9b, 0xf9, 0x7e, 0x17, 0x91, 0x3f, 0x36, 0xd8, 0x66, 0x1e, 0xbb, 0x0a, 0xcd, - 0x9d, 0x71, 0x97, 0x1e, 0x26, 0x05, 0x51, 0xe9, 0x97, 0xee, 0xaa, 0x92, 0xec, 0x88, 0xe3, 0x13, - 0x5d, 0xf4, 0xa9, 0x45, 0x81, 0x8f, 0x22, 0xe2, 0x45, 0x01, 0x2e, 0x62, 0xc6, 0xfe, 0x81, 0xfb, - 0x6d, 0xee, 0x0c, 0x4a, 0x41, 0x87, 0x57, 0x3e, 0x1c, 0x6f, 0x11, 0x8c, 0x47, 0x76, 0x0b, 0x13, - 0x09, 0xff, 0x75, 0x1b, 0x49, 0xf6, 0xd7, 0xa0, 0xdb, 0x95, 0x66, 0x03, 0xe6, 0x62, 0x75, 0x43, - 0xae, 0x8c, 0xa5, 0xf4, 0x53, 0x21, 0xf6, 0x30, 0xca, 0x39, 0x59, 0x5b, 0x4e, 0x66, 0xd5, 0x92, - 0x80, 0x52, 0x39, 0xbf, 0xae, 0x2d, 0xe7, 0xd6, 0xaa, 0xa5, 0x19, 0xa5, 0x72, 0xfe, 0xbd, 0x5a, - 0x8e, 0xbd, 0xe0, 0x15, 0x3f, 0xa8, 0xdb, 0x19, 0xcb, 0x52, 0x7e, 0xdc, 0xcc, 0xc6, 0x2a, 0x2d, - 0x9d, 0x0b, 0x6e, 0xee, 0xd5, 0x9d, 0x0a, 0xe2, 0xe1, 0xaa, 0x7c, 0x26, 0x0c, 0x8b, 0xc5, 0x22, - 0x10, 0xa0, 0xa5, 0xbe, 0x18, 0x79, 0xb0, 0x38, 0x67, 0x65, 0x9d, 0xb8, 0x96, 0xe3, 0x28, 0xaf, - 0xcd, 0xd4, 0x0b, 0xdc, 0x72, 0xd8, 0x25, 0x62, 0x4a, 0x94, 0xc2, 0x2e, 0xbc, 0x4c, 0x3a, 0xf1, - 0x17, 0x51, 0xa5, 0x2e, 0xfe, 0x66, 0xea, 0xd9, 0x2a, 0x66, 0xc0, 0xad, 0xe7, 0x7c, 0xf2, 0xca, - 0x1e, 0x09, 0x64, 0x9f, 0xb9, 0x16, 0x91, 0xc0, 0x5c, 0x7c, 0x41, 0x49, 0x36, 0x26, 0x76, 0xc6, - 0xa2, 0x99, 0xc3, 0xa2, 0xd7, 0x56, 0x37, 0x76, 0x23, 0x38, 0x75, 0x4a, 0x75, 0xba, 0x88, 0x82, - 0xdd, 0x23, 0x69, 0x73, 0x98, 0xc1, 0x0c, 0xbd, 0x44, 0x6c, 0x55, 0x1b, 0xbd, 0xb5, 0xaf, 0x5d, - 0x32, 0x68, 0x0a, 0xee, 0xf6, 0xb7, 0x30, 0x6b, 0x01, 0xee, 0x68, 0x27, 0xb5, 0xf2, 0x37, 0xc5, - 0x4a, 0x39, 0xf2, 0xd5, 0xb1, 0xcc, 0x29, 0xf8, 0x30, 0x0b, 0x99, 0x04, 0x22, 0x0c, 0x3b, 0xe9, - 0x20, 0x71, 0x7d, 0x98, 0x84, 0xb8, 0x08, 0xba, 0xa4, 0xa0, 0x0b, 0x2f, 0x2a, 0x82, 0x2e, 0x28, - 0xe8, 0x0e, 0x0e, 0xb7, 0xd2, 0x80, 0x51, 0x25, 0xf2, 0x59, 0x1f, 0x2a, 0x19, 0x9c, 0x9e, 0x9e, - 0xb9, 0xf4, 0xff, 0xb3, 0xe5, 0x52, 0x3c, 0x7b, 0x23, 0x32, 0x03, 0xa5, 0xf6, 0x4e, 0x79, 0x70, - 0x92, 0xb3, 0xf2, 0xb3, 0xb6, 0x21, 0x6f, 0xf5, 0x23, 0xd4, 0xeb, 0xae, 0x7f, 0x12, 0x98, 0x4c, - 0x72, 0x5d, 0x2e, 0x8d, 0xf7, 0x01, 0x72, 0x56, 0x3d, 0xd1, 0x79, 0x3d, 0x84, 0x91, 0xf9, 0x11, - 0xa9, 0x83, 0x80, 0x23, 0xc2, 0x6f, 0x09, 0x6d, 0xb4, 0xb7, 0x77, 0x19, 0xe6, 0x57, 0x37, 0x17, - 0x28, 0xc7, 0xde, 0xfb, 0x39, 0x49, 0xe2, 0x9f, 0x93, 0xe9, 0x4d, 0x14, 0x64, 0x7b, 0x08, 0x20, - 0xb5, 0x77, 0x17, 0x7e, 0x0a, 0xf1, 0x3e, 0x5d, 0x76, 0x23, 0x2e, 0x7d, 0x85, 0xd9, 0xf6, 0xd5, - 0xa4, 0xed, 0xf5, 0x9e, 0x3b, 0xa3, 0x7d, 0x74, 0xf0, 0x6a, 0x63, 0xbd, 0x8e, 0x7b, 0x35, 0x19, - 0xf5, 0xe5, 0xe7, 0x7e, 0x17, 0x69, 0xfd, 0xd3, 0xa7, 0x9e, 0x77, 0x35, 0xa1, 0x90, 0xb6, 0xb7, - 0x8f, 0x21, 0xdd, 0xe7, 0x5a, 0x08, 0x14, 0x20, 0xd9, 0x1b, 0xf4, 0x5e, 0xe5, 0x18, 0x17, 0x87, - 0xf3, 0xab, 0x0c, 0x15, 0x23, 0xaf, 0x26, 0x4b, 0xb7, 0x85, 0xbe, 0xc2, 0xdc, 0xd6, 0xb3, 0xee, - 0x77, 0xb0, 0xcf, 0x96, 0xee, 0x0f, 0x3d, 0xe9, 0x48, 0x3c, 0x9e, 0xa5, 0x86, 0x53, 0x61, 0x08, - 0x78, 0x4f, 0xb2, 0x47, 0x16, 0x8d, 0x62, 0xbc, 0x41, 0x01, 0xe8, 0x2e, 0x03, 0xf7, 0x0c, 0x0b, - 0xb5, 0x8f, 0x18, 0xa2, 0xaa, 0xf9, 0xb2, 0xa2, 0xeb, 0xcc, 0xa1, 0x87, 0xd9, 0x59, 0x98, 0x5e, - 0xb7, 0xde, 0x07, 0x17, 0x49, 0x22, 0xee, 0x8d, 0x36, 0xd7, 0x0f, 0x6c, 0x6a, 0x05, 0xef, 0x09, - 0xee, 0xe2, 0x9e, 0xb5, 0xc7, 0x72, 0x89, 0xa5, 0x6c, 0xea, 0x89, 0xe9, 0x00, 0x19, 0x4e, 0xd6, - 0xcc, 0x24, 0x50, 0x69, 0xc6, 0x6d, 0x93, 0x6d, 0x3f, 0x71, 0xbe, 0xb0, 0x95, 0x5c, 0x71, 0xd1, - 0xc8, 0x13, 0xc2, 0x05, 0x94, 0x6d, 0x70, 0x1b, 0x8a, 0x9b, 0x95, 0x8b, 0xa3, 0xb1, 0x54, 0xef, - 0xb7, 0xd2, 0x6f, 0x22, 0x2b, 0x1a, 0x2d, 0x58, 0x31, 0xa0, 0xcb, 0x2f, 0xb4, 0xd2, 0x17, 0x8f, - 0x54, 0x00, 0x3a, 0x43, 0xdf, 0xa8, 0x3f, 0xcb, 0x17, 0x25, 0xf6, 0xf8, 0x90, 0xcc, 0xbd, 0xeb, - 0x3b, 0x57, 0x0b, 0x80, 0xfc, 0xbf, 0xd3, 0xdd, 0x5d, 0x4b, 0xf2, 0xd1, 0xbb, 0xbe, 0xd2, 0xbd, - 0xf4, 0xf7, 0x0c, 0x15, 0x26, 0x5d, 0xcf, 0x4b, 0xbc, 0x0c, 0x37, 0xeb, 0x91, 0x5d, 0x06, 0xb1, - 0xba, 0xbc, 0x8a, 0x51, 0xb6, 0x90, 0xe7, 0xb3, 0x16, 0x16, 0xd0, 0x78, 0xd2, 0xf9, 0x07, 0xce, - 0x5d, 0x13, 0xd3, 0x59, 0x8b, 0x25, 0x41, 0x3c, 0x54, 0x82, 0xfc, 0x6a, 0x50, 0x52, 0x09, 0x2a, - 0x66, 0x36, 0x64, 0x01, 0x06, 0x5e, 0xa3, 0x1f, 0x1e, 0x6c, 0xfc, 0x07, 0x2a, 0x86, 0x52, 0xf8, - 0xdb, 0x97, 0xdf, 0x09, 0x7f, 0x27, 0xf2, 0x3b, 0xe2, 0xef, 0x48, 0x7e, 0x63, 0xc6, 0xb6, 0x87, - 0x9f, 0x6d, 0x0b, 0x98, 0x42, 0xca, 0x2f, 0xbf, 0x51, 0xf1, 0x95, 0x0a, 0x90, 0x01, 0x7f, 0xb1, - 0x5c, 0xce, 0xe8, 0x5a, 0x0a, 0xf5, 0x9a, 0xfc, 0x61, 0x64, 0x0e, 0x49, 0x01, 0xc9, 0x0a, 0x4d, - 0x09, 0xe6, 0xde, 0x9f, 0xfc, 0xfa, 0x8a, 0x61, 0xf3, 0x36, 0x82, 0xce, 0x88, 0x3b, 0xe1, 0x94, - 0x0f, 0x1a, 0x85, 0x91, 0x81, 0x41, 0x67, 0x30, 0x56, 0xf5, 0x30, 0x19, 0xbe, 0xa7, 0x5c, 0x7e, - 0x3c, 0x65, 0x44, 0x0b, 0x68, 0xe6, 0xfe, 0xd9, 0xd8, 0xea, 0x21, 0xf6, 0xc1, 0xfe, 0x99, 0x20, - 0x97, 0x6c, 0xf0, 0xaf, 0x24, 0x70, 0x4f, 0xe5, 0x61, 0x66, 0x11, 0x64, 0xc2, 0x53, 0x82, 0xc0, - 0xc0, 0x7f, 0xeb, 0x20, 0x30, 0x18, 0xc2, 0x29, 0xd0, 0x81, 0x9b, 0x44, 0x0b, 0x31, 0x77, 0x70, - 0x9a, 0x53, 0xee, 0x80, 0x20, 0x8e, 0x38, 0x37, 0x7a, 0x75, 0x4f, 0xdb, 0xde, 0xb9, 0x8b, 0xf8, - 0x94, 0xe4, 0xbc, 0x65, 0x80, 0x3f, 0x7a, 0x67, 0xcb, 0xf3, 0xe5, 0x12, 0x71, 0x2c, 0xc8, 0x60, - 0x37, 0x83, 0x23, 0xe4, 0xde, 0x72, 0x60, 0x22, 0x20, 0xed, 0x8e, 0x8b, 0x1f, 0x83, 0x5e, 0xff, - 0xf9, 0x0e, 0xdc, 0xaf, 0xb5, 0x24, 0xa1, 0x9e, 0x24, 0xac, 0x4d, 0x32, 0xe9, 0x69, 0x49, 0xe0, - 0xa3, 0x2e, 0x49, 0x5f, 0x4f, 0xd2, 0xaf, 0x4d, 0xb2, 0xaf, 0x27, 0xd9, 0x87, 0x24, 0xdf, 0x97, - 0x52, 0x24, 0x7a, 0x3d, 0xf0, 0x31, 0xe8, 0x96, 0x13, 0xe8, 0xb5, 0xc0, 0x47, 0x35, 0x81, 0x5e, - 0x07, 0x7c, 0x54, 0x12, 0xcc, 0x11, 0xd6, 0x58, 0xa5, 0xc0, 0xaf, 0x41, 0xaf, 0x57, 0x4a, 0x73, - 0xdd, 0xa3, 0x6a, 0xb6, 0x7c, 0x2d, 0x8c, 0x5a, 0x66, 0x04, 0x74, 0x9e, 0x55, 0x82, 0x20, 0xdb, - 0xd8, 0xd6, 0x4b, 0x4a, 0x83, 0x5b, 0xad, 0x36, 0xfc, 0x1a, 0x90, 0x0b, 0xd1, 0x72, 0x85, 0xa1, - 0x96, 0x0a, 0x3e, 0x6a, 0x13, 0xa5, 0x1f, 0xf5, 0xa2, 0x3e, 0x36, 0x94, 0xa4, 0x27, 0xba, 0x2e, - 0x12, 0x39, 0x03, 0xad, 0x09, 0xe8, 0x86, 0x9c, 0xeb, 0xe1, 0x5f, 0x58, 0x98, 0x08, 0x2b, 0x7e, - 0x41, 0x67, 0x06, 0xfd, 0x1d, 0x37, 0x80, 0x55, 0x46, 0xb6, 0x2c, 0xdf, 0x2e, 0x62, 0x32, 0x9b, - 0x1d, 0x2c, 0x2c, 0xf4, 0xa9, 0x8c, 0x9f, 0xb8, 0x11, 0x97, 0xb0, 0x92, 0x85, 0x52, 0x2a, 0x0c, - 0xb6, 0x4b, 0xce, 0x6e, 0x80, 0xa2, 0x5a, 0xe1, 0x94, 0x3e, 0x67, 0xf7, 0xb8, 0x32, 0x29, 0xe7, - 0xb7, 0x8b, 0x74, 0x09, 0xc4, 0xf4, 0x1c, 0xc9, 0xd6, 0xdf, 0x62, 0xd7, 0x72, 0x43, 0xdb, 0x77, - 0x69, 0x3b, 0xc2, 0x2f, 0xeb, 0x45, 0x14, 0x59, 0xe2, 0xab, 0x34, 0xec, 0xc0, 0x5d, 0x51, 0x74, - 0xaf, 0x2e, 0xbe, 0x5f, 0xc4, 0xf7, 0x45, 0x3c, 0x9f, 0x51, 0x5e, 0x7f, 0xbf, 0x6b, 0x98, 0x07, - 0x87, 0x31, 0xfa, 0x51, 0xc2, 0xee, 0x60, 0xe5, 0xdf, 0x2e, 0x26, 0x5a, 0x57, 0xf2, 0xe5, 0xab, - 0x96, 0x7c, 0x29, 0x82, 0xfe, 0xfc, 0x11, 0x51, 0xe8, 0x04, 0xfb, 0x86, 0xa6, 0xbc, 0x3c, 0x22, - 0x52, 0x64, 0x89, 0xd9, 0xe6, 0x19, 0x74, 0x12, 0xfa, 0x85, 0x76, 0x3f, 0x67, 0xae, 0x35, 0xbd, - 0x49, 0xe9, 0xdb, 0x17, 0xdf, 0x85, 0x71, 0x05, 0x05, 0x27, 0x22, 0x98, 0x1d, 0x74, 0xd0, 0xb8, - 0x04, 0x31, 0x8f, 0x0f, 0xe4, 0xeb, 0x2d, 0x61, 0x4c, 0x26, 0x08, 0x8b, 0xd1, 0xf6, 0xac, 0xa5, - 0xb8, 0x4e, 0x14, 0x04, 0x1f, 0x58, 0x89, 0xab, 0x70, 0x3a, 0x0d, 0x48, 0xc8, 0xca, 0x6c, 0x21, - 0xbe, 0xc4, 0x71, 0xe4, 0x8f, 0x41, 0xac, 0xc5, 0x0b, 0x34, 0xa8, 0xf9, 0xa6, 0x71, 0x42, 0x40, - 0xa4, 0xf1, 0xe1, 0xe8, 0x97, 0xfe, 0x45, 0x3c, 0x7d, 0x7d, 0x1f, 0x4c, 0x6e, 0x18, 0x91, 0xcf, - 0x25, 0xfe, 0x4e, 0x3c, 0xff, 0xb3, 0xdf, 0xfa, 0x00, 0x08, 0xb8, 0xf4, 0x5c, 0x4f, 0x8e, 0xfe, - 0x35, 0xdf, 0xf3, 0xe8, 0x4f, 0x7e, 0x1c, 0x74, 0xd0, 0x6a, 0xd3, 0x76, 0x06, 0x36, 0xf0, 0xbc, - 0x68, 0x01, 0xdd, 0x02, 0x9a, 0xdf, 0xb6, 0x0a, 0x38, 0x27, 0x20, 0xab, 0x96, 0xa5, 0xfb, 0x96, - 0x8f, 0xed, 0xcc, 0x0d, 0x0a, 0x7f, 0xe6, 0xb6, 0x72, 0xbd, 0x8b, 0x8a, 0xe4, 0xdb, 0xdb, 0x11, - 0x44, 0x0b, 0x80, 0x26, 0xa8, 0x2f, 0xe7, 0x47, 0x8c, 0xdc, 0x84, 0x42, 0xc4, 0xec, 0x0e, 0x1a, - 0xbe, 0xf9, 0x51, 0xf4, 0x99, 0x59, 0xbc, 0xa5, 0x21, 0x74, 0x43, 0x71, 0x3d, 0x36, 0xe6, 0x37, - 0x60, 0x16, 0x11, 0x55, 0x56, 0x77, 0xd7, 0x82, 0x57, 0xe5, 0xdf, 0x7f, 0x7e, 0xfb, 0x13, 0xf0, - 0x93, 0xef, 0xf9, 0x08, 0x1e, 0x66, 0x28, 0x22, 0x7d, 0x8d, 0x32, 0x04, 0x94, 0x97, 0x06, 0x31, - 0x5e, 0xda, 0xb1, 0x08, 0xcb, 0xb5, 0x35, 0xc7, 0xc0, 0xc5, 0xeb, 0x0a, 0x39, 0x5f, 0x93, 0xee, - 0xd9, 0x09, 0xb5, 0x96, 0x42, 0xd0, 0x6a, 0xf7, 0x26, 0x1b, 0x79, 0x4f, 0xbb, 0xe8, 0x93, 0x1d, - 0x1f, 0x22, 0xaa, 0xc5, 0xd2, 0x7b, 0x94, 0x5e, 0x6e, 0xa0, 0x17, 0x4c, 0x4e, 0xea, 0x27, 0x9f, - 0xd8, 0xa9, 0x3b, 0x3d, 0xce, 0x10, 0xef, 0x7b, 0xfc, 0xcb, 0xc9, 0x07, 0x58, 0x9f, 0x7b, 0xdc, - 0x31, 0x4b, 0xfa, 0x87, 0xc1, 0x9e, 0xbc, 0x49, 0xd2, 0xeb, 0x57, 0x70, 0xb2, 0xe1, 0xbc, 0xc1, - 0xe7, 0xcb, 0x28, 0xb9, 0xb0, 0x61, 0x09, 0xba, 0x0b, 0x34, 0x34, 0x32, 0x21, 0x05, 0xc8, 0x2e, - 0x7b, 0x49, 0x08, 0x4f, 0x98, 0x11, 0x45, 0x9c, 0xa7, 0xd1, 0x19, 0xcc, 0xc5, 0x30, 0xee, 0x40, - 0x3a, 0x74, 0xdf, 0x6c, 0x89, 0x1a, 0x5c, 0x9f, 0x80, 0x94, 0x31, 0x28, 0x2e, 0xbf, 0x0b, 0xab, - 0x55, 0x85, 0xf7, 0x5c, 0x66, 0xdc, 0x60, 0x4f, 0xa6, 0x01, 0xbe, 0xe7, 0xb5, 0xb2, 0x9b, 0x94, - 0x1e, 0x70, 0x6c, 0xf4, 0xbb, 0xee, 0xb0, 0x95, 0xb3, 0x58, 0x87, 0x64, 0x2b, 0x3f, 0xc6, 0x3d, - 0x5c, 0x33, 0x3f, 0xd6, 0x9e, 0x9e, 0xca, 0x6a, 0x5a, 0xc0, 0x5a, 0x5b, 0xe8, 0x45, 0x46, 0x20, - 0x01, 0xe0, 0x00, 0xe8, 0x68, 0x1c, 0x73, 0x2d, 0xdc, 0x44, 0xcf, 0x22, 0xb8, 0xd5, 0x93, 0x3c, - 0x49, 0xfd, 0xcb, 0x00, 0xdd, 0x73, 0x1d, 0xe5, 0x01, 0xb4, 0xfe, 0x2e, 0x22, 0xa4, 0xaf, 0x7b, - 0x4b, 0xe8, 0x94, 0xa3, 0xa0, 0x87, 0x17, 0x8b, 0xc6, 0x2d, 0xe5, 0x0c, 0x46, 0xb7, 0xbd, 0x9d, - 0x75, 0x6e, 0xc9, 0xd2, 0x12, 0xff, 0x91, 0x9c, 0xae, 0x5e, 0x23, 0xc4, 0xcc, 0x99, 0x87, 0x45, - 0xac, 0x6d, 0x5b, 0x17, 0x0a, 0x2d, 0x8d, 0x74, 0x8b, 0xa5, 0x7b, 0xa9, 0xf4, 0x6e, 0xb8, 0x13, - 0x5d, 0x57, 0x60, 0x0c, 0x68, 0xcd, 0xcc, 0x2a, 0xcd, 0x74, 0x4b, 0x78, 0x16, 0x8b, 0xf9, 0x40, - 0x2f, 0xd8, 0xbd, 0xd5, 0xdd, 0xf1, 0xc3, 0xc7, 0xb2, 0x2a, 0x66, 0x77, 0x59, 0x4c, 0x26, 0x9f, - 0xbb, 0x02, 0xf7, 0x87, 0x1f, 0x0c, 0x9d, 0x97, 0x72, 0xc3, 0x18, 0x2d, 0x97, 0x68, 0xc2, 0x3a, - 0x10, 0x11, 0x68, 0xca, 0xfd, 0x78, 0x4e, 0xa2, 0xc4, 0x76, 0x60, 0x52, 0x8f, 0xaf, 0xc0, 0xbe, - 0xd0, 0x41, 0x2f, 0x36, 0x44, 0xb2, 0xc8, 0xf0, 0x09, 0x4f, 0x1f, 0x70, 0x53, 0xd7, 0x02, 0x86, - 0xdf, 0x18, 0x35, 0x98, 0x36, 0x28, 0x03, 0xf5, 0x6e, 0xc7, 0xe5, 0x87, 0xc0, 0xca, 0x68, 0xb4, - 0x7b, 0x30, 0x1e, 0x4b, 0xf7, 0x59, 0xd7, 0x19, 0x20, 0xd6, 0xca, 0x6a, 0x70, 0x06, 0xed, 0x7a, - 0x8c, 0xa8, 0x21, 0xe4, 0x2d, 0x50, 0xad, 0xd5, 0xa0, 0x59, 0x32, 0xab, 0x7c, 0x50, 0xa1, 0x06, - 0x80, 0x10, 0x79, 0x94, 0x8d, 0x77, 0x14, 0x59, 0x13, 0x4e, 0xc0, 0x57, 0xe3, 0x8c, 0x87, 0x9e, - 0x35, 0x27, 0x13, 0x0d, 0xe0, 0x6c, 0xf3, 0x71, 0x77, 0xd0, 0x1b, 0x86, 0x07, 0xca, 0xbd, 0x5e, - 0x28, 0x11, 0xaa, 0x62, 0x2f, 0x3b, 0x0d, 0x91, 0x4b, 0xde, 0x0c, 0xb2, 0xbb, 0x93, 0x27, 0x7f, - 0x05, 0xf2, 0x91, 0x1e, 0xfa, 0x08, 0x48, 0x03, 0xc4, 0xc4, 0x6c, 0x7d, 0xa4, 0xf8, 0x77, 0xd1, - 0x05, 0x33, 0x3d, 0x22, 0x5e, 0x4b, 0x13, 0x23, 0x98, 0x65, 0x0d, 0xa4, 0x39, 0x0a, 0xfc, 0x98, - 0x41, 0x65, 0xea, 0x9c, 0x81, 0x89, 0x0d, 0x1d, 0x90, 0xde, 0x64, 0x98, 0xdc, 0x64, 0xe6, 0x10, - 0x4a, 0x01, 0x28, 0xdd, 0x9d, 0x34, 0xa3, 0x22, 0x2c, 0x04, 0xa7, 0x8a, 0xc8, 0xb2, 0x8d, 0x84, - 0x90, 0x7f, 0x59, 0xa4, 0x7f, 0x86, 0x02, 0x4c, 0xe0, 0x63, 0xc8, 0xbe, 0x0d, 0x1f, 0x20, 0x11, - 0x94, 0x39, 0x96, 0x93, 0xd3, 0x41, 0x57, 0x6a, 0x8c, 0x62, 0x16, 0x46, 0x39, 0x21, 0x8e, 0xd5, - 0x0c, 0x37, 0xeb, 0xb1, 0x91, 0x99, 0xa7, 0x74, 0xd2, 0x70, 0x56, 0xc5, 0xf0, 0x94, 0x6a, 0x6c, - 0x3d, 0x43, 0xfa, 0x47, 0xc5, 0xbe, 0xb9, 0x97, 0x00, 0x81, 0x12, 0x18, 0x57, 0xb7, 0x06, 0x17, - 0x8d, 0xd3, 0xe4, 0xc7, 0xdd, 0x33, 0xd5, 0x57, 0x55, 0xf0, 0xb8, 0xc0, 0x88, 0x9f, 0x45, 0xf9, - 0xe0, 0xd1, 0x63, 0xf0, 0xb5, 0xbd, 0xcc, 0xa1, 0x97, 0xb9, 0x52, 0xce, 0x2c, 0x7a, 0x6b, 0xec, - 0x06, 0x74, 0xba, 0xee, 0xe7, 0x70, 0x83, 0x53, 0x52, 0x39, 0xbc, 0xdf, 0x6a, 0xfe, 0x1e, 0x71, - 0x0c, 0xcc, 0x8b, 0x5e, 0x80, 0x36, 0xb8, 0x8e, 0x5c, 0xa5, 0xf4, 0x35, 0x64, 0x79, 0x79, 0xec, - 0x10, 0x18, 0x0f, 0x09, 0xdb, 0x28, 0xdc, 0x3b, 0x8d, 0xcf, 0x10, 0x6b, 0xcf, 0xce, 0x39, 0x9d, - 0x28, 0xd4, 0x39, 0xc8, 0x1c, 0xe5, 0x70, 0x13, 0xee, 0x62, 0xd1, 0x41, 0xb6, 0x9b, 0x0f, 0x23, - 0x58, 0xfa, 0x9c, 0x8a, 0x2e, 0xe9, 0x01, 0x9b, 0xfa, 0xee, 0xf6, 0x18, 0x80, 0xb4, 0xd2, 0x08, - 0x0d, 0x90, 0x08, 0xee, 0xcb, 0x06, 0x42, 0x91, 0xd9, 0x9c, 0x3c, 0xc5, 0xd6, 0x68, 0x70, 0x44, - 0x7a, 0xa3, 0x34, 0x77, 0x83, 0x66, 0xdb, 0xca, 0xed, 0xd2, 0x12, 0x8a, 0xe6, 0xe9, 0x16, 0xbd, - 0xd8, 0xca, 0x62, 0x50, 0x95, 0xe9, 0x89, 0x26, 0xe7, 0x64, 0xa3, 0x3c, 0xf6, 0x4d, 0x19, 0x68, - 0x16, 0x79, 0x89, 0x90, 0xfe, 0x0a, 0xc9, 0xf1, 0x5c, 0x18, 0x6f, 0x29, 0x79, 0x28, 0x52, 0xa7, - 0x11, 0x8e, 0xa8, 0xf1, 0xf4, 0x9c, 0xd5, 0x3e, 0x3d, 0x17, 0x60, 0x7a, 0x6e, 0x00, 0x13, 0x9f, - 0x23, 0x0c, 0x71, 0x35, 0x95, 0xb2, 0x84, 0xe5, 0x83, 0xb6, 0xc6, 0x0e, 0xb0, 0x48, 0xe1, 0x06, - 0x23, 0x9a, 0x4e, 0x39, 0xd9, 0xd8, 0xe4, 0x72, 0xae, 0x42, 0x3b, 0xb9, 0xc8, 0x87, 0xd0, 0x00, - 0x4a, 0x41, 0x2e, 0x86, 0x4b, 0x9a, 0xd0, 0x5f, 0x88, 0xcf, 0xbc, 0xb9, 0xf8, 0xa1, 0x74, 0x1b, - 0xdc, 0x62, 0x0d, 0xaa, 0x54, 0x04, 0xe4, 0x01, 0x53, 0xa8, 0x02, 0x84, 0xb3, 0x3d, 0xa7, 0xf0, - 0xec, 0xa7, 0xc2, 0xbc, 0xc2, 0x29, 0x66, 0x4c, 0x8e, 0xee, 0xf4, 0x14, 0x04, 0x29, 0x55, 0x2e, - 0x0b, 0xf1, 0x54, 0x8c, 0x82, 0xd0, 0x4d, 0xa1, 0xb4, 0xf1, 0xe5, 0x19, 0xd2, 0x55, 0x8b, 0xd8, - 0x44, 0x38, 0x26, 0xfc, 0x60, 0xcd, 0x28, 0x38, 0x96, 0xb8, 0x8b, 0x8d, 0x39, 0x0a, 0x9b, 0xa0, - 0x79, 0xf8, 0xab, 0x1f, 0x61, 0x80, 0x54, 0xb1, 0x88, 0x75, 0xad, 0x2f, 0x2f, 0xc2, 0x17, 0xff, - 0xa8, 0xaa, 0xfc, 0x24, 0xf0, 0x74, 0x39, 0x43, 0x49, 0x55, 0x8e, 0xc1, 0xb2, 0xc8, 0x1a, 0x35, - 0x6e, 0x54, 0xb0, 0xa8, 0xd8, 0x4f, 0xb3, 0x83, 0x32, 0xf1, 0x22, 0xfe, 0xc2, 0x6e, 0xec, 0xb3, - 0x65, 0x6d, 0xa6, 0xb3, 0xb1, 0xcc, 0xbf, 0xc0, 0x04, 0x5a, 0xbb, 0x25, 0xc4, 0x44, 0x11, 0x8b, - 0xa7, 0xf9, 0x8a, 0x26, 0xf0, 0x45, 0x74, 0x93, 0xda, 0xb5, 0xd0, 0xc1, 0xd5, 0x18, 0x5d, 0x39, - 0x97, 0x63, 0x97, 0x7c, 0x1b, 0xfd, 0xfb, 0x61, 0x15, 0x82, 0x52, 0xae, 0x5b, 0x68, 0x91, 0xe3, - 0xbe, 0xf3, 0x9e, 0xd2, 0x2e, 0x0c, 0xa9, 0x25, 0x5e, 0xd7, 0xbd, 0xef, 0x0a, 0xb8, 0x36, 0xea, - 0xdc, 0x09, 0x69, 0x1f, 0x89, 0x51, 0x1f, 0x6a, 0xad, 0x67, 0x20, 0xb3, 0x85, 0x12, 0xb5, 0x0a, - 0x8f, 0x59, 0x1f, 0x92, 0x1b, 0x98, 0xa5, 0x6c, 0x5c, 0x0e, 0x40, 0x9c, 0x3e, 0xed, 0xfa, 0x77, - 0xe5, 0x67, 0x47, 0x69, 0x42, 0x3e, 0x69, 0xb1, 0x14, 0x49, 0x12, 0xeb, 0xc4, 0x53, 0x48, 0x06, - 0x14, 0xe4, 0x76, 0x86, 0x2c, 0xbb, 0x6d, 0x41, 0x5e, 0xa5, 0x1f, 0xb7, 0xd5, 0x5d, 0x4a, 0x00, - 0x77, 0x9d, 0x3d, 0x9f, 0x7c, 0x92, 0xe7, 0xd8, 0x7c, 0x82, 0x58, 0x4c, 0x92, 0x22, 0x01, 0xf5, - 0xf2, 0xd3, 0xcb, 0x40, 0xdb, 0xc6, 0x44, 0xf6, 0x45, 0xa0, 0x79, 0xe2, 0xaa, 0x24, 0x43, 0x7d, - 0xaf, 0xc7, 0x09, 0x8d, 0x39, 0x4a, 0x3f, 0xf4, 0x6e, 0xe4, 0xa5, 0xef, 0x0c, 0xa5, 0x23, 0x30, - 0x98, 0x72, 0xa8, 0xa0, 0x34, 0x7c, 0xcf, 0xfe, 0x5d, 0x0d, 0xec, 0xe5, 0xeb, 0x97, 0x87, 0xef, - 0x6c, 0x2b, 0xf7, 0x2f, 0x04, 0x44, 0x8c, 0xe5, 0x9c, 0xf2, 0x2c, 0x9c, 0x89, 0x95, 0xf5, 0x21, - 0x99, 0xbb, 0x7f, 0x3f, 0xac, 0x33, 0x57, 0x16, 0xcb, 0x6b, 0xcb, 0x96, 0x73, 0xd3, 0x75, 0x0c, - 0x97, 0xba, 0xb4, 0xf6, 0xb9, 0xff, 0x9c, 0x62, 0x7b, 0xbb, 0x34, 0x0e, 0xd5, 0x66, 0x79, 0xf9, - 0xee, 0x3d, 0x82, 0xc2, 0x93, 0xe2, 0x09, 0xb1, 0xa8, 0x19, 0xca, 0x75, 0xdb, 0x76, 0xfc, 0x24, - 0xdb, 0xbb, 0xfb, 0x0d, 0xb8, 0xda, 0xe4, 0x4d, 0x78, 0x1f, 0x4c, 0xd1, 0xdb, 0x75, 0x77, 0x0b, - 0x69, 0xac, 0xcd, 0xcd, 0x1d, 0x75, 0xc9, 0xc5, 0xa6, 0xa3, 0x02, 0x10, 0x90, 0x37, 0x1e, 0x61, - 0x40, 0x34, 0xea, 0xf4, 0xfa, 0xc0, 0xb6, 0x6c, 0xd2, 0x55, 0xb8, 0xd3, 0xf0, 0xc8, 0x40, 0x39, - 0xd0, 0x6b, 0xe6, 0xba, 0x48, 0x31, 0x1a, 0xae, 0xa1, 0x69, 0xfe, 0xd9, 0xb6, 0x76, 0x77, 0x43, - 0xcb, 0xe5, 0x7c, 0xbb, 0x08, 0x0c, 0x12, 0x79, 0xbd, 0xdd, 0x48, 0xbe, 0xba, 0xf9, 0xc8, 0x78, - 0x7d, 0xca, 0x44, 0x13, 0x80, 0x8b, 0x68, 0x2a, 0x63, 0x66, 0xb9, 0x91, 0xb3, 0xe9, 0xb8, 0xf6, - 0xa0, 0x20, 0xb1, 0x23, 0x74, 0xb5, 0x6e, 0x42, 0x31, 0x5a, 0xdc, 0xfd, 0xe6, 0x89, 0x37, 0x0c, - 0x22, 0x1f, 0x84, 0x98, 0x31, 0xd4, 0x5e, 0x26, 0xc8, 0x1d, 0x81, 0x18, 0x60, 0x86, 0x43, 0x18, - 0x66, 0x87, 0x49, 0x84, 0x8d, 0xc0, 0x5a, 0x04, 0xc6, 0xab, 0x2b, 0xc3, 0x2e, 0xe4, 0x8b, 0x33, - 0xd1, 0x17, 0x23, 0x9f, 0x48, 0xc9, 0xc8, 0x50, 0x5b, 0xfc, 0x48, 0x00, 0x63, 0xf0, 0xb4, 0xc8, - 0x9c, 0xcf, 0x8b, 0x02, 0x05, 0x08, 0x1b, 0xcd, 0x37, 0xd0, 0x09, 0xbc, 0x8b, 0xdd, 0x79, 0x77, - 0xbf, 0x55, 0x50, 0xda, 0x38, 0x01, 0xfb, 0xda, 0x27, 0xcf, 0xb1, 0x14, 0xf0, 0xc2, 0x13, 0x4b, - 0xe5, 0x85, 0x5b, 0x7f, 0x11, 0x9c, 0x4f, 0xae, 0x2d, 0x57, 0x24, 0x41, 0xad, 0x46, 0xfa, 0x05, - 0xe5, 0xe3, 0x81, 0xd9, 0x7f, 0xba, 0xbd, 0x2d, 0x73, 0xd3, 0xe3, 0xa1, 0x7c, 0xa2, 0x44, 0x5f, - 0x14, 0x30, 0x68, 0x1c, 0xb7, 0xbd, 0x0d, 0xa9, 0x21, 0xf1, 0x3e, 0xfe, 0x38, 0xe8, 0xf5, 0x9f, - 0x75, 0xc7, 0xfd, 0xfd, 0xee, 0xa0, 0xff, 0x3d, 0x9c, 0x33, 0x5b, 0xd8, 0x12, 0x0c, 0xa5, 0xb2, - 0xa8, 0xed, 0xf4, 0xfb, 0xe1, 0xa1, 0xa8, 0x81, 0x42, 0xf9, 0x03, 0x77, 0x19, 0x8a, 0x29, 0x60, - 0xfe, 0xd9, 0x97, 0x45, 0x79, 0x3d, 0xc8, 0xd3, 0x8d, 0x1d, 0x1a, 0x1c, 0x43, 0xdb, 0x75, 0xac, - 0x1c, 0x6e, 0x8f, 0x01, 0x38, 0xa5, 0x4d, 0x01, 0xaf, 0x1f, 0x86, 0xf5, 0xf5, 0x64, 0xd3, 0x0b, - 0xeb, 0x50, 0x18, 0x08, 0x48, 0x37, 0xb6, 0xba, 0x78, 0x83, 0xbc, 0xc9, 0x13, 0xeb, 0x11, 0x53, - 0xa9, 0x56, 0x27, 0xbb, 0x6c, 0x91, 0xed, 0xc0, 0x37, 0x3b, 0x28, 0xed, 0x29, 0xfe, 0x63, 0x08, - 0x9d, 0x2c, 0xbc, 0x3f, 0x9f, 0xf0, 0xa3, 0x12, 0x9e, 0x36, 0x96, 0x6b, 0x89, 0x59, 0x3c, 0xc4, - 0x9c, 0x96, 0xc0, 0x15, 0x2c, 0xa5, 0xb2, 0x75, 0xb5, 0x87, 0xeb, 0x00, 0x68, 0xdc, 0xab, 0x20, - 0x40, 0xbb, 0xaf, 0x4e, 0xa7, 0xc3, 0xda, 0xa2, 0x5b, 0x12, 0x75, 0x52, 0xbd, 0x9a, 0x0d, 0xf9, - 0xe4, 0x00, 0x7a, 0xd0, 0xc9, 0xae, 0xc2, 0x19, 0x5c, 0x30, 0xd9, 0x7a, 0x15, 0xae, 0xaf, 0xa4, - 0xf1, 0xcf, 0xbf, 0x32, 0xc7, 0x29, 0xc9, 0x3c, 0x33, 0x47, 0xc4, 0xa0, 0xb7, 0xa1, 0x31, 0x11, - 0xed, 0x87, 0x07, 0xf3, 0xce, 0x0b, 0xf7, 0x71, 0x08, 0x25, 0x4d, 0x4c, 0x57, 0x6b, 0x0d, 0x4a, - 0x8c, 0x28, 0x97, 0x33, 0xa8, 0x4d, 0x4f, 0x4e, 0x8f, 0xd4, 0xe3, 0x63, 0xa5, 0x1b, 0x4b, 0xde, - 0x8e, 0x8d, 0x1b, 0x3e, 0xb6, 0x5c, 0xd8, 0x28, 0x62, 0xa7, 0x56, 0x65, 0x62, 0xbc, 0x32, 0x19, - 0x9a, 0x8c, 0x16, 0x10, 0x94, 0x53, 0x4d, 0x75, 0x9d, 0xa0, 0x15, 0x41, 0x72, 0x07, 0x85, 0x21, - 0x6d, 0x70, 0x91, 0x07, 0xa9, 0x4d, 0x98, 0xe3, 0x81, 0xc7, 0xc0, 0x42, 0x6b, 0x52, 0x52, 0x91, - 0x70, 0xc9, 0xb7, 0x5c, 0x24, 0xd7, 0x6b, 0xd2, 0xdd, 0xcc, 0xd7, 0x25, 0xa3, 0x8a, 0x51, 0xda, - 0xab, 0xd2, 0xfd, 0xdb, 0xc1, 0x1e, 0x90, 0xd4, 0x70, 0x9e, 0x8f, 0x5a, 0x07, 0xe2, 0xc7, 0xbf, - 0xd1, 0xbb, 0x7e, 0x76, 0xf8, 0xfa, 0x35, 0xf9, 0x04, 0x34, 0x0e, 0x75, 0x5e, 0x4f, 0x32, 0x4a, - 0xe8, 0x13, 0xd7, 0xe1, 0x5c, 0x35, 0xc3, 0x77, 0x15, 0xe5, 0x16, 0xbf, 0x9d, 0x02, 0x1f, 0xd3, - 0x28, 0xdb, 0x9d, 0x6a, 0x1e, 0xea, 0x5f, 0x7e, 0x26, 0x8d, 0x88, 0x80, 0xe3, 0x6b, 0xe1, 0xb1, - 0x64, 0xe6, 0x8d, 0x10, 0xb2, 0x4c, 0x49, 0xdd, 0xdb, 0xe4, 0x92, 0x04, 0x8e, 0x4a, 0x0e, 0x9b, - 0x78, 0x75, 0x95, 0x43, 0xb2, 0x17, 0x69, 0xe0, 0xa3, 0xb4, 0xa2, 0x24, 0x9e, 0xae, 0x17, 0x3a, - 0x75, 0x18, 0x03, 0xcd, 0x0d, 0x5c, 0xe2, 0x98, 0x0a, 0xa9, 0x6a, 0xec, 0xfa, 0x0e, 0x19, 0x8e, - 0xf8, 0xe3, 0x1c, 0xfd, 0x76, 0xda, 0x89, 0x14, 0x07, 0x74, 0x8a, 0xff, 0x59, 0x86, 0xf6, 0x56, - 0x8e, 0x28, 0xd1, 0x75, 0x60, 0x9f, 0x5a, 0xdb, 0x21, 0xc9, 0xd2, 0x45, 0x00, 0x5b, 0x67, 0xa0, - 0x0a, 0x04, 0xda, 0x50, 0x48, 0xbb, 0x5b, 0x04, 0x34, 0xd9, 0xea, 0x75, 0x5b, 0x59, 0x00, 0x3b, - 0x73, 0x9a, 0x59, 0x2a, 0xa1, 0x0f, 0x5b, 0x4e, 0x13, 0xfb, 0xe2, 0x40, 0x68, 0x12, 0x65, 0x53, - 0xc0, 0x9d, 0x3b, 0x86, 0xe5, 0xf0, 0x2a, 0x81, 0x76, 0x52, 0x27, 0xd0, 0x4e, 0xfe, 0x39, 0x02, - 0xed, 0xe4, 0x6b, 0x05, 0xda, 0xc9, 0x23, 0x04, 0xda, 0xfe, 0xc6, 0x02, 0xed, 0x48, 0x13, 0x68, - 0xfb, 0x0d, 0x02, 0xed, 0xc8, 0x21, 0xa3, 0xf3, 0x1a, 0x81, 0xf6, 0xe1, 0xeb, 0xf2, 0x64, 0x14, - 0xc6, 0x13, 0x70, 0x9e, 0x77, 0x50, 0xea, 0x6a, 0x49, 0x2f, 0x03, 0x75, 0x8b, 0x16, 0x28, 0xdd, - 0x65, 0xea, 0x5f, 0x8b, 0x85, 0x5b, 0x2b, 0xdc, 0xd6, 0x4a, 0x72, 0x13, 0xe5, 0x3e, 0xa0, 0xce, - 0x62, 0x36, 0x67, 0x8b, 0x04, 0xf2, 0x46, 0x52, 0xbf, 0x41, 0xd5, 0x1e, 0x51, 0x2b, 0xda, 0x5a, - 0xbd, 0x6c, 0xa1, 0x66, 0x58, 0x53, 0x96, 0x2b, 0xd7, 0xae, 0xe6, 0xdd, 0xbf, 0x8e, 0x2a, 0x2c, - 0x1e, 0xb9, 0xf5, 0x54, 0xc7, 0x4a, 0x5b, 0x30, 0x71, 0x15, 0x96, 0xc9, 0xf9, 0x8b, 0xf7, 0x1f, - 0x8e, 0x76, 0xdf, 0xfc, 0xde, 0xe2, 0x6a, 0xd8, 0x95, 0x78, 0x4b, 0xfb, 0xdf, 0x41, 0x38, 0x42, - 0xc5, 0x34, 0x2a, 0x88, 0xdc, 0x84, 0x55, 0x53, 0x94, 0x9d, 0x88, 0x4e, 0x68, 0x9d, 0x62, 0x08, - 0xbb, 0xd5, 0x32, 0xe7, 0x61, 0x84, 0xb7, 0x56, 0xdd, 0xa3, 0x68, 0xb5, 0xc0, 0xaa, 0x53, 0x27, - 0x14, 0x97, 0xa3, 0x26, 0x8b, 0xe6, 0xa1, 0xdb, 0x24, 0xc8, 0xe8, 0xb4, 0x12, 0x61, 0xb7, 0x75, - 0x5f, 0x9b, 0x8f, 0x2d, 0x52, 0x2c, 0xb9, 0x1d, 0xec, 0xef, 0x8e, 0xdb, 0x12, 0xde, 0xd3, 0xc8, - 0x5b, 0x29, 0xda, 0x40, 0xbd, 0xbf, 0x89, 0x35, 0xbf, 0x53, 0x5f, 0xd4, 0x68, 0x3c, 0x23, 0x71, - 0x01, 0xfc, 0xf8, 0x13, 0xcd, 0xff, 0xce, 0xe1, 0xeb, 0x1d, 0x77, 0x47, 0x0d, 0x2f, 0x7a, 0xf6, - 0x7c, 0x25, 0x52, 0xb4, 0xb4, 0x41, 0xff, 0xf2, 0x1e, 0x61, 0x49, 0x87, 0xaf, 0x3f, 0x04, 0xd7, - 0x73, 0x5c, 0x4b, 0xa2, 0x67, 0x50, 0x0b, 0xda, 0x20, 0xb6, 0x72, 0x11, 0xfc, 0x4f, 0xe9, 0x14, - 0xb6, 0xfc, 0xb6, 0xbb, 0xbf, 0x4f, 0x72, 0xff, 0x1d, 0x97, 0xde, 0x6e, 0xf1, 0x8f, 0xde, 0x45, - 0x4c, 0xd3, 0xc2, 0xf8, 0xaf, 0xe9, 0x62, 0x6d, 0xed, 0xfa, 0x8b, 0x55, 0x43, 0xe5, 0x7a, 0x92, - 0xaf, 0x1d, 0x01, 0x53, 0x4b, 0x6b, 0x67, 0x03, 0x7d, 0xb8, 0xdd, 0xd7, 0x04, 0xa2, 0x9b, 0xed, - 0xe5, 0x69, 0x10, 0xec, 0x5d, 0x03, 0x69, 0x0b, 0xd2, 0x3d, 0xdc, 0x8a, 0x6f, 0x7e, 0xdf, 0xa3, - 0xa5, 0x20, 0xdd, 0x11, 0x72, 0xf5, 0xd6, 0x48, 0x6e, 0xd3, 0xb7, 0xe1, 0x45, 0xea, 0xa7, 0x9f, - 0x1f, 0x3d, 0x62, 0x55, 0xa0, 0xbc, 0x86, 0x46, 0x5f, 0x5f, 0x77, 0x3e, 0xc5, 0x09, 0xad, 0x3c, - 0xa0, 0x70, 0x7b, 0x70, 0xe9, 0x8b, 0xaf, 0x45, 0xc3, 0x81, 0x6d, 0x0b, 0x77, 0x67, 0xf7, 0x95, - 0xb6, 0x8d, 0x57, 0x8e, 0x5f, 0x3a, 0x02, 0x12, 0x72, 0x08, 0x57, 0x02, 0x7c, 0x81, 0x16, 0xfb, - 0xa8, 0x05, 0x14, 0xf0, 0x8b, 0x89, 0x89, 0xa4, 0xb2, 0xa3, 0xd5, 0x44, 0x24, 0x1c, 0x61, 0x45, - 0xc8, 0x02, 0x8c, 0x5a, 0xfb, 0xf2, 0xcc, 0x07, 0xf6, 0xae, 0x85, 0x47, 0x0d, 0x3e, 0x84, 0x9e, - 0x04, 0x69, 0xe8, 0x47, 0xad, 0x5f, 0x6e, 0xe6, 0x37, 0x79, 0xa7, 0xa1, 0x35, 0x7e, 0x8b, 0x15, - 0xef, 0xbe, 0x59, 0xb1, 0xe2, 0x7e, 0x7a, 0xf9, 0x72, 0xc5, 0x92, 0x93, 0x9c, 0x39, 0x69, 0x80, - 0x0c, 0x61, 0xe8, 0xc2, 0x1c, 0x1d, 0xd0, 0xa9, 0x75, 0xf8, 0xd3, 0x4b, 0xdf, 0xcf, 0x5a, 0x2f, - 0xd1, 0xdc, 0x4e, 0x14, 0x61, 0x8d, 0xfe, 0xdf, 0xff, 0xf8, 0x9f, 0xff, 0xfd, 0x60, 0xcf, 0xff, - 0xb2, 0xc6, 0xbc, 0xfe, 0xea, 0xc6, 0x88, 0xb5, 0xf9, 0xa7, 0xb4, 0xe7, 0xed, 0xcf, 0x5f, 0xd1, - 0x1c, 0x76, 0x60, 0x5f, 0x6d, 0xc7, 0xf9, 0xb0, 0x7a, 0xfa, 0x7e, 0xd2, 0xf8, 0xe3, 0x42, 0x60, - 0xe9, 0x6f, 0x7c, 0x4e, 0x37, 0x9d, 0xcb, 0x5f, 0xcc, 0x19, 0x96, 0x46, 0x02, 0x95, 0x38, 0x12, - 0x54, 0x00, 0x89, 0x49, 0xa4, 0x60, 0x1d, 0xbe, 0xb6, 0xf8, 0x11, 0x06, 0xaa, 0x97, 0x7b, 0x0f, - 0xee, 0xa7, 0x1d, 0x26, 0x1a, 0x70, 0xa9, 0x49, 0x85, 0x38, 0x68, 0x35, 0xfd, 0xa8, 0x92, 0x8e, - 0x3d, 0x54, 0xeb, 0x80, 0x35, 0xf9, 0x67, 0x16, 0x2f, 0x34, 0x0b, 0xf6, 0x7e, 0x7a, 0xf9, 0x77, - 0xfe, 0x79, 0x0c, 0x9c, 0x63, 0xbf, 0xd7, 0x7d, 0xde, 0x7d, 0xfe, 0xf7, 0xfd, 0xfe, 0xfd, 0x7e, - 0xff, 0xef, 0xbd, 0xef, 0x81, 0x4d, 0xda, 0xc3, 0x65, 0xfc, 0x5d, 0xbf, 0x3b, 0x87, 0x58, 0xd1, - 0x8c, 0xd7, 0xff, 0x19, 0xcd, 0x10, 0xd9, 0xf4, 0x96, 0xbc, 0xfd, 0xf9, 0xcf, 0x6c, 0x08, 0x2f, - 0xcc, 0x0c, 0x4b, 0xae, 0x53, 0xd6, 0x29, 0xb1, 0x5b, 0x01, 0xde, 0x78, 0xc2, 0x99, 0x9d, 0xd0, - 0xdf, 0x18, 0xa5, 0x24, 0x4d, 0xca, 0x19, 0x72, 0xd1, 0xec, 0x25, 0xca, 0x13, 0x3d, 0x29, 0xed, - 0x8c, 0x95, 0x48, 0xb7, 0x89, 0x8b, 0xcd, 0xa1, 0x12, 0x12, 0xe3, 0x2f, 0xd6, 0x32, 0xc2, 0xea, - 0xd6, 0x63, 0x2c, 0x6e, 0x62, 0x0a, 0x8b, 0xc5, 0x1d, 0x97, 0xf4, 0x7a, 0xa0, 0x82, 0xd8, 0x5c, - 0xe0, 0x25, 0xe6, 0x02, 0x2e, 0x17, 0x9b, 0xd6, 0x7c, 0xbe, 0xf7, 0x84, 0x49, 0x09, 0x2f, 0xdb, - 0x96, 0x2c, 0x03, 0x03, 0x9f, 0xec, 0xe1, 0xdf, 0x39, 0xe7, 0x22, 0x2e, 0x08, 0xbf, 0x17, 0x9c, - 0x5e, 0x73, 0x7d, 0x1a, 0x4f, 0x83, 0xf4, 0x0d, 0x42, 0x7f, 0xdb, 0x0e, 0xc7, 0x2d, 0x24, 0x75, - 0x22, 0xb3, 0x8a, 0xfb, 0x20, 0x62, 0xb3, 0x02, 0x42, 0xe1, 0x0d, 0x52, 0xb7, 0x45, 0xaa, 0xc9, - 0x6f, 0xd2, 0xe4, 0x5a, 0x7a, 0x53, 0xd1, 0x62, 0xe8, 0x87, 0x23, 0x0a, 0xa2, 0x0a, 0x97, 0xe7, - 0x4b, 0x5d, 0x42, 0xb0, 0x87, 0x90, 0xe4, 0xf8, 0xef, 0x55, 0x7e, 0x1d, 0x8d, 0x5a, 0xff, 0x1f, - 0xa5, 0x49, 0xa3, 0x05, 0x34, 0xdb, 0x01, 0x00 + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0xcc, 0xbd, 0xf9, 0x7e, 0xe2, 0xc8, + 0x92, 0x30, 0xfa, 0xbf, 0x9f, 0x42, 0xa5, 0xea, 0x53, 0x05, 0x8d, 0x0c, 0x62, 0x5f, 0x5c, 0xd8, + 0x83, 0xf1, 0xbe, 0xdb, 0x78, 0xef, 0xa9, 0xdf, 0x94, 0x80, 0x04, 0x64, 0x0b, 0x49, 0x96, 0xc4, + 0x66, 0x9a, 0x79, 0x8e, 0xef, 0x69, 0xee, 0xc3, 0xdc, 0x27, 0xb9, 0x11, 0x99, 0x5a, 0x52, 0x42, + 0x60, 0x77, 0x4f, 0xcf, 0xb9, 0x5f, 0x9f, 0x53, 0x46, 0xca, 0x35, 0x22, 0x32, 0x32, 0x32, 0x22, + 0x32, 0x32, 0xf5, 0xe3, 0xcb, 0xde, 0x65, 0xf3, 0xf6, 0xe9, 0x6a, 0x5f, 0x18, 0x38, 0x43, 0x6d, + 0x5b, 0xf8, 0x81, 0x3f, 0x82, 0xa6, 0xe8, 0xfd, 0xba, 0x48, 0x74, 0x11, 0x13, 0x88, 0xd2, 0x85, + 0x9f, 0x21, 0x71, 0x14, 0x41, 0x57, 0x86, 0xa4, 0x2e, 0x8e, 0x55, 0x32, 0x31, 0x0d, 0xcb, 0x11, + 0x85, 0x8d, 0x8e, 0xa1, 0x3b, 0x44, 0x77, 0xea, 0xe2, 0x44, 0xed, 0x3a, 0x83, 0x7a, 0x97, 0x8c, + 0xd5, 0x0e, 0xd9, 0xa4, 0x2f, 0x92, 0xaa, 0xab, 0x8e, 0xaa, 0x68, 0x9b, 0x76, 0x47, 0xd1, 0x48, + 0x3d, 0x2b, 0x0d, 0x21, 0x61, 0x38, 0x1a, 0x7a, 0xef, 0xa2, 0xd7, 0xe8, 0x46, 0x67, 0xa0, 0x58, + 0x36, 0x81, 0x46, 0x46, 0x4e, 0x6f, 0xb3, 0x22, 0x86, 0x3b, 0x73, 0x06, 0x64, 0x48, 0x36, 0x3b, + 0x86, 0x66, 0x58, 0xa2, 0xe0, 0x77, 0xf7, 0x35, 0x47, 0xff, 0xe3, 0xda, 0xf0, 0x72, 0x66, 0xc4, + 0x16, 0xdd, 0xaa, 0x8a, 0x69, 0x6a, 0x64, 0x73, 0x68, 0xb4, 0x55, 0xf8, 0x99, 0x90, 0xf6, 0x26, + 0x24, 0x6c, 0x76, 0x14, 0x53, 0x69, 0x6b, 0x04, 0x6b, 0x6a, 0xaa, 0xfe, 0x2a, 0x58, 0x44, 0xab, + 0x8b, 0xf6, 0x00, 0xd0, 0xe9, 0x8c, 0x1c, 0x41, 0x85, 0x76, 0x00, 0xad, 0x81, 0x45, 0x7a, 0x75, + 0xb1, 0xab, 0x38, 0x4a, 0x4d, 0x1d, 0x2a, 0x7d, 0x92, 0x99, 0x6e, 0x62, 0xce, 0x56, 0x5b, 0xb1, + 0x49, 0xa9, 0x20, 0x35, 0x1a, 0x8d, 0xdd, 0x46, 0x63, 0xbf, 0xb1, 0x0f, 0x7f, 0xf1, 0xf7, 0xb0, + 0xd1, 0x3c, 0xc4, 0xa7, 0x83, 0x3e, 0xfc, 0x39, 0xd6, 0xae, 0x6f, 0x5f, 0x3b, 0x17, 0xcd, 0x81, + 0x71, 0x8a, 0x69, 0x7b, 0x77, 0xda, 0xf1, 0xcd, 0xc1, 0x31, 0x3e, 0x5e, 0xb3, 0xd2, 0x7d, 0x5a, + 0xf6, 0x28, 0x73, 0x95, 0x79, 0xc2, 0x94, 0xfd, 0xec, 0xc9, 0xcd, 0xfe, 0xc1, 0xdd, 0xe5, 0x71, + 0xf6, 0x05, 0x92, 0x32, 0x57, 0x93, 0xcb, 0x69, 0xff, 0xe2, 0x90, 0x34, 0xee, 0xce, 0xa7, 0xfb, + 0xd5, 0xc3, 0x52, 0xe7, 0xba, 0x79, 0xba, 0xf7, 0xd0, 0x18, 0x98, 0x8d, 0xbd, 0xe7, 0x5c, 0xaf, + 0x72, 0x75, 0xfe, 0xb2, 0xdb, 0xca, 0x5f, 0x3f, 0xc8, 0x95, 0xeb, 0xd3, 0x9c, 0x7c, 0xaa, 0x3c, + 0x37, 0x73, 0xfd, 0x5e, 0xb3, 0x3a, 0x68, 0xea, 0x6f, 0xc6, 0xc8, 0xb8, 0xe8, 0x37, 0x6e, 0xfa, + 0x4f, 0xe5, 0xf7, 0xf3, 0x69, 0x63, 0x76, 0xa1, 0xdd, 0x75, 0xaf, 0x8f, 0xb4, 0x47, 0xb5, 0xa1, + 0x5d, 0xe6, 0xce, 0xf7, 0x1a, 0x7b, 0xa5, 0xfc, 0xfe, 0xfd, 0xdb, 0xc5, 0x51, 0x83, 0xc8, 0x0d, + 0x0a, 0x88, 0x76, 0x70, 0xfb, 0xda, 0x1a, 0x5d, 0x0f, 0x9b, 0x4d, 0x71, 0x7b, 0x43, 0xf8, 0x61, + 0x77, 0x2c, 0xd5, 0x74, 0xb6, 0x37, 0x7a, 0x23, 0xbd, 0xe3, 0xa8, 0x86, 0x2e, 0x98, 0x84, 0xbc, + 0x26, 0x9c, 0xe4, 0x7c, 0xac, 0x58, 0x02, 0xa9, 0x3b, 0xe9, 0x3e, 0x71, 0x9a, 0x48, 0xe5, 0xa9, + 0x93, 0x10, 0x73, 0x5d, 0x31, 0xb9, 0xa5, 0xf6, 0x12, 0x84, 0x65, 0x5b, 0x5b, 0x8e, 0x35, 0x9b, + 0x5b, 0x75, 0xc7, 0x30, 0xd3, 0x13, 0x55, 0xef, 0x1a, 0x93, 0xf4, 0xc4, 0x5e, 0x74, 0x14, 0xa7, + 0x33, 0xc0, 0x16, 0x16, 0xd6, 0xb7, 0x6f, 0x56, 0xda, 0x02, 0x46, 0x9a, 0xb5, 0x1c, 0xc5, 0x21, + 0xf5, 0x7a, 0xfd, 0x81, 0xb4, 0x5b, 0x46, 0xe7, 0x95, 0x38, 0xe9, 0xcb, 0xab, 0xfd, 0x8b, 0x1d, + 0x2b, 0x6d, 0x13, 0xbd, 0x9b, 0x10, 0xe7, 0xdf, 0xb5, 0xf1, 0xf7, 0x9a, 0x63, 0x8d, 0xc8, 0x42, + 0x4c, 0xd6, 0x12, 0x56, 0x5d, 0x27, 0x13, 0xc1, 0x2f, 0x9b, 0x48, 0x88, 0x03, 0xc7, 0x31, 0xed, + 0x9a, 0x58, 0xaf, 0xbb, 0xdd, 0x68, 0x06, 0xf4, 0x02, 0xd0, 0xa6, 0x4d, 0xcb, 0x70, 0x0c, 0x60, + 0x93, 0x1d, 0x71, 0x62, 0xdb, 0x62, 0x0d, 0xfe, 0x8a, 0xc9, 0x94, 0x58, 0xcb, 0x64, 0xc4, 0x54, + 0xd7, 0xe8, 0x8c, 0x86, 0xc0, 0x1c, 0x41, 0xe1, 0x81, 0x61, 0x3b, 0x29, 0x31, 0x83, 0x65, 0x92, + 0x69, 0x43, 0x37, 0x4c, 0xa2, 0xd7, 0x13, 0xc9, 0xfa, 0xf6, 0x3c, 0x16, 0x8e, 0x85, 0x64, 0xa5, + 0xdb, 0xaa, 0xae, 0x58, 0xb3, 0xdb, 0x99, 0x89, 0x7c, 0x65, 0x59, 0xca, 0xac, 0x3d, 0xea, 0xf5, + 0x88, 0x25, 0x42, 0x96, 0xd2, 0xed, 0xee, 0x8f, 0xa1, 0xf9, 0x33, 0xd5, 0x06, 0x16, 0x24, 0x56, + 0x42, 0x1c, 0x12, 0xdb, 0x06, 0xae, 0x81, 0x4c, 0x68, 0x12, 0x29, 0x03, 0x94, 0x12, 0xff, 0x30, + 0xda, 0x2f, 0xa4, 0xe3, 0x08, 0x0d, 0xac, 0xbd, 0x4b, 0x6b, 0xff, 0x04, 0x3c, 0x80, 0x66, 0x2d, + 0xc7, 0x52, 0xf5, 0x7e, 0x1a, 0xa6, 0x85, 0x96, 0xb0, 0xd2, 0xc8, 0x75, 0xc9, 0xe4, 0x5c, 0x23, + 0x8e, 0xa0, 0x53, 0xf4, 0xef, 0x54, 0xdd, 0xa9, 0xd0, 0x5a, 0x5e, 0x2e, 0x52, 0xbe, 0x5c, 0xfa, + 0x52, 0xd7, 0xff, 0x90, 0x7f, 0xfe, 0xf9, 0x67, 0x0e, 0x1f, 0xb2, 0xf0, 0xf0, 0x85, 0x24, 0x2d, + 0xe2, 0x8c, 0x2c, 0x7d, 0x0b, 0x2b, 0xab, 0x90, 0x9a, 0xfb, 0x29, 0x75, 0xe0, 0x27, 0xff, 0x53, + 0xd2, 0xea, 0xe7, 0x8a, 0x33, 0x48, 0xc3, 0x1c, 0x4c, 0x38, 0x69, 0x3a, 0x3f, 0x33, 0xaa, 0xe4, + 0xa4, 0x07, 0x44, 0xed, 0x0f, 0x9c, 0x4c, 0x27, 0x29, 0x0d, 0x58, 0x81, 0x9e, 0x66, 0x18, 0x56, + 0xc2, 0x2b, 0xb3, 0xa9, 0xfd, 0xae, 0x26, 0x33, 0xb9, 0xe4, 0x16, 0x0e, 0xb2, 0x51, 0x2f, 0x6c, + 0xf9, 0xcc, 0xa1, 0xe0, 0xb8, 0xb2, 0xde, 0x04, 0x19, 0x90, 0xd8, 0x91, 0x6b, 0xb9, 0x62, 0x2a, + 0x97, 0x2b, 0xfe, 0xee, 0x64, 0x72, 0xc5, 0xe2, 0xa2, 0x07, 0xad, 0x90, 0x74, 0x47, 0x23, 0x8a, + 0x75, 0x03, 0x58, 0x27, 0x64, 0x49, 0x96, 0xdc, 0x46, 0xfd, 0x6e, 0x93, 0xd2, 0xac, 0x9e, 0x2e, + 0x6e, 0xcd, 0x7e, 0x74, 0xb6, 0x66, 0xa9, 0x54, 0x12, 0xab, 0x4c, 0x31, 0x61, 0xfa, 0x43, 0xdd, + 0x9a, 0x42, 0x02, 0xb4, 0xab, 0xff, 0x61, 0xfc, 0xfc, 0xf6, 0x8d, 0x3d, 0xa4, 0xb2, 0xc1, 0x63, + 0x0e, 0xd0, 0x85, 0xf6, 0x7b, 0xaa, 0xa6, 0xb5, 0x9c, 0x19, 0x88, 0x93, 0x5f, 0x56, 0xbf, 0x9d, + 0xf8, 0x6d, 0xae, 0x24, 0xb0, 0x06, 0x8c, 0x98, 0xfb, 0x08, 0x75, 0xb8, 0x97, 0x1c, 0xbc, 0x24, + 0x7f, 0x49, 0x24, 0xdd, 0x26, 0x7d, 0x55, 0xbf, 0x02, 0x7c, 0x13, 0x49, 0x78, 0x53, 0xac, 0x4e, + 0x62, 0xfa, 0xbb, 0x96, 0x1a, 0x48, 0xb3, 0xdf, 0x35, 0x29, 0x5d, 0x80, 0x3f, 0xb2, 0x94, 0xfb, + 0x9d, 0xd2, 0xe3, 0xea, 0x18, 0x4b, 0x60, 0x3f, 0x89, 0x64, 0x52, 0x32, 0x52, 0xf5, 0xfc, 0x22, + 0xe0, 0x6b, 0x10, 0x09, 0xb6, 0xa1, 0x91, 0x34, 0xb1, 0x2c, 0x80, 0x5d, 0xbc, 0x82, 0x09, 0x23, + 0x3c, 0xb4, 0x04, 0xfa, 0x5a, 0x13, 0x25, 0x27, 0xb9, 0x58, 0xc0, 0xff, 0x37, 0x7e, 0x64, 0xdc, + 0xb9, 0x25, 0xfc, 0x70, 0x54, 0x47, 0x23, 0xdb, 0x0f, 0x67, 0xfb, 0x7b, 0x3f, 0x32, 0xec, 0x39, + 0x66, 0xe2, 0xf5, 0x08, 0xe9, 0xb6, 0x95, 0xce, 0x6b, 0x02, 0x66, 0x0e, 0x12, 0x1e, 0xe4, 0xaa, + 0xc7, 0xc1, 0x30, 0x07, 0xf7, 0x35, 0x82, 0x8f, 0xf6, 0xee, 0xec, 0x56, 0xe9, 0x5f, 0x80, 0xa0, + 0x83, 0x49, 0x01, 0x33, 0x4b, 0x4c, 0x02, 0x33, 0xc0, 0x30, 0xfb, 0x45, 0x3b, 0x30, 0xdf, 0x1c, + 0xe2, 0x96, 0x4e, 0x88, 0xac, 0x17, 0x98, 0xb5, 0x5a, 0xda, 0x61, 0x5c, 0x0c, 0xd2, 0x51, 0x65, + 0xf3, 0x21, 0xf3, 0xa2, 0x8c, 0x15, 0xb7, 0x80, 0xa4, 0xa5, 0x6d, 0xab, 0x53, 0x17, 0x55, 0xcb, + 0x48, 0xbf, 0xd8, 0xf8, 0xba, 0xcc, 0xdf, 0x9a, 0x01, 0xfd, 0x49, 0x04, 0x98, 0xbb, 0x63, 0xaa, + 0x9d, 0x57, 0xca, 0xa5, 0x58, 0xbe, 0x89, 0x52, 0xfa, 0x0a, 0x52, 0xb0, 0xd0, 0x57, 0x93, 0x3e, + 0x88, 0xd2, 0x9c, 0x8e, 0x7a, 0x2d, 0x57, 0x92, 0xa5, 0xc9, 0x80, 0x10, 0xed, 0x0c, 0xc7, 0x5e, + 0x87, 0x29, 0x52, 0xfb, 0x92, 0x65, 0x29, 0x0d, 0xbd, 0xaf, 0x91, 0x5a, 0xae, 0xec, 0x16, 0xd8, + 0x53, 0x2d, 0x42, 0x29, 0x51, 0x13, 0x3b, 0x30, 0x65, 0x5f, 0x27, 0xaa, 0x0d, 0x73, 0x49, 0x53, + 0x66, 0xc6, 0xc8, 0xa9, 0xfd, 0x01, 0x54, 0x1f, 0x9a, 0x86, 0x0e, 0x00, 0xd5, 0xb0, 0xcf, 0x91, + 0x9a, 0x7e, 0xc0, 0x4a, 0x92, 0x61, 0x62, 0x15, 0xbb, 0x36, 0x5f, 0x2c, 0x7e, 0x2e, 0x92, 0x12, + 0x85, 0x0c, 0xe6, 0x76, 0x42, 0x54, 0x75, 0x13, 0xea, 0xc1, 0xb4, 0x16, 0x25, 0x3a, 0xc7, 0x6d, + 0x94, 0x63, 0x00, 0x68, 0x22, 0x9b, 0x0c, 0x95, 0xa3, 0x6b, 0x4c, 0x0d, 0x16, 0x23, 0x1d, 0xa7, + 0x2e, 0x2d, 0x3a, 0x32, 0x61, 0xbe, 0x91, 0xab, 0x96, 0xa6, 0x76, 0x89, 0x65, 0x27, 0xa0, 0x3c, + 0x9d, 0x09, 0xce, 0xc7, 0x54, 0x76, 0x3e, 0xa0, 0xb2, 0xc3, 0xa8, 0x6c, 0x61, 0x67, 0x8e, 0x31, + 0xea, 0x0c, 0x28, 0xb1, 0x9d, 0xb5, 0xc4, 0xa6, 0x85, 0xed, 0xfa, 0x0d, 0xfe, 0xdc, 0xd2, 0x3a, + 0x80, 0xca, 0xc8, 0x4c, 0x7c, 0xa7, 0x18, 0xfe, 0xc1, 0x3a, 0xa4, 0x85, 0xc4, 0x9f, 0xdf, 0xa5, + 0x39, 0x00, 0x8b, 0x72, 0xc0, 0xa9, 0x43, 0xa9, 0x63, 0x90, 0xdb, 0xd6, 0x58, 0xd1, 0x12, 0x14, + 0x2d, 0x11, 0x49, 0x08, 0x79, 0x04, 0xe5, 0x8f, 0x8f, 0x4a, 0x20, 0x9f, 0xbf, 0x7d, 0x4b, 0xd0, + 0x99, 0xeb, 0xd7, 0x82, 0xa9, 0x6a, 0xe8, 0x67, 0x00, 0x08, 0x4c, 0x82, 0x85, 0x94, 0x95, 0x65, + 0xa4, 0x1c, 0x34, 0x7b, 0xab, 0x0e, 0x09, 0x0c, 0x0a, 0x6b, 0x75, 0x90, 0x06, 0x64, 0x81, 0xcc, + 0xcd, 0x81, 0xaa, 0x75, 0xa1, 0xca, 0x27, 0x0b, 0x6a, 0x6e, 0x41, 0x7e, 0x9a, 0xd8, 0x38, 0xa7, + 0xb7, 0x37, 0xfe, 0xa3, 0x07, 0xeb, 0xcd, 0x66, 0x4f, 0xe9, 0x90, 0xb9, 0xfb, 0x34, 0x54, 0xb5, + 0x59, 0xed, 0xe1, 0x18, 0x27, 0xde, 0x16, 0x10, 0xb0, 0x36, 0xb2, 0xb4, 0x04, 0x5d, 0xa6, 0x31, + 0x3f, 0x33, 0x31, 0x7a, 0xbd, 0xdc, 0x96, 0xa7, 0x4e, 0x50, 0x6d, 0xc2, 0x5b, 0xb2, 0xbb, 0x72, + 0xf5, 0xf0, 0xbc, 0xdf, 0xa0, 0x0b, 0x76, 0xa3, 0xa1, 0xdf, 0x35, 0x1a, 0x36, 0x5b, 0x05, 0xb3, + 0xf8, 0x77, 0x78, 0xd0, 0x68, 0x1c, 0x3e, 0x0f, 0xfb, 0x8d, 0x95, 0xff, 0xed, 0x0e, 0x1b, 0x8d, + 0xfe, 0xe3, 0xe4, 0xa6, 0xd9, 0x78, 0xeb, 0x3c, 0x9d, 0x3c, 0x1f, 0x37, 0x6e, 0x9f, 0x9a, 0x27, + 0x8d, 0x8b, 0x49, 0xf3, 0xdd, 0x68, 0xec, 0x36, 0x61, 0xe5, 0x9f, 0x3c, 0x1d, 0x1d, 0xef, 0xda, + 0xe5, 0xbd, 0x8a, 0x7a, 0x39, 0x79, 0xef, 0x0f, 0xf3, 0xe7, 0x8f, 0xe7, 0xfa, 0xfb, 0x73, 0xf3, + 0xd5, 0xd1, 0x5f, 0x3a, 0xed, 0x8b, 0xd4, 0xb5, 0x76, 0x72, 0xa6, 0x9c, 0xe4, 0x47, 0xda, 0xdd, + 0x99, 0xa9, 0x99, 0x0f, 0xa5, 0xbb, 0xb7, 0x07, 0xd5, 0x20, 0xad, 0x6a, 0xf6, 0x64, 0x46, 0xe4, + 0x97, 0x3b, 0xed, 0x64, 0xf2, 0x6c, 0x15, 0xf5, 0xdb, 0xee, 0x7e, 0xfe, 0x4c, 0x77, 0xba, 0x57, + 0xe3, 0x46, 0x3f, 0xd5, 0x73, 0x32, 0xbd, 0xb6, 0x7d, 0x66, 0x1f, 0x6a, 0x17, 0x67, 0xa3, 0x81, + 0x36, 0xbc, 0x7e, 0x39, 0x55, 0xcb, 0x17, 0x57, 0x7b, 0xfb, 0xc7, 0xfd, 0xc9, 0xed, 0x10, 0x54, + 0x05, 0xa5, 0x34, 0xec, 0x6a, 0xa9, 0xd6, 0xd1, 0xdd, 0xee, 0x60, 0xff, 0xb8, 0x7b, 0x74, 0x30, + 0x55, 0x5e, 0xcb, 0x76, 0x61, 0x3f, 0x33, 0x7b, 0x1f, 0x9c, 0xb4, 0x5e, 0x9a, 0xe5, 0xdd, 0xeb, + 0xeb, 0xb3, 0xde, 0xde, 0xc4, 0x30, 0x0f, 0x32, 0x6a, 0x49, 0x79, 0x6b, 0xed, 0x6b, 0xfb, 0x07, + 0x7b, 0x8f, 0xd3, 0xca, 0xf3, 0xfd, 0xc3, 0xcb, 0x2c, 0x6f, 0xcd, 0x86, 0x85, 0x8b, 0xd2, 0x81, + 0xf6, 0x7c, 0x5d, 0x18, 0x8c, 0x52, 0xfa, 0xa3, 0x7d, 0x78, 0xbc, 0x77, 0x7e, 0x7d, 0x90, 0xef, + 0x37, 0xa6, 0x4a, 0xb6, 0xd0, 0xe8, 0x37, 0x2c, 0xe7, 0xfe, 0x7c, 0xd0, 0x7b, 0xed, 0xbf, 0xf4, + 0xf6, 0x1b, 0x6d, 0xb5, 0x39, 0x98, 0x8c, 0x5a, 0xc7, 0x93, 0xfd, 0xbb, 0xe6, 0x70, 0xd4, 0xbd, + 0x1a, 0xa8, 0xd7, 0xdd, 0xdb, 0x92, 0x35, 0x3e, 0x7e, 0x39, 0x6b, 0xdd, 0x3c, 0xef, 0x4f, 0xf6, + 0x06, 0x07, 0xd5, 0xdd, 0x63, 0xdb, 0x30, 0x8e, 0x8b, 0xf9, 0xdb, 0xe3, 0x9b, 0x63, 0xe3, 0xf8, + 0x6e, 0xaf, 0xf2, 0x3a, 0xbb, 0x78, 0x3e, 0x2e, 0xdf, 0xbd, 0x34, 0x66, 0xe7, 0xd6, 0x4d, 0x46, + 0x39, 0xcf, 0xec, 0x4d, 0x94, 0x4b, 0xd3, 0x78, 0x57, 0x06, 0xd5, 0xb3, 0xc3, 0xa6, 0xfd, 0x94, + 0x7b, 0xbf, 0xc8, 0x3d, 0x5d, 0xbe, 0xdb, 0xb9, 0xb3, 0xfc, 0xf4, 0x8d, 0x5c, 0x98, 0x85, 0xf7, + 0xc7, 0x97, 0xb7, 0x4a, 0xfb, 0xf1, 0x36, 0x33, 0x38, 0xdf, 0x3d, 0x7b, 0xc9, 0x14, 0xf3, 0x4f, + 0x7b, 0x8d, 0xe3, 0x56, 0xaa, 0x3c, 0x2a, 0x95, 0x2a, 0x7a, 0xfe, 0x28, 0x75, 0x74, 0x73, 0xd5, + 0x7d, 0xee, 0x66, 0x47, 0xf9, 0xdb, 0xf7, 0xee, 0xcd, 0x73, 0xf7, 0xfe, 0xfc, 0xb6, 0x77, 0xac, + 0x15, 0x8f, 0x7a, 0xa7, 0xfd, 0x6e, 0xb6, 0x5d, 0x6e, 0x8d, 0xdf, 0xba, 0xd5, 0x87, 0xea, 0xc8, + 0xb4, 0xba, 0x57, 0x95, 0xeb, 0xdb, 0xcb, 0x21, 0x51, 0xde, 0x8b, 0xb7, 0x57, 0x97, 0x37, 0x27, + 0xda, 0xde, 0xde, 0xcb, 0xd1, 0xfd, 0xcb, 0xa1, 0xdc, 0xb8, 0x38, 0xbf, 0x7e, 0xb2, 0x87, 0x37, + 0xd6, 0xa9, 0x36, 0x34, 0x67, 0x6f, 0xf7, 0xe5, 0xd7, 0x51, 0xfb, 0xf8, 0xba, 0x99, 0x3b, 0x6c, + 0x1d, 0xbf, 0x1e, 0xb4, 0x52, 0xe7, 0x3a, 0x69, 0x9e, 0x14, 0x2a, 0x27, 0x27, 0x07, 0xf7, 0xcd, + 0xc1, 0x75, 0x6f, 0x34, 0x39, 0x3d, 0x37, 0x73, 0xb3, 0xbb, 0xaa, 0x39, 0x7c, 0xcb, 0xde, 0x9f, + 0xde, 0xdd, 0x94, 0x60, 0xc1, 0x93, 0x0f, 0x4d, 0xb9, 0xf5, 0x72, 0xff, 0x74, 0x73, 0x73, 0x90, + 0x7a, 0x7c, 0x29, 0xa7, 0x2e, 0xd5, 0xbb, 0xd6, 0x6b, 0xe6, 0xf0, 0xf8, 0x7d, 0x94, 0x1d, 0xaa, + 0x47, 0xcf, 0x0f, 0xd3, 0x54, 0xbf, 0xf2, 0x94, 0xbd, 0xb9, 0x7b, 0x75, 0xae, 0x86, 0x6f, 0xc7, + 0xaa, 0x73, 0x73, 0xfb, 0x78, 0x7f, 0xf1, 0xfe, 0xde, 0x74, 0x46, 0x07, 0x57, 0xa7, 0x9d, 0x23, + 0xf9, 0xfd, 0x66, 0xf7, 0x30, 0xf5, 0x54, 0xcd, 0x34, 0xf5, 0xc1, 0xae, 0x92, 0x93, 0xc7, 0x45, + 0xe3, 0xa8, 0x67, 0xef, 0xdf, 0x9d, 0xf7, 0x1f, 0xcf, 0xaf, 0xf6, 0x7b, 0x97, 0xc5, 0xe7, 0xce, + 0xc9, 0x54, 0x3e, 0x38, 0xbe, 0x52, 0xef, 0x67, 0x93, 0xfe, 0x4b, 0xbb, 0x74, 0x7e, 0x3c, 0xba, + 0x4f, 0x19, 0xcf, 0x85, 0x71, 0xee, 0xf5, 0xb5, 0x94, 0x79, 0xd7, 0x8f, 0xa7, 0x7b, 0xa7, 0x56, + 0x7f, 0x74, 0x9e, 0xcb, 0xcd, 0x52, 0xed, 0x87, 0xca, 0xe4, 0xee, 0xf0, 0x4d, 0x2d, 0x2b, 0x67, + 0x95, 0xde, 0xf5, 0xc9, 0xfb, 0x44, 0x6f, 0xbe, 0x54, 0x9c, 0x63, 0xd3, 0xec, 0x1e, 0x57, 0xdb, + 0x4f, 0x7b, 0xad, 0xfb, 0x93, 0xfb, 0xe6, 0xf5, 0xb1, 0xae, 0x9a, 0x0f, 0xf2, 0x51, 0xdb, 0xe9, + 0x68, 0x9d, 0xdb, 0xf2, 0xb8, 0x39, 0x3b, 0x1b, 0x3e, 0x2a, 0xad, 0x7b, 0xeb, 0xba, 0x75, 0x71, + 0x3e, 0x6b, 0x2b, 0x27, 0x27, 0xbb, 0x83, 0xdc, 0x95, 0xfa, 0x68, 0x3d, 0xb6, 0xfb, 0xdd, 0x52, + 0xa3, 0xfd, 0x46, 0x3a, 0xdd, 0xbd, 0xdb, 0xcb, 0xea, 0xfe, 0xf5, 0xfe, 0x31, 0x79, 0x90, 0xef, + 0xaf, 0x1e, 0xae, 0x3b, 0xdd, 0xeb, 0x8a, 0xe6, 0x5c, 0x5d, 0xee, 0x8f, 0x52, 0xe5, 0xd2, 0x5b, + 0xee, 0x78, 0x7a, 0x77, 0x6b, 0x9c, 0x90, 0x07, 0xb3, 0xf7, 0x72, 0xad, 0x1e, 0x1d, 0x1d, 0x15, + 0x61, 0x2a, 0xed, 0x9d, 0xbd, 0x64, 0xdb, 0x47, 0xfd, 0xeb, 0xe9, 0xa3, 0x7d, 0x07, 0x08, 0x9d, + 0x3e, 0xb5, 0xfb, 0xa9, 0xe6, 0x14, 0xfe, 0x57, 0xaa, 0x92, 0xa3, 0xce, 0xe5, 0x18, 0x44, 0xf4, + 0x49, 0x56, 0x2b, 0xb5, 0x65, 0x7d, 0xaf, 0xfc, 0x72, 0x98, 0x6a, 0xb7, 0x1a, 0xd9, 0x6e, 0xf3, + 0xf9, 0x7e, 0x3a, 0x9c, 0x54, 0x9e, 0x4f, 0x32, 0xc7, 0x4f, 0xce, 0xf4, 0xca, 0x69, 0x9f, 0x4c, + 0x35, 0xf3, 0x3a, 0x73, 0x76, 0xf8, 0xd2, 0x7a, 0x93, 0xe5, 0xdb, 0x61, 0xf7, 0xe2, 0xf8, 0x79, + 0x6a, 0x1d, 0x12, 0x2d, 0x35, 0x4b, 0x59, 0xcf, 0x27, 0x96, 0x91, 0xd2, 0xef, 0x06, 0xf9, 0x2b, + 0xeb, 0xe2, 0xf8, 0x70, 0x72, 0x5a, 0x7a, 0xb0, 0x1e, 0x2f, 0xce, 0xef, 0x73, 0xd3, 0x5b, 0x72, + 0xf3, 0x70, 0xd4, 0x7a, 0x69, 0x75, 0x5e, 0x9d, 0xb3, 0x93, 0x1e, 0xc9, 0x5a, 0x9d, 0xb2, 0x6d, + 0xce, 0xc6, 0xaf, 0xf9, 0x76, 0xe9, 0xbe, 0xf0, 0x5a, 0xa8, 0xb4, 0xac, 0x7c, 0x63, 0x98, 0xbd, + 0x1a, 0x67, 0xae, 0xd5, 0xde, 0xc0, 0x3e, 0xce, 0x8d, 0xce, 0xc7, 0x9d, 0x4a, 0x29, 0x7f, 0xa9, + 0x5e, 0x5f, 0xdf, 0x5c, 0x18, 0xa4, 0x6b, 0x5e, 0xf5, 0x8e, 0xf4, 0xd6, 0xa4, 0x03, 0xd2, 0x30, + 0xa5, 0xec, 0xed, 0xef, 0x97, 0xca, 0x9d, 0xd3, 0xf7, 0xdb, 0xfe, 0xae, 0x76, 0xdd, 0x7f, 0x31, + 0x5f, 0xfa, 0xb7, 0x7b, 0xfa, 0x89, 0x73, 0xa8, 0x3f, 0xe6, 0xde, 0xda, 0xc3, 0xc7, 0x93, 0xd2, + 0xc1, 0xe5, 0xee, 0xd9, 0x73, 0x79, 0x62, 0x5b, 0xa9, 0x93, 0xe7, 0xf7, 0x27, 0xbd, 0xfd, 0xd2, + 0x6d, 0xbf, 0x36, 0x47, 0xfb, 0xbd, 0x3b, 0xf9, 0x68, 0xac, 0x4d, 0xde, 0xda, 0xce, 0x5d, 0xff, + 0xa4, 0xfc, 0x7e, 0xf3, 0x78, 0x70, 0x71, 0x62, 0x8f, 0x5b, 0x53, 0x6d, 0xf2, 0x9e, 0x7b, 0x78, + 0x72, 0x94, 0xc2, 0xf4, 0xc5, 0x52, 0x33, 0x3d, 0x7b, 0xa4, 0xe9, 0xfa, 0xc1, 0xfd, 0xd5, 0xcc, + 0xd0, 0xcd, 0x2b, 0xf9, 0xe6, 0xac, 0x68, 0xdc, 0x5f, 0x9c, 0xbe, 0xbe, 0xf6, 0xf6, 0xb5, 0xc3, + 0x42, 0xc7, 0xbe, 0xdd, 0xbb, 0x68, 0xd8, 0xfd, 0xf7, 0x66, 0xbe, 0x72, 0x58, 0xee, 0xb7, 0x4e, + 0xef, 0xfb, 0xad, 0xe7, 0xf2, 0x30, 0xd3, 0xd9, 0x1f, 0x9f, 0x36, 0xce, 0x86, 0xd3, 0xd3, 0xf7, + 0x4c, 0x66, 0x54, 0x1e, 0x94, 0x48, 0xff, 0xe8, 0xa0, 0x7c, 0x6e, 0x1d, 0x15, 0x5e, 0x4e, 0xcc, + 0xcc, 0xf3, 0xb4, 0xf0, 0x96, 0xcf, 0x29, 0x95, 0xdb, 0x72, 0x76, 0xaa, 0x1f, 0xdd, 0xdf, 0x34, + 0x0f, 0xb5, 0xde, 0xc1, 0xf3, 0x85, 0xe3, 0x74, 0x73, 0x07, 0x9d, 0x3b, 0x45, 0x99, 0x95, 0x48, + 0xf5, 0xea, 0x75, 0x30, 0xea, 0xcc, 0x6e, 0x64, 0xe3, 0x6a, 0x94, 0x7d, 0xcf, 0xbe, 0x67, 0xf6, + 0x76, 0x53, 0x95, 0x89, 0x3a, 0x6d, 0x1c, 0x74, 0xcf, 0xef, 0xb2, 0x7d, 0x7d, 0xb8, 0x5b, 0x98, + 0x36, 0x26, 0xa5, 0x8a, 0x39, 0x39, 0xea, 0x3c, 0xbc, 0x68, 0x07, 0xd6, 0xae, 0xfe, 0x38, 0x3d, + 0x7b, 0x79, 0x29, 0xe5, 0xef, 0x0e, 0xfb, 0xe3, 0x8b, 0xc3, 0xfb, 0xc3, 0xc6, 0xc9, 0xc1, 0xfb, + 0xf4, 0x60, 0x92, 0x7a, 0x30, 0x86, 0x7a, 0xf9, 0xbc, 0xa1, 0xb6, 0xef, 0xdb, 0xa3, 0x92, 0x46, + 0x8e, 0x6e, 0x76, 0x8b, 0x76, 0x27, 0x2b, 0xf7, 0xce, 0x9c, 0xb6, 0xd5, 0xb5, 0x32, 0x27, 0x6f, + 0xf7, 0xa5, 0x27, 0x2b, 0x65, 0x8c, 0x27, 0x07, 0xce, 0xcd, 0xd1, 0x7e, 0xf9, 0xbc, 0xf0, 0x7e, + 0x58, 0x95, 0xdf, 0x2e, 0x76, 0x4b, 0x4f, 0x37, 0xfb, 0x86, 0x51, 0xcc, 0xbe, 0x1e, 0x9c, 0x28, + 0xed, 0xb7, 0xfc, 0x05, 0x39, 0xba, 0x3f, 0xed, 0x92, 0x5e, 0x66, 0x60, 0x9f, 0x1f, 0x1c, 0xb4, + 0x4c, 0xa7, 0x38, 0xac, 0x3c, 0x0e, 0x4f, 0xde, 0xf6, 0xf6, 0x1a, 0xfa, 0x8d, 0xdc, 0x29, 0x64, + 0x2b, 0xc3, 0xe9, 0x70, 0x6a, 0x5d, 0xbf, 0x5f, 0x8f, 0x66, 0x57, 0xba, 0x6d, 0xde, 0x4c, 0x7a, + 0x8d, 0xa7, 0x57, 0xd3, 0x19, 0xbc, 0x5b, 0x40, 0x96, 0xdb, 0xec, 0xf4, 0xa2, 0xd5, 0x2b, 0x3c, + 0x38, 0xbb, 0xe7, 0xe7, 0xd5, 0xbd, 0xeb, 0xdb, 0x6c, 0x75, 0x74, 0x96, 0xea, 0xb7, 0x0b, 0xe5, + 0xfe, 0xc1, 0xd9, 0x55, 0xbe, 0x73, 0x2b, 0x57, 0x0e, 0x2a, 0xc7, 0x85, 0xee, 0xf3, 0xf4, 0x44, + 0x2b, 0x64, 0x0f, 0xed, 0x69, 0xf5, 0xe1, 0xe8, 0xfd, 0x6c, 0xf7, 0xf2, 0xe8, 0xfd, 0xe1, 0xe5, + 0xa6, 0x55, 0xbd, 0x38, 0x6b, 0x5e, 0xde, 0xed, 0x36, 0x0f, 0xae, 0x53, 0xa3, 0xc3, 0xc1, 0x6e, + 0xe6, 0xbe, 0xfc, 0xfc, 0x7e, 0x37, 0x39, 0xdd, 0x6f, 0xdd, 0x0e, 0xf7, 0x2c, 0xf5, 0x24, 0x75, + 0x87, 0xbc, 0x9f, 0x69, 0x1f, 0x3c, 0x1e, 0x9c, 0x9f, 0x9d, 0xd9, 0x2f, 0x7d, 0xb5, 0xe1, 0x14, + 0x4c, 0xb3, 0x3c, 0xd2, 0xcc, 0x69, 0x3b, 0xe7, 0xbc, 0xef, 0x57, 0x8e, 0x2b, 0xd3, 0xc1, 0xec, + 0xe8, 0x72, 0x6f, 0xf7, 0x34, 0xdf, 0x3a, 0xec, 0x97, 0xae, 0xaf, 0xb2, 0xb9, 0x5d, 0xf5, 0x2a, + 0xff, 0x74, 0x3e, 0xc9, 0x59, 0x7b, 0x07, 0xce, 0xc3, 0xdd, 0xde, 0xe3, 0x59, 0x8a, 0xd8, 0xfa, + 0x38, 0x7f, 0x54, 0xbd, 0x9e, 0xbe, 0xf5, 0x86, 0xed, 0x3d, 0xbd, 0x7d, 0x7e, 0xf6, 0x72, 0x78, + 0x77, 0x60, 0xbe, 0xbd, 0x3d, 0xb7, 0xf5, 0x87, 0x56, 0x5f, 0xd6, 0x06, 0x0f, 0xe3, 0xea, 0xe4, + 0x2e, 0x5f, 0x7c, 0xbb, 0x3d, 0x7a, 0xbb, 0xaa, 0xbe, 0xbf, 0xdd, 0x59, 0x67, 0xe5, 0xd7, 0xb7, + 0xd3, 0x97, 0xca, 0xd3, 0xcb, 0xf3, 0x7b, 0x5f, 0xce, 0x9a, 0xed, 0x6a, 0x6a, 0x76, 0x5d, 0xb1, + 0x1f, 0x9f, 0xcd, 0xa7, 0xe9, 0xe9, 0xa1, 0x7a, 0x70, 0x72, 0x7b, 0x61, 0x1f, 0x4f, 0x26, 0xe6, + 0xec, 0xa6, 0x50, 0xe8, 0xef, 0x5f, 0xea, 0xf7, 0x99, 0x14, 0x01, 0x46, 0xea, 0x1e, 0xed, 0x65, + 0x72, 0xda, 0x75, 0x7e, 0xd4, 0x2a, 0xce, 0xb2, 0x6f, 0xef, 0xc7, 0xef, 0xce, 0xe3, 0xdd, 0xc5, + 0xd5, 0x7e, 0xc9, 0xe8, 0x3e, 0x9d, 0xc8, 0x57, 0x6f, 0x77, 0xea, 0xc3, 0x89, 0xd3, 0x3f, 0x3d, + 0x3c, 0x3d, 0x3f, 0x3e, 0x7b, 0x2a, 0xc9, 0xdd, 0x29, 0x79, 0x9a, 0xe9, 0xed, 0x76, 0xca, 0x3e, + 0x38, 0x3d, 0x7d, 0xbb, 0xd0, 0xe5, 0x87, 0xf7, 0x9c, 0x75, 0xe6, 0x9c, 0xb7, 0x77, 0xaf, 0x1f, + 0xae, 0xf4, 0x27, 0x67, 0x78, 0xa2, 0x14, 0x1e, 0xde, 0x0e, 0x6e, 0x8c, 0x76, 0xa6, 0x3a, 0x1c, + 0x8e, 0x66, 0x9d, 0xeb, 0xfb, 0x71, 0x59, 0xed, 0x35, 0x2f, 0xc6, 0x8f, 0x96, 0x36, 0x78, 0xef, + 0xef, 0x9d, 0xed, 0x8d, 0xc1, 0xd2, 0x4d, 0x55, 0x8e, 0x8a, 0xd3, 0x97, 0xd3, 0x6a, 0xa1, 0xd2, + 0xd9, 0x23, 0x4e, 0xea, 0x40, 0x79, 0xec, 0xb5, 0x52, 0x67, 0xaf, 0x46, 0xe6, 0xc1, 0x49, 0x8d, + 0x5b, 0x9d, 0x37, 0xc5, 0x7a, 0x2b, 0xbd, 0x3e, 0xdf, 0xb6, 0x5f, 0x0b, 0x17, 0xca, 0xe9, 0x9b, + 0x79, 0xd9, 0x7e, 0xdd, 0xdf, 0x37, 0x6d, 0xa5, 0x53, 0x3d, 0xcb, 0x5a, 0x37, 0x17, 0x8f, 0x27, + 0xfd, 0xab, 0xb6, 0xf5, 0x30, 0xdb, 0xeb, 0x3e, 0xbd, 0x90, 0x92, 0xb3, 0x7b, 0xdd, 0x78, 0x77, + 0x5e, 0xdb, 0x4f, 0x4d, 0x79, 0xb2, 0x47, 0x0a, 0x77, 0xfa, 0x85, 0x6a, 0x0e, 0xf5, 0x67, 0xd0, + 0x56, 0x46, 0x99, 0xd1, 0x4b, 0xaf, 0x74, 0xda, 0x2b, 0x8f, 0x49, 0x36, 0x9b, 0x3b, 0x1a, 0xf5, + 0xaa, 0xb9, 0xfd, 0x71, 0xa6, 0x4c, 0xf4, 0xdd, 0x4c, 0x4a, 0xbf, 0x2a, 0x9b, 0x6d, 0x50, 0x33, + 0xaf, 0x4f, 0x9e, 0xdb, 0xaa, 0xfc, 0xd2, 0x6c, 0x99, 0xc6, 0x45, 0x15, 0x10, 0xbf, 0x7d, 0x7d, + 0x29, 0x9f, 0x9c, 0x4f, 0xcc, 0xf6, 0x43, 0xdf, 0x30, 0x1b, 0xed, 0x81, 0xd3, 0xbe, 0x7c, 0x78, + 0x9d, 0x39, 0x8d, 0x83, 0xfc, 0x69, 0x2a, 0xf3, 0x66, 0xc8, 0xad, 0x46, 0xeb, 0xe2, 0x21, 0x77, + 0x98, 0x6b, 0x9f, 0xf5, 0x74, 0x7b, 0x60, 0xee, 0x16, 0x94, 0x6a, 0x77, 0xf8, 0x5e, 0xce, 0x1c, + 0x4d, 0x33, 0x99, 0x6e, 0x27, 0x7f, 0xf9, 0x78, 0xf1, 0x5c, 0x00, 0x5e, 0x9d, 0x3d, 0xde, 0xdd, + 0xe7, 0xba, 0x4f, 0x37, 0xf6, 0x5e, 0xb5, 0xfc, 0x76, 0x7a, 0x56, 0xae, 0xbe, 0x29, 0xef, 0x23, + 0x40, 0xed, 0x38, 0x3b, 0xbe, 0x7a, 0xbc, 0x2d, 0xe7, 0xcb, 0xc5, 0xf6, 0x43, 0xeb, 0xd0, 0xe8, + 0xec, 0x1a, 0xbd, 0xbd, 0x1c, 0x39, 0xbe, 0x79, 0x3f, 0x91, 0x3b, 0xe7, 0x4d, 0x19, 0xb4, 0xb5, + 0xc9, 0xb5, 0xdc, 0xef, 0x8d, 0x47, 0xad, 0xee, 0xb8, 0x9b, 0x2d, 0xf4, 0xb2, 0x23, 0xe0, 0xfa, + 0xb3, 0xab, 0xfd, 0xfc, 0xc9, 0xc9, 0xd1, 0x59, 0x69, 0xd4, 0xec, 0x66, 0xf4, 0xa2, 0x5e, 0xe9, + 0xe6, 0x8b, 0x77, 0x97, 0xa7, 0x57, 0x7a, 0x49, 0x1f, 0x58, 0xb0, 0x40, 0x5a, 0xf7, 0x79, 0xa5, + 0x9b, 0xd7, 0xdf, 0x73, 0xea, 0xad, 0x7a, 0x71, 0x56, 0xc8, 0x16, 0xf6, 0x75, 0xd2, 0x3b, 0xcb, + 0x9c, 0x1c, 0x9e, 0x69, 0x0f, 0xcf, 0xce, 0xf3, 0x83, 0xf2, 0x66, 0xec, 0x0f, 0x0a, 0xd3, 0xd6, + 0xcb, 0xd8, 0x3e, 0x6c, 0x67, 0x4a, 0xc3, 0xaa, 0xa5, 0x1c, 0x68, 0xf6, 0xd9, 0xb0, 0x30, 0x3a, + 0x7a, 0xbd, 0x7e, 0xd0, 0xc6, 0xe5, 0xdb, 0xcc, 0x84, 0x3c, 0xbf, 0xbf, 0x1c, 0x1d, 0x91, 0xf2, + 0xf4, 0x59, 0xbd, 0x7b, 0x37, 0x4f, 0x8a, 0x0f, 0x8d, 0x87, 0xdd, 0xb3, 0xbd, 0x8b, 0xc9, 0xcd, + 0xe9, 0x74, 0x72, 0xf3, 0xa4, 0x1f, 0x18, 0x8f, 0x87, 0xd3, 0x8e, 0x72, 0x3a, 0xbd, 0x28, 0xed, + 0xdd, 0x54, 0x76, 0x2f, 0xf4, 0x9c, 0x51, 0xbd, 0x78, 0x83, 0x11, 0x76, 0xc6, 0x96, 0x52, 0xbc, + 0xd5, 0x8f, 0x5f, 0x1e, 0xcf, 0x77, 0xb5, 0xe1, 0xf1, 0xc1, 0x73, 0x7e, 0x76, 0xf5, 0xf4, 0x98, + 0x3f, 0x77, 0xaa, 0xe3, 0xe2, 0x70, 0x78, 0x34, 0x9a, 0x3c, 0x8d, 0xc7, 0xd3, 0xab, 0x31, 0xb1, + 0xce, 0xaa, 0xa4, 0x35, 0xb6, 0xdf, 0x1f, 0x2f, 0x5e, 0xee, 0x1e, 0xad, 0xd7, 0xf6, 0x5b, 0xe7, + 0xf0, 0xf2, 0xfe, 0x21, 0xd7, 0xde, 0x6f, 0xef, 0x1d, 0x9e, 0xaa, 0xf9, 0xf3, 0xb3, 0xfb, 0xdb, + 0x87, 0xf7, 0xf7, 0x87, 0xa3, 0x83, 0x62, 0x61, 0x77, 0x94, 0xc9, 0x59, 0x8d, 0xec, 0xdb, 0xab, + 0x51, 0xd2, 0xaa, 0xbd, 0x83, 0xfe, 0x7d, 0x7b, 0x77, 0x64, 0xf5, 0xee, 0x77, 0x1f, 0x0e, 0x0e, + 0xb4, 0xfb, 0x87, 0xec, 0xa8, 0x3f, 0xbd, 0x9c, 0x74, 0xec, 0x54, 0xe5, 0x21, 0x93, 0x01, 0xf9, + 0xf4, 0x7c, 0xa2, 0x92, 0x33, 0xad, 0xfa, 0xf0, 0xd8, 0xa8, 0x90, 0xc3, 0xb3, 0x62, 0xc7, 0xda, + 0x2d, 0xf7, 0x06, 0x97, 0xe7, 0xb3, 0xa9, 0x56, 0x69, 0xbf, 0x5c, 0x3f, 0x1c, 0xbe, 0xec, 0x66, + 0xdb, 0x0f, 0x19, 0xe3, 0xb5, 0x74, 0xd7, 0x79, 0x23, 0xba, 0x6d, 0x95, 0x0f, 0x2a, 0x47, 0xe5, + 0x91, 0x63, 0x0f, 0xbb, 0x6f, 0xc6, 0xd1, 0xf0, 0xbd, 0x5a, 0xb5, 0xc6, 0x33, 0xb2, 0x9f, 0xb9, + 0x7a, 0x07, 0x05, 0xa1, 0x30, 0x1c, 0xdf, 0x3f, 0x9e, 0xbd, 0xcc, 0x9e, 0x2a, 0xe3, 0xca, 0x4b, + 0xf1, 0x71, 0xf0, 0x4c, 0x8e, 0xf2, 0xca, 0xd5, 0x63, 0xb9, 0xd8, 0x35, 0xd5, 0xcb, 0x22, 0xb9, + 0xc8, 0x5c, 0xbe, 0x4f, 0x3a, 0x87, 0xe5, 0xf7, 0xd7, 0x9e, 0xe6, 0x64, 0xec, 0x6e, 0x91, 0x94, + 0x9f, 0x3a, 0x6f, 0xed, 0x4b, 0x63, 0xd2, 0xbb, 0xe9, 0xe7, 0x72, 0x37, 0xc5, 0x62, 0xa5, 0xa8, + 0x38, 0xb9, 0xf1, 0xe3, 0x63, 0xa5, 0xfc, 0x90, 0x7d, 0x92, 0xfb, 0xd7, 0x72, 0xb9, 0x5a, 0xa8, + 0x96, 0xc9, 0xd3, 0x6d, 0x76, 0xff, 0x75, 0x66, 0xec, 0xbf, 0x9d, 0x3f, 0x81, 0x0e, 0x78, 0xd4, + 0xad, 0x5c, 0x8f, 0x4f, 0x0f, 0xad, 0x9b, 0xc3, 0x52, 0xfb, 0xe4, 0xe9, 0x76, 0xaf, 0xd9, 0x7c, + 0x7e, 0x3a, 0xdc, 0x7f, 0xe8, 0x0c, 0x8b, 0x87, 0x59, 0x20, 0x63, 0x4e, 0x2d, 0x16, 0x9e, 0xaa, + 0x0f, 0x8e, 0xba, 0x3b, 0x7a, 0xd5, 0xae, 0x8a, 0xe5, 0x27, 0x67, 0xf7, 0xf9, 0xbc, 0xf1, 0xa0, + 0x8d, 0x72, 0xbd, 0xa7, 0xf7, 0xbd, 0xf3, 0xf2, 0x75, 0xaa, 0x78, 0x00, 0x92, 0xbc, 0x95, 0xbf, + 0x7c, 0x2f, 0xbe, 0xc0, 0x1a, 0x76, 0xac, 0x74, 0x9c, 0xf6, 0xc3, 0x95, 0x31, 0x19, 0x5d, 0xf7, + 0x2f, 0x66, 0x47, 0xda, 0xe8, 0x54, 0x53, 0x26, 0xd5, 0x89, 0xde, 0xbe, 0x1c, 0x3a, 0x23, 0xe5, + 0xc5, 0xc8, 0xdc, 0xb7, 0x26, 0x55, 0x90, 0xc8, 0xad, 0x9b, 0xc9, 0x79, 0x67, 0x04, 0x6c, 0xf9, + 0x3c, 0x39, 0x18, 0x0c, 0x4a, 0x76, 0x79, 0x60, 0xbf, 0x59, 0xea, 0x43, 0xd3, 0xee, 0x37, 0x72, + 0x76, 0x5e, 0x3f, 0x00, 0xb5, 0xb9, 0x70, 0x5c, 0xbe, 0x4c, 0x29, 0xf6, 0x74, 0x32, 0x7d, 0x6e, + 0x3b, 0x67, 0x67, 0x72, 0x7e, 0xbf, 0xda, 0x1e, 0x74, 0x6e, 0x4a, 0x4f, 0xef, 0xd5, 0xe1, 0x71, + 0xfb, 0x40, 0xbe, 0xab, 0x96, 0x4e, 0xe5, 0xe9, 0x61, 0xa3, 0xdc, 0x9e, 0x56, 0x67, 0x29, 0x2d, + 0x97, 0xc9, 0x94, 0xf3, 0x2f, 0xa9, 0xa3, 0x9c, 0x2a, 0xef, 0x1f, 0x76, 0x73, 0xe5, 0x51, 0xe3, + 0xfe, 0xe2, 0x38, 0xf3, 0x30, 0x68, 0x3e, 0x8d, 0x1e, 0xde, 0x8e, 0xf7, 0x94, 0xa7, 0xa9, 0xd2, + 0xb5, 0x65, 0xad, 0x73, 0x7f, 0x70, 0x9f, 0xea, 0x5e, 0x6a, 0x47, 0xc3, 0xdd, 0x69, 0xe6, 0xed, + 0xb2, 0xdc, 0x29, 0x65, 0x46, 0xcf, 0x8f, 0xb2, 0x73, 0x43, 0xee, 0x9c, 0x93, 0xeb, 0x71, 0xa9, + 0x30, 0x03, 0xf6, 0x6d, 0x8c, 0x1f, 0x4b, 0xd3, 0x3d, 0xf2, 0xde, 0x78, 0xcc, 0x54, 0x1e, 0x86, + 0x95, 0x66, 0x7f, 0x90, 0xa9, 0x16, 0x2f, 0xab, 0x97, 0x53, 0xfb, 0xa2, 0xf9, 0xa4, 0xdb, 0x8f, + 0x0f, 0xd7, 0xa9, 0xb2, 0xd9, 0x7c, 0xaf, 0x64, 0x2e, 0xce, 0x9f, 0x8b, 0xe5, 0xe7, 0xc6, 0xf1, + 0xe1, 0x7e, 0xf7, 0x76, 0x92, 0x52, 0xcc, 0xca, 0x7d, 0xea, 0x38, 0x7f, 0x71, 0x77, 0x4f, 0x60, + 0x4e, 0x4d, 0xd4, 0x71, 0x4a, 0xeb, 0x74, 0xde, 0x5e, 0xb2, 0xe5, 0xdc, 0x63, 0xf9, 0x69, 0x52, + 0xec, 0x9f, 0x34, 0xee, 0xae, 0x0f, 0x9f, 0xae, 0xae, 0x4b, 0xd7, 0xb3, 0xe9, 0x4d, 0xaf, 0x4f, + 0x9a, 0xa9, 0xeb, 0x4e, 0xf1, 0x41, 0x6f, 0x9c, 0x37, 0x1b, 0x47, 0x07, 0xe3, 0xd2, 0xed, 0x89, + 0x43, 0x9c, 0xbc, 0xa9, 0x67, 0x2a, 0xf9, 0x76, 0xe1, 0xa9, 0xd9, 0x38, 0xde, 0x1d, 0xe7, 0x8b, + 0x46, 0xcf, 0xbc, 0xbd, 0x99, 0x39, 0xc5, 0xab, 0x17, 0xd0, 0x49, 0x6f, 0x2b, 0xa7, 0x4f, 0x8d, + 0xfd, 0xeb, 0xd3, 0x8a, 0x7e, 0xd0, 0xdf, 0xed, 0x80, 0x5a, 0x7c, 0x37, 0x01, 0xde, 0x7f, 0x3b, + 0x6a, 0xed, 0x9e, 0x1a, 0xfb, 0x87, 0xe5, 0xd3, 0xe7, 0xeb, 0xb3, 0x73, 0xf3, 0xc5, 0x28, 0x8e, + 0x06, 0x4a, 0xe6, 0xea, 0x38, 0x37, 0x1b, 0xed, 0x3e, 0x5c, 0x36, 0x6f, 0x5b, 0x7b, 0xcf, 0xca, + 0x8b, 0xf9, 0x76, 0x5d, 0xaa, 0xa4, 0x9e, 0x95, 0x6c, 0xe5, 0xa5, 0x7f, 0xd8, 0x7f, 0x3a, 0xbf, + 0xad, 0xe8, 0xbb, 0x83, 0x97, 0xd3, 0xce, 0x81, 0x75, 0xda, 0x7c, 0x3a, 0x28, 0xcd, 0x4e, 0x5b, + 0xcf, 0x37, 0x67, 0x07, 0x45, 0xe7, 0xa6, 0xf8, 0x74, 0x3a, 0xb8, 0x7b, 0x7f, 0xbf, 0x78, 0x38, + 0x2f, 0xe6, 0x86, 0xbb, 0xe3, 0xd1, 0xd5, 0xb9, 0x7a, 0x56, 0x9e, 0x5e, 0x4d, 0x0b, 0x77, 0xca, + 0x4d, 0xff, 0x40, 0x3d, 0x79, 0x6e, 0xdc, 0x1f, 0xd8, 0x9d, 0xe7, 0xdc, 0xd1, 0xdd, 0xf1, 0xe0, + 0xee, 0xaa, 0xb3, 0xaf, 0x1c, 0x15, 0x1f, 0x1e, 0xf6, 0xc6, 0xe3, 0xe1, 0xb8, 0x7b, 0xd5, 0xd3, + 0x8a, 0xa7, 0x4a, 0x73, 0x7c, 0x59, 0x31, 0xb2, 0xa9, 0xde, 0x41, 0x73, 0xb7, 0x5d, 0x1a, 0x8c, + 0x47, 0x67, 0xef, 0x15, 0xed, 0xfc, 0xe6, 0x72, 0xd2, 0x7b, 0xb9, 0xba, 0xa8, 0xa8, 0x8a, 0x55, + 0x95, 0x6f, 0x9a, 0x4d, 0xf5, 0xa6, 0x79, 0x62, 0xe5, 0x47, 0xfd, 0xb7, 0xa3, 0x5e, 0xe9, 0xec, + 0xad, 0x7f, 0xf7, 0xf4, 0x64, 0x17, 0x07, 0xef, 0xe3, 0x51, 0xd5, 0x39, 0x3f, 0xbe, 0xbc, 0xb3, + 0x32, 0x53, 0x73, 0x7c, 0x63, 0x5f, 0xdc, 0x8f, 0xbb, 0xcf, 0x19, 0x33, 0x35, 0xdc, 0xad, 0xe8, + 0xe5, 0xfb, 0x1c, 0x48, 0x45, 0xf9, 0x36, 0xa5, 0xdc, 0x0c, 0xae, 0xcc, 0x8b, 0x81, 0x7d, 0x71, + 0x70, 0xf9, 0x36, 0x35, 0xf6, 0x73, 0x23, 0xd9, 0x1e, 0xbd, 0xdd, 0xaa, 0x66, 0x7f, 0x5a, 0xac, + 0x1c, 0x9f, 0x34, 0xa8, 0x27, 0xb0, 0x9e, 0x14, 0x7a, 0x86, 0x35, 0x54, 0x9c, 0xc4, 0x77, 0x34, + 0xa0, 0xbe, 0x27, 0x17, 0x35, 0xcb, 0x30, 0x9c, 0xf9, 0xe6, 0x66, 0x67, 0x33, 0x5b, 0xfb, 0x9a, + 0xcd, 0x66, 0xb7, 0xf0, 0xb1, 0x57, 0xfb, 0xda, 0xeb, 0xf5, 0xe8, 0x63, 0xae, 0x86, 0xfe, 0x57, + 0xfa, 0x98, 0xaf, 0x7d, 0xcd, 0xe7, 0xf3, 0xf4, 0xb1, 0x50, 0xfb, 0x5a, 0x28, 0x14, 0xe8, 0x63, + 0xb1, 0xf6, 0xb5, 0x58, 0x2c, 0xd2, 0xc7, 0x52, 0xed, 0x6b, 0xa9, 0x54, 0xa2, 0x8f, 0x95, 0xda, + 0xd7, 0x4a, 0xa5, 0x42, 0x1f, 0xdb, 0xb5, 0xaf, 0xed, 0x76, 0x9b, 0x3e, 0x76, 0x6a, 0x5f, 0x3b, + 0x9d, 0x0e, 0x7d, 0x24, 0xb5, 0xaf, 0x84, 0x10, 0xfa, 0xd8, 0xad, 0x7d, 0xed, 0x76, 0xbb, 0xf4, + 0xd1, 0x82, 0x02, 0x79, 0xd6, 0x5b, 0x1f, 0x3a, 0xee, 0x30, 0x70, 0x34, 0xe8, 0xad, 0xa2, 0xd0, + 0xc7, 0x59, 0xed, 0xab, 0x52, 0x95, 0xe1, 0xd1, 0x81, 0x76, 0xe5, 0x34, 0xeb, 0xd7, 0xa8, 0x59, + 0xfd, 0xb6, 0x92, 0xc8, 0x17, 0x24, 0xc1, 0xfb, 0x27, 0xa7, 0xab, 0x49, 0x9a, 0xe7, 0xb4, 0x97, + 0x33, 0xc1, 0xae, 0x4f, 0xd0, 0x16, 0x92, 0x5e, 0x19, 0x85, 0x15, 0xca, 0xca, 0x39, 0x49, 0x08, + 0xfe, 0x2c, 0x97, 0x1b, 0xb0, 0x72, 0xc5, 0xac, 0x24, 0x78, 0xff, 0xc2, 0x85, 0x9c, 0x41, 0xad, + 0x2c, 0x9b, 0x53, 0x7c, 0x32, 0xbd, 0x27, 0xa8, 0x55, 0xca, 0xb3, 0xb4, 0xb6, 0x59, 0xcb, 0x16, + 0xcc, 0xa9, 0xc0, 0xfe, 0xc8, 0xee, 0x13, 0x96, 0x81, 0x9c, 0x2a, 0xbc, 0xca, 0x42, 0x19, 0xff, + 0xd2, 0x5a, 0xdd, 0x9a, 0x6e, 0xe8, 0x48, 0x22, 0xbb, 0x6f, 0xd6, 0xc4, 0x36, 0xba, 0x47, 0x44, + 0xcc, 0x18, 0x3a, 0x35, 0xa8, 0xb9, 0x40, 0xef, 0xfd, 0x9c, 0xfa, 0x13, 0x36, 0x15, 0xe6, 0x42, + 0x19, 0x2a, 0xa0, 0xff, 0x8f, 0x34, 0xea, 0x81, 0x58, 0xb4, 0x8d, 0xee, 0x6c, 0x3e, 0x54, 0xac, + 0xbe, 0xaa, 0xd7, 0xe4, 0x2d, 0xf4, 0x31, 0xf5, 0x2d, 0x63, 0xa4, 0x77, 0x99, 0x7f, 0xbd, 0xc6, + 0xc0, 0x86, 0x51, 0x4f, 0x6e, 0xf1, 0xf6, 0xf6, 0x11, 0xd1, 0xc6, 0xc4, 0x51, 0x3b, 0x8a, 0x74, + 0x4f, 0xac, 0xae, 0xa2, 0x2b, 0x92, 0xad, 0xe8, 0xf6, 0xa6, 0x4d, 0x2c, 0xb5, 0xc7, 0x0a, 0xda, + 0xea, 0x3b, 0xa9, 0x65, 0x01, 0xca, 0xad, 0x70, 0x43, 0xbd, 0xe4, 0x16, 0xfa, 0x8b, 0x37, 0x15, + 0x4d, 0xed, 0xeb, 0xb5, 0x0e, 0x41, 0x7f, 0xc2, 0x16, 0xba, 0xe2, 0x5f, 0x55, 0x67, 0x93, 0x81, + 0x89, 0x5e, 0x4f, 0xf4, 0xeb, 0x30, 0xb4, 0xdc, 0xac, 0x11, 0xb4, 0x0d, 0xed, 0x6b, 0xa4, 0xe3, + 0x65, 0x0c, 0x8d, 0xf7, 0xb8, 0x54, 0x7b, 0x39, 0x71, 0xb9, 0x94, 0xd7, 0x9f, 0x62, 0x6e, 0x0e, + 0xd4, 0xfe, 0x40, 0x43, 0xff, 0x93, 0x8b, 0xb1, 0x63, 0x01, 0x26, 0xa6, 0x62, 0x01, 0x64, 0x5b, + 0x76, 0xc7, 0x32, 0x34, 0xad, 0xad, 0x58, 0x6c, 0xff, 0xa2, 0x56, 0x02, 0x74, 0x82, 0xb4, 0x30, + 0x62, 0x76, 0x3b, 0x29, 0x70, 0x75, 0x29, 0x61, 0x25, 0x4a, 0x7c, 0xe6, 0xda, 0xac, 0x65, 0x65, + 0xf9, 0x5f, 0x5b, 0xac, 0x1d, 0xfa, 0x68, 0x1a, 0xb6, 0x4a, 0xc7, 0xa3, 0xa7, 0x4e, 0x49, 0x77, + 0xcb, 0x80, 0x65, 0x95, 0xb5, 0xbd, 0xd9, 0x26, 0x03, 0x65, 0xac, 0x42, 0xdb, 0x08, 0xec, 0xe2, + 0x6b, 0xbb, 0xcf, 0x35, 0x31, 0x1e, 0x04, 0x6d, 0x8c, 0x27, 0xd1, 0x46, 0xde, 0x37, 0x55, 0xbd, + 0x4b, 0xa6, 0xb5, 0xcd, 0x6c, 0x68, 0x2c, 0xfd, 0x52, 0x2e, 0xbd, 0xb9, 0x2c, 0x8b, 0x98, 0x44, + 0x41, 0xb2, 0xb8, 0x4f, 0x7c, 0x1e, 0x1d, 0xc3, 0x0e, 0x02, 0xb6, 0x65, 0x98, 0x4a, 0x47, 0x75, + 0x66, 0xc0, 0x22, 0x14, 0x47, 0xd6, 0x9a, 0x9b, 0x28, 0xe4, 0xec, 0x85, 0xe9, 0xf1, 0x10, 0xe5, + 0x56, 0x59, 0xc8, 0xe1, 0xdf, 0x85, 0x22, 0x29, 0xb5, 0xb1, 0x0a, 0xa5, 0x49, 0x57, 0x32, 0xe7, + 0x61, 0x7a, 0x75, 0x93, 0x7c, 0xf6, 0x9c, 0x32, 0x45, 0x97, 0x74, 0x0c, 0x8b, 0xf2, 0x25, 0x43, + 0xbd, 0x3d, 0x72, 0x1c, 0x43, 0x9f, 0x03, 0x33, 0x68, 0xaa, 0x4e, 0xa0, 0xf3, 0xce, 0xc8, 0xb2, + 0xa1, 0x0d, 0xd3, 0x50, 0x11, 0x8f, 0x45, 0x5a, 0x53, 0xda, 0x44, 0xb3, 0x03, 0xfe, 0x35, 0x95, + 0x6e, 0x57, 0xd5, 0xfb, 0xb5, 0x0a, 0x07, 0xc4, 0x57, 0xdc, 0xfa, 0xa1, 0x05, 0xe7, 0x11, 0x6a, + 0xb5, 0x0d, 0x68, 0x7e, 0x58, 0x03, 0x7e, 0xeb, 0x24, 0x18, 0x58, 0xed, 0x41, 0x52, 0x48, 0x09, + 0x30, 0xcc, 0xc9, 0x2d, 0x8b, 0x52, 0xbc, 0xb4, 0xc4, 0xc0, 0x95, 0x64, 0x04, 0x8a, 0xad, 0x89, + 0x05, 0x8d, 0xea, 0x7d, 0x60, 0xc8, 0x2e, 0xa9, 0x01, 0xb1, 0x70, 0x5e, 0x68, 0x9b, 0x96, 0xb6, + 0x48, 0xb7, 0x2d, 0x75, 0xee, 0x81, 0x04, 0x13, 0x78, 0x91, 0x9e, 0x58, 0xe8, 0xe7, 0xb2, 0xa2, + 0x80, 0x38, 0x86, 0x09, 0xc0, 0x6b, 0xa4, 0x07, 0x53, 0xd6, 0xed, 0x98, 0x1f, 0x3f, 0xbf, 0x6f, + 0xa7, 0x9d, 0xf4, 0x87, 0x38, 0xbb, 0x48, 0xe3, 0x06, 0x94, 0x1d, 0xe7, 0x07, 0x63, 0x33, 0x10, + 0x3d, 0x66, 0x40, 0x47, 0x90, 0xe3, 0x1a, 0x37, 0x27, 0x73, 0x00, 0xc8, 0x17, 0x75, 0x88, 0xbb, + 0x75, 0x0a, 0xb0, 0x38, 0x12, 0x76, 0xd3, 0x63, 0x2f, 0x2e, 0xbd, 0xab, 0xda, 0xa6, 0xa6, 0xcc, + 0x6a, 0xaa, 0x4e, 0x4b, 0x50, 0xb1, 0xb2, 0x48, 0xc3, 0x60, 0x84, 0xa9, 0xd1, 0x4f, 0x06, 0x75, + 0x20, 0xbb, 0xd7, 0x8b, 0xe4, 0x97, 0xb8, 0x7c, 0x8f, 0x6e, 0x60, 0xe9, 0x29, 0x23, 0xcd, 0xe1, + 0x2b, 0xc2, 0x48, 0x08, 0x0c, 0x1d, 0x29, 0x0d, 0xc4, 0x70, 0x9f, 0xbd, 0x71, 0xdd, 0xa4, 0x03, + 0x29, 0x14, 0xe8, 0x70, 0xa6, 0x07, 0xa3, 0xbe, 0xeb, 0xfc, 0xa3, 0xf8, 0x14, 0x72, 0x48, 0x58, + 0x53, 0x03, 0xce, 0xb6, 0x66, 0xc2, 0x6d, 0x63, 0xf7, 0x6c, 0x5f, 0x4a, 0xdb, 0xa4, 0xef, 0xcc, + 0x1d, 0xdc, 0xd5, 0xdb, 0x74, 0x9d, 0xc4, 0x8c, 0xd0, 0xc1, 0xf4, 0x5b, 0xd0, 0x32, 0xc2, 0xed, + 0x9e, 0x3f, 0x40, 0xb4, 0x13, 0x0e, 0xda, 0x25, 0x31, 0xc5, 0xf5, 0xb2, 0x27, 0xf9, 0xd5, 0x39, + 0x69, 0x87, 0xd2, 0xdb, 0x6b, 0x4d, 0xde, 0xf2, 0x39, 0x81, 0xb5, 0x31, 0x54, 0xbb, 0x5d, 0x8d, + 0x2c, 0xd2, 0xaf, 0x64, 0xe6, 0xb8, 0xec, 0xce, 0x32, 0x70, 0xd8, 0x17, 0xe9, 0xb1, 0xa2, 0x85, + 0x93, 0x29, 0x1b, 0xb8, 0xe9, 0x82, 0xca, 0x75, 0x63, 0xc3, 0x78, 0x02, 0x6f, 0xd9, 0xd4, 0x03, + 0x4d, 0x37, 0x21, 0x03, 0x76, 0x52, 0xda, 0xb6, 0xa1, 0x8d, 0x1c, 0xc2, 0x78, 0x09, 0x66, 0x81, + 0xc7, 0xe3, 0x45, 0x24, 0x12, 0x88, 0x40, 0x56, 0x9e, 0xce, 0x61, 0x5c, 0xe1, 0x99, 0xb4, 0x83, + 0xa5, 0x80, 0x3c, 0x26, 0x00, 0xfa, 0xe4, 0x22, 0x4d, 0x68, 0x09, 0x29, 0xdd, 0x77, 0x7f, 0xbd, + 0x3a, 0x52, 0xa8, 0xc3, 0xc8, 0x0c, 0x58, 0x9a, 0xd9, 0x6e, 0xf5, 0xf9, 0x32, 0x23, 0x2e, 0x83, + 0x8a, 0xcc, 0x8f, 0x90, 0x32, 0xbe, 0xaf, 0xd0, 0xd1, 0x34, 0xcc, 0x18, 0x9c, 0xe2, 0x58, 0xd2, + 0x9d, 0x3a, 0xee, 0x9c, 0xa1, 0x35, 0x37, 0x3b, 0x31, 0x75, 0x57, 0x2e, 0x6c, 0xb9, 0x24, 0x90, + 0xc8, 0x02, 0xc4, 0x6a, 0x59, 0x18, 0x7f, 0x28, 0xad, 0x76, 0x05, 0x6e, 0xaa, 0xb3, 0xbc, 0x4d, + 0x4b, 0xe9, 0xaa, 0x23, 0xbb, 0x96, 0xc3, 0x95, 0xda, 0x9f, 0x80, 0xb4, 0xef, 0xbc, 0x0f, 0x79, + 0xbe, 0xc8, 0x0d, 0x3f, 0x24, 0x0b, 0x28, 0x84, 0xa0, 0xd1, 0xc8, 0xdc, 0x0b, 0xcd, 0xb8, 0x5c, + 0xc1, 0x45, 0x77, 0xb3, 0x23, 0xc0, 0xc2, 0xa1, 0x87, 0x98, 0xb1, 0xc4, 0xc6, 0x4c, 0xb1, 0x60, + 0x4d, 0x5c, 0x31, 0xcc, 0x1e, 0xed, 0xe8, 0x70, 0x67, 0xa1, 0x92, 0xcb, 0xe1, 0xb4, 0xa3, 0x50, + 0x1f, 0xd4, 0x7b, 0xff, 0x51, 0x33, 0x0c, 0x91, 0x2a, 0xca, 0xbc, 0x88, 0xa0, 0xed, 0x69, 0xd6, + 0x7c, 0x79, 0x21, 0xf7, 0xd9, 0xc8, 0x32, 0x70, 0x93, 0x20, 0x21, 0x27, 0xf9, 0xe5, 0xc1, 0xcf, + 0x16, 0xd2, 0x79, 0x7b, 0xc5, 0xc0, 0x07, 0xe2, 0x8e, 0x13, 0xdd, 0xc0, 0x85, 0x53, 0x53, 0xc2, + 0x3f, 0x0a, 0x50, 0xba, 0x2b, 0xd0, 0xde, 0x97, 0x3a, 0xcb, 0x56, 0xe4, 0x2e, 0xe9, 0x03, 0xaf, + 0xa9, 0xda, 0x3c, 0x96, 0x35, 0xe2, 0x27, 0xe0, 0x57, 0x4d, 0x1d, 0x13, 0x8c, 0x57, 0xf0, 0x16, + 0xd5, 0x82, 0x4f, 0x35, 0xba, 0x2c, 0xbb, 0xdc, 0x20, 0x07, 0x05, 0x73, 0x7b, 0x5e, 0xd1, 0xaa, + 0xbf, 0x82, 0x57, 0xb9, 0x92, 0x2b, 0x50, 0x2b, 0x42, 0x11, 0x3a, 0x2e, 0xf8, 0x10, 0x33, 0xe3, + 0x12, 0x9b, 0x90, 0x21, 0xe1, 0x1f, 0xc0, 0x01, 0x64, 0xd5, 0x7c, 0x89, 0x47, 0x79, 0x55, 0x64, + 0x79, 0x8a, 0xc1, 0xcc, 0x5e, 0xb1, 0xa0, 0xf9, 0x4b, 0x09, 0x8f, 0xd6, 0xaa, 0x09, 0x00, 0x6b, + 0x0a, 0xed, 0x5e, 0x70, 0x17, 0xdb, 0xb5, 0x50, 0xf4, 0x34, 0x03, 0x94, 0x05, 0x6c, 0xdd, 0xc3, + 0x9e, 0xea, 0x53, 0xdc, 0xa0, 0xd3, 0x3a, 0x38, 0xe0, 0x52, 0xb4, 0x21, 0xca, 0x05, 0x6b, 0x75, + 0xc3, 0x4e, 0x72, 0x6b, 0xa8, 0xea, 0xae, 0xae, 0x55, 0xa0, 0x6c, 0x8b, 0x8b, 0x81, 0x0b, 0x98, + 0xc7, 0x20, 0xae, 0x26, 0xdd, 0x36, 0xa1, 0xb4, 0xbb, 0xee, 0xb3, 0x05, 0x24, 0xb6, 0x5c, 0x1b, + 0xcb, 0xb9, 0x93, 0xa2, 0xf8, 0x2f, 0xae, 0x46, 0x80, 0x72, 0x6d, 0x80, 0x2a, 0xce, 0x7c, 0x0d, + 0x85, 0x06, 0xc9, 0x08, 0xa4, 0x24, 0x44, 0xb3, 0x34, 0x2a, 0xd6, 0x63, 0xb2, 0xae, 0x05, 0x25, + 0xb4, 0x0e, 0x46, 0x26, 0xd2, 0xe2, 0xc3, 0x06, 0x4a, 0xeb, 0xab, 0x63, 0xa8, 0x8b, 0x02, 0x8c, + 0x6f, 0x81, 0x85, 0x06, 0x2a, 0x18, 0x3f, 0xee, 0xec, 0x91, 0x53, 0x71, 0xf4, 0xe4, 0xef, 0x98, + 0x91, 0xf4, 0xc4, 0x03, 0xcd, 0xc2, 0x14, 0x61, 0xd3, 0x33, 0x52, 0xcc, 0xa4, 0xff, 0x0c, 0xa8, + 0x7b, 0x64, 0xde, 0x44, 0xa6, 0xf6, 0x4b, 0xc4, 0x72, 0x34, 0xd7, 0x8d, 0x2a, 0xc9, 0xc9, 0x8c, + 0xe0, 0x77, 0xb9, 0x49, 0xfb, 0x4c, 0xae, 0xd6, 0x72, 0x91, 0x9c, 0x6e, 0xc4, 0xce, 0x9c, 0xe3, + 0x32, 0x9f, 0xc1, 0x2d, 0x82, 0x06, 0xcb, 0x98, 0xac, 0xc0, 0x0d, 0xdf, 0x33, 0x5e, 0x6f, 0x28, + 0xb6, 0xa7, 0xc8, 0x65, 0xc8, 0x06, 0xae, 0x04, 0x87, 0x94, 0x60, 0xc2, 0x22, 0x14, 0xd0, 0xc9, + 0xa4, 0xa6, 0x8c, 0x1c, 0x63, 0x8b, 0xd7, 0xcf, 0x57, 0xc1, 0x17, 0xac, 0xeb, 0x02, 0xb5, 0xc4, + 0x5c, 0x03, 0xc2, 0x6b, 0x68, 0x93, 0xd5, 0xc1, 0x02, 0xd4, 0x86, 0x59, 0x7c, 0xed, 0x4d, 0xa5, + 0xaf, 0xa6, 0xa2, 0x4d, 0xe0, 0x2f, 0xa2, 0x05, 0x3f, 0x6f, 0x1a, 0xfc, 0x19, 0x39, 0x2a, 0xfc, + 0x80, 0xee, 0xc0, 0x12, 0xe1, 0xc1, 0x4f, 0xc1, 0x87, 0x9c, 0x94, 0xee, 0xe9, 0x5d, 0xd0, 0x7b, + 0xa6, 0xee, 0x2c, 0xc8, 0x55, 0xe4, 0xd0, 0x0a, 0x92, 0x05, 0xe1, 0xbc, 0xe0, 0x9a, 0x09, 0xd7, + 0x9e, 0xe3, 0xf4, 0xf1, 0xc4, 0x1a, 0xae, 0x06, 0x9e, 0x52, 0x8e, 0xcb, 0x11, 0xe2, 0x8a, 0xea, + 0xb0, 0x5b, 0x58, 0x40, 0x0d, 0x46, 0xf5, 0xa7, 0x0b, 0x1d, 0x5d, 0x5c, 0x41, 0x18, 0xe8, 0x03, + 0x32, 0x05, 0xd0, 0x35, 0xd2, 0x1d, 0x2a, 0x26, 0x45, 0x44, 0x0b, 0x10, 0xa1, 0x9b, 0xf8, 0x2e, + 0x42, 0x6f, 0x1d, 0x7b, 0x73, 0xc2, 0x23, 0xc4, 0xf6, 0xc5, 0x25, 0x8c, 0x8f, 0x80, 0x85, 0x83, + 0xa2, 0x23, 0xa5, 0xd9, 0x46, 0xbc, 0x94, 0x36, 0x51, 0x15, 0xa7, 0xaa, 0x93, 0xfb, 0x40, 0x4b, + 0xfb, 0xea, 0x3b, 0x05, 0xd1, 0xc5, 0xce, 0x9f, 0xc6, 0x45, 0xaa, 0xfb, 0xc1, 0x84, 0xb5, 0x87, + 0x86, 0xe1, 0x0c, 0xe6, 0xb1, 0x0b, 0x0c, 0xc7, 0x78, 0x3d, 0x29, 0x9b, 0xfc, 0x3d, 0x5d, 0xb4, + 0x93, 0x02, 0x51, 0x6c, 0xb2, 0x09, 0xba, 0x1f, 0xe5, 0xad, 0x4d, 0x66, 0x01, 0xf8, 0x5d, 0xc9, + 0xc2, 0x26, 0x6d, 0xd9, 0x1b, 0xd8, 0x4d, 0x57, 0x76, 0xe2, 0xe8, 0x7a, 0xab, 0x89, 0x37, 0x05, + 0x50, 0xda, 0xe2, 0x48, 0x43, 0x5a, 0x54, 0xe2, 0xae, 0xb0, 0xed, 0x42, 0x0a, 0xfd, 0xca, 0x59, + 0x9d, 0x4f, 0x46, 0x75, 0x03, 0xaf, 0xe7, 0x9e, 0x46, 0xa6, 0x5b, 0x74, 0xd9, 0xda, 0x04, 0xeb, + 0x68, 0x68, 0x7b, 0x86, 0xdb, 0xcb, 0xc8, 0x76, 0xd4, 0xde, 0x6c, 0xd3, 0x9d, 0x29, 0x5e, 0xb2, + 0xaf, 0x92, 0x64, 0x7d, 0x43, 0x2d, 0x5d, 0x2d, 0xf2, 0x62, 0x39, 0x5d, 0xc6, 0x15, 0x98, 0x2e, + 0xe6, 0x9b, 0x04, 0xa3, 0x09, 0x6c, 0x77, 0xda, 0xd9, 0x8e, 0x32, 0x03, 0xd4, 0x25, 0xfa, 0x00, + 0x60, 0xfb, 0x4b, 0x29, 0x5b, 0x43, 0x7d, 0x74, 0x3d, 0x8e, 0x87, 0xfe, 0x3b, 0xaf, 0xb3, 0x20, + 0x9d, 0xbd, 0xf3, 0x6a, 0x33, 0x45, 0xdd, 0x83, 0x28, 0xb7, 0x15, 0x1a, 0x5c, 0x36, 0xc2, 0x5e, + 0xa7, 0x73, 0x4e, 0x39, 0xf5, 0x38, 0x67, 0xfe, 0xc9, 0x1e, 0xfd, 0xb5, 0x6e, 0xf1, 0x95, 0xf4, + 0x7a, 0x60, 0xd9, 0x1f, 0x1e, 0x3c, 0x52, 0x3e, 0x84, 0xdf, 0x4f, 0xb7, 0x41, 0x61, 0xf5, 0xbb, + 0x16, 0x3c, 0x73, 0x92, 0x9f, 0x12, 0xf9, 0xd0, 0xf4, 0x0b, 0xe9, 0xde, 0xdc, 0x34, 0xcd, 0xcb, + 0xb2, 0x39, 0x8d, 0x2a, 0x8b, 0x38, 0xa0, 0xcb, 0xf2, 0x2b, 0xc2, 0x6f, 0xd4, 0x7a, 0x61, 0xed, + 0xa1, 0x71, 0xe8, 0x69, 0x1a, 0x79, 0x39, 0xd0, 0xe5, 0xe8, 0x33, 0x27, 0x12, 0xe8, 0xfb, 0x72, + 0xc3, 0x1e, 0xc9, 0x01, 0x21, 0x55, 0xef, 0x19, 0x82, 0xdb, 0xaa, 0x14, 0xa0, 0xe7, 0x82, 0xbd, + 0x46, 0x17, 0x5e, 0x44, 0x0b, 0x23, 0x4c, 0xc0, 0x1b, 0xed, 0x50, 0xc2, 0x9c, 0xa9, 0x9b, 0x54, + 0x3f, 0xf5, 0xe6, 0x39, 0x9b, 0xe2, 0xab, 0xdb, 0x2e, 0x2c, 0xe9, 0xd2, 0x25, 0x4e, 0x45, 0x2d, + 0x85, 0x30, 0x64, 0xd4, 0xe4, 0x0c, 0x67, 0xb4, 0xe4, 0x63, 0x30, 0xf6, 0x78, 0x3d, 0x1b, 0xe7, + 0x94, 0x00, 0x11, 0x20, 0xa0, 0x32, 0xa8, 0x58, 0x12, 0xeb, 0x05, 0x53, 0x24, 0x4e, 0x27, 0x2d, + 0xda, 0x1e, 0xf4, 0xf3, 0x40, 0xa5, 0xf7, 0x57, 0x86, 0x01, 0x68, 0x8b, 0x44, 0x5f, 0xb8, 0x78, + 0x09, 0xa0, 0x88, 0x18, 0x9a, 0xa3, 0x9a, 0x68, 0xa0, 0x79, 0x72, 0x2b, 0x94, 0x38, 0x47, 0x47, + 0x46, 0x5b, 0xd5, 0x10, 0x1e, 0x56, 0x77, 0xf5, 0xbc, 0x2f, 0xba, 0x0b, 0xd4, 0x40, 0xe9, 0x42, + 0x4f, 0x88, 0x9f, 0xef, 0xe7, 0xc3, 0x07, 0xce, 0xe7, 0xf6, 0x09, 0xdf, 0x19, 0x4f, 0xa6, 0xca, + 0x12, 0x13, 0x96, 0x02, 0xe5, 0xb6, 0x14, 0x62, 0x1b, 0x5f, 0x55, 0x0d, 0x70, 0x77, 0x39, 0xb2, + 0xc2, 0xeb, 0xad, 0xee, 0xd2, 0x4f, 0xdf, 0x37, 0xab, 0x6c, 0x18, 0x96, 0xa4, 0xc8, 0x7a, 0xef, + 0x50, 0xba, 0x8c, 0x94, 0x8e, 0xa1, 0xa3, 0x37, 0xfd, 0xb3, 0x39, 0x34, 0xc7, 0x63, 0x0a, 0xd4, + 0x6a, 0x4a, 0x8f, 0x32, 0x57, 0x0c, 0xbd, 0xdd, 0xbc, 0xb9, 0x27, 0x09, 0x45, 0x71, 0x85, 0x1a, + 0x4e, 0xe5, 0x71, 0x3c, 0x3e, 0xc5, 0x80, 0x5c, 0x8c, 0x46, 0x5c, 0x02, 0x33, 0x5a, 0xa9, 0x3d, + 0xe8, 0x25, 0x45, 0x07, 0x91, 0x77, 0xf7, 0xad, 0x7a, 0x0e, 0xf0, 0xea, 0x0c, 0x48, 0xe7, 0x95, + 0xa9, 0x9a, 0xb1, 0xdc, 0x14, 0x93, 0xc5, 0xf3, 0x14, 0x7d, 0xd4, 0x38, 0x9e, 0x07, 0xe6, 0x55, + 0xba, 0x24, 0x86, 0xed, 0x22, 0x83, 0x41, 0x55, 0x34, 0x1a, 0x60, 0xfd, 0x84, 0xf6, 0x99, 0x3b, + 0xe3, 0x02, 0x7b, 0x4b, 0xc6, 0x59, 0x60, 0xd9, 0xce, 0x9c, 0xd3, 0xf2, 0x90, 0x15, 0x17, 0x5f, + 0x1d, 0x43, 0x81, 0xe4, 0xa0, 0xb9, 0xf5, 0xfc, 0xbc, 0xc2, 0x86, 0xce, 0x25, 0xb9, 0x89, 0x8d, + 0x56, 0xd3, 0x27, 0x58, 0x3a, 0xcc, 0xc2, 0xbc, 0x59, 0x9d, 0x0b, 0x09, 0x82, 0xb0, 0xcf, 0xb3, + 0xb8, 0xd6, 0xda, 0x7a, 0xa4, 0xe6, 0x56, 0x72, 0xa5, 0xcf, 0x0f, 0x5b, 0x4e, 0x46, 0xcd, 0x93, + 0xb8, 0x15, 0x93, 0x91, 0x25, 0x6d, 0x0f, 0x8c, 0xc9, 0x3c, 0x10, 0x40, 0x8a, 0xae, 0x0e, 0x99, + 0xe3, 0x12, 0x47, 0x45, 0xd5, 0xa9, 0xb0, 0x09, 0x1e, 0x85, 0x1c, 0xfe, 0xb1, 0x08, 0x6a, 0x97, + 0x7e, 0x13, 0x34, 0x28, 0x94, 0x6b, 0x63, 0x89, 0xbe, 0x5f, 0xdb, 0xb9, 0xf8, 0x96, 0x17, 0xe9, + 0xa1, 0xd1, 0x55, 0x96, 0xfc, 0x99, 0x9e, 0xbe, 0xe1, 0x59, 0x81, 0x9e, 0x69, 0x8d, 0x43, 0xca, + 0x21, 0xec, 0x0c, 0x50, 0xbf, 0xcf, 0x22, 0xbe, 0x2b, 0x87, 0xd4, 0x88, 0x55, 0xf0, 0x9f, 0x12, + 0xcc, 0x74, 0x88, 0x37, 0xf2, 0x0b, 0x36, 0x6f, 0xc4, 0xf3, 0xb4, 0xc4, 0xd7, 0x90, 0xce, 0x8d, + 0xfe, 0x08, 0xc3, 0x26, 0x7f, 0x6d, 0xa1, 0x76, 0xad, 0x4f, 0xe6, 0x18, 0xa3, 0x6b, 0x9c, 0xf4, + 0x55, 0x37, 0xba, 0xc4, 0xf6, 0xe5, 0x77, 0x61, 0xf1, 0xd5, 0xa2, 0xb6, 0x9c, 0x97, 0x90, 0x5f, + 0x7c, 0xd5, 0xbb, 0x9a, 0xe3, 0x3b, 0xa7, 0x5d, 0x8f, 0x30, 0x2d, 0x04, 0x4a, 0x48, 0xac, 0x23, + 0x36, 0x42, 0xa9, 0x94, 0x50, 0x44, 0x4a, 0xb1, 0x25, 0x6f, 0xd9, 0x33, 0xf2, 0x15, 0x04, 0x90, + 0x0e, 0x9d, 0x7d, 0xd6, 0xb7, 0x1c, 0x34, 0x56, 0xe0, 0xf8, 0xba, 0xb8, 0x24, 0xb8, 0x69, 0xca, + 0x12, 0x43, 0xe0, 0xa6, 0x96, 0xef, 0xe3, 0xcf, 0x85, 0x17, 0x7a, 0xde, 0x6a, 0xa0, 0x0b, 0x68, + 0x60, 0x4b, 0x67, 0x0b, 0xd8, 0x1c, 0x47, 0xbe, 0xc0, 0x0e, 0x0e, 0x35, 0x41, 0x17, 0x77, 0xae, + 0x09, 0x37, 0x97, 0x3a, 0x52, 0x3f, 0x70, 0xa7, 0xb2, 0x91, 0x88, 0x2b, 0x4a, 0x6d, 0x2c, 0xbe, + 0x24, 0x6b, 0xb3, 0x3b, 0x8f, 0x68, 0x42, 0xe8, 0xf8, 0xf1, 0x5a, 0xe9, 0xf2, 0x6e, 0xd5, 0x5c, + 0x40, 0xa8, 0x50, 0x59, 0x06, 0x79, 0xdb, 0xd1, 0xbd, 0xe1, 0x2d, 0x86, 0x21, 0xa6, 0x79, 0x12, + 0x0f, 0x58, 0xa8, 0xb4, 0x87, 0x7b, 0x57, 0x1d, 0x73, 0xa4, 0x2b, 0x54, 0xe5, 0xc0, 0x6e, 0xf2, + 0x2c, 0x12, 0xd6, 0x44, 0xb8, 0x60, 0xb5, 0x12, 0x53, 0x90, 0x36, 0xf8, 0x55, 0x1d, 0xf6, 0x27, + 0x5e, 0x2f, 0x15, 0xd7, 0xf2, 0x5a, 0x7c, 0xd5, 0xf8, 0xda, 0x25, 0x3a, 0x42, 0xb1, 0x4e, 0x76, + 0xb0, 0xbd, 0x14, 0xcb, 0x99, 0x2f, 0xfb, 0x54, 0xaa, 0x21, 0xf7, 0x49, 0xb0, 0x33, 0x61, 0x91, + 0xee, 0x02, 0xba, 0xe4, 0x5a, 0xa7, 0x6b, 0x1e, 0xbe, 0x72, 0xe6, 0xc9, 0x22, 0x3d, 0x51, 0xe7, + 0xf4, 0xe8, 0xca, 0x26, 0x2c, 0x4c, 0x30, 0xd8, 0xc8, 0x77, 0x26, 0x0c, 0x23, 0x4e, 0xec, 0xee, + 0x56, 0x34, 0xa7, 0x63, 0x01, 0x6c, 0x9b, 0xa4, 0xdb, 0x27, 0xb6, 0xa7, 0x87, 0xd2, 0x55, 0xe1, + 0x3f, 0x5e, 0xc9, 0xac, 0x67, 0x81, 0xf5, 0x66, 0x0b, 0x4c, 0x1e, 0xcd, 0x7b, 0x96, 0x31, 0x9c, + 0xfb, 0x32, 0xc7, 0x5f, 0x2e, 0x16, 0x8e, 0x31, 0x5f, 0x2f, 0x6c, 0x83, 0xa5, 0xcc, 0xd3, 0x80, + 0x5d, 0x7a, 0xf8, 0x8b, 0xfa, 0xf7, 0xef, 0xab, 0x16, 0xf5, 0x9c, 0xe7, 0xf4, 0x0c, 0x79, 0x8e, + 0xbd, 0xd5, 0x2d, 0x3c, 0x79, 0x56, 0xeb, 0xa0, 0x94, 0x88, 0x71, 0x0a, 0x4d, 0xb0, 0x8f, 0x86, + 0x3b, 0xa9, 0x7d, 0xde, 0xd9, 0xf2, 0x95, 0xce, 0x12, 0x21, 0x02, 0x31, 0x2d, 0x45, 0xab, 0x72, + 0xfd, 0x32, 0xf5, 0x73, 0xb3, 0x8f, 0xbd, 0x61, 0x2c, 0x78, 0x15, 0x1d, 0x96, 0xd2, 0x57, 0x59, + 0x06, 0xe3, 0x33, 0x5b, 0xfc, 0x97, 0x04, 0x03, 0x07, 0xed, 0xf5, 0xff, 0xb1, 0xf6, 0xbe, 0xca, + 0x3d, 0x19, 0x1a, 0x6c, 0xff, 0x83, 0x0d, 0xca, 0x88, 0xf1, 0xe4, 0x9f, 0x6b, 0xb0, 0xd7, 0xc3, + 0x06, 0x5f, 0x63, 0x1a, 0x94, 0xbe, 0x4e, 0xda, 0x8a, 0x16, 0xed, 0xe5, 0xe3, 0xb6, 0x7b, 0xbd, + 0x4a, 0x2f, 0xdb, 0x13, 0x64, 0xda, 0xb6, 0x80, 0x2e, 0xd5, 0xaf, 0x9d, 0x76, 0xb7, 0x4d, 0xfb, + 0x61, 0x5e, 0x8c, 0x01, 0x35, 0x62, 0x58, 0xa7, 0x92, 0xef, 0xd5, 0x95, 0x38, 0xff, 0x2e, 0x75, + 0x66, 0x08, 0x5f, 0xad, 0x7e, 0x9b, 0x95, 0x71, 0xbd, 0x1a, 0xfe, 0x32, 0x01, 0x36, 0x14, 0xcb, + 0x40, 0x10, 0x25, 0x46, 0x0f, 0x89, 0x73, 0xa9, 0x4b, 0x69, 0xd2, 0x85, 0xc5, 0x8b, 0x3d, 0x9a, + 0x0e, 0x68, 0x6e, 0xde, 0xcc, 0x76, 0x8d, 0x6c, 0x8a, 0x53, 0x7b, 0xd4, 0x46, 0xe1, 0xc8, 0x79, + 0xe8, 0x97, 0x4d, 0x9a, 0x58, 0x47, 0x76, 0x84, 0x69, 0xe5, 0x78, 0xee, 0xce, 0xc7, 0x98, 0x0b, + 0xfc, 0x76, 0x42, 0x21, 0xbc, 0x26, 0x17, 0x82, 0x8d, 0x0b, 0x78, 0xe2, 0xa4, 0x4d, 0xa0, 0x51, + 0x0a, 0xe9, 0x1c, 0x68, 0x2d, 0xe8, 0x46, 0x91, 0x7c, 0x65, 0xde, 0x4b, 0xe1, 0xd4, 0xcc, 0x65, + 0x15, 0xd4, 0x9b, 0x99, 0x0b, 0x90, 0xff, 0xe6, 0xc8, 0x09, 0xe1, 0x4f, 0x15, 0xa7, 0xb5, 0x8a, + 0x2d, 0x77, 0x76, 0x81, 0x1e, 0x5d, 0xf8, 0x39, 0xf7, 0xb4, 0x03, 0xdc, 0x3c, 0x55, 0x20, 0xad, + 0x43, 0x18, 0xe7, 0xf1, 0xbb, 0xe9, 0xfe, 0xbe, 0xdb, 0xea, 0x60, 0x86, 0x90, 0x3f, 0x3d, 0xbc, + 0x8c, 0x2f, 0xf5, 0x59, 0xeb, 0x19, 0x9d, 0x91, 0x1d, 0x6c, 0x3d, 0xc7, 0x94, 0x08, 0x94, 0x16, + 0xb6, 0x33, 0x66, 0x8d, 0x74, 0x9d, 0x2e, 0x7c, 0xd0, 0x4f, 0xe7, 0x75, 0xce, 0x01, 0xc7, 0x1b, + 0xf5, 0x91, 0xad, 0x33, 0x6e, 0x20, 0xd1, 0xcb, 0xf5, 0x71, 0x2f, 0xce, 0x60, 0x34, 0x6c, 0xfb, + 0x01, 0x01, 0xbc, 0x7d, 0xb7, 0xac, 0x43, 0x84, 0xfc, 0xfe, 0x3c, 0x5f, 0x44, 0x80, 0x58, 0x45, + 0x5f, 0xce, 0x24, 0x00, 0x75, 0x38, 0x16, 0x38, 0x8c, 0xc2, 0xa0, 0x2f, 0xeb, 0xb1, 0x5e, 0x1a, + 0x0b, 0x1a, 0x20, 0x83, 0x47, 0xc0, 0xe0, 0x7f, 0xc9, 0x8f, 0x5a, 0xa6, 0x28, 0x7b, 0xde, 0x5b, + 0xd7, 0xc0, 0xe0, 0x07, 0xf3, 0x7f, 0x48, 0x8d, 0x58, 0x4d, 0x17, 0x15, 0xb5, 0xc5, 0x57, 0x7a, + 0x2c, 0xc8, 0x16, 0xfe, 0xea, 0xb0, 0x54, 0x02, 0x40, 0x02, 0x9b, 0x9c, 0xce, 0xc2, 0xb0, 0x75, + 0x94, 0x0d, 0x39, 0xd7, 0xa9, 0xfe, 0xb2, 0xa6, 0xc7, 0x15, 0x14, 0x89, 0x6b, 0xd6, 0x6f, 0x87, + 0xd7, 0xec, 0xdc, 0x99, 0x51, 0xf0, 0x3c, 0xaa, 0x83, 0xee, 0x3c, 0xc6, 0xd5, 0xf9, 0xb5, 0x6d, + 0xa9, 0xac, 0xb8, 0xaf, 0x3f, 0xe6, 0x4a, 0xe5, 0x58, 0xfd, 0x91, 0xdb, 0x12, 0x68, 0x0f, 0x1d, + 0xa8, 0xca, 0x7c, 0xc3, 0xbc, 0x29, 0x59, 0x09, 0x45, 0x1b, 0x70, 0x2a, 0x2a, 0xba, 0x23, 0x16, + 0x54, 0x1f, 0xe3, 0x8d, 0x06, 0x3e, 0x8a, 0xa4, 0x10, 0x71, 0x81, 0x85, 0xbd, 0xe0, 0x4b, 0x3b, + 0x62, 0x4b, 0x33, 0x2b, 0xec, 0x6e, 0x2a, 0x86, 0xa4, 0xdc, 0x66, 0x77, 0xe4, 0x06, 0x9a, 0xe0, + 0xae, 0x94, 0x37, 0x96, 0xc8, 0x1e, 0x78, 0xb6, 0x68, 0x73, 0x59, 0xa4, 0xf9, 0x21, 0x43, 0xcb, + 0xbc, 0x92, 0xef, 0x32, 0x46, 0x66, 0xe6, 0xd4, 0x8a, 0xfa, 0x6b, 0xeb, 0x45, 0xbc, 0x4e, 0xcc, + 0x24, 0xf6, 0x13, 0x89, 0xa6, 0xa9, 0xa6, 0xad, 0xda, 0xab, 0x8d, 0xec, 0x7c, 0x72, 0x9d, 0x93, + 0xd9, 0xf5, 0xa8, 0x53, 0xe5, 0x77, 0xd3, 0x66, 0x7e, 0x06, 0x29, 0xd8, 0x06, 0x88, 0x4b, 0xcd, + 0x85, 0x93, 0xf1, 0xc5, 0xdb, 0x25, 0x5b, 0x05, 0x43, 0x31, 0xb9, 0xce, 0x41, 0xb0, 0x60, 0xed, + 0xcd, 0x43, 0xfa, 0xa9, 0xbf, 0x79, 0x07, 0x59, 0x74, 0x67, 0xda, 0x8b, 0xf7, 0xf0, 0x5c, 0x62, + 0x9b, 0x59, 0xea, 0xa2, 0x8f, 0xdd, 0xc8, 0x5d, 0x11, 0xa1, 0x82, 0x6d, 0xe9, 0xf3, 0xb0, 0xe7, + 0xd4, 0x55, 0xd1, 0x2b, 0x1e, 0xdf, 0x63, 0x19, 0xcf, 0xce, 0xc9, 0xe6, 0xb8, 0x32, 0x45, 0x16, + 0x61, 0x42, 0xf3, 0xa1, 0xb7, 0x6e, 0x57, 0xf2, 0x9e, 0xbb, 0x44, 0x63, 0xcf, 0x53, 0x0f, 0x07, + 0xdc, 0x5f, 0xe1, 0x38, 0x9b, 0xdb, 0x75, 0x89, 0xc6, 0x90, 0xf8, 0x03, 0xd9, 0x81, 0x71, 0x5c, + 0x78, 0xad, 0xb8, 0x5d, 0xb2, 0xd0, 0x16, 0x04, 0x8b, 0x1f, 0xa5, 0x20, 0x5f, 0xe6, 0xec, 0x1c, + 0x4c, 0x5e, 0x49, 0xff, 0x42, 0x64, 0x9c, 0x3d, 0xfc, 0xf2, 0xc5, 0xc0, 0xae, 0x4a, 0x63, 0x53, + 0x61, 0x13, 0x88, 0xaf, 0x12, 0x65, 0x8a, 0x25, 0x76, 0x98, 0xaf, 0xdb, 0xca, 0x58, 0xc3, 0x9d, + 0xab, 0x48, 0x1a, 0x04, 0x6e, 0x4d, 0x06, 0xaa, 0x43, 0x36, 0x41, 0x9e, 0xd3, 0xa5, 0x07, 0xc5, + 0xcf, 0x82, 0x69, 0x61, 0x4b, 0x6e, 0xa9, 0x34, 0x24, 0x73, 0xc4, 0x8b, 0x2a, 0x47, 0x85, 0x15, + 0x66, 0x95, 0x27, 0x49, 0x38, 0x2b, 0x81, 0x3e, 0x87, 0xa2, 0x31, 0x2a, 0x6e, 0xfb, 0x6d, 0xff, + 0x80, 0x6a, 0xc4, 0x47, 0x1d, 0x2a, 0x1d, 0x2c, 0x31, 0x1c, 0xd2, 0xa8, 0x85, 0x32, 0xc5, 0x73, + 0x1e, 0x91, 0xec, 0x2c, 0x00, 0x71, 0x1e, 0xf5, 0xd7, 0xfa, 0x24, 0x88, 0x88, 0xb7, 0x75, 0xa4, + 0xfe, 0x9c, 0xe8, 0xf3, 0x97, 0xca, 0xa5, 0x58, 0x97, 0x50, 0x3c, 0x4b, 0xac, 0x50, 0x2c, 0xfe, + 0x73, 0x42, 0x71, 0x95, 0x72, 0x41, 0x97, 0xb3, 0x68, 0xe2, 0xdf, 0x95, 0xa0, 0xf1, 0x12, 0x73, + 0xf1, 0xd5, 0x71, 0xe6, 0x31, 0x71, 0x5c, 0x1d, 0x6d, 0x99, 0x93, 0xd1, 0x48, 0x71, 0xc7, 0x88, + 0x06, 0x3d, 0x99, 0x12, 0xff, 0xa2, 0x85, 0xdf, 0xc8, 0x9c, 0x97, 0x18, 0x5b, 0xcb, 0x4a, 0x4f, + 0x01, 0x59, 0xb5, 0xab, 0x8e, 0x59, 0xf9, 0xf9, 0x92, 0xa2, 0x1f, 0xe4, 0x7d, 0xc6, 0x8f, 0x6d, + 0xb9, 0x56, 0x3c, 0x8e, 0x16, 0x70, 0x53, 0x2e, 0x08, 0xf4, 0x91, 0x03, 0x87, 0xae, 0x3b, 0xb4, + 0x9e, 0xee, 0x1d, 0xa3, 0x26, 0x79, 0x83, 0xef, 0x99, 0xcb, 0xab, 0x8b, 0xb8, 0x2b, 0x77, 0x84, + 0x7f, 0xc0, 0xa4, 0x8a, 0x50, 0x61, 0x99, 0xb6, 0x5c, 0x01, 0xbb, 0x1f, 0xa6, 0x12, 0x4f, 0x9a, + 0x8f, 0xb6, 0x8b, 0x62, 0x8c, 0x19, 0x5e, 0x49, 0xd4, 0x41, 0xfd, 0x21, 0xd6, 0x4f, 0x89, 0x4b, + 0x42, 0x50, 0x7e, 0xce, 0x3f, 0x69, 0x17, 0x7d, 0x76, 0x82, 0x64, 0xf9, 0x8d, 0xa8, 0xca, 0xb2, + 0x0e, 0xc2, 0x99, 0x4d, 0xcb, 0xe1, 0x2e, 0x39, 0x7b, 0x2b, 0x88, 0x5c, 0x8d, 0x99, 0x05, 0x08, + 0x71, 0x4f, 0x25, 0x5a, 0x77, 0x69, 0x2a, 0x04, 0x39, 0x71, 0x89, 0x31, 0x84, 0x58, 0x0a, 0x1c, + 0x74, 0xd9, 0xa3, 0x28, 0x87, 0xd5, 0x76, 0x46, 0xa4, 0xe5, 0x51, 0x5b, 0x6e, 0x91, 0xd9, 0x3f, + 0x4b, 0x04, 0x76, 0xcd, 0xa2, 0x18, 0x32, 0x97, 0xe2, 0x06, 0x28, 0x50, 0x93, 0x55, 0x5d, 0xc7, + 0x5d, 0x15, 0x13, 0x04, 0x22, 0x0b, 0x9a, 0x91, 0xd6, 0x95, 0x06, 0xba, 0x85, 0x4b, 0xaf, 0x32, + 0x01, 0x99, 0xa8, 0x15, 0x96, 0x50, 0x74, 0xbd, 0x6c, 0x64, 0xb8, 0x84, 0x3d, 0xb3, 0xcf, 0x23, + 0xa1, 0x23, 0xc2, 0xa6, 0x80, 0x06, 0x79, 0x72, 0x81, 0x45, 0x60, 0x26, 0x28, 0x71, 0x18, 0xe6, + 0x62, 0x18, 0x69, 0xb9, 0x1d, 0x5c, 0x81, 0xfc, 0x6d, 0x96, 0xaa, 0x1c, 0xef, 0xd8, 0x5d, 0xa5, + 0xb8, 0x83, 0x12, 0x15, 0xb0, 0x8c, 0x45, 0x28, 0xa3, 0x51, 0xb9, 0x18, 0xe1, 0x3b, 0xce, 0x6f, + 0xbc, 0x48, 0x2b, 0xa6, 0x8a, 0x28, 0xb9, 0x5d, 0x96, 0x01, 0xe7, 0x5a, 0x8d, 0x4d, 0xc3, 0xf0, + 0x14, 0xf3, 0xe1, 0xc6, 0x88, 0x2f, 0x4a, 0x05, 0x4f, 0xdf, 0xca, 0xba, 0xfa, 0x56, 0x48, 0x59, + 0xc7, 0x6d, 0x7a, 0x9f, 0x52, 0xc8, 0x48, 0x7c, 0x56, 0x38, 0x92, 0x63, 0xbe, 0xbc, 0x7c, 0xc7, + 0x6c, 0xeb, 0x7c, 0x52, 0xcb, 0x8d, 0xc6, 0x47, 0x86, 0x82, 0xba, 0x69, 0x02, 0xe7, 0xe8, 0x2c, + 0xc7, 0xee, 0x85, 0xbb, 0xf0, 0xd1, 0xc0, 0x41, 0x1f, 0xc8, 0x15, 0x61, 0x84, 0xb2, 0x17, 0xea, + 0xbd, 0xc9, 0xe2, 0x2d, 0xdb, 0xfe, 0xfe, 0x3f, 0x5d, 0xd5, 0x65, 0xdc, 0x28, 0x11, 0x72, 0xf2, + 0x52, 0x58, 0x88, 0xdd, 0xf7, 0x03, 0xcb, 0xc2, 0xe1, 0xfc, 0x11, 0x20, 0xe6, 0x54, 0x73, 0x61, + 0x31, 0xca, 0xfe, 0x3b, 0x46, 0xaa, 0xaa, 0xdd, 0x4f, 0x05, 0x74, 0x46, 0x5c, 0xbe, 0xcb, 0x64, + 0x0d, 0xf3, 0x24, 0x8e, 0xad, 0x4e, 0x26, 0x80, 0xf3, 0x3c, 0x1c, 0x6e, 0x8d, 0xe1, 0xe2, 0x3e, + 0x66, 0x25, 0x5f, 0xeb, 0x4c, 0x4f, 0x03, 0x8d, 0x96, 0x0b, 0x1a, 0x2d, 0x14, 0x42, 0x5a, 0x31, + 0x2d, 0xe6, 0x2b, 0x63, 0xb5, 0x60, 0xfd, 0x41, 0xbe, 0xf0, 0xbd, 0xae, 0x74, 0xc7, 0xa0, 0x63, + 0x83, 0xfa, 0x38, 0x0d, 0x34, 0xd5, 0x65, 0x26, 0xef, 0xf2, 0x31, 0xe3, 0x7e, 0x79, 0x68, 0x3d, + 0xba, 0x17, 0xcb, 0x17, 0xf3, 0x83, 0xf8, 0x25, 0xaa, 0x00, 0x52, 0x32, 0xb8, 0x1b, 0xe8, 0x94, + 0x7d, 0x99, 0xa9, 0xc0, 0x59, 0xc0, 0x52, 0x7c, 0x2a, 0x4d, 0x89, 0x2d, 0x1b, 0x4d, 0x84, 0x21, + 0xb2, 0x1d, 0x7b, 0x39, 0xea, 0x35, 0xb0, 0xa2, 0xa1, 0xc4, 0xc4, 0x5a, 0x0a, 0x78, 0x5f, 0x8a, + 0x9d, 0x55, 0x40, 0xeb, 0x5b, 0x8e, 0xd9, 0xeb, 0xf2, 0xe7, 0x11, 0x82, 0x38, 0x65, 0x7f, 0x7f, + 0x83, 0x8f, 0x87, 0xee, 0x59, 0xef, 0x6e, 0xcc, 0x45, 0xfc, 0x1e, 0xbe, 0xc7, 0x35, 0x11, 0x35, + 0x90, 0x3b, 0x2a, 0x40, 0x77, 0x9f, 0xa5, 0x34, 0xca, 0x20, 0x63, 0x55, 0x88, 0x8f, 0xef, 0x84, + 0x8c, 0x22, 0x60, 0x91, 0x71, 0x67, 0xf0, 0xaa, 0x85, 0x54, 0x57, 0xe4, 0x1e, 0x1a, 0xf1, 0xec, + 0x6a, 0xb9, 0xfe, 0x06, 0x40, 0xd8, 0xf6, 0x5f, 0xdc, 0xee, 0x09, 0x4b, 0xf5, 0x65, 0x56, 0x3b, + 0x08, 0x50, 0xdb, 0x74, 0xe7, 0x04, 0x85, 0x92, 0x09, 0x73, 0x17, 0x56, 0xf6, 0x12, 0x43, 0xa8, + 0xc0, 0xfd, 0x18, 0x41, 0xda, 0xd7, 0x87, 0x5c, 0x05, 0xc9, 0x6d, 0x15, 0x3a, 0xf2, 0xf0, 0xc7, + 0xc7, 0x98, 0x16, 0x79, 0x91, 0xc3, 0xf9, 0x68, 0xd9, 0xd6, 0x63, 0x34, 0xb2, 0xf6, 0x6f, 0x19, + 0x42, 0x39, 0x18, 0xf6, 0x00, 0x82, 0xd0, 0x54, 0xe7, 0xcd, 0x12, 0x2e, 0x8c, 0x3b, 0xf7, 0x81, + 0x17, 0x6b, 0xd9, 0xb1, 0xc9, 0xa1, 0x3b, 0x5f, 0xd6, 0x65, 0x16, 0xa1, 0x30, 0x04, 0x4a, 0xdb, + 0xff, 0x5e, 0xa2, 0x4f, 0x38, 0x37, 0x00, 0x78, 0xad, 0x79, 0xef, 0x37, 0xe2, 0xc5, 0x6c, 0xf8, + 0xf5, 0x3e, 0xa3, 0xe0, 0x86, 0xdd, 0xe5, 0x8c, 0x0d, 0xa2, 0x4d, 0xb2, 0x19, 0x50, 0x75, 0x87, + 0x24, 0x18, 0xa5, 0x62, 0x40, 0xba, 0x6c, 0xb0, 0xdc, 0xd6, 0xa2, 0xaa, 0x6b, 0x38, 0xd2, 0x03, + 0xd8, 0x0f, 0x86, 0x27, 0xcf, 0xec, 0xfd, 0xf8, 0xfe, 0x00, 0x05, 0xc3, 0x29, 0x14, 0xe7, 0xcb, + 0x46, 0x8e, 0xbb, 0x72, 0x14, 0x8a, 0x18, 0x7f, 0x4e, 0x8f, 0x9c, 0xad, 0xca, 0x5b, 0x91, 0xee, + 0xb2, 0x81, 0xb0, 0x44, 0x24, 0x6f, 0xbb, 0x96, 0x43, 0xc9, 0xe3, 0xc1, 0xe2, 0x72, 0x18, 0x4b, + 0x6d, 0xb3, 0xfc, 0x79, 0x2f, 0x27, 0x9d, 0x89, 0xc1, 0x50, 0xd3, 0x79, 0x19, 0xe2, 0x45, 0xb6, + 0xfe, 0x0d, 0xa2, 0x07, 0x5a, 0x3e, 0xb3, 0xe0, 0xb4, 0x3d, 0xdf, 0x22, 0xbf, 0x3f, 0x9b, 0x36, + 0x41, 0x81, 0xa1, 0xab, 0xef, 0xfc, 0x13, 0xa7, 0x2f, 0xe4, 0x25, 0x5b, 0x63, 0x2b, 0x72, 0x46, + 0x66, 0xbd, 0xb2, 0x5d, 0xb4, 0xa3, 0xb6, 0x6d, 0x96, 0x1d, 0x9f, 0xe8, 0x53, 0xe4, 0x70, 0x0b, + 0x96, 0xf3, 0xcb, 0xb8, 0x60, 0x86, 0x53, 0x69, 0x69, 0x21, 0x6d, 0x33, 0x59, 0x15, 0x2b, 0x64, + 0xcb, 0xde, 0x7c, 0xad, 0x06, 0xb1, 0x6f, 0xa0, 0x57, 0x60, 0x0d, 0xc9, 0x8f, 0xf4, 0x31, 0x68, + 0x03, 0xb1, 0x4e, 0x88, 0xc0, 0xa5, 0x9a, 0x06, 0x3d, 0x6d, 0x8b, 0x57, 0x34, 0x3c, 0x9f, 0x17, + 0x15, 0x8b, 0x51, 0xd4, 0x97, 0x74, 0xa2, 0x78, 0x97, 0x98, 0xc7, 0xaa, 0x0c, 0xb0, 0x5a, 0xdf, + 0x52, 0x66, 0x34, 0xf2, 0xc7, 0x0d, 0xdb, 0x88, 0x4f, 0x5e, 0xa4, 0xb5, 0xb6, 0xb6, 0xa9, 0x7d, + 0x3c, 0xee, 0x21, 0xf1, 0xcf, 0x6a, 0xd9, 0x2b, 0xd0, 0x0c, 0xa4, 0x7a, 0x29, 0xac, 0xc2, 0xe4, + 0xfd, 0x69, 0x5b, 0xa8, 0xfc, 0x2b, 0xee, 0x88, 0x95, 0xa6, 0xda, 0xce, 0xb2, 0xb9, 0xfc, 0xe1, + 0xd8, 0xbb, 0x13, 0xc2, 0x8f, 0x31, 0xa5, 0xd1, 0x74, 0x31, 0x47, 0x6d, 0x34, 0xdb, 0x39, 0x9e, + 0xc7, 0x04, 0xd6, 0xae, 0xdc, 0x95, 0x59, 0x66, 0xd8, 0xa8, 0x1a, 0xfb, 0xf9, 0x80, 0xd5, 0x28, + 0x7b, 0xc6, 0x84, 0x67, 0x6f, 0xf1, 0x11, 0xdc, 0x72, 0x9c, 0x83, 0x29, 0x14, 0xac, 0xe9, 0xb9, + 0xeb, 0x28, 0x5a, 0xe1, 0xb5, 0x94, 0x59, 0x00, 0xa4, 0x3b, 0x8f, 0xdd, 0x08, 0x5f, 0x78, 0x21, + 0xdb, 0x34, 0x0c, 0x9c, 0x49, 0x7c, 0x90, 0xbe, 0x4e, 0xe2, 0x8f, 0x8e, 0xa6, 0xd8, 0xf6, 0xef, + 0x75, 0xef, 0xf0, 0xcd, 0xcf, 0xa4, 0x44, 0x5b, 0x5f, 0x5b, 0x24, 0xae, 0x0f, 0x5c, 0x14, 0x3c, + 0x18, 0x78, 0xc1, 0xc3, 0x25, 0xfa, 0xf2, 0x87, 0x4b, 0x8c, 0x31, 0xf2, 0x63, 0x33, 0xa3, 0xe6, + 0xfe, 0xb2, 0xd7, 0x9b, 0x82, 0x1d, 0x90, 0x21, 0xb2, 0x8e, 0xaf, 0xf3, 0xa3, 0x86, 0x6b, 0x4a, + 0xee, 0x2b, 0x1d, 0xc5, 0x39, 0x1f, 0x2e, 0xe9, 0x87, 0x70, 0xa2, 0x3a, 0x13, 0x13, 0xbe, 0xb9, + 0x60, 0x21, 0xf3, 0x82, 0xdf, 0xd4, 0x4a, 0xf2, 0xb9, 0x71, 0xd0, 0x39, 0x6f, 0x71, 0x73, 0xe3, + 0xf0, 0x71, 0x32, 0x08, 0x31, 0x78, 0x54, 0x0a, 0xcb, 0xf9, 0x0c, 0xbc, 0xa0, 0x36, 0xc6, 0xec, + 0xaf, 0xad, 0x1e, 0x29, 0x10, 0xa9, 0x4f, 0x53, 0xbd, 0x03, 0x19, 0xde, 0xcc, 0xf7, 0x8f, 0x9e, + 0xc7, 0x59, 0x3b, 0x58, 0x61, 0xad, 0x31, 0xb8, 0x6c, 0xea, 0xfd, 0x5d, 0x79, 0x05, 0x3d, 0xc1, + 0xe2, 0x32, 0x8e, 0xd9, 0x6c, 0x2c, 0xc5, 0xea, 0xc7, 0x51, 0xed, 0x2d, 0x08, 0xef, 0x58, 0xd0, + 0xf3, 0x16, 0x31, 0xd8, 0x40, 0xf2, 0x32, 0xbb, 0x85, 0x15, 0xe7, 0xd0, 0xa1, 0xb1, 0xb8, 0xf3, + 0x26, 0xbc, 0xe1, 0x8a, 0x93, 0x99, 0xee, 0x40, 0x44, 0x2c, 0x2b, 0x6f, 0xde, 0x47, 0x25, 0x7e, + 0x8c, 0xb4, 0x88, 0x77, 0x49, 0xac, 0xdb, 0x14, 0xfa, 0x9b, 0xf4, 0x8d, 0xc3, 0x7d, 0xc9, 0xf1, + 0xb3, 0x14, 0xdf, 0xbd, 0xa2, 0x9e, 0xbb, 0x83, 0x14, 0x9b, 0x87, 0xd3, 0xa1, 0x06, 0x14, 0xed, + 0x90, 0x81, 0xa1, 0xd1, 0xa8, 0xdb, 0x81, 0x31, 0xd1, 0x93, 0xeb, 0xa7, 0x35, 0xaa, 0x15, 0x2a, + 0x3d, 0x99, 0xca, 0x1d, 0x5f, 0xa1, 0x0a, 0x74, 0xcc, 0x30, 0xd2, 0xed, 0x20, 0xc9, 0xdb, 0xbd, + 0x58, 0x13, 0xa4, 0xba, 0x2e, 0x28, 0x9e, 0x45, 0x5b, 0x0a, 0xc1, 0x2e, 0x98, 0xdb, 0xb9, 0xf0, + 0x4f, 0xec, 0x8b, 0x21, 0x3a, 0x02, 0x3f, 0xdb, 0x3c, 0xcc, 0xe2, 0x74, 0x62, 0x76, 0x71, 0x25, + 0x7d, 0x26, 0xdd, 0xff, 0x5e, 0xd6, 0x58, 0x3d, 0x99, 0xc2, 0x1f, 0x9e, 0xe4, 0x42, 0x53, 0x82, + 0x44, 0x8f, 0x88, 0x41, 0x8a, 0xdd, 0xb6, 0x43, 0xaf, 0x08, 0x43, 0xc8, 0x08, 0x0b, 0xba, 0x8d, + 0x68, 0xad, 0x12, 0x0b, 0x86, 0x8d, 0xd3, 0x04, 0x78, 0xe5, 0x8a, 0x3b, 0xce, 0x69, 0xbd, 0xf3, + 0x5d, 0xf5, 0x57, 0x40, 0x97, 0x86, 0x05, 0x96, 0x44, 0x40, 0x5c, 0x4e, 0x43, 0x38, 0xdd, 0x54, + 0xfc, 0x1b, 0x22, 0x1b, 0xdf, 0xfd, 0xb0, 0xe4, 0x79, 0x2f, 0x4a, 0xae, 0xd6, 0x1f, 0xb7, 0x33, + 0x60, 0x1a, 0xb9, 0x50, 0x0b, 0x51, 0x73, 0x16, 0x2c, 0x7e, 0xc5, 0xf2, 0x0e, 0xc1, 0x63, 0xe0, + 0x5d, 0x7a, 0x00, 0xb6, 0x39, 0x93, 0x04, 0xfc, 0x61, 0xb2, 0xdc, 0xba, 0x1d, 0x9c, 0xb6, 0xef, + 0x44, 0x60, 0x06, 0x08, 0x17, 0x4c, 0xe0, 0x5d, 0x2e, 0x31, 0xf7, 0x2f, 0x9c, 0x88, 0xcb, 0x75, + 0x63, 0x2d, 0x22, 0xb1, 0x23, 0xb1, 0x05, 0x59, 0xa0, 0xc0, 0xb2, 0xe4, 0xb0, 0xdb, 0x41, 0x00, + 0x5e, 0x3a, 0xb7, 0xec, 0xa3, 0x5c, 0xdd, 0xda, 0xd2, 0x71, 0x49, 0xae, 0xcd, 0x41, 0x72, 0xf1, + 0x1f, 0x43, 0x60, 0x38, 0x45, 0x80, 0xa9, 0x2d, 0xc0, 0x02, 0x23, 0xc0, 0x30, 0x09, 0x09, 0x4f, + 0x77, 0xd0, 0x49, 0x72, 0xce, 0x05, 0x24, 0xb0, 0x96, 0x52, 0x31, 0x41, 0x42, 0xeb, 0x03, 0x84, + 0xbc, 0x3e, 0xfc, 0xf6, 0xf9, 0xc8, 0xc7, 0x1c, 0x9e, 0x63, 0x9f, 0xf3, 0x07, 0x47, 0x59, 0x4e, + 0x25, 0x88, 0x11, 0x72, 0xef, 0xa8, 0xa8, 0xb0, 0x60, 0x60, 0x56, 0xea, 0xaa, 0x33, 0x0c, 0xcf, + 0xb8, 0x35, 0x9d, 0xe4, 0xd1, 0xf1, 0xe1, 0x63, 0xe2, 0x42, 0xfc, 0xd9, 0xca, 0x45, 0x74, 0x93, + 0x25, 0xdd, 0x54, 0xdf, 0x1c, 0xc8, 0x97, 0xd1, 0x6d, 0x3c, 0xff, 0x44, 0xf4, 0xea, 0x72, 0x78, + 0xae, 0xb7, 0xab, 0x2b, 0x45, 0x77, 0x79, 0xb9, 0xe0, 0xdf, 0x20, 0xd6, 0x55, 0x8a, 0x8d, 0x66, + 0xcd, 0xa3, 0x87, 0x73, 0x1d, 0xd8, 0x05, 0x2c, 0x00, 0x00, 0x32, 0x6a, 0x5d, 0xd0, 0xb0, 0xeb, + 0xcf, 0xa2, 0x5c, 0xca, 0x57, 0xe3, 0xc7, 0x24, 0x5b, 0x4a, 0x97, 0xfe, 0x15, 0xb9, 0xb4, 0xa3, + 0xe0, 0x8e, 0x8a, 0x17, 0x84, 0xc2, 0x07, 0xd8, 0x72, 0x16, 0x1c, 0x0b, 0x46, 0xa1, 0x53, 0x34, + 0x3e, 0x10, 0x80, 0x0b, 0x6e, 0x89, 0x88, 0x82, 0x65, 0x48, 0x83, 0x43, 0xc7, 0x39, 0x6e, 0x70, + 0x3e, 0x01, 0x7f, 0x21, 0x9d, 0xab, 0xc4, 0x23, 0xb0, 0xa6, 0x93, 0x52, 0x21, 0xae, 0x93, 0x32, + 0xc6, 0xd8, 0xfc, 0x35, 0x02, 0x07, 0xf1, 0xdd, 0x32, 0xdd, 0xbd, 0x58, 0x9a, 0x0c, 0xb9, 0x02, + 0x05, 0x7c, 0xd5, 0x61, 0x54, 0xfb, 0x00, 0xd4, 0xa0, 0xcf, 0x1c, 0x4a, 0xf5, 0x0f, 0xe7, 0x45, + 0xc2, 0x8b, 0x57, 0x9c, 0x51, 0xa5, 0xd1, 0xd9, 0x6e, 0x28, 0x10, 0x17, 0x89, 0x11, 0x1f, 0x9f, + 0x90, 0x2d, 0x70, 0xa7, 0xff, 0x84, 0x35, 0x73, 0x6a, 0x39, 0x46, 0x3d, 0xb4, 0x7d, 0x53, 0xa1, + 0xf1, 0x5a, 0x31, 0xc7, 0xd7, 0xe6, 0xbe, 0x2f, 0x7d, 0xe1, 0xef, 0x57, 0x04, 0xc0, 0x87, 0xb6, + 0x6e, 0x50, 0x30, 0x24, 0x97, 0x6f, 0x06, 0xe1, 0x6e, 0x05, 0xf9, 0xcc, 0x26, 0xa4, 0xbb, 0x55, + 0x2c, 0xf9, 0x7b, 0x49, 0x11, 0xd2, 0xc4, 0x6c, 0xdf, 0x79, 0x93, 0x70, 0x85, 0xe2, 0xed, 0x6f, + 0xea, 0x06, 0xbe, 0x58, 0x6e, 0x94, 0x2b, 0xbe, 0xb9, 0xbe, 0xac, 0x61, 0xfb, 0x07, 0x94, 0xa7, + 0x2c, 0xfa, 0x84, 0x5e, 0x3d, 0x4e, 0xaf, 0x52, 0xf6, 0xaf, 0x54, 0x4e, 0x77, 0xc8, 0xad, 0x07, + 0x69, 0x70, 0x4c, 0xc7, 0x0f, 0xde, 0xc3, 0xb1, 0xe5, 0x77, 0xa2, 0x78, 0xed, 0x1e, 0xd6, 0xe9, + 0xc5, 0xd7, 0xd7, 0x0e, 0xd9, 0x07, 0x15, 0xc3, 0xb0, 0x96, 0xa2, 0xe8, 0x63, 0x27, 0x26, 0x07, + 0x40, 0xc6, 0xfd, 0x90, 0x04, 0x5e, 0x95, 0x04, 0x3f, 0x20, 0x91, 0x04, 0xb5, 0x5b, 0x17, 0x3b, + 0x63, 0x51, 0xa0, 0x36, 0x52, 0x5d, 0x74, 0x4f, 0xdd, 0x8a, 0xdb, 0x78, 0xd3, 0x34, 0x10, 0x42, + 0xc0, 0x7b, 0xd2, 0x85, 0xbb, 0xe3, 0x74, 0x3a, 0xfd, 0x23, 0x03, 0xe5, 0xb7, 0x85, 0x8d, 0x1f, + 0xba, 0xe1, 0x5e, 0x12, 0x4d, 0x1b, 0x88, 0x54, 0x14, 0x68, 0x5f, 0xf0, 0xee, 0x2d, 0x1e, 0xe2, + 0xf6, 0x46, 0xcb, 0xb0, 0xac, 0x99, 0xe4, 0x35, 0x25, 0xe8, 0x84, 0x74, 0x6d, 0xe1, 0x44, 0x19, + 0x2b, 0x2d, 0xda, 0xce, 0x17, 0xd6, 0xf2, 0x8f, 0x8c, 0xdf, 0x70, 0x00, 0x5a, 0xbb, 0x2f, 0x6e, + 0xbb, 0x1d, 0xd3, 0xb4, 0x0d, 0xb7, 0x3b, 0xf7, 0x5e, 0x1f, 0x91, 0x16, 0x02, 0x31, 0x21, 0xba, + 0xf9, 0x6e, 0x36, 0x5e, 0x15, 0xb0, 0x9c, 0x0a, 0xd3, 0x00, 0xeb, 0x61, 0x2a, 0x9b, 0xf4, 0xc2, + 0x06, 0xed, 0x83, 0xad, 0x47, 0xc6, 0x04, 0xdb, 0x33, 0x74, 0x18, 0xb6, 0xce, 0x2b, 0x36, 0xda, + 0xef, 0x6b, 0x84, 0xa6, 0x26, 0x92, 0x3e, 0x7d, 0x9c, 0xbe, 0x06, 0x00, 0xa9, 0xde, 0x2b, 0xbd, + 0x35, 0x47, 0xdc, 0xfe, 0xf6, 0x75, 0x4a, 0xe4, 0x4a, 0x6f, 0x0b, 0x48, 0xad, 0x6e, 0xff, 0x30, + 0x39, 0x28, 0xd8, 0x29, 0x68, 0x71, 0x9b, 0xb6, 0xf3, 0x23, 0x63, 0x02, 0x32, 0xac, 0xbb, 0x00, + 0x86, 0x00, 0x84, 0x0b, 0x4d, 0x14, 0x36, 0x22, 0x00, 0x5c, 0x68, 0xd0, 0x7b, 0x7c, 0x8f, 0x39, + 0x25, 0xb7, 0xb5, 0xb2, 0x43, 0xbc, 0xed, 0x9b, 0x76, 0xb8, 0xb1, 0xae, 0xc7, 0xd6, 0x4c, 0xef, + 0x2c, 0xe1, 0x8c, 0x89, 0xb1, 0x9d, 0x6e, 0x60, 0xaf, 0xd9, 0x6c, 0x69, 0x75, 0xaf, 0x58, 0xf5, + 0x23, 0x2c, 0x5b, 0xd6, 0x32, 0x96, 0x67, 0x6e, 0x64, 0xf8, 0x4a, 0x5c, 0x0b, 0x59, 0x79, 0x75, + 0xaf, 0x87, 0x07, 0x8f, 0x1b, 0x1f, 0xf5, 0x7a, 0xbc, 0x84, 0xe6, 0x31, 0xac, 0xcf, 0xab, 0xd1, + 0x94, 0x4b, 0x6b, 0xd0, 0xc4, 0xaa, 0x1f, 0x0e, 0x26, 0x2e, 0x28, 0x31, 0xe3, 0x89, 0xc9, 0xab, + 0x87, 0x34, 0xd7, 0x5d, 0xdd, 0x2b, 0xad, 0xba, 0x02, 0x51, 0xaf, 0x97, 0xef, 0xd1, 0x6f, 0x72, + 0xb0, 0xcf, 0xa8, 0x64, 0x6c, 0xe2, 0xe0, 0x95, 0x59, 0xb6, 0xf8, 0x1d, 0x3b, 0xde, 0x88, 0x61, + 0xdf, 0x75, 0xcc, 0xd4, 0x34, 0xf4, 0x9e, 0xda, 0x8f, 0xef, 0x99, 0x9f, 0x42, 0x9d, 0xe1, 0xf2, + 0x04, 0xea, 0x9c, 0x03, 0xd8, 0x89, 0x2f, 0xf2, 0x4a, 0x94, 0xf3, 0x3e, 0xca, 0x1b, 0x31, 0xf3, + 0xa6, 0x29, 0x60, 0xfd, 0x48, 0xd7, 0x9c, 0x40, 0xa0, 0xbd, 0x33, 0xd5, 0x05, 0xe7, 0xb5, 0x0f, + 0xfd, 0xa0, 0x0b, 0x03, 0xb9, 0x6b, 0x79, 0xdf, 0x39, 0xc0, 0x06, 0x42, 0xb2, 0x80, 0x2d, 0x57, + 0xbe, 0xb8, 0xf2, 0xe4, 0xbe, 0x1b, 0xa0, 0x0f, 0xeb, 0x02, 0xb6, 0x16, 0xa1, 0x94, 0xc0, 0xdd, + 0xc8, 0xc4, 0x23, 0xda, 0xd7, 0x6e, 0xf1, 0x0b, 0x39, 0x28, 0x26, 0x36, 0xdc, 0xf6, 0x62, 0xaf, + 0x9f, 0xc1, 0x66, 0x25, 0xd4, 0x64, 0xbd, 0xf9, 0xcb, 0x58, 0x2c, 0x06, 0x2e, 0x7a, 0x5c, 0x43, + 0x05, 0xfc, 0x41, 0xdc, 0xd2, 0xd5, 0x8b, 0xe2, 0xc9, 0xf2, 0x00, 0x29, 0xda, 0x39, 0xfd, 0x48, + 0x02, 0x24, 0x12, 0x07, 0x52, 0xb0, 0x6f, 0x43, 0xa7, 0x45, 0xeb, 0x22, 0xfb, 0x64, 0xc2, 0xad, + 0xa5, 0xa8, 0x5a, 0xc2, 0x19, 0xa8, 0x36, 0xe4, 0xc1, 0x4a, 0x51, 0x17, 0x73, 0xc5, 0x22, 0x40, + 0x08, 0x5a, 0x4c, 0x5d, 0xcc, 0x8a, 0x02, 0xff, 0xad, 0x02, 0x30, 0x9e, 0xb5, 0x11, 0xbc, 0x65, + 0x73, 0x15, 0x31, 0x0e, 0x1e, 0x77, 0x61, 0x09, 0x64, 0xb1, 0xb7, 0x16, 0x30, 0x53, 0x22, 0x5c, + 0x98, 0xe9, 0x12, 0x58, 0x96, 0xe5, 0x06, 0x03, 0xe6, 0xfe, 0xa8, 0xf4, 0x3c, 0x13, 0x45, 0xc9, + 0x3b, 0x12, 0x82, 0x94, 0xc3, 0x8f, 0x31, 0x28, 0x6d, 0x3c, 0xc1, 0xd6, 0xd6, 0x14, 0xfd, 0x15, + 0x1b, 0x60, 0x25, 0x97, 0x1a, 0xe0, 0xe0, 0xf3, 0x6f, 0x62, 0xf1, 0xe0, 0xa6, 0xfc, 0xc8, 0x62, + 0xb1, 0x45, 0x8e, 0x95, 0xdd, 0x05, 0x5e, 0xe4, 0x97, 0x3d, 0x2c, 0x04, 0xb2, 0x83, 0xae, 0x07, + 0x16, 0x97, 0xe1, 0x7e, 0x35, 0xc3, 0x1f, 0x7c, 0x58, 0x97, 0x10, 0xb1, 0xf0, 0x4a, 0x84, 0x05, + 0xe9, 0x41, 0x17, 0x31, 0xc2, 0x52, 0x91, 0x95, 0x2a, 0x3a, 0xa0, 0x4b, 0xe3, 0x79, 0xe4, 0x37, + 0xe0, 0xf5, 0x13, 0x8c, 0x24, 0x1e, 0xf5, 0x3a, 0xa2, 0x7c, 0x15, 0x1a, 0x70, 0xf6, 0xed, 0x0c, + 0xd9, 0x1b, 0xd7, 0x7c, 0xb1, 0x0a, 0x4f, 0x38, 0xac, 0x72, 0xfc, 0xb0, 0xca, 0xc8, 0xe7, 0xc4, + 0x04, 0xf2, 0xea, 0x33, 0x17, 0xbe, 0x8d, 0xf8, 0x01, 0xf6, 0x19, 0xf8, 0xc3, 0x73, 0x40, 0x60, + 0x8b, 0x0b, 0x39, 0x7a, 0xc0, 0x48, 0x16, 0xb2, 0x55, 0x76, 0x16, 0x4a, 0xc8, 0xb3, 0x43, 0x51, + 0x3d, 0xa1, 0x98, 0x63, 0x87, 0x99, 0x84, 0x52, 0x05, 0xcb, 0xc0, 0x43, 0xc5, 0x3d, 0x7f, 0x25, + 0xe2, 0x8a, 0x14, 0x1a, 0x4d, 0xbc, 0x87, 0xcb, 0x1f, 0xa9, 0xe0, 0x30, 0xb6, 0xb8, 0x7d, 0x34, + 0x82, 0x89, 0x8f, 0xb9, 0xcb, 0x53, 0xde, 0x66, 0x94, 0xdf, 0x88, 0x25, 0xfd, 0x67, 0x29, 0xdf, + 0x5a, 0xa6, 0xfc, 0x46, 0x88, 0xf4, 0x2d, 0x36, 0xad, 0x56, 0x53, 0x1e, 0xf4, 0xd8, 0x15, 0x94, + 0xdf, 0xf0, 0x66, 0x94, 0x1c, 0x43, 0xfc, 0xff, 0x29, 0xed, 0xbf, 0x2a, 0x8a, 0x22, 0xc8, 0x2e, + 0x39, 0xe3, 0xa8, 0xb9, 0x11, 0x47, 0xce, 0x96, 0xe2, 0xb8, 0xe1, 0xa6, 0xab, 0xa8, 0x3a, 0x8e, + 0xe7, 0xe7, 0x8d, 0xbf, 0x44, 0xd5, 0xfb, 0x8f, 0xa8, 0x7a, 0xff, 0x6f, 0xa5, 0xea, 0xe7, 0xe9, + 0x73, 0x8f, 0x6d, 0x67, 0xf8, 0x35, 0x23, 0x9e, 0x4a, 0xaf, 0xff, 0x04, 0xef, 0x9d, 0x7e, 0x44, + 0xa5, 0xd3, 0x4f, 0x50, 0xa9, 0x9a, 0x75, 0xe9, 0x94, 0xad, 0xca, 0xab, 0x48, 0x55, 0x2a, 0x16, + 0xe5, 0x7f, 0x88, 0x40, 0xa7, 0x44, 0x1b, 0xab, 0x7a, 0xe6, 0x96, 0x0c, 0x41, 0xf5, 0x46, 0x66, + 0x5a, 0x39, 0x3d, 0xdd, 0x83, 0x7d, 0x21, 0x99, 0x6c, 0xad, 0x11, 0x96, 0x9f, 0xa5, 0xda, 0xcd, + 0xb2, 0x50, 0x0e, 0x0b, 0xcb, 0x9b, 0x7e, 0xfb, 0x23, 0xba, 0xd1, 0x55, 0xd0, 0xe3, 0xae, 0x8d, + 0x7f, 0x60, 0x15, 0x5c, 0x43, 0xb1, 0x1b, 0x10, 0x92, 0x08, 0x89, 0x4e, 0xb4, 0x55, 0xa4, 0xea, + 0xff, 0x13, 0x73, 0xee, 0xf0, 0x23, 0x6e, 0xfa, 0xab, 0x74, 0x89, 0x9f, 0x75, 0x7f, 0x87, 0x2e, + 0x71, 0x64, 0xd9, 0x38, 0xb4, 0x08, 0xd1, 0x3f, 0xa2, 0x4c, 0xfb, 0x9f, 0x58, 0x5d, 0x77, 0x3f, + 0x58, 0x5d, 0x5d, 0xc2, 0x6c, 0xfc, 0x3d, 0xca, 0x2c, 0x13, 0x66, 0xe3, 0x7f, 0x46, 0x99, 0x5d, + 0x68, 0xcf, 0xa3, 0xcb, 0x46, 0x94, 0x30, 0x11, 0xfa, 0x4c, 0xd6, 0xd0, 0x87, 0xe6, 0x0f, 0xd4, + 0x36, 0xea, 0x8a, 0x9f, 0xa6, 0xd5, 0xc3, 0x07, 0xb4, 0x7a, 0xf8, 0xbf, 0x89, 0x52, 0x0f, 0xe8, + 0x16, 0x59, 0x49, 0x2a, 0x9f, 0x06, 0x6d, 0x45, 0xfb, 0x3b, 0x32, 0x67, 0x83, 0x23, 0x4b, 0x23, + 0x8e, 0x2c, 0xbc, 0xfa, 0xad, 0x68, 0x18, 0x1e, 0x4d, 0x55, 0xed, 0x34, 0xc5, 0x33, 0x46, 0xe1, + 0x96, 0xff, 0x11, 0x85, 0x9b, 0x92, 0x63, 0x63, 0x0d, 0x3d, 0xda, 0x0c, 0x96, 0x55, 0xe4, 0xa0, + 0x27, 0x7c, 0xa2, 0x03, 0x00, 0x89, 0x81, 0x35, 0xf3, 0xdd, 0x6c, 0x26, 0x44, 0x54, 0xea, 0xe0, + 0x3f, 0x31, 0xf9, 0x5d, 0xa0, 0x5f, 0xc8, 0xab, 0x8b, 0x20, 0xc8, 0x7c, 0x5b, 0x69, 0xf9, 0x68, + 0x29, 0xe9, 0x72, 0x5a, 0x1d, 0x87, 0x4b, 0x6c, 0xcb, 0x4a, 0xb8, 0xe5, 0x4b, 0x4f, 0xc8, 0xac, + 0x6a, 0xdd, 0xab, 0xb2, 0xbd, 0xaa, 0x83, 0x8d, 0x68, 0x0f, 0x9d, 0x4a, 0xa8, 0x87, 0x27, 0xa2, + 0x69, 0xc6, 0x64, 0x35, 0xf8, 0x5e, 0x8d, 0x6d, 0xdf, 0xaa, 0xf9, 0x08, 0x05, 0xb0, 0x96, 0xf9, + 0x0e, 0x1e, 0x14, 0x6b, 0x28, 0x50, 0xfa, 0xaf, 0x47, 0x83, 0x56, 0xfb, 0x3c, 0x1a, 0xf8, 0x1f, + 0xdf, 0x0b, 0xeb, 0x60, 0x4d, 0xfb, 0xbd, 0x78, 0x5f, 0x19, 0xb4, 0x2e, 0xe0, 0x19, 0xab, 0x28, + 0x1e, 0xb2, 0x1c, 0x19, 0xe4, 0x5d, 0x0d, 0x1a, 0x5d, 0x87, 0x02, 0x37, 0x0c, 0x81, 0xc5, 0xb4, + 0x16, 0x07, 0x30, 0x01, 0x78, 0x1c, 0xae, 0x54, 0xb0, 0xeb, 0xd6, 0xa0, 0x20, 0xaf, 0x46, 0x21, + 0x0e, 0xfa, 0x50, 0xdb, 0x28, 0x3a, 0xd7, 0xb4, 0x2d, 0x63, 0xdb, 0x9f, 0x64, 0x52, 0x6c, 0xb9, + 0x53, 0xe1, 0xda, 0x6e, 0xce, 0x14, 0x7d, 0x3d, 0x61, 0x68, 0x85, 0xcf, 0x8e, 0xad, 0x5c, 0x41, + 0xca, 0x70, 0xed, 0xd3, 0xf5, 0x70, 0x1d, 0xf0, 0xac, 0xc2, 0x27, 0x39, 0xd4, 0xd2, 0xbb, 0xfc, + 0xd4, 0x55, 0xf4, 0xae, 0x31, 0xfc, 0x94, 0x75, 0xe1, 0x18, 0x02, 0xd5, 0x7e, 0xd1, 0xb2, 0x90, + 0x0c, 0x3a, 0x31, 0xa9, 0x81, 0x27, 0xf5, 0x11, 0x3e, 0x6a, 0xd0, 0x49, 0xe6, 0xc8, 0x32, 0x35, + 0xb2, 0xe2, 0x0c, 0xf7, 0x66, 0x36, 0x4b, 0xdd, 0x1b, 0x1b, 0x37, 0x2b, 0xd6, 0xac, 0x8e, 0xad, + 0x89, 0x61, 0x6f, 0x19, 0xa4, 0xc8, 0x22, 0xe7, 0xa1, 0x15, 0xa6, 0x53, 0x1b, 0x5e, 0x79, 0xcf, + 0x19, 0x73, 0xef, 0xb7, 0x34, 0xc3, 0xa1, 0x2b, 0x0d, 0x7e, 0x6c, 0x70, 0xd3, 0xa2, 0x22, 0x95, + 0x3e, 0xf6, 0x83, 0xc7, 0x76, 0xf0, 0x38, 0xc1, 0xc7, 0xed, 0x6c, 0xe0, 0x35, 0xda, 0x88, 0xf4, + 0x9a, 0x8d, 0xed, 0x35, 0xae, 0xd3, 0x6c, 0xb8, 0xd3, 0x8d, 0x0f, 0x7b, 0xcd, 0xc5, 0x3b, 0x06, + 0xa1, 0xd3, 0x5c, 0xb0, 0x1c, 0x7f, 0xd4, 0x6b, 0xee, 0x33, 0xa8, 0x6e, 0x70, 0xbd, 0xe6, 0x97, + 0x3d, 0x64, 0xbe, 0x3b, 0x8c, 0x5d, 0xb4, 0x28, 0x0c, 0x44, 0x0f, 0x90, 0x33, 0xe6, 0x5f, 0x0b, + 0xfc, 0x62, 0x54, 0x47, 0xc7, 0xb3, 0x3d, 0xcc, 0xf1, 0x15, 0xf6, 0x7b, 0xb9, 0x77, 0x92, 0x87, + 0x9d, 0x5e, 0x4c, 0x75, 0x0a, 0xf9, 0x2d, 0x3d, 0x9d, 0xc2, 0x6b, 0xac, 0xe3, 0xad, 0x7a, 0x74, + 0x8d, 0x8a, 0x59, 0x46, 0x5f, 0xc9, 0xac, 0x6b, 0x4c, 0x74, 0x5a, 0x78, 0x1f, 0x23, 0x02, 0x50, + 0xc5, 0xc0, 0x9d, 0x47, 0xef, 0xf3, 0x98, 0x75, 0xd1, 0x80, 0x59, 0x0e, 0x8b, 0xa8, 0x32, 0xd5, + 0x88, 0xde, 0x77, 0x06, 0x75, 0xb1, 0x12, 0xe1, 0x20, 0xec, 0x47, 0xef, 0x85, 0x46, 0x93, 0x9d, + 0xdd, 0xe5, 0xc0, 0xa5, 0x8e, 0x14, 0x32, 0x75, 0x1d, 0xaf, 0x61, 0xaf, 0x9e, 0x77, 0x1a, 0x9a, + 0xa1, 0x92, 0xaf, 0xba, 0x9e, 0xe6, 0x25, 0x62, 0xc6, 0xd3, 0x54, 0x64, 0xc8, 0x62, 0x70, 0xd7, + 0x92, 0x87, 0x73, 0x05, 0xe1, 0x5c, 0x40, 0x28, 0xe1, 0xda, 0x79, 0xda, 0xdb, 0x86, 0x40, 0x35, + 0x29, 0x01, 0x9a, 0x21, 0x8e, 0x43, 0x82, 0x61, 0x71, 0xdb, 0x9e, 0xf8, 0xe8, 0x31, 0x25, 0x85, + 0x57, 0x18, 0xd8, 0x3d, 0xa2, 0x42, 0x0f, 0x66, 0x7d, 0x30, 0x00, 0x3c, 0xd9, 0xb9, 0x80, 0x9f, + 0xba, 0xd8, 0xa2, 0xf7, 0x9b, 0x07, 0x9a, 0xdd, 0x77, 0x76, 0xe1, 0x39, 0xd5, 0x5e, 0x24, 0xd1, + 0x8d, 0x51, 0x43, 0xf1, 0x01, 0xf3, 0x8f, 0x86, 0x20, 0xad, 0x2c, 0xb1, 0xcc, 0x27, 0xc1, 0x05, + 0x2d, 0xfc, 0xf4, 0xc5, 0x54, 0xdd, 0x75, 0x44, 0x32, 0x12, 0x57, 0x7a, 0x1e, 0xb7, 0x44, 0xc9, + 0xe5, 0xdf, 0xbd, 0xee, 0x79, 0xa5, 0xb3, 0xac, 0xe4, 0x46, 0x54, 0x90, 0x78, 0x60, 0xf8, 0x83, + 0x81, 0x2f, 0x61, 0xc2, 0xe0, 0xbe, 0x1e, 0xfd, 0xc6, 0x38, 0x8e, 0x93, 0x3f, 0xe6, 0x2c, 0xc0, + 0x86, 0xc6, 0x1c, 0x73, 0xa3, 0x82, 0x5f, 0x78, 0xbd, 0x62, 0xb4, 0xa7, 0xde, 0xf9, 0xa5, 0x86, + 0x38, 0xff, 0x61, 0xc8, 0xdc, 0xf3, 0x82, 0xf0, 0x20, 0xc3, 0xdd, 0x32, 0x4b, 0xa7, 0xd3, 0xc2, + 0x92, 0xe6, 0x4e, 0x61, 0x88, 0xd5, 0xe4, 0x37, 0x22, 0x1e, 0x68, 0xef, 0x8e, 0x46, 0x99, 0xb9, + 0xa0, 0x5d, 0x3e, 0x8f, 0xe1, 0x6d, 0x36, 0xc2, 0x2c, 0x9f, 0x5f, 0x61, 0x62, 0x77, 0x00, 0x12, + 0xf0, 0xba, 0x43, 0xbf, 0xdc, 0x4d, 0x3f, 0xc7, 0x0d, 0x6f, 0xaa, 0x59, 0x13, 0xf1, 0xf3, 0xdc, + 0x99, 0x0e, 0x90, 0x32, 0x3d, 0x70, 0x86, 0x31, 0x5b, 0x03, 0x91, 0xa9, 0x91, 0xad, 0x28, 0xd1, + 0xa9, 0xb1, 0x1a, 0xbc, 0x8d, 0x55, 0xf0, 0xb9, 0x2c, 0x6e, 0xef, 0x81, 0xe4, 0xaa, 0xeb, 0x23, + 0x4d, 0x93, 0x10, 0x54, 0xad, 0xe5, 0xc0, 0x82, 0xd3, 0x27, 0x69, 0x8b, 0x0c, 0x8d, 0x31, 0x39, + 0x76, 0xc8, 0x30, 0x21, 0x4e, 0x34, 0x82, 0xa3, 0x32, 0x15, 0x93, 0xb0, 0x22, 0xbd, 0x8d, 0x88, + 0xed, 0x9c, 0xd8, 0x86, 0x9e, 0x98, 0x5b, 0x43, 0x04, 0xba, 0xf6, 0x45, 0x0e, 0x7f, 0xd9, 0x96, + 0x1f, 0x44, 0x29, 0x57, 0x94, 0x25, 0x3e, 0x01, 0xbb, 0x03, 0x9e, 0xdd, 0x88, 0xf2, 0x5c, 0x18, + 0x45, 0x39, 0x5f, 0x5e, 0x3f, 0xfb, 0xf9, 0x91, 0x43, 0x3e, 0xdc, 0xa7, 0x77, 0xe1, 0x7e, 0xe4, + 0x6a, 0xf6, 0x6f, 0xcc, 0x15, 0x05, 0x16, 0xc4, 0x8c, 0x3b, 0x04, 0x23, 0xe2, 0x7b, 0x9e, 0x3b, + 0x8a, 0x3e, 0x56, 0x6c, 0x66, 0x74, 0xb0, 0x67, 0xfc, 0x90, 0x35, 0xc7, 0x9f, 0x6d, 0xb5, 0x8f, + 0x29, 0xee, 0x3e, 0x4a, 0x86, 0x95, 0x71, 0x95, 0x30, 0xfa, 0x27, 0x32, 0x3d, 0x7a, 0x53, 0xea, + 0x43, 0x58, 0x92, 0xff, 0x5d, 0xb6, 0x00, 0xe0, 0x97, 0x53, 0xdc, 0x15, 0x80, 0x21, 0x20, 0x0c, + 0xdd, 0x5d, 0x96, 0x95, 0xa2, 0x85, 0xa1, 0xdb, 0x9b, 0x62, 0x08, 0x43, 0x20, 0x67, 0x3e, 0x14, + 0x33, 0x1b, 0xf1, 0x72, 0x86, 0x85, 0xd2, 0xae, 0x11, 0x33, 0x5e, 0x01, 0xa9, 0x7f, 0xdc, 0x4d, + 0x88, 0x2c, 0x70, 0xd2, 0x16, 0x93, 0x69, 0x0a, 0x19, 0x7e, 0x99, 0x19, 0x3f, 0xd3, 0x0c, 0x19, + 0x0a, 0xac, 0x23, 0xac, 0x95, 0xb6, 0x36, 0xb2, 0xea, 0xdf, 0x57, 0x16, 0x67, 0x7c, 0xe5, 0xd7, + 0xf8, 0xdf, 0x15, 0x5e, 0x1c, 0xbb, 0xaf, 0x04, 0x88, 0xed, 0x8f, 0x25, 0x44, 0x0c, 0xa2, 0x43, + 0x14, 0x5c, 0x39, 0x10, 0x0e, 0x8c, 0xf7, 0x76, 0x23, 0x3d, 0x39, 0xb8, 0x3c, 0xce, 0xff, 0xb4, + 0x14, 0x3c, 0x78, 0xfc, 0xf7, 0xc9, 0xbf, 0xe8, 0x64, 0x72, 0x83, 0x49, 0xf8, 0x99, 0xe3, 0x51, + 0xce, 0x83, 0x85, 0xbd, 0x07, 0x08, 0x05, 0x65, 0xae, 0xd0, 0xd2, 0xf7, 0xc0, 0x62, 0xd1, 0x9b, + 0xf4, 0x9c, 0x08, 0x1d, 0xb6, 0xec, 0x41, 0xbe, 0x51, 0xd9, 0x0a, 0x73, 0x2d, 0x2d, 0xd3, 0x36, + 0xa6, 0xae, 0x42, 0xd5, 0xd3, 0x9c, 0xba, 0xe8, 0x17, 0x0d, 0x39, 0x3a, 0x58, 0x07, 0x07, 0x53, + 0x8f, 0x0f, 0xc2, 0x6e, 0x09, 0x3f, 0x28, 0x14, 0x67, 0xa6, 0x87, 0xb7, 0x87, 0xb0, 0x4b, 0xf6, + 0x00, 0x4c, 0x79, 0x4f, 0x14, 0x96, 0x81, 0x14, 0x28, 0x17, 0x00, 0xa4, 0x95, 0x5c, 0xae, 0xb4, + 0x12, 0xce, 0x0d, 0x1e, 0x50, 0x5a, 0x92, 0x77, 0x45, 0xfc, 0x65, 0x28, 0x37, 0xa2, 0x60, 0x06, + 0x50, 0x66, 0x63, 0xa1, 0xa4, 0x00, 0x56, 0x0b, 0xb9, 0xad, 0x88, 0x9a, 0x11, 0x4f, 0x49, 0x5a, + 0xf2, 0x13, 0x00, 0x6e, 0x7c, 0x9e, 0x8e, 0x01, 0x80, 0xb9, 0x15, 0x00, 0xc2, 0x74, 0xa9, 0x96, + 0xf2, 0x9f, 0x1b, 0x6a, 0x5a, 0x70, 0x2d, 0x80, 0x1b, 0x7f, 0x75, 0xa0, 0x03, 0x00, 0xef, 0x8d, + 0xd5, 0xec, 0x58, 0xad, 0xe4, 0x0b, 0x9f, 0x83, 0x10, 0x0b, 0xfe, 0xaf, 0xb1, 0xe2, 0x01, 0x2c, + 0xaa, 0xab, 0x86, 0x19, 0x7a, 0x2e, 0x7e, 0x8e, 0x0f, 0x69, 0xc9, 0x7f, 0x8a, 0x0f, 0xa3, 0xdb, + 0x7c, 0x54, 0x20, 0xc8, 0x31, 0x1e, 0xbc, 0xa8, 0xf0, 0xe5, 0x77, 0xe6, 0x37, 0x78, 0x65, 0x1b, + 0x90, 0x24, 0xef, 0xc4, 0xd3, 0xb7, 0xf3, 0xb9, 0xe2, 0xc7, 0x7b, 0xee, 0xbc, 0x11, 0xe3, 0xee, + 0x14, 0x9a, 0x04, 0x1d, 0x60, 0x6b, 0xdd, 0x80, 0xb4, 0x8c, 0xeb, 0x21, 0xfd, 0xcc, 0x46, 0xfc, + 0x3f, 0xea, 0x26, 0xfd, 0xe4, 0x3e, 0x3c, 0x73, 0x1f, 0x06, 0x78, 0x51, 0x1d, 0x20, 0x20, 0x6f, + 0xc8, 0xa1, 0xe8, 0x2a, 0x06, 0x36, 0xa2, 0x15, 0xe7, 0x4f, 0xe4, 0xc8, 0x93, 0xfd, 0x8b, 0x03, + 0xc4, 0x8f, 0x0f, 0x05, 0x81, 0xea, 0xdc, 0x74, 0xa5, 0x2b, 0xc8, 0xd5, 0x4f, 0x0f, 0x50, 0x00, + 0xc0, 0x31, 0x2e, 0x4e, 0xb6, 0xea, 0xcc, 0x62, 0xf7, 0x87, 0xb8, 0x41, 0xf2, 0x0b, 0xfe, 0xd5, + 0x80, 0x09, 0xf9, 0xdf, 0x1b, 0x30, 0xb1, 0xca, 0xed, 0xcd, 0x53, 0x9d, 0x52, 0x2e, 0xeb, 0x0f, + 0x94, 0xea, 0xa1, 0xb6, 0x72, 0xcf, 0x9c, 0xd6, 0xca, 0x45, 0x37, 0x04, 0xdc, 0xa5, 0x67, 0xed, + 0x88, 0x85, 0x62, 0xb0, 0xfe, 0xe2, 0x0e, 0x4c, 0x33, 0x1b, 0xbb, 0x39, 0xc5, 0x6f, 0x22, 0x8c, + 0x6c, 0x30, 0x79, 0xa8, 0x9b, 0xe5, 0xaf, 0x4d, 0x9d, 0x8d, 0xf8, 0x60, 0x87, 0xbf, 0xe2, 0x50, + 0x77, 0xc7, 0x63, 0xe3, 0x6f, 0x0f, 0x48, 0x64, 0x3c, 0x72, 0xc0, 0xc7, 0x0c, 0x1f, 0x21, 0xbb, + 0x7e, 0x20, 0xf2, 0x91, 0x49, 0xc3, 0x8d, 0xc3, 0xc6, 0xfa, 0x81, 0xf0, 0x62, 0xb5, 0xfe, 0xa2, + 0x10, 0x6b, 0xe6, 0x3e, 0x90, 0x60, 0xee, 0x38, 0xe4, 0xfe, 0x19, 0x19, 0x26, 0xff, 0x2f, 0x4a, + 0xb0, 0x4f, 0x0c, 0x44, 0x5e, 0xdc, 0x76, 0xc7, 0x21, 0xb7, 0x7e, 0x1c, 0x0a, 0x7f, 0x7b, 0x42, + 0xc8, 0xa4, 0xf2, 0xb7, 0x26, 0x44, 0xfe, 0x93, 0x13, 0x22, 0xff, 0x99, 0x09, 0x91, 0xcf, 0xfe, + 0x5f, 0x3d, 0x1f, 0x0a, 0xc1, 0x7c, 0xc8, 0xaf, 0x1a, 0x87, 0xde, 0xd4, 0x30, 0x03, 0x1b, 0xc6, + 0x3d, 0xd5, 0x4d, 0xed, 0xb4, 0x90, 0x5e, 0x05, 0x19, 0x72, 0x54, 0xa5, 0x32, 0x38, 0xe5, 0x39, + 0x3e, 0xbc, 0xd0, 0x75, 0xb0, 0x7d, 0x20, 0x51, 0xa1, 0x6d, 0x77, 0x2d, 0xdc, 0x6e, 0xd2, 0x86, + 0x83, 0xc9, 0x1b, 0x0c, 0x1f, 0xed, 0xf2, 0xd2, 0x0f, 0x9d, 0xe3, 0xf4, 0xa1, 0xd0, 0xe8, 0x5d, + 0x52, 0x04, 0x12, 0x59, 0x89, 0x6e, 0x08, 0xba, 0x87, 0xb8, 0xfe, 0x92, 0xaa, 0xb6, 0x11, 0xc6, + 0x3a, 0x1b, 0x51, 0xd2, 0x3e, 0x44, 0x3a, 0x5f, 0x68, 0x73, 0x48, 0x6f, 0xac, 0x1a, 0x26, 0x0f, + 0xe9, 0xac, 0x87, 0x74, 0x6e, 0x25, 0xd2, 0x39, 0x71, 0x59, 0xd7, 0x8f, 0x43, 0x3a, 0xf7, 0x69, + 0xa4, 0x37, 0xd6, 0xa9, 0xd0, 0x00, 0x59, 0xee, 0xaf, 0x20, 0xcd, 0x8c, 0xe4, 0x42, 0xe7, 0x83, + 0xa1, 0xe6, 0x91, 0xce, 0x79, 0x48, 0xe7, 0x23, 0x48, 0x6f, 0x04, 0x58, 0xe7, 0x97, 0x87, 0x3a, + 0x0e, 0xe9, 0xfc, 0x0a, 0xa4, 0x3f, 0x65, 0xd8, 0xac, 0xb4, 0x88, 0x11, 0x8c, 0x16, 0xe9, 0x0f, + 0xf1, 0x92, 0x74, 0x91, 0x8f, 0x8d, 0x8d, 0xf1, 0x2f, 0xb1, 0xcf, 0x30, 0xad, 0x75, 0x2e, 0xb9, + 0x78, 0xd1, 0x67, 0xbf, 0xd9, 0x75, 0xae, 0xa4, 0x25, 0x3f, 0x77, 0xc4, 0x71, 0xb4, 0xe1, 0xb5, + 0x12, 0x76, 0x56, 0xbb, 0xa7, 0x5a, 0xa2, 0xfe, 0x80, 0xa5, 0x7d, 0x31, 0xce, 0x23, 0x45, 0x21, + 0x3b, 0xdf, 0x5b, 0x8e, 0xaf, 0x74, 0xcf, 0xc3, 0x88, 0xbc, 0x3f, 0xaa, 0x6d, 0x50, 0xcc, 0xe3, + 0x4b, 0xe6, 0x44, 0x6e, 0x9f, 0x27, 0xe2, 0x94, 0x74, 0x31, 0xb0, 0x6c, 0x78, 0xe1, 0x54, 0x50, + 0x0b, 0xd0, 0xa0, 0xea, 0xe7, 0x0d, 0x81, 0x11, 0x15, 0x6c, 0x1f, 0xa9, 0x60, 0xdf, 0xc8, 0x23, + 0xc8, 0xf6, 0x6d, 0x70, 0x29, 0x02, 0x3f, 0x45, 0x1c, 0xc7, 0xe3, 0x13, 0x76, 0xbc, 0x24, 0x10, + 0xc8, 0x54, 0x42, 0x97, 0x8a, 0xe9, 0x22, 0xdd, 0x7e, 0xc3, 0x70, 0x35, 0x39, 0x9d, 0x0d, 0x24, + 0x73, 0xba, 0x0c, 0xf3, 0x55, 0x6f, 0xdb, 0xe6, 0x96, 0x4b, 0x44, 0x93, 0x05, 0xc5, 0xd2, 0xaf, + 0xc0, 0xf9, 0x58, 0xbb, 0x3c, 0x4f, 0x0b, 0x44, 0xf5, 0xef, 0x2b, 0x0b, 0xa1, 0xfe, 0xc8, 0xfd, + 0x68, 0xbe, 0x69, 0xe2, 0x9a, 0x4d, 0x21, 0xdc, 0xbd, 0x77, 0x1b, 0x5a, 0xef, 0x02, 0xa4, 0x6d, + 0xd9, 0xab, 0x3d, 0x80, 0x1b, 0x7f, 0x65, 0xa7, 0x81, 0x72, 0xc9, 0x9a, 0x7d, 0x06, 0x37, 0xff, + 0xff, 0xdf, 0x5d, 0x06, 0x0a, 0x44, 0xd4, 0xbb, 0x46, 0x27, 0x77, 0x78, 0xeb, 0x80, 0x51, 0x0f, + 0xd9, 0x28, 0xe0, 0xfa, 0x95, 0x41, 0x29, 0xe6, 0x07, 0x4c, 0x1d, 0xe3, 0x1d, 0xe3, 0xce, 0xb5, + 0x60, 0x59, 0x16, 0x1f, 0xc5, 0x2a, 0x85, 0xb9, 0x1d, 0x0f, 0x2e, 0xaa, 0xfa, 0x2b, 0xbf, 0xf7, + 0x65, 0x98, 0x44, 0xbf, 0x55, 0xda, 0x09, 0x39, 0x66, 0xf3, 0x2b, 0xb2, 0x48, 0xc6, 0x07, 0xff, + 0x63, 0x2c, 0xf5, 0x8a, 0xe0, 0xff, 0x8f, 0x7b, 0xcd, 0xfe, 0xbd, 0xc0, 0x7f, 0xd7, 0xaf, 0x1e, + 0xdf, 0xed, 0x52, 0xaf, 0x1b, 0x4b, 0xdd, 0xe6, 0x92, 0x1f, 0xad, 0x8d, 0xb1, 0xe7, 0x57, 0xdc, + 0xd9, 0xbf, 0xf1, 0xc9, 0x7e, 0x97, 0xba, 0xcd, 0x27, 0x3f, 0x5c, 0x9d, 0x62, 0x8f, 0x07, 0x05, + 0xb3, 0x6f, 0xf5, 0x31, 0x07, 0xf7, 0xc3, 0x37, 0xcc, 0xc7, 0x55, 0xa6, 0xdb, 0x94, 0xe1, 0x02, + 0xf4, 0x2b, 0x47, 0x1c, 0x50, 0x74, 0xa2, 0xec, 0xe3, 0x47, 0x8f, 0x6e, 0x31, 0x07, 0x4f, 0xdd, + 0x25, 0x23, 0xf1, 0x15, 0x58, 0xcd, 0xbf, 0xe9, 0x6d, 0xe9, 0xf0, 0x46, 0x70, 0x58, 0x25, 0xd2, + 0x13, 0x9e, 0x6d, 0xf5, 0x19, 0x98, 0x1e, 0xd6, 0x5f, 0x23, 0x78, 0xe9, 0x1e, 0xb7, 0x61, 0x93, + 0xcf, 0x9e, 0xc0, 0x11, 0xe8, 0x35, 0x50, 0xde, 0x71, 0xa3, 0xe5, 0x3d, 0x27, 0x1f, 0x88, 0x61, + 0x9f, 0x6d, 0x56, 0x0f, 0xfb, 0x5e, 0xfd, 0x89, 0x2a, 0x0a, 0x8a, 0xe6, 0xb8, 0x87, 0x09, 0xd0, + 0x4b, 0x55, 0xa3, 0xdf, 0x59, 0xc9, 0x98, 0x7a, 0x7f, 0xab, 0xad, 0xd8, 0xa4, 0x54, 0x90, 0xd4, + 0xfb, 0xdd, 0xcb, 0x9b, 0x89, 0x7c, 0x7a, 0xd8, 0x37, 0x1a, 0xf0, 0xdf, 0x45, 0xeb, 0x6e, 0xb0, + 0x7f, 0xd7, 0x87, 0xa7, 0x5d, 0x19, 0xdf, 0x0f, 0x9a, 0x8d, 0x27, 0xf8, 0x69, 0x16, 0x0f, 0x46, + 0xbd, 0x22, 0x26, 0x34, 0x1e, 0x2f, 0x5a, 0x37, 0xf2, 0x71, 0xc3, 0xb2, 0x0b, 0x9d, 0xd2, 0x35, + 0x26, 0xdc, 0xe8, 0xd7, 0x77, 0xd9, 0x5d, 0x28, 0x33, 0x7d, 0x99, 0x8c, 0x2b, 0x4f, 0xd7, 0x77, + 0x98, 0x78, 0xd2, 0xd9, 0x1f, 0x3c, 0x77, 0x26, 0x8d, 0xc6, 0x9e, 0x7d, 0x0e, 0xaf, 0xe5, 0xbd, + 0x46, 0xa7, 0x3b, 0x7e, 0x3b, 0xc4, 0x0a, 0xbb, 0xed, 0xd6, 0xdd, 0xcd, 0xee, 0x7d, 0x73, 0x70, + 0xab, 0x3d, 0x55, 0xdb, 0x7b, 0x46, 0x63, 0xb2, 0x77, 0x7e, 0xf1, 0x50, 0xd6, 0xab, 0xfa, 0xa4, + 0xa9, 0x9a, 0x33, 0xe7, 0xfa, 0xa2, 0xf0, 0x5c, 0x71, 0xda, 0xd6, 0xed, 0xd1, 0x70, 0x6f, 0x78, + 0x50, 0x30, 0xae, 0xde, 0x67, 0x5a, 0x77, 0x72, 0xf3, 0x66, 0x66, 0x5b, 0xad, 0xae, 0x7e, 0x9f, + 0xb9, 0x18, 0x3d, 0x8f, 0xde, 0xdf, 0x88, 0xd5, 0xd8, 0x9d, 0x4d, 0x1f, 0xdf, 0xf5, 0xdd, 0x49, + 0x5e, 0xed, 0xbf, 0x92, 0x83, 0xfd, 0xde, 0xe3, 0xec, 0x6e, 0x34, 0x38, 0xcd, 0xcc, 0x0e, 0xce, + 0xe5, 0xe6, 0xf4, 0xa4, 0x37, 0x7b, 0x7b, 0x7c, 0xde, 0xbf, 0xec, 0x94, 0x32, 0x2d, 0xab, 0x9a, + 0x69, 0xf7, 0xca, 0xa3, 0xe3, 0x66, 0xf1, 0x62, 0xd2, 0x2d, 0x1b, 0xd6, 0xf9, 0xb8, 0x71, 0x45, + 0x71, 0xd9, 0xd7, 0x0e, 0x6e, 0x5f, 0x5b, 0xa3, 0xeb, 0x61, 0xb3, 0x09, 0x04, 0x5e, 0x0e, 0x6d, + 0x1e, 0xf3, 0x02, 0x2c, 0x12, 0xe9, 0x13, 0xbb, 0xdd, 0xe7, 0x1e, 0x7d, 0xe6, 0xa7, 0x20, 0xbf, + 0x55, 0x47, 0xd7, 0xd5, 0x1e, 0x70, 0xf7, 0x60, 0xed, 0xa6, 0x61, 0x4c, 0x2b, 0x11, 0x0e, 0x3c, + 0xd6, 0x41, 0x4e, 0xea, 0x1d, 0x22, 0xe0, 0xde, 0xc9, 0x5f, 0x6c, 0xcb, 0xdb, 0x12, 0xc5, 0x49, + 0x9a, 0x10, 0x33, 0xcc, 0x92, 0x12, 0x25, 0xf1, 0xbf, 0x6c, 0xa2, 0x61, 0x04, 0xd1, 0xf6, 0x1d, + 0x4d, 0xa1, 0x07, 0x14, 0x57, 0xcb, 0xb8, 0x50, 0xdb, 0x54, 0x93, 0xc0, 0x39, 0x1b, 0x56, 0x26, + 0x3a, 0x7a, 0x8f, 0xaa, 0x11, 0x0c, 0xef, 0xb6, 0x61, 0x38, 0x91, 0x46, 0x37, 0xd6, 0x01, 0x4c, + 0xc3, 0x81, 0x89, 0xee, 0xaf, 0xe9, 0x7e, 0xb3, 0x41, 0x22, 0xf5, 0x93, 0x1d, 0x12, 0x1d, 0xe3, + 0xaf, 0x89, 0x60, 0xb2, 0x44, 0xe1, 0xff, 0xfd, 0x3f, 0xff, 0xcf, 0xe7, 0x48, 0x42, 0x55, 0x25, + 0x65, 0x4c, 0xdc, 0xd6, 0x0e, 0x49, 0x88, 0xe4, 0xe1, 0x1c, 0xf4, 0x90, 0x85, 0xf5, 0xc9, 0x16, + 0xe4, 0x0b, 0x7d, 0xb7, 0xf3, 0xae, 0xd7, 0x3b, 0x8f, 0x9c, 0x77, 0x02, 0x97, 0x2d, 0x73, 0x5c, + 0x27, 0xe1, 0x86, 0x7e, 0x64, 0xbc, 0x82, 0xdb, 0x21, 0x95, 0x93, 0x3e, 0x87, 0x54, 0xe7, 0x81, + 0xb8, 0x4d, 0x8f, 0x8d, 0x0e, 0xc1, 0x1a, 0x14, 0x26, 0xaa, 0x33, 0x70, 0xf3, 0x59, 0xdc, 0x87, + 0x62, 0x39, 0x28, 0xd4, 0x41, 0xae, 0x55, 0x0a, 0x5b, 0x20, 0x2d, 0x0e, 0xf6, 0xe5, 0xfd, 0x2d, + 0x77, 0xd5, 0xdd, 0x10, 0xda, 0x33, 0xa1, 0xa1, 0x5a, 0x1d, 0xc3, 0x30, 0x5e, 0x55, 0x42, 0x8f, + 0x6a, 0x3b, 0x03, 0x22, 0xfc, 0x50, 0x04, 0x76, 0x26, 0x0e, 0x37, 0xc3, 0xed, 0x5a, 0x26, 0x83, + 0x9b, 0xcc, 0x69, 0x30, 0x87, 0x3b, 0xc6, 0xc8, 0xb2, 0x49, 0x1a, 0x43, 0xa3, 0xcc, 0x0c, 0x28, + 0x74, 0x8a, 0xd5, 0x27, 0x60, 0x77, 0xff, 0x97, 0x7b, 0x18, 0x69, 0x83, 0xc2, 0xd1, 0x31, 0x86, + 0xc3, 0x91, 0x4e, 0x9d, 0x6c, 0x8a, 0xa7, 0xcc, 0x73, 0x60, 0x47, 0xa0, 0x3e, 0x3f, 0x5f, 0x02, + 0x7c, 0xe3, 0x63, 0xc8, 0x11, 0xf0, 0x96, 0xd1, 0x73, 0x06, 0x4a, 0xe7, 0x55, 0x96, 0xcb, 0xc2, + 0x37, 0x61, 0x7f, 0x62, 0x4c, 0x54, 0x1e, 0x83, 0x8d, 0x30, 0x0a, 0x14, 0x7a, 0xab, 0x9b, 0xee, + 0xf7, 0x33, 0x95, 0xab, 0xf2, 0xe4, 0x70, 0xf4, 0x76, 0x1b, 0x83, 0x01, 0x05, 0x29, 0xb7, 0x07, + 0xed, 0x35, 0x46, 0xb8, 0xfb, 0xb7, 0x47, 0xc6, 0x88, 0xc5, 0x06, 0x8f, 0x54, 0xbc, 0xc2, 0xa2, + 0xb3, 0xb3, 0x8c, 0x11, 0x79, 0x1f, 0x37, 0x41, 0xd6, 0xca, 0xfb, 0x55, 0x67, 0x1f, 0x3d, 0x81, + 0xef, 0xc9, 0xfb, 0x8d, 0x15, 0x02, 0x1f, 0xbf, 0x2c, 0xe7, 0xa2, 0xa1, 0xba, 0xe2, 0xc0, 0x5e, + 0x92, 0x60, 0xfa, 0xb2, 0x04, 0x73, 0xe3, 0xe5, 0xbc, 0x40, 0x8b, 0x15, 0xdf, 0xb5, 0x15, 0x3f, + 0x2b, 0x99, 0x50, 0xe1, 0xf3, 0x51, 0x59, 0x96, 0x6e, 0x2b, 0x02, 0xdf, 0xdc, 0x33, 0xdb, 0x81, + 0x25, 0xe7, 0x93, 0xd1, 0x07, 0xdd, 0x2f, 0xb3, 0x42, 0x06, 0x47, 0x17, 0xee, 0x61, 0xf0, 0x41, + 0xa5, 0xe5, 0xc1, 0xf1, 0x5b, 0xe5, 0x0b, 0x79, 0xc1, 0x26, 0xcb, 0xf7, 0x38, 0xe1, 0xf3, 0x27, + 0xfa, 0xa5, 0x72, 0x0f, 0xcf, 0x7a, 0xc7, 0xe0, 0x11, 0x19, 0xd4, 0xc1, 0xa8, 0x4f, 0x22, 0x87, + 0x77, 0x43, 0xa7, 0xec, 0x34, 0x58, 0x6b, 0x76, 0x82, 0x6e, 0x36, 0x68, 0xee, 0xad, 0x21, 0x8c, + 0x6c, 0x22, 0xb4, 0x47, 0xaa, 0x86, 0x57, 0x58, 0x0b, 0x2c, 0x70, 0xc2, 0x96, 0x68, 0x2a, 0x6a, + 0xdd, 0xd0, 0xb5, 0x05, 0xf6, 0x90, 0x7b, 0x2d, 0x84, 0x00, 0x5a, 0x0b, 0x08, 0x76, 0x5a, 0x5f, + 0x78, 0x32, 0x46, 0x02, 0x58, 0xb3, 0x82, 0x45, 0x9c, 0x91, 0xa5, 0x0b, 0x18, 0xcc, 0x48, 0x40, + 0x19, 0x50, 0x87, 0x84, 0x46, 0x37, 0xe0, 0xb4, 0x42, 0x91, 0x64, 0xe3, 0xb1, 0x76, 0x9c, 0x47, + 0xf8, 0xa1, 0x29, 0x18, 0x5f, 0xfa, 0x8c, 0x26, 0x0e, 0x9e, 0xf9, 0x87, 0xb9, 0x60, 0x81, 0x7c, + 0x4b, 0x6f, 0xb8, 0xf6, 0x70, 0x94, 0x1f, 0x42, 0xa1, 0x7a, 0xce, 0x99, 0x61, 0x51, 0xfd, 0xf6, + 0xd2, 0x83, 0xca, 0xa0, 0xb1, 0xd7, 0x6b, 0x56, 0x90, 0xe5, 0xfa, 0x39, 0xbe, 0xfe, 0x48, 0xc7, + 0xfb, 0x1a, 0x2c, 0xba, 0x72, 0xf8, 0xed, 0xc4, 0x8b, 0xc5, 0x8d, 0x03, 0xc3, 0x02, 0xf4, 0x6d, + 0x47, 0x30, 0x89, 0x85, 0x71, 0x98, 0x38, 0x1d, 0x24, 0x41, 0x05, 0x93, 0x14, 0x3f, 0x7c, 0x89, + 0x73, 0x9a, 0xd0, 0x1b, 0x7b, 0x80, 0x0e, 0x94, 0x1e, 0x46, 0xaf, 0xe7, 0xa2, 0x0d, 0x64, 0x19, + 0x22, 0x11, 0x6c, 0x90, 0x78, 0xb0, 0xa2, 0x4e, 0x06, 0x44, 0xa7, 0xd7, 0xc7, 0x00, 0x2d, 0x80, + 0xcc, 0xcb, 0x76, 0x8b, 0x1a, 0x0c, 0x3b, 0xd2, 0x4c, 0x8c, 0x19, 0xe7, 0x25, 0xb4, 0xe4, 0x64, + 0x30, 0xf6, 0x1b, 0xc1, 0xe0, 0xbb, 0x07, 0xfc, 0x37, 0xc6, 0x40, 0x7a, 0x1a, 0x84, 0x24, 0x4d, + 0x1e, 0x24, 0x3e, 0x22, 0x48, 0x9a, 0xd8, 0x52, 0x07, 0x0f, 0x60, 0x4a, 0xd4, 0x8b, 0x69, 0x63, + 0x70, 0x50, 0xfd, 0x4b, 0x56, 0x52, 0xed, 0x4b, 0x1d, 0x7f, 0x75, 0xad, 0xc1, 0x5e, 0xcf, 0xc6, + 0xec, 0x17, 0x95, 0x48, 0xf6, 0x44, 0xe7, 0x24, 0x3e, 0xda, 0x33, 0xbd, 0xd3, 0x02, 0xe4, 0xbd, + 0xe7, 0xdb, 0xbe, 0x76, 0x43, 0x3a, 0x50, 0x5e, 0x96, 0x06, 0x8a, 0x4d, 0xe3, 0xa8, 0x31, 0x0b, + 0x9e, 0x6f, 0x0e, 0x77, 0xdd, 0xa7, 0x66, 0xf3, 0x96, 0x35, 0xbf, 0x37, 0xb2, 0xea, 0x25, 0x19, + 0x1e, 0x6e, 0x15, 0xab, 0x8e, 0xbf, 0x78, 0xfe, 0x98, 0xb6, 0x44, 0xfa, 0x67, 0x68, 0xcf, 0xcb, + 0x92, 0x77, 0xb7, 0xdb, 0x01, 0xff, 0x72, 0xa5, 0x68, 0xf0, 0xd6, 0x81, 0x57, 0xfc, 0x19, 0x59, + 0x78, 0x37, 0x2c, 0x5b, 0x4c, 0xeb, 0x9b, 0x59, 0x09, 0x08, 0xe6, 0x30, 0x2d, 0x83, 0x56, 0xe9, + 0x37, 0x0d, 0x18, 0x6a, 0x78, 0x84, 0xb5, 0xc7, 0x7f, 0x34, 0x26, 0x30, 0x9a, 0x77, 0x3a, 0x0c, + 0x41, 0x17, 0x5e, 0xa1, 0x2b, 0xb0, 0x46, 0x30, 0x9d, 0xfd, 0x98, 0x1d, 0x0f, 0x10, 0xf6, 0x44, + 0xc9, 0x80, 0xcd, 0x4e, 0x20, 0xd3, 0xb1, 0xea, 0x65, 0xa9, 0x5b, 0xef, 0x82, 0x1d, 0x8d, 0xf6, + 0x8b, 0xd4, 0x9b, 0xa2, 0xee, 0x5b, 0xff, 0xe3, 0xa7, 0x64, 0xa2, 0x1a, 0x56, 0x9f, 0x2f, 0x24, + 0xe2, 0x3d, 0x68, 0xde, 0x83, 0x19, 0x3c, 0x5d, 0xd4, 0x45, 0x51, 0x32, 0x8f, 0xb1, 0x9b, 0x8b, + 0xd1, 0x10, 0x7f, 0x86, 0x4e, 0x3d, 0x8b, 0x7f, 0xcf, 0x5a, 0xec, 0xed, 0x0c, 0x7a, 0x42, 0x60, + 0xe0, 0x07, 0x45, 0x22, 0xd6, 0x52, 0xed, 0x73, 0x84, 0x61, 0x88, 0x00, 0x0c, 0x07, 0x88, 0x75, + 0xaf, 0x5f, 0x9f, 0x3b, 0x78, 0x14, 0xba, 0x36, 0x47, 0x65, 0xbb, 0x06, 0x1a, 0xb8, 0xf5, 0x2a, + 0x4a, 0xed, 0x7e, 0x6d, 0x3e, 0xb2, 0xb4, 0x9a, 0x28, 0x2e, 0x24, 0x45, 0x33, 0x07, 0x0a, 0x64, + 0xf7, 0x6b, 0xe9, 0x92, 0x04, 0x16, 0x50, 0x2d, 0x5d, 0x59, 0x48, 0x2c, 0xca, 0x19, 0x13, 0xa1, + 0x08, 0xbe, 0x0e, 0xcd, 0x1a, 0xbb, 0xf2, 0xc9, 0xae, 0xcd, 0xd9, 0x69, 0xdc, 0x1a, 0x0c, 0x9e, + 0xd5, 0x6f, 0xd7, 0xa0, 0xc3, 0xb7, 0x11, 0xa4, 0xe0, 0xfb, 0x80, 0x4c, 0xe1, 0x1d, 0x30, 0xa2, + 0x7e, 0x0c, 0x4c, 0x31, 0x3b, 0x43, 0x10, 0xe7, 0x58, 0xc8, 0x54, 0xbb, 0x98, 0x00, 0xa4, 0xd6, + 0x88, 0x5e, 0x63, 0xc3, 0x67, 0x4e, 0x2c, 0xf7, 0x89, 0x4c, 0x4d, 0xcc, 0xed, 0xd8, 0xb4, 0xd6, + 0xa0, 0xab, 0xcc, 0x6c, 0xcc, 0x01, 0xb2, 0x91, 0x1e, 0x86, 0x95, 0x2d, 0xa4, 0x81, 0xa1, 0xd5, + 0xff, 0xf8, 0x43, 0x96, 0xb2, 0x59, 0x29, 0x57, 0x90, 0x0a, 0x92, 0xbf, 0xd6, 0x2a, 0xbe, 0x4a, + 0x91, 0xee, 0xc3, 0xb2, 0x3e, 0x6a, 0xa7, 0x55, 0x23, 0x33, 0x1d, 0x2a, 0x76, 0x1a, 0x6c, 0x0c, + 0xf1, 0xa7, 0x04, 0x75, 0x72, 0x52, 0xb6, 0x2c, 0x65, 0x83, 0x2a, 0xd4, 0x04, 0xb1, 0xd3, 0x14, + 0xf5, 0x8e, 0x81, 0x11, 0x2e, 0x69, 0x40, 0x31, 0x53, 0xa8, 0x66, 0xf1, 0x5f, 0x36, 0x97, 0x4f, + 0xbf, 0x98, 0xb4, 0x6a, 0x4e, 0xce, 0x15, 0xa5, 0xbc, 0x94, 0xc3, 0x26, 0xd6, 0x77, 0x48, 0x60, + 0x1c, 0x40, 0x4c, 0xb9, 0x5d, 0x42, 0xbd, 0x02, 0x54, 0xc9, 0x67, 0xff, 0x62, 0x3d, 0x59, 0x2a, + 0x01, 0x6a, 0x1f, 0x43, 0x5a, 0xcc, 0x96, 0xf0, 0x5f, 0xb9, 0x9a, 0xf3, 0x20, 0xc5, 0xaf, 0x80, + 0x64, 0x3f, 0x51, 0x33, 0x9b, 0xad, 0xe2, 0xbf, 0x4a, 0x45, 0x96, 0x59, 0xd5, 0x9f, 0x52, 0xc7, + 0x99, 0xba, 0x61, 0x7f, 0xd4, 0xcd, 0x75, 0x61, 0xd1, 0xf9, 0x41, 0x9f, 0x0f, 0x54, 0x50, 0x12, + 0xf0, 0x53, 0x97, 0xc0, 0xb9, 0x5b, 0x20, 0x13, 0x04, 0xaa, 0x78, 0xec, 0xb9, 0xac, 0xac, 0xb6, + 0x9d, 0xbe, 0xd6, 0x64, 0x4e, 0x56, 0x9c, 0xcb, 0xf6, 0xd2, 0x7b, 0x67, 0xf0, 0xea, 0xbf, 0x67, + 0xb7, 0x7a, 0x23, 0x9d, 0xde, 0xc8, 0x2f, 0x0c, 0x40, 0x73, 0xd2, 0xc8, 0xbd, 0x7f, 0xc3, 0x55, + 0x93, 0x7a, 0x70, 0x13, 0xc9, 0xf9, 0x97, 0x6e, 0x9a, 0x29, 0xa6, 0xdf, 0xbe, 0xe9, 0x64, 0x22, + 0x40, 0x47, 0xf8, 0x11, 0x55, 0x6f, 0xa6, 0x6e, 0xe7, 0x49, 0xfe, 0xdb, 0xb7, 0x90, 0x35, 0xb3, + 0xf0, 0xdb, 0xb4, 0x9b, 0x86, 0x96, 0x20, 0x92, 0x93, 0x9c, 0x83, 0xf2, 0xe8, 0x4e, 0xbb, 0x7d, + 0x8d, 0xe0, 0x4f, 0x9a, 0x2e, 0xb2, 0x69, 0x98, 0xf9, 0x57, 0x16, 0x98, 0x1c, 0x96, 0x33, 0xa3, + 0x05, 0x83, 0xba, 0x18, 0x12, 0x46, 0x92, 0x73, 0x77, 0x9d, 0x02, 0xb5, 0x8d, 0x78, 0x55, 0x77, + 0x67, 0x34, 0x8b, 0x2b, 0xba, 0xbf, 0xdb, 0xbc, 0x58, 0x51, 0xd8, 0xde, 0x9d, 0x35, 0x51, 0x10, + 0x23, 0xc5, 0x42, 0x95, 0x54, 0x7b, 0x7f, 0x68, 0x62, 0xaf, 0x7e, 0x35, 0xb9, 0x5e, 0xaf, 0x5f, + 0xb6, 0x5f, 0xf0, 0x43, 0x21, 0xaf, 0x64, 0x66, 0x43, 0x4e, 0x9a, 0x45, 0x53, 0xf3, 0x95, 0xa0, + 0x00, 0x57, 0x85, 0x7c, 0xfb, 0x26, 0x1a, 0xb4, 0x8a, 0x58, 0xaf, 0xa3, 0x93, 0xcf, 0xe8, 0x61, + 0xda, 0x97, 0x86, 0x65, 0x29, 0xb3, 0xb4, 0x6a, 0xd3, 0xdf, 0x48, 0xb7, 0x20, 0x3b, 0x88, 0xa5, + 0x76, 0x82, 0x56, 0xbe, 0x40, 0x9a, 0x72, 0x91, 0x30, 0x15, 0xd0, 0xac, 0x0f, 0xf0, 0x02, 0x29, + 0xc8, 0x4a, 0x7e, 0xfb, 0xa6, 0xa2, 0x0f, 0x11, 0xa4, 0x70, 0xa4, 0xfa, 0x4d, 0xbf, 0x4d, 0x8f, + 0xa0, 0x84, 0x01, 0xa7, 0x95, 0x8f, 0x75, 0xa8, 0x9a, 0xb6, 0xa0, 0x6e, 0x38, 0xa5, 0xbf, 0x94, + 0xd2, 0xe6, 0x9a, 0x04, 0x81, 0xd1, 0x72, 0xac, 0xa0, 0x39, 0x3c, 0x97, 0x9a, 0x10, 0x53, 0xd0, + 0x50, 0x0a, 0xcc, 0x3f, 0xf8, 0xed, 0xbb, 0xbf, 0xed, 0x94, 0x98, 0x14, 0x43, 0xf5, 0xf0, 0x4e, + 0x05, 0xbf, 0x5e, 0x3a, 0x97, 0xcd, 0x95, 0x7e, 0x0f, 0x01, 0x92, 0x4a, 0x97, 0xb3, 0xc5, 0xdc, + 0xef, 0x21, 0x50, 0x52, 0x69, 0xb9, 0x9c, 0x0b, 0xa5, 0xf1, 0xc0, 0xe0, 0xbe, 0x5e, 0xeb, 0x0c, + 0x1b, 0x45, 0xce, 0x76, 0xea, 0x24, 0x8d, 0x32, 0x1a, 0x52, 0xd3, 0x93, 0x1d, 0xae, 0x8a, 0x9f, + 0x98, 0xac, 0x01, 0x4b, 0xa3, 0xee, 0xad, 0x13, 0xf1, 0x4b, 0xbd, 0xde, 0xc7, 0xc3, 0x76, 0x43, + 0x73, 0x04, 0x4b, 0x4d, 0x0b, 0xf9, 0x0b, 0xc7, 0x10, 0xad, 0xa8, 0x16, 0xbd, 0x11, 0x75, 0x8b, + 0x2d, 0x66, 0x30, 0x3e, 0x3c, 0x19, 0xbd, 0xc6, 0x92, 0x3b, 0x09, 0xfb, 0xcf, 0x3f, 0xe1, 0x9d, + 0x71, 0x26, 0x95, 0xac, 0x75, 0x0f, 0x49, 0xbf, 0xd0, 0x76, 0x36, 0x57, 0xde, 0xa1, 0x07, 0x6b, + 0xc4, 0x1a, 0x3d, 0x7f, 0x24, 0x26, 0x25, 0xaf, 0x4a, 0x70, 0x68, 0xa4, 0xee, 0x2d, 0xa1, 0xdf, + 0xbe, 0x39, 0xdb, 0xf2, 0xce, 0xaf, 0xe8, 0x19, 0x92, 0x6c, 0x85, 0x1e, 0x51, 0x17, 0x7e, 0x9b, + 0x7b, 0xd4, 0xf7, 0x3b, 0x58, 0x08, 0x79, 0xf9, 0x5f, 0x12, 0x52, 0x37, 0xf1, 0xdb, 0xdc, 0x59, + 0x48, 0xfe, 0x9f, 0x64, 0xf2, 0x57, 0x6d, 0xa9, 0x74, 0xb2, 0x96, 0xf0, 0x91, 0x0a, 0xfa, 0x4c, + 0xc0, 0x2a, 0x14, 0x0b, 0xd6, 0xaf, 0x98, 0x66, 0x7f, 0x49, 0xcb, 0x68, 0x3b, 0x31, 0x68, 0x72, + 0xa3, 0xa4, 0x98, 0xa6, 0x36, 0x6b, 0xf6, 0xfa, 0x20, 0x1d, 0x3a, 0xec, 0x56, 0x0f, 0x51, 0x43, + 0x05, 0x19, 0x26, 0x41, 0x1d, 0xd6, 0xb7, 0x34, 0x5d, 0xde, 0xd2, 0xb8, 0xba, 0x25, 0xb7, 0x50, + 0x89, 0x21, 0x5c, 0x2a, 0xed, 0x20, 0xdd, 0xee, 0x6f, 0x01, 0x9c, 0x54, 0x3e, 0x88, 0xf4, 0x5a, + 0x5a, 0x51, 0x72, 0xcb, 0x3a, 0xb4, 0x2c, 0xae, 0x6e, 0x69, 0xb6, 0x64, 0x6d, 0x79, 0xa5, 0x9c, + 0xb6, 0x29, 0x4a, 0xce, 0x8e, 0x88, 0x77, 0x73, 0x09, 0xec, 0x8f, 0xec, 0x3e, 0x01, 0x90, 0xf4, + 0x39, 0xe7, 0x7e, 0x52, 0x94, 0x3e, 0xc0, 0xc8, 0x78, 0x55, 0xdb, 0x6e, 0x55, 0xff, 0xaa, 0x58, + 0x41, 0xf6, 0xaa, 0xb8, 0x57, 0xa3, 0xf1, 0x85, 0x07, 0x5d, 0x5a, 0x98, 0xde, 0x0c, 0x05, 0xc5, + 0x28, 0x73, 0x71, 0xd9, 0x43, 0x87, 0x66, 0xcb, 0xb4, 0xdb, 0x62, 0xa8, 0x1f, 0x67, 0xb3, 0x2d, + 0x4a, 0x01, 0xae, 0x54, 0xd0, 0xa7, 0x61, 0x01, 0x0f, 0x4a, 0xd8, 0x7d, 0x93, 0x95, 0xa0, 0x18, + 0xb2, 0xf5, 0x76, 0x87, 0x75, 0x51, 0x73, 0x7b, 0x84, 0xc2, 0x2a, 0x06, 0x63, 0x85, 0x43, 0xbe, + 0x31, 0x2e, 0xc7, 0x8f, 0xf7, 0xbe, 0x53, 0x81, 0xfa, 0xa2, 0x74, 0xd2, 0xba, 0xbc, 0x80, 0x71, + 0xc3, 0x4f, 0x23, 0xab, 0xbd, 0x59, 0x02, 0x9a, 0x4d, 0x26, 0x7d, 0xed, 0x03, 0x84, 0x57, 0xd7, + 0xfe, 0xf6, 0x8d, 0x39, 0x72, 0xee, 0x8e, 0x79, 0xb9, 0xec, 0x1d, 0xaf, 0x98, 0xfb, 0x80, 0x30, + 0x3d, 0x22, 0x0d, 0xca, 0x42, 0xfd, 0x4b, 0x4c, 0xa2, 0x14, 0x8c, 0x78, 0xa8, 0x15, 0xf7, 0x4a, + 0x97, 0x79, 0x78, 0xd0, 0xeb, 0xab, 0xb8, 0x61, 0x87, 0xe9, 0x3a, 0x35, 0x37, 0x7f, 0x55, 0xab, + 0x5e, 0xb4, 0xd3, 0x3c, 0xc2, 0x09, 0x1c, 0x68, 0x2c, 0x61, 0x55, 0x03, 0xf4, 0xd0, 0xcd, 0x12, + 0x72, 0xc0, 0xfb, 0xcb, 0xc8, 0x41, 0x62, 0x6c, 0x2b, 0x2e, 0x5f, 0x83, 0x20, 0x22, 0x20, 0x17, + 0x78, 0x3e, 0x15, 0xbf, 0x12, 0xc2, 0xf3, 0x43, 0x67, 0xb3, 0x87, 0x89, 0xf4, 0x94, 0x20, 0x97, + 0x98, 0xc3, 0xc4, 0x6e, 0xb7, 0x1b, 0x4a, 0xcc, 0x63, 0x62, 0xbb, 0xdd, 0x0e, 0x25, 0x16, 0x30, + 0x51, 0x51, 0x94, 0x50, 0x62, 0x11, 0x13, 0xab, 0xd5, 0x6a, 0x28, 0xb1, 0x14, 0x97, 0x58, 0xc1, + 0xc4, 0x4a, 0xa5, 0x12, 0x4a, 0x6c, 0x63, 0x62, 0xa1, 0x50, 0x08, 0x25, 0x76, 0x30, 0x31, 0x9f, + 0xcf, 0x87, 0x12, 0xd1, 0xc7, 0xf7, 0x35, 0x9b, 0xcd, 0x86, 0x12, 0xbb, 0x98, 0x98, 0xcb, 0xe5, + 0x42, 0x89, 0x16, 0x85, 0x33, 0x17, 0x2e, 0xd9, 0xa7, 0x25, 0x95, 0x70, 0xa2, 0x46, 0x13, 0x4b, + 0x9d, 0x50, 0xa2, 0x01, 0x89, 0xf4, 0xfb, 0xaa, 0x39, 0xb9, 0x20, 0x09, 0xc1, 0x1f, 0x39, 0x5d, + 0x4d, 0x86, 0x0a, 0xda, 0x6d, 0x97, 0x9e, 0xf9, 0x48, 0xf2, 0xc0, 0x4d, 0x2f, 0x85, 0xd2, 0x9d, + 0xf6, 0x8a, 0x86, 0xd9, 0x05, 0xa0, 0x30, 0x25, 0x93, 0xc9, 0x48, 0x05, 0xc5, 0xab, 0x91, 0x2d, + 0xcb, 0x92, 0x10, 0xfc, 0x59, 0x5d, 0x63, 0xf0, 0xa9, 0x3e, 0x68, 0x18, 0x3b, 0xf5, 0xb8, 0x27, + 0x5d, 0x71, 0xca, 0xc2, 0x3c, 0x71, 0x2f, 0x00, 0xef, 0xc6, 0x4f, 0xc8, 0xe9, 0x0a, 0x94, 0xab, + 0x45, 0x19, 0x2a, 0x4a, 0x7e, 0xca, 0x50, 0x6c, 0x6d, 0x89, 0x30, 0x54, 0x74, 0x4c, 0xf2, 0x71, + 0x43, 0x5a, 0x88, 0x1b, 0x7c, 0xca, 0x50, 0xc5, 0x62, 0x71, 0x99, 0xa1, 0x4a, 0xa5, 0xd2, 0x27, + 0x19, 0x2a, 0xca, 0xb9, 0x94, 0xa1, 0x3a, 0x9d, 0xce, 0x32, 0x43, 0x45, 0xa7, 0x48, 0x37, 0x6e, + 0x36, 0x50, 0x86, 0x22, 0x85, 0xdc, 0x32, 0x43, 0x15, 0x48, 0x6e, 0x99, 0xa1, 0x0a, 0x15, 0x25, + 0x9e, 0xa1, 0xf2, 0x30, 0x10, 0xde, 0xbf, 0x15, 0xdc, 0x04, 0xc4, 0x8c, 0xe5, 0x26, 0x48, 0x2f, + 0xae, 0xe0, 0x26, 0xbe, 0xd5, 0xcf, 0xb0, 0x92, 0x9c, 0x03, 0x2e, 0xf2, 0xff, 0x7c, 0x82, 0x95, + 0x8a, 0x59, 0x49, 0xf0, 0xfe, 0x7d, 0x96, 0x8f, 0x46, 0x3a, 0xac, 0x03, 0x22, 0x27, 0xa7, 0xd0, + 0xcf, 0xb6, 0xdb, 0x0f, 0x14, 0x26, 0x5a, 0xb5, 0xdd, 0xc7, 0x3e, 0xeb, 0xdd, 0x74, 0xc7, 0x22, + 0x20, 0xfc, 0x5d, 0x55, 0x98, 0x36, 0x29, 0x26, 0xb7, 0xd4, 0x5e, 0xc2, 0x4e, 0xe3, 0xde, 0x0f, + 0x91, 0x44, 0x90, 0xd1, 0xe4, 0xcf, 0x3f, 0x7d, 0x03, 0x05, 0xcc, 0x48, 0x7b, 0x34, 0x4c, 0x9b, + 0x03, 0xc3, 0x31, 0xec, 0x4c, 0xb6, 0x9a, 0x93, 0x33, 0x59, 0xb9, 0x22, 0xa3, 0x24, 0x87, 0x1e, + 0x70, 0x79, 0xd6, 0xeb, 0x9e, 0x11, 0xb0, 0xd5, 0x33, 0xac, 0x04, 0x75, 0x51, 0x08, 0xa0, 0xf5, + 0x82, 0x29, 0xf8, 0xe7, 0x9f, 0x7f, 0xfc, 0x64, 0x85, 0x94, 0x3a, 0xa8, 0x9b, 0xda, 0x1f, 0xf2, + 0xcf, 0x1d, 0x1d, 0x55, 0xf1, 0x03, 0x30, 0x64, 0x9e, 0x40, 0xff, 0x49, 0x24, 0x6b, 0x98, 0x28, + 0x19, 0x7e, 0x1b, 0x09, 0x45, 0xd2, 0xfe, 0xc8, 0xfe, 0x84, 0x3f, 0xb9, 0x9f, 0x49, 0x49, 0x0d, + 0xd2, 0x0d, 0x00, 0x13, 0x97, 0x3c, 0xfa, 0xa2, 0x62, 0x23, 0xf4, 0x29, 0x99, 0xd2, 0xfe, 0xc8, + 0x43, 0x49, 0x7d, 0xbb, 0x6e, 0x80, 0x39, 0xf2, 0xa3, 0xae, 0x82, 0xb2, 0xc3, 0x90, 0xd1, 0xfe, + 0x28, 0xfc, 0x4c, 0x2e, 0x16, 0x36, 0x1e, 0x79, 0xd9, 0x1f, 0x03, 0xba, 0xb8, 0x07, 0x82, 0x6e, + 0xf8, 0x04, 0xf5, 0x45, 0x82, 0x7e, 0x51, 0xdf, 0x76, 0x31, 0xe0, 0x34, 0xed, 0xe8, 0x5a, 0xdd, + 0xee, 0x43, 0xc7, 0x54, 0x1d, 0xd7, 0x41, 0x69, 0x4e, 0xe8, 0xf5, 0x74, 0x29, 0x29, 0x79, 0xc6, + 0x8a, 0x7b, 0x5d, 0x63, 0x5d, 0xf7, 0x53, 0x02, 0xd5, 0xea, 0x18, 0x4d, 0xbb, 0xfa, 0x2f, 0xb0, + 0xe0, 0x41, 0xbf, 0xa2, 0x10, 0x51, 0xcd, 0x8a, 0x19, 0x71, 0x74, 0x50, 0x82, 0x1d, 0xc4, 0x64, + 0x48, 0xd7, 0x12, 0xbd, 0x8b, 0x8a, 0x3b, 0xa0, 0x5d, 0x47, 0x46, 0xb6, 0xf5, 0xaa, 0xea, 0xcd, + 0x56, 0x0b, 0x87, 0x17, 0x46, 0xed, 0x0b, 0xb3, 0x89, 0x18, 0x8d, 0x9d, 0x7a, 0xc4, 0xcc, 0xb9, + 0x55, 0xfa, 0xd4, 0xc8, 0x41, 0xc7, 0x39, 0xcc, 0x33, 0x24, 0x74, 0x0c, 0x0b, 0xe0, 0x9e, 0x2c, + 0xf0, 0x80, 0x9d, 0x56, 0xbb, 0x30, 0xfe, 0xb0, 0xfe, 0x11, 0x0d, 0x77, 0xd7, 0x67, 0xf8, 0x09, + 0x74, 0x02, 0xac, 0x05, 0x49, 0x41, 0xb0, 0x42, 0x06, 0x6c, 0x7f, 0x4c, 0x59, 0x73, 0x3a, 0x2e, + 0x4d, 0x8f, 0xc7, 0xd9, 0x00, 0x67, 0xda, 0x2d, 0x4c, 0xef, 0x83, 0xad, 0x8b, 0x78, 0xd4, 0x13, + 0xe8, 0x84, 0x37, 0x50, 0xea, 0xdd, 0xe6, 0x40, 0xd5, 0xba, 0x09, 0x1b, 0xc6, 0xc7, 0x47, 0xcf, + 0xd0, 0xd1, 0x8f, 0x0a, 0xcb, 0x34, 0x86, 0xc2, 0x93, 0x1a, 0xb0, 0x58, 0xf4, 0x4c, 0x9e, 0x69, + 0x19, 0x78, 0xc4, 0x55, 0x83, 0x71, 0xa0, 0xfe, 0x2d, 0x59, 0x4a, 0xd0, 0x4e, 0xeb, 0x21, 0xbd, + 0xa8, 0xef, 0xe9, 0x45, 0x90, 0x7a, 0x6c, 0x82, 0x9a, 0x0a, 0xca, 0x2c, 0x2b, 0x06, 0xf5, 0xc1, + 0xc2, 0x4b, 0x88, 0x68, 0x30, 0xd3, 0x0b, 0xf2, 0xd2, 0xc2, 0x95, 0x86, 0x5f, 0x89, 0x17, 0xe8, + 0xb5, 0xda, 0xec, 0xaa, 0xcd, 0xe3, 0xab, 0x2f, 0xe2, 0x2a, 0x4d, 0x8b, 0xb5, 0x28, 0xd1, 0xd6, + 0x92, 0x49, 0x4f, 0x95, 0x8d, 0xef, 0x3d, 0xd0, 0xca, 0x92, 0xa8, 0xd9, 0x22, 0x63, 0xd5, 0xc1, + 0xce, 0xeb, 0x93, 0x3d, 0x42, 0x4c, 0x7c, 0x63, 0xca, 0x1a, 0x65, 0x3d, 0x1c, 0x43, 0x3c, 0xac, + 0x87, 0xc6, 0xef, 0x9d, 0xa3, 0x6a, 0xa0, 0xea, 0x25, 0xd8, 0xa6, 0x4f, 0x7d, 0x45, 0xeb, 0x66, + 0x67, 0x28, 0x02, 0x62, 0x5f, 0x32, 0xe7, 0x46, 0x5b, 0xcd, 0x80, 0x49, 0x63, 0x3b, 0x09, 0x5d, + 0x19, 0xab, 0x7d, 0x05, 0x4a, 0xa6, 0x47, 0x36, 0xb1, 0x1a, 0x7d, 0x40, 0x0a, 0x58, 0x16, 0xf9, + 0x6d, 0x6d, 0x2b, 0x50, 0x26, 0x7a, 0xe9, 0x20, 0xa7, 0x00, 0x05, 0xaa, 0x29, 0xf5, 0xf7, 0xec, + 0xf4, 0x88, 0xd3, 0x19, 0x24, 0xd6, 0x0d, 0xfd, 0x00, 0xef, 0x95, 0x87, 0xa2, 0xe9, 0x17, 0x30, + 0xfe, 0x45, 0x69, 0x3e, 0x24, 0xce, 0xc0, 0xe8, 0xd6, 0x44, 0xe8, 0x15, 0xd8, 0x19, 0x27, 0x97, + 0x9e, 0x80, 0xa9, 0x47, 0x68, 0x7e, 0x22, 0x19, 0xa4, 0xcc, 0xa3, 0x46, 0x32, 0x50, 0x0d, 0x1d, + 0x4a, 0x60, 0xee, 0x26, 0xd3, 0xc0, 0x02, 0xd0, 0x2f, 0x96, 0x42, 0xf7, 0xa9, 0x01, 0x93, 0x45, + 0x33, 0xfa, 0x09, 0xf1, 0xc2, 0x10, 0x14, 0x2c, 0xed, 0x4a, 0x1c, 0xda, 0x31, 0x7a, 0x64, 0x43, + 0x40, 0xa4, 0x85, 0x3d, 0xf6, 0x71, 0x39, 0x9b, 0xce, 0x21, 0xd2, 0x05, 0x40, 0xa1, 0xc9, 0x9e, + 0xaa, 0x03, 0x4f, 0xce, 0x12, 0x89, 0x24, 0xb4, 0xea, 0x8a, 0x4d, 0x4e, 0x3d, 0xed, 0xa7, 0x61, + 0xee, 0x42, 0xb9, 0xda, 0xaa, 0xac, 0x80, 0x34, 0xc0, 0xe8, 0xdf, 0xbe, 0xf1, 0xd3, 0x53, 0x44, + 0xfe, 0x6f, 0x02, 0xfb, 0x27, 0xa5, 0xd0, 0x31, 0x7c, 0xc9, 0x8d, 0x47, 0x75, 0x43, 0x21, 0x30, + 0x85, 0x79, 0x0b, 0x57, 0xf3, 0xd0, 0xd5, 0xd0, 0xa1, 0xfc, 0xc8, 0x9d, 0xb4, 0xf5, 0x01, 0x3e, + 0x78, 0x44, 0x2f, 0x0f, 0xff, 0xce, 0x9e, 0xb9, 0xd3, 0x9d, 0x7e, 0x1e, 0x7f, 0xa2, 0x93, 0xa5, + 0x86, 0x7d, 0x34, 0xc9, 0x85, 0x84, 0x91, 0x0e, 0x0b, 0xfa, 0x3f, 0xc6, 0x8b, 0x2e, 0x2b, 0x76, + 0x63, 0x24, 0x68, 0x70, 0xf1, 0x39, 0x0b, 0xec, 0x13, 0xa5, 0x78, 0x77, 0x91, 0xf4, 0x25, 0xeb, + 0xae, 0x5e, 0x9d, 0xb1, 0x2f, 0xe6, 0x3c, 0xb1, 0x29, 0x6f, 0x79, 0x72, 0x0b, 0x00, 0xb1, 0x66, + 0x2d, 0x4a, 0x29, 0xc3, 0x6a, 0x68, 0x5a, 0xe2, 0x3b, 0x77, 0xfb, 0xb0, 0x1b, 0x99, 0xfb, 0xf3, + 0x7b, 0xd2, 0x5f, 0x61, 0x6c, 0x1c, 0x6f, 0x27, 0x19, 0x27, 0xdb, 0x1d, 0x63, 0xd4, 0x19, 0xa0, + 0xc3, 0x1d, 0x8d, 0x32, 0xca, 0xd7, 0xbb, 0x34, 0x0e, 0x17, 0x46, 0x62, 0x55, 0x69, 0x90, 0x47, + 0x91, 0xb2, 0x81, 0x54, 0x8a, 0x0c, 0x18, 0xf1, 0x64, 0x2d, 0x73, 0x31, 0x05, 0x41, 0x2d, 0x31, + 0xb0, 0x2d, 0x9f, 0xa2, 0x54, 0x3a, 0xf8, 0xb9, 0x07, 0x28, 0xcb, 0x9c, 0xd1, 0x7f, 0xfe, 0xe9, + 0xfc, 0x41, 0x7e, 0x46, 0x0f, 0x67, 0x7a, 0x85, 0x38, 0xc9, 0xe8, 0x86, 0xc9, 0x10, 0xc9, 0xa9, + 0x03, 0x3d, 0xe7, 0xac, 0x36, 0x18, 0xf8, 0x0e, 0x88, 0x36, 0xb5, 0x85, 0x61, 0xc3, 0x20, 0xba, + 0xff, 0xab, 0x19, 0x73, 0x4c, 0xd2, 0x1e, 0x1a, 0x86, 0x03, 0x0a, 0x06, 0x0e, 0x03, 0x14, 0x58, + 0xf6, 0xb1, 0x81, 0x0e, 0xa2, 0x8a, 0x12, 0x6b, 0x64, 0x89, 0x3d, 0x41, 0x2c, 0x2d, 0x28, 0xba, + 0x8c, 0x99, 0x02, 0xdf, 0x20, 0x7e, 0x49, 0x81, 0x45, 0xc7, 0x78, 0x30, 0x39, 0x30, 0x59, 0xd9, + 0x38, 0xbb, 0xf1, 0x36, 0xc9, 0xa5, 0x15, 0xb1, 0x19, 0x5e, 0xdd, 0x2c, 0x50, 0x6c, 0x28, 0x03, + 0xd8, 0x4c, 0x47, 0x61, 0x71, 0x38, 0x74, 0x25, 0xc2, 0x8f, 0xb0, 0x1e, 0xdd, 0x9e, 0x9f, 0xd1, + 0x05, 0x29, 0x4c, 0x1e, 0xb0, 0xb3, 0x09, 0xc6, 0xe6, 0x80, 0xcd, 0x88, 0x40, 0xc0, 0xd4, 0xa0, + 0xf1, 0x3a, 0x1e, 0xbb, 0xbb, 0x90, 0xe2, 0x60, 0xb3, 0xee, 0x15, 0x5d, 0x1d, 0xd2, 0xd5, 0xc3, + 0xf5, 0x09, 0x49, 0x6e, 0x89, 0x7a, 0x74, 0x8e, 0xc4, 0x8d, 0x17, 0xeb, 0x61, 0x21, 0xe5, 0xaa, + 0x30, 0x33, 0x24, 0x40, 0x91, 0x97, 0x3d, 0x3c, 0x97, 0x60, 0x41, 0x2e, 0x64, 0x28, 0x39, 0x0f, + 0x08, 0x24, 0x36, 0x81, 0x20, 0xc4, 0xb5, 0x44, 0x0d, 0x81, 0x1a, 0xba, 0x42, 0x4f, 0x81, 0x25, + 0xa8, 0xfb, 0x05, 0xc6, 0x45, 0xe6, 0x4d, 0xcc, 0x48, 0xe4, 0x11, 0xa9, 0x17, 0x49, 0xde, 0x67, + 0x38, 0x9e, 0x46, 0x0e, 0x07, 0xac, 0x7b, 0x97, 0xa7, 0x9d, 0x70, 0x09, 0x83, 0x62, 0x33, 0x9e, + 0x26, 0xab, 0x50, 0x77, 0x56, 0xa2, 0x2e, 0xc5, 0x65, 0xb9, 0xdd, 0x2c, 0x24, 0xc2, 0xbb, 0x80, + 0x40, 0x68, 0xdd, 0xe0, 0x46, 0xdc, 0x90, 0xb8, 0xce, 0x43, 0x06, 0x76, 0xe0, 0xa3, 0x43, 0x05, + 0xf4, 0x5c, 0x71, 0x06, 0xe9, 0x9e, 0x66, 0xc0, 0x54, 0x71, 0x32, 0x95, 0x52, 0x01, 0xc9, 0xaa, + 0xf3, 0xa9, 0x09, 0x67, 0x93, 0x26, 0xff, 0x6e, 0x27, 0x33, 0xf9, 0x12, 0x66, 0x6b, 0xf1, 0xd9, + 0x9b, 0x98, 0xfb, 0xbb, 0x9e, 0xcc, 0x94, 0x70, 0xb9, 0xaa, 0xdb, 0x3b, 0x76, 0x4a, 0x14, 0xc4, + 0x54, 0x22, 0x5b, 0x87, 0x67, 0x11, 0x44, 0xbf, 0x88, 0xfb, 0x28, 0x33, 0x1b, 0x97, 0x24, 0x49, + 0x10, 0xf1, 0x7b, 0x7e, 0xae, 0x73, 0x54, 0x49, 0xd5, 0xf5, 0x3f, 0xff, 0xb4, 0x77, 0x74, 0xbf, + 0x82, 0x0e, 0x4b, 0x99, 0x31, 0x42, 0x96, 0xc2, 0x1f, 0xa8, 0x02, 0xa5, 0xa5, 0x2f, 0x20, 0xd2, + 0x75, 0x20, 0x25, 0x14, 0xc7, 0x06, 0x80, 0x14, 0xdb, 0xc5, 0x2a, 0xcc, 0x39, 0x9b, 0xa5, 0x69, + 0x29, 0x1a, 0xaf, 0x8a, 0xe9, 0x3f, 0x10, 0x14, 0xf4, 0xeb, 0x61, 0x3e, 0x57, 0xde, 0x4d, 0xc7, + 0x14, 0x67, 0xb3, 0x24, 0xff, 0x8e, 0x55, 0x6c, 0x82, 0xb6, 0x91, 0xc2, 0xf9, 0x6f, 0x75, 0x90, + 0x1b, 0xc6, 0x04, 0xe7, 0x11, 0xfa, 0x2d, 0x45, 0xcf, 0x79, 0xfa, 0xeb, 0x87, 0x63, 0x6d, 0xff, + 0x70, 0xba, 0xde, 0xae, 0xe1, 0x2b, 0x99, 0x39, 0x5d, 0x71, 0xfb, 0xb7, 0x39, 0x59, 0xfc, 0xc8, + 0x38, 0x5d, 0x3e, 0x6b, 0xac, 0x68, 0x2c, 0xcb, 0x59, 0x80, 0xa6, 0xe9, 0x66, 0x67, 0xa0, 0xfa, + 0xaf, 0xd0, 0xe8, 0x9c, 0x71, 0x3b, 0x65, 0x57, 0x09, 0x36, 0x3e, 0xa4, 0x9e, 0xf5, 0xe5, 0x16, + 0xdd, 0xc9, 0xa4, 0x1b, 0x5f, 0x49, 0x07, 0xb4, 0xfb, 0x6f, 0xdf, 0x48, 0x2a, 0xe5, 0xd1, 0x8c, + 0x6c, 0xe7, 0x8a, 0x88, 0x0a, 0xa9, 0xc3, 0x6f, 0x52, 0x22, 0x1c, 0xcf, 0xe2, 0xce, 0xc1, 0x1d, + 0x34, 0xc9, 0x89, 0x46, 0xe0, 0xd4, 0x5f, 0x26, 0x42, 0xaa, 0x76, 0x7f, 0x25, 0xd9, 0xdd, 0x5e, + 0x5b, 0x5f, 0x68, 0xcb, 0x7f, 0x38, 0x3f, 0xff, 0xfc, 0x53, 0xfe, 0x82, 0xad, 0x63, 0x1f, 0x3b, + 0x41, 0x51, 0xfc, 0x5e, 0x09, 0x14, 0x0e, 0xa6, 0xbe, 0x83, 0x5d, 0xee, 0xd0, 0x93, 0x92, 0x95, + 0xca, 0x96, 0x70, 0xbc, 0x27, 0x0c, 0x47, 0xb6, 0x23, 0xb4, 0x89, 0x00, 0xe9, 0x82, 0x01, 0x56, + 0x06, 0xb1, 0xed, 0x34, 0x0e, 0x6c, 0x6d, 0x4d, 0x2b, 0xbf, 0xbc, 0xfa, 0xb8, 0x59, 0x3c, 0xb1, + 0x54, 0xbc, 0xce, 0x59, 0xf8, 0x6d, 0x6e, 0x52, 0xc5, 0xd8, 0x49, 0x2e, 0xbe, 0x70, 0x34, 0x32, + 0xdd, 0x2d, 0x01, 0x17, 0x0d, 0x37, 0x4a, 0x18, 0x78, 0x84, 0x78, 0x64, 0xa0, 0x38, 0x7c, 0xfb, + 0xc6, 0x50, 0x21, 0x3f, 0x83, 0xa7, 0xb4, 0x4e, 0x7d, 0xac, 0xc1, 0x2b, 0x0c, 0x3f, 0xef, 0xa3, + 0xbf, 0xd2, 0x94, 0x19, 0xc6, 0xc1, 0x72, 0x3e, 0x7a, 0xbf, 0xac, 0xe9, 0xe6, 0x71, 0xad, 0x79, + 0x49, 0x69, 0xd3, 0xe6, 0xc0, 0x53, 0x4c, 0xf5, 0x5e, 0xd1, 0x3c, 0xd5, 0x9f, 0x16, 0x06, 0x0d, + 0xd0, 0xab, 0x94, 0x74, 0x9d, 0xf5, 0xa2, 0xbb, 0xa8, 0xba, 0x1b, 0x17, 0xc0, 0x21, 0x6a, 0x5f, + 0x4f, 0xe0, 0x76, 0xa5, 0x57, 0xd0, 0xc3, 0xc6, 0x49, 0x83, 0x82, 0xbd, 0x43, 0xff, 0xd6, 0x12, + 0x5d, 0x82, 0xf7, 0xc6, 0x40, 0x9a, 0x2e, 0xf9, 0x8f, 0x66, 0xf0, 0xf8, 0xa6, 0x45, 0x7d, 0x8b, + 0x0e, 0x3f, 0xf9, 0xdf, 0x34, 0x8f, 0x76, 0x1f, 0x52, 0xea, 0x4d, 0xdb, 0xe1, 0x9e, 0x71, 0xeb, + 0x32, 0xe0, 0x25, 0x73, 0xb7, 0xf3, 0xea, 0x73, 0x26, 0x33, 0x5c, 0xd1, 0xfd, 0xb9, 0x45, 0xdc, + 0x0f, 0x83, 0x25, 0xa8, 0x0f, 0x9b, 0x38, 0x2d, 0xef, 0xb3, 0xd1, 0x37, 0x74, 0x4b, 0x4a, 0x96, + 0xaa, 0xf4, 0x3f, 0x54, 0x55, 0xc8, 0x94, 0x74, 0x9a, 0xc6, 0x70, 0x08, 0xda, 0x08, 0xae, 0x45, + 0xe6, 0x0c, 0x55, 0x30, 0x5e, 0x18, 0x9b, 0x2a, 0xdb, 0xdd, 0xc7, 0xef, 0x0c, 0xb4, 0x0d, 0xc5, + 0x02, 0x29, 0xcc, 0x21, 0xc2, 0xa2, 0xaf, 0xa8, 0x0c, 0x0e, 0x38, 0x01, 0x77, 0x3f, 0x61, 0x6a, + 0x6e, 0x39, 0xd6, 0x6c, 0x9e, 0xb0, 0xd7, 0xe9, 0x6a, 0xa0, 0x4d, 0xbb, 0x5b, 0x44, 0xdb, 0x59, + 0x99, 0xb2, 0x04, 0x0a, 0x78, 0x57, 0x77, 0x4d, 0xce, 0x17, 0xcc, 0xdc, 0xfc, 0xc5, 0x87, 0x8a, + 0xd3, 0x0f, 0x2b, 0x75, 0x44, 0x60, 0x4a, 0xb2, 0xf3, 0x3d, 0x7c, 0xab, 0x09, 0xfd, 0x5a, 0x14, + 0xf7, 0x65, 0x1f, 0x81, 0x7e, 0x5a, 0x59, 0xfc, 0x5e, 0xfb, 0xee, 0xc7, 0x0d, 0xf8, 0x7b, 0xcc, + 0x5b, 0xa1, 0x80, 0xea, 0x2d, 0x31, 0xfe, 0x62, 0x84, 0xad, 0x0f, 0x5a, 0x5e, 0x6c, 0xff, 0xda, + 0xd2, 0x53, 0x30, 0x31, 0x45, 0x0c, 0x0b, 0x19, 0x60, 0xe4, 0x9a, 0x6e, 0xf8, 0x01, 0x73, 0x33, + 0xe2, 0x7c, 0x81, 0x09, 0xe7, 0x7e, 0x98, 0x00, 0x74, 0x61, 0x8b, 0x08, 0x13, 0xc5, 0xc6, 0x08, + 0x13, 0xd5, 0xb6, 0x47, 0x84, 0x6a, 0xd7, 0x38, 0xc1, 0x66, 0x20, 0x46, 0xbd, 0x5a, 0xb0, 0xc8, + 0xa1, 0x6e, 0x00, 0xad, 0x8a, 0x18, 0xcc, 0x80, 0xff, 0x44, 0x89, 0xf5, 0x71, 0x04, 0x12, 0x09, + 0x3f, 0x53, 0xe5, 0x36, 0xa5, 0xda, 0x02, 0x2a, 0x0b, 0x23, 0xd3, 0xad, 0x4a, 0xcf, 0x74, 0xa3, + 0x32, 0xa5, 0x60, 0xc2, 0x58, 0x35, 0x46, 0x36, 0x8b, 0x60, 0xd2, 0x34, 0x85, 0xed, 0x3a, 0x8c, + 0x61, 0x19, 0xc5, 0x4f, 0xce, 0xd0, 0x50, 0x96, 0xff, 0xd4, 0x05, 0x41, 0x48, 0xb4, 0xc0, 0x08, + 0x02, 0x08, 0x14, 0xaf, 0x8d, 0x89, 0xaa, 0xb1, 0xf3, 0x2f, 0x02, 0x06, 0xb9, 0xd3, 0x68, 0x30, + 0xc3, 0x15, 0x05, 0x84, 0x06, 0x76, 0xb0, 0x2e, 0x93, 0x80, 0xd7, 0x91, 0x0b, 0x84, 0xe2, 0x81, + 0x61, 0xb0, 0xd0, 0x0f, 0xf4, 0x9f, 0x0b, 0xaf, 0xba, 0x31, 0x01, 0x31, 0x6a, 0x18, 0x5d, 0x8c, + 0x80, 0x71, 0xc0, 0x3e, 0x45, 0x24, 0xbe, 0x87, 0x63, 0xf7, 0x90, 0x5b, 0xa3, 0x61, 0x7a, 0x14, + 0xac, 0xb5, 0x21, 0x31, 0x2e, 0xdb, 0x63, 0xcc, 0xb8, 0x39, 0x0b, 0xb1, 0xa6, 0x1f, 0xcc, 0xf2, + 0x3d, 0x29, 0x51, 0x02, 0xd2, 0xd0, 0x12, 0x91, 0x29, 0xd4, 0x6e, 0xa8, 0x3f, 0x27, 0xec, 0x74, + 0xc9, 0xd7, 0xc2, 0xe8, 0xbc, 0x61, 0xa2, 0xb7, 0x6e, 0x47, 0x7c, 0x08, 0x1e, 0x97, 0x10, 0xea, + 0x8b, 0xa0, 0xd2, 0x04, 0xe4, 0x31, 0xc6, 0x2e, 0xd4, 0xa9, 0x31, 0x42, 0x9f, 0xb7, 0xe5, 0xa4, + 0x37, 0x95, 0x0d, 0x73, 0x84, 0xf7, 0x94, 0x79, 0xd5, 0xbe, 0xb8, 0x46, 0x0b, 0xb2, 0x1d, 0xfc, + 0x4a, 0x63, 0x43, 0xed, 0x0a, 0x04, 0x78, 0x2e, 0x01, 0x0a, 0x2d, 0x24, 0x7c, 0xa9, 0xbb, 0xb9, + 0xa0, 0x88, 0xac, 0xb3, 0x16, 0xa9, 0xb1, 0xe8, 0x32, 0xc9, 0x07, 0xb6, 0xa2, 0x58, 0x90, 0x0b, + 0xe8, 0x98, 0x4a, 0x23, 0xe9, 0x47, 0xf6, 0xce, 0x5c, 0xae, 0xcd, 0x17, 0x8b, 0x5a, 0x8c, 0x09, + 0xc9, 0x02, 0x37, 0x48, 0x08, 0xc0, 0x28, 0x02, 0x61, 0x73, 0x92, 0x9f, 0xf1, 0xa0, 0xc8, 0x46, + 0xed, 0x42, 0xdc, 0x94, 0x0a, 0xd4, 0x25, 0x02, 0x92, 0x26, 0x19, 0xf5, 0xc9, 0xf8, 0x76, 0x99, + 0x47, 0xd0, 0x0f, 0xb1, 0x46, 0xb0, 0x33, 0x5e, 0xfc, 0xce, 0x6a, 0xb4, 0x13, 0x60, 0x2a, 0xbd, + 0x82, 0xaa, 0x12, 0x51, 0x2e, 0x25, 0x1f, 0x6f, 0x0e, 0x71, 0x16, 0x95, 0xe2, 0x0a, 0x7d, 0x30, + 0x71, 0x2c, 0x15, 0x01, 0x4a, 0x06, 0xc8, 0xfb, 0xd7, 0x34, 0x85, 0xb0, 0xe7, 0x15, 0x79, 0x14, + 0x55, 0xcb, 0xd8, 0xe3, 0xbe, 0x13, 0xb7, 0x65, 0x14, 0xc1, 0x1d, 0x2c, 0xce, 0xbf, 0x86, 0xb5, + 0x1b, 0x9a, 0xf6, 0xcf, 0x20, 0x4d, 0x3e, 0x40, 0xda, 0x3d, 0x0e, 0xf1, 0x8f, 0xe3, 0x4c, 0x6d, + 0xe8, 0xbf, 0x86, 0x37, 0x8b, 0x2d, 0xfa, 0x67, 0xd0, 0x4e, 0xb8, 0x81, 0x4a, 0x84, 0x3a, 0x58, + 0xd3, 0xf6, 0x40, 0xed, 0x61, 0x51, 0x96, 0x9a, 0x1e, 0xe9, 0x2c, 0x41, 0xdc, 0xfa, 0xb2, 0x25, + 0x86, 0x31, 0x0f, 0x02, 0x9c, 0xfe, 0x06, 0x0d, 0x70, 0xed, 0x42, 0x58, 0xdc, 0xb9, 0x20, 0x99, + 0xd7, 0x67, 0x18, 0x70, 0x12, 0x2c, 0x9d, 0x2e, 0xd1, 0xaf, 0xcf, 0xfc, 0x25, 0x1c, 0xd6, 0x4c, + 0x10, 0x2e, 0x50, 0xd0, 0x5b, 0x14, 0x65, 0x20, 0x97, 0xaf, 0x6e, 0x1a, 0x2c, 0x0b, 0x96, 0x27, + 0xb0, 0x43, 0x30, 0xd6, 0xa3, 0xbe, 0x4d, 0xfe, 0xc8, 0xfe, 0xdc, 0x76, 0xe0, 0x0f, 0x20, 0x8e, + 0xd2, 0x35, 0xee, 0xd0, 0xd5, 0x35, 0x06, 0x32, 0xd1, 0x81, 0xc0, 0x83, 0x1f, 0xdf, 0x11, 0x0e, + 0x4a, 0x87, 0x24, 0xd4, 0xf8, 0xb5, 0xfa, 0x30, 0x85, 0x69, 0x3b, 0xee, 0x59, 0x36, 0xd0, 0x14, + 0x9d, 0x3f, 0xe4, 0x9f, 0x8b, 0x37, 0xad, 0x2d, 0x7a, 0xd7, 0x3d, 0x62, 0x52, 0xee, 0xe7, 0x0e, + 0xfe, 0x41, 0x95, 0x24, 0x1c, 0x99, 0xc7, 0x04, 0x47, 0xc2, 0xad, 0x06, 0x8b, 0x2b, 0xea, 0xda, + 0x00, 0xe4, 0xc2, 0x97, 0xcf, 0xbf, 0xb6, 0x98, 0x48, 0x7e, 0xd3, 0x96, 0x2f, 0x5b, 0xf2, 0x3e, + 0x02, 0x08, 0x63, 0x01, 0x28, 0x10, 0x21, 0xb6, 0xa4, 0x6f, 0x5b, 0xf9, 0x85, 0xf9, 0x16, 0x39, + 0x83, 0x78, 0xb1, 0x44, 0x6f, 0x5f, 0x9c, 0x7b, 0x92, 0x3c, 0xc1, 0x84, 0x20, 0xe7, 0x5e, 0x5c, + 0xaf, 0xb1, 0x24, 0x99, 0x6a, 0x98, 0x9c, 0xbb, 0xda, 0x1e, 0x53, 0xcf, 0xe4, 0x9f, 0xae, 0x22, + 0x09, 0xb6, 0x90, 0x1d, 0x9d, 0x63, 0xac, 0x02, 0x98, 0xea, 0x74, 0xf0, 0x3a, 0x43, 0xf3, 0x2a, + 0xe9, 0xf1, 0x03, 0x53, 0x71, 0x90, 0x31, 0xb8, 0xdd, 0x80, 0x84, 0x1b, 0x20, 0x67, 0xb3, 0x91, + 0xa2, 0x0a, 0x2c, 0x0b, 0x9d, 0x41, 0x6f, 0x7f, 0x32, 0x89, 0x4b, 0x99, 0xaa, 0x83, 0x99, 0x80, + 0x7b, 0x16, 0x24, 0x30, 0x1a, 0x71, 0x77, 0x80, 0x39, 0x09, 0x94, 0x3a, 0x96, 0x04, 0x8d, 0x71, + 0x4b, 0x81, 0xf5, 0x09, 0xd8, 0xc6, 0x1c, 0xd9, 0x83, 0xc4, 0x1f, 0x44, 0x52, 0x24, 0x4f, 0x6f, + 0xc7, 0x6d, 0x00, 0x96, 0x0c, 0x22, 0xc0, 0x49, 0xc5, 0xa8, 0x59, 0xf4, 0x56, 0x27, 0x8f, 0x07, + 0xc8, 0xc2, 0x10, 0xb7, 0x7f, 0x05, 0x4e, 0x3c, 0x53, 0xed, 0xa2, 0xc6, 0x16, 0xad, 0xa7, 0xfa, + 0x56, 0x17, 0xae, 0xbd, 0xbf, 0x62, 0x5a, 0x46, 0x3f, 0xbe, 0xe0, 0xdf, 0xe8, 0x14, 0xcf, 0x39, + 0x64, 0x91, 0xc4, 0x66, 0x42, 0x96, 0xc0, 0x8e, 0xe8, 0x07, 0xff, 0x7e, 0x0f, 0xdf, 0xaa, 0xf6, + 0x9d, 0x05, 0x75, 0xe7, 0xd9, 0xa5, 0x1e, 0x68, 0xe3, 0x80, 0x65, 0x97, 0x58, 0xa1, 0x42, 0xa3, + 0x19, 0x4b, 0x25, 0x8d, 0x47, 0x87, 0x05, 0xa8, 0x1c, 0xd1, 0xb0, 0x62, 0xff, 0xeb, 0x9a, 0x42, + 0x4f, 0xb3, 0x38, 0x12, 0xe8, 0x98, 0x11, 0xbe, 0x5a, 0xa4, 0x45, 0xc0, 0x5e, 0x80, 0xbc, 0x54, + 0x56, 0x96, 0x17, 0xde, 0x85, 0x8b, 0x1d, 0xf7, 0xbb, 0x3e, 0x94, 0x08, 0x71, 0xed, 0x47, 0x1a, + 0xc7, 0x68, 0x41, 0xaf, 0x0d, 0xae, 0x79, 0xc6, 0xde, 0xd1, 0xd6, 0xf3, 0x55, 0x76, 0xbd, 0x0c, + 0xb6, 0x1b, 0x19, 0x32, 0x30, 0x49, 0xf9, 0x7b, 0xb4, 0xbc, 0xb6, 0xfd, 0xa6, 0x7d, 0x88, 0xdc, + 0xe1, 0xa1, 0x91, 0x98, 0xa9, 0xd4, 0x62, 0x85, 0x86, 0xe4, 0xd0, 0xfc, 0x6d, 0x79, 0x27, 0x41, + 0x35, 0x1d, 0xaa, 0xaa, 0x7c, 0xfb, 0x26, 0xbb, 0xbf, 0x89, 0xd5, 0xf1, 0x15, 0xe8, 0x85, 0x45, + 0xa5, 0xc2, 0x9d, 0x2b, 0xc0, 0x96, 0x34, 0x28, 0x74, 0x75, 0xf9, 0xa5, 0x58, 0x0c, 0x36, 0x65, + 0x92, 0x9e, 0xc3, 0x17, 0xdb, 0xaa, 0x85, 0x74, 0x0f, 0xdf, 0x3b, 0x7c, 0xd5, 0x48, 0x04, 0x4b, + 0x18, 0x4a, 0x53, 0x26, 0x37, 0xa2, 0x57, 0xf6, 0xb1, 0x69, 0x8f, 0x37, 0xf6, 0xf1, 0xf6, 0x0b, + 0x9b, 0x39, 0x3d, 0x83, 0x6e, 0x00, 0x7a, 0x61, 0xa7, 0xc4, 0x9d, 0xca, 0x24, 0x8d, 0x2c, 0xba, + 0xb5, 0xb4, 0xfb, 0xc4, 0x13, 0xc8, 0x49, 0x0f, 0xe9, 0x7a, 0x91, 0xf9, 0xe3, 0x3f, 0x47, 0x79, + 0xb9, 0x20, 0x6f, 0xe2, 0x4f, 0xaf, 0x07, 0x7f, 0x0b, 0x32, 0xbe, 0x14, 0xba, 0x6d, 0x78, 0x29, + 0x10, 0xfa, 0x52, 0xed, 0x61, 0x4e, 0xaf, 0x4a, 0x5f, 0x7a, 0x0a, 0x7d, 0xe9, 0x95, 0x4a, 0xf8, + 0xd2, 0xab, 0x62, 0x9d, 0x6c, 0x3e, 0x0b, 0x2f, 0x7b, 0xe5, 0xea, 0xde, 0xcf, 0x0c, 0x6e, 0xc4, + 0xac, 0xd8, 0xf8, 0xf2, 0xaf, 0xc5, 0xc5, 0x80, 0x69, 0x54, 0xaf, 0xdd, 0x80, 0x28, 0xdc, 0xfb, + 0x14, 0xf7, 0x28, 0x78, 0x6d, 0xf4, 0xde, 0xd5, 0xeb, 0x75, 0x1c, 0xa7, 0x55, 0xc1, 0x83, 0xeb, + 0x9a, 0x21, 0x69, 0x0c, 0xe9, 0xa7, 0x36, 0x99, 0x98, 0xc0, 0x2f, 0x67, 0x25, 0xc1, 0xb2, 0x77, + 0xe8, 0x4e, 0x8f, 0x97, 0xe8, 0xa6, 0x74, 0xd3, 0x6c, 0x51, 0x70, 0x82, 0x38, 0x63, 0x42, 0x63, + 0x67, 0x40, 0x4e, 0xc0, 0x4b, 0x28, 0x38, 0x1a, 0x55, 0x52, 0xcb, 0x8b, 0x3a, 0x76, 0x4b, 0xc1, + 0x1b, 0xb0, 0x28, 0x0d, 0x06, 0x26, 0xe9, 0x9e, 0x9d, 0x46, 0x1d, 0x94, 0x29, 0xe5, 0xdc, 0x27, + 0xae, 0x3c, 0xcc, 0xdd, 0x1b, 0x25, 0xea, 0x7e, 0x90, 0x8e, 0xde, 0xed, 0x00, 0x7f, 0xa2, 0x6a, + 0xe1, 0x06, 0x1a, 0x61, 0xa8, 0xb0, 0xdf, 0x32, 0xb0, 0xd3, 0x74, 0x27, 0xf4, 0x96, 0x9e, 0xd4, + 0x68, 0x20, 0xf1, 0xba, 0x22, 0x03, 0x28, 0x92, 0xc0, 0xc0, 0xe3, 0xe1, 0x64, 0x1b, 0xcc, 0xd2, + 0x21, 0x2e, 0xc4, 0x3b, 0x09, 0xee, 0x8e, 0x3d, 0x79, 0x6f, 0x79, 0xdd, 0x62, 0x37, 0xec, 0xf1, + 0x37, 0x09, 0x66, 0xf7, 0x62, 0xd7, 0xac, 0xe5, 0x82, 0xb9, 0x75, 0x05, 0x93, 0xb5, 0x35, 0x3d, + 0xaf, 0x6e, 0x33, 0xfb, 0x29, 0x10, 0x73, 0x2b, 0x4b, 0x25, 0x97, 0x57, 0x4e, 0x6f, 0x9e, 0x70, + 0xeb, 0x1c, 0x0c, 0x98, 0x45, 0xc8, 0x80, 0x28, 0xa6, 0xa4, 0xd7, 0x13, 0xae, 0xc3, 0x92, 0x7a, + 0xaf, 0x13, 0x41, 0x56, 0x06, 0x37, 0x4a, 0xe0, 0x0f, 0xf0, 0x94, 0x03, 0x6c, 0xa6, 0x61, 0x1a, + 0x8c, 0x19, 0xf7, 0x96, 0xc9, 0x92, 0x7c, 0x6d, 0x33, 0x8b, 0xde, 0x4b, 0xba, 0xe0, 0xf6, 0x00, + 0xa2, 0x01, 0x26, 0x6e, 0x69, 0x75, 0x0d, 0x8a, 0x1d, 0xa8, 0x53, 0xd2, 0x4d, 0x64, 0xbd, 0xa5, + 0xcd, 0x1d, 0x2d, 0x73, 0x62, 0x49, 0x46, 0x5d, 0xbc, 0x30, 0x1c, 0x01, 0xbf, 0xf7, 0x48, 0x61, + 0xec, 0x8a, 0x5b, 0xca, 0x36, 0x54, 0xdc, 0x31, 0xea, 0x09, 0x05, 0xfe, 0x9f, 0xa9, 0xc3, 0x4b, + 0xd2, 0x6f, 0x02, 0xf2, 0xe4, 0x1d, 0xb9, 0x96, 0x4d, 0x82, 0xa2, 0x29, 0x34, 0xc4, 0x9a, 0x82, + 0xe3, 0x9b, 0xa0, 0x65, 0x8b, 0xf2, 0xef, 0x1c, 0xf4, 0x4a, 0x06, 0xe4, 0x04, 0x16, 0x1a, 0x36, + 0x5c, 0xb7, 0xbb, 0xea, 0xaa, 0x67, 0x24, 0x3d, 0x4a, 0xe2, 0x5a, 0x8d, 0x72, 0xdc, 0xf9, 0x03, + 0xd8, 0xfb, 0x27, 0xd8, 0xbd, 0x51, 0x9d, 0x1a, 0xca, 0x24, 0x6d, 0x58, 0x80, 0x77, 0xd4, 0x54, + 0xdd, 0x73, 0x59, 0x42, 0x51, 0xba, 0xa7, 0x8c, 0x2b, 0x78, 0x2d, 0x9c, 0xce, 0x7a, 0xb0, 0xea, + 0xe2, 0xe9, 0x68, 0x34, 0x50, 0x5e, 0x47, 0xe2, 0x16, 0x49, 0x83, 0xd5, 0x9d, 0xa6, 0xfb, 0x32, + 0xf6, 0x83, 0xea, 0x0c, 0x12, 0x78, 0xa6, 0xbf, 0x90, 0xa6, 0xde, 0x6a, 0x28, 0x77, 0x64, 0x80, + 0xd2, 0x4a, 0x67, 0x69, 0x47, 0xa7, 0x29, 0xf8, 0x80, 0xaf, 0x58, 0x4b, 0x85, 0xe5, 0x63, 0x84, + 0x27, 0x87, 0x58, 0x1d, 0xd9, 0xab, 0x74, 0x36, 0x32, 0x0d, 0x71, 0x55, 0xa1, 0xcd, 0x76, 0xb6, + 0xe8, 0x15, 0x6c, 0xa9, 0xf4, 0x3b, 0x6e, 0xc2, 0xde, 0xa8, 0x83, 0x5b, 0x35, 0x2b, 0x6b, 0xe4, + 0xbc, 0x0a, 0xb7, 0xe8, 0x2b, 0x80, 0xff, 0xa3, 0xf9, 0x3f, 0x51, 0x66, 0x6b, 0x3b, 0x49, 0xe7, + 0x72, 0x9f, 0x01, 0x28, 0xbb, 0xd9, 0xce, 0x7b, 0xe5, 0x0e, 0x2c, 0x74, 0x42, 0x35, 0x07, 0x18, + 0xa3, 0x4f, 0x5d, 0xc8, 0xa0, 0x52, 0x8c, 0x61, 0x4d, 0xc3, 0x7a, 0x0b, 0x81, 0xdd, 0x6d, 0xf0, + 0x03, 0x16, 0xfe, 0xdf, 0xe6, 0xd6, 0x42, 0x64, 0xc7, 0x9f, 0xb7, 0x13, 0xb8, 0x3b, 0x7d, 0x7e, + 0xfe, 0x5f, 0x7e, 0x31, 0x7c, 0xb0, 0x88, 0xb6, 0x48, 0xb7, 0x55, 0x3d, 0x49, 0xcf, 0x40, 0xc3, + 0xff, 0xc9, 0x70, 0x1b, 0x4f, 0x01, 0x75, 0x69, 0xee, 0x58, 0xed, 0x82, 0xda, 0x02, 0x49, 0x34, + 0x97, 0x7e, 0x9c, 0x17, 0x56, 0x4a, 0xd0, 0x42, 0x16, 0xf8, 0x17, 0x43, 0x3d, 0xea, 0xea, 0x8e, + 0x28, 0xd6, 0xbe, 0xfb, 0xbe, 0x66, 0x43, 0xc3, 0x33, 0x2c, 0xf5, 0xdc, 0xf6, 0x8f, 0x81, 0xe5, + 0x79, 0x90, 0xbc, 0xa3, 0x4e, 0xf8, 0xa9, 0x68, 0xf6, 0xf9, 0x65, 0x76, 0x0e, 0x4a, 0xde, 0x62, + 0x07, 0x10, 0x5a, 0x44, 0xa1, 0x17, 0xb1, 0x2f, 0x7f, 0x48, 0x1a, 0x72, 0xe8, 0x15, 0xe8, 0xd4, + 0x27, 0xe2, 0xfa, 0xa4, 0xbf, 0xd3, 0xbe, 0x73, 0xc5, 0xd2, 0x37, 0xdc, 0x07, 0x74, 0x76, 0x3c, + 0xa6, 0x11, 0x2f, 0x40, 0xf3, 0xbb, 0x82, 0xc5, 0xd2, 0xc1, 0x73, 0x99, 0xa2, 0xf4, 0x7d, 0xcd, + 0x25, 0xb9, 0xb1, 0x67, 0x66, 0xe7, 0xff, 0xf9, 0x5d, 0x27, 0xce, 0x1e, 0x69, 0x8f, 0xfa, 0xff, + 0xf9, 0xbd, 0xf6, 0x3d, 0x95, 0xc8, 0xe6, 0x2a, 0x6e, 0x1f, 0x62, 0x4f, 0x81, 0x05, 0x14, 0x94, + 0x24, 0xba, 0xa5, 0x9e, 0x4c, 0x7d, 0xa7, 0x3a, 0x7c, 0x54, 0x85, 0x09, 0x57, 0x31, 0x74, 0x28, + 0x8f, 0x97, 0x68, 0x43, 0xf1, 0xe0, 0x53, 0x95, 0xa1, 0x23, 0x76, 0xdf, 0x71, 0x9f, 0x80, 0xa2, + 0x83, 0x8b, 0xbf, 0xa5, 0x2a, 0xda, 0x25, 0xfd, 0x82, 0xa8, 0x8f, 0x53, 0x38, 0x59, 0x12, 0x6f, + 0x1f, 0xeb, 0x18, 0x36, 0x6d, 0xdf, 0x3e, 0x4a, 0xe2, 0x96, 0x70, 0xe3, 0xbe, 0xdd, 0x3c, 0xfa, + 0xed, 0x04, 0x64, 0xf9, 0x5f, 0x1c, 0x92, 0xc3, 0xa5, 0x21, 0xf1, 0xba, 0xf7, 0xc7, 0x62, 0x17, + 0x59, 0x48, 0x94, 0x28, 0x07, 0x25, 0xc3, 0x59, 0xfb, 0xb0, 0x4c, 0x0d, 0xe9, 0x41, 0x56, 0xf7, + 0xb4, 0x8e, 0x28, 0x19, 0x91, 0x22, 0x0d, 0x60, 0x4f, 0x50, 0x88, 0x84, 0x83, 0xab, 0x16, 0xb6, + 0x41, 0x45, 0x5b, 0xcf, 0xb4, 0x23, 0xa5, 0x5a, 0x6a, 0x1f, 0x0c, 0x4e, 0x7a, 0xae, 0x0a, 0x4d, + 0x43, 0x2c, 0x39, 0x51, 0x7b, 0x6a, 0xda, 0xa6, 0xe9, 0x29, 0xf1, 0x5f, 0x02, 0x8d, 0x39, 0xa7, + 0x69, 0x96, 0x6d, 0xab, 0x92, 0x28, 0x74, 0x77, 0x87, 0xb0, 0x92, 0x87, 0x9b, 0xb9, 0x33, 0x71, + 0xcb, 0x49, 0x94, 0x22, 0xdb, 0x4f, 0xe9, 0x11, 0x4d, 0x4f, 0x62, 0xe9, 0xff, 0x9c, 0xe6, 0x3b, + 0x5f, 0x36, 0x37, 0x05, 0x36, 0x81, 0x84, 0x36, 0x7e, 0x8a, 0x7d, 0x73, 0x13, 0x52, 0x89, 0x00, + 0x7a, 0xe3, 0xbf, 0x8f, 0xce, 0x21, 0xb8, 0x31, 0x06, 0xc5, 0x9e, 0xd9, 0xa0, 0x30, 0x22, 0xe6, + 0xa0, 0x25, 0x8c, 0x52, 0x62, 0x06, 0x11, 0x86, 0x47, 0x07, 0xc4, 0xf4, 0xeb, 0x2e, 0xe2, 0xcf, + 0x09, 0x70, 0x58, 0x73, 0x7e, 0x67, 0x05, 0x33, 0xac, 0x10, 0x08, 0xf3, 0x7f, 0x79, 0xe4, 0xd0, + 0x61, 0xf9, 0xf1, 0x9b, 0x3e, 0x82, 0x05, 0x88, 0x4d, 0x22, 0x30, 0xab, 0x83, 0x35, 0x69, 0x33, + 0x58, 0xc0, 0x92, 0x99, 0xd0, 0x22, 0x22, 0x27, 0x69, 0xdf, 0x7a, 0x28, 0x01, 0x20, 0x10, 0x81, + 0xe6, 0x61, 0x20, 0x56, 0xb6, 0x07, 0xe0, 0xfd, 0xae, 0x27, 0x5d, 0x90, 0x82, 0x69, 0x31, 0x04, + 0xa0, 0xdc, 0x32, 0x01, 0x7c, 0xe7, 0xca, 0x14, 0x4f, 0xcc, 0x75, 0x85, 0xc1, 0x4a, 0x40, 0xb9, + 0x7a, 0x11, 0x58, 0xb3, 0x9f, 0x04, 0x2d, 0xd4, 0x42, 0x2c, 0x74, 0xc1, 0x50, 0x40, 0x39, 0x0a, + 0x0b, 0x28, 0x00, 0x12, 0x6d, 0x3c, 0xe9, 0x82, 0x8f, 0x2d, 0xc0, 0x92, 0xd5, 0x79, 0xdd, 0x09, + 0x17, 0xa6, 0x69, 0x2e, 0xe4, 0x5c, 0xa9, 0x0c, 0x7e, 0xe0, 0x3a, 0x00, 0x35, 0x9f, 0x74, 0x5b, + 0xc3, 0x1e, 0x05, 0x97, 0x0b, 0x19, 0x13, 0x32, 0xf6, 0x0b, 0x43, 0x81, 0x2a, 0x82, 0xd0, 0x52, + 0xdf, 0x09, 0x6b, 0x58, 0xf3, 0x40, 0x11, 0xc2, 0x55, 0xa9, 0x0b, 0xbb, 0xe1, 0x0c, 0x8c, 0x61, + 0xd0, 0x08, 0xa0, 0x6e, 0x5a, 0xca, 0x30, 0x80, 0xf2, 0xaa, 0x75, 0xd3, 0x38, 0xf7, 0x01, 0xa4, + 0x99, 0x11, 0xe0, 0xb2, 0x3c, 0x70, 0xac, 0x0d, 0xd3, 0xc6, 0x36, 0xdc, 0xe2, 0x9b, 0xee, 0xfb, + 0x76, 0xb6, 0x94, 0xaf, 0xe4, 0x83, 0x96, 0x71, 0xab, 0x4f, 0xe0, 0x9b, 0x4f, 0x44, 0x2a, 0x24, + 0x57, 0x76, 0xb4, 0xb2, 0x8d, 0x48, 0x0b, 0x50, 0x3e, 0x02, 0x17, 0x72, 0x4b, 0x14, 0x36, 0x37, + 0x2d, 0x0a, 0x9f, 0xcf, 0x5c, 0x2b, 0x61, 0x74, 0x2b, 0x7e, 0x02, 0xce, 0xb8, 0xb6, 0x62, 0x5a, + 0x5a, 0x86, 0x37, 0x34, 0x16, 0x94, 0x63, 0x68, 0x0b, 0x74, 0x30, 0x68, 0xee, 0x47, 0x83, 0x11, + 0x80, 0xd0, 0x68, 0x0a, 0xa0, 0xc4, 0xe2, 0x01, 0x5c, 0xec, 0x7b, 0xa8, 0x74, 0xa2, 0xf2, 0x58, + 0x1f, 0xab, 0x96, 0xa1, 0x0f, 0xa9, 0x24, 0x26, 0x69, 0xbc, 0xa3, 0x87, 0xee, 0x6b, 0x63, 0x30, + 0xa1, 0x45, 0x52, 0x22, 0x93, 0xa2, 0xda, 0x44, 0x35, 0xf1, 0xb0, 0x0e, 0x56, 0xfe, 0x37, 0x4b, + 0x3c, 0x92, 0x26, 0xf9, 0x1c, 0x9e, 0x24, 0xd6, 0xb8, 0x75, 0xd1, 0x4b, 0x02, 0xf8, 0x5c, 0xaa, + 0x42, 0x0a, 0x02, 0x8c, 0xbb, 0xf8, 0xf8, 0x9b, 0xb0, 0x93, 0x38, 0xc5, 0x11, 0x76, 0xc8, 0xa1, + 0xb7, 0xa9, 0x42, 0xce, 0xf9, 0xe0, 0x9d, 0x27, 0x34, 0xe4, 0x50, 0xc5, 0x7a, 0x27, 0x32, 0x89, + 0xdc, 0x5a, 0x34, 0x2f, 0x25, 0x9e, 0xef, 0xb2, 0x83, 0xcc, 0x7c, 0x2a, 0x26, 0x70, 0xaf, 0xb8, + 0x61, 0x13, 0x02, 0x85, 0xa6, 0xd2, 0x5e, 0xa5, 0xb8, 0x5e, 0xf1, 0xa8, 0x5e, 0xd0, 0x29, 0x6e, + 0x34, 0x08, 0xfb, 0xad, 0x2b, 0xe1, 0x86, 0x50, 0xfd, 0x36, 0x84, 0x52, 0x97, 0xa4, 0x7c, 0x34, + 0xb0, 0x9b, 0x68, 0x43, 0x16, 0x91, 0xc3, 0xad, 0x35, 0x31, 0x49, 0xb0, 0xa0, 0x49, 0x8b, 0x28, + 0xa0, 0xd8, 0x44, 0x08, 0x44, 0x4b, 0x07, 0x94, 0xa1, 0x49, 0xf1, 0xed, 0x66, 0x97, 0xdb, 0xcd, + 0xae, 0x6e, 0x37, 0xbb, 0xdc, 0x6e, 0x96, 0x6b, 0x37, 0xb2, 0x86, 0x12, 0x18, 0x76, 0x7f, 0x05, + 0xcd, 0x30, 0xcd, 0xf2, 0x17, 0xb3, 0xc3, 0x5e, 0xc7, 0x61, 0x87, 0x02, 0xf5, 0x03, 0x52, 0xb7, + 0x1e, 0xee, 0xa7, 0x05, 0x45, 0x56, 0x9c, 0xc8, 0x8b, 0x5c, 0xb4, 0x98, 0x64, 0x31, 0xc4, 0xde, + 0xd9, 0x2f, 0x6f, 0x1f, 0xd0, 0xad, 0xd9, 0x52, 0x31, 0x50, 0xa9, 0xbf, 0xe5, 0x78, 0xa7, 0x5a, + 0xdc, 0x8b, 0x1e, 0xf9, 0xb0, 0x52, 0xcf, 0xd8, 0xf3, 0x2e, 0x29, 0xe2, 0x0d, 0x3e, 0xea, 0x6e, + 0xb4, 0x7d, 0xdb, 0xdb, 0x77, 0x59, 0xe2, 0xb1, 0xef, 0x04, 0x7f, 0xde, 0x38, 0x7c, 0xc8, 0xd8, + 0x3d, 0x5b, 0xec, 0x9f, 0xc4, 0xa4, 0x3a, 0x0e, 0x3c, 0xc6, 0x9c, 0xc7, 0xa4, 0xfb, 0xd5, 0x7d, + 0xd7, 0xeb, 0xe9, 0xb5, 0x98, 0x4a, 0xd1, 0x8e, 0xb5, 0xc0, 0xcf, 0xa9, 0xa7, 0x41, 0xd1, 0xda, + 0xa2, 0x71, 0x9a, 0x41, 0x4f, 0xd4, 0x21, 0xc5, 0x75, 0xac, 0xa5, 0xd0, 0xa0, 0xdc, 0xc6, 0xde, + 0x31, 0x0b, 0x81, 0xd0, 0x92, 0xb4, 0x25, 0x85, 0x6d, 0x96, 0x43, 0xfb, 0x62, 0x4a, 0x4b, 0x82, + 0x0d, 0xf9, 0xe5, 0x8b, 0x82, 0x81, 0x27, 0xf1, 0x51, 0x42, 0xbe, 0x8b, 0xf9, 0xcf, 0x3f, 0xf1, + 0x84, 0xa3, 0xf6, 0xed, 0x1b, 0x7f, 0xfc, 0x08, 0xb2, 0xb1, 0xd1, 0x10, 0x22, 0xcc, 0xab, 0x0a, + 0x50, 0xea, 0x3b, 0xf0, 0xaf, 0x26, 0x76, 0x59, 0x38, 0x25, 0xee, 0x6e, 0xb0, 0x9d, 0x3b, 0x06, + 0x86, 0x1a, 0x04, 0x77, 0xb5, 0x93, 0xe2, 0x96, 0x3d, 0x51, 0xd1, 0x91, 0xa4, 0xa3, 0x67, 0x2c, + 0x39, 0xef, 0x60, 0x9c, 0x6d, 0xb6, 0xa6, 0x86, 0x02, 0xc0, 0xb6, 0xda, 0xc0, 0x8c, 0xaf, 0x5b, + 0x34, 0x2f, 0xc7, 0xe7, 0xf5, 0xc3, 0x79, 0x79, 0x3e, 0x4f, 0x4b, 0x8a, 0x0b, 0xec, 0xce, 0x72, + 0xfd, 0xb0, 0xae, 0x4f, 0xd0, 0xfc, 0x6d, 0xae, 0x2d, 0x82, 0xfb, 0xc1, 0xda, 0x76, 0xcc, 0x87, + 0x65, 0x82, 0xbb, 0x48, 0x05, 0x30, 0xb6, 0xc1, 0x48, 0xd2, 0xd3, 0x86, 0xbe, 0x83, 0x21, 0x77, + 0x22, 0x73, 0xfb, 0xfb, 0xfe, 0x45, 0x6d, 0x01, 0x05, 0xc2, 0xce, 0x5c, 0x20, 0xf8, 0xd5, 0xc4, + 0x4a, 0x60, 0x5e, 0x32, 0x62, 0x12, 0xac, 0xbe, 0x51, 0x96, 0xbf, 0xc7, 0x94, 0xb5, 0x4b, 0xbf, + 0x2e, 0xb8, 0xfe, 0x4e, 0x6c, 0xd2, 0xc7, 0x33, 0x86, 0xac, 0xa3, 0xbf, 0x72, 0xb9, 0xef, 0x8a, + 0xef, 0x53, 0x23, 0x9a, 0xd0, 0x2b, 0xa0, 0x97, 0xd9, 0xfe, 0xf0, 0x4e, 0x53, 0xfe, 0xef, 0x2f, + 0xa9, 0x53, 0xd7, 0x99, 0xd1, 0x2e, 0x75, 0xe9, 0x93, 0x61, 0x4a, 0xa6, 0x97, 0xf4, 0x24, 0xf5, + 0xdd, 0xb4, 0x27, 0x69, 0x54, 0x57, 0xed, 0x73, 0x60, 0xa4, 0x1f, 0xc3, 0xc9, 0xef, 0xc3, 0x81, + 0xd4, 0x83, 0xa1, 0x61, 0xf7, 0x52, 0x86, 0x6e, 0xa3, 0x84, 0xd9, 0xcb, 0x6e, 0x4a, 0xbf, 0xc1, + 0x7d, 0x7f, 0x18, 0x57, 0xf4, 0x88, 0x9f, 0xa3, 0x09, 0x2a, 0x76, 0x55, 0x8b, 0x85, 0x74, 0x88, + 0x8b, 0x15, 0xd7, 0xa7, 0x73, 0x24, 0x84, 0x76, 0x22, 0x24, 0x83, 0x06, 0x3d, 0x7a, 0x21, 0xb6, + 0x50, 0x60, 0x47, 0x74, 0x6f, 0x96, 0xa4, 0x23, 0xbb, 0xfd, 0xc1, 0x2d, 0xa2, 0xde, 0xcd, 0x92, + 0xbf, 0xa4, 0xc1, 0x07, 0xa0, 0x9f, 0xab, 0xe8, 0xae, 0xfd, 0x18, 0xc6, 0x61, 0xf4, 0x7b, 0xe3, + 0xe7, 0x2a, 0x0f, 0xe1, 0x50, 0xfd, 0xbb, 0x00, 0x8e, 0xd1, 0x53, 0x35, 0x44, 0xe9, 0x35, 0x82, + 0x39, 0x3e, 0xfe, 0x1c, 0xa5, 0x3f, 0x41, 0xd3, 0xa7, 0x65, 0x92, 0x3e, 0x85, 0x68, 0xfa, 0xf4, + 0x77, 0x21, 0x1e, 0xfe, 0x53, 0x24, 0x7d, 0x5a, 0x22, 0x69, 0x08, 0xc2, 0xe1, 0xdf, 0x85, 0x90, + 0x89, 0xaf, 0xe3, 0xb0, 0x3c, 0xa1, 0x3d, 0x2a, 0x26, 0x5e, 0x00, 0x43, 0x2f, 0xee, 0x87, 0xe7, + 0xba, 0xe8, 0x26, 0x78, 0xbb, 0x92, 0x6d, 0x6d, 0xd3, 0x76, 0x6f, 0x57, 0xdd, 0xa7, 0x62, 0x55, + 0xc8, 0xee, 0x09, 0x07, 0x8f, 0x34, 0xd0, 0x85, 0x9f, 0x68, 0x44, 0xdb, 0x34, 0xa1, 0x5b, 0x16, + 0xc5, 0x14, 0x4e, 0x0d, 0x75, 0x97, 0xcd, 0x45, 0x31, 0xcc, 0xe6, 0x3c, 0x81, 0xf3, 0xc3, 0xbd, + 0xe2, 0x37, 0xf8, 0x3a, 0xf9, 0x6f, 0x73, 0x90, 0xdf, 0x80, 0x76, 0x36, 0xb7, 0x83, 0x91, 0x85, + 0xec, 0x46, 0x0d, 0x86, 0xf9, 0x15, 0xe8, 0x95, 0x9a, 0xfd, 0x23, 0xc3, 0xea, 0x44, 0xeb, 0x66, + 0xb1, 0x6e, 0x76, 0x55, 0xdd, 0x5d, 0xc5, 0x5a, 0x55, 0x31, 0x87, 0x15, 0x73, 0xab, 0x2a, 0x36, + 0xac, 0xce, 0xaa, 0x8a, 0x79, 0xac, 0x98, 0x5f, 0x55, 0xb1, 0x49, 0xaf, 0x8f, 0x59, 0x55, 0xb7, + 0x80, 0x75, 0x0b, 0xab, 0xea, 0xbe, 0x9c, 0x33, 0x23, 0x72, 0x55, 0xed, 0x22, 0xd6, 0x2e, 0xae, + 0xec, 0x59, 0xb5, 0x3a, 0x1a, 0x59, 0x57, 0xbf, 0x84, 0xf5, 0x4b, 0x2b, 0x69, 0x85, 0x07, 0x74, + 0xc3, 0xd5, 0x33, 0xac, 0x44, 0x44, 0x90, 0xb6, 0x5d, 0xe6, 0xa2, 0xac, 0x64, 0xeb, 0x38, 0xe6, + 0x6a, 0x2c, 0x1f, 0xb5, 0x50, 0xa7, 0x16, 0x6c, 0x75, 0xf8, 0x77, 0x99, 0xc8, 0x8e, 0x0a, 0x9e, + 0x96, 0xfa, 0x21, 0x0b, 0xd9, 0xea, 0x32, 0x66, 0x44, 0x81, 0x9a, 0xfa, 0xc7, 0x2c, 0x14, 0x53, + 0xf7, 0x81, 0x3c, 0xa8, 0x9a, 0x76, 0x03, 0xa4, 0x79, 0x32, 0x46, 0x1f, 0x51, 0x66, 0x5a, 0xa7, + 0x61, 0x1c, 0x18, 0x80, 0xd0, 0x65, 0x07, 0x43, 0x00, 0x99, 0x7a, 0x70, 0x5b, 0x4c, 0x92, 0x6e, + 0x5a, 0x49, 0xb3, 0xb8, 0xcd, 0xfd, 0xa5, 0xcb, 0xb2, 0x9a, 0xfb, 0xec, 0x32, 0xa8, 0xc4, 0x77, + 0x14, 0x08, 0x11, 0x75, 0x65, 0xf1, 0x1d, 0x0f, 0xd8, 0x53, 0x4a, 0x34, 0x6e, 0x6e, 0x8f, 0x37, + 0x0f, 0x1e, 0x05, 0x56, 0x3a, 0x74, 0x15, 0x1c, 0xd2, 0xfd, 0xd7, 0x56, 0x74, 0x97, 0x17, 0x88, + 0x4b, 0x77, 0x22, 0xb1, 0x01, 0x8c, 0x44, 0x1a, 0xa2, 0x32, 0x45, 0xfa, 0x3b, 0x62, 0x08, 0x73, + 0xc8, 0x35, 0x76, 0x02, 0x0d, 0x6b, 0x49, 0xa7, 0x70, 0x45, 0x09, 0x5e, 0x6f, 0x43, 0x57, 0x65, + 0x78, 0xc0, 0x3d, 0xcc, 0x18, 0xe1, 0xc8, 0x3e, 0x32, 0xb4, 0xfd, 0xb1, 0x50, 0xb4, 0xdd, 0x1b, + 0x28, 0xfd, 0xf1, 0x46, 0xc5, 0x90, 0x97, 0x8a, 0x90, 0xf2, 0xf7, 0xc4, 0x62, 0x04, 0xfd, 0xa5, + 0xdd, 0x6d, 0xec, 0x68, 0x7f, 0xea, 0xf3, 0xd6, 0x8a, 0x1d, 0x61, 0xeb, 0x3d, 0x04, 0x2e, 0x7d, + 0x0f, 0xf6, 0x83, 0xf1, 0x34, 0x06, 0xd5, 0xea, 0xe1, 0xd7, 0x3d, 0xa4, 0x93, 0x48, 0x6e, 0x05, + 0x1f, 0x20, 0xa1, 0x8d, 0x6f, 0x51, 0x6d, 0x0b, 0x71, 0x81, 0xda, 0x3b, 0xb6, 0xbb, 0x91, 0xc7, + 0x7e, 0xa1, 0x59, 0x50, 0x61, 0x81, 0xe6, 0x85, 0x2c, 0x9e, 0xe0, 0xc7, 0xdb, 0xe5, 0xf1, 0x27, + 0x9f, 0x2b, 0x8a, 0x0b, 0xaa, 0x9b, 0xfd, 0x4a, 0x05, 0x7a, 0xab, 0x6b, 0x03, 0x08, 0xa8, 0x25, + 0xa7, 0xbe, 0x87, 0xf6, 0x9a, 0x0d, 0x93, 0xcd, 0xbf, 0x0f, 0x61, 0x63, 0xc9, 0xa8, 0xf5, 0xe0, + 0x19, 0x0a, 0xa5, 0x4f, 0x43, 0x11, 0x31, 0xe2, 0x72, 0xfb, 0x7b, 0xea, 0x57, 0x94, 0x08, 0x7d, + 0xf7, 0xc2, 0x5d, 0x2f, 0x18, 0x93, 0x5a, 0xca, 0xe8, 0x80, 0xdf, 0xe2, 0x39, 0x17, 0xaf, 0xc1, + 0xd6, 0xc1, 0xd6, 0x0a, 0x5b, 0x35, 0xcb, 0xa7, 0x39, 0xbe, 0x23, 0x84, 0xdf, 0x5d, 0x72, 0xe4, + 0xca, 0x95, 0xdf, 0xe6, 0x2d, 0xba, 0xbd, 0x9c, 0xc6, 0xef, 0x34, 0x36, 0x07, 0x8a, 0xd5, 0xc4, + 0xf3, 0x5b, 0x94, 0xab, 0x52, 0x62, 0x43, 0x4c, 0x77, 0xdc, 0xa4, 0x06, 0x1e, 0x3d, 0x4a, 0x7a, + 0xe4, 0xf8, 0x15, 0xc1, 0x7b, 0xb3, 0xe3, 0xdd, 0x0f, 0x4e, 0xd9, 0x22, 0x04, 0xaa, 0xa7, 0x72, + 0xf7, 0x92, 0x5b, 0x61, 0x5d, 0xf8, 0xd0, 0x32, 0xe9, 0xd8, 0x48, 0x72, 0x00, 0x4e, 0xc3, 0xbb, + 0x8a, 0x6f, 0x4d, 0x43, 0xd6, 0xca, 0x86, 0xb2, 0x41, 0x43, 0xbb, 0x9f, 0x68, 0xa8, 0xbf, 0xb2, + 0xa1, 0x5c, 0xd0, 0x50, 0xf3, 0x13, 0x0d, 0x69, 0x2b, 0x1b, 0xca, 0x07, 0x0d, 0xed, 0xf9, 0x0d, + 0x71, 0xa2, 0x4b, 0xf8, 0xb5, 0x3c, 0xe0, 0x31, 0x71, 0x16, 0x2e, 0xe3, 0xaf, 0x8e, 0xb4, 0xd0, + 0xe2, 0xa3, 0x2c, 0xe2, 0x5a, 0x8f, 0x8d, 0xb2, 0xd0, 0x62, 0x23, 0x2c, 0xb4, 0x68, 0x74, 0x05, + 0x4c, 0x84, 0xe8, 0x35, 0x13, 0x16, 0x8d, 0x1b, 0x89, 0xca, 0x39, 0x55, 0x0f, 0x01, 0x0e, 0xaf, + 0x0c, 0x96, 0xa8, 0x21, 0xd3, 0x9b, 0x86, 0x2c, 0x8c, 0xde, 0x74, 0xe1, 0x99, 0x1f, 0xec, 0x7a, + 0x20, 0x31, 0xc3, 0xd5, 0x8b, 0xf9, 0xa0, 0xa9, 0xe9, 0x4c, 0x9d, 0x50, 0x4f, 0x4e, 0xec, 0x47, + 0x4c, 0x83, 0x6f, 0x98, 0xe6, 0x73, 0x7c, 0x7f, 0xee, 0x9c, 0x46, 0x09, 0x1b, 0xba, 0x40, 0x9b, + 0x7e, 0x10, 0x55, 0x40, 0x69, 0x95, 0x4e, 0xa7, 0x01, 0x06, 0xb6, 0xf1, 0xe5, 0x13, 0x12, 0xec, + 0x7c, 0x7a, 0x5f, 0xb9, 0x03, 0x0c, 0x8f, 0x67, 0x24, 0x00, 0x42, 0xa7, 0xbb, 0xfd, 0xdb, 0x7c, + 0xb4, 0x23, 0xb6, 0xa8, 0xf7, 0xe6, 0x11, 0x43, 0x9c, 0xe9, 0xd3, 0xd9, 0xfe, 0x9e, 0xc8, 0x8e, + 0x53, 0x70, 0xa5, 0x78, 0x1a, 0x02, 0x5c, 0x3b, 0xe2, 0x03, 0x3a, 0xc8, 0x68, 0x1d, 0x90, 0x21, + 0x50, 0x79, 0xa9, 0x00, 0xbb, 0x01, 0x13, 0xec, 0x7e, 0xaf, 0x50, 0x6c, 0xbb, 0x68, 0x04, 0x5d, + 0xf6, 0x7a, 0x78, 0x9a, 0x9b, 0x3b, 0xc2, 0xc1, 0x81, 0xe8, 0x12, 0x92, 0x13, 0xc8, 0xe1, 0x75, + 0x60, 0xed, 0x6d, 0xea, 0xbf, 0xcd, 0x13, 0xa3, 0x9d, 0xe1, 0xa4, 0xe6, 0x45, 0x34, 0x24, 0x37, + 0xb3, 0x0b, 0x6e, 0xf4, 0x3a, 0x8b, 0x25, 0x3b, 0xf3, 0x8c, 0xe8, 0x81, 0x05, 0xea, 0x7f, 0x70, + 0x16, 0x3a, 0x63, 0x1f, 0x9c, 0xf5, 0xa4, 0x3e, 0x87, 0xc5, 0x07, 0x00, 0x92, 0x0f, 0x00, 0x0c, + 0xc1, 0xc7, 0x03, 0xd7, 0xdd, 0x4c, 0x44, 0x69, 0xda, 0xa9, 0xc9, 0xc9, 0x7f, 0x00, 0x64, 0x01, + 0x7b, 0xf5, 0x82, 0xee, 0x91, 0x37, 0x37, 0x15, 0x4d, 0xed, 0xeb, 0x35, 0x94, 0xf9, 0x96, 0x83, + 0x91, 0xf6, 0xb8, 0x5c, 0x62, 0xa1, 0x41, 0x8a, 0x46, 0xaf, 0x8b, 0xa9, 0x1e, 0x26, 0x2d, 0x63, + 0x4a, 0x5b, 0x62, 0x91, 0x06, 0x4b, 0x8b, 0xbe, 0xd1, 0x8b, 0x62, 0xce, 0x71, 0xb1, 0xd1, 0x5b, + 0x87, 0x07, 0xe7, 0x4b, 0x85, 0xe9, 0x0b, 0x3d, 0xb8, 0xce, 0xdb, 0x6d, 0xc6, 0xa0, 0x4f, 0xde, + 0x51, 0x20, 0x00, 0x6c, 0x89, 0x46, 0xe2, 0x11, 0xf5, 0xe5, 0x7a, 0x4c, 0xf7, 0x84, 0x3b, 0x99, + 0x7e, 0xf9, 0x30, 0x87, 0x7d, 0x30, 0x7a, 0xdf, 0x53, 0x5a, 0xea, 0xbb, 0xfd, 0xb4, 0x76, 0xfc, + 0xbe, 0xa7, 0x12, 0xc3, 0xc1, 0x66, 0x16, 0x77, 0x4b, 0x3d, 0xf4, 0xbe, 0xa7, 0x4c, 0x7c, 0x8b, + 0x41, 0x8e, 0x36, 0xb8, 0x62, 0x94, 0xdc, 0xbc, 0xed, 0x00, 0xd4, 0x0f, 0x00, 0x23, 0x1f, 0x01, + 0x36, 0x1c, 0x84, 0x80, 0x4a, 0xf4, 0x97, 0xf9, 0xc9, 0xac, 0x61, 0x70, 0xc4, 0xff, 0x1c, 0x58, + 0x61, 0x35, 0x2f, 0x81, 0x7a, 0x30, 0xf4, 0x98, 0x68, 0x0c, 0x0f, 0xfe, 0x00, 0xb0, 0xe0, 0x3d, + 0x7f, 0x64, 0x0f, 0xf1, 0x26, 0x5d, 0x58, 0xd4, 0x7d, 0xfc, 0x5b, 0x78, 0x5a, 0x96, 0x7b, 0x0f, + 0x0f, 0x9d, 0xf8, 0xa9, 0xb9, 0xd7, 0xb7, 0xcc, 0x58, 0x22, 0x65, 0x79, 0x17, 0x12, 0xc7, 0x95, + 0x50, 0xfe, 0xdf, 0x20, 0x11, 0x6c, 0xb3, 0xb3, 0x76, 0xe8, 0xa2, 0x50, 0x41, 0xf9, 0x7f, 0x04, + 0xaa, 0x4f, 0x44, 0x16, 0x30, 0x2f, 0xdc, 0x2a, 0xdd, 0xd6, 0xff, 0xfa, 0xad, 0xff, 0xed, 0x0e, + 0xba, 0x0a, 0xc7, 0x7f, 0x09, 0x9b, 0x1b, 0x2f, 0xcf, 0x53, 0x1e, 0x5e, 0x72, 0x07, 0x42, 0x3b, + 0x6c, 0xc1, 0x69, 0x6c, 0x17, 0x85, 0x29, 0x01, 0x09, 0xba, 0x34, 0xf4, 0x92, 0xf0, 0xf0, 0xed, + 0x5b, 0x7f, 0xd3, 0xdc, 0xce, 0x7e, 0xfb, 0xd6, 0xdd, 0xec, 0x6c, 0x67, 0x77, 0x8e, 0x29, 0xe3, + 0x24, 0x48, 0x9a, 0x5e, 0x4c, 0x7c, 0x43, 0xd8, 0xc1, 0xe1, 0x6f, 0xdf, 0x22, 0x09, 0xd4, 0xc3, + 0x29, 0xd6, 0xda, 0xac, 0x28, 0xd8, 0x3d, 0x07, 0x8f, 0xb4, 0x0c, 0x7d, 0x4a, 0xe3, 0x29, 0xad, + 0x29, 0x17, 0xab, 0xe2, 0x1a, 0x46, 0x62, 0x72, 0x67, 0xe6, 0x2a, 0x07, 0x6b, 0x3c, 0x37, 0x21, + 0xa0, 0xdb, 0xce, 0x50, 0x74, 0xe1, 0xa5, 0x5f, 0xfc, 0x30, 0x0d, 0x1a, 0x73, 0xc1, 0x9c, 0x3b, + 0xee, 0x95, 0xb4, 0x08, 0x2f, 0x48, 0xdc, 0xf5, 0x56, 0x0d, 0x9d, 0x54, 0x8e, 0x19, 0xb1, 0x62, + 0x6f, 0x4d, 0x7f, 0x26, 0x7e, 0x47, 0x95, 0xde, 0x31, 0x43, 0x56, 0x0d, 0xcc, 0xa0, 0x6d, 0x8c, + 0x64, 0xf9, 0xb8, 0xe5, 0x38, 0xc7, 0x5c, 0xa8, 0xe5, 0x88, 0x6b, 0x8e, 0xb6, 0x8c, 0xb2, 0xf3, + 0xaf, 0x5b, 0x4d, 0x5d, 0xfc, 0x4a, 0x01, 0x9a, 0x05, 0xab, 0x39, 0xce, 0x85, 0xcc, 0x62, 0x6a, + 0x9c, 0x1b, 0x8d, 0x7e, 0x43, 0x4c, 0xb0, 0xbe, 0xdd, 0x7b, 0x6d, 0xf1, 0x74, 0x3a, 0x17, 0xf2, + 0x62, 0x7e, 0x8a, 0x31, 0x43, 0xdf, 0x97, 0x0f, 0xc2, 0xd4, 0x3f, 0x03, 0x4a, 0x37, 0x04, 0xca, + 0x1e, 0x8d, 0x09, 0xe7, 0x00, 0xe8, 0xf2, 0x06, 0xe6, 0xf6, 0x5f, 0xfc, 0x2e, 0x74, 0xc8, 0xf2, + 0x5f, 0xd6, 0x47, 0x81, 0x4d, 0x2d, 0x14, 0x85, 0xec, 0x98, 0xd3, 0xc2, 0xdb, 0xd4, 0x58, 0x0e, + 0xe3, 0x75, 0xf7, 0x4f, 0xf8, 0xed, 0x91, 0xed, 0x3a, 0x8b, 0xc2, 0xdc, 0x0a, 0xae, 0x2e, 0xd0, + 0xdc, 0xd0, 0x40, 0x30, 0x55, 0xf1, 0xf2, 0x91, 0xa4, 0x77, 0x38, 0xca, 0x7b, 0xf7, 0xbe, 0x3d, + 0x84, 0x87, 0xf4, 0xfc, 0xbd, 0x1f, 0xa5, 0x2e, 0x6f, 0x29, 0x3f, 0xea, 0x88, 0xe4, 0x96, 0x92, + 0x4a, 0x25, 0x03, 0x29, 0xa3, 0xd0, 0x53, 0xf4, 0xbc, 0x17, 0x9e, 0x1e, 0x3c, 0xa5, 0xfc, 0xaf, + 0xa0, 0x5b, 0xff, 0x57, 0xd2, 0xef, 0xb0, 0x6f, 0x89, 0x29, 0x65, 0x55, 0xbc, 0xe2, 0x17, 0xbe, + 0x1e, 0x00, 0xf3, 0xcb, 0x87, 0x04, 0x66, 0xf8, 0xe7, 0x00, 0xce, 0xb2, 0x5b, 0x7b, 0xdc, 0x0d, + 0xa5, 0x1f, 0xb9, 0xa0, 0x64, 0xbf, 0x0b, 0xd6, 0x2d, 0x00, 0xbf, 0xaa, 0x73, 0x10, 0xaa, 0xdc, + 0xcd, 0x8f, 0x5e, 0x25, 0x19, 0x77, 0x25, 0xdc, 0x03, 0x63, 0x49, 0x1f, 0x8a, 0xbe, 0x29, 0xaf, + 0x0c, 0xa7, 0x94, 0xbe, 0x50, 0x8f, 0xff, 0x17, 0x8d, 0xdd, 0x6d, 0x12, 0x5e, 0x4e, 0xf9, 0xe6, + 0x19, 0xa2, 0x08, 0xd2, 0xc2, 0xf6, 0x8e, 0x03, 0x27, 0x61, 0xbd, 0x4d, 0xad, 0x2a, 0x45, 0xfc, + 0x52, 0x3f, 0x3c, 0x75, 0x30, 0x80, 0xc8, 0x5a, 0xc6, 0x2e, 0x2e, 0x66, 0xd4, 0xff, 0xb2, 0x51, + 0x34, 0xce, 0xd6, 0x23, 0x19, 0xc8, 0xcf, 0xf0, 0x7d, 0x7e, 0x52, 0xf8, 0xf6, 0x11, 0x8c, 0x9d, + 0x35, 0xed, 0x24, 0xba, 0x19, 0xf0, 0x81, 0x3b, 0xc0, 0xc2, 0x8e, 0x28, 0x7c, 0x3f, 0xa3, 0x5b, + 0x64, 0x35, 0x37, 0x58, 0x6f, 0xd9, 0x29, 0x67, 0xf7, 0x79, 0x31, 0x13, 0x89, 0x54, 0x63, 0xfb, + 0x6b, 0xff, 0xf9, 0xbd, 0xe6, 0xd3, 0x80, 0x3a, 0x01, 0x18, 0xd6, 0x38, 0xaf, 0xbe, 0x6f, 0xf9, + 0x21, 0x99, 0xf4, 0xa4, 0x8c, 0xc0, 0xc0, 0xa0, 0x1b, 0x89, 0xf4, 0x9c, 0x4b, 0xd8, 0x1b, 0xf7, + 0xdb, 0xdc, 0x49, 0xab, 0xdd, 0x05, 0xfc, 0xd2, 0x00, 0x50, 0x7f, 0x67, 0xb2, 0x8e, 0xc9, 0x4b, + 0xee, 0x39, 0xea, 0xf4, 0x63, 0x39, 0xae, 0x5f, 0x43, 0xac, 0xe1, 0xeb, 0x8f, 0xac, 0xbc, 0xe3, + 0x7d, 0x46, 0x29, 0x85, 0x09, 0xde, 0xf6, 0x5e, 0x2d, 0xb2, 0x1f, 0xf8, 0x07, 0x66, 0x6e, 0x66, + 0x65, 0x3c, 0x01, 0xe3, 0x3a, 0xf7, 0x7e, 0x6d, 0x11, 0x7a, 0x40, 0x31, 0xe4, 0xe2, 0x73, 0x4f, + 0x2a, 0xba, 0x4d, 0x86, 0xce, 0xb1, 0x44, 0x72, 0x56, 0x8d, 0x26, 0x77, 0x64, 0x26, 0xa6, 0x2c, + 0xc7, 0x8f, 0xcb, 0x1b, 0xbe, 0xfe, 0xe1, 0x2f, 0xf7, 0x30, 0x12, 0xf5, 0x32, 0x4a, 0x74, 0xdb, + 0x97, 0x78, 0x67, 0xa6, 0xfc, 0xcd, 0x69, 0x3c, 0x41, 0xeb, 0xfc, 0x20, 0xee, 0x30, 0x6f, 0x39, + 0x30, 0xf1, 0xc9, 0x1f, 0xce, 0xcf, 0xfa, 0x5c, 0xed, 0xd6, 0xf0, 0x01, 0x03, 0x5d, 0xd1, 0xa4, + 0x64, 0x2f, 0xd9, 0x9f, 0x0b, 0x6c, 0x83, 0x3f, 0xb8, 0x44, 0x9d, 0x94, 0xf4, 0xaa, 0x22, 0x8d, + 0xe0, 0x8d, 0xa3, 0x8a, 0x45, 0x12, 0x0e, 0x4d, 0x4c, 0x62, 0x40, 0xa8, 0x77, 0x28, 0x0b, 0xdb, + 0x93, 0x59, 0x4b, 0x62, 0x0b, 0xef, 0xa8, 0x11, 0x17, 0x01, 0x10, 0xf4, 0xe6, 0x10, 0xe2, 0x71, + 0x18, 0xde, 0xc8, 0x24, 0xe9, 0xf0, 0x83, 0xa5, 0x31, 0x88, 0x40, 0xd2, 0xdc, 0x88, 0x5d, 0x96, + 0x04, 0xd4, 0xec, 0x92, 0xe9, 0x65, 0x2f, 0x21, 0xde, 0xb4, 0xee, 0xf7, 0xc4, 0xe4, 0x0f, 0x99, + 0x9e, 0xab, 0x09, 0xb3, 0x31, 0x3b, 0xf1, 0x85, 0x27, 0x31, 0xd9, 0xe1, 0x30, 0x97, 0x8d, 0xb1, + 0x13, 0xbc, 0x92, 0x8b, 0xa5, 0xe2, 0x39, 0x12, 0x96, 0xb1, 0x23, 0x6e, 0x6d, 0x7d, 0xd9, 0xca, + 0x82, 0xbe, 0xe1, 0x65, 0x6c, 0x31, 0xea, 0x60, 0xb0, 0xa8, 0xb6, 0xf3, 0xc7, 0xcf, 0x9a, 0x06, + 0x5a, 0x98, 0xa6, 0xe2, 0xe9, 0x32, 0x7a, 0xa3, 0x98, 0xe3, 0x56, 0xfc, 0x91, 0xff, 0xf3, 0x4f, + 0x1a, 0x50, 0x4a, 0x8f, 0x51, 0x41, 0x39, 0xfc, 0xf5, 0x8a, 0x4a, 0xf4, 0x56, 0x0f, 0x6f, 0x06, + 0x7d, 0xfb, 0x26, 0xe2, 0xcd, 0xac, 0x18, 0x3b, 0x4c, 0x2f, 0x5e, 0xf5, 0xae, 0xbf, 0xc5, 0x84, + 0xa4, 0x7b, 0x52, 0x38, 0xf8, 0xa0, 0xb8, 0xb7, 0xc1, 0xed, 0x77, 0x54, 0xf0, 0x3b, 0xca, 0xff, + 0xdc, 0x01, 0x05, 0xb6, 0x86, 0x0f, 0x5b, 0x32, 0xbd, 0xb1, 0x20, 0xa1, 0xe0, 0x0d, 0x0a, 0x92, + 0xc2, 0xf5, 0x95, 0x50, 0xf8, 0x40, 0x5c, 0x31, 0xe8, 0x80, 0x7d, 0x08, 0x1c, 0x0b, 0x07, 0xf9, + 0x59, 0x3e, 0x9f, 0x7e, 0x87, 0x3b, 0x92, 0x9f, 0x2e, 0x76, 0x3f, 0x28, 0x92, 0xe3, 0xf2, 0xd9, + 0x97, 0xb2, 0xc3, 0xf9, 0x63, 0x3e, 0x9f, 0x7e, 0xa7, 0x3a, 0x9c, 0xdf, 0x0b, 0xe7, 0x17, 0xb7, + 0x30, 0x72, 0xdd, 0x49, 0xd5, 0xbd, 0x0f, 0x88, 0x20, 0xdf, 0xe3, 0x31, 0x93, 0x23, 0x67, 0xa8, + 0x41, 0xe9, 0xa9, 0x28, 0x11, 0x49, 0x97, 0x50, 0x8d, 0x01, 0xa5, 0x4d, 0x12, 0x81, 0x49, 0x92, + 0x0b, 0xb6, 0x70, 0xba, 0x1f, 0xb9, 0x0f, 0xad, 0x9b, 0x31, 0xa7, 0xc7, 0xfc, 0x73, 0xa1, 0xec, + 0x08, 0xa9, 0x7f, 0x9a, 0xd0, 0x7d, 0x8b, 0x1c, 0xce, 0x8b, 0x72, 0x38, 0x3d, 0xbd, 0xe5, 0x96, + 0xf5, 0x78, 0xfc, 0x0f, 0x59, 0xf2, 0xe5, 0xca, 0x4f, 0xef, 0x92, 0x2c, 0xe0, 0x5c, 0x7f, 0xae, + 0x21, 0x9b, 0xd3, 0x2a, 0x28, 0xca, 0xe2, 0x11, 0x73, 0x0f, 0xc7, 0x8a, 0x12, 0x1e, 0xb9, 0x93, + 0xb0, 0x1b, 0x8a, 0xe3, 0x95, 0x97, 0x1c, 0x52, 0xa0, 0xd1, 0x2f, 0x6f, 0xd2, 0x3d, 0x61, 0xd7, + 0xfc, 0xfa, 0x6d, 0x8e, 0xdf, 0x7e, 0x51, 0xb4, 0x2b, 0x48, 0x6c, 0xda, 0x76, 0x02, 0x1b, 0x49, + 0xfa, 0x87, 0x85, 0x7e, 0xd1, 0xb5, 0x93, 0x9d, 0x10, 0x82, 0x65, 0x35, 0x4a, 0x24, 0x82, 0x2b, + 0x1b, 0xbb, 0x0a, 0xda, 0x0b, 0x0c, 0x81, 0x21, 0xf1, 0xcf, 0x67, 0x74, 0xa0, 0x0e, 0xf5, 0xe6, + 0x24, 0xfd, 0xc0, 0x16, 0x90, 0x1d, 0xe4, 0xc7, 0x72, 0x01, 0x90, 0x88, 0x29, 0x2f, 0x74, 0x65, + 0xe9, 0xda, 0x35, 0x00, 0xc4, 0x3f, 0xe3, 0xe7, 0x03, 0xc1, 0xdf, 0x8d, 0x86, 0xf7, 0xb5, 0xa4, + 0x8d, 0x91, 0xe3, 0x42, 0xf5, 0x01, 0x99, 0x60, 0x55, 0xdf, 0x24, 0x92, 0xf8, 0xdf, 0x82, 0xfb, + 0xd5, 0x50, 0x31, 0x85, 0x22, 0xe3, 0xbf, 0xc5, 0xff, 0x09, 0xd5, 0x68, 0x9b, 0x3c, 0xd9, 0xb8, + 0xa8, 0x1a, 0x0b, 0x23, 0xdf, 0x26, 0x6e, 0xe1, 0x84, 0x27, 0xb2, 0x62, 0x2e, 0x72, 0x12, 0xbf, + 0xba, 0xe8, 0x09, 0x69, 0x7a, 0xfa, 0x2e, 0xb9, 0xc5, 0x1f, 0x00, 0x15, 0x48, 0x10, 0xdf, 0x43, + 0x60, 0x8e, 0x87, 0xaa, 0x27, 0xc4, 0xb4, 0x0f, 0x23, 0xbb, 0x43, 0xcd, 0xbd, 0x93, 0xb8, 0x1e, + 0x19, 0x5d, 0xff, 0xf6, 0x67, 0xb5, 0x9b, 0xe4, 0x81, 0x1c, 0xe9, 0x87, 0xca, 0x70, 0xa8, 0xb0, + 0x0b, 0xc7, 0xdd, 0xd3, 0xec, 0x5c, 0xc4, 0x28, 0xe0, 0xc7, 0x4e, 0x48, 0x98, 0x18, 0x93, 0x96, + 0x81, 0x57, 0x29, 0x9b, 0x71, 0xc2, 0x77, 0xda, 0xf0, 0xfd, 0xb0, 0x03, 0x96, 0xfc, 0x67, 0x17, + 0x82, 0x4b, 0x6e, 0x82, 0x34, 0x94, 0x99, 0x78, 0xbc, 0xd1, 0xf1, 0x2e, 0xe4, 0x70, 0x35, 0x8f, + 0x9a, 0x40, 0xd5, 0x8c, 0xad, 0x6c, 0xdd, 0x97, 0x65, 0x78, 0xee, 0x08, 0x38, 0xbb, 0x4e, 0x79, + 0x3c, 0x2c, 0xb7, 0xe9, 0xc4, 0x72, 0xf3, 0xf1, 0xb0, 0x19, 0x00, 0x97, 0xf4, 0x6e, 0x4b, 0x72, + 0xcf, 0x56, 0x06, 0xac, 0xe7, 0xb5, 0xc7, 0x18, 0x8e, 0x29, 0x0d, 0x5a, 0xdd, 0xf1, 0xa4, 0xb7, + 0x22, 0x19, 0x92, 0x2a, 0x59, 0x78, 0xb9, 0xfb, 0xd2, 0xfa, 0xa0, 0x25, 0x93, 0x16, 0x7f, 0xc8, + 0x05, 0x0f, 0x5c, 0x22, 0x25, 0x7e, 0xc7, 0x23, 0x2e, 0x92, 0x52, 0xf7, 0x48, 0x48, 0x2f, 0x65, + 0xcc, 0xa5, 0x8b, 0x18, 0x5c, 0x14, 0xa4, 0xe5, 0x30, 0x2d, 0x8f, 0xf7, 0x34, 0x06, 0x69, 0x79, + 0x4c, 0x2b, 0xc0, 0x78, 0xe1, 0xc2, 0x0d, 0xfd, 0x89, 0x16, 0x2e, 0x1d, 0x49, 0xa5, 0xee, 0x93, + 0x1b, 0x8c, 0xc3, 0xae, 0x31, 0x4c, 0x60, 0x53, 0xcb, 0x69, 0xea, 0x72, 0x1a, 0x6d, 0xca, 0x65, + 0x11, 0x84, 0x63, 0x33, 0xeb, 0x1e, 0x32, 0x65, 0xf7, 0x4d, 0xd9, 0x4c, 0x31, 0x86, 0x39, 0x63, + 0x11, 0x7d, 0x4b, 0xe1, 0x82, 0xaa, 0x70, 0x5d, 0xf3, 0x58, 0xc3, 0xc2, 0xee, 0xe2, 0xb3, 0xfa, + 0xd8, 0x6b, 0x7c, 0x56, 0x3b, 0xb9, 0xf8, 0x02, 0x03, 0x56, 0xb7, 0xe8, 0xb9, 0x0d, 0xfe, 0x30, + 0x50, 0xc6, 0x23, 0x3a, 0xa5, 0x14, 0xde, 0x37, 0x45, 0x63, 0xa4, 0xdc, 0xfb, 0xb4, 0x15, 0xbc, + 0x4a, 0xdb, 0xc0, 0x3f, 0xea, 0x22, 0x89, 0x97, 0x7a, 0x2f, 0xfe, 0x05, 0xd3, 0xc7, 0xbd, 0xd9, + 0x27, 0x08, 0x9d, 0xac, 0x09, 0xd1, 0x7b, 0xc0, 0xf1, 0xf3, 0x2b, 0xe8, 0xb5, 0x93, 0xf0, 0xce, + 0xc8, 0x17, 0x43, 0xa5, 0x37, 0xb3, 0x6d, 0xfd, 0x5a, 0x84, 0x78, 0x72, 0x59, 0x10, 0xd0, 0xdb, + 0x83, 0x60, 0x1d, 0x40, 0x0d, 0x41, 0x52, 0x42, 0xd7, 0x08, 0x45, 0x66, 0x3c, 0xd3, 0xfd, 0x50, + 0x25, 0xa4, 0xdf, 0xf1, 0x71, 0xbd, 0x95, 0x74, 0x57, 0x12, 0xed, 0x3f, 0xbc, 0x44, 0x08, 0xb7, + 0x0d, 0xe9, 0x12, 0xab, 0xd0, 0xc3, 0x21, 0x34, 0x0f, 0xb4, 0x3c, 0xf4, 0x9d, 0x29, 0xe8, 0x23, + 0xfb, 0xbe, 0x30, 0xf4, 0x26, 0x33, 0x06, 0x7f, 0x9b, 0xeb, 0x0b, 0x7a, 0x7d, 0x78, 0xd2, 0xdf, + 0xc5, 0x74, 0xed, 0x46, 0x37, 0xd5, 0xeb, 0x1a, 0xf1, 0x33, 0xdc, 0x4d, 0xcd, 0x8f, 0xb6, 0xd8, + 0x22, 0xbb, 0x9e, 0xb4, 0x2a, 0xe7, 0x07, 0x42, 0x00, 0x51, 0xff, 0xc1, 0x67, 0xb2, 0x10, 0xc3, + 0xbb, 0x99, 0xb4, 0x70, 0xd8, 0x2e, 0x8f, 0x10, 0xc0, 0xff, 0xd0, 0x67, 0xa8, 0x9e, 0x7f, 0x7c, + 0x77, 0x9b, 0x5d, 0xa1, 0x14, 0xda, 0xec, 0x71, 0xa3, 0x44, 0x52, 0x5a, 0x60, 0x9a, 0xfa, 0xc3, + 0xd1, 0x46, 0x20, 0x51, 0x34, 0xb8, 0xd1, 0x6e, 0xc4, 0x8d, 0x74, 0xcb, 0xe7, 0x6a, 0xee, 0xfc, + 0xdf, 0x6f, 0x5d, 0xe5, 0x73, 0xa2, 0x1b, 0xc7, 0x96, 0x0f, 0xa5, 0x6e, 0xb6, 0xfc, 0x8c, 0x42, + 0x24, 0x23, 0xef, 0x65, 0x14, 0xc3, 0x19, 0x4d, 0x2f, 0xa3, 0xc2, 0x77, 0x50, 0xc9, 0x95, 0x4a, + 0xa2, 0xcb, 0x5f, 0xe2, 0x0e, 0x0f, 0x9e, 0x1e, 0xba, 0x97, 0x47, 0xc4, 0xf8, 0x4d, 0x7a, 0x93, + 0x06, 0xa6, 0xef, 0x80, 0x0e, 0x69, 0xd6, 0xd8, 0x33, 0x77, 0x0b, 0x0f, 0xc8, 0x6b, 0x3c, 0xa3, + 0xc8, 0x98, 0x2a, 0x19, 0xbe, 0x6f, 0xd1, 0xcb, 0x44, 0xb5, 0x03, 0x73, 0x25, 0x76, 0xfb, 0x41, + 0x70, 0xf1, 0x01, 0xf1, 0x2e, 0x3c, 0x00, 0x0b, 0x22, 0xb8, 0xec, 0xe0, 0xea, 0xb2, 0x75, 0x2b, + 0x4a, 0x78, 0x0f, 0x29, 0xc1, 0x8f, 0x93, 0xe0, 0x9d, 0x68, 0x38, 0x08, 0x9b, 0xb7, 0x40, 0x3c, + 0x60, 0x41, 0xbc, 0x6e, 0x52, 0x65, 0x97, 0x7c, 0xd2, 0xca, 0xe2, 0x42, 0x6a, 0x1b, 0xdd, 0x59, + 0x2d, 0x72, 0x84, 0xd6, 0x4e, 0x72, 0x17, 0x26, 0x84, 0xe1, 0xc2, 0x54, 0x58, 0x94, 0x30, 0x48, + 0x9a, 0x5d, 0x96, 0xe8, 0x7e, 0x6a, 0x6a, 0x7d, 0x05, 0x76, 0xeb, 0x08, 0x09, 0xdd, 0xf0, 0xd0, + 0xed, 0x9a, 0xb8, 0x6e, 0x51, 0x59, 0x0f, 0x35, 0x7a, 0xaa, 0x35, 0x4c, 0xd0, 0xab, 0xa0, 0x6c, + 0xe1, 0x89, 0xd8, 0x99, 0xcb, 0x53, 0x10, 0x6a, 0x78, 0xc1, 0x0d, 0xbd, 0x11, 0x46, 0x98, 0x0c, + 0x14, 0x87, 0xbe, 0x81, 0x36, 0x24, 0x74, 0x61, 0xbe, 0xf6, 0xbf, 0x80, 0xc2, 0xe6, 0x5f, 0x72, + 0xf0, 0xff, 0x35, 0xf7, 0x6d, 0xdb, 0x6d, 0x23, 0x59, 0x7b, 0xf7, 0x79, 0x0a, 0x0a, 0xdd, 0x2d, + 0x01, 0x26, 0x44, 0x91, 0x94, 0xdd, 0xe3, 0x26, 0x05, 0x72, 0xd9, 0xb2, 0x3d, 0xad, 0xf5, 0xdb, + 0x6e, 0xc5, 0xf2, 0x74, 0xb7, 0x97, 0x46, 0x6b, 0x04, 0x91, 0xa0, 0x84, 0x18, 0x02, 0xd8, 0x00, + 0x74, 0xf0, 0x50, 0x7c, 0x8d, 0xac, 0x95, 0xdc, 0xe4, 0x2a, 0xb9, 0x48, 0xde, 0x2a, 0x4f, 0x90, + 0x47, 0xc8, 0x3e, 0x54, 0x15, 0xaa, 0x70, 0x20, 0x29, 0xbb, 0xe7, 0x4f, 0x7a, 0xb5, 0x45, 0xa0, + 0x50, 0xe7, 0xc3, 0xae, 0x5d, 0xbb, 0xf6, 0xde, 0x1f, 0xea, 0xbc, 0xda, 0x61, 0x4c, 0x9a, 0xa0, + 0xa4, 0x33, 0xe7, 0x75, 0x5d, 0x52, 0xab, 0x46, 0x8c, 0x1c, 0x89, 0xd2, 0xe1, 0x38, 0xc8, 0xcb, + 0x03, 0xe7, 0x10, 0xce, 0xb7, 0x0a, 0x3b, 0xd0, 0x70, 0x8e, 0x07, 0x6b, 0xc3, 0xdf, 0x9c, 0xcb, + 0x38, 0xe2, 0x68, 0x79, 0xcc, 0x4f, 0xac, 0x87, 0xe7, 0xb1, 0x82, 0x9e, 0x08, 0x02, 0xaa, 0xe4, + 0x89, 0xfc, 0x34, 0x9b, 0x55, 0xf1, 0x71, 0x1e, 0xaa, 0x8f, 0xe1, 0x5c, 0xb2, 0xe7, 0x1d, 0x4b, + 0xe6, 0xdc, 0xe1, 0xba, 0xd1, 0xdf, 0x76, 0x5b, 0x06, 0xc2, 0xf2, 0x44, 0x17, 0x48, 0xb2, 0xc8, + 0xcf, 0xe1, 0x1c, 0x5b, 0xc1, 0x6f, 0xb4, 0x44, 0x9f, 0x77, 0x8b, 0xa8, 0x33, 0x2d, 0x2a, 0xd0, + 0x42, 0x34, 0xfa, 0x87, 0xf6, 0x33, 0x71, 0xe4, 0x60, 0x87, 0x7b, 0xa2, 0x5d, 0xad, 0xa5, 0x33, + 0x54, 0x73, 0x4f, 0xeb, 0x06, 0xd7, 0x9a, 0xa0, 0x6b, 0xfb, 0xc5, 0xd5, 0xdd, 0x00, 0x36, 0x81, + 0xe9, 0x60, 0x01, 0xf9, 0x0d, 0xe0, 0xdf, 0x72, 0xb9, 0xd4, 0x37, 0xfb, 0x93, 0x9b, 0x79, 0x90, + 0x9e, 0x7c, 0x89, 0x27, 0xdf, 0x36, 0x74, 0x38, 0x72, 0x21, 0xec, 0xaa, 0xe1, 0x81, 0x1a, 0x1f, + 0xb9, 0xbb, 0x86, 0xb0, 0xbb, 0xaa, 0xc0, 0xd3, 0xf0, 0xac, 0x61, 0xd0, 0xac, 0x2f, 0x30, 0x0d, + 0x3d, 0xa1, 0x91, 0x9b, 0xdd, 0x58, 0xed, 0x50, 0x70, 0x97, 0x1f, 0x83, 0x7b, 0x34, 0x5e, 0x56, + 0x6d, 0xac, 0xcb, 0xab, 0xdc, 0x58, 0x23, 0x0e, 0x8a, 0x59, 0xae, 0xee, 0xb0, 0xc3, 0xa0, 0xe9, + 0xee, 0x46, 0xf9, 0x90, 0xbb, 0xc1, 0x6a, 0x2e, 0x14, 0xbc, 0x3e, 0x0f, 0xf2, 0x74, 0x04, 0xb9, + 0xa4, 0x17, 0x08, 0xef, 0x53, 0x67, 0x42, 0xcb, 0xcb, 0x8c, 0x18, 0x2c, 0x66, 0x4e, 0x60, 0xff, + 0x89, 0xf1, 0x0f, 0x1c, 0x2f, 0x0b, 0xd7, 0x20, 0xbe, 0x46, 0x81, 0xc8, 0x1e, 0xe1, 0x5e, 0x20, + 0x88, 0x7c, 0x69, 0x5b, 0x4e, 0x6b, 0x97, 0x94, 0xce, 0xef, 0xda, 0xd6, 0x3d, 0xfe, 0xb2, 0xf9, + 0x02, 0xa2, 0x80, 0x8c, 0x7b, 0x28, 0x25, 0x42, 0xdc, 0x10, 0xf5, 0x74, 0xab, 0x9e, 0x32, 0x7a, + 0xd2, 0x7c, 0x64, 0x12, 0xe5, 0xd5, 0x57, 0x38, 0x61, 0xda, 0x48, 0x5a, 0x55, 0xb4, 0x0f, 0x1d, + 0xa0, 0x31, 0x4f, 0x0e, 0xfc, 0x10, 0x0d, 0xd2, 0x2d, 0x9c, 0xc2, 0xdb, 0x81, 0x36, 0x48, 0xda, + 0x80, 0xde, 0x92, 0x53, 0x08, 0x23, 0x9a, 0xe1, 0xaa, 0x39, 0x61, 0x4d, 0x5b, 0x21, 0x75, 0x42, + 0x84, 0xb7, 0xc6, 0x9c, 0x82, 0x54, 0xe5, 0x24, 0xa2, 0xad, 0xc8, 0x29, 0xc3, 0x53, 0xd6, 0x2e, + 0x0a, 0xe5, 0x4a, 0xf9, 0xe9, 0x0d, 0x29, 0x86, 0xf2, 0x54, 0x4b, 0x70, 0xa6, 0x64, 0x81, 0x46, + 0x1e, 0x2b, 0x0a, 0x9b, 0xcd, 0xb3, 0xb5, 0xc5, 0xf0, 0xbc, 0x43, 0x3b, 0x3e, 0x99, 0xbd, 0x4c, + 0x55, 0x9f, 0x71, 0x53, 0x06, 0x6c, 0x91, 0x8e, 0x47, 0x5c, 0x3d, 0x42, 0x89, 0x10, 0x1c, 0x37, + 0x57, 0x40, 0x58, 0xb4, 0xc3, 0xf6, 0x0c, 0x5c, 0x21, 0x30, 0xab, 0x9d, 0xbb, 0x27, 0x1b, 0x47, + 0xbd, 0x12, 0x1e, 0xd9, 0x84, 0xec, 0x69, 0x3e, 0xa9, 0xd6, 0x3f, 0x45, 0xbd, 0x78, 0xfe, 0x7e, + 0x9d, 0xde, 0x37, 0x0e, 0xa6, 0x61, 0x7f, 0x4f, 0x13, 0xb7, 0xf6, 0x93, 0x59, 0xa0, 0xcc, 0xb0, + 0xa9, 0xc0, 0x79, 0x1c, 0x75, 0xcb, 0x25, 0xca, 0x0f, 0xbf, 0x9b, 0x1f, 0x8c, 0x7c, 0x55, 0xba, + 0x15, 0x19, 0x1f, 0x9a, 0xe9, 0x47, 0xfd, 0x72, 0x0e, 0x87, 0x0d, 0x39, 0xc8, 0xf9, 0x88, 0x84, + 0x4c, 0xcf, 0x01, 0x79, 0x48, 0x24, 0x74, 0x28, 0x3d, 0xb5, 0x0a, 0xbf, 0x63, 0x32, 0x5e, 0x35, + 0x23, 0xcd, 0x1d, 0x22, 0xd0, 0x8b, 0xcc, 0x4d, 0x9c, 0x05, 0xb9, 0x34, 0xc3, 0x3b, 0x4c, 0xc3, + 0x46, 0xe4, 0xd4, 0x02, 0xe2, 0x0e, 0xe4, 0x01, 0xf5, 0xef, 0x5d, 0x2b, 0x9c, 0xc3, 0x1f, 0xdc, + 0x65, 0xd0, 0x49, 0x7e, 0x80, 0x6e, 0xff, 0x71, 0xf5, 0xb8, 0xb4, 0x1a, 0x5d, 0x92, 0x7f, 0x68, + 0xf3, 0xdc, 0xb5, 0x2e, 0x27, 0x08, 0x41, 0x80, 0x53, 0x93, 0xfe, 0x62, 0x4c, 0x1c, 0x67, 0xf8, + 0x7b, 0x8b, 0x7f, 0x71, 0x08, 0x5c, 0xee, 0x30, 0x97, 0x5b, 0xed, 0x72, 0xef, 0xba, 0x54, 0xf3, + 0x33, 0x27, 0x46, 0xd9, 0x6a, 0x3e, 0x6d, 0x31, 0x2f, 0x1c, 0x90, 0x43, 0x4d, 0x79, 0x7b, 0x38, + 0x64, 0x17, 0x6c, 0x58, 0x61, 0x66, 0x7b, 0x5e, 0xc4, 0xd3, 0xd7, 0xf7, 0xc1, 0x04, 0xce, 0xe8, + 0xf6, 0xb9, 0x60, 0x80, 0x30, 0xcd, 0xde, 0xb9, 0x6b, 0x11, 0x0b, 0x94, 0x85, 0x68, 0x51, 0x68, + 0xcb, 0x86, 0xdb, 0xc0, 0xa1, 0xf3, 0x51, 0x37, 0xd4, 0x9d, 0xf3, 0xc4, 0x0e, 0x4d, 0x7f, 0x38, + 0xa0, 0x99, 0x81, 0x44, 0x7c, 0xdd, 0x09, 0x9c, 0x16, 0x69, 0x82, 0x9f, 0x66, 0x67, 0xac, 0x08, + 0x39, 0xad, 0x57, 0x84, 0x84, 0x92, 0x3d, 0x7d, 0x23, 0x52, 0x7a, 0x0d, 0x15, 0x4b, 0x2d, 0x3c, + 0xbc, 0x0b, 0xdd, 0x86, 0xc2, 0xfd, 0x51, 0xa0, 0x2b, 0x11, 0x29, 0x8f, 0xeb, 0xc2, 0x7b, 0xe4, + 0x8e, 0xd6, 0xba, 0x1d, 0xf6, 0x7f, 0x34, 0xa9, 0x38, 0x3f, 0xc2, 0x51, 0x6b, 0x67, 0xba, 0x24, + 0x65, 0x2a, 0x70, 0x0b, 0xe6, 0x45, 0x38, 0x4d, 0x1d, 0x21, 0xfc, 0xc5, 0x01, 0x36, 0x13, 0x6c, + 0x64, 0xf4, 0xad, 0xf6, 0xac, 0xbf, 0xef, 0xec, 0xb4, 0xc3, 0x0e, 0x1a, 0xb6, 0xed, 0xb8, 0x3b, + 0xd4, 0x5b, 0x3b, 0xee, 0x62, 0x27, 0x89, 0xa1, 0x65, 0x6d, 0x3b, 0xa5, 0x6b, 0xcf, 0x4d, 0x0d, + 0xbf, 0x39, 0xf6, 0x26, 0x36, 0xdf, 0x5c, 0x75, 0x9a, 0x90, 0x66, 0xa3, 0x42, 0xb2, 0xbd, 0x73, + 0x8b, 0xad, 0xa2, 0xf4, 0x15, 0xc2, 0xf8, 0x23, 0xce, 0xe2, 0xf2, 0x47, 0x08, 0xd3, 0x76, 0x90, + 0x72, 0xca, 0x20, 0x15, 0x14, 0x0b, 0xe6, 0x70, 0xf9, 0xa3, 0xc6, 0xe3, 0x15, 0x54, 0xad, 0x31, + 0xce, 0xb1, 0x22, 0xf8, 0x69, 0x7d, 0x2c, 0xf8, 0x22, 0xa2, 0xdc, 0x97, 0x07, 0xad, 0x46, 0x49, + 0x37, 0xc5, 0x0b, 0x1f, 0xa4, 0xac, 0x33, 0xa9, 0xa5, 0x5b, 0xd0, 0xe2, 0xec, 0xec, 0xe1, 0xc1, + 0xd6, 0x5f, 0x81, 0x6d, 0x75, 0x8c, 0xef, 0x34, 0xed, 0xbd, 0xd0, 0x0d, 0x75, 0x9a, 0x29, 0x09, + 0x09, 0x11, 0xcb, 0xba, 0x1a, 0x1a, 0x54, 0xd7, 0x0c, 0xbb, 0x72, 0xd6, 0xae, 0x4b, 0xdc, 0x1e, + 0x98, 0xeb, 0xdf, 0x64, 0x61, 0x2a, 0x39, 0xa1, 0xb6, 0x95, 0x96, 0xeb, 0x54, 0xd9, 0x7e, 0xb9, + 0xff, 0x90, 0x10, 0xd5, 0xc6, 0xed, 0x5c, 0x4e, 0x90, 0x2e, 0x8e, 0x7a, 0xda, 0xde, 0x5b, 0x8a, + 0x57, 0xec, 0xb5, 0x6e, 0x58, 0xd9, 0x37, 0x35, 0x92, 0x6f, 0x24, 0xf3, 0xed, 0xb0, 0x69, 0xe3, + 0x33, 0xb6, 0x81, 0xfa, 0xb2, 0x8c, 0x24, 0x82, 0xe1, 0x75, 0x4d, 0x82, 0xe2, 0x48, 0x31, 0x5d, + 0x57, 0x91, 0xeb, 0x18, 0x9e, 0xe3, 0x83, 0x08, 0x08, 0x63, 0xdb, 0x41, 0x4f, 0x22, 0x07, 0x2b, + 0xf3, 0xdb, 0xde, 0x96, 0xa4, 0x2c, 0x3e, 0x2b, 0xb3, 0xcd, 0x52, 0x4e, 0xda, 0xd0, 0x86, 0xe0, + 0x6c, 0xa8, 0xed, 0x84, 0xb1, 0xd9, 0xee, 0x5c, 0x9f, 0x56, 0xb1, 0x39, 0xed, 0xe2, 0xf2, 0xb4, + 0x8b, 0x89, 0x45, 0x80, 0x23, 0x53, 0x7a, 0x33, 0x01, 0x7e, 0x34, 0x98, 0x1e, 0x46, 0x49, 0x1c, + 0xd8, 0x61, 0x35, 0x4e, 0xa9, 0x26, 0x17, 0x3e, 0x6c, 0x97, 0xe2, 0xde, 0xb9, 0x32, 0x8b, 0xcd, + 0xa9, 0x89, 0x12, 0xbe, 0xfb, 0x76, 0xde, 0xb9, 0x43, 0x60, 0x93, 0x95, 0x51, 0xaf, 0x30, 0xea, + 0x17, 0x88, 0x7a, 0x85, 0x53, 0x2d, 0xda, 0xde, 0x4e, 0x9c, 0x35, 0xd5, 0xb8, 0x9e, 0x4f, 0xbc, + 0x9e, 0xbb, 0x36, 0xd2, 0xd5, 0x26, 0x91, 0x6e, 0xd7, 0x47, 0xe2, 0xfe, 0xf7, 0x4e, 0xf3, 0x33, + 0x5d, 0x0a, 0xb7, 0x20, 0x44, 0x51, 0x82, 0x05, 0xbd, 0x25, 0x6c, 0x50, 0xfc, 0x73, 0x3f, 0x58, + 0xd3, 0x2d, 0xbb, 0x3d, 0xf7, 0xcb, 0x9a, 0x38, 0x57, 0x10, 0xe7, 0x6a, 0xd0, 0x73, 0xef, 0x06, + 0xbd, 0xe5, 0x70, 0x83, 0x9e, 0xe8, 0xff, 0x69, 0x3d, 0xd1, 0xdf, 0xb8, 0x27, 0xdc, 0xe0, 0x6c, + 0xd9, 0x14, 0x97, 0x8e, 0xfa, 0xa1, 0xf6, 0x06, 0xab, 0xef, 0xcc, 0x5d, 0x11, 0x1b, 0x89, 0xa7, + 0x14, 0x0c, 0xac, 0x89, 0x86, 0x07, 0x7b, 0x98, 0x53, 0x4f, 0x60, 0xb2, 0xb8, 0x41, 0xbb, 0xad, + 0x3b, 0x13, 0xac, 0xae, 0x0a, 0xd8, 0xdb, 0x13, 0x92, 0x97, 0x94, 0xa9, 0x9c, 0x29, 0xcd, 0x99, + 0x5d, 0xb6, 0xd8, 0x9b, 0x3b, 0x90, 0x43, 0x38, 0xc4, 0x95, 0x38, 0x8d, 0xd8, 0x71, 0x39, 0x93, + 0x75, 0xf9, 0x20, 0x45, 0xdd, 0x30, 0x23, 0x98, 0xe6, 0x06, 0x3c, 0xa9, 0x88, 0xca, 0xeb, 0x3f, + 0x83, 0xc5, 0x3a, 0xe4, 0xdb, 0x4d, 0x21, 0xa2, 0x72, 0x33, 0x20, 0x0e, 0x28, 0x29, 0x98, 0xcb, + 0x98, 0x2c, 0x4a, 0xc8, 0x1c, 0xf5, 0xbe, 0xf9, 0x35, 0x6c, 0x13, 0xbf, 0x79, 0x24, 0x60, 0xd1, + 0x81, 0x0b, 0x3c, 0x4e, 0xee, 0x88, 0xbd, 0x3c, 0x3a, 0x86, 0x3f, 0x1f, 0x99, 0xed, 0xfc, 0x10, + 0x10, 0x48, 0x0c, 0x3c, 0xfd, 0x1a, 0xa4, 0x19, 0x9a, 0x28, 0xba, 0xd2, 0x43, 0x8a, 0xc5, 0x97, + 0xcc, 0x18, 0x90, 0x86, 0x3f, 0xc0, 0x0f, 0x49, 0xc1, 0xe1, 0x97, 0x7c, 0x9f, 0xe0, 0xdf, 0xd6, + 0x87, 0xc0, 0x47, 0xae, 0xf5, 0x2d, 0xcc, 0xf2, 0xe3, 0xef, 0xc4, 0xc3, 0xaf, 0xf8, 0xf0, 0x8e, + 0xe6, 0x15, 0x96, 0x89, 0x33, 0xab, 0x2b, 0x1f, 0x32, 0xf9, 0x80, 0x4c, 0xe9, 0x09, 0x0a, 0x34, + 0x14, 0x5b, 0x7a, 0x25, 0x6f, 0x6a, 0x66, 0x49, 0x9c, 0xef, 0x22, 0x26, 0xe0, 0xe0, 0x79, 0xf7, + 0x87, 0xa1, 0xf2, 0x0a, 0x7f, 0x65, 0xf0, 0xa8, 0xc2, 0x05, 0x53, 0xd7, 0x34, 0xc0, 0x96, 0xfd, + 0xcd, 0x3d, 0x85, 0x8a, 0x60, 0x24, 0x68, 0x42, 0x44, 0x4b, 0xe8, 0xe3, 0x48, 0x1b, 0x66, 0xbe, + 0xee, 0x40, 0x39, 0x90, 0x31, 0xd6, 0x3c, 0x7a, 0xa4, 0x31, 0x91, 0x16, 0x43, 0x2d, 0xb7, 0x8c, + 0x48, 0x8d, 0x7d, 0xc0, 0x63, 0xef, 0xb8, 0xa4, 0x85, 0xa0, 0x47, 0x72, 0xca, 0xb7, 0x17, 0xfa, + 0x47, 0xba, 0xc3, 0xd0, 0xf2, 0xa8, 0x88, 0x57, 0xf4, 0xd3, 0x9e, 0xf9, 0x46, 0xe4, 0xa4, 0x14, + 0x04, 0x33, 0x1c, 0x88, 0x2a, 0x3a, 0x45, 0xc4, 0x6b, 0x4a, 0xc8, 0x7a, 0x19, 0xa0, 0x87, 0xb5, + 0x83, 0xee, 0x38, 0x83, 0x8e, 0x92, 0x03, 0xdf, 0x42, 0x61, 0x3a, 0xfa, 0x7b, 0x9a, 0x86, 0x19, + 0x6a, 0xe8, 0x4d, 0x3b, 0xa8, 0x10, 0x41, 0x19, 0xc1, 0x6e, 0x82, 0x31, 0xdf, 0x27, 0xad, 0x04, + 0xbd, 0x54, 0xb3, 0x03, 0x6a, 0x48, 0x92, 0xb5, 0x66, 0xc8, 0x52, 0xa3, 0xec, 0x2c, 0xa3, 0xc1, + 0x21, 0xcd, 0x3e, 0x94, 0x87, 0x17, 0xf6, 0xf0, 0x59, 0xbb, 0x8e, 0xa3, 0xd5, 0x75, 0xa9, 0x84, + 0xac, 0x11, 0x86, 0xf0, 0xd5, 0xab, 0xe3, 0x16, 0x30, 0xb6, 0x1a, 0xa3, 0xb9, 0x36, 0xb5, 0x26, + 0xf1, 0x82, 0x0c, 0xd4, 0x5b, 0x99, 0x57, 0xfd, 0x1c, 0x1b, 0xd7, 0x9b, 0x99, 0xe9, 0xcc, 0x56, + 0xc8, 0x49, 0x37, 0xf4, 0x62, 0x4b, 0x5d, 0xb2, 0x91, 0x13, 0x5b, 0xe5, 0x6f, 0xfd, 0x26, 0x9a, + 0x12, 0x4c, 0x3a, 0x16, 0xd6, 0xc2, 0xd2, 0x5a, 0x78, 0x1b, 0xc8, 0xd0, 0x17, 0xb5, 0xde, 0x6d, + 0xcb, 0x28, 0x18, 0x74, 0x13, 0x65, 0xca, 0x9b, 0xe4, 0x84, 0x70, 0x83, 0x35, 0x9e, 0x7d, 0x2b, + 0x38, 0x2e, 0xa4, 0xb6, 0xc5, 0x33, 0x9b, 0x81, 0x91, 0x02, 0x71, 0x4d, 0x37, 0x54, 0x2e, 0x06, + 0x7c, 0xf4, 0x6a, 0x84, 0xe5, 0x6c, 0xea, 0xa2, 0x00, 0x5d, 0xa5, 0x42, 0x7e, 0x70, 0x06, 0x6e, + 0x86, 0x9d, 0xcd, 0xc9, 0xe1, 0x81, 0x44, 0x5d, 0xf9, 0x15, 0xef, 0x32, 0x08, 0x3a, 0xf4, 0x12, + 0xc6, 0x06, 0xc8, 0xc0, 0xb5, 0xed, 0x48, 0x01, 0x5a, 0xd0, 0xb9, 0xf2, 0xb3, 0x17, 0x39, 0x04, + 0x5e, 0x20, 0x03, 0x6b, 0x5d, 0xfb, 0xf7, 0x96, 0x33, 0x0e, 0x3a, 0xbe, 0x0c, 0x22, 0x07, 0x83, + 0xac, 0x2a, 0x34, 0xc0, 0x3b, 0xcb, 0xd8, 0xab, 0x78, 0x09, 0xa2, 0x8f, 0x7b, 0x99, 0x03, 0xcc, + 0x19, 0xc1, 0x36, 0x00, 0x51, 0xe8, 0xf3, 0xed, 0x61, 0xe4, 0x55, 0xa0, 0x67, 0x7f, 0x62, 0xe4, + 0x59, 0xb6, 0x87, 0xb9, 0xb8, 0xc4, 0xeb, 0xaa, 0x78, 0xf9, 0x83, 0x0c, 0x98, 0xec, 0xfe, 0x28, + 0x42, 0x9c, 0xf3, 0x61, 0x13, 0xca, 0x59, 0xb4, 0x94, 0x7e, 0xec, 0xb4, 0xde, 0x6b, 0xea, 0x48, + 0x05, 0x4b, 0xc6, 0xe2, 0x60, 0xee, 0x3f, 0x5f, 0x68, 0x6a, 0xa8, 0x4b, 0x78, 0xa9, 0x0b, 0x55, + 0xa0, 0x78, 0x6a, 0xf8, 0x3c, 0x84, 0xc2, 0xd9, 0x81, 0x6d, 0x13, 0x32, 0xfe, 0xda, 0x22, 0xeb, + 0xc0, 0x72, 0x68, 0x5c, 0x2f, 0xa8, 0x08, 0x01, 0xfd, 0x52, 0x9a, 0x3f, 0xa8, 0x06, 0x48, 0x88, + 0x37, 0xdd, 0x02, 0x7f, 0x8d, 0x35, 0xd7, 0x02, 0x54, 0x6e, 0x93, 0x73, 0x89, 0x47, 0xb2, 0x46, + 0xbf, 0x2d, 0xd0, 0x54, 0xe0, 0xdc, 0xb8, 0x3e, 0x46, 0xa1, 0xfe, 0x56, 0xd5, 0xe9, 0xcf, 0x06, + 0x84, 0x88, 0x12, 0xef, 0x66, 0x9a, 0xdf, 0x07, 0x95, 0xf5, 0xa7, 0x73, 0xbc, 0xe4, 0x34, 0xf2, + 0xc2, 0xa0, 0xd0, 0x2b, 0x55, 0x00, 0x48, 0x72, 0xa9, 0x40, 0x77, 0x62, 0x84, 0x24, 0x33, 0x08, + 0x9a, 0xb2, 0xf0, 0xe9, 0xfa, 0xf3, 0xc9, 0xa7, 0x9f, 0x81, 0xca, 0xcd, 0x8b, 0xd7, 0x57, 0x8c, + 0x19, 0x18, 0x66, 0xef, 0x90, 0xeb, 0xcf, 0x46, 0x1e, 0x19, 0xfd, 0x3b, 0x3c, 0x86, 0x7c, 0x4f, + 0xd7, 0x75, 0x7d, 0x9c, 0xa6, 0xfc, 0x1b, 0xc6, 0x88, 0x3e, 0x9c, 0xa0, 0x63, 0x42, 0xf1, 0xb9, + 0xe7, 0x26, 0xf4, 0x99, 0x7e, 0xf9, 0x73, 0x48, 0x0f, 0xec, 0x3e, 0x20, 0xa4, 0x8f, 0x52, 0xf9, + 0x0f, 0x78, 0xc2, 0xb4, 0xf8, 0xd8, 0xa6, 0x37, 0xed, 0xb3, 0x3b, 0xdd, 0xde, 0x9e, 0x36, 0x28, + 0x3b, 0xc2, 0x7e, 0x31, 0x6f, 0xf8, 0x34, 0xd9, 0xde, 0x9e, 0x34, 0xaa, 0x9d, 0x31, 0xb3, 0x5b, + 0xca, 0xb8, 0xa4, 0x67, 0x58, 0xca, 0xbb, 0xf4, 0xb5, 0x94, 0xbd, 0x56, 0xb2, 0xa0, 0x34, 0x6a, + 0xec, 0x7d, 0x39, 0x1f, 0xb4, 0x4b, 0xe8, 0xa4, 0x71, 0x06, 0xe4, 0x30, 0x03, 0x86, 0xd1, 0x13, + 0x2f, 0xdc, 0x65, 0x25, 0x58, 0x73, 0x28, 0x51, 0x09, 0x9b, 0xd5, 0x5b, 0x60, 0x8a, 0xa0, 0xa6, + 0x38, 0x44, 0x1b, 0xf5, 0x9c, 0x45, 0xba, 0xbd, 0x9d, 0x36, 0x37, 0x56, 0x03, 0x8a, 0x54, 0x4a, + 0x43, 0xa6, 0x26, 0xc6, 0x39, 0x69, 0x62, 0x9c, 0x6a, 0xd7, 0xc4, 0x85, 0x7d, 0xee, 0xd2, 0x3a, + 0xe3, 0x22, 0x73, 0xc9, 0xc4, 0xd5, 0xeb, 0x71, 0xd0, 0xf5, 0xaa, 0xc6, 0xa3, 0xba, 0xb1, 0x51, + 0x75, 0xb2, 0xac, 0x87, 0x8c, 0x62, 0x02, 0x70, 0x54, 0xba, 0x6d, 0xff, 0xfb, 0x3f, 0xff, 0x0f, + 0x54, 0x6d, 0x1b, 0xc7, 0x8d, 0xd5, 0x1f, 0xc4, 0x4d, 0x0e, 0x3f, 0x99, 0x45, 0xa6, 0xbb, 0xfb, + 0x15, 0x9e, 0x43, 0x65, 0x05, 0xf2, 0xf9, 0xb9, 0xa1, 0x60, 0x4b, 0x34, 0xed, 0xd2, 0xb3, 0x04, + 0x34, 0x8a, 0x43, 0xaa, 0x77, 0x70, 0x6e, 0x1f, 0x5f, 0x12, 0xf8, 0xcf, 0xdb, 0xd7, 0xaf, 0x32, + 0x6b, 0xd0, 0x23, 0xff, 0x29, 0x36, 0x44, 0xeb, 0x91, 0x59, 0x17, 0xac, 0x6a, 0xd8, 0x56, 0xb6, + 0x8c, 0x96, 0x5d, 0xa6, 0x90, 0x33, 0x93, 0xf7, 0x9b, 0xfa, 0x25, 0x4f, 0x31, 0xe4, 0x34, 0x98, + 0x35, 0x10, 0x8e, 0xf9, 0x44, 0xc5, 0x41, 0x75, 0x37, 0x74, 0xfe, 0x70, 0xe3, 0x09, 0x17, 0xa2, + 0x57, 0xbc, 0x07, 0x4c, 0x02, 0xd4, 0x7a, 0xde, 0xb3, 0x6f, 0xda, 0x33, 0xc7, 0x19, 0x0a, 0x18, + 0xf9, 0x2b, 0xd4, 0x23, 0xb9, 0x19, 0xf5, 0x1e, 0x1e, 0x66, 0xa3, 0x2e, 0xa9, 0x14, 0x03, 0xbf, + 0xd2, 0xb2, 0xbf, 0x5f, 0x5c, 0x2d, 0x5b, 0xb7, 0x61, 0x9a, 0xdf, 0xf8, 0x91, 0x73, 0x0e, 0x8c, + 0x39, 0x6a, 0xf3, 0xca, 0xb5, 0xcc, 0xb1, 0xac, 0xd6, 0x29, 0x5e, 0xbe, 0xce, 0xcf, 0x4a, 0x3d, + 0x05, 0xf3, 0xd0, 0x00, 0xd9, 0xb9, 0x34, 0x39, 0x44, 0xd4, 0x0c, 0x12, 0x96, 0xb6, 0xbf, 0x86, + 0xc1, 0x1d, 0xb0, 0xb1, 0x8a, 0x78, 0x5a, 0x84, 0xa2, 0x45, 0x45, 0x95, 0x62, 0xe9, 0x50, 0xcb, + 0x95, 0x4f, 0xac, 0xc1, 0x29, 0x75, 0x1c, 0x5c, 0x7f, 0xa8, 0x5d, 0xfb, 0x24, 0x4a, 0xb5, 0x27, + 0xa8, 0xaa, 0x35, 0x5b, 0xed, 0xa4, 0x6d, 0x65, 0x4a, 0xb1, 0xd9, 0xdd, 0xda, 0x32, 0xbf, 0x7c, + 0x22, 0x6d, 0xbb, 0xbc, 0x29, 0xe1, 0xa7, 0x22, 0x65, 0xd6, 0x10, 0x27, 0x90, 0x51, 0x76, 0x9b, + 0xca, 0x8c, 0x9b, 0x52, 0x7e, 0x6a, 0x48, 0xaa, 0x95, 0x1a, 0x79, 0xc1, 0x93, 0x99, 0xeb, 0x7b, + 0x39, 0xfc, 0x45, 0x86, 0x86, 0xfd, 0xb6, 0x76, 0x5d, 0x9d, 0xad, 0xc7, 0x9b, 0xb6, 0xe8, 0xa0, + 0xa4, 0x2b, 0x2f, 0xf5, 0x61, 0x94, 0xe8, 0x25, 0xb1, 0xd1, 0x57, 0x10, 0xca, 0x69, 0x78, 0xaa, + 0x00, 0x05, 0xb5, 0x43, 0x38, 0x47, 0x66, 0xb8, 0x1b, 0xa8, 0x90, 0xd4, 0xcd, 0xdb, 0x2c, 0xf6, + 0x9a, 0xf8, 0xf1, 0xad, 0x9f, 0x1d, 0x07, 0xc1, 0x67, 0xa1, 0x66, 0xa3, 0xde, 0x51, 0x81, 0x7d, + 0x92, 0xdf, 0xf3, 0xa0, 0x4c, 0xf4, 0xaf, 0xd2, 0xc5, 0x12, 0x90, 0x14, 0x88, 0xe0, 0x4d, 0x3a, + 0xc4, 0x06, 0xc5, 0x68, 0x0c, 0x65, 0x5b, 0x7d, 0xbc, 0x03, 0xc0, 0xfa, 0x8a, 0x7d, 0xa5, 0x88, + 0x0c, 0x5b, 0x0b, 0x57, 0x20, 0x8c, 0xed, 0xce, 0x4f, 0xcf, 0x9f, 0x08, 0xd8, 0x4f, 0x9a, 0x5f, + 0x64, 0x5c, 0xe9, 0xee, 0x77, 0x9f, 0x84, 0x30, 0x05, 0xbd, 0x70, 0x84, 0x57, 0x81, 0xe1, 0x5e, + 0x8a, 0xf9, 0x77, 0xb8, 0xd0, 0x0e, 0x39, 0x28, 0xf3, 0xec, 0x69, 0x27, 0x21, 0xeb, 0x49, 0x4a, + 0x31, 0x7a, 0xde, 0xed, 0x8e, 0xe7, 0x83, 0x7d, 0x60, 0x1d, 0x9f, 0xc0, 0xec, 0x2c, 0x22, 0xb3, + 0x7f, 0x33, 0xaf, 0x9c, 0x7c, 0x2f, 0x7c, 0x92, 0xba, 0x45, 0x13, 0x45, 0x9e, 0xe5, 0x58, 0x7a, + 0x8c, 0x6a, 0x46, 0x1c, 0xc2, 0x85, 0x21, 0x0b, 0xfb, 0x01, 0x01, 0x8b, 0xba, 0x6e, 0xd7, 0xad, + 0x66, 0x53, 0x4e, 0xc4, 0x8b, 0xf8, 0x06, 0x96, 0x7e, 0xb5, 0x62, 0xee, 0x95, 0x77, 0x7a, 0x8a, + 0x7c, 0x1e, 0x64, 0x75, 0xe6, 0x9e, 0x76, 0x5d, 0x7a, 0xa6, 0x27, 0x7a, 0x86, 0x27, 0xfe, 0x5a, + 0x3c, 0xf7, 0x7e, 0xe4, 0x18, 0xf8, 0xcc, 0xb1, 0xcb, 0x1a, 0x63, 0xeb, 0x67, 0x0b, 0x10, 0x19, + 0xd2, 0x26, 0x5b, 0x1d, 0x13, 0xb7, 0x18, 0x1b, 0xeb, 0x8c, 0x4c, 0x25, 0xf5, 0xbc, 0xb7, 0x4f, + 0xcd, 0x03, 0xba, 0x91, 0x7c, 0x0e, 0x4e, 0xf8, 0xb8, 0x7a, 0x77, 0x15, 0xe2, 0x35, 0x72, 0x11, + 0x4e, 0x5d, 0x03, 0xeb, 0xd8, 0xcd, 0x60, 0x5e, 0xc7, 0x4f, 0x66, 0x42, 0xb5, 0xed, 0xb6, 0x6e, + 0xa5, 0x04, 0x6d, 0x94, 0x45, 0xab, 0x15, 0x71, 0xdd, 0x10, 0x07, 0x2d, 0xdc, 0x54, 0xa4, 0xa3, + 0x86, 0x48, 0x68, 0x70, 0xa6, 0x22, 0x5d, 0x78, 0xc6, 0x37, 0xd2, 0x32, 0x94, 0xf4, 0xdf, 0xfd, + 0x5c, 0xfa, 0xf8, 0x49, 0xfb, 0xf6, 0xbd, 0xf9, 0xed, 0x3a, 0xd4, 0xbe, 0xdd, 0x95, 0xbe, 0xe9, + 0xe9, 0x4e, 0xcc, 0x6f, 0xf9, 0xbc, 0xf8, 0x36, 0x34, 0xfb, 0xb0, 0xe7, 0x7e, 0x2f, 0xfa, 0x95, + 0x9c, 0x95, 0x1e, 0xc3, 0xea, 0x40, 0x24, 0x56, 0x78, 0xc7, 0x8d, 0xef, 0x23, 0xac, 0xe5, 0x76, + 0xb6, 0xd7, 0x47, 0xca, 0xc0, 0xa1, 0x98, 0x52, 0x0f, 0x6d, 0x63, 0x9f, 0x6a, 0xfd, 0x0d, 0xa7, + 0x0b, 0xf7, 0x6e, 0x4d, 0x8e, 0x98, 0x0a, 0x53, 0x97, 0x73, 0xe4, 0xfc, 0x8a, 0x2f, 0x45, 0x8e, + 0x9f, 0xd7, 0xd7, 0xf1, 0xf9, 0x93, 0x59, 0xbb, 0x07, 0x3c, 0x20, 0xfc, 0xa9, 0xd4, 0xf4, 0x79, + 0x6d, 0xfd, 0x9f, 0x9b, 0xf5, 0x37, 0xbf, 0xec, 0x52, 0x5e, 0x31, 0x3d, 0x94, 0x6b, 0x73, 0xb1, + 0xae, 0x36, 0x9c, 0x56, 0x54, 0xc9, 0xcc, 0x5d, 0x7e, 0x68, 0x68, 0x7b, 0xed, 0x97, 0xdd, 0x22, + 0xbf, 0x9a, 0xda, 0x9c, 0xac, 0xed, 0xed, 0xfa, 0xb2, 0x2a, 0xbd, 0x2c, 0x98, 0xb3, 0xeb, 0xf6, + 0x51, 0xb1, 0xe9, 0xbd, 0x65, 0x85, 0x8b, 0x02, 0x7d, 0x52, 0x03, 0x5e, 0x7b, 0xf6, 0xac, 0xdd, + 0x7b, 0x06, 0x67, 0x40, 0x52, 0xe2, 0xcc, 0xa5, 0xca, 0x21, 0x6b, 0x25, 0x42, 0x3c, 0x52, 0x84, + 0x76, 0xf9, 0xb1, 0x87, 0x8f, 0x2d, 0x7e, 0xee, 0xc3, 0xb3, 0x73, 0x4e, 0xfb, 0xcb, 0x47, 0x6d, + 0x6f, 0x49, 0xe0, 0x39, 0x39, 0x88, 0x87, 0x49, 0xdb, 0x2b, 0xf4, 0x9d, 0x59, 0x3d, 0x26, 0x1b, + 0x86, 0x7a, 0x20, 0x1b, 0x50, 0x5c, 0x93, 0xe5, 0x84, 0x0c, 0xc3, 0x5d, 0x2a, 0x85, 0xb0, 0x54, + 0xea, 0x41, 0x4f, 0xbc, 0xb0, 0x9d, 0xc2, 0xc1, 0x22, 0x69, 0xe7, 0x34, 0xe3, 0x67, 0x61, 0x14, + 0x31, 0x8d, 0x78, 0x6b, 0x5f, 0x9d, 0x06, 0x3f, 0x5c, 0x09, 0xb2, 0x72, 0xe6, 0x7e, 0xdc, 0x8b, + 0xe1, 0xfc, 0xea, 0xd6, 0x75, 0xa1, 0x9f, 0x4e, 0xa0, 0xbf, 0x66, 0x7b, 0xfd, 0xf6, 0x84, 0xfa, + 0x0c, 0x9f, 0xa6, 0xf0, 0xd4, 0x79, 0x0a, 0x7f, 0x80, 0x0c, 0xb2, 0xf2, 0xe8, 0xf1, 0x11, 0xc7, + 0xc6, 0x22, 0x20, 0xe1, 0xc7, 0x76, 0x5b, 0xd3, 0x15, 0x3a, 0xb4, 0x59, 0x45, 0xab, 0xa8, 0xf8, + 0x7a, 0x82, 0x08, 0x44, 0x3a, 0xe7, 0x6b, 0x8e, 0x75, 0x24, 0xd1, 0x59, 0x50, 0xc1, 0xf0, 0xd5, + 0xb3, 0x9e, 0x76, 0xe7, 0xf7, 0xad, 0x17, 0xe8, 0x04, 0xda, 0x72, 0xcd, 0x16, 0x4b, 0x55, 0x09, + 0x15, 0x8c, 0x3c, 0xb1, 0x9d, 0xbb, 0x62, 0x11, 0xcb, 0xe9, 0xd5, 0xd7, 0xa6, 0x2b, 0x67, 0xd9, + 0x6f, 0xce, 0x92, 0x09, 0xed, 0x50, 0xb3, 0x77, 0x29, 0x5d, 0xd8, 0xdd, 0xf2, 0x35, 0xdd, 0xd0, + 0x28, 0x33, 0x70, 0xe5, 0xe2, 0xe0, 0xa9, 0xbc, 0x5c, 0xda, 0x1b, 0x50, 0x7d, 0x8a, 0xf2, 0xee, + 0x95, 0x21, 0x5b, 0xb2, 0xc8, 0x03, 0x6f, 0xeb, 0xb7, 0x27, 0x3f, 0x7b, 0x6f, 0x0f, 0x07, 0x2d, + 0xab, 0x1d, 0x02, 0xa3, 0x7c, 0x0f, 0xbf, 0x29, 0xfc, 0x7a, 0xf8, 0xfe, 0x24, 0x15, 0x97, 0x51, + 0x94, 0xd2, 0x34, 0xcd, 0x5a, 0x57, 0xe8, 0xd8, 0x0a, 0xc9, 0x91, 0xb6, 0xb2, 0xd8, 0x92, 0x66, + 0x4e, 0x23, 0xaf, 0x0b, 0xa7, 0x2d, 0x60, 0x49, 0xc6, 0xc0, 0x11, 0x23, 0xd0, 0xbc, 0x08, 0x97, + 0xc6, 0x4c, 0x86, 0x11, 0xd3, 0xfb, 0xd4, 0x30, 0x73, 0x92, 0x81, 0x8d, 0xa6, 0x4e, 0x32, 0x02, + 0x9a, 0x3b, 0x55, 0xae, 0x17, 0x57, 0xe1, 0x60, 0x5b, 0xee, 0x0d, 0x1d, 0x06, 0x74, 0x91, 0x6a, + 0xa1, 0x27, 0xa5, 0xdd, 0x33, 0xe2, 0xfd, 0x15, 0x6a, 0xd4, 0x55, 0x15, 0xbb, 0xa1, 0xbb, 0x68, + 0x17, 0x4e, 0x24, 0xac, 0xcd, 0x90, 0x79, 0xae, 0x53, 0xeb, 0x4b, 0x10, 0x45, 0x09, 0xb2, 0xd6, + 0xec, 0x60, 0xdd, 0xb5, 0x50, 0x0e, 0x13, 0x23, 0xc0, 0x94, 0x9c, 0x57, 0x67, 0xb0, 0xce, 0x1a, + 0x33, 0x9c, 0x72, 0x86, 0xbb, 0x3d, 0xa7, 0x21, 0x02, 0x99, 0x9b, 0x9d, 0x06, 0x67, 0xd4, 0xb5, + 0xf6, 0xf4, 0x54, 0xbe, 0x9f, 0x79, 0x41, 0x39, 0xc9, 0xd4, 0xd0, 0x3e, 0x17, 0xe6, 0x0e, 0x42, + 0x0b, 0x7e, 0xb7, 0xb7, 0x05, 0x34, 0x82, 0xf4, 0xf1, 0xe4, 0xfc, 0x55, 0x3b, 0xf3, 0x6c, 0x6f, + 0x1f, 0xba, 0x69, 0xcd, 0x5c, 0x16, 0xc7, 0x29, 0x25, 0x01, 0x66, 0x01, 0x4e, 0xc6, 0xbd, 0x38, + 0xd7, 0x85, 0xdb, 0xa6, 0x11, 0x86, 0x88, 0xa7, 0x57, 0x2d, 0x1e, 0x79, 0xf6, 0xbc, 0x5d, 0xc9, + 0x0a, 0x15, 0xc2, 0x04, 0xb1, 0x2e, 0x4a, 0x9f, 0x00, 0x31, 0x9a, 0x48, 0x62, 0xe4, 0x2c, 0xef, + 0xbd, 0xfc, 0x87, 0xd0, 0xfd, 0x52, 0xd4, 0x3d, 0xdf, 0x0b, 0x1d, 0x73, 0xe1, 0xc2, 0xb9, 0x84, + 0x28, 0xd1, 0x3d, 0xac, 0xa1, 0xce, 0xbe, 0x22, 0x4c, 0x5f, 0x80, 0xa0, 0x0f, 0x59, 0x23, 0x3f, + 0xf0, 0x12, 0x75, 0xac, 0x05, 0x62, 0x12, 0x8c, 0x76, 0x61, 0x19, 0x25, 0xa4, 0x84, 0x39, 0x41, + 0x65, 0x5b, 0x38, 0x71, 0xc6, 0x40, 0xa5, 0xcc, 0x06, 0x25, 0x7a, 0x0b, 0xee, 0xbd, 0x04, 0x6a, + 0x6b, 0xd6, 0x04, 0x43, 0xf4, 0xca, 0x88, 0xde, 0xbb, 0x88, 0xfc, 0xc9, 0x67, 0x6b, 0x0d, 0xfd, + 0xbc, 0xd7, 0xab, 0xb9, 0x92, 0x7e, 0x0e, 0x0f, 0x6d, 0xf3, 0x0e, 0x88, 0x66, 0x72, 0xe5, 0xd4, + 0xc7, 0x6b, 0x85, 0x6f, 0x82, 0x5a, 0xb4, 0x56, 0x10, 0x75, 0xc1, 0x6a, 0xdf, 0xb4, 0x2d, 0xa0, + 0x06, 0x90, 0xc4, 0xa5, 0x7c, 0x1c, 0x67, 0x70, 0x68, 0x57, 0x64, 0x6b, 0x08, 0x7b, 0xc3, 0xf7, + 0x8b, 0xc3, 0x40, 0xc2, 0x6b, 0x23, 0x40, 0x8e, 0xe5, 0x98, 0x96, 0x43, 0x81, 0x53, 0x8b, 0x57, + 0x2c, 0x2d, 0x1c, 0x1d, 0x2d, 0x75, 0x96, 0x3f, 0x3e, 0x35, 0xce, 0x55, 0xf6, 0x6c, 0xcf, 0x08, + 0x3b, 0x68, 0xf2, 0x69, 0xe2, 0xda, 0x1a, 0x9f, 0x97, 0xc9, 0xb9, 0x83, 0xfe, 0x67, 0xf3, 0xb2, + 0x84, 0xa1, 0xc8, 0xd2, 0xb5, 0x9b, 0xd2, 0xfe, 0x11, 0x5d, 0x9c, 0x3b, 0xce, 0xca, 0xc4, 0xcb, + 0x72, 0x37, 0x21, 0x1a, 0xdb, 0x42, 0x83, 0x93, 0xe1, 0x1b, 0x2b, 0x61, 0x15, 0x89, 0x24, 0xcb, + 0x0b, 0xb3, 0x5f, 0xd8, 0xa7, 0x29, 0xc2, 0x88, 0x23, 0x94, 0xb1, 0x0e, 0x3e, 0x13, 0x19, 0x51, + 0xe3, 0xe8, 0x45, 0x53, 0x4c, 0xba, 0x79, 0xd2, 0xe3, 0x22, 0xec, 0xcd, 0x49, 0x10, 0x4f, 0x8d, + 0x04, 0x5c, 0xa7, 0x13, 0x25, 0x0c, 0x52, 0xa0, 0x71, 0x32, 0x48, 0xd8, 0x1e, 0xd9, 0x59, 0xf1, + 0x5e, 0xb5, 0xa1, 0x16, 0x92, 0xd7, 0x97, 0x68, 0x83, 0xdc, 0xf8, 0xf5, 0x04, 0xdd, 0x31, 0xaf, + 0xf8, 0x7e, 0x84, 0x2a, 0xe5, 0x59, 0x98, 0x7f, 0x59, 0x11, 0xe7, 0xb0, 0xb7, 0xea, 0x63, 0x7f, + 0xd5, 0xc7, 0x7d, 0xfc, 0x78, 0xe5, 0x67, 0x1f, 0xfe, 0xfa, 0x12, 0xe5, 0x29, 0xf5, 0xb1, 0x3e, + 0xac, 0xc8, 0xe1, 0xaf, 0x2b, 0xbe, 0xbd, 0x24, 0x18, 0x36, 0xc8, 0xfd, 0x37, 0xa4, 0x7a, 0xa6, + 0x37, 0x63, 0x2d, 0xda, 0x6f, 0x96, 0x23, 0xed, 0xe9, 0x94, 0x5c, 0x90, 0x74, 0xba, 0x32, 0x56, + 0x8f, 0xb8, 0x43, 0xb7, 0xb3, 0x95, 0x7d, 0x55, 0x66, 0x5b, 0x36, 0x78, 0xe6, 0x24, 0x17, 0x7e, + 0x54, 0x97, 0xe2, 0xf0, 0xf0, 0x63, 0x6d, 0xfc, 0xab, 0xe0, 0xfe, 0xae, 0x12, 0x3f, 0x80, 0x73, + 0xec, 0x7d, 0x6d, 0xf4, 0x39, 0x42, 0x9c, 0xa4, 0x75, 0x05, 0x50, 0x3f, 0x06, 0x1d, 0x8e, 0x50, + 0x5f, 0x54, 0x53, 0x6b, 0x28, 0xe9, 0xd6, 0xca, 0xb4, 0xd9, 0x37, 0xa4, 0xbd, 0x5d, 0x91, 0xb6, + 0x36, 0xc1, 0xe7, 0xd5, 0x85, 0xad, 0xe8, 0x4d, 0xe0, 0xcb, 0x57, 0xa6, 0x0d, 0x50, 0x87, 0xbe, + 0x36, 0xe5, 0x1f, 0x93, 0x6c, 0xf7, 0x6e, 0x45, 0xba, 0x3f, 0x10, 0x25, 0xb1, 0x9c, 0x52, 0xc3, + 0x17, 0x13, 0x8f, 0x27, 0x34, 0xaf, 0xb2, 0x2a, 0x35, 0x2e, 0xaf, 0x5f, 0x03, 0xdd, 0xbb, 0x30, + 0x59, 0x74, 0xab, 0xd2, 0xde, 0x73, 0x32, 0xde, 0x39, 0x65, 0x13, 0x1d, 0x69, 0xa0, 0x78, 0x76, + 0xaa, 0xec, 0x77, 0x02, 0x16, 0x18, 0x67, 0x24, 0xe7, 0xd5, 0x3d, 0x30, 0xb0, 0x51, 0x57, 0x55, + 0x78, 0xac, 0x11, 0xe7, 0x78, 0x7b, 0x3b, 0x5e, 0x49, 0xbe, 0xdd, 0x7c, 0xad, 0xe4, 0x9a, 0xcb, + 0x47, 0xa2, 0xbb, 0x59, 0xcc, 0x66, 0xda, 0x2c, 0xb4, 0x81, 0xea, 0xcc, 0xd0, 0x50, 0x1b, 0x0a, + 0xd9, 0xe4, 0xe0, 0xe0, 0x47, 0x27, 0x32, 0x6f, 0x9b, 0x4a, 0x17, 0x05, 0x01, 0xea, 0xe2, 0x12, + 0xb6, 0xe1, 0x8a, 0x28, 0xfb, 0x18, 0xa5, 0x7f, 0xb6, 0xfa, 0xbe, 0xa2, 0x65, 0x5c, 0xf4, 0x47, + 0x8e, 0xd5, 0x23, 0x4b, 0x1f, 0x69, 0xcb, 0x86, 0x31, 0x71, 0x66, 0xac, 0x31, 0x9f, 0xaf, 0x52, + 0x74, 0x1d, 0x8f, 0x5b, 0xde, 0x0f, 0xb8, 0x78, 0x55, 0xba, 0x62, 0xdc, 0x67, 0xf7, 0xfa, 0x90, + 0x97, 0x2f, 0x0b, 0x48, 0x7f, 0xb9, 0x32, 0xf6, 0x59, 0x25, 0x4b, 0x63, 0xec, 0xc5, 0x84, 0x59, + 0x35, 0xf8, 0x99, 0xbc, 0x9f, 0x4c, 0x60, 0x07, 0xbb, 0x66, 0x7c, 0x56, 0x31, 0xad, 0x82, 0xaf, + 0xb9, 0xd1, 0x88, 0x9d, 0x45, 0xbc, 0x62, 0x5f, 0x47, 0xec, 0x3e, 0xd2, 0xff, 0x38, 0xf6, 0x53, + 0x68, 0x75, 0x8e, 0x0b, 0x49, 0xf3, 0x5b, 0x2a, 0x2e, 0x5c, 0x83, 0x1a, 0xa3, 0x58, 0xdd, 0x16, + 0x56, 0x70, 0x87, 0x3c, 0x66, 0xca, 0xd3, 0xbd, 0x1c, 0xb5, 0x64, 0x9e, 0x6b, 0x16, 0xf7, 0xc3, + 0x40, 0xb3, 0x75, 0x25, 0xf3, 0xf6, 0x2e, 0xba, 0x4a, 0xbd, 0x7c, 0x7b, 0xed, 0xdf, 0x3f, 0x3c, + 0xf4, 0xd4, 0x33, 0x7c, 0xd8, 0x42, 0xbb, 0xf8, 0x87, 0x07, 0xfc, 0x5b, 0xdc, 0xa6, 0x74, 0xc9, + 0x4d, 0xc0, 0xc3, 0x03, 0xfb, 0xee, 0xc0, 0x6f, 0xfc, 0xb7, 0x88, 0x01, 0x7b, 0x20, 0xf1, 0xfc, + 0x66, 0x68, 0x8f, 0xee, 0x60, 0x1a, 0xe6, 0xce, 0x20, 0x68, 0xc6, 0x7a, 0x13, 0x17, 0xc3, 0xf1, + 0x66, 0x37, 0x42, 0x49, 0xf9, 0x0c, 0x58, 0xe9, 0xb9, 0x9d, 0x69, 0x78, 0x7b, 0x5a, 0x76, 0xc7, + 0x7c, 0xb6, 0x53, 0xe9, 0xc9, 0xc4, 0xf1, 0xab, 0x77, 0x48, 0xcd, 0xf5, 0x1c, 0x34, 0x34, 0x6d, + 0xf8, 0x98, 0x1a, 0x49, 0xaf, 0xbe, 0x6b, 0xab, 0xf3, 0x5f, 0xfe, 0x27, 0x56, 0x67, 0x7b, 0xdb, + 0x08, 0xfb, 0x5f, 0x5f, 0xd9, 0xc5, 0x1a, 0x83, 0x28, 0x76, 0x81, 0x0f, 0x08, 0x70, 0xce, 0x1c, + 0x3a, 0x6f, 0x32, 0xf8, 0x5e, 0x03, 0xb5, 0x28, 0x11, 0x11, 0xc9, 0x19, 0x08, 0x30, 0x11, 0x48, + 0x1c, 0x84, 0x4b, 0x55, 0xa8, 0x89, 0x45, 0x11, 0x51, 0xe7, 0xe2, 0x93, 0xdd, 0x9d, 0xdf, 0x3b, + 0xa4, 0x45, 0xad, 0x42, 0x7a, 0xdd, 0xee, 0x0f, 0x8e, 0xa5, 0x96, 0x6d, 0x14, 0xce, 0xc7, 0xf4, + 0x17, 0x78, 0xc2, 0xc2, 0xd5, 0x03, 0x1a, 0x19, 0x64, 0x9e, 0xd5, 0x42, 0xf7, 0xa4, 0x2d, 0xd4, + 0x3c, 0x95, 0x6a, 0xcc, 0x86, 0xd0, 0xe0, 0x1c, 0x6d, 0x12, 0x51, 0xf9, 0x26, 0x0d, 0x26, 0x41, + 0x48, 0xe8, 0xed, 0x58, 0x0b, 0x42, 0x30, 0x8b, 0xae, 0x97, 0x64, 0x9b, 0x8a, 0x6a, 0xf8, 0x02, + 0x5f, 0x82, 0x5a, 0x83, 0x2a, 0x73, 0x35, 0x5c, 0x08, 0xb7, 0x87, 0x1a, 0x53, 0xda, 0xfa, 0x34, + 0xf3, 0xc6, 0xeb, 0xf9, 0xf1, 0x0a, 0xf9, 0x59, 0xc0, 0x28, 0xb3, 0x63, 0xf6, 0xac, 0x6a, 0x8b, + 0x57, 0x07, 0x8e, 0xea, 0xd3, 0xd7, 0x68, 0x33, 0x8e, 0x10, 0x19, 0xce, 0xc0, 0xfa, 0xe7, 0x3f, + 0xd1, 0x46, 0x09, 0x3f, 0xce, 0x05, 0xa0, 0xeb, 0xd8, 0x3a, 0x80, 0xc2, 0x3c, 0x38, 0xfa, 0xab, + 0xa4, 0xdd, 0x33, 0x4a, 0x47, 0xbe, 0xfa, 0xec, 0x7d, 0x17, 0x57, 0x9f, 0x10, 0xc8, 0x51, 0x91, + 0x25, 0x35, 0xb5, 0xcc, 0x36, 0x6c, 0xcf, 0xaf, 0xfd, 0xcf, 0xc1, 0x6f, 0x27, 0x40, 0x7d, 0xef, + 0xb2, 0x87, 0x07, 0x75, 0x68, 0xbd, 0xcb, 0x0e, 0xba, 0x0f, 0x0f, 0xb6, 0x7d, 0x97, 0x79, 0x71, + 0x70, 0xd7, 0xfa, 0x2d, 0xb8, 0x38, 0x81, 0x56, 0x06, 0xb9, 0xcd, 0x26, 0x98, 0x19, 0xd4, 0xc0, + 0x13, 0xf7, 0x27, 0x4a, 0x89, 0x7f, 0x9e, 0x26, 0xe8, 0x54, 0x33, 0x1a, 0x5b, 0x77, 0x19, 0x1a, + 0x6c, 0xdc, 0x65, 0x28, 0x9f, 0x20, 0x81, 0x05, 0xc9, 0x2f, 0x58, 0x6a, 0x51, 0x4e, 0x75, 0x95, + 0x64, 0x39, 0x29, 0x70, 0xb5, 0xad, 0x3d, 0x4c, 0xe1, 0x20, 0xce, 0x9c, 0x9f, 0x7e, 0xf9, 0x48, + 0x46, 0xb9, 0x3e, 0x5a, 0x8f, 0x5f, 0xdc, 0x00, 0xf5, 0x4b, 0x2d, 0xf7, 0x2e, 0xeb, 0x20, 0x02, + 0x4d, 0x96, 0xa1, 0x2e, 0x08, 0xea, 0xe1, 0xa0, 0x6a, 0x84, 0xcd, 0xa4, 0x4a, 0x29, 0x4c, 0xc1, + 0x2a, 0x20, 0x93, 0xf3, 0x97, 0x94, 0xc8, 0x91, 0xec, 0x84, 0x26, 0x07, 0xe1, 0x04, 0x0e, 0x5b, + 0xcf, 0x93, 0x5a, 0xa8, 0xc3, 0xca, 0x40, 0x12, 0xf6, 0x54, 0x43, 0x9f, 0x76, 0x5c, 0xed, 0x85, + 0x08, 0xbd, 0x8b, 0x7d, 0xf4, 0x37, 0xda, 0xbc, 0xa8, 0x6b, 0x5e, 0x91, 0xf5, 0x44, 0x49, 0x97, + 0x48, 0xcc, 0x40, 0x58, 0x99, 0x31, 0x34, 0x57, 0xcd, 0xa0, 0x42, 0x9f, 0xe5, 0x90, 0x2d, 0x56, + 0x34, 0xa8, 0x09, 0x31, 0xc7, 0x73, 0xd2, 0x2e, 0x1b, 0x66, 0x63, 0xbb, 0x80, 0x58, 0x85, 0x09, + 0x1d, 0x66, 0x47, 0xa4, 0x74, 0x66, 0x40, 0x4a, 0x66, 0x70, 0xc0, 0xd5, 0x50, 0x45, 0x24, 0x5f, + 0x43, 0x26, 0x0a, 0x63, 0xf1, 0x3b, 0xc8, 0x87, 0xc6, 0x72, 0x45, 0xa5, 0x4a, 0x37, 0x0d, 0x68, + 0xb6, 0xe4, 0xa8, 0x7b, 0xbe, 0xee, 0x4e, 0xf5, 0x2e, 0xb8, 0xc8, 0x68, 0xe8, 0xe9, 0x5c, 0xdd, + 0x70, 0xa5, 0xba, 0x5c, 0xf2, 0xe0, 0x4c, 0xa2, 0x24, 0xe3, 0xa1, 0x79, 0x5c, 0xfb, 0x53, 0xc7, + 0x72, 0x35, 0xdc, 0x59, 0x9e, 0x93, 0x6e, 0xef, 0x19, 0xaa, 0x64, 0xe1, 0x14, 0x84, 0x7e, 0x17, + 0x25, 0x24, 0x73, 0xb4, 0x3b, 0x85, 0x02, 0xd2, 0xe0, 0x8f, 0xec, 0x6d, 0x70, 0xe9, 0x47, 0x1e, + 0x9a, 0x0c, 0xea, 0x1e, 0x23, 0x64, 0xdb, 0x48, 0x81, 0xa6, 0xc7, 0x0a, 0x34, 0x52, 0xfd, 0x8a, + 0x7d, 0x13, 0x04, 0x9d, 0xec, 0x66, 0x32, 0x81, 0x89, 0x24, 0x43, 0xbb, 0x43, 0x3c, 0xcc, 0x7a, + 0xe8, 0xc3, 0xce, 0x2d, 0x1f, 0x14, 0x85, 0x2a, 0x49, 0x80, 0xd0, 0x16, 0x2e, 0x1c, 0x64, 0x51, + 0x63, 0x34, 0xc2, 0x88, 0x71, 0xf4, 0xea, 0x26, 0xe5, 0xb7, 0xe9, 0x4d, 0x0a, 0xaf, 0x1f, 0x7d, + 0xf1, 0x9a, 0x73, 0xd4, 0x37, 0xfe, 0x34, 0xe0, 0x80, 0x19, 0x3c, 0xb9, 0xf2, 0x60, 0x0b, 0x41, + 0x37, 0xd3, 0x39, 0xba, 0x4f, 0x8e, 0xa7, 0xae, 0x71, 0x50, 0x47, 0xc5, 0xa6, 0x88, 0xa8, 0x33, + 0xac, 0x30, 0x7c, 0x76, 0x73, 0xcc, 0x91, 0xe8, 0x61, 0x88, 0xad, 0x13, 0x56, 0x21, 0xb9, 0xaa, + 0x55, 0x9e, 0x22, 0x3e, 0x68, 0x0d, 0xf6, 0x8c, 0x98, 0x4e, 0x5d, 0x14, 0xf9, 0x0d, 0x99, 0x5d, + 0x57, 0x07, 0x34, 0x71, 0xee, 0x42, 0x0b, 0x5a, 0xb1, 0x8f, 0x6b, 0x02, 0x2e, 0x96, 0x53, 0xdb, + 0x05, 0x9e, 0x8c, 0xee, 0xab, 0x08, 0xfa, 0x0e, 0xfd, 0xb8, 0x23, 0x05, 0x47, 0x8b, 0x8c, 0xfc, + 0x8c, 0xa4, 0xbd, 0xca, 0x4b, 0x39, 0xd1, 0x61, 0x54, 0xb8, 0xe8, 0x39, 0xae, 0x8a, 0x01, 0x9c, + 0x0a, 0xb0, 0x37, 0x07, 0x4c, 0xa4, 0x49, 0x06, 0xd9, 0x17, 0x1c, 0x8b, 0x69, 0xcb, 0x86, 0x8a, + 0x27, 0x93, 0x53, 0x2d, 0xe3, 0x33, 0x51, 0xef, 0x07, 0x6f, 0x6b, 0xcb, 0xee, 0x6d, 0x47, 0xc5, + 0xc1, 0x95, 0x42, 0xfa, 0x22, 0x04, 0x5a, 0x42, 0xef, 0x4f, 0xb7, 0x15, 0x4a, 0x8d, 0x5d, 0x14, + 0x9e, 0x27, 0x88, 0xd2, 0xa6, 0xde, 0x80, 0x42, 0x3a, 0x4f, 0xcc, 0xcf, 0x9f, 0xc6, 0xe6, 0x6b, + 0x29, 0xfa, 0xa7, 0x41, 0x0f, 0x78, 0x42, 0xd1, 0x4d, 0xe2, 0xf7, 0xc0, 0x1f, 0xfb, 0x03, 0xf1, + 0xac, 0x54, 0xd2, 0x30, 0x51, 0x46, 0xd2, 0x48, 0x74, 0x57, 0x8f, 0x8e, 0x8f, 0xea, 0xda, 0xe7, + 0x6b, 0x0d, 0xab, 0xb4, 0xab, 0xd4, 0x2c, 0xd9, 0x2a, 0x54, 0x66, 0xde, 0xf2, 0x1d, 0x49, 0xd2, + 0x0b, 0xad, 0xc7, 0xf7, 0x49, 0x4b, 0x0e, 0xb9, 0x50, 0x74, 0x2c, 0x64, 0x37, 0xf0, 0x3a, 0xa4, + 0x4a, 0x69, 0xbb, 0x64, 0x9d, 0xdf, 0x94, 0x0e, 0x4c, 0x1e, 0x98, 0x4e, 0x30, 0xfc, 0xaf, 0x7d, + 0xa1, 0xde, 0xb8, 0x82, 0x09, 0xe0, 0x79, 0x95, 0xd4, 0x9e, 0x45, 0x0a, 0x89, 0xa2, 0x94, 0x26, + 0xee, 0xf6, 0x86, 0xc1, 0x08, 0xe5, 0x8b, 0xbb, 0xbb, 0x4e, 0x62, 0x78, 0xc9, 0xf0, 0x7c, 0x14, + 0x28, 0x40, 0x10, 0xba, 0x24, 0x31, 0x3e, 0x5d, 0x16, 0x9f, 0x7a, 0xa5, 0x4f, 0x17, 0xc5, 0xa7, + 0xfe, 0x99, 0x6b, 0xab, 0xd9, 0xf0, 0xb0, 0xa5, 0x9f, 0x81, 0x29, 0x0c, 0x45, 0xad, 0x46, 0xda, + 0xbb, 0x22, 0xed, 0xfe, 0x19, 0xb1, 0xd4, 0x87, 0x27, 0x6f, 0x29, 0x8a, 0xf0, 0x70, 0x87, 0x5d, + 0x72, 0x12, 0x25, 0xb9, 0x3d, 0xc1, 0x09, 0x2b, 0xe4, 0xc1, 0x90, 0x66, 0x92, 0x23, 0x03, 0x05, + 0x3f, 0x2c, 0xa2, 0xd6, 0xa8, 0xc3, 0x0b, 0xb5, 0x0a, 0xe9, 0xbb, 0xe3, 0x56, 0x85, 0x48, 0xea, + 0x7b, 0x76, 0xef, 0xd6, 0x8b, 0x90, 0x54, 0x8c, 0xd0, 0x88, 0x81, 0x02, 0xa4, 0x22, 0xf3, 0xde, + 0x18, 0xff, 0x0c, 0xba, 0x6e, 0x49, 0x8a, 0x54, 0xc4, 0xe8, 0x63, 0x8c, 0x7e, 0x29, 0xc6, 0xbe, + 0x1e, 0x63, 0x1f, 0x63, 0xec, 0xcb, 0x18, 0x74, 0x26, 0xfa, 0xa5, 0xa7, 0xbb, 0xfa, 0xdb, 0xf2, + 0x3b, 0x49, 0x4f, 0xff, 0xda, 0x2f, 0x7f, 0xed, 0xeb, 0x5f, 0xf7, 0xcb, 0x5f, 0xf7, 0x11, 0xe4, + 0x0b, 0xb7, 0x40, 0x02, 0x3a, 0x17, 0xcf, 0xbc, 0xfd, 0x12, 0x04, 0xb0, 0x74, 0x5c, 0x21, 0x3f, + 0x30, 0x50, 0x53, 0x17, 0x11, 0x97, 0x0a, 0xed, 0xdd, 0x6b, 0xd4, 0xb4, 0x6b, 0xcd, 0x14, 0x68, + 0xe5, 0x96, 0x01, 0xcf, 0xd4, 0x23, 0x5c, 0x27, 0xc4, 0x2d, 0x0e, 0xe2, 0xe4, 0xe6, 0xf2, 0xaa, + 0x95, 0xcd, 0xfd, 0x49, 0xd0, 0xca, 0x93, 0x56, 0xe6, 0x03, 0x27, 0xc7, 0x30, 0xe7, 0xa5, 0x24, + 0x04, 0xf7, 0xc4, 0xe4, 0x95, 0x4a, 0x10, 0xea, 0xd4, 0x46, 0x1c, 0x82, 0x7d, 0x7a, 0x17, 0x66, + 0x19, 0x32, 0x85, 0x61, 0x4a, 0x37, 0x34, 0xa5, 0x28, 0x3f, 0x61, 0x94, 0x17, 0x5a, 0xcd, 0x84, + 0xf4, 0x19, 0x26, 0x5c, 0x2b, 0x99, 0x4c, 0xd0, 0xc2, 0xa7, 0x63, 0x2d, 0xb5, 0xb5, 0x49, 0xdc, + 0x00, 0xc3, 0x9c, 0xe1, 0x13, 0x49, 0xa6, 0xdb, 0x21, 0x69, 0xd7, 0xc8, 0x85, 0x5c, 0x88, 0x3e, + 0x60, 0x80, 0xe6, 0x7e, 0xe4, 0x16, 0x87, 0x3a, 0x08, 0x98, 0xdd, 0xbb, 0x25, 0xef, 0x47, 0xe6, + 0xea, 0x2e, 0xb6, 0xbc, 0xba, 0xf3, 0x21, 0xeb, 0x1e, 0x6f, 0x6d, 0xea, 0xa6, 0x4d, 0xd7, 0x28, + 0xcd, 0x2b, 0xee, 0xda, 0xdc, 0xac, 0x08, 0x22, 0xb3, 0x7b, 0x38, 0x00, 0xa2, 0xf3, 0xb5, 0x4c, + 0x77, 0xd2, 0x46, 0x8e, 0xde, 0xe4, 0x2d, 0x1a, 0x3b, 0x4f, 0x43, 0xfc, 0x7a, 0x8c, 0x17, 0x93, + 0xf9, 0x89, 0x72, 0xd2, 0xe6, 0xfa, 0x2a, 0xde, 0x41, 0x5f, 0xc6, 0xec, 0x89, 0x98, 0x3d, 0x23, + 0x66, 0x52, 0xc4, 0xdc, 0x97, 0x31, 0xfb, 0x22, 0xa6, 0xe9, 0xf8, 0x4d, 0x39, 0xb7, 0x03, 0x7a, + 0x93, 0x1d, 0x3c, 0x1b, 0x66, 0x78, 0x4b, 0xc4, 0x93, 0x4f, 0x5b, 0x13, 0x16, 0x2b, 0x22, 0x69, + 0x21, 0x6f, 0x09, 0x20, 0x1e, 0x82, 0x87, 0x5b, 0xb0, 0xd2, 0x33, 0xd8, 0xf9, 0x0e, 0x7a, 0xfd, + 0xe7, 0xe3, 0xfe, 0xe0, 0x19, 0x9c, 0x5f, 0x23, 0xd9, 0x43, 0x19, 0x7b, 0x93, 0x8b, 0x80, 0xc2, + 0x8f, 0x6d, 0x23, 0x74, 0x4b, 0x06, 0xa7, 0xda, 0x59, 0x03, 0x03, 0x06, 0x7a, 0x00, 0x1e, 0x9f, + 0xc7, 0xc2, 0x8a, 0xa3, 0x45, 0x80, 0x7f, 0xa4, 0xd3, 0x57, 0x84, 0x85, 0x8a, 0x24, 0x0c, 0x2c, + 0xf6, 0xad, 0x05, 0x5c, 0x73, 0x86, 0xd0, 0xde, 0xe1, 0x0a, 0x84, 0xf3, 0xb0, 0x41, 0xca, 0x82, + 0x1a, 0x84, 0xb2, 0x92, 0xcf, 0xc4, 0xf1, 0x6c, 0x76, 0x0f, 0x67, 0xfc, 0x5a, 0x17, 0x88, 0xc8, + 0x9d, 0x58, 0xe5, 0xeb, 0xb6, 0x7d, 0xba, 0x0a, 0x7a, 0xd6, 0x0e, 0x0e, 0x22, 0x75, 0x3b, 0x4d, + 0x0e, 0xf5, 0xa2, 0x53, 0x08, 0x3c, 0x13, 0xb0, 0xee, 0x98, 0x25, 0xda, 0x61, 0xaf, 0xf6, 0x92, + 0x09, 0xb1, 0x44, 0x37, 0x07, 0xc6, 0x35, 0xee, 0x96, 0xa5, 0xb2, 0xb3, 0x7e, 0x21, 0xff, 0x8e, + 0xd6, 0x80, 0xdf, 0x81, 0x41, 0xbb, 0xc8, 0xf2, 0xd4, 0xee, 0xba, 0xbd, 0x1f, 0xa1, 0x9d, 0x0d, + 0x65, 0xe9, 0x4d, 0x2e, 0xcc, 0x94, 0xaa, 0x0d, 0xa5, 0x78, 0xa2, 0x95, 0xb0, 0x58, 0x90, 0xfc, + 0xa6, 0x40, 0x18, 0x6d, 0xdb, 0x81, 0xdd, 0x8e, 0x9b, 0x5c, 0x28, 0xf2, 0x94, 0x55, 0xea, 0xb5, + 0xb9, 0x42, 0xc7, 0x13, 0xa9, 0x4a, 0x15, 0xb4, 0xbd, 0x67, 0x43, 0xe9, 0x75, 0xad, 0x24, 0x76, + 0xf8, 0x8e, 0xe5, 0x57, 0x2d, 0x5d, 0xae, 0xc4, 0xc2, 0x28, 0x43, 0x70, 0x14, 0xe0, 0xbd, 0x24, + 0xd4, 0xdd, 0xfd, 0xcb, 0xb3, 0xae, 0xbc, 0x73, 0xb5, 0x2c, 0x77, 0x8e, 0x7f, 0x10, 0xf9, 0xef, + 0xc6, 0xc3, 0xcd, 0xa8, 0x4e, 0xa7, 0xca, 0xdc, 0x7a, 0x8d, 0x9b, 0x51, 0xcc, 0x66, 0x56, 0x6c, + 0xd0, 0xd0, 0x63, 0xb8, 0xc1, 0x15, 0x6b, 0x9d, 0x87, 0x91, 0x1c, 0x54, 0x20, 0x89, 0x98, 0x35, + 0x8f, 0xdd, 0xcc, 0x90, 0xe9, 0x41, 0x7d, 0x68, 0xb2, 0x73, 0x4a, 0xd6, 0x06, 0x25, 0x1a, 0xa1, + 0x86, 0xaa, 0x0f, 0x73, 0x48, 0x1b, 0xde, 0x2b, 0xf7, 0x8a, 0x63, 0xe3, 0xb5, 0x67, 0xdb, 0x9b, + 0xb7, 0xaf, 0xda, 0x70, 0x6e, 0x6d, 0x13, 0x11, 0x81, 0x26, 0xba, 0x2d, 0x39, 0x6a, 0x33, 0x73, + 0xa1, 0x04, 0x63, 0xeb, 0xcd, 0x3d, 0x2d, 0x0f, 0x78, 0x7a, 0x79, 0x89, 0x0b, 0x22, 0xb3, 0x86, + 0xc0, 0x5c, 0xde, 0xc0, 0xb6, 0xf2, 0xf0, 0xa0, 0x6d, 0xd5, 0x01, 0xcc, 0x2f, 0x69, 0xa1, 0x96, + 0x8f, 0x8d, 0xa6, 0xe8, 0xda, 0xb7, 0xa5, 0x76, 0xf4, 0x5c, 0xbd, 0x40, 0x0b, 0x0f, 0xd8, 0xed, + 0x1e, 0x4c, 0xb2, 0x47, 0x75, 0x45, 0x5d, 0x16, 0x6e, 0x73, 0x1d, 0x9d, 0xa5, 0x1c, 0x10, 0x5e, + 0x08, 0xfa, 0x32, 0x98, 0x08, 0xa5, 0x34, 0x29, 0xf1, 0xbe, 0xb3, 0x50, 0xfd, 0x4c, 0xc9, 0xbf, + 0xf9, 0xae, 0x50, 0xdd, 0x08, 0x6d, 0xe5, 0x0f, 0x0f, 0x49, 0xc9, 0xc9, 0x65, 0x42, 0x3e, 0x2e, + 0x59, 0x0d, 0x17, 0x9f, 0x1d, 0x87, 0x86, 0xf6, 0xb6, 0x24, 0xb8, 0x10, 0x7a, 0x0d, 0xbb, 0x2c, + 0xb1, 0x70, 0xf5, 0x5c, 0x30, 0x55, 0x21, 0x25, 0xf2, 0x2c, 0x47, 0x5e, 0x47, 0x1e, 0x79, 0x95, + 0x4f, 0x43, 0xa5, 0xc6, 0xd9, 0x75, 0x95, 0x42, 0x25, 0xea, 0xff, 0x69, 0x97, 0xc5, 0x5d, 0x35, + 0x2d, 0x8e, 0xb0, 0x6f, 0x1d, 0x67, 0x88, 0x61, 0x9e, 0xf6, 0x01, 0x45, 0x17, 0x5d, 0xf7, 0xc8, + 0x59, 0x1a, 0x8d, 0xd9, 0x12, 0xad, 0x19, 0x5f, 0x6b, 0x1d, 0x84, 0x01, 0x83, 0x6b, 0xc3, 0x7e, + 0xbf, 0x0c, 0xb8, 0x18, 0x44, 0xc2, 0x51, 0xba, 0x8e, 0x7b, 0xf2, 0x73, 0x70, 0x6f, 0x4b, 0xc8, + 0x93, 0x8b, 0x7d, 0x32, 0xb0, 0x6f, 0xd1, 0xc1, 0xb3, 0x25, 0xae, 0x0b, 0x76, 0x78, 0xea, 0xfc, + 0x2b, 0xb2, 0x26, 0x5e, 0x03, 0xfd, 0x45, 0xef, 0xb8, 0x95, 0x61, 0x60, 0x49, 0x11, 0x99, 0xcd, + 0x15, 0x87, 0xd8, 0xde, 0x50, 0x3b, 0xc2, 0x16, 0x4e, 0x7c, 0x03, 0x96, 0x2e, 0x2f, 0xa4, 0x3e, + 0xd0, 0xc6, 0x47, 0xea, 0x2f, 0x70, 0xa4, 0xde, 0x82, 0xa9, 0xa8, 0x8a, 0x70, 0x16, 0x9a, 0x28, + 0xe3, 0xe1, 0x41, 0x97, 0x72, 0x78, 0xda, 0xd9, 0x9b, 0x68, 0xe2, 0x1d, 0xec, 0x6c, 0x77, 0x28, + 0x04, 0x87, 0xe3, 0xbc, 0xad, 0x8e, 0xe0, 0x2e, 0xb2, 0x37, 0xba, 0x94, 0x63, 0xe9, 0xee, 0x07, + 0xfb, 0xe2, 0xaa, 0x50, 0x48, 0x47, 0x32, 0x6f, 0x9d, 0x6d, 0x17, 0x7a, 0xab, 0x88, 0x3d, 0x51, + 0x02, 0x9e, 0xd6, 0xbf, 0xd0, 0x71, 0xdd, 0xf3, 0x3c, 0x25, 0x65, 0xea, 0xfc, 0x72, 0xfc, 0xfa, + 0x3d, 0x2a, 0x25, 0x8f, 0xad, 0x79, 0x92, 0x21, 0xb4, 0x04, 0x1a, 0x80, 0xd1, 0xc9, 0x1d, 0x0d, + 0x72, 0x6e, 0xd1, 0xa1, 0x08, 0x1c, 0x8b, 0xa1, 0xc6, 0xac, 0xd1, 0x3b, 0x8b, 0x12, 0x20, 0x91, + 0x28, 0x89, 0xe9, 0xc4, 0xc9, 0x9d, 0xcd, 0x50, 0xde, 0x43, 0x3e, 0x98, 0xa9, 0x13, 0x33, 0x53, + 0x41, 0x20, 0xfb, 0xe1, 0x14, 0xb6, 0x59, 0x7e, 0xd8, 0xde, 0x16, 0xd6, 0x59, 0xda, 0x19, 0x9b, + 0xe7, 0xbd, 0xe6, 0xc4, 0xaf, 0xd7, 0x7d, 0x22, 0x6d, 0x27, 0x86, 0xc9, 0x16, 0x1c, 0xb9, 0xc9, + 0x43, 0x64, 0x91, 0xc0, 0x4b, 0x9c, 0xa5, 0x2d, 0x24, 0x4c, 0x85, 0x13, 0x31, 0xe0, 0xa9, 0x94, + 0x46, 0xd1, 0xfe, 0x53, 0xb2, 0x8e, 0x42, 0x69, 0x84, 0x9b, 0xab, 0x7d, 0xb9, 0xdb, 0x2d, 0xdc, + 0x7d, 0xc2, 0xd4, 0x0f, 0xb2, 0x39, 0xb9, 0x57, 0xd3, 0x8c, 0xe1, 0xd1, 0xd3, 0x83, 0x4c, 0xb8, + 0x8c, 0xc7, 0x77, 0x19, 0xc9, 0x0c, 0x6c, 0x18, 0xbd, 0x9d, 0x85, 0x75, 0x6b, 0x0d, 0xd0, 0xdd, + 0xc4, 0x72, 0xc7, 0x19, 0xb0, 0x51, 0x5d, 0xa6, 0xec, 0xe5, 0xa2, 0x1a, 0x17, 0x68, 0x79, 0xbd, + 0x0b, 0xb4, 0x61, 0x0b, 0xd1, 0x9b, 0x50, 0xf6, 0xf0, 0xb7, 0x8f, 0x6f, 0x76, 0x9f, 0x4b, 0x8f, + 0x68, 0xb9, 0x6e, 0x6d, 0xf7, 0x08, 0xe1, 0x58, 0x61, 0x98, 0x67, 0x48, 0xc3, 0xea, 0xec, 0xef, + 0x90, 0x47, 0xd9, 0x40, 0x94, 0x86, 0x33, 0xec, 0x91, 0xd2, 0xb4, 0x4b, 0x07, 0x9d, 0xad, 0xb1, + 0xdc, 0x47, 0x49, 0x7a, 0x16, 0x24, 0xf7, 0x21, 0x2f, 0xab, 0xea, 0xf2, 0x83, 0xc4, 0x66, 0x85, + 0x9c, 0x2d, 0x2f, 0xec, 0xff, 0x94, 0xbb, 0xda, 0xbc, 0x41, 0xf6, 0x96, 0x23, 0x1b, 0xaf, 0x24, + 0x4d, 0x42, 0xe6, 0x26, 0x7e, 0x07, 0x81, 0x10, 0x94, 0xb1, 0xc1, 0xd7, 0xdb, 0xf0, 0x36, 0xb8, + 0x25, 0x39, 0x99, 0x3b, 0xc7, 0x35, 0x4d, 0xde, 0x88, 0xd9, 0xf1, 0x2b, 0xbd, 0x3b, 0xb8, 0x5f, + 0x98, 0xeb, 0x0f, 0x8d, 0x18, 0xf9, 0xcc, 0x92, 0x19, 0x0b, 0x72, 0xc5, 0x72, 0x79, 0x78, 0x90, + 0x92, 0xdc, 0x25, 0xac, 0xcb, 0xfe, 0x33, 0x94, 0xf2, 0x69, 0x12, 0x32, 0xa6, 0x74, 0xfa, 0xf9, + 0x04, 0x2b, 0x80, 0xae, 0xec, 0xe6, 0x40, 0xe5, 0x02, 0x8b, 0xed, 0x18, 0x57, 0xda, 0x38, 0x96, + 0x6d, 0xe4, 0x48, 0x23, 0x44, 0x5d, 0xdb, 0x2d, 0x92, 0x78, 0x40, 0x42, 0xb4, 0x2d, 0xfc, 0xbb, + 0x24, 0x81, 0x9a, 0x3e, 0xbf, 0x0b, 0x61, 0x08, 0x09, 0xcf, 0x8d, 0xd7, 0x2c, 0xb8, 0xe4, 0xd3, + 0x35, 0x8b, 0xd6, 0x51, 0x30, 0x45, 0xa2, 0x0b, 0x05, 0x6c, 0x8c, 0x7b, 0x07, 0xba, 0xb4, 0x2e, + 0xa7, 0x72, 0x67, 0xe9, 0x3f, 0x07, 0x5b, 0xbd, 0x25, 0x35, 0xb6, 0xa0, 0x99, 0x15, 0x73, 0xbe, + 0xf7, 0xe8, 0x68, 0xaf, 0x68, 0x91, 0x8d, 0x62, 0xbc, 0x2d, 0xf8, 0xe3, 0x8c, 0xcf, 0xb1, 0xdf, + 0x81, 0x4e, 0x30, 0x84, 0x45, 0xeb, 0x53, 0x72, 0x93, 0xb6, 0xc8, 0x7f, 0x46, 0xeb, 0x2e, 0x8c, + 0xa2, 0x16, 0x1d, 0xd4, 0xbe, 0x5f, 0x90, 0x6c, 0x6f, 0xd4, 0xd5, 0x5c, 0xb7, 0x2c, 0x29, 0xf4, + 0x1d, 0x42, 0x5f, 0x5b, 0x74, 0xef, 0x01, 0x4b, 0x6b, 0x06, 0x6c, 0xa5, 0xf8, 0xf0, 0xea, 0x26, + 0x5d, 0x22, 0xc8, 0x08, 0xd9, 0x51, 0x9e, 0x0f, 0x2c, 0x2e, 0x65, 0xca, 0x50, 0x19, 0x30, 0x7c, + 0x64, 0xd0, 0x6b, 0x38, 0x6b, 0x8f, 0xa3, 0x01, 0x76, 0x21, 0x54, 0x6a, 0xb9, 0xac, 0xd4, 0x5f, + 0xf8, 0x9b, 0xd3, 0x5a, 0xa0, 0x84, 0x89, 0x5b, 0xf2, 0xc9, 0x01, 0x1e, 0x9a, 0x4c, 0x87, 0xa9, + 0xfa, 0x19, 0x9c, 0x28, 0x5a, 0xf0, 0xda, 0x8a, 0x83, 0xfc, 0x2e, 0x49, 0x3f, 0x73, 0x73, 0xd0, + 0x1f, 0x1d, 0xc6, 0xc7, 0x23, 0x33, 0x7a, 0x82, 0x87, 0x3d, 0x2d, 0xe8, 0x40, 0xd5, 0x3f, 0xe2, + 0x33, 0x37, 0x1b, 0xc1, 0x45, 0x93, 0xf5, 0xf9, 0xb4, 0xa2, 0x24, 0xbe, 0x84, 0x48, 0x98, 0x1b, + 0xb4, 0x45, 0x68, 0x8b, 0x2c, 0x50, 0xb0, 0x39, 0x58, 0x20, 0x95, 0x1a, 0xc8, 0x7a, 0x2d, 0x97, + 0x43, 0x7c, 0xfc, 0x78, 0x19, 0x7d, 0x08, 0x26, 0xb7, 0x34, 0xc8, 0x24, 0xfe, 0x4c, 0xe1, 0x4d, + 0x29, 0xfb, 0xac, 0x1b, 0xc0, 0x62, 0x0d, 0x2d, 0xa4, 0x45, 0x60, 0xf6, 0xf6, 0x16, 0xe7, 0xda, + 0xdb, 0x5b, 0x49, 0x1d, 0x80, 0x06, 0xfc, 0x15, 0x11, 0x45, 0x4a, 0xdb, 0x2d, 0x46, 0xa9, 0xa8, + 0x74, 0x52, 0x12, 0xc6, 0x0a, 0x79, 0x5c, 0x1a, 0x98, 0x74, 0x1b, 0x27, 0x58, 0x69, 0xdb, 0x82, + 0x29, 0x80, 0xa6, 0xc0, 0x8b, 0x66, 0x03, 0x23, 0x0c, 0x02, 0x25, 0xc5, 0xd1, 0x88, 0x08, 0x11, + 0x1d, 0x4c, 0x45, 0x96, 0xc9, 0xc6, 0x27, 0x61, 0x5a, 0xed, 0x16, 0x3d, 0x22, 0x7d, 0x61, 0x47, + 0xa2, 0xd7, 0x2c, 0x52, 0xdb, 0x09, 0xea, 0x2b, 0x6d, 0xdc, 0x5f, 0x89, 0xad, 0x7c, 0xc5, 0x1e, + 0x0e, 0x07, 0x0a, 0x95, 0x5b, 0x3a, 0xe1, 0x3c, 0x72, 0x98, 0xfc, 0x17, 0x40, 0xbc, 0x06, 0x17, + 0x91, 0x1f, 0x03, 0x67, 0x89, 0x2e, 0x03, 0x6c, 0xc1, 0xf2, 0x0a, 0x2d, 0xaf, 0xb2, 0xea, 0x18, + 0x96, 0xac, 0xe9, 0x77, 0xad, 0xa7, 0x6f, 0xf4, 0x9d, 0xb6, 0xbf, 0xf3, 0x05, 0x5e, 0xed, 0x21, + 0xbc, 0x21, 0xe4, 0xb2, 0x5c, 0x9e, 0x6b, 0x93, 0xe5, 0x22, 0xbc, 0xc4, 0x6e, 0xb4, 0x03, 0x49, + 0xe3, 0x55, 0x17, 0xf4, 0x5f, 0x49, 0xfe, 0x81, 0x55, 0x69, 0xb4, 0x70, 0xd3, 0x33, 0x54, 0x38, + 0x43, 0x19, 0x0a, 0x39, 0xe6, 0xd2, 0xe2, 0xb4, 0xb0, 0xad, 0x46, 0x23, 0x61, 0xe9, 0x20, 0x95, + 0x16, 0xb0, 0x8a, 0xc2, 0xdb, 0xeb, 0x6f, 0x7c, 0xb9, 0x35, 0x4d, 0x26, 0x37, 0x28, 0x95, 0xed, + 0xe0, 0x5e, 0xda, 0x91, 0x7c, 0xa3, 0x52, 0x6a, 0x74, 0x16, 0xb2, 0x9e, 0xe4, 0x37, 0xca, 0x19, + 0x92, 0xeb, 0x2f, 0x2e, 0x78, 0xb4, 0xc3, 0xdd, 0x76, 0x6d, 0x54, 0xb0, 0x72, 0xa5, 0xba, 0xd1, + 0xb5, 0x29, 0xcd, 0xd8, 0xbc, 0x72, 0x7d, 0x59, 0x37, 0xe4, 0xd9, 0xea, 0x21, 0xcf, 0x87, 0x32, + 0x2b, 0xe8, 0x86, 0x60, 0x9c, 0x99, 0xe3, 0x5d, 0x5e, 0xac, 0x3c, 0x57, 0x17, 0x6a, 0xae, 0x9a, + 0xd3, 0xd4, 0xe6, 0xd9, 0x8d, 0x33, 0xf5, 0x88, 0x7d, 0x9e, 0xeb, 0x4b, 0x5f, 0xec, 0xf5, 0x48, + 0xe4, 0x6b, 0xda, 0xcd, 0x49, 0x36, 0x6f, 0xbc, 0x98, 0x7d, 0x47, 0xa5, 0xc9, 0xc7, 0x99, 0x14, + 0xd3, 0xaf, 0xb2, 0x5d, 0x08, 0x67, 0x05, 0x72, 0x1d, 0x1a, 0x4b, 0xd0, 0x16, 0xed, 0xc2, 0x06, + 0xd0, 0x03, 0x7a, 0x6d, 0x2f, 0x3c, 0x1c, 0x70, 0xb9, 0xec, 0xc0, 0xa0, 0xae, 0x01, 0x14, 0xed, + 0xd1, 0x2d, 0x78, 0x2f, 0xf2, 0xd3, 0x5b, 0x21, 0x72, 0xaa, 0x6b, 0x06, 0xb2, 0x02, 0x88, 0x9e, + 0x23, 0x37, 0xe7, 0xae, 0x8b, 0x8e, 0x5f, 0x32, 0x03, 0xc8, 0x86, 0xc4, 0xde, 0x12, 0x68, 0xa4, + 0xd6, 0x46, 0x3c, 0xdb, 0xed, 0x15, 0x56, 0xe2, 0x6e, 0xaf, 0x5b, 0x63, 0x26, 0xdc, 0x90, 0x2a, + 0xd3, 0x53, 0xa1, 0x25, 0x31, 0xc2, 0xaf, 0xdb, 0x5c, 0x8f, 0xeb, 0x3b, 0x38, 0x6a, 0xc7, 0x1a, + 0xe4, 0x0a, 0x9e, 0x71, 0x50, 0xd1, 0x47, 0xd9, 0x61, 0x57, 0x4a, 0x09, 0x10, 0x36, 0x6d, 0xa9, + 0x03, 0xae, 0x60, 0xd7, 0x4e, 0xd2, 0x24, 0x8a, 0xa0, 0xec, 0x84, 0x2e, 0x21, 0x17, 0x17, 0xc1, + 0x95, 0x7f, 0x1b, 0x26, 0xe9, 0xc0, 0xca, 0xae, 0x13, 0xd8, 0xc1, 0x2c, 0x97, 0xa6, 0xf9, 0xc0, + 0xa2, 0x6b, 0x1c, 0x6b, 0x29, 0x35, 0x74, 0xea, 0xe1, 0x76, 0x15, 0x96, 0xee, 0xa8, 0x8a, 0x52, + 0x39, 0xaa, 0xc1, 0x96, 0x54, 0x88, 0x54, 0xd9, 0x23, 0xe0, 0x24, 0x4b, 0x08, 0x92, 0xef, 0x81, + 0xe7, 0xcd, 0x04, 0x54, 0x2c, 0x39, 0x00, 0x2c, 0x83, 0x48, 0x16, 0xf0, 0x91, 0xe8, 0x2b, 0x90, + 0x8d, 0x05, 0xad, 0xfd, 0xe7, 0x3f, 0xa0, 0x27, 0x16, 0x02, 0xb4, 0x6f, 0x46, 0x92, 0xac, 0x4f, + 0xf0, 0xa7, 0x82, 0x4a, 0x6e, 0x0a, 0xeb, 0x87, 0x4d, 0x5b, 0x87, 0x1a, 0x89, 0x95, 0xbb, 0xbe, + 0xdb, 0xed, 0x0d, 0x0a, 0x63, 0x7c, 0x1d, 0x9a, 0x31, 0x68, 0xc2, 0x63, 0xcb, 0x9a, 0xf1, 0xd8, + 0xb2, 0xe5, 0x86, 0xe8, 0x7e, 0x18, 0x75, 0x1d, 0x68, 0xa4, 0x01, 0x14, 0x99, 0x7f, 0x7b, 0x6d, + 0x1e, 0x03, 0x0d, 0x97, 0xd5, 0x7a, 0x13, 0xbc, 0xc8, 0xaf, 0x2a, 0xd8, 0x70, 0xd9, 0x06, 0xd8, + 0x70, 0x79, 0x4a, 0x09, 0xd8, 0xdd, 0x82, 0xcc, 0x52, 0x4c, 0x27, 0x18, 0x63, 0x92, 0x77, 0xe1, + 0x7e, 0x54, 0x03, 0xfe, 0xf8, 0xfd, 0x62, 0x2d, 0xf6, 0xe3, 0xb2, 0xbe, 0xa4, 0x57, 0x6b, 0x4a, + 0x5a, 0x37, 0x7b, 0x3e, 0xad, 0x19, 0x1e, 0x84, 0x84, 0x2c, 0x46, 0xa8, 0xfb, 0xaf, 0x9e, 0x2c, + 0xeb, 0xab, 0xa3, 0x4f, 0x17, 0x9a, 0xdb, 0x57, 0x83, 0xde, 0xb7, 0xcd, 0x1a, 0x1d, 0xd8, 0xcf, + 0x40, 0xf5, 0x33, 0xaa, 0x46, 0x90, 0x7e, 0xdf, 0x2f, 0xd4, 0x2a, 0x0a, 0x96, 0xe4, 0x40, 0x40, + 0x78, 0x98, 0xd7, 0x92, 0x4d, 0xac, 0xa6, 0x49, 0x38, 0xd7, 0x51, 0xe0, 0x14, 0xc6, 0x19, 0xd4, + 0xe3, 0x10, 0xd5, 0x6b, 0xa2, 0x5a, 0x8c, 0x35, 0x81, 0xdc, 0x31, 0x2c, 0x91, 0xe8, 0x82, 0xaf, + 0x8a, 0x75, 0x05, 0x0d, 0x99, 0x67, 0x40, 0xea, 0x19, 0x8d, 0x69, 0x2a, 0x84, 0x5a, 0xd6, 0x30, + 0x03, 0x82, 0x30, 0x86, 0x5a, 0x02, 0x99, 0x65, 0x58, 0x01, 0xe1, 0xae, 0x6a, 0xee, 0x4f, 0xa7, + 0x61, 0x7c, 0x39, 0xe8, 0x0e, 0xbf, 0x1e, 0xeb, 0x9c, 0x00, 0xd0, 0x2a, 0x38, 0xe7, 0x78, 0x53, + 0x8e, 0x7c, 0x9e, 0x63, 0x7d, 0x13, 0xa8, 0x39, 0xd5, 0xdb, 0x1a, 0xec, 0xa8, 0xfe, 0x55, 0xfb, + 0xb4, 0xb5, 0xb3, 0x5c, 0x83, 0x71, 0xd7, 0x7b, 0xee, 0xd3, 0x9a, 0x7e, 0x31, 0x9d, 0xca, 0x4d, + 0xa3, 0x3a, 0xaa, 0x8d, 0xf0, 0xe2, 0x75, 0x38, 0xe2, 0x4d, 0x20, 0xe2, 0xdf, 0x08, 0x18, 0xfe, + 0x7a, 0xff, 0xe9, 0x4b, 0xa6, 0x3e, 0xdf, 0x8e, 0xff, 0x1d, 0x21, 0x48, 0xf6, 0x37, 0x42, 0x7f, + 0x53, 0x1e, 0xdf, 0x88, 0xfa, 0x4d, 0x79, 0x7c, 0x23, 0xe0, 0x37, 0xe5, 0xb1, 0x0e, 0xeb, 0x5b, + 0x2c, 0x24, 0x93, 0x93, 0x3b, 0x86, 0x29, 0x18, 0x29, 0x75, 0x26, 0xe9, 0xff, 0x7c, 0xc8, 0xfe, + 0x42, 0x5a, 0x24, 0x43, 0x42, 0xdf, 0x46, 0xcc, 0xde, 0xfc, 0x72, 0xf1, 0x9f, 0xe0, 0x50, 0xdb, + 0x81, 0xe1, 0x4a, 0x43, 0xe0, 0x47, 0x59, 0xc2, 0xa4, 0xc0, 0x70, 0x22, 0xd4, 0x12, 0x15, 0x22, + 0x4e, 0x9f, 0x50, 0x4e, 0x3a, 0xf1, 0x98, 0x7f, 0x06, 0xf2, 0x96, 0x1c, 0x98, 0x7f, 0xcc, 0x0e, + 0xaf, 0x43, 0x23, 0x5d, 0xf3, 0xb0, 0xf4, 0xda, 0x99, 0x0b, 0xa7, 0x65, 0x55, 0x90, 0x38, 0x4c, + 0x4f, 0xf0, 0x1e, 0xf8, 0x40, 0xd7, 0x38, 0x65, 0x60, 0x38, 0x5f, 0x43, 0x74, 0x2b, 0x2e, 0xc4, + 0x75, 0x22, 0x31, 0x83, 0xca, 0x5c, 0x1d, 0x47, 0xaf, 0xcb, 0x16, 0x01, 0x51, 0x20, 0xaf, 0xb4, + 0xf2, 0x02, 0xff, 0x20, 0x83, 0x83, 0x9b, 0x36, 0xdb, 0x66, 0x61, 0x9a, 0x01, 0xf9, 0xb6, 0x46, + 0xc7, 0xa2, 0xae, 0x2d, 0xd1, 0x1d, 0xdc, 0xbd, 0x3b, 0x2e, 0x3b, 0x14, 0x9d, 0x13, 0x38, 0x14, + 0x5e, 0x61, 0x29, 0xe0, 0x3d, 0x72, 0x31, 0x0a, 0x6d, 0xe2, 0x6e, 0x07, 0x32, 0x9c, 0x7e, 0xb1, + 0xd1, 0xaf, 0xe0, 0x90, 0xbc, 0xa4, 0xe9, 0x64, 0x37, 0xfd, 0xa7, 0x04, 0x2c, 0xda, 0x71, 0x73, + 0xdd, 0xef, 0x99, 0x50, 0x6e, 0xca, 0x1b, 0xdd, 0x7a, 0x11, 0x91, 0x8d, 0x76, 0x11, 0xb4, 0xd3, + 0x19, 0x46, 0xea, 0x22, 0x1c, 0x18, 0xe1, 0x88, 0xdd, 0x34, 0x56, 0x2f, 0x0b, 0x0c, 0x61, 0x36, + 0x19, 0xf6, 0xe3, 0x85, 0x13, 0x02, 0xc2, 0x34, 0x3b, 0x0f, 0xa3, 0xec, 0x65, 0x07, 0xc5, 0x38, + 0xee, 0xbe, 0x13, 0xab, 0x6b, 0x2c, 0x18, 0x2b, 0x28, 0xb0, 0x40, 0xa3, 0xd1, 0x3f, 0x38, 0x23, + 0xf4, 0x83, 0xc3, 0xa3, 0x69, 0x7c, 0x18, 0xe8, 0x3d, 0x76, 0x5a, 0x7c, 0xa2, 0xdb, 0xa1, 0x33, + 0x0d, 0xdb, 0x46, 0x88, 0xcb, 0x75, 0x99, 0x21, 0xd0, 0xe6, 0xe3, 0x88, 0x15, 0x62, 0x8d, 0x7e, + 0x17, 0x76, 0x89, 0x79, 0xbb, 0x87, 0x9e, 0x27, 0x1c, 0xb7, 0xf8, 0x38, 0xbd, 0x49, 0xcd, 0xaf, + 0xc6, 0xa7, 0xd3, 0xfc, 0x4c, 0x8f, 0x5c, 0x88, 0xe3, 0x9b, 0xd2, 0x14, 0x31, 0x28, 0xa9, 0x31, + 0xc3, 0x34, 0xdd, 0xe6, 0x20, 0xaa, 0xad, 0x66, 0xa1, 0xae, 0x60, 0xd7, 0x56, 0xdf, 0xed, 0x35, + 0x55, 0xdd, 0xfc, 0x52, 0x53, 0x4f, 0x8c, 0x60, 0xd4, 0x46, 0xc7, 0x3f, 0x88, 0x82, 0xe3, 0x4c, + 0x22, 0xa4, 0x18, 0xbd, 0x9f, 0x6b, 0xfd, 0x9d, 0x55, 0xbc, 0x98, 0x41, 0xba, 0x57, 0x37, 0xa9, + 0x4c, 0x98, 0x55, 0xae, 0x3d, 0xec, 0x72, 0x5f, 0xea, 0x17, 0x29, 0xbd, 0xee, 0x93, 0x4c, 0x8d, + 0xa0, 0x9e, 0xe5, 0xc7, 0xcd, 0x72, 0x34, 0x7a, 0x7a, 0x93, 0x8c, 0x3f, 0x14, 0x8b, 0x5c, 0xe5, + 0x32, 0x44, 0x2d, 0x31, 0x36, 0x67, 0x8c, 0xf0, 0x00, 0x90, 0xe6, 0x97, 0x1a, 0x80, 0xa9, 0xab, + 0x7f, 0x99, 0x1b, 0x9f, 0xc6, 0x36, 0xde, 0xde, 0x22, 0xb0, 0x2d, 0x1c, 0x37, 0x05, 0x8d, 0x44, + 0x7a, 0x68, 0xa4, 0x49, 0x7a, 0xe7, 0x4e, 0xfd, 0x4a, 0x1b, 0x14, 0xc9, 0xcd, 0xc3, 0xad, 0x2c, + 0xac, 0xf0, 0xa0, 0x44, 0xb9, 0xd6, 0xc6, 0x82, 0xc5, 0xf7, 0x3a, 0x9e, 0x16, 0x31, 0xd7, 0x94, + 0xcc, 0xf2, 0x98, 0x92, 0x52, 0xf6, 0xb1, 0x09, 0x77, 0x21, 0x28, 0x5e, 0xd7, 0x63, 0x04, 0x42, + 0xd1, 0x4f, 0x28, 0x17, 0x9f, 0x67, 0x03, 0x54, 0x95, 0x83, 0x71, 0x84, 0xdf, 0x2e, 0xc2, 0xd8, + 0xa9, 0xfe, 0x1f, 0x9c, 0xe6, 0xe9, 0x99, 0xcb, 0xcd, 0x19, 0x74, 0xd9, 0x93, 0x2e, 0xca, 0x66, + 0xbb, 0xea, 0x34, 0x5c, 0x8c, 0x1a, 0xc7, 0x1a, 0x97, 0x03, 0x80, 0x9b, 0xca, 0x04, 0x2b, 0x86, + 0x1c, 0x12, 0xcc, 0x02, 0x3e, 0x8e, 0x89, 0x3d, 0x0f, 0x98, 0x1f, 0x38, 0x22, 0xef, 0x02, 0x7b, + 0x31, 0xe8, 0x75, 0xe7, 0xf7, 0x43, 0x49, 0x14, 0x57, 0xc1, 0x39, 0x8f, 0x4e, 0xae, 0x6e, 0x66, + 0xb3, 0x28, 0xf8, 0x7b, 0xdc, 0x5a, 0xc1, 0x8b, 0x15, 0xc3, 0xae, 0xf3, 0x63, 0x38, 0x59, 0x30, + 0xdc, 0xc1, 0xed, 0x45, 0xab, 0xeb, 0xc3, 0x43, 0x8c, 0xc6, 0x04, 0x1a, 0x9e, 0xf2, 0x72, 0x84, + 0xf9, 0xaf, 0xe6, 0xd6, 0xfe, 0x1e, 0x4b, 0x7e, 0x0d, 0x9e, 0x56, 0xd5, 0x58, 0x20, 0x25, 0x23, + 0xa1, 0x9b, 0x85, 0x71, 0x98, 0x07, 0xd1, 0x97, 0x8d, 0x6a, 0x3f, 0x5f, 0x55, 0xfd, 0x18, 0x6f, + 0x14, 0xa0, 0xaa, 0xb2, 0xd2, 0x8f, 0xae, 0x71, 0x31, 0x28, 0x3c, 0xb3, 0xd4, 0xa8, 0x48, 0x2c, + 0x38, 0x51, 0x86, 0x69, 0xa2, 0x60, 0xc9, 0xa4, 0xc5, 0x51, 0x40, 0x34, 0xcf, 0x68, 0x8f, 0x3c, + 0xdb, 0xe8, 0xad, 0xd1, 0x4e, 0x30, 0x5a, 0x4b, 0xc8, 0xc3, 0x5e, 0xff, 0x2f, 0x74, 0x0a, 0xea, + 0x0a, 0x2e, 0x80, 0x4b, 0x8e, 0xe1, 0xd4, 0x33, 0x6a, 0xe1, 0x45, 0xad, 0xd8, 0x7a, 0xcd, 0x92, + 0x71, 0x8f, 0x1a, 0xc1, 0x42, 0x11, 0x9a, 0x7b, 0x03, 0x44, 0xad, 0xaf, 0xc4, 0x80, 0x03, 0xc9, + 0xa8, 0x06, 0xf7, 0x16, 0x19, 0x01, 0xad, 0x6e, 0xbc, 0xe2, 0x1a, 0xba, 0x9a, 0xcc, 0x66, 0xa0, + 0x5e, 0x9e, 0x3e, 0x65, 0xd0, 0xc4, 0xd8, 0x78, 0x83, 0x55, 0x81, 0xa5, 0x9b, 0xcc, 0x4c, 0xd7, + 0x1a, 0xbd, 0x87, 0x5e, 0x53, 0xdc, 0x4a, 0x25, 0x02, 0x82, 0xc7, 0x43, 0xff, 0x01, 0x83, 0x9d, + 0x4a, 0x0d, 0x44, 0x2d, 0x32, 0x9c, 0x05, 0x15, 0x03, 0xb7, 0xb2, 0x68, 0xba, 0x63, 0xc3, 0xc1, + 0x35, 0x80, 0x6d, 0x55, 0xa7, 0xd5, 0x74, 0xde, 0x66, 0x27, 0xb8, 0x1c, 0x6a, 0x06, 0x1b, 0x1a, + 0x76, 0x84, 0xdb, 0x92, 0x47, 0x18, 0xc9, 0xf8, 0xef, 0x98, 0x07, 0x8d, 0x1d, 0x3e, 0x68, 0xec, + 0xff, 0x44, 0xec, 0xfb, 0x47, 0x48, 0x59, 0x3a, 0xec, 0x9d, 0x2f, 0x25, 0xda, 0x1e, 0x92, 0x84, + 0x55, 0xeb, 0xa5, 0x3c, 0x91, 0x0b, 0xdc, 0x33, 0xf8, 0x72, 0xc4, 0x28, 0xa4, 0xad, 0x0b, 0x82, + 0xa0, 0x8b, 0x83, 0x2c, 0xc3, 0xe8, 0x72, 0x7e, 0xaf, 0x5c, 0x55, 0xd8, 0x8e, 0xf0, 0x82, 0x16, + 0x15, 0x1c, 0xac, 0xf1, 0xe1, 0x50, 0x50, 0x7d, 0x73, 0xe9, 0xb7, 0xfe, 0x7e, 0xbf, 0x3f, 0xd9, + 0xda, 0xdd, 0x45, 0x9b, 0x9f, 0x77, 0xef, 0x76, 0x77, 0xe1, 0x35, 0xf8, 0x13, 0xc9, 0xc1, 0xca, + 0xe6, 0x9d, 0xa0, 0x2e, 0xaa, 0x94, 0xeb, 0x5d, 0xe0, 0xfd, 0xf4, 0xe3, 0xda, 0x97, 0xc9, 0xf6, + 0x65, 0xff, 0x7f, 0xb6, 0x4f, 0xd4, 0x48, 0x36, 0x11, 0x2f, 0x11, 0x99, 0x1a, 0x3e, 0xa2, 0x85, + 0x50, 0x0c, 0xb7, 0x10, 0x1e, 0xfe, 0x35, 0x2d, 0x3c, 0x2f, 0x21, 0x5d, 0xaa, 0xab, 0x63, 0x81, + 0xb7, 0x6d, 0xbc, 0x6b, 0xb0, 0xdb, 0x74, 0xa0, 0xd1, 0xb1, 0xfc, 0x2e, 0xa2, 0x5d, 0xe8, 0x11, + 0x13, 0x86, 0x7b, 0x33, 0x0a, 0xa5, 0xb5, 0x38, 0xba, 0xc6, 0x38, 0x26, 0xe5, 0xb0, 0x46, 0x7f, + 0x13, 0xc4, 0x6a, 0xaa, 0xc1, 0x5b, 0x97, 0xf0, 0xb8, 0x8d, 0x6a, 0x92, 0x3d, 0x46, 0xb6, 0x0a, + 0x96, 0x3b, 0x40, 0x2d, 0xaa, 0xb9, 0xa4, 0x2c, 0xec, 0x27, 0xe3, 0xdf, 0x15, 0x9d, 0x3b, 0xab, + 0xa2, 0x73, 0x4b, 0x2c, 0x43, 0x89, 0x14, 0x59, 0x15, 0xa6, 0x4b, 0x21, 0x41, 0x7e, 0x8f, 0x82, + 0x70, 0x56, 0x01, 0x24, 0xc7, 0xb8, 0x2c, 0xde, 0x51, 0xbd, 0x98, 0xdf, 0x6f, 0x2e, 0x6b, 0xa7, + 0xbe, 0x18, 0xcf, 0xdf, 0x33, 0x2e, 0x21, 0x67, 0x64, 0x48, 0xdf, 0x49, 0xc6, 0x46, 0x08, 0x8f, + 0x9d, 0x4e, 0xc7, 0xda, 0xab, 0x52, 0xd7, 0xff, 0x88, 0xa6, 0xed, 0xec, 0x4f, 0x9a, 0xa6, 0xd4, + 0xa0, 0xd5, 0x5c, 0xf5, 0x8c, 0xaa, 0x56, 0xd4, 0x43, 0xab, 0xc6, 0x1f, 0x91, 0xa8, 0x83, 0xde, + 0x92, 0x3f, 0xa2, 0xba, 0x86, 0xec, 0x8d, 0xea, 0x08, 0xfd, 0x95, 0x35, 0xb2, 0xa3, 0x00, 0x89, + 0x4a, 0x40, 0x3a, 0x1b, 0x30, 0x43, 0xf0, 0x02, 0x5e, 0xab, 0x1e, 0x13, 0x69, 0xc7, 0x48, 0x0c, + 0x73, 0x82, 0x4c, 0x2e, 0xb1, 0x2b, 0x89, 0x29, 0xd8, 0x91, 0x4c, 0x01, 0x72, 0x01, 0x3b, 0x92, + 0x43, 0xfa, 0x7a, 0x32, 0x00, 0x05, 0x8c, 0xad, 0x13, 0x18, 0xa5, 0xd6, 0x5c, 0x9d, 0xb2, 0xe1, + 0x40, 0x90, 0xa4, 0xd6, 0x00, 0x7b, 0xde, 0xfa, 0xe5, 0x36, 0x48, 0xef, 0x52, 0x60, 0x95, 0x5a, + 0x77, 0x21, 0xb9, 0x94, 0x47, 0x8c, 0xb7, 0x81, 0xf5, 0x37, 0xd8, 0x40, 0x84, 0xd1, 0x93, 0x08, + 0x5b, 0x3e, 0x8a, 0x76, 0x4c, 0xb2, 0x12, 0x4b, 0x85, 0x34, 0x32, 0x2b, 0x98, 0x2a, 0x6c, 0xf2, + 0xc3, 0x43, 0xfe, 0x6d, 0xac, 0x60, 0xcd, 0x28, 0xcc, 0x93, 0xbe, 0x56, 0x0b, 0x78, 0x19, 0xbd, + 0x38, 0x3e, 0x6a, 0xc1, 0xf8, 0x5d, 0xfb, 0xf1, 0x14, 0x19, 0x97, 0x03, 0x9c, 0x10, 0x7e, 0x1a, + 0xf8, 0x32, 0x85, 0x3f, 0x0f, 0x73, 0x79, 0x55, 0x44, 0x89, 0x20, 0x80, 0xa4, 0xb9, 0x22, 0xde, + 0xa8, 0xbe, 0x98, 0x9e, 0x5e, 0x4c, 0x4f, 0x02, 0x85, 0xd6, 0xec, 0xff, 0xad, 0xeb, 0x1f, 0x81, + 0x95, 0xc6, 0x79, 0x91, 0x27, 0xad, 0xa3, 0x57, 0xb2, 0xe7, 0x8a, 0x7d, 0x72, 0x5a, 0x16, 0x53, + 0x2b, 0xe6, 0x8d, 0x9a, 0x0f, 0x23, 0x31, 0xd5, 0x59, 0xb8, 0xfe, 0xb3, 0x2e, 0xb1, 0x70, 0x3d, + 0xc5, 0xc2, 0xe1, 0x38, 0x06, 0x83, 0xcb, 0x20, 0x7f, 0xab, 0xdd, 0x1b, 0x1e, 0xdb, 0xce, 0x72, + 0xd4, 0xc0, 0x90, 0x60, 0x37, 0xaf, 0xe7, 0x49, 0xd0, 0x58, 0xe3, 0x98, 0x59, 0x12, 0x89, 0xe9, + 0xba, 0x52, 0xf4, 0x29, 0xaf, 0x33, 0xb0, 0xad, 0x8a, 0x23, 0xa1, 0x19, 0x88, 0x15, 0xdc, 0x69, + 0x2e, 0x91, 0xba, 0x62, 0xa7, 0x1d, 0xb4, 0x77, 0x50, 0xd8, 0xa2, 0xf9, 0xc3, 0x87, 0x43, 0xbe, + 0x4d, 0xe1, 0x6b, 0xcb, 0xee, 0xee, 0xff, 0x85, 0xca, 0x7e, 0x45, 0x07, 0xc9, 0x9d, 0xc1, 0xce, + 0xa6, 0x52, 0xf3, 0x63, 0x53, 0x6c, 0xbe, 0xb3, 0xd4, 0x6a, 0x5e, 0x3b, 0xf0, 0x77, 0x7e, 0x2a, + 0x9b, 0x64, 0x5d, 0xcc, 0x69, 0xda, 0xb6, 0x26, 0xda, 0x5c, 0xc0, 0xef, 0x96, 0xea, 0x78, 0xd9, + 0x76, 0x93, 0x4e, 0xc0, 0x2c, 0xc0, 0x66, 0x49, 0xf8, 0x58, 0xcc, 0xa3, 0x2c, 0x4b, 0xe4, 0x6a, + 0x09, 0xad, 0x77, 0x16, 0xa9, 0xb1, 0xe4, 0x7d, 0x58, 0x67, 0xf6, 0x05, 0x2b, 0xf4, 0xcb, 0x45, + 0x82, 0x8e, 0x18, 0x2a, 0x16, 0xe3, 0xec, 0x33, 0xc9, 0x0d, 0x9a, 0x24, 0xf6, 0xf8, 0x3d, 0x8c, + 0xb5, 0x8b, 0x55, 0xc1, 0x0b, 0xdb, 0xc0, 0xe8, 0xca, 0xfb, 0x02, 0xcd, 0x23, 0xf4, 0xbc, 0x8b, + 0x8b, 0xc5, 0x81, 0x63, 0xff, 0x2c, 0x99, 0xdc, 0x64, 0x36, 0xdb, 0xf2, 0x65, 0xb5, 0xee, 0xe5, + 0x34, 0xe7, 0x07, 0x02, 0xf8, 0xe3, 0x1b, 0xbd, 0x4a, 0x93, 0x33, 0xe8, 0x0d, 0xbd, 0x07, 0xe0, + 0xb9, 0x9f, 0x17, 0x48, 0x06, 0x4f, 0x9c, 0x13, 0xa9, 0x38, 0x6e, 0x7c, 0x21, 0x3d, 0x09, 0x62, + 0xd2, 0x14, 0x93, 0x78, 0x49, 0xd9, 0x1b, 0x56, 0x6b, 0xac, 0xef, 0xfe, 0x1c, 0xed, 0xf3, 0xca, + 0x02, 0x61, 0x29, 0x99, 0xcc, 0x6b, 0x01, 0x98, 0x61, 0x4b, 0xc1, 0xef, 0xbc, 0x1e, 0xeb, 0x85, + 0x96, 0xf8, 0x85, 0x2f, 0x93, 0xe8, 0x09, 0xcf, 0x5d, 0xad, 0x96, 0x76, 0x69, 0xfc, 0xbc, 0xfb, + 0x03, 0x6c, 0x6e, 0x49, 0x84, 0xb4, 0xd1, 0xeb, 0xd3, 0xd7, 0xd6, 0xa6, 0x07, 0x33, 0xf3, 0x14, + 0x86, 0x02, 0x2c, 0xb5, 0xd6, 0x5d, 0x3e, 0x82, 0x14, 0x27, 0x32, 0xeb, 0xfb, 0xb2, 0x58, 0x4b, + 0xc1, 0x44, 0xa3, 0x50, 0x51, 0x5c, 0xb7, 0x72, 0xf9, 0xf5, 0x87, 0x29, 0x4a, 0x84, 0x67, 0x27, + 0xac, 0xa1, 0xc9, 0x79, 0x50, 0x9b, 0xf0, 0xf6, 0x4c, 0x36, 0x6e, 0xfd, 0xd1, 0x29, 0xda, 0x85, + 0xc9, 0xad, 0xad, 0x65, 0x16, 0x5b, 0x6e, 0x4e, 0xab, 0xe4, 0x35, 0x8d, 0x79, 0xf5, 0x4a, 0x3b, + 0x1c, 0x77, 0xb2, 0xde, 0xd7, 0x45, 0x75, 0x5e, 0xdd, 0xa4, 0x74, 0x31, 0xd3, 0x50, 0xdb, 0x8f, + 0x4a, 0xa2, 0xd3, 0x10, 0xe1, 0x3b, 0xa8, 0x5c, 0xbb, 0xb7, 0xdc, 0xa8, 0x30, 0x39, 0xc4, 0x4f, + 0x61, 0x88, 0x6b, 0xaf, 0x3a, 0xcd, 0x4d, 0xc3, 0x60, 0x9a, 0x64, 0x3d, 0x79, 0xc7, 0xf8, 0xf1, + 0xd9, 0xb3, 0xfd, 0x0e, 0x6f, 0x1a, 0xdd, 0x4e, 0x1f, 0xb6, 0xf3, 0x60, 0x0e, 0x0f, 0x3d, 0x5d, + 0x48, 0x40, 0x62, 0xc8, 0xca, 0xf0, 0x2b, 0xe6, 0xa8, 0x2c, 0x86, 0xdc, 0xeb, 0x75, 0x61, 0xb4, + 0xb3, 0xfa, 0x56, 0x7e, 0x4b, 0xc5, 0x8b, 0x1e, 0x94, 0x55, 0x57, 0x15, 0xef, 0xd6, 0x57, 0xfc, + 0xe3, 0x66, 0xf5, 0x36, 0x84, 0x9d, 0x2b, 0xab, 0xbf, 0x62, 0xce, 0x55, 0xb7, 0xa7, 0xc7, 0xcc, + 0x39, 0xb9, 0x47, 0x55, 0xae, 0x66, 0x4b, 0x93, 0x61, 0x4f, 0x2e, 0xf8, 0x86, 0x5b, 0x26, 0xb1, + 0x35, 0xcc, 0xdf, 0xdf, 0x5c, 0xe3, 0x75, 0x84, 0xa6, 0x2c, 0xfc, 0x29, 0xb9, 0x69, 0xc5, 0x01, + 0x9c, 0xf9, 0xfc, 0xbc, 0x85, 0x20, 0x45, 0x79, 0xab, 0x2f, 0x64, 0x1d, 0x19, 0x32, 0x1f, 0x98, + 0xbc, 0xe5, 0x2b, 0x3e, 0x70, 0x4b, 0xb8, 0x2c, 0xfa, 0xf7, 0xdd, 0x5f, 0xe4, 0x35, 0x78, 0xaf, + 0xdb, 0xd5, 0xf6, 0x1a, 0x92, 0xab, 0x18, 0x77, 0x6b, 0xba, 0xac, 0xbd, 0x2b, 0x49, 0x30, 0x6f, + 0x3e, 0x72, 0xeb, 0xf9, 0x77, 0x23, 0xe6, 0x3a, 0xa7, 0xb0, 0x68, 0x4a, 0xcf, 0xee, 0x80, 0x64, + 0xe2, 0x75, 0x3d, 0xab, 0x62, 0x57, 0xbb, 0x55, 0x56, 0xa4, 0xa6, 0x67, 0x9b, 0xd8, 0x1a, 0x5d, + 0x21, 0x45, 0x63, 0x1f, 0x94, 0xa0, 0x71, 0x06, 0xe7, 0x8f, 0x1c, 0x0e, 0x86, 0xb3, 0x7c, 0xb8, + 0x29, 0x65, 0x3c, 0x16, 0x32, 0x32, 0x39, 0x57, 0x37, 0x2c, 0x38, 0xaa, 0x2d, 0x99, 0x24, 0x48, + 0x9b, 0x17, 0x2d, 0x26, 0x68, 0x01, 0x5d, 0xa4, 0x69, 0xfe, 0xd1, 0x31, 0x22, 0x28, 0x3b, 0x61, + 0x14, 0x07, 0x8e, 0xe2, 0x7a, 0x61, 0x58, 0x7c, 0xa9, 0x11, 0xe5, 0xe7, 0x75, 0x4e, 0xd4, 0x44, + 0xec, 0x7e, 0x5d, 0x6c, 0x8a, 0x35, 0x10, 0x89, 0x8c, 0xda, 0x9c, 0x00, 0x49, 0x2b, 0x14, 0x59, + 0x49, 0xe5, 0x16, 0x8e, 0xe6, 0xdd, 0xb1, 0xc2, 0x91, 0x38, 0x1f, 0x50, 0xc6, 0x70, 0x02, 0xef, + 0xe2, 0xc9, 0xb8, 0xf0, 0x77, 0x55, 0x05, 0x9c, 0x21, 0x90, 0x19, 0x57, 0xb1, 0x56, 0x1a, 0xdf, + 0x02, 0xd3, 0x80, 0x14, 0x04, 0x60, 0x4e, 0xe0, 0xaf, 0x90, 0x04, 0xd8, 0x32, 0xb8, 0xa2, 0x37, + 0xa0, 0x5b, 0x1d, 0x4b, 0xcd, 0x08, 0xd5, 0x69, 0xc0, 0x57, 0x5d, 0x0e, 0x4e, 0xcf, 0x96, 0x25, + 0x63, 0x5c, 0x0f, 0x23, 0x92, 0x41, 0x6e, 0x4e, 0x0e, 0x09, 0xc8, 0x27, 0x2c, 0xaa, 0xf3, 0x67, + 0x68, 0xf1, 0x8c, 0x3e, 0x87, 0xb8, 0x6b, 0x97, 0xce, 0x50, 0x57, 0x05, 0xcd, 0x2b, 0x85, 0xbd, + 0xbe, 0xff, 0xd6, 0xb2, 0x32, 0x38, 0x1d, 0x2e, 0x91, 0xc9, 0x14, 0x1e, 0x2b, 0xbc, 0xc0, 0x5d, + 0x5d, 0x24, 0xbb, 0xec, 0xd1, 0xf4, 0xf4, 0xb1, 0x58, 0xcc, 0x2f, 0xa0, 0xfc, 0x0c, 0xe4, 0x8c, + 0x40, 0x9b, 0x26, 0x86, 0x12, 0xbf, 0xb8, 0xfc, 0x47, 0xe3, 0xa5, 0x47, 0x75, 0xf6, 0x50, 0xbb, + 0xf8, 0x5e, 0xe1, 0x1a, 0xea, 0xbc, 0x70, 0x0d, 0x15, 0xe4, 0x85, 0x43, 0x39, 0x37, 0xab, 0x76, + 0x12, 0x9b, 0x90, 0x72, 0x27, 0xb1, 0xff, 0x5d, 0xa3, 0x93, 0xb8, 0x51, 0x68, 0x50, 0xc1, 0xd7, + 0x4d, 0x26, 0xa4, 0x1b, 0x89, 0x9f, 0x16, 0x25, 0x58, 0x19, 0xe4, 0xc8, 0x35, 0x93, 0x3e, 0x34, + 0x07, 0xcb, 0x84, 0x03, 0x0d, 0x32, 0xd9, 0xc8, 0x39, 0xcb, 0xee, 0x72, 0x99, 0x69, 0xde, 0x28, + 0x4c, 0xa5, 0xdf, 0x4c, 0x27, 0x89, 0xf3, 0x5c, 0x74, 0xbb, 0xb6, 0x10, 0xd5, 0x94, 0x97, 0x6a, + 0xa5, 0x7f, 0x02, 0xea, 0x11, 0xb6, 0xb0, 0xbb, 0xe5, 0x09, 0x65, 0x88, 0xc8, 0x28, 0x08, 0xc6, + 0x47, 0xbb, 0x6b, 0x34, 0xe1, 0x8f, 0xae, 0x43, 0xed, 0x93, 0x09, 0x83, 0x64, 0xcc, 0x80, 0x12, + 0x1e, 0xd2, 0xfc, 0x2e, 0x35, 0x7c, 0xfc, 0xe1, 0x60, 0xe2, 0x1c, 0xb4, 0x51, 0x81, 0x17, 0x8d, + 0x41, 0x3c, 0x6d, 0x6a, 0xc5, 0xd8, 0x6d, 0xa8, 0x7d, 0x87, 0xd3, 0x16, 0xef, 0xd6, 0x6a, 0x11, + 0x9a, 0xda, 0x31, 0x4c, 0xde, 0xdb, 0x41, 0xe4, 0x5e, 0x87, 0x03, 0xdf, 0x45, 0xfb, 0x1b, 0xf7, + 0x22, 0x0d, 0x07, 0xb5, 0xed, 0x86, 0x0f, 0x45, 0xdf, 0xe0, 0x88, 0x24, 0xcb, 0xa5, 0x84, 0x9d, + 0xad, 0x01, 0x90, 0x99, 0x6c, 0x00, 0x20, 0x33, 0x5d, 0x0f, 0x20, 0xe3, 0xce, 0xeb, 0xe3, 0x20, + 0xf0, 0x93, 0x1c, 0x06, 0x02, 0xf7, 0xed, 0x40, 0xce, 0xde, 0xc4, 0xe5, 0x67, 0xc8, 0xc1, 0x9b, + 0x8a, 0xe7, 0x64, 0xe6, 0xcd, 0x97, 0xfc, 0x08, 0x33, 0x83, 0x0c, 0xff, 0x68, 0xc3, 0x47, 0xbb, + 0x5a, 0x7d, 0x0a, 0xa5, 0xba, 0xae, 0x81, 0x50, 0x9d, 0x5c, 0x3d, 0x87, 0xc4, 0xf9, 0xb2, 0x8c, + 0x59, 0x15, 0x97, 0x31, 0xab, 0x84, 0x3e, 0x47, 0xe5, 0xb2, 0x1d, 0xa6, 0x45, 0x45, 0xe1, 0xa1, + 0xaa, 0x20, 0x1d, 0x91, 0xf6, 0xf3, 0xcc, 0x8e, 0x0e, 0x32, 0xb4, 0x93, 0x7d, 0x78, 0x88, 0x46, + 0x04, 0xac, 0x26, 0xbd, 0xb9, 0xdc, 0x26, 0xe1, 0x54, 0x66, 0xe9, 0x51, 0x14, 0x36, 0x54, 0x3c, + 0x88, 0x39, 0xba, 0xbf, 0x5b, 0x9b, 0xe5, 0x28, 0xae, 0x64, 0x52, 0x68, 0x6c, 0xe0, 0x17, 0xf2, + 0x2f, 0x6c, 0x26, 0x24, 0x71, 0xa0, 0xff, 0xf0, 0xb0, 0x55, 0x09, 0xf7, 0x81, 0x22, 0xe8, 0x79, + 0xa1, 0x16, 0x04, 0x77, 0xa0, 0x70, 0xf7, 0x52, 0x3b, 0x35, 0x23, 0x9e, 0x9a, 0x3e, 0x4f, 0x24, + 0x32, 0x48, 0x89, 0x0e, 0x18, 0xa2, 0x4b, 0xdb, 0xb4, 0x0c, 0xd4, 0xb0, 0xac, 0x82, 0x1a, 0x36, + 0x64, 0x17, 0x0d, 0x85, 0xc7, 0x6b, 0xd9, 0xbb, 0x69, 0xb5, 0xc7, 0xab, 0xbd, 0x1b, 0x8a, 0xde, + 0x0d, 0x0f, 0x72, 0xee, 0xae, 0x70, 0x94, 0x57, 0x3a, 0x46, 0x1e, 0xd7, 0x73, 0xd5, 0xbb, 0xa9, + 0x1c, 0x8c, 0x74, 0xf5, 0x60, 0x60, 0x3f, 0x26, 0x3c, 0x25, 0xc9, 0x15, 0x90, 0x17, 0xba, 0xf2, + 0x35, 0x99, 0x7f, 0xf2, 0xd2, 0x25, 0x83, 0x0d, 0x54, 0x56, 0x08, 0x75, 0x7e, 0x85, 0x52, 0x4e, + 0x1a, 0x30, 0x7e, 0x6a, 0x17, 0x4e, 0xbc, 0x7e, 0xe1, 0x24, 0x6a, 0xe1, 0xe4, 0xb2, 0x5a, 0xb0, + 0x70, 0x32, 0xf1, 0x0c, 0x0b, 0x27, 0x66, 0x2b, 0xc4, 0x32, 0xf8, 0x14, 0xe1, 0xa3, 0x61, 0x94, + 0x7c, 0xee, 0x35, 0x01, 0x53, 0xa1, 0x4e, 0x96, 0x52, 0xfd, 0x34, 0x16, 0x5a, 0x62, 0x2a, 0xcb, + 0x88, 0x75, 0x06, 0x59, 0x90, 0xc2, 0xe9, 0x41, 0x7f, 0x5c, 0x77, 0x6c, 0x80, 0x33, 0xc2, 0x15, + 0x0a, 0x2a, 0xaf, 0x61, 0xbb, 0x0b, 0xe1, 0x6c, 0x55, 0xdc, 0x1d, 0xc1, 0x17, 0xa1, 0xa3, 0x01, + 0x8c, 0xd0, 0x16, 0xaa, 0x5f, 0xc8, 0xac, 0x76, 0x77, 0xdd, 0xa6, 0x8d, 0x17, 0xa7, 0x1d, 0x6c, + 0x28, 0x8e, 0xb1, 0xc5, 0xe6, 0x1f, 0x82, 0xdb, 0x15, 0xbb, 0x35, 0x52, 0xca, 0x46, 0x12, 0x5f, + 0xda, 0xad, 0x31, 0xab, 0x4f, 0xab, 0xf2, 0xfa, 0x64, 0x66, 0xf5, 0xa9, 0x39, 0xa7, 0x77, 0xe1, + 0x8a, 0x7c, 0x80, 0x6e, 0x37, 0xed, 0x2c, 0xd5, 0x7c, 0x56, 0x55, 0xe8, 0xda, 0xac, 0xd0, 0xf5, + 0xaa, 0x0a, 0xf5, 0xfa, 0xab, 0x32, 0xea, 0xf5, 0xcd, 0x9c, 0x7a, 0xc4, 0xb5, 0x0a, 0x71, 0xd9, + 0x11, 0x8a, 0x64, 0xca, 0x19, 0x9e, 0xac, 0x6a, 0x61, 0x66, 0xb6, 0x30, 0x0b, 0xd7, 0xe5, 0xf6, + 0x71, 0xbe, 0x22, 0xb7, 0x7c, 0x3e, 0x68, 0x9a, 0xb0, 0xe5, 0x7c, 0x88, 0xdf, 0x42, 0xf1, 0xd8, + 0xe3, 0x38, 0xae, 0xc6, 0x29, 0x17, 0xe4, 0x83, 0xbc, 0xd2, 0xf2, 0xe0, 0xf2, 0xf8, 0x2e, 0x5d, + 0x51, 0x5f, 0xd8, 0x92, 0xb7, 0x1e, 0xc1, 0x03, 0xd4, 0xe4, 0xff, 0x32, 0x5d, 0xd5, 0xbb, 0x1b, + 0xed, 0xf6, 0xa6, 0x39, 0xe9, 0x65, 0xf4, 0x26, 0x0d, 0x82, 0x7f, 0x06, 0xca, 0xb1, 0x80, 0xc6, + 0x4d, 0x2f, 0xd0, 0x9a, 0xd6, 0xca, 0x2d, 0x20, 0xe8, 0xec, 0xfe, 0x8a, 0x34, 0x8d, 0x98, 0x8f, + 0x86, 0xc3, 0x75, 0xe0, 0x16, 0xd6, 0xbc, 0x3a, 0x64, 0xbb, 0xb0, 0xc5, 0xad, 0x98, 0xf8, 0xda, + 0x90, 0x2d, 0x2a, 0xc4, 0xf6, 0x10, 0x13, 0xb7, 0x99, 0xcb, 0xce, 0xdf, 0xfc, 0xae, 0x2a, 0xc3, + 0xd6, 0xf8, 0x5e, 0x30, 0xd6, 0x1c, 0xb2, 0x94, 0x9d, 0xab, 0xec, 0x48, 0xe7, 0x2a, 0x65, 0x3f, + 0xc0, 0x03, 0x31, 0x15, 0x76, 0x64, 0xcb, 0x07, 0xe5, 0xa4, 0xe7, 0x4d, 0x49, 0xcb, 0x5e, 0xa3, + 0x35, 0x9f, 0xc1, 0x35, 0x33, 0x62, 0x76, 0x5f, 0xf4, 0x3a, 0x02, 0xe9, 0xdd, 0x4f, 0x83, 0x59, + 0x61, 0x39, 0x43, 0xaf, 0xe5, 0xa1, 0x54, 0xee, 0xad, 0x1f, 0xd5, 0x50, 0xe1, 0xfe, 0xba, 0x55, + 0xeb, 0xe9, 0x7a, 0x93, 0xe6, 0xae, 0xcc, 0xe0, 0x71, 0x8d, 0x86, 0x64, 0x83, 0xa0, 0xdc, 0x2c, + 0x9c, 0x9e, 0xa5, 0xd9, 0x59, 0x99, 0x93, 0x55, 0x5f, 0x8a, 0x4e, 0x79, 0x9e, 0xa3, 0x3f, 0x24, + 0xbb, 0x6e, 0x96, 0x67, 0xf7, 0xb5, 0x79, 0x19, 0xde, 0xd5, 0x2a, 0xcb, 0x46, 0x79, 0x57, 0xab, + 0xcd, 0x32, 0xac, 0xcf, 0xb2, 0xe2, 0x92, 0xad, 0x92, 0x2d, 0x7b, 0x65, 0x82, 0x11, 0x14, 0x2e, + 0x25, 0xf1, 0x38, 0xfe, 0xf0, 0x10, 0x8c, 0xf6, 0x1d, 0x73, 0x11, 0x2d, 0x97, 0x55, 0x10, 0x3f, + 0xf6, 0xc7, 0x46, 0xde, 0x8b, 0xc4, 0xe6, 0xbd, 0x4f, 0xa3, 0xcf, 0x6b, 0x6b, 0xb2, 0xef, 0x65, + 0x83, 0xbe, 0x1e, 0xd0, 0x87, 0x00, 0xf1, 0xd8, 0x83, 0x1d, 0xbd, 0xb4, 0x78, 0x8c, 0x6a, 0xb1, + 0xdf, 0x24, 0xac, 0x96, 0xe6, 0xee, 0xb2, 0x5c, 0xb7, 0x4c, 0xd5, 0x4d, 0x14, 0xcc, 0x67, 0xb1, + 0x64, 0xdf, 0xdb, 0xda, 0xca, 0x45, 0xd1, 0x22, 0xa8, 0x4f, 0x41, 0xe2, 0xa5, 0x87, 0x2f, 0x6e, + 0xe9, 0xa8, 0x66, 0x14, 0xff, 0x36, 0xa9, 0x12, 0x40, 0x5c, 0xf4, 0x41, 0x79, 0x01, 0x10, 0x3f, + 0xa1, 0x1d, 0xdf, 0xd1, 0xc3, 0xe5, 0x12, 0xb1, 0x23, 0xa5, 0x50, 0xc6, 0x46, 0xa7, 0x7d, 0xc2, + 0x41, 0x82, 0xd4, 0x60, 0x40, 0x7f, 0x37, 0x4a, 0x9b, 0xe1, 0x0e, 0x39, 0x36, 0xfd, 0xad, 0xf0, + 0x4a, 0x73, 0xcc, 0xc8, 0xe9, 0xce, 0x81, 0xd7, 0x65, 0xa0, 0xc5, 0xc5, 0x1c, 0xe8, 0xe3, 0xd2, + 0x15, 0xca, 0xf0, 0x40, 0x6f, 0xc3, 0x4b, 0xe8, 0x3a, 0x57, 0xa6, 0x76, 0x0a, 0xc5, 0xd0, 0x3f, + 0xa2, 0xe2, 0x39, 0x46, 0x23, 0x6a, 0xa3, 0x3e, 0x40, 0xfd, 0x92, 0x18, 0x3d, 0x87, 0xbb, 0x1a, + 0x5b, 0xf3, 0x36, 0xf1, 0xd1, 0xce, 0x44, 0x48, 0x40, 0x5b, 0x56, 0x5b, 0x6a, 0x19, 0xb4, 0xad, + 0x96, 0x4d, 0x98, 0x6b, 0x8e, 0xb5, 0x82, 0xe2, 0xd1, 0xed, 0x27, 0xed, 0x4d, 0x30, 0x54, 0x30, + 0x56, 0xf3, 0xa3, 0xb2, 0x0e, 0x29, 0xdf, 0xde, 0x2a, 0x0a, 0xee, 0x40, 0xb3, 0x8f, 0x0e, 0x7a, + 0x58, 0x1d, 0x88, 0xdb, 0x74, 0x29, 0x0b, 0x87, 0xad, 0xa3, 0x51, 0xff, 0x59, 0xd7, 0x81, 0xf5, + 0x9d, 0x42, 0x2d, 0x85, 0x36, 0xff, 0xd1, 0x2b, 0xe0, 0xba, 0x80, 0x04, 0x5c, 0x04, 0x2d, 0xbc, + 0xe0, 0x4d, 0xe0, 0x2c, 0x13, 0x64, 0x59, 0x47, 0x62, 0xcf, 0xa2, 0x4b, 0x35, 0x7b, 0xfe, 0x5e, + 0x93, 0x77, 0x91, 0x28, 0x49, 0x94, 0x8c, 0x25, 0xbe, 0xf7, 0xec, 0x7c, 0x6c, 0x29, 0x4d, 0x7a, + 0xab, 0xb0, 0x13, 0x70, 0xda, 0xf3, 0x23, 0xe9, 0x68, 0x74, 0x51, 0x9c, 0x26, 0xeb, 0xa4, 0x66, + 0x4e, 0x3e, 0x06, 0xc6, 0x5a, 0x0a, 0x88, 0x0b, 0xad, 0x53, 0x37, 0xe3, 0xfe, 0xc5, 0x5f, 0xec, + 0xe6, 0x01, 0x62, 0xb2, 0x5e, 0x68, 0xb5, 0x21, 0x1d, 0x2f, 0xfd, 0x50, 0xad, 0xe9, 0x44, 0x79, + 0x18, 0x17, 0x9d, 0xb1, 0xeb, 0x09, 0xb2, 0x52, 0x82, 0xcc, 0x4c, 0x90, 0x51, 0x82, 0x89, 0x91, + 0x60, 0x72, 0xf5, 0xd9, 0x48, 0x50, 0xe8, 0x24, 0x61, 0x82, 0x89, 0x26, 0xc3, 0x8b, 0xae, 0x89, + 0x7f, 0x26, 0x3f, 0x68, 0xa5, 0x50, 0xee, 0x31, 0xf2, 0x1d, 0x2f, 0xd4, 0x6e, 0x6a, 0x06, 0x55, + 0x8b, 0x89, 0x3e, 0x91, 0x68, 0x04, 0x58, 0x0f, 0xb7, 0x88, 0xe3, 0xcf, 0xd5, 0xde, 0x3d, 0xcc, + 0xd3, 0x2f, 0x0b, 0x03, 0xc3, 0x29, 0x76, 0x96, 0xec, 0xa2, 0x83, 0x67, 0x0f, 0xa2, 0x37, 0xc6, + 0xc0, 0xe7, 0x17, 0xee, 0xf4, 0x8c, 0xa3, 0x4c, 0x91, 0x29, 0x5e, 0x1e, 0x1b, 0x58, 0xaa, 0xd6, + 0xf6, 0x77, 0x3f, 0x3d, 0x7f, 0xfe, 0x7c, 0xd8, 0xe2, 0xa5, 0xd3, 0x22, 0x29, 0x76, 0xeb, 0x0b, + 0xba, 0xbf, 0xd0, 0xf4, 0x1a, 0x5a, 0x64, 0x49, 0xc1, 0xbe, 0x73, 0xb4, 0xe5, 0xb6, 0xb0, 0x9c, + 0xd1, 0x6e, 0xef, 0xd1, 0x45, 0x9d, 0x7c, 0x01, 0x76, 0xe7, 0x5e, 0x38, 0x4e, 0x0c, 0xe3, 0xd6, + 0x84, 0x28, 0x6a, 0x0b, 0x9b, 0xa7, 0x17, 0xca, 0xc5, 0x91, 0x33, 0xc1, 0xca, 0x02, 0xff, 0xda, + 0xe6, 0x09, 0x99, 0x3f, 0x79, 0xb2, 0x00, 0x6e, 0x2f, 0x80, 0xe5, 0x30, 0x43, 0x85, 0xcd, 0xeb, + 0x64, 0x1a, 0xce, 0xbe, 0xe0, 0x62, 0x26, 0x77, 0x18, 0xbc, 0xa2, 0x81, 0x13, 0xe3, 0xe9, 0x08, + 0x3f, 0x73, 0x5c, 0xae, 0xde, 0xfc, 0x08, 0x66, 0x0d, 0x1c, 0xc9, 0xde, 0x0f, 0x35, 0x59, 0x91, + 0x50, 0xe4, 0x29, 0xe4, 0x09, 0x9a, 0x23, 0x2b, 0x18, 0x99, 0x3f, 0x22, 0x38, 0x54, 0xeb, 0x64, + 0xe3, 0xc4, 0xbf, 0x65, 0x98, 0xa2, 0xf9, 0x7b, 0x26, 0x14, 0xf3, 0xa3, 0x2a, 0xa5, 0xc8, 0x10, + 0x5d, 0x20, 0x19, 0xb3, 0xdd, 0xce, 0xe9, 0xfc, 0xe8, 0x0c, 0xc8, 0xbf, 0x61, 0xe8, 0x03, 0x41, + 0x5c, 0xa9, 0x6a, 0x70, 0x52, 0x0d, 0xba, 0xad, 0x06, 0xa1, 0x36, 0x2e, 0xac, 0xb3, 0xa2, 0x80, + 0x45, 0x3c, 0x98, 0xbf, 0x77, 0x61, 0x22, 0x0d, 0xac, 0xa6, 0xde, 0x42, 0x0f, 0x9b, 0x41, 0xc0, + 0x7d, 0x14, 0x07, 0x77, 0xd1, 0x17, 0xa2, 0x62, 0x53, 0x39, 0x62, 0x1d, 0x0b, 0xf6, 0x3c, 0x9c, + 0x8a, 0x48, 0x2f, 0x54, 0x41, 0x38, 0x35, 0x29, 0x14, 0x9b, 0xf4, 0x47, 0x64, 0x7c, 0x83, 0xce, + 0xc1, 0x30, 0x47, 0xf3, 0xb8, 0x23, 0xdc, 0xdd, 0x60, 0x77, 0x14, 0x97, 0x22, 0x6e, 0xd9, 0x33, + 0xce, 0xfc, 0x3a, 0x7f, 0x0b, 0xbd, 0xe9, 0x75, 0x5d, 0xdd, 0x47, 0x8e, 0x70, 0xa1, 0xa7, 0xbb, + 0xa8, 0x61, 0xbd, 0x57, 0x49, 0x66, 0x7b, 0xa8, 0xea, 0x26, 0xcd, 0x55, 0xf0, 0x9b, 0x9c, 0x48, + 0x66, 0x28, 0x1a, 0xa8, 0xeb, 0xb3, 0x68, 0x73, 0x4d, 0x59, 0xcb, 0x25, 0xc1, 0x09, 0x1d, 0x28, + 0x10, 0xc8, 0xaa, 0x94, 0x6f, 0xef, 0x31, 0xf9, 0xee, 0x3f, 0x9f, 0xb1, 0xbe, 0x0b, 0x5e, 0xf8, + 0x14, 0xf4, 0x75, 0x25, 0xfd, 0x6c, 0x12, 0xa7, 0xca, 0x0a, 0x99, 0x3b, 0xb4, 0xcc, 0x08, 0x39, + 0x82, 0x92, 0xf1, 0x4b, 0xdd, 0x15, 0xc8, 0x14, 0xe5, 0x9a, 0x43, 0xa3, 0x0f, 0x27, 0xf1, 0x6c, + 0x6c, 0x9b, 0x79, 0x4e, 0x51, 0x96, 0xbf, 0x74, 0xcc, 0x19, 0x87, 0xbe, 0xfe, 0x2a, 0x23, 0xac, + 0x5f, 0x5e, 0x35, 0x5e, 0x5d, 0x91, 0x25, 0x06, 0xdf, 0x97, 0x4c, 0xaa, 0xde, 0xc2, 0x1f, 0xd1, + 0x9d, 0xa6, 0x0a, 0xcf, 0x16, 0xa6, 0xd5, 0x5a, 0x01, 0xec, 0x9c, 0x21, 0xa8, 0x2f, 0xfc, 0xf6, + 0x2d, 0xd0, 0xf9, 0xa2, 0x17, 0xe8, 0x42, 0xf8, 0x26, 0x8f, 0xc7, 0x24, 0x1e, 0x77, 0xea, 0xee, + 0xda, 0xee, 0xef, 0x09, 0x3f, 0x67, 0x98, 0x23, 0xcf, 0x52, 0x6a, 0xaa, 0xf8, 0x86, 0x73, 0xfc, + 0x98, 0x60, 0x82, 0xec, 0xf4, 0xf2, 0xe2, 0x24, 0x4f, 0xed, 0x5c, 0xf3, 0x5c, 0x0c, 0x4b, 0x04, + 0x48, 0xe1, 0x04, 0x71, 0x84, 0xb8, 0x1f, 0xe4, 0x46, 0x53, 0x46, 0xd6, 0x71, 0x4d, 0x00, 0x27, + 0x21, 0xc5, 0x2a, 0x04, 0x6b, 0x86, 0x37, 0xe4, 0x46, 0x84, 0x28, 0x84, 0x7e, 0x2a, 0xfb, 0x9d, + 0x25, 0x57, 0x75, 0x78, 0xb8, 0xbb, 0x42, 0x3f, 0xe1, 0xca, 0x6c, 0xe7, 0x50, 0x38, 0x99, 0xb5, + 0x52, 0xa0, 0xd9, 0xc0, 0x41, 0x3a, 0x0b, 0xe0, 0x42, 0x17, 0x57, 0x03, 0xd8, 0xcc, 0xe1, 0xdf, + 0xed, 0x00, 0xef, 0xa5, 0xe0, 0xb4, 0xaf, 0x1b, 0x00, 0x3d, 0xeb, 0x32, 0xea, 0x5b, 0x0a, 0x44, + 0x03, 0x78, 0x69, 0xa7, 0x8d, 0x7e, 0x2f, 0xa7, 0xc9, 0x22, 0xe8, 0x5c, 0xe9, 0xd1, 0xf6, 0x7f, + 0x2c, 0xc5, 0x73, 0x96, 0x77, 0xd0, 0xe7, 0x81, 0x4d, 0x81, 0xfe, 0x45, 0x66, 0x43, 0x82, 0x5d, + 0xaa, 0x91, 0x73, 0x80, 0x59, 0x70, 0xe5, 0x20, 0x70, 0x59, 0xf4, 0x65, 0xc0, 0x5e, 0x9e, 0xb1, + 0xcb, 0x50, 0xe5, 0xa8, 0x8c, 0x02, 0xa7, 0xfa, 0x4d, 0xb8, 0xc8, 0xd0, 0x7b, 0x18, 0x86, 0x61, + 0x68, 0xa2, 0x6d, 0x29, 0x27, 0xf0, 0xa9, 0x6b, 0x42, 0x6d, 0xa9, 0x0f, 0x97, 0xae, 0x89, 0xb3, + 0x55, 0xb8, 0x8d, 0xe7, 0x09, 0x04, 0x87, 0x02, 0xbd, 0x88, 0xab, 0xe0, 0x9e, 0xf1, 0x1b, 0xb4, + 0xbb, 0x93, 0x5e, 0x15, 0xc4, 0xdb, 0x9c, 0x70, 0xa7, 0x38, 0x23, 0xf5, 0x51, 0x1c, 0xc6, 0xbc, + 0xd9, 0xb4, 0x61, 0xaf, 0xcc, 0x13, 0x01, 0x08, 0x81, 0x1e, 0x53, 0x15, 0x88, 0x96, 0x02, 0x22, + 0x86, 0x7d, 0x44, 0x85, 0xc5, 0xb3, 0xf5, 0x4e, 0xd4, 0xf6, 0x1d, 0x4b, 0xe0, 0x0e, 0x19, 0xd5, + 0xbe, 0x09, 0x5c, 0xdf, 0x08, 0xc9, 0xfc, 0x5c, 0xe8, 0x84, 0xb8, 0x49, 0x75, 0x9a, 0xea, 0xdd, + 0xf8, 0xb3, 0xaa, 0x4a, 0x64, 0xb8, 0xca, 0x2e, 0xbc, 0x54, 0xeb, 0xc1, 0xbf, 0xaa, 0xe0, 0x04, + 0x0e, 0x36, 0x61, 0x9a, 0x74, 0x0e, 0xb9, 0x06, 0xd9, 0xed, 0xc7, 0xe4, 0xc3, 0xe5, 0x85, 0x0d, + 0x33, 0x2d, 0x82, 0x99, 0x06, 0xb3, 0x4c, 0xce, 0xb5, 0x72, 0xae, 0x35, 0xa6, 0xcb, 0xe5, 0x46, + 0x1f, 0x21, 0x9e, 0x25, 0x7a, 0xfa, 0x89, 0x03, 0x3f, 0xdd, 0xbd, 0x4c, 0x81, 0xb1, 0x87, 0xd8, + 0xf6, 0x4f, 0xdd, 0x69, 0x70, 0xe9, 0xb6, 0xbe, 0xf3, 0x7d, 0xbf, 0xb5, 0xdb, 0x7b, 0xf6, 0x83, + 0xdb, 0x42, 0x64, 0x5b, 0x54, 0x87, 0x4e, 0xdb, 0x96, 0x8b, 0xbf, 0x97, 0xe2, 0xf7, 0x02, 0xb6, + 0x70, 0x24, 0x47, 0x2b, 0x6a, 0xe8, 0xd7, 0xd5, 0xef, 0xd7, 0x3f, 0xa5, 0x7e, 0xdd, 0x6e, 0x77, + 0xb3, 0xfa, 0x69, 0x25, 0xff, 0x9b, 0xea, 0x58, 0x7d, 0xb4, 0x3e, 0x07, 0x11, 0x70, 0x27, 0xc5, + 0x2a, 0x81, 0x69, 0xc2, 0x4e, 0x08, 0x9c, 0x45, 0x0f, 0x8e, 0x8c, 0x2c, 0x2e, 0xfb, 0x1c, 0x7c, + 0x39, 0x4c, 0x10, 0xdd, 0x09, 0x91, 0x56, 0xc8, 0x05, 0xa6, 0x4e, 0x3a, 0x85, 0xd7, 0x82, 0xa0, + 0x36, 0x85, 0xba, 0x92, 0x29, 0x52, 0xa8, 0x4c, 0x74, 0xe0, 0x27, 0x7d, 0xca, 0x0e, 0x2b, 0x57, + 0x8d, 0xc5, 0x5a, 0xf9, 0xd1, 0x41, 0xcf, 0xc0, 0xcc, 0x20, 0xab, 0x25, 0x6f, 0x7d, 0x87, 0xfe, + 0xb6, 0x75, 0xff, 0xa2, 0xb0, 0x14, 0x04, 0xc3, 0x4c, 0x42, 0xea, 0x22, 0xe2, 0x6c, 0xe6, 0xfb, + 0x5d, 0x04, 0x4a, 0xd9, 0x60, 0x99, 0x79, 0xec, 0x59, 0x35, 0x77, 0xc6, 0x5d, 0xba, 0xce, 0x14, + 0x44, 0xa5, 0x5f, 0x3a, 0xe1, 0x4a, 0xb2, 0x23, 0xb6, 0x4f, 0xf4, 0x68, 0xa8, 0x26, 0x05, 0x5e, + 0xa5, 0x88, 0x7b, 0x08, 0x38, 0xbe, 0x19, 0xeb, 0x07, 0x4e, 0xc5, 0xb9, 0x33, 0x28, 0x05, 0x1d, + 0x5e, 0xf9, 0xb0, 0xbd, 0x45, 0xd0, 0x1f, 0xd9, 0x2d, 0x0c, 0x24, 0xfc, 0xeb, 0x36, 0x92, 0xec, + 0x6f, 0x01, 0x03, 0x2c, 0x8d, 0x06, 0x8c, 0xc5, 0xea, 0x8a, 0x5c, 0x19, 0x53, 0xe9, 0xe7, 0x42, + 0x58, 0x62, 0xe4, 0x73, 0xb2, 0x36, 0x9f, 0xcc, 0xaa, 0x25, 0x01, 0xa5, 0x7c, 0x7e, 0x5d, 0x9b, + 0xcf, 0xad, 0x55, 0x4b, 0x33, 0x4a, 0xf9, 0xfc, 0x5b, 0x35, 0x1f, 0x7b, 0xc1, 0x33, 0x7e, 0x50, + 0xb7, 0x32, 0x96, 0xa5, 0xf4, 0xb8, 0x98, 0x8d, 0x59, 0x5a, 0xda, 0x17, 0xdc, 0xdc, 0xab, 0xdb, + 0x15, 0xc4, 0x75, 0x57, 0x79, 0x4f, 0x18, 0x16, 0x93, 0x45, 0x00, 0x66, 0x4b, 0x2d, 0x33, 0x72, + 0xf8, 0x71, 0xce, 0x2a, 0x3e, 0x71, 0x2d, 0xc7, 0x51, 0x9e, 0x9b, 0xa9, 0x17, 0xb8, 0xe5, 0xb0, + 0x4b, 0x84, 0xe0, 0x28, 0x85, 0x5d, 0x78, 0x99, 0xc4, 0x3c, 0x10, 0x9f, 0x4a, 0x4d, 0xfc, 0xcd, + 0xd4, 0x09, 0x56, 0xcc, 0x80, 0x5b, 0xcf, 0xf9, 0xe4, 0x95, 0x35, 0x12, 0xc8, 0x36, 0x73, 0x29, + 0x22, 0x82, 0x39, 0xf9, 0x82, 0x92, 0x44, 0x4d, 0xac, 0x8c, 0x45, 0x33, 0x87, 0x45, 0x77, 0xb4, + 0x6e, 0xec, 0x46, 0xb0, 0xeb, 0x94, 0xca, 0x74, 0x11, 0x34, 0xbc, 0x47, 0x32, 0xea, 0x30, 0x83, + 0x11, 0x7a, 0x89, 0x50, 0xb4, 0x36, 0x3a, 0xb7, 0x5f, 0x3b, 0x65, 0xd0, 0x72, 0xde, 0xed, 0x6f, + 0x61, 0xd2, 0x02, 0x0b, 0xd3, 0x4e, 0x6a, 0xa5, 0x76, 0x8a, 0x95, 0x72, 0xe4, 0x5d, 0x65, 0x99, + 0x53, 0xf0, 0x61, 0x14, 0x32, 0x89, 0xdb, 0x18, 0x76, 0xd2, 0x41, 0xe2, 0xfa, 0x30, 0x08, 0x71, + 0x11, 0x74, 0x49, 0x41, 0x17, 0x5e, 0x54, 0x04, 0x5d, 0x50, 0xd0, 0x1d, 0x6c, 0x6e, 0xa5, 0x0e, + 0xa3, 0x42, 0xa4, 0x32, 0x00, 0x14, 0x32, 0x38, 0x3d, 0x3d, 0x73, 0xe9, 0xff, 0xb3, 0xe5, 0x52, + 0x5c, 0x96, 0x23, 0x90, 0x05, 0xc5, 0xf6, 0x4e, 0xb9, 0x73, 0x92, 0xb3, 0xf2, 0x65, 0xb8, 0x21, + 0xa5, 0xf5, 0x23, 0xd4, 0x41, 0xaf, 0xbf, 0x48, 0x98, 0x4c, 0x72, 0x5d, 0x9a, 0x8d, 0xe7, 0x01, + 0xf2, 0xed, 0x3d, 0xd1, 0x79, 0x3d, 0x44, 0xdd, 0xf9, 0x2b, 0x52, 0x07, 0x81, 0xde, 0x84, 0xef, + 0x12, 0x09, 0x6a, 0x6f, 0xef, 0x32, 0xcc, 0xaf, 0x6e, 0x2e, 0x50, 0xfa, 0xbd, 0xf7, 0x2e, 0x49, + 0xe2, 0x77, 0xc9, 0xf4, 0x26, 0x0a, 0xb2, 0x3d, 0xb4, 0xdc, 0xda, 0xbb, 0x0b, 0x3f, 0x87, 0x78, + 0x9e, 0x2e, 0x7b, 0x5d, 0x97, 0xae, 0xd5, 0x6c, 0xfb, 0x6a, 0xd2, 0xf6, 0x7a, 0xcf, 0x9d, 0xd1, + 0x3e, 0xfa, 0xc3, 0xb5, 0xb1, 0x5c, 0xc7, 0xbd, 0x9a, 0x8c, 0xfa, 0xf2, 0x75, 0xbf, 0x8b, 0xb4, + 0xfe, 0xe9, 0x53, 0xcf, 0xbb, 0x9a, 0x50, 0x48, 0xdb, 0xdb, 0xc7, 0x90, 0xee, 0x73, 0x2d, 0x04, + 0x32, 0x90, 0xec, 0x0d, 0x3a, 0xfb, 0x72, 0x8c, 0x83, 0xc3, 0xf9, 0x55, 0x86, 0xea, 0x94, 0x57, + 0x93, 0xa5, 0xdb, 0x42, 0xd7, 0x6a, 0x6e, 0xeb, 0x59, 0xf7, 0x07, 0x58, 0x67, 0x4b, 0xf7, 0xa7, + 0x9e, 0xf4, 0xbb, 0x1e, 0xcf, 0x52, 0xc3, 0x07, 0x33, 0x04, 0x7c, 0x20, 0x89, 0x25, 0x0b, 0x54, + 0xf1, 0xbb, 0x41, 0x01, 0xe8, 0x2c, 0x03, 0xe7, 0x0c, 0x0b, 0x75, 0x96, 0x18, 0xd1, 0xab, 0xf9, + 0xb0, 0xa2, 0x6b, 0xda, 0xa1, 0x43, 0xde, 0x59, 0x98, 0x5e, 0xb7, 0x3e, 0x04, 0x17, 0x49, 0x22, + 0xce, 0x8d, 0x36, 0x97, 0x0f, 0x6c, 0x6a, 0x05, 0x1e, 0x0b, 0xce, 0xe2, 0x9e, 0xb5, 0xc7, 0x72, + 0x89, 0xa5, 0xac, 0xea, 0x89, 0xe9, 0x2f, 0x1a, 0x76, 0xd6, 0xcc, 0x24, 0x50, 0x69, 0xc6, 0x75, + 0x93, 0x75, 0x3f, 0x71, 0xbe, 0xb2, 0x96, 0x5c, 0x70, 0x51, 0xc9, 0x13, 0x82, 0x51, 0x94, 0x75, + 0x70, 0x1b, 0xb2, 0x9b, 0x95, 0xb3, 0xa3, 0xbe, 0x54, 0xb7, 0xbe, 0xd2, 0xcd, 0x24, 0xab, 0x27, + 0x2d, 0x58, 0x9d, 0xa0, 0xcb, 0xf7, 0xba, 0xd2, 0x75, 0x91, 0x54, 0x1b, 0x3a, 0x43, 0x57, 0xb2, + 0xef, 0xe4, 0x3d, 0x14, 0x3b, 0xc8, 0x48, 0xe6, 0xde, 0xf5, 0x9d, 0xab, 0x05, 0x40, 0xfa, 0xdf, + 0xe9, 0xec, 0xae, 0x45, 0xf9, 0xe4, 0x5d, 0x5f, 0xe9, 0xa0, 0x06, 0x3d, 0x43, 0xf1, 0x49, 0xd7, + 0x0e, 0x13, 0xf7, 0xc9, 0xcd, 0xda, 0x67, 0x97, 0x41, 0xac, 0x0e, 0xaf, 0xa2, 0x97, 0x2d, 0xe4, + 0xf9, 0xac, 0x85, 0xe5, 0x0a, 0x0b, 0x05, 0xe0, 0xdc, 0x35, 0x31, 0x9d, 0xb5, 0x58, 0x12, 0x22, + 0x46, 0x25, 0xc8, 0xaf, 0x06, 0x25, 0x95, 0xa0, 0x62, 0x64, 0x43, 0x16, 0x60, 0xe0, 0x31, 0xfa, + 0xe1, 0xc1, 0xc6, 0x1f, 0x28, 0x18, 0x72, 0xe1, 0x77, 0x5f, 0xbe, 0x27, 0xfc, 0x9e, 0xc8, 0xf7, + 0x88, 0xdf, 0x23, 0xf9, 0x8e, 0x09, 0xdb, 0x1e, 0xbe, 0xb6, 0x2d, 0x60, 0x0a, 0x29, 0xbd, 0x7c, + 0x47, 0x75, 0x59, 0xca, 0x40, 0x06, 0xfc, 0xc5, 0x72, 0x39, 0xa1, 0x6b, 0x29, 0x90, 0x70, 0x72, + 0x1f, 0x92, 0x39, 0x24, 0x05, 0x24, 0x8b, 0x39, 0x25, 0x98, 0xfb, 0x70, 0xf2, 0xeb, 0x2b, 0x46, + 0x19, 0xdc, 0x08, 0x69, 0x24, 0xee, 0x84, 0x53, 0xde, 0x68, 0x14, 0xa4, 0x08, 0x06, 0x9d, 0x41, + 0x5f, 0xd5, 0xa3, 0x8a, 0xf8, 0x9e, 0xf2, 0x90, 0xf2, 0x94, 0x01, 0x40, 0xa0, 0x9a, 0xfb, 0x67, + 0x63, 0xab, 0x87, 0x50, 0x11, 0xfb, 0x67, 0x82, 0x5c, 0xb2, 0x7f, 0x04, 0x25, 0x81, 0x7b, 0x2a, + 0x37, 0x33, 0x8b, 0x10, 0x26, 0x9e, 0x12, 0x62, 0x08, 0xfe, 0xd6, 0x21, 0x86, 0x30, 0xe2, 0x55, + 0xa0, 0xe3, 0x5c, 0x89, 0x1a, 0x62, 0xea, 0xe0, 0x34, 0xa7, 0xd4, 0x01, 0x21, 0x42, 0x71, 0x6a, + 0x74, 0x82, 0x9f, 0xb6, 0xbd, 0x73, 0x17, 0x4d, 0x49, 0xc8, 0xd7, 0xcd, 0x00, 0x1f, 0x7a, 0x67, + 0xcb, 0xf3, 0xe5, 0x12, 0x61, 0x3f, 0xc8, 0xbe, 0x39, 0x83, 0x2d, 0xe4, 0xde, 0x72, 0x60, 0x20, + 0x20, 0xee, 0x8e, 0x8b, 0x2f, 0x83, 0x5e, 0xff, 0xf9, 0x0e, 0x9c, 0xaf, 0xb5, 0x28, 0xa1, 0x1e, + 0x25, 0xac, 0x8d, 0x32, 0xe9, 0x69, 0x51, 0xe0, 0xa5, 0x2e, 0x4a, 0x5f, 0x8f, 0xd2, 0xaf, 0x8d, + 0xb2, 0xaf, 0x47, 0xd9, 0x87, 0x28, 0x3f, 0x96, 0x62, 0x24, 0x7a, 0x39, 0xf0, 0x32, 0xe8, 0x96, + 0x23, 0xe8, 0xa5, 0xc0, 0x4b, 0x35, 0x82, 0x5e, 0x06, 0xbc, 0x54, 0x22, 0xcc, 0x11, 0x05, 0x5a, + 0xc5, 0xc0, 0xb7, 0x41, 0xaf, 0x57, 0x8a, 0x73, 0xdd, 0xa3, 0x62, 0xb6, 0x7c, 0x2d, 0x8c, 0x6a, + 0x66, 0x04, 0x74, 0x9e, 0x55, 0x82, 0x20, 0xd9, 0xd8, 0xd6, 0x73, 0x4a, 0x83, 0x5b, 0xad, 0x34, + 0x7c, 0x1b, 0x90, 0xc7, 0xd5, 0x72, 0x81, 0xa1, 0x16, 0x0b, 0x5e, 0x6a, 0x23, 0xa5, 0x9f, 0xf4, + 0xac, 0x3e, 0x35, 0xe4, 0xa4, 0x47, 0xba, 0x2e, 0x22, 0x39, 0x03, 0xad, 0x0a, 0xe8, 0xb5, 0x9d, + 0xcb, 0xe1, 0x27, 0xcc, 0x4c, 0x84, 0x15, 0x4f, 0xd0, 0x98, 0x41, 0x7f, 0xc7, 0x0d, 0x60, 0x96, + 0x91, 0x05, 0xcc, 0xf7, 0x8b, 0x98, 0x4c, 0x7c, 0x07, 0x0b, 0x0b, 0x5d, 0x50, 0xe3, 0x2b, 0x2e, + 0xc4, 0x25, 0xcc, 0x64, 0xa1, 0xca, 0x0a, 0x9d, 0xed, 0x92, 0x6f, 0x20, 0xa0, 0xa8, 0x56, 0x38, + 0xa5, 0xd7, 0xd9, 0x3d, 0xce, 0x4c, 0x4a, 0xf9, 0xfd, 0x22, 0x5d, 0x02, 0x31, 0x3d, 0x47, 0xb2, + 0xf5, 0xf7, 0xd8, 0xb5, 0xdc, 0xd0, 0xf6, 0x5d, 0x5a, 0x8e, 0xf0, 0x64, 0xbd, 0x88, 0x22, 0x4b, + 0xbc, 0x95, 0xba, 0x1d, 0xb8, 0x2b, 0xfa, 0xdc, 0xab, 0xfb, 0xde, 0x2f, 0xbe, 0xf7, 0xc5, 0x77, + 0xde, 0xa3, 0xbc, 0xfe, 0x7e, 0xd7, 0x30, 0x65, 0x0e, 0x63, 0x74, 0x3b, 0x85, 0xcd, 0xc1, 0xc2, + 0xbf, 0x5f, 0x4c, 0xb4, 0xa6, 0xe4, 0xcb, 0x57, 0x2d, 0x79, 0xbf, 0x04, 0xed, 0xf9, 0x23, 0xa2, + 0xd0, 0x09, 0xb6, 0x0d, 0xcd, 0x8e, 0xb9, 0x47, 0xa4, 0xc8, 0x12, 0x93, 0xcd, 0x33, 0x68, 0x24, + 0xb4, 0x0b, 0xad, 0x85, 0xce, 0x5c, 0x6b, 0x7a, 0x93, 0xd2, 0xbb, 0x2f, 0xde, 0x0b, 0x93, 0x0c, + 0x0a, 0x4e, 0x44, 0x30, 0xfb, 0x33, 0xa1, 0x7e, 0x09, 0x62, 0xee, 0x1f, 0x48, 0xd7, 0x5b, 0x42, + 0x9f, 0x4c, 0x10, 0x45, 0xa4, 0xed, 0x59, 0x4b, 0x71, 0x9c, 0x28, 0x08, 0x3e, 0xb0, 0x12, 0x57, + 0xe1, 0x74, 0x1a, 0x90, 0x90, 0x95, 0xd9, 0x42, 0xbc, 0xbf, 0xe3, 0x8f, 0x7f, 0x0d, 0x62, 0xed, + 0xbb, 0x00, 0xcf, 0x9a, 0x6f, 0xfa, 0x4d, 0x08, 0x88, 0x34, 0x3e, 0x1c, 0xdd, 0xf8, 0xbf, 0x88, + 0xa7, 0xaf, 0xef, 0x83, 0xc9, 0x0d, 0x03, 0x18, 0xba, 0xc4, 0xdf, 0x09, 0xa5, 0x01, 0x06, 0xb7, + 0xc3, 0x9d, 0x9f, 0xfc, 0xfd, 0x07, 0x40, 0xc9, 0xa5, 0xc7, 0x7f, 0x02, 0x48, 0xd0, 0x7c, 0xf6, + 0xa3, 0x1f, 0xfe, 0x71, 0xd0, 0x41, 0x53, 0x53, 0xdb, 0x19, 0xd8, 0x5b, 0xfe, 0xf6, 0x76, 0x04, + 0xff, 0xdb, 0x99, 0x6b, 0xa1, 0xfd, 0x76, 0x0b, 0x76, 0x81, 0xb6, 0x55, 0xe0, 0x61, 0x11, 0xa1, + 0x85, 0x06, 0x5a, 0x96, 0xee, 0xa1, 0x3f, 0x86, 0xe8, 0x41, 0xe1, 0x15, 0xde, 0x56, 0x0e, 0x8c, + 0x81, 0x91, 0xd4, 0x73, 0x64, 0xa8, 0x2b, 0xa8, 0x41, 0xce, 0xf7, 0x1b, 0xb9, 0xc8, 0x4d, 0x47, + 0x96, 0xc4, 0x7c, 0x1c, 0x34, 0xe3, 0xf3, 0xa3, 0xe8, 0x0b, 0xb3, 0x80, 0x4b, 0x43, 0x28, 0x87, + 0xe2, 0x7c, 0xac, 0xda, 0x6f, 0xc0, 0x4c, 0xa2, 0x99, 0x9d, 0xee, 0xfd, 0x06, 0x8f, 0xd2, 0xbf, + 0xbf, 0x7b, 0xfb, 0x33, 0xf0, 0x9b, 0x1f, 0x78, 0x8b, 0x1e, 0x66, 0x28, 0x42, 0x7d, 0x8d, 0x32, + 0x06, 0x94, 0xa7, 0x06, 0x31, 0x1e, 0xea, 0x31, 0x0b, 0xcb, 0xb5, 0x35, 0x3f, 0xcb, 0xc5, 0xed, + 0x0b, 0xf9, 0xb2, 0x93, 0xde, 0xee, 0x09, 0x04, 0x98, 0x42, 0xd0, 0x02, 0xf9, 0x26, 0x1b, 0x79, + 0x4f, 0xbb, 0xe8, 0xe2, 0x1e, 0x2f, 0x2a, 0xaa, 0xd9, 0xd2, 0x7d, 0x95, 0x9e, 0x6f, 0xa0, 0x67, + 0x4c, 0x3e, 0xff, 0x27, 0x9f, 0xd9, 0x47, 0x3e, 0x5d, 0xde, 0x10, 0x6f, 0x7c, 0xfc, 0xcb, 0xc9, + 0x47, 0x98, 0xbf, 0x7b, 0xdc, 0x30, 0x4b, 0xba, 0xdb, 0xc1, 0x96, 0xbc, 0x49, 0xd2, 0xeb, 0x57, + 0xb0, 0xf3, 0xe1, 0xb8, 0xc2, 0xeb, 0xcb, 0x28, 0xb9, 0xb0, 0x61, 0x8a, 0xba, 0x0b, 0x34, 0x5f, + 0x32, 0x11, 0x1a, 0xc8, 0xc6, 0x7c, 0x49, 0x80, 0x59, 0x98, 0x10, 0x45, 0xa0, 0xa7, 0xd1, 0x19, + 0x0c, 0xca, 0x30, 0xee, 0x40, 0x3c, 0xf4, 0x86, 0x6d, 0x89, 0x12, 0x5c, 0x9f, 0x70, 0xa9, 0x31, + 0x28, 0x2e, 0xdf, 0x36, 0xab, 0x59, 0x87, 0xe7, 0x60, 0x66, 0xec, 0x60, 0xcd, 0xa6, 0x01, 0xde, + 0xf7, 0xb5, 0xb2, 0x9b, 0x94, 0x2e, 0x78, 0x6c, 0x74, 0x63, 0xef, 0xb0, 0xc5, 0xb6, 0x98, 0xa7, + 0x64, 0xf7, 0x3f, 0xc6, 0x35, 0x5e, 0x33, 0x3e, 0xd6, 0x9e, 0x1e, 0xcb, 0x6a, 0x9a, 0xe0, 0x5a, + 0x5d, 0xe8, 0xc6, 0x46, 0x00, 0x2b, 0x60, 0x07, 0xe8, 0xe0, 0x26, 0x73, 0x2d, 0xdc, 0x04, 0x23, + 0x23, 0xf4, 0xda, 0x93, 0x3c, 0x49, 0xfd, 0xcb, 0x00, 0xbd, 0x9d, 0x1d, 0xe5, 0x01, 0xd4, 0xfe, + 0x2e, 0x22, 0xe0, 0xb4, 0x7b, 0x4b, 0x68, 0xaa, 0xa3, 0x20, 0x88, 0x27, 0x8b, 0xc6, 0x4d, 0xe5, + 0x8c, 0xed, 0xb7, 0xbd, 0x9d, 0x75, 0x6e, 0xc9, 0x6e, 0x14, 0x7f, 0x24, 0x27, 0xac, 0x97, 0x08, + 0x5f, 0xe6, 0xcc, 0xe3, 0x22, 0x74, 0xb9, 0xad, 0x0b, 0x8d, 0x96, 0x46, 0xbc, 0xc5, 0xd2, 0xbd, + 0x54, 0xda, 0x3c, 0xdc, 0x88, 0xae, 0x2b, 0x20, 0x1b, 0xb4, 0x6a, 0x66, 0x95, 0x6a, 0xba, 0x25, + 0x78, 0x90, 0xc5, 0x7c, 0xa0, 0x67, 0xec, 0xde, 0xea, 0xe8, 0x06, 0xf0, 0xb2, 0xac, 0x8a, 0xe1, + 0x5d, 0x16, 0xa3, 0xc9, 0xeb, 0xb0, 0xc0, 0xfd, 0xe9, 0x27, 0x43, 0x93, 0xa6, 0x5c, 0x31, 0x06, + 0x1f, 0x26, 0x52, 0xb1, 0x0e, 0x93, 0x05, 0xaa, 0x72, 0x3f, 0x9e, 0x93, 0xa8, 0xb1, 0x1d, 0x98, + 0x44, 0xe5, 0x1b, 0xa0, 0x44, 0x74, 0x0c, 0x91, 0x0d, 0x81, 0x41, 0x32, 0xbc, 0xe2, 0xd3, 0x3b, + 0xdc, 0xd4, 0xe0, 0x80, 0xee, 0x37, 0x7a, 0x0d, 0x86, 0x0d, 0xf2, 0x40, 0x6d, 0xde, 0x71, 0xf9, + 0xa2, 0xb0, 0xd2, 0x1b, 0xed, 0x1e, 0xf4, 0xc7, 0xd2, 0x7d, 0xd6, 0x75, 0x06, 0x08, 0x5d, 0xb3, + 0x1a, 0xeb, 0x42, 0x3b, 0x3e, 0x23, 0x08, 0x0b, 0x39, 0x5f, 0x54, 0x73, 0x35, 0x68, 0x96, 0xdc, + 0x2a, 0x97, 0x5e, 0xa8, 0x21, 0x20, 0x44, 0x22, 0x65, 0x93, 0x20, 0x45, 0xd6, 0x84, 0x4f, 0xf5, + 0xd5, 0xb0, 0xed, 0xa1, 0x67, 0xcd, 0xc9, 0xf0, 0x03, 0x38, 0xdf, 0x7c, 0xdc, 0x1d, 0xf4, 0x86, + 0xe1, 0x81, 0xf2, 0x56, 0x18, 0x4a, 0xc0, 0xaf, 0xd8, 0xcb, 0x4e, 0x43, 0xe4, 0xa2, 0x37, 0xb3, + 0x61, 0xee, 0xe4, 0xc9, 0xdf, 0x80, 0x7c, 0xa4, 0x87, 0x3e, 0xe2, 0xfb, 0x00, 0x31, 0x31, 0x6b, + 0x1f, 0x29, 0xfe, 0x5e, 0x34, 0xc1, 0x8c, 0x8f, 0x00, 0xe2, 0xd2, 0x70, 0x09, 0x46, 0x59, 0xc3, + 0xbc, 0x8e, 0x02, 0x3f, 0x66, 0x8c, 0x9e, 0x3a, 0xdf, 0x6a, 0x62, 0x41, 0x07, 0xa4, 0x8d, 0x19, + 0x26, 0x37, 0x99, 0xd9, 0x85, 0x52, 0x40, 0x4a, 0x67, 0x2b, 0xcd, 0x54, 0x09, 0x33, 0xc1, 0xa1, + 0x22, 0xb2, 0x6c, 0x23, 0x21, 0xe4, 0x27, 0x8b, 0xb4, 0xda, 0x50, 0xc0, 0x09, 0x7c, 0x0e, 0x59, + 0xcd, 0xe1, 0x05, 0x25, 0x62, 0x5c, 0xc7, 0x72, 0x70, 0x3a, 0xe8, 0x99, 0x8e, 0x4d, 0xc3, 0xc3, + 0x28, 0x27, 0x00, 0xb7, 0x9a, 0xee, 0x66, 0xed, 0x38, 0x32, 0x1e, 0x95, 0x0e, 0x27, 0xce, 0xaa, + 0x90, 0xa8, 0x52, 0x39, 0xae, 0x67, 0x48, 0x07, 0x29, 0xdb, 0x37, 0xf7, 0x12, 0x6f, 0x51, 0xe2, + 0x0c, 0xeb, 0x96, 0xed, 0xa2, 0x72, 0x9a, 0x7c, 0xb9, 0x7b, 0xa6, 0xda, 0xaa, 0x32, 0x1e, 0x07, + 0x4a, 0x98, 0x36, 0x8b, 0xf2, 0xc1, 0xa3, 0xfb, 0xe0, 0x5b, 0x5b, 0x99, 0x43, 0x2b, 0x73, 0xa5, + 0xf2, 0x59, 0xb4, 0xd6, 0x58, 0x0d, 0xe8, 0xc3, 0xde, 0xcf, 0xe1, 0x84, 0xa7, 0xa4, 0x76, 0x78, + 0xfe, 0xd5, 0xdc, 0x67, 0x62, 0x1f, 0x98, 0x07, 0xc1, 0x00, 0x2d, 0x7b, 0x1d, 0x39, 0x4b, 0xe9, + 0x6d, 0xc8, 0xf2, 0xf4, 0xd8, 0x21, 0x6c, 0x23, 0x12, 0xc6, 0x51, 0xb8, 0x77, 0x1a, 0x9f, 0x21, + 0x74, 0xa1, 0x9d, 0x73, 0x3c, 0x91, 0xa9, 0x73, 0x90, 0x39, 0xca, 0x7f, 0x29, 0x9c, 0xd5, 0xa2, + 0x83, 0x6c, 0x37, 0x1f, 0x46, 0x30, 0xf5, 0x39, 0x16, 0x1d, 0xe2, 0x03, 0x36, 0x20, 0xde, 0xed, + 0x31, 0x9e, 0x6b, 0xa5, 0x12, 0x1a, 0xbe, 0x13, 0x9c, 0xa7, 0x0d, 0xc0, 0x27, 0xb3, 0x3a, 0x79, + 0x8a, 0xb5, 0xd1, 0xd0, 0x9d, 0xf4, 0x4a, 0x69, 0xde, 0x1b, 0xcd, 0xba, 0x95, 0xeb, 0xa5, 0x45, + 0x14, 0xd5, 0xd3, 0xed, 0x84, 0xb1, 0x96, 0x45, 0xa7, 0x2a, 0x83, 0x16, 0x4d, 0x0e, 0xca, 0xa6, + 0x7e, 0xec, 0xea, 0x33, 0xd0, 0xec, 0xfc, 0x92, 0x73, 0x47, 0xb3, 0x5b, 0x11, 0x94, 0x41, 0x93, + 0x97, 0x22, 0x75, 0x1a, 0x61, 0x8f, 0x1a, 0x57, 0xd3, 0x59, 0xed, 0xd5, 0x74, 0x81, 0x4d, 0xe8, + 0x06, 0x30, 0xf0, 0x39, 0xa2, 0x3a, 0x57, 0x63, 0x29, 0xfb, 0x5a, 0xde, 0x68, 0x6b, 0xac, 0x0b, + 0x8b, 0x18, 0x6e, 0x30, 0xa2, 0xe1, 0x94, 0x83, 0x8d, 0x55, 0x2e, 0xa7, 0x2a, 0x74, 0x9e, 0x8b, + 0x74, 0x88, 0xb4, 0xa0, 0xd4, 0xee, 0x62, 0x38, 0xc4, 0x09, 0xfd, 0x86, 0xf8, 0xcc, 0x9b, 0x8b, + 0x07, 0xa5, 0xfb, 0xe0, 0x16, 0x73, 0x50, 0xc5, 0x22, 0x5c, 0x14, 0x18, 0x42, 0x15, 0x20, 0x7c, + 0x17, 0x3a, 0x85, 0xa3, 0x44, 0x15, 0xe6, 0x15, 0x3e, 0x46, 0x63, 0xf2, 0x1b, 0xa8, 0xc7, 0x20, + 0x84, 0xae, 0x72, 0x5e, 0x08, 0x4f, 0x63, 0x64, 0x84, 0x5e, 0x1f, 0xa5, 0xe5, 0x30, 0x8f, 0x90, + 0xae, 0x7a, 0xc4, 0x86, 0xc7, 0x31, 0xc1, 0x31, 0x6b, 0xa6, 0xc6, 0xb1, 0x84, 0xb1, 0x6c, 0x4c, + 0x51, 0x58, 0x1a, 0xcd, 0xc3, 0x5f, 0xfd, 0x08, 0x03, 0xa4, 0x0a, 0x46, 0xac, 0x6b, 0x85, 0x79, + 0x11, 0x6a, 0x04, 0x44, 0x55, 0xe5, 0x28, 0x01, 0x4f, 0xcc, 0x09, 0x4a, 0x0a, 0x78, 0x8c, 0x3d, + 0x46, 0x36, 0xae, 0x71, 0xa3, 0x02, 0x46, 0xc5, 0x2a, 0x9b, 0xfd, 0xbd, 0x89, 0x1b, 0xf3, 0x17, + 0x76, 0x63, 0x9b, 0x2d, 0x6b, 0x33, 0x9d, 0x8e, 0x65, 0xfe, 0x15, 0x86, 0xd5, 0xda, 0x29, 0x21, + 0x26, 0x8a, 0x58, 0x5c, 0xdd, 0x57, 0xf4, 0x8b, 0x2f, 0xa2, 0x9b, 0xd4, 0xae, 0x45, 0x62, 0xae, + 0x7e, 0xd1, 0x55, 0x7e, 0xf9, 0xeb, 0x92, 0x4f, 0xab, 0xff, 0x38, 0xac, 0x22, 0x7a, 0xca, 0x79, + 0x0b, 0x35, 0x72, 0xdc, 0xf7, 0xde, 0x53, 0x5a, 0x85, 0x21, 0xd5, 0xc4, 0xeb, 0xba, 0xf7, 0x5d, + 0x81, 0x7e, 0x47, 0x8d, 0x3b, 0x21, 0xed, 0x24, 0xd1, 0xeb, 0x43, 0xad, 0xf6, 0x8c, 0x0b, 0xb7, + 0x50, 0xa2, 0x58, 0xe1, 0xfd, 0xeb, 0x63, 0x72, 0x03, 0xa3, 0x94, 0x8d, 0xcb, 0x01, 0x08, 0x7b, + 0xa8, 0x1d, 0x0f, 0xaf, 0xfc, 0xec, 0x28, 0x4d, 0xc8, 0xc5, 0x2f, 0xe6, 0x22, 0x49, 0x62, 0x9d, + 0xf8, 0x0a, 0xc9, 0x80, 0x42, 0x30, 0xcf, 0x90, 0x65, 0xb7, 0x2d, 0x48, 0xab, 0xf4, 0xe7, 0xb6, + 0xba, 0xc2, 0x1b, 0x17, 0xec, 0x66, 0x1a, 0x7b, 0x3e, 0xf9, 0x2c, 0xf7, 0xb1, 0xf9, 0x04, 0xa1, + 0xad, 0x24, 0x45, 0x02, 0xea, 0xe5, 0xa7, 0x97, 0x81, 0xb6, 0x8c, 0x89, 0xec, 0x8b, 0x40, 0x73, + 0xc7, 0x55, 0x51, 0x86, 0xfa, 0x5a, 0x8f, 0x13, 0xea, 0x73, 0x94, 0x8e, 0xe8, 0xcd, 0xc8, 0x4b, + 0xef, 0x19, 0x4a, 0x4f, 0xa0, 0x33, 0x65, 0x57, 0x41, 0x6e, 0x78, 0xdf, 0xfd, 0xbb, 0xea, 0xd8, + 0xcb, 0xd7, 0x2f, 0x0f, 0xdf, 0xdb, 0x56, 0xee, 0x5f, 0x08, 0xc4, 0x1d, 0xcb, 0x39, 0xe5, 0x51, + 0x38, 0x13, 0x33, 0xeb, 0x63, 0x32, 0x77, 0xff, 0x71, 0x58, 0x67, 0x04, 0x2d, 0xa6, 0xd7, 0x96, + 0x2d, 0xc7, 0xa6, 0xeb, 0x18, 0x1e, 0x8a, 0x69, 0xee, 0x73, 0xfb, 0x39, 0xc6, 0xf6, 0x76, 0xa9, + 0x1f, 0xaa, 0xd5, 0xf2, 0xf2, 0xdd, 0xfb, 0xae, 0x1b, 0xb3, 0xf2, 0x0a, 0xb1, 0xa8, 0x19, 0xca, + 0x7d, 0xdb, 0x76, 0xfc, 0x24, 0xdb, 0xbb, 0xfb, 0x0d, 0xb8, 0xda, 0xe4, 0x4d, 0x78, 0x1f, 0x4c, + 0xd1, 0x79, 0x78, 0x77, 0x0b, 0x69, 0xac, 0xcd, 0xd5, 0x1d, 0x75, 0xc9, 0x63, 0xa9, 0xa3, 0x02, + 0x10, 0xdf, 0x38, 0x1e, 0x61, 0x40, 0x34, 0xea, 0xf4, 0xfa, 0xc0, 0xb6, 0x6c, 0xd2, 0x54, 0x38, + 0xd3, 0x70, 0xcf, 0x40, 0x3e, 0xd0, 0x6a, 0xe6, 0xba, 0x48, 0xdd, 0x1a, 0x8e, 0xa1, 0x69, 0xfe, + 0xc5, 0xb6, 0x76, 0x77, 0x43, 0xcb, 0xe5, 0x74, 0xbb, 0x88, 0xb3, 0x12, 0x79, 0xbd, 0xdd, 0x48, + 0xde, 0xca, 0xf9, 0xc8, 0x78, 0x7d, 0xce, 0x44, 0x15, 0x80, 0x8b, 0x68, 0xca, 0x63, 0x66, 0xb9, + 0x91, 0xb3, 0x69, 0xbf, 0xf6, 0x20, 0x23, 0xb1, 0x22, 0x74, 0x65, 0x71, 0x02, 0x85, 0x5a, 0xdc, + 0xfd, 0xe6, 0x89, 0x3b, 0x0e, 0x22, 0x1f, 0x04, 0x40, 0x32, 0xd4, 0x6e, 0x2e, 0xc8, 0xc9, 0x81, + 0xe8, 0x60, 0x46, 0x97, 0x18, 0x66, 0x87, 0x49, 0x84, 0x95, 0xc0, 0x52, 0x04, 0x64, 0xae, 0x2b, + 0xc3, 0x2e, 0xe4, 0x8d, 0x34, 0xd1, 0x17, 0x23, 0x9d, 0x88, 0xc9, 0x40, 0x5b, 0x5b, 0x7c, 0x89, + 0x00, 0x7d, 0xf0, 0xb4, 0x48, 0x9c, 0xcf, 0x8b, 0x0c, 0x05, 0xa6, 0x1d, 0x8d, 0x37, 0xd0, 0x09, + 0x3c, 0x8b, 0xdd, 0x79, 0x77, 0xbf, 0x55, 0x40, 0xef, 0x38, 0x02, 0x43, 0x17, 0x90, 0x23, 0x5e, + 0x0a, 0x78, 0xe1, 0x89, 0xa9, 0xf2, 0xc2, 0xad, 0x3f, 0x08, 0xce, 0x27, 0xd7, 0x96, 0x2b, 0xa2, + 0xa0, 0xd6, 0x23, 0x3d, 0x41, 0xfe, 0xb8, 0x61, 0xf6, 0x9f, 0x6e, 0x6f, 0xcb, 0xd4, 0x74, 0xb9, + 0x28, 0xaf, 0x30, 0xd1, 0xc3, 0x05, 0x74, 0x1a, 0x7f, 0xdb, 0xde, 0x86, 0xd8, 0x10, 0x79, 0x1f, + 0x1f, 0x0e, 0x7a, 0xfd, 0x67, 0xdd, 0x71, 0x7f, 0xbf, 0x3b, 0xe8, 0xff, 0x08, 0xfb, 0xcc, 0x16, + 0xd6, 0x04, 0x43, 0x29, 0x2f, 0xaa, 0x3b, 0x3d, 0x3f, 0x3c, 0x14, 0x25, 0x50, 0x28, 0xbf, 0xe0, + 0x2a, 0x43, 0x31, 0x05, 0x8c, 0x3f, 0x7b, 0xc8, 0x28, 0xcf, 0x07, 0xb9, 0xbb, 0xb1, 0x9b, 0x84, + 0x63, 0xa8, 0xbb, 0x0e, 0x3d, 0xc4, 0xf5, 0x31, 0xf0, 0xbb, 0xb4, 0x21, 0xe0, 0xf9, 0xc3, 0x28, + 0xc9, 0x9e, 0xac, 0x7a, 0x61, 0x73, 0x0a, 0x1d, 0x01, 0xf1, 0xc6, 0x56, 0x17, 0x4f, 0x90, 0x37, + 0x79, 0x62, 0x3d, 0x62, 0x28, 0xd5, 0xec, 0x64, 0x47, 0x30, 0xb2, 0x1e, 0x78, 0xa7, 0x07, 0xb9, + 0x3d, 0xc5, 0x1f, 0x43, 0xe8, 0x64, 0xe1, 0xf9, 0xf9, 0x84, 0x2f, 0x9d, 0x70, 0xb7, 0xb1, 0x5c, + 0x4b, 0x8c, 0xe2, 0x21, 0xa6, 0xb4, 0x04, 0x4c, 0x63, 0x29, 0x96, 0xad, 0xab, 0x45, 0x5c, 0x07, + 0x40, 0xe3, 0x5e, 0x05, 0x01, 0x5a, 0x93, 0x75, 0x3a, 0x1d, 0xd6, 0x26, 0xdd, 0x92, 0x20, 0x9e, + 0xea, 0x56, 0x6d, 0xc8, 0x3b, 0x07, 0xd0, 0x83, 0x4e, 0x76, 0x15, 0xce, 0xe0, 0x80, 0xc9, 0x36, + 0xb1, 0x70, 0x7c, 0x25, 0x3b, 0x02, 0x7e, 0xca, 0x1c, 0xa7, 0x24, 0x13, 0xcd, 0x1c, 0xf1, 0x05, + 0x7d, 0x18, 0x8d, 0x89, 0x68, 0x3f, 0x3c, 0x98, 0x67, 0x5e, 0x38, 0x8f, 0x43, 0x28, 0x69, 0x6a, + 0xba, 0x5a, 0x6d, 0x50, 0x62, 0x44, 0xa9, 0x9c, 0x41, 0x6d, 0x7c, 0x72, 0xa5, 0xa4, 0x2e, 0x27, + 0x2b, 0xcd, 0x58, 0xf2, 0x72, 0x6c, 0x5c, 0xf0, 0xb1, 0xe5, 0xc2, 0x42, 0x11, 0x2b, 0xb5, 0x2a, + 0x13, 0xe3, 0x99, 0xc9, 0x48, 0x6f, 0x34, 0x81, 0x20, 0x9f, 0x6a, 0xac, 0xeb, 0x04, 0x6d, 0x13, + 0x92, 0x3b, 0xc8, 0x0c, 0x69, 0x83, 0x8b, 0x3c, 0x48, 0x6d, 0xc4, 0x1c, 0x37, 0x3c, 0xc6, 0x69, + 0x5a, 0x13, 0x93, 0xb2, 0x84, 0x43, 0xbe, 0xe5, 0x22, 0xb9, 0x5e, 0x13, 0xef, 0x66, 0xbe, 0x2e, + 0x1a, 0x15, 0x8c, 0xd2, 0x60, 0x15, 0xef, 0x3f, 0x1c, 0xec, 0x01, 0x49, 0x0d, 0xe7, 0xf9, 0xa8, + 0x75, 0x20, 0x1e, 0xfe, 0x03, 0xdd, 0xfb, 0x67, 0x87, 0xaf, 0x5f, 0x93, 0x7f, 0x43, 0x63, 0x53, + 0xe7, 0xf9, 0x24, 0x3f, 0x09, 0x7d, 0xe3, 0x3a, 0xd8, 0xb0, 0x66, 0x34, 0xb4, 0x22, 0xdf, 0xe2, + 0xd9, 0x29, 0xe0, 0x46, 0x8d, 0xbc, 0xdd, 0xa9, 0xe6, 0xf0, 0xff, 0xe5, 0x17, 0xd2, 0x98, 0x08, + 0xf8, 0x7b, 0x2d, 0xda, 0x98, 0x4c, 0xbc, 0x11, 0xe0, 0x98, 0x29, 0xa9, 0x7b, 0x9b, 0x5c, 0x92, + 0xc0, 0x51, 0xc9, 0x61, 0x13, 0xaf, 0xae, 0x70, 0x88, 0xf6, 0x22, 0x0d, 0x7c, 0x94, 0x56, 0x94, + 0xc4, 0xd7, 0xf5, 0x42, 0xa7, 0x0e, 0x43, 0xca, 0xb9, 0x81, 0x4b, 0x1c, 0x53, 0x21, 0x55, 0x8d, + 0x5d, 0xdf, 0x21, 0x73, 0x14, 0x7f, 0x9c, 0xa3, 0x0f, 0x52, 0x3b, 0x91, 0xe2, 0x80, 0x4e, 0xf1, + 0x9f, 0x65, 0x68, 0x77, 0xe5, 0x08, 0xba, 0x5d, 0x87, 0x9d, 0xaa, 0xd5, 0x1d, 0xa2, 0x2c, 0x5d, + 0xc4, 0x03, 0x76, 0x06, 0x2a, 0x43, 0xa0, 0x0d, 0x85, 0xec, 0xbb, 0x45, 0xb8, 0x9d, 0xad, 0x5e, + 0xb7, 0x95, 0x05, 0xb0, 0x32, 0xa7, 0x99, 0xa5, 0x22, 0xfa, 0xb0, 0xe4, 0x34, 0xb1, 0x2f, 0x76, + 0x84, 0x26, 0x51, 0x76, 0x0c, 0x5a, 0x93, 0x3b, 0x86, 0x3d, 0xf2, 0x2a, 0x81, 0x76, 0x52, 0x27, + 0xd0, 0x4e, 0xfe, 0x35, 0x02, 0xed, 0xe4, 0x5b, 0x05, 0xda, 0xc9, 0x23, 0x04, 0xda, 0xfe, 0xc6, + 0x02, 0xed, 0x48, 0x13, 0x68, 0xfb, 0x0d, 0x02, 0xed, 0xc8, 0x21, 0x53, 0xf6, 0x1a, 0x81, 0xf6, + 0xe1, 0xeb, 0xf2, 0x60, 0x14, 0xc6, 0x15, 0xb0, 0x9f, 0x77, 0x50, 0xea, 0x6a, 0x49, 0xdf, 0x05, + 0x75, 0x93, 0x16, 0x28, 0xdd, 0x65, 0xea, 0x5f, 0x8b, 0x89, 0x5b, 0x2b, 0xdc, 0xd6, 0x72, 0x72, + 0x13, 0xe5, 0x94, 0xa0, 0xce, 0x0e, 0x37, 0x67, 0x8b, 0x05, 0xf2, 0x71, 0x52, 0xbf, 0x40, 0xd5, + 0x1a, 0x51, 0x33, 0xda, 0x5a, 0x3d, 0x6d, 0xa1, 0x64, 0x98, 0x53, 0x96, 0x2b, 0xe7, 0xae, 0x06, + 0x96, 0x50, 0x47, 0x15, 0x16, 0x8f, 0x5c, 0x7a, 0xaa, 0x61, 0xa5, 0x25, 0x98, 0xb8, 0x0a, 0x1a, + 0xe6, 0xfc, 0xc5, 0x87, 0x8f, 0x47, 0xbb, 0x6f, 0x7e, 0x6f, 0x71, 0x31, 0xec, 0x99, 0xbd, 0xa5, + 0xfd, 0x77, 0x10, 0x8e, 0x50, 0x71, 0x8d, 0x32, 0x22, 0xe7, 0x63, 0xd5, 0x18, 0x65, 0x87, 0xa8, + 0x13, 0x9a, 0xa7, 0x18, 0xc2, 0xce, 0xba, 0xcc, 0x71, 0x18, 0xe1, 0xa9, 0x55, 0xf7, 0x8e, 0x5a, + 0xcd, 0xb0, 0xea, 0x2a, 0x0a, 0xc5, 0xe5, 0xa8, 0xe9, 0xa2, 0x39, 0x3c, 0x37, 0x09, 0x32, 0x3a, + 0xe0, 0x44, 0x14, 0x73, 0xdd, 0x6f, 0xe8, 0x63, 0xb3, 0x14, 0x53, 0x6e, 0x07, 0xdb, 0xbb, 0xe3, + 0xb6, 0x84, 0x4f, 0x36, 0xf2, 0xbc, 0x8a, 0x36, 0x52, 0x1f, 0x6e, 0x62, 0xcd, 0x9b, 0xd5, 0x57, + 0x55, 0x1a, 0xf7, 0x48, 0x9c, 0x00, 0x7f, 0xfd, 0x99, 0xc6, 0x7f, 0xe7, 0xf0, 0xf5, 0x8e, 0xbb, + 0xa3, 0xba, 0x17, 0xbd, 0x94, 0xbe, 0x12, 0x31, 0x5a, 0x5a, 0xa7, 0x7f, 0x7d, 0x8b, 0x30, 0xa7, + 0xc3, 0xd7, 0x1f, 0x83, 0xeb, 0x39, 0xce, 0x25, 0xd1, 0x32, 0x28, 0x05, 0x2d, 0x1b, 0x5b, 0xb9, + 0x08, 0xfe, 0x97, 0x34, 0x0a, 0x6b, 0x7e, 0xdb, 0xdd, 0xdf, 0x27, 0xb9, 0xff, 0x8e, 0x4b, 0x77, + 0xbb, 0xf8, 0x47, 0x6f, 0x22, 0xc6, 0x69, 0xe1, 0xf7, 0x6f, 0x69, 0x62, 0x6d, 0xe9, 0xfa, 0x8d, + 0x55, 0x43, 0xe1, 0x7a, 0x94, 0x6f, 0xed, 0x01, 0x53, 0x8b, 0x6b, 0x67, 0x03, 0x7d, 0xb9, 0xdd, + 0xd7, 0x84, 0x49, 0x9c, 0xed, 0xe5, 0x69, 0x10, 0xec, 0x5d, 0x03, 0x69, 0x0b, 0xd2, 0x3d, 0x5c, + 0x8a, 0x6f, 0x7e, 0xdf, 0xa3, 0xa9, 0x20, 0x9d, 0x1c, 0x72, 0xf1, 0xd6, 0x48, 0x2e, 0xd3, 0xb7, + 0xe1, 0x45, 0xea, 0xa7, 0x5f, 0x1e, 0xdd, 0x63, 0x55, 0xdc, 0xc1, 0x86, 0x4a, 0x5f, 0x5f, 0x77, + 0x3e, 0xc7, 0x09, 0xcd, 0x3c, 0xa0, 0x70, 0x7b, 0x70, 0xe8, 0x8b, 0xaf, 0x45, 0xc5, 0x81, 0x6d, + 0x0b, 0x77, 0x67, 0xf7, 0x95, 0xba, 0x8d, 0x57, 0xf6, 0x5f, 0x3a, 0x02, 0x12, 0x72, 0x08, 0x47, + 0x02, 0xbc, 0x8f, 0x16, 0xeb, 0xa8, 0x05, 0x14, 0xf0, 0xab, 0x89, 0x89, 0xa4, 0xb2, 0xa3, 0xd5, + 0x44, 0x24, 0x1c, 0x61, 0x41, 0xc8, 0x02, 0x8c, 0x5a, 0xfb, 0x72, 0xcf, 0x07, 0xf6, 0xae, 0x85, + 0x5b, 0x0d, 0x5e, 0x84, 0x9e, 0x04, 0x69, 0xe8, 0x47, 0xad, 0x5f, 0x6e, 0xf2, 0xf9, 0x4d, 0xde, + 0x69, 0xa8, 0x8e, 0xdf, 0x62, 0xcd, 0xbc, 0xef, 0x56, 0x4c, 0xb9, 0x9f, 0x5f, 0xbe, 0x5c, 0x31, + 0xe7, 0x24, 0x6b, 0x4e, 0x2a, 0x22, 0x43, 0xe8, 0xbb, 0x30, 0x47, 0xbf, 0x76, 0x6a, 0x22, 0xfe, + 0xfc, 0xd2, 0xf7, 0xb3, 0xd6, 0x4b, 0xb4, 0xc7, 0x13, 0x59, 0x58, 0xa3, 0xff, 0xf3, 0xdf, 0xfe, + 0xfb, 0x7f, 0x3d, 0xd8, 0xf3, 0xbf, 0xae, 0x32, 0xaf, 0xbf, 0xb9, 0x32, 0x62, 0x72, 0xfe, 0x29, + 0xf5, 0x79, 0xfb, 0xee, 0x1b, 0xaa, 0xc3, 0xde, 0xf8, 0xab, 0xf5, 0x38, 0x1f, 0x56, 0xb7, 0xdf, + 0xcf, 0x1a, 0x83, 0x5c, 0x48, 0x2c, 0xfd, 0x8d, 0x37, 0xea, 0xa6, 0x8d, 0xf9, 0xab, 0x59, 0xc3, + 0x52, 0x4f, 0xa0, 0x96, 0x47, 0x82, 0x1a, 0x22, 0x31, 0xc9, 0x14, 0xac, 0xc3, 0xd7, 0x16, 0xdf, + 0xc2, 0x40, 0xf1, 0x72, 0xf1, 0xc1, 0x01, 0xb5, 0xc3, 0x54, 0x03, 0x4e, 0x35, 0xa9, 0x90, 0x07, + 0xad, 0x26, 0x20, 0x55, 0xda, 0xb1, 0x07, 0xe7, 0x5d, 0x0b, 0xe6, 0xe4, 0x9f, 0x99, 0xbd, 0x50, + 0x2d, 0xd8, 0xfb, 0xf9, 0xe5, 0x3f, 0xf8, 0xf1, 0x18, 0x58, 0xc7, 0x7e, 0xaf, 0xfb, 0xbc, 0xfb, + 0xfc, 0x1f, 0xfb, 0xfd, 0xfb, 0xfd, 0xfe, 0x3f, 0x7a, 0x3f, 0x02, 0x9f, 0xb4, 0x87, 0xd3, 0xf8, + 0x87, 0x7e, 0x77, 0x0e, 0x5f, 0x45, 0x35, 0x5e, 0xff, 0xbf, 0xa8, 0x86, 0x48, 0xa6, 0xd7, 0xe4, + 0xed, 0xbb, 0x3f, 0xb3, 0x22, 0x3c, 0x31, 0x33, 0xcc, 0xb9, 0x4e, 0x9b, 0xa7, 0xc4, 0x6f, 0x05, + 0x78, 0xe4, 0x09, 0x67, 0x76, 0x42, 0x7f, 0x63, 0x14, 0x93, 0x34, 0x69, 0x67, 0xc8, 0x49, 0xb3, + 0x97, 0x28, 0xb7, 0xfa, 0xa4, 0xc3, 0x33, 0x56, 0x32, 0xdd, 0x26, 0x36, 0x36, 0x87, 0x42, 0x48, + 0x8e, 0xbf, 0x58, 0xcb, 0x09, 0xab, 0x63, 0x8f, 0x31, 0xb9, 0x89, 0x2b, 0x2c, 0x26, 0x77, 0x6c, + 0x4e, 0x6e, 0xd4, 0x42, 0x8a, 0xcd, 0x09, 0x5e, 0xe2, 0x2e, 0xe0, 0x74, 0xb1, 0x69, 0xc9, 0xe7, + 0x7b, 0x4f, 0x98, 0x94, 0xf0, 0xb4, 0x6d, 0xc9, 0x3c, 0x30, 0xf0, 0xc9, 0x1e, 0xfe, 0x9d, 0x73, + 0x2a, 0x62, 0x83, 0xf0, 0x7d, 0xc1, 0xf1, 0x35, 0x8f, 0xaa, 0xf1, 0x34, 0x48, 0xdf, 0x20, 0x94, + 0xba, 0xed, 0xf0, 0xb7, 0x85, 0xa4, 0x4e, 0x64, 0x77, 0x71, 0x1f, 0x44, 0x6c, 0x77, 0x40, 0xa8, + 0xc6, 0x41, 0xea, 0xb6, 0x48, 0x77, 0xf9, 0x4d, 0x9a, 0x5c, 0x4b, 0x27, 0x2d, 0xda, 0x17, 0x7a, + 0x70, 0x44, 0x46, 0x54, 0xe0, 0xf2, 0x7c, 0xa9, 0x8b, 0x08, 0xf6, 0x10, 0xe2, 0x1d, 0x7f, 0xaf, + 0xf2, 0xeb, 0x68, 0xd4, 0xfa, 0xbf, 0x19, 0x35, 0xf6, 0x3d, 0x2e, 0xdc, 0x01, 0x00 }; diff --git a/wled00/improv.cpp b/wled00/improv.cpp index 346f7e64..c84406e8 100644 --- a/wled00/improv.cpp +++ b/wled00/improv.cpp @@ -210,7 +210,7 @@ void sendImprovInfoResponse() { //Use serverDescription if it has been changed from the default "WLED", else mDNS name bool useMdnsName = (strcmp(serverDescription, "WLED") == 0 && strlen(cmDNS) > 0); char vString[32]; - snprintf_P(vString, sizeof(vString)-1, PSTR("0.14.0-b27.32/%i"),VERSION); + snprintf_P(vString, sizeof(vString)-1, PSTR("0.14.1-b30.36/%i"),VERSION); const char *str[4] = {"WLED", vString, bString, useMdnsName ? cmDNS : serverDescription}; sendImprovRPCResult(ImprovRPCType::Request_Info, 4, str); diff --git a/wled00/ir.cpp b/wled00/ir.cpp index f3b6643f..fc38971c 100644 --- a/wled00/ir.cpp +++ b/wled00/ir.cpp @@ -717,7 +717,7 @@ void decodeIRJson(uint32_t code) } else { // HTTP API command String apireq = "win"; apireq += '&'; // reduce flash string usage - if (cmdStr.indexOf("~") || fdo["rpt"]) lastValidCode = code; // repeatable action + if (cmdStr.indexOf("~") > 0 || fdo["rpt"]) lastValidCode = code; // repeatable action if (!cmdStr.startsWith(apireq)) cmdStr = apireq + cmdStr; // if no "win&" prefix if (!irApplyToAllSelected && cmdStr.indexOf(F("SS="))<0) { char tmp[10]; diff --git a/wled00/json.cpp b/wled00/json.cpp index 7499a26e..3567c7ad 100644 --- a/wled00/json.cpp +++ b/wled00/json.cpp @@ -9,6 +9,7 @@ #define JSON_PATH_PALETTES 5 #define JSON_PATH_FXDATA 6 #define JSON_PATH_NETWORKS 7 +#define JSON_PATH_EFFECTS 8 // begin WLEDMM #ifdef ARDUINO_ARCH_ESP32 @@ -309,7 +310,7 @@ bool deserializeSegment(JsonObject elem, byte it, byte presetId) getVal(elem["c1"], &seg.custom1); getVal(elem["c2"], &seg.custom2); uint8_t cust3 = seg.custom3; - getVal(elem["c3"], &cust3); // we can't pass reference to bifield + getVal(elem["c3"], &cust3); // we can't pass reference to bitfield seg.custom3 = constrain(cust3, 0, 31); seg.check1 = elem["o1"] | seg.check1; @@ -368,7 +369,10 @@ bool deserializeSegment(JsonObject elem, byte it, byte presetId) strip.trigger(); // force segment update } // send UDP/WS if segment options changed (except selection; will also deselect current preset) - if (seg.differs(prev) & 0x7F) stateChanged = true; + if (seg.differs(prev) & 0x7F) { + stateChanged = true; + if ((seg.on == false) && (prev.on == true) && (prev.freeze == false)) prev.fill(BLACK); // WLEDMM: force BLACK if segment was turned off + } if (iAmGroot) suspendStripService = false; // WLEDMM release lock return true; @@ -620,7 +624,8 @@ void serializeSegment(JsonObject& root, Segment& seg, byte id, bool forPreset, b root["cct"] = seg.cct; root[F("set")] = seg.set; - if (segmentBounds && seg.name != nullptr) root["n"] = reinterpret_cast(seg.name); //not good practice, but decreases required JSON buffer + if (seg.name != nullptr) root["n"] = reinterpret_cast(seg.name); //not good practice, but decreases required JSON buffer + else if (forPreset) root["n"] = ""; // to conserve RAM we will serialize the col array manually // this will reduce RAM footprint from ~300 bytes to 84 bytes per segment @@ -684,6 +689,27 @@ void serializeState(JsonObject root, bool forPreset, bool includeBri, bool segme // USER_PRINTF("serializeState %d\n", netDebugEnabled); #endif + // WLEDMM print error message to netDebug - esp32 only, as 8266 flash is very limited +#if defined(ARDUINO_ARCH_ESP32) && !defined(WLEDMM_SAVE_FLASH) + String errPrefix = F("\nWLED error: "); + String warnPrefix = F("WLED warning: "); + switch(errorFlag) { + case ERR_NONE: break; + case ERR_DENIED: USER_PRINTLN(errPrefix + F("Permission denied.")); break; + case ERR_NOBUF: USER_PRINTLN(warnPrefix + F("JSON buffer was not released in time, request timeout.")); break; + case ERR_JSON: USER_PRINTLN(errPrefix + F("JSON parsing failed (input too large?).")); break; + case ERR_FS_BEGIN: USER_PRINTLN(errPrefix + F("Could not init filesystem (no partition?).")); break; + case ERR_FS_QUOTA: USER_PRINTLN(errPrefix + F("FS is full or the maximum file size is reached.")); break; + case ERR_FS_PLOAD: USER_PRINTLN(warnPrefix + F("Tried loading a preset that does not exist.")); break; + case ERR_FS_IRLOAD: USER_PRINTLN(warnPrefix + F("Tried loading an IR JSON cmd, but \"ir.json\" file does not exist.")); break; + case ERR_FS_RMLOAD: USER_PRINTLN(warnPrefix + F("Tried loading a remote JSON cmd, but \"remote.json\" file does not exist.")); break; + case ERR_FS_GENERAL: USER_PRINTLN(errPrefix + F("general unspecified filesystem error.")); break; + default: USER_PRINT(errPrefix + F("error code = ")); USER_PRINTLN(errorFlag); break; + } +#else + if (errorFlag) { USER_PRINT(F("\nWLED error code = ")); USER_PRINTLN(errorFlag); } +#endif + if (errorFlag) {root[F("error")] = errorFlag; errorFlag = ERR_NONE;} //prevent error message to persist on screen root["ps"] = (currentPreset > 0) ? currentPreset : -1; @@ -802,6 +828,7 @@ esp_reset_reason_t getRestartReason() { } String restartCode2InfoLong(esp_reset_reason_t reason) { switch (reason) { +#if !defined(WLEDMM_SAVE_FLASH) case ESP_RST_UNKNOWN: return(F("Reset reason can not be determined")); break; case ESP_RST_POWERON: return(F("Restart due to power-on event")); break; case ESP_RST_EXT: return(F("Reset by external pin (not applicable for ESP32)")); break; @@ -813,11 +840,25 @@ String restartCode2InfoLong(esp_reset_reason_t reason) { case ESP_RST_DEEPSLEEP:return(F("Restart after exiting deep sleep mode")); break; case ESP_RST_BROWNOUT: return(F("Brownout Reset (software or hardware)")); break; case ESP_RST_SDIO: return(F("Reset over SDIO")); break; +#else + case ESP_RST_UNKNOWN: return(F("ESP_RST_UNKNOWN")); break; + case ESP_RST_POWERON: return(F("ESP_RST_POWERON")); break; + case ESP_RST_EXT: return(F("ESP_RST_EXT")); break; + case ESP_RST_SW: return(F("esp_restart()")); break; + case ESP_RST_PANIC: return(F("SW Panic or Exception")); break; + case ESP_RST_INT_WDT: return(F("ESP_RST_INT_WDT")); break; + case ESP_RST_TASK_WDT: return(F("ESP_RST_TASK_WDT")); break; + case ESP_RST_WDT: return(F("ESP_RST_WDT")); break; + case ESP_RST_DEEPSLEEP:return(F("ESP_RST_DEEPSLEEP")); break; + case ESP_RST_BROWNOUT: return(F("Brownout Reset")); break; + case ESP_RST_SDIO: return(F("ESP_RST_SDIO")); break; +#endif } return(F("unknown")); } String restartCode2Info(esp_reset_reason_t reason) { switch (reason) { +#if !defined(WLEDMM_SAVE_FLASH) case ESP_RST_UNKNOWN: return(F("unknown reason")); break; case ESP_RST_POWERON: return(F("power-on event")); break; case ESP_RST_EXT: return(F("external pin reset")); break; @@ -829,6 +870,19 @@ String restartCode2Info(esp_reset_reason_t reason) { case ESP_RST_DEEPSLEEP:return(F("exit from deep sleep")); break; case ESP_RST_BROWNOUT: return(F("Brownout Reset")); break; case ESP_RST_SDIO: return(F("Reset over SDIO")); break; +#else + case ESP_RST_UNKNOWN: return(F("unknown")); break; + case ESP_RST_POWERON: return(F("power-on")); break; + case ESP_RST_EXT: return(F("ext. pin reset")); break; + case ESP_RST_SW: return(F("SW restart")); break; + case ESP_RST_PANIC: return(F("SW panic or exception")); break; + case ESP_RST_INT_WDT: return(F("int. watchdog")); break; + case ESP_RST_TASK_WDT: return(F("task watchdog")); break; + case ESP_RST_WDT: return(F("other watchdog")); break; + case ESP_RST_DEEPSLEEP:return(F("deep sleep")); break; + case ESP_RST_BROWNOUT: return(F("Brownout")); break; + case ESP_RST_SDIO: return(F("SDIO reset")); break; +#endif } return(F("unknown")); } @@ -987,6 +1041,7 @@ void serializeInfo(JsonObject root) root[F("freeheap")] = ESP.getFreeHeap(); //WLEDMM: conditional on esp32 #if defined(ARDUINO_ARCH_ESP32) + root[F("freestack")] = uxTaskGetStackHighWaterMark(NULL); //WLEDMM root[F("minfreeheap")] = ESP.getMinFreeHeap(); #endif #if defined(ARDUINO_ARCH_ESP32) && defined(BOARD_HAS_PSRAM) @@ -1049,7 +1104,7 @@ void serializeInfo(JsonObject root) } #endif #if defined(WLED_DEBUG) || defined(WLED_DEBUG_HOST) || defined(SR_DEBUG) || defined(SR_STATS) - // WLEDMM add status of Serial, incuding pin alloc + // WLEDMM add status of Serial, including pin alloc root[F("serialOnline")] = Serial ? (canUseSerial()?F("Serial ready ☾"):F("Serial in use ☾")) : F("Serial disconected ☾"); // "Disconnected" may happen on boards with USB CDC root[F("sRX")] = pinManager.isPinAllocated(hardwareRX) ? pinManager.getPinOwnerText(hardwareRX): F("free"); root[F("sTX")] = pinManager.isPinAllocated(hardwareTX) ? pinManager.getPinOwnerText(hardwareTX): F("free"); @@ -1204,7 +1259,7 @@ void serializePalettes(JsonObject root, AsyncWebServerRequest* request) curPalette.add("c2"); curPalette.add("c1"); break; - case 5: //primary + secondary (+tert if not off), more distinct + case 5: //primary + secondary (+tertiary if not off), more distinct curPalette.add("c1"); curPalette.add("c1"); curPalette.add("c1"); @@ -1328,7 +1383,7 @@ void serializeModeData(JsonArray fxdata) } // deserializes mode names string into JsonArray -// also removes effect data extensions (@...) from deserialised names +// also removes effect data extensions (@...) from deserialized names void serializeModeNames(JsonArray arr) { char lineBuffer[128]; for (size_t i = 0; i < strip.getModeCount(); i++) { @@ -1341,6 +1396,17 @@ void serializeModeNames(JsonArray arr) { } } + +// Global buffer locking response helper class +class GlobalBufferAsyncJsonResponse: public JSONBufferGuard, public AsyncJsonResponse { + public: + inline GlobalBufferAsyncJsonResponse(bool isArray) : JSONBufferGuard(17), AsyncJsonResponse(&doc, isArray) {}; + virtual ~GlobalBufferAsyncJsonResponse() {}; + + // Other members are inherited +}; + + void serveJson(AsyncWebServerRequest* request) { byte subJson = 0; @@ -1349,6 +1415,7 @@ void serveJson(AsyncWebServerRequest* request) else if (url.indexOf("info") > 0) subJson = JSON_PATH_INFO; else if (url.indexOf("si") > 0) subJson = JSON_PATH_STATE_INFO; else if (url.indexOf("nodes") > 0) subJson = JSON_PATH_NODES; + else if (url.indexOf("eff") > 0) subJson = JSON_PATH_EFFECTS; else if (url.indexOf("palx") > 0) subJson = JSON_PATH_PALETTES; else if (url.indexOf("fxda") > 0) subJson = JSON_PATH_FXDATA; else if (url.indexOf("net") > 0) subJson = JSON_PATH_NETWORKS; @@ -1384,11 +1451,12 @@ void serveJson(AsyncWebServerRequest* request) return; } - if (!requestJSONBufferLock(17)) { + GlobalBufferAsyncJsonResponse *response = new GlobalBufferAsyncJsonResponse(subJson==JSON_PATH_FXDATA || subJson==JSON_PATH_EFFECTS); // will clear and convert JsonDocument into JsonArray if necessary + if (!response->owns_lock()) { request->send(503, "application/json", F("{\"error\":3}")); + delete response; return; } - AsyncJsonResponse *response = new AsyncJsonResponse(&doc, subJson==6); JsonVariant lDoc = response->getRoot(); @@ -1402,6 +1470,9 @@ void serveJson(AsyncWebServerRequest* request) serializeNodes(lDoc); break; case JSON_PATH_PALETTES: serializePalettes(lDoc, request); break; + //serializePalettes(lDoc, request->hasParam("page") ? request->getParam("page")->value().toInt() : 0); break; + case JSON_PATH_EFFECTS: + serializeModeNames(lDoc); break; case JSON_PATH_FXDATA: serializeModeData(lDoc.as()); break; case JSON_PATH_NETWORKS: @@ -1424,7 +1495,6 @@ void serveJson(AsyncWebServerRequest* request) response->setLength(); request->send(response); - releaseJSONBufferLock(); } #ifdef WLED_ENABLE_JSONLIVE diff --git a/wled00/led.cpp b/wled00/led.cpp index 1870ba00..c6857c4a 100644 --- a/wled00/led.cpp +++ b/wled00/led.cpp @@ -293,7 +293,7 @@ void handleNightlight() } //utility for FastLED to use our custom timer -uint32_t __attribute__((pure)) get_millisecond_timer() // WLEDMM attribute pure = does not write other momory +uint32_t __attribute__((pure)) get_millisecond_timer() // WLEDMM attribute pure = does not write other memory { return strip.now; } diff --git a/wled00/net_debug.cpp b/wled00/net_debug.cpp index f98af02a..a345dd30 100644 --- a/wled00/net_debug.cpp +++ b/wled00/net_debug.cpp @@ -1,6 +1,6 @@ #include "wled.h" -#ifdef WLED_DEBUG_HOST //WLEDMM: this looks unnecesarry as .h is not included anyway if no netdebug +#ifdef WLED_DEBUG_HOST //WLEDMM: this looks unnecessary as .h is not included anyway if no netdebug size_t NetworkDebugPrinter::write(uint8_t c) { if (!WLED_CONNECTED || !netDebugEnabled) return 0; diff --git a/wled00/ntp.cpp b/wled00/ntp.cpp index 7d056d3c..fb5e85b3 100644 --- a/wled00/ntp.cpp +++ b/wled00/ntp.cpp @@ -199,6 +199,9 @@ void handleNetworkTime() { if (millis() - ntpPacketSentTime > 10000) { + #ifdef ARDUINO_ARCH_ESP32 // I had problems using udp.flush() on 8266 + while (ntpUdp.parsePacket() > 0) ntpUdp.flush(); // flush any existing packets + #endif sendNTPPacket(); ntpPacketSentTime = millis(); } @@ -239,23 +242,41 @@ void sendNTPPacket() ntpUdp.endPacket(); } +static bool isValidNtpResponse(byte * ntpPacket) { + // Perform a few validity checks on the packet + // based on https://github.com/taranais/NTPClient/blob/master/NTPClient.cpp + if((ntpPacket[0] & 0b11000000) == 0b11000000) return false; //reject LI=UNSYNC + // if((ntpPacket[0] & 0b00111000) >> 3 < 0b100) return false; //reject Version < 4 + if((ntpPacket[0] & 0b00000111) != 0b100) return false; //reject Mode != Server + if((ntpPacket[1] < 1) || (ntpPacket[1] > 15)) return false; //reject invalid Stratum + if( ntpPacket[16] == 0 && ntpPacket[17] == 0 && + ntpPacket[18] == 0 && ntpPacket[19] == 0 && + ntpPacket[20] == 0 && ntpPacket[21] == 0 && + ntpPacket[22] == 0 && ntpPacket[23] == 0) //reject ReferenceTimestamp == 0 + return false; + + return true; +} + bool checkNTPResponse() { #ifdef ARDUINO_ARCH_ESP32 ntpUdp.flush(); #endif int cb = ntpUdp.parsePacket(); -#ifdef ARDUINO_ARCH_ESP32 - if (!cb) {ntpUdp.flush(); return false;} // WLEDMM flush buffer -#else - if (!cb) {return false;} // WLEDMM do not flush buffer -#endif + if (cb < NTP_MIN_PACKET_SIZE) { + #ifdef ARDUINO_ARCH_ESP32 // I had problems using udp.flush() on 8266 + if (cb > 0) ntpUdp.flush(); // this avoids memory leaks on esp32 + #endif + return false; + } uint32_t ntpPacketReceivedTime = millis(); DEBUG_PRINT(F("NTP recv, l=")); DEBUG_PRINTLN(cb); byte pbuf[NTP_PACKET_SIZE]; ntpUdp.read(pbuf, NTP_PACKET_SIZE); // read the packet into the buffer + if (!isValidNtpResponse(pbuf)) return false; // verify we have a valid response to client Toki::Time arrived = toki.fromNTP(pbuf + 32); Toki::Time departed = toki.fromNTP(pbuf + 40); @@ -429,8 +450,8 @@ void checkTimers() } #define ZENITH -0.83 -// get sunrise (or sunset) time (in minutes) for a given day at a given geo location -int getSunriseUTC(int year, int month, int day, float lat, float lon, bool sunset=false) { +// get sunrise (or sunset) time (in minutes) for a given day at a given geo location. Returns >= INT16_MAX in case of "no sunset" +static int getSunriseUTC(int year, int month, int day, float lat, float lon, bool sunset=false) { //1. first calculate the day of the year float N1 = 275 * month / 9; float N2 = (month + 9) / 12; @@ -464,8 +485,8 @@ int getSunriseUTC(int year, int month, int day, float lat, float lon, bool sunse //7a. calculate the Sun's local hour angle float cosH = (sinf(DEG_TO_RAD*ZENITH) - (sinDec * sinf(DEG_TO_RAD*lat))) / (cosDec * cosf(DEG_TO_RAD*lat)); - if ((cosH > 1.0f) && !sunset) return 0; // the sun never rises on this location (on the specified date) - if ((cosH < -1.0f) && sunset) return 0; // the sun never sets on this location (on the specified date) + if ((cosH > 1.0f) && !sunset) return INT16_MAX; // the sun never rises on this location (on the specified date) + if ((cosH < -1.0f) && sunset) return INT16_MAX; // the sun never sets on this location (on the specified date) //7b. finish calculating H and convert into hours float H = sunset ? RAD_TO_DEG*acosf(cosH) : 360 - RAD_TO_DEG*acosf(cosH); @@ -481,6 +502,7 @@ int getSunriseUTC(int year, int month, int day, float lat, float lon, bool sunse return UT*60; } +#define SUNSET_MAX (24*60) // 1day = max expected absolute value for sun offset in minutes // calculate sunrise and sunset (if longitude and latitude are set) void calculateSunriseAndSunset() { if ((int)(longitude*10.) || (int)(latitude*10.)) { @@ -491,8 +513,19 @@ void calculateSunriseAndSunset() { tim_0.tm_sec = 0; tim_0.tm_isdst = 0; - int minUTC = getSunriseUTC(year(localTime), month(localTime), day(localTime), latitude, longitude); - if (minUTC) { + // Due to limited accuracy, its possible to get a bad sunrise/sunset displayed as "00:00" (see issue #3601) + // So in case of invalid result, we try to use the sunset/sunrise of previous day. Max 3 days back, this worked well in all cases I tried. + // When latitude = 66,6 (N or S), the functions sometimes returns 2147483647, so this "unexpected large" is another condition for retry + int minUTC = 0; + int retryCount = 0; + do { + time_t theDay = localTime - retryCount * 86400; // one day back = 86400 seconds + minUTC = getSunriseUTC(year(theDay), month(theDay), day(theDay), latitude, longitude, false); + DEBUG_PRINT(F("* sunrise (minutes from UTC) = ")); DEBUG_PRINTLN(minUTC); + retryCount ++; + } while ((abs(minUTC) > SUNSET_MAX) && (retryCount <= 3)); + + if (abs(minUTC) <= SUNSET_MAX) { // there is a sunrise if (minUTC < 0) minUTC += 24*60; // add a day if negative tim_0.tm_hour = minUTC / 60; @@ -503,8 +536,15 @@ void calculateSunriseAndSunset() { sunrise = 0; } - minUTC = getSunriseUTC(year(localTime), month(localTime), day(localTime), latitude, longitude, true); - if (minUTC) { + retryCount = 0; + do { + time_t theDay = localTime - retryCount * 86400; // one day back = 86400 seconds + minUTC = getSunriseUTC(year(theDay), month(theDay), day(theDay), latitude, longitude, true); + DEBUG_PRINT(F("* sunset (minutes from UTC) = ")); DEBUG_PRINTLN(minUTC); + retryCount ++; + } while ((abs(minUTC) > SUNSET_MAX) && (retryCount <= 3)); + + if (abs(minUTC) <= SUNSET_MAX) { // there is a sunset if (minUTC < 0) minUTC += 24*60; // add a day if negative tim_0.tm_hour = minUTC / 60; diff --git a/wled00/pin_manager.cpp b/wled00/pin_manager.cpp index d7c7a21c..e0a68c8b 100644 --- a/wled00/pin_manager.cpp +++ b/wled00/pin_manager.cpp @@ -41,12 +41,16 @@ String PinManagerClass::getOwnerText(PinOwner tag) { case PinOwner::Button : return(F("Button")); break; // 'Butn' == button from configuration case PinOwner::IR : return(F("IR Receiver")); break; // 'IR' == IR receiver pin from configuration case PinOwner::Relay : return(F("Relay")); break; // 'Rly' == Relay pin from configuration +#if defined(ARDUINO_ESP32_PICO) + case PinOwner::SPI_RAM : return(F("SPI FLASH")); break; // PICO boards use gpio 16+17 for embedded flash, not for PSRAM +#else case PinOwner::SPI_RAM : return(F("PSRAM")); break; // 'SpiR' == SPI RAM (aka PSRAM) +#endif case PinOwner::DMX : return(F("DMX out")); break; // 'DMX' == hard-coded to IO2 case PinOwner::HW_I2C : return(F("I2C (hw)")); break; // 'I2C' == hardware I2C pins (4&5 on ESP8266, 21&22 on ESP32) case PinOwner::HW_SPI : return(F("SPI (hw)")); break; // 'SPI' == hardware (V)SPI pins (13,14&15 on ESP8266, 5,18&23 on ESP32) - case PinOwner::UM_Audioreactive : return(F("AudioReactive (UM)")); break; // audioreative usermod - analog or digital audio input + case PinOwner::UM_Audioreactive : return(F("AudioReactive (UM)")); break; // audioreactive usermod - analog or digital audio input case PinOwner::UM_Temperature : return(F("Temperature (UM)")); break; // "usermod_temperature.h" case PinOwner::UM_PIR : return(F("PIR (UM)")); break; // "usermod_PIR_sensor_switch.h" case PinOwner::UM_IMU : return(F("IMU mpu6050 (UM)")); break; // "usermod_mpu6050_imu.h" @@ -61,6 +65,7 @@ String PinManagerClass::getOwnerText(PinOwner tag) { case PinOwner::UM_SdCard : return(F("SD-Card (UM)")); break; // "usermod_sd_card.h" -- Uses SPI pins case PinOwner::UM_PWM_OUTPUTS : return(F("PWM Output (UM)")); break; // "usermod_pwm_outputs.h" case PinOwner::UM_Battery : return(F("Battery (UM)")); break; // "usermod_battery.h" + case PinOwner::UM_LDR_DUSK_DAWN : return(F("LDR dusk/dawn (UM)")); break; // "usermod_LDR_Dusk_Dawn_v2.h" case PinOwner::UM_Example : return(F("example (UM)")); break; // unspecified usermod case PinOwner::UM_Unspecified : return(F("usermod (UM)")); break; // unspecified usermod @@ -72,7 +77,7 @@ String PinManagerClass::getPinSpecialText(int gpio) { // special purpose PIN in if ((gpio == 0xFF) || (gpio < 0)) return(F("")); // explicitly allow -1 as a no-op #ifdef USERMOD_AUDIOREACTIVE - // audioreactive settings - unfortunately, these are hiddden inside usermod now :-( + // audioreactive settings - unfortunately, these are hidden inside usermod now :-( // if((gpio == audioPin) && (dmType == 0)) return(F("analog audio in")); // if((gpio == i2ssdPin) && (dmType > 0)) return(F("I2S SD")); // if((gpio == i2swsPin) && (dmType > 0)) return(F("I2S WS")); @@ -272,7 +277,7 @@ String PinManagerClass::getPinConflicts(int gpio) { if ((ownerConflict[gpio] == PinOwner::None) || (ownerTag[gpio] == ownerConflict[gpio])) { // no conflict, or "fake" conflict with current owner return(F("")); // no conflict fot this GPIO - } else { // found previous conflic! + } else { // found previous conflict! return String("!! Conflict with ") + getOwnerText(ownerConflict[gpio]) + String(" !!"); } } diff --git a/wled00/pin_manager.h b/wled00/pin_manager.h index f8b0c822..e70d94b1 100644 --- a/wled00/pin_manager.h +++ b/wled00/pin_manager.h @@ -60,7 +60,8 @@ enum struct PinOwner : uint8_t { UM_BME280 = USERMOD_ID_BME280, // 0x1E // Usermod "usermod_bme280.h -- Uses "standard" HW_I2C pins UM_Audioreactive = USERMOD_ID_AUDIOREACTIVE, // 0x20 // Usermod "audio_reactive.h" UM_SdCard = USERMOD_ID_SD_CARD, // 0x25 // Usermod "usermod_sd_card.h" - UM_PWM_OUTPUTS = USERMOD_ID_PWM_OUTPUTS // 0x26 // Usermod "usermod_pwm_outputs.h" + UM_PWM_OUTPUTS = USERMOD_ID_PWM_OUTPUTS, // 0x26 // Usermod "usermod_pwm_outputs.h" + UM_LDR_DUSK_DAWN = USERMOD_ID_LDR_DUSK_DAWN // 0x2B // Usermod "usermod_LDR_Dusk_Dawn_v2.h" }; static_assert(0u == static_cast(PinOwner::None), "PinOwner::None must be zero, so default array initialization works as expected"); diff --git a/wled00/presets.cpp b/wled00/presets.cpp index 30bf042c..748771a9 100644 --- a/wled00/presets.cpp +++ b/wled00/presets.cpp @@ -290,9 +290,9 @@ void savePreset(byte index, const char* pname, JsonObject sObj) playlistSave = false; if (sObj[F("ql")].is()) strlcpy(quickLoad, sObj[F("ql")].as(), 9); // client limits QL to 2 chars, buffer for 8 bytes to allow unicode - if (sObj["o"].isNull()) { // no "o" means not a playlist or custom API call, saving of state is async (not immediately) - includeBri = sObj["ib"].as() || index==255; // temporary preset needs brightness - segBounds = sObj["sb"].as() || index==255; // temporary preset needs bounds + if (sObj.size()==0 || sObj["o"].isNull()) { // no "o" means not a playlist or custom API call, saving of state is async (not immediately) + includeBri = sObj["ib"].as() || sObj.size()==0 || index==255; // temporary preset needs brightness + segBounds = sObj["sb"].as() || sObj.size()==0 || index==255; // temporary preset needs bounds selectedOnly = sObj[F("sc")].as(); saveLedmap = sObj[F("ledmap")] | -1; } else { diff --git a/wled00/remote.cpp b/wled00/remote.cpp index b79066ed..5a993c29 100644 --- a/wled00/remote.cpp +++ b/wled00/remote.cpp @@ -30,11 +30,11 @@ void handleRemote(){} // since it's broadly commercially available and works out of the box as a drop-in typedef struct message_structure { uint8_t program; // 0x91 for ON button, 0x81 for all others - uint8_t seq[4]; // Incremetal sequence number 32 bit unsigned integer LSB first + uint8_t seq[4]; // Incremental sequence number 32 bit unsigned integer LSB first uint8_t byte5 = 32; // Unknown uint8_t button; // Identifies which button is being pressed uint8_t byte8 = 1; // Unknown, but always 0x01 - uint8_t byte9 = 100; // Unnkown, but always 0x64 + uint8_t byte9 = 100; // Unknown, but always 0x64 uint8_t byte10; // Unknown, maybe checksum uint8_t byte11; // Unknown, maybe checksum @@ -114,6 +114,8 @@ static void setOff() { } static void presetWithFallback(uint8_t presetID, uint8_t effectID, uint8_t paletteID) { + resetNightMode(); + unloadPlaylist(); applyPresetWithFallback(presetID, CALL_MODE_BUTTON_PRESET, effectID, paletteID); } diff --git a/wled00/set.cpp b/wled00/set.cpp index 580857ef..115b3f6a 100644 --- a/wled00/set.cpp +++ b/wled00/set.cpp @@ -46,6 +46,7 @@ void handleSettingsSet(AsyncWebServerRequest *request, byte subPage) if (passlen == 0 || (passlen > 7 && !isAsterisksOnly(request->arg(F("AP")).c_str(), 65))) strlcpy(apPass, request->arg(F("AP")).c_str(), 65); int t = request->arg(F("AC")).toInt(); if (t > 0 && t < 14) apChannel = t; + force802_3g = request->hasArg(F("FG")); noWifiSleep = request->hasArg(F("WS")); #ifndef WLED_DISABLE_ESPNOW @@ -131,7 +132,6 @@ void handleSettingsSet(AsyncWebServerRequest *request, byte subPage) pins[i] = (request->arg(lp).length() > 0) ? request->arg(lp).toInt() : 255; } type = request->arg(lt).toInt(); - type |= request->hasArg(rf) << 7; // off refresh override skip = request->arg(sl).toInt(); colorOrder = request->arg(co).toInt(); start = (request->hasArg(ls)) ? request->arg(ls).toInt() : t; @@ -163,7 +163,8 @@ void handleSettingsSet(AsyncWebServerRequest *request, byte subPage) } else { freqHz = 0; } - channelSwap = (type == TYPE_SK6812_RGBW || type == TYPE_TM1814) ? request->arg(wo).toInt() : 0; + channelSwap = Bus::hasWhite(type) ? request->arg(wo).toInt() : 0; + type |= request->hasArg(rf) << 7; // off refresh override // actual finalization is done in WLED::loop() (removing old busses and adding new) // this may happen even before this loop is finished so we do "doInitBusses" after the loop if (busConfigs[s] != nullptr) delete busConfigs[s]; @@ -186,7 +187,7 @@ void handleSettingsSet(AsyncWebServerRequest *request, byte subPage) } busses.updateColorOrderMap(com); - // upate other pins + // update other pins int hw_ir_pin = request->arg(F("IR")).toInt(); if (pinManager.allocatePin(hw_ir_pin,false, PinOwner::IR)) { irPin = hw_ir_pin; @@ -426,7 +427,7 @@ void handleSettingsSet(AsyncWebServerRequest *request, byte subPage) //start ntp if not already connected if (ntpEnabled && WLED_CONNECTED && !ntpConnected) ntpConnected = ntpUdp.begin(ntpLocalPort); - ntpLastSyncTime = 0; // force new NTP query + ntpLastSyncTime = NTP_NEVER; // force new NTP query longitude = request->arg(F("LN")).toFloat(); latitude = request->arg(F("LT")).toFloat(); @@ -609,7 +610,7 @@ void handleSettingsSet(AsyncWebServerRequest *request, byte subPage) i2c_scl = hw_scl_pin; DEBUG_PRINTF("handleSettingsSet(): reserved I2C pins SDA=%d SCL=%d.\n", i2c_sda, i2c_scl); #ifdef ESP32 - Wire.setPins(i2c_sda, i2c_scl); // this will fail if Wire is initilised (Wire.begin() called) + Wire.setPins(i2c_sda, i2c_scl); // this will fail if Wire is initialised (Wire.begin() called) #endif // Wire.begin(); // WLEDMM moved into pinManager } else { @@ -710,10 +711,10 @@ void handleSettingsSet(AsyncWebServerRequest *request, byte subPage) DEBUG_PRINTLN(value); } else { // we are using a hidden field with the same name as our parameter (!before the actual parameter!) - // to describe the type of parameter (text,float,int), for boolean patameters the first field contains "off" + // to describe the type of parameter (text,float,int), for boolean parameters the first field contains "off" // so checkboxes have one or two fields (first is always "false", existence of second depends on checkmark and may be "true") if (subObj[name].isNull()) { - // the first occurence of the field describes the parameter type (used in next loop) + // the first occurrence of the field describes the parameter type (used in next loop) if (value == "false") subObj[name] = false; // checkboxes may have only one field else subObj[name] = value; } else { diff --git a/wled00/src/dependencies/dmx/ESPDMX.cpp b/wled00/src/dependencies/dmx/ESPDMX.cpp index 9f7c6e56..d0d652c8 100644 --- a/wled00/src/dependencies/dmx/ESPDMX.cpp +++ b/wled00/src/dependencies/dmx/ESPDMX.cpp @@ -28,7 +28,7 @@ #define BREAKFORMAT SERIAL_8N1 bool dmxStarted = false; -int sendPin = 2; //dafault on ESP8266 +int sendPin = 2; //default on ESP8266 //DMX value array and size. Entry 0 will hold startbyte uint8_t dmxDataStore[dmxMaxChannel] = {}; diff --git a/wled00/src/dependencies/time/DS1307RTC.cpp b/wled00/src/dependencies/time/DS1307RTC.cpp index ff5a0a67..a52f2931 100644 --- a/wled00/src/dependencies/time/DS1307RTC.cpp +++ b/wled00/src/dependencies/time/DS1307RTC.cpp @@ -35,7 +35,7 @@ #define DS1307_CTRL_ID 0x68 // PUBLIC FUNCTIONS -time_t DS1307RTC::get() // Aquire data from buffer and convert to time_t +time_t DS1307RTC::get() // Acquire data from buffer and convert to time_t { tmElements_t tm; if (read(tm) == false) return 0; @@ -49,7 +49,7 @@ bool DS1307RTC::set(time_t t) return write(tm); } -// Aquire data from the RTC chip in BCD format +// Acquire data from the RTC chip in BCD format bool DS1307RTC::read(tmElements_t &tm) { uint8_t sec; diff --git a/wled00/src/dependencies/time/Time.cpp b/wled00/src/dependencies/time/Time.cpp index 21f2e989..2dadb90c 100644 --- a/wled00/src/dependencies/time/Time.cpp +++ b/wled00/src/dependencies/time/Time.cpp @@ -101,9 +101,9 @@ int year(time_t t) { // the year for the given time /*============================================================================*/ /* functions to convert to and from system time */ -/* These are for interfacing with time serivces and are not normally needed in a sketch */ +/* These are for interfacing with time services and are not normally needed in a sketch */ -// leap year calulator expects year argument as years offset from 1970 +// leap year calculator expects year argument as years offset from 1970 #define LEAP_YEAR(Y) ( ((1970+Y)>0) && !((1970+Y)%4) && ( ((1970+Y)%100) || !((1970+Y)%400) ) ) static const uint8_t monthDays[]={31,28,31,30,31,30,31,31,30,31,30,31}; // API starts months from 1, this array starts from 0 @@ -193,7 +193,7 @@ time_t makeTime(tmElements_t &tm){ } time_t getUnixTime(int hr,int min,int sec,int dy, int mnth, int yr){ - // year can be given as full four digit year or two digts (2010 or 10 for 2010); + // year can be given as full four digit year or two digits (2010 or 10 for 2010); //it is converted to years since 1970 if( yr > 99) yr = yr - 1970; diff --git a/wled00/src/dependencies/timezone/Timezone.cpp b/wled00/src/dependencies/timezone/Timezone.cpp index 1606fd8f..b114e391 100644 --- a/wled00/src/dependencies/timezone/Timezone.cpp +++ b/wled00/src/dependencies/timezone/Timezone.cpp @@ -11,7 +11,7 @@ #include "Timezone.h" -//THIS LINE WAS ADDED FOR COMPATIBILY WITH THE WLED DEPENDENCY STRUCTURE. REMOVE IF YOU USE IT OUTSIDE OF WLED! +//THIS LINE WAS ADDED FOR COMPATIBILITY WITH THE WLED DEPENDENCY STRUCTURE. REMOVE IF YOU USE IT OUTSIDE OF WLED! #include "../time/TimeLib.h" #ifdef __AVR__ diff --git a/wled00/udp.cpp b/wled00/udp.cpp index c3ea2fda..423a09cb 100644 --- a/wled00/udp.cpp +++ b/wled00/udp.cpp @@ -45,7 +45,7 @@ void notify(byte callMode, bool followUp) //3: supports FX intensity, 24 byte packet 4: supports transitionDelay 5: sup palette //6: supports timebase syncing, 29 byte packet 7: supports tertiary color 8: supports sys time sync, 36 byte packet //9: supports sync groups, 37 byte packet 10: supports CCT, 39 byte packet 11: per segment options, variable packet length (40+MAX_NUM_SEGMENTS*3) - //12: enhanced effct sliders, 2D & mapping options + //12: enhanced effect sliders, 2D & mapping options udpOut[11] = 12; col = mainseg.colors[1]; udpOut[12] = R(col); @@ -365,7 +365,7 @@ void handleNotifications() //apply colors from notification to main segment, only if not syncing full segments if ((receiveNotificationColor || !someSel) && (version < 11 || !receiveSegmentOptions)) { - // primary color, only apply white if intented (version > 0) + // primary color, only apply white if intended (version > 0) strip.setColor(0, RGBW32(udpIn[3], udpIn[4], udpIn[5], (version > 0) ? udpIn[10] : 0)); if (version > 1) { strip.setColor(1, RGBW32(udpIn[12], udpIn[13], udpIn[14], udpIn[15])); // secondary color @@ -422,8 +422,9 @@ void handleNotifications() } if (version > 11) { // when applying synced options ignore selected as it may be used as indicator of which segments to sync - // freeze, reset & transitional should never be synced - selseg.options = (selseg.options & 0x0071U) | (udpIn[28+ofs]<<8) | (udpIn[9 +ofs] & 0x8E); // ignore selected, freeze, reset & transitional + // freeze, reset should never be synced + // LSB to MSB: select, reverse, on, mirror, freeze, reset, reverse_y, mirror_y, transpose, map1d2d (3), ssim (2), set (2) + selseg.options = (selseg.options & 0b0000000000110001U) | (udpIn[28+ofs]<<8) | (udpIn[9 +ofs] & 0b11001110U); // ignore selected, freeze, reset if (applyEffects) { selseg.custom1 = udpIn[29+ofs]; selseg.custom2 = udpIn[30+ofs]; @@ -561,13 +562,13 @@ void handleNotifications() if (realtimeOverride && !(realtimeMode && useMainSegmentOnly)) return; uint16_t totalLen = strip.getLengthTotal(); - if (udpIn[0] == 1) //warls + if (udpIn[0] == 1 && packetSize > 5) //warls { for (int i = 2; i < packetSize -3; i += 4) { setRealtimePixel(udpIn[i], udpIn[i+1], udpIn[i+2], udpIn[i+3], 0); } - } else if (udpIn[0] == 2) //drgb + } else if (udpIn[0] == 2 && packetSize > 4) //drgb { uint16_t id = 0; for (int i = 2; i < packetSize -2; i += 3) @@ -576,7 +577,7 @@ void handleNotifications() id++; if (id >= totalLen) break; } - } else if (udpIn[0] == 3) //drgbw + } else if (udpIn[0] == 3 && packetSize > 6) //drgbw { uint16_t id = 0; for (int i = 2; i < packetSize -3; i += 4) @@ -585,7 +586,7 @@ void handleNotifications() id++; if (id >= totalLen) break; } - } else if (udpIn[0] == 4) //dnrgb + } else if (udpIn[0] == 4 && packetSize > 7) //dnrgb { uint16_t id = ((udpIn[3] << 0) & 0xFF) + ((udpIn[2] << 8) & 0xFF00); for (int i = 4; i < packetSize -2; i += 3) @@ -594,7 +595,7 @@ void handleNotifications() setRealtimePixel(id, udpIn[i], udpIn[i+1], udpIn[i+2], 0); id++; } - } else if (udpIn[0] == 5) //dnrgbw + } else if (udpIn[0] == 5 && packetSize > 8) //dnrgbw { uint16_t id = ((udpIn[3] << 0) & 0xFF) + ((udpIn[2] << 8) & 0xFF00); for (int i = 4; i < packetSize -2; i += 4) diff --git a/wled00/um_manager.cpp b/wled00/um_manager.cpp index b410891c..2fe44db9 100644 --- a/wled00/um_manager.cpp +++ b/wled00/um_manager.cpp @@ -19,7 +19,7 @@ bool UsermodManager::handleButton(uint8_t b) { bool UsermodManager::getUMData(um_data_t **data, uint8_t mod_id) { for (byte i = 0; i < numMods; i++) { if (mod_id > 0 && ums[i]->getId() != mod_id) continue; // only get data form requested usermod if provided - if (ums[i]->getUMData(data)) return true; // if usermod does provide data return immediately (only one usermod can povide data at one time) + if (ums[i]->getUMData(data)) return true; // if usermod does provide data return immediately (only one usermod can provide data at one time) } return false; } diff --git a/wled00/usermods_list.cpp b/wled00/usermods_list.cpp index 1ccf1d03..777ca9d3 100644 --- a/wled00/usermods_list.cpp +++ b/wled00/usermods_list.cpp @@ -44,10 +44,6 @@ #include "../usermods/PIR_sensor_switch/usermod_PIR_sensor_switch.h" #endif -#ifdef USERMOD_MODE_SORT -#include "../usermods/usermod_v2_mode_sort/usermod_v2_mode_sort.h" -#endif - #ifdef USERMOD_BH1750 #include "../usermods/BH1750_v2/usermod_bh1750.h" //WLEDMM: usermod_bh1750.h in small caps! #endif @@ -58,19 +54,11 @@ #endif #ifdef USERMOD_FOUR_LINE_DISPLAY -#if defined(USE_ALT_DISPLAY) || defined(USE_ALT_DISPlAY) -#include "../usermods/usermod_v2_four_line_display_ALT/usermod_v2_four_line_display_ALT.h" -#else -#include "../usermods/usermod_v2_four_line_display/usermod_v2_four_line_display.h" -#endif + #include "../usermods/usermod_v2_four_line_display_ALT/usermod_v2_four_line_display_ALT.h" #endif #ifdef USERMOD_ROTARY_ENCODER_UI -#if defined(USE_ALT_DISPLAY) || defined(USE_ALT_DISPlAY) -#include "../usermods/usermod_v2_rotary_encoder_ui_ALT/usermod_v2_rotary_encoder_ui_ALT.h" -#else -#include "../usermods/usermod_v2_rotary_encoder_ui/usermod_v2_rotary_encoder_ui.h" -#endif + #include "../usermods/usermod_v2_rotary_encoder_ui_ALT/usermod_v2_rotary_encoder_ui_ALT.h" #endif #ifdef USERMOD_AUTO_SAVE @@ -166,7 +154,7 @@ #endif #ifdef USERMOD_KLIPPER_PERCENTAGE -#include "..\usermods\usermod_v2_klipper_percentage\usermod_v2_klipper_percentage.h" + #include "../usermods/usermod_v2_klipper_percentage/usermod_v2_klipper_percentage.h" #endif #ifdef USERMOD_BOBLIGHT @@ -193,6 +181,9 @@ #include "../usermods/pwm_outputs/usermod_pwm_outputs.h" #endif +#ifdef USERMOD_LDR_DUSK_DAWN +#include "../usermods/LDR_Dusk_Dawn_v2/usermod_LDR_Dusk_Dawn_v2.h" +#endif //WLEDMM ARTIFX #ifdef USERMOD_ARTIFX @@ -222,7 +213,7 @@ void registerUsermods() */ //usermods.add(new MyExampleUsermod()); #ifdef USERMOD_BATTERY - usermods.add(new UsermodBattery("Battery", true)); + usermods.add(new UsermodBattery("Battery", false)); // WLEDMM #endif #ifdef USERMOD_DALLASTEMPERATURE @@ -257,11 +248,7 @@ void registerUsermods() usermods.add(new PIRsensorSwitch()); #endif -#ifdef USERMOD_MODE_SORT - usermods.add(new ModeSortUsermod()); -#endif - -#ifdef USERMOD_FOUR_LINE_DISPLAY + #ifdef USERMOD_FOUR_LINE_DISPLAY usermods.add(new FourLineDisplayUsermod()); #endif @@ -290,7 +277,7 @@ void registerUsermods() #endif #ifdef USERMOD_RTC - usermods.add(new RTCUsermod("RTC", true)); + usermods.add(new RTCUsermod("RTC", false)); //WLEDMM #endif #ifdef USERMOD_ELEKSTUBE_IPS @@ -382,9 +369,18 @@ void registerUsermods() #endif #ifdef USERMOD_MCUTEMP - usermods.add(new mcuTemp("MCUTemp", true)); + usermods.add(new mcuTemp("MCUTemp", false)); #endif +//#ifdef USERMOD_INTERNAL_TEMPERATURE +// usermods.add(new InternalTemperatureUsermod()); +//#endif + +#ifdef USERMOD_LDR_DUSK_DAWN + usermods.add(new LDR_Dusk_Dawn_v2()); +#endif + + // WLEDMM ARTIFX #ifdef USERMOD_ARTIFX usermods.add(new ARTIFXUserMod()); @@ -405,4 +401,5 @@ void registerUsermods() #ifdef USERMOD_ANIMARTRIX usermods.add(new AnimartrixUsermod("Animartrix", false)); #endif + } diff --git a/wled00/util.cpp b/wled00/util.cpp index 7fe3d504..37d1b2c2 100644 --- a/wled00/util.cpp +++ b/wled00/util.cpp @@ -148,11 +148,14 @@ bool oappendi(int i) bool oappend(const char* txt) { uint16_t len = strlen(txt); - if (olen + len >= SETTINGS_STACK_BUF_SIZE) { - USER_PRINT(F("oappend() error: buffer full. Increase SETTINGS_STACK_BUF_SIZE for ")); - USER_PRINTF("%2u bytes \t\"", len /*1 + olen + len - SETTINGS_STACK_BUF_SIZE*/); - USER_PRINT(txt); - USER_PRINTLN(F("\"")); + if ((obuf == nullptr) || (olen + len >= SETTINGS_STACK_BUF_SIZE)) { // sanity checks + if (obuf == nullptr) { USER_PRINTLN(F("oappend() error: obuf == nullptr.")); + } else { + USER_PRINT(F("oappend() error: buffer full. Increase SETTINGS_STACK_BUF_SIZE for ")); + USER_PRINTF("%2u bytes \t\"", len /*1 + olen + len - SETTINGS_STACK_BUF_SIZE*/); + USER_PRINT(txt); + USER_PRINTLN(F("\"")); + } return false; // buffer full } strcpy(obuf + olen, txt); @@ -231,7 +234,7 @@ void releaseJSONBufferLock() // extracts effect mode (or palette) name from names serialized string -// caller must provide large enough buffer for name (incluing SR extensions)! +// caller must provide large enough buffer for name (including SR extensions)! uint8_t extractModeName(uint8_t mode, const char *src, char *dest, uint8_t maxLen) { if (src == JSON_mode_names || src == nullptr) { diff --git a/wled00/wled.cpp b/wled00/wled.cpp index dba77245..b2dcc3f3 100644 --- a/wled00/wled.cpp +++ b/wled00/wled.cpp @@ -64,6 +64,22 @@ // WLEDMM end +#if INCLUDE_xTaskGetHandle && defined(ARDUINO_ARCH_ESP32) && (defined(WLED_DEBUG) || defined(WLED_DEBUG_HEAP)) +// WLEDMM stack debug tool - find async_tcp task, and queries it's free stack +static int wledmm_get_tcp_stacksize(void) { + static TaskHandle_t tcp_taskHandle = NULL; // to store the task handle for later calls + char * tcp_taskname = pcTaskGetTaskName(tcp_taskHandle); // ask for name of the known task (to make sure we are still looking at the right one) + + if ((tcp_taskHandle == NULL) || (tcp_taskname == NULL) || (strncmp(tcp_taskname, "async_tcp", 9) != 0)) { + tcp_taskHandle = xTaskGetHandle("async_tcp"); // need to look for the task by name. FreeRTOS docs say this is very slow, so we store the result for next time + //DEBUG_PRINT(F("async_tcp task ")); DEBUG_PRINTLN( (tcp_taskHandle != NULL) ? F("found") : F("not found")); + } + + if (tcp_taskHandle != NULL) return uxTaskGetStackHighWaterMark(tcp_taskHandle); // got it !! + else return -1; +} +#endif + /* * Main WLED class implementation. Mostly initialization and connection logic */ @@ -196,7 +212,7 @@ void WLED::loop() #endif if (!offMode || strip.isOffRefreshRequired()) { #if defined(ARDUINO_ARCH_ESP32) && defined(WLEDMM_PROTECT_SERVICE) // WLEDMM experimental - static unsigned long lastTimeService = 0; // WLEMM needed to remove stale lock + static unsigned long lastTimeService = 0; // WLEDMM needed to remove stale lock if (!suspendStripService && !doInitBusses && !loadLedmap) { // WLEDMM prevent effect drawing while strip or segments are being updated #endif strip.service(); @@ -232,7 +248,7 @@ void WLED::loop() if (lastMqttReconnectAttempt > millis()) { rolloverMillis++; lastMqttReconnectAttempt = 0; - ntpLastSyncTime = 0; + ntpLastSyncTime = NTP_NEVER; // force new NTP query strip.restartRuntime(); } if (millis() - lastMqttReconnectAttempt > 30000 || lastMqttReconnectAttempt == 0) { // lastMqttReconnectAttempt==0 forces immediate broadcast @@ -347,6 +363,10 @@ void WLED::loop() if (millis() - debugTime > 4999 ) { // WLEDMM: Special case for debugging heap faster DEBUG_PRINT(F("*** Free heap: ")); DEBUG_PRINT(heap_caps_get_free_size(0x1800)); DEBUG_PRINT(F("\tLargest free block: ")); DEBUG_PRINT(heap_caps_get_largest_free_block(0x1800)); + DEBUG_PRINT(F(" *** \t\tArduino min free stack: ")); DEBUG_PRINT(uxTaskGetStackHighWaterMark(NULL)); +#if INCLUDE_xTaskGetHandle + DEBUG_PRINT(F(" TCP min free stack: ")); DEBUG_PRINT(wledmm_get_tcp_stacksize()); +#endif DEBUG_PRINTLN(F(" ***")); debugTime = millis(); } @@ -362,6 +382,23 @@ void WLED::loop() ESP.wdtFeed(); #endif #endif + +#if 0 && defined(ALL_JSON_TO_PSRAM) && defined(WLED_USE_PSRAM_JSON) +// WLEDMM experiment - JSON garbagecollect once per minute. Warning: may crash at random + static unsigned long last_gc_time = 0; + // try once in 60 seconds + if ((millis() - last_gc_time) > 60000) { + // look for a perfect moment -> make sure no strip or segments or presets activity, no configs being updated, no realtime external control + if (!suspendStripService && !doInitBusses && !doReboot && !doCloseFile && !realtimeMode && !loadLedmap && !presetsActionPending()) { + // make sure JSON buffer is not in use + if ( (doSerializeConfig == false) && (jsonBufferLock == 0) && (fileDoc == nullptr)) { + USER_PRINTLN(F("JSON gabage collection (regular).")); + doc.garbageCollect(); // WLEDMM experimental - trigger garbage collection on JSON doc memory pool. + // this will make any pending reference to JSON objects _invalid_ + last_gc_time = millis(); + } } } +#endif + } #if defined(ARDUINO_ARCH_ESP32) && defined(WLEDMM_FASTPATH) @@ -414,6 +451,10 @@ void WLED::setup() if (!Serial) delay(2500); // WLEDMM allow CDC USB serial to initialise #endif #if ARDUINO_USB_CDC_ON_BOOT || ARDUINO_USB_MODE + #if ARDUINO_USB_CDC_ON_BOOT && (defined(CONFIG_IDF_TARGET_ESP32S3) || defined(CONFIG_IDF_TARGET_ESP32C3) || defined(CONFIG_IDF_TARGET_ESP32C6)) + // WLEDMM avoid "hung devices" when USB_CDC is enabled; see https://github.com/espressif/arduino-esp32/issues/9043 + Serial.setTxTimeoutMs(0); // potential side-effect: incomplete debug output, with missing characters whenever TX buffer is full. + #endif if (!Serial) delay(2500); // WLEDMM: always allow CDC USB serial to initialise if (Serial) Serial.println("wait 1"); // waiting a bit longer ensures that a debug messages are shown in serial monitor if (!Serial) delay(2500); @@ -531,7 +572,7 @@ void WLED::setup() #endif DEBUG_PRINT(F("heap ")); DEBUG_PRINTLN(ESP.getFreeHeap()); #ifdef ARDUINO_ARCH_ESP32 - #if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(4, 4, 0) // unfortunately not availeable in older framework versions + #if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(4, 4, 0) // unfortunately not available in older framework versions DEBUG_PRINT(F("\nArduino max stack ")); DEBUG_PRINTLN(getArduinoLoopTaskStackSize()); #endif DEBUG_PRINTF("%s min free stack %d\n", pcTaskGetTaskName(NULL), uxTaskGetStackHighWaterMark(NULL)); //WLEDMM @@ -545,12 +586,12 @@ void WLED::setup() pinManager.allocateMultiplePins(pins, sizeof(pins)/sizeof(managed_pin_type), PinOwner::SPI_RAM); #elif defined(CONFIG_IDF_TARGET_ESP32S2) // S2: reserve GPIO 26-32 for PSRAM (may fail due to isPinOk() but that will also prevent other allocation) - managed_pin_type pins[] = { {26, true}, {27, true}, {28, true}, {29, true}, {30, true}, {31, true}, {32, true} }; - pinManager.allocateMultiplePins(pins, sizeof(pins)/sizeof(managed_pin_type), PinOwner::SPI_RAM); + //managed_pin_type pins[] = { {26, true}, {27, true}, {28, true}, {29, true}, {30, true}, {31, true}, {32, true} }; + //pinManager.allocateMultiplePins(pins, sizeof(pins)/sizeof(managed_pin_type), PinOwner::SPI_RAM); #elif defined(CONFIG_IDF_TARGET_ESP32C3) // C3: reserve GPIO 12-17 for PSRAM (may fail due to isPinOk() but that will also prevent other allocation) - managed_pin_type pins[] = { {12, true}, {13, true}, {14, true}, {15, true}, {16, true}, {17, true} }; - pinManager.allocateMultiplePins(pins, sizeof(pins)/sizeof(managed_pin_type), PinOwner::SPI_RAM); + //managed_pin_type pins[] = { {12, true}, {13, true}, {14, true}, {15, true}, {16, true}, {17, true} }; + //pinManager.allocateMultiplePins(pins, sizeof(pins)/sizeof(managed_pin_type), PinOwner::SPI_RAM); #else // GPIO16/GPIO17 reserved for SPI RAM managed_pin_type pins[] = { {16, true}, {17, true} }; @@ -564,11 +605,16 @@ void WLED::setup() #else DEBUG_PRINTLN(F("PSRAM not used.")); #endif +#endif +#if defined(ARDUINO_ESP32_PICO) +// special handling for PICO-D4: gpio16+17 are in use for onboard SPI FLASH (not PSRAM) +managed_pin_type pins[] = { {16, true}, {17, true} }; +pinManager.allocateMultiplePins(pins, sizeof(pins)/sizeof(managed_pin_type), PinOwner::SPI_RAM); #endif //DEBUG_PRINT(F("LEDs inited. heap usage ~")); //DEBUG_PRINTLN(heapPreAlloc - ESP.getFreeHeap()); - USER_FLUSH(); // WLEDMM flush buffer now, before anything time-critial is started. + USER_FLUSH(); // WLEDMM flush buffer now, before anything time-critical is started. pinManager.manageDebugTXPin(); @@ -581,6 +627,11 @@ void WLED::setup() if(dmxEnablePin > 0) pinManager.allocatePin(dmxEnablePin, true, PinOwner::DMX); #endif +#if defined(ALL_JSON_TO_PSRAM) && defined(WLED_USE_PSRAM_JSON) + USER_PRINTLN(F("JSON gabage collection (initial).")); + doc.garbageCollect(); // WLEDMM experimental - this seems to move the complete doc[] into PSRAM +#endif + // WLEDMM experimental: support for single neoPixel on Adafruit boards #if 0 //#ifdef PIN_NEOPIXEL @@ -610,7 +661,7 @@ void WLED::setup() for (uint8_t i=1; i::max()); +#endif + random16_set_seed((uint16_t)((seed32 & 0xFFFF) ^ (seed32 >> 16))); + + #if WLED_WATCHDOG_TIMEOUT > 0 enableWatchdog(); + #endif #if defined(ARDUINO_ARCH_ESP32) && defined(WLED_DISABLE_BROWNOUT_DET) WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 1); //enable brownout detector @@ -967,7 +1033,7 @@ void WLED::initConnection() WiFi.disconnect(true); // close old connections #ifdef ESP8266 - WiFi.setPhyMode(WIFI_PHY_MODE_11N); + WiFi.setPhyMode(force802_3g ? WIFI_PHY_MODE_11G : WIFI_PHY_MODE_11N); #endif if (staticIP[0] != 0 && staticGateway[0] != 0) { @@ -1138,16 +1204,19 @@ void WLED::handleConnection() #ifdef ARDUINO_ARCH_ESP32 // reconnect WiFi to clear stale allocations if heap gets too low if (now - heapTime > 5000) { // WLEDMM: updated with better logic for small heap available by block, not total. - // uint32_t heap = ESP.getFreeHeap(); +#if defined(ARDUINO_ARCH_ESP32S2) + uint32_t heap = ESP.getFreeHeap(); // WLEDMM works better on -S2 +#else uint32_t heap = heap_caps_get_largest_free_block(0x1800); // WLEDMM: This is a better metric for free heap. +#endif if (heap < MIN_HEAP_SIZE && lastHeap < MIN_HEAP_SIZE) { - DEBUG_PRINT(F("Heap too low! (step 2, force reconnect): ")); - DEBUG_PRINTLN(heap); + USER_PRINT(F("Heap too low! (step 2, force reconnect): ")); + USER_PRINTLN(heap); forceReconnect = true; strip.purgeSegments(true); // remove all but one segments from memory } else if (heap < MIN_HEAP_SIZE) { - DEBUG_PRINT(F("Heap too low! (step 1, flush unread UDP): ")); - DEBUG_PRINTLN(heap); + USER_PRINT(F("Heap too low! (step 1, flush unread UDP): ")); + USER_PRINTLN(heap); strip.purgeSegments(); notifierUdp.flush(); rgbUdp.flush(); @@ -1275,7 +1344,15 @@ void WLED::handleStatusLED() if (ledStatusType) { if (millis() - ledStatusLastMillis >= (1000/ledStatusType)) { ledStatusLastMillis = millis(); - ledStatusState = !ledStatusState; +#if 0 + // WLEDMM un-comment this to stop the blinking + if ((ledStatusType != 2) && (ledStatusType != 4)) + ledStatusState = !ledStatusState; + else + ledStatusState = HIGH; +#else + ledStatusState = !ledStatusState; +#endif #if STATUSLED>=0 digitalWrite(STATUSLED, ledStatusState); #else diff --git a/wled00/wled.h b/wled00/wled.h index 330bbe2d..bd705250 100644 --- a/wled00/wled.h +++ b/wled00/wled.h @@ -3,12 +3,15 @@ /* Main sketch, global variable declarations @title WLED project sketch - @version 0.14.0-b2X + @version 0.14.1-b1x @author Christian Schwinne */ // version code in format yymmddb (b = daily build) -#define VERSION 2310240 +#define VERSION 2401290 + +// WLEDMM - you can check for this define in usermods, to only enabled WLEDMM specific code in the "right" fork. Its not defined in AC WLED. +#define _MoonModules_WLED_ //WLEDMM + Moustachauve/Wled-Native // You can define custom product info from build flags. @@ -174,7 +177,7 @@ // ESP32-WROVER features SPI RAM (aka PSRAM) which can be allocated using ps_malloc() // we can create custom PSRAMDynamicJsonDocument to use such feature (replacing DynamicJsonDocument) // The following is a construct to enable code to compile without it. -// There is a code thet will still not use PSRAM though: +// There is a code that will still not use PSRAM though: // AsyncJsonResponse is a derived class that implements DynamicJsonDocument (AsyncJson-v6.h) #if defined(ARDUINO_ARCH_ESP32) && defined(BOARD_HAS_PSRAM) && (defined(WLED_USE_PSRAM) || defined(WLED_USE_PSRAM_JSON)) // WLEDMM struct PSRAM_Allocator { @@ -191,6 +194,7 @@ struct PSRAM_Allocator { } }; using PSRAMDynamicJsonDocument = BasicJsonDocument; +//#define DynamicJsonDocument PSRAMDynamicJsonDocument // WLEDMM experiment #else #define PSRAMDynamicJsonDocument DynamicJsonDocument #endif @@ -338,6 +342,7 @@ WLED_GLOBAL bool noWifiSleep _INIT(true); // disabling #else WLED_GLOBAL bool noWifiSleep _INIT(false); #endif +WLED_GLOBAL bool force802_3g _INIT(false); #ifdef WLED_USE_ETHERNET #ifdef WLED_ETH_DEFAULT // default ethernet board type if specified @@ -443,7 +448,7 @@ WLED_GLOBAL uint16_t e131ProxyUniverse _INIT(0); // output this WLED_GLOBAL int dmxEnablePin _INIT(0); #endif -WLED_GLOBAL uint16_t e131Universe _INIT(1); // settings for E1.31 (sACN) protocol (only DMX_MODE_MULTIPLE_* can span over consequtive universes) +WLED_GLOBAL uint16_t e131Universe _INIT(1); // settings for E1.31 (sACN) protocol (only DMX_MODE_MULTIPLE_* can span over consecutive universes) WLED_GLOBAL uint16_t e131Port _INIT(5568); // DMX in port. E1.31 default is 5568, Art-Net is 6454 WLED_GLOBAL byte e131Priority _INIT(0); // E1.31 port priority (if != 0 priority handling is active) WLED_GLOBAL E131Priority highPriority _INIT(3); // E1.31 highest priority tracking, init = timeout in seconds @@ -546,7 +551,7 @@ WLED_GLOBAL uint16_t userVar0 _INIT(0), userVar1 _INIT(0); //available for use i // wifi WLED_GLOBAL bool apActive _INIT(false); WLED_GLOBAL bool forceReconnect _INIT(false); -WLED_GLOBAL uint32_t lastReconnectAttempt _INIT(0); +WLED_GLOBAL unsigned long lastReconnectAttempt _INIT(0); WLED_GLOBAL bool interfacesInited _INIT(false); WLED_GLOBAL bool wasConnected _INIT(false); @@ -555,7 +560,7 @@ WLED_GLOBAL byte lastRandomIndex _INIT(0); // used to save last random co // transitions WLED_GLOBAL bool transitionActive _INIT(false); -WLED_GLOBAL uint16_t transitionDelayDefault _INIT(transitionDelay); // default transition time (storec in cfg.json) +WLED_GLOBAL uint16_t transitionDelayDefault _INIT(transitionDelay); // default transition time (stored in cfg.json) WLED_GLOBAL uint16_t transitionDelayTemp _INIT(transitionDelay); // actual transition duration (overrides transitionDelay in certain cases) WLED_GLOBAL unsigned long transitionStartTime; WLED_GLOBAL float tperLast _INIT(0.0f); // crossfade transition progress, 0.0f - 1.0f @@ -575,7 +580,7 @@ WLED_GLOBAL byte colNlT[] _INIT_N(({ 0, 0, 0, 0 })); // current nightligh WLED_GLOBAL unsigned long lastOnTime _INIT(0); WLED_GLOBAL bool offMode _INIT(!turnOnAtBoot); WLED_GLOBAL byte bri _INIT(briS); // global brightness (set) -WLED_GLOBAL byte briOld _INIT(0); // global brightnes while in transition loop (previous iteration) +WLED_GLOBAL byte briOld _INIT(0); // global brightness while in transition loop (previous iteration) WLED_GLOBAL byte briT _INIT(0); // global brightness during transition WLED_GLOBAL byte briLast _INIT(128); // brightness before turned off. Used for toggle function WLED_GLOBAL byte whiteLast _INIT(128); // white channel before turned off. Used for toggle function @@ -670,10 +675,11 @@ WLED_GLOBAL String escapedMac; WLED_GLOBAL DNSServer dnsServer; // network time +#define NTP_NEVER 999000000L WLED_GLOBAL bool ntpConnected _INIT(false); WLED_GLOBAL time_t localTime _INIT(0); -WLED_GLOBAL unsigned long ntpLastSyncTime _INIT(999000000L); -WLED_GLOBAL unsigned long ntpPacketSentTime _INIT(999000000L); +WLED_GLOBAL unsigned long ntpLastSyncTime _INIT(NTP_NEVER); +WLED_GLOBAL unsigned long ntpPacketSentTime _INIT(NTP_NEVER); WLED_GLOBAL IPAddress ntpServerIP; WLED_GLOBAL uint16_t ntpLocalPort _INIT(2390); WLED_GLOBAL uint16_t rolloverMillis _INIT(0); @@ -732,7 +738,7 @@ WLED_GLOBAL bool e131NewData _INIT(false); WLED_GLOBAL BusManager busses _INIT(BusManager()); WLED_GLOBAL WS2812FX strip _INIT(WS2812FX()); WLED_GLOBAL BusConfig* busConfigs[WLED_MAX_BUSSES+WLED_MIN_VIRTUAL_BUSSES] _INIT({nullptr}); //temporary, to remember values from network callback until after -// WLEDMM a few "poor man's" mutal exclusion (mutex) flags, because there are not mutex objects on 8266. +// WLEDMM a few "poor man's" mutual exclusion (mutex) flags, because there are not mutex objects on 8266. WLED_GLOBAL volatile bool doInitBusses _INIT(false); // WLEDMM "volatile" added - needed as we want to sync parallel tasks WLED_GLOBAL volatile bool loadLedmap _INIT(false); // WLEDMM use as bool and use loadedLedmap for Nr WLED_GLOBAL volatile uint8_t loadedLedmap _INIT(0); // WLEDMM default 0 @@ -783,7 +789,17 @@ WLED_GLOBAL int8_t spi_sclk _INIT(HW_PIN_CLOCKSPI); #endif // global ArduinoJson buffer +#if defined(ALL_JSON_TO_PSRAM) && defined(WLED_USE_PSRAM_JSON) +// WLEDMM experimental : always use dynamic JSON + #ifndef WLED_DEFINE_GLOBAL_VARS + WLED_GLOBAL PSRAMDynamicJsonDocument doc; + #else + WLED_GLOBAL PSRAMDynamicJsonDocument doc(JSON_BUFFER_SIZE); + #warning experimental - trying to always use dynamic JSON + #endif +#else WLED_GLOBAL StaticJsonDocument doc; +#endif // WLEDMM end WLED_GLOBAL volatile uint8_t jsonBufferLock _INIT(0); // enable additional debug output diff --git a/wled00/wled_serial.cpp b/wled00/wled_serial.cpp index f0af83b2..c34e29dc 100644 --- a/wled00/wled_serial.cpp +++ b/wled00/wled_serial.cpp @@ -4,7 +4,7 @@ * Adalight and TPM2 handler */ -#define SERIAL_MAXTIME_MILLIS 100 // to avoid blocking other activities, do not spend more than 100ms with continouus reading +#define SERIAL_MAXTIME_MILLIS 100 // to avoid blocking other activities, do not spend more than 100ms with continuous reading // at 115200 baud, 100ms is enough to send/receive 1280 chars enum class AdaState { diff --git a/wled00/wled_server.cpp b/wled00/wled_server.cpp index 36283aa1..202b07d9 100644 --- a/wled00/wled_server.cpp +++ b/wled00/wled_server.cpp @@ -575,11 +575,15 @@ void serveSettingsJS(AsyncWebServerRequest* request) #ifdef ARDUINO_ARCH_ESP32 DEBUG_PRINT(F("ServeSettingsJS: ")); - DEBUG_PRINTF("%s min free stack %d\n", pcTaskGetTaskName(NULL), uxTaskGetStackHighWaterMark(NULL)); //WLEDMM - DEBUG_PRINTF(PSTR(" bytes.\tString buffer usage: %4d of %d bytes\n"), strlen(buf)+1, SETTINGS_STACK_BUF_SIZE+37); + DEBUG_PRINTF("%s min free stack %d", pcTaskGetTaskName(NULL), uxTaskGetStackHighWaterMark(NULL)); //WLEDMM + DEBUG_PRINTF(PSTR(" bytes.\t\tString buffer usage: %4d of %d bytes\n"), strlen(buf)+1, SETTINGS_STACK_BUF_SIZE+37); #endif - - request->send(200, "application/javascript", buf); + + AsyncWebServerResponse *response; + response = request->beginResponse(200, "application/javascript", buf); + response->addHeader(F("Cache-Control"),"no-store"); + response->addHeader(F("Expires"),"0"); + request->send(response); } diff --git a/wled00/ws.cpp b/wled00/ws.cpp index 22f2c06e..2ed23ce5 100644 --- a/wled00/ws.cpp +++ b/wled00/ws.cpp @@ -35,7 +35,7 @@ void wsEvent(AsyncWebSocket * server, AsyncWebSocketClient * client, AwsEventTyp { if (len > 0 && len < 10 && data[0] == 'p') { // application layer ping/pong heartbeat. - // client-side socket layer ping packets are unresponded (investigate) + // client-side socket layer ping packets are unanswered (investigate) client->text(F("pong")); return; } @@ -171,13 +171,13 @@ void sendDataWs(AsyncWebSocketClient * client) releaseJSONBufferLock(); } -// WLEDMM function to recover full-brigh pixel (based on code from upstream alt-buffer, which is based on code from NeoPixelBrightnessBus) +// WLEDMM function to recover full-bright pixel (based on code from upstream alt-buffer, which is based on code from NeoPixelBrightnessBus) static uint32_t restoreColorLossy(uint32_t c, uint_fast8_t _restaurationBri) { if (_restaurationBri == 255) return c; uint8_t* chan = (uint8_t*) &c; for (uint_fast8_t i=0; i<4; i++) { uint_fast16_t val = chan[i]; - chan[i] = ((val << 8) + _restaurationBri) / (_restaurationBri + 1); //adding _bri slighly improves recovery / stops degradation on re-scale + chan[i] = ((val << 8) + _restaurationBri) / (_restaurationBri + 1); //adding _bri slightly improves recovery / stops degradation on re-scale } return c; } @@ -187,23 +187,30 @@ static bool sendLiveLedsWs(uint32_t wsClient) // WLEDMM added "static" AsyncWebSocketClient * wsc = ws.client(wsClient); if (!wsc || wsc->queueLength() > 0) return false; //only send if queue free - size_t used = strip.getLengthTotal(); -#ifdef ESP8266 - constexpr size_t MAX_LIVE_LEDS_WS = 256U; -#else - constexpr size_t MAX_LIVE_LEDS_WS = 4096U; //WLEDMM use 4096 as max matrix size -#endif - size_t n = ((used -1)/MAX_LIVE_LEDS_WS) +1; //only serve every n'th LED if count over MAX_LIVE_LEDS_WS + #ifdef ESP8266 + constexpr size_t MAX_LIVE_LEDS_WS = 256U; + #else + constexpr size_t MAX_LIVE_LEDS_WS = 4096U; //WLEDMM use 4096 as max matrix size + #endif + size_t used;// = strip.getLengthTotal(); + size_t n;// = ((used -1)/MAX_LIVE_LEDS_WS) +1; //only serve every n'th LED if count over MAX_LIVE_LEDS_WS //WLEDMM skipping lines done right #ifndef WLED_DISABLE_2D if (strip.isMatrix) { - if (Segment::maxWidth * Segment::maxHeight > MAX_LIVE_LEDS_WS*4) + used = Segment::maxWidth * Segment::maxHeight; + if (used > MAX_LIVE_LEDS_WS*4) n = 4; - else if (Segment::maxWidth * Segment::maxHeight > MAX_LIVE_LEDS_WS) + else if (used > MAX_LIVE_LEDS_WS) n = 2; else n = 1; + } else { + used = strip.getLengthTotal(); + n = ((used -1)/MAX_LIVE_LEDS_WS) +1; //only serve every n'th LED if count over MAX_LIVE_LEDS_WS } + #else + used = strip.getLengthTotal(); + n = ((used -1)/MAX_LIVE_LEDS_WS) +1; //only serve every n'th LED if count over MAX_LIVE_LEDS_WS #endif size_t pos = (strip.isMatrix ? 4 : 2); size_t bufSize = pos + (used/n)*3; diff --git a/wled00/xml.cpp b/wled00/xml.cpp index 71f7f2ef..26eac522 100644 --- a/wled00/xml.cpp +++ b/wled00/xml.cpp @@ -343,6 +343,7 @@ void getSettingsJS(AsyncWebServerRequest* request, byte subPage, char* dest) //W sappends('s',SET_F("AP"),fapass); sappend('v',SET_F("AC"),apChannel); + sappend('c',SET_F("FG"),force802_3g); sappend('c',SET_F("WS"),noWifiSleep); #ifndef WLED_DISABLE_ESPNOW