diff --git a/.gitignore b/.gitignore index 3cedb39b..6c63975f 100644 --- a/.gitignore +++ b/.gitignore @@ -8,7 +8,6 @@ firmware* .gcc-flags.json .sconsign.dblite credentials.h -.build node_modules code/utils custom.h diff --git a/CHANGELOG.md b/CHANGELOG.md index f72fda97..3f05a30b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,57 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). +## [1.12.4] 2018-03-05 +### Fixed +- Adding a 1ms delay after UDP send to avoid loosing packets ([#438](https://github.com/xoseperez/espurna/issues/438)) +- Fixed void return in BMX280 sensor ([#489](https://github.com/xoseperez/espurna/issues/489)) +- Fix MQTT keep alive cannot be more than 255 seconds ([#515](https://github.com/xoseperez/espurna/issues/515)) +- Do not show scheduler tab in Web UI if build without scheduler support ([#527](https://github.com/xoseperez/espurna/issues/527)) +- Fix inline documentation for Sonoff 4CH Pro button modes ([#551](https://github.com/xoseperez/espurna/issues/551)) +- Prevent resending messages from rfin in RF Bridge ([#561](https://github.com/xoseperez/espurna/issues/561)) +- Fix AnalogSensor description ([#601](https://github.com/xoseperez/espurna/issues/601)) +- Fixed missing setting in HASS WS callback (thanks to Maxim Prokhorov) +- ECH1560 call sync from tick method +- Fixed several issues reported by codacy + +### Added +- UART to MQTT module (thanks to Albert Weterings, [#529](https://github.com/xoseperez/espurna/issues/529)) +- Added option to show HASS configuration code in ESPurna web UI ([#616](https://github.com/xoseperez/espurna/issues/616)) +- OTA upgrade via terminal (using 'ota' command, with SSL support) +- Added I2C scan and clear commands to terminal (only when I2C enabled) +- Added new relay & wifi led mode ([#604](https://github.com/xoseperez/espurna/issues/604)) +- Option to enable/disable web auth from web UI +- Added "Reset to factory settings" in web UI (thanks to Teo Pavel, [#569](https://github.com/xoseperez/espurna/issues/569)) +- Added {magnitude} placeholder to MQTT root topic +- Option to report energy in kWh and power in kW ([#523](https://github.com/xoseperez/espurna/issues/523)) +- Check upgrade file size and signature in web UI +- Automatically dump info on telnet connection if TERMINAL_SUPPORT is disabled +- Two different ESPURNA_CORE images for 1MB and 4MB boards, freeing GPIOs ([#557](https://github.com/xoseperez/espurna/issues/557)) +- Initial support for PZEM004T sensor (still beta) +- Support for STM_RELAY board (thanks to Maciej Czerniak) +- Support for KMC 70011 energy monitor (thanks to Wayne Manion, [#598](https://github.com/xoseperez/espurna/issues/598)) +- Support for Wifi Stecker Shuko device (thanks to @Geitde, [#622](https://github.com/xoseperez/espurna/issues/622)) +- Support for GizWits Witty Cloud device (thanks to Theonedemon) + +### Changed +- BMX280 changes to allow for hot-plug ([#353](https://github.com/xoseperez/espurna/issues/353)) +- Increase the initial check interval for NTP ([#452](https://github.com/xoseperez/espurna/issues/452)) +- Force turning relays off before turning others on when synced ([#491](https://github.com/xoseperez/espurna/issues/491)) +- Publish slampher as light to Home Assistant ([#494](https://github.com/xoseperez/espurna/issues/494)) +- Force API to return the target status of the relay ([#548](https://github.com/xoseperez/espurna/issues/548)) +- Increasing max number of messages in JSON payload to 20 ([#588](https://github.com/xoseperez/espurna/issues/588)) +- Change copy from 'Use colorpicker' to 'Use color'. Better hint. ([#590](https://github.com/xoseperez/espurna/issues/590)) +- Completely reworked the RF module to use the same web UI as the RFBridge module to learn new codes ([#594](https://github.com/xoseperez/espurna/issues/594)) +- Several spelling and grammar changes by Lee Marlow +- Always enabled telnet access in ESPURNA_CORE image +- Updated ESPSoftwareSerial, ESPAsyncTCP and ESPAsyncWebServer libraries + +### Removed +- Remove dependency from gulp-util ([#493](https://github.com/xoseperez/espurna/issues/493)) +- Removed specific support for Magic Home LED Controller 2.3 ([#512](https://github.com/xoseperez/espurna/issues/512)) +- Disabled floating point support when building against Arduino Core 2.4.0 with PIO +- Removed WiFi distance calculation + ## [1.12.3] 2018-01-29 ### Fixed - Fix telnet crash due to local reference ([#487](https://github.com/xoseperez/espurna/issues/487)) diff --git a/README.md b/README.md index 10519c05..da266d4b 100644 --- a/README.md +++ b/README.md @@ -3,10 +3,10 @@ ESPurna ("spark" in Catalan) is a custom firmware for ESP8266 based smart switches and sensors. It uses the Arduino Core for ESP8266 framework and a number of 3rd party libraries. -[![version](https://img.shields.io/badge/version-1.12.3-brightgreen.svg)](CHANGELOG.md) -![branch](https://img.shields.io/badge/branch-master-orange.svg) -[![travis](https://travis-ci.org/xoseperez/espurna.svg?branch=master)](https://travis-ci.org/xoseperez/espurna) -[![license](https://img.shields.io/github/license/xoseperez/espurna.svg)](LICENSE) +[![version](https://img.shields.io/badge/version-1.12.4-brightgreen.svg)](CHANGELOG.md) +![branch](https://img.shields.io/badge/branch-dev-orange.svg) +[![travis](https://travis-ci.org/xoseperez/espurna.svg?branch=dev)](https://travis-ci.org/xoseperez/espurna) +[![codacy](https://img.shields.io/codacy/grade/c9496e25cf07434cba786b462cb15f49/dev.svg)](https://www.codacy.com/app/xoseperez/espurna/dashboard) [![donate](https://img.shields.io/badge/donate-PayPal-blue.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=xose%2eperez%40gmail%2ecom&lc=US&no_note=0¤cy_code=EUR&bn=PP%2dDonationsBF%3abtn_donate_LG%2egif%3aNonHostedGuest) [![twitter](https://img.shields.io/twitter/follow/xoseperez.svg?style=social)](https://twitter.com/intent/follow?screen_name=xoseperez) @@ -45,10 +45,11 @@ It uses the Arduino Core for ESP8266 framework and a number of 3rd party librari * **Alexa** integration using the [FauxmoESP Library](https://bitbucket.org/xoseperez/fauxmoesp) * [**Google Assistant**](http://tinkerman.cat/using-google-assistant-control-your-esp8266-devices/) integration using IFTTT and Webhooks (Google Home, Allo) * [**Domoticz**](https://domoticz.com/) integration via MQTT -* [**Home Assistant**](https://home-assistant.io/) integration via MQTT +* [**Home Assistant**](https://home-assistant.io/) integration * Support for switches (on/off) * Support for lights (color, brightness, on/off state) * Supports MQTT auto-discover feature (switches, lights and sensors) + * Integration via MQTT Discover or copy-pasting configuration code * [**InfluxDB**](https://www.influxdata.com/) integration via HTTP API * [**Thingspeak**](https://thingspeak.com/) integration via HTTP API (HTTPS available for custom builds) * **Sonoff RF Bridge** support @@ -72,7 +73,7 @@ It uses the Arduino Core for ESP8266 framework and a number of 3rd party librari * **V9261F** power monitor chip * Raw analog and digital sensors * Simple pulse counter - * All temperature sensors support Fahrenheit and Celsius + * Support for different units (Fahrenheit or Celsius, Watts or Kilowatts, Joules or kWh) * Support for LED lights * MY92XX-based light bulbs and PWM LED strips (dimmers) up to 5 channels (RGB, cold white and warm white, for instance) * RGB and HSV color codes supported @@ -82,6 +83,8 @@ It uses the Arduino Core for ESP8266 framework and a number of 3rd party librari * Soft color transitions * Color synchronization between light using MQTT * Option to have separate switches for each channel +* Support for simple 433MHz RF receivers +* Support for UART-to-MQTT bidirectional bridge * Fast asynchronous **HTTP Server** * Configurable port * Basic authentication @@ -115,6 +118,7 @@ It uses the Arduino Core for ESP8266 framework and a number of 3rd party librari * **Unstable system check** * Detects unstable system (crashes on boot continuously) and defaults to a stable system * Only WiFi AP, OTA and Telnet available if system is flagged as unstable +* Configurable LED notifications based on WiFi status, relays status or MQTT messages. * Button interface * Click to toggle relays * Double click to enter AP mode (only main button) @@ -193,7 +197,7 @@ Here is the list of supported hardware. For more information please refer to the |![EXS Wifi Relay v3.1](images/devices/exs-wifi-relay-v31.jpg)||| |**EXS Wifi Relay v3.1**||| -**Other supported boards:** Itead Sonoff LED, Itead Sonoff Dual R2, Huacanxing H802, WiOn 50055, ManCaveMade ESP-Live, InterMitTech QuinLED 2.6, Arilux AL-LC01, Arilux AL-LC02, Arilux AL-LC06, Arilux AL-LC11, Arilux E27 light bulb, Xenon SM-PW702U, Authometion LYT8266, YJZK 2-gang switch, Magic Home LED Controller 2.3. +**Other supported boards:** Itead Sonoff LED, Itead Sonoff Dual R2, Huacanxing H802, WiOn 50055, ManCaveMade ESP-Live, InterMitTech QuinLED 2.6, Arilux AL-LC01, Arilux AL-LC02, Arilux AL-LC06, Arilux AL-LC11, Arilux E27 light bulb, Xenon SM-PW702U, Authometion LYT8266, YJZK 2-gang switch, Magic Home LED Controller 2.3, STM_RELAY, KMC 70011 energy monitor, Wifi Stecker Shuko, GizWits Witty Cloud. ## License diff --git a/code/build.sh b/code/build.sh index 8d532506..58ce7801 100755 --- a/code/build.sh +++ b/code/build.sh @@ -39,7 +39,7 @@ echo "--------------------------------------------------------------" echo "Building web interface..." node node_modules/gulp/bin/gulp.js || exit -# Build all the required firmwares +# Build all the required firmware images echo "--------------------------------------------------------------" echo "Building firmware images..." mkdir -p ../firmware/espurna-$version diff --git a/code/espurna/button.ino b/code/espurna/button.ino index 101183c1..657cc197 100644 --- a/code/espurna/button.ino +++ b/code/espurna/button.ino @@ -22,14 +22,14 @@ typedef struct { std::vector _buttons; #if MQTT_SUPPORT -#ifdef MQTT_TOPIC_BUTTON + void buttonMQTT(unsigned char id, uint8_t event) { if (id >= _buttons.size()) return; char payload[2]; itoa(event, payload, 10); mqttSend(MQTT_TOPIC_BUTTON, id, payload); } -#endif + #endif int buttonFromRelay(unsigned int relayID) { @@ -84,10 +84,8 @@ void buttonEvent(unsigned int id, unsigned char event) { if (event == 0) return; #if MQTT_SUPPORT - #ifdef MQTT_TOPIC_BUTTON buttonMQTT(id, event); #endif - #endif unsigned char action = buttonAction(id, event); @@ -131,49 +129,49 @@ void buttonSetup() { unsigned long btnDelay = getSetting("btnDelay", BUTTON_DBLCLICK_DELAY).toInt(); - #ifdef BUTTON1_PIN + #if BUTTON1_PIN != GPIO_NONE { unsigned int actions = buttonStore(BUTTON1_PRESS, BUTTON1_CLICK, BUTTON1_DBLCLICK, BUTTON1_LNGCLICK, BUTTON1_LNGLNGCLICK); _buttons.push_back({new DebounceEvent(BUTTON1_PIN, BUTTON1_MODE, BUTTON_DEBOUNCE_DELAY, btnDelay), actions, BUTTON1_RELAY}); } #endif - #ifdef BUTTON2_PIN + #if BUTTON2_PIN != GPIO_NONE { unsigned int actions = buttonStore(BUTTON2_PRESS, BUTTON2_CLICK, BUTTON2_DBLCLICK, BUTTON2_LNGCLICK, BUTTON2_LNGLNGCLICK); _buttons.push_back({new DebounceEvent(BUTTON2_PIN, BUTTON2_MODE, BUTTON_DEBOUNCE_DELAY, btnDelay), actions, BUTTON2_RELAY}); } #endif - #ifdef BUTTON3_PIN + #if BUTTON3_PIN != GPIO_NONE { unsigned int actions = buttonStore(BUTTON3_PRESS, BUTTON3_CLICK, BUTTON3_DBLCLICK, BUTTON3_LNGCLICK, BUTTON3_LNGLNGCLICK); _buttons.push_back({new DebounceEvent(BUTTON3_PIN, BUTTON3_MODE, BUTTON_DEBOUNCE_DELAY, btnDelay), actions, BUTTON3_RELAY}); } #endif - #ifdef BUTTON4_PIN + #if BUTTON4_PIN != GPIO_NONE { unsigned int actions = buttonStore(BUTTON4_PRESS, BUTTON4_CLICK, BUTTON4_DBLCLICK, BUTTON4_LNGCLICK, BUTTON4_LNGLNGCLICK); _buttons.push_back({new DebounceEvent(BUTTON4_PIN, BUTTON4_MODE, BUTTON_DEBOUNCE_DELAY, btnDelay), actions, BUTTON4_RELAY}); } #endif - #ifdef BUTTON5_PIN + #if BUTTON5_PIN != GPIO_NONE { unsigned int actions = buttonStore(BUTTON5_PRESS, BUTTON5_CLICK, BUTTON5_DBLCLICK, BUTTON5_LNGCLICK, BUTTON5_LNGLNGCLICK); _buttons.push_back({new DebounceEvent(BUTTON5_PIN, BUTTON5_MODE, BUTTON_DEBOUNCE_DELAY, btnDelay), actions, BUTTON5_RELAY}); } #endif - #ifdef BUTTON6_PIN + #if BUTTON6_PIN != GPIO_NONE { unsigned int actions = buttonStore(BUTTON6_PRESS, BUTTON6_CLICK, BUTTON6_DBLCLICK, BUTTON6_LNGCLICK, BUTTON6_LNGLNGCLICK); _buttons.push_back({new DebounceEvent(BUTTON6_PIN, BUTTON6_MODE, BUTTON_DEBOUNCE_DELAY, btnDelay), actions, BUTTON6_RELAY}); } #endif - #ifdef BUTTON7_PIN + #if BUTTON7_PIN != GPIO_NONE { unsigned int actions = buttonStore(BUTTON7_PRESS, BUTTON7_CLICK, BUTTON7_DBLCLICK, BUTTON7_LNGCLICK, BUTTON7_LNGLNGCLICK); _buttons.push_back({new DebounceEvent(BUTTON7_PIN, BUTTON7_MODE, BUTTON_DEBOUNCE_DELAY, btnDelay), actions, BUTTON7_RELAY}); } #endif - #ifdef BUTTON8_PIN + #if BUTTON8_PIN != GPIO_NONE { unsigned int actions = buttonStore(BUTTON8_PRESS, BUTTON8_CLICK, BUTTON8_DBLCLICK, BUTTON8_LNGCLICK, BUTTON8_LNGLNGCLICK); _buttons.push_back({new DebounceEvent(BUTTON8_PIN, BUTTON8_MODE, BUTTON_DEBOUNCE_DELAY, btnDelay), actions, BUTTON8_RELAY}); diff --git a/code/espurna/config/all.h b/code/espurna/config/all.h index 3834ba3c..36442202 100644 --- a/code/espurna/config/all.h +++ b/code/espurna/config/all.h @@ -1,13 +1,24 @@ /* + If you want to modify the stock configuration but you don't want to touch - the repo files you can either define USE_CUSTOM_H or remove the - "#ifdef USE_CUSTOM_H" & "#endif" lines and add a "custom.h" - file to this same folder. + the repo files you can define USE_CUSTOM_H in your build settings. + + Arduino IDE: + define it in your boards.txt for the board of your choice. + For instance, for the "Generic ESP8266 Module" with prefix "generic" just add: + + generic.build.extra_flags=-DESP8266 -DUSE_CUSTOM_H + + PlatformIO: + add the setting to your environment or just define global PLATFORMIO_BUILD_FLAGS + + export PLATFORMIO_BUILD_FLAGS="'-DUSE_CUSTOM_H'" + Check https://github.com/xoseperez/espurna/issues/104 for an example on how to use this file. - (Define USE_CUSTOM_H on commandline for platformio: - export PLATFORMIO_BUILD_FLAGS="'-DUSE_CUSTOM_H'" ) + */ + #ifdef USE_CUSTOM_H #include "custom.h" #endif @@ -23,3 +34,5 @@ #ifdef USE_CORE_VERSION_H #include "core_version.h" #endif + +#include "build.h" diff --git a/code/espurna/config/arduino.h b/code/espurna/config/arduino.h index feb0859b..de97e03a 100644 --- a/code/espurna/config/arduino.h +++ b/code/espurna/config/arduino.h @@ -54,18 +54,21 @@ //#define ARILUX_E27 //#define XENON_SM_PW702U //#define AUTHOMETION_LYT8266 +//#define KMC_70011 //#define GENERIC_8CH //#define ARILUX_AL_LC01 //#define ARILUX_AL_LC11 //#define ARILUX_AL_LC02 //#define WEMOS_D1_TARPUNA_SHIELD -//#define MAGICHOME_LED_CONTROLLER_23 +//#define GIZWITS_WITTY_CLOUD +//#define EUROMATE_WIFI_STECKER_SCHUKO //-------------------------------------------------------------------------------- // Features (values below are non-default values) //-------------------------------------------------------------------------------- //#define ALEXA_SUPPORT 0 +//#define BROKER_SUPPORT 0 //#define DEBUG_SERIAL_SUPPORT 0 //#define DEBUG_TELNET_SUPPORT 0 //#define DEBUG_UDP_SUPPORT 1 @@ -77,7 +80,6 @@ //#define LLMNR_SUPPORT 1 // Only with Arduino Core 2.4.0 //#define MDNS_SERVER_SUPPORT 0 //#define MDNS_CLIENT_SUPPORT 1 -//#define BROKER_SUPPORT 0 //#define MQTT_SUPPORT 0 //#define NETBIOS_SUPPORT 1 // Only with Arduino Core 2.4.0 //#define NOFUSS_SUPPORT 1 @@ -89,6 +91,7 @@ //#define TELNET_SUPPORT 0 //#define TERMINAL_SUPPORT 0 //#define THINGSPEAK_SUPPORT 0 +//#define UART_MQTT_SUPPORT 1 //#define WEB_SUPPORT 0 //-------------------------------------------------------------------------------- @@ -109,6 +112,7 @@ //#define HLW8012_SUPPORT 1 //#define MHZ19_SUPPORT 1 //#define PMSX003_SUPPORT 1 +//#define PZEM004T_SUPPORT 1 //#define SHT3X_I2C_SUPPORT 1 //#define SI7021_SUPPORT 1 //#define V9261F_SUPPORT 1 diff --git a/code/espurna/config/build.h b/code/espurna/config/build.h new file mode 100644 index 00000000..ef312406 --- /dev/null +++ b/code/espurna/config/build.h @@ -0,0 +1,5 @@ +// DO NOT EDIT THIS FILE MANUALLY +// This file is modified by PlatformIO +// This file should not be pushed when modified, untrack changes with: +// git update-index --assume-unchanged code/espurna/config/build.h +#define APP_BUILD_FLAGS "" diff --git a/code/espurna/config/defaults.h b/code/espurna/config/defaults.h index 8d192f5d..8e82543b 100644 --- a/code/espurna/config/defaults.h +++ b/code/espurna/config/defaults.h @@ -2,10 +2,37 @@ // Hardware default values // ----------------------------------------------------------------------------- +#define GPIO_NONE 0x99 + // ----------------------------------------------------------------------------- // Buttons // ----------------------------------------------------------------------------- +#ifndef BUTTON1_PIN +#define BUTTON1_PIN GPIO_NONE +#endif +#ifndef BUTTON2_PIN +#define BUTTON2_PIN GPIO_NONE +#endif +#ifndef BUTTON3_PIN +#define BUTTON3_PIN GPIO_NONE +#endif +#ifndef BUTTON4_PIN +#define BUTTON4_PIN GPIO_NONE +#endif +#ifndef BUTTON5_PIN +#define BUTTON5_PIN GPIO_NONE +#endif +#ifndef BUTTON6_PIN +#define BUTTON6_PIN GPIO_NONE +#endif +#ifndef BUTTON7_PIN +#define BUTTON7_PIN GPIO_NONE +#endif +#ifndef BUTTON8_PIN +#define BUTTON8_PIN GPIO_NONE +#endif + #ifndef BUTTON1_PRESS #define BUTTON1_PRESS BUTTON_MODE_NONE #endif @@ -160,6 +187,35 @@ // Relays // ----------------------------------------------------------------------------- +#ifndef DUMMY_RELAY_COUNT +#define DUMMY_RELAY_COUNT 0 +#endif + +#ifndef RELAY1_PIN +#define RELAY1_PIN GPIO_NONE +#endif +#ifndef RELAY2_PIN +#define RELAY2_PIN GPIO_NONE +#endif +#ifndef RELAY3_PIN +#define RELAY3_PIN GPIO_NONE +#endif +#ifndef RELAY4_PIN +#define RELAY4_PIN GPIO_NONE +#endif +#ifndef RELAY5_PIN +#define RELAY5_PIN GPIO_NONE +#endif +#ifndef RELAY6_PIN +#define RELAY6_PIN GPIO_NONE +#endif +#ifndef RELAY7_PIN +#define RELAY7_PIN GPIO_NONE +#endif +#ifndef RELAY8_PIN +#define RELAY8_PIN GPIO_NONE +#endif + #ifndef RELAY1_TYPE #define RELAY1_TYPE RELAY_TYPE_NORMAL #endif @@ -175,7 +231,7 @@ #ifndef RELAY5_TYPE #define RELAY5_TYPE RELAY_TYPE_NORMAL #endif -#ifndef RELAY6_TYPE +#ifndef RELAY6_TYPE #define RELAY6_TYPE RELAY_TYPE_NORMAL #endif #ifndef RELAY7_TYPE @@ -186,28 +242,28 @@ #endif #ifndef RELAY1_RESET_PIN -#define RELAY1_RESET_PIN 0 +#define RELAY1_RESET_PIN GPIO_NONE #endif #ifndef RELAY2_RESET_PIN -#define RELAY2_RESET_PIN 0 +#define RELAY2_RESET_PIN GPIO_NONE #endif #ifndef RELAY3_RESET_PIN -#define RELAY3_RESET_PIN 0 +#define RELAY3_RESET_PIN GPIO_NONE #endif #ifndef RELAY4_RESET_PIN -#define RELAY4_RESET_PIN 0 +#define RELAY4_RESET_PIN GPIO_NONE #endif #ifndef RELAY5_RESET_PIN -#define RELAY5_RESET_PIN 0 +#define RELAY5_RESET_PIN GPIO_NONE #endif #ifndef RELAY6_RESET_PIN -#define RELAY6_RESET_PIN 0 +#define RELAY6_RESET_PIN GPIO_NONE #endif #ifndef RELAY7_RESET_PIN -#define RELAY7_RESET_PIN 0 +#define RELAY7_RESET_PIN GPIO_NONE #endif #ifndef RELAY8_RESET_PIN -#define RELAY8_RESET_PIN 0 +#define RELAY8_RESET_PIN GPIO_NONE #endif #ifndef RELAY1_DELAY_ON @@ -264,6 +320,31 @@ // LEDs // ----------------------------------------------------------------------------- +#ifndef LED1_PIN +#define LED1_PIN GPIO_NONE +#endif +#ifndef LED2_PIN +#define LED2_PIN GPIO_NONE +#endif +#ifndef LED3_PIN +#define LED3_PIN GPIO_NONE +#endif +#ifndef LED4_PIN +#define LED4_PIN GPIO_NONE +#endif +#ifndef LED5_PIN +#define LED5_PIN GPIO_NONE +#endif +#ifndef LED6_PIN +#define LED6_PIN GPIO_NONE +#endif +#ifndef LED7_PIN +#define LED7_PIN GPIO_NONE +#endif +#ifndef LED8_PIN +#define LED8_PIN GPIO_NONE +#endif + #ifndef LED1_MODE #define LED1_MODE LED_MODE_WIFI #endif diff --git a/code/espurna/config/general.h b/code/espurna/config/general.h index 81c4d749..8ca8ff3a 100644 --- a/code/espurna/config/general.h +++ b/code/espurna/config/general.h @@ -15,22 +15,6 @@ #define ARRAYINIT(type, name, ...) \ type name[] = {__VA_ARGS__}; -//------------------------------------------------------------------------------ -// ESPURNA CORE -//------------------------------------------------------------------------------ - -#ifdef ESPURNA_CORE - #define ALEXA_SUPPORT 0 - #define SCHEDULER_SUPPORT 0 - #define DOMOTICZ_SUPPORT 0 - #define HOMEASSISTANT_SUPPORT 0 - #define MQTT_SUPPORT 0 - #define NTP_SUPPORT 0 - #define WEB_SUPPORT 0 - #define SENSOR_SUPPORT 0 - #define I2C_SUPPORT 0 -#endif - //------------------------------------------------------------------------------ // TELNET //------------------------------------------------------------------------------ @@ -71,9 +55,15 @@ // Second serial port (used for RX) -//#define SERIAL_RX_PORT Serial // This setting is usually defined +#ifndef SERIAL_RX_ENABLED +#define SERIAL_RX_ENABLED 0 // Secondary serial port for RX +#endif + +#ifndef SERIAL_RX_PORT +#define SERIAL_RX_PORT Serial // This setting is usually defined // in the hardware.h file for those // boards that require it +#endif #ifndef SERIAL_RX_BAUDRATE #define SERIAL_RX_BAUDRATE 115200 // Default baudrate @@ -275,6 +265,7 @@ PROGMEM const char* const custom_reset_string[] = { #define RELAY_PROVIDER_DUAL 1 #define RELAY_PROVIDER_LIGHT 2 #define RELAY_PROVIDER_RFBRIDGE 3 +#define RELAY_PROVIDER_STM 4 // Default boot mode: 0 means OFF, 1 ON and 2 whatever was before #define RELAY_BOOT_MODE RELAY_BOOT_OFF @@ -300,13 +291,6 @@ PROGMEM const char* const custom_reset_string[] = { // Do not save relay state after these many milliseconds #define RELAY_SAVE_DELAY 1000 -//------------------------------------------------------------------------------ -// I18N -//------------------------------------------------------------------------------ - -#define TMP_CELSIUS 0 -#define TMP_FAHRENHEIT 1 - //------------------------------------------------------------------------------ // LED //------------------------------------------------------------------------------ @@ -316,10 +300,11 @@ PROGMEM const char* const custom_reset_string[] = { #define LED_MODE_FOLLOW 2 // LED will follow state of linked relay (check RELAY#_LED) #define LED_MODE_FOLLOW_INVERSE 3 // LED will follow the opposite state of linked relay (check RELAY#_LED) #define LED_MODE_FINDME 4 // LED will be ON if all relays are OFF -#define LED_MODE_MIXED 5 // A mixed between WIFI and FINDME +#define LED_MODE_FINDME_WIFI 5 // A mixture between WIFI and FINDME #define LED_MODE_ON 6 // LED always ON #define LED_MODE_OFF 7 // LED always OFF -#define LED_MODE_STATUS 8 // If any relay is ON, LED will be ON, otherwise OFF +#define LED_MODE_RELAY 8 // If any relay is ON, LED will be ON, otherwise OFF +#define LED_MODE_RELAY_WIFI 9 // A mixture between WIFI and RELAY, the reverse of MIXED // ----------------------------------------------------------------------------- // WIFI @@ -332,15 +317,43 @@ PROGMEM const char* const custom_reset_string[] = { #define WIFI_SLEEP_ENABLED 1 // Enable WiFi light sleep #define WIFI_SCAN_NETWORKS 1 // Perform a network scan before connecting -// Optional hardcoded configuration (up to 2 different networks) -//#define WIFI1_SSID "..." -//#define WIFI1_PASS "..." -//#define WIFI1_IP "192.168.1.201" -//#define WIFI1_GW "192.168.1.1" -//#define WIFI1_MASK "255.255.255.0" -//#define WIFI1_DNS "8.8.8.8" -//#define WIFI2_SSID "..." -//#define WIFI2_PASS "..." +// Optional hardcoded configuration (up to 2 networks) +#ifndef WIFI1_SSID +#define WIFI1_SSID "" +#endif +#ifndef WIFI1_PASS +#define WIFI1_PASS "" +#endif +#ifndef WIFI1_IP +#define WIFI1_IP "" +#endif +#ifndef WIFI1_GW +#define WIFI1_GW "" +#endif +#ifndef WIFI1_MASK +#define WIFI1_MASK "" +#endif +#ifndef WIFI1_DNS +#define WIFI1_DNS "" +#endif +#ifndef WIFI2_SSID +#define WIFI2_SSID "" +#endif +#ifndef WIFI2_PASS +#define WIFI2_PASS "" +#endif +#ifndef WIFI2_IP +#define WIFI2_IP "" +#endif +#ifndef WIFI2_GW +#define WIFI2_GW "" +#endif +#ifndef WIFI2_MASK +#define WIFI2_MASK "" +#endif +#ifndef WIFI2_DNS +#define WIFI2_DNS "" +#endif #define WIFI_RSSI_1M -30 // Calibrate it with your router reading the RSSI at 1m #define WIFI_PROPAGATION_CONST 4 // This is typically something between 2.7 to 4.3 (free space is 2) @@ -374,6 +387,7 @@ PROGMEM const char* const custom_reset_string[] = { // This will only be enabled if WEB_SUPPORT is 1 (this is the default value) +#define WS_AUTHENTICATION 1 // WS authentication ON by default (see #507) #define WS_BUFFER_SIZE 5 // Max number of secured websocket connections #define WS_TIMEOUT 1800000 // Timeout for secured websocket #define WS_UPDATE_INTERVAL 30000 // Update clients every 30 seconds @@ -444,6 +458,7 @@ PROGMEM const char* const custom_reset_string[] = { // ----------------------------------------------------------------------------- #define OTA_PORT 8266 // OTA port +#define OTA_GITHUB_FP "D7:9F:07:61:10:B3:92:93:E3:49:AC:89:84:5B:03:80:C1:9E:2F:8B" // ----------------------------------------------------------------------------- // NOFUSS @@ -457,6 +472,29 @@ PROGMEM const char* const custom_reset_string[] = { #define NOFUSS_SERVER "" // Default NoFuss Server #define NOFUSS_INTERVAL 3600000 // Check for updates every hour +// ----------------------------------------------------------------------------- +// UART <-> MQTT +// ----------------------------------------------------------------------------- + +#ifndef UART_MQTT_SUPPORT +#define UART_MQTT_SUPPORT 0 // No support by default +#endif + +#define UART_MQTT_USE_SOFT 0 // Use SoftwareSerial +#define UART_MQTT_HW_PORT Serial // Hardware serial port (if UART_MQTT_USE_SOFT == 0) +#define UART_MQTT_RX_PIN 4 // RX PIN (if UART_MQTT_USE_SOFT == 1) +#define UART_MQTT_TX_PIN 5 // TX PIN (if UART_MQTT_USE_SOFT == 1) +#define UART_MQTT_BAUDRATE 115200 // Serial speed +#define UART_MQTT_BUFFER_SIZE 100 // UART buffer size + +#if UART_MQTT_SUPPORT +#define MQTT_SUPPORT 1 +#undef TERMINAL_SUPPORT +#define TERMINAL_SUPPORT 0 +#undef DEBUG_SERIAL_SUPPORT +#define DEBUG_SERIAL_SUPPORT 0 +#endif + // ----------------------------------------------------------------------------- // MQTT // ----------------------------------------------------------------------------- @@ -511,7 +549,7 @@ PROGMEM const char* const custom_reset_string[] = { #define MQTT_USE_JSON 0 // Group messages in a JSON body #define MQTT_USE_JSON_DELAY 100 // Wait this many ms before grouping messages -#define MQTT_QUEUE_MAX_SIZE 10 // Size of the MQTT queue when MQTT_USE_JSON is enabled +#define MQTT_QUEUE_MAX_SIZE 20 // Size of the MQTT queue when MQTT_USE_JSON is enabled // These are the properties that will be sent when useJson is true #ifndef MQTT_ENQUEUE_IP @@ -554,6 +592,8 @@ PROGMEM const char* const custom_reset_string[] = { #define MQTT_TOPIC_RFIN "rfin" #define MQTT_TOPIC_RFLEARN "rflearn" #define MQTT_TOPIC_RFRAW "rfraw" +#define MQTT_TOPIC_UARTIN "uartin" +#define MQTT_TOPIC_UARTOUT "uartout" // Light module #define MQTT_TOPIC_CHANNEL "channel" @@ -772,6 +812,7 @@ PROGMEM const char* const custom_reset_string[] = { #define NTP_SERVER "pool.ntp.org" // Default NTP server #define NTP_TIME_OFFSET 1 // Default timezone offset (GMT+1) #define NTP_DAY_LIGHT true // Enable daylight time saving by default +#define NTP_SYNC_INTERVAL 60 // NTP initial check every minute #define NTP_UPDATE_INTERVAL 1800 // NTP check every 30 minutes #define NTP_START_DELAY 1000 // Delay NTP start 1 second @@ -791,6 +832,7 @@ PROGMEM const char* const custom_reset_string[] = { // ----------------------------------------------------------------------------- // RFBRIDGE +// This module is not compatible with RF_SUPPORT=1 // ----------------------------------------------------------------------------- #define RF_SEND_TIMES 4 // How many times to send the message @@ -952,6 +994,7 @@ PROGMEM const char* const custom_reset_string[] = { // Custom RF module // Check http://tinkerman.cat/adding-rf-to-a-non-rf-itead-sonoff/ // Enable support by passing RF_SUPPORT=1 build flag +// This module is not compatible with RFBRIDGE //-------------------------------------------------------------------------------- #ifndef RF_SUPPORT @@ -962,5 +1005,5 @@ PROGMEM const char* const custom_reset_string[] = { #define RF_PIN 14 #endif -#define RF_CHANNEL 31 -#define RF_DEVICE 1 +#define RF_DEBOUNCE 500 +#define RF_LEARN_TIMEOUT 60000 diff --git a/code/espurna/config/hardware.h b/code/espurna/config/hardware.h index 7b950002..5c2f29c4 100644 --- a/code/espurna/config/hardware.h +++ b/code/espurna/config/hardware.h @@ -20,11 +20,38 @@ // // Besides, other hardware specific information should be stated here +// ----------------------------------------------------------------------------- +// ESPurna Core +// ----------------------------------------------------------------------------- + +#if defined(ESPURNA_CORE) + + // This is a special device targeted to generate a light-weight binary image + // meant to be able to do two-step-updates: + // https://github.com/xoseperez/espurna/wiki/TwoStepUpdates + + // Info + #define MANUFACTURER "ESPRESSIF" + #define DEVICE "ESPURNA_CORE" + + // Disable non-core modules + #define ALEXA_SUPPORT 0 + #define BROKER_SUPPORT 0 + #define DOMOTICZ_SUPPORT 0 + #define HOMEASSISTANT_SUPPORT 0 + #define I2C_SUPPORT 0 + #define MQTT_SUPPORT 0 + #define NTP_SUPPORT 0 + #define SCHEDULER_SUPPORT 0 + #define SENSOR_SUPPORT 0 + #define THINGSPEAK_SUPPORT 0 + #define WEB_SUPPORT 0 + // ----------------------------------------------------------------------------- // Development boards // ----------------------------------------------------------------------------- -#if defined(NODEMCU_LOLIN) +#elif defined(NODEMCU_LOLIN) // Info #define MANUFACTURER "NODEMCU" @@ -476,12 +503,14 @@ // and disables any possibly harmful combination with S6 set to 0. // If you are sure you will only use S6 to 1 you can comment the // BUTTON1_LNGCLICK and BUTTON1_LNGLNGCLICK options below to recover the - // AP mode and factory reset functionalities. + // reset mode and factory reset functionalities, or link other actions like + // AP mode in the commented line below. #define BUTTON1_PRESS BUTTON_MODE_TOGGLE #define BUTTON1_CLICK BUTTON_MODE_NONE #define BUTTON1_DBLCLICK BUTTON_MODE_NONE #define BUTTON1_LNGCLICK BUTTON_MODE_NONE + //#define BUTTON1_LNGCLICK BUTTON_MODE_AP #define BUTTON1_LNGLNGCLICK BUTTON_MODE_NONE #define BUTTON2_PRESS BUTTON_MODE_TOGGLE #define BUTTON2_CLICK BUTTON_MODE_NONE @@ -914,35 +943,6 @@ #define IR_PIN 4 #define IR_BUTTON_SET 1 -#elif defined(MAGICHOME_LED_CONTROLLER_23) - - // Info - #define MANUFACTURER "MAGICHOME" - #define DEVICE "LED_CONTROLLER_23" - #define RELAY_PROVIDER RELAY_PROVIDER_LIGHT - #define LIGHT_PROVIDER LIGHT_PROVIDER_DIMMER - #define DUMMY_RELAY_COUNT 1 - - // LEDs - #define LED1_PIN 2 - #define LED1_PIN_INVERSE 1 - - // Light - #define LIGHT_CHANNELS 4 - #define LIGHT_CH1_PIN 12 // RED - #define LIGHT_CH2_PIN 5 // GREEN - #define LIGHT_CH3_PIN 13 // BLUE - #define LIGHT_CH4_PIN 15 // WHITE - #define LIGHT_CH1_INVERSE 0 - #define LIGHT_CH2_INVERSE 0 - #define LIGHT_CH3_INVERSE 0 - #define LIGHT_CH4_INVERSE 0 - - // IR - #define IR_SUPPORT 1 - #define IR_PIN 4 - #define IR_BUTTON_SET 1 - // ----------------------------------------------------------------------------- // HUACANXING H801 & H802 // ----------------------------------------------------------------------------- @@ -956,7 +956,7 @@ #define LIGHT_PROVIDER LIGHT_PROVIDER_DIMMER #define DUMMY_RELAY_COUNT 1 #define DEBUG_PORT Serial1 - #define SERIAL_RX_PORT Serial + #define SERIAL_RX_ENABLED 1 // LEDs #define LED1_PIN 5 @@ -984,7 +984,7 @@ #define LIGHT_PROVIDER LIGHT_PROVIDER_DIMMER #define DUMMY_RELAY_COUNT 1 #define DEBUG_PORT Serial1 - #define SERIAL_RX_PORT Serial + #define SERIAL_RX_ENABLED 1 // Light #define LIGHT_CHANNELS 4 @@ -1393,6 +1393,103 @@ #define LIGHT_ENABLE_PIN 15 +#elif defined(GIZWITS_WITTY_CLOUD) + + // Info + #define MANUFACTURER "GIZWITS" + #define DEVICE "WITTY_CLOUD" + #define RELAY_PROVIDER RELAY_PROVIDER_LIGHT + #define LIGHT_PROVIDER LIGHT_PROVIDER_DIMMER + #define DUMMY_RELAY_COUNT 1 + + // Buttons + #define BUTTON1_PIN 4 + #define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH + #define BUTTON1_PRESS BUTTON_MODE_TOGGLE + #define BUTTON1_CLICK BUTTON_MODE_NONE + #define BUTTON1_DBLCLICK BUTTON_MODE_NONE + #define BUTTON1_LNGCLICK BUTTON_MODE_NONE + #define BUTTON1_LNGLNGCLICK BUTTON_MODE_RESET + + #define ANALOG_SUPPORT 1 + + // LEDs + #define LED1_PIN 2 // BLUE build-in + #define LED1_PIN_INVERSE 1 + + // Light + #define LIGHT_CHANNELS 3 + #define LIGHT_CH1_PIN 15 // RED + #define LIGHT_CH2_PIN 12 // GREEN + #define LIGHT_CH3_PIN 13 // BLUE + #define LIGHT_CH1_INVERSE 0 + #define LIGHT_CH2_INVERSE 0 + #define LIGHT_CH3_INVERSE 0 + +// ----------------------------------------------------------------------------- +// KMC 70011 +// https://www.amazon.com/KMC-Monitoring-Required-Control-Compatible/dp/B07313TH7B +// ----------------------------------------------------------------------------- + +#elif defined(KMC_70011) + + // Info + #define MANUFACTURER "KMC" + #define DEVICE "70011" + + // Buttons + #define BUTTON1_PIN 0 + #define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_DEFAULT_HIGH + #define BUTTON1_RELAY 1 + + // Relays + #define RELAY1_PIN 14 + #define RELAY1_TYPE RELAY_TYPE_NORMAL + + // LEDs + #define LED1_PIN 13 + #define LED1_PIN_INVERSE 0 + + // HLW8012 + #ifndef HLW8012_SUPPORT + #define HLW8012_SUPPORT 1 + #endif + #define HLW8012_SEL_PIN 12 + #define HLW8012_CF1_PIN 5 + #define HLW8012_CF_PIN 4 + +// ----------------------------------------------------------------------------- +// Euromate (?) Wifi Stecker Shuko +// https://www.obi.de/hausfunksteuerung/wifi-stecker-schuko/p/2291706 +// Thanks to @Geitde +// ----------------------------------------------------------------------------- + +#elif defined(EUROMATE_WIFI_STECKER_SCHUKO) + + // Info + #define MANUFACTURER "EUROMATE" + #define DEVICE "WIFI_STECKER_SCHUKO" + + // Buttons + #define BUTTON1_PIN 14 + #define BUTTON1_MODE BUTTON_PUSHBUTTON | BUTTON_SET_PULLUP | BUTTON_DEFAULT_HIGH + #define BUTTON1_RELAY 1 + + // Relays + // #define RELAY1_PIN 12 + // #define RELAY1_TYPE RELAY_TYPE_LATCHED_INVERSE + // #define RELAY1_RESET_PIN 5 + + // Hack: drive GPIO12 low and use GPIO5 as normal relay pin: + #define RELAY1_PIN 5 + #define RELAY1_TYPE RELAY_TYPE_NORMAL + #define LED2_PIN 12 /* DUMMY: exploit default off state for GPIO12=low */ + #define LED2_PIN_INVERSE 0 + + // LEDs + #define LED1_PIN 4 + #define LED1_PIN_INVERSE 0 + // ----------------------------------------------------------------------------- // Generic 8CH // ----------------------------------------------------------------------------- @@ -1421,7 +1518,19 @@ #define RELAY8_PIN 15 #define RELAY8_TYPE RELAY_TYPE_NORMAL -// ----------------------------------------------------------------------------- +#elif defined(STM_RELAY) + + // Info + #define MANUFACTURER "STM_RELAY" + #define DEVICE "2CH" + + // Relays + #define DUMMY_RELAY_COUNT 2 + #define RELAY_PROVIDER RELAY_PROVIDER_STM + + // Remove UART noise on serial line + #define TERMINAL_SUPPORT 0 + #define DEBUG_SERIAL_SUPPORT 0 #endif diff --git a/code/espurna/config/prototypes.h b/code/espurna/config/prototypes.h index 373fb1c4..85c45fab 100644 --- a/code/espurna/config/prototypes.h +++ b/code/espurna/config/prototypes.h @@ -45,7 +45,7 @@ void wifiRegister(wifi_callback_f callback); // ----------------------------------------------------------------------------- typedef std::function mqtt_callback_f; void mqttRegister(mqtt_callback_f callback); -String mqttTopicKey(char * topic); +String mqttMagnitude(char * topic); // ----------------------------------------------------------------------------- // Broker @@ -67,10 +67,11 @@ void settingsRegisterCommand(const String& name, void (*call)(Embedis*)); // ----------------------------------------------------------------------------- // I2C // ----------------------------------------------------------------------------- -unsigned char i2cFindAndLock(size_t size, unsigned char * addresses); +void i2cScan(); +void i2cClearBus(); bool i2cGetLock(unsigned char address); bool i2cReleaseLock(unsigned char address); -void i2cClearBus(); +unsigned char i2cFindAndLock(size_t size, unsigned char * addresses); void i2c_write_buffer(uint8_t address, uint8_t * buffer, size_t len); void i2c_write_uint8(uint8_t address, uint8_t value); diff --git a/code/espurna/config/sensors.h b/code/espurna/config/sensors.h index f3fe0c75..e6b3d683 100644 --- a/code/espurna/config/sensors.h +++ b/code/espurna/config/sensors.h @@ -7,6 +7,7 @@ #define SENSOR_READ_INTERVAL 6 // Read data from sensors every 6 seconds #define SENSOR_READ_MIN_INTERVAL 6 // Minimum read interval #define SENSOR_READ_MAX_INTERVAL 3600 // Maximum read interval +#define SENSOR_INIT_INTERVAL 10000 // Try to re-init non-ready sensors every 10s #define SENSOR_REPORT_EVERY 10 // Report every this many readings #define SENSOR_REPORT_MIN_EVERY 1 // Minimum every value @@ -15,10 +16,6 @@ #define SENSOR_USE_INDEX 0 // Use the index in topic (i.e. temperature/0) // even if just one sensor (0 for backwards compatibility) -#ifndef SENSOR_TEMPERATURE_UNITS -#define SENSOR_TEMPERATURE_UNITS TMP_CELSIUS // Temperature units (TMP_CELSIUS | TMP_FAHRENHEIT) -#endif - #ifndef SENSOR_TEMPERATURE_CORRECTION #define SENSOR_TEMPERATURE_CORRECTION 0.0 // Offset correction #endif @@ -43,6 +40,31 @@ #define SENSOR_PUBLISH_ADDRESSES 0 // Publish sensor addresses #define SENSOR_ADDRESS_TOPIC "address" // Topic to publish sensor addresses +//------------------------------------------------------------------------------ +// UNITS +//------------------------------------------------------------------------------ + +#define POWER_WATTS 0 +#define POWER_KILOWATTS 1 + +#define ENERGY_JOULES 0 +#define ENERGY_KWH 1 + +#define TMP_CELSIUS 0 +#define TMP_FAHRENHEIT 1 + +#ifndef SENSOR_TEMPERATURE_UNITS +#define SENSOR_TEMPERATURE_UNITS TMP_CELSIUS // Temperature units (TMP_CELSIUS | TMP_FAHRENHEIT) +#endif + +#ifndef SENSOR_ENERGY_UNITS +#define SENSOR_ENERGY_UNITS ENERGY_JOULES // Energy units (ENERGY_JOULES | ENERGY_KWH) +#endif + +#ifndef SENSOR_POWER_UNITS +#define SENSOR_POWER_UNITS POWER_WATTS // Power units (POWER_WATTS | POWER_KILOWATTS) +#endif + //-------------------------------------------------------------------------------- // Sensor ID // These should remain over time, do not modify them, only add new ones at the end @@ -65,6 +87,7 @@ #define SENSOR_SI7021_ID 0x15 #define SENSOR_SHT3X_I2C_ID 0x16 #define SENSOR_BH1750_ID 0x17 +#define SENSOR_PZEM004T_ID 0x18 //-------------------------------------------------------------------------------- // Magnitudes @@ -383,6 +406,32 @@ #define PMS_RX_PIN 13 #define PMS_TX_PIN 15 +//------------------------------------------------------------------------------ +// PZEM004T based power monitor +// Enable support by passing PZEM004T_SUPPORT=1 build flag +//------------------------------------------------------------------------------ + +#ifndef PZEM004T_SUPPORT +#define PZEM004T_SUPPORT 0 +#endif + +#ifndef PZEM004T_USE_SOFT +#define PZEM004T_USE_SOFT 1 // Use software serial +#endif + +#ifndef PZEM004T_RX_PIN +#define PZEM004T_RX_PIN 13 // Software serial RX GPIO (if PZEM004T_USE_SOFT == 1) +#endif + +#ifndef PZEM004T_TX_PIN +#define PZEM004T_TX_PIN 15 // Software serial TX GPIO (if PZEM004T_USE_SOFT == 1) +#endif + +#ifndef PZEM004T_HW_PORT +#define PZEM004T_HW_PORT Serial1 // Hardware serial port (if PZEM004T_USE_SOFT == 0) +#endif + + //------------------------------------------------------------------------------ // SHT3X I2C (Wemos) temperature & humidity sensor // Enable support by passing SHT3X_SUPPORT=1 build flag @@ -553,7 +602,9 @@ PROGMEM const char magnitude_hectopascals[] = "hPa"; PROGMEM const char magnitude_amperes[] = "A"; PROGMEM const char magnitude_volts[] = "V"; PROGMEM const char magnitude_watts[] = "W"; +PROGMEM const char magnitude_kw[] = "kW"; PROGMEM const char magnitude_joules[] = "J"; +PROGMEM const char magnitude_kwh[] = "kWh"; PROGMEM const char magnitude_ugm3[] = "µg/m3"; PROGMEM const char magnitude_ppm[] = "ppm"; PROGMEM const char magnitude_lux[] = "lux"; @@ -632,6 +683,11 @@ PROGMEM const char* const magnitude_units[] = { #include "../sensors/PMSX003Sensor.h" #endif +#if PZEM004T_SUPPORT + #include + #include "../sensors/PZEM004TSensor.h" +#endif + #if SI7021_SUPPORT #include "../sensors/SI7021Sensor.h" #endif diff --git a/code/espurna/config/version.h b/code/espurna/config/version.h index 4cdd959b..09cf0229 100644 --- a/code/espurna/config/version.h +++ b/code/espurna/config/version.h @@ -1,5 +1,5 @@ #define APP_NAME "ESPURNA" -#define APP_VERSION "1.12.3" +#define APP_VERSION "1.12.4" #define APP_AUTHOR "xose.perez@gmail.com" #define APP_WEBSITE "http://tinkerman.cat" #define CFG_VERSION 3 diff --git a/code/espurna/data/index.html.gz b/code/espurna/data/index.html.gz index d3a4b827..9cf3d544 100644 Binary files a/code/espurna/data/index.html.gz and b/code/espurna/data/index.html.gz differ diff --git a/code/espurna/debug.ino b/code/espurna/debug.ino index e98bcc18..c9daf3de 100644 --- a/code/espurna/debug.ino +++ b/code/espurna/debug.ino @@ -47,6 +47,7 @@ void _debugSend(char * message) { #endif _udp_debug.write(message); _udp_debug.endPacket(); + delay(1); // https://github.com/xoseperez/espurna/issues/438 #if SYSTEM_CHECK_ENABLED } #endif diff --git a/code/espurna/domoticz.ino b/code/espurna/domoticz.ino index 92b6da36..4a919cb7 100644 --- a/code/espurna/domoticz.ino +++ b/code/espurna/domoticz.ino @@ -16,8 +16,8 @@ bool _dcz_enabled = false; // Private methods //------------------------------------------------------------------------------ -int _domoticzRelay(unsigned int idx) { - for (int relayID=0; relayID= 0) { - unsigned long value = root["nvalue"]; - DEBUG_MSG_P(PSTR("[DOMOTICZ] Received value %lu for IDX %lu\n"), value, idx); + unsigned char value = root["nvalue"]; + DEBUG_MSG_P(PSTR("[DOMOTICZ] Received value %u for IDX %u\n"), value, idx); relayStatus(relayID, value == 1); } @@ -84,7 +84,7 @@ void _domoticzWebSocketOnSend(JsonObject& root) { root["dczTopicOut"] = getSetting("dczTopicOut", DOMOTICZ_OUT_TOPIC); JsonArray& relays = root.createNestedArray("dczRelays"); - for (byte i=0; i void domoticzSend(const char * key, T nvalue) { domoticzSend(key, nvalue, ""); } -void domoticzSendRelay(unsigned int relayID) { +void domoticzSendRelay(unsigned char relayID) { if (!_dcz_enabled) return; char buffer[15]; - snprintf_P(buffer, sizeof(buffer), PSTR("dczRelayIdx%lu"), relayID); + snprintf_P(buffer, sizeof(buffer), PSTR("dczRelayIdx%u"), relayID); domoticzSend(buffer, relayStatus(relayID) ? "1" : "0"); } -int domoticzIdx(unsigned int relayID) { +unsigned int domoticzIdx(unsigned char relayID) { char buffer[15]; - snprintf_P(buffer, sizeof(buffer), PSTR("dczRelayIdx%lu"), relayID); + snprintf_P(buffer, sizeof(buffer), PSTR("dczRelayIdx%u"), relayID); return getSetting(buffer).toInt(); } diff --git a/code/espurna/espurna.ino b/code/espurna/espurna.ino index 8d059b2c..c1a92717 100644 --- a/code/espurna/espurna.ino +++ b/code/espurna/espurna.ino @@ -147,6 +147,10 @@ void setup() { #if SCHEDULER_SUPPORT schSetup(); #endif + #if UART_MQTT_SUPPORT + uartmqttSetup(); + #endif + // 3rd party code hook #if USE_EXTRA diff --git a/code/espurna/homeassistant.ino b/code/espurna/homeassistant.ino new file mode 100644 index 00000000..f3a400d1 --- /dev/null +++ b/code/espurna/homeassistant.ino @@ -0,0 +1,292 @@ +/* + +HOME ASSISTANT MODULE + +Copyright (C) 2017-2018 by Xose Pérez + +*/ + +#if HOMEASSISTANT_SUPPORT + +#include + +bool _haEnabled = false; +bool _haSendFlag = false; + +// ----------------------------------------------------------------------------- +// SENSORS +// ----------------------------------------------------------------------------- + +#if SENSOR_SUPPORT + +void _haSendMagnitude(unsigned char i, JsonObject& config) { + + unsigned char type = magnitudeType(i); + config["name"] = getSetting("hostname") + String(" ") + magnitudeTopic(type); + config["platform"] = "mqtt"; + config["device_class"] = "sensor"; + config["state_topic"] = mqttTopic(magnitudeTopicIndex(i).c_str(), false); + config["unit_of_measurement"] = magnitudeUnits(type); + +} + +void _haSendMagnitudes() { + + for (unsigned char i=0; i 1) { + name += String(" #") + String(i); + } + + config["name"] = name; + config["platform"] = "mqtt"; + + if (relayCount()) { + config["state_topic"] = mqttTopic(MQTT_TOPIC_RELAY, i, false); + config["command_topic"] = mqttTopic(MQTT_TOPIC_RELAY, i, true); + config["payload_on"] = String("1"); + config["payload_off"] = String("0"); + config["availability_topic"] = mqttTopic(MQTT_TOPIC_STATUS, false); + config["payload_available"] = String("1"); + config["payload_not_available"] = String("0"); + } + + #if LIGHT_PROVIDER != LIGHT_PROVIDER_NONE + + if (i == 0) { + + if (lightHasColor()) { + config["brightness_state_topic"] = mqttTopic(MQTT_TOPIC_BRIGHTNESS, false); + config["brightness_command_topic"] = mqttTopic(MQTT_TOPIC_BRIGHTNESS, true); + config["rgb_state_topic"] = mqttTopic(MQTT_TOPIC_COLOR_RGB, false); + config["rgb_command_topic"] = mqttTopic(MQTT_TOPIC_COLOR_RGB, true); + config["color_temp_command_topic"] = mqttTopic(MQTT_TOPIC_MIRED, true); + } + + if (lightChannels() > 3) { + config["white_value_state_topic"] = mqttTopic(MQTT_TOPIC_CHANNEL, 3, false); + config["white_value_command_topic"] = mqttTopic(MQTT_TOPIC_CHANNEL, 3, true); + } + + } + + #endif // LIGHT_PROVIDER != LIGHT_PROVIDER_NONE + +} + +void _haSendSwitches() { + + #if (LIGHT_PROVIDER != LIGHT_PROVIDER_NONE) || (defined(ITEAD_SLAMPHER)) + String type = String("light"); + #else + String type = String("switch"); + #endif + + for (unsigned char i=0; i() + String("\n"); + } + output += "\n"; + + } + + #if SENSOR_SUPPORT + + for (unsigned char i=0; i() + String("\n"); + } + output += "\n"; + + } + + #endif + + return output; + +} + +void _haSend() { + + // Pending message to send? + if (!_haSendFlag) return; + + // Are we connected? + if (!mqttConnected()) return; + + DEBUG_MSG_P(PSTR("[HA] Sending autodiscovery MQTT message\n")); + + // Send messages + _haSendSwitches(); + #if SENSOR_SUPPORT + _haSendMagnitudes(); + #endif + + _haSendFlag = false; + +} + +void _haConfigure() { + bool enabled = getSetting("haEnabled", HOMEASSISTANT_ENABLED).toInt() == 1; + _haSendFlag = (enabled != _haEnabled); + _haEnabled = enabled; + _haSend(); +} + +#if WEB_SUPPORT + +void _haWebSocketOnSend(JsonObject& root) { + root["haVisible"] = 1; + root["haPrefix"] = getSetting("haPrefix", HOMEASSISTANT_PREFIX); + root["haEnabled"] = getSetting("haEnabled", HOMEASSISTANT_ENABLED).toInt() == 1; +} + +void _haWebSocketOnAction(uint32_t client_id, const char * action, JsonObject& data) { + if (strcmp(action, "haconfig") == 0) { + String output = _haGetConfig(); + output.replace(" ", " "); + output.replace("\n", "
"); + output = String("{\"haConfig\": \"") + output + String("\"}"); + wsSend(client_id, output.c_str()); + } +} + +#endif + +#if TERMINAL_SUPPORT + +void _haInitCommands() { + settingsRegisterCommand(F("HA.CONFIG"), [](Embedis* e) { + DEBUG_MSG(_haGetConfig().c_str()); + DEBUG_MSG_P(PSTR("+OK\n")); + }); + settingsRegisterCommand(F("HA.SEND"), [](Embedis* e) { + setSetting("haEnabled", "1"); + _haConfigure(); + wsSend(_haWebSocketOnSend); + DEBUG_MSG_P(PSTR("+OK\n")); + }); + settingsRegisterCommand(F("HA.CLEAR"), [](Embedis* e) { + setSetting("haEnabled", "0"); + _haConfigure(); + wsSend(_haWebSocketOnSend); + DEBUG_MSG_P(PSTR("+OK\n")); + }); +} + +#endif + +// ----------------------------------------------------------------------------- + +void haSetup() { + + _haConfigure(); + + #if WEB_SUPPORT + wsOnSendRegister(_haWebSocketOnSend); + wsOnAfterParseRegister(_haConfigure); + wsOnActionRegister(_haWebSocketOnAction); + #endif + + // On MQTT connect check if we have something to send + mqttRegister([](unsigned int type, const char * topic, const char * payload) { + if (type == MQTT_CONNECT_EVENT) _haSend(); + }); + + #if TERMINAL_SUPPORT + _haInitCommands(); + #endif + + +} + +#endif // HOMEASSISTANT_SUPPORT diff --git a/code/espurna/homeassitant.ino b/code/espurna/homeassitant.ino deleted file mode 100644 index e2117f29..00000000 --- a/code/espurna/homeassitant.ino +++ /dev/null @@ -1,181 +0,0 @@ -/* - -HOME ASSISTANT MODULE - -Copyright (C) 2017-2018 by Xose Pérez - -*/ - -#if HOMEASSISTANT_SUPPORT - -#include - -bool _haEnabled = false; -bool _haSendFlag = false; - -// ----------------------------------------------------------------------------- - -void _haWebSocketOnSend(JsonObject& root) { - root["haVisible"] = 1; - root["haPrefix"] = getSetting("haPrefix", HOMEASSISTANT_PREFIX); -} - -#if SENSOR_SUPPORT - -void _haSendMagnitude(unsigned char i) { - - String output; - - if (_haEnabled) { - - DynamicJsonBuffer jsonBuffer; - JsonObject& root = jsonBuffer.createObject(); - - unsigned char type = magnitudeType(i); - - root["device_class"] = "sensor"; - root["name"] = getSetting("hostname") + String(" ") + magnitudeTopic(type); - root["state_topic"] = mqttTopic(magnitudeTopicIndex(i).c_str(), false); - root["unit_of_measurement"] = magnitudeUnits(type); - - root.printTo(output); - - } - - String topic = getSetting("haPrefix", HOMEASSISTANT_PREFIX) + - "/sensor/" + - getSetting("hostname") + "_" + String(i) + - "/config"; - - mqttSendRaw(topic.c_str(), output.c_str()); - mqttSend(MQTT_TOPIC_STATUS, MQTT_STATUS_ONLINE, true); - -} - -void _haSendMagnitudes() { - for (unsigned char i=0; i 1) { - name += String(" switch #") + String(i); - } - - root["name"] = name; - root["platform"] = "mqtt"; - - if (relayCount()) { - root["state_topic"] = mqttTopic(MQTT_TOPIC_RELAY, i, false); - root["command_topic"] = mqttTopic(MQTT_TOPIC_RELAY, i, true); - root["payload_on"] = String("1"); - root["payload_off"] = String("0"); - root["availability_topic"] = mqttTopic(MQTT_TOPIC_STATUS, false); - root["payload_available"] = String("1"); - root["payload_not_available"] = String("0"); - } - - #if LIGHT_PROVIDER != LIGHT_PROVIDER_NONE - - if (i == 0) { - - if (lightHasColor()) { - root["brightness_state_topic"] = mqttTopic(MQTT_TOPIC_BRIGHTNESS, false); - root["brightness_command_topic"] = mqttTopic(MQTT_TOPIC_BRIGHTNESS, true); - root["rgb_state_topic"] = mqttTopic(MQTT_TOPIC_COLOR_RGB, false); - root["rgb_command_topic"] = mqttTopic(MQTT_TOPIC_COLOR_RGB, true); - root["color_temp_command_topic"] = mqttTopic(MQTT_TOPIC_MIRED, true); - } - - if (lightChannels() > 3) { - root["white_value_state_topic"] = mqttTopic(MQTT_TOPIC_CHANNEL, 3, false); - root["white_value_command_topic"] = mqttTopic(MQTT_TOPIC_CHANNEL, 3, true); - } - - } - - #endif // LIGHT_PROVIDER != LIGHT_PROVIDER_NONE - - root.printTo(output); - } - - #if LIGHT_PROVIDER == LIGHT_PROVIDER_NONE - String component = String("switch"); - #else - String component = String("light"); - #endif - - String topic = getSetting("haPrefix", HOMEASSISTANT_PREFIX) + - "/" + component + - "/" + getSetting("hostname") + "_" + String(i) + - "/config"; - - mqttSendRaw(topic.c_str(), output.c_str()); - mqttSend(MQTT_TOPIC_STATUS, MQTT_STATUS_ONLINE, true); - -} - -void _haSendSwitches() { - for (unsigned char i=0; i #include "ArduinoOTA.h" // ----------------------------------------------------------------------------- -// OTA +// Arduino OTA // ----------------------------------------------------------------------------- void _otaConfigure() { @@ -20,15 +20,199 @@ void _otaConfigure() { #endif } +void _otaLoop() { + ArduinoOTA.handle(); +} + +// ----------------------------------------------------------------------------- +// Terminal OTA +// ----------------------------------------------------------------------------- + +#if TERMINAL_SUPPORT + +#include +AsyncClient * _ota_client; +char * _ota_host; +char * _ota_url; +unsigned int _ota_port = 80; +unsigned long _ota_size = 0; + +const char OTA_REQUEST_TEMPLATE[] PROGMEM = + "GET %s HTTP/1.1\r\n" + "Host: %s\r\n" + "User-Agent: ESPurna\r\n" + "Connection: close\r\n" + "Content-Type: application/x-www-form-urlencoded\r\n" + "Content-Length: 0\r\n\r\n\r\n"; + + +void _otaFrom(const char * host, unsigned int port, const char * url) { + + if (_ota_host) free(_ota_host); + if (_ota_url) free(_ota_url); + _ota_host = strdup(host); + _ota_url = strdup(url); + _ota_port = port; + _ota_size = 0; + + if (_ota_client == NULL) { + _ota_client = new AsyncClient(); + } + + _ota_client->onDisconnect([](void *s, AsyncClient *c) { + + DEBUG_MSG_P(PSTR("\n")); + + if (Update.end(true)){ + DEBUG_MSG_P(PSTR("[OTA] Success: %u bytes\n"), _ota_size); + deferredReset(100, CUSTOM_RESET_OTA); + } else { + #ifdef DEBUG_PORT + Update.printError(DEBUG_PORT); + #endif + } + + DEBUG_MSG_P(PSTR("[OTA] Disconnected\n")); + + _ota_client->free(); + delete _ota_client; + _ota_client = NULL; + free(_ota_host); + _ota_host = NULL; + free(_ota_url); + _ota_url = NULL; + + }, 0); + + _ota_client->onTimeout([](void *s, AsyncClient *c, uint32_t time) { + _ota_client->close(true); + }, 0); + + _ota_client->onData([](void * arg, AsyncClient * c, void * data, size_t len) { + + char * p = (char *) data; + + if (_ota_size == 0) { + + Update.runAsync(true); + if (!Update.begin((ESP.getFreeSketchSpace() - 0x1000) & 0xFFFFF000)) { + #ifdef DEBUG_PORT + Update.printError(DEBUG_PORT); + #endif + } + + p = strstr((char *)data, "\r\n\r\n") + 4; + len = len - (p - (char *) data); + + } + + if (!Update.hasError()) { + if (Update.write((uint8_t *) p, len) != len) { + #ifdef DEBUG_PORT + Update.printError(DEBUG_PORT); + #endif + } + } + + _ota_size += len; + DEBUG_MSG_P(PSTR("[OTA] Progress: %u bytes\r"), _ota_size); + + + }, NULL); + + _ota_client->onConnect([](void * arg, AsyncClient * client) { + + #if ASYNC_TCP_SSL_ENABLED + if (443 == _ota_port) { + uint8_t fp[20] = {0}; + sslFingerPrintArray(getSetting("otafp", OTA_GITHUB_FP).c_str(), fp); + SSL * ssl = _ota_client->getSSL(); + if (ssl_match_fingerprint(ssl, fp) != SSL_OK) { + DEBUG_MSG_P(PSTR("[OTA] Warning: certificate doesn't match\n")); + } + } + #endif + + DEBUG_MSG_P(PSTR("[OTA] Downloading %s\n"), _ota_url); + char buffer[strlen_P(OTA_REQUEST_TEMPLATE) + strlen(_ota_url) + strlen(_ota_host)]; + snprintf_P(buffer, sizeof(buffer), OTA_REQUEST_TEMPLATE, _ota_url, _ota_host); + client->write(buffer); + + }, NULL); + + + #if ASYNC_TCP_SSL_ENABLED + bool connected = _ota_client->connect(host, port, 443 == port); + #else + bool connected = _ota_client->connect(host, port); + #endif + + if (!connected) { + DEBUG_MSG_P(PSTR("[OTA] Connection failed\n")); + _ota_client->close(true); + } + +} + +void _otaFrom(String url) { + + // Port from protocol + unsigned int port = 80; + if (url.startsWith("https://")) port = 443; + url = url.substring(url.indexOf("/") + 2); + + // Get host + String host = url.substring(0, url.indexOf("/")); + + // Explicit port + int p = host.indexOf(":"); + if (p > 0) { + port = host.substring(p + 1).toInt(); + host = host.substring(0, p); + } + + // Get URL + String uri = url.substring(url.indexOf("/")); + + _otaFrom(host.c_str(), port, uri.c_str()); + +} + +void _otaInitCommands() { + + settingsRegisterCommand(F("OTA"), [](Embedis* e) { + if (e->argc < 2) { + DEBUG_MSG_P(PSTR("-ERROR: Wrong arguments\n")); + } else { + DEBUG_MSG_P(PSTR("+OK\n")); + String url = String(e->argv[1]); + _otaFrom(url); + } + }); + +} + +#endif // TERMINAL_SUPPORT + // ----------------------------------------------------------------------------- void otaSetup() { _otaConfigure(); + #if WEB_SUPPORT wsOnAfterParseRegister(_otaConfigure); #endif + #if TERMINAL_SUPPORT + _otaInitCommands(); + #endif + + // Register loop + espurnaRegisterLoop(_otaLoop); + + // ------------------------------------------------------------------------- + ArduinoOTA.onStart([]() { DEBUG_MSG_P(PSTR("[OTA] Start\n")); #if WEB_SUPPORT @@ -38,7 +222,7 @@ void otaSetup() { ArduinoOTA.onEnd([]() { DEBUG_MSG_P(PSTR("\n")); - DEBUG_MSG_P(PSTR("[OTA] End\n")); + DEBUG_MSG_P(PSTR("[OTA] Done, restarting...\n")); #if WEB_SUPPORT wsSend_P(PSTR("{\"action\": \"reload\"}")); #endif @@ -62,11 +246,4 @@ void otaSetup() { ArduinoOTA.begin(); - // Register loop - espurnaRegisterLoop(otaLoop); - -} - -void otaLoop() { - ArduinoOTA.handle(); } diff --git a/code/espurna/relay.ino b/code/espurna/relay.ino index 5fa9af7e..a8a5cd65 100644 --- a/code/espurna/relay.ino +++ b/code/espurna/relay.ino @@ -77,6 +77,15 @@ void _relayProviderStatus(unsigned char id, bool status) { #endif + #if RELAY_PROVIDER == RELAY_PROVIDER_STM + Serial.flush(); + Serial.write(0xA0); + Serial.write(id + 1); + Serial.write(status); + Serial.write(0xA1 + status + id); + Serial.flush(); + #endif + #if RELAY_PROVIDER == RELAY_PROVIDER_LIGHT // If the number of relays matches the number of light channels @@ -125,6 +134,74 @@ void _relayProviderStatus(unsigned char id, bool status) { } +/** + * Walks the relay vector processing only those relays + * that have to change to the requested mode + * @bool mode Requested mode + */ +void _relayProcess(bool mode) { + + unsigned long current_time = millis(); + + for (unsigned char id = 0; id < _relays.size(); id++) { + + bool target = _relays[id].target_status; + + // Only process the relays we have to change + if (target == _relays[id].current_status) continue; + + // Only process the relays we have change to the requested mode + if (target != mode) continue; + + // Only process if the change_time has arrived + if (current_time < _relays[id].change_time) continue; + + DEBUG_MSG_P(PSTR("[RELAY] #%d set to %s\n"), id, target ? "ON" : "OFF"); + + // Call the provider to perform the action + _relayProviderStatus(id, target); + + // Send to Broker + #if BROKER_SUPPORT + brokerPublish(MQTT_TOPIC_RELAY, id, target ? "1" : "0"); + #endif + + // Send MQTT + #if MQTT_SUPPORT + relayMQTT(id); + #endif + + if (!_relayRecursive) { + relayPulse(id); + _relaySaveTicker.once_ms(RELAY_SAVE_DELAY, relaySave); + #if WEB_SUPPORT + wsSend(_relayWebSocketUpdate); + #endif + } + + #if DOMOTICZ_SUPPORT + domoticzSendRelay(id); + #endif + + #if INFLUXDB_SUPPORT + relayInfluxDB(id); + #endif + + #if THINGSPEAK_SUPPORT + tspkEnqueueRelay(id, target); + tspkFlush(); + #endif + + // Flag relay-based LEDs to update status + ledUpdate(true); + + _relays[id].report = false; + _relays[id].group_report = false; + + } + +} + // ----------------------------------------------------------------------------- // RELAY // ----------------------------------------------------------------------------- @@ -385,7 +462,11 @@ void _relayBoot() { } _relays[i].current_status = !status; _relays[i].target_status = status; - _relays[i].change_time = millis(); + #if RELAY_PROVIDER == RELAY_PROVIDER_STM + _relays[i].change_time = millis() + 3000 + 1000 * i; + #else + _relays[i].change_time = millis(); + #endif bit <<= 1; } @@ -512,7 +593,7 @@ void relaySetupAPI() { apiRegister(key, [relayID](char * buffer, size_t len) { - snprintf_P(buffer, len, PSTR("%d"), relayStatus(relayID) ? 1 : 0); + snprintf_P(buffer, len, PSTR("%d"), _relays[relayID].target_status ? 1 : 0); }, [relayID](const char * payload) { @@ -611,7 +692,7 @@ void relayMQTTCallback(unsigned int type, const char * topic, const char * paylo if (type == MQTT_MESSAGE_EVENT) { // Check relay topic - String t = mqttTopicKey((char *) topic); + String t = mqttMagnitude((char *) topic); if (t.startsWith(MQTT_TOPIC_RELAY)) { // Get value @@ -709,11 +790,16 @@ void _relayInitCommands() { // Setup //------------------------------------------------------------------------------ +void _relayLoop() { + _relayProcess(false); + _relayProcess(true); +} + void relaySetup() { // Dummy relays for AI Light, Magic Home LED Controller, H801, // Sonoff Dual and Sonoff RF Bridge - #ifdef DUMMY_RELAY_COUNT + #if DUMMY_RELAY_COUNT > 0 for (unsigned char i=0; i < DUMMY_RELAY_COUNT; i++) { _relays.push_back((relay_t) {0, RELAY_TYPE_NORMAL}); @@ -721,28 +807,28 @@ void relaySetup() { #else - #ifdef RELAY1_PIN + #if RELAY1_PIN != GPIO_NONE _relays.push_back((relay_t) { RELAY1_PIN, RELAY1_TYPE, RELAY1_RESET_PIN, RELAY1_DELAY_ON, RELAY1_DELAY_OFF }); #endif - #ifdef RELAY2_PIN + #if RELAY2_PIN != GPIO_NONE _relays.push_back((relay_t) { RELAY2_PIN, RELAY2_TYPE, RELAY2_RESET_PIN, RELAY2_DELAY_ON, RELAY2_DELAY_OFF }); #endif - #ifdef RELAY3_PIN + #if RELAY3_PIN != GPIO_NONE _relays.push_back((relay_t) { RELAY3_PIN, RELAY3_TYPE, RELAY3_RESET_PIN, RELAY3_DELAY_ON, RELAY3_DELAY_OFF }); #endif - #ifdef RELAY4_PIN + #if RELAY4_PIN != GPIO_NONE _relays.push_back((relay_t) { RELAY4_PIN, RELAY4_TYPE, RELAY4_RESET_PIN, RELAY4_DELAY_ON, RELAY4_DELAY_OFF }); #endif - #ifdef RELAY5_PIN + #if RELAY5_PIN != GPIO_NONE _relays.push_back((relay_t) { RELAY5_PIN, RELAY5_TYPE, RELAY5_RESET_PIN, RELAY5_DELAY_ON, RELAY5_DELAY_OFF }); #endif - #ifdef RELAY6_PIN + #if RELAY6_PIN != GPIO_NONE _relays.push_back((relay_t) { RELAY6_PIN, RELAY6_TYPE, RELAY6_RESET_PIN, RELAY6_DELAY_ON, RELAY6_DELAY_OFF }); #endif - #ifdef RELAY7_PIN + #if RELAY7_PIN != GPIO_NONE _relays.push_back((relay_t) { RELAY7_PIN, RELAY7_TYPE, RELAY7_RESET_PIN, RELAY7_DELAY_ON, RELAY7_DELAY_OFF }); #endif - #ifdef RELAY8_PIN + #if RELAY8_PIN != GPIO_NONE _relays.push_back((relay_t) { RELAY8_PIN, RELAY8_TYPE, RELAY8_RESET_PIN, RELAY8_DELAY_ON, RELAY8_DELAY_OFF }); #endif @@ -751,9 +837,9 @@ void relaySetup() { _relayBackwards(); _relayConfigure(); _relayBoot(); - relayLoop(); + _relayLoop(); - espurnaRegisterLoop(relayLoop); + espurnaRegisterLoop(_relayLoop); #if WEB_SUPPORT relaySetupAPI(); @@ -769,63 +855,3 @@ void relaySetup() { DEBUG_MSG_P(PSTR("[RELAY] Number of relays: %d\n"), _relays.size()); } - -void relayLoop(void) { - - unsigned char id; - - for (id = 0; id < _relays.size(); id++) { - - unsigned int current_time = millis(); - bool status = _relays[id].target_status; - - if ((_relays[id].current_status != status) - && (current_time >= _relays[id].change_time)) { - - DEBUG_MSG_P(PSTR("[RELAY] #%d set to %s\n"), id, status ? "ON" : "OFF"); - - // Call the provider to perform the action - _relayProviderStatus(id, status); - - // Send to Broker - #if BROKER_SUPPORT - brokerPublish(MQTT_TOPIC_RELAY, id, status ? "1" : "0"); - #endif - - // Send MQTT - #if MQTT_SUPPORT - relayMQTT(id); - #endif - - if (!_relayRecursive) { - relayPulse(id); - _relaySaveTicker.once_ms(RELAY_SAVE_DELAY, relaySave); - #if WEB_SUPPORT - wsSend(_relayWebSocketUpdate); - #endif - } - - #if DOMOTICZ_SUPPORT - domoticzSendRelay(id); - #endif - - #if INFLUXDB_SUPPORT - relayInfluxDB(id); - #endif - - #if THINGSPEAK_SUPPORT - tspkEnqueueRelay(id, status); - tspkFlush(); - #endif - - // Flag relay-based LEDs to update status - ledUpdate(true); - - _relays[id].report = false; - _relays[id].group_report = false; - - } - - } - -} diff --git a/code/espurna/rf.ino b/code/espurna/rf.ino index 3ae60a70..03eddfa8 100644 --- a/code/espurna/rf.ino +++ b/code/espurna/rf.ino @@ -8,97 +8,181 @@ Copyright (C) 2016-2018 by Xose Pérez #if RF_SUPPORT -#include +#include -unsigned long rfCode = 0; -unsigned long rfCodeON = 0; -unsigned long rfCodeOFF = 0; +RCSwitch * _rfModem; + +unsigned long _rf_learn_start = 0; +unsigned char _rf_learn_id = 0; +bool _rf_learn_status = true; +bool _rf_learn_active = false; // ----------------------------------------------------------------------------- // RF // ----------------------------------------------------------------------------- -void _rfWebSocketOnSend(JsonObject& root) { - root["rfVisible"] = 1; - root["rfChannel"] = getSetting("rfChannel", RF_CHANNEL); - root["rfDevice"] = getSetting("rfDevice", RF_DEVICE); +unsigned long _rfRetrieve(unsigned char id, bool status) { + String code = getSetting(status ? "rfbON" : "rfbOFF", id, "0"); + return strtoul(code.c_str(), 0, 16); } -void _rfBuildCodes() { +void _rfStore(unsigned char id, bool status, unsigned long code) { + DEBUG_MSG_P(PSTR("[RF] Storing %d-%s => %X\n"), id, status ? "ON" : "OFF", code); + char buffer[20]; + snprintf_P(buffer, sizeof(buffer), PSTR("%X"), code); + setSetting(status ? "rfbON" : "rfbOFF", id, buffer); +} - unsigned long code = 0; +void _rfLearn(unsigned char id, bool status) { + _rf_learn_start = millis(); + _rf_learn_id = id; + _rf_learn_status = status; + _rf_learn_active = true; +} - // channel - unsigned int channel = getSetting("rfChannel", RF_CHANNEL).toInt(); - for (byte i = 0; i < 5; i++) { - code *= 3; - if (channel & 1) code += 1; - channel >>= 1; - } +void _rfForget(unsigned char id, bool status) { + + delSetting(status ? "rfbON" : "rfbOFF", id); + + // Websocket update + #if WEB_SUPPORT + char wsb[100]; + snprintf_P(wsb, sizeof(wsb), PSTR("{\"rfb\":[{\"id\": %d, \"status\": %d, \"data\": \"\"}]}"), id, status ? 1 : 0); + wsSend(wsb); + #endif + +} - // device - unsigned int device = getSetting("rfDevice", RF_DEVICE).toInt(); - for (byte i = 0; i < 5; i++) { - code *= 3; - if (device != i) code += 2; - } - // status - code *= 9; - rfCodeOFF = code + 2; - rfCodeON = code + 6; +bool _rfMatch(unsigned long code, unsigned char& relayID, unsigned char& value) { - DEBUG_MSG_P(PSTR("[RF] Code ON : %lu\n"), rfCodeON); - DEBUG_MSG_P(PSTR("[RF] Code OFF: %lu\n"), rfCodeOFF); + bool found = false; + DEBUG_MSG_P(PSTR("[RF] Trying to match code %X\n"), code); + + for (unsigned char i=0; i()); } -void rfSetup() { +// ----------------------------------------------------------------------------- + +void rfLoop() { + + static unsigned long last = 0; + + if (_rfModem->available()) { + + if (millis() - last > RF_DEBOUNCE) { + last = millis(); + + if (_rfModem->getReceivedValue() > 0) { + + unsigned long rf_code = _rfModem->getReceivedValue(); + + DEBUG_MSG_P(PSTR("[RF] Received code: %X\n"), rf_code); + + if (_rf_learn_active) { + + _rf_learn_active = false; - pinMode(RF_PIN, INPUT_PULLUP); - _rfBuildCodes(); - RemoteReceiver::init(RF_PIN, 3, rfCallback); - RemoteReceiver::disable(); - DEBUG_MSG_P(PSTR("[RF] Disabled\n")); + _rfStore(_rf_learn_id, _rf_learn_status, rf_code); - static WiFiEventHandler e1 = WiFi.onStationModeDisconnected([](const WiFiEventStationModeDisconnected& event) { - RemoteReceiver::disable(); - DEBUG_MSG_P(PSTR("[RF] Disabled\n")); - }); + // Websocket update + #if WEB_SUPPORT + char wsb[100]; + snprintf_P( + wsb, sizeof(wsb), + PSTR("{\"rfb\":[{\"id\": %d, \"status\": %d, \"data\": \"%X\"}]}"), + _rf_learn_id, _rf_learn_status ? 1 : 0, rf_code); + wsSend(wsb); + #endif - static WiFiEventHandler e2 = WiFi.onSoftAPModeStationDisconnected([](const WiFiEventSoftAPModeStationDisconnected& event) { - RemoteReceiver::disable(); - DEBUG_MSG_P(PSTR("[RF] Disabled\n")); - }); + } else { - static WiFiEventHandler e3 = WiFi.onStationModeConnected([](const WiFiEventStationModeConnected& event) { - RemoteReceiver::enable(); - DEBUG_MSG_P(PSTR("[RF] Enabled\n")); - }); + unsigned char id; + unsigned char value; + if (_rfMatch(rf_code, id, value)) { + if (2 == value) { + relayToggle(id); + } else { + relayStatus(id, 1 == value); + } + } + + } + + } + + } + + _rfModem->resetAvailable(); + + } + + if (_rf_learn_active && (millis() - _rf_learn_start > RF_LEARN_TIMEOUT)) { + _rf_learn_active = false; + } + +} + +void rfSetup() { - static WiFiEventHandler e4 = WiFi.onSoftAPModeStationConnected([](const WiFiEventSoftAPModeStationConnected& event) { - RemoteReceiver::enable(); - DEBUG_MSG_P(PSTR("[RF] Enabled\n")); - }); + _rfModem = new RCSwitch(); + _rfModem->enableReceive(RF_PIN); + DEBUG_MSG_P(PSTR("[RF] RF receiver on GPIO %u\n"), RF_PIN); #if WEB_SUPPORT wsOnSendRegister(_rfWebSocketOnSend); - wsOnAfterParseRegister(_rfBuildCodes); + wsOnActionRegister(_rfWebSocketOnAction); #endif // Register loop diff --git a/code/espurna/rfbridge.ino b/code/espurna/rfbridge.ino index c102630a..47436c06 100644 --- a/code/espurna/rfbridge.ino +++ b/code/espurna/rfbridge.ino @@ -354,7 +354,7 @@ void _rfbMqttCallback(unsigned int type, const char * topic, const char * payloa if (type == MQTT_MESSAGE_EVENT) { // Match topic - String t = mqttTopicKey((char *) topic); + String t = mqttMagnitude((char *) topic); // Check if should go into learn mode if (t.startsWith(MQTT_TOPIC_RFLEARN)) { @@ -443,37 +443,47 @@ String rfbRetrieve(unsigned char id, bool status) { } void rfbStatus(unsigned char id, bool status) { + String value = rfbRetrieve(id, status); if (value.length() > 0) { + bool same = _rfbSameOnOff(id); #if RF_RAW_SUPPORT byte message[RF_MAX_MESSAGE_SIZE]; int len = _rfbToArray(value.c_str(), message, 0); + if (len == RF_MESSAGE_SIZE && // probably a standard msg (message[0] != RF_CODE_START || // raw would start with 0xAA message[1] != RF_CODE_RFOUT_BUCKET || // followed by 0xB0, message[2] + 4 != len || // needs a valid length, message[len-1] != RF_CODE_STOP)) { // and finish with 0x55 - unsigned char times = RF_SEND_TIMES; - if (same) times = _rfbin ? 0 : 1; - _rfbSend(message, times); + + if (!_rfbin) { + unsigned char times = same ? 1 : RF_SEND_TIMES; + _rfbSend(message, times); + } + } else { _rfbSendRawOnce(message, len); // send a raw message } #else // RF_RAW_SUPPORT - byte message[RF_MESSAGE_SIZE]; - _rfbToArray(value.c_str(), message); - unsigned char times = RF_SEND_TIMES; - if (same) times = _rfbin ? 0 : 1; - _rfbSend(message, times); + if (!_rfbin) { + byte message[RF_MESSAGE_SIZE]; + _rfbToArray(value.c_str(), message); + unsigned char times = same ? 1 : RF_SEND_TIMES; + _rfbSend(message, times); + } #endif // RF_RAW_SUPPORT } + + _rfbin = false; + } void rfbLearn(unsigned char id, bool status) { diff --git a/code/espurna/scheduler.ino b/code/espurna/scheduler.ino index dcc63e4d..320c02a8 100644 --- a/code/espurna/scheduler.ino +++ b/code/espurna/scheduler.ino @@ -17,6 +17,7 @@ Adapted by Xose Pérez void _schWebSocketOnSend(JsonObject &root){ + root["schVisible"] = 1; root["maxScheduled"] = SCHEDULER_MAX_SCHEDULES; JsonArray &sch = root.createNestedArray("schedule"); for (byte i = 0; i < SCHEDULER_MAX_SCHEDULES; i++) { diff --git a/code/espurna/sensor.ino b/code/espurna/sensor.ino index fa9e7db8..c55ea4b7 100644 --- a/code/espurna/sensor.ino +++ b/code/espurna/sensor.ino @@ -28,11 +28,14 @@ typedef struct { std::vector _sensors; std::vector _magnitudes; +bool _sensors_ready = false; unsigned char _counts[MAGNITUDE_MAX]; bool _sensor_realtime = API_REAL_TIME_VALUES; unsigned long _sensor_read_interval = 1000 * SENSOR_READ_INTERVAL; unsigned char _sensor_report_every = SENSOR_REPORT_EVERY; +unsigned char _sensor_power_units = SENSOR_POWER_UNITS; +unsigned char _sensor_energy_units = SENSOR_ENERGY_UNITS; unsigned char _sensor_temperature_units = SENSOR_TEMPERATURE_UNITS; double _sensor_temperature_correction = SENSOR_TEMPERATURE_CORRECTION; double _sensor_humidity_correction = SENSOR_HUMIDITY_CORRECTION; @@ -42,19 +45,48 @@ double _sensor_humidity_correction = SENSOR_HUMIDITY_CORRECTION; // ----------------------------------------------------------------------------- unsigned char _magnitudeDecimals(unsigned char type) { + + // Hardcoded decimals (these should be linked to the unit, instead of the magnitude) + + if (type == MAGNITUDE_ENERGY || + type == MAGNITUDE_ENERGY_DELTA) { + if (_sensor_energy_units == ENERGY_KWH) return 3; + } + if (type == MAGNITUDE_POWER_ACTIVE || + type == MAGNITUDE_POWER_APPARENT || + type == MAGNITUDE_POWER_REACTIVE) { + if (_sensor_power_units == POWER_KILOWATTS) return 3; + } if (type < MAGNITUDE_MAX) return pgm_read_byte(magnitude_decimals + type); return 0; + } double _magnitudeProcess(unsigned char type, double value) { + + // Hardcoded conversions (these should be linked to the unit, instead of the magnitude) + if (type == MAGNITUDE_TEMPERATURE) { if (_sensor_temperature_units == TMP_FAHRENHEIT) value = value * 1.8 + 32; value = value + _sensor_temperature_correction; } + if (type == MAGNITUDE_HUMIDITY) { value = value + _sensor_humidity_correction; } + + if (type == MAGNITUDE_ENERGY || + type == MAGNITUDE_ENERGY_DELTA) { + if (_sensor_energy_units == ENERGY_KWH) value = value / 3600000; + } + if (type == MAGNITUDE_POWER_ACTIVE || + type == MAGNITUDE_POWER_APPARENT || + type == MAGNITUDE_POWER_REACTIVE) { + if (_sensor_power_units == POWER_KILOWATTS) value = value / 1000; + } + return roundTo(value, _magnitudeDecimals(type)); + } // ----------------------------------------------------------------------------- @@ -98,6 +130,7 @@ void _sensorWebSocketStart(JsonObject& root) { #if EMON_ANALOG_SUPPORT if (sensor->getID() == SENSOR_EMON_ANALOG_ID) { root["emonVisible"] = 1; + root["pwrVisible"] = 1; root["pwrVoltage"] = ((EmonAnalogSensor *) sensor)->getVoltage(); } #endif @@ -105,6 +138,25 @@ void _sensorWebSocketStart(JsonObject& root) { #if HLW8012_SUPPORT if (sensor->getID() == SENSOR_HLW8012_ID) { root["hlwVisible"] = 1; + root["pwrVisible"] = 1; + } + #endif + + #if V9261F_SUPPORT + if (sensor->getID() == SENSOR_V9261F_ID) { + root["pwrVisible"] = 1; + } + #endif + + #if ECH1560_SUPPORT + if (sensor->getID() == SENSOR_ECH1560_ID) { + root["pwrVisible"] = 1; + } + #endif + + #if PZEM004T_SUPPORT + if (sensor->getID() == SENSOR_PZEM004T_ID) { + root["pwrVisible"] = 1; } #endif @@ -113,6 +165,8 @@ void _sensorWebSocketStart(JsonObject& root) { if (_magnitudes.size() > 0) { root["sensorsVisible"] = 1; //root["apiRealTime"] = _sensor_realtime; + root["powerUnits"] = _sensor_power_units; + root["energyUnits"] = _sensor_energy_units; root["tmpUnits"] = _sensor_temperature_units; root["tmpCorrection"] = _sensor_temperature_correction; root["humCorrection"] = _sensor_humidity_correction; @@ -208,7 +262,7 @@ void _sensorPost() { // Sensor initialization // ----------------------------------------------------------------------------- -void _sensorInit() { +void _sensorLoad() { /* @@ -374,6 +428,19 @@ void _sensorInit() { } #endif + #if PZEM004T_SUPPORT + { + PZEM004TSensor * sensor = new PZEM004TSensor(); + #if PZEM004T_USE_SOFT + sensor->setRX(PZEM004T_RX_PIN); + sensor->setTX(PZEM004T_TX_PIN); + #else + sensor->setSerial(& PZEM004T_HW_PORT); + #endif + _sensors.push_back(sensor); + } + #endif + #if SHT3X_I2C_SUPPORT { SHT3XI2CSensor * sensor = new SHT3XI2CSensor(); @@ -401,10 +468,20 @@ void _sensorInit() { } -void _sensorConfigure() { +void _sensorCallback(unsigned char i, unsigned char type, const char * payload) { + DEBUG_MSG_P(PSTR("[SENSOR] Sensor #%u callback, type %u, payload: '%s'\n"), i, type, payload); +} + +void _sensorInit() { + + _sensors_ready = true; for (unsigned char i=0; i<_sensors.size(); i++) { + // Do not process and already initialized sensor + if (_sensors[i]->ready()) continue; + DEBUG_MSG_P(PSTR("[SENSOR] Initializing %s\n"), _sensors[i]->description().c_str()); + #if EMON_ANALOG_SUPPORT if (_sensors[i]->getID() == SENSOR_EMON_ANALOG_ID) { @@ -412,7 +489,7 @@ void _sensorConfigure() { double value; EmonAnalogSensor * sensor = (EmonAnalogSensor *) _sensors[i]; - if (value = getSetting("pwrExpectedP", 0).toInt() == 0) { + if (value = (getSetting("pwrExpectedP", 0).toInt() == 0)) { value = getSetting("pwrRatioC", EMON_CURRENT_RATIO).toFloat(); if (value > 0) sensor->setCurrentRatio(0, value); } else { @@ -434,6 +511,46 @@ void _sensorConfigure() { // Force sensor to reload config _sensors[i]->begin(); + if (!_sensors[i]->ready()) { + if (_sensors[i]->error() != 0) DEBUG_MSG_P(PSTR("[SENSOR] -> ERROR %d\n"), _sensors[i]->error()); + _sensors_ready = false; + continue; + } + + // Initialize magnitudes + for (unsigned char k=0; k<_sensors[i]->count(); k++) { + + unsigned char type = _sensors[i]->type(k); + + sensor_magnitude_t new_magnitude; + new_magnitude.sensor = _sensors[i]; + new_magnitude.local = k; + new_magnitude.type = type; + new_magnitude.global = _counts[type]; + new_magnitude.current = 0; + new_magnitude.filtered = 0; + new_magnitude.reported = 0; + new_magnitude.min_change = 0; + if (type == MAGNITUDE_DIGITAL) { + new_magnitude.filter = new MaxFilter(); + } else if (type == MAGNITUDE_EVENTS) { + new_magnitude.filter = new MovingAverageFilter(); + } else { + new_magnitude.filter = new MedianFilter(); + } + new_magnitude.filter->resize(_sensor_report_every); + _magnitudes.push_back(new_magnitude); + + DEBUG_MSG_P(PSTR("[SENSOR] -> %s:%d\n"), magnitudeTopic(type).c_str(), _counts[type]); + + _counts[type] = _counts[type] + 1; + + } + + // Hook callback + _sensors[i]->onEvent([i](unsigned char type, const char * payload) { + _sensorCallback(i, type, payload); + }); #if HLW8012_SUPPORT @@ -480,10 +597,16 @@ void _sensorConfigure() { } +} + +void _sensorConfigure() { + // General sensor settings _sensor_read_interval = 1000 * constrain(getSetting("snsRead", SENSOR_READ_INTERVAL).toInt(), SENSOR_READ_MIN_INTERVAL, SENSOR_READ_MAX_INTERVAL); _sensor_report_every = constrain(getSetting("snsReport", SENSOR_REPORT_EVERY).toInt(), SENSOR_REPORT_MIN_EVERY, SENSOR_REPORT_MAX_EVERY); _sensor_realtime = getSetting("apiRealTime", API_REAL_TIME_VALUES).toInt() == 1; + _sensor_power_units = getSetting("powerUnits", SENSOR_POWER_UNITS).toInt(); + _sensor_energy_units = getSetting("energyUnits", SENSOR_ENERGY_UNITS).toInt(); _sensor_temperature_units = getSetting("tmpUnits", SENSOR_TEMPERATURE_UNITS).toInt(); _sensor_temperature_correction = getSetting("tmpCorrection", SENSOR_TEMPERATURE_CORRECTION).toFloat(); _sensor_humidity_correction = getSetting("humCorrection", SENSOR_HUMIDITY_CORRECTION).toFloat(); @@ -502,48 +625,6 @@ void _sensorConfigure() { } -void _magnitudesInit() { - - for (unsigned char i=0; i<_sensors.size(); i++) { - - BaseSensor * sensor = _sensors[i]; - - DEBUG_MSG_P(PSTR("[SENSOR] %s\n"), sensor->description().c_str()); - if (sensor->error() != 0) DEBUG_MSG_P(PSTR("[SENSOR] -> ERROR %d\n"), sensor->error()); - - for (unsigned char k=0; kcount(); k++) { - - unsigned char type = sensor->type(k); - - sensor_magnitude_t new_magnitude; - new_magnitude.sensor = sensor; - new_magnitude.local = k; - new_magnitude.type = type; - new_magnitude.global = _counts[type]; - new_magnitude.current = 0; - new_magnitude.filtered = 0; - new_magnitude.reported = 0; - new_magnitude.min_change = 0; - if (type == MAGNITUDE_DIGITAL) { - new_magnitude.filter = new MaxFilter(); - } else if (type == MAGNITUDE_EVENTS) { - new_magnitude.filter = new MovingAverageFilter(); - } else { - new_magnitude.filter = new MedianFilter(); - } - new_magnitude.filter->resize(_sensor_report_every); - _magnitudes.push_back(new_magnitude); - - DEBUG_MSG_P(PSTR("[SENSOR] -> %s:%d\n"), magnitudeTopic(type).c_str(), _counts[type]); - - _counts[type] = _counts[type] + 1; - - } - - } - -} - // ----------------------------------------------------------------------------- // Public // ----------------------------------------------------------------------------- @@ -603,6 +684,14 @@ String magnitudeUnits(unsigned char type) { if (type < MAGNITUDE_MAX) { if ((type == MAGNITUDE_TEMPERATURE) && (_sensor_temperature_units == TMP_FAHRENHEIT)) { strncpy_P(buffer, magnitude_fahrenheit, sizeof(buffer)); + } else if ( + (type == MAGNITUDE_ENERGY || type == MAGNITUDE_ENERGY_DELTA) && + (_sensor_energy_units == ENERGY_KWH)) { + strncpy_P(buffer, magnitude_kwh, sizeof(buffer)); + } else if ( + (type == MAGNITUDE_POWER_ACTIVE || type == MAGNITUDE_POWER_APPARENT || type == MAGNITUDE_POWER_REACTIVE) && + (_sensor_power_units == POWER_KILOWATTS)) { + strncpy_P(buffer, magnitude_kw, sizeof(buffer)); } else { strncpy_P(buffer, magnitude_units[type], sizeof(buffer)); } @@ -615,14 +704,12 @@ String magnitudeUnits(unsigned char type) { void sensorSetup() { // Load sensors + _sensorLoad(); _sensorInit(); // Configure stored values _sensorConfigure(); - // Load magnitudes - _magnitudesInit(); - #if WEB_SUPPORT // Websockets @@ -646,8 +733,14 @@ void sensorSetup() { void sensorLoop() { - static unsigned long last_update = 0; - static unsigned long report_count = 0; + // Check if we still have uninitialized sensors + static unsigned long last_init = 0; + if (!_sensors_ready) { + if (millis() - last_init > SENSOR_INIT_INTERVAL) { + last_init = millis(); + _sensorInit(); + } + } if (_magnitudes.size() == 0) return; @@ -655,6 +748,8 @@ void sensorLoop() { _sensorTick(); // Check if we should read new data + static unsigned long last_update = 0; + static unsigned long report_count = 0; if (millis() - last_update > _sensor_read_interval) { last_update = millis(); diff --git a/code/espurna/sensors/AnalogSensor.h b/code/espurna/sensors/AnalogSensor.h index cf72519a..920538c9 100644 --- a/code/espurna/sensors/AnalogSensor.h +++ b/code/espurna/sensors/AnalogSensor.h @@ -30,11 +30,12 @@ class AnalogSensor : public BaseSensor { // Initialization method, must be idempotent void begin() { pinMode(0, INPUT); + _ready = true; } // Descriptive name of the sensor String description() { - return String("ANALOG @ GPIO0"); + return String("ANALOG @ TOUT"); } // Descriptive name of the slot # index diff --git a/code/espurna/sensors/BH1750Sensor.h b/code/espurna/sensors/BH1750Sensor.h index c29ab2de..9cc2b87d 100644 --- a/code/espurna/sensors/BH1750Sensor.h +++ b/code/espurna/sensors/BH1750Sensor.h @@ -55,7 +55,6 @@ class BH1750Sensor : public I2CSensor { void begin() { if (!_dirty) return; - _dirty = false; // I2C auto-discover unsigned char addresses[] = {0x23, 0x5C}; @@ -64,6 +63,8 @@ class BH1750Sensor : public I2CSensor { // Run configuration on next update _run_configure = true; + _ready = true; + _dirty = false; } diff --git a/code/espurna/sensors/BMX280Sensor.h b/code/espurna/sensors/BMX280Sensor.h index 6bd49c6f..9782c95e 100644 --- a/code/espurna/sensors/BMX280Sensor.h +++ b/code/espurna/sensors/BMX280Sensor.h @@ -67,18 +67,9 @@ class BMX280Sensor : public I2CSensor { // Initialization method, must be idempotent void begin() { - if (!_dirty) return; - _dirty = false; - _chip = 0; - - // I2C auto-discover - _address = _begin_i2c(_address, sizeof(BMX280Sensor::addresses), BMX280Sensor::addresses); - if (_address == 0) return; - - // Init _init(); - + _dirty = !_ready; } // Descriptive name of the sensor @@ -194,13 +185,29 @@ class BMX280Sensor : public I2CSensor { // Make sure sensor had enough time to turn on. BMX280 requires 2ms to start up delay(10); + // No chip ID by default + _chip = 0; + + // I2C auto-discover + _address = _begin_i2c(_address, sizeof(BMX280Sensor::addresses), BMX280Sensor::addresses); + if (_address == 0) return; + // Check sensor correctly initialized _chip = i2c_read_uint8(_address, BMX280_REGISTER_CHIPID); if ((_chip != BMX280_CHIP_BME280) && (_chip != BMX280_CHIP_BMP280)) { + _chip = 0; i2cReleaseLock(_address); + _previous_address = 0; _error = SENSOR_ERROR_UNKNOWN_ID; + + // Setting _address to 0 forces auto-discover + // This might be necessary at this stage if there is a + // different sensor in the hardcoded address + _address = 0; + return; + } _count = 0; @@ -233,6 +240,7 @@ class BMX280Sensor : public I2CSensor { _measurement_delay = _measurementTime(); _run_init = false; + _ready = true; } @@ -341,7 +349,7 @@ class BMX280Sensor : public I2CSensor { var1 = ((var1 * var1 * (int64_t)_bmx280_calib.dig_P3)>>8) + ((var1 * (int64_t)_bmx280_calib.dig_P2)<<12); var1 = (((((int64_t)1)<<47)+var1))*((int64_t)_bmx280_calib.dig_P1)>>33; - if (var1 == 0) return; // avoid exception caused by division by zero + if (var1 == 0) return SENSOR_ERROR_I2C; // avoid exception caused by division by zero p = 1048576 - adc_P; p = (((p<<31) - var2)*3125) / var1; diff --git a/code/espurna/sensors/BaseSensor.h b/code/espurna/sensors/BaseSensor.h index 1daf41f3..12ab5d09 100644 --- a/code/espurna/sensors/BaseSensor.h +++ b/code/espurna/sensors/BaseSensor.h @@ -10,8 +10,6 @@ #include #include -#define GPIO_NONE 0x99 - #define SENSOR_ERROR_OK 0 // No error #define SENSOR_ERROR_OUT_OF_RANGE 1 // Result out of sensor range #define SENSOR_ERROR_WARM_UP 2 // Sensor is warming-up @@ -21,6 +19,8 @@ #define SENSOR_ERROR_I2C 6 // Wrong or locked I2C address #define SENSOR_ERROR_GPIO_USED 7 // The GPIO is already in use +typedef std::function TSensorCallback; + class BaseSensor { public: @@ -70,8 +70,11 @@ class BaseSensor { // Sensor ID unsigned char getID() { return _sensor_id; }; - // Return sensor status (true for ready) - bool status() { return _error == 0; } + // Return status (true if no errors) + bool status() { return 0 == _error; } + + // Return ready status (true for ready) + bool ready() { return _ready; } // Return sensor last internal error int error() { return _error; } @@ -79,12 +82,17 @@ class BaseSensor { // Number of available slots unsigned char count() { return _count; } + // Hook for event callback + void onEvent(TSensorCallback fn) { _callback = fn; }; + protected: + TSensorCallback _callback = NULL; unsigned char _sensor_id = 0x00; int _error = 0; bool _dirty = true; unsigned char _count = 0; + bool _ready = false; }; diff --git a/code/espurna/sensors/DHTSensor.h b/code/espurna/sensors/DHTSensor.h index 1cb3f3e1..fe590b84 100644 --- a/code/espurna/sensors/DHTSensor.h +++ b/code/espurna/sensors/DHTSensor.h @@ -75,6 +75,7 @@ class DHTSensor : public BaseSensor { _previous = _gpio; _count = 2; + _ready = true; } diff --git a/code/espurna/sensors/DallasSensor.h b/code/espurna/sensors/DallasSensor.h index 03bf8c8b..e5dbba11 100644 --- a/code/espurna/sensors/DallasSensor.h +++ b/code/espurna/sensors/DallasSensor.h @@ -64,7 +64,6 @@ class DallasSensor : public BaseSensor { void begin() { if (!_dirty) return; - _dirty = false; // Manage GPIO lock if (_previous != GPIO_NONE) gpioReleaseLock(_previous); @@ -93,6 +92,8 @@ class DallasSensor : public BaseSensor { } else { _previous = _gpio; } + _ready = true; + _dirty = false; } diff --git a/code/espurna/sensors/DigitalSensor.h b/code/espurna/sensors/DigitalSensor.h index a0e725ae..fc1ca796 100644 --- a/code/espurna/sensors/DigitalSensor.h +++ b/code/espurna/sensors/DigitalSensor.h @@ -58,6 +58,7 @@ class DigitalSensor : public BaseSensor { // Initialization method, must be idempotent void begin() { pinMode(_gpio, _mode); + _ready = true; } // Descriptive name of the sensor diff --git a/code/espurna/sensors/ECH1560Sensor.h b/code/espurna/sensors/ECH1560Sensor.h index 0de3efc3..0fc9dc54 100644 --- a/code/espurna/sensors/ECH1560Sensor.h +++ b/code/espurna/sensors/ECH1560Sensor.h @@ -67,12 +67,19 @@ class ECH1560Sensor : public BaseSensor { void begin() { if (!_dirty) return; - _dirty = false; pinMode(_clk, INPUT); pinMode(_miso, INPUT); _enableInterrupts(true); + _dirty = false; + _ready = true; + + } + + // Loop-like method, call it in your main loop + void tick() { + if (_dosync) _sync(); } // Descriptive name of the sensor diff --git a/code/espurna/sensors/EmonADS1X15Sensor.h b/code/espurna/sensors/EmonADS1X15Sensor.h index 36c9b045..26f18c40 100644 --- a/code/espurna/sensors/EmonADS1X15Sensor.h +++ b/code/espurna/sensors/EmonADS1X15Sensor.h @@ -147,7 +147,6 @@ class EmonADS1X15Sensor : public EmonSensor { void begin() { if (!_dirty) return; - _dirty = false; // Discover unsigned char addresses[] = {0x48, 0x49, 0x4A, 0x4B}; diff --git a/code/espurna/sensors/EmonSensor.h b/code/espurna/sensors/EmonSensor.h index e82e7b05..dc2ea7a2 100644 --- a/code/espurna/sensors/EmonSensor.h +++ b/code/espurna/sensors/EmonSensor.h @@ -109,6 +109,10 @@ class EmonSensor : public I2CSensor { } #endif + _ready = true; + _dirty = false; + + } protected: diff --git a/code/espurna/sensors/EventSensor.h b/code/espurna/sensors/EventSensor.h index 70288a1f..d46fc063 100644 --- a/code/espurna/sensors/EventSensor.h +++ b/code/espurna/sensors/EventSensor.h @@ -72,6 +72,7 @@ class EventSensor : public BaseSensor { void begin() { pinMode(_gpio, _mode); _enableInterrupts(true); + _ready = true; } // Descriptive name of the sensor diff --git a/code/espurna/sensors/HLW8012Sensor.h b/code/espurna/sensors/HLW8012Sensor.h index 9a43c938..2e030ed1 100644 --- a/code/espurna/sensors/HLW8012Sensor.h +++ b/code/espurna/sensors/HLW8012Sensor.h @@ -153,6 +153,8 @@ class HLW8012Sensor : public BaseSensor { }); #endif + _ready = true; + } // Descriptive name of the sensor diff --git a/code/espurna/sensors/I2CSensor.h b/code/espurna/sensors/I2CSensor.h index 5a01971e..bec7d51a 100644 --- a/code/espurna/sensors/I2CSensor.h +++ b/code/espurna/sensors/I2CSensor.h @@ -40,28 +40,32 @@ class I2CSensor : public BaseSensor { // Specific for I2C sensors unsigned char _begin_i2c(unsigned char address, size_t size, unsigned char * addresses) { + // If we have already locked this address for this sensor quit + if ((address > 0) && (address == _previous_address)) { + return _previous_address; + } + // Check if we should release a previously locked address - if (_previous_address != address) { + if ((_previous_address > 0) && (_previous_address != address)) { i2cReleaseLock(_previous_address); + _previous_address = 0; } - // If we have already an address, check it is not locked - if (address && !i2cGetLock(address)) { - _error = SENSOR_ERROR_I2C; - - // If we don't have an address... - } else { - - // Trigger auto-discover - address = i2cFindAndLock(size, addresses); + // If requesting a specific address, try to ger a lock to it + if ((0 < address) && i2cGetLock(address)) { + _previous_address = address; + return _previous_address; + } - // If still nothing exit with error - if (address == 0) _error = SENSOR_ERROR_I2C; + // If everything else fails, perform an auto-discover + _previous_address = i2cFindAndLock(size, addresses); + // Flag error + if (0 == _previous_address) { + _error = SENSOR_ERROR_I2C; } - _previous_address = address; - return address; + return _previous_address; } diff --git a/code/espurna/sensors/MHZ19Sensor.h b/code/espurna/sensors/MHZ19Sensor.h index 923620c8..105adf22 100644 --- a/code/espurna/sensors/MHZ19Sensor.h +++ b/code/espurna/sensors/MHZ19Sensor.h @@ -72,14 +72,17 @@ class MHZ19Sensor : public BaseSensor { void begin() { if (!_dirty) return; - _dirty = false; if (_serial) delete _serial; _serial = new SoftwareSerial(_pin_rx, _pin_tx, false, 32); + _serial->enableIntTx(false); _serial->begin(9600); calibrateAuto(false); + _ready = true; + _dirty = false; + } // Descriptive name of the sensor diff --git a/code/espurna/sensors/PMSX003Sensor.h b/code/espurna/sensors/PMSX003Sensor.h index c7203511..95e5933a 100644 --- a/code/espurna/sensors/PMSX003Sensor.h +++ b/code/espurna/sensors/PMSX003Sensor.h @@ -62,17 +62,19 @@ class PMSX003Sensor : public BaseSensor { void begin() { if (!_dirty) return; - _dirty = false; if (_serial) delete _serial; if (_pms) delete _pms; _serial = new SoftwareSerial(_pin_rx, _pin_tx, false, 32); + _serial->enableIntTx(false); _serial->begin(9600); _pms = new PMS(* _serial); _pms->passiveMode(); _startTime = millis(); + _ready = true; + _dirty = false; } diff --git a/code/espurna/sensors/PZEM004TSensor.h b/code/espurna/sensors/PZEM004TSensor.h new file mode 100644 index 00000000..2adc71e9 --- /dev/null +++ b/code/espurna/sensors/PZEM004TSensor.h @@ -0,0 +1,136 @@ +// ----------------------------------------------------------------------------- +// PZEM004T based power monitor +// Copyright (C) 2018 by Xose Pérez +// ----------------------------------------------------------------------------- + +#if SENSOR_SUPPORT && PZEM004T_SUPPORT + +#pragma once + +#include "Arduino.h" +#include "BaseSensor.h" + +#include + +class PZEM004TSensor : public BaseSensor { + + public: + + // --------------------------------------------------------------------- + // Public + // --------------------------------------------------------------------- + + PZEM004TSensor(): BaseSensor(), _data() { + _count = 4; + _sensor_id = SENSOR_PZEM004T_ID; + } + + ~PZEM004TSensor() { + if (_pzem) delete _pzem; + } + + // --------------------------------------------------------------------- + + void setRX(unsigned char pin_rx) { + if (_pin_rx == pin_rx) return; + _pin_rx = pin_rx; + _dirty = true; + } + + void setTX(unsigned char pin_tx) { + if (_pin_tx == pin_tx) return; + _pin_tx = pin_tx; + _dirty = true; + } + + void setSerial(Stream & serial) { + _serial = serial; + _dirty = true; + } + + // --------------------------------------------------------------------- + + unsigned char getRX() { + return _pin_rx; + } + + unsigned char getTX() { + return _pin_tx; + } + + Stream & getSerial() { + return _serial; + } + + // --------------------------------------------------------------------- + // Sensor API + // --------------------------------------------------------------------- + + // Initialization method, must be idempotent + void begin() { + + if (!_dirty) return; + + if (_pzem) delete _pzem; + if (_serial == NULL) { + _pzem = PZEM004T(_pin_rx, _pin_tx); + } else { + _pzem = PZEM004T(_serial); + } + _pzem->setAddress(_ip); + + _ready = true; + _dirty = false; + + } + + // Descriptive name of the sensor + String description() { + char buffer[28]; + snprintf(buffer, sizeof(buffer), "PZEM004T @ SwSerial(%u,%u)", _pin_rx, _pin_tx); + return String(buffer); + } + + // Descriptive name of the slot # index + String slot(unsigned char index) { + return description(); + }; + + // Address of the sensor (it could be the GPIO or I2C address) + String address(unsigned char index) { + return _ip.toString(); + } + + // Type for slot # index + unsigned char type(unsigned char index) { + if (index == 0) return MAGNITUDE_CURRENT; + if (index == 1) return MAGNITUDE_VOLTAGE; + if (index == 2) return MAGNITUDE_POWER_ACTIVE; + if (index == 3) return MAGNITUDE_ENERGY; + return MAGNITUDE_NONE; + } + + // Current value for slot # index + double value(unsigned char index) { + if (index == 0) return _pzem->current(_ip); + if (index == 1) return _pzem->voltage(_ip); + if (index == 2) return _pzem->power(_ip); + if (index == 3) return _pzem->energy(_ip); + return 0; + } + + protected: + + // --------------------------------------------------------------------- + // Protected + // --------------------------------------------------------------------- + + unsigned int _pin_rx = PZEM004T_RX_PIN; + unsigned int _pin_tx = PZEM004T_TX_PIN; + Stream & _serial = NULL; + IPAddress _ip(192,168,1,1); + PZEM004T * _pzem = NULL; + +}; + +#endif // SENSOR_SUPPORT && PZEM004T_SUPPORT diff --git a/code/espurna/sensors/SHT3XI2CSensor.h b/code/espurna/sensors/SHT3XI2CSensor.h index ded19529..b3f9e8ca 100644 --- a/code/espurna/sensors/SHT3XI2CSensor.h +++ b/code/espurna/sensors/SHT3XI2CSensor.h @@ -31,13 +31,15 @@ class SHT3XI2CSensor : public I2CSensor { void begin() { if (!_dirty) return; - _dirty = false; // I2C auto-discover unsigned char addresses[] = {0x45}; _address = _begin_i2c(_address, sizeof(addresses), addresses); if (_address == 0) return; + _ready = true; + _dirty = false; + } // Descriptive name of the sensor diff --git a/code/espurna/sensors/SI7021Sensor.h b/code/espurna/sensors/SI7021Sensor.h index 971990fb..677d8b2d 100644 --- a/code/espurna/sensors/SI7021Sensor.h +++ b/code/espurna/sensors/SI7021Sensor.h @@ -41,18 +41,9 @@ class SI7021Sensor : public I2CSensor { // Initialization method, must be idempotent void begin() { - if (!_dirty) return; - _dirty = false; - - // I2C auto-discover - unsigned char addresses[] = {0x40}; - _address = _begin_i2c(_address, sizeof(addresses), addresses); - if (_address == 0) return; - - // Initialize sensor _init(); - + _dirty = !_ready; } // Descriptive name of the sensor @@ -116,18 +107,33 @@ class SI7021Sensor : public I2CSensor { void _init() { + // I2C auto-discover + unsigned char addresses[] = {0x40}; + _address = _begin_i2c(_address, sizeof(addresses), addresses); + if (_address == 0) return; + // Check device i2c_write_uint8(_address, 0xFC, 0xC9); _chip = i2c_read_uint8(_address); if ((_chip != SI7021_CHIP_SI7021) & (_chip != SI7021_CHIP_HTU21D)) { + + _count = 0; i2cReleaseLock(_address); + _previous_address = 0; _error = SENSOR_ERROR_UNKNOWN_ID; - _count = 0; + + // Setting _address to 0 forces auto-discover + // This might be necessary at this stage if there is a + // different sensor in the hardcoded address + _address = 0; + } else { _count = 2; } + _ready = true; + } unsigned int _read(uint8_t command) { diff --git a/code/espurna/sensors/V9261FSensor.h b/code/espurna/sensors/V9261FSensor.h index 85c9fce1..c80ab44b 100644 --- a/code/espurna/sensors/V9261FSensor.h +++ b/code/espurna/sensors/V9261FSensor.h @@ -61,13 +61,16 @@ class V9261FSensor : public BaseSensor { void begin() { if (!_dirty) return; - _dirty = false; if (_serial) delete _serial; _serial = new SoftwareSerial(_pin_rx, SW_SERIAL_UNUSED_PIN, _inverted, 32); + _serial->enableIntTx(false); _serial->begin(V9261F_BAUDRATE); + _ready = true; + _dirty = false; + } // Descriptive name of the sensor diff --git a/code/espurna/settings.ino b/code/espurna/settings.ino index 16a9cf29..d57e87ff 100644 --- a/code/espurna/settings.ino +++ b/code/espurna/settings.ino @@ -27,11 +27,11 @@ Copyright (C) 2016-2018 by Xose Pérez EmbedisWrap embedis(EMBEDIS_PORT, TERMINAL_BUFFER_SIZE); #if TERMINAL_SUPPORT -#ifdef SERIAL_RX_PORT +#if SERIAL_RX_ENABLED char _serial_rx_buffer[TERMINAL_BUFFER_SIZE]; static unsigned char _serial_rx_pointer = 0; -#endif -#endif +#endif // SERIAL_RX_ENABLED +#endif // TERMINAL_SUPPORT bool _settings_save = false; @@ -85,11 +85,42 @@ String _settingsKeyName(unsigned int index) { } +std::vector _settingsKeys() { + + // Get sorted list of keys + std::vector keys; + + //unsigned int size = settingsKeyCount(); + unsigned int size = _settingsKeyCount(); + for (unsigned int i=0; i 0) { + keys.insert(keys.begin() + j, key); + inserted = true; + break; + } + + } + + // If we could not insert it, just push it at the end + if (!inserted) keys.push_back(key); + + } + + return keys; +} + // ----------------------------------------------------------------------------- // Commands // ----------------------------------------------------------------------------- -void _settingsHelp() { +void _settingsHelpCommand() { // Get sorted list of commands std::vector commands; @@ -122,32 +153,10 @@ void _settingsHelp() { } -void _settingsKeys() { +void _settingsKeysCommand() { // Get sorted list of keys - std::vector keys; - //unsigned int size = settingsKeyCount(); - unsigned int size = _settingsKeyCount(); - for (unsigned int i=0; i 0) { - keys.insert(keys.begin() + j, key); - inserted = true; - break; - } - - } - - // If we could not insert it, just push it at the end - if (!inserted) keys.push_back(key); - - } + std::vector keys = _settingsKeys(); // Write key-values DEBUG_MSG_P(PSTR("Current settings:\n")); @@ -162,14 +171,14 @@ void _settingsKeys() { } -void _settingsFactoryReset() { +void _settingsFactoryResetCommand() { for (unsigned int i = 0; i < SPI_FLASH_SEC_SIZE; i++) { EEPROM.write(i, 0xFF); } EEPROM.commit(); } -void _settingsDump(bool ascii) { +void _settingsDumpCommand(bool ascii) { for (unsigned int i = 0; i < SPI_FLASH_SEC_SIZE; i++) { if (i % 16 == 0) DEBUG_MSG_P(PSTR("\n[%04X] "), i); byte c = EEPROM.read(i); @@ -191,14 +200,14 @@ void _settingsInitCommands() { #endif settingsRegisterCommand(F("COMMANDS"), [](Embedis* e) { - _settingsHelp(); + _settingsHelpCommand(); DEBUG_MSG_P(PSTR("+OK\n")); }); settingsRegisterCommand(F("EEPROM.DUMP"), [](Embedis* e) { bool ascii = false; if (e->argc == 2) ascii = String(e->argv[1]).toInt() == 1; - _settingsDump(ascii); + _settingsDumpCommand(ascii); DEBUG_MSG_P(PSTR("\n+OK\n")); }); @@ -209,8 +218,22 @@ void _settingsInitCommands() { *((int*) 0) = 0; // see https://github.com/esp8266/Arduino/issues/1494 }); + #if I2C_SUPPORT + + settingsRegisterCommand(F("I2C.SCAN"), [](Embedis* e) { + _settingsI2CScanCommand(); + DEBUG_MSG_P(PSTR("+OK\n")); + }); + + settingsRegisterCommand(F("I2C.CLEAR"), [](Embedis* e) { + i2cClearBus(); + DEBUG_MSG_P(PSTR("+OK\n")); + }); + + #endif + settingsRegisterCommand(F("FACTORY.RESET"), [](Embedis* e) { - _settingsFactoryReset(); + _settingsFactoryResetCommand(); DEBUG_MSG_P(PSTR("+OK\n")); }); @@ -238,7 +261,7 @@ void _settingsInitCommands() { }); settingsRegisterCommand(F("HELP"), [](Embedis* e) { - _settingsHelp(); + _settingsHelpCommand(); DEBUG_MSG_P(PSTR("+OK\n")); }); @@ -252,7 +275,7 @@ void _settingsInitCommands() { }); settingsRegisterCommand(F("KEYS"), [](Embedis* e) { - _settingsKeys(); + _settingsKeysCommand(); DEBUG_MSG_P(PSTR("+OK\n")); }); @@ -323,7 +346,7 @@ void saveSettings() { } void resetSettings() { - _settingsFactoryReset(); + _settingsFactoryResetCommand(); } // ----------------------------------------------------------------------------- @@ -367,11 +390,13 @@ bool settingsRestoreJson(JsonObject& data) { bool settingsGetJson(JsonObject& root) { - unsigned int size = _settingsKeyCount(); - for (unsigned int i=0; i keys = _settingsKeys(); + + // Add the key-values to the json object + for (unsigned int i=0; i 0) { char rc = Serial.read(); @@ -440,7 +465,7 @@ void settingsLoop() { } } - #endif // SERIAL_RX_PORT + #endif // SERIAL_RX_ENABLED #endif // TERMINAL_SUPPORT diff --git a/code/espurna/static/index.html.gz.h b/code/espurna/static/index.html.gz.h index 876d3373..6dd9d498 100644 --- a/code/espurna/static/index.html.gz.h +++ b/code/espurna/static/index.html.gz.h @@ -3180,4 +3180,3223 @@ const uint8_t index_html_gz[] PROGMEM = { 0xaa,0x7c,0xbe,0x9c,0xbe,0x8c,0x3e,0x1b,0x77,0x59,0x44,0x2a,0xfc,0xbe,0x48,0x85,0x5e,0x97,0xdd,0xf7, 0x5f,0xe4,0xf4,0xe8,0x19,0xa2,0xcc,0x07,0x6e,0xaa,0xab,0x22,0x4b,0x75,0xe9,0xce,0x7c,0x0b,0x33,0xaf, 0xc9,0x21,0xbd,0xb4,0xa8,0x7a,0xbb,0x38,0x7b,0x0e,0xfe,0x2f,0x3d,0xe3,0x8d,0x29,0xe0,0x74,0x03,0x00 + +#define index_html_gz_len 64316 +const uint8_t index_html_gz[] PROGMEM = { +0x1f,0x8b,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xec,0xbd,0xe9,0x5a,0xdb,0xda,0xb2,0x28,0xfa,0x7f, +0x3f,0x85,0xe2,0xac,0x9d,0x65,0x2f,0xdc,0x77,0x18,0x98,0x4e,0xb6,0x31,0x06,0x4c,0x63,0xc0,0xa6,0x4d, +0x4e,0xce,0xfc,0x64,0x4b,0xb6,0x05,0xb2,0x64,0x24,0x19,0x63,0x12,0xee,0xfb,0xdc,0x27,0xb8,0xff,0xef, +0x7d,0xb1,0x5b,0x35,0x1a,0x69,0xa8,0x33,0x86,0x90,0x3d,0xe7,0x3e,0xdf,0x9a,0x59,0x2b,0xb1,0xa4,0xd1, +0x56,0xd5,0xa8,0x6e,0xd4,0xa8,0xf1,0xc7,0x87,0x9d,0x93,0xe6,0xf9,0xcd,0x69,0x4b,0x1a,0x3b,0x13,0xfd, +0xf3,0x1f,0xec,0x6f,0x55,0x56,0x3e,0xff,0xe1,0x68,0x8e,0xae,0x7e,0x6e,0xf5,0x4e,0x67,0x96,0x21,0x4b, +0xf9,0x2c,0xfc,0xf9,0x23,0x47,0x5f,0xfe,0x31,0x51,0x1d,0x59,0x1a,0x8c,0x65,0xcb,0x56,0x9d,0x7a,0x62, +0xe6,0x0c,0x33,0xb5,0xc4,0xe7,0x3f,0x74,0xcd,0xb8,0x93,0x2c,0x55,0xaf,0x27,0xec,0xb1,0x69,0x39,0x83, +0x99,0x23,0x69,0x03,0xd3,0x48,0x48,0x63,0x4b,0x1d,0xd6,0x13,0x8a,0xec,0xc8,0x9b,0xda,0x44,0x1e,0xa9, +0xb9,0xa9,0x31,0xda,0xea,0xcb,0xb6,0x5a,0x2d,0xa7,0x1b,0x8d,0xc6,0x76,0xa3,0xd1,0x6a,0xb4,0xe0,0x6f, +0xfc,0xb7,0xdd,0xd8,0x36,0xf1,0xe7,0xee,0x08,0xfe,0x6a,0xe2,0x5f,0x8d,0x33,0xfc,0xab,0xdd,0xe0,0xdf, +0xf9,0x7f,0xf0,0x7a,0xbb,0x7d,0x04,0x3f,0x7a,0xcd,0x79,0xe3,0xdf,0xff,0xfd,0xcd,0xfe,0xcb,0xc1,0x7f, +0x8d,0x53,0xf8,0x6b,0xbe,0x03,0x7f,0xd5,0xe8,0x73,0xf0,0xbf,0x4e,0xff,0xaa,0x60,0x5c,0xcd,0xad,0xf5, +0xdd,0x8d,0xfb,0x43,0x6d,0xaa,0x56,0x17,0xb6,0x75,0xbd,0x70,0xac,0xc3,0xca,0x86,0x75,0xb8,0x98,0x0d, +0xab,0x45,0xdb,0x32,0xf7,0xe0,0xb9,0xda,0xb4,0xe4,0xc5,0x6c,0x7c,0xd4,0x7c,0xb0,0x6f,0x86,0x4a,0x49, +0x29,0xc8,0xa4,0xbd,0x07,0x6c,0x3f,0xd8,0xe8,0xce,0x79,0xde,0x39,0x69,0xe8,0x15,0xf9,0x66,0x71,0xd5, +0xd1,0xbe,0x0e,0x47,0xb9,0xd3,0xbb,0xa3,0xdc,0xf1,0x79,0x23,0x9f,0x7b,0x6a,0xcd,0x8f,0x73,0xb5,0xc5, +0xf1,0xf9,0x75,0xee,0xf8,0xb6,0x55,0xa0,0xcf,0x1b,0xbb,0xdd,0xd6,0x6d,0xce,0x59,0x57,0xcb,0xa3,0xe6, +0xdc,0x3a,0x62,0xe3,0x8d,0x9e,0xcf,0xfa,0x5a,0x6e,0xbc,0x73,0x96,0xef,0xec,0x1e,0x4c,0x2a,0x33,0x65, +0x52,0xd4,0x4d,0x79,0xa3,0x56,0x3b,0x79,0xca,0x6d,0xb4,0xb5,0x96,0x9e,0x7b,0xac,0xa9,0xed,0x87,0x9a, +0xb2,0xdf,0xdc,0xc9,0x9d,0xdd,0x1d,0xec,0xe6,0xac,0xea,0xc6,0x43,0xf9,0xa1,0xb2,0x36,0xbc,0x53,0xe3, +0xc7,0x1b,0x84,0xd7,0x69,0x61,0x63,0x78,0x33,0x9e,0xad,0xcf,0x6a,0xb7,0x77,0x07,0xdb,0xdd,0x61,0x99, +0xb4,0xb7,0xff,0x58,0xd6,0x72,0x8b,0xf6,0xf8,0x60,0x58,0x83,0xf9,0xec,0xd7,0xfa,0x7b,0xce,0xac,0x74, +0xb0,0xa6,0x9a,0x07,0xfd,0x8b,0x42,0xe7,0xb2,0x85,0xf5,0x77,0x1c,0x4b,0x2e,0x8e,0x42,0xf0,0x20,0xf3, +0xe9,0x9c,0x9f,0x95,0x1b,0x47,0x6a,0x69,0xb6,0x5f,0x69,0x9d,0xe5,0xfb,0xb9,0xa3,0x45,0xf9,0x31,0xf7, +0xd4,0x78,0x00,0x78,0xcc,0x8f,0x9e,0x4e,0xf1,0x79,0xc1,0x9e,0x09,0xbc,0x6e,0x8a,0x1d,0x7d,0xa3,0xa2, +0x5d,0x4f,0x06,0xd7,0xe7,0xf9,0x8d,0xee,0x7a,0xfc,0x78,0x8f,0x06,0xa5,0xce,0xa3,0x8a,0xf8,0xb9,0xbd, +0x9f,0x4c,0xef,0xcd,0xfb,0xe9,0xbd,0x3c,0x6b,0xdf,0xcb,0x13,0x6b,0x8c,0xcf,0xe5,0xde,0x3d,0x3c,0xef, +0xdc,0xcb,0xda,0xfd,0x48,0xbe,0xba,0x9b,0x22,0x3e,0xe5,0x6a,0xb3,0xa0,0x5c,0x5f,0xa9,0xc1,0xb1,0x06, +0xe9,0xe5,0x34,0x1e,0x5e,0xff,0xfe,0xef,0xbf,0xf7,0x3f,0xb2,0x26,0x4e,0x71,0x0d,0xef,0x10,0x9c,0xb0, +0xe7,0x53,0xfc,0xb6,0x83,0x38,0xda,0x26,0x6b,0x66,0x1f,0x9e,0x46,0xc8,0x9a,0xd7,0xf0,0x89,0x7e,0x7d, +0x12,0xca,0xfb,0xeb,0x37,0xea,0xf5,0x04,0x93,0x26,0x86,0x3c,0x51,0xeb,0x89,0x07,0x4d,0x9d,0x4f,0x41, +0x76,0x24,0x24,0x10,0x1c,0x8e,0x6a,0x80,0x74,0x99,0x6b,0x8a,0x33,0xae,0x2b,0xea,0x83,0x36,0x50,0x33, +0xe4,0x21,0xad,0x19,0x9a,0xa3,0xc9,0x7a,0xc6,0x1e,0xc8,0xba,0x5a,0x2f,0x40,0x13,0xb6,0xb3,0x00,0xb9, +0x94,0xfb,0xd7,0x87,0xff,0x00,0x71,0xa5,0x4a,0x0f,0x05,0x14,0x57,0xff,0xd1,0x34,0xa7,0x0b,0x4b,0x1b, +0x8d,0x1d,0xa9,0x98,0x2f,0x94,0xa4,0x1b,0x79,0x6c,0x9a,0x1f,0xfe,0xe3,0x08,0x1a,0x32,0x6c,0x55,0x91, +0x66,0x86,0xa2,0x5a,0x92,0x33,0x56,0xa5,0xed,0xde,0x8e,0xc4,0x5e,0x67,0xff,0x63,0xec,0x38,0x53,0x7b, +0x33,0x97,0x1b,0x69,0xce,0x78,0xd6,0xcf,0x0e,0xcc,0x49,0x6e,0x81,0x35,0x73,0x53,0x68,0x3a,0xd7,0xd7, +0xcd,0x7e,0x6e,0x22,0xdb,0x8e,0x6a,0xe5,0x8e,0xda,0xcd,0x56,0xa7,0xd7,0xca,0x4e,0x94,0xff,0xf8,0x57, +0x0e,0x3b,0x37,0x4c,0x6b,0x22,0xeb,0xda,0x93,0x9a,0x1d,0xd8,0xb6,0xf4,0xf0,0xbf,0x4b,0xd9,0xbc,0xf4, +0x53,0x3a,0x6e,0x9f,0xf3,0xd6,0xe1,0x09,0x9a,0xcd,0x6a,0x66,0xce,0x2d,0x2a,0x8c,0x32,0x39,0x48,0x49, +0x1d,0x10,0x99,0xba,0x6c,0x4b,0x7b,0xb2,0xae,0xcb,0xa3,0x31,0x0c,0x50,0x36,0x14,0xe9,0xc0,0x34,0x64, +0x67,0x2c,0x1b,0x52,0x47,0x95,0x75,0xda,0x99,0x14,0xe8,0x0c,0xfa,0xca,0x96,0xa2,0x7a,0xe3,0x93,0x30, +0x54,0xd2,0x72,0xce,0x5f,0xef,0x5f,0xb9,0x2c,0xce,0x2b,0xd3,0x9f,0x39,0x8e,0x69,0x6c,0x0e,0xcd,0xc1, +0xcc,0x4e,0xcb,0x9b,0xf2,0xc0,0xd1,0x1e,0x54,0xf8,0x31,0x36,0x1f,0x54,0xeb,0x87,0x39,0x73,0x40,0xba, +0xab,0x9b,0xf9,0x67,0x5a,0xda,0x91,0xfb,0xba,0x9a,0x26,0x7f,0xff,0xe8,0x9b,0x16,0xc0,0x31,0x03,0x8d, +0xeb,0xf2,0xd4,0x56,0x37,0xf9,0x8f,0x2d,0xf6,0xc1,0x9e,0xca,0x03,0xcd,0x18,0x41,0x5d,0x54,0x2f,0x7e, +0x0c,0x01,0xb1,0x99,0xa1,0x3c,0xd1,0xf4,0xc5,0xa6,0x2d,0x1b,0x76,0xc6,0x56,0x2d,0x6d,0xb8,0x95,0x99, +0xd8,0x19,0x47,0x7d,0x74,0x32,0x36,0x8c,0x2c,0x23,0x2b,0xb7,0x33,0xdb,0xd9,0x2c,0xe4,0xf3,0xff,0xb9, +0x95,0x99,0xab,0xfd,0x3b,0xcd,0x89,0xfe,0xfa,0xdc,0x37,0x95,0xc5,0x8f,0x89,0x6c,0x8d,0x34,0x03,0x7a, +0x90,0x2d,0x47,0x1b,0xc0,0xc8,0x64,0x5b,0x53,0xd4,0xb4,0x02,0x84,0xa5,0xe9,0x76,0x7a,0xa8,0x8d,0x06, +0xf2,0xd4,0xd1,0x4c,0x03,0x7f,0xc2,0xf8,0xd3,0x43,0xd3,0x04,0x04,0xa6,0x51,0xd3,0xc1,0x7f,0x46,0x96, +0x39,0x9b,0xa6,0x27,0xb2,0x66,0xa4,0x27,0xaa,0x31,0x4b,0x1b,0xf2,0x43,0xda,0x56,0x07,0xa4,0x86,0x3d, +0x9b,0x40,0xf3,0x8b,0x1f,0x8a,0x66,0x4f,0x75,0x79,0xb1,0x09,0x04,0x30,0xb8,0x7b,0x96,0x67,0x8a,0x66, +0xa6,0x07,0xb2,0xf1,0x20,0xdb,0xe9,0xa9,0x65,0x8e,0x2c,0xd5,0xb6,0xd3,0x0f,0xd0,0xab,0xe9,0x96,0xd4, +0x0c,0x84,0x59,0x86,0x54,0xd8,0x02,0x28,0xc2,0xd0,0x80,0x68,0x01,0xf4,0x23,0x63,0x13,0xb5,0x1f,0xfc, +0x4a,0x1b,0xda,0x34,0x4c,0x27,0xf9,0x0d,0x49,0xde,0x32,0x75,0xfb,0x7b,0xca,0x6d,0xc2,0x30,0x0d,0x75, +0x6b,0xac,0x22,0x75,0xc0,0xec,0xbe,0x8d,0x35,0x45,0x51,0x8d,0xef,0x69,0x47,0x9d,0xc0,0x67,0x47,0xf5, +0x95,0x7b,0x96,0x7f,0xf4,0xe5,0xc1,0x1d,0xce,0xc5,0x50,0x10,0x1d,0xa6,0xb5,0x09,0xac,0xd6,0x00,0xf8, +0x5b,0xb0,0x92,0x9e,0xe5,0x7e,0xdf,0xfa,0x46,0x14,0xb8,0xef,0x1c,0x67,0x7d,0x13,0x90,0x3e,0xd9,0x2c, +0x4c,0x1f,0x25,0x05,0x7e,0xaa,0xca,0x73,0x3f,0x6d,0x4e,0x1d,0x0a,0x0e,0x1b,0x06,0x63,0x8c,0x28,0xbe, +0xe6,0x74,0x08,0xeb,0xf9,0xfc,0xb3,0x32,0x34,0xe8,0x3b,0xb2,0xe6,0x36,0x35,0x07,0x26,0x34,0x78,0x1e, +0x17,0xd8,0x4b,0xc0,0xcf,0x66,0x51,0x9d,0x6c,0x31,0x94,0x64,0xab,0xeb,0xea,0x44,0xca,0x3f,0xc3,0xe3, +0x9d,0x30,0xbc,0xcd,0x8f,0xc3,0x61,0x7e,0x8b,0x8e,0xf1,0x63,0x1e,0x5a,0xb5,0x81,0x24,0x75,0xa1,0x89, +0x1a,0xa0,0xd6,0x9e,0xf5,0x01,0xfa,0x53,0xe1,0xed,0x7a,0xe5,0x3f,0xb7,0x08,0x4c,0x39,0x48,0xb6,0xa6, +0xa6,0xad,0x21,0x9a,0x36,0x41,0xef,0x94,0x91,0x64,0x63,0x01,0x8d,0x2d,0x39,0xe6,0x74,0x33,0x93,0xad, +0xa8,0x13,0x6c,0xfb,0x07,0x9b,0x7d,0x26,0x5b,0xc4,0x37,0xda,0x64,0xc4,0xc0,0x02,0x90,0xb6,0x1f,0x46, +0x04,0x27,0x9b,0x16,0x10,0x4a,0xea,0x07,0xae,0x81,0xa1,0x6e,0xce,0x37,0x29,0x02,0x9e,0x29,0x15,0x71, +0xb2,0x2b,0xc0,0x0c,0xcb,0xf9,0xe9,0xe3,0xf3,0xd8,0x82,0x16,0x1e,0x71,0xa8,0x48,0xef,0x8c,0x83,0x01, +0x90,0x1f,0x3d,0x14,0x4e,0x81,0xf8,0x90,0x90,0x01,0x25,0xb2,0xd7,0xac,0x3c,0x73,0xcc,0xe7,0x81,0x09, +0x24,0x7b,0xd7,0x57,0xd2,0x58,0xc6,0x96,0x27,0x53,0xdf,0x52,0x99,0x98,0x86,0x89,0x2b,0x49,0x4d,0xbb, +0xbf,0xb6,0x3c,0xc0,0xc0,0x10,0x9e,0xe9,0x0a,0x06,0xe6,0x38,0x9d,0x39,0x02,0x16,0x55,0x1d,0x08,0xd9, +0xeb,0x93,0xc2,0x5c,0x33,0x80,0xb3,0x68,0x0e,0x69,0xc1,0x7d,0x70,0x57,0x91,0xc8,0x11,0x68,0x7b,0x3f, +0x44,0xa8,0x53,0x06,0xc2,0xfa,0xf3,0x26,0xf1,0xa0,0xd9,0x1a,0xf0,0x03,0x3e,0x0e,0xda,0xf1,0x0f,0xb2, +0x6a,0x09,0x19,0x0e,0xa1,0x1a,0x25,0x54,0x56,0x02,0xd9,0x81,0x44,0x9a,0xff,0xe6,0x2c,0xa6,0x6a,0x9d, +0xbe,0xfe,0x9e,0x16,0x5e,0xc1,0xaa,0x52,0x1d,0xdf,0x1b,0x40,0xdc,0x44,0x73,0xbe,0xff,0xe0,0x5c,0x41, +0x9e,0x4e,0x55,0x19,0x9a,0x1f,0xa8,0x9b,0xb4,0xfe,0xd6,0x60,0x66,0xd9,0x30,0xc5,0xa9,0xa9,0x01,0xfc, +0x2d,0xd6,0xd9,0x37,0x58,0x29,0xc8,0xad,0x94,0xef,0x62,0xb7,0xee,0xcb,0x1f,0xac,0x92,0xa2,0x0e,0xe5, +0x99,0xee,0xb0,0x4a,0x9b,0x9b,0x99,0x89,0xf9,0x94,0x21,0x3c,0x31,0xa3,0x19,0x06,0xb0,0x0a,0x52,0x2f, +0xfc,0xde,0xa5,0x9c,0xad,0xa9,0xac,0x28,0x94,0xdb,0x09,0x83,0x1e,0x8c,0xd5,0xc1,0x1d,0xd0,0x81,0x7f, +0x6e,0x32,0xac,0xfc,0xef,0x22,0xc5,0xb8,0xab,0xf2,0x31,0xba,0x19,0x63,0x36,0xe9,0xab,0xd6,0x77,0xe8, +0x9e,0x4d,0x9e,0xf4,0x0d,0x0c,0x56,0x33,0x7c,0xd8,0x8a,0x29,0x0d,0x4c,0xdc,0x5f,0xfa,0x07,0x43,0x28, +0x21,0x3f,0x11,0xc6,0x00,0xd1,0xc1,0x38,0x12,0xc6,0x88,0xce,0xa1,0xa6,0xea,0xca,0x56,0x34,0xa5,0xfb, +0x69,0x87,0x3e,0x20,0xe2,0x29,0xc0,0x29,0x9f,0xc3,0x3e,0xbe,0xa7,0xd8,0x47,0xe4,0xb7,0xd1,0x30,0x88, +0x18,0x91,0x37,0x17,0xfa,0x22,0x33,0xc0,0x41,0xe9,0x11,0x93,0x8f,0xab,0xa0,0x80,0x10,0xb4,0x64,0xe4, +0x18,0x51,0xb3,0x23,0xd4,0x49,0xa6,0x07,0x64,0xc7,0x71,0x8a,0xdc,0xd1,0x36,0x75,0x4d,0x91,0x6c,0x4d, +0x07,0x62,0x77,0xd7,0x89,0x54,0x9c,0x7a,0x88,0xca,0x96,0x80,0x89,0x48,0xd9,0x6a,0x91,0xfc,0xb3,0x8e, +0x1c,0x45,0x57,0x47,0xaa,0xa1,0xa4,0x1d,0xf8,0xdf,0xf8,0x87,0x87,0x50,0xfa,0xda,0xe3,0x35,0x59,0xca, +0x54,0xd2,0x9c,0xbb,0xfb,0x98,0xfa,0x07,0x6d,0x82,0xfa,0x90,0x0c,0xfc,0x9b,0xc2,0x0b,0xd9,0xd4,0x44, +0x7e,0xa4,0x9a,0x10,0x15,0x90,0x02,0x16,0xb7,0xfc,0x52,0x8a,0x56,0x19,0xfd,0xd0,0x55,0xc7,0x11,0x24, +0x71,0x26,0x5b,0x02,0x86,0xb1,0x45,0x96,0x26,0x88,0x06,0x18,0x06,0xbe,0x05,0x96,0xa1,0x4d,0x80,0x99, +0xd8,0x53,0x55,0x55,0xb6,0x44,0xde,0xb3,0x6b,0xa9,0x6a,0x0f,0x56,0x70,0xba,0x61,0x69,0x13,0x33,0x9d, +0xd8,0xb1,0x4c,0x80,0x06,0xbe,0x49,0xa4,0xf7,0x55,0x80,0x09,0x32,0x5c,0xfc,0x28,0xeb,0x69,0x41,0xa4, +0xf3,0xb1,0x70,0x40,0x23,0x5d,0x07,0xdf,0x0d,0x75,0x55,0x78,0x09,0x3a,0x00,0xbe,0x10,0x0b,0x92,0x02, +0x62,0xe9,0x0c,0x61,0x36,0x96,0x39,0x97,0xe6,0x96,0x3c,0xdd,0xe2,0x75,0x02,0xaf,0xa3,0x4a,0x72,0x7c, +0xa3,0x5c,0xc8,0x30,0x9a,0x25,0xed,0x83,0x28,0x03,0xc5,0xc1,0x6b,0x8a,0x30,0x3b,0x80,0xd5,0xdd,0x26, +0xfd,0x10,0x57,0xe3,0xf9,0xbf,0x26,0xaa,0xa2,0xc9,0x12,0x88,0x2e,0xa2,0xa5,0x25,0xb1,0x85,0x31,0x20, +0x83,0x94,0xb5,0x40,0x49,0x24,0x38,0x4c,0xa5,0x23,0x3e,0x50,0x05,0x2b,0xf5,0x83,0xe8,0x50,0x12,0x47, +0x94,0x1f,0x7d,0xcf,0x59,0x73,0x0a,0x86,0x55,0xc6,0x34,0xf4,0x85,0xb4,0x99,0x31,0x33,0x20,0x19,0xa8, +0x82,0xc6,0xcb,0xcf,0x81,0x88,0x04,0xb4,0x96,0x4b,0x40,0x76,0xf4,0xdb,0x8c,0x95,0x99,0x65,0x0a,0xde, +0x2f,0xff,0xef,0xa2,0xf0,0xe0,0xfb,0x5d,0x16,0x1e,0x4a,0xc2,0x6f,0xf1,0x7d,0x45,0xf8,0x5d,0x15,0x7e, +0xd7,0xbc,0xdf,0x79,0x5f,0x4b,0xfe,0x0e,0xfd,0xbd,0x14,0x7d,0x4f,0x25,0xdf,0x53,0xd9,0xf7,0x54,0xf1, +0x3d,0x55,0x7d,0x4f,0xeb,0xbe,0xa7,0x9a,0xef,0x69,0x43,0x7c,0x2a,0xfa,0x1f,0x4a,0xc2,0x6f,0x6f,0x5a, +0x45,0xdf,0xf0,0x8b,0xbe,0x01,0x17,0xfd,0x2d,0xf8,0x06,0x5c,0xf4,0x0d,0xb8,0xe4,0x7f,0x10,0x7f,0x57, +0x84,0xdf,0x1e,0xd4,0x7c,0xb5,0xcb,0x42,0xa1,0x8a,0x08,0x3f,0x1f,0x18,0x2a,0xbe,0x52,0x55,0xe1,0xb7, +0xd7,0xac,0x0f,0x52,0xeb,0x62,0x53,0xeb,0xfe,0x2f,0x5e,0x15,0x1f,0x00,0x11,0x7e,0x41,0x36,0x42,0xf5, +0x80,0x2d,0x1f,0x0d,0xb2,0x77,0x01,0x25,0x0c,0xf4,0xae,0x20,0xb7,0xf1,0x71,0x2b,0x9f,0xa6,0xfc,0x64, +0xa2,0x4a,0xca,0x79,0x97,0xf4,0x6d,0x00,0x46,0x8b,0xfd,0xaf,0x3a,0x1d,0xc8,0xf7,0x18,0xfb,0xe1,0xd9, +0xc5,0x34,0x0e,0x94,0x32,0xc7,0x72,0xb6,0x50,0xad,0xae,0xff,0xa7,0xf0,0x49,0x98,0x76,0xd1,0x2b,0x57, +0xcb,0x96,0xe0,0x3f,0xb1,0x5c,0xcd,0x87,0x3f,0x56,0xac,0x50,0xcc,0x56,0xc4,0x42,0x55,0x1f,0xce,0x78, +0xa1,0x6a,0xb6,0x1a,0xe8,0xb4,0xc2,0x3e,0x15,0xf3,0xde,0xdb,0x8a,0x57,0xa3,0x98,0xcf,0xd6,0x02,0xdd, +0x97,0x7d,0x68,0xe3,0xe5,0x84,0xce,0xd7,0x85,0xd7,0x1b,0xa1,0x59,0x96,0x7c,0x28,0x64,0xe5,0x4a,0xa5, +0xc0,0x2c,0x45,0xa2,0xdb,0x10,0xca,0xad,0x8b,0xb3,0x2c,0xba,0xa3,0x2f,0x0b,0xa3,0xf7,0xaf,0x6c,0x24, +0x4c,0x5e,0xa8,0x10,0x9c,0xbd,0x88,0x8e,0x4a,0x68,0xa2,0x02,0x43,0x10,0xf0,0x51,0x11,0xbb,0x12,0x10, +0x50,0x09,0x21,0xb4,0x1c,0xa4,0x6a,0x5e,0x32,0x88,0xd2,0x92,0x3b,0x8f,0xaa,0xd8,0x78,0x60,0x19,0xd5, +0x78,0x19,0x3f,0xa6,0xab,0x01,0x76,0xc1,0x4b,0x85,0x50,0x2d,0xa0,0x65,0x3d,0x84,0xd5,0x5a,0x80,0x13, +0xf0,0x82,0x62,0x4f,0x02,0x1e,0xd6,0x83,0x78,0x2d,0xbb,0x53,0xa8,0x09,0x53,0x28,0x06,0x50,0x51,0xe5, +0x65,0x82,0xe8,0xf6,0x33,0xb0,0x75,0x77,0xae,0x35,0x1f,0xbe,0xfd,0x5c,0xba,0x28,0x20,0x65,0x23,0x88, +0xda,0xa2,0x80,0x99,0x8d,0x10,0x6a,0x23,0x65,0x8e,0x9f,0x35,0x56,0xdc,0x09,0x11,0x43,0x5e,0x54,0x1c, +0xa3,0x4d,0x68,0xca,0x18,0xb6,0xe6,0x63,0xcd,0x51,0x09,0xc3,0x41,0x85,0x8d,0x88,0xf6,0x00,0xbb,0x99, +0x80,0x22,0xa5,0xab,0x94,0xe3,0xd0,0x37,0x03,0x15,0x6d,0x81,0x80,0x69,0xe0,0x6a,0x04,0x33,0x60,0x21, +0x19,0xc5,0x92,0x47,0xd4,0xde,0xf6,0xbd,0xa6,0x66,0x0c,0xfb,0x80,0x5a,0x7f,0xc4,0x5b,0x3b,0xfc,0x32, +0xf8,0xc2,0x37,0xbd,0x08,0xfb,0xc1,0x55,0x0f,0xb7,0x3c,0xbd,0x50,0xa8,0x91,0x21,0xc6,0xdc,0x1b,0xf4, +0xb8,0x97,0x54,0x08,0x5f,0xf3,0xf1,0xda,0x04,0x43,0x8b,0xc8,0x7b,0x45,0x13,0x92,0x19,0xa1,0xa8,0x8c, +0xba,0xfa,0x30,0xea,0xc1,0x38,0x3a,0x66,0xe4,0x97,0xcb,0x65,0xf6,0xd3,0x1a,0xf5,0xe5,0x64,0x3e,0x8d, +0x7f,0xb2,0xb5,0xd4,0x56,0x48,0xcb,0xfe,0xb8,0xb1,0xb1,0xc1,0xdf,0x0a,0xfe,0x8b,0xad,0x90,0x73,0xe3, +0xa3,0x5a,0xc5,0x3f,0x74,0xfe,0x9e,0x62,0x4f,0x11,0xc0,0xec,0x08,0x34,0xb2,0x66,0xf6,0x26,0x68,0xea, +0x7e,0x78,0x12,0xb7,0x96,0x0f,0x06,0x9b,0x61,0xb0,0x30,0xe7,0x97,0xd0,0x31,0xd9,0xbe,0x72,0x95,0x57, +0xa4,0x4d,0xd9,0x02,0xe0,0x41,0x27,0x30,0xc2,0xa4,0x30,0xda,0xb4,0x38,0xcb,0x7c,0x25,0x25,0x01,0xff, +0xf4,0xbd,0x2b,0xa4,0x52,0x5b,0xa1,0x86,0x7f,0xb1,0x41,0xff,0x14,0x99,0x0b,0xcf,0x37,0x21,0xfa,0x8e, +0xda,0x5b,0x63,0x59,0x01,0xf5,0x38,0x2f,0xe1,0x1f,0x84,0xbe,0xaf,0x31,0xe8,0x40,0x33,0xc0,0x08,0x4a, +0xe3,0xd7,0x6a,0xe0,0x6b,0x91,0x7d,0xf4,0xf7,0xc7,0x8d,0xe9,0x74,0xe4,0xdb,0xcd,0x88,0xe1,0x78,0x1f, +0x23,0x48,0xd2,0xfd,0x16,0x46,0x95,0x60,0xb7,0x33,0x3a,0xa1,0x28,0x0f,0x82,0x93,0xbc,0x35,0x91,0x9e, +0x9d,0xc5,0x66,0xb6,0xcc,0x97,0x3f,0x18,0xa1,0xc0,0x16,0xc0,0x36,0x50,0x99,0x15,0x4b,0x21,0x41,0x4a, +0x33,0xd6,0x90,0x51,0x1f,0x00,0xe6,0x76,0x78,0xe9,0x66,0xa8,0x91,0xe6,0x77,0xbc,0xf9,0x0a,0x4c,0xc1, +0x46,0x92,0xad,0x85,0x7f,0x32,0x94,0x13,0x00,0x6c,0xe4,0xc8,0xb2,0x72,0x64,0xe1,0xb0,0x3b,0xef,0x63, +0x3e,0xbf,0x5e,0x53,0xd7,0xf9,0x9a,0x1a,0x0e,0x87,0x11,0x5c,0x42,0xf2,0x2d,0xd9,0x77,0xd7,0xd9,0xb8, +0xf5,0x1b,0x58,0x61,0xde,0x33,0x31,0x46,0x85,0xe5,0x5c,0x28,0x14,0xe2,0xbe,0xf9,0x89,0xea,0xa5,0xb9, +0x6c,0x0e,0x35,0xcb,0x76,0x32,0x83,0xb1,0xa6,0x73,0xf3,0x39,0x03,0xa3,0xcc,0xe8,0xea,0xd0,0x11,0x16, +0xfa,0x96,0xcf,0xb9,0x19,0xfc,0xfa,0x62,0x27,0xa0,0x6d,0x46,0xf4,0x41,0x46,0x1e,0xdf,0x49,0xdc,0x67, +0x8b,0x39,0xcc,0x5c,0x22,0xf1,0x7c,0x21,0xcc,0x33,0x84,0x98,0xfc,0x1e,0x72,0x94,0xd0,0x8f,0x8a,0xec, +0xa8,0xcb,0xbe,0x01,0x9f,0x57,0x33,0x20,0x1a,0x65,0xfd,0xa5,0x52,0x71,0xdf,0xd5,0x89,0xac,0xc5,0x56, +0x9e,0x00,0x67,0x1f,0xc7,0x7d,0x64,0xde,0xa5,0x98,0xaf,0x53,0x50,0xd9,0x91,0xc6,0xe2,0xbe,0x33,0xf7, +0x4c,0xcc,0x57,0x47,0x8d,0x1d,0x13,0x52,0x64,0xec,0xb7,0x25,0x13,0x9d,0x59,0xb1,0x4d,0xce,0x55,0xf5, +0xce,0xf7,0x8d,0xb9,0x4c,0x85,0x37,0xae,0xf7,0xd4,0x27,0xdd,0xb2,0x55,0x10,0x6f,0x91,0x9a,0x4a,0x58, +0xa6,0x0d,0x06,0x03,0x91,0xd7,0x10,0xf6,0xc9,0xf8,0x6e,0x09,0xfe,0xff,0x51,0x51,0x94,0xc0,0x82,0x2a, +0x03,0x15,0x45,0xeb,0x35,0xd1,0xde,0xb2,0xe0,0xe4,0x44,0x5f,0xdb,0x7f,0xf3,0xb8,0x97,0xd2,0xba,0x37, +0x96,0x22,0x8e,0xa5,0xe2,0xea,0x18,0xd1,0x43,0xf7,0x89,0x86,0xe8,0x16,0x97,0x16,0x21,0x6b,0xe8,0xc5, +0x12,0xc2,0x4a,0x5a,0xa9,0xec,0xf2,0x52,0x74,0x55,0x2d,0x2d,0x42,0xd7,0xd6,0xd2,0x22,0xdc,0x7f,0xbb, +0xac,0x8c,0xbb,0xce,0x96,0x96,0xe2,0xce,0xd0,0x65,0x65,0x70,0xcd,0xbd,0x50,0x00,0x56,0xde,0xf2,0x12, +0x2f,0x02,0x06,0x57,0xe1,0xd2,0x02,0x64,0x2d,0x86,0x4b,0x30,0x45,0x3a,0xf4,0x9e,0xaf,0x4b,0xfa,0xc5, +0xdb,0xa5,0xdc,0xf2,0xf6,0x24,0x51,0x4e,0x16,0x8a,0x1b,0x43,0x55,0x8e,0xa3,0x4a,0xee,0x9b,0x5f,0x3a, +0xb0,0xa1,0xa6,0xbf,0x30,0x37,0xea,0xce,0x0f,0x8c,0x84,0x75,0x2d,0xa1,0xe4,0xc4,0x45,0x23,0x8e,0x81, +0xfe,0xe4,0xdd,0xa7,0x43,0x5f,0x48,0x83,0x7c,0x8f,0x89,0x2c,0xdc,0x7c,0xa4,0x7b,0x37,0x7a,0xdd,0x08, +0x1b,0x1e,0xcb,0xd6,0xce,0x8b,0xc5,0xc8,0xfa,0x59,0xa9,0x94,0xb0,0x86,0x56,0x2e,0xff,0x72,0x49,0xba, +0x96,0x5e,0x2c,0x46,0xd7,0xd3,0x8b,0xc5,0xd8,0x9a,0x7a,0xb1,0x9c,0xbb,0xae,0x5e,0x2c,0xc9,0xd6,0xd6, +0x8b,0xe5,0x70,0x7d,0xad,0x50,0x08,0xd6,0xd8,0xcb,0xa5,0x56,0x02,0x1c,0xae,0xb5,0x17,0x0b,0x91,0xf5, +0x16,0x5d,0x8a,0xae,0xb9,0xe8,0x6f,0x7c,0xdd,0x85,0x37,0xd0,0x7c,0xba,0x75,0xd8,0x60,0x93,0x55,0x05, +0x3e,0xb0,0xa7,0x81,0xac,0x14,0x95,0x52,0x78,0x59,0x42,0xc3,0x0a,0xda,0xab,0x51,0xc3,0x89,0xfc,0xe6, +0x0e,0xc7,0xfd,0x1a,0xa1,0x3a,0xab,0xaa,0xca,0x3b,0x5e,0x5f,0x5f,0x0f,0x70,0x08,0x10,0x73,0xe1,0xd5, +0x44,0x96,0x32,0x88,0xbc,0x07,0x90,0xbe,0x4a,0x1c,0x3b,0x8a,0xfa,0xee,0x67,0x4b,0xbc,0x04,0xdb,0x7a, +0xfd,0xd8,0xdf,0x28,0xcb,0xe5,0x5a,0x60,0x00,0xea,0x46,0xa9,0x58,0x54,0x56,0x63,0x51,0xbc,0xc1,0x55, +0x19,0xd6,0x4a,0xe5,0x45,0xf6,0xe5,0xaf,0xc0,0x99,0x59,0xfc,0x50,0xd9,0x56,0x2f,0xdb,0x87,0x2a,0x92, +0xfd,0xf4,0x38,0x5d,0x22,0x84,0x17,0xcf,0x88,0x11,0xf1,0x3c,0x99,0xe9,0x8e,0x36,0xc5,0x50,0x05,0x71, +0x8f,0x52,0x28,0xa7,0xcb,0x7d,0x55,0xf7,0x73,0x47,0x09,0x35,0x0a,0xb1,0x8c,0xbb,0x93,0xe7,0xda,0x2c, +0xfe,0xdd,0xba,0x3c,0xdd,0xa8,0x0b,0xba,0x5c,0x68,0xfb,0x74,0x97,0xce,0xc7,0x70,0xb7,0x84,0x4d,0x37, +0xaf,0x25,0xc2,0x98,0x69,0x0f,0x3c,0xa0,0x02,0x5f,0x72,0x62,0x2b,0x95,0x4a,0x5b,0xe1,0x70,0x0b,0x06, +0x12,0xb5,0x82,0x7f,0x84,0x7e,0x71,0x63,0x69,0x70,0xa7,0x2a,0xb1,0xfb,0xa5,0xe1,0x42,0x31,0x86,0x44, +0x54,0xa1,0xa0,0x41,0x11,0x57,0x26,0xda,0xb0,0x58,0x56,0xfa,0xa5,0x72,0x21,0x43,0x23,0xaa,0x10,0xa1, +0xd9,0x17,0xca,0x84,0x8c,0x92,0xa8,0x42,0x61,0xe3,0x24,0xaa,0x54,0x94,0x91,0x12,0x55,0x2e,0x6c,0xac, +0x44,0x95,0x0a,0x18,0x2d,0xd1,0x45,0xfc,0xc6,0x4b,0x64,0x99,0x15,0x80,0x19,0x30,0x66,0xa2,0x8a,0x04, +0x8d,0x1a,0xb7,0x0c,0x59,0x37,0x51,0x1f,0x42,0x56,0x8f,0xfb,0xc5,0xb5,0x7e,0xfc,0x8b,0x81,0xaf,0x3d, +0xb2,0xe3,0x2d,0xae,0x1d,0x6a,0xad,0x40,0x45,0xfa,0x6a,0xac,0xea,0xd3,0x0c,0x35,0x33,0xd2,0x11,0x85, +0x68,0xbc,0x4a,0xc4,0x87,0xf0,0x80,0xf8,0x17,0x3e,0x20,0xf1,0xdb,0x44,0xb5,0x6d,0x79,0xa4,0xb2,0x8e, +0x56,0x8a,0xc1,0xa2,0xe6,0x54,0xd4,0xc0,0xdd,0x19,0x87,0x7d,0x22,0xf1,0xf3,0x64,0xe1,0x5b,0xcc,0x97, +0x1a,0x60,0x08,0x7e,0x33,0x67,0x59,0x4d,0xc6,0xd9,0x04,0xe7,0x35,0x71,0x22,0x44,0x1b,0x6c,0xd1,0x06, +0x22,0x67,0x53,0x5e,0x18,0x56,0x1e,0x5d,0xb1,0xe8,0xe9,0x7b,0x71,0x10,0xb6,0x1b,0xd5,0xc4,0x98,0x2a, +0x54,0x2d,0xf8,0xd9,0x2a,0xfd,0x49,0xf0,0x96,0x21,0xac,0x5c,0x55,0x42,0x42,0x25,0xa2,0xcc,0x8f,0x80, +0x4b,0x16,0x46,0x17,0x74,0x16,0x87,0x7b,0xa1,0x20,0x09,0x30,0x72,0x97,0x91,0xe6,0xa3,0x34,0x6a,0x5a, +0x25,0x48,0x56,0xbe,0x8f,0x31,0x14,0xcd,0x87,0x83,0xed,0x7a,0x90,0xcb,0x4b,0x99,0x82,0xe0,0xd1,0xe1, +0xee,0xae,0x70,0xe4,0x19,0x89,0x2e,0x8b,0x54,0xf2,0x85,0x21,0x85,0x85,0x70,0xd4,0xc0,0x98,0xe4,0x7d, +0x02,0x08,0x2a,0xea,0xe3,0x66,0xe9,0x85,0x26,0x3d,0xbf,0xd8,0xcb,0x0d,0x0b,0x3e,0x34,0x1c,0x70,0x78, +0x6a,0x60,0xc0,0x4b,0xf8,0xff,0xbc,0x2b,0xd6,0xfc,0x92,0x71,0x69,0xff,0x82,0xfb,0xec,0x35,0x43,0x11, +0xbd,0x6e,0xb1,0xa3,0x5a,0x71,0x34,0xaf,0x18,0x41,0xa0,0xd7,0x4c,0x31,0x8c,0x67,0x00,0x03,0x03,0xc8, +0x8b,0xdd,0x33,0x8f,0x2b,0xe7,0x8b,0xa5,0x20,0x5f,0xf4,0x2d,0x9c,0x42,0x78,0xef,0x2b,0x54,0x26,0x6a, +0x97,0x30,0x54,0x48,0xdc,0x90,0x8c,0x2d,0x54,0xc8,0x14,0x43,0x9b,0xab,0x11,0x85,0x4a,0xee,0x66,0xf1, +0x92,0x42,0xe1,0x0d,0x69,0xa1,0x50,0x0c,0xb3,0x5f,0x85,0x3b,0xb3,0xd5,0x47,0x1c,0xb6,0x3e,0x0d,0xaa, +0x5a,0xad,0xc6,0x30,0x3a,0x6f,0xef,0x29,0x5b,0x5b,0x0f,0xb0,0x58,0xd6,0x65,0x60,0x89,0x0b,0x4d,0x86, +0x2a,0xb3,0x68,0x1e,0xb2,0x55,0x66,0x0f,0x2c,0x55,0x35,0x68,0x54,0x8f,0x1b,0x6e,0x25,0x6d,0x96,0x6b, +0xc0,0x1a,0x52,0x3f,0x84,0x69,0xb3,0x1d,0x09,0x5f,0x6c,0x22,0xa7,0x80,0xf5,0x10,0xcf,0x5d,0xaa,0xd6, +0xfd,0xdb,0x2f,0xfc,0xf7,0xf6,0x0b,0x8b,0x26,0x87,0x4f,0xd3,0x8f,0x0c,0xba,0x13,0x38,0x52,0x18,0xdd, +0xc2,0xd7,0x08,0x7c,0x87,0xbe,0x8a,0x08,0x8f,0xfc,0x18,0xc6,0x78,0x6c,0xb1,0xd8,0x02,0x3e,0x9c,0x87, +0xbe,0xfa,0x90,0x1e,0xfa,0xea,0xc7,0x7a,0xe8,0x73,0x10,0xed,0xa1,0x02,0x7e,0xbc,0x87,0x3e,0x0b,0x88, +0x8f,0xf8,0xe6,0x61,0x3e,0xfc,0x71,0xd9,0x84,0x05,0xdc,0x87,0xbe,0x11,0xe4,0x07,0x70,0xfd,0xb2,0xf2, +0xe4,0xd3,0xe0,0x22,0x08,0x45,0x50,0xea,0x90,0xcb,0x6d,0xc5,0x59,0x97,0x6f,0xd0,0xd2,0x5e,0xcb,0x8a, +0x57,0xe0,0xce,0x74,0x54,0x02,0x9b,0x24,0xc6,0xb2,0xcf,0x7d,0x0f,0x16,0x74,0x0d,0x38,0x27,0xeb,0x1c, +0x63,0x79,0x33,0x43,0xed,0x11,0x74,0x3d,0x57,0x3b,0x22,0x8f,0x5b,0x84,0xa7,0xe7,0x89,0x86,0x94,0xdf, +0x0a,0x6a,0x35,0xa4,0x9a,0xe6,0xa8,0x93,0xb4,0xf0,0xac,0x6b,0xb6,0xf3,0x23,0xa4,0x63,0x3d,0x07,0x4b, +0xe0,0x5f,0xec,0x24,0x02,0xd9,0xbf,0x0d,0x59,0xfa,0xf9,0x60,0x27,0x42,0xa8,0x85,0x5b,0x98,0xf9,0x18, +0x04,0xd0,0x93,0xe2,0x78,0x3c,0x04,0x4a,0xfa,0x87,0x65,0xdc,0x05,0x00,0x14,0x19,0x7e,0x10,0x0e,0x52, +0xf1,0x35,0x6c,0x5a,0xda,0x13,0xc0,0x55,0xd6,0x05,0x2d,0x60,0xe5,0x3a,0x52,0x10,0x08,0x51,0xe2,0xf4, +0xe5,0xaa,0x11,0xb3,0x8b,0x2e,0x18,0x44,0x4d,0x74,0x29,0x5b,0x9d,0xca,0x00,0x01,0xd3,0x5a,0x1a,0xbc, +0xb3,0xcc,0x04,0x73,0x3b,0x0b,0x76,0xfe,0x23,0x8a,0xc1,0x92,0xaf,0x44,0x77,0xb3,0x02,0xfb,0xf1,0x9e, +0x6a,0x2e,0xf7,0x6d,0x53,0x9f,0x39,0x2a,0xa5,0x3f,0x02,0x64,0x4a,0x82,0x61,0x32,0x89,0xa6,0xca,0xe8, +0xa9,0xba,0xbd,0x0a,0x64,0x4d,0xf6,0xc6,0x29,0x32,0x59,0x64,0x8c,0xd8,0x0e,0x0d,0x7e,0xf8,0x1c,0xd1, +0x86,0x08,0x58,0xe2,0x38,0xa5,0xa1,0x29,0x34,0xea,0x21,0xaa,0x42,0xd0,0x66,0x09,0xce,0xd5,0x37,0x7c, +0xd9,0x76,0xeb,0x7d,0x0e,0x50,0xf1,0xa6,0x3c,0x74,0xbc,0xc0,0x23,0xa6,0x75,0x55,0x88,0xd6,0x45,0xe3, +0x9c,0x13,0xff,0xab,0x58,0xd9,0xae,0x25,0x04,0x06,0x40,0x0e,0xe9,0xac,0x40,0x58,0x2f,0xf7,0xea,0xeb, +0xa3,0x95,0x10,0xdb,0x04,0xcd,0x0b,0x0f,0x90,0xe1,0xc9,0x32,0x7e,0xb4,0x24,0xb3,0xd8,0xa4,0x6f,0xb7, +0xdc,0x37,0x8f,0xfc,0x28,0x4e,0x64,0xcd,0xd8,0x15,0xb2,0x64,0x69,0xbc,0xae,0xa1,0x97,0x97,0x5a,0xf4, +0x94,0x22,0x82,0xd7,0x84,0x59,0xd2,0x39,0x89,0xb3,0x24,0x64,0x85,0x11,0x66,0xee,0x3b,0x81,0xd9,0xb9, +0x07,0x3b,0xdc,0x6f,0xa4,0x23,0xa4,0x67,0xc7,0x9c,0x0d,0xc6,0x7e,0xfb,0x3a,0xff,0x8a,0x71,0x0a,0xe7, +0x26,0xc8,0xbb,0xbe,0x6c,0xf9,0x96,0xd8,0xea,0x6b,0x24,0x92,0x45,0xa4,0x23,0xf9,0x46,0xd8,0x37,0x8c, +0x1e,0x63,0xce,0x9b,0x3d,0x03,0x8c,0xba,0x5c,0x5f,0x1e,0x82,0xd7,0x32,0x63,0xb2,0x53,0xf7,0x20,0x56, +0x81,0x88,0x63,0xd7,0xc4,0xcf,0x7a,0x91,0x6e,0x6f,0x9d,0x52,0xa4,0xa7,0x58,0x70,0x5a,0x8b,0x2c,0x37, +0x78,0x28,0x6a,0x36,0x9d,0xaa,0xd6,0x40,0xb6,0xdd,0x0d,0x8a,0x4a,0xb5,0xa2,0x54,0xcb,0xcf,0x81,0xb5, +0xf3,0xc3,0xdb,0xbe,0x88,0xe4,0x81,0xcb,0x7c,0xeb,0xa4,0x64,0x20,0x42,0x6b,0xa9,0x8c,0x8b,0x71,0xcd, +0xf8,0xda,0xf9,0xe1,0xc6,0x56,0x55,0xa2,0x3e,0x4b,0xc1,0xb5,0x1f,0x0a,0xa7,0x0b,0x1f,0x52,0x5c,0xca, +0x33,0xb1,0x91,0xe0,0x40,0x7d,0xfe,0x94,0x17,0xbb,0xc2,0x5d,0x20,0x1f,0xcb,0x60,0xa1,0x56,0xc1,0xa1, +0xa6,0x57,0x28,0x43,0x0e,0xbc,0x61,0x98,0x96,0x70,0x8c,0x91,0x16,0xa1,0xe7,0x62,0xd5,0xc9,0xd4,0x59, +0x64,0x06,0xaa,0xae,0xdb,0x9b,0xf6,0xd8,0x9c,0x47,0xed,0x88,0xf4,0xf1,0x8f,0x58,0x4b,0x62,0x07,0x55, +0x85,0x46,0xd9,0x21,0x3d,0x72,0xce,0x52,0xaa,0x55,0xfe,0x33,0x57,0x90,0xe4,0xe0,0x51,0x1b,0xd7,0x73, +0x45,0x36,0x23,0x42,0x81,0xaf,0xbe,0x1e,0x1c,0x8e,0x7f,0xf6,0x38,0xe6,0x8e,0x39,0x2a,0x24,0x83,0xa3, +0xe3,0x0e,0x11,0x4a,0xd1,0x6e,0xb8,0xa0,0x20,0x16,0x82,0xe7,0x07,0xb7,0x82,0x47,0x02,0xe3,0xfc,0x7c, +0x7c,0x3c,0x11,0x0e,0x2c,0x3e,0xb6,0xa8,0x98,0x2f,0x12,0xd1,0xc5,0x86,0xe3,0x6f,0x09,0x89,0x39,0x0a, +0xe9,0x79,0xfc,0x23,0x1c,0x37,0x0d,0x29,0xe2,0xc1,0x43,0xa3,0x44,0x67,0x0f,0x8c,0x72,0x15,0xc2,0x25, +0x65,0x33,0xa6,0xa2,0x04,0xa0,0x0c,0x5c,0xdb,0xd2,0xa6,0xe8,0x59,0xb6,0x36,0xc1,0x8e,0xa2,0xf3,0x49, +0x16,0x8d,0x4c,0x21,0x15,0xd9,0xf2,0xc7,0x61,0x11,0xff,0xf8,0x5a,0xa5,0xb3,0xc7,0x36,0x5c,0x48,0x84, +0x37,0x94,0xc2,0x14,0x25,0xd4,0xc3,0xb3,0xd2,0x9f,0x61,0x04,0x9e,0xdb,0xeb,0x73,0xb0,0xad,0x28,0xb8, +0x8a,0xec,0x30,0x30,0x2d,0xf1,0x8b,0x4b,0x47,0x1e,0xa5,0x14,0x82,0x81,0x72,0x2f,0x0c,0x55,0x6c,0xee, +0x35,0x83,0xfd,0x23,0x47,0x13,0x00,0xfc,0x1d,0xf2,0x00,0x30,0x2f,0x92,0xcf,0x81,0x04,0x66,0x20,0x73, +0xac,0x55,0x70,0x09,0x70,0x07,0x12,0xf0,0x96,0x89,0x10,0x1e,0x8f,0x0f,0xa1,0xc7,0xa2,0xff,0x39,0xf8, +0x58,0xf6,0x3f,0x97,0xfc,0x8f,0x81,0xaf,0x15,0xff,0x63,0xd5,0xff,0x58,0xf3,0x3d,0xe6,0x83,0x6d,0x87, +0xc6,0x12,0xea,0xbd,0x18,0x7c,0x51,0x0a,0xbe,0x28,0x07,0x5f,0x54,0x82,0x2f,0xaa,0xc1,0x17,0xeb,0xc1, +0x17,0xb5,0xe0,0x8b,0x8d,0xc0,0x8b,0xe0,0x30,0x8a,0x7e,0xa8,0x14,0xfd,0x60,0x28,0x06,0x27,0x5a,0x0c, +0xce,0xab,0x18,0x6a,0x30,0x38,0xaf,0x62,0x70,0x5e,0xc1,0x02,0xa5,0x4c,0xe0,0xb1,0xe2,0x7f,0xf4,0x81, +0x3e,0xd8,0x58,0xd9,0x5f,0xba,0x12,0xc0,0x43,0x10,0x84,0x95,0x60,0xf1,0xaa,0xff,0xd1,0xd7,0x57,0x10, +0xdc,0xeb,0x81,0xc6,0x83,0xd0,0x5f,0xf7,0x57,0x0f,0xe2,0x82,0x9c,0x5f,0x59,0x66,0xfe,0xbd,0x77,0x34, +0xf2,0xb3,0x48,0x08,0xf1,0x27,0xbf,0x22,0x96,0xd2,0x92,0xf3,0x5f,0xe1,0xd5,0x10,0x7b,0x0a,0x2c,0xbc, +0x8e,0x96,0x9d,0x05,0xa3,0x8b,0x30,0xe2,0x38,0x18,0x43,0x63,0xdc,0x89,0xb0,0xf0,0x5a,0x8e,0x39,0x17, +0xc6,0x30,0x16,0x77,0x34,0x2c,0xcc,0x22,0x96,0x1d,0x10,0x0b,0x53,0x66,0xec,0x31,0x31,0xba,0xac,0x22, +0x4e,0x8a,0x45,0x71,0x92,0x65,0xe7,0xc5,0x38,0x5f,0x89,0x3b,0x32,0x16,0xc1,0x03,0x63,0x0e,0x8e,0x71, +0xfe,0x13,0x77,0x76,0x2c,0x8a,0x1d,0x2d,0x3b,0x41,0x46,0x97,0x6d,0xc4,0x21,0xb2,0x28,0x36,0x16,0x77, +0x94,0x2c,0x8a,0xc3,0x2d,0x39,0x50,0xc6,0xf9,0x5f,0xdc,0x99,0xb2,0x28,0x76,0x18,0x7d,0xb2,0x8c,0xf3, +0xc9,0xb8,0xc3,0x65,0x94,0xcd,0x44,0x9c,0x2f,0x8b,0xe2,0x90,0x4b,0x4e,0x99,0x45,0xf1,0xcf,0xb8,0xb3, +0x66,0x51,0x42,0x65,0xe9,0x89,0x33,0xce,0x7a,0xe3,0x0e,0x9d,0xbd,0x20,0x4c,0x43,0x5c,0x3a,0x70,0x00, +0xed,0x79,0xa9,0xe4,0x2e,0xd7,0x44,0xb9,0x3d,0x51,0x84,0xb6,0xf1,0x21,0xf4,0x58,0xf4,0x3f,0x07,0x1f, +0xcb,0xfe,0xe7,0x92,0xff,0x31,0xf0,0xb5,0xe2,0x7f,0xac,0xfa,0x1f,0x6b,0xbe,0xc7,0x7c,0xb0,0xed,0xd0, +0x58,0x42,0xbd,0x17,0x83,0x2f,0x4a,0xc1,0x17,0xe5,0xe0,0x8b,0x4a,0xf0,0x45,0x35,0xf8,0x62,0x3d,0xf8, +0xa2,0x16,0x7c,0xb1,0x11,0x78,0x11,0x1c,0x46,0xd1,0x0f,0x95,0xa2,0x1f,0x0c,0xc5,0xe0,0x44,0x8b,0xc1, +0x79,0x15,0x43,0x0d,0x06,0xe7,0x55,0x0c,0xce,0x2b,0x58,0xa0,0x94,0x09,0x3c,0x56,0xfc,0x8f,0x3e,0xd0, +0x07,0x1b,0x2b,0xfb,0x4b,0x57,0x02,0x78,0x08,0x82,0xb0,0x12,0x2c,0x5e,0xf5,0x3f,0xfa,0xfa,0x0a,0x82, +0x7b,0x3d,0xd0,0x78,0x10,0xfa,0xeb,0xfe,0xea,0x41,0x5c,0xfc,0x75,0x72,0x9b,0xad,0x86,0x18,0xb9,0x1d, +0xb1,0x94,0x96,0xc8,0xed,0xf0,0x6a,0x88,0x95,0xdb,0xe1,0x75,0xb4,0x4c,0x6e,0xd3,0x45,0x18,0x21,0xb7, +0x19,0x1a,0xe3,0xe4,0x76,0x78,0x2d,0xc7,0xc8,0x6d,0x86,0xb1,0x38,0xb9,0x1d,0x66,0x11,0xcb,0xe4,0x76, +0x98,0x32,0x63,0xe5,0x36,0x5d,0x56,0x11,0x72,0x3b,0x8a,0x93,0x2c,0x93,0xdb,0x9c,0xaf,0xc4,0xc9,0xed, +0x08,0x1e,0x18,0x23,0xb7,0x39,0xff,0x89,0x93,0xdb,0x51,0xec,0x68,0x99,0xdc,0xa6,0xcb,0x36,0x42,0x6e, +0x47,0xb1,0xb1,0x38,0xb9,0x1d,0xc5,0xe1,0x96,0xc8,0x6d,0xce,0xff,0xe2,0xe4,0x76,0x14,0x3b,0x8c,0x96, +0xdb,0x9c,0x4f,0xc6,0xc9,0x6d,0xca,0x66,0x22,0xe4,0x76,0x14,0x87,0x5c,0x22,0xb7,0xa3,0xf8,0x67,0x9c, +0xdc,0x8e,0x12,0x2a,0x4b,0xe5,0x36,0x67,0xbd,0x71,0x72,0xfb,0x05,0x61,0x1a,0xe2,0xd2,0xaf,0x92,0xdb, +0xd5,0xb2,0x28,0xb7,0xf5,0x91,0xd0,0x36,0x3e,0x84,0x1e,0x8b,0xfe,0xe7,0xe0,0x63,0xd9,0xff,0x5c,0xf2, +0x3f,0x06,0xbe,0x56,0xfc,0x8f,0x55,0xff,0x63,0xcd,0xf7,0x98,0x0f,0xb6,0x1d,0x1a,0x4b,0xa8,0xf7,0x62, +0xf0,0x45,0x29,0xf8,0xa2,0x1c,0x7c,0x51,0x09,0xbe,0xa8,0x06,0x5f,0xac,0x07,0x5f,0xd4,0x82,0x2f,0x36, +0x02,0x2f,0x82,0xc3,0x28,0xfa,0xa1,0x52,0xf4,0x83,0xa1,0x18,0x9c,0x68,0x31,0x38,0xaf,0x62,0xa8,0xc1, +0xe0,0xbc,0x8a,0xc1,0x79,0x05,0x0b,0x94,0x32,0x81,0xc7,0x8a,0xff,0xd1,0x07,0xfa,0x60,0x63,0x65,0x7f, +0xe9,0x4a,0x00,0x0f,0x41,0x10,0x56,0x82,0xc5,0xab,0xfe,0x47,0x5f,0x5f,0x41,0x70,0xaf,0x07,0x1a,0x0f, +0x42,0x7f,0xdd,0x5f,0x3d,0x88,0x8b,0xbf,0x4e,0x6e,0xb3,0xd5,0x10,0x23,0xb7,0x23,0x96,0xd2,0x12,0xb9, +0x1d,0x5e,0x0d,0xb1,0x72,0x3b,0xbc,0x8e,0x96,0xc9,0x6d,0xba,0x08,0x23,0xe4,0x36,0x43,0x63,0x9c,0xdc, +0x0e,0xaf,0xe5,0x18,0xb9,0xcd,0x30,0x16,0x27,0xb7,0xc3,0x2c,0x62,0x99,0xdc,0x0e,0x53,0x66,0xac,0xdc, +0xa6,0xcb,0x2a,0x42,0x6e,0x47,0x71,0x92,0x65,0x72,0x9b,0xf3,0x95,0x38,0xb9,0x1d,0xc1,0x03,0x63,0xe4, +0x36,0xe7,0x3f,0x71,0x72,0x3b,0x8a,0x1d,0x2d,0x93,0xdb,0x74,0xd9,0x46,0xc8,0xed,0x28,0x36,0x16,0x27, +0xb7,0xa3,0x38,0xdc,0x12,0xb9,0xcd,0xf9,0x5f,0x9c,0xdc,0x8e,0x62,0x87,0xd1,0x72,0x9b,0xf3,0xc9,0x38, +0xb9,0x4d,0xd9,0x4c,0x84,0xdc,0x8e,0xe2,0x90,0x4b,0xe4,0x76,0x14,0xff,0x8c,0x93,0xdb,0x51,0x42,0x65, +0xa9,0xdc,0xe6,0xac,0x37,0x4e,0x6e,0xbf,0x20,0x4c,0x43,0x5c,0xfa,0x55,0x72,0xbb,0x96,0x17,0xe5,0xf6, +0xa3,0x2e,0xb4,0x8d,0x0f,0xa1,0xc7,0xa2,0xff,0x39,0xf8,0x58,0xf6,0x3f,0x97,0xfc,0x8f,0x81,0xaf,0x15, +0xff,0x63,0xd5,0xff,0x58,0xf3,0x3d,0xe6,0x83,0x6d,0x87,0xc6,0x12,0xea,0xbd,0x18,0x7c,0x51,0x0a,0xbe, +0x28,0x07,0x5f,0x54,0x82,0x2f,0xaa,0xc1,0x17,0xeb,0xc1,0x17,0xb5,0xe0,0x8b,0x8d,0xc0,0x8b,0xe0,0x30, +0x8a,0x7e,0xa8,0x14,0xfd,0x60,0x28,0x06,0x27,0x5a,0x0c,0xce,0xab,0x18,0x6a,0x30,0x38,0xaf,0x62,0x70, +0x5e,0xc1,0x02,0xa5,0x4c,0xe0,0xb1,0xe2,0x7f,0xf4,0x81,0x3e,0xd8,0x58,0xd9,0x5f,0xba,0x12,0xc0,0x43, +0x10,0x84,0x95,0x60,0xf1,0xaa,0xff,0xd1,0xd7,0x57,0x10,0xdc,0xeb,0x81,0xc6,0x83,0xd0,0x5f,0xf7,0x57, +0x0f,0xe2,0xe2,0xaf,0x93,0xdb,0x6c,0x35,0xc4,0xc8,0xed,0x88,0xa5,0xb4,0x44,0x6e,0x87,0x57,0x43,0xac, +0xdc,0x0e,0xaf,0xa3,0x65,0x72,0x9b,0x2e,0xc2,0x08,0xb9,0xcd,0xd0,0x18,0x27,0xb7,0xc3,0x6b,0x39,0x46, +0x6e,0x33,0x8c,0xc5,0xc9,0xed,0x30,0x8b,0x58,0x26,0xb7,0xc3,0x94,0x19,0x2b,0xb7,0xe9,0xb2,0x8a,0x90, +0xdb,0x51,0x9c,0x64,0x99,0xdc,0xe6,0x7c,0x25,0x4e,0x6e,0x47,0xf0,0xc0,0x18,0xb9,0xcd,0xf9,0x4f,0x9c, +0xdc,0x8e,0x62,0x47,0xcb,0xe4,0x36,0x5d,0xb6,0x11,0x72,0x3b,0x8a,0x8d,0xc5,0xc9,0xed,0x28,0x0e,0xb7, +0x44,0x6e,0x73,0xfe,0x17,0x27,0xb7,0xa3,0xd8,0x61,0xb4,0xdc,0xe6,0x7c,0x32,0x4e,0x6e,0x53,0x36,0x13, +0x21,0xb7,0xa3,0x38,0xe4,0x12,0xb9,0x1d,0xc5,0x3f,0xe3,0xe4,0x76,0x94,0x50,0x59,0x2a,0xb7,0x39,0xeb, +0x8d,0x93,0xdb,0x2f,0x08,0xd3,0x10,0x97,0x0e,0xca,0xed,0xc0,0x6e,0x3b,0xc9,0xc0,0x1e,0x0a,0x4d,0xd2, +0x26,0x23,0xe0,0x41,0xf6,0xd4,0x34,0x6c,0xcc,0x38,0x15,0x9f,0xb2,0xf6,0xf9,0x23,0x30,0x41,0x73,0xe6, +0xa4,0x3f,0x92,0xd4,0xeb,0x59,0x2f,0x04,0xc9,0x4d,0xfc,0x8e,0x61,0x16,0x2c,0xc8,0x51,0xd7,0xa5,0x6c, +0xd1,0x96,0x54,0xd9,0x56,0x31,0x9f,0x31,0x4d,0xc9,0xb6,0xbc,0x80,0xbd,0xfc,0xbb,0xb9,0xf4,0xf3,0x92, +0x6f,0x7c,0xe0,0xe1,0x28,0x65,0x1e,0xee,0xec,0x8b,0xad,0xcc,0xf3,0xf2,0x59,0x1a,0xd8,0x24,0x91,0xf9, +0xd2,0x10,0xd2,0x42,0x15,0x4f,0x9c,0x71,0x6e,0x88,0xa7,0xda,0x02,0x65,0x05,0xa8,0x78,0x15,0x9e,0xb3, +0x2c,0x8c,0xd2,0x3d,0xdf,0x4c,0xf2,0x4c,0x78,0x31,0xad,0x12,0x4d,0xc4,0xfe,0xe8,0xaa,0x54,0xde,0xb9, +0x36,0x1e,0x8f,0x51,0xc1,0x57,0x62,0x72,0xef,0x02,0x66,0x87,0x79,0xce,0xd2,0xcc,0xf8,0xde,0xc1,0x69, +0xe1,0x30,0x73,0x38,0xad,0x1e,0xef,0xb0,0x48,0xe2,0x7b,0x48,0x5c,0xf8,0x92,0x23,0xcf,0x18,0x81,0x45, +0x9b,0x97,0xc6,0x05,0xf7,0xac,0x0c,0xad,0xe5,0x05,0x15,0x61,0x7c,0x9e,0x98,0x7a,0xbe,0x84,0xd1,0x55, +0xbc,0x5a,0xf1,0x47,0xe0,0xd3,0x96,0x10,0x30,0x18,0x8c,0xef,0xce,0x90,0x90,0x5f,0x17,0x58,0x19,0x7b, +0xd6,0x27,0x71,0x42,0xac,0x67,0x84,0x80,0x04,0xa0,0x22,0xff,0x04,0xbb,0xe4,0xed,0xd6,0x6a,0xb5,0x67, +0x8a,0x2f,0xd6,0x26,0xc1,0x42,0x26,0x84,0xb7,0xad,0x40,0xdc,0x3b,0x8d,0x36,0x66,0xe4,0xc0,0x8f,0x11, +0xb8,0xa1,0xc6,0x05,0x0c,0x45,0x12,0x93,0xe2,0x17,0x36,0x0a,0xb5,0x42,0x4d,0x8c,0x08,0xa5,0xf1,0x9f, +0x2f,0xc4,0x79,0xd2,0xa1,0x49,0x3c,0xb9,0xbb,0x98,0x40,0x8f,0xc6,0x43,0xf3,0xf0,0xab,0x2a,0x0d,0xd9, +0xaf,0xb2,0x24,0x40,0xac,0x1e,0x5d,0xb0,0x64,0xf5,0x05,0x5f,0x48,0x33,0x3d,0x26,0xc5,0x1a,0xc6,0xf7, +0x84,0xea,0x33,0x3a,0xc5,0x98,0xed,0x8c,0xa2,0xe1,0x6d,0x08,0xca,0x92,0x26,0x33,0xec,0xa4,0x1f,0xa7, +0x0c,0x20,0xae,0x70,0x8b,0xba,0x26,0xb1,0xd3,0x90,0xe1,0x96,0xc8,0xb7,0x60,0xa4,0xdf,0x66,0x64,0x3b, +0x6e,0x9c,0x63,0xe8,0x43,0x44,0xb6,0x35,0x40,0xc4,0xb0,0xa6,0x28,0xd5,0x70,0x2b,0x6e,0x2c,0xa0,0x0b, +0x6b,0x0c,0xb1,0x8c,0xeb,0x4c,0xb8,0xb9,0xa0,0x50,0x00,0xae,0xe7,0x55,0x11,0xce,0x12,0x0a,0x21,0x97, +0x7e,0xda,0x09,0x9c,0x32,0xf0,0x51,0x92,0x30,0xd4,0x00,0x0d,0x89,0x29,0xd5,0xd6,0x53,0xbe,0xec,0x8c, +0x40,0x9e,0x1e,0xe5,0x31,0xaa,0x45,0x0e,0x21,0xe6,0x0f,0xf7,0x96,0x32,0x86,0x12,0x32,0x66,0x10,0x0a, +0xb6,0x8c,0x8f,0xb3,0x64,0x61,0x90,0x6e,0x01,0x09,0xd4,0x55,0x23,0x82,0x43,0x06,0x02,0xb2,0xfd,0xe5, +0xd3,0x81,0x67,0x1a,0x34,0x1e,0x7a,0xdb,0x57,0x87,0xa6,0xa5,0x46,0x87,0xbd,0x6e,0x85,0x85,0x0d,0xcd, +0x0e,0xf1,0x9a,0x96,0xc3,0xe7,0x08,0x04,0x8e,0x92,0x21,0x69,0xb4,0xdc,0x40,0x76,0x29,0x11,0xdd,0xf6, +0x0f,0xa1,0x0a,0x81,0x26,0xb3,0x7a,0xc3,0x5b,0xcb,0xac,0xa9,0x34,0xe7,0xbd,0x3e,0xe9,0x21,0x9c,0x96, +0x66,0x49,0xe5,0x70,0x36,0xae,0x04,0x12,0x8b,0x52,0x46,0xc4,0x65,0x4e,0x40,0xc8,0x2c,0xa1,0x37,0xa1, +0xb2,0x2f,0xd4,0x7b,0x25,0x51,0xe4,0x4d,0xcb,0x15,0x37,0x74,0x5a,0xfe,0xda,0x71,0xb2,0x92,0x35,0x12, +0xd0,0x2c,0xb2,0xda,0xe9,0x18,0x46,0xd0,0xc4,0xf4,0x27,0x4d,0x0c,0x0b,0xd4,0x30,0x55,0xaa,0x4f,0x2d, +0x20,0xf1,0xd3,0xe4,0x17,0xde,0x87,0x52,0x52,0x28,0xe9,0xa7,0x22,0x4e,0x67,0x8f,0x39,0x53,0x87,0xf9, +0x05,0xf2,0xc0,0x06,0xae,0xf7,0xe0,0x8b,0xb3,0x42,0x04,0x43,0x81,0x08,0x86,0xe7,0xc8,0xb1,0xd0,0x13, +0x63,0x11,0x74,0x82,0xd8,0xae,0x70,0x2c,0x90,0x2e,0x79,0xa8,0x74,0x5c,0x4b,0xf4,0xcc,0x58,0xc4,0xf1, +0x00,0x61,0x05,0xaf,0x07,0x65,0xf5,0x3a,0x8f,0xc3,0xf5,0xee,0x67,0xf1,0x25,0xee,0x4f,0xb8,0xd9,0xf9, +0xa5,0x8e,0x3a,0x53,0x13,0x2c,0x47,0xbf,0x97,0xb3,0x5f,0x08,0x21,0x0e,0xc0,0xc4,0xcf,0x7d,0x78,0x6a, +0x97,0x75,0x51,0xc4,0xb9,0xb3,0xa5,0xf8,0x26,0xfc,0x83,0xb2,0x29,0x4e,0x8f,0x1c,0x0c,0xc1,0xfb,0x53, +0x22,0x41,0x90,0x5e,0x06,0x98,0x55,0x73,0xf1,0xde,0xe1,0xed,0x1e,0xa1,0xf7,0xbe,0x0e,0x77,0x22,0xa2, +0xd7,0x41,0x58,0x89,0x45,0xb6,0x89,0x7c,0x3a,0x31,0x22,0x30,0xcb,0x38,0x30,0x23,0x71,0xe1,0x44,0x01, +0x72,0x9a,0x50,0x06,0xd2,0x99,0xa5,0x27,0xa3,0xef,0x3d,0xd4,0x2e,0xb7,0x4f,0xba,0xf3,0xfc,0xe1,0xde, +0xc8,0xc4,0x4b,0xb2,0x3a,0xbd,0x8b,0x71,0xeb,0xc2,0xbb,0xee,0xb0,0xdf,0x6c,0xdc,0xe0,0xa5,0x5a,0xfd, +0x41,0xaf,0x4c,0x6e,0x40,0xdb,0x9e,0x1c,0x1c,0x75,0xf3,0x67,0xec,0x36,0xae,0x9d,0xca,0xd9,0xba,0x43, +0xee,0xd3,0x6b,0x5e,0x6f,0xb7,0xaf,0xae,0x8f,0xe1,0x97,0x7d,0x0e,0x7f,0x1d,0xb5,0xe6,0xad,0xc6,0x64, +0x3a,0xbf,0x21,0x75,0x4a,0xdd,0x83,0xf3,0x8b,0x8b,0xfd,0xf2,0x59,0xbb,0xbb,0xdb,0xad,0x55,0x9a,0x8f, +0x0f,0x93,0x16,0xb9,0x97,0x6b,0x7c,0xd0,0x6d,0xed,0x5e,0xec,0x75,0x8e,0x0b,0xb7,0xb7,0xce,0x49,0xa3, +0xd0,0xba,0x38,0xab,0xad,0x15,0x4e,0xaf,0x36,0xf6,0x46,0x6d,0xad,0x7d,0xd7,0x1c,0x9b,0xe6,0x5e,0xfb, +0xdc,0xd9,0xee,0xcd,0x77,0x4b,0x37,0x8d,0xcb,0xa3,0x6e,0x5b,0x3f,0x5c,0xec,0xdd,0x99,0x47,0xbb,0xed, +0xbd,0x51,0xef,0x74,0x7c,0xbf,0x5b,0xd6,0xae,0xf4,0x23,0xe5,0x61,0x7f,0xfb,0x7a,0xbb,0x38,0xbc,0xae, +0x1d,0x9e,0x36,0xf6,0xae,0x95,0xeb,0xf5,0xa7,0x41,0x63,0xaf,0x76,0x7b,0xa6,0xec,0x2f,0xd6,0xe5,0x5c, +0xfb,0xa8,0xad,0x4e,0x6b,0xa7,0xb7,0x95,0xeb,0x71,0x79,0x34,0x7e,0xd4,0xd6,0xae,0x80,0x2d,0x1e,0x6c, +0x3f,0x1a,0xa5,0xf6,0xad,0x3d,0xbe,0xf9,0xba,0x53,0x6a,0xf6,0x6b,0x3b,0x8d,0xee,0x62,0x7d,0xdc,0x99, +0x9e,0x14,0xc7,0xb7,0xc7,0x67,0xc5,0xde,0xa0,0xb3,0x73,0x56,0x3b,0xbd,0xd8,0xb9,0xba,0x6e,0xec,0xdc, +0x5f,0x8c,0x1e,0xf3,0xb7,0x6a,0x53,0xdb,0xef,0xeb,0xed,0xb3,0xbb,0xcb,0xd6,0xd7,0xc7,0x8b,0xf6,0xde, +0xfd,0xdd,0xe1,0xf4,0xfa,0xfe,0xf0,0xf0,0xb0,0xaf,0x75,0xb7,0x0f,0x2e,0x7b,0xda,0xc5,0xe1,0x20,0xbf, +0x57,0xbb,0x2c,0x1f,0xb7,0x8c,0xe6,0x49,0xfb,0xb6,0x75,0xd2,0x79,0x68,0xed,0x1e,0x74,0x26,0xa5,0xce, +0xbc,0xb4,0x98,0x96,0x46,0x45,0xfd,0x60,0x30,0x3e,0xb3,0xb5,0xb5,0x51,0xed,0x68,0xbd,0x93,0x3f,0xdd, +0xab,0xda,0xc6,0xfa,0x6e,0x69,0xb7,0x7b,0xd9,0x2d,0xeb,0xf9,0x71,0xe1,0xee,0x6b,0x7e,0xdc,0xef,0x37, +0xc6,0xce,0xc5,0xde,0xd5,0x43,0xad,0x77,0x5c,0xdc,0x6d,0x34,0x17,0xd7,0xf7,0xca,0xb0,0xa0,0xb6,0x27, +0x57,0x07,0x7b,0xfa,0x2c,0x37,0x79,0xc8,0x5d,0xef,0x6f,0xac,0xdd,0x9f,0xaf,0x5d,0x29,0x9d,0x86,0xb2, +0x58,0x7b,0x38,0xa8,0x35,0x9f,0x6a,0x3b,0xfa,0x69,0xe5,0xe4,0x72,0x3f,0xb7,0x56,0xf9,0x3a,0x1d,0x2a, +0x04,0x35,0x2d,0x7d,0xf7,0xfc,0xae,0x37,0x3b,0x9b,0x34,0x9b,0xbe,0x0c,0xbf,0x96,0x3a,0x55,0x65,0x24, +0x47,0xf6,0xeb,0x99,0x10,0xb6,0x48,0x75,0x47,0xf8,0xe2,0xc4,0x10,0x34,0x8b,0xbf,0x35,0x41,0xf5,0x1a, +0x37,0xfb,0xd5,0xa7,0xc1,0x00,0xfb,0x38,0xe2,0x04,0xd5,0x51,0xee,0x8e,0x0b,0x97,0xdb,0x3b,0xad,0xe3, +0xd1,0x53,0xad,0xb2,0xb0,0x1a,0x47,0xfb,0xfb,0xa3,0xbc,0xbd,0xdd,0x6d,0xb4,0x1f,0xbb,0xbb,0x93,0xca, +0x79,0x43,0xeb,0x1e,0xdd,0x1c,0xcc,0xcb,0x27,0xeb,0x8d,0x45,0xe5,0xe4,0xab,0x6c,0xef,0xaf,0x17,0x6b, +0x0f,0x37,0x43,0xa5,0x96,0x3b,0xd5,0xf5,0xb3,0xed,0x66,0xfb,0xb4,0x51,0x3b,0x2d,0xef,0x56,0xf7,0x6a, +0x8d,0xb5,0xd3,0x45,0xfb,0xb2,0x59,0xfe,0xba,0xb1,0x31,0x6f,0xde,0x3b,0x67,0xca,0xfa,0x6c,0xae,0x6e, +0x1f,0x34,0xc6,0xe5,0xa7,0x93,0xfc,0xa4,0x75,0xdd,0xec,0xac,0x9d,0x0f,0x8e,0x06,0x07,0x17,0xe5,0xb5, +0xe6,0xe8,0xf2,0x0a,0x88,0xf0,0x6a,0xf7,0xe2,0x42,0x3e,0x2b,0x6d,0x5c,0x38,0x07,0x27,0x8d,0xf5,0xd1, +0xd9,0xc5,0x75,0xe7,0x70,0xae,0x9c,0xec,0x3c,0xdc,0x3c,0x9e,0x0e,0x2a,0xcd,0x8d,0xf5,0xbd,0xbb,0x7e, +0xf7,0xb1,0x36,0xbb,0x53,0x1a,0xc6,0xc1,0xe5,0xbc,0x77,0xd9,0x6e,0x9c,0x54,0x77,0xf7,0x4a,0x37,0xcd, +0x1d,0xdb,0xbe,0x72,0xf6,0xcb,0xbb,0xbb,0xcd,0xfc,0x69,0x7f,0x67,0x98,0xef,0xcd,0x2f,0x0b,0x77,0xca, +0x45,0xab,0x74,0x70,0x76,0x37,0x1e,0x0d,0xee,0x2f,0xee,0xda,0x7a,0xb3,0x39,0xbb,0xae,0x3e,0x9c,0x3b, +0xc3,0xae,0x55,0x5b,0x3b,0x3d,0x2b,0x1e,0xe7,0x7a,0x5f,0x6b,0xf6,0xc5,0xad,0x76,0x70,0x7f,0x4b,0xc0, +0xd3,0xe8,0x5d,0x5c,0x9e,0x74,0x0f,0x2b,0xcd,0x9b,0x76,0xbb,0x1e,0x85,0x7c,0xfa,0x4f,0xe6,0x91,0xda, +0x50,0x42,0x06,0xe6,0x62,0x20,0xc3,0x72,0x35,0x15,0xb4,0x21,0x39,0x2b,0x15,0xed,0x0f,0x2f,0x29,0x05, +0xb3,0x71,0xe2,0x48,0x8a,0x69,0x61,0xa2,0x96,0x80,0x69,0x3a,0x63,0x8a,0x0f,0x87,0x9c,0x04,0x6b,0x7d, +0xfc,0xf3,0x37,0xa7,0x42,0xe3,0x7e,0x60,0x3d,0x9e,0x63,0x6b,0x87,0x1b,0x9c,0x0a,0x2f,0xef,0x5a,0x4e, +0x71,0xfe,0xd4,0x38,0x6e,0xcc,0x07,0x17,0xd5,0x59,0xff,0xb6,0x33,0x1e,0x2e,0xf6,0xaf,0x9f,0x46,0x95, +0xc9,0xb8,0xd2,0x1d,0xab,0x57,0xc6,0xc5,0xf8,0x48,0xdb,0xd6,0xce,0xf2,0x47,0xf7,0xb3,0xb2,0xda,0xa9, +0x5c,0x75,0x6f,0xf6,0xca,0xc3,0xe1,0x63,0xa3,0xdd,0x3e,0x6b,0x0c,0xe7,0x4f,0x4f,0x6b,0xa7,0xad,0xd3, +0x4e,0xed,0xc0,0xdc,0x59,0x37,0xd6,0xaa,0xf9,0xa3,0xa2,0x76,0x39,0x3c,0x72,0x86,0x6b,0xfb,0x5f,0x77, +0xe6,0x1b,0x3b,0x85,0x47,0x75,0xb4,0xd3,0xdf,0xbf,0xdf,0x1b,0x9e,0x8d,0x1a,0xa5,0xce,0x5a,0xb3,0x63, +0x0f,0x9c,0x56,0x77,0xb1,0x28,0x3b,0x6a,0xbb,0xdc,0x35,0x9b,0xb9,0xe9,0xe8,0xae,0xbd,0xe8,0xae,0xdf, +0xde,0xdf,0xb5,0xab,0x85,0xda,0x76,0xb1,0x58,0x2b,0xd9,0xed,0x96,0xdd,0x29,0xec,0x28,0xe7,0x83,0x43, +0x5b,0x9b,0x1e,0x0f,0xda,0x97,0x55,0xfb,0xa4,0xb8,0x57,0x9c,0x5d,0xdc,0x6f,0xec,0x1f,0x1c,0xef,0x5e, +0xf6,0xfb,0x0b,0xfd,0xfe,0x4e,0x1e,0x5f,0x7e,0x6d,0x9d,0x8c,0x8f,0x4f,0xb4,0xb3,0xd6,0x59,0x6b,0x67, +0xfc,0xf0,0xb5,0x34,0xba,0x2e,0x6f,0x28,0x66,0xf9,0xb0,0x70,0x3a,0xaf,0xe5,0xee,0x4a,0x67,0xa7,0xb5, +0x6d,0xfd,0x7a,0x5e,0x54,0xf6,0xd6,0xec,0x9c,0xd1,0x7a,0x27,0xca,0x2b,0x56,0x2a,0x69,0xfe,0x7f,0xa4, +0xbf,0x50,0x02,0x22,0x46,0x69,0x54,0xfb,0x0c,0x92,0xde,0x96,0xc5,0x2e,0x38,0x8b,0xa5,0x29,0x3f,0x0d, +0xba,0xad,0xc4,0x88,0x5e,0xa0,0xc1,0x38,0x3d,0xe3,0x7f,0x92,0xd0,0xed,0xb5,0x76,0x6e,0x3b,0xed,0xbb, +0x12,0xb6,0x76,0xf6,0xc8,0xa9,0xb3,0x73,0x77,0x0e,0x42,0x37,0xdf,0x3a,0xeb,0xee,0x6e,0x94,0x36,0x7a, +0x4f,0x6b,0xb7,0xdb,0x4f,0xa3,0x62,0x6b,0x30,0x3e,0x38,0x92,0x4f,0x47,0xf6,0xd9,0xb6,0xb1,0xdf,0x18, +0x3f,0x56,0xcf,0x5b,0xa7,0x76,0xef,0xb0,0x73,0x31,0xda,0x6b,0x8f,0x0f,0x6c,0xc5,0x54,0x46,0x05,0x5b, +0x53,0x36,0x2e,0x3b,0x97,0x97,0x79,0xdd,0xa9,0xe6,0xae,0xab,0xbb,0xd7,0xa3,0xed,0x7d,0x43,0x5d,0xbf, +0xbe,0x1a,0xf6,0xd7,0xfb,0x37,0x83,0xdb,0xc7,0xb5,0xda,0x43,0xb7,0xb8,0x36,0x3a,0x72,0x6e,0x8e,0xa6, +0x03,0x7b,0x77,0x64,0x4f,0xee,0x2a,0x0f,0x7d,0x67,0x52,0x1c,0x9e,0x9e,0x28,0xc7,0x4f,0x53,0xe3,0x52, +0x36,0xaf,0xee,0xd6,0x2a,0xb7,0xc6,0xd3,0x89,0x91,0x1f,0xad,0x75,0xdb,0x8b,0xdb,0xbd,0xe1,0xd3,0xc5, +0xe8,0x10,0x58,0x76,0xef,0xf8,0x6b,0xe1,0x64,0x70,0xae,0xee,0x1d,0x8f,0x1b,0xdd,0x6e,0xe7,0x38,0xaf, +0xef,0x1e,0x99,0x6b,0x8f,0x7b,0x77,0xfa,0xb6,0xb6,0x37,0x1a,0x9e,0x56,0xae,0x5b,0xbb,0xad,0xfc,0xe9, +0x60,0xe3,0xae,0xdb,0xee,0x8e,0x7a,0xb3,0xd6,0x6e,0xbb,0x7b,0x71,0xd6,0x1b,0xdf,0x4f,0xdb,0xb9,0xc6, +0x43,0xaf,0xda,0xbb,0x2b,0xb4,0xb5,0x89,0x73,0x7e,0xb6,0xf3,0x54,0xaa,0xde,0x0e,0xf7,0xf6,0x8c,0xd3, +0xed,0xc6,0xfe,0x7d,0xef,0x62,0xd0,0xba,0xbe,0x18,0xcf,0x76,0x2f,0x6f,0x54,0xf9,0x66,0xef,0xe6,0xeb, +0xe5,0x78,0x60,0x3f,0xee,0xa9,0xf2,0xed,0xd9,0x44,0x2e,0x9f,0x5c,0x97,0xb7,0x95,0xf1,0xf5,0xfa,0x4e, +0x61,0x71,0x52,0x1c,0x5c,0x6b,0xb7,0xd6,0x6c,0x76,0x74,0x22,0x97,0xf7,0x8a,0x37,0xc5,0xcb,0xdb,0xe1, +0xfd,0xee,0xc1,0x4e,0x7e,0xfd,0xe6,0xb2,0xb9,0x77,0x76,0xb3,0x76,0x6a,0x6e,0xb4,0x55,0x4b,0x2e,0xf6, +0x2f,0x1e,0xae,0xf7,0xcf,0x47,0x83,0xd9,0xc3,0xfd,0x75,0xee,0x7a,0x3d,0xb7,0x63,0x3d,0xb6,0x55,0x67, +0x6c,0x77,0x9c,0xfc,0x70,0x7b,0xbb,0x73,0x38,0xca,0xcd,0x1b,0x17,0x7b,0xf3,0x95,0x56,0x86,0x27,0x90, +0x45,0x32,0xdc,0x97,0x0d,0x45,0x0f,0xa6,0x42,0x10,0xb5,0xe0,0x80,0xba,0x1c,0x6d,0x02,0xe4,0xfd,0xea, +0x62,0xfe,0x6f,0x4e,0xab,0x4f,0xf7,0x23,0xfb,0x62,0x80,0xad,0x75,0xbe,0x7a,0x9c,0x74,0xa7,0x70,0x3f, +0xcf,0x37,0x80,0x5f,0xae,0x7d,0x2d,0x9d,0x57,0x46,0x9d,0xee,0xcd,0xda,0x59,0xab,0xb9,0x7b,0x3e,0x6b, +0x14,0x9d,0xbc,0x35,0xed,0x4c,0x1b,0x4f,0xfd,0xc3,0x4e,0x7f,0xda,0x5a,0x80,0x56,0x96,0x3f,0x69,0x35, +0x6e,0x5b,0x83,0xee,0xde,0xd7,0xf3,0xfe,0x7e,0x75,0xb0,0xde,0xb2,0x77,0x76,0x4e,0x9f,0x1e,0x1e,0x06, +0xad,0xbb,0xdd,0x76,0xb5,0x71,0x95,0x6b,0x5c,0xf5,0x26,0xfa,0xd7,0xb5,0xe6,0x93,0xfc,0x75,0xba,0x73, +0xad,0x28,0xad,0x72,0xe7,0xb0,0xb8,0x2e,0xef,0xdd,0x1f,0x1a,0xd5,0xd9,0xe5,0x7c,0x51,0x2b,0x1c,0x0f, +0x6e,0x1f,0xd6,0x07,0xfd,0x4a,0x6b,0x71,0xb1,0xb1,0xdd,0xd5,0xba,0x80,0x42,0x7b,0x38,0xbf,0xdf,0x29, +0xdf,0x37,0xc6,0xcd,0xd2,0xa2,0x3d,0xd2,0xce,0x1e,0x76,0xee,0xee,0x6e,0xba,0x93,0xc6,0xec,0x44,0x76, +0x1e,0x0b,0x07,0xeb,0x8a,0xbd,0x50,0x0e,0xe4,0xc3,0x9a,0x7e,0x6a,0x3e,0x5e,0xd8,0x37,0x7b,0xed,0xe6, +0x9a,0x0e,0xdd,0xd5,0xf6,0x8b,0xb3,0xae,0x9d,0x1b,0x9a,0x0d,0x79,0x4d,0xb7,0xe7,0x27,0x35,0x53,0xae, +0x0d,0x9a,0xd5,0x3b,0x3d,0xbf,0x57,0xe9,0x2f,0xbe,0xce,0xe6,0xeb,0xd6,0xa1,0x73,0x3d,0xef,0xea,0x37, +0xea,0xf6,0xfa,0xec,0x6e,0xe3,0x66,0x5b,0x59,0xeb,0x9d,0xda,0x5f,0x1f,0x0f,0xda,0xbd,0xc6,0xd7,0xc6, +0xa2,0xb6,0x61,0x94,0x72,0x9d,0xb3,0xf9,0x4e,0x3e,0xd7,0xbd,0xbe,0x75,0x0a,0x85,0xd2,0x99,0x5e,0xde, +0xae,0xad,0xe7,0x7a,0x47,0xb6,0xf3,0xb0,0x7e,0x33,0x30,0xf7,0xef,0x5e,0x47,0x63,0x5b,0x21,0x19,0x1c, +0x26,0xba,0x26,0x71,0xaa,0xc6,0xb2,0x3f,0xd1,0xa5,0xf1,0xf7,0xe7,0x7f,0xed,0xa3,0xfb,0xde,0x79,0xee, +0x08,0xfb,0x38,0xb8,0xf4,0x68,0x6a,0x60,0x5f,0x3e,0xf6,0x1a,0xed,0xee,0x49,0x6d,0x94,0xeb,0xaa,0xdd, +0xfe,0x85,0xf5,0x34,0xbd,0xf9,0x5a,0x69,0x3e,0x35,0xe4,0x4e,0x69,0x3a,0x3a,0x1d,0x3d,0xdd,0xcf,0xb4, +0xca,0xd3,0xfe,0x71,0xbe,0x72,0x7b,0xd6,0x3a,0x6e,0x3d,0xe8,0xeb,0x86,0x93,0xdf,0x3d,0x76,0xba,0xa7, +0x85,0xca,0x65,0x6f,0x7d,0x47,0x3e,0xbb,0xd3,0x1b,0x3b,0xb5,0xdd,0x5d,0xb3,0xb1,0x7d,0xd7,0x35,0x0e, +0xcd,0xaf,0xf6,0xd9,0xd9,0xee,0xac,0x75,0x55,0x68,0x76,0xca,0x17,0x37,0xf9,0xb3,0x8b,0xc7,0x2b,0xed, +0xe8,0x70,0x74,0xf0,0xb5,0xd7,0x90,0x8f,0x76,0x5a,0x97,0xeb,0xb2,0x65,0xb4,0xf6,0xfa,0x37,0x47,0x9d, +0x69,0xff,0xcc,0xbe,0x2f,0x75,0x0f,0x0b,0xf9,0xce,0xf6,0xbd,0xa6,0xcc,0x1e,0x9a,0x07,0xa7,0xa5,0x69, +0xbf,0x33,0xac,0xec,0x0d,0x4e,0x9e,0x6e,0xaf,0xbf,0x6e,0xaf,0x5f,0x8c,0x9a,0x05,0x65,0x20,0x1f,0xc9, +0x07,0xaa,0x76,0xbf,0x7d,0x37,0x79,0x7c,0xbc,0x05,0x06,0x7b,0xfb,0xb0,0x56,0x39,0xd5,0x77,0xca,0xf2, +0xda,0xe1,0xae,0x59,0xa9,0xca,0xed,0x87,0x55,0x14,0x7e,0x2e,0x79,0x23,0x30,0xdd,0x45,0x24,0x46,0x20, +0x5a,0xc4,0xae,0x27,0xf3,0x98,0x84,0xfd,0x9b,0xe3,0x7b,0xb2,0x7e,0x3a,0xbb,0xbd,0x22,0x3c,0x44,0xe1, +0xf8,0xd6,0xef,0xce,0x77,0x67,0xe3,0x9d,0xc6,0x59,0x57,0xa9,0x0d,0x2f,0xaa,0x5f,0x0f,0x1b,0xeb,0xc3, +0xd1,0xf6,0x2e,0x18,0xa3,0x3b,0x3d,0x50,0x83,0x0e,0x67,0x77,0x07,0x9d,0xf9,0x76,0xe7,0x3e,0x3f,0x3b, +0x6b,0xf5,0x8e,0x2e,0xda,0x87,0x6d,0xe7,0xf2,0xaa,0x5a,0x5c,0x14,0x26,0xdd,0xae,0xb5,0xd3,0x01,0xa4, +0x3a,0xe3,0x61,0xee,0x29,0x77,0x2a,0x77,0xba,0x85,0x52,0x77,0x38,0x6f,0xf6,0x17,0x85,0x7e,0xdf,0x31, +0xaf,0xba,0x5f,0x87,0x40,0x0f,0x8f,0xfb,0xc7,0xb9,0xc6,0x42,0x6d,0xeb,0x17,0xd3,0x1b,0x5d,0xb9,0xcc, +0xe7,0x1a,0x6b,0xb9,0xc9,0x49,0x47,0x1d,0x1e,0x16,0x2e,0x2f,0x1b,0xfd,0xf9,0xc5,0xdd,0x08,0xf4,0xba, +0xde,0xce,0xf4,0xf0,0xcc,0xe9,0x1f,0x0d,0x16,0xad,0x59,0xe9,0xeb,0xf6,0xb1,0xd3,0xde,0x68,0x5e,0xf5, +0xcd,0xd6,0xd1,0xee,0x68,0x7c,0xdf,0xad,0x69,0xb3,0xe3,0xdb,0x33,0x35,0xaf,0x5e,0x4e,0x6e,0xda,0xd7, +0x6d,0x90,0xda,0x67,0x27,0xdb,0xa7,0x17,0x37,0x3d,0x65,0xff,0xd4,0xce,0xef,0xed,0x8c,0x86,0xb3,0xc7, +0x8b,0xe2,0x59,0x65,0xa4,0x4c,0x46,0xf6,0x70,0x61,0x97,0xca,0x8d,0xfd,0xc3,0xd3,0xdb,0xf5,0x93,0x61, +0x75,0x7c,0x34,0xcb,0x9f,0x54,0x6f,0x4b,0x6b,0xeb,0xb9,0xb3,0x83,0xc1,0xd3,0xf1,0xbc,0xdd,0x3e,0xdf, +0x39,0x3d,0xae,0xb4,0xd7,0x76,0xf7,0x4e,0xf3,0xf2,0x57,0xf3,0x66,0x3c,0x6b,0x1d,0x1b,0xed,0xfb,0xb5, +0xf5,0xf5,0xdc,0x79,0x45,0xaf,0xf6,0xa7,0xba,0xb1,0xd6,0x68,0x39,0xe7,0x27,0xc6,0xf0,0x20,0x7f,0xd9, +0x1b,0xac,0x42,0x47,0x9e,0x9c,0x0a,0x7a,0xc9,0x6e,0xcf,0xae,0x9a,0xa7,0x99,0xf9,0x95,0xa6,0x8c,0xd4, +0x28,0x72,0xe2,0xfb,0xdf,0x79,0x41,0x71,0xc2,0x3c,0x66,0x3e,0x37,0x32,0xa6,0x47,0x16,0x12,0xfd,0xa3, +0x5b,0xbe,0xc0,0x12,0x01,0x8a,0x86,0x49,0x25,0x15,0x91,0x97,0x8f,0xed,0x10,0x50,0x37,0x3e,0xd6,0xfa, +0x28,0xcb,0xb2,0x3f,0x9b,0xa2,0xb0,0xe5,0x51,0x78,0xf6,0x8f,0x98,0x3d,0x11,0x11,0x1b,0xe1,0x1f,0xf4, +0xe7,0x49,0xc6,0x86,0x43,0xf7,0x11,0xf0,0xc1,0x92,0xae,0x49,0x2a,0x67,0xde,0xc1,0x58,0x55,0xf5,0x1f, +0xcb,0xf8,0xb1,0xf0,0xcd,0xed,0x9a,0xed,0x6a,0x09,0x9f,0x88,0xfb,0x6d,0x40,0x5d,0x52,0x11,0xae,0xc5, +0xa1,0x6e,0x42,0xa3,0xe4,0x20,0x39,0xe3,0xd1,0xb5,0x10,0xac,0xbd,0x4b,0x30,0x45,0xe8,0x6d,0x90,0x4f, +0xe8,0xca,0xf2,0xbf,0xaf,0x20,0x5f,0x8f,0x79,0x13,0x84,0x33,0xf3,0x56,0x66,0xbc,0x0c,0x19,0xfc,0x9e, +0x15,0x6c,0x5c,0xd8,0xc0,0xa4,0xd5,0xa5,0x6c,0xa1,0x62,0x73,0xf5,0x65,0x60,0x99,0x36,0x80,0x52,0xb3, +0xfc,0x20,0xe3,0x6e,0x7d,0x1f,0xe8,0xab,0xd5,0xaa,0xbf,0xd4,0x09,0x94,0x01,0xe5,0x28,0xc6,0xfd,0x19, +0xd0,0x7d,0x96,0x88,0x2d,0xba,0x87,0xe1,0x3a,0x48,0xdf,0x03,0x54,0xfe,0x81,0x36,0xc9,0x64,0xf9,0xe6, +0xba,0x87,0x99,0x5a,0xa4,0x37,0x93,0x58,0xda,0xd0,0x28,0x19,0x3e,0xfe,0xe0,0x00,0xc6,0x6b,0x90,0xf0, +0xaf,0x10,0xf0,0xfc,0x88,0x41,0x8b,0x8a,0x3a,0x6f,0xc2,0xcb,0x89,0x7c,0x23,0x3b,0x36,0x71,0x23,0xb6, +0xa1,0x09,0x3c,0x43,0x6f,0xe1,0xb5,0xb4,0x56,0x9a,0xcf,0xe3,0xd4,0x52,0x1f,0x34,0x75,0x1e,0xb1,0x3e, +0x78,0x2c,0x4c,0x90,0xe0,0x04,0xa2,0x0c,0x51,0x45,0x74,0x67,0xbe,0xcc,0x99,0xfe,0x7e,0xa3,0x3e,0x51, +0x4a,0x11,0x52,0x68,0xfa,0xba,0xc9,0xfb,0xfb,0x08,0x36,0xb8,0x6d,0x3e,0xae,0xae,0xe1,0xf8,0xb2,0x87, +0x45,0xdf,0x97,0xfc,0xf2,0xd2,0x88,0x20,0x1d,0x8f,0x77,0x89,0x6f,0xa2,0x57,0x8c,0x7f,0x3a,0x3f,0xe2, +0xd6,0x4f,0x00,0xa2,0x64,0x1d,0x49,0xfe,0xaa,0xb1,0xab,0xca,0xa6,0x8d,0xc6,0x3b,0x9d,0x7d,0x96,0x36, +0x87,0x50,0xd5,0x4b,0x8c,0x93,0xc1,0x1d,0x0b,0x9c,0xac,0x44,0x7f,0x95,0x7e,0x07,0xad,0x96,0x3d,0xf2, +0x99,0x37,0xf4,0xe9,0x58,0xee,0xc5,0x22,0x58,0x58,0xe2,0x6f,0xd0,0x51,0xb6,0x1b,0x54,0x51,0x39,0x43, +0xbd,0xa3,0xa1,0x9f,0x5e,0xe5,0x35,0xa2,0x6f,0xe8,0xdb,0xc7,0x97,0xad,0xcb,0xc6,0x59,0x6b,0x3b,0x37, +0x2c,0x6d,0xa8,0xf2,0xc1,0xc5,0x6c,0x55,0x1d,0xa5,0x74,0x76,0xd3,0xdd,0xde,0x19,0x1d,0x6e,0x28,0x87, +0xca,0x31,0xe9,0x43,0xcf,0x77,0x2f,0xc7,0xf9,0xb3,0xe2,0x86,0xd3,0xbf,0xba,0x9c,0x29,0x8d,0xed,0x9d, +0xc1,0xe4,0x72,0xac,0xec,0x5d,0xde,0xb5,0xf7,0x95,0xa9,0xb2,0x37,0x1a,0x75,0xf3,0x7a,0xe7,0x62,0x57, +0xdd,0xde,0x19,0x13,0x31,0xdd,0xed,0x5d,0x74,0xb7,0x2f,0x1b,0xb7,0xd7,0x37,0xb9,0xdb,0xd3,0x79,0xbb, +0x71,0x79,0xd3,0x1d,0x6e,0xec,0xcc,0xb7,0xd7,0x1e,0xe6,0xb9,0xc7,0xea,0xc3,0xf1,0x79,0x81,0x6a,0x52, +0x07,0xdd,0x8b,0x4a,0xcb,0xba,0x3b,0x18,0x8d,0x46,0xf5,0x7a,0x4a,0xa2,0x32,0x45,0xe2,0xe9,0x58,0x28, +0xac,0xcc,0x20,0x03,0x5d,0x16,0x34,0xc0,0xd1,0x2e,0x06,0x0f,0xf0,0x86,0x26,0x66,0x5f,0xd3,0xd5,0x38, +0x45,0x80,0xb6,0xea,0x36,0x44,0x1b,0xf6,0x2e,0x96,0x76,0xd3,0x97,0x09,0xaf,0xc2,0x0b,0x71,0xbd,0xf2, +0x9f,0x24,0x94,0x84,0xdb,0xc0,0x65,0xa2,0x40,0x2c,0x59,0x8b,0x6e,0x06,0xdd,0xa0,0xbe,0xb2,0xca,0x6e, +0x79,0xe8,0x26,0x41,0x92,0x99,0xcc,0xbf,0x3b,0x46,0x2e,0xa1,0xa7,0xcd,0x8c,0x96,0x64,0x6a,0xe4,0x99, +0xfc,0x83,0xfb,0x64,0x81,0x10,0x4b,0x37,0x27,0x1c,0xdd,0xef,0xa3,0xf9,0xb2,0xc5,0x66,0x58,0x4f,0x9f, +0xfd,0x17,0x0f,0x94,0x23,0x2f,0x1e,0xa0,0xdb,0x82,0xcb,0x93,0x55,0xc7,0x5f,0xfb,0x21,0x06,0x53,0xf1, +0x50,0x17,0x0a,0x16,0xd2,0x8b,0x6c,0x40,0xff,0xfe,0x64,0x5c,0x54,0x77,0x0a,0xec,0xa9,0x07,0x83,0x83, +0xb0,0xea,0x48,0x15,0xf7,0xa3,0xe9,0x90,0xc6,0x1a,0x14,0x12,0xe2,0x67,0xbc,0xfe,0x6a,0x82,0xf0,0xe3, +0x60,0x61,0xbb,0xa1,0x58,0xc9,0x0d,0x82,0x70,0x13,0xde,0x4d,0x4c,0x65,0xa6,0xab,0x69,0x0a,0x71,0xf6, +0x14,0x18,0xaa,0xa3,0x4e,0xa6,0xb8,0x55,0xeb,0x7f,0x4d,0x81,0x61,0xc8,0x13,0xb5,0x3e,0x9b,0xe2,0xf5, +0x87,0xaa,0xff,0x1a,0xf4,0x67,0x76,0xc5,0x44,0x18,0xa4,0x02,0xa9,0xd2,0x56,0xb2,0x74,0x8d,0x85,0x28, +0x02,0xfd,0x8c,0xbe,0x4f,0xfc,0xd6,0x08,0x02,0x55,0x50,0x39,0x60,0xb8,0x81,0x51,0x7d,0x1c,0x58,0xaa, +0x02,0x55,0x34,0x59,0xb7,0x05,0x34,0x14,0xfd,0xf2,0x89,0x6f,0xf3,0x7a,0xaa,0x02,0x8b,0x0e,0x2a,0x8a, +0xf1,0x56,0x24,0x64,0xa0,0x12,0x15,0x22,0x14,0x0a,0xa7,0xe2,0x0a,0x08,0x0f,0x13,0xcd,0x33,0x2f,0xa9, +0xed,0x20,0xdc,0xa2,0x63,0x67,0x50,0x7d,0x17,0x7a,0x22,0xea,0x80,0xb8,0x75,0x50,0x22,0xa8,0x26,0x2d, +0x48,0xd0,0xd6,0x0f,0x1f,0x92,0xf9,0x07,0xe2,0xa1,0xf5,0xa3,0x3f,0xb0,0x6a,0x9e,0xb3,0x84,0x0d,0x85, +0xb2,0xd3,0x33,0xc2,0x66,0x19,0xb0,0xc3,0x32,0x55,0xd8,0xd2,0x8a,0x59,0x77,0x3e,0x9c,0xf2,0xa5,0x0f, +0x0a,0x9a,0x84,0x4a,0x9a,0xdf,0x69,0xcd,0x05,0x54,0xf0,0xf6,0xc0,0x89,0x8c,0xcd,0x90,0x21,0xb8,0xf9, +0x51,0x49,0x58,0x17,0xdd,0x99,0x0e,0x27,0xc5,0x12,0x2b,0xf0,0xec,0xdd,0x2e,0x39,0x21,0xbc,0xf8,0x55, +0x94,0xaa,0x9e,0x31,0x54,0x67,0x6e,0x5a,0x77,0x69,0xf1,0x9d,0x3d,0x18,0xab,0x84,0xe0,0xf9,0xcb,0xb1, +0x8c,0xef,0xdd,0x47,0x4b,0xed,0x9b,0xa6,0x23,0x3c,0xc2,0x92,0x34,0xc8,0x9d,0x06,0xfc,0xcd,0xb0,0x8f, +0xcc,0x00,0xb8,0xb5,0xfb,0x0a,0xec,0x19,0x07,0xa6,0x6e,0x67,0x86,0xf2,0xc0,0x31,0xf1,0x1e,0x49,0xf6, +0x81,0xad,0x0b,0x5f,0xac,0xcd,0x20,0x9f,0x27,0x52,0x80,0xdf,0xf8,0xa9,0x28,0xa1,0x71,0xe2,0xbb,0xd0, +0x38,0xe5,0xa9,0x76,0xa7,0x2e,0xc4,0x61,0x43,0x31,0xf1,0x11,0x06,0x3a,0xd4,0x46,0xbe,0x71,0xea,0xaa, +0x6c,0x19,0xe1,0x61,0xe2,0x70,0x66,0xd3,0xf0,0x7b,0x4b,0xb5,0x61,0xf8,0xaa,0x30,0x7c,0x4c,0x40,0x1c, +0x78,0xcc,0xf0,0xc4,0xc0,0xc1,0x59,0x66,0xfa,0x96,0x39,0xb7,0xd5,0x40,0x60,0xd1,0x40,0x9c,0xec,0x04, +0x5a,0x0f,0xcd,0x96,0xbc,0x0c,0x4d,0x17,0x87,0x6f,0x03,0x47,0x72,0x5f,0xcc,0xb5,0xa1,0x06,0xc5,0x64, +0xc3,0xd7,0xc1,0x70,0x58,0xf3,0x41,0x73,0x29,0x90,0xd8,0x40,0xe3,0x06,0x2e,0x32,0x02,0xd0,0xc5,0x18, +0x6b,0x62,0x1a,0x60,0x90,0x05,0xe3,0xba,0xe3,0xdf,0xbc,0xe5,0xb7,0x4e,0x34,0xdf,0xe8,0xc5,0xc2,0xf2, +0x99,0xfa,0xd9,0xcb,0x3a,0x92,0x2c,0x68,0xfd,0x44,0x98,0xbe,0xe4,0x25,0x1a,0x69,0x43,0xae,0x81,0x81, +0x86,0xb3,0x77,0xb2,0xa3,0x8f,0x77,0x1b,0x8d,0x8b,0xc6,0x41,0x6b,0xa7,0x71,0xfc,0x74,0xfc,0x74,0x74, +0xf2,0x64,0x97,0x36,0x72,0xc3,0x1c,0xfc,0xb7,0xd8,0xcf,0x35,0xf3,0x95,0xdd,0xcb,0xdd,0xce,0xce,0xd9, +0xe5,0xf6,0xee,0xb1,0x56,0x9e,0x37,0xe6,0x64,0xdf,0x69,0xbc,0x76,0x76,0xb6,0xdb,0x1c,0x35,0x76,0x1a, +0x4d,0xea,0x6d,0x27,0x6d,0x80,0x32,0x76,0x7a,0xb0,0x38,0xbd,0x1f,0xcc,0x3a,0x6d,0x67,0xd1,0xbc,0x38, +0x30,0xcf,0xb6,0xcd,0x7c,0xa3,0xd3,0x7e,0x9c,0x5e,0x9f,0x0c,0x9c,0x9b,0x7d,0xf9,0x6c,0x7a,0x73,0xa7, +0xed,0x0f,0x8f,0x8b,0x83,0x0b,0xab,0xd9,0x39,0xcf,0x1b,0xf7,0x56,0x79,0x36,0x53,0xec,0xa7,0x5c,0xbb, +0x59,0x31,0xe4,0x5c,0xf1,0x78,0x5c,0xde,0x9f,0xad,0xed,0x77,0xab,0x37,0xdb,0xf2,0x54,0xef,0xee,0x80, +0x1e,0x28,0xf6,0x05,0x9d,0xb7,0xe1,0x47,0x63,0x0f,0xfb,0xda,0x9d,0xce,0x95,0xc1,0xcd,0x6c,0xda,0xac, +0x6d,0xcf,0x7b,0xe6,0xa8,0x5b,0xae,0x3e,0x5e,0x7d,0xdd,0xd7,0xf3,0x7a,0xed,0xeb,0xcd,0x19,0x14,0x6d, +0x0f,0xef,0x5a,0xdb,0x67,0xa0,0x5d,0xce,0x1b,0x76,0x13,0xca,0x37,0x1a,0x66,0xa3,0x89,0xda,0xdf,0x78, +0x30,0x38,0x3e,0xd4,0x8b,0xb3,0xfd,0xc7,0xbd,0x66,0xf3,0xe1,0x64,0x4d,0x3d,0xef,0x4c,0x34,0x7b,0x3c, +0x68,0x36,0x6f,0x6e,0xaf,0x5a,0x5f,0x77,0x47,0xbe,0x3e,0x8f,0x51,0x19,0xdd,0x1e,0x35,0x8e,0x49,0x9f, +0x8f,0xf3,0xb9,0x2a,0xab,0xfd,0xb1,0x5e,0x3e,0x2c,0x5f,0xb6,0xaa,0x56,0xb5,0xb0,0xa3,0x9d,0x28,0x95, +0xde,0x50,0xeb,0x54,0x2e,0xb1,0xc4,0x7e,0x65,0xbb,0x71,0x71,0xd8,0x80,0xe2,0x47,0x8d,0x11,0x76,0x7a, +0x88,0xfd,0xc2,0xb8,0x6f,0x8c,0x9d,0x5a,0x43,0x3d,0xbc,0x1f,0xec,0xb7,0xe7,0xf3,0xf1,0x9e,0xe1,0xb4, +0xae,0x8e,0xee,0x4e,0x4a,0xcd,0xc1,0x76,0xb9,0xaf,0x75,0x5a,0xed,0x5d,0x7f,0xdd,0x33,0x9c,0x27,0xf4, +0x89,0x8a,0x6c,0xfb,0xca,0xd8,0xe9,0x4d,0x1b,0xfb,0x72,0x79,0x6f,0x7f,0x64,0x8e,0x9b,0xfb,0xfd,0x3d, +0xa5,0xaf,0x4d,0x8d,0x6d,0xa5,0xb7,0x3f,0x1d,0x07,0x60,0x04,0x5d,0x8e,0x70,0x9e,0x87,0x64,0xbc,0x95, +0x79,0xfe,0xfe,0x5a,0x2e,0x0f,0x77,0xab,0x87,0x17,0xe6,0xe5,0xd9,0x7a,0xe5,0x42,0x6e,0xac,0x6f,0xdb, +0xa5,0x85,0xda,0xb9,0x69,0xdc,0x5d,0xf9,0xfb,0x6c,0xa3,0xf2,0xbd,0x87,0x00,0x83,0x3e,0xaf,0x8d,0xe6, +0x45,0x51,0x3b,0x1e,0xca,0xdd,0xd1,0xf8,0xfe,0x7c,0x72,0x3c,0x2d,0x4c,0xcc,0x86,0xb9,0xbf,0x18,0xb6, +0x6f,0xda,0x50,0xb1,0xd1,0x38,0x99,0x83,0x86,0xeb,0x8b,0x19,0x73,0x77,0x4a,0x84,0x8b,0x34,0x6a,0xf4, +0x4a,0x09,0x49,0x10,0xda,0x45,0x12,0xe9,0x4c,0xd5,0x41,0x92,0x5b,0x56,0xa0,0xfe,0xaa,0xa7,0x01,0x52, +0x6a,0xdf,0x70,0xcb,0xa2,0x2c,0x1c,0x02,0x63,0x25,0x79,0x64,0xdd,0x80,0x57,0xbf,0xdc,0x12,0x9d,0x4f, +0xa1,0x6a,0x92,0x2c,0x24,0x81,0x8e,0x4a,0xdf,0xfc,0xfc,0x91,0x68,0x59,0xc8,0x38,0x42,0x97,0x48,0x11, +0x0d,0xa8,0x28,0x08,0x29,0x3a,0x0b,0xaf,0x82,0x4f,0xf9,0xa3,0x5a,0x7b,0xc5,0x5f,0x82,0xaa,0x90,0x81, +0x9d,0xfd,0x70,0x13,0x61,0x89,0xf5,0x91,0x73,0x99,0xa9,0x65,0x8e,0x80,0xc3,0xda,0x3f,0x5e,0x80,0xba, +0xcb,0x63,0x44,0x35,0xe9,0x23,0x88,0x51,0x03,0xf9,0x04,0x58,0x6d,0xd0,0x22,0xfd,0x15,0xd0,0x7c,0x18, +0x63,0xb5,0xb9,0xda,0x9b,0xfe,0xc8,0xb9,0xaa,0xfb,0x2a,0x3e,0x09,0xa1,0xa0,0x8c,0x44,0x49,0x75,0xbf, +0x2a,0x29,0x74,0x85,0xdc,0x3b,0x30,0x8e,0xb1,0xdc,0xa4,0xa2,0xe8,0x23,0xb2,0xeb,0xae,0x6a,0xcf,0x74, +0x57,0x59,0xad,0xd5,0x6a,0xbe,0x68,0xb7,0x7f,0x36,0xcd,0x99,0xa5,0x01,0x7a,0x3b,0xea,0xfc,0x9f,0xe9, +0x89,0x69,0x98,0xc4,0x54,0xd8,0xf2,0x13,0x55,0x90,0xf9,0xba,0xd6,0x49,0x0e,0xed,0x90,0xcf,0x7f,0x90, +0xbc,0x83,0x7f,0x00,0xb1,0x48,0x9a,0x52,0x4f,0x70,0x01,0x95,0x90,0x06,0x3a,0xfc,0xac,0x27,0x98,0xa2, +0x98,0xa0,0x45,0xd8,0x4b,0xa6,0x6a,0xc3,0x4b,0xaa,0xda,0x43,0x45,0xfc,0x71,0x1a,0xac,0xec,0x6a,0xff, +0x09,0x09,0xe3,0x21,0x4d,0xa3,0x9e,0xc8,0x25,0xa4,0x89,0xea,0x8c,0x4d,0xec,0xcb,0xb4,0x1d,0x7f,0xbb, +0x84,0x22,0x24,0xa2,0xcf,0xfb,0x3f,0xd0,0x10,0x51,0x78,0x37,0x2e,0x7c,0xee,0xb5,0x9a,0x17,0xdd,0xf6, +0xf9,0x0d,0x4c,0xa0,0x00,0x2f,0x8a,0x9f,0xb7,0x49,0xf4,0xaa,0x34,0xb3,0x01,0xd8,0x92,0x33,0xd6,0x6c, +0x49,0x01,0x93,0x7c,0xa0,0x4a,0x0b,0x73,0x26,0x8d,0xe5,0x07,0x55,0x72,0x4c,0x69,0x30,0x96,0x8d,0x11, +0x49,0x99,0x09,0x5f,0x87,0x32,0x80,0x55,0xe2,0x73,0x95,0xa0,0x3a,0xf9,0x80,0x61,0x74,0xd2,0x3f,0x65, +0x65,0xa2,0x19,0xff,0xcc,0x4a,0xe7,0xd8,0x92,0x5b,0x66,0xae,0xe9,0x30,0x32,0x52,0xc6,0xab,0x00,0x16, +0x9e,0x65,0x1a,0xa3,0xcf,0x8d,0x53,0x09,0x81,0x24,0x8d,0x4d,0xc7,0x9e,0x9a,0x0e,0x82,0x98,0xbc,0x4f, +0xfb,0x4a,0x01,0x28,0x25,0xb2,0x7b,0x0a,0xaa,0x8e,0xea,0x96,0x91,0x92,0x73,0xb0,0x26,0xe8,0x60,0x65, +0xf8,0xd7,0x30,0xe7,0x29,0x72,0x38,0x54,0xac,0x8a,0x96,0x73,0x06,0x5e,0x64,0x64,0xcd,0x92,0xa8,0x2e, +0x61,0xbb,0x2d,0x64,0x01,0x12,0x45,0xc0,0x27,0xc0,0x2b,0x00,0xcd,0x11,0xe2,0x8d,0x2f,0x68,0xff,0x37, +0x42,0xd2,0xf0,0x95,0xac,0x4d,0xdf,0xdb,0x59,0xa6,0x20,0x89,0x87,0x5c,0xcb,0x89,0xcf,0x0d,0x04,0x89, +0x0b,0x8b,0x3f,0x72,0xa4,0xd2,0xe7,0x3f,0xc8,0xb2,0x95,0x88,0x15,0x93,0x20,0x50,0x43,0x02,0x48,0x2c, +0x69,0xac,0x04,0x8d,0x49,0xc4,0x04,0x14,0x08,0xcd,0x91,0xfb,0xc4,0xc2,0xaf,0x27,0x0a,0x09,0xa2,0xba, +0x0e,0x4c,0x30,0x99,0x54,0x07,0x0a,0x0d,0xc1,0x10,0x09,0x90,0x1e,0x6b,0x2c,0x1f,0x1c,0x62,0xc4,0xf4, +0x23,0xfb,0x97,0xd0,0x92,0x4b,0x7c,0x3e,0x07,0xe0,0x92,0x21,0x6b,0x00,0x44,0xcc,0x67,0xec,0x61,0x1a, +0xb0,0x4e,0x90,0x0c,0x44,0x23,0x0f,0x06,0xc0,0x74,0x28,0x4d,0xf9,0xb0,0x27,0x25,0x45,0x5a,0x49,0xa5, +0x51,0x9b,0x96,0x60,0xb0,0x26,0x21,0x35,0xaa,0xf5,0xe2,0x4f,0x4a,0x6e,0x84,0x18,0x01,0xcb,0x06,0x34, +0x20,0x71,0x5a,0x41,0x12,0x32,0xa5,0x21,0x8c,0x75,0x2c,0xc9,0x92,0xa1,0xce,0x81,0xf3,0x5a,0x93,0x39, +0x92,0x80,0x0f,0xdb,0xc9,0x93,0xf3,0x46,0x2a,0xfb,0x47,0xdf,0xfa,0xdc,0x76,0xa4,0xc9,0xcc,0x76,0x28, +0x49,0xcb,0x0e,0x18,0xfa,0x32,0x3c,0x71,0x12,0x19,0x62,0xb0,0x32,0x50,0xb9,0x05,0x2b,0x4d,0xb5,0x6c, +0x81,0xbe,0xe8,0x65,0x15,0x36,0x21,0x2a,0xaa,0x60,0xd1,0xdf,0xb2,0xb1,0x90,0xcc,0x21,0x8e,0xd1,0x46, +0x5b,0x48,0x1d,0x80,0xdd,0x27,0xb4,0xb0,0x29,0xfd,0x99,0xce,0x6e,0x6d,0xfe,0x5f,0x1f,0xbe,0xfc,0xd7, +0xc7,0x7f,0xfc,0xe7,0xff,0xfe,0x24,0x4f,0xa6,0x5b,0xff,0xfa,0xa4,0x3b,0x5b,0x9f,0x46,0xce,0xd6,0xff, +0xfa,0x99,0x4c,0xfd,0x78,0xfe,0xf6,0x9d,0x92,0x6a,0x68,0x30,0xc0,0xcb,0x24,0xbc,0x14,0x93,0x64,0x79, +0xf6,0x86,0x82,0x65,0xc5,0x22,0x6e,0x22,0x68,0xaf,0x08,0x80,0x45,0x2c,0x41,0xc7,0x2e,0x92,0x3a,0x41, +0x73,0x34,0xb2,0x57,0xa6,0xe7,0x2e,0xd9,0x0c,0xf9,0xfd,0x04,0x5d,0x8c,0x23,0xe8,0x38,0x62,0x0d,0x90, +0xb5,0x84,0x12,0xc2,0x2d,0x4e,0x35,0x6f,0x5f,0x0d,0xf6,0x2a,0xda,0xc8,0xe0,0x23,0xa3,0x5f,0x13,0x9f, +0x2f,0xc8,0xe7,0x3f,0x72,0xf4,0x19,0x5a,0xf5,0x38,0x83,0x08,0xd5,0x1c,0x32,0xec,0xcf,0x21,0x40,0x23, +0x93,0xa7,0xb1,0xed,0x11,0xb2,0x41,0x96,0xc6,0x96,0x3a,0xac,0x27,0x88,0xe6,0x91,0x20,0x65,0xf1,0xd7, +0x91,0x66,0xdc,0xb9,0xa5,0xdd,0x38,0x7a,0x28,0x8f,0x16,0x00,0x34,0xce,0xfe,0x91,0xbd,0x1e,0x48,0xfd, +0x30,0x64,0xd8,0x6b,0x2c,0x1f,0x7a,0xcf,0xfd,0x69,0x09,0x86,0xb8,0x31,0x88,0x15,0xfc,0x95,0xf8,0xbc, +0x7f,0xd2,0x3b,0xef,0x34,0x8e,0x5b,0xac,0x23,0x69,0x79,0x7d,0x89,0xa8,0x64,0xbc,0x15,0x47,0x73,0x74, +0x68,0xa2,0xd5,0x3b,0x9d,0x59,0x86,0x2c,0xe5,0x31,0xb1,0x2e,0x1f,0xf0,0x4c,0x0f,0x37,0x82,0xd9,0xf2, +0x91,0xfc,0xb4,0xf0,0x27,0x3c,0x1e,0x24,0xc2,0x28,0x11,0x55,0x1b,0x01,0x85,0xe6,0x0a,0x13,0x82,0x78, +0x19,0xa1,0x33,0xb3,0x13,0x9f,0x7b,0xe7,0x8d,0xf3,0x8b,0x1e,0x81,0x51,0x4e,0xd7,0xde,0xb1,0x83,0x91, +0x6a,0xa8,0x96,0xac,0x27,0x3e,0xef,0xb5,0x3a,0xad,0x6e,0xe3,0xe8,0x37,0x74,0x81,0x66,0x67,0xe2,0xf3, +0x55,0x7b,0xb7,0xfd,0x72,0xe3,0x12,0xf5,0x9e,0xb1,0x7f,0x32,0x93,0x7b,0xc7,0x79,0x75,0x7f,0xb4,0xd2, +0xf1,0xd9,0xf9,0xf9,0xab,0xfb,0x33,0x9c,0xe9,0xab,0xbb,0x23,0x75,0x3a,0xe7,0xa7,0xaf,0xee,0x0c,0xf7, +0xb2,0x16,0xaf,0xee,0x8e,0xd5,0xea,0x5d,0xb5,0xcf,0x9b,0xfb,0xad,0x15,0x48,0x22,0xd0,0x2b,0x28,0xb4, +0xaf,0xa7,0x42,0xa6,0x04,0x43,0xb7,0xd0,0xe7,0xce,0xc5,0x51,0xeb,0xd5,0xdd,0x12,0xe5,0xf5,0xd5,0x1d, +0xb3,0x5a,0x47,0xed,0xbd,0xfd,0xf3,0x37,0x4c,0x55,0x35,0x6c,0xd3,0xb2,0x5f,0x3f,0x5d,0x5e,0xaf,0xd7, +0xea,0xf4,0x4e,0xba,0xaf,0xef,0x58,0x19,0x3c,0xbd,0xba,0x53,0xc5,0x9c,0x98,0x8e,0x86,0x15,0x77,0x4e, +0x8e,0x4f,0xce,0xdb,0xcd,0xaf,0xaf,0xee,0x76,0x2c,0xbf,0xba,0x57,0xac,0xb2,0xdf,0xe8,0xbd,0x7e,0x8a, +0x9a,0xd2,0x7f,0x75,0x67,0xa4,0x4e,0xbb,0xb3,0x7b,0x74,0x71,0xbd,0xb3,0xfd,0xea,0x1e,0x41,0xa7,0xbe, +0x7b,0x75,0x97,0xa0,0xb3,0x19,0x23,0x50,0x6a,0x64,0xa8,0x7a,0xbe,0xdf,0xee,0xec,0xf5,0x4e,0x5b,0x8d, +0xc3,0xd7,0x2f,0xd5,0xe1,0xeb,0x67,0x4b,0xea,0x74,0x77,0x7f,0x03,0x43,0x25,0x3a,0x09,0xa8,0xe3,0x3b, +0xc7,0xed,0x8e,0xd7,0x7c,0x6e,0xa6,0xfb,0x24,0xa6,0xe8,0xe6,0x4d,0xac,0xac,0x36,0x00,0xd1,0x83,0x5e, +0xe9,0x6a,0x07,0xd2,0xcb,0xf5,0x5c,0xff,0x2e,0x2a,0x54,0xec,0xe7,0xeb,0xea,0xa3,0xbb,0x18,0x2b,0xe3, +0xbf,0x82,0x5e,0x12,0x54,0x8e,0xa8,0x17,0x23,0xf1,0xf9,0xd3,0xc0,0x9c,0x2e,0xb6,0x30,0xa9,0x7d,0x35, +0x03,0x7f,0xd5,0x50,0x29,0xbe,0x36,0x41,0x79,0x3d,0xfd,0xff,0xfe,0x6f,0x4b,0x7d,0xc2,0x47,0x17,0xa0, +0x98,0xcd,0x7e,0x33,0x97,0x73,0x00,0x86,0xaa,0x35,0x91,0x8d,0xec,0x40,0x76,0x50,0x35,0x43,0xe7,0x73, +0x3d,0xf1,0x67,0x5f,0x97,0x51,0x11,0x89,0x2a,0x45,0x00,0x1b,0x6c,0x2a,0x90,0x18,0xff,0x11,0x7a,0x05, +0xd5,0x55,0x7d,0xca,0xa9,0xf6,0x14,0x15,0x84,0x70,0xd3,0x5c,0x73,0xf8,0x2f,0x69,0x4f,0x73,0xf6,0x67, +0x7d,0xde,0xec,0xde,0xe9,0xd1,0x43,0x49,0xd2,0x69,0xd6,0x7d,0xd2,0x8f,0x4f,0xf9,0x0a,0xce,0xdd,0x33, +0xb5,0x63,0xec,0x64,0x66,0xb6,0x8b,0x3a,0x43,0xac,0xe5,0xcc,0x74,0x09,0x66,0x37,0x37,0x67,0x16,0x5e, +0xe5,0x20,0x51,0xe7,0xf7,0x8c,0xfa,0x83,0x5e,0xb0,0x25,0xd1,0xdc,0x0f,0x1a,0xf7,0x92,0xfb,0x8b,0x5f, +0xde,0x16,0xb2,0x3a,0x71,0x8c,0x44,0x7e,0xd9,0x89,0xa0,0x4e,0x49,0x38,0x7d,0xc4,0x6b,0xb0,0xd7,0x61, +0x4e,0xe1,0x0f,0x13,0x79,0x64,0x68,0xce,0x4c,0x51,0xed,0x25,0x7a,0x74,0x41,0x22,0x3b,0x3c,0x91,0xa6, +0x63,0x21,0x53,0x0c,0xda,0x03,0xc7,0xb2,0x31,0xc3,0xfd,0x07,0x78,0x6b,0xc5,0xb7,0x89,0x09,0x2c,0xc4, +0x9a,0x98,0x82,0x23,0xa0,0x94,0x12,0xf7,0x17,0x57,0x21,0x27,0x42,0xab,0x09,0x4f,0xdb,0x8d,0x6b,0x3e, +0x3c,0xac,0x1d,0x62,0x39,0xbe,0xdf,0x80,0xa8,0x25,0xfa,0xa6,0xa1,0x34,0xc7,0xda,0x54,0x6a,0xef,0xbc, +0xdf,0x58,0x06,0xd0,0xa0,0xa6,0xbc,0x69,0x2c,0xc7,0x8d,0xe6,0x7b,0x22,0x69,0xf0,0xa6,0x41,0x74,0xa8, +0x17,0xef,0xfd,0x06,0xc2,0xdc,0x82,0x6f,0x1a,0xcc,0x76,0xaf,0xf7,0x9e,0xb8,0xe9,0xdb,0xf6,0x1b,0x51, +0xd3,0xa4,0xab,0xf6,0x3d,0xc9,0x84,0x34,0xf8,0xa6,0xc1,0x74,0x01,0x2a,0xef,0x37,0x12,0x0b,0x80,0xf2, +0xa6,0x61,0xb4,0x4f,0xdf,0x7b,0x05,0x6b,0xd3,0x37,0x0d,0x64,0x97,0xfb,0x97,0xb0,0xad,0xf7,0x1b,0x93, +0x3c,0x9d,0xfe,0x49,0xed,0xed,0x5f,0x19,0xd3,0x83,0x6a,0xd9,0x44,0xfc,0xbc,0xe7,0xb0,0x58,0xa3,0xbf, +0x36,0xb2,0xfe,0x4c,0xd3,0x95,0xf7,0x1d,0x17,0x69,0xf2,0x6d,0x0b,0x8c,0xc9,0x6c,0xbc,0xe8,0xf5,0x1d, +0x79,0x8f,0x39,0x7f,0xd3,0x68,0x2e,0xa6,0xef,0x3b,0x8e,0x19,0x69,0xef,0x6d,0xe8,0xb2,0x54,0x55,0x02, +0x65,0x67,0xfa,0x7e,0xa3,0xc1,0xd6,0x12,0x12,0xee,0x52,0xd4,0x13,0x52,0x7f,0xe1,0x50,0x8d,0xe3,0xed, +0x84,0x84,0x5b,0x32,0xef,0x37,0x3a,0xfb,0x4e,0x75,0x06,0xe3,0x3f,0xb1,0xd1,0xf7,0x18,0x24,0x82,0x8f, +0x6c,0x1f,0xbd,0xdf,0x08,0x87,0xd0,0xe6,0x7b,0x8d,0x0f,0x9d,0x3a,0x52,0x8f,0xe8,0xb7,0xef,0x28,0xfb, +0xef,0x1d,0xa7,0xc7,0x74,0xe6,0xce,0xc9,0xb9,0xd4,0xb8,0x6c,0xb4,0x8f,0x1a,0xdb,0x47,0xad,0xb7,0xe8, +0x03,0xe7,0xa7,0xef,0x3e,0x3e,0xc3,0x99,0xbe,0xd7,0xf0,0x8e,0xd0,0x3b,0x3f,0x63,0x0e,0xe0,0x77,0x63, +0x65,0x23,0x33,0xf1,0xf9,0x0b,0x1f,0x0d,0xf5,0xb1,0xda,0x68,0x09,0x2a,0xb6,0x04,0xdf,0xfc,0xc3,0xe4, +0xce,0x65,0xcf,0xe7,0x1c,0xf6,0x33,0xfb,0x76,0x13,0xd1,0x1c,0x7d,0xcd,0x4e,0xa2,0xa4,0x1a,0x03,0xea, +0xf0,0x9e,0xcc,0x74,0x47,0x9b,0xca,0x96,0x43,0xba,0xc8,0xa0,0x05,0x1d,0x61,0x3f,0x89,0x96,0x93,0xeb, +0x0c,0x8d,0x33,0x9d,0x5c,0x27,0x29,0xb3,0x9d,0xf6,0x68,0x05,0xbf,0xed,0x24,0x3d,0xc8,0xfa,0x0c,0x37, +0xe6,0x7e,0xf3,0x76,0xdc,0x3e,0xf3,0x70,0x47,0xee,0x5b,0xb8,0xee,0xef,0x17,0x5a,0x91,0x26,0xf2,0xa3, +0xae,0x1a,0x23,0x67,0x5c,0x4f,0x14,0xdc,0x5d,0x0c,0xdc,0x83,0xf7,0x40,0xcc,0x2c,0x74,0xdf,0x16,0xdd, +0xcb,0xdb,0x16,0xc5,0xd5,0x37,0x38,0xde,0xb0,0x6f,0xa7,0xd9,0x64,0xa2,0x74,0x43,0x56,0x23,0xe1,0x8a, +0xc3,0x85,0x6f,0xdb,0x57,0x33,0x70,0x33,0xd5,0x92,0x98,0x46,0x2d,0x25,0x99,0x95,0x8f,0x7b,0x57,0x1c, +0x3a,0xb8,0x87,0x95,0x25,0x17,0xc8,0xa7,0xb2,0xd2,0x2e,0xd9,0xce,0x85,0x06,0x58,0x34,0x17,0xd9,0xb9, +0x93,0xef,0x54,0x49,0x1d,0x0e,0x71,0x23,0x0f,0xb7,0x66,0xed,0xb1,0x39,0xd3,0x15,0x09,0xc3,0xbc,0x80, +0xb0,0xc8,0xc6,0x1e,0xba,0xb7,0x85,0x2d,0xc1,0xfe,0x02,0x66,0xa0,0x0d,0xee,0xe8,0x2e,0xb4,0x2a,0x25, +0x5c,0xa7,0x48,0x82,0x79,0x3c,0xde,0x69,0xf7,0x6a,0xc7,0x9c,0x91,0x9b,0x33,0xb1,0x33,0x98,0x33,0x58, +0xd5,0x91,0x84,0xd0,0x77,0x8c,0x1d,0xe2,0x32,0x7e,0x89,0x10,0x28,0xe6,0xe9,0x4e,0x5b,0x18,0xf7,0x13, +0x0d,0x1e,0xf2,0x09,0x30,0xa8,0xd5,0x29,0xe0,0x3f,0x9f,0x27,0x94,0x43,0x7e,0xe5,0x45,0xca,0xa8,0xfe, +0xc5,0x94,0x41,0xe6,0x8a,0xb8,0x9f,0x00,0x61,0x68,0x9c,0x0d,0x01,0x26,0x15,0xd5,0x41,0x24,0xca,0x92, +0x22,0xc2,0x2d,0x39,0xb4,0x4c,0x8c,0x86,0x85,0x02,0x38,0x93,0x89,0x4d,0xf7,0x58,0x71,0x5f,0x98,0x6c, +0x5c,0x52,0x82,0xa0,0x40,0x21,0xe8,0x1c,0x92,0xbb,0x0f,0x7d,0x3b,0xba,0x48,0x81,0x34,0xe7,0x23,0xd9, +0x2d,0x76,0x1d,0x5e,0xd0,0x3e,0x89,0xaf,0x24,0x85,0xc7,0x32,0x39,0x53,0xa1,0x39,0x6e,0x08,0x01,0x14, +0x1d,0xa9,0xc1,0x01,0x65,0xa5,0xb6,0x31,0xb0,0x30,0xd7,0xa2,0xaf,0x67,0x6d,0xe8,0x06,0x06,0x8c,0xe5, +0x07,0x42,0x5a,0x16,0xad,0x85,0x33,0x13,0x27,0x84,0x7d,0x31,0x32,0x93,0x7a,0xaa,0x43,0x5b,0x21,0x0c, +0x09,0x8b,0x92,0x89,0xb2,0x88,0xeb,0x40,0xbf,0x37,0xd0,0xfe,0xdc,0x34,0xfe,0xe9,0xe0,0xd8,0x64,0xd6, +0xb4,0xad,0x3a,0xe2,0x54,0x85,0x7d,0x6b,0xf4,0x6a,0xc8,0xba,0xbe,0x20,0x13,0x24,0xeb,0x2c,0x0a,0x1c, +0xda,0x84,0xe4,0xc7,0x72,0x54,0x28,0x18,0x04,0x0d,0x01,0x34,0xe9,0x15,0x6b,0xf0,0x00,0x0d,0xbe,0xeb, +0x4b,0xe9,0x4e,0xe8,0x5c,0xd8,0x3e,0xc6,0x04,0x63,0x54,0x8a,0x21,0x24,0x86,0x11,0xcb,0x16,0xb4,0x6b, +0x7d,0xf1,0xc2,0x3a,0x0b,0xb8,0x78,0x75,0xe2,0xaf,0x5a,0x69,0xe5,0x1d,0xb5,0x76,0x08,0x10,0xdc,0xf5, +0x46,0xc3,0xb4,0xd9,0x82,0x83,0x86,0x8e,0xe1,0x63,0xfe,0xe5,0x05,0xe7,0x2e,0x9a,0x75,0xe8,0xd9,0x9c, +0x7a,0xb2,0x83,0x30,0xd8,0x2b,0x6d,0x57,0x93,0x6c,0xa6,0x4b,0xd0,0xaf,0xc1,0x52,0x35,0xf4,0x9a,0x22, +0xbd,0x2f,0x2f,0x96,0x67,0x8a,0x13,0xe0,0x0c,0x84,0x8f,0x12,0x57,0x8c,0x28,0xa9,0x80,0x34,0x94,0x28, +0xd1,0x25,0x36,0x78,0x7f,0x24,0x0a,0x40,0xc2,0x11,0xc6,0x15,0xad,0xb8,0x8d,0xad,0x50,0x18,0x98,0x46, +0x43,0x9f,0xcb,0x0b,0x5b,0x3a,0xe9,0xc4,0x95,0x59,0xf7,0xca,0xec,0xee,0x7a,0x85,0x72,0x14,0xf6,0x7f, +0x03,0x71,0xc4,0xc9,0x4f,0x51,0x87,0x9a,0xa1,0xda,0x74,0x25,0xaa,0xb8,0x5c,0x71,0x75,0xd0,0x08,0x0b, +0x09,0x9d,0xf2,0x12,0xd2,0x0f,0xfc,0x43,0x0a,0x98,0xc0,0x17,0xc8,0x4a,0xb8,0x62,0x81,0x21,0x09,0x01, +0xef,0x09,0x8f,0x5f,0x90,0xfc,0x7a,0xb2,0x23,0x15,0xf6,0x9f,0x68,0x0c,0x89,0x63,0x2d,0x18,0xb1,0x33, +0xf1,0x02,0xac,0x63,0x28,0xd9,0x33,0x12,0xab,0x32,0x9c,0xe1,0xd2,0x64,0x1f,0x54,0xc5,0x6b,0xc6,0xd2, +0xd4,0x21,0x2e,0x5a,0xd2,0x9c,0x0a,0x86,0xf1,0x42,0xaa,0xb8,0xca,0x1a,0x70,0x19,0x18,0x40,0xef,0xbc, +0xe1,0x86,0xa6,0xd0,0x12,0xf4,0x3b,0xfb,0xcc,0x18,0x80,0x7f,0xcc,0x22,0x15,0x26,0x68,0x6d,0x9c,0x1d, +0x4e,0x94,0xb3,0xbb,0x93,0x0e,0x19,0x37,0xb6,0x48,0x42,0x4e,0x2c,0xca,0xa8,0x11,0xe5,0x69,0x12,0x11, +0x02,0x68,0x95,0x4c,0xa8,0x65,0xcd,0x81,0x6d,0xb3,0xb8,0x2b,0xf8,0xdf,0x48,0x37,0xfb,0xa0,0x61,0xd1, +0xb6,0x25,0xc3,0x04,0x39,0xaf,0x0d,0x88,0x9e,0xe5,0x1f,0x82,0x48,0xe1,0x6c,0x08,0x0b,0xce,0x5c,0x22, +0x38,0x1a,0x0e,0x8d,0x85,0xff,0xab,0x06,0xd9,0xf7,0x97,0x81,0x56,0x6d,0x5b,0x1e,0x91,0x62,0x09,0xd4, +0x12,0x30,0x50,0xf8,0x4f,0xc7,0x9c,0x6a,0x03,0xd4,0x13,0x72,0xb0,0xb0,0x73,0x79,0xa0,0x37,0x90,0x86, +0x73,0xcd,0xc1,0x70,0x9d,0xa9,0xbc,0xc0,0x30,0x42,0x44,0x6e,0x3e,0x2d,0x15,0x10,0x62,0x45,0x29,0x89, +0x6a,0x83,0x39,0x1a,0x41,0x7f,0x9a,0x93,0xf2,0x0f,0x92,0x2d,0x89,0xe5,0x20,0x92,0x64,0xc2,0x41,0xd1, +0x4d,0x4e,0x38,0x3e,0x00,0xc6,0x03,0xc7,0x44,0x95,0x0d,0x12,0x53,0x84,0x5a,0x0b,0x8e,0x1e,0x86,0x32, +0x18,0x03,0xb9,0x01,0x6d,0x18,0xa8,0x95,0x47,0x21,0xc6,0x5b,0x81,0xac,0x67,0x4e,0x0f,0x43,0x53,0x07, +0x31,0x47,0x06,0x22,0x90,0x1d,0xe1,0xe9,0xe4,0x3b,0x3c,0x2f,0xa0,0x86,0xed,0xe8,0x18,0x23,0x34,0xa4, +0xc3,0xf3,0x0f,0x8d,0x22,0x8f,0x95,0x71,0x67,0xe0,0xc6,0x14,0x4d,0x28,0x8a,0x23,0xc1,0x10,0x31,0x2e, +0xba,0x6c,0xcc,0x29,0x39,0x2d,0xa2,0xf2,0x55,0x13,0x9e,0x46,0xfa,0x6d,0x53,0x30,0x5e,0x9e,0x01,0x50, +0xe1,0x92,0x29,0x24,0x5c,0x3e,0x95,0x20,0xb5,0x12,0x1e,0x4f,0xa2,0x53,0xa0,0xad,0x02,0x53,0x1a,0x66, +0xd4,0xc7,0xa9,0x0e,0xf4,0x88,0xc7,0x19,0x5e,0x27,0x8a,0x64,0x5d,0x7d,0x94,0x57,0x0e,0xca,0xc3,0xc2, +0x44,0xff,0x1c,0xf1,0xad,0x1b,0x26,0x95,0x96,0x73,0x2f,0xca,0xe7,0xa8,0xa6,0x48,0x55,0xbf,0x01,0xa6, +0x68,0xe8,0x9b,0x8f,0xae,0x5d,0x87,0x2d,0xb7,0x0c,0x72,0x3a,0xcb,0xa7,0xfc,0x97,0x12,0xf1,0xd6,0x5c, +0xcc,0x34,0x83,0x96,0x16,0x8f,0x7d,0x88,0xb1,0xb3,0xbc,0xe8,0x06,0x66,0x68,0xf5,0x08,0x99,0x4b,0x39, +0xc6,0x36,0x5e,0xb3,0x57,0xe5,0x8e,0x8d,0x9e,0xcf,0x72,0xb7,0x47,0xfd,0x81,0x26,0x68,0x2b,0xb2,0x41, +0x31,0xa3,0x0e,0xe0,0x48,0x2a,0xbc,0x8c,0x2f,0xb1,0xf2,0x6a,0x48,0x63,0xd3,0xb1,0x17,0xc6,0x60,0x89, +0x26,0x41,0x9a,0xec,0x41,0x99,0x97,0x63,0xcf,0x5c,0xe4,0x94,0x42,0xaa,0x04,0x48,0xff,0x8e,0x49,0xba, +0x1a,0x83,0xfe,0x04,0xba,0x1f,0x85,0x59,0xb4,0x94,0x05,0xbd,0xe3,0xab,0x6a,0x99,0xc8,0xc9,0x30,0xee, +0xce,0xe3,0x2e,0x24,0x8f,0x69,0x5c,0x2d,0x90,0xad,0x27,0x50,0x1a,0x17,0xc4,0x2d,0x86,0x26,0x7a,0x55, +0x5f,0xa8,0x58,0x42,0xfa,0xd5,0x85,0xc1,0x89,0xda,0xc9,0xca,0xa2,0xfd,0x2d,0x56,0x02,0xca,0x68,0x69, +0xcc,0x18,0x87,0xa2,0x81,0x85,0x47,0x1c,0xaa,0xee,0x84,0x99,0xa1,0x07,0x5c,0xd9,0x1d,0xdc,0x93,0xaa, +0x84,0xd7,0xb1,0xbb,0xa5,0x49,0x03,0xb6,0x13,0xbf,0xb0,0x26,0x78,0x88,0x4c,0xcc,0x9a,0xe0,0x41,0x30, +0x6c,0x45,0x1c,0x21,0xb3,0xb7,0xdf,0xb6,0x12,0xde,0x6c,0x73,0x5e,0x80,0x5d,0x42,0x86,0xf9,0x6e,0x4c, +0x66,0x66,0xab,0x4d,0x32,0x6f,0xc1,0xe2,0x44,0x99,0x2a,0xd2,0x74,0x6d,0x65,0xd5,0xed,0x77,0x2a,0x79, +0x17,0x36,0x95,0xd8,0x43,0xcd,0xb2,0x51,0x87,0x40,0x57,0x29,0xdf,0x9e,0x96,0x64,0x5b,0xea,0xee,0x6d, +0xbb,0xcf,0x4c,0x5e,0x13,0x01,0x44,0xe2,0x81,0x55,0x83,0x2a,0x20,0x63,0x06,0x3f,0x09,0x94,0x8a,0x3b, +0x92,0x49,0x97,0xfa,0x10,0xd4,0xbe,0x74,0xd1,0xce,0x82,0x04,0x83,0x0a,0xa6,0x01,0x72,0x88,0xb8,0x2c, +0xb4,0xa1,0x68,0x7d,0x8d,0x65,0xdb,0x0b,0xb1,0x2d,0x01,0xd1,0x4e,0x26,0xa4,0x51,0xb7,0x53,0x14,0x50, +0x5d,0x02,0x3d,0x52,0x6d,0xca,0x74,0x19,0xea,0xef,0x73,0xfb,0x71,0x5d,0x15,0xef,0xe4,0x87,0x40,0xb8, +0xe0,0xdc,0xe9,0x8c,0xde,0x93,0x30,0xa0,0xd5,0x65,0x64,0x51,0x28,0xfc,0x6d,0xe8,0x82,0xe0,0xde,0x87, +0xd7,0x21,0x43,0xb9,0x22,0x25,0xa7,0x3a,0xea,0x23,0xc4,0x65,0x0a,0x76,0x81,0x9d,0x4a,0x7b,0x6a,0x2e, +0x86,0x98,0x4b,0xfb,0xbd,0x4b,0x29,0x39,0x9e,0xa9,0x19,0x60,0xcd,0x6c,0x21,0x67,0x08,0x7f,0x4c,0x49, +0xe4,0x8c,0xc6,0xfb,0xa1,0x89,0x9c,0x24,0xe7,0xf4,0xf2,0x9e,0x98,0xba,0xc2,0x86,0x97,0xe1,0x6a,0xe3, +0x6f,0x83,0xaa,0xa1,0x69,0x81,0xee,0x1e,0x5c,0x3c,0xb8,0x80,0x29,0x74,0x88,0xf2,0x47,0xd7,0x78,0x89, +0x79,0x25,0x60,0xe1,0xd8,0xe8,0x6b,0x44,0x2c,0x13,0xc4,0x50,0x6d,0x76,0xe5,0xb5,0x5a,0xfe,0x5b,0xad, +0xd5,0x91,0x0c,0x63,0x01,0x6a,0xb5,0x2c,0x75,0xf0,0xae,0xfa,0x22,0xd0,0xc1,0x1e,0xb6,0xed,0x5b,0xa3, +0xf9,0xbf,0x0d,0xe2,0x83,0xf3,0x26,0x8e,0x23,0x1f,0xd3,0x8e,0xc6,0x2a,0xce,0x8b,0x2e,0x6e,0xba,0xb6, +0x81,0xcc,0xfb,0xe6,0x03,0xb1,0x55,0x08,0x6b,0x47,0xcb,0xe0,0xdd,0x90,0xd3,0xec,0xf5,0xf8,0xa2,0x7f, +0x47,0x01,0xdb,0xeb,0xfd,0x4d,0xf9,0xa6,0x3b,0x5d,0xa4,0x7d,0x4b,0xc5,0x3c,0x1c,0x14,0xd4,0xc4,0x65, +0x4b,0x4c,0x7a,0x54,0x2a,0xbb,0xad,0xde,0xb9,0xd4,0x38,0x6d,0xb3,0x55,0xe3,0x1d,0xc3,0xa2,0x55,0xf0, +0x62,0x0a,0x5b,0x4a,0x7c,0xdc,0xdd,0xcd,0x13,0x6f,0x34,0x20,0x0d,0x9d,0x0a,0x1e,0x97,0x4d,0x60,0x76, +0xd7,0x7c,0x3a,0x9f,0x78,0x1f,0x44,0x11,0x85,0x45,0xf2,0x12,0xe6,0xd8,0xef,0x89,0xac,0x73,0xaf,0x59, +0x1f,0xd2,0x56,0x47,0xc5,0xef,0x44,0x5a,0xdb,0x93,0x6b,0x54,0xde,0xd1,0x03,0x75,0xb6,0x8b,0x11,0x7b, +0x62,0x22,0xdc,0x23,0x34,0xe5,0x20,0xa8,0x57,0x81,0x15,0x05,0x2b,0xa1,0x03,0x3c,0xd5,0x3d,0x75,0x01, +0xbd,0xe2,0xa8,0x13,0xfe,0xbd,0x10,0xdc,0xe9,0xdd,0xc3,0x76,0x98,0xca,0x19,0xa8,0x1b,0x30,0x72,0x05, +0x71,0xe6,0x46,0xb8,0xfe,0x36,0xc0,0xa2,0x99,0xc7,0x40,0xda,0x57,0x9d,0x39,0x5e,0x0d,0xe9,0x59,0x25, +0x3a,0xd1,0xf5,0xfd,0x20,0x7d,0x83,0x81,0xc1,0xe2,0x86,0xe3,0x0c,0x0c,0x12,0x4f,0xdc,0xee,0x9d,0x77, +0x1b,0xe7,0x6d,0xf4,0xc3,0x32,0x43,0x83,0x86,0x1f,0x8a,0xc7,0xe4,0x90,0x79,0xe2,0xb2,0xb4,0xd5,0xc1, +0xcc,0xd2,0x9c,0x05,0x77,0x7d,0xfe,0xfe,0x2d,0xcf,0xdf,0x7a,0x02,0x71,0xc9,0x76,0xe7,0xbf,0x8f,0x24, +0xfe,0xfb,0x48,0xe2,0xff,0x01,0x47,0x12,0x97,0x50,0xf8,0x2b,0xcf,0x28,0xae,0x1e,0xa4,0x70,0x7e,0x7e, +0x2a,0xa1,0x90,0x8e,0x9c,0x0a,0x90,0xee,0x29,0x7c,0x5b,0x71,0x6f,0xfa,0xc5,0xa8,0x84,0xd2,0xdf,0x21, +0x2c,0x81,0xf9,0xb0,0x89,0x2e,0xc3,0x4f,0x88,0xfb,0x97,0x28,0x12,0x1b,0x68,0x33,0xa0,0xbd,0xdc,0xcf, +0x54,0x1b,0x18,0x3b,0xee,0xdc,0x78,0xdc,0xde,0x01,0x91,0x2a,0xd5,0xf2,0x52,0xd2,0x76,0xa0,0xa4,0x0c, +0x0b,0xdf,0x05,0x62,0xca,0xdb,0xd3,0xe0,0x1b,0xa6,0xb2,0x42,0xb6,0x77,0xd0,0xd9,0xac,0x0d,0x34,0x87, +0x6e,0xb4,0x92,0x0d,0x59,0xde,0xfc,0xa6,0xc4,0x22,0x1f,0x26,0x0b,0x6d,0xba,0x39,0x59,0x60,0x43,0xb9, +0xf7,0x21,0x57,0xea,0x1d,0x96,0xae,0x7a,0x52,0x63,0xe6,0x8c,0xdf,0x4d,0x0d,0x9a,0xdb,0xd8,0x5c,0x22, +0x5e,0xb2,0xbd,0x65,0x90,0x04,0x88,0x00,0xf6,0xf7,0xf3,0x8f,0x4f,0x35,0xee,0x1d,0x7f,0xa7,0x91,0x76, +0x55,0xe0,0x73,0x18,0xfb,0xf8,0xde,0xe3,0xc4,0x86,0xcf,0x59,0x4c,0xe5,0x5f,0xae,0x43,0x6e,0x2f,0x78, +0xee,0x85,0xb4,0x64,0x9b,0x13,0xdc,0x14,0xe5,0x67,0x39,0xc8,0xe6,0x49,0x5f,0xc5,0xed,0xb8,0x29,0xe8, +0xf6,0x96,0x89,0x52,0x0e,0xd5,0x7b,0x58,0x31,0x43,0x4d,0x87,0x05,0xc4,0xc4,0xdf,0x83,0xa9,0x81,0xfe, +0x01,0xad,0x6b,0xe6,0x8c,0xc5,0x37,0xd0,0x65,0x44,0xd6,0x07,0xdb,0x22,0xc3,0xf0,0x0a,0x0b,0x66,0x9e, +0x21,0x20,0xa5,0x85,0x40,0xe8,0x98,0x8e,0xaf,0xf1,0x14,0x77,0xc2,0xe1,0x92,0x74,0x66,0x96,0x81,0xdb, +0x44,0x62,0x40,0xc1,0x3b,0xb1,0x76,0x4e,0x7f,0xd2,0xa1,0x1a,0x1d,0xa9,0x03,0x78,0x82,0x4f,0x41,0x5e, +0x88,0x70,0xf3,0x63,0xc6,0xc7,0x0d,0x05,0xee,0x57,0x8e,0x39,0xe7,0x52,0x0e,0xe1,0xeb,0xc5,0x33,0x59, +0x34,0x09,0x14,0xaf,0x47,0xae,0x55,0x05,0xe5,0x0b,0xe4,0xc3,0x92,0xe3,0x59,0xbf,0x81,0x87,0xe2,0x18, +0x42,0x0c,0x0f,0xc5,0x19,0xdd,0x80,0xa5,0xbb,0xd3,0x04,0xae,0x8c,0xd7,0x71,0xcd,0x06,0xc0,0x9c,0x96, +0x54,0x0d,0x0d,0x40,0x4e,0x08,0xc0,0x89,0xe7,0x16,0x3a,0x78,0x38,0xb1,0xe0,0xc6,0x03,0xa2,0x63,0x20, +0xeb,0xba,0x4d,0xf5,0x17,0x96,0xeb,0xd8,0x97,0x73,0x83,0x82,0xc2,0x53,0x03,0xa6,0xa0,0x85,0x4c,0x54, +0x8c,0x40,0x21,0x63,0xc0,0xa2,0x34,0xbc,0x86,0x78,0x05,0xb2,0xd2,0xb9,0x29,0xdd,0x19,0xe6,0x1c,0xb4, +0x2a,0x90,0xe3,0xd0,0x3e,0xa5,0x69,0x6e,0x34,0x29,0x40,0xbb,0xa4,0x47,0x31,0xd6,0x25,0x07,0x7d,0xd8, +0xab,0x6a,0x12,0xc1,0x53,0x91,0xaa,0x6e,0xa8,0xce,0x2b,0x59,0xe1,0x79,0xeb,0xa8,0xd3,0x3a,0x7f,0x37, +0x06,0x43,0xc7,0xd0,0x3b,0x6f,0xfc,0x2d,0xd8,0xcb,0x39,0x2e,0xe1,0x93,0x0e,0x89,0x37,0xf2,0xf6,0xfd, +0xe9,0x18,0x5d,0xd9,0xe8,0xaa,0xbe,0x1a,0x3a,0xe5,0xdc,0x38,0x09,0xfe,0x79,0x8c,0x6c,0x09,0x0c,0x45, +0x40,0x33,0x8d,0x07,0x23,0x00,0xa3,0x2e,0x1f,0xb2,0xdf,0xcb,0xf1,0x29,0x06,0x44,0xbc,0x06,0x6d,0x86, +0x39,0x9c,0xd9,0xf6,0xca,0x66,0x0f,0xac,0xbc,0x09,0xd8,0x5d,0x03,0xa0,0xf3,0x89,0xe9,0xa8,0x3c,0xf7, +0x8b,0x94,0xec,0x98,0xbb,0x17,0xbd,0x5e,0xea,0xdd,0x50,0x49,0xc7,0xb5,0xa2,0x58,0xfb,0xa5,0x39,0xd1, +0x91,0x03,0x8f,0xb5,0x1e,0x84,0x5d,0x03,0x91,0x1f,0xd2,0xf6,0x7a,0xa4,0xc0,0x8a,0xaa,0x6e,0x88,0x27, +0x56,0x7e,0x93,0x8d,0xc6,0xc3,0x4f,0x41,0xfb,0xc2,0x84,0x54,0x3c,0x50,0xc1,0x37,0x29,0xa2,0xfd,0xc9, +0xb1,0xa8,0xb3,0xf1,0xa4,0x02,0x3b,0x53,0xda,0xd7,0x9c,0xfe,0x6c,0x70,0xa7,0x3a,0x59,0xd3,0x1a,0x09, +0xc7,0x4a,0x29,0x08,0x52,0xef,0x24,0x81,0x7a,0xae,0x99,0x1e,0x4f,0x2d,0x81,0x98,0xf1,0xda,0x2a,0xd2, +0x22,0x90,0x15,0x31,0x20,0x36,0xb6,0xc9,0xcb,0x97,0x05,0xc7,0xaf,0x75,0xcd,0x12,0x2f,0x06,0xfa,0xee, +0xd2,0xb7,0xab,0x74,0xfe,0x06,0x29,0x19,0x4c,0x5a,0xc9,0x5b,0x28,0x24,0x3e,0xef,0xb2,0x37,0x30,0x00, +0x35,0x74,0xa6,0xf9,0x57,0xfd,0xc4,0x34,0x1b,0x5a,0x60,0xcd,0x2c,0x07,0x66,0xd1,0x3d,0x8d,0x01,0x0c, +0x8f,0xc6,0x85,0x8b,0x2b,0x06,0xb4,0x24,0x05,0x9d,0xde,0x68,0x55,0xd1,0x5f,0x2b,0xe9,0x12,0x2b,0xa1, +0xc8,0x9f,0x22,0x32,0x48,0x1c,0xe4,0xe5,0xeb,0xf1,0xf3,0x9a,0x9e,0x03,0x5d,0xba,0xe0,0x7b,0x3f,0x4d, +0x26,0x1f,0xc3,0x25,0x7c,0xdb,0x41,0xf4,0x00,0x45,0xf0,0x4c,0x0c,0x3f,0x05,0x43,0x0f,0xc5,0x80,0x62, +0x2b,0x6b,0x3a,0x91,0x59,0xc8,0x3c,0x4e,0xce,0x1b,0x9c,0x5f,0x70,0xe5,0xd6,0x92,0x48,0x22,0x4b,0x14, +0x45,0x3a,0x1e,0x35,0xb7,0xa8,0xb9,0x48,0xf4,0xd5,0x01,0xde,0x3a,0x8f,0x51,0xc6,0x8a,0x49,0x03,0xda, +0x5e,0x75,0x76,0x3d,0x37,0xd7,0xee,0xb4,0xdc,0xf9,0xdc,0xec,0x39,0xea,0x94,0x26,0x09,0xb2,0xc3,0xe7, +0xd9,0xb9,0xce,0xe2,0xcc,0xcd,0x0c,0xc6,0x82,0xbb,0xa7,0x49,0xd8,0x7b,0x3c,0xdf,0x9e,0x7d,0x7f,0xd9, +0x0e,0x25,0x79,0xf2,0x3f,0xe2,0xd0,0x0c,0x66,0x04,0xc4,0x96,0xf8,0x6f,0xde,0xa8,0x28,0x4b,0x58,0x79, +0x4e,0xf5,0xb8,0x0a,0x7c,0x72,0xa2,0xfa,0x2b,0x81,0x1b,0x34,0xc1,0x4d,0x9c,0x5b,0x95,0x26,0xbe,0x61, +0xce,0x54,0x8c,0x77,0x1e,0xe0,0x39,0x1a,0x16,0xb6,0x81,0xf2,0x00,0xb5,0x8e,0x8a,0x60,0xff,0x93,0x30, +0x36,0x9e,0x1e,0x10,0x23,0x09,0xfc,0xa1,0xe6,0x8e,0xb5,0x10,0x7d,0x79,0xa0,0x81,0xd0,0x74,0xfd,0x20, +0x82,0x6c,0x6d,0x64,0x90,0x58,0x49,0x8b,0x9c,0xe8,0x58,0x39,0x23,0x1c,0x0b,0x74,0x7a,0x39,0xf0,0x69, +0x65,0x49,0x83,0x73,0xe4,0x53,0x78,0x3f,0xb7,0x00,0xc0,0x19,0x5b,0x0e,0x9e,0x44,0xf9,0xeb,0x75,0x4e, +0x9e,0xe5,0x81,0x46,0x1c,0xe2,0xe4,0x71,0xf9,0x3e,0x68,0xb6,0x46,0xdc,0x23,0x88,0x50,0x3c,0x9b,0x4d, +0xbd,0x9b,0x01,0x04,0xc2,0x4f,0x37,0x17,0x24,0x8d,0x1d,0xc6,0xb0,0x23,0x8c,0x69,0x14,0x51,0xcb,0xd7, +0x5d,0x00,0xc5,0x42,0x8e,0x41,0xb0,0x86,0x0c,0xdc,0xfa,0xa2,0xc7,0x9e,0x74,0x34,0x82,0x24,0x7b,0x8c, +0xc6,0x87,0xbb,0x81,0x8d,0x63,0xc8,0x4a,0x24,0x0c,0x93,0xa7,0x5d,0x4f,0x4b,0xbe,0xb1,0x87,0xc7,0x86, +0x95,0xdd,0xf1,0x31,0xdb,0x88,0x34,0x46,0x87,0x06,0x8f,0x0b,0x62,0xe1,0x60,0xe6,0x2b,0x3e,0xf2,0xac, +0xc4,0x6e,0x1b,0xa6,0x7c,0x89,0xc5,0x7c,0x09,0x87,0x18,0xf8,0x6c,0x58,0x3f,0x3c,0x6a,0x5f,0xc2,0xdc, +0x8d,0x50,0x8b,0x79,0xb7,0xc9,0x2d,0x73,0x82,0xbb,0x18,0x40,0x4a,0x75,0xf2,0x14,0xf3,0x51,0xcb,0x6e, +0x43,0xf4,0x86,0x65,0x89,0x1e,0x80,0x0f,0x18,0x52,0xab,0xa3,0xfb,0x45,0x89,0xe2,0x66,0x50,0x0e,0x26, +0x55,0xa3,0x04,0x6f,0xce,0x3d,0xa9,0xf2,0x62,0xaf,0x94,0x4e,0x58,0xe2,0xe2,0x15,0x3c,0x48,0xab,0x4f, +0x23,0x94,0xdf,0x2c,0x42,0x5f,0x46,0xee,0xe5,0xe5,0x16,0x75,0x4f,0x93,0x7a,0x6f,0x02,0xc7,0x33,0x19, +0x4b,0xe8,0x78,0x6b,0x5a,0xe0,0x11,0xd8,0x18,0xa7,0x91,0x20,0x30,0x7d,0x70,0x5a,0xe6,0x72,0xf0,0xb2, +0x78,0xe3,0x3e,0x8f,0xc2,0x89,0xee,0xc5,0x44,0x75,0xcb,0x38,0xb3,0x97,0xb8,0x2a,0x36,0xd2,0xd4,0x4d, +0x68,0xc5,0x38,0x34,0x31,0x1f,0xdd,0x30,0x40,0xb0,0x23,0x79,0x6c,0x3a,0x46,0x83,0x2b,0xd4,0x37,0x04, +0x26,0xa3,0x70,0x00,0xfb,0x55,0x89,0x37,0x29,0xdc,0x59,0x4e,0xd9,0x5f,0x81,0x95,0x37,0x35,0x04,0x16, +0x7f,0xfa,0x25,0x68,0xb1,0x6c,0x6b,0x31,0x90,0xa2,0x09,0xd5,0x78,0xd2,0x18,0x57,0x7e,0x01,0xa9,0xf1, +0x45,0x48,0xf6,0x69,0x41,0xcd,0xbb,0x13,0xf6,0x45,0x42,0xc7,0xf0,0x10,0x9c,0x51,0x81,0xf9,0x42,0x66, +0x56,0x16,0x3a,0xca,0x22,0xb9,0x1f,0x34,0x19,0x3b,0xa1,0xf1,0xfd,0x34,0x42,0xff,0xf7,0xa7,0x3a,0x65, +0x8e,0x12,0x3a,0xe7,0x77,0x12,0x5f,0x08,0xde,0x88,0x70,0xea,0x52,0x7e,0x85,0xc5,0xbf,0xd2,0xa0,0x09, +0x88,0xb6,0x19,0xfc,0x97,0x19,0x07,0xc1,0xed,0x15,0xe1,0x1c,0x34,0xb3,0xb6,0xa3,0xcd,0xe9,0x62,0x21, +0x21,0x4d,0x75,0x79,0xa0,0x8e,0x4d,0x1d,0xe8,0xa2,0x9e,0x68,0x9f,0x22,0x27,0x16,0x8c,0x60,0x82,0x6a, +0x4a,0x02,0xbf,0xbe,0x77,0x44,0xe6,0x73,0x1a,0xde,0x3b,0x5a,0x79,0x36,0x74,0x6f,0x29,0x66,0x2e,0x60, +0x12,0xf1,0xa0,0xe7,0x5a,0xad,0xf4,0x4e,0xa3,0xbd,0xb0,0xdf,0x0e,0x7b,0xac,0x1b,0x3b,0xda,0x52,0x00, +0xf2,0x47,0x2a,0xba,0x43,0x89,0x52,0x8e,0x82,0xd5,0x30,0x49,0xda,0xe2,0xdf,0xb4,0x89,0x47,0x11,0x11, +0xbd,0x27,0xb9,0x3a,0x32,0x64,0x7f,0x3e,0xd2,0xc8,0x4c,0xa9,0xe5,0x17,0xa7,0x39,0x25,0x1b,0x9f,0xbf, +0x6f,0x9a,0x4d,0x5d,0x43,0xc6,0x8e,0x7a,0xc4,0xdb,0xe6,0x49,0x1b,0x68,0xef,0xc4,0xa2,0x72,0x15,0x9f, +0xd4,0x6f,0x8e,0xe1,0xc1,0xd4,0xf2,0x92,0x3a,0x99,0x3a,0x0b,0x1e,0xd2,0x4c,0xf7,0xf7,0x09,0x53,0xa6, +0xa7,0xe0,0x1d,0x15,0x3d,0xd5,0x1c,0x18,0x7e,0xe9,0x07,0x94,0x86,0x3b,0xf2,0xec,0x70,0x2a,0xf3,0x7d, +0x61,0x2a,0xa7,0x77,0x72,0x54,0x11,0x44,0x9c,0x99,0xbd,0xe0,0xb1,0x88,0x95,0x71,0x00,0x75,0x7d,0x20, +0x47,0xf3,0x2e,0x74,0x2a,0x22,0xbf,0x29,0x35,0x1c,0x72,0xee,0x07,0xe6,0x35,0x88,0x3d,0xa3,0x00,0x16, +0x46,0x81,0x94,0xa4,0x81,0x04,0xcb,0x8a,0x02,0xd6,0x8a,0x9b,0x52,0xeb,0x51,0x1e,0xd0,0xd3,0x46,0x62, +0x49,0xf7,0x34,0xc3,0x7b,0xc0,0xa6,0xab,0xe2,0x3e,0xc5,0xbb,0x4a,0x26,0xda,0xa4,0x0f,0x6a,0xeb,0xef, +0x2a,0x98,0x0e,0x55,0x75,0x2a,0x35,0x74,0x72,0x1a,0xe4,0x35,0x2b,0xcb,0x7f,0x2e,0xdd,0x1b,0x30,0xb6, +0xc7,0xce,0xa5,0x17,0xf8,0x69,0xf4,0x52,0xd5,0x7f,0x1a,0xbd,0x18,0x7f,0x74,0x20,0x74,0x88,0x07,0x9a, +0xb4,0x6d,0xfd,0x35,0xc1,0x9a,0x24,0xfe,0xc9,0xdd,0x3e,0x40,0x3a,0x48,0xf6,0x7a,0x47,0xef,0xe7,0x8c, +0x67,0x42,0x01,0xda,0xf4,0xcd,0x69,0xe3,0x25,0xb4,0xfc,0xda,0xcc,0xa0,0x3b,0x69,0x17,0x4c,0x12,0xd5, +0x9a,0x5a,0xc4,0xfe,0x5a,0x11,0x59,0x25,0xff,0x12,0xdc,0x3d,0xf5,0x33,0x40,0x21,0xcf,0x44,0x65,0x23, +0xa4,0xff,0xfc,0xde,0x7d,0xc4,0xa1,0x37,0x1d,0x37,0x24,0x03,0xa7,0x39,0x50,0x2d,0x76,0x9c,0xd4,0x3d, +0x6a,0x48,0x5d,0xf7,0xee,0xd9,0x74,0x34,0xd1,0x70,0xf7,0x50,0x73,0xd8,0xc5,0x02,0x21,0x97,0xda,0x7c, +0x3e,0xcf,0x8e,0xac,0x01,0xf1,0xa9,0x09,0xfd,0xd8,0xd9,0xb1,0x33,0x89,0xce,0x34,0xf9,0x52,0x2d,0x9e, +0x22,0x12,0x06,0x4a,0xfb,0x34,0xa7,0xaa,0x01,0x08,0x94,0x48,0xae,0x02,0x19,0x2c,0x6d,0x63,0xf6,0x28, +0x01,0x9d,0x60,0xae,0x09,0x00,0x31,0x5e,0x2e,0x41,0x32,0x48,0x4e,0x2d,0xf5,0xf3,0x3f,0xdc,0xd2,0xf6, +0x9f,0x8c,0x7b,0x67,0xb8,0x35,0xcf,0x33,0x5f,0x60,0x98,0xd4,0x26,0x3e,0x60,0x24,0x08,0x3e,0x90,0x2f, +0x52,0x4e,0x51,0x1f,0x72,0xc6,0x0c,0x24,0x40,0x91,0x9c,0x77,0x75,0x1f,0x7f,0xba,0x6d,0x3e,0x56,0xf2, +0x1b,0x52,0x46,0x04,0x67,0xc6,0x30,0xc1,0x24,0x97,0x32,0xa0,0xe6,0x93,0x0a,0xb6,0xa3,0x20,0x63,0xc2, +0xa1,0xbc,0x23,0xef,0xe8,0x62,0x2e,0x80,0x73,0x3c,0x89,0xfb,0x56,0x72,0x24,0x95,0xe3,0x44,0x72,0x69, +0x95,0x7c,0x26,0xbf,0x46,0x82,0x16,0xc9,0x66,0x80,0x83,0xf0,0x12,0x16,0x50,0xaf,0x1e,0xf5,0xf0,0xfd, +0xe0,0x29,0x49,0x9e,0x89,0x85,0xf4,0x63,0x22,0x0f,0x9e,0x45,0x55,0xc8,0x16,0x63,0x9e,0xf1,0xb5,0x42, +0xb0,0x2f,0xb8,0x98,0x59,0x7d,0x52,0xfd,0xb8,0xd1,0xe4,0x5a,0x39,0x21,0xe5,0x8c,0x6b,0xa3,0x21,0xa6, +0x71,0x2c,0x04,0xc3,0xe4,0xe0,0x5a,0xee,0x63,0x8e,0xec,0x51,0x70,0x83,0xad,0x87,0x87,0x24,0x65,0x29, +0x4f,0x34,0x7b,0xa9,0x80,0xa1,0xd5,0xde,0x49,0x67,0xe2,0x10,0xc2,0x29,0x91,0x99,0xe0,0x79,0x6a,0x6a, +0xab,0x69,0x28,0x18,0xc9,0xa9,0xc1,0xe1,0x90,0xe6,0x92,0xc0,0x95,0x43,0xe2,0x0e,0x6d,0xda,0x5e,0x51, +0x12,0xcf,0x45,0xdb,0xae,0x05,0x4d,0x0e,0x61,0x67,0x41,0xa2,0x91,0x59,0x49,0x1f,0xbd,0x6d,0x75,0xd6, +0x34,0x28,0x1f,0x49,0x92,0x6d,0x85,0x24,0x7b,0x20,0xe9,0x3a,0x52,0xc4,0x1b,0xee,0x9e,0x9f,0x27,0xee, +0x75,0x12,0xb3,0x2f,0x1c,0x3c,0x14,0x32,0x6d,0xe4,0x09,0x0c,0x7c,0x6e,0x91,0xc8,0xe4,0xd4,0x71,0x50, +0x1a,0xf5,0x83,0x10,0x72,0x84,0x93,0x5c,0xc2,0x85,0x23,0x04,0x2a,0x69,0x6a,0x04,0xe1,0xfc,0x59,0x04, +0x02,0x85,0x80,0x21,0x25,0x3e,0x76,0xbb,0x7b,0x7b,0xdb,0xdb,0xcc,0xf0,0x40,0x70,0x25,0xba,0xdd,0x6e, +0x7a,0x6f,0x6f,0x2f,0xbd,0x8d,0xaf,0x93,0xf9,0x4c,0xb1,0x52,0x91,0x54,0x79,0x30,0xa6,0x81,0x95,0x62, +0x52,0xa5,0xb7,0x0c,0x7d,0x6c,0x3f,0xbc,0x3c,0xf4,0x31,0x0c,0x05,0x7a,0x06,0xd9,0x99,0x4a,0x4b,0xde, +0x19,0x24,0x7c,0x57,0xc8,0xe7,0x69,0x1c,0x25,0x1d,0x30,0x7f,0x43,0x43,0x28,0xd2,0xd0,0x0a,0x1e,0xa9, +0xb0,0x55,0x8c,0x89,0x70,0x54,0xe5,0x5d,0x86,0xec,0x1d,0x94,0x8a,0x1e,0x39,0xf9,0x8e,0x9f,0x19,0xb4, +0xde,0x07,0x50,0xec,0x0c,0x48,0x78,0x2d,0x38,0x42,0x84,0x07,0xd9,0xcf,0xe5,0x3e,0x4a,0x2f,0xfc,0x1d, +0x8f,0x0f,0xf1,0xb1,0x44,0xd1,0x31,0x2f,0x13,0x41,0xc8,0x04,0xb6,0x74,0x07,0xa0,0xcc,0xcf,0xa3,0x5c, +0x35,0x59,0xbc,0xf7,0xfb,0xcc,0x6c,0xa2,0x59,0xaa,0x12,0x3d,0x2b,0xbc,0x94,0x12,0x35,0x7d,0xaa,0xc4, +0xe0,0x74,0x48,0xde,0x1c,0xcb,0x8f,0xc9,0x98,0x76,0x79,0xca,0x11,0xde,0x68,0x70,0x9b,0x82,0x9d,0xe6, +0x40,0x0e,0xe2,0x67,0x1a,0x34,0x6a,0x67,0xa8,0xce,0x51,0x77,0x9b,0x91,0xad,0xad,0x8b,0xa9,0xc9,0x1c, +0x3c,0x8a,0x66,0x8b,0x3e,0x61,0xf7,0x10,0x25,0x9e,0x2c,0xa0,0xe1,0x1b,0x79,0xc6,0xd0,0x4e,0xc8,0xd2, +0x62,0x41,0x5d,0xee,0x39,0x90,0xa4,0xa2,0x4e,0x59,0x3e,0x07,0x66,0xab,0x90,0x24,0x8b,0x29,0xf4,0x3a, +0x6f,0x0a,0x11,0xc9,0xd4,0xde,0x89,0x8e,0xff,0x75,0x73,0x50,0xba,0xae,0x75,0xd7,0xcb,0xec,0x66,0xdc, +0x0a,0x7d,0xc2,0xf4,0x9e,0xa1,0x97,0x24,0x45,0xad,0xfb,0x56,0x74,0xdd,0x03,0x69,0x24,0x79,0x29,0x9a, +0xa0,0x94,0x3d,0xa4,0xbc,0xda,0x33,0x96,0x56,0xd1,0xf5,0x7f,0x03,0x76,0x58,0xaa,0x0e,0xa1,0xd4,0xd0, +0xcb,0x78,0x18,0x35,0x99,0x29,0xc9,0x62,0x64,0xcf,0x30,0x21,0xce,0x7b,0x07,0x2b,0xa3,0x0e,0x7c,0xd0, +0x3b,0xe9,0x70,0xe9,0xb0,0xa2,0xe2,0x5b,0x5a,0x55,0xf1,0x3d,0xb0,0x4d,0x9f,0x41,0x52,0x5a,0x66,0x15, +0x87,0x55,0xeb,0xd7,0x09,0x6b,0x0c,0x07,0x63,0xee,0x45,0x60,0x2d,0xea,0xe3,0x40,0x9d,0xfa,0x72,0x1f, +0x51,0x7a,0x4f,0xb9,0xe4,0xa8,0x19,0x03,0x7d,0xa6,0xd0,0x10,0x20,0xd9,0x07,0x06,0x10,0x7b,0x00,0x64, +0x6f,0xfd,0x23,0x16,0xa1,0xf6,0x64,0x4a,0x10,0xe3,0x93,0xd3,0x36,0x4a,0xc0,0x99,0xc1,0x36,0x52,0xa2, +0x17,0x1a,0xe6,0xad,0xf3,0x70,0x4b,0xd6,0x10,0x59,0x02,0xc7,0x7c,0xb0,0x7c,0x44,0xf7,0x33,0x75,0xc6, +0x62,0x25,0x49,0xbb,0x34,0x4f,0x52,0x01,0xb3,0x5a,0x61,0xa0,0xa5,0xb0,0xc3,0xe8,0xce,0x73,0xc0,0x0f, +0xb9,0x4f,0x54,0xd0,0x53,0x71,0x2e,0xe2,0x36,0x0c,0x9b,0x0f,0xe9,0xad,0x37,0xeb,0xdb,0x03,0x4b,0x23, +0xc6,0xac,0xcd,0x33,0x6b,0xb0,0x8e,0x15,0x14,0xbb,0xa8,0x0b,0xd0,0x6a,0x64,0x88,0xbf,0x7e,0x5a,0x85, +0xde,0xc5,0x11,0xe3,0x8c,0x26,0xf7,0x6d,0x84,0x7c,0xd1,0x44,0xf0,0x62,0x0a,0xc6,0x24,0xdb,0xa7,0x90, +0x30,0xe8,0x55,0x3a,0xb5,0x4c,0xf4,0x16,0xe9,0x29,0xa6,0xdd,0xb3,0x03,0x07,0x98,0xf6,0x2d,0x90,0xb9, +0x0f,0x26,0x71,0x87,0x66,0xaa,0x18,0x23,0x46,0x82,0x47,0x29,0x8f,0xa6,0x06,0x02,0x49,0x86,0x83,0xcc, +0x9a,0x94,0x22,0x79,0x58,0x48,0x36,0x9a,0xdf,0xed,0x93,0x66,0x07,0x71,0x78,0xee,0xd7,0x73,0x2d,0x94, +0xfa,0x6f,0x25,0x6d,0x18,0xb3,0xbc,0xbe,0x1c,0xfc,0xf1,0x8b,0xac,0x81,0xe4,0xc1,0x8c,0x0a,0xed,0x5a, +0x6d,0x88,0xce,0x74,0xb9,0x23,0xba,0x1c,0xbf,0xed,0xbb,0xf2,0x10,0x09,0x69,0x7c,0x05,0xd2,0x7d,0x93, +0x97,0x09,0x86,0x78,0x32,0x1c,0x92,0x64,0x40,0xc2,0xb0,0x08,0x83,0x7a,0x27,0x47,0x0f,0xdb,0x82,0xd8, +0xe9,0xbd,0xdf,0x0e,0x04,0x0c,0x1a,0x9a,0x0b,0xb8,0x0f,0xde,0xb0,0x34,0xbd,0xbb,0x4a,0xe2,0xd6,0xa7, +0x77,0x87,0x49,0x68,0x91,0x52,0xf5,0xd3,0x75,0x99,0xf0,0x90,0xcb,0x1d,0xd6,0xa6,0x6b,0x81,0xff,0x55, +0xb1,0x0b,0x1c,0xee,0x6c,0x3c,0xef,0x06,0x7c,0x65,0xf0,0xf4,0x5b,0x77,0x7f,0x5c,0x00,0xb6,0x3b,0x6f, +0x37,0x95,0x61,0x90,0xa4,0x6e,0xdb,0x58,0x6a,0x2b,0xbf,0xd7,0x50,0x4f,0x2e,0xce,0x7f,0x7d,0xac,0x27, +0xb3,0xc0,0x26,0x4f,0xf8,0xdc,0x66,0xb4,0x12,0xc1,0x48,0xa5,0x47,0xaf,0xfb,0x61,0xe9,0xa5,0xf0,0xa6, +0x06,0x3c,0x76,0x67,0x2f,0x27,0xa5,0x28,0x6a,0x60,0x27,0x39,0x55,0x74,0x98,0x5f,0x87,0xd2,0x2d,0x8a, +0xa9,0xcb,0x6c,0xaa,0xff,0x3b,0x18,0x23,0x8e,0xdb,0x18,0xc0,0x85,0x0c,0x27,0x3a,0xb9,0x0c,0xcc,0xb2, +0x1b,0x7d,0x65,0x06,0x7c,0x39,0x0e,0xdf,0x82,0xf1,0x86,0xe5,0x3c,0x96,0xe3,0x17,0xf2,0xfe,0xc9,0x71, +0x4b,0x6a,0x80,0x86,0xda,0x3b,0x6f,0x74,0xbc,0xfd,0x5f,0xdc,0x73,0x16,0x93,0xad,0xf2,0x55,0xbc,0x8f, +0x81,0xd3,0x0d,0xdb,0xd6,0xf0,0xec,0x92,0xf3,0xda,0x45,0xbc,0x83,0xda,0x3f,0x95,0x19,0xbf,0xba,0x8a, +0x85,0xa6,0xde,0x67,0xf9,0x8e,0x23,0x53,0x61,0xad,0x1a,0x15,0xf8,0x7b,0x77,0x74,0xfc,0x50,0x27,0x9b, +0x63,0x19,0x85,0x01,0x00,0x4d,0x2d,0x62,0xe2,0x65,0x25,0xc6,0xd9,0x88,0x82,0x28,0x9c,0x1e,0x13,0x94, +0x5c,0x17,0x8d,0x0d,0x12,0x4c,0x68,0xea,0x2a,0x0b,0x17,0xa2,0x9e,0x02,0x99,0x98,0x89,0xa8,0xf4,0xa0, +0x81,0x4a,0xb6,0xf1,0x27,0xe4,0x17,0x3f,0x71,0xc3,0x69,0xdd,0x3b,0xd7,0x0f,0x7a,0x67,0x60,0x74,0xe8, +0x18,0x99,0xca,0x96,0x2d,0x64,0xc3,0x79,0x27,0x7b,0xe4,0xd4,0x52,0x87,0xda,0xe3,0x5b,0xf6,0xed,0xc6, +0x32,0xad,0xbb,0x34,0x8e,0xdc,0xc7,0x34,0x9a,0xfe,0xbc,0x4b,0xbf,0x4c,0xaf,0xc1,0xf6,0xe2,0x03,0xb4, +0xcb,0x21,0x53,0xea,0xc5,0xb0,0x25,0xf7,0x6a,0x7b,0x37,0x42,0x39,0x53,0x02,0x46,0x35,0x16,0xe3,0x95, +0x7e,0xdf,0x79,0x1e,0x3c,0xc4,0xeb,0x86,0xa1,0xb1,0x90,0x69,0x31,0x99,0x32,0x5e,0xe7,0x14,0xc3,0x40, +0xa4,0x84,0x4f,0x3f,0xcf,0x2e,0xe4,0x09,0x70,0x2e,0x8c,0xde,0x24,0x1e,0x40,0xef,0x9c,0x30,0xaa,0xe5, +0x94,0xb1,0xd2,0xd0,0xb9,0x24,0xf5,0x02,0xa6,0x29,0xa5,0xa6,0x25,0x7a,0xa5,0x5b,0x0a,0x4c,0x33,0xd4, +0x71,0x17,0x92,0xfa,0x08,0x1d,0x80,0x59,0xa4,0x98,0xc8,0x97,0x25,0x05,0xed,0x63,0xba,0x0f,0xa0,0x61, +0x69,0x6d,0x32,0x25,0xf9,0x33,0xa7,0x0b,0xae,0xae,0xe0,0xed,0x4b,0x76,0xa0,0x33,0xd6,0x17,0xc9,0x58, +0x88,0x19,0x3f,0x79,0xe3,0x53,0x4b,0xb5,0x23,0xf9,0xf9,0xdb,0x43,0xba,0x56,0xb1,0xa8,0x89,0x87,0x08, +0xb9,0x3a,0xbf,0x3d,0xda,0xa3,0x6e,0x2f,0x39,0xd9,0xf2,0x5c,0xec,0x2b,0x0a,0x0c,0xf1,0x56,0xb5,0x38, +0xc1,0x21,0xde,0xb6,0xc6,0x93,0xf8,0xa9,0x34,0xf6,0xc7,0x62,0xe8,0xb0,0xc9,0xad,0x66,0x88,0xfa,0x73, +0xb7,0xc1,0xbf,0x5c,0xef,0xf3,0x86,0xf2,0x7e,0xe7,0xa3,0xec,0xe9,0xdd,0x6f,0x55,0xfd,0xbc,0x31,0xc7, +0x1c,0x30,0x5c,0x49,0x9f,0xc2,0x61,0x92,0x03,0x88,0x2f,0x2a,0x7e,0xbf,0x47,0x71,0x6a,0x19,0x3c,0xb3, +0x36,0xc1,0xb2,0x9b,0x75,0x9b,0x6d,0x21,0xa0,0x57,0x9c,0x13,0x4c,0x1a,0x54,0xab,0x5f,0xd4,0xab,0x70, +0xb6,0x31,0x8a,0x15,0x7e,0x7a,0x1f,0xcd,0x8a,0xde,0x92,0x18,0xb3,0x42,0xbc,0x9b,0x10,0x57,0xb5,0x91, +0xda,0xc6,0x50,0x9f,0x3d,0xee,0x6c,0x73,0x1b,0x49,0xa2,0xe1,0x31,0x24,0xbf,0x38,0x86,0x31,0x50,0xb8, +0xb1,0xb8,0x0e,0x4f,0x1a,0xbb,0xd5,0xbc,0x26,0xff,0xdb,0x22,0xe8,0x78,0xdf,0xef,0xb6,0x98,0x00,0xa4, +0x11,0x6b,0xa9,0xfc,0x6e,0x6b,0x09,0x6f,0x55,0x78,0xcb,0xea,0x81,0x71,0xed,0x93,0xfb,0x27,0x7e,0x9f, +0xc7,0xe2,0x55,0xa1,0x70,0xfe,0xa1,0x2d,0x8b,0x84,0x2b,0xc7,0xab,0xa6,0xab,0xab,0xdb,0xb0,0x2e,0xfb, +0x24,0x5d,0xc6,0x9b,0x86,0xc7,0xab,0xc7,0x0e,0xf1,0x1d,0xe2,0xf3,0x30,0xbc,0x2e,0xe2,0xba,0x8c,0x55, +0x87,0xc8,0xab,0xc7,0x0e,0xb1,0xfc,0x9b,0xa2,0xd2,0x5e,0x1d,0x77,0x17,0xc0,0xfc,0x0a,0x61,0x77,0xe5, +0xca,0xf2,0xb1,0xbf,0x25,0xf2,0xda,0xbd,0x7b,0x37,0x86,0xfb,0xd1,0xbb,0x75,0xa5,0xe6,0x49,0x67,0xb7, +0xbd,0x77,0x11,0xc8,0x39,0x24,0x86,0x17,0x2b,0x78,0x5e,0x5a,0xeb,0x93,0x88,0x34,0xd1,0x2f,0xcb,0x7a, +0xf8,0xeb,0x14,0x86,0x2e,0xcc,0x86,0x66,0xf5,0x78,0x90,0xf5,0x37,0x39,0x11,0x6d,0xc3,0xc6,0x46,0x42, +0xc1,0x69,0xd5,0xc4,0xe7,0x2a,0xdf,0xea,0x89,0x0d,0x4b,0x03,0x8e,0x57,0xc8,0xbf,0x58,0x0a,0x0c,0x97, +0x42,0xe5,0xa5,0x52,0xa8,0x89,0x94,0x5e,0x6c,0xab,0x8a,0x3d,0xb2,0x4d,0xbb,0xf8,0x96,0xa0,0x50,0x85, +0xef,0xec,0xfd,0xcd,0xd2,0xf4,0xf7,0x28,0x6a,0x50,0x5c,0x72,0xb4,0xb9,0xc9,0xb6,0x2c,0x7a,0xfb,0x3b, +0x3d,0x6f,0x65,0xab,0xee,0xa6,0x8a,0x9b,0x75,0x82,0x64,0x13,0x02,0xa1,0x8b,0xf9,0xe5,0xdd,0x20,0x22, +0xba,0xef,0xc8,0xcf,0x68,0x91,0x9c,0x16,0xa4,0x20,0x7a,0x9e,0x26,0x13,0x20,0x2f,0x95,0x6f,0x9d,0x6b, +0xb6,0xe4,0xa2,0xf4,0xfd,0x72,0x05,0xe1,0x0e,0x2b,0xd9,0x4f,0x7d,0x83,0x78,0x15,0x48,0x70,0x1a,0x95, +0x83,0x27,0x18,0x79,0x47,0x23,0xed,0xdc,0x1b,0x60,0xf8,0xfd,0x2f,0x7f,0x8f,0xbc,0x74,0x02,0x6a,0xbd, +0xa8,0x54,0x8e,0x53,0x9a,0x31,0x84,0xa0,0x8e,0x61,0x87,0x26,0x24,0x5a,0x86,0x84,0x40,0x0c,0xdd,0x74, +0x6e,0xad,0x2e,0xa5,0x71,0xc7,0x75,0x06,0xda,0xa3,0x1d,0x64,0x0a,0x14,0xe4,0x64,0x4b,0xf6,0x02,0xbf, +0x07,0x8e,0x20,0xbe,0x88,0xb8,0x50,0x08,0xeb,0x95,0xec,0x80,0x55,0x9a,0xbc,0x4a,0x2d,0x09,0x5e,0x3d, +0xd4,0xc0,0x48,0xa5,0xe5,0xee,0xc4,0x82,0x2f,0xed,0x53,0x04,0x2f,0x17,0xd7,0xe7,0xfc,0xa7,0x3a,0x21, +0x97,0x29,0xae,0xa8,0x06,0xaa,0xd6,0x68,0xb1,0x0c,0x1c,0x2a,0x29,0xf1,0x3e,0xf0,0x38,0x30,0xf1,0x58, +0x8d,0x94,0x3c,0x58,0x09,0x20,0xff,0xef,0xff,0x33,0x46,0x79,0x02,0x60,0x19,0xbf,0x1d,0x2e,0x42,0x10, +0xc5,0xca,0xe6,0x9a,0x10,0x77,0xb1,0x04,0x30,0xce,0x64,0xfa,0x3e,0x50,0x69,0xaa,0xba,0xad,0xcd,0x00, +0x2c,0x9f,0x14,0x75,0xb4,0xd5,0x5c,0x06,0x9b,0x5d,0x79,0x6c,0xa9,0xc6,0x58,0xd5,0x1c,0x56,0x7a,0xf7, +0x2f,0x83,0x4c,0x44,0x86,0x5a,0x91,0x71,0x01,0x74,0x9a,0x6e,0x89,0xf7,0xb8,0xdc,0x2a,0x43,0x2e,0xb5, +0xa2,0xdc,0x2d,0x9f,0x2d,0x78,0xf7,0x5b,0xf9,0xe0,0x5f,0xfb,0x8b,0x83,0xf7,0xa3,0x21,0xe4,0x09,0x19, +0x59,0x51,0x54,0x85,0xef,0x55,0x4f,0x54,0xd9,0x9e,0x59,0xae,0x0c,0x9a,0x8f,0x35,0x30,0xa1,0x27,0xf2, +0x82,0xc6,0x2f,0xc8,0x83,0xc1,0x8c,0x68,0x55,0x0a,0xbd,0x1c,0x6a,0x82,0xee,0x34,0x9a,0xca,0x80,0x1d, +0x3b,0xa6,0xd5,0xd0,0x61,0xdb,0xc7,0x43,0xa0,0x23,0x19,0x73,0xf9,0xfb,0xa5,0xd7,0xb2,0x4b,0x15,0x42, +0x2c,0x83,0x31,0x03,0xf8,0xad,0x39,0xe6,0x32,0x2f,0x7f,0x80,0x92,0x5e,0xc3,0x70,0x2e,0x4d,0xdd,0x01, +0x46,0xff,0x16,0x6d,0x19,0x98,0x3c,0xab,0x1d,0xa7,0xe4,0x57,0x7e,0x4f,0xa0,0xe8,0xb1,0xac,0x19,0xb6, +0xf4,0x40,0xfb,0x76,0x4f,0xcc,0xd9,0x0b,0x20,0xc6,0x09,0x09,0xfb,0xb9,0x7c,0x29,0x05,0x48,0x98,0x59, +0xaf,0xcc,0xa0,0x1f,0xa7,0x34,0xf7,0x0d,0x8b,0x2b,0x78,0x0d,0xe0,0x24,0x80,0x18,0xaf,0x2f,0x00,0x91, +0xbf,0x6a,0xc6,0x82,0xb1,0x18,0x38,0xe6,0xf3,0x7b,0x42,0xc0,0xdb,0x86,0xd4,0xc0,0xd5,0x82,0x12,0xa1, +0x91,0x72,0xd3,0x83,0xa1,0x2f,0x9a,0xef,0x67,0x60,0x35,0xbc,0xad,0x4c,0xb3,0x91,0xb4,0xc9,0x69,0x5c, +0x49,0xd7,0xee,0xf0,0xec,0x4b,0x7f,0xa6,0xf7,0xd3,0xfe,0x10,0x34,0xa2,0xf2,0xa1,0xa3,0xc9,0x55,0x1b, +0x49,0x7c,0xcf,0xdc,0x44,0x97,0xef,0x83,0x90,0x8a,0x2c,0x2d,0x69,0x59,0x35,0x2b,0xd1,0xe0,0xab,0x1c, +0xc7,0x6c,0x20,0x30,0x16,0xf3,0x4a,0xcb,0x6e,0x1c,0x2c,0x4c,0x08,0x23,0x84,0x2c,0x73,0x66,0x28,0x24, +0x8e,0x95,0xf9,0x9a,0x69,0x1b,0x73,0x0d,0x67,0xc1,0x52,0x59,0x79,0x77,0xba,0xfd,0x7e,0xaa,0x78,0xc3, +0x72,0x7a,0x81,0x2a,0x2e,0x63,0xa9,0x22,0x78,0xc6,0xed,0xb7,0x51,0x05,0x4e,0x0a,0x68,0x02,0x56,0x95, +0x44,0x9d,0x8e,0x64,0xbd,0x11,0xe5,0xd1,0x04,0x59,0x00,0x66,0x41,0xa3,0xe9,0x2e,0x47,0x37,0xd2,0x07, +0x94,0x05,0x9b,0x8c,0x0d,0x03,0x77,0x81,0x4f,0x6a,0xba,0xe6,0x2c,0xd2,0x12,0x89,0xa3,0x55,0xe9,0xb1, +0x7b,0x9a,0x18,0xec,0xd7,0xd1,0xf4,0x26,0x4d,0x8b,0xa3,0x8c,0x28,0xa0,0xef,0x88,0xb0,0xd3,0x58,0x84, +0x05,0x4f,0xeb,0xfd,0x36,0x84,0xb9,0x7a,0x6e,0x56,0x6a,0xfa,0x9d,0x01,0xd4,0x0b,0x20,0x09,0x41,0xa3, +0xd1,0x8b,0x3a,0x29,0xac,0x6a,0x1a,0xd2,0xac,0x12,0xcc,0x8f,0x55,0xe6,0x6e,0xc5,0x98,0x74,0x8e,0x7d, +0xba,0xe6,0x18,0x62,0x65,0x01,0xb5,0xff,0x2d,0x88,0x24,0x39,0x83,0x5c,0xa7,0xc7,0x7b,0x66,0xe8,0x07, +0xa4,0x92,0xc6,0x9b,0x5e,0xdb,0x3e,0x7c,0x56,0xfe,0x16,0xb6,0xdc,0xb1,0xf9,0xc0,0x12,0x47,0xb0,0x50, +0x7e,0xc7,0xe4,0xe7,0xf0,0xa7,0xe4,0x9c,0x71,0x82,0xde,0x09,0x4c,0x52,0xc6,0x83,0x59,0x47,0x76,0x9e, +0x79,0x0a,0x26,0x01,0x6c,0x3c,0xd3,0xdf,0xaf,0xee,0x76,0x59,0xc3,0x25,0x4e,0xfc,0x6e,0x63,0xa7,0x7d, +0x22,0xed,0x76,0x5b,0x67,0x17,0xad,0x4e,0xf3,0xc6,0xdb,0xeb,0x32,0x0d,0xbc,0x30,0xad,0x5c,0x2a,0x49, +0xdd,0x5d,0x69,0xdb,0xd2,0x94,0x11,0xbf,0xef,0x0c,0x9e,0x8f,0xf0,0xfa,0x3d,0xff,0x96,0x2f,0x06,0x5c, +0x93,0x9b,0x47,0x61,0xde,0xe4,0x36,0x08,0x19,0xef,0x35,0xa3,0x1b,0xa5,0x34,0x23,0x87,0xb0,0x37,0x00, +0x4d,0x0c,0xc8,0x65,0x63,0xee,0x69,0x26,0xda,0x5d,0x77,0x97,0xf5,0x84,0xfd,0x12,0x8f,0x05,0x0a,0x1a, +0x1a,0xb7,0xde,0x97,0x6d,0x6d,0x80,0x35,0x41,0x67,0x54,0x35,0x7e,0xc8,0x89,0xf4,0x69,0xe2,0xd9,0x46, +0xcb,0x60,0xd9,0x9e,0xb1,0x65,0x89,0xde,0x26,0xca,0x03,0x52,0x8f,0x5a,0x8d,0x6e,0x47,0x88,0x44,0x8e, +0xea,0x92,0x09,0x49,0x75,0x9a,0xc2,0x11,0x19,0x0c,0x57,0x32,0xbf,0xf4,0x93,0x85,0x63,0xd3,0x2c,0x68, +0x69,0x96,0x56,0x84,0x75,0xc6,0x36,0x82,0x6d,0xbc,0x8f,0x69,0x36,0x95,0x92,0x24,0x4b,0x0a,0x99,0xa6, +0xd8,0x36,0xbb,0xaf,0x94,0x74,0xe1,0x1e,0x00,0x61,0xce,0x40,0xe1,0x9b,0x77,0xe7,0x2a,0x69,0x5b,0x31, +0x55,0x72,0x6d,0x20,0xbf,0x5a,0x43,0x73,0xc8,0x71,0x11,0x7c,0xd3,0x57,0xc9,0x30,0x4d,0x50,0x11,0xf4, +0x05,0x05,0x81,0x93,0xa5,0xe7,0x14,0xe9,0xed,0x8a,0x2e,0x84,0x8e,0x4d,0x05,0xaf,0x17,0x46,0x46,0x63, +0xa9,0xd8,0x0a,0x1f,0xba,0xed,0x5d,0x84,0xca,0x06,0x6d,0x04,0x40,0xd7,0x6b,0x5c,0xb6,0xc4,0xf0,0x5d, +0x89,0xe6,0x29,0xa3,0xf7,0xca,0x19,0xe2,0x1c,0x26,0x00,0x1a,0x6b,0xe1,0x25,0x7a,0xc2,0x5d,0x67,0xcb, +0xd4,0x49,0xda,0x48,0x5a,0x02,0xd8,0x91,0xed,0x25,0x60,0x21,0xd3,0xf3,0x8e,0xe0,0x78,0xa9,0x2a,0xd2, +0x0c,0x9d,0x2e,0x0c,0xdc,0x50,0x64,0x28,0xc3,0xd0,0x41,0xfc,0xaa,0xb8,0xbf,0x3d,0xc5,0x0b,0x6d,0x11, +0x2a,0xcc,0x66,0xc0,0x54,0x17,0x94,0x87,0x00,0xe3,0x48,0x8b,0x33,0xc2,0x99,0x70,0x34,0xea,0x32,0xbb, +0xe6,0x4b,0x9c,0x90,0x70,0x39,0x0a,0xfe,0x7f,0x47,0x45,0x5f,0x32,0xd9,0xa4,0xf7,0x48,0x8a,0x5f,0x8b, +0xcc,0xc1,0xb3,0x7b,0xd2,0xdd,0xc3,0x54,0x94,0x1c,0x40,0xfc,0xee,0xda,0x25,0xe7,0x1d,0x60,0x3d,0x5a, +0x32,0x6a,0x32,0xac,0x1f,0xff,0x69,0x23,0xcc,0x16,0x0e,0xa8,0x2a,0x14,0xaa,0x19,0xcc,0x18,0x6e,0x4b, +0x24,0x18,0xbb,0xdb,0xb8,0xa2,0xf8,0xca,0x4a,0x5d,0x99,0xa3,0x0e,0x93,0x86,0x6a,0xe8,0x63,0xc6,0x53, +0x7d,0x81,0x93,0x7a,0xf1,0x89,0xb3,0xac,0xf1,0x63,0xae,0xbb,0x9b,0xa1,0x94,0x99,0x69,0xed,0x1e,0xd7, +0xb6,0xb7,0xc1,0x2c,0xa0,0x1d,0xe3,0xf1,0x2e,0x7e,0x98,0x1a,0x97,0x1d,0x5f,0x9f,0xac,0x18,0xcb,0x8e, +0xc5,0x36,0xe1,0x5f,0x97,0x35,0x04,0xa6,0xdd,0x31,0x57,0xd8,0x8f,0x8c,0xb8,0x50,0x3d,0xd0,0x04,0xda, +0x90,0xba,0xec,0x78,0x77,0x83,0x3b,0xfc,0x85,0xb7,0xb5,0x4b,0x69,0xea,0xe3,0x1f,0x6c,0xa8,0xec,0x9f, +0xd7,0x6e,0xec,0x06,0x05,0x01,0x95,0x63,0x3d,0x4e,0xb0,0x81,0xeb,0x1c,0x5e,0x0e,0xd8,0x29,0xc5,0x9e, +0x29,0x05,0xc3,0x9c,0xdf,0x9a,0x37,0xec,0x23,0x7a,0x13,0x64,0xaf,0x38,0x83,0xd3,0x2e,0xb0,0xdf,0x34, +0x84,0x3f,0xee,0xf6,0x72,0x68,0xdd,0xd7,0x97,0x90,0x62,0x2e,0x3e,0x2f,0x0b,0xcb,0x2a,0x47,0x2b,0xfa, +0x83,0x6e,0x60,0x1c,0x19,0xb2,0x0e,0x13,0x9c,0x7d,0xbe,0x9c,0xe4,0xee,0xfd,0x47,0x80,0x5b,0xe7,0x09, +0xc6,0x84,0xfe,0x8a,0xfe,0x81,0x18,0x47,0x98,0x9f,0x96,0xaf,0xf3,0x55,0x33,0x21,0xbe,0x9e,0x9a,0xf0, +0x56,0xe0,0xbf,0x84,0x9c,0xa2,0xb5,0xde,0x7f,0x93,0xd3,0x5f,0x45,0x4e,0x7e,0x9e,0xc7,0xf2,0x0e,0x2d, +0xe3,0x79,0x6f,0xde,0x81,0xe1,0xa7,0x4c,0x68,0xda,0xb1,0x58,0x25,0xbd,0x92,0xa9,0x0a,0x35,0x8b,0x18, +0x7b,0xe7,0xdf,0x83,0xb1,0x35,0x25,0xf1,0x52,0x04,0x73,0x04,0x90,0xdc,0x04,0x36,0xa2,0x12,0x9f,0x0f, +0xd8,0x64,0xe2,0x18,0x13,0x5c,0xe4,0x29,0xaf,0xda,0xaa,0x46,0x54,0x56,0x7d,0x73,0x27,0xbb,0x3e,0xaf, +0x4c,0x5a,0x05,0xca,0x8d,0xca,0x33,0x7c,0xb9,0x71,0x88,0x89,0xcf,0xd9,0x6c,0x36,0x88,0xc6,0x15,0x60, +0x2f,0x61,0x6b,0x6f,0xdb,0x1b,0xa7,0x55,0xb9,0x45,0x24,0x63,0x36,0x99,0xf8,0x7b,0x32,0x5c,0xf0,0x47, +0x43,0x3a,0x1a,0x8a,0xab,0x8f,0xbf,0xe7,0x90,0xd4,0xc0,0x78,0x78,0xf0,0x8d,0x13,0xd0,0xa6,0x2f,0x52, +0x8e,0x3b,0x74,0x91,0xbf,0x55,0x56,0x9a,0xc9,0x8b,0xc6,0x1d,0x9b,0xc7,0xab,0x2c,0x3c,0x56,0x87,0xc6, +0x2e,0xd1,0x60,0x25,0x54,0x93,0x76,0x3a,0x3d,0xf4,0x31,0x9b,0x8e,0xc6,0x8c,0xde,0x57,0xd2,0xc2,0x1e, +0x2c,0xe6,0xb9,0xbc,0xf8,0x15,0x60,0x8e,0xe6,0xff,0x53,0x81,0x89,0x87,0x0e,0xe6,0x62,0xa0,0xb6,0xed, +0x51,0xd6,0x2b,0xe1,0xc8,0x19,0xc6,0xb1,0x6c,0xdf,0xbd,0x19,0x92,0x13,0xa8,0xbc,0x2a,0x2c,0x8b,0x95, +0x4a,0x96,0xff,0x3f,0xff,0x77,0x03,0xec,0x85,0x4d,0xad,0x3b,0xdf,0x20,0x09,0xbd,0xe6,0x40,0x4a,0x79, +0x29,0x4e,0x5f,0x09,0x64,0x24,0xf6,0x5f,0x20,0x54,0xc5,0xb0,0x57,0x85,0x6e,0x2d,0x4b,0xfe,0xfc,0xdd, +0xe0,0xca,0xcf,0xa0,0xef,0x98,0x13,0xbc,0x71,0xa1,0x43,0xd2,0x93,0xd2,0xb4,0xe9,0xed,0x53,0x72,0x13, +0xa6,0xad,0x2e,0xa7,0xe8,0x57,0x8e,0xee,0xc5,0x20,0x79,0x05,0xcf,0x9c,0x32,0xda,0xa7,0xb0,0xf6,0xa7, +0xf8,0x64,0xe6,0x6c,0x38,0x2d,0x65,0x84,0xd2,0xc1,0xd3,0x31,0xfe,0x16,0xad,0x83,0x1c,0xc8,0x20,0xa7, +0x52,0xb5,0xe5,0xa9,0xdc,0xfd,0x29,0xb3,0x2b,0x89,0x68,0x3a,0x43,0x7d,0xc4,0x4d,0xff,0x39,0xde,0x37, +0x67,0x56,0x64,0xe4,0x47,0x3e,0x18,0xf9,0x51,0x8c,0xbe,0x6d,0xa9,0xc0,0xf1,0x3c,0x20,0x0e,0xd6,0xc4, +0xe7,0x4f,0x46,0xdf,0x9e,0x6e,0x8d,0x97,0x6a,0xfc,0x6f,0x1d,0xed,0x31,0x89,0x33,0x5a,0x6d,0xbc,0x95, +0x8d,0xd7,0x8c,0x77,0xf2,0xc2,0x78,0xfd,0xb4,0xe6,0x85,0x27,0xae,0x76,0x9f,0x83,0xa1,0x48,0x73,0x55, +0xbd,0x53,0x40,0x5c,0x61,0x7e,0x5c,0xb2,0xdb,0xb3,0x04,0x95,0xc5,0x4c,0x65,0x35,0xe0,0x78,0xaa,0x33, +0x55,0x35,0xa9,0x96,0xe8,0x82,0xeb,0x6a,0xc7,0x8e,0xb7,0x78,0x82,0x3c,0x81,0x07,0x05,0xa4,0x8b,0xe9, +0x52,0xba,0x9c,0xae,0xa4,0xab,0xe9,0xf5,0x25,0x6b,0xbd,0x14,0x18,0x63,0x31,0x0a,0xaa,0x05,0xc2,0x39, +0x8f,0x4d,0x03,0x66,0x9e,0x96,0x8a,0xe4,0xe9,0x7c,0xa6,0xda,0xf0,0x48,0xf4,0xc0,0x57,0x80,0xf0,0x75, +0x77,0xd7,0x22,0xc4,0x5e,0x8c,0xcc,0x0b,0x82,0x8b,0xf6,0x11,0x15,0x51,0x41,0xef,0x18,0x41,0x8b,0x33, +0x36,0x92,0x82,0x5d,0x43,0xb2,0x24,0x55,0xdc,0x39,0x49,0x86,0x13,0x1b,0x5e,0xb1,0x42,0x20,0x61,0x05, +0xa8,0x87,0xe4,0xf0,0x11,0x06,0x4d,0xcd,0xe1,0xc4,0x2b,0x42,0xee,0x2a,0xaf,0x23,0x5e,0x16,0x7d,0xfd, +0x6e,0xc9,0x1e,0x60,0xcc,0xc1,0xfb,0x46,0x56,0xdf,0x53,0x58,0x89,0xab,0xbb,0xa9,0x72,0xa3,0x39,0x7a, +0x44,0xee,0xdc,0x28,0xdf,0x19,0xc2,0xf9,0xb7,0xf0,0x73,0x9f,0xaf,0x8d,0x17,0xd6,0x14,0xe1,0xb4,0xce, +0x2f,0x6f,0xff,0xb0,0x5a,0x64,0x0e,0x3d,0x9a,0x56,0x37,0xa6,0x05,0xe2,0xda,0xa0,0x3e,0x8d,0x78,0x9b, +0x9a,0xb4,0x43,0xb7,0x2f,0x5e,0xeb,0x4b,0x8c,0x98,0x9f,0x94,0xdc,0x3b,0x6d,0x9f,0xf8,0xbe,0x8e,0xa6, +0x9a,0xe9,0x7e,0x4f,0xbd,0x97,0xdf,0x71,0x1b,0x73,0x70,0xe1,0x5d,0x3d,0x01,0x47,0xd1,0x8b,0x2b,0x4d, +0x88,0x11,0x21,0x53,0xc7,0x86,0xa2,0xd8,0x42,0x83,0x5e,0x0e,0xb4,0x9c,0x31,0xf0,0x42,0xcb,0x58,0x43, +0x8f,0x24,0x08,0xc1,0xc3,0x6c,0x43,0x72,0x7d,0x49,0x4c,0xb0,0x2d,0xe7,0x21,0xa1,0x72,0x2b,0xe4,0x20, +0x58,0x1d,0x6c,0xa7,0x33,0xdd,0x56,0xdf,0x05,0x6e,0xa4,0xa5,0x28,0xc0,0xed,0x98,0xc6,0x3f,0x1d,0xa8, +0xa8,0xdb,0xcb,0xd2,0x70,0x76,0x4c,0x6b,0x42,0x94,0xf1,0x25,0x00,0x2e,0x8a,0xc5,0x3a,0xbf,0x15,0x22, +0x44,0x05,0x4b,0xda,0xa9,0x00,0x54,0x56,0x5f,0xa5,0x02,0x64,0xc8,0xe5,0x7c,0xc1,0x6a,0xcb,0xf5,0x1a, +0x2f,0x46,0x8d,0x64,0xbd,0x7c,0xc1,0xa5,0x1a,0x91,0x13,0xf2,0x55,0x53,0x7e,0xff,0x3b,0x98,0x97,0x5e, +0xbf,0x9c,0xf7,0x18,0xd1,0x92,0x6b,0x98,0x7f,0xfb,0x5c,0x25,0x7b,0x61,0x0c,0x7e,0x81,0xea,0xdd,0xc9, +0xb6,0x8d,0x87,0x28,0xba,0xef,0x91,0xf3,0x28,0xb1,0x04,0x0f,0xb5,0x54,0xcb,0x8e,0x5f,0xd7,0x7e,0xae, +0xcc,0x33,0x05,0xfc,0x46,0x21,0xf5,0x06,0x51,0xf4,0x82,0xba,0x25,0xf1,0x51,0xb7,0x15,0x31,0x53,0x86, +0xf7,0x2a,0x7a,0x09,0x44,0x52,0xca,0x32,0x91,0x25,0x26,0x4b,0xf8,0x2d,0x00,0x72,0x5b,0xff,0x0d,0x30, +0x62,0x4a,0xb4,0x07,0x1e,0xb7,0xb3,0x37,0xc1,0xe7,0xa5,0x81,0x05,0x54,0xf7,0x25,0x50,0x75,0x0f,0x51, +0xfe,0x8f,0xa2,0x39,0xf1,0xc0,0x6b,0x97,0xaa,0xcf,0xd1,0x50,0x24,0xdc,0xb5,0xf6,0x06,0x6a,0xf3,0x9d, +0x20,0xfd,0x1f,0x4e,0x6e,0xbe,0xb9,0xfc,0x12,0xa4,0xde,0x8f,0xee,0x48,0xd6,0x88,0xee,0xde,0xf6,0x6f, +0x01,0x6d,0x13,0x1b,0x7f,0x5d,0x16,0x09,0xb2,0x1f,0x38,0x1f,0x4c,0x33,0x40,0x4c,0xe6,0xcc,0x01,0x13, +0x43,0x37,0x07,0x77,0x1c,0x82,0x34,0x41,0xe3,0x6f,0xc9,0xb3,0xb5,0xed,0x66,0xcb,0x0c,0x0c,0x98,0xa2, +0xc9,0xc2,0x3b,0x35,0x02,0x58,0x2a,0x56,0x2a,0x2e,0xb8,0x6c,0x9d,0xdc,0x17,0x16,0x98,0x0d,0x42,0xd8, +0x4b,0xc3,0x99,0xf8,0xec,0x0f,0xc6,0x60,0x75,0xbc,0x02,0x61,0xd3,0x2c,0x9c,0x64,0xc0,0x87,0xb8,0xfd, +0xde,0xe5,0xff,0x29,0x88,0x0b,0xcc,0x8e,0x66,0xfa,0xfc,0x3d,0x93,0x63,0x59,0x44,0x3f,0xfe,0x0a,0xa2, +0xd9,0x00,0x83,0x28,0x63,0x2b,0x75,0x63,0x23,0x06,0xd7,0xaf,0x40,0xf0,0xe4,0xb7,0x72,0xbd,0xdf,0xc8, +0xec,0x44,0xb7,0x18,0xdf,0xc3,0x70,0x99,0x1e,0x85,0x4f,0xb1,0x52,0x7d,0xd5,0x2a,0x7e,0x3d,0x7f,0xd3, +0x86,0x78,0xb9,0x30,0x55,0x58,0xcc,0xb9,0x81,0x91,0xab,0xb4,0x24,0xfd,0xc0,0xe7,0x44,0x6f,0xc0,0x63, +0x5f,0xc5,0x2b,0xed,0xa0,0x64,0xdf,0x54,0x16,0xa0,0xa4,0x92,0x5c,0x8d,0x9f,0x3f,0x0c,0x67,0x06,0xd1, +0x9e,0x93,0x6a,0xda,0x49,0xfd,0x48,0xa0,0x53,0xdd,0x76,0x2c,0x0d,0x74,0xe8,0xad,0x84,0xd9,0xbf,0x45, +0x65,0xba,0x5e,0xc7,0x06,0xcc,0x21,0x53,0x97,0x3f,0x7d,0x8a,0xf9,0x90,0x55,0x1f,0xf1,0xd8,0x9c,0xfd, +0xc5,0xff,0x58,0x57,0xb3,0x8a,0x39,0x98,0x4d,0x60,0x52,0x5f,0x1c,0xe8,0xe6,0x43,0x3e,0xb5,0xe9,0xf5, +0x9a,0xfa,0xa1,0x0d,0x93,0x1f,0xbc,0x22,0x29,0x67,0x6c,0x99,0x73,0x12,0x3e,0xd7,0xb2,0x2c,0xd3,0x4a, +0x26,0x6e,0xcf,0x66,0x98,0xa4,0x88,0x6d,0x4c,0x63,0xc0,0xe0,0x1c,0x24,0x08,0x5e,0xa0,0x8c,0x41,0x6b, +0xb2,0xc4,0x6b,0x26,0x52,0x5b,0x96,0x4a,0xae,0xe7,0x86,0x5e,0x52,0xcf,0x9b,0xe4,0xef,0x64,0x02,0x93, +0x67,0x92,0x3b,0xd3,0x12,0x1f,0xf8,0x70,0x69,0xfd,0x2f,0xf4,0x9f,0x4d,0x0c,0x24,0x4d,0x2f,0x01,0x03, +0xff,0x24,0xb1,0x8f,0x4e,0xdd,0xf9,0xf9,0xd3,0x50,0xb7,0x1e,0x64,0x4b,0x32,0xea,0x4e,0x96,0x06,0xfc, +0xb5,0x74,0x15,0x07,0x91,0x4c,0x50,0xc0,0xc2,0x60,0x8c,0x2c,0xd2,0x4a,0x1d,0xea,0x64,0x31,0x1e,0x34, +0x2b,0x4f,0x31,0xf1,0x6c,0x73,0xac,0xe9,0x4a,0xd2,0x48,0x65,0xa7,0x32,0x46,0xf5,0x63,0xb4,0x55,0x16, +0x43,0x1e,0x1f,0x54,0xfe,0xe5,0xd9,0xed,0xd0,0x42,0xf0,0x60,0x37,0x4e,0xfd,0xc3,0x07,0x84,0x3b,0x75, +0xc5,0x26,0x34,0x43,0x82,0x27,0x35,0x4b,0x1f,0xd3,0x46,0x7d,0xa4,0x66,0x71,0x6a,0x50,0x9c,0x81,0x20, +0xc1,0xdb,0x80,0x49,0xd7,0x8d,0x4f,0x9f,0x3e,0x40,0x09,0xcd,0xbe,0x22,0x13,0x86,0x52,0x9f,0x3e,0x25, +0x13,0xb2,0x65,0x81,0x5e,0x53,0x87,0xcf,0x3f,0x7f,0xe6,0xe1,0x1f,0x98,0x14,0x17,0xda,0x2e,0x5e,0x9d, +0x4f,0x9f,0x9c,0xcf,0x79,0xf8,0x0b,0xe8,0x14,0x3b,0x15,0xc6,0xa6,0x51,0x60,0x30,0x88,0xab,0x59,0x03, +0x26,0x82,0x7b,0x34,0x38,0x2e,0xfe,0x3b,0xeb,0x98,0x47,0x18,0x28,0xdd,0x94,0x6d,0x35,0x99,0xc2,0x3e, +0xfc,0x6f,0xbc,0xd6,0x4c,0x6c,0x2d,0x6d,0xb8,0xed,0x91,0xe1,0xee,0x72,0x9c,0x38,0xa9,0x2f,0xf0,0x62, +0x64,0xa9,0x53,0x28,0x26,0x60,0xca,0xe2,0xe5,0x3f,0x7c,0x00,0x34,0x80,0x45,0x8f,0xef,0xd2,0x6a,0x0a, +0xe7,0xfc,0x9c,0xda,0x74,0xc8,0x40,0xce,0x61,0x2a,0x91,0xd5,0xbd,0xc1,0xe3,0xc8,0x58,0x9d,0x04,0x62, +0xdd,0x18,0x79,0xb4,0xe2,0x2c,0xaf,0x6b,0xab,0xb4,0x63,0x07,0xba,0xfd,0x9c,0x29,0xb0,0x56,0xee,0x60, +0xea,0xaa,0xed,0xb0,0x81,0xd3,0x13,0xc2,0x58,0x04,0x66,0xb8,0x99,0x74,0xea,0xbe,0x77,0xa9,0xf4,0x6b, +0x3b,0xf8,0xf4,0xa9,0x00,0x23,0x56,0xdd,0xd9,0x3d,0xa7,0x04,0x48,0xca,0x14,0x2f,0x43,0x58,0x39,0x5b, +0x49,0xb5,0xae,0x7e,0x73,0xbe,0x03,0xba,0xb1,0x9e,0x57,0x61,0xcb,0x5d,0x29,0xaa,0x57,0xd1,0xf6,0x88, +0xed,0xc7,0xf3,0x96,0x87,0x07,0xcc,0xaa,0x92,0x54,0xb3,0x13,0x19,0x34,0xed,0xe4,0xbd,0x9a,0xfa,0xf9, +0xf3,0xdb,0x77,0x11,0x09,0x80,0x34,0xe7,0x9b,0xf1,0xbd,0xfe,0x21,0xff,0x9c,0x4a,0x3b,0x5e,0x7b,0x33, +0x11,0xc2,0xde,0x6b,0x1d,0x5f,0xd3,0x35,0x2e,0xbc,0x1d,0x50,0xfc,0x23,0x46,0x71,0x08,0xda,0x96,0x63, +0x2d,0x7e,0x00,0x2d,0xf9,0xe9,0x40,0x83,0x39,0x4c,0x2d,0x73,0xa2,0xd9,0x6a,0xea,0x8b,0xc6,0x30,0x9e, +0xca,0x62,0x76,0x59,0x00,0x75,0x76,0x28,0x6b,0x3a,0xac,0x9f,0xcd,0xc8,0x7a,0x18,0xa6,0xea,0x55,0x22, +0xc4,0x06,0x04,0x22,0x63,0xd6,0xe3,0xe4,0x83,0xa9,0x29,0x52,0x3e,0xfd,0x4d,0xfd,0x9e,0x05,0x79,0x36, +0x50,0x93,0x16,0x40,0x74,0x40,0x26,0x0c,0x83,0x35,0x42,0xa5,0x52,0xcf,0xde,0xc8,0x87,0x49,0x28,0xc1, +0x97,0x70,0xeb,0x01,0x96,0xf4,0x11,0xde,0x73,0x68,0x00,0x72,0x13,0x3b,0x27,0xc7,0x4d,0x9a,0x18,0xea, +0x08,0x39,0xb1,0x92,0x48,0x0f,0x53,0xe9,0x98,0xb2,0xc8,0xab,0xc9,0xf7,0x11,0x16,0x90,0x95,0x85,0xb8, +0x3c,0xa6,0x49,0x84,0x99,0x66,0x23,0x4b,0x95,0x61,0x0d,0x23,0x05,0xb1,0x9f,0x6b,0xd3,0xec,0x4c,0x53, +0xd6,0xd6,0xbc,0xc2,0x8a,0x07,0xf8,0x84,0x63,0xcd,0x54,0x5c,0xe3,0x2a,0x2c,0x6e,0xba,0x69,0x8b,0x84, +0x80,0xcb,0x1f,0xef,0x6d,0x20,0x5f,0xbe,0xe0,0xaf,0x4d,0x5c,0x03,0x6b,0xea,0x5a,0x22,0xf1,0x65,0x4d, +0xdd,0x3c,0x66,0xe4,0x0b,0x50,0xc6,0xb4,0xc5,0x59,0x92,0x8c,0x0d,0x9e,0x36,0x45,0x06,0x30,0xe6,0x4b, +0x16,0x11,0x66,0x6d,0x01,0x17,0xa7,0x00,0xaa,0x47,0x50,0x68,0x0a,0xbe,0x5a,0x20,0xb1,0x50,0x97,0x4a, +0xac,0x39,0x59,0x76,0x43,0x41,0xb2,0xad,0xa6,0x13,0x99,0x7f,0x7c,0x4a,0xa4,0xfc,0x7c,0x01,0x38,0x1a, +0x2c,0x09,0xd5,0x69,0x38,0xb0,0x18,0xfb,0x33,0x07,0x11,0x92,0xe6,0x2b,0xd3,0x65,0x4e,0x48,0x78,0x40, +0x25,0x46,0x9d,0x30,0x4d,0x8a,0x2e,0x2d,0xf5,0xe3,0xb9,0xab,0x66,0x6d,0xd5,0x61,0xa3,0x7b,0x56,0xd1, +0x11,0x67,0xd4,0xe9,0xd8,0x38,0x59,0x1b,0xde,0x34,0x46,0x01,0xca,0x4b,0x9b,0xf5,0x42,0x5a,0xae,0x17, +0xf3,0x69,0xbb,0x6e,0x7d,0x71,0xe9,0xdc,0x25,0x65,0x2b,0x3b,0x98,0x59,0x80,0x9b,0xcd,0xf0,0x27,0x40, +0xca,0xc0,0xb6,0x49,0x7b,0x89,0x44,0xea,0x39,0x3d,0xab,0xdb,0x30,0x17,0x1d,0xc1,0x61,0x7c,0x2b,0x7d, +0xff,0xf9,0x33,0x49,0x4b,0x74,0x08,0x97,0x85,0x85,0xf9,0x25,0x91,0xd8,0x4c,0x4c,0x1f,0x13,0xa9,0xf4, +0xa0,0x1e,0xfc,0x06,0x08,0x83,0x2f,0x80,0x2d,0xfd,0xd3,0xa7,0xb5,0x19,0x2c,0xe1,0x7f,0x20,0xca,0xd5, +0x41,0xd2,0xeb,0x25,0x95,0x42,0xa8,0x0f,0x3e,0x7d,0x1a,0x40,0xeb,0x58,0x32,0xf5,0x43,0xaf,0xeb,0x3f, +0x7f,0xe2,0x23,0x80,0xd0,0x20,0x2b,0x75,0x50,0x5f,0x9b,0xfd,0xfc,0x59,0xd8,0x52,0x4c,0xc9,0xac,0x9b, +0xd0,0x6a,0xb6,0x92,0x48,0x0f,0x72,0x75,0x13,0x09,0x8d,0x64,0xe0,0x23,0x03,0x1e,0xac,0xe9,0xa9,0x2d, +0x72,0xd9,0x7d,0xd2,0x84,0xa6,0x92,0x26,0x8e,0x3d,0x37,0x63,0xac,0xc3,0xfc,0xf4,0x29,0x93,0x91,0x53, +0xcf,0x1c,0x7c,0x40,0x40,0xd0,0xee,0xe0,0xe7,0x4f,0x6c,0x3b,0x9f,0xd6,0xea,0xc6,0xb7,0xc2,0xf7,0x2f, +0x83,0xb5,0x24,0xfe,0xbb,0x56,0x48,0xfd,0xcb,0xf8,0x56,0xfc,0xbe,0xb9,0x86,0x7f,0xa7,0x2d,0x28,0x6c, +0x65,0xf1,0x14,0x73,0x5d,0x4f,0x5b,0x59,0x92,0xdf,0xbe,0x3e,0x80,0x5f,0x20,0x0c,0xeb,0x5a,0x2a,0x95, +0xd6,0x3c,0x64,0x3c,0xb8,0x3c,0x88,0x90,0x00,0x28,0x38,0xaa,0xb5,0xc3,0xc4,0x7b,0xda,0xaa,0x7b,0x92, +0x05,0xba,0xbc,0x56,0xbf,0x59,0xdf,0x39,0x42,0xb5,0x2f,0x1a,0x32,0x56,0x23,0x8b,0xca,0x8d,0x5f,0xd2, +0x06,0xe4,0xb3,0x85,0x3d,0xd6,0x19,0x10,0x01,0x51,0x8a,0x66,0x4f,0xd1,0xc0,0x07,0xde,0x15,0x27,0x92, +0x1d,0x20,0x3e,0x03,0x78,0x0c,0x2e,0x17,0x0d,0x66,0xa3,0x71,0x23,0x20,0x95,0x26,0x83,0xa8,0x6b,0x69, +0x4d,0x58,0x18,0x0b,0x8f,0x03,0x13,0x15,0x01,0x44,0x92,0x56,0x07,0x4c,0x98,0xf5,0x3c,0x10,0x16,0x97, +0xda,0x5b,0xe6,0x1f,0xf2,0x96,0xb9,0xb6,0x96,0x82,0x69,0x7d,0x33,0xbf,0x13,0xc8,0x2c,0x50,0xb9,0x4a, +0x1a,0x75,0xf6,0x3b,0xcb,0xc6,0x96,0x76,0xbe,0x24,0xdd,0x01,0x20,0xec,0x35,0xa8,0x50,0x3f,0x25,0x4b, +0x24,0x69,0x09,0x53,0x00,0xb5,0x04,0xd6,0x72,0x1a,0x3f,0x03,0xb1,0x05,0x5a,0xa9,0x03,0x4d,0xc2,0x44, +0xb0,0x8d,0xc0,0x97,0x4f,0x9f,0xfe,0xc4,0x15,0xc6,0x1b,0x7e,0x40,0x18,0x81,0x24,0x24,0x3d,0x7e,0x10, +0x7a,0xa4,0x6f,0xd2,0xa7,0x74,0x7d,0x09,0x1d,0xc3,0x3a,0x03,0x5a,0xc4,0x09,0xc3,0x1c,0xdd,0x89,0xe1, +0x58,0x3e,0xd4,0xb1,0x26,0x34,0x80,0x73,0x0c,0x8c,0x07,0xbf,0x44,0x09,0xa2,0x09,0x85,0x1f,0x81,0x9d, +0xbb,0x60,0xeb,0x51,0x7a,0x1c,0x81,0x00,0x43,0xac,0xbd,0xbd,0x38,0x97,0x47,0x48,0x1b,0x5f,0xa2,0x5f, +0x27,0x51,0xc1,0xf9,0x57,0x02,0x26,0x16,0xd9,0xd2,0x3d,0x2a,0x99,0x34,0x49,0x84,0x69,0x35,0x74,0xfd, +0x4b,0xf8,0x95,0xdb,0x02,0x20,0xd3,0xe5,0x75,0xf0,0x0e,0xb4,0x24,0xaa,0x0d,0xa1,0xb0,0x27,0x79,0xd2, +0x93,0x20,0x24,0x50,0xc0,0x08,0x7c,0xe6,0x31,0x40,0x15,0x40,0x0c,0x96,0x47,0x0c,0xc6,0x1f,0xd6,0x96, +0x01,0x30,0x63,0xb0,0x55,0x41,0xa0,0xa6,0x13,0x23,0xdd,0xec,0xcb,0x7a,0xeb,0x41,0xd6,0x13,0xe9,0x0f, +0xd0,0x0f,0xc3,0xb8,0x13,0xfc,0x28,0x8a,0xff,0x3e,0x67,0x67,0x40,0x92,0x6e,0x67,0x66,0x5a,0x4e,0xdb, +0xe9,0x59,0x5a,0x4f,0x0f,0xd2,0x43,0x57,0x63,0xe5,0x0b,0x6b,0xd7,0x92,0x47,0x64,0x69,0xa4,0xd2,0x53, +0xa4,0x53,0x05,0x86,0x36,0xf6,0x86,0xa6,0xfc,0x01,0xff,0x87,0xa1,0x01,0xab,0x31,0x81,0x54,0x15,0x20, +0x64,0xaa,0x30,0x9a,0xf8,0xca,0x33,0x05,0x5c,0x25,0xd4,0x4c,0xa5,0x5c,0x38,0x4c,0xd3,0xa6,0xa7,0x84, +0x01,0xbe,0x37,0xcd,0xd4,0x16,0xe1,0xc8,0x50,0xf5,0x8c,0x49,0x19,0x28,0x4f,0x46,0x2a,0xd7,0xe5,0x9f, +0x3f,0x87,0xbe,0xc5,0x1b,0x52,0xae,0xc1,0x06,0x42,0x2a,0xb6,0xeb,0xc9,0x4b,0xc6,0x0e,0x4d,0x54,0x48, +0x12,0x09,0x20,0xec,0xef,0x29,0x60,0x3e,0x01,0x41,0x32,0xab,0xdf,0xa8,0xdf,0x6c,0x58,0x0d,0x37,0x6a, +0xf6,0x4f,0x96,0x7f,0x25,0x2d,0x67,0x35,0xb0,0x71,0xad,0xfd,0xf3,0xe3,0xa3,0xfa,0x0c,0x19,0x16,0x0c, +0x77,0xec,0x4c,0x74,0x92,0xe1,0x93,0xa8,0x65,0x66,0x6a,0x6d,0x86,0xbc,0x6b,0x00,0xdf,0xf3,0xdf,0xb7, +0x06,0x99,0xcc,0x56,0x0a,0x86,0x97,0x05,0xd3,0xcd,0x21,0x23,0xdb,0x12,0x66,0x28,0x67,0x07,0xf8,0x8a, +0x1c,0xbd,0x48,0xc1,0x0a,0x1f,0x82,0x72,0x67,0xb1,0x72,0xf0,0x11,0x8d,0x00,0xa6,0x05,0xc0,0x12,0xa4, +0xf2,0x68,0x9a,0x9d,0xce,0xec,0xb1,0x3b,0xbd,0x73,0x28,0x82,0xd5,0x11,0x14,0x64,0x19,0x0d,0x03,0xb5, +0x10,0x27,0x5b,0x66,0x7d,0xfa,0x0d,0x10,0xf1,0x7d,0x8b,0x48,0x53,0xaa,0xe3,0x18,0x0d,0xd4,0xe2,0x93, +0x26,0x88,0x2f,0x50,0x0e,0x53,0xc0,0x9d,0x34,0xda,0xb4,0x00,0x67,0x9d,0x70,0x3b,0x68,0x0b,0xcf,0x90, +0x27,0xcd,0x00,0x57,0x35,0x71,0xc8,0x93,0xa4,0x1f,0xee,0x26,0x8a,0x5b,0x66,0xc7,0xa4,0x41,0x00,0x3d, +0x26,0x65,0x10,0xca,0x29,0x1c,0xda,0x80,0x8c,0x44,0xfe,0x36,0x20,0x23,0xd9,0xe3,0x38,0x24,0xa8,0x87, +0xe5,0x91,0x00,0x36,0x62,0xb8,0x43,0x60,0xab,0x77,0xe8,0xd1,0xe7,0xdc,0x15,0x97,0xa0,0x2f,0xba,0x6f, +0xcf,0xbd,0xb7,0x05,0xef,0x6d,0x33,0x49,0x25,0x3c,0xe7,0x01,0x6a,0x16,0x37,0x7a,0x1e,0x38,0x35,0x78, +0x1a,0x9a,0xa0,0x8e,0xb5,0x3c,0xfa,0x87,0xa9,0x11,0x26,0x02,0xb4,0xbf,0xe5,0xa3,0x54,0xae,0xd9,0x83, +0x9d,0x17,0xd4,0xf6,0x91,0xd7,0x59,0x75,0x0b,0x18,0x69,0x9a,0xeb,0x0c,0x14,0x23,0xf4,0x66,0xeb,0x14, +0x36,0x6f,0x93,0xe6,0x1d,0x20,0xab,0xb4,0x29,0xf0,0x2f,0xe8,0x02,0x39,0x1e,0x70,0x57,0x80,0x00,0xf9, +0xa1,0x7d,0x01,0x51,0x01,0x65,0xeb,0x6e,0x53,0x9b,0xec,0x03,0x2a,0x60,0x21,0x75,0x06,0x4b,0x5b,0x50, +0x9a,0x97,0x65,0x8f,0xc2,0x48,0x50,0x72,0xd5,0xeb,0x1f,0x00,0xcf,0xf5,0x73,0x17,0xbd,0x1f,0xb4,0x14, +0x1f,0x03,0x1f,0x0c,0x2a,0x5f,0x20,0xb2,0x61,0x45,0x81,0x64,0xaa,0x47,0x18,0x15,0x40,0xb7,0xa9,0xac, +0x39,0x1c,0xc2,0x2b,0xa0,0x50,0xaa,0xde,0x12,0x33,0x58,0xb6,0x46,0x84,0x2c,0x6c,0x50,0x5f,0xb4,0xec, +0x08,0x34,0x4b,0xa0,0x7a,0xfc,0x07,0xe4,0x09,0xfd,0x81,0xc4,0x34,0x22,0x1a,0x67,0x0a,0x75,0x59,0x62, +0x1d,0x08,0xaa,0x10,0x2a,0xa6,0xa8,0xd8,0x66,0x65,0x45,0xa1,0x4d,0x3a,0x80,0x09,0x0b,0x35,0x31,0x81, +0x4b,0xdd,0xf9,0x8c,0x47,0x64,0x9e,0x09,0x07,0x03,0x3c,0x90,0x7a,0xb4,0x64,0x01,0x55,0x0e,0xc1,0x78, +0x73,0x40,0x51,0x17,0x96,0x14,0x28,0xb5,0x09,0x64,0xb5,0xc9,0xc4,0x67,0x07,0xc5,0x7d,0x02,0x2c,0x23, +0x58,0xa5,0x3f,0x7f,0xaa,0x9b,0x82,0x14,0xe9,0x89,0xe6,0x07,0xa1,0xce,0x7a,0x92,0x4a,0xa4,0xa0,0x6e, +0x99,0xc0,0x8f,0xc0,0x55,0xd6,0x12,0xb9,0xc4,0x1a,0x2d,0x9a,0x16,0x1a,0xea,0x78,0x76,0x91,0xe6,0x50, +0x9e,0x43,0x0b,0x79,0xee,0x86,0x2f,0xac,0x03,0x07,0x98,0xc9,0x26,0xd7,0x1d,0x42,0x1d,0x88,0x8d,0xee, +0x08,0x32,0x8e,0xd2,0x2a,0x67,0xd1,0x48,0xaa,0x85,0xba,0x38,0x7f,0xe2,0x21,0x01,0xde,0x3f,0x96,0x6d, +0xcc,0x82,0x47,0xcd,0x77,0x13,0xe5,0x3f,0xbd,0x05,0x9d,0x20,0xb1,0xce,0x24,0x07,0x59,0xd0,0x7a,0xdd, +0xa4,0x58,0xb0,0x81,0xb5,0x2a,0xec,0x90,0x1d,0xd4,0x37,0x14,0x5d,0x05,0x7c,0xd3,0x4f,0x68,0xe5,0x21, +0x65,0x6b,0x48,0xd9,0x3a,0x59,0xdb,0x54,0x28,0xe9,0xdf,0xb4,0xef,0x41,0xb9,0xe4,0x47,0x2b,0x8c,0x17, +0x0b,0x81,0x1c,0x4a,0xa1,0xb6,0xed,0x1b,0x98,0x5d,0xef,0x8a,0x03,0x9b,0x51,0x53,0x05,0xf8,0x98,0x92, +0xfc,0xf1,0x9c,0x06,0x06,0xd9,0xe5,0x03,0x9d,0xa5,0x44,0x3b,0xea,0x56,0x80,0x08,0x9b,0x7c,0xd8,0x85, +0xb0,0x95,0x20,0xee,0x2d,0xa6,0x07,0x5d,0x70,0x33,0x85,0xa2,0xe3,0x0b,0xb0,0x53,0x8c,0x67,0x51,0x15, +0xc0,0x30,0xfb,0xb5,0xc9,0x2a,0x50,0x35,0x86,0x38,0xef,0x40,0xc7,0x93,0xc9,0x33,0x90,0xb4,0x93,0x65, +0x32,0xe1,0x92,0xec,0xa8,0xaa,0xbe,0x47,0x81,0x5e,0x1b,0x84,0xab,0x10,0x99,0xea,0xd4,0x4d,0x95,0xad, +0x18,0x90,0x95,0x4e,0x6a,0x2b,0x2c,0x60,0xf3,0x20,0x47,0x5d,0xe7,0x8c,0x52,0x9f,0x66,0x0a,0x20,0x4f, +0x1d,0x20,0xd1,0xf4,0xa8,0xee,0x37,0x4c,0xc7,0x44,0x83,0x1f,0xfd,0xfc,0x39,0xfd,0x5c,0x80,0xe1,0x05, +0x59,0xc2,0xf8,0xd3,0xa7,0x0f,0x0a,0x9b,0x4b,0x53,0x07,0xe5,0xeb,0xd3,0x27,0xcb,0xa1,0x73,0x1e,0xa7, +0xdc,0x55,0x1f,0x58,0x83,0xcc,0x22,0x03,0x59,0x9d,0x55,0xef,0xe1,0x69,0x6b,0x04,0x58,0xc1,0xde,0xeb, +0x63,0xe6,0x49,0xc0,0x55,0x69,0x80,0x60,0x46,0x99,0x97,0x04,0xcd,0x2d,0xdd,0x00,0x01,0x42,0xa7,0xf7, +0x4c,0x06,0x34,0x25,0x04,0xd6,0x47,0x9f,0x03,0xd4,0x0b,0x08,0x8c,0x0f,0x85,0x34,0xa8,0xdf,0x48,0x72, +0xa6,0xb8,0x2a,0x09,0xcf,0x11,0x24,0x21,0x9b,0x3f,0x69,0x09,0x84,0x07,0x88,0x76,0x8d,0xc9,0x79,0x1b, +0x81,0x30,0x91,0xa7,0xc9,0x09,0x74,0xeb,0x89,0x99,0x1e,0x12,0x0b,0xaf,0xb6,0x35,0xfc,0x63,0xba,0x35, +0x04,0xc2,0x03,0x52,0x4e,0x0f,0x01,0x5b,0x0a,0x34,0x44,0x05,0x19,0xc2,0x21,0xa9,0xa7,0x3f,0xe4,0xd1, +0x91,0x98,0x9e,0x11,0x39,0x48,0x45,0xb1,0x9d,0x9e,0xc0,0x07,0xb7,0x45,0x98,0x98,0xc5,0xcc,0xfd,0x6f, +0xc3,0xef,0x80,0x9b,0x21,0x99,0xdc,0x8c,0x89,0x31,0xfb,0x1b,0xef,0x2c,0x53,0x08,0xce,0x91,0x0d,0xd0, +0x4e,0x77,0x52,0x88,0x4f,0x18,0xcd,0x8c,0x8d,0xc6,0xc6,0xa6,0xb8,0xd4,0xd3,0x45,0xa9,0xf7,0xc1,0x5b, +0x90,0xba,0x5f,0x3d,0x23,0x43,0x74,0x05,0xf0,0x20,0xad,0xe3,0x3a,0xd1,0xb3,0xb6,0x35,0x40,0x85,0xf1, +0x4f,0x15,0x0a,0x5d,0x58,0x3a,0x29,0xc5,0x1f,0xe8,0x67,0x90,0x17,0xd8,0x87,0xa7,0x0a,0xb8,0x86,0xb3, +0x49,0x4c,0xcc,0xf4,0x20,0xe5,0xda,0x64,0x02,0x73,0xb9,0xe7,0x96,0x39,0xd7,0xff,0xd0,0x00,0x71,0xfc, +0x9e,0x28,0xb0,0xe5,0xd1,0x20,0xd9,0xa2,0x2c,0x11,0x64,0x1e,0xd5,0xc6,0x89,0xde,0x0e,0xe6,0xe2,0x07, +0x34,0x12,0x38,0x03,0xfa,0xf9,0x93,0xc0,0x5d,0x95,0x0d,0xb2,0xcc,0x27,0xc4,0x86,0xb2,0x04,0x6b,0x09, +0x8d,0x16,0xff,0x24,0xad,0xa0,0xed,0x96,0x42,0x25,0x62,0x82,0x46,0x83,0x8b,0x1e,0x5f,0x13,0x3e,0x83, +0x0b,0xda,0x8f,0xb0,0x0b,0x8e,0x7c,0x0e,0x07,0xce,0x33,0xeb,0xcc,0x8a,0xf5,0x2c,0x05,0x18,0xff,0x0c, +0x7d,0x17,0x69,0x83,0x88,0x40,0x03,0xb9,0xfd,0x29,0x39,0xc3,0xed,0x2c,0xc8,0xc2,0x06,0x83,0x0e,0x04, +0x3c,0xd8,0xd8,0x00,0x43,0x98,0xa8,0x4c,0xe7,0xc7,0x87,0x1e,0x34,0x3b,0xd1,0xe3,0x05,0xcd,0x88,0xd6, +0x32,0x8c,0x1d,0xd7,0xe5,0x54,0x7b,0x54,0xf5,0x63,0x10,0x99,0x9a,0xd1,0xc5,0xad,0xae,0x24,0x4c,0xd2, +0x66,0xeb,0x53,0x86,0xdf,0xb2,0xc3,0xbd,0x80,0x44,0xab,0xb0,0xb3,0x73,0x4d,0x01,0x8e,0xa0,0xc1,0xaf, +0x89,0x66,0x5c,0x91,0x07,0x13,0x1f,0xe4,0x47,0xfa,0xe0,0xbd,0x17,0xde,0xf2,0x7a,0x75,0x39,0x8d,0x93, +0x99,0xb3,0x92,0xf4,0x9d,0x25,0xd6,0xd1,0xd2,0x42,0x2d,0x50,0x25,0x99,0x91,0x82,0x53,0xfc,0x22,0xaf, +0x25,0x12,0x9b,0xb2,0x07,0xcc,0x7d,0x51,0x02,0x83,0xd4,0x76,0x22,0xfc,0x19,0xc0,0x70,0xbf,0x90,0x26, +0x98,0x08,0x21,0x1e,0x28,0x2c,0x9a,0xe4,0xbf,0xea,0x4e,0x2a,0x46,0x7b,0x10,0x38,0xfb,0x2e,0x73,0xf2, +0x93,0xbc,0x45,0x63,0xc7,0xd3,0x56,0x38,0x79,0x3a,0x75,0xc2,0x66,0x1c,0xf3,0x02,0x54,0x50,0xc6,0xe9, +0x41,0x10,0x53,0x57,0x5c,0x01,0xbd,0x41,0x8a,0xe3,0x0a,0x24,0x54,0xc5,0xb1,0x31,0x78,0x07,0xf2,0x67, +0x0d,0xf0,0x13,0x68,0xd6,0xeb,0xf8,0xc4,0x93,0xdc,0xd4,0xde,0x47,0x2a,0xb0,0xc1,0x34,0x73,0x05,0x37, +0x8a,0x80,0xc0,0xb7,0x3a,0x0e,0x17,0x74,0x09,0x9f,0x2f,0xf3,0xd4,0x47,0x7a,0x75,0xee,0x8a,0x71,0x5c, +0x32,0xb5,0xbe,0x1c,0xcb,0xce,0x18,0xa1,0x9f,0x04,0x11,0x0a,0xa6,0x43,0x26,0x89,0x6e,0x75,0x50,0x2a, +0x92,0x16,0x71,0xfd,0x10,0x37,0xcf,0xa6,0xd0,0x64,0x57,0x34,0xd4,0x98,0x0c,0x41,0x4e,0x43,0x8c,0x68, +0x03,0x98,0x69,0xd2,0xfa,0x92,0xe8,0x9b,0x16,0x6e,0xe0,0x6c,0x26,0x58,0x7e,0x79,0xd0,0x7b,0xca,0x9b, +0x09,0x82,0x7a,0x94,0x81,0xce,0x97,0xc2,0x26,0xda,0xdb,0x65,0x58,0xb7,0xf5,0x62,0x2a,0x31,0x21,0xb4, +0xc8,0xbd,0x04,0xf2,0x5a,0xdd,0xf5,0x15,0x19,0x6b,0xdb,0xc4,0xcb,0x00,0x5c,0x13,0x5d,0x2e,0xd6,0x97, +0xa4,0xdb,0x24,0x2f,0x9d,0xf1,0x4a,0x27,0xa6,0x20,0xe6,0x51,0x12,0xf9,0x6b,0xf1,0xf6,0x3f,0x44,0xd4, +0x60,0x23,0xa5,0x15,0xd6,0x12,0x84,0x06,0x13,0xac,0x22,0xa8,0xb2,0xe2,0x58,0x22,0x5b,0xf7,0xde,0x7e, +0x08,0x8f,0x7e,0x79,0xeb,0x1c,0x07,0x02,0x75,0x1f,0x07,0x58,0x45,0x9d,0x32,0x04,0xb3,0x4e,0x79,0x08, +0x91,0x5e,0xac,0xd1,0x0c,0x86,0xbf,0x52,0xeb,0xd5,0xed,0xec,0xb1,0xa7,0x3d,0xe1,0x50,0x50,0xd6,0x69, +0x6e,0xfb,0x7c,0x69,0x9b,0xa9,0x2f,0xe6,0x26,0xac,0x67,0x19,0x46,0x09,0x5c,0xc0,0x2d,0xde,0x55,0x75, +0x0d,0x95,0xd8,0x24,0x90,0x8f,0x49,0xdc,0x9f,0x84,0x61,0xa0,0x03,0x3e,0x9d,0xc0,0xf3,0x33,0x09,0xa6, +0x96,0xa3,0x19,0x9d,0x30,0xe9,0xdd,0x50,0x6b,0x4e,0x98,0xf4,0x1d,0x97,0xf4,0xbf,0xe3,0x98,0x89,0xf7, +0x75,0x57,0x37,0x65,0x87,0x18,0xbb,0xf9,0xb4,0xb9,0xc6,0x88,0x07,0x19,0x53,0x14,0x91,0x10,0xa2,0x5a, +0x23,0x24,0xe7,0xc1,0xa4,0x2d,0x12,0x9c,0x6b,0x52,0xcd,0xa5,0x36,0xba,0xd4,0x1d,0x13,0x25,0x19,0xd8, +0x93,0x9a,0x23,0x14,0xf3,0x2a,0x5f,0x01,0x57,0x78,0x70,0x90,0xcf,0x83,0xba,0xa7,0x29,0x8a,0x6a,0x10, +0x43,0x04,0x37,0x7b,0x70,0x5f,0x0e,0xc0,0xd2,0x30,0xb4,0x09,0x39,0x96,0xb7,0x6b,0x51,0x1f,0x4c,0xe4, +0xfb,0xe4,0x15,0x08,0x1e,0xd4,0xff,0x30,0x9c,0xd1,0x04,0xac,0x5c,0xa1,0xac,0x1d,0x3e,0x66,0x79,0xba, +0xd5,0x14,0x7b,0x76,0xb4,0xc1,0x5d,0x52,0x74,0x6c,0xfc,0x43,0xe0,0x4b,0x62,0x03,0xa2,0xed,0xe1,0x30, +0x43,0xe9,0x19,0x5a,0x21,0xeb,0xda,0x30,0xe7,0xa2,0x1b,0x7d,0xdb,0xa7,0x75,0xd7,0xd1,0x71,0xf9,0x63, +0xac,0x22,0xeb,0x06,0xcb,0x81,0x2c,0x3d,0x87,0xad,0x29,0x0b,0xd6,0x94,0x05,0x6b,0x2a,0xe3,0xa4,0x8c, +0xfa,0x36,0x3a,0xf9,0xd2,0xda,0x37,0x4e,0xff,0x6b,0xc6,0x77,0x10,0x97,0x1e,0x19,0xc3,0xa3,0x2b,0x7e, +0x10,0x46,0x5a,0xd6,0x9c,0xca,0x03,0xcd,0x59,0xd4,0x35,0xc6,0xa6,0x55,0x9f,0x97,0xf3,0xcf,0x28,0xf9, +0x9c,0xbc,0xc8,0x92,0x84,0x61,0xaa,0x65,0x13,0xef,0xef,0xb7,0xef,0x29,0x94,0x49,0x60,0xe3,0x8a,0x5f, +0x12,0xff,0x4a,0x10,0x9a,0x40,0x4f,0xa2,0x16,0xf4,0x24,0x12,0x27,0x3b,0xca,0x71,0xaa,0xf5,0x18,0x69, +0x14,0x5e,0x9c,0x2f,0x5a,0x5e,0xff,0x4f,0x91,0x82,0xd4,0x55,0x5f,0x19,0x7f,0xd1,0x08,0x7f,0x4c,0x50, +0xf8,0x90,0x27,0x50,0x6b,0x09,0x9b,0x57,0xc0,0x74,0x20,0x1e,0x22,0x42,0xdf,0xa0,0xd4,0x7a,0x8e,0x7e, +0xe2,0x4a,0x84,0xd9,0x3e,0x70,0xf7,0x24,0xac,0xa7,0xe1,0x23,0xa6,0x6d,0x21,0x1b,0xa2,0xe4,0x02,0x42, +0x2e,0x4e,0xff,0x24,0x4f,0xfb,0xa6,0x79,0x67,0xd3,0x62,0x40,0xb8,0xd4,0x3e,0x96,0xb3,0x33,0x83,0xde, +0x55,0x88,0x8c,0xc0,0x7d,0xa8,0xa3,0x4f,0x1e,0xcc,0x17,0x3c,0x10,0x8a,0xaa,0x27,0xb1,0x65,0xdc,0x87, +0xba,0x40,0x09,0x5e,0x9d,0x9f,0x3f,0x6d,0xa0,0x00,0xb4,0x72,0xf9,0x9b,0xb5,0xb5,0xf4,0x34,0x2b,0x93, +0x10,0x6b,0x91,0x78,0xa2,0xde,0x79,0x95,0x32,0x19,0xa4,0x4b,0xf2,0x9b,0x8f,0x95,0x41,0xff,0xe7,0x4f, +0x71,0x10,0xd8,0xd7,0x33,0x73,0xe2,0x58,0xd4,0x65,0x00,0x58,0x01,0xed,0x0b,0x29,0x68,0xc1,0x18,0x08, +0x2a,0xc2,0xf0,0x96,0x4b,0x55,0xfc,0x44,0x5d,0xf3,0xf4,0xf2,0x63,0xe2,0x66,0x26,0x96,0x7e,0x72,0xf4, +0x25,0x01,0xab,0x4d,0x85,0xb5,0x4d,0x41,0x48,0xea,0xd1,0xdf,0xc0,0x26,0xb5,0x9f,0x3f,0x3f,0x3c,0xfc, +0xfc,0xe9,0xba,0x22,0x1f,0xa0,0xa5,0x14,0x32,0x01,0xcd,0x98,0xa9,0x5b,0x23,0xdc,0x91,0x53,0xd0,0x3d, +0xfd,0xf0,0xe9,0x13,0x7e,0x22,0x6a,0x0e,0xd7,0x61,0xac,0x14,0x3a,0x2c,0x66,0x75,0xba,0x31,0xdc,0xc2, +0x09,0x9c,0x10,0xff,0x08,0x7a,0xbb,0x67,0xd0,0x70,0xe8,0xbd,0x82,0xea,0x7b,0x70,0x63,0x07,0x39,0x42, +0x16,0x2f,0x11,0x1a,0xea,0xe6,0xbc,0xfe,0x6d,0xec,0xfe,0x4e,0x7b,0x3f,0xaf,0x85,0xdf,0x37,0xa0,0x87, +0x93,0xf1,0xb8,0xbe,0x6d,0x8a,0x71,0x9d,0xa8,0xf7,0x1e,0xcd,0xb8,0x2e,0x6d,0xdc,0x1a,0xf1,0x58,0xb3, +0xe7,0xac,0x77,0xfd,0xe1,0x03,0xac,0xf9,0x65,0x50,0xd7,0x37,0x93,0x0b,0xe2,0x76,0x45,0xab,0x40,0xe7, +0xc4,0xc9,0xbb,0xf9,0xf9,0x53,0x8f,0x69,0x88,0x54,0x42,0x5b,0x21,0x09,0x34,0xae,0x6b,0xac,0x51,0x40, +0x06,0x7d,0xca,0x50,0x4f,0x3f,0xed,0x88,0x2a,0xcb,0xa8,0xbe,0xbb,0xdd,0x7b,0x4d,0x0e,0x91,0x43,0xa3, +0xb2,0x9f,0x04,0xf0,0x25,0xa7,0x74,0x57,0x52,0x20,0xa6,0xb1,0xeb,0xf8,0xd6,0x9f,0x53,0xc2,0xb4,0x07, +0x75,0xf7,0x0b,0x8c,0xdb,0x9b,0x17,0x6e,0x0e,0x81,0x7e,0x9f,0xf6,0xea,0xf9,0x87,0x04,0x9f,0x3c,0xd0, +0x43,0x3b,0x1e,0x90,0xeb,0x09,0xca,0xa2,0x13,0x91,0x84,0x2e,0x94,0xf3,0xea,0xa3,0x71,0x2a,0x60,0x4c, +0xfc,0x52,0x10,0xbf,0xdc,0x88,0x5f,0x8a,0xdf,0x81,0xd4,0xc1,0x68,0xfb,0x50,0xf0,0xe8,0x5d,0x49,0xe1, +0xec,0x1f,0xbe,0xf0,0x21,0xc0,0x2b,0x40,0x77,0x72,0x54,0x7f,0x60,0x72,0x23,0xb5,0xf9,0x20,0xba,0x2e, +0x5c,0xf6,0x90,0xfe,0xc1,0xa6,0xb9,0x89,0xe0,0x41,0x31,0xc9,0x6b,0x00,0x8d,0x02,0x3f,0xff,0xf4,0xc9, +0x43,0x6f,0x18,0xb8,0x60,0x42,0x53,0x44,0xe2,0xee,0x04,0x35,0x25,0x7c,0xac,0x47,0x18,0x9f,0xb8,0x08, +0xd2,0xb8,0x3e,0x52,0x74,0x16,0x7f,0xc2,0x6a,0xc3,0x65,0xb2,0x09,0x0a,0x5c,0x7a,0x0a,0x32,0x14,0x8b, +0x3f,0xe0,0x64,0x70,0x0d,0xcd,0xe8,0xc6,0x15,0x8e,0x23,0x39,0x23,0x5b,0x57,0xfc,0x0d,0xfb,0xb7,0x9e, +0xf7,0xb9,0x33,0xae,0x23,0x1c,0x3c,0x64,0x14,0x06,0x0d,0xa4,0x20,0xbc,0x1a,0x89,0x07,0x84,0xa2,0x4e, +0xe4,0xbe,0x81,0xde,0x3d,0xc6,0x0c,0x88,0xff,0x9f,0xb8,0x76,0x61,0x11,0x32,0x17,0x2f,0xd9,0x9f,0xa9, +0x9b,0x88,0x0f,0x5a,0x00,0x7e,0xe7,0x61,0xc2,0xc6,0x07,0xe2,0x72,0x4c,0x92,0x9d,0x28,0x33,0xcd,0xb8, +0x0a,0x16,0x40,0x2d,0x87,0xd2,0x27,0x61,0xb2,0xd8,0x34,0xe8,0x2c,0x09,0xba,0x71,0x8c,0x98,0x91,0x53, +0x3f,0x4c,0x64,0xa8,0xe4,0x05,0x3a,0x7d,0xdd,0xca,0xd6,0x77,0x6f,0xb0,0x66,0x8a,0x8e,0x19,0x40,0xc1, +0xba,0x85,0xc1,0x91,0x2d,0x7f,0x8d,0x6d,0xaf,0x3a,0x64,0x13,0xcc,0x9b,0xfc,0x45,0x48,0xc0,0x10,0x81, +0x75,0x01,0x9a,0x06,0xf3,0xb0,0x73,0xd3,0x3b,0x4d,0x9c,0x01,0x3b,0xea,0x50,0xb5,0x2c,0x55,0x49,0xa6, +0x22,0xe8,0x95,0x8d,0x09,0x80,0xae,0xab,0x93,0x67,0xc4,0x94,0xf0,0x11,0x99,0x6b,0x8a,0x7b,0x8e,0x05, +0x83,0x62,0x04,0xa2,0xeb,0x1f,0x64,0x23,0x59,0xd0,0xcb,0x75,0x8a,0x29,0xd4,0x1c,0xd6,0xf4,0xac,0xc2, +0xf2,0xaa,0x81,0x88,0x47,0x2f,0x6b,0xce,0x7b,0x43,0x74,0xac,0x7a,0x21,0x63,0xa1,0x46,0x0e,0xfd,0xe9, +0x54,0xfe,0xba,0xbe,0x09,0xf9,0x8f,0xd9,0x96,0x8c,0xde,0x00,0xf6,0xfe,0x9b,0xfc,0x3d,0x6b,0xcd,0x0c, +0xc1,0xe1,0x6d,0x67,0xc9,0x9d,0x33,0x8b,0x2b,0xcd,0xc1,0x6d,0xf2,0x6f,0x3a,0xa0,0x1f,0xf1,0x61,0xfe, +0x01,0x2a,0xd3,0xec,0x8b,0xb1,0x89,0x3c,0x22,0x5c,0xa8,0x90,0x46,0x84,0xda,0x40,0xc0,0xb6,0xa9,0x3f, +0xa8,0xee,0x07,0x78,0xf9,0xa1,0x90,0x7a,0x06,0xf6,0x60,0xf3,0xf8,0x87,0xe4,0x0f,0x04,0x07,0x18,0xf1, +0x98,0x9d,0xcc,0xde,0xf4,0x39,0xd9,0x60,0x42,0xe6,0xd4,0x11,0x5f,0x82,0xa6,0xfc,0x83,0xa4,0x9f,0x92, +0xf5,0x96,0x8c,0xa7,0xa5,0x37,0xa1,0x98,0x4a,0x7f,0x91,0x10,0x0f,0xfc,0xe5,0x6e,0x90,0x3c,0x03,0xea, +0xd2,0xa6,0xa5,0x8d,0x30,0xd5,0x21,0xb3,0x9c,0x35,0xd5,0xde,0x74,0xdc,0x97,0x27,0xf4,0x96,0xdf,0x4d, +0x23,0xed,0x42,0x74,0x93,0x83,0x9c,0x43,0x71,0xd3,0x70,0x01,0x9a,0xa6,0x70,0xc2,0x7d,0x33,0xb6,0xe1, +0x81,0xcf,0x9e,0xc5,0x29,0x98,0x56,0x30,0x1a,0xf2,0x11,0xe6,0xad,0x67,0x71,0x16,0x44,0x19,0xa5,0x3f, +0xb3,0xbe,0x29,0x10,0x2d,0x89,0x7d,0xa0,0x13,0x70,0xc1,0xef,0x22,0x8c,0xec,0x43,0x58,0x80,0xdf,0x67, +0x18,0xa8,0x39,0x15,0x7a,0xe4,0x9e,0x46,0x74,0x78,0x3a,0x5f,0x02,0x18,0x06,0x05,0x50,0x20,0x2c,0x62, +0xf7,0x52,0x57,0x29,0x88,0x54,0xd7,0x25,0xea,0x62,0xdf,0xa0,0xd8,0x2f,0x08,0xfe,0xe0,0xe4,0xea,0xb8, +0x4d,0x83,0x79,0x90,0xda,0xc4,0xf7,0x28,0x65,0x7d,0xaf,0xd3,0xd8,0xf1,0xf3,0x33,0x8a,0x40,0x3d,0x4b, +0xf0,0x4c,0x46,0x71,0x8d,0x2e,0xa4,0x08,0x80,0xa4,0xfc,0x8a,0xa0,0xb8,0xda,0x5c,0x9d,0x50,0x4f,0xab, +0x69,0x5e,0xdb,0x55,0x0d,0xfd,0x3e,0x49,0xdc,0x1c,0x36,0xa7,0xc8,0x6d,0x02,0x3a,0x9a,0x4e,0x56,0x20, +0xef,0x9a,0x7c,0x48,0x91,0xb2,0x88,0x34,0x18,0xde,0xe3,0x82,0xd5,0x4d,0x13,0xff,0x90,0x10,0x42,0x84, +0xbe,0xb4,0x41,0xfa,0xcf,0x34,0xd5,0xee,0x85,0xbe,0xf8,0x34,0x90,0x88,0xa0,0x47,0xf1,0x91,0x07,0xea, +0x40,0x1d,0x32,0xf9,0x91,0x45,0x3c,0x6b,0xb4,0x04,0x7f,0x66,0xb1,0x3f,0xec,0x2d,0xfe,0xe6,0xc3,0xe3, +0xb9,0x0a,0x58,0x54,0x10,0x7b,0x8b,0xbf,0x5d,0x1e,0xc3,0xde,0xd1,0x27,0xcf,0xee,0x98,0xa8,0x56,0xd2, +0x5b,0x39,0xb3,0x34,0x5f,0x68,0x32,0x18,0x32,0x9b,0x7a,0x9a,0xcc,0x7b,0x53,0x04,0x02,0x8a,0x0f,0xdd, +0x63,0x7e,0x97,0x9e,0xd7,0x21,0x10,0x35,0xe5,0xd2,0x47,0xf6,0xd6,0xd4,0x8c,0x64,0x42,0x12,0xcd,0xb3, +0x3d,0xdf,0x7e,0x85,0xb8,0x41,0x81,0x46,0x96,0x7f,0xc3,0x82,0x84,0x90,0xe2,0x76,0x7f,0x22,0xe1,0x35, +0x70,0x13,0x0c,0xa1,0x02,0x2a,0xf0,0x8b,0x10,0x87,0x6c,0xcc,0x12,0x6f,0xb1,0x93,0x16,0x16,0x1f,0xd8, +0x83,0xc0,0xf3,0x76,0x1c,0x37,0xe8,0xc7,0x4a,0xa2,0x87,0x77,0x13,0x5a,0x5c,0x4b,0x7c,0x4b,0xac,0x85, +0xb7,0xce,0x34,0xae,0x0b,0x69,0x5f,0x9c,0xcd,0x44,0x02,0x6c,0xcd,0xef,0x09,0x60,0xf3,0xd8,0xf9,0xb3, +0xb7,0xf1,0x08,0x8d,0xf2,0x9a,0x1f,0xbc,0xed,0x61,0x18,0x85,0x45,0x84,0x23,0x2d,0xe7,0x6e,0x41,0x38, +0x29,0xde,0x9f,0x46,0x9a,0x73,0xbe,0x69,0xdf,0x69,0x8b,0xee,0x14,0xcf,0x04,0x18,0xf9,0x99,0x47,0x38, +0x6c,0x8f,0x04,0x52,0x38,0x69,0xa7,0x8e,0x3b,0xf6,0x5b,0xdc,0xca,0x42,0xc6,0x1e,0x08,0x42,0x0c,0xe0, +0x08,0xfd,0xf1,0x3e,0x1a,0x35,0x52,0xc4,0x61,0xbc,0x65,0x81,0xe0,0xd3,0xc8,0xa6,0x67,0x62,0x8d,0x04, +0x51,0x80,0xf4,0xfd,0x82,0x9b,0x85,0xae,0xb5,0x4e,0xa2,0x03,0xd2,0x54,0x10,0xab,0x44,0xe1,0x46,0x23, +0x6e,0x66,0xd8,0x63,0x6d,0xe8,0x60,0x3b,0x9b,0xc1,0x6f,0x84,0x3f,0x19,0xa2,0xde,0x70,0xe0,0x61,0x51, +0x08,0xb5,0xb4,0x29,0x4e,0x67,0x9c,0x82,0xcc,0x6f,0x36,0x06,0xdc,0xa5,0xdd,0xf0,0x3c,0xb2,0xc7,0xed, +0x8f,0xcb,0x63,0x75,0x40,0x66,0x24,0x69,0x83,0x3c,0x34,0x34,0x08,0x2a,0x1d,0x4c,0x98,0x9f,0x3f,0x4d, +0x10,0x33,0x5f,0xe4,0x2f,0x1f,0xc0,0x26,0xd0,0x41,0x47,0x23,0x36,0xc5,0x26,0x6e,0x90,0xc8,0x8e,0x8c, +0x9a,0xbe,0xed,0x4e,0x04,0x56,0xa4,0x86,0x7f,0xa1,0x48,0x02,0x71,0xfc,0x4c,0x77,0x1b,0x40,0xa0,0xc8, +0x75,0x8c,0x22,0xbb,0x72,0xdc,0xa0,0x1c,0xb1,0x3a,0xea,0x2a,0x60,0x56,0x98,0xc4,0x84,0xc5,0x5d,0x3e, +0xc4,0x8b,0x37,0xef,0xc3,0x80,0xbe,0x84,0xe4,0x22,0xdf,0xca,0x8f,0x3d,0x76,0x1d,0x64,0x76,0xa8,0xcb, +0x0e,0x13,0x3b,0x3f,0x7f,0xb2,0xad,0x2b,0x83,0xd2,0x8d,0xeb,0xe6,0x44,0xa5,0x04,0xf0,0x9e,0xd4,0xe0, +0xdf,0x2f,0xea,0xa6,0x85,0x41,0x30,0x30,0xb0,0x54,0x0a,0x95,0x15,0xfc,0xe8,0xf9,0xeb,0x88,0xbb,0xda, +0x93,0x8e,0x68,0x10,0x89,0xfb,0x73,0x5f,0x23,0x4c,0x74,0xd7,0xdf,0xcc,0x2f,0x7b,0x04,0xd5,0x40,0xf5, +0x26,0xb8,0x05,0x13,0x82,0xe9,0x93,0x80,0x81,0x14,0x28,0x85,0x04,0x56,0x29,0x2f,0x50,0x84,0xc4,0x41, +0x21,0x4b,0x00,0x0e,0x43,0xbd,0xea,0x0e,0x2e,0xeb,0xae,0x6a,0x4f,0x61,0x4e,0xea,0x3e,0x49,0x19,0x9b, +0x4c,0x30,0x4f,0x7f,0xe6,0x9c,0x6e,0x4a,0x22,0x3d,0x5a,0x29,0x77,0x91,0xd8,0xc8,0xdb,0x6d,0x58,0x19, +0x9f,0x3e,0xe1,0xdf,0x74,0xc5,0x02,0xbb,0xfd,0x31,0x73,0xd1,0xa3,0xa5,0xb6,0xfa,0x20,0x64,0xef,0x88, +0x7d,0x07,0x83,0x81,0x5a,0x46,0xca,0xa4,0xe3,0xc2,0x15,0xf7,0xc3,0x6d,0xcc,0xa0,0xb1,0xd7,0x33,0xba, +0x79,0x8a,0xd3,0xc2,0x5c,0xb9,0x28,0x2e,0x60,0x05,0x4a,0x89,0x35,0xfc,0xf0,0xfd,0xff,0x67,0xee,0x5d, +0xb7,0xdb,0x36,0xb2,0xb6,0xc1,0xff,0x73,0x15,0x22,0xda,0xad,0x00,0x66,0x49,0xa2,0xec,0x38,0xdd,0x01, +0x0d,0x73,0x1c,0x3b,0x6e,0xbb,0xdb,0x8e,0xfd,0xda,0x4e,0x9c,0x6e,0x8a,0xc9,0x82,0x48,0x48,0x42,0x42, +0x01,0x0c,0x00,0x5a,0x72,0x44,0xf6,0x9d,0xcd,0x9a,0x4b,0x9a,0x5b,0x98,0xfd,0xec,0x5d,0x55,0x28,0x1c, +0x28,0xe7,0xed,0xf7,0xfb,0xd6,0x4c,0x56,0x2c,0xe2,0x50,0xa8,0xf3,0x61,0x1f,0x9f,0x0d,0x12,0x31,0xd5, +0x39,0xc6,0xcc,0xba,0x13,0xd5,0xc7,0xec,0x6a,0x8c,0x12,0x72,0x73,0x88,0xc0,0x6a,0x0c,0x1f,0x10,0x7d, +0x63,0xab,0x42,0x14,0x65,0x46,0x47,0x4f,0xdd,0xad,0x49,0xd2,0xb1,0xb6,0x33,0xa2,0x07,0x4c,0xa0,0xb9, +0xdb,0x9f,0x7a,0x59,0x89,0x8d,0x1b,0x51,0xbd,0xdc,0x09,0x31,0x53,0xa2,0x4e,0x55,0x83,0xe5,0x34,0x6e, +0xae,0xe7,0x59,0xd4,0x68,0x4a,0x3c,0xd3,0x32,0xd5,0xb9,0x19,0x92,0x71,0x2e,0x12,0x64,0x1c,0xc5,0xdc, +0xf5,0xcf,0x18,0x25,0x53,0xec,0x94,0xb2,0x69,0xcf,0x73,0x9a,0x3c,0x34,0xdd,0xd7,0xfb,0xfb,0x05,0xf6, +0x62,0xd4,0xf0,0x19,0x9f,0xab,0x50,0xac,0x45,0xee,0x03,0x68,0x56,0x6c,0x0b,0x98,0xab,0xc8,0x95,0x53, +0x32,0x1b,0xcc,0xf0,0x2c,0xc9,0x31,0x22,0x76,0xa3,0xa4,0x67,0xe8,0x3d,0xea,0x3a,0xd8,0xda,0xf1,0xa8, +0xc4,0xd1,0x72,0xba,0xe6,0x51,0x80,0x2d,0xd7,0x92,0x56,0x0d,0x5f,0xaa,0x41,0x1c,0x38,0x4a,0x5b,0x4c, +0x86,0x28,0x25,0x32,0x60,0x99,0x56,0x7c,0x9e,0xa8,0x92,0x7a,0xca,0x6a,0xff,0x4d,0x16,0x58,0x7c,0x75, +0x2e,0x7c,0x47,0x53,0x26,0x86,0x08,0x6f,0x34,0x89,0x59,0xe1,0x1b,0xe2,0xcf,0x00,0x0f,0x58,0x40,0x89, +0x34,0x6a,0x6e,0x07,0x12,0xb9,0x06,0xce,0xbc,0x8a,0x39,0x25,0x8a,0x27,0x86,0x22,0x99,0x7a,0x6c,0xcf, +0x5b,0x7a,0xb3,0xa0,0x8a,0x62,0xdf,0xec,0xec,0x30,0xdd,0x90,0x7b,0x6d,0xa9,0x71,0x66,0xf5,0x0d,0x40, +0xea,0x49,0x42,0x8f,0x25,0x9b,0x45,0x02,0x33,0x7f,0x4f,0xf1,0x4f,0x18,0x4f,0xce,0x42,0xef,0x3b,0x46, +0x33,0x86,0x67,0x2b,0x5b,0xd8,0x22,0x60,0x23,0xcd,0xc6,0x21,0x03,0x3a,0x53,0x2f,0x6c,0xb7,0xdb,0x66, +0x3e,0xe5,0x9a,0xb9,0x49,0x4f,0xa1,0xeb,0xc3,0x6a,0xcb,0x5b,0x52,0x95,0xc0,0x98,0x29,0x4b,0x1c,0xf7, +0x03,0x55,0x24,0x91,0x48,0x33,0xb4,0x4e,0x48,0xc4,0x9e,0xaf,0xcf,0x54,0x9a,0x44,0x95,0xd6,0x38,0xa8, +0x9c,0xaf,0x45,0xf6,0xa6,0x62,0xbe,0xc1,0x3e,0xad,0x4a,0xbe,0x64,0xe7,0x35,0xfa,0x62,0x9d,0x60,0xc6, +0x2e,0x93,0x68,0x0d,0x1d,0xf5,0x3b,0xde,0x53,0xd5,0x9c,0x6f,0x2f,0xe2,0xf2,0xf5,0x55,0x66,0x54,0x4e, +0xea,0x2c,0x89,0xe6,0x4e,0x9a,0x55,0x12,0x9d,0x69,0x9b,0x6e,0xa9,0x0b,0xd8,0x2e,0x96,0xa8,0xc1,0x61, +0xff,0xf0,0xde,0xe1,0xb1,0x47,0xfb,0xba,0x63,0xb5,0xe1,0x58,0x4a,0x40,0x5e,0x0b,0x3a,0x25,0xb3,0x92, +0x5a,0xe2,0x0a,0x3e,0x26,0xd1,0xd1,0x4f,0xd3,0x93,0xf2,0x64,0xfd,0xec,0xdb,0x67,0xcf,0x4e,0xae,0x1f, +0x8f,0x66,0xc3,0x4d,0xeb,0xfe,0xce,0xd1,0xb9,0xfa,0x84,0x74,0x07,0x97,0xe5,0xc1,0x91,0xba,0xa4,0xcb, +0x03,0x7f,0x1a,0x1f,0xfc,0x3e,0x0b,0xe8,0xcd,0xf5,0x8e,0xe2,0xaa,0xa6,0x60,0x7a,0x3b,0xe6,0xb2,0x35, +0xb9,0x27,0x7d,0x17,0xdd,0xfc,0xc2,0x66,0x72,0xe1,0x05,0x11,0x96,0xb4,0x68,0xaa,0x62,0x0d,0x6b,0x39, +0xe2,0x2a,0x94,0xa1,0xa5,0x55,0x95,0x33,0xfd,0xd1,0xa3,0x61,0x4a,0x93,0x5a,0x25,0x4d,0x2d,0x69,0xa8, +0xa1,0xea,0xa3,0x5e,0x64,0x25,0xc9,0xa4,0x91,0x3a,0x4c,0x1e,0x8e,0x26,0xb8,0x9a,0x26,0x43,0x56,0x47, +0x49,0x71,0xb3,0x50,0x9e,0xcd,0xb6,0x0a,0x83,0xf6,0xae,0x8a,0xe7,0xbf,0x36,0xf2,0xb4,0xfa,0x20,0xd1, +0x19,0xf3,0xa7,0x4e,0xc5,0x69,0xc7,0x76,0x0c,0x3b,0x40,0x42,0x7f,0x94,0x51,0x12,0xd1,0x67,0x05,0xb6, +0x69,0x7e,0xd1,0x57,0x4b,0x4b,0x5a,0x21,0x5d,0x42,0xad,0x21,0xaa,0xb7,0x2f,0x1d,0x97,0x68,0xeb,0xe6, +0x6b,0xf2,0xb8,0xe9,0x84,0xe2,0xba,0x42,0x58,0xfb,0xff,0x0c,0xa3,0x1d,0x50,0xc6,0x3c,0x4d,0x7b,0x7a, +0xb3,0x95,0x73,0x9a,0xf4,0xeb,0xe6,0x28,0x07,0xd6,0xdb,0xef,0xca,0x21,0xf9,0xcd,0x1f,0x81,0xd9,0x8c, +0x6f,0x4d,0x72,0x00,0x86,0x34,0xf9,0xad,0xa7,0x6f,0x9d,0xd1,0x20,0xfe,0x7b,0x98,0x0c,0x7d,0x1e,0xaa, +0x70,0x54,0xf7,0x6b,0xb3,0xa2,0xd9,0xa3,0x88,0x76,0x9d,0xec,0x61,0x35,0x99,0xf2,0xe0,0x65,0xb3,0x19, +0xb1,0x8a,0xc8,0x3e,0x5b,0xec,0x6c,0xa6,0x1d,0x18,0x3a,0x47,0x3b,0x63,0x28,0x83,0x1f,0xc6,0x44,0x05, +0xe5,0x45,0x15,0x62,0x69,0xd3,0xaf,0xc2,0x3e,0x49,0x3d,0x87,0x5b,0xbe,0xda,0x2a,0x4b,0x04,0x44,0xb2, +0xac,0xf4,0x8d,0x53,0x28,0xda,0xe4,0x98,0x94,0x11,0x91,0x63,0x7b,0x92,0xcf,0x4d,0x18,0xb5,0x44,0xc7, +0xb4,0xd3,0xdb,0xc7,0xa6,0xed,0x4b,0x23,0x18,0xf3,0x4e,0xf3,0x1c,0xda,0xf3,0x9a,0x7e,0x8e,0x59,0xdc, +0x19,0x37,0x32,0x2b,0x75,0x66,0xc4,0xbf,0xa9,0x0e,0xc1,0x2d,0x3a,0x6a,0x87,0x2a,0x8d,0x45,0x2b,0x4d, +0xc4,0x0d,0x15,0xcf,0x67,0x07,0xdd,0xf1,0x40,0x97,0x07,0x07,0xc1,0xb8,0x7c,0xb8,0x1e,0x97,0xc2,0x09, +0x6a,0x0d,0x7f,0xd2,0x28,0x4a,0x68,0xda,0x4a,0x64,0x51,0x59,0x14,0x43,0x19,0x5e,0xb0,0xb3,0x88,0x8a, +0xb5,0x3c,0x69,0xc9,0xc7,0x9d,0x10,0xc3,0x6f,0x96,0x71,0x9a,0x69,0x39,0x70,0x81,0x92,0xd3,0xa8,0xc9, +0x5a,0xc0,0x62,0x78,0xe2,0xb3,0xc1,0xdb,0xe0,0x98,0x8e,0xbc,0x6c,0x7f,0xbf,0x99,0x20,0x0b,0x26,0x19, +0x06,0x35,0xe4,0x77,0x9d,0x4c,0xf9,0x35,0x48,0x48,0xaa,0x81,0x63,0x31,0x04,0xb9,0x09,0x65,0x1d,0x5a, +0x0a,0x0f,0x35,0xe2,0x34,0x85,0xab,0xf7,0x53,0x8e,0xf8,0x43,0xbb,0x45,0x84,0xda,0x6d,0x8c,0xb8,0x97, +0x8b,0x64,0xc8,0x42,0xa0,0x02,0xcf,0x2f,0xe9,0x14,0xb6,0x56,0x14,0x47,0x27,0x4f,0x69,0xf7,0x83,0x21, +0x45,0xca,0x61,0x16,0x3f,0x85,0x20,0x05,0xf9,0x1c,0x72,0xa7,0x75,0xdb,0x23,0x0d,0x8b,0x3b,0xcb,0x5d, +0x71,0x42,0x40,0x55,0xaf,0x07,0xa7,0x67,0xd5,0xd7,0xfe,0x58,0x8e,0xa1,0x2c,0xf2,0x31,0x4e,0x59,0xbb, +0xf6,0xbd,0x01,0xbc,0x35,0x12,0x96,0xb9,0x8b,0xbb,0x1a,0x3e,0xf9,0x8e,0xc6,0xb1,0x48,0xe7,0xfd,0xfb, +0x5a,0xd3,0x11,0xcc,0xaf,0x7d,0xba,0xd8,0xc3,0xcb,0x9a,0x18,0x45,0x60,0xb8,0x07,0x94,0x57,0xfc,0x9d, +0x9f,0x1c,0x38,0x3a,0xc6,0x24,0xe0,0x6a,0x39,0xa3,0xd3,0x2d,0x47,0x19,0xc3,0xec,0x81,0x3f,0x80,0xfd, +0xcb,0x54,0xe6,0xeb,0x9e,0xa4,0x9f,0xb1,0xdb,0x42,0x62,0xfc,0x73,0x58,0xc9,0x5e,0xa0,0x4e,0x01,0x33, +0x65,0x73,0xbb,0xa3,0x79,0xce,0xa2,0x85,0xe4,0xbc,0x72,0x57,0xb1,0x72,0x7d,0xd8,0x8c,0x8d,0xe4,0x66, +0x63,0xce,0xce,0x0c,0x5e,0x5e,0x2b,0x5d,0x59,0x47,0x4f,0xd1,0xad,0xec,0xd8,0x99,0xea,0x56,0x54,0x68, +0x6d,0x50,0x15,0xb2,0xbe,0xed,0xd4,0x81,0x53,0x4c,0xd8,0x59,0x90,0xec,0x50,0x53,0x8f,0xa9,0x79,0x3a, +0x59,0x27,0xd3,0xba,0xe5,0xb3,0x9a,0x01,0x0e,0x4d,0x0a,0x9a,0xac,0xd6,0x34,0xa8,0x51,0x6c,0xc6,0xf3, +0xc1,0xca,0x83,0xfb,0xaa,0x94,0xd8,0x99,0xfb,0x29,0x51,0x1e,0x9d,0xe4,0x5e,0x3d,0x97,0x2f,0x13,0x3a, +0xc6,0x83,0xce,0xf1,0x54,0x33,0x55,0xc4,0xfc,0x32,0x33,0x81,0x71,0x10,0x63,0x3f,0x6b,0xe2,0x9d,0x3e, +0xcc,0xb8,0xf3,0xc5,0x56,0x8a,0xd8,0xee,0x54,0xe1,0x07,0x3d,0x4c,0x5d,0x45,0x4c,0x6f,0x9b,0x57,0x67, +0xf9,0x75,0xcf,0x07,0x62,0x9d,0xca,0x64,0x62,0x6d,0xc0,0xa3,0x68,0xca,0x5d,0xde,0xd6,0xc3,0xd4,0xbf, +0xe0,0xfc,0x9d,0xc6,0x7c,0x4c,0xc4,0x83,0xe6,0x32,0xfe,0x35,0x69,0xd1,0x0e,0xae,0x95,0xa0,0x2b,0x54, +0xb1,0x8b,0x85,0x5a,0xa8,0x37,0x15,0x6a,0x68,0x6d,0x91,0x9f,0x75,0x1d,0x88,0x92,0x09,0xd1,0x09,0x61, +0x12,0xd0,0x39,0x61,0x34,0xa6,0x20,0xda,0x33,0x9a,0x51,0x59,0xb7,0x54,0xe7,0x48,0x96,0x8a,0x57,0x93, +0x83,0xe3,0xd0,0x71,0xcf,0x83,0x8d,0xab,0xe2,0xc2,0x5a,0xb5,0xad,0x6d,0xfe,0x87,0xc6,0x8e,0x45,0x6b, +0x9f,0xed,0x08,0x14,0x0f,0x69,0x45,0x51,0x3f,0x27,0x2c,0x62,0x60,0x35,0x80,0xed,0x40,0x9d,0x26,0xa2, +0x3e,0xa6,0xc9,0x43,0x5d,0xd4,0xa9,0x96,0xab,0x47,0xee,0x38,0x9a,0xd0,0xf9,0x30,0xc8,0x1c,0x6f,0x93, +0x41,0xc5,0xce,0x18,0xb0,0x13,0x2d,0x68,0x80,0x4b,0x6b,0x32,0x9e,0xb8,0xfe,0x18,0x69,0x9b,0x7e,0xa9, +0x05,0xfa,0x72,0x0a,0x42,0x17,0x2b,0xe2,0x12,0x3b,0xa3,0x9c,0xf6,0xc4,0x0f,0x53,0x16,0x91,0xe7,0x11, +0x4a,0x8b,0xe9,0x54,0x81,0x4c,0x59,0xc6,0x88,0x78,0x93,0xb2,0x69,0xa4,0x5e,0x73,0x76,0x9f,0xff,0xc0, +0xb0,0x9b,0x8e,0x11,0x26,0x93,0x8e,0xeb,0x74,0x11,0x1e,0x2b,0x16,0x43,0xf6,0x4e,0x7f,0xea,0x1b,0xb6, +0x02,0x6f,0x4f,0x02,0x11,0x14,0xf1,0xc9,0x07,0x5f,0xdd,0x24,0xca,0xda,0x42,0x4a,0x47,0x87,0x1e,0x19, +0x12,0xd4,0x9e,0xa5,0xea,0x5e,0xe0,0x9a,0x58,0x3b,0x4b,0x55,0xd3,0x5e,0x42,0x9e,0xc0,0x12,0x51,0x94, +0xf9,0x9d,0x1c,0x82,0xa0,0xb6,0xb5,0x4e,0xdc,0x1f,0x3e,0xf2,0xc5,0xd4,0x5a,0xa5,0x38,0x71,0xae,0xc2, +0xa7,0xc4,0xee,0xc0,0xa8,0x41,0x95,0xeb,0x15,0x7c,0xab,0xc3,0x45,0x42,0x04,0x40,0xcf,0x46,0xf4,0xee, +0xd3,0xe5,0x69,0xbe,0x94,0xe3,0xfb,0x2c,0x9b,0xca,0xed,0x61,0x5a,0x21,0x30,0x60,0x5e,0xd0,0x04,0x4b, +0x3a,0xcf,0x02,0x2b,0x4d,0xf2,0xbe,0x11,0x7a,0x65,0x4f,0x9c,0xd1,0xf6,0x84,0x71,0xd9,0x33,0x1d,0xb2, +0xc7,0x6b,0x63,0x0f,0x75,0xd9,0x7b,0x9b,0x9c,0x7f,0x7b,0xbd,0xd2,0xfb,0xbe,0x1c,0x8f,0xba,0x6c,0xcf, +0xe5,0x4a,0x9b,0x03,0x42,0x7b,0xa4,0x3d,0x31,0xbc,0x61,0x05,0x69,0xdf,0xac,0xe3,0x1a,0x2c,0x32,0xbb, +0x53,0x97,0x33,0x71,0x44,0x62,0xd5,0x4e,0x39,0x82,0x9a,0xc3,0x4c,0x01,0xdb,0x59,0xd3,0x8c,0xef,0x82, +0xd6,0x6b,0x6d,0x53,0x1d,0x7e,0x8d,0xc9,0x60,0x7c,0xe4,0x3a,0x22,0x31,0xda,0xdd,0x71,0xae,0xc1,0x0c, +0xf2,0x62,0x7f,0xff,0x6b,0xf9,0x61,0xb3,0xf4,0x0b,0x33,0x17,0x32,0x64,0x30,0x00,0x3d,0xe2,0x23,0xe3, +0x46,0x61,0x34,0xe6,0xe1,0x1d,0xec,0x9e,0xcf,0xf7,0xf7,0x5f,0x42,0xa1,0xce,0x2e,0xe3,0xcf,0xd5,0x6b, +0x51,0xe0,0x1f,0xeb,0x7c,0xfd,0x75,0xf4,0x49,0x5b,0x92,0xd1,0x1c,0x13,0x43,0x01,0xf8,0xa3,0x70,0xa2, +0xaf,0x23,0x14,0xc6,0x02,0x1a,0x50,0x76,0x8e,0x4b,0xd3,0x37,0x9f,0x5e,0x2c,0x60,0x43,0xd0,0xa8,0x49, +0x7c,0x48,0xf3,0x26,0x8a,0xac,0xce,0x42,0xfb,0x60,0xc0,0x6d,0x63,0x6b,0xc4,0x0c,0x2b,0x26,0x12,0x57, +0x3d,0x59,0xed,0xef,0xbf,0xa0,0x1d,0x8c,0x6d,0x16,0x3f,0x93,0xcf,0x0d,0x4b,0x95,0xee,0xcd,0xcc,0xfb, +0x7f,0xe8,0x79,0x4e,0xcc,0x49,0xbf,0xd7,0x15,0xef,0xa8,0xa8,0x21,0x37,0xee,0x3e,0x9c,0x91,0xdf,0x37, +0x53,0x3e,0x81,0x34,0x5b,0x5c,0xc7,0xab,0x1d,0x6f,0x3e,0x5b,0x9a,0x4d,0x89,0xd6,0x50,0x55,0xa9,0xbc, +0xf7,0x87,0xbf,0x95,0x44,0x67,0x0f,0xbe,0x27,0x06,0x91,0x26,0x21,0x84,0x3b,0x83,0x37,0x34,0xae,0x6f, +0x8c,0x98,0x5b,0x0f,0x06,0x0f,0x2a,0x4d,0x19,0x48,0x9f,0x6a,0x89,0x4c,0x2d,0xb7,0xde,0x65,0x8b,0x2e, +0xdb,0xae,0x5f,0xca,0xd8,0x38,0xd2,0xf9,0x74,0xe1,0xd1,0xc1,0x53,0x46,0xa5,0x3d,0xce,0xae,0x12,0xf5, +0x3e,0x81,0xbb,0x71,0xd9,0x4e,0x48,0x9b,0xe8,0x07,0x98,0x2b,0xbc,0x13,0xf3,0xb4,0xa5,0x35,0xe9,0x81, +0x99,0xe3,0x92,0x9d,0xee,0xfe,0xe4,0x0d,0x4b,0x96,0xe2,0x10,0x39,0xcc,0x3b,0x34,0xb4,0x41,0xa2,0x40, +0x50,0x1e,0x5c,0xb6,0x2e,0xad,0xb7,0xee,0xfe,0x3e,0x4e,0xe5,0xda,0xa8,0x96,0x48,0xaf,0x0a,0x5d,0x31, +0x0f,0x1c,0x37,0x9a,0xba,0x0f,0x57,0x5d,0x0f,0xb7,0x39,0xf7,0x9e,0x88,0x6b,0xce,0x89,0xaa,0x3d,0x83, +0xb6,0x6f,0xf9,0xe9,0x06,0x3c,0xc6,0x07,0x8c,0x4f,0xc7,0xb7,0x01,0xad,0xb5,0x02,0x19,0xf8,0x35,0xd8, +0x56,0x97,0x74,0x88,0xdf,0x39,0x86,0x63,0x65,0x4b,0x8c,0x8f,0x6d,0xb2,0x16,0x09,0xfa,0x59,0xed,0xc7, +0x0f,0x8e,0x9b,0x45,0xe2,0x68,0x70,0xf0,0xe8,0x09,0x6d,0x95,0xf3,0x8b,0xe4,0xa5,0xb6,0x24,0xb7,0xda, +0xe9,0xca,0x08,0xd4,0x66,0x44,0x76,0x70,0x5a,0x62,0x08,0x44,0xe8,0x13,0xd5,0x14,0x81,0x23,0xce,0x2d, +0x5c,0x22,0x6a,0xfa,0x81,0x65,0xe7,0xce,0xeb,0xb4,0x26,0xa0,0x9f,0xb7,0x3d,0xce,0x4c,0x08,0x1d,0x2f, +0x18,0xd7,0x9d,0x38,0x18,0x24,0xb5,0x58,0x2b,0x73,0x7d,0x97,0x74,0x7f,0x55,0x0d,0xeb,0xe8,0xdb,0x3c, +0x4b,0xab,0x08,0x87,0x9c,0xa3,0x01,0xc8,0xdb,0x44,0x43,0x62,0x76,0xd2,0x8d,0xc7,0x9a,0x6a,0x4b,0x33, +0x60,0x8e,0x3c,0x39,0x8c,0x69,0x2c,0x9e,0xb3,0x6b,0xc7,0x34,0x23,0xb2,0x81,0x76,0xd2,0x0e,0x18,0x80, +0x26,0x97,0x88,0x91,0xc0,0xf7,0x5d,0x1b,0x9e,0xa6,0xbf,0x09,0x64,0x9c,0x65,0xbe,0x2e,0xe6,0xc9,0x0b, +0xc8,0xba,0x0e,0x2a,0xf7,0x4e,0xe4,0xd1,0xe6,0x3c,0xe4,0x4d,0x54,0xd4,0x23,0xb4,0x97,0x1e,0x66,0xc4, +0x84,0xbd,0x4b,0x4f,0x97,0xb4,0x97,0xb2,0x88,0x35,0x63,0x36,0x43,0x12,0x1f,0x1c,0xdb,0x71,0x99,0x1c, +0x87,0x07,0x8e,0x9b,0x57,0xd9,0xab,0xd5,0xf9,0xac,0x2b,0x88,0x66,0xac,0x5c,0x87,0x90,0x4a,0xdc,0x70, +0xa8,0x71,0x4e,0x7f,0xae,0xff,0x27,0xd9,0xfb,0x4e,0xfe,0x44,0xcc,0x6b,0x5c,0x58,0xdc,0x05,0x3b,0x8a, +0x5b,0xee,0x28,0xce,0xf0,0x81,0x79,0x71,0xc9,0xc6,0x74,0x93,0xf6,0x14,0x59,0xa4,0x25,0x63,0xdc,0x32, +0x0d,0x3d,0xf1,0x18,0xc6,0x46,0x52,0x3a,0xd7,0xce,0x37,0x8d,0x0c,0xdc,0xaf,0x93,0xb0,0x6a,0xdf,0xa6, +0xe5,0x53,0xe7,0x01,0x34,0x0f,0xf5,0x13,0x10,0xf9,0x54,0x81,0x6f,0x31,0xa3,0xfb,0xbe,0x76,0x4a,0x6f, +0x55,0xd3,0x6d,0xf6,0xdc,0x69,0x76,0xe1,0x77,0x1b,0x4e,0x4b,0x6b,0x58,0x29,0xe7,0x8d,0xa8,0xb8,0xf4, +0x24,0x87,0x85,0x48,0x02,0x52,0xce,0x4c,0x6e,0xd8,0x30,0xc0,0xc1,0xc4,0x90,0x93,0x98,0xea,0xd9,0x14, +0xe6,0x2f,0xf1,0x4c,0xc4,0xf4,0x29,0x2d,0x62,0xbf,0xc0,0x0f,0xae,0x03,0xb6,0xbb,0x73,0x51,0x19,0x9c, +0x05,0xbf,0xbf,0xff,0xc7,0x9d,0x87,0x69,0xf2,0x37,0x61,0x17,0x5a,0xb8,0x0a,0xb5,0x89,0xc9,0x48,0xd5, +0x1c,0x14,0x2d,0x2b,0xcf,0x1b,0x57,0x44,0xc4,0x57,0xa0,0xb1,0x87,0x4c,0x4f,0x1e,0x32,0x4c,0xa3,0xd5, +0x38,0xed,0x42,0x4e,0x88,0xd0,0xa7,0xec,0xa1,0xc1,0xeb,0x87,0x7a,0x22,0xdd,0x6c,0x60,0x7a,0x02,0x87, +0xa5,0x7a,0x84,0x59,0x6b,0x40,0xc7,0xc5,0xcf,0xc3,0x61,0x2d,0x9e,0x64,0x39,0x5e,0x0d,0x52,0x80,0x8d, +0x56,0xbb,0xfd,0x8e,0x2b,0x61,0x22,0x82,0x8e,0x3b,0xd9,0x66,0x13,0x5b,0x5b,0x79,0xfd,0xc5,0xd8,0xee, +0x5f,0x0d,0x9b,0x0c,0xb5,0xd6,0x2a,0x44,0x98,0x85,0xc2,0x37,0xf8,0x1b,0x55,0xce,0xc4,0x85,0xa6,0x53, +0x46,0x4f,0x21,0xd4,0x95,0x3a,0x17,0xc3,0x76,0x8f,0xb6,0x96,0xdc,0xbf,0xbd,0x7e,0xf4,0xf0,0x8c,0xde, +0x7f,0x80,0x1b,0x3b,0x7e,0x58,0xce,0x35,0x8f,0xce,0x68,0xe7,0x5f,0x67,0x29,0x9d,0x5a,0x2f,0x9e,0xe2, +0x55,0xe3,0x9e,0xd3,0xc0,0x01,0x36,0xba,0xe5,0xcc,0x96,0x52,0x69,0x01,0x8c,0x0d,0x31,0xe3,0x2f,0xa3, +0x39,0x8e,0xd5,0xfd,0xfd,0x25,0x7c,0xa4,0xa2,0xe8,0x1b,0x5c,0xb1,0x12,0xa5,0x34,0xfd,0xb4,0x22,0x82, +0x27,0x5a,0xd2,0x1f,0xd1,0x45,0xd1,0xa9,0xbc,0x52,0xfc,0xac,0xdb,0x40,0xdb,0x93,0x0d,0x84,0x09,0x87, +0x2d,0x90,0x09,0xf3,0xe8,0xb8,0x39,0x6a,0xee,0x5a,0x70,0xf8,0x72,0xed,0xec,0x30,0x00,0x73,0xad,0xd3, +0xf5,0x88,0x30,0x42,0xb8,0x4f,0x34,0x40,0x14,0xda,0x39,0x42,0xed,0x9d,0xd5,0xdc,0x7e,0xce,0x3c,0x3d, +0x68,0x68,0xac,0x9d,0x5a,0x35,0xec,0x4e,0xd2,0x4f,0x3b,0x1c,0xc9,0xc1,0x60,0x96,0x6c,0x16,0x95,0xd4, +0x82,0x4e,0xe1,0xd3,0x2a,0x2b,0x76,0x64,0x13,0xf7,0x72,0x16,0x88,0x63,0xd0,0x20,0x83,0x83,0x32,0xe5, +0xc3,0x4e,0xa4,0x9a,0x91,0x83,0x5b,0xb1,0x3e,0xed,0xcb,0x7e,0x23,0xfe,0x4b,0x5d,0x03,0x26,0xee,0x6b, +0x95,0x01,0xa4,0x56,0x34,0x25,0xd8,0x1a,0xee,0x92,0xc9,0x3d,0xe2,0x0f,0x07,0xb9,0x3c,0xca,0x23,0x38, +0x95,0xc5,0xb0,0x3f,0xa9,0xb7,0x9a,0x42,0x78,0x83,0xd6,0x64,0x86,0xa3,0x3b,0xfd,0xb9,0x80,0x5b,0xb7, +0xb4,0xe3,0x1c,0x8e,0xbf,0x1f,0xb5,0x97,0xbf,0x2a,0x1d,0xc7,0xf5,0x72,0x16,0x96,0x6a,0x4a,0x2c,0xd2, +0x65,0x04,0xbe,0x00,0x64,0x7f,0x35,0x39,0x0f,0x3f,0xf9,0xe7,0x6a,0xa5,0x12,0xce,0x5c,0x5d,0x47,0xd9, +0x24,0x87,0xc6,0x79,0x92,0x84,0x17,0xf0,0x76,0x9b,0x4c,0x67,0x61,0x1c,0x5e,0xf2,0x19,0xb9,0xbf,0x9f, +0xf9,0x97,0xea,0x5a,0x52,0xa6,0x7c,0x62,0x2e,0xa3,0x4f,0xfe,0xb5,0x5a,0xb0,0x32,0x5d,0xa1,0x53,0xf1, +0x6a,0x5e,0x93,0x80,0xec,0x74,0x4e,0xcb,0x60,0x39,0x9d,0x73,0x47,0x5e,0x4f,0x17,0x74,0x85,0x5d,0xef, +0x52,0x5f,0x9d,0x19,0xf5,0x30,0xe6,0x71,0x0e,0x9f,0x15,0xbe,0x90,0xe1,0x5a,0x46,0x0c,0xfe,0x71,0xdd, +0xce,0xee,0x5a,0xb2,0x5b,0x4a,0xd7,0x5f,0xd2,0x1d,0xe5,0x33,0xce,0x59,0x4c,0x4c,0x6d,0x98,0xc2,0x51, +0x6e,0x4d,0x3b,0x29,0xfb,0xc8,0xed,0xfa,0x9a,0x72,0xcf,0x27,0x49,0x42,0x3d,0x7b,0x16,0x84,0x2b,0x3c, +0x7b,0x74,0x70,0x0c,0xd1,0xcb,0x74,0x89,0x0a,0xc6,0xf8,0x39,0x83,0x3d,0x24,0xaf,0xf7,0x6b,0xb4,0x34, +0x82,0x17,0xd2,0xb5,0x16,0xbc,0xfb,0x17,0xca,0x64,0x1d,0x84,0xd7,0x34,0x82,0x13,0x5d,0x81,0x98,0xfa, +0x68,0x1d,0x84,0x86,0x46,0xa5,0xdb,0xc6,0xb6,0x7e,0xdd,0xd8,0x82,0x65,0x76,0xd6,0xf3,0x30,0x8f,0x9e, +0x1c,0x02,0x2b,0x19,0x3e,0xe2,0x53,0x71,0x29,0xa2,0xd1,0x9b,0xe1,0x20,0xd9,0x6c,0x9c,0x57,0xa0,0x17, +0x69,0x0e,0xe7,0xb0,0xf4,0xa7,0x79,0xec,0xf8,0x4e,0xb6,0x30,0xa1,0xb6,0x54,0x1f,0x31,0x27,0xee,0x4f, +0x93,0x18,0x54,0x26,0x93,0x70,0x1e,0x4d,0x1d,0x56,0xb7,0x66,0x4f,0xa3,0x01,0x14,0xb2,0x70,0x2b,0xa7, +0xd3,0xf6,0x17,0xac,0x03,0x80,0x95,0x04,0xf5,0x0c,0x5b,0xeb,0xe4,0xe1,0x52,0x5f,0xd4,0xba,0x92,0x48, +0x30,0x3d,0xb6,0x33,0x5a,0x5d,0xa9,0x15,0xea,0x37,0x9b,0x5a,0xea,0xa6,0x06,0x54,0x01,0x22,0xdc,0x89, +0x8c,0xa7,0xe3,0x65,0x66,0xf7,0x38,0xa4,0x16,0x4b,0x30,0x27,0xad,0x61,0x03,0x90,0x3b,0x3f,0x65,0x3b, +0x18,0x40,0x18,0x64,0xb4,0x96,0xa4,0x9b,0x8b,0x68,0x38,0x2c,0xc7,0xc5,0x43,0x2c,0xba,0x46,0x81,0x85, +0xce,0x84,0x85,0x56,0xa6,0xaa,0x97,0x7e,0x09,0x37,0x56,0x2e,0x9e,0xaf,0xe8,0xc4,0xd4,0x5a,0xfc,0x91, +0x2a,0x0f,0x8e,0xad,0x43,0xc3,0x0d,0x9f,0x8c,0x21,0x8d,0x03,0xa8,0x88,0x69,0x79,0x70,0x4f,0xb2,0x9b, +0xd0,0xba,0x0b,0x3d,0x6f,0xeb,0x88,0xe8,0x2d,0x13,0x91,0xa9,0xf2,0x61,0x01,0x27,0x42,0x93,0x65,0x29, +0x66,0x66,0xa8,0xdb,0x35,0x80,0xae,0x6a,0xe8,0x26,0x79,0xb8,0x60,0x49,0xf6,0xdc,0xda,0xd8,0x18,0x35, +0x1d,0xd5,0xae,0x09,0x97,0x61,0xc4,0x5a,0x76,0x87,0x7c,0x84,0xed,0x32,0xa9,0x6f,0xe2,0xa8,0xbd,0x95, +0xa8,0xa5,0x7c,0xc3,0x5b,0x89,0x06,0xcc,0xf0,0x46,0x1e,0x76,0x90,0xfd,0x7d,0xa0,0x83,0x60,0x1d,0x5d, +0x46,0xbf,0xd0,0x82,0xa2,0x41,0xa7,0xb1,0x47,0xff,0x67,0x8b,0xc3,0xf7,0x8f,0xff,0x06,0x65,0x3f,0x8c, +0xda,0x4e,0xa3,0x6f,0x86,0x91,0x08,0x12,0x2f,0x69,0x22,0x36,0x34,0x14,0x9b,0xcd,0xe1,0xb1,0xba,0xaa, +0x57,0x1f,0xaf,0x67,0x9a,0x40,0xbf,0x44,0xd0,0xd9,0x3f,0x67,0x7b,0x9d,0x65,0x30,0xbe,0xa0,0xc9,0x74, +0x65,0x2c,0xb1,0xb0,0x5a,0xa7,0x17,0xc4,0x1e,0x5e,0xd0,0x88,0xf0,0x3e,0xb0,0xbf,0x3f,0x97,0x51,0x84, +0x47,0x32,0x7d,0x31,0x6f,0x0a,0x29,0x24,0x27,0xff,0x25,0x8f,0x56,0x34,0x78,0x1d,0x8c,0x57,0x34,0x16, +0x67,0x06,0x60,0x02,0x16,0x7b,0x31,0x84,0x16,0x25,0x5b,0x97,0x70,0x2f,0xce,0x8d,0x09,0x00,0x2a,0xf3, +0x4d,0x74,0x1a,0x6c,0x81,0x64,0x40,0x25,0x0f,0x56,0x28,0x8c,0xfa,0xfc,0xe0,0x00,0x78,0x3f,0xe7,0x26, +0x39,0x3b,0x19,0x2c,0x86,0xd1,0x05,0x0e,0x66,0x54,0x77,0x61,0x6b,0x44,0xa5,0x65,0xba,0xb4,0x15,0x6d, +0xa3,0x1f,0xd1,0xb1,0xce,0x76,0xb6,0x78,0x34,0x12,0xbe,0xe2,0x02,0x3b,0xcf,0x39,0xb5,0x8c,0xb6,0x66, +0xfe,0xeb,0xe3,0x27,0xfa,0x2f,0x91,0xa2,0xd1,0xd1,0x3b,0xfe,0x48,0xdb,0xcb,0xc7,0x60,0x6b,0xf6,0x8c, +0xb5,0xfa,0xc8,0x87,0x0b,0x36,0xe9,0x8f,0x76,0x10,0xa9,0x6e,0x43,0x3b,0xbe,0xc7,0x38,0x7a,0x84,0x70, +0x78,0x97,0x17,0x15,0xe5,0x62,0x66,0x87,0x6e,0x98,0xfa,0x25,0xba,0x0c,0xd4,0xb9,0x85,0x41,0x4b,0x27, +0x85,0x1f,0x07,0x61,0xcc,0x3c,0xe6,0x95,0x7a,0xaf,0x9e,0xa8,0x6f,0xd5,0xaf,0xea,0x9d,0xfa,0x4e,0x3d, +0x55,0xbf,0xa8,0xc7,0xea,0x37,0xf5,0x52,0x3d,0x57,0xcf,0xd4,0x6b,0xf5,0x46,0xbd,0x55,0xaf,0xd4,0x0b, +0xf5,0x21,0xf2,0xca,0xf4,0xf7,0xdf,0x97,0x89,0x37,0x3c,0xbe,0x0b,0xdd,0x11,0xe4,0x65,0xea,0x8e,0x6b, +0x8d,0xf0,0x0d,0x8d,0xcb,0xcf,0xf4,0xef,0xf7,0x88,0x38,0x62,0xf5,0x23,0xff,0xfd,0x9e,0xff,0xfe,0xd0, +0xaf,0x8f,0xe7,0x4d,0x89,0x6a,0xf8,0x1b,0x8c,0x2f,0xd4,0x68,0xab,0xfe,0x46,0x44,0x4f,0xdb,0xdc,0xe0, +0x9f,0x98,0x7b,0xff,0x15,0xfd,0xf3,0x70,0x95,0xaf,0xd4,0xdf,0xf1,0x0b,0xe3,0x85,0x7f,0x98,0x8b,0x7f, +0xd1,0x85,0xd8,0x39,0x24,0x6d,0xad,0xff,0x67,0xb0,0x69,0x60,0x33,0x03,0x43,0xaa,0x9a,0xa7,0xb3,0xf8, +0x3c,0xd8,0x01,0x2b,0x13,0x4f,0x22,0x59,0x6c,0x04,0x84,0x9c,0x2e,0x62,0xc0,0xa3,0x6f,0xe0,0xfc,0x76, +0x46,0xad,0x2e,0xf9,0x8a,0xfd,0x31,0x74,0xe8,0xe2,0x72,0xb3,0x80,0xed,0xf7,0xc6,0x70,0x15,0x1b,0x31, +0xf9,0xdf,0xa4,0xe5,0x65,0xbc,0xda,0x2c,0xf3,0x7c,0xb5,0xe1,0xd8,0xea,0xab,0x65,0xb2,0xa1,0xf6,0x65, +0x1b,0x03,0xa9,0xb9,0x31,0x71,0x0a,0x37,0xe5,0x9c,0x5e,0x2c,0x3c,0x58,0x7a,0x78,0xd3,0x93,0x93,0xeb, +0x7b,0xa3,0x93,0x93,0xea,0xe4,0xa4,0x38,0x39,0xc9,0x4e,0x4e,0xce,0x66,0x1e,0x8c,0x3e,0x3c,0x7f,0x12, +0x9e,0xd0,0x7f,0x87,0x1b,0x4a,0x71,0x75,0x30,0xdb,0x4c,0x7f,0x3a,0x19,0x1d,0x50,0xe2,0x78,0x34,0x0b, +0x86,0x1e,0xcc,0x3f,0xbc,0x93,0x93,0xa9,0x37,0xcc,0x92,0xa1,0x77,0xd7,0xf7,0x86,0x05,0xfd,0x06,0xf4, +0x91,0x79,0x32,0xbd,0xfb,0xd3,0x9d,0xcd,0xe0,0xdf,0xb3,0x49,0x14,0x98,0x47,0x93,0xf0,0x0b,0xbf,0xce, +0xf6,0x27,0xfc,0x7e,0x31,0x0b,0xee,0x06,0x5f,0x6c,0x4e,0xbc,0xf6,0x8b,0x13,0x0f,0x6f,0x4e,0xbc,0x8d, +0xc9,0x3a,0xd8,0x98,0x7c,0x4e,0x4e,0xa8,0x8a,0x39,0x95,0x1f,0x3a,0xc5,0x9e,0x9c,0xf8,0xbe,0xff,0xdf, +0xcf,0x3e,0xd8,0xb4,0xdf,0xf8,0x01,0x35,0x78,0x36,0xdb,0x78,0xc3,0x14,0x59,0xdf,0x0d,0x36,0x87,0x94, +0xf0,0x04,0xc5,0xc3,0xb4,0x05,0xf3,0x52,0x44,0xb8,0x3e,0x2a,0x43,0x3d,0xe1,0x9d,0xc3,0x88,0xa8,0xf1, +0xc6,0xfb,0x49,0xaa,0x3a,0xe4,0xdc,0x7f,0xd2,0x39,0xcf,0x02,0x53,0x14,0xe5,0xaa,0x13,0xdc,0xd1,0xdf, +0xaf,0x7b,0xbf,0xbf,0xab,0xf4,0x2f,0x30,0x65,0xfa,0x53,0xf8,0xd3,0x47,0xc3,0x7f,0xa3,0xb6,0xb8,0x0b, +0xea,0xe4,0xf3,0x66,0xf2,0xc8,0x26,0xa7,0xaa,0xcc,0xbe,0xa0,0xe6,0xdf,0x9d,0x34,0xfa,0x93,0x6b,0x71, +0xd6,0xf8,0x28,0x4f,0x02,0x98,0xde,0xb4,0x4a,0x45,0x87,0xdf,0xf1,0xc4,0x02,0xe7,0xc5,0xd3,0xb0,0xf1, +0xf6,0x4f,0x66,0x40,0xe8,0xfd,0x93,0x97,0x8f,0xdf,0xbd,0x6b,0xbe,0xa6,0x96,0x3b,0x09,0x68,0x67,0x6f, +0xbe,0xd6,0xef,0x36,0xd3,0xbb,0x33,0xbc,0x7f,0xfc,0xfe,0xfd,0xdb,0xb0,0x55,0x78,0x4a,0x55,0x7a,0xf3, +0xee,0xdb,0xef,0x9f,0xbe,0x6e,0xbf,0x41,0x65,0x9f,0x3c,0x7f,0xf1,0xb2,0x55,0xa3,0xd0,0xe7,0xa9,0xcf, +0x5c,0xdf,0x06,0xf6,0x19,0x9b,0xac,0xba,0xc0,0xbf,0x03,0xdc,0x04,0x07,0x3e,0xc3,0x2f,0x6c,0xf2,0xb3, +0x03,0x06,0xc4,0x90,0x89,0x64,0xfa,0x0a,0xf8,0x1d,0x9b,0x7c,0xb1,0xa0,0x51,0x9c,0x0e,0x69,0x09,0x04, +0xfe,0xc9,0xc9,0xe2,0x6e,0x90,0x6d,0x9c,0x19,0xad,0xdf,0x98,0x07,0x94,0x60,0x48,0x53,0xa5,0xee,0x5a, +0x9e,0x37,0x5e,0x4a,0xed,0x81,0x49,0x43,0xab,0xc1,0x58,0x2d,0x15,0xba,0xe3,0x8e,0x4e,0x93,0x25,0xc9, +0xa2,0x64,0x7b,0xc6,0xeb,0xaa,0xdd,0x42,0xce,0x50,0x46,0x3b,0xac,0xab,0x96,0xfc,0xb6,0x39,0xa7,0x96, +0x49,0xbb,0xea,0x66,0xb6,0x5a,0x42,0x77,0xb4,0x76,0x17,0xc1,0x84,0x1b,0xe0,0x56,0xce,0x9f,0x44,0xd3, +0x9f,0xa8,0x05,0x77,0x74,0x35,0xd9,0xa8,0xea,0x08,0x55,0x63,0x31,0x8e,0xde,0x97,0x36,0x06,0x06,0x64, +0x23,0xf2,0x9c,0xe0,0xce,0x51,0x0a,0x93,0xab,0xa3,0x9f,0x2e,0x4e,0x16,0xb8,0x16,0x8b,0xaa,0x9f,0x6e, +0x66,0xc3,0x93,0x9b,0x93,0xf2,0xee,0xc9,0x34,0x63,0xba,0x67,0xef,0xe4,0xea,0x48,0xac,0xa8,0x28,0xc3, +0x3f,0xf9,0x53,0xec,0x24,0xd4,0x3f,0xfe,0xc9,0x15,0xfd,0xa5,0xd9,0xa0,0x1f,0x50,0x76,0x6c,0x60,0x35, +0xa5,0xc6,0x1d,0xc1,0xb6,0xca,0x6d,0x3a,0x2f,0x4a,0x5a,0x93,0x8b,0xf8,0xe0,0x6c,0x76,0x73,0xac,0xbe, +0xda,0x4a,0xfd,0x27,0x1b,0xdd,0x3c,0x5a,0xa1,0x5c,0x79,0xcc,0xe0,0xd3,0xe6,0x0e,0x5d,0x8b,0x0c,0xbc, +0xd1,0x35,0xf5,0xf5,0xc1,0x57,0x0f,0x1e,0xdc,0xff,0xca,0xf2,0x6e,0x30,0x8f,0x20,0x0a,0x73,0x52,0x85, +0xc5,0xc3,0xd1,0x44,0x94,0x36,0x87,0x30,0x9e,0x7b,0x72,0x11,0x17,0x4f,0x00,0x2f,0x55,0x0c,0xf9,0x8b, +0x20,0xec,0x7d,0xf9,0xe8,0xd1,0xf1,0x68,0xf3,0xe0,0xc1,0xbd,0xaf,0xbf,0x52,0xc7,0xa3,0x7b,0xf7,0xf7, +0x8b,0xcd,0x83,0xaf,0xee,0xdf,0x83,0x29,0xd0,0x15,0xb5,0x86,0x2a,0x4d,0x3b,0xe6,0xf5,0xf1,0xd9,0xc9, +0xf5,0x5f,0xce,0x66,0x9b,0x9f,0x0e,0x26,0x34,0x02,0xf4,0x73,0x47,0xef,0xa5,0xfa,0xcd,0xc1,0xc9,0xfa, +0x19,0xfd,0x87,0x9e,0x38,0x3a,0x57,0xef,0x77,0x19,0x96,0x4d,0xbc,0x93,0x91,0xa0,0x4f,0x7a,0xff,0xcf, +0xff,0xfd,0x7f,0x79,0x61,0x4d,0x27,0x12,0x99,0x38,0xa4,0x5e,0x02,0x12,0xcf,0x5c,0x57,0xed,0x31,0x20, +0x5e,0x0c,0x54,0x47,0x60,0x2d,0xe9,0xfc,0xe3,0xaf,0x02,0xc8,0x7e,0x43,0x49,0xbe,0x55,0x4f,0x1a,0x3e, +0xa0,0x2f,0x61,0x06,0xf4,0x6d,0xb2,0x83,0x74,0x6f,0x88,0xdb,0x60,0xf3,0x68,0x25,0x73,0xd0,0xec,0x5b, +0x91,0x17,0x34,0xea,0x37,0x8b,0xb4,0x08,0x5d,0x49,0x8c,0x82,0x9c,0x26,0xf4,0x24,0xe4,0x10,0x51,0xab, +0x2c,0x18,0x36,0xe4,0xc7,0x3f,0xa3,0x7f,0x09,0x69,0x72,0xa7,0x01,0x0b,0xd6,0xbc,0xfb,0xe7,0xf4,0x4e, +0x17,0x2a,0x65,0x56,0x03,0xba,0x8a,0x60,0xf9,0x57,0xaa,0xef,0x3f,0xa2,0x1b,0xce,0x37,0xfc,0xa7,0x4e, +0x35,0x69,0x76,0xe8,0xdf,0x75,0xb1,0x89,0xd2,0xc5,0x56,0x81,0x8b,0x4d,0xd9,0x11,0x25,0xd7,0xea,0xe7, +0x31,0x44,0xe7,0xa2,0x6b,0x66,0x2a,0x6c,0x6c,0x15,0xcd,0x38,0xce,0xb7,0xdb,0xf7,0x51,0x75,0xa8,0xd5, +0x8c,0xb0,0x4e,0xfc,0x35,0x82,0xd0,0xf0,0xc7,0x57,0x2f,0x1b,0x0a,0x39,0xed,0xe7,0x00,0xf7,0xb3,0xb6, +0x0a,0x8c,0x81,0x59,0xe5,0x46,0x4b,0xd9,0x8c,0xc4,0x62,0x40,0x34,0x8c,0x07,0xf4,0xb5,0xa6,0x7a,0x65, +0xab,0x5e,0x46,0xac,0x22,0xb1,0x14,0x6a,0x8f,0xdd,0x09,0x08,0x93,0x49,0xb7,0xac,0xf0,0x8e,0xbb,0x0c, +0x9e,0xef,0xef,0x7f,0x1d,0xb9,0x08,0x26,0xfb,0xfb,0x45,0xbb,0x32,0x13,0xff,0x79,0x54,0xa8,0x67,0xd1, +0xf3,0xf6,0x0b,0xf5,0x3a,0x1a,0xfc,0xea,0x3f,0xa7,0x21,0x93,0x9c,0x88,0x7b,0x7a,0x6e,0x71,0x81,0xd2, +0xe4,0x8a,0x01,0xce,0x88,0x8a,0xd1,0x38,0x05,0x19,0x20,0x91,0x1a,0x58,0xae,0x93,0xee,0x23,0xa0,0x50, +0x0b,0xc0,0xeb,0x93,0x04,0x76,0xf3,0x61,0x06,0xb1,0x7d,0x3c,0xbf,0xe0,0x54,0xc8,0xd0,0xb9,0xf5,0xbd, +0x3c,0xab,0x93,0x13,0x3b,0xf3,0x9e,0x65,0xfc,0xac,0x6f,0x29,0xa3,0xb4,0x7f,0x3a,0xcf,0x8d,0x02,0x2c, +0xa2,0x7d,0x4f,0x0d,0x7a,0x3d,0x46,0xf0,0xda,0x83,0xcd,0xfe,0xfb,0x5e,0xd1,0xe7,0xae,0xac,0x5d,0x60, +0x38,0xa3,0x1e,0x79,0x92,0x5f,0x8a,0x7a,0x04,0x6e,0xa8,0x83,0x1d,0x80,0x8b,0x38,0xba,0xf5,0x9c,0xea, +0x16,0x6a,0x35,0x76,0xd1,0x47,0xad,0xbf,0x7a,0xbe,0x4b,0xf9,0x27,0x9f,0x42,0x57,0xd9,0x5f,0xc5,0x67, +0x8d,0x2a,0xd2,0xbc,0x4b,0x17,0xd1,0x07,0x35,0x68,0xe5,0x87,0xac,0x36,0x9b,0xbe,0xa7,0xfe,0x87,0x76, +0x35,0x51,0xd6,0xc4,0x37,0x4c,0xf3,0xe1,0x8b,0xa7,0x7d,0x93,0xde,0xf2,0xa8,0xd7,0x09,0xed,0xd4,0x35, +0xd8,0x5d,0x5f,0x1f,0x76,0x35,0x84,0x2c,0x5f,0xa0,0x3d,0x4b,0x18,0xc3,0x46,0x09,0x58,0xb3,0xd0,0x41, +0xf6,0x08,0xad,0xdb,0x7a,0xe0,0xfd,0xfd,0xd7,0xb5,0x26,0xa3,0xa5,0xd7,0xad,0xab,0x94,0x4d,0x88,0x6e, +0x0f,0xa7,0xb3,0xed,0x36,0x08,0xff,0x17,0xb4,0x4a,0xca,0xdb,0x29,0x53,0xb7,0x0d,0x15,0xcd,0x46,0xf7, +0x99,0x74,0x80,0xad,0x1c,0xa6,0xbf,0x44,0x34,0xfa,0x5f,0xdc,0x25,0x62,0xb1,0xd9,0xdb,0x31,0x22,0x27, +0x63,0xd1,0x48,0xbe,0xa3,0x7e,0xaa,0x51,0x31,0xa3,0x82,0x9e,0xe6,0x33,0xed,0x0a,0x58,0xf5,0x4c,0xa4, +0x24,0xe0,0x9d,0x35,0x8f,0x52,0xbd,0xa9,0xfe,0x67,0x25,0x68,0x6e,0x94,0x07,0x4c,0xd5,0xa2,0x83,0xa8, +0x7f,0xdd,0x4e,0xfa,0x8e,0xd8,0xcf,0xf5,0x94,0xf3,0xf9,0x4e,0xc5,0x7d,0xc8,0x2a,0x74,0x7a,0xdf,0x51, +0x13,0x27,0xc6,0x24,0xb3,0x7d,0xd4,0x18,0x68,0x0d,0x62,0x41,0x8d,0xb3,0xd5,0x8e,0xcc,0xc7,0xd6,0x17, +0x42,0x8b,0xf4,0xc6,0x99,0x75,0xb0,0x82,0x42,0x20,0x6b,0x6c,0xde,0x5a,0x88,0x53,0xcb,0xa9,0x8d,0x19, +0x90,0x9d,0x2e,0x4c,0xa1,0xb7,0x7b,0xc8,0x31,0x2d,0xf8,0x6f,0xcf,0xa5,0xe6,0xe7,0xaf,0xad,0x33,0xe8, +0x2e,0xc3,0x03,0x90,0x0a,0x6f,0xd1,0xf0,0x37,0xf8,0x23,0xe6,0x07,0xce,0xde,0xd6,0xee,0x43,0x36,0x86, +0x6c,0x6e,0x67,0xdd,0x7d,0xcc,0xc2,0x94,0x7a,0x0f,0x63,0xc4,0x74,0xf8,0xc2,0x1b,0x7e,0x18,0x7a,0x5f, +0x3c,0x7a,0x78,0x14,0xdb,0x30,0x63,0xf6,0xf1,0x01,0x78,0xde,0x2f,0xf6,0x2e,0x4b,0x22,0x03,0xf2,0xab, +0x79,0xbc,0xa2,0xfa,0x26,0xd1,0x17,0x5f,0xd8,0xb0,0x61,0x86,0x2b,0xe7,0x67,0x9d,0x88,0x61,0x9e,0xea, +0x41,0xbc,0xf5,0xa6,0xcd,0xec,0x7e,0xa2,0x6f,0x67,0x76,0x57,0xdf,0xdf,0x7f,0x23,0x23,0xe3,0x81,0x3f, +0x9e,0x45,0x0e,0x6b,0x0c,0x36,0xf5,0x84,0x39,0xa3,0xde,0x5c,0x4d,0x55,0x66,0x0e,0x8e,0x86,0xc9,0xcb, +0x61,0xc4,0x27,0x21,0xaf,0x8e,0x8d,0x66,0x2c,0x76,0xe5,0x96,0x2e,0xfe,0x1d,0x49,0x17,0xf4,0xe5,0x47, +0xef,0xfa,0xbf,0x0b,0xb5,0xb8,0xa2,0xe7,0x9b,0xfa,0x55,0xef,0x97,0xf1,0x9f,0xb8,0xb8,0xe1,0xdd,0x9e, +0x4f,0x0f,0xff,0x74,0x38,0x04,0xe9,0xcf,0x27,0x6d,0x73,0x80,0x93,0xd6,0x88,0x5e,0x14,0xc9,0x19,0x75, +0xe8,0x9e,0xa5,0x45,0xbf,0x30,0x57,0xcd,0x21,0xee,0x7d,0x2f,0xe3,0x77,0xe4,0x0c,0xe0,0x78,0x87,0x09, +0x83,0xa8,0xb0,0x89,0x4c,0x6d,0xd9,0x9f,0x30,0x2c,0xa5,0x32,0x48,0x0d,0x68,0x69,0x03,0x7b,0x37,0x68, +0x25,0x47,0xcc,0x13,0x4a,0xfe,0x74,0xd7,0x28,0x70,0x4c,0x94,0x45,0xdf,0xec,0xe0,0x2f,0x35,0xcb,0x67, +0x05,0x29,0x94,0xcd,0x3d,0x06,0xe3,0xec,0x19,0x98,0x44,0x87,0x7b,0xed,0x66,0x65,0x5f,0x29,0x2f,0x34, +0x9d,0x41,0x39,0x75,0x96,0x8e,0xed,0xb2,0xc1,0x68,0x77,0x31,0x75,0x06,0x7f,0xb4,0x9c,0xbe,0x6c,0xee, +0xaa,0x10,0xd0,0x35,0xe6,0x4b,0x75,0x78,0x37,0xf4,0x18,0x53,0x82,0xf6,0x00,0x2d,0x53,0x37,0xe9,0xed, +0x7e,0xf0,0x2a,0x7a,0x66,0xde,0x6d,0x36,0xcf,0x0e,0xaf,0x92,0xd3,0x5f,0xd3,0xea,0x55,0x33,0x31,0x5e, +0x5c,0xe6,0xbf,0xf7,0x3c,0xcd,0xfb,0x52,0x96,0xad,0x87,0x01,0x63,0xa9,0xba,0xd3,0xef,0x3d,0x7a,0x45, +0x47,0x48,0x4c,0x16,0x9c,0x3c,0x7a,0x65,0xfc,0xac,0x59,0xce,0x52,0xdf,0x4d,0xcb,0x01,0x96,0x3a,0xb7, +0xec,0xad,0x6e,0xd9,0x20,0x82,0xa4,0x0a,0xd3,0xfa,0x4d,0xf4,0xc6,0xf6,0x98,0xc3,0xdd,0xbe,0xd1,0x76, +0x49,0x1b,0x50,0x85,0x6f,0xa3,0xb7,0x7d,0x69,0xde,0xba,0x69,0x2a,0xdb,0x21,0xcf,0xd8,0x63,0x9b,0x78, +0x2c,0x43,0xd4,0xbf,0xc9,0xcb,0x14,0x15,0x0f,0xd4,0x0b,0x18,0xcf,0xb9,0xe9,0x04,0xa8,0x2f,0x98,0xf4, +0x1c,0x3d,0xd1,0xd7,0x0d,0xd3,0x96,0x49,0xd2,0xa6,0xee,0x43,0x98,0xc0,0x54,0x4d,0x93,0x9c,0xb1,0x23, +0x5e,0xa5,0xbe,0x1c,0xf8,0x83,0xa2,0x0b,0x81,0x38,0x00,0x92,0xbc,0x2e,0x7a,0x92,0x39,0x48,0x87,0x00, +0xb4,0xda,0x51,0xf7,0xfd,0xfd,0xe3,0xaf,0xf6,0x77,0xbe,0x65,0xa7,0x89,0xf6,0x01,0x0a,0xbb,0xea,0xc0, +0x28,0xc8,0xdd,0x3a,0xb2,0xc5,0xb5,0x43,0x26,0x0c,0x46,0xb5,0xd6,0x5e,0xfd,0x10,0x55,0x93,0x4e,0x3e, +0x89,0x2b,0xa9,0x85,0xc8,0x58,0x8d,0x74,0xcc,0x9a,0xc1,0xce,0x3a,0x1d,0x20,0x90,0x4a,0xff,0xab,0x9a, +0x98,0xcc,0x42,0x22,0x6a,0xfa,0x18,0x3e,0x40,0x16,0x75,0x4d,0x21,0x83,0xc9,0xee,0x2e,0xa8,0x82,0xf0, +0x58,0x1d,0xef,0x67,0xd4,0xbf,0xef,0xd9,0x47,0xe7,0x69,0x02,0x3e,0x08,0xc0,0x4f,0x3b,0x2b,0xe2,0x73, +0x41,0xd9,0x24,0x11,0x0d,0x46,0xd2,0x51,0x6b,0xdc,0x81,0x39,0xe3,0x1d,0x95,0x04,0x30,0xd0,0xd6,0x7a, +0x8e,0x6a,0x57,0x2a,0xaa,0xde,0x71,0xf8,0x18,0xca,0xcc,0xc7,0xf4,0xc5,0x01,0xff,0x52,0xad,0x46,0xe1, +0x97,0xfb,0x19,0xbe,0x3f,0xee,0x1b,0xa2,0x9d,0x5d,0x6b,0xed,0xba,0xeb,0x91,0x63,0x22,0xc8,0xb9,0x2d, +0x23,0xc0,0xd8,0xac,0xa3,0x69,0xc5,0xe6,0x04,0x03,0xa0,0x38,0x59,0x2f,0x5a,0x6e,0x93,0xad,0x36,0xd5, +0x2c,0xc5,0x4d,0xde,0x5f,0x45,0x06,0xa9,0x60,0x67,0x52,0xa3,0x3c,0x17,0xbf,0x7a,0x6d,0xdd,0xcf,0x26, +0x59,0xee,0x0c,0x2a,0x1d,0x5f,0x74,0x9d,0xa8,0xea,0x24,0x5a,0xb7,0x13,0x8d,0x01,0x1c,0xc3,0x8e,0xcd, +0x30,0xd7,0x28,0x6a,0xf3,0x93,0x62,0x12,0xfb,0x0c,0x2a,0x83,0x37,0x41,0xa8,0x93,0xdd,0x41,0x85,0xd7, +0xe6,0xfa,0x38,0x1c,0x6d,0xd5,0xf3,0x20,0x7c,0xbe,0x55,0x95,0xd9,0xf0,0x5c,0xb2,0xbe,0xb6,0xa9,0x67, +0x6b,0x04,0xe8,0x22,0xe5,0x4f,0xe0,0x7c,0x60,0x77,0xcf,0xe6,0x87,0x30,0xde,0xe8,0x99,0x84,0xc6,0xec, +0x16,0x00,0xa0,0xd4,0x36,0xc3,0xce,0xcc,0x69,0x53,0x8b,0xbe,0xb8,0x73,0x0c,0xf2,0x45,0x75,0x36,0x66, +0x22,0xf0,0xd8,0x54,0x34,0xb3,0xa6,0xa2,0x6f,0x69,0x58,0xde,0xca,0x9e,0x93,0x31,0xad,0xe6,0x1a,0x8f, +0x22,0xde,0x01,0x84,0x3e,0x22,0x8d,0xb3,0xbb,0x66,0x26,0x0a,0xac,0xcd,0xa6,0x67,0xa7,0xc5,0x44,0x35, +0x7b,0x91,0xb6,0x25,0xae,0x1f,0xd4,0x58,0xcf,0x96,0xc0,0xad,0xe3,0x99,0xd8,0x0e,0xca,0xd4,0x73,0xe9, +0x1d,0x00,0x1d,0x59,0xcd,0x16,0x3a,0xca,0xec,0x46,0xbd,0xd2,0xb6,0xcf,0x74,0xd2,0x0b,0xed,0x46,0x5a, +0xb1,0x94,0xa1,0x95,0xc3,0xed,0xdf,0xea,0xed,0xa4,0x61,0x83,0xd8,0xb2,0xe3,0x9e,0x89,0xc5,0xe1,0xdf, +0xa4,0x8b,0xdc,0x94,0xaa,0x95,0x32,0x98,0x88,0x90,0x73,0xf0,0xda,0x30,0x17,0x66,0xa2,0xd5,0xde,0x5f, +0x93,0x22,0x74,0x85,0x21,0x34,0x20,0xaf,0x27,0x2d,0xe6,0x9a,0x16,0x06,0xbb,0xd9,0x77,0x58,0xae,0x0a, +0xa3,0x58,0x08,0x64,0xca,0x59,0x9a,0x2c,0x26,0x85,0xb0,0x5e,0x8c,0xc9,0x8e,0xe6,0x27,0x25,0x11,0xb9, +0x4d,0x7b,0x73,0xd3,0x81,0x0d,0xe7,0x14,0xb1,0xe6,0xe5,0x2f,0x60,0xef,0xde,0xf8,0xa0,0x13,0xbc,0xec, +0xdd,0x27,0x1a,0x99,0xeb,0x3d,0x4e,0xa9,0xf6,0xd6,0x19,0x42,0x14,0x9f,0x67,0xe9,0xef,0xc9,0x62,0x2f, +0xb9,0x5e,0x01,0xc3,0x04,0x0e,0x63,0x7b,0xde,0x50,0x72,0xac,0x95,0x92,0x7d,0xc2,0x2f,0x30,0x16,0xb2, +0xc1,0xf0,0xda,0xa7,0x8d,0x87,0x26,0x5a,0x52,0xd1,0x24,0x7b,0xba,0x86,0x5d,0x05,0x11,0x7d,0xa5,0x7a, +0x1c,0xe9,0xad,0xf4,0x1d,0x43,0xaa,0xb3,0x35,0xa7,0xc8,0x56,0x41,0xbe,0xe0,0x85,0xff,0x43,0xa0,0x7e, +0xb3,0x26,0x5c,0x89,0x66,0xba,0xf8,0x70,0x61,0x64,0x01,0x1f,0x46,0xa6,0x7c,0xe4,0xa7,0x1a,0xca,0x4e, +0x6c,0x4d,0x8d,0xdb,0xa4,0x0f,0x3b,0x53,0x75,0x6c,0x95,0xa6,0x8f,0xc5,0x44,0x21,0xd9,0xaa,0x6f,0x85, +0xdf,0x43,0x3c,0x83,0xde,0xfa,0x7b,0x9e,0xdd,0x20,0x6d,0x2c,0x2a,0x46,0xda,0xb9,0xd1,0x66,0x60,0xb4, +0x19,0x7e,0x2d,0x3f,0xc7,0x7c,0xab,0x01,0xef,0xda,0x8e,0x3b,0x2e,0x26,0x72,0x8d,0x83,0xed,0x3c,0xe4, +0x5a,0xc3,0x28,0xa0,0x46,0xa8,0x1e,0x27,0x63,0x3c,0x70,0x6c,0x54,0x83,0x6c,0x18,0x7d,0x0b,0xbe,0xcd, +0x58,0x7d,0xdf,0x97,0xa2,0xbf,0x74,0x0d,0xe0,0xa5,0xa6,0x8c,0x1b,0xdc,0xb0,0x5e,0x4b,0x34,0x87,0xcf, +0x79,0xd4,0x40,0xb0,0x19,0x31,0xa4,0x2c,0xc5,0x94,0x7d,0xa5,0x8c,0x6e,0x1c,0x13,0xe6,0xf0,0xc1,0x48, +0x03,0x20,0xbd,0x29,0x93,0xf5,0x22,0x0f,0x0b,0xc5,0xfb,0x50,0x48,0xc7,0x42,0xbd,0x30,0xe0,0x07,0x09, +0x96,0x16,0xbf,0xc6,0xe4,0x22,0xbc,0xf1,0x1e,0x79,0x61,0x57,0x12,0x2d,0x8e,0xbc,0x70,0x63,0x83,0x20, +0xbc,0xf3,0x9e,0x1e,0x0f,0xed,0xe3,0x22,0xf9,0x98,0xe6,0xeb,0x52,0x37,0xbe,0xf1,0xed,0xbf,0x77,0x25, +0xda,0x6e,0x15,0x3d,0x12,0x70,0x83,0xf0,0x86,0x95,0x58,0x7d,0xf2,0x2d,0xd8,0xcb,0xe1,0x4f,0x4b,0x78, +0xa4,0x92,0xe9,0xfd,0x19,0x51,0x0a,0x8c,0x80,0x9b,0x4c,0xbf,0xe4,0xbf,0x0f,0x66,0x0c,0x98,0xdd,0x4e, +0x0a,0x36,0x8d,0x67,0xe0,0x3d,0x09,0x17,0x43,0x1f,0xc2,0xe8,0x1d,0x17,0x6c,0x0c,0xae,0x6a,0x15,0xc1, +0x97,0xb4,0x54,0x44,0x3b,0x76,0x6b,0x5d,0x9a,0x91,0x40,0xbc,0x4c,0x30,0x73,0xf9,0x95,0xc9,0xe9,0x7e, +0x30,0xd1,0xb5,0xd3,0x8b,0xd9,0x4f,0x18,0x53,0x0d,0x75,0x8d,0x86,0x3e,0x7e,0x26,0xa8,0x31,0x2e,0xbf, +0xa2,0x54,0xc7,0x41,0x78,0xef,0xae,0xef,0x41,0x5f,0x25,0x79,0x31,0xb4,0x6f,0xbe,0x58,0x98,0x3b,0xc4, +0x44,0xa0,0xf4,0xfc,0xed,0x5f,0x66,0x54,0xfb,0xbf,0x76,0x12,0x84,0xf8,0x01,0x79,0xd3,0x28,0x70,0x6b, +0x34,0x81,0x7d,0xcb,0x66,0x80,0xd2,0x01,0xb4,0x70,0xcf,0x1a,0xb7,0x2f,0x92,0x43,0xee,0x02,0x6d,0xfa, +0x8f,0x4c,0x24,0x90,0x17,0xb7,0x67,0x92,0xb0,0x75,0x62,0xa3,0xc7,0x43,0xda,0x86,0xcf,0x12,0x73,0x7e, +0x31,0x74,0xc5,0x3b,0x3a,0x52,0x06,0xa3,0x40,0x6e,0x32,0x03,0x6d,0xe0,0x13,0xa3,0x6d,0x0d,0x71,0x0f, +0xaa,0xe0,0xc0,0x5c,0x07,0x3c,0x30,0xa3,0x99,0xc0,0x35,0x9b,0x3e,0xac,0xd0,0x64,0x2a,0x2d,0x73,0x9e, +0xb8,0xa3,0x75,0x1f,0x76,0x60,0xea,0x4c,0x4f,0x21,0xe8,0x49,0x3f,0x2f,0x75,0xec,0x37,0xf5,0x16,0x69, +0x51,0x37,0x26,0xd7,0xa0,0x21,0x86,0xfa,0x6f,0xc7,0x24,0x84,0xc8,0x91,0xd5,0xbb,0xdd,0x7a,0xfd,0xae, +0x7d,0x47,0x9a,0x80,0xd1,0xae,0x3e,0xcf,0xff,0xa9,0xd6,0x56,0xd3,0x5f,0xad,0xc4,0x83,0x02,0x12,0xdd, +0xfa,0x7b,0x7f,0x4c,0x3f,0x8d,0xb4,0xd4,0xb3,0xaf,0xcd,0x6b,0x89,0x93,0x73,0x43,0xc3,0xf7,0x59,0x61, +0xeb,0xad,0x28,0x51,0x30,0xa2,0x53,0xad,0xd5,0xab,0x5c,0xbf,0x0b,0xfb,0xd8,0x80,0x51,0x47,0x42,0x0e, +0xf8,0xa9,0x03,0x87,0x20,0xd6,0x4a,0xf9,0x04,0x8c,0x20,0x28,0xf0,0x70,0x00,0x04,0xe2,0x7c,0x88,0x6d, +0xdd,0x93,0x47,0x13,0x00,0x1f,0xd3,0x3e,0x32,0x30,0xb7,0x03,0xbe,0xfd,0x49,0xdf,0x12,0x9d,0xc5,0x91, +0x83,0xec,0x54,0x23,0xee,0xc9,0xbb,0x5b,0xbf,0x74,0x5f,0x3c,0x22,0x3a,0xd2,0xbb,0xe3,0xbe,0x93,0x19, +0x75,0x50,0x98,0xe9,0x28,0x45,0xfd,0x5b,0x27,0xf1,0x19,0x2c,0xc5,0x4e,0xa4,0x38,0xc1,0x96,0xc8,0x0a, +0xc2,0xa0,0x9d,0xeb,0x26,0x32,0xa8,0xd7,0xb9,0xb0,0x7c,0xb9,0x9d,0xad,0x26,0xf3,0xe1,0x31,0x67,0x3f, +0xf4,0x0e,0x3c,0x9e,0xbf,0xed,0xfd,0xa6,0x85,0xdd,0x1d,0xf1,0xf6,0xc2,0x34,0x5d,0x3d,0xef,0x01,0x32, +0x0d,0xf5,0xb5,0xfb,0xfc,0xe0,0x4b,0x58,0x5b,0x79,0x5a,0x45,0xcf,0x7e,0xd8,0x6e,0xd4,0x16,0xdd,0x41, +0xe9,0xa4,0x3b,0x6b,0x06,0x03,0x97,0xab,0xb8,0xd5,0x52,0x5b,0x2d,0x14,0xac,0x59,0x73,0x46,0x7e,0xf7, +0x9c,0x13,0xcf,0xeb,0x39,0x06,0x3e,0x36,0xd9,0x93,0x4f,0xf0,0x08,0xdd,0x65,0x3f,0x0d,0xfb,0xd7,0x35, +0x11,0xca,0xa5,0xba,0x66,0xcf,0xe0,0x33,0xff,0xa3,0x6b,0x73,0x3a,0x3e,0x1f,0xcb,0xc5,0x8a,0x5a,0xb5, +0x8a,0x56,0xd3,0x73,0x11,0x81,0x97,0x93,0xd5,0xee,0xf5,0xf7,0x29,0x44,0xc3,0x57,0x6d,0x12,0x98,0xb2, +0xbf,0x88,0xce,0xa9,0xa7,0x10,0x3f,0x37,0xe2,0xa0,0x85,0x83,0x0b,0x00,0xaf,0x3a,0xad,0xd9,0xda,0xf5, +0x4f,0x85,0x5c,0x44,0xd3,0x78,0xf2,0xd1,0x39,0xf0,0xc3,0x8f,0x75,0xbc,0x26,0x46,0xbe,0xbc,0x34,0x95, +0xfb,0xa8,0xce,0xa8,0x72,0x6c,0x5d,0xbe,0x72,0xad,0xcb,0x57,0x2d,0xeb,0xf2,0x55,0xcb,0xba,0x1c,0xa6, +0xe2,0x89,0x00,0x6d,0x2d,0xa2,0xa6,0xb9,0x38,0x75,0xc8,0x02,0x57,0xf7,0x66,0x6a,0x85,0xab,0x8f,0x8e, +0x7e,0x77,0xba,0x98,0x51,0x6f,0x0c,0x87,0xf4,0x78,0x45,0xff,0x53,0xaf,0x50,0xee,0x94,0x3e,0x1a,0xd1, +0xe2,0xbc,0x80,0x9d,0x16,0xed,0x71,0xc6,0x10,0x7e,0xe5,0xc8,0xbd,0x87,0xc3,0x6b,0x4a,0xcf,0xbc,0xe6, +0x0d,0x4a,0x86,0x05,0xfe,0x42,0x5d,0xcf,0xb4,0x15,0x9e,0xa5,0x5b,0x2e,0x69,0x26,0xc3,0x83,0xed,0x7f, +0x4b,0xab,0x60,0xd9,0xcc,0x6e,0xdd,0x12,0x52,0xf4,0x73,0x0d,0xc1,0x21,0x71,0xcb,0x80,0x0f,0x78,0xc0, +0x07,0x8d,0x01,0x27,0x32,0x9e,0x5a,0x4a,0x59,0xa1,0x1d,0xff,0x59,0x1b,0x4c,0xef,0x5c,0xd3,0x59,0x0a, +0xcd,0x2c,0x62,0x23,0xda,0x7d,0xeb,0xfa,0x20,0x4a,0xb9,0x11,0xb4,0xd2,0xaf,0xff,0x5c,0xd0,0xc5,0x68, +0x7f,0xff,0xfa,0xa8,0x78,0x14,0x8d,0xb6,0xdb,0x9e,0x83,0xd7,0x71,0x74,0x26,0xde,0x66,0xc5,0xa4,0x5a, +0xc9,0x5d,0xf4,0x04,0x22,0xd1,0x67,0x1a,0x53,0xb1,0xd5,0x32,0x87,0x88,0xa0,0xdd,0x5a,0x6b,0xce,0x89, +0xcc,0x97,0xef,0x85,0xc4,0xaf,0xf1,0xdb,0x3e,0xcc,0x60,0xf2,0x1c,0x84,0xb9,0xb5,0x49,0x04,0x76,0xc6, +0x34,0x51,0xf0,0x7c,0x57,0xd9,0x4c,0xb9,0x45,0xb5,0x4c,0xfc,0xfc,0xb6,0x57,0xc3,0xc4,0x31,0x76,0x6f, +0x68,0xfc,0x61,0x1e,0x9d,0x73,0x83,0x5c,0xbc,0x70,0xf6,0xa6,0x21,0x1e,0x09,0x60,0x5c,0xe9,0x34,0x66, +0x7a,0xa7,0x80,0xdd,0xb6,0xe0,0xb8,0xe2,0xc9,0x36,0xe8,0x3b,0x51,0x91,0xd5,0x88,0xa3,0xc4,0x84,0x39, +0x28,0x43,0xe9,0x99,0xf0,0x26,0xcb,0xab,0xb0,0xf0,0xbb,0xc7,0x27,0x1c,0x7a,0x44,0x15,0xf4,0x5d,0x8f, +0x5f,0x60,0xed,0x6b,0x8e,0xde,0x68,0x36,0xa1,0xe9,0xc0,0x00,0xb7,0x83,0xd4,0xc8,0x07,0x0a,0x36,0xc4, +0x2f,0x6b,0xfb,0xc4,0x92,0x6d,0xd3,0x11,0x93,0x4c,0x3c,0x0e,0x12,0x06,0xc7,0xf3,0x11,0xa0,0x0b,0x51, +0x30,0x1a,0x4d,0xa1,0xaf,0xf3,0xfa,0x18,0x66,0x5a,0x46,0xa5,0xd8,0x41,0x91,0x73,0x8e,0x7e,0xe2,0x87, +0x7c,0x3b,0xc8,0x64,0x46,0x43,0x09,0x47,0x03,0xd0,0x6a,0x61,0xfb,0xe0,0x6c,0x49,0x32,0x1c,0xfe,0x1c, +0xd3,0x53,0xf3,0xe7,0xfd,0x79,0x24,0x1d,0xfa,0xc7,0x41,0x02,0xb2,0x4c,0x68,0xe5,0xf2,0x37,0xec,0xc2, +0x05,0x5d,0x02,0x58,0xad,0xcd,0x06,0x1c,0x48,0x7d,0xca,0x89,0x49,0x3a,0x56,0x76,0x9c,0x9d,0xf7,0x17, +0xb9,0x32,0x3e,0xa3,0x4c,0x1d,0xec,0x98,0xb9,0xfc,0x39,0xcf,0x5b,0xd5,0xad,0x62,0xeb,0x60,0xe8,0x78, +0xd6,0x21,0xe0,0x28,0x6b,0x3f,0x5f,0x4f,0xaa,0x43,0xce,0xa9,0xed,0x27,0x7b,0x7d,0xb9,0x0c,0xf1,0x42, +0xca,0x6f,0xbe,0x93,0xe7,0xd6,0xcc,0x34,0xca,0x3a,0x01,0x62,0xd9,0x8f,0x8d,0x83,0xcd,0xd6,0xed,0xe6, +0xd3,0x5a,0x47,0x31,0xf5,0x9b,0xf2,0xd3,0xa0,0xed,0xe5,0x58,0x3b,0x3d,0x8d,0xff,0x0f,0xf4,0x55,0x15, +0x17,0x0d,0xf8,0x29,0x2b,0x51,0xa6,0x79,0x96,0xcf,0x63,0x11,0xe7,0xd6,0xd7,0x58,0x92,0x17,0x0d,0x15, +0xb6,0x41,0x81,0xe4,0x52,0xd2,0x05,0xf1,0x6e,0x79,0xde,0x0b,0x67,0x05,0x19,0xdf,0x33,0xa2,0x88,0x61, +0x10,0xbb,0xeb,0xfd,0xf3,0x66,0xa8,0x3b,0x88,0x9f,0x9e,0xa3,0xc8,0x67,0x6c,0x45,0xbb,0xa9,0xaf,0x79, +0xc3,0x1d,0x0c,0x74,0x0c,0x2c,0x08,0x99,0xa0,0x54,0xda,0x6c,0xfe,0x4d,0x0f,0xe2,0x53,0x76,0xd9,0x64, +0x20,0x25,0x56,0x60,0x84,0x4b,0x9f,0xf6,0x71,0x65,0xf4,0x19,0xb8,0x85,0xd3,0x82,0x0e,0x95,0xd5,0x47, +0x96,0xff,0x41,0xdf,0xcb,0x0a,0x75,0xb0,0x41,0xb7,0xc0,0xf1,0xac,0x34,0x1e,0x81,0x79,0x65,0x14,0x7e, +0x5b,0x65,0xae,0xfa,0x49,0x76,0xd7,0x27,0xd2,0xbd,0xb3,0x19,0x70,0x93,0x54,0x7d,0xcf,0xf6,0x5b,0xd4, +0x42,0x20,0xc0,0x34,0xb2,0xfc,0x43,0x12,0x00,0xc6,0x01,0x34,0x53,0xe2,0xe1,0x57,0x7d,0xf8,0x30,0x52, +0x87,0x9e,0xda,0x0e,0xec,0xd9,0x20,0x01,0x00,0x58,0x03,0x7c,0xc1,0x30,0x8e,0x3b,0xf0,0xc1,0x74,0xb4, +0x32,0xd3,0xa9,0xc0,0x7d,0x40,0x0f,0xf6,0xa5,0xbe,0xe8,0x4b,0x2d,0xe6,0x8a,0xff,0xc3,0x81,0x72,0x9c, +0x58,0xcd,0xa4,0x71,0x1e,0x55,0x30,0xe4,0xbe,0xee,0x43,0xd1,0x69,0x67,0xb5,0xab,0x4c,0x1d,0x66,0xad, +0xce,0x1f,0x46,0x52,0xcc,0x39,0x30,0x58,0x62,0x6f,0xe8,0x3d,0xc4,0x3e,0xd0,0xdf,0xb4,0xa5,0x82,0x06, +0xac,0x6c,0xee,0x77,0xf8,0x3e,0x78,0xbd,0x05,0x82,0x53,0x36,0x6f,0x1d,0x80,0x3a,0x41,0x75,0x70,0x8c, +0x24,0xc9,0x6f,0xad,0x04,0xb5,0xdc,0x79,0x9a,0x3d,0x1c,0x4d,0xb2,0x61,0x15,0x66,0x9c,0x90,0x18,0xfb, +0x4e,0x5e,0x8e,0x59,0xfc,0x38,0x7b,0x58,0x8d,0x33,0xc4,0xda,0x49,0xda,0x26,0x09,0x00,0xe2,0x20,0x3e, +0xff,0x96,0xaf,0x8f,0x3f,0xf3,0xf5,0xb2,0xdd,0x8c,0x06,0xb4,0x4b,0x64,0x2b,0x3a,0x3e,0x38,0x00,0xe9, +0x32,0x36,0xb9,0x14,0x8d,0x5c,0xce,0xff,0x68,0x2e,0xc3,0x61,0x41,0xd5,0xe9,0xcd,0x84,0x8d,0x70,0xcc, +0xdc,0x26,0xc6,0x26,0x72,0x66,0xfa,0x6f,0x2c,0x5a,0xbb,0xda,0x4b,0xb3,0x9b,0x22,0x5e,0xa4,0x39,0x20, +0xb3,0x78,0xdd,0x9f,0xe6,0xd7,0xb8,0x26,0x46,0x3f,0xc1,0xef,0x8a,0x98,0xcf,0xab,0xbc,0x58,0xe0,0x3a, +0xbd,0x8c,0xcf,0xf1,0x70,0x1b,0xd4,0xe4,0xd4,0xd5,0x2c,0x2a,0xfd,0xab,0xa0,0xce,0xad,0x5c,0x9f,0x5e, +0xa6,0x90,0x47,0xa9,0x22,0x21,0xd2,0xa7,0x9b,0x7c,0x8d,0xe4,0xe6,0xfc,0x72,0x10,0x08,0x8d,0x41,0x53, +0x59,0x57,0xb3,0x41,0x3d,0x31,0xbf,0xbe,0x52,0xef,0x78,0x6a,0xfd,0x9a,0x40,0xf8,0x1a,0x75,0x89,0xbd, +0x56,0x1c,0x94,0xe8,0x47,0xc3,0xfa,0x33,0x7e,0x82,0xd5,0x7d,0x8d,0xc2,0xb9,0x15,0xa7,0x4a,0x60,0x50, +0xa2,0x20,0xd6,0xec,0x36,0x87,0xe2,0x8d,0xac,0x6c,0x5c,0x12,0x27,0x44,0xcc,0xdc,0x00,0xa8,0x17,0x1a, +0xe3,0xa3,0x0c,0x18,0x39,0x8d,0x63,0x24,0x1a,0x74,0xd3,0x14,0x92,0x14,0xcd,0xce,0x6e,0x36,0x65,0xa0, +0xb4,0xa7,0x4d,0x4e,0x39,0xc2,0x91,0x09,0x68,0x6a,0x94,0xc5,0xb2,0xce,0x82,0xc5,0xb3,0xa9,0x85,0x97, +0xcd,0x25,0xbd,0xf6,0xa8,0x2a,0x04,0xcd,0x8a,0x73,0x75,0xc9,0xad,0x3d,0x36,0x46,0xa8,0x8b,0xb5,0x2c, +0xb4,0xb4,0x81,0xb1,0x77,0x4c,0x37,0x06,0xa8,0xf3,0x02,0x18,0x3c,0x4e,0xb5,0x97,0x74,0x2b,0xad,0xc1, +0x15,0xe4,0xc2,0x8c,0xad,0xfb,0x99,0x7a,0xc4,0x4a,0xab,0x59,0xc2,0x74,0x57,0xf1,0x0c,0xa2,0x22,0x88, +0x51,0x36,0xba,0xf8,0xc4,0xe2,0xb0,0x97,0x13,0x2b,0x26,0x0b,0x42,0x84,0x54,0x58,0x07,0xb6,0xf7,0xb7, +0xea,0xbb,0x48,0x74,0x84,0x34,0xe3,0x5a,0x6a,0x8b,0x86,0x19,0x12,0x23,0x22,0x7d,0xef,0x0c,0xe7,0x40, +0xb3,0xab,0x22,0xcd,0x79,0x27,0x10,0x25,0x51,0x33,0xc4,0x58,0x1e,0x5d,0x73,0xa0,0x65,0x6a,0x19,0x53, +0xa7,0xc6,0x6d,0x35,0xac,0xe3,0xeb,0x52,0xa6,0x54,0xda,0xa9,0x9f,0xb2,0x23,0x5a,0x6e,0x65,0xbe,0x51, +0xe2,0x58,0x27,0x3d,0xb5,0xc2,0xe0,0xa8,0x4b,0xdf,0xb6,0x21,0x70,0xfb,0x10,0xc5,0x00,0xda,0x30,0x8f, +0xe0,0xcc,0x44,0x15,0x8d,0x96,0xb6,0x14,0x68,0x62,0x5c,0x0c,0x1b,0x50,0x37,0x73,0xd3,0xaf,0xcc,0x93, +0x13,0x5b,0x47,0xa4,0xec,0xdc,0x91,0xd5,0xa1,0x96,0x9a,0x2c,0xbd,0x47,0xdb,0xf4,0x8b,0xa7,0xd8,0x70, +0xfd,0x58,0x02,0x49,0xe8,0xbd,0xfa,0xeb,0x16,0x16,0xc4,0x6b,0x38,0xaf,0x59,0xcf,0xbf,0x9c,0x05,0xab, +0xec,0x6a,0xc8,0xaa,0xea,0xc8,0xb7,0xd6,0x7a,0x7e,0x6c,0x94,0x6a,0xee,0xec,0xd3,0xf4,0x6c,0xc5,0xe0, +0xda,0x08,0xd3,0xaa,0x06,0x8e,0xf7,0xd0,0x92,0x25,0x8f,0x0d,0x3a,0x4d,0xd5,0xae,0x7c,0xb9,0x99,0x5d, +0xa2,0xa8,0x31,0x8d,0xdb,0x8a,0xfd,0xdd,0x02,0x27,0x79,0xed,0x60,0x60,0xc1,0xcb,0x47,0x96,0xa7,0x82, +0xff,0x34,0x43,0xde,0xe4,0xf0,0x72,0x76,0x1d,0x18,0x11,0x46,0x48,0x5a,0x21,0xce,0xeb,0xeb,0x48,0x9a, +0xa1,0x39,0x88,0x82,0xf6,0x9a,0xdb,0x5a,0x63,0x10,0x57,0x72,0xe3,0x63,0xda,0x8b,0xbc,0xa2,0x01,0x66, +0x72,0xa3,0x35,0x49,0xd5,0x31,0x5a,0x57,0x58,0xab,0x08,0x0e,0xb9,0x31,0xe8,0x01,0xb7,0x29,0x00,0x99, +0xa3,0x79,0x7c,0x4d,0xfd,0x2f,0x37,0x1b,0xe2,0xa1,0x10,0xf0,0xd1,0x2f,0x58,0x49,0x46,0x33,0x08,0x31, +0xc1,0x6f,0x07,0x7f,0x61,0x30,0x33,0x57,0x1b,0x14,0x7d,0x30,0x60,0x22,0x5e,0x60,0x74,0x41,0xda,0x20, +0x83,0x4d,0x52,0x3f,0xa8,0xae,0x46,0x29,0x1a,0x0c,0x7e,0x53,0x2f,0xfd,0x40,0x35,0x35,0xf4,0xfd,0xb6, +0xb8,0xc7,0xb7,0xd8,0x3b,0xdc,0x82,0xad,0xd2,0xb5,0x95,0xb2,0x14,0x61,0x9f,0xc9,0xd4,0x9f,0xc4,0x3e, +0xca,0x53,0xde,0x9f,0x84,0xce,0xa8,0x89,0xbc,0x16,0x81,0x81,0xf4,0xd8,0xfc,0x36,0x9b,0x5c,0xa8,0x8d, +0x0d,0xd3,0xc7,0x12,0xd5,0x6a,0x23,0x91,0xae,0x54,0xfb,0xb8,0xc4,0x1e,0x91,0xd5,0x0a,0xa0,0xa6,0x7e, +0x51,0x79,0x56,0x72,0xd7,0x24,0x55,0x26,0xc7,0xe1,0x3d,0xb1,0xae,0xae,0x35,0x94,0x6d,0x13,0x9c,0xde, +0x56,0x31,0x49,0x75,0xc4,0x06,0x78,0x4e,0x3b,0x9a,0xc6,0x57,0xbc,0x02,0x3c,0xc6,0xaa,0xf4,0x3e,0xd3, +0x64,0x49,0x6a,0xda,0xac,0x3f,0xec,0x6d,0x22,0xed,0x01,0x9f,0x25,0xe7,0xea,0x6e,0x70,0x63,0xe3,0xee, +0x1a,0x2e,0x0d,0xe9,0xd7,0xaa,0x51,0x6d,0x40,0x25,0x95,0xaa,0x92,0x4e,0x7d,0xf8,0x08,0x1e,0x37,0x3b, +0x1e,0x38,0x9f,0x0c,0x51,0xdd,0xea,0xe8,0xff,0x48,0xc1,0x8b,0x78,0x8e,0x50,0x59,0x73,0x14,0xd4,0x6c, +0x11,0x9d,0x26,0x82,0x1a,0xba,0x2a,0xe8,0xb2,0xd6,0xd7,0x99,0x87,0x53,0x2f,0xf4,0x34,0x12,0xe9,0xaa, +0xb0,0x64,0x05,0xdd,0x3b,0x1a,0x5a,0x7b,0x87,0x1c,0xea,0xe7,0xea,0x5c,0x54,0x91,0x78,0xaa,0x95,0xa1, +0x82,0x28,0xf7,0xe3,0xab,0x97,0xb4,0x26,0xf0,0x98,0xaf,0x95,0x13,0x75,0x14,0x0f,0xcd,0x35,0x57,0x81, +0x75,0xd1,0xd6,0xf0,0xe1,0xd4,0x3c,0x61,0x8d,0xfb,0x55,0xd7,0x2d,0xa8,0x26,0xf0,0xf8,0xc8,0xb3,0x1a, +0xf3,0x6c,0x0c,0x1e,0x08,0x21,0x08,0x05,0xc6,0xcc,0xd1,0xbb,0x1a,0x81,0x63,0xfd,0x48,0xc2,0xe9,0x00, +0x9d,0x95,0x8d,0x4f,0x4b,0x98,0x39,0x68,0x2c,0x47,0x8d,0x10,0x68,0x55,0xbe,0xc5,0xb6,0xeb,0xdb,0x53, +0x53,0xba,0xd3,0x59,0x0f,0xab,0xd5,0x06,0x1d,0x4a,0x06,0xcc,0x8e,0x64,0x26,0x6b,0x57,0x83,0x9a,0xd8, +0x9e,0xe7,0x4d,0xb8,0xb1,0xd1,0xc3,0xa7,0xe7,0xe8,0xa7,0x87,0x82,0x5e,0x3d,0xfd,0xe9,0xe4,0xe8,0x64, +0xf4,0x28,0x64,0xb7,0xcf,0xea,0xa4,0x38,0xc9,0x4e,0xce,0x66,0x77,0x83,0x69,0xf3,0xfe,0xe4,0x68,0xf2, +0xc8,0x9f,0x84,0x0f,0x29,0xed,0xf1,0xa3,0x0d,0xbb,0x7b,0xfd,0x8a,0x4c,0x0e,0xa7,0x3f,0x85,0x7f,0x3a, +0x99,0x9e,0x1c,0xaa,0xd9,0xdd,0x3b,0x47,0x63,0x1b,0x20,0x77,0x87,0xd7,0x15,0x44,0x43,0x0e,0xcb,0xef, +0xc3,0x69,0x33,0xcb,0x69,0x1f,0x1b,0x6a,0xe3,0x54,0x91,0x30,0x98,0xed,0xfd,0xb8,0xe1,0x82,0x32,0xd1, +0x13,0xaf,0x6d,0x79,0x42,0xdb,0x39,0x1d,0x5a,0x88,0x3b,0x35,0x9d,0x85,0xad,0x34,0x3e,0xcf,0x51,0x40, +0x3e,0xba,0x01,0x3b,0x9c,0xcd,0xb6,0xd1,0xa5,0x8c,0x0d,0xed,0xc2,0x18,0xfb,0x37,0xac,0x46,0xee,0xf7, +0xa2,0x71,0x51,0x9a,0x53,0xbe,0x73,0xe1,0x11,0x6b,0x25,0x93,0x1b,0x04,0xa7,0x01,0x5b,0x8d,0x39,0xa2, +0xe3,0x09,0x3b,0x9c,0x99,0x04,0x51,0x1c,0x8d,0xab,0x87,0x05,0x63,0xe1,0x48,0x38,0x0d,0x6b,0x2d,0x97, +0x32,0xce,0x22,0xf0,0xbb,0x6b,0xc8,0x94,0xc0,0x1a,0x23,0x35,0x8b,0x80,0x98,0xcf,0xcd,0x4a,0x77,0x0e, +0x0b,0x2d,0x29,0x17,0xc7,0x1a,0xfc,0xd1,0xf1,0xa4,0xb1,0x32,0x21,0x58,0xcd,0xac,0xce,0xb1,0x4f,0x01, +0xd7,0x2c,0x29,0xd7,0xa0,0xdd,0x4c,0x48,0x0d,0x8e,0x03,0xc6,0xf7,0xed,0x65,0xcb,0x6f,0xfd,0x70,0x24, +0x60,0xb4,0x7d,0xa2,0x82,0x81,0x4e,0xd9,0x55,0xf9,0x11,0x79,0x65,0x8f,0xf0,0x09,0xf7,0x6a,0x68,0xeb, +0x61,0xbc,0x52,0x34,0x18,0xe2,0xbb,0x44,0x7d,0xa7,0xbd,0x0f,0x4f,0xca,0xbb,0xfe,0xc3,0xe9,0xc9,0xd5, +0xc9,0x87,0xd9,0xf0,0x51,0x30,0xfd,0xe9,0xd1,0xec,0xee,0xe6,0x4f,0xae,0x03,0xe2,0xd3,0x24,0xaa,0x81, +0xe2,0xfb,0xe7,0xb3,0x00,0x62,0x0e,0x1a,0x23,0x6c,0x29,0x4a,0x2a,0xab,0x5b,0x57,0xde,0x20,0x0a,0x3a, +0xb1,0x44,0x9b,0x8d,0x60,0x0f,0xde,0x23,0xb9,0xae,0x1d,0xf4,0x66,0x2c,0x26,0x13,0x2a,0x33,0xba,0x3f, +0x99,0x8a,0x6d,0x08,0x4b,0x58,0x67,0xe1,0x77,0x16,0xef,0x50,0xc1,0xc8,0x72,0x50,0x4c,0x91,0xde,0x50, +0x84,0x03,0x96,0x6b,0x0a,0xa0,0xfc,0x04,0xe4,0x79,0x16,0xe8,0x21,0x0f,0xc2,0x0e,0xc8,0x77,0x65,0xdf, +0xb1,0xd1,0x95,0xc1,0x4d,0x24,0x72,0x92,0xb8,0x99,0xb2,0x8a,0xb3,0x39,0xea,0x7c,0x9e,0x4c,0xb0,0x6c, +0x43,0x89,0xe9,0x6d,0x21,0xdf,0x71,0xc7,0x98,0xc7,0x38,0x82,0xf9,0x63,0x55,0x19,0xb5,0x17,0xaf,0xd6, +0x1e,0x44,0xc7,0x2c,0xe1,0x21,0xa6,0xfd,0x47,0x87,0xdd,0x40,0x91,0x3d,0x58,0xd6,0x95,0xa0,0xa1,0xea, +0xf0,0x8f,0x4d,0x2c,0x51,0xc6,0x37,0x2f,0x66,0xc1,0x44,0x5f,0xb0,0xc8,0x5d,0x37,0x8e,0xf5,0xad,0x44, +0xdc,0xe1,0x89,0x8b,0x94,0x6e,0xf6,0xdc,0x94,0x18,0xd9,0xb6,0x2b,0x0b,0x42,0x0d,0x33,0xea,0x91,0xe4, +0x4c,0xf4,0x7e,0xaa,0x9c,0x95,0x1d,0x1d,0xeb,0x20,0x52,0x0d,0x95,0x38,0x37,0xd0,0x7e,0x90,0x34,0x3f, +0x90,0xd5,0x19,0xb6,0x21,0x50,0x27,0xf5,0x91,0x72,0x08,0x1f,0xfc,0x4f,0x13,0xfd,0xcb,0x13,0x96,0xd6, +0x38,0x7f,0x62,0xf1,0x7a,0x7d,0xc9,0x35,0xd8,0x8e,0x9f,0xba,0xc1,0x02,0x78,0x4a,0xaa,0x77,0xb8,0xf0, +0x33,0x6d,0x3f,0xf6,0x8b,0x9e,0xd2,0x42,0xb9,0x96,0x1b,0x28,0x28,0xe9,0xf6,0xfb,0xac,0x4a,0x97,0x1b, +0x76,0x94,0x38,0x52,0x8f,0x93,0xe8,0x86,0xf5,0x69,0x94,0x84,0x05,0x0e,0x3a,0x02,0x0b,0xae,0xd9,0x19, +0x13,0x02,0x07,0xfa,0x0e,0x42,0x83,0x71,0x73,0x0b,0x84,0xe4,0xbe,0x2b,0x30,0x3b,0x4f,0x4c,0x0d,0x5d, +0xce,0xcf,0x5d,0xe4,0xfd,0x5b,0x1b,0xa3,0xc1,0xc3,0x77,0xf2,0x61,0x36,0x4e,0xba,0xdb,0x9b,0xc4,0x08, +0xe0,0x80,0x92,0xf5,0xf6,0xb6,0x55,0xf3,0x65,0x5e,0x26,0x2e,0x9a,0x7e,0x27,0x0c,0xad,0xbb,0x1b,0x83, +0xf7,0x87,0xea,0xb8,0xb3,0x15,0xeb,0x93,0x99,0x57,0x6d,0xbd,0x69,0xe8,0xe8,0x44,0x0f,0x53,0xc6,0x62, +0xa9,0x77,0x52,0x98,0x6b,0x42,0x30,0x8d,0x63,0xb6,0x65,0xe5,0xc9,0x6e,0x49,0xb5,0xd8,0xf3,0x18,0xd0, +0x3d,0xf1,0x24,0x16,0x41,0x3a,0x6d,0x9e,0x50,0x92,0xb7,0x7d,0x70,0x76,0x1d,0x5f,0x8c,0x99,0x1c,0xdc, +0xe4,0x56,0xa2,0xd5,0xe0,0xe5,0xdb,0xfb,0x65,0xad,0xed,0x6a,0x6e,0xd8,0xc4,0x58,0xe7,0x2c,0x0e,0xa5, +0x0a,0xf4,0x0a,0x86,0x27,0x3d,0xe8,0xcd,0x06,0x7b,0x99,0x7b,0x45,0xe9,0xf9,0x1c,0xd4,0x90,0xcc,0xbc, +0x35,0x9b,0xed,0x04,0xdb,0x55,0xa8,0xf7,0x11,0xde,0xb9,0xf4,0x45,0x03,0x51,0x4f,0x06,0x9e,0xe8,0x6a, +0xe2,0x39,0x31,0x9f,0x60,0xdf,0x6f,0x76,0xe1,0x90,0x61,0x7e,0x16,0x8b,0xd6,0x28,0xee,0x3a,0x1e,0xdd, +0xd6,0x35,0xa3,0x4d,0x20,0xc4,0x29,0xc0,0x76,0xf9,0x7b,0x46,0xff,0xa5,0x5c,0xbf,0x69,0xc7,0xa9,0x70, +0xf3,0xa5,0xf7,0xbe,0x01,0xcb,0x6e,0x45,0x3f,0x08,0x5b,0xf7,0x66,0xde,0x02,0xfb,0x66,0x5b,0x43,0xfa, +0xde,0xf4,0x48,0xb1,0x8d,0xe8,0xb8,0x6b,0x08,0x6f,0x0c,0x54,0xdd,0xfd,0x50,0x9b,0x49,0xea,0x55,0xda, +0x57,0xd5,0x2b,0x0e,0xb9,0xe9,0x58,0x9f,0x05,0x36,0x39,0x2f,0xe6,0x5d,0x68,0xda,0x9d,0xef,0xd8,0xfa, +0x37,0x6b,0x4b,0xa1,0x1d,0x1b,0xe7,0x86,0x11,0x40,0xb0,0x95,0xa5,0xbf,0x2b,0x6d,0xdb,0xe0,0x41,0xe7, +0x4d,0x43,0xbb,0xbb,0x11,0x3d,0xf9,0xdf,0x9a,0x7e,0x47,0x19,0x7f,0xa0,0xd9,0x6e,0x49,0xdc,0x6e,0x64, +0xf5,0x47,0xba,0xab,0x6d,0xc6,0x81,0x6f,0x4b,0xb9,0xe9,0x1d,0x9d,0xf7,0x09,0xac,0xa5,0xeb,0x5e,0x46, +0xb0,0x89,0xc0,0x61,0x22,0x39,0x64,0x89,0xdd,0x63,0xfb,0x33,0x70,0x99,0x4e,0xa4,0x36,0xbb,0x70,0x4f, +0x6a,0xa8,0x6b,0xbd,0xf4,0xac,0x60,0x97,0xe3,0x89,0x8d,0x99,0x65,0xce,0xd3,0xd0,0xe7,0x04,0x55,0x72, +0xb9,0x5a,0xc6,0x55,0xc2,0x61,0x73,0x93,0x3a,0xb4,0x16,0x84,0x5b,0xf5,0x81,0x4d,0xdb,0x61,0xe2,0xba, +0xcf,0xb3,0x3d,0x59,0x63,0x11,0x0a,0xca,0x75,0x32,0xab,0x09,0x1d,0x07,0x7b,0xcb,0x8d,0xb0,0x52,0xd5, +0x64,0xa3,0xc7,0xbd,0xdc,0xb0,0xcd,0x79,0x20,0xc2,0x9f,0x2c,0x00,0x88,0x51,0x67,0xc3,0x29,0x18,0x72, +0xce,0x32,0x09,0x3e,0xac,0x7f,0x02,0xf7,0xf0,0x04,0xae,0x90,0xff,0x38,0x61,0x4b,0x81,0xe6,0x06,0x90, +0x06,0xea,0x17,0x47,0x50,0x93,0xd2,0xd1,0x89,0xe8,0x46,0x60,0xaf,0x55,0x3b,0x6a,0x4b,0x60,0xc8,0xbd, +0xdf,0x80,0x21,0xf1,0x53,0x83,0x93,0x19,0x1e,0x9d,0xe3,0x78,0x7b,0x42,0xdb,0xdb,0x29,0x25,0x2e,0x1b, +0x46,0xb6,0x49,0xd4,0xb7,0x47,0xfa,0x72,0x32,0xd7,0xd1,0x41,0xf5,0xb1,0x6b,0x23,0x9a,0xc8,0x69,0x33, +0x85,0x4b,0xc2,0xc1,0xb1,0x5a,0x46,0xad,0x13,0x2f,0x85,0x45,0x6c,0x72,0x98,0x13,0x39,0x05,0xae,0x01, +0x11,0x30,0x0d,0x60,0xde,0x18,0x5f,0xe8,0x13,0x27,0xb6,0xd1,0xb5,0x86,0xc3,0xf5,0x43,0x2b,0x81,0x0b, +0xf2,0xe9,0xda,0x22,0x8d,0x41,0xfa,0x97,0x81,0x68,0x8a,0x4c,0xec,0x78,0x44,0x8b,0x7c,0x9d,0x3d,0x8b, +0x97,0x65,0xc2,0x70,0xd8,0xe6,0x3b,0xd8,0x3c,0x1e,0x03,0x91,0xe0,0x32,0xb9,0xcc,0x8b,0x4f,0x9b,0x8d, +0xcf,0x0f,0x88,0x1d,0x18,0x1c,0x33,0xb5,0x93,0x47,0x19,0xe0,0xf5,0x38,0x48,0xc0,0x3c,0xba,0x69,0x6c, +0xcb,0xb5,0xb9,0x82,0x86,0x1f,0xac,0x1a,0x79,0x53,0x23,0x63,0x73,0x58,0xd5,0x7a,0xeb,0x3d,0x10,0x94, +0x37,0xbd,0xe1,0x11,0x33,0x7e,0xde,0x88,0x08,0x38,0x31,0xa3,0xbb,0xbf,0x3f,0x87,0x2a,0x96,0x1e,0xc1, +0x88,0x4c,0xe7,0x1a,0xb2,0x3e,0xd8,0xb0,0x81,0xf5,0x39,0x6e,0xa3,0x73,0xc0,0xfc,0xb2,0x00,0x26,0x59, +0xb0,0x75,0x70,0xe0,0x95,0xae,0xeb,0xd2,0xcc,0x0a,0x98,0xff,0x02,0x2b,0xb8,0xa7,0x69,0xa6,0xa2,0x35, +0x0e,0xfd,0x0e,0x5e,0x7c,0xec,0x73,0xbc,0x26,0x1d,0xd0,0x80,0x5a,0x03,0x23,0x07,0x1c,0xf0,0x34,0x34, +0xd6,0x9c,0x1b,0x82,0xc9,0xec,0x21,0x07,0x20,0x3b,0x38,0xd8,0x9a,0xc2,0xdb,0x94,0x93,0x3d,0x8a,0x9d, +0xfc,0x12,0x95,0x33,0xb5,0x90,0xd7,0xe6,0x0e,0x6d,0x55,0x6c,0x63,0x38,0x58,0xaf,0xa1,0xf3,0xd7,0x52, +0xa1,0xbe,0xb0,0x50,0x51,0x2c,0x52,0x7b,0xb6,0x18,0x6f,0xa4,0xee,0x19,0xe7,0x41,0xbe,0x55,0x88,0x88, +0xbd,0x3b,0x23,0xe2,0x67,0x20,0xeb,0x97,0xfc,0x4c,0xf1,0xf8,0xa4,0x37,0xbb,0x41,0xca,0x3a,0x47,0x0e, +0xd1,0xda,0xb2,0x0a,0x32,0xd9,0xf2,0x84,0x14,0xb9,0x7b,0x06,0xa3,0x1d,0xad,0xfd,0x9f,0x18,0x2b,0x00, +0x9a,0x02,0xb3,0x7a,0x96,0x29,0x2a,0xdc,0x19,0x54,0xe4,0xdd,0x53,0xd7,0xf9,0xa1,0x29,0xb4,0x1d,0xb0, +0xc9,0xf9,0xae,0xb7,0xbe,0xc5,0xd6,0x02,0x95,0xcd,0x1b,0xb1,0x70,0x4c,0x5c,0xe5,0x1e,0xab,0x86,0xe9, +0xd4,0x93,0x08,0xb5,0x1e,0xce,0x12,0x89,0xa6,0x8a,0xb8,0x63,0xf5,0xde,0xe2,0x7b,0xb2,0xf8,0xbc,0x60, +0xd7,0xe3,0x7b,0x33,0x35,0xf5,0x74,0x3c,0x5b,0xca,0x06,0xe1,0x57,0xdb,0x59,0x60,0xdb,0xd8,0xdb,0x91, +0x4f,0xf3,0xdd,0x48,0x99,0xac,0x16,0x9e,0xe4,0xcb,0x00,0xec,0xca,0x43,0xcc,0xd6,0xff,0x3c,0xdb,0x63, +0xa5,0x73,0x42,0xb6,0xf0,0x9e,0xf0,0xe0,0x26,0xca,0x27,0x66,0x1a,0xe9,0xf8,0x71,0xdd,0xb1,0x28,0x88, +0x26,0xe3,0xb0,0xb0,0x7d,0xd3,0x58,0x62,0xce,0xd6,0xc3,0x23,0x11,0x66,0x3b,0xc3,0xe5,0xb1,0x07,0x8f, +0xd7,0x7b,0x38,0x1e,0x56,0x17,0x49,0xa6,0xa1,0x17,0x71,0xe6,0xa7,0xab,0x46,0x2d,0x84,0xcb,0xb0,0x39, +0x8e,0xeb,0x45,0x6f,0x23,0x65,0xbb,0x23,0x6a,0x36,0x83,0x4c,0xed,0x38,0xfe,0x5c,0x4e,0x6e,0x5a,0x4c, +0xbf,0x9c,0x81,0x6f,0xd5,0x57,0xe3,0x7c,0x0a,0x46,0x76,0xe6,0x77,0xca,0x07,0x96,0x6e,0x7f,0x04,0xb1, +0x71,0xa2,0xd9,0xde,0x3a,0x5b,0x13,0x97,0x1a,0x5b,0xa3,0x09,0x51,0x1d,0xd4,0x71,0x7b,0x2b,0x1d,0x0f, +0x59,0x07,0xec,0xad,0x4c,0x18,0x64,0xdd,0x79,0x95,0x0e,0x7f,0x4c,0xe4,0xf9,0x14,0x71,0x55,0x87,0x1e, +0xd6,0x81,0x37,0x93,0x82,0x53,0x8e,0xd3,0x52,0x17,0x0f,0xa8,0x67,0x04,0xea,0x60,0xb1,0x6e,0x5d,0xda, +0x56,0xa1,0x57,0x5d,0xbb,0x58,0xc1,0xae,0x35,0x3b,0x7c,0xee,0x5b,0x9b,0xdd,0xb6,0xf1,0x96,0x34,0xb9, +0x94,0x00,0x5a,0xf3,0xc8,0xd9,0x55,0xbb,0xa1,0xc0,0xce,0x98,0xff,0xf2,0xab,0x87,0x71,0xa0,0x7d,0x01, +0x0b,0xdd,0x4b,0xf4,0x29,0xea,0x05,0xbe,0xc9,0x56,0x2a,0xa8,0x3d,0x82,0x40,0x47,0x6b,0xaf,0xa0,0xf7, +0x17,0x62,0x91,0x03,0x97,0xfc,0xb3,0x03,0xee,0x8b,0x35,0xeb,0xfd,0x82,0xf1,0x19,0xa3,0xe9,0xfc,0xd1, +0x78,0x43,0x18,0x47,0x9e,0x4c,0xad,0x98,0x25,0x67,0xc1,0x24,0x9d,0x9c,0x19,0xbf,0xb4,0xdc,0x8f,0x61, +0x23,0x4c,0x2d,0xd7,0x97,0x4b,0x90,0x2e,0xa1,0x1f,0x0f,0x87,0xea,0xf6,0x44,0xf6,0x69,0xe6,0x04,0xb4, +0x0e,0xf0,0x6d,0x21,0x11,0x2b,0xfd,0x52,0x0b,0x9b,0x81,0x7d,0x4a,0x7c,0xaf,0xf2,0x69,0x73,0xcc,0xdc, +0x28,0xd7,0x01,0xf7,0x0b,0x68,0xb6,0x15,0xec,0x9a,0xdd,0x79,0x0e,0x17,0xba,0x33,0xdf,0xe0,0xe8,0x27, +0x3c,0x93,0xcd,0x0c,0xa7,0x4d,0x6c,0x9e,0xb0,0x15,0x11,0xa2,0x4f,0xf3,0x7c,0xeb,0x7f,0x45,0x55,0x5f, +0x21,0x64,0xf4,0xfc,0xd7,0xf7,0x45,0x3c,0x07,0x23,0x38,0x3c,0x7e,0x14,0x21,0xc2,0x1a,0xaa,0xb8,0xec, +0xa9,0x62,0xe6,0x06,0xdb,0xd6,0x95,0x1b,0x57,0x93,0x15,0x34,0x0b,0x6e,0x31,0xc4,0xa8,0x31,0x4d,0x26, +0x15,0xf0,0xdd,0x52,0xa2,0x5d,0xe9,0x7c,0xf1,0x7d,0x48,0x38,0x26,0x7a,0xbe,0xae,0xfc,0x15,0x72,0xc7, +0xcc,0x89,0xa3,0xd1,0xad,0x0b,0x19,0x21,0xa0,0x68,0xea,0x4f,0xef,0xcf,0x98,0xdf,0xcb,0x7d,0x44,0xa5, +0x6d,0x8e,0x6a,0x4a,0xa3,0x1a,0xae,0x55,0xd2,0x18,0x0b,0x26,0xa9,0x6e,0xfb,0xaa,0x0a,0x88,0x7b,0x5b, +0x73,0xc2,0x7b,0xb7,0x26,0x2c,0x82,0x49,0x11,0x2e,0xa1,0x8b,0x73,0x17,0x95,0xbe,0xbc,0x25,0x40,0xd9, +0xa4,0x3e,0x72,0x38,0x6e,0x74,0x4a,0x63,0x8d,0x80,0xc0,0xe3,0x16,0xb1,0x92,0xb5,0x88,0x14,0xe9,0x95, +0x0a,0x36,0xd3,0xb4,0xf4,0xa6,0x0f,0x66,0xe3,0x74,0x5a,0x61,0x2f,0x22,0x6a,0x92,0xea,0xa8,0x4a,0x84, +0x23,0x41,0x65,0xdd,0x4d,0x38,0xa2,0xad,0x35,0x9b,0xde,0x3f,0x48,0x66,0xf4,0x9d,0x71,0xf3,0x57,0xdc, +0x73,0x74,0x8f,0x43,0x3d,0x50,0xf2,0x55,0x85,0xb6,0xe2,0xd0,0x84,0x0e,0x1f,0x42,0xc0,0x59,0xd4,0xb3, +0x9b,0xf3,0x9b,0xc6,0x7e,0x03,0x07,0x05,0x2d,0xee,0x0a,0xfb,0x4f,0xe2,0xe6,0x47,0x54,0x5b,0x73,0x72, +0x43,0x2d,0x66,0xfb,0x2e,0x0f,0x44,0xa6,0xc8,0xeb,0x2b,0x47,0xbc,0x25,0x22,0x54,0xae,0x2e,0x92,0x3e, +0x03,0xae,0x4e,0xf0,0x40,0xc4,0xae,0x2e,0x22,0x13,0x3b,0x8f,0xce,0xaa,0x6e,0xdc,0x20,0xea,0x63,0x77, +0x22,0x05,0x2e,0x4e,0xed,0x0e,0x03,0x55,0xb0,0x48,0xb2,0xa5,0xe2,0xaa,0x5d,0xe8,0xa3,0xe3,0x49,0xb7, +0x94,0x30,0x53,0x07,0x07,0x15,0xa8,0x5b,0x37,0x72,0x3d,0x76,0x51,0x5a,0x34,0x90,0xb7,0x3e,0x8c,0xc0, +0xf6,0xcc,0xb1,0x83,0xe8,0x93,0x11,0x84,0xb5,0x49,0xad,0x72,0xbd,0xd8,0xa0,0xf7,0x57,0xf6,0xf0,0x65, +0x27,0x10,0x3e,0x7d,0x81,0x76,0xdb,0x9a,0xe5,0x1c,0xc5,0x19,0x7f,0x79,0x67,0xab,0x03,0xdd,0xe4,0x72, +0x6c,0x6a,0x97,0x44,0x36,0xd3,0x98,0x73,0x6a,0x85,0x22,0x6d,0x49,0xb5,0x95,0xb5,0x33,0x8d,0x35,0x4f, +0xf5,0x92,0x85,0x8d,0x88,0xbd,0xb6,0x79,0x41,0x9c,0x66,0x91,0xd1,0xc5,0xdb,0x38,0x3b,0x4f,0x36,0x6f, +0xd1,0x8f,0x09,0xd1,0x0e,0x1b,0x71,0xd9,0xdc,0xb0,0xdb,0xff,0xf7,0x6f,0x5f,0x04,0xbc,0x67,0x8b,0x7a, +0xa8,0x7f,0x07,0x8a,0x9c,0x23,0x27,0x03,0xca,0x07,0xc4,0xd4,0xb9,0xb8,0x5e,0xea,0xcb,0xc3,0xab,0xb8, +0x40,0x80,0x8a,0xfd,0xfd,0x97,0x9a,0x0f,0xa4,0x13,0x11,0x46,0x7d,0xed,0x34,0xbe,0x8e,0x5b,0x68,0x8b, +0xda,0xb3,0x45,0xc1,0x14,0xb7,0x22,0x8e,0xa8,0x2c,0xe3,0x73,0x78,0xcf,0xf2,0x6e,0xc4,0x7c,0xff,0x79, +0x22,0xb2,0xd8,0x6f,0x4d,0xd2,0xc8,0x25,0x0f,0x1a,0xdb,0x91,0xbb,0xfb,0xf2,0xc9,0x54,0xd1,0x69,0xca, +0x5d,0xf3,0x3c,0x69,0x4e,0x27,0x2d,0x47,0xe5,0x8c,0xfb,0x26,0xd6,0x73,0x39,0x78,0xe8,0xc9,0x54,0x93, +0x3a,0xb3,0xc6,0x66,0xd6,0xa9,0x94,0xcf,0xd0,0x11,0xb2,0x82,0x1c,0x22,0xd5,0x86,0x5e,0x3c,0x56,0x9c, +0xfe,0x43,0x9c,0x56,0xa1,0xbe,0x6e,0xac,0x14,0xf6,0xba,0x1f,0x8c,0x26,0x07,0x07,0x26,0x6b,0x4e,0xca, +0x93,0x87,0xb3,0x80,0x4d,0x52,0x7d,0xc7,0x31,0x5e,0x74,0x44,0xe3,0xe6,0x27,0x8f,0x46,0x9b,0xcd,0xf3, +0xa4,0x31,0x9f,0xb3,0x44,0x4d,0xcf,0x21,0xb6,0xd5,0x42,0x33,0x4e,0xcb,0xed,0x8b,0x74,0x3b,0x11,0xac, +0xf0,0x72,0x85,0x00,0x34,0xec,0x3b,0xa4,0x93,0xbc,0xc3,0x14,0x06,0x60,0x60,0x1e,0x2f,0x34,0x93,0xd7, +0x78,0x05,0xf0,0xfb,0x0e,0x06,0x05,0xdd,0xbf,0x9b,0x17,0xf9,0x72,0x39,0x69,0x0c,0x8d,0x29,0x96,0x4e, +0x21,0xfa,0xa6,0x0b,0x21,0xf7,0xf4,0xf5,0x2b,0x6d,0xfd,0xfd,0x92,0x4a,0x03,0x34,0xc9,0x19,0x63,0xb6, +0x74,0x12,0x0a,0x74,0x1c,0xd0,0xe1,0x31,0xae,0xcf,0xda,0xda,0x62,0x13,0xc8,0xd4,0x10,0x3d,0x3d,0x58, +0xfe,0x50,0x1c,0x3b,0x51,0x90,0x22,0x97,0x75,0x25,0xa2,0x07,0x42,0x00,0xb6,0x7d,0x93,0x28,0xe2,0xcf, +0x24,0xaa,0x77,0x49,0xbb,0x70,0x09,0x35,0x18,0x67,0x6e,0x9d,0x53,0x1a,0xb1,0x3b,0x53,0x1d,0xb5,0xbe, +0x71,0xea,0x70,0x24,0x53,0xc6,0x59,0x67,0x39,0xb4,0x0d,0x2c,0x08,0x3b,0x18,0x81,0x3f,0xa7,0x2e,0x59, +0xd2,0x86,0xd8,0x55,0x64,0xe9,0xb9,0xb8,0x74,0x05,0xc1,0x19,0x83,0xaf,0x68,0x2d,0x8c,0x0d,0x49,0x50, +0xb1,0x5f,0x00,0xb5,0x3e,0xa6,0x43,0xae,0x30,0xa1,0x0b,0x4b,0xe0,0xee,0x9b,0x57,0x4e,0x18,0x82,0x74, +0x92,0x84,0xcb,0x89,0xa9,0x48,0x10,0xae,0x27,0xe2,0x64,0xa9,0xe0,0xb2,0xb1,0x55,0xaf,0xfb,0xdc,0xc4, +0x5b,0xea,0x58,0xf1,0x64,0x76,0xef,0x07,0x43,0x47,0x59,0x3b,0x5e,0x1d,0x22,0xd4,0xdb,0xb1,0x72,0x4d, +0x19,0xc5,0x59,0xb8,0x4f,0x4a,0x3b,0x95,0xb8,0xbb,0x12,0xdc,0xb4,0xe5,0x8f,0x78,0x83,0x0a,0xb1,0x60, +0xc9,0x77,0xa1,0x4f,0x9a,0x9f,0x44,0x55,0xa8,0x25,0xc4,0xe2,0x48,0x58,0x3b,0x93,0x28,0x37,0x9d,0xd2, +0x16,0x7c,0x15,0xa4,0x7b,0x67,0xe9,0xf9,0xba,0x60,0x1e,0x9d,0xd5,0xb4,0x30,0xa1,0x50,0x65,0x52,0x75, +0x24,0x93,0xc6,0xd5,0x44,0x74,0x74,0x68,0x82,0x01,0xf8,0xea,0x44,0xdb,0x0b,0xd2,0x29,0x14,0x26,0x26, +0xca,0x25,0xed,0x4f,0x33,0x9a,0x6b,0xd6,0xb1,0x5a,0x2b,0xcd,0x5a,0x89,0x8a,0xa0,0x19,0x12,0x31,0x6d, +0x87,0x8a,0x76,0x04,0xf1,0x32,0xdd,0xa0,0x88,0x9f,0x34,0xaa,0x13,0xb6,0xfa,0x03,0x0c,0x50,0xe3,0x41, +0xa7,0x5e,0xc4,0x03,0x72,0x58,0xf1,0x5d,0x82,0xd8,0xba,0xa4,0xcd,0xa6,0xea,0x91,0x17,0xd2,0x33,0x9b, +0x24,0x9b,0x58,0xd1,0x3f,0x2a,0x1b,0x8a,0x26,0xa0,0x4c,0x74,0x1c,0xbb,0x40,0xd5,0xea,0xb5,0x49,0x16, +0x02,0x8e,0xa1,0x2d,0xfa,0x69,0xa8,0x8c,0xda,0xd3,0xa1,0xb1,0xcc,0x98,0x2b,0xb1,0xb7,0xf4,0x55,0x33, +0x12,0x2f,0xc8,0xc1,0xa8,0x62,0x91,0xa8,0xdb,0x62,0xd4,0x29,0x6a,0x75,0x81,0x12,0x65,0xea,0x5e,0x31, +0x99,0x56,0xb3,0x50,0xe3,0x71,0xf8,0xbf,0x25,0x62,0xcc,0xe7,0x6a,0xce,0xea,0x13,0x59,0x07,0xe9,0x2a, +0xa6,0xb0,0x9e,0x9c,0x6d,0x7d,0xb7,0x97,0x78,0xe1,0x3b,0xb1,0x5a,0x7d,0x06,0x29,0xba,0x6d,0xd2,0x6a, +0x32,0xac,0x8e,0xfc,0xe5,0xbe,0x05,0x4f,0x71,0x11,0x97,0x4f,0x11,0xf4,0xfd,0x0f,0x2f,0x99,0xba,0x63, +0x68,0x6f,0xee,0x54,0xa8,0x02,0x55,0x83,0xef,0xdf,0x24,0xda,0x6c,0xf8,0xad,0xb9,0x78,0x65,0x54,0xef, +0x37,0xa2,0x77,0xbf,0x7b,0xb2,0xdd,0x9c,0x4c,0xcd,0xf5,0x0c,0x4a,0xf7,0x17,0x90,0xd8,0x3e,0x3e,0xf8, +0xd7,0x4c,0xc4,0xb4,0x8e,0x0a,0xb2,0x53,0x47,0x5d,0x9b,0xb7,0x1c,0x2d,0x1e,0x6f,0x7d,0xf4,0xea,0x1b, +0xf7,0x76,0x2b,0xe1,0xec,0x77,0xcc,0x3e,0xfa,0x52,0xa6,0xa7,0x7e,0x6e,0x66,0xcc,0xd3,0xf6,0x37,0xc1, +0xcd,0x5b,0x13,0x74,0x4c,0x23,0x7d,0xfc,0x7c,0x5b,0xbe,0x6f,0x3a,0xf9,0xfe,0xbc,0x33,0xe3,0x37,0xcd, +0x8c,0xe5,0xe8,0x74,0x74,0xaf,0x9d,0x72,0x5a,0xc0,0x8c,0xa2,0x81,0x43,0x7c,0x0e,0xb8,0xf7,0xd6,0x56, +0x73,0xf5,0x7c,0x16,0x78,0x40,0x90,0x99,0xb5,0x98,0x9d,0x8f,0x91,0xb7,0xac,0x0a,0x07,0x8d,0x7d,0xcc, +0xb4,0x64,0xad,0xa8,0x1c,0xbc,0xd1,0xaf,0x94,0xa7,0xfb,0x12,0x66,0x62,0xa5,0x17,0xe8,0x88,0x7d,0x99, +0x0d,0xf8,0x22,0x13,0x36,0x66,0x72,0xd3,0x2f,0x22,0x5c,0x30,0x51,0xa6,0x46,0x6c,0xb9,0x63,0xdd,0xe1, +0xd1,0x8c,0x03,0x4f,0x74,0x03,0xcd,0x7d,0x49,0x8b,0xfb,0x1e,0xd0,0xd6,0x78,0x21,0x31,0x6e,0xa0,0xbc, +0xa7,0x63,0xe4,0x0d,0x9f,0xec,0x9d,0x3a,0xc0,0x80,0xc0,0xaa,0xf3,0xf5,0x45,0x97,0xd5,0x97,0xbd,0x82, +0x59,0x26,0x87,0x5c,0x7b,0x2b,0x59,0x9a,0xf0,0xf2,0x41,0xf8,0x2c,0x69,0x47,0x8d,0x37,0xae,0x57,0x12, +0xfd,0xa1,0x5e,0x79,0x1a,0xe9,0xd2,0xf4,0x19,0x7d,0xee,0xec,0x37,0x8d,0x30,0x92,0x59,0x74,0xb1,0xf3, +0xbd,0x9c,0xe8,0x9f,0xaf,0x1b,0x87,0xa9,0xdf,0x8a,0x4b,0x5d,0xa5,0xba,0x4c,0x86,0xbc,0x41,0x4f,0xf4, +0x4f,0xd9,0x56,0xa8,0xf9,0x6e,0x51,0x7a,0xce,0xd9,0x9e,0x30,0x8a,0x4e,0x3d,0xeb,0x7e,0x5b,0x27,0xeb, +0xa4,0xff,0x8c,0x42,0x13,0x6b,0x7b,0x97,0x88,0x43,0xfd,0x9c,0x5d,0xc3,0x4b,0x9c,0x3f,0x02,0x3a,0x89, +0x9e,0x3d,0x68,0x05,0x04,0xf2,0x8c,0x05,0xd6,0x09,0x65,0xce,0xc9,0x9c,0x65,0xd2,0x30,0x7d,0x20,0x3a, +0x22,0x2c,0x6a,0x0d,0x43,0x81,0xcd,0x92,0xd6,0x72,0xd2,0xad,0x17,0xd1,0xe0,0x91,0xae,0x82,0x86,0xd2, +0x39,0x67,0x80,0xb9,0xb5,0x2c,0x28,0x27,0xd8,0x9f,0x42,0x74,0x12,0x6b,0x6b,0x8f,0x64,0x3f,0x73,0x3a, +0xb0,0x1f,0xa5,0x24,0x8e,0x5d,0xee,0xf6,0x1c,0xe6,0x9a,0x75,0x4e,0xdb,0x31,0x0c,0x3d,0x8d,0x98,0x17, +0x0e,0xe6,0xbc,0x88,0xea,0x2c,0x8b,0x83,0x03,0x31,0x23,0x41,0x5d,0x22,0x6d,0x98,0x67,0x80,0xa0,0xdc, +0x6f,0x01,0x95,0xcf,0x7b,0x71,0xce,0xca,0x1b,0x62,0x77,0x35,0xad,0x16,0x13,0x83,0x0b,0xa3,0x1e,0x5a, +0xc9,0x58,0xcc,0xac,0x04,0x60,0xbe,0x18,0x32,0x04,0xa7,0xb2,0xfd,0x91,0x9c,0xf5,0x00,0x70,0x0a,0x6f, +0x5c,0x6f,0x45,0x32,0x14,0x99,0x6c,0x8d,0xb6,0xc3,0x33,0x75,0x23,0x4a,0x86,0x5b,0x24,0xbf,0x6d,0xc1, +0x81,0xbb,0x57,0x4d,0x2b,0x3b,0xe0,0xd9,0x4c,0x22,0xc7,0x75,0xf6,0xae,0xbe,0xd1,0x92,0xca,0xde,0x33, +0x0a,0xc4,0x1e,0x03,0x0d,0x5f,0x62,0x08,0xa3,0x17,0x55,0x86,0x3e,0x6d,0x4f,0xff,0x87,0xd9,0xc4,0x8e, +0xb1,0xd9,0xff,0x2c,0x9a,0xaa,0xa5,0x5a,0xc2,0xde,0xa9,0xdf,0x9a,0x22,0x76,0xb5,0x8d,0x5b,0xd3,0x41, +0x2f,0x0c,0xa5,0xc7,0x32,0x11,0x33,0x5f,0x33,0x82,0x58,0xd3,0x6c,0x00,0xe1,0xcc,0x91,0x7a,0x29,0xf5, +0xcc,0xd3,0xdb,0xd7,0x63,0x7f,0x2e,0xf3,0x65,0x12,0x17,0xff,0x75,0x6b,0x46,0x7a,0x76,0xca,0xf4,0x87, +0x4f,0x6f,0x9f,0xa8,0xc9,0x25,0x7a,0x8e,0x55,0xda,0x12,0x78,0xc8,0x11,0x42,0x33,0xdf,0x35,0x9f,0x29, +0xdd,0x75,0x70,0x70,0x40,0xcb,0x2f,0x6d,0xb0,0x7a,0xb9,0x42,0xb8,0xb7,0x2d,0x93,0x2c,0xb7,0x0c,0xa1, +0x8c,0x08,0xbb,0x23,0xe8,0x15,0x2a,0x41,0x08,0xcd,0x06,0x81,0x48,0x84,0x2a,0x69,0xcc,0x5b,0x0d,0xe8, +0xcb,0x53,0x13,0x87,0xc5,0x70,0xa8,0xf4,0x1d,0x4f,0xc6,0xb2,0x66,0x2f,0x4a,0xdf,0x15,0x14,0x55,0x56, +0x3c,0xf1,0x81,0xc3,0x06,0x1c,0xcc,0x26,0xa0,0x33,0x16,0x77,0x4f,0x0e,0x37,0xc1,0xc9,0x62,0x48,0x37, +0xd3,0xe4,0xdb,0x19,0xbf,0xa0,0xdb,0x4d,0x70,0xa4,0x23,0x72,0xaa,0x3b,0xad,0x80,0x16,0x26,0x84,0x43, +0x10,0x6d,0x02,0xdf,0x1b,0x7e,0xe0,0x70,0x22,0x30,0x94,0xfd,0xf3,0xec,0xae,0x0d,0xcb,0xf0,0x4d,0x12, +0x4d,0xbd,0xf7,0xf9,0x8a,0x6e,0xdf,0xc2,0x0a,0x9e,0x7e,0xbf,0xc9,0xab,0x2a,0xbf,0xa4,0x8b,0x97,0xc9, +0x59,0xe5,0xcd,0xd4,0xcf,0x3b,0x70,0xfb,0x13,0x6c,0x57,0xb0,0x5a,0x80,0xaa,0x87,0xb9,0x9b,0xb2,0xfa, +0xb4,0x64,0x30,0x7d,0x8e,0xea,0xb2,0xf1,0x7a,0x9e,0xf2,0x4c,0xb3,0x26,0x52,0x2d,0x40,0x31,0x05,0xb6, +0xc5,0xe6,0x87,0x84,0xbc,0xc2,0x3d,0xfd,0x2d,0xf4,0xbb,0xbf,0x77,0x19,0x58,0x37,0x10,0xf9,0x8d,0x0c, +0x65,0x2e,0x9c,0x43,0x8c,0xe8,0x7c,0xba,0x02,0x88,0x72,0x5e,0x5f,0x12,0x07,0x01,0x4a,0x99,0x36,0x3d, +0x83,0x98,0xcf,0x3b,0x73,0xe0,0x7e,0xed,0xa4,0x46,0x46,0x0e,0xbf,0xf1,0x63,0x82,0x82,0x9a,0x5b,0x44, +0x79,0x91,0x5f,0xf5,0x28,0x88,0xb4,0xba,0x84,0x0f,0xb8,0x8b,0x74,0xd1,0xa7,0x5f,0x92,0x24,0xd0,0x58, +0xe4,0xe7,0xe7,0xcb,0xbe,0x35,0xe2,0x9d,0x4a,0x0c,0x6e,0x97,0x2c,0xd0,0x84,0x01,0x8a,0xf5,0xb5,0xcd, +0x20,0xf2,0x37,0xd7,0xed,0x95,0xf9,0xb3,0xac,0x48,0xb6,0x2a,0xe5,0x0b,0xf3,0xa5,0xbd,0x97,0xaf,0xb7, +0x76,0xfa,0x7d,0xaf,0x49,0x5c,0xe3,0xcf,0xb7,0x61,0x0f,0x3f,0xb6,0x97,0xfe,0x81,0x5e,0x35,0x6d,0xae, +0x9b,0x86,0x09,0x01,0xa5,0xf9,0x1b,0x3e,0xbf,0xb3,0x39,0x39,0xa2,0x2c,0x7e,0x89,0x3f,0xc6,0x9b,0x64, +0x7e,0x19,0x07,0xe5,0xbc,0x48,0x57,0x15,0xbd,0xfe,0x27,0x75,0xa1,0xf8,0x05,0x87,0xd3,0x63,0xe5,0x19, +0x70,0x5b,0x13,0xdf,0x27,0xfa,0xc2,0x5c,0x7d,0x01,0xc7,0x8e,0x1a,0xd6,0x16,0x06,0xc3,0x49,0xbc,0x90, +0x8f,0xd8,0x8b,0x45,0xde,0xeb,0xcb,0x19,0x71,0xaa,0xcb,0x70,0x7a,0xcf,0xbe,0x7c,0x48,0xf7,0xe7,0x45, +0xbe,0x5e,0x49,0x32,0x7b,0xe7,0x7c,0x51,0x15,0x8d,0x0f,0xaa,0xd3,0x7c,0xf1,0x49,0x67,0xca,0x97,0x6e, +0x52,0x2a,0xf8,0x7e,0x3b,0xe9,0xc3,0xaa,0xd0,0xc9,0x8b,0x47,0x3d,0xdf,0xfc,0xac,0x5d,0x25,0xc2,0xe9, +0x08,0x68,0x0e,0x9e,0x37,0xdb,0x8e,0xff,0x49,0x13,0x7f,0x55,0x71,0x4d,0x22,0xb9,0xa6,0x8e,0xa0,0x3e, +0x39,0xe4,0xaf,0xf1,0xa8,0x3a,0xcb,0xf3,0x0a,0x17,0xa6,0xc6,0x7c,0x1d,0x8b,0x40,0xef,0x9f,0x2c,0x85, +0x8a,0x17,0xfc,0xc5,0x05,0xdf,0x2e,0x78,0xcc,0xfe,0x0b,0x03,0xb3,0xd9,0xff,0xd3,0xe4,0xe4,0x6a,0x38, +0x3e,0x1a,0x0f,0x3a,0x6a,0xbc,0x2c,0xd1,0x6e,0x37,0x66,0xc9,0x3d,0x2b,0xe2,0x73,0xf6,0xbf,0x01,0x7f, +0xd7,0xc4,0xfc,0xb5,0x69,0xad,0x8b,0xce,0x22,0xfd,0xe8,0xb1,0x7b,0x5c,0xf7,0x95,0x81,0x15,0xce,0xfa, +0x61,0x85,0x79,0xee,0x60,0x4f,0x6c,0xbd,0x36,0xc8,0xca,0xca,0x5e,0x75,0xd3,0x68,0xa8,0xe1,0x0a,0xca, +0xfa,0x66,0x05,0x41,0x7f,0x88,0x9f,0xf9,0x93,0x25,0x6d,0x1a,0xf0,0x00,0xc4,0x2f,0x3b,0x80,0xd0,0x8a, +0x6b,0xdd,0x59,0xfc,0x17,0xe3,0x9a,0xae,0xaa,0x86,0xe7,0x8d,0x09,0x04,0xf3,0xe8,0x9a,0x46,0xcf,0x5c, +0x7b,0x28,0x22,0xcb,0x39,0xff,0x27,0xf2,0x59,0x34,0x18,0xb4,0x0b,0xaa,0xb3,0x6e,0xf8,0xc5,0xf8,0xb2, +0x92,0xfe,0xce,0xfd,0xde,0x8e,0x2c,0xf1,0x0f,0x2c,0x90,0x5f,0x93,0x4f,0x47,0xea,0x5f,0x7a,0xa5,0x5d, +0xe6,0xeb,0x32,0xd9,0xac,0xf2,0x14,0xc2,0x68,0x0e,0x8a,0x45,0xb5,0xa0,0xb4,0xeb,0xcd,0x82,0x46,0x89, +0xfe,0xe4,0xab,0x60,0x33,0x27,0x26,0xe3,0xd7,0x23,0x95,0x54,0xf8,0x66,0xfa,0xd3,0x21,0xed,0xe5,0x38, +0x1f,0x0e,0xfd,0x43,0x44,0xe7,0x61,0xc1,0x34,0x1c,0x97,0xab,0xe8,0xe6,0x7c,0x99,0x9f,0xc6,0x4b,0x00, +0xc7,0xb5,0x0d,0x15,0x1b,0x68,0x45,0xb5,0x9b,0x6b,0x8d,0x16,0xa4,0x3e,0x5a,0xd2,0x37,0x10,0x60,0x1f, +0x66,0x96,0x88,0x1f,0x05,0x26,0x5d,0x21,0x36,0x37,0x0a,0x60,0xf6,0xfa,0x09,0xa0,0x45,0xac,0xdf,0x0c, +0x13,0x8f,0xbb,0x4c,0x44,0xff,0x0e,0xad,0x10,0x8d,0xf1,0xf9,0x3a,0x5d,0xc0,0x72,0x82,0x2f,0xb0,0xd7, +0xe3,0x77,0x38,0x0c,0x94,0xbf,0x8e,0x3e,0x4a,0x13,0x4a,0x08,0x03,0xeb,0x3b,0xc6,0x76,0xf1,0x63,0xba, +0x97,0x42,0x45,0x54,0x68,0xee,0x1a,0x52,0x6e,0xbd,0x6d,0xf6,0xe0,0x64,0x9d,0x8b,0xb6,0x9a,0x73,0x3c, +0xa4,0x29,0x76,0x7e,0x9e,0x14,0x1c,0xf6,0x58,0xe2,0x37,0x4f,0xec,0x3b,0x9c,0x39,0xec,0x6e,0x62,0x0e, +0x08,0x47,0x0b,0xa2,0xe1,0xee,0xb1,0x64,0x98,0x6b,0x20,0x02,0xd3,0x95,0x86,0xd0,0x12,0x57,0xcb,0x5a, +0x1c,0xb2,0x04,0xa9,0x50,0x46,0x49,0x25,0xd6,0xee,0xd5,0x74,0x39,0x0b,0x34,0xc0,0xce,0x79,0x54,0xc2, +0xda,0xfc,0x22,0xf2,0xcb,0xe9,0x3d,0x0d,0x85,0xa7,0x5d,0xf2,0x0e,0x8d,0x4f,0x1e,0x4d,0x72,0x46,0xc2, +0xb1,0x35,0x63,0x9f,0xa6,0x78,0x39,0x5d,0xcc,0x60,0xb6,0x47,0xb9,0xf8,0xd0,0xee,0x82,0x12,0x3f,0xa7, +0x15,0x09,0xbe,0x37,0x3c,0x3b,0x3c,0xa5,0xbe,0xd7,0x78,0x3a,0x0b,0xb5,0xfb,0xe3,0x79,0xe4,0xf0,0x4a, +0xec,0xa6,0xbb,0x50,0x39,0xf5,0x0a,0xe7,0x72,0x2e,0x32,0x87,0x42,0xe9,0x41,0x0e,0x33,0x85,0x41,0x0a, +0x65,0xcc,0x94,0x19,0xee,0x30,0x6d,0x06,0x77,0x92,0xc1,0xdf,0xe1,0xb0,0x23,0xfa,0x0e,0xcc,0x00,0x5a, +0xd5,0xd4,0xc3,0xf3,0x24,0xbc,0xd0,0x3e,0x87,0x87,0x38,0xdf,0x89,0x87,0xf7,0x57,0xd1,0x9a,0xea,0x87, +0xe1,0x95,0x2b,0x58,0xed,0xac,0x6c,0x03,0x9f,0xe4,0xeb,0x0c,0x01,0x97,0xcf,0xb0,0x4d,0xac,0x57,0xfb, +0xfb,0xfa,0xc2,0xca,0x89,0x69,0x02,0xc7,0x80,0x16,0x1a,0x1c,0xc3,0x56,0xad,0x2d,0x11,0x87,0x8e,0xa5, +0x23,0x25,0x5f,0x70,0x94,0xd8,0x33,0xbc,0x40,0x5f,0xe3,0xd7,0x64,0x37,0x0f,0xd4,0xdc,0xcc,0x72,0x33, +0x69,0x9b,0x0f,0x22,0xe9,0x0f,0xca,0x20,0x9d,0xac,0x8c,0x19,0x55,0xab,0xbe,0x44,0xfd,0x8d,0x28,0xab, +0x70,0x65,0x82,0x21,0x2a,0x3b,0x22,0xb2,0x4c,0xd1,0x4c,0x87,0x0b,0xfe,0x4f,0x96,0x6b,0x2d,0x2c,0xda, +0xdf,0x6f,0xae,0x5e,0x36,0x79,0xb3,0x8b,0xca,0xf8,0xe5,0xfc,0xd1,0xa9,0x0b,0xcc,0xae,0xff,0xc9,0xec, +0x35,0x51,0x1e,0x6f,0x99,0xc0,0xc5,0x67,0x26,0xb0,0xcc,0x03,0x2e,0xb6,0x8c,0x4a,0x46,0x85,0x6c,0xe1, +0xee,0x21,0xf4,0x9c,0x37,0x34,0x53,0x09,0xe1,0xd8,0x26,0xe1,0xe1,0x5d,0xc4,0xbe,0x0b,0xc0,0xd1,0xfb, +0xb8,0x02,0x0e,0x1f,0xe4,0x4b,0xd1,0xca,0xb4,0x2f,0x67,0xb5,0x61,0xb4,0x02,0x71,0x38,0xc0,0xbc,0x1d, +0xc0,0x6f,0xda,0x2c,0x80,0xcd,0x86,0x49,0x78,0x0c,0x2e,0x3f,0x97,0xd1,0x2f,0x01,0x79,0x26,0xd3,0x78, +0x7e,0x68,0x67,0x31,0x55,0x93,0xa6,0x56,0xc1,0xe9,0x4a,0x8b,0x23,0xec,0x7b,0x77,0xef,0x7a,0x12,0x8a, +0x6b,0x50,0x3f,0xe7,0x99,0x6d,0x26,0x4a,0x0e,0x7b,0x3b,0xf7,0x9b,0xd6,0xcc,0x39,0x38,0xa0,0x79,0x29, +0x93,0x02,0x53,0x5d,0xae,0xea,0xc9,0x19,0x8c,0x63,0xaa,0xcf,0xaa,0x96,0x86,0x9d,0x51,0xd5,0xe2,0x62, +0x41,0x74,0x35,0x92,0x9b,0x6b,0xf3,0xc1,0x85,0xb2,0xbb,0xa7,0x5e,0x21,0xe7,0x86,0x15,0x96,0x70,0x43, +0x09,0xcd,0x28,0x9b,0xc4,0xb0,0xf7,0xbc,0x1c,0x6b,0xc0,0xd3,0x05,0xe8,0xe3,0x75,0x60,0xc7,0xd3,0xb2, +0xd2,0x8b,0x21,0xa6,0x07,0x4f,0x57,0x9a,0xcb,0xe3,0x8e,0x40,0x75,0x2d,0x33,0xd3,0xa6,0xf7,0xa4,0x9c, +0x3d,0x99,0x98,0x1e,0x44,0xb8,0x66,0xdb,0xed,0x77,0x54,0x33,0xb0,0x0c,0xf5,0x5c,0x3a,0x4b,0x11,0x06, +0x58,0xad,0x99,0xf5,0x11,0x91,0x4b,0x9b,0xcb,0x06,0xa8,0x99,0xaf,0x17,0x84,0xf8,0x5d,0x99,0xf2,0xd8, +0xec,0x79,0x5a,0x8a,0xf7,0x37,0xcf,0xae,0x79,0x77,0x96,0xda,0xd7,0x9a,0xb7,0x58,0xc3,0x4f,0xa6,0xa4, +0xad,0xff,0x78,0x5c,0x3d,0x6c,0x97,0xc5,0xbe,0x69,0x6b,0xf8,0xaa,0xda,0x37,0x1a,0xda,0xbb,0xac,0x27, +0x38,0x83,0x0b,0x09,0xb7,0x4a,0xb3,0x62,0x55,0x24,0x4f,0x75,0xa3,0x11,0x96,0xd5,0xb9,0x75,0x3c,0x17, +0x4a,0x19,0x2e,0x59,0x4a,0x71,0x5d,0x49,0xbd,0x0f,0x95,0x6e,0x52,0x04,0x94,0x85,0xab,0x9c,0x9f,0x12, +0xdf,0x42,0xf5,0x81,0x7d,0x17,0xcd,0xd8,0xb4,0x84,0x96,0x27,0x3e,0x67,0xc4,0xa2,0x77,0x55,0x4e,0x84, +0x14,0x14,0xbb,0x7c,0xb2,0xd3,0xf7,0xeb,0x02,0xc6,0xe0,0xba,0x6e,0xe9,0x21,0xd5,0xf5,0x52,0x01,0xe4, +0x84,0x4e,0xfa,0xd4,0x16,0xc3,0x41,0xc2,0x4c,0x76,0x2f,0x2e,0x2f,0x93,0x45,0x0a,0xfc,0xda,0xde,0x7c, +0xcb,0xc3,0xc2,0xae,0x0e,0xfe,0xa2,0xbe,0xd5,0x0e,0xf3,0x8d,0xd5,0xe3,0x97,0xba,0x14,0x9a,0x2b,0x88, +0x6d,0x7f,0x88,0xb3,0x87,0x88,0x0a,0xfc,0x10,0xbf,0xef,0xfb,0x9d,0x81,0xc9,0xed,0x42,0x9d,0x89,0xfd, +0xba,0x7c,0x0f,0xeb,0x04,0x5d,0xdf,0x40,0x1f,0xde,0xba,0x39,0x6b,0x47,0x92,0x89,0xc5,0x59,0x42,0x14, +0x40,0xc4,0x5a,0x54,0x18,0x23,0x64,0x5f,0xbc,0x27,0x60,0x9b,0x2e,0x74,0x1c,0xed,0x5f,0x25,0xcb,0xb6, +0x9c,0x36,0xfa,0x8e,0x6a,0x90,0xc6,0x2b,0x2f,0x2b,0x33,0x60,0x30,0x00,0x76,0xef,0x1b,0x03,0xa8,0x4c, +0x71,0xac,0xa8,0x90,0xfe,0xdc,0x2d,0x0f,0xe7,0x59,0xce,0x76,0xd8,0x55,0x73,0x3f,0xa0,0xc9,0x0c,0x34, +0x27,0x0c,0x13,0xa6,0xd5,0x1a,0xd1,0xbb,0x1d,0x79,0x37,0x90,0x3e,0x89,0x40,0x74,0x01,0x77,0x92,0x43, +0x41,0xf4,0x79,0x14,0x1d,0x6b,0x35,0xe8,0x12,0xf4,0x0e,0x1c,0xfc,0x96,0xd1,0xb2,0xe1,0x05,0xc0,0x9c, +0xa0,0x76,0x05,0x76,0xb3,0x35,0xb9,0x0e,0x6a,0x98,0xa0,0xa5,0x8d,0xaa,0xc1,0x6a,0x75,0x7d,0xaa,0x68, +0x03,0x72,0xda,0xd5,0x05,0x20,0x67,0xcd,0xc1,0x62,0xe1,0x2d,0x9b,0xc1,0x15,0xb9,0xb0,0xfb,0x1c,0xf0, +0x37,0x94,0x15,0x74,0xc5,0x02,0x35,0x8d,0x1f,0x78,0xc9,0x3a,0xf4,0x02,0xf8,0x55,0xf1,0x62,0xd3,0x90, +0x66,0xfe,0x92,0x6d,0x8c,0x8d,0xff,0xa7,0xbc,0xd3,0x48,0xe8,0x4b,0x8b,0x84,0x4e,0xfb,0x3c,0x67,0x99, +0x5b,0x40,0x9b,0xdc,0x6e,0x91,0xa5,0x46,0x27,0xc1,0x9c,0x08,0x97,0xf5,0x58,0xe4,0xdb,0x3a,0xf2,0xaf, +0xac,0xce,0xf5,0xc3,0xea,0xb3,0x5f,0x55,0x5a,0xec,0xbf,0x66,0x50,0x15,0xa6,0xb5,0x31,0x57,0x5a,0x23, +0xdb,0xaf,0x6d,0xa5,0x46,0xf0,0xae,0x5b,0x2b,0x7d,0x55,0xa2,0x6e,0x88,0xe0,0xbf,0x4c,0x8c,0xa6,0xb5, +0xad,0x79,0x65,0x5d,0x67,0xc7,0xa4,0xcb,0xe1,0xf3,0x8c,0x7a,0x04,0x6b,0x23,0xcd,0xe2,0x25,0x17,0x60, +0xa5,0xdc,0x7d,0xef,0xb6,0xe1,0x1f,0xfe,0xbc,0xf3,0x66,0x9a,0xcc,0x5a,0x5a,0xe0,0x9d,0x8d,0xd5,0x12, +0xca,0xcf,0x34,0xef,0xaa,0x48,0x2b,0x73,0xad,0x95,0xcf,0x2c,0x92,0x80,0xc5,0x73,0xbf,0x33,0xd8,0x54, +0x88,0x4d,0xd6,0xeb,0x4d,0x12,0x0e,0x2d,0x6a,0xfa,0x95,0xf5,0x66,0x7a,0xbb,0x08,0x6f,0x60,0x09,0x01, +0x78,0xc2,0x6f,0xd6,0xa7,0x5a,0x8b,0xad,0x61,0xd7,0x6e,0x34,0x1f,0xd0,0xd3,0x0f,0x34,0xb7,0x9f,0x00, +0xc5,0x4a,0x9c,0xc1,0x90,0xba,0xd1,0x17,0x67,0x82,0xba,0xa6,0x10,0x76,0xa3,0x41,0xbf,0x78,0xfc,0x26, +0xcd,0xbc,0xad,0x3a,0x5d,0xae,0x8b,0xdb,0x8a,0x88,0xdc,0x22,0x90,0xb8,0x51,0x02,0x1e,0xec,0x2e,0x20, +0x27,0x9e,0x1b,0xf2,0x55,0x5a,0x9b,0xbb,0x8a,0xf0,0x8c,0xfc,0x86,0x25,0xf9,0xc8,0x52,0x76,0x05,0xd1, +0x87,0xe3,0x4b,0xc0,0x52,0xc8,0xb9,0xa8,0x99,0xf8,0x46,0x05,0x38,0x89,0xae,0x81,0x15,0x65,0xf4,0xfb, +0xf8,0xe8,0x6d,0x49,0x79,0x31,0x1f,0xe5,0xa7,0x09,0xed,0x08,0x89,0x04,0x2f,0x0c,0x6f,0xdc,0x7d,0xb1, +0x79,0xb8,0x9b,0x2d,0x39,0xd1,0xfb,0x23,0x76,0xac,0xc6,0x24,0x93,0x80,0x92,0xee,0x93,0x43,0x29,0x94, +0xb9,0x6c,0xfb,0x1d,0x95,0xb9,0xd5,0xe6,0x4f,0x96,0x9e,0xe9,0xd8,0x88,0x34,0xde,0xba,0x3c,0x41,0xcf, +0x63,0xbf,0x32,0x06,0x55,0xdd,0xbc,0x1a,0xe2,0xeb,0xa6,0x8f,0xb1,0xa4,0x9e,0xf8,0xbc,0xf5,0x56,0xd6, +0xbd,0xb6,0xd9,0x02,0xe3,0x69,0xcb,0x96,0x1e,0x92,0x4c,0x1e,0xa4,0xa5,0x3e,0x7a,0xde,0xc8,0x41,0x94, +0x2c,0x22,0x8b,0xb6,0x61,0x1f,0x6d,0x36,0xb5,0x46,0xb4,0xf3,0x52,0x5a,0x53,0xf7,0x0f,0x8e,0xb6,0xc9, +0x55,0xf8,0x5e,0x17,0x28,0x27,0xbc,0x19,0xac,0xfd,0xfd,0xfb,0x72,0x54,0xf0,0x9d,0x1b,0x2b,0x47,0x3f, +0xa9,0x8f,0x87,0xd0,0x0e,0xb0,0x4c,0x8c,0x06,0xc5,0x90,0x34,0xef,0x25,0x09,0x43,0xec,0x24,0x0b,0x9b, +0xa4,0x71,0xaf,0x05,0x95,0xd2,0x01,0x30,0x8e,0xac,0x39,0x51,0xf1,0xce,0xd2,0xde,0x50,0x55,0x7a,0x99, +0xbc,0xab,0xe2,0xcb,0x55,0x24,0x1d,0x6a,0x6e,0x99,0x74,0xcd,0x20,0xc3,0xe4,0x73,0x44,0x14,0x28,0xce, +0x5e,0xc0,0x87,0x52,0x6b,0x3b,0x60,0x8d,0x77,0x77,0xd7,0x8d,0x6e,0x1c,0x5f,0xf2,0xd0,0xbc,0x57,0xdd, +0xa1,0xa0,0x4e,0xec,0x23,0xa3,0xf8,0xf1,0x2d,0xe4,0x10,0xbf,0x7f,0x97,0x5e,0xae,0xb9,0xf9,0x30,0x6e, +0x6b,0x52,0x19,0x5d,0x73,0xff,0xee,0x84,0x19,0xef,0x9a,0x1d,0x57,0x0a,0xe7,0xbe,0x7e,0x6b,0x0b,0x61, +0xc0,0xc4,0x16,0x29,0x43,0x7b,0x61,0x93,0x92,0xf9,0xef,0x94,0xdb,0x6d,0xd5,0x2d,0x25,0x77,0x28,0x26, +0x29,0xba,0xaf,0x8b,0xfe,0x3b,0x75,0xb8,0xa5,0x8b,0x3f,0x53,0x99,0xbe,0x2f,0x7d,0x3d,0xc1,0xba,0x95, +0xdd,0xd6,0xae,0xb2,0xf1,0xb2,0xfa,0x47,0xf2,0x09,0xa7,0xd1,0x29,0x1f,0x1b,0xec,0x65,0x3e,0xc7,0x5a, +0x5f,0xda,0x23,0xec,0x02,0x36,0xa3,0x8b,0xf7,0xf9,0x9a,0xd1,0xcd,0xf0,0xa4,0x2a,0x96,0xfa,0xab,0x45, +0x52,0xc5,0xe9,0x12,0x57,0x3c,0x16,0x6f,0x88,0x49,0xe7,0x8f,0x2e,0xe9,0xb9,0x4e,0x42,0x05,0x27,0x3f, +0x9a,0x8b,0x7f,0xe2,0x82,0x35,0xad,0xfa,0xed,0xc7,0x34,0xb9,0xc2,0xaf,0x87,0x00,0xc8,0x9e,0x2e,0x8f, +0x23,0x21,0xe3,0xfa,0x57,0x49,0x44,0x3f,0xe6,0x89,0x86,0x85,0xb4,0x57,0x52,0xa1,0x65,0x4a,0x85,0xff, +0x58,0x5f,0x72,0x31,0xf9,0xd9,0x19,0x1d,0xdd,0x3f,0xd6,0x97,0xfc,0x54,0xcb,0x1f,0x5f,0x2c,0x9c,0x1b, +0x3e,0x72,0x50,0xb1,0x79,0x91,0x24,0xd9,0x8f,0xf5,0x25,0x7f,0x21,0xbb,0x82,0xd3,0xfe,0x2a,0x37,0x01, +0xb6,0xf8,0xc6,0x3e,0xbf,0xba,0x48,0xfb,0x38,0xbb,0xc8,0x50,0xa8,0x4d,0x6c,0xf9,0xe4,0x90,0xd3,0xef, +0xef,0xff,0xc3,0xc2,0x5f,0x32,0xbc,0xd6,0x44,0x5b,0x9a,0xdb,0x90,0xd0,0x93,0xfa,0x92,0xf6,0x28,0xdb, +0x17,0xf6,0x7b,0xd7,0xca,0xe7,0x5f,0xad,0xbc,0x8e,0xf7,0x2b,0x40,0x35,0xd1,0xdf,0xfb,0xe1,0x97,0xf4, +0xf7,0x5e,0x38,0x0a,0xf5,0x87,0x7a,0x1a,0xf0,0x56,0xa1,0xa9,0x3a,0xc7,0x87,0x9a,0x85,0xb5,0x58,0x81, +0x45,0xe8,0xf1,0x35,0x9d,0x1e,0x85,0xa7,0xf8,0x72,0x99,0xc4,0x1f,0x13,0xf3,0x98,0x4e,0x54,0xd3,0x8d, +0x3a,0xb9,0xbe,0x93,0x0f,0xf4,0x8d,0xfe,0xc4,0xbc,0xe2,0x73,0xbd,0xe3,0xd6,0xda,0xe4,0x7f,0x92,0x59, +0x74,0xd3,0xa0,0x09,0x2a,0x65,0x84,0x26,0x74,0x29,0x04,0x6a,0xa7,0xb3,0x0d,0xda,0x0b,0x87,0x5d,0x69, +0xec,0xc7,0x2a,0x8f,0x92,0x9a,0x05,0xb3,0xda,0x2e,0xb6,0x0d,0x60,0x09,0x86,0xab,0xb8,0x63,0x77,0x57, +0x62,0xda,0xa4,0x1b,0xa3,0x9a,0x15,0x73,0x85,0xc2,0xfd,0xfe,0x42,0x4a,0x7f,0xc3,0x78,0x64,0x5d,0x55, +0x7b,0x03,0xd2,0xd4,0x28,0xf8,0x74,0x65,0xbe,0xb5,0x6a,0x6e,0x7e,0xbc,0x55,0x79,0xd6,0x95,0x94,0xed, +0x48,0x8d,0x10,0x35,0x98,0xe6,0xbb,0xec,0x15,0xd9,0x1a,0xa4,0xbb,0x6b,0xe2,0x89,0xed,0x14,0x1b,0x90, +0xc9,0xed,0x29,0x76,0xde,0x6f,0x31,0xf7,0xc1,0x21,0x95,0xe4,0x17,0x35,0x83,0x3b,0x29,0x6c,0x0f,0x0d, +0xbd,0x43,0x6f,0xe8,0xbc,0x0a,0xeb,0x57,0xaa,0xe6,0x8f,0xe8,0xd2,0x30,0xb1,0xbc,0x4b,0x35,0x2d,0x70, +0x6b,0x0c,0x16,0xf6,0xca,0xdd,0xe3,0xe0,0xe4,0xb2,0x6f,0x52,0xb9,0xc4,0x13,0x29,0x04,0xef,0xe9,0x05, +0x0e,0xa9,0x06,0xc2,0xea,0xd6,0x0e,0x44,0x75,0xc0,0x53,0xf6,0x64,0x84,0x65,0xad,0xd1,0x77,0x67,0x86, +0x2f,0xce,0xa2,0xf7,0x7a,0xb7,0xec,0x51,0xf9,0x37,0xa4,0x40,0xba,0xcf,0x33,0x31,0xfc,0xd1,0xba,0xc4, +0xaa,0x82,0xc2,0x70,0x32,0x80,0x4a,0x65,0x73,0x0a,0xdd,0xc6,0x72,0x93,0x5c,0x9e,0x12,0x21,0x73,0x51, +0x6c,0xd2,0xcb,0xf3,0x0d,0x53,0x9e,0x9b,0x65,0x9a,0xfd,0xba,0xc1,0xce,0xb8,0x21,0xaa,0x23,0xbe,0x0c, +0xfc,0xdd,0x3a,0xc6,0xbb,0x82,0x73,0x13,0x9c,0x1c,0x3d,0x3a,0x3a,0x4f,0x55,0x86,0x02,0x44,0xb9,0xb8, +0x79,0xc8,0x6a,0xdb,0xcd,0x43,0xe4,0x76,0x94,0xaa,0x82,0x5e,0x69,0x85,0x0f,0x80,0x72,0x26,0xe1,0xf4, +0xa7,0x68,0xb6,0x89,0xe8,0xda,0xe8,0x81,0x0e,0xa1,0xaf,0x4c,0xa1,0x50,0x21,0x12,0x20,0x39,0x39,0xf2, +0x0f,0xef,0x06,0x47,0x2a,0xc7,0x03,0x4a,0xf5,0x70,0x00,0xfd,0xca,0xf4,0xc9,0xd3,0xc7,0xef,0x1f,0x9f, +0x4c,0x37,0x07,0x07,0xc1,0x06,0x0f,0x66,0x27,0x33,0x5c,0x3f,0xa2,0x14,0x77,0x5a,0x16,0x7e,0xd5,0xe5, +0x92,0x8e,0xe7,0xdd,0x80,0x43,0x35,0x7a,0x76,0x45,0xc4,0xf2,0xc3,0x3b,0xc7,0x8f,0x1e,0x1e,0xdd,0xb9, +0xf7,0xc8,0x13,0x70,0x90,0xce,0x94,0x6e,0x41,0x92,0x62,0xe3,0x73,0x95,0x4f,0x6a,0x1d,0xdd,0xae,0x52, +0x17,0x17,0xb5,0x8e,0x1a,0x4b,0xa2,0x1a,0xba,0x20,0x5c,0xc7,0xcd,0x07,0xda,0x44,0x53,0x80,0xca,0x80, +0x21,0x11,0x88,0xf0,0xe9,0xd2,0x67,0x77,0x93,0x4b,0x5f,0x02,0x1c,0xb3,0xea,0xc7,0x60,0xa6,0x68,0xe0, +0x91,0x5f,0xfc,0x1c,0x51,0xa1,0x62,0x46,0xaf,0xe1,0x28,0x86,0x30,0x27,0x0b,0x44,0x42,0x90,0x6f,0x36, +0xfc,0x6d,0x1c,0xc5,0xb8,0x2a,0x77,0xe6,0xf2,0xd4,0xcd,0x85,0xa5,0x8f,0x4f,0xa9,0x47,0x4a,0x3b,0xad, +0xb9,0x2a,0xca,0x93,0x61,0x87,0x68,0xd7,0xfa,0x1d,0xef,0xef,0x5f,0xfb,0xb1,0x42,0x74,0x8a,0x4b,0x88, +0x19,0x4d,0x0a,0x66,0xd0,0x61,0x8d,0x92,0x75,0xac,0xcc,0x8c,0x8f,0xb4,0x16,0x33,0x76,0xc4,0x80,0xd4, +0xe0,0xd1,0xd8,0x1e,0x24,0x88,0xa8,0x07,0xc3,0x91,0x71,0x2e,0xb0,0x2f,0xaf,0xb5,0x2d,0x3c,0x10,0x87, +0xb2,0xe9,0x9b,0x9a,0x08,0x95,0x67,0x46,0xf2,0x5e,0x1b,0x35,0x9b,0x27,0x30,0x11,0x9c,0xb4,0x97,0x10, +0x36,0xb1,0xb0,0x25,0x97,0x45,0xad,0x8c,0xb8,0x2f,0x18,0x37,0xca,0xd0,0xab,0x75,0x9b,0x4d,0xdf,0x26, +0x8e,0x45,0xb3,0xdf,0xb8,0x37,0x4b,0xba,0x67,0xc7,0x5d,0x30,0x86,0x63,0xdf,0x44,0xfd,0xcd,0xac,0xe6, +0x7e,0xcd,0x44,0x27,0x5d,0xd0,0x83,0x17,0xad,0x93,0x74,0xec,0x13,0x93,0xae,0xe9,0x34,0x6b,0xdf,0x90, +0x81,0x58,0x24,0x68,0x43,0x06,0x46,0xd3,0x0e,0x3a,0xfb,0xce,0xb1,0x96,0x61,0xb5,0xe7,0x6f,0xeb,0xd9, +0xd7,0xed,0x47,0x30,0x92,0x67,0xb6,0xa2,0xc6,0xcf,0x8f,0x92,0xda,0x46,0x31,0xe9,0x18,0x69,0x01,0x92, +0x85,0x95,0xce,0x3d,0xa6,0x1b,0x8f,0x5b,0x87,0x5b,0xa3,0x79,0x5a,0x8e,0xd6,0x2a,0xfd,0xb8,0xe7,0xd9, +0xd7,0xed,0x47,0x86,0x30,0xfa,0xd5,0x74,0xec,0xb8,0x6a,0xc5,0xb4,0x65,0x91,0x08,0x1d,0x55,0xff,0x3f, +0xa8,0x18,0xed,0x3a,0x49,0x51,0x7d,0xc3,0xdc,0x3e,0x76,0xac,0x06,0x2e,0x08,0xaa,0x29,0x82,0x80,0xff, +0x6e,0x2d,0xb9,0x5c,0x17,0x01,0xbe,0xf5,0xa0,0x53,0x2e,0x1b,0xd1,0x60,0xb4,0xce,0xaa,0xa6,0x14,0xe4, +0x7f,0x57,0x69,0x0d,0x44,0x43,0x94,0xdc,0x01,0x3b,0xb0,0x28,0x51,0x2c,0x90,0x17,0xba,0xd5,0x17,0x0e, +0x07,0x30,0x8c,0xac,0x2d,0x68,0x43,0x21,0xb2,0x21,0xbe,0xd9,0xa3,0x7c,0xec,0x5f,0x00,0xa1,0x53,0x8d, +0x88,0x76,0x40,0x2e,0x68,0x1c,0xee,0x3d,0x07,0x87,0x63,0xa7,0xa5,0x09,0x66,0xa0,0x07,0x57,0xda,0xa5, +0xa7,0x9a,0x80,0x48,0xe4,0x56,0xc0,0xf8,0xbf,0xdb,0x5b,0xe7,0xfa,0x98,0x69,0xda,0xf1,0xe2,0x6c,0xfb, +0xa3,0xcb,0x5b,0x66,0x8a,0xb6,0x6b,0x64,0x4d,0x5f,0x46,0xfb,0x7c,0x03,0x6c,0xb0,0x69,0xdb,0xdd,0x89, +0xca,0x60,0x5a,0x58,0x9b,0x69,0xf4,0xfa,0x91,0xb0,0x63,0x95,0xc5,0xfc,0xa5,0x9b,0x7f,0x26,0x53,0xff, +0x07,0x0b,0x2e,0xc7,0x6a,0x4d,0xd8,0xdd,0x04,0x9d,0x40,0x70,0x33,0x00,0xa5,0x50,0x4b,0x1b,0x47,0x36, +0xb4,0xa6,0xec,0x8c,0xcc,0x6e,0x0c,0x0f,0x0b,0x16,0x61,0xeb,0x86,0x64,0xd2,0x90,0x66,0x3d,0xbb,0x63, +0x56,0xc9,0x98,0xb9,0xf6,0x25,0xc8,0x34,0x1a,0x39,0x91,0x3c,0xb7,0x95,0x9e,0x64,0x66,0x87,0x93,0x05, +0xce,0x32,0xcb,0xdd,0x5b,0x91,0xa6,0x1c,0x9a,0x70,0x14,0x86,0x73,0x9e,0x5a,0x23,0xb5,0xdd,0x73,0xbd, +0x36,0xb3,0x6d,0x4e,0xf0,0xb1,0x0b,0x0c,0x22,0x6b,0xfb,0xe1,0xa8,0xa7,0x65,0x58,0x65,0xda,0xb6,0x51, +0xd7,0x45,0x47,0x08,0xd7,0x48,0x8e,0xc0,0x94,0x69,0x80,0x4d,0x49,0xb3,0xde,0xe7,0xa1,0x27,0x57,0x9e, +0xd9,0xb6,0xf0,0x48,0x5f,0x7a,0xca,0x5d,0x5e,0xa1,0x27,0x3b,0x86,0x79,0xfa,0x98,0x17,0xb4,0xc7,0xeb, +0xda,0x33,0x3d,0x00,0x08,0x26,0xcf,0xe9,0x8d,0x3e,0x7e,0xa9,0x05,0x03,0xe4,0x1c,0xf3,0x16,0x0f,0x5c, +0xbc,0xc4,0x72,0x1b,0x0f,0x07,0x80,0x30,0xb4,0x54,0xe3,0x87,0x51,0x3e,0x8e,0x69,0xdc,0xb3,0x28,0x66, +0x17,0xe0,0xda,0x10,0x57,0x56,0x05,0x08,0x2f,0xa8,0x26,0x10,0x1f,0x87,0x96,0x32,0x6c,0x91,0xe2,0x44, +0x33,0x3c,0x05,0xcc,0x5b,0x80,0xeb,0xd5,0x58,0xa3,0x0e,0xac,0x4f,0x61,0x09,0xe3,0x18,0x44,0xe6,0x25, +0x0d,0x53,0x9a,0x1d,0xa9,0xb2,0x6a,0x19,0x70,0x1a,0xa3,0xcd,0xc9,0x60,0x75,0x1d,0x88,0xe5,0xe6,0xd0, +0x18,0x6e,0xae,0xab,0xa8,0x67,0x4c,0x9b,0xc4,0x9f,0xb5,0x46,0x4a,0x93,0xab,0x46,0x78,0x92,0x7c,0x05, +0xf9,0x26,0x93,0xfb,0x49,0x20,0xb5,0x7d,0x92,0x5f,0x12,0x09,0x9e,0x2c,0xde,0x81,0x78,0x86,0x15,0x6a, +0xc3,0x7a,0xcc,0xe2,0x26,0x54,0x22,0x55,0x2e,0x83,0x9b,0x52,0x1b,0x76,0xce,0xcb,0x92,0x43,0x7c,0x7a, +0xa7,0xf9,0xf5,0x41,0x99,0xfe,0x4e,0x4b,0x33,0x3c,0xcd,0x8b,0x45,0x52,0x1c,0xd0,0x93,0xf1,0x4a,0x03, +0x3e,0x87,0x06,0x6f,0x7b,0xac,0xad,0x39,0xc3,0x53,0xf8,0x67,0x8f,0xa5,0xf1,0x61,0xbc,0xae,0xf2,0xb1, +0x7c,0x16,0x1e,0xaf,0xe8,0x33,0xe2,0xb8,0x91,0x13,0xae,0xab,0x7c,0x15,0x1e,0xff,0x79,0xcc,0xf8,0xcc, +0xe1,0x83,0xd1,0x9f,0x3d,0x55,0xba,0x86,0x5b,0x9e,0xfa,0x7b,0xd3,0x70,0x2d,0xd6,0x4c,0x87,0xe0,0x02, +0x37,0x1b,0x46,0xd4,0x63,0x16,0x79,0xc7,0x7f,0xf6,0xc4,0xe4,0x27,0x5f,0xd1,0xd8,0x7b,0xf7,0x56,0x22, +0x1d,0x3f,0x94,0xca,0xc0,0xee,0x15,0xe0,0x20,0x5f,0x9a,0xc7,0x5c,0xb2,0x32,0x0d,0x96,0x44,0x6c,0x2d, +0x1b,0x79,0x5c,0x9d,0xd4,0x49,0xeb,0xbc,0x45,0xbd,0x84,0x68,0x32,0xf5,0x22,0xea,0x9d,0x81,0x2a,0xb6, +0x0d,0x4d,0x5f,0x8f,0x39,0x1d,0x5b,0xda,0x21,0x75,0xff,0x9b,0xb1,0xae,0x0b,0x6b,0x2c,0xa5,0x56,0x30, +0x7b,0x87,0xa1,0x20,0x75,0xc2,0x32,0x5d,0x45,0x9e,0x06,0xcf,0xc2,0x18,0xa0,0xbf,0x9a,0xf6,0x6a,0xfd, +0x9f,0xb0,0xad,0x1b,0x1b,0x6b,0x33,0x9f,0xc0,0x1d,0xd6,0xcc,0x88,0x5a,0xd8,0x5f,0x1e,0xd1,0xde,0x9d, +0xd9,0xc0,0x63,0x39,0xd2,0xc3,0xf6,0x57,0x1a,0x47,0xc1,0xd9,0xa6,0x47,0x18,0xd0,0xd1,0x78,0x49,0xdd, +0x1c,0x1e,0x7c,0x4d,0xff,0x39,0xe3,0x3d,0xd2,0x13,0xe2,0x80,0x07,0x7d,0xe5,0xcc,0x9f,0xf8,0x94,0x81, +0x31,0x68,0x57,0x88,0x1b,0xa3,0x5d,0xba,0xfe,0x1e,0x8b,0x44,0xdd,0xac,0xd2,0xeb,0x64,0x69,0x70,0xc6, +0x7b,0xe8,0x00,0x28,0x75,0x33,0xa2,0x4a,0xf2,0xeb,0x77,0x3c,0x5b,0xdf,0x26,0xcb,0x74,0x07,0xf6,0x10, +0x7b,0x43,0x00,0x92,0x85,0x72,0x7c,0x55,0x0f,0xec,0x8e,0x94,0x29,0x87,0x68,0xe5,0xbc,0x5e,0xd9,0x89, +0xb4,0x23,0x6d,0xbe,0x05,0x42,0xaf,0x36,0x10,0x5c,0xb2,0x31,0x1f,0xec,0x9e,0x37,0xac,0xfc,0xa2,0x05, +0x7f,0x30,0x9f,0x26,0xb4,0xb5,0x1c,0x0e,0x89,0x13,0x9d,0xe3,0xf5,0xc1,0xc1,0x91,0x3a,0xab,0xa2,0x1b, +0xdb,0x1f,0x5e,0xdd,0x21,0x1f,0xd3,0x32,0x3d,0x4d,0x97,0x29,0x11,0x1f,0xde,0x45,0xba,0x58,0x24,0x99, +0xa7,0xcc,0x2a,0xf3,0x78,0x99,0xd1,0xee,0xb8,0xa2,0x8f,0x97,0x49,0x45,0x7b,0xe8,0xbb,0x55,0x3c,0x47, +0x5f,0x7b,0x23,0x4f,0x9d,0xd1,0xe8,0x7e,0x90,0x71,0xf1,0xbe,0x1c,0x8d,0x28,0xdd,0xa2,0x8a,0xa6,0xde, +0x87,0xe4,0xf4,0xd7,0x14,0xc6,0xe0,0xaf,0xf2,0xdf,0xe9,0xef,0x65,0xe9,0xcd,0xe8,0xec,0xdf,0x35,0x1d, +0x65,0xec,0x5d,0x1e,0x98,0xa6,0x81,0x38,0x78,0xdc,0xe4,0x28,0x8c,0x2a,0x76,0xd3,0x75,0xd2,0x64,0xc6, +0x50,0xef,0x5c,0x2f,0xc1,0xa7,0xe9,0xb4,0x96,0xb6,0xf1,0x24,0x98,0xa3,0x77,0xec,0x85,0x19,0x2b,0x77, +0x28,0xdb,0xef,0xd6,0x97,0xa7,0x88,0x1d,0x1a,0x67,0xe9,0x25,0xcb,0x6b,0x5f,0x50,0x8b,0xf8,0x82,0xd5, +0xe3,0xa2,0x53,0x5c,0xae,0x2f,0xeb,0x5b,0x3a,0xd5,0x97,0xaf,0x75,0x2d,0x70,0xbb,0x4c,0xae,0xff,0x56, +0xe4,0x57,0xe6,0xfa,0xdd,0x05,0x51,0x13,0xbf,0xf2,0x5d,0xdd,0x17,0x74,0x47,0x54,0x5d,0xf2,0xdc,0xde, +0xe5,0x75,0x06,0x32,0xb1,0xf9,0x62,0x45,0x0c,0x99,0x48,0x36,0xd3,0x45,0x7e,0xc5,0x57,0xbf,0x73,0x4c, +0x22,0xbe,0xca,0xf3,0x4b,0xd6,0x32,0x52,0xad,0x21,0x3c,0xa4,0xce,0xf0,0xce,0x96,0x79,0x5c,0x79,0xa1, +0x47,0x8f,0x9e,0xf1,0x25,0x04,0xe3,0x9f,0x96,0x7d,0x52,0x2c,0x91,0x47,0xdd,0x6f,0xf1,0xe8,0x7f,0x6d, +0xdd,0x6b,0x23,0xf5,0x46,0xf8,0x88,0x8e,0xe7,0xe6,0x3a,0x9a,0x6b,0xf2,0xa8,0x0a,0xd8,0x7e,0x40,0xc6, +0x4b,0x4f,0xc7,0x35,0xfb,0x0d,0xbf,0x86,0x4b,0x82,0x8a,0xb5,0xd5,0x3d,0x0f,0x1e,0x9d,0x6b,0x22,0xf5, +0x33,0xf7,0xe5,0x4c,0x39,0x4e,0xac,0xf1,0xfe,0xbe,0x47,0x83,0xea,0x11,0x3f,0x1b,0x3b,0x42,0x56,0x98, +0x9d,0x68,0x57,0x1d,0x78,0xf1,0x07,0x80,0x29,0x59,0xc2,0x65,0x94,0x58,0x7f,0x4d,0xb0,0x65,0x0e,0x9c, +0x30,0xdc,0xfd,0xe8,0x93,0x3b,0x9a,0x5c,0xe3,0xf0,0xea,0x29,0x03,0x01,0x03,0xac,0x8c,0xbb,0x03,0xc8, +0x33,0x91,0x97,0xf1,0xc0,0x7b,0x5a,0xdb,0x23,0x24,0x2d,0x0e,0x33,0x1d,0xbc,0xd3,0xbc,0xd7,0x39,0x66, +0x43,0x86,0x2c,0xe2,0x98,0xbc,0xbe,0xb4,0x41,0x66,0x0e,0x35,0x62,0xe2,0x21,0xf4,0xe5,0x35,0xe4,0x01, +0xdd,0x0d,0x0f,0x66,0x6c,0xf0,0x8a,0xd9,0x6c,0x58,0x62,0x5c,0x3b,0xfe,0xd5,0x1b,0x1e,0x0c,0x87,0x7c, +0x34,0x29,0xa2,0xb6,0x5f,0x24,0x45,0xca,0xc2,0x07,0x38,0xfd,0xb6,0x7a,0x23,0x62,0x49,0x41,0xac,0x5d, +0x7b,0x31,0xaa,0x6c,0xd1,0x3a,0x41,0xe0,0x8e,0xaa,0x56,0x8c,0xc3,0x8f,0x9c,0xb3,0xcb,0x18,0x01,0x94, +0x27,0x4c,0xcf,0x84,0xf8,0xa3,0x23,0xfc,0x1f,0x8d,0x6b,0x73,0x30,0xdd,0x31,0x1c,0xc1,0x17,0xbe,0x1e, +0x77,0x11,0x08,0xbf,0xe4,0x6a,0x21,0xd4,0x89,0x97,0xe5,0xc5,0x65,0xbc,0xd4,0x7e,0x64,0xec,0x21,0xbc, +0xaa,0x38,0xcd,0xaa,0x02,0x8f,0x23,0x11,0x0a,0xa8,0x3b,0xb3,0x09,0x4d,0x00,0x86,0x59,0xe6,0x99,0xcf, +0x36,0xa0,0x8c,0xe1,0xb0,0xd9,0xa4,0xe5,0x33,0x20,0x53,0x03,0x25,0x65,0x92,0x53,0xc7,0x87,0x82,0x1b, +0x53,0x13,0x91,0x53,0x4f,0xce,0x0e,0xda,0x8a,0x24,0x4a,0xc3,0xac,0x4b,0xec,0x39,0xad,0x8b,0xda,0x9b, +0x8d,0x59,0x50,0xc6,0x7f,0x71,0xb0,0xd4,0xbd,0xd5,0xe3,0x63,0x12,0xc0,0x6a,0x14,0x74,0x03,0x2b,0x4a, +0xde,0x26,0xf3,0xaa,0xb4,0xb0,0xaf,0x3a,0xae,0xee,0x37,0x98,0x05,0x34,0x7d,0xeb,0x24,0x94,0x82,0x2b, +0x36,0x79,0xa5,0x3b,0x26,0xfc,0x1d,0x5c,0xe2,0x99,0x83,0x1d,0x68,0xb7,0x7f,0x93,0x04,0xfc,0x54,0xd9, +0x53,0x4f,0x13,0x6d,0xb2,0xd8,0xdf,0x5f,0x57,0x22,0x28,0xa3,0xcb,0xb7,0xf2,0x95,0xf2,0x6a,0xda,0xaa, +0xe9,0x24,0x63,0xcf,0x33,0x0f,0xeb,0x0e,0x00,0x33,0xb5,0xa0,0xac,0xbb,0xc4,0x30,0xff,0x79,0xb1,0x4a, +0xd4,0x6a,0xac,0x06,0x56,0xb3,0x8b,0xcb,0x0b,0xe6,0xa2,0xca,0xea,0xcc,0x11,0xc4,0xf9,0x0d,0xd7,0x2f, +0xb6,0x12,0x24,0xd3,0xdf,0x0e,0xd1,0x14,0x3d,0x87,0x98,0xb1,0x7b,0x06,0xaa,0x9e,0x7d,0x5f,0xaa,0xe6, +0x3b,0x13,0x82,0x8f,0x80,0x3a,0xb3,0x7a,0x24,0x7a,0xbb,0x1b,0xd4,0xc3,0x01,0x77,0xf2,0x4d,0xfd,0x4d, +0x38,0xda,0xf6,0x74,0xf8,0xed,0x99,0xd0,0x39,0x3c,0x44,0xfb,0x5d,0x9e,0x45,0x13,0xa5,0x44,0x11,0x19, +0xba,0x84,0x2e,0x35,0x45,0xe3,0x7d,0xe0,0x19,0xd8,0xc3,0x6e,0xd8,0x19,0x98,0x0c,0x31,0x07,0x45,0xf4, +0x56,0x0f,0x6f,0x23,0x32,0x03,0x04,0x9e,0x37,0x40,0x46,0xea,0x70,0xb3,0x19,0x80,0x03,0xc5,0x8a,0x76, +0xcf,0x0b,0x42,0x62,0x39,0xc7,0xc5,0xc3,0x2f,0x59,0x20,0x9a,0x52,0xce,0xdf,0x20,0x3c,0x27,0xf2,0x87, +0x6c,0x74,0xb3,0xa1,0xbf,0x07,0xf7,0xf8,0x77,0xe4,0x78,0x28,0x6d,0x55,0x6c,0xf9,0x61,0xbb,0xff,0xd5, +0x75,0xc3,0xf6,0x13,0xbd,0x09,0x3a,0x92,0xc0,0xf6,0xbe,0x73,0x0b,0x7b,0xdf,0x12,0x4c,0xa3,0x2d,0xe0, +0x9b,0x68,0x68,0xdb,0x00,0x03,0xd2,0xea,0x22,0x92,0xb9,0x9c,0xd6,0xc6,0xc5,0xf1,0xc3,0x94,0x59,0x2c, +0x00,0x28,0xc5,0xb3,0x99,0x33,0xdb,0xe0,0x4d,0xc7,0x67,0x87,0x05,0xef,0xd9,0x36,0x64,0x85,0x8c,0x8c, +0x70,0xae,0x27,0xab,0xae,0x4b,0xe8,0x4c,0xd6,0x2d,0x2b,0x7d,0xba,0xce,0xc6,0x86,0x31,0x7d,0x7f,0x95, +0x24,0x59,0xf4,0x42,0xbd,0xd8,0x65,0x02,0xf0,0x42,0x61,0x3f,0xea,0x31,0xc2,0x46,0xc0,0x50,0x61,0xda, +0x89,0x00,0x32,0x36,0x1c,0x94,0xc9,0x8a,0xd6,0x8b,0x56,0x8f,0x94,0x34,0x9a,0x80,0x49,0xe5,0xc9,0x84, +0x9b,0x43,0x63,0x36,0x23,0x29,0xc4,0xd9,0xa7,0x8c,0x2a,0xa3,0x7d,0x8e,0x8b,0xca,0x08,0xd9,0xae,0x22, +0x63,0x5a,0x61,0x94,0xd3,0x34,0x2e,0x51,0x21,0x97,0x6b,0x80,0xf7,0xe7,0xed,0xe3,0x2c,0xab,0x8f,0x33, +0x3a,0x38,0xd6,0x45,0x57,0x2a,0xc0,0xad,0x5c,0xe9,0xbd,0xd1,0xd4,0xd7,0x4e,0x16,0x13,0x2b,0x7c,0x52, +0x1b,0xc8,0x06,0xa1,0xf3,0x89,0xad,0x7d,0xfd,0x9a,0xc8,0xdc,0x75,0x0f,0x6e,0x15,0x6d,0x18,0xb7,0x17, +0xe5,0x36,0xff,0x70,0xb1,0x16,0xaa,0x4d,0x63,0x58,0xe7,0xd4,0x21,0x91,0xed,0xb2,0xa9,0xd3,0x97,0x33, +0x23,0x6d,0x6b,0x7f,0x79,0x17,0xf1,0x67,0x8f,0xfb,0xdf,0x69,0xe1,0xb1,0x64,0x6b,0xa4,0x75,0xd4,0xbd, +0xbe,0xe9,0xd4,0x83,0xba,0xf3,0x83,0xbb,0xd5,0xb0,0xbe,0x6b,0xe6,0x57,0x56,0xc9,0x4a,0x8b,0x69,0xdc, +0x47,0xb5,0x61,0xa7,0x58,0x96,0x9a,0xfc,0x0d,0x8a,0x3c,0x87,0x00,0xa5,0x3e,0xcd,0xac,0x27,0xfc,0x8e, +0x3e,0xb5,0xaf,0x05,0x0a,0x69,0xeb,0x4e,0x49,0x8e,0xd6,0xe0,0xcc,0x50,0xe7,0x95,0x72,0x32,0x8b,0x6e, +0xac,0x59,0x56,0xeb,0xd8,0x6b,0x06,0x6b,0xdc,0x13,0xed,0x0e,0xea,0xeb,0x48,0x78,0x8d,0x2e,0x1d,0x8f, +0xa7,0x89,0x8c,0x17,0xd5,0x5e,0x2b,0xe0,0x39,0xb1,0x1c,0x09,0xfa,0xdd,0xa4,0x99,0xd4,0xe0,0x84,0x60, +0xe1,0x49,0x57,0xc8,0x0b,0x8e,0x4d,0x04,0x1c,0x14,0xf0,0xf5,0xcc,0x6b,0x4f,0x68,0x73,0xee,0x1c,0x78, +0x22,0xa5,0xb9,0xe6,0x3e,0xb5,0x25,0x74,0x1f,0x01,0xb1,0x65,0x67,0xed,0x5b,0xf5,0x94,0xda,0x30,0xbd, +0x6d,0x3e,0x9f,0x09,0xb8,0x47,0xbd,0x05,0xf6,0x36,0x85,0xc9,0xea,0xab,0xb0,0xde,0x56,0x1a,0xed,0xe1, +0x97,0x43,0x46,0xfa,0x65,0x43,0x33,0x77,0x04,0x0e,0x4b,0x06,0x70,0x7a,0x4f,0xbb,0x40,0xf7,0x29,0x9f, +0x8b,0x37,0xed,0x66,0xb7,0x5a,0x82,0x35,0xc8,0x0f,0x5c,0x09,0xb4,0xdf,0x57,0x3f,0x6b,0x9c,0xc2,0xdb, +0xcc,0x0d,0x98,0x94,0xb8,0x5f,0xc9,0x48,0x7d,0x7d,0x85,0x93,0xab,0xfb,0xee,0xf0,0xc1,0xc1,0xab,0xb8, +0xba,0x38,0x9c,0xe7,0x34,0x6a,0x77,0xf9,0xf2,0xcd,0x8b,0xe0,0xe8,0x9e,0x63,0xe0,0xe7,0xf1,0xb7,0x9e, +0x84,0x90,0xb9,0x8e,0xda,0xb3,0x52,0xd5,0x63,0x04,0x4f,0x58,0x4c,0xb3,0xf3,0x4a,0x7d,0xac,0xd4,0xa7, +0x4a,0x5c,0xd9,0xc4,0x95,0x75,0x03,0x1f,0xd3,0x0d,0x1c,0x4b,0x01,0x88,0x72,0x49,0xef,0x6a,0x07,0x69, +0xc1,0x50,0x7b,0x6c,0xb8,0x38,0xc7,0x0f,0xe9,0x7b,0x75,0x53,0x61,0x83,0x86,0x75,0xed,0x8d,0x77,0xd7, +0x0b,0xa7,0xbd,0x28,0x01,0xbc,0x51,0x32,0x33,0xca,0xdb,0x39,0xbf,0xb3,0x20,0x83,0x7e,0xa6,0x47,0x4f, +0x19,0xaa,0x07,0xe6,0x06,0xe0,0xfb,0x67,0x5b,0xa5,0x73,0x0f,0x3b,0x07,0x78,0x33,0xc8,0x85,0xf6,0xfd, +0x9e,0x52,0x15,0x66,0x41,0x08,0x2b,0x3d,0xeb,0x29,0x33,0x76,0xe5,0x88,0x23,0xb6,0xa5,0x68,0xe9,0x2e, +0xa1,0x20,0x2c,0x66,0xea,0xfb,0x43,0xd3,0x14,0xda,0xa8,0xa3,0xc6,0x1d,0xfb,0x1b,0x34,0x9e,0x58,0x8c, +0x85,0x4a,0x74,0x3b,0x3a,0x92,0x65,0x38,0xfd,0x7d,0x56,0xdf,0xb6,0x31,0x23,0x26,0xdf,0x1f,0xd6,0x49, +0x6d,0x0e,0xb4,0x60,0x1a,0xcf,0x4d,0xc4,0x26,0x39,0xff,0xca,0x55,0x92,0x2c,0x76,0xc4,0x35,0x02,0x40, +0x40,0x17,0x84,0xc4,0x61,0xed,0x21,0xe0,0x0d,0x6f,0x0c,0xfe,0x59,0x48,0x94,0x3d,0x62,0x87,0x55,0x6d, +0xe0,0x3e,0x46,0xb3,0x53,0x66,0x3f,0x0e,0xa9,0x27,0x79,0xca,0x86,0x92,0xd6,0xe2,0xed,0x38,0x56,0xcc, +0xf4,0xc2,0x45,0x89,0xa4,0xf9,0x95,0x9f,0x9d,0x4d,0x0a,0xbb,0xa7,0x47,0xa3,0xd0,0x30,0x79,0xd6,0x64, +0xa1,0x7e,0x0b,0x1f,0x7b,0x7b,0x03,0x2e,0x44,0x4f,0x51,0x34,0xb5,0x74,0x73,0x71,0x9f,0x4f,0xeb,0xe7, +0xb3,0x70,0x47,0x1a,0xbb,0x59,0x07,0x4a,0x36,0xcb,0x42,0xd0,0x0a,0x10,0x5e,0x8c,0x2f,0x06,0xc2,0xc4, +0xf8,0xfa,0x96,0xf1,0x1e,0x02,0x55,0x1c,0xe6,0x4b,0x3a,0xba,0x0f,0x4d,0x47,0xa9,0xfa,0xb2,0x85,0xcd, +0xe1,0xc2,0x9f,0xe1,0x23,0x0e,0x5c,0x96,0x2f,0x17,0xf5,0x21,0x83,0xdc,0x74,0x99,0x6d,0x84,0x05,0xfd, +0x02,0x67,0x72,0x27,0xde,0x53,0x4c,0x9b,0x4b,0xbe,0xdb,0x3e,0x46,0x2c,0x98,0x45,0xe5,0xf1,0x73,0x12, +0xf0,0x26,0x6e,0x45,0x30,0x6a,0x64,0x3c,0xc4,0x71,0x5a,0x42,0x3b,0xc1,0x2b,0x35,0xf1,0xad,0x40,0xa7, +0xda,0xaa,0x44,0x9b,0xe1,0xe8,0x77,0xbb,0x78,0xd6,0xa8,0xe3,0x08,0x94,0x68,0xdc,0x12,0xee,0x61,0x41, +0xe2,0x6d,0x61,0x96,0x88,0x00,0xf7,0x7b,0x1b,0x9f,0xc7,0x9d,0x7d,0xe0,0x6c,0x80,0x2c,0xdb,0xf0,0xe9, +0x39,0xa3,0x7d,0xa9,0xbc,0xf0,0xc0,0xdb,0x54,0x6c,0xd2,0x07,0x41,0xa7,0x9d,0x4f,0x40,0xe5,0xc4,0xfb, +0x28,0x56,0x29,0x1c,0x44,0x64,0xa4,0xd8,0x32,0xb6,0xb6,0x6a,0x89,0x35,0xd5,0x20,0xdd,0xab,0x13,0x81, +0xe3,0x61,0xe3,0xc5,0x7e,0xab,0x8c,0xa8,0x73,0xdc,0x46,0x62,0x71,0x38,0x36,0x30,0x55,0x02,0x8d,0x82, +0x30,0x54,0xa6,0x36,0xbd,0x40,0x13,0x62,0x78,0xe3,0x82,0x4d,0x54,0x12,0x16,0x0d,0xf6,0x37,0x4e,0xb5, +0x1c,0x8c,0x8c,0x7e,0x83,0x1c,0xa9,0x04,0x02,0xed,0x3a,0x7a,0xbf,0x06,0x34,0x85,0xf4,0x3d,0x0c,0x69, +0x0b,0xe0,0x65,0x38,0xdd,0xc8,0xc6,0x1a,0x69,0x20,0xbe,0x13,0xf8,0xcb,0x95,0x07,0x3e,0x7d,0xcc,0xf6, +0x44,0xd6,0x05,0x8c,0x4d,0x8e,0xe2,0x6e,0xc2,0x4b,0xeb,0xe0,0x59,0x7f,0xf4,0x7f,0x48,0xe4,0x00,0x37, +0x10,0x27,0x42,0x01,0xd0,0x37,0xd8,0xa2,0xb5,0x7e,0xde,0x52,0x22,0xfb,0xfb,0xfc,0xca,0xac,0x2c,0xe8, +0xeb,0xf9,0x01,0xe6,0x98,0x8c,0x6b,0xa6,0xa1,0xff,0x1b,0xb1,0x34,0x83,0x31,0xd0,0xf2,0x33,0xde,0x85, +0x7a,0x20,0x48,0x64,0xf4,0x7b,0xcf,0x49,0xdd,0xc5,0xbe,0xc5,0xf6,0xb8,0xad,0x5f,0x55,0xd6,0xe8,0x2e, +0x80,0xf2,0x4c,0x4d,0xe7,0x7a,0xd0,0x27,0xd5,0xb7,0xd2,0xd7,0xb3,0x56,0x67,0x17,0x13,0x13,0xf2,0x33, +0x14,0xd8,0xc4,0xcc,0xcc,0x4c,0xc1,0x42,0x6c,0xa0,0xb9,0x4c,0x25,0x9c,0x53,0xaa,0x3b,0x57,0x7e,0x1d, +0xa7,0x22,0x28,0xa1,0xaa,0xba,0x63,0x2b,0xe9,0xd8,0x4a,0x3a,0x56,0xab,0xee,0xd1,0x9f,0xd5,0xcc,0x4e, +0x78,0x4c,0x35,0x7e,0x50,0xf7,0xe7,0x80,0x43,0xc1,0xea,0xbe,0xac,0xb8,0x2f,0xeb,0xc0,0x6d,0x31,0xeb, +0xa8,0x0b,0xfa,0x82,0x06,0x14,0xdf,0x49,0x6d,0x1b,0x37,0xce,0x46,0x65,0x66,0xbd,0x69,0xd5,0x36,0x68, +0x8a,0x71,0x84,0x2e,0xf0,0x94,0x87,0xbd,0x85,0x7e,0x40,0x1b,0x74,0x84,0x39,0x16,0xda,0xe6,0x2c,0x83, +0xf3,0x9c,0xb9,0x70,0x0f,0x2c,0x17,0xb8,0x5b,0x13,0x81,0x88,0x5c,0xde,0x85,0xc9,0xc8,0xfa,0x8d,0x10, +0x75,0x90,0x2d,0xbd,0xa7,0x7d,0x03,0x85,0x2d,0xe0,0x5d,0x94,0x40,0xd9,0x3a,0x92,0x80,0x72,0x49,0x35, +0x7c,0x9a,0x5f,0x65,0xe1,0x37,0xbe,0x54,0x3a,0x50,0xfc,0xec,0xfb,0x15,0x9e,0x70,0xfd,0xf5,0x93,0xf7, +0x02,0xdf,0x41,0x4f,0x75,0x2b,0x03,0x85,0x2d,0xf8,0x45,0x56,0x0b,0xc1,0x25,0x87,0x2d,0x3f,0x7f,0xbd, +0xae,0x9c,0x17,0x9c,0x91,0xbc,0xd0,0xf9,0xd4,0xef,0x74,0x76,0x7f,0x20,0xd0,0x49,0xd2,0xdd,0xe0,0x4d, +0x1b,0x2b,0xb3,0x5b,0x4b,0xeb,0x64,0x42,0x42,0x07,0x2a,0x67,0x5d,0x95,0xce,0x7f,0xed,0xc2,0x9b,0xc3, +0xcf,0x3a,0xab,0xe7,0x2f,0xcf,0x8b,0x73,0xa6,0xf8,0xd9,0xf0,0x9e,0xe6,0x47,0xe6,0x3a,0x3e,0x26,0x11, +0xc6,0x49,0x31,0x8c,0x2f,0xae,0x64,0xfd,0x66,0x76,0x6e,0x1d,0x1c,0xd0,0xec,0x1a,0x9b,0x4f,0x78,0xad, +0x32,0x15,0x49,0x93,0x10,0xb1,0xca,0x8d,0x21,0x93,0xad,0xd2,0x65,0xd2,0xdc,0x5f,0x6d,0x45,0x0c,0x3d, +0x63,0xe9,0xd0,0xb8,0x60,0xfb,0x76,0xb9,0x65,0x13,0xda,0x8f,0xf1,0x32,0x3a,0xbe,0xef,0x26,0x68,0x34, +0x0f,0xb6,0x8e,0x1f,0x79,0x9b,0xfc,0xe0,0x07,0xf6,0x4b,0x54,0xa5,0x99,0x4c,0xf4,0x75,0xca,0x25,0x08, +0x88,0x9a,0x5f,0x12,0xa3,0xf0,0xd5,0x68,0x44,0xc3,0x55,0x56,0xe1,0x3d,0xba,0xb0,0x84,0xf3,0x97,0xa3, +0x91,0x39,0x87,0x69,0x29,0xc4,0x9f,0x5a,0x70,0xc0,0x16,0x6d,0x8c,0x33,0x9c,0x34,0x68,0x11,0x48,0x65, +0xab,0x10,0x5b,0x4c,0xa6,0xf7,0x78,0x67,0xdb,0xef,0x87,0xf3,0x6f,0x40,0xc6,0x66,0x4c,0x00,0x77,0xda, +0xa0,0x25,0xdc,0x26,0x55,0xaa,0xbd,0xa9,0x76,0x22,0x83,0xb4,0x21,0x3d,0x54,0x9f,0xda,0x47,0xcc,0x54, +0x3d,0x81,0x7d,0xbc,0x1d,0x34,0x44,0xf8,0x66,0x3a,0x98,0xc7,0xda,0xf0,0xb7,0xf6,0x48,0xb2,0xf0,0x1d, +0xaf,0x11,0x8b,0x83,0x19,0x3c,0xf6,0xf9,0xc2,0x73,0xfa,0x4c,0x30,0x23,0x12,0x38,0xd8,0x97,0xfa,0x52, +0xdd,0x56,0x51,0xfd,0x75,0xe4,0x55,0x9e,0x31,0x32,0xd6,0xc0,0x23,0xc8,0x90,0xaf,0x7e,0x30,0x09,0x22, +0x5b,0x98,0x51,0xc2,0x5d,0x57,0xea,0xb4,0xb2,0xa1,0x46,0x81,0x3f,0xf8,0x9c,0xad,0xed,0x5a,0x38,0x3f, +0x78,0x71,0xbb,0x90,0x8c,0xd2,0x23,0xd1,0x4e,0x19,0x94,0x36,0xa4,0x7b,0xdc,0xcc,0xe8,0xb3,0xc0,0x5a, +0xf5,0x57,0x3b,0xc1,0xee,0x3a,0x75,0x6b,0xca,0xe8,0x9c,0x78,0xaf,0x74,0xcc,0x43,0xb3,0x94,0x8b,0x42, +0x89,0x7e,0xee,0xe1,0x27,0xe8,0xe0,0x66,0xd4,0x3b,0x69,0x23,0xc4,0x2e,0x26,0x2e,0x98,0x52,0x23,0x7b, +0x63,0x7b,0xb2,0x5c,0xc7,0x81,0xb0,0x06,0xa3,0x08,0x70,0x1f,0xe9,0xde,0xd0,0x32,0xa1,0x96,0xf9,0x8d, +0x08,0xb3,0x1c,0xa8,0x08,0xec,0xe0,0x46,0x8f,0x31,0xb9,0xae,0x34,0xd2,0x46,0xd0,0x84,0x44,0xe5,0xfd, +0x9e,0x2e,0xf8,0x59,0xb3,0x67,0x18,0x4f,0x35,0xad,0x55,0x31,0xa9,0xab,0x98,0xe2,0x10,0xf5,0x5a,0x15, +0x53,0x05,0xc0,0xb7,0xf7,0x93,0x26,0xd6,0x0c,0x35,0x66,0x08,0xc9,0x45,0x26,0x99,0x9c,0xdb,0x4c,0x84, +0x38,0x91,0x2c,0x0c,0x22,0x20,0x67,0x50,0x44,0xda,0x13,0x55,0x22,0x36,0x0a,0x52,0x20,0x57,0xb0,0x30, +0xb0,0xf1,0x05,0x47,0x75,0x33,0x7d,0x10,0x0a,0xcc,0xc6,0x4d,0x1b,0x3a,0x57,0xa2,0x30,0x37,0xe6,0x29, +0xd5,0x40,0xa6,0xaf,0x60,0xf0,0x49,0x14,0x2d,0xed,0xa2,0xa7,0x0f,0x49,0x3d,0x87,0xad,0x30,0xaf,0x17, +0x7d,0x47,0x83,0x17,0x9a,0xe5,0x01,0xfa,0x89,0xb5,0xa9,0xbd,0xf3,0xb0,0x13,0x8c,0x10,0xf4,0x74,0xcd, +0xf8,0x4a,0x50,0xe0,0x56,0xa8,0x60,0xb1,0x94,0x8a,0xd2,0x29,0x71,0xbe,0xb3,0x71,0xe0,0x8e,0x88,0x54, +0x24,0xe3,0x99,0x7a,0xdd,0x11,0x84,0xa8,0xe6,0xa6,0xc8,0xf4,0x78,0x7b,0x40,0x69,0x2c,0x5a,0xcd,0xca, +0x84,0x93,0xaf,0xbd,0x74,0x7a,0xe6,0x90,0x60,0xa2,0xe9,0x8a,0x1f,0x9d,0x5c,0x0d,0x8f,0xce,0x83,0x5e, +0x32,0xe3,0xb4,0x32,0xea,0x30,0x3b,0x8a,0x63,0x7e,0xd6,0xe4,0x8f,0x1b,0x28,0x63,0xad,0x69,0x6c,0x43, +0xcf,0x72,0x58,0xa1,0x53,0x16,0x5f,0xf3,0xdf,0x28,0xb5,0x44,0xb8,0xc9,0x65,0x12,0x73,0xec,0x3c,0xfd, +0x3e,0x87,0xd1,0x80,0x36,0x05,0xba,0xd2,0xa2,0x13,0x31,0x85,0x97,0x0d,0x6f,0x63,0x70,0x88,0x36,0xe2, +0x20,0xc3,0xe8,0x5b,0xef,0x75,0xc2,0x78,0x83,0x37,0x78,0xd4,0xda,0xa2,0x56,0x5d,0xff,0xe3,0xee,0x16, +0x25,0x52,0xad,0xdb,0xb7,0xa8,0x96,0x23,0xf3,0xed,0x5b,0x94,0xa6,0xfc,0x8c,0x1b,0x1e,0xf2,0x7f,0x96, +0x5e,0x73,0xfc,0xb3,0x64,0xd6,0xd9,0xaa,0x3a,0x75,0xfc,0xcf,0xb6,0xaa,0xbd,0x5d,0x1b,0x0f,0xef,0xe4, +0xa6,0x0e,0x7c,0xb2,0x8a,0x51,0xb7,0x23,0x9f,0x9e,0x35,0x76,0x95,0x3f,0xbe,0x69,0x88,0x7a,0xec,0x0f, +0x6e,0x10,0x48,0xcc,0x58,0x86,0x2b,0xb3,0xfa,0xe3,0x53,0xb1,0x10,0xe8,0x17,0xd6,0xb6,0xb7,0x13,0x8f, +0xd2,0xb3,0x0a,0xda,0x31,0xf8,0x9c,0xb0,0xd2,0xec,0x05,0x1d,0x7d,0x44,0xad,0x8f,0x82,0xf0,0xca,0xe8, +0x7a,0x6c,0xd4,0x76,0xea,0x81,0xf7,0xdd,0x87,0xec,0xcb,0x52,0x24,0x67,0x93,0x11,0xc2,0x57,0x6e,0xa5, +0x5a,0xd4,0x3f,0xb0,0x4b,0xc8,0x0b,0x8f,0x88,0xd0,0xea,0x72,0xf9,0x8c,0xae,0x94,0x37,0x5f,0xc6,0x65, +0x09,0x3b,0x05,0xfc,0xe2,0x63,0x0f,0xe3,0xd7,0x3c,0x96,0x65,0xf3,0x76,0xe4,0x9d,0xe6,0xb8,0xde,0xd1, +0xb2,0x1d,0xc1,0x25,0xab,0xa6,0xd9,0xad,0x6b,0x73,0x6b,0x72,0xe4,0x0e,0x53,0x42,0x89,0xb5,0x25,0xa9, +0x3d,0x79,0x43,0xfd,0x5c,0xb5,0x3e,0xfe,0xa3,0xa5,0xb4,0xf9,0x15,0x3d,0x5a,0x80,0x30,0x4b,0xe2,0xc5, +0xeb,0x6c,0x89,0x18,0x59,0x97,0xf1,0xf5,0x4b,0x5e,0x2b,0xe8,0xa9,0x64,0xb9,0xd4,0x06,0x35,0xfa,0xee, +0x8d,0xa8,0x0c,0xf1,0x49,0x7e,0x45,0xaf,0x32,0x3c,0xcf,0x97,0xfa,0x6a,0x5d,0x26,0xaf,0x62,0xc0,0x2d, +0x72,0x38,0xc4,0x6f,0x58,0xa7,0xc8,0x09,0xd8,0xca,0xea,0xdb,0x85,0xb8,0xbf,0xbb,0x3c,0x11,0x9f,0xfe, +0x76,0x2a,0xb3,0xed,0x7a,0xe3,0x10,0x65,0x36,0xaf,0xa3,0xcb,0xa3,0x4a,0x3c,0xc1,0xe0,0xdd,0x0e,0xa4, +0xa2,0xd6,0xa2,0xb4,0x6b,0xcb,0xee,0x82,0xdd,0x2b,0x9d,0x19,0x0f,0x8d,0x19,0x68,0x0a,0xf1,0xdd,0x28, +0xab,0x95,0xfa,0x9b,0x36,0x13,0x25,0x0a,0x65,0x97,0xc1,0xae,0x1c,0x1a,0x95,0x2b,0x54,0x85,0x40,0x74, +0xac,0xc3,0xd5,0xae,0xf9,0x20,0xc1,0x61,0x13,0xfd,0x0d,0x0c,0x7f,0x11,0xb5,0x43,0xd0,0x7a,0x7b,0xde, +0xf0,0x07,0xa2,0x66,0x01,0x24,0x61,0x60,0x51,0x46,0xe3,0x3c,0xa2,0x7d,0x95,0xbf,0x75,0x20,0x9b,0x29, +0x65,0xce,0xc9,0xd8,0xa0,0xb5,0x18,0x46,0x72,0x37,0x2e,0xa3,0x1f,0x7c,0x80,0x95,0xd1,0xba,0x2d,0xb5, +0xc6,0xc6,0x85,0xa6,0xe3,0x25,0xa0,0xca,0xc0,0x0d,0x5f,0x6b,0x76,0xc6,0xff,0xfd,0x5d,0xeb,0x94,0x73, +0x7b,0xef,0x0e,0x3a,0x56,0xc2,0x0d,0xf6,0x0f,0xdb,0x88,0x69,0x0b,0xac,0xc6,0xff,0xbf,0x1a,0x0f,0x09, +0x4c,0xdc,0x33,0x28,0x1c,0x7e,0xb0,0x88,0x0a,0xeb,0x14,0x65,0x5f,0xa9,0xff,0x7c,0x94,0x84,0x65,0x6e, +0x8f,0x92,0xa3,0x3d,0xd0,0x0d,0x37,0x12,0xb9,0x8e,0xe4,0xa0,0x81,0xe1,0x0f,0xc4,0x7e,0x91,0x13,0xd6, +0x13,0x5e,0x8b,0x10,0x1a,0xc3,0xd4,0x13,0x29,0xbb,0x67,0x94,0x33,0x67,0x94,0x9d,0x7a,0x36,0x46,0x39, +0x33,0xa3,0xcc,0x6e,0xf0,0x00,0xf8,0xbe,0x45,0x26,0xc5,0x53,0xae,0x39,0xb0,0x91,0x38,0x5b,0x09,0x09, +0x67,0x4a,0xe3,0x73,0xb5,0x39,0xbc,0x15,0xcc,0x08,0x64,0x6c,0x81,0x1f,0x26,0x15,0x21,0xd2,0x3b,0x6d, +0x34,0x0c,0x34,0x75,0xdd,0xf4,0x4a,0xcb,0x01,0x6b,0xe0,0x06,0xea,0x2b,0xd3,0x81,0x62,0x3a,0x45,0x13, +0xc9,0xd6,0x9f,0x21,0x9f,0x2c,0x20,0xb8,0xf7,0xf3,0xcf,0xf6,0x4c,0xf9,0xf9,0x67,0xcf,0x7a,0xf9,0xbb, +0xa3,0xaa,0xe5,0x9d,0xbd,0x03,0x0d,0xc8,0x59,0xa1,0x13,0x3d,0x2f,0x6c,0x08,0x80,0x9b,0x19,0x07,0x0c, +0x47,0x26,0x3e,0x0b,0xba,0x5d,0xfd,0xcb,0x35,0x1a,0x69,0x69,0x17,0xa6,0x5d,0x82,0x69,0x67,0xe6,0x7c, +0x61,0xe6,0x7c,0x7b,0xaa,0xfb,0x32,0xd7,0xb1,0x10,0x64,0xba,0xdb,0x59,0x5d,0x61,0x36,0xdb,0x68,0xdf, +0x7a,0x72,0x0d,0x8e,0x0d,0x89,0xf7,0x84,0x28,0xb7,0x93,0x42,0xbc,0x05,0x9d,0xad,0x9a,0xc8,0xf2,0x5d, +0x5b,0x89,0x71,0x9f,0xb0,0x72,0xec,0xd6,0x5a,0x9f,0x08,0x03,0xd2,0x98,0x73,0x7d,0xe2,0x4b,0x4d,0x5c, +0xa5,0xe3,0x8e,0x93,0x0f,0x9b,0x06,0x15,0x93,0xe6,0xe4,0xb3,0xf3,0x93,0xaa,0xe6,0x07,0x44,0x80,0x6b, +0x9e,0x26,0x9d,0xa4,0x11,0xac,0x0d,0xac,0xad,0x9d,0x5e,0x2d,0xf4,0x7c,0x88,0x17,0x4d,0xdb,0x0f,0x08, +0x81,0x7d,0x1b,0x72,0x37,0xed,0xf3,0xfd,0x32,0x81,0xac,0xe9,0x5b,0xea,0x7b,0x8f,0x63,0xb5,0xe0,0x03, +0x2a,0xd7,0xb1,0x22,0xd0,0x00,0x5c,0x9d,0xe7,0x86,0xb2,0x69,0x1d,0x88,0xac,0x78,0xd6,0xb4,0x5c,0xe5, +0xba,0x7f,0xd7,0xd3,0x30,0x55,0x1e,0x33,0x43,0x6c,0xca,0xc7,0x79,0x09,0x6f,0x94,0x62,0xca,0xd0,0x6c, +0x9f,0xf8,0xcd,0x6a,0xa4,0x7d,0x75,0x48,0x6f,0xad,0xc0,0x79,0xb7,0x02,0x10,0xf2,0xf3,0x8c,0xad,0x8b, +0x0f,0x26,0x59,0x48,0x8f,0x53,0x2d,0xf8,0xe8,0xb5,0x06,0x32,0x1b,0xe3,0x93,0x0a,0x3b,0x78,0xa8,0x63, +0xf2,0xa0,0xcf,0x80,0x2e,0xaf,0x85,0x66,0x4d,0xf2,0xda,0xd4,0x31,0x34,0x20,0xbb,0x7f,0x90,0xda,0xd4, +0xb5,0x72,0x1d,0xf1,0x07,0xac,0xbb,0xff,0xc1,0x37,0xbe,0x79,0x1c,0x4c,0x5c,0x83,0x3f,0xee,0xc8,0x96, +0xe7,0x2e,0x36,0x1b,0x6d,0x33,0x41,0x2c,0x53,0x9b,0x98,0x2b,0x23,0x2d,0x43,0x3a,0xb0,0xe8,0xd1,0x6c, +0xd8,0xb0,0x8e,0x4a,0x66,0xf0,0xc3,0x29,0x80,0x08,0xcb,0x49,0x3c,0xac,0xe3,0xc9,0x8e,0x65,0x4b,0x8b, +0x1f,0x8e,0x26,0xcb,0x90,0x5e,0x85,0xb4,0xc2,0x1e,0x2e,0xc5,0x32,0x0a,0xd1,0x0a,0xd8,0x5b,0xd4,0xaf, +0x85,0x45,0x9b,0x4d,0x01,0x6c,0x29,0x78,0x04,0x65,0x16,0xad,0x0a,0x28,0xfe,0x99,0x4b,0xfe,0x99,0x17, +0x9b,0xcd,0x20,0xf5,0xdd,0x37,0xb0,0x47,0x16,0x8c,0x5e,0x0e,0x17,0xc1,0xce,0x9d,0xe7,0xe0,0x65,0x65, +0x55,0xa8,0x1a,0x0a,0x68,0xbc,0x16,0x81,0x64,0x65,0x4f,0xa1,0x75,0x37,0x36,0x4e,0xc3,0xf9,0x84,0x55, +0xc6,0xa6,0x77,0x72,0x59,0x22,0x26,0x64,0x00,0xc3,0xf7,0xa7,0xd6,0x4a,0x0a,0x42,0x7d,0xe2,0x2a,0xc0, +0x54,0xfa,0x45,0x4d,0x64,0x3b,0xee,0x3a,0xce,0x9c,0xd4,0x79,0xf2,0x24,0x2b,0x02,0x89,0xc7,0x1b,0xb0, +0x76,0x09,0x80,0x7c,0x66,0x54,0xd9,0x71,0xbf,0x31,0x1e,0x88,0xdd,0x0c,0x9b,0xf4,0x26,0xf5,0xab,0x85, +0x67,0xb5,0xc0,0xae,0x4d,0x95,0x36,0x96,0xe3,0xac,0xcb,0xdd,0x73,0xaf,0x75,0x0c,0xc2,0xac,0xb0,0x42, +0xfb,0x5f,0x37,0xdb,0x42,0xb3,0x48,0x77,0x30,0xef,0xa6,0xc0,0x04,0xb4,0x52,0x42,0x61,0x39,0x9a,0xa5, +0xa2,0xad,0x7d,0x01,0x98,0xb4,0x98,0xa8,0x29,0xb8,0xf2,0xcd,0x0c,0x9f,0x78,0x79,0x46,0x7b,0x8e,0x16, +0x01,0x06,0x7a,0x83,0xfe,0x56,0xb3,0xd6,0x1a,0xbd,0x89,0x7f,0x36,0x06,0x69,0x89,0xb1,0x99,0xc4,0x6c, +0x41,0x2f,0xb3,0x73,0xed,0xb8,0xab,0xba,0xd8,0x4b,0xb7,0x81,0x76,0x46,0xd3,0x62,0xb3,0xc9,0x12,0x40, +0x68,0xce,0xcd,0xbe,0xab,0x44,0x56,0x43,0x04,0x03,0xaf,0x03,0x00,0x38,0xb8,0x2f,0x2d,0x5a,0x00,0xa7, +0xa8,0x81,0xf4,0x6a,0xb8,0x4d,0x5a,0x30,0x20,0x01,0xe2,0xa8,0x8c,0x8a,0x88,0xf3,0x57,0x60,0x9b,0x8b, +0x96,0xed,0xb8,0x7b,0x3f,0xf8,0x56,0xf3,0x88,0x8b,0xa1,0x69,0x49,0x0d,0x89,0x8b,0x59,0xb3,0xa8,0xc9, +0xb5,0x43,0x26,0xd4,0xe8,0xd9,0x45,0xb4,0x70,0x4a,0xa5,0x26,0x5c,0xd8,0xb8,0x11,0x17,0x1a,0xf2,0x13, +0x36,0xe6,0xce,0xa7,0xa1,0x10,0xde,0xe8,0xf0,0xe1,0x02,0x51,0x84,0x1a,0x88,0x5d,0x55,0x13,0xa2,0x67, +0xa1,0x3a,0xd6,0x07,0xe0,0x11,0xd9,0x97,0xae,0x7c,0x2f,0x95,0xa3,0x63,0xe8,0x5e,0x78,0x5f,0x39,0xfd, +0x10,0x39,0x18,0xb2,0xf4,0xbc,0x46,0x1a,0x8c,0x9c,0x44,0x93,0xff,0x10,0x32,0x54,0x04,0x36,0x95,0x01, +0x0b,0xd4,0xe1,0x43,0x2b,0x0d,0x86,0x84,0xf3,0xc3,0x80,0x2a,0x15,0x8c,0x8d,0xad,0xb7,0x67,0x98,0xbc, +0x37,0xd6,0x75,0xa6,0x58,0xe6,0xb0,0x1b,0x08,0x35,0xa5,0x2d,0xe8,0xcc,0x8c,0xc0,0x66,0x63,0x2f,0x6b, +0xb7,0x32,0x8d,0x02,0x29,0xb2,0xc2,0x94,0x46,0xf0,0xec,0xd0,0xe0,0x99,0x19,0x83,0x8a,0x0f,0xd4,0xef, +0xf9,0x15,0x82,0x29,0xf1,0x7e,0xb3,0x8e,0x9a,0xc8,0xaa,0x40,0x53,0x35,0xc3,0xbe,0x1e,0x2e,0x04,0x43, +0x39,0x76,0x76,0xbd,0x60,0x1c,0x8f,0x5b,0x4f,0x34,0x68,0x2d,0xbb,0x2f,0xc5,0x63,0x00,0x96,0xc1,0x50, +0xc1,0x75,0x34,0xc3,0x74,0x0b,0x00,0x5d,0xca,0x09,0x4b,0xd7,0xef,0x6c,0xb3,0x31,0x5e,0x86,0x52,0x33, +0xa2,0xdf,0x82,0xad,0x00,0x01,0x8c,0xc6,0x54,0xf6,0x6a,0x9a,0x6b,0x4c,0xc9,0x6a,0x27,0x44,0x65,0xa5, +0x51,0x46,0x1e,0x1d,0x4f,0xd6,0x0e,0x34,0x2c,0xda,0x32,0xb7,0xd0,0x9e,0x71,0x1b,0xd7,0x53,0xbe,0x9a, +0x59,0x30,0xdc,0xd8,0xe0,0x8d,0xd2,0x1c,0x99,0x03,0xaa,0x51,0xba,0x35,0x86,0x34,0x71,0x8e,0xd8,0xb0, +0x31,0xc0,0x4b,0xeb,0x37,0xfb,0xfb,0xaf,0x13,0x1f,0xa7,0x87,0x6f,0xc7,0xbe,0xf1,0x8d,0x7d,0xaa,0x75, +0xf4,0x1d,0xbc,0xa5,0x5a,0x62,0x23,0xf5,0x5f,0x60,0x84,0xab,0x1e,0x0c,0x27,0xe8,0xcb,0xce,0xac,0x9d, +0x09,0x70,0x5b,0xad,0x81,0xa0,0x94,0x47,0x1d,0xcb,0x3a,0xb2,0xcc,0xa0,0xb6,0x0e,0x5e,0x27,0x1c,0x2b, +0x6f,0xd9,0x8e,0xbd,0x5c,0x00,0xaa,0xb5,0x33,0x17,0x38,0xee,0x6d,0x81,0xe6,0x95,0xe0,0x80,0xe9,0x42, +0x22,0xe9,0xa9,0xee,0xba,0xa7,0x5a,0x22,0x0f,0xbf,0xf7,0x9d,0x9e,0xfb,0x36,0x93,0x32,0xa8,0xbb,0x01, +0x44,0x81,0x86,0x5d,0xda,0x61,0x2a,0x51,0x6f,0x9c,0xee,0x92,0x47,0x00,0x17,0xde,0xf2,0x92,0x26,0x48, +0xd6,0x68,0x1b,0x8c,0xdb,0x55,0xc0,0x1a,0xe0,0xc5,0xd8,0x13,0xa3,0xa5,0xb3,0x05,0xb7,0x51,0xda,0x76, +0x43,0x97,0x98,0xdc,0x51,0x5b,0xeb,0x46,0xae,0x1f,0x3e,0xd7,0xd8,0xd7,0xbb,0x6c,0xd0,0x40,0x9c,0x3b, +0x9e,0x05,0x7b,0xbd,0x99,0x66,0x8c,0xa0,0xe0,0x9c,0xad,0x1e,0x0e,0x93,0x3d,0x3e,0x59,0xf6,0xf4,0x61, +0xb3,0x67,0xce,0x99,0x3d,0xea,0xcf,0xf4,0xf7,0x64,0x4f,0xec,0x07,0xf7,0x18,0x80,0x6f,0x6f,0x71,0xba, +0x94,0x0b,0x06,0x15,0x02,0xa4,0xaf,0x5c,0xad,0x57,0xf2,0x0b,0x66,0x6d,0xcf,0xe2,0x10,0xed,0x19,0xe8, +0xa1,0xbd,0x1a,0xa6,0x68,0xaf,0x86,0x26,0xda,0x13,0xc8,0xaa,0x3d,0x1d,0x74,0xa1,0x5c,0x9f,0x5e,0xa6, +0xd5,0xde,0xaf,0xc9,0x27,0xce,0x97,0x7e,0x57,0x08,0x0e,0x83,0x0b,0xca,0xde,0xc1,0xa1,0xf7,0x1c,0xc3, +0xf4,0x5e,0x5d,0x74,0x53,0x6a,0x5e,0x8b,0xf6,0x3b,0x32,0xe6,0x91,0x30,0xc6,0x72,0x50,0x8a,0xb3,0xb3, +0xb1,0xd9,0x35,0xfd,0xd6,0x37,0xc6,0x17,0x68,0xdc,0x2d,0x23,0x5c,0xb7,0x16,0x54,0x44,0xdd,0x60,0x40, +0x5d,0x8b,0xf5,0x1b,0xd1,0x12,0xba,0xbf,0x23,0x3a,0x90,0x0c,0x4a,0x23,0xf0,0x73,0x9c,0x57,0xda,0x78, +0x1b,0xfa,0x7f,0x41,0x88,0xb4,0x70,0x8e,0x82,0xe6,0xe8,0x82,0x2f,0xf6,0xcd,0x8b,0x96,0xce,0x5a,0x6f, +0xf6,0x7a,0x6a,0x43,0x13,0x6f,0x80,0xf4,0xec,0x4b,0x81,0x31,0x0e,0xb6,0xe3,0xce,0xd9,0x50,0x09,0x59, +0xb5,0x76,0xa4,0xe5,0x66,0x3d,0x49,0x17,0x36,0xf7,0x61,0xe1,0x6e,0x9c,0x88,0x54,0x05,0xb4,0xc2,0xb4, +0xef,0x14,0x5d,0xd4,0xf3,0x44,0xe6,0xa5,0x6a,0x24,0xe6,0x98,0xdd,0xa3,0x60,0x78,0xcc,0x60,0x1e,0x82, +0x1e,0xfd,0x3f,0x28,0xfa,0xe0,0x78,0x9c,0x4e,0x9a,0x05,0xa4,0x08,0x18,0xde,0x8b,0xb7,0xe8,0x54,0x48, +0x43,0xa1,0x20,0x0b,0xf6,0x38,0x61,0xf2,0xec,0x57,0xc8,0xa7,0x96,0xf9,0x9c,0xcf,0x07,0xf5,0xae,0x36, +0x44,0x50,0xdf,0x81,0xb3,0x9e,0x30,0x6d,0xc6,0xc2,0xf1,0x1f,0x5f,0xbd,0xec,0xba,0x47,0xb3,0xb4,0x0c, +0xa0,0xe7,0x6d,0xfb,0x2b,0x0b,0x70,0x8a,0xa9,0xc8,0xbe,0xff,0x59,0xc4,0x7b,0x54,0x72,0xf8,0xf4,0xf5, +0xab,0x37,0xc8,0xb0,0x08,0x24,0xe3,0x67,0x45,0x7e,0xf9,0x8e,0x3f,0x67,0x9a,0x8d,0x26,0xe6,0xd1,0xf5, +0xe5,0xd2,0x33,0x61,0xcb,0x8b,0x80,0x3e,0xd5,0x1c,0x59,0xed,0x70,0x3d,0x60,0x82,0x5c,0xeb,0xab,0xcb, +0x6f,0x3e,0xbd,0x8f,0xcf,0xc1,0x35,0xfa,0x1e,0x67,0x59,0x24,0x88,0x29,0xec,0x05,0xae,0x59,0x44,0x22, +0xa1,0xe1,0x5f,0x64,0x44,0x9f,0x52,0x66,0xd4,0x1c,0x0e,0xf8,0x0b,0xb5,0x17,0xf7,0xc4,0x53,0xb4,0x77, +0x7a,0x32,0xbb,0x73,0xa4,0x7e,0x61,0xa1,0xc2,0xe4,0x24,0x3b,0x3a,0x57,0x8f,0x35,0xfd,0x2a,0x2b,0x5a, +0x2b,0x8d,0x36,0xe9,0x65,0x7c,0x9e,0x6c,0x68,0x49,0x13,0xb5,0x72,0x96,0x2e,0x13,0xd6,0x22,0xfd,0x76, +0xab,0xba,0x89,0x96,0xfe,0x79,0x92,0x05,0xa2,0x5a,0x62,0x30,0xa6,0xa8,0x67,0xa2,0x1b,0x27,0xfa,0x1d, +0xe6,0x3b,0xad,0xb0,0xe3,0x08,0x4d,0x33,0x2e,0xa6,0xc6,0xfe,0x69,0x16,0x25,0xd9,0x9c,0xc8,0x8b,0xef, +0xdf,0xbe,0x80,0x8b,0x36,0xb1,0x81,0x0c,0xd8,0x3a,0xf4,0x22,0x6f,0xd8,0xf3,0xa6,0xc1,0xf5,0x6e,0xbb, +0x8e,0x26,0x09,0x7b,0x0b,0xfd,0xf2,0x1b,0xe2,0x25,0x9b,0xf3,0xef,0xcd,0x32,0x4e,0x33,0x6b,0x72,0x18, +0x98,0x45,0x9d,0xb8,0x5c,0x8c,0x60,0x9f,0x4a,0xa8,0xbf,0x5a,0x10,0x00,0x86,0xc0,0x1a,0xbb,0x65,0x82, +0xaf,0xf5,0x4f,0xa2,0xe0,0x12,0xe0,0x18,0x63,0x0a,0x5b,0x9d,0x9f,0x26,0x1f,0xf7,0xbd,0xa0,0x6d,0x7f, +0x49,0x23,0x4b,0x0b,0x98,0x76,0xf2,0x1e,0x17,0x60,0xd3,0xab,0x26,0xf4,0xa7,0x4e,0x29,0x4d,0x09,0xd8, +0x4e,0xde,0x7d,0xd4,0xe7,0x44,0x7c,0xd1,0x85,0xee,0x10,0x4b,0x0e,0xa3,0x9b,0x17,0xb1,0x58,0xa2,0x67, +0x5d,0xcd,0xd4,0xb3,0xf6,0xbe,0x26,0x4b,0xb5,0x24,0x73,0x1b,0x18,0x5b,0xd0,0x4e,0x86,0x56,0x06,0xd3, +0x70,0xe4,0x40,0x8f,0x71,0x47,0x6b,0x51,0x51,0x5a,0x12,0xa9,0x6f,0x98,0x69,0x78,0x93,0xfd,0x66,0x3c, +0x12,0x5d,0x51,0x0d,0x68,0x93,0xc7,0x0e,0x56,0x87,0xbc,0x9d,0x1b,0x48,0xaa,0xc1,0xf7,0x06,0x9f,0x8f, +0x23,0xcf,0x37,0xda,0xd7,0x98,0x5c,0xae,0x7c,0xaa,0x09,0x1b,0x28,0x06,0x02,0x61,0x27,0x4c,0x9f,0x16, +0x43,0x65,0x3d,0x62,0xa8,0x1b,0xb4,0x25,0x14,0x56,0x41,0xa3,0x0e,0xd7,0x18,0x5d,0xbf,0xd0,0x3a,0x07, +0xe8,0x18,0x30,0x6d,0x83,0xb0,0x27,0x69,0xd6,0x9f,0x54,0x20,0x20,0x6c,0xac,0x71,0x5a,0x6e,0x7f,0xbe, +0x37,0xa2,0x35,0xfa,0x9c,0xae,0xfe,0x74,0x78,0x97,0x56,0xee,0x33,0xba,0xf2,0xa7,0x93,0xfd,0x59,0xf0, +0x73,0x34,0xfd,0x69,0x7f,0x76,0xf7,0x48,0xbd,0xe6,0x55,0x79,0x78,0x77,0x42,0xfc,0xdc,0xde,0x49,0x35, +0xbb,0xeb,0x4f,0x7f,0x42,0x8e,0x88,0xd8,0x75,0x74,0x7e,0xa9,0xde,0x18,0xdd,0xef,0x29,0x9d,0x3e,0x1b, +0x22,0x0e,0xf1,0xef,0xa0,0xac,0xf2,0x02,0x4b,0xfc,0x70,0x78,0xc0,0x93,0xaf,0xa4,0xd6,0xf1,0x4a,0xc7, +0xa2,0xdf,0x5c,0xa5,0x0b,0x86,0x5b,0xa5,0x12,0xdf,0xea,0xcf,0xff,0xf6,0xed,0xfb,0xcd,0xf3,0x6f,0x1f, +0x3f,0x85,0x59,0xfe,0x2b,0xc6,0x39,0x3b,0x3a,0x39,0x3a,0x52,0x2f,0x38,0x7c,0xf0,0x07,0xfe,0x7b,0xa7, +0x8a,0xbc,0xbb,0x47,0x1e,0x80,0xc5,0x68,0x6b,0xf3,0xbd,0xbb,0x08,0x16,0xd6,0x67,0x0a,0x14,0xd3,0xcc, +0xfa,0xa6,0x62,0xc5,0x62,0xf4,0xab,0xfc,0x36,0x6c,0x52,0xe6,0x00,0x7d,0x08,0x47,0x0a,0x31,0x72,0x5e, +0xe5,0x8b,0xf4,0x2c,0x25,0xea,0x0e,0x76,0xbc,0x55,0x7c,0xce,0xc1,0x69,0x7e,0x89,0xaf,0xdf,0x25,0x55, +0x45,0x5b,0x6a,0x19,0xde,0xac,0x8b,0x65,0x68,0x72,0x61,0xaa,0xd0,0xa3,0xba,0x7a,0x44,0x19,0xbe,0xa4, +0x6d,0x7f,0x19,0xbe,0xd1,0x53,0xe7,0x57,0xed,0x18,0x33,0xcf,0x41,0xc4,0x4a,0xa0,0x1b,0xc0,0x55,0x16, +0x39,0x8e,0x19,0x46,0xf7,0xa2,0xdb,0xb8,0xfc,0x94,0xcd,0x35,0xca,0x34,0xb4,0x6b,0x82,0x9c,0x0c,0x92, +0x3a,0x95,0x33,0xe4,0xe8,0xfa,0xe0,0xea,0xea,0xea,0x80,0x16,0xf9,0xe5,0x01,0x95,0x2c,0xdb,0xce,0x62, +0x0c,0xfa,0xa8,0x80,0x8f,0xdc,0xf7,0xef,0x9f,0x1d,0xfc,0xd5,0xe3,0xd0,0xbf,0xab,0x4a,0x7b,0x23,0xdc, +0xa9,0x04,0xe4,0x4a,0x36,0xff,0x15,0xb6,0x18,0x4f,0x70,0x71,0xe4,0x09,0x2e,0x3d,0x75,0x8d,0xfb,0x46, +0x49,0x97,0x4b,0xb5,0x67,0xcf,0x0b,0xf5,0x4b,0xc9,0x2e,0xfc,0x4e,0x02,0x3c,0xd1,0x29,0x10,0x2f,0x4b, +0x63,0x96,0x6d,0x4d,0xdd,0xa9,0x74,0xe4,0x79,0x74,0x72,0x4a,0x3f,0x27,0xa7,0x47,0x52,0x24,0xdd,0xe2, +0xf7,0x48,0xf2,0xa3,0x3b,0xfc,0xd2,0x5b,0xe8,0xa9,0x4a,0xda,0x39,0xe9,0xc0,0x4a,0x93,0xe5,0x42,0x7f, +0xec,0x99,0x87,0x74,0x9e,0x78,0xba,0x15,0xe6,0x11,0x50,0x1b,0x4c,0xb5,0xcc,0xb3,0xbf,0xbf,0x7b,0xfd, +0x9d,0xd4,0x80,0xc8,0xae,0x4a,0xfb,0x63,0x70,0x15,0xbd,0x50,0x0e,0x41,0x39,0x02,0xf7,0xb8,0xcd,0x8c, +0x52,0xca,0xb7,0xc8,0xc5,0x0b,0xf1,0xb5,0x1c,0x9a,0xfa,0x31,0x1a,0x1e,0x3a,0x27,0x34,0x11,0x4f,0x44, +0x10,0xbd,0x16,0x29,0x98,0x0c,0xbd,0x19,0xab,0x6b,0x38,0xdd,0x6f,0xed,0xe4,0x58,0xef,0xb0,0x67,0xa8, +0x26,0xff,0xf0,0xff,0x41,0x4f,0x60,0x64,0xe4,0x4c,0x23,0x88,0x8e,0xc2,0x7f,0xf8,0xad,0xa7,0x8c,0x4f, +0x86,0x07,0x35,0x38,0xdf,0x7f,0xf9,0x2f,0x20,0x6d,0xa3,0x67,0xef,0x8b,0x38,0xa3,0x46,0x17,0x15,0x3d, +0xfb,0xa0,0x9f,0x35,0xa4,0x39,0x0e,0x06,0x4a,0xa1,0xa5,0x3b,0xa5,0x6c,0x47,0x4b,0x0e,0xc3,0x72,0xaa, +0xae,0xd4,0xfb,0x28,0x1b,0xcf,0x11,0x1f,0x06,0x76,0x85,0x6b,0xa8,0xdb,0x1b,0xa6,0x77,0x6b,0xb8,0x3f, +0x6a,0x16,0x2a,0x8e,0x4a,0x68,0x28,0xd4,0x13,0x27,0x3e,0x7c,0x54,0x11,0x5d,0xfc,0x25,0x96,0x0a,0x5d, +0x45,0xf7,0x46,0x23,0x62,0x2a,0x1f,0xde,0x1f,0x8d,0x36,0x9b,0xfb,0xa3,0x2f,0x21,0xb7,0x57,0x88,0x5a, +0x70,0x1a,0xfd,0xcb,0xbf,0x50,0x4f,0xd8,0xf9,0xfa,0x34,0x4a,0x12,0xba,0x39,0xa5,0x5b,0x5a,0x07,0xcb, +0x89,0x7f,0x71,0x98,0x9e,0x99,0x45,0x46,0x69,0xaf,0xa2,0x27,0xd8,0x86,0xde,0xea,0xf1,0x7c,0x4e,0x45, +0x21,0x26,0xfc,0x4b,0x5a,0x8a,0x07,0x26,0x19,0xad,0xeb,0x2b,0xc1,0xf9,0x71,0x57,0x28,0xa2,0xde,0x5d, +0xd1,0x9b,0xfe,0x0c,0xb0,0x76,0xeb,0xef,0x70,0x27,0xe9,0x03,0x75,0x4f,0x6a,0x4a,0x6d,0xc3,0xfe,0x02, +0xc1,0xee,0x85,0x60,0x60,0xbf,0x8f,0xbc,0x2c,0xd7,0x73,0xd9,0x0b,0x75,0x83,0xe4,0x69,0x75,0x69,0xaa, +0x12,0xfa,0xef,0xa3,0x53,0x58,0x6b,0x56,0x89,0x5a,0xd1,0x15,0x07,0x7f,0x58,0xd0,0x05,0xd3,0x43,0xd4, +0x2f,0x83,0x45,0x40,0xd4,0xe3,0x22,0x7a,0xaf,0x60,0xee,0xfd,0x9e,0xfa,0x9a,0x72,0x10,0xfa,0x49,0x55, +0xac,0xde,0xad,0xa2,0x11,0x82,0x93,0x3f,0xe1,0x5c,0xd6,0x70,0xb3,0x34,0x97,0x8c,0x4b,0xe2,0x13,0x71, +0xff,0x9e,0x88,0x0c,0x8f,0x7a,0xeb,0x53,0x23,0x14,0xe4,0xb9,0x9a,0xae,0xd4,0x7b,0xf5,0x64,0x16,0x84, +0x78,0x01,0xa2,0xc1,0x3c,0x7f,0x42,0xcf,0x89,0xad,0xb6,0x39,0x01,0x5f,0xd6,0xbf,0x0e,0xd4,0xb5,0x19, +0xcd,0xb3,0xfd,0xfd,0x8f,0x96,0x71,0x59,0x4e,0x3c,0x9e,0x76,0x6b,0x26,0x79,0xbd,0x90,0xef,0xbe,0x95, +0x3a,0x52,0x56,0x17,0x54,0xf2,0x2a,0x44,0x76,0x97,0x1c,0x12,0xd5,0x29,0x04,0xd2,0x21,0x6a,0x42,0x9d, +0x15,0x7f,0xfa,0x44,0xbb,0x8d,0xc8,0xd7,0x94,0xe6,0xe0,0x00,0x33,0x9b,0xf7,0x55,0x21,0x16,0x1b,0xfc, +0xa6,0x14,0x5e,0xe5,0x2c,0xb5,0xde,0xf6,0x49,0xd3,0x3a,0x20,0x9f,0x19,0x07,0x37,0x71,0xf0,0x05,0x9a, +0x01,0x86,0xa2,0x7a,0x21,0xad,0x57,0x70,0xc1,0xc8,0x68,0xcf,0x8d,0x2e,0x0e,0xf5,0x4a,0xdd,0x6c,0x2e, +0xd4,0xc7,0xfa,0x16,0x73,0xc2,0xc5,0x90,0xd4,0x34,0x19,0x47,0x1e,0x3c,0x67,0x0d,0xa9,0xc8,0x4c,0x3f, +0xb5,0xe2,0x77,0x5e,0xe2,0x7e,0x57,0x00,0x57,0xea,0xea,0x0b,0xa7,0xf3,0x59,0x5c,0x76,0x8a,0x63,0xea, +0x0a,0x7f,0x68,0x0e,0x08,0x24,0x33,0x22,0xc9,0x3d,0x89,0x6e,0xea,0x25,0x15,0x72,0xc0,0x84,0xe6,0xf4, +0xed,0xf1,0x90,0x24,0x6a,0x72,0x2e,0x42,0x35,0x01,0x69,0x44,0xac,0xb1,0x71,0x15,0xbd,0xd6,0x41,0x8f, +0x62,0x84,0x33,0x99,0x56,0x5d,0xf8,0xb0,0xa8,0x9a,0xde,0x83,0x12,0x15,0x3e,0x85,0xcd,0x37,0xdb,0x06, +0x4d,0x52,0x09,0x4d,0x52,0x71,0xa8,0xfa,0xc7,0xcb,0x65,0xb3,0x42,0x65,0x0f,0x79,0x37,0xd7,0x86,0x62, +0xac,0x47,0x78,0x0b,0x87,0x86,0xb2,0xea,0x54,0xdf,0xd9,0x09,0xa5,0x9c,0x39,0xfb,0x31,0x5c,0x75,0x6a, +0xd3,0xf3,0x08,0xa1,0x3b,0x4f,0x61,0x3c,0xae,0x35,0xb0,0x5b,0x05,0xde,0xba,0x48,0x17,0xc9,0x2b,0xda, +0xae,0x24,0x08,0xd3,0x2e,0xa1,0x3a,0x8a,0xb9,0x38,0xbc,0xd4,0xe9,0xa2,0xc4,0xe4,0x50,0x0f,0x50,0x7f, +0x1f,0x27,0x01,0x77,0xf4,0x93,0xc3,0x78,0x79,0x15,0x7f,0x2a,0xfd,0x64,0x6a,0x56,0x94,0xeb,0x5b,0x52, +0x09,0xb9,0x0d,0xb3,0xad,0x68,0x7a,0xcd,0x06,0xe5,0xf4,0xa7,0xe1,0x45,0x4c,0xfb,0xf8,0x29,0xf6,0xea, +0x1e,0x43,0x20,0x5a,0xde,0x0e,0x76,0x71,0x7a,0xc8,0x09,0xa1,0x53,0x29,0xfc,0x91,0xd1,0x36,0x6f,0x99, +0x7f,0xf8,0x64,0x63,0xae,0x3e,0x81,0xec,0x9a,0x8e,0x9f,0xc8,0x87,0xa0,0x80,0x2f,0x37,0x1b,0x4d,0x85, +0x60,0xaf,0x08,0x2c,0x85,0xf7,0xaa,0x52,0x0e,0xe9,0x31,0xf4,0x8e,0x8e,0x3c,0x7c,0xcb,0xe2,0xbd,0xec, +0xf0,0x32,0xa9,0x2e,0xf2,0x05,0x2c,0xde,0x25,0x46,0xca,0x85,0x7d,0x22,0x49,0x28,0x25,0x76,0x34,0x74, +0x5a,0x19,0xf9,0xf5,0x0d,0xed,0x96,0x44,0x5e,0x35,0x07,0xa8,0x13,0x96,0x4b,0xba,0x9e,0x96,0x59,0x91, +0x13,0x85,0x93,0x5f,0x12,0xdd,0x11,0xdc,0x2c,0x77,0x10,0x64,0xe0,0x61,0x97,0x42,0x93,0x71,0x73,0x94, +0xbe,0x91,0x1f,0xd5,0xc8,0x25,0xfa,0xa6,0xd5,0xa2,0x21,0xc8,0xb9,0xbc,0xac,0x06,0x88,0x0e,0xd3,0x78, +0xb1,0xe4,0xe7,0x9a,0xd7,0xfd,0x36,0xb8,0x69,0xe6,0x83,0x13,0x9b,0xfa,0x55,0xda,0xb5,0xbf,0x7f,0x71, +0xe8,0x90,0x63,0xb5,0x39,0x85,0xe5,0xba,0x4d,0x3a,0xfd,0x41,0x64,0x79,0x22,0xb9,0x47,0xb7,0x42,0x01, +0x85,0xf1,0x8d,0x97,0xb4,0xa5,0xff,0x9d,0x0e,0x6b,0xda,0x3d,0x33,0x45,0xc3,0x35,0x37,0x1c,0xfb,0x93, +0x71,0x2d,0x4f,0x47,0x91,0x42,0x0b,0x62,0x1b,0x1d,0x09,0x3a,0x86,0xec,0x93,0xc3,0x61,0x37,0xec,0x9f, +0xd9,0x29,0xe3,0xa2,0xaa,0x07,0x51,0x7e,0x68,0x28,0xbe,0x5f,0xad,0xcc,0x50,0xd0,0x3b,0xd8,0x10,0x68, +0xe8,0xc5,0xc1,0x5b,0x4d,0x83,0x4a,0x52,0x58,0x55,0x70,0x17,0xdb,0x39,0xf2,0x9c,0xd5,0xb4,0x8d,0x8f, +0x26,0x3b,0xfa,0x84,0x11,0x62,0xf4,0xce,0x29,0xe4,0xa9,0x44,0x51,0xb3,0xba,0x93,0xcf,0xd2,0xaa,0x0c, +0xdb,0xa1,0x3b,0x50,0x7e,0x6c,0x3d,0x5e,0x52,0x3d,0x86,0x9e,0x9c,0x97,0x52,0x43,0x89,0x54,0x63,0xd4, +0xa9,0x81,0xb2,0x23,0x90,0x0f,0x23,0xff,0x3b,0xdd,0xac,0x3c,0x98,0x10,0x37,0x1b,0x7a,0x13,0x2f,0x18, +0xea,0x91,0xd0,0xa6,0x9d,0x72,0x87,0xcf,0xe6,0xc4,0x46,0x27,0x06,0x1b,0x3a,0x8f,0x72,0x5b,0xe6,0x33, +0x2a,0xf3,0xce,0x31,0xeb,0x85,0x7a,0x33,0xf4,0x7e,0x26,0xee,0xfe,0x5d,0x35,0x1c,0xee,0x0d,0x17,0x66, +0xd1,0xe5,0x72,0xd9,0x20,0x5c,0xba,0xd4,0xc8,0xfe,0xfe,0x93,0xc3,0xf6,0x56,0xe8,0x7b,0x2f,0xce,0x2c, +0x1d,0x73,0xf0,0x2e,0xa5,0x23,0xc0,0x53,0xdd,0x4f,0x45,0xec,0x2a,0x44,0xca,0xce,0x6c,0xbe,0xcb,0xb3, +0x04,0x6e,0xd1,0xf3,0x0b,0xcf,0x49,0x4e,0xd3,0xce,0x99,0xcf,0xf5,0x80,0xe2,0xce,0x19,0x35,0x2d,0x95, +0xcf,0xdc,0x67,0x41,0x7f,0x51,0x3a,0x83,0x83,0xf7,0x6c,0x9a,0xdd,0xc8,0x85,0x09,0x8c,0xce,0x07,0x8f, +0x99,0xf9,0xf0,0xdc,0xbd,0x83,0x23,0x76,0x5f,0x1c,0x6a,0xb6,0x64,0xda,0x7c,0x33,0x9b,0xec,0x7c,0x33, +0x04,0x1b,0x37,0x88,0xa2,0xe6,0xe3,0x89,0xa7,0xf6,0xbc,0xe1,0x9d,0x6a,0xe8,0x8d,0xf7,0x7e,0x8b,0x46, +0x87,0xa3,0x63,0x1a,0x2c,0x2f,0x08,0xeb,0x6c,0xd8,0x03,0x9a,0xb5,0xef,0x2b,0xec,0xcd,0xd4,0x11,0x72, +0x6e,0x05,0x3d,0xf5,0x5d,0x29,0xfb,0x7a,0xba,0x12,0xf4,0xe7,0x8b,0x43,0xc1,0x73,0x7c,0x47,0x0c,0x21, +0xcf,0xd6,0xfa,0x56,0x14,0x9c,0xe7,0x44,0xbf,0x5e,0x48,0x0c,0xae,0xcd,0x66,0x6e,0x15,0xc4,0x4f,0xf4, +0xe6,0xcd,0x99,0xd0,0x19,0xcf,0x77,0x1e,0x91,0x4d,0x08,0xa0,0x7d,0x61,0xdd,0x69,0xd1,0x6d,0x0b,0x60, +0x32,0x12,0x85,0x20,0x34,0x17,0x9e,0x9c,0xc5,0xe9,0x92,0x9e,0x30,0x6d,0x08,0xba,0xfb,0xef,0x44,0xd6, +0xeb,0xdd,0x83,0x4f,0xfa,0x06,0xe1,0x7d,0xdc,0xa4,0xe0,0x64,0x63,0x60,0x5c,0x4a,0x4d,0x72,0x39,0xfb, +0x0d,0x75,0x0b,0xd8,0x4a,0x0c,0x40,0x25,0x84,0x3d,0xf0,0xa6,0xfd,0x75,0xd3,0x19,0xc7,0x39,0xd1,0x4d, +0x33,0x3c,0x9d,0x1c,0x92,0x22,0xfb,0x6d,0x20,0x7b,0xf5,0x1c,0x0e,0x8d,0x30,0x34,0x26,0x96,0xf9,0x14, +0x5e,0x5a,0x76,0x8b,0xe5,0x13,0xb3,0xba,0x28,0xf2,0xab,0xbd,0x6f,0xc7,0x85,0x7f,0x70,0xac,0xbe,0x0d, +0xb6,0x12,0x8b,0x8f,0xef,0xbc,0xef,0xf2,0x3d,0xcb,0xbc,0xd4,0x42,0x9e,0x27,0x4c,0x6a,0x80,0x05,0xdb, +0x65,0x6e,0x7f,0x9e,0x18,0x43,0x65,0xea,0x14,0x8f,0x59,0x36,0x16,0x61,0x55,0xef,0x98,0xf3,0xec,0x27, +0x33,0xec,0x47,0x46,0x0b,0x5a,0x83,0x6b,0x37,0x4d,0x07,0x60,0xfd,0xa2,0x3c,0x04,0xfd,0xe9,0xc1,0x6a, +0x6a,0xeb,0x09,0x1a,0xee,0x7c,0x4d,0xc1,0x61,0x26,0x36,0x44,0x10,0x60,0xc3,0xd9,0x52,0x65,0x96,0x6c, +0xd5,0x44,0xa9,0xef,0xc8,0x1a,0xc0,0x41,0x26,0x4a,0xeb,0xcf,0xcd,0x14,0x0f,0x53,0x09,0x63,0x9a,0x29, +0x3d,0x3b,0x42,0xf1,0x94,0x6e,0x8b,0x07,0x61,0x03,0x69,0x1a,0xf1,0x73,0xf2,0x31,0x5e,0x7e,0x4f,0x7b, +0x53,0x0f,0x09,0x64,0xca,0x75,0x4b,0x13,0x21,0x85,0x2d,0xd1,0xf4,0x89,0xe2,0x7d,0xd2,0x91,0x44,0x1c, +0x5b,0x59,0x05,0x0d,0x1c,0x0f,0x6a,0xe9,0xb1,0xa6,0xab,0x2d,0x3b,0xbc,0x2a,0xe2,0x15,0x10,0x4e,0x77, +0x82,0x79,0x68,0xd5,0x93,0x6c,0x95,0x2d,0xb7,0x7b,0xb8,0xb2,0xd6,0xe6,0x5c,0x94,0x4a,0x5b,0x55,0x69, +0x20,0x15,0x7a,0xd0,0x14,0xdd,0x07,0x87,0xc9,0x6f,0xbe,0x09,0x97,0xcc,0xee,0xa0,0x26,0x59,0xd3,0x66, +0xba,0x01,0x81,0x6c,0xb2,0x56,0x55,0x5b,0x0a,0x69,0x41,0x8f,0x25,0xc6,0x5c,0x22,0x78,0xd0,0x9a,0x3c, +0x61,0x2f,0xb1,0x71,0x80,0x1a,0x76,0x1f,0x5b,0xe8,0x0a,0x0b,0x86,0x2b,0x96,0xae,0x9a,0xbc,0x44,0xa7, +0xbc,0xc8,0xb2,0x7e,0x50,0xfd,0x3f,0x62,0x79,0xe9,0xda,0xd7,0xda,0xcc,0x9a,0xd6,0xb5,0xc1,0xed,0xb6, +0x96,0xb5,0x2d,0x25,0x4c,0xb9,0x8c,0x68,0xc6,0xaf,0x9d,0x1a,0x27,0xd9,0xa1,0x1e,0x3b,0x16,0xac,0x3a, +0xa0,0xbe,0x81,0x34,0xa0,0xdf,0x08,0xab,0x51,0xf5,0xf1,0x6e,0xa5,0x65,0xd6,0x6a,0x01,0xca,0xa9,0x9a, +0xc6,0x7b,0x41,0x28,0x85,0xad,0xb3,0x4e,0x71,0x0d,0x34,0x5a,0x1e,0x5a,0xa8,0xc9,0x88,0x01,0xf7,0x3d, +0xc4,0x1d,0xf7,0xba,0x28,0xeb,0x8e,0x39,0xb2,0x45,0xda,0x35,0x22,0x5b,0x1a,0x31,0xcc,0x0c,0x68,0x4b, +0x35,0x55,0xad,0x4d,0xd0,0x56,0xc5,0xe1,0xaa,0x4c,0xd6,0x8b,0x9c,0x43,0xd2,0x2f,0x92,0xac,0x67,0x19, +0x0d,0xda,0x29,0x19,0xc3,0x12,0xb0,0x2b,0xb2,0x16,0xfa,0xde,0xf5,0x65,0x33,0x40,0xc0,0x03,0x0e,0x5e, +0xc3,0xb0,0x5c,0xd0,0x01,0xc8,0xad,0x40,0x37,0xde,0x82,0xe5,0x26,0xe5,0xb8,0x02,0xa2,0xc3,0xeb,0x8b, +0xc2,0xf5,0x9c,0xc4,0xc6,0x6c,0xf8,0x1e,0x56,0x06,0xfd,0xf8,0xea,0xe5,0xf3,0xaa,0x5a,0xe9,0x03,0x4f, +0xef,0xd1,0x15,0xb0,0x9c,0x99,0x79,0xfe,0xb9,0x8a,0x6e,0x46,0xec,0x0e,0x7a,0x7c,0xef,0xde,0x7d,0xba, +0xf8,0x72,0xab,0x7e,0xaf,0xa2,0x9e,0x52,0x7c,0x38,0x4a,0xd3,0xf4,0x29,0xca,0x68,0x30,0xf8,0x1d,0xd6, +0x82,0x57,0xd4,0xb1,0x4f,0x88,0x11,0xa6,0x6a,0xa6,0xf1,0xb2,0x84,0x46,0xf2,0xf7,0x0a,0x2a,0x49,0x7c, +0x1a,0x51,0x2e,0x48,0x67,0x2a,0x6c,0xf7,0xfb,0xc6,0xd4,0xd6,0x2a,0x19,0x1c,0x96,0x3a,0xf3,0xcd,0x06, +0x79,0x23,0x5a,0xb9,0xc3,0x33,0x68,0x91,0x77,0xd9,0x00,0x8e,0x67,0x60,0x2b,0x06,0x24,0x56,0x25,0x4d, +0x6c,0xa9,0x22,0x47,0x2d,0x05,0x54,0xb0,0x5f,0xe9,0x00,0x65,0xcc,0x4a,0x54,0x72,0x00,0xe2,0x8e,0xf6, +0x03,0x51,0x9c,0xd0,0x74,0x2a,0xcb,0xab,0xbc,0x58,0x60,0x3f,0xa0,0xaf,0x45,0xea,0x28,0x01,0x23,0x24, +0xe0,0x41,0xfd,0xb0,0x84,0xe7,0x93,0xf3,0x80,0x6e,0xc7,0x95,0xe5,0x26,0x11,0x69,0xb1,0xcd,0x89,0xf6, +0x3d,0xf3,0xeb,0x4f,0x50,0xa6,0xd3,0xc2,0xcd,0x26,0x9d,0x7a,0x3f,0x1e,0xe8,0x51,0x22,0xc2,0x90,0xe1, +0xa1,0xe1,0x6b,0xd8,0xfb,0x3c,0xf2,0x9a,0xc3,0xea,0x09,0xa5,0xc3,0xd5,0x4e,0x83,0xb2,0x4b,0xe1,0xc4, +0x8a,0x51,0x9f,0xc7,0x7d,0xd3,0x7a,0xcf,0x99,0x3e,0x19,0x4b,0x5a,0x8a,0x08,0x6a,0x6e,0xc4,0xc0,0xe3, +0x0b,0xa6,0x47,0xf8,0x8a,0x89,0x02,0xbe,0x62,0x42,0x84,0x85,0x5e,0xa2,0x97,0x67,0xdb,0x0c,0xa5,0xc9, +0x1d,0x8e,0x8b,0x50,0x1a,0x4a,0x28,0xd4,0xc2,0x2e,0x7e,0xda,0x41,0x43,0x29,0x35,0x37,0x3d,0xc9,0x89, +0xd7,0xd5,0x29,0x83,0x30,0xf7,0xcd,0x73,0x55,0x3a,0xa2,0x30,0xbc,0xf8,0xb9,0x9a,0x9a,0x47,0x33,0x18, +0xea,0xf4,0x24,0x13,0xd9,0x2d,0x63,0x05,0x72,0x00,0x53,0x11,0x16,0x0b,0xa7,0xc2,0x6f,0x82,0x1e,0x85, +0xaa,0x93,0x12,0x31,0x3c,0x6f,0x4e,0xd3,0x2c,0x2e,0x3e,0x85,0xf5,0xe3,0x6d,0x78,0xc3,0x42,0xde,0x66, +0xc2,0x2d,0x95,0xdc,0x2b,0x20,0xf1,0x05,0x17,0xd3,0xf6,0x24,0x62,0x77,0x15,0x4e,0x7f,0x66,0xbe,0x69, +0x6d,0xed,0xd2,0x65,0xfb,0x78,0x52,0xf7,0x76,0x11,0xf6,0xf6,0xb7,0x33,0x68,0x5f,0x32,0xc4,0x71,0x4d, +0x1a,0x32,0xc2,0x6a,0x2f,0x59,0x97,0x01,0xe1,0x42,0x02,0x47,0xa0,0x7c,0x19,0x2d,0xa1,0xe6,0x4a,0x21, +0xe4,0xaa,0x06,0xc3,0x50,0x31,0xd1,0x2d,0x38,0x17,0x86,0xbe,0x5b,0x6b,0x54,0x4a,0xa1,0xef,0xd6,0xdb, +0x8e,0x5c,0x83,0x8b,0xe1,0x90,0x64,0x5b,0x4b,0xf1,0xd4,0x40,0xf5,0xee,0xfc,0x4b,0xdc,0x25,0xc0,0xde, +0x9e,0xe6,0x74,0x3a,0x14,0x6a,0x04,0x86,0x63,0x75,0x26,0x5a,0x96,0x67,0x35,0x1b,0x92,0x46,0xab,0x30, +0x6a,0xfd,0x83,0xda,0x6b,0xa8,0x28,0x76,0x3c,0x4f,0xe6,0x97,0xbd,0xcf,0xaf,0x0f,0xea,0x37,0x0d,0x4d, +0x86,0x2e,0xed,0xe8,0xe4,0xd4,0x9f,0x84,0xc8,0x75,0x83,0x84,0x81,0x3c,0x66,0xf5,0x45,0x43,0xe7,0xc0, +0xda,0x03,0x9d,0xcd,0x8e,0xb3,0x5f,0xe8,0xaa,0x6f,0xa1,0x0f,0xa4,0xfd,0x20,0xe9,0xef,0x2f,0x4b,0x97, +0x35,0xce,0xe0,0x3a,0x92,0x22,0x93,0x6b,0xd2,0x77,0xcc,0xe0,0x52,0x8f,0xa9,0x6e,0xbf,0x8a,0x63,0x39, +0x28,0x3e,0xa7,0x3f,0xeb,0x2d,0xb9,0xb7,0x10,0x08,0xbf,0x9a,0x92,0x1b,0x6d,0x28,0x3d,0xee,0xdd,0x8e, +0x99,0x1e,0x66,0x62,0xc3,0xd3,0x51,0x8d,0x1e,0xd1,0xe1,0xcc,0x5a,0xdd,0x1b,0xad,0x9b,0x82,0x53,0x2c, +0xbf,0x79,0x22,0xf7,0xaa,0x2c,0xe6,0xf4,0x8c,0x36,0x68,0xa2,0x9e,0x28,0x0b,0x0f,0x0b,0x65,0x4f,0x8b, +0xc6,0x9b,0x5b,0x95,0x0d,0x34,0x63,0xcc,0x15,0x11,0x3a,0x2f,0xf5,0x9d,0xad,0x45,0x44,0xf6,0x5f,0x8e, +0xbe,0xe4,0xd3,0x4c,0xc7,0x4a,0xa3,0xc6,0x66,0x09,0xf3,0x76,0x0d,0x8f,0xff,0x0a,0x54,0xe0,0x6d,0x13, +0x57,0x6b,0x40,0x7f,0xac,0x60,0x2c,0xf0,0x3d,0x74,0x9e,0x51,0x70,0x32,0xf1,0x27,0xd1,0xfe,0xe6,0x4e, +0xb0,0x39,0x99,0x68,0xbb,0x0d,0x67,0x56,0x82,0x19,0x59,0x85,0xde,0x5c,0x0b,0x83,0x45,0x2d,0xb5,0x32, +0xb2,0xe1,0x2e,0xc2,0xe1,0x8f,0x95,0xd8,0xc7,0x89,0x34,0x5c,0x2c,0x4b,0x87,0xde,0xcf,0x22,0x69,0x68, +0x50,0xcc,0x09,0xc2,0x42,0x62,0x7a,0xf4,0xcd,0x0e,0x94,0xc2,0xba,0xab,0x95,0x33,0x78,0x3d,0xe0,0xbb, +0xd5,0x21,0x27,0x32,0xc0,0x31,0xdf,0x1b,0x3d,0x37,0x3a,0x3f,0x98,0x78,0xf4,0x97,0x18,0xe8,0xb6,0x21, +0x7f,0xa5,0xa5,0x08,0x2c,0xf2,0xa9,0xfe,0xa7,0x22,0x9f,0xba,0x4c,0x16,0xc9,0x10,0x01,0x81,0x5f,0x71, +0xef,0x82,0x62,0x49,0x5a,0xc1,0x80,0xf4,0x2e,0xab,0x6f,0xb8,0xd8,0xd4,0xb4,0xc1,0xf4,0x69,0xdb,0x5c, +0xa3,0xf9,0x16,0x36,0xc7,0x8d,0x07,0x30,0xe5,0x68,0x3e,0x51,0xe5,0x84,0xce,0x12,0x08,0xc4,0xcb,0x99, +0x95,0x06,0x7d,0x2f,0xd2,0xa0,0x61,0x6a,0x93,0x9b,0x3e,0xe3,0xbe,0x72,0x84,0x4e,0xa6,0xef,0x8c,0x9c, +0x48,0x27,0x67,0x63,0x90,0x94,0xcf,0x77,0xbb,0x1f,0x4c,0xf5,0x02,0x13,0x2d,0xe3,0xcc,0xdd,0xbc,0x8d, +0xb5,0x99,0x63,0x42,0x93,0x0e,0xbd,0xbd,0xab,0xb8,0xdc,0x23,0x22,0x77,0x0f,0xf3,0x89,0xf5,0x5d,0x31, +0x75,0xc5,0x56,0x35,0xbb,0x26,0x12,0x16,0x18,0x6e,0x0b,0xd3,0x74,0xc6,0xf1,0xd3,0xdc,0xac,0xe3,0x3a, +0xa0,0xfb,0x56,0x15,0x46,0x80,0xed,0xce,0x44,0xb3,0x8d,0xe4,0x13,0xb1,0x61,0xaf,0x5d,0xa8,0x7d,0x6a, +0x3f,0xe7,0x97,0xab,0x4a,0x02,0x5d,0xb7,0x7b,0x3f,0x6b,0x75,0x26,0x26,0x34,0x2c,0x69,0xd3,0x80,0x81, +0xa5,0x9b,0x83,0x93,0xd3,0x70,0xe7,0x7e,0xcc,0xcc,0x57,0x1c,0xe5,0xc6,0xdc,0x28,0xb0,0xac,0xb8,0x98, +0xb9,0x89,0x54,0x18,0x21,0x12,0x0c,0x9f,0xd7,0xc1,0x77,0x81,0xf0,0x38,0x85,0x10,0x05,0x6f,0x79,0xc6, +0xf5,0x7c,0xe5,0x63,0x76,0x82,0x3d,0xa8,0x41,0x06,0x9c,0xe0,0x0b,0x0f,0x31,0x39,0x1f,0x3d,0x3c,0x92, +0x1f,0xf7,0xc6,0x53,0xf7,0x64,0x53,0xb5,0x8c,0x82,0x26,0xbc,0xb7,0x62,0x5b,0xca,0x5a,0x60,0xce,0xa4, +0x2d,0xa0,0x70,0x3c,0xd9,0x6a,0x88,0x2c,0x3d,0x75,0xa7,0xb3,0x71,0xaf,0xb3,0x9e,0xd6,0x69,0xd1,0x8e, +0x3d,0xb6,0x5e,0xe4,0x76,0xe5,0x13,0xe9,0xd7,0xdb,0x21,0xf0,0xf2,0xf9,0xa3,0x5d,0x80,0xc0,0x35,0x6d, +0x49,0xfb,0x69,0x5c,0x26,0x0c,0xf5,0xc6,0xb2,0xf5,0xac,0xb6,0x4d,0xd3,0xf6,0x0b,0xdd,0xcd,0xb2,0x08, +0x68,0x29,0x50,0x4a,0x48,0xa4,0xbe,0xb5,0x11,0x6a,0x68,0xd2,0x01,0x43,0x0f,0xb6,0x54,0x93,0x69,0xbb, +0x14,0x80,0xa1,0x07,0xb3,0xd0,0x4f,0xa3,0x53,0x9f,0xf6,0x2f,0xea,0x22,0x60,0x3b,0x23,0xb4,0xb9,0xc1, +0xa4,0x3e,0x07,0x70,0x76,0xbd,0xa7,0xc3,0xd0,0x25,0x29,0xe8,0x21,0xf2,0x73,0xf9,0x34,0x2b,0x65,0x60, +0x1a,0x6a,0xa7,0xf3,0x3d,0x00,0x0e,0xc0,0x49,0x22,0xd2,0x9c,0xe3,0xae,0x69,0xd9,0xd2,0x52,0x1c,0x01, +0x8a,0xe8,0x07,0x78,0x91,0xb0,0x48,0x19,0x3c,0x3a,0x58,0x7a,0xb9,0x1b,0x29,0xdc,0x77,0x0c,0xc0,0x9a, +0x6a,0xc7,0xb0,0xea,0x01,0x1a,0x14,0xe0,0x70,0xef,0xcd,0xeb,0x77,0xef,0x5b,0xf1,0xdc,0xfa,0xa4,0x2e, +0x29,0x6d,0x74,0x2d,0xc1,0x8b,0x18,0x5f,0xb0,0xbc,0xa7,0xa2,0x73,0x90,0xc5,0x82,0xee,0xd1,0x97,0xd7, +0xcb,0x98,0xb2,0x47,0x6a,0xbf,0x98,0xf0,0x31,0xbb,0x48,0x3f,0xe2,0x8c,0xd5,0xfc,0xba,0x3b,0x3f,0x61, +0x8b,0x24,0xc1,0xe6,0x0b,0xe1,0xad,0xcd,0xea,0xa7,0x21,0x6b,0x4a,0xb6,0xe2,0x0e,0xff,0xdc,0x80,0x9f, +0xca,0x37,0x9b,0x69,0xd2,0x20,0x78,0x11,0xa8,0x71,0x06,0x1a,0xd2,0x88,0x38,0x6a,0x01,0x5a,0xad,0x9b, +0x50,0xb5,0x46,0x57,0xb5,0x14,0xc2,0xae,0x6a,0xb9,0xa1,0x74,0x56,0xb5,0x08,0xb3,0x07,0x2a,0xbd,0x6d, +0xa9,0xdb,0x94,0x0c,0xf0,0xa1,0x57,0x07,0xf1,0x71,0x19,0x71,0x0d,0x26,0xb5,0xd8,0x21,0x17,0x3b,0xa7, +0x8d,0x9f,0xfd,0xc4,0x04,0xed,0xcc,0x65,0x4e,0x6d,0x2c,0x2a,0x1c,0x49,0xb0,0x49,0xdb,0x1a,0x3e,0x9c, +0x1b,0x2d,0x3c,0x3b,0x5b,0xba,0xbe,0xe6,0xcb,0xdb,0x63,0x20,0x8a,0x7e,0xda,0x01,0x3f,0x37,0x51,0x31, +0x3c,0xf1,0xaf,0xc0,0x9a,0x62,0x64,0x52,0x0f,0x64,0x7e,0x3a,0xc7,0x49,0x38,0xaf,0xf1,0xcd,0x0f,0x4d, +0xf2,0xc8,0x33,0x51,0x69,0x38,0xda,0xca,0x99,0xae,0x87,0xaf,0xe1,0x09,0x75,0xe6,0xac,0x4b,0xd7,0x61, +0x16,0xe5,0xc9,0x92,0xf1,0xc9,0xd5,0x32,0xf2,0xeb,0x28,0x1c,0x28,0x02,0xb8,0x4d,0xe9,0x35,0xe3,0xe6, +0x44,0xf3,0x80,0x15,0x2b,0x6b,0xf7,0x68,0x07,0x18,0x2e,0xfc,0x68,0x60,0xaa,0x51,0x50,0x71,0xa6,0x1e, +0x3e,0x83,0xbc,0x73,0x38,0x9a,0x34,0x2a,0x18,0x96,0x3c,0x08,0xe1,0x1c,0x51,0xa3,0xa3,0xe7,0x44,0xdd, +0xc0,0x99,0xd7,0x79,0xb4,0xc6,0xa3,0xee,0x42,0x63,0x23,0x88,0x4a,0x44,0x42,0x09,0x3b,0x73,0x3a,0xe8, +0x89,0xf0,0x1b,0xd7,0x38,0x96,0x1c,0xfe,0x86,0x12,0xaf,0xf0,0x2b,0x77,0x07,0xc0,0x16,0x58,0x0d,0xe3, +0x3a,0x09,0xaa,0xc2,0x69,0x70,0xa1,0xef,0x0f,0x4a,0xfe,0xc1,0xc1,0xec,0xc1,0x2a,0xfa,0x9c,0xfd,0x1c, +0x27,0x90,0x07,0x00,0xee,0x5a,0x17,0xbc,0x0a,0xc2,0x33,0xee,0xaf,0x95,0xc6,0xac,0x75,0x83,0xbc,0xb6, +0xc7,0x98,0x37,0xfd,0x5d,0x8e,0xec,0x4e,0x80,0x40,0x4c,0xd0,0x3e,0xf1,0x9c,0xcc,0x6b,0xc9,0xf6,0xd0, +0x4e,0x22,0x37,0x76,0xd9,0xb8,0xe1,0xa0,0xdf,0xf6,0xab,0xcd,0x27,0xf9,0x2e,0x39,0x11,0x46,0x2a,0xdf, +0x85,0x20,0xcf,0xf0,0x7b,0xcd,0x80,0x9b,0x10,0x0c,0x2e,0xf4,0x8d,0xde,0xc3,0x19,0xf5,0xdc,0xf1,0x89, +0x51,0x37,0xc0,0x93,0xe4,0xf1,0x1e,0xa6,0x87,0x1c,0xf6,0x59,0x2a,0x7c,0x40,0xa7,0x0f,0xe7,0xfe,0x9e, +0x66,0x02,0xc7,0xc7,0x29,0x74,0x57,0x73,0xaa,0x1f,0x5b,0xa9,0x5e,0x32,0x7c,0x7d,0xc8,0xb9,0x8d,0x24, +0xfd,0x68,0x6b,0x1c,0x42,0xd5,0xaa,0x27,0x04,0x0e,0x9c,0x18,0xb5,0xe0,0xd6,0x40,0xbc,0x29,0xeb,0xc7, +0x40,0x47,0x5c,0x33,0x2b,0xe3,0x1d,0x6f,0xe7,0xb4,0x5e,0x01,0x99,0xbb,0xe0,0x26,0x74,0x9e,0xed,0xea, +0x9e,0xd0,0x37,0xe1,0xbc,0xb9,0xe2,0x6f,0x44,0xe6,0x88,0x5e,0x73,0x9e,0x22,0x72,0x8e,0x9f,0xa0,0x7c, +0xd9,0xbe,0xe1,0x93,0x84,0x08,0xbb,0xe6,0x6d,0x60,0xea,0x25,0x1d,0x66,0x56,0x21,0x7f,0x20,0x98,0xfc, +0xd4,0x5b,0x02,0xca,0xcf,0xd6,0xe3,0x6e,0xbf,0xf5,0x24,0x46,0xa7,0xd5,0xa9,0x69,0x93,0xe3,0xbc,0x65, +0xfa,0x73,0x09,0x07,0x75,0x2b,0x25,0x0e,0xc0,0x7b,0xec,0xbc,0x36,0x67,0xbd,0x06,0xa4,0x80,0x4e,0x5a, +0x8e,0x5c,0x20,0xde,0x1e,0x5b,0xe5,0xb6,0xfa,0x0f,0x9a,0xf0,0x36,0x85,0xe7,0x8d,0x7e,0x1b,0x27,0xac, +0x44,0x37,0xfb,0x59,0xdf,0xe6,0x27,0x82,0xf5,0xc6,0x47,0x66,0xe3,0xdd,0x6c,0xfe,0x9e,0x6c,0x5b,0xd8, +0x86,0x16,0xa0,0x3a,0xf4,0x9c,0xe9,0xe5,0x29,0x8b,0x67,0x2d,0xcf,0xf5,0xe4,0xdc,0xe1,0xec,0xd0,0x48, +0x82,0xed,0x5d,0x03,0x36,0xba,0xb8,0x84,0x45,0x07,0x81,0xc8,0xc9,0xa9,0x76,0x93,0x1c,0xbb,0xb2,0x7c, +0xed,0xbc,0x94,0x04,0x13,0x22,0xc9,0xc3,0xaf,0xdb,0x51,0x12,0xe1,0x5e,0xec,0x2c,0x29,0x37,0x42,0xc9, +0x84,0x56,0x33,0xbc,0xef,0x80,0xc0,0xcc,0xab,0xc1,0xc7,0xf2,0x36,0x8d,0xf2,0x33,0xba,0x71,0x9a,0x1b, +0xa6,0x2a,0x9b,0xa4,0x61,0xee,0xae,0xc3,0x80,0xbf,0x8d,0x52,0x8e,0x24,0x50,0xf4,0xc4,0xe1,0x6b,0x81, +0x5a,0xe2,0x64,0xe6,0x33,0xe1,0x33,0x71,0x49,0x38,0x3e,0x46,0x23,0x3e,0x95,0x9b,0x3e,0x6b,0xc4,0x28, +0xd1,0x41,0x91,0x2a,0x3a,0x98,0x34,0x93,0xc4,0x46,0xcc,0x60,0x2d,0xea,0x63,0x83,0x32,0xe5,0xe0,0x15, +0x61,0xb6,0x0d,0xdc,0xa1,0xd5,0x81,0x8b,0x6c,0xd8,0x14,0x9e,0xf0,0xa1,0x0e,0x9e,0xd2,0x17,0x59,0x9c, +0xbf,0xb2,0xc1,0x2e,0x98,0xc0,0xf7,0x86,0x89,0x11,0xd9,0x84,0x30,0x69,0x08,0xbd,0x7c,0x5d,0xf1,0xe3, +0x6d,0x0b,0x8c,0x50,0x06,0xbc,0x70,0x06,0xbc,0x96,0x27,0x47,0xed,0xce,0x03,0xad,0xee,0x60,0x75,0x5a, +0x0a,0x3f,0xe5,0x78,0x67,0x8c,0x19,0x27,0x80,0xca,0x39,0xff,0x4e,0xf4,0xc2,0xa2,0xe2,0x65,0xfd,0xd6, +0x84,0x68,0x67,0x2e,0x61,0x7b,0xbf,0x6d,0x2e,0x11,0x11,0x8a,0x09,0xe2,0xa0,0x90,0x48,0x8b,0x68,0x0f, +0x9b,0xda,0x36,0xcf,0xc2,0x7a,0xff,0x6e,0x6f,0xe4,0x53,0x4f,0x36,0x5e,0x4e,0xf6,0x75,0x23,0x08,0x24, +0xa2,0xdb,0x74,0x37,0x7e,0x06,0x57,0xbf,0x24,0xba,0xb5,0x62,0x16,0x8a,0x79,0x57,0x9a,0x85,0xf8,0x5e, +0xe5,0x8d,0x3b,0x93,0x40,0x16,0xaf,0x49,0xd0,0xbc,0xab,0x0b,0xb7,0x7e,0xff,0x3c,0xdf,0xf5,0x56,0x80, +0xe6,0x97,0x41,0x8d,0x60,0xcf,0xdd,0x01,0x68,0x14,0xa0,0x7c,0xd1,0x14,0x37,0xa6,0xa7,0x8c,0x00,0xd9, +0x76,0xad,0x82,0x53,0xe5,0x4e,0x64,0x36,0x4d,0x16,0x26,0xda,0xfb,0x8e,0x5e,0x41,0xbf,0xd4,0xf9,0xa4, +0xf5,0xc1,0xd9,0x99,0xfd,0x22,0xd8,0x2a,0xe3,0x85,0xfa,0x19,0x40,0x6a,0xa1,0x3e,0x35,0xb0,0x34,0x80, +0x08,0x7b,0xbf,0xb2,0xdf,0x00,0xcf,0xa2,0x03,0x8a,0xe1,0x14,0xef,0xdd,0xbd,0xeb,0x69,0x85,0x1e,0x1e, +0x50,0xd6,0x30,0xb6,0xba,0xeb,0xa9,0xcc,0x2c,0xe2,0x8b,0x7c,0xb9,0x78,0x0b,0x79,0x6f,0x83,0xa8,0x4d, +0x04,0x87,0x8e,0x1e,0x7f,0x88,0xd3,0x6a,0x38,0x0c,0xcd,0x2d,0xc3,0x4a,0x0b,0xcd,0xc5,0xae,0x05,0x51, +0xc3,0xd1,0xc0,0x32,0xb6,0xd0,0xbc,0x47,0x8e,0x05,0xf4,0x79,0x8d,0xc3,0x15,0xa5,0xaa,0x0e,0xbe,0x6e, +0x59,0x1f,0x41,0x5c,0xdc,0xdf,0x97,0xdf,0xc3,0xf8,0x72,0x61,0xae,0x7d,0x4f,0x2c,0x28,0x81,0xf9,0xdc, +0x13,0xdd,0xe6,0x3c,0xd1,0xc4,0xcd,0x0f,0xf0,0x8e,0xfa,0xe5,0xbf,0x90,0x54,0xfd,0x0d,0xd7,0x77,0x9c, +0x35,0x90,0xe5,0x4f,0xf2,0xec,0x8c,0xd8,0xb3,0x66,0xd8,0x48,0xcb,0xd2,0xdf,0xe1,0x13,0x85,0x49,0xe4, +0x3b,0xd1,0xdf,0x2a,0x41,0x9f,0xd6,0xb9,0xd5,0xaf,0xf4,0xfd,0x0f,0x15,0x7a,0x6e,0x0b,0x30,0x96,0xfa, +0x21,0x3e,0x3c,0x67,0x48,0xd6,0x6d,0xf0,0xf0,0x48,0x4b,0x2d,0x8d,0xf4,0xd2,0xda,0x4e,0x23,0x7a,0xc0, +0x2b,0xe2,0x50,0x68,0xaf,0x25,0x12,0xeb,0xe6,0x52,0x5f,0x12,0x8f,0x1b,0x79,0x6f,0x89,0x83,0xad,0x92, +0xbd,0xf5,0x8a,0xf8,0xb7,0x64,0x8f,0x31,0x5b,0x61,0xd0,0x69,0xd3,0xdc,0xa3,0x34,0xaf,0xdf,0x3f,0xde, +0x9d,0xe0,0x3e,0x25,0x60,0x6e,0x68,0x0f,0x9d,0x4e,0x3b,0xd9,0x1e,0x38,0xc1,0x81,0x93,0xe2,0x4b,0x4a, +0xf1,0xfe,0x22,0xd9,0x83,0x73,0xc4,0xde,0x22,0x4f,0x44,0x30,0xb4,0xa4,0xfd,0x79,0x6f,0x99,0xfe,0x9a, +0xec,0xc5,0x7b,0xe2,0x70,0x45,0xfb,0xde,0x59,0x7a,0x6e,0xd0,0xe4,0x21,0x93,0x59,0xaf,0xf6,0x28,0xdf, +0xb4,0xa4,0x57,0x45,0xb1,0x5e,0x35,0x0b,0x7e,0x40,0xd9,0x3e,0x61,0x5d,0x42,0xb9,0x57,0xc6,0x1f,0x93, +0xc5,0xe1,0xde,0x3f,0xf3,0xf5,0x5e,0x79,0x91,0xaf,0x97,0x8b,0xbd,0x22,0xa1,0xcd,0xae,0xda,0xfb,0x94, +0xaf,0x8b,0xbd,0xd3,0x3c,0x2e,0x16,0x54,0xe8,0x95,0xf3,0xf5,0x5f,0xe8,0xeb,0x37,0x5a,0x7f,0x56,0x52, +0xad,0xb8,0x4e,0x6c,0xfe,0xe7,0x56,0xfd,0xaf,0xed,0x32,0x9c,0x77,0x5f,0xd3,0xbb,0xef,0x72,0xed,0xd6, +0x49,0x59,0x10,0x73,0x38,0x6f,0xd6,0xf0,0x18,0x12,0xae,0x77,0x74,0x87,0xf6,0x10,0x4f,0x97,0x16,0xc9, +0x42,0xed,0x11,0x1b,0x19,0xc3,0x90,0x24,0x61,0x61,0x31,0x0e,0xc0,0xc3,0xc3,0x43,0x6f,0x6b,0x47,0xab, +0x4c,0xb2,0x32,0x2f,0xd8,0x57,0xcd,0x6a,0xab,0xa7,0xde,0xd3,0xe7,0xc4,0x73,0x7b,0x4f,0x89,0xcc,0x8f, +0xc1,0x69,0x7e,0x7b,0x49,0x29,0x1f,0x67,0xf1,0x32,0x3f,0xb7,0x77,0x4f,0x9f,0x1c,0xdf,0x3b,0xae,0xef, +0xde,0x1d,0xff,0x78,0xfc,0x80,0x6e,0x9f,0xbf,0xfc,0xf0,0xd7,0xd1,0xf1,0x3d,0xba,0xfa,0xe1,0xeb,0x7b, +0x5f,0x1d,0x3f,0x43,0x8a,0x27,0xcf,0x8f,0x1f,0x7c,0x35,0xa2,0x2b,0x9b,0xc5,0xd3,0xf4,0x3c,0xad,0xe2, +0x25,0x5e,0x8a,0x43,0xb7,0xf2,0xde,0xbc,0x7a,0xf7,0xe3,0x68,0x74,0x9f,0xae,0xbe,0x79,0xf5,0xe3,0xbd, +0xbf,0x22,0xf9,0xab,0xe7,0xff,0x3a,0xfe,0x9a,0x7e,0xdf,0xbd,0xf8,0xcb,0x88,0xcb,0x7a,0xf7,0xfc,0xfd, +0xfd,0x1f,0xf7,0x5e,0xdc,0x7b,0x82,0x54,0xcf,0x8f,0xff,0xf2,0x60,0xe4,0x59,0xfa,0xfe,0xf8,0x21,0xc3, +0xa0,0x3f,0xb4,0xd1,0x87,0x68,0xc7,0x4f,0x0e,0x8e,0x67,0x62,0x63,0x6b,0xdb,0x7b,0x19,0x9f,0xd3,0xfc, +0x5c,0xcb,0x8e,0xee,0x36,0xf9,0x7d,0x72,0xb9,0x42,0x98,0xc1,0x35,0xa2,0xd2,0x7a,0xcf,0xd7,0x97,0xe9, +0x82,0x51,0xf2,0xbd,0x37,0xf0,0x94,0x95,0xa7,0x4f,0xd6,0x05,0x28,0x2e,0x34,0x2e,0x5f,0x56,0xd4,0x97, +0x68,0x13,0x5b,0x1f,0xee,0xbd,0x81,0x5d,0x27,0x6e,0x57,0xa2,0x76,0xb7,0x0f,0x68,0xe3,0x69,0xa6,0xe0, +0xdf,0xbd,0x67,0x31,0xc2,0x10,0xa1,0x03,0xe8,0x4c,0x3a,0xff,0x64,0x2f,0xf6,0x88,0x7e,0xa0,0xac,0x83, +0xcf,0xf6,0xd6,0xf1,0xe1,0x88,0x7f,0xef,0x1d,0x3e,0x90,0x7b,0xdc,0x3e,0x79,0x8d,0x9e,0x7f,0xb9,0xbe, +0xfe,0xcf,0xfb,0x85,0x57,0x97,0xdb,0x31,0xaf,0xff,0x41,0x59,0xbe,0x5e,0x57,0x7b,0xb4,0x85,0xbd,0xc5, +0xec,0xa3,0xdb,0x0f,0x71,0x71,0x89,0xc5,0xf7,0x3d,0xc8,0x22,0xad,0x39,0xc3,0xe3,0x22,0xa7,0x87,0x2f, +0x9e,0xf2,0xdc,0xa9,0xe2,0x3d,0x23,0xb7,0xa0,0x11,0xb3,0xd7,0x7f,0x7b,0xf3,0xe2,0xb5,0xbe,0xb1,0x75, +0x1c,0xe9,0x3a,0xba,0x55,0x9c,0x85,0x7a,0xa1,0x83,0x1a,0xb1,0xd5,0xfc,0x35,0x49,0x56,0x28,0x4f,0x18, +0x1d,0xc6,0x75,0xcc,0xaf,0x6a,0x59,0xe7,0xd5,0xde,0x53,0xf8,0xdf,0x1e,0x27,0xf7,0xef,0xe2,0x39,0xe0, +0xf6,0x89,0xde,0x7f,0xf1,0xee,0xb5,0x76,0xe8,0x0c,0x0e,0xcb,0xf5,0xa9,0x08,0x1e,0xfd,0x91,0x3a,0xfe, +0xba,0x36,0xfb,0xf5,0xde,0x6b,0x30,0xb2,0x3b,0x1a,0x6d,0x78,0x0a,0xb5,0x77,0xf4,0x05,0x65,0xf3,0xc5, +0xcc,0x13,0x37,0x34,0xda,0x13,0xe9,0x6d,0xb9,0x8a,0xb3,0xd6,0x4b,0x96,0x32,0x75,0xde,0xc6,0xe7,0x79, +0xfd,0x96,0x6e,0x88,0xe5,0xce,0xaf,0x86,0x43,0x45,0x97,0xc3,0xe1,0xb6,0x6e,0x13,0xbb,0xc6,0x99,0xdd, +0xa1,0xee,0x79,0xb8,0x71,0x45,0x87,0x77,0xa7,0x8f,0x0f,0xfe,0x75,0xb2,0x98,0x05,0x72,0x13,0x1f,0xfc, +0x3e,0x0b,0xa6,0x27,0x57,0xff,0x1e,0xfc,0x9f,0x7f,0xba,0xf3,0xe7,0x9f,0xf6,0xef,0x9e,0xf8,0x27,0xc1, +0xc3,0x47,0xea,0xf0,0x64,0x32,0x0e,0x6f,0xb6,0x70,0x18,0x3d,0x39,0xd9,0xcc,0x6e,0x1e,0xa8,0xed,0x9d, +0x23,0x07,0x9c,0x40,0x1c,0xee,0xea,0x32,0x7f,0x4f,0x8a,0xfc,0x4d,0xbc,0x68,0xa1,0xd6,0x20,0x40,0xac, +0xc4,0x46,0xae,0x24,0x34,0xf2,0x30,0xf2,0x46,0x9e,0xce,0xc6,0xcf,0x86,0x44,0x98,0x8a,0xfc,0xef,0xa0, +0x72,0xf2,0xc2,0xce,0x82,0x31,0xf9,0x57,0x9e,0xf1,0x8e,0xaf,0x23,0x55,0x1f,0xfc,0xe5,0xde,0x48,0x1d, +0x7c,0xf5,0x15,0xfe,0x8c,0xe8,0xcf,0x83,0xbf,0xe0,0xcf,0x97,0xf4,0xe7,0xcb,0xbf,0xe2,0x0f,0xde,0xde, +0xc7,0xdb,0xfb,0x78,0x7b,0x0f,0x2f,0xee,0x1d,0xd3,0x9f,0x63,0xbc,0x3d,0xe6,0x6f,0x47,0x6a,0xa4,0xbe, +0x82,0xad,0x05,0xfd,0xa3,0xa7,0x78,0x8d,0x74,0xf7,0x28,0x27,0x7c,0x74,0xff,0x3e,0xfd,0xfb,0xf2,0x81, +0x42,0x2e,0xf7,0xbf,0x1e,0x29,0x64,0x89,0xbc,0x1f,0x50,0xba,0x07,0xf7,0x1e,0x28,0x14,0x86,0x52,0x51, +0xfc,0x57,0x94,0x16,0x75,0x41,0xa5,0xfe,0xf2,0xd5,0x03,0xf5,0x17,0x4a,0xf7,0xd7,0x2f,0x47,0x33,0x1b, +0xe7,0x45,0xdb,0xa4,0x1b,0xd4,0x5d,0x18,0xa5,0xc7,0x51,0xf6,0x28,0x1a,0x4d,0xb2,0xf0,0x20,0x43,0x18, +0xb7,0xbf,0xbd,0x7a,0xef,0x0d,0x7d,0x7e,0xe4,0x0d,0x89,0x58,0x3d,0xf0,0x82,0xa1,0xe9,0x47,0x8b,0xd7, +0x19,0x1f,0xa1,0xc2,0xc4,0x49,0xde,0x0b,0x90,0xc6,0x26,0x88,0xff,0x4c,0xcf,0xef,0xf1,0xf4,0x12,0x4f, +0x5c,0x33,0x85,0xaa,0x95,0x30,0x24,0x3c,0x55,0xb4,0x6c,0x92,0x12,0x3d,0x14,0x98,0x9f,0x47,0x0f,0x8f, +0xf4,0x05,0xde,0x32,0xd2,0x9f,0xc0,0xdb,0x10,0x75,0x23,0x60,0x4d,0x39,0xf4,0xe6,0x76,0x2c,0xf8,0x6c, +0xa3,0x25,0xf0,0x2c,0x2f,0x2e,0xeb,0xa9,0xd4,0x9a,0xd3,0xf1,0x82,0x16,0x2f,0x26,0x1c,0x95,0xa9,0x92, +0x40,0xcc,0xb4,0x7c,0xe3,0x6a,0x09,0x01,0x82,0x23,0x96,0x1d,0x34,0xa7,0x67,0x0d,0xee,0x13,0x2f,0x13, +0xe8,0x42,0x71,0xd6,0x1a,0xd3,0x10,0x1c,0x80,0x7b,0x17,0x80,0x1f,0x60,0x0f,0xfd,0x64,0x81,0xd3,0x14, +0x47,0x1d,0x57,0x4b,0xed,0xa5,0x74,0xe8,0xad,0xcb,0x4a,0x92,0xc4,0x74,0x2a,0xd3,0xd9,0x54,0xed,0x3d, +0x60,0x67,0x3c,0xda,0x0f,0x21,0x51,0xdc,0x3b,0xa6,0xf9,0x44,0x1b,0xe4,0x1c,0xa7,0x56,0x9c,0x2d,0xe8, +0x7e,0x0d,0x3b,0x6d,0xbe,0xa7,0xdd,0x40,0x0c,0x22,0x06,0x5e,0xa0,0x06,0xc7,0x63,0x19,0xab,0xcf,0xb4, +0x0e,0xa6,0xc2,0x7e,0xcb,0x8f,0xb4,0x92,0x80,0x95,0xff,0x6f,0x75,0xdf,0xc2,0xde,0xb6,0x8d,0x2c,0xfa, +0x57,0x64,0x36,0x71,0x44,0x8b,0x92,0x25,0x37,0x49,0x77,0x25,0xd3,0x3a,0x8e,0xf3,0x3c,0xdb,0x3c,0x6a, +0xbb,0xcd,0xed,0x75,0x7d,0x7d,0x28,0x8b,0x96,0xd8,0xc8,0xa4,0x96,0xa4,0xec,0xa4,0x8e,0xef,0x6f,0xbf, +0xf3,0x00,0x40,0x80,0x04,0x25,0xd9,0xe9,0xf6,0xee,0xf6,0xfb,0x52,0x8b,0xc0,0x00,0x18,0x0c,0x5e,0x83, +0xc1,0x3c,0x9a,0xa2,0x0f,0xc5,0xd1,0x0c,0x7b,0x77,0x63,0x1c,0x5d,0x5c,0x84,0xb8,0x87,0x73,0x2b,0xda, +0x4c,0x9f,0x84,0x39,0xb9,0x6d,0x2e,0x64,0xa2,0x85,0xe3,0x24,0xa8,0xf1,0x01,0xde,0xdc,0x78,0x90,0x84, +0xab,0x1f,0x4a,0x21,0xb3,0x59,0x61,0xff,0x0a,0x69,0xbd,0x7e,0xb7,0x2f,0xfc,0x2e,0x6d,0x58,0xca,0x7c, +0xfd,0x6a,0x2b,0xf4,0x40,0xf9,0x4c,0x2a,0xed,0xdb,0x70,0x9f,0x13,0x28,0x15,0x42,0xd4,0x00,0x76,0x6d, +0x60,0x03,0xc6,0xa8,0x9e,0xc9,0x5e,0x21,0x27,0xd7,0xe4,0xd3,0x34,0xfb,0x84,0xa1,0xc5,0x71,0xcf,0x1e, +0xc7,0x98,0x9c,0x9d,0x4f,0x5f,0xc4,0x6c,0xcd,0x4b,0x1f,0x47,0xd7,0x11,0x69,0x47,0xe3,0xef,0x7d,0xe6, +0x5e,0xe9,0xf7,0x6b,0xe0,0x6b,0xf8,0xd7,0xdb,0x28,0xa6,0x78,0xc4,0xf8,0xfb,0xe3,0xf3,0x8c,0x9c,0xa6, +0xce,0x82,0x2f,0xcf,0x80,0xfb,0x91,0xbf,0x3f,0x2c,0x66,0x59,0x28,0x3f,0x70,0x5f,0xc0,0xa6,0xff,0x99, +0xe7,0xaf,0xc8,0xcf,0x96,0xf6,0xfb,0x4d,0x7c,0x85,0x98,0x9c,0xff,0x71,0x88,0x90,0x6f,0xc6,0x9f,0xf9, +0xeb,0xad,0x3c,0x89,0xe0,0x33,0xcf,0xe6,0x9f,0x28,0x57,0xfc,0xd6,0xf3,0x00,0xeb,0xb7,0x09,0xfd,0x52, +0x23,0x0e,0x27,0x0a,0x2f,0xe3,0x61,0xd9,0x74,0x1c,0xfd,0xf2,0x20,0x2b,0x4b,0x16,0x27,0x64,0x6c,0xe2, +0x92,0xcd,0x09,0x3f,0xc2,0xa1,0x93,0xb5,0x40,0x77,0xf1,0x07,0x4b,0x9c,0x41,0xe3,0x53,0xe1,0x0c,0xd8, +0x98,0x04,0x78,0xb8,0x15,0xab,0xeb,0x46,0xc5,0xa0,0x91,0x33,0x51,0xf8,0x4e,0xa3,0xe9,0x67,0x53,0x32, +0x0c,0x61,0xd8,0x85,0x7b,0x55,0x1a,0x79,0x9c,0xb8,0xe4,0x69,0x5f,0x4d,0x30,0x0e,0xb5,0x21,0x5c,0x0e, +0xc7,0x9b,0x9b,0x6a,0x98,0xe9,0xe6,0x84,0x77,0x3b,0x2d,0x45,0x1f,0xba,0x9d,0x27,0x4f,0x5c,0xa9,0xcd, +0x8f,0x4e,0x27,0x60,0x21,0xa3,0xfa,0x96,0x4a,0x49,0x2f,0x46,0xf8,0xc4,0xec,0xe5,0x45,0x87,0x52,0x7c, +0x4c,0x97,0x2e,0x0f,0x74,0xb1,0x8f,0x33,0xd0,0x82,0xe3,0x06,0xd2,0x3d,0x14,0x1e,0x0a,0xc1,0xe8,0x1c, +0x6e,0x2e,0x93,0x69,0xf4,0xfb,0xa7,0xd9,0x65,0x9c,0xcc,0xff,0x09,0x1b,0xc8,0xe2,0xea,0xfa,0xf3,0x97, +0x3f,0xc8,0x3b,0x93,0x2a,0xb4,0xaf,0x17,0xda,0x7f,0x76,0xf0,0xfc,0xc5,0xcb,0x57,0xaf,0xdf,0xfc,0xf7, +0x3f,0x7e,0x7c,0xfb,0xee,0xfd,0x87,0x9f,0x0e,0x8f,0x8e,0x7f,0xfe,0xe5,0xe3,0xff,0xfa,0xf5,0x7f,0x9b, +0x85,0xbe,0xd3,0x0b,0x01,0x2f,0x09,0x5b,0xfc,0xd3,0x1f,0xfe,0xf6,0x77,0x13,0xe8,0xbf,0xaa,0x35,0x9b, +0x00,0x1b,0x3a,0xc0,0xff,0xfd,0x1f,0x79,0x5e,0x36,0xdd,0xb3,0x56,0x1b,0x86,0xec,0xe4,0xb4,0xff,0x9b, +0x33,0x78,0xb4,0xbb,0x37,0xf4,0x3a,0xdb,0x5f,0x7f,0xfb,0xcd,0x29,0x22,0x7e,0x05,0x78,0x0c,0x26,0x7e, +0x38,0x48,0xf6,0xba,0x83,0x76,0x3b,0x71,0x83,0x96,0x1f,0x9f,0xd0,0x3d,0x9f,0x82,0x03,0x37,0xf9,0x27, +0x51,0xad,0xe9,0x6e,0x35,0xa5,0x62,0x68,0xbb,0xe7,0xba,0x85,0x1b,0x47,0x7d,0xc2,0xc4,0xc8,0x58,0x86, +0xfb,0x1f,0xde,0xfc,0x23,0xfc,0xa2,0xa6,0x80,0x41,0xf6,0xde,0x53,0xcf,0xf9,0xaf,0xef,0x0a,0xc1,0x47, +0x79,0x4f,0x9b,0x47,0x50,0x54,0x31,0x22,0x21,0xee,0x4b,0xc6,0x8c,0xfc,0xef,0x4c,0x28,0x7e,0x14,0x0a, +0x8d,0xc5,0xd5,0x14,0x4f,0x7e,0xa5,0xc9,0x58,0x78,0xac,0xd4,0xef,0x00,0xe3,0x7d,0xed,0x8a,0x7f,0x1d, +0x8e,0xb2,0xe4,0xfc,0x13,0xab,0x38,0x51,0x35,0xcc,0x32,0x45,0x17,0x5f,0xd8,0xda,0x9b,0xa2,0x7d,0xc9, +0x27,0x38,0xd7,0xac,0xe8,0x80,0xee,0x55,0x88,0xcb,0xd2,0x6a,0xf8,0xfa,0xd5,0x0f,0x8d,0xf2,0xe4,0xc0, +0xe2,0x7d,0x0a,0xec,0x2e,0xb0,0xbe,0xc8,0x4a,0x94,0x17,0x54,0x75,0x39,0x99,0x0b,0x29,0x11,0x65,0x1d, +0xef,0x81,0xe1,0xde,0x12,0x15,0x5b,0x16,0x97,0x87,0x74,0x4b,0xf3,0xe9,0x17,0xb4,0x1f,0x43,0x8d,0xfc, +0x41,0xaf,0xa5,0xdd,0x02,0x8f,0x71,0xc2,0x69,0xd8,0x0b,0xbb,0x6a,0xd8,0x35,0x89,0x9b,0x8a,0xd7,0x60, +0xbe,0x5f,0x61,0x80,0x12,0xc5,0x09,0x84,0xc8,0x06,0xb8,0x25,0x36,0xef,0x65,0x94,0x5e,0x5e,0xc3,0x21, +0xa3,0xaf,0x33,0x64,0x5b,0x5f,0xc2,0x42,0x3d,0x24,0x4d,0xb8,0x41,0x2c,0x54,0xe0,0x30,0x2e,0xa8,0x2e, +0xaf,0x28,0x40,0x3a,0xcf,0xdf,0xbf,0x7b,0xc1,0x4a,0x3c,0xe4,0x64,0xc6,0x50,0x66,0xcb,0x9b,0x3b,0xdf, +0x7f,0x6f,0x66,0xa2,0xef,0xa6,0x0e,0x9e,0xb1,0x68,0xb7,0xb7,0x9f,0x37,0x11,0xad,0x01,0xcf,0xf4,0xe2, +0x41,0x97,0xc2,0xb6,0x60,0x45,0xfb,0xd9,0x33,0xd2,0xe5,0x13,0x33,0x33,0x70,0x75,0xba,0xfc,0x3c,0x9f, +0xc0,0xd1,0x15,0x6a,0xfb,0x98,0x31,0x4f,0x17,0x9c,0x8d,0x13,0x15,0x95,0xcb,0x71,0xfb,0xd1,0xde,0x60, +0xac,0x51,0x27,0x86,0xf2,0x10,0x7e,0x89,0x5c,0x48,0xc1,0x41,0xe4,0x89,0x74,0x5e,0x14,0xf0,0x5d,0xfe, +0x22,0x4d,0x2e,0xf9,0x86,0x8d,0x66,0x21,0x28,0xd5,0xeb,0xf0,0xf9,0x8c,0x7a,0x52,0xd1,0x1f,0xe1,0xde, +0x45,0x1a,0x86,0x67,0xf8,0x4b,0x55,0xf9,0x06,0xdd,0xa2,0x20,0xd7,0x91,0x27,0x49,0x63,0x86,0xe4,0xc0, +0x6a,0x2f,0x22,0x3a,0x24,0x72,0x60,0x5c,0x82,0xab,0x20,0x9a,0xe1,0x01,0xd8,0x20,0xff,0x71,0x68,0x9c, +0xd8,0x78,0x7f,0xbc,0xdf,0x69,0xc0,0x2c,0x86,0x03,0x14,0xee,0x69,0xe3,0x04,0xef,0x39,0x41,0x23,0xbf, +0x4e,0xda,0x18,0x0c,0x51,0x88,0x26,0x64,0xd3,0xcd,0xf2,0xa8,0xea,0xa2,0x17,0x72,0x46,0x63,0x3c,0x71, +0x69,0x3c,0x93,0x29,0x9f,0xc8,0xc2,0xf0,0x12,0x71,0x1b,0x15,0x02,0x8a,0x0b,0x51,0x69,0x83,0x9c,0xbb, +0x40,0x83,0x03,0x6d,0xba,0x00,0x7b,0x87,0x87,0xd0,0x20,0x96,0x2c,0xa3,0x23,0x48,0x0f,0x67,0x0e,0x46, +0xb2,0x44,0x3f,0x1c,0xde,0x03,0xed,0x41,0x1d,0x16,0x23,0x1a,0xf6,0xb5,0x0a,0x38,0x36,0x6b,0xa0,0x87, +0x78,0x69,0x3e,0x21,0x8c,0x19,0x7a,0x86,0x37,0x05,0xf8,0x34,0x9c,0x2e,0xf4,0x94,0x95,0x85,0x29,0x18, +0x84,0xa9,0xf0,0x9d,0xa8,0xbc,0x0d,0x05,0x26,0x78,0x6d,0xc6,0xdb,0x4f,0x84,0xd3,0xc5,0xc3,0x6b,0x24, +0xbd,0xef,0x69,0xc3,0xad,0x75,0x0f,0xc8,0x4a,0x73,0x1e,0x98,0x44,0x96,0x9f,0xb0,0x44,0x05,0x1f,0x1b, +0x1b,0xc7,0xb0,0x90,0x49,0x72,0xd1,0xb8,0x8e,0x66,0x33,0x24,0x51,0x1a,0xc2,0x58,0x67,0x53,0xe4,0x2f, +0x63,0x60,0x1f,0x33,0x5c,0xcd,0xe3,0x8c,0x9c,0x15,0xca,0x95,0xfb,0x24,0xfc,0x1e,0x0f,0x75,0x45,0x6f, +0x68,0x08,0x95,0x84,0x82,0x98,0x15,0xe6,0x1a,0xb0,0x51,0xe2,0xc0,0x02,0xc9,0xb9,0x65,0x9a,0x0e,0x48, +0x5a,0x42,0x47,0xc9,0x4d,0x00,0xac,0x11,0x4c,0x02,0x68,0xa6,0x49,0xbe,0x83,0xdd,0x0e,0x9a,0xd0,0x7c, +0x9e,0x1a,0x41,0x78,0x6b,0x7a,0xce,0xc1,0xf5,0x06,0x62,0xa1,0xd8,0x34,0xc4,0x95,0x6c,0x8e,0x71,0x40, +0x79,0x1c,0xff,0xaa,0x7a,0x72,0x72,0x54,0xc5,0x86,0xd6,0xa1,0x8c,0x4a,0x79,0x40,0x4b,0x22,0x20,0x2f, +0x81,0x0f,0x34,0x60,0xb1,0x31,0xde,0x48,0x97,0x27,0x82,0xc8,0x97,0xc1,0xe7,0x3e,0xde,0x8c,0xf3,0x60, +0x86,0xea,0xad,0xa4,0x05,0xc9,0x22,0x63,0x83,0xdf,0xc5,0xf5,0x8e,0xb3,0x5d,0x71,0xff,0xda,0xb2,0xff, +0x0e,0x55,0x80,0x64,0x46,0x71,0x70,0x95,0x2e,0x20,0x9b,0x9b,0xda,0x99,0x50,0x70,0x4e,0xe6,0xf9,0x45, +0x6b,0x48,0x08,0xbe,0xf8,0x62,0x0f,0xbb,0x32,0x7f,0x8f,0xf7,0xba,0xb2,0x4d,0xb1,0xe5,0xd2,0xc1,0x01, +0x75,0x3b,0x47,0xc9,0x65,0xa8,0xe4,0x61,0xb4,0x65,0xe0,0x42,0x1a,0x85,0x61,0xcc,0xc2,0xb3,0xc6,0x97, +0x30,0xf7,0x50,0xd6,0x86,0x5b,0xca,0x75,0x10,0xe7,0xb4,0xa5,0xd0,0xd6,0x32,0x85,0xc5,0x46,0x97,0x9e, +0x21,0x20,0x8e,0x12,0x59,0xd1,0xcf,0xa6,0x7e,0x95,0x1a,0x27,0xfa,0x99,0x88,0x46,0x5a,0x06,0x9a,0x9e, +0xba,0x2b,0x96,0x10,0xe3,0x10,0x2a,0x1b,0xe4,0x52,0xda,0x55,0xa7,0xad,0xd4,0xac,0x29,0x8e,0xda,0xdc, +0xbb,0xb9,0x2d,0x4d,0x58,0x83,0x2a,0x98,0x83,0x6b,0xa0,0x60,0x34,0xad,0xfb,0xe7,0xd7,0xaf,0xd4,0x54, +0xc8,0xf6,0xe7,0xce,0x3e,0x4c,0x74,0xec,0x30,0x4a,0xac,0x8c,0x9e,0x0b,0x11,0x25,0x4e,0xf3,0x71,0x78, +0x05,0x7b,0xfe,0x50,0x5e,0xec,0x8b,0x9e,0xe6,0xc8,0xb5,0x23,0x98,0xe3,0x9a,0x78,0x88,0xd3,0xf2,0x4f, +0x42,0x65,0x1c,0x65,0xa2,0x42,0xde,0xd4,0x11,0xa7,0x73,0x16,0xad,0x35,0x3e,0xbe,0x79,0xf9,0x06,0xd6, +0x21,0x6c,0xb7,0xe9,0xa7,0x3a,0x0c,0x45,0x61,0xc7,0x32,0x53,0x2b,0x33,0xf4,0x28,0xb8,0x0a,0x97,0xcc, +0xce,0x66,0xcd,0xf4,0x84,0xe2,0x9d,0xf9,0x75,0xfa,0xe2,0xf3,0x9c,0xc5,0xac,0xcc,0x48,0x74,0x29,0x43, +0x3f,0xf0,0x00,0xe6,0x10,0x99,0x96,0x03,0xa8,0x78,0xc4,0xb2,0x64,0xe2,0xd2,0x48,0x91,0xd7,0x91,0xf7, +0x37,0x5c,0x55,0x9d,0x68,0x3e,0x4d,0xe2,0xf0,0x88,0xde,0x6d,0x1c,0xb1,0x83,0x39,0xc4,0x97,0x88,0xa9, +0xee,0x77,0x3d,0x3b,0xb3,0x41,0x3d,0x1a,0x28,0x06,0x66,0xaf,0x3b,0x6c,0x56,0x97,0xc3,0xaf,0xda,0xc1, +0xa9,0x8d,0x35,0xef,0xa6,0x78,0xae,0x11,0x95,0xc5,0x72,0x01,0x98,0x3c,0xf8,0x04,0xd7,0x74,0xb8,0xe9, +0x9e,0x57,0x57,0x09,0x7c,0xc2,0x19,0x19,0x27,0xd7,0x43,0x8c,0xb9,0x85,0xeb,0x43,0x4c,0x45,0xf4,0x4c, +0xda,0xd7,0xf9,0xa7,0x75,0x70,0x91,0x63,0x8d,0x8d,0x02,0x0e,0x1f,0xa3,0x97,0xd1,0x9f,0x81,0x90,0x9c, +0x93,0x05,0x4e,0xb8,0x8e,0xc8,0x52,0x73,0x15,0x46,0x6a,0xc3,0xa7,0x53,0x85,0x38,0x0d,0xda,0x15,0x1a, +0xe8,0xbd,0x0f,0x98,0x10,0x81,0xd5,0x5a,0x68,0xd0,0xe2,0xc5,0xf8,0x55,0x65,0xe6,0xf5,0xd6,0xeb,0xe1, +0x19,0x54,0x5a,0xd3,0xcf,0xe8,0xa1,0xa1,0x78,0xdb,0x51,0xef,0x90,0x85,0xfb,0xb8,0x67,0x70,0x17,0x6e, +0x3a,0xe8,0x95,0x8f,0x76,0x6b,0xf4,0x1b,0x97,0xa5,0xe7,0xbe,0x3a,0xc1,0x99,0x75,0x76,0x8c,0x8a,0x93, +0x18,0xd9,0xc3,0x9f,0xe7,0x92,0x6b,0xe5,0x55,0x4a,0x8f,0x62,0xc4,0x84,0x51,0xec,0x00,0xcb,0x9a,0xcd, +0xbf,0x7e,0xed,0xd2,0x23,0xa7,0xa1,0x8f,0xa3,0x44,0x2b,0xa8,0xf9,0x3d,0xd0,0x9c,0xa7,0xc3,0x95,0x90, +0xf9,0xc6,0x32,0x7d,0xd1,0xd1,0x69,0x94,0x2c,0x32,0xa0,0x24,0x9f,0x70,0xea,0xac,0x46,0xab,0x9e,0xeb, +0x34,0xca,0xe1,0x18,0xeb,0x34,0x96,0xec,0x4e,0xe8,0xe1,0x8a,0x63,0x0b,0xa9,0x3a,0x86,0x8e,0x08,0x7f, +0x61,0xa2,0x95,0x94,0x39,0x66,0xa9,0xe1,0x23,0x6d,0x47,0x6c,0xf6,0x77,0xe2,0x86,0x64,0x32,0xc5,0xee, +0x20,0x1f,0x6a,0x3b,0xb2,0x23,0xb0,0xc0,0x98,0x05,0x82,0x75,0xd0,0x9e,0x95,0x60,0x40,0x13,0xc1,0x20, +0xa3,0x62,0x1f,0xc6,0xc8,0x28,0x6f,0xd7,0x54,0x5a,0x8d,0x6d,0xf1,0x04,0xa8,0x5e,0xc0,0x05,0xd9,0x0a, +0xdc,0x87,0x65,0x8e,0x10,0x2e,0x89,0x8d,0x28,0x8b,0x1f,0xa1,0xcf,0xce,0x39,0x5a,0x1b,0xc0,0x41,0x96, +0xf0,0xc3,0x69,0x63,0x84,0xd6,0xa4,0xc0,0x93,0xc2,0xc1,0x86,0xee,0xa0,0x99,0xed,0x50,0x73,0x84,0x9c, +0x87,0x36,0xcb,0x48,0xf1,0x3b,0xc3,0x17,0xda,0xa4,0x9a,0x75,0x47,0xe9,0xea,0x61,0x01,0xae,0x99,0x2b, +0x32,0x06,0xa7,0x1c,0x60,0x75,0x9d,0x8b,0xa3,0x23,0x2a,0x3a,0xa3,0xf5,0x42,0xf1,0x00,0xca,0x67,0xa0, +0xb1,0xaf,0x73,0xac,0x4c,0xfd,0xbe,0x54,0xdc,0xb0,0xc4,0xad,0x8f,0x15,0xe3,0xf1,0xba,0x35,0xa8,0x1e, +0xb3,0x2c,0x87,0x72,0xbc,0x9b,0x68,0x8c,0x06,0xc2,0x64,0xf5,0xd4,0xcf,0x51,0x0a,0x77,0x5b,0xa6,0xd5, +0xd1,0x79,0xa0,0xbd,0xba,0x22,0x79,0x33,0x48,0x39,0xa4,0xa9,0x22,0xe5,0xf8,0xa8,0x27,0x0c,0x39,0xe3, +0xe8,0xaa,0x83,0x99,0xc4,0x50,0xa1,0x7e,0x9c,0x64,0xf7,0x3c,0xbd,0x69,0x84,0x70,0xe8,0x98,0x37,0x1b, +0x7a,0xbd,0x2f,0x8e,0x1c,0xa3,0xb1,0x69,0xc0,0xa9,0x7a,0x53,0x7a,0x6d,0xd3,0x40,0xae,0xfc,0x72,0x8d, +0x1c,0x63,0xe4,0x6d,0x18,0x2f,0x04,0x37,0x0a,0x3d,0x26,0x33,0x74,0x23,0xfa,0x88,0xc3,0x0f,0x51,0xdc, +0x81,0xef,0xc8,0xdb,0xeb,0x2a,0x80,0x1f,0xa3,0xf8,0x53,0x1d,0x90,0x76,0xed,0x87,0x9e,0x7f,0x08,0xe2, +0x70,0xc6,0xad,0x77,0xe6,0xf8,0xbb,0x60,0xfd,0xb1,0x32,0xa7,0x65,0x5e,0xd4,0x79,0xc8,0x14,0xd1,0x0c, +0x9c,0x55,0x94,0x12,0xd5,0x14,0xdc,0x6a,0xb5,0x1e,0x16,0x67,0x30,0xd9,0xe9,0x3c,0x92,0x22,0x58,0x3a, +0x78,0x8d,0x53,0xf6,0x3c,0x98,0x9d,0x93,0x47,0xd6,0xe7,0x70,0xa8,0x92,0xcf,0xbc,0xac,0x0c,0xa2,0x0e, +0x62,0x8d,0x1d,0x25,0xe5,0x6c,0x12,0x3b,0x22,0xfb,0x6d,0x4a,0x56,0xb9,0x33,0xb0,0x0b,0x37,0xf6,0x80, +0x8f,0xb9,0x52,0x3e,0x3d,0x69,0xa3,0x6a,0x06,0xc0,0xae,0x0a,0xed,0x14,0x01,0x19,0x03,0x64,0x67,0x0e, +0xeb,0xaa,0x3d,0xa1,0x3b,0xb1,0x92,0x32,0xa5,0xda,0x7b,0x43,0x04,0xc0,0x89,0xb4,0xce,0xa6,0x37,0x02, +0xb8,0x94,0x02,0x09,0xbd,0x48,0x4e,0x05,0x16,0xef,0x35,0xa0,0xc2,0xb4,0xe8,0x3f,0xe5,0x0b,0xd9,0xb1, +0x8c,0x21,0xe6,0x3d,0xee,0x02,0x08,0x4b,0x89,0x4e,0x52,0x8c,0x2e,0x2c,0x6e,0x88,0xc7,0x09,0x63,0x8e, +0x6a,0x6b,0xa5,0xae,0x2a,0xa9,0xea,0x5f,0xd6,0x5d,0x44,0xcd,0xcb,0xea,0x7a,0x9d,0x89,0x5e,0x9b,0x6f, +0xb5,0x1c,0xa0,0x03,0xc3,0xb1,0x40,0x3b,0x6a,0x0f,0x88,0x58,0xe2,0x47,0xb2,0x16,0xb9,0x30,0xa7,0x11, +0xbe,0xd1,0xca,0x5a,0x22,0x79,0x1b,0x56,0x54,0xcb,0x96,0x51,0x0d,0x2a,0x1c,0x7f,0x86,0x85,0xb7,0x8c, +0x6c,0xe3,0x70,0xf6,0x8e,0x59,0xd4,0x8a,0x40,0x97,0x5f,0x7f,0x33,0x5c,0x05,0x82,0x0a,0x83,0x07,0x85, +0xad,0x48,0x53,0x9b,0x66,0x97,0xb0,0xb1,0xde,0xa9,0x16,0xa7,0x73,0x49,0x87,0x53,0x28,0x17,0xa4,0x5e, +0x1b,0x5c,0x18,0xab,0x95,0x39,0xdf,0x09,0x4e,0x3a,0xb3,0x0c,0x5f,0xb8,0xe7,0xc3,0x35,0x50,0x14,0xca, +0x4a,0xaf,0x3a,0x6f,0x83,0xcf,0xe2,0xa9,0x05,0x9f,0x7d,0x55,0x2d,0x29,0x8a,0xdf,0xc8,0xc0,0x86,0xfc, +0xe8,0xf2,0xe1,0xba,0xd3,0xed,0xb6,0x7a,0xdd,0xad,0xd0,0x8b,0xf5,0x26,0xf1,0x3d,0x1d,0x97,0x1e,0x9e, +0x4c,0x68,0xa0,0x00,0x1d,0x22,0x1d,0xe8,0x07,0x18,0x5e,0x43,0x8e,0xb9,0xda,0xfd,0x02,0xa1,0x7f,0x2f, +0xa3,0x5f,0xae,0x90,0xf3,0x15,0x03,0x87,0x7a,0x2c,0xad,0xd6,0x2d,0x0e,0xaf,0xaa,0xa3,0xc3,0x5e,0x71, +0xdb,0x30,0x4c,0x6d,0x81,0x8d,0xc3,0x16,0x73,0x74,0x46,0x62,0xac,0x58,0x39,0x7e,0xd6,0x72,0x48,0x66, +0x7b,0x41,0x6d,0xcc,0xd0,0x78,0x41,0x9b,0x22,0x92,0x44,0x68,0xd4,0x60,0x4c,0x94,0x23,0x24,0xd8,0x62, +0x16,0x7e,0xe3,0x4c,0xb9,0x5b,0x35,0xb4,0x0c,0x96,0xcf,0x16,0x4b,0x85,0x78,0xde,0x71,0x62,0xfd,0x7c, +0x91,0xc5,0x96,0x4f,0x98,0xa2,0x9e,0x75,0x66,0x8c,0x84,0xfe,0x37,0x99,0x32,0x12,0x9d,0xca,0x9c,0x91, +0x7d,0xaf,0x9f,0x34,0xf6,0xa2,0xfa,0xf8,0x95,0xa6,0x8d,0x22,0x94,0x39,0x6f,0x50,0x87,0x8a,0x0e,0xa0, +0xcc,0x78,0xc4,0xfd,0x8e,0x78,0x19,0xdb,0xe0,0x6c,0x34,0x73,0xdc,0x8b,0x8b,0x97,0x7c,0x05,0x2d,0x89, +0x6a,0x6c,0xcb,0xe2,0x95,0x5f,0x4a,0x8f,0xe8,0xb1,0x5f,0xed,0xe3,0xb1,0xb1,0x27,0x77,0xf0,0x1d,0x31, +0x91,0x5a,0x0c,0xfa,0x36,0x9a,0x18,0x87,0xb9,0x17,0x60,0x8c,0x79,0xad,0x6b,0x8c,0x2b,0x33,0x13,0xfd, +0x22,0x20,0x74,0x62,0x1e,0xc0,0x37,0x49,0xcc,0xd7,0xdf,0xbe,0x64,0xf5,0x3c,0x76,0x8e,0x8f,0x56,0xd5, +0x41,0x84,0xae,0x40,0x36,0xba,0x22,0x89,0x1d,0xf5,0x93,0x07,0x51,0xbe,0x58,0xff,0x88,0xe7,0x45,0xdf, +0x79,0xff,0xce,0xf1,0x80,0x72,0x66,0xda,0xcb,0x97,0xce,0x2d,0x6b,0x64,0x90,0x14,0xb9,0x13,0x65,0xcc, +0x08,0xde,0xe9,0x91,0x3d,0x10,0x8f,0xec,0xda,0xf9,0x1b,0x18,0xef,0xed,0x6a,0xa0,0x8a,0x67,0x8f,0xd2, +0x68,0x71,0x46,0xfd,0x90,0xdd,0x94,0xc6,0x8b,0xe1,0xad,0x4b,0xa1,0x78,0xa1,0xd2,0x0e,0x53,0xb4,0x66, +0x0c,0x50,0xb1,0xbf,0x3c,0x70,0xa8,0x89,0xd2,0x99,0xcc,0x31,0xbc,0x4f,0x2a,0x86,0x2f,0xa1,0x6f,0xa5, +0xa7,0x42,0x43,0x9b,0x1a,0x43,0x6b,0xe8,0x26,0xa8,0xa7,0x5d,0x7c,0x49,0x17,0xc7,0x63,0x82,0xc1,0x77, +0xf3,0x1a,0x58,0x7a,0xfa,0x35,0x80,0xe7,0x98,0x52,0x91,0x9a,0xa8,0xa7,0xe1,0x2a,0xec,0xd9,0x65,0x56, +0x01,0x57,0x2f,0xc6,0x06,0x38,0xc5,0x6d,0xaa,0x22,0xa2,0x3f,0x2f,0x57,0xe1,0xcf,0xa2,0xf8,0x0a,0xcd, +0xf9,0xca,0xf3,0x54,0x72,0xde,0xb7,0xa5,0xb1,0x55,0xac,0x51,0x69,0x21,0x2a,0xd6,0x64,0xc9,0x62,0xd4, +0x46,0xb6,0xe0,0x64,0xbe,0x7d,0x5c,0x05,0x93,0x94,0x5a,0x99,0xa4,0xc4,0xca,0x24,0x25,0xb5,0x4c,0x52, +0x31,0x33,0xa0,0x2b,0xa4,0xc8,0x09,0x3d,0xd7,0x17,0x79,0x5a,0x59,0xe4,0x06,0xf1,0x0a,0x3a,0x54,0x69, +0x77,0x90,0xcc,0x92,0xf4,0xf0,0xd5,0x33,0xe3,0x84,0x39,0xc7,0x44,0x3b,0xd1,0x42,0x45,0xb4,0xbc,0x00, +0x85,0xf2,0xf6,0x63,0x01,0x09,0x9b,0x17,0x84,0x89,0x75,0xac,0xb8,0x11,0xa7,0x32,0x91,0x28,0x9d,0xae, +0x09,0xd7,0xd3,0x30,0x9c,0x11,0x82,0x1f,0x60,0x8b,0x0e,0xd3,0xe6,0x4d,0x36,0x8b,0xc8,0x51,0xa7,0x73, +0x9d,0x4e,0x46,0x73,0x47,0x98,0xd8,0x73,0xea,0x42,0x37,0x17,0x2f,0x1f,0xc0,0x95,0xaa,0x1c,0xf9,0x8a, +0x8f,0x71,0xb5,0x50,0x06,0x3f,0xd0,0x6f,0x71,0x84,0x03,0x5c,0xe1,0xa0,0x95,0x3e,0x85,0xa5,0xa2,0xcb, +0xcf,0x28,0x45,0x2d,0xfe,0x98,0x45,0xf6,0x04,0x36,0x65,0x55,0xbb,0xda,0x66,0x45,0x00,0xad,0x15,0x7c, +0x40,0x46,0x21,0x69,0x73,0x31,0xca,0xa1,0x79,0xa1,0x94,0xa8,0x14,0x8d,0x33,0x46,0xb6,0x71,0x7c,0x7d, +0xf4,0xcb,0x37,0x8d,0x23,0x94,0xff,0xab,0xc7,0x71,0x9a,0x5d,0x7d,0xf3,0x38,0xd2,0x37,0x2a,0x16,0x14, +0x52,0x87,0xef,0x9f,0x02,0xe7,0xd2,0x99,0xe2,0x62,0x6a,0xc1,0x08,0x17,0xab,0xac,0xd7,0xc5,0x8c,0xac, +0x2e,0xe3,0x8a,0x04,0x14,0x36,0xfa,0x03,0xa2,0xf8,0x90,0x5e,0x25,0x3c,0xcc,0x01,0xb8,0x49,0x97,0xb6, +0x9e,0x73,0x91,0x5a,0xa2,0xfd,0x5e,0x97,0x83,0x5f,0xe8,0xdb,0x8e,0x75,0x90,0xf6,0xd0,0x35,0x75,0x38, +0x40,0x4f,0x17,0xf0,0xf7,0xe1,0xf7,0x1e,0xdc,0xe2,0x36,0x17,0x59,0xf8,0x71,0x1a,0xe1,0xfb,0x71,0xd0, +0x6e,0x17,0x1b,0x12,0x6c,0x42,0xed,0xc0,0x33,0x5c,0x26,0xd9,0xf4,0x57,0x84,0x00,0x26,0x2f,0x4d,0xce, +0x78,0xad,0xc9,0x19,0x17,0xfa,0x93,0x06,0x71,0xb8,0x9b,0x2c,0xb8,0x91,0x8e,0xf8,0x91,0x4a,0x5e,0xa4, +0x93,0xc1,0x3e,0xa9,0x32,0x60,0x6f,0xb2,0xdd,0x60,0x90,0x49,0xbe,0x66,0xec,0x27,0xad,0xcc,0x9b,0x41, +0xc9,0xa8,0x7a,0x48,0xf2,0xe4,0x70,0xbc,0x99,0xb9,0xd7,0x8d,0x8b,0x79,0x57,0x0f,0x62,0x2c,0x56,0xbe, +0x9b,0x8b,0x0d,0x7a,0x26,0xef,0xee,0x62,0x18,0x1b,0x4e,0xab,0x39,0x6e,0xf5,0x30,0x76,0x9a,0x31,0xc7, +0xc5,0x70,0x9a,0xfb,0x67,0x7a,0x31,0xfa,0x31,0x0c,0xd2,0x2a,0xc1,0xab,0x94,0xf4,0x0a,0xfd,0x3e,0xe4, +0xf6,0x8d,0x19,0x06,0xd5,0xa0,0x7b,0xf2,0x98,0xa9,0x98,0x6b,0xb8,0xb7,0x23,0xe4,0xc9,0xa5,0x38,0x4c, +0xcf,0xe0,0x34,0xf4,0x7c,0x62,0xa0,0xf3,0x32,0x49,0x27,0x9a,0x08,0xf1,0xde,0xf8,0x5c,0x50,0x3d,0x7f, +0x02,0x42,0x68,0xfa,0xfc,0xed,0xe8,0x64,0xe4,0x03,0xf2,0xee,0xc8,0x08,0xf5,0x17,0x9e,0xe9,0xb7,0xe6, +0xd5,0xea,0xf0,0x62,0x84,0xe6,0xf8,0xc6,0x7e,0x99,0x72,0x1a,0x2e,0xc6,0x59,0x38,0xc1,0x46,0xe5,0x7a, +0xf4,0x72,0x1d,0x60,0x9d,0x4d,0x12,0xd6,0xaf,0x0a,0x3d,0xdb,0xa8,0xac,0x23,0x62,0xb7,0xe2,0xbb,0x5d, +0x8e,0x64,0x9f,0x3d,0x2a,0x5c,0xc9,0x11,0x9d,0xf6,0x02,0x14,0x9b,0x52,0xf3,0xc1,0xad,0xd1,0x8a,0xbc, +0x04,0x41,0x27,0xda,0x3c,0xe1,0x8c,0x0b,0x90,0x9c,0xcd,0xb5,0x65,0xc4,0xa4,0x28,0x17,0xe2,0x39,0x57, +0x5b,0x2a,0x63,0x32,0x9a,0x65,0x70,0x5a,0x00,0xc1,0x0c,0x0e,0x4f,0xd0,0x1e,0x2f,0xa1,0xc5,0x40,0x69, +0x4a,0x0d,0xc2,0x3a,0x19,0x1d,0xb3,0x9c,0x91,0x2e,0x5e,0xc1,0x86,0xa1,0x06,0xb9,0x4c,0x1e,0x10,0xc0, +0x15,0x9c,0x2e,0x28,0xd4,0x47,0x18,0x36,0xc4,0x6e,0x51,0x60,0xe1,0x8e,0x96,0x59,0x52,0x05,0xcf,0xa3, +0x7c,0x16,0xea,0x8a,0xe2,0x0e,0xbe,0xe4,0xa8,0x96,0xa8,0x96,0xb0,0x23,0xd3,0xa0,0xba,0x36,0x87,0x02, +0x52,0x8f,0x43,0x54,0x81,0x9f,0xdf,0xb2,0x2b,0xcb,0xce,0xa7,0x90,0x2e,0x86,0x1d,0x20,0xdb,0x8b,0xb2, +0x91,0x34,0xfb,0x88,0x0b,0x48,0x83,0x99,0x5e,0x7d,0xae,0xc3,0x11,0xe9,0x49,0xe2,0x33,0x0f,0xda,0x79, +0x8b,0x27,0x7b,0x0a,0xef,0x1d,0x98,0x92,0x57,0x21,0x28,0xd8,0x28,0x5c,0xbd,0x61,0xf6,0x5c,0x3d,0xf2, +0x4b,0x00,0x95,0x0f,0x3d,0x09,0xa4,0x95,0x93,0x6f,0xa8,0xba,0x90,0xdc,0x3d,0x09,0xc6,0xec,0x6c,0x88, +0x81,0xb4,0x07,0x33,0x7a,0x1a,0x23,0xf4,0x60,0x70,0x0e,0x92,0x45,0x4c,0xfe,0xc7,0x72,0x57,0xa4,0xa4, +0xc1,0xf5,0x2f,0xec,0x11,0x50,0xa0,0x5d,0xbe,0x40,0xb0,0x16,0x23,0xeb,0x4c,0xd3,0x3c,0xbd,0x0c,0x3e, +0xf3,0x72,0x72,0xbc,0x5e,0xef,0x29,0xe0,0x05,0x20,0x5c,0x25,0x8d,0x2c,0x70,0x5b,0x06,0x8a,0x26,0x7f, +0xca,0x96,0xa5,0xeb,0x33,0x19,0x18,0x7a,0x58,0x70,0x78,0x01,0x5a,0x02,0x53,0x47,0xe0,0x14,0xe7,0x26, +0x6e,0x4c,0xa6,0x49,0xbc,0x59,0x05,0x32,0xb2,0x9a,0x47,0x9e,0x46,0x0a,0xa5,0xd1,0xb4,0x33,0xf5,0x13, +0xb8,0x93,0x6f,0xa3,0x1a,0x7b,0xda,0xc9,0xe0,0xa3,0x77,0xba,0x0d,0x3c,0x03,0x7c,0x5c,0xc1,0xc7,0x0e, +0x7f,0xdc,0x03,0x45,0x66,0x5e,0xd0,0xcc,0x0e,0xf1,0xd3,0x58,0x4c,0x9d,0x12,0x15,0xee,0x13,0x77,0xb4, +0xa0,0x20,0x09,0x9d,0x90,0x06,0x80,0xb8,0x2e,0x52,0xa7,0xd5,0xe9,0xa5,0x46,0x4f,0x72,0x12,0x72,0xbe, +0xc9,0x6f,0x1f,0xea,0x74,0xb4,0xeb,0x42,0x31,0x36,0x9a,0x14,0xb2,0x3a,0x8d,0xb4,0xcc,0x82,0x05,0x0b, +0xe8,0x26,0xc3,0xb3,0x3b,0xba,0x88,0xb4,0xba,0xb4,0x07,0x1b,0x35,0x71,0x2c,0x6f,0x35,0x52,0x29,0x49, +0x17,0x68,0x59,0xdb,0x56,0xb9,0xd6,0xc6,0x95,0xb8,0xa7,0x98,0xbb,0x78,0x99,0x3c,0xe2,0xed,0x52,0x9b, +0x7d,0xda,0x15,0xb3,0xdc,0x4a,0x45,0x84,0x20,0x28,0x2b,0xf5,0xa2,0xab,0x78,0x55,0x1e,0x28,0x02,0x4f, +0x83,0x2e,0x7e,0x17,0x47,0x89,0xac,0xb0,0xb8,0xcd,0xd6,0x55,0x6a,0x3e,0x05,0x04,0x5e,0xa9,0x94,0xf9, +0x5d,0x6a,0x40,0x29,0x6b,0xaf,0x87,0xb2,0x06,0xae,0x7d,0x58,0xea,0xbc,0x07,0xd6,0xa5,0x62,0xa5,0x84, +0x52,0x1b,0xe2,0x8d,0xb7,0x5a,0xb9,0x78,0x26,0x2d,0xbd,0x04,0xa3,0x63,0x48,0x7e,0xc5,0xd0,0xb4,0x8d, +0xe5,0x6e,0x45,0x35,0x46,0xa8,0x84,0x10,0x69,0xcf,0xea,0xed,0x1f,0x78,0x5f,0x46,0xc7,0x62,0x52,0xdf, +0x12,0xd2,0x06,0x7a,0x63,0x2c,0xdf,0xc7,0xd9,0xd4,0x76,0x5a,0x99,0x7c,0x19,0xa3,0x95,0x8b,0xb6,0x84, +0x3a,0x72,0xf0,0x0d,0x3b,0x37,0x4d,0xd1,0x60,0x92,0xf8,0x62,0xff,0x51,0xea,0x8f,0x72,0xe5,0xa9,0x84, +0xf2,0xdc,0xf5,0x1c,0x29,0xdc,0x16,0x90,0x18,0x0d,0xd6,0xf0,0x87,0xef,0xb2,0x9a,0xbe,0x98,0xc8,0x05, +0xd4,0xd0,0x39,0x78,0xff,0xee,0xdd,0x8b,0x83,0xe3,0x17,0xcf,0x9d,0xbe,0xf3,0xee,0xfd,0x71,0xa3,0xf8, +0xc6,0x6a,0xf3,0xb9,0xa5,0xc8,0xd1,0xaf,0xef,0x0e,0x1e,0x49,0x78,0xf1,0x81,0x7e,0x45,0xe6,0xe8,0x44, +0x46,0x6c,0x99,0xcc,0xa3,0x9b,0x78,0x62,0x8c,0xe1,0x87,0x4f,0xbb,0x03,0x2d,0x7d,0x2c,0xac,0x6b,0x68, +0x00,0xce,0x97,0x67,0x2f,0x20,0x7b,0xe7,0xb1,0x99,0xbd,0xf3,0x58,0x65,0xcf,0xfd,0xf1,0x20,0xf0,0xe7, +0x2d,0x67,0xdc,0x28,0xac,0x74,0x16,0x64,0xb6,0x33,0xd5,0x52,0xce,0x29,0xe5,0x52,0x4b,0x99,0x51,0x4a, +0xe6,0xdc,0x62,0x2d,0x53,0xef,0xc2,0x9b,0x94,0xb5,0x60,0xe9,0xc1,0x0c,0xb7,0xe5,0xc1,0x44,0x33,0xa4, +0x69,0x1a,0xb6,0x22,0x13,0xd3,0x50,0x64,0x52,0xd6,0x18,0x0a,0xea,0xde,0x29,0xa5,0xed,0x88,0xad,0x0e, +0xdc,0xba,0x71,0x7e,0xf6,0x9b,0x53,0x95,0x39,0x4f,0xc9,0xa8,0xc4,0x71,0xd0,0x6d,0x8e,0x4c,0x43,0xa7, +0xdd,0x9c,0xc8,0x85,0xa6,0xad,0xa0,0x75,0xe1,0xba,0x4c,0x99,0x4b,0xdf,0xb4,0x63,0x2b,0xba,0x73,0xa9, +0x77,0x67,0xea,0x5f,0x5a,0x9a,0xb8,0xac,0x36,0x71,0xc9,0x27,0x86,0x68,0x83,0x9a,0xb8,0xf2,0xcb,0x62, +0xbb,0xa2,0x91,0x2b,0xad,0x91,0x2b,0x71,0x1a,0x91,0x37,0xf4,0x1b,0x4d,0x2a,0x1e,0xf0,0x1d,0x95,0xe2, +0xf6,0x05,0xae,0xba,0xa6,0x69,0xdb,0xef,0x09,0x05,0x4c,0x78,0x44,0x4f,0x92,0x36,0x95,0xac,0xe0,0x24, +0x3e,0xad,0x7d,0x0b,0x36,0x03,0x03,0x06,0x3c,0x3f,0x61,0xd1,0x61,0x6c,0xc0,0x91,0x6f,0xbc,0x9e,0x0c, +0x74,0x9e,0xec,0xda,0xc2,0x93,0x29,0x46,0xf2,0xfa,0x24,0x3c,0x2d,0x9b,0x17,0x92,0x52,0x29,0x8a,0x29, +0x47,0x86,0x89,0xa1,0x49,0x99,0x02,0x84,0xfb,0x20,0x84,0xd3,0xb9,0x29,0x5a,0xaf,0x05,0x57,0x5d,0xce, +0x6b,0xfb,0x2b,0xfd,0xcd,0x97,0xbb,0xfc,0x85,0xbb,0xfc,0xc9,0xd7,0x9f,0x17,0x8d,0x1e,0x7f,0xb1,0xf7, +0xb8,0xae,0x9b,0x9f,0xb8,0x9b,0x5f,0x4e,0xd8,0x29,0x56,0x31,0xae,0x9a,0xa0,0xd5,0x1c,0x5b,0xc2,0xe3, +0x80,0xf1,0x38,0xf4,0x0f,0xd8,0xe9,0x1f,0x3a,0x4a,0x3a,0xf6,0x51,0x73,0xe9,0x70,0x78,0xc0,0xba,0x49, +0xad,0x83,0xce,0x02,0x6a,0xc8,0xfa,0x25,0x4b,0xd6,0xc3,0x8a,0x49,0xa7,0x02,0x78,0x74,0x5a,0x99,0x24, +0x88,0xdc,0xb1,0xc4,0x0b,0x5b,0x3e,0xf2,0x03,0x25,0xdc,0xd2,0x45,0x32,0x47,0x55,0x24,0x3f,0x13,0x92, +0x83,0x92,0xcc,0x80,0x9b,0xa0,0x16,0x64,0x03,0x9f,0x0b,0x09,0xbc,0x15,0x86,0x96,0xcb,0x67,0x94,0x07, +0x28,0x34,0xf6,0x81,0x89,0x06,0x8e,0xb6,0x68,0x73,0x9f,0xdb,0xfc,0xe0,0xef,0xeb,0x6d,0x96,0xd9,0xe3, +0x13,0x71,0xb1,0xc3,0x2e,0x7e,0xe8,0x44,0x63,0xec,0xe5,0x89,0x76,0xa5,0xe3,0x74,0xfe,0xad,0x51,0xe0, +0x03,0xfb,0x9c,0xd4,0x27,0x85,0xdf,0x1d,0xc4,0xbb,0x84,0x03,0x71,0xeb,0x83,0xb8,0xd5,0x72,0xf5,0xab, +0x2e,0x3a,0x27,0x64,0x1b,0xb8,0x65,0x86,0x2b,0x2e,0xba,0x79,0x33,0xad,0x61,0xaa,0x7a,0x73,0xea,0x86, +0x86,0x8a,0x20,0xac,0x1a,0x29,0xaf,0xd2,0x5e,0x3e,0x28,0x59,0xdc,0x19,0x4f,0x7c,0xbc,0x0f,0x36,0x35, +0x71,0x80,0xb1,0x00,0x50,0x16,0xe0,0xe4,0xe9,0x22,0xac,0x16,0x55,0x86,0x23,0x2e,0x79,0x34,0xaa,0x13, +0xb2,0x56,0x80,0x95,0x09,0xa2,0x9e,0x5f,0xe0,0xed,0x90,0x4b,0xaf,0xa0,0x94,0x2f,0xae,0x4c,0xee,0x40, +0xd3,0xc8,0xdb,0xd0,0x1c,0xe4,0xc1,0x81,0x1f,0x13,0x4f,0x89,0x81,0x5b,0x50,0xb9,0x2a,0x27,0xa7,0x26, +0x28,0xb1,0x6b,0xb5,0x0a,0x7d,0x51,0x5d,0x15,0xd6,0x27,0x60,0xca,0x55,0x9a,0x91,0x4a,0x99,0xd7,0xc8, +0xc4,0x14,0x4f,0xbb,0x9c,0x15,0x39,0x98,0xe2,0xd5,0xf6,0xc4,0x43,0x35,0xcb,0x9e,0x40,0xa3,0xdd,0x5e, +0x86,0x06,0xe5,0xd6,0xa1,0x21,0x32,0x2d,0x68,0x88,0x9c,0x15,0x68,0x60,0xec,0x37,0x4d,0x81,0xa5,0x50, +0x4c,0xb6,0x5b,0x97,0x28,0x65,0x37,0xc3,0x71,0x63,0x61,0xf6,0xfd,0x9d,0x83,0xa1,0x7c,0xfa,0x68,0x49, +0xae,0xf9,0x42,0x9c,0xe6,0xf9,0xdc,0xe1,0x38,0x0b,0xf4,0xbb,0x8f,0xa1,0x91,0x60,0x0b,0xc3,0x58,0x50, +0xec,0x48,0xb8,0x0a,0x2a,0xf4,0x33,0xfd,0xd0,0xbb,0xce,0xf8,0x47,0xd1,0x0a,0x01,0x79,0xce,0x75,0x86, +0x01,0x72,0xe0,0xff,0x9e,0xd0,0x94,0xdb,0xdc,0x94,0x2a,0x73,0xe7,0xb3,0x84,0x02,0x11,0x89,0x6f,0x52, +0x71,0xfc,0x18,0x8e,0x8e,0xe0,0x77,0x98,0x37,0xb9,0x46,0x95,0xdb,0x49,0x62,0xc1,0x8e,0x2e,0xd5,0x75, +0xa4,0x45,0x3c,0x80,0x09,0xa5,0x8b,0x3a,0xd0,0x53,0x1a,0xb1,0x2e,0xa2,0x2e,0x4f,0x09,0x04,0x36,0x7a, +0x9e,0x76,0xdb,0xf2,0xf4,0xdb,0x8f,0xf2,0x32,0x81,0x0e,0x7e,0x0b,0xbe,0xb2,0xeb,0x89,0x4e,0x9b,0x5a, +0xcc,0x85,0xa9,0x95,0xf8,0x2d,0x8d,0xad,0xc4,0x27,0x9b,0x5b,0x79,0xea,0x66,0x08,0x0d,0x23,0x4b,0xdb, +0xf5,0x88,0x9b,0x85,0xcd,0x4c,0x77,0x67,0x66,0x78,0x13,0xf1,0x4a,0xb6,0xe6,0xa8,0x30,0xfd,0x06,0x4d, +0x8d,0x71,0xa1,0x6a,0xa5,0x0a,0x37,0x01,0xac,0x85,0x5b,0x56,0x68,0xd3,0x44,0x46,0x85,0x66,0x99,0xd0, +0xfa,0x46,0xb9,0x21,0x82,0xb6,0x67,0x15,0x58,0xa5,0xe8,0x46,0xa0,0x35,0x46,0x16,0x5d,0xb2,0xae,0x80, +0x2b,0x3b,0x3f,0xed,0x48,0x81,0x15,0xdb,0x0d,0x95,0x74,0x0a,0x84,0xd6,0xba,0x05,0xb0,0xad,0x49,0x5d, +0x2c,0x25,0x3e,0xe8,0x12,0x1a,0x25,0x13,0x13,0xba,0xfb,0x66,0x01,0x1e,0x8a,0x12,0xa0,0x52,0xa1,0x2f, +0xc3,0x8a,0x0c,0x03,0x1c,0xef,0xd8,0x6d,0xd2,0x65,0x2c,0x81,0xa3,0xc2,0xa4,0x01,0x39,0x0d,0xda,0xe7, +0x52,0x87,0xd1,0x80,0x94,0x1a,0x8f,0x06,0xb4,0x54,0x25,0x6d,0xb3,0xf7,0x95,0x72,0x19,0x56,0x95,0xb6, +0x97,0x90,0x9a,0xba,0x15,0xfc,0x29,0xd9,0x5e,0x46,0x28,0x9e,0x96,0xcb,0xe8,0x1a,0xb2,0x3c,0x51,0x34, +0xa5,0x5a,0x5d,0xba,0xaf,0xeb,0x58,0x97,0x46,0x8c,0x4d,0xaa,0x2a,0x23,0x45,0xc9,0x06,0x28,0x9c,0x87, +0xc0,0x36,0x99,0x90,0xe6,0x89,0x68,0xab,0xb9,0xcd,0x9a,0xbf,0x66,0xb1,0xaa,0x9f,0xa0,0xe5,0xc6,0x78, +0x9a,0x7e,0x70,0xe5,0x41,0x4d,0x03,0xed,0x70,0x77,0x6b,0x62,0x44,0x2b,0x8b,0xbe,0x52,0x05,0xd2,0xd0, +0xb8,0x30,0x51,0x65,0xad,0x3b,0x73,0x0d,0x00,0xc3,0x60,0xd7,0xab,0x32,0x8d,0xa9,0x84,0xe6,0x92,0xce, +0x73,0x6a,0x4a,0x4c,0x95,0x1a,0xed,0x4a,0x37,0x1a,0x93,0x8e,0x25,0xc6,0x2a,0x12,0x8e,0x3e,0xa4,0xf2, +0x5d,0xa0,0x38,0x60,0x96,0xc0,0x4a,0xa3,0x6e,0x1d,0x58,0x9e,0x3f,0xae,0xc5,0x23,0x52,0x85,0x84,0x5e, +0x44,0xbe,0x18,0x4f,0x4e,0x59,0x08,0x30,0xe0,0x78,0x7f,0x0f,0x3a,0x42,0xaf,0x9b,0xc4,0xc0,0x71,0x70, +0x15,0x4d,0x02,0x98,0x90,0x14,0x7a,0x63,0x1f,0xe6,0x46,0x4e,0x97,0x28,0x76,0xc1,0xd4,0x59,0x04,0x14, +0xc0,0xac,0xb2,0xed,0x47,0x4a,0x17,0xdb,0x2f,0x85,0x81,0xf4,0x22,0x7f,0xbb,0x79,0x3e,0x4d,0x13,0x18, +0x8d,0x93,0xc6,0x6f,0xdb,0xa7,0xcd,0x93,0xdf,0xae,0x3b,0xa7,0x2d,0x77,0x5b,0xfa,0x26,0xfe,0xfa,0x75, +0x1b,0x0f,0xaf,0x4f,0x51,0xbe,0x04,0x20,0x41,0xe7,0x38,0x6e,0x73,0xd8,0xef,0x6c,0x49,0x19,0xf7,0xb0, +0x1e,0xfa,0x32,0x8b,0x42,0xb7,0x61,0xc9,0xd2,0x0e,0x4e,0xb4,0xe2,0x84,0x13,0x99,0xa4,0x26,0x18,0xd7, +0x15,0x4a,0x25,0x7f,0x44,0xb3,0x99,0x68,0x65,0xd8,0x48,0xaf,0xfa,0xb2,0x06,0x77,0xa8,0xd5,0x01,0x47, +0xd0,0x8d,0x20,0x59,0x1f,0x5d,0x27,0x13,0x7d,0x04,0x52,0x90,0xb0,0x83,0x09,0x5d,0xe7,0x16,0x1f,0x0a, +0x4d,0xaa,0xe1,0xed,0x4a,0xa4,0x88,0xf2,0x18,0x5a,0x34,0xd2,0xe8,0x6f,0xe6,0x9e,0xa8,0x2c,0xf2,0x29, +0x6f,0x66,0x76,0x44,0x8b,0x7e,0xd4,0x51,0x42,0xff,0x12,0x04,0x13,0xb5,0x52,0x6d,0x27,0x0b,0x2e,0x82, +0x34,0x82,0x2a,0xc9,0xa7,0xb2,0xee,0x1a,0x52,0xb2,0x35,0x61,0x33,0x52,0xfa,0xee,0x5e,0xe6,0x05,0x6c, +0x83,0x81,0x4e,0x75,0xe9,0x05,0x13,0x55,0x67,0x35,0x8f,0xaf,0xca,0x4d,0x22,0x46,0x37,0x2a,0xae,0x08, +0x99,0x0b,0x99,0xa4,0x4e,0xfd,0xfe,0x3a,0x46,0x2f,0xe5,0x61,0x9a,0x7f,0x61,0xdf,0xad,0x18,0x44,0x88, +0xc4,0x33,0x19,0x45,0xbb,0x47,0xe7,0xa0,0xf1,0xa9,0x8f,0xcc,0x82,0x6c,0x87,0x98,0x07,0x8e,0x03,0x84, +0xbf,0xde,0x51,0x0c,0x18,0x0a,0x8b,0x44,0x69,0x18,0x78,0xe8,0x40,0x30,0xe2,0x18,0x64,0xe5,0x79,0x74, +0x85,0xc7,0x31,0xe5,0xc1,0x61,0x08,0xd7,0x41,0x76,0x55,0x24,0xd3,0x44,0xd4,0x78,0x34,0x9c,0x38,0xa2, +0x65,0x44,0x1d,0xe6,0x3c,0x8b,0x96,0x36,0xac,0x27,0x65,0x1b,0x49,0xf1,0x29,0x29,0x64,0xa3,0x05,0xd0, +0xe2,0x1b,0x9e,0xea,0xd4,0x15,0xc6,0x36,0x37,0xd9,0x39,0x1c,0xe9,0xb6,0x40,0xef,0x71,0xab,0x87,0x4c, +0x64,0x2b,0x31,0xdb,0x11,0x68,0x94,0xd4,0xce,0x6a,0x4b,0x9d,0x4b,0x08,0x59,0x10,0x59,0x94,0x28,0x50, +0xfe,0x1e,0x91,0xe7,0xd0,0xb1,0x8e,0xb2,0xe7,0xdc,0xf9,0x71,0x1d,0xb2,0x44,0x6f,0x72,0xf8,0x21,0xc8, +0x34,0x76,0x4a,0x75,0xd8,0xc8,0xbd,0xb4,0x36,0x2c,0xc0,0x2e,0xaf,0x1b,0xe7,0xa8,0x4b,0x4f,0x02,0x16, +0x22,0xb6,0xc4,0x9e,0x54,0xec,0xe1,0xce,0xd7,0xd8,0xde,0x93,0x1d,0x51,0x79,0x7e,0x51,0xd1,0x5c,0x39, +0x74,0x15,0x0e,0xf6,0x48,0xbf,0x0e,0xaf,0x79,0xbb,0xf4,0xce,0x5d,0xaa,0x9e,0xd2,0xde,0x5f,0x5c,0xc8, +0xda,0xf7,0x7e,0x8b,0x1b,0x8d,0x5d,0xbc,0xea,0xee,0x09,0x08,0x53,0x51,0xaf,0xe5,0xc0,0xb6,0x89,0xb9, +0xbf,0xc5,0xbb,0xdb,0x54,0xb8,0x70,0xd1,0x7d,0x9c,0x34,0x4d,0xb4,0x0a,0x24,0x8e,0xa0,0x88,0x6f,0x60, +0x54,0xbc,0x96,0xf2,0x73,0xa8,0x84,0x8d,0xd7,0xc1,0x37,0xae,0x47,0xf7,0x9b,0x91,0x8d,0x9f,0x91,0x4f, +0x4b,0xc2,0x40,0x1b,0x8e,0xe8,0x03,0x0a,0x62,0x68,0x4c,0x19,0xe0,0x7d,0xfc,0x68,0x77,0xdb,0x70,0x51, +0xbe,0xa4,0xff,0xeb,0xd6,0x79,0x71,0xb1,0x76,0xa5,0xb1,0x46,0xd3,0x78,0x19,0x49,0x79,0xd5,0x94,0xdb, +0x16,0xe4,0xe2,0x4c,0x45,0xce,0x35,0x1b,0x17,0xa5,0xc8,0x69,0xd0,0xf2,0x8a,0x09,0x64,0x55,0xf5,0x0c, +0x6b,0xd4,0x7d,0x88,0xef,0x57,0x4b,0xab,0x26,0x88,0x75,0x6b,0xde,0xe8,0x9a,0xeb,0xd3,0xb6,0xbd,0xe9, +0xeb,0x33,0xba,0x68,0xaa,0x63,0xbe,0x43,0x87,0xa3,0x62,0xd9,0x4e,0xb4,0x8a,0xcd,0x45,0x66,0xcc,0xe0, +0xd2,0x0a,0x3d,0x95,0x57,0xe3,0x45,0xcc,0x6c,0x09,0x36,0x0f,0x3c,0x0a,0x87,0x78,0xd4,0x51,0x3b,0x43, +0xb3,0x56,0xb9,0x5f,0xea,0x21,0x01,0x8a,0x78,0x8c,0xec,0x66,0xe6,0x01,0xfa,0x0a,0x05,0x5e,0x78,0x11, +0xcc,0x86,0xa1,0xf8,0x21,0xe3,0x5a,0x94,0xf7,0xb4,0xf2,0xae,0x58,0xe5,0x47,0xc8,0xf1,0x27,0x9e,0x5c, +0x52,0x4d,0xdc,0x9c,0x5a,0xfc,0x98,0x2f,0xa6,0x55,0xc6,0x79,0x06,0xa6,0xf8,0x8a,0xc3,0xbe,0x6c,0x21, +0xbf,0xa5,0xbd,0x0c,0x90,0x1f,0x54,0x47,0xf8,0xb1,0x6d,0x0b,0x37,0xed,0x3d,0x0a,0x72,0x6e,0x6e,0x08, +0x46,0x13,0xb9,0xad,0x89,0xb8,0x68,0x22,0xd7,0x9a,0x88,0xcd,0x26,0xe8,0xe9,0x53,0xb4,0xa1,0x6d,0xfe, +0xec,0xcc,0x20,0xf2,0xb3,0xbd,0x7c,0x98,0xf5,0x73,0x2f,0x6a,0xd9,0x9a,0xd0,0x07,0x57,0x36,0xa6,0xcf, +0xba,0xb7,0xe4,0xf9,0xb6,0x34,0xb8,0xd4,0xfe,0x0d,0x41,0xf7,0xa3,0x5b,0x94,0x48,0x15,0xcd,0x54,0x16, +0x83,0x01,0xdc,0x7a,0x7c,0x6b,0x4c,0x7b,0x33,0xf3,0x07,0x74,0xb6,0x62,0x8e,0x63,0xfc,0x36,0x01,0x3e, +0xf3,0x79,0x72,0xad,0x4d,0x8d,0x48,0x8b,0xe7,0x1d,0x01,0x30,0x85,0x54,0x7e,0xce,0x1c,0x06,0xde,0x1f, +0xf8,0xd0,0x53,0xa7,0x5a,0x53,0x79,0x04,0xcb,0x7d,0xe1,0xc4,0xfc,0xeb,0xd7,0xa8,0x23,0x85,0x64,0xc4, +0x07,0x88,0x4b,0x05,0xac,0xa3,0x05,0x6c,0xa8,0x22,0xf0,0x24,0x00,0x62,0xec,0x25,0x36,0xfc,0x9e,0x7d, +0x39,0x40,0xbe,0x1d,0x08,0xee,0xeb,0x34,0x83,0xa5,0x95,0x06,0x13,0x8a,0x92,0x20,0xcf,0x57,0x3f,0x87, +0x54,0xce,0x46,0xc7,0xd6,0xec,0x3d,0xad,0x18,0xbd,0x72,0xef,0x9d,0x62,0x8a,0x7c,0xfd,0xda,0x2d,0x77, +0xff,0x39,0xd4,0xfe,0x36,0xb9,0xd2,0x26,0xb0,0xce,0x78,0x0d,0x38,0xa8,0x53,0x05,0x43,0x5f,0xc7,0x51, +0xf6,0x3e,0xf3,0x9b,0x79,0xab,0x8a,0x59,0xdb,0xd2,0x05,0x77,0x9b,0x39,0x0e,0x9c,0x59,0x47,0xd1,0x38, +0xf4,0x32,0x64,0x80,0x9b,0x99,0x0f,0x53,0x2c,0xdb,0xeb,0xd1,0xcf,0x1e,0xce,0xe8,0x6c,0xab,0x04,0x58, +0x19,0x5b,0x72,0x58,0x1e,0xdf,0x9a,0xc7,0x9d,0x3e,0xec,0xb1,0xb1,0xc9,0x05,0xe3,0x68,0x91,0xdd,0x9a, +0x07,0x29,0x43,0xb3,0x0f,0x66,0xda,0x05,0xfb,0x6d,0xad,0xc2,0x32,0x04,0x39,0x13,0x6f,0x37,0x7b,0xed, +0xcc,0x2d,0x21,0x77,0x5b,0x99,0x5c,0x48,0xdd,0x17,0xba,0x1b,0x9b,0x82,0xb8,0x6b,0x91,0x16,0x23,0x1b, +0xd6,0x4d,0x36,0x26,0x2b,0x20,0x34,0xc1,0xb0,0x23,0xcd,0xf5,0xe8,0xac,0xf1,0x35,0xe6,0xd3,0x48,0xbc, +0xe7,0x77,0x9e,0xa8,0xbb,0xaf,0x2b,0x03,0x84,0x5a,0x20,0x37,0xea,0x72,0xdc,0xa2,0xb8,0x75,0x5a,0x73, +0x18,0x2e,0x85,0xb5,0x08,0x01,0x58,0x75,0x13,0x2c,0xe8,0xce,0x57,0x4c,0xc9,0x85,0x8a,0xcf,0xa6,0x6a, +0xbc,0xb6,0x2b,0xae,0xe2,0xb8,0xc7,0xa2,0x4c,0x69,0x58,0xc4,0xab,0x4f,0x1d,0xfb,0x58,0x5b,0x4e,0x65, +0x54,0xb4,0x41,0x8d,0x68,0xa6,0xfa,0x58,0x0d,0x4b,0xc7,0x3d,0xba,0x35,0x61,0xd3,0x4e,0xfd,0x52,0xc0, +0x49,0xc2,0x9f,0x4e,0xa9,0x00,0x1b,0x43,0xd5,0x97,0x09,0xfd,0x5a,0x3a,0x0c,0xcd,0xb1,0x6f,0xed,0xf4, +0xbb,0xc6,0xf2,0x11,0x91,0x4e,0xc4,0x12,0x42,0x5f,0xc7,0x54,0xbf,0xf0,0x08,0x5c,0x5a,0x50,0x0a,0x98, +0x17,0x55,0x68,0x59,0x54,0xf6,0xf2,0x62,0x89,0xa9,0xf2,0xc6,0x32,0xab,0x6d,0xd4,0x56,0x86,0x16,0x5e, +0xd8,0x2e,0xad,0xb9,0x52,0x05,0xa5,0x31,0xd3,0xaf,0x62,0x95,0x61,0x43,0x71,0x44,0xe1,0x10,0x11,0xeb, +0xf1,0x6c,0x01,0x58,0x1b,0x39,0x20,0xf4,0x8a,0x82,0xef,0xe1,0x4e,0x29,0xc3,0xdd,0x14,0x2e,0xf3,0x49, +0x25,0xb7,0x70,0x17,0x6f,0x29,0xf7,0xf3,0xdc,0x52,0xca,0x10,0xb4,0xb0,0xab,0xf1,0xa6,0x73,0x89,0xc7, +0x11,0x0e,0x79,0x23,0xc7,0xa3,0x02,0x7f,0x09,0xa5,0xc4,0x1a,0xd8,0xc5,0x9c,0x21,0x49,0x8d,0x13,0xbd, +0xf9,0x17,0xf3,0xa1,0x2a,0xc8,0x52,0x88,0x89,0x35,0xd0,0x94,0x61,0x79,0xb4,0x19,0xa7,0xd5,0x8d,0x2e, +0x18,0xb8,0xf6,0x8c,0xc3,0xf4,0xd4,0x74,0x52,0x9d,0xa1,0xab,0x7a,0xb9,0x7e,0x1f,0x97,0xf4,0xb0,0x7c, +0xbd,0x34,0x6f,0x9f,0x96,0x51,0xa6,0xad,0xb6,0x96,0x39,0x51,0x3d,0xd7,0x98,0x21,0xf3,0x62,0x55,0x9c, +0x25,0x62,0xf6,0xa9,0x22,0x3c,0xf3,0xdb,0x8f,0x6f,0xcb,0x37,0x13,0xed,0x6c,0x0a,0x29,0x3b,0xf2,0x6d, +0x25,0x5b,0x3d,0xcf,0x64,0x8b,0x37,0x37,0x1f,0x94,0xe5,0x2b,0xbb,0x3f,0x60,0xc4,0xa8,0xb6,0xff,0xbd, +0xbc,0xa6,0xcb,0xa9,0xef,0x0b,0x6c,0x56,0x33,0x5c,0xed,0x48,0x9b,0x15,0x25,0xc7,0x9a,0x15,0x7e,0x81, +0xb1,0x2e,0x9f,0x6c,0xb5,0xc7,0x6b,0x69,0x93,0xb9,0xc7,0x59,0x5b,0x6e,0x4a,0x6e,0x82,0x96,0xc6,0xba, +0xab,0x8e,0xe5,0x4a,0x5d,0x5e,0x3d,0xb3,0xb6,0xfe,0xce,0x5c,0x3e,0xd6,0x8b,0xcd,0xc0,0xce,0x34,0x56, +0x0f,0x6d,0xf4,0x6c,0x55,0x39,0x11,0x95,0x2e,0x66,0x95,0xc7,0xbc,0x07,0x27,0xb9,0x51,0x1c,0xad,0x9b, +0x9b,0xe4,0xa1,0x31,0x18,0x65,0x4d,0x0b,0x53,0xd0,0xce,0xdd,0x3d,0xee,0x24,0xe4,0x1c,0x4f,0x71,0x1f, +0x48,0x66,0x63,0x72,0x7e,0xaf,0xce,0x66,0x19,0x21,0x5d,0xe3,0x10,0x89,0x77,0xb1,0x53,0xe2,0xe7,0xb9, +0x9d,0x0e,0xff,0xf2,0x3e,0x6b,0x28,0x02,0x9b,0x45,0x18,0xa2,0x78,0x5f,0x13,0x08,0xfa,0x37,0xf2,0x68, +0xa0,0x38,0x9f,0xeb,0xd9,0x4d,0x56,0xcc,0x2d,0x2d,0x16,0x99,0xc6,0x0c,0xe9,0x3b,0x9a,0xe8,0x41,0x8e, +0xba,0xe3,0x99,0xb2,0x26,0x03,0x48,0xd5,0xe5,0x78,0xba,0x08,0xc6,0x80,0xf9,0x91,0x33,0x24,0x84,0x10, +0x2a,0x59,0x40,0x2e,0x2e,0x50,0x28,0xaf,0x04,0x0f,0x06,0x04,0x77,0x42,0xe5,0x17,0xf2,0x03,0x0b,0x14, +0xe7,0x4a,0xd8,0x42,0x20,0x60,0x01,0x3d,0xe4,0xa0,0x2b,0xc6,0x14,0xea,0x3f,0xf1,0xf4,0x4b,0x5d,0xbf, +0x27,0xbf,0x79,0x27,0xe8,0x3f,0xf6,0x4a,0xdb,0x1f,0x14,0x90,0xb2,0x55,0x68,0xa2,0xd0,0xcc,0xc1,0xa7, +0x26,0x61,0x14,0xab,0xed,0xe6,0xb7,0x30,0xae,0x18,0x58,0xf1,0x81,0xae,0xc4,0xc3,0xdb,0x6a,0xf4,0xfe, +0x48,0x4a,0x07,0xfd,0xd0,0xa3,0x8b,0xbc,0x0e,0x53,0x3a,0x12,0xf0,0x6e,0x0e,0x37,0x73,0x6f,0xea,0x25, +0x5e,0xea,0xcd,0xbc,0xb1,0x77,0xee,0x2d,0xbc,0x39,0x09,0x8e,0x23,0xbf,0xb7,0x5b,0x8d,0xb6,0x11,0xb3, +0xd4,0xb8,0x08,0xac,0xd7,0x75,0xfb,0x27,0xe8,0xc0,0x81,0x25,0x07,0xcd,0xb1,0xfc,0x71,0xee,0x47,0x18, +0x78,0x6a,0x78,0xae,0x84,0xc6,0x22,0x24,0x89,0x3b,0x1c,0xf7,0x8b,0x59,0x59,0x88,0x94,0x17,0xea,0x59, +0x89,0xe2,0xb3,0x16,0x76,0xc2,0xa8,0x23,0xdd,0xf5,0x66,0xfe,0x42,0x6a,0xdf,0xa4,0xbb,0xb3,0x41,0xda, +0x6a,0xb9,0xb9,0xbf,0x40,0xe7,0x11,0x01,0x5b,0x44,0x90,0x94,0x3a,0x93,0xc1,0xcc,0x82,0x61,0x73,0x4a, +0x18,0x78,0x89,0xbf,0xb3,0x0b,0xeb,0xc9,0xc4,0x3f,0xf2,0x7a,0x84,0xb7,0x40,0x76,0xee,0x07,0x27,0xd3, +0x53,0xd8,0x9b,0x24,0x77,0x12,0x78,0x09,0xba,0x92,0xc2,0x40,0xf0,0x70,0x86,0x53,0x4f,0x74,0xd6,0xf6, +0x56,0x50,0x56,0x23,0x76,0xed,0x33,0x0c,0x3f,0xed,0x50,0x48,0x0d,0xff,0x86,0xce,0x3f,0x43,0x60,0xef, +0xdd,0x98,0x4b,0xac,0x57,0x59,0x4f,0xa2,0x91,0x25,0x8b,0x49,0x40,0xd4,0xaf,0x24,0x01,0x50,0xbb,0x8c, +0x8c,0xfc,0xea,0x1a,0x12,0xd9,0xcb,0x16,0x90,0x01,0xb2,0x64,0xf5,0x18,0x70,0x72,0xe9,0x14,0x33,0xbf, +0x20,0xa8,0x23,0x0f,0x38,0x5d,0x4f,0x2d,0xc2,0x38,0x2e,0x3c,0x82,0x98,0x57,0x7d,0x68,0xdb,0x30,0x3d, +0x22,0xc2,0x18,0x95,0xd5,0xe1,0xcb,0x4b,0x80,0x25,0xdc,0x03,0x4b,0x44,0xba,0xbd,0xae,0xcb,0xca,0xbd, +0xf8,0x4a,0x37,0x8d,0x2e,0x60,0xa9,0xf8,0x91,0x9c,0x1f,0x05,0x57,0x17,0xf8,0x95,0xf0,0xbf,0xd9,0x30, +0x23,0x27,0xab,0xe4,0x60,0xd5,0x54,0xa7,0x6d,0x65,0x42,0xed,0x17,0xe6,0x5f,0x36,0x20,0xa5,0x2a,0x56, +0x07,0x96,0xf1,0x7a,0xc4,0x0f,0x69,0x2a,0x20,0xdb,0x31,0x2e,0x56,0x36,0x47,0xd2,0x91,0x2f,0x5c,0x45, +0xf3,0x42,0x70,0x7e,0xff,0xe9,0xe3,0xc1,0x07,0x60,0x09,0x81,0x5f,0x8d,0xcf,0x85,0x36,0xb2,0x8c,0x22, +0x14,0x71,0x60,0x72,0xf8,0x21,0x4d,0x04,0x31,0x7a,0x62,0x39,0x3e,0x67,0x46,0x81,0x56,0x33,0x9c,0xb1, +0xb8,0x10,0xf2,0x8e,0x6e,0x54,0x40,0x77,0x04,0xb8,0xa5,0x2c,0x6d,0x14,0x79,0x54,0xad,0x59,0x1f,0x83, +0x15,0x57,0x5a,0x71,0x99,0x0a,0xa4,0xb7,0x5c,0xb9,0x01,0x47,0x27,0x99,0x08,0x5e,0x37,0xf3,0xf1,0xb7, +0x20,0x3f,0x46,0x9c,0xc2,0x0e,0xa1,0x4b,0xec,0x48,0x1e,0xa4,0xa9,0x3f,0xc3,0x23,0x6f,0x69,0x6d,0x0e, +0x05,0x58,0x0a,0x4e,0x8b,0x88,0xaa,0xd2,0xab,0x24,0xd6,0x2f,0x73,0xbf,0xb9,0x95,0x09,0xd7,0xa3,0xd5, +0x3c,0xb9,0x73,0xcd,0x2a,0xb6,0x7d,0x24,0x64,0xac,0x19,0xf4,0xdf,0xc0,0x5b,0xcf,0x20,0xbb,0x91,0x01, +0xeb,0x50,0xd6,0x94,0x2d,0xda,0xd1,0x53,0xd1,0x79,0xbe,0x8c,0x9f,0xec,0xbc,0x0d,0xf3,0x69,0x32,0x16, +0x2e,0x10,0x1a,0xf8,0x6c,0x8f,0x2a,0xd1,0x59,0xcb,0x29,0xdc,0xd3,0x86,0x9f,0xa3,0x2c,0x47,0x3f,0x64, +0xe2,0x25,0xb3,0xbc,0xbe,0x1c,0x0a,0xb5,0x94,0xde,0x0e,0xa4,0xc9,0x94,0x65,0x0d,0x0e,0x72,0x8d,0x2b, +0x41,0xd7,0x8c,0x01,0x45,0x2f,0xfb,0xec,0x78,0xc8,0x0a,0x45,0xe1,0x35,0x6e,0x83,0xb3,0xe8,0x8a,0x38, +0x0e,0x7c,0xfc,0xa6,0xb7,0x79,0xfc,0x90,0x5e,0x1b,0xf1,0x37,0x06,0xd8,0x64,0x99,0xb3,0xfc,0x7a,0xc9, +0x55,0xc1,0xd7,0x1c,0x55,0x09,0xd3,0xab,0xf0,0x23,0xb6,0x4c,0x7e,0xf2,0x3d,0xe0,0x90,0xc5,0x26,0x84, +0xfb,0x1f,0x9a,0x39,0xf5,0x9d,0x79,0x32,0x47,0x43,0x60,0xbc,0x5e,0x3f,0xd7,0x99,0xa3,0x7f,0x2e,0xa0, +0x9d,0xfc,0x4b,0xbf,0xe7,0x49,0x1b,0x62,0xaa,0x22,0x15,0x51,0x0f,0xfb,0x3b,0xde,0x65,0x32,0x8a,0x98, +0x23,0xe2,0x5f,0x1c,0x73,0x0d,0x43,0x4e,0xa0,0x41,0xc9,0x3f,0xc2,0x2f,0xe4,0x6d,0x11,0xfb,0x81,0x2a, +0x9c,0xef,0x99,0xdc,0x08,0x9e,0xc5,0xc1,0x9c,0x3c,0xe7,0xc2,0xdf,0xe3,0x64,0x16,0xa6,0xb8,0x52,0xfa, +0x9d,0xee,0x13,0x8c,0x51,0xfd,0xec,0xe7,0x57,0x67,0x87,0x2f,0x7e,0xdc,0x3f,0x7e,0xf3,0xcb,0x8b,0xb3, +0x0f,0xfb,0xaf,0x5e,0x9c,0xbd,0x3f,0x7c,0xf3,0xea,0xcd,0x3b,0xd4,0x8b,0xca,0x3b,0xe2,0x37,0x5f,0x4b, +0xba,0x1e,0x45,0x6f,0xbc,0xa5,0x70,0xd9,0x40,0xd9,0xe3,0xe4,0x28,0x4f,0x75,0xa1,0x7e,0x2e,0xf7,0x37, +0xc7,0x19,0x64,0xe4,0xb3,0x02,0x6d,0xc2,0x30,0x78,0x02,0x99,0xa2,0xf7,0x21,0xe3,0x3b,0x67,0x40,0xdf, +0x48,0xfa,0x3e,0x6f,0x22,0x9a,0x6f,0xf3,0x9d,0x27,0x4f,0xb6,0xc2,0x4e,0x8a,0x1b,0x98,0x72,0x4d,0xee, +0x0e,0x7a,0xbe,0x3a,0x4c,0x39,0x7e,0x6f,0x17,0x83,0x76,0x0f,0x78,0x13,0xab,0x94,0x9e,0x54,0x4b,0x6b, +0xa1,0xe1,0x32,0x2a,0x9d,0xb9,0xc2,0x93,0x60,0xa5,0xf4,0xa8,0x5a,0x3a,0x28,0x4a,0x07,0x54,0x1a,0xdd, +0x10,0xb4,0xfc,0x08,0x26,0x69,0x30,0x18,0xa5,0x61,0xf0,0x69,0x20,0xbb,0x18,0x94,0xfb,0x18,0xfc,0x07, +0x77,0x52,0x9c,0x07,0x95,0xd2,0x41,0xb5,0x74,0x11,0x2b,0xba,0x99,0x50,0xe9,0xa4,0x20,0x51,0x2b,0xd1, +0x89,0x84,0xa6,0x70,0x48,0x23,0xf8,0xdb,0x74,0x5a,0x16,0xaa,0x90,0xf1,0xba,0xa5,0xbf,0xf6,0xf4,0x11, +0xa4,0xbb,0x4e,0xa9,0x81,0x87,0x5a,0x0b,0x6c,0xfd,0x9e,0xb6,0x9c,0x87,0x9e,0xfc,0x98,0xe8,0x1f,0x23, +0xf8,0xa8,0x54,0x10,0xc8,0x0a,0x82,0x3f,0x0b,0x47,0x8f,0x4c,0x34,0x2d,0xb8,0x06,0x0f,0xf5,0xb6,0xd6, +0xc1,0x56,0x7d,0x04,0x15,0xd4,0xd1,0x08,0x10,0x6b,0x83,0xbf,0x50,0x99,0x70,0x15,0x20,0x1a,0xcf,0xc4, +0xdf,0xab,0x32,0x12,0x00,0xfc,0x50,0x2b,0xc5,0x75,0x4f,0xf5,0x86,0x32,0xfd,0xe3,0xca,0xd6,0x6a,0x20, +0x2b,0x08,0x96,0xb5,0x6b,0x27,0x02,0x96,0x7a,0xa8,0x97,0x5f,0x07,0x83,0xa5,0x44,0x18,0x89,0xda,0x70, +0xfc,0xd7,0x22,0xc0,0xe8,0xa1,0x56,0xe2,0x3e,0x04,0x18,0x49,0x02,0xd0,0x28,0xde,0xa9,0xf3,0x23,0xd5, +0xf9,0xd1,0x3d,0x3b,0x2f,0x95,0x55,0x52,0xdc,0x98,0x81,0x2f,0x3c,0x4e,0xe8,0xdc,0xab,0x2a,0xe7,0x62, +0x24,0x54,0xff,0x26,0xe8,0xf7,0x6e,0x07,0xe4,0xe5,0x1a,0xef,0x21,0x61,0x87,0x02,0xc1,0x35,0xb7,0xff, +0xcf,0x77,0x27,0xdd,0xf6,0xdf,0x83,0xf6,0xc5,0xe9,0xcd,0xf7,0xb7,0x0f,0xb6,0x23,0x52,0x97,0xaa,0xe6, +0x3d,0xa6,0x3c,0x7a,0x53,0x8e,0xb2,0x77,0xc1,0xbb,0x66,0xd4,0x49,0xfd,0xde,0x0f,0x5b,0x9a,0x5b,0x4c, +0x0e,0x72,0xd5,0xec,0xc1,0x7d,0xc7,0x83,0xfd,0x61,0x1b,0x83,0x82,0x14,0x3e,0x54,0xb5,0x82,0x13,0x7b, +0xc1,0x9d,0x95,0x05,0x47,0xf6,0x82,0xdf,0xd7,0x16,0x7c,0x82,0x4a,0xd3,0x72,0x8b,0x92,0xb5,0x04,0xf6, +0x5a,0x1e,0x5b,0x6b,0x51,0x3c,0x52,0x99,0x6c,0x15,0xaa,0xd5,0x02,0xac,0x4f,0xba,0xee,0x7d,0x49,0xb7, +0x9a,0xe6,0x35,0xa4,0xab,0xa7,0xf9,0xe3,0x3b,0x90,0xce,0x3e,0x00,0xb5,0xa4,0x2b,0x66,0xd5,0xd3,0x1a, +0xda,0x15,0x10,0x7f,0xb3,0x11,0xcf,0x46,0x80,0x9d,0x95,0x94,0xb3,0xe1,0xbd,0xaa,0xd4,0xc8,0x52,0xea, +0x49,0x6d,0xa9,0xbf,0xdb,0x69,0x56,0xad,0xe2,0x07,0x6b,0x15,0xab,0xe7,0x5a,0x1d,0xbd,0xee,0x4a,0xae, +0xee,0xbd,0xc8,0xb5,0x73,0x2f,0x72,0x3d,0xae,0x2d,0xf5,0xb7,0x75,0xc9,0xf5,0xf4,0x6e,0xe4,0xc2,0x43, +0xf5,0xb7,0x0c,0x83,0xd4,0x65,0x5b,0x4d,0x24,0xcd,0x6f,0x9d,0xd3,0xd6,0xc3,0xaf,0x27,0xdd,0xde,0xe9, +0xf0,0xb7,0xce,0x10,0x53,0x4e,0xb7,0x5c,0xc8,0xf4,0xfe,0xf5,0x00,0xbf,0xb9,0xf6,0x11,0x03,0x1c,0xff, +0x22,0x14,0x19,0x03,0x9a,0x12,0xa9,0x5f,0x42,0x23,0x80,0x1c,0x0a,0x57,0x58,0x04,0x28,0xd4,0x74,0x65, +0x9b,0x8e,0xdb,0xea,0x79,0x5a,0x82,0x87,0xef,0xbc,0xce,0x43,0xbc,0x7f,0x4a,0xa1,0x83,0x32,0x36,0xee, +0x59,0x67,0xdd,0xcb,0x59,0x12,0x00,0x90,0x8b,0xce,0x04,0x2c,0x23,0x67,0x99,0xa3,0xb9,0x65,0xa2,0xd4, +0x62,0xe8,0x55,0x31,0xf4,0xca,0xd9,0x6b,0xa3,0x3c,0xb9,0x13,0xca,0x93,0x55,0x28,0xa7,0xc3,0x5a,0xa4, +0xab,0x38,0x52,0x2f,0x30,0x66,0xdc,0x1b,0x9d,0xd6,0x7d,0xb3,0x86,0x72,0x7e,0xb5,0x90,0xbb,0xfe,0x00, +0x8d,0xee,0xd4,0xdb,0xd1,0xf2,0xde,0xa6,0xae,0x65,0x94,0xfe,0x54,0x74,0x83,0x3b,0xa1,0x5b,0x82,0x2e, +0x41,0xde,0x88,0x3d,0xc3,0xd7,0xd6,0x23,0xf2,0xa0,0xff,0x5e,0x7b,0xc6,0xe6,0xa6,0x05,0xc7,0xbf,0x74, +0xcf,0xb0,0x61,0xf0,0xef,0xb6,0xb3,0x5a,0x71,0xfc,0x6b,0x77,0x56,0x63,0x21,0xfc,0x75,0x3b,0xec,0xf4, +0x4e,0x2b,0xa2,0x0c,0x0d,0x97,0xb5,0xff,0x1f,0x7b,0x6c,0x76,0x27,0xa4,0xb3,0xba,0x65,0xfc,0x1f,0xb1, +0xc3,0x5e,0xdd,0xa9,0xaf,0x57,0xcb,0xfa,0xfa,0x9f,0xb3,0xbf,0xca,0x97,0x66,0xbc,0x93,0xc2,0x7e,0x75, +0x9c,0x1c,0x4e,0x46,0x86,0xa8,0xd0,0x4b,0xd5,0x23,0xc2,0xae,0xdf,0xdb,0x7e,0x0a,0xd7,0xcd,0x3d,0xff, +0xc9,0xf6,0xd3,0x61,0xaf,0x1f,0xee,0xf6,0xb6,0xbf,0x1f,0xf6,0xda,0x4f,0xb7,0x9a,0x61,0x1b,0xb2,0x60, +0x74,0xf6,0x1e,0x43,0x0e,0x7d,0x3f,0xc6,0xef,0xae,0x97,0xf9,0x00,0x0e,0x79,0x14,0x5c,0xba,0xf3,0x44, +0x94,0x42,0x98,0x10,0x7e,0x21,0xb4,0x28,0xdf,0x79,0x82,0xe0,0x01,0x82,0x77,0x9e,0x10,0xb4,0x68,0x64, +0x6f,0x87,0x4b,0x43,0x61,0x02,0xdc,0xe1,0x86,0x9e,0x14,0x45,0x9f,0x70,0x53,0x89,0xdf,0x8c,0x5a,0xcd, +0x5e,0x3b,0x72,0xb7,0xe0,0xff,0xd0,0xcb,0xad,0xd4,0x8b,0xfd,0x66,0xd6,0x62,0x35,0x44,0x95,0x36,0xf3, +0x9b,0x01,0xa6,0x05,0x45,0x9a,0x78,0x42,0xb9,0x49,0xfb,0x89,0x37,0xe9,0xc7,0xde,0xa8,0x3f,0xbb,0x45, +0x8a,0x00,0xd7,0x77,0x9c,0xbc,0xce,0xae,0xec,0x14,0xa1,0xf7,0x51,0x21,0x78,0xbb,0x0c,0x3e,0x8b,0x3c, +0x68,0x93,0x53,0x22,0x09,0x0d,0x2d,0x26,0xed,0x58,0x45,0x9d,0xf0,0xbb,0x1b,0x7e,0x32,0x9c,0x6d,0x27, +0x80,0x73,0x84,0xee,0x09,0x66,0xc3,0x6e,0x3f,0xf4,0x21,0xad,0xf9,0xb4,0xd5,0xcc,0xdb,0xa9,0xbb,0x3d, +0x73,0x1f,0x3e,0xed,0xe7,0x98,0xb4,0xd3,0x6a,0xa6,0xed,0x10,0x52,0xfa,0x29,0x7e,0x3e,0x6e,0x41,0x7f, +0x73,0xfc,0x84,0xb2,0xdb,0xfe,0x53,0x20,0x58,0xe2,0xdd,0x4c,0xfb,0x80,0x4b,0x3f,0xf3,0xae,0xfa,0x01, +0xa1,0x6d,0x7d,0xd3,0x4a,0x51,0x97,0x5b,0x98,0xa2,0xcc,0x17,0xb0,0x1a,0xa5,0x4e,0x13,0xca,0x20,0xa0, +0x0a,0x18,0x2b,0xf8,0x77,0xd5,0xef,0x79,0x29,0xfc,0x9b,0xc0,0xbf,0x11,0xfc,0x43,0x29,0x04,0x03,0x66, +0x7a,0xd4,0x51,0xae,0x83,0x7d,0x2a,0x48,0x25,0x08,0x16,0x64,0xc3,0xa4,0x17,0x4f,0x98,0x1b,0x5d,0xef, +0x06,0xb1,0x91,0xf2,0x7c,0x57,0xd5,0x23,0x64,0xde,0x68,0xa3,0xc4,0xa7,0x81,0x5e,0x81,0xf0,0x76,0x80, +0x4f,0x4c,0xb6,0x64,0xdf,0xb9,0xbe,0x9a,0x3b,0x2d,0x33,0x8f,0x1f,0x0a,0xcc,0x30,0xa4,0x18,0x80,0x39, +0x70,0xfa,0x8e,0xd2,0x75,0x44,0x1d,0x28,0x54,0x57,0x34,0xe8,0xd3,0xb9,0x8e,0xc6,0x93,0x30,0x67,0x3d, +0x4b,0x33,0x07,0x63,0xd2,0xcc,0x82,0x2f,0xb6,0x2c,0xac,0xaa,0xa4,0xb9,0xdf,0xdb,0xf0,0xab,0x30,0x68, +0x56,0xf5,0x06,0xfe,0x02,0xe1,0x6b,0xf3,0xd0,0x4b,0x1f,0x4b,0xe3,0xc3,0xe6,0x23,0xcd,0xf0,0x80,0x5f, +0xcc,0xda,0x02,0x0b,0xa7,0x91,0xd1,0x2b,0xbd,0x33,0x8e,0xb2,0x39,0x7c,0xf7,0x1b,0x68,0xfe,0x3f,0x70, +0x84,0x0d,0xc2,0x23,0x77,0x90,0x1a,0xf6,0xca,0x1d,0x7e,0x46,0x55,0xbd,0x38,0xa3,0x0c,0xb7,0xa6,0x8b, +0x29,0x06,0x16,0xc2,0xc0,0x55,0x61,0xd3,0x19,0x25,0x63,0xcd,0xff,0x75,0x5a,0xb8,0x31,0xd2,0x0b,0x02, +0x38,0xbd,0x9f,0xa0,0xb1,0xf8,0xcf,0xe9,0xac,0xb9,0x03,0xdb,0xcf,0x00,0x8d,0xa5,0xc2,0x60,0x5c,0x14, +0x7e,0xb4,0x4b,0x48,0x37,0x28,0x02,0x87,0x83,0x3e,0xb2,0xb7,0xf1,0x7d,0x61,0xaf,0xc3,0x5d,0xbb,0xa6, +0x2a,0x1a,0x37,0x68,0xd8,0x3b,0x21,0x49,0x6c,0xbf,0xb1,0x80,0xca,0x1e,0xb5,0xa2,0x96,0xe3,0x42,0x07, +0xdb,0x69,0x38,0x0f,0x83,0xbc,0x71,0x4e,0x8f,0xc6,0xe2,0xcf,0xe0,0x76,0x77,0x9b,0xaa,0x45,0x8b,0x24, +0xb2,0x9a,0xbf,0x9c,0x09,0xa3,0x4e,0xa1,0x09,0x57,0x7d,0x78,0xd2,0xe8,0x81,0xe0,0x67,0x02,0xb0,0x5c, +0x5e,0x6a,0xd0,0xdd,0xbb,0x02,0xa5,0xb4,0xb7,0x66,0x0d,0x08,0x6a,0x45,0xe2,0x1e,0x75,0xb0,0x07,0x03, +0xae,0x83,0xf5,0x06,0x96,0x56,0xc0,0xe0,0x67,0x0c,0xe9,0x96,0xb7,0x8d,0x0e,0xbb,0xcc,0xfa,0xc8,0x8b, +0xa3,0xf2,0x2e,0x1e,0x9a,0x26,0x32,0x72,0x38,0x09,0xfa,0xd1,0x9e,0x2d,0x0b,0x31,0xa9,0xcf,0x79,0xcf, +0xf3,0x50,0x5a,0xd4,0x90,0x6d,0x95,0x0d,0xee,0x60,0x91,0x66,0x49,0x8a,0x60,0x64,0x61,0x25,0xa0,0xab, +0x95,0xbe,0x5e,0x84,0x0d,0xfe,0xc9,0xbb,0x46,0x1b,0x2d,0xdd,0xe6,0x21,0x96,0x3c,0x0f,0xe2,0xab,0x20, +0xab,0xc2,0x1f,0x11,0xa0,0x51,0xea,0x51,0x83,0x14,0xea,0xfc,0x47,0xbd,0x47,0x8d,0x69,0x48,0xb6,0x41, +0x8f,0x9e,0x74,0x1f,0x35,0xd8,0xcf,0xe2,0x23,0x28,0x84,0x98,0x70,0x85,0x56,0x9c,0x01,0x82,0x31,0x96, +0xd5,0x9e,0xaf,0x89,0xff,0x11,0x4c,0xfa,0xbb,0xe0,0x0f,0xf0,0x77,0xc7,0x1f,0x0a,0x89,0x87,0xcd,0x15, +0xdd,0x00,0xc0,0xfb,0x75,0x03,0xce,0x8b,0x3b,0x75,0x03,0xe0,0xef,0xde,0x0d,0x3a,0x94,0x56,0xf4,0x00, +0x60,0xee,0xd7,0x83,0xc3,0x70,0x7c,0xa7,0x1e,0x00,0xfc,0xdd,0x7b,0x00,0x85,0x56,0xe0,0x0f,0x10,0xf7, +0xc3,0xff,0x55,0x8a,0x91,0x2e,0xef,0xd2,0x03,0x2a,0x71,0xf7,0x3e,0x50,0xb1,0x15,0xbd,0x20,0x98,0xfb, +0xf5,0xe3,0xd9,0xec,0x8e,0x2b,0x1a,0x0b,0xdc,0xbd,0x17,0xcf,0x56,0x4f,0x25,0x04,0xb9,0x5f,0x1f,0xf6, +0x67,0xf3,0x69,0x70,0xa7,0x4e,0x50,0x89,0xbb,0xf7,0x82,0x8a,0xad,0xe8,0x06,0xc1,0xdc,0xaf,0x1f,0x1f, +0x58,0x11,0xa3,0x0e,0x69,0x91,0xfd,0x2c,0xf9,0x6c,0x43,0xb3,0x57,0x6c,0x3f,0x64,0x91,0x08,0xeb,0x8b, +0x8e,0x1d,0x1d,0x5d,0x6e,0x58,0xd8,0x56,0x16,0x0e,0x50,0x85,0x6b,0x5f,0xfd,0x3c,0xf0,0x1a,0x1d,0x1b, +0x3d,0x8b,0x64,0xee,0x53,0x09,0xcc,0x59,0x62,0x16,0xc9,0xd6,0x60,0xed,0xcb,0xe4,0x8f,0x36,0x6a,0x97, +0xb4,0xa5,0x3b,0x07,0xf6,0xb6,0x24,0xb3,0xd9,0x66,0x7f,0x09,0xc4,0xea,0xb2,0x74,0xcc,0xb7,0x51,0x5f, +0x0d,0xbd,0xea,0x4a,0x18,0x4f,0x70,0x71,0x18,0x59,0xf9,0x73,0x8e,0x0e,0x66,0x2c,0x87,0x78,0xc5,0x56, +0x81,0x9c,0x75,0xa4,0x05,0x07,0x82,0x26,0x09,0x96,0x72,0x26,0xed,0x0c,0x66,0x00,0x13,0xce,0x54,0x59, +0x59,0x59,0x61,0xd5,0xf0,0x67,0xd4,0xb6,0x3e,0x6a,0x3c,0x2f,0x2b,0x55,0x72,0xf2,0x37,0xa1,0x79,0xc7, +0x9a,0xd7,0x41,0x59,0x3a,0x7d,0x2f,0xaa,0xe4,0x94,0x7b,0xe2,0xb9,0x7e,0x75,0x6b,0x21,0x77,0x5e,0xe9, +0x30,0x57,0xf7,0x4d,0xb4,0xbc,0x53,0xad,0x7c,0xb3,0x28,0xf3,0x97,0xa5,0x0b,0x84,0xc5,0x43,0x55,0xb8, +0xbd,0xe3,0xa5,0x7e,0x0e,0x57,0x64,0xe5,0xe0,0x9a,0x99,0x52,0x11,0x00,0x15,0x03,0xf7,0xe1,0x7e,0x81, +0xfa,0x8b,0x1d,0xde,0x68,0x42,0x2f,0xea,0x88,0x8d,0x26,0x54,0xd1,0x09,0x50,0x33,0x93,0x62,0x34,0xc4, +0x1c,0xa4,0x67,0x07,0x5d,0xbc,0x89,0xc8,0x46,0x14,0xd2,0xa8,0x08,0x63,0xd0,0x1d,0x24,0x90,0x96,0xc8, +0x70,0x00,0xe2,0x22,0x9f,0xfd,0x33,0xcd,0x9b,0xf4,0x6b,0x9e,0x5c,0x37,0xe1,0x52,0x82,0xae,0x3d,0xd5, +0x77,0x40,0xdf,0x1c,0x82,0xb4,0x19,0xef,0xe5,0xad,0x1d,0x57,0xea,0xf6,0x35,0x11,0xd8,0x87,0x7b,0x68, +0xb0,0x9b,0x0e,0xff,0xde,0xed,0xef,0xfc,0xd0,0xed,0xb3,0xcd,0x41,0x1e,0xc4,0x4d,0xb8,0xd7,0x07,0xee, +0x36,0x82,0xb8,0xee,0x36,0x25,0x7f,0x78,0xb3,0xd5,0xfb,0x5b,0xd7,0x6d,0x35,0x13,0x80,0x87,0x5f,0x7d, +0xf8,0x8d,0x72,0xbf,0x87,0xe8,0xf3,0x79,0xec,0xc7,0xdb,0xb9,0x37,0xf5,0x9b,0xca,0x6a,0x61,0x46,0x99, +0x2d,0x01,0xb0,0xdb,0xdb,0xe9,0x0e,0x7b,0xfd,0xd9,0xde,0xce,0xe3,0xee,0xb0,0x09,0x1f,0xed,0x02,0xb0, +0x4d,0xd2,0xc3,0xed,0xa7,0xdd,0xfe,0x8c,0xc0,0x28,0x7b,0x46,0x09,0x5d,0x6f,0xe1,0x6b,0x80,0x90,0xe1, +0xee,0x3e,0xc5,0x8a,0xca,0x89,0xaa,0x5c,0x29,0x43,0xd4,0x72,0xae,0xd7,0x02,0x28,0x54,0x6b,0xa1,0x44, +0x5b,0x2d,0x98,0x21,0x6a,0x99,0x97,0xb5,0x98,0x9a,0x53,0x94,0xd4,0x4c,0x49,0x52,0x33,0x76,0xe1,0x26, +0x7f,0x50,0x81,0x58,0x20,0xc4,0xa2,0x80,0xb8,0xa8,0x40,0x9c,0x23,0xc4,0xb9,0x82,0x18,0x90,0x26,0xf9, +0x8c,0xb5,0xde,0x85,0xfa,0xd1,0x9c,0x14,0x3f,0x0e,0xe8,0xff,0x17,0xa8,0xfc,0xe1,0x31,0xd0,0x21,0xba, +0xed,0x49,0xbc,0xc0,0xc3,0x17,0xfb,0x5b,0x25,0x2d,0xeb,0xe4,0x09,0x4d,0xdc,0xc3,0x1f,0xab,0x02,0x85, +0xb2,0xfd,0x7b,0x66,0x13,0x20,0xe8,0x96,0x59,0x28,0x8c,0x59,0x0a,0x52,0x2f,0xa2,0xd0,0xbc,0x9e,0x90, +0x18,0x67,0x29,0x08,0x8a,0x1a,0x89,0x59,0x5e,0x0e,0x56,0xc8,0x67,0x34,0xd9,0x91,0x78,0x8e,0x2c,0xc9, +0x76,0x52,0x53,0xf4,0xd3,0xd1,0xf4,0x19,0xd5,0xaa,0x8a,0xd0,0xc9,0x8c,0x26,0x04,0xd2,0xa4,0x47,0xd3, +0x20,0xdb,0x87,0x73,0x38,0x1a,0x2d,0xf2,0x50,0xc4,0x10,0xb8,0x3e,0x9f,0xb7,0x51,0x9f,0x6e,0x73,0x53, +0x69,0x06,0xa7,0x27,0xd1,0xe9,0xe6,0x66,0x13,0xff,0xf8,0x5a,0x61,0xa0,0x48,0x5d,0x61,0x4f,0xba,0x6f, +0xc4,0x32,0x43,0x2a,0xb8,0xd1,0xc5,0x90,0xb2,0xb3,0x4c,0xa6,0xca,0x0a,0x31,0x2c,0xf4,0xc0,0x40,0x95, +0x44,0xb7,0x4a,0x49,0x56,0xef,0x1e,0xc0,0x4b,0x07,0xcd,0x51,0xad,0x0e,0x77,0xa4,0x74,0xb8,0x07,0x35, +0x56,0xbb,0x42,0x95,0x38,0x3b,0x1d,0x1a,0x5f,0x84,0x8f,0xb0,0x28,0x2e,0x1a,0x24,0x64,0xe5,0xb4,0x63, +0xf3,0x82,0xfa,0x89,0x54,0x91,0x49,0x55,0x85,0x4e,0x4d,0xd7,0x43,0x41,0x15,0xdb,0x9f,0x49,0xd1,0x94, +0xf6,0xa5,0x0b,0xa3,0x0a,0x62,0x93,0x9e,0x37,0x06,0xe6,0x73,0x46,0xb3,0xe4,0x1c,0x1d,0x42,0x1b,0xc3, +0xce,0x2a,0xb3,0xc2,0x48,0x4e,0x4c,0xd6,0x7a,0x69,0x02,0x39,0x9b,0x0a,0x75,0x60,0x0c,0x3f,0x6a,0x57, +0x12,0x27,0x05,0x72,0x0f,0xa3,0x77,0x02,0x3f,0x95,0xef,0x5f,0xe4,0x42,0xbd,0x5c,0xa2,0xe5,0x44,0xf1, +0x2c,0x8a,0x69,0x50,0x99,0xbb,0x12,0xd2,0x31,0xc7,0x1d,0x46,0x66,0x82,0x04,0x6d,0x73,0x0f,0xdc,0x7e, +0x39,0xbf,0x5c,0x41,0x11,0x13,0xd5,0x68,0x31,0x95,0x5e,0xe1,0xe5,0x14,0x49,0xcb,0x91,0x03,0xb1,0xe9, +0x72,0x30,0xc1,0x2a,0x10,0x22,0x50,0x86,0x92,0xe6,0x64,0xc2,0xee,0x54,0x91,0x4b,0x24,0x8e,0xd3,0xe0, +0x9a,0x2f,0x03,0x59,0x53,0x99,0x9e,0xb1,0x1f,0x40,0x99,0x8c,0x48,0xe3,0x29,0x7e,0x01,0x27,0x66,0xb6, +0x42,0xfc,0x83,0x95,0x9f,0x11,0xe0,0x19,0xd1,0x44,0x96,0x1d,0xcd,0x16,0xe9,0x3a,0x45,0x11,0x4e,0x94, +0x74,0xfb,0xe2,0x7d,0xd6,0x26,0x5a,0x45,0x39,0xae,0x4d,0xe2,0xba,0x7a,0x86,0x58,0x4a,0x21,0x92,0x62, +0x00,0x2a,0xa2,0xca,0x48,0xf6,0x60,0x19,0x63,0x54,0xe9,0x86,0x02,0x3e,0x23,0x8d,0x6f,0x29,0x2c,0xb6, +0x22,0xc9,0x89,0x82,0x53,0x5a,0x4d,0x63,0x9a,0x32,0x82,0xc4,0x5c,0xb9,0x28,0xba,0x92,0xc4,0x5c,0x92, +0x28,0x2c,0xb1,0xe2,0x92,0x9f,0xc2,0x2f,0x2b,0xe4,0x9b,0x5c,0x94,0xe0,0xd4,0x6d,0x82,0xac,0xc4,0xd6, +0x28,0xc5,0x80,0xb0,0xac,0xca,0x96,0x18,0xc6,0x72,0xa7,0xa3,0x46,0xac,0x76,0x19,0x3f,0xa2,0x59,0x85, +0x28,0x9d,0x0d,0x7c,0x40,0x09,0x3b,0xaf,0x7e,0xc5,0x2e,0xa6,0x0a,0x2b,0xe5,0xff,0xe6,0xbb,0xc3,0xda, +0x4d,0x98,0x59,0xca,0x52,0x60,0x28,0xbd,0x05,0xec,0xd3,0xe2,0xc3,0x48,0xed,0x49,0x3c,0x83,0x59,0xd4, +0x97,0x6b,0x54,0x25,0x61,0xcc,0x8e,0x8a,0x5c,0x54,0xf3,0x74,0x10,0x42,0x1f,0x92,0x2f,0x65,0xe1,0x68, +0x5e,0xde,0xdb,0x4a,0x5b,0xe9,0xd2,0x3d,0x94,0xd6,0xca,0x28,0xbc,0xc0,0x00,0xf1,0xfa,0xae,0x93,0xab, +0x78,0xaf,0x18,0xfb,0x83,0x7c,0xfe,0xd3,0xe0,0x5e,0x5c,0xd4,0xce,0x43,0x95,0x6f,0x9f,0x6c,0x2a,0xbb, +0x66,0x46,0xa9,0xfc,0xba,0xc9,0x83,0x00,0xf6,0x4d,0x1b,0xb7,0x02,0x17,0x23,0xa1,0x86,0x79,0xb8,0xe2, +0xcc,0x32,0x76,0xba,0x35,0x28,0xa9,0x93,0x0c,0xf6,0x88,0x8d,0xde,0x40,0x86,0x5d,0x22,0x19,0x04,0xec, +0xf2,0x86,0x28,0x1a,0x03,0x08,0x48,0x6a,0xa7,0x8a,0xc4,0x79,0x61,0xc6,0x2c,0xc0,0xc5,0x99,0xe0,0x69, +0x39,0x74,0x1c,0x08,0xf7,0x11,0xc2,0x37,0x70,0x14,0xc7,0x61,0x4a,0xc6,0x1c,0xbb,0x50,0x9b,0x66,0xdb, +0xb1,0xb9,0x29,0x5a,0xd9,0xd0,0x5a,0x91,0x10,0x64,0x24,0x00,0xec,0x52,0xb5,0x55,0xce,0xa7,0xe7,0xa9, +0xfb,0xc8,0x36,0xa4,0xa0,0x45,0x05,0x2a,0xd1,0x1a,0x80,0x84,0x71,0x88,0xbe,0xa3,0xd5,0x25,0x88,0x58, +0x1b,0xf9,0x86,0x26,0xe3,0x76,0xd3,0x99,0x2e,0x0d,0x40,0x2c,0x6f,0x6d,0x64,0x61,0x45,0xfa,0xcf,0xd7, +0x4e,0x3f,0xf0,0xad,0x68,0x42,0x23,0xba,0x9e,0xb4,0x0d,0xee,0xf5,0x22,0x34,0xa1,0x32,0x1b,0xd4,0x51, +0x90,0x9b,0x50,0x57,0x36,0xa8,0x5f,0x82,0x52,0x8b,0xa9,0x0d,0xea,0x10,0xad,0xf6,0x75,0xa8,0x89,0x0d, +0x8a,0xe4,0x91,0x26,0xdc,0xc8,0x06,0x87,0x22,0x3f,0x13,0x2c,0xb0,0x81,0x91,0x48,0xcd,0x84,0x9b,0xdb, +0xe0,0xd4,0xb8,0xdd,0x0a,0x7b,0x54,0xb4,0xe5,0x28,0xb9,0x10,0x93,0x53,0x3e,0x10,0xab,0xdd,0x70,0x71, +0xa2,0x86,0x97,0x5d,0x34,0x27,0xfe,0x93,0xee,0x56,0xda,0x11,0x86,0x49,0x83,0x52,0x73,0x25,0x91,0x17, +0x5f,0x8f,0x31,0xc0,0xae,0x70,0x4a,0xfe,0xad,0x73,0x2f,0x4e,0xe0,0x4e,0xdd,0x51,0x13,0x0e,0xaf,0x09, +0x9d,0xc2,0xfc,0x6a,0x73,0x73,0x23,0x92,0xd7,0xe1,0xee,0x20,0xd6,0xdd,0x14,0x38,0x8e,0xc7,0xc8,0xc0, +0xaf,0x5b,0x8c,0xc5,0x65,0x9a,0x2e,0xea,0x8a,0x07,0xf8,0x0a,0x39,0x6b,0xe9,0x3a,0x0c,0x82,0x7b,0x63, +0xaf,0x06,0xc2,0xbf,0x57,0xe1,0x48,0x7b,0xfe,0x99,0xfc,0x75,0xbb,0xad,0xda,0x12,0xc2,0x5d,0x97,0xa5, +0x08,0xb0,0x10,0x70,0xa3,0xe0,0x75,0xce,0x9e,0x3f,0x74,0xa4,0x67,0x2d,0x84,0xbc,0x15,0xa1,0x26,0x72, +0xb3,0x3f,0xb7,0x4c,0xd3,0x71,0xdd,0x42,0x29,0xd1,0x0a,0x2e,0xf3,0xd6,0xb1,0xba,0x1b,0xb5,0xc7,0x8c, +0x83,0x20,0x65,0x2e,0xe4,0x1f,0x70,0x13,0xa1,0x2e,0x09,0xf7,0x13,0x2a,0x15,0xfa,0x33,0x36,0x6d,0x58, +0x17,0x80,0xc4,0x35,0x77,0xb6,0x3d,0x36,0xfa,0xde,0xd6,0xa8,0x37,0x5e,0x8b,0xde,0xf5,0x25,0x6a,0xe9, +0x5d,0xd8,0xb9,0x6a,0x88,0x60,0xbf,0xa6,0x25,0x23,0xcc,0x73,0x7d,0xf8,0xa7,0x77,0x1e,0xfe,0xe9,0x9a, +0xe8,0x4c,0xd7,0x20,0x67,0x73,0xd1,0x56,0xe8,0xb5,0x7b,0xee,0xd6,0xb9,0xbb,0x2d,0x3f,0xe5,0xf4,0x58, +0xef,0xca,0x66,0xf0,0xf4,0xc5,0xf1,0xc7,0xf1,0xa0,0x34,0xcd,0x08,0xb1,0x1b,0x68,0x75,0x9a,0x97,0x34, +0x91,0xcf,0xd1,0xa6,0x4a,0x8c,0x95,0x32,0x13,0x3e,0xe9,0x9e,0x92,0xef,0xe0,0x22,0xa1,0x77,0xca,0x5c, +0x12,0x1e,0x5b,0x76,0xcb,0xe0,0x4a,0x93,0x91,0x79,0x04,0x67,0xd2,0x61,0x0b,0xf4,0xce,0x0b,0xfc,0x9e, +0x47,0x7b,0x51,0x24,0xf7,0x22,0x2f,0x86,0x24,0x58,0xf8,0x1e,0x3a,0x72,0x9f,0xa2,0x33,0x77,0x1f,0x25, +0x45,0x28,0xe7,0xe9,0x0d,0xa2,0x0e,0x9a,0x71,0xb2,0x21,0x71,0x27,0x00,0xb0,0x92,0xd8,0x06,0xae,0x3c, +0x30,0x59,0xab,0xa9,0x13,0x5c,0x38,0x95,0xd4,0x91,0x0b,0x95,0xc3,0x35,0x16,0xaa,0x87,0xe3,0x0b,0x1a, +0xc8,0x3a,0x57,0xbc,0x1c,0x0f,0xfc,0xf2,0xd3,0x41,0xf1,0x42,0xc1,0x4b,0x68,0xe3,0x00,0xaf,0xbf,0xe5, +0xbd,0x95,0x66,0xdd,0x85,0x7f,0x20,0x04,0x98,0x15,0x19,0xe2,0xe0,0xa2,0x24,0x46,0x42,0xb3,0xa0,0x19, +0x49,0x90,0xc6,0xf4,0x7f,0x36,0x2e,0x8a,0x49,0x9a,0x74,0xd1,0x39,0xc7,0x88,0x87,0x24,0x4e,0xea,0x7a, +0x5d,0x12,0x27,0x79,0x17,0x85,0x88,0x49,0xa6,0xdd,0x2a,0xc7,0x28,0x8a,0x31,0x24,0x22,0x6d,0x54,0x47, +0x7f,0x52,0xe9,0x97,0xf6,0x5c,0x24,0x3a,0x36,0xb1,0x74,0xec,0xeb,0x57,0x61,0xfe,0x79,0xe5,0x4f,0xea, +0xfa,0xe6,0x5d,0xfb,0x57,0xe2,0x4a,0xf6,0x23,0x5c,0x9a,0x83,0xf4,0x15,0x86,0x13,0x42,0xa1,0x2b,0x22, +0xda,0xc5,0xd3,0xe3,0x9a,0xd8,0x0d,0x1c,0xf8,0xa3,0x3c,0x99,0x43,0x7a,0x1d,0x09,0x7a,0x2e,0xd6,0x67, +0x42,0xf7,0x6a,0xa1,0xbb,0x08,0x7d,0xa5,0x51,0xf6,0x1a,0xbe,0x4c,0xda,0xa1,0x03,0x06,0x01,0x62,0xa4, +0xdd,0x72,0xa8,0x93,0x32,0x55,0xd4,0x93,0xac,0xa0,0xc9,0x87,0x65,0x34,0xf9,0xe8,0x7f,0xa8,0xa5,0xc9, +0xc8,0xff,0xb8,0x82,0x26,0x23,0x1b,0x4d,0x70,0x82,0xea,0x5d,0xc4,0x0e,0x8e,0x6c,0xe4,0x40,0x78,0x13, +0xec,0xa3,0x46,0x87,0x91,0xf8,0xaa,0x76,0xf9,0xf7,0x4a,0x97,0xb5,0x37,0x5c,0xd1,0xe9,0xdf,0x97,0x75, +0xfa,0x27,0xff,0xf7,0xda,0x4e,0x7f,0xf2,0x7f,0x5a,0xd1,0xe9,0x4f,0xd6,0x4e,0xf3,0xc8,0x72,0xd7,0x45, +0x6f,0x3e,0x59,0x3b,0xcd,0x80,0xdd,0x02,0xec,0x27,0xad,0xd3,0x9f,0xc4,0x57,0xb5,0xd3,0x5f,0x2a,0x9d, +0x2e,0x5e,0x7c,0x45,0x9f,0xbf,0x2c,0xeb,0xf3,0xa5,0xff,0xa5,0xb6,0xcf,0x47,0xfe,0xe5,0x8a,0x3e,0x1f, +0x2d,0xe9,0x33,0x8f,0x21,0xaa,0xdc,0x63,0x55,0x4b,0xfa,0xcc,0x80,0x34,0xe1,0x2f,0xb5,0x3e,0x1f,0x89, +0xaf,0x6a,0x9f,0xdf,0x55,0xfa,0xfc,0xba,0xd4,0xe5,0x77,0xcb,0xba,0xfc,0xc6,0x7f,0x57,0xdb,0xe5,0xcf, +0xfe,0x9b,0x15,0x5d,0xfe,0x5c,0xe9,0xf2,0x77,0x17,0xdd,0x2e,0x16,0x35,0x33,0x3a,0xbd,0xa7,0xfc,0xdf, +0x0f,0x08,0x71,0x61,0x83,0xf8,0x5e,0xfe,0x07,0x10,0x5d,0x2b,0xc4,0x13,0xca,0xb9,0xb0,0xe4,0x3c,0xd5, +0x6a,0xef,0x76,0x6d,0x10,0x7f,0xd3,0x6a,0xbf,0xb0,0x41,0xf4,0x14,0xea,0x6f,0x34,0xb2,0x7f,0x16,0x5f, +0x55,0xb2,0xbf,0xae,0x90,0x5d,0xa9,0xdb,0x08,0xb2,0xbf,0x5e,0x46,0xf6,0x33,0xbb,0xa3,0x03,0xa5,0x6d, +0xdb,0x5c,0xc0,0xce,0x3f,0x77,0x07,0x67,0x9d,0xb4,0x7c,0xac,0x9d,0xe1,0x11,0x78,0xd6,0x99,0x54,0xd3, +0x27,0x98,0x3e,0xaa,0xa6,0x8f,0xf8,0xcc,0x3b,0xf4,0x5f,0xd7,0x0e,0xf5,0x5b,0xff,0x70,0xc5,0x50,0xbf, +0xad,0x99,0xdd,0x67,0x68,0xf1,0xec,0xe1,0xdf,0x89,0xf8,0x3b,0xe2,0x25,0xfb,0xb6,0x66,0x96,0x97,0xd0, +0x9b,0x5b,0x0d,0xaf,0xeb,0x53,0xb1,0xea,0x43,0x6d,0x88,0xde,0x8a,0xaf,0xea,0x10,0xbd,0xaf,0x0c,0x91, +0x52,0x25,0x12,0x43,0xf4,0x7e,0xd9,0x10,0xed,0xaf,0x1e,0xa2,0x73,0x38,0xc7,0x06,0xfb,0xd5,0x21,0xda, +0xc7,0x21,0xda,0xaf,0x0e,0xd1,0x3e,0x0e,0xd1,0x7e,0x75,0x88,0xf6,0xe5,0x10,0xbd,0xf2,0xdf,0xd7,0x0e, +0xd1,0xb1,0xff,0x6a,0xc5,0x10,0x1d,0xd7,0x0c,0xd1,0xbe,0x18,0xa2,0x7d,0x31,0x44,0xfb,0x72,0x88,0x8e, +0xab,0x6b,0xa0,0x4b,0x6b,0xe0,0x95,0x46,0xe0,0x63,0xf1,0x65,0x12,0x78,0x2d,0x56,0xd6,0x90,0x43,0x97, +0x9e,0x21,0x56,0x73,0xb2,0x75,0xa2,0x1e,0x62,0x2c,0xc9,0x78,0x80,0xd8,0xd4,0xfc,0x0e,0x6c,0x6a,0x8d, +0xac,0x02,0xe7,0x42,0x54,0xcb,0xee,0x65,0xf6,0x72,0x42,0x6b,0x00,0x9f,0x8d,0xad,0xf9,0x42,0x7d,0x11, +0x00,0x84,0x36,0xf8,0x79,0x92,0x35,0x77,0xb6,0xe4,0xa3,0x2e,0x4c,0x24,0x17,0xfe,0x97,0x49,0xcd,0xf0, +0x2c,0x8a,0x6d,0xb9,0x33,0x3f,0x92,0x17,0xa0,0xed,0x1d,0xe0,0x7c,0x23,0x75,0xf9,0xd8,0xde,0x19,0x64, +0x9a,0x9b,0x62,0x6f,0xd6,0x4a,0xb6,0x34,0x58,0xba,0x74,0xb8,0x9e,0x00,0x81,0xe1,0x75,0xbc,0x71,0x3b, +0xde,0xd2,0xcb,0x0b,0x90,0x5e,0x49,0xea,0x68,0xf8,0x42,0x91,0x9e,0x7f,0xea,0x21,0x36,0x37,0xbb,0x65, +0xb1,0x25,0x70,0xa7,0x43,0xe1,0x6d,0x3b,0x99,0x07,0xe7,0xc0,0xf4,0xe3,0x91,0xd6,0x2f,0x27,0xf5,0xda, +0xcd,0xb4,0x73,0xb5,0xdb,0xd9,0x19,0x76,0x76,0xfa,0xf0,0x4b,0x88,0x2e,0x2a,0x37,0xe0,0xca,0x89,0x36, +0xad,0x1d,0xab,0x85,0xad,0xac,0x1c,0xa9,0xc1,0x42,0x23,0x06,0x50,0x78,0x6b,0x6a,0xde,0xe4,0xb8,0xf9, +0x73,0x9b,0x10,0xca,0x68,0xfe,0xbc,0xb6,0xf9,0xb9,0xad,0xac,0x6a,0x7e,0xae,0x35,0xdf,0xec,0xb5,0x61, +0x78,0xe1,0x9a,0x68,0x43,0xe1,0xc0,0x26,0xe1,0x32,0x50,0x58,0x76,0x39,0xb1,0x94,0x55,0x28,0x5c,0x94, +0x51,0xb8,0x72,0xb7,0x0e,0x6c,0x28,0x4c,0x6c,0xe2,0xb3,0x95,0xd7,0x08,0x79,0x87,0xb0,0x94,0x55,0x28, +0x5c,0x95,0x51,0x48,0xdd,0xad,0x89,0x0d,0x85,0x6b,0xbb,0x6c,0xce,0x40,0xe2,0xba,0x16,0x89,0x0f,0xf6, +0xd2,0x0a,0x8d,0x0f,0x65,0x34,0x26,0xee,0xd6,0xb5,0x0d,0x8d,0x8f,0x56,0xd1,0x9f,0x81,0xc5,0xc7,0x5a, +0x2c,0x46,0xd6,0xc2,0x0a,0x89,0x51,0x19,0x89,0x91,0xbb,0xf5,0xd1,0x86,0xc4,0xef,0x76,0xc1,0xe2,0x4a, +0x76,0x5e,0xf2,0xf2,0xd6,0xd2,0x0a,0x8d,0x9f,0xca,0x68,0x04,0xee,0xd6,0xef,0x65,0x34,0xee,0xb2,0xe3, +0xdb,0x02,0x19,0x98,0x31,0x56,0xf4,0x77,0xcb,0x9a,0x57,0xcb,0x75,0x5a,0x7a,0x43,0x8a,0x12,0x77,0x3d, +0x59,0xca,0xaf,0x2f,0x65,0xe3,0x15,0xf1,0x18,0x3e,0x91,0x8f,0x4c,0xae,0x7c,0x76,0xd2,0x60,0xca,0x20, +0xa5,0xb7,0x25,0xe1,0x98,0x0a,0x55,0x0a,0x98,0xb8,0x85,0x3d,0x83,0x63,0xb8,0x60,0x6a,0x6a,0xc2,0x12, +0x76,0x5f,0x23,0xab,0xa2,0xb4,0xce,0xd5,0x5e,0xe7,0xc9,0x50,0xd4,0x71,0xce,0x51,0xd9,0x9d,0xd1,0x2c, +0xa0,0xe7,0xea,0x52,0xf2,0x35,0x05,0x4f,0x77,0x97,0x28,0x9f,0x30,0xd1,0xf6,0x81,0x58,0x57,0xe4,0x93, +0x33,0x4d,0x66,0x86,0x3e,0x87,0x14,0xad,0x16,0xcf,0xa8,0xfa,0xd9,0x1a,0xe8,0xe5,0x1c,0x56,0x6f,0xea, +0x6e,0x28,0xcf,0x47,0xf2,0xb4,0x6c,0x96,0x9e,0xa9,0x34,0xb2,0xd0,0x61,0x69,0x9c,0xe1,0x52,0xa3,0x23, +0x65,0xbf,0xa4,0xf8,0x44,0x62,0x3a,0x30,0x65,0xf3,0x8b,0xc2,0xc7,0x1e,0x51,0x94,0x60,0xfd,0x1a,0xd0, +0xc2,0xc9,0x29,0x03,0xfe,0xba,0x0a,0xf0,0x57,0x7a,0x40,0x56,0x6b,0xc7,0x64,0x0e,0xb8,0x57,0x09,0xf4, +0x72,0x19,0x0f,0x10,0xfb,0x4d,0x2b,0x40,0xc1,0x04,0x48,0xac,0xdb,0x11,0x3e,0xa1,0x65,0xf8,0xa0,0xdd, +0xc1,0x83,0xbb,0xad,0x9d,0xd9,0xee,0x76,0x53,0xff,0x42,0x1b,0xb1,0xb6,0x28,0xf7,0xab,0x5e,0x0e,0x16, +0x6a,0x5b,0x3f,0xc8,0xa9,0x9c,0xf6,0x49,0xcc,0x51,0xad,0x73,0x30,0x97,0x65,0xfc,0x0a,0xa1,0x66,0xa4, +0xf1,0x9c,0xcf,0x84,0xcb,0xb2,0x83,0x19,0xf2,0x96,0xc4,0xf3,0x09,0x3c,0xa5,0x3f,0x31,0xfa,0x72,0x97, +0xa0,0x6d,0x60,0xbd,0xba,0x72,0xec,0x8c,0xaa,0x1b,0x3e,0xdc,0xe5,0x5d,0x63,0x61,0xba,0x45,0x07,0x2f, +0x36,0x34,0xf0,0x66,0xa4,0x7f,0x37,0xa6,0x88,0x08,0x63,0x8c,0x88,0x90,0x75,0xd0,0x83,0xda,0xe6,0xe6, +0x78,0x97,0x7f,0x29,0x5f,0x6a,0x04,0x20,0x22,0x7b,0x4f,0xd1,0xf2,0x2e,0x26,0x8e,0x06,0xed,0xef,0x0a, +0xbd,0xbc,0xd9,0x76,0x0c,0x98,0x28,0xfe,0xcc,0x1d,0x4c,0x29,0xec,0xc2,0xb4,0x85,0xbe,0xff,0xbd,0x99, +0xfe,0x21,0xdf,0xa7,0x5f,0x67,0x57,0xcd,0xa9,0x37,0xf6,0x02,0x38,0x63,0x0b,0xdb,0xcb,0xca,0x3c,0x33, +0xc5,0xfb,0xb5,0xf3,0x4d,0x6a,0x57,0x22,0x75,0x6b,0xa6,0x84,0xbb,0x5d,0x50,0x6a,0x8d,0x19,0xa0,0xd5, +0x73,0x8f,0x41,0x32,0x1a,0x63,0xce,0x0b,0xa8,0x00,0x34,0x9b,0xed,0xf5,0x50,0xe3,0x70,0x20,0xe9,0xbd, +0x28,0xd3,0x7b,0xb8,0xf0,0xbb,0x7d,0x95,0xbb,0xd7,0x6b,0x57,0xc7,0x63,0xa1,0x0f,0xd8,0x02,0x36,0xc0, +0x2a,0xcc,0x62,0xb7,0xf3,0xa4,0x65,0x2b,0x89,0x43,0x90,0x68,0xe7,0xd9,0x42,0x63,0x79,0x05,0xc3,0x6b, +0x59,0xec,0xf4,0x36,0x28,0x22,0x26,0x00,0x41,0xf1,0x7a,0xd7,0x6b,0x2f,0x60,0xec,0x26,0xf0,0x6f,0x64, +0x2d,0x22,0x1e,0x0a,0xcd,0x42,0x41,0x27,0xf5,0xb8,0xa0,0xbd,0x10,0xbf,0x1a,0x56,0xcb,0x60,0x43,0xa8, +0xb0,0x68,0x2b,0xf3,0xda,0x2c,0x82,0xf3,0x0a,0x1b,0xc8,0x68,0x66,0xd9,0x0a,0xd0,0xa3,0xa9,0x59,0x20, +0xe8,0x4c,0x05,0x5e,0xf6,0x22,0xf4,0x82,0x5a,0x2d,0x82,0xad,0xd4,0xa1,0x25,0x5e,0x36,0x8b,0x42,0x94, +0x40,0x6a,0x97,0xb7,0x4b,0x34,0x24,0x26,0x42,0x39,0xa4,0x8e,0x35,0xa0,0x93,0x61,0x69,0x71,0x56,0x57, +0x2c,0xeb,0x06,0x9b,0x7a,0x00,0x36,0x67,0xba,0xa9,0xb0,0x08,0x45,0x25,0x05,0xe9,0x99,0x71,0xcf,0xef, +0xca,0xb3,0x9d,0x8f,0x5b,0xc3,0xe1,0x9e,0x9e,0xbe,0xa5,0xb6,0x96,0x5e,0x57,0xab,0x40,0xaa,0xe9,0x5a, +0x32,0x6a,0x8f,0xf9,0x70,0xc9,0x09,0x9d,0x55,0xfb,0x57,0xbc,0x79,0xea,0x1e,0xc2,0xa0,0xdf,0xb2,0x93, +0xd1,0xd0,0x54,0xbb,0x89,0xa0,0x44,0x7f,0x39,0xf7,0x94,0x55,0x46,0x81,0x1c,0x40,0x72,0x85,0x95,0xe7, +0xa2,0x50,0x35,0xc0,0xcc,0x0e,0xc2,0xf6,0xa5,0x8f,0x84,0x74,0xa8,0x4d,0xe6,0xa0,0x09,0x09,0x1e,0x0c, +0x13,0xfc,0x1b,0xc1,0xbf,0x40,0x87,0x9c,0x0e,0xb5,0xf9,0x85,0x90,0x53,0x80,0xc8,0xe0,0xdf,0x55,0x19, +0x32,0x18,0x9a,0x93,0x4a,0x64,0xaf,0xec,0x13,0x62,0x60,0x50,0xce,0x23,0x7b,0x6c,0xa0,0x9f,0x54,0x1c, +0xa5,0x77,0x75,0x74,0xd2,0x2e,0x1c,0x24,0x6a,0xdc,0x48,0xd2,0x01,0xbe,0x10,0xf6,0x8e,0x89,0x9f,0xc2, +0xff,0x47,0x7e,0x24,0xbc,0x3d,0xa3,0xd1,0x71,0x02,0x13,0x23,0x2b,0x5e,0xc7,0xa5,0x09,0x38,0x37,0xa1, +0x06,0x22,0xe9,0x4c,0xfd,0x18,0x7a,0x95,0x74,0x32,0xf8,0x9b,0xc1,0xdf,0x2b,0xf8,0x7b,0x55,0xcf,0xde, +0x56,0x18,0xe1,0x40,0x2c,0x27,0x8d,0xbb,0x5d,0xc9,0x09,0x73,0xbf,0x4b,0xd6,0xe8,0x5a,0x8c,0x2e,0x73, +0x78,0x28,0x93,0x74,0x7d,0xa3,0xe5,0xd3,0x10,0xc7,0xe8,0x1b,0x68,0x39,0x25,0x5a,0x66,0x44,0xcb,0xab, +0x65,0xb4,0x54,0xf2,0xb4,0x32,0x2d,0x53,0xa0,0x5d,0x4a,0xe3,0x11,0xc3,0x7c,0xc2,0x11,0x89,0x61,0x4e, +0xfd,0xcb,0x69,0x59,0xb5,0xec,0xb7,0xd0,0x92,0x27,0xf0,0xda,0xb4,0xa4,0x59,0x6c,0x5d,0x6b,0x0d,0x45, +0x4d,0xd2,0xf3,0x2a,0xc2,0x07,0xc8,0xed,0x28,0xbc,0x43,0x8f,0xf3,0xfb,0xf4,0x78,0x9a,0x5c,0xdb,0x7d, +0x5c,0x33,0x03,0xef,0xb1,0xaa,0x05,0xfa,0x6c,0x28,0x69,0xa1,0x98,0x1b,0x2e,0x3e,0x33,0xb3,0x7b,0x5c, +0xf2,0x47,0x2a,0x35,0xd7,0xb2,0xa5,0x4a,0xbc,0x40,0x4b,0x14,0x3c,0x6e,0x74,0x51,0xad,0x4e,0xc8,0xaa, +0x6e,0xd0,0x4f,0x6d,0xba,0x36,0x27,0x22,0x75,0x33,0x5e,0x1b,0x6f,0xf2,0xe4,0xf2,0xb6,0xbe,0x92,0x2a, +0x43,0x2b,0xde,0xe8,0xd7,0xd6,0xb5,0x5d,0x72,0x67,0xd5,0x74,0xea,0x53,0xbe,0x2b,0xa2,0xdd,0x40,0x30, +0x86,0x01,0x41,0x95,0x1e,0xcd,0x77,0x30,0xaa,0xf2,0xe8,0xee,0x7f,0x51,0x2d,0xac,0x83,0xaa,0x79,0xa4, +0xc9,0x6a,0xb5,0xca,0x77,0x95,0xa6,0x5f,0x56,0x39,0x92,0x95,0xee,0x98,0xe4,0x21,0x0b,0x1b,0xf2,0xec, +0x1c,0xae,0x6c,0xb3,0x63,0xa0,0x35,0xde,0x55,0xd6,0xa7,0xee,0x20,0xde,0x4d,0x86,0x45,0x35,0x2a,0xae, +0x90,0xaa,0x0f,0x03,0x88,0xf5,0xe3,0xf2,0x20,0xec,0x25,0x2d,0x5d,0x3f,0x8e,0x93,0x81,0x89,0x33,0x80, +0x36,0x37,0x97,0x57,0x5c,0xae,0xb4,0x5d,0xad,0xb2,0x55,0xaa,0xf2,0x76,0x99,0x6e,0x26,0x52,0xda,0x66, +0xb5,0x6e,0x68,0x4b,0xe0,0x87,0x5f,0xab,0xfa,0x40,0x97,0x4f,0x1c,0xca,0xf7,0x8b,0xdc,0x54,0x8e,0x33, +0x87,0xb5,0x76,0xf0,0x58,0x29,0x8f,0x36,0x0b,0xa1,0x65,0xeb,0xdf,0xdc,0x2e,0xd3,0x0e,0x36,0x14,0x40, +0x74,0x8c,0x6b,0xfd,0xb6,0x4b,0x5d,0x50,0xe1,0x45,0x43,0x42,0x97,0xf4,0x58,0xb1,0x2b,0x35,0x59,0xbc, +0x16,0xc3,0xfc,0x38,0xba,0x0c,0x81,0xba,0xba,0xe3,0x78,0xd8,0x09,0xc4,0xb5,0xbe,0x46,0x61,0xf6,0x56, +0xc6,0x53,0xb0,0x04,0xa3,0x96,0xde,0x94,0xf6,0xe3,0x71,0x8a,0x9b,0x5e,0x67,0xab,0xf1,0x32,0x82,0xa5, +0x96,0x7c,0xde,0x06,0x6c,0x56,0x36,0x68,0xc3,0x52,0xcb,0x4e,0xe2,0x90,0xd5,0x5a,0x0d,0x53,0xc8,0x35, +0x10,0xbe,0x35,0x86,0xa3,0xa2,0x65,0x7d,0x9f,0x01,0x50,0xa6,0x2f,0xda,0xda,0xfe,0xfa,0xb5,0xa9,0xcc, +0x04,0xd2,0x62,0x8b,0x10,0xa2,0x26,0xda,0x26,0x70,0x41,0x70,0xcd,0xc0,0x7f,0x4d,0x26,0x18,0xd5,0x42, +0x44,0x10,0xb7,0xa1,0x48,0x3a,0xba,0x56,0xe9,0xcd,0x32,0xec,0x50,0x3b,0x47,0xe7,0x22,0x8b,0xd6,0xdd, +0x01,0x1c,0xce,0x51,0xc1,0x45,0x66,0x18,0x55,0xad,0xda,0xec,0x79,0x29,0x90,0xdb,0x9f,0xd0,0x6e,0x54, +0xac,0x22,0xe5,0x94,0x1d,0x26,0xc4,0xd0,0x44,0xa6,0x8b,0xd6,0x11,0x12,0x50,0xfa,0x75,0xdf,0xdc,0xdc, +0x00,0xac,0x1d,0xc7,0x24,0xa3,0x56,0x3b,0xdb,0xf9,0x49,0x19,0x9d,0xde,0x9d,0xaa,0xb1,0xc3,0x9d,0x87, +0x9a,0xcf,0x46,0x29,0x45,0x4c,0x8d,0x8d,0x5f,0x13,0x15,0xc2,0xed,0x49,0x0c,0xa8,0x68,0x5b,0xe8,0x67, +0x3b,0x36,0x7c,0x4a,0xa6,0x07,0xdf,0x88,0x13,0x89,0x1c,0x96,0x6b,0x84,0x47,0xcb,0x35,0xc2,0xa5,0x49, +0x8b,0xb4,0xc6,0xa1,0xd0,0x43,0x80,0xba,0x2b,0x8d,0x9e,0xcc,0x64,0x3a,0xbe,0xaa,0x71,0x2a,0x84,0x33, +0xf3,0x1b,0xcc,0xed,0x9f,0x9c,0xde,0x16,0xa2,0x3f,0xe0,0x09,0x4b,0xc6,0x96,0x52,0xd6,0x47,0x36,0x97, +0x01,0x55,0xd8,0x99,0x2f,0xb2,0x69,0x33,0x3b,0x49,0x4e,0x71,0xb6,0xe8,0x1d,0xcf,0x16,0x19,0xaa,0xc8, +0x86,0x63,0x8e,0x54,0xe7,0x00,0x83,0x6a,0x21,0x6a,0x61,0x96,0xf2,0xe7,0x8d,0xf1,0x86,0x39,0xc8,0xb8, +0x76,0x2a,0xcb,0xd6,0x32,0xf2,0xb4,0x45,0x99,0x38,0xda,0x8c,0x8d,0xeb,0xf1,0x04,0x84,0xd2,0xce,0xf9, +0x2c,0xc9,0xc2,0x2c,0xd7,0xa4,0x8d,0x52,0xb7,0xbd,0x18,0x92,0x4a,0x4f,0x80,0x99,0x6c,0x2a,0x99,0xf7, +0x3a,0x22,0x5e,0x12,0xa0,0x72,0x10,0x6f,0x21,0x20,0x42,0x8e,0x45,0xf5,0x92,0x45,0x57,0x88,0xad,0xa5, +0x43,0xff,0x7e,0x5d,0xb9,0x43,0x0f,0xca,0xd6,0xd5,0xff,0x2e,0x5d,0xb8,0xcf,0x68,0xd8,0x8d,0xb0,0xff, +0x93,0x7b,0xa4,0x3b,0x5b,0xfa,0xf3,0x9f,0x2f,0xa2,0x25,0x9d,0x87,0x8b,0x6b,0x5d,0xe7,0x91,0xdb,0x0e, +0xb4,0x6d,0x57,0xbb,0x0c,0x99,0xe6,0x3c,0xee,0x4d,0x50,0xc3,0x20,0x24,0x45,0xd7,0x79,0xb7,0xa6,0x46, +0xce,0x9e,0xbf,0x7f,0x77,0x7c,0x76,0x0c,0x2c,0xf9,0xab,0x17,0x87,0x67,0x2f,0x7e,0x79,0xf1,0xee,0xf8, +0x08,0xdb,0xbb,0xbf,0xbd,0x59,0x72,0x4f,0x7b,0x33,0x71,0x65,0x4f,0x96,0x6e,0xc0,0xae,0xbe,0xb5,0xc7, +0x6a,0x6b,0x9f,0xe1,0xe5,0x1d,0xaa,0x42,0xad,0xdf,0xc1,0x78,0x77,0x26,0xf7,0xf8,0x31,0xec,0xf1,0x05, +0x3e,0x4e,0xab,0xe9,0x00,0xc9,0x66,0x27,0xe3,0xd3,0x0e,0x46,0x93,0xc9,0xe6,0xc1,0x79,0x38,0x74,0x9c, +0xbe,0xd3,0x71,0x5a,0x66,0xaa,0xeb,0xd1,0x37,0x87,0x8c,0x4a,0xdd,0x5b,0x6d,0x24,0x81,0x01,0x28,0x0c, +0x31,0xc5,0xb3,0x52,0x60,0x7b,0xfb,0xc2,0x7b,0xed,0x5a,0xf3,0x94,0xad,0x97,0x92,0xf2,0xd4,0x84,0xf1, +0x75,0xf9,0xc6,0x61,0xf7,0xc0,0x65,0x5d,0x64,0x77,0x9a,0x9c,0xa9,0x9a,0x9c,0x79,0x25,0xec,0x9f,0x50, +0x6a,0xf9,0x33,0x16,0xab,0xf4,0x42,0x68,0x25,0x52,0x6e,0x59,0x94,0x14,0x79,0x94,0x22,0x06,0x9a,0xa7, +0xad,0xe6,0x3e,0xcc,0xda,0x79,0xea,0x7a,0xc3,0xc4,0xb3,0x63,0xd8,0x5b,0xc1,0x11,0x6b,0x0b,0x57,0x95, +0xaf,0xe2,0xba,0xf3,0xea,0xad,0xbd,0x7c,0x65,0xbf,0x35,0x76,0x11,0xc3,0x07,0x5e,0xd9,0xaa,0x9d,0x2f, +0x31,0x56,0x63,0xd3,0x82,0xdd,0xb5,0x9a,0xa2,0xd6,0x93,0xbc,0x88,0xdb,0xa0,0x6c,0xad,0xb4,0x21,0xc8, +0x74,0xce,0x22,0x33,0x39,0x8b,0xc0,0xc2,0x59,0x64,0xe2,0x32,0x81,0xb2,0xf6,0x50,0x0b,0xff,0x8a,0x57, +0x9b,0x2f,0xe6,0x15,0xca,0x39,0x61,0x4b,0x78,0x5c,0xeb,0x24,0x56,0x9a,0x13,0xca,0xa7,0x30,0x05,0xcb, +0xeb,0xbf,0x79,0x63,0x86,0x1f,0xc2,0xeb,0x91,0x7e,0x9f,0x92,0xeb,0x2a,0x94,0xb1,0x56,0x31,0x3c,0xa7, +0x0a,0xc3,0x9a,0xfc,0x11,0xcd,0x66,0x01,0xc5,0xc3,0xb4,0x69,0xce,0xa9,0x18,0x7e,0xc2,0x12,0xc0,0xef, +0xec,0xb8,0x2b,0x71,0x37,0xcd,0x79,0xd9,0x17,0x62,0x34,0x96,0x8e,0x10,0x3f,0xc0,0xea,0x7e,0x4f,0x6f, +0xbb,0xca,0x17,0xe2,0x5c,0x04,0xeb,0xec,0x37,0x82,0x51,0x96,0xcc,0x16,0x79,0x38,0x68,0xa0,0x48,0x09, +0x98,0xd0,0x06,0x89,0x85,0xf0,0x87,0x30,0xe5,0xc0,0x9f,0x6c,0xbe,0x01,0xbf,0x34,0xb7,0x89,0x3c,0x5d, +0x95,0x8b,0x11,0x18,0x58,0xe1,0x5f,0xe4,0xd9,0x97,0x37,0xe3,0x66,0xb5,0xed,0xda,0x87,0xb3,0x81,0x8a, +0xc2,0x94,0x96,0xbc,0xf1,0xb1,0xa0,0x43,0x6c,0xf1,0x87,0xe1,0x2c,0xc0,0x25,0x57,0x54,0xf9,0x6c,0x31, +0x79,0x19,0x7d,0x36,0xee,0xb2,0x88,0x54,0xf8,0xe7,0x22,0x15,0x7a,0x5d,0x76,0xdf,0x7f,0x91,0xd3,0xa3, +0x67,0x88,0x32,0x1f,0xb8,0xa9,0x2e,0x8b,0x2c,0xd5,0xa5,0x3b,0xf3,0x2d,0xcc,0xbc,0x26,0x87,0xf4,0xd2, +0xa2,0xea,0x6d,0xe3,0xec,0xd9,0xfb,0x7f,0xdf,0x6e,0x38,0xa7,0x14,0x7d,0x03,0x00 }; \ No newline at end of file diff --git a/code/espurna/telnet.ino b/code/espurna/telnet.ino index e5c902ba..93703c64 100644 --- a/code/espurna/telnet.ino +++ b/code/espurna/telnet.ino @@ -71,7 +71,14 @@ void _telnetData(unsigned char clientId, void *data, size_t len) { void _telnetNewClient(AsyncClient *client) { if (client->localIP() != WiFi.softAPIP()) { - bool telnetSTA = getSetting("telnetSTA", TELNET_STA).toInt() == 1; + + // Telnet is always available for the ESPurna Core image + #ifdef ESPURNA_CORE + bool telnetSTA = true; + #else + bool telnetSTA = getSetting("telnetSTA", TELNET_STA).toInt() == 1; + #endif + if (!telnetSTA) { DEBUG_MSG_P(PSTR("[TELNET] Rejecting - Only local connections\n")); client->onDisconnect([](void *s, AsyncClient *c) { @@ -81,6 +88,7 @@ void _telnetNewClient(AsyncClient *client) { client->close(true); return; } + } for (unsigned char i = 0; i < TELNET_MAX_CLIENTS; i++) { @@ -109,6 +117,14 @@ void _telnetNewClient(AsyncClient *client) { }, 0); DEBUG_MSG_P(PSTR("[TELNET] Client #%u connected\n"), i); + + // If there is no terminal support automatically dump info and crash data + #if TERMINAL_SUPPORT == 0 + info(); + wifiStatus(); + debugDumpCrashInfo(); + #endif + _telnetFirst = true; wifiReconnectCheck(); return; diff --git a/code/espurna/uartmqtt.ino b/code/espurna/uartmqtt.ino new file mode 100644 index 00000000..bc96878a --- /dev/null +++ b/code/espurna/uartmqtt.ino @@ -0,0 +1,103 @@ +/* + +UART_MQTT MODULE + +Copyright (C) 2018 by Albert Weterings +Adapted by Xose Pérez + +*/ + +#if UART_MQTT_SUPPORT + +char _uartmqttBuffer[UART_MQTT_BUFFER_SIZE]; +bool _uartmqttNewData = false; + +#if UART_MQTT_USE_SOFT + #include + SoftwareSerial _uart_mqtt_serial(UART_MQTT_RX_PIN, UART_MQTT_TX_PIN, false, UART_MQTT_BUFFER_SIZE); + #define UART_MQTT_PORT _uart_mqtt_serial +#else + #define UART_MQTT_PORT UART_MQTT_HW_PORT +#endif + +// ----------------------------------------------------------------------------- +// Private +// ----------------------------------------------------------------------------- + +void _uartmqttReceiveUART() { + + static unsigned char ndx = 0; + + while (UART_MQTT_PORT.available() > 0 && _uartmqttNewData == false) { + + char rc = UART_MQTT_PORT.read(); + + if (rc != '\n') { + + _uartmqttBuffer[ndx] = rc; + if (ndx < UART_MQTT_BUFFER_SIZE - 1) ndx++; + + } else { + _uartmqttBuffer[ndx] = '\0'; + _uartmqttNewData = true; + ndx = 0; + } + + } + +} + +void _uartmqttSendMQTT() { + if (_uartmqttNewData == true && MQTT_SUPPORT) { + DEBUG_MSG_P(PSTR("[UART_MQTT] Send data over MQTT: %s\n"), _uartmqttBuffer); + mqttSend(MQTT_TOPIC_UARTIN, _uartmqttBuffer); + _uartmqttNewData = false; + } +} + +void _uartmqttSendUART(const char * message) { + DEBUG_MSG_P(PSTR("[UART_MQTT] Send data over UART: %s\n"), message); + UART_MQTT_PORT.println(message); +} + +void _uartmqttMQTTCallback(unsigned int type, const char * topic, const char * payload) { + + if (type == MQTT_CONNECT_EVENT) { + mqttSubscribe(MQTT_TOPIC_UARTOUT); + } + + if (type == MQTT_MESSAGE_EVENT) { + + // Match topic + String t = mqttMagnitude((char *) topic); + if (t.equals(MQTT_TOPIC_UARTOUT)) { + _uartmqttSendUART(payload); + } + + } + +} + +// ----------------------------------------------------------------------------- +// SETUP & LOOP +// ----------------------------------------------------------------------------- + +void _uartmqttLoop() { + _uartmqttReceiveUART(); + _uartmqttSendMQTT(); +} + +void uartmqttSetup() { + + // Init port + UART_MQTT_PORT.begin(UART_MQTT_BAUDRATE); + + // Register MQTT callbackj + mqttRegister(_uartmqttMQTTCallback); + + // Register loop + espurnaRegisterLoop(_uartmqttLoop); + +} + +#endif // UART_MQTT_SUPPORT diff --git a/code/espurna/utils.ino b/code/espurna/utils.ino index 467c4bd9..a9ebb4a8 100644 --- a/code/espurna/utils.ino +++ b/code/espurna/utils.ino @@ -252,6 +252,9 @@ void info() { // ------------------------------------------------------------------------- + #ifdef APP_BUILD_FLAGS + DEBUG_MSG_P(PSTR("[INIT] BUILD_FLAGS: %s\n"), APP_BUILD_FLAGS); + #endif DEBUG_MSG_P(PSTR("[INIT] BOARD: %s\n"), getBoardName().c_str()); DEBUG_MSG_P(PSTR("[INIT] SUPPORT:")); @@ -324,13 +327,17 @@ void info() { #if THINGSPEAK_SUPPORT DEBUG_MSG_P(PSTR(" THINGSPEAK")); #endif + #if UART_MQTT_SUPPORT + DEBUG_MSG_P(PSTR(" UART_MQTT")); + #endif #if WEB_SUPPORT DEBUG_MSG_P(PSTR(" WEB")); #endif #if SENSOR_SUPPORT - DEBUG_MSG_P(PSTR("\n[INIT] SENSORS:")); + DEBUG_MSG_P(PSTR("\n")); + DEBUG_MSG_P(PSTR("[INIT] SENSORS:")); #if ANALOG_SUPPORT DEBUG_MSG_P(PSTR(" ANALOG")); @@ -371,6 +378,9 @@ void info() { #if PMSX003_SUPPORT DEBUG_MSG_P(PSTR(" PMSX003")); #endif + #if PZEM004T_SUPPORT + DEBUG_MSG_P(PSTR(" PZEM004T")); + #endif #if SHT3X_I2C_SUPPORT DEBUG_MSG_P(PSTR(" SHT3X_I2C")); #endif diff --git a/code/espurna/web.ino b/code/espurna/web.ino index a7e371fb..8deb4c4d 100644 --- a/code/espurna/web.ino +++ b/code/espurna/web.ino @@ -45,17 +45,19 @@ void _onGetConfig(AsyncWebServerRequest *request) { webLog(request); if (!_authenticate(request)) return request->requestAuthentication(getSetting("hostname").c_str()); - AsyncJsonResponse * response = new AsyncJsonResponse(); - JsonObject& root = response->getRoot(); + AsyncResponseStream *response = request->beginResponseStream("text/json"); + DynamicJsonBuffer jsonBuffer; + JsonObject &root = jsonBuffer.createObject(); root["app"] = APP_NAME; root["version"] = APP_VERSION; settingsGetJson(root); + root.prettyPrintTo(*response); char buffer[100]; snprintf_P(buffer, sizeof(buffer), PSTR("attachment; filename=\"%s-backup.json\""), (char *) getSetting("hostname").c_str()); response->addHeader("Content-Disposition", buffer); - response->setLength(); + request->send(response); } diff --git a/code/espurna/wifi.ino b/code/espurna/wifi.ino index 4c0c0266..263115f9 100644 --- a/code/espurna/wifi.ino +++ b/code/espurna/wifi.ino @@ -171,44 +171,29 @@ bool _wifiClean(unsigned char num) { // Inject hardcoded networks void _wifiInject() { - #ifdef WIFI1_SSID - if (getSetting("ssid", 0, "").length() == 0) setSetting("ssid", 0, WIFI1_SSID); - #endif - #ifdef WIFI1_PASS - if (getSetting("pass", 0, "").length() == 0) setSetting("pass", 0, WIFI1_PASS); - #endif - #ifdef WIFI1_IP - if (getSetting("ip", 0, "").length() == 0) setSetting("ip", 0, WIFI1_IP); - #endif - #ifdef WIFI1_GW - if (getSetting("gw", 0, "").length() == 0) setSetting("gw", 0, WIFI1_GW); - #endif - #ifdef WIFI1_MASK - if (getSetting("mask", 0, "").length() == 0) setSetting("mask", 0, WIFI1_MASK); - #endif - #ifdef WIFI1_DNS - if (getSetting("dns", 0, "").length() == 0) setSetting("dns", 0, WIFI1_DNS); - #endif + if (strlen(WIFI1_SSID)) { + + if (!hasSetting("ssid", 0)) { + setSetting("ssid", 0, WIFI1_SSID); + setSetting("pass", 0, WIFI1_PASS); + setSetting("ip", 0, WIFI1_IP); + setSetting("gw", 0, WIFI1_GW); + setSetting("mask", 0, WIFI1_MASK); + setSetting("dns", 0, WIFI1_DNS); + } - #ifdef WIFI2_SSID - if (getSetting("ssid", 1, "").length() == 0) setSetting("ssid", 1, WIFI2_SSID); - #endif - #ifdef WIFI2_PASS - if (getSetting("pass", 1, "").length() == 0) setSetting("pass", 1, WIFI2_PASS); - #endif - #ifdef WIFI2_IP - if (getSetting("ip", 1, "").length() == 0) setSetting("ip", 1, WIFI2_IP); - #endif - #ifdef WIFI2_GW - if (getSetting("gw", 1, "").length() == 0) setSetting("gw", 1, WIFI2_GW); - #endif - #ifdef WIFI2_MASK - if (getSetting("mask", 1, "").length() == 0) setSetting("mask", 1, WIFI2_MASK); - #endif - #ifdef WIFI2_DNS - if (getSetting("dns", 1, "").length() == 0) setSetting("dns", 1, WIFI2_DNS); - #endif + if (strlen(WIFI2_SSID)) { + if (!hasSetting("ssid", 1)) { + setSetting("ssid", 1, WIFI2_SSID); + setSetting("pass", 1, WIFI2_PASS); + setSetting("ip", 1, WIFI2_IP); + setSetting("gw", 1, WIFI2_GW); + setSetting("mask", 1, WIFI2_MASK); + setSetting("dns", 1, WIFI2_DNS); + } + } + } } #if DEBUG_SUPPORT @@ -345,11 +330,6 @@ String getNetwork() { return WiFi.SSID(); } -double wifiDistance(int rssi) { - double exponent = (double) (WIFI_RSSI_1M - rssi) / WIFI_PROPAGATION_CONST / 10.0; - return round(pow(10, exponent)); -} - bool wifiConnected() { return jw.connected(); } diff --git a/code/espurna/ws.ino b/code/espurna/ws.ino index 4a058793..3a9d137e 100644 --- a/code/espurna/ws.ino +++ b/code/espurna/ws.ino @@ -93,8 +93,22 @@ void _wsParse(AsyncWebSocketClient *client, uint8_t * payload, size_t length) { DEBUG_MSG_P(PSTR("[WEBSOCKET] Requested action: %s\n"), action); - if (strcmp(action, "reboot") == 0) deferredReset(100, CUSTOM_RESET_WEB); - if (strcmp(action, "reconnect") == 0) _web_defer.once_ms(100, wifiDisconnect); + if (strcmp(action, "reboot") == 0) { + deferredReset(100, CUSTOM_RESET_WEB); + return; + } + + if (strcmp(action, "reconnect") == 0) { + _web_defer.once_ms(100, wifiDisconnect); + return; + } + + if (strcmp(action, "factory_reset") == 0) { + DEBUG_MSG_P(PSTR("\n\nFACTORY RESET\n\n")); + resetSettings(); + deferredReset(100, CUSTOM_RESET_FACTORY); + return; + } JsonObject& data = root["data"]; if (data.success()) { @@ -113,6 +127,8 @@ void _wsParse(AsyncWebSocketClient *client, uint8_t * payload, size_t length) { } } + return; + } }; @@ -204,7 +220,6 @@ void _wsUpdate(JsonObject& root) { root["heap"] = getFreeHeap(); root["uptime"] = getUptime(); root["rssi"] = WiFi.RSSI(); - root["distance"] = wifiDistance(WiFi.RSSI()); #if NTP_SUPPORT if (ntpSynced()) root["now"] = now(); #endif @@ -255,10 +270,14 @@ void _wsOnStart(JsonObject& root) { root["btnDelay"] = getSetting("btnDelay", BUTTON_DBLCLICK_DELAY).toInt(); root["webPort"] = getSetting("webPort", WEB_PORT).toInt(); + root["tmpUnits"] = getSetting("tmpUnits", SENSOR_TEMPERATURE_UNITS).toInt(); root["tmpCorrection"] = getSetting("tmpCorrection", SENSOR_TEMPERATURE_CORRECTION).toFloat(); root["humCorrection"] = getSetting("humCorrection", SENSOR_HUMIDITY_CORRECTION).toFloat(); + root["wsAuth"] = getSetting("wsAuth", WS_AUTHENTICATION).toInt() == 1; + + } } @@ -376,7 +395,12 @@ void wsSend_P(uint32_t client_id, PGM_P payload) { void wsConfigure() { #if USE_PASSWORD - _ws.setAuthentication(WEB_USERNAME, (const char *) getSetting("adminPass", ADMIN_PASS).c_str()); + bool auth = getSetting("wsAuth", WS_AUTHENTICATION).toInt() == 1; + if (auth) { + _ws.setAuthentication(WEB_USERNAME, (const char *) getSetting("adminPass", ADMIN_PASS).c_str()); + } else { + _ws.setAuthentication("", ""); + } #endif } diff --git a/code/extra_scripts.py b/code/extra_scripts.py index c981db86..36f870af 100644 --- a/code/extra_scripts.py +++ b/code/extra_scripts.py @@ -1,12 +1,15 @@ #!/usr/bin/env python +from subprocess import call +import os import time + Import("env") # ------------------------------------------------------------------------------ # Utils # ------------------------------------------------------------------------------ -class Color: +class Color(object): BLACK = '\x1b[1;30m' RED = '\x1b[1;31m' GREEN = '\x1b[1;32m' @@ -31,16 +34,48 @@ def clr(color, text): # Callbacks # ------------------------------------------------------------------------------ +def remove_float_support(): + + flags = " ".join(env['LINKFLAGS']) + flags = flags.replace("-u _printf_float", "") + flags = flags.replace("-u _scanf_float", "") + newflags = flags.split() + + env.Replace( + LINKFLAGS = newflags + ) + +def cpp_check(source, target, env): + print("Started cppcheck...\n") + call(["cppcheck", os.getcwd()+"/espurna", "--force", "--enable=all"]) + print("Finished cppcheck...\n") + def check_size(source, target, env): - time.sleep(1) + time.sleep(2) size = target[0].get_size() print clr(Color.LIGHT_BLUE, "Binary size: %s bytes" % size) #if size > 512000: # print clr(Color.LIGHT_RED, "File too large for OTA!") # Exit(1) +def add_build_flags(source, target, env): + build_h = "espurna/config/build.h" + build_flags = env['BUILD_FLAGS'][0] + lines = open(build_h).readlines() + with open(build_h, "w") as fh: + for line in lines: + if "APP_BUILD_FLAGS" in line: + fh.write("#define APP_BUILD_FLAGS \"%s\"" % build_flags) + else: + fh.write(line) + + # ------------------------------------------------------------------------------ # Hooks # ------------------------------------------------------------------------------ +remove_float_support() + +#env.AddPreAction("buildprog", cpp_check) +env.AddPreAction("$BUILD_DIR/src/espurna.ino.o", add_build_flags) env.AddPostAction("$BUILD_DIR/${PROGNAME}.bin", check_size) diff --git a/code/gulpfile.js b/code/gulpfile.js index d71ef938..518e11ee 100644 --- a/code/gulpfile.js +++ b/code/gulpfile.js @@ -36,22 +36,17 @@ const inline = require('gulp-inline'); const inlineImages = require('gulp-css-base64'); const favicon = require('gulp-base64-favicon'); const htmllint = require('gulp-htmllint'); -const gutil = require('gulp-util'); +const log = require('fancy-log'); const csslint = require('gulp-csslint'); const dataFolder = 'espurna/data/'; const staticFolder = 'espurna/static/'; -String.prototype.replaceAll = function(search, replacement) { - var target = this; - return target.split(search).join(replacement); -}; - var toHeader = function(filename) { var source = dataFolder + filename; var destination = staticFolder + filename + '.h'; - var safename = filename.replaceAll('.', '_'); + var safename = filename.split('.').join('_'); var wstream = fs.createWriteStream(destination); wstream.on('error', function (err) { @@ -64,9 +59,11 @@ var toHeader = function(filename) { wstream.write('const uint8_t ' + safename + '[] PROGMEM = {'); for (var i=0; i 0) { issues.forEach(function (issue) { - gutil.log(gutil.colors.cyan('[gulp-htmllint] ') + gutil.colors.white(filepath + ' [' + issue.line + ',' + issue.column + ']: ') + gutil.colors.red('(' + issue.code + ') ' + issue.msg)); + log.info( + '[gulp-htmllint] ' + + filepath + ' [' + + issue.line + ',' + + issue.column + ']: ' + + '(' + issue.code + ') ' + + issue.msg + ); }); process.exitCode = 1; } @@ -91,9 +95,9 @@ gulp.task('build_certs', function() { }); gulp.task('csslint', function() { - gulp.src('html/*.css') - .pipe(csslint({ids: false})) - .pipe(csslint.formatter()); + gulp.src('html/*.css'). + pipe(csslint({ids: false})). + pipe(csslint.formatter()); }); gulp.task('buildfs_embeded', ['buildfs_inline'], function() { @@ -101,29 +105,29 @@ gulp.task('buildfs_embeded', ['buildfs_inline'], function() { }); gulp.task('buildfs_inline', function() { - return gulp.src('html/*.html') - .pipe(htmllint({ + return gulp.src('html/*.html'). + pipe(htmllint({ 'failOnError': true, 'rules': { 'id-class-style': false, 'label-req-for': false, } - }, htmllintReporter)) - .pipe(favicon()) - .pipe(inline({ + }, htmllintReporter)). + pipe(favicon()). + pipe(inline({ base: 'html/', js: [uglify], css: [cleancss, inlineImages], disabledTypes: ['svg', 'img'] - })) - .pipe(htmlmin({ + })). + pipe(htmlmin({ collapseWhitespace: true, removeComments: true, minifyCSS: true, minifyJS: true - })) - .pipe(gzip()) - .pipe(gulp.dest(dataFolder)); + })). + pipe(gzip()). + pipe(gulp.dest(dataFolder)); }); diff --git a/code/html/custom.css b/code/html/custom.css index 7ae86185..d961629d 100644 --- a/code/html/custom.css +++ b/code/html/custom.css @@ -5,6 +5,7 @@ #menu .pure-menu-heading { font-size: 100%; padding: .5em .5em; + white-space: normal; } .pure-g { @@ -55,6 +56,10 @@ h2 { margin: -10px 0 10px 0; } +.hint a { + color:inherit; +} + legend.module, .module { display: none; @@ -143,7 +148,8 @@ div.state { .button-rfb-forget, .button-del-network, .button-del-schedule, -.button-upgrade { +.button-upgrade, +.button-settings-factory { background: rgb(192, 0, 0); /* redish */ } @@ -154,6 +160,7 @@ div.state { .button-rfb-learn, .button-upgrade-browse, .button-ha-add, +.button-ha-config, .button-settings-backup, .button-settings-restore, .button-apikey { @@ -272,6 +279,7 @@ span.slider { display: none; } +#haConfig, #scanResult { color: #888; font-family: 'Courier New', monospace; diff --git a/code/html/custom.js b/code/html/custom.js index 80dca3e8..fce7a3b4 100644 --- a/code/html/custom.js +++ b/code/html/custom.js @@ -3,6 +3,7 @@ var password = false; var maxNetworks; var maxSchedules; var messages = []; +var free_size = 0; var webhost; var numChanged = 0; @@ -11,7 +12,6 @@ var numReconnect = 0; var numReload = 0; var useWhite = false; -var manifest; var now = 0; var ago = 0; @@ -75,7 +75,7 @@ function magnitudeError(error) { // ----------------------------------------------------------------------------- function keepTime() { - if (now === 0) { return; } + if (0 === now) { return; } var date = new Date(now * 1000); var text = date.toISOString().substring(0, 19).replace("T", " "); $("input[name='now']").val(text); @@ -115,7 +115,7 @@ function loadTimeZones() { ]; for (var i in time_zones) { - var value = parseInt(time_zones[i], 10); + var value = time_zones[i]; var offset = value >= 0 ? value : -value; var text = "GMT" + (value >= 0 ? "+" : "-") + zeroPad(parseInt(offset / 60, 10), 2) + ":" + @@ -147,17 +147,46 @@ function validateForm(form) { } -// These fields will always be a list of values -var is_group = [ - "ssid", "pass", "gw", "mask", "ip", "dns", - "schEnabled", "schSwitch","schAction","schHour","schMinute","schWDs", - "relayBoot", "relayPulse", "relayTime", - "mqttGroup", "mqttGroupInv", - "dczRelayIdx", "dczMagnitude", - "tspkRelay", "tspkMagnitude", - "ledMode", - "adminPass" -]; +function getValue(element) { + + if ($(element).attr("type") === "checkbox") { + return $(element).is(":checked") ? 1 : 0; + } else if ($(element).attr("type") === "radio") { + if (!$(element).is(":checked")) { + return null; + } + } + + return $(element).val(); + +} + +function addValue(data, name, value) { + + // These fields will always be a list of values + var is_group = [ + "ssid", "pass", "gw", "mask", "ip", "dns", + "schEnabled", "schSwitch","schAction","schHour","schMinute","schWDs", + "relayBoot", "relayPulse", "relayTime", + "mqttGroup", "mqttGroupInv", + "dczRelayIdx", "dczMagnitude", + "tspkRelay", "tspkMagnitude", + "ledMode", + "adminPass" + ]; + + if (name in data) { + if (!Array.isArray(data[name])) { + data[name] = [data[name]]; + } + data[name].push(value); + } else if (is_group.indexOf(name) >= 0) { + data[name] = [value]; + } else { + data[name] = value; + } + +} function getData(form) { @@ -166,43 +195,16 @@ function getData(form) { // Populate data $("input,select", form).each(function() { var name = $(this).attr("name"); - if (name) { - var value = ""; - - // Do not report these fields - if (name === "filename" || name === "rfbcode" ) { - return; - } - - // Grab the value - if ($(this).attr("type") === "checkbox") { - value = $(this).is(":checked") ? 1 : 0; - } else if ($(this).attr("type") === "radio") { - if (!$(this).is(":checked")) {return;} - value = $(this).val(); - } else { - value = $(this).val(); - } - - // Build the object - if (name in data) { - if (!Array.isArray(data[name])) data[name] = [data[name]]; - data[name].push(value); - } else if (is_group.indexOf(name) >= 0) { - data[name] = [value]; - } else { - data[name] = value; - } - + var value = getValue(this); + if (null !== value) { + addValue(data, name, value); } }); // Post process - if ("schSwitch" in data) { - data["schSwitch"].push(0xFF); - } else { - data["schSwitch"] = [0xFF]; - } + addValue(data, "schSwitch", 0xFF); + delete data["filename"]; + delete data["rfbcode"]; return data; @@ -240,6 +242,14 @@ function getJson(str) { // Actions // ----------------------------------------------------------------------------- +function sendAction(action, data) { + websock.send(JSON.stringify({action: action, data: data})); +} + +function sendConfig(data) { + websock.send(JSON.stringify({config: data})); +} + function resetOriginals() { $("input,select").each(function() { $(this).attr("original", $(this).val()); @@ -248,65 +258,97 @@ function resetOriginals() { } function doReload(milliseconds) { - milliseconds = (typeof milliseconds == "undefined") ? - 0 : - parseInt(milliseconds, 10); setTimeout(function() { window.location.reload(); - }, milliseconds); + }, parseInt(milliseconds, 10)); +} + +/** + * Check a file object to see if it is a valid firmware image + * The file first byte should be 0xE9 + * @param {file} file File object + * @param {Function} callback Function to call back with the result + */ +function checkFirmware(file, callback) { + + var reader = new FileReader(); + + reader.onloadend = function(evt) { + if (FileReader.DONE === evt.target.readyState) { + callback(0xE9 === evt.target.result.charCodeAt(0)); + } + }; + + var blob = file.slice(0, 1); + reader.readAsBinaryString(blob); + } function doUpgrade() { - var contents = $("input[name='upgrade']")[0].files[0]; - if (typeof contents === "undefined") { + var file = $("input[name='upgrade']")[0].files[0]; + + if (typeof file === "undefined") { alert("First you have to select a file from your computer."); return false; } - var filename = $("input[name='upgrade']").val().split("\\").pop(); - - var data = new FormData(); - data.append("upgrade", contents, filename); - $.ajax({ - - // Your server script to process the upload - url: webhost + "upgrade", - type: "POST", + if (file.size > free_size) { + alert("Image it too large to fit in the available space for OTA. Consider doing a two-step update."); + return false; + } - // Form data - data: data, + checkFirmware(file, function(ok) { - // Tell jQuery not to process data or worry about content-type - // You *must* include these options! - cache: false, - contentType: false, - processData: false, + if (!ok) { + alert("The file does not seem to be a valid firmware image."); + return; + } - success: function(data, text) { - $("#upgrade-progress").hide(); - if (data === "OK") { - alert("Firmware image uploaded, board rebooting. This page will be refreshed in 5 seconds."); - doReload(5000); - } else { - alert("There was an error trying to upload the new image, please try again (" + data + ")."); + var data = new FormData(); + data.append("upgrade", file, file.name); + + $.ajax({ + + // Your server script to process the upload + url: webhost + "upgrade", + type: "POST", + + // Form data + data: data, + + // Tell jQuery not to process data or worry about content-type + // You *must* include these options! + cache: false, + contentType: false, + processData: false, + + success: function(data, text) { + $("#upgrade-progress").hide(); + if ("OK" === data) { + alert("Firmware image uploaded, board rebooting. This page will be refreshed in 5 seconds."); + doReload(5000); + } else { + alert("There was an error trying to upload the new image, please try again (" + data + ")."); + } + }, + + // Custom XMLHttpRequest + xhr: function() { + $("#upgrade-progress").show(); + var myXhr = $.ajaxSettings.xhr(); + if (myXhr.upload) { + // For handling the progress of the upload + myXhr.upload.addEventListener("progress", function(e) { + if (e.lengthComputable) { + $("progress").attr({ value: e.loaded, max: e.total }); + } + } , false); + } + return myXhr; } - }, - - // Custom XMLHttpRequest - xhr: function() { - $("#upgrade-progress").show(); - var myXhr = $.ajaxSettings.xhr(); - if (myXhr.upload) { - // For handling the progress of the upload - myXhr.upload.addEventListener("progress", function(e) { - if (e.lengthComputable) { - $("progress").attr({ value: e.loaded, max: e.total }); - } - } , false); - } - return myXhr; - } + + }); }); @@ -317,60 +359,54 @@ function doUpgrade() { function doUpdatePassword() { var form = $("#formPassword"); if (validateForm(form)) { - var data = getData(form); - websock.send(JSON.stringify({"config": data})); + sendConfig(getData(form)); } return false; } -function doReboot(ask) { - - var response; - - ask = (typeof ask == "undefined") ? true : ask; +function checkChanges() { if (numChanged > 0) { - response = window.confirm("Some changes have not been saved yet, do you want to save them first?"); - if (response === true) { - return doUpdate(); + var response = window.confirm("Some changes have not been saved yet, do you want to save them first?"); + if (response) { + doUpdate(); } } - if (ask) { - response = window.confirm("Are you sure you want to reboot the device?"); - if (response === false) { - return false; +} + +function doAction(question, action) { + + checkChanges(); + + if (question) { + var response = window.confirm(question); + if (false === response) { + return false; } } - websock.send(JSON.stringify({"action": "reboot"})); + sendAction(action, {}); doReload(5000); return false; } -function doReconnect(ask) { - var response; +function doReboot(ask) { - ask = (typeof ask == "undefined") ? true : ask; + var question = (typeof ask === "undefined" || false === ask) ? + null : + "Are you sure you want to reboot the device?"; + return doAction(question, "reboot"); - if (numChanged > 0) { - response = window.confirm("Some changes have not been saved yet, do you want to save them first?"); - if (response === true) { - return doUpdate(); - } - } +} - if (ask) { - response = window.confirm("Are you sure you want to disconnect from the current WIFI network?"); - if (response === false) { - return false; - } - } +function doReconnect(ask) { - websock.send(JSON.stringify({"action": "reconnect"})); - doReload(5000); - return false; + var question = (typeof ask === "undefined" || false === ask) ? + null : + "Are you sure you want to disconnect from the current WIFI network?"; + return doAction(question, "reconnect"); } @@ -380,8 +416,7 @@ function doUpdate() { if (validateForm(form)) { // Get data - var data = getData(form); - websock.send(JSON.stringify({"config": data})); + sendConfig(getData(form)); // Empty special fields $(".pwrExpected").val(0); @@ -397,13 +432,13 @@ function doUpdate() { if (numReboot > 0) { response = window.confirm("You have to reboot the board for the changes to take effect, do you want to do it now?"); - if (response === true) { doReboot(false); } + if (response) { doReboot(false); } } else if (numReconnect > 0) { response = window.confirm("You have to reconnect to the WiFi for the changes to take effect, do you want to do it now?"); - if (response === true) { doReconnect(false); } + if (response) { doReconnect(false); } } else if (numReload > 0) { response = window.confirm("You have to reload the page to see the latest changes, do you want to do it now?"); - if (response === true) { doReload(); } + if (response) { doReload(0); } } resetOriginals(); @@ -424,22 +459,22 @@ function doBackup() { function onFileUpload(event) { var inputFiles = this.files; - if (inputFiles === undefined || inputFiles.length === 0) { - return false; + if (typeof inputFiles === "undefined" || inputFiles.length === 0) { + return false; } var inputFile = inputFiles[0]; this.value = ""; var response = window.confirm("Previous settings will be overwritten. Are you sure you want to restore this settings?"); - if (response === false) { - return false; + if (!response) { + return false; } var reader = new FileReader(); reader.onload = function(e) { var data = getJson(e.target.result); if (data) { - websock.send(JSON.stringify({"action": "restore", "data": data})); + sendAction("restore", data); } else { alert(messages[4]); } @@ -459,16 +494,32 @@ function doRestore() { return false; } +function doFactoryReset() { + var response = window.confirm("Are you sure you want to restore to factory settings?"); + if (response === false) { + return false; + } + websock.send(JSON.stringify({"action": "factory_reset"})); + doReload(5000); + return false; +} + function doToggle(element, value) { - var relayID = parseInt(element.attr("data"), 10); - websock.send(JSON.stringify({"action": "relay", "data": { "id": relayID, "status": value ? 1 : 0 }})); + var id = parseInt(element.attr("data"), 10); + sendAction("relay", {id: id, status: value ? 1 : 0 }); return false; } function doScan() { $("#scanResult").html(""); $("div.scan.loading").show(); - websock.send(JSON.stringify({"action": "scan", "data": {}})); + sendAction("scan", {}); + return false; +} + +function doHAConfig() { + $("#haConfig").html(""); + sendAction("haconfig", {}); return false; } @@ -498,12 +549,10 @@ function showPanel() { function createRelayList(data, container, template_name) { var current = $("#" + container + " > div").length; - if (current > 0) { - return; - } + if (current > 0) { return; } var template = $("#" + template_name + " .pure-g")[0]; - for (var i=0; i div").length; - if (current > 0) { - return; - } + if (current > 0) { return; } var template = $("#" + template_name + " .pure-g")[0]; - for (var i=0; i div").length; - if (current > 0) { - return; - } + if (current > 0) { return; } var template = $("#relayTemplate .pure-g")[0]; for (var i=0; i div").length; - if (current > 0) { - return; - } + if (current > 0) { return; } var template = $("#relayConfigTemplate").children(); - for (var i=0; i < data.length; i++) { + for (var i in data) { + var relay = data[i]; var line = $(template).clone(); - $("span.gpio", line).html(data[i].gpio); + $("span.gpio", line).html(relay.gpio); $("span.id", line).html(i); - $("select[name='relayBoot']", line).val(data[i].boot); - $("select[name='relayPulse']", line).val(data[i].pulse); - $("input[name='relayTime']", line).val(data[i].pulse_ms); - $("input[name='mqttGroup']", line).val(data[i].group); - $("select[name='mqttGroupInv']", line).val(data[i].group_inv); + $("select[name='relayBoot']", line).val(relay.boot); + $("select[name='relayPulse']", line).val(relay.pulse); + $("input[name='relayTime']", line).val(relay.pulse_ms); + $("input[name='mqttGroup']", line).val(relay.group); + $("select[name='mqttGroupInv']", line).val(relay.group_inv); line.appendTo("#relayConfig"); } @@ -665,31 +710,21 @@ function initMagnitudes(data) { // check if already initialized var done = $("#magnitudes > div").length; - if (done > 0) { - return; - } + if (done > 0) { return; } // add templates var template = $("#magnitudeTemplate").children(); - for (var i=0; i div").length; - if (done > 0) { - return; - } + if (done > 0) { return; } // add template var template = $("#colorRGBTemplate").children(); @@ -712,7 +745,7 @@ function initColorRGB() { sliders: "wrgbp" }).on("sliderup", function() { var value = $(this).wheelColorPicker("getValue", "css"); - websock.send(JSON.stringify({"action": "color", "data" : {"rgb": value}})); + sendAction("color", {rgb: value}); }); // init bright slider @@ -720,7 +753,7 @@ function initColorRGB() { var value = $(this).val(); var parent = $(this).parents(".pure-g"); $("span", parent).html(value); - websock.send(JSON.stringify({"action": "color", "data" : {"brightness": value}})); + sendAction("color", {brightness: value}); }); } @@ -729,9 +762,7 @@ function initColorHSV() { // check if already initialized var done = $("#colors > div").length; - if (done > 0) { - return; - } + if (done > 0) { return; } // add template var template = $("#colorHSVTemplate").children(); @@ -744,7 +775,7 @@ function initColorHSV() { }).on("sliderup", function() { var color = $(this).wheelColorPicker("getColor"); var value = parseInt(color.h * 360, 10) + "," + parseInt(color.s * 100, 10) + "," + parseInt(color.v * 100, 10); - websock.send(JSON.stringify({"action": "color", "data" : {"hsv": value}})); + sendAction("color", {hsv: value}); }); } @@ -753,9 +784,7 @@ function initChannels(num) { // check if already initialized var done = $("#channels > div").length > 0; - if (done) { - return; - } + if (done) { return; } // does it have color channels? var colors = $("#colors > div").length > 0; @@ -764,10 +793,20 @@ function initChannels(num) { var max = num; if (colors) { max = num % 3; - if ((max > 0) & useWhite) max--; + if ((max > 0) & useWhite) { + max--; + } } var start = num - max; + var onChannelSliderChange = function() { + var id = $(this).attr("data"); + var value = $(this).val(); + var parent = $(this).parents(".pure-g"); + $("span", parent).html(value); + sendAction("channel", {id: id, value: value}); + }; + // add templates var template = $("#channelTemplate").children(); for (var i=0; i legend").length; @@ -815,24 +866,6 @@ function addRfbNode() { return line; } -function rfbLearn() { - var parent = $(this).parents(".pure-g"); - var input = $("input", parent); - websock.send(JSON.stringify({"action": "rfblearn", "data" : {"id" : input.attr("data-id"), "status": input.attr("data-status")}})); -} - -function rfbForget() { - var parent = $(this).parents(".pure-g"); - var input = $("input", parent); - websock.send(JSON.stringify({"action": "rfbforget", "data" : {"id" : input.attr("data-id"), "status": input.attr("data-status")}})); -} - -function rfbSend() { - var parent = $(this).parents(".pure-g"); - var input = $("input", parent); - websock.send(JSON.stringify({"action": "rfbsend", "data" : {"id" : input.attr("data-id"), "status": input.attr("data-status"), "data": input.val()}})); -} - // ----------------------------------------------------------------------------- // Processing // ----------------------------------------------------------------------------- @@ -855,23 +888,24 @@ function processData(data) { Object.keys(data).forEach(function(key) { var i; + var value = data[key]; // --------------------------------------------------------------------- // Web mode // --------------------------------------------------------------------- - if (key ==="webMode") { - password = data.webMode == 1; - $("#layout").toggle(data.webMode === 0); - $("#password").toggle(data.webMode === 1); + if ("webMode" === key) { + password = (1 === value); + $("#layout").toggle(!password); + $("#password").toggle(password); } // --------------------------------------------------------------------- // Actions // --------------------------------------------------------------------- - if (key === "action") { - if (data.action === "reload") doReload(1000); + if ("action" === key) { + if ("reload" === data.action) { doReload(1000); } return; } @@ -879,20 +913,20 @@ function processData(data) { // RFBridge // --------------------------------------------------------------------- - if (key === "rfbCount") { - for (i=0; i 0) { if (input.attr("type") === "checkbox") { input. - prop("checked", data[key]). + prop("checked", value). iphoneStyle("refresh"); } else if (input.attr("type") === "radio") { - input.val([data[key]]); + input.val([value]); } else { pre = input.attr("pre") || ""; post = input.attr("post") || ""; - input.val(pre + data[key] + post); + input.val(pre + value + post); } } @@ -1131,13 +1170,13 @@ function processData(data) { if (span.length > 0) { pre = span.attr("pre") || ""; post = span.attr("post") || ""; - span.html(pre + data[key] + post); + span.html(pre + value + post); } // Look for SELECTs var select = $("select[name='" + key + "']"); if (select.length > 0) { - select.val(data[key]); + select.val(value); } }); @@ -1156,7 +1195,7 @@ function hasChanged() { var newValue, originalValue; if ($(this).attr("type") === "checkbox") { newValue = $(this).prop("checked"); - originalValue = $(this).attr("original") == "true"; + originalValue = ($(this).attr("original") === "true"); } else { newValue = $(this).val(); originalValue = $(this).attr("original"); @@ -1165,22 +1204,22 @@ function hasChanged() { var action = $(this).attr("action"); if (typeof originalValue === "undefined") { return; } - if (action === "none") { return; } + if ("none" === action) { return; } if (newValue !== originalValue) { - if (hasChanged === 0) { + if (0 === hasChanged) { ++numChanged; - if (action === "reconnect") ++numReconnect; - if (action === "reboot") ++numReboot; - if (action === "reload") ++numReload; + if ("reconnect" === action) { ++numReconnect; } + if ("reboot" === action) { ++numReboot; } + if ("reload" === action) { ++numReload; } $(this).attr("hasChanged", 1); } } else { - if (hasChanged === 1) { + if (1 === hasChanged) { --numChanged; - if (action === "reconnect") --numReconnect; - if (action === "reboot") --numReboot; - if (action === "reload") --numReload; + if ("reconnect" === action) { --numReconnect; } + if ("reboot" === action) { --numReboot; } + if ("reload" === action) { --numReload; } $(this).attr("hasChanged", 0); } } @@ -1200,16 +1239,16 @@ function connect(host) { host = "http://" + host + "/"; } } - if (host.indexOf("http") !== 0) {return;} + if (host.indexOf("http") !== 0) { return; } webhost = host; wshost = host.replace("http", "ws") + "ws"; - if (websock) websock.close(); + if (websock) { websock.close(); } websock = new WebSocket(wshost); websock.onmessage = function(evt) { var data = getJson(evt.data); - if (data) processData(data); + if (data) { processData(data); } }; } @@ -1228,8 +1267,10 @@ $(function() { $(".button-reboot").on("click", doReboot); $(".button-reconnect").on("click", doReconnect); $(".button-wifi-scan").on("click", doScan); + $(".button-ha-config").on("click", doHAConfig); $(".button-settings-backup").on("click", doBackup); $(".button-settings-restore").on("click", doRestore); + $(".button-settings-factory").on("click", doFactoryReset); $("#uploader").on("change", onFileUpload); $(".button-upgrade").on("click", doUpgrade); @@ -1239,8 +1280,8 @@ $(function() { return false; }); $("input[name='upgrade']").change(function (){ - var fileName = $(this).val(); - $("input[name='filename']").val(fileName.replace(/^.*[\\\/]/, "")); + var file = this.files[0]; + $("input[name='filename']").val(file.name); }); $(".button-add-network").on("click", function() { $(".more", addNetwork()).toggle(); diff --git a/code/html/index.html b/code/html/index.html index 427d065a..d2d5f76d 100644 --- a/code/html/index.html +++ b/code/html/index.html @@ -102,7 +102,7 @@ SWITCHES -
  • +
  • SCHEDULE
  • @@ -118,6 +118,10 @@ DOMOTICZ +
  • + HASS +
  • +
  • INFLUXDB
  • @@ -127,7 +131,7 @@
  • - RFBRIDGE + RF
  • @@ -199,7 +203,7 @@
    RSSI
    -
    ()
    +
    IP
    @@ -264,7 +268,7 @@
    - This name will identify this device in your network (http://<hostname>.local). For this setting to take effect you should restart the wifi interface clicking the "Reconnect" button. + This name will identify this device in your network (http://<hostname>.local). For this setting to take effect you should restart the wifi interface by clicking the "Reconnect" button.
    @@ -286,10 +290,11 @@ @@ -297,11 +302,12 @@
    This setting defines the behaviour of the main LED in the board.
    - When in "WiFi status" it will blink at 1Hz when trying to connecting. If successfully connected if will briefly lit every 5 seconds if in STA mode or every second if in AP mode.
    + When in "WiFi status" it will blink at 1Hz when trying to connect. If successfully connected it will briefly blink every 5 seconds if in STA mode or every second if in AP mode.
    + When in "Relay status" mode the LED will be ON whenever any relay is ON, and OFF otherwise. This is global status notification.
    When in "MQTT managed" mode you will be able to set the LED state sending a message to "<base_topic>/led/0/set" with a payload of 0, 1 or 2 (to toggle it).
    When in "Find me" mode the LED will be ON when all relays are OFF. This is meant to locate switches at night.
    - When in "Status" mode the LED will be ON whenever any relay is ON, and OFF otherwise. This is global status notification.
    - When in "Mixed" mode it will follow the WiFi status but will stay mostly on when relays are OFF, and mostly OFF when any of them is ON.
    + When in "Relay & WiFi" mode it will follow the WiFi status but will stay mostly off when relays are OFF, and mostly ON when any of them is ON.
    + When in "Find me & WiFi" mode is the opposite of the "Relay & WiFi", it will follow the WiFi status but will stay mostly on when relays are OFF, and mostly OFF when any of them is ON.
    "Always ON" and "Always OFF" modes are self-explanatory.
    @@ -311,22 +317,6 @@
    -
    - -
    -
    -
    -
    - Home Assistant auto-discovery feature. Enable and save to add the device to your HA console. - When using a colour light you might want to disable CSS style so Home Assistant can parse the color. -
    -
    - -
    - - -
    - @@ -375,11 +365,11 @@
    - +
    -
    Use color picker for the first 3 channels as RGB.
    Will only work if the device has at least 3 dimmable channels.
    Reload the page to update the web interface.
    +
    Use the first three channels as RGB channels. This will also enable the color picker in the web UI. Will only work if the device has at least 3 dimmable channels.
    Reload the page to update the web interface.
    @@ -469,6 +459,11 @@
    +
    + +
    +
    +
    @@ -521,7 +516,8 @@
    -
    +
    +
    @@ -530,6 +526,8 @@
    +
    The device has bytes available for OTA updates. If your image is larger than this consider doing a two-step update.
    +
    @@ -569,7 +567,7 @@
    - +
    Networks @@ -710,7 +708,7 @@ All messages (except the device status) will be included in a JSON payload along with the timestamp and hostname and sent under the <root>/data topic.
    Messages will be queued and sent after 100ms, so different messages could be merged into a single payload.
    - Subscribtions will still be done to single topics. + Subscriptions will still be done to single topics.
    @@ -800,6 +798,61 @@ +
    + +
    +

    HOME ASSISTANT

    +

    + Add this device to your Home Assistant. +

    +
    + +
    +
    + + Discover + +
    + +
    +
    +
    +
    + Home Assistant auto-discovery feature. Enable and save to add the device to your HA console. + When using a colour light you might want to disable CSS style so Home Assistant can parse the color. +
    +
    + +
    + + +
    + + Configuration + +
    + +
    +
    +
    + These are the settings you should copy to your Home Assistant "configuration.yaml" file. + If any of the sections below (switch, light, sensor) already exists, do not dupplicate it, + simply copy the contents of the section below the ones already present. +
    +
    +
    +
    +
    +
    + + +
    +
    + +
    + + +
    @@ -930,6 +983,22 @@
    +
    + + +
    + +
    + + +
    +
    -
    In Ampers (A). If you are using a pure resistive load like a bulb this will the ratio between the two previous values, i.e. power / voltage. You can also use a current clamp around one fo the power wires to get this value.
    +
    In Amperes (A). If you are using a pure resistive load like a bulb, this will be the ratio between the two previous values, i.e. power / voltage. You can also use a current clamp around one of the power wires to get this value.
    @@ -1004,11 +1073,12 @@
    -

    RFBRIDGE

    +

    RADIO FREQUENCY

    - Sonoff 433 RF Bridge Configuration

    - To learn a new code click LEARN, the Sonoff RFBridge will beep, then press a button on the remote, the RFBridge will then double beep and the new code should show up. If the device double beeps but the code does not update it has not been properly learnt. Keep trying.

    - Modify or create new codes manually (18 characters) and then click SAVE to store them in the device memory. If your controlled device uses the same code to switch ON and OFF, learn the code with the ON button and copy paste it to the OFF input box, then click SAVE on the last one to store the value.

    + Sonoff 433 RF Bridge & RF Link Configuration

    + This page allows you to configure the RF codes for the Sonoff RFBridge 433 and also for a basic RF receiver.

    + To learn a new code click LEARN (the Sonoff RFBridge will beep) then press a button on the remote, the new code should show up (and the RFBridge will double beep). If the device double beeps but the code does not update it has not been properly learnt. Keep trying.

    + Modify or create new codes manually and then click SAVE to store them in the device memory. If your controlled device uses the same code to switch ON and OFF, learn the code with the ON button and copy paste it to the OFF input box, then click SAVE on the last one to store the value.

    Delete any code clicking the FORGET button.

    You can also specify 116-chars long RAW codes. Raw codes require a specific firmware for for the EFM8BB1.

    diff --git a/code/memanalyzer.py b/code/memanalyzer.py index 181e7283..c2f236b1 100644 --- a/code/memanalyzer.py +++ b/code/memanalyzer.py @@ -50,7 +50,7 @@ description = "ESPurna Memory Analyzer v0.1" def file_size(file): try: return os.stat(file).st_size - except: + except OSError: return 0 @@ -65,7 +65,7 @@ def analyse_memory(elf_file): # print("------------------------------------------------------------------------------"); ret = {} - for (id_, descr) in list(sections.items()): + for (id_, _) in list(sections.items()): section_start_token = " _%s_start" % id_ section_end_token = " _%s_end" % id_ section_start = -1 diff --git a/code/ota.py b/code/ota.py index ddc7aa26..4726eb76 100755 --- a/code/ota.py +++ b/code/ota.py @@ -155,7 +155,7 @@ def input_board(): # Choose the board try: index = int(input("Choose the board you want to flash (empty if none of these): ")) - except: + except ValueError: index = 0 if index < 0 or len(devices) < index: print("Board number must be between 1 and %s\n" % str(len(devices))) @@ -175,7 +175,7 @@ def input_board(): print() try: index = int(input("Choose the board type you want to flash: ")) - except: + except ValueError: index = 0 if index < 1 or len(boards) < index: print("Board number must be between 1 and %s\n" % str(len(boards))) @@ -186,17 +186,13 @@ def input_board(): if board.get('size', 0) == 0: try: board['size'] = int(input("Board memory size (1 for 1M, 4 for 4M): ")) - except: + except ValueError: print("Wrong memory size") return None # Choose IP of none before if len(board.get('ip', '')) == 0: - try: - board['ip'] = input("IP of the device to flash (empty for 192.168.4.1): ") or "192.168.4.1" - except: - print("Wrong IP") - return None + board['ip'] = input("IP of the device to flash (empty for 192.168.4.1): ") or "192.168.4.1" return board diff --git a/code/package.json b/code/package.json index 0d2a39c5..62993d90 100644 --- a/code/package.json +++ b/code/package.json @@ -7,6 +7,7 @@ "license": "GPL-3.0", "devDependencies": { "del": "^2.2.1", + "fancy-log": "^1.3.2", "gulp": "^3.9.1", "gulp-base64-favicon": "^1.0.2", "gulp-clean-css": "^3.4.2", @@ -16,8 +17,6 @@ "gulp-htmllint": "0.0.14", "gulp-htmlmin": "^2.0.0", "gulp-inline": "^0.1.1", - "gulp-uglify": "^1.5.3", - "gulp-util": "^3.0.8" - }, - "dependencies": {} + "gulp-uglify": "^1.5.3" + } } diff --git a/code/platformio.ini b/code/platformio.ini index 85bd8b94..253399be 100644 --- a/code/platformio.ini +++ b/code/platformio.ini @@ -16,9 +16,9 @@ lib_deps = Brzo I2C https://bitbucket.org/xoseperez/debounceevent.git#2.0.1 Embedis - https://github.com/krosk93/espsoftwareserial#a770677 - https://github.com/me-no-dev/ESPAsyncTCP#a57560d - https://github.com/me-no-dev/ESPAsyncWebServer#313f337 + https://github.com/plerup/espsoftwareserial#7077979 + https://github.com/me-no-dev/ESPAsyncTCP#55cd520 + https://github.com/me-no-dev/ESPAsyncWebServer#232b87a https://bitbucket.org/xoseperez/fauxmoesp.git#2.4.2 https://bitbucket.org/xoseperez/hlw8012.git#1.1.0 https://github.com/markszabo/IRremoteESP8266#v2.2.0 @@ -29,22 +29,34 @@ lib_deps = https://github.com/xoseperez/NtpClient.git#b35e249 OneWire PMS Library + PZEM004T PubSubClient - https://github.com/xoseperez/RemoteSwitch-arduino-library.git + rc-switch https://github.com/xoseperez/Time lib_ignore = extra_scripts = extra_scripts.py # ------------------------------------------------------------------------------ -[env:espurna-core] +[env:espurna-core-1MB] platform = ${common.platform} framework = arduino board = esp01_1m board_flash_mode = dout lib_deps = ${common.lib_deps} lib_ignore = ${common.lib_ignore} -build_flags = ${common.build_flags_1m} -DITEAD_SONOFF_BASIC -DESPURNA_CORE +build_flags = ${common.build_flags_1m} -DESPURNA_CORE +monitor_baud = 115200 +extra_scripts = ${common.extra_scripts} + +[env:espurna-core-4MB] +platform = ${common.platform} +framework = arduino +board = d1_mini +board_flash_mode = dout +lib_deps = ${common.lib_deps} +lib_ignore = ${common.lib_ignore} +build_flags = ${common.build_flags} -DESPURNA_CORE monitor_baud = 115200 extra_scripts = ${common.extra_scripts} @@ -904,30 +916,6 @@ upload_flags = --auth=fibonacci --port 8266 monitor_baud = 115200 extra_scripts = ${common.extra_scripts} -[env:magichome-led-controller-23] -platform = ${common.platform} -framework = arduino -board = esp01_1m -board_flash_mode = dout -lib_deps = ${common.lib_deps} -lib_ignore = ${common.lib_ignore} -build_flags = ${common.build_flags_1m} -DMAGICHOME_LED_CONTROLLER_23 -monitor_baud = 115200 -extra_scripts = ${common.extra_scripts} - -[env:magichome-led-controller-23-ota] -platform = ${common.platform} -framework = arduino -board = esp01_1m -board_flash_mode = dout -lib_deps = ${common.lib_deps} -lib_ignore = ${common.lib_ignore} -build_flags = ${common.build_flags_1m} -DMAGICHOME_LED_CONTROLLER_23 -upload_port = "192.168.4.1" -upload_flags = --auth=fibonacci --port 8266 -monitor_baud = 115200 -extra_scripts = ${common.extra_scripts} - [env:huacanxing-h801] platform = ${common.platform} framework = arduino @@ -1375,6 +1363,31 @@ upload_flags = --auth=fibonacci --port 8266 monitor_baud = 115200 extra_scripts = ${common.extra_scripts} +[env:kmc-70011] +platform = ${common.platform} +framework = arduino +board = esp01_1m +board_flash_mode = dout +lib_deps = ${common.lib_deps} +lib_ignore = ${common.lib_ignore} +build_flags = ${common.build_flags_1m} -DKMC_70011 +monitor_baud = 115200 +extra_scripts = ${common.extra_scripts} + +[env:kmc-70011-ota] +platform = ${common.platform} +framework = arduino +board = esp01_1m +board_flash_mode = dout +lib_deps = ${common.lib_deps} +lib_ignore = ${common.lib_ignore} +build_flags = ${common.build_flags_1m} -DKMC_70011 +upload_speed = 115200 +upload_port = "192.168.4.1" +upload_flags = --auth=fibonacci --port 8266 +monitor_baud = 115200 +extra_scripts = ${common.extra_scripts} + [env:yjzk-switch-2ch] platform = ${common.platform} framework = arduino @@ -1411,6 +1424,79 @@ upload_speed = 460800 monitor_baud = 115200 extra_scripts = ${common.extra_scripts} +[env:gizwits-witty-cloud] +platform = ${common.platform} +framework = arduino +board = esp12e +board_flash_mode = dout +lib_deps = ${common.lib_deps} +lib_ignore = ${common.lib_ignore} +build_flags = ${common.build_flags} -DGIZWITS_WITTY_CLOUD +monitor_baud = 115200 +extra_scripts = ${common.extra_scripts} + +[env:gizwits-witty-cloud-ota] +platform = ${common.platform} +framework = arduino +board = esp12e +board_flash_mode = dout +lib_deps = ${common.lib_deps} +lib_ignore = ${common.lib_ignore} +build_flags = ${common.build_flags} -DGIZWITS_WITTY_CLOUD +upload_speed = 115200 +upload_port = "${env.ESPURNA_IP}" +upload_flags = --auth=${env.ESPURNA_AUTH} --port 8266 +extra_scripts = ${common.extra_scripts} + +[env:euromate-wifi-stecker-shuko] +platform = ${common.platform} +framework = arduino +board = esp01_1m +board_flash_mode = dout +lib_deps = ${common.lib_deps} +lib_ignore = ${common.lib_ignore} +build_flags = ${common.build_flags} -DEUROMATE_WIFI_STECKER_SCHUKO +monitor_baud = 115200 +extra_scripts = ${common.extra_scripts} + +[env:euromate-wifi-stecker-shuko-ota] +platform = ${common.platform} +framework = arduino +board = esp01_1m +board_flash_mode = dout +lib_deps = ${common.lib_deps} +lib_ignore = ${common.lib_ignore} +build_flags = ${common.build_flags} -DEUROMATE_WIFI_STECKER_SCHUKO +upload_speed = 115200 +upload_port = "${env.ESPURNA_IP}" +upload_flags = --auth=${env.ESPURNA_AUTH} --port 8266 +extra_scripts = ${common.extra_scripts} + +[env:stm-relay-ota] +platform = ${common.platform} +framework = arduino +board = esp01_1m +board_flash_mode = dout +lib_deps = ${common.lib_deps} +lib_ignore = ${common.lib_ignore} +build_flags = ${common.build_flags_1m} -DSTM_RELAY +monitor_baud = 115200 +extra_scripts = ${common.extra_scripts} + +[env:stm-relay-ota] +platform = ${common.platform} +framework = arduino +board = esp01_1m +board_flash_mode = dout +lib_deps = ${common.lib_deps} +lib_ignore = ${common.lib_ignore} +build_flags = ${common.build_flags_1m} -DSTM_RELAY +upload_speed = 115200 +upload_port = "192.168.4.1" +upload_flags = --auth=fibonacci --port 8266 +monitor_baud = 115200 +extra_scripts = ${common.extra_scripts} + # ------------------------------------------------------------------------------ # GENERIC OTA ENVIRONMENTS # ------------------------------------------------------------------------------ diff --git a/pre-commit b/pre-commit index e29fd5f6..90640b70 100755 --- a/pre-commit +++ b/pre-commit @@ -52,6 +52,14 @@ travis = "[![travis](https://travis-ci.org/{USER}/{REPO}.svg?branch={BRANCH})]" BRANCH = BRANCH ) +codacy = "[![codacy](https://img.shields.io/codacy/grade/{HASH}/{BRANCH}.svg)]" \ + "(https://www.codacy.com/app/{USER}/{REPO}/dashboard)\n".format( + HASH = "c9496e25cf07434cba786b462cb15f49", + USER = USER, + REPO = REPO, + BRANCH = BRANCH +) + lines = open(README).readlines() with open(README, "w") as fh: for line in lines: @@ -61,6 +69,8 @@ with open(README, "w") as fh: fh.write(version) elif "![branch]" in line: fh.write(branch) + elif "![codacy]" in line: + fh.write(codacy) else: fh.write(line)