diff --git a/bin/build-all.sh b/bin/build-all.sh index 9f0888f03..ab779e187 100755 --- a/bin/build-all.sh +++ b/bin/build-all.sh @@ -9,7 +9,7 @@ COUNTRIES="US EU433 EU865 CN JP ANZ KR" #COUNTRIES=CN BOARDS_ESP32="tlora-v2 tlora-v1 tlora-v2-1-1.6 tbeam heltec tbeam0.7" -# BOARDS_ESP32=tbeam +#BOARDS_ESP32=tbeam # FIXME note nrf52840dk build is for some reason only generating a BIN file but not a HEX file nrf52840dk-geeksville is fine BOARDS_NRF52="lora-relay-v1" @@ -87,8 +87,12 @@ platformio lib update do_boards "$BOARDS_ESP32" "false" do_boards "$BOARDS_NRF52" "true" +echo "Building SPIFFS for ESP32 targets" +pio run --environment tbeam -t buildfs +cp .pio/build/tbeam/spiffs.bin $OUTDIR/bins/universal/spiffs-$VERSION.bin + # keep the bins in archive also -cp $OUTDIR/bins/firmware* $OUTDIR/elfs/firmware* $OUTDIR/bins/universal/firmware* $OUTDIR/elfs/universal/firmware* $ARCHIVEDIR +cp $OUTDIR/bins/firmware* $OUTDIR/bins/universal/spiffs* $OUTDIR/elfs/firmware* $OUTDIR/bins/universal/firmware* $OUTDIR/elfs/universal/firmware* $ARCHIVEDIR echo Updating android bins $OUTDIR/forandroid rm -rf $OUTDIR/forandroid @@ -109,6 +113,6 @@ XML echo Generating $ARCHIVEDIR/firmware-$VERSION.zip rm -f $ARCHIVEDIR/firmware-$VERSION.zip -zip --junk-paths $ARCHIVEDIR/firmware-$VERSION.zip $OUTDIR/bins/firmware-*-$VERSION.* images/system-info.bin bin/device-install.sh bin/device-update.sh +zip --junk-paths $ARCHIVEDIR/firmware-$VERSION.zip $ARCHIVEDIR/spiffs-$VERSION.bin $OUTDIR/bins/firmware-*-$VERSION.* images/system-info.bin bin/device-install.sh bin/device-update.sh echo BUILT ALL diff --git a/bin/device-install.sh b/bin/device-install.sh index fb374d091..3d5f27af8 100755 --- a/bin/device-install.sh +++ b/bin/device-install.sh @@ -1,5 +1,7 @@ #!/bin/sh +set -e + # Usage info show_help() { cat << EOF @@ -36,6 +38,7 @@ if [ -f "${FILENAME}" ]; then echo "Trying to flash ${FILENAME}, but first erasing and writing system information" esptool.py --baud 921600 erase_flash esptool.py --baud 921600 write_flash 0x1000 system-info.bin + esptool.py --baud 921600 write_flash 0x00390000 spiffs-*.bin esptool.py --baud 921600 write_flash 0x10000 ${FILENAME} else echo "Invalid file: ${FILENAME}" diff --git a/bin/version.sh b/bin/version.sh index 8a7fb3ca3..2e7677737 100644 --- a/bin/version.sh +++ b/bin/version.sh @@ -1,3 +1,3 @@ -export VERSION=1.1.8 \ No newline at end of file +export VERSION=1.1.9 \ No newline at end of file diff --git a/data/static/basic.js b/data/static/basic.js new file mode 100644 index 000000000..5cbb8d72b --- /dev/null +++ b/data/static/basic.js @@ -0,0 +1,43 @@ +var meshtasticClient; +var connectionOne; + + +// Important: the connect action must be called from a user interaction (e.g. button press), otherwise the browsers won't allow the connect +function connect() { + + // Create new connection + var httpconn = new meshtasticjs.IHTTPConnection(); + + // Set connection params + let sslActive; + if (window.location.protocol === 'https:') { + sslActive = true; + } else { + sslActive = false; + } + let deviceIp = window.location.hostname; // Your devices IP here + + + // Add event listeners that get called when a new packet is received / state of device changes + httpconn.addEventListener('fromRadio', function (packet) { console.log(packet) }); + + // Connect to the device async, then send a text message + httpconn.connect(deviceIp, sslActive) + .then(result => { + + alert('device has been configured') + // This gets called when the connection has been established + // -> send a message over the mesh network. If no recipient node is provided, it gets sent as a broadcast + return httpconn.sendText('meshtastic is awesome'); + + }) + .then(result => { + + // This gets called when the message has been sucessfully sent + console.log('Message sent!'); + }) + + .catch(error => { console.log(error); }); + +} + diff --git a/data/static/index.html b/data/static/index.html new file mode 100644 index 000000000..663203013 --- /dev/null +++ b/data/static/index.html @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/static/meshtastic.js.gz b/data/static/meshtastic.js.gz new file mode 100644 index 000000000..3f02faf02 Binary files /dev/null and b/data/static/meshtastic.js.gz differ diff --git a/data/style.css b/data/style.css deleted file mode 100644 index 408ee7645..000000000 --- a/data/style.css +++ /dev/null @@ -1,277 +0,0 @@ -/* latin-ext */ -@font-face { - font-family: 'Lato'; - font-style: normal; - font-weight: 400; - src: local('Lato Regular'), local('Lato-Regular'), url(./Google.woff2) format('woff2'); - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; -} - - -*, *:before, *:after { - box-sizing: border-box; -} - -body { - background: #C5DDEB; - font: 14px/20px "Lato", Arial, sans-serif; - padding: 40px 0; - color: white; -} - - - -.grid { - display: grid; - grid-template-columns: - 1fr 4fr; - grid-template-areas: - "header header" - "sidebar content"; - margin: 0 auto; - width: 750px; - background: #444753; - border-radius: 5px; -} - -.top {grid-area: header;} -.side {grid-area: sidebar;} -.main {grid-area: content;} - -.top { - border-bottom: 2px solid white; -} -.top-text { - font-weight: bold; - font-size: 24px; - text-align: center; - padding: 20px; -} - -.side { - width: 260px; - float: left; -} -.side .side-header { - padding: 20px; - border-bottom: 2px solid white; -} - -.side .side-header .side-text { - padding-left: 10px; - margin-top: 6px; - font-size: 16px; - text-align: left; - font-weight: bold; - -} - -.channel-list ul { - padding: 20px; - height: 570px; - list-style-type: none; -} -.channel-list ul li { - padding-bottom: 20px; -} - -.channel-list .channel-name { - font-size: 20px; - margin-top: 8px; - padding-left: 8px; -} - -.channel-list .message-count { - padding-left: 16px; - color: #92959E; -} - -.icon { - display: inline-block; - width: 1em; - height: 1em; - stroke-width: 0; - stroke: currentColor; - fill: currentColor; -} - -.icon-map-marker { - width: 0.5714285714285714em; -} - -.icon-circle { - width: 0.8571428571428571em; -} - -.content { - display: flex; - flex-direction: column; - flex-wrap: nowrap; -/* width: 490px; */ - float: left; - background: #F2F5F8; -/* border-top-right-radius: 5px; - border-bottom-right-radius: 5px; */ - color: #434651; -} -.content .content-header { - flex-grow: 0; - padding: 20px; - border-bottom: 2px solid white; -} - -.content .content-header .content-from { - padding-left: 10px; - margin-top: 6px; - font-size: 20px; - text-align: center; - font-size: 16px; -} -.content .content-header .content-from .content-from-highlight { - font-weight: bold; -} -.content .content-header .content-num-messages { - color: #92959E; -} - -.content .content-history { - flex-grow: 1; - padding: 20px 20px 20px; - border-bottom: 2px solid white; - overflow-y: scroll; - height: 375px; -} -.content .content-history ul { - list-style-type: none; - padding-inline-start: 10px; -} -.content .content-history .message-data { - margin-bottom: 10px; -} -.content .content-history .message-data-time { - color: #a8aab1; - padding-left: 6px; -} -.content .content-history .message { - color: white; - padding: 8px 10px; - line-height: 20px; - font-size: 14px; - border-radius: 7px; - margin-bottom: 30px; - width: 90%; - position: relative; -} -.content .content-history .message:after { - bottom: 100%; - left: 7%; - border: solid transparent; - content: " "; - height: 0; - width: 0; - position: absolute; - pointer-events: none; - border-bottom-color: #86BB71; - border-width: 10px; - margin-left: -10px; -} -.content .content-history .my-message { - background: #86BB71; -} -.content .content-history .other-message { - background: #94C2ED; -} -.content .content-history .other-message:after { - border-bottom-color: #94C2ED; - left: 93%; -} -.content .content-message { - flex-grow: 0; - padding: 10px; -} -.content .content-message textarea { - width: 100%; - border: none; - padding: 10px 10px; - font: 14px/22px "Lato", Arial, sans-serif; - margin-bottom: 10px; - border-radius: 5px; - resize: none; -} - -.content .content-message button { - float: right; - color: #94C2ED; - font-size: 16px; - text-transform: uppercase; - border: none; - cursor: pointer; - font-weight: bold; - background: #F2F5F8; -} -.content .content-message button:hover { - color: #75b1e8; -} -/* Tooltip container */ -.tooltip { - color: #86BB71; - position: relative; - display: inline-block; - border-bottom: 1px dotted black; /* If you want dots under the hoverable text */ -} -/* Tooltip text */ -.tooltip .tooltiptext { - visibility: hidden; - width: 120px; - background-color: #444753; - color: #fff; - text-align: center; - padding: 5px 0; - border-radius: 6px; - /* Position the tooltip text - see examples below! */ - position: absolute; - z-index: 1; -} - -/* Show the tooltip text when you mouse over the tooltip container */ -.tooltip:hover .tooltiptext { - visibility: visible; -} - -.online, .offline, .me { - margin-right: 3px; - font-size: 10px; -} - -.online { - color: #86BB71; -} - -.offline { - color: #E38968; -} - -.me { - color: #94C2ED; -} - -.align-left { - text-align: left; -} - -.align-right { - text-align: right; -} - -.float-right { - float: right; -} - -.clearfix:after { - visibility: hidden; - display: block; - font-size: 0; - content: " "; - clear: both; - height: 0; -} \ No newline at end of file diff --git a/data/style.css.gz b/data/style.css.gz deleted file mode 100644 index 1ebb3c0d8..000000000 Binary files a/data/style.css.gz and /dev/null differ diff --git a/docs/software/device-api.md b/docs/software/device-api.md index 031b586a2..cdf9e1368 100644 --- a/docs/software/device-api.md +++ b/docs/software/device-api.md @@ -111,6 +111,7 @@ Characteristics | e272ebac-d463-4b98-bc84-5cc1a39ee517 | write | data, variable sized, recommended 512 bytes, write one for each block of file | | 4826129c-c22a-43a3-b066-ce8f0d5bacc6 | write | crc32, write last - writing this will complete the OTA operation, now you can read result | | 5e134862-7411-4424-ac4a-210937432c77 | read,notify | result code, readable but will notify when the OTA operation completes | +| 5e134862-7411-4424-ac4a-210937432c67 | write | sets the region for programming, currently only 0 (app) or 100 (spiffs) are defined, if not set app is assumed | | GATT_UUID_SW_VERSION_STR/0x2a28 | read | We also implement these standard GATT entries because SW update probably needs them: | | GATT_UUID_MANU_NAME/0x2a29 | read | | | GATT_UUID_HW_VERSION_STR/0x2a27 | read | | diff --git a/platformio.ini b/platformio.ini index c33784cfe..4f73d1955 100644 --- a/platformio.ini +++ b/platformio.ini @@ -31,6 +31,7 @@ build_flags = -Wno-missing-field-initializers -Isrc -Isrc/mesh -Isrc/gps -Ilib/n -DAPP_VERSION=${sysenv.APP_VERSION} -DHW_VERSION=${sysenv.HW_VERSION} -DUSE_THREAD_NAMES + -DTINYGPSPLUS_OPTION_NO_CUSTOM_FIELDS ; leave this commented out to avoid breaking Windows ;upload_port = /dev/ttyUSB0 @@ -64,7 +65,7 @@ lib_deps = https://github.com/meshtastic/arduino-fsm.git#2f106146071fc7bc620e1e8d4b88dc4e0266ce39 https://github.com/meshtastic/SparkFun_Ublox_Arduino_Library.git#31015a55e630a2df77d9d714669c621a5bf355ad https://github.com/meshtastic/RadioLib.git#8657380241bce681c33aab46598bbf13b11f876c - https://github.com/meshtastic/TinyGPSPlus.git + https://github.com/meshtastic/TinyGPSPlus.git#9c1d584d2469523381e077b0b9c1bf868d6c0206 https://github.com/meshtastic/AXP202X_Library.git#8404abb6d4b486748636bc6ad72d2a47baaf5460 Wire ; explicitly needed here because the AXP202 library forgets to add it SPI diff --git a/src/FSCommon.cpp b/src/FSCommon.cpp new file mode 100644 index 000000000..2ce7f0bbe --- /dev/null +++ b/src/FSCommon.cpp @@ -0,0 +1,21 @@ +#include "FSCommon.h" + +void fsInit() +{ +#ifdef FS + if (!FSBegin()) + { + DEBUG_MSG("ERROR filesystem mount Failed\n"); + assert(0); // FIXME - report failure to phone + } + + DEBUG_MSG("Filesystem files:\n"); + File dir = FS.open("/"); + File f = dir.openNextFile(); + while (f) { + DEBUG_MSG(" %s\n", f.name()); + f.close(); + f = dir.openNextFile(); + } +#endif +} diff --git a/src/FSCommon.h b/src/FSCommon.h new file mode 100644 index 000000000..a1adb952e --- /dev/null +++ b/src/FSCommon.h @@ -0,0 +1,29 @@ +#pragma once + +#include "configuration.h" + +// Cross platform filesystem API + +#ifdef PORTDUINO +// Portduino version +#include "PortduinoFS.h" +#define FS PortduinoFS +#define FSBegin() true +#define FILE_O_WRITE "w" +#define FILE_O_READ "r" +#elif !defined(NO_ESP32) +// ESP32 version +#include "SPIFFS.h" +#define FS SPIFFS +#define FSBegin() FS.begin(true) +#define FILE_O_WRITE "w" +#define FILE_O_READ "r" +#else +// NRF52 version +#include "InternalFileSystem.h" +#define FS InternalFS +#define FSBegin() FS.begin() +using namespace Adafruit_LittleFS_Namespace; +#endif + +void fsInit(); \ No newline at end of file diff --git a/src/Power.cpp b/src/Power.cpp index ae51e8039..ba908e3fb 100644 --- a/src/Power.cpp +++ b/src/Power.cpp @@ -134,6 +134,14 @@ bool Power::setup() return found; } +void Power::shutdown() +{ +#ifdef TBEAM_V10 + DEBUG_MSG("Shutting down\n"); + axp.shutdown(); +#endif +} + /// Reads power status to powerStatus singleton. // // TODO(girts): move this and other axp stuff to power.h/power.cpp. diff --git a/src/esp32/BluetoothSoftwareUpdate.cpp b/src/esp32/BluetoothSoftwareUpdate.cpp index 12e30d1ce..03e156b0b 100644 --- a/src/esp32/BluetoothSoftwareUpdate.cpp +++ b/src/esp32/BluetoothSoftwareUpdate.cpp @@ -6,6 +6,7 @@ #include "RadioLibInterface.h" #include "configuration.h" #include "nimble/BluetoothUtil.h" +#include "NodeDB.h" #include #include @@ -16,6 +17,8 @@ static CRC32 crc; static uint32_t rebootAtMsec = 0; // If not zero we will reboot at this time (used to reboot shortly after the update completes) static uint32_t updateExpectedSize, updateActualSize; +static uint8_t update_result; +static uint8_t update_region; static concurrency::Lock *updateLock; @@ -32,8 +35,8 @@ int update_size_callback(uint16_t conn_handle, uint16_t attr_handle, struct ble_ crc.reset(); if (Update.isRunning()) Update.abort(); - bool canBegin = Update.begin(updateExpectedSize); - DEBUG_MSG("Setting update size %u, result %d\n", updateExpectedSize, canBegin); + bool canBegin = Update.begin(updateExpectedSize, update_region); + DEBUG_MSG("Setting region %d update size %u, result %d\n", update_region, updateExpectedSize, canBegin); if (!canBegin) { // Indicate failure by forcing the size to 0 (client will read it back) updateExpectedSize = 0; @@ -72,13 +75,11 @@ int update_data_callback(uint16_t conn_handle, uint16_t attr_handle, struct ble_ crc.update(data, len); Update.write(data, len); updateActualSize += len; - powerFSM.trigger(EVENT_CONTACT_FROM_PHONE); + powerFSM.trigger(EVENT_CONTACT_FROM_PHONE); return 0; } -static uint8_t update_result; - /// Handle writes to crc32 int update_crc32_callback(uint16_t conn_handle, uint16_t attr_handle, struct ble_gatt_access_ctxt *ctxt, void *arg) { @@ -100,8 +101,14 @@ int update_crc32_callback(uint16_t conn_handle, uint16_t attr_handle, struct ble result = 0xe0; // FIXME, use real error codes } else { if (Update.end()) { - DEBUG_MSG("OTA done, rebooting in 5 seconds!\n"); - rebootAtMsec = millis() + 5000; + if (update_region == U_SPIFFS) { + DEBUG_MSG("SPIFFS updated!\n"); + nodeDB.saveToDisk(); // Since we just wiped spiffs, we need to save our current state + } + else { + DEBUG_MSG("Appload updated, rebooting in 5 seconds!\n"); + rebootAtMsec = millis() + 5000; + } } else { DEBUG_MSG("Error Occurred. Error #: %d\n", Update.getError()); } @@ -125,6 +132,11 @@ int update_result_callback(uint16_t conn_handle, uint16_t attr_handle, struct bl return chr_readwrite8(&update_result, sizeof(update_result), ctxt); } +int update_region_callback(uint16_t conn_handle, uint16_t attr_handle, struct ble_gatt_access_ctxt *ctxt, void *arg) +{ + return chr_readwrite8(&update_region, sizeof(update_region), ctxt); +} + void bluetoothRebootCheck() { if (rebootAtMsec && millis() > rebootAtMsec) { diff --git a/src/esp32/BluetoothSoftwareUpdate.h b/src/esp32/BluetoothSoftwareUpdate.h index c7a412d69..f5e1a1ded 100644 --- a/src/esp32/BluetoothSoftwareUpdate.h +++ b/src/esp32/BluetoothSoftwareUpdate.h @@ -14,10 +14,11 @@ int update_size_callback(uint16_t conn_handle, uint16_t attr_handle, struct ble_ int update_data_callback(uint16_t conn_handle, uint16_t attr_handle, struct ble_gatt_access_ctxt *ctxt, void *arg); int update_result_callback(uint16_t conn_handle, uint16_t attr_handle, struct ble_gatt_access_ctxt *ctxt, void *arg); int update_crc32_callback(uint16_t conn_handle, uint16_t attr_handle, struct ble_gatt_access_ctxt *ctxt, void *arg); +int update_region_callback(uint16_t conn_handle, uint16_t attr_handle, struct ble_gatt_access_ctxt *ctxt, void *arg); extern const struct ble_gatt_svc_def gatt_update_svcs[]; -extern const ble_uuid128_t update_result_uuid; +extern const ble_uuid128_t update_result_uuid, update_region_uuid; extern int16_t updateResultHandle; diff --git a/src/esp32/NimbleSoftwareUpdate.c b/src/esp32/NimbleSoftwareUpdate.c index e02cd4a9d..956fdf53f 100644 --- a/src/esp32/NimbleSoftwareUpdate.c +++ b/src/esp32/NimbleSoftwareUpdate.c @@ -23,6 +23,10 @@ const ble_uuid128_t update_crc32_uuid = const ble_uuid128_t update_result_uuid = BLE_UUID128_INIT(0x77, 0x2c, 0x43, 0x37, 0x09, 0x21, 0x4a, 0xac, 0x24, 0x44, 0x11, 0x74, 0x62, 0x48, 0x13, 0x5e); +// "5e134862-7411-4424-ac4a-210937432c67" write +const ble_uuid128_t update_region_uuid = + BLE_UUID128_INIT(0x67, 0x2c, 0x43, 0x37, 0x09, 0x21, 0x4a, 0xac, 0x24, 0x44, 0x11, 0x74, 0x62, 0x48, 0x13, 0x5e); + const struct ble_gatt_svc_def gatt_update_svcs[] = { { /*** Service: Security test. */ @@ -47,9 +51,14 @@ const struct ble_gatt_svc_def gatt_update_svcs[] = { }, { .uuid = &update_result_uuid.u, - .access_cb = update_size_callback, + .access_cb = update_result_callback, .flags = BLE_GATT_CHR_F_READ | BLE_GATT_CHR_F_READ_AUTHEN | BLE_GATT_CHR_F_NOTIFY, }, + { + .uuid = &update_region_uuid.u, + .access_cb = update_region_callback, + .flags = BLE_GATT_CHR_F_WRITE | BLE_GATT_CHR_F_WRITE_AUTHEN, + }, { 0, /* No more characteristics in this service. */ }}, diff --git a/src/graphics/Screen.cpp b/src/graphics/Screen.cpp index a0b6d35aa..320c0f1e2 100644 --- a/src/graphics/Screen.cpp +++ b/src/graphics/Screen.cpp @@ -1088,7 +1088,7 @@ void DebugInfo::drawFrameWiFi(OLEDDisplay *display, OLEDDisplayUiState *state, i } } - if ((millis() / 1000) % 2) { + if ((millis() / 10000) % 2) { display->drawString(x, y + FONT_HEIGHT_SMALL * 2, "SSID: " + String(wifiName)); } else { display->drawString(x, y + FONT_HEIGHT_SMALL * 2, "PWD: " + String(wifiPsw)); diff --git a/src/main.cpp b/src/main.cpp index 61bb2be14..78c1bee16 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -11,6 +11,7 @@ // #include "rom/rtc.h" #include "DSRRouter.h" // #include "debug.h" +#include "FSCommon.h" #include "RTC.h" #include "SPILock.h" #include "concurrency/OSThread.h" @@ -167,29 +168,35 @@ class ButtonThread : public OSThread #endif public: + static uint32_t longPressTime; + // callback returns the period for the next callback invocation (or 0 if we should no longer be called) ButtonThread() : OSThread("Button") { #ifdef BUTTON_PIN userButton = OneButton(BUTTON_PIN, true, true); #ifdef INPUT_PULLUP_SENSE - // Some platforms (nrf52) have a SENSE variant which allows wake from sleep - override what OneButton did + // Some platforms (nrf52) have a SENSE variant which allows wake from sleep - override what OneButton did pinMode(BUTTON_PIN, INPUT_PULLUP_SENSE); #endif userButton.attachClick(userButtonPressed); userButton.attachDuringLongPress(userButtonPressedLong); userButton.attachDoubleClick(userButtonDoublePressed); + userButton.attachLongPressStart(userButtonPressedLongStart); + userButton.attachLongPressStop(userButtonPressedLongStop); wakeOnIrq(BUTTON_PIN, FALLING); #endif #ifdef BUTTON_PIN_ALT userButtonAlt = OneButton(BUTTON_PIN_ALT, true, true); #ifdef INPUT_PULLUP_SENSE - // Some platforms (nrf52) have a SENSE variant which allows wake from sleep - override what OneButton did + // Some platforms (nrf52) have a SENSE variant which allows wake from sleep - override what OneButton did pinMode(BUTTON_PIN_ALT, INPUT_PULLUP_SENSE); -#endif +#endif userButtonAlt.attachClick(userButtonPressed); userButtonAlt.attachDuringLongPress(userButtonPressedLong); userButtonAlt.attachDoubleClick(userButtonDoublePressed); + userButtonAlt.attachLongPressStart(userButtonPressedLongStart); + userButtonAlt.attachLongPressStop(userButtonPressedLongStop); wakeOnIrq(BUTTON_PIN_ALT, FALLING); #endif } @@ -209,7 +216,7 @@ class ButtonThread : public OSThread canSleep &= userButtonAlt.isIdle(); #endif // if (!canSleep) DEBUG_MSG("Supressing sleep!\n"); - //else DEBUG_MSG("sleep ok\n"); + // else DEBUG_MSG("sleep ok\n"); return 5; } @@ -222,20 +229,44 @@ class ButtonThread : public OSThread } static void userButtonPressedLong() { - DEBUG_MSG("Long press!\n"); + // DEBUG_MSG("Long press!\n"); screen->adjustBrightness(); - } - - static void userButtonDoublePressed() -{ -#ifndef NO_ESP32 - disablePin(); + + // If user button is held down for 10 seconds, shutdown the device. + if (millis() - longPressTime > 10 * 1000) { +#ifdef TBEAM_V10 + if (axp192_found == true) { + power->shutdown(); + } #endif -} + } else { + //DEBUG_MSG("Long press %u\n", (millis() - longPressTime)); + } + } + + static void userButtonDoublePressed() + { +#ifndef NO_ESP32 + disablePin(); +#endif + } + + static void userButtonPressedLongStart() + { + DEBUG_MSG("Long press start!\n"); + longPressTime = millis(); + } + + static void userButtonPressedLongStop() + { + DEBUG_MSG("Long press stop!\n"); + longPressTime = 0; + } }; static Periodic *ledPeriodic; static OSThread *powerFSMthread, *buttonThread; +uint32_t ButtonThread::longPressTime = 0; RadioInterface *rIf = NULL; @@ -245,6 +276,10 @@ void setup() SEGGER_RTT_ConfigUpBuffer(SEGGER_STDOUT_CH, NULL, NULL, 1024, SEGGER_RTT_MODE_NO_BLOCK_TRIM); #endif +#ifdef USE_SEGGER + SEGGER_RTT_ConfigUpBuffer(0, NULL, NULL, 0, SEGGER_RTT_MODE_NO_BLOCK_TRIM); +#endif + // Debug #ifdef DEBUG_PORT DEBUG_PORT.init(); // Set serial baud rate and init our mesh console @@ -266,6 +301,8 @@ void setup() ledPeriodic = new Periodic("Blink", ledBlinker); + fsInit(); + router = new DSRRouter(); #ifdef I2C_SDA diff --git a/src/mesh/NodeDB.cpp b/src/mesh/NodeDB.cpp index 05895c932..13c64bd41 100644 --- a/src/mesh/NodeDB.cpp +++ b/src/mesh/NodeDB.cpp @@ -16,6 +16,7 @@ #include "error.h" #include "mesh-pb-constants.h" #include "meshwifi/meshwifi.h" +#include "FSCommon.h" #include #include @@ -35,27 +36,7 @@ DeviceState versions used to be defined in the .proto file but really only this #define DEVICESTATE_CUR_VER 11 #define DEVICESTATE_MIN_VER DEVICESTATE_CUR_VER -#ifdef PORTDUINO -// Portduino version -#include "PortduinoFS.h" -#define FS PortduinoFS -#define FSBegin() true -#define FILE_O_WRITE "w" -#define FILE_O_READ "r" -#elif !defined(NO_ESP32) -// ESP32 version -#include "SPIFFS.h" -#define FS SPIFFS -#define FSBegin() FS.begin(true) -#define FILE_O_WRITE "w" -#define FILE_O_READ "r" -#else -// NRF52 version -#include "InternalFileSystem.h" -#define FS InternalFS -#define FSBegin() FS.begin() -using namespace Adafruit_LittleFS_Namespace; -#endif + // FIXME - move this somewhere else extern void getMacAddr(uint8_t *dmac); @@ -210,12 +191,6 @@ void NodeDB::init() { installDefaultDeviceState(); - if (!FSBegin()) // FIXME - do this in main? - { - DEBUG_MSG("ERROR filesystem mount Failed\n"); - assert(0); // FIXME - report failure to phone - } - // saveToDisk(); loadFromDisk(); // saveToDisk(); diff --git a/src/mesh/RadioLibInterface.cpp b/src/mesh/RadioLibInterface.cpp index 0d8fbc007..9a5ec536c 100644 --- a/src/mesh/RadioLibInterface.cpp +++ b/src/mesh/RadioLibInterface.cpp @@ -254,7 +254,7 @@ void RadioLibInterface::handleReceiveInterrupt() } } } - + /** start an immediate transmit */ void RadioLibInterface::startSend(MeshPacket *txp) { diff --git a/src/meshwifi/meshhttp.cpp b/src/meshwifi/meshhttp.cpp index 417388585..4f4170cb0 100644 --- a/src/meshwifi/meshhttp.cpp +++ b/src/meshwifi/meshhttp.cpp @@ -5,6 +5,10 @@ #include "meshhttpStatic.h" #include "meshwifi/meshwifi.h" #include "sleep.h" +#include +#include +#include +#include #include #include @@ -49,11 +53,11 @@ void handleStyleCSS(HTTPRequest *req, HTTPResponse *res); void handleHotspot(HTTPRequest *req, HTTPResponse *res); void handleFavicon(HTTPRequest *req, HTTPResponse *res); void handleRoot(HTTPRequest *req, HTTPResponse *res); -void handleBasicHTML(HTTPRequest *req, HTTPResponse *res); -void handleBasicJS(HTTPRequest *req, HTTPResponse *res); -void handleScriptsScriptJS(HTTPRequest *req, HTTPResponse *res); +void handleStaticBrowse(HTTPRequest *req, HTTPResponse *res); +void handleStaticPost(HTTPRequest *req, HTTPResponse *res); void handleStatic(HTTPRequest *req, HTTPResponse *res); void handle404(HTTPRequest *req, HTTPResponse *res); +void handleFormUpload(HTTPRequest *req, HTTPResponse *res); void middlewareSpeedUp240(HTTPRequest *req, HTTPResponse *res, std::function next); void middlewareSpeedUp160(HTTPRequest *req, HTTPResponse *res, std::function next); @@ -64,6 +68,13 @@ bool isCertReady = 0; uint32_t timeSpeedUp = 0; +// We need to specify some content-type mapping, so the resources get delivered with the +// right content type and are displayed correctly in the browser +char contentTypes[][2][32] = {{".txt", "text/plain"}, {".html", "text/html"}, {".js", "text/javascript"}, + {".png", "image/png"}, {".jpg", "image/jpg"}, {".gz", "application/gzip"}, + {".gif", "image/gif"}, {".json", "application/json"}, {".css", "text/css"}, + {"", ""}}; + void handleWebResponse() { if (isWifiAvailable() == 0) { @@ -79,7 +90,7 @@ void handleWebResponse() insecureServer->loop(); } - /* + /* Slow down the CPU if we have not received a request within the last few seconds. */ @@ -219,11 +230,11 @@ void initWebServer() ResourceNode *nodeHotspot = new ResourceNode("/hotspot-detect.html", "GET", &handleHotspot); ResourceNode *nodeFavicon = new ResourceNode("/favicon.ico", "GET", &handleFavicon); ResourceNode *nodeRoot = new ResourceNode("/", "GET", &handleRoot); - ResourceNode *nodeScriptScriptsJS = new ResourceNode("/scripts/script.js", "GET", &handleScriptsScriptJS); - ResourceNode *nodeBasicHTML = new ResourceNode("/basic.html", "GET", &handleBasicHTML); - ResourceNode *nodeBasicJS = new ResourceNode("/basic.js", "GET", &handleBasicJS); + ResourceNode *nodeStaticBrowse = new ResourceNode("/static", "GET", &handleStaticBrowse); + ResourceNode *nodeStaticPOST = new ResourceNode("/static", "POST", &handleStaticPost); ResourceNode *nodeStatic = new ResourceNode("/static/*", "GET", &handleStatic); ResourceNode *node404 = new ResourceNode("", "GET", &handle404); + ResourceNode *nodeFormUpload = new ResourceNode("/upload", "POST", &handleFormUpload); // Secure nodes secureServer->registerNode(nodeAPIv1ToRadioOptions); @@ -232,11 +243,11 @@ void initWebServer() secureServer->registerNode(nodeHotspot); secureServer->registerNode(nodeFavicon); secureServer->registerNode(nodeRoot); - secureServer->registerNode(nodeScriptScriptsJS); - secureServer->registerNode(nodeBasicHTML); - secureServer->registerNode(nodeBasicJS); + secureServer->registerNode(nodeStaticBrowse); + secureServer->registerNode(nodeStaticPOST); secureServer->registerNode(nodeStatic); secureServer->setDefaultNode(node404); + secureServer->setDefaultNode(nodeFormUpload); secureServer->addMiddleware(&middlewareSpeedUp240); @@ -247,11 +258,11 @@ void initWebServer() insecureServer->registerNode(nodeHotspot); insecureServer->registerNode(nodeFavicon); insecureServer->registerNode(nodeRoot); - insecureServer->registerNode(nodeScriptScriptsJS); - insecureServer->registerNode(nodeBasicHTML); - insecureServer->registerNode(nodeBasicJS); + insecureServer->registerNode(nodeStaticBrowse); + insecureServer->registerNode(nodeStaticPOST); insecureServer->registerNode(nodeStatic); insecureServer->setDefaultNode(node404); + insecureServer->setDefaultNode(nodeFormUpload); insecureServer->addMiddleware(&middlewareSpeedUp160); @@ -289,40 +300,401 @@ void middlewareSpeedUp160(HTTPRequest *req, HTTPResponse *res, std::functionprintln("File Edited

File Edited

"); + + // The form is submitted with the x-www-form-urlencoded content type, so we need the + // HTTPURLEncodedBodyParser to read the fields. + // Note that the content of the file's content comes from a
"); + res->println(""); + res->println(""); + res->println(""); + + return; + } + + res->println("

Upload new file

"); + res->println("

*** This interface is experimental ***

"); + res->println("

This form allows you to upload files. Keep your filenames very short and files small. Big filenames and big " + "files are a known problem.

"); + res->println("
"); + res->println("file:
"); + res->println(""); + res->println("
"); + + res->println("

All Files

"); + + File root = SPIFFS.open("/"); + if (root.isDirectory()) { + res->println(""); + + res->println(""); + res->println(""); + res->println(""); + res->println(""); + res->println(""); + res->println(""); + + File file = root.openNextFile(); + while (file) { + String filePath = String(file.name()); + if (filePath.indexOf("/static") == 0) { + res->println(""); + res->println(""); + res->println(""); + res->println(""); + res->println(""); + res->println(""); + } + + file = root.openNextFile(); + } + res->println("
File"); + res->println("Size"); + res->println("Actions"); + res->println("
"); + + if (String(file.name()).substring(1).endsWith(".gz")) { + String modifiedFile = String(file.name()).substring(1); + modifiedFile.remove((modifiedFile.length() - 3), 3); + res->print("" + String(file.name()).substring(1) + ""); + } else { + res->print("" + String(file.name()).substring(1) + + ""); + } + res->println(""); + res->print(String(file.size())); + res->println(""); + res->print("Delete "); + res->println(""); + if (!String(file.name()).substring(1).endsWith(".gz")) { + res->print("Edit"); + } + res->println("
"); + + res->print("
"); + // res->print("Total : " + String(SPIFFS.totalBytes()) + " Bytes
"); + res->print("Used : " + String(SPIFFS.usedBytes()) + " Bytes
"); + res->print("Free : " + String(SPIFFS.totalBytes() - SPIFFS.usedBytes()) + " Bytes
"); + } +} + void handleStatic(HTTPRequest *req, HTTPResponse *res) { // Get access to the parameters ResourceParameters *params = req->getParams(); - // Set a default content type - res->setHeader("Content-Type", "text/plain"); std::string parameter1; // Print the first parameter value if (params->getPathParameter(0, parameter1)) { - if (parameter1 == "meshtastic.js") { - res->setHeader("Content-Encoding", "gzip"); - res->setHeader("Content-Type", "application/json"); - res->write(STATIC_MESHTASTIC_JS_DATA, STATIC_MESHTASTIC_JS_LENGTH); - return; - } else if (parameter1 == "style.css") { - res->setHeader("Content-Encoding", "gzip"); - res->setHeader("Content-Type", "text/css"); - res->write(STATIC_STYLE_CSS_DATA, STATIC_STYLE_CSS_LENGTH); - return; - - } else { - res->print("Parameter 1: "); - res->printStd(parameter1); + std::string filename = "/static/" + parameter1; + std::string filenameGzip = "/static/" + parameter1 + ".gz"; + if (!SPIFFS.exists(filename.c_str()) && !SPIFFS.exists(filenameGzip.c_str())) { + // Send "404 Not Found" as response, as the file doesn't seem to exist + res->setStatusCode(404); + res->setStatusText("Not found"); + res->println("404 Not Found"); + res->printf("

File not found: %s

\n", filename.c_str()); return; } + // Try to open the file from SPIFFS + File file; + + if (SPIFFS.exists(filename.c_str())) { + file = SPIFFS.open(filename.c_str()); + if (!file.available()) { + DEBUG_MSG("File not available - %s\n", filename.c_str()); + } + + } else if (SPIFFS.exists(filenameGzip.c_str())) { + file = SPIFFS.open(filenameGzip.c_str()); + res->setHeader("Content-Encoding", "gzip"); + if (!file.available()) { + DEBUG_MSG("File not available\n"); + } + } + + res->setHeader("Content-Length", httpsserver::intToString(file.size())); + + bool has_set_content_type = false; + // Content-Type is guessed using the definition of the contentTypes-table defined above + int cTypeIdx = 0; + do { + if (filename.rfind(contentTypes[cTypeIdx][0]) != std::string::npos) { + res->setHeader("Content-Type", contentTypes[cTypeIdx][1]); + has_set_content_type = true; + break; + } + cTypeIdx += 1; + } while (strlen(contentTypes[cTypeIdx][0]) > 0); + + if(!has_set_content_type) { + // Set a default content type + res->setHeader("Content-Type", "application/octet-stream"); + } + + // Read the file from SPIFFS and write it to the HTTP response body + size_t length = 0; + do { + char buffer[256]; + length = file.read((uint8_t *)buffer, 256); + std::string bufferString(buffer, length); + res->write((uint8_t *)bufferString.c_str(), bufferString.size()); + } while (length > 0); + + file.close(); + + return; + } else { res->println("ERROR: This should not have happened..."); } } + +void handleFormUpload(HTTPRequest *req, HTTPResponse *res) +{ + // First, we need to check the encoding of the form that we have received. + // The browser will set the Content-Type request header, so we can use it for that purpose. + // Then we select the body parser based on the encoding. + // Actually we do this only for documentary purposes, we know the form is going + // to be multipart/form-data. + HTTPBodyParser *parser; + std::string contentType = req->getHeader("Content-Type"); + + // The content type may have additional properties after a semicolon, for exampel: + // Content-Type: text/html;charset=utf-8 + // Content-Type: multipart/form-data;boundary=------s0m3w31rdch4r4c73rs + // As we're interested only in the actual mime _type_, we strip everything after the + // first semicolon, if one exists: + size_t semicolonPos = contentType.find(";"); + if (semicolonPos != std::string::npos) { + contentType = contentType.substr(0, semicolonPos); + } + + // Now, we can decide based on the content type: + if (contentType == "multipart/form-data") { + parser = new HTTPMultipartBodyParser(req); + } else { + Serial.printf("Unknown POST Content-Type: %s\n", contentType.c_str()); + return; + } + + res->println("File " + "Upload

File Upload

"); + + // We iterate over the fields. Any field with a filename is uploaded. + // Note that the BodyParser consumes the request body, meaning that you can iterate over the request's + // fields only a single time. The reason for this is that it allows you to handle large requests + // which would not fit into memory. + bool didwrite = false; + + // parser->nextField() will move the parser to the next field in the request body (field meaning a + // form field, if you take the HTML perspective). After the last field has been processed, nextField() + // returns false and the while loop ends. + while (parser->nextField()) { + // For Multipart data, each field has three properties: + // The name ("name" value of the tag) + // The filename (If it was a , this is the filename on the machine of the + // user uploading it) + // The mime type (It is determined by the client. So do not trust this value and blindly start + // parsing files only if the type matches) + std::string name = parser->getFieldName(); + std::string filename = parser->getFieldFilename(); + std::string mimeType = parser->getFieldMimeType(); + // We log all three values, so that you can observe the upload on the serial monitor: + DEBUG_MSG("handleFormUpload: field name='%s', filename='%s', mimetype='%s'\n", name.c_str(), filename.c_str(), + mimeType.c_str()); + + // Double check that it is what we expect + if (name != "file") { + DEBUG_MSG("Skipping unexpected field"); + res->println("

No file found.

"); + return; + } + + // Double check that it is what we expect + if (filename == "") { + DEBUG_MSG("Skipping unexpected field"); + res->println("

No file found.

"); + return; + } + + // SPIFFS limits the total lenth of a path + file to 31 characters. + if (filename.length() + 8 > 31) { + DEBUG_MSG("Uploaded filename too long!"); + res->println("

Uploaded filename too long! Limit of 23 characters.

"); + delete parser; + return; + } + + // You should check file name validity and all that, but we skip that to make the core + // concepts of the body parser functionality easier to understand. + std::string pathname = "/static/" + filename; + + // Create a new file on spiffs to stream the data into + File file = SPIFFS.open(pathname.c_str(), "w"); + size_t fileLength = 0; + didwrite = true; + + // With endOfField you can check whether the end of field has been reached or if there's + // still data pending. With multipart bodies, you cannot know the field size in advance. + while (!parser->endOfField()) { + byte buf[512]; + size_t readLength = parser->read(buf, 512); + file.write(buf, readLength); + fileLength += readLength; + + // Abort the transfer if there is less than 50k space left on the filesystem. + if (SPIFFS.totalBytes() - SPIFFS.usedBytes() < 51200) { + file.close(); + res->println("

Write aborted! File is won't fit!

"); + + delete parser; + return; + } + } + file.close(); + res->printf("

Saved %d bytes to %s

", (int)fileLength, pathname.c_str()); + } + if (!didwrite) { + res->println("

Did not write any file

"); + } + res->println(""); + delete parser; +} + void handle404(HTTPRequest *req, HTTPResponse *res) { @@ -397,15 +769,22 @@ void handleAPIv1FromRadio(HTTPRequest *req, HTTPResponse *res) uint32_t len = 1; if (params->getQueryParameter("all", valueAll)) { + + // If all is ture, return all the buffers we have available + // to us at this point in time. if (valueAll == "true") { while (len) { len = webAPI.getFromRadio(txBuf); res->write(txBuf, len); } + + // Otherwise, just return one protobuf } else { len = webAPI.getFromRadio(txBuf); res->write(txBuf, len); } + + // the param "all" was not spcified. Return just one protobuf } else { len = webAPI.getFromRadio(txBuf); res->write(txBuf, len); @@ -458,248 +837,56 @@ void handleAPIv1ToRadio(HTTPRequest *req, HTTPResponse *res) */ void handleRoot(HTTPRequest *req, HTTPResponse *res) { - - String out = ""; - out += - "\n" - "\n" - "\n" - "\n" - "\n" - " \n" - " Meshtastic - Chat\n" - " \n" - "\n" - "\n" - "\n" - "

This area is under development. Please don't file bugs.

\n" - "\n" - "\n" - "\n" - "\n" - "\n" - "\n" - "\n" - "\n" - "\n" - "\n" - "
\n" - "\t
\n" - "\t\t
Meshtastic - Chat
\n" - "\t
\n" - "\n" - "\t
\n" - "
\n" - "\t
\n" - "\t\t
Users
\n" - "\t
\n" - "
    \n" - "
\n" - "
\n" - "
\n" - "
\n" - "
\n" - "\n" - "
\n" - "\t\t All Users\n" - "\t\t
\n" - "\n" - "
\n" - " \n" - "
\n" - "
    \n" - "\t\t
\n" - " \n" - "
\n" - " \n" - "
\n" - " \n" - " \n" - " \n" - " \n" - "\n" - "
\n" - " \n" - "
\n" - " \n" - "
\n" - "\n" - "\n" - "\n" - "\n" - "\n" - ""; - - // Status code is 200 OK by default. - // We want to deliver a simple HTML page, so we send a corresponding content type: res->setHeader("Content-Type", "text/html"); - // The response implements the Print interface, so you can use it just like - // you would write to Serial etc. - res->print(out); -} + randomSeed(millis()); -void handleScriptsScriptJS(HTTPRequest *req, HTTPResponse *res) -{ - String out = ""; - out += "String.prototype.toHHMMSS = function () {\n" - " var sec_num = parseInt(this, 10); // don't forget the second param\n" - " var hours = Math.floor(sec_num / 3600);\n" - " var minutes = Math.floor((sec_num - (hours * 3600)) / 60);\n" - " var seconds = sec_num - (hours * 3600) - (minutes * 60);\n" - "\n" - " if (hours < 10) {hours = \"0\"+hours;}\n" - " if (minutes < 10) {minutes = \"0\"+minutes;}\n" - " if (seconds < 10) {seconds = \"0\"+seconds;}\n" - "// return hours+':'+minutes+':'+seconds;\n" - "\treturn hours+'h'+minutes+'m';\n" - "}\n" - "String.prototype.padLeft = function (length, character) { \n" - " return new Array(length - this.length + 1).join(character || ' ') + this; \n" - "};\n" - "\n" - "Date.prototype.toFormattedString = function () {\n" - " return [String(this.getFullYear()).substr(2, 2),\n" - "\t\t\tString(this.getMonth()+1).padLeft(2, '0'),\n" - " String(this.getDate()).padLeft(2, '0')].join(\"/\") + \" \" +\n" - " [String(this.getHours()).padLeft(2, '0'),\n" - " String(this.getMinutes()).padLeft(2, '0')].join(\":\");\n" - "};\n" - "\n" - "function getData(file) {\n" - "\tfetch(file)\n" - "\t.then(function (response) {\n" - "\t\treturn response.json();\n" - "\t})\n" - "\t.then(function (datafile) {\n" - "\t\tupdateData(datafile);\n" - "\t})\n" - "\t.catch(function (err) {\n" - "\t\tconsole.log('error: ' + err);\n" - "\t});\n" - "}\n" - "\t\n" - "function updateData(datafile) {\n" - "// Update System Details\n" - "\tupdateSystem(datafile);\n" - "//\tUpdate Userlist and message count\n" - "\tupdateUsers(datafile);\n" - "// Update Chat\n" - "\tupdateChat(datafile);\n" - "}\n" - "\n" - "function updateSystem(datafile) {\n" - "// Update System Info \n" - "\tvar sysContainer = document.getElementById(\"content-from-id\");\n" - "\tvar newHTML = datafile.data.system.channel;\n" - "\tvar myDate = new Date( datafile.data.system.timeGPS *1000);\n" - "\tnewHTML += ' @' + myDate.toFormattedString();\n" - "\tvar newSec = datafile.data.system.timeSinceStart;\n" - "\tvar strsecondUp = newSec.toString();\n" - "\tnewHTML += ' Up:' + strsecondUp.toHHMMSS();\n" - "\tsysContainer.innerHTML = newHTML;\n" - "}\n" - "\n" - "function updateUsers(datafile) {\n" - "\tvar mainContainer = document.getElementById(\"userlist-id\");\n" - "\tvar htmlUsers = '';\n" - "\tvar timeBase = datafile.data.system.timeSinceStart;\n" - "//\tvar lookup = {};\n" - " for (var i = 0; i < datafile.data.users.length; i++) {\n" - " htmlUsers += formatUsers(datafile.data.users[i],timeBase);\n" - "\t}\n" - "\tmainContainer.innerHTML = htmlUsers;\n" - "}\n" - "\n" - "function formatUsers(user,timeBase) {\n" - "\tnewHTML = '
  • ';\n" - " newHTML += '
    ' + user.NameLong + '(' + user.NameShort + ')
    ';\n" - " newHTML += '
    ';\n" - "\tvar secondsLS = timeBase - user.lastSeen;\n" - "\tvar strsecondsLS = secondsLS.toString();\n" - "\tnewHTML += 'Seen: '+strsecondsLS.toHHMMSS()+' ago ';\n" - "\tif (user.lat == 0 || user.lon == 0) {\n" - "\t\tnewHTML += '';\n" - "\t} else {\n" - "\t\tnewHTML += '
    lat:' + user.lat + ' lon:'+ user.lon+ " - "'';\n" - "\t}\n" - " newHTML += '
    ';\n" - " newHTML += '
  • ';\n" - "\treturn(newHTML);\n" - "}\n" - "\n" - "function onlineStatus(time) {\n" - "\tif (time < 3600) {\n" - "\t\treturn \"online\"\n" - "\t} else {\n" - "\t\treturn \"offline\"\n" - "\t}\n" - "}\n" - "\n" - "function updateChat(datafile) {\n" - "// Update Chat\n" - "\tvar chatContainer = document.getElementById(\"chat-history-id\");\n" - "\tvar htmlChat = '';\n" - "\tvar timeBase = datafile.data.system.timeSinceStart;\n" - "\tfor (var i = 0; i < datafile.data.chat.length; i++) {\n" - "\t\thtmlChat += formatChat(datafile.data.chat[i],timeBase);\n" - "\t}\n" - "\tchatContainer.innerHTML = htmlChat;\n" - "\tscrollHistory();\n" - "}\n" - "\n" - "function formatChat(data,timeBase) {\n" - "\tvar secondsTS = timeBase - data.timestamp;\n" - "\tvar strsecondsTS = secondsTS.toString();\n" - "\tnewHTML = '
  • ';\n" - "\tif (data.local == 1) {\n" - "\t\tnewHTML += '
    ';\n" - "\t\tnewHTML += '' + data.NameLong + '(' + data.NameShort + ')';\n" - "\t\tnewHTML += '' + strsecondsTS.toHHMMSS() + ' ago';\n" - "\t\tnewHTML += '
    ';\n" - "\t\tnewHTML += '
    ' + data.chatLine + '
    ';\n" - "\t} else {\n" - "\t\tnewHTML += '
    ';\n" - "\t\tnewHTML += '' + strsecondsTS.toHHMMSS() + ' ago    ';\n" - "\t\tnewHTML += '' + data.NameLong + '(' + data.NameShort + ')';\n" - "//\t\tnewHTML += '';\n" - "\t\tnewHTML += '
    ';\n" - "\t\tnewHTML += '
    ' + data.chatLine + '
    ';\n" - "\t}\n" - "\n" - " newHTML += '
  • ';\n" - "\treturn(newHTML);\t\n" - "}\n" - "\n" - "function scrollHistory() {\n" - "\tvar chatContainer = document.getElementById(\"chat-div-id\");\n" - "\tchatContainer.scrollTop = chatContainer.scrollHeight;\n" - "}\n" - "\n" - "\n" - "getData('/json/chat/history/dummy');\n" - "\n" - "\n" - "//window.onload=function(){\n" - "//\talert('onload');\n" - "// Async - Run scroll 0.5sec after onload event\n" - "//\tsetTimeout(scrollHistory(),500);\n" - "// }"; + res->setHeader("Set-Cookie", + "mt_session=" + httpsserver::intToString(random(1, 9999999)) + "; Expires=Wed, 20 Apr 2049 4:20:00 PST"); - // Status code is 200 OK by default. - // We want to deliver a simple HTML page, so we send a corresponding content type: - res->setHeader("Content-Type", "text/html"); + std::string cookie = req->getHeader("Cookie"); + //String cookieString = cookie.c_str(); + //uint8_t nameIndex = cookieString.indexOf("mt_session"); + //DEBUG_MSG(cookie.c_str()); - // The response implements the Print interface, so you can use it just like - // you would write to Serial etc. - res->print(out); + std::string filename = "/static/index.html"; + std::string filenameGzip = "/static/index.html.gz"; + + if (!SPIFFS.exists(filename.c_str()) && !SPIFFS.exists(filenameGzip.c_str())) { + // Send "404 Not Found" as response, as the file doesn't seem to exist + res->setStatusCode(404); + res->setStatusText("Not found"); + res->println("404 Not Found"); + res->printf("

    File not found: %s

    \n", filename.c_str()); + return; + } + + // Try to open the file from SPIFFS + File file; + + if (SPIFFS.exists(filename.c_str())) { + file = SPIFFS.open(filename.c_str()); + if (!file.available()) { + DEBUG_MSG("File not available - %s\n", filename.c_str()); + } + + } else if (SPIFFS.exists(filenameGzip.c_str())) { + file = SPIFFS.open(filenameGzip.c_str()); + res->setHeader("Content-Encoding", "gzip"); + if (!file.available()) { + DEBUG_MSG("File not available\n"); + } + } + + + // Read the file from SPIFFS and write it to the HTTP response body + size_t length = 0; + do { + char buffer[256]; + length = file.read((uint8_t *)buffer, 256); + std::string bufferString(buffer, length); + res->write((uint8_t *)bufferString.c_str(), bufferString.size()); + } while (length > 0); } void handleFavicon(HTTPRequest *req, HTTPResponse *res) @@ -710,98 +897,15 @@ void handleFavicon(HTTPRequest *req, HTTPResponse *res) res->write(FAVICON_DATA, FAVICON_LENGTH); } -/* - To convert text to c strings: - https://tomeko.net/online_tools/cpp_text_escape.php?lang=en -*/ -void handleBasicJS(HTTPRequest *req, HTTPResponse *res) +void replaceAll(std::string &str, const std::string &from, const std::string &to) { - String out = ""; - out += "var meshtasticClient;\n" - "var connectionOne;\n" - "\n" - "\n" - "// Important: the connect action must be called from a user interaction (e.g. button press), otherwise the browsers " - "won't allow the connect\n" - "function connect() {\n" - "\n" - " // Create new connection\n" - " var httpconn = new meshtasticjs.IHTTPConnection();\n" - "\n" - " // Set connection params\n" - " let sslActive;\n" - " if (window.location.protocol === 'https:') {\n" - " sslActive = true;\n" - " } else {\n" - " sslActive = false;\n" - " }\n" - " let deviceIp = window.location.hostname; // Your devices IP here\n" - " \n" - "\n" - " // Add event listeners that get called when a new packet is received / state of device changes\n" - " httpconn.addEventListener('fromRadio', function(packet) { console.log(packet)});\n" - "\n" - " // Connect to the device async, then send a text message\n" - " httpconn.connect(deviceIp, sslActive)\n" - " .then(result => { \n" - "\n" - " alert('device has been configured')\n" - " // This gets called when the connection has been established\n" - " // -> send a message over the mesh network. If no recipient node is provided, it gets sent as a broadcast\n" - " return httpconn.sendText('meshtastic is awesome');\n" - "\n" - " })\n" - " .then(result => { \n" - "\n" - " // This gets called when the message has been sucessfully sent\n" - " console.log('Message sent!');})\n" - "\n" - " .catch(error => { console.log(error); });\n" - "\n" - "}"; - - // Status code is 200 OK by default. - // We want to deliver a simple HTML page, so we send a corresponding content type: - res->setHeader("Content-Type", "text/javascript"); - - // The response implements the Print interface, so you can use it just like - // you would write to Serial etc. - res->print(out); + if (from.empty()) + return; + size_t start_pos = 0; + while ((start_pos = str.find(from, start_pos)) != std::string::npos) { + str.replace(start_pos, from.length(), to); + start_pos += to.length(); // In case 'to' contains 'from', like replacing 'x' with 'yx' + } } -/* - To convert text to c strings: - - https://tomeko.net/online_tools/cpp_text_escape.php?lang=en -*/ -void handleBasicHTML(HTTPRequest *req, HTTPResponse *res) -{ - String out = ""; - out += "\n" - "\n" - "\n" - "\n" - " \n" - " \n" - "\n" - " \n" - " \n" - "\n" - "\n" - "\n" - "\n" - " \n" - " \n" - "\n" - "\n" - ""; - - // Status code is 200 OK by default. - // We want to deliver a simple HTML page, so we send a corresponding content type: - res->setHeader("Content-Type", "text/html"); - - // The response implements the Print interface, so you can use it just like - // you would write to Serial etc. - res->print(out); -} \ No newline at end of file diff --git a/src/meshwifi/meshhttp.h b/src/meshwifi/meshhttp.h index d2af443f0..b7a84475e 100644 --- a/src/meshwifi/meshhttp.h +++ b/src/meshwifi/meshhttp.h @@ -22,6 +22,7 @@ void handleRoot(); void handleScriptsScriptJS(); void handleJSONChatHistoryDummy(); +void replaceAll(std::string& str, const std::string& from, const std::string& to); class HttpAPI : public PhoneAPI { diff --git a/src/meshwifi/meshhttpStatic.h b/src/meshwifi/meshhttpStatic.h index b4645625f..e48aeb414 100644 --- a/src/meshwifi/meshhttpStatic.h +++ b/src/meshwifi/meshhttpStatic.h @@ -12,1226 +12,6 @@ */ -// Length of the binary data -const int STATIC_STYLE_CSS_LENGTH = 1578; - -const byte STATIC_STYLE_CSS_DATA[] = { - 0x1F, 0x8B, 0x08, 0x08, 0x94, 0x88, 0x8B, 0x5F, 0x00, 0x03, 0x73, 0x74, 0x79, 0x6C, 0x65, 0x2E, 0x63, 0x73, 0x73, 0x00, 0x9D, - 0x57, 0xC9, 0x72, 0xE3, 0x36, 0x10, 0x3D, 0x47, 0x5F, 0x81, 0x78, 0x6A, 0xCA, 0x33, 0x8E, 0x61, 0x93, 0x34, 0xB5, 0x51, 0x97, - 0x78, 0x4D, 0xA5, 0x2A, 0x87, 0x54, 0x96, 0x0F, 0x00, 0x45, 0x50, 0x42, 0x19, 0x22, 0x54, 0x20, 0x68, 0x49, 0x76, 0xCD, 0xBF, - 0xA7, 0xB1, 0x71, 0x13, 0xE5, 0x78, 0xE6, 0x20, 0x91, 0x68, 0x36, 0x1A, 0xDD, 0xAF, 0xBB, 0x1F, 0x80, 0xEB, 0x0B, 0xC4, 0x89, - 0x62, 0x05, 0xA6, 0x7B, 0x85, 0x2E, 0xAE, 0x47, 0xBF, 0xE6, 0xA2, 0x50, 0x38, 0x27, 0x4B, 0x8A, 0xDE, 0x46, 0x08, 0xB9, 0xD1, - 0x86, 0xF1, 0x43, 0x82, 0xCE, 0xFF, 0x20, 0x4A, 0x9C, 0x2F, 0xBC, 0xB8, 0x54, 0x07, 0x4E, 0x13, 0x54, 0x08, 0xB9, 0x21, 0xBC, - 0x96, 0xEE, 0x28, 0x5B, 0xAD, 0x55, 0x82, 0xE2, 0x20, 0xD0, 0xB2, 0x52, 0x2E, 0x13, 0xC4, 0xC5, 0x92, 0xF0, 0x2F, 0x66, 0x3A, - 0xFA, 0x8B, 0xAE, 0x2A, 0x4E, 0xE4, 0xF9, 0xD7, 0xCB, 0xB6, 0x18, 0xB7, 0xC4, 0x95, 0xE4, 0x5F, 0xAE, 0xAE, 0x7F, 0x13, 0x62, - 0xC5, 0xE9, 0xD5, 0x4E, 0xE4, 0x79, 0xF4, 0x15, 0x4C, 0xC3, 0x22, 0xEA, 0xCB, 0xB9, 0x19, 0x9E, 0x7F, 0xD5, 0x96, 0xAB, 0x82, - 0x2D, 0x45, 0x46, 0xB1, 0x24, 0xC5, 0x0A, 0xDC, 0xF8, 0xF7, 0x97, 0x20, 0x0C, 0x02, 0x1C, 0x44, 0xF1, 0xD3, 0xA5, 0x1E, 0x44, - 0xE3, 0xB9, 0x7E, 0x86, 0x8F, 0x20, 0x0C, 0x1F, 0x9F, 0x8C, 0x30, 0x0A, 0xA2, 0xC0, 0x3E, 0x6F, 0x03, 0x0C, 0x7F, 0x77, 0x6E, - 0xF0, 0x00, 0x83, 0x7B, 0xAB, 0x11, 0x86, 0x37, 0xE6, 0x79, 0x3F, 0x01, 0x8D, 0xFB, 0xA9, 0x11, 0xDE, 0x4E, 0xA3, 0x00, 0xDF, - 0x4E, 0x9F, 0x9E, 0x16, 0xA3, 0x6F, 0xA3, 0xD1, 0xE8, 0xE2, 0x12, 0x5D, 0x24, 0x29, 0x05, 0x97, 0xA8, 0x7E, 0x23, 0xB9, 0xA2, - 0xD2, 0x80, 0x95, 0x8A, 0x3D, 0x2E, 0xD9, 0x2B, 0x2B, 0x56, 0x09, 0xBC, 0xCB, 0x8C, 0x4A, 0x0C, 0x22, 0x33, 0x29, 0x15, 0xD9, - 0xC1, 0xEA, 0x90, 0xE5, 0xF3, 0x4A, 0x8A, 0xAA, 0xC8, 0x12, 0xF4, 0xE9, 0x7E, 0xFC, 0xF0, 0xF0, 0x78, 0xE7, 0xA1, 0x4B, 0x50, - 0x18, 0x6F, 0xF7, 0xD7, 0x51, 0xB0, 0xDD, 0xA3, 0x33, 0x0D, 0xCA, 0xD9, 0x25, 0xBA, 0x95, 0x8C, 0xF0, 0x4B, 0x54, 0x92, 0xA2, - 0xC4, 0x25, 0x95, 0x2C, 0xD7, 0xCA, 0x5B, 0x92, 0x65, 0x66, 0x91, 0x58, 0xAB, 0x1A, 0x98, 0x97, 0x82, 0x0B, 0x99, 0xA0, 0xDD, - 0x9A, 0x29, 0x6A, 0xBD, 0x44, 0x68, 0x74, 0xB5, 0x92, 0x2C, 0x33, 0xAB, 0x66, 0xAC, 0xDC, 0x72, 0x02, 0x29, 0xD4, 0x12, 0xAD, - 0xAF, 0x9F, 0x58, 0xD1, 0x0D, 0x48, 0x15, 0xC5, 0x30, 0xBB, 0xDA, 0x14, 0x65, 0x32, 0xFA, 0x29, 0xCC, 0x25, 0x8A, 0x73, 0x79, - 0xAC, 0x42, 0x24, 0x25, 0x5A, 0xE1, 0x6C, 0x4D, 0x09, 0x04, 0x86, 0xEC, 0xE3, 0x0C, 0x04, 0x25, 0xCB, 0x68, 0x4A, 0x24, 0xB8, - 0x50, 0x28, 0x5A, 0xA8, 0x33, 0x3D, 0x77, 0x43, 0xE4, 0x8A, 0x15, 0x09, 0x0A, 0x10, 0xA9, 0x94, 0xD0, 0x92, 0x1D, 0xCB, 0xD4, - 0x3A, 0x41, 0xD3, 0x31, 0xB8, 0xBC, 0xE8, 0xE3, 0x10, 0xC7, 0xF1, 0x74, 0x7C, 0x63, 0xC4, 0x16, 0x36, 0x49, 0x32, 0x56, 0x95, - 0x09, 0x1A, 0x6F, 0x2D, 0x7C, 0x57, 0x4A, 0x6C, 0xD1, 0x9B, 0xF1, 0x48, 0x3B, 0x92, 0xB8, 0xE5, 0x17, 0xDF, 0x46, 0x57, 0x7A, - 0xF9, 0xCE, 0x27, 0xE7, 0x8F, 0xFE, 0xB6, 0x21, 0xAC, 0xE8, 0x7C, 0x73, 0x3E, 0x2E, 0x6A, 0x93, 0xCD, 0x92, 0xA9, 0x50, 0x4A, - 0x6C, 0x12, 0x14, 0x01, 0xA4, 0xA5, 0xE0, 0x00, 0x5C, 0x0D, 0xA6, 0x56, 0x05, 0x24, 0xA0, 0x41, 0xDE, 0xFA, 0x55, 0x9E, 0x0A, - 0x9E, 0x35, 0x0D, 0xC1, 0x5E, 0xA1, 0x10, 0xA3, 0xD8, 0x46, 0xA8, 0x27, 0x60, 0xC2, 0xD9, 0x0A, 0x70, 0x58, 0xC2, 0xA2, 0x54, - 0x76, 0x72, 0x17, 0x05, 0x3E, 0x36, 0x1B, 0x41, 0x83, 0x51, 0x34, 0x71, 0x18, 0xE5, 0x5C, 0x10, 0x58, 0x83, 0xD3, 0x5C, 0x19, - 0x37, 0x8C, 0xA2, 0xF9, 0xC7, 0x2E, 0x0B, 0x6F, 0xC7, 0x16, 0x3F, 0x12, 0xD0, 0x90, 0x29, 0x3B, 0xA8, 0xA3, 0x74, 0x56, 0xB1, - 0x5E, 0x1C, 0x0A, 0xD3, 0x99, 0xB6, 0x79, 0xC5, 0x80, 0x47, 0x82, 0x26, 0xCE, 0xC9, 0x26, 0xF2, 0x70, 0x72, 0x1C, 0xB9, 0x75, - 0xFE, 0x04, 0x6A, 0xC6, 0x95, 0xE5, 0x9A, 0x14, 0x05, 0xE5, 0x98, 0xB3, 0x52, 0xA1, 0x8A, 0x0F, 0xC7, 0xB4, 0x76, 0x33, 0xC7, - 0x53, 0x27, 0xD0, 0xDA, 0x96, 0x81, 0xB0, 0x3A, 0x6C, 0x0D, 0x0D, 0x15, 0x36, 0x59, 0x7D, 0x7B, 0x9C, 0x75, 0x02, 0xAA, 0x61, - 0xA9, 0xF1, 0xEF, 0x4C, 0xA8, 0x47, 0x05, 0xD9, 0xB4, 0x28, 0xD0, 0xA5, 0x76, 0x00, 0x86, 0x99, 0x15, 0x75, 0xF1, 0x9A, 0x0D, - 0xDB, 0xDE, 0xD0, 0xB2, 0x24, 0x2B, 0xDD, 0x6F, 0x55, 0x31, 0x08, 0xB3, 0x03, 0xD0, 0x75, 0xF3, 0xA7, 0x79, 0x34, 0x1F, 0xCF, - 0x1F, 0xAD, 0x25, 0x20, 0xBB, 0xA2, 0xDB, 0xCB, 0xAC, 0xE0, 0xAC, 0xA0, 0x38, 0x05, 0x1A, 0x7D, 0x6E, 0xB5, 0x58, 0x48, 0x37, - 0x6D, 0xC4, 0xDC, 0xB0, 0x54, 0x52, 0x3C, 0x53, 0xEC, 0x74, 0x82, 0x46, 0x04, 0xC5, 0x59, 0x49, 0x09, 0xF5, 0x79, 0xAF, 0x17, - 0x35, 0xA9, 0x62, 0x9C, 0xF7, 0xA5, 0xDE, 0x03, 0xBC, 0x21, 0x5B, 0xF8, 0xC9, 0x67, 0x57, 0x7C, 0xDE, 0xDE, 0xD5, 0x78, 0x1A, - 0xC6, 0xD1, 0xAC, 0xF9, 0xD7, 0xAB, 0xD6, 0x93, 0x96, 0x4C, 0x2E, 0x39, 0xED, 0x4E, 0x98, 0xF5, 0x66, 0xF8, 0x09, 0xAE, 0x45, - 0xBB, 0xA1, 0xE6, 0x9C, 0xBA, 0x8E, 0xA0, 0x7B, 0x9C, 0x31, 0x49, 0x97, 0x8A, 0x09, 0xDD, 0x57, 0x86, 0xB8, 0xEA, 0x2F, 0x3B, - 0x49, 0xB6, 0xBA, 0x12, 0xF4, 0x73, 0x31, 0xBA, 0xBE, 0xF0, 0xAB, 0xC5, 0x73, 0x9D, 0x38, 0xBD, 0xBD, 0xF5, 0x9A, 0xAA, 0xC7, - 0x43, 0x4F, 0xD1, 0xD3, 0xF8, 0x69, 0x66, 0x66, 0xFA, 0x2E, 0xD2, 0xAD, 0x2F, 0x35, 0x92, 0x5D, 0x4E, 0xEA, 0x75, 0xD9, 0x80, - 0x8A, 0x5D, 0xCD, 0x67, 0x32, 0xBE, 0x89, 0x27, 0xE3, 0xD0, 0xD6, 0xA7, 0x0B, 0xD0, 0xBF, 0xB4, 0x7B, 0xD9, 0x44, 0x01, 0xEE, - 0xEC, 0x5C, 0x8A, 0x7E, 0xA8, 0xB7, 0x4F, 0x2D, 0x50, 0x8F, 0x73, 0x29, 0x36, 0x3F, 0xDC, 0xE4, 0xDE, 0x93, 0x61, 0x7A, 0x3B, - 0x62, 0x83, 0x77, 0x02, 0xEE, 0xFA, 0xD3, 0x19, 0xE1, 0x35, 0xE0, 0xC9, 0x35, 0xA6, 0xA7, 0x28, 0xF7, 0x23, 0x76, 0x8B, 0x6A, - 0x83, 0x5D, 0xCB, 0x95, 0xC6, 0xCE, 0x50, 0x5F, 0x1D, 0x5B, 0x81, 0x56, 0x15, 0xF2, 0xD0, 0xCF, 0x47, 0x78, 0x94, 0x8F, 0xE6, - 0xEF, 0x23, 0x99, 0x41, 0x48, 0xBC, 0x50, 0x09, 0xD5, 0xB7, 0xC3, 0x50, 0xD0, 0xE5, 0x52, 0x0A, 0xCE, 0xDB, 0x7D, 0x7A, 0x33, - 0x1D, 0x9F, 0xC4, 0xCB, 0x79, 0xE4, 0xC8, 0xF1, 0x04, 0xF5, 0x35, 0xE9, 0x74, 0xC4, 0x50, 0x2A, 0x22, 0xEB, 0xB4, 0xBE, 0x67, - 0xB7, 0xE6, 0xA5, 0x8C, 0x28, 0x62, 0x96, 0x70, 0x25, 0xE0, 0x83, 0xF9, 0x4E, 0x13, 0x58, 0x31, 0xC7, 0x9D, 0x1E, 0x70, 0x32, - 0x23, 0x24, 0x6D, 0x23, 0xE8, 0x4A, 0xEE, 0x74, 0x89, 0xF4, 0xEC, 0xB6, 0xAD, 0xD5, 0x80, 0xD6, 0xD9, 0x00, 0xBA, 0xAD, 0xAB, - 0xD7, 0x84, 0xEE, 0x41, 0xF5, 0xC9, 0x69, 0x97, 0x65, 0xDC, 0xC9, 0x97, 0x6F, 0xD9, 0x69, 0xA7, 0xF6, 0x7D, 0xE0, 0x37, 0x6E, - 0xBE, 0xE3, 0x91, 0x79, 0xF0, 0xD9, 0xAC, 0x2B, 0x4A, 0x66, 0xF9, 0x47, 0x52, 0x7D, 0x78, 0x7E, 0xA1, 0x1F, 0x0B, 0xA2, 0x73, - 0x54, 0xF4, 0xC8, 0x5A, 0x93, 0x16, 0x8E, 0xE9, 0xE7, 0xC6, 0xB3, 0xC4, 0x95, 0x8F, 0x82, 0xF3, 0x6D, 0xB9, 0x25, 0x9A, 0x8B, - 0xED, 0xD6, 0x60, 0x6C, 0x27, 0xE8, 0x0C, 0x9D, 0xB5, 0xCB, 0x27, 0x68, 0xB9, 0x19, 0x74, 0x9D, 0x24, 0x29, 0x58, 0xAA, 0x1C, - 0x64, 0x82, 0xE9, 0x56, 0xC5, 0xF4, 0x05, 0x8C, 0x94, 0x4D, 0xE9, 0x74, 0xD9, 0xCC, 0xA7, 0x6D, 0x36, 0xB9, 0xBB, 0x9B, 0x86, - 0xAD, 0xEF, 0x7E, 0x8B, 0xE9, 0x32, 0x85, 0x75, 0x1E, 0x7F, 0xA4, 0x4A, 0x0E, 0xB8, 0x9D, 0xD0, 0x0E, 0xF9, 0xFA, 0xC5, 0xDE, - 0x35, 0x20, 0xD4, 0x1A, 0xDC, 0x38, 0x69, 0x63, 0x1E, 0xDF, 0x47, 0x8F, 0x0F, 0xDF, 0x63, 0xA3, 0x93, 0x93, 0x21, 0x0C, 0xBC, - 0x49, 0x9F, 0xA3, 0xF9, 0xCD, 0xE7, 0x61, 0xFB, 0x6D, 0xA7, 0x4E, 0xF2, 0xF8, 0x69, 0x8C, 0xFC, 0x74, 0xCD, 0xAB, 0xFA, 0xB0, - 0xDA, 0xDE, 0x2D, 0x7D, 0x95, 0xF8, 0xCA, 0xE8, 0x35, 0xBC, 0x35, 0x5B, 0x67, 0xA5, 0x7D, 0x97, 0x88, 0xFE, 0xEF, 0x2E, 0x31, - 0xD8, 0xE9, 0xC3, 0xE7, 0x70, 0x04, 0xE5, 0x6E, 0x7B, 0xC8, 0x9F, 0xB5, 0xDE, 0x09, 0x23, 0xAD, 0xC0, 0x60, 0xE1, 0xC0, 0x30, - 0x3B, 0xAE, 0xD9, 0x22, 0x3B, 0xA7, 0x9B, 0x1A, 0xD9, 0x53, 0x67, 0x48, 0x53, 0xFB, 0xFA, 0xEA, 0x97, 0xA0, 0x6A, 0xBB, 0xA5, - 0x72, 0x49, 0x4A, 0x3A, 0x84, 0x03, 0x9C, 0x55, 0x4A, 0x6D, 0xD2, 0x55, 0xF7, 0xC9, 0xF3, 0xE6, 0xE0, 0x66, 0xFF, 0x5E, 0x32, - 0x6C, 0x14, 0xC9, 0x5A, 0x53, 0x77, 0x87, 0xD0, 0xA6, 0xE3, 0x34, 0xA4, 0x66, 0x32, 0x9C, 0x15, 0xFE, 0x11, 0x82, 0x2B, 0xB6, - 0x35, 0xBD, 0x09, 0x37, 0x0E, 0x50, 0x85, 0xBD, 0x1F, 0x2E, 0x0D, 0x56, 0xDA, 0x9E, 0xD6, 0x34, 0xD4, 0x10, 0x87, 0xBC, 0x73, - 0xB6, 0xEB, 0xED, 0x2E, 0x21, 0xA4, 0x35, 0x83, 0x77, 0x9A, 0xA1, 0x94, 0x43, 0x50, 0x0B, 0x04, 0x6E, 0xFC, 0x9E, 0xA3, 0x83, - 0xA8, 0xD0, 0x8E, 0x40, 0x24, 0xF0, 0xB1, 0x84, 0x1B, 0xB2, 0xDE, 0x0E, 0xA1, 0xDA, 0x91, 0x09, 0x80, 0xA4, 0xDC, 0x96, 0x97, - 0x76, 0xAF, 0xE3, 0xB8, 0x17, 0xD6, 0x3E, 0xFB, 0x97, 0xFA, 0x3A, 0xF0, 0xC2, 0x4A, 0x96, 0x32, 0xCE, 0x14, 0xF8, 0xB6, 0x66, - 0x59, 0x46, 0x8B, 0xF6, 0x89, 0x33, 0x3A, 0xBA, 0xD4, 0xD5, 0xED, 0xD3, 0x5C, 0xED, 0xBC, 0x24, 0xCF, 0xF3, 0x0F, 0x5C, 0x8F, - 0xC6, 0xFE, 0x66, 0xDB, 0xAB, 0x44, 0x57, 0x1E, 0x3A, 0xDE, 0x3F, 0x1D, 0x84, 0x26, 0x42, 0xD5, 0x0E, 0x05, 0xA3, 0x92, 0x52, - 0x44, 0xF7, 0x04, 0x2E, 0xAF, 0xB0, 0xF5, 0xA7, 0x14, 0x76, 0xDD, 0x9F, 0xED, 0x81, 0x6C, 0x98, 0x16, 0x5F, 0x61, 0xCF, 0xCC, - 0xE8, 0xDE, 0xEC, 0xF2, 0x50, 0xD6, 0x60, 0xFC, 0xEF, 0xB5, 0xD8, 0x1D, 0x1B, 0xDE, 0xAD, 0x69, 0x61, 0x40, 0xDE, 0x88, 0xAA, - 0xA4, 0x66, 0x47, 0xEF, 0x28, 0x0D, 0x56, 0x80, 0x2B, 0x9F, 0x77, 0x31, 0x35, 0xEF, 0xDC, 0x35, 0x95, 0x30, 0xC9, 0xBF, 0x04, - 0xA6, 0xCA, 0x73, 0xF7, 0xE6, 0xF6, 0x53, 0xD7, 0xAD, 0xD2, 0x1D, 0x19, 0x8E, 0x37, 0xB7, 0xFA, 0x52, 0x63, 0x6D, 0x0C, 0x16, - 0x9F, 0xF9, 0x6C, 0x2D, 0x77, 0xBE, 0x3F, 0xDE, 0xCC, 0xE6, 0x93, 0x99, 0xFD, 0xDE, 0xDB, 0xBF, 0x1B, 0x5E, 0x1D, 0x5D, 0x99, - 0x9C, 0x19, 0xCE, 0x37, 0x2A, 0xC7, 0x97, 0xBD, 0x46, 0x49, 0xD6, 0x27, 0xB8, 0xB6, 0x96, 0x23, 0x02, 0xAD, 0x66, 0xA8, 0xA1, - 0xA5, 0xD6, 0xA5, 0x0A, 0x43, 0x30, 0x9C, 0x12, 0x99, 0xB3, 0x7D, 0x8B, 0xA7, 0x87, 0x6B, 0xB1, 0x6E, 0x9D, 0xBA, 0x67, 0x5A, - 0xB8, 0x04, 0x43, 0x5B, 0xA7, 0x31, 0xAD, 0xC9, 0x41, 0xAD, 0x7B, 0x3B, 0xE9, 0xB7, 0xFF, 0x00, 0x00, 0x1A, 0x0D, 0xA0, 0x16, - 0x13, 0x00, 0x00, -}; - -// Length of the binary data -const int STATIC_MESHTASTIC_JS_LENGTH = 23760; - -const byte STATIC_MESHTASTIC_JS_DATA[] = { - 0x1F, 0x8B, 0x08, 0x08, 0xFE, 0x1C, 0x8B, 0x5F, 0x00, 0x03, 0x6D, 0x65, 0x73, 0x68, 0x74, 0x61, 0x73, 0x74, 0x69, 0x63, 0x2E, - 0x6A, 0x73, 0x00, 0xC5, 0xBD, 0xFB, 0x77, 0xDB, 0xC6, 0x92, 0x20, 0xFC, 0xFB, 0xFE, 0x15, 0x14, 0xCE, 0xB5, 0x02, 0x84, 0x10, - 0xC5, 0xA7, 0x24, 0x53, 0x82, 0xB9, 0x79, 0xCE, 0xCD, 0x37, 0x79, 0xAD, 0xED, 0xCC, 0xEC, 0x59, 0x86, 0xF1, 0x81, 0xC8, 0xA6, - 0x04, 0x9B, 0x02, 0x38, 0x00, 0x68, 0x45, 0x11, 0x39, 0x7F, 0xFB, 0x57, 0x55, 0xFD, 0x06, 0x1A, 0x14, 0xE5, 0x78, 0xEF, 0xDE, - 0xDC, 0x63, 0x81, 0xFD, 0xAC, 0xAE, 0xAE, 0xAE, 0xAE, 0xAA, 0xAE, 0xAE, 0x3E, 0x5A, 0x6E, 0xD2, 0x79, 0x99, 0x64, 0xA9, 0xCF, - 0xC2, 0x32, 0x78, 0xF4, 0xB2, 0xEB, 0xF7, 0x6C, 0x5E, 0x7A, 0x51, 0x54, 0x3E, 0xAC, 0x59, 0xB6, 0x6C, 0xB1, 0x3F, 0xD7, 0x59, - 0x5E, 0x16, 0xC7, 0xC7, 0xB5, 0x9C, 0xBB, 0x6C, 0xB1, 0x59, 0xB1, 0x09, 0xFF, 0xD3, 0x11, 0xE5, 0xA2, 0xD2, 0x0F, 0xC6, 0x9E, - 0x6C, 0x53, 0x17, 0x5E, 0xB0, 0x65, 0x92, 0xB2, 0xE3, 0x63, 0xFE, 0xB7, 0x13, 0xDF, 0x2D, 0x26, 0xFC, 0xD3, 0x9F, 0xCE, 0xA0, - 0xDF, 0x71, 0x53, 0xBF, 0x13, 0xF1, 0xB7, 0x73, 0xC7, 0x8A, 0xDB, 0x32, 0x2E, 0xCA, 0x64, 0xFE, 0x9E, 0x77, 0xC2, 0x6A, 0x49, - 0x3B, 0xFF, 0x3E, 0x49, 0x17, 0xD9, 0x7D, 0xE8, 0xAB, 0x31, 0x05, 0x8F, 0x39, 0x2B, 0x37, 0x79, 0xDA, 0xD2, 0xA3, 0x0C, 0x1E, - 0x3F, 0xC6, 0x79, 0xAB, 0x8C, 0x1E, 0x77, 0x97, 0x32, 0xB1, 0x95, 0xFB, 0x49, 0xF0, 0x98, 0x2C, 0xFD, 0x72, 0x9A, 0xCC, 0x02, - 0x51, 0x03, 0xBF, 0xE5, 0xA8, 0x2E, 0xB1, 0x4A, 0x1A, 0x61, 0x52, 0xF4, 0x98, 0x8C, 0x93, 0x70, 0x35, 0x3E, 0xEA, 0x85, 0x22, - 0x73, 0xFC, 0xB8, 0xDB, 0x5D, 0x8A, 0x4A, 0x0C, 0x2B, 0xCD, 0xE3, 0xD5, 0xCA, 0x4F, 0x65, 0xDD, 0x30, 0x0D, 0xF5, 0x77, 0x1E, - 0xC0, 0x8F, 0x55, 0x74, 0xD4, 0xD5, 0x69, 0x3B, 0x51, 0x35, 0xEF, 0xDC, 0x45, 0x2C, 0xCC, 0x3B, 0xF3, 0xA8, 0x84, 0x7F, 0x17, - 0x91, 0x39, 0x2F, 0x21, 0x80, 0x97, 0x77, 0x32, 0x9A, 0xA2, 0xED, 0xF6, 0x17, 0x42, 0x55, 0x87, 0xE3, 0xEF, 0xD7, 0x3C, 0x5B, - 0xB3, 0xBC, 0x7C, 0xA0, 0x62, 0x8F, 0x2C, 0xDD, 0xDC, 0xB1, 0x3C, 0xBE, 0x5E, 0xB1, 0x31, 0xF4, 0x71, 0xC3, 0xCA, 0x71, 0xB2, - 0x0B, 0x76, 0xD0, 0x5E, 0x1E, 0x99, 0x18, 0xF0, 0x36, 0x29, 0xAF, 0xBD, 0xF0, 0x8E, 0x24, 0xC2, 0xDF, 0x3C, 0xDC, 0x5D, 0x67, - 0xAB, 0xE3, 0x63, 0xFE, 0xB7, 0x53, 0x66, 0x6F, 0xCA, 0x3C, 0x49, 0x6F, 0xDE, 0xC6, 0x37, 0xC7, 0xC7, 0x4D, 0x3D, 0xD6, 0xCB, - 0x86, 0x80, 0xDD, 0xD5, 0x86, 0x8D, 0xBD, 0x9F, 0x88, 0x2C, 0xBC, 0x5D, 0x10, 0x36, 0x55, 0xF6, 0xDE, 0xBD, 0x63, 0x85, 0x28, - 0x26, 0xAB, 0x1D, 0x75, 0x39, 0xB8, 0x65, 0x64, 0x93, 0x25, 0xCC, 0x4D, 0xEF, 0xB8, 0x3C, 0x3E, 0xF6, 0x59, 0x94, 0xC3, 0x00, - 0x82, 0xF0, 0xE2, 0xB8, 0x94, 0x13, 0xC5, 0x2E, 0x21, 0x77, 0x88, 0xB9, 0x75, 0x22, 0x3A, 0x3E, 0xC6, 0xFF, 0x77, 0x74, 0x4F, - 0xBA, 0x12, 0x4E, 0x69, 0x12, 0x09, 0xE0, 0xE6, 0x39, 0x8B, 0x4B, 0xE6, 0xA7, 0x9B, 0xD5, 0x2A, 0xC0, 0xE6, 0x00, 0x61, 0x40, - 0x12, 0x0D, 0xA0, 0x27, 0xA1, 0x07, 0x29, 0xF1, 0x66, 0x55, 0x7A, 0x55, 0x8C, 0xF3, 0x51, 0x30, 0x18, 0x75, 0x9F, 0x00, 0x2A, - 0x08, 0x2F, 0x1A, 0xC9, 0x2C, 0x58, 0x66, 0xB9, 0x4F, 0xD4, 0xD4, 0x4A, 0x00, 0x8A, 0x00, 0x66, 0x1A, 0xDA, 0x4B, 0x43, 0x35, - 0xDC, 0x52, 0x91, 0x2C, 0x9B, 0x96, 0xB3, 0x5D, 0xE7, 0x1A, 0x48, 0x9A, 0xE0, 0x0A, 0xD3, 0x20, 0x90, 0x64, 0x96, 0x20, 0x8E, - 0xD2, 0xA8, 0x4E, 0xD4, 0x95, 0xD1, 0x4E, 0xEA, 0x0B, 0x81, 0x75, 0x04, 0xEC, 0xBB, 0xB1, 0x23, 0x53, 0x11, 0x32, 0xC2, 0x55, - 0x86, 0x5E, 0xEC, 0x01, 0xF6, 0xC3, 0x12, 0xBB, 0xCB, 0x2A, 0x53, 0x22, 0x0A, 0x0A, 0x14, 0xAD, 0xF3, 0xAC, 0xCC, 0x70, 0x90, - 0x9D, 0xDB, 0xB8, 0xF8, 0xE5, 0x3E, 0x95, 0xC8, 0xE2, 0x8B, 0x01, 0x2B, 0x60, 0x1B, 0xEB, 0xC8, 0xF3, 0xC2, 0x1C, 0xB0, 0x5B, - 0x44, 0xC3, 0x1E, 0xAC, 0xD7, 0xA9, 0x45, 0xE4, 0x39, 0x12, 0x66, 0xC1, 0x5A, 0x88, 0x34, 0x98, 0x45, 0x3E, 0x43, 0x80, 0x9B, - 0x2C, 0xD2, 0xEC, 0x25, 0xF7, 0x7B, 0x41, 0x48, 0x7F, 0x46, 0xC1, 0x65, 0xD6, 0x99, 0x67, 0x0B, 0x76, 0xC3, 0x52, 0xF8, 0x3D, - 0xB8, 0x08, 0xC2, 0xAC, 0xB3, 0x64, 0xE5, 0xFC, 0x16, 0x7F, 0xBD, 0xC4, 0x5F, 0xEB, 0xB8, 0xC4, 0x1F, 0xC3, 0x2E, 0x65, 0x15, - 0x51, 0xD6, 0x49, 0xD2, 0xFF, 0xDA, 0x24, 0x39, 0xF3, 0xBD, 0x65, 0xE1, 0x61, 0x62, 0x99, 0x7D, 0x95, 0xE7, 0xF1, 0x83, 0x85, - 0x49, 0x98, 0x7E, 0xF8, 0x57, 0xCE, 0x53, 0x29, 0x49, 0xE4, 0x03, 0x7B, 0x28, 0x20, 0x23, 0xCC, 0xA3, 0x94, 0xDD, 0xB7, 0xA8, - 0x9A, 0x5F, 0x76, 0x56, 0x2C, 0xBD, 0x29, 0x6F, 0x83, 0x30, 0x89, 0xBA, 0x97, 0xC9, 0x95, 0xFC, 0x7D, 0x19, 0xE4, 0xC8, 0x2A, - 0x60, 0x06, 0xA7, 0x49, 0xBB, 0x3D, 0x9B, 0x29, 0xAC, 0x8A, 0xC5, 0x3E, 0x9D, 0xED, 0xA8, 0x73, 0xDE, 0xB4, 0xD5, 0xBB, 0xEE, - 0xF7, 0x11, 0x30, 0x06, 0xAD, 0xE6, 0x57, 0x4C, 0xB5, 0xFA, 0xC8, 0x89, 0x96, 0x4D, 0x73, 0x68, 0x35, 0x4C, 0xC5, 0xC7, 0xE5, - 0xC7, 0x2C, 0x59, 0xB4, 0xBA, 0x47, 0x51, 0x94, 0xC2, 0x0A, 0x21, 0x26, 0x95, 0x06, 0x92, 0xAD, 0x94, 0x3B, 0xC2, 0x63, 0x1C, - 0x9D, 0xFE, 0xFE, 0xFB, 0xE9, 0x4D, 0x38, 0x8F, 0x4E, 0xBD, 0xD3, 0x1B, 0xC0, 0x5C, 0x52, 0xBC, 0x66, 0x05, 0xCB, 0x3F, 0xB2, - 0x85, 0xD5, 0x3D, 0xAF, 0x75, 0xFA, 0x87, 0x3F, 0x19, 0x2F, 0xB2, 0x6D, 0xB2, 0xDC, 0x26, 0xE9, 0x16, 0x40, 0xDA, 0xAE, 0x58, - 0xB9, 0x85, 0x71, 0x6F, 0xCB, 0xFC, 0x61, 0x0B, 0xED, 0x6D, 0xE7, 0x71, 0xC1, 0xB6, 0x6C, 0x85, 0xFF, 0xC0, 0x02, 0xD8, 0x32, - 0x20, 0xFC, 0xED, 0x32, 0xC6, 0xDF, 0x48, 0xAB, 0xDB, 0xF2, 0x36, 0x29, 0xA0, 0xEC, 0x86, 0x6D, 0x11, 0xB6, 0xED, 0x7D, 0x52, - 0xDE, 0x6E, 0xAF, 0x61, 0x8D, 0x7D, 0x80, 0x8A, 0x30, 0x43, 0xDB, 0xF9, 0x2A, 0x2E, 0x8A, 0xED, 0x3C, 0x4B, 0x8B, 0x72, 0x5B, - 0x6C, 0x80, 0x52, 0xA0, 0x46, 0x9E, 0xDD, 0x6F, 0xEF, 0x6F, 0x93, 0x15, 0xDB, 0x3E, 0x24, 0x6C, 0xB5, 0xD8, 0x2E, 0x18, 0x74, - 0x0A, 0xED, 0xD3, 0xCC, 0x6F, 0x93, 0x3B, 0xFA, 0xB3, 0xDE, 0x5C, 0xAF, 0x92, 0xF9, 0x96, 0x83, 0xB9, 0x2D, 0xCA, 0x18, 0xB8, - 0xFF, 0xB6, 0x80, 0xF6, 0xA1, 0x51, 0xBE, 0xC6, 0xB6, 0x82, 0xBE, 0xA1, 0x62, 0xC9, 0xD2, 0x45, 0xB1, 0x85, 0xB5, 0x0B, 0x34, - 0xF8, 0xB0, 0x5D, 0xC7, 0xF3, 0x0F, 0xF1, 0x0D, 0xDB, 0xAE, 0xF3, 0xE4, 0x23, 0x2C, 0x76, 0xEC, 0xBD, 0x4C, 0x52, 0x00, 0x71, - 0xC1, 0xAE, 0x37, 0x37, 0x37, 0x00, 0x83, 0x44, 0xC4, 0x36, 0xCE, 0x6F, 0x60, 0x55, 0xA7, 0x65, 0x01, 0xC3, 0x2F, 0x59, 0xBE, - 0x8C, 0xE7, 0x58, 0x2D, 0x2B, 0x61, 0xB2, 0xD8, 0x02, 0x41, 0x59, 0x31, 0x99, 0x0D, 0x20, 0xA4, 0x73, 0xE8, 0x36, 0xF8, 0xC7, - 0x69, 0xA7, 0x64, 0x45, 0x09, 0x48, 0xC4, 0xB9, 0x2D, 0xE2, 0x25, 0x31, 0x0C, 0x07, 0x72, 0x8F, 0x4E, 0xFF, 0x98, 0xFE, 0xE3, - 0xF7, 0xFB, 0x77, 0xB3, 0xB6, 0xAE, 0xB2, 0xDD, 0x9A, 0x33, 0x02, 0x09, 0x93, 0x2F, 0xA6, 0xDE, 0x17, 0x6D, 0xD6, 0xC9, 0xD9, - 0x7A, 0x05, 0xBD, 0xFB, 0x71, 0xE8, 0xFD, 0x0E, 0xFF, 0xF3, 0x02, 0x95, 0x32, 0x0F, 0xBF, 0x80, 0xDF, 0x5F, 0x04, 0xED, 0x2F, - 0xBC, 0xD9, 0x17, 0x63, 0xAF, 0xE3, 0xB5, 0x19, 0x76, 0xBC, 0x99, 0x7F, 0x9F, 0xE4, 0x45, 0xE9, 0xE8, 0x17, 0x96, 0xFE, 0xFC, - 0x36, 0xCE, 0xBF, 0x2A, 0xFD, 0x6E, 0x00, 0xB4, 0xF7, 0xDB, 0x1A, 0xD0, 0xFE, 0x0D, 0x4C, 0xA3, 0x1F, 0x40, 0x3F, 0xC5, 0xE6, - 0x9A, 0xF3, 0x2A, 0x58, 0x5F, 0x9C, 0x62, 0x36, 0xD1, 0xE9, 0x3B, 0x7F, 0x1A, 0x9F, 0xFC, 0x35, 0x0B, 0x88, 0x60, 0xE6, 0xF1, - 0x1D, 0x5B, 0x61, 0x79, 0x77, 0xD3, 0xBA, 0x81, 0x6E, 0xD8, 0xAB, 0xB6, 0xA8, 0x80, 0xDE, 0x18, 0x7B, 0xB3, 0xC9, 0x45, 0x4A, - 0x1B, 0xA0, 0x5D, 0x40, 0x48, 0x9C, 0x67, 0x77, 0xEB, 0x38, 0x67, 0xDF, 0x23, 0x39, 0x14, 0x5F, 0x3F, 0xFC, 0xB0, 0x70, 0xB3, - 0x20, 0xD6, 0x49, 0x16, 0x27, 0x25, 0xFC, 0x83, 0x75, 0x16, 0x6C, 0x9E, 0xE5, 0x30, 0xBD, 0x6F, 0x81, 0x18, 0xEA, 0x9B, 0x08, - 0xEB, 0xFC, 0x03, 0xA9, 0x44, 0xED, 0xF1, 0xC8, 0x2E, 0x29, 0xA5, 0x93, 0xC2, 0xF0, 0x60, 0x05, 0xE1, 0x1E, 0xA3, 0x1B, 0x79, - 0x9D, 0x65, 0x25, 0xC0, 0x7E, 0x97, 0x7D, 0x64, 0xAA, 0x6A, 0x68, 0xD6, 0x80, 0xBD, 0xBA, 0x52, 0x3A, 0x5E, 0x2C, 0x54, 0x51, - 0x55, 0xF6, 0x32, 0xD9, 0x6E, 0xFD, 0x04, 0xB9, 0xD6, 0x39, 0x30, 0x71, 0x2E, 0x4C, 0x20, 0x17, 0x49, 0xFC, 0x72, 0xBB, 0xE5, - 0x2D, 0x29, 0xDE, 0xEE, 0x68, 0x2F, 0x45, 0xA9, 0x61, 0x5E, 0x66, 0x39, 0x08, 0x08, 0x8D, 0xBB, 0x29, 0x75, 0xA4, 0x36, 0xD2, - 0x34, 0x34, 0x37, 0xA6, 0x5E, 0xF3, 0x36, 0xAC, 0x39, 0xF7, 0xD3, 0x4D, 0xA4, 0x9C, 0x32, 0x96, 0xC0, 0x95, 0x34, 0x94, 0xDF, - 0x41, 0xA1, 0x1A, 0xFF, 0xB4, 0xD1, 0x2C, 0xB1, 0x90, 0x02, 0x16, 0x90, 0x57, 0xF7, 0x05, 0x12, 0x4A, 0x42, 0x42, 0xEA, 0x7B, - 0xD8, 0x86, 0xD7, 0x5E, 0xB6, 0xDB, 0xE1, 0x5E, 0x3C, 0x94, 0x7B, 0x84, 0x09, 0x1B, 0xF6, 0xB2, 0x06, 0x7B, 0x49, 0xAB, 0x92, - 0x95, 0xB2, 0x4E, 0x54, 0xDD, 0x7A, 0x00, 0x6C, 0x29, 0x3F, 0x18, 0xDB, 0x35, 0xB1, 0xA5, 0x16, 0x12, 0xD3, 0x77, 0x79, 0x0E, - 0xAC, 0xD9, 0x5B, 0x14, 0x65, 0xEB, 0x6E, 0x03, 0xFF, 0x5C, 0xB3, 0x56, 0x0C, 0x50, 0xF2, 0x1A, 0x24, 0x34, 0x1C, 0x95, 0xF5, - 0xE2, 0xB8, 0x05, 0xA9, 0xF2, 0xC5, 0x9A, 0xCD, 0x93, 0x65, 0x02, 0x52, 0x97, 0x1A, 0xA5, 0x12, 0x41, 0x19, 0x6C, 0xB7, 0x39, - 0xCA, 0x79, 0x9C, 0x3A, 0x60, 0x8B, 0xBC, 0x4D, 0x96, 0x20, 0xD4, 0x72, 0x69, 0x84, 0x6F, 0x00, 0xAF, 0xBA, 0x41, 0x39, 0x4D, - 0x61, 0x5F, 0xF1, 0xF1, 0xCF, 0x76, 0x8B, 0x3B, 0x04, 0x54, 0xB9, 0x44, 0x3E, 0x4C, 0xF5, 0xB2, 0x08, 0x33, 0x2E, 0x33, 0x20, - 0xE2, 0x24, 0x9A, 0x82, 0x24, 0x9A, 0xA5, 0xC0, 0x6F, 0xFD, 0x2C, 0x90, 0x5F, 0x09, 0xD0, 0x24, 0x35, 0x91, 0xE8, 0xFD, 0x01, - 0x11, 0x10, 0x95, 0x9D, 0x62, 0xBD, 0x4A, 0x4A, 0x1F, 0xF8, 0x08, 0x6C, 0x71, 0xB0, 0xFA, 0xDC, 0x88, 0xCE, 0x50, 0xF4, 0xD1, - 0xB3, 0x02, 0xF8, 0x46, 0x19, 0xB3, 0x2E, 0x48, 0x14, 0x6A, 0xF2, 0x16, 0x30, 0xE7, 0xC6, 0x2F, 0x9C, 0x71, 0x1F, 0x28, 0x60, - 0x14, 0xC0, 0x12, 0x47, 0x59, 0x6F, 0xAF, 0x04, 0xE0, 0x57, 0x25, 0x9C, 0x24, 0x2A, 0xB5, 0xD4, 0xAE, 0xEA, 0xC8, 0x3D, 0x33, - 0xB1, 0xF6, 0x6A, 0xA0, 0x96, 0x14, 0x28, 0x35, 0xBD, 0x4A, 0xE4, 0xFE, 0xD9, 0x6E, 0xA7, 0x81, 0xDA, 0x2B, 0x41, 0x54, 0x07, - 0x44, 0xCC, 0x8E, 0x8F, 0x73, 0x80, 0x50, 0xFC, 0x40, 0x09, 0x1F, 0xFF, 0xAA, 0xE9, 0x61, 0x3B, 0xD5, 0x5B, 0x46, 0xBB, 0xB3, - 0xFC, 0x05, 0x4C, 0x5B, 0x10, 0xCD, 0x91, 0x8F, 0x9B, 0x5D, 0x4B, 0xEF, 0x04, 0xAD, 0x32, 0x90, 0x84, 0x8F, 0xE4, 0xCD, 0x4B, - 0x5E, 0xBA, 0xF1, 0x89, 0x55, 0x43, 0x0F, 0x14, 0x99, 0x02, 0x76, 0xA6, 0x46, 0x6C, 0x32, 0xC0, 0x54, 0x48, 0x04, 0x05, 0x5C, - 0x78, 0x0D, 0x49, 0xEC, 0x4D, 0x09, 0x9B, 0xD9, 0xDB, 0x1C, 0x58, 0xEA, 0xA4, 0x21, 0x9D, 0x37, 0x0D, 0x9A, 0xD5, 0xBE, 0x8E, - 0x0B, 0x2C, 0xAE, 0x16, 0x8D, 0x8F, 0xE0, 0x52, 0x73, 0x41, 0x87, 0x72, 0xB6, 0x5B, 0x0F, 0x05, 0xF8, 0xFC, 0xF8, 0x38, 0xE5, - 0x15, 0x72, 0x29, 0x56, 0xF8, 0x86, 0xC4, 0x57, 0x91, 0xA1, 0x39, 0x3C, 0x2A, 0x37, 0x20, 0xDA, 0x83, 0x09, 0xDD, 0x10, 0x03, - 0x2B, 0x1B, 0x08, 0xAB, 0x34, 0xF9, 0x10, 0xF2, 0xC3, 0xFD, 0xC8, 0x30, 0x05, 0x4E, 0xA9, 0x7D, 0x44, 0xF5, 0xB2, 0x08, 0x34, - 0x71, 0xD7, 0xB6, 0x37, 0x6E, 0x79, 0x6D, 0xFA, 0x29, 0x90, 0xBD, 0x03, 0x8E, 0x90, 0x74, 0xE2, 0x02, 0x20, 0xB8, 0x4B, 0x0A, - 0x54, 0x2B, 0x7A, 0x7D, 0x10, 0xE3, 0x3A, 0xD7, 0xB0, 0x01, 0x9D, 0x0D, 0x91, 0x49, 0xBD, 0xC4, 0x9F, 0xDF, 0x7D, 0x84, 0x7D, - 0xFE, 0xBB, 0xBB, 0xA4, 0x04, 0x31, 0x00, 0xE5, 0xCA, 0x2E, 0x26, 0x2E, 0x57, 0x59, 0x5C, 0xE2, 0xAF, 0x1E, 0xFE, 0x12, 0x32, - 0x25, 0xB6, 0x30, 0xC0, 0xDF, 0x9B, 0x72, 0x79, 0x81, 0x99, 0xD4, 0xDC, 0x3A, 0xCB, 0x56, 0xF8, 0x83, 0x72, 0x7E, 0xCC, 0xD2, - 0x9B, 0xAF, 0x13, 0x92, 0x62, 0x07, 0x43, 0xAA, 0x5A, 0xFC, 0x0C, 0x02, 0x6C, 0xF4, 0x35, 0x14, 0x62, 0x71, 0xEA, 0x6B, 0xDA, - 0x14, 0x7A, 0x0B, 0x0C, 0x72, 0x0E, 0xE0, 0x1A, 0x9F, 0x9D, 0x8F, 0x2C, 0x2F, 0x60, 0x8C, 0xCE, 0xB4, 0x4E, 0x0A, 0xAD, 0x61, - 0xBB, 0x37, 0xAB, 0xEC, 0x3A, 0x5E, 0x45, 0xB2, 0x03, 0x28, 0x0B, 0x53, 0xE9, 0xD0, 0xF9, 0xB8, 0xBE, 0x7C, 0x7C, 0xCC, 0xFF, - 0xBA, 0xCB, 0x14, 0x6C, 0xB5, 0x3C, 0x3E, 0xC6, 0x7F, 0xB7, 0x24, 0xD6, 0x41, 0xF3, 0xEC, 0x6E, 0x5D, 0x3E, 0x70, 0xC1, 0x59, - 0xCC, 0xE6, 0x32, 0x67, 0xEC, 0x2F, 0x36, 0xB1, 0x7E, 0x81, 0x66, 0x1F, 0x8C, 0x41, 0xBB, 0x17, 0xE5, 0x85, 0xAC, 0xBB, 0xAF, - 0xC2, 0xE3, 0x2E, 0x00, 0x65, 0x9A, 0xF0, 0xF2, 0x03, 0xC8, 0x5D, 0x20, 0x92, 0x45, 0x3F, 0x6F, 0xEE, 0xAE, 0x59, 0xAE, 0x13, - 0xB6, 0xDB, 0xBA, 0xF4, 0xE1, 0xA5, 0x54, 0xC8, 0x52, 0xFB, 0x92, 0xE2, 0xFB, 0x24, 0x4D, 0x80, 0x1C, 0x59, 0x70, 0x7C, 0xFC, - 0x13, 0x30, 0x61, 0x9C, 0xB4, 0x0C, 0x75, 0xC7, 0x08, 0xD0, 0xCB, 0xFB, 0xA8, 0x92, 0x8D, 0x6E, 0x50, 0xA8, 0x6D, 0xBA, 0x41, - 0xD8, 0xA5, 0xCD, 0x15, 0xCE, 0x6B, 0xF2, 0x56, 0x1C, 0x32, 0xBC, 0xA4, 0x54, 0x97, 0x46, 0xCA, 0x2B, 0xC1, 0x46, 0x44, 0xB3, - 0xF3, 0x86, 0x55, 0x35, 0x5D, 0xE4, 0x63, 0x39, 0x6A, 0x0E, 0x52, 0x69, 0x38, 0x22, 0xED, 0x2F, 0x8A, 0x60, 0xE8, 0x47, 0x55, - 0xED, 0x0A, 0x78, 0x1C, 0x0C, 0xAF, 0xBE, 0x6F, 0x21, 0x4B, 0xA3, 0xF9, 0x81, 0x2E, 0xB8, 0xA6, 0x92, 0x07, 0x13, 0xB9, 0x8B, - 0x8C, 0x4D, 0x26, 0x09, 0x4B, 0x5D, 0xA8, 0x30, 0xB0, 0xB9, 0x20, 0x6C, 0x5F, 0x6F, 0x96, 0x4B, 0x96, 0x9B, 0x6B, 0x09, 0x44, - 0x7E, 0x82, 0x8A, 0x45, 0x89, 0xD6, 0x9F, 0xAE, 0xA9, 0x18, 0x88, 0xA3, 0xBC, 0xBC, 0xE2, 0x97, 0xC6, 0xBA, 0xC4, 0x75, 0xF0, - 0x9F, 0x39, 0xCC, 0xC1, 0x04, 0x64, 0x09, 0x18, 0xC2, 0x8E, 0x44, 0x7F, 0x03, 0x3F, 0x94, 0xB8, 0xF3, 0x91, 0x60, 0xDF, 0xF1, - 0x66, 0xDE, 0x2D, 0x61, 0x35, 0x46, 0xA4, 0xED, 0xEA, 0x34, 0x10, 0xDE, 0xB3, 0xF9, 0x6F, 0x29, 0x4A, 0xD4, 0x32, 0x0B, 0x18, - 0x55, 0x15, 0xCE, 0x3D, 0xD4, 0x30, 0x91, 0xA3, 0x9A, 0x38, 0x1B, 0x85, 0xAA, 0x63, 0x12, 0xC6, 0x3A, 0x1C, 0x55, 0xF0, 0xD3, - 0x51, 0x01, 0x21, 0xC3, 0x2C, 0x63, 0x89, 0xA8, 0x1E, 0x7E, 0x03, 0x2D, 0xE1, 0x82, 0x2A, 0xE3, 0x50, 0xA1, 0x29, 0x9D, 0x40, - 0xEA, 0x80, 0x68, 0x39, 0x72, 0x2D, 0x2F, 0xA3, 0xAE, 0xFE, 0x1C, 0xD3, 0xBF, 0x82, 0x63, 0x44, 0x72, 0x3D, 0x77, 0x16, 0xA8, - 0xEE, 0xFE, 0xF0, 0x0B, 0x50, 0x77, 0x25, 0x85, 0xCA, 0x6D, 0xB7, 0x2A, 0x59, 0xFE, 0x54, 0xD3, 0xB5, 0x82, 0x04, 0x0F, 0x11, - 0x0D, 0x93, 0xDE, 0x7F, 0xCD, 0xA2, 0xD3, 0x3F, 0x48, 0x39, 0xE3, 0x1A, 0x5B, 0x77, 0xDB, 0xFB, 0xC7, 0x29, 0xCF, 0x1B, 0xF0, - 0xCC, 0x93, 0x09, 0xE8, 0x7F, 0xDD, 0xED, 0xB4, 0x77, 0xF2, 0x72, 0x36, 0xED, 0xC2, 0x3F, 0x5F, 0x06, 0xB2, 0xC4, 0xD9, 0x90, - 0x4A, 0x40, 0xFE, 0xF4, 0xF7, 0xDF, 0xFF, 0xEC, 0x76, 0x4F, 0xE0, 0xDF, 0xE5, 0x72, 0xF6, 0x78, 0xB1, 0xDB, 0x3A, 0x6A, 0xF1, - 0x6A, 0xD8, 0xFB, 0xDB, 0xEC, 0x9F, 0x71, 0x71, 0xEB, 0x5C, 0x26, 0x13, 0xCD, 0x19, 0x3B, 0x02, 0xCD, 0xC0, 0xD4, 0xB1, 0xB8, - 0x8F, 0x53, 0xA1, 0xF2, 0xFE, 0x62, 0x39, 0xA5, 0xEE, 0x44, 0x93, 0xDF, 0x43, 0xD9, 0x4A, 0xA3, 0x7A, 0x05, 0x55, 0xDA, 0xA4, - 0xD6, 0xB4, 0x70, 0xC9, 0x73, 0x45, 0xC7, 0x54, 0x00, 0x4B, 0xA2, 0xA0, 0x95, 0x85, 0x79, 0xE7, 0x36, 0xC1, 0x8D, 0x33, 0x07, - 0x20, 0x38, 0xFB, 0xF1, 0x25, 0x83, 0x2E, 0x03, 0x9A, 0x4D, 0x10, 0x2C, 0x6F, 0x80, 0x16, 0x11, 0x8C, 0x43, 0xB5, 0xAD, 0x1F, - 0xB3, 0xFB, 0x26, 0x6D, 0x8B, 0xD3, 0x33, 0x6D, 0x9B, 0x51, 0x06, 0x3F, 0x7E, 0xC5, 0x15, 0x34, 0xCF, 0x56, 0x22, 0xC5, 0xF7, - 0xAC, 0x04, 0x9A, 0xC5, 0x2C, 0x65, 0xBF, 0x2C, 0xFF, 0x8D, 0xD1, 0xA6, 0x74, 0xA8, 0xF1, 0xA0, 0xDD, 0xCE, 0x41, 0x7A, 0x64, - 0xD3, 0x1C, 0xC4, 0x9C, 0x5E, 0x55, 0xFC, 0xF4, 0x75, 0x5D, 0x66, 0x0B, 0x51, 0xC0, 0xF1, 0xD1, 0xE6, 0x21, 0x9B, 0x39, 0x81, - 0xAA, 0xAF, 0xE0, 0x9F, 0x93, 0x93, 0x3C, 0x40, 0xA3, 0x1C, 0x70, 0x53, 0xD1, 0xE8, 0xF1, 0xB1, 0xDA, 0xBE, 0xB0, 0x92, 0x4C, - 0xC4, 0x15, 0x6B, 0x25, 0x29, 0xA5, 0x00, 0x7E, 0xEC, 0x76, 0x72, 0x30, 0x6F, 0xEA, 0x83, 0xA9, 0x82, 0x58, 0x6A, 0x18, 0x1D, - 0x43, 0xC3, 0xE6, 0xB8, 0xFE, 0xC6, 0xED, 0x06, 0x2D, 0xDD, 0x23, 0xF5, 0x52, 0x66, 0xFF, 0xDF, 0x9B, 0x5F, 0x7E, 0xFE, 0x65, - 0x8D, 0x4D, 0x15, 0xD1, 0x23, 0xD2, 0x4F, 0x31, 0xE6, 0x7C, 0x9C, 0x74, 0x05, 0xF5, 0xE3, 0xFA, 0x01, 0x74, 0x72, 0xF9, 0xE3, - 0x7D, 0x91, 0xA5, 0x68, 0x94, 0x44, 0x76, 0x04, 0x62, 0xCC, 0x32, 0xB9, 0x01, 0x21, 0xCB, 0x64, 0x8E, 0x92, 0x31, 0x0A, 0x36, - 0xC8, 0x26, 0x7E, 0x85, 0x99, 0x31, 0xA2, 0x2E, 0x80, 0x4C, 0xAF, 0x6E, 0x4A, 0xC1, 0xFD, 0x1B, 0xFF, 0x1A, 0x1B, 0x1A, 0xC9, - 0xB2, 0x86, 0xE4, 0x48, 0x2A, 0x01, 0xD1, 0x87, 0x8B, 0x15, 0xB2, 0x8E, 0xF1, 0xCB, 0x6C, 0xA5, 0xDA, 0x06, 0x68, 0xD3, 0xE3, - 0x0A, 0x50, 0xCD, 0xCC, 0x15, 0x84, 0x2B, 0x6E, 0xB2, 0xE3, 0xF2, 0x9E, 0xDF, 0xBF, 0x08, 0x9E, 0x12, 0xD2, 0xB5, 0x71, 0xAE, - 0x10, 0x46, 0x55, 0x10, 0x6F, 0x82, 0x4B, 0x1F, 0xC4, 0xFE, 0x26, 0x19, 0x31, 0x69, 0x94, 0x0F, 0x0B, 0xF8, 0x89, 0xB6, 0xA1, - 0x9F, 0x51, 0xB9, 0xE6, 0x7A, 0xA1, 0xD0, 0x97, 0x73, 0x7F, 0x14, 0x84, 0x19, 0xFC, 0xE9, 0x06, 0x5A, 0x05, 0x28, 0x38, 0x44, - 0x68, 0x24, 0x24, 0x61, 0x3C, 0x31, 0x80, 0x47, 0xB1, 0x3B, 0x34, 0xAC, 0xC2, 0x8A, 0xE5, 0x3A, 0xD4, 0x34, 0x12, 0x80, 0x8B, - 0x26, 0xC5, 0x8E, 0xE4, 0x46, 0x5E, 0x84, 0xAC, 0x10, 0xB0, 0xB8, 0x8C, 0xA4, 0xCA, 0xD8, 0x2A, 0x85, 0x03, 0x5E, 0x74, 0x9E, - 0xDD, 0xA1, 0xC5, 0x08, 0x98, 0x86, 0xF9, 0xB3, 0x88, 0x32, 0xD2, 0xE2, 0x28, 0x2D, 0x97, 0xF6, 0x38, 0xBE, 0x8E, 0x80, 0x05, - 0x49, 0x72, 0x2F, 0xAA, 0x7A, 0x4D, 0x0C, 0xF4, 0x1F, 0x5F, 0x15, 0x9A, 0xFE, 0xE3, 0xA0, 0xB6, 0xED, 0x95, 0xD3, 0x62, 0x1A, - 0xE3, 0x0A, 0xAC, 0x42, 0x34, 0x35, 0x7E, 0xF3, 0x32, 0x91, 0x28, 0x3B, 0x8B, 0xF0, 0x4F, 0xB0, 0xE3, 0x2C, 0x13, 0xD7, 0x8B, - 0x93, 0xB5, 0x22, 0x5D, 0x11, 0xE2, 0x45, 0x23, 0xF0, 0x91, 0xF1, 0x75, 0x05, 0x5F, 0x62, 0x64, 0xFA, 0xAB, 0x08, 0xB4, 0x4D, - 0x59, 0x0D, 0xB1, 0x54, 0x9F, 0x61, 0xBE, 0x0B, 0x0B, 0x4B, 0x9A, 0xAF, 0xF4, 0x2B, 0x4D, 0xDB, 0x47, 0x47, 0x20, 0x4F, 0x49, - 0x46, 0xCC, 0x00, 0x15, 0x6C, 0xFD, 0x4D, 0xB5, 0x07, 0x6D, 0x53, 0xF5, 0xA7, 0x9E, 0x80, 0xC9, 0xE3, 0xD8, 0x95, 0x10, 0x8A, - 0xA9, 0xF6, 0xCC, 0x19, 0x0C, 0x3D, 0x09, 0x8D, 0x67, 0x4F, 0xC5, 0xF1, 0xB1, 0xF5, 0x53, 0xE0, 0x7B, 0x62, 0x25, 0x8E, 0xC5, - 0x74, 0x79, 0x62, 0xBC, 0xD0, 0xC4, 0xC4, 0x9C, 0xE3, 0x6A, 0x7E, 0x51, 0x2D, 0x50, 0x88, 0x12, 0x80, 0x78, 0x0B, 0x13, 0xF1, - 0x62, 0xE1, 0x32, 0x52, 0x1C, 0x65, 0x4A, 0x74, 0xC5, 0x93, 0x90, 0x1A, 0x29, 0xA3, 0xBA, 0xA3, 0x09, 0xB9, 0x25, 0x44, 0x59, - 0x6E, 0xA0, 0xC8, 0xB4, 0x20, 0x8D, 0x7B, 0x59, 0xAD, 0x2E, 0x80, 0x61, 0x2C, 0x81, 0x84, 0x97, 0xE4, 0x75, 0x2D, 0xE6, 0x2E, - 0xA9, 0x87, 0xCD, 0x44, 0x1B, 0xD2, 0x38, 0xB2, 0x59, 0xAF, 0x12, 0x10, 0xF3, 0x58, 0x8B, 0xA0, 0xF8, 0xC2, 0x6B, 0x83, 0xE6, - 0xF5, 0x05, 0x9E, 0x74, 0x70, 0xE5, 0x4B, 0xAF, 0x26, 0x6D, 0xEC, 0xFC, 0x61, 0xA1, 0x41, 0xD1, 0x60, 0x40, 0xF9, 0xB6, 0xD7, - 0x02, 0xBD, 0x5A, 0xA2, 0x79, 0x7F, 0x23, 0xC8, 0x2E, 0x34, 0x36, 0x4C, 0x4C, 0x28, 0x18, 0x1A, 0x9B, 0x72, 0x8D, 0x8C, 0xAF, - 0x93, 0x19, 0x47, 0xB8, 0x49, 0x3F, 0x20, 0x84, 0x9B, 0x3F, 0x89, 0x07, 0xDF, 0x03, 0x17, 0x4D, 0xE2, 0xA2, 0x09, 0x15, 0x7A, - 0x34, 0xBA, 0x5B, 0x1B, 0x89, 0x51, 0xB9, 0x43, 0x13, 0x4E, 0x6B, 0xDF, 0x42, 0xC5, 0x52, 0xB3, 0x88, 0x5D, 0x9A, 0x9A, 0xAD, - 0x24, 0x20, 0xCC, 0x04, 0x91, 0x9F, 0x84, 0x63, 0xCC, 0xB0, 0xE9, 0x88, 0xDB, 0x2F, 0xAB, 0x26, 0xBA, 0x4F, 0x25, 0x23, 0xBE, - 0x18, 0x6D, 0xC8, 0x10, 0x8B, 0x5C, 0x49, 0x29, 0xF7, 0xCC, 0xC0, 0x22, 0x03, 0x0E, 0x9B, 0x66, 0x65, 0x8B, 0xFD, 0x99, 0x40, - 0xB3, 0x06, 0x36, 0xC4, 0x98, 0x8C, 0x8D, 0xDB, 0x9E, 0x86, 0xB0, 0x9E, 0x03, 0xBD, 0x5A, 0xA9, 0x06, 0x2A, 0x1C, 0x28, 0x30, - 0xA9, 0xCD, 0x25, 0x63, 0xA4, 0x15, 0x7A, 0x34, 0xD7, 0x77, 0xC8, 0x82, 0xA6, 0xC6, 0x68, 0x93, 0x7A, 0xA2, 0x39, 0xA2, 0xCC, - 0x5A, 0x83, 0x07, 0x6F, 0xA9, 0x19, 0x9A, 0xC1, 0xF5, 0x86, 0xF8, 0x9A, 0x2D, 0x57, 0x8C, 0xEA, 0x71, 0x36, 0xA7, 0x0E, 0xC9, - 0x2A, 0xFB, 0x62, 0xA6, 0x2C, 0xDE, 0x47, 0xE9, 0x27, 0xB3, 0x0B, 0xD8, 0x3B, 0xA9, 0xB6, 0xE0, 0xA8, 0x2E, 0x86, 0x21, 0x96, - 0x81, 0x73, 0xE3, 0x34, 0xD7, 0x49, 0x54, 0x72, 0xC6, 0xBA, 0x8E, 0xF3, 0x82, 0x2D, 0xA4, 0x14, 0xA6, 0x08, 0x96, 0xDB, 0xD2, - 0x99, 0x2A, 0x43, 0x3B, 0xA5, 0xCA, 0x04, 0xC4, 0x65, 0x2B, 0xDC, 0x35, 0x8E, 0x7A, 0x95, 0xCD, 0x54, 0x15, 0x59, 0x26, 0xC0, - 0x9A, 0xB1, 0x0D, 0x92, 0x61, 0x5C, 0x26, 0xA6, 0x84, 0x15, 0x7E, 0x66, 0x18, 0x99, 0x1E, 0xF3, 0x2C, 0x2B, 0xC7, 0x55, 0x1B, - 0x93, 0x16, 0x82, 0xB1, 0xD9, 0x4B, 0x21, 0xBC, 0x32, 0x01, 0xD3, 0x65, 0xC0, 0xF4, 0xB7, 0x36, 0x47, 0xC1, 0x5C, 0xAE, 0x56, - 0x38, 0x3F, 0x7B, 0x9A, 0x9B, 0xAA, 0x61, 0xCE, 0x42, 0xB1, 0x7C, 0x44, 0x3B, 0xD8, 0x6A, 0x67, 0x93, 0x72, 0x73, 0x6F, 0xC9, - 0xCF, 0x02, 0xC8, 0x20, 0x5B, 0xE9, 0xA7, 0xF3, 0x3E, 0x4B, 0x52, 0xB2, 0xCF, 0xEE, 0xD0, 0x02, 0x96, 0xED, 0xD9, 0x33, 0x41, - 0x67, 0x37, 0x56, 0x21, 0x1D, 0xA5, 0xE8, 0xC2, 0x59, 0xFA, 0xD5, 0xC2, 0x5E, 0x04, 0x06, 0x34, 0x62, 0xC3, 0xE3, 0x3F, 0xB8, - 0x21, 0xCA, 0x48, 0x90, 0x47, 0x21, 0x5C, 0x29, 0x30, 0x27, 0x8B, 0xD5, 0x66, 0x4A, 0x30, 0x0A, 0x60, 0x3F, 0x80, 0xE7, 0xCB, - 0xD2, 0xB4, 0x9E, 0x24, 0xD0, 0x68, 0xE7, 0xDD, 0x6D, 0x9C, 0x2E, 0x56, 0xEC, 0xAB, 0x05, 0x5F, 0x6E, 0x35, 0x20, 0x5F, 0xD7, - 0xB9, 0xD6, 0x61, 0x2D, 0xBE, 0x6E, 0x82, 0xD1, 0x49, 0x50, 0x76, 0xB7, 0x22, 0xA3, 0xC9, 0x92, 0x28, 0xEB, 0x71, 0x43, 0x18, - 0xC1, 0x51, 0x81, 0xC2, 0xAF, 0xB4, 0xDF, 0x0D, 0x04, 0x37, 0x32, 0x7B, 0x01, 0x22, 0xE1, 0x2B, 0xA0, 0xCA, 0x93, 0xCD, 0x15, - 0x13, 0x98, 0x1D, 0x8B, 0x34, 0x60, 0x6E, 0x76, 0x4B, 0x85, 0xA3, 0xA5, 0xD0, 0x54, 0x23, 0x72, 0x31, 0x7F, 0xA2, 0x81, 0x8A, - 0x8E, 0x66, 0xB4, 0xBB, 0xDD, 0xFA, 0x56, 0xF7, 0xF0, 0xDB, 0x5A, 0xBF, 0x8F, 0xBB, 0x20, 0xA0, 0x3D, 0xC8, 0x35, 0x20, 0x3C, - 0x56, 0x31, 0x16, 0x76, 0x0D, 0x98, 0xFA, 0xD2, 0x97, 0xCD, 0xDB, 0xFC, 0x60, 0x3A, 0x0B, 0x84, 0x06, 0x51, 0xCF, 0xA4, 0x73, - 0x90, 0x40, 0x9C, 0x72, 0x24, 0xB0, 0xE0, 0xD3, 0x85, 0xEF, 0x3B, 0x94, 0x9E, 0x83, 0xFC, 0x11, 0x4A, 0xE4, 0xC1, 0x01, 0x31, - 0xB9, 0x8C, 0xB7, 0x09, 0x9C, 0x16, 0x37, 0xB2, 0xD4, 0x3C, 0x22, 0xF2, 0x41, 0x01, 0x42, 0xC7, 0x05, 0xDC, 0x9B, 0xFD, 0x0C, - 0x51, 0x80, 0x18, 0xB0, 0x8B, 0xD0, 0x11, 0x4C, 0x49, 0x96, 0xDE, 0x4D, 0x71, 0x0B, 0xAD, 0xED, 0xD4, 0x61, 0x4C, 0x8C, 0x2E, - 0x46, 0x31, 0x21, 0x4D, 0x66, 0xC7, 0xFA, 0x58, 0xDE, 0x85, 0x44, 0x89, 0x87, 0xFA, 0xB1, 0x65, 0xA0, 0x35, 0xDF, 0x8A, 0x3B, - 0x02, 0x77, 0x3C, 0xC8, 0xB5, 0x2A, 0x90, 0x04, 0x84, 0x3C, 0xD5, 0x9C, 0x8F, 0xAE, 0x08, 0x21, 0x28, 0xC2, 0xF0, 0x07, 0x5D, - 0xAD, 0x2E, 0x1B, 0x21, 0x70, 0x19, 0xD2, 0x35, 0x33, 0x34, 0xD5, 0x34, 0xBD, 0x25, 0x49, 0x66, 0x26, 0x59, 0xA0, 0x6A, 0x5D, - 0xCA, 0xCA, 0xB0, 0xF5, 0xE3, 0x3E, 0x3F, 0xA6, 0xC3, 0x69, 0x97, 0x0E, 0x8D, 0xA4, 0x1F, 0xB1, 0xC3, 0x77, 0xC4, 0x8D, 0xAD, - 0x64, 0x6E, 0x3E, 0x41, 0xC9, 0xDC, 0x58, 0x4A, 0x26, 0x1D, 0x2F, 0x0B, 0x2D, 0x93, 0x14, 0xCC, 0x3E, 0xF7, 0x30, 0x39, 0x43, - 0x3D, 0x0B, 0xB7, 0x55, 0x74, 0x9A, 0xF8, 0x23, 0x67, 0x64, 0x4A, 0x5B, 0x6C, 0xF9, 0x8A, 0x88, 0x57, 0xDB, 0x9C, 0xAD, 0xB1, - 0x9F, 0xC5, 0x3F, 0x4E, 0xF5, 0xBE, 0xBB, 0xD1, 0xFA, 0x68, 0xB8, 0x09, 0x97, 0x34, 0x79, 0xB1, 0xDE, 0x42, 0xD3, 0x60, 0xE2, - 0x2F, 0x61, 0x4F, 0xDF, 0x80, 0x1E, 0x98, 0x46, 0x99, 0xD0, 0xF4, 0x82, 0xB1, 0x51, 0x24, 0x43, 0x83, 0xEE, 0x32, 0xDA, 0x40, - 0x19, 0xD8, 0xFB, 0x65, 0x89, 0xD0, 0x56, 0x6C, 0x37, 0x41, 0x78, 0x14, 0x5B, 0xB2, 0x3C, 0xB0, 0xA4, 0xAB, 0xEE, 0x7E, 0x81, - 0x1E, 0x64, 0xAF, 0xF4, 0x24, 0x65, 0x37, 0x71, 0x99, 0x7C, 0x64, 0xB6, 0x70, 0x4F, 0x8D, 0x09, 0x21, 0x21, 0x77, 0x6C, 0xF3, - 0x88, 0xC3, 0x06, 0x21, 0xC1, 0xF4, 0x3D, 0x39, 0x9A, 0x73, 0x7F, 0x86, 0x14, 0x16, 0x89, 0x24, 0x26, 0xBF, 0x62, 0xFD, 0x72, - 0xB4, 0x9E, 0x6F, 0x56, 0xF5, 0xD6, 0x5B, 0x98, 0x5A, 0xE9, 0x22, 0x83, 0x2E, 0x0C, 0x48, 0x33, 0x47, 0x5B, 0xDC, 0xE9, 0xC3, - 0x05, 0x2B, 0xE7, 0xCC, 0xD0, 0x28, 0x42, 0xEA, 0xC9, 0x59, 0xF4, 0x10, 0xF2, 0x49, 0x2A, 0x95, 0x34, 0x2A, 0x44, 0xB4, 0x94, - 0xF3, 0xEF, 0x64, 0x21, 0x45, 0x17, 0xDE, 0x32, 0x2A, 0xEC, 0x66, 0x59, 0x49, 0x16, 0x91, 0x27, 0xBF, 0x40, 0x03, 0x97, 0x5A, - 0xBE, 0xEC, 0x24, 0x3A, 0xB2, 0xCA, 0xCA, 0x9A, 0x9C, 0x7C, 0xB0, 0x26, 0xFF, 0x32, 0x6A, 0xDE, 0xC5, 0x6B, 0x25, 0xED, 0x88, - 0x03, 0x2B, 0x63, 0xFF, 0x02, 0xC6, 0x58, 0xFE, 0xB2, 0x34, 0x12, 0x10, 0xE2, 0x6F, 0xB9, 0xDB, 0x8B, 0x91, 0x2A, 0x1C, 0x61, - 0xFE, 0x03, 0x05, 0x66, 0x23, 0x19, 0x4D, 0x5F, 0xA0, 0x4D, 0xC7, 0x64, 0xFB, 0x34, 0x76, 0x04, 0x9E, 0x33, 0xCD, 0xB9, 0x00, - 0xDD, 0x21, 0x3B, 0x58, 0xE4, 0xD1, 0x1F, 0x84, 0x2C, 0xB7, 0xF7, 0x4E, 0xF2, 0xAF, 0xD0, 0x8D, 0x12, 0x76, 0xF0, 0x10, 0x8A, - 0x56, 0x93, 0x05, 0x04, 0x2C, 0x35, 0x9C, 0x82, 0x6A, 0xC6, 0x3B, 0xF4, 0xC7, 0x61, 0x66, 0x8A, 0x14, 0xEB, 0x96, 0xBB, 0x4D, - 0x93, 0x01, 0xC2, 0xB0, 0x6C, 0xD1, 0x52, 0x83, 0xF9, 0x81, 0x7F, 0x48, 0xA0, 0x2B, 0x69, 0x72, 0xE1, 0x0F, 0x9F, 0x28, 0x97, - 0x51, 0xA2, 0xF1, 0x58, 0x7B, 0x63, 0x9E, 0x3E, 0x72, 0xB8, 0x1A, 0xCF, 0x1F, 0xB9, 0xA2, 0x13, 0x99, 0x63, 0x90, 0xFB, 0xBE, - 0x1C, 0xD2, 0x51, 0x4F, 0x6E, 0xB0, 0x6A, 0xAB, 0xF7, 0x65, 0xB3, 0x41, 0x60, 0x0D, 0x1F, 0x45, 0xB9, 0xCD, 0x33, 0x76, 0x74, - 0xD9, 0x4C, 0x44, 0xB2, 0x99, 0x5F, 0xC3, 0x24, 0xED, 0x44, 0xF5, 0xD6, 0x2C, 0xEE, 0xC1, 0xAD, 0x8A, 0x9B, 0xCF, 0x65, 0x74, - 0x89, 0x4D, 0xA3, 0x0B, 0xAD, 0xDA, 0xD0, 0x5A, 0x5E, 0x6A, 0xE1, 0x49, 0x6B, 0x0A, 0x7C, 0xAA, 0x45, 0xE4, 0x71, 0xB7, 0x0D, - 0x45, 0xC5, 0x21, 0xB0, 0x2C, 0x4F, 0x2E, 0xBD, 0x50, 0x2C, 0x67, 0xCF, 0x5C, 0x81, 0x61, 0x93, 0x61, 0x67, 0xBF, 0xFD, 0x65, - 0x56, 0x19, 0xB2, 0x43, 0xD4, 0x93, 0x12, 0x98, 0x24, 0x71, 0x53, 0x04, 0xD3, 0x7C, 0x08, 0x30, 0xEF, 0xD7, 0x16, 0x9D, 0x5A, - 0x6C, 0xC5, 0x54, 0xE5, 0xCD, 0x82, 0xAA, 0x3C, 0x48, 0x6B, 0xC6, 0x77, 0x2C, 0x8B, 0x89, 0x23, 0x4D, 0x88, 0xAD, 0x63, 0x43, - 0x84, 0x0D, 0x60, 0x85, 0x66, 0x1F, 0x36, 0x6B, 0x6C, 0xE7, 0x97, 0x1C, 0x8D, 0xA3, 0x1A, 0x92, 0xA0, 0xBE, 0x3C, 0x4D, 0xD9, - 0x34, 0x9D, 0x38, 0x19, 0xC5, 0xB8, 0x96, 0x5A, 0x6B, 0x45, 0x2A, 0xDC, 0xD5, 0x53, 0x01, 0x57, 0xA1, 0x60, 0xDA, 0x9D, 0xCD, - 0x02, 0x6B, 0x5E, 0xE4, 0x09, 0x80, 0x65, 0x35, 0x11, 0xC8, 0x92, 0xF8, 0xA9, 0xF5, 0x5F, 0x29, 0xB7, 0x7F, 0x68, 0x99, 0xF6, - 0xB3, 0xD5, 0xC6, 0xCF, 0x4A, 0xB3, 0x8D, 0x3D, 0xB9, 0x46, 0x5A, 0x2D, 0x39, 0x0B, 0xAA, 0x43, 0xF2, 0x8F, 0xAA, 0x22, 0x74, - 0x47, 0x71, 0x02, 0x45, 0x25, 0x8E, 0x6C, 0x69, 0x3D, 0x32, 0x7B, 0x95, 0xCA, 0x44, 0xD3, 0xE8, 0x60, 0x6B, 0x37, 0x0D, 0x1D, - 0x76, 0x83, 0x61, 0x6D, 0x56, 0xA4, 0xFA, 0x20, 0xE4, 0xAF, 0xAA, 0x1C, 0x2F, 0xE4, 0x89, 0x40, 0x6F, 0x05, 0x41, 0x0D, 0x31, - 0xB1, 0x3E, 0x15, 0x13, 0xE7, 0x5F, 0xD5, 0x22, 0xA1, 0xB7, 0xF1, 0xE4, 0x08, 0x69, 0x35, 0xA9, 0xA3, 0x2E, 0xE5, 0xA1, 0xC5, - 0x8F, 0xF4, 0x95, 0xEB, 0xB8, 0x38, 0xE1, 0xAF, 0x36, 0xC4, 0x7D, 0x97, 0x5A, 0x72, 0xE5, 0xD1, 0x66, 0x73, 0xC0, 0x74, 0x0A, - 0xB9, 0xF4, 0x32, 0x16, 0xEE, 0x1A, 0x5C, 0xEC, 0xA8, 0x95, 0x9A, 0xA8, 0x7C, 0xF4, 0x3F, 0x5A, 0xD4, 0xBB, 0x0F, 0x19, 0x0C, - 0x56, 0x1D, 0x26, 0xFB, 0xAA, 0x38, 0xC7, 0x5D, 0xBD, 0xC1, 0x20, 0x24, 0x61, 0x0D, 0x4F, 0xB6, 0x3B, 0xF7, 0x78, 0xB4, 0xFD, - 0x74, 0x8B, 0x54, 0x76, 0x5F, 0x7B, 0xF5, 0x1D, 0x9C, 0x99, 0x4A, 0x02, 0x8A, 0x02, 0x92, 0x3D, 0x18, 0xDB, 0x79, 0x6C, 0x3A, - 0x55, 0x8C, 0x2D, 0x81, 0xA2, 0xB9, 0x34, 0x3F, 0x5B, 0xAE, 0x67, 0xD7, 0x06, 0x61, 0xF0, 0x1C, 0x8B, 0x89, 0xC8, 0x65, 0x24, - 0xCC, 0x01, 0xA4, 0x0A, 0x28, 0x96, 0x6A, 0x98, 0x38, 0xA2, 0x5A, 0x1F, 0xF6, 0xBE, 0x24, 0x88, 0x5D, 0xEF, 0x4A, 0xC4, 0x9C, - 0xAB, 0xE6, 0x6E, 0xBA, 0xF5, 0xC0, 0x77, 0xBD, 0xFA, 0x85, 0x12, 0x60, 0xF2, 0x30, 0x2C, 0xD3, 0xDB, 0x13, 0xA4, 0x60, 0xEA, - 0x7D, 0xEC, 0xBA, 0x09, 0x40, 0x1C, 0xC0, 0xA8, 0xC0, 0x99, 0x67, 0x20, 0xCC, 0x2D, 0xAA, 0x5F, 0x3A, 0x47, 0xAA, 0x34, 0x9B, - 0x9A, 0xBA, 0x43, 0xC0, 0x1D, 0x32, 0x49, 0xFE, 0xC8, 0xF8, 0x5E, 0x1A, 0x3E, 0x8A, 0x81, 0xE2, 0x5D, 0x0B, 0x34, 0xED, 0x6D, - 0x9A, 0xF4, 0x9C, 0xF4, 0x39, 0x7A, 0xCE, 0xD2, 0xD6, 0x73, 0x96, 0x9F, 0xA0, 0xE7, 0x2C, 0x2D, 0x3D, 0x07, 0xFF, 0x2D, 0x80, - 0x6D, 0x30, 0xA5, 0xEB, 0x84, 0x05, 0x69, 0x38, 0x43, 0xD4, 0x70, 0x6C, 0xFB, 0xE1, 0x46, 0xAB, 0x9E, 0x78, 0x50, 0x29, 0x5C, - 0x44, 0x8C, 0xF3, 0x57, 0x74, 0xD3, 0x21, 0xCD, 0x93, 0x99, 0x9A, 0x67, 0x3E, 0xA5, 0x0B, 0x30, 0x9C, 0x06, 0xE8, 0x93, 0x4B, - 0x16, 0xBE, 0x56, 0x3B, 0xF3, 0x9D, 0x76, 0xA9, 0x5B, 0x8A, 0x5E, 0x6C, 0xE9, 0x44, 0xAC, 0x88, 0x14, 0x96, 0xB4, 0x71, 0x18, - 0x46, 0x82, 0x0E, 0x4F, 0xE3, 0xCE, 0x14, 0x64, 0xE9, 0x53, 0x4D, 0x2D, 0xAC, 0x93, 0xF7, 0x5A, 0xC1, 0x90, 0xED, 0x96, 0x07, - 0xC8, 0x94, 0x04, 0x90, 0x66, 0xA1, 0x30, 0xD5, 0x1C, 0x7A, 0x01, 0x0C, 0x9E, 0x84, 0x76, 0x62, 0x6C, 0xF4, 0x2D, 0x17, 0x98, - 0x40, 0xC5, 0x6B, 0xB2, 0x2D, 0x3B, 0x34, 0xF7, 0xDA, 0x99, 0x35, 0xBA, 0x9C, 0xD6, 0x6E, 0x88, 0x80, 0x00, 0x0E, 0x28, 0x87, - 0x7F, 0x61, 0x2F, 0xBD, 0xC2, 0xF3, 0x6C, 0xFA, 0xEE, 0xCD, 0x5E, 0xC9, 0x0B, 0x2F, 0x47, 0x5D, 0xE9, 0x19, 0xD4, 0xDB, 0x59, - 0xFD, 0x57, 0xCC, 0xD1, 0x07, 0x42, 0x80, 0xCD, 0x23, 0x2F, 0x77, 0xB5, 0xEE, 0x96, 0x96, 0x97, 0xA6, 0xB4, 0x6C, 0x60, 0xBA, - 0x51, 0x64, 0xAE, 0x4D, 0x9E, 0xDC, 0x95, 0xAC, 0x79, 0x9A, 0xCB, 0xDB, 0x18, 0xBE, 0x31, 0xFF, 0xE4, 0x25, 0x1A, 0x2E, 0xF7, - 0xCB, 0xAA, 0xA2, 0x9B, 0xF9, 0x01, 0xA7, 0x7F, 0xBC, 0x55, 0x2F, 0xDC, 0x98, 0x9D, 0x70, 0x6F, 0x1B, 0x16, 0xCC, 0x68, 0x82, - 0xAD, 0x13, 0xB8, 0x5A, 0x5F, 0x16, 0x46, 0x61, 0xFD, 0x1E, 0x62, 0x8F, 0x89, 0x94, 0xF5, 0x05, 0xFB, 0x44, 0x06, 0x62, 0x1C, - 0x3A, 0x75, 0x96, 0xE4, 0xDE, 0x3E, 0x49, 0x15, 0x7D, 0x8E, 0x8D, 0x4C, 0x2E, 0x92, 0x4C, 0x0A, 0x67, 0xE6, 0x1D, 0x2B, 0x6F, - 0x33, 0xA8, 0x9A, 0x39, 0x73, 0x93, 0x05, 0xEC, 0x7F, 0x2A, 0x43, 0x93, 0x7F, 0xC0, 0x2D, 0x42, 0x65, 0x50, 0x31, 0x05, 0x2D, - 0x6D, 0x13, 0xA5, 0x0B, 0xC3, 0x06, 0xCE, 0x84, 0x30, 0xCF, 0x7F, 0x90, 0x01, 0x91, 0x16, 0x64, 0xB5, 0x15, 0x97, 0x77, 0xF8, - 0x9E, 0x56, 0x8C, 0xCD, 0xC6, 0xB6, 0x80, 0xAA, 0x12, 0x02, 0x23, 0x97, 0xF6, 0x39, 0x53, 0xD6, 0x2A, 0x36, 0xF3, 0xDB, 0x16, - 0x3A, 0x72, 0xA0, 0xA3, 0x27, 0xAB, 0x4F, 0x64, 0xED, 0xFC, 0xCB, 0xB7, 0xC4, 0xAC, 0xD8, 0x50, 0x84, 0x99, 0xD0, 0x34, 0x2A, - 0x4E, 0x7F, 0x69, 0xE5, 0x77, 0x51, 0xF9, 0x9D, 0x55, 0x7E, 0x2F, 0x5D, 0xE7, 0x25, 0x44, 0x2C, 0x86, 0x79, 0x02, 0x46, 0x03, - 0xBD, 0xF2, 0xD1, 0xD5, 0x7D, 0x0E, 0xC4, 0x1A, 0x78, 0x34, 0x0E, 0xDD, 0x00, 0xA7, 0xBE, 0xBC, 0x31, 0x80, 0xC5, 0xA4, 0x0F, - 0xB2, 0xD5, 0x33, 0x30, 0x0D, 0x1B, 0x12, 0x10, 0x32, 0x2B, 0x43, 0x29, 0x6D, 0x21, 0xF3, 0xA9, 0x63, 0x5C, 0xE1, 0x45, 0x6B, - 0x9D, 0xE5, 0x6A, 0xBE, 0x52, 0x5A, 0x0B, 0xC9, 0xB1, 0x04, 0x68, 0x0A, 0x88, 0xEE, 0xA4, 0x21, 0x46, 0x58, 0xE9, 0x2D, 0x66, - 0x2F, 0xD9, 0x82, 0x60, 0xFD, 0x8F, 0x3B, 0xBC, 0x40, 0xA1, 0xED, 0xA2, 0xBE, 0x56, 0xE9, 0x8F, 0xBA, 0xC0, 0x17, 0xF4, 0x99, - 0xA9, 0xAA, 0x70, 0xE9, 0xA2, 0x19, 0xB9, 0x1F, 0x85, 0xE2, 0xF0, 0x43, 0x9C, 0x0D, 0xA8, 0x83, 0x87, 0xE5, 0xD3, 0x87, 0xA5, - 0x36, 0xB1, 0x24, 0x87, 0xCC, 0x6C, 0xED, 0xA8, 0x8E, 0xE6, 0x8B, 0xE9, 0xB3, 0x15, 0xEA, 0xDD, 0xC4, 0x3B, 0xE3, 0x27, 0xDE, - 0x78, 0x44, 0x1A, 0xB7, 0xEE, 0x18, 0x4A, 0xDE, 0x2D, 0xE8, 0x6D, 0xCF, 0x29, 0xA9, 0x3D, 0xC2, 0xBA, 0x32, 0x20, 0xE8, 0xA7, - 0xA2, 0x0B, 0x58, 0x3B, 0x6B, 0x10, 0xEA, 0xD3, 0x96, 0x7D, 0x88, 0xE1, 0x7B, 0x40, 0x7D, 0x7B, 0x99, 0x5B, 0xC7, 0x8B, 0x78, - 0x3E, 0xA6, 0x2F, 0x12, 0x28, 0xE1, 0xFE, 0xC8, 0x76, 0x46, 0x75, 0x9D, 0x43, 0x26, 0xAB, 0x15, 0xBB, 0x89, 0x57, 0x2D, 0xBC, - 0x30, 0x21, 0x50, 0xA5, 0x25, 0x0F, 0x10, 0xE8, 0xC8, 0xE2, 0x01, 0x5B, 0xA2, 0x4D, 0xA9, 0xD6, 0xF5, 0x8A, 0x9C, 0xAD, 0xC8, - 0xB6, 0xE9, 0x59, 0xA4, 0x89, 0xCA, 0x3B, 0x53, 0x17, 0x28, 0xF4, 0x1D, 0x3A, 0xFB, 0x82, 0x85, 0x64, 0x47, 0xF2, 0x0B, 0x29, - 0x95, 0xCF, 0xBC, 0x9F, 0x47, 0x66, 0xA2, 0x6B, 0x81, 0x9B, 0xC0, 0xA0, 0xE4, 0x07, 0x8B, 0xA7, 0x2C, 0x5A, 0x78, 0xE9, 0x8D, - 0xDB, 0x5C, 0xA5, 0xE0, 0x25, 0x16, 0x78, 0xE1, 0xF1, 0x53, 0x82, 0x56, 0xCE, 0x57, 0x45, 0xC4, 0x45, 0x0F, 0xA0, 0x2A, 0x25, - 0xF8, 0x23, 0x20, 0x4A, 0xFA, 0x08, 0xD0, 0x47, 0x66, 0x59, 0x17, 0x9F, 0xBF, 0x5A, 0xAD, 0x4C, 0xF3, 0x85, 0x7D, 0x76, 0x69, - 0xAD, 0xC8, 0x12, 0x56, 0x64, 0x69, 0xDC, 0x23, 0x44, 0xF7, 0x62, 0x73, 0x20, 0x13, 0x48, 0x68, 0xB7, 0x67, 0x46, 0xC3, 0x78, - 0xC1, 0xDA, 0x4A, 0xF3, 0xAD, 0xDD, 0x42, 0xA7, 0xDA, 0x90, 0x71, 0xFB, 0x84, 0xF3, 0x6E, 0xCD, 0x35, 0xB7, 0x22, 0x99, 0x12, - 0xBC, 0x8F, 0xF7, 0x01, 0x4A, 0x65, 0x05, 0xC7, 0xF3, 0x66, 0x9B, 0x50, 0x4A, 0x32, 0xA1, 0x44, 0xE8, 0x89, 0x11, 0x5A, 0x84, - 0x66, 0x0A, 0xA5, 0xD8, 0x78, 0x87, 0xC8, 0xC3, 0xDA, 0x31, 0xE8, 0x94, 0xD0, 0xA6, 0xC7, 0x9D, 0xA2, 0x47, 0x55, 0xBB, 0x62, - 0xE2, 0xD1, 0x64, 0x56, 0x6D, 0x4A, 0x0C, 0x0D, 0x16, 0x70, 0x01, 0xD3, 0xCB, 0xF0, 0x1A, 0x6A, 0x69, 0x9D, 0x56, 0x11, 0x63, - 0xC6, 0x9A, 0xD8, 0x0E, 0xBF, 0x4E, 0x8E, 0xDE, 0x91, 0x16, 0x9C, 0x47, 0x25, 0x30, 0xDE, 0x4E, 0x92, 0x2E, 0xD8, 0x9F, 0xBF, - 0x90, 0xB3, 0x9A, 0xA1, 0x58, 0xBC, 0x3A, 0xE9, 0xC9, 0x4E, 0x13, 0x05, 0x68, 0x52, 0x61, 0xEB, 0x7E, 0x12, 0x25, 0x2E, 0x48, - 0x90, 0x21, 0x06, 0x95, 0xEA, 0xEA, 0xA6, 0x31, 0x5D, 0x82, 0xA9, 0xD2, 0x84, 0x79, 0x27, 0x46, 0x6E, 0x37, 0xA6, 0x38, 0x36, - 0x4D, 0x67, 0xB5, 0xAE, 0x5D, 0x85, 0x14, 0x34, 0x55, 0x20, 0x2E, 0x1D, 0xF6, 0x52, 0xCE, 0xFB, 0xB6, 0xDB, 0x7C, 0xA2, 0x8D, - 0x4F, 0x42, 0x97, 0xD4, 0xCD, 0x38, 0x49, 0x8A, 0x4C, 0x67, 0x75, 0xFB, 0xA4, 0xB0, 0x62, 0x88, 0xAA, 0x00, 0x8E, 0x7D, 0x11, - 0xAB, 0x22, 0x1E, 0x60, 0x7B, 0x5C, 0x3C, 0x50, 0xB4, 0xEC, 0xEA, 0xAB, 0x26, 0xB3, 0x38, 0xFB, 0x2A, 0xF6, 0xF7, 0x85, 0x8D, - 0xB8, 0x1C, 0xA0, 0xF6, 0x75, 0xAC, 0xED, 0x7A, 0x07, 0x0C, 0x35, 0x7C, 0x02, 0x00, 0x32, 0x24, 0x65, 0xF9, 0x27, 0x01, 0xF2, - 0x06, 0xF4, 0x09, 0x20, 0xAD, 0xA7, 0xA1, 0xC8, 0xF6, 0xC3, 0x20, 0xDA, 0x79, 0xAA, 0x7B, 0xA7, 0xBA, 0xCC, 0x39, 0x07, 0xA8, - 0xCC, 0x61, 0x06, 0x5C, 0xA2, 0x88, 0xF2, 0xA7, 0x54, 0x67, 0xB1, 0x16, 0x85, 0x2F, 0x0C, 0xD4, 0x9A, 0x7A, 0x8B, 0x6C, 0x73, - 0x4D, 0xF6, 0x68, 0xBA, 0xB1, 0x03, 0x7F, 0x93, 0xB4, 0x1C, 0xF4, 0xE1, 0xEF, 0x46, 0x7E, 0x14, 0xF2, 0x63, 0x99, 0xFC, 0xC9, - 0x16, 0x3C, 0x49, 0x7F, 0x42, 0xE6, 0xD9, 0x50, 0x14, 0xA7, 0x8F, 0x42, 0x7E, 0x50, 0x19, 0x9E, 0xA4, 0x3F, 0x91, 0xC5, 0x61, - 0x0A, 0x57, 0xE9, 0x42, 0x71, 0x76, 0x32, 0xAB, 0xB8, 0xAB, 0x4A, 0x37, 0xCA, 0x2E, 0x08, 0x4A, 0x18, 0x84, 0x02, 0x10, 0x56, - 0x6E, 0x2B, 0x17, 0xBD, 0x93, 0x69, 0x36, 0xCD, 0xDB, 0xE5, 0x6C, 0x26, 0xAF, 0x78, 0xAB, 0xA5, 0x4D, 0x37, 0x94, 0x92, 0x79, - 0x54, 0xF8, 0xD3, 0x5E, 0x38, 0x0A, 0xBB, 0xF4, 0xDF, 0x48, 0x7D, 0xF5, 0xE0, 0xBF, 0x6E, 0xD8, 0x0F, 0xFB, 0x33, 0xB4, 0xB8, - 0x48, 0xA3, 0x34, 0x96, 0xEE, 0x86, 0xEE, 0xFF, 0x8E, 0x7A, 0xA1, 0xE7, 0x61, 0x38, 0x0A, 0x65, 0x21, 0x0A, 0x71, 0x71, 0x52, - 0x7D, 0x3A, 0x2A, 0x52, 0x75, 0xA1, 0xED, 0x59, 0x78, 0x8E, 0xE9, 0x77, 0xF1, 0xFA, 0xDF, 0xD9, 0x83, 0xCE, 0xA9, 0xF5, 0x3F, - 0x0B, 0xF9, 0xED, 0x27, 0x7E, 0x30, 0xB1, 0x0F, 0xD6, 0xD9, 0xE1, 0xEE, 0xC5, 0xB9, 0xDF, 0x3F, 0x3B, 0xBC, 0xF4, 0xC2, 0x70, - 0x8D, 0xEA, 0x21, 0x39, 0xA4, 0xEA, 0x46, 0x00, 0x50, 0x53, 0x2A, 0x4C, 0x7D, 0x61, 0x0C, 0x9F, 0x68, 0xA3, 0xD3, 0x93, 0x34, - 0xB7, 0xDC, 0x16, 0x96, 0xA9, 0x74, 0x6E, 0x81, 0xB9, 0x91, 0x67, 0x81, 0x29, 0x28, 0x08, 0x96, 0x65, 0x02, 0xC4, 0x78, 0x20, - 0x50, 0xC3, 0x7C, 0x12, 0x3C, 0x5A, 0x66, 0x0E, 0xD1, 0xD8, 0x2D, 0x8B, 0x17, 0xB0, 0x23, 0xE0, 0x1F, 0x61, 0xF6, 0x8B, 0x93, - 0x15, 0x24, 0xE0, 0x1F, 0xDD, 0x09, 0x91, 0x81, 0xD1, 0x11, 0xC3, 0xDB, 0x78, 0x40, 0x49, 0xA6, 0xB5, 0x43, 0x34, 0x88, 0xC5, - 0x05, 0x08, 0xD4, 0x36, 0x4A, 0x12, 0x73, 0x7F, 0x83, 0xE8, 0x0D, 0x8C, 0x1E, 0x54, 0x01, 0x9E, 0xC6, 0x9B, 0xE3, 0x16, 0x14, - 0x44, 0xD2, 0x6D, 0x54, 0xD7, 0xD9, 0x53, 0x79, 0x05, 0xA6, 0x96, 0xE5, 0x2F, 0x84, 0xE5, 0xC9, 0x55, 0x0B, 0xEF, 0xD1, 0xEC, - 0x02, 0x10, 0x0B, 0x5C, 0x27, 0x67, 0x90, 0xB9, 0xD8, 0x19, 0x61, 0x57, 0x56, 0x0A, 0xD3, 0x68, 0x83, 0xE8, 0x8F, 0x46, 0xC7, - 0xC6, 0x7D, 0x4B, 0xBE, 0x17, 0xE8, 0x61, 0xB2, 0x3D, 0xA8, 0x2F, 0x75, 0xB5, 0x07, 0xF3, 0x52, 0x28, 0x90, 0xC3, 0x6D, 0x72, - 0x19, 0x94, 0xB4, 0x86, 0xA2, 0x5E, 0xFF, 0x1C, 0xC5, 0x86, 0x6C, 0xDB, 0xEB, 0x5F, 0x84, 0xF8, 0x11, 0xF9, 0xF8, 0xEF, 0xAB, - 0x57, 0xAF, 0xCE, 0xB7, 0x58, 0xF0, 0xEA, 0xAA, 0x3F, 0x0A, 0xE0, 0x57, 0x37, 0xC4, 0x5F, 0xF0, 0x11, 0x9D, 0x5F, 0x8A, 0x56, - 0xA0, 0x14, 0xD4, 0xDE, 0xD3, 0x92, 0x6C, 0xE8, 0x52, 0x94, 0xC0, 0xDF, 0x1A, 0xA8, 0x8F, 0xF5, 0x81, 0x86, 0x58, 0xB0, 0x07, - 0x05, 0xA1, 0xD6, 0xC5, 0x31, 0x24, 0x51, 0x42, 0x9F, 0x27, 0xF4, 0xCE, 0x54, 0xCA, 0x80, 0xA7, 0xF4, 0x87, 0x3B, 0x85, 0xF6, - 0x5B, 0x1F, 0x64, 0x74, 0xEE, 0xFD, 0xEF, 0xF4, 0x3E, 0xC4, 0x3B, 0xD5, 0x1D, 0x7D, 0xFB, 0x48, 0x7C, 0x83, 0xC6, 0x41, 0x7F, - 0x61, 0x27, 0x97, 0x95, 0x53, 0xBA, 0x9E, 0x28, 0x7F, 0xCA, 0x82, 0xE6, 0xF9, 0xE1, 0xE6, 0x9A, 0xCC, 0x5D, 0x01, 0x76, 0xA8, - 0x93, 0xDF, 0xA1, 0x33, 0x4B, 0x93, 0xCB, 0x51, 0x85, 0xEA, 0xF0, 0x8B, 0x4F, 0x1A, 0xA7, 0x4D, 0x5E, 0x58, 0x11, 0x7B, 0x5B, - 0x2C, 0xA9, 0x5D, 0xB8, 0x6E, 0x34, 0x70, 0xCE, 0x0D, 0x03, 0xA7, 0x59, 0x0C, 0xD7, 0x66, 0x15, 0x08, 0x3E, 0x5F, 0xF5, 0xC9, - 0xE2, 0x33, 0xC5, 0xE7, 0x94, 0x26, 0x81, 0xED, 0xAC, 0x21, 0xF1, 0x0D, 0xA1, 0xD1, 0xE6, 0x41, 0x90, 0xFA, 0x7B, 0x87, 0xB6, - 0xF6, 0x7D, 0x6A, 0xBF, 0x1B, 0x5C, 0x41, 0x5F, 0x93, 0xDE, 0x98, 0x5D, 0xF5, 0xCE, 0x06, 0x17, 0xC3, 0x49, 0x1F, 0xBE, 0xFA, - 0xDD, 0x97, 0xE7, 0xBD, 0x51, 0x7F, 0x32, 0xC0, 0xEF, 0xB3, 0x8B, 0xE1, 0x60, 0x34, 0x1C, 0x9D, 0x4D, 0x86, 0xE3, 0x51, 0x88, - 0x36, 0x5B, 0xB9, 0xDC, 0x6D, 0x90, 0x1A, 0x21, 0x62, 0x57, 0x5D, 0x6E, 0xE3, 0xA7, 0x79, 0xF0, 0x1F, 0xC2, 0x5E, 0x37, 0xCC, - 0xCC, 0xE3, 0x1A, 0x68, 0x93, 0xCB, 0x56, 0x7C, 0x54, 0x44, 0x05, 0x66, 0xCB, 0xC5, 0xFE, 0xC1, 0x8A, 0x5A, 0x3E, 0xBB, 0xBA, - 0xEA, 0xFD, 0x01, 0x63, 0x1A, 0xF4, 0x68, 0x55, 0x04, 0x75, 0x8C, 0x9D, 0x0D, 0x1D, 0x22, 0x42, 0x26, 0x2F, 0x71, 0x59, 0x0A, - 0x83, 0x84, 0x55, 0x3A, 0x06, 0xF9, 0x01, 0x49, 0x7A, 0x95, 0x01, 0x43, 0x83, 0xF5, 0x3E, 0x6A, 0xB0, 0xEF, 0xEF, 0xB6, 0xF3, - 0xD7, 0x5F, 0xDF, 0xA5, 0x74, 0xDC, 0xF3, 0x6C, 0x08, 0x70, 0x03, 0x6F, 0x44, 0x0B, 0xAF, 0xBF, 0x82, 0x4D, 0x8B, 0xC1, 0xEC, - 0x56, 0xD1, 0x21, 0x84, 0x86, 0x27, 0x6A, 0x7F, 0x0C, 0x87, 0x44, 0x85, 0xD5, 0xDA, 0x52, 0xE6, 0x88, 0x1C, 0x4D, 0xD6, 0xBB, - 0x79, 0x36, 0xDA, 0xB1, 0x5B, 0x14, 0xB1, 0x03, 0xEB, 0xF7, 0x6D, 0xE2, 0x84, 0xA2, 0x32, 0x07, 0x22, 0xCD, 0x86, 0x82, 0x2E, - 0x40, 0xEF, 0x1F, 0x6A, 0xCA, 0x4B, 0xF1, 0x73, 0xB2, 0xEF, 0xF1, 0xF3, 0xC7, 0xEF, 0x70, 0xF4, 0x95, 0x3E, 0xB9, 0x88, 0xF6, - 0x9C, 0xB6, 0xBE, 0xA5, 0x1A, 0xD0, 0xD8, 0x05, 0x36, 0x46, 0xBB, 0xFC, 0x5D, 0xE4, 0xE0, 0x5D, 0xAC, 0x9C, 0x54, 0xB9, 0x43, - 0x89, 0xA9, 0x74, 0x1F, 0xDF, 0xD8, 0x9F, 0x6A, 0x41, 0x04, 0x6A, 0xC7, 0x1A, 0xC8, 0x48, 0x12, 0x7E, 0xA0, 0xB1, 0xBB, 0xB4, - 0xE8, 0x85, 0x7C, 0x64, 0x5C, 0x3E, 0xAA, 0xC2, 0xDE, 0x00, 0x33, 0x2D, 0xE4, 0x63, 0x37, 0x25, 0x75, 0x49, 0x7C, 0xB6, 0x5D, - 0xB4, 0x85, 0x78, 0x28, 0xB8, 0xB2, 0x8F, 0xCE, 0x05, 0x82, 0x60, 0x21, 0xF3, 0xB2, 0x90, 0x67, 0x99, 0x30, 0x0A, 0xDC, 0xE4, - 0x59, 0x94, 0xEF, 0x1C, 0x8B, 0xB7, 0x94, 0x53, 0x7D, 0x17, 0x96, 0x35, 0x9C, 0x17, 0xF5, 0x8B, 0xCF, 0x1C, 0xEE, 0x58, 0xF7, - 0xA4, 0xA8, 0x68, 0xE2, 0x6C, 0x36, 0xE6, 0x73, 0x41, 0x8D, 0x8F, 0x6B, 0x83, 0xAA, 0x2C, 0x8D, 0x2C, 0xFF, 0xD0, 0xE4, 0x52, - 0x2B, 0x45, 0x11, 0xB2, 0x80, 0x70, 0xF3, 0x93, 0x96, 0x66, 0x34, 0xBF, 0xAD, 0xCB, 0x35, 0x5A, 0xF2, 0xB1, 0x3B, 0x43, 0x2F, - 0xFB, 0x72, 0x7F, 0x6F, 0x13, 0xBF, 0xD2, 0x05, 0x4F, 0xAE, 0x8A, 0x65, 0x66, 0x96, 0x2D, 0xA0, 0x99, 0x39, 0x4A, 0x54, 0x13, - 0x23, 0x31, 0xF3, 0x70, 0x6F, 0x08, 0xC6, 0xD5, 0xDE, 0xF6, 0x0D, 0x28, 0x70, 0x8C, 0x68, 0xB5, 0x60, 0xAB, 0xE4, 0xCE, 0x1C, - 0x92, 0x61, 0xE5, 0xE1, 0x30, 0xEB, 0x86, 0xC3, 0x3C, 0x92, 0xAD, 0x55, 0xED, 0x35, 0x40, 0xF9, 0x81, 0x9C, 0xC7, 0x9C, 0xA2, - 0x3A, 0xE8, 0x0D, 0x4D, 0x0A, 0x9A, 0xF8, 0xC7, 0x44, 0x81, 0xB1, 0x4F, 0xE7, 0x2E, 0xD8, 0x96, 0x49, 0x9A, 0x14, 0x96, 0xF8, - 0x58, 0xB1, 0x42, 0x21, 0x7C, 0xA2, 0xD5, 0xBA, 0x17, 0xA9, 0x20, 0x70, 0xD1, 0x45, 0x40, 0x37, 0x56, 0x19, 0xBA, 0xC3, 0x2F, - 0xD1, 0xD9, 0x08, 0x04, 0x3B, 0x2E, 0x2B, 0xE4, 0x6D, 0x21, 0x12, 0x33, 0x01, 0xA1, 0xA1, 0x3C, 0x2E, 0xF6, 0xF8, 0x94, 0x86, - 0x96, 0xC4, 0x64, 0xDE, 0xE0, 0xF4, 0x9F, 0x71, 0x03, 0x63, 0xFE, 0x84, 0x1E, 0x61, 0x2B, 0x0F, 0xB1, 0x75, 0xA6, 0xF8, 0x3A, - 0x4E, 0x6F, 0x94, 0x81, 0x13, 0xAD, 0x3E, 0xAD, 0x6C, 0x53, 0xA2, 0x4D, 0x37, 0xC7, 0x0C, 0x32, 0x45, 0x80, 0x08, 0x56, 0xB4, - 0xBD, 0x56, 0x1B, 0xBE, 0x31, 0x18, 0x50, 0x2F, 0x80, 0x1F, 0xAF, 0x28, 0x03, 0x51, 0xA2, 0x45, 0xC8, 0xB9, 0x52, 0x22, 0xAE, - 0x37, 0x4B, 0x75, 0x55, 0x22, 0x2B, 0xA4, 0xF8, 0xAF, 0x14, 0x07, 0x58, 0xBE, 0x24, 0xD4, 0x6F, 0xC2, 0xE5, 0x53, 0x17, 0xCE, - 0xAB, 0xE7, 0x5A, 0xA6, 0xB1, 0x49, 0x17, 0xDB, 0x6E, 0x6B, 0xD6, 0x5B, 0x43, 0xD2, 0x44, 0xB8, 0xEC, 0xC3, 0x18, 0x69, 0xC9, - 0x95, 0x21, 0x02, 0x4C, 0x56, 0x4B, 0xFD, 0xFC, 0xCD, 0xE6, 0xC2, 0xC5, 0x41, 0xEA, 0x8A, 0xDA, 0x48, 0x40, 0x7E, 0xAC, 0xEA, - 0x2B, 0xAC, 0x56, 0x0F, 0xC0, 0x11, 0x2E, 0x1B, 0x2C, 0x98, 0xF0, 0xD0, 0x4C, 0xC0, 0xD8, 0x50, 0x73, 0x03, 0x6D, 0x86, 0xE1, - 0x18, 0x0C, 0xBD, 0xE5, 0x56, 0xAD, 0x41, 0x2C, 0x99, 0xF9, 0x7C, 0x11, 0x47, 0x9C, 0xD5, 0x2B, 0x7A, 0x3E, 0x91, 0x53, 0xF4, - 0x6A, 0x18, 0x08, 0xC1, 0xB4, 0xBC, 0x1A, 0xC0, 0x86, 0x52, 0xEA, 0x53, 0x30, 0xCC, 0x55, 0x0B, 0x56, 0xD8, 0x50, 0x62, 0xCE, - 0x07, 0xF9, 0x69, 0x81, 0x54, 0x52, 0xB6, 0x3E, 0x8A, 0xB1, 0x72, 0xFE, 0xA7, 0xB2, 0xF2, 0x2C, 0xB8, 0xBA, 0x3A, 0xFF, 0xB2, - 0xE4, 0x5A, 0x4B, 0x2D, 0x17, 0xA4, 0x5F, 0x94, 0x45, 0xD5, 0x8D, 0x6B, 0xB9, 0x51, 0x3C, 0xD9, 0x2C, 0x54, 0x34, 0x1B, 0x06, - 0xAD, 0x8C, 0x43, 0x3F, 0x24, 0xE8, 0x3F, 0x3F, 0x60, 0x07, 0x8F, 0x15, 0xEA, 0x28, 0x05, 0x0D, 0x0B, 0xDF, 0x26, 0x8D, 0x85, - 0x5F, 0x01, 0xDA, 0x0F, 0xEF, 0xBD, 0x34, 0xD6, 0x91, 0x39, 0x71, 0x72, 0xDE, 0x46, 0x7A, 0xE4, 0x4F, 0xF6, 0x4C, 0x23, 0x6F, - 0x0F, 0x0E, 0x9D, 0x14, 0x65, 0xAC, 0x55, 0xDD, 0x1C, 0x4E, 0x1E, 0x9F, 0x1B, 0x16, 0x7B, 0xE5, 0xA5, 0xFC, 0x74, 0xF2, 0x23, - 0x3A, 0x25, 0x96, 0x2D, 0x86, 0x42, 0x35, 0xF9, 0x52, 0x6B, 0xAE, 0xB4, 0x32, 0xD9, 0x9D, 0xCF, 0xA6, 0xE5, 0xC9, 0x70, 0xB6, - 0xC5, 0x3F, 0x83, 0xD9, 0xD5, 0xD5, 0x05, 0x7D, 0xF5, 0xE1, 0xAB, 0x77, 0x46, 0x9F, 0x3D, 0xF8, 0xEC, 0xF3, 0x59, 0x31, 0xF5, - 0x7C, 0x6B, 0xBC, 0xED, 0x8B, 0x57, 0xCE, 0x01, 0x87, 0x17, 0x4A, 0x24, 0xE1, 0x8B, 0x6E, 0xE5, 0xCB, 0xE1, 0x28, 0x5E, 0xD8, - 0x8E, 0x86, 0x41, 0xD8, 0x90, 0x1E, 0xEC, 0x14, 0x1B, 0x58, 0xF8, 0x78, 0x9A, 0x60, 0xA8, 0xB3, 0x64, 0x47, 0x77, 0x89, 0x90, - 0x42, 0xFD, 0xDD, 0x6E, 0x1D, 0x79, 0x58, 0xC7, 0x6A, 0x46, 0xA8, 0x90, 0xFE, 0x26, 0x1A, 0xF6, 0x5F, 0x0E, 0x5F, 0x9E, 0x9D, - 0xF7, 0x5F, 0x8E, 0x42, 0x83, 0x53, 0xC1, 0x20, 0x37, 0x51, 0x33, 0xB5, 0x1E, 0x30, 0x3F, 0x9B, 0x4B, 0xDE, 0xC6, 0x66, 0xDF, - 0x74, 0x7F, 0xBE, 0xA6, 0x7A, 0x07, 0x2E, 0xA0, 0x43, 0xDA, 0xEA, 0xF7, 0x9E, 0xDF, 0xD6, 0x68, 0x3F, 0x0F, 0x38, 0xA8, 0x29, - 0x4D, 0x57, 0xD1, 0x28, 0xA8, 0x52, 0x96, 0xDA, 0x43, 0x65, 0x7A, 0x28, 0x68, 0xAD, 0xD7, 0x55, 0xC4, 0xB6, 0xD9, 0xD9, 0xC4, - 0x52, 0x51, 0x9D, 0xD5, 0x46, 0xD2, 0xDD, 0x9A, 0x72, 0x32, 0xEC, 0x52, 0xF3, 0x3D, 0x0A, 0xB7, 0x25, 0xC2, 0xC9, 0x2A, 0xEA, - 0xA6, 0x1F, 0x1A, 0x80, 0xFE, 0x38, 0xF1, 0x7B, 0xC7, 0x2C, 0xD8, 0x76, 0xED, 0x86, 0x6C, 0x05, 0x55, 0x77, 0x2E, 0xBD, 0x51, - 0xDD, 0xDD, 0xD7, 0x74, 0x53, 0x7B, 0xC5, 0x0D, 0x1B, 0x56, 0xDC, 0x50, 0x81, 0xD4, 0xB0, 0xA6, 0x2A, 0x83, 0xFC, 0xDB, 0xDD, - 0x74, 0xB7, 0x07, 0x75, 0x54, 0xD1, 0x3E, 0x0F, 0xEE, 0x45, 0x6C, 0xD9, 0x42, 0x97, 0x04, 0x5E, 0xB0, 0x10, 0x6A, 0x69, 0xBD, - 0x53, 0x5B, 0x89, 0xE6, 0x50, 0xC0, 0x36, 0x68, 0x81, 0x51, 0xD5, 0x5C, 0x0F, 0x63, 0x63, 0x4E, 0x38, 0xA4, 0x4A, 0x7B, 0x10, - 0x20, 0x17, 0x55, 0x40, 0x2A, 0x5A, 0xA8, 0x93, 0xB8, 0xD4, 0xA5, 0xD3, 0xAC, 0x90, 0x2A, 0x02, 0x36, 0x46, 0x7B, 0x5F, 0xDE, - 0x00, 0x2A, 0x73, 0x74, 0xCE, 0xC2, 0xCA, 0x09, 0xAD, 0x00, 0x38, 0x98, 0xC8, 0x2F, 0x71, 0x2A, 0x89, 0x22, 0xF5, 0xB8, 0xC4, - 0x7B, 0x23, 0x24, 0x4E, 0xA9, 0x5C, 0x43, 0xFE, 0xF7, 0xBB, 0x52, 0x75, 0xA4, 0x2A, 0xDA, 0x0B, 0x90, 0x63, 0x80, 0x6E, 0x29, - 0xCC, 0xF7, 0xA8, 0xAD, 0xD6, 0x40, 0x09, 0x09, 0x7A, 0x11, 0x15, 0x84, 0x57, 0xD8, 0x9D, 0x50, 0x56, 0x10, 0x27, 0xB0, 0x95, - 0xD6, 0x3E, 0x24, 0x76, 0x74, 0x56, 0x3C, 0xFE, 0xAD, 0xC5, 0x8E, 0xB2, 0x27, 0x95, 0x35, 0x63, 0xCA, 0x40, 0x11, 0xDF, 0xD1, - 0x17, 0xD9, 0x21, 0xDB, 0xF8, 0x8E, 0x22, 0xDE, 0x02, 0xDF, 0xBC, 0x70, 0x4B, 0x61, 0xB6, 0x8B, 0x56, 0x15, 0xFE, 0xDA, 0xA9, - 0x28, 0x8F, 0x84, 0x8B, 0x5F, 0x18, 0xA0, 0xB7, 0xD5, 0xE5, 0xF8, 0xC5, 0xA2, 0x80, 0x1A, 0x0A, 0xC0, 0x7B, 0x49, 0x19, 0x3D, - 0x23, 0xE3, 0xC2, 0xCA, 0xE9, 0x1B, 0x39, 0x16, 0x05, 0x59, 0xA5, 0x06, 0x63, 0x12, 0x58, 0x86, 0x47, 0x20, 0x7E, 0x44, 0x82, - 0xE5, 0xEB, 0x82, 0x81, 0x6A, 0x82, 0x1C, 0x68, 0x99, 0x55, 0x75, 0x64, 0x74, 0x30, 0x94, 0x39, 0xD2, 0x83, 0xD6, 0x29, 0x7F, - 0xDC, 0x27, 0x39, 0xA3, 0xB3, 0xDB, 0x16, 0x1D, 0x23, 0xB6, 0x62, 0x54, 0xA1, 0x96, 0xA0, 0xCF, 0xCA, 0x90, 0x7E, 0xB8, 0x4E, - 0x76, 0x15, 0x44, 0xED, 0x51, 0x0B, 0x2D, 0x41, 0xC0, 0x56, 0x0B, 0x65, 0x58, 0x52, 0x1E, 0x1E, 0xCA, 0xC3, 0x9B, 0x6B, 0x20, - 0xF0, 0x8C, 0x3D, 0x19, 0x09, 0xCA, 0xBB, 0x4C, 0x79, 0xF4, 0x27, 0xD3, 0x28, 0x1D, 0x3E, 0x92, 0x4D, 0xD2, 0x71, 0xE2, 0x71, - 0x6B, 0x78, 0x38, 0x4F, 0xCB, 0x99, 0x7F, 0x84, 0xE1, 0x9E, 0x36, 0x07, 0x97, 0x46, 0x43, 0x4A, 0x71, 0x48, 0xE9, 0xCE, 0x5F, - 0x7F, 0x7D, 0xCB, 0xAD, 0x42, 0xBA, 0x1B, 0x61, 0xB7, 0x73, 0xD4, 0x5C, 0x3B, 0xFB, 0x79, 0x46, 0xF9, 0x1E, 0x85, 0xEE, 0xFC, - 0x7F, 0x17, 0x16, 0xE8, 0x17, 0x8C, 0x18, 0xA5, 0xE3, 0x02, 0x0D, 0xF7, 0xC4, 0x05, 0x72, 0x28, 0x9C, 0x78, 0x59, 0xD2, 0xF6, - 0x3C, 0x09, 0x6B, 0x61, 0x83, 0xB4, 0x1B, 0xA5, 0xC3, 0x27, 0xA5, 0xEE, 0xBC, 0x44, 0x2E, 0x9C, 0xE4, 0x5F, 0x6D, 0x46, 0x42, - 0xE0, 0x4E, 0xB1, 0x32, 0x10, 0x42, 0x0A, 0xFC, 0x24, 0x02, 0x0D, 0x7F, 0x3A, 0x93, 0x21, 0x0B, 0xD0, 0xED, 0x93, 0xBB, 0xBE, - 0xCA, 0x34, 0x15, 0xD8, 0x60, 0x67, 0x1A, 0x14, 0x44, 0x48, 0x5D, 0x71, 0x07, 0x48, 0xC7, 0xF8, 0xE2, 0x3E, 0x3D, 0x46, 0x3B, - 0xDA, 0x66, 0x59, 0x06, 0x56, 0x06, 0xCC, 0x9A, 0xF2, 0xBD, 0x90, 0x0D, 0x89, 0x48, 0xC5, 0x76, 0xA9, 0x3D, 0xB1, 0x7F, 0x0C, - 0xE1, 0x9B, 0x07, 0xFF, 0xA1, 0x11, 0x35, 0x5C, 0xB3, 0xFB, 0x97, 0x46, 0xF4, 0x21, 0x40, 0x64, 0x22, 0x01, 0x75, 0xC0, 0x5D, - 0xB0, 0xE6, 0x48, 0x3B, 0x2E, 0x8F, 0xBF, 0xB4, 0x69, 0xD2, 0x0D, 0x87, 0x3F, 0x7E, 0x8F, 0x58, 0x8B, 0x71, 0x2A, 0xA4, 0x42, - 0xC5, 0xE7, 0xAF, 0x96, 0xAE, 0x22, 0x4C, 0x07, 0xC6, 0x18, 0xF8, 0x85, 0x71, 0x26, 0xE3, 0x41, 0x54, 0x28, 0x46, 0xE4, 0xA2, - 0xF3, 0x9E, 0xB8, 0x0C, 0x4A, 0xB4, 0x1B, 0x1B, 0x26, 0xD4, 0x83, 0x82, 0xC0, 0x7C, 0xFA, 0x28, 0x0D, 0x77, 0x10, 0x13, 0x2E, - 0xE9, 0xDB, 0x24, 0xBC, 0x53, 0xD5, 0x9D, 0xE4, 0xE7, 0x78, 0x38, 0xD6, 0x1A, 0x45, 0x0F, 0x2E, 0x12, 0x29, 0x7A, 0x41, 0xE8, - 0xCB, 0x2B, 0x62, 0x84, 0x24, 0xD5, 0x1D, 0xC7, 0x13, 0x3A, 0x51, 0xC9, 0x88, 0x07, 0x94, 0x6F, 0xD6, 0x64, 0xB5, 0x7B, 0xB3, - 0x36, 0x8A, 0xEA, 0x81, 0x31, 0x92, 0x6A, 0xAE, 0xC9, 0x26, 0xB4, 0x93, 0x21, 0x5F, 0x89, 0x46, 0xAF, 0xC6, 0x32, 0x94, 0xF1, - 0x3C, 0xC9, 0x3D, 0x4C, 0x17, 0xC1, 0xA5, 0x76, 0x99, 0x03, 0x6F, 0xC9, 0x05, 0x50, 0xC7, 0xC7, 0x7E, 0x6E, 0x4D, 0xA5, 0x7B, - 0xC6, 0x73, 0xD0, 0x63, 0xA5, 0xE4, 0x50, 0x01, 0xDE, 0x11, 0x30, 0xC3, 0x74, 0x53, 0x47, 0xFF, 0x92, 0x5A, 0x9B, 0xC6, 0x4D, - 0x00, 0xBF, 0x3E, 0x99, 0xD3, 0x7C, 0x16, 0xE8, 0xB8, 0x20, 0xD5, 0x18, 0x20, 0x30, 0xC1, 0x8E, 0xFE, 0x2D, 0x0C, 0x21, 0x88, - 0x0B, 0xB7, 0x71, 0x58, 0xBF, 0xA1, 0xA0, 0x62, 0xED, 0xAB, 0xB7, 0x14, 0x38, 0x3E, 0xAB, 0xE9, 0xDC, 0x6B, 0x31, 0x52, 0xC9, - 0xE4, 0x9D, 0x58, 0x8B, 0x63, 0x48, 0xFB, 0x50, 0x56, 0xB9, 0x17, 0xE4, 0xBE, 0xC0, 0x53, 0xF8, 0x39, 0x9E, 0xBE, 0x36, 0x05, - 0x24, 0xC6, 0x8B, 0x3D, 0x78, 0x9D, 0x21, 0x33, 0xA3, 0x2D, 0xE2, 0x92, 0x2B, 0x74, 0xE2, 0x1B, 0x99, 0x88, 0xDB, 0xE1, 0xC1, - 0xFB, 0x61, 0xAA, 0xF6, 0xC3, 0x5E, 0x60, 0x45, 0xB3, 0xAE, 0xDE, 0x2E, 0xA8, 0x3F, 0x3D, 0x41, 0xB3, 0x68, 0x45, 0x74, 0x04, - 0x4C, 0x4F, 0x4B, 0x0A, 0xEA, 0xC8, 0xF8, 0xDF, 0x5D, 0xBA, 0xC7, 0xDC, 0x49, 0x53, 0xCC, 0xC3, 0xD7, 0x8B, 0x3D, 0x97, 0x7B, - 0x08, 0x90, 0x6D, 0xA7, 0xEA, 0xDD, 0x5B, 0xAF, 0xC3, 0x8B, 0x09, 0x27, 0x3D, 0x59, 0xEB, 0x5B, 0x3C, 0x9E, 0x48, 0x4A, 0xD6, - 0x10, 0x9D, 0xBF, 0x56, 0x5D, 0x95, 0x57, 0xED, 0xF0, 0x13, 0xAD, 0x27, 0xE0, 0x95, 0xC7, 0x5E, 0x46, 0x0D, 0x57, 0xCF, 0xCD, - 0x55, 0x8D, 0x7E, 0xA9, 0x8D, 0x8F, 0x2C, 0x4F, 0x96, 0x0F, 0x4F, 0x54, 0xE5, 0x85, 0x44, 0x0D, 0xDC, 0x19, 0x9B, 0xC3, 0xFD, - 0x1A, 0xB5, 0x74, 0x41, 0x51, 0xD3, 0xF1, 0xD4, 0x87, 0x1B, 0x45, 0x6A, 0xB7, 0x93, 0xB8, 0xD9, 0x17, 0xE5, 0x67, 0x4F, 0x75, - 0x5A, 0x81, 0x95, 0xA8, 0x97, 0xCF, 0x10, 0xD9, 0x6C, 0x30, 0x75, 0xD8, 0x3F, 0xF7, 0x92, 0x3D, 0xE9, 0xD1, 0xBD, 0x97, 0x30, - 0x8D, 0xFA, 0x20, 0x89, 0x1D, 0x75, 0xB9, 0xD7, 0x4C, 0xEA, 0x58, 0xC2, 0x39, 0xBD, 0x87, 0x62, 0x2C, 0xE2, 0xD4, 0x58, 0xC4, - 0xD8, 0x81, 0x08, 0xC7, 0x6D, 0x84, 0x76, 0x49, 0xC3, 0x02, 0x46, 0x8A, 0x8F, 0x9A, 0x54, 0x36, 0xAF, 0x0C, 0xCD, 0xB1, 0x19, - 0x86, 0x49, 0x60, 0x01, 0x2E, 0x0F, 0x1E, 0x06, 0x5F, 0x2F, 0x9E, 0xFD, 0xF0, 0x56, 0xD6, 0x92, 0x74, 0x16, 0xD1, 0x90, 0xE5, - 0x18, 0x0D, 0x26, 0x5E, 0xAF, 0x57, 0x0F, 0xFC, 0xF9, 0x1D, 0x98, 0x8E, 0xDD, 0x25, 0xC6, 0x42, 0x66, 0x22, 0xB5, 0x14, 0x11, - 0xD7, 0x40, 0x4D, 0x55, 0x91, 0x8D, 0x31, 0xF2, 0x3E, 0x81, 0x84, 0x00, 0xA1, 0x94, 0x6C, 0xE1, 0x9C, 0x3F, 0x95, 0x25, 0xDF, - 0x8D, 0x0A, 0xDF, 0xBD, 0xBB, 0x67, 0xD7, 0xE8, 0x22, 0xF7, 0x4E, 0x44, 0x86, 0x78, 0xF7, 0xAE, 0x32, 0x21, 0x8A, 0x39, 0xC8, - 0x40, 0xBE, 0xBC, 0x05, 0x94, 0x34, 0x75, 0x5C, 0x66, 0x48, 0x8B, 0xF0, 0xFD, 0x15, 0xDF, 0xA3, 0x32, 0x9E, 0x7A, 0x6C, 0xE3, - 0xF4, 0x8F, 0x53, 0x8C, 0x6C, 0xE8, 0x05, 0x81, 0x59, 0x0F, 0xF7, 0x65, 0xF8, 0x09, 0x80, 0xC2, 0xBF, 0xEA, 0x66, 0x80, 0xC9, - 0x69, 0x20, 0x5D, 0x45, 0x85, 0x96, 0xC6, 0x34, 0x48, 0xD3, 0xA3, 0x94, 0xBA, 0x16, 0x39, 0x90, 0x55, 0xDE, 0xFF, 0x12, 0x90, - 0x3E, 0x41, 0x69, 0x65, 0x47, 0xBA, 0x98, 0x82, 0x52, 0x70, 0x7E, 0xB8, 0x53, 0xDF, 0xE3, 0xA7, 0x90, 0xB0, 0xBD, 0x11, 0xAA, - 0x47, 0x83, 0x40, 0xA0, 0xBC, 0xF3, 0x42, 0xEF, 0xDE, 0x9B, 0x85, 0xF2, 0x7A, 0xCB, 0x3F, 0x38, 0x87, 0xF2, 0x02, 0x50, 0x3E, - 0x41, 0x3A, 0xBA, 0x0F, 0xF0, 0xEB, 0x3E, 0xA2, 0x28, 0xD6, 0xB9, 0xE4, 0x98, 0x90, 0x18, 0xC6, 0x91, 0x2D, 0x78, 0x73, 0x9B, - 0x47, 0xD0, 0x29, 0xA0, 0x6B, 0xDF, 0xF1, 0x70, 0x09, 0xDE, 0xB0, 0xEC, 0x5E, 0xCE, 0xAF, 0x62, 0xCD, 0xBB, 0xE7, 0x7C, 0x5D, - 0x6D, 0xA2, 0x78, 0x3A, 0x37, 0xBC, 0xEC, 0xC3, 0x25, 0x34, 0xFD, 0xCE, 0x25, 0x52, 0x6D, 0x82, 0x70, 0x11, 0x6D, 0x1A, 0x2F, - 0x8A, 0x27, 0x13, 0xE1, 0xDD, 0x3A, 0xDE, 0xF0, 0x48, 0x0A, 0xB7, 0xDC, 0xC9, 0x31, 0x99, 0x4F, 0x17, 0xB3, 0xCB, 0x32, 0x82, - 0xC1, 0xB6, 0xF5, 0xBB, 0x34, 0xFE, 0x46, 0x48, 0x96, 0x1B, 0xBA, 0x60, 0xEC, 0xE7, 0x34, 0xE2, 0x17, 0xC5, 0x11, 0x49, 0x47, - 0xEA, 0xDA, 0xB6, 0x2B, 0x78, 0xD2, 0x5D, 0xF8, 0xE2, 0x7D, 0x00, 0x68, 0x07, 0xEC, 0x8B, 0x46, 0x40, 0x4A, 0x14, 0x08, 0xFE, - 0x60, 0x87, 0x2A, 0x7D, 0x51, 0xC8, 0x0B, 0x71, 0x1F, 0x8C, 0x60, 0xA5, 0x09, 0x55, 0x46, 0xCC, 0x4A, 0x9B, 0xC1, 0x8B, 0x24, - 0x20, 0x2F, 0x01, 0x7D, 0x40, 0x8D, 0x29, 0x2F, 0x0A, 0xFF, 0x43, 0x81, 0x77, 0x2E, 0xBC, 0x10, 0xC0, 0x4D, 0x16, 0x57, 0x57, - 0x83, 0x6D, 0x9F, 0xDB, 0x7E, 0x2F, 0xB6, 0xA9, 0x70, 0x42, 0x9D, 0x6E, 0xB0, 0x2B, 0x44, 0xC6, 0x2C, 0x54, 0x9F, 0x52, 0x81, - 0x8B, 0xA2, 0xE8, 0x76, 0x22, 0xE2, 0xD7, 0x14, 0xD3, 0x17, 0xF8, 0xA0, 0x1B, 0xDF, 0xC1, 0x5E, 0x14, 0x53, 0x6A, 0x7A, 0x16, - 0x2A, 0x18, 0x7A, 0x17, 0x12, 0x86, 0x40, 0x1C, 0xB9, 0xFB, 0xFA, 0xC3, 0x0B, 0x97, 0x14, 0x12, 0xDA, 0xF7, 0x2A, 0x00, 0xAA, - 0x86, 0xCC, 0xB2, 0xBD, 0xB3, 0xED, 0x6D, 0xB8, 0xC0, 0x9B, 0xAC, 0x50, 0x61, 0x87, 0x34, 0x04, 0xFF, 0x04, 0xE3, 0x8D, 0xBE, - 0xA2, 0x5D, 0xC3, 0xF7, 0x0B, 0x25, 0xFE, 0x10, 0x62, 0x4B, 0x8A, 0x0A, 0x22, 0x42, 0x0A, 0xE8, 0x10, 0x3B, 0x22, 0x09, 0x26, - 0x14, 0x47, 0xE5, 0x40, 0x5F, 0x0D, 0x53, 0xC6, 0xDC, 0xF0, 0x89, 0x78, 0x61, 0x4D, 0x84, 0x9C, 0x07, 0x3E, 0x12, 0x42, 0xF5, - 0x42, 0x24, 0xA9, 0xE1, 0x04, 0x63, 0x84, 0xF6, 0xA9, 0x56, 0x4C, 0x8C, 0xA3, 0x64, 0xB5, 0x41, 0x8C, 0xB5, 0x3D, 0x68, 0xD3, - 0x23, 0xBC, 0xDD, 0xD7, 0x11, 0x67, 0xCF, 0xEC, 0x2D, 0x9F, 0x59, 0xEC, 0x5E, 0xE2, 0x0D, 0x7A, 0xDE, 0xA8, 0x20, 0x3A, 0xC7, - 0xC7, 0xCF, 0xA6, 0x51, 0x83, 0x44, 0x9D, 0xE0, 0x35, 0x00, 0xD6, 0x04, 0x95, 0x7A, 0xA9, 0xCF, 0xF7, 0xC4, 0xD7, 0xBD, 0x27, - 0x1C, 0x90, 0x12, 0x1E, 0x36, 0x2A, 0xE5, 0x61, 0xA3, 0x9A, 0xAC, 0x11, 0x89, 0xDE, 0xB2, 0xED, 0xC0, 0x13, 0x37, 0x79, 0xB6, - 0x59, 0x4F, 0x98, 0x93, 0x50, 0x43, 0x13, 0x40, 0x73, 0x7D, 0x78, 0xD8, 0x22, 0xE8, 0x43, 0x02, 0x52, 0x71, 0xC6, 0xA7, 0x7E, - 0xF3, 0xC3, 0x9B, 0x60, 0x7C, 0x40, 0xAB, 0x35, 0xBA, 0xAF, 0x34, 0x2D, 0x48, 0xE9, 0x70, 0xDE, 0x7B, 0xA3, 0x90, 0x32, 0x42, - 0x8B, 0xCF, 0xCD, 0x27, 0x58, 0x7C, 0x6E, 0x2C, 0x8B, 0x0F, 0x62, 0x49, 0x1B, 0x7C, 0xFA, 0x1C, 0xC5, 0xBD, 0x2E, 0x0F, 0xD4, - 0x35, 0xE4, 0x81, 0xBA, 0x60, 0x01, 0xD3, 0x3D, 0xF6, 0xDE, 0x4B, 0x58, 0x3C, 0xF8, 0xB7, 0x87, 0xCC, 0x34, 0xF7, 0x5F, 0x22, - 0xDF, 0xCC, 0x7D, 0xC8, 0xBD, 0xE5, 0x37, 0x03, 0xF0, 0x41, 0x8E, 0x1E, 0x4C, 0xD3, 0x1A, 0x9B, 0x82, 0x42, 0x0F, 0xF8, 0x17, - 0xDA, 0xFC, 0x88, 0x7F, 0x07, 0x41, 0x78, 0x87, 0x7F, 0x87, 0xC6, 0xFC, 0xDD, 0xEC, 0xBB, 0xA7, 0xCE, 0x59, 0xB5, 0x8A, 0x09, - 0x4D, 0xEA, 0x5D, 0x61, 0x79, 0x28, 0xAB, 0xD8, 0x48, 0x76, 0x72, 0x2D, 0xDE, 0x33, 0x26, 0x12, 0x25, 0xD8, 0x97, 0xDE, 0x97, - 0xFA, 0xF9, 0x2B, 0x23, 0x7A, 0x92, 0x69, 0x3E, 0x32, 0x92, 0x79, 0xF7, 0xB5, 0x64, 0x42, 0xA9, 0x7D, 0x63, 0xFE, 0xDA, 0xBE, - 0x31, 0x6F, 0xF4, 0x62, 0xEF, 0x3F, 0xF8, 0xB3, 0xD6, 0xAA, 0xB8, 0x84, 0x28, 0x45, 0x7A, 0xFD, 0x9B, 0x8B, 0xDA, 0xFA, 0x37, - 0x97, 0x9F, 0x43, 0xD6, 0x18, 0x93, 0xF3, 0xC6, 0xB4, 0xA3, 0x6A, 0x20, 0x6A, 0xA1, 0x34, 0xD5, 0x1D, 0x25, 0x5D, 0xC6, 0xF6, - 0xA9, 0xD3, 0xE9, 0x97, 0x35, 0xBC, 0x89, 0x6B, 0x16, 0xEE, 0xF0, 0xF6, 0x62, 0x06, 0x83, 0xEA, 0x2D, 0x39, 0x43, 0x7D, 0x37, - 0x8A, 0x4D, 0x51, 0x0B, 0x9D, 0xC1, 0xAE, 0x96, 0xC3, 0xE2, 0xB8, 0x74, 0x40, 0x85, 0x6C, 0x6D, 0x5F, 0x24, 0xE0, 0xC4, 0x11, - 0x09, 0xD8, 0xAE, 0x5E, 0xF1, 0xE8, 0x33, 0x32, 0x71, 0x05, 0xEA, 0x99, 0xA9, 0xE1, 0xC8, 0x51, 0xCB, 0xBE, 0x6E, 0x6F, 0x4E, - 0xEB, 0xAD, 0x7D, 0xDD, 0x5E, 0x20, 0x01, 0x17, 0xB9, 0x31, 0xDB, 0xFB, 0xBB, 0x30, 0x0A, 0xAA, 0x2E, 0x4C, 0x52, 0xA9, 0x74, - 0xC1, 0xB3, 0xA8, 0x0B, 0xA4, 0xC7, 0xFD, 0x6D, 0x63, 0x09, 0xD9, 0x28, 0x67, 0x08, 0x1D, 0x90, 0xD9, 0x18, 0x2A, 0xF5, 0xDF, - 0x18, 0x47, 0x48, 0x84, 0x44, 0x1F, 0x63, 0xD4, 0x17, 0x66, 0x63, 0x86, 0x27, 0xA6, 0x22, 0x2F, 0x3B, 0x64, 0xE8, 0x06, 0x23, - 0x5E, 0x1A, 0xB9, 0xA4, 0x2E, 0x6C, 0x6C, 0x1E, 0x04, 0x32, 0x94, 0xB0, 0xF6, 0x9B, 0xCF, 0xA4, 0x95, 0xFA, 0x5D, 0x37, 0xB3, - 0x79, 0x91, 0x42, 0xDC, 0x41, 0x55, 0x83, 0x7D, 0x46, 0xC6, 0x00, 0x15, 0x8B, 0x90, 0x19, 0x77, 0x53, 0x9F, 0xB2, 0xC9, 0xD4, - 0x26, 0x0D, 0x94, 0x12, 0xE3, 0x3E, 0x26, 0xE7, 0xB1, 0x82, 0xB6, 0x8D, 0xD6, 0x8C, 0x29, 0xB0, 0x62, 0x3D, 0x4C, 0x6B, 0x33, - 0x64, 0xB5, 0x27, 0xAE, 0x49, 0xD3, 0xAC, 0xDC, 0x5A, 0x46, 0x0F, 0x67, 0x3D, 0xFA, 0xC9, 0xAD, 0x21, 0xB7, 0x96, 0x35, 0x64, - 0x4F, 0xE9, 0x1D, 0xDA, 0xBC, 0x9A, 0x38, 0x81, 0x89, 0xE3, 0x84, 0x07, 0xB9, 0x75, 0xCE, 0x79, 0xA3, 0x64, 0x7F, 0x6B, 0x48, - 0xF6, 0x6B, 0x25, 0xD5, 0x07, 0x2A, 0x50, 0x89, 0x13, 0xCB, 0x09, 0x5A, 0xBE, 0x6C, 0x8E, 0x87, 0x2B, 0x98, 0xA4, 0x62, 0x94, - 0x1C, 0x61, 0x30, 0x2F, 0x90, 0xBB, 0x7B, 0x30, 0xA9, 0x4A, 0x78, 0x16, 0x61, 0x7A, 0x83, 0x71, 0xA9, 0x44, 0x3A, 0x12, 0x4F, - 0x44, 0xE9, 0xE9, 0xCC, 0x59, 0xFA, 0x52, 0xCB, 0x0F, 0xC0, 0x37, 0xD6, 0x41, 0x83, 0xD0, 0xBC, 0x76, 0xCB, 0xCC, 0x58, 0x45, - 0xC8, 0x9A, 0x5C, 0x00, 0x22, 0xE5, 0x84, 0xEC, 0x3F, 0x3C, 0x35, 0x92, 0xD9, 0xE8, 0x23, 0x77, 0xF3, 0x74, 0x08, 0xFF, 0x1B, - 0x2B, 0xD8, 0xC9, 0x65, 0x6E, 0xEE, 0x53, 0xA5, 0xF1, 0x23, 0x74, 0xC6, 0xED, 0x57, 0x64, 0xBC, 0xB1, 0x19, 0xAA, 0xE2, 0xA6, - 0xF8, 0x4A, 0xE0, 0xF2, 0x6A, 0xA3, 0x87, 0xB0, 0x0C, 0xF2, 0x86, 0xD8, 0x17, 0xD3, 0xCD, 0x74, 0x39, 0x9B, 0x49, 0xE1, 0xDD, - 0x8C, 0x5A, 0x51, 0x18, 0x51, 0x2B, 0xB0, 0x50, 0x68, 0x57, 0xE1, 0x21, 0x5C, 0x4B, 0xC9, 0x59, 0x10, 0xA4, 0x2A, 0x38, 0x22, - 0xAB, 0x19, 0x1C, 0x1D, 0x3C, 0x43, 0xF6, 0xC0, 0xAB, 0xD8, 0x3D, 0x88, 0x9B, 0xF4, 0xAE, 0x1E, 0x44, 0x96, 0xAB, 0x07, 0xC2, - 0xF6, 0x42, 0x85, 0x47, 0xE0, 0x4D, 0x5E, 0x56, 0xD1, 0xB0, 0xC0, 0x50, 0x1D, 0xAE, 0x08, 0x1F, 0x0B, 0x19, 0x1B, 0xE4, 0xC6, - 0x99, 0x29, 0x62, 0x83, 0xB8, 0x02, 0x87, 0x2C, 0x54, 0x6C, 0x90, 0xB9, 0xCE, 0x4D, 0xAA, 0xC8, 0x5C, 0x18, 0x37, 0xCE, 0x8D, - 0x09, 0x47, 0x63, 0xAF, 0xFE, 0xA5, 0xAE, 0xE0, 0xFB, 0x8D, 0x14, 0x82, 0xEF, 0xB1, 0x19, 0x4F, 0x26, 0x54, 0xDF, 0x4B, 0xA0, - 0xAA, 0x0E, 0x12, 0xC2, 0x6A, 0x24, 0xEF, 0x50, 0x01, 0x2E, 0xF9, 0x10, 0xB7, 0x94, 0xC7, 0x35, 0x94, 0x2E, 0xCF, 0xC4, 0xF4, - 0xF1, 0x12, 0x5E, 0x87, 0xBF, 0x39, 0xE4, 0x80, 0x29, 0xA9, 0x15, 0xB2, 0xCC, 0xD3, 0xC0, 0x32, 0x0E, 0x39, 0x82, 0xBA, 0x75, - 0x1F, 0x41, 0xE1, 0x40, 0x55, 0xB0, 0x64, 0x19, 0xCD, 0x90, 0x93, 0x8E, 0x17, 0x26, 0x66, 0x98, 0x20, 0xBF, 0xCA, 0x95, 0xB1, - 0x6F, 0x7E, 0xB0, 0xE2, 0x2E, 0x6A, 0x32, 0xAA, 0x65, 0xB2, 0x42, 0xA6, 0xEA, 0xD7, 0x0D, 0x8E, 0x47, 0xAC, 0x12, 0x31, 0x70, - 0x87, 0x1B, 0x53, 0x40, 0x0F, 0x8A, 0x78, 0x7A, 0x72, 0xBC, 0xAA, 0x10, 0x2A, 0x0E, 0x48, 0x6A, 0x33, 0x3C, 0xA9, 0x24, 0xAB, - 0x87, 0x2B, 0x3E, 0xC7, 0xE3, 0x18, 0x34, 0xBB, 0x9E, 0x21, 0xE3, 0x6A, 0x9C, 0xC9, 0x90, 0x3C, 0x84, 0x51, 0x19, 0x08, 0xA4, - 0xF6, 0xA8, 0x46, 0xDE, 0x74, 0x90, 0x77, 0x63, 0x9D, 0x72, 0x1D, 0x10, 0x18, 0xC1, 0xC0, 0xAE, 0x2B, 0x30, 0x82, 0x1D, 0xF3, - 0xC0, 0x90, 0xFF, 0x8C, 0x09, 0xE4, 0x97, 0x76, 0xA9, 0x6E, 0x6E, 0xD8, 0x36, 0xDD, 0xF1, 0x12, 0x1C, 0x81, 0xCF, 0x00, 0x40, - 0x2B, 0xF6, 0x99, 0x39, 0x86, 0x7D, 0xA1, 0x77, 0xA4, 0x08, 0x3A, 0x13, 0x41, 0x03, 0x39, 0x48, 0xE6, 0x89, 0x97, 0x91, 0xB9, - 0x3F, 0x4E, 0xCF, 0xCD, 0xFE, 0xF3, 0x4F, 0x3E, 0x51, 0x3A, 0xD6, 0xCC, 0x27, 0x05, 0x88, 0xA9, 0xFA, 0x94, 0xAB, 0xF8, 0xE3, - 0x91, 0x0E, 0xB2, 0xE3, 0x94, 0xEC, 0x27, 0x35, 0xA9, 0x18, 0xDF, 0xF8, 0x9D, 0x8D, 0x0D, 0x24, 0xE8, 0xD4, 0xBD, 0xD2, 0x36, - 0x96, 0xB0, 0x05, 0x6E, 0xE7, 0x0B, 0x24, 0x58, 0xCC, 0xF5, 0x08, 0x89, 0xAC, 0xFE, 0xBC, 0x77, 0x48, 0x5C, 0x28, 0x73, 0x20, - 0xCA, 0xDD, 0x68, 0xE3, 0xF1, 0x71, 0xF5, 0x98, 0x58, 0x12, 0x83, 0x11, 0xDE, 0x46, 0x86, 0x0A, 0xE6, 0x0C, 0xCE, 0x8A, 0x76, - 0x73, 0x2D, 0x68, 0x4D, 0x36, 0x6F, 0x85, 0xFF, 0x99, 0x98, 0x2C, 0x4A, 0x85, 0x8C, 0xE4, 0x9A, 0x2C, 0x46, 0xE1, 0xB1, 0xE8, - 0xAB, 0x21, 0x9C, 0x8E, 0xE8, 0x00, 0xDF, 0x9A, 0xB2, 0x28, 0xAB, 0x72, 0x22, 0x78, 0xF3, 0xE4, 0xA1, 0xF4, 0x61, 0x24, 0x73, - 0x64, 0xE0, 0x40, 0x10, 0xBC, 0x8D, 0x10, 0x0C, 0xE4, 0xF4, 0x37, 0xC3, 0xEB, 0xD8, 0x0D, 0x86, 0x72, 0x22, 0x44, 0x44, 0xB9, - 0x6A, 0xD8, 0x1C, 0x89, 0xE1, 0xEA, 0x10, 0x32, 0xF3, 0x15, 0x19, 0x81, 0x61, 0x07, 0x42, 0x3F, 0x03, 0xBC, 0x76, 0x83, 0x87, - 0xC2, 0xEB, 0x64, 0x53, 0x8E, 0xB3, 0x5C, 0x73, 0xE6, 0x9E, 0x7A, 0x50, 0x25, 0x79, 0xEA, 0x41, 0x15, 0x77, 0x63, 0x4D, 0x0F, - 0xAA, 0x24, 0x4F, 0x3E, 0xA8, 0x62, 0x35, 0xB8, 0xE7, 0xBA, 0x87, 0x74, 0x45, 0x24, 0xE5, 0xB1, 0x5A, 0x0F, 0x74, 0x19, 0x33, - 0x78, 0x4D, 0x7D, 0xE7, 0x10, 0x41, 0xEE, 0x61, 0xDB, 0x98, 0xCE, 0x0E, 0x38, 0x53, 0x2F, 0xF9, 0xA1, 0xFD, 0x7E, 0x35, 0xCE, - 0xB2, 0x04, 0x0A, 0x7B, 0x80, 0x38, 0x8E, 0x15, 0xFB, 0x83, 0xFF, 0xC8, 0x0F, 0x20, 0xC6, 0x8B, 0x90, 0x2C, 0x79, 0xE3, 0x32, - 0xDC, 0x94, 0xC9, 0x6A, 0x7C, 0x2B, 0x57, 0xA6, 0x38, 0x3F, 0x5D, 0xCB, 0xE2, 0xAF, 0x59, 0xBC, 0x80, 0xE2, 0xCB, 0x86, 0xE2, - 0xE2, 0xE0, 0xF3, 0x41, 0x16, 0x77, 0x97, 0x32, 0x0E, 0x3B, 0x3F, 0x9A, 0x07, 0x9A, 0x7B, 0x2B, 0xA9, 0x73, 0xCE, 0x8F, 0xF6, - 0x51, 0xA4, 0xA3, 0x82, 0x50, 0x5F, 0xEF, 0xC4, 0xFB, 0x41, 0xEA, 0xE5, 0xEB, 0xFA, 0x6B, 0x6A, 0xC1, 0xA5, 0x75, 0xF4, 0x5A, - 0x81, 0xAE, 0x06, 0x6D, 0x62, 0xFC, 0xE8, 0x5C, 0xE3, 0x3B, 0x11, 0xF4, 0x7E, 0xBA, 0x02, 0xCD, 0x02, 0xB4, 0x02, 0x76, 0xA2, - 0x3E, 0x65, 0x4D, 0xDB, 0xAF, 0xD0, 0xA4, 0x96, 0x27, 0xCF, 0xCC, 0x89, 0x9C, 0x60, 0x82, 0xAD, 0x53, 0xF3, 0x7A, 0x0B, 0x87, - 0x9C, 0x9F, 0xEB, 0x26, 0x50, 0x48, 0x02, 0x12, 0x9B, 0x94, 0xC2, 0x68, 0x3B, 0x2E, 0xB5, 0xD9, 0xD6, 0x6E, 0xBD, 0x76, 0xAA, - 0xDE, 0x04, 0x9F, 0xBA, 0x50, 0x5A, 0x85, 0xEF, 0x80, 0x53, 0x76, 0x3B, 0xCE, 0x1C, 0xBE, 0xA4, 0x1D, 0x2D, 0xB5, 0x6B, 0x81, - 0x45, 0x9F, 0x3E, 0xEE, 0x18, 0xCA, 0x49, 0xD4, 0xEE, 0xE9, 0x89, 0xB3, 0x78, 0x09, 0xA9, 0x71, 0x1A, 0x6F, 0xD6, 0x3E, 0xE0, - 0x5C, 0x5E, 0xB6, 0x50, 0x39, 0x99, 0xB7, 0xD5, 0x88, 0x27, 0xCF, 0xE8, 0x65, 0x2B, 0x95, 0x53, 0xFA, 0x9B, 0x8E, 0x13, 0x37, - 0xDA, 0x29, 0x25, 0x78, 0xBC, 0xAD, 0xB8, 0xA4, 0xD0, 0x23, 0x50, 0x9F, 0xE0, 0x41, 0x39, 0xFC, 0x3C, 0x1E, 0x94, 0x3F, 0xC5, - 0x6B, 0xF3, 0xD9, 0x8B, 0xFD, 0xC7, 0x16, 0x29, 0xC6, 0x89, 0x75, 0x3C, 0xAF, 0x58, 0x42, 0x8E, 0x90, 0xD3, 0xC5, 0x1F, 0x2C, - 0x17, 0x9A, 0x2F, 0x8B, 0xB9, 0x1E, 0x93, 0x10, 0x6A, 0x7E, 0xE3, 0x1B, 0x0D, 0x22, 0xBF, 0xFA, 0xE0, 0xC0, 0xBF, 0x8B, 0x64, - 0x6D, 0xD5, 0xA6, 0x47, 0x12, 0xBA, 0xCF, 0xF0, 0x58, 0xA4, 0xC7, 0x02, 0x44, 0xF3, 0xFA, 0xD9, 0x80, 0x7F, 0x9D, 0xFF, 0xA2, - 0xE8, 0x5A, 0xA8, 0x41, 0x12, 0x90, 0x7F, 0x69, 0x08, 0xFC, 0xA2, 0xAE, 0x8C, 0x7C, 0x52, 0x08, 0x7C, 0x75, 0xFC, 0x6A, 0x0E, - 0xA5, 0x22, 0x8A, 0x4B, 0xFF, 0x6D, 0xC8, 0x55, 0xA1, 0xB7, 0xCC, 0xE2, 0xFB, 0x34, 0x24, 0x4B, 0x3D, 0x2A, 0x6A, 0xA1, 0xA1, - 0xF7, 0x04, 0x86, 0xCE, 0x27, 0x78, 0xC6, 0x6F, 0xAD, 0xB6, 0x5C, 0x04, 0x86, 0xCE, 0x1D, 0x81, 0xA1, 0xF1, 0x1A, 0xB4, 0x59, - 0x81, 0x02, 0x43, 0xE7, 0xB5, 0xC0, 0xD0, 0x09, 0xBA, 0x12, 0x57, 0x9A, 0x4D, 0x9A, 0xFC, 0xCA, 0x52, 0xF1, 0xC8, 0xC2, 0x73, - 0x96, 0x78, 0x6C, 0x1F, 0x99, 0xC5, 0x9F, 0xB0, 0xC4, 0x63, 0x6B, 0x89, 0x0B, 0x07, 0x0B, 0xE3, 0xD4, 0xAC, 0x2B, 0x97, 0x38, - 0x9D, 0x9A, 0xF5, 0xCC, 0x13, 0xAE, 0x78, 0xDF, 0x09, 0x97, 0x30, 0x25, 0xA9, 0x23, 0xAE, 0x77, 0x22, 0xC1, 0x15, 0x87, 0x79, - 0x6E, 0x9F, 0x2A, 0xD5, 0x4A, 0x86, 0x6C, 0x17, 0x3F, 0x6D, 0x9A, 0x8C, 0x6D, 0xD3, 0x24, 0x59, 0xE0, 0x44, 0x53, 0x81, 0x3E, - 0x88, 0xB6, 0xCD, 0x70, 0x32, 0x1F, 0xC6, 0xD8, 0xBD, 0xCC, 0xAE, 0x12, 0x2D, 0x88, 0x65, 0xC2, 0xD2, 0xA7, 0x0D, 0x65, 0x7E, - 0x32, 0xCD, 0xD0, 0xD2, 0x27, 0xEA, 0x4C, 0xF1, 0xE7, 0xCC, 0x88, 0x87, 0x6B, 0x84, 0x83, 0xAC, 0xC5, 0x80, 0x0E, 0x1D, 0x26, - 0x29, 0xB4, 0x48, 0xC5, 0xFF, 0x3A, 0x8B, 0x54, 0x83, 0x53, 0xB4, 0xD3, 0x22, 0x25, 0x86, 0xE8, 0xB4, 0x33, 0x99, 0xB3, 0xA3, - 0x2C, 0x47, 0x7F, 0xD3, 0x1C, 0xE3, 0xF6, 0xA6, 0x34, 0x90, 0xA3, 0x40, 0x3A, 0x24, 0x66, 0xB4, 0x59, 0x54, 0x1D, 0x31, 0x59, - 0x44, 0x95, 0xD9, 0x67, 0x4C, 0x92, 0x0A, 0x28, 0x6C, 0x74, 0x7C, 0xA0, 0x59, 0x45, 0x92, 0x01, 0x5A, 0x47, 0x12, 0xBB, 0x4E, - 0x45, 0x07, 0x8A, 0x9F, 0x6B, 0x6C, 0xB2, 0x50, 0xEC, 0x38, 0x60, 0xC4, 0xD3, 0xC4, 0x83, 0x4C, 0x46, 0x16, 0x43, 0x8C, 0xFF, - 0x05, 0xC6, 0x1B, 0x97, 0x80, 0x97, 0x4E, 0x7C, 0x1B, 0x61, 0x86, 0x2D, 0x40, 0xE8, 0x9A, 0x84, 0xAA, 0xF9, 0x61, 0xB6, 0x80, - 0xF8, 0x79, 0xB6, 0x80, 0x54, 0x0F, 0xAE, 0x02, 0xC0, 0x67, 0xD0, 0x9D, 0x2B, 0x2D, 0x56, 0x94, 0xE7, 0xF9, 0x33, 0x75, 0xE5, - 0x78, 0x9F, 0x36, 0x5A, 0x89, 0x37, 0x13, 0xA6, 0xFC, 0x45, 0x65, 0xE9, 0x12, 0x27, 0x43, 0x64, 0xF1, 0x47, 0x9E, 0x6B, 0x54, - 0x64, 0x3E, 0xFA, 0x4C, 0x5C, 0x65, 0x0E, 0x6B, 0x40, 0xBC, 0x43, 0xEF, 0xAB, 0x20, 0x9D, 0x66, 0x0D, 0x7C, 0xD3, 0xB9, 0x72, - 0xCC, 0x17, 0x68, 0x27, 0xC1, 0xE9, 0x1F, 0xFF, 0xF8, 0xFD, 0xFE, 0xDD, 0xEC, 0xF4, 0x26, 0xF4, 0x40, 0x02, 0x4B, 0xA7, 0xF3, - 0x99, 0xE5, 0x22, 0x97, 0x7B, 0xB0, 0xEA, 0xBD, 0x59, 0x98, 0x19, 0x2A, 0xB8, 0x3F, 0x0F, 0x26, 0xF3, 0xB6, 0xF7, 0xCE, 0x1B, - 0xCF, 0x03, 0xE5, 0x0B, 0xC3, 0xE5, 0x86, 0xF5, 0xFC, 0x1B, 0xEE, 0x7F, 0xF3, 0x5F, 0x21, 0xBE, 0x9E, 0x37, 0xC7, 0x43, 0xAA, - 0xC7, 0xBB, 0x71, 0x12, 0xFE, 0x17, 0xD0, 0x82, 0x94, 0x2A, 0x5E, 0xB3, 0xFF, 0xDA, 0x00, 0x63, 0x21, 0xD7, 0x17, 0xDC, 0xB9, - 0xC2, 0xC2, 0xCA, 0x2C, 0xD6, 0xC0, 0xC1, 0x98, 0xCA, 0xDD, 0x29, 0xB4, 0xA7, 0xCF, 0x78, 0x37, 0xD5, 0xBE, 0x73, 0x94, 0x7D, - 0xC2, 0x76, 0x9A, 0xD9, 0x12, 0x33, 0x21, 0x54, 0xEF, 0xA6, 0xB5, 0xD7, 0x56, 0x61, 0xB4, 0xF4, 0xA0, 0x42, 0x38, 0x0F, 0x37, - 0x44, 0xA8, 0xC6, 0xD3, 0xA9, 0x45, 0x30, 0xF1, 0xE7, 0x11, 0xC6, 0x0B, 0x89, 0x55, 0xB4, 0x5B, 0x23, 0x3B, 0xC6, 0x30, 0xB7, - 0xF3, 0x28, 0x0E, 0x55, 0xAE, 0x7D, 0x01, 0xC9, 0x88, 0x0F, 0xE4, 0xBA, 0x7D, 0x54, 0x36, 0x48, 0xD3, 0x95, 0xD7, 0x5F, 0x5D, - 0xB2, 0x78, 0xAE, 0x67, 0xE2, 0x80, 0x16, 0x5C, 0x0F, 0xAE, 0xE5, 0xC6, 0x74, 0x39, 0x9B, 0xB0, 0x44, 0x8A, 0xB9, 0xF1, 0xDC, - 0x09, 0x5E, 0x86, 0xF2, 0x80, 0x60, 0xD4, 0xB1, 0x82, 0x02, 0x45, 0x8B, 0xFE, 0x94, 0x04, 0xBD, 0xB3, 0xF8, 0x0E, 0x76, 0xC6, - 0xA2, 0xFA, 0xF6, 0x9A, 0xEE, 0x3A, 0xCA, 0xEC, 0x34, 0x55, 0x27, 0xAE, 0xD5, 0xA9, 0x92, 0xA0, 0xE3, 0x61, 0x50, 0x93, 0x06, - 0x1D, 0x0F, 0x94, 0x6D, 0x76, 0xD9, 0x01, 0x3A, 0x07, 0x51, 0x85, 0x7A, 0x9B, 0x4C, 0xF7, 0xC7, 0x0F, 0xCB, 0x54, 0xFB, 0x3A, - 0x93, 0xC3, 0x6C, 0x64, 0xAB, 0x04, 0x97, 0x8A, 0xB2, 0xEF, 0x01, 0xD8, 0x67, 0xA9, 0x28, 0xA9, 0x29, 0x4D, 0x70, 0x5D, 0x84, - 0xA6, 0xE5, 0xC8, 0x78, 0xE0, 0x47, 0x9C, 0x22, 0xE0, 0xA7, 0x16, 0x06, 0x8C, 0x31, 0xD5, 0xE7, 0x50, 0x65, 0xF3, 0x41, 0x78, - 0x8E, 0x19, 0x0D, 0x2D, 0xE2, 0xF1, 0xEA, 0x93, 0xAA, 0x0B, 0x54, 0x1A, 0xB1, 0xD0, 0xF3, 0xE9, 0xCA, 0xD0, 0x27, 0x3C, 0xFD, - 0x4A, 0x4D, 0x8D, 0xFD, 0x46, 0x5A, 0xA2, 0x0C, 0x2B, 0xA4, 0x31, 0xD7, 0xF7, 0x2B, 0xD8, 0x09, 0xF6, 0xD0, 0xDB, 0xFE, 0x26, - 0x74, 0xC1, 0xA7, 0x9E, 0xD4, 0xF9, 0x24, 0x77, 0x7F, 0x1D, 0x4D, 0xCE, 0xDE, 0x02, 0x56, 0xA6, 0x97, 0x34, 0xB7, 0xE7, 0x48, - 0x2F, 0x69, 0x3F, 0x37, 0x37, 0x69, 0x6E, 0x7B, 0x0C, 0xC8, 0x39, 0x21, 0x8F, 0xF8, 0x2F, 0xC9, 0x6B, 0x73, 0x4A, 0xE5, 0x7B, - 0x16, 0xC6, 0x84, 0x56, 0xD1, 0x89, 0x26, 0x74, 0x8A, 0x36, 0xCE, 0xE9, 0xD6, 0xF3, 0x2A, 0xBC, 0x8B, 0x2C, 0x3B, 0xAD, 0xD7, - 0xB6, 0xEF, 0x29, 0xEE, 0x39, 0x13, 0x05, 0x9D, 0x03, 0xF4, 0xD2, 0x5D, 0x20, 0xFD, 0xD7, 0x27, 0x5E, 0xF8, 0x21, 0xA4, 0x73, - 0x72, 0x6F, 0xEC, 0xA1, 0x23, 0xBC, 0xC7, 0xEF, 0x5B, 0x53, 0x4F, 0x57, 0x73, 0x40, 0x88, 0x00, 0xA8, 0x8C, 0x72, 0x65, 0x9B, - 0xC2, 0xC0, 0xF5, 0xF2, 0x60, 0xBA, 0xA4, 0x31, 0xFA, 0xE5, 0xF1, 0x79, 0x00, 0x00, 0x0F, 0x69, 0x00, 0x74, 0x65, 0x19, 0xAD, - 0x15, 0xBE, 0x27, 0xEE, 0x5B, 0x97, 0xAF, 0x5E, 0xBD, 0x1A, 0x60, 0x63, 0x15, 0xE7, 0x9E, 0x06, 0x9F, 0x13, 0xF1, 0x8E, 0x6D, - 0x5C, 0xF5, 0x3B, 0x31, 0xCD, 0xC2, 0x21, 0xEC, 0x07, 0x07, 0xF8, 0x7A, 0xC7, 0x9C, 0xC1, 0x6C, 0xAA, 0xEE, 0xDD, 0xB1, 0x78, - 0x22, 0x02, 0x60, 0xA4, 0x5B, 0xD7, 0x2F, 0x92, 0xB1, 0x07, 0x52, 0x49, 0xB2, 0x40, 0xA9, 0x98, 0x3C, 0xBE, 0x4B, 0xE1, 0x4D, - 0x8B, 0xF3, 0x50, 0x26, 0x2B, 0xF3, 0x3D, 0xA9, 0xC0, 0x83, 0x2D, 0xCC, 0xF7, 0x84, 0xDF, 0xCB, 0x46, 0xCE, 0x59, 0xBF, 0x15, - 0xB5, 0x34, 0x96, 0xDA, 0x84, 0x43, 0xCF, 0xD8, 0xAA, 0x52, 0xFD, 0x08, 0x5E, 0xAC, 0x4C, 0x02, 0x13, 0xE8, 0xE7, 0x43, 0xF4, - 0xE2, 0xBD, 0x17, 0x3A, 0xB3, 0x83, 0x31, 0xE5, 0x23, 0x8F, 0x6D, 0x68, 0x6A, 0x4E, 0x4D, 0xD0, 0x1C, 0x56, 0x9B, 0x99, 0xF3, - 0xEA, 0x1F, 0xD5, 0x03, 0x97, 0xD0, 0x44, 0x59, 0x99, 0xE2, 0xBE, 0x31, 0xC7, 0xF1, 0x4D, 0xDF, 0x9A, 0x66, 0x3D, 0x7F, 0x90, - 0x23, 0xA7, 0x50, 0x20, 0xAC, 0x37, 0x6E, 0x7D, 0x80, 0xC2, 0x2F, 0x30, 0xA6, 0x40, 0x8B, 0xCF, 0x78, 0xA8, 0xC0, 0x96, 0x85, - 0xFA, 0x63, 0xCF, 0xF0, 0x2C, 0x96, 0xEE, 0xF6, 0x26, 0xC4, 0xDA, 0xF5, 0x56, 0x18, 0x41, 0xF3, 0x50, 0x43, 0x80, 0x7E, 0xB6, - 0xC6, 0x08, 0x78, 0x6F, 0x1E, 0x6D, 0x92, 0x8A, 0xCA, 0x40, 0x5E, 0x17, 0x77, 0xE3, 0x69, 0x45, 0xE9, 0x5B, 0xF5, 0x08, 0x33, - 0x50, 0xA5, 0x41, 0x90, 0xDA, 0xD7, 0xDC, 0x44, 0x24, 0x3D, 0xEA, 0x69, 0xCD, 0xC7, 0x17, 0x2F, 0x8A, 0xA9, 0xB0, 0x7E, 0x7C, - 0x00, 0xB0, 0xA5, 0x49, 0x64, 0x42, 0x64, 0x80, 0xC5, 0xDF, 0x66, 0xFF, 0x8C, 0x8B, 0x5B, 0xFF, 0x43, 0x30, 0xFE, 0x30, 0x8B, - 0x08, 0xB6, 0x2F, 0x80, 0x0A, 0x10, 0x50, 0x74, 0x77, 0x17, 0x49, 0x48, 0x18, 0xF8, 0x18, 0x9A, 0xF6, 0x69, 0x2F, 0x05, 0x3F, - 0x78, 0x51, 0x98, 0xFE, 0xEC, 0x48, 0x4C, 0x92, 0x9C, 0xD0, 0x31, 0x6A, 0x63, 0x41, 0x27, 0x1C, 0xDA, 0xE7, 0xB3, 0xEA, 0x52, - 0x33, 0xE6, 0x6D, 0x6E, 0xCE, 0x9A, 0x24, 0xBB, 0xDA, 0x34, 0x7B, 0xD4, 0x85, 0xB8, 0x26, 0x49, 0x98, 0xA4, 0x9E, 0x51, 0x42, - 0xA5, 0x80, 0x0C, 0x8D, 0x33, 0x65, 0x2F, 0x33, 0xE1, 0x8B, 0xAD, 0x9A, 0xAA, 0x4F, 0x20, 0xB4, 0x3B, 0xDE, 0x93, 0x6D, 0xCE, - 0x2F, 0x41, 0x90, 0x0B, 0xCC, 0x39, 0x40, 0x0B, 0xC6, 0xCF, 0x03, 0xC9, 0x41, 0x4E, 0x1C, 0x98, 0x27, 0xE9, 0x4C, 0x83, 0xA1, - 0xC8, 0x6C, 0x63, 0x13, 0x1A, 0xC5, 0xF8, 0x2A, 0x9B, 0xC9, 0xAD, 0x91, 0xD6, 0x24, 0xAB, 0x7B, 0xB7, 0x8F, 0xD7, 0x55, 0x6F, - 0xB5, 0xE0, 0xF5, 0xAA, 0xA5, 0x7A, 0x11, 0x57, 0x4E, 0xFE, 0xD1, 0x5D, 0xC5, 0x9B, 0xDF, 0xE7, 0x6E, 0xFC, 0x4B, 0x79, 0xCF, - 0x84, 0x8B, 0x9F, 0x44, 0xA8, 0xBF, 0xE2, 0xD6, 0x37, 0xCF, 0x56, 0x5C, 0x0E, 0x7D, 0xF1, 0x1E, 0xA3, 0x30, 0x70, 0x06, 0x39, - 0xBE, 0xDB, 0x41, 0x9D, 0xC2, 0x5F, 0x1A, 0xEE, 0x4D, 0x4A, 0x4D, 0xB9, 0x3B, 0xD8, 0x65, 0x5F, 0xD9, 0x18, 0xEF, 0x92, 0xA2, - 0xA0, 0x17, 0x89, 0x05, 0xB4, 0x96, 0xCA, 0xEC, 0xFD, 0x9D, 0x5D, 0x36, 0xB5, 0xEE, 0x22, 0x19, 0x3B, 0x2C, 0x3F, 0xE8, 0x00, - 0x0C, 0x7F, 0x81, 0x1A, 0x2F, 0x5F, 0xAB, 0x77, 0x47, 0x7A, 0xAD, 0x6E, 0xB7, 0x77, 0x48, 0x33, 0xE8, 0x05, 0xF8, 0x85, 0x52, - 0xC1, 0x90, 0x3B, 0xCA, 0x77, 0x68, 0xA0, 0x4F, 0xF8, 0x83, 0xEF, 0xCD, 0x86, 0x78, 0xFB, 0xD8, 0x74, 0x3E, 0x22, 0x97, 0xD1, - 0x5C, 0xF9, 0x66, 0x95, 0x7C, 0x91, 0xAD, 0x91, 0xD7, 0xEB, 0xFD, 0x8B, 0x5F, 0x57, 0x6A, 0xD8, 0xBF, 0xD4, 0xD5, 0xA5, 0xCA, - 0x9C, 0x56, 0xEE, 0x31, 0xE1, 0x96, 0x94, 0xD6, 0x6E, 0x1C, 0x51, 0x80, 0x27, 0xE3, 0x56, 0x47, 0x59, 0xB9, 0xD5, 0xE1, 0x24, - 0x81, 0x47, 0xBC, 0x80, 0x63, 0x5D, 0x59, 0x0A, 0x04, 0xC5, 0x10, 0x2D, 0x28, 0x4D, 0xEA, 0x45, 0x41, 0xE4, 0x62, 0xA1, 0x24, - 0xF3, 0x37, 0x12, 0x2D, 0x24, 0x01, 0x90, 0xCB, 0x65, 0xF5, 0x9A, 0x12, 0xAF, 0x64, 0x5F, 0x72, 0xF9, 0x60, 0x5F, 0x59, 0x0A, - 0xF0, 0x7A, 0x3D, 0xAC, 0x1A, 0xEF, 0x03, 0x5D, 0x6A, 0x01, 0x02, 0xC3, 0x5F, 0xF3, 0x70, 0xD9, 0xF6, 0xA6, 0x1F, 0xB8, 0xDF, - 0x25, 0x2D, 0x08, 0xF5, 0xEA, 0x8D, 0xBE, 0xEF, 0x23, 0x81, 0xB5, 0x23, 0x49, 0x34, 0x02, 0x1B, 0xF3, 0xC0, 0x11, 0x4F, 0xDC, - 0xDD, 0x41, 0x9C, 0xD8, 0x50, 0x24, 0x16, 0x08, 0x14, 0x70, 0x4C, 0xDC, 0x29, 0x97, 0x9E, 0x88, 0xD6, 0x74, 0xF0, 0x2C, 0x31, - 0x2B, 0xF8, 0x56, 0x49, 0x32, 0xB5, 0x12, 0x15, 0x4F, 0x5E, 0x93, 0x94, 0xD0, 0xC3, 0xCB, 0x41, 0x16, 0xB0, 0x56, 0xE9, 0xB6, - 0x37, 0x06, 0xFD, 0x6F, 0x55, 0x26, 0xEB, 0x15, 0x6B, 0x71, 0xD7, 0x44, 0x40, 0x52, 0xB5, 0xC9, 0xA8, 0x87, 0x2C, 0x07, 0x1B, - 0xEC, 0x61, 0x6B, 0x3B, 0x05, 0x7E, 0xB0, 0xAB, 0x10, 0x05, 0x0C, 0xA3, 0xBE, 0x7A, 0xF9, 0x26, 0x5F, 0x5B, 0xC0, 0x35, 0x65, - 0xDC, 0x90, 0x07, 0x25, 0x6C, 0x5E, 0xBB, 0x44, 0x39, 0x52, 0xFB, 0xEB, 0x0A, 0x34, 0xA3, 0x9A, 0x33, 0xF1, 0x60, 0x67, 0x1A, - 0x93, 0xEC, 0xA8, 0x8F, 0x08, 0x78, 0xC6, 0xE3, 0x87, 0x31, 0xAE, 0x76, 0xB1, 0x7D, 0xB6, 0x01, 0x2C, 0x14, 0x24, 0xDB, 0x9E, - 0x5E, 0x61, 0xBB, 0xFA, 0x81, 0x19, 0x37, 0x54, 0xD9, 0x27, 0xFB, 0xB5, 0x14, 0xFB, 0x45, 0xA9, 0x47, 0xA6, 0xA4, 0x11, 0xA0, - 0x0B, 0x98, 0xDB, 0xB4, 0xBA, 0xF5, 0x1B, 0x34, 0x52, 0x86, 0x1E, 0x3E, 0x75, 0xC6, 0xD1, 0x0C, 0x84, 0xA2, 0x96, 0x6D, 0x51, - 0x31, 0x8A, 0xBB, 0xDE, 0xE8, 0x15, 0x86, 0xA5, 0xC2, 0x34, 0x24, 0x31, 0x53, 0x4C, 0x74, 0x56, 0x9B, 0x82, 0xD4, 0x36, 0x9B, - 0x01, 0x65, 0xD9, 0x5B, 0x00, 0x8F, 0x75, 0x04, 0x89, 0x6A, 0xB7, 0x36, 0x65, 0x1E, 0x71, 0x5E, 0x0B, 0x03, 0xBA, 0xF4, 0x08, - 0x2F, 0x44, 0x4E, 0x2C, 0x30, 0xC7, 0xD3, 0x46, 0xCD, 0x4F, 0xCC, 0x52, 0xC7, 0x5A, 0x42, 0x52, 0x38, 0xE3, 0xEF, 0x1B, 0x53, - 0x44, 0x23, 0x29, 0xF6, 0xD2, 0xF7, 0xC6, 0xFC, 0x51, 0x98, 0x3F, 0xE4, 0x0B, 0x1E, 0x22, 0x4B, 0xFD, 0x64, 0x16, 0xCF, 0xF8, - 0x21, 0x2D, 0x81, 0xF7, 0xE6, 0x62, 0x1D, 0xA6, 0x75, 0x1C, 0x27, 0xBC, 0x80, 0x67, 0xC5, 0x3E, 0x12, 0x8F, 0x82, 0x68, 0x10, - 0xD4, 0x8F, 0xC2, 0xFC, 0x21, 0x5F, 0x05, 0x31, 0x41, 0xC0, 0x9F, 0x8D, 0x20, 0x1C, 0x1F, 0x73, 0xC9, 0xA9, 0x96, 0x03, 0x22, - 0xD9, 0x7D, 0xE0, 0x4A, 0xBF, 0x4D, 0x6E, 0x6E, 0x49, 0xC6, 0x48, 0xF9, 0x7F, 0x8D, 0x03, 0xD8, 0x52, 0x14, 0x23, 0x7B, 0x14, - 0xFC, 0x45, 0x14, 0x0E, 0x9D, 0x78, 0x26, 0x05, 0x60, 0x33, 0xB6, 0x1B, 0xE4, 0xC8, 0x91, 0x0C, 0x88, 0x15, 0x7C, 0xE1, 0x6A, - 0x5E, 0x66, 0x5A, 0x0D, 0xD3, 0x23, 0x28, 0xAE, 0xA6, 0xE4, 0x03, 0x50, 0xEE, 0xB6, 0x54, 0xAE, 0xD5, 0x98, 0x30, 0x23, 0x55, - 0xB0, 0x26, 0xCC, 0x51, 0x8D, 0xF3, 0x26, 0x8D, 0x4F, 0x36, 0x5C, 0xF4, 0x18, 0x8B, 0x00, 0x8C, 0xA3, 0x5A, 0x81, 0x27, 0x96, - 0x42, 0xA4, 0x07, 0xBC, 0xDD, 0xD6, 0xFB, 0x42, 0xC0, 0xDD, 0x78, 0x96, 0xB1, 0x69, 0xB5, 0x7B, 0xDD, 0xCE, 0x3E, 0x5A, 0x43, - 0xA9, 0x40, 0x91, 0xB3, 0x54, 0x22, 0x3E, 0x37, 0x45, 0x43, 0xBB, 0x83, 0xFE, 0x6B, 0xC6, 0x1F, 0x43, 0xE6, 0xC8, 0xC9, 0x1B, - 0x69, 0x02, 0x4F, 0x65, 0xFF, 0xAF, 0x11, 0x36, 0xB4, 0x7D, 0x36, 0x3C, 0x14, 0x12, 0xA2, 0x4E, 0x07, 0x38, 0x92, 0x90, 0xAC, - 0x66, 0x9F, 0x1E, 0x9F, 0x20, 0x24, 0xD1, 0xA0, 0x9E, 0x90, 0x67, 0xBC, 0x1E, 0xD4, 0xDF, 0x7B, 0x85, 0xF3, 0x99, 0xAC, 0x3D, - 0x35, 0x59, 0xFB, 0x82, 0xF3, 0xF6, 0x44, 0x73, 0xEC, 0x2C, 0x72, 0xB2, 0xDB, 0xD0, 0xE6, 0xE4, 0x99, 0x93, 0x6B, 0x9B, 0xB7, - 0x4F, 0x32, 0xCE, 0xA0, 0xF1, 0xA5, 0x2D, 0xFB, 0xE1, 0x73, 0x66, 0x6E, 0x23, 0xA1, 0x60, 0xF4, 0x2F, 0xDE, 0x03, 0x9F, 0xC7, - 0x0A, 0x81, 0xC9, 0xF8, 0x45, 0x1B, 0x90, 0x76, 0x07, 0x1B, 0x34, 0x62, 0x34, 0x31, 0xD2, 0xA4, 0xD9, 0x83, 0x59, 0x8C, 0xDF, - 0x58, 0xE6, 0x0B, 0xBE, 0xCE, 0xA5, 0xA8, 0xF5, 0x05, 0x0C, 0x53, 0x4A, 0xEC, 0xDA, 0x60, 0x0C, 0xD2, 0x1C, 0xF2, 0x7B, 0xE9, - 0x4A, 0x87, 0x3B, 0x73, 0x4D, 0x64, 0xE5, 0xFD, 0xEB, 0x6D, 0xC4, 0x70, 0xDA, 0x59, 0x90, 0xAC, 0x96, 0xD0, 0x4C, 0x70, 0x29, - 0x87, 0x4B, 0xAB, 0x47, 0xBD, 0x4B, 0xD7, 0x76, 0x21, 0x39, 0x9B, 0xC9, 0xF2, 0x18, 0x6F, 0x5E, 0xBC, 0x95, 0x21, 0x1B, 0x4C, - 0x2C, 0xDA, 0xDB, 0x38, 0xD7, 0x9E, 0xA8, 0x09, 0x55, 0xF0, 0x3E, 0x6C, 0xBD, 0x56, 0xE3, 0xEA, 0x2D, 0x1C, 0x4D, 0x6C, 0x1D, - 0x0D, 0xA8, 0x55, 0x87, 0x41, 0x34, 0x6A, 0x6B, 0xF2, 0x19, 0xCB, 0x90, 0x96, 0x0B, 0xAE, 0x2B, 0xDA, 0x6A, 0x7D, 0xEC, 0x52, - 0x25, 0x11, 0x3A, 0xE9, 0x51, 0x6E, 0x1A, 0x7C, 0xD0, 0xD9, 0xA4, 0x45, 0x72, 0x93, 0xB2, 0x85, 0x98, 0xF1, 0x04, 0x75, 0xE6, - 0x2F, 0xD4, 0xBB, 0xEC, 0x6A, 0x6E, 0x91, 0x3B, 0x4A, 0xCE, 0xCA, 0xE7, 0x16, 0x9B, 0x05, 0xE1, 0xAE, 0x60, 0xB0, 0x29, 0x61, - 0x5B, 0x18, 0x37, 0x95, 0x0F, 0xAA, 0xA9, 0xBE, 0xDE, 0x4E, 0x64, 0x7D, 0xC8, 0xD8, 0x5F, 0xC5, 0x26, 0x27, 0xAC, 0x42, 0x37, - 0xF5, 0xE4, 0x68, 0x30, 0x0E, 0x3B, 0xF6, 0x8D, 0xBB, 0x24, 0xBF, 0xAA, 0x2D, 0x76, 0x46, 0xBA, 0xB2, 0xDC, 0x91, 0x81, 0xFB, - 0x7C, 0x39, 0xCD, 0x38, 0xBC, 0x89, 0x57, 0xE6, 0xC2, 0x22, 0xD8, 0xB8, 0x43, 0xEC, 0x1B, 0x37, 0x75, 0x6E, 0xBF, 0x2C, 0x8F, - 0xA3, 0x57, 0x58, 0xD6, 0xEF, 0xBF, 0x9B, 0x25, 0xC5, 0xD3, 0x0A, 0x84, 0xF3, 0xB0, 0x2B, 0xA1, 0x81, 0xE6, 0xE4, 0xB8, 0x17, - 0xDA, 0x68, 0xE2, 0xD5, 0xF1, 0xD3, 0xB0, 0x2D, 0x62, 0x19, 0xB1, 0x47, 0xB9, 0x49, 0x59, 0xB1, 0x51, 0x2C, 0x29, 0x8F, 0x02, - 0x74, 0xD1, 0x5D, 0xF3, 0x96, 0xE5, 0x66, 0x76, 0x7B, 0x38, 0x1D, 0xDE, 0x60, 0x47, 0x84, 0x65, 0x1D, 0x94, 0x4E, 0x11, 0x71, - 0x1C, 0xB2, 0x89, 0x21, 0x11, 0x72, 0x61, 0x12, 0x60, 0x99, 0x8D, 0xEF, 0xF8, 0xD0, 0x72, 0x82, 0x63, 0x2C, 0xEA, 0xEA, 0xA2, - 0xEA, 0x54, 0x02, 0xCA, 0x85, 0x99, 0x63, 0xD5, 0x67, 0xCF, 0x5C, 0xF5, 0x1C, 0xB4, 0xF7, 0x45, 0x96, 0x82, 0xAC, 0x95, 0x14, - 0xDF, 0x27, 0x69, 0x52, 0x32, 0x6C, 0x3D, 0x98, 0x08, 0x0C, 0xE2, 0xB7, 0x04, 0x2B, 0x69, 0x5C, 0x9D, 0xD9, 0xDF, 0x59, 0x9D, - 0xA6, 0x42, 0xEF, 0x5A, 0x13, 0x1C, 0x48, 0xB4, 0xC2, 0x19, 0xF8, 0x73, 0x83, 0x27, 0x48, 0xC7, 0x6B, 0xAA, 0xA5, 0x57, 0xBC, - 0x79, 0x52, 0xC4, 0x33, 0x45, 0x98, 0x04, 0x6C, 0x50, 0xD7, 0xE3, 0x4B, 0x65, 0x52, 0x5F, 0x5F, 0x77, 0xC6, 0xFA, 0xBA, 0x6B, - 0x5C, 0x5F, 0x16, 0xE6, 0xC2, 0x4C, 0xAF, 0xB2, 0x2A, 0x45, 0xCA, 0x75, 0x26, 0xC0, 0xE6, 0xF1, 0x6B, 0x6D, 0xB0, 0xC5, 0x9A, - 0x11, 0x7E, 0xAF, 0x48, 0x01, 0xBC, 0x67, 0xB1, 0x3E, 0xC6, 0xBA, 0x16, 0x7F, 0xCA, 0xC0, 0x19, 0x9E, 0xDB, 0x18, 0xA4, 0x05, - 0x5A, 0x52, 0x0D, 0x3B, 0x2A, 0x40, 0x91, 0x85, 0xCC, 0x45, 0x91, 0x34, 0x79, 0x97, 0xCA, 0xFB, 0xC5, 0xE6, 0x75, 0x22, 0x3B, - 0xBA, 0xCC, 0xC2, 0xB4, 0xE8, 0xE8, 0x56, 0xC4, 0xB9, 0xC9, 0xC2, 0x5C, 0x3A, 0xEA, 0xAC, 0xC3, 0x50, 0x8D, 0x5A, 0x0B, 0x71, - 0x02, 0x2B, 0x83, 0x14, 0x49, 0x67, 0x3C, 0x1D, 0x7F, 0xC2, 0x3E, 0x26, 0x09, 0x2E, 0x73, 0xAE, 0x82, 0x55, 0xCF, 0x4F, 0xB4, - 0xB4, 0xC1, 0xED, 0x08, 0xA5, 0x65, 0x46, 0xE0, 0x47, 0x11, 0xE5, 0x34, 0xB1, 0x4F, 0x1F, 0x1C, 0x87, 0x09, 0xB1, 0x19, 0x2B, - 0x46, 0x88, 0x32, 0xF3, 0x60, 0xAF, 0x08, 0x30, 0x6F, 0x12, 0x01, 0xE2, 0x43, 0x44, 0x00, 0x3C, 0x7E, 0x98, 0x37, 0x87, 0x97, - 0x59, 0xEC, 0x89, 0x2F, 0x33, 0x47, 0xD3, 0x48, 0x1E, 0xC6, 0xC8, 0xEF, 0xD1, 0x40, 0x53, 0x18, 0x16, 0x1A, 0x11, 0x5C, 0xC4, - 0xB4, 0x5D, 0x57, 0xC7, 0xE4, 0x30, 0xD7, 0x2C, 0xB8, 0xC8, 0x79, 0xE0, 0x88, 0xC8, 0xB8, 0x50, 0x1B, 0x10, 0x1A, 0xC0, 0xCD, - 0x01, 0x71, 0xE0, 0x17, 0x35, 0xC3, 0x4E, 0x05, 0xFA, 0xA4, 0x02, 0xB9, 0xDF, 0x7C, 0x34, 0x94, 0x6E, 0xB7, 0x6A, 0x2C, 0xE2, - 0x9E, 0x70, 0xA5, 0x3D, 0x3C, 0x01, 0xDA, 0x5F, 0x7B, 0xE7, 0xB9, 0x82, 0x9D, 0xA0, 0xE5, 0x34, 0x4C, 0x5C, 0x6E, 0xD2, 0xCE, - 0xC5, 0xF0, 0x74, 0x4C, 0x24, 0x27, 0x71, 0xEB, 0x05, 0xA4, 0x17, 0x82, 0x65, 0x99, 0xAC, 0x47, 0x70, 0xCA, 0xCC, 0x75, 0x26, - 0xC1, 0x93, 0xA7, 0x93, 0x19, 0xAD, 0xA8, 0x8C, 0xAC, 0x9B, 0x7C, 0x75, 0x2C, 0xE8, 0x1B, 0xE8, 0x66, 0x3A, 0x0B, 0x71, 0x46, - 0x80, 0xD6, 0xE1, 0x9F, 0x0D, 0xCC, 0xC4, 0xC6, 0x5C, 0x19, 0x9B, 0xA0, 0x9C, 0x6E, 0x66, 0xC2, 0x78, 0x85, 0xBE, 0x67, 0xF8, - 0xCB, 0xBC, 0xB5, 0x21, 0x48, 0x27, 0x19, 0x53, 0x0E, 0xAE, 0x8C, 0x62, 0x3C, 0x0F, 0xC4, 0xB1, 0x00, 0x24, 0xF1, 0x87, 0x80, - 0x55, 0x58, 0x1F, 0xBA, 0xA4, 0x4F, 0x30, 0x65, 0xDC, 0x13, 0xAF, 0xD8, 0x6E, 0x33, 0x75, 0x96, 0x45, 0xF6, 0x45, 0x0E, 0x43, - 0x62, 0xC2, 0x90, 0x73, 0xCE, 0x84, 0x74, 0x63, 0x2C, 0xC8, 0x04, 0x7B, 0x94, 0x97, 0xCA, 0xB9, 0x38, 0x0E, 0xED, 0x16, 0xCE, - 0xBE, 0xC4, 0x9B, 0xD3, 0x0D, 0x9D, 0x15, 0x8E, 0xCE, 0x70, 0xD5, 0x19, 0x9D, 0x15, 0xCE, 0xCE, 0xE6, 0xCE, 0xCE, 0x1C, 0x3D, - 0xCC, 0xCD, 0x1E, 0xC4, 0x59, 0xC0, 0x1C, 0x9A, 0x0C, 0x17, 0x26, 0x8B, 0x59, 0x6A, 0xE3, 0xF0, 0x72, 0x8F, 0x2A, 0x95, 0x37, - 0x08, 0x18, 0xA0, 0xCF, 0xA0, 0xF0, 0xBA, 0x08, 0x97, 0x2E, 0x65, 0x8A, 0xEE, 0x0A, 0x2E, 0x4D, 0xB5, 0x68, 0x16, 0x5A, 0x3F, - 0xB5, 0xCD, 0x76, 0x49, 0x9B, 0x61, 0x90, 0x57, 0xA4, 0x68, 0x65, 0xDD, 0x4A, 0x6D, 0xE9, 0xD3, 0x7F, 0x91, 0x84, 0xF8, 0xFF, - 0xF7, 0x74, 0x48, 0x61, 0xB4, 0x88, 0xDB, 0x65, 0x25, 0x05, 0x37, 0xCD, 0x4A, 0x92, 0x94, 0xBC, 0x9B, 0x76, 0xF0, 0x54, 0xED, - 0xD7, 0xBE, 0x6B, 0x9F, 0xD6, 0xBB, 0x6F, 0x30, 0x4E, 0xB9, 0x71, 0x76, 0xB7, 0x57, 0x22, 0x40, 0x34, 0x25, 0x1C, 0x4D, 0x26, - 0x18, 0xBA, 0x93, 0x5A, 0x86, 0x6C, 0xDF, 0xC4, 0x10, 0xED, 0xBC, 0x7C, 0x2A, 0x6F, 0x23, 0x6F, 0xEA, 0xB5, 0xF7, 0x6C, 0xBE, - 0x36, 0x9A, 0x3B, 0xEF, 0xB3, 0x24, 0xF5, 0x61, 0xC9, 0x06, 0x6D, 0x6F, 0xE6, 0x5D, 0x4A, 0xAA, 0xB1, 0x05, 0x80, 0x60, 0x21, - 0x94, 0xCF, 0x45, 0x28, 0x64, 0x15, 0xDC, 0x3B, 0xBF, 0xB9, 0x8D, 0xF3, 0x6F, 0x60, 0xD9, 0x8B, 0xE0, 0x7B, 0x3C, 0xA7, 0x32, - 0x8B, 0x42, 0x20, 0x7A, 0x94, 0xE3, 0xC7, 0xED, 0x7C, 0x11, 0xDE, 0x06, 0x66, 0x37, 0xF2, 0x19, 0x4C, 0xEA, 0xA5, 0x22, 0xAD, - 0x73, 0xA9, 0x78, 0xC1, 0x11, 0xA9, 0x1E, 0x69, 0x17, 0x6D, 0xBD, 0xAF, 0xE1, 0x0D, 0x78, 0x24, 0x2F, 0x87, 0x98, 0x58, 0xA1, - 0x30, 0xCA, 0xC3, 0x03, 0xD4, 0x18, 0xC9, 0xE3, 0x32, 0x42, 0x86, 0x70, 0xC9, 0xCF, 0x59, 0x1A, 0xC2, 0xBB, 0x2D, 0x83, 0x4B, - 0xE7, 0x8A, 0x58, 0xF2, 0x4D, 0x77, 0x05, 0x2C, 0x08, 0xFA, 0xE8, 0x86, 0x62, 0x8F, 0xFF, 0x50, 0xF4, 0x3D, 0x1E, 0x28, 0x0B, - 0xE3, 0xF9, 0xA1, 0x35, 0xCB, 0x87, 0x24, 0x6B, 0x7B, 0xBC, 0x23, 0xED, 0x4E, 0x87, 0x15, 0xE3, 0x03, 0x93, 0x2B, 0x7C, 0x61, - 0x6C, 0x43, 0xEF, 0x01, 0xE6, 0xF7, 0xB0, 0x87, 0xF6, 0x35, 0xD4, 0xEF, 0xC5, 0x89, 0x47, 0x1E, 0x2E, 0xC3, 0x75, 0xB8, 0xA0, - 0x2D, 0xB4, 0x3F, 0x7D, 0xAF, 0xF6, 0xD0, 0x60, 0xBC, 0xAC, 0x6D, 0x9F, 0x04, 0xC6, 0x9D, 0x15, 0xCA, 0x4C, 0xF7, 0x89, 0x2C, - 0xAC, 0xDE, 0xE7, 0x9D, 0xB9, 0xF5, 0xBD, 0xA7, 0x1A, 0x76, 0xAF, 0xEF, 0x75, 0x87, 0xBA, 0x97, 0xA7, 0xCE, 0x8A, 0x16, 0xF2, - 0xC4, 0x50, 0x37, 0x85, 0xA4, 0x2D, 0x43, 0xED, 0x2A, 0xD6, 0xC8, 0x63, 0x43, 0x28, 0x72, 0x79, 0x6F, 0xF1, 0xBD, 0xA5, 0x75, - 0x40, 0x22, 0x5B, 0x94, 0xB1, 0xC9, 0xEA, 0xFB, 0x23, 0x6C, 0xF2, 0xCF, 0x31, 0x32, 0xF5, 0x7A, 0xC0, 0xED, 0xA6, 0x5E, 0xE7, - 0x26, 0xCB, 0x6E, 0x56, 0x22, 0xF6, 0x09, 0x3E, 0x90, 0xF0, 0x55, 0xFA, 0xE0, 0xCD, 0xA2, 0x47, 0x2D, 0x2F, 0x56, 0x9F, 0xCF, - 0x62, 0xC7, 0xC7, 0x6C, 0xEA, 0xFD, 0x4F, 0xF2, 0xD4, 0x9A, 0xA9, 0xAD, 0x57, 0xA5, 0xE0, 0xAB, 0x35, 0x85, 0x78, 0x4C, 0x50, - 0x27, 0xAE, 0xE2, 0xA2, 0xFC, 0x41, 0x50, 0x9A, 0x77, 0x0A, 0xEB, 0x8F, 0x42, 0x60, 0x92, 0x88, 0x28, 0x5E, 0xF3, 0x2E, 0x89, - 0xF9, 0x8A, 0xE3, 0xDA, 0x24, 0xF2, 0x3A, 0x1E, 0x5E, 0xB9, 0xD5, 0x2D, 0xCC, 0x61, 0x01, 0x7E, 0x55, 0xFA, 0xDD, 0x60, 0x52, - 0xEB, 0xCB, 0xEF, 0x81, 0xFA, 0xA6, 0x12, 0x85, 0x5F, 0xD9, 0x09, 0x9D, 0x28, 0x29, 0xF2, 0xC6, 0x4E, 0xE9, 0x11, 0x79, 0xF8, - 0x00, 0x19, 0x47, 0x38, 0xD4, 0x71, 0xBF, 0x20, 0xBA, 0x1B, 0xF8, 0x6E, 0x93, 0xAF, 0xC6, 0x09, 0x77, 0xD6, 0x19, 0xE7, 0x52, - 0xF2, 0xCF, 0xED, 0x1B, 0x5B, 0x81, 0x78, 0x71, 0xCE, 0xA7, 0x88, 0xBB, 0xD6, 0xD5, 0x78, 0xFB, 0x62, 0x97, 0x14, 0x03, 0xC6, - 0xAE, 0x2B, 0x06, 0xA8, 0x91, 0xC0, 0x3F, 0x74, 0xAF, 0x00, 0xBD, 0xDC, 0xB9, 0x4A, 0xC8, 0x3A, 0x12, 0x0C, 0xFC, 0x26, 0x38, - 0xE8, 0xBD, 0x00, 0x95, 0x6C, 0x62, 0x56, 0x27, 0xBA, 0x31, 0xEB, 0xAC, 0x85, 0x6F, 0x51, 0xEC, 0xAB, 0x77, 0x29, 0x0C, 0x82, - 0xC6, 0xAC, 0x80, 0xAA, 0x82, 0x31, 0x45, 0x99, 0xB8, 0xA1, 0x82, 0xB7, 0xE8, 0x04, 0x68, 0xB4, 0x0B, 0x57, 0x02, 0x78, 0x6B, - 0x35, 0x02, 0x86, 0x50, 0x31, 0x42, 0xF2, 0xE3, 0x21, 0xE6, 0x8A, 0x33, 0x2B, 0x66, 0xCC, 0xC3, 0x19, 0xE7, 0xF7, 0x61, 0x3C, - 0xEE, 0xFF, 0x4E, 0xA4, 0x19, 0xAF, 0xB9, 0xF3, 0xDC, 0x29, 0x09, 0x4D, 0x79, 0xDB, 0x17, 0xA4, 0x21, 0x63, 0xDD, 0x0A, 0xA1, - 0x77, 0xDA, 0x9D, 0x4D, 0xAA, 0x69, 0x26, 0x7D, 0x54, 0xB2, 0x40, 0x20, 0x55, 0x14, 0x13, 0x25, 0x61, 0x61, 0x4D, 0xA6, 0x7D, - 0xBF, 0xEE, 0xF0, 0x13, 0xF6, 0x85, 0x7D, 0x89, 0x66, 0xF1, 0x09, 0x5E, 0xBF, 0x0B, 0xCB, 0xEB, 0xF7, 0x75, 0x96, 0x89, 0x65, - 0x9B, 0x72, 0xEF, 0x5E, 0x1E, 0x6E, 0x6E, 0xCE, 0x8D, 0xC4, 0x1B, 0x11, 0x84, 0x6E, 0x59, 0x31, 0x16, 0x2F, 0x78, 0xF0, 0x70, - 0xED, 0xF8, 0x0A, 0x04, 0xC7, 0xD4, 0x5D, 0x48, 0xD8, 0x69, 0x72, 0xB6, 0x88, 0xF4, 0x3B, 0x00, 0x2B, 0x86, 0xDC, 0x51, 0x9B, - 0x5F, 0xF0, 0x79, 0xB9, 0xDD, 0xE2, 0x09, 0x0F, 0xD3, 0x12, 0x45, 0x52, 0x12, 0x46, 0x16, 0x18, 0x8E, 0x4A, 0x78, 0x3D, 0x22, - 0x35, 0x17, 0xAC, 0x14, 0x01, 0x7F, 0x7D, 0x95, 0x8E, 0x41, 0x55, 0xE4, 0x4D, 0x16, 0x26, 0x6F, 0xB2, 0xD4, 0x1E, 0xCE, 0x44, - 0xB9, 0xE9, 0xD7, 0xB8, 0xBC, 0x8D, 0x90, 0xF5, 0x95, 0xB7, 0x32, 0xC9, 0x7E, 0xF1, 0x91, 0x95, 0x73, 0x2C, 0x40, 0x7F, 0xED, - 0x77, 0x2A, 0xB3, 0x58, 0xDF, 0x44, 0x68, 0xD1, 0x0B, 0x30, 0x68, 0x41, 0x72, 0x5D, 0xD1, 0x22, 0x46, 0x90, 0xC3, 0x32, 0x11, - 0xEE, 0xCE, 0xC2, 0xAB, 0x5A, 0xDE, 0x32, 0x3B, 0x4A, 0xA4, 0x36, 0xB0, 0xEC, 0xC4, 0x85, 0x0C, 0x09, 0xCC, 0xC2, 0x94, 0x26, - 0xFF, 0x92, 0x2B, 0xAC, 0x09, 0xC6, 0x72, 0xAC, 0xBC, 0xDA, 0xCE, 0x2F, 0x29, 0xCA, 0x65, 0x9E, 0x90, 0x00, 0xCE, 0xFD, 0x77, - 0x63, 0xE1, 0xB9, 0xCC, 0x40, 0xE8, 0xE0, 0x44, 0xA5, 0x6A, 0x6E, 0xAC, 0x77, 0x5B, 0xCD, 0x55, 0xC9, 0xE9, 0xFF, 0x54, 0xB2, - 0xE6, 0x53, 0xAE, 0x8F, 0x97, 0xAF, 0x4E, 0x7A, 0x3A, 0xAE, 0xBB, 0x5E, 0xDD, 0x82, 0x81, 0xE2, 0x1D, 0x8A, 0x42, 0xA9, 0xEA, - 0x56, 0xA8, 0x5C, 0x93, 0x40, 0xE8, 0x6D, 0xF3, 0xFC, 0xE1, 0x91, 0x24, 0x2A, 0xC3, 0xBD, 0xFB, 0xF8, 0xD8, 0x7B, 0xF4, 0xC8, - 0x8A, 0xAF, 0x18, 0x2E, 0x3E, 0xD4, 0x19, 0xD1, 0x5D, 0x21, 0x32, 0xB6, 0xA2, 0x0F, 0x78, 0x68, 0xD5, 0xC1, 0x9B, 0x69, 0x48, - 0x46, 0xB8, 0x41, 0x45, 0x4C, 0xBC, 0x57, 0x09, 0xE2, 0x9F, 0x8F, 0x37, 0x34, 0x73, 0x0C, 0x7F, 0x48, 0x4F, 0x13, 0x16, 0x9D, - 0xE4, 0x8E, 0xD6, 0x09, 0xDD, 0xA1, 0xBA, 0x5C, 0x5C, 0xA9, 0x04, 0xBD, 0x05, 0xC3, 0x0E, 0x9D, 0x44, 0x1B, 0x5D, 0x74, 0xBA, - 0x98, 0x05, 0xF8, 0xFC, 0x99, 0x41, 0x1D, 0x00, 0xBB, 0x95, 0x0D, 0xF0, 0xAD, 0x90, 0x4F, 0x51, 0x0F, 0xF7, 0x2C, 0xFE, 0xF0, - 0x83, 0xD1, 0x0B, 0x76, 0x8D, 0x1D, 0x19, 0xE9, 0x8E, 0xCE, 0x8C, 0xDC, 0xA6, 0x0E, 0x2B, 0x45, 0x78, 0xA7, 0x18, 0x5C, 0x8D, - 0x4B, 0x69, 0xA9, 0x49, 0xF6, 0xFA, 0xEA, 0x58, 0xFD, 0xFA, 0x96, 0x8E, 0x62, 0x8C, 0x57, 0xD5, 0x76, 0xF1, 0x76, 0xBB, 0xDE, - 0x6E, 0xE7, 0x3C, 0xC4, 0x73, 0x5A, 0x7F, 0xD9, 0x8E, 0x78, 0x6C, 0xCA, 0x17, 0xA9, 0xF1, 0xB8, 0x01, 0x92, 0x40, 0x40, 0x3E, - 0xFE, 0x3C, 0x47, 0x3D, 0xC7, 0xC0, 0x67, 0x3F, 0x9E, 0xE0, 0x0C, 0xE3, 0x85, 0x22, 0x90, 0x5A, 0xDA, 0xED, 0x35, 0x46, 0x49, - 0x7B, 0x9B, 0xDC, 0xB1, 0x6C, 0x53, 0x1A, 0x5E, 0xAB, 0xC1, 0xE3, 0xC9, 0x09, 0x48, 0x26, 0xB2, 0xE4, 0x2E, 0x30, 0xA4, 0x6C, - 0x71, 0xB7, 0x23, 0xA7, 0x88, 0xD3, 0x39, 0xAE, 0x37, 0xFE, 0xA2, 0xD1, 0xF7, 0xD0, 0xDD, 0x9B, 0x87, 0x14, 0x61, 0xD7, 0x62, - 0xBB, 0x87, 0x6F, 0x90, 0x7A, 0xC6, 0xD0, 0x04, 0xD1, 0xE1, 0xEA, 0xC2, 0x30, 0xD5, 0x73, 0x0A, 0x46, 0xBD, 0xE0, 0x0F, 0x1F, - 0x63, 0x0F, 0x08, 0x52, 0xCA, 0x97, 0x30, 0x24, 0x6A, 0x88, 0xF2, 0x30, 0xE3, 0x40, 0x25, 0xB8, 0x0B, 0x4C, 0xCA, 0x89, 0x89, - 0x9B, 0xF1, 0x1C, 0xA4, 0x83, 0x31, 0xB6, 0x92, 0x05, 0x08, 0xEC, 0x8E, 0x8B, 0xB3, 0xDD, 0xCB, 0x0A, 0xFD, 0x02, 0xB1, 0xD2, - 0xF3, 0x06, 0x52, 0xD0, 0x7B, 0x08, 0x3F, 0x42, 0xA1, 0x8F, 0xA6, 0x48, 0xFC, 0x31, 0xF0, 0x1F, 0x22, 0x7B, 0x8E, 0x81, 0x45, - 0x96, 0xD3, 0x8F, 0x62, 0x62, 0x1F, 0x88, 0x9A, 0x62, 0xF5, 0x30, 0xE8, 0xA5, 0x35, 0x47, 0x35, 0xAE, 0x83, 0x08, 0xA9, 0x70, - 0x49, 0x9C, 0x37, 0x84, 0xEB, 0x67, 0xD8, 0x32, 0x2B, 0x81, 0x58, 0xB2, 0xB2, 0x55, 0x6C, 0xD6, 0x48, 0x49, 0xCC, 0x78, 0xAE, - 0x43, 0x6C, 0xBA, 0xF4, 0x66, 0x54, 0x19, 0xDE, 0xBA, 0x99, 0x63, 0xE5, 0xAE, 0x97, 0xBC, 0x8D, 0x24, 0x79, 0xBA, 0x94, 0x7B, - 0xAD, 0xFE, 0x36, 0x29, 0xAF, 0x1C, 0x5F, 0xAF, 0x58, 0xCB, 0x88, 0xAE, 0x24, 0x2F, 0xC3, 0xAA, 0xCA, 0x20, 0xE6, 0xBB, 0x5C, - 0x9A, 0xBD, 0x2F, 0xF8, 0xA5, 0x5F, 0x8A, 0x46, 0xC3, 0x3F, 0xD5, 0x4D, 0x2D, 0x15, 0x1A, 0x46, 0xEE, 0xAA, 0xE8, 0xF9, 0x2C, - 0x74, 0xAC, 0x96, 0x17, 0x3C, 0x23, 0x04, 0xD1, 0x25, 0xD7, 0x61, 0x4E, 0xFF, 0x98, 0x7E, 0x75, 0xF2, 0x7F, 0x66, 0xA7, 0x9A, - 0xAF, 0xAE, 0x4D, 0xC1, 0xA9, 0xB4, 0xFD, 0xD2, 0xFD, 0x52, 0x46, 0x64, 0xB1, 0x44, 0x47, 0x7E, 0x83, 0xB3, 0x34, 0xC2, 0x65, - 0xF0, 0x9B, 0xD7, 0xF2, 0x2A, 0x04, 0xC6, 0x40, 0x97, 0x77, 0x32, 0x8C, 0xF8, 0x73, 0x12, 0x54, 0x3B, 0xA8, 0x15, 0xBE, 0xD3, - 0xA3, 0x83, 0x52, 0xF1, 0xA4, 0x24, 0xE4, 0x17, 0x3A, 0x41, 0x8C, 0x3C, 0xEA, 0x0A, 0x0E, 0x7B, 0xD4, 0xDB, 0x99, 0x13, 0xF6, - 0xEE, 0x36, 0x4E, 0x17, 0x2B, 0x56, 0x7B, 0xD1, 0xA3, 0x72, 0xA5, 0x2C, 0x0E, 0x6A, 0xD1, 0x65, 0xF0, 0x85, 0x1C, 0xBB, 0x3F, - 0x60, 0x11, 0x28, 0xBA, 0x05, 0x22, 0x6C, 0x8B, 0x9A, 0x30, 0xB1, 0xE8, 0xD5, 0x9A, 0xB5, 0x5A, 0x9E, 0x07, 0x2B, 0x7E, 0x50, - 0x2D, 0xEE, 0xE0, 0xA1, 0x10, 0x27, 0xB0, 0xA7, 0xAF, 0xCD, 0x49, 0x97, 0x1C, 0xD5, 0x44, 0x45, 0x9E, 0xDB, 0x04, 0xAE, 0x5B, - 0x70, 0x8E, 0x77, 0x47, 0x2A, 0x14, 0x78, 0x19, 0x20, 0xC4, 0x56, 0x0E, 0x2E, 0xC9, 0x89, 0x5D, 0xD6, 0x78, 0x1C, 0x65, 0xDC, - 0x6E, 0x97, 0x35, 0xDF, 0x75, 0xCE, 0x31, 0x1B, 0xA2, 0x52, 0x2A, 0xFC, 0xC2, 0xB0, 0xDE, 0x19, 0x25, 0xF1, 0xD1, 0x90, 0xCB, - 0x03, 0x86, 0x8E, 0xBA, 0x92, 0x63, 0xC2, 0x1C, 0xAF, 0x98, 0xD4, 0xE7, 0xEC, 0x51, 0xDD, 0x44, 0x3F, 0x32, 0xA2, 0x02, 0xD1, - 0x23, 0x49, 0xF6, 0xCC, 0x05, 0xD5, 0x84, 0x6A, 0x28, 0xA5, 0x6A, 0xF9, 0xB0, 0x9A, 0x42, 0xD2, 0x83, 0x3E, 0x72, 0x12, 0xD1, - 0x43, 0x14, 0x0A, 0x8D, 0xE7, 0x6E, 0x4A, 0xFD, 0xF6, 0x8C, 0x0B, 0xC3, 0xBB, 0xDD, 0x81, 0x64, 0xA2, 0x42, 0xE7, 0xDA, 0x18, - 0x73, 0x53, 0x59, 0xA2, 0xEF, 0x11, 0x3E, 0x63, 0xD6, 0x5E, 0xCB, 0xD1, 0x3F, 0x39, 0x71, 0x0D, 0xC0, 0xEC, 0x1A, 0x1F, 0xDE, - 0xE6, 0xE2, 0x79, 0x1A, 0xC1, 0x26, 0x01, 0x2B, 0xB7, 0x88, 0xF2, 0xC3, 0x54, 0x62, 0x2D, 0xC2, 0x83, 0x60, 0x7D, 0x8E, 0xB7, - 0xC6, 0xAE, 0x37, 0x09, 0x60, 0xDF, 0x5B, 0x25, 0x37, 0xB7, 0x25, 0x5E, 0x5E, 0xB6, 0xA4, 0xCB, 0x27, 0x83, 0x00, 0x94, 0x13, - 0xF1, 0xC2, 0x17, 0x3D, 0xE5, 0xDC, 0x41, 0x31, 0x3E, 0x18, 0x6B, 0x91, 0x59, 0xA4, 0x84, 0xA5, 0xE4, 0xF8, 0x39, 0x99, 0xB6, - 0x1B, 0xF6, 0x92, 0x9A, 0xC4, 0x6D, 0x57, 0x17, 0xDB, 0x31, 0x36, 0xC0, 0x95, 0xD6, 0x5C, 0xC4, 0x97, 0x4E, 0x84, 0xCA, 0x96, - 0x8B, 0x38, 0xD3, 0x09, 0xF7, 0x87, 0x4B, 0x78, 0x42, 0x9F, 0x9E, 0x1D, 0xCB, 0x52, 0x48, 0x2B, 0x79, 0xCA, 0x00, 0x53, 0x5E, - 0xB3, 0xE5, 0x8A, 0x51, 0xE7, 0xC2, 0xCC, 0x8E, 0x37, 0x18, 0x21, 0x9D, 0x5E, 0x17, 0x5B, 0xC7, 0xF4, 0x62, 0xC2, 0x88, 0x0A, - 0x02, 0x08, 0x58, 0x8B, 0x7E, 0x60, 0xD4, 0x02, 0xAE, 0x93, 0x24, 0x1D, 0x7E, 0x83, 0xCE, 0xEF, 0x9D, 0xE3, 0x0F, 0x4E, 0xC4, - 0xA4, 0xB4, 0x24, 0x1D, 0x7A, 0x37, 0x4D, 0xE8, 0x2C, 0x49, 0x47, 0xC6, 0x00, 0x11, 0xA1, 0xB3, 0x13, 0xE3, 0x49, 0x06, 0x0C, - 0xA1, 0x0D, 0x05, 0xE8, 0xCA, 0xA3, 0x88, 0x1C, 0x80, 0x3F, 0x79, 0x70, 0x31, 0x1E, 0x59, 0x3B, 0xE9, 0xDC, 0xE7, 0xF1, 0x7A, - 0xCD, 0xF2, 0x82, 0x47, 0xCB, 0xC6, 0x93, 0x01, 0x3C, 0xBA, 0xE5, 0xEE, 0xD4, 0x49, 0x07, 0x4D, 0x6B, 0x3C, 0xD8, 0x40, 0x7D, - 0x4C, 0xE6, 0x93, 0x7B, 0x12, 0x97, 0xC6, 0x08, 0xED, 0x6C, 0xBA, 0x08, 0xA6, 0x80, 0x13, 0x63, 0x95, 0x08, 0xA8, 0x17, 0x55, - 0x83, 0x76, 0x64, 0x1D, 0x66, 0x9D, 0x31, 0x9F, 0xE4, 0x41, 0x35, 0x8E, 0x8C, 0x84, 0xE6, 0x23, 0x81, 0xD0, 0x83, 0x78, 0x11, - 0xC2, 0xEA, 0x82, 0x1B, 0x11, 0x79, 0x0E, 0x1F, 0x35, 0xDD, 0x7D, 0x72, 0x94, 0x11, 0x77, 0xA4, 0x76, 0x8A, 0xCA, 0xEF, 0x92, - 0x34, 0xB9, 0x8B, 0x57, 0x9E, 0x6A, 0x99, 0xC7, 0x2B, 0xB7, 0xDB, 0x44, 0x4A, 0x18, 0xE9, 0x86, 0x79, 0x64, 0x73, 0xBB, 0x49, - 0x2C, 0x62, 0x62, 0x9F, 0xE6, 0x29, 0x5F, 0xCF, 0x79, 0xB8, 0x07, 0xFC, 0x06, 0x9C, 0x51, 0xF0, 0x87, 0x91, 0xA0, 0x3E, 0xB1, - 0x80, 0xD3, 0x30, 0xF5, 0x2B, 0xE8, 0x91, 0x02, 0x68, 0xDE, 0x70, 0x25, 0x6E, 0xE7, 0x07, 0x42, 0x38, 0xCD, 0x41, 0x5E, 0x87, - 0x55, 0xF1, 0xBD, 0x2C, 0x66, 0xDE, 0x08, 0xF6, 0x02, 0xDF, 0x90, 0x4B, 0x6B, 0xD1, 0x37, 0xEE, 0x81, 0x81, 0x66, 0xF7, 0x64, - 0x72, 0xE0, 0x9F, 0x20, 0x9F, 0x6A, 0x56, 0x70, 0xE0, 0x7C, 0xC9, 0x03, 0x13, 0xE7, 0x89, 0x94, 0x60, 0x81, 0x74, 0xD4, 0x24, - 0xE5, 0xC9, 0xAE, 0xB5, 0xD5, 0x9D, 0x9C, 0x94, 0x2F, 0x86, 0xAF, 0x80, 0x77, 0x7B, 0x11, 0xB7, 0x6B, 0x08, 0xC5, 0x0B, 0xF4, - 0xB9, 0x00, 0x38, 0xA7, 0x14, 0x4C, 0x7E, 0x42, 0x8D, 0x78, 0xCE, 0x92, 0x95, 0x3F, 0xF8, 0x52, 0x3D, 0x29, 0x7A, 0x3A, 0x3C, - 0xC9, 0x75, 0x6C, 0xF1, 0xD4, 0x78, 0x73, 0xE6, 0x8C, 0x5E, 0x25, 0xD4, 0xBF, 0x7B, 0xB8, 0xBC, 0x0B, 0xE8, 0xAE, 0xB8, 0x3A, - 0x1B, 0x5E, 0x06, 0xD9, 0x34, 0x9D, 0x16, 0xB3, 0xA8, 0xB8, 0xEA, 0x9F, 0x4D, 0x8A, 0xF6, 0xD9, 0x68, 0x5C, 0x5C, 0x8D, 0xFA, - 0xF0, 0x75, 0xDE, 0x83, 0xAF, 0x33, 0xF8, 0x3A, 0x19, 0x8E, 0x8B, 0x93, 0xD1, 0xCB, 0xED, 0x70, 0x00, 0xA5, 0xDA, 0xED, 0xCB, - 0xC4, 0x15, 0x6F, 0xCA, 0xBE, 0x47, 0x9E, 0x71, 0x55, 0x97, 0xCE, 0xB4, 0xE2, 0xA8, 0x4B, 0x4F, 0x8E, 0x94, 0x57, 0xF9, 0xA5, - 0xF2, 0xD6, 0xE7, 0x4F, 0x66, 0x09, 0x8F, 0x89, 0xB9, 0x7A, 0x23, 0xB4, 0x98, 0xC6, 0xF8, 0xF4, 0x4D, 0x3A, 0xDD, 0xBC, 0x7A, - 0xD5, 0xC7, 0xD0, 0xE6, 0xFE, 0xE0, 0x78, 0x13, 0x5C, 0x5D, 0x0D, 0xA1, 0x85, 0x9E, 0xFD, 0x6A, 0xA8, 0x2A, 0x9A, 0x6C, 0xA1, - 0xF0, 0x90, 0x0A, 0xF7, 0x46, 0x54, 0xBA, 0x0F, 0xA5, 0xFB, 0xF6, 0x4B, 0xA2, 0x76, 0xE9, 0xB3, 0x59, 0xA8, 0x12, 0xCE, 0xA0, - 0x07, 0x3C, 0x78, 0xEB, 0xEE, 0xE2, 0x57, 0x17, 0xBD, 0x97, 0x80, 0x7C, 0xDF, 0xCF, 0x80, 0xBF, 0x66, 0x00, 0x7B, 0x20, 0xCE, - 0xD0, 0x9E, 0x34, 0xFE, 0xA3, 0x1F, 0x0D, 0x8C, 0x53, 0x99, 0x62, 0xE7, 0xD0, 0x8A, 0xEE, 0x52, 0xF5, 0x76, 0xD6, 0x0B, 0xD1, - 0x14, 0x69, 0xE4, 0x9E, 0x81, 0xF2, 0x16, 0x66, 0x13, 0x3F, 0x3E, 0x3E, 0xCE, 0x0E, 0xED, 0x4B, 0x1C, 0x67, 0x76, 0xC3, 0x38, - 0xC0, 0xCA, 0x42, 0xCA, 0x46, 0xB3, 0xF4, 0xF3, 0xEA, 0xEE, 0x2E, 0xE5, 0xB6, 0xB0, 0x37, 0x22, 0x40, 0x8E, 0xB4, 0x22, 0x7C, - 0xFE, 0x74, 0x78, 0x52, 0xE1, 0xEC, 0xC6, 0x49, 0x14, 0x3B, 0x02, 0x32, 0x85, 0x11, 0x91, 0xF8, 0x7D, 0x26, 0x06, 0x59, 0xBC, - 0xEA, 0x05, 0x7C, 0x16, 0xCC, 0x78, 0x3D, 0xFE, 0x3C, 0xCA, 0xF0, 0xBE, 0x9C, 0x3B, 0x42, 0x8F, 0x7E, 0xDA, 0x5D, 0x52, 0x47, - 0xA1, 0xA8, 0x23, 0x89, 0xE6, 0x00, 0x4B, 0x85, 0x0E, 0xC4, 0x6B, 0x49, 0x09, 0x4C, 0xFB, 0xD6, 0x1F, 0x5E, 0x1C, 0xCF, 0x03, - 0xA0, 0x86, 0x90, 0x17, 0xAD, 0x10, 0x81, 0x28, 0x8A, 0x64, 0x92, 0x20, 0x51, 0x6D, 0xFD, 0xB3, 0x2E, 0x95, 0xEF, 0x8B, 0xF2, - 0x03, 0xFB, 0x61, 0x59, 0x59, 0x7E, 0x40, 0xC5, 0xCF, 0xB6, 0x58, 0xA4, 0xBB, 0x43, 0x63, 0x27, 0x0E, 0xB0, 0x78, 0x72, 0x00, - 0xD2, 0xF2, 0x72, 0x92, 0xD2, 0x69, 0x35, 0x88, 0x33, 0x8E, 0xB8, 0x1F, 0xA7, 0x7F, 0xF8, 0x93, 0x31, 0xAA, 0x3A, 0xF1, 0xC9, - 0x5F, 0xDD, 0x93, 0x97, 0xED, 0xD3, 0xD9, 0xE3, 0x70, 0x17, 0x7C, 0x59, 0x4B, 0xEC, 0xEF, 0xA2, 0x68, 0x6B, 0x27, 0x0D, 0x76, - 0x51, 0x30, 0xF9, 0xC7, 0xA9, 0x10, 0x94, 0x9E, 0x34, 0xF9, 0xEB, 0x27, 0x9C, 0x80, 0x7D, 0x72, 0x21, 0x6C, 0x95, 0x80, 0xD0, - 0x95, 0xE2, 0xCE, 0xF9, 0xB8, 0x33, 0xD8, 0x5D, 0x12, 0xDA, 0x0F, 0xEA, 0x35, 0x48, 0x3B, 0x7E, 0xA5, 0x11, 0x8A, 0x5A, 0xE2, - 0x48, 0x34, 0x56, 0xD2, 0xE3, 0x32, 0x1D, 0x97, 0xE1, 0xBC, 0xFC, 0x73, 0x9C, 0x73, 0x1D, 0x66, 0x27, 0x9F, 0x88, 0xB4, 0x7A, - 0x5C, 0x2E, 0xEB, 0x4A, 0xB4, 0x56, 0x8F, 0x82, 0x3A, 0xF0, 0x4A, 0x26, 0x55, 0xA5, 0xCA, 0x6A, 0x29, 0x0E, 0x08, 0x2F, 0xA8, - 0x99, 0x6E, 0xBD, 0x90, 0x70, 0xE3, 0x30, 0xA3, 0xE9, 0xA2, 0xE3, 0x67, 0x8A, 0x6D, 0x4E, 0x72, 0x29, 0x48, 0x27, 0x5C, 0x55, - 0x49, 0xEC, 0x57, 0x91, 0xCD, 0x41, 0xB0, 0xBB, 0xC4, 0xE5, 0x99, 0x50, 0xEF, 0x90, 0x2C, 0x79, 0xA6, 0xF4, 0x3C, 0x45, 0x18, - 0x7A, 0x00, 0x83, 0xE3, 0xD5, 0x32, 0x8E, 0x46, 0xFD, 0x36, 0x58, 0x42, 0x4F, 0x33, 0x63, 0xDD, 0x8A, 0x43, 0x4D, 0x50, 0x72, - 0xB0, 0xE5, 0x13, 0x61, 0x54, 0xB2, 0x03, 0x98, 0x47, 0x09, 0xD3, 0x04, 0xFA, 0x70, 0xAA, 0xD1, 0x86, 0x00, 0x75, 0x5D, 0xDA, - 0x3B, 0x92, 0xFB, 0x27, 0x3D, 0x60, 0x3E, 0xE8, 0x73, 0x1F, 0x28, 0x63, 0x9F, 0xD6, 0x2F, 0xA0, 0x99, 0x25, 0xFC, 0xE9, 0x49, - 0x77, 0x86, 0xA7, 0x13, 0x98, 0xF1, 0x5B, 0x92, 0x96, 0x17, 0x22, 0x72, 0x4E, 0x87, 0x3B, 0xB0, 0xA3, 0x7D, 0xBF, 0xD7, 0xBF, - 0xC0, 0x53, 0x80, 0xE9, 0x60, 0x66, 0x3D, 0x4D, 0x18, 0x52, 0x00, 0xAC, 0x72, 0xDA, 0xC5, 0x60, 0x2F, 0xC9, 0x34, 0x9D, 0x41, - 0x91, 0xEE, 0x0C, 0xBF, 0xDA, 0x3D, 0xFC, 0xEE, 0xF1, 0xEF, 0x3E, 0x7E, 0xF7, 0xF9, 0xF7, 0x60, 0x46, 0xCD, 0x68, 0x93, 0x5A, - 0xE6, 0x6E, 0x66, 0x60, 0x34, 0xD3, 0x37, 0x9A, 0xE9, 0x19, 0xCD, 0x74, 0x67, 0xF6, 0x2D, 0x1B, 0xFD, 0x92, 0x4E, 0x4E, 0x6D, - 0x21, 0xBB, 0xC7, 0x1A, 0xF8, 0x05, 0x2D, 0x85, 0xD8, 0x12, 0x7D, 0xF7, 0xF1, 0x7B, 0xC0, 0xBF, 0xA1, 0xA3, 0xD2, 0x6A, 0x29, - 0xAE, 0xB4, 0x34, 0x50, 0x2D, 0xF5, 0x8D, 0x96, 0x7A, 0x46, 0x4B, 0x5D, 0xBB, 0x25, 0x06, 0x42, 0x30, 0x88, 0x66, 0xE2, 0x19, - 0xF9, 0x28, 0x99, 0xA4, 0xE3, 0x2C, 0x34, 0x13, 0xBF, 0xC6, 0xC4, 0x6C, 0x9C, 0x86, 0xCC, 0x7C, 0x6F, 0x1E, 0xD2, 0x8A, 0x71, - 0x6C, 0xA6, 0x51, 0xB9, 0x78, 0x8C, 0x42, 0x95, 0x19, 0x0B, 0x49, 0x41, 0x5A, 0x6A, 0x8F, 0x4C, 0x61, 0x2A, 0xBF, 0xEA, 0x4E, - 0x7A, 0x63, 0x32, 0xEB, 0xA6, 0x64, 0x72, 0x3B, 0x01, 0x19, 0x9A, 0xAF, 0x40, 0xE6, 0xF7, 0x4E, 0xCB, 0x57, 0xDD, 0x49, 0x77, - 0xDC, 0xEF, 0x0D, 0xCF, 0x87, 0x17, 0x83, 0xB3, 0xE1, 0x85, 0xF6, 0x9C, 0xC4, 0xE5, 0x9A, 0x14, 0x3F, 0xC7, 0x3F, 0xA3, 0xDD, - 0x98, 0x81, 0x5E, 0x32, 0x1C, 0xF4, 0x2F, 0x5E, 0x0E, 0x86, 0x43, 0xBB, 0x48, 0xF9, 0x6A, 0x30, 0xEC, 0xF6, 0x2F, 0xFA, 0x83, - 0xE1, 0xD9, 0xD9, 0xE0, 0x62, 0xD4, 0xBF, 0xB8, 0x38, 0x63, 0xA0, 0xB2, 0x30, 0xDF, 0x4F, 0xAF, 0xAE, 0x06, 0xBD, 0x6D, 0xBF, - 0x37, 0x78, 0xD9, 0x7D, 0x39, 0xEA, 0x0E, 0xBB, 0xFC, 0xD9, 0x21, 0xBB, 0xF2, 0x55, 0xAF, 0x77, 0x3E, 0x1A, 0xBE, 0x1C, 0x0E, - 0x46, 0xDD, 0x8B, 0x7E, 0xBF, 0x7F, 0x71, 0x3E, 0x62, 0x27, 0xA3, 0xA1, 0xAE, 0x4D, 0xB2, 0x54, 0x9E, 0x01, 0x41, 0xFB, 0xE5, - 0x69, 0x6F, 0xD8, 0xED, 0xF5, 0x5F, 0x5E, 0x0C, 0xCF, 0x00, 0x92, 0xE1, 0x45, 0xEF, 0x9C, 0x9D, 0x9C, 0x75, 0x83, 0x4A, 0xAB, - 0xC2, 0xDF, 0x93, 0xEA, 0x2D, 0x57, 0x19, 0x2C, 0x3C, 0xFA, 0x5C, 0x65, 0x68, 0x72, 0x3C, 0xA5, 0xEF, 0x1F, 0x7F, 0xEE, 0xA3, - 0x6F, 0xBA, 0xE8, 0x21, 0x6B, 0xF7, 0xFA, 0xE7, 0xB0, 0x3B, 0x0D, 0xB6, 0x17, 0x03, 0x80, 0xBD, 0x7B, 0x7E, 0x6C, 0xF6, 0xF9, - 0x25, 0xFD, 0x58, 0x67, 0xF7, 0x7E, 0x3F, 0x3C, 0xC9, 0x82, 0x2F, 0x79, 0x99, 0x0B, 0xA3, 0x57, 0xE3, 0x7C, 0x20, 0x97, 0x2B, - 0x54, 0xA8, 0xAA, 0xF4, 0xC6, 0x28, 0xBE, 0x75, 0xF8, 0xA5, 0x9F, 0xBC, 0x7A, 0x35, 0xE8, 0x05, 0xED, 0x1E, 0x88, 0x5E, 0xF0, - 0xF9, 0xAA, 0x3F, 0x38, 0xEE, 0x8F, 0x46, 0xB0, 0x5F, 0xC9, 0x3E, 0x15, 0xA3, 0x82, 0x64, 0x98, 0x9B, 0x6C, 0x52, 0x4C, 0x00, - 0xF3, 0xE3, 0xF4, 0x4B, 0x98, 0xA2, 0x6E, 0x30, 0xEE, 0x52, 0x9A, 0x6B, 0xFC, 0x5F, 0xA6, 0x5F, 0x16, 0x50, 0xCC, 0x00, 0x33, - 0x3B, 0xE9, 0x8D, 0xBA, 0xB0, 0x43, 0x15, 0x6D, 0x09, 0x6C, 0x95, 0xFA, 0x64, 0xC8, 0x52, 0x6E, 0x25, 0xAD, 0x92, 0xA1, 0x99, - 0x9B, 0x05, 0x15, 0x7A, 0xCC, 0x8D, 0xCC, 0x22, 0xA8, 0x10, 0xA6, 0x99, 0x19, 0x07, 0x40, 0xA1, 0x61, 0x23, 0x27, 0x3A, 0x1B, - 0x3E, 0xC5, 0x89, 0x44, 0x89, 0xE7, 0x70, 0xA2, 0xF3, 0xCF, 0xC5, 0x89, 0xE8, 0x7B, 0x88, 0xDF, 0x43, 0xFE, 0x3D, 0xC2, 0xEF, - 0x11, 0xFF, 0x3E, 0xC3, 0xEF, 0x33, 0xFE, 0x7D, 0x3E, 0xA3, 0x6E, 0x9F, 0xE4, 0x5C, 0xE7, 0x46, 0xB7, 0x67, 0x46, 0xB7, 0x23, - 0xA3, 0xDB, 0xA1, 0xD1, 0xED, 0xC0, 0xE8, 0xB6, 0x6F, 0x74, 0xDB, 0x33, 0xBA, 0xFD, 0x5C, 0x9C, 0x0E, 0x7B, 0xA6, 0xEF, 0x21, - 0x7E, 0x8F, 0xF8, 0xF7, 0x08, 0xBF, 0xCF, 0xF8, 0xF7, 0x19, 0x7E, 0x9F, 0xF3, 0xEF, 0xF3, 0xA7, 0x38, 0xE3, 0xB9, 0xEA, 0xF9, - 0xCC, 0xE8, 0x79, 0x64, 0xF4, 0x3C, 0x34, 0x7A, 0x1E, 0x18, 0x3D, 0xF7, 0x8D, 0x9E, 0x7B, 0x46, 0xCF, 0x5D, 0xBB, 0x67, 0x41, - 0xAD, 0xDF, 0x92, 0xE7, 0x76, 0x95, 0x95, 0xF2, 0xD4, 0x0A, 0x2F, 0x35, 0x8A, 0x6A, 0x66, 0x6A, 0x94, 0x3C, 0x84, 0x9B, 0x86, - 0x29, 0x1E, 0x78, 0xF0, 0x93, 0xF1, 0x44, 0x73, 0xD4, 0x82, 0xCE, 0x27, 0x4F, 0x12, 0xCE, 0x51, 0x93, 0x00, 0x45, 0x77, 0x28, - 0xD9, 0x2E, 0xF1, 0xFE, 0x4C, 0xEF, 0x34, 0xA9, 0x32, 0x57, 0xCC, 0xCB, 0xAB, 0xEC, 0x35, 0x09, 0xEC, 0x7A, 0x50, 0xFE, 0xEC, - 0xE5, 0xE8, 0xE5, 0xE0, 0xAC, 0x5B, 0x2B, 0xFF, 0xAA, 0x77, 0xFE, 0xF2, 0xFC, 0xEC, 0xE5, 0xA0, 0x37, 0x18, 0x5E, 0x9C, 0xF5, - 0x07, 0xBD, 0xD1, 0x39, 0xEB, 0xBF, 0xEC, 0xDB, 0xD5, 0xFD, 0x42, 0xF0, 0x5D, 0xE4, 0x13, 0xA3, 0xEE, 0xB9, 0x78, 0x08, 0xD1, - 0x68, 0x8A, 0x3B, 0xF2, 0xD2, 0x99, 0xE7, 0x15, 0x30, 0x5D, 0x28, 0x03, 0x8C, 0xFB, 0x02, 0x8B, 0x76, 0x7B, 0x43, 0x76, 0x02, - 0xCC, 0x05, 0x19, 0x70, 0x1C, 0x25, 0xA7, 0x23, 0xFE, 0x4B, 0x35, 0x60, 0x76, 0x10, 0x9F, 0x0E, 0xFB, 0x2F, 0x87, 0x2F, 0xCF, - 0xCE, 0xFB, 0x2F, 0xCF, 0xDC, 0x5D, 0xCC, 0x9D, 0x6C, 0x38, 0x31, 0xD9, 0x70, 0xAF, 0xDB, 0x1F, 0x0A, 0x95, 0x0B, 0x54, 0xC8, - 0x2E, 0xAA, 0xBE, 0xCC, 0x1F, 0x8E, 0xBA, 0x83, 0xD1, 0xCB, 0x97, 0x67, 0xFD, 0xF3, 0xC1, 0x79, 0x17, 0x7A, 0xF8, 0x12, 0x61, - 0xB1, 0x38, 0xF1, 0x3C, 0x70, 0xC3, 0x34, 0x6F, 0x63, 0x1B, 0xC0, 0xCD, 0xBB, 0xDB, 0x5E, 0x77, 0x78, 0x31, 0x3A, 0x3F, 0xFB, - 0x32, 0x3E, 0xE6, 0x5F, 0x23, 0x13, 0xC6, 0x5D, 0x9D, 0x6B, 0xF3, 0x65, 0xCB, 0x77, 0x0F, 0x94, 0x1F, 0x53, 0x6C, 0xB8, 0x10, - 0x9F, 0x14, 0x64, 0x0D, 0xD8, 0x78, 0x21, 0xD9, 0xF8, 0x3C, 0xC2, 0x9B, 0x3D, 0xFD, 0xEE, 0x71, 0xBF, 0x3B, 0x3C, 0x0F, 0x37, - 0x91, 0x46, 0x05, 0x70, 0x6C, 0xDE, 0xDF, 0x71, 0x11, 0xB4, 0x33, 0xC5, 0xD6, 0xA1, 0x18, 0x8E, 0x73, 0xB2, 0x21, 0xBE, 0x1E, - 0x1B, 0x7C, 0x7D, 0x3E, 0xE1, 0x58, 0xFE, 0x32, 0xFE, 0x72, 0x03, 0x19, 0xC6, 0x30, 0xE7, 0x27, 0xBD, 0x2E, 0xC0, 0xFD, 0xA5, - 0xBF, 0x69, 0x57, 0x51, 0x12, 0xD4, 0xD6, 0x81, 0xC5, 0xD4, 0xC3, 0x6E, 0x38, 0x0C, 0x6A, 0x8B, 0xC2, 0xE2, 0xEC, 0xE1, 0x30, - 0xEC, 0x06, 0xD5, 0x15, 0x62, 0xB1, 0x77, 0xD9, 0x88, 0xB5, 0x5C, 0x2C, 0x1E, 0x4F, 0x6D, 0x20, 0x9F, 0x37, 0xAE, 0x84, 0x28, - 0x31, 0x15, 0xDF, 0x98, 0x8E, 0x60, 0x3B, 0x3B, 0x86, 0xDF, 0xA0, 0xA9, 0xE1, 0x92, 0x06, 0x94, 0x5D, 0xD0, 0xC6, 0x87, 0x09, - 0x7D, 0x9E, 0xD0, 0x3B, 0x53, 0x29, 0x03, 0x9E, 0xD2, 0x1F, 0xDA, 0xFC, 0x54, 0xB7, 0xC6, 0x73, 0xCD, 0xE6, 0x8C, 0xDA, 0xFD, - 0x6A, 0x07, 0x03, 0xD1, 0x7D, 0xE5, 0xDA, 0xB5, 0x52, 0x8F, 0x30, 0xA2, 0xE2, 0x16, 0x4D, 0x1D, 0xBD, 0xD9, 0xD5, 0xD5, 0x05, - 0x7D, 0xF5, 0xE1, 0xAB, 0x77, 0x46, 0x9F, 0x03, 0xF8, 0x14, 0xA4, 0x5F, 0xB9, 0xEF, 0x62, 0x35, 0x80, 0x85, 0x54, 0x23, 0xA2, - 0x6A, 0x5F, 0xB5, 0x37, 0x98, 0xF1, 0x06, 0x0C, 0xDD, 0x0D, 0xE8, 0xFF, 0xEF, 0x58, 0xAB, 0x8C, 0x23, 0x1D, 0x8C, 0xA7, 0xA1, - 0x9E, 0xAC, 0x32, 0x9F, 0xA9, 0xCA, 0x6D, 0xBD, 0x1F, 0xF8, 0xCB, 0x15, 0x6C, 0x91, 0x93, 0xB2, 0x1D, 0xF5, 0xC6, 0x39, 0xAC, - 0x8D, 0x21, 0x7D, 0xF7, 0xC7, 0xA3, 0x11, 0xD0, 0x2B, 0x68, 0xFC, 0x67, 0xC3, 0x51, 0xAF, 0x7F, 0x8C, 0xAE, 0x40, 0xA3, 0xB3, - 0x41, 0xBF, 0xAB, 0x52, 0xEC, 0x56, 0xDA, 0xBD, 0x20, 0x98, 0xF8, 0xD0, 0x41, 0x08, 0x95, 0x87, 0xC1, 0x18, 0xFE, 0x1D, 0x28, - 0xF5, 0x0A, 0x75, 0x2B, 0xA4, 0x93, 0x9A, 0x2A, 0x8A, 0xC7, 0x7D, 0x27, 0x20, 0xE6, 0x05, 0xD2, 0x73, 0xE8, 0xD2, 0x0A, 0x67, - 0x48, 0xA4, 0xC8, 0xFD, 0xAB, 0x85, 0x09, 0x0A, 0xF8, 0x29, 0x37, 0x3F, 0x71, 0xA0, 0xB3, 0x69, 0x41, 0xF6, 0x83, 0x31, 0xF0, - 0x3E, 0xB4, 0xFE, 0x20, 0xC7, 0x1A, 0xCA, 0x54, 0x7F, 0xD0, 0x13, 0xBA, 0xFF, 0xD9, 0xE0, 0x98, 0xD7, 0x82, 0x72, 0xFD, 0xC1, - 0x4B, 0x2C, 0x37, 0x38, 0x1B, 0x4D, 0xA0, 0x31, 0xDF, 0x3F, 0xA7, 0x32, 0xBD, 0x8B, 0xAD, 0xAF, 0x4A, 0xE1, 0xEF, 0xBE, 0xFD, - 0xDB, 0x68, 0x23, 0x38, 0x39, 0x1B, 0x8D, 0x06, 0x67, 0xA1, 0xE8, 0x85, 0xD0, 0xD4, 0x46, 0x11, 0x0E, 0xCD, 0xE1, 0x32, 0x11, - 0x31, 0xD5, 0xF6, 0x91, 0xDD, 0x40, 0xF3, 0xC1, 0x58, 0x42, 0x24, 0x8C, 0x17, 0x7B, 0x5A, 0x0F, 0x0B, 0x65, 0xC8, 0x4A, 0x41, - 0x1F, 0x4F, 0x9F, 0x63, 0xC8, 0xCA, 0x02, 0x32, 0x0D, 0xEA, 0x88, 0x6C, 0x13, 0xDC, 0x82, 0xD2, 0x43, 0x6B, 0x2B, 0xF3, 0x12, - 0xDE, 0x51, 0x0E, 0xD3, 0xE7, 0x98, 0xA6, 0xAC, 0xBA, 0x3B, 0x32, 0xEA, 0x27, 0xFB, 0x63, 0x55, 0xE2, 0xCD, 0x58, 0x61, 0xC7, - 0x34, 0xC8, 0xB3, 0xA0, 0x09, 0x36, 0x09, 0xAB, 0x90, 0xE4, 0x29, 0x2C, 0x45, 0xE3, 0x84, 0x93, 0xA8, 0x2F, 0x13, 0x5E, 0xBD, - 0x3A, 0xDB, 0xF6, 0x5E, 0xF6, 0x43, 0xF1, 0x1B, 0x10, 0x99, 0x6C, 0xA1, 0x42, 0x50, 0xA1, 0xDF, 0xA4, 0x46, 0xBF, 0x80, 0x5B, - 0xBB, 0x27, 0x24, 0xE1, 0x00, 0x89, 0x82, 0xE6, 0xB7, 0xED, 0xCB, 0xE9, 0x83, 0xF9, 0xEA, 0x06, 0x62, 0x32, 0x41, 0x20, 0x06, - 0x28, 0x43, 0xDD, 0x39, 0x10, 0x4E, 0x7F, 0xD8, 0x35, 0x13, 0xFA, 0xC7, 0x67, 0x03, 0x84, 0xC0, 0x48, 0x3B, 0xAB, 0x24, 0x69, - 0x20, 0x7D, 0xB3, 0xE2, 0xB6, 0x2F, 0xD8, 0xD7, 0x13, 0xB5, 0xB4, 0x6D, 0x2A, 0xFB, 0xB4, 0xA7, 0xD8, 0xB5, 0x16, 0x92, 0x6F, - 0xB7, 0x17, 0x88, 0xBD, 0x94, 0x14, 0x8F, 0x9E, 0xB6, 0xFD, 0x2A, 0x95, 0x43, 0x3B, 0x75, 0xF0, 0xE5, 0x7A, 0xD5, 0xDB, 0x6E, - 0xF3, 0x57, 0xA9, 0xB4, 0x81, 0x63, 0xE8, 0xA0, 0xCB, 0xA2, 0x9D, 0xBF, 0x4A, 0xE8, 0xC9, 0x72, 0x86, 0x87, 0xE9, 0x44, 0x83, - 0xE2, 0x3A, 0x10, 0x77, 0x0E, 0x40, 0x9F, 0xB7, 0xA2, 0x1D, 0xE5, 0x0A, 0xF4, 0xF3, 0x63, 0x14, 0x8E, 0x8A, 0xA8, 0xD7, 0xF6, - 0xCF, 0xB7, 0x64, 0x80, 0x7D, 0x86, 0x7B, 0x5E, 0xAA, 0xDC, 0xF3, 0x7A, 0x81, 0x2D, 0xD3, 0x97, 0xC2, 0x36, 0xB6, 0xCA, 0x88, - 0xDB, 0x8B, 0xB3, 0xEB, 0x5B, 0xE0, 0x97, 0xC4, 0x68, 0xF9, 0xFE, 0x9D, 0x76, 0xFE, 0x62, 0x39, 0xB7, 0xA9, 0xA7, 0x40, 0xB1, - 0x00, 0x6B, 0xA6, 0x3C, 0xD4, 0x1D, 0x87, 0x14, 0x5D, 0x0C, 0xF0, 0xF7, 0xD7, 0x5F, 0xDF, 0x71, 0xB3, 0x39, 0x7E, 0x7E, 0x5B, - 0xB1, 0xBB, 0xDA, 0xE7, 0x19, 0x50, 0xBA, 0xCA, 0x99, 0x55, 0x81, 0x1E, 0x77, 0x90, 0x28, 0x04, 0x0C, 0x18, 0x1E, 0x2B, 0xF2, - 0x7E, 0xEF, 0xDA, 0xFF, 0x79, 0xE2, 0x9D, 0x8A, 0x2A, 0x44, 0xFC, 0x0C, 0x9B, 0x1B, 0xD1, 0xE4, 0x2D, 0x97, 0x4B, 0x71, 0x3E, - 0x71, 0x05, 0xFC, 0x91, 0xFC, 0x3B, 0x4F, 0x98, 0x7C, 0x6C, 0x8A, 0x23, 0x00, 0x58, 0x1C, 0x3B, 0xC9, 0x03, 0x43, 0x1A, 0xC3, - 0x64, 0xC5, 0x99, 0x49, 0x42, 0xFD, 0xEF, 0x84, 0xEB, 0xAB, 0xD1, 0x7F, 0xE7, 0xF4, 0xD1, 0x86, 0xE9, 0x54, 0xE5, 0x47, 0x74, - 0xAA, 0x82, 0x89, 0x89, 0x9D, 0x08, 0x7B, 0x0B, 0xF1, 0x09, 0x42, 0x23, 0xE9, 0xBA, 0x21, 0x87, 0xBB, 0x0A, 0xB1, 0xBC, 0x99, - 0xA8, 0x4E, 0x6B, 0x14, 0xF8, 0xE6, 0x38, 0x7D, 0x26, 0x2E, 0xBA, 0x28, 0x27, 0x20, 0xC6, 0xBD, 0x16, 0x8E, 0x12, 0x7E, 0x77, - 0xC2, 0x55, 0x47, 0xDD, 0x1A, 0x66, 0x78, 0x67, 0x18, 0x84, 0xCB, 0x28, 0xD1, 0x77, 0x93, 0x55, 0x33, 0xEA, 0x16, 0x1E, 0xDE, - 0xA6, 0x40, 0xBF, 0x0C, 0xBC, 0x42, 0x31, 0xE1, 0x80, 0x33, 0x75, 0x21, 0x91, 0xE9, 0xEB, 0x88, 0xE3, 0x0C, 0xC7, 0x62, 0xDE, - 0x76, 0x74, 0xCF, 0xC5, 0x91, 0x0C, 0x68, 0x79, 0x8B, 0x18, 0x1C, 0xF4, 0xA4, 0x9A, 0xDA, 0x6B, 0xFF, 0xB7, 0x20, 0x43, 0x89, - 0x58, 0x5D, 0x4A, 0xE3, 0x1E, 0xD8, 0x7B, 0x1E, 0x81, 0xAC, 0x42, 0x5D, 0x86, 0x27, 0x7E, 0xD9, 0x36, 0xE4, 0x44, 0xDB, 0xCE, - 0x07, 0x2D, 0x99, 0x99, 0xA2, 0xB5, 0x2A, 0x90, 0x38, 0x72, 0xF7, 0xB3, 0x37, 0x98, 0x33, 0xE1, 0x47, 0xCE, 0x74, 0xDD, 0xA4, - 0xBB, 0x15, 0xAD, 0x86, 0xE2, 0xEB, 0x36, 0x09, 0x55, 0x78, 0x4F, 0x60, 0xF8, 0x8F, 0x80, 0x94, 0xB1, 0x2E, 0x84, 0x88, 0x19, - 0xEB, 0x92, 0xF2, 0xBA, 0xC9, 0x58, 0x57, 0xD9, 0xED, 0xC4, 0x82, 0x17, 0x5B, 0x85, 0x11, 0xB6, 0x58, 0x71, 0x58, 0x41, 0xD6, - 0x44, 0xF4, 0xAE, 0x90, 0x8B, 0x68, 0x96, 0x47, 0xC5, 0x8C, 0xE6, 0xC5, 0x8F, 0x39, 0xE7, 0x60, 0xB0, 0x3E, 0xB7, 0xEA, 0xBB, - 0x17, 0xA0, 0xEC, 0xA4, 0x7E, 0xF6, 0x03, 0x92, 0xAA, 0xD4, 0xEF, 0x41, 0xA0, 0xA4, 0xB2, 0x50, 0x37, 0x30, 0x34, 0x1A, 0x18, - 0xD9, 0x0D, 0x9C, 0x55, 0x1A, 0x38, 0xD7, 0x0D, 0x04, 0x55, 0xEC, 0xDA, 0x70, 0x2B, 0xB0, 0x1D, 0x7B, 0xA3, 0x8F, 0x82, 0xA5, - 0xC4, 0x9D, 0x26, 0x04, 0x21, 0x7B, 0xAA, 0xDF, 0x52, 0x3A, 0x55, 0x09, 0xC0, 0xFD, 0x55, 0x4D, 0x40, 0xB3, 0xA6, 0x19, 0xA3, - 0x26, 0xFD, 0x36, 0x6B, 0x52, 0x02, 0xC0, 0x6C, 0x83, 0xAB, 0xF8, 0x55, 0xC5, 0x84, 0x22, 0xC2, 0x82, 0xDE, 0x92, 0xC5, 0xC9, - 0xF2, 0x59, 0xBB, 0x45, 0x61, 0x48, 0x7C, 0x01, 0x52, 0xB6, 0x1A, 0x2C, 0xA0, 0xEB, 0x3F, 0x58, 0xA0, 0xD9, 0x29, 0x30, 0x57, - 0x5F, 0x7C, 0x40, 0x41, 0x33, 0xAB, 0x0A, 0x43, 0x9D, 0x51, 0x72, 0x18, 0x4E, 0xFC, 0x9E, 0xC4, 0x4F, 0xD5, 0x71, 0x4E, 0x02, - 0xC1, 0x31, 0xB4, 0x55, 0x00, 0x55, 0x81, 0x40, 0x70, 0x0D, 0x84, 0x34, 0x43, 0x51, 0xE7, 0xC5, 0x06, 0x1E, 0x70, 0x7E, 0x22, - 0xA3, 0xC3, 0xFE, 0x85, 0xEE, 0x51, 0xD0, 0x51, 0x1E, 0x99, 0x68, 0x96, 0xD0, 0x22, 0x17, 0xCE, 0x27, 0x64, 0x28, 0x9D, 0x30, - 0x20, 0xA1, 0xC1, 0xC5, 0x10, 0xFF, 0x82, 0xA0, 0xD2, 0x1B, 0xF7, 0xC7, 0x0C, 0x64, 0x94, 0x97, 0xE7, 0xBD, 0x51, 0x7F, 0x32, - 0x18, 0x0F, 0xC7, 0xA5, 0xC8, 0x2F, 0x29, 0x7F, 0x34, 0x3E, 0x83, 0x14, 0x99, 0x7F, 0x3E, 0xBE, 0x00, 0xA1, 0x1B, 0xD3, 0x5F, - 0x8E, 0x7B, 0xDD, 0x4F, 0x89, 0x4B, 0x0D, 0xE2, 0xC0, 0xA7, 0x85, 0xA5, 0x56, 0x21, 0xA8, 0x7B, 0x56, 0xD4, 0x2B, 0xCB, 0xE3, - 0x3C, 0xA8, 0x68, 0x47, 0x08, 0x91, 0x44, 0xE9, 0xD5, 0xB0, 0x3B, 0x49, 0x3B, 0xE8, 0x32, 0xCA, 0xA5, 0x3D, 0x91, 0x3F, 0x2E, - 0x29, 0x8D, 0x7C, 0x0D, 0x26, 0xC6, 0x37, 0x79, 0xC7, 0x40, 0xE6, 0xBD, 0xFA, 0xB1, 0xCB, 0x9C, 0xBE, 0x3F, 0xE8, 0x85, 0x0C, - 0xFD, 0x67, 0x73, 0xD8, 0x24, 0xDF, 0x71, 0xAF, 0x84, 0x77, 0xF4, 0xFB, 0xB7, 0x14, 0xEF, 0xD4, 0xC0, 0xF6, 0x4A, 0x4D, 0x7C, - 0x8D, 0xB7, 0xB0, 0x78, 0x36, 0x14, 0xE4, 0x1F, 0x28, 0xEC, 0xF2, 0x2F, 0x3D, 0x6C, 0xD3, 0xCD, 0x49, 0x5B, 0x08, 0x8F, 0x8F, - 0xBD, 0x82, 0xA1, 0x03, 0x41, 0x54, 0xAF, 0x81, 0x2E, 0xC0, 0xE4, 0x9F, 0x34, 0xA9, 0x4E, 0x06, 0x39, 0xC5, 0x73, 0xD8, 0xC7, - 0x0E, 0x55, 0x06, 0x98, 0x5D, 0xB6, 0x7E, 0x08, 0xF8, 0x1F, 0xF2, 0x5B, 0xC7, 0x5D, 0x45, 0x1C, 0xF1, 0xDB, 0x67, 0x57, 0x15, - 0xC5, 0x2C, 0x10, 0x22, 0x1E, 0xA3, 0x83, 0x9E, 0x9D, 0x1D, 0x52, 0x98, 0x5F, 0x6B, 0x33, 0x39, 0x66, 0x6A, 0x6E, 0x92, 0xB4, - 0xED, 0x6B, 0x54, 0x21, 0x23, 0x02, 0x98, 0x3C, 0x7E, 0xF3, 0x1D, 0x9D, 0x37, 0x6D, 0x17, 0x06, 0x6B, 0x0B, 0x42, 0xCA, 0x16, - 0xD1, 0x1D, 0xD1, 0x0F, 0x49, 0xEC, 0x66, 0xEF, 0x48, 0x61, 0xA8, 0xE3, 0x39, 0x2C, 0xE5, 0xF5, 0x03, 0x1B, 0x40, 0xEE, 0xB8, - 0xEE, 0x8C, 0x4B, 0x28, 0x70, 0x8B, 0x43, 0xF8, 0x91, 0xC7, 0xAD, 0x60, 0xC1, 0x41, 0xBD, 0x17, 0x76, 0x67, 0xA6, 0xDF, 0xCC, - 0x27, 0x2C, 0x92, 0x97, 0x9F, 0x79, 0x91, 0x54, 0xEE, 0x65, 0xB0, 0x66, 0x5A, 0xD6, 0xA4, 0x69, 0x02, 0xD0, 0x79, 0x47, 0xFA, - 0x92, 0x93, 0xF8, 0x30, 0x23, 0xD8, 0x8F, 0x60, 0x8B, 0x87, 0xC9, 0xE8, 0x9C, 0x16, 0x5A, 0xF1, 0x06, 0x18, 0x2E, 0xBD, 0x37, - 0xD8, 0xDA, 0xA4, 0x9E, 0xC4, 0x79, 0xDE, 0x3A, 0x2B, 0x42, 0xF9, 0xC1, 0xAD, 0x71, 0x77, 0x49, 0xAA, 0xB2, 0xDA, 0x4C, 0xF0, - 0x7B, 0x96, 0xE2, 0x13, 0xD5, 0xB2, 0x0D, 0xCB, 0x5D, 0xFC, 0xE4, 0xC2, 0x0B, 0x9F, 0xDB, 0xD4, 0x27, 0xCF, 0xE7, 0x1E, 0xB9, - 0x5F, 0xAC, 0x40, 0xED, 0xC2, 0x77, 0xA4, 0x85, 0xCD, 0x7A, 0xAC, 0xF9, 0xF5, 0xFC, 0x87, 0xBB, 0xF5, 0xCA, 0x08, 0x33, 0xAF, - 0xAA, 0xA1, 0xCB, 0xE0, 0x77, 0x1F, 0x59, 0x5A, 0x7E, 0x77, 0x97, 0xE0, 0x2B, 0xE4, 0x06, 0x2B, 0x0C, 0xE5, 0xCB, 0x04, 0x58, - 0x37, 0x62, 0x56, 0x20, 0x72, 0xFD, 0xB6, 0x99, 0x14, 0x89, 0xCA, 0xC0, 0x0E, 0x32, 0x5E, 0x2F, 0x01, 0x4C, 0xC4, 0x4F, 0xF7, - 0xD0, 0xA4, 0x05, 0x46, 0x13, 0x81, 0xA6, 0xD6, 0x5E, 0x27, 0x9E, 0x4D, 0xA8, 0xDE, 0x9E, 0xA1, 0x3B, 0x47, 0x5C, 0x60, 0xCD, - 0x1A, 0x63, 0xF7, 0x2B, 0x6C, 0x14, 0x6B, 0x36, 0x47, 0xEF, 0x42, 0x74, 0x6A, 0x17, 0x4A, 0x9C, 0xBC, 0x4F, 0xA3, 0xEE, 0xA3, - 0x24, 0xD6, 0x7D, 0x9A, 0x58, 0x3C, 0xEF, 0x95, 0x71, 0x77, 0x7B, 0x89, 0xA3, 0x80, 0xDC, 0xBA, 0x78, 0x05, 0x95, 0x88, 0x00, - 0x4D, 0xE3, 0x1A, 0xDE, 0x26, 0x5E, 0xE5, 0x11, 0x3B, 0x6F, 0x2C, 0x52, 0xBC, 0x99, 0x9F, 0xE9, 0xEB, 0x7A, 0xC6, 0x25, 0x03, - 0x26, 0xB9, 0x6E, 0xA0, 0xFA, 0xC0, 0x53, 0x7B, 0xDF, 0x63, 0x38, 0x2E, 0x8F, 0x3F, 0x3C, 0x54, 0x08, 0xB5, 0x02, 0xB5, 0xDA, - 0x23, 0xD8, 0xB2, 0xC5, 0x4D, 0x8C, 0xDC, 0xF6, 0x84, 0xE6, 0x90, 0x46, 0x29, 0x01, 0x56, 0x99, 0xAF, 0x89, 0x57, 0x79, 0xBE, - 0x0E, 0x20, 0x13, 0x81, 0xCB, 0x67, 0x38, 0x87, 0xD5, 0xCB, 0x12, 0x4D, 0x50, 0xEC, 0x2A, 0xF9, 0x8B, 0xB8, 0x8C, 0x31, 0x98, - 0x21, 0x65, 0x93, 0xD2, 0x0D, 0x8D, 0x41, 0x66, 0xBA, 0xF0, 0xF1, 0x36, 0x4A, 0x70, 0x58, 0xCB, 0xE4, 0x31, 0xD1, 0x70, 0x2B, - 0x84, 0x7A, 0xC5, 0x10, 0x41, 0xDC, 0x65, 0xB8, 0xB1, 0x94, 0xA0, 0x83, 0x78, 0x85, 0x26, 0xBA, 0x87, 0x16, 0x40, 0x80, 0x73, - 0x2F, 0xAA, 0x5A, 0xF4, 0x05, 0x59, 0x8D, 0x8F, 0xDF, 0x88, 0xF9, 0xC5, 0xDD, 0x48, 0x38, 0xB8, 0xCB, 0x19, 0xE7, 0x46, 0x67, - 0xF9, 0x4F, 0x65, 0x1D, 0xE9, 0x57, 0x11, 0xC4, 0xE0, 0x52, 0xE8, 0x1B, 0x7D, 0x48, 0x7C, 0xF1, 0xEA, 0xDF, 0x73, 0x5C, 0x1C, - 0x50, 0xFF, 0x97, 0x41, 0x8D, 0xB4, 0xB6, 0x49, 0xE7, 0xDA, 0x2C, 0x64, 0xD6, 0x2D, 0x31, 0x74, 0xD4, 0xB0, 0x78, 0x08, 0xE7, - 0x1F, 0xA2, 0xB2, 0xC1, 0x3D, 0x64, 0x20, 0x7B, 0x5F, 0xA8, 0xA7, 0x1F, 0x59, 0x7E, 0x9D, 0x15, 0xD0, 0x28, 0x2E, 0x43, 0x58, - 0xC9, 0x74, 0x6A, 0xE1, 0x89, 0x48, 0x12, 0x74, 0x1B, 0x03, 0xE0, 0x8E, 0xA4, 0xEF, 0x22, 0xFC, 0x0C, 0x0D, 0xBB, 0xAC, 0x1D, - 0x77, 0x04, 0xEF, 0x15, 0x1B, 0xAE, 0x7D, 0xD2, 0x51, 0x04, 0x6F, 0x7E, 0xCE, 0x1D, 0xE9, 0xB5, 0x58, 0x0B, 0x41, 0x3C, 0xDD, - 0xCC, 0x22, 0x8C, 0xAB, 0x10, 0x62, 0x24, 0x04, 0x90, 0x1E, 0xE0, 0x1B, 0xE4, 0x07, 0x79, 0x75, 0xB6, 0x45, 0xF9, 0x65, 0x28, - 0x3D, 0x2A, 0x85, 0xCD, 0x4E, 0x9C, 0xC0, 0x9A, 0xBF, 0xE6, 0x8A, 0x3C, 0x95, 0xF7, 0x65, 0x89, 0x1E, 0x97, 0x12, 0xEE, 0xA5, - 0x01, 0x4E, 0xD5, 0xAF, 0xE5, 0xA4, 0xC7, 0x6F, 0x86, 0x2D, 0xAE, 0x96, 0x0A, 0xB0, 0xE5, 0x74, 0x31, 0x8B, 0xB4, 0x9F, 0x4B, - 0xBB, 0xBD, 0x20, 0x47, 0x19, 0x28, 0x06, 0xD3, 0xC0, 0xF4, 0xA3, 0x31, 0x2F, 0xFC, 0xE9, 0x8B, 0xC5, 0x32, 0x79, 0x5F, 0xCC, - 0x82, 0xD3, 0x1B, 0x6B, 0x6D, 0xAB, 0xBB, 0x22, 0xD0, 0x94, 0xE1, 0x6D, 0x58, 0xCA, 0xD0, 0x4C, 0x32, 0x40, 0x92, 0x37, 0xB6, - 0xF4, 0x30, 0x5F, 0x18, 0x06, 0x72, 0x90, 0x7B, 0x78, 0x68, 0xA5, 0x6A, 0x01, 0xE3, 0xD0, 0x49, 0x15, 0x7A, 0xAF, 0x0A, 0xD1, - 0xF5, 0x38, 0x4E, 0x04, 0x18, 0x71, 0x34, 0x17, 0x05, 0x8A, 0x6A, 0x2B, 0x4A, 0x3D, 0xF7, 0x5E, 0x78, 0xF8, 0x5E, 0xFA, 0x02, - 0x98, 0xCB, 0xD2, 0x79, 0x6F, 0x67, 0x1D, 0xE7, 0x20, 0x4A, 0x02, 0x0F, 0x6F, 0xCD, 0xB3, 0x4D, 0x0A, 0x6C, 0x36, 0x29, 0xEE, - 0x70, 0x61, 0x1B, 0x2E, 0x66, 0xEA, 0xDA, 0x57, 0x6A, 0x1E, 0x6D, 0x24, 0x35, 0xBF, 0x74, 0xA0, 0x26, 0x3F, 0x81, 0xC5, 0xB5, - 0xDD, 0x52, 0xE8, 0x58, 0x1F, 0x1F, 0x34, 0xC0, 0x3B, 0xC6, 0x2A, 0x1A, 0x82, 0xC8, 0x08, 0x1E, 0x7F, 0x4F, 0x5B, 0x50, 0x38, - 0x17, 0x39, 0xF4, 0x0B, 0xD2, 0x7F, 0x4F, 0x77, 0x9E, 0xBA, 0x48, 0xA8, 0xF6, 0xF1, 0x28, 0x83, 0x7E, 0x6D, 0xF7, 0x31, 0x41, - 0xE3, 0xD1, 0x51, 0xEF, 0x13, 0x64, 0xAD, 0x9E, 0x08, 0xA6, 0xDB, 0x1B, 0xE0, 0x2D, 0xFD, 0xC2, 0xAB, 0x3F, 0x70, 0x73, 0x88, - 0xC3, 0xFD, 0xE3, 0x4E, 0x3A, 0xDA, 0xE3, 0xC3, 0xD1, 0xF9, 0xE4, 0xA8, 0xEC, 0xFC, 0x79, 0x8B, 0x02, 0x3E, 0xCA, 0xF8, 0xF2, - 0x06, 0xDB, 0x44, 0x7F, 0x5A, 0xF7, 0xCF, 0xE8, 0xB0, 0x4E, 0x6E, 0x55, 0x20, 0xEA, 0x3B, 0xFC, 0x0C, 0xFE, 0xF7, 0x4F, 0x3F, - 0xFE, 0xB3, 0x2C, 0xD7, 0xE2, 0xCD, 0x8D, 0x49, 0x86, 0xAD, 0x4B, 0x0D, 0x26, 0x99, 0xE4, 0x80, 0xFD, 0x71, 0xCE, 0xD7, 0x06, - 0x9D, 0x8B, 0xC5, 0xF9, 0xC3, 0x24, 0x1D, 0xA7, 0xB5, 0xBB, 0x72, 0xC8, 0xA8, 0xC7, 0x76, 0x65, 0x9F, 0xEB, 0xFC, 0xC4, 0x9F, - 0x77, 0x94, 0xD5, 0x60, 0x7B, 0xC5, 0x25, 0x65, 0x83, 0x01, 0xC2, 0x47, 0x96, 0x12, 0x17, 0x86, 0xCD, 0xA9, 0x64, 0xF3, 0xDB, - 0x38, 0xBD, 0xA9, 0xBE, 0xAB, 0x38, 0xA4, 0xEB, 0xF0, 0x54, 0xE8, 0x0D, 0x16, 0xE2, 0x46, 0xC1, 0x23, 0x4C, 0xC4, 0x4A, 0x9B, - 0xE2, 0xF8, 0xB8, 0xDF, 0x35, 0x7F, 0xEB, 0x70, 0x4F, 0x82, 0x22, 0x79, 0x32, 0xD0, 0x87, 0x2A, 0x21, 0x9E, 0xC6, 0xE3, 0xE3, - 0x94, 0xC2, 0x65, 0xA2, 0xF6, 0x42, 0xDA, 0xFB, 0xA1, 0x23, 0x46, 0x3C, 0x53, 0x39, 0x29, 0x77, 0x2F, 0xD3, 0x2B, 0x5D, 0xE8, - 0x2D, 0xFB, 0xD3, 0xB8, 0x99, 0x97, 0x82, 0x16, 0x44, 0x54, 0x8D, 0x06, 0x8D, 0x4A, 0x21, 0xC3, 0xE6, 0x9E, 0x9A, 0x01, 0x82, - 0x08, 0xDB, 0xAE, 0xB9, 0xD2, 0x6A, 0xDB, 0xA4, 0xE2, 0xE7, 0xC1, 0x82, 0x31, 0xAB, 0xB6, 0x60, 0xF7, 0x86, 0x8E, 0x95, 0x72, - 0x64, 0xB0, 0x11, 0x78, 0x19, 0xD0, 0x76, 0x9E, 0x2C, 0xD8, 0x4F, 0xB0, 0x15, 0xA2, 0x10, 0xE4, 0x25, 0x44, 0x22, 0x80, 0xF8, - 0x4A, 0x86, 0xEF, 0x95, 0x50, 0xFD, 0x14, 0x18, 0x55, 0x92, 0x5E, 0xB6, 0x10, 0x66, 0xD8, 0x40, 0xA3, 0x3F, 0x4F, 0x80, 0xFC, - 0xF3, 0x13, 0x09, 0x62, 0x60, 0xF6, 0x86, 0x42, 0x1C, 0x0F, 0x06, 0x2D, 0xE3, 0xB8, 0x42, 0x6E, 0xB6, 0x66, 0xB0, 0x02, 0xFF, - 0xED, 0xBB, 0xB7, 0x74, 0x75, 0x1B, 0x30, 0x8E, 0x1B, 0xFC, 0x33, 0x02, 0x3C, 0xA0, 0x3D, 0xF4, 0xAB, 0x6B, 0xD8, 0x68, 0x36, - 0xCE, 0x97, 0xA8, 0xC9, 0x01, 0xF5, 0xF7, 0xD3, 0xED, 0xEF, 0xF7, 0xED, 0x71, 0xA0, 0x9D, 0x49, 0xD1, 0x91, 0xA8, 0x93, 0x66, - 0xF9, 0x5D, 0xBC, 0x4A, 0xFE, 0x62, 0x0E, 0xCD, 0xCC, 0xB7, 0xD8, 0xF0, 0xEF, 0xBF, 0xE3, 0xB3, 0x5D, 0xA7, 0x9E, 0xF1, 0x9C, - 0xD7, 0xEF, 0xA7, 0x8F, 0xFD, 0x70, 0x27, 0x92, 0x03, 0x72, 0x9C, 0x2C, 0x29, 0xBE, 0x00, 0x3A, 0xDB, 0x20, 0xAF, 0xA2, 0xC8, - 0x07, 0xFC, 0x06, 0x36, 0xA8, 0xC5, 0xB7, 0xC9, 0xB2, 0xF4, 0x81, 0xC5, 0x9C, 0x7A, 0x66, 0x48, 0x52, 0x7C, 0x40, 0x51, 0xFB, - 0x34, 0x7A, 0x1D, 0xBA, 0xF0, 0x5F, 0x4E, 0xB3, 0xD9, 0x24, 0x7B, 0xD5, 0x85, 0x75, 0x09, 0x09, 0x47, 0x94, 0x70, 0xD2, 0x9B, - 0x4D, 0x4A, 0xE9, 0x9D, 0x79, 0x72, 0x92, 0x85, 0x7D, 0x58, 0x7E, 0x3A, 0x25, 0xE3, 0xFE, 0x9A, 0xD9, 0xD8, 0xD3, 0x2D, 0xD4, - 0x32, 0xD5, 0xCD, 0xBF, 0x76, 0x29, 0xF8, 0xDE, 0xA9, 0x47, 0x6E, 0xD2, 0xB5, 0x27, 0x79, 0x2C, 0x26, 0xD4, 0xCA, 0x89, 0xCB, - 0x64, 0x74, 0x1D, 0x1A, 0xB7, 0xBD, 0x49, 0x39, 0xF6, 0x73, 0x7A, 0x81, 0x38, 0xA3, 0xA7, 0x87, 0x6D, 0x54, 0x71, 0x74, 0xFF, - 0x11, 0x4C, 0xFF, 0x38, 0x9D, 0xB5, 0xFF, 0x71, 0x8A, 0x8F, 0x9D, 0xA9, 0x47, 0x62, 0x32, 0x7C, 0x2F, 0xEE, 0x14, 0x25, 0x80, - 0x71, 0xF9, 0xE4, 0x14, 0xE7, 0x9D, 0x1C, 0x95, 0x84, 0xBC, 0xB3, 0xC0, 0x68, 0xB3, 0x6F, 0x58, 0x59, 0x02, 0x5B, 0x29, 0x7E, - 0x8A, 0xD3, 0x18, 0x43, 0x45, 0x87, 0xA6, 0x88, 0x26, 0x07, 0x86, 0x1B, 0x8D, 0x28, 0xFF, 0xCD, 0x2A, 0xA1, 0x37, 0x89, 0x1C, - 0xC5, 0xD6, 0x46, 0xB1, 0x1F, 0xBE, 0xFE, 0xF1, 0xBB, 0x6F, 0xB2, 0x34, 0xE5, 0xB7, 0x66, 0x9C, 0xC5, 0x6F, 0xCD, 0xE2, 0xFF, - 0x7C, 0xFB, 0xF6, 0xD7, 0x27, 0xCA, 0xAF, 0x8C, 0xF2, 0x78, 0x2B, 0xF6, 0xDB, 0xAF, 0x9D, 0xC5, 0x36, 0x46, 0x31, 0x58, 0x59, - 0x45, 0x53, 0x73, 0x0F, 0x3B, 0xDC, 0x84, 0x31, 0x52, 0x42, 0x2B, 0x79, 0x34, 0x34, 0x1B, 0x8C, 0x5D, 0x80, 0xDC, 0x29, 0x99, - 0xA3, 0xE0, 0xFA, 0x2D, 0xBB, 0xDE, 0xDC, 0xFC, 0x44, 0x61, 0x2B, 0xB8, 0x9C, 0x26, 0xC3, 0x3C, 0x57, 0xD5, 0x3C, 0x8F, 0x78, - 0x1C, 0xDE, 0x6A, 0xBD, 0x63, 0xC5, 0x6D, 0x19, 0x17, 0xD0, 0xC0, 0x7B, 0x7C, 0x12, 0xCF, 0x42, 0x6F, 0xC7, 0x6C, 0x72, 0xDC, - 0xA2, 0x2D, 0x5A, 0xE9, 0x3F, 0xB2, 0x69, 0x72, 0xB0, 0x17, 0x65, 0x22, 0xB6, 0xDB, 0x99, 0x3F, 0x8F, 0x7A, 0xCA, 0x30, 0x70, - 0x0E, 0xE0, 0x23, 0xD8, 0x40, 0xEE, 0xA0, 0xCE, 0xD1, 0xC5, 0x18, 0x19, 0xBE, 0x0A, 0xCF, 0x6F, 0xED, 0x14, 0x7E, 0xE8, 0xC4, - 0xAF, 0x2A, 0x05, 0xE6, 0x55, 0xF3, 0xC7, 0xF7, 0xF1, 0xC7, 0xF8, 0x1D, 0xBE, 0x62, 0x02, 0xF0, 0x8D, 0xF1, 0xCD, 0xA9, 0xCE, - 0x0D, 0x63, 0x1F, 0x8A, 0x8F, 0xC9, 0x0A, 0x44, 0x4C, 0x1C, 0x8B, 0x17, 0x52, 0x11, 0x10, 0xDF, 0x59, 0xFE, 0x8E, 0x10, 0x46, - 0x6F, 0xD1, 0x7A, 0x3F, 0x41, 0x1E, 0xBD, 0x61, 0x51, 0x80, 0x20, 0xA2, 0xEE, 0xA9, 0x3F, 0xFE, 0x9A, 0x15, 0x09, 0x36, 0x3D, - 0x7E, 0xE4, 0x41, 0x82, 0xC6, 0x8F, 0x2B, 0x40, 0x66, 0xB9, 0x59, 0xB0, 0x1F, 0xC6, 0x14, 0x27, 0x65, 0x2C, 0x43, 0xCB, 0x86, - 0xC9, 0x62, 0x7C, 0xBE, 0x0B, 0x31, 0xC4, 0x53, 0x63, 0xFE, 0xC5, 0x2E, 0x8C, 0x57, 0xBC, 0xBA, 0xCC, 0xD5, 0x99, 0x83, 0x5D, - 0x78, 0x1D, 0xA3, 0x96, 0xFA, 0xF0, 0x23, 0xFB, 0xC8, 0x56, 0xF5, 0x02, 0x43, 0x60, 0xC1, 0xC0, 0x55, 0x65, 0x86, 0x0C, 0x62, - 0x8B, 0x59, 0x2F, 0xF1, 0xD8, 0xEF, 0x5B, 0x50, 0x85, 0x34, 0x9C, 0x50, 0x48, 0x96, 0x24, 0x06, 0x8D, 0xC5, 0x40, 0x0E, 0x59, - 0xC7, 0x0F, 0x78, 0x4B, 0x4E, 0x66, 0xF1, 0xE0, 0x8F, 0x98, 0xD7, 0x87, 0x16, 0xF8, 0xFD, 0xC3, 0xF1, 0x23, 0x56, 0x18, 0x3F, - 0xF2, 0xDB, 0xB0, 0xE3, 0xC7, 0x5F, 0x7E, 0xFD, 0xEA, 0x7F, 0xFD, 0xF6, 0xDD, 0xB8, 0x1B, 0x7E, 0xF3, 0xE3, 0x77, 0x5F, 0xBD, - 0x7E, 0xF7, 0xF6, 0xBB, 0xFF, 0xFD, 0x76, 0xDC, 0x13, 0x3F, 0x5E, 0x7F, 0xF7, 0xD5, 0xB7, 0x5F, 0x7D, 0xF3, 0xEF, 0x58, 0x1B, - 0xEA, 0xFF, 0x06, 0x4C, 0x5D, 0x43, 0x90, 0xA8, 0x5E, 0x84, 0x3A, 0x20, 0x40, 0x40, 0x14, 0xE1, 0xED, 0x32, 0x47, 0x6E, 0x7F, - 0x17, 0x16, 0xB7, 0x20, 0x08, 0x35, 0x64, 0x03, 0x8A, 0xEE, 0xE2, 0x39, 0x4C, 0x4E, 0x5E, 0x87, 0x7F, 0x88, 0x00, 0xBC, 0xC6, - 0x79, 0xFD, 0x36, 0x29, 0xE6, 0xB8, 0x0D, 0x3D, 0x68, 0x50, 0x72, 0x4C, 0x87, 0x3F, 0x9B, 0x15, 0xD4, 0x91, 0x71, 0x92, 0xBC, - 0xB0, 0x8A, 0xE1, 0xBE, 0x6A, 0x83, 0xE8, 0x5F, 0xA3, 0xE0, 0xE7, 0x5F, 0x7E, 0x46, 0x04, 0xFC, 0xFC, 0xCB, 0xBB, 0xD7, 0xBF, - 0xFC, 0xF6, 0xF6, 0x3B, 0x18, 0xFE, 0xBF, 0xFD, 0xF2, 0xF6, 0xDD, 0xCF, 0x5F, 0xC1, 0xC0, 0xC3, 0xB7, 0x3F, 0xFC, 0xF4, 0x1D, - 0x24, 0x02, 0x70, 0xBB, 0xF0, 0xCD, 0xE6, 0xFA, 0x57, 0x7C, 0x42, 0xA7, 0x1C, 0x3F, 0xF2, 0x68, 0x46, 0xE3, 0x47, 0x85, 0x70, - 0x4A, 0x18, 0x4F, 0xBD, 0xB5, 0x20, 0x29, 0x90, 0x34, 0xB9, 0xF2, 0x8A, 0xFC, 0x0C, 0x1F, 0xF5, 0x22, 0x20, 0x85, 0x08, 0xA3, - 0x7F, 0x82, 0x72, 0x21, 0x7F, 0x10, 0x50, 0xDE, 0x0C, 0x88, 0x68, 0xFE, 0x41, 0xB7, 0x57, 0x6C, 0xE6, 0x73, 0x56, 0x14, 0x3F, - 0xC0, 0x78, 0xBC, 0x65, 0x9C, 0xAC, 0xE0, 0x03, 0x4D, 0x9F, 0x72, 0xE8, 0x6B, 0x45, 0xC1, 0x7C, 0xB4, 0xBF, 0xAA, 0xEE, 0xF9, - 0x6C, 0x2C, 0x88, 0x6A, 0x78, 0xDE, 0xB7, 0x04, 0x0F, 0x47, 0xF4, 0x86, 0xE6, 0x92, 0xA7, 0xFF, 0x46, 0x00, 0x72, 0x12, 0x34, - 0xA1, 0x94, 0xF9, 0x36, 0xDA, 0xA9, 0xE4, 0x99, 0x2A, 0x09, 0x03, 0xD8, 0x53, 0xEE, 0x5C, 0x94, 0x13, 0x08, 0x37, 0xCA, 0xF1, - 0xD1, 0x12, 0x94, 0x00, 0xCE, 0x7D, 0x9C, 0x96, 0xF2, 0x5D, 0x36, 0x35, 0xF9, 0x18, 0x4B, 0x17, 0x0B, 0x8C, 0x80, 0x6C, 0x24, - 0x16, 0x64, 0xE6, 0x46, 0x4F, 0x6B, 0xAF, 0x0B, 0xE8, 0x20, 0xCC, 0xB8, 0x32, 0x11, 0x07, 0xC6, 0x58, 0x8C, 0xAC, 0x97, 0xD0, - 0x6C, 0xB6, 0xC9, 0xE7, 0xCC, 0x55, 0x0D, 0x48, 0x35, 0xCB, 0x93, 0x1B, 0x90, 0x88, 0xDC, 0xED, 0x12, 0x2D, 0x11, 0x57, 0x79, - 0x8A, 0x20, 0xB8, 0x19, 0x04, 0xA7, 0x8F, 0xA5, 0xF3, 0xFC, 0x61, 0x8D, 0xA4, 0x69, 0xCE, 0x20, 0x9A, 0xA2, 0x5D, 0x10, 0x60, - 0x58, 0x25, 0x67, 0xC7, 0xA1, 0x68, 0x51, 0x66, 0x2A, 0xAA, 0x94, 0x73, 0xAB, 0xFA, 0xA9, 0x2F, 0x23, 0x60, 0x51, 0x89, 0x6B, - 0x38, 0x38, 0x9F, 0x7F, 0xBE, 0x6D, 0x64, 0x3F, 0x90, 0xF9, 0x26, 0x55, 0xF3, 0xC7, 0x83, 0xFC, 0x8A, 0xE9, 0xBD, 0xCD, 0xD6, - 0x3F, 0xA2, 0xC9, 0xA7, 0x61, 0x62, 0x70, 0x62, 0xBF, 0x42, 0x7A, 0xAE, 0xCC, 0x29, 0xCC, 0x0B, 0xE0, 0xE0, 0x9B, 0x8C, 0x0C, - 0x4C, 0x65, 0xA1, 0xD7, 0xE2, 0x6F, 0x29, 0x90, 0xE6, 0x62, 0x8C, 0xA7, 0x3C, 0xDF, 0x80, 0x64, 0x9F, 0xB2, 0x95, 0xDC, 0x96, - 0x0C, 0xE6, 0xF7, 0xE7, 0xAF, 0xD9, 0xBD, 0xA6, 0x5F, 0x0B, 0x69, 0x77, 0x80, 0x9A, 0xBB, 0x6F, 0xC8, 0x6E, 0x2A, 0xF3, 0x7F, - 0xD2, 0x49, 0x9A, 0x15, 0xA7, 0x8B, 0xFB, 0x64, 0x51, 0xDE, 0xBA, 0x71, 0x51, 0xAC, 0x49, 0x63, 0x8A, 0x71, 0x8F, 0x75, 0x94, - 0x80, 0x61, 0xF3, 0x1B, 0x50, 0xAF, 0xE3, 0xD2, 0x45, 0x3D, 0x80, 0xE5, 0x39, 0x87, 0x1D, 0x14, 0x6D, 0x37, 0xE5, 0xAD, 0x8B, - 0x0F, 0x2E, 0x26, 0x17, 0xA6, 0x6E, 0xD6, 0x38, 0x32, 0xD8, 0xF7, 0x4F, 0xE6, 0x08, 0x25, 0xDA, 0xBE, 0xBE, 0xEF, 0xF5, 0x47, - 0xDF, 0xE4, 0xC3, 0xD1, 0x9B, 0x65, 0xAF, 0x7F, 0x01, 0xCC, 0xEC, 0xEB, 0xFB, 0x51, 0xB7, 0xAB, 0x13, 0x7A, 0x90, 0x30, 0xE8, - 0xBD, 0xA3, 0x32, 0x17, 0x6F, 0x96, 0xA3, 0x5E, 0x1F, 0x78, 0x9B, 0xAC, 0x04, 0x09, 0xC3, 0xEE, 0xCB, 0x33, 0xE4, 0x71, 0xC8, - 0x21, 0xE3, 0x45, 0x92, 0xC9, 0xF6, 0x15, 0x9F, 0xC9, 0xF1, 0x9A, 0x3D, 0x50, 0x16, 0x2B, 0x4C, 0xB6, 0xF1, 0xAB, 0x4E, 0x96, - 0x13, 0x30, 0xAF, 0xCE, 0x1A, 0x2F, 0x5D, 0x99, 0xCC, 0xDA, 0xA6, 0x54, 0x69, 0xCD, 0xE8, 0x59, 0x70, 0xB4, 0xAF, 0x73, 0x58, - 0x56, 0x73, 0x90, 0x55, 0xDE, 0xB0, 0x79, 0xE1, 0x5E, 0x30, 0xA8, 0x36, 0xFC, 0x72, 0x9F, 0xB2, 0x1C, 0xDF, 0xED, 0xC8, 0x01, - 0x35, 0xEE, 0xF5, 0x93, 0x6E, 0xEE, 0x7E, 0x4A, 0x0A, 0xA0, 0xB2, 0xB7, 0xD9, 0xF7, 0xC0, 0x37, 0x1C, 0x85, 0x88, 0x23, 0x25, - 0xE5, 0xD7, 0x80, 0xDB, 0x12, 0xA4, 0x90, 0xDB, 0x86, 0x2E, 0x61, 0xBE, 0x8A, 0x79, 0xCE, 0x58, 0xFA, 0x4B, 0xDA, 0x50, 0x02, - 0x58, 0xD7, 0xFA, 0x16, 0x38, 0x81, 0xB0, 0x29, 0x36, 0x94, 0x3A, 0x13, 0xA5, 0xDE, 0x2C, 0x0A, 0x5D, 0xD0, 0x4D, 0x77, 0x28, - 0xE4, 0x58, 0xC5, 0x5C, 0xED, 0x01, 0xFD, 0x15, 0x8B, 0xA2, 0x21, 0x13, 0x88, 0x6F, 0xD5, 0x94, 0x87, 0x2B, 0xF6, 0x2E, 0x49, - 0xFF, 0x33, 0xFE, 0xC0, 0x9A, 0x4A, 0x00, 0x9A, 0xEF, 0x93, 0x65, 0xF2, 0xA6, 0x70, 0xEF, 0xFF, 0x7D, 0x9E, 0xFD, 0x2B, 0x48, - 0x5E, 0xF7, 0x59, 0xEE, 0x2C, 0x32, 0xE0, 0x45, 0xBE, 0x5A, 0x93, 0x5C, 0x59, 0x63, 0x0C, 0xB8, 0x09, 0xB1, 0x1B, 0x63, 0x4B, - 0x33, 0xEB, 0x8E, 0x90, 0xD5, 0xE3, 0xAA, 0x7C, 0xC0, 0xE7, 0x91, 0xCB, 0x7A, 0xED, 0x2E, 0x8C, 0x20, 0xB9, 0x01, 0xA5, 0x8E, - 0xFD, 0x90, 0x82, 0x7C, 0x08, 0x15, 0x9B, 0xE4, 0x02, 0x6B, 0xD8, 0x44, 0xF9, 0xBB, 0x10, 0x45, 0xF5, 0x1F, 0xD2, 0x65, 0xA6, - 0xA9, 0x2F, 0x75, 0x2E, 0xE0, 0x5E, 0xC3, 0x06, 0x0A, 0xA3, 0xDF, 0xBB, 0x21, 0xC3, 0xD0, 0x8B, 0x06, 0x3E, 0x9A, 0x82, 0x1E, - 0xFD, 0xCF, 0x6C, 0xED, 0xA4, 0x21, 0xDC, 0x6A, 0x1E, 0xEA, 0xB0, 0xDD, 0x51, 0x9A, 0x9B, 0xC5, 0x00, 0x84, 0xB7, 0x71, 0xF1, - 0x6F, 0xEB, 0xA2, 0x86, 0x22, 0xBE, 0x00, 0xC4, 0x72, 0x54, 0xD9, 0x16, 0xED, 0x37, 0xE2, 0x1F, 0xE6, 0xE6, 0xF6, 0x1E, 0xA7, - 0x6D, 0xE5, 0xE4, 0x51, 0xB0, 0xA7, 0xE5, 0x77, 0xF7, 0x71, 0xCE, 0xFE, 0x83, 0xEB, 0x32, 0x8E, 0x42, 0x40, 0xEA, 0x64, 0x99, - 0xFF, 0xC6, 0x98, 0x7B, 0x9B, 0xC2, 0x29, 0xFB, 0x2B, 0x10, 0x02, 0x61, 0xBF, 0x77, 0xD3, 0xB6, 0x68, 0x60, 0x93, 0x36, 0xEC, - 0xEA, 0xF4, 0xCC, 0x61, 0xF9, 0xC3, 0x02, 0xA3, 0xA9, 0x37, 0x10, 0xF9, 0x7C, 0x93, 0x63, 0x88, 0x8D, 0x5F, 0x45, 0xC9, 0x06, - 0x42, 0x4F, 0x39, 0x7A, 0x9B, 0xDA, 0xE9, 0xD3, 0x72, 0xC4, 0x30, 0x0D, 0x62, 0x39, 0xFE, 0x54, 0x38, 0x97, 0x2D, 0x52, 0x3C, - 0x50, 0xE2, 0x57, 0xEB, 0x75, 0x05, 0x2F, 0x66, 0x19, 0x12, 0x70, 0xBF, 0x65, 0x18, 0x76, 0x81, 0x2C, 0x56, 0x86, 0x74, 0x8B, - 0xFC, 0x58, 0xC9, 0x4E, 0x9A, 0x39, 0xAB, 0x1D, 0x8F, 0xC8, 0x40, 0x6D, 0x76, 0x8A, 0x50, 0xE4, 0x6C, 0x67, 0xC8, 0x11, 0x6B, - 0xA4, 0x3A, 0xE0, 0xC3, 0xFB, 0xF6, 0xBA, 0x69, 0x7D, 0x58, 0xCD, 0xD0, 0xA2, 0x9C, 0xB3, 0xE4, 0x23, 0xFB, 0x5F, 0x1B, 0xB6, - 0x69, 0x94, 0xB5, 0xB5, 0x40, 0x24, 0x29, 0xE2, 0x63, 0xE3, 0x88, 0x2F, 0x48, 0xE4, 0x00, 0xAA, 0x17, 0xA1, 0x2E, 0xD4, 0x00, - 0xEC, 0x36, 0x70, 0x69, 0x64, 0x6F, 0xE2, 0x8F, 0x75, 0x4E, 0x01, 0x33, 0xBD, 0x48, 0x16, 0x40, 0xE2, 0x0D, 0xAC, 0xA0, 0xC7, - 0x31, 0x0A, 0xDA, 0x28, 0xB7, 0x46, 0x1A, 0x0B, 0xC7, 0xEE, 0xD1, 0xD2, 0x5F, 0xA0, 0xCE, 0xF7, 0x20, 0x91, 0xBD, 0xE6, 0x48, - 0x97, 0x52, 0x1D, 0xE8, 0xB1, 0x49, 0x9C, 0x96, 0x86, 0x98, 0x2F, 0x20, 0xF4, 0xEE, 0x1E, 0x38, 0x92, 0xBC, 0x54, 0xE1, 0xCB, - 0xA3, 0x19, 0x43, 0x05, 0x40, 0x77, 0x8E, 0x0F, 0xBB, 0xD3, 0xAC, 0x7D, 0x93, 0xDD, 0xAD, 0x31, 0xCC, 0x0B, 0x09, 0xF4, 0x39, - 0x03, 0x70, 0xAB, 0x02, 0x61, 0x23, 0xCB, 0x59, 0x0B, 0x51, 0xD3, 0x89, 0x27, 0x24, 0xC6, 0x07, 0xCE, 0x1F, 0x9C, 0x84, 0x20, - 0xE6, 0xDB, 0x2C, 0x51, 0x9B, 0xE1, 0x7D, 0x84, 0x76, 0x86, 0x72, 0xA7, 0x81, 0x4B, 0xA1, 0x52, 0x98, 0x23, 0x94, 0x92, 0x91, - 0x3D, 0xCC, 0x86, 0xA9, 0x17, 0x23, 0x77, 0xCC, 0x2A, 0xA0, 0xE2, 0x6D, 0x76, 0x30, 0xFE, 0x51, 0xC0, 0xE4, 0x60, 0x12, 0x46, - 0x81, 0x12, 0x5E, 0x0B, 0xEC, 0xA3, 0xE1, 0x00, 0x49, 0xDF, 0xD6, 0x97, 0xF6, 0xE1, 0xB0, 0xC7, 0xE5, 0x55, 0xD9, 0x9C, 0x93, - 0x77, 0x74, 0x51, 0xCC, 0x28, 0x5F, 0xEF, 0x5D, 0x93, 0x5D, 0x92, 0x45, 0x78, 0xEF, 0xB5, 0x85, 0xD7, 0xEB, 0x72, 0xDD, 0x21, - 0x4E, 0x37, 0xB8, 0x95, 0x6D, 0x10, 0x77, 0xB6, 0x6E, 0xBF, 0xA4, 0x89, 0xF8, 0x3E, 0x67, 0xFF, 0xD5, 0xC0, 0xD8, 0x1B, 0x59, - 0x70, 0x1F, 0x33, 0x9B, 0x99, 0x2F, 0x6E, 0x3F, 0x6C, 0xB5, 0x44, 0xFB, 0x27, 0xAC, 0x19, 0x7C, 0x8B, 0xA1, 0x6E, 0xC4, 0x40, - 0x3E, 0xB4, 0x93, 0xC6, 0xA6, 0xA2, 0x62, 0x6C, 0x32, 0xAC, 0x3B, 0x78, 0xDB, 0xC8, 0x3C, 0xDB, 0x93, 0x71, 0x1B, 0xDF, 0x17, - 0x2D, 0xD4, 0x7F, 0xD8, 0xA2, 0x05, 0x22, 0x76, 0x0B, 0x5F, 0xFD, 0x48, 0xC8, 0xBC, 0x8A, 0x66, 0x60, 0xB3, 0x02, 0x86, 0xB5, - 0x13, 0xA6, 0x2B, 0xD4, 0x80, 0x7E, 0x15, 0xD5, 0xCD, 0x60, 0x28, 0x40, 0x3F, 0xAD, 0x84, 0xE2, 0x6A, 0xAB, 0x77, 0xB9, 0x99, - 0x0C, 0x83, 0x22, 0xE3, 0x3A, 0xF8, 0xA5, 0x71, 0x04, 0xCC, 0x8F, 0x94, 0xD0, 0x7A, 0x24, 0x8C, 0xF8, 0x6E, 0x3B, 0x97, 0xEC, - 0xEB, 0x9F, 0x14, 0x9F, 0x89, 0x07, 0xBD, 0x95, 0x69, 0x63, 0x0A, 0xF4, 0x26, 0x18, 0x84, 0x36, 0x9A, 0x4B, 0x50, 0xCB, 0xCC, - 0x01, 0x68, 0xF4, 0x98, 0x5D, 0xBF, 0x17, 0x8F, 0xCB, 0x86, 0x38, 0x55, 0x17, 0x64, 0xDF, 0x16, 0x29, 0xBB, 0x3D, 0xE3, 0xC0, - 0x1C, 0x3C, 0x43, 0x10, 0x4F, 0xF7, 0xF1, 0xA0, 0x96, 0x76, 0x08, 0x3D, 0xF6, 0xF7, 0xC7, 0xA7, 0x81, 0x1E, 0x3B, 0x07, 0x87, - 0x51, 0xEB, 0x23, 0xF3, 0xE9, 0x0D, 0x6E, 0x72, 0xD5, 0x23, 0x89, 0x12, 0x1D, 0x21, 0x18, 0xCA, 0x1A, 0x8E, 0x06, 0x0A, 0x31, - 0x37, 0xAC, 0x14, 0x03, 0x93, 0x36, 0x4B, 0x73, 0xBC, 0xBF, 0xE4, 0x18, 0x47, 0x88, 0x3C, 0x60, 0xFF, 0xC7, 0xE9, 0x97, 0x47, - 0x2D, 0x7F, 0x1E, 0xB4, 0xBE, 0x4A, 0x61, 0x8B, 0x8F, 0x5B, 0xFF, 0x96, 0xC4, 0x77, 0x77, 0x71, 0x3E, 0xBF, 0x4D, 0x5A, 0x27, - 0xAD, 0x1F, 0xDE, 0x7C, 0xD3, 0xFA, 0xF2, 0x94, 0xFB, 0x53, 0x3C, 0xEE, 0x08, 0x45, 0x31, 0x77, 0xF1, 0x78, 0x1B, 0xE7, 0xD0, - 0x45, 0xE4, 0xD3, 0xE0, 0x75, 0x82, 0xE5, 0xE7, 0xA1, 0x11, 0x75, 0xE4, 0x3A, 0x23, 0x65, 0xC2, 0x6B, 0x24, 0xC4, 0xCB, 0x13, - 0xFC, 0x6C, 0x42, 0x86, 0xB2, 0x0E, 0xD3, 0xC8, 0xF0, 0x24, 0xB2, 0x1D, 0xFD, 0xB8, 0x3B, 0x1B, 0x1D, 0x56, 0xF1, 0xB3, 0x93, - 0xC0, 0xE5, 0xEF, 0x47, 0xE7, 0xEA, 0xE1, 0xA3, 0x74, 0xD8, 0xC1, 0xF8, 0x83, 0xE3, 0xA3, 0x6E, 0x88, 0xCE, 0x61, 0xF2, 0x5B, - 0x04, 0x5B, 0xDE, 0x19, 0xD5, 0xE7, 0x66, 0xF0, 0x1C, 0x11, 0x9C, 0xEF, 0x92, 0xA2, 0x24, 0x67, 0xA0, 0x04, 0x51, 0x94, 0x64, - 0x1A, 0xA6, 0x08, 0xA1, 0x46, 0x03, 0xFF, 0x51, 0xC4, 0x55, 0xE0, 0x6E, 0x43, 0x08, 0x2F, 0xBA, 0xCF, 0x89, 0xC4, 0x20, 0x74, - 0x1C, 0x17, 0xEA, 0xEC, 0x89, 0xFE, 0x14, 0xCE, 0xBC, 0xA2, 0x03, 0x3A, 0x8C, 0xC3, 0xB8, 0xC1, 0x2A, 0x9B, 0x07, 0x2F, 0xA3, - 0x1E, 0x85, 0x93, 0x63, 0xE1, 0xA7, 0xA1, 0x17, 0x2F, 0x16, 0x16, 0x14, 0x9E, 0xED, 0x6B, 0x12, 0x1A, 0x31, 0xD2, 0xD2, 0xA8, - 0xEC, 0xDC, 0x08, 0xD4, 0x51, 0x78, 0x1E, 0x1E, 0x3C, 0x23, 0x15, 0xE1, 0x32, 0x44, 0xCC, 0x15, 0x79, 0x0F, 0xE0, 0xB2, 0xB8, - 0x8A, 0x2F, 0x8B, 0x76, 0x1B, 0x23, 0xCB, 0x65, 0xD3, 0x62, 0xA6, 0x20, 0x41, 0x1F, 0x52, 0x71, 0x3A, 0x77, 0x29, 0x02, 0xC8, - 0x3C, 0x72, 0xA0, 0xC9, 0xDB, 0x2A, 0x94, 0xE5, 0xC6, 0x79, 0x28, 0x30, 0x38, 0x4E, 0x76, 0x78, 0xE2, 0x18, 0x12, 0xC0, 0x8B, - 0xA4, 0x58, 0x23, 0x59, 0x10, 0xD4, 0x16, 0xB4, 0x3A, 0xCE, 0xA2, 0x82, 0x72, 0xCA, 0x43, 0x46, 0x2B, 0xD7, 0x00, 0x3C, 0xB9, - 0xC1, 0x29, 0xF6, 0x78, 0x87, 0xDC, 0x8B, 0x8B, 0x3C, 0x55, 0x60, 0x3B, 0xE7, 0x22, 0xE4, 0x5B, 0x2B, 0x27, 0x97, 0x57, 0x7C, - 0x60, 0x8D, 0x64, 0xF9, 0x77, 0x31, 0x86, 0xFE, 0xC1, 0x23, 0x2D, 0x15, 0xDA, 0xCD, 0xAA, 0xA5, 0x93, 0x79, 0xFB, 0x14, 0x61, - 0x51, 0x02, 0xEE, 0x98, 0x72, 0xAF, 0xEA, 0xD8, 0xA3, 0x1D, 0x25, 0x4D, 0x54, 0xA7, 0x51, 0xC2, 0x51, 0x9D, 0x48, 0x54, 0x67, - 0x80, 0x6A, 0xBC, 0x4E, 0x21, 0x50, 0x9D, 0x5D, 0x15, 0x97, 0x19, 0x47, 0x75, 0x3A, 0xCD, 0x9C, 0xA8, 0xA6, 0x70, 0xA6, 0x18, - 0xE8, 0x55, 0x1F, 0x1F, 0x21, 0x64, 0xF6, 0x6A, 0xCC, 0x76, 0x3E, 0x67, 0x18, 0x74, 0xBF, 0xE1, 0x3F, 0x59, 0xFC, 0xE1, 0xA7, - 0x78, 0xCD, 0x43, 0x95, 0xCE, 0x23, 0xAB, 0xA8, 0xD8, 0x4F, 0x36, 0x3C, 0x26, 0xE7, 0xA2, 0x68, 0xCD, 0x2B, 0x3B, 0x4B, 0xB1, - 0x59, 0xE3, 0xCB, 0x07, 0xDC, 0xC9, 0x05, 0x05, 0x15, 0xFE, 0xF2, 0x18, 0xB4, 0xB7, 0x03, 0x92, 0xFB, 0x59, 0x1C, 0x6A, 0x98, - 0xAE, 0x34, 0x54, 0x88, 0xBB, 0x9A, 0x76, 0x80, 0xB9, 0xA8, 0x98, 0xCF, 0xEF, 0xE4, 0x8C, 0x93, 0x11, 0x00, 0xB6, 0x58, 0x41, - 0xC4, 0x24, 0xA0, 0x21, 0x26, 0xBF, 0xA1, 0x03, 0x63, 0x10, 0x16, 0xA8, 0x5E, 0xC0, 0xFF, 0x60, 0x2F, 0xB8, 0x45, 0xE3, 0x4E, - 0xCC, 0x99, 0x06, 0xF2, 0x66, 0xE1, 0xD6, 0xCC, 0xBB, 0x42, 0x04, 0x73, 0x3F, 0x29, 0x15, 0x81, 0x25, 0x97, 0xC5, 0x48, 0x68, - 0x63, 0x86, 0xF2, 0x27, 0x14, 0xC4, 0x92, 0x33, 0xB1, 0x2A, 0xC0, 0x61, 0x61, 0x30, 0x65, 0xDF, 0x10, 0xC4, 0xF2, 0x80, 0x18, - 0xEC, 0xB3, 0x59, 0x3E, 0x89, 0xF2, 0x5F, 0x77, 0x8C, 0x41, 0x38, 0x59, 0xFD, 0xF3, 0x10, 0x84, 0x77, 0x52, 0xD5, 0x1E, 0x81, - 0xC3, 0x89, 0xCA, 0x67, 0xA2, 0x18, 0x5B, 0x00, 0x98, 0xA4, 0x0E, 0xFC, 0x99, 0x90, 0x5B, 0x0A, 0xE5, 0x7B, 0xF7, 0x2F, 0x47, - 0xAE, 0x39, 0x90, 0xCF, 0x80, 0x60, 0xA4, 0x59, 0x03, 0xC5, 0x72, 0x80, 0xCF, 0x46, 0xB3, 0x6C, 0x07, 0x19, 0x46, 0xF3, 0x52, - 0xE1, 0xCC, 0xC6, 0xFF, 0x84, 0x75, 0x82, 0xAD, 0xC3, 0x04, 0x61, 0xD3, 0x5F, 0x3F, 0xFC, 0x4C, 0x1B, 0xB9, 0x15, 0x15, 0xB4, - 0x36, 0x8F, 0x41, 0xBD, 0x77, 0x9E, 0x21, 0x9B, 0xC1, 0xF6, 0x7D, 0x07, 0x90, 0x3B, 0xA1, 0x72, 0xBF, 0xCD, 0x90, 0x8E, 0x7F, - 0xA0, 0xD8, 0xEE, 0x48, 0x04, 0xE5, 0x3E, 0x5A, 0x41, 0x08, 0x8E, 0x8F, 0xF5, 0x37, 0xD1, 0x6A, 0x27, 0x59, 0x28, 0x28, 0x64, - 0xC2, 0x6E, 0x43, 0x8D, 0xBE, 0xCD, 0x84, 0xDD, 0x44, 0xEF, 0xBE, 0xBC, 0xF2, 0x65, 0x1D, 0x6C, 0xC9, 0xC5, 0x7D, 0x7E, 0xB9, - 0x3D, 0x7A, 0xF5, 0x78, 0x44, 0xB4, 0x59, 0x7D, 0x0B, 0x83, 0x9F, 0xF2, 0x04, 0xC7, 0xC7, 0xB9, 0xEC, 0x0C, 0x6F, 0xA0, 0x91, - 0x53, 0x5D, 0x4E, 0x6C, 0x06, 0xA3, 0x40, 0xED, 0x9A, 0x70, 0xAE, 0xEF, 0xE4, 0x59, 0xDB, 0x15, 0x49, 0x3B, 0xDF, 0x6C, 0x8A, - 0x32, 0xBB, 0x93, 0xE5, 0x1E, 0x17, 0xAC, 0x44, 0x9B, 0x65, 0x89, 0xBE, 0x8F, 0x3B, 0xCE, 0x55, 0x97, 0x87, 0x71, 0xD5, 0xA4, - 0x10, 0x87, 0xD6, 0x6C, 0x11, 0x1D, 0xF5, 0x64, 0xDA, 0x6B, 0x10, 0xA3, 0xF9, 0x51, 0x76, 0x7A, 0x63, 0x24, 0x73, 0x75, 0xE6, - 0x5B, 0x50, 0xB7, 0x6A, 0x89, 0x6F, 0x60, 0xB3, 0x32, 0xDB, 0xD0, 0xDC, 0x7A, 0x63, 0x24, 0x74, 0xAA, 0x92, 0x82, 0x83, 0xB0, - 0x38, 0x1D, 0x66, 0xE9, 0xCF, 0x76, 0x06, 0xBF, 0x1E, 0x4F, 0x7B, 0x99, 0xF4, 0x83, 0xD4, 0x1A, 0x56, 0x24, 0x83, 0x19, 0x63, - 0x7A, 0xC5, 0x8C, 0x63, 0xE5, 0x11, 0xC3, 0x32, 0x13, 0xB8, 0x7A, 0x2C, 0x92, 0x76, 0x71, 0xF1, 0x90, 0xE2, 0xA9, 0x79, 0xBA, - 0x40, 0x1B, 0x04, 0xCE, 0x40, 0xE4, 0xFD, 0x01, 0x22, 0x11, 0xB0, 0x09, 0x1C, 0x59, 0x02, 0xFF, 0x70, 0xD2, 0x4B, 0x23, 0xA2, - 0x38, 0xEE, 0xED, 0x82, 0x0B, 0x9F, 0xC2, 0x5B, 0x6A, 0xC7, 0xB4, 0x14, 0xF6, 0x55, 0x6E, 0x85, 0xEF, 0xE8, 0x13, 0xD4, 0x90, - 0x71, 0x51, 0x15, 0xDB, 0xE6, 0x77, 0x8C, 0x80, 0xF9, 0x08, 0x19, 0x1A, 0x1D, 0x1A, 0xD1, 0xBA, 0xCC, 0xC9, 0x0C, 0x21, 0x90, - 0x7C, 0x11, 0x03, 0xC8, 0xE3, 0x15, 0x41, 0x0D, 0x9B, 0xCC, 0x51, 0xB0, 0x11, 0x60, 0xB0, 0xC3, 0x23, 0x74, 0x9A, 0x53, 0xD2, - 0xED, 0x43, 0xF8, 0xBF, 0x1B, 0xD2, 0x40, 0xC2, 0xC7, 0x8F, 0x7A, 0xE5, 0xCB, 0x17, 0x20, 0x60, 0x83, 0x3C, 0xC5, 0x8F, 0xAB, - 0x30, 0x84, 0x2C, 0x8A, 0x3E, 0x51, 0x2E, 0xBC, 0x99, 0x1F, 0xD5, 0x21, 0x13, 0x9D, 0x20, 0x66, 0xF6, 0x09, 0x5D, 0x0A, 0xAC, - 0x57, 0x7A, 0x4F, 0xDA, 0x43, 0xE1, 0x53, 0xE1, 0xA3, 0xB3, 0xB3, 0x35, 0x10, 0xC9, 0x39, 0x7D, 0x06, 0xA2, 0x88, 0x71, 0xF1, - 0x1E, 0x86, 0x22, 0x86, 0x86, 0x0F, 0x4C, 0x82, 0x90, 0x72, 0xD4, 0x93, 0x8F, 0xE4, 0x01, 0x7C, 0xB0, 0x9C, 0x71, 0x0D, 0xC5, - 0x1D, 0x75, 0x2C, 0x6F, 0x86, 0xC3, 0x60, 0xA7, 0x3D, 0x76, 0x72, 0x8E, 0xEF, 0x7B, 0x1E, 0x21, 0x03, 0xC0, 0x62, 0xEA, 0x78, - 0xDE, 0x2C, 0x57, 0x1A, 0xE5, 0x72, 0x2A, 0x27, 0x8F, 0xE9, 0x23, 0xDB, 0xCF, 0x11, 0x23, 0x90, 0x24, 0xE4, 0xAC, 0x63, 0xA4, - 0x03, 0x22, 0x41, 0x42, 0xC8, 0xEE, 0xFD, 0x00, 0x9A, 0x19, 0x90, 0x0C, 0x84, 0xE7, 0xF4, 0x51, 0x72, 0xC9, 0xE5, 0x1C, 0x8D, - 0x29, 0xB5, 0x41, 0xC5, 0x36, 0xB6, 0x8A, 0xA7, 0xB0, 0x35, 0x27, 0xB7, 0x70, 0x13, 0x5B, 0x3C, 0xBD, 0x42, 0x94, 0xDC, 0x2D, - 0x1B, 0x03, 0xF3, 0x89, 0xF5, 0xC8, 0xCD, 0x85, 0x18, 0x8D, 0xF4, 0xC1, 0x97, 0xC1, 0x06, 0x9F, 0xDC, 0xCD, 0xD0, 0xE6, 0xA1, - 0xD8, 0x8F, 0x01, 0xC5, 0xB8, 0xC5, 0x9B, 0x6B, 0x25, 0x45, 0x0B, 0xC3, 0xB6, 0x93, 0xF3, 0x9C, 0xF0, 0x6E, 0xA7, 0xC7, 0x1D, - 0x6A, 0x37, 0x54, 0xCB, 0x00, 0x43, 0x2C, 0x50, 0xA8, 0x12, 0xCC, 0x26, 0x40, 0x8F, 0x28, 0x2A, 0xDD, 0xDF, 0x04, 0xE4, 0x07, - 0x11, 0x68, 0x10, 0x0F, 0x6E, 0x93, 0x34, 0x46, 0x9C, 0x02, 0xB7, 0xC6, 0x6B, 0x07, 0x3A, 0x48, 0xC8, 0x68, 0x87, 0xD7, 0x0D, - 0xA3, 0x04, 0x23, 0x74, 0xF0, 0x33, 0xC6, 0x28, 0x0F, 0x8D, 0x38, 0xD5, 0xC9, 0x02, 0xD5, 0xA7, 0x2A, 0x97, 0x4E, 0x16, 0xE8, - 0xFF, 0xE9, 0x63, 0xB6, 0x08, 0x53, 0x77, 0x83, 0xBC, 0x09, 0xA6, 0x58, 0xF2, 0x10, 0x7C, 0x7D, 0x8B, 0x2F, 0x7B, 0x69, 0x2B, - 0x62, 0xE8, 0x28, 0x66, 0xCB, 0x14, 0xC2, 0x3E, 0x85, 0xEF, 0xA1, 0x3B, 0x66, 0xF6, 0x1D, 0x5D, 0x09, 0x12, 0x65, 0xFC, 0xCC, - 0x50, 0xA4, 0x31, 0x96, 0x25, 0x88, 0x20, 0x6A, 0xA6, 0x4B, 0xC3, 0x74, 0x64, 0x6D, 0xAA, 0x72, 0x8E, 0x0D, 0xC6, 0xB7, 0xDD, - 0x3E, 0x77, 0xEA, 0xC7, 0x36, 0xBE, 0x7F, 0x40, 0x84, 0xF3, 0x7A, 0x1D, 0xBB, 0xEB, 0x71, 0x8B, 0x7E, 0xB4, 0xB8, 0xF6, 0xDA, - 0x02, 0xA4, 0x11, 0x05, 0x5C, 0x33, 0x96, 0x12, 0x19, 0x90, 0x85, 0x06, 0x66, 0x83, 0x62, 0x02, 0xB7, 0xE6, 0x71, 0xFA, 0x45, - 0x89, 0xC0, 0x53, 0x87, 0xB0, 0x43, 0x74, 0x5A, 0x6F, 0xF3, 0x07, 0x28, 0xA8, 0x37, 0x92, 0x8E, 0x78, 0x4C, 0xB3, 0x3E, 0x01, - 0x95, 0xD3, 0x41, 0xDC, 0x31, 0x1D, 0xA5, 0x8C, 0xD3, 0x46, 0xEF, 0x33, 0x8C, 0x4E, 0xD2, 0x93, 0x18, 0x9F, 0x50, 0x13, 0xE5, - 0x3B, 0x98, 0xA0, 0xF7, 0x7F, 0x4C, 0xC8, 0x9B, 0xFF, 0xF2, 0x20, 0x78, 0x85, 0x73, 0x3A, 0xEC, 0xBC, 0xC9, 0x8D, 0xB8, 0xBC, - 0x63, 0x4C, 0x53, 0xA7, 0x52, 0x23, 0x64, 0xD5, 0x14, 0xD4, 0x38, 0xF6, 0x0E, 0xF8, 0xC9, 0x2E, 0x8C, 0xD2, 0x21, 0x33, 0x7F, - 0x71, 0xD2, 0x2D, 0xA3, 0x47, 0x65, 0xA2, 0xAC, 0xD6, 0xDD, 0x85, 0x79, 0x13, 0x2D, 0x97, 0x4F, 0xD3, 0x72, 0x6E, 0xD1, 0x72, - 0x6E, 0xD3, 0x32, 0x99, 0x3B, 0x9D, 0x54, 0x8C, 0x5B, 0xF1, 0xE7, 0x26, 0x5F, 0x6E, 0x5C, 0x6D, 0xD1, 0x9F, 0xCF, 0x4E, 0xB8, - 0x32, 0x74, 0x72, 0xED, 0x7E, 0xD4, 0xBF, 0x82, 0x08, 0x1D, 0x93, 0x8F, 0x08, 0x04, 0x31, 0xDC, 0x98, 0x5D, 0x3E, 0x7C, 0x95, - 0xF9, 0x7F, 0x6B, 0x5A, 0x8D, 0x0B, 0x68, 0xD5, 0xCD, 0x47, 0x09, 0x93, 0x9F, 0xC6, 0xEF, 0x55, 0xCB, 0x88, 0x19, 0x91, 0x28, - 0xB7, 0x9E, 0xB9, 0x6C, 0x1A, 0xB0, 0xE1, 0x16, 0x3D, 0xBB, 0x97, 0xDC, 0x74, 0xFA, 0x68, 0xD9, 0xEB, 0x87, 0xFD, 0x1D, 0xEC, - 0x98, 0x0D, 0x78, 0xE0, 0x1A, 0x43, 0x23, 0x0E, 0x4A, 0x0B, 0x07, 0x66, 0x31, 0x72, 0x05, 0x91, 0x47, 0x42, 0x20, 0x4C, 0x57, - 0x90, 0x20, 0xC4, 0xE4, 0xBF, 0x8D, 0x05, 0xF9, 0x09, 0x54, 0x28, 0x28, 0xB6, 0x75, 0x2F, 0xE8, 0x59, 0x78, 0x3F, 0x2D, 0x37, - 0x2B, 0x2D, 0x76, 0x76, 0x77, 0x95, 0x55, 0x24, 0x94, 0xA9, 0xA3, 0xAE, 0x63, 0x8A, 0x80, 0xC9, 0x76, 0x5D, 0x40, 0xEF, 0x1C, - 0xDB, 0x5F, 0x7D, 0xF9, 0x56, 0xA4, 0xEC, 0xBD, 0x3E, 0xA4, 0xF6, 0xF0, 0xAA, 0xAD, 0xBB, 0xE7, 0x9A, 0x63, 0x60, 0x21, 0x17, - 0xA8, 0xAC, 0xD4, 0xE2, 0xFB, 0x6F, 0x0B, 0xF6, 0x6C, 0x4B, 0x31, 0xAB, 0x0A, 0xFD, 0xAE, 0xC4, 0x76, 0xCF, 0xA9, 0x20, 0x08, - 0xAA, 0x16, 0x2F, 0x33, 0xE8, 0x49, 0x95, 0x7A, 0x20, 0x99, 0xDF, 0x8D, 0x7B, 0xB8, 0x2A, 0xE6, 0x52, 0xCB, 0x3A, 0xF9, 0xB0, - 0x0E, 0x3E, 0xBE, 0xBB, 0x5B, 0x97, 0x0F, 0x2D, 0xEE, 0xCC, 0xDE, 0x12, 0x87, 0xA4, 0x68, 0xF9, 0xE8, 0x72, 0xE3, 0x44, 0x54, - 0x58, 0xE7, 0x0B, 0xBE, 0xA7, 0x7A, 0x45, 0x92, 0x7C, 0xB6, 0x2D, 0xC2, 0xE4, 0x30, 0x95, 0x51, 0x54, 0x8E, 0x2E, 0xE8, 0x1E, - 0x56, 0x03, 0xD0, 0x64, 0x69, 0x74, 0x11, 0x84, 0xBC, 0x5D, 0xDC, 0x64, 0x1B, 0x58, 0x6A, 0xE0, 0xE9, 0x49, 0x86, 0xEA, 0x3E, - 0x26, 0x4E, 0x43, 0x83, 0xC0, 0xD4, 0xB8, 0x4A, 0xF1, 0xE1, 0xD6, 0xD9, 0x64, 0x6E, 0x35, 0x43, 0x07, 0x38, 0xAD, 0xF5, 0xC2, - 0xCF, 0x57, 0x45, 0x27, 0xA6, 0x6E, 0x58, 0xF2, 0x5F, 0x7B, 0xAA, 0xAA, 0x53, 0x5A, 0x51, 0x5B, 0xE9, 0xAA, 0x64, 0x37, 0x29, - 0x3B, 0x32, 0x1F, 0x07, 0x27, 0xBF, 0x51, 0x7F, 0x97, 0xC8, 0x12, 0xB0, 0x2A, 0xD7, 0x0B, 0xD4, 0xF0, 0x95, 0xB6, 0x69, 0x54, - 0xC1, 0xDF, 0xC1, 0x1E, 0x38, 0x6A, 0x87, 0xC1, 0x3C, 0x8C, 0xCB, 0xB0, 0xCF, 0x5F, 0x23, 0xAB, 0xE4, 0x3A, 0x16, 0x25, 0x07, - 0x64, 0xBB, 0xDD, 0x23, 0x2F, 0xBA, 0x36, 0xE1, 0x03, 0x56, 0xF6, 0x73, 0x79, 0x58, 0x8D, 0x0C, 0x79, 0xFF, 0x6A, 0x2D, 0x98, - 0x9B, 0x30, 0x34, 0x35, 0x17, 0xA3, 0x92, 0xBC, 0x1D, 0xF4, 0xFF, 0x6F, 0x14, 0x0F, 0xF0, 0xE5, 0xD3, 0x2D, 0x75, 0x8C, 0x89, - 0x13, 0x5F, 0xF1, 0xAE, 0x8E, 0x58, 0xC2, 0xFA, 0x00, 0xD7, 0xC7, 0xE7, 0x92, 0xF0, 0x03, 0xC3, 0x27, 0xD4, 0x08, 0x46, 0x9E, - 0xB3, 0x07, 0x13, 0x83, 0xB3, 0x1B, 0x9B, 0xDB, 0x78, 0xCF, 0xFA, 0xFE, 0x14, 0x14, 0x28, 0x0D, 0x06, 0x94, 0x67, 0x83, 0x29, - 0xE8, 0x58, 0x6F, 0x75, 0xF8, 0x15, 0x0F, 0x62, 0xE2, 0x68, 0x73, 0x51, 0x1B, 0x06, 0x39, 0x14, 0x07, 0x13, 0x5F, 0x97, 0xC0, - 0x94, 0x5A, 0x31, 0x90, 0x59, 0x84, 0x96, 0x63, 0x15, 0x43, 0xF5, 0xDE, 0xE3, 0x26, 0x00, 0x8F, 0x6E, 0x5F, 0x62, 0xAA, 0x38, - 0xFD, 0xC6, 0xA3, 0x9F, 0xA6, 0x5E, 0xB9, 0x65, 0x6B, 0xE2, 0xDB, 0xEB, 0x45, 0x1B, 0xCB, 0x89, 0xBF, 0x85, 0xBA, 0x3E, 0x91, - 0x3E, 0xB6, 0x8F, 0x1F, 0x07, 0xB4, 0xAF, 0x3C, 0xA6, 0x03, 0xB9, 0x98, 0x54, 0x27, 0xB6, 0xE1, 0xB8, 0xDA, 0x91, 0xAC, 0x48, - 0x9D, 0xC9, 0x1F, 0xB2, 0xC3, 0xFD, 0x46, 0x4E, 0xBC, 0x6F, 0x2A, 0x37, 0x03, 0xA2, 0x3F, 0xBE, 0x4F, 0x0A, 0xE9, 0xB5, 0x6E, - 0x2E, 0xEB, 0xEE, 0x35, 0x97, 0x35, 0xB2, 0x4B, 0x2D, 0xC8, 0x88, 0xF3, 0xA1, 0x23, 0x52, 0x4E, 0xCD, 0x3B, 0xDF, 0xB4, 0x20, - 0xDD, 0x44, 0xF9, 0xB7, 0x36, 0x07, 0x63, 0x54, 0x95, 0x8D, 0x61, 0x07, 0x23, 0x26, 0x2F, 0x6D, 0x39, 0x68, 0x19, 0x2A, 0xBF, - 0x69, 0x14, 0x0B, 0xA3, 0xB0, 0x1C, 0x88, 0xC3, 0xA2, 0xB8, 0xAB, 0xAC, 0xE4, 0x47, 0x87, 0x29, 0xB1, 0xFB, 0x34, 0xC2, 0x44, - 0x59, 0xD9, 0x51, 0xF3, 0xC2, 0xD4, 0x7D, 0x29, 0x79, 0x29, 0x29, 0x6F, 0x5B, 0x48, 0x3C, 0x2D, 0x6E, 0xAA, 0x90, 0xAF, 0xBE, - 0x55, 0x99, 0x76, 0xB0, 0xAB, 0x1B, 0x1D, 0x01, 0xDE, 0x4F, 0xDB, 0x12, 0x9D, 0x56, 0xCD, 0xE0, 0xB3, 0x9B, 0x7A, 0xCD, 0xE7, - 0x2C, 0x75, 0x34, 0x28, 0x11, 0xC1, 0x59, 0x9C, 0x3A, 0x72, 0xD1, 0xE5, 0x97, 0xE5, 0x12, 0x14, 0x84, 0xD0, 0x94, 0x63, 0xDA, - 0x66, 0x4E, 0x20, 0xCC, 0xC6, 0xB7, 0xCA, 0x6C, 0xBC, 0xDC, 0x67, 0x36, 0xE6, 0xB8, 0xB5, 0xCD, 0xAE, 0xEA, 0xF2, 0x93, 0x95, - 0x5C, 0x88, 0x27, 0x8D, 0xCC, 0xB4, 0x92, 0x8B, 0xD7, 0x18, 0xF4, 0x29, 0x06, 0x3A, 0xC9, 0x13, 0x24, 0x55, 0xAB, 0x84, 0x12, - 0x29, 0x9E, 0x28, 0xF3, 0x33, 0x39, 0x2D, 0x36, 0x95, 0x20, 0xCB, 0x3E, 0x39, 0x9B, 0x00, 0x31, 0x6A, 0xEA, 0x46, 0xB2, 0x54, - 0x9A, 0x4C, 0x4A, 0x8F, 0xDC, 0xD2, 0xAA, 0x55, 0xD6, 0x34, 0x97, 0xB4, 0x6C, 0x1E, 0x81, 0x36, 0xCB, 0x50, 0x9E, 0xBD, 0xF4, - 0xAC, 0x3B, 0x64, 0x12, 0x43, 0x63, 0x49, 0x99, 0x32, 0x6C, 0x80, 0x5A, 0x47, 0xA7, 0x9A, 0x8D, 0x78, 0x81, 0x7D, 0xEE, 0x95, - 0xC6, 0x1F, 0x93, 0x9B, 0x18, 0x66, 0xA2, 0x73, 0x2D, 0xFD, 0x8F, 0x0F, 0xDD, 0x98, 0x9B, 0xA0, 0xC0, 0x11, 0xB6, 0xAE, 0xA1, - 0x09, 0xC0, 0x52, 0x6B, 0x91, 0xB1, 0x82, 0x14, 0x61, 0xFE, 0x2E, 0x23, 0x64, 0xB2, 0x96, 0xEA, 0xA9, 0x75, 0xCF, 0xAE, 0x5B, - 0xF1, 0x3A, 0x09, 0x41, 0x4F, 0x66, 0xAD, 0xDB, 0xB2, 0x5C, 0x17, 0xE3, 0xD3, 0xD3, 0x05, 0x5E, 0x59, 0x42, 0x7E, 0xDD, 0xB9, - 0xCB, 0xFE, 0x4A, 0x56, 0xAB, 0xB8, 0x93, 0xE5, 0x37, 0xA7, 0x2C, 0x3D, 0xF9, 0xED, 0xCD, 0xE9, 0x22, 0x9B, 0x17, 0xA7, 0xFF, - 0xC9, 0xAE, 0x4F, 0xBF, 0xFA, 0xF5, 0x07, 0xFC, 0xFB, 0x4E, 0x79, 0x4D, 0xBF, 0x83, 0x14, 0x8F, 0x2B, 0xAD, 0x14, 0xF8, 0xE2, - 0xB2, 0xCA, 0xF6, 0x14, 0xF2, 0x39, 0x96, 0xC8, 0x8A, 0x6D, 0x6B, 0x5E, 0x22, 0xFE, 0xC5, 0x47, 0xA2, 0x6E, 0x9B, 0x20, 0x73, - 0x5B, 0x13, 0x33, 0x19, 0xB3, 0x5C, 0xB2, 0xF8, 0x5C, 0xEC, 0x3C, 0x4F, 0xAE, 0x41, 0xC9, 0xB3, 0x10, 0x43, 0x2B, 0xAC, 0xF0, - 0xF1, 0xA4, 0xDC, 0xEC, 0x4E, 0x34, 0xF0, 0x36, 0x13, 0x1D, 0x1A, 0xBD, 0x05, 0x35, 0xC2, 0xC7, 0xD8, 0x9C, 0x66, 0xE5, 0x1B, - 0x56, 0x8A, 0x57, 0xB3, 0xFC, 0x4A, 0xD1, 0xC0, 0x5E, 0x1D, 0x59, 0x58, 0xA9, 0x66, 0x53, 0x75, 0xE1, 0x9B, 0xA5, 0x6D, 0x4D, - 0xD4, 0x1E, 0xCF, 0xCF, 0x59, 0x99, 0x2C, 0x93, 0x79, 0xCC, 0xAF, 0x0A, 0x3A, 0x38, 0x72, 0xD7, 0xAA, 0x6C, 0x6E, 0x73, 0xF8, - 0x7C, 0xC1, 0xF3, 0x77, 0x97, 0x06, 0xE2, 0xB2, 0x37, 0x17, 0xBE, 0xDA, 0xF4, 0x96, 0x51, 0x39, 0xE5, 0x6B, 0x5C, 0xA7, 0xDD, - 0xAA, 0x5E, 0xAD, 0x34, 0xD7, 0x86, 0x49, 0x9E, 0x7C, 0xE2, 0xD2, 0xD4, 0xA0, 0xD5, 0x56, 0xA7, 0xB5, 0xD1, 0x05, 0x78, 0x63, - 0xD6, 0x6D, 0xF1, 0xB0, 0xD5, 0x69, 0x9B, 0xF2, 0xFE, 0x3E, 0x50, 0xCA, 0x1E, 0x85, 0xFA, 0xF0, 0x9C, 0xAD, 0x56, 0x04, 0x8C, - 0x2D, 0x22, 0xD4, 0xEB, 0xF9, 0x14, 0x88, 0x44, 0x88, 0x34, 0x15, 0x93, 0x85, 0xF2, 0x13, 0x61, 0x3A, 0x42, 0x05, 0x0F, 0xA9, - 0x84, 0x31, 0x82, 0xCC, 0x8D, 0xE2, 0x55, 0xF7, 0x92, 0x84, 0x13, 0x60, 0x93, 0x2E, 0x13, 0x88, 0x4D, 0xAA, 0xFE, 0x3E, 0xFE, - 0x1D, 0x04, 0x56, 0xB3, 0xC7, 0xC7, 0x66, 0x7B, 0x55, 0xFD, 0xBB, 0x7A, 0x61, 0x1D, 0x86, 0xF2, 0x09, 0xD2, 0x8F, 0x8D, 0x52, - 0x0B, 0x07, 0x6E, 0x2A, 0xB5, 0x2D, 0x40, 0xEA, 0xA8, 0x19, 0x77, 0xD8, 0x4B, 0x03, 0x5C, 0xE7, 0x1E, 0xC6, 0xE3, 0x7E, 0xFD, - 0x07, 0x1E, 0xAC, 0xA1, 0x0F, 0x62, 0x05, 0xF1, 0x15, 0x44, 0x31, 0xFE, 0xFC, 0x34, 0x6F, 0x9E, 0xB7, 0xCC, 0x63, 0x82, 0xF3, - 0xFA, 0x5A, 0x2F, 0x88, 0xE4, 0x9B, 0x0C, 0x61, 0xF9, 0xB9, 0xC6, 0x6F, 0x83, 0xD2, 0x80, 0x88, 0x2A, 0xA7, 0xE5, 0xA0, 0x5E, - 0x12, 0xF5, 0x33, 0x7A, 0x52, 0xB4, 0x2A, 0xB5, 0x2F, 0x93, 0x15, 0xB4, 0x59, 0x70, 0x45, 0x23, 0x7A, 0x14, 0x3F, 0xC7, 0xD3, - 0x47, 0xC1, 0xB9, 0xE0, 0xD3, 0x3B, 0xBB, 0x8E, 0x7B, 0xD7, 0xFD, 0xDE, 0xC5, 0x49, 0x6F, 0x14, 0x5F, 0x9C, 0x0C, 0xCF, 0x7A, - 0xCB, 0x93, 0x97, 0x4B, 0xF8, 0x1A, 0x2D, 0xE6, 0x31, 0xEB, 0x9F, 0x0F, 0x58, 0xBC, 0x44, 0xD7, 0xE7, 0x19, 0xDE, 0x6E, 0x36, - 0xF6, 0x06, 0x89, 0x22, 0xC7, 0x46, 0xD8, 0xA9, 0x6F, 0x09, 0x7F, 0x1F, 0x4F, 0x46, 0x8B, 0x0D, 0xE8, 0xA9, 0xEE, 0x0C, 0x0A, - 0x41, 0xCD, 0xAB, 0xBD, 0x60, 0x2B, 0xE2, 0x15, 0xD4, 0x20, 0xDE, 0xEA, 0x6A, 0x7B, 0x61, 0x0B, 0x06, 0x89, 0xE6, 0xBD, 0x32, - 0x93, 0x82, 0x00, 0x48, 0xAB, 0xF7, 0x5E, 0x20, 0x2C, 0x45, 0x92, 0x30, 0x60, 0xCC, 0x65, 0x47, 0x2D, 0xEB, 0xCF, 0xC4, 0xA7, - 0x25, 0xEC, 0x6E, 0x07, 0xD7, 0x52, 0x8E, 0xD4, 0xD8, 0xC6, 0xD4, 0x20, 0x2B, 0xD0, 0xB1, 0xF2, 0xD7, 0x3C, 0xB9, 0x8B, 0xF3, - 0x07, 0x59, 0xF0, 0xB0, 0x79, 0xFE, 0xDB, 0x03, 0xD1, 0xA0, 0x3D, 0x3D, 0x86, 0xEA, 0x9E, 0x2A, 0x16, 0xE0, 0x1E, 0x91, 0xD4, - 0x18, 0x5E, 0x65, 0xF1, 0x7A, 0xCB, 0xF3, 0xD1, 0xFC, 0xFC, 0x6C, 0xD1, 0x3F, 0xE9, 0xF5, 0x5F, 0xB2, 0x93, 0xE1, 0x22, 0x5E, - 0x9C, 0xC4, 0xBD, 0xC5, 0xE2, 0xE4, 0xFC, 0xE2, 0xEC, 0xAC, 0xD7, 0x1F, 0x0E, 0xBB, 0x3D, 0x76, 0xEE, 0x55, 0x34, 0x15, 0xDB, - 0x39, 0x5A, 0x1B, 0x70, 0x57, 0x0F, 0xAD, 0x1B, 0xB4, 0x7A, 0x5A, 0x5D, 0xB4, 0x2A, 0xBE, 0xD1, 0xCD, 0x60, 0x4A, 0x87, 0x88, - 0x26, 0xA1, 0x79, 0xCF, 0x28, 0x2E, 0xAE, 0xE3, 0xFE, 0xF5, 0x7C, 0xDE, 0x3F, 0x61, 0xAC, 0xDB, 0x3F, 0x19, 0xC6, 0xA3, 0xD1, - 0x49, 0x3C, 0x1A, 0xF4, 0x4E, 0xE6, 0xA3, 0xFE, 0x68, 0x3E, 0x62, 0xC3, 0xD1, 0x70, 0x31, 0xFA, 0x7F, 0x30, 0x8A, 0xBA, 0x58, - 0xBF, 0x67, 0x0C, 0x6C, 0xF1, 0x72, 0x11, 0xF7, 0x2E, 0xE6, 0x27, 0xF1, 0x45, 0xB7, 0x7B, 0x32, 0x5C, 0x9E, 0x9D, 0x9D, 0xC4, - 0x67, 0xE7, 0xDD, 0x93, 0x38, 0x3E, 0x1F, 0x0D, 0xCF, 0xD9, 0x60, 0x38, 0x1C, 0x0D, 0xFE, 0x65, 0x63, 0xF8, 0x0C, 0xF4, 0x5C, - 0x21, 0x53, 0x37, 0x5D, 0x4B, 0x5F, 0x95, 0xBD, 0xE2, 0xDF, 0xA3, 0xB1, 0x5F, 0x39, 0xD1, 0x8A, 0x51, 0x6C, 0xF2, 0xD2, 0xAC, - 0x54, 0xF8, 0xFB, 0xA6, 0xC1, 0xE1, 0xBF, 0x63, 0xA3, 0x8A, 0x7C, 0x4A, 0xE6, 0xB6, 0x2B, 0x0F, 0xDF, 0xD7, 0x2B, 0xC0, 0x59, - 0xEE, 0x3C, 0xCD, 0x0C, 0x13, 0x6A, 0xE1, 0x81, 0x80, 0x06, 0xAF, 0x05, 0x7D, 0x25, 0x1F, 0xE9, 0x7A, 0x11, 0xA8, 0xD3, 0x4F, - 0xC9, 0xF2, 0x8F, 0x86, 0xB4, 0xEE, 0x80, 0x1D, 0x79, 0x2A, 0xEE, 0x4C, 0x2C, 0xAF, 0x5B, 0x33, 0x0C, 0xB8, 0xB5, 0x44, 0x6A, - 0x42, 0xBD, 0x73, 0x0F, 0x8C, 0x07, 0xB8, 0x6C, 0x24, 0xB5, 0xEA, 0x80, 0xCC, 0xC3, 0x01, 0xB3, 0x20, 0x13, 0xBB, 0x9F, 0xF3, - 0xB4, 0x49, 0x13, 0x59, 0x23, 0xE6, 0xC8, 0xA4, 0xE3, 0x18, 0x81, 0xB2, 0xEB, 0x54, 0xCD, 0x3D, 0x86, 0xA4, 0xDD, 0x20, 0x8E, - 0x4B, 0x43, 0x5C, 0xD5, 0xDE, 0x05, 0x1A, 0x05, 0x91, 0x62, 0x25, 0x74, 0xA2, 0x78, 0xDA, 0x07, 0x07, 0x41, 0x86, 0x84, 0x96, - 0x94, 0x1E, 0x13, 0x10, 0x6D, 0x52, 0x7D, 0x85, 0xA1, 0x50, 0xB1, 0xD9, 0xD5, 0xEB, 0xB0, 0x18, 0x31, 0xAE, 0x21, 0xE6, 0x1E, - 0xC6, 0xB8, 0x29, 0xC3, 0xFE, 0x97, 0xB2, 0xFD, 0x1D, 0x48, 0xE4, 0x6C, 0x80, 0x31, 0xBF, 0x77, 0xFE, 0x20, 0xEC, 0x57, 0x40, - 0xB1, 0x97, 0x80, 0x44, 0x81, 0xA9, 0xC2, 0xED, 0x8C, 0x29, 0xB5, 0x82, 0xAC, 0xEC, 0xEC, 0x9F, 0x9F, 0xB6, 0x9A, 0x5D, 0x24, - 0xD4, 0xC2, 0xEB, 0xC5, 0x20, 0x02, 0xC0, 0x7E, 0xAF, 0x84, 0x7A, 0x0F, 0xFD, 0xA8, 0x95, 0xEB, 0xDE, 0xEA, 0x30, 0x1B, 0xCC, - 0x26, 0x5F, 0x55, 0x0D, 0x30, 0x05, 0x9B, 0x6F, 0x60, 0x79, 0x30, 0xDE, 0x85, 0x88, 0xD8, 0x80, 0x2E, 0xF5, 0x7C, 0x49, 0x33, - 0xC0, 0x37, 0x22, 0x55, 0x5D, 0x85, 0x56, 0xDE, 0x71, 0x55, 0x7B, 0x08, 0x19, 0x43, 0xC2, 0x3C, 0xEA, 0xB1, 0xA1, 0xF0, 0x2B, - 0x23, 0xBB, 0xC8, 0x91, 0xC3, 0x2E, 0xA2, 0x6C, 0xA3, 0xFB, 0xFA, 0xAF, 0x9C, 0x3A, 0xE4, 0x2B, 0xF9, 0x22, 0x90, 0xF0, 0xB1, - 0xCC, 0x22, 0xAE, 0x3C, 0x4D, 0x3C, 0x69, 0x5D, 0xF0, 0xC6, 0xF4, 0x89, 0x5F, 0x7A, 0xB8, 0x59, 0x9B, 0x59, 0x4E, 0xB5, 0x07, - 0x6A, 0xB6, 0x52, 0xDB, 0x76, 0x22, 0x00, 0x08, 0x4D, 0xFE, 0x12, 0x6F, 0x78, 0xEA, 0x62, 0x26, 0x71, 0xE4, 0xA8, 0x1E, 0x1F, - 0xAA, 0xC8, 0xD9, 0xD1, 0x80, 0x9E, 0x69, 0xF9, 0xD9, 0x59, 0x8A, 0x72, 0xE3, 0x09, 0xFB, 0x93, 0x87, 0x90, 0x7B, 0x41, 0x7A, - 0x86, 0xC6, 0x7B, 0x39, 0x5F, 0xB1, 0x38, 0xB7, 0x91, 0xE4, 0x42, 0xA5, 0x34, 0xAF, 0x57, 0x59, 0xCB, 0x67, 0x53, 0x40, 0x6D, - 0xFD, 0xF3, 0x56, 0x47, 0x7F, 0xF3, 0x25, 0x85, 0xB4, 0xBD, 0xD3, 0x78, 0x9D, 0x9C, 0x7E, 0xEC, 0x9D, 0xE2, 0xFE, 0x25, 0xAF, - 0x5C, 0x62, 0x0C, 0xB1, 0x2A, 0x7B, 0x0D, 0xD9, 0x67, 0x56, 0x45, 0xF7, 0xAF, 0x81, 0x76, 0x3B, 0x7C, 0x9A, 0x79, 0x54, 0xA6, - 0xE8, 0x53, 0x94, 0xD5, 0x4F, 0x43, 0xD0, 0xAF, 0xBF, 0xBD, 0xF5, 0x42, 0xD4, 0x70, 0xD5, 0x5C, 0x99, 0x75, 0xC9, 0xE3, 0x90, - 0xE2, 0xB0, 0xE5, 0xC0, 0x82, 0xEC, 0x68, 0x92, 0x98, 0x3C, 0xE6, 0xB7, 0x4D, 0x78, 0xD7, 0x44, 0x18, 0x68, 0xA8, 0xBE, 0xA3, - 0xB7, 0xEB, 0xC7, 0x54, 0x62, 0x17, 0x18, 0x2F, 0x0C, 0x53, 0x6F, 0x63, 0xBB, 0x7C, 0x1D, 0x3C, 0x60, 0x78, 0x1C, 0x38, 0xD5, - 0x10, 0x01, 0x79, 0x4B, 0xAF, 0xAC, 0x17, 0xE3, 0x47, 0xB4, 0xF4, 0x03, 0x93, 0x2C, 0x4F, 0xC8, 0x9D, 0x75, 0xEC, 0x61, 0x48, - 0x4E, 0xB1, 0xA7, 0x9E, 0xFE, 0x79, 0x22, 0x2F, 0x1E, 0x7A, 0xBB, 0xF0, 0x3A, 0x5B, 0x3C, 0xD0, 0x05, 0x2B, 0x58, 0x48, 0xFD, - 0x2E, 0x3D, 0x27, 0x57, 0x09, 0xEF, 0x97, 0x74, 0x62, 0x83, 0xF6, 0xF0, 0x04, 0xB2, 0xC2, 0xEB, 0x71, 0x5E, 0x5A, 0x32, 0xD8, - 0xEF, 0x92, 0xB3, 0x6F, 0x3A, 0x56, 0x10, 0xF1, 0x00, 0xF1, 0xE4, 0xC9, 0x0C, 0x0A, 0x28, 0x91, 0xA8, 0x17, 0x89, 0x7F, 0x00, - 0x9B, 0x7C, 0x35, 0x08, 0x1A, 0xFC, 0x34, 0xE4, 0xC9, 0x80, 0x62, 0x0A, 0xFC, 0x0C, 0x99, 0x6E, 0xC2, 0x35, 0xFB, 0xA4, 0x1C, - 0x28, 0x25, 0x88, 0x4D, 0x67, 0x5D, 0xD9, 0x6A, 0x8C, 0x4D, 0x52, 0x1D, 0x56, 0x14, 0x7A, 0xA1, 0x12, 0x35, 0x17, 0x3B, 0x7E, - 0x79, 0xCE, 0xDA, 0xF4, 0x7C, 0xAE, 0x21, 0x32, 0x69, 0xBE, 0xE0, 0xAB, 0xFB, 0x36, 0x74, 0x36, 0xA8, 0xE2, 0x77, 0x32, 0xD1, - 0x94, 0xBD, 0x04, 0xDC, 0x6D, 0xAD, 0x0E, 0x6C, 0x0B, 0x14, 0xC3, 0x24, 0x5E, 0x59, 0xAD, 0xE1, 0xC5, 0x13, 0x23, 0x81, 0x35, - 0x8C, 0x53, 0x36, 0xB5, 0xA3, 0x6B, 0x4B, 0x0F, 0x91, 0xD7, 0xED, 0xF4, 0x3B, 0x5D, 0x6F, 0x37, 0xC3, 0x7D, 0xFA, 0xF2, 0xFF, - 0x07, 0x74, 0xD7, 0x2F, 0x4E, 0xB1, 0x4F, 0x01, 0x00, -}; - // Length of the binary data const int FAVICON_LENGTH = 2238; diff --git a/src/meshwifi/meshwifi.cpp b/src/meshwifi/meshwifi.cpp index a20cebede..71c4d2277 100644 --- a/src/meshwifi/meshwifi.cpp +++ b/src/meshwifi/meshwifi.cpp @@ -50,9 +50,11 @@ void deinitWifi() saving on the 2.4g transceiver. */ - WiFi.mode(WIFI_MODE_NULL); - DEBUG_MSG("WiFi Turned Off\n"); - // WiFi.printDiag(Serial); + if (isWifiAvailable()) { + WiFi.mode(WIFI_MODE_NULL); + DEBUG_MSG("WiFi Turned Off\n"); + // WiFi.printDiag(Serial); + } } // Startup WiFi @@ -118,7 +120,7 @@ void initWifi() } } - if (!MDNS.begin( "Meshtastic" )) { + if (!MDNS.begin("Meshtastic")) { DEBUG_MSG("Error setting up MDNS responder!\n"); while (1) { diff --git a/src/nimble/BluetoothUtil.cpp b/src/nimble/BluetoothUtil.cpp index 8009f5d22..8a0dd779b 100644 --- a/src/nimble/BluetoothUtil.cpp +++ b/src/nimble/BluetoothUtil.cpp @@ -392,6 +392,7 @@ void gatt_svr_register_cb(struct ble_gatt_register_ctxt *ctxt, void *arg) } } + /** * A helper function that implements simple read and write handling for a uint32_t * @@ -415,6 +416,7 @@ int chr_readwrite32le(uint32_t *v, struct ble_gatt_access_ctxt *ctxt) if (len < sizeof(le)) { DEBUG_MSG("Error: wrongsized write32\n"); *v = 0; + return BLE_ATT_ERR_UNLIKELY; } else { *v = get_le32(le); DEBUG_MSG("BLE writing a uint32\n"); @@ -441,8 +443,10 @@ int chr_readwrite8(uint8_t *v, size_t vlen, struct ble_gatt_access_ctxt *ctxt) auto rc = ble_hs_mbuf_to_flat(ctxt->om, v, vlen, &len); assert(rc == 0); - if (len < vlen) + if (len < vlen) { DEBUG_MSG("Error: wrongsized write\n"); + return BLE_ATT_ERR_UNLIKELY; + } else { DEBUG_MSG("BLE writing bytes\n"); } diff --git a/src/power.h b/src/power.h index 8b75834aa..815e22675 100644 --- a/src/power.h +++ b/src/power.h @@ -23,6 +23,7 @@ class Power : private concurrency::OSThread Power(); + void shutdown(); void readPowerStatus(); virtual bool setup(); virtual int32_t runOnce();