From 406f21c5ddd39a112c5bb90bf95580c39733bde7 Mon Sep 17 00:00:00 2001 From: lorol Date: Wed, 11 Mar 2020 23:21:50 -0400 Subject: [PATCH 01/47] Applied important changes of other forks after master ESPAsyncWebServer release (at the moment) - fixes - SPIFFSEditor is changed to be standalone - works with acefull.js.gz, see the example Added a real SmartSwitch application to examples --- examples/SmartSwitch/ESPAsyncWiFiManager.cpp | 1177 ++++ examples/SmartSwitch/ESPAsyncWiFiManager.h | 279 + examples/SmartSwitch/PinOut_Notes.txt | 13 + examples/SmartSwitch/SmartSwitch.ino | 479 ++ examples/SmartSwitch/data/.exclude.files | 2 + examples/SmartSwitch/data/acefull.js.gz | Bin 0 -> 111691 bytes examples/SmartSwitch/data/app.css.gz | Bin 0 -> 2740 bytes examples/SmartSwitch/data/app.min.js.gz | Bin 0 -> 38439 bytes examples/SmartSwitch/data/favicon.ico.gz | Bin 0 -> 4314 bytes examples/SmartSwitch/data/index.htm.gz | Bin 0 -> 3834 bytes examples/SmartSwitch/data/index2.htm | 585 ++ examples/SmartSwitch/data_src/acefull.js | 1 + examples/SmartSwitch/data_src/app.css | 1 + examples/SmartSwitch/data_src/app.min.js | 533 ++ examples/SmartSwitch/data_src/desktop.ini | 2 + examples/SmartSwitch/data_src/favicon.ico | Bin 0 -> 15406 bytes examples/SmartSwitch/data_src/index.htm | 585 ++ .../data_src/js_css_src/.exclude.files | 2 + .../SmartSwitch/data_src/js_css_src/ace.js | 14 + .../SmartSwitch/data_src/js_css_src/app.js | 5787 +++++++++++++++++ .../data_src/js_css_src/desktop.ini | 2 + .../data_src/js_css_src/ext-searchbox.js | 5 + .../js_css_src/js-time-picker/1-inline.html | 30 + .../js_css_src/js-time-picker/2-popup.html | 27 + .../js_css_src/js-time-picker/README.txt | 29 + .../js-time-picker/tpick-light-pop.css | 65 + .../js_css_src/js-time-picker/tpick-light.css | 47 + .../js_css_src/js-time-picker/tpick-pop.js | 136 + .../js_css_src/js-time-picker/tpick.js | 116 + .../justgage-1.2.2/examples/auto-adjust.htm | 94 + .../justgage-1.2.2/examples/counter.html | 58 + .../examples/custom-interval.htm | 82 + .../justgage-1.2.2/examples/custom-node.html | 130 + .../examples/custom-sectors.html | 88 + .../examples/custom-value-renderer.html | 116 + .../examples/customize-style.htm | 137 + .../justgage-1.2.2/examples/defaults.html | 60 + .../justgage-1.2.2/examples/font-options.html | 62 + .../examples/format-number.html | 56 + .../examples/html5-data-attribute-config.html | 54 + .../examples/human-friendly-numbers.html | 109 + .../justgage-1.2.2/examples/pointer.html | 168 + .../examples/refresh-maximum.html | 91 + .../examples/responsive-gauges.htm | 71 + .../justgage-1.2.2/examples/reverse.html | 144 + .../js_css_src/justgage-1.2.2/justgage.js | 1220 ++++ .../justgage-1.2.2/raphael-2.1.4.min.js | 12 + .../data_src/js_css_src/mode-css.js | 1 + .../data_src/js_css_src/mode-html.js | 1 + .../data_src/js_css_src/mode-javascript.js | 1 + .../js_css_src/styled-notifications/.babelrc | 3 + .../styled-notifications/.eslintrc.js | 31 + .../styled-notifications/.gitignore | 30 + .../styled-notifications/.travis.yml | 3 + .../styled-notifications/LICENSE.md | 7 + .../__tests__/helpers.test.js | 104 + .../__tests__/index.tests.js | 144 + .../styled-notifications/demo/demo.js | 34 + .../styled-notifications/demo/index.html | 101 + .../styled-notifications/demo/index_my.html | 37 + .../dist/notifications.css | 1 + .../dist/notifications.css.gz | Bin 0 -> 2487 bytes .../dist/notifications.js | 1 + .../dist/notifications.js.gz | Bin 0 -> 1723 bytes .../styled-notifications/package.json | 58 + .../js_css_src/styled-notifications/readme.md | 82 + .../styled-notifications/src/helpers.js | 24 + .../styled-notifications/src/index.js | 148 + .../src/polyfills/classList.js | 68 + .../styled-notifications/src/style.scss | 134 + .../styled-notifications/webpack.config.js | 41 + .../data_src/js_css_src/worker-html.js | 1 + examples/SmartSwitch/desktop.ini | 2 + src/AsyncWebSocket.cpp | 1 + src/SPIFFSEditor.cpp | 525 +- src/WebRequest.cpp | 4 + src/edit.htm | 628 +- 77 files changed, 13995 insertions(+), 889 deletions(-) create mode 100644 examples/SmartSwitch/ESPAsyncWiFiManager.cpp create mode 100644 examples/SmartSwitch/ESPAsyncWiFiManager.h create mode 100644 examples/SmartSwitch/PinOut_Notes.txt create mode 100644 examples/SmartSwitch/SmartSwitch.ino create mode 100644 examples/SmartSwitch/data/.exclude.files create mode 100644 examples/SmartSwitch/data/acefull.js.gz create mode 100644 examples/SmartSwitch/data/app.css.gz create mode 100644 examples/SmartSwitch/data/app.min.js.gz create mode 100644 examples/SmartSwitch/data/favicon.ico.gz create mode 100644 examples/SmartSwitch/data/index.htm.gz create mode 100644 examples/SmartSwitch/data/index2.htm create mode 100644 examples/SmartSwitch/data_src/acefull.js create mode 100644 examples/SmartSwitch/data_src/app.css create mode 100644 examples/SmartSwitch/data_src/app.min.js create mode 100644 examples/SmartSwitch/data_src/desktop.ini create mode 100644 examples/SmartSwitch/data_src/favicon.ico create mode 100644 examples/SmartSwitch/data_src/index.htm create mode 100644 examples/SmartSwitch/data_src/js_css_src/.exclude.files create mode 100644 examples/SmartSwitch/data_src/js_css_src/ace.js create mode 100644 examples/SmartSwitch/data_src/js_css_src/app.js create mode 100644 examples/SmartSwitch/data_src/js_css_src/desktop.ini create mode 100644 examples/SmartSwitch/data_src/js_css_src/ext-searchbox.js create mode 100644 examples/SmartSwitch/data_src/js_css_src/js-time-picker/1-inline.html create mode 100644 examples/SmartSwitch/data_src/js_css_src/js-time-picker/2-popup.html create mode 100644 examples/SmartSwitch/data_src/js_css_src/js-time-picker/README.txt create mode 100644 examples/SmartSwitch/data_src/js_css_src/js-time-picker/tpick-light-pop.css create mode 100644 examples/SmartSwitch/data_src/js_css_src/js-time-picker/tpick-light.css create mode 100644 examples/SmartSwitch/data_src/js_css_src/js-time-picker/tpick-pop.js create mode 100644 examples/SmartSwitch/data_src/js_css_src/js-time-picker/tpick.js create mode 100644 examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/auto-adjust.htm create mode 100644 examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/counter.html create mode 100644 examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/custom-interval.htm create mode 100644 examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/custom-node.html create mode 100644 examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/custom-sectors.html create mode 100644 examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/custom-value-renderer.html create mode 100644 examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/customize-style.htm create mode 100644 examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/defaults.html create mode 100644 examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/font-options.html create mode 100644 examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/format-number.html create mode 100644 examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/html5-data-attribute-config.html create mode 100644 examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/human-friendly-numbers.html create mode 100644 examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/pointer.html create mode 100644 examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/refresh-maximum.html create mode 100644 examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/responsive-gauges.htm create mode 100644 examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/reverse.html create mode 100644 examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/justgage.js create mode 100644 examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/raphael-2.1.4.min.js create mode 100644 examples/SmartSwitch/data_src/js_css_src/mode-css.js create mode 100644 examples/SmartSwitch/data_src/js_css_src/mode-html.js create mode 100644 examples/SmartSwitch/data_src/js_css_src/mode-javascript.js create mode 100644 examples/SmartSwitch/data_src/js_css_src/styled-notifications/.babelrc create mode 100644 examples/SmartSwitch/data_src/js_css_src/styled-notifications/.eslintrc.js create mode 100644 examples/SmartSwitch/data_src/js_css_src/styled-notifications/.gitignore create mode 100644 examples/SmartSwitch/data_src/js_css_src/styled-notifications/.travis.yml create mode 100644 examples/SmartSwitch/data_src/js_css_src/styled-notifications/LICENSE.md create mode 100644 examples/SmartSwitch/data_src/js_css_src/styled-notifications/__tests__/helpers.test.js create mode 100644 examples/SmartSwitch/data_src/js_css_src/styled-notifications/__tests__/index.tests.js create mode 100644 examples/SmartSwitch/data_src/js_css_src/styled-notifications/demo/demo.js create mode 100644 examples/SmartSwitch/data_src/js_css_src/styled-notifications/demo/index.html create mode 100644 examples/SmartSwitch/data_src/js_css_src/styled-notifications/demo/index_my.html create mode 100644 examples/SmartSwitch/data_src/js_css_src/styled-notifications/dist/notifications.css create mode 100644 examples/SmartSwitch/data_src/js_css_src/styled-notifications/dist/notifications.css.gz create mode 100644 examples/SmartSwitch/data_src/js_css_src/styled-notifications/dist/notifications.js create mode 100644 examples/SmartSwitch/data_src/js_css_src/styled-notifications/dist/notifications.js.gz create mode 100644 examples/SmartSwitch/data_src/js_css_src/styled-notifications/package.json create mode 100644 examples/SmartSwitch/data_src/js_css_src/styled-notifications/readme.md create mode 100644 examples/SmartSwitch/data_src/js_css_src/styled-notifications/src/helpers.js create mode 100644 examples/SmartSwitch/data_src/js_css_src/styled-notifications/src/index.js create mode 100644 examples/SmartSwitch/data_src/js_css_src/styled-notifications/src/polyfills/classList.js create mode 100644 examples/SmartSwitch/data_src/js_css_src/styled-notifications/src/style.scss create mode 100644 examples/SmartSwitch/data_src/js_css_src/styled-notifications/webpack.config.js create mode 100644 examples/SmartSwitch/data_src/js_css_src/worker-html.js create mode 100644 examples/SmartSwitch/desktop.ini diff --git a/examples/SmartSwitch/ESPAsyncWiFiManager.cpp b/examples/SmartSwitch/ESPAsyncWiFiManager.cpp new file mode 100644 index 0000000..4455258 --- /dev/null +++ b/examples/SmartSwitch/ESPAsyncWiFiManager.cpp @@ -0,0 +1,1177 @@ +/************************************************************** + AsyncWiFiManager is a library for the ESP8266/Arduino platform + (https://github.com/esp8266/Arduino) to enable easy + configuration and reconfiguration of WiFi credentials using a Captive Portal + inspired by: + http://www.esp8266.com/viewtopic.php?f=29&t=2520 + https://github.com/chriscook8/esp-arduino-apboot + https://github.com/esp8266/Arduino/tree/esp8266/hardware/esp8266com/esp8266/libraries/DNSServer/examples/CaptivePortalAdvanced + Built by AlexT https://github.com/tzapu + Ported to Async Web Server by https://github.com/alanswx + Licensed under MIT license + **************************************************************/ + +#include "ESPAsyncWiFiManager.h" + +AsyncWiFiManagerParameter::AsyncWiFiManagerParameter(const char *custom) { + _id = NULL; + _placeholder = NULL; + _length = 0; + _value = NULL; + + _customHTML = custom; +} + +AsyncWiFiManagerParameter::AsyncWiFiManagerParameter(const char *id, const char *placeholder, const char *defaultValue, int length) { + init(id, placeholder, defaultValue, length, ""); +} + +AsyncWiFiManagerParameter::AsyncWiFiManagerParameter(const char *id, const char *placeholder, const char *defaultValue, int length, const char *custom) { + init(id, placeholder, defaultValue, length, custom); +} + +void AsyncWiFiManagerParameter::init(const char *id, const char *placeholder, const char *defaultValue, int length, const char *custom) { + _id = id; + _placeholder = placeholder; + _length = length; + _value = new char[length + 1]; + for (int i = 0; i < length; i++) { + _value[i] = 0; + } + if (defaultValue != NULL) { + strncpy(_value, defaultValue, length); + } + + _customHTML = custom; +} + +const char* AsyncWiFiManagerParameter::getValue() { + return _value; +} +const char* AsyncWiFiManagerParameter::getID() { + return _id; +} +const char* AsyncWiFiManagerParameter::getPlaceholder() { + return _placeholder; +} +int AsyncWiFiManagerParameter::getValueLength() { + return _length; +} +const char* AsyncWiFiManagerParameter::getCustomHTML() { + return _customHTML; +} + +#ifdef USE_EADNS +AsyncWiFiManager::AsyncWiFiManager(AsyncWebServer *server, AsyncDNSServer *dns) :server(server), dnsServer(dns) { +#else +AsyncWiFiManager::AsyncWiFiManager(AsyncWebServer *server, DNSServer *dns) :server(server), dnsServer(dns) { +#endif + wifiSSIDs = NULL; + wifiSSIDscan=true; + _modeless=false; + shouldscan=true; +} + +void AsyncWiFiManager::addParameter(AsyncWiFiManagerParameter *p) { + _params[_paramsCount] = p; + _paramsCount++; + DEBUG_WM("Adding parameter"); + DEBUG_WM(p->getID()); +} + +void AsyncWiFiManager::setupConfigPortal() { + // dnsServer.reset(new DNSServer()); + // server.reset(new ESP8266WebServer(80)); + server->reset(); + + DEBUG_WM(F("")); + _configPortalStart = millis(); + + DEBUG_WM(F("Configuring access point... ")); + DEBUG_WM(_apName); + if (_apPassword != NULL) { + if (strlen(_apPassword) < 8 || strlen(_apPassword) > 63) { + // fail passphrase to short or long! + DEBUG_WM(F("Invalid AccessPoint password. Ignoring")); + _apPassword = NULL; + } + DEBUG_WM(_apPassword); + } + + //optional soft ip config + if (_ap_static_ip) { + DEBUG_WM(F("Custom AP IP/GW/Subnet")); + WiFi.softAPConfig(_ap_static_ip, _ap_static_gw, _ap_static_sn); + } + + if (_apPassword != NULL) { + WiFi.softAP(_apName, _apPassword);//password option + } else { + WiFi.softAP(_apName); + } + + delay(500); // Without delay I've seen the IP address blank + DEBUG_WM(F("AP IP address: ")); + DEBUG_WM(WiFi.softAPIP()); + + /* Setup the DNS server redirecting all the domains to the apIP */ + #ifdef USE_EADNS + dnsServer->setErrorReplyCode(AsyncDNSReplyCode::NoError); + #else + dnsServer->setErrorReplyCode(DNSReplyCode::NoError); + #endif + dnsServer->start(DNS_PORT, "*", WiFi.softAPIP()); + + setInfo(); + + /* Setup web pages: root, wifi config pages, SO captive portal detectors and not found. */ + server->on("/", std::bind(&AsyncWiFiManager::handleRoot, this,std::placeholders::_1)).setFilter(ON_AP_FILTER); + server->on("/wifi", std::bind(&AsyncWiFiManager::handleWifi, this, std::placeholders::_1,true)).setFilter(ON_AP_FILTER); + server->on("/0wifi", std::bind(&AsyncWiFiManager::handleWifi, this,std::placeholders::_1, false)).setFilter(ON_AP_FILTER); + server->on("/wifisave", std::bind(&AsyncWiFiManager::handleWifiSave,this,std::placeholders::_1)).setFilter(ON_AP_FILTER); + server->on("/i", std::bind(&AsyncWiFiManager::handleInfo,this, std::placeholders::_1)).setFilter(ON_AP_FILTER); + server->on("/r", std::bind(&AsyncWiFiManager::handleReset, this,std::placeholders::_1)).setFilter(ON_AP_FILTER); + //server->on("/generate_204", std::bind(&AsyncWiFiManager::handle204, this)); //Android/Chrome OS captive portal check. + server->on("/fwlink", std::bind(&AsyncWiFiManager::handleRoot, this,std::placeholders::_1)).setFilter(ON_AP_FILTER); //Microsoft captive portal. Maybe not needed. Might be handled by notFound handler. + server->onNotFound (std::bind(&AsyncWiFiManager::handleNotFound,this,std::placeholders::_1)); + server->begin(); // Web server start + DEBUG_WM(F("HTTP server started")); + +} + +static const char HEX_CHAR_ARRAY[17] = "0123456789ABCDEF"; +/** +* convert char array (hex values) to readable string by seperator +* buf: buffer to convert +* length: data length +* strSeperator seperator between each hex value +* return: formated value as String +*/ +static String byteToHexString(uint8_t* buf, uint8_t length, String strSeperator="-") { + String dataString = ""; + for (uint8_t i = 0; i < length; i++) { + byte v = buf[i] / 16; + byte w = buf[i] % 16; + if (i>0) { + dataString += strSeperator; + } + dataString += String(HEX_CHAR_ARRAY[v]); + dataString += String(HEX_CHAR_ARRAY[w]); + } + dataString.toUpperCase(); + return dataString; +} // byteToHexString + +#if !defined(ESP8266) +String getESP32ChipID() { + uint64_t chipid; + chipid=ESP.getEfuseMac();//The chip ID is essentially its MAC address(length: 6 bytes). + int chipid_size = 6; + uint8_t chipid_arr[chipid_size]; + for (uint8_t i=0; i < chipid_size; i++) { + chipid_arr[i] = (chipid >> (8 * i)) & 0xff; + } + return byteToHexString(chipid_arr, chipid_size, ""); +} +#endif + +boolean AsyncWiFiManager::autoConnect(unsigned long maxConnectRetries, unsigned long retryDelayMs) { + String ssid = "ESP"; + #if defined(ESP8266) + ssid += String(ESP.getChipId()); + #else + ssid += getESP32ChipID(); + #endif + return autoConnect(ssid.c_str(), NULL); +} + +boolean AsyncWiFiManager::autoConnect(char const *apName, char const *apPassword, unsigned long maxConnectRetries, unsigned long retryDelayMs) { + DEBUG_WM(F("")); + + // read eeprom for ssid and pass + //String ssid = getSSID(); + //String pass = getPassword(); + + // attempt to connect; should it fail, fall back to AP + WiFi.mode(WIFI_STA); + + for(unsigned long tryNumber = 0; tryNumber < maxConnectRetries; tryNumber++) { + DEBUG_WM(F("AutoConnect Try No.:")); + DEBUG_WM(tryNumber); + + if (connectWifi("", "") == WL_CONNECTED) { + DEBUG_WM(F("IP Address:")); + DEBUG_WM(WiFi.localIP()); + //connected + return true; + } + + if(tryNumber + 1 < maxConnectRetries) { + + // we might connect during the delay + unsigned long restDelayMs = retryDelayMs; + while(restDelayMs != 0) { + if(WiFi.status() == WL_CONNECTED) { + DEBUG_WM(F("IP Address (connected during delay):")); + DEBUG_WM(WiFi.localIP()); + return true; + } + unsigned long thisDelay = std::min(restDelayMs, 100ul); + delay(thisDelay); + restDelayMs -= thisDelay; + } + + } + } + + + return startConfigPortal(apName, apPassword); +} + + +String AsyncWiFiManager::networkListAsString() +{ + String pager ; + //display networks in page + for (int i = 0; i < wifiSSIDCount; i++) { + if (wifiSSIDs[i].duplicate == true) continue; // skip dups + int quality = getRSSIasQuality(wifiSSIDs[i].RSSI); + + if (_minimumQuality == -1 || _minimumQuality < quality) { + String item = FPSTR(HTTP_ITEM); + String rssiQ; + rssiQ += quality; + item.replace("{v}", wifiSSIDs[i].SSID); + item.replace("{r}", rssiQ); +#if defined(ESP8266) + if (wifiSSIDs[i].encryptionType != ENC_TYPE_NONE) { +#else + if (wifiSSIDs[i].encryptionType != WIFI_AUTH_OPEN) { +#endif + item.replace("{i}", "l"); + } else { + item.replace("{i}", ""); + } + pager += item; + + } else { + DEBUG_WM(F("Skipping due to quality")); + } + + } + return pager; +} + +String AsyncWiFiManager::scanModal() +{ + shouldscan=true; + scan(); + String pager=networkListAsString(); + return pager; +} + +void AsyncWiFiManager::scan() +{ + if (!shouldscan) return; + DEBUG_WM(F("About to scan()")); + if (wifiSSIDscan) + { + delay(100); + } + + if (wifiSSIDscan) + { + wifi_ssid_count_t n = WiFi.scanNetworks(); + DEBUG_WM(F("Scan done")); + if(n == WIFI_SCAN_FAILED) { + DEBUG_WM(F("scanNetworks returned: WIFI_SCAN_FAILED!")); + } else if(n == WIFI_SCAN_RUNNING) { + DEBUG_WM(F("scanNetworks returned: WIFI_SCAN_RUNNING!")); + } else if(n < 0) { + DEBUG_WM(F("scanNetworks failed with unknown error code!")); + } else if (n == 0) { + DEBUG_WM(F("No networks found")); + // page += F("No networks found. Refresh to scan again."); + } else { + + + if (wifiSSIDscan) + { + /* WE SHOULD MOVE THIS IN PLACE ATOMICALLY */ + if (wifiSSIDs) delete [] wifiSSIDs; + wifiSSIDs = new WiFiResult[n]; + wifiSSIDCount = n; + + if (n>0) + shouldscan=false; + + for (wifi_ssid_count_t i=0;i wifiSSIDs[i].RSSI) { + std::swap(wifiSSIDs[i], wifiSSIDs[j]); + } + } + } + + + // remove duplicates ( must be RSSI sorted ) + if (_removeDuplicateAPs) { + String cssid; + for (int i = 0; i < n; i++) { + if (wifiSSIDs[i].duplicate == true) continue; + cssid = wifiSSIDs[i].SSID; + for (int j = i + 1; j < n; j++) { + if (cssid == wifiSSIDs[j].SSID) { + DEBUG_WM("DUP AP: " +wifiSSIDs[j].SSID); + wifiSSIDs[j].duplicate=true; // set dup aps to NULL + } + } + } + } + + } + } + } +} + + +void AsyncWiFiManager::startConfigPortalModeless(char const *apName, char const *apPassword) { + + _modeless =true; + _apName = apName; + _apPassword = apPassword; + + /* + AJS - do we want this? + + */ + + //setup AP + WiFi.mode(WIFI_AP_STA); + DEBUG_WM("SET AP STA"); + + // try to connect + if (connectWifi("", "") == WL_CONNECTED) { + DEBUG_WM(F("IP Address:")); + DEBUG_WM(WiFi.localIP()); + //connected + // call the callback! + if ( _savecallback != NULL) { + //todo: check if any custom parameters actually exist, and check if they really changed maybe + _savecallback(); + } + } + + + + //notify we entered AP mode + if ( _apcallback != NULL) { + _apcallback(this); + } + + connect = false; + setupConfigPortal(); + scannow= -1 ; + +} + +void AsyncWiFiManager::loop(){ + safeLoop(); + criticalLoop(); +} + +void AsyncWiFiManager::setInfo() { + if (needInfo) { + pager = infoAsString(); + wifiStatus = WiFi.status(); + needInfo = false; + } +} + +/** + * Anything that accesses WiFi, ESP or EEPROM goes here + */ +void AsyncWiFiManager::criticalLoop(){ + if (_modeless) + { + + if ( scannow==-1 || millis() > scannow + 60000) + { + scan(); + scannow= millis() ; + } + if (connect) { + connect = false; + //delay(2000); + DEBUG_WM(F("Connecting to new AP")); + + // using user-provided _ssid, _pass in place of system-stored ssid and pass + if (connectWifi(_ssid, _pass) != WL_CONNECTED) { + DEBUG_WM(F("Failed to connect.")); + } else { + //connected + // alanswx - should we have a config to decide if we should shut down AP? + // WiFi.mode(WIFI_STA); + //notify that configuration has changed and any optional parameters should be saved + if ( _savecallback != NULL) { + //todo: check if any custom parameters actually exist, and check if they really changed maybe + _savecallback(); + } + + return; + } + + if (_shouldBreakAfterConfig) { + //flag set to exit after config after trying to connect + //notify that configuration has changed and any optional parameters should be saved + if ( _savecallback != NULL) { + //todo: check if any custom parameters actually exist, and check if they really changed maybe + _savecallback(); + } + } + } + } +} + +/* + * Anything that doesn't access WiFi, ESP or EEPROM can go here + */ +void AsyncWiFiManager::safeLoop(){ + #ifndef USE_EADNS + dnsServer->processNextRequest(); + #endif +} + +boolean AsyncWiFiManager::startConfigPortal(char const *apName, char const *apPassword) { + //setup AP + WiFi.mode(WIFI_AP_STA); + DEBUG_WM("SET AP STA"); + + _apName = apName; + _apPassword = apPassword; + + //notify we entered AP mode + if ( _apcallback != NULL) { + _apcallback(this); + } + + connect = false; + setupConfigPortal(); + scannow= -1 ; + while (_configPortalTimeout == 0 || millis() < _configPortalStart + _configPortalTimeout) { + //DNS + #ifndef USE_EADNS + dnsServer->processNextRequest(); + #endif + + // + // we should do a scan every so often here and + // try to reconnect to AP while we are at it + // + if ( scannow == -1 || millis() > scannow + 10000) + { + DEBUG_WM(F("About to scan()")); + shouldscan=true; // since we are modal, we can scan every time + #if defined(ESP8266) + // we might still be connecting, so that has to stop for scanning + ETS_UART_INTR_DISABLE (); + wifi_station_disconnect (); + ETS_UART_INTR_ENABLE (); + #else + WiFi.disconnect (false); + #endif + scan(); + if(_tryConnectDuringConfigPortal) WiFi.begin(); // try to reconnect to AP + scannow= millis() ; + } + + // attempts to reconnect were successful + if(WiFi.status() == WL_CONNECTED) { + //connected + WiFi.mode(WIFI_STA); + //notify that configuration has changed and any optional parameters should be saved + if ( _savecallback != NULL) { + //todo: check if any custom parameters actually exist, and check if they really changed maybe + _savecallback(); + } + break; + } + + + if (connect) { + connect = false; + delay(2000); + DEBUG_WM(F("Connecting to new AP")); + + // using user-provided _ssid, _pass in place of system-stored ssid and pass + if (connectWifi(_ssid, _pass) == WL_CONNECTED) { + //connected + WiFi.mode(WIFI_STA); + //notify that configuration has changed and any optional parameters should be saved + if ( _savecallback != NULL) { + //todo: check if any custom parameters actually exist, and check if they really changed maybe + _savecallback(); + } + break; + } else { + DEBUG_WM(F("Failed to connect.")); + } + + if (_shouldBreakAfterConfig) { + //flag set to exit after config after trying to connect + //notify that configuration has changed and any optional parameters should be saved + if ( _savecallback != NULL) { + //todo: check if any custom parameters actually exist, and check if they really changed maybe + _savecallback(); + } + break; + } + } + yield(); + } + + server->reset(); + #ifdef USE_EADNS + *dnsServer=AsyncDNSServer(); + #else + *dnsServer=DNSServer(); + #endif + + return WiFi.status() == WL_CONNECTED; +} + + +int AsyncWiFiManager::connectWifi(String ssid, String pass) { + DEBUG_WM(F("Connecting as wifi client...")); + + // check if we've got static_ip settings, if we do, use those. + if (_sta_static_ip) { + DEBUG_WM(F("Custom STA IP/GW/Subnet/DNS")); + WiFi.config(_sta_static_ip, _sta_static_gw, _sta_static_sn, _sta_static_dns1, _sta_static_dns2); + DEBUG_WM(WiFi.localIP()); + } + //fix for auto connect racing issue + // if (WiFi.status() == WL_CONNECTED) { + // DEBUG_WM("Already connected. Bailing out."); + // return WL_CONNECTED; + // } + //check if we have ssid and pass and force those, if not, try with last saved values + if (ssid != "") { + #if defined(ESP8266) + //trying to fix connection in progress hanging + ETS_UART_INTR_DISABLE(); + wifi_station_disconnect(); + ETS_UART_INTR_ENABLE(); + #else + WiFi.disconnect(false); + #endif + + WiFi.begin(ssid.c_str(), pass.c_str()); + } else { + + if (WiFi.SSID().length() > 0) { + DEBUG_WM("Using last saved values, should be faster"); +#if defined(ESP8266) + //trying to fix connection in progress hanging + ETS_UART_INTR_DISABLE(); + wifi_station_disconnect(); + ETS_UART_INTR_ENABLE(); +#else + WiFi.disconnect(false); +#endif + + WiFi.begin(); + } else { + DEBUG_WM("Try to connect with saved credentials"); + WiFi.begin(); + } + } + + int connRes = waitForConnectResult(); + DEBUG_WM ("Connection result: "); + DEBUG_WM ( connRes ); + //not connected, WPS enabled, no pass - first attempt +#ifdef NO_EXTRA_4K_HEAP + if (_tryWPS && connRes != WL_CONNECTED && pass == "") { + startWPS(); + //should be connected at the end of WPS + connRes = waitForConnectResult(); + } +#endif + needInfo = true; + setInfo(); + return connRes; +} + +uint8_t AsyncWiFiManager::waitForConnectResult() { + if (_connectTimeout == 0) { + return WiFi.waitForConnectResult(); + } else { + DEBUG_WM (F("Waiting for connection result with time out")); + unsigned long start = millis(); + boolean keepConnecting = true; + uint8_t status; + while (keepConnecting) { + status = WiFi.status(); + if (millis() > start + _connectTimeout) { + keepConnecting = false; + DEBUG_WM (F("Connection timed out")); + } + if (status == WL_CONNECTED || status == WL_CONNECT_FAILED) { + keepConnecting = false; + } + delay(100); + } + return status; + } +} +#ifdef NO_EXTRA_4K_HEAP +void AsyncWiFiManager::startWPS() { + DEBUG_WM("START WPS"); +#if defined(ESP8266) + WiFi.beginWPSConfig(); +#else + //esp_wps_config_t config = WPS_CONFIG_INIT_DEFAULT(ESP_WPS_MODE); + esp_wps_config_t config = {}; + config.wps_type = ESP_WPS_MODE; + config.crypto_funcs = &g_wifi_default_wps_crypto_funcs; + strcpy(config.factory_info.manufacturer,"ESPRESSIF"); + strcpy(config.factory_info.model_number, "ESP32"); + strcpy(config.factory_info.model_name, "ESPRESSIF IOT"); + strcpy(config.factory_info.device_name,"ESP STATION"); + + esp_wifi_wps_enable(&config); + esp_wifi_wps_start(0); +#endif + DEBUG_WM("END WPS"); + +} +#endif +/* +String AsyncWiFiManager::getSSID() { +if (_ssid == "") { +DEBUG_WM(F("Reading SSID")); +_ssid = WiFi.SSID(); +DEBUG_WM(F("SSID: ")); +DEBUG_WM(_ssid); +} +return _ssid; +} + +String AsyncWiFiManager::getPassword() { +if (_pass == "") { +DEBUG_WM(F("Reading Password")); +_pass = WiFi.psk(); +DEBUG_WM("Password: " + _pass); +//DEBUG_WM(_pass); +} +return _pass; +} +*/ +String AsyncWiFiManager::getConfigPortalSSID() { + return _apName; +} + +void AsyncWiFiManager::resetSettings() { + DEBUG_WM(F("settings invalidated")); + DEBUG_WM(F("THIS MAY CAUSE AP NOT TO START UP PROPERLY. YOU NEED TO COMMENT IT OUT AFTER ERASING THE DATA.")); + WiFi.disconnect(true); + //delay(200); +} +void AsyncWiFiManager::setTimeout(unsigned long seconds) { + setConfigPortalTimeout(seconds); +} + +void AsyncWiFiManager::setConfigPortalTimeout(unsigned long seconds) { + _configPortalTimeout = seconds * 1000; +} + +void AsyncWiFiManager::setConnectTimeout(unsigned long seconds) { + _connectTimeout = seconds * 1000; +} + +void AsyncWiFiManager::setTryConnectDuringConfigPortal(boolean v) { + _tryConnectDuringConfigPortal = v; +} + +void AsyncWiFiManager::setDebugOutput(boolean debug) { + _debug = debug; +} + +void AsyncWiFiManager::setAPStaticIPConfig(IPAddress ip, IPAddress gw, IPAddress sn) { + _ap_static_ip = ip; + _ap_static_gw = gw; + _ap_static_sn = sn; +} + +void AsyncWiFiManager::setSTAStaticIPConfig(IPAddress ip, IPAddress gw, IPAddress sn, IPAddress dns1, IPAddress dns2) { + _sta_static_ip = ip; + _sta_static_gw = gw; + _sta_static_sn = sn; + _sta_static_dns1 = dns1; + _sta_static_dns2 = dns2; +} + +void AsyncWiFiManager::setMinimumSignalQuality(int quality) { + _minimumQuality = quality; +} + +void AsyncWiFiManager::setBreakAfterConfig(boolean shouldBreak) { + _shouldBreakAfterConfig = shouldBreak; +} + +/** Handle root or redirect to captive portal */ +void AsyncWiFiManager::handleRoot(AsyncWebServerRequest *request) { + // AJS - maybe we should set a scan when we get to the root??? + // and only scan on demand? timer + on demand? plus a link to make it happen? + shouldscan=true; + scannow= -1 ; + DEBUG_WM(F("Handle root")); + if (captivePortal(request)) { // If captive portal redirect instead of displaying the page. + return; + } + + String page = FPSTR(WFM_HTTP_HEAD); + page.replace("{v}", "Options"); + page += FPSTR(HTTP_SCRIPT); + page += FPSTR(HTTP_STYLE); + page += _customHeadElement; + page += FPSTR(HTTP_HEAD_END); + page += "

"; + page += _apName; + page += "

"; + page += F("

AsyncWiFiManager

"); + page += FPSTR(HTTP_PORTAL_OPTIONS); + page += _customOptionsElement; + page += FPSTR(HTTP_END); + + request->send(200, "text/html", page); + +} + +/** Wifi config page handler */ +void AsyncWiFiManager::handleWifi(AsyncWebServerRequest *request,boolean scan) { + shouldscan=true; + scannow= -1 ; + + DEBUG_WM(F("Handle wifi")); + + String page = FPSTR(WFM_HTTP_HEAD); + page.replace("{v}", "Config ESP"); + page += FPSTR(HTTP_SCRIPT); + page += FPSTR(HTTP_STYLE); + page += _customHeadElement; + page += FPSTR(HTTP_HEAD_END); + + if (scan) { + wifiSSIDscan=false; + + + + DEBUG_WM(F("Scan done")); + if (wifiSSIDCount==0) { + DEBUG_WM(F("No networks found")); + page += F("No networks found. Refresh to scan again."); + } else { + + + //display networks in page + String pager = networkListAsString(); + + page += pager; + page += "
"; + } + + } + wifiSSIDscan=true; + + page += FPSTR(HTTP_FORM_START); + char parLength[2]; + // add the extra parameters to the form + for (int i = 0; i < _paramsCount; i++) { + if (_params[i] == NULL) { + break; + } + + String pitem = FPSTR(HTTP_FORM_PARAM); + if (_params[i]->getID() != NULL) { + pitem.replace("{i}", _params[i]->getID()); + pitem.replace("{n}", _params[i]->getID()); + pitem.replace("{p}", _params[i]->getPlaceholder()); + snprintf(parLength, 2, "%d", _params[i]->getValueLength()); + pitem.replace("{l}", parLength); + pitem.replace("{v}", _params[i]->getValue()); + pitem.replace("{c}", _params[i]->getCustomHTML()); + } else { + pitem = _params[i]->getCustomHTML(); + } + + page += pitem; + } + if (_params[0] != NULL) { + page += "
"; + } + + if (_sta_static_ip) { + + String item = FPSTR(HTTP_FORM_PARAM); + item.replace("{i}", "ip"); + item.replace("{n}", "ip"); + item.replace("{p}", "Static IP"); + item.replace("{l}", "15"); + item.replace("{v}", _sta_static_ip.toString()); + + page += item; + + item = FPSTR(HTTP_FORM_PARAM); + item.replace("{i}", "gw"); + item.replace("{n}", "gw"); + item.replace("{p}", "Static Gateway"); + item.replace("{l}", "15"); + item.replace("{v}", _sta_static_gw.toString()); + + page += item; + + item = FPSTR(HTTP_FORM_PARAM); + item.replace("{i}", "sn"); + item.replace("{n}", "sn"); + item.replace("{p}", "Subnet"); + item.replace("{l}", "15"); + item.replace("{v}", _sta_static_sn.toString()); + + page += item; + + item = FPSTR(HTTP_FORM_PARAM); + item.replace("{i}", "dns1"); + item.replace("{n}", "dns1"); + item.replace("{p}", "DNS1"); + item.replace("{l}", "15"); + item.replace("{v}", _sta_static_dns1.toString()); + + page += item; + + item = FPSTR(HTTP_FORM_PARAM); + item.replace("{i}", "dns2"); + item.replace("{n}", "dns2"); + item.replace("{p}", "DNS2"); + item.replace("{l}", "15"); + item.replace("{v}", _sta_static_dns2.toString()); + + page += item; + + page += "
"; + } + + page += FPSTR(HTTP_FORM_END); + page += FPSTR(HTTP_SCAN_LINK); + + page += FPSTR(HTTP_END); + + request->send(200, "text/html", page); + + + DEBUG_WM(F("Sent config page")); +} + +/** Handle the WLAN save form and redirect to WLAN config page again */ +void AsyncWiFiManager::handleWifiSave(AsyncWebServerRequest *request) { + DEBUG_WM(F("WiFi save")); + + //SAVE/connect here + needInfo = true; + _ssid = request->arg("s").c_str(); + _pass = request->arg("p").c_str(); + + //parameters + for (int i = 0; i < _paramsCount; i++) { + if (_params[i] == NULL) { + break; + } + //read parameter + String value = request->arg(_params[i]->getID()).c_str(); + //store it in array + value.toCharArray(_params[i]->_value, _params[i]->_length); + DEBUG_WM(F("Parameter")); + DEBUG_WM(_params[i]->getID()); + DEBUG_WM(value); + } + + if (request->hasArg("ip")) { + DEBUG_WM(F("static ip")); + DEBUG_WM(request->arg("ip")); + //_sta_static_ip.fromString(request->arg("ip")); + String ip = request->arg("ip"); + optionalIPFromString(&_sta_static_ip, ip.c_str()); + } + if (request->hasArg("gw")) { + DEBUG_WM(F("static gateway")); + DEBUG_WM(request->arg("gw")); + String gw = request->arg("gw"); + optionalIPFromString(&_sta_static_gw, gw.c_str()); + } + if (request->hasArg("sn")) { + DEBUG_WM(F("static netmask")); + DEBUG_WM(request->arg("sn")); + String sn = request->arg("sn"); + optionalIPFromString(&_sta_static_sn, sn.c_str()); + } + if (request->hasArg("dns1")) { + DEBUG_WM(F("static DNS 1")); + DEBUG_WM(request->arg("dns1")); + String dns1 = request->arg("dns1"); + optionalIPFromString(&_sta_static_dns1, dns1.c_str()); + } + if (request->hasArg("dns2")) { + DEBUG_WM(F("static DNS 2")); + DEBUG_WM(request->arg("dns2")); + String dns2 = request->arg("dns2"); + optionalIPFromString(&_sta_static_dns2, dns2.c_str()); + } + + String page = FPSTR(WFM_HTTP_HEAD); + page.replace("{v}", "Credentials Saved"); + page += FPSTR(HTTP_SCRIPT); + page += FPSTR(HTTP_STYLE); + page += _customHeadElement; + page += F(""); + page += FPSTR(HTTP_HEAD_END); + page += FPSTR(HTTP_SAVED); + page += FPSTR(HTTP_END); + + request->send(200, "text/html", page); + + DEBUG_WM(F("Sent wifi save page")); + + connect = true; //signal ready to connect/reset +} + +/** Handle the info page */ +String AsyncWiFiManager::infoAsString() +{ + String page; + page += F("
Chip ID
"); +#if defined(ESP8266) + page += ESP.getChipId(); +#else + page += getESP32ChipID(); +#endif + page += F("
"); + page += F("
Flash Chip ID
"); +#if defined(ESP8266) + page += ESP.getFlashChipId(); +#else + page += F("N/A for ESP32"); +#endif + page += F("
"); + page += F("
IDE Flash Size
"); + page += ESP.getFlashChipSize(); + page += F(" bytes
"); + page += F("
Real Flash Size
"); +#if defined(ESP8266) + page += ESP.getFlashChipRealSize(); +#else + page += F("N/A for ESP32"); +#endif + page += F(" bytes
"); + page += F("
Soft AP IP
"); + page += WiFi.softAPIP().toString(); + page += F("
"); + page += F("
Soft AP MAC
"); + page += WiFi.softAPmacAddress(); + page += F("
"); + page += F("
Station SSID
"); + page += WiFi.SSID(); + page += F("
"); + page += F("
Station IP
"); + page += WiFi.localIP().toString(); + page += F("
"); + page += F("
Station MAC
"); + page += WiFi.macAddress(); + page += F("
"); + page += F(""); + return page; +} + +void AsyncWiFiManager::handleInfo(AsyncWebServerRequest *request) { + DEBUG_WM(F("Info")); + + String page = FPSTR(WFM_HTTP_HEAD); + page.replace("{v}", "Info"); + page += FPSTR(HTTP_SCRIPT); + page += FPSTR(HTTP_STYLE); + page += _customHeadElement; + if (connect==true) + page += F(""); + page += FPSTR(HTTP_HEAD_END); + page += F("
"); + if (connect==true) + { + page += F("
Trying to connect
"); + page += wifiStatus; + page += F("
"); + } + + page +=pager; + page += FPSTR(HTTP_END); + + request->send(200, "text/html", page); + + DEBUG_WM(F("Sent info page")); +} + +/** Handle the reset page */ +void AsyncWiFiManager::handleReset(AsyncWebServerRequest *request) { + DEBUG_WM(F("Reset")); + + String page = FPSTR(WFM_HTTP_HEAD); + page.replace("{v}", "Info"); + page += FPSTR(HTTP_SCRIPT); + page += FPSTR(HTTP_STYLE); + page += _customHeadElement; + page += FPSTR(HTTP_HEAD_END); + page += F("Module will reset in a few seconds."); + page += FPSTR(HTTP_END); + request->send(200, "text/html", page); + + DEBUG_WM(F("Sent reset page")); + delay(5000); + #if defined(ESP8266) + ESP.reset(); + #else + ESP.restart(); + #endif + delay(2000); +} + + + +//removed as mentioned here https://github.com/tzapu/AsyncWiFiManager/issues/114 +/*void AsyncWiFiManager::handle204(AsyncWebServerRequest *request) { +DEBUG_WM(F("204 No Response")); +request->sendHeader("Cache-Control", "no-cache, no-store, must-revalidate"); +request->sendHeader("Pragma", "no-cache"); +request->sendHeader("Expires", "-1"); +request->send ( 204, "text/plain", ""); + +}*/ + +void AsyncWiFiManager::handleNotFound(AsyncWebServerRequest *request) { + DEBUG_WM(F("Handle not found")); + if (captivePortal(request)) { // If captive portal redirect instead of displaying the error page. + return; + } + String message = "File Not Found\n\n"; + message += "URI: "; + message += request->url(); + message += "\nMethod: "; + message += ( request->method() == HTTP_GET ) ? "GET" : "POST"; + message += "\nArguments: "; + message += request->args(); + message += "\n"; + + for ( uint8_t i = 0; i < request->args(); i++ ) { + message += " " + request->argName ( i ) + ": " + request->arg ( i ) + "\n"; + } + AsyncWebServerResponse *response = request->beginResponse(404,"text/plain",message); + response->addHeader("Cache-Control", "no-cache, no-store, must-revalidate"); + response->addHeader("Pragma", "no-cache"); + response->addHeader("Expires", "-1"); + request->send (response ); +} + + +/** Redirect to captive portal if we got a request for another domain. Return true in that case so the page handler do not try to handle the request again. */ +boolean AsyncWiFiManager::captivePortal(AsyncWebServerRequest *request) { + if (!isIp(request->host()) ) { + DEBUG_WM(F("Request redirected to captive portal")); + AsyncWebServerResponse *response = request->beginResponse(302,"text/plain",""); + response->addHeader("Location", String("http://") + toStringIp(request->client()->localIP())); + request->send ( response); + return true; + } + return false; +} + +//start up config portal callback +void AsyncWiFiManager::setAPCallback( void (*func)(AsyncWiFiManager* myAsyncWiFiManager) ) { + _apcallback = func; +} + +//start up save config callback +void AsyncWiFiManager::setSaveConfigCallback( void (*func)(void) ) { + _savecallback = func; +} + +//sets a custom element to add to head, like a new style tag +void AsyncWiFiManager::setCustomHeadElement(const char* element) { + _customHeadElement = element; +} + +//sets a custom element to add to options page +void AsyncWiFiManager::setCustomOptionsElement(const char* element) { + _customOptionsElement = element; +} + +//if this is true, remove duplicated Access Points - defaut true +void AsyncWiFiManager::setRemoveDuplicateAPs(boolean removeDuplicates) { + _removeDuplicateAPs = removeDuplicates; +} + + + +template +void AsyncWiFiManager::DEBUG_WM(Generic text) { + if (_debug) { + Serial.print("*WM: "); + Serial.println(text); + } +} + +int AsyncWiFiManager::getRSSIasQuality(int RSSI) { + int quality = 0; + + if (RSSI <= -100) { + quality = 0; + } else if (RSSI >= -50) { + quality = 100; + } else { + quality = 2 * (RSSI + 100); + } + return quality; +} + +/** Is this an IP? */ +boolean AsyncWiFiManager::isIp(String str) { + for (int i = 0; i < str.length(); i++) { + int c = str.charAt(i); + if (c != '.' && (c < '0' || c > '9')) { + return false; + } + } + return true; +} + +/** IP to String? */ +String AsyncWiFiManager::toStringIp(IPAddress ip) { + String res = ""; + for (int i = 0; i < 3; i++) { + res += String((ip >> (8 * i)) & 0xFF) + "."; + } + res += String(((ip >> 8 * 3)) & 0xFF); + return res; +} diff --git a/examples/SmartSwitch/ESPAsyncWiFiManager.h b/examples/SmartSwitch/ESPAsyncWiFiManager.h new file mode 100644 index 0000000..f6e2e5b --- /dev/null +++ b/examples/SmartSwitch/ESPAsyncWiFiManager.h @@ -0,0 +1,279 @@ +/************************************************************** + WiFiManager is a library for the ESP8266/Arduino platform + (https://github.com/esp8266/Arduino) to enable easy + configuration and reconfiguration of WiFi credentials using a Captive Portal + inspired by: + http://www.esp8266.com/viewtopic.php?f=29&t=2520 + https://github.com/chriscook8/esp-arduino-apboot + https://github.com/esp8266/Arduino/tree/esp8266/hardware/esp8266com/esp8266/libraries/DNSServer/examples/CaptivePortalAdvanced + Built by AlexT https://github.com/tzapu + Ported to Async Web Server by https://github.com/alanswx + Licensed under MIT license + **************************************************************/ + +#ifndef ESPAsyncWiFiManager_h +#define ESPAsyncWiFiManager_h + +#if defined(ESP8266) +#include //https://github.com/esp8266/Arduino +#else +#include +#include "esp_wps.h" +#define ESP_WPS_MODE WPS_TYPE_PBC +#endif +#include + +//#define USE_EADNS //Uncomment to use ESPAsyncDNSServer +#ifdef USE_EADNS +#include //https://github.com/devyte/ESPAsyncDNSServer + //https://github.com/me-no-dev/ESPAsyncUDP +#else +#include +#endif +#include + +// fix crash on ESP32 (see https://github.com/alanswx/ESPAsyncWiFiManager/issues/44) +#if defined(ESP8266) +typedef int wifi_ssid_count_t; +#else +typedef int16_t wifi_ssid_count_t; +#endif + +#if defined(ESP8266) +extern "C" { + #include "user_interface.h" +} +#else +#include +#endif + +const char WFM_HTTP_HEAD[] PROGMEM = "{v}"; +const char HTTP_STYLE[] PROGMEM = ""; +const char HTTP_SCRIPT[] PROGMEM = ""; +const char HTTP_HEAD_END[] PROGMEM = "
"; +const char HTTP_PORTAL_OPTIONS[] PROGMEM = "



"; +const char HTTP_ITEM[] PROGMEM = "
{v} {r}%
"; +const char HTTP_FORM_START[] PROGMEM = "


"; +const char HTTP_FORM_PARAM[] PROGMEM = "
"; +const char HTTP_FORM_END[] PROGMEM = "
"; +const char HTTP_SCAN_LINK[] PROGMEM = "
"; +const char HTTP_SAVED[] PROGMEM = "
Credentials Saved
Trying to connect ESP to network.
If it fails reconnect to AP to try again
"; +const char HTTP_END[] PROGMEM = "
"; + +#define WIFI_MANAGER_MAX_PARAMS 10 + +class AsyncWiFiManagerParameter { +public: + AsyncWiFiManagerParameter(const char *custom); + AsyncWiFiManagerParameter(const char *id, const char *placeholder, const char *defaultValue, int length); + AsyncWiFiManagerParameter(const char *id, const char *placeholder, const char *defaultValue, int length, const char *custom); + + const char *getID(); + const char *getValue(); + const char *getPlaceholder(); + int getValueLength(); + const char *getCustomHTML(); +private: + const char *_id; + const char *_placeholder; + char *_value; + int _length; + const char *_customHTML; + + void init(const char *id, const char *placeholder, const char *defaultValue, int length, const char *custom); + + friend class AsyncWiFiManager; +}; + + +class WiFiResult +{ +public: + bool duplicate; + String SSID; + uint8_t encryptionType; + int32_t RSSI; + uint8_t* BSSID; + int32_t channel; + bool isHidden; + + WiFiResult() + { + } + + +}; + +class AsyncWiFiManager +{ +public: + #ifdef USE_EADNS + AsyncWiFiManager(AsyncWebServer * server, AsyncDNSServer *dns); + #else + AsyncWiFiManager(AsyncWebServer * server, DNSServer *dns); + #endif + + void scan(); + String scanModal(); + void loop(); + void safeLoop(); + void criticalLoop(); + String infoAsString(); + + boolean autoConnect(unsigned long maxConnectRetries = 1, unsigned long retryDelayMs = 1000); + boolean autoConnect(char const *apName, char const *apPassword = NULL, unsigned long maxConnectRetries = 1, unsigned long retryDelayMs = 1000); + + //if you want to always start the config portal, without trying to connect first + boolean startConfigPortal(char const *apName, char const *apPassword = NULL); + void startConfigPortalModeless(char const *apName, char const *apPassword); + + // get the AP name of the config portal, so it can be used in the callback + String getConfigPortalSSID(); + + void resetSettings(); + + //sets timeout before webserver loop ends and exits even if there has been no setup. + //usefully for devices that failed to connect at some point and got stuck in a webserver loop + //in seconds setConfigPortalTimeout is a new name for setTimeout + void setConfigPortalTimeout(unsigned long seconds); + void setTimeout(unsigned long seconds); + + //sets timeout for which to attempt connecting, usefull if you get a lot of failed connects + void setConnectTimeout(unsigned long seconds); + + //wether or not the wifi manager tries to connect to configured access point even when + //configuration portal (ESP as access point) is running [default true/on] + void setTryConnectDuringConfigPortal(boolean v); + + + void setDebugOutput(boolean debug); + //defaults to not showing anything under 8% signal quality if called + void setMinimumSignalQuality(int quality = 8); + //sets a custom ip /gateway /subnet configuration + void setAPStaticIPConfig(IPAddress ip, IPAddress gw, IPAddress sn); + //sets config for a static IP + void setSTAStaticIPConfig(IPAddress ip, IPAddress gw, IPAddress sn, IPAddress dns1=(uint32_t)0x00000000, IPAddress dns2=(uint32_t)0x00000000); + //called when AP mode and config portal is started + void setAPCallback( void (*func)(AsyncWiFiManager*) ); + //called when settings have been changed and connection was successful + void setSaveConfigCallback( void (*func)(void) ); + //adds a custom parameter + void addParameter(AsyncWiFiManagerParameter *p); + //if this is set, it will exit after config, even if connection is unsucessful. + void setBreakAfterConfig(boolean shouldBreak); + //if this is set, try WPS setup when starting (this will delay config portal for up to 2 mins) + //TODO + //if this is set, customise style + void setCustomHeadElement(const char* element); + //if this is true, remove duplicated Access Points - defaut true + void setRemoveDuplicateAPs(boolean removeDuplicates); + //sets a custom element to add to options page + void setCustomOptionsElement(const char* element); + +private: + AsyncWebServer *server; + #ifdef USE_EADNS + AsyncDNSServer *dnsServer; + #else + DNSServer *dnsServer; + #endif + + + boolean _modeless; + int scannow; + int shouldscan; + boolean needInfo = true; + + //const int WM_DONE = 0; + //const int WM_WAIT = 10; + + //const String HTTP_HEAD = "{v}"; + + void setupConfigPortal(); +#ifdef NO_EXTRA_4K_HEAP + void startWPS(); +#endif + String pager; + wl_status_t wifiStatus; + const char* _apName = "no-net"; + const char* _apPassword = NULL; + String _ssid = ""; + String _pass = ""; + unsigned long _configPortalTimeout = 0; + unsigned long _connectTimeout = 0; + unsigned long _configPortalStart = 0; + + IPAddress _ap_static_ip; + IPAddress _ap_static_gw; + IPAddress _ap_static_sn; + IPAddress _sta_static_ip; + IPAddress _sta_static_gw; + IPAddress _sta_static_sn; + IPAddress _sta_static_dns1= (uint32_t)0x00000000; + IPAddress _sta_static_dns2= (uint32_t)0x00000000; + + int _paramsCount = 0; + int _minimumQuality = -1; + boolean _removeDuplicateAPs = true; + boolean _shouldBreakAfterConfig = false; +#ifdef NO_EXTRA_4K_HEAP + boolean _tryWPS = false; +#endif + const char* _customHeadElement = ""; + const char* _customOptionsElement = ""; + + //String getEEPROMString(int start, int len); + //void setEEPROMString(int start, int len, String string); + + int status = WL_IDLE_STATUS; + int connectWifi(String ssid, String pass); + uint8_t waitForConnectResult(); + void setInfo(); + + String networkListAsString(); + + void handleRoot(AsyncWebServerRequest *); + void handleWifi(AsyncWebServerRequest*,boolean scan); + void handleWifiSave(AsyncWebServerRequest*); + void handleInfo(AsyncWebServerRequest*); + void handleReset(AsyncWebServerRequest*); + void handleNotFound(AsyncWebServerRequest*); + void handle204(AsyncWebServerRequest*); + boolean captivePortal(AsyncWebServerRequest*); + + // DNS server + const byte DNS_PORT = 53; + + //helpers + int getRSSIasQuality(int RSSI); + boolean isIp(String str); + String toStringIp(IPAddress ip); + + boolean connect; + boolean _debug = true; + + WiFiResult *wifiSSIDs; + wifi_ssid_count_t wifiSSIDCount; + boolean wifiSSIDscan; + + boolean _tryConnectDuringConfigPortal = true; + + void (*_apcallback)(AsyncWiFiManager*) = NULL; + void (*_savecallback)(void) = NULL; + + AsyncWiFiManagerParameter* _params[WIFI_MANAGER_MAX_PARAMS]; + + template + void DEBUG_WM(Generic text); + + template + auto optionalIPFromString(T *obj, const char *s) -> decltype( obj->fromString(s) ) { + return obj->fromString(s); + } + auto optionalIPFromString(...) -> bool { + DEBUG_WM("NO fromString METHOD ON IPAddress, you need ESP8266 core 2.1.0 or newer for Custom IP configuration to work."); + return false; + } +}; + +#endif diff --git a/examples/SmartSwitch/PinOut_Notes.txt b/examples/SmartSwitch/PinOut_Notes.txt new file mode 100644 index 0000000..c8c2a50 --- /dev/null +++ b/examples/SmartSwitch/PinOut_Notes.txt @@ -0,0 +1,13 @@ +ESP12 + +static const uint8_t D0 = 16; +static const uint8_t D1 = 5; +static const uint8_t D2 = 4; // DHT DATA I/O +static const uint8_t D3 = 0; // BUTTON - most modules have it populated on PCB +static const uint8_t D4 = 2; // LED (RELAY) - most modules have it populated on PCB +static const uint8_t D5 = 14; +static const uint8_t D6 = 12; +static const uint8_t D7 = 13; +static const uint8_t D8 = 15; +static const uint8_t D9 = 3; +static const uint8_t D10 = 1; \ No newline at end of file diff --git a/examples/SmartSwitch/SmartSwitch.ino b/examples/SmartSwitch/SmartSwitch.ino new file mode 100644 index 0000000..22d9998 --- /dev/null +++ b/examples/SmartSwitch/SmartSwitch.ino @@ -0,0 +1,479 @@ +/* +SmartSwitch application +Based on ESP_AsyncFSBrowser +Temperature Control for heater with schedule +Main purpose - for winter outside car block heater or battery charger +Wide browser compatibility, no other server-side needed. +HTTP server and WebSocket, single port +Standalone, no JS dependencies for the browser from Internet (I hope) +Based on ESP_AsyncFSBrowser +Real Time (NTP) w/ Time Zones +Memorized settings to EEPROM +Multiple clients can be connected at same time, they see each other requests +Use latest ESP core lib (from github) +*/ + +#define USE_WFM // to use ESPAsyncWiFiManager + +#include +#ifdef ESP32 + #include + #include + #include + #include + #include +#elif defined(ESP8266) + #include + #include + #include +#endif +#include +#ifdef USE_WFM + #include "ESPAsyncWiFiManager.h" +#endif +#include +#include +#include +#include +#include +#define MYTZ TZ_America_Toronto +#define RTC_UTC_TEST 1577836800 // Some Date + +#define EESC 100 // fixed eeprom address for sched choice +#define EECH 104 // fixed eeprom address to keep selected active channel, only for reference here +#define EEBEGIN EECH + 1 +#define EEMARK 0x5A +#define MEMMAX 1 // 0,1,2... last max index (only 2 channels) +#define EEALL 512 + +#define HYST 0.5 // C +/- hysteresis + +// DHT +#define DHTTYPE DHT22 // DHT 11 // DHT 22, AM2302, AM2321 // DHT 21, AM2301 +#define DHTPIN 4 //D2 + +DHT dht(DHTPIN, DHTTYPE); + +// SKETCH BEGIN MAIN DECLARATIONS +Ticker tim; +AsyncWebServer server(80); //single port - easy for forwarding +AsyncWebSocket ws("/ws"); + +#ifdef USE_WFM + DNSServer dns; +#else + const char* ssid = "MYSSD"; + const char* password = "MYPASSWD"; +#endif +const char * hostName = "smartsw"; +const char* http_username = "smart"; // for SPIFFSEditor (and static html) +const char* http_password = "switch"; + +// RTC +static timeval tv; +static time_t now; + +// HW I/O +const int btnPin = 0; //D3 +const int ledPin = 2; //D4 +int btnState = HIGH; + +// Globals +uint8_t count = 0; +uint8_t sched = 0; // automatic schedule +byte memch = 0; // select memory "channel" to work with +float t = 0; +float h = 0; +bool udht = false; +bool heat_enabled_prev = false; +int ledState; + +struct EE_bl { + byte memid; //here goes the EEMARK stamp + uint8_t hstart; + uint8_t mstart; + uint8_t hstop; + uint8_t mstop; + float tempe; +}; + +EE_bl ee = {0,0,0,0,0,0.1}; //populate as initial + +// SUBS +void writeEE() { + ee.memid = EEMARK; + //EEPROM.put(EESC, sched); // only separately when needed with commit() + //EEPROM.put(EECH, memch); // not need to store and retrieve memch + EEPROM.put(EEBEGIN + memch*sizeof(ee), ee); + EEPROM.commit(); //needed for ESP8266? +} + +void readEE() { + byte ChkEE; + if (memch > MEMMAX) memch = 0; + EEPROM.get(EEBEGIN + memch*sizeof(ee), ChkEE); + if (ChkEE == EEMARK){ //otherwise stays with defaults + EEPROM.get(EEBEGIN + memch*sizeof(ee), ee); + EEPROM.get(EESC, sched); + if (sched > MEMMAX + 1) sched = 0; + } +} + +void showTime() +{ + byte tmpch = 0; + bool heat_enabled = false; + + gettimeofday(&tv, nullptr); + now = time(nullptr); + const tm* tm = localtime(&now); + ws.printfAll("Now,Clock,%02d:%02d,%d", tm->tm_hour, tm->tm_min, tm->tm_wday); + if ((2==tm->tm_hour )&&(2==tm->tm_min)) { + configTime(MYTZ, "pool.ntp.org"); + Serial.print(F("Sync Clock at 02:02\n")); + } + Serial.printf("RTC: %02d:%02d\n", tm->tm_hour, tm->tm_min); + + if (sched == 0) { // automatic + if ((tm->tm_wday > 0)&&(tm->tm_wday < 6)) tmpch = 0; //weekdays + else tmpch = 0; //weekend + } else { // manual + tmpch = sched - 1; //and stays + } + + if (tmpch != memch) { // update if different + memch = tmpch; + readEE(); + ws.printfAll("Now,Setting,%02d:%02d,%02d:%02d,%+2.1f", ee.hstart, ee.mstart, ee.hstop, ee.mstop, ee.tempe); + } + + // process smart switch by time and temperature + uint16_t xmi = (uint16_t)(60*tm->tm_hour) + tm->tm_min; // max 24h = 1440min, current time + uint16_t bmi = (uint16_t)(60*ee.hstart) + ee.mstart; // begin in minutes + uint16_t emi = (uint16_t)(60*ee.hstop) + ee.mstop; // end in minutes + + if (bmi == emi) heat_enabled = false; + else { //enable smart if different + + if (((bmi < emi)&&(bmi <= xmi)&&(xmi < emi))|| + ((emi < bmi)&&((bmi <= xmi)||(xmi < emi)))) { + heat_enabled = true; + } else heat_enabled = false; + } + + if (heat_enabled_prev) { // smart control (delayed one cycle) + if (((t - HYST) < ee.tempe)&&(ledState == HIGH)) { // OFF->ON once + ledState = LOW; + digitalWrite(ledPin, ledState); // apply change + ws.textAll("led,ledon"); + } + if ((((t + HYST) > ee.tempe)&&(ledState == LOW))||(!heat_enabled)) { // ON->OFF once, also turn off at end of period. + ledState = HIGH; + digitalWrite(ledPin, ledState); // apply change + ws.textAll("led,ledoff"); + } + Serial.printf(ledState ? "LED OFF" : "LED ON"); + Serial.print(F(", Smart enabled\n")); + } + heat_enabled_prev = heat_enabled; //update +} + +void updateDHT(){ + h = dht.readHumidity(); + t = dht.readTemperature(); //Celsius or dht.readTemperature(true) for Fahrenheit + if (isnan(h) || isnan(t)) { + Serial.print(F("Failed to read from DHT sensor!")); + h = 0; // debug w/o sensor + t = 0; + } +} + +void analogSample() +{ + ws.printfAll("wpMeter,Arduino,%+2.1f,%2.1f,%d", t, h, heat_enabled_prev); + Serial.printf("T/H.: %+2.1f°C/%2.1f%%,%d\n", t, h, heat_enabled_prev); +} + +void checkPhysicalButton() +{ + if (digitalRead(btnPin) == LOW) { + if (btnState != LOW) { // btnState is used to avoid sequential toggles + ledState = !ledState; + digitalWrite(ledPin, ledState); + if (ledState) ws.textAll("led,ledoff"); + else ws.textAll("led,ledon"); + } + btnState = LOW; + } else { + btnState = HIGH; + } +} + +void mytimer() { + ++count; //200ms increments + checkPhysicalButton(); + if ((count % 25) == 1) { // update temp every 5 seconds + analogSample(); + udht = true; + } + if ((count % 50) == 0) { // update temp every 10 seconds + ws.cleanupClients(); + } + if (count >= 150) { // cycle every 30 sec + showTime(); + count = 0; + } +} + +// server +void onWsEvent(AsyncWebSocket * server, AsyncWebSocketClient * client, AwsEventType type, void * arg, uint8_t *data, size_t len){ + if(type == WS_EVT_CONNECT){ + Serial.printf("ws[%s][%u] connect\n", server->url(), client->id()); + //client->printf("Hello Client %u :)", client->id()); + //client->ping(); + + IPAddress ip = client->remoteIP(); + Serial.printf("[%u] Connected from %d.%d.%d.%d\n", client->id(), ip[0], ip[1], ip[2], ip[3]); + showTime(); + analogSample(); + if (ledState) ws.textAll("led,ledoff"); + else ws.textAll("led,ledon"); + + ws.printfAll("Now,Setting,%02d:%02d,%02d:%02d,%+2.1f", ee.hstart, ee.mstart, ee.hstop, ee.mstop, ee.tempe); + ws.printfAll("Now,sched,%d", sched); + + } else if(type == WS_EVT_DISCONNECT){ + Serial.printf("ws[%s][%u] disconnect\n", server->url(), client->id()); + ws.textAll("Now,remoff"); + + } else if(type == WS_EVT_ERROR){ + Serial.printf("ws[%s][%u] error(%u): %s\n", server->url(), client->id(), *((uint16_t*)arg), (char*)data); + } else if(type == WS_EVT_PONG){ + Serial.printf("ws[%s][%u] pong[%u]: %s\n", server->url(), client->id(), len, (len)?(char*)data:""); + } else if(type == WS_EVT_DATA){ + AwsFrameInfo * info = (AwsFrameInfo*)arg; + String msg = ""; + if(info->final && info->index == 0 && info->len == len){ + //the whole message is in a single frame and we got all of it's data + Serial.printf("ws[%s][%u] %s-message[%llu]: ", server->url(), client->id(), (info->opcode == WS_TEXT)?"text":"binary", info->len); + + if(info->opcode == WS_TEXT){ + for(size_t i=0; i < info->len; i++) { //debug + msg += (char) data[i]; + } + if(data[0] == 'L') { // LED + if(data[1] == '1') { + ledState = LOW; + ws.textAll("led,ledon"); // for others + } + else if(data[1] == '0') { + ledState = HIGH; + ws.textAll("led,ledoff"); + } + digitalWrite(ledPin, ledState); // apply change + + + } else if(data[0] == 'T') { // timeset + if (len > 11) { + data[3] = data[6] = data[9] = data[12] = 0; // cut strings + ee.hstart = (uint8_t) atoi((const char *) &data[1]); + ee.mstart = (uint8_t) atoi((const char *) &data[4]); + ee.hstop = (uint8_t) atoi((const char *) &data[7]); + ee.mstop = (uint8_t) atoi((const char *) &data[10]); + Serial.printf("[%u] Timer set %02d:%02d - %02d:%02d\n", client->id(), ee.hstart, ee.mstart, ee.hstop, ee.mstop); + writeEE(); + memch = 255; // to force showTime()to send Setting + showTime(); + } + } else if(data[0] == 'W') { // temperatureset + if (len > 3) { + if (ee.tempe != (float) atof((const char *) &data[1])){ + ee.tempe = (float) atof((const char *) &data[1]); + Serial.printf("[%u] Temp set %+2.1f\n", client->id(), ee.tempe); + writeEE(); + memch = 255; // to force showTime()to send Setting + showTime(); + } + } + } else if ((data[0] == 'Z')&&(len > 2)) { // sched + data[2] = 0; + if (sched != (uint8_t) atoi((const char *) &data[1])){ + sched = (uint8_t) atoi((const char *) &data[1]); + EEPROM.put(EESC, sched); //separately + EEPROM.commit(); //needed for ESP8266? + ws.printfAll("Now,sched,%d", sched); + showTime(); + } + } + + } else { + char buff[3]; + for(size_t i=0; i < info->len; i++) { + sprintf(buff, "%02x ", (uint8_t) data[i]); + msg += buff ; + } + } + Serial.printf("%s\n",msg.c_str()); + + if(info->opcode == WS_TEXT) + client->text("I got your text message"); + else + client->binary("I got your binary message"); + + } else { + //message is comprised of multiple frames or the frame is split into multiple packets + if(info->index == 0){ + if(info->num == 0) + Serial.printf("ws[%s][%u] %s-message start\n", server->url(), client->id(), (info->message_opcode == WS_TEXT)?"text":"binary"); + Serial.printf("ws[%s][%u] frame[%u] start[%llu]\n", server->url(), client->id(), info->num, info->len); + } + + Serial.printf("ws[%s][%u] frame[%u] %s[%llu - %llu]: ", server->url(), client->id(), info->num, (info->message_opcode == WS_TEXT)?"text":"binary", info->index, info->index + len); + + if(info->opcode == WS_TEXT){ + for(size_t i=0; i < len; i++) { + msg += (char) data[i]; + } + } else { + char buff[3]; + for(size_t i=0; i < len; i++) { + sprintf(buff, "%02x ", (uint8_t) data[i]); + msg += buff ; + } + } + Serial.printf("%s\n",msg.c_str()); + + if((info->index + len) == info->len){ + Serial.printf("ws[%s][%u] frame[%u] end[%llu]\n", server->url(), client->id(), info->num, info->len); + if(info->final){ + Serial.printf("ws[%s][%u] %s-message end\n", server->url(), client->id(), (info->message_opcode == WS_TEXT)?"text":"binary"); + if(info->message_opcode == WS_TEXT) + client->text("I got your text message"); + else + client->binary("I got your binary message"); + } + } + } + } +} + + +// setup ----------------------------------- + +void setup(){ + Serial.begin(115200); + Serial.setDebugOutput(true); + +//Wifi +#ifdef USE_WFM + AsyncWiFiManager wifiManager(&server,&dns); + //wifiManager.resetSettings(); + wifiManager.autoConnect("SmartSW"); +#else + //WiFi.mode(WIFI_AP_STA); // Core SVN 5179 use STA as default interface in mDNS (#7042) + //WiFi.softAP(hostName); // Core SVN 5179 use STA as default interface in mDNS (#7042) + WiFi.mode(WIFI_STA); // Core SVN 5179 use STA as default interface in mDNS (#7042) + WiFi.begin(ssid, password); + if (WiFi.waitForConnectResult() != WL_CONNECTED) { + Serial.print(F("STA: Failed!\n")); + WiFi.disconnect(false); + delay(1000); + WiFi.begin(ssid, password); + } +#endif + + Serial.print(F("*CONNECTED*\n")); + +//DHT + dht.begin(); + updateDHT(); //first reading takes time, hold here than the loop; + +//Real Time + time_t rtc = RTC_UTC_TEST; + timeval tv = { rtc, 0 }; + //timezone tz = { 0, 0 }; //(insert) <#5194 + settimeofday(&tv, nullptr); //settimeofday(&tv, &tz); // <#5194 + configTime(MYTZ, "pool.ntp.org"); + +//MDNS (not needed) + // MDNS.begin(hostName); + // MDNS.addService("http","tcp",80); // Core SVN 5179 use STA as default interface in mDNS (#7042) + +//I/O & DHT + pinMode(ledPin, OUTPUT); + pinMode(btnPin, INPUT_PULLUP); + +//EE + EEPROM.begin(EEALL); + //EEPROM.get(EECH, memch); //current channel, no need + readEE(); // populate structure if healthy + digitalWrite(ledPin, ledState); + Serial.printf("Timer set %02d:%02d - %02d:%02d\n", ee.hstart, ee.mstart, ee.hstop, ee.mstop); + Serial.printf("Temp set %+2.1f\n", ee.tempe); + +//SPIFFS + SPIFFS.begin(); + + ws.onEvent(onWsEvent); + server.addHandler(&ws); + +#ifdef ESP32 + server.addHandler(new SPIFFSEditor(SPIFFS, http_username,http_password)); +#elif defined(ESP8266) + server.addHandler(new SPIFFSEditor(http_username,http_password)); +#endif + + server.on("/free-ram", HTTP_GET, [](AsyncWebServerRequest *request){ // direct request->answer + request->send(200, "text/plain", String(ESP.getFreeHeap())); + }); + + server.on("/hw-reset", HTTP_GET, [](AsyncWebServerRequest *request){ + request->onDisconnect([]() { +#ifdef ESP32 + ESP.restart(); +#elif defined(ESP8266) + ESP.reset(); +#endif + }); + request->send(200, "text/plain","Restarting ..."); + }); + + server.on("/erase-wifi", HTTP_GET, [](AsyncWebServerRequest *request){ + request->onDisconnect([]() { + WiFi.disconnect(true); + }); + request->send(200, "text/plain","Erasing WiFi data ..."); + }); + + server.serveStatic("/", SPIFFS, "/").setDefaultFile("index.htm"); //.setAuthentication(http_username,http_password); //append or remove auth part + + + server.onNotFound([](AsyncWebServerRequest *request){ // nothing known + Serial.print(F("NOT_FOUND: ")); + if (request->method() == HTTP_OPTIONS) request->send(200); //CORS + else request->send(404); + }); + + DefaultHeaders::Instance().addHeader("Access-Control-Allow-Origin", "*");//CORS + server.begin(); + + //Timer tick + tim.attach(0.2, mytimer); //every 0.2s + + //OTA + ArduinoOTA.setHostname(hostName); + ArduinoOTA.onStart([]() { + Serial.print(F("OTA Started ...\n")); + ws.textAll("Now,OTA"); // for all clients + }); + ArduinoOTA.begin(); +} // setup end + +// loop ----------------------------------- +void loop(){ + if (udht){ // 5sec + updateDHT(); + udht = false; + } + ArduinoOTA.handle(); +} diff --git a/examples/SmartSwitch/data/.exclude.files b/examples/SmartSwitch/data/.exclude.files new file mode 100644 index 0000000..4aacf0d --- /dev/null +++ b/examples/SmartSwitch/data/.exclude.files @@ -0,0 +1,2 @@ +/*.gz +/.exclude.files diff --git a/examples/SmartSwitch/data/acefull.js.gz b/examples/SmartSwitch/data/acefull.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..e10ad62d2aa6c854fa9364434369bc33ec30f5a3 GIT binary patch literal 111691 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 literal 0 HcmV?d00001 diff --git a/examples/SmartSwitch/data/app.css.gz b/examples/SmartSwitch/data/app.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..a5beb7d7e4f80b82d9860430de622bd7f38ff88d GIT binary patch literal 2740 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 literal 0 HcmV?d00001 diff --git a/examples/SmartSwitch/data/app.min.js.gz b/examples/SmartSwitch/data/app.min.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..dce4784ea304a514e44df1ca6e3356c8d4bf29dd GIT binary patch literal 38439 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 literal 0 HcmV?d00001 diff --git a/examples/SmartSwitch/data/index2.htm b/examples/SmartSwitch/data/index2.htm new file mode 100644 index 0000000..44c86bf --- /dev/null +++ b/examples/SmartSwitch/data/index2.htm @@ -0,0 +1,585 @@ + + + + + + Smart Switch + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+
+ + + + + + + + +
+ + + + + +
+
+ +
+
+
+ +
+
+
+ +
+
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/examples/SmartSwitch/data_src/acefull.js b/examples/SmartSwitch/data_src/acefull.js new file mode 100644 index 0000000..46b3712 --- /dev/null +++ b/examples/SmartSwitch/data_src/acefull.js @@ -0,0 +1 @@ +(function(){var e=function(){return this}();!e&&"undefined"!=typeof window&&(e=window);var o=function(e,t,i){"string"==typeof e?(2==arguments.length&&(i=t),o.modules[e]||(o.payloads[e]=i,o.modules[e]=null)):o.original?o.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace())};o.modules={},o.payloads={};var t,i,r=function(e,t,i){if("string"==typeof t){var n=c(e,t);if(null!=n)return i&&i(),n}else if("[object Array]"===Object.prototype.toString.call(t)){for(var s=[],o=0,r=t.length;os.index&&this.lastIndex--}return s},l||(RegExp.prototype.test=function(e){var t=r.exec.call(this,e);return t&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--,!!t}))}),ace.define("ace/lib/es5-shim",["require","exports","module"],function(e,t,i){function o(){}function n(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(e){}}function s(e){return(e=+e)!=e?e=0:0!==e&&e!==1/0&&e!==-1/0&&(e=(0>>0;if("[object Function]"!=m(e))throw new TypeError;for(;++s>>0,s=Array(n),o=arguments[1];if("[object Function]"!=m(e))throw new TypeError(e+" is not a function");for(var r=0;r>>0,o=[],r=arguments[1];if("[object Function]"!=m(e))throw new TypeError(e+" is not a function");for(var a=0;a>>0,s=arguments[1];if("[object Function]"!=m(e))throw new TypeError(e+" is not a function");for(var o=0;o>>0,s=arguments[1];if("[object Function]"!=m(e))throw new TypeError(e+" is not a function");for(var o=0;o>>0;if("[object Function]"!=m(e))throw new TypeError(e+" is not a function");if(!n&&1==arguments.length)throw new TypeError("reduce of empty array with no initial value");var s,o=0;if(2<=arguments.length)s=arguments[1];else for(;;){if(o in i){s=i[o++];break}if(++o>=n)throw new TypeError("reduce of empty array with no initial value")}for(;o>>0;if("[object Function]"!=m(e))throw new TypeError(e+" is not a function");if(!n&&1==arguments.length)throw new TypeError("reduceRight of empty array with no initial value");var s,o=n-1;if(2<=arguments.length)s=arguments[1];else for(;;){if(o in i){s=i[o--];break}if(--o<0)throw new TypeError("reduceRight of empty array with no initial value")}for(;o in this&&(s=e.call(void 0,s,i[o],o,t)),o--;);return s}),Array.prototype.indexOf&&-1==[0,1].indexOf(1,2)||(Array.prototype.indexOf=function(e){var t=$&&"[object String]"==m(this)?this.split(""):M(this),i=t.length>>>0;if(!i)return-1;var n=0;for(1>>0;if(!i)return-1;var n=i-1;for(1 ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return 0==this.compare(e,t)},this.compareRange=function(e){var t,i=e.end,n=e.start;return 1==(t=this.compare(i.row,i.column))?1==(t=this.compare(n.row,n.column))?2:0==t?1:0:-1==t?-2:-1==(t=this.compare(n.row,n.column))?-1:1==t?42:0},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return 0==this.comparePoint(e.start)&&0==this.comparePoint(e.end)},this.intersects=function(e){var t=this.compareRange(e);return-1==t||0==t||1==t},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){"object"==typeof e?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){"object"==typeof e?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return 0==this.compare(e,t)&&(!this.isEnd(e,t)&&!this.isStart(e,t))},this.insideStart=function(e,t){return 0==this.compare(e,t)&&!this.isEnd(e,t)},this.insideEnd=function(e,t){return 0==this.compare(e,t)&&!this.isStart(e,t)},this.compare=function(e,t){return this.isMultiLine()||e!==this.start.row?ethis.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0:tthis.end.column?1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var i={row:t+1,column:0};else if(this.end.rowt)var n={row:t+1,column:0};else if(this.start.row>=1)&&(e+=e);return i};var n=/^\s\s*/,s=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(n,"")},t.stringTrimRight=function(e){return e.replace(s,"")},t.copyObject=function(e){var t={};for(var i in e)t[i]=e[i];return t},t.copyArray=function(e){for(var t=[],i=0,n=e.length;ii+1?a.length:s,s+=o.length+1,o=o+"\n"+a}400w-1&&v[v.length-c]==e[e.length-c];)c++,o--;return a-=c-1,l-=c-1,r=r.slice(0,r.length-c+1),t||a!=r.length||s||o||l?(f=!0,r&&!s&&!o&&!a&&!l||p?h.onTextInput(r):h.onTextInput(r,{extendLeft:s,extendRight:o,restoreStart:a,restoreEnd:l}),f=!1,v=e,w=i,b=n,r):""},o=function(e){if(g)return A();var t=u.value,i=s(t,!0);(500=v.length&&t.value===v&&v&&t.selectionEnd!==b&&(h.selectAll(),$()))}),T.addListener(u,"input",o),T.addListener(u,"cut",k),T.addListener(u,"copy",C),T.addListener(u,"paste",S),(!("oncut"in u)||!("oncopy"in u)||!("onpaste"in u))&&T.addListener(e,"keydown",function(e){if((!M.isMac||e.metaKey)&&e.ctrlKey)switch(e.keyCode){case 67:C(e);break;case 86:S(e);break;case 88:k(e)}});var A=function(){if(g&&h.onCompositionUpdate&&!h.$readOnly){if(p)return i();if(g.useTextareaForIME)h.onCompositionUpdate(u.value);else{var e=u.value;s(e),g.markerRange&&(g.context&&(g.markerRange.start.column=g.selectionStart=g.context.compositionStartOffset),g.markerRange.end.column=g.markerRange.start.column+b-g.selectionStart)}}},L=function(e){h.onCompositionEnd&&!h.$readOnly&&(g=!1,h.onCompositionEnd(),h.off("mousedown",i),e&&o())},R=O.delayedCall(A,50).schedule.bind(null,null);T.addListener(u,"compositionstart",function(e){if(!g&&h.onCompositionStart&&!h.$readOnly&&(g={},!p)){setTimeout(A,0),h.on("mousedown",i);var t=h.getSelectionRange();t.end.row=t.start.row,t.end.column=t.start.column,g.markerRange=t,g.selectionStart=w,h.onCompositionStart(g),g.useTextareaForIME?(u.value="",v="",b=w=0):(u.msGetInputContext&&(g.context=u.msGetInputContext()),u.getInputContext&&(g.context=u.getInputContext()))}}),T.addListener(u,"compositionupdate",A),T.addListener(u,"keyup",function(e){27==e.keyCode&&u.value.lengththis.$focusTimeout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},this.onDoubleClick=function(e){var t=e.getDocumentPosition(),i=this.editor,n=i.session.getBracketRange(t);n?(n.isEmpty()&&(n.start.column--,n.end.column++),this.setState("select")):(n=i.selection.getWordRange(t.row,t.column),this.setState("selectByWords")),this.$clickSelection=n,this.select()},this.onTripleClick=function(e){var t=e.getDocumentPosition(),i=this.editor;this.setState("selectByLines");var n=i.getSelectionRange();n.isMultiLine()&&n.contains(t.row,t.column)?(this.$clickSelection=i.selection.getLineRange(n.start.row),this.$clickSelection.end=i.selection.getLineRange(n.end.row).end):this.$clickSelection=i.selection.getLineRange(t.row),this.select()},this.onQuadClick=function(e){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("selectAll")},this.onMouseWheel=function(e){if(!e.getAccelKey()){e.getShiftKey()&&e.wheelY&&!e.wheelX&&(e.wheelX=e.wheelY,e.wheelY=0);var t=this.editor;this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0});var i=this.$lastScroll,n=e.domEvent.timeStamp,s=n-i.t,o=s?e.wheelX/s:i.vx,r=s?e.wheelY/s:i.vy;s<550&&(o=(o+i.vx)/2,r=(r+i.vy)/2);var a=Math.abs(o/r),l=!1;if(1<=a&&t.renderer.isScrollableBy(e.wheelX*e.speed,0)&&(l=!0),a<=1&&t.renderer.isScrollableBy(0,e.wheelY*e.speed)&&(l=!0),l)i.allowed=n;else if(n-i.allowed<550){var c=Math.abs(o)<=1.5*Math.abs(i.vx)&&Math.abs(r)<=1.5*Math.abs(i.vy);i.allowed=c?(l=!0,n):0}return i.t=n,i.vx=o,i.vy=r,l?(t.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.stop()):void 0}},this.onTouchMove=function(e){this.editor._emit("mousewheel",e)}}).call(n.prototype),t.DefaultHandlers=n}),ace.define("ace/tooltip",["require","exports","module","ace/lib/oop","ace/lib/dom"],function(e,t,i){"use strict";function n(e){this.isOpen=!1,this.$element=null,this.$parentNode=e}e("./lib/oop");var s=e("./lib/dom");(function(){this.$init=function(){return this.$element=s.createElement("div"),this.$element.className="ace_tooltip",this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},this.getElement=function(){return this.$element||this.$init()},this.setText=function(e){this.getElement().textContent=e},this.setHtml=function(e){this.getElement().innerHTML=e},this.setPosition=function(e,t){this.getElement().style.left=e+"px",this.getElement().style.top=t+"px"},this.setClassName=function(e){s.addCssClass(this.getElement(),e)},this.show=function(e,t,i){null!=e&&this.setText(e),null!=t&&null!=i&&this.setPosition(t,i),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},this.hide=function(){this.isOpen&&(this.getElement().style.display="none",this.isOpen=!1)},this.getHeight=function(){return this.getElement().offsetHeight},this.getWidth=function(){return this.getElement().offsetWidth},this.destroy=function(){this.isOpen=!1,this.$element&&this.$element.parentNode&&this.$element.parentNode.removeChild(this.$element)}}).call(n.prototype),t.Tooltip=n}),ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event","ace/tooltip"],function(e,t,i){"use strict";function n(e){r.call(this,e)}var s=e("../lib/dom"),o=e("../lib/oop"),f=e("../lib/event"),r=e("../tooltip").Tooltip;o.inherits(n,r),function(){this.setPosition=function(e,t){var i=window.innerWidth||document.documentElement.clientWidth,n=window.innerHeight||document.documentElement.clientHeight,s=this.getWidth(),o=this.getHeight();i<(e+=15)+s&&(e-=e+s-i),n<(t+=15)+o&&(t-=20+o),r.prototype.setPosition.call(this,e,t)}}.call(n.prototype),t.GutterHandler=function(r){function a(){i&&(i=clearTimeout(i)),h&&(g.hide(),h=null,u._signal("hideGutterTooltip",g),u.removeEventListener("mousewheel",a))}function l(e){g.setPosition(e.x,e.y)}var i,c,h,u=r.editor,d=u.renderer.$gutterLayer,g=new n(u.container);r.editor.setDefaultHandler("guttermousedown",function(e){if(u.isFocused()&&0==e.getButton()&&"foldWidgets"!=d.getRegion(e)){var t=e.getDocumentPosition().row,i=u.session.selection;if(e.getShiftKey())i.selectTo(t,0);else{if(2==e.domEvent.detail)return u.selectAll(),e.preventDefault();r.$clickSelection=u.selection.getLineRange(t)}return r.setState("selectByLines"),r.captureMouse(e),e.preventDefault()}}),r.editor.setDefaultHandler("guttermousemove",function(e){var t=e.domEvent.target||e.domEvent.srcElement;if(s.hasCssClass(t,"ace_fold-widget"))return a();h&&r.$tooltipFollowsMouse&&l(e),c=e,i||(i=setTimeout(function(){i=null,c&&!r.isMousePressed?function(){var e=c.getDocumentPosition().row,t=d.$annotations[e];if(!t)return a();if(e==u.session.getLength()){var i=u.renderer.pixelToScreenCoordinates(0,c.y).row,n=c.$pos;if(i>u.session.documentToScreenRow(n.row,n.column))return a()}if(h!=t)if(h=t.text.join("
"),g.setHtml(h),g.show(),u._signal("showGutterTooltip",g),u.on("mousewheel",a),r.$tooltipFollowsMouse)l(c);else{var s=c.domEvent.target.getBoundingClientRect(),o=g.getElement().style;o.left=s.right+"px",o.top=s.bottom+"px"}}():a()},50))}),f.addListener(u.renderer.$gutter,"mouseout",function(e){c=null,h&&!i&&(i=setTimeout(function(){i=null,a()},50))}),u.on("changeSession",a)}}),ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t,i){"use strict";var n=e("../lib/event"),s=e("../lib/useragent"),o=t.MouseEvent=function(e,t){this.domEvent=e,this.editor=t,this.x=this.clientX=e.clientX,this.y=this.clientY=e.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1};(function(){this.stopPropagation=function(){n.stopPropagation(this.domEvent),this.propagationStopped=!0},this.preventDefault=function(){n.preventDefault(this.domEvent),this.defaultPrevented=!0},this.stop=function(){this.stopPropagation(),this.preventDefault()},this.getDocumentPosition=function(){return this.$pos||(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY)),this.$pos},this.inSelection=function(){if(null!==this.$inSelection)return this.$inSelection;var e=this.editor.getSelectionRange();if(e.isEmpty())this.$inSelection=!1;else{var t=this.getDocumentPosition();this.$inSelection=e.contains(t.row,t.column)}return this.$inSelection},this.getButton=function(){return n.getButton(this.domEvent)},this.getShiftKey=function(){return this.domEvent.shiftKey},this.getAccelKey=s.isMac?function(){return this.domEvent.metaKey}:function(){return this.domEvent.ctrlKey}}).call(o.prototype)}),ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t,i){"use strict";function n(t){function e(){var e,t,i,n,s,o=u;u=g.renderer.screenToTextCoordinates(f,m),e=u,t=o,i=Date.now(),n=!t||e.row!=t.row,s=!t||e.column!=t.column,!w||n||s?(g.moveCursorToPosition(e),w=i,b={x:f,y:m}):5this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){this.editor.container.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(e){this.editor.renderer.$cursorLayer.setBlinking(!this.editor.getReadOnly()),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var e=this.editor;e.container.draggable=!0,e.renderer.$cursorLayer.setBlinking(!1),e.setStyle("ace_dragging");var t=A.isWin?"default":"move";e.renderer.setCursorStyle(t),this.setState("dragReady")},this.onMouseDrag=function(e){var t=this.editor.container;A.isIE&&"dragReady"==this.state&&(3=e){for(n=l+1;n=e;)n++;for(s=l,o=n-1;s=t.length||(s=i[n-1])!=g&&s!=f||(o=t[n+1])!=g&&o!=f?C:(b&&(o=f),o==s?o:C);case E:return(s=0>8;return 0==i?191L&&t[a]t.row||e.row==t.row&&e.column>t.column},this.getRange=function(){var e=this.anchor,t=this.lead;return this.$isEmpty?a.fromPoints(t,t):this.isBackwards()?a.fromPoints(t,e):a.fromPoints(e,t)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},this.selectAll=function(){this.$setSelection(0,0,Number.MAX_VALUE,Number.MAX_VALUE)},this.setRange=this.setSelectionRange=function(e,t){var i=t?e.end:e.start,n=t?e.start:e.end;this.$setSelection(i.row,i.column,n.row,n.column)},this.$setSelection=function(e,t,i,n){var s=this.$isEmpty,o=this.inMultiSelectMode;this.$silent=!0,this.$cursorChanged=this.$anchorChanged=!1,this.anchor.setPosition(e,t),this.cursor.setPosition(i,n),this.$isEmpty=!a.comparePoints(this.anchor,this.cursor),this.$silent=!1,this.$cursorChanged&&this._emit("changeCursor"),(this.$cursorChanged||this.$anchorChanged||s!=this.$isEmpty||o)&&this._emit("changeSelection")},this.$moveSelection=function(e){var t=this.lead;this.$isEmpty&&this.setSelectionAnchor(t.row,t.column),e.call(this)},this.selectTo=function(e,t){this.$moveSelection(function(){this.moveCursorTo(e,t)})},this.selectToPosition=function(e){this.$moveSelection(function(){this.moveCursorToPosition(e)})},this.moveTo=function(e,t){this.clearSelection(),this.moveCursorTo(e,t)},this.moveToPosition=function(e){this.clearSelection(),this.moveCursorToPosition(e)},this.selectUp=function(){this.$moveSelection(this.moveCursorUp)},this.selectDown=function(){this.$moveSelection(this.moveCursorDown)},this.selectRight=function(){this.$moveSelection(this.moveCursorRight)},this.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},this.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},this.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},this.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},this.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},this.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},this.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},this.getWordRange=function(e,t){if(void 0===t){var i=e||this.lead;e=i.row,t=i.column}return this.session.getWordRange(e,t)},this.selectWord=function(){this.setSelectionRange(this.getWordRange())},this.selectAWord=function(){var e=this.getCursor(),t=this.session.getAWordRange(e.row,e.column);this.setSelectionRange(t)},this.getLineRange=function(e,t){var i,n="number"==typeof e?e:this.lead.row,s=this.session.getFoldLine(n);return i=s?(n=s.start.row,s.end.row):n,!0===t?new a(n,0,i,this.session.getLine(i).length):new a(n,0,i+1,0)},this.selectLine=function(){this.setSelectionRange(this.getLineRange())},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},this.wouldMoveIntoSoftTab=function(e,t,i){var n=e.column,s=e.column+t;return i<0&&(n=e.column-t,s=e.column),this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(n,s).split(" ").length-1==t},this.moveCursorLeft=function(){var e,t=this.lead.getPosition();if(e=this.session.getFoldAt(t.row,t.column,-1))this.moveCursorTo(e.start.row,e.start.column);else if(0===t.column)0=i.length)return this.moveCursorTo(e,i.length),this.moveCursorRight(),void(ec){var p=e.substring(c,m-f.length);u.type==d?u.value+=p:(u.type&&l.push(u),u={type:d,value:p})}for(var v=0;vw){for(h>2*e.length&&this.reportError("infinite loop with in ace tokenizer",{startState:t,line:e});c=this.$rowTokens.length;){if(this.$row+=1,e||(e=this.$session.getLength()),this.$row>=e)return this.$row=e-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},this.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},this.getCurrentTokenRow=function(){return this.$row},this.getCurrentTokenColumn=function(){var e=this.$rowTokens,t=this.$tokenIndex,i=e[t].start;if(void 0!==i)return i;for(i=0;0e.length&&(y=e.length)}),l==1/0&&(l=y,a=r=!1),h&&l%c!=0&&(l=Math.floor(l/c)*c),t(a?w:v)},this.toggleBlockComment=function(e,t,i,n){var s=this.blockComment;if(s){!s.start&&s[0]&&(s=s[0]);var o,r,a=(g=new m(t,n.row,n.column)).getCurrentToken(),l=(t.selection,t.selection.toOrientedRange());if(a&&/comment/.test(a.type)){for(var c,h;a&&/comment/.test(a.type);){if(-1!=(f=a.value.indexOf(s.start))){var u=g.getCurrentTokenRow(),d=g.getCurrentTokenColumn()+f;c=new p(u,d,u,d+s.start.length);break}a=g.stepBackward()}var g;for(a=(g=new m(t,n.row,n.column)).getCurrentToken();a&&/comment/.test(a.type);){var f;if(-1!=(f=a.value.indexOf(s.end))){u=g.getCurrentTokenRow(),d=g.getCurrentTokenColumn()+f;h=new p(u,d,u,d+s.end.length);break}a=g.stepForward()}h&&t.remove(h),c&&(t.remove(c),o=c.start.row,r=-s.start.length)}else r=s.start.length,o=i.start.row,t.insert(i.end,s.end),t.insert(i.start,s.start);l.start.row==o&&(l.start.column+=r),l.end.row==o&&(l.end.column+=r),t.selection.fromOrientedRange(l)}},this.getNextLineIndent=function(e,t,i){return this.$getIndent(t)},this.checkOutdent=function(e,t,i){return!1},this.autoOutdent=function(e,t,i){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){for(var n in this.$embeds=[],this.$modes={},e)if(e[n]){var t=e[n],i=t.prototype.$id,s=r.$modes[i];s||(r.$modes[i]=s=new t),r.$modes[n]||(r.$modes[n]=s),this.$embeds.push(n),this.$modes[n]=s}var o=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"];for(n=0;nthis.row)){var t,i,n,s,o,r,a,l,c=(t=e,i={row:this.row,column:this.column},n=this.$insertRight,s="insert"==t.action,o=(s?1:-1)*(t.end.row-t.start.row),r=(s?1:-1)*(t.end.column-t.start.column),a=t.start,l=s?a:t.end,h(i,a,n)?{row:i.row,column:i.column}:h(l,i,!n)?{row:i.row+o,column:i.column+(i.row==l.row?r:0)}:{row:a.row,column:a.column});this.setPosition(c.row,c.column,!0)}},this.setPosition=function(e,t,i){var n;if(n=i?{row:e,column:t}:this.$clipPositionToDocument(e,t),this.row!=n.row||this.column!=n.column){var s={row:this.row,column:this.column};this.row=n.row,this.column=n.column,this._signal("change",{old:s,value:n})}},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var i={};return e>=this.document.getLength()?(i.row=Math.max(0,this.document.getLength()-1),i.column=this.document.getLine(i.row).length):i.column=e<0?i.row=0:(i.row=e,Math.min(this.document.getLine(i.row).length,Math.max(0,t))),t<0&&(i.column=0),i}}).call(o.prototype)}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,i){"use strict";var n=e("./lib/oop"),s=e("./apply_delta").applyDelta,o=e("./lib/event_emitter").EventEmitter,h=e("./range").Range,r=e("./anchor").Anchor,a=function(e){this.$lines=[""],0===e.length?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)};(function(){n.implement(this,o),this.setValue=function(e){var t=this.getLength()-1;this.remove(new h(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new r(this,e,t)},0==="aaa".split(/a/).length?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){this.$newLineMode!==e&&(this.$newLineMode=e,this._signal("changeNewLineMode"))},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return"\r\n"==e||"\r"==e||"\n"==e},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},this.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{(t=this.getLines(e.start.row,e.end.row))[0]=(t[0]||"").substring(e.start.column);var i=t.length-1;e.end.row-e.start.row==i&&(t[i]=t[i].substring(0,e.end.column))}return t},this.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},this.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},this.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},this.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},this.insertInLine=function(e,t){var i=this.clippedPos(e.row,e.column),n=this.pos(e.row,e.column+t.length);return this.applyDelta({start:i,end:n,action:"insert",lines:[t]},!0),this.clonePos(n)},this.clippedPos=function(e,t){var i=this.getLength();void 0===e?e=i:e<0?e=0:i<=e&&(e=i-1,t=void 0);var n=this.getLine(e);return null==t&&(t=n.length),{row:e,column:t=Math.min(Math.max(t,0),n.length)}},this.clonePos=function(e){return{row:e.row,column:e.column}},this.pos=function(e,t){return{row:e,column:t}},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},this.insertFullLines=function(e,t){var i=0;i=(e=Math.min(Math.max(e,0),this.getLength()))e+1&&(this.currentLine=e+1)):this.currentLine==e&&(this.currentLine=e+1),this.lines[e]=n.tokens}}).call(o.prototype),t.BackgroundTokenizer=o}),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,i){"use strict";var c=e("./lib/lang"),h=(e("./lib/oop"),e("./range").Range),n=function(e,t,i){this.setRegexp(e),this.clazz=t,this.type=i||"text"};(function(){this.MAX_RANGES=500,this.setRegexp=function(e){this.regExp+""!=e+""&&(this.regExp=e,this.cache=[])},this.update=function(e,t,i,n){if(this.regExp)for(var s=n.firstRow,o=n.lastRow,r=s;r<=o;r++){var a=this.cache[r];null==a&&((a=c.getMatchOffsets(i.getLine(r),this.regExp)).length>this.MAX_RANGES&&(a=a.slice(0,this.MAX_RANGES)),a=a.map(function(e){return new h(r,e.offset,r,e.offset+e.length)}),this.cache[r]=a.length?a:"");for(var l=a.length;l--;)t.drawSingleLineMarker(e,a[l].toScreenRange(i),this.clazz,n)}}}).call(n.prototype),t.SearchHighlight=n}),ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(e,t,i){"use strict";function c(e,t){this.foldData=e,Array.isArray(t)?this.folds=t:t=this.folds=[t];var i=t[t.length-1];this.range=new n(t[0].start.row,t[0].start.column,i.end.row,i.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(e){e.setFoldLine(this)},this)}var n=e("../range").Range;(function(){this.shiftRow=function(t){this.start.row+=t,this.end.row+=t,this.folds.forEach(function(e){e.start.row+=t,e.end.row+=t})},this.addFold=function(e){if(e.sameRow){if(e.start.rowthis.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(e),this.folds.sort(function(e,t){return-e.range.compareEnd(t.start.row,t.start.column)}),0=this.start.row&&e<=this.end.row},this.walk=function(e,t,i){var n,s,o=0,r=this.folds,a=!0;null==t&&(t=this.end.row,i=this.end.column);for(var l=0;lt||i[i.length-1].start.row=n)break}if("insert"==e.action)for(var l=s-n,c=-t.column+i.column;rn)break;if(h.start.row==n&&h.start.column>=t.column&&(h.start.column!=t.column||!this.$insertRight)&&(h.start.column+=c,h.start.row+=l),h.end.row==n&&h.end.column>=t.column){if(h.end.column==t.column&&this.$insertRight)continue;h.end.column==t.column&&0h.start.column&&h.end.column==o[r+1].start.column&&(h.end.column-=c),h.end.column+=c,h.end.row+=l}}else for(l=n-s,c=t.column-i.column;rs)break;h.end.rowt.column)&&(h.end.column=t.column,h.end.row=t.row):(h.end.column+=c,h.end.row+=l):h.end.row>s&&(h.end.row+=l),h.start.rowt.column)&&(h.start.column=t.column,h.start.row=t.row):(h.start.column+=c,h.start.row+=l):h.start.row>s&&(h.start.row+=l)}if(0!=l&&r=e)return s;if(s.end.row>e)return null}return null},this.getNextFoldLine=function(e,t){var i=this.$foldData,n=0;for(t&&(n=i.indexOf(t)),-1==n&&(n=0);n=e)return s}return null},this.getFoldedRowCount=function(e,t){for(var i=this.$foldData,n=t-e+1,s=0;sl)break}while(s&&r.test(s.type));s=n.stepBackward()}else s=n.getCurrentToken();return a.end.row=n.getCurrentTokenRow(),a.end.column=n.getCurrentTokenColumn()+s.value.length-2,a}},this.foldAll=function(e,t,i){null==i&&(i=1e5);var n=this.foldWidgets;if(n){t=t||this.getLength();for(var s=e=e||0;s=e){s=o.end.row;try{var r=this.addFold("...",o);r&&(r.collapseChildren=i)}catch(e){}}}}},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(e){if(!this.$foldStyles[e])throw new Error("invalid fold style: "+e+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle!=e){"manual"==(this.$foldStyle=e)&&this.unfold();var t=this.$foldMode;this.$setFolding(null),this.$setFolding(t)}},this.$setFolding=function(e){this.$foldMode!=e&&(this.$foldMode=e,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._signal("changeAnnotation"),e&&"manual"!=this.$foldStyle?(this.foldWidgets=[],this.getFoldWidget=e.getFoldWidget.bind(e,this,this.$foldStyle),this.getFoldWidgetRange=e.getFoldWidgetRange.bind(e,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.$tokenizerUpdateFoldWidgets=this.tokenizerUpdateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets),this.on("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets)):this.foldWidgets=null)},this.getParentFoldRangeData=function(e,t){var i=this.foldWidgets;if(!i||t&&i[e])return{};for(var n,s=e-1;0<=s;){var o=i[s];if(null==o&&(o=i[s]=this.getFoldWidget(s)),"start"==o){var r=this.getFoldWidgetRange(s);if(n||(n=r),r&&r.end.row>=e)break}s--}return{range:-1!==s&&r,firstRange:n}},this.onFoldWidgetClick=function(e,t){var i={children:(t=t.domEvent).shiftKey,all:t.ctrlKey||t.metaKey,siblings:t.altKey};if(!this.$toggleFoldWidget(e,i)){var n=t.target||t.srcElement;n&&/ace_fold-widget/.test(n.className)&&(n.className+=" ace_invalid")}},this.$toggleFoldWidget=function(e,t){if(this.getFoldWidget){var i=this.getFoldWidget(e),n=this.getLine(e),s="end"===i?-1:1,o=this.getFoldAt(e,-1===s?0:n.length,s);if(o)return t.children||t.all?this.removeFold(o):this.expandFold(o),o;var r=this.getFoldWidgetRange(e,!0);if(r&&!r.isMultiLine()&&(o=this.getFoldAt(r.start.row,r.start.column,1))&&r.isEqual(o.range))return this.removeFold(o),o;if(t.siblings){var a=this.getParentFoldRangeData(e);if(a.range)var l=a.range.start.row+1,c=a.range.end.row;this.foldAll(l,c,t.all?1e4:0)}else t.children?(c=r?r.end.row:this.getLength(),this.foldAll(e+1,c,t.all?1e4:0)):r&&(t.all&&(r.collapseChildren=1e4),this.addFold("...",r));return r}},this.toggleFoldWidget=function(e){var t=this.selection.getCursor().row;t=this.getRowFoldStart(t);var i=this.$toggleFoldWidget(t,{});if(!i){var n=this.getParentFoldRangeData(t,!0);if(i=n.range||n.firstRange){t=i.start.row;var s=this.getFoldAt(t,this.getLine(t).length,1);s?this.removeFold(s):this.addFold("...",i)}}},this.updateFoldWidgets=function(e){var t=e.start.row,i=e.end.row-t;if(0===i)this.foldWidgets[t]=null;else if("remove"==e.action)this.foldWidgets.splice(t,i+1,null);else{var n=Array(i+1);n.unshift(t,1),this.foldWidgets.splice.apply(this.foldWidgets,n)}},this.tokenizerUpdateFoldWidgets=function(e){var t=e.data;t.first!=t.last&&this.foldWidgets.length>t.first&&this.foldWidgets.splice(t.first,this.foldWidgets.length)}}}),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(e,t,i){"use strict";var u=e("../token_iterator").TokenIterator,a=e("../range").Range;t.BracketMatch=function(){this.findMatchingBracket=function(e,t){if(0==e.column)return null;var i=t||this.getLine(e.row).charAt(e.column-1);if(""==i)return null;var n=i.match(/([\(\[\{])|([\)\]\}])/);return n?n[1]?this.$findClosingBracket(n[1],e):this.$findOpeningBracket(n[2],e):null},this.getBracketRange=function(e){var t,i=this.getLine(e.row),n=!0,s=i.charAt(e.column-1),o=s&&s.match(/([\(\[\{])|([\)\]\}])/);if(o||(s=i.charAt(e.column),e={row:e.row,column:e.column+1},o=s&&s.match(/([\(\[\{])|([\)\]\}])/),n=!1),!o)return null;if(o[1]){if(!(r=this.$findClosingBracket(o[1],e)))return null;t=a.fromPoints(e,r),n||(t.end.column++,t.start.column--),t.cursor=t.end}else{var r;if(!(r=this.$findOpeningBracket(o[2],e)))return null;t=a.fromPoints(r,e),n||(t.start.column++,t.end.column--),t.cursor=t.start}return t},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{","<":">",">":"<"},this.$findOpeningBracket=function(e,t,i){var n=this.$brackets[e],s=1,o=new u(this,t.row,t.column),r=o.getCurrentToken();if(r||(r=o.stepForward()),r){i||(i=new RegExp("(\\.?"+r.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)")+")+"));for(var a=t.column-o.getCurrentTokenColumn()-2,l=r.value;;){for(;0<=a;){var c=l.charAt(a);if(c==n){if(0==(s-=1))return{row:o.getCurrentTokenRow(),column:a+o.getCurrentTokenColumn()}}else c==e&&(s+=1);a-=1}for(;(r=o.stepBackward())&&!i.test(r.type););if(null==r)break;a=(l=r.value).length-1}return null}},this.$findClosingBracket=function(e,t,i){var n=this.$brackets[e],s=1,o=new u(this,t.row,t.column),r=o.getCurrentToken();if(r||(r=o.stepForward()),r){i||(i=new RegExp("(\\.?"+r.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)")+")+"));for(var a=t.column-o.getCurrentTokenColumn();;){for(var l=r.value,c=l.length;a>1,o=e[s];if(ot&&(t=e.screenWidth)}),this.lineWidgetWidth=t},this.$computeWidth=function(e){if(this.$modified||e){if(this.$modified=!1,this.$useWrapMode)return this.screenWidth=this.$wrapLimit;for(var t=this.doc.getAllLines(),i=this.$rowLengthCache,n=0,s=0,o=this.$foldData[s],r=o?o.start.row:1/0,a=t.length,l=0;ln&&(n=i[l])}this.screenWidth=n}},this.getLine=function(e){return this.doc.getLine(e)},this.getLines=function(e,t){return this.doc.getLines(e,t)},this.getLength=function(){return this.doc.getLength()},this.getTextRange=function(e){return this.doc.getTextRange(e||this.selection.getRange())},this.insert=function(e,t){return this.doc.insert(e,t)},this.remove=function(e){return this.doc.remove(e)},this.removeFullLines=function(e,t){return this.doc.removeFullLines(e,t)},this.undoChanges=function(e,t){if(e.length){this.$fromUndo=!0;for(var i=e.length-1;-1!=i;i--){var n=e[i];"insert"==n.action||"remove"==n.action?this.doc.revertDelta(n):n.folds&&this.addFolds(n.folds)}!t&&this.$undoSelect&&(e.selectionBefore?this.selection.fromJSON(e.selectionBefore):this.selection.setRange(this.$getUndoSelection(e,!0))),this.$fromUndo=!1}},this.redoChanges=function(e,t){if(e.length){this.$fromUndo=!0;for(var i=0;ie.end.column&&(o.start.column+=c),o.end.row==e.end.row&&o.end.column>e.end.column&&(o.end.column+=c)),r&&o.start.row>=e.end.row&&(o.start.row+=r,o.end.row+=r)}if(o.end=this.insert(o.start,n),s.length){var a=e.start,l=o.start,c=(r=l.row-a.row,l.column-a.column);this.addFolds(s.map(function(e){return(e=e.clone()).start.row==a.row&&(e.start.column+=c),e.end.row==a.row&&(e.end.column+=c),e.start.row+=r,e.end.row+=r,e}))}return o},this.indentRows=function(e,t,i){i=i.replace(/\t/g,this.getTabString());for(var n=e;n<=t;n++)this.doc.insertInLine({row:n,column:0},i)},this.outdentRows=function(e){for(var t=e.collapseRows(),i=new h(0,0,0,0),n=this.getTabSize(),s=t.start.row;s<=t.end.row;++s){var o=this.getLine(s);i.start.row=s,i.end.row=s;for(var r=0;rthis.doc.getLength()-1)return 0;n=s-t}else{e=this.$clipRowToDocument(e);n=(t=this.$clipRowToDocument(t))-e+1}var o=new h(e,0,t,Number.MAX_VALUE),r=this.getFoldsInRange(o).map(function(e){return(e=e.clone()).start.row+=n,e.end.row+=n,e}),a=0==i?this.doc.getLines(e,t):this.doc.removeFullLines(e,t);return this.doc.insertFullLines(e+n,a),r.length&&this.addFolds(r),n},this.moveLinesUp=function(e,t){return this.$moveLines(e,t,-1)},this.moveLinesDown=function(e,t){return this.$moveLines(e,t,1)},this.duplicateLines=function(e,t){return this.$moveLines(e,t,0)},this.$clipRowToDocument=function(e){return Math.max(0,Math.min(e,this.doc.getLength()-1))},this.$clipColumnToRow=function(e,t){return t<0?0:Math.min(this.doc.getLine(e).length,t)},this.$clipPositionToDocument=function(e,t){if(t=Math.max(0,t),e<0)t=e=0;else{var i=this.doc.getLength();t=i<=e?(e=i-1,this.doc.getLine(i-1).length):Math.min(this.doc.getLine(e).length,t)}return{row:e,column:t}},this.$clipRangeToDocument=function(e){e.start.row<0?(e.start.row=0,e.start.column=0):e.start.column=this.$clipColumnToRow(e.start.row,e.start.column);var t=this.doc.getLength()-1;return e.end.row>t?(e.end.row=t,e.end.column=this.doc.getLine(t).length):e.end.column=this.$clipColumnToRow(e.end.row,e.end.column),e},this.$wrapLimit=80,this.$useWrapMode=!1,this.$wrapLimitRange={min:null,max:null},this.setUseWrapMode=function(e){if(e!=this.$useWrapMode){if(this.$useWrapMode=e,this.$modified=!0,this.$resetRowCache(0),e){var t=this.getLength();this.$wrapData=Array(t),this.$updateWrapData(0,t-1)}this._signal("changeWrapMode")}},this.getUseWrapMode=function(){return this.$useWrapMode},this.setWrapLimitRange=function(e,t){this.$wrapLimitRange.min===e&&this.$wrapLimitRange.max===t||(this.$wrapLimitRange={min:e,max:t},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode"))},this.adjustWrapLimit=function(e,t){var i=this.$wrapLimitRange;i.max<0&&(i={min:t,max:t});var n=this.$constrainWrapLimit(e,i.min,i.max);return n!=this.$wrapLimit&&1=s.row&&m.shiftRow(-a)}r=o}else{var d=Array(a);d.unshift(o,0);var g=t?this.$wrapData:this.$rowLengthCache;g.splice.apply(g,d);c=this.$foldData,h=0;if(m=this.getFoldLine(o)){var f=m.range.compareInside(n.row,n.column);0==f?(m=m.split(n.row,n.column))&&(m.shiftRow(a),m.addRemoveChars(r,0,s.column-n.column)):-1==f&&(m.addRemoveChars(o,0,s.column-n.column),m.shiftRow(a)),h=c.indexOf(m)+1}for(;h=o&&m.shiftRow(a)}}else a=Math.abs(e.start.column-e.end.column),"remove"===i&&(l=this.getFoldsInRange(e),this.removeFolds(l),a=-a),(m=this.getFoldLine(o))&&m.addRemoveChars(o,n.column,a);return t&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,t?this.$updateWrapData(o,r):this.$updateRowLengthCache(o,r),l},this.$updateRowLengthCache=function(e,t,i){this.$rowLengthCache[e]=null,this.$rowLengthCache[t]=null},this.$updateWrapData=function(e,t){var r,i,a=this.doc.getAllLines(),n=this.getTabSize(),s=this.$wrapData,o=this.$wrapLimit,l=e;for(t=Math.min(t,a.length-1);l<=t;)(i=this.getFoldLine(l,i))?(r=[],i.walk(function(e,t,i,n){var s;if(null!=e){(s=this.$getDisplayTokens(e,r.length))[0]=f;for(var o=1;o>2)),a-1);gc[u-1]}else d=!u;for(var g=this.getLength()-1,f=this.getNextFoldLine(o),m=f?f.start.row:1/0;a<=e&&!(el[h-1]}else u=!h;for(var d=this.getNextFoldLine(a),g=d?d.start.row:1/0;a=p[v];)s++,v++;f=f.substring(p[v-1]||0,f.length),m=0g||(s.push(r=new $(c,g,c+a-1,f)),2b&&s[h].end.row==i.end.row;)h--;for(s=s.slice(m,h+1),m=0,h=s.length;m=s.length)break;u.lastIndex=r+=1}if(n.index+a>t)break;o.push(n.index,a)}for(var l=o.length-1;0<=l;l-=2){var c=o[l-1];if(i(e,c,e,c+(a=o[l])))return!0}};else a=function(e,t,i){var n,s,o=h.getLine(e);for(u.lastIndex=t;s=u.exec(o);){var r=s[0].length;if(i(e,n=s.index,e,n+r))return!0;if(!r&&(u.lastIndex=n+=1,n>=o.length))return!1}};return{forEach:r}}}).call(s.prototype),t.Search=s}),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,i){"use strict";function n(e,t){this.platform=t||(o.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(e),this.$singleCommand=!0}function s(e,t){n.call(this,e,t),this.$singleCommand=!1}var a=e("../lib/keys"),o=e("../lib/useragent"),l=a.KEY_MODS;s.prototype=n.prototype,function(){function r(e){return"object"==typeof e&&e.bindKey&&e.bindKey.position||(e.isDefault?-100:0)}this.addCommand=function(e){this.commands[e.name]&&this.removeCommand(e),(this.commands[e.name]=e).bindKey&&this._buildKeyHash(e)},this.removeCommand=function(e,t){var i=e&&("string"==typeof e?e:e.name);e=this.commands[i],t||delete this.commands[i];var n=this.commandKeyBinding;for(var s in n){var o=n[s];if(o==e)delete n[s];else if(Array.isArray(o)){var r=o.indexOf(e);-1!=r&&(o.splice(r,1),1==o.length&&(n[s]=o[0]))}}},this.bindKey=function(e,o,r){if("object"==typeof e&&e&&(null==r&&(r=e.position),e=e[this.platform]),e)return"function"==typeof o?this.addCommand({exec:o,bindKey:e,name:o.name||e}):void e.split("|").forEach(function(e){var n="";if(-1!=e.indexOf(" ")){var t=e.split(/\s+/);e=t.pop(),t.forEach(function(e){var t=this.parseKeys(e),i=l[t.hashId]+t.key;n+=(n?" ":"")+i,this._addCommandToBinding(n,"chainKeys")},this),n+=" "}var i=this.parseKeys(e),s=l[i.hashId]+i.key;this._addCommandToBinding(n+s,o,r)},this)},this._addCommandToBinding=function(e,t,i){var n,s=this.commandKeyBinding;if(t)if(!s[e]||this.$singleCommand)s[e]=t;else{Array.isArray(s[e])?-1!=(n=s[e].indexOf(t))&&s[e].splice(n,1):s[e]=[s[e]],"number"!=typeof i&&(i=r(t));var o=s[e];for(n=0;ns?s+1:s,e.selection.moveCursorTo(i.row,s))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",bindKey:n(null,null),exec:function(e){var t=e.session.doc.getLength()-1,i=e.session.doc.getLine(t).length,n=e.selection.rangeList.ranges,s=[];n.length<1&&(n=[e.selection.getRange()]);for(var o=0;o=s.lastRow||n.end.row<=s.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead)}"animate"==i&&this.renderer.animateScrolling(this.curOp.scrollTop)}var o=this.selection.toJSON();this.curOp.selectionAfter=o,this.$lastSel=this.selection.toJSON(),this.session.getUndoManager().addSelection(o),this.prevOp=this.curOp,this.curOp=null}},this.$mergeableCommands=["backspace","del","insertstring"],this.$historyTracker=function(e){if(this.$mergeUndoDeltas){var t=this.prevOp,i=this.$mergeableCommands,n=t.command&&e.command.name==t.command.name;if("insertstring"==e.command.name){var s=e.args;void 0===this.mergeNextCommand&&(this.mergeNextCommand=!0),n=n&&this.mergeNextCommand&&(!/\s/.test(s)||/\s/.test(t.args)),this.mergeNextCommand=!0}else n=n&&-1!==i.indexOf(e.command.name);"always"!=this.$mergeUndoDeltas&&2e3o.length||s.length<2||!s[1])return this.commands.exec("insertstring",this,t);for(var r=o.length;r--;){var a=o[r];a.isEmpty()||n.remove(a),n.insert(a.start,s[r])}}},this.execCommand=function(e,t){return this.commands.exec(e,this,t)},this.insert=function(e,t){var i=this.session,n=i.getMode(),s=this.getCursorPosition();if(this.getBehavioursEnabled()&&!t){var o=n.transformAction(i.getState(s.row),"insertion",this,i,e);o&&(e!==o.text&&(this.inVirtualSelectionMode||(this.session.mergeUndoDeltas=!1,this.mergeNextCommand=!1)),e=o.text)}if("\t"==e&&(e=this.session.getTabString()),this.selection.isEmpty()){if(this.session.getOverwrite()&&-1==e.indexOf("\n")){(r=new m.fromPoints(s,s)).end.column+=e.length,this.session.remove(r)}}else{var r=this.getSelectionRange();s=this.session.remove(r),this.clearSelection()}if("\n"==e||"\r\n"==e){var a=i.getLine(s.row);if(s.column>a.search(/\S|$/)){var l=a.substr(s.column).search(/\S|$/);i.doc.removeInLine(s.row,s.column,s.column+l)}}this.clearSelection();var c=s.column,h=i.getState(s.row),u=(a=i.getLine(s.row),n.checkOutdent(h,a,e));i.insert(s,e);if(o&&o.selection&&(2==o.selection.length?this.selection.setSelectionRange(new m(s.row,c+o.selection[0],s.row,c+o.selection[1])):this.selection.setSelectionRange(new m(s.row+o.selection[0],o.selection[1],s.row+o.selection[2],o.selection[3]))),i.getDocument().isNewLine(e)){var d=n.getNextLineIndent(h,a.slice(0,s.column),i.getTabString());i.insert({row:s.row+1,column:0},d)}u&&n.autoOutdent(h,i,s.row)},this.onTextInput=function(e,t){if(!t)return this.keyBinding.onTextInput(e);this.startOperation({command:{name:"insertstring"}});var i=this.applyComposition.bind(this,e,t);this.selection.rangeCount?this.forEachSelection(i):i(),this.endOperation()},this.applyComposition=function(e,t){var i;(t.extendLeft||t.extendRight)&&((i=this.selection.getRange()).start.column-=t.extendLeft,i.end.column+=t.extendRight,this.selection.setRange(i),!e&&!i.isEmpty()&&this.remove());((e||!this.selection.isEmpty())&&this.insert(e,!0),t.restoreStart||t.restoreEnd)&&((i=this.selection.getRange()).start.column-=t.restoreStart,i.end.column-=t.restoreEnd,this.selection.setRange(i))},this.onCommandKey=function(e,t,i){this.keyBinding.onCommandKey(e,t,i)},this.setOverwrite=function(e){this.session.setOverwrite(e)},this.getOverwrite=function(){return this.session.getOverwrite()},this.toggleOverwrite=function(){this.session.toggleOverwrite()},this.setScrollSpeed=function(e){this.setOption("scrollSpeed",e)},this.getScrollSpeed=function(){return this.getOption("scrollSpeed")},this.setDragDelay=function(e){this.setOption("dragDelay",e)},this.getDragDelay=function(){return this.getOption("dragDelay")},this.setSelectionStyle=function(e){this.setOption("selectionStyle",e)},this.getSelectionStyle=function(){return this.getOption("selectionStyle")},this.setHighlightActiveLine=function(e){this.setOption("highlightActiveLine",e)},this.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.setHighlightSelectedWord=function(e){this.setOption("highlightSelectedWord",e)},this.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},this.setAnimatedScroll=function(e){this.renderer.setAnimatedScroll(e)},this.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},this.setShowInvisibles=function(e){this.renderer.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},this.setDisplayIndentGuides=function(e){this.renderer.setDisplayIndentGuides(e)},this.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},this.setShowPrintMargin=function(e){this.renderer.setShowPrintMargin(e)},this.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},this.setPrintMarginColumn=function(e){this.renderer.setPrintMarginColumn(e)},this.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},this.setReadOnly=function(e){this.setOption("readOnly",e)},this.getReadOnly=function(){return this.getOption("readOnly")},this.setBehavioursEnabled=function(e){this.setOption("behavioursEnabled",e)},this.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},this.setWrapBehavioursEnabled=function(e){this.setOption("wrapBehavioursEnabled",e)},this.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},this.setShowFoldWidgets=function(e){this.setOption("showFoldWidgets",e)},this.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.remove=function(e){this.selection.isEmpty()&&("left"==e?this.selection.selectLeft():this.selection.selectRight());var t=this.getSelectionRange();if(this.getBehavioursEnabled()){var i=this.session,n=i.getState(t.start.row),s=i.getMode().transformAction(n,"deletion",this,i,t);if(0===t.end.column){var o=i.getTextRange(t);if("\n"==o[o.length-1]){var r=i.getLine(t.end.row);/^\s+$/.test(r)&&(t.end.column=r.length)}}s&&(t=s)}this.session.remove(t),this.clearSelection()},this.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.selection.isEmpty()&&this.selection.selectLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var e=this.getSelectionRange();e.start.column==e.end.column&&e.start.row==e.end.row&&(e.end.column=0,e.end.row++),this.session.remove(e),this.clearSelection()},this.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var e=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(e)},this.transposeLetters=function(){if(this.selection.isEmpty()){var e=this.getCursorPosition(),t=e.column;if(0!==t){var i,n,s=this.session.getLine(e.row);n=tt.toLowerCase()?1:0});var s=new m(0,0,0,0);for(n=e.first;n<=e.last;n++){var o=t.getLine(n);s.start.row=n,s.end.row=n,s.end.column=o.length,t.replace(s,i[n-e.first])}},this.toggleCommentLines=function(){var e=this.session.getState(this.getCursorPosition().row),t=this.$getSelectedRows();this.session.getMode().toggleCommentLines(e,this.session,t.first,t.last)},this.toggleBlockComment=function(){var e=this.getCursorPosition(),t=this.session.getState(e.row),i=this.getSelectionRange();this.session.getMode().toggleBlockComment(t,this.session,i,e)},this.getNumberAt=function(e,t){var i=/[\-]?[0-9]+(?:\.[0-9]+)?/g;i.lastIndex=0;for(var n=this.session.getLine(e);i.lastIndex=t)return{value:s[0],start:s.index,end:s.index+s[0].length}}return null},this.modifyNumber=function(e){var t=this.selection.getCursor().row,i=this.selection.getCursor().column,n=new m(t,i-1,t,i),s=this.session.getTextRange(n);if(!isNaN(parseFloat(s))&&isFinite(s)){var o=this.getNumberAt(t,i);if(o){var r=0<=o.value.indexOf(".")?o.start+o.value.indexOf(".")+1:o.end,a=o.start+o.value.length-r,l=parseFloat(o.value);l*=Math.pow(10,a),r!==o.end&&ig+1)break;g=f.last}for(h--,a=this.session.$moveLines(d,g,t?0:e),t&&-1==e&&(u=h+1);u<=h;)r[u].moveBy(a,0),u++;t||(a=0),l+=a}s.fromOrientedRange(s.ranges[0]),s.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},this.$getSelectedRows=function(e){return e=(e||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(e.start.row),last:this.session.getRowFoldEnd(e.end.row)}},this.onCompositionStart=function(e){this.renderer.showComposition(e)},this.onCompositionUpdate=function(e){this.renderer.setCompositionText(e)},this.onCompositionEnd=function(){this.renderer.hideComposition()},this.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},this.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},this.isRowVisible=function(e){return e>=this.getFirstVisibleRow()&&e<=this.getLastVisibleRow()},this.isRowFullyVisible=function(e){return e>=this.renderer.getFirstFullyVisibleRow()&&e<=this.renderer.getLastFullyVisibleRow()},this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},this.$moveByPage=function(e,t){var i=this.renderer,n=this.renderer.layerConfig,s=e*Math.floor(n.height/n.lineHeight);!0===t?this.selection.$moveSelection(function(){this.moveCursorBy(s,0)}):!1===t&&(this.selection.moveCursorBy(s,0),this.selection.clearSelection());var o=i.scrollTop;i.scrollBy(0,s*n.lineHeight),null!=t&&i.scrollCursorIntoView(null,.5),i.animateScrolling(o)},this.selectPageDown=function(){this.$moveByPage(1,!0)},this.selectPageUp=function(){this.$moveByPage(-1,!0)},this.gotoPageDown=function(){this.$moveByPage(1,!1)},this.gotoPageUp=function(){this.$moveByPage(-1,!1)},this.scrollPageDown=function(){this.$moveByPage(1)},this.scrollPageUp=function(){this.$moveByPage(-1)},this.scrollToRow=function(e){this.renderer.scrollToRow(e)},this.scrollToLine=function(e,t,i,n){this.renderer.scrollToLine(e,t,i,n)},this.centerSelection=function(){var e=this.getSelectionRange(),t={row:Math.floor(e.start.row+(e.end.row-e.start.row)/2),column:Math.floor(e.start.column+(e.end.column-e.start.column)/2)};this.renderer.alignCursor(t,.5)},this.getCursorPosition=function(){return this.selection.getCursor()},this.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},this.getSelectionRange=function(){return this.selection.getRange()},this.selectAll=function(){this.selection.selectAll()},this.clearSelection=function(){this.selection.clearSelection()},this.moveCursorTo=function(e,t){this.selection.moveCursorTo(e,t)},this.moveCursorToPosition=function(e){this.selection.moveCursorToPosition(e)},this.jumpToMatching=function(e,t){var i=this.getCursorPosition(),n=new w(this.session,i.row,i.column),s=n.getCurrentToken(),o=s||n.stepForward();if(o){var r,a,l=!1,c={},h=i.column-o.start,u={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(o.value.match(/[{}()\[\]]/g)){for(;hwindow.innerHeight)&&null)&&(a.style.top=n+"px",a.style.left=t.left+"px",a.style.height=i.lineHeight+"px",a.scrollIntoView(r)),r=s=null}});this.setAutoScrollEditorIntoView=function(e){e||(delete this.setAutoScrollEditorIntoView,this.off("changeSelection",t),this.renderer.off("afterRender",n),this.renderer.off("beforeRender",i))}}},this.$resetCursorStyle=function(){var e=this.$cursorStyle||"ace",t=this.renderer.$cursorLayer;t&&(t.setSmoothBlinking(/smooth/.test(e)),t.isBlinking=!this.$readOnly&&"wide"!=e,n.setCssClass(t.element,"ace_slim-cursors",/slim/.test(e)))}}.call(y.prototype),v.defineOptions(y.prototype,"editor",{selectionStyle:{set:function(e){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:e})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(e){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(e){this.textInput.setReadOnly(e),this.$resetCursorStyle()},initialValue:!1},copyWithEmptySelection:{set:function(e){this.textInput.setCopyWithEmptySelection(e)},initialValue:!1},cursorStyle:{set:function(e){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},autoScrollEditorIntoView:{set:function(e){this.setAutoScrollEditorIntoView(e)}},keyboardHandler:{set:function(e){this.setKeyboardHandler(e)},get:function(){return this.$keybindingId},handlesSet:!0},value:{set:function(e){this.session.setValue(e)},get:function(){return this.getValue()},handlesSet:!0,hidden:!0},session:{set:function(e){this.setSession(e)},get:function(){return this.session},handlesSet:!0,hidden:!0},showLineNumbers:{set:function(e){this.renderer.$gutterLayer.setShowLineNumbers(e),this.renderer.$loop.schedule(this.renderer.CHANGE_GUTTER),e&&this.$relativeLineNumbers?$.attach(this):$.detach(this)},initialValue:!0},relativeLineNumbers:{set:function(e){this.$showLineNumbers&&e?$.attach(this):$.detach(this)}},hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",displayIndentGuides:"renderer",showGutter:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",hasCssTransforms:"renderer",maxPixelHeight:"renderer",useTextareaForIME:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimeout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",navigateWithinSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"});var $={getText:function(e,t){return(Math.abs(e.selection.lead.row-t)||t+1+(t<9?"·":""))+""},getWidth:function(e,t,i){return Math.max(t.toString().length,(i.lastRow+1).toString().length,2)*i.characterWidth},update:function(e,t){t.renderer.$loop.schedule(t.renderer.CHANGE_GUTTER)},attach:function(e){e.renderer.$gutterLayer.$renderer=this,e.on("changeSelection",this.update),this.update(null,e)},detach:function(e){e.renderer.$gutterLayer.$renderer==this&&(e.renderer.$gutterLayer.$renderer=null),e.off("changeSelection",this.update),this.update(null,e)}};t.Editor=y}),ace.define("ace/undomanager",["require","exports","module","ace/range"],function(e,t,i){"use strict";function a(e){return{row:e.row,column:e.column}}function n(e){if(e=e||this,Array.isArray(e))return e.map(n).join("\n");var t="";return e.action?(t="insert"==e.action?"+":"-",t+="["+e.lines+"]"):e.value&&(t=Array.isArray(e.value)?e.value.map(s).join("\n"):s(e.value)),e.start&&(t+=s(e)),(e.id||e.rev)&&(t+="\t("+(e.id||e.rev)+")"),t}function s(e){return e.start.row+":"+e.start.column+"=>"+e.end.row+":"+e.end.column}function o(e,t){var i="insert"==e.action,n="insert"==t.action;if(i&&n)if(0<=m(t.start,e.end))c(t,e,-1);else{if(!(m(t.start,e.start)<=0))return null;c(e,t,1)}else if(i&&!n)if(0<=m(t.start,e.end))c(t,e,-1);else{if(!(m(t.end,e.start)<=0))return null;c(e,t,-1)}else if(!i&&n)if(0<=m(t.start,e.start))c(t,e,1);else{if(!(m(t.start,e.start)<=0))return null;c(e,t,1)}else if(!i&&!n)if(0<=m(t.start,e.start))c(t,e,1);else{if(!(m(t.end,e.start)<=0))return null;c(e,t,-1)}return[t,e]}function r(e,t){for(var i=e.length;i--;)for(var n=0;na+1;)this.$lines.pop();break}(r=this.$lines.get(++a))?r.row=l:(r=this.$lines.createCell(l,e,this.session,c),this.$lines.push(r)),this.$renderCell(r,e,s,l),l++}this._signal("afterRender"),this.$updateGutterWidth(e)},this.$updateGutterWidth=function(e){var t=this.session,i=t.gutterRenderer||this.$renderer,n=t.$firstLineNumber,s=this.$lines.last()?this.$lines.last().text:"";(this.$fixedWidth||t.$useWrapMode)&&(s=t.getLength()+n-1);var o=i?i.getWidth(t,s,e):s.toString().length*e.characterWidth,r=this.$padding||this.$computePadding();(o+=r.left+r.right)!==this.gutterWidth&&!isNaN(o)&&(this.gutterWidth=o,this.element.parentNode.style.width=this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._signal("changeGutterWidth",o))},this.$updateCursorRow=function(){if(this.$highlightGutterLine){var e=this.session.selection.getCursor();this.$cursorRow!==e.row&&(this.$cursorRow=e.row)}},this.updateLineHighlight=function(){if(this.$highlightGutterLine){var e=this.session.selection.cursor.row;if(this.$cursorRow=e,!this.$cursorCell||this.$cursorCell.row!=e){this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ",""));var t=this.$lines.cells;this.$cursorCell=null;for(var i=0;i=this.$cursorRow){if(n.row>this.$cursorRow){var s=this.session.getFoldLine(this.$cursorRow);if(!(0i.right-t.right?"foldWidgets":void 0}}).call(r.prototype),t.Gutter=r}),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(e,t,i){"use strict";var g=e("../range").Range,n=e("../lib/dom"),s=function(e){this.element=n.createElement("div"),this.element.className="ace_layer ace_marker-layer",e.appendChild(this.element)};(function(){this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setMarkers=function(e){this.markers=e},this.elt=function(e,t){var i=-1!=this.i&&this.element.childNodes[this.i];i?this.i++:(i=document.createElement("div"),this.element.appendChild(i),this.i=-1),i.style.cssText=t,i.className=e},this.update=function(e){if(e){var t;for(var i in this.config=e,this.i=0,this.markers){var n=this.markers[i];if(n.range){var s=n.range.clipRows(e.firstRow,e.lastRow);if(!s.isEmpty())if(s=s.toScreenRange(this.session),n.renderer){var o=this.$getTop(s.start.row,e),r=this.$padding+s.start.column*e.characterWidth;n.renderer(t,s,r,o,e)}else"fullLine"==n.type?this.drawFullLineMarker(t,s,n.clazz,e):"screenLine"==n.type?this.drawScreenLineMarker(t,s,n.clazz,e):s.isMultiLine()?"text"==n.type?this.drawTextMarker(t,s,n.clazz,e):this.drawMultiLineMarker(t,s,n.clazz,e):this.drawSingleLineMarker(t,s,n.clazz+" ace_start ace_br15",e)}else n.update(t,this,this.session,e)}if(-1!=this.i)for(;this.ie.lastRow)for(s=this.session.getFoldedRowCount(e.lastRow+1,t.lastRow);0t.lastRow&&this.$lines.push(this.$renderLinesFragment(e,t.lastRow+1,e.lastRow))},this.$renderLinesFragment=function(e,t,i){for(var n=[],s=t,o=this.session.getNextFoldLine(s),r=o?o.start.row:1/0;r=o;)r=this.$renderToken(a,r,c,h.substring(0,o-n)),h=h.substring(o-n),n=o,a=this.$createLineElement(),e.appendChild(a),a.appendChild(this.dom.createTextNode(b.stringRepeat(" ",i.indent),this.element)),r=0,o=i[++s]||Number.MAX_VALUE;0!=h.length&&(n+=h.length,r=this.$renderToken(a,r,c,h))}}},this.$renderSimpleLine=function(e,t){var i=0,n=t[0],s=n.value;this.displayIndentGuides&&(s=this.renderIndentGuide(e,s)),s&&(i=this.$renderToken(e,i,n,s));for(var o=1;othis.MAX_LINE_LENGTH)return this.$renderOverflowMessage(e,i,n,s);i=this.$renderToken(e,i,n,s)}},this.$renderOverflowMessage=function(e,t,i,n){this.$renderToken(e,t,i,n.slice(0,this.MAX_LINE_LENGTH-t));var s=this.dom.createElement("span");s.className="ace_inline_button ace_keyword ace_toggle_wrap",s.style.position="absolute",s.style.right="0",s.textContent="",e.appendChild(s)},this.$renderLine=function(e,t,i){if(!i&&0!=i&&(i=this.session.getFoldLine(t)),i)var n=this.$getFoldLineTokens(t,i);else n=this.session.getTokens(t);var s=e;if(n.length){var o=this.session.getRowSplitData(t);if(o&&o.length){this.$renderWrappedLine(e,n,o);s=e.lastChild}else{s=e;this.$useLineGroups()&&(s=this.$createLineElement(),e.appendChild(s)),this.$renderSimpleLine(s,n)}}else this.$useLineGroups()&&(s=this.$createLineElement(),e.appendChild(s));if(this.showInvisibles&&s){i&&(t=i.end.row);var r=this.dom.createElement("span");r.className="ace_invisible ace_invisible_eol",r.textContent=t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,s.appendChild(r)}},this.$getFoldLineTokens=function(e,t){var o=this.session,r=[],a=o.getTokens(e);return t.walk(function(e,t,i,n,s){null!=e?r.push({type:"fold",value:e}):(s&&(a=o.getTokens(t)),a.length&&function(e,t,i){for(var n=0,s=0;s+e[n].value.lengthi-t&&(o=o.substring(0,i-t)),r.push({type:e[n].type,value:o}),s=t+o.length,n+=1);si?r.push({type:e[n].type,value:o.substring(0,i-s)}):r.push(e[n]),s+=o.length,n+=1}}(a,n,i))},t.end.row,this.session.getLine(t.end.row).length),r},this.$useLineGroups=function(){return this.session.getUseWrapMode()},this.destroy=function(){}}).call(r.prototype),t.Text=r}),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(e,t,i){"use strict";var c=e("../lib/dom"),n=function(e){this.element=c.createElement("div"),this.element.className="ace_layer ace_cursor-layer",e.appendChild(this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),c.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateOpacity.bind(this)};(function(){this.$updateOpacity=function(e){for(var t=this.cursors,i=t.length;i--;)c.setStyle(t[i].style,"opacity",e?"":"0")},this.$startCssAnimation=function(){for(var e=this.cursors,t=e.length;t--;)e[t].style.animationDuration=this.blinkInterval+"ms";setTimeout(function(){c.addCssClass(this.element,"ace_animate-blinking")}.bind(this))},this.$stopCssAnimation=function(){c.removeCssClass(this.element,"ace_animate-blinking")},this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setBlinking=function(e){e!=this.isBlinking&&(this.isBlinking=e,this.restartTimer())},this.setBlinkInterval=function(e){e!=this.blinkInterval&&(this.blinkInterval=e,this.restartTimer())},this.setSmoothBlinking=function(e){e!=this.smoothBlinking&&(this.smoothBlinking=e,c.setCssClass(this.element,"ace_smooth-blinking",e),this.$updateCursors(!0),this.restartTimer())},this.addCursor=function(){var e=c.createElement("div");return e.className="ace_cursor",this.element.appendChild(e),this.cursors.push(e),e},this.removeCursor=function(){if(1e.height+e.offset||o.top<0)&&1n;)this.removeCursor();var l=this.session.getOverwrite();this.$setOverwrite(l),this.$pixelPos=o,this.restartTimer()},this.drawCursor=null,this.$setOverwrite=function(e){e!=this.overwrite&&((this.overwrite=e)?c.addCssClass(this.element,"ace_overwrite-cursors"):c.removeCssClass(this.element,"ace_overwrite-cursors"))},this.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)}}).call(n.prototype),t.Cursor=n}),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(e,t,i){"use strict";var n=e("./lib/oop"),s=e("./lib/dom"),o=e("./lib/event"),r=e("./lib/event_emitter").EventEmitter,a=function(e){this.element=s.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+this.classSuffix,this.inner=s.createElement("div"),this.inner.className="ace_scrollbar-inner",this.element.appendChild(this.inner),e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,o.addListener(this.element,"scroll",this.onScroll.bind(this)),o.addListener(this.element,"mousedown",o.preventDefault)};(function(){n.implement(this,r),this.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e,this.coeff=1}}).call(a.prototype);var l=function(e,t){a.call(this,e),this.scrollTop=0,this.scrollHeight=0,t.$scrollbarWidth=this.width=s.scrollbarWidth(e.ownerDocument),this.inner.style.width=this.element.style.width=(this.width||15)+5+"px",this.$minWidth=0};n.inherits(l,a),function(){this.classSuffix="-v",this.onScroll=function(){if(!this.skipEvent){if(this.scrollTop=this.element.scrollTop,1!=this.coeff){var e=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-e)/(this.coeff-e)}this._emit("scroll",{data:this.scrollTop})}this.skipEvent=!1},this.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},this.setHeight=function(e){this.element.style.height=e+"px"},this.setInnerHeight=this.setScrollHeight=function(e){32768<(this.scrollHeight=e)?(this.coeff=32768/e,e=32768):1!=this.coeff&&(this.coeff=1),this.inner.style.height=e+"px"},this.setScrollTop=function(e){this.scrollTop!=e&&(this.skipEvent=!0,this.scrollTop=e,this.element.scrollTop=e*this.coeff)}}.call(l.prototype);var c=function(e,t){a.call(this,e),this.scrollLeft=0,this.height=t.$scrollbarWidth,this.inner.style.height=this.element.style.height=(this.height||15)+5+"px"};n.inherits(c,a),function(){this.classSuffix="-h",this.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},this.getHeight=function(){return this.isVisible?this.height:0},this.setWidth=function(e){this.element.style.width=e+"px"},this.setInnerWidth=function(e){this.inner.style.width=e+"px"},this.setScrollWidth=function(e){this.inner.style.width=e+"px"},this.setScrollLeft=function(e){this.scrollLeft!=e&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=e)}}.call(c.prototype),t.ScrollBar=l,t.ScrollBarV=l,t.ScrollBarH=c,t.VScrollBar=l,t.HScrollBar=c}),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(e,t,i){"use strict";var n=e("./lib/event"),s=function(e,t){this.onRender=e,this.pending=!1,this.changes=0,this.$recursionLimit=2,this.window=t||window;var i=this;this._flush=function(e){i.pending=!1;var t=i.changes;if(t&&(n.blockIdle(100),i.changes=0,i.onRender(t)),i.changes){if(i.$recursionLimit--<0)return;i.schedule()}else i.$recursionLimit=2}};(function(){this.schedule=function(e){this.changes=this.changes|e,this.changes&&!this.pending&&(n.nextFrame(this._flush),this.pending=!0)},this.clear=function(e){var t=this.changes;return this.changes=0,t}}).call(s.prototype),t.RenderLoop=s}),ace.define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,i){var n=e("../lib/oop"),s=e("../lib/dom"),o=e("../lib/lang"),r=e("../lib/event"),a=e("../lib/useragent"),l=e("../lib/event_emitter").EventEmitter,c="function"==typeof ResizeObserver,h=t.FontMetrics=function(e){this.el=s.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=s.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=s.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),e.appendChild(this.el),this.$measureNode.innerHTML=o.stringRepeat("X",256),this.$characterSize={width:0,height:0},c?this.$addObserver():this.checkForSizeChanges()};(function(){n.implement(this,l),this.$characterSize={width:0,height:0},this.$setMeasureNodeStyles=function(e,t){e.width=e.height="auto",e.left=e.top="0px",e.visibility="hidden",e.position="absolute",e.whiteSpace="pre",a.isIE<8?e["font-family"]="inherit":e.font="inherit",e.overflow=t?"hidden":"visible"},this.checkForSizeChanges=function(e){if(void 0===e&&(e=this.$measureSizes()),e&&(this.$characterSize.width!==e.width||this.$characterSize.height!==e.height)){this.$measureNode.style.fontWeight="bold";var t=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=e,this.charSizes=Object.create(null),this.allowBoldFonts=t&&t.width===e.width&&t.height===e.height,this._emit("changeCharacterSize",{data:e})}},this.$addObserver=function(){var i=this;this.$observer=new window.ResizeObserver(function(e){var t=e[0].contentRect;i.checkForSizeChanges({height:t.height,width:t.width/256})}),this.$observer.observe(this.$measureNode)},this.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer||this.$observer)return this.$pollSizeChangesTimer;var t=this;return this.$pollSizeChangesTimer=r.onIdle(function e(){t.checkForSizeChanges(),r.onIdle(e,500)},500)},this.setPolling=function(e){e?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},this.$measureSizes=function(e){var t={height:(e||this.$measureNode).clientHeight,width:(e||this.$measureNode).clientWidth/256};return 0===t.width||0===t.height?null:t},this.$measureCharWidth=function(e){return this.$main.innerHTML=o.stringRepeat(e,256),this.$main.getBoundingClientRect().width/256},this.getCharacterWidth=function(e){var t=this.charSizes[e];return void 0===t&&(t=this.charSizes[e]=this.$measureCharWidth(e)/this.$characterSize.width),t},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$observer&&this.$observer.disconnect(),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)},this.$getZoom=function e(t){return t?(window.getComputedStyle(t).zoom||1)*e(t.parentElement):1},this.$initTransformMeasureNodes=function(){var e=function(e,t){return["div",{style:"position: absolute;top:"+e+"px;left:"+t+"px;"}]};this.els=s.buildDom([e(0,0),e(200,0),e(0,200),e(200,200)],this.el)},this.transformCoordinates=function(e,t){function i(e,t,i){var n=e[1]*t[0]-e[0]*t[1];return[(-t[1]*i[0]+t[0]*i[1])/n,(+e[1]*i[0]-e[0]*i[1])/n]}function n(e,t){return[e[0]-t[0],e[1]-t[1]]}function s(e,t){return[e[0]+t[0],e[1]+t[1]]}function o(e,t){return[e*t[0],e*t[1]]}function r(e){var t=e.getBoundingClientRect();return[t.left,t.top]}e&&(e=o(1/this.$getZoom(this.el),e));this.els||this.$initTransformMeasureNodes();var a=r(this.els[0]),l=r(this.els[1]),c=r(this.els[2]),h=r(this.els[3]),u=i(n(h,l),n(h,c),n(s(l,c),s(h,a))),d=o(1+u[0],n(l,a)),g=o(1+u[1],n(c,a));if(t){var f=t;return s(o(1/(u[0]*f[0]/200+u[1]*f[1]/200+1)/200,s(o(f[0],d),o(f[1],g))),a)}var m=n(e,a);return o(200,i(n(d,o(u[0],m)),n(g,o(u[1],m)),m))}}).call(h.prototype)}),ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/config","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter","ace/lib/useragent"],function(e,t,i){"use strict";var n=e("./lib/oop"),c=e("./lib/dom"),o=e("./config"),s=e("./layer/gutter").Gutter,r=e("./layer/marker").Marker,a=e("./layer/text").Text,l=e("./layer/cursor").Cursor,h=e("./scrollbar").HScrollBar,u=e("./scrollbar").VScrollBar,d=e("./renderloop").RenderLoop,g=e("./layer/font_metrics").FontMetrics,f=e("./lib/event_emitter").EventEmitter,m='.ace_br1 {border-top-left-radius : 3px;}.ace_br2 {border-top-right-radius : 3px;}.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}.ace_br4 {border-bottom-right-radius: 3px;}.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}.ace_br8 {border-bottom-left-radius : 3px;}.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_editor {position: relative;overflow: hidden;font: 12px/normal \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'source-code-pro\', monospace;direction: ltr;text-align: left;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);}.ace_scroller {position: absolute;overflow: hidden;top: 0;bottom: 0;background-color: inherit;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;cursor: text;}.ace_content {position: absolute;box-sizing: border-box;min-width: 100%;contain: style size layout;}.ace_dragging .ace_scroller:before{position: absolute;top: 0;left: 0;right: 0;bottom: 0;content: \'\';background: rgba(250, 250, 250, 0.01);z-index: 1000;}.ace_dragging.ace_dark .ace_scroller:before{background: rgba(0, 0, 0, 0.01);}.ace_selecting, .ace_selecting * {cursor: text !important;}.ace_gutter {position: absolute;overflow : hidden;width: auto;top: 0;bottom: 0;left: 0;cursor: default;z-index: 4;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;contain: style size layout;}.ace_gutter-active-line {position: absolute;left: 0;right: 0;}.ace_scroller.ace_scroll-left {box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;}.ace_gutter-cell {position: absolute;top: 0;left: 0;right: 0;padding-left: 19px;padding-right: 6px;background-repeat: no-repeat;}.ace_gutter-cell.ace_error {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: 2px center;}.ace_gutter-cell.ace_warning {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");background-position: 2px center;}.ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");background-position: 2px center;}.ace_dark .ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");}.ace_scrollbar {contain: strict;position: absolute;right: 0;bottom: 0;z-index: 6;}.ace_scrollbar-inner {position: absolute;cursor: text;left: 0;top: 0;}.ace_scrollbar-v{overflow-x: hidden;overflow-y: scroll;top: 0;}.ace_scrollbar-h {overflow-x: scroll;overflow-y: hidden;left: 0;}.ace_print-margin {position: absolute;height: 100%;}.ace_text-input {position: absolute;z-index: 0;width: 0.5em;height: 1em;opacity: 0;background: transparent;-moz-appearance: none;appearance: none;border: none;resize: none;outline: none;overflow: hidden;font: inherit;padding: 0 1px;margin: 0 -1px;contain: strict;-ms-user-select: text;-moz-user-select: text;-webkit-user-select: text;user-select: text;white-space: pre!important;}.ace_text-input.ace_composition {background: transparent;color: inherit;z-index: 1000;opacity: 1;}.ace_composition_placeholder { color: transparent }.ace_composition_marker { border-bottom: 1px solid;position: absolute;border-radius: 0;margin-top: 1px;}[ace_nocontext=true] {transform: none!important;filter: none!important;perspective: none!important;clip-path: none!important;mask : none!important;contain: none!important;perspective: none!important;mix-blend-mode: initial!important;z-index: auto;}.ace_layer {z-index: 1;position: absolute;overflow: hidden;word-wrap: normal;white-space: pre;height: 100%;width: 100%;box-sizing: border-box;pointer-events: none;}.ace_gutter-layer {position: relative;width: auto;text-align: right;pointer-events: auto;height: 1000000px;contain: style size layout;}.ace_text-layer {font: inherit !important;position: absolute;height: 1000000px;width: 1000000px;contain: style size layout;}.ace_text-layer > .ace_line, .ace_text-layer > .ace_line_group {contain: style size layout;position: absolute;top: 0;left: 0;right: 0;}.ace_hidpi .ace_text-layer,.ace_hidpi .ace_gutter-layer,.ace_hidpi .ace_content,.ace_hidpi .ace_gutter {contain: strict;will-change: transform;}.ace_hidpi .ace_text-layer > .ace_line, .ace_hidpi .ace_text-layer > .ace_line_group {contain: strict;}.ace_cjk {display: inline-block;text-align: center;}.ace_cursor-layer {z-index: 4;}.ace_cursor {z-index: 4;position: absolute;box-sizing: border-box;border-left: 2px solid;transform: translatez(0);}.ace_multiselect .ace_cursor {border-left-width: 1px;}.ace_slim-cursors .ace_cursor {border-left-width: 1px;}.ace_overwrite-cursors .ace_cursor {border-left-width: 0;border-bottom: 1px solid;}.ace_hidden-cursors .ace_cursor {opacity: 0.2;}.ace_smooth-blinking .ace_cursor {transition: opacity 0.18s;}.ace_animate-blinking .ace_cursor {animation-duration: 1000ms;animation-timing-function: step-end;animation-name: blink-ace-animate;animation-iteration-count: infinite;}.ace_animate-blinking.ace_smooth-blinking .ace_cursor {animation-duration: 1000ms;animation-timing-function: ease-in-out;animation-name: blink-ace-animate-smooth;}@keyframes blink-ace-animate {from, to { opacity: 1; }60% { opacity: 0; }}@keyframes blink-ace-animate-smooth {from, to { opacity: 1; }45% { opacity: 1; }60% { opacity: 0; }85% { opacity: 0; }}.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {position: absolute;z-index: 3;}.ace_marker-layer .ace_selection {position: absolute;z-index: 5;}.ace_marker-layer .ace_bracket {position: absolute;z-index: 6;}.ace_marker-layer .ace_active-line {position: absolute;z-index: 2;}.ace_marker-layer .ace_selected-word {position: absolute;z-index: 4;box-sizing: border-box;}.ace_line .ace_fold {box-sizing: border-box;display: inline-block;height: 11px;margin-top: -2px;vertical-align: middle;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");background-repeat: no-repeat, repeat-x;background-position: center center, top left;color: transparent;border: 1px solid black;border-radius: 2px;cursor: pointer;pointer-events: auto;}.ace_dark .ace_fold {}.ace_fold:hover{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");}.ace_tooltip {background-color: #FFF;background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));border: 1px solid gray;border-radius: 1px;box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);color: black;max-width: 100%;padding: 3px 4px;position: fixed;z-index: 999999;box-sizing: border-box;cursor: default;white-space: pre;word-wrap: break-word;line-height: normal;font-style: normal;font-weight: normal;letter-spacing: normal;pointer-events: none;}.ace_folding-enabled > .ace_gutter-cell {padding-right: 13px;}.ace_fold-widget {box-sizing: border-box;margin: 0 -12px 0 1px;display: none;width: 11px;vertical-align: top;background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: center;border-radius: 3px;border: 1px solid transparent;cursor: pointer;}.ace_folding-enabled .ace_fold-widget {display: inline-block; }.ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");}.ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");}.ace_fold-widget:hover {border: 1px solid rgba(0, 0, 0, 0.3);background-color: rgba(255, 255, 255, 0.2);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);}.ace_fold-widget:active {border: 1px solid rgba(0, 0, 0, 0.4);background-color: rgba(0, 0, 0, 0.05);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);}.ace_dark .ace_fold-widget {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");}.ace_dark .ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget:hover {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);background-color: rgba(255, 255, 255, 0.1);}.ace_dark .ace_fold-widget:active {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);}.ace_inline_button {border: 1px solid lightgray;display: inline-block;margin: -1px 8px;padding: 0 5px;pointer-events: auto;cursor: pointer;}.ace_inline_button:hover {border-color: gray;background: rgba(200,200,200,0.2);display: inline-block;pointer-events: auto;}.ace_fold-widget.ace_invalid {background-color: #FFB4B4;border-color: #DE5555;}.ace_fade-fold-widgets .ace_fold-widget {transition: opacity 0.4s ease 0.05s;opacity: 0;}.ace_fade-fold-widgets:hover .ace_fold-widget {transition: opacity 0.05s ease 0.05s;opacity:1;}.ace_underline {text-decoration: underline;}.ace_bold {font-weight: bold;}.ace_nobold .ace_bold {font-weight: normal;}.ace_italic {font-style: italic;}.ace_error-marker {background-color: rgba(255, 0, 0,0.2);position: absolute;z-index: 9;}.ace_highlight-marker {background-color: rgba(255, 255, 0,0.2);position: absolute;z-index: 8;}',p=e("./lib/useragent"),v=p.isIE;c.importCssString(m,"ace_editor.css");var w=function(e,t){var i=this;this.container=e||c.createElement("div"),c.addCssClass(this.container,"ace_editor"),c.HI_DPI&&c.addCssClass(this.container,"ace_hidpi"),this.setTheme(t),this.$gutter=c.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.$gutter.setAttribute("aria-hidden",!0),this.scroller=c.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=c.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new s(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new r(this.content);var n=this.$textLayer=new a(this.content);this.canvas=n.element,this.$markerFront=new r(this.content),this.$cursorLayer=new l(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new u(this.container,this),this.scrollBarH=new h(this.container,this),this.scrollBarV.addEventListener("scroll",function(e){i.$scrollAnimation||i.session.setScrollTop(e.data-i.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(e){i.$scrollAnimation||i.session.setScrollLeft(e.data-i.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new g(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.addEventListener("changeCharacterSize",function(e){i.updateCharacterSize(),i.onResize(!0,i.gutterWidth,i.$size.width,i.$size.height),i._signal("changeCharacterSize",e)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.margin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$keepTextAreaAtCursor=!p.isIOS,this.$loop=new d(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),o.resetOptions(this),o._emit("renderer",this)};(function(){this.CHANGE_CURSOR=1,this.CHANGE_MARKER=2,this.CHANGE_GUTTER=4,this.CHANGE_SCROLL=8,this.CHANGE_LINES=16,this.CHANGE_TEXT=32,this.CHANGE_SIZE=64,this.CHANGE_MARKER_BACK=128,this.CHANGE_MARKER_FRONT=256,this.CHANGE_FULL=512,this.CHANGE_H_SCROLL=1024,n.implement(this,f),this.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin()},this.setSession=function(e){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),(this.session=e)&&this.scrollMargin.top&&e.getScrollTop()<=0&&e.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(e),this.$markerBack.setSession(e),this.$markerFront.setSession(e),this.$gutterLayer.setSession(e),this.$textLayer.setSession(e),e&&(this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode))},this.updateLines=function(e,t,i){if(void 0===t&&(t=1/0),this.$changedLines?(this.$changedLines.firstRow>e&&(this.$changedLines.firstRow=e),this.$changedLines.lastRowthis.layerConfig.lastRow||this.$loop.schedule(this.CHANGE_LINES)},this.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},this.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},this.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},this.updateFull=function(e){e?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},this.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},this.$changes=0,this.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},this.onResize=function(e,t,i,n){if(!(2n.height-r)c.translate(this.textarea,0,0);else{var a=1;if(i)if(i.useTextareaForIME){var l=this.textarea.value;a=this.characterWidth*this.session.$getStringScreenWidth(l)[0],r+=2}else s+=this.lineHeight+2;else s+=this.lineHeight;(o-=this.scrollLeft)>this.$size.scrollerWidth-a&&(o=this.$size.scrollerWidth-a),o+=this.gutterWidth+this.margin.left,c.setStyle(e,"height",r+"px"),c.setStyle(e,"width",a+"px"),c.translate(this.textarea,Math.min(o,this.$size.scrollerWidth-a),Math.min(s,this.$size.height-r))}}}else c.translate(this.textarea,-100,0)},this.getFirstVisibleRow=function(){return this.layerConfig.firstRow},this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(0===this.layerConfig.offset?0:1)},this.getLastFullyVisibleRow=function(){var e=this.layerConfig,t=e.lastRow;return this.session.documentToScreenRow(t,0)*e.lineHeight-this.session.getScrollTop()>e.height-e.lineHeight?t-1:t},this.getLastVisibleRow=function(){return this.layerConfig.lastRow},this.$padding=null,this.setPadding=function(e){this.$padding=e,this.$textLayer.setPadding(e),this.$cursorLayer.setPadding(e),this.$markerFront.setPadding(e),this.$markerBack.setPadding(e),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},this.setScrollMargin=function(e,t,i,n){var s=this.scrollMargin;s.top=0|e,s.bottom=0|t,s.right=0|n,s.left=0|i,s.v=s.top+s.bottom,s.h=s.left+s.right,s.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-s.top),this.updateFull()},this.setMargin=function(e,t,i,n){var s=this.margin;s.top=0|e,s.bottom=0|t,s.right=0|n,s.left=0|i,s.v=s.top+s.bottom,s.h=s.left+s.right,this.$updateCachedSize(!0,this.gutterWidth,this.$size.width,this.$size.height),this.updateFull()},this.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},this.setHScrollBarAlwaysVisible=function(e){this.setOption("hScrollBarAlwaysVisible",e)},this.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},this.setVScrollBarAlwaysVisible=function(e){this.setOption("vScrollBarAlwaysVisible",e)},this.$updateScrollBarV=function(){var e=this.layerConfig.maxHeight,t=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(e-=(t-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>e-t&&(e=this.scrollTop+t,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(e+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},this.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},this.$frozen=!1,this.freeze=function(){this.$frozen=!0},this.unfreeze=function(){this.$frozen=!1},this.$renderChanges=function(e,t){if(this.$changes&&(e|=this.$changes,this.$changes=0),this.session&&this.container.offsetWidth&&!this.$frozen&&(e||t)){if(this.$size.$dirty)return this.$changes|=e,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender"),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var i=this.layerConfig;if(e&this.CHANGE_FULL||e&this.CHANGE_SIZE||e&this.CHANGE_TEXT||e&this.CHANGE_LINES||e&this.CHANGE_SCROLL||e&this.CHANGE_H_SCROLL){if(e|=this.$computeLayerConfig()|this.$loop.clear(),i.firstRow!=this.layerConfig.firstRow&&i.firstRowScreen==this.layerConfig.firstRowScreen){var n=this.scrollTop+(i.firstRow-this.layerConfig.firstRow)*this.lineHeight;0this.$maxPixelHeight&&(i=this.$maxPixelHeight);var n=!(i<=2*this.lineHeight)&&th.top),d=a!==u;d&&(this.$vScroll=u,this.scrollBarV.setVisible(u));var g,f,m=this.scrollTop%this.lineHeight,p=Math.ceil(l/this.lineHeight)-1,v=Math.max(0,Math.round((this.scrollTop-m)/this.lineHeight)),w=v+p,b=this.lineHeight;v=e.screenToDocumentRow(v,0);var y=e.getFoldLine(v);y&&(v=y.start.row),g=e.documentToScreenRow(v,0),f=e.getRowLength(v)*b,w=Math.min(e.screenToDocumentRow(w,0),e.getLength()-1),l=t.scrollerHeight+e.getRowLength(w)*b+f,m=this.scrollTop-g*b;var $=0;return(this.layerConfig.width!=s||r)&&($=this.CHANGE_H_SCROLL),(r||d)&&($=this.$updateCachedSize(!0,this.gutterWidth,t.width,t.height),this._signal("scrollbarVisibilityChanged"),d&&(s=this.$getLongestLine())),this.layerConfig={width:s,padding:this.$padding,firstRow:v,firstRowScreen:g,lastRow:w,lineHeight:b,characterWidth:this.characterWidth,minHeight:l,maxHeight:n,offset:m,gutterOffset:b?Math.max(0,Math.ceil((m+t.height-t.scrollerHeight)/b)):0,height:this.$size.scrollerHeight},this.session.$bidiHandler&&this.session.$bidiHandler.setContentWidth(s-this.$padding),$},this.$updateLines=function(){if(this.$changedLines){var e=this.$changedLines.firstRow,t=this.$changedLines.lastRow;this.$changedLines=null;var i=this.layerConfig;if(!(e>i.lastRow+1||tthis.$textLayer.MAX_LINE_LENGTH&&(e=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(e*this.characterWidth))},this.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},this.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},this.addGutterDecoration=function(e,t){this.$gutterLayer.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){this.$gutterLayer.removeGutterDecoration(e,t)},this.updateBreakpoints=function(e){this.$loop.schedule(this.CHANGE_GUTTER)},this.setAnnotations=function(e){this.$gutterLayer.setAnnotations(e),this.$loop.schedule(this.CHANGE_GUTTER)},this.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},this.hideCursor=function(){this.$cursorLayer.hideCursor()},this.showCursor=function(){this.$cursorLayer.showCursor()},this.scrollSelectionIntoView=function(e,t,i){this.scrollCursorIntoView(e,i),this.scrollCursorIntoView(t,i)},this.scrollCursorIntoView=function(e,t,i){if(0!==this.$size.scrollerHeight){var n=this.$cursorLayer.getPixelPosition(e),s=n.left,o=n.top,r=i&&i.top||0,a=i&&i.bottom||0,l=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;oo+this.lineHeight&&(o-=t*this.$size.scrollerHeight),0===o&&(o=-this.scrollMargin.top),this.session.setScrollTop(o)):l+this.$size.scrollerHeight-a=1-this.scrollMargin.top||(0=1-this.scrollMargin.left||(0this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:e}))}}).call(u.prototype);e.UIWorkerClient=function(e,t,i){var n=null,s=!1,o=Object.create(c),r=[],a=new u({messageBuffer:r,terminate:function(){},postMessage:function(e){r.push(e),n&&(s?setTimeout(l):l())}});a.setEmitSync=function(e){s=e};var l=function(){var e=r.shift();e.command?n[e.command].apply(n,e.args):e.event&&o._signal(e.event,e.data)};return o.postMessage=function(e){a.onMessage({data:e})},o.callback=function(e,t){this.postMessage({type:"call",id:t,data:e})},o.emit=function(e,t){this.postMessage({type:"event",name:e,data:t})},h.loadModule(["worker",t],function(e){for(n=new e[i](o);r.length;)l()}),a},e.WorkerClient=u,e.createWorker=l}),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(e,t,i){"use strict";var l=e("./range").Range,n=e("./lib/event_emitter").EventEmitter,s=e("./lib/oop"),o=function(e,t,i,n,s,o){var r=this;this.length=t,this.session=e,this.doc=e.getDocument(),this.mainClass=s,this.othersClass=o,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate),this.$others=n,this.$onCursorChange=function(){setTimeout(function(){r.onCursorChange()})},this.$pos=i;var a=e.getUndoManager().$undoStack||e.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=a.length,this.setup(),e.selection.on("changeCursor",this.$onCursorChange)};(function(){s.implement(this,n),this.setup=function(){var i=this,n=this.doc,e=this.session;this.selectionBefore=e.selection.toJSON(),e.selection.inMultiSelectMode&&e.selection.toSingleRange(),this.pos=n.createAnchor(this.$pos.row,this.$pos.column);var t=this.pos;t.$insertRight=!0,t.detach(),t.markerId=e.addMarker(new l(t.row,t.column,t.row,t.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(e){var t=n.createAnchor(e.row,e.column);t.$insertRight=!0,t.detach(),i.others.push(t)}),e.setUndoSelect(!1)},this.showOtherMarkers=function(){if(!this.othersActive){var t=this.session,i=this;this.othersActive=!0,this.others.forEach(function(e){e.markerId=t.addMarker(new l(e.row,e.column,e.row,e.column+i.length),i.othersClass,null,!1)})}},this.hideOtherMarkers=function(){if(this.othersActive){this.othersActive=!1;for(var e=0;e=this.pos.column&&t.start.column<=this.pos.column+this.length+1,s=t.start.column-this.pos.column;if(this.updateAnchors(e),n&&(this.length+=i),n&&!this.session.$fromUndo)if("insert"===e.action)for(var o=this.others.length-1;0<=o;o--){var r={row:(a=this.others[o]).row,column:a.column+s};this.doc.insertMergedLines(r,e.lines)}else if("remove"===e.action)for(o=this.others.length-1;0<=o;o--){var a;r={row:(a=this.others[o]).row,column:a.column+s};this.doc.remove(new l(r.row,r.column,r.row,r.column-i))}this.$updating=!1,this.updateMarkers()}},this.updateAnchors=function(e){this.pos.onChange(e);for(var t=this.others.length;t--;)this.others[t].onChange(e);this.updateMarkers()},this.updateMarkers=function(){if(!this.$updating){var i=this,n=this.session,e=function(e,t){n.removeMarker(e.markerId),e.markerId=n.addMarker(new l(e.row,e.column,e.row,e.column+i.length),t,null,!1)};e(this.pos,this.mainClass);for(var t=this.others.length;t--;)e(this.others[t],this.othersClass)}},this.onCursorChange=function(e){if(!this.$updating&&this.session){var t=this.session.selection.getCursor();t.row===this.pos.row&&t.column>=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",e)):(this.hideOtherMarkers(),this._emit("cursorLeave",e))}},this.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.removeEventListener("change",this.$onUpdate),this.session.selection.removeEventListener("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},this.cancel=function(){if(-1!==this.$undoStackDepth){for(var e=this.session.getUndoManager(),t=(e.$undoStack||e.$undostack).length-this.$undoStackDepth,i=0;ir&&(r=t.column),it[1].length&&(s=t[1].length),ot[3].length&&(r=t[3].length)),t):[e]}).map(t?n:a?l?function(e){return e[2]?i(s+o-e[2].length)+e[2]+i(r)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}:n:function(e){return e[2]?i(s)+e[2]+i(r)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]})}}).call(c.prototype),t.onSessionChange=function(e){var t=e.session;t&&!t.multiSelect&&(t.$selectionMarkers=[],t.selection.$initRangeList(),t.multiSelect=t.selection),this.multiSelect=t&&t.multiSelect;var i=e.oldSession;i&&(i.multiSelect.off("addRange",this.$onAddRange),i.multiSelect.off("removeRange",this.$onRemoveRange),i.multiSelect.off("multiSelect",this.$onMultiSelect),i.multiSelect.off("singleSelect",this.$onSingleSelect),i.multiSelect.lead.off("change",this.$checkMultiselectChange),i.multiSelect.anchor.off("change",this.$checkMultiselectChange)),t&&(t.multiSelect.on("addRange",this.$onAddRange),t.multiSelect.on("removeRange",this.$onRemoveRange),t.multiSelect.on("multiSelect",this.$onMultiSelect),t.multiSelect.on("singleSelect",this.$onSingleSelect),t.multiSelect.lead.on("change",this.$checkMultiselectChange),t.multiSelect.anchor.on("change",this.$checkMultiselectChange)),t&&this.inMultiSelectMode!=t.selection.inMultiSelectMode&&(t.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},t.MultiSelect=n,e("./config").defineOptions(c.prototype,"editor",{enableMultiselect:{set:function(e){n(this),e?(this.on("changeSession",this.$multiselectOnSessionChange),this.on("mousedown",o)):(this.off("changeSession",this.$multiselectOnSessionChange),this.off("mousedown",o))},value:!0},enableBlockSelect:{set:function(e){this.$blockSelectEnabled=e},value:!0}})}),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(e,t,i){"use strict";var d=e("../../range").Range,n=t.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(e,t,i){var n=e.getLine(i);return this.foldingStartMarker.test(n)?"start":"markbeginend"==t&&this.foldingStopMarker&&this.foldingStopMarker.test(n)?"end":""},this.getFoldWidgetRange=function(e,t,i){return null},this.indentationBlock=function(e,t,i){var n=/\S/,s=e.getLine(t),o=s.search(n);if(-1!=o){for(var r=i||s.length,a=e.getLength(),l=t,c=t;++to.row&&(r.row--,r.column=e.getLine(r.row).length),d.fromPoints(o,r)}},this.closingBracketBlock=function(e,t,i,n,s){var o={row:i,column:n},r=e.$findOpeningBracket(t,o);if(r)return r.column++,o.column--,d.fromPoints(r,o)}}).call(n.prototype)}),ace.define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],function(e,t,i){"use strict";t.isDark=!1,t.cssClass="ace-tm",t.cssText='.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm {background-color: #FFFFFF;color: black;}.ace-tm .ace_cursor {color: black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;}.ace-tm .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}',t.$id="ace/theme/textmate",e("../lib/dom").importCssString(t.cssText,t.cssClass)}),ace.define("ace/line_widgets",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/range"],function(e,t,i){"use strict";function n(e){this.session=e,(this.session.widgetManager=this).session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on("change",this.updateOnChange),this.session.on("changeFold",this.updateOnFold),this.session.on("changeEditor",this.$onChangeEditor)}e("./lib/oop");var o=e("./lib/dom");e("./range").Range;(function(){this.getRowLength=function(e){var t;return t=this.lineWidgets&&this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0,this.$useWrapMode&&this.$wrapData[e]?this.$wrapData[e].length+1+t:1+t},this.$getWidgetScreenLength=function(){var t=0;return this.lineWidgets.forEach(function(e){e&&e.rowCount&&!e.hidden&&(t+=e.rowCount)}),t},this.$onChangeEditor=function(e){this.attach(e.editor)},this.attach=function(e){e&&e.widgetManager&&e.widgetManager!=this&&e.widgetManager.detach(),this.editor!=e&&(this.detach(),(this.editor=e)&&(e.widgetManager=this,e.renderer.on("beforeRender",this.measureWidgets),e.renderer.on("afterRender",this.renderWidgets)))},this.detach=function(e){var t=this.editor;if(t){this.editor=null,t.widgetManager=null,t.renderer.off("beforeRender",this.measureWidgets),t.renderer.off("afterRender",this.renderWidgets);var i=this.session.lineWidgets;i&&i.forEach(function(e){e&&e.el&&e.el.parentNode&&(e._inDocument=!1,e.el.parentNode.removeChild(e.el))})}},this.updateOnFold=function(e,t){var i=t.lineWidgets;if(i&&e.action){for(var n=e.data,s=n.start.row,o=n.end.row,r="add"==e.action,a=s+1;a>1,r=i(t,e[o]);if(0=n.length?s=0"),h.appendChild(m.createElement("div"));var g=function(e,t,i){if(0===t&&("esc"===i||"return"===i))return c.destroy(),{command:"null"}};c.destroy=function(){e.$mouseHandler.isMousePressed||(e.keyBinding.removeKeyboardHandler(g),i.widgetManager.removeLineWidget(c),e.off("changeSelection",c.destroy),e.off("changeSession",c.destroy),e.off("mouseup",c.destroy),e.off("change",c.destroy))},e.keyBinding.addKeyboardHandler(g),e.on("changeSelection",c.destroy),e.on("changeSession",c.destroy),e.on("mouseup",c.destroy),e.on("change",c.destroy),e.session.widgetManager.addLineWidget(c),c.el.onmousedown=e.focus.bind(e),e.renderer.scrollCursorIntoView(null,.5,{bottom:c.el.offsetHeight})},m.importCssString(" .error_widget_wrapper { background: inherit; color: inherit; border:none } .error_widget { border-top: solid 2px; border-bottom: solid 2px; margin: 5px 0; padding: 10px 40px; white-space: pre-wrap; } .error_widget.ace_error, .error_widget_arrow.ace_error{ border-color: #ff5a5a } .error_widget.ace_warning, .error_widget_arrow.ace_warning{ border-color: #F1D817 } .error_widget.ace_info, .error_widget_arrow.ace_info{ border-color: #5a5a5a } .error_widget.ace_ok, .error_widget_arrow.ace_ok{ border-color: #5aaa5a } .error_widget_arrow { position: absolute; border: solid 5px; border-top-color: transparent!important; border-right-color: transparent!important; border-left-color: transparent!important; top: -5px; }","")}),ace.define("ace/ace",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/dom","ace/lib/event","ace/range","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config"],function(e,l,t){"use strict";e("./lib/fixoldbrowsers");var c=e("./lib/dom"),h=e("./lib/event"),i=e("./range").Range,u=e("./editor").Editor,n=e("./edit_session").EditSession,s=e("./undomanager").UndoManager,d=e("./virtual_renderer").VirtualRenderer;e("./worker/worker_client"),e("./keyboard/hash_handler"),e("./placeholder"),e("./multi_select"),e("./mode/folding/fold_mode"),e("./theme/textmate"),e("./ext/error_marker"),l.config=e("./config"),l.require=e,"function"==typeof define&&(l.define=define),l.edit=function(e,t){if("string"==typeof e){var i=e;if(!(e=document.getElementById(i)))throw new Error("ace.edit can't find div #"+i)}if(e&&e.env&&e.env.editor instanceof u)return e.env.editor;var n="";if(e&&/input|textarea/i.test(e.tagName)){var s=e;n=s.value,e=c.createElement("pre"),s.parentNode.replaceChild(e,s)}else e&&(n=e.textContent,e.innerHTML="");var o=l.createEditSession(n),r=new u(new d(e),o,t),a={document:o,editor:r,onResize:r.resize.bind(r,null)};return s&&(a.textarea=s),h.addListener(window,"resize",a.onResize),r.on("destroy",function(){h.removeListener(window,"resize",a.onResize),a.editor.container.env=null}),r.container.env=r.env=a,r},l.createEditSession=function(e,t){var i=new n(e,t);return i.setUndoManager(new s),i},l.Range=i,l.Editor=u,l.EditSession=n,l.UndoManager=s,l.VirtualRenderer=d,l.version="1.4.3"}),ace.require(["ace/ace"],function(e){for(var t in e&&(e.config.init(!0),e.define=ace.define),window.ace||(window.ace=e),e)e.hasOwnProperty(t)&&(window.ace[t]=e[t]);window.ace.default=window.ace,"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=window.ace)}),ace.define("ace/theme/monokai",["require","exports","module","ace/lib/dom"],function(e,t,i){t.isDark=!0,t.cssClass="ace-monokai",t.cssText=".ace-monokai .ace_gutter {background: #2F3129;color: #8F908A}.ace-monokai .ace_print-margin {width: 1px;background: #555651}.ace-monokai {background-color: #272822;color: #F8F8F2}.ace-monokai .ace_cursor {color: #F8F8F0}.ace-monokai .ace_marker-layer .ace_selection {background: #49483E}.ace-monokai.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #272822;}.ace-monokai .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-monokai .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #49483E}.ace-monokai .ace_marker-layer .ace_active-line {background: #202020}.ace-monokai .ace_gutter-active-line {background-color: #272727}.ace-monokai .ace_marker-layer .ace_selected-word {border: 1px solid #49483E}.ace-monokai .ace_invisible {color: #52524d}.ace-monokai .ace_entity.ace_name.ace_tag,.ace-monokai .ace_keyword,.ace-monokai .ace_meta.ace_tag,.ace-monokai .ace_storage {color: #F92672}.ace-monokai .ace_punctuation,.ace-monokai .ace_punctuation.ace_tag {color: #fff}.ace-monokai .ace_constant.ace_character,.ace-monokai .ace_constant.ace_language,.ace-monokai .ace_constant.ace_numeric,.ace-monokai .ace_constant.ace_other {color: #AE81FF}.ace-monokai .ace_invalid {color: #F8F8F0;background-color: #F92672}.ace-monokai .ace_invalid.ace_deprecated {color: #F8F8F0;background-color: #AE81FF}.ace-monokai .ace_support.ace_constant,.ace-monokai .ace_support.ace_function {color: #66D9EF}.ace-monokai .ace_fold {background-color: #A6E22E;border-color: #F8F8F2}.ace-monokai .ace_storage.ace_type,.ace-monokai .ace_support.ace_class,.ace-monokai .ace_support.ace_type {font-style: italic;color: #66D9EF}.ace-monokai .ace_entity.ace_name.ace_function,.ace-monokai .ace_entity.ace_other,.ace-monokai .ace_entity.ace_other.ace_attribute-name,.ace-monokai .ace_variable {color: #A6E22E}.ace-monokai .ace_variable.ace_parameter {font-style: italic;color: #FD971F}.ace-monokai .ace_string {color: #E6DB74}.ace-monokai .ace_comment {color: #75715E}.ace-monokai .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWPQ0FD0ZXBzd/wPAAjVAoxeSgNeAAAAAElFTkSuQmCC) right repeat-y}",e("../lib/dom").importCssString(t.cssText,t.cssClass)}),ace.require(["ace/theme/monokai"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,i){"use strict";var n=e("../lib/oop"),s=e("./text_highlight_rules").TextHighlightRules,o=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},o.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};n.inherits(o,s),o.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},o.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},o.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=o}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,i){"use strict";function n(e){return[{token:"comment",regex:/\/\*/,next:[o.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[o.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var s=e("../lib/oop"),o=e("./doc_comment_highlight_rules").DocCommentHighlightRules,r=e("./text_highlight_rules").TextHighlightRules,a="[a-zA-Z\\$_¡-￿][a-zA-Z\\d\\$_¡-￿]*",l=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),i="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[o.getStartRule("doc-start"),n("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+a+")(\\.)(prototype)(\\.)("+a+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+a+")(\\.)("+a+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+a+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+a+")(\\.)("+a+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+a+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+a+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"from(?=\\s*('|\"))"},{token:"keyword",regex:"(?:case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void)\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:a},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"storage.type",regex:/=>/,next:"start"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+a+")(\\.)("+a+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:a},{regex:"",token:"empty",next:"no_regex"}],start:[o.getStartRule("doc-start"),n("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:a},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:i},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:i},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},e&&e.noES6||(this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,i){if(this.next="{"==e?this.nextState:"","{"==e&&i.length)i.unshift("start",t);else if("}"==e&&i.length&&(i.shift(),this.next=i.shift(),-1!=this.next.indexOf("string")||-1!=this.next.indexOf("jsx")))return"paren.quasi.end";return"{"==e?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:i},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||0!=e.jsx)&&function(){var e=a.replace("\\d","\\d\\-"),t={onMatch:function(e,t,i){var n="/"==e.charAt(1)?2:1;return 1==n?(t!=this.nextState?i.unshift(this.next,this.nextState,0):i.unshift(this.next),i[2]++):2==n&&t==this.nextState&&(i[1]--,(!i[1]||i[1]<0)&&(i.shift(),i.shift())),[{type:"meta.tag.punctuation."+(1==n?"":"end-")+"tag-open.xml",value:e.slice(0,n)},{type:"meta.tag.tag-name.xml",value:e.substr(n)}]},regex:"",onMatch:function(e,t,i){return t==i[0]&&i.shift(),2==e.length&&(i[0]==this.nextState&&i[1]--,(!i[1]||i[1]<0)&&i.splice(0,2)),this.next=i[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},i,n("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}.call(this)),this.embedRules(o,"doc-",[o.getEndRule("no_regex")]),this.normalizeRules()};s.inherits(l,r),t.JavaScriptHighlightRules=l}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,i){"use strict";var r=e("../range").Range,n=function(){};(function(){this.checkOutdent=function(e,t){return!!/^\s+$/.test(e)&&/^\s*\}/.test(t)},this.autoOutdent=function(e,t){var i=e.getLine(t).match(/^(\s*\})/);if(!i)return 0;var n=i[1].length,s=e.findMatchingBracket({row:t,column:n});if(!s||s.row==t)return 0;var o=this.$getIndent(e.getLine(s.row));e.replace(new r(t,0,t,n-1),o)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(n.prototype),t.MatchingBraceOutdent=n}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,i){"use strict";var n=e("../../lib/oop"),h=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};n.inherits(o,s),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,i){var n=e.getLine(i);if(this.singleLineBlockCommentRe.test(n)&&!this.startRegionRe.test(n)&&!this.tripleStarBlockCommentRe.test(n))return"";var s=this._getFoldWidgetBase(e,t,i);return!s&&this.startRegionRe.test(n)?"start":s},this.getFoldWidgetRange=function(e,t,i,n){var s,o=e.getLine(i);if(this.startRegionRe.test(o))return this.getCommentRegionBlock(e,o,i);if(s=o.match(this.foldingStartMarker)){var r=s.index;if(s[1])return this.openingBracketBlock(e,s[1],i,r);var a=e.getCommentFoldRange(i,r+s[0].length,1);return a&&!a.isMultiLine()&&(n?a=this.getSectionRange(e,i):"all"!=t&&(a=null)),a}if("markbegin"!==t&&(s=o.match(this.foldingStopMarker))){r=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],i,r):e.getCommentFoldRange(i,r,-1)}},this.getSectionRange=function(e,t){for(var i=e.getLine(t),n=i.search(/\S/),s=t,o=i.length,r=t+=1,a=e.getLength();++t",next:"start"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.end.xml",regex:"--\x3e",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:t},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===o&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,i){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+i+".tag-name.xml"],regex:"(<)("+i+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[i+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,i){return i.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+i+".tag-name.xml"],regex:"(|$))",next:i+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(s.prototype),n.inherits(o,s),t.XmlHighlightRules=o}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,i){"use strict";var n=e("../lib/oop"),s=e("../lib/lang"),o=e("./css_highlight_rules").CssHighlightRules,r=e("./javascript_highlight_rules").JavaScriptHighlightRules,a=e("./xml_highlight_rules").XmlHighlightRules,l=s.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),c=function(){a.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var i=l[t];return["meta.tag.punctuation."+("<"==e?"":"end-")+"tag-open.xml","meta.tag"+(i?"."+i:"")+".tag-name.xml"]},regex:"(",next:"start"}]}),this.embedTagRules(o,"css-","style"),this.embedTagRules(new r({jsx:!1}).getRules(),"js-","script"),this.constructor===c&&this.normalizeRules()};n.inherits(c,a),t.HtmlHighlightRules=c}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,i){"use strict";function g(e,t){return e&&-1"==l)||g(h,"decl-attribute-equals")&&(u||"?"==l))return{text:o+o,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,i,n,s){var o=n.doc.getTextRange(s);if(!s.isMultiLine()&&('"'==o||"'"==o)&&n.doc.getLine(s.start.row).substring(s.start.column+1,s.start.column+2)==o)return s.end.column++,s}),this.add("autoclosing","insertion",function(e,t,i,n,s){if(">"==s){var o=i.getSelectionRange().start,r=new f(n,o.row,o.column),a=r.getCurrentToken()||r.stepBackward();if(!a||!(g(a,"tag-name")||g(a,"tag-whitespace")||g(a,"attribute-name")||g(a,"attribute-equals")||g(a,"attribute-value")))return;if(g(a,"reference.attribute-value"))return;if(g(a,"attribute-value")){var l=r.getCurrentTokenColumn()+a.value.length;if(o.column/.test(n.getLine(o.row).slice(o.column)))return;for(;!g(a,"tag-name");)if("<"==(a=r.stepBackward()).value){a=r.stepForward();break}var h=r.getCurrentTokenRow(),u=r.getCurrentTokenColumn();if(g(r.stepBackward(),"end-tag-open"))return;var d=a.value;if(h==o.row&&(d=d.substring(0,o.column-u)),this.voidElements.hasOwnProperty(d.toLowerCase()))return;return{text:">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,i,n,s){if("\n"==s){var o=i.getCursorPosition(),r=n.getLine(o.row),a=new f(n,o.row,o.column),l=a.getCurrentToken();if(l&&-1!==l.type.indexOf("tag-close")){if("/>"==l.value)return;for(;l&&-1===l.type.indexOf("tag-name");)l=a.stepBackward();if(!l)return;var c=l.value,h=a.getCurrentTokenRow();if(!(l=a.stepBackward())||-1!==l.type.indexOf("end-tag"))return;if(this.voidElements&&!this.voidElements[c]){var u=n.getTokenAt(o.row,o.column+1),d=(r=n.getLine(h),this.$getIndent(r)),g=d+n.getTabString();return u&&""==o.value;break}return n}if(l(o,"tag-close"))return n.selfClosing="/>"==o.value,n;n.start.column+=o.value.length}return null},this._findEndTagInLine=function(e,t,i,n){for(var s=e.getTokens(t),o=0,r=0;r"==t.value,i.end.row=e.getCurrentTokenRow(),i.end.column=e.getCurrentTokenColumn()+t.value.length)}while(t=e.stepBackward());return null},this._pop=function(e,t){for(;e.length;){var i=e[e.length-1];if(!t||i.tagName==t.tagName)return e.pop();if(!this.optionalEndTags.hasOwnProperty(i.tagName))return null;e.pop()}},this.getFoldWidgetRange=function(e,t,i){var n=this._getFirstTagInLine(e,i);if(!n)return this.getCommentFoldWidget(e,i)&&e.getCommentFoldRange(i,e.getLine(i).length);var s,o=[];if(n.closing||n.selfClosing){a=new h(e,i,n.end.column);for(var r={row:i,column:n.start.column};s=this._readTagBackward(a);)if(s.selfClosing){if(!o.length)return s.start.column+=s.tagName.length+2,s.end.column-=2,c.fromPoints(s.start,s.end)}else if(s.closing)o.push(s);else if(this._pop(o,s),0==o.length)return s.start.column+=s.tagName.length+2,s.start.row==s.end.row&&s.start.column23){value=0;}}else if(type=="m"){value=parseInt(value);if(direction){value+=5;}else{value-=5;} +if(value<0){value=55;}else if(value>59){value=0;} +if(value<10){value="0"+value;}} +field.value=('00'+value).substr(-2);},set:function(el){var parent=el.parentElement;while(parent.classList.contains("tpop")==false){parent=parent.parentElement;} +var input=parent.querySelectorAll("input[type=text]");var time=input[0].value+":"+input[1].value;document.getElementById(parent.dataset.target).value=time;parent.classList.remove("show");}};var fpick={attach:function(target){var dig=document.getElementById(target).value.split(".");var t1=dig[0]||"1";var t2=dig[1]||"2";var uniqueID=0;while(document.getElementById("fpick-"+uniqueID)!=null){uniqueID=Math.floor(Math.random()*(100-2))+1;} +var tw=document.createElement("div");tw.id="fpick-"+uniqueID;tw.classList.add("tpop");tw.dataset.target=target;tw.addEventListener("click",function(evt){if(evt.target.classList.contains("tpop")){this.classList.remove("show");}});var tp=document.createElement("div");tp.classList.add("fpicker");tp.appendChild(this.draw("h",t1));tp.appendChild(this.draw("m",t2));var bottom=document.createElement("div"),ok=document.createElement("input");ok.setAttribute("type","button");ok.value="OK";ok.addEventListener("click",function(){fpick.set(this);});bottom.classList.add("fpicker-btn");bottom.appendChild(ok);tp.appendChild(bottom);tw.appendChild(tp);document.body.appendChild(tw);var target=document.getElementById(target);target.dataset.dp=uniqueID;target.onfocus=function(){document.getElementById("fpick-"+this.dataset.dp).classList.add("show");};},draw:function(type,tv){var docket=document.createElement("div"),up=document.createElement("div"),down=document.createElement("div"),text=document.createElement("input");docket.classList.add("fpicker-"+type);up.classList.add("fpicker-up");down.classList.add("fpicker-down");up.innerHTML="︿";down.innerHTML="﹀";text.readOnly=true;text.setAttribute("type","text");if(type=="h"){text.value=tv;up.addEventListener("click",function(){fpick.spin("h",1,this);});down.addEventListener("click",function(){fpick.spin("h",0,this);});}else if(type=="m"){text.value=tv;up.addEventListener("click",function(){fpick.spin("m",1,this);});down.addEventListener("click",function(){fpick.spin("m",0,this);});} +docket.appendChild(up);docket.appendChild(text);docket.appendChild(down);return docket;},spin:function(type,direction,el){var parent=el.parentElement,field=parent.getElementsByTagName("input")[0],value=field.value;if(type=="h"){value=parseInt(value);if(direction){value++;}else{value--;} +if(value==-41){value=99;}else if(value>99){value=-40;}}else if(type=="m"){value=parseInt(value);if(direction){value++;}else{value--;} +if(value<0){value=9;}else if(value>9){value=0;}} +field.value=value;},set:function(el){var parent=el.parentElement;while(parent.classList.contains("tpop")==false){parent=parent.parentElement;} +var input=parent.querySelectorAll("input[type=text]");var temperature=input[0].value+"."+input[1].value;document.getElementById(parent.dataset.target).value=temperature;parent.classList.remove("show");}};!function(t){function n(i){if(e[i]) +return e[i].exports;var o=e[i]={i:i,l:!1,exports:{}};return t[i].call(o.exports,o,o.exports,n),o.l=!0,o.exports} +var e={};n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:i})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},n.p="",n(n.s=0)} +([function(t,n,e){e(1),t.exports=e(4)},function(t,n,e){"use strict";var i=Object.assign||function(t){for(var n=1;n-1} +(t.positionClass)||(console.warn("An invalid notification position class has been specified."),t.positionClass=c.positionClass),t.onclick&&"function"!=typeof t.onclick&&(console.warn("Notification on click must be a function."),t.onclick=c.onclick),"number"!=typeof t.showDuration&&(t.showDuration=c.showDuration),(0,o.isString)(t.theme)&&0!==t.theme.length||(console.warn("Notification theme must be a string with length"),t.theme=c.theme),t} +function e(t){return t=n(t),function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=n.title,i=n.message,c=r(t.positionClass);if(!e&&!i) +return console.warn("Notification must contain a title or a message!");var a=(0,o.createElement)("div","ncf",t.theme);if(!0===t.closeOnClick&&a.addEventListener("click",function(){return c.removeChild(a)}),t.onclick&&a.addEventListener("click",function(n){return t.onclick(n)}),t.displayCloseButton){var s=(0,o.createElement)("button");s.innerText="X",!1===t.closeOnClick&&s.addEventListener("click",function(){return c.removeChild(a)}),(0,o.append)(a,s)} +if((0,o.isString)(e)&&e.length&&(0,o.append)(a,(0,o.createParagraph)("ncf-title")(e)),(0,o.isString)(i)&&i.length&&(0,o.append)(a,(0,o.createParagraph)("nfc-message")(i)),(0,o.append)(c,a),t.showDuration&&t.showDuration>0){var l=setTimeout(function(){c.removeChild(a),0===c.querySelectorAll(".ncf").length&&document.body.removeChild(c)},t.showDuration);(t.closeOnClick||t.displayCloseButton)&&a.addEventListener("click",function(){return clearTimeout(l)})}}} +function r(t){var n=document.querySelector("."+t);return n||(n=(0,o.createElement)("div","ncf-container",t),(0,o.append)(document.body,n)),n} +var c={closeOnClick:!0,displayCloseButton:!1,positionClass:"nfc-top-right",onclick:!1,showDuration:3500,theme:"success"};t.createNotification?console.warn("Window already contains a create notification function. Have you included the script twice?"):t.createNotification=e} +(window)},function(t,n,e){"use strict";!function(){function t(t){this.el=t;for(var n=t.className.replace(/^\s+|\s+$/g,"").split(/\s+/),i=0;i1?n-1:0),i=1;i1?n-1:0),i=1;i1?n-1:0),i=1;i1?n-1:0),c=1;cp;p++)"zIndex"in i[p]&&(l.push(i[p].zIndex),i[p].zIndex<0&&(m[i[p].zIndex]=i[p]));for(l.sort(h);l[k]<0;) +if(e=m[l[k++]],n.push(e.apply(d,g)),b) +return b=f,n;for(p=0;q>p;p++) +if(e=i[p],"zIndex"in e) +if(e.zIndex==l[k]){if(n.push(e.apply(d,g)),b) +break;do +if(k++,e=m[l[k]],e&&n.push(e.apply(d,g)),b) +break;while(e)}else +m[e.zIndex]=e;else if(n.push(e.apply(d,g)),b) +break;return b=f,a=o,n.length?n:null};return j._events=i,j.listeners=function(a){var b,c,d,g,h,j,k,l,m=a.split(e),n=i,o=[n],p=[];for(g=0,h=m.length;h>g;g++){for(l=[],j=0,k=o.length;k>j;j++) +for(n=o[j].n,c=[n[m[g]],n[f]],d=2;d--;) +b=c[d],b&&(l.push(b),p=p.concat(b.f||[]));o=l} +return p},j.on=function(a,b){if(a=String(a),"function"!=typeof b) +return function(){};for(var c=a.split(e),d=i,f=0,h=c.length;h>f;f++) +d=d.n,d=d.hasOwnProperty(c[f])&&d[c[f]]||(d[c[f]]={n:{}});for(d.f=d.f||[],f=0,h=d.f.length;h>f;f++) +if(d.f[f]==b) +return g;return d.f.push(b),function(a){+a==+a&&(b.zIndex=+a)}},j.f=function(a){var b=[].slice.call(arguments,1);return function(){j.apply(null,[a,null].concat(b).concat([].slice.call(arguments,0)))}},j.stop=function(){b=1},j.nt=function(b){return b?new RegExp("(?:\\.|\\/|^)"+b+"(?:\\.|\\/|$)").test(a):a},j.nts=function(){return a.split(e)},j.off=j.unbind=function(a,b){if(!a) +return void(j._events=i={n:{}});var c,g,h,k,l,m,n,o=a.split(e),p=[i];for(k=0,l=o.length;l>k;k++) +for(m=0;mk;k++) +for(c=p[k];c.n;){if(b){if(c.f){for(m=0,n=c.f.length;n>m;m++) +if(c.f[m]==b){c.f.splice(m,1);break} +!c.f.length&&delete c.f} +for(g in c.n) +if(c.n[d](g)&&c.n[g].f){var q=c.n[g].f;for(m=0,n=q.length;n>m;m++) +if(q[m]==b){q.splice(m,1);break} +!q.length&&delete c.n[g].f}}else{delete c.f;for(g in c.n) +c.n[d](g)&&c.n[g].f&&delete c.n[g].f} +c=c.n}},j.once=function(a,b){var c=function(){return j.unbind(a,c),b.apply(this,arguments)};return j.on(a,c)},j.version=c,j.toString=function(){return"You are running Eve "+c},j}),function(a,b){"function"==typeof define&&define.amd?define("raphael.core",["eve"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("eve")):a.Raphael=b(a.eve)} +(this,function(a){function b(c){if(b.is(c,"function")) +return t?c():a.on("raphael.DOMload",c);if(b.is(c,U)) +return b._engine.create[C](b,c.splice(0,3+b.is(c[0],S))).add(c);var d=Array.prototype.slice.call(arguments,0);if(b.is(d[d.length-1],"function")){var e=d.pop();return t?e.call(b._engine.create[C](b,d)):a.on("raphael.DOMload",function(){e.call(b._engine.create[C](b,d))})} +return b._engine.create[C](b,arguments)} +function c(a){if("function"==typeof a||Object(a)!==a) +return a;var b=new a.constructor;for(var d in a) +a[y](d)&&(b[d]=c(a[d]));return b} +function d(a,b){for(var c=0,d=a.length;d>c;c++) +if(a[c]===b) +return a.push(a.splice(c,1)[0])} +function e(a,b,c){function e(){var f=Array.prototype.slice.call(arguments,0),g=f.join("␀"),h=e.cache=e.cache||{},i=e.count=e.count||[];return h[y](g)?(d(i,g),c?c(h[g]):h[g]):(i.length>=1e3&&delete h[i.shift()],i.push(g),h[g]=a[C](b,f),c?c(h[g]):h[g])} +return e} +function f(){return this.hex} +function g(a,b){for(var c=[],d=0,e=a.length;e-2*!b>d;d+=2){var f=[{x:+a[d-2],y:+a[d-1]},{x:+a[d],y:+a[d+1]},{x:+a[d+2],y:+a[d+3]},{x:+a[d+4],y:+a[d+5]}];b?d?e-4==d?f[3]={x:+a[0],y:+a[1]}:e-2==d&&(f[2]={x:+a[0],y:+a[1]},f[3]={x:+a[2],y:+a[3]}):f[0]={x:+a[e-2],y:+a[e-1]}:e-4==d?f[3]=f[2]:d||(f[0]={x:+a[d],y:+a[d+1]}),c.push(["C",(-f[0].x+6*f[1].x+f[2].x)/6,(-f[0].y+6*f[1].y+f[2].y)/6,(f[1].x+6*f[2].x-f[3].x)/6,(f[1].y+6*f[2].y-f[3].y)/6,f[2].x,f[2].y])} +return c} +function h(a,b,c,d,e){var f=-3*b+9*c-9*d+3*e,g=a*f+6*b-12*c+6*d;return a*g-3*b+3*c} +function i(a,b,c,d,e,f,g,i,j){null==j&&(j=1),j=j>1?1:0>j?0:j;for(var k=j/2,l=12,m=[-.1252,.1252,-.3678,.3678,-.5873,.5873,-.7699,.7699,-.9041,.9041,-.9816,.9816],n=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],o=0,p=0;l>p;p++){var q=k*m[p]+k,r=h(q,a,c,e,g),s=h(q,b,d,f,i),t=r*r+s*s;o+=n[p]*M.sqrt(t)} +return k*o} +function j(a,b,c,d,e,f,g,h,j){if(!(0>j||i(a,b,c,d,e,f,g,h)o;) +m/=2,n+=(j>k?1:-1)*m,k=i(a,b,c,d,e,f,g,h,n);return n}} +function k(a,b,c,d,e,f,g,h){if(!(N(a,c)N(e,g)||N(b,d)N(f,h))){var i=(a*d-b*c)*(e-g)-(a-c)*(e*h-f*g),j=(a*d-b*c)*(f-h)-(b-d)*(e*h-f*g),k=(a-c)*(f-h)-(b-d)*(e-g);if(k){var l=i/k,m=j/k,n=+l.toFixed(2),o=+m.toFixed(2);if(!(n<+O(a,c).toFixed(2)||n>+N(a,c).toFixed(2)||n<+O(e,g).toFixed(2)||n>+N(e,g).toFixed(2)||o<+O(b,d).toFixed(2)||o>+N(b,d).toFixed(2)||o<+O(f,h).toFixed(2)||o>+N(f,h).toFixed(2))) +return{x:l,y:m}}}} +function l(a,c,d){var e=b.bezierBBox(a),f=b.bezierBBox(c);if(!b.isBBoxIntersect(e,f)) +return d?0:[];for(var g=i.apply(0,a),h=i.apply(0,c),j=N(~~(g/5),1),l=N(~~(h/5),1),m=[],n=[],o={},p=d?0:[],q=0;j+1>q;q++){var r=b.findDotsAtSegment.apply(b,a.concat(q/j));m.push({x:r.x,y:r.y,t:q/j})} +for(q=0;l+1>q;q++) +r=b.findDotsAtSegment.apply(b,c.concat(q/l)),n.push({x:r.x,y:r.y,t:q/l});for(q=0;j>q;q++) +for(var s=0;l>s;s++){var t=m[q],u=m[q+1],v=n[s],w=n[s+1],x=P(u.x-t.x)<.001?"y":"x",y=P(w.x-v.x)<.001?"y":"x",z=k(t.x,t.y,u.x,u.y,v.x,v.y,w.x,w.y);if(z){if(o[z.x.toFixed(4)]==z.y.toFixed(4)) +continue;o[z.x.toFixed(4)]=z.y.toFixed(4);var A=t.t+P((z[x]-t[x])/(u[x]-t[x]))*(u.t-t.t),B=v.t+P((z[y]-v[y])/(w[y]-v[y]))*(w.t-v.t);A>=0&&1.001>=A&&B>=0&&1.001>=B&&(d?p++:p.push({x:z.x,y:z.y,t1:O(A,1),t2:O(B,1)}))}} +return p} +function m(a,c,d){a=b._path2curve(a),c=b._path2curve(c);for(var e,f,g,h,i,j,k,m,n,o,p=d?0:[],q=0,r=a.length;r>q;q++){var s=a[q];if("M"==s[0]) +e=i=s[1],f=j=s[2];else{"C"==s[0]?(n=[e,f].concat(s.slice(1)),e=n[6],f=n[7]):(n=[e,f,e,f,i,j,i,j],e=i,f=j);for(var t=0,u=c.length;u>t;t++){var v=c[t];if("M"==v[0]) +g=k=v[1],h=m=v[2];else{"C"==v[0]?(o=[g,h].concat(v.slice(1)),g=o[6],h=o[7]):(o=[g,h,g,h,k,m,k,m],g=k,h=m);var w=l(n,o,d);if(d) +p+=w;else{for(var x=0,y=w.length;y>x;x++) +w[x].segment1=q,w[x].segment2=t,w[x].bez1=n,w[x].bez2=o;p=p.concat(w)}}}}} +return p} +function n(a,b,c,d,e,f){null!=a?(this.a=+a,this.b=+b,this.c=+c,this.d=+d,this.e=+e,this.f=+f):(this.a=1,this.b=0,this.c=0,this.d=1,this.e=0,this.f=0)} +function o(){return this.x+G+this.y+G+this.width+" × "+this.height} +function p(a,b,c,d,e,f){function g(a){return((l*a+k)*a+j)*a} +function h(a,b){var c=i(a,b);return((o*c+n)*c+m)*c} +function i(a,b){var c,d,e,f,h,i;for(e=a,i=0;8>i;i++){if(f=g(e)-a,P(f)e) +return c;if(e>d) +return d;for(;d>c;){if(f=g(e),P(f-a)f?c=e:d=e,e=(d-c)/2+c} +return e} +var j=3*b,k=3*(d-b)-j,l=1-j-k,m=3*c,n=3*(e-c)-m,o=1-m-n;return h(a,1/(200*f))} +function q(a,b){var c=[],d={};if(this.ms=b,this.times=1,a){for(var e in a) +a[y](e)&&(d[$(e)]=a[e],c.push($(e)));c.sort(ka)} +this.anim=d,this.top=c[c.length-1],this.percents=c} +function r(c,d,e,f,g,h){e=$(e);var i,j,k,l,m,o,q=c.ms,r={},s={},t={};if(f) +for(w=0,x=fb.length;x>w;w++){var u=fb[w];if(u.el.id==d.id&&u.anim==c){u.percent!=e?(fb.splice(w,1),k=1):j=u,d.attr(u.totalOrigin);break}} +else +f=+s;for(var w=0,x=c.percents.length;x>w;w++){if(c.percents[w]==e||c.percents[w]>f*c.top){e=c.percents[w],m=c.percents[w-1]||0,q=q/c.top*(e-m),l=c.percents[w+1],i=c.anim[e];break} +f&&d.attr(c.anim[c.percents[w]])} +if(i){if(j) +j.initstatus=f,j.start=new Date-j.ms*f;else{for(var z in i) +if(i[y](z)&&(ca[y](z)||d.paper.customAttributes[y](z))) +switch(r[z]=d.attr(z),null==r[z]&&(r[z]=ba[z]),s[z]=i[z],ca[z]){case S:t[z]=(s[z]-r[z])/q;break;case"colour":r[z]=b.getRGB(r[z]);var A=b.getRGB(s[z]);t[z]={r:(A.r-r[z].r)/q,g:(A.g-r[z].g)/q,b:(A.b-r[z].b)/q};break;case"path":var B=Ia(r[z],s[z]),C=B[1];for(r[z]=B[0],t[z]=[],w=0,x=r[z].length;x>w;w++){t[z][w]=[0];for(var E=1,F=r[z][w].length;F>E;E++) +t[z][w][E]=(C[w][E]-r[z][w][E])/q} +break;case"transform":var G=d._,J=Na(G[z],s[z]);if(J) +for(r[z]=J.from,s[z]=J.to,t[z]=[],t[z].real=!0,w=0,x=r[z].length;x>w;w++) +for(t[z][w]=[r[z][w][0]],E=1,F=r[z][w].length;F>E;E++) +t[z][w][E]=(s[z][w][E]-r[z][w][E])/q;else{var K=d.matrix||new n,L={_:{transform:G.transform},getBBox:function(){return d.getBBox(1)}};r[z]=[K.a,K.b,K.c,K.d,K.e,K.f],La(L,s[z]),s[z]=L._.transform,t[z]=[(L.matrix.a-K.a)/q,(L.matrix.b-K.b)/q,(L.matrix.c-K.c)/q,(L.matrix.d-K.d)/q,(L.matrix.e-K.e)/q,(L.matrix.f-K.f)/q]} +break;case"csv":var M=H(i[z])[I](v),N=H(r[z])[I](v);if("clip-rect"==z) +for(r[z]=N,t[z]=[],w=N.length;w--;) +t[z][w]=(M[w]-r[z][w])/q;s[z]=M;break;default:for(M=[][D](i[z]),N=[][D](r[z]),t[z]=[],w=d.paper.customAttributes[z].length;w--;) +t[z][w]=((M[w]||0)-(N[w]||0))/q} +var O=i.easing,P=b.easing_formulas[O];if(!P) +if(P=H(O).match(Y),P&&5==P.length){var Q=P;P=function(a){return p(a,+Q[1],+Q[2],+Q[3],+Q[4],q)}}else +P=la;if(o=i.start||c.start||+new Date,u={anim:c,percent:e,timestamp:o,start:o+(c.del||0),status:0,initstatus:f||0,stop:!1,ms:q,easing:P,from:r,diff:t,to:s,el:d,callback:i.callback,prev:m,next:l,repeat:h||c.times,origin:d.attr(),totalOrigin:g},fb.push(u),f&&!j&&!k&&(u.stop=!0,u.start=new Date-q*f,1==fb.length)) +return hb();k&&(u.start=new Date-u.ms*f),1==fb.length&&gb(hb)} +a("raphael.anim.start."+d.id,d,c)}} +function s(a){for(var b=0;be;e++) +for(i=a[e],f=1,h=i.length;h>f;f+=2) +c=b.x(i[f],i[f+1]),d=b.y(i[f],i[f+1]),i[f]=c,i[f+1]=d;return a};if(b._g=z,b.type=z.win.SVGAngle||z.doc.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")?"SVG":"VML","VML"==b.type){var qa,ra=z.doc.createElement("div");if(ra.innerHTML='',qa=ra.firstChild,qa.style.behavior="url(#default#VML)",!qa||"object"!=typeof qa.adj) +return b.type=F;ra=null} +b.svg=!(b.vml="VML"==b.type),b._Paper=B,b.fn=u=B.prototype=b.prototype,b._id=0,b._oid=0,b.is=function(a,b){return b=L.call(b),"finite"==b?!X[y](+a):"array"==b?a instanceof Array:"null"==b&&null===a||b==typeof a&&null!==a||"object"==b&&a===Object(a)||"array"==b&&Array.isArray&&Array.isArray(a)||V.call(a).slice(8,-1).toLowerCase()==b},b.angle=function(a,c,d,e,f,g){if(null==f){var h=a-d,i=c-e;return h||i?(180+180*M.atan2(-i,-h)/R+360)%360:0} +return b.angle(a,c,f,g)-b.angle(d,e,f,g)},b.rad=function(a){return a%360*R/180},b.deg=function(a){return Math.round(180*a/R%360*1e3)/1e3},b.snapTo=function(a,c,d){if(d=b.is(d,"finite")?d:10,b.is(a,U)){for(var e=a.length;e--;) +if(P(a[e]-c)<=d) +return a[e]}else{a=+a;var f=c%a;if(d>f) +return c-f;if(f>a-d) +return c-f+a} +return c};b.createUUID=function(a,b){return function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(a,b).toUpperCase()}} +(/[xy]/g,function(a){var b=16*M.random()|0,c="x"==a?b:3&b|8;return c.toString(16)});b.setWindow=function(c){a("raphael.setWindow",b,z.win,c),z.win=c,z.doc=z.win.document,b._engine.initWin&&b._engine.initWin(z.win)};var sa=function(a){if(b.vml){var c,d=/^\s+|\s+$/g;try{var f=new ActiveXObject("htmlfile");f.write(""),f.close(),c=f.body}catch(g){c=createPopup().document.body} +var h=c.createTextRange();sa=e(function(a){try{c.style.color=H(a).replace(d,F);var b=h.queryCommandValue("ForeColor");return b=(255&b)<<16|65280&b|(16711680&b)>>>16,"#"+("000000"+b.toString(16)).slice(-6)}catch(e){return"none"}})}else{var i=z.doc.createElement("i");i.title="Raphaël Colour Picker",i.style.display="none",z.doc.body.appendChild(i),sa=e(function(a){return i.style.color=a,z.doc.defaultView.getComputedStyle(i,F).getPropertyValue("color")})} +return sa(a)},ta=function(){return"hsb("+[this.h,this.s,this.b]+")"},ua=function(){return"hsl("+[this.h,this.s,this.l]+")"},va=function(){return this.hex},wa=function(a,c,d){if(null==c&&b.is(a,"object")&&"r"in a&&"g"in a&&"b"in a&&(d=a.b,c=a.g,a=a.r),null==c&&b.is(a,T)){var e=b.getRGB(a);a=e.r,c=e.g,d=e.b} +return(a>1||c>1||d>1)&&(a/=255,c/=255,d/=255),[a,c,d]},xa=function(a,c,d,e){a*=255,c*=255,d*=255;var f={r:a,g:c,b:d,hex:b.rgb(a,c,d),toString:va};return b.is(e,"finite")&&(f.opacity=e),f};b.color=function(a){var c;return b.is(a,"object")&&"h"in a&&"s"in a&&"b"in a?(c=b.hsb2rgb(a),a.r=c.r,a.g=c.g,a.b=c.b,a.hex=c.hex):b.is(a,"object")&&"h"in a&&"s"in a&&"l"in a?(c=b.hsl2rgb(a),a.r=c.r,a.g=c.g,a.b=c.b,a.hex=c.hex):(b.is(a,"string")&&(a=b.getRGB(a)),b.is(a,"object")&&"r"in a&&"g"in a&&"b"in a?(c=b.rgb2hsl(a),a.h=c.h,a.s=c.s,a.l=c.l,c=b.rgb2hsb(a),a.v=c.b):(a={hex:"none"},a.r=a.g=a.b=a.h=a.s=a.v=a.l=-1)),a.toString=va,a},b.hsb2rgb=function(a,b,c,d){this.is(a,"object")&&"h"in a&&"s"in a&&"b"in a&&(c=a.b,b=a.s,d=a.o,a=a.h),a*=360;var e,f,g,h,i;return a=a%360/60,i=c*b,h=i*(1-P(a%2-1)),e=f=g=c-i,a=~~a,e+=[i,h,0,0,h,i][a],f+=[h,i,i,h,0,0][a],g+=[0,0,h,i,i,h][a],xa(e,f,g,d)},b.hsl2rgb=function(a,b,c,d){this.is(a,"object")&&"h"in a&&"s"in a&&"l"in a&&(c=a.l,b=a.s,a=a.h),(a>1||b>1||c>1)&&(a/=360,b/=100,c/=100),a*=360;var e,f,g,h,i;return a=a%360/60,i=2*b*(.5>c?c:1-c),h=i*(1-P(a%2-1)),e=f=g=c-i/2,a=~~a,e+=[i,h,0,0,h,i][a],f+=[h,i,i,h,0,0][a],g+=[0,0,h,i,i,h][a],xa(e,f,g,d)},b.rgb2hsb=function(a,b,c){c=wa(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g;return f=N(a,b,c),g=f-O(a,b,c),d=0==g?null:f==a?(b-c)/g:f==b?(c-a)/g+2:(a-b)/g+4,d=(d+360)%6*60/360,e=0==g?0:g/f,{h:d,s:e,b:f,toString:ta}},b.rgb2hsl=function(a,b,c){c=wa(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g,h,i;return g=N(a,b,c),h=O(a,b,c),i=g-h,d=0==i?null:g==a?(b-c)/i:g==b?(c-a)/i+2:(a-b)/i+4,d=(d+360)%6*60/360,f=(g+h)/2,e=0==i?0:.5>f?i/(2*f):i/(2-2*f),{h:d,s:e,l:f,toString:ua}},b._path2string=function(){return this.join(",").replace(fa,"$1")};b._preload=function(a,b){var c=z.doc.createElement("img");c.style.cssText="position:absolute;left:-9999em;top:-9999em",c.onload=function(){b.call(this),this.onload=null,z.doc.body.removeChild(this)},c.onerror=function(){z.doc.body.removeChild(this)},z.doc.body.appendChild(c),c.src=a};b.getRGB=e(function(a){if(!a||(a=H(a)).indexOf("-")+1) +return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:f};if("none"==a) +return{r:-1,g:-1,b:-1,hex:"none",toString:f};!(ea[y](a.toLowerCase().substring(0,2))||"#"==a.charAt())&&(a=sa(a));var c,d,e,g,h,i,j=a.match(W);return j?(j[2]&&(e=_(j[2].substring(5),16),d=_(j[2].substring(3,5),16),c=_(j[2].substring(1,3),16)),j[3]&&(e=_((h=j[3].charAt(3))+h,16),d=_((h=j[3].charAt(2))+h,16),c=_((h=j[3].charAt(1))+h,16)),j[4]&&(i=j[4][I](da),c=$(i[0]),"%"==i[0].slice(-1)&&(c*=2.55),d=$(i[1]),"%"==i[1].slice(-1)&&(d*=2.55),e=$(i[2]),"%"==i[2].slice(-1)&&(e*=2.55),"rgba"==j[1].toLowerCase().slice(0,4)&&(g=$(i[3])),i[3]&&"%"==i[3].slice(-1)&&(g/=100)),j[5]?(i=j[5][I](da),c=$(i[0]),"%"==i[0].slice(-1)&&(c*=2.55),d=$(i[1]),"%"==i[1].slice(-1)&&(d*=2.55),e=$(i[2]),"%"==i[2].slice(-1)&&(e*=2.55),("deg"==i[0].slice(-3)||"°"==i[0].slice(-1))&&(c/=360),"hsba"==j[1].toLowerCase().slice(0,4)&&(g=$(i[3])),i[3]&&"%"==i[3].slice(-1)&&(g/=100),b.hsb2rgb(c,d,e,g)):j[6]?(i=j[6][I](da),c=$(i[0]),"%"==i[0].slice(-1)&&(c*=2.55),d=$(i[1]),"%"==i[1].slice(-1)&&(d*=2.55),e=$(i[2]),"%"==i[2].slice(-1)&&(e*=2.55),("deg"==i[0].slice(-3)||"°"==i[0].slice(-1))&&(c/=360),"hsla"==j[1].toLowerCase().slice(0,4)&&(g=$(i[3])),i[3]&&"%"==i[3].slice(-1)&&(g/=100),b.hsl2rgb(c,d,e,g)):(j={r:c,g:d,b:e,toString:f},j.hex="#"+(16777216|e|d<<8|c<<16).toString(16).slice(1),b.is(g,"finite")&&(j.opacity=g),j)):{r:-1,g:-1,b:-1,hex:"none",error:1,toString:f}},b),b.hsb=e(function(a,c,d){return b.hsb2rgb(a,c,d).hex}),b.hsl=e(function(a,c,d){return b.hsl2rgb(a,c,d).hex}),b.rgb=e(function(a,b,c){function d(a){return a+.5|0} +return"#"+(16777216|d(c)|d(b)<<8|d(a)<<16).toString(16).slice(1)}),b.getColor=function(a){var b=this.getColor.start=this.getColor.start||{h:0,s:1,b:a||.75},c=this.hsb2rgb(b.h,b.s,b.b);return b.h+=.075,b.h>1&&(b.h=0,b.s-=.2,b.s<=0&&(this.getColor.start={h:0,s:1,b:b.b})),c.hex},b.getColor.reset=function(){delete this.start},b.parsePathString=function(a){if(!a) +return null;var c=ya(a);if(c.arr) +return Aa(c.arr);var d={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0},e=[];return b.is(a,U)&&b.is(a[0],U)&&(e=Aa(a)),e.length||H(a).replace(ga,function(a,b,c){var f=[],g=b.toLowerCase();if(c.replace(ia,function(a,b){b&&f.push(+b)}),"m"==g&&f.length>2&&(e.push([b][D](f.splice(0,2))),g="l",b="m"==b?"l":"L"),"r"==g) +e.push([b][D](f));else +for(;f.length>=d[g]&&(e.push([b][D](f.splice(0,d[g]))),d[g]););}),e.toString=b._path2string,c.arr=Aa(e),e},b.parseTransformString=e(function(a){if(!a) +return null;var c=[];return b.is(a,U)&&b.is(a[0],U)&&(c=Aa(a)),c.length||H(a).replace(ha,function(a,b,d){{var e=[];L.call(b)} +d.replace(ia,function(a,b){b&&e.push(+b)}),c.push([b][D](e))}),c.toString=b._path2string,c});var ya=function(a){var b=ya.ps=ya.ps||{};return b[a]?b[a].sleep=100:b[a]={sleep:100},setTimeout(function(){for(var c in b) +b[y](c)&&c!=a&&(b[c].sleep--,!b[c].sleep&&delete b[c])}),b[a]};b.findDotsAtSegment=function(a,b,c,d,e,f,g,h,i){var j=1-i,k=Q(j,3),l=Q(j,2),m=i*i,n=m*i,o=k*a+3*l*i*c+3*j*i*i*e+n*g,p=k*b+3*l*i*d+3*j*i*i*f+n*h,q=a+2*i*(c-a)+m*(e-2*c+a),r=b+2*i*(d-b)+m*(f-2*d+b),s=c+2*i*(e-c)+m*(g-2*e+c),t=d+2*i*(f-d)+m*(h-2*f+d),u=j*a+i*c,v=j*b+i*d,w=j*e+i*g,x=j*f+i*h,y=90-180*M.atan2(q-s,r-t)/R;return(q>s||t>r)&&(y+=180),{x:o,y:p,m:{x:q,y:r},n:{x:s,y:t},start:{x:u,y:v},end:{x:w,y:x},alpha:y}},b.bezierBBox=function(a,c,d,e,f,g,h,i){b.is(a,"array")||(a=[a,c,d,e,f,g,h,i]);var j=Ha.apply(null,a);return{x:j.min.x,y:j.min.y,x2:j.max.x,y2:j.max.y,width:j.max.x-j.min.x,height:j.max.y-j.min.y}},b.isPointInsideBBox=function(a,b,c){return b>=a.x&&b<=a.x2&&c>=a.y&&c<=a.y2},b.isBBoxIntersect=function(a,c){var d=b.isPointInsideBBox;return d(c,a.x,a.y)||d(c,a.x2,a.y)||d(c,a.x,a.y2)||d(c,a.x2,a.y2)||d(a,c.x,c.y)||d(a,c.x2,c.y)||d(a,c.x,c.y2)||d(a,c.x2,c.y2)||(a.xc.x||c.xa.x)&&(a.yc.y||c.ya.y)},b.pathIntersection=function(a,b){return m(a,b)},b.pathIntersectionNumber=function(a,b){return m(a,b,1)},b.isPointInsidePath=function(a,c,d){var e=b.pathBBox(a);return b.isPointInsideBBox(e,c,d)&&m(a,[["M",c,d],["H",e.x2+10]],1)%2==1},b._removedFactory=function(b){return function(){a("raphael.log",null,"Raphaël: you are calling to method “"+b+"” of removed object",b)}};var za=b.pathBBox=function(a){var b=ya(a);if(b.bbox) +return c(b.bbox);if(!a) +return{x:0,y:0,width:0,height:0,x2:0,y2:0};a=Ia(a);for(var d,e=0,f=0,g=[],h=[],i=0,j=a.length;j>i;i++) +if(d=a[i],"M"==d[0]) +e=d[1],f=d[2],g.push(e),h.push(f);else{var k=Ha(e,f,d[1],d[2],d[3],d[4],d[5],d[6]);g=g[D](k.min.x,k.max.x),h=h[D](k.min.y,k.max.y),e=d[5],f=d[6]} +var l=O[C](0,g),m=O[C](0,h),n=N[C](0,g),o=N[C](0,h),p=n-l,q=o-m,r={x:l,y:m,x2:n,y2:o,width:p,height:q,cx:l+p/2,cy:m+q/2};return b.bbox=c(r),r},Aa=function(a){var d=c(a);return d.toString=b._path2string,d},Ba=b._pathToRelative=function(a){var c=ya(a);if(c.rel) +return Aa(c.rel);b.is(a,U)&&b.is(a&&a[0],U)||(a=b.parsePathString(a));var d=[],e=0,f=0,g=0,h=0,i=0;"M"==a[0][0]&&(e=a[0][1],f=a[0][2],g=e,h=f,i++,d.push(["M",e,f]));for(var j=i,k=a.length;k>j;j++){var l=d[j]=[],m=a[j];if(m[0]!=L.call(m[0])) +switch(l[0]=L.call(m[0]),l[0]){case"a":l[1]=m[1],l[2]=m[2],l[3]=m[3],l[4]=m[4],l[5]=m[5],l[6]=+(m[6]-e).toFixed(3),l[7]=+(m[7]-f).toFixed(3);break;case"v":l[1]=+(m[1]-f).toFixed(3);break;case"m":g=m[1],h=m[2];default:for(var n=1,o=m.length;o>n;n++) +l[n]=+(m[n]-(n%2?e:f)).toFixed(3)} +else{l=d[j]=[],"m"==m[0]&&(g=m[1]+e,h=m[2]+f);for(var p=0,q=m.length;q>p;p++) +d[j][p]=m[p]} +var r=d[j].length;switch(d[j][0]){case"z":e=g,f=h;break;case"h":e+=+d[j][r-1];break;case"v":f+=+d[j][r-1];break;default:e+=+d[j][r-2],f+=+d[j][r-1]}} +return d.toString=b._path2string,c.rel=Aa(d),d},Ca=b._pathToAbsolute=function(a){var c=ya(a);if(c.abs) +return Aa(c.abs);if(b.is(a,U)&&b.is(a&&a[0],U)||(a=b.parsePathString(a)),!a||!a.length) +return[["M",0,0]];var d=[],e=0,f=0,h=0,i=0,j=0;"M"==a[0][0]&&(e=+a[0][1],f=+a[0][2],h=e,i=f,j++,d[0]=["M",e,f]);for(var k,l,m=3==a.length&&"M"==a[0][0]&&"R"==a[1][0].toUpperCase()&&"Z"==a[2][0].toUpperCase(),n=j,o=a.length;o>n;n++){if(d.push(k=[]),l=a[n],l[0]!=aa.call(l[0])) +switch(k[0]=aa.call(l[0]),k[0]){case"A":k[1]=l[1],k[2]=l[2],k[3]=l[3],k[4]=l[4],k[5]=l[5],k[6]=+(l[6]+e),k[7]=+(l[7]+f);break;case"V":k[1]=+l[1]+f;break;case"H":k[1]=+l[1]+e;break;case"R":for(var p=[e,f][D](l.slice(1)),q=2,r=p.length;r>q;q++) +p[q]=+p[q]+e,p[++q]=+p[q]+f;d.pop(),d=d[D](g(p,m));break;case"M":h=+l[1]+e,i=+l[2]+f;default:for(q=1,r=l.length;r>q;q++) +k[q]=+l[q]+(q%2?e:f)} +else if("R"==l[0]) +p=[e,f][D](l.slice(1)),d.pop(),d=d[D](g(p,m)),k=["R"][D](l.slice(-2));else +for(var s=0,t=l.length;t>s;s++) +k[s]=l[s];switch(k[0]){case"Z":e=h,f=i;break;case"H":e=k[1];break;case"V":f=k[1];break;case"M":h=k[k.length-2],i=k[k.length-1];default:e=k[k.length-2],f=k[k.length-1]}} +return d.toString=b._path2string,c.abs=Aa(d),d},Da=function(a,b,c,d){return[a,b,c,d,c,d]},Ea=function(a,b,c,d,e,f){var g=1/3,h=2/3;return[g*a+h*c,g*b+h*d,g*e+h*c,g*f+h*d,e,f]},Fa=function(a,b,c,d,f,g,h,i,j,k){var l,m=120*R/180,n=R/180*(+f||0),o=[],p=e(function(a,b,c){var d=a*M.cos(c)-b*M.sin(c),e=a*M.sin(c)+b*M.cos(c);return{x:d,y:e}});if(k) +y=k[0],z=k[1],w=k[2],x=k[3];else{l=p(a,b,-n),a=l.x,b=l.y,l=p(i,j,-n),i=l.x,j=l.y;var q=(M.cos(R/180*f),M.sin(R/180*f),(a-i)/2),r=(b-j)/2,s=q*q/(c*c)+r*r/(d*d);s>1&&(s=M.sqrt(s),c=s*c,d=s*d);var t=c*c,u=d*d,v=(g==h?-1:1)*M.sqrt(P((t*u-t*r*r-u*q*q)/(t*r*r+u*q*q))),w=v*c*r/d+(a+i)/2,x=v* -d*q/c+(b+j)/2,y=M.asin(((b-x)/d).toFixed(9)),z=M.asin(((j-x)/d).toFixed(9));y=w>a?R-y:y,z=w>i?R-z:z,0>y&&(y=2*R+y),0>z&&(z=2*R+z),h&&y>z&&(y-=2*R),!h&&z>y&&(z-=2*R)} +var A=z-y;if(P(A)>m){var B=z,C=i,E=j;z=y+m*(h&&z>y?1:-1),i=w+c*M.cos(z),j=x+d*M.sin(z),o=Fa(i,j,c,d,f,0,h,C,E,[z,B,w,x])} +A=z-y;var F=M.cos(y),G=M.sin(y),H=M.cos(z),J=M.sin(z),K=M.tan(A/4),L=4/3*c*K,N=4/3*d*K,O=[a,b],Q=[a+L*G,b-N*F],S=[i+L*J,j-N*H],T=[i,j];if(Q[0]=2*O[0]-Q[0],Q[1]=2*O[1]-Q[1],k) +return[Q,S,T][D](o);o=[Q,S,T][D](o).join()[I](",");for(var U=[],V=0,W=o.length;W>V;V++) +U[V]=V%2?p(o[V-1],o[V],n).y:p(o[V],o[V+1],n).x;return U},Ga=function(a,b,c,d,e,f,g,h,i){var j=1-i;return{x:Q(j,3)*a+3*Q(j,2)*i*c+3*j*i*i*e+Q(i,3)*g,y:Q(j,3)*b+3*Q(j,2)*i*d+3*j*i*i*f+Q(i,3)*h}},Ha=e(function(a,b,c,d,e,f,g,h){var i,j=e-2*c+a-(g-2*e+c),k=2*(c-a)-2*(e-c),l=a-c,m=(-k+M.sqrt(k*k-4*j*l))/2/j,n=(-k-M.sqrt(k*k-4*j*l))/2/j,o=[b,h],p=[a,g];return P(m)>"1e12"&&(m=.5),P(n)>"1e12"&&(n=.5),m>0&&1>m&&(i=Ga(a,b,c,d,e,f,g,h,m),p.push(i.x),o.push(i.y)),n>0&&1>n&&(i=Ga(a,b,c,d,e,f,g,h,n),p.push(i.x),o.push(i.y)),j=f-2*d+b-(h-2*f+d),k=2*(d-b)-2*(f-d),l=b-d,m=(-k+M.sqrt(k*k-4*j*l))/2/j,n=(-k-M.sqrt(k*k-4*j*l))/2/j,P(m)>"1e12"&&(m=.5),P(n)>"1e12"&&(n=.5),m>0&&1>m&&(i=Ga(a,b,c,d,e,f,g,h,m),p.push(i.x),o.push(i.y)),n>0&&1>n&&(i=Ga(a,b,c,d,e,f,g,h,n),p.push(i.x),o.push(i.y)),{min:{x:O[C](0,p),y:O[C](0,o)},max:{x:N[C](0,p),y:N[C](0,o)}}}),Ia=b._path2curve=e(function(a,b){var c=!b&&ya(a);if(!b&&c.curve) +return Aa(c.curve);for(var d=Ca(a),e=b&&Ca(b),f={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},g={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},h=(function(a,b,c){var d,e,f={T:1,Q:1};if(!a) +return["C",b.x,b.y,b.x,b.y,b.x,b.y];switch(!(a[0]in f)&&(b.qx=b.qy=null),a[0]){case"M":b.X=a[1],b.Y=a[2];break;case"A":a=["C"][D](Fa[C](0,[b.x,b.y][D](a.slice(1))));break;case"S":"C"==c||"S"==c?(d=2*b.x-b.bx,e=2*b.y-b.by):(d=b.x,e=b.y),a=["C",d,e][D](a.slice(1));break;case"T":"Q"==c||"T"==c?(b.qx=2*b.x-b.qx,b.qy=2*b.y-b.qy):(b.qx=b.x,b.qy=b.y),a=["C"][D](Ea(b.x,b.y,b.qx,b.qy,a[1],a[2]));break;case"Q":b.qx=a[1],b.qy=a[2],a=["C"][D](Ea(b.x,b.y,a[1],a[2],a[3],a[4]));break;case"L":a=["C"][D](Da(b.x,b.y,a[1],a[2]));break;case"H":a=["C"][D](Da(b.x,b.y,a[1],b.y));break;case"V":a=["C"][D](Da(b.x,b.y,b.x,a[1]));break;case"Z":a=["C"][D](Da(b.x,b.y,b.X,b.Y))} +return a}),i=function(a,b){if(a[b].length>7){a[b].shift();for(var c=a[b];c.length;) +k[b]="A",e&&(l[b]="A"),a.splice(b++,0,["C"][D](c.splice(0,6)));a.splice(b,1),p=N(d.length,e&&e.length||0)}},j=function(a,b,c,f,g){a&&b&&"M"==a[g][0]&&"M"!=b[g][0]&&(b.splice(g,0,["M",f.x,f.y]),c.bx=0,c.by=0,c.x=a[g][1],c.y=a[g][2],p=N(d.length,e&&e.length||0))},k=[],l=[],m="",n="",o=0,p=N(d.length,e&&e.length||0);p>o;o++){d[o]&&(m=d[o][0]),"C"!=m&&(k[o]=m,o&&(n=k[o-1])),d[o]=h(d[o],f,n),"A"!=k[o]&&"C"==m&&(k[o]="C"),i(d,o),e&&(e[o]&&(m=e[o][0]),"C"!=m&&(l[o]=m,o&&(n=l[o-1])),e[o]=h(e[o],g,n),"A"!=l[o]&&"C"==m&&(l[o]="C"),i(e,o)),j(d,e,f,g,o),j(e,d,g,f,o);var q=d[o],r=e&&e[o],s=q.length,t=e&&r.length;f.x=q[s-2],f.y=q[s-1],f.bx=$(q[s-4])||f.x,f.by=$(q[s-3])||f.y,g.bx=e&&($(r[t-4])||g.x),g.by=e&&($(r[t-3])||g.y),g.x=e&&r[t-2],g.y=e&&r[t-1]} +return e||(c.curve=Aa(d)),e?[d,e]:d},null,Aa),Ja=(b._parseDots=e(function(a){for(var c=[],d=0,e=a.length;e>d;d++){var f={},g=a[d].match(/^([^:]*):?([\d\.]*)/);if(f.color=b.getRGB(g[1]),f.color.error) +return null;f.opacity=f.color.opacity,f.color=f.color.hex,g[2]&&(f.offset=g[2]+"%"),c.push(f)} +for(d=1,e=c.length-1;e>d;d++) +if(!c[d].offset){for(var h=$(c[d-1].offset||0),i=0,j=d+1;e>j;j++) +if(c[j].offset){i=c[j].offset;break} +i||(i=100,j=e),i=$(i);for(var k=(i-h)/(j-d+1);j>d;d++) +h+=k,c[d].offset=h+"%"} +return c}),b._tear=function(a,b){a==b.top&&(b.top=a.prev),a==b.bottom&&(b.bottom=a.next),a.next&&(a.next.prev=a.prev),a.prev&&(a.prev.next=a.next)}),Ka=(b._tofront=function(a,b){b.top!==a&&(Ja(a,b),a.next=null,a.prev=b.top,b.top.next=a,b.top=a)},b._toback=function(a,b){b.bottom!==a&&(Ja(a,b),a.next=b.bottom,a.prev=null,b.bottom.prev=a,b.bottom=a)},b._insertafter=function(a,b,c){Ja(a,c),b==c.top&&(c.top=a),b.next&&(b.next.prev=a),a.next=b.next,a.prev=b,b.next=a},b._insertbefore=function(a,b,c){Ja(a,c),b==c.bottom&&(c.bottom=a),b.prev&&(b.prev.next=a),a.prev=b.prev,b.prev=a,a.next=b},b.toMatrix=function(a,b){var c=za(a),d={_:{transform:F},getBBox:function(){return c}};return La(d,b),d.matrix}),La=(b.transformPath=function(a,b){return pa(a,Ka(a,b))},b._extractTransform=function(a,c){if(null==c) +return a._.transform;c=H(c).replace(/\.{3}|\u2026/g,a._.transform||F);var d=b.parseTransformString(c),e=0,f=0,g=0,h=1,i=1,j=a._,k=new n;if(j.transform=d||[],d) +for(var l=0,m=d.length;m>l;l++){var o,p,q,r,s,t=d[l],u=t.length,v=H(t[0]).toLowerCase(),w=t[0]!=v,x=w?k.invert():0;"t"==v&&3==u?w?(o=x.x(0,0),p=x.y(0,0),q=x.x(t[1],t[2]),r=x.y(t[1],t[2]),k.translate(q-o,r-p)):k.translate(t[1],t[2]):"r"==v?2==u?(s=s||a.getBBox(1),k.rotate(t[1],s.x+s.width/2,s.y+s.height/2),e+=t[1]):4==u&&(w?(q=x.x(t[2],t[3]),r=x.y(t[2],t[3]),k.rotate(t[1],q,r)):k.rotate(t[1],t[2],t[3]),e+=t[1]):"s"==v?2==u||3==u?(s=s||a.getBBox(1),k.scale(t[1],t[u-1],s.x+s.width/2,s.y+s.height/2),h*=t[1],i*=t[u-1]):5==u&&(w?(q=x.x(t[3],t[4]),r=x.y(t[3],t[4]),k.scale(t[1],t[2],q,r)):k.scale(t[1],t[2],t[3],t[4]),h*=t[1],i*=t[2]):"m"==v&&7==u&&k.add(t[1],t[2],t[3],t[4],t[5],t[6]),j.dirtyT=1,a.matrix=k} +a.matrix=k,j.sx=h,j.sy=i,j.deg=e,j.dx=f=k.e,j.dy=g=k.f,1==h&&1==i&&!e&&j.bbox?(j.bbox.x+=+f,j.bbox.y+=+g):j.dirtyT=1}),Ma=function(a){var b=a[0];switch(b.toLowerCase()){case"t":return[b,0,0];case"m":return[b,1,0,0,1,0,0];case"r":return 4==a.length?[b,0,a[2],a[3]]:[b,0];case"s":return 5==a.length?[b,1,1,a[3],a[4]]:3==a.length?[b,1,1]:[b,1]}},Na=b._equaliseTransform=function(a,c){c=H(c).replace(/\.{3}|\u2026/g,a),a=b.parseTransformString(a)||[],c=b.parseTransformString(c)||[];for(var d,e,f,g,h=N(a.length,c.length),i=[],j=[],k=0;h>k;k++){if(f=a[k]||Ma(c[k]),g=c[k]||Ma(f),f[0]!=g[0]||"r"==f[0].toLowerCase()&&(f[2]!=g[2]||f[3]!=g[3])||"s"==f[0].toLowerCase()&&(f[3]!=g[3]||f[4]!=g[4])) +return;for(i[k]=[],j[k]=[],d=0,e=N(f.length,g.length);e>d;d++) +d in f&&(i[k][d]=f[d]),d in g&&(j[k][d]=g[d])} +return{from:i,to:j}};b._getContainer=function(a,c,d,e){var f;return f=null!=e||b.is(a,"object")?a:z.doc.getElementById(a),null!=f?f.tagName?null==c?{container:f,width:f.style.pixelWidth||f.offsetWidth,height:f.style.pixelHeight||f.offsetHeight}:{container:f,width:c,height:d}:{container:1,x:a,y:c,width:d,height:e}:void 0},b.pathToRelative=Ba,b._engine={},b.path2curve=Ia,b.matrix=function(a,b,c,d,e,f){return new n(a,b,c,d,e,f)},function(a){function c(a){return a[0]*a[0]+a[1]*a[1]} +function d(a){var b=M.sqrt(c(a));a[0]&&(a[0]/=b),a[1]&&(a[1]/=b)} +a.add=function(a,b,c,d,e,f){var g,h,i,j,k=[[],[],[]],l=[[this.a,this.c,this.e],[this.b,this.d,this.f],[0,0,1]],m=[[a,c,e],[b,d,f],[0,0,1]];for(a&&a instanceof n&&(m=[[a.a,a.c,a.e],[a.b,a.d,a.f],[0,0,1]]),g=0;3>g;g++) +for(h=0;3>h;h++){for(j=0,i=0;3>i;i++) +j+=l[g][i]*m[i][h];k[g][h]=j} +this.a=k[0][0],this.b=k[1][0],this.c=k[0][1],this.d=k[1][1],this.e=k[0][2],this.f=k[1][2]},a.invert=function(){var a=this,b=a.a*a.d-a.b*a.c;return new n(a.d/b,-a.b/b,-a.c/b,a.a/b,(a.c*a.f-a.d*a.e)/b,(a.b*a.e-a.a*a.f)/b)},a.clone=function(){return new n(this.a,this.b,this.c,this.d,this.e,this.f)},a.translate=function(a,b){this.add(1,0,0,1,a,b)},a.scale=function(a,b,c,d){null==b&&(b=a),(c||d)&&this.add(1,0,0,1,c,d),this.add(a,0,0,b,0,0),(c||d)&&this.add(1,0,0,1,-c,-d)},a.rotate=function(a,c,d){a=b.rad(a),c=c||0,d=d||0;var e=+M.cos(a).toFixed(9),f=+M.sin(a).toFixed(9);this.add(e,f,-f,e,c,d),this.add(1,0,0,1,-c,-d)},a.x=function(a,b){return a*this.a+b*this.c+this.e},a.y=function(a,b){return a*this.b+b*this.d+this.f},a.get=function(a){return+this[H.fromCharCode(97+a)].toFixed(4)},a.toString=function(){return b.svg?"matrix("+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)].join()+")":[this.get(0),this.get(2),this.get(1),this.get(3),0,0].join()},a.toFilter=function(){return"progid:DXImageTransform.Microsoft.Matrix(M11="+this.get(0)+", M12="+this.get(2)+", M21="+this.get(1)+", M22="+this.get(3)+", Dx="+this.get(4)+", Dy="+this.get(5)+", sizingmethod='auto expand')"},a.offset=function(){return[this.e.toFixed(4),this.f.toFixed(4)]},a.split=function(){var a={};a.dx=this.e,a.dy=this.f;var e=[[this.a,this.c],[this.b,this.d]];a.scalex=M.sqrt(c(e[0])),d(e[0]),a.shear=e[0][0]*e[1][0]+e[0][1]*e[1][1],e[1]=[e[1][0]-e[0][0]*a.shear,e[1][1]-e[0][1]*a.shear],a.scaley=M.sqrt(c(e[1])),d(e[1]),a.shear/=a.scaley;var f=-e[0][1],g=e[1][1];return 0>g?(a.rotate=b.deg(M.acos(g)),0>f&&(a.rotate=360-a.rotate)):a.rotate=b.deg(M.asin(f)),a.isSimple=!(+a.shear.toFixed(9)||a.scalex.toFixed(9)!=a.scaley.toFixed(9)&&a.rotate),a.isSuperSimple=!+a.shear.toFixed(9)&&a.scalex.toFixed(9)==a.scaley.toFixed(9)&&!a.rotate,a.noRotation=!+a.shear.toFixed(9)&&!a.rotate,a},a.toTransformString=function(a){var b=a||this[I]();return b.isSimple?(b.scalex=+b.scalex.toFixed(4),b.scaley=+b.scaley.toFixed(4),b.rotate=+b.rotate.toFixed(4),(b.dx||b.dy?"t"+[b.dx,b.dy]:F)+(1!=b.scalex||1!=b.scaley?"s"+[b.scalex,b.scaley,0,0]:F)+(b.rotate?"r"+[b.rotate,0,0]:F)):"m"+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)]}} +(n.prototype);for(var Oa=function(){this.returnValue=!1},Pa=function(){return this.originalEvent.preventDefault()},Qa=function(){this.cancelBubble=!0},Ra=function(){return this.originalEvent.stopPropagation()},Sa=function(a){var b=z.doc.documentElement.scrollTop||z.doc.body.scrollTop,c=z.doc.documentElement.scrollLeft||z.doc.body.scrollLeft;return{x:a.clientX+c,y:a.clientY+b}},Ta=function(){return z.doc.addEventListener?function(a,b,c,d){var e=function(a){var b=Sa(a);return c.call(d,a,b.x,b.y)};if(a.addEventListener(b,e,!1),E&&K[b]){var f=function(b){for(var e=Sa(b),f=b,g=0,h=b.targetTouches&&b.targetTouches.length;h>g;g++) +if(b.targetTouches[g].target==a){b=b.targetTouches[g],b.originalEvent=f,b.preventDefault=Pa,b.stopPropagation=Ra;break} +return c.call(d,b,e.x,e.y)};a.addEventListener(K[b],f,!1)} +return function(){return a.removeEventListener(b,e,!1),E&&K[b]&&a.removeEventListener(K[b],f,!1),!0}}:z.doc.attachEvent?function(a,b,c,d){var e=function(a){a=a||z.win.event;var b=z.doc.documentElement.scrollTop||z.doc.body.scrollTop,e=z.doc.documentElement.scrollLeft||z.doc.body.scrollLeft,f=a.clientX+e,g=a.clientY+b;return a.preventDefault=a.preventDefault||Oa,a.stopPropagation=a.stopPropagation||Qa,c.call(d,a,f,g)};a.attachEvent("on"+b,e);var f=function(){return a.detachEvent("on"+b,e),!0};return f}:void 0} +(),Ua=[],Va=function(b){for(var c,d=b.clientX,e=b.clientY,f=z.doc.documentElement.scrollTop||z.doc.body.scrollTop,g=z.doc.documentElement.scrollLeft||z.doc.body.scrollLeft,h=Ua.length;h--;){if(c=Ua[h],E&&b.touches){for(var i,j=b.touches.length;j--;) +if(i=b.touches[j],i.identifier==c.el._drag.id){d=i.clientX,e=i.clientY,(b.originalEvent?b.originalEvent:b).preventDefault();break}}else +b.preventDefault();var k,l=c.el.node,m=l.nextSibling,n=l.parentNode,o=l.style.display;z.win.opera&&n.removeChild(l),l.style.display="none",k=c.el.paper.getElementByPoint(d,e),l.style.display=o,z.win.opera&&(m?n.insertBefore(l,m):n.appendChild(l)),k&&a("raphael.drag.over."+c.el.id,c.el,k),d+=g,e+=f,a("raphael.drag.move."+c.el.id,c.move_scope||c.el,d-c.el._drag.x,e-c.el._drag.y,d,e,b)}},Wa=function(c){b.unmousemove(Va).unmouseup(Wa);for(var d,e=Ua.length;e--;) +d=Ua[e],d.el._drag={},a("raphael.drag.end."+d.el.id,d.end_scope||d.start_scope||d.move_scope||d.el,c);Ua=[]},Xa=b.el={},Ya=J.length;Ya--;) +!function(a){b[a]=Xa[a]=function(c,d){return b.is(c,"function")&&(this.events=this.events||[],this.events.push({name:a,f:c,unbind:Ta(this.shape||this.node||z.doc,a,c,d||this)})),this},b["un"+a]=Xa["un"+a]=function(c){for(var d=this.events||[],e=d.length;e--;) +d[e].name!=a||!b.is(c,"undefined")&&d[e].f!=c||(d[e].unbind(),d.splice(e,1),!d.length&&delete this.events);return this}} +(J[Ya]);Xa.data=function(c,d){var e=ja[this.id]=ja[this.id]||{};if(0==arguments.length) +return e;if(1==arguments.length){if(b.is(c,"object")){for(var f in c) +c[y](f)&&this.data(f,c[f]);return this} +return a("raphael.data.get."+this.id,this,e[c],c),e[c]} +return e[c]=d,a("raphael.data.set."+this.id,this,d,c),this},Xa.removeData=function(a){return null==a?ja[this.id]={}:ja[this.id]&&delete ja[this.id][a],this},Xa.getData=function(){return c(ja[this.id]||{})},Xa.hover=function(a,b,c,d){return this.mouseover(a,c).mouseout(b,d||c)},Xa.unhover=function(a,b){return this.unmouseover(a).unmouseout(b)};var Za=[];Xa.drag=function(c,d,e,f,g,h){function i(i){(i.originalEvent||i).preventDefault();var j=i.clientX,k=i.clientY,l=z.doc.documentElement.scrollTop||z.doc.body.scrollTop,m=z.doc.documentElement.scrollLeft||z.doc.body.scrollLeft;if(this._drag.id=i.identifier,E&&i.touches) +for(var n,o=i.touches.length;o--;) +if(n=i.touches[o],this._drag.id=n.identifier,n.identifier==this._drag.id){j=n.clientX,k=n.clientY;break} +this._drag.x=j+m,this._drag.y=k+l,!Ua.length&&b.mousemove(Va).mouseup(Wa),Ua.push({el:this,move_scope:f,start_scope:g,end_scope:h}),d&&a.on("raphael.drag.start."+this.id,d),c&&a.on("raphael.drag.move."+this.id,c),e&&a.on("raphael.drag.end."+this.id,e),a("raphael.drag.start."+this.id,g||f||this,i.clientX+m,i.clientY+l,i)} +return this._drag={},Za.push({el:this,start:i}),this.mousedown(i),this},Xa.onDragOver=function(b){b?a.on("raphael.drag.over."+this.id,b):a.unbind("raphael.drag.over."+this.id)},Xa.undrag=function(){for(var c=Za.length;c--;) +Za[c].el==this&&(this.unmousedown(Za[c].start),Za.splice(c,1),a.unbind("raphael.drag.*."+this.id));!Za.length&&b.unmousemove(Va).unmouseup(Wa),Ua=[]},u.circle=function(a,c,d){var e=b._engine.circle(this,a||0,c||0,d||0);return this.__set__&&this.__set__.push(e),e},u.rect=function(a,c,d,e,f){var g=b._engine.rect(this,a||0,c||0,d||0,e||0,f||0);return this.__set__&&this.__set__.push(g),g},u.ellipse=function(a,c,d,e){var f=b._engine.ellipse(this,a||0,c||0,d||0,e||0);return this.__set__&&this.__set__.push(f),f},u.path=function(a){a&&!b.is(a,T)&&!b.is(a[0],U)&&(a+=F);var c=b._engine.path(b.format[C](b,arguments),this);return this.__set__&&this.__set__.push(c),c},u.image=function(a,c,d,e,f){var g=b._engine.image(this,a||"about:blank",c||0,d||0,e||0,f||0);return this.__set__&&this.__set__.push(g),g},u.text=function(a,c,d){var e=b._engine.text(this,a||0,c||0,H(d));return this.__set__&&this.__set__.push(e),e},u.set=function(a){!b.is(a,"array")&&(a=Array.prototype.splice.call(arguments,0,arguments.length));var c=new jb(a);return this.__set__&&this.__set__.push(c),c.paper=this,c.type="set",c},u.setStart=function(a){this.__set__=a||this.set()},u.setFinish=function(a){var b=this.__set__;return delete this.__set__,b},u.getSize=function(){var a=this.canvas.parentNode;return{width:a.offsetWidth,height:a.offsetHeight}},u.setSize=function(a,c){return b._engine.setSize.call(this,a,c)},u.setViewBox=function(a,c,d,e,f){return b._engine.setViewBox.call(this,a,c,d,e,f)},u.top=u.bottom=null,u.raphael=b;var $a=function(a){var b=a.getBoundingClientRect(),c=a.ownerDocument,d=c.body,e=c.documentElement,f=e.clientTop||d.clientTop||0,g=e.clientLeft||d.clientLeft||0,h=b.top+(z.win.pageYOffset||e.scrollTop||d.scrollTop)-f,i=b.left+(z.win.pageXOffset||e.scrollLeft||d.scrollLeft)-g;return{y:h,x:i}};u.getElementByPoint=function(a,b){var c=this,d=c.canvas,e=z.doc.elementFromPoint(a,b);if(z.win.opera&&"svg"==e.tagName){var f=$a(d),g=d.createSVGRect();g.x=a-f.x,g.y=b-f.y,g.width=g.height=1;var h=d.getIntersectionList(g,null);h.length&&(e=h[h.length-1])} +if(!e) +return null;for(;e.parentNode&&e!=d.parentNode&&!e.raphael;) +e=e.parentNode;return e==c.canvas.parentNode&&(e=d),e=e&&e.raphael?c.getById(e.raphaelid):null},u.getElementsByBBox=function(a){var c=this.set();return this.forEach(function(d){b.isBBoxIntersect(d.getBBox(),a)&&c.push(d)}),c},u.getById=function(a){for(var b=this.bottom;b;){if(b.id==a) +return b;b=b.next} +return null},u.forEach=function(a,b){for(var c=this.bottom;c;){if(a.call(b,c)===!1) +return this;c=c.next} +return this},u.getElementsByPoint=function(a,b){var c=this.set();return this.forEach(function(d){d.isPointInside(a,b)&&c.push(d)}),c},Xa.isPointInside=function(a,c){var d=this.realPath=oa[this.type](this);return this.attr("transform")&&this.attr("transform").length&&(d=b.transformPath(d,this.attr("transform"))),b.isPointInsidePath(d,a,c)},Xa.getBBox=function(a){if(this.removed) +return{};var b=this._;return a?((b.dirty||!b.bboxwt)&&(this.realPath=oa[this.type](this),b.bboxwt=za(this.realPath),b.bboxwt.toString=o,b.dirty=0),b.bboxwt):((b.dirty||b.dirtyT||!b.bbox)&&((b.dirty||!this.realPath)&&(b.bboxwt=0,this.realPath=oa[this.type](this)),b.bbox=za(pa(this.realPath,this.matrix)),b.bbox.toString=o,b.dirty=b.dirtyT=0),b.bbox)},Xa.clone=function(){if(this.removed) +return null;var a=this.paper[this.type]().attr(this.attr());return this.__set__&&this.__set__.push(a),a},Xa.glow=function(a){if("text"==this.type) +return null;a=a||{};var b={width:(a.width||10)+(+this.attr("stroke-width")||1),fill:a.fill||!1,opacity:null==a.opacity?.5:a.opacity,offsetx:a.offsetx||0,offsety:a.offsety||0,color:a.color||"#000"},c=b.width/2,d=this.paper,e=d.set(),f=this.realPath||oa[this.type](this);f=this.matrix?pa(f,this.matrix):f;for(var g=1;c+1>g;g++) +e.push(d.path(f).attr({stroke:b.color,fill:b.fill?b.color:"none","stroke-linejoin":"round","stroke-linecap":"round","stroke-width":+(b.width/c*g).toFixed(3),opacity:+(b.opacity/c).toFixed(3)}));return e.insertBefore(this).translate(b.offsetx,b.offsety)};var _a=function(a,c,d,e,f,g,h,k,l){return null==l?i(a,c,d,e,f,g,h,k):b.findDotsAtSegment(a,c,d,e,f,g,h,k,j(a,c,d,e,f,g,h,k,l))},ab=function(a,c){return function(d,e,f){d=Ia(d);for(var g,h,i,j,k,l="",m={},n=0,o=0,p=d.length;p>o;o++){if(i=d[o],"M"==i[0]) +g=+i[1],h=+i[2];else{if(j=_a(g,h,i[1],i[2],i[3],i[4],i[5],i[6]),n+j>e){if(c&&!m.start){if(k=_a(g,h,i[1],i[2],i[3],i[4],i[5],i[6],e-n),l+=["C"+k.start.x,k.start.y,k.m.x,k.m.y,k.x,k.y],f) +return l;m.start=l,l=["M"+k.x,k.y+"C"+k.n.x,k.n.y,k.end.x,k.end.y,i[5],i[6]].join(),n+=j,g=+i[5],h=+i[6];continue} +if(!a&&!c) +return k=_a(g,h,i[1],i[2],i[3],i[4],i[5],i[6],e-n),{x:k.x,y:k.y,alpha:k.alpha}} +n+=j,g=+i[5],h=+i[6]} +l+=i.shift()+i} +return m.end=l,k=a?n:c?m:b.findDotsAtSegment(g,h,i[0],i[1],i[2],i[3],i[4],i[5],1),k.alpha&&(k={x:k.x,y:k.y,alpha:k.alpha}),k}},bb=ab(1),cb=ab(),db=ab(0,1);b.getTotalLength=bb,b.getPointAtLength=cb,b.getSubpath=function(a,b,c){if(this.getTotalLength(a)-c<1e-6) +return db(a,b).end;var d=db(a,c,1);return b?db(d,b).end:d},Xa.getTotalLength=function(){var a=this.getPath();if(a) +return this.node.getTotalLength?this.node.getTotalLength():bb(a)},Xa.getPointAtLength=function(a){var b=this.getPath();if(b) +return cb(b,a)},Xa.getPath=function(){var a,c=b._getPath[this.type];if("text"!=this.type&&"set"!=this.type) +return c&&(a=c(this)),a},Xa.getSubpath=function(a,c){var d=this.getPath();if(d) +return b.getSubpath(d,a,c)};var eb=b.easing_formulas={linear:function(a){return a},"<":function(a){return Q(a,1.7)},">":function(a){return Q(a,.48)},"<>":function(a){var b=.48-a/1.04,c=M.sqrt(.1734+b*b),d=c-b,e=Q(P(d),1/3)*(0>d?-1:1),f=-c-b,g=Q(P(f),1/3)*(0>f?-1:1),h=e+g+.5;return 3*(1-h)*h*h+h*h*h},backIn:function(a){var b=1.70158;return a*a*((b+1)*a-b)},backOut:function(a){a-=1;var b=1.70158;return a*a*((b+1)*a+b)+1},elastic:function(a){return a==!!a?a:Q(2,-10*a)*M.sin(2*(a-.075)*R/.3)+1},bounce:function(a){var b,c=7.5625,d=2.75;return 1/d>a?b=c*a*a:2/d>a?(a-=1.5/d,b=c*a*a+.75):2.5/d>a?(a-=2.25/d,b=c*a*a+.9375):(a-=2.625/d,b=c*a*a+.984375),b}};eb.easeIn=eb["ease-in"]=eb["<"],eb.easeOut=eb["ease-out"]=eb[">"],eb.easeInOut=eb["ease-in-out"]=eb["<>"],eb["back-in"]=eb.backIn,eb["back-out"]=eb.backOut;var fb=[],gb=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){setTimeout(a,16)},hb=function(){for(var c=+new Date,d=0;dh)) +if(i>h){var q=j(h/i);for(var s in k) +if(k[y](s)){switch(ca[s]){case S:f=+k[s]+q*i*l[s];break;case"colour":f="rgb("+[ib(Z(k[s].r+q*i*l[s].r)),ib(Z(k[s].g+q*i*l[s].g)),ib(Z(k[s].b+q*i*l[s].b))].join(",")+")";break;case"path":f=[];for(var t=0,u=k[s].length;u>t;t++){f[t]=[k[s][t][0]];for(var v=1,w=k[s][t].length;w>v;v++) +f[t][v]=+k[s][t][v]+q*i*l[s][t][v];f[t]=f[t].join(G)} +f=f.join(G);break;case"transform":if(l[s].real) +for(f=[],t=0,u=k[s].length;u>t;t++) +for(f[t]=[k[s][t][0]],v=1,w=k[s][t].length;w>v;v++) +f[t][v]=k[s][t][v]+q*i*l[s][t][v];else{var x=function(a){return+k[s][a]+q*i*l[s][a]};f=[["m",x(0),x(1),x(2),x(3),x(4),x(5)]]} +break;case"csv":if("clip-rect"==s) +for(f=[],t=4;t--;) +f[t]=+k[s][t]+q*i*l[s][t];break;default:var z=[][D](k[s]);for(f=[],t=n.paper.customAttributes[s].length;t--;) +f[t]=+z[t]+q*i*l[s][t]} +o[s]=f} +n.attr(o),function(b,c,d){setTimeout(function(){a("raphael.anim.frame."+b,c,d)})} +(n.id,n,e.anim)}else{if(function(c,d,e){setTimeout(function(){a("raphael.anim.frame."+d.id,d,e),a("raphael.anim.finish."+d.id,d,e),b.is(c,"function")&&c.call(d)})} +(e.callback,n,e.anim),n.attr(m),fb.splice(d--,1),e.repeat>1&&!e.next){for(g in m) +m[y](g)&&(p[g]=e.totalOrigin[g]);e.el.attr(p),r(e.anim,e.el,e.anim.percents[0],null,e.totalOrigin,e.repeat-1)} +e.next&&!e.stop&&r(e.anim,e.el,e.next,null,e.totalOrigin,e.repeat)}}} +fb.length&&gb(hb)},ib=function(a){return a>255?255:0>a?0:a};Xa.animateWith=function(a,c,d,e,f,g){var h=this;if(h.removed) +return g&&g.call(h),h;var i=d instanceof q?d:b.animation(d,e,f,g);r(i,h,i.percents[0],null,h.attr());for(var j=0,k=fb.length;k>j;j++) +if(fb[j].anim==c&&fb[j].el==a){fb[k-1].start=fb[j].start;break} +return h},Xa.onAnimation=function(b){return b?a.on("raphael.anim.frame."+this.id,b):a.unbind("raphael.anim.frame."+this.id),this},q.prototype.delay=function(a){var b=new q(this.anim,this.ms);return b.times=this.times,b.del=+a||0,b},q.prototype.repeat=function(a){var b=new q(this.anim,this.ms);return b.del=this.del,b.times=M.floor(N(a,0))||1,b},b.animation=function(a,c,d,e){if(a instanceof q) +return a;(b.is(d,"function")||!d)&&(e=e||d||null,d=null),a=Object(a),c=+c||0;var f,g,h={};for(g in a) +a[y](g)&&$(g)!=g&&$(g)+"%"!=g&&(f=!0,h[g]=a[g]);if(f) +return d&&(h.easing=d),e&&(h.callback=e),new q({100:h},c);if(e){var i=0;for(var j in a){var k=_(j);a[y](j)&&k>i&&(i=k)} +i+="%",!a[i].callback&&(a[i].callback=e)} +return new q(a,c)},Xa.animate=function(a,c,d,e){var f=this;if(f.removed) +return e&&e.call(f),f;var g=a instanceof q?a:b.animation(a,c,d,e);return r(g,f,g.percents[0],null,f.attr()),f},Xa.setTime=function(a,b){return a&&null!=b&&this.status(a,O(b,a.ms)/a.ms),this},Xa.status=function(a,b){var c,d,e=[],f=0;if(null!=b) +return r(a,this,-1,O(b,1)),this;for(c=fb.length;c>f;f++) +if(d=fb[f],d.el.id==this.id&&(!a||d.anim==a)){if(a) +return d.status;e.push({anim:d.anim,status:d.status})} +return a?0:e},Xa.pause=function(b){for(var c=0;cb;b++) +!a[b]||a[b].constructor!=Xa.constructor&&a[b].constructor!=jb||(this[this.items.length]=this.items[this.items.length]=a[b],this.length++)},kb=jb.prototype;kb.push=function(){for(var a,b,c=0,d=arguments.length;d>c;c++) +a=arguments[c],!a||a.constructor!=Xa.constructor&&a.constructor!=jb||(b=this.items.length,this[b]=this.items[b]=a,this.length++);return this},kb.pop=function(){return this.length&&delete this[this.length--],this.items.pop()},kb.forEach=function(a,b){for(var c=0,d=this.items.length;d>c;c++) +if(a.call(b,this.items[c],c)===!1) +return this;return this};for(var lb in Xa) +Xa[y](lb)&&(kb[lb]=function(a){return function(){var b=arguments;return this.forEach(function(c){c[a][C](c,b)})}} +(lb));return kb.attr=function(a,c){if(a&&b.is(a,U)&&b.is(a[0],"object")) +for(var d=0,e=a.length;e>d;d++) +this.items[d].attr(a[d]);else +for(var f=0,g=this.items.length;g>f;f++) +this.items[f].attr(a,c);return this},kb.clear=function(){for(;this.length;) +this.pop()},kb.splice=function(a,b,c){a=0>a?N(this.length+a,0):a,b=N(0,O(this.length-a,b));var d,e=[],f=[],g=[];for(d=2;dd;d++) +f.push(this[a+d]);for(;dd?g[d]:e[d-h];for(d=this.items.length=this.length-=b-h;this[d];) +delete this[d++];return new jb(f)},kb.exclude=function(a){for(var b=0,c=this.length;c>b;b++) +if(this[b]==a) +return this.splice(b,1),!0},kb.animate=function(a,c,d,e){(b.is(d,"function")||!d)&&(e=d||null);var f,g,h=this.items.length,i=h,j=this;if(!h) +return this;e&&(g=function(){!--h&&e.call(j)}),d=b.is(d,T)?d:g;var k=b.animation(a,c,d,g);for(f=this.items[--i].animate(k);i--;) +this.items[i]&&!this.items[i].removed&&this.items[i].animateWith(f,k,k),this.items[i]&&!this.items[i].removed||h--;return this},kb.insertAfter=function(a){for(var b=this.items.length;b--;) +this.items[b].insertAfter(a);return this},kb.getBBox=function(){for(var a=[],b=[],c=[],d=[],e=this.items.length;e--;) +if(!this.items[e].removed){var f=this.items[e].getBBox();a.push(f.x),b.push(f.y),c.push(f.x+f.width),d.push(f.y+f.height)} +return a=O[C](0,a),b=O[C](0,b),c=N[C](0,c),d=N[C](0,d),{x:a,y:b,x2:c,y2:d,width:c-a,height:d-b}},kb.clone=function(a){a=this.paper.set();for(var b=0,c=this.items.length;c>b;b++) +a.push(this.items[b].clone());return a},kb.toString=function(){return"Raphaël‘s set"},kb.glow=function(a){var b=this.paper.set();return this.forEach(function(c,d){var e=c.glow(a);null!=e&&e.forEach(function(a,c){b.push(a)})}),b},kb.isPointInside=function(a,b){var c=!1;return this.forEach(function(d){return d.isPointInside(a,b)?(c=!0,!1):void 0}),c},b.registerFont=function(a){if(!a.face) +return a;this.fonts=this.fonts||{};var b={w:a.w,face:{},glyphs:{}},c=a.face["font-family"];for(var d in a.face) +a.face[y](d)&&(b.face[d]=a.face[d]);if(this.fonts[c]?this.fonts[c].push(b):this.fonts[c]=[b],!a.svg){b.face["units-per-em"]=_(a.face["units-per-em"],10);for(var e in a.glyphs) +if(a.glyphs[y](e)){var f=a.glyphs[e];if(b.glyphs[e]={w:f.w,k:{},d:f.d&&"M"+f.d.replace(/[mlcxtrv]/g,function(a){return{l:"L",c:"C",x:"z",t:"m",r:"l",v:"c"} +[a]||"M"})+"z"},f.k) +for(var g in f.k) +f[y](g)&&(b.glyphs[e].k[g]=f.k[g])}} +return a},u.getFont=function(a,c,d,e){if(e=e||"normal",d=d||"normal",c=+c||{normal:400,bold:700,lighter:300,bolder:800} +[c]||400,b.fonts){var f=b.fonts[a];if(!f){var g=new RegExp("(^|\\s)"+a.replace(/[^\w\d\s+!~.:_-]/g,F)+"(\\s|$)","i");for(var h in b.fonts) +if(b.fonts[y](h)&&g.test(h)){f=b.fonts[h];break}} +var i;if(f) +for(var j=0,k=f.length;k>j&&(i=f[j],i.face["font-weight"]!=c||i.face["font-style"]!=d&&i.face["font-style"]||i.face["font-stretch"]!=e);j++);return i}},u.print=function(a,c,d,e,f,g,h,i){g=g||"middle",h=N(O(h||0,1),-1),i=N(O(i||1,3),1);var j,k=H(d)[I](F),l=0,m=0,n=F;if(b.is(e,"string")&&(e=this.getFont(e)),e){j=(f||16)/e.face["units-per-em"];for(var o=e.face.bbox[I](v),p=+o[0],q=o[3]-o[1],r=0,s=+o[1]+("baseline"==g?q+ +e.face.descent:q/2),t=0,u=k.length;u>t;t++){if("\n"==k[t]) +l=0,x=0,m=0,r+=q*i;else{var w=m&&e.glyphs[k[t-1]]||{},x=e.glyphs[k[t]];l+=m?(w.w||e.w)+(w.k&&w.k[k[t]]||0)+e.w*h:0,m=1} +x&&x.d&&(n+=b.transformPath(x.d,["t",l*j,r*j,"s",j,j,p,s,"t",(a-p)/j,(c-s)/j]))}} +return this.path(n).attr({fill:"#000",stroke:"none"})},u.add=function(a){if(b.is(a,"array")) +for(var c,d=this.set(),e=0,f=a.length;f>e;e++) +c=a[e]||{},w[y](c.type)&&d.push(this[c.type]().attr(c));return d},b.format=function(a,c){var d=b.is(c,U)?[0][D](c):arguments;return a&&b.is(a,T)&&d.length-1&&(a=a.replace(x,function(a,b){return null==d[++b]?F:d[b]})),a||F},b.fullfill=function(){var a=/\{([^\}]+)\}/g,b=/(?:(?:^|\.)(.+?)(?=\[|\.|$|\()|\[('|")(.+?)\2\])(\(\))?/g,c=function(a,c,d){var e=d;return c.replace(b,function(a,b,c,d,f){b=b||d,e&&(b in e&&(e=e[b]),"function"==typeof e&&f&&(e=e()))}),e=(null==e||e==d?a:e)+""};return function(b,d){return String(b).replace(a,function(a,b){return c(a,b,d)})}} +(),b.ninja=function(){return A.was?z.win.Raphael=A.is:delete Raphael,b},b.st=kb,a.on("raphael.DOMload",function(){t=!0}),function(a,c,d){function e(){/in/.test(a.readyState)?setTimeout(e,9):b.eve("raphael.DOMload")} +null==a.readyState&&a.addEventListener&&(a.addEventListener(c,d=function(){a.removeEventListener(c,d,!1),a.readyState="complete"},!1),a.readyState="loading"),e()} +(document,"DOMContentLoaded"),b}),function(a,b){"function"==typeof define&&define.amd?define("raphael.svg",["raphael.core"],function(a){return b(a)}):b("object"==typeof exports?require("./raphael.core"):a.Raphael)} +(this,function(a){if(!a||a.svg){var b="hasOwnProperty",c=String,d=parseFloat,e=parseInt,f=Math,g=f.max,h=f.abs,i=f.pow,j=/[, ]+/,k=a.eve,l="",m=" ",n="http://www.w3.org/1999/xlink",o={block:"M5,0 0,2.5 5,5z",classic:"M5,0 0,2.5 5,5 3.5,3 3.5,2z",diamond:"M2.5,0 5,2.5 2.5,5 0,2.5z",open:"M6,1 1,3.5 6,6",oval:"M2.5,0A2.5,2.5,0,0,1,2.5,5 2.5,2.5,0,0,1,2.5,0z"},p={};a.toString=function(){return"Your browser supports SVG.\nYou are running Raphaël "+this.version};var q=function(d,e){if(e){"string"==typeof d&&(d=q(d));for(var f in e) +e[b](f)&&("xlink:"==f.substring(0,6)?d.setAttributeNS(n,f.substring(6),c(e[f])):d.setAttribute(f,c(e[f])))}else +d=a._g.doc.createElementNS("http://www.w3.org/2000/svg",d),d.style&&(d.style.webkitTapHighlightColor="rgba(0,0,0,0)");return d},r=function(b,e){var j="linear",k=b.id+e,m=.5,n=.5,o=b.node,p=b.paper,r=o.style,s=a._g.doc.getElementById(k);if(!s){if(e=c(e).replace(a._radial_gradient,function(a,b,c){if(j="radial",b&&c){m=d(b),n=d(c);var e=2*(n>.5)-1;i(m-.5,2)+i(n-.5,2)>.25&&(n=f.sqrt(.25-i(m-.5,2))*e+.5)&&.5!=n&&(n=n.toFixed(5)-1e-5*e)} +return l}),e=e.split(/\s*\-\s*/),"linear"==j){var t=e.shift();if(t=-d(t),isNaN(t)) +return null;var u=[0,0,f.cos(a.rad(t)),f.sin(a.rad(t))],v=1/(g(h(u[2]),h(u[3]))||1);u[2]*=v,u[3]*=v,u[2]<0&&(u[0]=-u[2],u[2]=0),u[3]<0&&(u[1]=-u[3],u[3]=0)} +var w=a._parseDots(e);if(!w) +return null;if(k=k.replace(/[\(\)\s,\xb0#]/g,"_"),b.gradient&&k!=b.gradient.id&&(p.defs.removeChild(b.gradient),delete b.gradient),!b.gradient){s=q(j+"Gradient",{id:k}),b.gradient=s,q(s,"radial"==j?{fx:m,fy:n}:{x1:u[0],y1:u[1],x2:u[2],y2:u[3],gradientTransform:b.matrix.invert()}),p.defs.appendChild(s);for(var x=0,y=w.length;y>x;x++) +s.appendChild(q("stop",{offset:w[x].offset?w[x].offset:x?"100%":"0%","stop-color":w[x].color||"#fff","stop-opacity":isFinite(w[x].opacity)?w[x].opacity:1}))}} +return q(o,{fill:"url('"+document.location.origin+document.location.pathname+"#"+k+"')",opacity:1,"fill-opacity":1}),r.fill=l,r.opacity=1,r.fillOpacity=1,1},s=function(a){var b=a.getBBox(1);q(a.pattern,{patternTransform:a.matrix.invert()+" translate("+b.x+","+b.y+")"})},t=function(d,e,f){if("path"==d.type){for(var g,h,i,j,k,m=c(e).toLowerCase().split("-"),n=d.paper,r=f?"end":"start",s=d.node,t=d.attrs,u=t["stroke-width"],v=m.length,w="classic",x=3,y=3,z=5;v--;) +switch(m[v]){case"block":case"classic":case"oval":case"diamond":case"open":case"none":w=m[v];break;case"wide":y=5;break;case"narrow":y=2;break;case"long":x=5;break;case"short":x=2} +if("open"==w?(x+=2,y+=2,z+=2,i=1,j=f?4:1,k={fill:"none",stroke:t.stroke}):(j=i=x/2,k={fill:t.stroke,stroke:"none"}),d._.arrows?f?(d._.arrows.endPath&&p[d._.arrows.endPath]--,d._.arrows.endMarker&&p[d._.arrows.endMarker]--):(d._.arrows.startPath&&p[d._.arrows.startPath]--,d._.arrows.startMarker&&p[d._.arrows.startMarker]--):d._.arrows={},"none"!=w){var A="raphael-marker-"+w,B="raphael-marker-"+r+w+x+y+"-obj"+d.id;a._g.doc.getElementById(A)?p[A]++:(n.defs.appendChild(q(q("path"),{"stroke-linecap":"round",d:o[w],id:A})),p[A]=1);var C,D=a._g.doc.getElementById(B);D?(p[B]++,C=D.getElementsByTagName("use")[0]):(D=q(q("marker"),{id:B,markerHeight:y,markerWidth:x,orient:"auto",refX:j,refY:y/2}),C=q(q("use"),{"xlink:href":"#"+A,transform:(f?"rotate(180 "+x/2+" "+y/2+") ":l)+"scale("+x/z+","+y/z+")","stroke-width":(1/((x/z+y/z)/2)).toFixed(4)}),D.appendChild(C),n.defs.appendChild(D),p[B]=1),q(C,k);var E=i*("diamond"!=w&&"oval"!=w);f?(g=d._.arrows.startdx*u||0,h=a.getTotalLength(t.path)-E*u):(g=E*u,h=a.getTotalLength(t.path)-(d._.arrows.enddx*u||0)),k={},k["marker-"+r]="url(#"+B+")",(h||g)&&(k.d=a.getSubpath(t.path,g,h)),q(s,k),d._.arrows[r+"Path"]=A,d._.arrows[r+"Marker"]=B,d._.arrows[r+"dx"]=E,d._.arrows[r+"Type"]=w,d._.arrows[r+"String"]=e}else +f?(g=d._.arrows.startdx*u||0,h=a.getTotalLength(t.path)-g):(g=0,h=a.getTotalLength(t.path)-(d._.arrows.enddx*u||0)),d._.arrows[r+"Path"]&&q(s,{d:a.getSubpath(t.path,g,h)}),delete d._.arrows[r+"Path"],delete d._.arrows[r+"Marker"],delete d._.arrows[r+"dx"],delete d._.arrows[r+"Type"],delete d._.arrows[r+"String"];for(k in p) +if(p[b](k)&&!p[k]){var F=a._g.doc.getElementById(k);F&&F.parentNode.removeChild(F)}}},u={"-":[3,1],".":[1,1],"-.":[3,1,1,1],"-..":[3,1,1,1,1,1],". ":[1,3],"- ":[4,3],"--":[8,3],"- .":[4,3,1,3],"--.":[8,3,1,3],"--..":[8,3,1,3,1,3]},v=function(a,b,d){if(b=u[c(b).toLowerCase()]){for(var e=a.attrs["stroke-width"]||"1",f={round:e,square:e,butt:0} +[a.attrs["stroke-linecap"]||d["stroke-linecap"]]||0,g=[],h=b.length;h--;) +g[h]=b[h]*e+(h%2?1:-1)*f;q(a.node,{"stroke-dasharray":g.join(",")})}else +q(a.node,{"stroke-dasharray":"none"})},w=function(d,f){var i=d.node,k=d.attrs,m=i.style.visibility;i.style.visibility="hidden";for(var o in f) +if(f[b](o)){if(!a._availableAttrs[b](o)) +continue;var p=f[o];switch(k[o]=p,o){case"blur":d.blur(p);break;case"title":var u=i.getElementsByTagName("title");if(u.length&&(u=u[0])) +u.firstChild.nodeValue=p;else{u=q("title");var w=a._g.doc.createTextNode(p);u.appendChild(w),i.appendChild(u)} +break;case"href":case"target":var x=i.parentNode;if("a"!=x.tagName.toLowerCase()){var z=q("a");x.insertBefore(z,i),z.appendChild(i),x=z}"target"==o?x.setAttributeNS(n,"show","blank"==p?"new":p):x.setAttributeNS(n,o,p);break;case"cursor":i.style.cursor=p;break;case"transform":d.transform(p);break;case"arrow-start":t(d,p);break;case"arrow-end":t(d,p,1);break;case"clip-rect":var A=c(p).split(j);if(4==A.length){d.clip&&d.clip.parentNode.parentNode.removeChild(d.clip.parentNode);var B=q("clipPath"),C=q("rect");B.id=a.createUUID(),q(C,{x:A[0],y:A[1],width:A[2],height:A[3]}),B.appendChild(C),d.paper.defs.appendChild(B),q(i,{"clip-path":"url(#"+B.id+")"}),d.clip=C} +if(!p){var D=i.getAttribute("clip-path");if(D){var E=a._g.doc.getElementById(D.replace(/(^url\(#|\)$)/g,l));E&&E.parentNode.removeChild(E),q(i,{"clip-path":l}),delete d.clip}} +break;case"path":"path"==d.type&&(q(i,{d:p?k.path=a._pathToAbsolute(p):"M0,0"}),d._.dirty=1,d._.arrows&&("startString"in d._.arrows&&t(d,d._.arrows.startString),"endString"in d._.arrows&&t(d,d._.arrows.endString,1)));break;case"width":if(i.setAttribute(o,p),d._.dirty=1,!k.fx) +break;o="x",p=k.x;case"x":k.fx&&(p=-k.x-(k.width||0));case"rx":if("rx"==o&&"rect"==d.type) +break;case"cx":i.setAttribute(o,p),d.pattern&&s(d),d._.dirty=1;break;case"height":if(i.setAttribute(o,p),d._.dirty=1,!k.fy) +break;o="y",p=k.y;case"y":k.fy&&(p=-k.y-(k.height||0));case"ry":if("ry"==o&&"rect"==d.type) +break;case"cy":i.setAttribute(o,p),d.pattern&&s(d),d._.dirty=1;break;case"r":"rect"==d.type?q(i,{rx:p,ry:p}):i.setAttribute(o,p),d._.dirty=1;break;case"src":"image"==d.type&&i.setAttributeNS(n,"href",p);break;case"stroke-width":(1!=d._.sx||1!=d._.sy)&&(p/=g(h(d._.sx),h(d._.sy))||1),i.setAttribute(o,p),k["stroke-dasharray"]&&v(d,k["stroke-dasharray"],f),d._.arrows&&("startString"in d._.arrows&&t(d,d._.arrows.startString),"endString"in d._.arrows&&t(d,d._.arrows.endString,1));break;case"stroke-dasharray":v(d,p,f);break;case"fill":var F=c(p).match(a._ISURL);if(F){B=q("pattern");var G=q("image");B.id=a.createUUID(),q(B,{x:0,y:0,patternUnits:"userSpaceOnUse",height:1,width:1}),q(G,{x:0,y:0,"xlink:href":F[1]}),B.appendChild(G),function(b){a._preload(F[1],function(){var a=this.offsetWidth,c=this.offsetHeight;q(b,{width:a,height:c}),q(G,{width:a,height:c})})} +(B),d.paper.defs.appendChild(B),q(i,{fill:"url(#"+B.id+")"}),d.pattern=B,d.pattern&&s(d);break} +var H=a.getRGB(p);if(H.error){if(("circle"==d.type||"ellipse"==d.type||"r"!=c(p).charAt())&&r(d,p)){if("opacity"in k||"fill-opacity"in k){var I=a._g.doc.getElementById(i.getAttribute("fill").replace(/^url\(#|\)$/g,l));if(I){var J=I.getElementsByTagName("stop");q(J[J.length-1],{"stop-opacity":("opacity"in k?k.opacity:1)*("fill-opacity"in k?k["fill-opacity"]:1)})}} +k.gradient=p,k.fill="none";break}}else +delete f.gradient,delete k.gradient,!a.is(k.opacity,"undefined")&&a.is(f.opacity,"undefined")&&q(i,{opacity:k.opacity}),!a.is(k["fill-opacity"],"undefined")&&a.is(f["fill-opacity"],"undefined")&&q(i,{"fill-opacity":k["fill-opacity"]});H[b]("opacity")&&q(i,{"fill-opacity":H.opacity>1?H.opacity/100:H.opacity});case"stroke":H=a.getRGB(p),i.setAttribute(o,H.hex),"stroke"==o&&H[b]("opacity")&&q(i,{"stroke-opacity":H.opacity>1?H.opacity/100:H.opacity}),"stroke"==o&&d._.arrows&&("startString"in d._.arrows&&t(d,d._.arrows.startString),"endString"in d._.arrows&&t(d,d._.arrows.endString,1));break;case"gradient":("circle"==d.type||"ellipse"==d.type||"r"!=c(p).charAt())&&r(d,p);break;case"opacity":k.gradient&&!k[b]("stroke-opacity")&&q(i,{"stroke-opacity":p>1?p/100:p});case"fill-opacity":if(k.gradient){I=a._g.doc.getElementById(i.getAttribute("fill").replace(/^url\(#|\)$/g,l)),I&&(J=I.getElementsByTagName("stop"),q(J[J.length-1],{"stop-opacity":p}));break} +default:"font-size"==o&&(p=e(p,10)+"px");var K=o.replace(/(\-.)/g,function(a){return a.substring(1).toUpperCase()});i.style[K]=p,d._.dirty=1,i.setAttribute(o,p)}} +y(d,f),i.style.visibility=m},x=1.2,y=function(d,f){if("text"==d.type&&(f[b]("text")||f[b]("font")||f[b]("font-size")||f[b]("x")||f[b]("y"))){var g=d.attrs,h=d.node,i=h.firstChild?e(a._g.doc.defaultView.getComputedStyle(h.firstChild,l).getPropertyValue("font-size"),10):10;if(f[b]("text")){for(g.text=f.text;h.firstChild;) +h.removeChild(h.firstChild);for(var j,k=c(f.text).split("\n"),m=[],n=0,o=k.length;o>n;n++) +j=q("tspan"),n&&q(j,{dy:i*x,x:g.x}),j.appendChild(a._g.doc.createTextNode(k[n])),h.appendChild(j),m[n]=j}else +for(m=h.getElementsByTagName("tspan"),n=0,o=m.length;o>n;n++) +n?q(m[n],{dy:i*x,x:g.x}):q(m[0],{dy:0});q(h,{x:g.x,y:g.y}),d._.dirty=1;var p=d._getBBox(),r=g.y-(p.y+p.height/2);r&&a.is(r,"finite")&&q(m[0],{dy:r})}},z=function(a){return a.parentNode&&"a"===a.parentNode.tagName.toLowerCase()?a.parentNode:a},A=function(b,c){this[0]=this.node=b,b.raphael=!0,this.id=a._oid++,b.raphaelid=this.id,this.matrix=a.matrix(),this.realPath=null,this.paper=c,this.attrs=this.attrs||{},this._={transform:[],sx:1,sy:1,deg:0,dx:0,dy:0,dirty:1},!c.bottom&&(c.bottom=this),this.prev=c.top,c.top&&(c.top.next=this),c.top=this,this.next=null},B=a.el;A.prototype=B,B.constructor=A,a._engine.path=function(a,b){var c=q("path");b.canvas&&b.canvas.appendChild(c);var d=new A(c,b);return d.type="path",w(d,{fill:"none",stroke:"#000",path:a}),d},B.rotate=function(a,b,e){if(this.removed) +return this;if(a=c(a).split(j),a.length-1&&(b=d(a[1]),e=d(a[2])),a=d(a[0]),null==e&&(b=e),null==b||null==e){var f=this.getBBox(1);b=f.x+f.width/2,e=f.y+f.height/2} +return this.transform(this._.transform.concat([["r",a,b,e]])),this},B.scale=function(a,b,e,f){if(this.removed) +return this;if(a=c(a).split(j),a.length-1&&(b=d(a[1]),e=d(a[2]),f=d(a[3])),a=d(a[0]),null==b&&(b=a),null==f&&(e=f),null==e||null==f) +var g=this.getBBox(1);return e=null==e?g.x+g.width/2:e,f=null==f?g.y+g.height/2:f,this.transform(this._.transform.concat([["s",a,b,e,f]])),this},B.translate=function(a,b){return this.removed?this:(a=c(a).split(j),a.length-1&&(b=d(a[1])),a=d(a[0])||0,b=+b||0,this.transform(this._.transform.concat([["t",a,b]])),this)},B.transform=function(c){var d=this._;if(null==c) +return d.transform;if(a._extractTransform(this,c),this.clip&&q(this.clip,{transform:this.matrix.invert()}),this.pattern&&s(this),this.node&&q(this.node,{transform:this.matrix}),1!=d.sx||1!=d.sy){var e=this.attrs[b]("stroke-width")?this.attrs["stroke-width"]:1;this.attr({"stroke-width":e})} +return this},B.hide=function(){return this.removed||(this.node.style.display="none"),this},B.show=function(){return this.removed||(this.node.style.display=""),this},B.remove=function(){var b=z(this.node);if(!this.removed&&b.parentNode){var c=this.paper;c.__set__&&c.__set__.exclude(this),k.unbind("raphael.*.*."+this.id),this.gradient&&c.defs.removeChild(this.gradient),a._tear(this,c),b.parentNode.removeChild(b),this.removeData();for(var d in this) +this[d]="function"==typeof this[d]?a._removedFactory(d):null;this.removed=!0}},B._getBBox=function(){if("none"==this.node.style.display){this.show();var a=!0} +var b,c=!1;this.paper.canvas.parentElement?b=this.paper.canvas.parentElement.style:this.paper.canvas.parentNode&&(b=this.paper.canvas.parentNode.style),b&&"none"==b.display&&(c=!0,b.display="");var d={};try{d=this.node.getBBox()}catch(e){d={x:this.node.clientLeft,y:this.node.clientTop,width:this.node.clientWidth,height:this.node.clientHeight}} +finally{d=d||{},c&&(b.display="none")} +return a&&this.hide(),d},B.attr=function(c,d){if(this.removed) +return this;if(null==c){var e={};for(var f in this.attrs) +this.attrs[b](f)&&(e[f]=this.attrs[f]);return e.gradient&&"none"==e.fill&&(e.fill=e.gradient)&&delete e.gradient,e.transform=this._.transform,e} +if(null==d&&a.is(c,"string")){if("fill"==c&&"none"==this.attrs.fill&&this.attrs.gradient) +return this.attrs.gradient;if("transform"==c) +return this._.transform;for(var g=c.split(j),h={},i=0,l=g.length;l>i;i++) +c=g[i],c in this.attrs?h[c]=this.attrs[c]:a.is(this.paper.customAttributes[c],"function")?h[c]=this.paper.customAttributes[c].def:h[c]=a._availableAttrs[c];return l-1?h:h[g[0]]} +if(null==d&&a.is(c,"array")){for(h={},i=0,l=c.length;l>i;i++) +h[c[i]]=this.attr(c[i]);return h} +if(null!=d){var m={};m[c]=d}else +null!=c&&a.is(c,"object")&&(m=c);for(var n in m) +k("raphael.attr."+n+"."+this.id,this,m[n]);for(n in this.paper.customAttributes) +if(this.paper.customAttributes[b](n)&&m[b](n)&&a.is(this.paper.customAttributes[n],"function")){var o=this.paper.customAttributes[n].apply(this,[].concat(m[n]));this.attrs[n]=m[n];for(var p in o) +o[b](p)&&(m[p]=o[p])} +return w(this,m),this},B.toFront=function(){if(this.removed) +return this;var b=z(this.node);b.parentNode.appendChild(b);var c=this.paper;return c.top!=this&&a._tofront(this,c),this},B.toBack=function(){if(this.removed) +return this;var b=z(this.node),c=b.parentNode;c.insertBefore(b,c.firstChild),a._toback(this,this.paper);this.paper;return this},B.insertAfter=function(b){if(this.removed||!b) +return this;var c=z(this.node),d=z(b.node||b[b.length-1].node);return d.nextSibling?d.parentNode.insertBefore(c,d.nextSibling):d.parentNode.appendChild(c),a._insertafter(this,b,this.paper),this},B.insertBefore=function(b){if(this.removed||!b) +return this;var c=z(this.node),d=z(b.node||b[0].node);return d.parentNode.insertBefore(c,d),a._insertbefore(this,b,this.paper),this},B.blur=function(b){var c=this;if(0!==+b){var d=q("filter"),e=q("feGaussianBlur");c.attrs.blur=b,d.id=a.createUUID(),q(e,{stdDeviation:+b||1.5}),d.appendChild(e),c.paper.defs.appendChild(d),c._blur=d,q(c.node,{filter:"url(#"+d.id+")"})}else +c._blur&&(c._blur.parentNode.removeChild(c._blur),delete c._blur,delete c.attrs.blur),c.node.removeAttribute("filter");return c},a._engine.circle=function(a,b,c,d){var e=q("circle");a.canvas&&a.canvas.appendChild(e);var f=new A(e,a);return f.attrs={cx:b,cy:c,r:d,fill:"none",stroke:"#000"},f.type="circle",q(e,f.attrs),f},a._engine.rect=function(a,b,c,d,e,f){var g=q("rect");a.canvas&&a.canvas.appendChild(g);var h=new A(g,a);return h.attrs={x:b,y:c,width:d,height:e,rx:f||0,ry:f||0,fill:"none",stroke:"#000"},h.type="rect",q(g,h.attrs),h},a._engine.ellipse=function(a,b,c,d,e){var f=q("ellipse");a.canvas&&a.canvas.appendChild(f);var g=new A(f,a);return g.attrs={cx:b,cy:c,rx:d,ry:e,fill:"none",stroke:"#000"},g.type="ellipse",q(f,g.attrs),g},a._engine.image=function(a,b,c,d,e,f){var g=q("image");q(g,{x:c,y:d,width:e,height:f,preserveAspectRatio:"none"}),g.setAttributeNS(n,"href",b),a.canvas&&a.canvas.appendChild(g);var h=new A(g,a);return h.attrs={x:c,y:d,width:e,height:f,src:b},h.type="image",h},a._engine.text=function(b,c,d,e){var f=q("text");b.canvas&&b.canvas.appendChild(f);var g=new A(f,b);return g.attrs={x:c,y:d,"text-anchor":"middle",text:e,"font-family":a._availableAttrs["font-family"],"font-size":a._availableAttrs["font-size"],stroke:"none",fill:"#000"},g.type="text",w(g,g.attrs),g},a._engine.setSize=function(a,b){return this.width=a||this.width,this.height=b||this.height,this.canvas.setAttribute("width",this.width),this.canvas.setAttribute("height",this.height),this._viewBox&&this.setViewBox.apply(this,this._viewBox),this},a._engine.create=function(){var b=a._getContainer.apply(0,arguments),c=b&&b.container,d=b.x,e=b.y,f=b.width,g=b.height;if(!c) +throw new Error("SVG container not found.");var h,i=q("svg"),j="overflow:hidden;";return d=d||0,e=e||0,f=f||512,g=g||342,q(i,{height:g,version:1.1,width:f,xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"}),1==c?(i.style.cssText=j+"position:absolute;left:"+d+"px;top:"+e+"px",a._g.doc.body.appendChild(i),h=1):(i.style.cssText=j+"position:relative",c.firstChild?c.insertBefore(i,c.firstChild):c.appendChild(i)),c=new a._Paper,c.width=f,c.height=g,c.canvas=i,c.clear(),c._left=c._top=0,h&&(c.renderfix=function(){}),c.renderfix(),c},a._engine.setViewBox=function(a,b,c,d,e){k("raphael.setViewBox",this,this._viewBox,[a,b,c,d,e]);var f,h,i=this.getSize(),j=g(c/i.width,d/i.height),l=this.top,n=e?"xMidYMid meet":"xMinYMin";for(null==a?(this._vbSize&&(j=1),delete this._vbSize,f="0 0 "+this.width+m+this.height):(this._vbSize=j,f=a+m+b+m+c+m+d),q(this.canvas,{viewBox:f,preserveAspectRatio:n});j&&l;) +h="stroke-width"in l.attrs?l.attrs["stroke-width"]:1,l.attr({"stroke-width":h}),l._.dirty=1,l._.dirtyT=1,l=l.prev;return this._viewBox=[a,b,c,d,!!e],this},a.prototype.renderfix=function(){var a,b=this.canvas,c=b.style;try{a=b.getScreenCTM()||b.createSVGMatrix()}catch(d){a=b.createSVGMatrix()} +var e=-a.e%1,f=-a.f%1;(e||f)&&(e&&(this._left=(this._left+e)%1,c.left=this._left+"px"),f&&(this._top=(this._top+f)%1,c.top=this._top+"px"))},a.prototype.clear=function(){a.eve("raphael.clear",this);for(var b=this.canvas;b.firstChild;) +b.removeChild(b.firstChild);this.bottom=this.top=null,(this.desc=q("desc")).appendChild(a._g.doc.createTextNode("Created with Raphaël "+a.version)),b.appendChild(this.desc),b.appendChild(this.defs=q("defs"))},a.prototype.remove=function(){k("raphael.remove",this),this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas);for(var b in this) +this[b]="function"==typeof this[b]?a._removedFactory(b):null};var C=a.st;for(var D in B) +B[b](D)&&!C[b](D)&&(C[D]=function(a){return function(){var b=arguments;return this.forEach(function(c){c[a].apply(c,b)})}} +(D))}}),function(a,b){"function"==typeof define&&define.amd?define("raphael.vml",["raphael.core"],function(a){return b(a)}):b("object"==typeof exports?require("./raphael.core"):a.Raphael)} +(this,function(a){if(!a||a.vml){var b="hasOwnProperty",c=String,d=parseFloat,e=Math,f=e.round,g=e.max,h=e.min,i=e.abs,j="fill",k=/[, ]+/,l=a.eve,m=" progid:DXImageTransform.Microsoft",n=" ",o="",p={M:"m",L:"l",C:"c",Z:"x",m:"t",l:"r",c:"v",z:"x"},q=/([clmz]),?([^clmz]*)/gi,r=/ progid:\S+Blur\([^\)]+\)/g,s=/-?[^,\s-]+/g,t="position:absolute;left:0;top:0;width:1px;height:1px;behavior:url(#default#VML)",u=21600,v={path:1,rect:1,image:1},w={circle:1,ellipse:1},x=function(b){var d=/[ahqstv]/gi,e=a._pathToAbsolute;if(c(b).match(d)&&(e=a._path2curve),d=/[clmz]/g,e==a._pathToAbsolute&&!c(b).match(d)){var g=c(b).replace(q,function(a,b,c){var d=[],e="m"==b.toLowerCase(),g=p[b];return c.replace(s,function(a){e&&2==d.length&&(g+=d+p["m"==b?"l":"L"],d=[]),d.push(f(a*u))}),g+d});return g} +var h,i,j=e(b);g=[];for(var k=0,l=j.length;l>k;k++){h=j[k],i=j[k][0].toLowerCase(),"z"==i&&(i="x");for(var m=1,r=h.length;r>m;m++) +i+=f(h[m]*u)+(m!=r-1?",":o);g.push(i)} +return g.join(n)},y=function(b,c,d){var e=a.matrix();return e.rotate(-b,.5,.5),{dx:e.x(c,d),dy:e.y(c,d)}},z=function(a,b,c,d,e,f){var g=a._,h=a.matrix,k=g.fillpos,l=a.node,m=l.style,o=1,p="",q=u/b,r=u/c;if(m.visibility="hidden",b&&c){if(l.coordsize=i(q)+n+i(r),m.rotation=f*(0>b*c?-1:1),f){var s=y(f,d,e);d=s.dx,e=s.dy} +if(0>b&&(p+="x"),0>c&&(p+=" y")&&(o=-1),m.flip=p,l.coordorigin=d* -q+n+e* -r,k||g.fillsize){var t=l.getElementsByTagName(j);t=t&&t[0],l.removeChild(t),k&&(s=y(f,h.x(k[0],k[1]),h.y(k[0],k[1])),t.position=s.dx*o+n+s.dy*o),g.fillsize&&(t.size=g.fillsize[0]*i(b)+n+g.fillsize[1]*i(c)),l.appendChild(t)} +m.visibility="visible"}};a.toString=function(){return"Your browser doesn’t support SVG. Falling down to VML.\nYou are running Raphaël "+this.version};var A=function(a,b,d){for(var e=c(b).toLowerCase().split("-"),f=d?"end":"start",g=e.length,h="classic",i="medium",j="medium";g--;) +switch(e[g]){case"block":case"classic":case"oval":case"diamond":case"open":case"none":h=e[g];break;case"wide":case"narrow":j=e[g];break;case"long":case"short":i=e[g]} +var k=a.node.getElementsByTagName("stroke")[0];k[f+"arrow"]=h,k[f+"arrowlength"]=i,k[f+"arrowwidth"]=j},B=function(e,i){e.attrs=e.attrs||{};var l=e.node,m=e.attrs,p=l.style,q=v[e.type]&&(i.x!=m.x||i.y!=m.y||i.width!=m.width||i.height!=m.height||i.cx!=m.cx||i.cy!=m.cy||i.rx!=m.rx||i.ry!=m.ry||i.r!=m.r),r=w[e.type]&&(m.cx!=i.cx||m.cy!=i.cy||m.r!=i.r||m.rx!=i.rx||m.ry!=i.ry),s=e;for(var t in i) +i[b](t)&&(m[t]=i[t]);if(q&&(m.path=a._getPath[e.type](e),e._.dirty=1),i.href&&(l.href=i.href),i.title&&(l.title=i.title),i.target&&(l.target=i.target),i.cursor&&(p.cursor=i.cursor),"blur"in i&&e.blur(i.blur),(i.path&&"path"==e.type||q)&&(l.path=x(~c(m.path).toLowerCase().indexOf("r")?a._pathToAbsolute(m.path):m.path),e._.dirty=1,"image"==e.type&&(e._.fillpos=[m.x,m.y],e._.fillsize=[m.width,m.height],z(e,1,1,0,0,0))),"transform"in i&&e.transform(i.transform),r){var y=+m.cx,B=+m.cy,D=+m.rx||+m.r||0,E=+m.ry||+m.r||0;l.path=a.format("ar{0},{1},{2},{3},{4},{1},{4},{1}x",f((y-D)*u),f((B-E)*u),f((y+D)*u),f((B+E)*u),f(y*u)),e._.dirty=1} +if("clip-rect"in i){var G=c(i["clip-rect"]).split(k);if(4==G.length){G[2]=+G[2]+ +G[0],G[3]=+G[3]+ +G[1];var H=l.clipRect||a._g.doc.createElement("div"),I=H.style;I.clip=a.format("rect({1}px {2}px {3}px {0}px)",G),l.clipRect||(I.position="absolute",I.top=0,I.left=0,I.width=e.paper.width+"px",I.height=e.paper.height+"px",l.parentNode.insertBefore(H,l),H.appendChild(l),l.clipRect=H)} +i["clip-rect"]||l.clipRect&&(l.clipRect.style.clip="auto")} +if(e.textpath){var J=e.textpath.style;i.font&&(J.font=i.font),i["font-family"]&&(J.fontFamily='"'+i["font-family"].split(",")[0].replace(/^['"]+|['"]+$/g,o)+'"'),i["font-size"]&&(J.fontSize=i["font-size"]),i["font-weight"]&&(J.fontWeight=i["font-weight"]),i["font-style"]&&(J.fontStyle=i["font-style"])} +if("arrow-start"in i&&A(s,i["arrow-start"]),"arrow-end"in i&&A(s,i["arrow-end"],1),null!=i.opacity||null!=i["stroke-width"]||null!=i.fill||null!=i.src||null!=i.stroke||null!=i["stroke-width"]||null!=i["stroke-opacity"]||null!=i["fill-opacity"]||null!=i["stroke-dasharray"]||null!=i["stroke-miterlimit"]||null!=i["stroke-linejoin"]||null!=i["stroke-linecap"]){var K=l.getElementsByTagName(j),L=!1;if(K=K&&K[0],!K&&(L=K=F(j)),"image"==e.type&&i.src&&(K.src=i.src),i.fill&&(K.on=!0),(null==K.on||"none"==i.fill||null===i.fill)&&(K.on=!1),K.on&&i.fill){var M=c(i.fill).match(a._ISURL);if(M){K.parentNode==l&&l.removeChild(K),K.rotate=!0,K.src=M[1],K.type="tile";var N=e.getBBox(1);K.position=N.x+n+N.y,e._.fillpos=[N.x,N.y],a._preload(M[1],function(){e._.fillsize=[this.offsetWidth,this.offsetHeight]})}else +K.color=a.getRGB(i.fill).hex,K.src=o,K.type="solid",a.getRGB(i.fill).error&&(s.type in{circle:1,ellipse:1}||"r"!=c(i.fill).charAt())&&C(s,i.fill,K)&&(m.fill="none",m.gradient=i.fill,K.rotate=!1)} +if("fill-opacity"in i||"opacity"in i){var O=((+m["fill-opacity"]+1||2)-1)*((+m.opacity+1||2)-1)*((+a.getRGB(i.fill).o+1||2)-1);O=h(g(O,0),1),K.opacity=O,K.src&&(K.color="none")} +l.appendChild(K);var P=l.getElementsByTagName("stroke")&&l.getElementsByTagName("stroke")[0],Q=!1;!P&&(Q=P=F("stroke")),(i.stroke&&"none"!=i.stroke||i["stroke-width"]||null!=i["stroke-opacity"]||i["stroke-dasharray"]||i["stroke-miterlimit"]||i["stroke-linejoin"]||i["stroke-linecap"])&&(P.on=!0),("none"==i.stroke||null===i.stroke||null==P.on||0==i.stroke||0==i["stroke-width"])&&(P.on=!1);var R=a.getRGB(i.stroke);P.on&&i.stroke&&(P.color=R.hex),O=((+m["stroke-opacity"]+1||2)-1)*((+m.opacity+1||2)-1)*((+R.o+1||2)-1);var S=.75*(d(i["stroke-width"])||1);if(O=h(g(O,0),1),null==i["stroke-width"]&&(S=m["stroke-width"]),i["stroke-width"]&&(P.weight=S),S&&1>S&&(O*=S)&&(P.weight=1),P.opacity=O,i["stroke-linejoin"]&&(P.joinstyle=i["stroke-linejoin"]||"miter"),P.miterlimit=i["stroke-miterlimit"]||8,i["stroke-linecap"]&&(P.endcap="butt"==i["stroke-linecap"]?"flat":"square"==i["stroke-linecap"]?"square":"round"),"stroke-dasharray"in i){var T={"-":"shortdash",".":"shortdot","-.":"shortdashdot","-..":"shortdashdotdot",". ":"dot","- ":"dash","--":"longdash","- .":"dashdot","--.":"longdashdot","--..":"longdashdotdot"};P.dashstyle=T[b](i["stroke-dasharray"])?T[i["stroke-dasharray"]]:o} +Q&&l.appendChild(P)} +if("text"==s.type){s.paper.canvas.style.display=o;var U=s.paper.span,V=100,W=m.font&&m.font.match(/\d+(?:\.\d*)?(?=px)/);p=U.style,m.font&&(p.font=m.font),m["font-family"]&&(p.fontFamily=m["font-family"]),m["font-weight"]&&(p.fontWeight=m["font-weight"]),m["font-style"]&&(p.fontStyle=m["font-style"]),W=d(m["font-size"]||W&&W[0])||10,p.fontSize=W*V+"px",s.textpath.string&&(U.innerHTML=c(s.textpath.string).replace(/"));var X=U.getBoundingClientRect();s.W=m.w=(X.right-X.left)/V,s.H=m.h=(X.bottom-X.top)/V,s.X=m.x,s.Y=m.y+s.H/2,("x"in i||"y"in i)&&(s.path.v=a.format("m{0},{1}l{2},{1}",f(m.x*u),f(m.y*u),f(m.x*u)+1));for(var Y=["x","y","text","font","font-family","font-weight","font-style","font-size"],Z=0,$=Y.length;$>Z;Z++) +if(Y[Z]in i){s._.dirty=1;break} +switch(m["text-anchor"]){case"start":s.textpath.style["v-text-align"]="left",s.bbx=s.W/2;break;case"end":s.textpath.style["v-text-align"]="right",s.bbx=-s.W/2;break;default:s.textpath.style["v-text-align"]="center",s.bbx=0} +s.textpath.style["v-text-kern"]=!0}},C=function(b,f,g){b.attrs=b.attrs||{};var h=(b.attrs,Math.pow),i="linear",j=".5 .5";if(b.attrs.gradient=f,f=c(f).replace(a._radial_gradient,function(a,b,c){return i="radial",b&&c&&(b=d(b),c=d(c),h(b-.5,2)+h(c-.5,2)>.25&&(c=e.sqrt(.25-h(b-.5,2))*(2*(c>.5)-1)+.5),j=b+n+c),o}),f=f.split(/\s*\-\s*/),"linear"==i){var k=f.shift();if(k=-d(k),isNaN(k)) +return null} +var l=a._parseDots(f);if(!l) +return null;if(b=b.shape||b.node,l.length){b.removeChild(g),g.on=!0,g.method="none",g.color=l[0].color,g.color2=l[l.length-1].color;for(var m=[],p=0,q=l.length;q>p;p++) +l[p].offset&&m.push(l[p].offset+n+l[p].color);g.colors=m.length?m.join():"0% "+g.color,"radial"==i?(g.type="gradientTitle",g.focus="100%",g.focussize="0 0",g.focusposition=j,g.angle=0):(g.type="gradient",g.angle=(270-k)%360),b.appendChild(g)} +return 1},D=function(b,c){this[0]=this.node=b,b.raphael=!0,this.id=a._oid++,b.raphaelid=this.id,this.X=0,this.Y=0,this.attrs={},this.paper=c,this.matrix=a.matrix(),this._={transform:[],sx:1,sy:1,dx:0,dy:0,deg:0,dirty:1,dirtyT:1},!c.bottom&&(c.bottom=this),this.prev=c.top,c.top&&(c.top.next=this),c.top=this,this.next=null},E=a.el;D.prototype=E,E.constructor=D,E.transform=function(b){if(null==b) +return this._.transform;var d,e=this.paper._viewBoxShift,f=e?"s"+[e.scale,e.scale]+"-1-1t"+[e.dx,e.dy]:o;e&&(d=b=c(b).replace(/\.{3}|\u2026/g,this._.transform||o)),a._extractTransform(this,f+b);var g,h=this.matrix.clone(),i=this.skew,j=this.node,k=~c(this.attrs.fill).indexOf("-"),l=!c(this.attrs.fill).indexOf("url(");if(h.translate(1,1),l||k||"image"==this.type) +if(i.matrix="1 0 0 1",i.offset="0 0",g=h.split(),k&&g.noRotation||!g.isSimple){j.style.filter=h.toFilter();var m=this.getBBox(),p=this.getBBox(1),q=m.x-p.x,r=m.y-p.y;j.coordorigin=q* -u+n+r* -u,z(this,1,1,q,r,0)}else +j.style.filter=o,z(this,g.scalex,g.scaley,g.dx,g.dy,g.rotate);else +j.style.filter=o,i.matrix=c(h),i.offset=h.offset();return null!==d&&(this._.transform=d,a._extractTransform(this,d)),this},E.rotate=function(a,b,e){if(this.removed) +return this;if(null!=a){if(a=c(a).split(k),a.length-1&&(b=d(a[1]),e=d(a[2])),a=d(a[0]),null==e&&(b=e),null==b||null==e){var f=this.getBBox(1);b=f.x+f.width/2,e=f.y+f.height/2} +return this._.dirtyT=1,this.transform(this._.transform.concat([["r",a,b,e]])),this}},E.translate=function(a,b){return this.removed?this:(a=c(a).split(k),a.length-1&&(b=d(a[1])),a=d(a[0])||0,b=+b||0,this._.bbox&&(this._.bbox.x+=a,this._.bbox.y+=b),this.transform(this._.transform.concat([["t",a,b]])),this)},E.scale=function(a,b,e,f){if(this.removed) +return this;if(a=c(a).split(k),a.length-1&&(b=d(a[1]),e=d(a[2]),f=d(a[3]),isNaN(e)&&(e=null),isNaN(f)&&(f=null)),a=d(a[0]),null==b&&(b=a),null==f&&(e=f),null==e||null==f) +var g=this.getBBox(1);return e=null==e?g.x+g.width/2:e,f=null==f?g.y+g.height/2:f,this.transform(this._.transform.concat([["s",a,b,e,f]])),this._.dirtyT=1,this},E.hide=function(){return!this.removed&&(this.node.style.display="none"),this},E.show=function(){return!this.removed&&(this.node.style.display=o),this},E.auxGetBBox=a.el.getBBox,E.getBBox=function(){var a=this.auxGetBBox();if(this.paper&&this.paper._viewBoxShift){var b={},c=1/this.paper._viewBoxShift.scale;return b.x=a.x-this.paper._viewBoxShift.dx,b.x*=c,b.y=a.y-this.paper._viewBoxShift.dy,b.y*=c,b.width=a.width*c,b.height=a.height*c,b.x2=b.x+b.width,b.y2=b.y+b.height,b} +return a},E._getBBox=function(){return this.removed?{}:{x:this.X+(this.bbx||0)-this.W/2,y:this.Y-this.H,width:this.W,height:this.H}},E.remove=function(){if(!this.removed&&this.node.parentNode){this.paper.__set__&&this.paper.__set__.exclude(this),a.eve.unbind("raphael.*.*."+this.id),a._tear(this,this.paper),this.node.parentNode.removeChild(this.node),this.shape&&this.shape.parentNode.removeChild(this.shape);for(var b in this) +this[b]="function"==typeof this[b]?a._removedFactory(b):null;this.removed=!0}},E.attr=function(c,d){if(this.removed) +return this;if(null==c){var e={};for(var f in this.attrs) +this.attrs[b](f)&&(e[f]=this.attrs[f]);return e.gradient&&"none"==e.fill&&(e.fill=e.gradient)&&delete e.gradient,e.transform=this._.transform,e} +if(null==d&&a.is(c,"string")){if(c==j&&"none"==this.attrs.fill&&this.attrs.gradient) +return this.attrs.gradient;for(var g=c.split(k),h={},i=0,m=g.length;m>i;i++) +c=g[i],c in this.attrs?h[c]=this.attrs[c]:a.is(this.paper.customAttributes[c],"function")?h[c]=this.paper.customAttributes[c].def:h[c]=a._availableAttrs[c];return m-1?h:h[g[0]]} +if(this.attrs&&null==d&&a.is(c,"array")){for(h={},i=0,m=c.length;m>i;i++) +h[c[i]]=this.attr(c[i]);return h} +var n;null!=d&&(n={},n[c]=d),null==d&&a.is(c,"object")&&(n=c);for(var o in n) +l("raphael.attr."+o+"."+this.id,this,n[o]);if(n){for(o in this.paper.customAttributes) +if(this.paper.customAttributes[b](o)&&n[b](o)&&a.is(this.paper.customAttributes[o],"function")){var p=this.paper.customAttributes[o].apply(this,[].concat(n[o]));this.attrs[o]=n[o];for(var q in p) +p[b](q)&&(n[q]=p[q])} +n.text&&"text"==this.type&&(this.textpath.string=n.text),B(this,n)} +return this},E.toFront=function(){return!this.removed&&this.node.parentNode.appendChild(this.node),this.paper&&this.paper.top!=this&&a._tofront(this,this.paper),this},E.toBack=function(){return this.removed?this:(this.node.parentNode.firstChild!=this.node&&(this.node.parentNode.insertBefore(this.node,this.node.parentNode.firstChild),a._toback(this,this.paper)),this)},E.insertAfter=function(b){return this.removed?this:(b.constructor==a.st.constructor&&(b=b[b.length-1]),b.node.nextSibling?b.node.parentNode.insertBefore(this.node,b.node.nextSibling):b.node.parentNode.appendChild(this.node),a._insertafter(this,b,this.paper),this)},E.insertBefore=function(b){return this.removed?this:(b.constructor==a.st.constructor&&(b=b[0]),b.node.parentNode.insertBefore(this.node,b.node),a._insertbefore(this,b,this.paper),this)},E.blur=function(b){var c=this.node.runtimeStyle,d=c.filter;return d=d.replace(r,o),0!==+b?(this.attrs.blur=b,c.filter=d+n+m+".Blur(pixelradius="+(+b||1.5)+")",c.margin=a.format("-{0}px 0 0 -{0}px",f(+b||1.5))):(c.filter=d,c.margin=0,delete this.attrs.blur),this},a._engine.path=function(a,b){var c=F("shape");c.style.cssText=t,c.coordsize=u+n+u,c.coordorigin=b.coordorigin;var d=new D(c,b),e={fill:"none",stroke:"#000"};a&&(e.path=a),d.type="path",d.path=[],d.Path=o,B(d,e),b.canvas.appendChild(c);var f=F("skew");return f.on=!0,c.appendChild(f),d.skew=f,d.transform(o),d},a._engine.rect=function(b,c,d,e,f,g){var h=a._rectPath(c,d,e,f,g),i=b.path(h),j=i.attrs;return i.X=j.x=c,i.Y=j.y=d,i.W=j.width=e,i.H=j.height=f,j.r=g,j.path=h,i.type="rect",i},a._engine.ellipse=function(a,b,c,d,e){{var f=a.path();f.attrs} +return f.X=b-d,f.Y=c-e,f.W=2*d,f.H=2*e,f.type="ellipse",B(f,{cx:b,cy:c,rx:d,ry:e}),f},a._engine.circle=function(a,b,c,d){{var e=a.path();e.attrs} +return e.X=b-d,e.Y=c-d,e.W=e.H=2*d,e.type="circle",B(e,{cx:b,cy:c,r:d}),e},a._engine.image=function(b,c,d,e,f,g){var h=a._rectPath(d,e,f,g),i=b.path(h).attr({stroke:"none"}),k=i.attrs,l=i.node,m=l.getElementsByTagName(j)[0];return k.src=c,i.X=k.x=d,i.Y=k.y=e,i.W=k.width=f,i.H=k.height=g,k.path=h,i.type="image",m.parentNode==l&&l.removeChild(m),m.rotate=!0,m.src=c,m.type="tile",i._.fillpos=[d,e],i._.fillsize=[f,g],l.appendChild(m),z(i,1,1,0,0,0),i},a._engine.text=function(b,d,e,g){var h=F("shape"),i=F("path"),j=F("textpath");d=d||0,e=e||0,g=g||"",i.v=a.format("m{0},{1}l{2},{1}",f(d*u),f(e*u),f(d*u)+1),i.textpathok=!0,j.string=c(g),j.on=!0,h.style.cssText=t,h.coordsize=u+n+u,h.coordorigin="0 0";var k=new D(h,b),l={fill:"#000",stroke:"none",font:a._availableAttrs.font,text:g};k.shape=h,k.path=i,k.textpath=j,k.type="text",k.attrs.text=c(g),k.attrs.x=d,k.attrs.y=e,k.attrs.w=1,k.attrs.h=1,B(k,l),h.appendChild(j),h.appendChild(i),b.canvas.appendChild(h);var m=F("skew");return m.on=!0,h.appendChild(m),k.skew=m,k.transform(o),k},a._engine.setSize=function(b,c){var d=this.canvas.style;return this.width=b,this.height=c,b==+b&&(b+="px"),c==+c&&(c+="px"),d.width=b,d.height=c,d.clip="rect(0 "+b+" "+c+" 0)",this._viewBox&&a._engine.setViewBox.apply(this,this._viewBox),this},a._engine.setViewBox=function(b,c,d,e,f){a.eve("raphael.setViewBox",this,this._viewBox,[b,c,d,e,f]);var g,h,i=this.getSize(),j=i.width,k=i.height;return f&&(g=k/e,h=j/d,j>d*g&&(b-=(j-d*g)/2/g),k>e*h&&(c-=(k-e*h)/2/h)),this._viewBox=[b,c,d,e,!!f],this._viewBoxShift={dx:-b,dy:-c,scale:i},this.forEach(function(a){a.transform("...")}),this};var F;a._engine.initWin=function(a){var b=a.document;b.styleSheets.length<31?b.createStyleSheet().addRule(".rvml","behavior:url(#default#VML)"):b.styleSheets[0].addRule(".rvml","behavior:url(#default#VML)");try{!b.namespaces.rvml&&b.namespaces.add("rvml","urn:schemas-microsoft-com:vml"),F=function(a){return b.createElement("')}}catch(c){F=function(a){return b.createElement("<"+a+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}},a._engine.initWin(a._g.win),a._engine.create=function(){var b=a._getContainer.apply(0,arguments),c=b.container,d=b.height,e=b.width,f=b.x,g=b.y;if(!c) +throw new Error("VML container not found.");var h=new a._Paper,i=h.canvas=a._g.doc.createElement("div"),j=i.style;return f=f||0,g=g||0,e=e||512,d=d||342,h.width=e,h.height=d,e==+e&&(e+="px"),d==+d&&(d+="px"),h.coordsize=1e3*u+n+1e3*u,h.coordorigin="0 0",h.span=a._g.doc.createElement("span"),h.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;",i.appendChild(h.span),j.cssText=a.format("top:0;left:0;width:{0};height:{1};display:inline-block;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden",e,d),1==c?(a._g.doc.body.appendChild(i),j.left=f+"px",j.top=g+"px",j.position="absolute"):c.firstChild?c.insertBefore(i,c.firstChild):c.appendChild(i),h.renderfix=function(){},h},a.prototype.clear=function(){a.eve("raphael.clear",this),this.canvas.innerHTML=o,this.span=a._g.doc.createElement("span"),this.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;",this.canvas.appendChild(this.span),this.bottom=this.top=null},a.prototype.remove=function(){a.eve("raphael.remove",this),this.canvas.parentNode.removeChild(this.canvas);for(var b in this) +this[b]="function"==typeof this[b]?a._removedFactory(b):null;return!0};var G=a.st;for(var H in E) +E[b](H)&&!G[b](H)&&(G[H]=function(a){return function(){var b=arguments;return this.forEach(function(c){c[a].apply(c,b)})}} +(H))}});JustGage=function(config){var obj=this;if(config===null||config===undefined){console.log('* justgage: Make sure to pass options to the constructor!');return false;} +var node;if(config.id!==null&&config.id!==undefined){node=document.getElementById(config.id);if(!node){console.log('* justgage: No element with id : %s found',config.id);return false;}}else if(config.parentNode!==null&&config.parentNode!==undefined){node=config.parentNode;}else{console.log('* justgage: Make sure to pass the existing element id or parentNode to the constructor.');return false;} +var dataset=node.dataset?node.dataset:{};var defaults=(config.defaults!==null&&config.defaults!==undefined)?config.defaults:false;if(defaults!==false){config=extend({},config,defaults);delete config.defaults;} +obj.config={id:config.id,value:kvLookup('value',config,dataset,0,'float'),defaults:kvLookup('defaults',config,dataset,0,false),parentNode:kvLookup('parentNode',config,dataset,null),width:kvLookup('width',config,dataset,null),height:kvLookup('height',config,dataset,null),title:kvLookup('title',config,dataset,""),titleFontColor:kvLookup('titleFontColor',config,dataset,"#999999"),titleFontFamily:kvLookup('titleFontFamily',config,dataset,"sans-serif"),titlePosition:kvLookup('titlePosition',config,dataset,"above"),valueFontColor:kvLookup('valueFontColor',config,dataset,"#010101"),valueFontFamily:kvLookup('valueFontFamily',config,dataset,"Arial"),symbol:kvLookup('symbol',config,dataset,''),min:kvLookup('min',config,dataset,0,'float'),max:kvLookup('max',config,dataset,100,'float'),reverse:kvLookup('reverse',config,dataset,false),humanFriendlyDecimal:kvLookup('humanFriendlyDecimal',config,dataset,0),textRenderer:kvLookup('textRenderer',config,dataset,null),gaugeWidthScale:kvLookup('gaugeWidthScale',config,dataset,1.0),gaugeColor:kvLookup('gaugeColor',config,dataset,"#edebeb"),label:kvLookup('label',config,dataset,''),labelFontColor:kvLookup('labelFontColor',config,dataset,"#b3b3b3"),shadowOpacity:kvLookup('shadowOpacity',config,dataset,0.2),shadowSize:kvLookup('shadowSize',config,dataset,5),shadowVerticalOffset:kvLookup('shadowVerticalOffset',config,dataset,3),levelColors:kvLookup('levelColors',config,dataset,["#a9d70b","#f9c802","#ff0000"],'array',','),startAnimationTime:kvLookup('startAnimationTime',config,dataset,700),startAnimationType:kvLookup('startAnimationType',config,dataset,'>'),refreshAnimationTime:kvLookup('refreshAnimationTime',config,dataset,700),refreshAnimationType:kvLookup('refreshAnimationType',config,dataset,'>'),donutStartAngle:kvLookup('donutStartAngle',config,dataset,90),valueMinFontSize:kvLookup('valueMinFontSize',config,dataset,16),titleMinFontSize:kvLookup('titleMinFontSize',config,dataset,10),labelMinFontSize:kvLookup('labelMinFontSize',config,dataset,10),minLabelMinFontSize:kvLookup('minLabelMinFontSize',config,dataset,10),maxLabelMinFontSize:kvLookup('maxLabelMinFontSize',config,dataset,10),hideValue:kvLookup('hideValue',config,dataset,false),hideMinMax:kvLookup('hideMinMax',config,dataset,false),hideInnerShadow:kvLookup('hideInnerShadow',config,dataset,false),humanFriendly:kvLookup('humanFriendly',config,dataset,false),noGradient:kvLookup('noGradient',config,dataset,false),donut:kvLookup('donut',config,dataset,false),relativeGaugeSize:kvLookup('relativeGaugeSize',config,dataset,false),counter:kvLookup('counter',config,dataset,false),decimals:kvLookup('decimals',config,dataset,0),customSectors:kvLookup('customSectors',config,dataset,[]),formatNumber:kvLookup('formatNumber',config,dataset,false),pointer:kvLookup('pointer',config,dataset,false),pointerOptions:kvLookup('pointerOptions',config,dataset,[])};var +canvasW,canvasH,widgetW,widgetH,aspect,dx,dy,titleFontSize,titleX,titleY,valueFontSize,valueX,valueY,labelFontSize,labelX,labelY,minFontSize,minX,minY,maxFontSize,maxX,maxY;if(obj.config.value>obj.config.max) +obj.config.value=obj.config.max;if(obj.config.valuecanvasH){widgetH=canvasH;widgetW=widgetH;}else if(canvasWcanvasH){aspect=widgetH/canvasH;widgetH=widgetH/aspect;widgetW=widgetH/aspect;}}else{widgetW=canvasW;widgetH=widgetW;} +dx=(canvasW-widgetW)/2;dy=(canvasH-widgetH)/2;titleFontSize=((widgetH/8)>10)?(widgetH/10):10;titleX=dx+widgetW/2;titleY=dy+widgetH/11;valueFontSize=((widgetH/6.4)>16)?(widgetH/5.4):18;valueX=dx+widgetW/2;if(obj.config.label!==''){valueY=dy+widgetH/1.85;}else{valueY=dy+widgetH/1.7;} +labelFontSize=((widgetH/16)>10)?(widgetH/16):10;labelX=dx+widgetW/2;labelY=valueY+labelFontSize;minFontSize=((widgetH/16)>10)?(widgetH/16):10;minX=dx+(widgetW/10)+(widgetW/6.666666666666667*obj.config.gaugeWidthScale)/2;minY=labelY;maxFontSize=((widgetH/16)>10)?(widgetH/16):10;maxX=dx+widgetW-(widgetW/10)-(widgetW/6.666666666666667*obj.config.gaugeWidthScale)/2;maxY=labelY;}else{if(canvasW>canvasH){widgetH=canvasH;widgetW=widgetH*1.25;if(widgetW>canvasW){aspect=widgetW/canvasW;widgetW=widgetW/aspect;widgetH=widgetH/aspect;}}else if(canvasWcanvasH){aspect=widgetH/canvasH;widgetH=widgetH/aspect;widgetW=widgetH/aspect;}}else{widgetW=canvasW;widgetH=widgetW*0.75;} +dx=(canvasW-widgetW)/2;dy=(canvasH-widgetH)/2;if(obj.config.titlePosition==='below'){dy-=(widgetH/6.4);} +titleFontSize=((widgetH/8)>obj.config.titleMinFontSize)?(widgetH/10):obj.config.titleMinFontSize;titleX=dx+widgetW/2;titleY=dy+(obj.config.titlePosition==='below'?(widgetH*1.07):(widgetH/6.4));valueFontSize=((widgetH/6.5)>obj.config.valueMinFontSize)?(widgetH/6.5):obj.config.valueMinFontSize;valueX=dx+widgetW/2;valueY=dy+widgetH/1.275;labelFontSize=((widgetH/16)>obj.config.labelMinFontSize)?(widgetH/16):obj.config.labelMinFontSize;labelX=dx+widgetW/2;labelY=valueY+valueFontSize/2+5;minFontSize=((widgetH/16)>obj.config.minLabelMinFontSize)?(widgetH/16):obj.config.minLabelMinFontSize;minX=dx+(widgetW/10)+(widgetW/6.666666666666667*obj.config.gaugeWidthScale)/2;minY=labelY;maxFontSize=((widgetH/16)>obj.config.maxLabelMinFontSize)?(widgetH/16):obj.config.maxLabelMinFontSize;maxX=dx+widgetW-(widgetW/10)-(widgetW/6.666666666666667*obj.config.gaugeWidthScale)/2;maxY=labelY;} +obj.params={canvasW:canvasW,canvasH:canvasH,widgetW:widgetW,widgetH:widgetH,dx:dx,dy:dy,titleFontSize:titleFontSize,titleX:titleX,titleY:titleY,valueFontSize:valueFontSize,valueX:valueX,valueY:valueY,labelFontSize:labelFontSize,labelX:labelX,labelY:labelY,minFontSize:minFontSize,minX:minX,minY:minY,maxFontSize:maxFontSize,maxX:maxX,maxY:maxY};canvasW,canvasH,widgetW,widgetH,aspect,dx,dy,titleFontSize,titleX,titleY,valueFontSize,valueX,valueY,labelFontSize,labelX,labelY,minFontSize,minX,minY,maxFontSize,maxX,maxY=null;obj.canvas.customAttributes.pki=function(value,min,max,w,h,dx,dy,gws,donut,reverse){var alpha,Ro,Ri,Cx,Cy,Xo,Yo,Xi,Yi,path;if(donut){alpha=(1-2*(value-min)/(max-min))*Math.PI;Ro=w/2-w/7;Ri=Ro-w/6.666666666666667*gws;Cx=w/2+dx;Cy=h/1.95+dy;Xo=w/2+dx+Ro*Math.cos(alpha);Yo=h-(h-Cy)-Ro*Math.sin(alpha);Xi=w/2+dx+Ri*Math.cos(alpha);Yi=h-(h-Cy)-Ri*Math.sin(alpha);path="M"+(Cx-Ri)+","+Cy+" ";path+="L"+(Cx-Ro)+","+Cy+" ";if(value>((max-min)/2)){path+="A"+Ro+","+Ro+" 0 0 1 "+(Cx+Ro)+","+Cy+" ";} +path+="A"+Ro+","+Ro+" 0 0 1 "+Xo+","+Yo+" ";path+="L"+Xi+","+Yi+" ";if(value>((max-min)/2)){path+="A"+Ri+","+Ri+" 0 0 0 "+(Cx+Ri)+","+Cy+" ";} +path+="A"+Ri+","+Ri+" 0 0 0 "+(Cx-Ri)+","+Cy+" ";path+="Z ";return{path:path};}else{alpha=(1-(value-min)/(max-min))*Math.PI;Ro=w/2-w/10;Ri=Ro-w/6.666666666666667*gws;Cx=w/2+dx;Cy=h/1.25+dy;Xo=w/2+dx+Ro*Math.cos(alpha);Yo=h-(h-Cy)-Ro*Math.sin(alpha);Xi=w/2+dx+Ri*Math.cos(alpha);Yi=h-(h-Cy)-Ri*Math.sin(alpha);path="M"+(Cx-Ri)+","+Cy+" ";path+="L"+(Cx-Ro)+","+Cy+" ";path+="A"+Ro+","+Ro+" 0 0 1 "+Xo+","+Yo+" ";path+="L"+Xi+","+Yi+" ";path+="A"+Ri+","+Ri+" 0 0 0 "+(Cx-Ri)+","+Cy+" ";path+="Z ";return{path:path};} +alpha,Ro,Ri,Cx,Cy,Xo,Yo,Xi,Yi,path=null;};obj.canvas.customAttributes.ndl=function(value,min,max,w,h,dx,dy,gws,donut){var dlt=w*3.5/100;var dlb=w/15;var dw=w/100;if(obj.config.pointerOptions.toplength!=null&&obj.config.pointerOptions.toplength!=undefined) +dlt=obj.config.pointerOptions.toplength;if(obj.config.pointerOptions.bottomlength!=null&&obj.config.pointerOptions.bottomlength!=undefined) +dlb=obj.config.pointerOptions.bottomlength;if(obj.config.pointerOptions.bottomwidth!=null&&obj.config.pointerOptions.bottomwidth!=undefined) +dw=obj.config.pointerOptions.bottomwidth;var alpha,Ro,Ri,Cx,Cy,Xo,Yo,Xi,Yi,Xc,Yc,Xz,Yz,Xa,Ya,Xb,Yb,path;if(donut){alpha=(1-2*(value-min)/(max-min))*Math.PI;Ro=w/2-w/7;Ri=Ro-w/6.666666666666667*gws;Cx=w/2+dx;Cy=h/1.95+dy;Xo=w/2+dx+Ro*Math.cos(alpha);Yo=h-(h-Cy)-Ro*Math.sin(alpha);Xi=w/2+dx+Ri*Math.cos(alpha);Yi=h-(h-Cy)-Ri*Math.sin(alpha);Xc=Xo+dlt*Math.cos(alpha);Yc=Yo-dlt*Math.sin(alpha);Xz=Xi-dlb*Math.cos(alpha);Yz=Yi+dlb*Math.sin(alpha);Xa=Xz+dw*Math.sin(alpha);Ya=Yz+dw*Math.cos(alpha);Xb=Xz-dw*Math.sin(alpha);Yb=Yz-dw*Math.cos(alpha);path='M'+Xa+','+Ya+' ';path+='L'+Xb+','+Yb+' ';path+='L'+Xc+','+Yc+' ';path+='Z ';return{path:path};}else{alpha=(1-(value-min)/(max-min))*Math.PI;Ro=w/2-w/10;Ri=Ro-w/6.666666666666667*gws;Cx=w/2+dx;Cy=h/1.25+dy;Xo=w/2+dx+Ro*Math.cos(alpha);Yo=h-(h-Cy)-Ro*Math.sin(alpha);Xi=w/2+dx+Ri*Math.cos(alpha);Yi=h-(h-Cy)-Ri*Math.sin(alpha);Xc=Xo+dlt*Math.cos(alpha);Yc=Yo-dlt*Math.sin(alpha);Xz=Xi-dlb*Math.cos(alpha);Yz=Yi+dlb*Math.sin(alpha);Xa=Xz+dw*Math.sin(alpha);Ya=Yz+dw*Math.cos(alpha);Xb=Xz-dw*Math.sin(alpha);Yb=Yz-dw*Math.cos(alpha);path='M'+Xa+','+Ya+' ';path+='L'+Xb+','+Yb+' ';path+='L'+Xc+','+Yc+' ';path+='Z ';return{path:path};} +alpha,Ro,Ri,Cx,Cy,Xo,Yo,Xi,Yi,Xc,Yc,Xz,Yz,Xa,Ya,Xb,Yb,path=null;};obj.gauge=obj.canvas.path().attr({"stroke":"none","fill":obj.config.gaugeColor,pki:[obj.config.max,obj.config.min,obj.config.max,obj.params.widgetW,obj.params.widgetH,obj.params.dx,obj.params.dy,obj.config.gaugeWidthScale,obj.config.donut,obj.config.reverse]});obj.level=obj.canvas.path().attr({"stroke":"none","fill":getColor(obj.config.value,(obj.config.value-obj.config.min)/(obj.config.max-obj.config.min),obj.config.levelColors,obj.config.noGradient,obj.config.customSectors),pki:[obj.config.min,obj.config.min,obj.config.max,obj.params.widgetW,obj.params.widgetH,obj.params.dx,obj.params.dy,obj.config.gaugeWidthScale,obj.config.donut,obj.config.reverse]});if(obj.config.donut){obj.level.transform("r"+obj.config.donutStartAngle+", "+(obj.params.widgetW/2+obj.params.dx)+", "+(obj.params.widgetH/1.95+obj.params.dy));} +if(obj.config.pointer){obj.needle=obj.canvas.path().attr({"stroke":(obj.config.pointerOptions.stroke!==null&&obj.config.pointerOptions.stroke!==undefined)?obj.config.pointerOptions.stroke:"none","stroke-width":(obj.config.pointerOptions.stroke_width!==null&&obj.config.pointerOptions.stroke_width!==undefined)?obj.config.pointerOptions.stroke_width:0,"stroke-linecap":(obj.config.pointerOptions.stroke_linecap!==null&&obj.config.pointerOptions.stroke_linecap!==undefined)?obj.config.pointerOptions.stroke_linecap:"square","fill":(obj.config.pointerOptions.color!==null&&obj.config.pointerOptions.color!==undefined)?obj.config.pointerOptions.color:"#000000",ndl:[obj.config.min,obj.config.min,obj.config.max,obj.params.widgetW,obj.params.widgetH,obj.params.dx,obj.params.dy,obj.config.gaugeWidthScale,obj.config.donut]});if(obj.config.donut){obj.needle.transform("r"+obj.config.donutStartAngle+", "+(obj.params.widgetW/2+obj.params.dx)+", "+(obj.params.widgetH/1.95+obj.params.dy));}} +obj.txtTitle=obj.canvas.text(obj.params.titleX,obj.params.titleY,obj.config.title);obj.txtTitle.attr({"font-size":obj.params.titleFontSize,"font-weight":"bold","font-family":obj.config.titleFontFamily,"fill":obj.config.titleFontColor,"fill-opacity":"1"});setDy(obj.txtTitle,obj.params.titleFontSize,obj.params.titleY);obj.txtValue=obj.canvas.text(obj.params.valueX,obj.params.valueY,0);obj.txtValue.attr({"font-size":obj.params.valueFontSize,"font-weight":"bold","font-family":obj.config.valueFontFamily,"fill":obj.config.valueFontColor,"fill-opacity":"0"});setDy(obj.txtValue,obj.params.valueFontSize,obj.params.valueY);obj.txtLabel=obj.canvas.text(obj.params.labelX,obj.params.labelY,obj.config.label);obj.txtLabel.attr({"font-size":obj.params.labelFontSize,"font-weight":"normal","font-family":"Arial","fill":obj.config.labelFontColor,"fill-opacity":"0"});setDy(obj.txtLabel,obj.params.labelFontSize,obj.params.labelY);var min=obj.config.min;if(obj.config.reverse){min=obj.config.max;} +obj.txtMinimum=min;if(obj.config.humanFriendly){obj.txtMinimum=humanFriendlyNumber(min,obj.config.humanFriendlyDecimal);}else if(obj.config.formatNumber){obj.txtMinimum=formatNumber(min);} +obj.txtMin=obj.canvas.text(obj.params.minX,obj.params.minY,obj.txtMinimum);obj.txtMin.attr({"font-size":obj.params.minFontSize,"font-weight":"normal","font-family":"Arial","fill":obj.config.labelFontColor,"fill-opacity":(obj.config.hideMinMax||obj.config.donut)?"0":"1"});setDy(obj.txtMin,obj.params.minFontSize,obj.params.minY);var max=obj.config.max;if(obj.config.reverse){max=obj.config.min;} +obj.txtMaximum=max;if(obj.config.humanFriendly){obj.txtMaximum=humanFriendlyNumber(max,obj.config.humanFriendlyDecimal);}else if(obj.config.formatNumber){obj.txtMaximum=formatNumber(max);} +obj.txtMax=obj.canvas.text(obj.params.maxX,obj.params.maxY,obj.txtMaximum);obj.txtMax.attr({"font-size":obj.params.maxFontSize,"font-weight":"normal","font-family":"Arial","fill":obj.config.labelFontColor,"fill-opacity":(obj.config.hideMinMax||obj.config.donut)?"0":"1"});setDy(obj.txtMax,obj.params.maxFontSize,obj.params.maxY);var defs=obj.canvas.canvas.childNodes[1];var svg="http://www.w3.org/2000/svg";if(ie!=='undefined'&&ie<9){} +else if(ie!=='undefined'){onCreateElementNsReady(function(){obj.generateShadow(svg,defs);});}else{obj.generateShadow(svg,defs);} +defs,svg=null;if(obj.config.textRenderer){obj.originalValue=obj.config.textRenderer(obj.originalValue);}else if(obj.config.humanFriendly){obj.originalValue=humanFriendlyNumber(obj.originalValue,obj.config.humanFriendlyDecimal)+obj.config.symbol;}else if(obj.config.formatNumber){obj.originalValue=formatNumber(obj.originalValue)+obj.config.symbol;}else{obj.originalValue=(obj.originalValue*1).toFixed(obj.config.decimals)+obj.config.symbol;} +if(obj.config.counter===true){eve.on("raphael.anim.frame."+(obj.level.id),function(){var currentValue=obj.level.attr("pki")[0];if(obj.config.reverse){currentValue=(obj.config.max*1)+(obj.config.min*1)-(obj.level.attr("pki")[0]*1);} +if(obj.config.textRenderer){obj.txtValue.attr("text",obj.config.textRenderer(Math.floor(currentValue)));}else if(obj.config.humanFriendly){obj.txtValue.attr("text",humanFriendlyNumber(Math.floor(currentValue),obj.config.humanFriendlyDecimal)+obj.config.symbol);}else if(obj.config.formatNumber){obj.txtValue.attr("text",formatNumber(Math.floor(currentValue))+obj.config.symbol);}else{obj.txtValue.attr("text",(currentValue*1).toFixed(obj.config.decimals)+obj.config.symbol);} +setDy(obj.txtValue,obj.params.valueFontSize,obj.params.valueY);currentValue=null;});eve.on("raphael.anim.finish."+(obj.level.id),function(){obj.txtValue.attr({"text":obj.originalValue});setDy(obj.txtValue,obj.params.valueFontSize,obj.params.valueY);});}else{eve.on("raphael.anim.start."+(obj.level.id),function(){obj.txtValue.attr({"text":obj.originalValue});setDy(obj.txtValue,obj.params.valueFontSize,obj.params.valueY);});} +var rvl=obj.config.value;if(obj.config.reverse){rvl=(obj.config.max*1)+(obj.config.min*1)-(obj.config.value*1);} +obj.level.animate({pki:[rvl,obj.config.min,obj.config.max,obj.params.widgetW,obj.params.widgetH,obj.params.dx,obj.params.dy,obj.config.gaugeWidthScale,obj.config.donut,obj.config.reverse]},obj.config.startAnimationTime,obj.config.startAnimationType);if(obj.config.pointer){obj.needle.animate({ndl:[rvl,obj.config.min,obj.config.max,obj.params.widgetW,obj.params.widgetH,obj.params.dx,obj.params.dy,obj.config.gaugeWidthScale,obj.config.donut]},obj.config.startAnimationTime,obj.config.startAnimationType);} +obj.txtValue.animate({"fill-opacity":(obj.config.hideValue)?"0":"1"},obj.config.startAnimationTime,obj.config.startAnimationType);obj.txtLabel.animate({"fill-opacity":"1"},obj.config.startAnimationTime,obj.config.startAnimationType);};JustGage.prototype.refresh=function(val,max){var obj=this;var displayVal,color,max=max||null;if(max!==null){obj.config.max=max;obj.txtMaximum=obj.config.max;if(obj.config.humanFriendly){obj.txtMaximum=humanFriendlyNumber(obj.config.max,obj.config.humanFriendlyDecimal);}else if(obj.config.formatNumber){obj.txtMaximum=formatNumber(obj.config.max);} +if(!obj.config.reverse){obj.txtMax.attr({"text":obj.txtMaximum});setDy(obj.txtMax,obj.params.maxFontSize,obj.params.maxY);}else{obj.txtMin.attr({"text":obj.txtMaximum});setDy(obj.txtMin,obj.params.minFontSize,obj.params.minY);}} +displayVal=val;if((val*1)>(obj.config.max*1)){val=(obj.config.max*1);} +if((val*1)<(obj.config.min*1)){val=(obj.config.min*1);} +color=getColor(val,(val-obj.config.min)/(obj.config.max-obj.config.min),obj.config.levelColors,obj.config.noGradient,obj.config.customSectors);if(obj.config.textRenderer){displayVal=obj.config.textRenderer(displayVal);}else if(obj.config.humanFriendly){displayVal=humanFriendlyNumber(displayVal,obj.config.humanFriendlyDecimal)+obj.config.symbol;}else if(obj.config.formatNumber){displayVal=formatNumber((displayVal*1).toFixed(obj.config.decimals))+obj.config.symbol;}else{displayVal=(displayVal*1).toFixed(obj.config.decimals)+obj.config.symbol;} +obj.originalValue=displayVal;obj.config.value=val*1;if(!obj.config.counter){obj.txtValue.attr({"text":displayVal});setDy(obj.txtValue,obj.params.valueFontSize,obj.params.valueY);} +var rvl=obj.config.value;if(obj.config.reverse){rvl=(obj.config.max*1)+(obj.config.min*1)-(obj.config.value*1);} +obj.level.animate({pki:[rvl,obj.config.min,obj.config.max,obj.params.widgetW,obj.params.widgetH,obj.params.dx,obj.params.dy,obj.config.gaugeWidthScale,obj.config.donut,obj.config.reverse],"fill":color},obj.config.refreshAnimationTime,obj.config.refreshAnimationType);if(obj.config.pointer){obj.needle.animate({ndl:[rvl,obj.config.min,obj.config.max,obj.params.widgetW,obj.params.widgetH,obj.params.dx,obj.params.dy,obj.config.gaugeWidthScale,obj.config.donut]},obj.config.refreshAnimationTime,obj.config.refreshAnimationType);} +obj,displayVal,color,max=null;};JustGage.prototype.generateShadow=function(svg,defs){var obj=this;var sid="inner-shadow-"+obj.config.id;var gaussFilter,feOffset,feGaussianBlur,feComposite1,feFlood,feComposite2,feComposite3;gaussFilter=document.createElementNS(svg,"filter");gaussFilter.setAttribute("id",sid);defs.appendChild(gaussFilter);feOffset=document.createElementNS(svg,"feOffset");feOffset.setAttribute("dx",0);feOffset.setAttribute("dy",obj.config.shadowVerticalOffset);gaussFilter.appendChild(feOffset);feGaussianBlur=document.createElementNS(svg,"feGaussianBlur");feGaussianBlur.setAttribute("result","offset-blur");feGaussianBlur.setAttribute("stdDeviation",obj.config.shadowSize);gaussFilter.appendChild(feGaussianBlur);feComposite1=document.createElementNS(svg,"feComposite");feComposite1.setAttribute("operator","out");feComposite1.setAttribute("in","SourceGraphic");feComposite1.setAttribute("in2","offset-blur");feComposite1.setAttribute("result","inverse");gaussFilter.appendChild(feComposite1);feFlood=document.createElementNS(svg,"feFlood");feFlood.setAttribute("flood-color","black");feFlood.setAttribute("flood-opacity",obj.config.shadowOpacity);feFlood.setAttribute("result","color");gaussFilter.appendChild(feFlood);feComposite2=document.createElementNS(svg,"feComposite");feComposite2.setAttribute("operator","in");feComposite2.setAttribute("in","color");feComposite2.setAttribute("in2","inverse");feComposite2.setAttribute("result","shadow");gaussFilter.appendChild(feComposite2);feComposite3=document.createElementNS(svg,"feComposite");feComposite3.setAttribute("operator","over");feComposite3.setAttribute("in","shadow");feComposite3.setAttribute("in2","SourceGraphic");gaussFilter.appendChild(feComposite3);if(!obj.config.hideInnerShadow){obj.canvas.canvas.childNodes[2].setAttribute("filter","url(#"+sid+")");obj.canvas.canvas.childNodes[3].setAttribute("filter","url(#"+sid+")");} +gaussFilter,feOffset,feGaussianBlur,feComposite1,feFlood,feComposite2,feComposite3=null;};function kvLookup(key,tablea,tableb,defval,datatype,delimiter){var val=defval;var canConvert=false;if(!(key===null||key===undefined)){if(tableb!==null&&tableb!==undefined&&typeof tableb==="object"&&key in tableb){val=tableb[key];canConvert=true;}else if(tablea!==null&&tablea!==undefined&&typeof tablea==="object"&&key in tablea){val=tablea[key];canConvert=true;}else{val=defval;} +if(canConvert===true){if(datatype!==null&&datatype!==undefined){switch(datatype){case'int':val=parseInt(val,10);break;case'float':val=parseFloat(val);break;default:break;}}}} +return val;};function getColor(val,pct,col,noGradient,custSec){var no,inc,colors,percentage,rval,gval,bval,lower,upper,range,rangePct,pctLower,pctUpper,color;var noGradient=noGradient||custSec.length>0;if(custSec.length>0){for(var i=0;icustSec[i].lo&&val<=custSec[i].hi){return custSec[i].color;}}} +no=col.length;if(no===1) +return col[0];inc=(noGradient)?(1/no):(1/(no-1));colors=[];for(i=0;i9)&&elem.node.firstChild.attributes.dy){elem.node.firstChild.attributes.dy.value=0;}} +function getRandomInt(min,max){return Math.floor(Math.random()*(max-min+1))+min;} +function cutHex(str){return(str.charAt(0)=="#")?str.substring(1,7):str;} +function humanFriendlyNumber(n,d){var p,d2,i,s;p=Math.pow;d2=p(10,d);i=7;while(i){s=p(10,i-- *3);if(s<=n){n=Math.round(n*d2/s)/d2+"KMGTPE"[i];}} +return n;} +function formatNumber(x){var parts=x.toString().split(".");parts[0]=parts[0].replace(/\B(?=(\d{3})+(?!\d))/g,",");return parts.join(".");} +function getStyle(oElm,strCssRule){var strValue="";if(document.defaultView&&document.defaultView.getComputedStyle){strValue=document.defaultView.getComputedStyle(oElm,"").getPropertyValue(strCssRule);}else if(oElm.currentStyle){strCssRule=strCssRule.replace(/\-(\w)/g,function(strMatch,p1){return p1.toUpperCase();});strValue=oElm.currentStyle[strCssRule];} +return strValue;} +function onCreateElementNsReady(func){if(document.createElementNS!==undefined){func();}else{setTimeout(function(){onCreateElementNsReady(func);},100);}} +var ie=(function(){var undef,v=3,div=document.createElement('div'),all=div.getElementsByTagName('i');while(div.innerHTML='',all[0]);return v>4?v:undef;} +());function extend(out){out=out||{};for(var i=1;iW1H(KP1_lEI2tPxOf#H}a1A_(w1A_oa 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 literal 0 HcmV?d00001 diff --git a/examples/SmartSwitch/data_src/index.htm b/examples/SmartSwitch/data_src/index.htm new file mode 100644 index 0000000..44c86bf --- /dev/null +++ b/examples/SmartSwitch/data_src/index.htm @@ -0,0 +1,585 @@ + + + + + + Smart Switch + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+
+ + + + + + + + +
+ + + + + +
+
+ +
+
+
+ +
+
+
+ +
+
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/examples/SmartSwitch/data_src/js_css_src/.exclude.files b/examples/SmartSwitch/data_src/js_css_src/.exclude.files new file mode 100644 index 0000000..955397f --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/.exclude.files @@ -0,0 +1,2 @@ +/*.js.gz +/.exclude.files diff --git a/examples/SmartSwitch/data_src/js_css_src/ace.js b/examples/SmartSwitch/data_src/js_css_src/ace.js new file mode 100644 index 0000000..f54ebb2 --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/ace.js @@ -0,0 +1,14 @@ +(function(){function o(n){var i=e;n&&(e[n]||(e[n]={}),i=e[n]);if(!i.define||!i.define.packaged)t.original=i.define,i.define=t,i.define.packaged=!0;if(!i.require||!i.require.packaged)r.original=i.require,i.require=r,i.require.packaged=!0}var ACE_NAMESPACE="",e=function(){return this}();!e&&typeof window!="undefined"&&(e=window);if(!ACE_NAMESPACE&&typeof requirejs!="undefined")return;var t=function(e,n,r){if(typeof e!="string"){t.original?t.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(r=n),t.modules[e]||(t.payloads[e]=r,t.modules[e]=null)};t.modules={},t.payloads={};var n=function(e,t,n){if(typeof t=="string"){var i=s(e,t);if(i!=undefined)return n&&n(),i}else if(Object.prototype.toString.call(t)==="[object Array]"){var o=[];for(var u=0,a=t.length;u1&&u(t,"")>-1&&(a=RegExp(this.source,r.replace.call(o(this),"g","")),r.replace.call(e.slice(t.index),a,function(){for(var e=1;et.index&&this.lastIndex--}return t},s||(RegExp.prototype.test=function(e){var t=r.exec.call(this,e);return t&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--,!!t})}),define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function B(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(B(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(B(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError("Function.prototype.bind called on incompatible "+n);var i=u.call(arguments,1),s=function(){if(this instanceof s){var e=n.apply(this,i.concat(u.call(arguments)));return Object(e)===e?e:this}return n.apply(t,i.concat(u.call(arguments)))};return n.prototype&&(r.prototype=n.prototype,s.prototype=new r,r.prototype=null),s});var i=Function.prototype.call,s=Array.prototype,o=Object.prototype,u=s.slice,a=i.bind(o.toString),f=i.bind(o.hasOwnProperty),l,c,h,p,d;if(d=f(o,"__defineGetter__"))l=i.bind(o.__defineGetter__),c=i.bind(o.__defineSetter__),h=i.bind(o.__lookupGetter__),p=i.bind(o.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+ta)for(h=l;h--;)this[f+h]=this[a+h];if(s&&e===c)this.length=c,this.push.apply(this,i);else{this.length=c+s;for(h=0;h>>0;if(a(t)!="[object Function]")throw new TypeError;while(++s>>0,s=Array(i),o=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var u=0;u>>0,s=[],o,u=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var f=0;f>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var s=0,o;if(arguments.length>=2)o=arguments[1];else do{if(s in r){o=r[s++];break}if(++s>=i)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;s>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var s,o=i-1;if(arguments.length>=2)s=arguments[1];else do{if(o in r){s=r[o--];break}if(--o<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do o in this&&(s=t.call(void 0,s,r[o],o,n));while(o--);return s});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=0;arguments.length>1&&(i=H(arguments[1])),i=i>=0?i:Math.max(0,r+i);for(;i>>0;if(!r)return-1;var i=r-1;arguments.length>1&&(i=Math.min(i,H(arguments[1]))),i=i>=0?i:r-Math.abs(i);for(;i>=0;i--)if(i in n&&t===n[i])return i;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(t){return t.__proto__||(t.constructor?t.constructor.prototype:o)});if(!Object.getOwnPropertyDescriptor){var y="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(t,n){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(y+t);if(!f(t,n))return;var r,i,s;r={enumerable:!0,configurable:!0};if(d){var u=t.__proto__;t.__proto__=o;var i=h(t,n),s=p(t,n);t.__proto__=u;if(i||s)return i&&(r.get=i),s&&(r.set=s),r}return r.value=t[n],r}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(t){return Object.keys(t)});if(!Object.create){var b;Object.prototype.__proto__===null?b=function(){return{__proto__:null}}:b=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(t,n){var r;if(t===null)r=b();else{if(typeof t!="object")throw new TypeError("typeof prototype["+typeof t+"] != 'object'");var i=function(){};i.prototype=t,r=new i,r.__proto__=t}return n!==void 0&&Object.defineProperties(r,n),r}}if(Object.defineProperty){var E=w({}),S=typeof document=="undefined"||w(document.createElement("div"));if(!E||!S)var x=Object.defineProperty}if(!Object.defineProperty||x){var T="Property description must be an object: ",N="Object.defineProperty called on non-object: ",C="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(t,n,r){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(N+t);if(typeof r!="object"&&typeof r!="function"||r===null)throw new TypeError(T+r);if(x)try{return x.call(Object,t,n,r)}catch(i){}if(f(r,"value"))if(d&&(h(t,n)||p(t,n))){var s=t.__proto__;t.__proto__=o,delete t[n],t[n]=r.value,t.__proto__=s}else t[n]=r.value;else{if(!d)throw new TypeError(C);f(r,"get")&&l(t,n,r.get),f(r,"set")&&c(t,n,r.set)}return t}}Object.defineProperties||(Object.defineProperties=function(t,n){for(var r in n)f(n,r)&&Object.defineProperty(t,r,n[r]);return t}),Object.seal||(Object.seal=function(t){return t}),Object.freeze||(Object.freeze=function(t){return t});try{Object.freeze(function(){})}catch(k){Object.freeze=function(t){return function(n){return typeof n=="function"?n:t(n)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(t){return t}),Object.isSealed||(Object.isSealed=function(t){return!1}),Object.isFrozen||(Object.isFrozen=function(t){return!1}),Object.isExtensible||(Object.isExtensible=function(t){if(Object(t)===t)throw new TypeError;var n="";while(f(t,n))n+="?";t[n]=!0;var r=f(t,n);return delete t[n],r});if(!Object.keys){var L=!0,A=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],O=A.length;for(var M in{toString:null})L=!1;Object.keys=function I(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var I=[];for(var t in e)f(e,t)&&I.push(t);if(L)for(var n=0,r=O;n=0?parseFloat((i.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((i.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),t.isOldIE=t.isIE&&t.isIE<9,t.isGecko=t.isMozilla=(window.Controllers||window.controllers)&&window.navigator.product==="Gecko",t.isOldGecko=t.isGecko&&parseInt((i.match(/rv:(\d+)/)||[])[1],10)<4,t.isOpera=window.opera&&Object.prototype.toString.call(window.opera)=="[object Opera]",t.isWebKit=parseFloat(i.split("WebKit/")[1])||undefined,t.isChrome=parseFloat(i.split(" Chrome/")[1])||undefined,t.isAIR=i.indexOf("AdobeAIR")>=0,t.isIPad=i.indexOf("iPad")>=0,t.isTouchPad=i.indexOf("TouchPad")>=0,t.isChromeOS=i.indexOf(" CrOS ")>=0}),define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";function a(e,t,n){var a=u(t);if(!i.isMac&&s){t.getModifierState&&(t.getModifierState("OS")||t.getModifierState("Win"))&&(a|=8);if(s.altGr){if((3&a)==3)return;s.altGr=0}if(n===18||n===17){var f="location"in t?t.location:t.keyLocation;if(n===17&&f===1)s[n]==1&&(o=t.timeStamp);else if(n===18&&a===3&&f===2){var l=t.timeStamp-o;l<50&&(s.altGr=!0)}}}n in r.MODIFIER_KEYS&&(n=-1),a&8&&n>=91&&n<=93&&(n=-1);if(!a&&n===13){var f="location"in t?t.location:t.keyLocation;if(f===3){e(t,a,-n);if(t.defaultPrevented)return}}if(i.isChromeOS&&a&8){e(t,a,n);if(t.defaultPrevented)return;a&=-9}return!!a||n in r.FUNCTION_KEYS||n in r.PRINTABLE_KEYS?e(t,a,n):!1}function f(){s=Object.create(null)}var r=e("./keys"),i=e("./useragent"),s=null,o=0;t.addListener=function(e,t,n){if(e.addEventListener)return e.addEventListener(t,n,!1);if(e.attachEvent){var r=function(){n.call(e,window.event)};n._wrapper=r,e.attachEvent("on"+t,r)}},t.removeListener=function(e,t,n){if(e.removeEventListener)return e.removeEventListener(t,n,!1);e.detachEvent&&e.detachEvent("on"+t,n._wrapper||n)},t.stopEvent=function(e){return t.stopPropagation(e),t.preventDefault(e),!1},t.stopPropagation=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},t.preventDefault=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1},t.getButton=function(e){return e.type=="dblclick"?0:e.type=="contextmenu"||i.isMac&&e.ctrlKey&&!e.altKey&&!e.shiftKey?2:e.preventDefault?e.button:{1:0,2:2,4:1}[e.button]},t.capture=function(e,n,r){function i(e){n&&n(e),r&&r(e),t.removeListener(document,"mousemove",n,!0),t.removeListener(document,"mouseup",i,!0),t.removeListener(document,"dragstart",i,!0)}return t.addListener(document,"mousemove",n,!0),t.addListener(document,"mouseup",i,!0),t.addListener(document,"dragstart",i,!0),i},t.addTouchMoveListener=function(e,n){if("ontouchmove"in e){var r,i;t.addListener(e,"touchstart",function(e){var t=e.changedTouches[0];r=t.clientX,i=t.clientY}),t.addListener(e,"touchmove",function(e){var t=1,s=e.changedTouches[0];e.wheelX=-(s.clientX-r)/t,e.wheelY=-(s.clientY-i)/t,r=s.clientX,i=s.clientY,n(e)})}},t.addMouseWheelListener=function(e,n){"onmousewheel"in e?t.addListener(e,"mousewheel",function(e){var t=8;e.wheelDeltaX!==undefined?(e.wheelX=-e.wheelDeltaX/t,e.wheelY=-e.wheelDeltaY/t):(e.wheelX=0,e.wheelY=-e.wheelDelta/t),n(e)}):"onwheel"in e?t.addListener(e,"wheel",function(e){var t=.35;switch(e.deltaMode){case e.DOM_DELTA_PIXEL:e.wheelX=e.deltaX*t||0,e.wheelY=e.deltaY*t||0;break;case e.DOM_DELTA_LINE:case e.DOM_DELTA_PAGE:e.wheelX=(e.deltaX||0)*5,e.wheelY=(e.deltaY||0)*5}n(e)}):t.addListener(e,"DOMMouseScroll",function(e){e.axis&&e.axis==e.HORIZONTAL_AXIS?(e.wheelX=(e.detail||0)*5,e.wheelY=0):(e.wheelX=0,e.wheelY=(e.detail||0)*5),n(e)})},t.addMultiMouseDownListener=function(e,n,r,s){function c(e){t.getButton(e)!==0?o=0:e.detail>1?(o++,o>4&&(o=1)):o=1;if(i.isIE){var c=Math.abs(e.clientX-u)>5||Math.abs(e.clientY-a)>5;if(!f||c)o=1;f&&clearTimeout(f),f=setTimeout(function(){f=null},n[o-1]||600),o==1&&(u=e.clientX,a=e.clientY)}e._clicks=o,r[s]("mousedown",e);if(o>4)o=0;else if(o>1)return r[s](l[o],e)}function h(e){o=2,f&&clearTimeout(f),f=setTimeout(function(){f=null},n[o-1]||600),r[s]("mousedown",e),r[s](l[o],e)}var o=0,u,a,f,l={2:"dblclick",3:"tripleclick",4:"quadclick"};Array.isArray(e)||(e=[e]),e.forEach(function(e){t.addListener(e,"mousedown",c),i.isOldIE&&t.addListener(e,"dblclick",h)})};var u=!i.isMac||!i.isOpera||"KeyboardEvent"in window?function(e){return 0|(e.ctrlKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.metaKey?8:0)}:function(e){return 0|(e.metaKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.ctrlKey?8:0)};t.getModifierString=function(e){return r.KEY_MODS[u(e)]},t.addCommandKeyListener=function(e,n){var r=t.addListener;if(i.isOldGecko||i.isOpera&&!("KeyboardEvent"in window)){var o=null;r(e,"keydown",function(e){o=e.keyCode}),r(e,"keypress",function(e){return a(n,e,o)})}else{var u=null;r(e,"keydown",function(e){s[e.keyCode]=(s[e.keyCode]||0)+1;var t=a(n,e,e.keyCode);return u=e.defaultPrevented,t}),r(e,"keypress",function(e){u&&(e.ctrlKey||e.altKey||e.shiftKey||e.metaKey)&&(t.stopEvent(e),u=null)}),r(e,"keyup",function(e){s[e.keyCode]=null}),s||(f(),r(window,"focus",f))}};if(typeof window=="object"&&window.postMessage&&!i.isOldIE){var l=1;t.nextTick=function(e,n){n=n||window;var r="zero-timeout-message-"+l;t.addListener(n,"message",function i(s){s.data==r&&(t.stopPropagation(s),t.removeListener(n,"message",i),e())}),n.postMessage(r,"*")}}t.nextFrame=typeof window=="object"&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),t.nextFrame?t.nextFrame=t.nextFrame.bind(window):t.nextFrame=function(e){setTimeout(e,17)}}),define("ace/lib/lang",["require","exports","module"],function(e,t,n){"use strict";t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n=53&&O()},I=o.delayedCall(j,50);r.addListener(n,"compositionstart",B),i.isGecko?r.addListener(n,"text",function(){I.schedule()}):(r.addListener(n,"keyup",function(){I.schedule()}),r.addListener(n,"keydown",function(){I.schedule()})),r.addListener(n,"compositionend",F),this.getElement=function(){return n},this.setReadOnly=function(e){n.readOnly=e},this.onContextMenu=function(e){L=!0,b(t.selection.isEmpty()),t._emit("nativecontextmenu",{target:t,domEvent:e}),this.moveToMouse(e,!0)},this.moveToMouse=function(e,o){if(!o&&i.isOldIE)return;p||(p=n.style.cssText),n.style.cssText=(o?"z-index:100000;":"")+"height:"+n.style.height+";"+(i.isIE?"opacity:0.1;":"");var u=t.container.getBoundingClientRect(),a=s.computedStyle(t.container),f=u.top+(parseInt(a.borderTopWidth)||0),l=u.left+(parseInt(u.borderLeftWidth)||0),c=u.bottom-f-n.clientHeight-2,h=function(e){n.style.left=e.clientX-l-2+"px",n.style.top=Math.min(e.clientY-f-2,c)+"px"};h(e);if(e.type!="mousedown")return;t.renderer.$keepTextAreaAtCursor&&(t.renderer.$keepTextAreaAtCursor=null),clearTimeout(q),i.isWin&&!i.isOldIE&&r.capture(t.container,h,R)},this.onContextMenuClose=R;var q,U=function(e){t.textInput.onContextMenu(e),R()};r.addListener(n,"mouseup",U),r.addListener(n,"mousedown",function(e){e.preventDefault(),R()}),r.addListener(t.renderer.scroller,"contextmenu",U),r.addListener(n,"contextmenu",U)};t.TextInput=f}),define("ace/mouse/default_handlers",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";function u(e){e.$clickSelection=null;var t=e.editor;t.setDefaultHandler("mousedown",this.onMouseDown.bind(e)),t.setDefaultHandler("dblclick",this.onDoubleClick.bind(e)),t.setDefaultHandler("tripleclick",this.onTripleClick.bind(e)),t.setDefaultHandler("quadclick",this.onQuadClick.bind(e)),t.setDefaultHandler("mousewheel",this.onMouseWheel.bind(e)),t.setDefaultHandler("touchmove",this.onTouchMove.bind(e));var n=["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"];n.forEach(function(t){e[t]=this[t]},this),e.selectByLines=this.extendSelectionBy.bind(e,"getLineRange"),e.selectByWords=this.extendSelectionBy.bind(e,"getWordRange")}function a(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}function f(e,t){if(e.start.row==e.end.row)var n=2*t.column-e.start.column-e.end.column;else if(e.start.row==e.end.row-1&&!e.start.column&&!e.end.column)var n=t.column-4;else var n=2*t.row-e.start.row-e.end.row;return n<0?{cursor:e.start,anchor:e.end}:{cursor:e.end,anchor:e.start}}var r=e("../lib/dom"),i=e("../lib/event"),s=e("../lib/useragent"),o=0;(function(){this.onMouseDown=function(e){var t=e.inSelection(),n=e.getDocumentPosition();this.mousedownEvent=e;var r=this.editor,i=e.getButton();if(i!==0){var s=r.getSelectionRange(),o=s.isEmpty();r.$blockScrolling++,(o||i==1)&&r.selection.moveToPosition(n),r.$blockScrolling--,i==2&&r.textInput.onContextMenu(e.domEvent);return}this.mousedownEvent.time=Date.now();if(t&&!r.isFocused()){r.focus();if(this.$focusTimout&&!this.$clickSelection&&!r.inMultiSelectMode){this.setState("focusWait"),this.captureMouse(e);return}}return this.captureMouse(e),this.startSelect(n,e.domEvent._clicks>1),e.preventDefault()},this.startSelect=function(e,t){e=e||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var n=this.editor;n.$blockScrolling++,this.mousedownEvent.getShiftKey()?n.selection.selectToPosition(e):t||n.selection.moveToPosition(e),t||this.select(),n.renderer.scroller.setCapture&&n.renderer.scroller.setCapture(),n.setStyle("ace_selecting"),this.setState("select"),n.$blockScrolling--},this.select=function(){var e,t=this.editor,n=t.renderer.screenToTextCoordinates(this.x,this.y);t.$blockScrolling++;if(this.$clickSelection){var r=this.$clickSelection.comparePoint(n);if(r==-1)e=this.$clickSelection.end;else if(r==1)e=this.$clickSelection.start;else{var i=f(this.$clickSelection,n);n=i.cursor,e=i.anchor}t.selection.setSelectionAnchor(e.row,e.column)}t.selection.selectToPosition(n),t.$blockScrolling--,t.renderer.scrollCursorIntoView()},this.extendSelectionBy=function(e){var t,n=this.editor,r=n.renderer.screenToTextCoordinates(this.x,this.y),i=n.selection[e](r.row,r.column);n.$blockScrolling++;if(this.$clickSelection){var s=this.$clickSelection.comparePoint(i.start),o=this.$clickSelection.comparePoint(i.end);if(s==-1&&o<=0){t=this.$clickSelection.end;if(i.end.row!=r.row||i.end.column!=r.column)r=i.start}else if(o==1&&s>=0){t=this.$clickSelection.start;if(i.start.row!=r.row||i.start.column!=r.column)r=i.end}else if(s==-1&&o==1)r=i.end,t=i.start;else{var u=f(this.$clickSelection,r);r=u.cursor,t=u.anchor}n.selection.setSelectionAnchor(t.row,t.column)}n.selection.selectToPosition(r),n.$blockScrolling--,n.renderer.scrollCursorIntoView()},this.selectEnd=this.selectAllEnd=this.selectByWordsEnd=this.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting"),this.editor.renderer.scroller.releaseCapture&&this.editor.renderer.scroller.releaseCapture()},this.focusWait=function(){var e=a(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),t=Date.now();(e>o||t-this.mousedownEvent.time>this.$focusTimout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},this.onDoubleClick=function(e){var t=e.getDocumentPosition(),n=this.editor,r=n.session,i=r.getBracketRange(t);i?(i.isEmpty()&&(i.start.column--,i.end.column++),this.setState("select")):(i=n.selection.getWordRange(t.row,t.column),this.setState("selectByWords")),this.$clickSelection=i,this.select()},this.onTripleClick=function(e){var t=e.getDocumentPosition(),n=this.editor;this.setState("selectByLines");var r=n.getSelectionRange();r.isMultiLine()&&r.contains(t.row,t.column)?(this.$clickSelection=n.selection.getLineRange(r.start.row),this.$clickSelection.end=n.selection.getLineRange(r.end.row).end):this.$clickSelection=n.selection.getLineRange(t.row),this.select()},this.onQuadClick=function(e){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("selectAll")},this.onMouseWheel=function(e){if(e.getAccelKey())return;e.getShiftKey()&&e.wheelY&&!e.wheelX&&(e.wheelX=e.wheelY,e.wheelY=0);var t=e.domEvent.timeStamp,n=t-(this.$lastScrollTime||0),r=this.editor,i=r.renderer.isScrollableBy(e.wheelX*e.speed,e.wheelY*e.speed);if(i||n<200)return this.$lastScrollTime=t,r.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.stop()},this.onTouchMove=function(e){var t=e.domEvent.timeStamp,n=t-(this.$lastScrollTime||0),r=this.editor,i=r.renderer.isScrollableBy(e.wheelX*e.speed,e.wheelY*e.speed);if(i||n<200)return this.$lastScrollTime=t,r.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.stop()}}).call(u.prototype),t.DefaultHandlers=u}),define("ace/tooltip",["require","exports","module","ace/lib/oop","ace/lib/dom"],function(e,t,n){"use strict";function s(e){this.isOpen=!1,this.$element=null,this.$parentNode=e}var r=e("./lib/oop"),i=e("./lib/dom");(function(){this.$init=function(){return this.$element=i.createElement("div"),this.$element.className="ace_tooltip",this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},this.getElement=function(){return this.$element||this.$init()},this.setText=function(e){i.setInnerText(this.getElement(),e)},this.setHtml=function(e){this.getElement().innerHTML=e},this.setPosition=function(e,t){this.getElement().style.left=e+"px",this.getElement().style.top=t+"px"},this.setClassName=function(e){i.addCssClass(this.getElement(),e)},this.show=function(e,t,n){e!=null&&this.setText(e),t!=null&&n!=null&&this.setPosition(t,n),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},this.hide=function(){this.isOpen&&(this.getElement().style.display="none",this.isOpen=!1)},this.getHeight=function(){return this.getElement().offsetHeight},this.getWidth=function(){return this.getElement().offsetWidth}}).call(s.prototype),t.Tooltip=s}),define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event","ace/tooltip"],function(e,t,n){"use strict";function u(e){function l(){var r=u.getDocumentPosition().row,s=n.$annotations[r];if(!s)return c();var o=t.session.getLength();if(r==o){var a=t.renderer.pixelToScreenCoordinates(0,u.y).row,l=u.$pos;if(a>t.session.documentToScreenRow(l.row,l.column))return c()}if(f==s)return;f=s.text.join("
"),i.setHtml(f),i.show(),t._signal("showGutterTooltip",i),t.on("mousewheel",c);if(e.$tooltipFollowsMouse)h(u);else{var p=u.domEvent.target,d=p.getBoundingClientRect(),v=i.getElement().style;v.left=d.right+"px",v.top=d.bottom+"px"}}function c(){o&&(o=clearTimeout(o)),f&&(i.hide(),f=null,t._signal("hideGutterTooltip",i),t.removeEventListener("mousewheel",c))}function h(e){i.setPosition(e.x,e.y)}var t=e.editor,n=t.renderer.$gutterLayer,i=new a(t.container);e.editor.setDefaultHandler("guttermousedown",function(r){if(!t.isFocused()||r.getButton()!=0)return;var i=n.getRegion(r);if(i=="foldWidgets")return;var s=r.getDocumentPosition().row,o=t.session.selection;if(r.getShiftKey())o.selectTo(s,0);else{if(r.domEvent.detail==2)return t.selectAll(),r.preventDefault();e.$clickSelection=t.selection.getLineRange(s)}return e.setState("selectByLines"),e.captureMouse(r),r.preventDefault()});var o,u,f;e.editor.setDefaultHandler("guttermousemove",function(t){var n=t.domEvent.target||t.domEvent.srcElement;if(r.hasCssClass(n,"ace_fold-widget"))return c();f&&e.$tooltipFollowsMouse&&h(t),u=t;if(o)return;o=setTimeout(function(){o=null,u&&!e.isMousePressed?l():c()},50)}),s.addListener(t.renderer.$gutter,"mouseout",function(e){u=null;if(!f||o)return;o=setTimeout(function(){o=null,c()},50)}),t.on("changeSession",c)}function a(e){o.call(this,e)}var r=e("../lib/dom"),i=e("../lib/oop"),s=e("../lib/event"),o=e("../tooltip").Tooltip;i.inherits(a,o),function(){this.setPosition=function(e,t){var n=window.innerWidth||document.documentElement.clientWidth,r=window.innerHeight||document.documentElement.clientHeight,i=this.getWidth(),s=this.getHeight();e+=15,t+=15,e+i>n&&(e-=e+i-n),t+s>r&&(t-=20+s),o.prototype.setPosition.call(this,e,t)}}.call(a.prototype),t.GutterHandler=u}),define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=t.MouseEvent=function(e,t){this.domEvent=e,this.editor=t,this.x=this.clientX=e.clientX,this.y=this.clientY=e.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1};(function(){this.stopPropagation=function(){r.stopPropagation(this.domEvent),this.propagationStopped=!0},this.preventDefault=function(){r.preventDefault(this.domEvent),this.defaultPrevented=!0},this.stop=function(){this.stopPropagation(),this.preventDefault()},this.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},this.inSelection=function(){if(this.$inSelection!==null)return this.$inSelection;var e=this.editor,t=e.getSelectionRange();if(t.isEmpty())this.$inSelection=!1;else{var n=this.getDocumentPosition();this.$inSelection=t.contains(n.row,n.column)}return this.$inSelection},this.getButton=function(){return r.getButton(this.domEvent)},this.getShiftKey=function(){return this.domEvent.shiftKey},this.getAccelKey=i.isMac?function(){return this.domEvent.metaKey}:function(){return this.domEvent.ctrlKey}}).call(s.prototype)}),define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(e,t,n){"use strict";function f(e){function T(e,n){var r=Date.now(),i=!n||e.row!=n.row,s=!n||e.column!=n.column;if(!S||i||s)t.$blockScrolling+=1,t.moveCursorToPosition(e),t.$blockScrolling-=1,S=r,x={x:p,y:d};else{var o=l(x.x,x.y,p,d);o>a?S=null:r-S>=u&&(t.renderer.scrollCursorIntoView(),S=null)}}function N(e,n){var r=Date.now(),i=t.renderer.layerConfig.lineHeight,s=t.renderer.layerConfig.characterWidth,u=t.renderer.scroller.getBoundingClientRect(),a={x:{left:p-u.left,right:u.right-p},y:{top:d-u.top,bottom:u.bottom-d}},f=Math.min(a.x.left,a.x.right),l=Math.min(a.y.top,a.y.bottom),c={row:e.row,column:e.column};f/s<=2&&(c.column+=a.x.left=o&&t.renderer.scrollCursorIntoView(c):E=r:E=null}function C(){var e=g;g=t.renderer.screenToTextCoordinates(p,d),T(g,e),N(g,e)}function k(){m=t.selection.toOrientedRange(),h=t.session.addMarker(m,"ace_selection",t.getSelectionStyle()),t.clearSelection(),t.isFocused()&&t.renderer.$cursorLayer.setBlinking(!1),clearInterval(v),C(),v=setInterval(C,20),y=0,i.addListener(document,"mousemove",O)}function L(){clearInterval(v),t.session.removeMarker(h),h=null,t.$blockScrolling+=1,t.selection.fromOrientedRange(m),t.$blockScrolling-=1,t.isFocused()&&!w&&t.renderer.$cursorLayer.setBlinking(!t.getReadOnly()),m=null,g=null,y=0,E=null,S=null,i.removeListener(document,"mousemove",O)}function O(){A==null&&(A=setTimeout(function(){A!=null&&h&&L()},20))}function M(e){var t=e.types;return!t||Array.prototype.some.call(t,function(e){return e=="text/plain"||e=="Text"})}function _(e){var t=["copy","copymove","all","uninitialized"],n=["move","copymove","linkmove","all","uninitialized"],r=s.isMac?e.altKey:e.ctrlKey,i="uninitialized";try{i=e.dataTransfer.effectAllowed.toLowerCase()}catch(e){}var o="none";return r&&t.indexOf(i)>=0?o="copy":n.indexOf(i)>=0?o="move":t.indexOf(i)>=0&&(o="copy"),o}var t=e.editor,n=r.createElement("img");n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",s.isOpera&&(n.style.cssText="width:1px;height:1px;position:fixed;top:0;left:0;z-index:2147483647;opacity:0;");var f=["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"];f.forEach(function(t){e[t]=this[t]},this),t.addEventListener("mousedown",this.onMouseDown.bind(e));var c=t.container,h,p,d,v,m,g,y=0,b,w,E,S,x;this.onDragStart=function(e){if(this.cancelDrag||!c.draggable){var r=this;return setTimeout(function(){r.startSelect(),r.captureMouse(e)},0),e.preventDefault()}m=t.getSelectionRange();var i=e.dataTransfer;i.effectAllowed=t.getReadOnly()?"copy":"copyMove",s.isOpera&&(t.container.appendChild(n),n.scrollTop=0),i.setDragImage&&i.setDragImage(n,0,0),s.isOpera&&t.container.removeChild(n),i.clearData(),i.setData("Text",t.session.getTextRange()),w=!0,this.setState("drag")},this.onDragEnd=function(e){c.draggable=!1,w=!1,this.setState(null);if(!t.getReadOnly()){var n=e.dataTransfer.dropEffect;!b&&n=="move"&&t.session.remove(t.getSelectionRange()),t.renderer.$cursorLayer.setBlinking(!0)}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return p=e.clientX,d=e.clientY,h||k(),y++,e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragOver=function(e){if(t.getReadOnly()||!M(e.dataTransfer))return;return p=e.clientX,d=e.clientY,h||(k(),y++),A!==null&&(A=null),e.dataTransfer.dropEffect=b=_(e),i.preventDefault(e)},this.onDragLeave=function(e){y--;if(y<=0&&h)return L(),b=null,i.preventDefault(e)},this.onDrop=function(e){if(!g)return;var n=e.dataTransfer;if(w)switch(b){case"move":m.contains(g.row,g.column)?m={start:g,end:g}:m=t.moveText(m,g);break;case"copy":m=t.moveText(m,g,!0)}else{var r=n.getData("Text");m={start:g,end:t.session.insert(g,r)},t.focus(),b=null}return L(),i.preventDefault(e)},i.addListener(c,"dragstart",this.onDragStart.bind(e)),i.addListener(c,"dragend",this.onDragEnd.bind(e)),i.addListener(c,"dragenter",this.onDragEnter.bind(e)),i.addListener(c,"dragover",this.onDragOver.bind(e)),i.addListener(c,"dragleave",this.onDragLeave.bind(e)),i.addListener(c,"drop",this.onDrop.bind(e));var A=null}function l(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}var r=e("../lib/dom"),i=e("../lib/event"),s=e("../lib/useragent"),o=200,u=200,a=5;(function(){this.dragWait=function(){var e=Date.now()-this.mousedownEvent.time;e>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var e=this.editor.container;e.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(e){this.editor.renderer.$cursorLayer.setBlinking(!this.editor.getReadOnly()),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var e=this.editor,t=e.container;t.draggable=!0,e.renderer.$cursorLayer.setBlinking(!1),e.setStyle("ace_dragging");var n=s.isWin?"default":"move";e.renderer.setCursorStyle(n),this.setState("dragReady")},this.onMouseDrag=function(e){var t=this.editor.container;if(s.isIE&&this.state=="dragReady"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>3&&t.dragDrop()}if(this.state==="dragWait"){var n=l(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>0&&(t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(e){if(!this.$dragEnabled)return;this.mousedownEvent=e;var t=this.editor,n=e.inSelection(),r=e.getButton(),i=e.domEvent.detail||1;if(i===1&&r===0&&n){if(e.editor.inMultiSelectMode&&(e.getAccelKey()||e.getShiftKey()))return;this.mousedownEvent.time=Date.now();var o=e.domEvent.target||e.domEvent.srcElement;"unselectable"in o&&(o.unselectable="on");if(t.getDragDelay()){if(s.isWebKit){this.cancelDrag=!0;var u=t.container;u.draggable=!0}this.setState("dragWait")}else this.startDrag();this.captureMouse(e,this.onMouseDrag.bind(this)),e.defaultPrevented=!0}}}).call(f.prototype),t.DragdropHandler=f}),define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("./dom");t.get=function(e,t){var n=new XMLHttpRequest;n.open("GET",e,!0),n.onreadystatechange=function(){n.readyState===4&&t(n.responseText)},n.send(null)},t.loadScript=function(e,t){var n=r.getDocumentHead(),i=document.createElement("script");i.src=e,n.appendChild(i),i.onload=i.onreadystatechange=function(e,n){if(n||!i.readyState||i.readyState=="loaded"||i.readyState=="complete")i=i.onload=i.onreadystatechange=null,n||t()}},t.qualifyURL=function(e){var t=document.createElement("a");return t.href=e,t.href}}),define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){"use strict";var r={},i=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=s),n=n.slice();for(var o=0;o1&&(i=n[n.length-2]);var o=a[t+"Path"];return o==null?o=a.basePath:r=="/"&&(t=r=""),o&&o.slice(-1)!="/"&&(o+="/"),o+t+r+i+this.get("suffix")},t.setModuleUrl=function(e,t){return a.$moduleUrls[e]=t},t.$loading={},t.loadModule=function(n,r){var i,o;Array.isArray(n)&&(o=n[0],n=n[1]);try{i=e(n)}catch(u){}if(i&&!t.$loading[n])return r&&r(i);t.$loading[n]||(t.$loading[n]=[]),t.$loading[n].push(r);if(t.$loading[n].length>1)return;var a=function(){e([n],function(e){t._emit("load.module",{name:n,module:e});var r=t.$loading[n];t.$loading[n]=null,r.forEach(function(t){t&&t(e)})})};if(!t.get("packaged"))return a();s.loadScript(t.moduleUrl(n,o),a)},t.init=f}),define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/config"],function(e,t,n){"use strict";var r=e("../lib/event"),i=e("../lib/useragent"),s=e("./default_handlers").DefaultHandlers,o=e("./default_gutter_handler").GutterHandler,u=e("./mouse_event").MouseEvent,a=e("./dragdrop_handler").DragdropHandler,f=e("../config"),l=function(e){var t=this;this.editor=e,new s(this),new o(this),new a(this);var n=function(t){var n=!document.hasFocus||!document.hasFocus()||!e.isFocused()&&document.activeElement==(e.textInput&&e.textInput.getElement());n&&window.focus(),e.focus()},u=e.renderer.getMouseEventTarget();r.addListener(u,"click",this.onMouseEvent.bind(this,"click")),r.addListener(u,"mousemove",this.onMouseMove.bind(this,"mousemove")),r.addMultiMouseDownListener([u,e.renderer.scrollBarV&&e.renderer.scrollBarV.inner,e.renderer.scrollBarH&&e.renderer.scrollBarH.inner,e.textInput&&e.textInput.getElement()].filter(Boolean),[400,300,250],this,"onMouseEvent"),r.addMouseWheelListener(e.container,this.onMouseWheel.bind(this,"mousewheel")),r.addTouchMoveListener(e.container,this.onTouchMove.bind(this,"touchmove"));var f=e.renderer.$gutter;r.addListener(f,"mousedown",this.onMouseEvent.bind(this,"guttermousedown")),r.addListener(f,"click",this.onMouseEvent.bind(this,"gutterclick")),r.addListener(f,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick")),r.addListener(f,"mousemove",this.onMouseEvent.bind(this,"guttermousemove")),r.addListener(u,"mousedown",n),r.addListener(f,"mousedown",n),i.isIE&&e.renderer.scrollBarV&&(r.addListener(e.renderer.scrollBarV.element,"mousedown",n),r.addListener(e.renderer.scrollBarH.element,"mousedown",n)),e.on("mousemove",function(n){if(t.state||t.$dragDelay||!t.$dragEnabled)return;var r=e.renderer.screenToTextCoordinates(n.x,n.y),i=e.session.selection.getRange(),s=e.renderer;!i.isEmpty()&&i.insideStart(r.row,r.column)?s.setCursorStyle("default"):s.setCursorStyle("")})};(function(){this.onMouseEvent=function(e,t){this.editor._emit(e,new u(t,this.editor))},this.onMouseMove=function(e,t){var n=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;if(!n||!n.length)return;this.editor._emit(e,new u(t,this.editor))},this.onMouseWheel=function(e,t){var n=new u(t,this.editor);n.speed=this.$scrollSpeed*2,n.wheelX=t.wheelX,n.wheelY=t.wheelY,this.editor._emit(e,n)},this.onTouchMove=function(e,t){var n=new u(t,this.editor);n.speed=1,n.wheelX=t.wheelX,n.wheelY=t.wheelY,this.editor._emit(e,n)},this.setState=function(e){this.state=e},this.captureMouse=function(e,t){this.x=e.x,this.y=e.y,this.isMousePressed=!0;var n=this.editor.renderer;n.$keepTextAreaAtCursor&&(n.$keepTextAreaAtCursor=null);var s=this,o=function(e){if(!e)return;if(i.isWebKit&&!e.which&&s.releaseMouse)return s.releaseMouse();s.x=e.clientX,s.y=e.clientY,t&&t(e),s.mouseEvent=new u(e,s.editor),s.$mouseMoved=!0},a=function(e){clearInterval(l),f(),s[s.state+"End"]&&s[s.state+"End"](e),s.state="",n.$keepTextAreaAtCursor==null&&(n.$keepTextAreaAtCursor=!0,n.$moveTextAreaToCursor()),s.isMousePressed=!1,s.$onCaptureMouseMove=s.releaseMouse=null,e&&s.onMouseEvent("mouseup",e)},f=function(){s[s.state]&&s[s.state](),s.$mouseMoved=!1};if(i.isOldIE&&e.domEvent.type=="dblclick")return setTimeout(function(){a(e)});s.$onCaptureMouseMove=o,s.releaseMouse=r.capture(this.editor.container,o,a);var l=setInterval(f,20)},this.releaseMouse=null,this.cancelContextMenu=function(){var e=function(t){if(t&&t.domEvent&&t.domEvent.type!="contextmenu")return;this.editor.off("nativecontextmenu",e),t&&t.domEvent&&r.stopEvent(t.domEvent)}.bind(this);setTimeout(e,10),this.editor.on("nativecontextmenu",e)}}).call(l.prototype),f.defineOptions(l.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:i.isMac?150:0},dragEnabled:{initialValue:!0},focusTimout:{initialValue:0},tooltipFollowsMouse:{initialValue:!0}}),t.MouseHandler=l}),define("ace/mouse/fold_handler",["require","exports","module"],function(e,t,n){"use strict";function r(e){e.on("click",function(t){var n=t.getDocumentPosition(),r=e.session,i=r.getFoldAt(n.row,n.column,1);i&&(t.getAccelKey()?r.removeFold(i):r.expandFold(i),t.stop())}),e.on("gutterclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(n=="foldWidgets"){var r=t.getDocumentPosition().row,i=e.session;i.foldWidgets&&i.foldWidgets[r]&&e.session.onFoldWidgetClick(r,t),e.isFocused()||e.focus(),t.stop()}}),e.on("gutterdblclick",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(n=="foldWidgets"){var r=t.getDocumentPosition().row,i=e.session,s=i.getParentFoldRangeData(r,!0),o=s.range||s.firstRange;if(o){r=o.start.row;var u=i.getFoldAt(r,i.getLine(r).length,1);u?i.removeFold(u):(i.addFold("...",o),e.renderer.scrollCursorIntoView({row:o.start.row,column:0}))}t.stop()}})}t.FoldHandler=r}),define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(e,t,n){"use strict";var r=e("../lib/keys"),i=e("../lib/event"),s=function(e){this.$editor=e,this.$data={editor:e},this.$handlers=[],this.setDefaultHandler(e.commands)};(function(){this.setDefaultHandler=function(e){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=e,this.addKeyboardHandler(e,0)},this.setKeyboardHandler=function(e){var t=this.$handlers;if(t[t.length-1]==e)return;while(t[t.length-1]&&t[t.length-1]!=this.$defaultHandler)this.removeKeyboardHandler(t[t.length-1]);this.addKeyboardHandler(e,1)},this.addKeyboardHandler=function(e,t){if(!e)return;typeof e=="function"&&!e.handleKeyboard&&(e.handleKeyboard=e);var n=this.$handlers.indexOf(e);n!=-1&&this.$handlers.splice(n,1),t==undefined?this.$handlers.push(e):this.$handlers.splice(t,0,e),n==-1&&e.attach&&e.attach(this.$editor)},this.removeKeyboardHandler=function(e){var t=this.$handlers.indexOf(e);return t==-1?!1:(this.$handlers.splice(t,1),e.detach&&e.detach(this.$editor),!0)},this.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},this.getStatusText=function(){var e=this.$data,t=e.editor;return this.$handlers.map(function(n){return n.getStatusText&&n.getStatusText(t,e)||""}).filter(Boolean).join(" ")},this.$callKeyboardHandlers=function(e,t,n,r){var s,o=!1,u=this.$editor.commands;for(var a=this.$handlers.length;a--;){s=this.$handlers[a].handleKeyboard(this.$data,e,t,n,r);if(!s||!s.command)continue;s.command=="null"?o=!0:o=u.exec(s.command,this.$editor,s.args,r),o&&r&&e!=-1&&s.passEvent!=1&&s.command.passEvent!=1&&i.stopEvent(r);if(o)break}return!o&&e==-1&&(s={command:"insertstring"},o=u.exec("insertstring",this.$editor,t)),o&&this.$editor._signal&&this.$editor._signal("keyboardActivity",s),o},this.onCommandKey=function(e,t,n){var i=r.keyCodeToString(n);this.$callKeyboardHandlers(t,i,n,e)},this.onTextInput=function(e){this.$callKeyboardHandlers(-1,e)}}).call(s.prototype),t.KeyBinding=s}),define("ace/range",["require","exports","module"],function(e,t,n){"use strict";var r=function(e,t){return e.row-t.row||e.column-t.column},i=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?tthis.end.column?1:0:ethis.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.rowt)var r={row:t+1,column:0};else if(this.start.rowt.row||e.row==t.row&&e.column>t.column},this.getRange=function(){var e=this.anchor,t=this.lead;return this.isEmpty()?o.fromPoints(t,t):this.isBackwards()?o.fromPoints(t,e):o.fromPoints(e,t)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},this.selectAll=function(){var e=this.doc.getLength()-1;this.setSelectionAnchor(0,0),this.moveCursorTo(e,this.doc.getLine(e).length)},this.setRange=this.setSelectionRange=function(e,t){t?(this.setSelectionAnchor(e.end.row,e.end.column),this.selectTo(e.start.row,e.start.column)):(this.setSelectionAnchor(e.start.row,e.start.column),this.selectTo(e.end.row,e.end.column)),this.getRange().isEmpty()&&(this.$isEmpty=!0),this.$desiredColumn=null},this.$moveSelection=function(e){var t=this.lead;this.$isEmpty&&this.setSelectionAnchor(t.row,t.column),e.call(this)},this.selectTo=function(e,t){this.$moveSelection(function(){this.moveCursorTo(e,t)})},this.selectToPosition=function(e){this.$moveSelection(function(){this.moveCursorToPosition(e)})},this.moveTo=function(e,t){this.clearSelection(),this.moveCursorTo(e,t)},this.moveToPosition=function(e){this.clearSelection(),this.moveCursorToPosition(e)},this.selectUp=function(){this.$moveSelection(this.moveCursorUp)},this.selectDown=function(){this.$moveSelection(this.moveCursorDown)},this.selectRight=function(){this.$moveSelection(this.moveCursorRight)},this.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},this.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},this.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},this.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},this.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},this.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},this.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},this.getWordRange=function(e,t){if(typeof t=="undefined"){var n=e||this.lead;e=n.row,t=n.column}return this.session.getWordRange(e,t)},this.selectWord=function(){this.setSelectionRange(this.getWordRange())},this.selectAWord=function(){var e=this.getCursor(),t=this.session.getAWordRange(e.row,e.column);this.setSelectionRange(t)},this.getLineRange=function(e,t){var n=typeof e=="number"?e:this.lead.row,r,i=this.session.getFoldLine(n);return i?(n=i.start.row,r=i.end.row):r=n,t===!0?new o(n,0,r,this.session.getLine(r).length):new o(n,0,r+1,0)},this.selectLine=function(){this.setSelectionRange(this.getLineRange())},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},this.moveCursorLeft=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,-1))this.moveCursorTo(t.start.row,t.start.column);else if(e.column===0)e.row>0&&this.moveCursorTo(e.row-1,this.doc.getLine(e.row-1).length);else{var n=this.session.getTabSize();this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(e.column-n,e.column).split(" ").length-1==n?this.moveCursorBy(0,-n):this.moveCursorBy(0,-1)}},this.moveCursorRight=function(){var e=this.lead.getPosition(),t;if(t=this.session.getFoldAt(e.row,e.column,1))this.moveCursorTo(t.end.row,t.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row0&&(t.column=r)}}this.moveCursorTo(t.row,t.column)},this.moveCursorFileEnd=function(){var e=this.doc.getLength()-1,t=this.doc.getLine(e).length;this.moveCursorTo(e,t)},this.moveCursorFileStart=function(){this.moveCursorTo(0,0)},this.moveCursorLongWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),i;this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var s=this.session.getFoldAt(e,t,1);if(s){this.moveCursorTo(s.end.row,s.end.column);return}if(i=this.session.nonTokenRe.exec(r))t+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,r=n.substring(t);if(t>=n.length){this.moveCursorTo(e,n.length),this.moveCursorRight(),e0&&this.moveCursorWordLeft();return}if(o=this.session.tokenRe.exec(s))t-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0;this.moveCursorTo(e,t)},this.$shortWordEndIndex=function(e){var t,n=0,r,i=/\s/,s=this.session.tokenRe;s.lastIndex=0;if(t=this.session.tokenRe.exec(e))n=this.session.tokenRe.lastIndex;else{while((r=e[n])&&i.test(r))n++;if(n<1){s.lastIndex=0;while((r=e[n])&&!s.test(r)){s.lastIndex=0,n++;if(i.test(r)){if(n>2){n--;break}while((r=e[n])&&i.test(r))n++;if(n>2)break}}}}return s.lastIndex=0,n},this.moveCursorShortWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),i=this.session.getFoldAt(e,t,1);if(i)return this.moveCursorTo(i.end.row,i.end.column);if(t==n.length){var s=this.doc.getLength();do e++,r=this.doc.getLine(e);while(e0&&/^\s*$/.test(r));t=r.length,/\s+$/.test(r)||(r="")}var s=i.stringReverse(r),o=this.$shortWordEndIndex(s);return this.moveCursorTo(e,t-o)},this.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},this.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},this.moveCursorBy=function(e,t){var n=this.session.documentToScreenPosition(this.lead.row,this.lead.column);t===0&&(this.$desiredColumn?n.column=this.$desiredColumn:this.$desiredColumn=n.column);var r=this.session.screenToDocumentPosition(n.row+e,n.column);e!==0&&t===0&&r.row===this.lead.row&&r.column===this.lead.column&&this.session.lineWidgets&&this.session.lineWidgets[r.row]&&(r.row>0||e>0)&&r.row++,this.moveCursorTo(r.row,r.column+t,t===0)},this.moveCursorToPosition=function(e){this.moveCursorTo(e.row,e.column)},this.moveCursorTo=function(e,t,n){var r=this.session.getFoldAt(e,t,1);r&&(e=r.start.row,t=r.start.column),this.$keepDesiredColumnOnChange=!0,this.lead.setPosition(e,t),this.$keepDesiredColumnOnChange=!1,n||(this.$desiredColumn=null)},this.moveCursorToScreen=function(e,t,n){var r=this.session.screenToDocumentPosition(e,t);this.moveCursorTo(r.row,r.column,n)},this.detach=function(){this.lead.detach(),this.anchor.detach(),this.session=this.doc=null},this.fromOrientedRange=function(e){this.setSelectionRange(e,e.cursor==e.start),this.$desiredColumn=e.desiredColumn||this.$desiredColumn},this.toOrientedRange=function(e){var t=this.getRange();return e?(e.start.column=t.start.column,e.start.row=t.start.row,e.end.column=t.end.column,e.end.row=t.end.row):e=t,e.cursor=this.isBackwards()?e.start:e.end,e.desiredColumn=this.$desiredColumn,e},this.getRangeOfMovements=function(e){var t=this.getCursor();try{e(this);var n=this.getCursor();return o.fromPoints(t,n)}catch(r){return o.fromPoints(t,t)}finally{this.moveCursorToPosition(t)}},this.toJSON=function(){if(this.rangeCount)var e=this.ranges.map(function(e){var t=e.clone();return t.isBackwards=e.cursor==e.start,t});else{var e=this.getRange();e.isBackwards=this.isBackwards()}return e},this.fromJSON=function(e){if(e.start==undefined){if(this.rangeList){this.toSingleRange(e[0]);for(var t=e.length;t--;){var n=o.fromPoints(e[t].start,e[t].end);e[t].isBackwards&&(n.cursor=n.start),this.addRange(n,!0)}return}e=e[0]}this.rangeList&&this.toSingleRange(e),this.setSelectionRange(e,e.isBackwards)},this.isEqual=function(e){if((e.length||this.rangeCount)&&e.length!=this.rangeCount)return!1;if(!e.length||!this.ranges)return this.getRange().isEqual(e);for(var t=this.ranges.length;t--;)if(!this.ranges[t].isEqual(e[t]))return!1;return!0}}).call(u.prototype),t.Selection=u}),define("ace/tokenizer",["require","exports","module","ace/config"],function(e,t,n){"use strict";var r=e("./config"),i=2e3,s=function(e){this.states=e,this.regExps={},this.matchMappings={};for(var t in this.states){var n=this.states[t],r=[],i=0,s=this.matchMappings[t]={defaultToken:"text"},o="g",u=[];for(var a=0;a1?f.onMatch=this.$applyToken:f.onMatch=f.token),c>1&&(/\\\d/.test(f.regex)?l=f.regex.replace(/\\([0-9]+)/g,function(e,t){return"\\"+(parseInt(t,10)+i+1)}):(c=1,l=this.removeCapturingGroups(f.regex)),!f.splitRegex&&typeof f.token!="string"&&u.push(f)),s[i]=a,i+=c,r.push(l),f.onMatch||(f.onMatch=null)}r.length||(s[0]=0,r.push("$")),u.forEach(function(e){e.splitRegex=this.createSplitterRegexp(e.regex,o)},this),this.regExps[t]=new RegExp("("+r.join(")|(")+")|($)",o)}};(function(){this.$setMaxTokenCount=function(e){i=e|0},this.$applyToken=function(e){var t=this.splitRegex.exec(e).slice(1),n=this.token.apply(this,t);if(typeof n=="string")return[{type:n,value:e}];var r=[];for(var i=0,s=n.length;il){var g=e.substring(l,m-v.length);h.type==p?h.value+=g:(h.type&&f.push(h),h={type:p,value:g})}for(var y=0;yi){c>2*e.length&&this.reportError("infinite loop with in ace tokenizer",{startState:t,line:e});while(l1&&n[0]!==r&&n.unshift("#tmp",r),{tokens:f,state:n.length?n:r}},this.reportError=r.reportError}).call(s.prototype),t.Tokenizer=s}),define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../lib/lang"),i=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}};(function(){this.addRules=function(e,t){if(!t){for(var n in e)this.$rules[n]=e[n];return}for(var n in e){var r=e[n];for(var i=0;i=this.$rowTokens.length){this.$row+=1,e||(e=this.$session.getLength());if(this.$row>=e)return this.$row=e-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},this.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},this.getCurrentTokenRow=function(){return this.$row},this.getCurrentTokenColumn=function(){var e=this.$rowTokens,t=this.$tokenIndex,n=e[t].start;if(n!==undefined)return n;n=0;while(t>0)t-=1,n+=e[t].value.length;return n},this.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}}}).call(r.prototype),t.TokenIterator=r}),define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),u=["text","paren.rparen","punctuation.operator"],a=["text","paren.rparen","punctuation.operator","comment"],f,l={},c=function(e){var t=-1;e.multiSelect&&(t=e.selection.index,l.rangeCount!=e.multiSelect.rangeCount&&(l={rangeCount:e.multiSelect.rangeCount}));if(l[t])return f=l[t];f=l[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},h=function(e,t,n,r){var i=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,i,e.end.column+(i?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,r,i){var s=n.getCursorPosition(),u=r.doc.getLine(s.row);if(i=="{"){c(n);var a=n.getSelectionRange(),l=r.doc.getTextRange(a);if(l!==""&&l!=="{"&&n.getWrapBehavioursEnabled())return h(a,l,"{","}");if(p.isSaneInsertion(n,r))return/[\]\}\)]/.test(u[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,r,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,r,"{"),{text:"{",selection:[1,1]})}else if(i=="}"){c(n);var d=u.substring(s.column,s.column+1);if(d=="}"){var v=r.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(v!==null&&p.isAutoInsertedClosing(s,u,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(i=="\n"||i=="\r\n"){c(n);var m="";p.isMaybeInsertedClosing(s,u)&&(m=o.stringRepeat("}",f.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var d=u.substring(s.column,s.column+1);if(d==="}"){var g=r.findMatchingBracket({row:s.row,column:s.column+1},"}");if(!g)return null;var y=this.$getIndent(r.getLine(g.row))}else{if(!m){p.clearMaybeInsertedClosing();return}var y=this.$getIndent(u)}var b=y+r.getTabString();return{text:"\n"+b+"\n"+y+m,selection:[1,b.length,1,b.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="{"){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.end.column,i.end.column+1);if(u=="}")return i.end.column++,i;f.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,n,r,i){if(i=="("){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"(",")");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,")"),{text:"()",selection:[1,1]}}else if(i==")"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f==")"){var l=r.$findOpeningBracket(")",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="("){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==")")return i.end.column++,i}}),this.add("brackets","insertion",function(e,t,n,r,i){if(i=="["){c(n);var s=n.getSelectionRange(),o=r.doc.getTextRange(s);if(o!==""&&n.getWrapBehavioursEnabled())return h(s,o,"[","]");if(p.isSaneInsertion(n,r))return p.recordAutoInsert(n,r,"]"),{text:"[]",selection:[1,1]}}else if(i=="]"){c(n);var u=n.getCursorPosition(),a=r.doc.getLine(u.row),f=a.substring(u.column,u.column+1);if(f=="]"){var l=r.$findOpeningBracket("]",{column:u.column+1,row:u.row});if(l!==null&&p.isAutoInsertedClosing(u,a,i))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s=="["){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u=="]")return i.end.column++,i}}),this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){if(this.lineCommentStart&&this.lineCommentStart.indexOf(i)!=-1)return;c(n);var s=i,o=n.getSelectionRange(),u=r.doc.getTextRange(o);if(u!==""&&u!=="'"&&u!='"'&&n.getWrapBehavioursEnabled())return h(o,u,s,s);if(!u){var a=n.getCursorPosition(),f=r.doc.getLine(a.row),l=f.substring(a.column-1,a.column),p=f.substring(a.column,a.column+1),d=r.getTokenAt(a.row,a.column),v=r.getTokenAt(a.row,a.column+1);if(l=="\\"&&d&&/escape/.test(d.type))return null;var m=d&&/string|escape/.test(d.type),g=!v||/string|escape/.test(v.type),y;if(p==s)y=m!==g,y&&/string\.end/.test(v.type)&&(y=!1);else{if(m&&!g)return null;if(m&&g)return null;var b=r.$mode.tokenRe;b.lastIndex=0;var w=b.test(l);b.lastIndex=0;var E=b.test(l);if(w||E)return null;if(p&&!/[\s;,.})\]\\]/.test(p))return null;y=!0}return{text:y?s+s:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){c(n);var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}})};p.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new s(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||"text",u)){var i=new s(t,n.row,n.column+1);if(!this.$matchTokenType(i.getCurrentToken()||"text",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||"text",a)},p.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},p.recordAutoInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isAutoInsertedClosing(r,i,f.autoInsertedLineEnd[0])||(f.autoInsertedBrackets=0),f.autoInsertedRow=r.row,f.autoInsertedLineEnd=n+i.substr(r.column),f.autoInsertedBrackets++},p.recordMaybeInsert=function(e,t,n){var r=e.getCursorPosition(),i=t.doc.getLine(r.row);this.isMaybeInsertedClosing(r,i)||(f.maybeInsertedBrackets=0),f.maybeInsertedRow=r.row,f.maybeInsertedLineStart=i.substr(0,r.column)+n,f.maybeInsertedLineEnd=i.substr(r.column),f.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(e,t,n){return f.autoInsertedBrackets>0&&e.row===f.autoInsertedRow&&n===f.autoInsertedLineEnd[0]&&t.substr(e.column)===f.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(e,t){return f.maybeInsertedBrackets>0&&e.row===f.maybeInsertedRow&&t.substr(e.column)===f.maybeInsertedLineEnd&&t.substr(0,e.column)==f.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){f.autoInsertedLineEnd=f.autoInsertedLineEnd.substr(1),f.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){f&&(f.maybeInsertedBrackets=0,f.maybeInsertedRow=-1)},r.inherits(p,i),t.CstyleBehaviour=p}),define("ace/unicode",["require","exports","module"],function(e,t,n){"use strict";function r(e){var n=/\w{4}/g;for(var r in e)t.packages[r]=e[r].replace(n,"\\u$&")}t.packages={},r({L:"0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE0370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05250531-055605590561-058705D0-05EA05F0-05F20621-064A066E066F0671-06D306D506E506E606EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA07F407F507FA0800-0815081A082408280904-0939093D09500958-0961097109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E460E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EC60EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10A0-10C510D0-10FA10FC1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317D717DC1820-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541AA71B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF11D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209421022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E218321842C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2D00-2D252D30-2D652D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2E2F300530063031-3035303B303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A65FA662-A66EA67F-A697A6A0-A6E5A717-A71FA722-A788A78BA78CA7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2A9CFAA00-AA28AA40-AA42AA44-AA4BAA60-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADB-AADDABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",Ll:"0061-007A00AA00B500BA00DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02AF037103730377037B-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F0521052305250561-05871D00-1D2B1D62-1D771D79-1D9A1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF7210A210E210F2113212F21342139213C213D2146-2149214E21842C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7C2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2D00-2D25A641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76FA771-A778A77AA77CA77FA781A783A785A787A78CFB00-FB06FB13-FB17FF41-FF5A",Lu:"0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E0520052205240531-055610A0-10C51E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F214521832C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CEDA640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BFF21-FF3A",Lt:"01C501C801CB01F21F88-1F8F1F98-1F9F1FA8-1FAF1FBC1FCC1FFC",Lm:"02B0-02C102C6-02D102E0-02E402EC02EE0374037A0559064006E506E607F407F507FA081A0824082809710E460EC610FC17D718431AA71C78-1C7D1D2C-1D611D781D9B-1DBF2071207F2090-20942C7D2D6F2E2F30053031-3035303B309D309E30FC-30FEA015A4F8-A4FDA60CA67FA717-A71FA770A788A9CFAA70AADDFF70FF9EFF9F",Lo:"01BB01C0-01C3029405D0-05EA05F0-05F20621-063F0641-064A066E066F0671-06D306D506EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA0800-08150904-0939093D09500958-096109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E450E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10D0-10FA1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317DC1820-18421844-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C771CE9-1CEC1CEE-1CF12135-21382D30-2D652D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE3006303C3041-3096309F30A1-30FA30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A014A016-A48CA4D0-A4F7A500-A60BA610-A61FA62AA62BA66EA6A0-A6E5A7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2AA00-AA28AA40-AA42AA44-AA4BAA60-AA6FAA71-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADBAADCABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF66-FF6FFF71-FF9DFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",M:"0300-036F0483-04890591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DE-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0903093C093E-094E0951-0955096209630981-098309BC09BE-09C409C709C809CB-09CD09D709E209E30A01-0A030A3C0A3E-0A420A470A480A4B-0A4D0A510A700A710A750A81-0A830ABC0ABE-0AC50AC7-0AC90ACB-0ACD0AE20AE30B01-0B030B3C0B3E-0B440B470B480B4B-0B4D0B560B570B620B630B820BBE-0BC20BC6-0BC80BCA-0BCD0BD70C01-0C030C3E-0C440C46-0C480C4A-0C4D0C550C560C620C630C820C830CBC0CBE-0CC40CC6-0CC80CCA-0CCD0CD50CD60CE20CE30D020D030D3E-0D440D46-0D480D4A-0D4D0D570D620D630D820D830DCA0DCF-0DD40DD60DD8-0DDF0DF20DF30E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F3E0F3F0F71-0F840F860F870F90-0F970F99-0FBC0FC6102B-103E1056-1059105E-10601062-10641067-106D1071-10741082-108D108F109A-109D135F1712-17141732-1734175217531772177317B6-17D317DD180B-180D18A91920-192B1930-193B19B0-19C019C819C91A17-1A1B1A55-1A5E1A60-1A7C1A7F1B00-1B041B34-1B441B6B-1B731B80-1B821BA1-1BAA1C24-1C371CD0-1CD21CD4-1CE81CED1CF21DC0-1DE61DFD-1DFF20D0-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66F-A672A67CA67DA6F0A6F1A802A806A80BA823-A827A880A881A8B4-A8C4A8E0-A8F1A926-A92DA947-A953A980-A983A9B3-A9C0AA29-AA36AA43AA4CAA4DAA7BAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE3-ABEAABECABEDFB1EFE00-FE0FFE20-FE26",Mn:"0300-036F0483-04870591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0902093C0941-0948094D0951-095509620963098109BC09C1-09C409CD09E209E30A010A020A3C0A410A420A470A480A4B-0A4D0A510A700A710A750A810A820ABC0AC1-0AC50AC70AC80ACD0AE20AE30B010B3C0B3F0B41-0B440B4D0B560B620B630B820BC00BCD0C3E-0C400C46-0C480C4A-0C4D0C550C560C620C630CBC0CBF0CC60CCC0CCD0CE20CE30D41-0D440D4D0D620D630DCA0DD2-0DD40DD60E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F71-0F7E0F80-0F840F860F870F90-0F970F99-0FBC0FC6102D-10301032-10371039103A103D103E10581059105E-10601071-1074108210851086108D109D135F1712-17141732-1734175217531772177317B7-17BD17C617C9-17D317DD180B-180D18A91920-19221927192819321939-193B1A171A181A561A58-1A5E1A601A621A65-1A6C1A73-1A7C1A7F1B00-1B031B341B36-1B3A1B3C1B421B6B-1B731B801B811BA2-1BA51BA81BA91C2C-1C331C361C371CD0-1CD21CD4-1CE01CE2-1CE81CED1DC0-1DE61DFD-1DFF20D0-20DC20E120E5-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66FA67CA67DA6F0A6F1A802A806A80BA825A826A8C4A8E0-A8F1A926-A92DA947-A951A980-A982A9B3A9B6-A9B9A9BCAA29-AA2EAA31AA32AA35AA36AA43AA4CAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE5ABE8ABEDFB1EFE00-FE0FFE20-FE26",Mc:"0903093E-09400949-094C094E0982098309BE-09C009C709C809CB09CC09D70A030A3E-0A400A830ABE-0AC00AC90ACB0ACC0B020B030B3E0B400B470B480B4B0B4C0B570BBE0BBF0BC10BC20BC6-0BC80BCA-0BCC0BD70C01-0C030C41-0C440C820C830CBE0CC0-0CC40CC70CC80CCA0CCB0CD50CD60D020D030D3E-0D400D46-0D480D4A-0D4C0D570D820D830DCF-0DD10DD8-0DDF0DF20DF30F3E0F3F0F7F102B102C10311038103B103C105610571062-10641067-106D108310841087-108C108F109A-109C17B617BE-17C517C717C81923-19261929-192B193019311933-193819B0-19C019C819C91A19-1A1B1A551A571A611A631A641A6D-1A721B041B351B3B1B3D-1B411B431B441B821BA11BA61BA71BAA1C24-1C2B1C341C351CE11CF2A823A824A827A880A881A8B4-A8C3A952A953A983A9B4A9B5A9BAA9BBA9BD-A9C0AA2FAA30AA33AA34AA4DAA7BABE3ABE4ABE6ABE7ABE9ABEAABEC",Me:"0488048906DE20DD-20E020E2-20E4A670-A672",N:"0030-003900B200B300B900BC-00BE0660-066906F0-06F907C0-07C90966-096F09E6-09EF09F4-09F90A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BF20C66-0C6F0C78-0C7E0CE6-0CEF0D66-0D750E50-0E590ED0-0ED90F20-0F331040-10491090-10991369-137C16EE-16F017E0-17E917F0-17F91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C5920702074-20792080-20892150-21822185-21892460-249B24EA-24FF2776-27932CFD30073021-30293038-303A3192-31953220-32293251-325F3280-328932B1-32BFA620-A629A6E6-A6EFA830-A835A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",Nd:"0030-00390660-066906F0-06F907C0-07C90966-096F09E6-09EF0A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BEF0C66-0C6F0CE6-0CEF0D66-0D6F0E50-0E590ED0-0ED90F20-0F291040-10491090-109917E0-17E91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C59A620-A629A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",Nl:"16EE-16F02160-21822185-218830073021-30293038-303AA6E6-A6EF",No:"00B200B300B900BC-00BE09F4-09F90BF0-0BF20C78-0C7E0D70-0D750F2A-0F331369-137C17F0-17F920702074-20792080-20892150-215F21892460-249B24EA-24FF2776-27932CFD3192-31953220-32293251-325F3280-328932B1-32BFA830-A835",P:"0021-00230025-002A002C-002F003A003B003F0040005B-005D005F007B007D00A100AB00B700BB00BF037E0387055A-055F0589058A05BE05C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F3A-0F3D0F850FD0-0FD4104A-104F10FB1361-13681400166D166E169B169C16EB-16ED1735173617D4-17D617D8-17DA1800-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD32010-20272030-20432045-20512053-205E207D207E208D208E2329232A2768-277527C527C627E6-27EF2983-299829D8-29DB29FC29FD2CF9-2CFC2CFE2CFF2E00-2E2E2E302E313001-30033008-30113014-301F3030303D30A030FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFD3EFD3FFE10-FE19FE30-FE52FE54-FE61FE63FE68FE6AFE6BFF01-FF03FF05-FF0AFF0C-FF0FFF1AFF1BFF1FFF20FF3B-FF3DFF3FFF5BFF5DFF5F-FF65",Pd:"002D058A05BE140018062010-20152E172E1A301C303030A0FE31FE32FE58FE63FF0D",Ps:"0028005B007B0F3A0F3C169B201A201E2045207D208D23292768276A276C276E27702772277427C527E627E827EA27EC27EE2983298529872989298B298D298F299129932995299729D829DA29FC2E222E242E262E283008300A300C300E3010301430163018301A301DFD3EFE17FE35FE37FE39FE3BFE3DFE3FFE41FE43FE47FE59FE5BFE5DFF08FF3BFF5BFF5FFF62",Pe:"0029005D007D0F3B0F3D169C2046207E208E232A2769276B276D276F27712773277527C627E727E927EB27ED27EF298429862988298A298C298E2990299229942996299829D929DB29FD2E232E252E272E293009300B300D300F3011301530173019301B301E301FFD3FFE18FE36FE38FE3AFE3CFE3EFE40FE42FE44FE48FE5AFE5CFE5EFF09FF3DFF5DFF60FF63",Pi:"00AB2018201B201C201F20392E022E042E092E0C2E1C2E20",Pf:"00BB2019201D203A2E032E052E0A2E0D2E1D2E21",Pc:"005F203F20402054FE33FE34FE4D-FE4FFF3F",Po:"0021-00230025-0027002A002C002E002F003A003B003F0040005C00A100B700BF037E0387055A-055F058905C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F850FD0-0FD4104A-104F10FB1361-1368166D166E16EB-16ED1735173617D4-17D617D8-17DA1800-18051807-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD3201620172020-20272030-2038203B-203E2041-20432047-205120532055-205E2CF9-2CFC2CFE2CFF2E002E012E06-2E082E0B2E0E-2E162E182E192E1B2E1E2E1F2E2A-2E2E2E302E313001-3003303D30FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFE10-FE16FE19FE30FE45FE46FE49-FE4CFE50-FE52FE54-FE57FE5F-FE61FE68FE6AFE6BFF01-FF03FF05-FF07FF0AFF0CFF0EFF0FFF1AFF1BFF1FFF20FF3CFF61FF64FF65",S:"0024002B003C-003E005E0060007C007E00A2-00A900AC00AE-00B100B400B600B800D700F702C2-02C502D2-02DF02E5-02EB02ED02EF-02FF03750384038503F604820606-0608060B060E060F06E906FD06FE07F609F209F309FA09FB0AF10B700BF3-0BFA0C7F0CF10CF20D790E3F0F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-139917DB194019E0-19FF1B61-1B6A1B74-1B7C1FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE20442052207A-207C208A-208C20A0-20B8210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B2140-2144214A-214D214F2190-2328232B-23E82400-24262440-244A249C-24E92500-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE27C0-27C427C7-27CA27CC27D0-27E527F0-29822999-29D729DC-29FB29FE-2B4C2B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F309B309C319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A700-A716A720A721A789A78AA828-A82BA836-A839AA77-AA79FB29FDFCFDFDFE62FE64-FE66FE69FF04FF0BFF1C-FF1EFF3EFF40FF5CFF5EFFE0-FFE6FFE8-FFEEFFFCFFFD",Sm:"002B003C-003E007C007E00AC00B100D700F703F60606-060820442052207A-207C208A-208C2140-2144214B2190-2194219A219B21A021A321A621AE21CE21CF21D221D421F4-22FF2308-230B23202321237C239B-23B323DC-23E125B725C125F8-25FF266F27C0-27C427C7-27CA27CC27D0-27E527F0-27FF2900-29822999-29D729DC-29FB29FE-2AFF2B30-2B442B47-2B4CFB29FE62FE64-FE66FF0BFF1C-FF1EFF5CFF5EFFE2FFE9-FFEC",Sc:"002400A2-00A5060B09F209F309FB0AF10BF90E3F17DB20A0-20B8A838FDFCFE69FF04FFE0FFE1FFE5FFE6",Sk:"005E006000A800AF00B400B802C2-02C502D2-02DF02E5-02EB02ED02EF-02FF0375038403851FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE309B309CA700-A716A720A721A789A78AFF3EFF40FFE3",So:"00A600A700A900AE00B000B60482060E060F06E906FD06FE07F609FA0B700BF3-0BF80BFA0C7F0CF10CF20D790F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-1399194019E0-19FF1B61-1B6A1B74-1B7C210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B214A214C214D214F2195-2199219C-219F21A121A221A421A521A7-21AD21AF-21CD21D021D121D321D5-21F32300-2307230C-231F2322-2328232B-237B237D-239A23B4-23DB23E2-23E82400-24262440-244A249C-24E92500-25B625B8-25C025C2-25F72600-266E2670-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE2800-28FF2B00-2B2F2B452B462B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A828-A82BA836A837A839AA77-AA79FDFDFFE4FFE8FFEDFFEEFFFCFFFD",Z:"002000A01680180E2000-200A20282029202F205F3000",Zs:"002000A01680180E2000-200A202F205F3000",Zl:"2028",Zp:"2029",C:"0000-001F007F-009F00AD03780379037F-0383038B038D03A20526-05300557055805600588058B-059005C8-05CF05EB-05EF05F5-0605061C061D0620065F06DD070E070F074B074C07B2-07BF07FB-07FF082E082F083F-08FF093A093B094F095609570973-097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF00AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B72-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D290D3A-0D3C0D450D490D4E-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EDE-0EFF0F480F6D-0F700F8C-0F8F0F980FBD0FCD0FD9-0FFF10C6-10CF10FD-10FF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B-135E137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17B417B517DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BAB-1BAD1BBA-1BFF1C38-1C3A1C4A-1C4C1C80-1CCF1CF3-1CFF1DE7-1DFC1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF200B-200F202A-202E2060-206F20722073208F2095-209F20B9-20CF20F1-20FF218A-218F23E9-23FF2427-243F244B-245F26CE26E226E4-26E727002705270A270B2728274C274E2753-2755275F27602795-279727B027BF27CB27CD-27CF2B4D-2B4F2B5A-2BFF2C2F2C5F2CF2-2CF82D26-2D2F2D66-2D6E2D70-2D7F2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E32-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31B8-31BF31E4-31EF321F32FF4DB6-4DBF9FCC-9FFFA48D-A48FA4C7-A4CFA62C-A63FA660A661A674-A67BA698-A69FA6F8-A6FFA78D-A7FAA82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAE0-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-F8FFFA2EFA2FFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBB2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFD-FF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFFBFFFEFFFF",Cc:"0000-001F007F-009F",Cf:"00AD0600-060306DD070F17B417B5200B-200F202A-202E2060-2064206A-206FFEFFFFF9-FFFB",Co:"E000-F8FF",Cs:"D800-DFFF",Cn:"03780379037F-0383038B038D03A20526-05300557055805600588058B-059005C8-05CF05EB-05EF05F5-05FF06040605061C061D0620065F070E074B074C07B2-07BF07FB-07FF082E082F083F-08FF093A093B094F095609570973-097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF00AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B72-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D290D3A-0D3C0D450D490D4E-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EDE-0EFF0F480F6D-0F700F8C-0F8F0F980FBD0FCD0FD9-0FFF10C6-10CF10FD-10FF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B-135E137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BAB-1BAD1BBA-1BFF1C38-1C3A1C4A-1C4C1C80-1CCF1CF3-1CFF1DE7-1DFC1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF2065-206920722073208F2095-209F20B9-20CF20F1-20FF218A-218F23E9-23FF2427-243F244B-245F26CE26E226E4-26E727002705270A270B2728274C274E2753-2755275F27602795-279727B027BF27CB27CD-27CF2B4D-2B4F2B5A-2BFF2C2F2C5F2CF2-2CF82D26-2D2F2D66-2D6E2D70-2D7F2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E32-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31B8-31BF31E4-31EF321F32FF4DB6-4DBF9FCC-9FFFA48D-A48FA4C7-A4CFA62C-A63FA660A661A674-A67BA698-A69FA6F8-A6FFA78D-A7FAA82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAE0-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-D7FFFA2EFA2FFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBB2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFDFEFEFF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFF8FFFEFFFF"})}),define("ace/mode/text",["require","exports","module","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour/cstyle","ace/unicode","ace/lib/lang","ace/token_iterator","ace/range"],function(e,t,n){"use strict";var r=e("../tokenizer").Tokenizer,i=e("./text_highlight_rules").TextHighlightRules,s=e("./behaviour/cstyle").CstyleBehaviour,o=e("../unicode"),u=e("../lib/lang"),a=e("../token_iterator").TokenIterator,f=e("../range").Range,l=function(){this.HighlightRules=i};(function(){this.$defaultBehaviour=new s,this.tokenRe=new RegExp("^["+o.packages.L+o.packages.Mn+o.packages.Mc+o.packages.Nd+o.packages.Pc+"\\$_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+o.packages.L+o.packages.Mn+o.packages.Mc+o.packages.Nd+o.packages.Pc+"\\$_]|\\s])+","g"),this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=this.$highlightRules||new this.HighlightRules(this.$highlightRuleConfig),this.$tokenizer=new r(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart="",this.blockComment="",this.toggleCommentLines=function(e,t,n,r){function w(e){for(var t=n;t<=r;t++)e(i.getLine(t),t)}var i=t.doc,s=!0,o=!0,a=Infinity,f=t.getTabSize(),l=!1;if(!this.lineCommentStart){if(!this.blockComment)return!1;var c=this.blockComment.start,h=this.blockComment.end,p=new RegExp("^(\\s*)(?:"+u.escapeRegExp(c)+")"),d=new RegExp("(?:"+u.escapeRegExp(h)+")\\s*$"),v=function(e,t){if(g(e,t))return;if(!s||/\S/.test(e))i.insertInLine({row:t,column:e.length},h),i.insertInLine({row:t,column:a},c)},m=function(e,t){var n;(n=e.match(d))&&i.removeInLine(t,e.length-n[0].length,e.length),(n=e.match(p))&&i.removeInLine(t,n[1].length,n[0].length)},g=function(e,n){if(p.test(e))return!0;var r=t.getTokens(n);for(var i=0;i2?r%f!=f-1:r%f==0}}var E=Infinity;w(function(e,t){var n=e.search(/\S/);n!==-1?(ne.length&&(E=e.length)}),a==Infinity&&(a=E,s=!1,o=!1),l&&a%f!=0&&(a=Math.floor(a/f)*f),w(o?m:v)},this.toggleBlockComment=function(e,t,n,r){var i=this.blockComment;if(!i)return;!i.start&&i[0]&&(i=i[0]);var s=new a(t,r.row,r.column),o=s.getCurrentToken(),u=t.selection,l=t.selection.toOrientedRange(),c,h;if(o&&/comment/.test(o.type)){var p,d;while(o&&/comment/.test(o.type)){var v=o.value.indexOf(i.start);if(v!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+v;p=new f(m,g,m,g+i.start.length);break}o=s.stepBackward()}var s=new a(t,r.row,r.column),o=s.getCurrentToken();while(o&&/comment/.test(o.type)){var v=o.value.indexOf(i.end);if(v!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+v;d=new f(m,g,m,g+i.end.length);break}o=s.stepForward()}d&&t.remove(d),p&&(t.remove(p),c=p.start.row,h=-i.start.length)}else h=i.start.length,c=n.start.row,t.insert(n.end,i.end),t.insert(n.start,i.start);l.start.row==c&&(l.start.column+=h),l.end.row==c&&(l.end.column+=h),t.selection.fromOrientedRange(l)},this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.autoOutdent=function(e,t,n){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){this.$embeds=[],this.$modes={};for(var t in e)e[t]&&(this.$embeds.push(t),this.$modes[t]=new e[t]);var n=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"];for(var t=0;t=0&&t.row=0&&t.column<=e[t.row].length}function s(e,t){t.action!="insert"&&t.action!="remove"&&r(t,"delta.action must be 'insert' or 'remove'"),t.lines instanceof Array||r(t,"delta.lines must be an Array"),(!t.start||!t.end)&&r(t,"delta.start/end must be an present");var n=t.start;i(e,t.start)||r(t,"delta.start must be contained in document");var s=t.end;t.action=="remove"&&!i(e,s)&&r(t,"delta.end must contained in document for 'remove' actions");var o=s.row-n.row,u=s.column-(o==0?n.column:0);(o!=t.lines.length-1||t.lines[o].length!=u)&&r(t,"delta.range must match delta lines")}t.applyDelta=function(e,t,n){var r=t.start.row,i=t.start.column,s=e[r]||"";switch(t.action){case"insert":var o=t.lines;if(o.length===1)e[r]=s.substring(0,i)+t.lines[0]+s.substring(i);else{var u=[r,1].concat(t.lines);e.splice.apply(e,u),e[r]=s.substring(0,i)+e[r],e[r+t.lines.length-1]+=s.substring(i)}break;case"remove":var a=t.end.column,f=t.end.row;r===f?e[r]=s.substring(0,i)+s.substring(a):e.splice(r,f-r+1,s.substring(0,i)+e[f].substring(a))}}}),define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=t.Anchor=function(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),typeof n=="undefined"?this.setPosition(t.row,t.column):this.setPosition(t,n)};(function(){function e(e,t,n){var r=n?e.column<=t.column:e.columnthis.row)return;var n=t(e,{row:this.row,column:this.column},this.$insertRight);this.setPosition(n.row,n.column,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal("change",{old:i,value:r})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./apply_delta").applyDelta,s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=e("./anchor").Anchor,a=function(e){this.$lines=[""],e.length===0?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)};(function(){r.implement(this,s),this.setValue=function(e){var t=this.getLength()-1;this.remove(new o(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new u(this,e,t)},"aaa".split(/a/).length===0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e,this._signal("changeNewLineMode")},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},this.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{t=this.getLines(e.start.row,e.end.row),t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column))}return t},this.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},this.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},this.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},this.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},this.insertInLine=function(e,t){var n=this.clippedPos(e.row,e.column),r=this.pos(e.row,e.column+t.length);return this.applyDelta({start:n,end:r,action:"insert",lines:[t]},!0),this.clonePos(r)},this.clippedPos=function(e,t){var n=this.getLength();e===undefined?e=n:e<0?e=0:e>=n&&(e=n-1,t=undefined);var r=this.getLine(e);return t==undefined&&(t=r.length),t=Math.min(Math.max(t,0),r.length),{row:e,column:t}},this.clonePos=function(e){return{row:e.row,column:e.column}},this.pos=function(e,t){return{row:e,column:t}},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},this.insertFullLines=function(e,t){e=Math.min(Math.max(e,0),this.getLength());var n=0;e0,r=t=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:"remove",lines:["",""]})},this.replace=function(e,t){e instanceof o||(e=o.fromPoints(e.start,e.end));if(t.length===0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);var n;return t?n=this.insert(e.start,t):n=e.start,n},this.applyDeltas=function(e){for(var t=0;t=0;t--)this.revertDelta(e[t])},this.applyDelta=function(e,t){var n=e.action=="insert";if(n?e.lines.length<=1&&!e.lines[0]:!o.comparePoints(e.start,e.end))return;n&&e.lines.length>2e4&&this.$splitAndapplyLargeDelta(e,2e4),i(this.$lines,e,t),this._signal("change",e)},this.$splitAndapplyLargeDelta=function(e,t){var n=e.lines,r=n.length,i=e.start.row,s=e.start.column,o=0,u=0;do{o=u,u+=t-1;var a=n.slice(o,u);if(u>r){e.lines=a,e.start.row=i+o,e.start.column=s;break}a.push(""),this.applyDelta({start:this.pos(i+o,s),end:this.pos(i+u,s=0),action:e.action,lines:a},!0)}while(!0)},this.revertDelta=function(e){this.applyDelta({start:this.clonePos(e.start),end:this.clonePos(e.end),action:e.action=="insert"?"remove":"insert",lines:e.lines.slice()})},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;i20){n.running=setTimeout(n.$worker,20);break}}n.currentLine=t,s<=r&&n.fireUpdateEvent(s,r)}};(function(){r.implement(this,i),this.setTokenizer=function(e){this.tokenizer=e,this.lines=[],this.states=[],this.start(0)},this.setDocument=function(e){this.doc=e,this.lines=[],this.states=[],this.stop()},this.fireUpdateEvent=function(e,t){var n={first:e,last:t};this._signal("update",{data:n})},this.start=function(e){this.currentLine=Math.min(e||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},this.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},this.$updateOnChange=function(e){var t=e.start.row,n=e.end.row-t;if(n===0)this.lines[t]=null;else if(e.action=="remove")this.lines.splice(t,n+1,null),this.states.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.lines.splice.apply(this.lines,r),this.states.splice.apply(this.states,r)}this.currentLine=Math.min(t,this.currentLine,this.doc.getLength()),this.stop()},this.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},this.getTokens=function(e){return this.lines[e]||this.$tokenizeRow(e)},this.getState=function(e){return this.currentLine==e&&this.$tokenizeRow(e),this.states[e]||"start"},this.$tokenizeRow=function(e){var t=this.doc.getLine(e),n=this.states[e-1],r=this.tokenizer.getLineTokens(t,n,e);return this.states[e]+""!=r.state+""?(this.states[e]=r.state,this.lines[e+1]=null,this.currentLine>e+1&&(this.currentLine=e+1)):this.currentLine==e&&(this.currentLine=e+1),this.lines[e]=r.tokens}}).call(s.prototype),t.BackgroundTokenizer=s}),define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){"use strict";var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./range").Range,o=function(e,t,n){this.setRegexp(e),this.clazz=t,this.type=n||"text"};(function(){this.MAX_RANGES=500,this.setRegexp=function(e){if(this.regExp+""==e+"")return;this.regExp=e,this.cache=[]},this.update=function(e,t,n,i){if(!this.regExp)return;var o=i.firstRow,u=i.lastRow;for(var a=o;a<=u;a++){var f=this.cache[a];f==null&&(f=r.getMatchOffsets(n.getLine(a),this.regExp),f.length>this.MAX_RANGES&&(f=f.slice(0,this.MAX_RANGES)),f=f.map(function(e){return new s(a,e.offset,a,e.offset+e.length)}),this.cache[a]=f.length?f:"");for(var l=f.length;l--;)t.drawSingleLineMarker(e,f[l].toScreenRange(n),this.clazz,i)}}}).call(o.prototype),t.SearchHighlight=o}),define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(e,t,n){"use strict";function i(e,t){this.foldData=e,Array.isArray(t)?this.folds=t:t=this.folds=[t];var n=t[t.length-1];this.range=new r(t[0].start.row,t[0].start.column,n.end.row,n.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(e){e.setFoldLine(this)},this)}var r=e("../range").Range;(function(){this.shiftRow=function(e){this.start.row+=e,this.end.row+=e,this.folds.forEach(function(t){t.start.row+=e,t.end.row+=e})},this.addFold=function(e){if(e.sameRow){if(e.start.rowthis.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(e),this.folds.sort(function(e,t){return-e.range.compareEnd(t.start.row,t.start.column)}),this.range.compareEnd(e.start.row,e.start.column)>0?(this.end.row=e.end.row,this.end.column=e.end.column):this.range.compareStart(e.end.row,e.end.column)<0&&(this.start.row=e.start.row,this.start.column=e.start.column)}else if(e.start.row==this.end.row)this.folds.push(e),this.end.row=e.end.row,this.end.column=e.end.column;else{if(e.end.row!=this.start.row)throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");this.folds.unshift(e),this.start.row=e.start.row,this.start.column=e.start.column}e.foldLine=this},this.containsRow=function(e){return e>=this.start.row&&e<=this.end.row},this.walk=function(e,t,n){var r=0,i=this.folds,s,o,u,a=!0;t==null&&(t=this.end.row,n=this.end.column);for(var f=0;f0)continue;var a=i(e,o.start);return u===0?t&&a!==0?-s-2:s:a>0||a===0&&!t?s:-s-1}return-s-1},this.add=function(e){var t=!e.isEmpty(),n=this.pointIndex(e.start,t);n<0&&(n=-n-1);var r=this.pointIndex(e.end,t,n);return r<0?r=-r-1:r++,this.ranges.splice(n,r-n,e)},this.addList=function(e){var t=[];for(var n=e.length;n--;)t.push.apply(t,this.add(e[n]));return t},this.substractPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges.splice(t,1)},this.merge=function(){var e=[],t=this.ranges;t=t.sort(function(e,t){return i(e.start,t.start)});var n=t[0],r;for(var s=1;s=0},this.containsPoint=function(e){return this.pointIndex(e)>=0},this.rangeAtPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges[t]},this.clipRows=function(e,t){var n=this.ranges;if(n[0].start.row>t||n[n.length-1].start.rowr)break;l.start.row==r&&l.start.column>=t.column&&(l.start.column!=t.column||!this.$insertRight)&&(l.start.column+=o,l.start.row+=s);if(l.end.row==r&&l.end.column>=t.column){if(l.end.column==t.column&&this.$insertRight)continue;l.end.column==t.column&&o>0&&al.start.column&&l.end.column==u[a+1].start.column&&(l.end.column-=o),l.end.column+=o,l.end.row+=s}}if(s!=0&&a=e)return i;if(i.end.row>e)return null}return null},this.getNextFoldLine=function(e,t){var n=this.$foldData,r=0;t&&(r=n.indexOf(t)),r==-1&&(r=0);for(r;r=e)return i}return null},this.getFoldedRowCount=function(e,t){var n=this.$foldData,r=t-e+1;for(var i=0;i=t){u=e?r-=t-u:r=0);break}o>=e&&(u>=e?r-=o-u:r-=o-e+1)}return r},this.$addFoldLine=function(e){return this.$foldData.push(e),this.$foldData.sort(function(e,t){return e.start.row-t.start.row}),e},this.addFold=function(e,t){var n=this.$foldData,r=!1,o;e instanceof s?o=e:(o=new s(t,e),o.collapseChildren=t.collapseChildren),this.$clipRangeToDocument(o.range);var u=o.start.row,a=o.start.column,f=o.end.row,l=o.end.column;if(u0&&(this.removeFolds(p),p.forEach(function(e){o.addSubFold(e)}));for(var d=0;d0&&this.foldAll(e.start.row+1,e.end.row,e.collapseChildren-1),e.subFolds=[]},this.expandFolds=function(e){e.forEach(function(e){this.expandFold(e)},this)},this.unfold=function(e,t){var n,i;e==null?(n=new r(0,0,this.getLength(),0),t=!0):typeof e=="number"?n=new r(e,0,e,this.getLine(e).length):"row"in e?n=r.fromPoints(e,e):n=e,i=this.getFoldsInRangeList(n);if(t)this.removeFolds(i);else{var s=i;while(s.length)this.expandFolds(s),s=this.getFoldsInRangeList(n)}if(i.length)return i},this.isRowFolded=function(e,t){return!!this.getFoldLine(e,t)},this.getRowFoldEnd=function(e,t){var n=this.getFoldLine(e,t);return n?n.end.row:e},this.getRowFoldStart=function(e,t){var n=this.getFoldLine(e,t);return n?n.start.row:e},this.getFoldDisplayLine=function(e,t,n,r,i){r==null&&(r=e.start.row),i==null&&(i=0),t==null&&(t=e.end.row),n==null&&(n=this.getLine(t).length);var s=this.doc,o="";return e.walk(function(e,t,n,u){if(t=e){i=s.end.row;try{var o=this.addFold("...",s);o&&(o.collapseChildren=n)}catch(u){}}}},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(e){if(!this.$foldStyles[e])throw new Error("invalid fold style: "+e+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle==e)return;this.$foldStyle=e,e=="manual"&&this.unfold();var t=this.$foldMode;this.$setFolding(null),this.$setFolding(t)},this.$setFolding=function(e){if(this.$foldMode==e)return;this.$foldMode=e,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._signal("changeAnnotation");if(!e||this.$foldStyle=="manual"){this.foldWidgets=null;return}this.foldWidgets=[],this.getFoldWidget=e.getFoldWidget.bind(e,this,this.$foldStyle),this.getFoldWidgetRange=e.getFoldWidgetRange.bind(e,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.$tokenizerUpdateFoldWidgets=this.tokenizerUpdateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets),this.on("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets)},this.getParentFoldRangeData=function(e,t){var n=this.foldWidgets;if(!n||t&&n[e])return{};var r=e-1,i;while(r>=0){var s=n[r];s==null&&(s=n[r]=this.getFoldWidget(r));if(s=="start"){var o=this.getFoldWidgetRange(r);i||(i=o);if(o&&o.end.row>=e)break}r--}return{range:r!==-1&&o,firstRange:i}},this.onFoldWidgetClick=function(e,t){t=t.domEvent;var n={children:t.shiftKey,all:t.ctrlKey||t.metaKey,siblings:t.altKey},r=this.$toggleFoldWidget(e,n);if(!r){var i=t.target||t.srcElement;i&&/ace_fold-widget/.test(i.className)&&(i.className+=" ace_invalid")}},this.$toggleFoldWidget=function(e,t){if(!this.getFoldWidget)return;var n=this.getFoldWidget(e),r=this.getLine(e),i=n==="end"?-1:1,s=this.getFoldAt(e,i===-1?0:r.length,i);if(s)return t.children||t.all?this.removeFold(s):this.expandFold(s),s;var o=this.getFoldWidgetRange(e,!0);if(o&&!o.isMultiLine()){s=this.getFoldAt(o.start.row,o.start.column,1);if(s&&o.isEqual(s.range))return this.removeFold(s),s}if(t.siblings){var u=this.getParentFoldRangeData(e);if(u.range)var a=u.range.start.row+1,f=u.range.end.row;this.foldAll(a,f,t.all?1e4:0)}else t.children?(f=o?o.end.row:this.getLength(),this.foldAll(e+1,f,t.all?1e4:0)):o&&(t.all&&(o.collapseChildren=1e4),this.addFold("...",o));return o},this.toggleFoldWidget=function(e){var t=this.selection.getCursor().row;t=this.getRowFoldStart(t);var n=this.$toggleFoldWidget(t,{});if(n)return;var r=this.getParentFoldRangeData(t,!0);n=r.range||r.firstRange;if(n){t=n.start.row;var i=this.getFoldAt(t,this.getLine(t).length,1);i?this.removeFold(i):this.addFold("...",n)}},this.updateFoldWidgets=function(e){var t=e.start.row,n=e.end.row-t;if(n===0)this.foldWidgets[t]=null;else if(e.action=="remove")this.foldWidgets.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.foldWidgets.splice.apply(this.foldWidgets,r)}},this.tokenizerUpdateFoldWidgets=function(e){var t=e.data;t.first!=t.last&&this.foldWidgets.length>t.first&&this.foldWidgets.splice(t.first,this.foldWidgets.length)}}var r=e("../range").Range,i=e("./fold_line").FoldLine,s=e("./fold").Fold,o=e("../token_iterator").TokenIterator;t.Folding=u}),define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(e,t,n){"use strict";function s(){this.findMatchingBracket=function(e,t){if(e.column==0)return null;var n=t||this.getLine(e.row).charAt(e.column-1);if(n=="")return null;var r=n.match(/([\(\[\{])|([\)\]\}])/);return r?r[1]?this.$findClosingBracket(r[1],e):this.$findOpeningBracket(r[2],e):null},this.getBracketRange=function(e){var t=this.getLine(e.row),n=!0,r,s=t.charAt(e.column-1),o=s&&s.match(/([\(\[\{])|([\)\]\}])/);o||(s=t.charAt(e.column),e={row:e.row,column:e.column+1},o=s&&s.match(/([\(\[\{])|([\)\]\}])/),n=!1);if(!o)return null;if(o[1]){var u=this.$findClosingBracket(o[1],e);if(!u)return null;r=i.fromPoints(e,u),n||(r.end.column++,r.start.column--),r.cursor=r.end}else{var u=this.$findOpeningBracket(o[2],e);if(!u)return null;r=i.fromPoints(u,e),n||(r.start.column++,r.end.column--),r.cursor=r.start}return r},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{"},this.$findOpeningBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)")+")+"));var a=t.column-o.getCurrentTokenColumn()-2,f=u.value;for(;;){while(a>=0){var l=f.charAt(a);if(l==i){s-=1;if(s==0)return{row:o.getCurrentTokenRow(),column:a+o.getCurrentTokenColumn()}}else l==e&&(s+=1);a-=1}do u=o.stepBackward();while(u&&!n.test(u.type));if(u==null)break;f=u.value,a=f.length-1}return null},this.$findClosingBracket=function(e,t,n){var i=this.$brackets[e],s=1,o=new r(this,t.row,t.column),u=o.getCurrentToken();u||(u=o.stepForward());if(!u)return;n||(n=new RegExp("(\\.?"+u.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)")+")+"));var a=t.column-o.getCurrentTokenColumn();for(;;){var f=u.value,l=f.length;while(a=4352&&e<=4447||e>=4515&&e<=4519||e>=4602&&e<=4607||e>=9001&&e<=9002||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12283||e>=12288&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12589||e>=12593&&e<=12686||e>=12688&&e<=12730||e>=12736&&e<=12771||e>=12784&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=13054||e>=13056&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=55216&&e<=55238||e>=55243&&e<=55291||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=65281&&e<=65376||e>=65504&&e<=65510}r.implement(this,o),this.setDocument=function(e){this.doc&&this.doc.removeListener("change",this.$onChange),this.doc=e,e.on("change",this.$onChange),this.bgTokenizer&&this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},this.getDocument=function(){return this.doc},this.$resetRowCache=function(e){if(!e){this.$docRowCache=[],this.$screenRowCache=[];return}var t=this.$docRowCache.length,n=this.$getRowCacheIndex(this.$docRowCache,e)+1;t>n&&(this.$docRowCache.splice(n,t),this.$screenRowCache.splice(n,t))},this.$getRowCacheIndex=function(e,t){var n=0,r=e.length-1;while(n<=r){var i=n+r>>1,s=e[i];if(t>s)n=i+1;else{if(!(t=t)break}return r=n[s],r?(r.index=s,r.start=i-r.value.length,r):null},this.setUndoManager=function(e){this.$undoManager=e,this.$deltas=[],this.$deltasDoc=[],this.$deltasFold=[],this.$informUndoManager&&this.$informUndoManager.cancel();if(e){var t=this;this.$syncInformUndoManager=function(){t.$informUndoManager.cancel(),t.$deltasFold.length&&(t.$deltas.push({group:"fold",deltas:t.$deltasFold}),t.$deltasFold=[]),t.$deltasDoc.length&&(t.$deltas.push({group:"doc",deltas:t.$deltasDoc}),t.$deltasDoc=[]),t.$deltas.length>0&&e.execute({action:"aceupdate",args:[t.$deltas,t],merge:t.mergeUndoDeltas}),t.mergeUndoDeltas=!1,t.$deltas=[]},this.$informUndoManager=i.delayedCall(this.$syncInformUndoManager)}},this.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},this.$defaultUndoManager={undo:function(){},redo:function(){},reset:function(){}},this.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},this.getTabString=function(){return this.getUseSoftTabs()?i.stringRepeat(" ",this.getTabSize()):" "},this.setUseSoftTabs=function(e){this.setOption("useSoftTabs",e)},this.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},this.setTabSize=function(e){this.setOption("tabSize",e)},this.getTabSize=function(){return this.$tabSize},this.isTabStop=function(e){return this.$useSoftTabs&&e.column%this.$tabSize===0},this.$overwrite=!1,this.setOverwrite=function(e){this.setOption("overwrite",e)},this.getOverwrite=function(){return this.$overwrite},this.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},this.addGutterDecoration=function(e,t){this.$decorations[e]||(this.$decorations[e]=""),this.$decorations[e]+=" "+t,this._signal("changeBreakpoint",{})},this.removeGutterDecoration=function(e,t){this.$decorations[e]=(this.$decorations[e]||"").replace(" "+t,""),this._signal("changeBreakpoint",{})},this.getBreakpoints=function(){return this.$breakpoints},this.setBreakpoints=function(e){this.$breakpoints=[];for(var t=0;t0&&(r=!!n.charAt(t-1).match(this.tokenRe)),r||(r=!!n.charAt(t).match(this.tokenRe));if(r)var i=this.tokenRe;else if(/^\s+$/.test(n.slice(t-1,t+1)))var i=/\s/;else var i=this.nonTokenRe;var s=t;if(s>0){do s--;while(s>=0&&n.charAt(s).match(i));s++}var o=t;while(oe&&(e=t.screenWidth)}),this.lineWidgetWidth=e},this.$computeWidth=function(e){if(this.$modified||e){this.$modified=!1;if(this.$useWrapMode)return this.screenWidth=this.$wrapLimit;var t=this.doc.getAllLines(),n=this.$rowLengthCache,r=0,i=0,s=this.$foldData[i],o=s?s.start.row:Infinity,u=t.length;for(var a=0;ao){a=s.end.row+1;if(a>=u)break;s=this.$foldData[i++],o=s?s.start.row:Infinity}n[a]==null&&(n[a]=this.$getStringScreenWidth(t[a])[0]),n[a]>r&&(r=n[a])}this.screenWidth=r}},this.getLine=function(e){return this.doc.getLine(e)},this.getLines=function(e,t){return this.doc.getLines(e,t)},this.getLength=function(){return this.doc.getLength()},this.getTextRange=function(e){return this.doc.getTextRange(e||this.selection.getRange())},this.insert=function(e,t){return this.doc.insert(e,t)},this.remove=function(e){return this.doc.remove(e)},this.removeFullLines=function(e,t){return this.doc.removeFullLines(e,t)},this.undoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;var n=null;for(var r=e.length-1;r!=-1;r--){var i=e[r];i.group=="doc"?(this.doc.revertDeltas(i.deltas),n=this.$getUndoSelection(i.deltas,!0,n)):i.deltas.forEach(function(e){this.addFolds(e.folds)},this)}return this.$fromUndo=!1,n&&this.$undoSelect&&!t&&this.selection.setSelectionRange(n),n},this.redoChanges=function(e,t){if(!e.length)return;this.$fromUndo=!0;var n=null;for(var r=0;re.end.column&&(s.start.column+=u),s.end.row==e.end.row&&s.end.column>e.end.column&&(s.end.column+=u)),o&&s.start.row>=e.end.row&&(s.start.row+=o,s.end.row+=o)}s.end=this.insert(s.start,r);if(i.length){var a=e.start,l=s.start,o=l.row-a.row,u=l.column-a.column;this.addFolds(i.map(function(e){return e=e.clone(),e.start.row==a.row&&(e.start.column+=u),e.end.row==a.row&&(e.end.column+=u),e.start.row+=o,e.end.row+=o,e}))}return s},this.indentRows=function(e,t,n){n=n.replace(/\t/g,this.getTabString());for(var r=e;r<=t;r++)this.doc.insertInLine({row:r,column:0},n)},this.outdentRows=function(e){var t=e.collapseRows(),n=new f(0,0,0,0),r=this.getTabSize();for(var i=t.start.row;i<=t.end.row;++i){var s=this.getLine(i);n.start.row=i,n.end.row=i;for(var o=0;o0){var r=this.getRowFoldEnd(t+n);if(r>this.doc.getLength()-1)return 0;var i=r-t}else{e=this.$clipRowToDocument(e),t=this.$clipRowToDocument(t);var i=t-e+1}var s=new f(e,0,t,Number.MAX_VALUE),o=this.getFoldsInRange(s).map(function(e){return e=e.clone(),e.start.row+=i,e.end.row+=i,e}),u=n==0?this.doc.getLines(e,t):this.doc.removeFullLines(e,t);return this.doc.insertFullLines(e+i,u),o.length&&this.addFolds(o),i},this.moveLinesUp=function(e,t){return this.$moveLines(e,t,-1)},this.moveLinesDown=function(e,t){return this.$moveLines(e,t,1)},this.duplicateLines=function(e,t){return this.$moveLines(e,t,0)},this.$clipRowToDocument=function(e){return Math.max(0,Math.min(e,this.doc.getLength()-1))},this.$clipColumnToRow=function(e,t){return t<0?0:Math.min(this.doc.getLine(e).length,t)},this.$clipPositionToDocument=function(e,t){t=Math.max(0,t);if(e<0)e=0,t=0;else{var n=this.doc.getLength();e>=n?(e=n-1,t=this.doc.getLine(n-1).length):t=Math.min(this.doc.getLine(e).length,t)}return{row:e,column:t}},this.$clipRangeToDocument=function(e){e.start.row<0?(e.start.row=0,e.start.column=0):e.start.column=this.$clipColumnToRow(e.start.row,e.start.column);var t=this.doc.getLength()-1;return e.end.row>t?(e.end.row=t,e.end.column=this.doc.getLine(t).length):e.end.column=this.$clipColumnToRow(e.end.row,e.end.column),e},this.$wrapLimit=80,this.$useWrapMode=!1,this.$wrapLimitRange={min:null,max:null},this.setUseWrapMode=function(e){if(e!=this.$useWrapMode){this.$useWrapMode=e,this.$modified=!0,this.$resetRowCache(0);if(e){var t=this.getLength();this.$wrapData=Array(t),this.$updateWrapData(0,t-1)}this._signal("changeWrapMode")}},this.getUseWrapMode=function(){return this.$useWrapMode},this.setWrapLimitRange=function(e,t){if(this.$wrapLimitRange.min!==e||this.$wrapLimitRange.max!==t)this.$wrapLimitRange={min:e,max:t},this.$modified=!0,this.$useWrapMode&&this._signal("changeWrapMode")},this.adjustWrapLimit=function(e,t){var n=this.$wrapLimitRange;n.max<0&&(n={min:t,max:t});var r=this.$constrainWrapLimit(e,n.min,n.max);return r!=this.$wrapLimit&&r>1?(this.$wrapLimit=r,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0):!1},this.$constrainWrapLimit=function(e,t,n){return t&&(e=Math.max(t,e)),n&&(e=Math.min(n,e)),e},this.getWrapLimit=function(){return this.$wrapLimit},this.setWrapLimit=function(e){this.setWrapLimitRange(e,e)},this.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},this.$updateInternalDataOnChange=function(e){var t=this.$useWrapMode,n=e.action,r=e.start,i=e.end,s=r.row,o=i.row,u=o-s,a=null;this.$updating=!0;if(u!=0)if(n==="remove"){this[t?"$wrapData":"$rowLengthCache"].splice(s,u);var f=this.$foldData;a=this.getFoldsInRange(e),this.removeFolds(a);var l=this.getFoldLine(i.row),c=0;if(l){l.addRemoveChars(i.row,i.column,r.column-i.column),l.shiftRow(-u);var h=this.getFoldLine(s);h&&h!==l&&(h.merge(l),l=h),c=f.indexOf(l)+1}for(c;c=i.row&&l.shiftRow(-u)}o=s}else{var p=Array(u);p.unshift(s,0);var d=t?this.$wrapData:this.$rowLengthCache;d.splice.apply(d,p);var f=this.$foldData,l=this.getFoldLine(s),c=0;if(l){var v=l.range.compareInside(r.row,r.column);v==0?(l=l.split(r.row,r.column),l&&(l.shiftRow(u),l.addRemoveChars(o,0,i.column-r.column))):v==-1&&(l.addRemoveChars(s,0,i.column-r.column),l.shiftRow(u)),c=f.indexOf(l)+1}for(c;c=s&&l.shiftRow(u)}}else{u=Math.abs(e.start.column-e.end.column),n==="remove"&&(a=this.getFoldsInRange(e),this.removeFolds(a),u=-u);var l=this.getFoldLine(s);l&&l.addRemoveChars(s,r.column,u)}return t&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,t?this.$updateWrapData(s,o):this.$updateRowLengthCache(s,o),a},this.$updateRowLengthCache=function(e,t,n){this.$rowLengthCache[e]=null,this.$rowLengthCache[t]=null},this.$updateWrapData=function(e,t){var r=this.doc.getAllLines(),i=this.getTabSize(),s=this.$wrapData,o=this.$wrapLimit,a,f,l=e;t=Math.min(t,r.length-1);while(l<=t)f=this.getFoldLine(l,f),f?(a=[],f.walk(function(e,t,i,s){var o;if(e!=null){o=this.$getDisplayTokens(e,a.length),o[0]=n;for(var f=1;fr-b){var w=a+r-b;if(e[w-1]>=p&&e[w]>=p){y(w);continue}if(e[w]==n||e[w]==u){for(w;w!=a-1;w--)if(e[w]==n)break;if(w>a){y(w);continue}w=a+r;for(w;w>2)),a-1);while(w>E&&e[w]E&&e[w]E&&e[w]==l)w--}else while(w>E&&e[w]E){y(++w);continue}w=a+r,e[w]==t&&w--,y(w-b)}return s},this.$getDisplayTokens=function(n,r){var i=[],s;r=r||0;for(var o=0;o39&&u<48||u>57&&u<64?i.push(l):u>=4352&&m(u)?i.push(e,t):i.push(e)}return i},this.$getStringScreenWidth=function(e,t,n){if(t==0)return[0,0];t==null&&(t=Infinity),n=n||0;var r,i;for(i=0;i=4352&&m(r)?n+=2:n+=1;if(n>t)break}return[n,i]},this.lineWidgets=null,this.getRowLength=function(e){if(this.lineWidgets)var t=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0;else t=0;return!this.$useWrapMode||!this.$wrapData[e]?1+t:this.$wrapData[e].length+1+t},this.getRowLineCount=function(e){return!this.$useWrapMode||!this.$wrapData[e]?1:this.$wrapData[e].length+1},this.getRowWrapIndent=function(e){if(this.$useWrapMode){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE),n=this.$wrapData[t.row];return n.length&&n[0]=0)var o=a[f],r=this.$docRowCache[f],c=e>a[l-1];else var c=!l;var h=this.getLength()-1,p=this.getNextFoldLine(r),d=p?p.start.row:Infinity;while(o<=e){u=this.getRowLength(r);if(o+u>e||r>=h)break;o+=u,r++,r>d&&(r=p.end.row+1,p=this.getNextFoldLine(r,p),d=p?p.start.row:Infinity),c&&(this.$docRowCache.push(r),this.$screenRowCache.push(o))}if(p&&p.start.row<=r)n=this.getFoldDisplayLine(p),r=p.start.row;else{if(o+u<=e||r>h)return{row:h,column:this.getLine(h).length};n=this.getLine(r),p=null}var v=0;if(this.$useWrapMode){var m=this.$wrapData[r];if(m){var g=Math.floor(e-o);s=m[g],g>0&&m.length&&(v=m.indent,i=m[g-1]||m[m.length-1],n=n.substring(i))}}return i+=this.$getStringScreenWidth(n,t-v)[1],this.$useWrapMode&&i>=s&&(i=s-1),p?p.idxToPosition(i):{row:r,column:i}},this.documentToScreenPosition=function(e,t){if(typeof t=="undefined")var n=this.$clipPositionToDocument(e.row,e.column);else n=this.$clipPositionToDocument(e,t);e=n.row,t=n.column;var r=0,i=null,s=null;s=this.getFoldAt(e,t,1),s&&(e=s.start.row,t=s.start.column);var o,u=0,a=this.$docRowCache,f=this.$getRowCacheIndex(a,e),l=a.length;if(l&&f>=0)var u=a[f],r=this.$screenRowCache[f],c=e>a[l-1];else var c=!l;var h=this.getNextFoldLine(u),p=h?h.start.row:Infinity;while(u=p){o=h.end.row+1;if(o>e)break;h=this.getNextFoldLine(o,h),p=h?h.start.row:Infinity}else o=u+1;r+=this.getRowLength(u),u=o,c&&(this.$docRowCache.push(u),this.$screenRowCache.push(r))}var d="";h&&u>=p?(d=this.getFoldDisplayLine(h,e,t),i=h.start.row):(d=this.getLine(e).substring(0,t),i=e);var v=0;if(this.$useWrapMode){var m=this.$wrapData[i];if(m){var g=0;while(d.length>=m[g])r++,g++;d=d.substring(m[g-1]||0,d.length),v=g>0?m.indent:0}}return{row:r,column:v+this.$getStringScreenWidth(d)[0]}},this.documentToScreenColumn=function(e,t){return this.documentToScreenPosition(e,t).column},this.documentToScreenRow=function(e,t){return this.documentToScreenPosition(e,t).row},this.getScreenLength=function(){var e=0,t=null;if(!this.$useWrapMode){e=this.getLength();var n=this.$foldData;for(var r=0;ro&&(s=t.end.row+1,t=this.$foldData[r++],o=t?t.start.row:Infinity)}}return this.lineWidgets&&(e+=this.$getWidgetScreenLength()),e},this.$setFontMetrics=function(e){if(!this.$enableVarChar)return;this.$getStringScreenWidth=function(t,n,r){if(n===0)return[0,0];n||(n=Infinity),r=r||0;var i,s;for(s=0;sn)break}return[r,s]}},this.destroy=function(){this.bgTokenizer&&(this.bgTokenizer.setDocument(null),this.bgTokenizer=null),this.$stopWorker()}}).call(p.prototype),e("./edit_session/folding").Folding.call(p.prototype),e("./edit_session/bracket_match").BracketMatch.call(p.prototype),s.defineOptions(p.prototype,"session",{wrap:{set:function(e){!e||e=="off"?e=!1:e=="free"?e=!0:e=="printMargin"?e=-1:typeof e=="string"&&(e=parseInt(e,10)||!1);if(this.$wrap==e)return;this.$wrap=e;if(!e)this.setUseWrapMode(!1);else{var t=typeof e=="number"?e:null;this.setWrapLimitRange(t,t),this.setUseWrapMode(!0)}},get:function(){return this.getUseWrapMode()?this.$wrap==-1?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(e){e=e=="auto"?this.$mode.type!="text":e!="text",e!=this.$wrapAsCode&&(this.$wrapAsCode=e,this.$useWrapMode&&(this.$modified=!0,this.$resetRowCache(0),this.$updateWrapData(0,this.getLength()-1)))},initialValue:"auto"},indentedSoftWrap:{initialValue:!0},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(e){this.$useWorker=e,this.$stopWorker(),e&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(e){if(isNaN(e)||this.$tabSize===e)return;this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=e,this._signal("changeTabSize")},initialValue:4,handlesSet:!0},overwrite:{set:function(e){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(e){this.doc.setNewLineMode(e)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(e){this.setMode(e)},get:function(){return this.$modeId}}}),t.EditSession=p}),define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(e,t,n){"use strict";function u(e,t){function n(e){return/\w/.test(e)||t.regExp?"\\b":""}return n(e[0])+e+n(e[e.length-1])}var r=e("./lib/lang"),i=e("./lib/oop"),s=e("./range").Range,o=function(){this.$options={}};(function(){this.set=function(e){return i.mixin(this.$options,e),this},this.getOptions=function(){return r.copyObject(this.$options)},this.setOptions=function(e){this.$options=e},this.find=function(e){var t=this.$options,n=this.$matchIterator(e,t);if(!n)return!1;var r=null;return n.forEach(function(e,n,i){if(!e.start){var o=e.offset+(i||0);r=new s(n,o,n,o+e.length);if(!e.length&&t.start&&t.start.start&&t.skipCurrent!=0&&r.isEqual(t.start))return r=null,!1}else r=e;return!0}),r},this.findAll=function(e){var t=this.$options;if(!t.needle)return[];this.$assembleRegExp(t);var n=t.range,i=n?e.getLines(n.start.row,n.end.row):e.doc.getAllLines(),o=[],u=t.re;if(t.$isMultiLine){var a=u.length,f=i.length-a,l;e:for(var c=u.offset||0;c<=f;c++){for(var h=0;hv)continue;o.push(l=new s(c,v,c+a-1,m)),a>2&&(c=c+a-2)}}else for(var g=0;gE&&o[h].end.row==n.end.row)h--;o=o.slice(g,h+1);for(g=0,h=o.length;g=0;u--)if(i(o[u],t,s))return!0};else var u=function(e,t,s){var o=r.getMatchOffsets(e,n);for(var u=0;u=o;r--)if(n(e.getLine(r),r))return;if(t.wrap==0)return;for(r=u,o=s.row;r>=o;r--)if(n(e.getLine(r),r))return}:function(n){var r=s.row,i=e.getLine(r).substr(s.column);if(n(i,r,s.column))return;for(r+=1;r<=u;r++)if(n(e.getLine(r),r))return;if(t.wrap==0)return;for(r=o,u=s.row;r<=u;r++)if(n(e.getLine(r),r))return};return{forEach:a}}}).call(o.prototype),t.Search=o}),define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(e,t,n){"use strict";function o(e,t){this.platform=t||(i.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(e),this.$singleCommand=!0}function u(e,t){o.call(this,e,t),this.$singleCommand=!1}var r=e("../lib/keys"),i=e("../lib/useragent"),s=r.KEY_MODS;u.prototype=o.prototype,function(){function e(e){return typeof e=="object"&&e.bindKey&&e.bindKey.position||0}this.addCommand=function(e){this.commands[e.name]&&this.removeCommand(e),this.commands[e.name]=e,e.bindKey&&this._buildKeyHash(e)},this.removeCommand=function(e,t){var n=e&&(typeof e=="string"?e:e.name);e=this.commands[n],t||delete this.commands[n];var r=this.commandKeyBinding;for(var i in r){var s=r[i];if(s==e)delete r[i];else if(Array.isArray(s)){var o=s.indexOf(e);o!=-1&&(s.splice(o,1),s.length==1&&(r[i]=s[0]))}}},this.bindKey=function(e,t,n){typeof e=="object"&&e&&(n==undefined&&(n=e.position),e=e[this.platform]);if(!e)return;if(typeof t=="function")return this.addCommand({exec:t,bindKey:e,name:t.name||e});e.split("|").forEach(function(e){var r="";if(e.indexOf(" ")!=-1){var i=e.split(/\s+/);e=i.pop(),i.forEach(function(e){var t=this.parseKeys(e),n=s[t.hashId]+t.key;r+=(r?" ":"")+n,this._addCommandToBinding(r,"chainKeys")},this),r+=" "}var o=this.parseKeys(e),u=s[o.hashId]+o.key;this._addCommandToBinding(r+u,t,n)},this)},this._addCommandToBinding=function(t,n,r){var i=this.commandKeyBinding,s;if(!n)delete i[t];else if(!i[t]||this.$singleCommand)i[t]=n;else{Array.isArray(i[t])?(s=i[t].indexOf(n))!=-1&&i[t].splice(s,1):i[t]=[i[t]],typeof r!="number"&&(r||n.isDefault?r=-100:r=e(n));var o=i[t];for(s=0;sr)break}o.splice(s,0,n)}},this.addCommands=function(e){e&&Object.keys(e).forEach(function(t){var n=e[t];if(!n)return;if(typeof n=="string")return this.bindKey(n,t);typeof n=="function"&&(n={exec:n});if(typeof n!="object")return;n.name||(n.name=t),this.addCommand(n)},this)},this.removeCommands=function(e){Object.keys(e).forEach(function(t){this.removeCommand(e[t])},this)},this.bindKeys=function(e){Object.keys(e).forEach(function(t){this.bindKey(t,e[t])},this)},this._buildKeyHash=function(e){this.bindKey(e.bindKey,e)},this.parseKeys=function(e){var t=e.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(e){return e}),n=t.pop(),i=r[n];if(r.FUNCTION_KEYS[i])n=r.FUNCTION_KEYS[i].toLowerCase();else{if(!t.length)return{key:n,hashId:-1};if(t.length==1&&t[0]=="shift")return{key:n.toUpperCase(),hashId:-1}}var s=0;for(var o=t.length;o--;){var u=r.KEY_MODS[t[o]];if(u==null)return typeof console!="undefined"&&console.error("invalid modifier "+t[o]+" in "+e),!1;s|=u}return{key:n,hashId:s}},this.findKeyCommand=function(t,n){var r=s[t]+n;return this.commandKeyBinding[r]},this.handleKeyboard=function(e,t,n,r){if(r<0)return;var i=s[t]+n,o=this.commandKeyBinding[i];e.$keyChain&&(e.$keyChain+=" "+i,o=this.commandKeyBinding[e.$keyChain]||o);if(o)if(o=="chainKeys"||o[o.length-1]=="chainKeys")return e.$keyChain=e.$keyChain||i,{command:"null"};if(e.$keyChain)if(!!t&&t!=4||n.length!=1){if(t==-1||r>0)e.$keyChain=""}else e.$keyChain=e.$keyChain.slice(0,-i.length-1);return{command:o}},this.getStatusText=function(e,t){return t.$keyChain||""}}.call(o.prototype),t.HashHandler=o,t.MultiHashHandler=u}),define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../keyboard/hash_handler").MultiHashHandler,s=e("../lib/event_emitter").EventEmitter,o=function(e,t){i.call(this,t,e),this.byName=this.commands,this.setDefaultHandler("exec",function(e){return e.command.exec(e.editor,e.args||{})})};r.inherits(o,i),function(){r.implement(this,s),this.exec=function(e,t,n){if(Array.isArray(e)){for(var r=e.length;r--;)if(this.exec(e[r],t,n))return!0;return!1}typeof e=="string"&&(e=this.commands[e]);if(!e)return!1;if(t&&t.$readOnly&&!e.readOnly)return!1;var i={editor:t,command:e,args:n};return i.returnValue=this._emit("exec",i),this._signal("afterExec",i),i.returnValue===!1?!1:!0},this.toggleRecording=function(e){if(this.$inReplay)return;return e&&e._emit("changeStatus"),this.recording?(this.macro.pop(),this.removeEventListener("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(e){this.macro.push([e.command,e.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},this.replay=function(e){if(this.$inReplay||!this.macro)return;if(this.recording)return this.toggleRecording(e);try{this.$inReplay=!0,this.macro.forEach(function(t){typeof t=="string"?this.exec(t,e):this.exec(t[0],e,t[1])},this)}finally{this.$inReplay=!1}},this.trimMacro=function(e){return e.map(function(e){return typeof e[0]!="string"&&(e[0]=e[0].name),e[1]||(e=e[0]),e})}}.call(o.prototype),t.CommandManager=o}),define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(e,t,n){"use strict";function o(e,t){return{win:e,mac:t}}var r=e("../lib/lang"),i=e("../config"),s=e("../range").Range;t.commands=[{name:"showSettingsMenu",bindKey:o("Ctrl-,","Command-,"),exec:function(e){i.loadModule("ace/ext/settings_menu",function(t){t.init(e),e.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",bindKey:o("Alt-E","F4"),exec:function(e){i.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(e,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",bindKey:o("Alt-Shift-E","Shift-F4"),exec:function(e){i.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(e,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",bindKey:o("Ctrl-A","Command-A"),exec:function(e){e.selectAll()},readOnly:!0},{name:"centerselection",bindKey:o(null,"Ctrl-L"),exec:function(e){e.centerSelection()},readOnly:!0},{name:"gotoline",bindKey:o("Ctrl-L","Command-L"),exec:function(e){var t=parseInt(prompt("Enter line number:"),10);isNaN(t)||e.gotoLine(t)},readOnly:!0},{name:"fold",bindKey:o("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(e){e.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:o("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(e){e.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",bindKey:o("F2","F2"),exec:function(e){e.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",bindKey:o("Alt-F2","Alt-F2"),exec:function(e){e.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",bindKey:o(null,"Ctrl-Command-Option-0"),exec:function(e){e.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",bindKey:o("Alt-0","Command-Option-0"),exec:function(e){e.session.foldAll(),e.session.unfold(e.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",bindKey:o("Alt-Shift-0","Command-Option-Shift-0"),exec:function(e){e.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",bindKey:o("Ctrl-K","Command-G"),exec:function(e){e.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",bindKey:o("Ctrl-Shift-K","Command-Shift-G"),exec:function(e){e.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",bindKey:o("Alt-K","Ctrl-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findNext()},readOnly:!0},{name:"selectOrFindPrevious",bindKey:o("Alt-Shift-K","Ctrl-Shift-G"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findPrevious()},readOnly:!0},{name:"find",bindKey:o("Ctrl-F","Command-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e)})},readOnly:!0},{name:"overwrite",bindKey:"Insert",exec:function(e){e.toggleOverwrite()},readOnly:!0},{name:"selecttostart",bindKey:o("Ctrl-Shift-Home","Command-Shift-Home|Command-Shift-Up"),exec:function(e){e.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",bindKey:o("Ctrl-Home","Command-Home|Command-Up"),exec:function(e){e.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",bindKey:o("Shift-Up","Shift-Up|Ctrl-Shift-P"),exec:function(e){e.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",bindKey:o("Up","Up|Ctrl-P"),exec:function(e,t){e.navigateUp(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",bindKey:o("Ctrl-Shift-End","Command-Shift-End|Command-Shift-Down"),exec:function(e){e.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",bindKey:o("Ctrl-End","Command-End|Command-Down"),exec:function(e){e.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",bindKey:o("Shift-Down","Shift-Down|Ctrl-Shift-N"),exec:function(e){e.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",bindKey:o("Down","Down|Ctrl-N"),exec:function(e,t){e.navigateDown(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",bindKey:o("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(e){e.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",bindKey:o("Ctrl-Left","Option-Left"),exec:function(e){e.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",bindKey:o("Alt-Shift-Left","Command-Shift-Left|Ctrl-Shift-A"),exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",bindKey:o("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(e){e.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",bindKey:o("Shift-Left","Shift-Left|Ctrl-Shift-B"),exec:function(e){e.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",bindKey:o("Left","Left|Ctrl-B"),exec:function(e,t){e.navigateLeft(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",bindKey:o("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(e){e.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",bindKey:o("Ctrl-Right","Option-Right"),exec:function(e){e.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",bindKey:o("Alt-Shift-Right","Command-Shift-Right|Shift-End|Ctrl-Shift-E"),exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",bindKey:o("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(e){e.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",bindKey:o("Shift-Right","Shift-Right"),exec:function(e){e.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",bindKey:o("Right","Right|Ctrl-F"),exec:function(e,t){e.navigateRight(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",bindKey:"Shift-PageDown",exec:function(e){e.selectPageDown()},readOnly:!0},{name:"pagedown",bindKey:o(null,"Option-PageDown"),exec:function(e){e.scrollPageDown()},readOnly:!0},{name:"gotopagedown",bindKey:o("PageDown","PageDown|Ctrl-V"),exec:function(e){e.gotoPageDown()},readOnly:!0},{name:"selectpageup",bindKey:"Shift-PageUp",exec:function(e){e.selectPageUp()},readOnly:!0},{name:"pageup",bindKey:o(null,"Option-PageUp"),exec:function(e){e.scrollPageUp()},readOnly:!0},{name:"gotopageup",bindKey:"PageUp",exec:function(e){e.gotoPageUp()},readOnly:!0},{name:"scrollup",bindKey:o("Ctrl-Up",null),exec:function(e){e.renderer.scrollBy(0,-2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",bindKey:o("Ctrl-Down",null),exec:function(e){e.renderer.scrollBy(0,2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",bindKey:"Shift-Home",exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",bindKey:"Shift-End",exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",bindKey:o("Ctrl-Alt-E","Command-Option-E"),exec:function(e){e.commands.toggleRecording(e)},readOnly:!0},{name:"replaymacro",bindKey:o("Ctrl-Shift-E","Command-Shift-E"),exec:function(e){e.commands.replay(e)},readOnly:!0},{name:"jumptomatching",bindKey:o("Ctrl-P","Ctrl-P"),exec:function(e){e.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",bindKey:o("Ctrl-Shift-P","Ctrl-Shift-P"),exec:function(e){e.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",bindKey:o("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(e){e.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",bindKey:o(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",exec:function(e){},readOnly:!0},{name:"cut",exec:function(e){var t=e.getSelectionRange();e._emit("cut",t),e.selection.isEmpty()||(e.session.remove(t),e.clearSelection())},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",exec:function(e,t){e.$handlePaste(t)},scrollIntoView:"cursor"},{name:"removeline",bindKey:o("Ctrl-D","Command-D"),exec:function(e){e.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",bindKey:o("Ctrl-Shift-D","Command-Shift-D"),exec:function(e){e.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",bindKey:o("Ctrl-Alt-S","Command-Alt-S"),exec:function(e){e.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",bindKey:o("Ctrl-/","Command-/"),exec:function(e){e.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",bindKey:o("Ctrl-Shift-/","Command-Shift-/"),exec:function(e){e.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",bindKey:o("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(e){e.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",bindKey:o("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(e){e.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",bindKey:o("Ctrl-H","Command-Option-F"),exec:function(e){i.loadModule("ace/ext/searchbox",function(t){t.Search(e,!0)})}},{name:"undo",bindKey:o("Ctrl-Z","Command-Z"),exec:function(e){e.undo()}},{name:"redo",bindKey:o("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(e){e.redo()}},{name:"copylinesup",bindKey:o("Alt-Shift-Up","Command-Option-Up"),exec:function(e){e.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",bindKey:o("Alt-Up","Option-Up"),exec:function(e){e.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",bindKey:o("Alt-Shift-Down","Command-Option-Down"),exec:function(e){e.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",bindKey:o("Alt-Down","Option-Down"),exec:function(e){e.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",bindKey:o("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(e){e.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",bindKey:o("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(e){e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",bindKey:o("Shift-Delete",null),exec:function(e){if(!e.selection.isEmpty())return!1;e.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",bindKey:o("Alt-Backspace","Command-Backspace"),exec:function(e){e.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",bindKey:o("Alt-Delete","Ctrl-K"),exec:function(e){e.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",bindKey:o("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(e){e.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",bindKey:o("Ctrl-Delete","Alt-Delete"),exec:function(e){e.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",bindKey:o("Shift-Tab","Shift-Tab"),exec:function(e){e.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",bindKey:o("Tab","Tab"),exec:function(e){e.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",bindKey:o("Ctrl-[","Ctrl-["),exec:function(e){e.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",bindKey:o("Ctrl-]","Ctrl-]"),exec:function(e){e.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",exec:function(e,t){e.insert(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",exec:function(e,t){e.insert(r.stringRepeat(t.text||"",t.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",bindKey:o(null,"Ctrl-O"),exec:function(e){e.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",bindKey:o("Ctrl-T","Ctrl-T"),exec:function(e){e.transposeLetters()},multiSelectAction:function(e){e.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",bindKey:o("Ctrl-U","Ctrl-U"),exec:function(e){e.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",bindKey:o("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(e){e.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"expandtoline",bindKey:o("Ctrl-Shift-L","Command-Shift-L"),exec:function(e){var t=e.selection.getRange();t.start.column=t.end.column=0,t.end.row++,e.selection.setRange(t,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"joinlines",bindKey:o(null,null),exec:function(e){var t=e.selection.isBackwards(),n=t?e.selection.getSelectionLead():e.selection.getSelectionAnchor(),i=t?e.selection.getSelectionAnchor():e.selection.getSelectionLead(),o=e.session.doc.getLine(n.row).length,u=e.session.doc.getTextRange(e.selection.getRange()),a=u.replace(/\n\s*/," ").length,f=e.session.doc.getLine(n.row);for(var l=n.row+1;l<=i.row+1;l++){var c=r.stringTrimLeft(r.stringTrimRight(e.session.doc.getLine(l)));c.length!==0&&(c=" "+c),f+=c}i.row+10?(e.selection.moveCursorTo(n.row,n.column),e.selection.selectTo(n.row,n.column+a)):(o=e.session.doc.getLine(n.row).length>o?o+1:o,e.selection.moveCursorTo(n.row,o))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",bindKey:o(null,null),exec:function(e){var t=e.session.doc.getLength()-1,n=e.session.doc.getLine(t).length,r=e.selection.rangeList.ranges,i=[];r.length<1&&(r=[e.selection.getRange()]);for(var o=0;o0&&this.$blockScrolling--;var n=t&&t.scrollIntoView;if(n){switch(n){case"center-animate":n="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var r=this.selection.getRange(),i=this.renderer.layerConfig;(r.start.row>=i.lastRow||r.end.row<=i.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead);break;default:}n=="animate"&&this.renderer.animateScrolling(this.curOp.scrollTop)}this.prevOp=this.curOp,this.curOp=null}},this.$mergeableCommands=["backspace","del","insertstring"],this.$historyTracker=function(e){if(!this.$mergeUndoDeltas)return;var t=this.prevOp,n=this.$mergeableCommands,r=t.command&&e.command.name==t.command.name;if(e.command.name=="insertstring"){var i=e.args;this.mergeNextCommand===undefined&&(this.mergeNextCommand=!0),r=r&&this.mergeNextCommand&&(!/\s/.test(i)||/\s/.test(t.args)),this.mergeNextCommand=!0}else r=r&&n.indexOf(e.command.name)!==-1;this.$mergeUndoDeltas!="always"&&Date.now()-this.sequenceStartTime>2e3&&(r=!1),r?this.session.mergeUndoDeltas=!0:n.indexOf(e.command.name)!==-1&&(this.sequenceStartTime=Date.now())},this.setKeyboardHandler=function(e,t){if(e&&typeof e=="string"){this.$keybindingId=e;var n=this;g.loadModule(["keybinding",e],function(r){n.$keybindingId==e&&n.keyBinding.setKeyboardHandler(r&&r.handler),t&&t()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(e),t&&t()},this.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},this.setSession=function(e){if(this.session==e)return;this.curOp&&this.endOperation(),this.curOp={};var t=this.session;if(t){this.session.off("change",this.$onDocumentChange),this.session.off("changeMode",this.$onChangeMode),this.session.off("tokenizerUpdate",this.$onTokenizerUpdate),this.session.off("changeTabSize",this.$onChangeTabSize),this.session.off("changeWrapLimit",this.$onChangeWrapLimit),this.session.off("changeWrapMode",this.$onChangeWrapMode),this.session.off("changeFold",this.$onChangeFold),this.session.off("changeFrontMarker",this.$onChangeFrontMarker),this.session.off("changeBackMarker",this.$onChangeBackMarker),this.session.off("changeBreakpoint",this.$onChangeBreakpoint),this.session.off("changeAnnotation",this.$onChangeAnnotation),this.session.off("changeOverwrite",this.$onCursorChange),this.session.off("changeScrollTop",this.$onScrollTopChange),this.session.off("changeScrollLeft",this.$onScrollLeftChange);var n=this.session.getSelection();n.off("changeCursor",this.$onCursorChange),n.off("changeSelection",this.$onSelectionChange)}this.session=e,e?(this.$onDocumentChange=this.onDocumentChange.bind(this),e.on("change",this.$onDocumentChange),this.renderer.setSession(e),this.$onChangeMode=this.onChangeMode.bind(this),e.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),e.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),e.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),e.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),e.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),e.on("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.on("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.on("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.on("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.on("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.on("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.on("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.on("changeScrollLeft",this.$onScrollLeftChange),this.selection=e.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.onChangeMode(),this.$blockScrolling+=1,this.onCursorChange(),this.$blockScrolling-=1,this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(e)),this._signal("changeSession",{session:e,oldSession:t}),this.curOp=null,t&&t._signal("changeEditor",{oldEditor:this}),e&&e._signal("changeEditor",{editor:this})},this.getSession=function(){return this.session},this.setValue=function(e,t){return this.session.doc.setValue(e),t?t==1?this.navigateFileEnd():t==-1&&this.navigateFileStart():this.selectAll(),e},this.getValue=function(){return this.session.getValue()},this.getSelection=function(){return this.selection},this.resize=function(e){this.renderer.onResize(e)},this.setTheme=function(e,t){this.renderer.setTheme(e,t)},this.getTheme=function(){return this.renderer.getTheme()},this.setStyle=function(e){this.renderer.setStyle(e)},this.unsetStyle=function(e){this.renderer.unsetStyle(e)},this.getFontSize=function(){return this.getOption("fontSize")||i.computedStyle(this.container,"fontSize")},this.setFontSize=function(e){this.setOption("fontSize",e)},this.$highlightBrackets=function(){this.session.$bracketHighlight&&(this.session.removeMarker(this.session.$bracketHighlight),this.session.$bracketHighlight=null);if(this.$highlightPending)return;var e=this;this.$highlightPending=!0,setTimeout(function(){e.$highlightPending=!1;var t=e.session;if(!t||!t.bgTokenizer)return;var n=t.findMatchingBracket(e.getCursorPosition());if(n)var r=new p(n.row,n.column,n.row,n.column+1);else if(t.$mode.getMatching)var r=t.$mode.getMatching(e.session);r&&(t.$bracketHighlight=t.addMarker(r,"ace_bracket","text"))},50)},this.$highlightTags=function(){if(this.$highlightTagPending)return;var e=this;this.$highlightTagPending=!0,setTimeout(function(){e.$highlightTagPending=!1;var t=e.session;if(!t||!t.bgTokenizer)return;var n=e.getCursorPosition(),r=new y(e.session,n.row,n.column),i=r.getCurrentToken();if(!i||!/\b(?:tag-open|tag-name)/.test(i.type)){t.removeMarker(t.$tagHighlight),t.$tagHighlight=null;return}if(i.type.indexOf("tag-open")!=-1){i=r.stepForward();if(!i)return}var s=i.value,o=0,u=r.stepBackward();if(u.value=="<"){do u=i,i=r.stepForward(),i&&i.value===s&&i.type.indexOf("tag-name")!==-1&&(u.value==="<"?o++:u.value==="=0)}else{do i=u,u=r.stepBackward(),i&&i.value===s&&i.type.indexOf("tag-name")!==-1&&(u.value==="<"?o++:u.value==="1)&&(t=!1)}if(e.$highlightLineMarker&&!t)e.removeMarker(e.$highlightLineMarker.id),e.$highlightLineMarker=null;else if(!e.$highlightLineMarker&&t){var n=new p(t.row,t.column,t.row,Infinity);n.id=e.addMarker(n,"ace_active-line","screenLine"),e.$highlightLineMarker=n}else t&&(e.$highlightLineMarker.start.row=t.row,e.$highlightLineMarker.end.row=t.row,e.$highlightLineMarker.start.column=t.column,e._signal("changeBackMarker"))},this.onSelectionChange=function(e){var t=this.session;t.$selectionMarker&&t.removeMarker(t.$selectionMarker),t.$selectionMarker=null;if(!this.selection.isEmpty()){var n=this.selection.getRange(),r=this.getSelectionStyle();t.$selectionMarker=t.addMarker(n,"ace_selection",r)}else this.$updateHighlightActiveLine();var i=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(i),this._signal("changeSelection")},this.$getSelectionHighLightRegexp=function(){var e=this.session,t=this.getSelectionRange();if(t.isEmpty()||t.isMultiLine())return;var n=t.start.column-1,r=t.end.column+1,i=e.getLine(t.start.row),s=i.length,o=i.substring(Math.max(n,0),Math.min(r,s));if(n>=0&&/^[\w\d]/.test(o)||r<=s&&/[\w\d]$/.test(o))return;o=i.substring(t.start.column,t.end.column);if(!/^[\w\d]+$/.test(o))return;var u=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:o});return u},this.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},this.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},this.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},this.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},this.onChangeMode=function(e){this.renderer.updateText(),this._emit("changeMode",e)},this.onChangeWrapLimit=function(){this.renderer.updateFull()},this.onChangeWrapMode=function(){this.renderer.onResize(!0)},this.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},this.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},this.getCopyText=function(){var e=this.getSelectedText();return this._signal("copy",e),e},this.onCopy=function(){this.commands.exec("copy",this)},this.onCut=function(){this.commands.exec("cut",this)},this.onPaste=function(e,t){var n={text:e,event:t};this.commands.exec("paste",this,n)},this.$handlePaste=function(e){typeof e=="string"&&(e={text:e}),this._signal("paste",e);var t=e.text;if(!this.inMultiSelectMode||this.inVirtualSelectionMode)this.insert(t);else{var n=t.split(/\r\n|\r|\n/),r=this.selection.rangeList.ranges;if(n.length>r.length||n.length<2||!n[1])return this.commands.exec("insertstring",this,t);for(var i=r.length;i--;){var s=r[i];s.isEmpty()||this.session.remove(s),this.session.insert(s.start,n[i])}}},this.execCommand=function(e,t){return this.commands.exec(e,this,t)},this.insert=function(e,t){var n=this.session,r=n.getMode(),i=this.getCursorPosition();if(this.getBehavioursEnabled()&&!t){var s=r.transformAction(n.getState(i.row),"insertion",this,n,e);s&&(e!==s.text&&(this.session.mergeUndoDeltas=!1,this.$mergeNextCommand=!1),e=s.text)}e==" "&&(e=this.session.getTabString());if(!this.selection.isEmpty()){var o=this.getSelectionRange();i=this.session.remove(o),this.clearSelection()}else if(this.session.getOverwrite()){var o=new p.fromPoints(i,i);o.end.column+=e.length,this.session.remove(o)}if(e=="\n"||e=="\r\n"){var u=n.getLine(i.row);if(i.column>u.search(/\S|$/)){var a=u.substr(i.column).search(/\S|$/);n.doc.removeInLine(i.row,i.column,i.column+a)}}this.clearSelection();var f=i.column,l=n.getState(i.row),u=n.getLine(i.row),c=r.checkOutdent(l,u,e),h=n.insert(i,e);s&&s.selection&&(s.selection.length==2?this.selection.setSelectionRange(new p(i.row,f+s.selection[0],i.row,f+s.selection[1])):this.selection.setSelectionRange(new p(i.row+s.selection[0],s.selection[1],i.row+s.selection[2],s.selection[3])));if(n.getDocument().isNewLine(e)){var d=r.getNextLineIndent(l,u.slice(0,i.column),n.getTabString());n.insert({row:i.row+1,column:0},d)}c&&r.autoOutdent(l,n,i.row)},this.onTextInput=function(e){this.keyBinding.onTextInput(e)},this.onCommandKey=function(e,t,n){this.keyBinding.onCommandKey(e,t,n)},this.setOverwrite=function(e){this.session.setOverwrite(e)},this.getOverwrite=function(){return this.session.getOverwrite()},this.toggleOverwrite=function(){this.session.toggleOverwrite()},this.setScrollSpeed=function(e){this.setOption("scrollSpeed",e)},this.getScrollSpeed=function(){return this.getOption("scrollSpeed")},this.setDragDelay=function(e){this.setOption("dragDelay",e)},this.getDragDelay=function(){return this.getOption("dragDelay")},this.setSelectionStyle=function(e){this.setOption("selectionStyle",e)},this.getSelectionStyle=function(){return this.getOption("selectionStyle")},this.setHighlightActiveLine=function(e){this.setOption("highlightActiveLine",e)},this.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.setHighlightSelectedWord=function(e){this.setOption("highlightSelectedWord",e)},this.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},this.setAnimatedScroll=function(e){this.renderer.setAnimatedScroll(e)},this.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},this.setShowInvisibles=function(e){this.renderer.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},this.setDisplayIndentGuides=function(e){this.renderer.setDisplayIndentGuides(e)},this.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},this.setShowPrintMargin=function(e){this.renderer.setShowPrintMargin(e)},this.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},this.setPrintMarginColumn=function(e){this.renderer.setPrintMarginColumn(e)},this.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},this.setReadOnly=function(e){this.setOption("readOnly",e)},this.getReadOnly=function(){return this.getOption("readOnly")},this.setBehavioursEnabled=function(e){this.setOption("behavioursEnabled",e)},this.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},this.setWrapBehavioursEnabled=function(e){this.setOption("wrapBehavioursEnabled",e)},this.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},this.setShowFoldWidgets=function(e){this.setOption("showFoldWidgets",e)},this.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.remove=function(e){this.selection.isEmpty()&&(e=="left"?this.selection.selectLeft():this.selection.selectRight());var t=this.getSelectionRange();if(this.getBehavioursEnabled()){var n=this.session,r=n.getState(t.start.row),i=n.getMode().transformAction(r,"deletion",this,n,t);if(t.end.column===0){var s=n.getTextRange(t);if(s[s.length-1]=="\n"){var o=n.getLine(t.end.row);/^\s+$/.test(o)&&(t.end.column=o.length)}}i&&(t=i)}this.session.remove(t),this.clearSelection()},this.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var e=this.getSelectionRange();e.start.column==e.end.column&&e.start.row==e.end.row&&(e.end.column=0,e.end.row++),this.session.remove(e),this.clearSelection()},this.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var e=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(e)},this.transposeLetters=function(){if(!this.selection.isEmpty())return;var e=this.getCursorPosition(),t=e.column;if(t===0)return;var n=this.session.getLine(e.row),r,i;tt.toLowerCase()?1:0});var r=new p(0,0,0,0);for(var i=e.first;i<=e.last;i++){var s=t.getLine(i);r.start.row=i,r.end.row=i,r.end.column=s.length,t.replace(r,n[i-e.first])}},this.toggleCommentLines=function(){var e=this.session.getState(this.getCursorPosition().row),t=this.$getSelectedRows();this.session.getMode().toggleCommentLines(e,this.session,t.first,t.last)},this.toggleBlockComment=function(){var e=this.getCursorPosition(),t=this.session.getState(e.row),n=this.getSelectionRange();this.session.getMode().toggleBlockComment(t,this.session,n,e)},this.getNumberAt=function(e,t){var n=/[\-]?[0-9]+(?:\.[0-9]+)?/g;n.lastIndex=0;var r=this.session.getLine(e);while(n.lastIndex=t){var s={value:i[0],start:i.index,end:i.index+i[0].length};return s}}return null},this.modifyNumber=function(e){var t=this.selection.getCursor().row,n=this.selection.getCursor().column,r=new p(t,n-1,t,n),i=this.session.getTextRange(r);if(!isNaN(parseFloat(i))&&isFinite(i)){var s=this.getNumberAt(t,n);if(s){var o=s.value.indexOf(".")>=0?s.start+s.value.indexOf(".")+1:s.end,u=s.start+s.value.length-o,a=parseFloat(s.value);a*=Math.pow(10,u),o!==s.end&&np+1)break;p=d.last}l--,u=this.session.$moveLines(h,p,t?0:e),t&&e==-1&&(c=l+1);while(c<=l)o[c].moveBy(u,0),c++;t||(u=0),a+=u}i.fromOrientedRange(i.ranges[0]),i.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},this.$getSelectedRows=function(e){return e=(e||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(e.start.row),last:this.session.getRowFoldEnd(e.end.row)}},this.onCompositionStart=function(e){this.renderer.showComposition(this.getCursorPosition())},this.onCompositionUpdate=function(e){this.renderer.setCompositionText(e)},this.onCompositionEnd=function(){this.renderer.hideComposition()},this.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},this.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},this.isRowVisible=function(e){return e>=this.getFirstVisibleRow()&&e<=this.getLastVisibleRow()},this.isRowFullyVisible=function(e){return e>=this.renderer.getFirstFullyVisibleRow()&&e<=this.renderer.getLastFullyVisibleRow()},this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},this.$moveByPage=function(e,t){var n=this.renderer,r=this.renderer.layerConfig,i=e*Math.floor(r.height/r.lineHeight);this.$blockScrolling++,t===!0?this.selection.$moveSelection(function(){this.moveCursorBy(i,0)}):t===!1&&(this.selection.moveCursorBy(i,0),this.selection.clearSelection()),this.$blockScrolling--;var s=n.scrollTop;n.scrollBy(0,i*r.lineHeight),t!=null&&n.scrollCursorIntoView(null,.5),n.animateScrolling(s)},this.selectPageDown=function(){this.$moveByPage(1,!0)},this.selectPageUp=function(){this.$moveByPage(-1,!0)},this.gotoPageDown=function(){this.$moveByPage(1,!1)},this.gotoPageUp=function(){this.$moveByPage(-1,!1)},this.scrollPageDown=function(){this.$moveByPage(1)},this.scrollPageUp=function(){this.$moveByPage(-1)},this.scrollToRow=function(e){this.renderer.scrollToRow(e)},this.scrollToLine=function(e,t,n,r){this.renderer.scrollToLine(e,t,n,r)},this.centerSelection=function(){var e=this.getSelectionRange(),t={row:Math.floor(e.start.row+(e.end.row-e.start.row)/2),column:Math.floor(e.start.column+(e.end.column-e.start.column)/2)};this.renderer.alignCursor(t,.5)},this.getCursorPosition=function(){return this.selection.getCursor()},this.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},this.getSelectionRange=function(){return this.selection.getRange()},this.selectAll=function(){this.$blockScrolling+=1,this.selection.selectAll(),this.$blockScrolling-=1},this.clearSelection=function(){this.selection.clearSelection()},this.moveCursorTo=function(e,t){this.selection.moveCursorTo(e,t)},this.moveCursorToPosition=function(e){this.selection.moveCursorToPosition(e)},this.jumpToMatching=function(e,t){var n=this.getCursorPosition(),r=new y(this.session,n.row,n.column),i=r.getCurrentToken(),s=i||r.stepForward();if(!s)return;var o,u=!1,a={},f=n.column-s.start,l,c={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(s.value.match(/[{}()\[\]]/g))for(;f=0;--s)this.$tryReplace(n[s],e)&&r++;return this.selection.setSelectionRange(i),this.$blockScrolling-=1,r},this.$tryReplace=function(e,t){var n=this.session.getTextRange(e);return t=this.$search.replace(n,t),t!==null?(e.end=this.session.replace(e,t),e):null},this.getLastSearchOptions=function(){return this.$search.getOptions()},this.find=function(e,t,n){t||(t={}),typeof e=="string"||e instanceof RegExp?t.needle=e:typeof e=="object"&&r.mixin(t,e);var i=this.selection.getRange();t.needle==null&&(e=this.session.getTextRange(i)||this.$search.$options.needle,e||(i=this.session.getWordRange(i.start.row,i.start.column),e=this.session.getTextRange(i)),this.$search.set({needle:e})),this.$search.set(t),t.start||this.$search.set({start:i});var s=this.$search.find(this.session);if(t.preventScroll)return s;if(s)return this.revealRange(s,n),s;t.backwards?i.start=i.end:i.end=i.start,this.selection.setRange(i)},this.findNext=function(e,t){this.find({skipCurrent:!0,backwards:!1},e,t)},this.findPrevious=function(e,t){this.find(e,{skipCurrent:!0,backwards:!0},t)},this.revealRange=function(e,t){this.$blockScrolling+=1,this.session.unfold(e),this.selection.setSelectionRange(e),this.$blockScrolling-=1;var n=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(e.start,e.end,.5),t!==!1&&this.renderer.animateScrolling(n)},this.undo=function(){this.$blockScrolling++,this.session.getUndoManager().undo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.redo=function(){this.$blockScrolling++,this.session.getUndoManager().redo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.destroy=function(){this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy()},this.setAutoScrollEditorIntoView=function(e){if(!e)return;var t,n=this,r=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var i=this.$scrollAnchor;i.style.cssText="position:absolute",this.container.insertBefore(i,this.container.firstChild);var s=this.on("changeSelection",function(){r=!0}),o=this.renderer.on("beforeRender",function(){r&&(t=n.renderer.container.getBoundingClientRect())}),u=this.renderer.on("afterRender",function(){if(r&&t&&(n.isFocused()||n.searchBox&&n.searchBox.isFocused())){var e=n.renderer,s=e.$cursorLayer.$pixelPos,o=e.layerConfig,u=s.top-o.offset;s.top>=0&&u+t.top<0?r=!0:s.topwindow.innerHeight?r=!1:r=null,r!=null&&(i.style.top=u+"px",i.style.left=s.left+"px",i.style.height=o.lineHeight+"px",i.scrollIntoView(r)),r=t=null}});this.setAutoScrollEditorIntoView=function(e){if(e)return;delete this.setAutoScrollEditorIntoView,this.off("changeSelection",s),this.renderer.off("afterRender",u),this.renderer.off("beforeRender",o)}},this.$resetCursorStyle=function(){var e=this.$cursorStyle||"ace",t=this.renderer.$cursorLayer;if(!t)return;t.setSmoothBlinking(/smooth/.test(e)),t.isBlinking=!this.$readOnly&&e!="wide",i.setCssClass(t.element,"ace_slim-cursors",/slim/.test(e))}}).call(b.prototype),g.defineOptions(b.prototype,"editor",{selectionStyle:{set:function(e){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:e})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(e){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(e){this.$resetCursorStyle()},initialValue:!1},cursorStyle:{set:function(e){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},autoScrollEditorIntoView:{set:function(e){this.setAutoScrollEditorIntoView(e)}},keyboardHandler:{set:function(e){this.setKeyboardHandler(e)},get:function(){return this.keybindingId},handlesSet:!0},hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",showLineNumbers:"renderer",showGutter:"renderer",displayIndentGuides:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"}),t.Editor=b}),define("ace/undomanager",["require","exports","module"],function(e,t,n){"use strict";var r=function(){this.reset()};(function(){function e(e){return{action:e.action,start:e.start,end:e.end,lines:e.lines.length==1?null:e.lines,text:e.lines.length==1?e.lines[0]:null}}function t(e){return{action:e.action,start:e.start,end:e.end,lines:e.lines||[e.text]}}function n(e,t){var n=new Array(e.length);for(var r=0;r0},this.hasRedo=function(){return this.$redoStack.length>0},this.markClean=function(){this.dirtyCounter=0},this.isClean=function(){return this.dirtyCounter===0},this.$serializeDeltas=function(t){return n(t,e)},this.$deserializeDeltas=function(e){return n(e,t)}}).call(r.prototype),t.UndoManager=r}),define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=e("../lib/oop"),s=e("../lib/lang"),o=e("../lib/event_emitter").EventEmitter,u=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_gutter-layer",e.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[],this.$updateAnnotations=this.$updateAnnotations.bind(this),this.$cells=[]};(function(){i.implement(this,o),this.setSession=function(e){this.session&&this.session.removeEventListener("change",this.$updateAnnotations),this.session=e,e&&e.on("change",this.$updateAnnotations)},this.addGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.addGutterDecoration"),this.session.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){window.console&&console.warn&&console.warn("deprecated use session.removeGutterDecoration"),this.session.removeGutterDecoration(e,t)},this.setAnnotations=function(e){this.$annotations=[];for(var t=0;to&&(v=s.end.row+1,s=t.getNextFoldLine(v,s),o=s?s.start.row:Infinity);if(v>i){while(this.$cells.length>d+1)p=this.$cells.pop(),this.element.removeChild(p.element);break}p=this.$cells[++d],p||(p={element:null,textNode:null,foldWidget:null},p.element=r.createElement("div"),p.textNode=document.createTextNode(""),p.element.appendChild(p.textNode),this.element.appendChild(p.element),this.$cells[d]=p);var m="ace_gutter-cell ";a[v]&&(m+=a[v]),f[v]&&(m+=f[v]),this.$annotations[v]&&(m+=this.$annotations[v].className),p.element.className!=m&&(p.element.className=m);var g=t.getRowLength(v)*e.lineHeight+"px";g!=p.element.style.height&&(p.element.style.height=g);if(u){var y=u[v];y==null&&(y=u[v]=t.getFoldWidget(v))}if(y){p.foldWidget||(p.foldWidget=r.createElement("span"),p.element.appendChild(p.foldWidget));var m="ace_fold-widget ace_"+y;y=="start"&&v==o&&vn.right-t.right)return"foldWidgets"}}).call(u.prototype),t.Gutter=u}),define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../range").Range,i=e("../lib/dom"),s=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_marker-layer",e.appendChild(this.element)};(function(){function e(e,t,n,r){return(e?1:0)|(t?2:0)|(n?4:0)|(r?8:0)}this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setMarkers=function(e){this.markers=e},this.update=function(e){var e=e||this.config;if(!e)return;this.config=e;var t=[];for(var n in this.markers){var r=this.markers[n];if(!r.range){r.update(t,this,this.session,e);continue}var i=r.range.clipRows(e.firstRow,e.lastRow);if(i.isEmpty())continue;i=i.toScreenRange(this.session);if(r.renderer){var s=this.$getTop(i.start.row,e),o=this.$padding+i.start.column*e.characterWidth;r.renderer(t,i,o,s,e)}else r.type=="fullLine"?this.drawFullLineMarker(t,i,r.clazz,e):r.type=="screenLine"?this.drawScreenLineMarker(t,i,r.clazz,e):i.isMultiLine()?r.type=="text"?this.drawTextMarker(t,i,r.clazz,e):this.drawMultiLineMarker(t,i,r.clazz,e):this.drawSingleLineMarker(t,i,r.clazz+" ace_start"+" ace_br15",e)}this.element.innerHTML=t.join("")},this.$getTop=function(e,t){return(e-t.firstRowScreen)*t.lineHeight},this.drawTextMarker=function(t,n,i,s,o){var u=this.session,a=n.start.row,f=n.end.row,l=a,c=0,h=0,p=u.getScreenLastRowColumn(l),d=new r(l,n.start.column,l,h);for(;l<=f;l++)d.start.row=d.end.row=l,d.start.column=l==a?n.start.column:u.getRowWrapIndent(l),d.end.column=p,c=h,h=p,p=l+1p,l==f),s,l==f?0:1,o)},this.drawMultiLineMarker=function(e,t,n,r,i){var s=this.$padding,o=r.lineHeight,u=this.$getTop(t.start.row,r),a=s+t.start.column*r.characterWidth;i=i||"",e.push("
"),u=this.$getTop(t.end.row,r);var f=t.end.column*r.characterWidth;e.push("
"),o=(t.end.row-t.start.row-1)*r.lineHeight;if(o<=0)return;u=this.$getTop(t.start.row+1,r);var l=(t.start.column?1:0)|(t.end.column?0:8);e.push("
")},this.drawSingleLineMarker=function(e,t,n,r,i,s){var o=r.lineHeight,u=(t.end.column+(i||0)-t.start.column)*r.characterWidth,a=this.$getTop(t.start.row,r),f=this.$padding+t.start.column*r.characterWidth;e.push("
")},this.drawFullLineMarker=function(e,t,n,r,i){var s=this.$getTop(t.start.row,r),o=r.lineHeight;t.start.row!=t.end.row&&(o+=this.$getTop(t.end.row,r)-s),e.push("
")},this.drawScreenLineMarker=function(e,t,n,r,i){var s=this.$getTop(t.start.row,r),o=r.lineHeight;e.push("
")}}).call(s.prototype),t.Marker=s}),define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("../lib/useragent"),u=e("../lib/event_emitter").EventEmitter,a=function(e){this.element=i.createElement("div"),this.element.className="ace_layer ace_text-layer",e.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this)};(function(){r.implement(this,u),this.EOF_CHAR="\u00b6",this.EOL_CHAR_LF="\u00ac",this.EOL_CHAR_CRLF="\u00a4",this.EOL_CHAR=this.EOL_CHAR_LF,this.TAB_CHAR="\u2014",this.SPACE_CHAR="\u00b7",this.$padding=0,this.$updateEolChar=function(){var e=this.session.doc.getNewLineCharacter()=="\n"?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=e)return this.EOL_CHAR=e,!0},this.setPadding=function(e){this.$padding=e,this.element.style.padding="0 "+e+"px"},this.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},this.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},this.$setFontMetrics=function(e){this.$fontMetrics=e,this.$fontMetrics.on("changeCharacterSize",function(e){this._signal("changeCharacterSize",e)}.bind(this)),this.$pollSizeChanges()},this.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},this.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},this.setSession=function(e){this.session=e,e&&this.$computeTabString()},this.showInvisibles=!1,this.setShowInvisibles=function(e){return this.showInvisibles==e?!1:(this.showInvisibles=e,this.$computeTabString(),!0)},this.displayIndentGuides=!0,this.setDisplayIndentGuides=function(e){return this.displayIndentGuides==e?!1:(this.displayIndentGuides=e,this.$computeTabString(),!0)},this.$tabStrings=[],this.onChangeTabSize=this.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;var t=this.$tabStrings=[0];for(var n=1;n"+s.stringRepeat(this.TAB_CHAR,n)+""):t.push(s.stringRepeat(" ",n));if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var r="ace_indent-guide",i="",o="";if(this.showInvisibles){r+=" ace_invisible",i=" ace_invisible_space",o=" ace_invisible_tab";var u=s.stringRepeat(this.SPACE_CHAR,this.tabSize),a=s.stringRepeat(this.TAB_CHAR,this.tabSize)}else var u=s.stringRepeat(" ",this.tabSize),a=u;this.$tabStrings[" "]=""+u+"",this.$tabStrings[" "]=""+a+""}},this.updateLines=function(e,t,n){(this.config.lastRow!=e.lastRow||this.config.firstRow!=e.firstRow)&&this.scrollLines(e),this.config=e;var r=Math.max(t,e.firstRow),i=Math.min(n,e.lastRow),s=this.element.childNodes,o=0;for(var u=e.firstRow;uf&&(u=a.end.row+1,a=this.session.getNextFoldLine(u,a),f=a?a.start.row:Infinity);if(u>i)break;var l=s[o++];if(l){var c=[];this.$renderLine(c,u,!this.$useLineGroups(),u==f?a:!1),l.style.height=e.lineHeight*this.session.getRowLength(u)+"px",l.innerHTML=c.join("")}u++}},this.scrollLines=function(e){var t=this.config;this.config=e;if(!t||t.lastRow0;r--)n.removeChild(n.firstChild);if(t.lastRow>e.lastRow)for(var r=this.session.getFoldedRowCount(e.lastRow+1,t.lastRow);r>0;r--)n.removeChild(n.lastChild);if(e.firstRowt.lastRow){var i=this.$renderLinesFragment(e,t.lastRow+1,e.lastRow);n.appendChild(i)}},this.$renderLinesFragment=function(e,t,n){var r=this.element.ownerDocument.createDocumentFragment(),s=t,o=this.session.getNextFoldLine(s),u=o?o.start.row:Infinity;for(;;){s>u&&(s=o.end.row+1,o=this.session.getNextFoldLine(s,o),u=o?o.start.row:Infinity);if(s>n)break;var a=i.createElement("div"),f=[];this.$renderLine(f,s,!1,s==u?o:!1),a.innerHTML=f.join("");if(this.$useLineGroups())a.className="ace_line_group",r.appendChild(a),a.style.height=e.lineHeight*this.session.getRowLength(s)+"px";else while(a.firstChild)r.appendChild(a.firstChild);s++}return r},this.update=function(e){this.config=e;var t=[],n=e.firstRow,r=e.lastRow,i=n,s=this.session.getNextFoldLine(i),o=s?s.start.row:Infinity;for(;;){i>o&&(i=s.end.row+1,s=this.session.getNextFoldLine(i,s),o=s?s.start.row:Infinity);if(i>r)break;this.$useLineGroups()&&t.push("
"),this.$renderLine(t,i,!1,i==o?s:!1),this.$useLineGroups()&&t.push("
"),i++}this.element.innerHTML=t.join("")},this.$textToken={text:!0,rparen:!0,lparen:!0},this.$renderToken=function(e,t,n,r){var i=this,o=/\t|&|<|>|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\u3000\uFEFF\uFFF9-\uFFFC])|[\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3000-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]/g,u=function(e,n,r,o,u){if(n)return i.showInvisibles?""+s.stringRepeat(i.SPACE_CHAR,e.length)+"":e;if(e=="&")return"&";if(e=="<")return"<";if(e==">")return">";if(e==" "){var a=i.session.getScreenTabSize(t+o);return t+=a-1,i.$tabStrings[a]}if(e=="\u3000"){var f=i.showInvisibles?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",l=i.showInvisibles?i.SPACE_CHAR:"";return t+=1,""+l+""}return r?""+i.SPACE_CHAR+"":(t+=1,""+e+"")},a=r.replace(o,u);if(!this.$textToken[n.type]){var f="ace_"+n.type.replace(/\./g," ace_"),l="";n.type=="fold"&&(l=" style='width:"+n.value.length*this.config.characterWidth+"px;' "),e.push("",a,"")}else e.push(a);return t+r.length},this.renderIndentGuide=function(e,t,n){var r=t.search(this.$indentGuideRe);return r<=0||r>=n?t:t[0]==" "?(r-=r%this.tabSize,e.push(s.stringRepeat(this.$tabStrings[" "],r/this.tabSize)),t.substr(r)):t[0]==" "?(e.push(s.stringRepeat(this.$tabStrings[" "],r)),t.substr(r)):t},this.$renderWrappedLine=function(e,t,n,r){var i=0,o=0,u=n[0],a=0;for(var f=0;f=u)a=this.$renderToken(e,a,l,c.substring(0,u-i)),c=c.substring(u-i),i=u,r||e.push("","
"),e.push(s.stringRepeat("\u00a0",n.indent)),o++,a=0,u=n[o]||Number.MAX_VALUE;c.length!=0&&(i+=c.length,a=this.$renderToken(e,a,l,c))}}},this.$renderSimpleLine=function(e,t){var n=0,r=t[0],i=r.value;this.displayIndentGuides&&(i=this.renderIndentGuide(e,i)),i&&(n=this.$renderToken(e,n,r,i));for(var s=1;s");if(i.length){var s=this.session.getRowSplitData(t);s&&s.length?this.$renderWrappedLine(e,i,s,n):this.$renderSimpleLine(e,i)}this.showInvisibles&&(r&&(t=r.end.row),e.push("",t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,"")),n||e.push("
")},this.$getFoldLineTokens=function(e,t){function i(e,t,n){var i=0,s=0;while(s+e[i].value.lengthn-t&&(o=o.substring(0,n-t)),r.push({type:e[i].type,value:o}),s=t+o.length,i+=1}while(sn?r.push({type:e[i].type,value:o.substring(0,n-s)}):r.push(e[i]),s+=o.length,i+=1}}var n=this.session,r=[],s=n.getTokens(e);return t.walk(function(e,t,o,u,a){e!=null?r.push({type:"fold",value:e}):(a&&(s=n.getTokens(t)),s.length&&i(s,u,o))},t.end.row,this.session.getLine(t.end.row).length),r},this.$useLineGroups=function(){return this.session.getUseWrapMode()},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$measureNode&&this.$measureNode.parentNode.removeChild(this.$measureNode),delete this.$measureNode}}).call(a.prototype),t.Text=a}),define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";var r=e("../lib/dom"),i,s=function(e){this.element=r.createElement("div"),this.element.className="ace_layer ace_cursor-layer",e.appendChild(this.element),i===undefined&&(i=!("opacity"in this.element.style)),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),r.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=(i?this.$updateVisibility:this.$updateOpacity).bind(this)};(function(){this.$updateVisibility=function(e){var t=this.cursors;for(var n=t.length;n--;)t[n].style.visibility=e?"":"hidden"},this.$updateOpacity=function(e){var t=this.cursors;for(var n=t.length;n--;)t[n].style.opacity=e?"":"0"},this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setBlinking=function(e){e!=this.isBlinking&&(this.isBlinking=e,this.restartTimer())},this.setBlinkInterval=function(e){e!=this.blinkInterval&&(this.blinkInterval=e,this.restartTimer())},this.setSmoothBlinking=function(e){e!=this.smoothBlinking&&!i&&(this.smoothBlinking=e,r.setCssClass(this.element,"ace_smooth-blinking",e),this.$updateCursors(!0),this.$updateCursors=this.$updateOpacity.bind(this),this.restartTimer())},this.addCursor=function(){var e=r.createElement("div");return e.className="ace_cursor",this.element.appendChild(e),this.cursors.push(e),e},this.removeCursor=function(){if(this.cursors.length>1){var e=this.cursors.pop();return e.parentNode.removeChild(e),e}},this.hideCursor=function(){this.isVisible=!1,r.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.showCursor=function(){this.isVisible=!0,r.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.restartTimer=function(){var e=this.$updateCursors;clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.smoothBlinking&&r.removeCssClass(this.element,"ace_smooth-blinking"),e(!0);if(!this.isBlinking||!this.blinkInterval||!this.isVisible)return;this.smoothBlinking&&setTimeout(function(){r.addCssClass(this.element,"ace_smooth-blinking")}.bind(this));var t=function(){this.timeoutId=setTimeout(function(){e(!1)},.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval(function(){e(!0),t()},this.blinkInterval),t()},this.getPixelPosition=function(e,t){if(!this.config||!this.session)return{left:0,top:0};e||(e=this.session.selection.getCursor());var n=this.session.documentToScreenPosition(e),r=this.$padding+n.column*this.config.characterWidth,i=(n.row-(t?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:r,top:i}},this.update=function(e){this.config=e;var t=this.session.$selectionMarkers,n=0,r=0;if(t===undefined||t.length===0)t=[{cursor:null}];for(var n=0,i=t.length;ne.height+e.offset||s.top<0)&&n>1)continue;var o=(this.cursors[r++]||this.addCursor()).style;this.drawCursor?this.drawCursor(o,s,e,t[n],this.session):(o.left=s.left+"px",o.top=s.top+"px",o.width=e.characterWidth+"px",o.height=e.lineHeight+"px")}while(this.cursors.length>r)this.removeCursor();var u=this.session.getOverwrite();this.$setOverwrite(u),this.$pixelPos=s,this.restartTimer()},this.drawCursor=null,this.$setOverwrite=function(e){e!=this.overwrite&&(this.overwrite=e,e?r.addCssClass(this.element,"ace_overwrite-cursors"):r.removeCssClass(this.element,"ace_overwrite-cursors"))},this.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)}}).call(s.prototype),t.Cursor=s}),define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./lib/event"),o=e("./lib/event_emitter").EventEmitter,u=32768,a=function(e){this.element=i.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+this.classSuffix,this.inner=i.createElement("div"),this.inner.className="ace_scrollbar-inner",this.element.appendChild(this.inner),e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,s.addListener(this.element,"scroll",this.onScroll.bind(this)),s.addListener(this.element,"mousedown",s.preventDefault)};(function(){r.implement(this,o),this.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e,this.coeff=1}}).call(a.prototype);var f=function(e,t){a.call(this,e),this.scrollTop=0,this.scrollHeight=0,t.$scrollbarWidth=this.width=i.scrollbarWidth(e.ownerDocument),this.inner.style.width=this.element.style.width=(this.width||15)+5+"px"};r.inherits(f,a),function(){this.classSuffix="-v",this.onScroll=function(){if(!this.skipEvent){this.scrollTop=this.element.scrollTop;if(this.coeff!=1){var e=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-e)/(this.coeff-e)}this._emit("scroll",{data:this.scrollTop})}this.skipEvent=!1},this.getWidth=function(){return this.isVisible?this.width:0},this.setHeight=function(e){this.element.style.height=e+"px"},this.setInnerHeight=this.setScrollHeight=function(e){this.scrollHeight=e,e>u?(this.coeff=u/e,e=u):this.coeff!=1&&(this.coeff=1),this.inner.style.height=e+"px"},this.setScrollTop=function(e){this.scrollTop!=e&&(this.skipEvent=!0,this.scrollTop=e,this.element.scrollTop=e*this.coeff)}}.call(f.prototype);var l=function(e,t){a.call(this,e),this.scrollLeft=0,this.height=t.$scrollbarWidth,this.inner.style.height=this.element.style.height=(this.height||15)+5+"px"};r.inherits(l,a),function(){this.classSuffix="-h",this.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},this.getHeight=function(){return this.isVisible?this.height:0},this.setWidth=function(e){this.element.style.width=e+"px"},this.setInnerWidth=function(e){this.inner.style.width=e+"px"},this.setScrollWidth=function(e){this.inner.style.width=e+"px"},this.setScrollLeft=function(e){this.scrollLeft!=e&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=e)}}.call(l.prototype),t.ScrollBar=f,t.ScrollBarV=f,t.ScrollBarH=l,t.VScrollBar=f,t.HScrollBar=l}),define("ace/renderloop",["require","exports","module","ace/lib/event"],function(e,t,n){"use strict";var r=e("./lib/event"),i=function(e,t){this.onRender=e,this.pending=!1,this.changes=0,this.window=t||window};(function(){this.schedule=function(e){this.changes=this.changes|e;if(!this.pending&&this.changes){this.pending=!0;var t=this;r.nextFrame(function(){t.pending=!1;var e;while(e=t.changes)t.changes=0,t.onRender(e)},this.window)}}}).call(i.prototype),t.RenderLoop=i}),define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/lib/event_emitter"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/dom"),s=e("../lib/lang"),o=e("../lib/useragent"),u=e("../lib/event_emitter").EventEmitter,a=0,f=t.FontMetrics=function(e){this.el=i.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=i.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=i.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),e.appendChild(this.el),a||this.$testFractionalRect(),this.$measureNode.innerHTML=s.stringRepeat("X",a),this.$characterSize={width:0,height:0},this.checkForSizeChanges()};(function(){r.implement(this,u),this.$characterSize={width:0,height:0},this.$testFractionalRect=function(){var e=i.createElement("div");this.$setMeasureNodeStyles(e.style),e.style.width="0.2px",document.documentElement.appendChild(e);var t=e.getBoundingClientRect().width;t>0&&t<1?a=50:a=100,e.parentNode.removeChild(e)},this.$setMeasureNodeStyles=function(e,t){e.width=e.height="auto",e.left=e.top="0px",e.visibility="hidden",e.position="absolute",e.whiteSpace="pre",o.isIE<8?e["font-family"]="inherit":e.font="inherit",e.overflow=t?"hidden":"visible"},this.checkForSizeChanges=function(){var e=this.$measureSizes();if(e&&(this.$characterSize.width!==e.width||this.$characterSize.height!==e.height)){this.$measureNode.style.fontWeight="bold";var t=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=e,this.charSizes=Object.create(null),this.allowBoldFonts=t&&t.width===e.width&&t.height===e.height,this._emit("changeCharacterSize",{data:e})}},this.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer)return this.$pollSizeChangesTimer;var e=this;return this.$pollSizeChangesTimer=setInterval(function(){e.checkForSizeChanges()},500)},this.setPolling=function(e){e?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},this.$measureSizes=function(){if(a===50){var e=null;try{e=this.$measureNode.getBoundingClientRect()}catch(t){e={width:0,height:0}}var n={height:e.height,width:e.width/a}}else var n={height:this.$measureNode.clientHeight,width:this.$measureNode.clientWidth/a};return n.width===0||n.height===0?null:n},this.$measureCharWidth=function(e){this.$main.innerHTML=s.stringRepeat(e,a);var t=this.$main.getBoundingClientRect();return t.width/a},this.getCharacterWidth=function(e){var t=this.charSizes[e];return t===undefined&&(t=this.charSizes[e]=this.$measureCharWidth(e)/this.$characterSize.width),t},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)}}).call(f.prototype)}),define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/config","ace/lib/useragent","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./config"),o=e("./lib/useragent"),u=e("./layer/gutter").Gutter,a=e("./layer/marker").Marker,f=e("./layer/text").Text,l=e("./layer/cursor").Cursor,c=e("./scrollbar").HScrollBar,h=e("./scrollbar").VScrollBar,p=e("./renderloop").RenderLoop,d=e("./layer/font_metrics").FontMetrics,v=e("./lib/event_emitter").EventEmitter,m='.ace_editor {position: relative;overflow: hidden;font: 12px/normal \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'source-code-pro\', monospace;direction: ltr;text-align: left;}.ace_scroller {position: absolute;overflow: hidden;top: 0;bottom: 0;background-color: inherit;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;cursor: text;}.ace_content {position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;min-width: 100%;}.ace_dragging .ace_scroller:before{position: absolute;top: 0;left: 0;right: 0;bottom: 0;content: \'\';background: rgba(250, 250, 250, 0.01);z-index: 1000;}.ace_dragging.ace_dark .ace_scroller:before{background: rgba(0, 0, 0, 0.01);}.ace_selecting, .ace_selecting * {cursor: text !important;}.ace_gutter {position: absolute;overflow : hidden;width: auto;top: 0;bottom: 0;left: 0;cursor: default;z-index: 4;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;}.ace_gutter-active-line {position: absolute;left: 0;right: 0;}.ace_scroller.ace_scroll-left {box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;}.ace_gutter-cell {padding-left: 19px;padding-right: 6px;background-repeat: no-repeat;}.ace_gutter-cell.ace_error {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: 2px center;}.ace_gutter-cell.ace_warning {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");background-position: 2px center;}.ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");background-position: 2px center;}.ace_dark .ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");}.ace_scrollbar {position: absolute;right: 0;bottom: 0;z-index: 6;}.ace_scrollbar-inner {position: absolute;cursor: text;left: 0;top: 0;}.ace_scrollbar-v{overflow-x: hidden;overflow-y: scroll;top: 0;}.ace_scrollbar-h {overflow-x: scroll;overflow-y: hidden;left: 0;}.ace_print-margin {position: absolute;height: 100%;}.ace_text-input {position: absolute;z-index: 0;width: 0.5em;height: 1em;opacity: 0;background: transparent;-moz-appearance: none;appearance: none;border: none;resize: none;outline: none;overflow: hidden;font: inherit;padding: 0 1px;margin: 0 -1px;text-indent: -1em;-ms-user-select: text;-moz-user-select: text;-webkit-user-select: text;user-select: text;white-space: pre!important;}.ace_text-input.ace_composition {background: inherit;color: inherit;z-index: 1000;opacity: 1;text-indent: 0;}.ace_layer {z-index: 1;position: absolute;overflow: hidden;word-wrap: normal;white-space: pre;height: 100%;width: 100%;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;pointer-events: none;}.ace_gutter-layer {position: relative;width: auto;text-align: right;pointer-events: auto;}.ace_text-layer {font: inherit !important;}.ace_cjk {display: inline-block;text-align: center;}.ace_cursor-layer {z-index: 4;}.ace_cursor {z-index: 4;position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;border-left: 2px solid;transform: translatez(0);}.ace_slim-cursors .ace_cursor {border-left-width: 1px;}.ace_overwrite-cursors .ace_cursor {border-left-width: 0;border-bottom: 1px solid;}.ace_hidden-cursors .ace_cursor {opacity: 0.2;}.ace_smooth-blinking .ace_cursor {-webkit-transition: opacity 0.18s;transition: opacity 0.18s;}.ace_editor.ace_multiselect .ace_cursor {border-left-width: 1px;}.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {position: absolute;z-index: 3;}.ace_marker-layer .ace_selection {position: absolute;z-index: 5;}.ace_marker-layer .ace_bracket {position: absolute;z-index: 6;}.ace_marker-layer .ace_active-line {position: absolute;z-index: 2;}.ace_marker-layer .ace_selected-word {position: absolute;z-index: 4;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;}.ace_line .ace_fold {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;display: inline-block;height: 11px;margin-top: -2px;vertical-align: middle;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");background-repeat: no-repeat, repeat-x;background-position: center center, top left;color: transparent;border: 1px solid black;border-radius: 2px;cursor: pointer;pointer-events: auto;}.ace_dark .ace_fold {}.ace_fold:hover{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");}.ace_tooltip {background-color: #FFF;background-image: -webkit-linear-gradient(top, transparent, rgba(0, 0, 0, 0.1));background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));border: 1px solid gray;border-radius: 1px;box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);color: black;max-width: 100%;padding: 3px 4px;position: fixed;z-index: 999999;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;cursor: default;white-space: pre;word-wrap: break-word;line-height: normal;font-style: normal;font-weight: normal;letter-spacing: normal;pointer-events: none;}.ace_folding-enabled > .ace_gutter-cell {padding-right: 13px;}.ace_fold-widget {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;margin: 0 -12px 0 1px;display: none;width: 11px;vertical-align: top;background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: center;border-radius: 3px;border: 1px solid transparent;cursor: pointer;}.ace_folding-enabled .ace_fold-widget {display: inline-block; }.ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");}.ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");}.ace_fold-widget:hover {border: 1px solid rgba(0, 0, 0, 0.3);background-color: rgba(255, 255, 255, 0.2);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);}.ace_fold-widget:active {border: 1px solid rgba(0, 0, 0, 0.4);background-color: rgba(0, 0, 0, 0.05);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);}.ace_dark .ace_fold-widget {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");}.ace_dark .ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget:hover {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);background-color: rgba(255, 255, 255, 0.1);}.ace_dark .ace_fold-widget:active {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);}.ace_fold-widget.ace_invalid {background-color: #FFB4B4;border-color: #DE5555;}.ace_fade-fold-widgets .ace_fold-widget {-webkit-transition: opacity 0.4s ease 0.05s;transition: opacity 0.4s ease 0.05s;opacity: 0;}.ace_fade-fold-widgets:hover .ace_fold-widget {-webkit-transition: opacity 0.05s ease 0.05s;transition: opacity 0.05s ease 0.05s;opacity:1;}.ace_underline {text-decoration: underline;}.ace_bold {font-weight: bold;}.ace_nobold .ace_bold {font-weight: normal;}.ace_italic {font-style: italic;}.ace_error-marker {background-color: rgba(255, 0, 0,0.2);position: absolute;z-index: 9;}.ace_highlight-marker {background-color: rgba(255, 255, 0,0.2);position: absolute;z-index: 8;}.ace_br1 {border-top-left-radius : 3px;}.ace_br2 {border-top-right-radius : 3px;}.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}.ace_br4 {border-bottom-right-radius: 3px;}.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}.ace_br8 {border-bottom-left-radius : 3px;}.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}';i.importCssString(m,"ace_editor.css");var g=function(e,t){var n=this;this.container=e||i.createElement("div"),this.$keepTextAreaAtCursor=!o.isOldIE,i.addCssClass(this.container,"ace_editor"),this.setTheme(t),this.$gutter=i.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.scroller=i.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=i.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new u(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new a(this.content);var r=this.$textLayer=new f(this.content);this.canvas=r.element,this.$markerFront=new a(this.content),this.$cursorLayer=new l(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new h(this.container,this),this.scrollBarH=new c(this.container,this),this.scrollBarV.addEventListener("scroll",function(e){n.$scrollAnimation||n.session.setScrollTop(e.data-n.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(e){n.$scrollAnimation||n.session.setScrollLeft(e.data-n.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new d(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.addEventListener("changeCharacterSize",function(e){n.updateCharacterSize(),n.onResize(!0,n.gutterWidth,n.$size.width,n.$size.height),n._signal("changeCharacterSize",e)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$loop=new p(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),s.resetOptions(this),s._emit("renderer",this)};(function(){this.CHANGE_CURSOR=1,this.CHANGE_MARKER=2,this.CHANGE_GUTTER=4,this.CHANGE_SCROLL=8,this.CHANGE_LINES=16,this.CHANGE_TEXT=32,this.CHANGE_SIZE=64,this.CHANGE_MARKER_BACK=128,this.CHANGE_MARKER_FRONT=256,this.CHANGE_FULL=512,this.CHANGE_H_SCROLL=1024,r.implement(this,v),this.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin()},this.setSession=function(e){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=e,e&&this.scrollMargin.top&&e.getScrollTop()<=0&&e.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(e),this.$markerBack.setSession(e),this.$markerFront.setSession(e),this.$gutterLayer.setSession(e),this.$textLayer.setSession(e);if(!e)return;this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.scrollBarV.scrollLeft=this.scrollBarV.scrollTop=null,this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode)},this.updateLines=function(e,t,n){t===undefined&&(t=Infinity),this.$changedLines?(this.$changedLines.firstRow>e&&(this.$changedLines.firstRow=e),this.$changedLines.lastRowthis.layerConfig.lastRow)return;this.$loop.schedule(this.CHANGE_LINES)},this.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar()},this.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},this.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},this.updateFull=function(e){e?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},this.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},this.$changes=0,this.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},this.onResize=function(e,t,n,r){if(this.resizing>2)return;this.resizing>0?this.resizing++:this.resizing=e?1:0;var i=this.container;r||(r=i.clientHeight||i.scrollHeight),n||(n=i.clientWidth||i.scrollWidth);var s=this.$updateCachedSize(e,t,n,r);if(!this.$size.scrollerHeight||!n&&!r)return this.resizing=0;e&&(this.$gutterLayer.$padding=null),e?this.$renderChanges(s|this.$changes,!0):this.$loop.schedule(s|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarV.scrollLeft=this.scrollBarV.scrollTop=null},this.$updateCachedSize=function(e,t,n,r){r-=this.$extraHeight||0;var i=0,s=this.$size,o={width:s.width,height:s.height,scrollerHeight:s.scrollerHeight,scrollerWidth:s.scrollerWidth};r&&(e||s.height!=r)&&(s.height=r,i|=this.CHANGE_SIZE,s.scrollerHeight=s.height,this.$horizScroll&&(s.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",i|=this.CHANGE_SCROLL);if(n&&(e||s.width!=n)){i|=this.CHANGE_SIZE,s.width=n,t==null&&(t=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=t,this.scrollBarH.element.style.left=this.scroller.style.left=t+"px",s.scrollerWidth=Math.max(0,n-t-this.scrollBarV.getWidth()),this.scrollBarH.element.style.right=this.scroller.style.right=this.scrollBarV.getWidth()+"px",this.scroller.style.bottom=this.scrollBarH.getHeight()+"px";if(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||e)i|=this.CHANGE_FULL}return s.$dirty=!n||!r,i&&this._signal("resize",o),i},this.onGutterResize=function(){var e=this.$showGutter?this.$gutter.offsetWidth:0;e!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,e,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):(this.$computeLayerConfig(),this.$loop.schedule(this.CHANGE_MARKER))},this.adjustWrapLimit=function(){var e=this.$size.scrollerWidth-this.$padding*2,t=Math.floor(e/this.characterWidth);return this.session.adjustWrapLimit(t,this.$showPrintMargin&&this.$printMarginColumn)},this.setAnimatedScroll=function(e){this.setOption("animatedScroll",e)},this.getAnimatedScroll=function(){return this.$animatedScroll},this.setShowInvisibles=function(e){this.setOption("showInvisibles",e)},this.getShowInvisibles=function(){return this.getOption("showInvisibles")},this.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},this.setDisplayIndentGuides=function(e){this.setOption("displayIndentGuides",e)},this.setShowPrintMargin=function(e){this.setOption("showPrintMargin",e)},this.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},this.setPrintMarginColumn=function(e){this.setOption("printMarginColumn",e)},this.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},this.getShowGutter=function(){return this.getOption("showGutter")},this.setShowGutter=function(e){return this.setOption("showGutter",e)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.setFadeFoldWidgets=function(e){this.setOption("fadeFoldWidgets",e)},this.setHighlightGutterLine=function(e){this.setOption("highlightGutterLine",e)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.$updateGutterLineHighlight=function(){var e=this.$cursorLayer.$pixelPos,t=this.layerConfig.lineHeight;if(this.session.getUseWrapMode()){var n=this.session.selection.getCursor();n.column=0,e=this.$cursorLayer.getPixelPosition(n,!0),t*=this.session.getRowLength(n.row)}this.$gutterLineHighlight.style.top=e.top-this.layerConfig.offset+"px",this.$gutterLineHighlight.style.height=t+"px"},this.$updatePrintMargin=function(){if(!this.$showPrintMargin&&!this.$printMarginEl)return;if(!this.$printMarginEl){var e=i.createElement("div");e.className="ace_layer ace_print-margin-layer",this.$printMarginEl=i.createElement("div"),this.$printMarginEl.className="ace_print-margin",e.appendChild(this.$printMarginEl),this.content.insertBefore(e,this.content.firstChild)}var t=this.$printMarginEl.style;t.left=this.characterWidth*this.$printMarginColumn+this.$padding+"px",t.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&this.session.$wrap==-1&&this.adjustWrapLimit()},this.getContainerElement=function(){return this.container},this.getMouseEventTarget=function(){return this.scroller},this.getTextAreaContainer=function(){return this.container},this.$moveTextAreaToCursor=function(){if(!this.$keepTextAreaAtCursor)return;var e=this.layerConfig,t=this.$cursorLayer.$pixelPos.top,n=this.$cursorLayer.$pixelPos.left;t-=e.offset;var r=this.textarea.style,i=this.lineHeight;if(t<0||t>e.height-i){r.top=r.left="0";return}var s=this.characterWidth;if(this.$composition){var o=this.textarea.value.replace(/^\x01+/,"");s*=this.session.$getStringScreenWidth(o)[0]+2,i+=2}n-=this.scrollLeft,n>this.$size.scrollerWidth-s&&(n=this.$size.scrollerWidth-s),n+=this.gutterWidth,r.height=i+"px",r.width=s+"px",r.left=Math.min(n,this.$size.scrollerWidth-s)+"px",r.top=Math.min(t,this.$size.height-i)+"px"},this.getFirstVisibleRow=function(){return this.layerConfig.firstRow},this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)},this.getLastFullyVisibleRow=function(){var e=this.layerConfig,t=e.lastRow,n=this.session.documentToScreenRow(t,0)*e.lineHeight;return n-this.session.getScrollTop()>e.height-e.lineHeight?t-1:t},this.getLastVisibleRow=function(){return this.layerConfig.lastRow},this.$padding=null,this.setPadding=function(e){this.$padding=e,this.$textLayer.setPadding(e),this.$cursorLayer.setPadding(e),this.$markerFront.setPadding(e),this.$markerBack.setPadding(e),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},this.setScrollMargin=function(e,t,n,r){var i=this.scrollMargin;i.top=e|0,i.bottom=t|0,i.right=r|0,i.left=n|0,i.v=i.top+i.bottom,i.h=i.left+i.right,i.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-i.top),this.updateFull()},this.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},this.setHScrollBarAlwaysVisible=function(e){this.setOption("hScrollBarAlwaysVisible",e)},this.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},this.setVScrollBarAlwaysVisible=function(e){this.setOption("vScrollBarAlwaysVisible",e)},this.$updateScrollBarV=function(){var e=this.layerConfig.maxHeight,t=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(e-=(t-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>e-t&&(e=this.scrollTop+t,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(e+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},this.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},this.$frozen=!1,this.freeze=function(){this.$frozen=!0},this.unfreeze=function(){this.$frozen=!1},this.$renderChanges=function(e,t){this.$changes&&(e|=this.$changes,this.$changes=0);if(!this.session||!this.container.offsetWidth||this.$frozen||!e&&!t){this.$changes|=e;return}if(this.$size.$dirty)return this.$changes|=e,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender");var n=this.layerConfig;if(e&this.CHANGE_FULL||e&this.CHANGE_SIZE||e&this.CHANGE_TEXT||e&this.CHANGE_LINES||e&this.CHANGE_SCROLL||e&this.CHANGE_H_SCROLL){e|=this.$computeLayerConfig();if(n.firstRow!=this.layerConfig.firstRow&&n.firstRowScreen==this.layerConfig.firstRowScreen){var r=this.scrollTop+(n.firstRow-this.layerConfig.firstRow)*this.lineHeight;r>0&&(this.scrollTop=r,e|=this.CHANGE_SCROLL,e|=this.$computeLayerConfig())}n=this.layerConfig,this.$updateScrollBarV(),e&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),this.$gutterLayer.element.style.marginTop=-n.offset+"px",this.content.style.marginTop=-n.offset+"px",this.content.style.width=n.width+2*this.$padding+"px",this.content.style.height=n.minHeight+"px"}e&this.CHANGE_H_SCROLL&&(this.content.style.marginLeft=-this.scrollLeft+"px",this.scroller.className=this.scrollLeft<=0?"ace_scroller":"ace_scroller ace_scroll-left");if(e&this.CHANGE_FULL){this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight(),this._signal("afterRender");return}if(e&this.CHANGE_SCROLL){e&this.CHANGE_TEXT||e&this.CHANGE_LINES?this.$textLayer.update(n):this.$textLayer.scrollLines(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$highlightGutterLine&&this.$updateGutterLineHighlight(),this.$moveTextAreaToCursor(),this._signal("afterRender");return}e&this.CHANGE_TEXT?(this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n)):e&this.CHANGE_LINES?(this.$updateLines()||e&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(n):(e&this.CHANGE_TEXT||e&this.CHANGE_GUTTER)&&this.$showGutter&&this.$gutterLayer.update(n),e&this.CHANGE_CURSOR&&(this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight()),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(n),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(n),this._signal("afterRender")},this.$autosize=function(){var e=this.session.getScreenLength()*this.lineHeight,t=this.$maxLines*this.lineHeight,n=Math.min(t,Math.max((this.$minLines||1)*this.lineHeight,e))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(n+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&n>this.$maxPixelHeight&&(n=this.$maxPixelHeight);var r=e>t;if(n!=this.desiredHeight||this.$size.height!=this.desiredHeight||r!=this.$vScroll){r!=this.$vScroll&&(this.$vScroll=r,this.scrollBarV.setVisible(r));var i=this.container.clientWidth;this.container.style.height=n+"px",this.$updateCachedSize(!0,this.$gutterWidth,i,n),this.desiredHeight=n,this._signal("autosize")}},this.$computeLayerConfig=function(){var e=this.session,t=this.$size,n=t.height<=2*this.lineHeight,r=this.session.getScreenLength(),i=r*this.lineHeight,s=this.$getLongestLine(),o=!n&&(this.$hScrollBarAlwaysVisible||t.scrollerWidth-s-2*this.$padding<0),u=this.$horizScroll!==o;u&&(this.$horizScroll=o,this.scrollBarH.setVisible(o));var a=this.$vScroll;this.$maxLines&&this.lineHeight>1&&this.$autosize();var f=this.scrollTop%this.lineHeight,l=t.scrollerHeight+this.lineHeight,c=!this.$maxLines&&this.$scrollPastEnd?(t.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;i+=c;var h=this.scrollMargin;this.session.setScrollTop(Math.max(-h.top,Math.min(this.scrollTop,i-t.scrollerHeight+h.bottom))),this.session.setScrollLeft(Math.max(-h.left,Math.min(this.scrollLeft,s+2*this.$padding-t.scrollerWidth+h.right)));var p=!n&&(this.$vScrollBarAlwaysVisible||t.scrollerHeight-i+c<0||this.scrollTop>h.top),d=a!==p;d&&(this.$vScroll=p,this.scrollBarV.setVisible(p));var v=Math.ceil(l/this.lineHeight)-1,m=Math.max(0,Math.round((this.scrollTop-f)/this.lineHeight)),g=m+v,y,b,w=this.lineHeight;m=e.screenToDocumentRow(m,0);var E=e.getFoldLine(m);E&&(m=E.start.row),y=e.documentToScreenRow(m,0),b=e.getRowLength(m)*w,g=Math.min(e.screenToDocumentRow(g,0),e.getLength()-1),l=t.scrollerHeight+e.getRowLength(g)*w+b,f=this.scrollTop-y*w;var S=0;this.layerConfig.width!=s&&(S=this.CHANGE_H_SCROLL);if(u||d)S=this.$updateCachedSize(!0,this.gutterWidth,t.width,t.height),this._signal("scrollbarVisibilityChanged"),d&&(s=this.$getLongestLine());return this.layerConfig={width:s,padding:this.$padding,firstRow:m,firstRowScreen:y,lastRow:g,lineHeight:w,characterWidth:this.characterWidth,minHeight:l,maxHeight:i,offset:f,gutterOffset:w?Math.max(0,Math.ceil((f+t.height-t.scrollerHeight)/w)):0,height:this.$size.scrollerHeight},S},this.$updateLines=function(){var e=this.$changedLines.firstRow,t=this.$changedLines.lastRow;this.$changedLines=null;var n=this.layerConfig;if(e>n.lastRow+1)return;if(ts?(t&&a+o>s+this.lineHeight&&(s-=t*this.$size.scrollerHeight),s===0&&(s=-this.scrollMargin.top),this.session.setScrollTop(s)):a+this.$size.scrollerHeight-ui?(i=1-this.scrollMargin.top)return!0;if(t>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom)return!0;if(e<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left)return!0;if(e>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right)return!0},this.pixelToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=(e+this.scrollLeft-n.left-this.$padding)/this.characterWidth,i=Math.floor((t+this.scrollTop-n.top)/this.lineHeight),s=Math.round(r);return{row:i,column:s,side:r-s>0?1:-1}},this.screenToTextCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=Math.round((e+this.scrollLeft-n.left-this.$padding)/this.characterWidth),i=(t+this.scrollTop-n.top)/this.lineHeight;return this.session.screenToDocumentPosition(i,Math.max(r,0))},this.textToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=this.session.documentToScreenPosition(e,t),i=this.$padding+Math.round(r.column*this.characterWidth),s=r.row*this.lineHeight;return{pageX:n.left+i-this.scrollLeft,pageY:n.top+s-this.scrollTop}},this.visualizeFocus=function(){i.addCssClass(this.container,"ace_focus")},this.visualizeBlur=function(){i.removeCssClass(this.container,"ace_focus")},this.showComposition=function(e){this.$composition||(this.$composition={keepTextAreaAtCursor:this.$keepTextAreaAtCursor,cssText:this.textarea.style.cssText}),this.$keepTextAreaAtCursor=!0,i.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor()},this.setCompositionText=function(e){this.$moveTextAreaToCursor()},this.hideComposition=function(){if(!this.$composition)return;i.removeCssClass(this.textarea,"ace_composition"),this.$keepTextAreaAtCursor=this.$composition.keepTextAreaAtCursor,this.textarea.style.cssText=this.$composition.cssText,this.$composition=null},this.setTheme=function(e,t){function o(r){if(n.$themeId!=e)return t&&t();if(!r||!r.cssClass)throw new Error("couldn't load module "+e+" or it didn't call define");i.importCssString(r.cssText,r.cssClass,n.container.ownerDocument),n.theme&&i.removeCssClass(n.container,n.theme.cssClass);var s="padding"in r?r.padding:"padding"in(n.theme||{})?4:n.$padding;n.$padding&&s!=n.$padding&&n.setPadding(s),n.$theme=r.cssClass,n.theme=r,i.addCssClass(n.container,r.cssClass),i.setCssClass(n.container,"ace_dark",r.isDark),n.$size&&(n.$size.width=0,n.$updateSizeAsync()),n._dispatchEvent("themeLoaded",{theme:r}),t&&t()}var n=this;this.$themeId=e,n._dispatchEvent("themeChange",{theme:e});if(!e||typeof e=="string"){var r=e||this.$options.theme.initialValue;s.loadModule(["theme",r],o)}else o(e)},this.getTheme=function(){return this.$themeId},this.setStyle=function(e,t){i.setCssClass(this.container,e,t!==!1)},this.unsetStyle=function(e){i.removeCssClass(this.container,e)},this.setCursorStyle=function(e){this.scroller.style.cursor!=e&&(this.scroller.style.cursor=e)},this.setMouseCursor=function(e){this.scroller.style.cursor=e},this.destroy=function(){this.$textLayer.destroy(),this.$cursorLayer.destroy()}}).call(g.prototype),s.defineOptions(g.prototype,"renderer",{animatedScroll:{initialValue:!1},showInvisibles:{set:function(e){this.$textLayer.setShowInvisibles(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function(e){typeof e=="number"&&(this.$printMarginColumn=e),this.$showPrintMargin=!!e,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(e){this.$gutter.style.display=e?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},fadeFoldWidgets:{set:function(e){i.setCssClass(this.$gutter,"ace_fade-fold-widgets",e)},initialValue:!1},showFoldWidgets:{set:function(e){this.$gutterLayer.setShowFoldWidgets(e)},initialValue:!0},showLineNumbers:{set:function(e){this.$gutterLayer.setShowLineNumbers(e),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(e){this.$textLayer.setDisplayIndentGuides(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightGutterLine:{set:function(e){if(!this.$gutterLineHighlight){this.$gutterLineHighlight=i.createElement("div"),this.$gutterLineHighlight.className="ace_gutter-active-line",this.$gutter.appendChild(this.$gutterLineHighlight);return}this.$gutterLineHighlight.style.display=e?"":"none",this.$cursorLayer.$pixelPos&&this.$updateGutterLineHighlight()},initialValue:!1,value:!0},hScrollBarAlwaysVisible:{set:function(e){(!this.$hScrollBarAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(e){(!this.$vScrollBarAlwaysVisible||!this.$vScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(e){typeof e=="number"&&(e+="px"),this.container.style.fontSize=e,this.updateFontSize()},initialValue:12},fontFamily:{set:function(e){this.container.style.fontFamily=e,this.updateFontSize()}},maxLines:{set:function(e){this.updateFull()}},minLines:{set:function(e){this.updateFull()}},maxPixelHeight:{set:function(e){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(e){e=+e||0;if(this.$scrollPastEnd==e)return;this.$scrollPastEnd=e,this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(e){this.$gutterLayer.$fixedWidth=!!e,this.$loop.schedule(this.CHANGE_GUTTER)}},theme:{set:function(e){this.setTheme(e)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0}}),t.VirtualRenderer=g}),define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/net"),s=e("../lib/event_emitter").EventEmitter,o=e("../config"),u=function(t,n,r,i){this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),e.nameToUrl&&!e.toUrl&&(e.toUrl=e.nameToUrl);if(o.get("packaged")||!e.toUrl)i=i||o.moduleUrl(n,"worker");else{var s=this.$normalizePath;i=i||s(e.toUrl("ace/worker/worker.js",null,"_"));var u={};t.forEach(function(t){u[t]=s(e.toUrl(t,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}try{this.$worker=new Worker(i)}catch(a){if(!(a instanceof window.DOMException))throw a;var f=this.$workerBlob(i),l=window.URL||window.webkitURL,c=l.createObjectURL(f);this.$worker=new Worker(c),l.revokeObjectURL(c)}this.$worker.postMessage({init:!0,tlns:u,module:n,classname:r}),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage};(function(){r.implement(this,s),this.onMessage=function(e){var t=e.data;switch(t.type){case"event":this._signal(t.name,{data:t.data});break;case"call":var n=this.callbacks[t.id];n&&(n(t.data),delete this.callbacks[t.id]);break;case"error":this.reportError(t.data);break;case"log":window.console&&console.log&&console.log.apply(console,t.data)}},this.reportError=function(e){window.console&&console.error&&console.error(e)},this.$normalizePath=function(e){return i.qualifyURL(e)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(e,t){this.$worker.postMessage({command:e,args:t})},this.call=function(e,t,n){if(n){var r=this.callbackId++;this.callbacks[r]=n,t.push(r)}this.send(e,t)},this.emit=function(e,t){try{this.$worker.postMessage({event:e,data:{data:t.data}})}catch(n){console.error(n.stack)}},this.attachToDocument=function(e){this.$doc&&this.terminate(),this.$doc=e,this.call("setValue",[e.getValue()]),e.on("change",this.changeListener)},this.changeListener=function(e){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),e.action=="insert"?this.deltaQueue.push(e.start,e.lines):this.deltaQueue.push(e.start,e.end)},this.$sendDeltaQueue=function(){var e=this.deltaQueue;if(!e)return;this.deltaQueue=null,e.length>50&&e.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:e})},this.$workerBlob=function(e){var t="importScripts('"+i.qualifyURL(e)+"');";try{return new Blob([t],{type:"application/javascript"})}catch(n){var r=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,s=new r;return s.append(t),s.getBlob("application/javascript")}}}).call(u.prototype);var a=function(e,t,n){this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.callbackId=1,this.callbacks={},this.messageBuffer=[];var r=null,i=!1,u=Object.create(s),a=this;this.$worker={},this.$worker.terminate=function(){},this.$worker.postMessage=function(e){a.messageBuffer.push(e),r&&(i?setTimeout(f):f())},this.setEmitSync=function(e){i=e};var f=function(){var e=a.messageBuffer.shift();e.command?r[e.command].apply(r,e.args):e.event&&u._signal(e.event,e.data)};u.postMessage=function(e){a.onMessage({data:e})},u.callback=function(e,t){this.postMessage({type:"call",id:t,data:e})},u.emit=function(e,t){this.postMessage({type:"event",name:e,data:t})},o.loadModule(["worker",t],function(e){r=new e[n](u);while(a.messageBuffer.length)f()})};a.prototype=u.prototype,t.UIWorkerClient=a,t.WorkerClient=u}),define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(e,t,n){"use strict";var r=e("./range").Range,i=e("./lib/event_emitter").EventEmitter,s=e("./lib/oop"),o=function(e,t,n,r,i,s){var o=this;this.length=t,this.session=e,this.doc=e.getDocument(),this.mainClass=i,this.othersClass=s,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate),this.$others=r,this.$onCursorChange=function(){setTimeout(function(){o.onCursorChange()})},this.$pos=n;var u=e.getUndoManager().$undoStack||e.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=u.length,this.setup(),e.selection.on("changeCursor",this.$onCursorChange)};(function(){s.implement(this,i),this.setup=function(){var e=this,t=this.doc,n=this.session;this.selectionBefore=n.selection.toJSON(),n.selection.inMultiSelectMode&&n.selection.toSingleRange(),this.pos=t.createAnchor(this.$pos.row,this.$pos.column);var i=this.pos;i.$insertRight=!0,i.detach(),i.markerId=n.addMarker(new r(i.row,i.column,i.row,i.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(n){var r=t.createAnchor(n.row,n.column);r.$insertRight=!0,r.detach(),e.others.push(r)}),n.setUndoSelect(!1)},this.showOtherMarkers=function(){if(this.othersActive)return;var e=this.session,t=this;this.othersActive=!0,this.others.forEach(function(n){n.markerId=e.addMarker(new r(n.row,n.column,n.row,n.column+t.length),t.othersClass,null,!1)})},this.hideOtherMarkers=function(){if(!this.othersActive)return;this.othersActive=!1;for(var e=0;e=this.pos.column&&t.start.column<=this.pos.column+this.length+1,s=t.start.column-this.pos.column;this.updateAnchors(e),i&&(this.length+=n);if(i&&!this.session.$fromUndo)if(e.action==="insert")for(var o=this.others.length-1;o>=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};this.doc.insertMergedLines(a,e.lines)}else if(e.action==="remove")for(var o=this.others.length-1;o>=0;o--){var u=this.others[o],a={row:u.row,column:u.column+s};this.doc.remove(new r(a.row,a.column,a.row,a.column-n))}this.$updating=!1,this.updateMarkers()},this.updateAnchors=function(e){this.pos.onChange(e);for(var t=this.others.length;t--;)this.others[t].onChange(e);this.updateMarkers()},this.updateMarkers=function(){if(this.$updating)return;var e=this,t=this.session,n=function(n,i){t.removeMarker(n.markerId),n.markerId=t.addMarker(new r(n.row,n.column,n.row,n.column+e.length),i,null,!1)};n(this.pos,this.mainClass);for(var i=this.others.length;i--;)n(this.others[i],this.othersClass)},this.onCursorChange=function(e){if(this.$updating||!this.session)return;var t=this.session.selection.getCursor();t.row===this.pos.row&&t.column>=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",e)):(this.hideOtherMarkers(),this._emit("cursorLeave",e))},this.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.removeEventListener("change",this.$onUpdate),this.session.selection.removeEventListener("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},this.cancel=function(){if(this.$undoStackDepth===-1)return;var e=this.session.getUndoManager(),t=(e.$undoStack||e.$undostack).length-this.$undoStackDepth;for(var n=0;n1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),t||this.fromOrientedRange(e)},this.toSingleRange=function(e){e=e||this.ranges[0];var t=this.rangeList.removeAll();t.length&&this.$onRemoveRange(t),e&&this.fromOrientedRange(e)},this.substractPoint=function(e){var t=this.rangeList.substractPoint(e);if(t)return this.$onRemoveRange(t),t[0]},this.mergeOverlappingRanges=function(){var e=this.rangeList.merge();e.length?this.$onRemoveRange(e):this.ranges[0]&&this.fromOrientedRange(this.ranges[0])},this.$onAddRange=function(e){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(e),this._signal("addRange",{range:e})},this.$onRemoveRange=function(e){this.rangeCount=this.rangeList.ranges.length;if(this.rangeCount==1&&this.inMultiSelectMode){var t=this.rangeList.ranges.pop();e.push(t),this.rangeCount=0}for(var n=e.length;n--;){var r=this.ranges.indexOf(e[n]);this.ranges.splice(r,1)}this._signal("removeRange",{ranges:e}),this.rangeCount===0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),t=t||this.ranges[0],t&&!t.isEqual(this.getRange())&&this.fromOrientedRange(t)},this.$initRangeList=function(){if(this.rangeList)return;this.rangeList=new r,this.ranges=[],this.rangeCount=0},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){if(this.rangeCount>1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var n=this.getRange(),r=this.isBackwards(),s=n.start.row,o=n.end.row;if(s==o){if(r)var u=n.end,a=n.start;else var u=n.start,a=n.end;this.addRange(i.fromPoints(a,a)),this.addRange(i.fromPoints(u,u));return}var f=[],l=this.getLineRange(s,!0);l.start.column=n.start.column,f.push(l);for(var c=s+1;c1){var e=this.rangeList.ranges,t=e[e.length-1],n=i.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var r=this.session.documentToScreenPosition(this.selectionLead),s=this.session.documentToScreenPosition(this.selectionAnchor),o=this.rectangularRangeBlock(r,s);o.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(e,t,n){var r=[],s=e.column0)d--;if(d>0){var m=0;while(r[m].isEmpty())m++}for(var g=d;g>=m;g--)r[g].isEmpty()&&r.splice(g,1)}return r}}.call(s.prototype);var d=e("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(e){e.cursor||(e.cursor=e.end);var t=this.getSelectionStyle();return e.marker=this.session.addMarker(e,"ace_selection",t),this.session.$selectionMarkers.push(e),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,e},this.removeSelectionMarker=function(e){if(!e.marker)return;this.session.removeMarker(e.marker);var t=this.session.$selectionMarkers.indexOf(e);t!=-1&&this.session.$selectionMarkers.splice(t,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length},this.removeSelectionMarkers=function(e){var t=this.session.$selectionMarkers;for(var n=e.length;n--;){var r=e[n];if(!r.marker)continue;this.session.removeMarker(r.marker);var i=t.indexOf(r);i!=-1&&t.splice(i,1)}this.session.selectionMarkerCount=t.length},this.$onAddRange=function(e){this.addSelectionMarker(e.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(e){this.removeSelectionMarkers(e.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(e){if(this.inMultiSelectMode)return;this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(f.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onSingleSelect=function(e){if(this.session.multiSelect.inVirtualMode)return;this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(f.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection")},this.$onMultiSelectExec=function(e){var t=e.command,n=e.editor;if(!n.multiSelect)return;if(!t.multiSelectAction){var r=t.exec(n,e.args||{});n.multiSelect.addRange(n.multiSelect.toOrientedRange()),n.multiSelect.mergeOverlappingRanges()}else t.multiSelectAction=="forEach"?r=n.forEachSelection(t,e.args):t.multiSelectAction=="forEachLine"?r=n.forEachSelection(t,e.args,!0):t.multiSelectAction=="single"?(n.exitMultiSelectMode(),r=t.exec(n,e.args||{})):r=t.multiSelectAction(n,e.args||{});return r},this.forEachSelection=function(e,t,n){if(this.inVirtualSelectionMode)return;var r=n&&n.keepOrder,i=n==1||n&&n.$byLines,o=this.session,u=this.selection,a=u.rangeList,f=(r?u:a).ranges,l;if(!f.length)return e.exec?e.exec(this,t||{}):e(this,t||{});var c=u._eventRegistry;u._eventRegistry={};var h=new s(o);this.inVirtualSelectionMode=!0;for(var p=f.length;p--;){if(i)while(p>0&&f[p].start.row==f[p-1].end.row)p--;h.fromOrientedRange(f[p]),h.index=p,this.selection=o.selection=h;var d=e.exec?e.exec(this,t||{}):e(this,t||{});!l&&d!==undefined&&(l=d),h.toOrientedRange(f[p])}h.detach(),this.selection=o.selection=u,this.inVirtualSelectionMode=!1,u._eventRegistry=c,u.mergeOverlappingRanges();var v=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),v&&v.from==v.to&&this.renderer.animateScrolling(v.from),l},this.exitMultiSelectMode=function(){if(!this.inMultiSelectMode||this.inVirtualSelectionMode)return;this.multiSelect.toSingleRange()},this.getSelectedText=function(){var e="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var t=this.multiSelect.rangeList.ranges,n=[];for(var r=0;r0);u<0&&(u=0),f>=c&&(f=c-1)}var p=this.session.removeFullLines(u,f);p=this.$reAlignText(p,l),this.session.insert({row:u,column:0},p.join("\n")+"\n"),l||(o.start.column=0,o.end.column=p[p.length-1].length),this.selection.setRange(o)}else{s.forEach(function(e){t.substractPoint(e.cursor)});var d=0,v=Infinity,m=n.map(function(t){var n=t.cursor,r=e.getLine(n.row),i=r.substr(n.column).search(/\S/g);return i==-1&&(i=0),n.column>d&&(d=n.column),io?e.insert(r,a.stringRepeat(" ",s-o)):e.remove(new i(r.row,r.column,r.row,r.column-s+o)),t.start.column=t.end.column=d,t.start.row=t.end.row=r.row,t.cursor=t.end}),t.fromOrientedRange(n[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}},this.$reAlignText=function(e,t){function u(e){return a.stringRepeat(" ",e)}function f(e){return e[2]?u(i)+e[2]+u(s-e[2].length+o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function l(e){return e[2]?u(i+s-e[2].length)+e[2]+u(o," ")+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}function c(e){return e[2]?u(i)+e[2]+u(o)+e[4].replace(/^([=:])\s+/,"$1 "):e[0]}var n=!0,r=!0,i,s,o;return e.map(function(e){var t=e.match(/(\s*)(.*?)(\s*)([=:].*)/);return t?i==null?(i=t[1].length,s=t[2].length,o=t[3].length,t):(i+s+o!=t[1].length+t[2].length+t[3].length&&(r=!1),i!=t[1].length&&(n=!1),i>t[1].length&&(i=t[1].length),st[3].length&&(o=t[3].length),t):[e]}).map(t?f:n?r?l:f:c)}}).call(d.prototype),t.onSessionChange=function(e){var t=e.session;t&&!t.multiSelect&&(t.$selectionMarkers=[],t.selection.$initRangeList(),t.multiSelect=t.selection),this.multiSelect=t&&t.multiSelect;var n=e.oldSession;n&&(n.multiSelect.off("addRange",this.$onAddRange),n.multiSelect.off("removeRange",this.$onRemoveRange),n.multiSelect.off("multiSelect",this.$onMultiSelect),n.multiSelect.off("singleSelect",this.$onSingleSelect),n.multiSelect.lead.off("change",this.$checkMultiselectChange),n.multiSelect.anchor.off("change",this.$checkMultiselectChange)),t&&(t.multiSelect.on("addRange",this.$onAddRange),t.multiSelect.on("removeRange",this.$onRemoveRange),t.multiSelect.on("multiSelect",this.$onMultiSelect),t.multiSelect.on("singleSelect",this.$onSingleSelect),t.multiSelect.lead.on("change",this.$checkMultiselectChange),t.multiSelect.anchor.on("change",this.$checkMultiselectChange)),t&&this.inMultiSelectMode!=t.selection.inMultiSelectMode&&(t.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},t.MultiSelect=m,e("./config").defineOptions(d.prototype,"editor",{enableMultiselect:{set:function(e){m(this),e?(this.on("changeSession",this.$multiselectOnSessionChange),this.on("mousedown",o)):(this.off("changeSession",this.$multiselectOnSessionChange),this.off("mousedown",o))},value:!0},enableBlockSelect:{set:function(e){this.$blockSelectEnabled=e},value:!0}})}),define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../../range").Range,i=t.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);return this.foldingStartMarker.test(r)?"start":t=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(r)?"end":""},this.getFoldWidgetRange=function(e,t,n){return null},this.indentationBlock=function(e,t,n){var i=/\S/,s=e.getLine(t),o=s.search(i);if(o==-1)return;var u=n||s.length,a=e.getLength(),f=t,l=t;while(++tf){var h=e.getLine(l).length;return new r(f,u,l,h)}},this.openingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i+1},u=e.$findClosingBracket(t,o,s);if(!u)return;var a=e.foldWidgets[u.row];return a==null&&(a=e.getFoldWidget(u.row)),a=="start"&&u.row>o.row&&(u.row--,u.column=e.getLine(u.row).length),r.fromPoints(o,u)},this.closingBracketBlock=function(e,t,n,i,s){var o={row:n,column:i},u=e.$findOpeningBracket(t,o);if(!u)return;return u.column++,o.column--,r.fromPoints(u,o)}}).call(i.prototype)}),define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],function(e,t,n){"use strict";t.isDark=!1,t.cssClass="ace-tm",t.cssText='.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm {background-color: #FFFFFF;color: black;}.ace-tm .ace_cursor {color: black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;}.ace-tm .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}';var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)}),define("ace/line_widgets",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/range"],function(e,t,n){"use strict";function o(e){this.session=e,this.session.widgetManager=this,this.session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on("change",this.updateOnChange),this.session.on("changeFold",this.updateOnFold),this.session.on("changeEditor",this.$onChangeEditor)}var r=e("./lib/oop"),i=e("./lib/dom"),s=e("./range").Range;(function(){this.getRowLength=function(e){var t;return this.lineWidgets?t=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0:t=0,!this.$useWrapMode||!this.$wrapData[e]?1+t:this.$wrapData[e].length+1+t},this.$getWidgetScreenLength=function(){var e=0;return this.lineWidgets.forEach(function(t){t&&t.rowCount&&!t.hidden&&(e+=t.rowCount)}),e},this.$onChangeEditor=function(e){this.attach(e.editor)},this.attach=function(e){e&&e.widgetManager&&e.widgetManager!=this&&e.widgetManager.detach();if(this.editor==e)return;this.detach(),this.editor=e,e&&(e.widgetManager=this,e.renderer.on("beforeRender",this.measureWidgets),e.renderer.on("afterRender",this.renderWidgets))},this.detach=function(e){var t=this.editor;if(!t)return;this.editor=null,t.widgetManager=null,t.renderer.off("beforeRender",this.measureWidgets),t.renderer.off("afterRender",this.renderWidgets);var n=this.session.lineWidgets;n&&n.forEach(function(e){e&&e.el&&e.el.parentNode&&(e._inDocument=!1,e.el.parentNode.removeChild(e.el))})},this.updateOnFold=function(e,t){var n=t.lineWidgets;if(!n||!e.action)return;var r=e.data,i=r.start.row,s=r.end.row,o=e.action=="add";for(var u=i+1;u0&&!r[i])i--;this.firstRow=n.firstRow,this.lastRow=n.lastRow,t.$cursorLayer.config=n;for(var o=i;o<=s;o++){var u=r[o];if(!u||!u.el)continue;if(u.hidden){u.el.style.top=-100-(u.pixelHeight||0)+"px";continue}u._inDocument||(u._inDocument=!0,t.container.appendChild(u.el));var a=t.$cursorLayer.getPixelPosition({row:o,column:0},!0).top;u.coverLine||(a+=n.lineHeight*this.session.getRowLineCount(u.row)),u.el.style.top=a-n.offset+"px";var f=u.coverGutter?0:t.gutterWidth;u.fixedWidth||(f-=t.scrollLeft),u.el.style.left=f+"px",u.fullWidth&&u.screenWidth&&(u.el.style.minWidth=n.width+2*n.padding+"px"),u.fixedWidth?u.el.style.right=t.scrollBar.getWidth()+"px":u.el.style.right=""}}}).call(o.prototype),t.LineWidgets=o}),define("ace/ext/error_marker",["require","exports","module","ace/line_widgets","ace/lib/dom","ace/range"],function(e,t,n){"use strict";function o(e,t,n){var r=0,i=e.length-1;while(r<=i){var s=r+i>>1,o=n(t,e[s]);if(o>0)r=s+1;else{if(!(o<0))return s;i=s-1}}return-(r+1)}function u(e,t,n){var r=e.getAnnotations().sort(s.comparePoints);if(!r.length)return;var i=o(r,{row:t,column:-1},s.comparePoints);i<0&&(i=-i-1),i>=r.length?i=n>0?0:r.length-1:i===0&&n<0&&(i=r.length-1);var u=r[i];if(!u||!n)return;if(u.row===t){do u=r[i+=n];while(u&&u.row===t);if(!u)return r.slice()}var a=[];t=u.row;do a[n<0?"unshift":"push"](u),u=r[i+=n];while(u&&u.row==t);return a.length&&a}var r=e("../line_widgets").LineWidgets,i=e("../lib/dom"),s=e("../range").Range;t.showErrorMarker=function(e,t){var n=e.session;n.widgetManager||(n.widgetManager=new r(n),n.widgetManager.attach(e));var s=e.getCursorPosition(),o=s.row,a=n.widgetManager.getWidgetsAtRow(o).filter(function(e){return e.type=="errorMarker"})[0];a?a.destroy():o-=t;var f=u(n,o,t),l;if(f){var c=f[0];s.column=(c.pos&&typeof c.column!="number"?c.pos.sc:c.column)||0,s.row=c.row,l=e.renderer.$gutterLayer.$annotations[s.row]}else{if(a)return;l={text:["Looks good!"],className:"ace_ok"}}e.session.unfold(s.row),e.selection.moveToPosition(s);var h={row:s.row,fixedWidth:!0,coverGutter:!0,el:i.createElement("div"),type:"errorMarker"},p=h.el.appendChild(i.createElement("div")),d=h.el.appendChild(i.createElement("div"));d.className="error_widget_arrow "+l.className;var v=e.renderer.$cursorLayer.getPixelPosition(s).left;d.style.left=v+e.renderer.gutterWidth-5+"px",h.el.className="error_widget_wrapper",p.className="error_widget "+l.className,p.innerHTML=l.text.join("
"),p.appendChild(i.createElement("div"));var m=function(e,t,n){if(t===0&&(n==="esc"||n==="return"))return h.destroy(),{command:"null"}};h.destroy=function(){if(e.$mouseHandler.isMousePressed)return;e.keyBinding.removeKeyboardHandler(m),n.widgetManager.removeLineWidget(h),e.off("changeSelection",h.destroy),e.off("changeSession",h.destroy),e.off("mouseup",h.destroy),e.off("change",h.destroy)},e.keyBinding.addKeyboardHandler(m),e.on("changeSelection",h.destroy),e.on("changeSession",h.destroy),e.on("mouseup",h.destroy),e.on("change",h.destroy),e.session.widgetManager.addLineWidget(h),h.el.onmousedown=e.focus.bind(e),e.renderer.scrollCursorIntoView(null,.5,{bottom:h.el.offsetHeight})},i.importCssString(" .error_widget_wrapper { background: inherit; color: inherit; border:none } .error_widget { border-top: solid 2px; border-bottom: solid 2px; margin: 5px 0; padding: 10px 40px; white-space: pre-wrap; } .error_widget.ace_error, .error_widget_arrow.ace_error{ border-color: #ff5a5a } .error_widget.ace_warning, .error_widget_arrow.ace_warning{ border-color: #F1D817 } .error_widget.ace_info, .error_widget_arrow.ace_info{ border-color: #5a5a5a } .error_widget.ace_ok, .error_widget_arrow.ace_ok{ border-color: #5aaa5a } .error_widget_arrow { position: absolute; border: solid 5px; border-top-color: transparent!important; border-right-color: transparent!important; border-left-color: transparent!important; top: -5px; }","")}),define("ace/ace",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/dom","ace/lib/event","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config"],function(e,t,n){"use strict";e("./lib/fixoldbrowsers");var r=e("./lib/dom"),i=e("./lib/event"),s=e("./editor").Editor,o=e("./edit_session").EditSession,u=e("./undomanager").UndoManager,a=e("./virtual_renderer").VirtualRenderer;e("./worker/worker_client"),e("./keyboard/hash_handler"),e("./placeholder"),e("./multi_select"),e("./mode/folding/fold_mode"),e("./theme/textmate"),e("./ext/error_marker"),t.config=e("./config"),t.require=e,typeof define=="function"&&(t.define=define),t.edit=function(e){if(typeof e=="string"){var n=e;e=document.getElementById(n);if(!e)throw new Error("ace.edit can't find div #"+n)}if(e&&e.env&&e.env.editor instanceof s)return e.env.editor;var o="";if(e&&/input|textarea/i.test(e.tagName)){var u=e;o=u.value,e=r.createElement("pre"),u.parentNode.replaceChild(e,u)}else e&&(o=r.getInnerText(e),e.innerHTML="");var f=t.createEditSession(o),l=new s(new a(e));l.setSession(f);var c={document:f,editor:l,onResize:l.resize.bind(l,null)};return u&&(c.textarea=u),i.addListener(window,"resize",c.onResize),l.on("destroy",function(){i.removeListener(window,"resize",c.onResize),c.editor.container.env=null}),l.container.env=l.env=c,l},t.createEditSession=function(e,t){var n=new o(e,t);return n.setUndoManager(new u),n},t.EditSession=o,t.UndoManager=u,t.version="1.2.6"}); + (function() { + window.require(["ace/ace"], function(a) { + if (a) { + a.config.init(true); + a.define = window.define; + } + if (!window.ace) + window.ace = a; + for (var key in a) if (a.hasOwnProperty(key)) + window.ace[key] = a[key]; + }); + })(); + \ No newline at end of file diff --git a/examples/SmartSwitch/data_src/js_css_src/app.js b/examples/SmartSwitch/data_src/js_css_src/app.js new file mode 100644 index 0000000..46305f2 --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/app.js @@ -0,0 +1,5787 @@ +var tpick = { + attach: function (target) { + + var dig = document.getElementById(target).value.split(":"); + var t1 = dig[0] || "23"; + var t2 = dig[1] || "59"; + + var uniqueID = 0; + while (document.getElementById("tpick-" + uniqueID) != null) { + uniqueID = Math.floor(Math.random() * (100 - 2)) + 1; + } + var tw = document.createElement("div"); + tw.id = "tpick-" + uniqueID; + tw.classList.add("tpop"); + tw.dataset.target = target; + tw.addEventListener("click", function (evt) { + if (evt.target.classList.contains("tpop")) { + this.classList.remove("show"); + } + }); + var tp = document.createElement("div"); + tp.classList.add("tpicker"); + tp.appendChild(this.draw("h",t1)); + tp.appendChild(this.draw("m",t2)); + var bottom = document.createElement("div"), + ok = document.createElement("input"); + ok.setAttribute("type", "button"); + ok.value = "OK"; + ok.addEventListener("click", function () { + tpick.set(this); + }); + bottom.classList.add("tpicker-btn"); + bottom.appendChild(ok); + tp.appendChild(bottom); + tw.appendChild(tp); + document.body.appendChild(tw); + var target = document.getElementById(target); + target.dataset.dp = uniqueID; + target.onfocus = function () { + document.getElementById("tpick-" + this.dataset.dp).classList.add("show"); + }; + }, + draw: function (type,tv) { + var docket = document.createElement("div"), + up = document.createElement("div"), + down = document.createElement("div"), + text = document.createElement("input"); + docket.classList.add("tpicker-" + type); + up.classList.add("tpicker-up"); + down.classList.add("tpicker-down"); + up.innerHTML = "︿"; + down.innerHTML = "﹀"; + text.readOnly = true; + text.setAttribute("type", "text"); + if (type == "h") { + text.value = tv; + up.addEventListener("click", function () { + tpick.spin("h", 1, this); + }); + down.addEventListener("click", function () { + tpick.spin("h", 0, this); + }); + } else if (type == "m") { + text.value = tv; + up.addEventListener("click", function () { + tpick.spin("m", 1, this); + }); + down.addEventListener("click", function () { + tpick.spin("m", 0, this); + }); + } + docket.appendChild(up); + docket.appendChild(text); + docket.appendChild(down); + return docket; + }, + spin: function (type, direction, el) { + var parent = el.parentElement, + field = parent.getElementsByTagName("input")[0], + value = field.value; + if (type == "h") { + value = parseInt(value); + if (direction) { + value++; + } else { + value--; + } + if (value == -1) { + value = 23; + } else if (value > 23) { + value = 0; + } + } else if (type == "m") { + value = parseInt(value); + if (direction) { + value += 5; + } else { + value -= 5; + } + if (value < 0) { + value = 55; + } else if (value > 59) { + value = 0; + } + if (value < 10) { + value = "0" + value; + } + } + field.value = ('00' + value).substr(-2); + }, + set: function (el) { + var parent = el.parentElement; + while (parent.classList.contains("tpop") == false) { + parent = parent.parentElement; + } + var input = parent.querySelectorAll("input[type=text]"); + var time = input[0].value + ":" + input[1].value; + document.getElementById(parent.dataset.target).value = time; + parent.classList.remove("show"); + } +}; +var fpick = { + attach: function (target) { + + var dig = document.getElementById(target).value.split("."); + var t1 = dig[0] || "1"; + var t2 = dig[1] || "2"; + var uniqueID = 0; + while (document.getElementById("fpick-" + uniqueID) != null) { + uniqueID = Math.floor(Math.random() * (100 - 2)) + 1; + } + var tw = document.createElement("div"); + tw.id = "fpick-" + uniqueID; + tw.classList.add("tpop"); + tw.dataset.target = target; + tw.addEventListener("click", function (evt) { + if (evt.target.classList.contains("tpop")) { + this.classList.remove("show"); + } + }); + var tp = document.createElement("div"); + tp.classList.add("fpicker"); + tp.appendChild(this.draw("h",t1)); + tp.appendChild(this.draw("m",t2)); + var bottom = document.createElement("div"), + ok = document.createElement("input"); + ok.setAttribute("type", "button"); + ok.value = "OK"; + ok.addEventListener("click", function () { + fpick.set(this); + }); + bottom.classList.add("fpicker-btn"); + bottom.appendChild(ok); + tp.appendChild(bottom); + tw.appendChild(tp); + document.body.appendChild(tw); + var target = document.getElementById(target); + target.dataset.dp = uniqueID; + target.onfocus = function () { + document.getElementById("fpick-" + this.dataset.dp).classList.add("show"); + }; + }, + draw: function (type,tv) { + + var docket = document.createElement("div"), + up = document.createElement("div"), + down = document.createElement("div"), + text = document.createElement("input"); + docket.classList.add("fpicker-" + type); + up.classList.add("fpicker-up"); + down.classList.add("fpicker-down"); + up.innerHTML = "︿"; + down.innerHTML = "﹀"; + text.readOnly = true; + text.setAttribute("type", "text"); + if (type == "h") { + text.value = tv; + up.addEventListener("click", function () { + fpick.spin("h", 1, this); + }); + down.addEventListener("click", function () { + fpick.spin("h", 0, this); + }); + } else if (type == "m") { + text.value = tv; + up.addEventListener("click", function () { + fpick.spin("m", 1, this); + }); + down.addEventListener("click", function () { + fpick.spin("m", 0, this); + }); + } + docket.appendChild(up); + docket.appendChild(text); + docket.appendChild(down); + return docket; + }, + spin: function (type, direction, el) { + var parent = el.parentElement, + field = parent.getElementsByTagName("input")[0], + value = field.value; + if (type == "h") { + value = parseInt(value); + if (direction) { + value++; + } else { + value--; + } + if (value == -41) { + value = 99; + } else if (value > 99) { + value = -40; + } + } else if (type == "m") { + value = parseInt(value); + if (direction) { + value++; + } else { + value--; + } + if (value < 0) { + value = 9; + } else if (value > 9) { + value = 0; + } + } + field.value = value; + }, + set: function (el) { + var parent = el.parentElement; + while (parent.classList.contains("tpop") == false) { + parent = parent.parentElement; + } + var input = parent.querySelectorAll("input[type=text]"); + var temperature = input[0].value + "." + input[1].value; + document.getElementById(parent.dataset.target).value = temperature; + parent.classList.remove("show"); + } +}; +!function (t) { + function n(i) { + if (e[i]) + return e[i].exports; + var o = e[i] = { + i: i, + l: !1, + exports: {} + }; + return t[i].call(o.exports, o, o.exports, n), + o.l = !0, + o.exports + } + var e = {}; + n.m = t, + n.c = e, + n.d = function (t, e, i) { + n.o(t, e) || Object.defineProperty(t, e, { + configurable: !1, + enumerable: !0, + get: i + }) + }, + n.n = function (t) { + var e = t && t.__esModule ? function () { + return t.default + } + : function () { + return t + }; + return n.d(e, "a", e), + e + }, + n.o = function (t, n) { + return Object.prototype.hasOwnProperty.call(t, n) + }, + n.p = "", + n(n.s = 0) +} +([function (t, n, e) { + e(1), + t.exports = e(4) + }, function (t, n, e) { + "use strict"; + var i = Object.assign || function (t) { + for (var n = 1; n < arguments.length; n++) { + var e = arguments[n]; + for (var i in e) + Object.prototype.hasOwnProperty.call(e, i) && (t[i] = e[i]) + } + return t + }; + e(2); + var o = e(3); + !function (t) { + function n(t) { + return t = i({}, c, t), + function (t) { + return ["nfc-top-left", "nfc-top-right", "nfc-bottom-left", "nfc-bottom-right"].indexOf(t) > -1 + } + (t.positionClass) || (console.warn("An invalid notification position class has been specified."), t.positionClass = c.positionClass), + t.onclick && "function" != typeof t.onclick && (console.warn("Notification on click must be a function."), t.onclick = c.onclick), + "number" != typeof t.showDuration && (t.showDuration = c.showDuration), + (0, o.isString)(t.theme) && 0 !== t.theme.length || (console.warn("Notification theme must be a string with length"), t.theme = c.theme), + t + } + function e(t) { + return t = n(t), + function () { + var n = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, + e = n.title, + i = n.message, + c = r(t.positionClass); + if (!e && !i) + return console.warn("Notification must contain a title or a message!"); + var a = (0, o.createElement)("div", "ncf", t.theme); + if (!0 === t.closeOnClick && a.addEventListener("click", function () { + return c.removeChild(a) + }), t.onclick && a.addEventListener("click", function (n) { + return t.onclick(n) + }), t.displayCloseButton) { + var s = (0, o.createElement)("button"); + s.innerText = "X", + !1 === t.closeOnClick && s.addEventListener("click", function () { + return c.removeChild(a) + }), + (0, o.append)(a, s) + } + if ((0, o.isString)(e) && e.length && (0, o.append)(a, (0, o.createParagraph)("ncf-title")(e)), (0, o.isString)(i) && i.length && (0, o.append)(a, (0, o.createParagraph)("nfc-message")(i)), (0, o.append)(c, a), t.showDuration && t.showDuration > 0) { + var l = setTimeout(function () { + c.removeChild(a), + 0 === c.querySelectorAll(".ncf").length && document.body.removeChild(c) + }, t.showDuration); + (t.closeOnClick || t.displayCloseButton) && a.addEventListener("click", function () { + return clearTimeout(l) + }) + } + } + } + function r(t) { + var n = document.querySelector("." + t); + return n || (n = (0, o.createElement)("div", "ncf-container", t), (0, o.append)(document.body, n)), + n + } + var c = { + closeOnClick: !0, + displayCloseButton: !1, + positionClass: "nfc-top-right", + onclick: !1, + showDuration: 3500, + theme: "success" + }; + t.createNotification ? console.warn("Window already contains a create notification function. Have you included the script twice?") : t.createNotification = e + } + (window) + }, function (t, n, e) { + "use strict"; + !function () { + function t(t) { + this.el = t; + for (var n = t.className.replace(/^\s+|\s+$/g, "").split(/\s+/), i = 0; i < n.length; i++) + e.call(this, n[i]) + } + if (!(void 0 === window.Element || "classList" in document.documentElement)) { + var n = Array.prototype, + e = n.push, + i = n.splice, + o = n.join; + t.prototype = { + add: function (t) { + this.contains(t) || (e.call(this, t), this.el.className = this.toString()) + }, + contains: function (t) { + return -1 != this.el.className.indexOf(t) + }, + item: function (t) { + return this[t] || null + }, + remove: function (t) { + if (this.contains(t)) { + for (var n = 0; n < this.length && this[n] != t; n++); + i.call(this, n, 1), + this.el.className = this.toString() + } + }, + toString: function () { + return o.call(this, " ") + }, + toggle: function (t) { + return this.contains(t) ? this.remove(t) : this.add(t), + this.contains(t) + } + }, + window.DOMTokenList = t, + function (t, n, e) { + Object.defineProperty ? Object.defineProperty(t, n, { + get: e + }) : t.__defineGetter__(n, e) + } + (Element.prototype, "classList", function () { + return new t(this) + }) + } + } + () + }, function (t, n, e) { + "use strict"; + Object.defineProperty(n, "__esModule", { + value: !0 + }); + var i = n.partial = function (t) { + for (var n = arguments.length, e = Array(n > 1 ? n - 1 : 0), i = 1; i < n; i++) + e[i - 1] = arguments[i]; + return function () { + for (var n = arguments.length, i = Array(n), o = 0; o < n; o++) + i[o] = arguments[o]; + return t.apply(void 0, e.concat(i)) + } + }, + o = (n.append = function (t) { + for (var n = arguments.length, e = Array(n > 1 ? n - 1 : 0), i = 1; i < n; i++) + e[i - 1] = arguments[i]; + return e.forEach(function (n) { + return t.appendChild(n) + }) + }, n.isString = function (t) { + return "string" == typeof t + }, n.createElement = function (t) { + for (var n = arguments.length, e = Array(n > 1 ? n - 1 : 0), i = 1; i < n; i++) + e[i - 1] = arguments[i]; + var o = document.createElement(t); + return e.length && e.forEach(function (t) { + return o.classList.add(t) + }), + o + }), + r = function (t, n) { + return t.innerText = n, + t + }, + c = function (t) { + for (var n = arguments.length, e = Array(n > 1 ? n - 1 : 0), c = 1; c < n; c++) + e[c - 1] = arguments[c]; + return i(r, o.apply(void 0, [t].concat(e))) + }; + n.createParagraph = function () { + for (var t = arguments.length, n = Array(t), e = 0; e < t; e++) + n[e] = arguments[e]; + return c.apply(void 0, ["p"].concat(n)) + } + }, function (t, n) {} + ]); +!function (a, b) { + "function" == typeof define && define.amd ? define("eve", function () { + return b() + }) : "object" == typeof exports ? module.exports = b() : a.eve = b() +} +(this, function () { + var a, + b, + c = "0.4.2", + d = "hasOwnProperty", + e = /[\.\/]/, + f = "*", + g = function () {}, + h = function (a, b) { + return a - b + }, + i = { + n: {} + }, + j = function (c, d) { + c = String(c); + var e, + f = b, + g = Array.prototype.slice.call(arguments, 2), + i = j.listeners(c), + k = 0, + l = [], + m = {}, + n = [], + o = a; + a = c, + b = 0; + for (var p = 0, q = i.length; q > p; p++) + "zIndex" in i[p] && (l.push(i[p].zIndex), i[p].zIndex < 0 && (m[i[p].zIndex] = i[p])); + for (l.sort(h); l[k] < 0; ) + if (e = m[l[k++]], n.push(e.apply(d, g)), b) + return b = f, n; + for (p = 0; q > p; p++) + if (e = i[p], "zIndex" in e) + if (e.zIndex == l[k]) { + if (n.push(e.apply(d, g)), b) + break; + do + if (k++, e = m[l[k]], e && n.push(e.apply(d, g)), b) + break; + while (e) + } else + m[e.zIndex] = e; + else if (n.push(e.apply(d, g)), b) + break; + return b = f, + a = o, + n.length ? n : null + }; + return j._events = i, + j.listeners = function (a) { + var b, + c, + d, + g, + h, + j, + k, + l, + m = a.split(e), + n = i, + o = [n], + p = []; + for (g = 0, h = m.length; h > g; g++) { + for (l = [], j = 0, k = o.length; k > j; j++) + for (n = o[j].n, c = [n[m[g]], n[f]], d = 2; d--; ) + b = c[d], b && (l.push(b), p = p.concat(b.f || [])); + o = l + } + return p + }, + j.on = function (a, b) { + if (a = String(a), "function" != typeof b) + return function () {}; + for (var c = a.split(e), d = i, f = 0, h = c.length; h > f; f++) + d = d.n, d = d.hasOwnProperty(c[f]) && d[c[f]] || (d[c[f]] = { + n: {} + }); + for (d.f = d.f || [], f = 0, h = d.f.length; h > f; f++) + if (d.f[f] == b) + return g; + return d.f.push(b), + function (a) { + +a == +a && (b.zIndex = +a) + } + }, + j.f = function (a) { + var b = [].slice.call(arguments, 1); + return function () { + j.apply(null, [a, null].concat(b).concat([].slice.call(arguments, 0))) + } + }, + j.stop = function () { + b = 1 + }, + j.nt = function (b) { + return b ? new RegExp("(?:\\.|\\/|^)" + b + "(?:\\.|\\/|$)").test(a) : a + }, + j.nts = function () { + return a.split(e) + }, + j.off = j.unbind = function (a, b) { + if (!a) + return void(j._events = i = { + n: {} + }); + var c, + g, + h, + k, + l, + m, + n, + o = a.split(e), + p = [i]; + for (k = 0, l = o.length; l > k; k++) + for (m = 0; m < p.length; m += h.length - 2) { + if (h = [m, 1], c = p[m].n, o[k] != f) + c[o[k]] && h.push(c[o[k]]); + else + for (g in c) + c[d](g) && h.push(c[g]); + p.splice.apply(p, h) + } + for (k = 0, l = p.length; l > k; k++) + for (c = p[k]; c.n; ) { + if (b) { + if (c.f) { + for (m = 0, n = c.f.length; n > m; m++) + if (c.f[m] == b) { + c.f.splice(m, 1); + break + } + !c.f.length && delete c.f + } + for (g in c.n) + if (c.n[d](g) && c.n[g].f) { + var q = c.n[g].f; + for (m = 0, n = q.length; n > m; m++) + if (q[m] == b) { + q.splice(m, 1); + break + } + !q.length && delete c.n[g].f + } + } else { + delete c.f; + for (g in c.n) + c.n[d](g) && c.n[g].f && delete c.n[g].f + } + c = c.n + } + }, + j.once = function (a, b) { + var c = function () { + return j.unbind(a, c), + b.apply(this, arguments) + }; + return j.on(a, c) + }, + j.version = c, + j.toString = function () { + return "You are running Eve " + c + }, + j +}), function (a, b) { + "function" == typeof define && define.amd ? define("raphael.core", ["eve"], function (a) { + return b(a) + }) : "object" == typeof exports ? module.exports = b(require("eve")) : a.Raphael = b(a.eve) +} +(this, function (a) { + function b(c) { + if (b.is(c, "function")) + return t ? c() : a.on("raphael.DOMload", c); + if (b.is(c, U)) + return b._engine.create[C](b, c.splice(0, 3 + b.is(c[0], S))).add(c); + var d = Array.prototype.slice.call(arguments, 0); + if (b.is(d[d.length - 1], "function")) { + var e = d.pop(); + return t ? e.call(b._engine.create[C](b, d)) : a.on("raphael.DOMload", function () { + e.call(b._engine.create[C](b, d)) + }) + } + return b._engine.create[C](b, arguments) + } + function c(a) { + if ("function" == typeof a || Object(a) !== a) + return a; + var b = new a.constructor; + for (var d in a) + a[y](d) && (b[d] = c(a[d])); + return b + } + function d(a, b) { + for (var c = 0, d = a.length; d > c; c++) + if (a[c] === b) + return a.push(a.splice(c, 1)[0]) + } + function e(a, b, c) { + function e() { + var f = Array.prototype.slice.call(arguments, 0), + g = f.join("␀"), + h = e.cache = e.cache || {}, + i = e.count = e.count || []; + return h[y](g) ? (d(i, g), c ? c(h[g]) : h[g]) : (i.length >= 1e3 && delete h[i.shift()], i.push(g), h[g] = a[C](b, f), c ? c(h[g]) : h[g]) + } + return e + } + function f() { + return this.hex + } + function g(a, b) { + for (var c = [], d = 0, e = a.length; e - 2 * !b > d; d += 2) { + var f = [{ + x: +a[d - 2], + y: +a[d - 1] + }, { + x: +a[d], + y: +a[d + 1] + }, { + x: +a[d + 2], + y: +a[d + 3] + }, { + x: +a[d + 4], + y: +a[d + 5] + } + ]; + b ? d ? e - 4 == d ? f[3] = { + x: +a[0], + y: +a[1] + } + : e - 2 == d && (f[2] = { + x: +a[0], + y: +a[1] + }, f[3] = { + x: +a[2], + y: +a[3] + }) : f[0] = { + x: +a[e - 2], + y: +a[e - 1] + } + : e - 4 == d ? f[3] = f[2] : d || (f[0] = { + x: +a[d], + y: +a[d + 1] + }), + c.push(["C", (-f[0].x + 6 * f[1].x + f[2].x) / 6, (-f[0].y + 6 * f[1].y + f[2].y) / 6, (f[1].x + 6 * f[2].x - f[3].x) / 6, (f[1].y + 6 * f[2].y - f[3].y) / 6, f[2].x, f[2].y]) + } + return c + } + function h(a, b, c, d, e) { + var f = -3 * b + 9 * c - 9 * d + 3 * e, + g = a * f + 6 * b - 12 * c + 6 * d; + return a * g - 3 * b + 3 * c + } + function i(a, b, c, d, e, f, g, i, j) { + null == j && (j = 1), + j = j > 1 ? 1 : 0 > j ? 0 : j; + for (var k = j / 2, l = 12, m = [ - .1252, .1252, - .3678, .3678, - .5873, .5873, - .7699, .7699, - .9041, .9041, - .9816, .9816], n = [.2491, .2491, .2335, .2335, .2032, .2032, .1601, .1601, .1069, .1069, .0472, .0472], o = 0, p = 0; l > p; p++) { + var q = k * m[p] + k, + r = h(q, a, c, e, g), + s = h(q, b, d, f, i), + t = r * r + s * s; + o += n[p] * M.sqrt(t) + } + return k * o + } + function j(a, b, c, d, e, f, g, h, j) { + if (!(0 > j || i(a, b, c, d, e, f, g, h) < j)) { + var k, + l = 1, + m = l / 2, + n = l - m, + o = .01; + for (k = i(a, b, c, d, e, f, g, h, n); P(k - j) > o; ) + m /= 2, n += (j > k ? 1 : -1) * m, k = i(a, b, c, d, e, f, g, h, n); + return n + } + } + function k(a, b, c, d, e, f, g, h) { + if (!(N(a, c) < O(e, g) || O(a, c) > N(e, g) || N(b, d) < O(f, h) || O(b, d) > N(f, h))) { + var i = (a * d - b * c) * (e - g) - (a - c) * (e * h - f * g), + j = (a * d - b * c) * (f - h) - (b - d) * (e * h - f * g), + k = (a - c) * (f - h) - (b - d) * (e - g); + if (k) { + var l = i / k, + m = j / k, + n = +l.toFixed(2), + o = +m.toFixed(2); + if (!(n < +O(a, c).toFixed(2) || n > +N(a, c).toFixed(2) || n < +O(e, g).toFixed(2) || n > +N(e, g).toFixed(2) || o < +O(b, d).toFixed(2) || o > +N(b, d).toFixed(2) || o < +O(f, h).toFixed(2) || o > +N(f, h).toFixed(2))) + return { + x: l, + y: m + } + } + } + } + function l(a, c, d) { + var e = b.bezierBBox(a), + f = b.bezierBBox(c); + if (!b.isBBoxIntersect(e, f)) + return d ? 0 : []; + for (var g = i.apply(0, a), h = i.apply(0, c), j = N(~~(g / 5), 1), l = N(~~(h / 5), 1), m = [], n = [], o = {}, p = d ? 0 : [], q = 0; j + 1 > q; q++) { + var r = b.findDotsAtSegment.apply(b, a.concat(q / j)); + m.push({ + x: r.x, + y: r.y, + t: q / j + }) + } + for (q = 0; l + 1 > q; q++) + r = b.findDotsAtSegment.apply(b, c.concat(q / l)), n.push({ + x: r.x, + y: r.y, + t: q / l + }); + for (q = 0; j > q; q++) + for (var s = 0; l > s; s++) { + var t = m[q], + u = m[q + 1], + v = n[s], + w = n[s + 1], + x = P(u.x - t.x) < .001 ? "y" : "x", + y = P(w.x - v.x) < .001 ? "y" : "x", + z = k(t.x, t.y, u.x, u.y, v.x, v.y, w.x, w.y); + if (z) { + if (o[z.x.toFixed(4)] == z.y.toFixed(4)) + continue; + o[z.x.toFixed(4)] = z.y.toFixed(4); + var A = t.t + P((z[x] - t[x]) / (u[x] - t[x])) * (u.t - t.t), + B = v.t + P((z[y] - v[y]) / (w[y] - v[y])) * (w.t - v.t); + A >= 0 && 1.001 >= A && B >= 0 && 1.001 >= B && (d ? p++ : p.push({ + x: z.x, + y: z.y, + t1: O(A, 1), + t2: O(B, 1) + })) + } + } + return p + } + function m(a, c, d) { + a = b._path2curve(a), + c = b._path2curve(c); + for (var e, f, g, h, i, j, k, m, n, o, p = d ? 0 : [], q = 0, r = a.length; r > q; q++) { + var s = a[q]; + if ("M" == s[0]) + e = i = s[1], f = j = s[2]; + else { + "C" == s[0] ? (n = [e, f].concat(s.slice(1)), e = n[6], f = n[7]) : (n = [e, f, e, f, i, j, i, j], e = i, f = j); + for (var t = 0, u = c.length; u > t; t++) { + var v = c[t]; + if ("M" == v[0]) + g = k = v[1], h = m = v[2]; + else { + "C" == v[0] ? (o = [g, h].concat(v.slice(1)), g = o[6], h = o[7]) : (o = [g, h, g, h, k, m, k, m], g = k, h = m); + var w = l(n, o, d); + if (d) + p += w; + else { + for (var x = 0, y = w.length; y > x; x++) + w[x].segment1 = q, w[x].segment2 = t, w[x].bez1 = n, w[x].bez2 = o; + p = p.concat(w) + } + } + } + } + } + return p + } + function n(a, b, c, d, e, f) { + null != a ? (this.a = +a, this.b = +b, this.c = +c, this.d = +d, this.e = +e, this.f = +f) : (this.a = 1, this.b = 0, this.c = 0, this.d = 1, this.e = 0, this.f = 0) + } + function o() { + return this.x + G + this.y + G + this.width + " × " + this.height + } + function p(a, b, c, d, e, f) { + function g(a) { + return ((l * a + k) * a + j) * a + } + function h(a, b) { + var c = i(a, b); + return ((o * c + n) * c + m) * c + } + function i(a, b) { + var c, + d, + e, + f, + h, + i; + for (e = a, i = 0; 8 > i; i++) { + if (f = g(e) - a, P(f) < b) + return e; + if (h = (3 * l * e + 2 * k) * e + j, P(h) < 1e-6) + break; + e -= f / h + } + if (c = 0, d = 1, e = a, c > e) + return c; + if (e > d) + return d; + for (; d > c; ) { + if (f = g(e), P(f - a) < b) + return e; + a > f ? c = e : d = e, + e = (d - c) / 2 + c + } + return e + } + var j = 3 * b, + k = 3 * (d - b) - j, + l = 1 - j - k, + m = 3 * c, + n = 3 * (e - c) - m, + o = 1 - m - n; + return h(a, 1 / (200 * f)) + } + function q(a, b) { + var c = [], + d = {}; + if (this.ms = b, this.times = 1, a) { + for (var e in a) + a[y](e) && (d[$(e)] = a[e], c.push($(e))); + c.sort(ka) + } + this.anim = d, + this.top = c[c.length - 1], + this.percents = c + } + function r(c, d, e, f, g, h) { + e = $(e); + var i, + j, + k, + l, + m, + o, + q = c.ms, + r = {}, + s = {}, + t = {}; + if (f) + for (w = 0, x = fb.length; x > w; w++) { + var u = fb[w]; + if (u.el.id == d.id && u.anim == c) { + u.percent != e ? (fb.splice(w, 1), k = 1) : j = u, + d.attr(u.totalOrigin); + break + } + } + else + f = +s; + for (var w = 0, x = c.percents.length; x > w; w++) { + if (c.percents[w] == e || c.percents[w] > f * c.top) { + e = c.percents[w], + m = c.percents[w - 1] || 0, + q = q / c.top * (e - m), + l = c.percents[w + 1], + i = c.anim[e]; + break + } + f && d.attr(c.anim[c.percents[w]]) + } + if (i) { + if (j) + j.initstatus = f, j.start = new Date - j.ms * f; + else { + for (var z in i) + if (i[y](z) && (ca[y](z) || d.paper.customAttributes[y](z))) + switch (r[z] = d.attr(z), null == r[z] && (r[z] = ba[z]), s[z] = i[z], ca[z]) { + case S: + t[z] = (s[z] - r[z]) / q; + break; + case "colour": + r[z] = b.getRGB(r[z]); + var A = b.getRGB(s[z]); + t[z] = { + r: (A.r - r[z].r) / q, + g: (A.g - r[z].g) / q, + b: (A.b - r[z].b) / q + }; + break; + case "path": + var B = Ia(r[z], s[z]), + C = B[1]; + for (r[z] = B[0], t[z] = [], w = 0, x = r[z].length; x > w; w++) { + t[z][w] = [0]; + for (var E = 1, F = r[z][w].length; F > E; E++) + t[z][w][E] = (C[w][E] - r[z][w][E]) / q + } + break; + case "transform": + var G = d._, + J = Na(G[z], s[z]); + if (J) + for (r[z] = J.from, s[z] = J.to, t[z] = [], t[z].real = !0, w = 0, x = r[z].length; x > w; w++) + for (t[z][w] = [r[z][w][0]], E = 1, F = r[z][w].length; F > E; E++) + t[z][w][E] = (s[z][w][E] - r[z][w][E]) / q; + else { + var K = d.matrix || new n, + L = { + _: { + transform: G.transform + }, + getBBox: function () { + return d.getBBox(1) + } + }; + r[z] = [K.a, K.b, K.c, K.d, K.e, K.f], + La(L, s[z]), + s[z] = L._.transform, + t[z] = [(L.matrix.a - K.a) / q, (L.matrix.b - K.b) / q, (L.matrix.c - K.c) / q, (L.matrix.d - K.d) / q, (L.matrix.e - K.e) / q, (L.matrix.f - K.f) / q] + } + break; + case "csv": + var M = H(i[z])[I](v), + N = H(r[z])[I](v); + if ("clip-rect" == z) + for (r[z] = N, t[z] = [], w = N.length; w--; ) + t[z][w] = (M[w] - r[z][w]) / q; + s[z] = M; + break; + default: + for (M = [][D](i[z]), N = [][D](r[z]), t[z] = [], w = d.paper.customAttributes[z].length; w--; ) + t[z][w] = ((M[w] || 0) - (N[w] || 0)) / q + } + var O = i.easing, + P = b.easing_formulas[O]; + if (!P) + if (P = H(O).match(Y), P && 5 == P.length) { + var Q = P; + P = function (a) { + return p(a, +Q[1], +Q[2], +Q[3], +Q[4], q) + } + } else + P = la; + if (o = i.start || c.start || +new Date, u = { + anim: c, + percent: e, + timestamp: o, + start: o + (c.del || 0), + status: 0, + initstatus: f || 0, + stop: !1, + ms: q, + easing: P, + from: r, + diff: t, + to: s, + el: d, + callback: i.callback, + prev: m, + next: l, + repeat: h || c.times, + origin: d.attr(), + totalOrigin: g + }, fb.push(u), f && !j && !k && (u.stop = !0, u.start = new Date - q * f, 1 == fb.length)) + return hb(); + k && (u.start = new Date - u.ms * f), + 1 == fb.length && gb(hb) + } + a("raphael.anim.start." + d.id, d, c) + } + } + function s(a) { + for (var b = 0; b < fb.length; b++) + fb[b].el.paper == a && fb.splice(b--, 1) + } + b.version = "2.1.4", + b.eve = a; + var t, + u, + v = /[, ]+/, + w = { + circle: 1, + rect: 1, + path: 1, + ellipse: 1, + text: 1, + image: 1 + }, + x = /\{(\d+)\}/g, + y = "hasOwnProperty", + z = { + doc: document, + win: window + }, + A = { + was: Object.prototype[y].call(z.win, "Raphael"), + is: z.win.Raphael + }, + B = function () { + this.ca = this.customAttributes = {} + }, + C = "apply", + D = "concat", + E = "ontouchstart" in z.win || z.win.DocumentTouch && z.doc instanceof DocumentTouch, + F = "", + G = " ", + H = String, + I = "split", + J = "click dblclick mousedown mousemove mouseout mouseover mouseup touchstart touchmove touchend touchcancel"[I](G), + K = { + mousedown: "touchstart", + mousemove: "touchmove", + mouseup: "touchend" + }, + L = H.prototype.toLowerCase, + M = Math, + N = M.max, + O = M.min, + P = M.abs, + Q = M.pow, + R = M.PI, + S = "number", + T = "string", + U = "array", + V = Object.prototype.toString, + W = (b._ISURL = /^url\(['"]?(.+?)['"]?\)$/i, /^\s*((#[a-f\d]{6})|(#[a-f\d]{3})|rgba?\(\s*([\d\.]+%?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+%?(?:\s*,\s*[\d\.]+%?)?)\s*\)|hsba?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?)%?\s*\)|hsla?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?)%?\s*\))\s*$/i), + X = { + NaN: 1, + Infinity: 1, + "-Infinity": 1 + }, + Y = /^(?:cubic-)?bezier\(([^,]+),([^,]+),([^,]+),([^\)]+)\)/, + Z = M.round, + $ = parseFloat, + _ = parseInt, + aa = H.prototype.toUpperCase, + ba = b._availableAttrs = { + "arrow-end": "none", + "arrow-start": "none", + blur: 0, + "clip-rect": "0 0 1e9 1e9", + cursor: "default", + cx: 0, + cy: 0, + fill: "#fff", + "fill-opacity": 1, + font: '10px "Arial"', + "font-family": '"Arial"', + "font-size": "10", + "font-style": "normal", + "font-weight": 400, + gradient: 0, + height: 0, + href: "http://raphaeljs.com/", + "letter-spacing": 0, + opacity: 1, + path: "M0,0", + r: 0, + rx: 0, + ry: 0, + src: "", + stroke: "#000", + "stroke-dasharray": "", + "stroke-linecap": "butt", + "stroke-linejoin": "butt", + "stroke-miterlimit": 0, + "stroke-opacity": 1, + "stroke-width": 1, + target: "_blank", + "text-anchor": "middle", + title: "Raphael", + transform: "", + width: 0, + x: 0, + y: 0 + }, + ca = b._availableAnimAttrs = { + blur: S, + "clip-rect": "csv", + cx: S, + cy: S, + fill: "colour", + "fill-opacity": S, + "font-size": S, + height: S, + opacity: S, + path: "path", + r: S, + rx: S, + ry: S, + stroke: "colour", + "stroke-opacity": S, + "stroke-width": S, + transform: "transform", + width: S, + x: S, + y: S + }, + da = /[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*/, + ea = { + hs: 1, + rg: 1 + }, + fa = /,?([achlmqrstvxz]),?/gi, + ga = /([achlmrqstvz])[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029,]*((-?\d*\.?\d*(?:e[\-+]?\d+)?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*)+)/gi, + ha = /([rstm])[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029,]*((-?\d*\.?\d*(?:e[\-+]?\d+)?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*)+)/gi, + ia = /(-?\d*\.?\d*(?:e[\-+]?\d+)?)[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*/gi, + ja = (b._radial_gradient = /^r(?:\(([^,]+?)[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*([^\)]+?)\))?/, {}), + ka = function (a, b) { + return $(a) - $(b) + }, + la = function (a) { + return a + }, + ma = b._rectPath = function (a, b, c, d, e) { + return e ? [["M", a + e, b], ["l", c - 2 * e, 0], ["a", e, e, 0, 0, 1, e, e], ["l", 0, d - 2 * e], ["a", e, e, 0, 0, 1, -e, e], ["l", 2 * e - c, 0], ["a", e, e, 0, 0, 1, -e, -e], ["l", 0, 2 * e - d], ["a", e, e, 0, 0, 1, e, -e], ["z"]] : [["M", a, b], ["l", c, 0], ["l", 0, d], ["l", -c, 0], ["z"]] + }, + na = function (a, b, c, d) { + return null == d && (d = c), + [["M", a, b], ["m", 0, -d], ["a", c, d, 0, 1, 1, 0, 2 * d], ["a", c, d, 0, 1, 1, 0, -2 * d], ["z"]] + }, + oa = b._getPath = { + path: function (a) { + return a.attr("path") + }, + circle: function (a) { + var b = a.attrs; + return na(b.cx, b.cy, b.r) + }, + ellipse: function (a) { + var b = a.attrs; + return na(b.cx, b.cy, b.rx, b.ry) + }, + rect: function (a) { + var b = a.attrs; + return ma(b.x, b.y, b.width, b.height, b.r) + }, + image: function (a) { + var b = a.attrs; + return ma(b.x, b.y, b.width, b.height) + }, + text: function (a) { + var b = a._getBBox(); + return ma(b.x, b.y, b.width, b.height) + }, + set: function (a) { + var b = a._getBBox(); + return ma(b.x, b.y, b.width, b.height) + } + }, + pa = b.mapPath = function (a, b) { + if (!b) + return a; + var c, + d, + e, + f, + g, + h, + i; + for (a = Ia(a), e = 0, g = a.length; g > e; e++) + for (i = a[e], f = 1, h = i.length; h > f; f += 2) + c = b.x(i[f], i[f + 1]), d = b.y(i[f], i[f + 1]), i[f] = c, i[f + 1] = d; + return a + }; + if (b._g = z, b.type = z.win.SVGAngle || z.doc.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure", "1.1") ? "SVG" : "VML", "VML" == b.type) { + var qa, + ra = z.doc.createElement("div"); + if (ra.innerHTML = '', qa = ra.firstChild, qa.style.behavior = "url(#default#VML)", !qa || "object" != typeof qa.adj) + return b.type = F; + ra = null + } + b.svg = !(b.vml = "VML" == b.type), + b._Paper = B, + b.fn = u = B.prototype = b.prototype, + b._id = 0, + b._oid = 0, + b.is = function (a, b) { + return b = L.call(b), + "finite" == b ? !X[y](+a) : "array" == b ? a instanceof Array : "null" == b && null === a || b == typeof a && null !== a || "object" == b && a === Object(a) || "array" == b && Array.isArray && Array.isArray(a) || V.call(a).slice(8, -1).toLowerCase() == b + }, + b.angle = function (a, c, d, e, f, g) { + if (null == f) { + var h = a - d, + i = c - e; + return h || i ? (180 + 180 * M.atan2(-i, -h) / R + 360) % 360 : 0 + } + return b.angle(a, c, f, g) - b.angle(d, e, f, g) + }, + b.rad = function (a) { + return a % 360 * R / 180 + }, + b.deg = function (a) { + return Math.round(180 * a / R % 360 * 1e3) / 1e3 + }, + b.snapTo = function (a, c, d) { + if (d = b.is(d, "finite") ? d : 10, b.is(a, U)) { + for (var e = a.length; e--; ) + if (P(a[e] - c) <= d) + return a[e] + } else { + a = +a; + var f = c % a; + if (d > f) + return c - f; + if (f > a - d) + return c - f + a + } + return c + }; + b.createUUID = function (a, b) { + return function () { + return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(a, b).toUpperCase() + } + } + (/[xy]/g, function (a) { + var b = 16 * M.random() | 0, + c = "x" == a ? b : 3 & b | 8; + return c.toString(16) + }); + b.setWindow = function (c) { + a("raphael.setWindow", b, z.win, c), + z.win = c, + z.doc = z.win.document, + b._engine.initWin && b._engine.initWin(z.win) + }; + var sa = function (a) { + if (b.vml) { + var c, + d = /^\s+|\s+$/g; + try { + var f = new ActiveXObject("htmlfile"); + f.write(""), + f.close(), + c = f.body + } catch (g) { + c = createPopup().document.body + } + var h = c.createTextRange(); + sa = e(function (a) { + try { + c.style.color = H(a).replace(d, F); + var b = h.queryCommandValue("ForeColor"); + return b = (255 & b) << 16 | 65280 & b | (16711680 & b) >>> 16, + "#" + ("000000" + b.toString(16)).slice(-6) + } catch (e) { + return "none" + } + }) + } else { + var i = z.doc.createElement("i"); + i.title = "Raphaël Colour Picker", + i.style.display = "none", + z.doc.body.appendChild(i), + sa = e(function (a) { + return i.style.color = a, + z.doc.defaultView.getComputedStyle(i, F).getPropertyValue("color") + }) + } + return sa(a) + }, + ta = function () { + return "hsb(" + [this.h, this.s, this.b] + ")" + }, + ua = function () { + return "hsl(" + [this.h, this.s, this.l] + ")" + }, + va = function () { + return this.hex + }, + wa = function (a, c, d) { + if (null == c && b.is(a, "object") && "r" in a && "g" in a && "b" in a && (d = a.b, c = a.g, a = a.r), null == c && b.is(a, T)) { + var e = b.getRGB(a); + a = e.r, + c = e.g, + d = e.b + } + return (a > 1 || c > 1 || d > 1) && (a /= 255, c /= 255, d /= 255), + [a, c, d] + }, + xa = function (a, c, d, e) { + a *= 255, + c *= 255, + d *= 255; + var f = { + r: a, + g: c, + b: d, + hex: b.rgb(a, c, d), + toString: va + }; + return b.is(e, "finite") && (f.opacity = e), + f + }; + b.color = function (a) { + var c; + return b.is(a, "object") && "h" in a && "s" in a && "b" in a ? (c = b.hsb2rgb(a), a.r = c.r, a.g = c.g, a.b = c.b, a.hex = c.hex) : b.is(a, "object") && "h" in a && "s" in a && "l" in a ? (c = b.hsl2rgb(a), a.r = c.r, a.g = c.g, a.b = c.b, a.hex = c.hex) : (b.is(a, "string") && (a = b.getRGB(a)), b.is(a, "object") && "r" in a && "g" in a && "b" in a ? (c = b.rgb2hsl(a), a.h = c.h, a.s = c.s, a.l = c.l, c = b.rgb2hsb(a), a.v = c.b) : (a = { + hex: "none" + }, a.r = a.g = a.b = a.h = a.s = a.v = a.l = -1)), + a.toString = va, + a + }, + b.hsb2rgb = function (a, b, c, d) { + this.is(a, "object") && "h" in a && "s" in a && "b" in a && (c = a.b, b = a.s, d = a.o, a = a.h), + a *= 360; + var e, + f, + g, + h, + i; + return a = a % 360 / 60, + i = c * b, + h = i * (1 - P(a % 2 - 1)), + e = f = g = c - i, + a = ~~a, + e += [i, h, 0, 0, h, i][a], + f += [h, i, i, h, 0, 0][a], + g += [0, 0, h, i, i, h][a], + xa(e, f, g, d) + }, + b.hsl2rgb = function (a, b, c, d) { + this.is(a, "object") && "h" in a && "s" in a && "l" in a && (c = a.l, b = a.s, a = a.h), + (a > 1 || b > 1 || c > 1) && (a /= 360, b /= 100, c /= 100), + a *= 360; + var e, + f, + g, + h, + i; + return a = a % 360 / 60, + i = 2 * b * (.5 > c ? c : 1 - c), + h = i * (1 - P(a % 2 - 1)), + e = f = g = c - i / 2, + a = ~~a, + e += [i, h, 0, 0, h, i][a], + f += [h, i, i, h, 0, 0][a], + g += [0, 0, h, i, i, h][a], + xa(e, f, g, d) + }, + b.rgb2hsb = function (a, b, c) { + c = wa(a, b, c), + a = c[0], + b = c[1], + c = c[2]; + var d, + e, + f, + g; + return f = N(a, b, c), + g = f - O(a, b, c), + d = 0 == g ? null : f == a ? (b - c) / g : f == b ? (c - a) / g + 2 : (a - b) / g + 4, + d = (d + 360) % 6 * 60 / 360, + e = 0 == g ? 0 : g / f, { + h: d, + s: e, + b: f, + toString: ta + } + }, + b.rgb2hsl = function (a, b, c) { + c = wa(a, b, c), + a = c[0], + b = c[1], + c = c[2]; + var d, + e, + f, + g, + h, + i; + return g = N(a, b, c), + h = O(a, b, c), + i = g - h, + d = 0 == i ? null : g == a ? (b - c) / i : g == b ? (c - a) / i + 2 : (a - b) / i + 4, + d = (d + 360) % 6 * 60 / 360, + f = (g + h) / 2, + e = 0 == i ? 0 : .5 > f ? i / (2 * f) : i / (2 - 2 * f), { + h: d, + s: e, + l: f, + toString: ua + } + }, + b._path2string = function () { + return this.join(",").replace(fa, "$1") + }; + b._preload = function (a, b) { + var c = z.doc.createElement("img"); + c.style.cssText = "position:absolute;left:-9999em;top:-9999em", + c.onload = function () { + b.call(this), + this.onload = null, + z.doc.body.removeChild(this) + }, + c.onerror = function () { + z.doc.body.removeChild(this) + }, + z.doc.body.appendChild(c), + c.src = a + }; + b.getRGB = e(function (a) { + if (!a || (a = H(a)).indexOf("-") + 1) + return { + r: -1, + g: -1, + b: -1, + hex: "none", + error: 1, + toString: f + }; + if ("none" == a) + return { + r: -1, + g: -1, + b: -1, + hex: "none", + toString: f + }; + !(ea[y](a.toLowerCase().substring(0, 2)) || "#" == a.charAt()) && (a = sa(a)); + var c, + d, + e, + g, + h, + i, + j = a.match(W); + return j ? (j[2] && (e = _(j[2].substring(5), 16), d = _(j[2].substring(3, 5), 16), c = _(j[2].substring(1, 3), 16)), j[3] && (e = _((h = j[3].charAt(3)) + h, 16), d = _((h = j[3].charAt(2)) + h, 16), c = _((h = j[3].charAt(1)) + h, 16)), j[4] && (i = j[4][I](da), c = $(i[0]), "%" == i[0].slice(-1) && (c *= 2.55), d = $(i[1]), "%" == i[1].slice(-1) && (d *= 2.55), e = $(i[2]), "%" == i[2].slice(-1) && (e *= 2.55), "rgba" == j[1].toLowerCase().slice(0, 4) && (g = $(i[3])), i[3] && "%" == i[3].slice(-1) && (g /= 100)), j[5] ? (i = j[5][I](da), c = $(i[0]), "%" == i[0].slice(-1) && (c *= 2.55), d = $(i[1]), "%" == i[1].slice(-1) && (d *= 2.55), e = $(i[2]), "%" == i[2].slice(-1) && (e *= 2.55), ("deg" == i[0].slice(-3) || "°" == i[0].slice(-1)) && (c /= 360), "hsba" == j[1].toLowerCase().slice(0, 4) && (g = $(i[3])), i[3] && "%" == i[3].slice(-1) && (g /= 100), b.hsb2rgb(c, d, e, g)) : j[6] ? (i = j[6][I](da), c = $(i[0]), "%" == i[0].slice(-1) && (c *= 2.55), d = $(i[1]), "%" == i[1].slice(-1) && (d *= 2.55), e = $(i[2]), "%" == i[2].slice(-1) && (e *= 2.55), ("deg" == i[0].slice(-3) || "°" == i[0].slice(-1)) && (c /= 360), "hsla" == j[1].toLowerCase().slice(0, 4) && (g = $(i[3])), i[3] && "%" == i[3].slice(-1) && (g /= 100), b.hsl2rgb(c, d, e, g)) : (j = { + r: c, + g: d, + b: e, + toString: f + }, j.hex = "#" + (16777216 | e | d << 8 | c << 16).toString(16).slice(1), b.is(g, "finite") && (j.opacity = g), j)) : { + r: -1, + g: -1, + b: -1, + hex: "none", + error: 1, + toString: f + } + }, b), + b.hsb = e(function (a, c, d) { + return b.hsb2rgb(a, c, d).hex + }), + b.hsl = e(function (a, c, d) { + return b.hsl2rgb(a, c, d).hex + }), + b.rgb = e(function (a, b, c) { + function d(a) { + return a + .5 | 0 + } + return "#" + (16777216 | d(c) | d(b) << 8 | d(a) << 16).toString(16).slice(1) + }), + b.getColor = function (a) { + var b = this.getColor.start = this.getColor.start || { + h: 0, + s: 1, + b: a || .75 + }, + c = this.hsb2rgb(b.h, b.s, b.b); + return b.h += .075, + b.h > 1 && (b.h = 0, b.s -= .2, b.s <= 0 && (this.getColor.start = { + h: 0, + s: 1, + b: b.b + })), + c.hex + }, + b.getColor.reset = function () { + delete this.start + }, + b.parsePathString = function (a) { + if (!a) + return null; + var c = ya(a); + if (c.arr) + return Aa(c.arr); + var d = { + a: 7, + c: 6, + h: 1, + l: 2, + m: 2, + r: 4, + q: 4, + s: 4, + t: 2, + v: 1, + z: 0 + }, + e = []; + return b.is(a, U) && b.is(a[0], U) && (e = Aa(a)), + e.length || H(a).replace(ga, function (a, b, c) { + var f = [], + g = b.toLowerCase(); + if (c.replace(ia, function (a, b) { + b && f.push(+b) + }), "m" == g && f.length > 2 && (e.push([b][D](f.splice(0, 2))), g = "l", b = "m" == b ? "l" : "L"), "r" == g) + e.push([b][D](f)); + else + for (; f.length >= d[g] && (e.push([b][D](f.splice(0, d[g]))), d[g]); ); + }), + e.toString = b._path2string, + c.arr = Aa(e), + e + }, + b.parseTransformString = e(function (a) { + if (!a) + return null; + var c = []; + return b.is(a, U) && b.is(a[0], U) && (c = Aa(a)), + c.length || H(a).replace(ha, function (a, b, d) { { + var e = []; + L.call(b) + } + d.replace(ia, function (a, b) { + b && e.push(+b) + }), + c.push([b][D](e)) + }), + c.toString = b._path2string, + c + }); + var ya = function (a) { + var b = ya.ps = ya.ps || {}; + return b[a] ? b[a].sleep = 100 : b[a] = { + sleep: 100 + }, + setTimeout(function () { + for (var c in b) + b[y](c) && c != a && (b[c].sleep--, !b[c].sleep && delete b[c]) + }), + b[a] + }; + b.findDotsAtSegment = function (a, b, c, d, e, f, g, h, i) { + var j = 1 - i, + k = Q(j, 3), + l = Q(j, 2), + m = i * i, + n = m * i, + o = k * a + 3 * l * i * c + 3 * j * i * i * e + n * g, + p = k * b + 3 * l * i * d + 3 * j * i * i * f + n * h, + q = a + 2 * i * (c - a) + m * (e - 2 * c + a), + r = b + 2 * i * (d - b) + m * (f - 2 * d + b), + s = c + 2 * i * (e - c) + m * (g - 2 * e + c), + t = d + 2 * i * (f - d) + m * (h - 2 * f + d), + u = j * a + i * c, + v = j * b + i * d, + w = j * e + i * g, + x = j * f + i * h, + y = 90 - 180 * M.atan2(q - s, r - t) / R; + return (q > s || t > r) && (y += 180), { + x: o, + y: p, + m: { + x: q, + y: r + }, + n: { + x: s, + y: t + }, + start: { + x: u, + y: v + }, + end: { + x: w, + y: x + }, + alpha: y + } + }, + b.bezierBBox = function (a, c, d, e, f, g, h, i) { + b.is(a, "array") || (a = [a, c, d, e, f, g, h, i]); + var j = Ha.apply(null, a); + return { + x: j.min.x, + y: j.min.y, + x2: j.max.x, + y2: j.max.y, + width: j.max.x - j.min.x, + height: j.max.y - j.min.y + } + }, + b.isPointInsideBBox = function (a, b, c) { + return b >= a.x && b <= a.x2 && c >= a.y && c <= a.y2 + }, + b.isBBoxIntersect = function (a, c) { + var d = b.isPointInsideBBox; + return d(c, a.x, a.y) || d(c, a.x2, a.y) || d(c, a.x, a.y2) || d(c, a.x2, a.y2) || d(a, c.x, c.y) || d(a, c.x2, c.y) || d(a, c.x, c.y2) || d(a, c.x2, c.y2) || (a.x < c.x2 && a.x > c.x || c.x < a.x2 && c.x > a.x) && (a.y < c.y2 && a.y > c.y || c.y < a.y2 && c.y > a.y) + }, + b.pathIntersection = function (a, b) { + return m(a, b) + }, + b.pathIntersectionNumber = function (a, b) { + return m(a, b, 1) + }, + b.isPointInsidePath = function (a, c, d) { + var e = b.pathBBox(a); + return b.isPointInsideBBox(e, c, d) && m(a, [["M", c, d], ["H", e.x2 + 10]], 1) % 2 == 1 + }, + b._removedFactory = function (b) { + return function () { + a("raphael.log", null, "Raphaël: you are calling to method “" + b + "” of removed object", b) + } + }; + var za = b.pathBBox = function (a) { + var b = ya(a); + if (b.bbox) + return c(b.bbox); + if (!a) + return { + x: 0, + y: 0, + width: 0, + height: 0, + x2: 0, + y2: 0 + }; + a = Ia(a); + for (var d, e = 0, f = 0, g = [], h = [], i = 0, j = a.length; j > i; i++) + if (d = a[i], "M" == d[0]) + e = d[1], f = d[2], g.push(e), h.push(f); + else { + var k = Ha(e, f, d[1], d[2], d[3], d[4], d[5], d[6]); + g = g[D](k.min.x, k.max.x), + h = h[D](k.min.y, k.max.y), + e = d[5], + f = d[6] + } + var l = O[C](0, g), + m = O[C](0, h), + n = N[C](0, g), + o = N[C](0, h), + p = n - l, + q = o - m, + r = { + x: l, + y: m, + x2: n, + y2: o, + width: p, + height: q, + cx: l + p / 2, + cy: m + q / 2 + }; + return b.bbox = c(r), + r + }, + Aa = function (a) { + var d = c(a); + return d.toString = b._path2string, + d + }, + Ba = b._pathToRelative = function (a) { + var c = ya(a); + if (c.rel) + return Aa(c.rel); + b.is(a, U) && b.is(a && a[0], U) || (a = b.parsePathString(a)); + var d = [], + e = 0, + f = 0, + g = 0, + h = 0, + i = 0; + "M" == a[0][0] && (e = a[0][1], f = a[0][2], g = e, h = f, i++, d.push(["M", e, f])); + for (var j = i, k = a.length; k > j; j++) { + var l = d[j] = [], + m = a[j]; + if (m[0] != L.call(m[0])) + switch (l[0] = L.call(m[0]), l[0]) { + case "a": + l[1] = m[1], + l[2] = m[2], + l[3] = m[3], + l[4] = m[4], + l[5] = m[5], + l[6] = + (m[6] - e).toFixed(3), + l[7] = + (m[7] - f).toFixed(3); + break; + case "v": + l[1] = + (m[1] - f).toFixed(3); + break; + case "m": + g = m[1], + h = m[2]; + default: + for (var n = 1, o = m.length; o > n; n++) + l[n] = + (m[n] - (n % 2 ? e : f)).toFixed(3) + } + else { + l = d[j] = [], + "m" == m[0] && (g = m[1] + e, h = m[2] + f); + for (var p = 0, q = m.length; q > p; p++) + d[j][p] = m[p] + } + var r = d[j].length; + switch (d[j][0]) { + case "z": + e = g, + f = h; + break; + case "h": + e += +d[j][r - 1]; + break; + case "v": + f += +d[j][r - 1]; + break; + default: + e += +d[j][r - 2], + f += +d[j][r - 1] + } + } + return d.toString = b._path2string, + c.rel = Aa(d), + d + }, + Ca = b._pathToAbsolute = function (a) { + var c = ya(a); + if (c.abs) + return Aa(c.abs); + if (b.is(a, U) && b.is(a && a[0], U) || (a = b.parsePathString(a)), !a || !a.length) + return [["M", 0, 0]]; + var d = [], + e = 0, + f = 0, + h = 0, + i = 0, + j = 0; + "M" == a[0][0] && (e = +a[0][1], f = +a[0][2], h = e, i = f, j++, d[0] = ["M", e, f]); + for (var k, l, m = 3 == a.length && "M" == a[0][0] && "R" == a[1][0].toUpperCase() && "Z" == a[2][0].toUpperCase(), n = j, o = a.length; o > n; n++) { + if (d.push(k = []), l = a[n], l[0] != aa.call(l[0])) + switch (k[0] = aa.call(l[0]), k[0]) { + case "A": + k[1] = l[1], + k[2] = l[2], + k[3] = l[3], + k[4] = l[4], + k[5] = l[5], + k[6] = + (l[6] + e), + k[7] = + (l[7] + f); + break; + case "V": + k[1] = +l[1] + f; + break; + case "H": + k[1] = +l[1] + e; + break; + case "R": + for (var p = [e, f][D](l.slice(1)), q = 2, r = p.length; r > q; q++) + p[q] = +p[q] + e, p[++q] = +p[q] + f; + d.pop(), + d = d[D](g(p, m)); + break; + case "M": + h = +l[1] + e, + i = +l[2] + f; + default: + for (q = 1, r = l.length; r > q; q++) + k[q] = +l[q] + (q % 2 ? e : f) + } + else if ("R" == l[0]) + p = [e, f][D](l.slice(1)), d.pop(), d = d[D](g(p, m)), k = ["R"][D](l.slice(-2)); + else + for (var s = 0, t = l.length; t > s; s++) + k[s] = l[s]; + switch (k[0]) { + case "Z": + e = h, + f = i; + break; + case "H": + e = k[1]; + break; + case "V": + f = k[1]; + break; + case "M": + h = k[k.length - 2], + i = k[k.length - 1]; + default: + e = k[k.length - 2], + f = k[k.length - 1] + } + } + return d.toString = b._path2string, + c.abs = Aa(d), + d + }, + Da = function (a, b, c, d) { + return [a, b, c, d, c, d] + }, + Ea = function (a, b, c, d, e, f) { + var g = 1 / 3, + h = 2 / 3; + return [g * a + h * c, g * b + h * d, g * e + h * c, g * f + h * d, e, f] + }, + Fa = function (a, b, c, d, f, g, h, i, j, k) { + var l, + m = 120 * R / 180, + n = R / 180 * (+f || 0), + o = [], + p = e(function (a, b, c) { + var d = a * M.cos(c) - b * M.sin(c), + e = a * M.sin(c) + b * M.cos(c); + return { + x: d, + y: e + } + }); + if (k) + y = k[0], z = k[1], w = k[2], x = k[3]; + else { + l = p(a, b, -n), + a = l.x, + b = l.y, + l = p(i, j, -n), + i = l.x, + j = l.y; + var q = (M.cos(R / 180 * f), M.sin(R / 180 * f), (a - i) / 2), + r = (b - j) / 2, + s = q * q / (c * c) + r * r / (d * d); + s > 1 && (s = M.sqrt(s), c = s * c, d = s * d); + var t = c * c, + u = d * d, + v = (g == h ? -1 : 1) * M.sqrt(P((t * u - t * r * r - u * q * q) / (t * r * r + u * q * q))), + w = v * c * r / d + (a + i) / 2, + x = v * -d * q / c + (b + j) / 2, + y = M.asin(((b - x) / d).toFixed(9)), + z = M.asin(((j - x) / d).toFixed(9)); + y = w > a ? R - y : y, + z = w > i ? R - z : z, + 0 > y && (y = 2 * R + y), + 0 > z && (z = 2 * R + z), + h && y > z && (y -= 2 * R), + !h && z > y && (z -= 2 * R) + } + var A = z - y; + if (P(A) > m) { + var B = z, + C = i, + E = j; + z = y + m * (h && z > y ? 1 : -1), + i = w + c * M.cos(z), + j = x + d * M.sin(z), + o = Fa(i, j, c, d, f, 0, h, C, E, [z, B, w, x]) + } + A = z - y; + var F = M.cos(y), + G = M.sin(y), + H = M.cos(z), + J = M.sin(z), + K = M.tan(A / 4), + L = 4 / 3 * c * K, + N = 4 / 3 * d * K, + O = [a, b], + Q = [a + L * G, b - N * F], + S = [i + L * J, j - N * H], + T = [i, j]; + if (Q[0] = 2 * O[0] - Q[0], Q[1] = 2 * O[1] - Q[1], k) + return [Q, S, T][D](o); + o = [Q, S, T][D](o).join()[I](","); + for (var U = [], V = 0, W = o.length; W > V; V++) + U[V] = V % 2 ? p(o[V - 1], o[V], n).y : p(o[V], o[V + 1], n).x; + return U + }, + Ga = function (a, b, c, d, e, f, g, h, i) { + var j = 1 - i; + return { + x: Q(j, 3) * a + 3 * Q(j, 2) * i * c + 3 * j * i * i * e + Q(i, 3) * g, + y: Q(j, 3) * b + 3 * Q(j, 2) * i * d + 3 * j * i * i * f + Q(i, 3) * h + } + }, + Ha = e(function (a, b, c, d, e, f, g, h) { + var i, + j = e - 2 * c + a - (g - 2 * e + c), + k = 2 * (c - a) - 2 * (e - c), + l = a - c, + m = (-k + M.sqrt(k * k - 4 * j * l)) / 2 / j, + n = (-k - M.sqrt(k * k - 4 * j * l)) / 2 / j, + o = [b, h], + p = [a, g]; + return P(m) > "1e12" && (m = .5), + P(n) > "1e12" && (n = .5), + m > 0 && 1 > m && (i = Ga(a, b, c, d, e, f, g, h, m), p.push(i.x), o.push(i.y)), + n > 0 && 1 > n && (i = Ga(a, b, c, d, e, f, g, h, n), p.push(i.x), o.push(i.y)), + j = f - 2 * d + b - (h - 2 * f + d), + k = 2 * (d - b) - 2 * (f - d), + l = b - d, + m = (-k + M.sqrt(k * k - 4 * j * l)) / 2 / j, + n = (-k - M.sqrt(k * k - 4 * j * l)) / 2 / j, + P(m) > "1e12" && (m = .5), + P(n) > "1e12" && (n = .5), + m > 0 && 1 > m && (i = Ga(a, b, c, d, e, f, g, h, m), p.push(i.x), o.push(i.y)), + n > 0 && 1 > n && (i = Ga(a, b, c, d, e, f, g, h, n), p.push(i.x), o.push(i.y)), { + min: { + x: O[C](0, p), + y: O[C](0, o) + }, + max: { + x: N[C](0, p), + y: N[C](0, o) + } + } + }), + Ia = b._path2curve = e(function (a, b) { + var c = !b && ya(a); + if (!b && c.curve) + return Aa(c.curve); + for (var d = Ca(a), e = b && Ca(b), f = { + x: 0, + y: 0, + bx: 0, + by: 0, + X: 0, + Y: 0, + qx: null, + qy: null + }, g = { + x: 0, + y: 0, + bx: 0, + by: 0, + X: 0, + Y: 0, + qx: null, + qy: null + }, h = (function (a, b, c) { + var d, + e, + f = { + T: 1, + Q: 1 + }; + if (!a) + return ["C", b.x, b.y, b.x, b.y, b.x, b.y]; + switch (!(a[0]in f) && (b.qx = b.qy = null), a[0]) { + case "M": + b.X = a[1], + b.Y = a[2]; + break; + case "A": + a = ["C"][D](Fa[C](0, [b.x, b.y][D](a.slice(1)))); + break; + case "S": + "C" == c || "S" == c ? (d = 2 * b.x - b.bx, e = 2 * b.y - b.by) : (d = b.x, e = b.y), + a = ["C", d, e][D](a.slice(1)); + break; + case "T": + "Q" == c || "T" == c ? (b.qx = 2 * b.x - b.qx, b.qy = 2 * b.y - b.qy) : (b.qx = b.x, b.qy = b.y), + a = ["C"][D](Ea(b.x, b.y, b.qx, b.qy, a[1], a[2])); + break; + case "Q": + b.qx = a[1], + b.qy = a[2], + a = ["C"][D](Ea(b.x, b.y, a[1], a[2], a[3], a[4])); + break; + case "L": + a = ["C"][D](Da(b.x, b.y, a[1], a[2])); + break; + case "H": + a = ["C"][D](Da(b.x, b.y, a[1], b.y)); + break; + case "V": + a = ["C"][D](Da(b.x, b.y, b.x, a[1])); + break; + case "Z": + a = ["C"][D](Da(b.x, b.y, b.X, b.Y)) + } + return a + }), i = function (a, b) { + if (a[b].length > 7) { + a[b].shift(); + for (var c = a[b]; c.length; ) + k[b] = "A", e && (l[b] = "A") , a.splice(b++, 0, ["C"][D](c.splice(0, 6))); + a.splice(b, 1), + p = N(d.length, e && e.length || 0) + } + }, j = function (a, b, c, f, g) { + a && b && "M" == a[g][0] && "M" != b[g][0] && (b.splice(g, 0, ["M", f.x, f.y]), c.bx = 0, c.by = 0, c.x = a[g][1], c.y = a[g][2], p = N(d.length, e && e.length || 0)) + }, k = [], l = [], m = "", n = "", o = 0, p = N(d.length, e && e.length || 0); p > o; o++) { + d[o] && (m = d[o][0]), + "C" != m && (k[o] = m, o && (n = k[o - 1])), + d[o] = h(d[o], f, n), + "A" != k[o] && "C" == m && (k[o] = "C"), + i(d, o), + e && (e[o] && (m = e[o][0]), "C" != m && (l[o] = m, o && (n = l[o - 1])), e[o] = h(e[o], g, n), "A" != l[o] && "C" == m && (l[o] = "C"), i(e, o)), + j(d, e, f, g, o), + j(e, d, g, f, o); + var q = d[o], + r = e && e[o], + s = q.length, + t = e && r.length; + f.x = q[s - 2], + f.y = q[s - 1], + f.bx = $(q[s - 4]) || f.x, + f.by = $(q[s - 3]) || f.y, + g.bx = e && ($(r[t - 4]) || g.x), + g.by = e && ($(r[t - 3]) || g.y), + g.x = e && r[t - 2], + g.y = e && r[t - 1] + } + return e || (c.curve = Aa(d)), + e ? [d, e] : d + }, null, Aa), + Ja = (b._parseDots = e(function (a) { + for (var c = [], d = 0, e = a.length; e > d; d++) { + var f = {}, + g = a[d].match(/^([^:]*):?([\d\.]*)/); + if (f.color = b.getRGB(g[1]), f.color.error) + return null; + f.opacity = f.color.opacity, + f.color = f.color.hex, + g[2] && (f.offset = g[2] + "%"), + c.push(f) + } + for (d = 1, e = c.length - 1; e > d; d++) + if (!c[d].offset) { + for (var h = $(c[d - 1].offset || 0), i = 0, j = d + 1; e > j; j++) + if (c[j].offset) { + i = c[j].offset; + break + } + i || (i = 100, j = e), + i = $(i); + for (var k = (i - h) / (j - d + 1); j > d; d++) + h += k, c[d].offset = h + "%" + } + return c + }), b._tear = function (a, b) { + a == b.top && (b.top = a.prev), + a == b.bottom && (b.bottom = a.next), + a.next && (a.next.prev = a.prev), + a.prev && (a.prev.next = a.next) + }), + Ka = (b._tofront = function (a, b) { + b.top !== a && (Ja(a, b), a.next = null, a.prev = b.top, b.top.next = a, b.top = a) + }, b._toback = function (a, b) { + b.bottom !== a && (Ja(a, b), a.next = b.bottom, a.prev = null, b.bottom.prev = a, b.bottom = a) + }, b._insertafter = function (a, b, c) { + Ja(a, c), + b == c.top && (c.top = a), + b.next && (b.next.prev = a), + a.next = b.next, + a.prev = b, + b.next = a + }, b._insertbefore = function (a, b, c) { + Ja(a, c), + b == c.bottom && (c.bottom = a), + b.prev && (b.prev.next = a), + a.prev = b.prev, + b.prev = a, + a.next = b + }, b.toMatrix = function (a, b) { + var c = za(a), + d = { + _: { + transform: F + }, + getBBox: function () { + return c + } + }; + return La(d, b), + d.matrix + }), + La = (b.transformPath = function (a, b) { + return pa(a, Ka(a, b)) + }, b._extractTransform = function (a, c) { + if (null == c) + return a._.transform; + c = H(c).replace(/\.{3}|\u2026/g, a._.transform || F); + var d = b.parseTransformString(c), + e = 0, + f = 0, + g = 0, + h = 1, + i = 1, + j = a._, + k = new n; + if (j.transform = d || [], d) + for (var l = 0, m = d.length; m > l; l++) { + var o, + p, + q, + r, + s, + t = d[l], + u = t.length, + v = H(t[0]).toLowerCase(), + w = t[0] != v, + x = w ? k.invert() : 0; + "t" == v && 3 == u ? w ? (o = x.x(0, 0), p = x.y(0, 0), q = x.x(t[1], t[2]), r = x.y(t[1], t[2]), k.translate(q - o, r - p)) : k.translate(t[1], t[2]) : "r" == v ? 2 == u ? (s = s || a.getBBox(1), k.rotate(t[1], s.x + s.width / 2, s.y + s.height / 2), e += t[1]) : 4 == u && (w ? (q = x.x(t[2], t[3]), r = x.y(t[2], t[3]), k.rotate(t[1], q, r)) : k.rotate(t[1], t[2], t[3]), e += t[1]) : "s" == v ? 2 == u || 3 == u ? (s = s || a.getBBox(1), k.scale(t[1], t[u - 1], s.x + s.width / 2, s.y + s.height / 2), h *= t[1], i *= t[u - 1]) : 5 == u && (w ? (q = x.x(t[3], t[4]), r = x.y(t[3], t[4]), k.scale(t[1], t[2], q, r)) : k.scale(t[1], t[2], t[3], t[4]), h *= t[1], i *= t[2]) : "m" == v && 7 == u && k.add(t[1], t[2], t[3], t[4], t[5], t[6]), + j.dirtyT = 1, + a.matrix = k + } + a.matrix = k, + j.sx = h, + j.sy = i, + j.deg = e, + j.dx = f = k.e, + j.dy = g = k.f, + 1 == h && 1 == i && !e && j.bbox ? (j.bbox.x += +f, j.bbox.y += +g) : j.dirtyT = 1 + }), + Ma = function (a) { + var b = a[0]; + switch (b.toLowerCase()) { + case "t": + return [b, 0, 0]; + case "m": + return [b, 1, 0, 0, 1, 0, 0]; + case "r": + return 4 == a.length ? [b, 0, a[2], a[3]] : [b, 0]; + case "s": + return 5 == a.length ? [b, 1, 1, a[3], a[4]] : 3 == a.length ? [b, 1, 1] : [b, 1] + } + }, + Na = b._equaliseTransform = function (a, c) { + c = H(c).replace(/\.{3}|\u2026/g, a), + a = b.parseTransformString(a) || [], + c = b.parseTransformString(c) || []; + for (var d, e, f, g, h = N(a.length, c.length), i = [], j = [], k = 0; h > k; k++) { + if (f = a[k] || Ma(c[k]), g = c[k] || Ma(f), f[0] != g[0] || "r" == f[0].toLowerCase() && (f[2] != g[2] || f[3] != g[3]) || "s" == f[0].toLowerCase() && (f[3] != g[3] || f[4] != g[4])) + return; + for (i[k] = [], j[k] = [], d = 0, e = N(f.length, g.length); e > d; d++) + d in f && (i[k][d] = f[d]), d in g && (j[k][d] = g[d]) + } + return { + from: i, + to: j + } + }; + b._getContainer = function (a, c, d, e) { + var f; + return f = null != e || b.is(a, "object") ? a : z.doc.getElementById(a), + null != f ? f.tagName ? null == c ? { + container: f, + width: f.style.pixelWidth || f.offsetWidth, + height: f.style.pixelHeight || f.offsetHeight + } + : { + container: f, + width: c, + height: d + } + : { + container: 1, + x: a, + y: c, + width: d, + height: e + } + : void 0 + }, + b.pathToRelative = Ba, + b._engine = {}, + b.path2curve = Ia, + b.matrix = function (a, b, c, d, e, f) { + return new n(a, b, c, d, e, f) + }, + function (a) { + function c(a) { + return a[0] * a[0] + a[1] * a[1] + } + function d(a) { + var b = M.sqrt(c(a)); + a[0] && (a[0] /= b), + a[1] && (a[1] /= b) + } + a.add = function (a, b, c, d, e, f) { + var g, + h, + i, + j, + k = [[], [], []], + l = [[this.a, this.c, this.e], [this.b, this.d, this.f], [0, 0, 1]], + m = [[a, c, e], [b, d, f], [0, 0, 1]]; + for (a && a instanceof n && (m = [[a.a, a.c, a.e], [a.b, a.d, a.f], [0, 0, 1]]), g = 0; 3 > g; g++) + for (h = 0; 3 > h; h++) { + for (j = 0, i = 0; 3 > i; i++) + j += l[g][i] * m[i][h]; + k[g][h] = j + } + this.a = k[0][0], + this.b = k[1][0], + this.c = k[0][1], + this.d = k[1][1], + this.e = k[0][2], + this.f = k[1][2] + }, + a.invert = function () { + var a = this, + b = a.a * a.d - a.b * a.c; + return new n(a.d / b, -a.b / b, -a.c / b, a.a / b, (a.c * a.f - a.d * a.e) / b, (a.b * a.e - a.a * a.f) / b) + }, + a.clone = function () { + return new n(this.a, this.b, this.c, this.d, this.e, this.f) + }, + a.translate = function (a, b) { + this.add(1, 0, 0, 1, a, b) + }, + a.scale = function (a, b, c, d) { + null == b && (b = a), + (c || d) && this.add(1, 0, 0, 1, c, d), + this.add(a, 0, 0, b, 0, 0), + (c || d) && this.add(1, 0, 0, 1, -c, -d) + }, + a.rotate = function (a, c, d) { + a = b.rad(a), + c = c || 0, + d = d || 0; + var e = +M.cos(a).toFixed(9), + f = +M.sin(a).toFixed(9); + this.add(e, f, -f, e, c, d), + this.add(1, 0, 0, 1, -c, -d) + }, + a.x = function (a, b) { + return a * this.a + b * this.c + this.e + }, + a.y = function (a, b) { + return a * this.b + b * this.d + this.f + }, + a.get = function (a) { + return +this[H.fromCharCode(97 + a)].toFixed(4) + }, + a.toString = function () { + return b.svg ? "matrix(" + [this.get(0), this.get(1), this.get(2), this.get(3), this.get(4), this.get(5)].join() + ")" : [this.get(0), this.get(2), this.get(1), this.get(3), 0, 0].join() + }, + a.toFilter = function () { + return "progid:DXImageTransform.Microsoft.Matrix(M11=" + this.get(0) + ", M12=" + this.get(2) + ", M21=" + this.get(1) + ", M22=" + this.get(3) + ", Dx=" + this.get(4) + ", Dy=" + this.get(5) + ", sizingmethod='auto expand')" + }, + a.offset = function () { + return [this.e.toFixed(4), this.f.toFixed(4)] + }, + a.split = function () { + var a = {}; + a.dx = this.e, + a.dy = this.f; + var e = [[this.a, this.c], [this.b, this.d]]; + a.scalex = M.sqrt(c(e[0])), + d(e[0]), + a.shear = e[0][0] * e[1][0] + e[0][1] * e[1][1], + e[1] = [e[1][0] - e[0][0] * a.shear, e[1][1] - e[0][1] * a.shear], + a.scaley = M.sqrt(c(e[1])), + d(e[1]), + a.shear /= a.scaley; + var f = -e[0][1], + g = e[1][1]; + return 0 > g ? (a.rotate = b.deg(M.acos(g)), 0 > f && (a.rotate = 360 - a.rotate)) : a.rotate = b.deg(M.asin(f)), + a.isSimple = !(+a.shear.toFixed(9) || a.scalex.toFixed(9) != a.scaley.toFixed(9) && a.rotate), + a.isSuperSimple = !+a.shear.toFixed(9) && a.scalex.toFixed(9) == a.scaley.toFixed(9) && !a.rotate, + a.noRotation = !+a.shear.toFixed(9) && !a.rotate, + a + }, + a.toTransformString = function (a) { + var b = a || this[I](); + return b.isSimple ? (b.scalex = +b.scalex.toFixed(4), b.scaley = +b.scaley.toFixed(4), b.rotate = +b.rotate.toFixed(4), (b.dx || b.dy ? "t" + [b.dx, b.dy] : F) + (1 != b.scalex || 1 != b.scaley ? "s" + [b.scalex, b.scaley, 0, 0] : F) + (b.rotate ? "r" + [b.rotate, 0, 0] : F)) : "m" + [this.get(0), this.get(1), this.get(2), this.get(3), this.get(4), this.get(5)] + } + } + (n.prototype); + for (var Oa = function () { + this.returnValue = !1 + }, Pa = function () { + return this.originalEvent.preventDefault() + }, Qa = function () { + this.cancelBubble = !0 + }, Ra = function () { + return this.originalEvent.stopPropagation() + }, Sa = function (a) { + var b = z.doc.documentElement.scrollTop || z.doc.body.scrollTop, + c = z.doc.documentElement.scrollLeft || z.doc.body.scrollLeft; + return { + x: a.clientX + c, + y: a.clientY + b + } + }, Ta = function () { + return z.doc.addEventListener ? function (a, b, c, d) { + var e = function (a) { + var b = Sa(a); + return c.call(d, a, b.x, b.y) + }; + if (a.addEventListener(b, e, !1), E && K[b]) { + var f = function (b) { + for (var e = Sa(b), f = b, g = 0, h = b.targetTouches && b.targetTouches.length; h > g; g++) + if (b.targetTouches[g].target == a) { + b = b.targetTouches[g], + b.originalEvent = f, + b.preventDefault = Pa, + b.stopPropagation = Ra; + break + } + return c.call(d, b, e.x, e.y) + }; + a.addEventListener(K[b], f, !1) + } + return function () { + return a.removeEventListener(b, e, !1), + E && K[b] && a.removeEventListener(K[b], f, !1), + !0 + } + } + : z.doc.attachEvent ? function (a, b, c, d) { + var e = function (a) { + a = a || z.win.event; + var b = z.doc.documentElement.scrollTop || z.doc.body.scrollTop, + e = z.doc.documentElement.scrollLeft || z.doc.body.scrollLeft, + f = a.clientX + e, + g = a.clientY + b; + return a.preventDefault = a.preventDefault || Oa, + a.stopPropagation = a.stopPropagation || Qa, + c.call(d, a, f, g) + }; + a.attachEvent("on" + b, e); + var f = function () { + return a.detachEvent("on" + b, e), + !0 + }; + return f + } + : void 0 + } + (), Ua = [], Va = function (b) { + for (var c, d = b.clientX, e = b.clientY, f = z.doc.documentElement.scrollTop || z.doc.body.scrollTop, g = z.doc.documentElement.scrollLeft || z.doc.body.scrollLeft, h = Ua.length; h--; ) { + if (c = Ua[h], E && b.touches) { + for (var i, j = b.touches.length; j--; ) + if (i = b.touches[j], i.identifier == c.el._drag.id) { + d = i.clientX, + e = i.clientY, + (b.originalEvent ? b.originalEvent : b).preventDefault(); + break + } + } else + b.preventDefault(); + var k, + l = c.el.node, + m = l.nextSibling, + n = l.parentNode, + o = l.style.display; + z.win.opera && n.removeChild(l), + l.style.display = "none", + k = c.el.paper.getElementByPoint(d, e), + l.style.display = o, + z.win.opera && (m ? n.insertBefore(l, m) : n.appendChild(l)), + k && a("raphael.drag.over." + c.el.id, c.el, k), + d += g, + e += f, + a("raphael.drag.move." + c.el.id, c.move_scope || c.el, d - c.el._drag.x, e - c.el._drag.y, d, e, b) + } + }, Wa = function (c) { + b.unmousemove(Va).unmouseup(Wa); + for (var d, e = Ua.length; e--; ) + d = Ua[e], d.el._drag = {}, + a("raphael.drag.end." + d.el.id, d.end_scope || d.start_scope || d.move_scope || d.el, c); + Ua = [] + }, Xa = b.el = {}, Ya = J.length; Ya--; ) + !function (a) { + b[a] = Xa[a] = function (c, d) { + return b.is(c, "function") && (this.events = this.events || [], this.events.push({ + name: a, + f: c, + unbind: Ta(this.shape || this.node || z.doc, a, c, d || this) + })), + this + }, + b["un" + a] = Xa["un" + a] = function (c) { + for (var d = this.events || [], e = d.length; e--; ) + d[e].name != a || !b.is(c, "undefined") && d[e].f != c || (d[e].unbind(), d.splice(e, 1), !d.length && delete this.events); + return this + } + } + (J[Ya]); + Xa.data = function (c, d) { + var e = ja[this.id] = ja[this.id] || {}; + if (0 == arguments.length) + return e; + if (1 == arguments.length) { + if (b.is(c, "object")) { + for (var f in c) + c[y](f) && this.data(f, c[f]); + return this + } + return a("raphael.data.get." + this.id, this, e[c], c), + e[c] + } + return e[c] = d, + a("raphael.data.set." + this.id, this, d, c), + this + }, + Xa.removeData = function (a) { + return null == a ? ja[this.id] = {} + : ja[this.id] && delete ja[this.id][a], + this + }, + Xa.getData = function () { + return c(ja[this.id] || {}) + }, + Xa.hover = function (a, b, c, d) { + return this.mouseover(a, c).mouseout(b, d || c) + }, + Xa.unhover = function (a, b) { + return this.unmouseover(a).unmouseout(b) + }; + var Za = []; + Xa.drag = function (c, d, e, f, g, h) { + function i(i) { + (i.originalEvent || i).preventDefault(); + var j = i.clientX, + k = i.clientY, + l = z.doc.documentElement.scrollTop || z.doc.body.scrollTop, + m = z.doc.documentElement.scrollLeft || z.doc.body.scrollLeft; + if (this._drag.id = i.identifier, E && i.touches) + for (var n, o = i.touches.length; o--; ) + if (n = i.touches[o], this._drag.id = n.identifier, n.identifier == this._drag.id) { + j = n.clientX, + k = n.clientY; + break + } + this._drag.x = j + m, + this._drag.y = k + l, + !Ua.length && b.mousemove(Va).mouseup(Wa), + Ua.push({ + el: this, + move_scope: f, + start_scope: g, + end_scope: h + }), + d && a.on("raphael.drag.start." + this.id, d), + c && a.on("raphael.drag.move." + this.id, c), + e && a.on("raphael.drag.end." + this.id, e), + a("raphael.drag.start." + this.id, g || f || this, i.clientX + m, i.clientY + l, i) + } + return this._drag = {}, + Za.push({ + el: this, + start: i + }), + this.mousedown(i), + this + }, + Xa.onDragOver = function (b) { + b ? a.on("raphael.drag.over." + this.id, b) : a.unbind("raphael.drag.over." + this.id) + }, + Xa.undrag = function () { + for (var c = Za.length; c--; ) + Za[c].el == this && (this.unmousedown(Za[c].start), Za.splice(c, 1), a.unbind("raphael.drag.*." + this.id)); + !Za.length && b.unmousemove(Va).unmouseup(Wa), + Ua = [] + }, + u.circle = function (a, c, d) { + var e = b._engine.circle(this, a || 0, c || 0, d || 0); + return this.__set__ && this.__set__.push(e), + e + }, + u.rect = function (a, c, d, e, f) { + var g = b._engine.rect(this, a || 0, c || 0, d || 0, e || 0, f || 0); + return this.__set__ && this.__set__.push(g), + g + }, + u.ellipse = function (a, c, d, e) { + var f = b._engine.ellipse(this, a || 0, c || 0, d || 0, e || 0); + return this.__set__ && this.__set__.push(f), + f + }, + u.path = function (a) { + a && !b.is(a, T) && !b.is(a[0], U) && (a += F); + var c = b._engine.path(b.format[C](b, arguments), this); + return this.__set__ && this.__set__.push(c), + c + }, + u.image = function (a, c, d, e, f) { + var g = b._engine.image(this, a || "about:blank", c || 0, d || 0, e || 0, f || 0); + return this.__set__ && this.__set__.push(g), + g + }, + u.text = function (a, c, d) { + var e = b._engine.text(this, a || 0, c || 0, H(d)); + return this.__set__ && this.__set__.push(e), + e + }, + u.set = function (a) { + !b.is(a, "array") && (a = Array.prototype.splice.call(arguments, 0, arguments.length)); + var c = new jb(a); + return this.__set__ && this.__set__.push(c), + c.paper = this, + c.type = "set", + c + }, + u.setStart = function (a) { + this.__set__ = a || this.set() + }, + u.setFinish = function (a) { + var b = this.__set__; + return delete this.__set__, + b + }, + u.getSize = function () { + var a = this.canvas.parentNode; + return { + width: a.offsetWidth, + height: a.offsetHeight + } + }, + u.setSize = function (a, c) { + return b._engine.setSize.call(this, a, c) + }, + u.setViewBox = function (a, c, d, e, f) { + return b._engine.setViewBox.call(this, a, c, d, e, f) + }, + u.top = u.bottom = null, + u.raphael = b; + var $a = function (a) { + var b = a.getBoundingClientRect(), + c = a.ownerDocument, + d = c.body, + e = c.documentElement, + f = e.clientTop || d.clientTop || 0, + g = e.clientLeft || d.clientLeft || 0, + h = b.top + (z.win.pageYOffset || e.scrollTop || d.scrollTop) - f, + i = b.left + (z.win.pageXOffset || e.scrollLeft || d.scrollLeft) - g; + return { + y: h, + x: i + } + }; + u.getElementByPoint = function (a, b) { + var c = this, + d = c.canvas, + e = z.doc.elementFromPoint(a, b); + if (z.win.opera && "svg" == e.tagName) { + var f = $a(d), + g = d.createSVGRect(); + g.x = a - f.x, + g.y = b - f.y, + g.width = g.height = 1; + var h = d.getIntersectionList(g, null); + h.length && (e = h[h.length - 1]) + } + if (!e) + return null; + for (; e.parentNode && e != d.parentNode && !e.raphael; ) + e = e.parentNode; + return e == c.canvas.parentNode && (e = d), + e = e && e.raphael ? c.getById(e.raphaelid) : null + }, + u.getElementsByBBox = function (a) { + var c = this.set(); + return this.forEach(function (d) { + b.isBBoxIntersect(d.getBBox(), a) && c.push(d) + }), + c + }, + u.getById = function (a) { + for (var b = this.bottom; b; ) { + if (b.id == a) + return b; + b = b.next + } + return null + }, + u.forEach = function (a, b) { + for (var c = this.bottom; c; ) { + if (a.call(b, c) === !1) + return this; + c = c.next + } + return this + }, + u.getElementsByPoint = function (a, b) { + var c = this.set(); + return this.forEach(function (d) { + d.isPointInside(a, b) && c.push(d) + }), + c + }, + Xa.isPointInside = function (a, c) { + var d = this.realPath = oa[this.type](this); + return this.attr("transform") && this.attr("transform").length && (d = b.transformPath(d, this.attr("transform"))), + b.isPointInsidePath(d, a, c) + }, + Xa.getBBox = function (a) { + if (this.removed) + return {}; + var b = this._; + return a ? ((b.dirty || !b.bboxwt) && (this.realPath = oa[this.type](this), b.bboxwt = za(this.realPath), b.bboxwt.toString = o, b.dirty = 0), b.bboxwt) : ((b.dirty || b.dirtyT || !b.bbox) && ((b.dirty || !this.realPath) && (b.bboxwt = 0, this.realPath = oa[this.type](this)), b.bbox = za(pa(this.realPath, this.matrix)), b.bbox.toString = o, b.dirty = b.dirtyT = 0), b.bbox) + }, + Xa.clone = function () { + if (this.removed) + return null; + var a = this.paper[this.type]().attr(this.attr()); + return this.__set__ && this.__set__.push(a), + a + }, + Xa.glow = function (a) { + if ("text" == this.type) + return null; + a = a || {}; + var b = { + width: (a.width || 10) + (+this.attr("stroke-width") || 1), + fill: a.fill || !1, + opacity: null == a.opacity ? .5 : a.opacity, + offsetx: a.offsetx || 0, + offsety: a.offsety || 0, + color: a.color || "#000" + }, + c = b.width / 2, + d = this.paper, + e = d.set(), + f = this.realPath || oa[this.type](this); + f = this.matrix ? pa(f, this.matrix) : f; + for (var g = 1; c + 1 > g; g++) + e.push(d.path(f).attr({ + stroke: b.color, + fill: b.fill ? b.color : "none", + "stroke-linejoin": "round", + "stroke-linecap": "round", + "stroke-width": + (b.width / c * g).toFixed(3), + opacity: + (b.opacity / c).toFixed(3) + })); + return e.insertBefore(this).translate(b.offsetx, b.offsety) + }; + var _a = function (a, c, d, e, f, g, h, k, l) { + return null == l ? i(a, c, d, e, f, g, h, k) : b.findDotsAtSegment(a, c, d, e, f, g, h, k, j(a, c, d, e, f, g, h, k, l)) + }, + ab = function (a, c) { + return function (d, e, f) { + d = Ia(d); + for (var g, h, i, j, k, l = "", m = {}, n = 0, o = 0, p = d.length; p > o; o++) { + if (i = d[o], "M" == i[0]) + g = +i[1], h = +i[2]; + else { + if (j = _a(g, h, i[1], i[2], i[3], i[4], i[5], i[6]), n + j > e) { + if (c && !m.start) { + if (k = _a(g, h, i[1], i[2], i[3], i[4], i[5], i[6], e - n), l += ["C" + k.start.x, k.start.y, k.m.x, k.m.y, k.x, k.y], f) + return l; + m.start = l, + l = ["M" + k.x, k.y + "C" + k.n.x, k.n.y, k.end.x, k.end.y, i[5], i[6]].join(), + n += j, + g = +i[5], + h = +i[6]; + continue + } + if (!a && !c) + return k = _a(g, h, i[1], i[2], i[3], i[4], i[5], i[6], e - n), { + x: k.x, + y: k.y, + alpha: k.alpha + } + } + n += j, + g = +i[5], + h = +i[6] + } + l += i.shift() + i + } + return m.end = l, + k = a ? n : c ? m : b.findDotsAtSegment(g, h, i[0], i[1], i[2], i[3], i[4], i[5], 1), + k.alpha && (k = { + x: k.x, + y: k.y, + alpha: k.alpha + }), + k + } + }, + bb = ab(1), + cb = ab(), + db = ab(0, 1); + b.getTotalLength = bb, + b.getPointAtLength = cb, + b.getSubpath = function (a, b, c) { + if (this.getTotalLength(a) - c < 1e-6) + return db(a, b).end; + var d = db(a, c, 1); + return b ? db(d, b).end : d + }, + Xa.getTotalLength = function () { + var a = this.getPath(); + if (a) + return this.node.getTotalLength ? this.node.getTotalLength() : bb(a) + }, + Xa.getPointAtLength = function (a) { + var b = this.getPath(); + if (b) + return cb(b, a) + }, + Xa.getPath = function () { + var a, + c = b._getPath[this.type]; + if ("text" != this.type && "set" != this.type) + return c && (a = c(this)), a + }, + Xa.getSubpath = function (a, c) { + var d = this.getPath(); + if (d) + return b.getSubpath(d, a, c) + }; + var eb = b.easing_formulas = { + linear: function (a) { + return a + }, + "<": function (a) { + return Q(a, 1.7) + }, + ">": function (a) { + return Q(a, .48) + }, + "<>": function (a) { + var b = .48 - a / 1.04, + c = M.sqrt(.1734 + b * b), + d = c - b, + e = Q(P(d), 1 / 3) * (0 > d ? -1 : 1), + f = -c - b, + g = Q(P(f), 1 / 3) * (0 > f ? -1 : 1), + h = e + g + .5; + return 3 * (1 - h) * h * h + h * h * h + }, + backIn: function (a) { + var b = 1.70158; + return a * a * ((b + 1) * a - b) + }, + backOut: function (a) { + a -= 1; + var b = 1.70158; + return a * a * ((b + 1) * a + b) + 1 + }, + elastic: function (a) { + return a == !!a ? a : Q(2, -10 * a) * M.sin(2 * (a - .075) * R / .3) + 1 + }, + bounce: function (a) { + var b, + c = 7.5625, + d = 2.75; + return 1 / d > a ? b = c * a * a : 2 / d > a ? (a -= 1.5 / d, b = c * a * a + .75) : 2.5 / d > a ? (a -= 2.25 / d, b = c * a * a + .9375) : (a -= 2.625 / d, b = c * a * a + .984375), + b + } + }; + eb.easeIn = eb["ease-in"] = eb["<"], + eb.easeOut = eb["ease-out"] = eb[">"], + eb.easeInOut = eb["ease-in-out"] = eb["<>"], + eb["back-in"] = eb.backIn, + eb["back-out"] = eb.backOut; + var fb = [], + gb = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function (a) { + setTimeout(a, 16) + }, + hb = function () { + for (var c = +new Date, d = 0; d < fb.length; d++) { + var e = fb[d]; + if (!e.el.removed && !e.paused) { + var f, + g, + h = c - e.start, + i = e.ms, + j = e.easing, + k = e.from, + l = e.diff, + m = e.to, + n = (e.t, e.el), + o = {}, + p = {}; + if (e.initstatus ? (h = (e.initstatus * e.anim.top - e.prev) / (e.percent - e.prev) * i, e.status = e.initstatus, delete e.initstatus, e.stop && fb.splice(d--, 1)) : e.status = (e.prev + (e.percent - e.prev) * (h / i)) / e.anim.top, !(0 > h)) + if (i > h) { + var q = j(h / i); + for (var s in k) + if (k[y](s)) { + switch (ca[s]) { + case S: + f = +k[s] + q * i * l[s]; + break; + case "colour": + f = "rgb(" + [ib(Z(k[s].r + q * i * l[s].r)), ib(Z(k[s].g + q * i * l[s].g)), ib(Z(k[s].b + q * i * l[s].b))].join(",") + ")"; + break; + case "path": + f = []; + for (var t = 0, u = k[s].length; u > t; t++) { + f[t] = [k[s][t][0]]; + for (var v = 1, w = k[s][t].length; w > v; v++) + f[t][v] = +k[s][t][v] + q * i * l[s][t][v]; + f[t] = f[t].join(G) + } + f = f.join(G); + break; + case "transform": + if (l[s].real) + for (f = [], t = 0, u = k[s].length; u > t; t++) + for (f[t] = [k[s][t][0]], v = 1, w = k[s][t].length; w > v; v++) + f[t][v] = k[s][t][v] + q * i * l[s][t][v]; + else { + var x = function (a) { + return +k[s][a] + q * i * l[s][a] + }; + f = [["m", x(0), x(1), x(2), x(3), x(4), x(5)]] + } + break; + case "csv": + if ("clip-rect" == s) + for (f = [], t = 4; t--; ) + f[t] = +k[s][t] + q * i * l[s][t]; + break; + default: + var z = [][D](k[s]); + for (f = [], t = n.paper.customAttributes[s].length; t--; ) + f[t] = +z[t] + q * i * l[s][t] + } + o[s] = f + } + n.attr(o), + function (b, c, d) { + setTimeout(function () { + a("raphael.anim.frame." + b, c, d) + }) + } + (n.id, n, e.anim) + } else { + if (function (c, d, e) { + setTimeout(function () { + a("raphael.anim.frame." + d.id, d, e), + a("raphael.anim.finish." + d.id, d, e), + b.is(c, "function") && c.call(d) + }) + } + (e.callback, n, e.anim), n.attr(m), fb.splice(d--, 1), e.repeat > 1 && !e.next) { + for (g in m) + m[y](g) && (p[g] = e.totalOrigin[g]); + e.el.attr(p), + r(e.anim, e.el, e.anim.percents[0], null, e.totalOrigin, e.repeat - 1) + } + e.next && !e.stop && r(e.anim, e.el, e.next, null, e.totalOrigin, e.repeat) + } + } + } + fb.length && gb(hb) + }, + ib = function (a) { + return a > 255 ? 255 : 0 > a ? 0 : a + }; + Xa.animateWith = function (a, c, d, e, f, g) { + var h = this; + if (h.removed) + return g && g.call(h), h; + var i = d instanceof q ? d : b.animation(d, e, f, g); + r(i, h, i.percents[0], null, h.attr()); + for (var j = 0, k = fb.length; k > j; j++) + if (fb[j].anim == c && fb[j].el == a) { + fb[k - 1].start = fb[j].start; + break + } + return h + }, + Xa.onAnimation = function (b) { + return b ? a.on("raphael.anim.frame." + this.id, b) : a.unbind("raphael.anim.frame." + this.id), + this + }, + q.prototype.delay = function (a) { + var b = new q(this.anim, this.ms); + return b.times = this.times, + b.del = +a || 0, + b + }, + q.prototype.repeat = function (a) { + var b = new q(this.anim, this.ms); + return b.del = this.del, + b.times = M.floor(N(a, 0)) || 1, + b + }, + b.animation = function (a, c, d, e) { + if (a instanceof q) + return a; + (b.is(d, "function") || !d) && (e = e || d || null, d = null), + a = Object(a), + c = +c || 0; + var f, + g, + h = {}; + for (g in a) + a[y](g) && $(g) != g && $(g) + "%" != g && (f = !0, h[g] = a[g]); + if (f) + return d && (h.easing = d), e && (h.callback = e), new q({ + 100: h + }, c); + if (e) { + var i = 0; + for (var j in a) { + var k = _(j); + a[y](j) && k > i && (i = k) + } + i += "%", + !a[i].callback && (a[i].callback = e) + } + return new q(a, c) + }, + Xa.animate = function (a, c, d, e) { + var f = this; + if (f.removed) + return e && e.call(f), f; + var g = a instanceof q ? a : b.animation(a, c, d, e); + return r(g, f, g.percents[0], null, f.attr()), + f + }, + Xa.setTime = function (a, b) { + return a && null != b && this.status(a, O(b, a.ms) / a.ms), + this + }, + Xa.status = function (a, b) { + var c, + d, + e = [], + f = 0; + if (null != b) + return r(a, this, -1, O(b, 1)), this; + for (c = fb.length; c > f; f++) + if (d = fb[f], d.el.id == this.id && (!a || d.anim == a)) { + if (a) + return d.status; + e.push({ + anim: d.anim, + status: d.status + }) + } + return a ? 0 : e + }, + Xa.pause = function (b) { + for (var c = 0; c < fb.length; c++) + fb[c].el.id != this.id || b && fb[c].anim != b || a("raphael.anim.pause." + this.id, this, fb[c].anim) !== !1 && (fb[c].paused = !0); + return this + }, + Xa.resume = function (b) { + for (var c = 0; c < fb.length; c++) + if (fb[c].el.id == this.id && (!b || fb[c].anim == b)) { + var d = fb[c]; + a("raphael.anim.resume." + this.id, this, d.anim) !== !1 && (delete d.paused, this.status(d.anim, d.status)) + } + return this + }, + Xa.stop = function (b) { + for (var c = 0; c < fb.length; c++) + fb[c].el.id != this.id || b && fb[c].anim != b || a("raphael.anim.stop." + this.id, this, fb[c].anim) !== !1 && fb.splice(c--, 1); + return this + }, + a.on("raphael.remove", s), + a.on("raphael.clear", s), + Xa.toString = function () { + return "Raphaël’s object" + }; + var jb = function (a) { + if (this.items = [], this.length = 0, this.type = "set", a) + for (var b = 0, c = a.length; c > b; b++) + !a[b] || a[b].constructor != Xa.constructor && a[b].constructor != jb || (this[this.items.length] = this.items[this.items.length] = a[b], this.length++) + }, + kb = jb.prototype; + kb.push = function () { + for (var a, b, c = 0, d = arguments.length; d > c; c++) + a = arguments[c], !a || a.constructor != Xa.constructor && a.constructor != jb || (b = this.items.length, this[b] = this.items[b] = a, this.length++); + return this + }, + kb.pop = function () { + return this.length && delete this[this.length--], + this.items.pop() + }, + kb.forEach = function (a, b) { + for (var c = 0, d = this.items.length; d > c; c++) + if (a.call(b, this.items[c], c) === !1) + return this; + return this + }; + for (var lb in Xa) + Xa[y](lb) && (kb[lb] = function (a) { + return function () { + var b = arguments; + return this.forEach(function (c) { + c[a][C](c, b) + }) + } + } + (lb)); + return kb.attr = function (a, c) { + if (a && b.is(a, U) && b.is(a[0], "object")) + for (var d = 0, e = a.length; e > d; d++) + this.items[d].attr(a[d]); + else + for (var f = 0, g = this.items.length; g > f; f++) + this.items[f].attr(a, c); + return this + }, + kb.clear = function () { + for (; this.length; ) + this.pop() + }, + kb.splice = function (a, b, c) { + a = 0 > a ? N(this.length + a, 0) : a, + b = N(0, O(this.length - a, b)); + var d, + e = [], + f = [], + g = []; + for (d = 2; d < arguments.length; d++) + g.push(arguments[d]); + for (d = 0; b > d; d++) + f.push(this[a + d]); + for (; d < this.length - a; d++) + e.push(this[a + d]); + var h = g.length; + for (d = 0; d < h + e.length; d++) + this.items[a + d] = this[a + d] = h > d ? g[d] : e[d - h]; + for (d = this.items.length = this.length -= b - h; this[d]; ) + delete this[d++]; + return new jb(f) + }, + kb.exclude = function (a) { + for (var b = 0, c = this.length; c > b; b++) + if (this[b] == a) + return this.splice(b, 1), !0 + }, + kb.animate = function (a, c, d, e) { + (b.is(d, "function") || !d) && (e = d || null); + var f, + g, + h = this.items.length, + i = h, + j = this; + if (!h) + return this; + e && (g = function () { + !--h && e.call(j) + }), + d = b.is(d, T) ? d : g; + var k = b.animation(a, c, d, g); + for (f = this.items[--i].animate(k); i--; ) + this.items[i] && !this.items[i].removed && this.items[i].animateWith(f, k, k), this.items[i] && !this.items[i].removed || h--; + return this + }, + kb.insertAfter = function (a) { + for (var b = this.items.length; b--; ) + this.items[b].insertAfter(a); + return this + }, + kb.getBBox = function () { + for (var a = [], b = [], c = [], d = [], e = this.items.length; e--; ) + if (!this.items[e].removed) { + var f = this.items[e].getBBox(); + a.push(f.x), + b.push(f.y), + c.push(f.x + f.width), + d.push(f.y + f.height) + } + return a = O[C](0, a), + b = O[C](0, b), + c = N[C](0, c), + d = N[C](0, d), { + x: a, + y: b, + x2: c, + y2: d, + width: c - a, + height: d - b + } + }, + kb.clone = function (a) { + a = this.paper.set(); + for (var b = 0, c = this.items.length; c > b; b++) + a.push(this.items[b].clone()); + return a + }, + kb.toString = function () { + return "Raphaël‘s set" + }, + kb.glow = function (a) { + var b = this.paper.set(); + return this.forEach(function (c, d) { + var e = c.glow(a); + null != e && e.forEach(function (a, c) { + b.push(a) + }) + }), + b + }, + kb.isPointInside = function (a, b) { + var c = !1; + return this.forEach(function (d) { + return d.isPointInside(a, b) ? (c = !0, !1) : void 0 + }), + c + }, + b.registerFont = function (a) { + if (!a.face) + return a; + this.fonts = this.fonts || {}; + var b = { + w: a.w, + face: {}, + glyphs: {} + }, + c = a.face["font-family"]; + for (var d in a.face) + a.face[y](d) && (b.face[d] = a.face[d]); + if (this.fonts[c] ? this.fonts[c].push(b) : this.fonts[c] = [b], !a.svg) { + b.face["units-per-em"] = _(a.face["units-per-em"], 10); + for (var e in a.glyphs) + if (a.glyphs[y](e)) { + var f = a.glyphs[e]; + if (b.glyphs[e] = { + w: f.w, + k: {}, + d: f.d && "M" + f.d.replace(/[mlcxtrv]/g, function (a) { + return { + l: "L", + c: "C", + x: "z", + t: "m", + r: "l", + v: "c" + } + [a] || "M" + }) + "z" + }, f.k) + for (var g in f.k) + f[y](g) && (b.glyphs[e].k[g] = f.k[g]) + } + } + return a + }, + u.getFont = function (a, c, d, e) { + if (e = e || "normal", d = d || "normal", c = +c || { + normal: 400, + bold: 700, + lighter: 300, + bolder: 800 + } + [c] || 400, b.fonts) { + var f = b.fonts[a]; + if (!f) { + var g = new RegExp("(^|\\s)" + a.replace(/[^\w\d\s+!~.:_-]/g, F) + "(\\s|$)", "i"); + for (var h in b.fonts) + if (b.fonts[y](h) && g.test(h)) { + f = b.fonts[h]; + break + } + } + var i; + if (f) + for (var j = 0, k = f.length; k > j && (i = f[j], i.face["font-weight"] != c || i.face["font-style"] != d && i.face["font-style"] || i.face["font-stretch"] != e); j++); + return i + } + }, + u.print = function (a, c, d, e, f, g, h, i) { + g = g || "middle", + h = N(O(h || 0, 1), -1), + i = N(O(i || 1, 3), 1); + var j, + k = H(d)[I](F), + l = 0, + m = 0, + n = F; + if (b.is(e, "string") && (e = this.getFont(e)), e) { + j = (f || 16) / e.face["units-per-em"]; + for (var o = e.face.bbox[I](v), p = +o[0], q = o[3] - o[1], r = 0, s = +o[1] + ("baseline" == g ? q + +e.face.descent : q / 2), t = 0, u = k.length; u > t; t++) { + if ("\n" == k[t]) + l = 0, x = 0, m = 0, r += q * i; + else { + var w = m && e.glyphs[k[t - 1]] || {}, + x = e.glyphs[k[t]]; + l += m ? (w.w || e.w) + (w.k && w.k[k[t]] || 0) + e.w * h : 0, + m = 1 + } + x && x.d && (n += b.transformPath(x.d, ["t", l * j, r * j, "s", j, j, p, s, "t", (a - p) / j, (c - s) / j])) + } + } + return this.path(n).attr({ + fill: "#000", + stroke: "none" + }) + }, + u.add = function (a) { + if (b.is(a, "array")) + for (var c, d = this.set(), e = 0, f = a.length; f > e; e++) + c = a[e] || {}, + w[y](c.type) && d.push(this[c.type]().attr(c)); + return d + }, + b.format = function (a, c) { + var d = b.is(c, U) ? [0][D](c) : arguments; + return a && b.is(a, T) && d.length - 1 && (a = a.replace(x, function (a, b) { + return null == d[++b] ? F : d[b] + })), + a || F + }, + b.fullfill = function () { + var a = /\{([^\}]+)\}/g, + b = /(?:(?:^|\.)(.+?)(?=\[|\.|$|\()|\[('|")(.+?)\2\])(\(\))?/g, + c = function (a, c, d) { + var e = d; + return c.replace(b, function (a, b, c, d, f) { + b = b || d, + e && (b in e && (e = e[b]), "function" == typeof e && f && (e = e())) + }), + e = (null == e || e == d ? a : e) + "" + }; + return function (b, d) { + return String(b).replace(a, function (a, b) { + return c(a, b, d) + }) + } + } + (), + b.ninja = function () { + return A.was ? z.win.Raphael = A.is : delete Raphael, + b + }, + b.st = kb, + a.on("raphael.DOMload", function () { + t = !0 + }), + function (a, c, d) { + function e() { + /in/.test(a.readyState) ? setTimeout(e, 9) : b.eve("raphael.DOMload") + } + null == a.readyState && a.addEventListener && (a.addEventListener(c, d = function () { + a.removeEventListener(c, d, !1), + a.readyState = "complete" + }, !1), a.readyState = "loading"), + e() + } + (document, "DOMContentLoaded"), + b +}), function (a, b) { + "function" == typeof define && define.amd ? define("raphael.svg", ["raphael.core"], function (a) { + return b(a) + }) : b("object" == typeof exports ? require("./raphael.core") : a.Raphael) +} +(this, function (a) { + if (!a || a.svg) { + var b = "hasOwnProperty", + c = String, + d = parseFloat, + e = parseInt, + f = Math, + g = f.max, + h = f.abs, + i = f.pow, + j = /[, ]+/, + k = a.eve, + l = "", + m = " ", + n = "http://www.w3.org/1999/xlink", + o = { + block: "M5,0 0,2.5 5,5z", + classic: "M5,0 0,2.5 5,5 3.5,3 3.5,2z", + diamond: "M2.5,0 5,2.5 2.5,5 0,2.5z", + open: "M6,1 1,3.5 6,6", + oval: "M2.5,0A2.5,2.5,0,0,1,2.5,5 2.5,2.5,0,0,1,2.5,0z" + }, + p = {}; + a.toString = function () { + return "Your browser supports SVG.\nYou are running Raphaël " + this.version + }; + var q = function (d, e) { + if (e) { + "string" == typeof d && (d = q(d)); + for (var f in e) + e[b](f) && ("xlink:" == f.substring(0, 6) ? d.setAttributeNS(n, f.substring(6), c(e[f])) : d.setAttribute(f, c(e[f]))) + } else + d = a._g.doc.createElementNS("http://www.w3.org/2000/svg", d), d.style && (d.style.webkitTapHighlightColor = "rgba(0,0,0,0)"); + return d + }, + r = function (b, e) { + var j = "linear", + k = b.id + e, + m = .5, + n = .5, + o = b.node, + p = b.paper, + r = o.style, + s = a._g.doc.getElementById(k); + if (!s) { + if (e = c(e).replace(a._radial_gradient, function (a, b, c) { + if (j = "radial", b && c) { + m = d(b), + n = d(c); + var e = 2 * (n > .5) - 1; + i(m - .5, 2) + i(n - .5, 2) > .25 && (n = f.sqrt(.25 - i(m - .5, 2)) * e + .5) && .5 != n && (n = n.toFixed(5) - 1e-5 * e) + } + return l + }), e = e.split(/\s*\-\s*/), "linear" == j) { + var t = e.shift(); + if (t = -d(t), isNaN(t)) + return null; + var u = [0, 0, f.cos(a.rad(t)), f.sin(a.rad(t))], + v = 1 / (g(h(u[2]), h(u[3])) || 1); + u[2] *= v, + u[3] *= v, + u[2] < 0 && (u[0] = -u[2], u[2] = 0), + u[3] < 0 && (u[1] = -u[3], u[3] = 0) + } + var w = a._parseDots(e); + if (!w) + return null; + if (k = k.replace(/[\(\)\s,\xb0#]/g, "_"), b.gradient && k != b.gradient.id && (p.defs.removeChild(b.gradient), delete b.gradient), !b.gradient) { + s = q(j + "Gradient", { + id: k + }), + b.gradient = s, + q(s, "radial" == j ? { + fx: m, + fy: n + } + : { + x1: u[0], + y1: u[1], + x2: u[2], + y2: u[3], + gradientTransform: b.matrix.invert() + }), + p.defs.appendChild(s); + for (var x = 0, y = w.length; y > x; x++) + s.appendChild(q("stop", { + offset: w[x].offset ? w[x].offset : x ? "100%" : "0%", + "stop-color": w[x].color || "#fff", + "stop-opacity": isFinite(w[x].opacity) ? w[x].opacity : 1 + })) + } + } + return q(o, { + fill: "url('" + document.location.origin + document.location.pathname + "#" + k + "')", + opacity: 1, + "fill-opacity": 1 + }), + r.fill = l, + r.opacity = 1, + r.fillOpacity = 1, + 1 + }, + s = function (a) { + var b = a.getBBox(1); + q(a.pattern, { + patternTransform: a.matrix.invert() + " translate(" + b.x + "," + b.y + ")" + }) + }, + t = function (d, e, f) { + if ("path" == d.type) { + for (var g, h, i, j, k, m = c(e).toLowerCase().split("-"), n = d.paper, r = f ? "end" : "start", s = d.node, t = d.attrs, u = t["stroke-width"], v = m.length, w = "classic", x = 3, y = 3, z = 5; v--; ) + switch (m[v]) { + case "block": + case "classic": + case "oval": + case "diamond": + case "open": + case "none": + w = m[v]; + break; + case "wide": + y = 5; + break; + case "narrow": + y = 2; + break; + case "long": + x = 5; + break; + case "short": + x = 2 + } + if ("open" == w ? (x += 2, y += 2, z += 2, i = 1, j = f ? 4 : 1, k = { + fill: "none", + stroke: t.stroke + }) : (j = i = x / 2, k = { + fill: t.stroke, + stroke: "none" + }), d._.arrows ? f ? (d._.arrows.endPath && p[d._.arrows.endPath]--, d._.arrows.endMarker && p[d._.arrows.endMarker]--) : (d._.arrows.startPath && p[d._.arrows.startPath]--, d._.arrows.startMarker && p[d._.arrows.startMarker]--) : d._.arrows = {}, "none" != w) { + var A = "raphael-marker-" + w, + B = "raphael-marker-" + r + w + x + y + "-obj" + d.id; + a._g.doc.getElementById(A) ? p[A]++ : (n.defs.appendChild(q(q("path"), { + "stroke-linecap": "round", + d: o[w], + id: A + })), p[A] = 1); + var C, + D = a._g.doc.getElementById(B); + D ? (p[B]++, C = D.getElementsByTagName("use")[0]) : (D = q(q("marker"), { + id: B, + markerHeight: y, + markerWidth: x, + orient: "auto", + refX: j, + refY: y / 2 + }), C = q(q("use"), { + "xlink:href": "#" + A, + transform: (f ? "rotate(180 " + x / 2 + " " + y / 2 + ") " : l) + "scale(" + x / z + "," + y / z + ")", + "stroke-width": (1 / ((x / z + y / z) / 2)).toFixed(4) + }), D.appendChild(C), n.defs.appendChild(D), p[B] = 1), + q(C, k); + var E = i * ("diamond" != w && "oval" != w); + f ? (g = d._.arrows.startdx * u || 0, h = a.getTotalLength(t.path) - E * u) : (g = E * u, h = a.getTotalLength(t.path) - (d._.arrows.enddx * u || 0)), + k = {}, + k["marker-" + r] = "url(#" + B + ")", + (h || g) && (k.d = a.getSubpath(t.path, g, h)), + q(s, k), + d._.arrows[r + "Path"] = A, + d._.arrows[r + "Marker"] = B, + d._.arrows[r + "dx"] = E, + d._.arrows[r + "Type"] = w, + d._.arrows[r + "String"] = e + } else + f ? (g = d._.arrows.startdx * u || 0, h = a.getTotalLength(t.path) - g) : (g = 0, h = a.getTotalLength(t.path) - (d._.arrows.enddx * u || 0)), d._.arrows[r + "Path"] && q(s, { + d: a.getSubpath(t.path, g, h) + }), delete d._.arrows[r + "Path"], delete d._.arrows[r + "Marker"], delete d._.arrows[r + "dx"], delete d._.arrows[r + "Type"], delete d._.arrows[r + "String"]; + for (k in p) + if (p[b](k) && !p[k]) { + var F = a._g.doc.getElementById(k); + F && F.parentNode.removeChild(F) + } + } + }, + u = { + "-": [3, 1], + ".": [1, 1], + "-.": [3, 1, 1, 1], + "-..": [3, 1, 1, 1, 1, 1], + ". ": [1, 3], + "- ": [4, 3], + "--": [8, 3], + "- .": [4, 3, 1, 3], + "--.": [8, 3, 1, 3], + "--..": [8, 3, 1, 3, 1, 3] + }, + v = function (a, b, d) { + if (b = u[c(b).toLowerCase()]) { + for (var e = a.attrs["stroke-width"] || "1", f = { + round: e, + square: e, + butt: 0 + } + [a.attrs["stroke-linecap"] || d["stroke-linecap"]] || 0, g = [], h = b.length; h--; ) + g[h] = b[h] * e + (h % 2 ? 1 : -1) * f; + q(a.node, { + "stroke-dasharray": g.join(",") + }) + } else + q(a.node, { + "stroke-dasharray": "none" + }) + }, + w = function (d, f) { + var i = d.node, + k = d.attrs, + m = i.style.visibility; + i.style.visibility = "hidden"; + for (var o in f) + if (f[b](o)) { + if (!a._availableAttrs[b](o)) + continue; + var p = f[o]; + switch (k[o] = p, o) { + case "blur": + d.blur(p); + break; + case "title": + var u = i.getElementsByTagName("title"); + if (u.length && (u = u[0])) + u.firstChild.nodeValue = p; + else { + u = q("title"); + var w = a._g.doc.createTextNode(p); + u.appendChild(w), + i.appendChild(u) + } + break; + case "href": + case "target": + var x = i.parentNode; + if ("a" != x.tagName.toLowerCase()) { + var z = q("a"); + x.insertBefore(z, i), + z.appendChild(i), + x = z + } + "target" == o ? x.setAttributeNS(n, "show", "blank" == p ? "new" : p) : x.setAttributeNS(n, o, p); + break; + case "cursor": + i.style.cursor = p; + break; + case "transform": + d.transform(p); + break; + case "arrow-start": + t(d, p); + break; + case "arrow-end": + t(d, p, 1); + break; + case "clip-rect": + var A = c(p).split(j); + if (4 == A.length) { + d.clip && d.clip.parentNode.parentNode.removeChild(d.clip.parentNode); + var B = q("clipPath"), + C = q("rect"); + B.id = a.createUUID(), + q(C, { + x: A[0], + y: A[1], + width: A[2], + height: A[3] + }), + B.appendChild(C), + d.paper.defs.appendChild(B), + q(i, { + "clip-path": "url(#" + B.id + ")" + }), + d.clip = C + } + if (!p) { + var D = i.getAttribute("clip-path"); + if (D) { + var E = a._g.doc.getElementById(D.replace(/(^url\(#|\)$)/g, l)); + E && E.parentNode.removeChild(E), + q(i, { + "clip-path": l + }), + delete d.clip + } + } + break; + case "path": + "path" == d.type && (q(i, { + d: p ? k.path = a._pathToAbsolute(p) : "M0,0" + }), d._.dirty = 1, d._.arrows && ("startString" in d._.arrows && t(d, d._.arrows.startString), "endString" in d._.arrows && t(d, d._.arrows.endString, 1))); + break; + case "width": + if (i.setAttribute(o, p), d._.dirty = 1, !k.fx) + break; + o = "x", + p = k.x; + case "x": + k.fx && (p = -k.x - (k.width || 0)); + case "rx": + if ("rx" == o && "rect" == d.type) + break; + case "cx": + i.setAttribute(o, p), + d.pattern && s(d), + d._.dirty = 1; + break; + case "height": + if (i.setAttribute(o, p), d._.dirty = 1, !k.fy) + break; + o = "y", + p = k.y; + case "y": + k.fy && (p = -k.y - (k.height || 0)); + case "ry": + if ("ry" == o && "rect" == d.type) + break; + case "cy": + i.setAttribute(o, p), + d.pattern && s(d), + d._.dirty = 1; + break; + case "r": + "rect" == d.type ? q(i, { + rx: p, + ry: p + }) : i.setAttribute(o, p), + d._.dirty = 1; + break; + case "src": + "image" == d.type && i.setAttributeNS(n, "href", p); + break; + case "stroke-width": + (1 != d._.sx || 1 != d._.sy) && (p /= g(h(d._.sx), h(d._.sy)) || 1), + i.setAttribute(o, p), + k["stroke-dasharray"] && v(d, k["stroke-dasharray"], f), + d._.arrows && ("startString" in d._.arrows && t(d, d._.arrows.startString), "endString" in d._.arrows && t(d, d._.arrows.endString, 1)); + break; + case "stroke-dasharray": + v(d, p, f); + break; + case "fill": + var F = c(p).match(a._ISURL); + if (F) { + B = q("pattern"); + var G = q("image"); + B.id = a.createUUID(), + q(B, { + x: 0, + y: 0, + patternUnits: "userSpaceOnUse", + height: 1, + width: 1 + }), + q(G, { + x: 0, + y: 0, + "xlink:href": F[1] + }), + B.appendChild(G), + function (b) { + a._preload(F[1], function () { + var a = this.offsetWidth, + c = this.offsetHeight; + q(b, { + width: a, + height: c + }), + q(G, { + width: a, + height: c + }) + }) + } + (B), + d.paper.defs.appendChild(B), + q(i, { + fill: "url(#" + B.id + ")" + }), + d.pattern = B, + d.pattern && s(d); + break + } + var H = a.getRGB(p); + if (H.error) { + if (("circle" == d.type || "ellipse" == d.type || "r" != c(p).charAt()) && r(d, p)) { + if ("opacity" in k || "fill-opacity" in k) { + var I = a._g.doc.getElementById(i.getAttribute("fill").replace(/^url\(#|\)$/g, l)); + if (I) { + var J = I.getElementsByTagName("stop"); + q(J[J.length - 1], { + "stop-opacity": ("opacity" in k ? k.opacity : 1) * ("fill-opacity" in k ? k["fill-opacity"] : 1) + }) + } + } + k.gradient = p, + k.fill = "none"; + break + } + } else + delete f.gradient, delete k.gradient, !a.is(k.opacity, "undefined") && a.is(f.opacity, "undefined") && q(i, { + opacity: k.opacity + }), !a.is(k["fill-opacity"], "undefined") && a.is(f["fill-opacity"], "undefined") && q(i, { + "fill-opacity": k["fill-opacity"] + }); + H[b]("opacity") && q(i, { + "fill-opacity": H.opacity > 1 ? H.opacity / 100 : H.opacity + }); + case "stroke": + H = a.getRGB(p), + i.setAttribute(o, H.hex), + "stroke" == o && H[b]("opacity") && q(i, { + "stroke-opacity": H.opacity > 1 ? H.opacity / 100 : H.opacity + }), + "stroke" == o && d._.arrows && ("startString" in d._.arrows && t(d, d._.arrows.startString), "endString" in d._.arrows && t(d, d._.arrows.endString, 1)); + break; + case "gradient": + ("circle" == d.type || "ellipse" == d.type || "r" != c(p).charAt()) && r(d, p); + break; + case "opacity": + k.gradient && !k[b]("stroke-opacity") && q(i, { + "stroke-opacity": p > 1 ? p / 100 : p + }); + case "fill-opacity": + if (k.gradient) { + I = a._g.doc.getElementById(i.getAttribute("fill").replace(/^url\(#|\)$/g, l)), + I && (J = I.getElementsByTagName("stop"), q(J[J.length - 1], { + "stop-opacity": p + })); + break + } + default: + "font-size" == o && (p = e(p, 10) + "px"); + var K = o.replace(/(\-.)/g, function (a) { + return a.substring(1).toUpperCase() + }); + i.style[K] = p, + d._.dirty = 1, + i.setAttribute(o, p) + } + } + y(d, f), + i.style.visibility = m + }, + x = 1.2, + y = function (d, f) { + if ("text" == d.type && (f[b]("text") || f[b]("font") || f[b]("font-size") || f[b]("x") || f[b]("y"))) { + var g = d.attrs, + h = d.node, + i = h.firstChild ? e(a._g.doc.defaultView.getComputedStyle(h.firstChild, l).getPropertyValue("font-size"), 10) : 10; + if (f[b]("text")) { + for (g.text = f.text; h.firstChild; ) + h.removeChild(h.firstChild); + for (var j, k = c(f.text).split("\n"), m = [], n = 0, o = k.length; o > n; n++) + j = q("tspan"), n && q(j, { + dy: i * x, + x: g.x + }), j.appendChild(a._g.doc.createTextNode(k[n])), h.appendChild(j), m[n] = j + } else + for (m = h.getElementsByTagName("tspan"), n = 0, o = m.length; o > n; n++) + n ? q(m[n], { + dy: i * x, + x: g.x + }) : q(m[0], { + dy: 0 + }); + q(h, { + x: g.x, + y: g.y + }), + d._.dirty = 1; + var p = d._getBBox(), + r = g.y - (p.y + p.height / 2); + r && a.is(r, "finite") && q(m[0], { + dy: r + }) + } + }, + z = function (a) { + return a.parentNode && "a" === a.parentNode.tagName.toLowerCase() ? a.parentNode : a + }, + A = function (b, c) { + this[0] = this.node = b, + b.raphael = !0, + this.id = a._oid++, + b.raphaelid = this.id, + this.matrix = a.matrix(), + this.realPath = null, + this.paper = c, + this.attrs = this.attrs || {}, + this._ = { + transform: [], + sx: 1, + sy: 1, + deg: 0, + dx: 0, + dy: 0, + dirty: 1 + }, + !c.bottom && (c.bottom = this), + this.prev = c.top, + c.top && (c.top.next = this), + c.top = this, + this.next = null + }, + B = a.el; + A.prototype = B, + B.constructor = A, + a._engine.path = function (a, b) { + var c = q("path"); + b.canvas && b.canvas.appendChild(c); + var d = new A(c, b); + return d.type = "path", + w(d, { + fill: "none", + stroke: "#000", + path: a + }), + d + }, + B.rotate = function (a, b, e) { + if (this.removed) + return this; + if (a = c(a).split(j), a.length - 1 && (b = d(a[1]), e = d(a[2])), a = d(a[0]), null == e && (b = e), null == b || null == e) { + var f = this.getBBox(1); + b = f.x + f.width / 2, + e = f.y + f.height / 2 + } + return this.transform(this._.transform.concat([["r", a, b, e]])), + this + }, + B.scale = function (a, b, e, f) { + if (this.removed) + return this; + if (a = c(a).split(j), a.length - 1 && (b = d(a[1]), e = d(a[2]), f = d(a[3])), a = d(a[0]), null == b && (b = a), null == f && (e = f), null == e || null == f) + var g = this.getBBox(1); + return e = null == e ? g.x + g.width / 2 : e, + f = null == f ? g.y + g.height / 2 : f, + this.transform(this._.transform.concat([["s", a, b, e, f]])), + this + }, + B.translate = function (a, b) { + return this.removed ? this : (a = c(a).split(j), a.length - 1 && (b = d(a[1])), a = d(a[0]) || 0, b = +b || 0, this.transform(this._.transform.concat([["t", a, b]])), this) + }, + B.transform = function (c) { + var d = this._; + if (null == c) + return d.transform; + if (a._extractTransform(this, c), this.clip && q(this.clip, { + transform: this.matrix.invert() + }), this.pattern && s(this), this.node && q(this.node, { + transform: this.matrix + }), 1 != d.sx || 1 != d.sy) { + var e = this.attrs[b]("stroke-width") ? this.attrs["stroke-width"] : 1; + this.attr({ + "stroke-width": e + }) + } + return this + }, + B.hide = function () { + return this.removed || (this.node.style.display = "none"), + this + }, + B.show = function () { + return this.removed || (this.node.style.display = ""), + this + }, + B.remove = function () { + var b = z(this.node); + if (!this.removed && b.parentNode) { + var c = this.paper; + c.__set__ && c.__set__.exclude(this), + k.unbind("raphael.*.*." + this.id), + this.gradient && c.defs.removeChild(this.gradient), + a._tear(this, c), + b.parentNode.removeChild(b), + this.removeData(); + for (var d in this) + this[d] = "function" == typeof this[d] ? a._removedFactory(d) : null; + this.removed = !0 + } + }, + B._getBBox = function () { + if ("none" == this.node.style.display) { + this.show(); + var a = !0 + } + var b, + c = !1; + this.paper.canvas.parentElement ? b = this.paper.canvas.parentElement.style : this.paper.canvas.parentNode && (b = this.paper.canvas.parentNode.style), + b && "none" == b.display && (c = !0, b.display = ""); + var d = {}; + try { + d = this.node.getBBox() + } catch (e) { + d = { + x: this.node.clientLeft, + y: this.node.clientTop, + width: this.node.clientWidth, + height: this.node.clientHeight + } + } + finally { + d = d || {}, + c && (b.display = "none") + } + return a && this.hide(), + d + }, + B.attr = function (c, d) { + if (this.removed) + return this; + if (null == c) { + var e = {}; + for (var f in this.attrs) + this.attrs[b](f) && (e[f] = this.attrs[f]); + return e.gradient && "none" == e.fill && (e.fill = e.gradient) && delete e.gradient, + e.transform = this._.transform, + e + } + if (null == d && a.is(c, "string")) { + if ("fill" == c && "none" == this.attrs.fill && this.attrs.gradient) + return this.attrs.gradient; + if ("transform" == c) + return this._.transform; + for (var g = c.split(j), h = {}, i = 0, l = g.length; l > i; i++) + c = g[i], c in this.attrs ? h[c] = this.attrs[c] : a.is(this.paper.customAttributes[c], "function") ? h[c] = this.paper.customAttributes[c].def : h[c] = a._availableAttrs[c]; + return l - 1 ? h : h[g[0]] + } + if (null == d && a.is(c, "array")) { + for (h = {}, i = 0, l = c.length; l > i; i++) + h[c[i]] = this.attr(c[i]); + return h + } + if (null != d) { + var m = {}; + m[c] = d + } else + null != c && a.is(c, "object") && (m = c); + for (var n in m) + k("raphael.attr." + n + "." + this.id, this, m[n]); + for (n in this.paper.customAttributes) + if (this.paper.customAttributes[b](n) && m[b](n) && a.is(this.paper.customAttributes[n], "function")) { + var o = this.paper.customAttributes[n].apply(this, [].concat(m[n])); + this.attrs[n] = m[n]; + for (var p in o) + o[b](p) && (m[p] = o[p]) + } + return w(this, m), + this + }, + B.toFront = function () { + if (this.removed) + return this; + var b = z(this.node); + b.parentNode.appendChild(b); + var c = this.paper; + return c.top != this && a._tofront(this, c), + this + }, + B.toBack = function () { + if (this.removed) + return this; + var b = z(this.node), + c = b.parentNode; + c.insertBefore(b, c.firstChild), + a._toback(this, this.paper); + this.paper; + return this + }, + B.insertAfter = function (b) { + if (this.removed || !b) + return this; + var c = z(this.node), + d = z(b.node || b[b.length - 1].node); + return d.nextSibling ? d.parentNode.insertBefore(c, d.nextSibling) : d.parentNode.appendChild(c), + a._insertafter(this, b, this.paper), + this + }, + B.insertBefore = function (b) { + if (this.removed || !b) + return this; + var c = z(this.node), + d = z(b.node || b[0].node); + return d.parentNode.insertBefore(c, d), + a._insertbefore(this, b, this.paper), + this + }, + B.blur = function (b) { + var c = this; + if (0 !== +b) { + var d = q("filter"), + e = q("feGaussianBlur"); + c.attrs.blur = b, + d.id = a.createUUID(), + q(e, { + stdDeviation: +b || 1.5 + }), + d.appendChild(e), + c.paper.defs.appendChild(d), + c._blur = d, + q(c.node, { + filter: "url(#" + d.id + ")" + }) + } else + c._blur && (c._blur.parentNode.removeChild(c._blur), delete c._blur, delete c.attrs.blur), c.node.removeAttribute("filter"); + return c + }, + a._engine.circle = function (a, b, c, d) { + var e = q("circle"); + a.canvas && a.canvas.appendChild(e); + var f = new A(e, a); + return f.attrs = { + cx: b, + cy: c, + r: d, + fill: "none", + stroke: "#000" + }, + f.type = "circle", + q(e, f.attrs), + f + }, + a._engine.rect = function (a, b, c, d, e, f) { + var g = q("rect"); + a.canvas && a.canvas.appendChild(g); + var h = new A(g, a); + return h.attrs = { + x: b, + y: c, + width: d, + height: e, + rx: f || 0, + ry: f || 0, + fill: "none", + stroke: "#000" + }, + h.type = "rect", + q(g, h.attrs), + h + }, + a._engine.ellipse = function (a, b, c, d, e) { + var f = q("ellipse"); + a.canvas && a.canvas.appendChild(f); + var g = new A(f, a); + return g.attrs = { + cx: b, + cy: c, + rx: d, + ry: e, + fill: "none", + stroke: "#000" + }, + g.type = "ellipse", + q(f, g.attrs), + g + }, + a._engine.image = function (a, b, c, d, e, f) { + var g = q("image"); + q(g, { + x: c, + y: d, + width: e, + height: f, + preserveAspectRatio: "none" + }), + g.setAttributeNS(n, "href", b), + a.canvas && a.canvas.appendChild(g); + var h = new A(g, a); + return h.attrs = { + x: c, + y: d, + width: e, + height: f, + src: b + }, + h.type = "image", + h + }, + a._engine.text = function (b, c, d, e) { + var f = q("text"); + b.canvas && b.canvas.appendChild(f); + var g = new A(f, b); + return g.attrs = { + x: c, + y: d, + "text-anchor": "middle", + text: e, + "font-family": a._availableAttrs["font-family"], + "font-size": a._availableAttrs["font-size"], + stroke: "none", + fill: "#000" + }, + g.type = "text", + w(g, g.attrs), + g + }, + a._engine.setSize = function (a, b) { + return this.width = a || this.width, + this.height = b || this.height, + this.canvas.setAttribute("width", this.width), + this.canvas.setAttribute("height", this.height), + this._viewBox && this.setViewBox.apply(this, this._viewBox), + this + }, + a._engine.create = function () { + var b = a._getContainer.apply(0, arguments), + c = b && b.container, + d = b.x, + e = b.y, + f = b.width, + g = b.height; + if (!c) + throw new Error("SVG container not found."); + var h, + i = q("svg"), + j = "overflow:hidden;"; + return d = d || 0, + e = e || 0, + f = f || 512, + g = g || 342, + q(i, { + height: g, + version: 1.1, + width: f, + xmlns: "http://www.w3.org/2000/svg", + "xmlns:xlink": "http://www.w3.org/1999/xlink" + }), + 1 == c ? (i.style.cssText = j + "position:absolute;left:" + d + "px;top:" + e + "px", a._g.doc.body.appendChild(i), h = 1) : (i.style.cssText = j + "position:relative", c.firstChild ? c.insertBefore(i, c.firstChild) : c.appendChild(i)), + c = new a._Paper, + c.width = f, + c.height = g, + c.canvas = i, + c.clear(), + c._left = c._top = 0, + h && (c.renderfix = function () {}), + c.renderfix(), + c + }, + a._engine.setViewBox = function (a, b, c, d, e) { + k("raphael.setViewBox", this, this._viewBox, [a, b, c, d, e]); + var f, + h, + i = this.getSize(), + j = g(c / i.width, d / i.height), + l = this.top, + n = e ? "xMidYMid meet" : "xMinYMin"; + for (null == a ? (this._vbSize && (j = 1), delete this._vbSize, f = "0 0 " + this.width + m + this.height) : (this._vbSize = j, f = a + m + b + m + c + m + d), q(this.canvas, { + viewBox: f, + preserveAspectRatio: n + }); j && l; ) + h = "stroke-width" in l.attrs ? l.attrs["stroke-width"] : 1, l.attr({ + "stroke-width": h + }), l._.dirty = 1, l._.dirtyT = 1, l = l.prev; + return this._viewBox = [a, b, c, d, !!e], + this + }, + a.prototype.renderfix = function () { + var a, + b = this.canvas, + c = b.style; + try { + a = b.getScreenCTM() || b.createSVGMatrix() + } catch (d) { + a = b.createSVGMatrix() + } + var e = -a.e % 1, + f = -a.f % 1; + (e || f) && (e && (this._left = (this._left + e) % 1, c.left = this._left + "px"), f && (this._top = (this._top + f) % 1, c.top = this._top + "px")) + }, + a.prototype.clear = function () { + a.eve("raphael.clear", this); + for (var b = this.canvas; b.firstChild; ) + b.removeChild(b.firstChild); + this.bottom = this.top = null, + (this.desc = q("desc")).appendChild(a._g.doc.createTextNode("Created with Raphaël " + a.version)), + b.appendChild(this.desc), + b.appendChild(this.defs = q("defs")) + }, + a.prototype.remove = function () { + k("raphael.remove", this), + this.canvas.parentNode && this.canvas.parentNode.removeChild(this.canvas); + for (var b in this) + this[b] = "function" == typeof this[b] ? a._removedFactory(b) : null + }; + var C = a.st; + for (var D in B) + B[b](D) && !C[b](D) && (C[D] = function (a) { + return function () { + var b = arguments; + return this.forEach(function (c) { + c[a].apply(c, b) + }) + } + } + (D)) + } +}), function (a, b) { + "function" == typeof define && define.amd ? define("raphael.vml", ["raphael.core"], function (a) { + return b(a) + }) : b("object" == typeof exports ? require("./raphael.core") : a.Raphael) +} +(this, function (a) { + if (!a || a.vml) { + var b = "hasOwnProperty", + c = String, + d = parseFloat, + e = Math, + f = e.round, + g = e.max, + h = e.min, + i = e.abs, + j = "fill", + k = /[, ]+/, + l = a.eve, + m = " progid:DXImageTransform.Microsoft", + n = " ", + o = "", + p = { + M: "m", + L: "l", + C: "c", + Z: "x", + m: "t", + l: "r", + c: "v", + z: "x" + }, + q = /([clmz]),?([^clmz]*)/gi, + r = / progid:\S+Blur\([^\)]+\)/g, + s = /-?[^,\s-]+/g, + t = "position:absolute;left:0;top:0;width:1px;height:1px;behavior:url(#default#VML)", + u = 21600, + v = { + path: 1, + rect: 1, + image: 1 + }, + w = { + circle: 1, + ellipse: 1 + }, + x = function (b) { + var d = /[ahqstv]/gi, + e = a._pathToAbsolute; + if (c(b).match(d) && (e = a._path2curve), d = /[clmz]/g, e == a._pathToAbsolute && !c(b).match(d)) { + var g = c(b).replace(q, function (a, b, c) { + var d = [], + e = "m" == b.toLowerCase(), + g = p[b]; + return c.replace(s, function (a) { + e && 2 == d.length && (g += d + p["m" == b ? "l" : "L"], d = []), + d.push(f(a * u)) + }), + g + d + }); + return g + } + var h, + i, + j = e(b); + g = []; + for (var k = 0, l = j.length; l > k; k++) { + h = j[k], + i = j[k][0].toLowerCase(), + "z" == i && (i = "x"); + for (var m = 1, r = h.length; r > m; m++) + i += f(h[m] * u) + (m != r - 1 ? "," : o); + g.push(i) + } + return g.join(n) + }, + y = function (b, c, d) { + var e = a.matrix(); + return e.rotate(-b, .5, .5), { + dx: e.x(c, d), + dy: e.y(c, d) + } + }, + z = function (a, b, c, d, e, f) { + var g = a._, + h = a.matrix, + k = g.fillpos, + l = a.node, + m = l.style, + o = 1, + p = "", + q = u / b, + r = u / c; + if (m.visibility = "hidden", b && c) { + if (l.coordsize = i(q) + n + i(r), m.rotation = f * (0 > b * c ? -1 : 1), f) { + var s = y(f, d, e); + d = s.dx, + e = s.dy + } + if (0 > b && (p += "x"), 0 > c && (p += " y") && (o = -1), m.flip = p, l.coordorigin = d * -q + n + e * -r, k || g.fillsize) { + var t = l.getElementsByTagName(j); + t = t && t[0], + l.removeChild(t), + k && (s = y(f, h.x(k[0], k[1]), h.y(k[0], k[1])), t.position = s.dx * o + n + s.dy * o), + g.fillsize && (t.size = g.fillsize[0] * i(b) + n + g.fillsize[1] * i(c)), + l.appendChild(t) + } + m.visibility = "visible" + } + }; + a.toString = function () { + return "Your browser doesn’t support SVG. Falling down to VML.\nYou are running Raphaël " + this.version + }; + var A = function (a, b, d) { + for (var e = c(b).toLowerCase().split("-"), f = d ? "end" : "start", g = e.length, h = "classic", i = "medium", j = "medium"; g--; ) + switch (e[g]) { + case "block": + case "classic": + case "oval": + case "diamond": + case "open": + case "none": + h = e[g]; + break; + case "wide": + case "narrow": + j = e[g]; + break; + case "long": + case "short": + i = e[g] + } + var k = a.node.getElementsByTagName("stroke")[0]; + k[f + "arrow"] = h, + k[f + "arrowlength"] = i, + k[f + "arrowwidth"] = j + }, + B = function (e, i) { + e.attrs = e.attrs || {}; + var l = e.node, + m = e.attrs, + p = l.style, + q = v[e.type] && (i.x != m.x || i.y != m.y || i.width != m.width || i.height != m.height || i.cx != m.cx || i.cy != m.cy || i.rx != m.rx || i.ry != m.ry || i.r != m.r), + r = w[e.type] && (m.cx != i.cx || m.cy != i.cy || m.r != i.r || m.rx != i.rx || m.ry != i.ry), + s = e; + for (var t in i) + i[b](t) && (m[t] = i[t]); + if (q && (m.path = a._getPath[e.type](e), e._.dirty = 1), i.href && (l.href = i.href), i.title && (l.title = i.title), i.target && (l.target = i.target), i.cursor && (p.cursor = i.cursor), "blur" in i && e.blur(i.blur), (i.path && "path" == e.type || q) && (l.path = x(~c(m.path).toLowerCase().indexOf("r") ? a._pathToAbsolute(m.path) : m.path), e._.dirty = 1, "image" == e.type && (e._.fillpos = [m.x, m.y], e._.fillsize = [m.width, m.height], z(e, 1, 1, 0, 0, 0))), "transform" in i && e.transform(i.transform), r) { + var y = +m.cx, + B = +m.cy, + D = +m.rx || +m.r || 0, + E = +m.ry || +m.r || 0; + l.path = a.format("ar{0},{1},{2},{3},{4},{1},{4},{1}x", f((y - D) * u), f((B - E) * u), f((y + D) * u), f((B + E) * u), f(y * u)), + e._.dirty = 1 + } + if ("clip-rect" in i) { + var G = c(i["clip-rect"]).split(k); + if (4 == G.length) { + G[2] = +G[2] + +G[0], + G[3] = +G[3] + +G[1]; + var H = l.clipRect || a._g.doc.createElement("div"), + I = H.style; + I.clip = a.format("rect({1}px {2}px {3}px {0}px)", G), + l.clipRect || (I.position = "absolute", I.top = 0, I.left = 0, I.width = e.paper.width + "px", I.height = e.paper.height + "px", l.parentNode.insertBefore(H, l), H.appendChild(l), l.clipRect = H) + } + i["clip-rect"] || l.clipRect && (l.clipRect.style.clip = "auto") + } + if (e.textpath) { + var J = e.textpath.style; + i.font && (J.font = i.font), + i["font-family"] && (J.fontFamily = '"' + i["font-family"].split(",")[0].replace(/^['"]+|['"]+$/g, o) + '"'), + i["font-size"] && (J.fontSize = i["font-size"]), + i["font-weight"] && (J.fontWeight = i["font-weight"]), + i["font-style"] && (J.fontStyle = i["font-style"]) + } + if ("arrow-start" in i && A(s, i["arrow-start"]), "arrow-end" in i && A(s, i["arrow-end"], 1), null != i.opacity || null != i["stroke-width"] || null != i.fill || null != i.src || null != i.stroke || null != i["stroke-width"] || null != i["stroke-opacity"] || null != i["fill-opacity"] || null != i["stroke-dasharray"] || null != i["stroke-miterlimit"] || null != i["stroke-linejoin"] || null != i["stroke-linecap"]) { + var K = l.getElementsByTagName(j), + L = !1; + if (K = K && K[0], !K && (L = K = F(j)), "image" == e.type && i.src && (K.src = i.src), i.fill && (K.on = !0), (null == K.on || "none" == i.fill || null === i.fill) && (K.on = !1), K.on && i.fill) { + var M = c(i.fill).match(a._ISURL); + if (M) { + K.parentNode == l && l.removeChild(K), + K.rotate = !0, + K.src = M[1], + K.type = "tile"; + var N = e.getBBox(1); + K.position = N.x + n + N.y, + e._.fillpos = [N.x, N.y], + a._preload(M[1], function () { + e._.fillsize = [this.offsetWidth, this.offsetHeight] + }) + } else + K.color = a.getRGB(i.fill).hex, K.src = o, K.type = "solid", a.getRGB(i.fill).error && (s.type in { + circle: 1, + ellipse: 1 + } + || "r" != c(i.fill).charAt()) && C(s, i.fill, K) && (m.fill = "none", m.gradient = i.fill, K.rotate = !1) + } + if ("fill-opacity" in i || "opacity" in i) { + var O = ((+m["fill-opacity"] + 1 || 2) - 1) * ((+m.opacity + 1 || 2) - 1) * ((+a.getRGB(i.fill).o + 1 || 2) - 1); + O = h(g(O, 0), 1), + K.opacity = O, + K.src && (K.color = "none") + } + l.appendChild(K); + var P = l.getElementsByTagName("stroke") && l.getElementsByTagName("stroke")[0], + Q = !1; + !P && (Q = P = F("stroke")), + (i.stroke && "none" != i.stroke || i["stroke-width"] || null != i["stroke-opacity"] || i["stroke-dasharray"] || i["stroke-miterlimit"] || i["stroke-linejoin"] || i["stroke-linecap"]) && (P.on = !0), + ("none" == i.stroke || null === i.stroke || null == P.on || 0 == i.stroke || 0 == i["stroke-width"]) && (P.on = !1); + var R = a.getRGB(i.stroke); + P.on && i.stroke && (P.color = R.hex), + O = ((+m["stroke-opacity"] + 1 || 2) - 1) * ((+m.opacity + 1 || 2) - 1) * ((+R.o + 1 || 2) - 1); + var S = .75 * (d(i["stroke-width"]) || 1); + if (O = h(g(O, 0), 1), null == i["stroke-width"] && (S = m["stroke-width"]), i["stroke-width"] && (P.weight = S), S && 1 > S && (O *= S) && (P.weight = 1), P.opacity = O, i["stroke-linejoin"] && (P.joinstyle = i["stroke-linejoin"] || "miter"), P.miterlimit = i["stroke-miterlimit"] || 8, i["stroke-linecap"] && (P.endcap = "butt" == i["stroke-linecap"] ? "flat" : "square" == i["stroke-linecap"] ? "square" : "round"), "stroke-dasharray" in i) { + var T = { + "-": "shortdash", + ".": "shortdot", + "-.": "shortdashdot", + "-..": "shortdashdotdot", + ". ": "dot", + "- ": "dash", + "--": "longdash", + "- .": "dashdot", + "--.": "longdashdot", + "--..": "longdashdotdot" + }; + P.dashstyle = T[b](i["stroke-dasharray"]) ? T[i["stroke-dasharray"]] : o + } + Q && l.appendChild(P) + } + if ("text" == s.type) { + s.paper.canvas.style.display = o; + var U = s.paper.span, + V = 100, + W = m.font && m.font.match(/\d+(?:\.\d*)?(?=px)/); + p = U.style, + m.font && (p.font = m.font), + m["font-family"] && (p.fontFamily = m["font-family"]), + m["font-weight"] && (p.fontWeight = m["font-weight"]), + m["font-style"] && (p.fontStyle = m["font-style"]), + W = d(m["font-size"] || W && W[0]) || 10, + p.fontSize = W * V + "px", + s.textpath.string && (U.innerHTML = c(s.textpath.string).replace(/")); + var X = U.getBoundingClientRect(); + s.W = m.w = (X.right - X.left) / V, + s.H = m.h = (X.bottom - X.top) / V, + s.X = m.x, + s.Y = m.y + s.H / 2, + ("x" in i || "y" in i) && (s.path.v = a.format("m{0},{1}l{2},{1}", f(m.x * u), f(m.y * u), f(m.x * u) + 1)); + for (var Y = ["x", "y", "text", "font", "font-family", "font-weight", "font-style", "font-size"], Z = 0, $ = Y.length; $ > Z; Z++) + if (Y[Z]in i) { + s._.dirty = 1; + break + } + switch (m["text-anchor"]) { + case "start": + s.textpath.style["v-text-align"] = "left", + s.bbx = s.W / 2; + break; + case "end": + s.textpath.style["v-text-align"] = "right", + s.bbx = -s.W / 2; + break; + default: + s.textpath.style["v-text-align"] = "center", + s.bbx = 0 + } + s.textpath.style["v-text-kern"] = !0 + } + }, + C = function (b, f, g) { + b.attrs = b.attrs || {}; + var h = (b.attrs, Math.pow), + i = "linear", + j = ".5 .5"; + if (b.attrs.gradient = f, f = c(f).replace(a._radial_gradient, function (a, b, c) { + return i = "radial", + b && c && (b = d(b), c = d(c), h(b - .5, 2) + h(c - .5, 2) > .25 && (c = e.sqrt(.25 - h(b - .5, 2)) * (2 * (c > .5) - 1) + .5), j = b + n + c), + o + }), f = f.split(/\s*\-\s*/), "linear" == i) { + var k = f.shift(); + if (k = -d(k), isNaN(k)) + return null + } + var l = a._parseDots(f); + if (!l) + return null; + if (b = b.shape || b.node, l.length) { + b.removeChild(g), + g.on = !0, + g.method = "none", + g.color = l[0].color, + g.color2 = l[l.length - 1].color; + for (var m = [], p = 0, q = l.length; q > p; p++) + l[p].offset && m.push(l[p].offset + n + l[p].color); + g.colors = m.length ? m.join() : "0% " + g.color, + "radial" == i ? (g.type = "gradientTitle", g.focus = "100%", g.focussize = "0 0", g.focusposition = j, g.angle = 0) : (g.type = "gradient", g.angle = (270 - k) % 360), + b.appendChild(g) + } + return 1 + }, + D = function (b, c) { + this[0] = this.node = b, + b.raphael = !0, + this.id = a._oid++, + b.raphaelid = this.id, + this.X = 0, + this.Y = 0, + this.attrs = {}, + this.paper = c, + this.matrix = a.matrix(), + this._ = { + transform: [], + sx: 1, + sy: 1, + dx: 0, + dy: 0, + deg: 0, + dirty: 1, + dirtyT: 1 + }, + !c.bottom && (c.bottom = this), + this.prev = c.top, + c.top && (c.top.next = this), + c.top = this, + this.next = null + }, + E = a.el; + D.prototype = E, + E.constructor = D, + E.transform = function (b) { + if (null == b) + return this._.transform; + var d, + e = this.paper._viewBoxShift, + f = e ? "s" + [e.scale, e.scale] + "-1-1t" + [e.dx, e.dy] : o; + e && (d = b = c(b).replace(/\.{3}|\u2026/g, this._.transform || o)), + a._extractTransform(this, f + b); + var g, + h = this.matrix.clone(), + i = this.skew, + j = this.node, + k = ~c(this.attrs.fill).indexOf("-"), + l = !c(this.attrs.fill).indexOf("url("); + if (h.translate(1, 1), l || k || "image" == this.type) + if (i.matrix = "1 0 0 1", i.offset = "0 0", g = h.split(), k && g.noRotation || !g.isSimple) { + j.style.filter = h.toFilter(); + var m = this.getBBox(), + p = this.getBBox(1), + q = m.x - p.x, + r = m.y - p.y; + j.coordorigin = q * -u + n + r * -u, + z(this, 1, 1, q, r, 0) + } else + j.style.filter = o, z(this, g.scalex, g.scaley, g.dx, g.dy, g.rotate); + else + j.style.filter = o, i.matrix = c(h), i.offset = h.offset(); + return null !== d && (this._.transform = d, a._extractTransform(this, d)), + this + }, + E.rotate = function (a, b, e) { + if (this.removed) + return this; + if (null != a) { + if (a = c(a).split(k), a.length - 1 && (b = d(a[1]), e = d(a[2])), a = d(a[0]), null == e && (b = e), null == b || null == e) { + var f = this.getBBox(1); + b = f.x + f.width / 2, + e = f.y + f.height / 2 + } + return this._.dirtyT = 1, + this.transform(this._.transform.concat([["r", a, b, e]])), + this + } + }, + E.translate = function (a, b) { + return this.removed ? this : (a = c(a).split(k), a.length - 1 && (b = d(a[1])), a = d(a[0]) || 0, b = +b || 0, this._.bbox && (this._.bbox.x += a, this._.bbox.y += b), this.transform(this._.transform.concat([["t", a, b]])), this) + }, + E.scale = function (a, b, e, f) { + if (this.removed) + return this; + if (a = c(a).split(k), a.length - 1 && (b = d(a[1]), e = d(a[2]), f = d(a[3]), isNaN(e) && (e = null), isNaN(f) && (f = null)), a = d(a[0]), null == b && (b = a), null == f && (e = f), null == e || null == f) + var g = this.getBBox(1); + return e = null == e ? g.x + g.width / 2 : e, + f = null == f ? g.y + g.height / 2 : f, + this.transform(this._.transform.concat([["s", a, b, e, f]])), + this._.dirtyT = 1, + this + }, + E.hide = function () { + return !this.removed && (this.node.style.display = "none"), + this + }, + E.show = function () { + return !this.removed && (this.node.style.display = o), + this + }, + E.auxGetBBox = a.el.getBBox, + E.getBBox = function () { + var a = this.auxGetBBox(); + if (this.paper && this.paper._viewBoxShift) { + var b = {}, + c = 1 / this.paper._viewBoxShift.scale; + return b.x = a.x - this.paper._viewBoxShift.dx, + b.x *= c, + b.y = a.y - this.paper._viewBoxShift.dy, + b.y *= c, + b.width = a.width * c, + b.height = a.height * c, + b.x2 = b.x + b.width, + b.y2 = b.y + b.height, + b + } + return a + }, + E._getBBox = function () { + return this.removed ? {} + : { + x: this.X + (this.bbx || 0) - this.W / 2, + y: this.Y - this.H, + width: this.W, + height: this.H + } + }, + E.remove = function () { + if (!this.removed && this.node.parentNode) { + this.paper.__set__ && this.paper.__set__.exclude(this), + a.eve.unbind("raphael.*.*." + this.id), + a._tear(this, this.paper), + this.node.parentNode.removeChild(this.node), + this.shape && this.shape.parentNode.removeChild(this.shape); + for (var b in this) + this[b] = "function" == typeof this[b] ? a._removedFactory(b) : null; + this.removed = !0 + } + }, + E.attr = function (c, d) { + if (this.removed) + return this; + if (null == c) { + var e = {}; + for (var f in this.attrs) + this.attrs[b](f) && (e[f] = this.attrs[f]); + return e.gradient && "none" == e.fill && (e.fill = e.gradient) && delete e.gradient, + e.transform = this._.transform, + e + } + if (null == d && a.is(c, "string")) { + if (c == j && "none" == this.attrs.fill && this.attrs.gradient) + return this.attrs.gradient; + for (var g = c.split(k), h = {}, i = 0, m = g.length; m > i; i++) + c = g[i], c in this.attrs ? h[c] = this.attrs[c] : a.is(this.paper.customAttributes[c], "function") ? h[c] = this.paper.customAttributes[c].def : h[c] = a._availableAttrs[c]; + return m - 1 ? h : h[g[0]] + } + if (this.attrs && null == d && a.is(c, "array")) { + for (h = {}, i = 0, m = c.length; m > i; i++) + h[c[i]] = this.attr(c[i]); + return h + } + var n; + null != d && (n = {}, n[c] = d), + null == d && a.is(c, "object") && (n = c); + for (var o in n) + l("raphael.attr." + o + "." + this.id, this, n[o]); + if (n) { + for (o in this.paper.customAttributes) + if (this.paper.customAttributes[b](o) && n[b](o) && a.is(this.paper.customAttributes[o], "function")) { + var p = this.paper.customAttributes[o].apply(this, [].concat(n[o])); + this.attrs[o] = n[o]; + for (var q in p) + p[b](q) && (n[q] = p[q]) + } + n.text && "text" == this.type && (this.textpath.string = n.text), + B(this, n) + } + return this + }, + E.toFront = function () { + return !this.removed && this.node.parentNode.appendChild(this.node), + this.paper && this.paper.top != this && a._tofront(this, this.paper), + this + }, + E.toBack = function () { + return this.removed ? this : (this.node.parentNode.firstChild != this.node && (this.node.parentNode.insertBefore(this.node, this.node.parentNode.firstChild), a._toback(this, this.paper)), this) + }, + E.insertAfter = function (b) { + return this.removed ? this : (b.constructor == a.st.constructor && (b = b[b.length - 1]), b.node.nextSibling ? b.node.parentNode.insertBefore(this.node, b.node.nextSibling) : b.node.parentNode.appendChild(this.node), a._insertafter(this, b, this.paper), this) + }, + E.insertBefore = function (b) { + return this.removed ? this : (b.constructor == a.st.constructor && (b = b[0]), b.node.parentNode.insertBefore(this.node, b.node), a._insertbefore(this, b, this.paper), this) + }, + E.blur = function (b) { + var c = this.node.runtimeStyle, + d = c.filter; + return d = d.replace(r, o), + 0 !== +b ? (this.attrs.blur = b, c.filter = d + n + m + ".Blur(pixelradius=" + (+b || 1.5) + ")", c.margin = a.format("-{0}px 0 0 -{0}px", f(+b || 1.5))) : (c.filter = d, c.margin = 0, delete this.attrs.blur), + this + }, + a._engine.path = function (a, b) { + var c = F("shape"); + c.style.cssText = t, + c.coordsize = u + n + u, + c.coordorigin = b.coordorigin; + var d = new D(c, b), + e = { + fill: "none", + stroke: "#000" + }; + a && (e.path = a), + d.type = "path", + d.path = [], + d.Path = o, + B(d, e), + b.canvas.appendChild(c); + var f = F("skew"); + return f.on = !0, + c.appendChild(f), + d.skew = f, + d.transform(o), + d + }, + a._engine.rect = function (b, c, d, e, f, g) { + var h = a._rectPath(c, d, e, f, g), + i = b.path(h), + j = i.attrs; + return i.X = j.x = c, + i.Y = j.y = d, + i.W = j.width = e, + i.H = j.height = f, + j.r = g, + j.path = h, + i.type = "rect", + i + }, + a._engine.ellipse = function (a, b, c, d, e) { { + var f = a.path(); + f.attrs + } + return f.X = b - d, + f.Y = c - e, + f.W = 2 * d, + f.H = 2 * e, + f.type = "ellipse", + B(f, { + cx: b, + cy: c, + rx: d, + ry: e + }), + f + }, + a._engine.circle = function (a, b, c, d) { { + var e = a.path(); + e.attrs + } + return e.X = b - d, + e.Y = c - d, + e.W = e.H = 2 * d, + e.type = "circle", + B(e, { + cx: b, + cy: c, + r: d + }), + e + }, + a._engine.image = function (b, c, d, e, f, g) { + var h = a._rectPath(d, e, f, g), + i = b.path(h).attr({ + stroke: "none" + }), + k = i.attrs, + l = i.node, + m = l.getElementsByTagName(j)[0]; + return k.src = c, + i.X = k.x = d, + i.Y = k.y = e, + i.W = k.width = f, + i.H = k.height = g, + k.path = h, + i.type = "image", + m.parentNode == l && l.removeChild(m), + m.rotate = !0, + m.src = c, + m.type = "tile", + i._.fillpos = [d, e], + i._.fillsize = [f, g], + l.appendChild(m), + z(i, 1, 1, 0, 0, 0), + i + }, + a._engine.text = function (b, d, e, g) { + var h = F("shape"), + i = F("path"), + j = F("textpath"); + d = d || 0, + e = e || 0, + g = g || "", + i.v = a.format("m{0},{1}l{2},{1}", f(d * u), f(e * u), f(d * u) + 1), + i.textpathok = !0, + j.string = c(g), + j.on = !0, + h.style.cssText = t, + h.coordsize = u + n + u, + h.coordorigin = "0 0"; + var k = new D(h, b), + l = { + fill: "#000", + stroke: "none", + font: a._availableAttrs.font, + text: g + }; + k.shape = h, + k.path = i, + k.textpath = j, + k.type = "text", + k.attrs.text = c(g), + k.attrs.x = d, + k.attrs.y = e, + k.attrs.w = 1, + k.attrs.h = 1, + B(k, l), + h.appendChild(j), + h.appendChild(i), + b.canvas.appendChild(h); + var m = F("skew"); + return m.on = !0, + h.appendChild(m), + k.skew = m, + k.transform(o), + k + }, + a._engine.setSize = function (b, c) { + var d = this.canvas.style; + return this.width = b, + this.height = c, + b == +b && (b += "px"), + c == +c && (c += "px"), + d.width = b, + d.height = c, + d.clip = "rect(0 " + b + " " + c + " 0)", + this._viewBox && a._engine.setViewBox.apply(this, this._viewBox), + this + }, + a._engine.setViewBox = function (b, c, d, e, f) { + a.eve("raphael.setViewBox", this, this._viewBox, [b, c, d, e, f]); + var g, + h, + i = this.getSize(), + j = i.width, + k = i.height; + return f && (g = k / e, h = j / d, j > d * g && (b -= (j - d * g) / 2 / g), k > e * h && (c -= (k - e * h) / 2 / h)), + this._viewBox = [b, c, d, e, !!f], + this._viewBoxShift = { + dx: -b, + dy: -c, + scale: i + }, + this.forEach(function (a) { + a.transform("...") + }), + this + }; + var F; + a._engine.initWin = function (a) { + var b = a.document; + b.styleSheets.length < 31 ? b.createStyleSheet().addRule(".rvml", "behavior:url(#default#VML)") : b.styleSheets[0].addRule(".rvml", "behavior:url(#default#VML)"); + try { + !b.namespaces.rvml && b.namespaces.add("rvml", "urn:schemas-microsoft-com:vml"), + F = function (a) { + return b.createElement("') + } + } catch (c) { + F = function (a) { + return b.createElement("<" + a + ' xmlns="urn:schemas-microsoft.com:vml" class="rvml">') + } + } + }, + a._engine.initWin(a._g.win), + a._engine.create = function () { + var b = a._getContainer.apply(0, arguments), + c = b.container, + d = b.height, + e = b.width, + f = b.x, + g = b.y; + if (!c) + throw new Error("VML container not found."); + var h = new a._Paper, + i = h.canvas = a._g.doc.createElement("div"), + j = i.style; + return f = f || 0, + g = g || 0, + e = e || 512, + d = d || 342, + h.width = e, + h.height = d, + e == +e && (e += "px"), + d == +d && (d += "px"), + h.coordsize = 1e3 * u + n + 1e3 * u, + h.coordorigin = "0 0", + h.span = a._g.doc.createElement("span"), + h.span.style.cssText = "position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;", + i.appendChild(h.span), + j.cssText = a.format("top:0;left:0;width:{0};height:{1};display:inline-block;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden", e, d), + 1 == c ? (a._g.doc.body.appendChild(i), j.left = f + "px", j.top = g + "px", j.position = "absolute") : c.firstChild ? c.insertBefore(i, c.firstChild) : c.appendChild(i), + h.renderfix = function () {}, + h + }, + a.prototype.clear = function () { + a.eve("raphael.clear", this), + this.canvas.innerHTML = o, + this.span = a._g.doc.createElement("span"), + this.span.style.cssText = "position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;", + this.canvas.appendChild(this.span), + this.bottom = this.top = null + }, + a.prototype.remove = function () { + a.eve("raphael.remove", this), + this.canvas.parentNode.removeChild(this.canvas); + for (var b in this) + this[b] = "function" == typeof this[b] ? a._removedFactory(b) : null; + return !0 + }; + var G = a.st; + for (var H in E) + E[b](H) && !G[b](H) && (G[H] = function (a) { + return function () { + var b = arguments; + return this.forEach(function (c) { + c[a].apply(c, b) + }) + } + } + (H)) + } +}); +JustGage = function (config) { + var obj = this; + if (config === null || config === undefined) { + console.log('* justgage: Make sure to pass options to the constructor!'); + return false; + } + var node; + if (config.id !== null && config.id !== undefined) { + node = document.getElementById(config.id); + if (!node) { + console.log('* justgage: No element with id : %s found', config.id); + return false; + } + } else if (config.parentNode !== null && config.parentNode !== undefined) { + node = config.parentNode; + } else { + console.log('* justgage: Make sure to pass the existing element id or parentNode to the constructor.'); + return false; + } + var dataset = node.dataset ? node.dataset : {}; + var defaults = (config.defaults !== null && config.defaults !== undefined) ? config.defaults : false; + if (defaults !== false) { + config = extend({}, config, defaults); + delete config.defaults; + } + obj.config = { + id: config.id, + value: kvLookup('value', config, dataset, 0, 'float'), + defaults: kvLookup('defaults', config, dataset, 0, false), + parentNode: kvLookup('parentNode', config, dataset, null), + width: kvLookup('width', config, dataset, null), + height: kvLookup('height', config, dataset, null), + title: kvLookup('title', config, dataset, ""), + titleFontColor: kvLookup('titleFontColor', config, dataset, "#999999"), + titleFontFamily: kvLookup('titleFontFamily', config, dataset, "sans-serif"), + titlePosition: kvLookup('titlePosition', config, dataset, "above"), + valueFontColor: kvLookup('valueFontColor', config, dataset, "#010101"), + valueFontFamily: kvLookup('valueFontFamily', config, dataset, "Arial"), + symbol: kvLookup('symbol', config, dataset, ''), + min: kvLookup('min', config, dataset, 0, 'float'), + max: kvLookup('max', config, dataset, 100, 'float'), + reverse: kvLookup('reverse', config, dataset, false), + humanFriendlyDecimal: kvLookup('humanFriendlyDecimal', config, dataset, 0), + textRenderer: kvLookup('textRenderer', config, dataset, null), + gaugeWidthScale: kvLookup('gaugeWidthScale', config, dataset, 1.0), + gaugeColor: kvLookup('gaugeColor', config, dataset, "#edebeb"), + label: kvLookup('label', config, dataset, ''), + labelFontColor: kvLookup('labelFontColor', config, dataset, "#b3b3b3"), + shadowOpacity: kvLookup('shadowOpacity', config, dataset, 0.2), + shadowSize: kvLookup('shadowSize', config, dataset, 5), + shadowVerticalOffset: kvLookup('shadowVerticalOffset', config, dataset, 3), + levelColors: kvLookup('levelColors', config, dataset, ["#a9d70b", "#f9c802", "#ff0000"], 'array', ','), + startAnimationTime: kvLookup('startAnimationTime', config, dataset, 700), + startAnimationType: kvLookup('startAnimationType', config, dataset, '>'), + refreshAnimationTime: kvLookup('refreshAnimationTime', config, dataset, 700), + refreshAnimationType: kvLookup('refreshAnimationType', config, dataset, '>'), + donutStartAngle: kvLookup('donutStartAngle', config, dataset, 90), + valueMinFontSize: kvLookup('valueMinFontSize', config, dataset, 16), + titleMinFontSize: kvLookup('titleMinFontSize', config, dataset, 10), + labelMinFontSize: kvLookup('labelMinFontSize', config, dataset, 10), + minLabelMinFontSize: kvLookup('minLabelMinFontSize', config, dataset, 10), + maxLabelMinFontSize: kvLookup('maxLabelMinFontSize', config, dataset, 10), + hideValue: kvLookup('hideValue', config, dataset, false), + hideMinMax: kvLookup('hideMinMax', config, dataset, false), + hideInnerShadow: kvLookup('hideInnerShadow', config, dataset, false), + humanFriendly: kvLookup('humanFriendly', config, dataset, false), + noGradient: kvLookup('noGradient', config, dataset, false), + donut: kvLookup('donut', config, dataset, false), + relativeGaugeSize: kvLookup('relativeGaugeSize', config, dataset, false), + counter: kvLookup('counter', config, dataset, false), + decimals: kvLookup('decimals', config, dataset, 0), + customSectors: kvLookup('customSectors', config, dataset, []), + formatNumber: kvLookup('formatNumber', config, dataset, false), + pointer: kvLookup('pointer', config, dataset, false), + pointerOptions: kvLookup('pointerOptions', config, dataset, []) + }; + var + canvasW, + canvasH, + widgetW, + widgetH, + aspect, + dx, + dy, + titleFontSize, + titleX, + titleY, + valueFontSize, + valueX, + valueY, + labelFontSize, + labelX, + labelY, + minFontSize, + minX, + minY, + maxFontSize, + maxX, + maxY; + if (obj.config.value > obj.config.max) + obj.config.value = obj.config.max; + if (obj.config.value < obj.config.min) + obj.config.value = obj.config.min; + obj.originalValue = kvLookup('value', config, dataset, -1, 'float'); + if (obj.config.id !== null && (document.getElementById(obj.config.id)) !== null) { + obj.canvas = Raphael(obj.config.id, "100%", "100%"); + } else if (obj.config.parentNode !== null) { + obj.canvas = Raphael(obj.config.parentNode, "100%", "100%"); + } + if (obj.config.relativeGaugeSize === true) { + obj.canvas.setViewBox(0, 0, 200, 150, true); + } + if (obj.config.relativeGaugeSize === true) { + canvasW = 200; + canvasH = 150; + } else if (obj.config.width !== null && obj.config.height !== null) { + canvasW = obj.config.width; + canvasH = obj.config.height; + } else if (obj.config.parentNode !== null) { + obj.canvas.setViewBox(0, 0, 200, 150, true); + canvasW = 200; + canvasH = 150; + } else { + canvasW = getStyle(document.getElementById(obj.config.id), "width").slice(0, -2) * 1; + canvasH = getStyle(document.getElementById(obj.config.id), "height").slice(0, -2) * 1; + } + if (obj.config.donut === true) { + if (canvasW > canvasH) { + widgetH = canvasH; + widgetW = widgetH; + } else if (canvasW < canvasH) { + widgetW = canvasW; + widgetH = widgetW; + if (widgetH > canvasH) { + aspect = widgetH / canvasH; + widgetH = widgetH / aspect; + widgetW = widgetH / aspect; + } + } else { + widgetW = canvasW; + widgetH = widgetW; + } + dx = (canvasW - widgetW) / 2; + dy = (canvasH - widgetH) / 2; + titleFontSize = ((widgetH / 8) > 10) ? (widgetH / 10) : 10; + titleX = dx + widgetW / 2; + titleY = dy + widgetH / 11; + valueFontSize = ((widgetH / 6.4) > 16) ? (widgetH / 5.4) : 18; + valueX = dx + widgetW / 2; + if (obj.config.label !== '') { + valueY = dy + widgetH / 1.85; + } else { + valueY = dy + widgetH / 1.7; + } + labelFontSize = ((widgetH / 16) > 10) ? (widgetH / 16) : 10; + labelX = dx + widgetW / 2; + labelY = valueY + labelFontSize; + minFontSize = ((widgetH / 16) > 10) ? (widgetH / 16) : 10; + minX = dx + (widgetW / 10) + (widgetW / 6.666666666666667 * obj.config.gaugeWidthScale) / 2; + minY = labelY; + maxFontSize = ((widgetH / 16) > 10) ? (widgetH / 16) : 10; + maxX = dx + widgetW - (widgetW / 10) - (widgetW / 6.666666666666667 * obj.config.gaugeWidthScale) / 2; + maxY = labelY; + } else { + if (canvasW > canvasH) { + widgetH = canvasH; + widgetW = widgetH * 1.25; + if (widgetW > canvasW) { + aspect = widgetW / canvasW; + widgetW = widgetW / aspect; + widgetH = widgetH / aspect; + } + } else if (canvasW < canvasH) { + widgetW = canvasW; + widgetH = widgetW / 1.25; + if (widgetH > canvasH) { + aspect = widgetH / canvasH; + widgetH = widgetH / aspect; + widgetW = widgetH / aspect; + } + } else { + widgetW = canvasW; + widgetH = widgetW * 0.75; + } + dx = (canvasW - widgetW) / 2; + dy = (canvasH - widgetH) / 2; + if (obj.config.titlePosition === 'below') { + dy -= (widgetH / 6.4); + } + titleFontSize = ((widgetH / 8) > obj.config.titleMinFontSize) ? (widgetH / 10) : obj.config.titleMinFontSize; + titleX = dx + widgetW / 2; + titleY = dy + (obj.config.titlePosition === 'below' ? (widgetH * 1.07) : (widgetH / 6.4)); + valueFontSize = ((widgetH / 6.5) > obj.config.valueMinFontSize) ? (widgetH / 6.5) : obj.config.valueMinFontSize; + valueX = dx + widgetW / 2; + valueY = dy + widgetH / 1.275; + labelFontSize = ((widgetH / 16) > obj.config.labelMinFontSize) ? (widgetH / 16) : obj.config.labelMinFontSize; + labelX = dx + widgetW / 2; + labelY = valueY + valueFontSize / 2 + 5; + minFontSize = ((widgetH / 16) > obj.config.minLabelMinFontSize) ? (widgetH / 16) : obj.config.minLabelMinFontSize; + minX = dx + (widgetW / 10) + (widgetW / 6.666666666666667 * obj.config.gaugeWidthScale) / 2; + minY = labelY; + maxFontSize = ((widgetH / 16) > obj.config.maxLabelMinFontSize) ? (widgetH / 16) : obj.config.maxLabelMinFontSize; + maxX = dx + widgetW - (widgetW / 10) - (widgetW / 6.666666666666667 * obj.config.gaugeWidthScale) / 2; + maxY = labelY; + } + obj.params = { + canvasW: canvasW, + canvasH: canvasH, + widgetW: widgetW, + widgetH: widgetH, + dx: dx, + dy: dy, + titleFontSize: titleFontSize, + titleX: titleX, + titleY: titleY, + valueFontSize: valueFontSize, + valueX: valueX, + valueY: valueY, + labelFontSize: labelFontSize, + labelX: labelX, + labelY: labelY, + minFontSize: minFontSize, + minX: minX, + minY: minY, + maxFontSize: maxFontSize, + maxX: maxX, + maxY: maxY + }; + canvasW, + canvasH, + widgetW, + widgetH, + aspect, + dx, + dy, + titleFontSize, + titleX, + titleY, + valueFontSize, + valueX, + valueY, + labelFontSize, + labelX, + labelY, + minFontSize, + minX, + minY, + maxFontSize, + maxX, + maxY = null; + obj.canvas.customAttributes.pki = function (value, min, max, w, h, dx, dy, gws, donut, reverse) { + var alpha, + Ro, + Ri, + Cx, + Cy, + Xo, + Yo, + Xi, + Yi, + path; + if (donut) { + alpha = (1 - 2 * (value - min) / (max - min)) * Math.PI; + Ro = w / 2 - w / 7; + Ri = Ro - w / 6.666666666666667 * gws; + Cx = w / 2 + dx; + Cy = h / 1.95 + dy; + Xo = w / 2 + dx + Ro * Math.cos(alpha); + Yo = h - (h - Cy) - Ro * Math.sin(alpha); + Xi = w / 2 + dx + Ri * Math.cos(alpha); + Yi = h - (h - Cy) - Ri * Math.sin(alpha); + path = "M" + (Cx - Ri) + "," + Cy + " "; + path += "L" + (Cx - Ro) + "," + Cy + " "; + if (value > ((max - min) / 2)) { + path += "A" + Ro + "," + Ro + " 0 0 1 " + (Cx + Ro) + "," + Cy + " "; + } + path += "A" + Ro + "," + Ro + " 0 0 1 " + Xo + "," + Yo + " "; + path += "L" + Xi + "," + Yi + " "; + if (value > ((max - min) / 2)) { + path += "A" + Ri + "," + Ri + " 0 0 0 " + (Cx + Ri) + "," + Cy + " "; + } + path += "A" + Ri + "," + Ri + " 0 0 0 " + (Cx - Ri) + "," + Cy + " "; + path += "Z "; + return { + path: path + }; + } else { + alpha = (1 - (value - min) / (max - min)) * Math.PI; + Ro = w / 2 - w / 10; + Ri = Ro - w / 6.666666666666667 * gws; + Cx = w / 2 + dx; + Cy = h / 1.25 + dy; + Xo = w / 2 + dx + Ro * Math.cos(alpha); + Yo = h - (h - Cy) - Ro * Math.sin(alpha); + Xi = w / 2 + dx + Ri * Math.cos(alpha); + Yi = h - (h - Cy) - Ri * Math.sin(alpha); + path = "M" + (Cx - Ri) + "," + Cy + " "; + path += "L" + (Cx - Ro) + "," + Cy + " "; + path += "A" + Ro + "," + Ro + " 0 0 1 " + Xo + "," + Yo + " "; + path += "L" + Xi + "," + Yi + " "; + path += "A" + Ri + "," + Ri + " 0 0 0 " + (Cx - Ri) + "," + Cy + " "; + path += "Z "; + return { + path: path + }; + } + alpha, + Ro, + Ri, + Cx, + Cy, + Xo, + Yo, + Xi, + Yi, + path = null; + }; + obj.canvas.customAttributes.ndl = function (value, min, max, w, h, dx, dy, gws, donut) { + var dlt = w * 3.5 / 100; + var dlb = w / 15; + var dw = w / 100; + if (obj.config.pointerOptions.toplength != null && obj.config.pointerOptions.toplength != undefined) + dlt = obj.config.pointerOptions.toplength; + if (obj.config.pointerOptions.bottomlength != null && obj.config.pointerOptions.bottomlength != undefined) + dlb = obj.config.pointerOptions.bottomlength; + if (obj.config.pointerOptions.bottomwidth != null && obj.config.pointerOptions.bottomwidth != undefined) + dw = obj.config.pointerOptions.bottomwidth; + var alpha, + Ro, + Ri, + Cx, + Cy, + Xo, + Yo, + Xi, + Yi, + Xc, + Yc, + Xz, + Yz, + Xa, + Ya, + Xb, + Yb, + path; + if (donut) { + alpha = (1 - 2 * (value - min) / (max - min)) * Math.PI; + Ro = w / 2 - w / 7; + Ri = Ro - w / 6.666666666666667 * gws; + Cx = w / 2 + dx; + Cy = h / 1.95 + dy; + Xo = w / 2 + dx + Ro * Math.cos(alpha); + Yo = h - (h - Cy) - Ro * Math.sin(alpha); + Xi = w / 2 + dx + Ri * Math.cos(alpha); + Yi = h - (h - Cy) - Ri * Math.sin(alpha); + Xc = Xo + dlt * Math.cos(alpha); + Yc = Yo - dlt * Math.sin(alpha); + Xz = Xi - dlb * Math.cos(alpha); + Yz = Yi + dlb * Math.sin(alpha); + Xa = Xz + dw * Math.sin(alpha); + Ya = Yz + dw * Math.cos(alpha); + Xb = Xz - dw * Math.sin(alpha); + Yb = Yz - dw * Math.cos(alpha); + path = 'M' + Xa + ',' + Ya + ' '; + path += 'L' + Xb + ',' + Yb + ' '; + path += 'L' + Xc + ',' + Yc + ' '; + path += 'Z '; + return { + path: path + }; + } else { + alpha = (1 - (value - min) / (max - min)) * Math.PI; + Ro = w / 2 - w / 10; + Ri = Ro - w / 6.666666666666667 * gws; + Cx = w / 2 + dx; + Cy = h / 1.25 + dy; + Xo = w / 2 + dx + Ro * Math.cos(alpha); + Yo = h - (h - Cy) - Ro * Math.sin(alpha); + Xi = w / 2 + dx + Ri * Math.cos(alpha); + Yi = h - (h - Cy) - Ri * Math.sin(alpha); + Xc = Xo + dlt * Math.cos(alpha); + Yc = Yo - dlt * Math.sin(alpha); + Xz = Xi - dlb * Math.cos(alpha); + Yz = Yi + dlb * Math.sin(alpha); + Xa = Xz + dw * Math.sin(alpha); + Ya = Yz + dw * Math.cos(alpha); + Xb = Xz - dw * Math.sin(alpha); + Yb = Yz - dw * Math.cos(alpha); + path = 'M' + Xa + ',' + Ya + ' '; + path += 'L' + Xb + ',' + Yb + ' '; + path += 'L' + Xc + ',' + Yc + ' '; + path += 'Z '; + return { + path: path + }; + } + alpha, + Ro, + Ri, + Cx, + Cy, + Xo, + Yo, + Xi, + Yi, + Xc, + Yc, + Xz, + Yz, + Xa, + Ya, + Xb, + Yb, + path = null; + }; + obj.gauge = obj.canvas.path().attr({ + "stroke": "none", + "fill": obj.config.gaugeColor, + pki: [obj.config.max, obj.config.min, obj.config.max, obj.params.widgetW, obj.params.widgetH, obj.params.dx, obj.params.dy, obj.config.gaugeWidthScale, obj.config.donut, obj.config.reverse] + }); + obj.level = obj.canvas.path().attr({ + "stroke": "none", + "fill": getColor(obj.config.value, (obj.config.value - obj.config.min) / (obj.config.max - obj.config.min), obj.config.levelColors, obj.config.noGradient, obj.config.customSectors), + pki: [obj.config.min, obj.config.min, obj.config.max, obj.params.widgetW, obj.params.widgetH, obj.params.dx, obj.params.dy, obj.config.gaugeWidthScale, obj.config.donut, obj.config.reverse] + }); + if (obj.config.donut) { + obj.level.transform("r" + obj.config.donutStartAngle + ", " + (obj.params.widgetW / 2 + obj.params.dx) + ", " + (obj.params.widgetH / 1.95 + obj.params.dy)); + } + if (obj.config.pointer) { + obj.needle = obj.canvas.path().attr({ + "stroke": (obj.config.pointerOptions.stroke !== null && obj.config.pointerOptions.stroke !== undefined) ? obj.config.pointerOptions.stroke : "none", + "stroke-width": (obj.config.pointerOptions.stroke_width !== null && obj.config.pointerOptions.stroke_width !== undefined) ? obj.config.pointerOptions.stroke_width : 0, + "stroke-linecap": (obj.config.pointerOptions.stroke_linecap !== null && obj.config.pointerOptions.stroke_linecap !== undefined) ? obj.config.pointerOptions.stroke_linecap : "square", + "fill": (obj.config.pointerOptions.color !== null && obj.config.pointerOptions.color !== undefined) ? obj.config.pointerOptions.color : "#000000", + ndl: [obj.config.min, obj.config.min, obj.config.max, obj.params.widgetW, obj.params.widgetH, obj.params.dx, obj.params.dy, obj.config.gaugeWidthScale, obj.config.donut] + }); + if (obj.config.donut) { + obj.needle.transform("r" + obj.config.donutStartAngle + ", " + (obj.params.widgetW / 2 + obj.params.dx) + ", " + (obj.params.widgetH / 1.95 + obj.params.dy)); + } + } + obj.txtTitle = obj.canvas.text(obj.params.titleX, obj.params.titleY, obj.config.title); + obj.txtTitle.attr({ + "font-size": obj.params.titleFontSize, + "font-weight": "bold", + "font-family": obj.config.titleFontFamily, + "fill": obj.config.titleFontColor, + "fill-opacity": "1" + }); + setDy(obj.txtTitle, obj.params.titleFontSize, obj.params.titleY); + obj.txtValue = obj.canvas.text(obj.params.valueX, obj.params.valueY, 0); + obj.txtValue.attr({ + "font-size": obj.params.valueFontSize, + "font-weight": "bold", + "font-family": obj.config.valueFontFamily, + "fill": obj.config.valueFontColor, + "fill-opacity": "0" + }); + setDy(obj.txtValue, obj.params.valueFontSize, obj.params.valueY); + obj.txtLabel = obj.canvas.text(obj.params.labelX, obj.params.labelY, obj.config.label); + obj.txtLabel.attr({ + "font-size": obj.params.labelFontSize, + "font-weight": "normal", + "font-family": "Arial", + "fill": obj.config.labelFontColor, + "fill-opacity": "0" + }); + setDy(obj.txtLabel, obj.params.labelFontSize, obj.params.labelY); + var min = obj.config.min; + if (obj.config.reverse) { + min = obj.config.max; + } + obj.txtMinimum = min; + if (obj.config.humanFriendly) { + obj.txtMinimum = humanFriendlyNumber(min, obj.config.humanFriendlyDecimal); + } else if (obj.config.formatNumber) { + obj.txtMinimum = formatNumber(min); + } + obj.txtMin = obj.canvas.text(obj.params.minX, obj.params.minY, obj.txtMinimum); + obj.txtMin.attr({ + "font-size": obj.params.minFontSize, + "font-weight": "normal", + "font-family": "Arial", + "fill": obj.config.labelFontColor, + "fill-opacity": (obj.config.hideMinMax || obj.config.donut) ? "0" : "1" + }); + setDy(obj.txtMin, obj.params.minFontSize, obj.params.minY); + var max = obj.config.max; + if (obj.config.reverse) { + max = obj.config.min; + } + obj.txtMaximum = max; + if (obj.config.humanFriendly) { + obj.txtMaximum = humanFriendlyNumber(max, obj.config.humanFriendlyDecimal); + } else if (obj.config.formatNumber) { + obj.txtMaximum = formatNumber(max); + } + obj.txtMax = obj.canvas.text(obj.params.maxX, obj.params.maxY, obj.txtMaximum); + obj.txtMax.attr({ + "font-size": obj.params.maxFontSize, + "font-weight": "normal", + "font-family": "Arial", + "fill": obj.config.labelFontColor, + "fill-opacity": (obj.config.hideMinMax || obj.config.donut) ? "0" : "1" + }); + setDy(obj.txtMax, obj.params.maxFontSize, obj.params.maxY); + var defs = obj.canvas.canvas.childNodes[1]; + var svg = "http://www.w3.org/2000/svg"; + if (ie !== 'undefined' && ie < 9) {} + else if (ie !== 'undefined') { + onCreateElementNsReady(function () { + obj.generateShadow(svg, defs); + }); + } else { + obj.generateShadow(svg, defs); + } + defs, + svg = null; + if (obj.config.textRenderer) { + obj.originalValue = obj.config.textRenderer(obj.originalValue); + } else if (obj.config.humanFriendly) { + obj.originalValue = humanFriendlyNumber(obj.originalValue, obj.config.humanFriendlyDecimal) + obj.config.symbol; + } else if (obj.config.formatNumber) { + obj.originalValue = formatNumber(obj.originalValue) + obj.config.symbol; + } else { + obj.originalValue = (obj.originalValue * 1).toFixed(obj.config.decimals) + obj.config.symbol; + } + if (obj.config.counter === true) { + eve.on("raphael.anim.frame." + (obj.level.id), function () { + var currentValue = obj.level.attr("pki")[0]; + if (obj.config.reverse) { + currentValue = (obj.config.max * 1) + (obj.config.min * 1) - (obj.level.attr("pki")[0] * 1); + } + if (obj.config.textRenderer) { + obj.txtValue.attr("text", obj.config.textRenderer(Math.floor(currentValue))); + } else if (obj.config.humanFriendly) { + obj.txtValue.attr("text", humanFriendlyNumber(Math.floor(currentValue), obj.config.humanFriendlyDecimal) + obj.config.symbol); + } else if (obj.config.formatNumber) { + obj.txtValue.attr("text", formatNumber(Math.floor(currentValue)) + obj.config.symbol); + } else { + obj.txtValue.attr("text", (currentValue * 1).toFixed(obj.config.decimals) + obj.config.symbol); + } + setDy(obj.txtValue, obj.params.valueFontSize, obj.params.valueY); + currentValue = null; + }); + eve.on("raphael.anim.finish." + (obj.level.id), function () { + obj.txtValue.attr({ + "text": obj.originalValue + }); + setDy(obj.txtValue, obj.params.valueFontSize, obj.params.valueY); + }); + } else { + eve.on("raphael.anim.start." + (obj.level.id), function () { + obj.txtValue.attr({ + "text": obj.originalValue + }); + setDy(obj.txtValue, obj.params.valueFontSize, obj.params.valueY); + }); + } + var rvl = obj.config.value; + if (obj.config.reverse) { + rvl = (obj.config.max * 1) + (obj.config.min * 1) - (obj.config.value * 1); + } + obj.level.animate({ + pki: [rvl, obj.config.min, obj.config.max, obj.params.widgetW, obj.params.widgetH, obj.params.dx, obj.params.dy, obj.config.gaugeWidthScale, obj.config.donut, obj.config.reverse] + }, obj.config.startAnimationTime, obj.config.startAnimationType); + if (obj.config.pointer) { + obj.needle.animate({ + ndl: [rvl, obj.config.min, obj.config.max, obj.params.widgetW, obj.params.widgetH, obj.params.dx, obj.params.dy, obj.config.gaugeWidthScale, obj.config.donut] + }, obj.config.startAnimationTime, obj.config.startAnimationType); + } + obj.txtValue.animate({ + "fill-opacity": (obj.config.hideValue) ? "0" : "1" + }, obj.config.startAnimationTime, obj.config.startAnimationType); + obj.txtLabel.animate({ + "fill-opacity": "1" + }, obj.config.startAnimationTime, obj.config.startAnimationType); +}; +JustGage.prototype.refresh = function (val, max) { + var obj = this; + var displayVal, + color, + max = max || null; + if (max !== null) { + obj.config.max = max; + obj.txtMaximum = obj.config.max; + if (obj.config.humanFriendly) { + obj.txtMaximum = humanFriendlyNumber(obj.config.max, obj.config.humanFriendlyDecimal); + } else if (obj.config.formatNumber) { + obj.txtMaximum = formatNumber(obj.config.max); + } + if (!obj.config.reverse) { + obj.txtMax.attr({ + "text": obj.txtMaximum + }); + setDy(obj.txtMax, obj.params.maxFontSize, obj.params.maxY); + } else { + obj.txtMin.attr({ + "text": obj.txtMaximum + }); + setDy(obj.txtMin, obj.params.minFontSize, obj.params.minY); + } + } + displayVal = val; + if ((val * 1) > (obj.config.max * 1)) { + val = (obj.config.max * 1); + } + if ((val * 1) < (obj.config.min * 1)) { + val = (obj.config.min * 1); + } + color = getColor(val, (val - obj.config.min) / (obj.config.max - obj.config.min), obj.config.levelColors, obj.config.noGradient, obj.config.customSectors); + if (obj.config.textRenderer) { + displayVal = obj.config.textRenderer(displayVal); + } else if (obj.config.humanFriendly) { + displayVal = humanFriendlyNumber(displayVal, obj.config.humanFriendlyDecimal) + obj.config.symbol; + } else if (obj.config.formatNumber) { + displayVal = formatNumber((displayVal * 1).toFixed(obj.config.decimals)) + obj.config.symbol; + } else { + displayVal = (displayVal * 1).toFixed(obj.config.decimals) + obj.config.symbol; + } + obj.originalValue = displayVal; + obj.config.value = val * 1; + if (!obj.config.counter) { + obj.txtValue.attr({ + "text": displayVal + }); + setDy(obj.txtValue, obj.params.valueFontSize, obj.params.valueY); + } + var rvl = obj.config.value; + if (obj.config.reverse) { + rvl = (obj.config.max * 1) + (obj.config.min * 1) - (obj.config.value * 1); + } + obj.level.animate({ + pki: [rvl, obj.config.min, obj.config.max, obj.params.widgetW, obj.params.widgetH, obj.params.dx, obj.params.dy, obj.config.gaugeWidthScale, obj.config.donut, obj.config.reverse], + "fill": color + }, obj.config.refreshAnimationTime, obj.config.refreshAnimationType); + if (obj.config.pointer) { + obj.needle.animate({ + ndl: [rvl, obj.config.min, obj.config.max, obj.params.widgetW, obj.params.widgetH, obj.params.dx, obj.params.dy, obj.config.gaugeWidthScale, obj.config.donut] + }, obj.config.refreshAnimationTime, obj.config.refreshAnimationType); + } + obj, + displayVal, + color, + max = null; +}; +JustGage.prototype.generateShadow = function (svg, defs) { + var obj = this; + var sid = "inner-shadow-" + obj.config.id; + var gaussFilter, + feOffset, + feGaussianBlur, + feComposite1, + feFlood, + feComposite2, + feComposite3; + gaussFilter = document.createElementNS(svg, "filter"); + gaussFilter.setAttribute("id", sid); + defs.appendChild(gaussFilter); + feOffset = document.createElementNS(svg, "feOffset"); + feOffset.setAttribute("dx", 0); + feOffset.setAttribute("dy", obj.config.shadowVerticalOffset); + gaussFilter.appendChild(feOffset); + feGaussianBlur = document.createElementNS(svg, "feGaussianBlur"); + feGaussianBlur.setAttribute("result", "offset-blur"); + feGaussianBlur.setAttribute("stdDeviation", obj.config.shadowSize); + gaussFilter.appendChild(feGaussianBlur); + feComposite1 = document.createElementNS(svg, "feComposite"); + feComposite1.setAttribute("operator", "out"); + feComposite1.setAttribute("in", "SourceGraphic"); + feComposite1.setAttribute("in2", "offset-blur"); + feComposite1.setAttribute("result", "inverse"); + gaussFilter.appendChild(feComposite1); + feFlood = document.createElementNS(svg, "feFlood"); + feFlood.setAttribute("flood-color", "black"); + feFlood.setAttribute("flood-opacity", obj.config.shadowOpacity); + feFlood.setAttribute("result", "color"); + gaussFilter.appendChild(feFlood); + feComposite2 = document.createElementNS(svg, "feComposite"); + feComposite2.setAttribute("operator", "in"); + feComposite2.setAttribute("in", "color"); + feComposite2.setAttribute("in2", "inverse"); + feComposite2.setAttribute("result", "shadow"); + gaussFilter.appendChild(feComposite2); + feComposite3 = document.createElementNS(svg, "feComposite"); + feComposite3.setAttribute("operator", "over"); + feComposite3.setAttribute("in", "shadow"); + feComposite3.setAttribute("in2", "SourceGraphic"); + gaussFilter.appendChild(feComposite3); + if (!obj.config.hideInnerShadow) { + obj.canvas.canvas.childNodes[2].setAttribute("filter", "url(#" + sid + ")"); + obj.canvas.canvas.childNodes[3].setAttribute("filter", "url(#" + sid + ")"); + } + gaussFilter, + feOffset, + feGaussianBlur, + feComposite1, + feFlood, + feComposite2, + feComposite3 = null; +}; +function kvLookup(key, tablea, tableb, defval, datatype, delimiter) { + var val = defval; + var canConvert = false; + if (!(key === null || key === undefined)) { + if (tableb !== null && tableb !== undefined && typeof tableb === "object" && key in tableb) { + val = tableb[key]; + canConvert = true; + } else if (tablea !== null && tablea !== undefined && typeof tablea === "object" && key in tablea) { + val = tablea[key]; + canConvert = true; + } else { + val = defval; + } + if (canConvert === true) { + if (datatype !== null && datatype !== undefined) { + switch (datatype) { + case 'int': + val = parseInt(val, 10); + break; + case 'float': + val = parseFloat(val); + break; + default: + break; + } + } + } + } + return val; +}; +function getColor(val, pct, col, noGradient, custSec) { + var no, + inc, + colors, + percentage, + rval, + gval, + bval, + lower, + upper, + range, + rangePct, + pctLower, + pctUpper, + color; + var noGradient = noGradient || custSec.length > 0; + if (custSec.length > 0) { + for (var i = 0; i < custSec.length; i++) { + if (val > custSec[i].lo && val <= custSec[i].hi) { + return custSec[i].color; + } + } + } + no = col.length; + if (no === 1) + return col[0]; + inc = (noGradient) ? (1 / no) : (1 / (no - 1)); + colors = []; + for (i = 0; i < col.length; i++) { + percentage = (noGradient) ? (inc * (i + 1)) : (inc * i); + rval = parseInt((cutHex(col[i])).substring(0, 2), 16); + gval = parseInt((cutHex(col[i])).substring(2, 4), 16); + bval = parseInt((cutHex(col[i])).substring(4, 6), 16); + colors[i] = { + pct: percentage, + color: { + r: rval, + g: gval, + b: bval + } + }; + } + if (pct === 0) { + return 'rgb(' + [colors[0].color.r, colors[0].color.g, colors[0].color.b].join(',') + ')'; + } + for (var j = 0; j < colors.length; j++) { + if (pct <= colors[j].pct) { + if (noGradient) { + return 'rgb(' + [colors[j].color.r, colors[j].color.g, colors[j].color.b].join(',') + ')'; + } else { + lower = colors[j - 1]; + upper = colors[j]; + range = upper.pct - lower.pct; + rangePct = (pct - lower.pct) / range; + pctLower = 1 - rangePct; + pctUpper = rangePct; + color = { + r: Math.floor(lower.color.r * pctLower + upper.color.r * pctUpper), + g: Math.floor(lower.color.g * pctLower + upper.color.g * pctUpper), + b: Math.floor(lower.color.b * pctLower + upper.color.b * pctUpper) + }; + return 'rgb(' + [color.r, color.g, color.b].join(',') + ')'; + } + } + } +} +function setDy(elem, fontSize, txtYpos) { + if ((!ie || ie > 9) && elem.node.firstChild.attributes.dy) { + elem.node.firstChild.attributes.dy.value = 0; + } +} +function getRandomInt(min, max) { + return Math.floor(Math.random() * (max - min + 1)) + min; +} +function cutHex(str) { + return (str.charAt(0) == "#") ? str.substring(1, 7) : str; +} +function humanFriendlyNumber(n, d) { + var p, + d2, + i, + s; + p = Math.pow; + d2 = p(10, d); + i = 7; + while (i) { + s = p(10, i-- * 3); + if (s <= n) { + n = Math.round(n * d2 / s) / d2 + "KMGTPE"[i]; + } + } + return n; +} +function formatNumber(x) { + var parts = x.toString().split("."); + parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ","); + return parts.join("."); +} +function getStyle(oElm, strCssRule) { + var strValue = ""; + if (document.defaultView && document.defaultView.getComputedStyle) { + strValue = document.defaultView.getComputedStyle(oElm, "").getPropertyValue(strCssRule); + } else if (oElm.currentStyle) { + strCssRule = strCssRule.replace(/\-(\w)/g, function (strMatch, p1) { + return p1.toUpperCase(); + }); + strValue = oElm.currentStyle[strCssRule]; + } + return strValue; +} +function onCreateElementNsReady(func) { + if (document.createElementNS !== undefined) { + func(); + } else { + setTimeout(function () { + onCreateElementNsReady(func); + }, 100); + } +} +var ie = (function () { + var undef, + v = 3, + div = document.createElement('div'), + all = div.getElementsByTagName('i'); + while (div.innerHTML = '', all[0]); + return v > 4 ? v : undef; +} + ()); +function extend(out) { + out = out || {}; + for (var i = 1; i < arguments.length; i++) { + if (!arguments[i]) + continue; + for (var key in arguments[i]) { + if (arguments[i].hasOwnProperty(key)) + out[key] = arguments[i][key]; + } + } + return out; +}; diff --git a/examples/SmartSwitch/data_src/js_css_src/desktop.ini b/examples/SmartSwitch/data_src/js_css_src/desktop.ini new file mode 100644 index 0000000..00f30c4 --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/desktop.ini @@ -0,0 +1,2 @@ +[LocalizedFileNames] +Command Prompt.lnk=@%SystemRoot%\system32\shell32.dll,-22022 diff --git a/examples/SmartSwitch/data_src/js_css_src/ext-searchbox.js b/examples/SmartSwitch/data_src/js_css_src/ext-searchbox.js new file mode 100644 index 0000000..b38b622 --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/ext-searchbox.js @@ -0,0 +1,5 @@ +define("ace/ext/searchbox",["require","exports","module","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/keyboard/hash_handler","ace/lib/keys"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=e("../lib/lang"),s=e("../lib/event"),o=".ace_search {background-color: #ddd;border: 1px solid #cbcbcb;border-top: 0 none;max-width: 325px;overflow: hidden;margin: 0;padding: 4px;padding-right: 6px;padding-bottom: 0;position: absolute;top: 0px;z-index: 99;white-space: normal;}.ace_search.left {border-left: 0 none;border-radius: 0px 0px 5px 0px;left: 0;}.ace_search.right {border-radius: 0px 0px 0px 5px;border-right: 0 none;right: 0;}.ace_search_form, .ace_replace_form {border-radius: 3px;border: 1px solid #cbcbcb;float: left;margin-bottom: 4px;overflow: hidden;}.ace_search_form.ace_nomatch {outline: 1px solid red;}.ace_search_field {background-color: white;color: black;border-right: 1px solid #cbcbcb;border: 0 none;-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;float: left;height: 22px;outline: 0;padding: 0 7px;width: 214px;margin: 0;}.ace_searchbtn,.ace_replacebtn {background: #fff;border: 0 none;border-left: 1px solid #dcdcdc;cursor: pointer;float: left;height: 22px;margin: 0;position: relative;}.ace_searchbtn:last-child,.ace_replacebtn:last-child {border-top-right-radius: 3px;border-bottom-right-radius: 3px;}.ace_searchbtn:disabled {background: none;cursor: default;}.ace_searchbtn {background-position: 50% 50%;background-repeat: no-repeat;width: 27px;}.ace_searchbtn.prev {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADFJREFUeNpiSU1NZUAC/6E0I0yACYskCpsJiySKIiY0SUZk40FyTEgCjGgKwTRAgAEAQJUIPCE+qfkAAAAASUVORK5CYII=); }.ace_searchbtn.next {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADRJREFUeNpiTE1NZQCC/0DMyIAKwGJMUAYDEo3M/s+EpvM/mkKwCQxYjIeLMaELoLMBAgwAU7UJObTKsvAAAAAASUVORK5CYII=); }.ace_searchbtn_close {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAcCAYAAABRVo5BAAAAZ0lEQVR42u2SUQrAMAhDvazn8OjZBilCkYVVxiis8H4CT0VrAJb4WHT3C5xU2a2IQZXJjiQIRMdkEoJ5Q2yMqpfDIo+XY4k6h+YXOyKqTIj5REaxloNAd0xiKmAtsTHqW8sR2W5f7gCu5nWFUpVjZwAAAABJRU5ErkJggg==) no-repeat 50% 0;border-radius: 50%;border: 0 none;color: #656565;cursor: pointer;float: right;font: 16px/16px Arial;height: 14px;margin: 5px 1px 9px 5px;padding: 0;text-align: center;width: 14px;}.ace_searchbtn_close:hover {background-color: #656565;background-position: 50% 100%;color: white;}.ace_replacebtn.prev {width: 54px}.ace_replacebtn.next {width: 27px}.ace_button {margin-left: 2px;cursor: pointer;-webkit-user-select: none;-moz-user-select: none;-o-user-select: none;-ms-user-select: none;user-select: none;overflow: hidden;opacity: 0.7;border: 1px solid rgba(100,100,100,0.23);padding: 1px;-moz-box-sizing: border-box;box-sizing: border-box;color: black;}.ace_button:hover {background-color: #eee;opacity:1;}.ace_button:active {background-color: #ddd;}.ace_button.checked {border-color: #3399ff;opacity:1;}.ace_search_options{margin-bottom: 3px;text-align: right;-webkit-user-select: none;-moz-user-select: none;-o-user-select: none;-ms-user-select: none;user-select: none;}",u=e("../keyboard/hash_handler").HashHandler,a=e("../lib/keys");r.importCssString(o,"ace_searchbox");var f=''.replace(/>\s+/g,">"),l=function(e,t,n){var i=r.createElement("div");i.innerHTML=f,this.element=i.firstChild,this.$init(),this.setEditor(e)};(function(){this.setEditor=function(e){e.searchBox=this,e.container.appendChild(this.element),this.editor=e},this.$initElements=function(e){this.searchBox=e.querySelector(".ace_search_form"),this.replaceBox=e.querySelector(".ace_replace_form"),this.searchOptions=e.querySelector(".ace_search_options"),this.regExpOption=e.querySelector("[action=toggleRegexpMode]"),this.caseSensitiveOption=e.querySelector("[action=toggleCaseSensitive]"),this.wholeWordOption=e.querySelector("[action=toggleWholeWords]"),this.searchInput=this.searchBox.querySelector(".ace_search_field"),this.replaceInput=this.replaceBox.querySelector(".ace_search_field")},this.$init=function(){var e=this.element;this.$initElements(e);var t=this;s.addListener(e,"mousedown",function(e){setTimeout(function(){t.activeInput.focus()},0),s.stopPropagation(e)}),s.addListener(e,"click",function(e){var n=e.target||e.srcElement,r=n.getAttribute("action");r&&t[r]?t[r]():t.$searchBarKb.commands[r]&&t.$searchBarKb.commands[r].exec(t),s.stopPropagation(e)}),s.addCommandKeyListener(e,function(e,n,r){var i=a.keyCodeToString(r),o=t.$searchBarKb.findKeyCommand(n,i);o&&o.exec&&(o.exec(t),s.stopEvent(e))}),this.$onChange=i.delayedCall(function(){t.find(!1,!1)}),s.addListener(this.searchInput,"input",function(){t.$onChange.schedule(20)}),s.addListener(this.searchInput,"focus",function(){t.activeInput=t.searchInput,t.searchInput.value&&t.highlight()}),s.addListener(this.replaceInput,"focus",function(){t.activeInput=t.replaceInput,t.searchInput.value&&t.highlight()})},this.$closeSearchBarKb=new u([{bindKey:"Esc",name:"closeSearchBar",exec:function(e){e.searchBox.hide()}}]),this.$searchBarKb=new u,this.$searchBarKb.bindKeys({"Ctrl-f|Command-f":function(e){var t=e.isReplace=!e.isReplace;e.replaceBox.style.display=t?"":"none",e.searchInput.focus()},"Ctrl-H|Command-Option-F":function(e){e.replaceBox.style.display="",e.replaceInput.focus()},"Ctrl-G|Command-G":function(e){e.findNext()},"Ctrl-Shift-G|Command-Shift-G":function(e){e.findPrev()},esc:function(e){setTimeout(function(){e.hide()})},Return:function(e){e.activeInput==e.replaceInput&&e.replace(),e.findNext()},"Shift-Return":function(e){e.activeInput==e.replaceInput&&e.replace(),e.findPrev()},"Alt-Return":function(e){e.activeInput==e.replaceInput&&e.replaceAll(),e.findAll()},Tab:function(e){(e.activeInput==e.replaceInput?e.searchInput:e.replaceInput).focus()}}),this.$searchBarKb.addCommands([{name:"toggleRegexpMode",bindKey:{win:"Alt-R|Alt-/",mac:"Ctrl-Alt-R|Ctrl-Alt-/"},exec:function(e){e.regExpOption.checked=!e.regExpOption.checked,e.$syncOptions()}},{name:"toggleCaseSensitive",bindKey:{win:"Alt-C|Alt-I",mac:"Ctrl-Alt-R|Ctrl-Alt-I"},exec:function(e){e.caseSensitiveOption.checked=!e.caseSensitiveOption.checked,e.$syncOptions()}},{name:"toggleWholeWords",bindKey:{win:"Alt-B|Alt-W",mac:"Ctrl-Alt-B|Ctrl-Alt-W"},exec:function(e){e.wholeWordOption.checked=!e.wholeWordOption.checked,e.$syncOptions()}}]),this.$syncOptions=function(){r.setCssClass(this.regExpOption,"checked",this.regExpOption.checked),r.setCssClass(this.wholeWordOption,"checked",this.wholeWordOption.checked),r.setCssClass(this.caseSensitiveOption,"checked",this.caseSensitiveOption.checked),this.find(!1,!1)},this.highlight=function(e){this.editor.session.highlight(e||this.editor.$search.$options.re),this.editor.renderer.updateBackMarkers()},this.find=function(e,t,n){var i=this.editor.find(this.searchInput.value,{skipCurrent:e,backwards:t,wrap:!0,regExp:this.regExpOption.checked,caseSensitive:this.caseSensitiveOption.checked,wholeWord:this.wholeWordOption.checked,preventScroll:n}),s=!i&&this.searchInput.value;r.setCssClass(this.searchBox,"ace_nomatch",s),this.editor._emit("findSearchBox",{match:!s}),this.highlight()},this.findNext=function(){this.find(!0,!1)},this.findPrev=function(){this.find(!0,!0)},this.findAll=function(){var e=this.editor.findAll(this.searchInput.value,{regExp:this.regExpOption.checked,caseSensitive:this.caseSensitiveOption.checked,wholeWord:this.wholeWordOption.checked}),t=!e&&this.searchInput.value;r.setCssClass(this.searchBox,"ace_nomatch",t),this.editor._emit("findSearchBox",{match:!t}),this.highlight(),this.hide()},this.replace=function(){this.editor.getReadOnly()||this.editor.replace(this.replaceInput.value)},this.replaceAndFindNext=function(){this.editor.getReadOnly()||(this.editor.replace(this.replaceInput.value),this.findNext())},this.replaceAll=function(){this.editor.getReadOnly()||this.editor.replaceAll(this.replaceInput.value)},this.hide=function(){this.element.style.display="none",this.editor.keyBinding.removeKeyboardHandler(this.$closeSearchBarKb),this.editor.focus()},this.show=function(e,t){this.element.style.display="",this.replaceBox.style.display=t?"":"none",this.isReplace=t,e&&(this.searchInput.value=e),this.find(!1,!1,!0),this.searchInput.focus(),this.searchInput.select(),this.editor.keyBinding.addKeyboardHandler(this.$closeSearchBarKb)},this.isFocused=function(){var e=document.activeElement;return e==this.searchInput||e==this.replaceInput}}).call(l.prototype),t.SearchBox=l,t.Search=function(e,t){var n=e.searchBox||new l(e);n.show(e.session.getTextRange(),t)}}); + (function() { + window.require(["ace/ext/searchbox"], function() {}); + })(); + \ No newline at end of file diff --git a/examples/SmartSwitch/data_src/js_css_src/js-time-picker/1-inline.html b/examples/SmartSwitch/data_src/js_css_src/js-time-picker/1-inline.html new file mode 100644 index 0000000..22160e9 --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/js-time-picker/1-inline.html @@ -0,0 +1,30 @@ + + + + Inline Timepicker Example + + + + + + +

Inline Time Picker

+ +
TIME ON
+
+
TIME OFF
+ + + + + \ No newline at end of file diff --git a/examples/SmartSwitch/data_src/js_css_src/js-time-picker/2-popup.html b/examples/SmartSwitch/data_src/js_css_src/js-time-picker/2-popup.html new file mode 100644 index 0000000..162339a --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/js-time-picker/2-popup.html @@ -0,0 +1,27 @@ + + + + Popup Timeicker Example + + + + + + +

Popup Time Picker

+ + + ON/OFF +

Line

+ + + + + \ No newline at end of file diff --git a/examples/SmartSwitch/data_src/js_css_src/js-time-picker/README.txt b/examples/SmartSwitch/data_src/js_css_src/js-time-picker/README.txt new file mode 100644 index 0000000..b09dd21 --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/js-time-picker/README.txt @@ -0,0 +1,29 @@ +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= +LICENSE +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= + +Copyright 2018 by Code Boxx + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= +MORE +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= +Please visit https://code-boxx.com/ for more! \ No newline at end of file diff --git a/examples/SmartSwitch/data_src/js_css_src/js-time-picker/tpick-light-pop.css b/examples/SmartSwitch/data_src/js_css_src/js-time-picker/tpick-light-pop.css new file mode 100644 index 0000000..cacbdb3 --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/js-time-picker/tpick-light-pop.css @@ -0,0 +1,65 @@ +/* [CONTAINER] */ +.tpop { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100vh; + background: rgba(0, 0, 0, 0.7); + transition: all 0.5s; + visibility: hidden; + opacity: 0; +} +.tpop.show { + visibility: visible; + opacity: 1; +} +.tpicker { + background: #f2f2f2; + padding: 10px; + width: 100%; + max-width: 320px; + white-space: nowrap; + font-size: 32px; + font-weight: bold; + text-align: center; +} +.tpop .tpicker { + margin: 20px auto 0 auto; +} + +/* [HR + MIN + AM/PM] */ +.tpicker-h, .tpicker-m, .tpicker-ap { + display: inline-block; + width: 30%; +} +.tpicker input[type=text] { + box-sizing: border-box; + width: 70%; + padding: 10px; + margin: 5px 0; + border: 0; + background: #fff; + color: #888; + text-align: center; + font-size: 28px; +} +.tpicker-up, .tpicker-down { + text-align: center; + color: #ff853f; + cursor: pointer; +} + +/* [CANCEL + OK BUTTON] */ +.tpicker-btn { + margin-top: 10px; +} +.tpicker-btn input[type=button] { + width: 50%; + padding: 10px 0; + border: 0; + background: #a83a0b; + color: #fff; + font-size: 20px; + cursor: pointer; +} \ No newline at end of file diff --git a/examples/SmartSwitch/data_src/js_css_src/js-time-picker/tpick-light.css b/examples/SmartSwitch/data_src/js_css_src/js-time-picker/tpick-light.css new file mode 100644 index 0000000..58676b4 --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/js-time-picker/tpick-light.css @@ -0,0 +1,47 @@ +/* [CONTAINER] */ +.tpicker { + background: #f2f2f2; + padding: 10px; + width: 100%; + max-width: 320px; + white-space: nowrap; + font-size: 32px; + font-weight: bold; + text-align: center; +} + +/* [HR + MIN + AM/PM] */ +.tpicker-h, .tpicker-m, .tpicker-ap { + display: inline-block; + width: 30%; +} +.tpicker input[type=text] { + box-sizing: border-box; + width: 70%; + padding: 10px; + margin: 5px 0; + border: 0; + background: #fff; + color: #888; + text-align: center; + font-size: 28px; +} +.tpicker-up, .tpicker-down { + text-align: center; + color: #ff853f; + cursor: pointer; +} + +/* [CANCEL + OK BUTTON] */ +.tpicker-btn { + margin-top: 10px; +} +.tpicker-btn input[type=button] { + width: 50%; + padding: 10px 0; + border: 0; + background: #a83a0b; + color: #fff; + font-size: 20px; + cursor: pointer; +} \ No newline at end of file diff --git a/examples/SmartSwitch/data_src/js_css_src/js-time-picker/tpick-pop.js b/examples/SmartSwitch/data_src/js_css_src/js-time-picker/tpick-pop.js new file mode 100644 index 0000000..c52a2da --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/js-time-picker/tpick-pop.js @@ -0,0 +1,136 @@ +var tpick = { + attach : function (target) { + // attach() : attach time picker to target + + // Generate a unique random ID for the time picker + var uniqueID = 0; + while (document.getElementById("tpick-" + uniqueID) != null) { + uniqueID = Math.floor(Math.random() * (100 - 2)) + 1; + } + + // Create wrapper + var tw = document.createElement("div"); + tw.id = "tpick-" + uniqueID; + tw.classList.add("tpop"); + tw.dataset.target = target; + tw.addEventListener("click", function (evt) { + if (evt.target.classList.contains("tpop")) { + this.classList.remove("show"); + } + }); + + // Create new time picker + var tp = document.createElement("div"); + tp.classList.add("tpicker"); + + // Create hour picker + tp.appendChild(this.draw("h")); + tp.appendChild(this.draw("m")); + tp.appendChild(this.draw("ap")); + + // OK button + var bottom = document.createElement("div"), + ok = document.createElement("input"); + ok.setAttribute("type", "button"); + ok.value = "OK"; + ok.addEventListener("click", function(){ tpick.set(this); }); + bottom.classList.add("tpicker-btn"); + bottom.appendChild(ok); + tp.appendChild(bottom); + + // Attach time picker to body + tw.appendChild(tp); + document.body.appendChild(tw); + + // Attach on focus event + var target = document.getElementById(target); + target.dataset.dp = uniqueID; + target.onfocus = function () { + document.getElementById("tpick-" + this.dataset.dp).classList.add("show"); + }; + }, + + draw : function (type) { + // draw() : support function to create the hr, min, am/pm selector + + // Create the controls + var docket = document.createElement("div"), + up = document.createElement("div"), + down = document.createElement("div"), + text = document.createElement("input"); + docket.classList.add("tpicker-" + type); + up.classList.add("tpicker-up"); + down.classList.add("tpicker-down"); + up.innerHTML = "︿"; + down.innerHTML = "﹀"; + text.readOnly = true; + text.setAttribute("type", "text"); + + // Default values + click event + // You can do your own modifications here + if (type=="h") { + text.value = "12"; + up.addEventListener("click", function(){ tpick.spin("h", 1, this); }); + down.addEventListener("click", function(){ tpick.spin("h", 0, this); }); + } else if (type=="m") { + text.value = "10"; + up.addEventListener("click", function(){ tpick.spin("m", 1, this); }); + down.addEventListener("click", function(){ tpick.spin("m", 0, this); }); + } else { + text.value = "AM"; + up.addEventListener("click", function(){ tpick.spin("ap", 1, this); }); + down.addEventListener("click", function(){ tpick.spin("ap", 0, this); }); + } + + // Complete + return the docket + docket.appendChild(up); + docket.appendChild(text); + docket.appendChild(down); + return docket; + }, + + spin : function (type, direction, el) { + // spin() : when the up/down button is pressed + + // Get current field + value + var parent = el.parentElement, + field = parent.getElementsByTagName("input")[0], + value = field.value; + + // Spin it + if (type=="h") { + value = parseInt(value); + if (direction) { value++; } else { value--; } + if (value==0) { value = 12; } + else if (value>12) { value = 1; } + } else if (type=="m") { + value = parseInt(value); + if (direction) { value+=5; } else { value-=5; } + if (value<0) { value = 55; } + else if (value>60) { value = 0; } + if (value<10) { value = "0" + value; } + } + else { + value = value=="PM" ? "AM" : "PM"; + } + field.value = value; + }, + + set : function (el) { + // set() : set the selected time on the target + + // Get the parent container + var parent = el.parentElement; + while (parent.classList.contains("tpop") == false) { + parent = parent.parentElement; + } + + // Formulate + set selected time + var input = parent.querySelectorAll("input[type=text]"); + var time = input[0].value + ":" + input[1].value + " " + input[2].value; + document.getElementById(parent.dataset.target).value = time; + + // Close popup + parent.classList.remove("show"); + } +}; \ No newline at end of file diff --git a/examples/SmartSwitch/data_src/js_css_src/js-time-picker/tpick.js b/examples/SmartSwitch/data_src/js_css_src/js-time-picker/tpick.js new file mode 100644 index 0000000..799142c --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/js-time-picker/tpick.js @@ -0,0 +1,116 @@ +var tpick = { + attach : function (container, target) { + // attach() : attach time picker to target + + // Generate a unique random ID for the time picker + var uniqueID = 0; + while (document.getElementById("tpick-" + uniqueID) != null) { + uniqueID = Math.floor(Math.random() * (100 - 2)) + 1; + } + + // Create new time picker + var tp = document.createElement("div"); + tp.id = "tpick-" + uniqueID; + tp.dataset.target = target; + tp.classList.add("tpicker"); + + // Create hour picker + tp.appendChild(this.draw("h")); + tp.appendChild(this.draw("m")); + tp.appendChild(this.draw("ap")); + + // OK button + var bottom = document.createElement("div"), + ok = document.createElement("input"); + ok.setAttribute("type", "button"); + ok.value = "OK"; + ok.addEventListener("click", function(){ tpick.set(this); }); + bottom.classList.add("tpicker-btn"); + bottom.appendChild(ok); + tp.appendChild(bottom); + + // Attach time picker to target container + document.getElementById(container).appendChild(tp); + }, + + draw : function (type) { + // draw() : support function to create the hr, min, am/pm selector + + // Create the controls + var docket = document.createElement("div"), + up = document.createElement("div"), + down = document.createElement("div"), + text = document.createElement("input"); + docket.classList.add("tpicker-" + type); + up.classList.add("tpicker-up"); + down.classList.add("tpicker-down"); + up.innerHTML = "︿"; + down.innerHTML = "﹀"; + text.readOnly = true; + text.setAttribute("type", "text"); + + // Default values + click event + // You can do your own modifications here + if (type=="h") { + text.value = "12"; + up.addEventListener("click", function(){ tpick.spin("h", 1, this); }); + down.addEventListener("click", function(){ tpick.spin("h", 0, this); }); + } else if (type=="m") { + text.value = "10"; + up.addEventListener("click", function(){ tpick.spin("m", 1, this); }); + down.addEventListener("click", function(){ tpick.spin("m", 0, this); }); + } else { + text.value = "AM"; + up.addEventListener("click", function(){ tpick.spin("ap", 1, this); }); + down.addEventListener("click", function(){ tpick.spin("ap", 0, this); }); + } + + // Complete + return the docket + docket.appendChild(up); + docket.appendChild(text); + docket.appendChild(down); + return docket; + }, + + spin : function (type, direction, el) { + // spin() : when the up/down button is pressed + + // Get current field + value + var parent = el.parentElement, + field = parent.getElementsByTagName("input")[0], + value = field.value; + + // Spin it + if (type=="h") { + value = parseInt(value); + if (direction) { value++; } else { value--; } + if (value==0) { value = 12; } + else if (value>12) { value = 1; } + } else if (type=="m") { + value = parseInt(value); + if (direction) { value+=5; } else { value-=5; } + if (value<0) { value = 55; } + else if (value>60) { value = 0; } + if (value<10) { value = "0" + value; } + } + else { + value = value=="PM" ? "AM" : "PM"; + } + field.value = value; + }, + + set : function (el) { + // set() : set the selected time on the target + + // Get the parent container + var parent = el.parentElement; + while (parent.classList.contains("tpicker") == false) { + parent = parent.parentElement; + } + + // Formulate + set selected time + var input = parent.querySelectorAll("input[type=text]"); + var time = input[0].value + ":" + input[1].value + " " + input[2].value; + document.getElementById(parent.dataset.target).value = time; + } +}; \ No newline at end of file diff --git a/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/auto-adjust.htm b/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/auto-adjust.htm new file mode 100644 index 0000000..28903cf --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/auto-adjust.htm @@ -0,0 +1,94 @@ + + + + + Auto-adjust + + + + + + +
+
+
+
+

+ JustGage auto-adjusts to the size of containing element. And to the screen zoom level. And screen density. Nice. This means you’ll get clean, sharp and nice looking gauge at all times. Try zooming the page to see the results. +

+ + + + + + diff --git a/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/counter.html b/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/counter.html new file mode 100644 index 0000000..4069593 --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/counter.html @@ -0,0 +1,58 @@ + + + + + + Counter + + + + + + + + + + + + diff --git a/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/custom-interval.htm b/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/custom-interval.htm new file mode 100644 index 0000000..6c58bda --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/custom-interval.htm @@ -0,0 +1,82 @@ + + + + + Custom interval + + + + + +
+
+
+

+ You need to measure, say, between 350 and 980? No problem, just tell it to justGage. Displayed value and color are calculated as a percentage in defined range, with optional min and max labels shown. +

+

+ Also, if displayed value is out of range, relax and kick your feet up - justGage will take care of it for you. +

+ + + + + + diff --git a/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/custom-node.html b/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/custom-node.html new file mode 100644 index 0000000..98964e1 --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/custom-node.html @@ -0,0 +1,130 @@ + + + + + Custom Node + + + + + + +
+
+
+
+
+ + +
+
+ + + + +
+ + + + + + diff --git a/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/custom-sectors.html b/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/custom-sectors.html new file mode 100644 index 0000000..a868de6 --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/custom-sectors.html @@ -0,0 +1,88 @@ + + + + + + Custom Sectors + + + + + + + + + +
+
+

0-50 is green, 51-100 is red

+ Random Refresh + Update Sectors +
+ + + + + + \ No newline at end of file diff --git a/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/custom-value-renderer.html b/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/custom-value-renderer.html new file mode 100644 index 0000000..2e5b0f3 --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/custom-value-renderer.html @@ -0,0 +1,116 @@ + + + + + + Custom Render Function + + + + +
+ Random Refresh + + + + + + diff --git a/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/customize-style.htm b/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/customize-style.htm new file mode 100644 index 0000000..9be11d1 --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/customize-style.htm @@ -0,0 +1,137 @@ + + + + + Customize style + + + + + + +
+
+
+
+
+
+

+ Not digging default style? Then mock your own, Picasso! JustGage features bunch of styling options including gauge width, gauge color and shadow, gauge level colors, colors for title, value, min & max etc. +

+

+ Check non-minified version of justgage.js for list of all setup parameters. +

+ + + + + + diff --git a/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/defaults.html b/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/defaults.html new file mode 100644 index 0000000..99f8827 --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/defaults.html @@ -0,0 +1,60 @@ + + + + + + Defaults + + + + + +
+
+
+
+ + + + + + diff --git a/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/font-options.html b/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/font-options.html new file mode 100644 index 0000000..11063c7 --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/font-options.html @@ -0,0 +1,62 @@ + + + + + + Counter + + + + + + + + + + + + diff --git a/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/format-number.html b/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/format-number.html new file mode 100644 index 0000000..4bf2c36 --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/format-number.html @@ -0,0 +1,56 @@ + + + + + + Counter + + + + + + + + + + + + \ No newline at end of file diff --git a/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/html5-data-attribute-config.html b/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/html5-data-attribute-config.html new file mode 100644 index 0000000..3c2ab0b --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/html5-data-attribute-config.html @@ -0,0 +1,54 @@ + + + + + + html5 data-attribute setup + + + + + + + + + +
+
+ +
+ + + + + + \ No newline at end of file diff --git a/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/human-friendly-numbers.html b/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/human-friendly-numbers.html new file mode 100644 index 0000000..f0e7ddc --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/human-friendly-numbers.html @@ -0,0 +1,109 @@ + + + + + + Guage + + + + +
+ Random Refresh + + + + + + diff --git a/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/pointer.html b/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/pointer.html new file mode 100644 index 0000000..b20ae5f --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/pointer.html @@ -0,0 +1,168 @@ + + + + + + Pointer + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+ + + + + + diff --git a/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/refresh-maximum.html b/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/refresh-maximum.html new file mode 100644 index 0000000..e1502a1 --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/refresh-maximum.html @@ -0,0 +1,91 @@ + + + + + + Donuts, baby! + + + + + + + + + + + + diff --git a/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/responsive-gauges.htm b/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/responsive-gauges.htm new file mode 100644 index 0000000..68680c6 --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/responsive-gauges.htm @@ -0,0 +1,71 @@ + + + + + Dynamic Resize + + + + + +
+
+
+
+
+ + + + + + diff --git a/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/reverse.html b/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/reverse.html new file mode 100644 index 0000000..e17b675 --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/examples/reverse.html @@ -0,0 +1,144 @@ + + + + + + Reverse + + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+ + + + + + diff --git a/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/justgage.js b/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/justgage.js new file mode 100644 index 0000000..c852491 --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/justgage.js @@ -0,0 +1,1220 @@ +/** + * JustGage - animated gauges using RaphaelJS + * Check http://www.justgage.com for official releases + * Licensed under MIT. + * @author Bojan Djuricic (@Toorshia) + **/ + +JustGage = function(config) { + + var obj = this; + + // Helps in case developer wants to debug it. unobtrusive + if (config === null || config === undefined) { + console.log('* justgage: Make sure to pass options to the constructor!'); + return false; + } + + var node; + + if (config.id !== null && config.id !== undefined) { + node = document.getElementById(config.id); + if (!node) { + console.log('* justgage: No element with id : %s found', config.id); + return false; + } + } else if (config.parentNode !== null && config.parentNode !== undefined) { + node = config.parentNode; + } else { + console.log('* justgage: Make sure to pass the existing element id or parentNode to the constructor.'); + return false; + } + + var dataset = node.dataset ? node.dataset : {}; + + // check for defaults + var defaults = (config.defaults !== null && config.defaults !== undefined) ? config.defaults : false; + if (defaults !== false) { + config = extend({}, config, defaults); + delete config.defaults; + } + + // configurable parameters + obj.config = { + // id : string + // this is container element id + id: config.id, + + // value : float + // value gauge is showing + value: kvLookup('value', config, dataset, 0, 'float'), + + // defaults : bool + // defaults parameter to use + defaults: kvLookup('defaults', config, dataset, 0, false), + + // parentNode : node object + // this is container element + parentNode: kvLookup('parentNode', config, dataset, null), + + // width : int + // gauge width + width: kvLookup('width', config, dataset, null), + + // height : int + // gauge height + height: kvLookup('height', config, dataset, null), + + // title : string + // gauge title + title: kvLookup('title', config, dataset, ""), + + // titleFontColor : string + // color of gauge title + titleFontColor: kvLookup('titleFontColor', config, dataset, "#999999"), + + // titleFontFamily : string + // color of gauge title + titleFontFamily: kvLookup('titleFontFamily', config, dataset, "sans-serif"), + + // titlePosition : string + // 'above' or 'below' + titlePosition: kvLookup('titlePosition', config, dataset, "above"), + + // valueFontColor : string + // color of label showing current value + valueFontColor: kvLookup('valueFontColor', config, dataset, "#010101"), + + // valueFontFamily : string + // color of label showing current value + valueFontFamily: kvLookup('valueFontFamily', config, dataset, "Arial"), + + // symbol : string + // special symbol to show next to value + symbol: kvLookup('symbol', config, dataset, ''), + + // min : float + // min value + min: kvLookup('min', config, dataset, 0, 'float'), + + // max : float + // max value + max: kvLookup('max', config, dataset, 100, 'float'), + + // reverse : bool + // reverse min and max + reverse: kvLookup('reverse', config, dataset, false), + + // humanFriendlyDecimal : int + // number of decimal places for our human friendly number to contain + humanFriendlyDecimal: kvLookup('humanFriendlyDecimal', config, dataset, 0), + + + // textRenderer: func + // function applied before rendering text + textRenderer: kvLookup('textRenderer', config, dataset, null), + + // gaugeWidthScale : float + // width of the gauge element + gaugeWidthScale: kvLookup('gaugeWidthScale', config, dataset, 1.0), + + // gaugeColor : string + // background color of gauge element + gaugeColor: kvLookup('gaugeColor', config, dataset, "#edebeb"), + + // label : string + // text to show below value + label: kvLookup('label', config, dataset, ''), + + // labelFontColor : string + // color of label showing label under value + labelFontColor: kvLookup('labelFontColor', config, dataset, "#b3b3b3"), + + // shadowOpacity : int + // 0 ~ 1 + shadowOpacity: kvLookup('shadowOpacity', config, dataset, 0.2), + + // shadowSize: int + // inner shadow size + shadowSize: kvLookup('shadowSize', config, dataset, 5), + + // shadowVerticalOffset : int + // how much shadow is offset from top + shadowVerticalOffset: kvLookup('shadowVerticalOffset', config, dataset, 3), + + // levelColors : string[] + // colors of indicator, from lower to upper, in RGB format + levelColors: kvLookup('levelColors', config, dataset, ["#a9d70b", "#f9c802", "#ff0000"], 'array', ','), + + // startAnimationTime : int + // length of initial animation + startAnimationTime: kvLookup('startAnimationTime', config, dataset, 700), + + // startAnimationType : string + // type of initial animation (linear, >, <, <>, bounce) + startAnimationType: kvLookup('startAnimationType', config, dataset, '>'), + + // refreshAnimationTime : int + // length of refresh animation + refreshAnimationTime: kvLookup('refreshAnimationTime', config, dataset, 700), + + // refreshAnimationType : string + // type of refresh animation (linear, >, <, <>, bounce) + refreshAnimationType: kvLookup('refreshAnimationType', config, dataset, '>'), + + // donutStartAngle : int + // angle to start from when in donut mode + donutStartAngle: kvLookup('donutStartAngle', config, dataset, 90), + + // valueMinFontSize : int + // absolute minimum font size for the value + valueMinFontSize: kvLookup('valueMinFontSize', config, dataset, 16), + + // titleMinFontSize + // absolute minimum font size for the title + titleMinFontSize: kvLookup('titleMinFontSize', config, dataset, 10), + + // labelMinFontSize + // absolute minimum font size for the label + labelMinFontSize: kvLookup('labelMinFontSize', config, dataset, 10), + + // minLabelMinFontSize + // absolute minimum font size for the minimum label + minLabelMinFontSize: kvLookup('minLabelMinFontSize', config, dataset, 10), + + // maxLabelMinFontSize + // absolute minimum font size for the maximum label + maxLabelMinFontSize: kvLookup('maxLabelMinFontSize', config, dataset, 10), + + // hideValue : bool + // hide value text + hideValue: kvLookup('hideValue', config, dataset, false), + + // hideMinMax : bool + // hide min and max values + hideMinMax: kvLookup('hideMinMax', config, dataset, false), + + // hideInnerShadow : bool + // hide inner shadow + hideInnerShadow: kvLookup('hideInnerShadow', config, dataset, false), + + // humanFriendly : bool + // convert large numbers for min, max, value to human friendly (e.g. 1234567 -> 1.23M) + humanFriendly: kvLookup('humanFriendly', config, dataset, false), + + // noGradient : bool + // whether to use gradual color change for value, or sector-based + noGradient: kvLookup('noGradient', config, dataset, false), + + // donut : bool + // show full donut gauge + donut: kvLookup('donut', config, dataset, false), + + // relativeGaugeSize : bool + // whether gauge size should follow changes in container element size + relativeGaugeSize: kvLookup('relativeGaugeSize', config, dataset, false), + + // counter : bool + // animate level number change + counter: kvLookup('counter', config, dataset, false), + + // decimals : int + // number of digits after floating point + decimals: kvLookup('decimals', config, dataset, 0), + + // customSectors : [] of objects + // number of digits after floating point + customSectors: kvLookup('customSectors', config, dataset, []), + + // formatNumber: boolean + // formats numbers with commas where appropriate + formatNumber: kvLookup('formatNumber', config, dataset, false), + + // pointer : bool + // show value pointer + pointer: kvLookup('pointer', config, dataset, false), + + // pointerOptions : object + // define pointer look + pointerOptions: kvLookup('pointerOptions', config, dataset, []) + }; + + // variables + var + canvasW, + canvasH, + widgetW, + widgetH, + aspect, + dx, + dy, + titleFontSize, + titleX, + titleY, + valueFontSize, + valueX, + valueY, + labelFontSize, + labelX, + labelY, + minFontSize, + minX, + minY, + maxFontSize, + maxX, + maxY; + + // overflow values + if (obj.config.value > obj.config.max) obj.config.value = obj.config.max; + if (obj.config.value < obj.config.min) obj.config.value = obj.config.min; + obj.originalValue = kvLookup('value', config, dataset, -1, 'float'); + + // create canvas + if (obj.config.id !== null && (document.getElementById(obj.config.id)) !== null) { + obj.canvas = Raphael(obj.config.id, "100%", "100%"); + } else if (obj.config.parentNode !== null) { + obj.canvas = Raphael(obj.config.parentNode, "100%", "100%"); + } + + if (obj.config.relativeGaugeSize === true) { + obj.canvas.setViewBox(0, 0, 200, 150, true); + } + + // canvas dimensions + if (obj.config.relativeGaugeSize === true) { + canvasW = 200; + canvasH = 150; + } else if (obj.config.width !== null && obj.config.height !== null) { + canvasW = obj.config.width; + canvasH = obj.config.height; + } else if (obj.config.parentNode !== null) { + obj.canvas.setViewBox(0, 0, 200, 150, true); + canvasW = 200; + canvasH = 150; + } else { + canvasW = getStyle(document.getElementById(obj.config.id), "width").slice(0, -2) * 1; + canvasH = getStyle(document.getElementById(obj.config.id), "height").slice(0, -2) * 1; + } + + // widget dimensions + if (obj.config.donut === true) { + + // DONUT ******************************* + + // width more than height + if (canvasW > canvasH) { + widgetH = canvasH; + widgetW = widgetH; + // width less than height + } else if (canvasW < canvasH) { + widgetW = canvasW; + widgetH = widgetW; + // if height don't fit, rescale both + if (widgetH > canvasH) { + aspect = widgetH / canvasH; + widgetH = widgetH / aspect; + widgetW = widgetH / aspect; + } + // equal + } else { + widgetW = canvasW; + widgetH = widgetW; + } + + // delta + dx = (canvasW - widgetW) / 2; + dy = (canvasH - widgetH) / 2; + + // title + titleFontSize = ((widgetH / 8) > 10) ? (widgetH / 10) : 10; + titleX = dx + widgetW / 2; + titleY = dy + widgetH / 11; + + // value + valueFontSize = ((widgetH / 6.4) > 16) ? (widgetH / 5.4) : 18; + valueX = dx + widgetW / 2; + if (obj.config.label !== '') { + valueY = dy + widgetH / 1.85; + } else { + valueY = dy + widgetH / 1.7; + } + + // label + labelFontSize = ((widgetH / 16) > 10) ? (widgetH / 16) : 10; + labelX = dx + widgetW / 2; + labelY = valueY + labelFontSize; + + // min + minFontSize = ((widgetH / 16) > 10) ? (widgetH / 16) : 10; + minX = dx + (widgetW / 10) + (widgetW / 6.666666666666667 * obj.config.gaugeWidthScale) / 2; + minY = labelY; + + // max + maxFontSize = ((widgetH / 16) > 10) ? (widgetH / 16) : 10; + maxX = dx + widgetW - (widgetW / 10) - (widgetW / 6.666666666666667 * obj.config.gaugeWidthScale) / 2; + maxY = labelY; + + } else { + // HALF ******************************* + + // width more than height + if (canvasW > canvasH) { + widgetH = canvasH; + widgetW = widgetH * 1.25; + //if width doesn't fit, rescale both + if (widgetW > canvasW) { + aspect = widgetW / canvasW; + widgetW = widgetW / aspect; + widgetH = widgetH / aspect; + } + // width less than height + } else if (canvasW < canvasH) { + widgetW = canvasW; + widgetH = widgetW / 1.25; + // if height don't fit, rescale both + if (widgetH > canvasH) { + aspect = widgetH / canvasH; + widgetH = widgetH / aspect; + widgetW = widgetH / aspect; + } + // equal + } else { + widgetW = canvasW; + widgetH = widgetW * 0.75; + } + + // delta + dx = (canvasW - widgetW) / 2; + dy = (canvasH - widgetH) / 2; + if (obj.config.titlePosition === 'below') { + // shift whole thing down + dy -= (widgetH / 6.4); + } + + // title + titleFontSize = ((widgetH / 8) > obj.config.titleMinFontSize) ? (widgetH / 10) : obj.config.titleMinFontSize; + titleX = dx + widgetW / 2; + titleY = dy + (obj.config.titlePosition === 'below' ? (widgetH * 1.07) : (widgetH / 6.4)); + + // value + valueFontSize = ((widgetH / 6.5) > obj.config.valueMinFontSize) ? (widgetH / 6.5) : obj.config.valueMinFontSize; + valueX = dx + widgetW / 2; + valueY = dy + widgetH / 1.275; + + // label + labelFontSize = ((widgetH / 16) > obj.config.labelMinFontSize) ? (widgetH / 16) : obj.config.labelMinFontSize; + labelX = dx + widgetW / 2; + labelY = valueY + valueFontSize / 2 + 5; + + // min + minFontSize = ((widgetH / 16) > obj.config.minLabelMinFontSize) ? (widgetH / 16) : obj.config.minLabelMinFontSize; + minX = dx + (widgetW / 10) + (widgetW / 6.666666666666667 * obj.config.gaugeWidthScale) / 2; + minY = labelY; + + // max + maxFontSize = ((widgetH / 16) > obj.config.maxLabelMinFontSize) ? (widgetH / 16) : obj.config.maxLabelMinFontSize; + maxX = dx + widgetW - (widgetW / 10) - (widgetW / 6.666666666666667 * obj.config.gaugeWidthScale) / 2; + maxY = labelY; + } + + // parameters + obj.params = { + canvasW: canvasW, + canvasH: canvasH, + widgetW: widgetW, + widgetH: widgetH, + dx: dx, + dy: dy, + titleFontSize: titleFontSize, + titleX: titleX, + titleY: titleY, + valueFontSize: valueFontSize, + valueX: valueX, + valueY: valueY, + labelFontSize: labelFontSize, + labelX: labelX, + labelY: labelY, + minFontSize: minFontSize, + minX: minX, + minY: minY, + maxFontSize: maxFontSize, + maxX: maxX, + maxY: maxY + }; + + // var clear + canvasW, canvasH, widgetW, widgetH, aspect, dx, dy, titleFontSize, titleX, titleY, valueFontSize, valueX, valueY, labelFontSize, labelX, labelY, minFontSize, minX, minY, maxFontSize, maxX, maxY = null; + + // pki - custom attribute for generating gauge paths + obj.canvas.customAttributes.pki = function(value, min, max, w, h, dx, dy, gws, donut, reverse) { + + var alpha, Ro, Ri, Cx, Cy, Xo, Yo, Xi, Yi, path; + + if (donut) { + alpha = (1 - 2 * (value - min) / (max - min)) * Math.PI; + Ro = w / 2 - w / 7; + Ri = Ro - w / 6.666666666666667 * gws; + + Cx = w / 2 + dx; + Cy = h / 1.95 + dy; + + Xo = w / 2 + dx + Ro * Math.cos(alpha); + Yo = h - (h - Cy) - Ro * Math.sin(alpha); + Xi = w / 2 + dx + Ri * Math.cos(alpha); + Yi = h - (h - Cy) - Ri * Math.sin(alpha); + + path = "M" + (Cx - Ri) + "," + Cy + " "; + path += "L" + (Cx - Ro) + "," + Cy + " "; + if (value > ((max - min) / 2)) { + path += "A" + Ro + "," + Ro + " 0 0 1 " + (Cx + Ro) + "," + Cy + " "; + } + path += "A" + Ro + "," + Ro + " 0 0 1 " + Xo + "," + Yo + " "; + path += "L" + Xi + "," + Yi + " "; + if (value > ((max - min) / 2)) { + path += "A" + Ri + "," + Ri + " 0 0 0 " + (Cx + Ri) + "," + Cy + " "; + } + path += "A" + Ri + "," + Ri + " 0 0 0 " + (Cx - Ri) + "," + Cy + " "; + path += "Z "; + + return { + path: path + }; + + } else { + alpha = (1 - (value - min) / (max - min)) * Math.PI; + Ro = w / 2 - w / 10; + Ri = Ro - w / 6.666666666666667 * gws; + + Cx = w / 2 + dx; + Cy = h / 1.25 + dy; + + Xo = w / 2 + dx + Ro * Math.cos(alpha); + Yo = h - (h - Cy) - Ro * Math.sin(alpha); + Xi = w / 2 + dx + Ri * Math.cos(alpha); + Yi = h - (h - Cy) - Ri * Math.sin(alpha); + + path = "M" + (Cx - Ri) + "," + Cy + " "; + path += "L" + (Cx - Ro) + "," + Cy + " "; + path += "A" + Ro + "," + Ro + " 0 0 1 " + Xo + "," + Yo + " "; + path += "L" + Xi + "," + Yi + " "; + path += "A" + Ri + "," + Ri + " 0 0 0 " + (Cx - Ri) + "," + Cy + " "; + path += "Z "; + + return { + path: path + }; + } + + // var clear + alpha, Ro, Ri, Cx, Cy, Xo, Yo, Xi, Yi, path = null; + }; + + // ndl - custom attribute for generating needle path + obj.canvas.customAttributes.ndl = function(value, min, max, w, h, dx, dy, gws, donut) { + + var dlt = w * 3.5 / 100; + var dlb = w / 15; + var dw = w / 100; + + if (obj.config.pointerOptions.toplength != null && obj.config.pointerOptions.toplength != undefined) dlt = obj.config.pointerOptions.toplength; + if (obj.config.pointerOptions.bottomlength != null && obj.config.pointerOptions.bottomlength != undefined) dlb = obj.config.pointerOptions.bottomlength; + if (obj.config.pointerOptions.bottomwidth != null && obj.config.pointerOptions.bottomwidth != undefined) dw = obj.config.pointerOptions.bottomwidth; + + var alpha, Ro, Ri, Cx, Cy, Xo, Yo, Xi, Yi, Xc, Yc, Xz, Yz, Xa, Ya, Xb, Yb, path; + + if (donut) { + + alpha = (1 - 2 * (value - min) / (max - min)) * Math.PI; + Ro = w / 2 - w / 7; + Ri = Ro - w / 6.666666666666667 * gws; + + Cx = w / 2 + dx; + Cy = h / 1.95 + dy; + + Xo = w / 2 + dx + Ro * Math.cos(alpha); + Yo = h - (h - Cy) - Ro * Math.sin(alpha); + Xi = w / 2 + dx + Ri * Math.cos(alpha); + Yi = h - (h - Cy) - Ri * Math.sin(alpha); + + Xc = Xo + dlt * Math.cos(alpha); + Yc = Yo - dlt * Math.sin(alpha); + Xz = Xi - dlb * Math.cos(alpha); + Yz = Yi + dlb * Math.sin(alpha); + + Xa = Xz + dw * Math.sin(alpha); + Ya = Yz + dw * Math.cos(alpha); + Xb = Xz - dw * Math.sin(alpha); + Yb = Yz - dw * Math.cos(alpha); + + path = 'M' + Xa + ',' + Ya + ' '; + path += 'L' + Xb + ',' + Yb + ' '; + path += 'L' + Xc + ',' + Yc + ' '; + path += 'Z '; + + return { + path: path + }; + + } else { + alpha = (1 - (value - min) / (max - min)) * Math.PI; + Ro = w / 2 - w / 10; + Ri = Ro - w / 6.666666666666667 * gws; + + Cx = w / 2 + dx; + Cy = h / 1.25 + dy; + + Xo = w / 2 + dx + Ro * Math.cos(alpha); + Yo = h - (h - Cy) - Ro * Math.sin(alpha); + Xi = w / 2 + dx + Ri * Math.cos(alpha); + Yi = h - (h - Cy) - Ri * Math.sin(alpha); + + Xc = Xo + dlt * Math.cos(alpha); + Yc = Yo - dlt * Math.sin(alpha); + Xz = Xi - dlb * Math.cos(alpha); + Yz = Yi + dlb * Math.sin(alpha); + + Xa = Xz + dw * Math.sin(alpha); + Ya = Yz + dw * Math.cos(alpha); + Xb = Xz - dw * Math.sin(alpha); + Yb = Yz - dw * Math.cos(alpha); + + path = 'M' + Xa + ',' + Ya + ' '; + path += 'L' + Xb + ',' + Yb + ' '; + path += 'L' + Xc + ',' + Yc + ' '; + path += 'Z '; + + return { + path: path + }; + } + + // var clear + alpha, Ro, Ri, Cx, Cy, Xo, Yo, Xi, Yi, Xc, Yc, Xz, Yz, Xa, Ya, Xb, Yb, path = null; + }; + + // gauge + obj.gauge = obj.canvas.path().attr({ + "stroke": "none", + "fill": obj.config.gaugeColor, + pki: [ + obj.config.max, + obj.config.min, + obj.config.max, + obj.params.widgetW, + obj.params.widgetH, + obj.params.dx, + obj.params.dy, + obj.config.gaugeWidthScale, + obj.config.donut, + obj.config.reverse + ] + }); + + // level + obj.level = obj.canvas.path().attr({ + "stroke": "none", + "fill": getColor(obj.config.value, (obj.config.value - obj.config.min) / (obj.config.max - obj.config.min), obj.config.levelColors, obj.config.noGradient, obj.config.customSectors), + pki: [ + obj.config.min, + obj.config.min, + obj.config.max, + obj.params.widgetW, + obj.params.widgetH, + obj.params.dx, + obj.params.dy, + obj.config.gaugeWidthScale, + obj.config.donut, + obj.config.reverse + ] + }); + if (obj.config.donut) { + obj.level.transform("r" + obj.config.donutStartAngle + ", " + (obj.params.widgetW / 2 + obj.params.dx) + ", " + (obj.params.widgetH / 1.95 + obj.params.dy)); + } + + if (obj.config.pointer) { + // needle + obj.needle = obj.canvas.path().attr({ + "stroke": (obj.config.pointerOptions.stroke !== null && obj.config.pointerOptions.stroke !== undefined) ? obj.config.pointerOptions.stroke : "none", + "stroke-width": (obj.config.pointerOptions.stroke_width !== null && obj.config.pointerOptions.stroke_width !== undefined) ? obj.config.pointerOptions.stroke_width : 0, + "stroke-linecap": (obj.config.pointerOptions.stroke_linecap !== null && obj.config.pointerOptions.stroke_linecap !== undefined) ? obj.config.pointerOptions.stroke_linecap : "square", + "fill": (obj.config.pointerOptions.color !== null && obj.config.pointerOptions.color !== undefined) ? obj.config.pointerOptions.color : "#000000", + ndl: [ + obj.config.min, + obj.config.min, + obj.config.max, + obj.params.widgetW, + obj.params.widgetH, + obj.params.dx, + obj.params.dy, + obj.config.gaugeWidthScale, + obj.config.donut + ] + }); + + if (obj.config.donut) { + obj.needle.transform("r" + obj.config.donutStartAngle + ", " + (obj.params.widgetW / 2 + obj.params.dx) + ", " + (obj.params.widgetH / 1.95 + obj.params.dy)); + } + + } + + // title + obj.txtTitle = obj.canvas.text(obj.params.titleX, obj.params.titleY, obj.config.title); + obj.txtTitle.attr({ + "font-size": obj.params.titleFontSize, + "font-weight": "bold", + "font-family": obj.config.titleFontFamily, + "fill": obj.config.titleFontColor, + "fill-opacity": "1" + }); + setDy(obj.txtTitle, obj.params.titleFontSize, obj.params.titleY); + + // value + obj.txtValue = obj.canvas.text(obj.params.valueX, obj.params.valueY, 0); + obj.txtValue.attr({ + "font-size": obj.params.valueFontSize, + "font-weight": "bold", + "font-family": obj.config.valueFontFamily, + "fill": obj.config.valueFontColor, + "fill-opacity": "0" + }); + setDy(obj.txtValue, obj.params.valueFontSize, obj.params.valueY); + + // label + obj.txtLabel = obj.canvas.text(obj.params.labelX, obj.params.labelY, obj.config.label); + obj.txtLabel.attr({ + "font-size": obj.params.labelFontSize, + "font-weight": "normal", + "font-family": "Arial", + "fill": obj.config.labelFontColor, + "fill-opacity": "0" + }); + setDy(obj.txtLabel, obj.params.labelFontSize, obj.params.labelY); + + // min + var min = obj.config.min; + if (obj.config.reverse) { + min = obj.config.max; + } + + obj.txtMinimum = min; + if (obj.config.humanFriendly) { + obj.txtMinimum = humanFriendlyNumber(min, obj.config.humanFriendlyDecimal); + } else if (obj.config.formatNumber) { + obj.txtMinimum = formatNumber(min); + } + obj.txtMin = obj.canvas.text(obj.params.minX, obj.params.minY, obj.txtMinimum); + obj.txtMin.attr({ + "font-size": obj.params.minFontSize, + "font-weight": "normal", + "font-family": "Arial", + "fill": obj.config.labelFontColor, + "fill-opacity": (obj.config.hideMinMax || obj.config.donut) ? "0" : "1" + }); + setDy(obj.txtMin, obj.params.minFontSize, obj.params.minY); + + // max + var max = obj.config.max; + if (obj.config.reverse) { + max = obj.config.min; + } + obj.txtMaximum = max; + if (obj.config.humanFriendly) { + obj.txtMaximum = humanFriendlyNumber(max, obj.config.humanFriendlyDecimal); + } else if (obj.config.formatNumber) { + obj.txtMaximum = formatNumber(max); + } + obj.txtMax = obj.canvas.text(obj.params.maxX, obj.params.maxY, obj.txtMaximum); + obj.txtMax.attr({ + "font-size": obj.params.maxFontSize, + "font-weight": "normal", + "font-family": "Arial", + "fill": obj.config.labelFontColor, + "fill-opacity": (obj.config.hideMinMax || obj.config.donut) ? "0" : "1" + }); + setDy(obj.txtMax, obj.params.maxFontSize, obj.params.maxY); + + var defs = obj.canvas.canvas.childNodes[1]; + var svg = "http://www.w3.org/2000/svg"; + + if (ie !== 'undefined' && ie < 9) { + // VML mode - no SVG & SVG filter support + } else if (ie !== 'undefined') { + onCreateElementNsReady(function() { + obj.generateShadow(svg, defs); + }); + } else { + obj.generateShadow(svg, defs); + } + + // var clear + defs, svg = null; + + // set value to display + if (obj.config.textRenderer) { + obj.originalValue = obj.config.textRenderer(obj.originalValue); + } else if (obj.config.humanFriendly) { + obj.originalValue = humanFriendlyNumber(obj.originalValue, obj.config.humanFriendlyDecimal) + obj.config.symbol; + } else if (obj.config.formatNumber) { + obj.originalValue = formatNumber(obj.originalValue) + obj.config.symbol; + } else { + obj.originalValue = (obj.originalValue * 1).toFixed(obj.config.decimals) + obj.config.symbol; + } + + if (obj.config.counter === true) { + //on each animation frame + eve.on("raphael.anim.frame." + (obj.level.id), function() { + var currentValue = obj.level.attr("pki")[0]; + if (obj.config.reverse) { + currentValue = (obj.config.max * 1) + (obj.config.min * 1) - (obj.level.attr("pki")[0] * 1); + } + if (obj.config.textRenderer) { + obj.txtValue.attr("text", obj.config.textRenderer(Math.floor(currentValue))); + } else if (obj.config.humanFriendly) { + obj.txtValue.attr("text", humanFriendlyNumber(Math.floor(currentValue), obj.config.humanFriendlyDecimal) + obj.config.symbol); + } else if (obj.config.formatNumber) { + obj.txtValue.attr("text", formatNumber(Math.floor(currentValue)) + obj.config.symbol); + } else { + obj.txtValue.attr("text", (currentValue * 1).toFixed(obj.config.decimals) + obj.config.symbol); + } + setDy(obj.txtValue, obj.params.valueFontSize, obj.params.valueY); + currentValue = null; + }); + //on animation end + eve.on("raphael.anim.finish." + (obj.level.id), function() { + obj.txtValue.attr({ + "text": obj.originalValue + }); + setDy(obj.txtValue, obj.params.valueFontSize, obj.params.valueY); + }); + } else { + //on animation start + eve.on("raphael.anim.start." + (obj.level.id), function() { + obj.txtValue.attr({ + "text": obj.originalValue + }); + setDy(obj.txtValue, obj.params.valueFontSize, obj.params.valueY); + }); + } + + // animate gauge level, value & label + var rvl = obj.config.value; + if (obj.config.reverse) { + rvl = (obj.config.max * 1) + (obj.config.min * 1) - (obj.config.value * 1); + } + obj.level.animate({ + pki: [ + rvl, + obj.config.min, + obj.config.max, + obj.params.widgetW, + obj.params.widgetH, + obj.params.dx, + obj.params.dy, + obj.config.gaugeWidthScale, + obj.config.donut, + obj.config.reverse + ] + }, obj.config.startAnimationTime, obj.config.startAnimationType); + + if (obj.config.pointer) { + obj.needle.animate({ + ndl: [ + rvl, + obj.config.min, + obj.config.max, + obj.params.widgetW, + obj.params.widgetH, + obj.params.dx, + obj.params.dy, + obj.config.gaugeWidthScale, + obj.config.donut + ] + }, obj.config.startAnimationTime, obj.config.startAnimationType); + } + + obj.txtValue.animate({ + "fill-opacity": (obj.config.hideValue) ? "0" : "1" + }, obj.config.startAnimationTime, obj.config.startAnimationType); + obj.txtLabel.animate({ + "fill-opacity": "1" + }, obj.config.startAnimationTime, obj.config.startAnimationType); +}; + +/** Refresh gauge level */ +JustGage.prototype.refresh = function(val, max) { + + var obj = this; + var displayVal, color, max = max || null; + + // set new max + if (max !== null) { + obj.config.max = max; + // TODO: update customSectors + + obj.txtMaximum = obj.config.max; + if (obj.config.humanFriendly) { + obj.txtMaximum = humanFriendlyNumber(obj.config.max, obj.config.humanFriendlyDecimal); + } else if (obj.config.formatNumber) { + obj.txtMaximum = formatNumber(obj.config.max); + } + if (!obj.config.reverse) { + obj.txtMax.attr({ + "text": obj.txtMaximum + }); + setDy(obj.txtMax, obj.params.maxFontSize, obj.params.maxY); + } else { + obj.txtMin.attr({ + "text": obj.txtMaximum + }); + setDy(obj.txtMin, obj.params.minFontSize, obj.params.minY); + } + } + + // overflow values + displayVal = val; + if ((val * 1) > (obj.config.max * 1)) { + val = (obj.config.max * 1); + } + if ((val * 1) < (obj.config.min * 1)) { + val = (obj.config.min * 1); + } + + color = getColor(val, (val - obj.config.min) / (obj.config.max - obj.config.min), obj.config.levelColors, obj.config.noGradient, obj.config.customSectors); + + if (obj.config.textRenderer) { + displayVal = obj.config.textRenderer(displayVal); + } else if (obj.config.humanFriendly) { + displayVal = humanFriendlyNumber(displayVal, obj.config.humanFriendlyDecimal) + obj.config.symbol; + } else if (obj.config.formatNumber) { + displayVal = formatNumber((displayVal * 1).toFixed(obj.config.decimals)) + obj.config.symbol; + } else { + displayVal = (displayVal * 1).toFixed(obj.config.decimals) + obj.config.symbol; + } + obj.originalValue = displayVal; + obj.config.value = val * 1; + + if (!obj.config.counter) { + obj.txtValue.attr({ + "text": displayVal + }); + setDy(obj.txtValue, obj.params.valueFontSize, obj.params.valueY); + } + + var rvl = obj.config.value; + if (obj.config.reverse) { + rvl = (obj.config.max * 1) + (obj.config.min * 1) - (obj.config.value * 1); + } + obj.level.animate({ + pki: [ + rvl, + obj.config.min, + obj.config.max, + obj.params.widgetW, + obj.params.widgetH, + obj.params.dx, + obj.params.dy, + obj.config.gaugeWidthScale, + obj.config.donut, + obj.config.reverse + ], + "fill": color + }, obj.config.refreshAnimationTime, obj.config.refreshAnimationType); + + if (obj.config.pointer) { + obj.needle.animate({ + ndl: [ + rvl, + obj.config.min, + obj.config.max, + obj.params.widgetW, + obj.params.widgetH, + obj.params.dx, + obj.params.dy, + obj.config.gaugeWidthScale, + obj.config.donut + ] + }, obj.config.refreshAnimationTime, obj.config.refreshAnimationType); + } + + // var clear + obj, displayVal, color, max = null; +}; + +/** Generate shadow */ +JustGage.prototype.generateShadow = function(svg, defs) { + + var obj = this; + var sid = "inner-shadow-" + obj.config.id; + var gaussFilter, feOffset, feGaussianBlur, feComposite1, feFlood, feComposite2, feComposite3; + + // FILTER + gaussFilter = document.createElementNS(svg, "filter"); + gaussFilter.setAttribute("id", sid); + defs.appendChild(gaussFilter); + + // offset + feOffset = document.createElementNS(svg, "feOffset"); + feOffset.setAttribute("dx", 0); + feOffset.setAttribute("dy", obj.config.shadowVerticalOffset); + gaussFilter.appendChild(feOffset); + + // blur + feGaussianBlur = document.createElementNS(svg, "feGaussianBlur"); + feGaussianBlur.setAttribute("result", "offset-blur"); + feGaussianBlur.setAttribute("stdDeviation", obj.config.shadowSize); + gaussFilter.appendChild(feGaussianBlur); + + // composite 1 + feComposite1 = document.createElementNS(svg, "feComposite"); + feComposite1.setAttribute("operator", "out"); + feComposite1.setAttribute("in", "SourceGraphic"); + feComposite1.setAttribute("in2", "offset-blur"); + feComposite1.setAttribute("result", "inverse"); + gaussFilter.appendChild(feComposite1); + + // flood + feFlood = document.createElementNS(svg, "feFlood"); + feFlood.setAttribute("flood-color", "black"); + feFlood.setAttribute("flood-opacity", obj.config.shadowOpacity); + feFlood.setAttribute("result", "color"); + gaussFilter.appendChild(feFlood); + + // composite 2 + feComposite2 = document.createElementNS(svg, "feComposite"); + feComposite2.setAttribute("operator", "in"); + feComposite2.setAttribute("in", "color"); + feComposite2.setAttribute("in2", "inverse"); + feComposite2.setAttribute("result", "shadow"); + gaussFilter.appendChild(feComposite2); + + // composite 3 + feComposite3 = document.createElementNS(svg, "feComposite"); + feComposite3.setAttribute("operator", "over"); + feComposite3.setAttribute("in", "shadow"); + feComposite3.setAttribute("in2", "SourceGraphic"); + gaussFilter.appendChild(feComposite3); + + // set shadow + if (!obj.config.hideInnerShadow) { + obj.canvas.canvas.childNodes[2].setAttribute("filter", "url(#" + sid + ")"); + obj.canvas.canvas.childNodes[3].setAttribute("filter", "url(#" + sid + ")"); + } + + // var clear + gaussFilter, feOffset, feGaussianBlur, feComposite1, feFlood, feComposite2, feComposite3 = null; +}; + +// +// tiny helper function to lookup value of a key from two hash tables +// if none found, return defaultvalue +// +// key: string +// tablea: object +// tableb: DOMStringMap|object +// defval: string|integer|float|null +// datatype: return datatype +// delimiter: delimiter to be used in conjunction with datatype formatting +// +function kvLookup(key, tablea, tableb, defval, datatype, delimiter) { + var val = defval; + var canConvert = false; + if (!(key === null || key === undefined)) { + if (tableb !== null && tableb !== undefined && typeof tableb === "object" && key in tableb) { + val = tableb[key]; + canConvert = true; + } else if (tablea !== null && tablea !== undefined && typeof tablea === "object" && key in tablea) { + val = tablea[key]; + canConvert = true; + } else { + val = defval; + } + if (canConvert === true) { + if (datatype !== null && datatype !== undefined) { + switch (datatype) { + case 'int': + val = parseInt(val, 10); + break; + case 'float': + val = parseFloat(val); + break; + default: + break; + } + } + } + } + return val; +}; + +/** Get color for value */ +function getColor(val, pct, col, noGradient, custSec) { + + var no, inc, colors, percentage, rval, gval, bval, lower, upper, range, rangePct, pctLower, pctUpper, color; + var noGradient = noGradient || custSec.length > 0; + + if (custSec.length > 0) { + for (var i = 0; i < custSec.length; i++) { + if (val > custSec[i].lo && val <= custSec[i].hi) { + return custSec[i].color; + } + } + } + + no = col.length; + if (no === 1) return col[0]; + inc = (noGradient) ? (1 / no) : (1 / (no - 1)); + colors = []; + for (i = 0; i < col.length; i++) { + percentage = (noGradient) ? (inc * (i + 1)) : (inc * i); + rval = parseInt((cutHex(col[i])).substring(0, 2), 16); + gval = parseInt((cutHex(col[i])).substring(2, 4), 16); + bval = parseInt((cutHex(col[i])).substring(4, 6), 16); + colors[i] = { + pct: percentage, + color: { + r: rval, + g: gval, + b: bval + } + }; + } + + if (pct === 0) { + return 'rgb(' + [colors[0].color.r, colors[0].color.g, colors[0].color.b].join(',') + ')'; + } + + for (var j = 0; j < colors.length; j++) { + if (pct <= colors[j].pct) { + if (noGradient) { + return 'rgb(' + [colors[j].color.r, colors[j].color.g, colors[j].color.b].join(',') + ')'; + } else { + lower = colors[j - 1]; + upper = colors[j]; + range = upper.pct - lower.pct; + rangePct = (pct - lower.pct) / range; + pctLower = 1 - rangePct; + pctUpper = rangePct; + color = { + r: Math.floor(lower.color.r * pctLower + upper.color.r * pctUpper), + g: Math.floor(lower.color.g * pctLower + upper.color.g * pctUpper), + b: Math.floor(lower.color.b * pctLower + upper.color.b * pctUpper) + }; + return 'rgb(' + [color.r, color.g, color.b].join(',') + ')'; + } + } + } + +} + +/** Fix Raphael display:none tspan dy attribute bug */ +function setDy(elem, fontSize, txtYpos) { + if ((!ie || ie > 9) && elem.node.firstChild.attributes.dy) { + elem.node.firstChild.attributes.dy.value = 0; + } +} + +/** Random integer */ +function getRandomInt(min, max) { + return Math.floor(Math.random() * (max - min + 1)) + min; +} + +/** Cut hex */ +function cutHex(str) { + return (str.charAt(0) == "#") ? str.substring(1, 7) : str; +} + +/** Human friendly number suffix - From: http://stackoverflow.com/questions/2692323/code-golf-friendly-number-abbreviator */ +function humanFriendlyNumber(n, d) { + var p, d2, i, s; + + p = Math.pow; + d2 = p(10, d); + i = 7; + while (i) { + s = p(10, i-- * 3); + if (s <= n) { + n = Math.round(n * d2 / s) / d2 + "KMGTPE" [i]; + } + } + return n; +} + +/** Format numbers with commas - From: http://stackoverflow.com/questions/2901102/how-to-print-a-number-with-commas-as-thousands-separators-in-javascript */ +function formatNumber(x) { + var parts = x.toString().split("."); + parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ","); + return parts.join("."); +} + +/** Get style */ +function getStyle(oElm, strCssRule) { + var strValue = ""; + if (document.defaultView && document.defaultView.getComputedStyle) { + strValue = document.defaultView.getComputedStyle(oElm, "").getPropertyValue(strCssRule); + } else if (oElm.currentStyle) { + strCssRule = strCssRule.replace(/\-(\w)/g, function(strMatch, p1) { + return p1.toUpperCase(); + }); + strValue = oElm.currentStyle[strCssRule]; + } + return strValue; +} + +/** Create Element NS Ready */ +function onCreateElementNsReady(func) { + if (document.createElementNS !== undefined) { + func(); + } else { + setTimeout(function() { + onCreateElementNsReady(func); + }, 100); + } +} + +/** Get IE version */ +// ---------------------------------------------------------- +// A short snippet for detecting versions of IE in JavaScript +// without resorting to user-agent sniffing +// ---------------------------------------------------------- +// If you're not in IE (or IE version is less than 5) then: +// ie === undefined +// If you're in IE (>=5) then you can determine which version: +// ie === 7; // IE7 +// Thus, to detect IE: +// if (ie) {} +// And to detect the version: +// ie === 6 // IE6 +// ie > 7 // IE8, IE9 ... +// ie < 9 // Anything less than IE9 +// ---------------------------------------------------------- +// UPDATE: Now using Live NodeList idea from @jdalton +var ie = (function() { + + var undef, + v = 3, + div = document.createElement('div'), + all = div.getElementsByTagName('i'); + + while ( + div.innerHTML = '', + all[0] + ); + return v > 4 ? v : undef; +}()); + +// extend target object with second object +function extend(out) { + out = out || {}; + + for (var i = 1; i < arguments.length; i++) { + if (!arguments[i]) + continue; + + for (var key in arguments[i]) { + if (arguments[i].hasOwnProperty(key)) + out[key] = arguments[i][key]; + } + } + + return out; +}; diff --git a/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/raphael-2.1.4.min.js b/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/raphael-2.1.4.min.js new file mode 100644 index 0000000..b907338 --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/justgage-1.2.2/raphael-2.1.4.min.js @@ -0,0 +1,12 @@ +// ┌────────────────────────────────────────────────────────────────────┐ \\ +// │ Raphaël 2.1.4 - JavaScript Vector Library │ \\ +// ├────────────────────────────────────────────────────────────────────┤ \\ +// │ Copyright © 2008-2012 Dmitry Baranovskiy (http://raphaeljs.com) │ \\ +// │ Copyright © 2008-2012 Sencha Labs (http://sencha.com) │ \\ +// ├────────────────────────────────────────────────────────────────────┤ \\ +// │ Licensed under the MIT (http://raphaeljs.com/license.html) license.│ \\ +// └────────────────────────────────────────────────────────────────────┘ \\ +!function(a,b){"function"==typeof define&&define.amd?define("eve",function(){return b()}):"object"==typeof exports?module.exports=b():a.eve=b()}(this,function(){var a,b,c="0.4.2",d="hasOwnProperty",e=/[\.\/]/,f="*",g=function(){},h=function(a,b){return a-b},i={n:{}},j=function(c,d){c=String(c);var e,f=b,g=Array.prototype.slice.call(arguments,2),i=j.listeners(c),k=0,l=[],m={},n=[],o=a;a=c,b=0;for(var p=0,q=i.length;q>p;p++)"zIndex"in i[p]&&(l.push(i[p].zIndex),i[p].zIndex<0&&(m[i[p].zIndex]=i[p]));for(l.sort(h);l[k]<0;)if(e=m[l[k++]],n.push(e.apply(d,g)),b)return b=f,n;for(p=0;q>p;p++)if(e=i[p],"zIndex"in e)if(e.zIndex==l[k]){if(n.push(e.apply(d,g)),b)break;do if(k++,e=m[l[k]],e&&n.push(e.apply(d,g)),b)break;while(e)}else m[e.zIndex]=e;else if(n.push(e.apply(d,g)),b)break;return b=f,a=o,n.length?n:null};return j._events=i,j.listeners=function(a){var b,c,d,g,h,j,k,l,m=a.split(e),n=i,o=[n],p=[];for(g=0,h=m.length;h>g;g++){for(l=[],j=0,k=o.length;k>j;j++)for(n=o[j].n,c=[n[m[g]],n[f]],d=2;d--;)b=c[d],b&&(l.push(b),p=p.concat(b.f||[]));o=l}return p},j.on=function(a,b){if(a=String(a),"function"!=typeof b)return function(){};for(var c=a.split(e),d=i,f=0,h=c.length;h>f;f++)d=d.n,d=d.hasOwnProperty(c[f])&&d[c[f]]||(d[c[f]]={n:{}});for(d.f=d.f||[],f=0,h=d.f.length;h>f;f++)if(d.f[f]==b)return g;return d.f.push(b),function(a){+a==+a&&(b.zIndex=+a)}},j.f=function(a){var b=[].slice.call(arguments,1);return function(){j.apply(null,[a,null].concat(b).concat([].slice.call(arguments,0)))}},j.stop=function(){b=1},j.nt=function(b){return b?new RegExp("(?:\\.|\\/|^)"+b+"(?:\\.|\\/|$)").test(a):a},j.nts=function(){return a.split(e)},j.off=j.unbind=function(a,b){if(!a)return void(j._events=i={n:{}});var c,g,h,k,l,m,n,o=a.split(e),p=[i];for(k=0,l=o.length;l>k;k++)for(m=0;mk;k++)for(c=p[k];c.n;){if(b){if(c.f){for(m=0,n=c.f.length;n>m;m++)if(c.f[m]==b){c.f.splice(m,1);break}!c.f.length&&delete c.f}for(g in c.n)if(c.n[d](g)&&c.n[g].f){var q=c.n[g].f;for(m=0,n=q.length;n>m;m++)if(q[m]==b){q.splice(m,1);break}!q.length&&delete c.n[g].f}}else{delete c.f;for(g in c.n)c.n[d](g)&&c.n[g].f&&delete c.n[g].f}c=c.n}},j.once=function(a,b){var c=function(){return j.unbind(a,c),b.apply(this,arguments)};return j.on(a,c)},j.version=c,j.toString=function(){return"You are running Eve "+c},j}),function(a,b){"function"==typeof define&&define.amd?define("raphael.core",["eve"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("eve")):a.Raphael=b(a.eve)}(this,function(a){function b(c){if(b.is(c,"function"))return t?c():a.on("raphael.DOMload",c);if(b.is(c,U))return b._engine.create[C](b,c.splice(0,3+b.is(c[0],S))).add(c);var d=Array.prototype.slice.call(arguments,0);if(b.is(d[d.length-1],"function")){var e=d.pop();return t?e.call(b._engine.create[C](b,d)):a.on("raphael.DOMload",function(){e.call(b._engine.create[C](b,d))})}return b._engine.create[C](b,arguments)}function c(a){if("function"==typeof a||Object(a)!==a)return a;var b=new a.constructor;for(var d in a)a[y](d)&&(b[d]=c(a[d]));return b}function d(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return a.push(a.splice(c,1)[0])}function e(a,b,c){function e(){var f=Array.prototype.slice.call(arguments,0),g=f.join("␀"),h=e.cache=e.cache||{},i=e.count=e.count||[];return h[y](g)?(d(i,g),c?c(h[g]):h[g]):(i.length>=1e3&&delete h[i.shift()],i.push(g),h[g]=a[C](b,f),c?c(h[g]):h[g])}return e}function f(){return this.hex}function g(a,b){for(var c=[],d=0,e=a.length;e-2*!b>d;d+=2){var f=[{x:+a[d-2],y:+a[d-1]},{x:+a[d],y:+a[d+1]},{x:+a[d+2],y:+a[d+3]},{x:+a[d+4],y:+a[d+5]}];b?d?e-4==d?f[3]={x:+a[0],y:+a[1]}:e-2==d&&(f[2]={x:+a[0],y:+a[1]},f[3]={x:+a[2],y:+a[3]}):f[0]={x:+a[e-2],y:+a[e-1]}:e-4==d?f[3]=f[2]:d||(f[0]={x:+a[d],y:+a[d+1]}),c.push(["C",(-f[0].x+6*f[1].x+f[2].x)/6,(-f[0].y+6*f[1].y+f[2].y)/6,(f[1].x+6*f[2].x-f[3].x)/6,(f[1].y+6*f[2].y-f[3].y)/6,f[2].x,f[2].y])}return c}function h(a,b,c,d,e){var f=-3*b+9*c-9*d+3*e,g=a*f+6*b-12*c+6*d;return a*g-3*b+3*c}function i(a,b,c,d,e,f,g,i,j){null==j&&(j=1),j=j>1?1:0>j?0:j;for(var k=j/2,l=12,m=[-.1252,.1252,-.3678,.3678,-.5873,.5873,-.7699,.7699,-.9041,.9041,-.9816,.9816],n=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],o=0,p=0;l>p;p++){var q=k*m[p]+k,r=h(q,a,c,e,g),s=h(q,b,d,f,i),t=r*r+s*s;o+=n[p]*M.sqrt(t)}return k*o}function j(a,b,c,d,e,f,g,h,j){if(!(0>j||i(a,b,c,d,e,f,g,h)o;)m/=2,n+=(j>k?1:-1)*m,k=i(a,b,c,d,e,f,g,h,n);return n}}function k(a,b,c,d,e,f,g,h){if(!(N(a,c)N(e,g)||N(b,d)N(f,h))){var i=(a*d-b*c)*(e-g)-(a-c)*(e*h-f*g),j=(a*d-b*c)*(f-h)-(b-d)*(e*h-f*g),k=(a-c)*(f-h)-(b-d)*(e-g);if(k){var l=i/k,m=j/k,n=+l.toFixed(2),o=+m.toFixed(2);if(!(n<+O(a,c).toFixed(2)||n>+N(a,c).toFixed(2)||n<+O(e,g).toFixed(2)||n>+N(e,g).toFixed(2)||o<+O(b,d).toFixed(2)||o>+N(b,d).toFixed(2)||o<+O(f,h).toFixed(2)||o>+N(f,h).toFixed(2)))return{x:l,y:m}}}}function l(a,c,d){var e=b.bezierBBox(a),f=b.bezierBBox(c);if(!b.isBBoxIntersect(e,f))return d?0:[];for(var g=i.apply(0,a),h=i.apply(0,c),j=N(~~(g/5),1),l=N(~~(h/5),1),m=[],n=[],o={},p=d?0:[],q=0;j+1>q;q++){var r=b.findDotsAtSegment.apply(b,a.concat(q/j));m.push({x:r.x,y:r.y,t:q/j})}for(q=0;l+1>q;q++)r=b.findDotsAtSegment.apply(b,c.concat(q/l)),n.push({x:r.x,y:r.y,t:q/l});for(q=0;j>q;q++)for(var s=0;l>s;s++){var t=m[q],u=m[q+1],v=n[s],w=n[s+1],x=P(u.x-t.x)<.001?"y":"x",y=P(w.x-v.x)<.001?"y":"x",z=k(t.x,t.y,u.x,u.y,v.x,v.y,w.x,w.y);if(z){if(o[z.x.toFixed(4)]==z.y.toFixed(4))continue;o[z.x.toFixed(4)]=z.y.toFixed(4);var A=t.t+P((z[x]-t[x])/(u[x]-t[x]))*(u.t-t.t),B=v.t+P((z[y]-v[y])/(w[y]-v[y]))*(w.t-v.t);A>=0&&1.001>=A&&B>=0&&1.001>=B&&(d?p++:p.push({x:z.x,y:z.y,t1:O(A,1),t2:O(B,1)}))}}return p}function m(a,c,d){a=b._path2curve(a),c=b._path2curve(c);for(var e,f,g,h,i,j,k,m,n,o,p=d?0:[],q=0,r=a.length;r>q;q++){var s=a[q];if("M"==s[0])e=i=s[1],f=j=s[2];else{"C"==s[0]?(n=[e,f].concat(s.slice(1)),e=n[6],f=n[7]):(n=[e,f,e,f,i,j,i,j],e=i,f=j);for(var t=0,u=c.length;u>t;t++){var v=c[t];if("M"==v[0])g=k=v[1],h=m=v[2];else{"C"==v[0]?(o=[g,h].concat(v.slice(1)),g=o[6],h=o[7]):(o=[g,h,g,h,k,m,k,m],g=k,h=m);var w=l(n,o,d);if(d)p+=w;else{for(var x=0,y=w.length;y>x;x++)w[x].segment1=q,w[x].segment2=t,w[x].bez1=n,w[x].bez2=o;p=p.concat(w)}}}}}return p}function n(a,b,c,d,e,f){null!=a?(this.a=+a,this.b=+b,this.c=+c,this.d=+d,this.e=+e,this.f=+f):(this.a=1,this.b=0,this.c=0,this.d=1,this.e=0,this.f=0)}function o(){return this.x+G+this.y+G+this.width+" × "+this.height}function p(a,b,c,d,e,f){function g(a){return((l*a+k)*a+j)*a}function h(a,b){var c=i(a,b);return((o*c+n)*c+m)*c}function i(a,b){var c,d,e,f,h,i;for(e=a,i=0;8>i;i++){if(f=g(e)-a,P(f)e)return c;if(e>d)return d;for(;d>c;){if(f=g(e),P(f-a)f?c=e:d=e,e=(d-c)/2+c}return e}var j=3*b,k=3*(d-b)-j,l=1-j-k,m=3*c,n=3*(e-c)-m,o=1-m-n;return h(a,1/(200*f))}function q(a,b){var c=[],d={};if(this.ms=b,this.times=1,a){for(var e in a)a[y](e)&&(d[$(e)]=a[e],c.push($(e)));c.sort(ka)}this.anim=d,this.top=c[c.length-1],this.percents=c}function r(c,d,e,f,g,h){e=$(e);var i,j,k,l,m,o,q=c.ms,r={},s={},t={};if(f)for(w=0,x=fb.length;x>w;w++){var u=fb[w];if(u.el.id==d.id&&u.anim==c){u.percent!=e?(fb.splice(w,1),k=1):j=u,d.attr(u.totalOrigin);break}}else f=+s;for(var w=0,x=c.percents.length;x>w;w++){if(c.percents[w]==e||c.percents[w]>f*c.top){e=c.percents[w],m=c.percents[w-1]||0,q=q/c.top*(e-m),l=c.percents[w+1],i=c.anim[e];break}f&&d.attr(c.anim[c.percents[w]])}if(i){if(j)j.initstatus=f,j.start=new Date-j.ms*f;else{for(var z in i)if(i[y](z)&&(ca[y](z)||d.paper.customAttributes[y](z)))switch(r[z]=d.attr(z),null==r[z]&&(r[z]=ba[z]),s[z]=i[z],ca[z]){case S:t[z]=(s[z]-r[z])/q;break;case"colour":r[z]=b.getRGB(r[z]);var A=b.getRGB(s[z]);t[z]={r:(A.r-r[z].r)/q,g:(A.g-r[z].g)/q,b:(A.b-r[z].b)/q};break;case"path":var B=Ia(r[z],s[z]),C=B[1];for(r[z]=B[0],t[z]=[],w=0,x=r[z].length;x>w;w++){t[z][w]=[0];for(var E=1,F=r[z][w].length;F>E;E++)t[z][w][E]=(C[w][E]-r[z][w][E])/q}break;case"transform":var G=d._,J=Na(G[z],s[z]);if(J)for(r[z]=J.from,s[z]=J.to,t[z]=[],t[z].real=!0,w=0,x=r[z].length;x>w;w++)for(t[z][w]=[r[z][w][0]],E=1,F=r[z][w].length;F>E;E++)t[z][w][E]=(s[z][w][E]-r[z][w][E])/q;else{var K=d.matrix||new n,L={_:{transform:G.transform},getBBox:function(){return d.getBBox(1)}};r[z]=[K.a,K.b,K.c,K.d,K.e,K.f],La(L,s[z]),s[z]=L._.transform,t[z]=[(L.matrix.a-K.a)/q,(L.matrix.b-K.b)/q,(L.matrix.c-K.c)/q,(L.matrix.d-K.d)/q,(L.matrix.e-K.e)/q,(L.matrix.f-K.f)/q]}break;case"csv":var M=H(i[z])[I](v),N=H(r[z])[I](v);if("clip-rect"==z)for(r[z]=N,t[z]=[],w=N.length;w--;)t[z][w]=(M[w]-r[z][w])/q;s[z]=M;break;default:for(M=[][D](i[z]),N=[][D](r[z]),t[z]=[],w=d.paper.customAttributes[z].length;w--;)t[z][w]=((M[w]||0)-(N[w]||0))/q}var O=i.easing,P=b.easing_formulas[O];if(!P)if(P=H(O).match(Y),P&&5==P.length){var Q=P;P=function(a){return p(a,+Q[1],+Q[2],+Q[3],+Q[4],q)}}else P=la;if(o=i.start||c.start||+new Date,u={anim:c,percent:e,timestamp:o,start:o+(c.del||0),status:0,initstatus:f||0,stop:!1,ms:q,easing:P,from:r,diff:t,to:s,el:d,callback:i.callback,prev:m,next:l,repeat:h||c.times,origin:d.attr(),totalOrigin:g},fb.push(u),f&&!j&&!k&&(u.stop=!0,u.start=new Date-q*f,1==fb.length))return hb();k&&(u.start=new Date-u.ms*f),1==fb.length&&gb(hb)}a("raphael.anim.start."+d.id,d,c)}}function s(a){for(var b=0;be;e++)for(i=a[e],f=1,h=i.length;h>f;f+=2)c=b.x(i[f],i[f+1]),d=b.y(i[f],i[f+1]),i[f]=c,i[f+1]=d;return a};if(b._g=z,b.type=z.win.SVGAngle||z.doc.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")?"SVG":"VML","VML"==b.type){var qa,ra=z.doc.createElement("div");if(ra.innerHTML='',qa=ra.firstChild,qa.style.behavior="url(#default#VML)",!qa||"object"!=typeof qa.adj)return b.type=F;ra=null}b.svg=!(b.vml="VML"==b.type),b._Paper=B,b.fn=u=B.prototype=b.prototype,b._id=0,b._oid=0,b.is=function(a,b){return b=L.call(b),"finite"==b?!X[y](+a):"array"==b?a instanceof Array:"null"==b&&null===a||b==typeof a&&null!==a||"object"==b&&a===Object(a)||"array"==b&&Array.isArray&&Array.isArray(a)||V.call(a).slice(8,-1).toLowerCase()==b},b.angle=function(a,c,d,e,f,g){if(null==f){var h=a-d,i=c-e;return h||i?(180+180*M.atan2(-i,-h)/R+360)%360:0}return b.angle(a,c,f,g)-b.angle(d,e,f,g)},b.rad=function(a){return a%360*R/180},b.deg=function(a){return Math.round(180*a/R%360*1e3)/1e3},b.snapTo=function(a,c,d){if(d=b.is(d,"finite")?d:10,b.is(a,U)){for(var e=a.length;e--;)if(P(a[e]-c)<=d)return a[e]}else{a=+a;var f=c%a;if(d>f)return c-f;if(f>a-d)return c-f+a}return c};b.createUUID=function(a,b){return function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(a,b).toUpperCase()}}(/[xy]/g,function(a){var b=16*M.random()|0,c="x"==a?b:3&b|8;return c.toString(16)});b.setWindow=function(c){a("raphael.setWindow",b,z.win,c),z.win=c,z.doc=z.win.document,b._engine.initWin&&b._engine.initWin(z.win)};var sa=function(a){if(b.vml){var c,d=/^\s+|\s+$/g;try{var f=new ActiveXObject("htmlfile");f.write(""),f.close(),c=f.body}catch(g){c=createPopup().document.body}var h=c.createTextRange();sa=e(function(a){try{c.style.color=H(a).replace(d,F);var b=h.queryCommandValue("ForeColor");return b=(255&b)<<16|65280&b|(16711680&b)>>>16,"#"+("000000"+b.toString(16)).slice(-6)}catch(e){return"none"}})}else{var i=z.doc.createElement("i");i.title="Raphaël Colour Picker",i.style.display="none",z.doc.body.appendChild(i),sa=e(function(a){return i.style.color=a,z.doc.defaultView.getComputedStyle(i,F).getPropertyValue("color")})}return sa(a)},ta=function(){return"hsb("+[this.h,this.s,this.b]+")"},ua=function(){return"hsl("+[this.h,this.s,this.l]+")"},va=function(){return this.hex},wa=function(a,c,d){if(null==c&&b.is(a,"object")&&"r"in a&&"g"in a&&"b"in a&&(d=a.b,c=a.g,a=a.r),null==c&&b.is(a,T)){var e=b.getRGB(a);a=e.r,c=e.g,d=e.b}return(a>1||c>1||d>1)&&(a/=255,c/=255,d/=255),[a,c,d]},xa=function(a,c,d,e){a*=255,c*=255,d*=255;var f={r:a,g:c,b:d,hex:b.rgb(a,c,d),toString:va};return b.is(e,"finite")&&(f.opacity=e),f};b.color=function(a){var c;return b.is(a,"object")&&"h"in a&&"s"in a&&"b"in a?(c=b.hsb2rgb(a),a.r=c.r,a.g=c.g,a.b=c.b,a.hex=c.hex):b.is(a,"object")&&"h"in a&&"s"in a&&"l"in a?(c=b.hsl2rgb(a),a.r=c.r,a.g=c.g,a.b=c.b,a.hex=c.hex):(b.is(a,"string")&&(a=b.getRGB(a)),b.is(a,"object")&&"r"in a&&"g"in a&&"b"in a?(c=b.rgb2hsl(a),a.h=c.h,a.s=c.s,a.l=c.l,c=b.rgb2hsb(a),a.v=c.b):(a={hex:"none"},a.r=a.g=a.b=a.h=a.s=a.v=a.l=-1)),a.toString=va,a},b.hsb2rgb=function(a,b,c,d){this.is(a,"object")&&"h"in a&&"s"in a&&"b"in a&&(c=a.b,b=a.s,d=a.o,a=a.h),a*=360;var e,f,g,h,i;return a=a%360/60,i=c*b,h=i*(1-P(a%2-1)),e=f=g=c-i,a=~~a,e+=[i,h,0,0,h,i][a],f+=[h,i,i,h,0,0][a],g+=[0,0,h,i,i,h][a],xa(e,f,g,d)},b.hsl2rgb=function(a,b,c,d){this.is(a,"object")&&"h"in a&&"s"in a&&"l"in a&&(c=a.l,b=a.s,a=a.h),(a>1||b>1||c>1)&&(a/=360,b/=100,c/=100),a*=360;var e,f,g,h,i;return a=a%360/60,i=2*b*(.5>c?c:1-c),h=i*(1-P(a%2-1)),e=f=g=c-i/2,a=~~a,e+=[i,h,0,0,h,i][a],f+=[h,i,i,h,0,0][a],g+=[0,0,h,i,i,h][a],xa(e,f,g,d)},b.rgb2hsb=function(a,b,c){c=wa(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g;return f=N(a,b,c),g=f-O(a,b,c),d=0==g?null:f==a?(b-c)/g:f==b?(c-a)/g+2:(a-b)/g+4,d=(d+360)%6*60/360,e=0==g?0:g/f,{h:d,s:e,b:f,toString:ta}},b.rgb2hsl=function(a,b,c){c=wa(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g,h,i;return g=N(a,b,c),h=O(a,b,c),i=g-h,d=0==i?null:g==a?(b-c)/i:g==b?(c-a)/i+2:(a-b)/i+4,d=(d+360)%6*60/360,f=(g+h)/2,e=0==i?0:.5>f?i/(2*f):i/(2-2*f),{h:d,s:e,l:f,toString:ua}},b._path2string=function(){return this.join(",").replace(fa,"$1")};b._preload=function(a,b){var c=z.doc.createElement("img");c.style.cssText="position:absolute;left:-9999em;top:-9999em",c.onload=function(){b.call(this),this.onload=null,z.doc.body.removeChild(this)},c.onerror=function(){z.doc.body.removeChild(this)},z.doc.body.appendChild(c),c.src=a};b.getRGB=e(function(a){if(!a||(a=H(a)).indexOf("-")+1)return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:f};if("none"==a)return{r:-1,g:-1,b:-1,hex:"none",toString:f};!(ea[y](a.toLowerCase().substring(0,2))||"#"==a.charAt())&&(a=sa(a));var c,d,e,g,h,i,j=a.match(W);return j?(j[2]&&(e=_(j[2].substring(5),16),d=_(j[2].substring(3,5),16),c=_(j[2].substring(1,3),16)),j[3]&&(e=_((h=j[3].charAt(3))+h,16),d=_((h=j[3].charAt(2))+h,16),c=_((h=j[3].charAt(1))+h,16)),j[4]&&(i=j[4][I](da),c=$(i[0]),"%"==i[0].slice(-1)&&(c*=2.55),d=$(i[1]),"%"==i[1].slice(-1)&&(d*=2.55),e=$(i[2]),"%"==i[2].slice(-1)&&(e*=2.55),"rgba"==j[1].toLowerCase().slice(0,4)&&(g=$(i[3])),i[3]&&"%"==i[3].slice(-1)&&(g/=100)),j[5]?(i=j[5][I](da),c=$(i[0]),"%"==i[0].slice(-1)&&(c*=2.55),d=$(i[1]),"%"==i[1].slice(-1)&&(d*=2.55),e=$(i[2]),"%"==i[2].slice(-1)&&(e*=2.55),("deg"==i[0].slice(-3)||"°"==i[0].slice(-1))&&(c/=360),"hsba"==j[1].toLowerCase().slice(0,4)&&(g=$(i[3])),i[3]&&"%"==i[3].slice(-1)&&(g/=100),b.hsb2rgb(c,d,e,g)):j[6]?(i=j[6][I](da),c=$(i[0]),"%"==i[0].slice(-1)&&(c*=2.55),d=$(i[1]),"%"==i[1].slice(-1)&&(d*=2.55),e=$(i[2]),"%"==i[2].slice(-1)&&(e*=2.55),("deg"==i[0].slice(-3)||"°"==i[0].slice(-1))&&(c/=360),"hsla"==j[1].toLowerCase().slice(0,4)&&(g=$(i[3])),i[3]&&"%"==i[3].slice(-1)&&(g/=100),b.hsl2rgb(c,d,e,g)):(j={r:c,g:d,b:e,toString:f},j.hex="#"+(16777216|e|d<<8|c<<16).toString(16).slice(1),b.is(g,"finite")&&(j.opacity=g),j)):{r:-1,g:-1,b:-1,hex:"none",error:1,toString:f}},b),b.hsb=e(function(a,c,d){return b.hsb2rgb(a,c,d).hex}),b.hsl=e(function(a,c,d){return b.hsl2rgb(a,c,d).hex}),b.rgb=e(function(a,b,c){function d(a){return a+.5|0}return"#"+(16777216|d(c)|d(b)<<8|d(a)<<16).toString(16).slice(1)}),b.getColor=function(a){var b=this.getColor.start=this.getColor.start||{h:0,s:1,b:a||.75},c=this.hsb2rgb(b.h,b.s,b.b);return b.h+=.075,b.h>1&&(b.h=0,b.s-=.2,b.s<=0&&(this.getColor.start={h:0,s:1,b:b.b})),c.hex},b.getColor.reset=function(){delete this.start},b.parsePathString=function(a){if(!a)return null;var c=ya(a);if(c.arr)return Aa(c.arr);var d={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0},e=[];return b.is(a,U)&&b.is(a[0],U)&&(e=Aa(a)),e.length||H(a).replace(ga,function(a,b,c){var f=[],g=b.toLowerCase();if(c.replace(ia,function(a,b){b&&f.push(+b)}),"m"==g&&f.length>2&&(e.push([b][D](f.splice(0,2))),g="l",b="m"==b?"l":"L"),"r"==g)e.push([b][D](f));else for(;f.length>=d[g]&&(e.push([b][D](f.splice(0,d[g]))),d[g]););}),e.toString=b._path2string,c.arr=Aa(e),e},b.parseTransformString=e(function(a){if(!a)return null;var c=[];return b.is(a,U)&&b.is(a[0],U)&&(c=Aa(a)),c.length||H(a).replace(ha,function(a,b,d){{var e=[];L.call(b)}d.replace(ia,function(a,b){b&&e.push(+b)}),c.push([b][D](e))}),c.toString=b._path2string,c});var ya=function(a){var b=ya.ps=ya.ps||{};return b[a]?b[a].sleep=100:b[a]={sleep:100},setTimeout(function(){for(var c in b)b[y](c)&&c!=a&&(b[c].sleep--,!b[c].sleep&&delete b[c])}),b[a]};b.findDotsAtSegment=function(a,b,c,d,e,f,g,h,i){var j=1-i,k=Q(j,3),l=Q(j,2),m=i*i,n=m*i,o=k*a+3*l*i*c+3*j*i*i*e+n*g,p=k*b+3*l*i*d+3*j*i*i*f+n*h,q=a+2*i*(c-a)+m*(e-2*c+a),r=b+2*i*(d-b)+m*(f-2*d+b),s=c+2*i*(e-c)+m*(g-2*e+c),t=d+2*i*(f-d)+m*(h-2*f+d),u=j*a+i*c,v=j*b+i*d,w=j*e+i*g,x=j*f+i*h,y=90-180*M.atan2(q-s,r-t)/R;return(q>s||t>r)&&(y+=180),{x:o,y:p,m:{x:q,y:r},n:{x:s,y:t},start:{x:u,y:v},end:{x:w,y:x},alpha:y}},b.bezierBBox=function(a,c,d,e,f,g,h,i){b.is(a,"array")||(a=[a,c,d,e,f,g,h,i]);var j=Ha.apply(null,a);return{x:j.min.x,y:j.min.y,x2:j.max.x,y2:j.max.y,width:j.max.x-j.min.x,height:j.max.y-j.min.y}},b.isPointInsideBBox=function(a,b,c){return b>=a.x&&b<=a.x2&&c>=a.y&&c<=a.y2},b.isBBoxIntersect=function(a,c){var d=b.isPointInsideBBox;return d(c,a.x,a.y)||d(c,a.x2,a.y)||d(c,a.x,a.y2)||d(c,a.x2,a.y2)||d(a,c.x,c.y)||d(a,c.x2,c.y)||d(a,c.x,c.y2)||d(a,c.x2,c.y2)||(a.xc.x||c.xa.x)&&(a.yc.y||c.ya.y)},b.pathIntersection=function(a,b){return m(a,b)},b.pathIntersectionNumber=function(a,b){return m(a,b,1)},b.isPointInsidePath=function(a,c,d){var e=b.pathBBox(a);return b.isPointInsideBBox(e,c,d)&&m(a,[["M",c,d],["H",e.x2+10]],1)%2==1},b._removedFactory=function(b){return function(){a("raphael.log",null,"Raphaël: you are calling to method “"+b+"” of removed object",b)}};var za=b.pathBBox=function(a){var b=ya(a);if(b.bbox)return c(b.bbox);if(!a)return{x:0,y:0,width:0,height:0,x2:0,y2:0};a=Ia(a);for(var d,e=0,f=0,g=[],h=[],i=0,j=a.length;j>i;i++)if(d=a[i],"M"==d[0])e=d[1],f=d[2],g.push(e),h.push(f);else{var k=Ha(e,f,d[1],d[2],d[3],d[4],d[5],d[6]);g=g[D](k.min.x,k.max.x),h=h[D](k.min.y,k.max.y),e=d[5],f=d[6]}var l=O[C](0,g),m=O[C](0,h),n=N[C](0,g),o=N[C](0,h),p=n-l,q=o-m,r={x:l,y:m,x2:n,y2:o,width:p,height:q,cx:l+p/2,cy:m+q/2};return b.bbox=c(r),r},Aa=function(a){var d=c(a);return d.toString=b._path2string,d},Ba=b._pathToRelative=function(a){var c=ya(a);if(c.rel)return Aa(c.rel);b.is(a,U)&&b.is(a&&a[0],U)||(a=b.parsePathString(a));var d=[],e=0,f=0,g=0,h=0,i=0;"M"==a[0][0]&&(e=a[0][1],f=a[0][2],g=e,h=f,i++,d.push(["M",e,f]));for(var j=i,k=a.length;k>j;j++){var l=d[j]=[],m=a[j];if(m[0]!=L.call(m[0]))switch(l[0]=L.call(m[0]),l[0]){case"a":l[1]=m[1],l[2]=m[2],l[3]=m[3],l[4]=m[4],l[5]=m[5],l[6]=+(m[6]-e).toFixed(3),l[7]=+(m[7]-f).toFixed(3);break;case"v":l[1]=+(m[1]-f).toFixed(3);break;case"m":g=m[1],h=m[2];default:for(var n=1,o=m.length;o>n;n++)l[n]=+(m[n]-(n%2?e:f)).toFixed(3)}else{l=d[j]=[],"m"==m[0]&&(g=m[1]+e,h=m[2]+f);for(var p=0,q=m.length;q>p;p++)d[j][p]=m[p]}var r=d[j].length;switch(d[j][0]){case"z":e=g,f=h;break;case"h":e+=+d[j][r-1];break;case"v":f+=+d[j][r-1];break;default:e+=+d[j][r-2],f+=+d[j][r-1]}}return d.toString=b._path2string,c.rel=Aa(d),d},Ca=b._pathToAbsolute=function(a){var c=ya(a);if(c.abs)return Aa(c.abs);if(b.is(a,U)&&b.is(a&&a[0],U)||(a=b.parsePathString(a)),!a||!a.length)return[["M",0,0]];var d=[],e=0,f=0,h=0,i=0,j=0;"M"==a[0][0]&&(e=+a[0][1],f=+a[0][2],h=e,i=f,j++,d[0]=["M",e,f]);for(var k,l,m=3==a.length&&"M"==a[0][0]&&"R"==a[1][0].toUpperCase()&&"Z"==a[2][0].toUpperCase(),n=j,o=a.length;o>n;n++){if(d.push(k=[]),l=a[n],l[0]!=aa.call(l[0]))switch(k[0]=aa.call(l[0]),k[0]){case"A":k[1]=l[1],k[2]=l[2],k[3]=l[3],k[4]=l[4],k[5]=l[5],k[6]=+(l[6]+e),k[7]=+(l[7]+f);break;case"V":k[1]=+l[1]+f;break;case"H":k[1]=+l[1]+e;break;case"R":for(var p=[e,f][D](l.slice(1)),q=2,r=p.length;r>q;q++)p[q]=+p[q]+e,p[++q]=+p[q]+f;d.pop(),d=d[D](g(p,m));break;case"M":h=+l[1]+e,i=+l[2]+f;default:for(q=1,r=l.length;r>q;q++)k[q]=+l[q]+(q%2?e:f)}else if("R"==l[0])p=[e,f][D](l.slice(1)),d.pop(),d=d[D](g(p,m)),k=["R"][D](l.slice(-2));else for(var s=0,t=l.length;t>s;s++)k[s]=l[s];switch(k[0]){case"Z":e=h,f=i;break;case"H":e=k[1];break;case"V":f=k[1];break;case"M":h=k[k.length-2],i=k[k.length-1];default:e=k[k.length-2],f=k[k.length-1]}}return d.toString=b._path2string,c.abs=Aa(d),d},Da=function(a,b,c,d){return[a,b,c,d,c,d]},Ea=function(a,b,c,d,e,f){var g=1/3,h=2/3;return[g*a+h*c,g*b+h*d,g*e+h*c,g*f+h*d,e,f]},Fa=function(a,b,c,d,f,g,h,i,j,k){var l,m=120*R/180,n=R/180*(+f||0),o=[],p=e(function(a,b,c){var d=a*M.cos(c)-b*M.sin(c),e=a*M.sin(c)+b*M.cos(c);return{x:d,y:e}});if(k)y=k[0],z=k[1],w=k[2],x=k[3];else{l=p(a,b,-n),a=l.x,b=l.y,l=p(i,j,-n),i=l.x,j=l.y;var q=(M.cos(R/180*f),M.sin(R/180*f),(a-i)/2),r=(b-j)/2,s=q*q/(c*c)+r*r/(d*d);s>1&&(s=M.sqrt(s),c=s*c,d=s*d);var t=c*c,u=d*d,v=(g==h?-1:1)*M.sqrt(P((t*u-t*r*r-u*q*q)/(t*r*r+u*q*q))),w=v*c*r/d+(a+i)/2,x=v*-d*q/c+(b+j)/2,y=M.asin(((b-x)/d).toFixed(9)),z=M.asin(((j-x)/d).toFixed(9));y=w>a?R-y:y,z=w>i?R-z:z,0>y&&(y=2*R+y),0>z&&(z=2*R+z),h&&y>z&&(y-=2*R),!h&&z>y&&(z-=2*R)}var A=z-y;if(P(A)>m){var B=z,C=i,E=j;z=y+m*(h&&z>y?1:-1),i=w+c*M.cos(z),j=x+d*M.sin(z),o=Fa(i,j,c,d,f,0,h,C,E,[z,B,w,x])}A=z-y;var F=M.cos(y),G=M.sin(y),H=M.cos(z),J=M.sin(z),K=M.tan(A/4),L=4/3*c*K,N=4/3*d*K,O=[a,b],Q=[a+L*G,b-N*F],S=[i+L*J,j-N*H],T=[i,j];if(Q[0]=2*O[0]-Q[0],Q[1]=2*O[1]-Q[1],k)return[Q,S,T][D](o);o=[Q,S,T][D](o).join()[I](",");for(var U=[],V=0,W=o.length;W>V;V++)U[V]=V%2?p(o[V-1],o[V],n).y:p(o[V],o[V+1],n).x;return U},Ga=function(a,b,c,d,e,f,g,h,i){var j=1-i;return{x:Q(j,3)*a+3*Q(j,2)*i*c+3*j*i*i*e+Q(i,3)*g,y:Q(j,3)*b+3*Q(j,2)*i*d+3*j*i*i*f+Q(i,3)*h}},Ha=e(function(a,b,c,d,e,f,g,h){var i,j=e-2*c+a-(g-2*e+c),k=2*(c-a)-2*(e-c),l=a-c,m=(-k+M.sqrt(k*k-4*j*l))/2/j,n=(-k-M.sqrt(k*k-4*j*l))/2/j,o=[b,h],p=[a,g];return P(m)>"1e12"&&(m=.5),P(n)>"1e12"&&(n=.5),m>0&&1>m&&(i=Ga(a,b,c,d,e,f,g,h,m),p.push(i.x),o.push(i.y)),n>0&&1>n&&(i=Ga(a,b,c,d,e,f,g,h,n),p.push(i.x),o.push(i.y)),j=f-2*d+b-(h-2*f+d),k=2*(d-b)-2*(f-d),l=b-d,m=(-k+M.sqrt(k*k-4*j*l))/2/j,n=(-k-M.sqrt(k*k-4*j*l))/2/j,P(m)>"1e12"&&(m=.5),P(n)>"1e12"&&(n=.5),m>0&&1>m&&(i=Ga(a,b,c,d,e,f,g,h,m),p.push(i.x),o.push(i.y)),n>0&&1>n&&(i=Ga(a,b,c,d,e,f,g,h,n),p.push(i.x),o.push(i.y)),{min:{x:O[C](0,p),y:O[C](0,o)},max:{x:N[C](0,p),y:N[C](0,o)}}}),Ia=b._path2curve=e(function(a,b){var c=!b&&ya(a);if(!b&&c.curve)return Aa(c.curve);for(var d=Ca(a),e=b&&Ca(b),f={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},g={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},h=(function(a,b,c){var d,e,f={T:1,Q:1};if(!a)return["C",b.x,b.y,b.x,b.y,b.x,b.y];switch(!(a[0]in f)&&(b.qx=b.qy=null),a[0]){case"M":b.X=a[1],b.Y=a[2];break;case"A":a=["C"][D](Fa[C](0,[b.x,b.y][D](a.slice(1))));break;case"S":"C"==c||"S"==c?(d=2*b.x-b.bx,e=2*b.y-b.by):(d=b.x,e=b.y),a=["C",d,e][D](a.slice(1));break;case"T":"Q"==c||"T"==c?(b.qx=2*b.x-b.qx,b.qy=2*b.y-b.qy):(b.qx=b.x,b.qy=b.y),a=["C"][D](Ea(b.x,b.y,b.qx,b.qy,a[1],a[2]));break;case"Q":b.qx=a[1],b.qy=a[2],a=["C"][D](Ea(b.x,b.y,a[1],a[2],a[3],a[4]));break;case"L":a=["C"][D](Da(b.x,b.y,a[1],a[2]));break;case"H":a=["C"][D](Da(b.x,b.y,a[1],b.y));break;case"V":a=["C"][D](Da(b.x,b.y,b.x,a[1]));break;case"Z":a=["C"][D](Da(b.x,b.y,b.X,b.Y))}return a}),i=function(a,b){if(a[b].length>7){a[b].shift();for(var c=a[b];c.length;)k[b]="A",e&&(l[b]="A"),a.splice(b++,0,["C"][D](c.splice(0,6)));a.splice(b,1),p=N(d.length,e&&e.length||0)}},j=function(a,b,c,f,g){a&&b&&"M"==a[g][0]&&"M"!=b[g][0]&&(b.splice(g,0,["M",f.x,f.y]),c.bx=0,c.by=0,c.x=a[g][1],c.y=a[g][2],p=N(d.length,e&&e.length||0))},k=[],l=[],m="",n="",o=0,p=N(d.length,e&&e.length||0);p>o;o++){d[o]&&(m=d[o][0]),"C"!=m&&(k[o]=m,o&&(n=k[o-1])),d[o]=h(d[o],f,n),"A"!=k[o]&&"C"==m&&(k[o]="C"),i(d,o),e&&(e[o]&&(m=e[o][0]),"C"!=m&&(l[o]=m,o&&(n=l[o-1])),e[o]=h(e[o],g,n),"A"!=l[o]&&"C"==m&&(l[o]="C"),i(e,o)),j(d,e,f,g,o),j(e,d,g,f,o);var q=d[o],r=e&&e[o],s=q.length,t=e&&r.length;f.x=q[s-2],f.y=q[s-1],f.bx=$(q[s-4])||f.x,f.by=$(q[s-3])||f.y,g.bx=e&&($(r[t-4])||g.x),g.by=e&&($(r[t-3])||g.y),g.x=e&&r[t-2],g.y=e&&r[t-1]}return e||(c.curve=Aa(d)),e?[d,e]:d},null,Aa),Ja=(b._parseDots=e(function(a){for(var c=[],d=0,e=a.length;e>d;d++){var f={},g=a[d].match(/^([^:]*):?([\d\.]*)/);if(f.color=b.getRGB(g[1]),f.color.error)return null;f.opacity=f.color.opacity,f.color=f.color.hex,g[2]&&(f.offset=g[2]+"%"),c.push(f)}for(d=1,e=c.length-1;e>d;d++)if(!c[d].offset){for(var h=$(c[d-1].offset||0),i=0,j=d+1;e>j;j++)if(c[j].offset){i=c[j].offset;break}i||(i=100,j=e),i=$(i);for(var k=(i-h)/(j-d+1);j>d;d++)h+=k,c[d].offset=h+"%"}return c}),b._tear=function(a,b){a==b.top&&(b.top=a.prev),a==b.bottom&&(b.bottom=a.next),a.next&&(a.next.prev=a.prev),a.prev&&(a.prev.next=a.next)}),Ka=(b._tofront=function(a,b){b.top!==a&&(Ja(a,b),a.next=null,a.prev=b.top,b.top.next=a,b.top=a)},b._toback=function(a,b){b.bottom!==a&&(Ja(a,b),a.next=b.bottom,a.prev=null,b.bottom.prev=a,b.bottom=a)},b._insertafter=function(a,b,c){Ja(a,c),b==c.top&&(c.top=a),b.next&&(b.next.prev=a),a.next=b.next,a.prev=b,b.next=a},b._insertbefore=function(a,b,c){Ja(a,c),b==c.bottom&&(c.bottom=a),b.prev&&(b.prev.next=a),a.prev=b.prev,b.prev=a,a.next=b},b.toMatrix=function(a,b){var c=za(a),d={_:{transform:F},getBBox:function(){return c}};return La(d,b),d.matrix}),La=(b.transformPath=function(a,b){return pa(a,Ka(a,b))},b._extractTransform=function(a,c){if(null==c)return a._.transform;c=H(c).replace(/\.{3}|\u2026/g,a._.transform||F);var d=b.parseTransformString(c),e=0,f=0,g=0,h=1,i=1,j=a._,k=new n;if(j.transform=d||[],d)for(var l=0,m=d.length;m>l;l++){var o,p,q,r,s,t=d[l],u=t.length,v=H(t[0]).toLowerCase(),w=t[0]!=v,x=w?k.invert():0;"t"==v&&3==u?w?(o=x.x(0,0),p=x.y(0,0),q=x.x(t[1],t[2]),r=x.y(t[1],t[2]),k.translate(q-o,r-p)):k.translate(t[1],t[2]):"r"==v?2==u?(s=s||a.getBBox(1),k.rotate(t[1],s.x+s.width/2,s.y+s.height/2),e+=t[1]):4==u&&(w?(q=x.x(t[2],t[3]),r=x.y(t[2],t[3]),k.rotate(t[1],q,r)):k.rotate(t[1],t[2],t[3]),e+=t[1]):"s"==v?2==u||3==u?(s=s||a.getBBox(1),k.scale(t[1],t[u-1],s.x+s.width/2,s.y+s.height/2),h*=t[1],i*=t[u-1]):5==u&&(w?(q=x.x(t[3],t[4]),r=x.y(t[3],t[4]),k.scale(t[1],t[2],q,r)):k.scale(t[1],t[2],t[3],t[4]),h*=t[1],i*=t[2]):"m"==v&&7==u&&k.add(t[1],t[2],t[3],t[4],t[5],t[6]),j.dirtyT=1,a.matrix=k}a.matrix=k,j.sx=h,j.sy=i,j.deg=e,j.dx=f=k.e,j.dy=g=k.f,1==h&&1==i&&!e&&j.bbox?(j.bbox.x+=+f,j.bbox.y+=+g):j.dirtyT=1}),Ma=function(a){var b=a[0];switch(b.toLowerCase()){case"t":return[b,0,0];case"m":return[b,1,0,0,1,0,0];case"r":return 4==a.length?[b,0,a[2],a[3]]:[b,0];case"s":return 5==a.length?[b,1,1,a[3],a[4]]:3==a.length?[b,1,1]:[b,1]}},Na=b._equaliseTransform=function(a,c){ +c=H(c).replace(/\.{3}|\u2026/g,a),a=b.parseTransformString(a)||[],c=b.parseTransformString(c)||[];for(var d,e,f,g,h=N(a.length,c.length),i=[],j=[],k=0;h>k;k++){if(f=a[k]||Ma(c[k]),g=c[k]||Ma(f),f[0]!=g[0]||"r"==f[0].toLowerCase()&&(f[2]!=g[2]||f[3]!=g[3])||"s"==f[0].toLowerCase()&&(f[3]!=g[3]||f[4]!=g[4]))return;for(i[k]=[],j[k]=[],d=0,e=N(f.length,g.length);e>d;d++)d in f&&(i[k][d]=f[d]),d in g&&(j[k][d]=g[d])}return{from:i,to:j}};b._getContainer=function(a,c,d,e){var f;return f=null!=e||b.is(a,"object")?a:z.doc.getElementById(a),null!=f?f.tagName?null==c?{container:f,width:f.style.pixelWidth||f.offsetWidth,height:f.style.pixelHeight||f.offsetHeight}:{container:f,width:c,height:d}:{container:1,x:a,y:c,width:d,height:e}:void 0},b.pathToRelative=Ba,b._engine={},b.path2curve=Ia,b.matrix=function(a,b,c,d,e,f){return new n(a,b,c,d,e,f)},function(a){function c(a){return a[0]*a[0]+a[1]*a[1]}function d(a){var b=M.sqrt(c(a));a[0]&&(a[0]/=b),a[1]&&(a[1]/=b)}a.add=function(a,b,c,d,e,f){var g,h,i,j,k=[[],[],[]],l=[[this.a,this.c,this.e],[this.b,this.d,this.f],[0,0,1]],m=[[a,c,e],[b,d,f],[0,0,1]];for(a&&a instanceof n&&(m=[[a.a,a.c,a.e],[a.b,a.d,a.f],[0,0,1]]),g=0;3>g;g++)for(h=0;3>h;h++){for(j=0,i=0;3>i;i++)j+=l[g][i]*m[i][h];k[g][h]=j}this.a=k[0][0],this.b=k[1][0],this.c=k[0][1],this.d=k[1][1],this.e=k[0][2],this.f=k[1][2]},a.invert=function(){var a=this,b=a.a*a.d-a.b*a.c;return new n(a.d/b,-a.b/b,-a.c/b,a.a/b,(a.c*a.f-a.d*a.e)/b,(a.b*a.e-a.a*a.f)/b)},a.clone=function(){return new n(this.a,this.b,this.c,this.d,this.e,this.f)},a.translate=function(a,b){this.add(1,0,0,1,a,b)},a.scale=function(a,b,c,d){null==b&&(b=a),(c||d)&&this.add(1,0,0,1,c,d),this.add(a,0,0,b,0,0),(c||d)&&this.add(1,0,0,1,-c,-d)},a.rotate=function(a,c,d){a=b.rad(a),c=c||0,d=d||0;var e=+M.cos(a).toFixed(9),f=+M.sin(a).toFixed(9);this.add(e,f,-f,e,c,d),this.add(1,0,0,1,-c,-d)},a.x=function(a,b){return a*this.a+b*this.c+this.e},a.y=function(a,b){return a*this.b+b*this.d+this.f},a.get=function(a){return+this[H.fromCharCode(97+a)].toFixed(4)},a.toString=function(){return b.svg?"matrix("+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)].join()+")":[this.get(0),this.get(2),this.get(1),this.get(3),0,0].join()},a.toFilter=function(){return"progid:DXImageTransform.Microsoft.Matrix(M11="+this.get(0)+", M12="+this.get(2)+", M21="+this.get(1)+", M22="+this.get(3)+", Dx="+this.get(4)+", Dy="+this.get(5)+", sizingmethod='auto expand')"},a.offset=function(){return[this.e.toFixed(4),this.f.toFixed(4)]},a.split=function(){var a={};a.dx=this.e,a.dy=this.f;var e=[[this.a,this.c],[this.b,this.d]];a.scalex=M.sqrt(c(e[0])),d(e[0]),a.shear=e[0][0]*e[1][0]+e[0][1]*e[1][1],e[1]=[e[1][0]-e[0][0]*a.shear,e[1][1]-e[0][1]*a.shear],a.scaley=M.sqrt(c(e[1])),d(e[1]),a.shear/=a.scaley;var f=-e[0][1],g=e[1][1];return 0>g?(a.rotate=b.deg(M.acos(g)),0>f&&(a.rotate=360-a.rotate)):a.rotate=b.deg(M.asin(f)),a.isSimple=!(+a.shear.toFixed(9)||a.scalex.toFixed(9)!=a.scaley.toFixed(9)&&a.rotate),a.isSuperSimple=!+a.shear.toFixed(9)&&a.scalex.toFixed(9)==a.scaley.toFixed(9)&&!a.rotate,a.noRotation=!+a.shear.toFixed(9)&&!a.rotate,a},a.toTransformString=function(a){var b=a||this[I]();return b.isSimple?(b.scalex=+b.scalex.toFixed(4),b.scaley=+b.scaley.toFixed(4),b.rotate=+b.rotate.toFixed(4),(b.dx||b.dy?"t"+[b.dx,b.dy]:F)+(1!=b.scalex||1!=b.scaley?"s"+[b.scalex,b.scaley,0,0]:F)+(b.rotate?"r"+[b.rotate,0,0]:F)):"m"+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)]}}(n.prototype);for(var Oa=function(){this.returnValue=!1},Pa=function(){return this.originalEvent.preventDefault()},Qa=function(){this.cancelBubble=!0},Ra=function(){return this.originalEvent.stopPropagation()},Sa=function(a){var b=z.doc.documentElement.scrollTop||z.doc.body.scrollTop,c=z.doc.documentElement.scrollLeft||z.doc.body.scrollLeft;return{x:a.clientX+c,y:a.clientY+b}},Ta=function(){return z.doc.addEventListener?function(a,b,c,d){var e=function(a){var b=Sa(a);return c.call(d,a,b.x,b.y)};if(a.addEventListener(b,e,!1),E&&K[b]){var f=function(b){for(var e=Sa(b),f=b,g=0,h=b.targetTouches&&b.targetTouches.length;h>g;g++)if(b.targetTouches[g].target==a){b=b.targetTouches[g],b.originalEvent=f,b.preventDefault=Pa,b.stopPropagation=Ra;break}return c.call(d,b,e.x,e.y)};a.addEventListener(K[b],f,!1)}return function(){return a.removeEventListener(b,e,!1),E&&K[b]&&a.removeEventListener(K[b],f,!1),!0}}:z.doc.attachEvent?function(a,b,c,d){var e=function(a){a=a||z.win.event;var b=z.doc.documentElement.scrollTop||z.doc.body.scrollTop,e=z.doc.documentElement.scrollLeft||z.doc.body.scrollLeft,f=a.clientX+e,g=a.clientY+b;return a.preventDefault=a.preventDefault||Oa,a.stopPropagation=a.stopPropagation||Qa,c.call(d,a,f,g)};a.attachEvent("on"+b,e);var f=function(){return a.detachEvent("on"+b,e),!0};return f}:void 0}(),Ua=[],Va=function(b){for(var c,d=b.clientX,e=b.clientY,f=z.doc.documentElement.scrollTop||z.doc.body.scrollTop,g=z.doc.documentElement.scrollLeft||z.doc.body.scrollLeft,h=Ua.length;h--;){if(c=Ua[h],E&&b.touches){for(var i,j=b.touches.length;j--;)if(i=b.touches[j],i.identifier==c.el._drag.id){d=i.clientX,e=i.clientY,(b.originalEvent?b.originalEvent:b).preventDefault();break}}else b.preventDefault();var k,l=c.el.node,m=l.nextSibling,n=l.parentNode,o=l.style.display;z.win.opera&&n.removeChild(l),l.style.display="none",k=c.el.paper.getElementByPoint(d,e),l.style.display=o,z.win.opera&&(m?n.insertBefore(l,m):n.appendChild(l)),k&&a("raphael.drag.over."+c.el.id,c.el,k),d+=g,e+=f,a("raphael.drag.move."+c.el.id,c.move_scope||c.el,d-c.el._drag.x,e-c.el._drag.y,d,e,b)}},Wa=function(c){b.unmousemove(Va).unmouseup(Wa);for(var d,e=Ua.length;e--;)d=Ua[e],d.el._drag={},a("raphael.drag.end."+d.el.id,d.end_scope||d.start_scope||d.move_scope||d.el,c);Ua=[]},Xa=b.el={},Ya=J.length;Ya--;)!function(a){b[a]=Xa[a]=function(c,d){return b.is(c,"function")&&(this.events=this.events||[],this.events.push({name:a,f:c,unbind:Ta(this.shape||this.node||z.doc,a,c,d||this)})),this},b["un"+a]=Xa["un"+a]=function(c){for(var d=this.events||[],e=d.length;e--;)d[e].name!=a||!b.is(c,"undefined")&&d[e].f!=c||(d[e].unbind(),d.splice(e,1),!d.length&&delete this.events);return this}}(J[Ya]);Xa.data=function(c,d){var e=ja[this.id]=ja[this.id]||{};if(0==arguments.length)return e;if(1==arguments.length){if(b.is(c,"object")){for(var f in c)c[y](f)&&this.data(f,c[f]);return this}return a("raphael.data.get."+this.id,this,e[c],c),e[c]}return e[c]=d,a("raphael.data.set."+this.id,this,d,c),this},Xa.removeData=function(a){return null==a?ja[this.id]={}:ja[this.id]&&delete ja[this.id][a],this},Xa.getData=function(){return c(ja[this.id]||{})},Xa.hover=function(a,b,c,d){return this.mouseover(a,c).mouseout(b,d||c)},Xa.unhover=function(a,b){return this.unmouseover(a).unmouseout(b)};var Za=[];Xa.drag=function(c,d,e,f,g,h){function i(i){(i.originalEvent||i).preventDefault();var j=i.clientX,k=i.clientY,l=z.doc.documentElement.scrollTop||z.doc.body.scrollTop,m=z.doc.documentElement.scrollLeft||z.doc.body.scrollLeft;if(this._drag.id=i.identifier,E&&i.touches)for(var n,o=i.touches.length;o--;)if(n=i.touches[o],this._drag.id=n.identifier,n.identifier==this._drag.id){j=n.clientX,k=n.clientY;break}this._drag.x=j+m,this._drag.y=k+l,!Ua.length&&b.mousemove(Va).mouseup(Wa),Ua.push({el:this,move_scope:f,start_scope:g,end_scope:h}),d&&a.on("raphael.drag.start."+this.id,d),c&&a.on("raphael.drag.move."+this.id,c),e&&a.on("raphael.drag.end."+this.id,e),a("raphael.drag.start."+this.id,g||f||this,i.clientX+m,i.clientY+l,i)}return this._drag={},Za.push({el:this,start:i}),this.mousedown(i),this},Xa.onDragOver=function(b){b?a.on("raphael.drag.over."+this.id,b):a.unbind("raphael.drag.over."+this.id)},Xa.undrag=function(){for(var c=Za.length;c--;)Za[c].el==this&&(this.unmousedown(Za[c].start),Za.splice(c,1),a.unbind("raphael.drag.*."+this.id));!Za.length&&b.unmousemove(Va).unmouseup(Wa),Ua=[]},u.circle=function(a,c,d){var e=b._engine.circle(this,a||0,c||0,d||0);return this.__set__&&this.__set__.push(e),e},u.rect=function(a,c,d,e,f){var g=b._engine.rect(this,a||0,c||0,d||0,e||0,f||0);return this.__set__&&this.__set__.push(g),g},u.ellipse=function(a,c,d,e){var f=b._engine.ellipse(this,a||0,c||0,d||0,e||0);return this.__set__&&this.__set__.push(f),f},u.path=function(a){a&&!b.is(a,T)&&!b.is(a[0],U)&&(a+=F);var c=b._engine.path(b.format[C](b,arguments),this);return this.__set__&&this.__set__.push(c),c},u.image=function(a,c,d,e,f){var g=b._engine.image(this,a||"about:blank",c||0,d||0,e||0,f||0);return this.__set__&&this.__set__.push(g),g},u.text=function(a,c,d){var e=b._engine.text(this,a||0,c||0,H(d));return this.__set__&&this.__set__.push(e),e},u.set=function(a){!b.is(a,"array")&&(a=Array.prototype.splice.call(arguments,0,arguments.length));var c=new jb(a);return this.__set__&&this.__set__.push(c),c.paper=this,c.type="set",c},u.setStart=function(a){this.__set__=a||this.set()},u.setFinish=function(a){var b=this.__set__;return delete this.__set__,b},u.getSize=function(){var a=this.canvas.parentNode;return{width:a.offsetWidth,height:a.offsetHeight}},u.setSize=function(a,c){return b._engine.setSize.call(this,a,c)},u.setViewBox=function(a,c,d,e,f){return b._engine.setViewBox.call(this,a,c,d,e,f)},u.top=u.bottom=null,u.raphael=b;var $a=function(a){var b=a.getBoundingClientRect(),c=a.ownerDocument,d=c.body,e=c.documentElement,f=e.clientTop||d.clientTop||0,g=e.clientLeft||d.clientLeft||0,h=b.top+(z.win.pageYOffset||e.scrollTop||d.scrollTop)-f,i=b.left+(z.win.pageXOffset||e.scrollLeft||d.scrollLeft)-g;return{y:h,x:i}};u.getElementByPoint=function(a,b){var c=this,d=c.canvas,e=z.doc.elementFromPoint(a,b);if(z.win.opera&&"svg"==e.tagName){var f=$a(d),g=d.createSVGRect();g.x=a-f.x,g.y=b-f.y,g.width=g.height=1;var h=d.getIntersectionList(g,null);h.length&&(e=h[h.length-1])}if(!e)return null;for(;e.parentNode&&e!=d.parentNode&&!e.raphael;)e=e.parentNode;return e==c.canvas.parentNode&&(e=d),e=e&&e.raphael?c.getById(e.raphaelid):null},u.getElementsByBBox=function(a){var c=this.set();return this.forEach(function(d){b.isBBoxIntersect(d.getBBox(),a)&&c.push(d)}),c},u.getById=function(a){for(var b=this.bottom;b;){if(b.id==a)return b;b=b.next}return null},u.forEach=function(a,b){for(var c=this.bottom;c;){if(a.call(b,c)===!1)return this;c=c.next}return this},u.getElementsByPoint=function(a,b){var c=this.set();return this.forEach(function(d){d.isPointInside(a,b)&&c.push(d)}),c},Xa.isPointInside=function(a,c){var d=this.realPath=oa[this.type](this);return this.attr("transform")&&this.attr("transform").length&&(d=b.transformPath(d,this.attr("transform"))),b.isPointInsidePath(d,a,c)},Xa.getBBox=function(a){if(this.removed)return{};var b=this._;return a?((b.dirty||!b.bboxwt)&&(this.realPath=oa[this.type](this),b.bboxwt=za(this.realPath),b.bboxwt.toString=o,b.dirty=0),b.bboxwt):((b.dirty||b.dirtyT||!b.bbox)&&((b.dirty||!this.realPath)&&(b.bboxwt=0,this.realPath=oa[this.type](this)),b.bbox=za(pa(this.realPath,this.matrix)),b.bbox.toString=o,b.dirty=b.dirtyT=0),b.bbox)},Xa.clone=function(){if(this.removed)return null;var a=this.paper[this.type]().attr(this.attr());return this.__set__&&this.__set__.push(a),a},Xa.glow=function(a){if("text"==this.type)return null;a=a||{};var b={width:(a.width||10)+(+this.attr("stroke-width")||1),fill:a.fill||!1,opacity:null==a.opacity?.5:a.opacity,offsetx:a.offsetx||0,offsety:a.offsety||0,color:a.color||"#000"},c=b.width/2,d=this.paper,e=d.set(),f=this.realPath||oa[this.type](this);f=this.matrix?pa(f,this.matrix):f;for(var g=1;c+1>g;g++)e.push(d.path(f).attr({stroke:b.color,fill:b.fill?b.color:"none","stroke-linejoin":"round","stroke-linecap":"round","stroke-width":+(b.width/c*g).toFixed(3),opacity:+(b.opacity/c).toFixed(3)}));return e.insertBefore(this).translate(b.offsetx,b.offsety)};var _a=function(a,c,d,e,f,g,h,k,l){return null==l?i(a,c,d,e,f,g,h,k):b.findDotsAtSegment(a,c,d,e,f,g,h,k,j(a,c,d,e,f,g,h,k,l))},ab=function(a,c){return function(d,e,f){d=Ia(d);for(var g,h,i,j,k,l="",m={},n=0,o=0,p=d.length;p>o;o++){if(i=d[o],"M"==i[0])g=+i[1],h=+i[2];else{if(j=_a(g,h,i[1],i[2],i[3],i[4],i[5],i[6]),n+j>e){if(c&&!m.start){if(k=_a(g,h,i[1],i[2],i[3],i[4],i[5],i[6],e-n),l+=["C"+k.start.x,k.start.y,k.m.x,k.m.y,k.x,k.y],f)return l;m.start=l,l=["M"+k.x,k.y+"C"+k.n.x,k.n.y,k.end.x,k.end.y,i[5],i[6]].join(),n+=j,g=+i[5],h=+i[6];continue}if(!a&&!c)return k=_a(g,h,i[1],i[2],i[3],i[4],i[5],i[6],e-n),{x:k.x,y:k.y,alpha:k.alpha}}n+=j,g=+i[5],h=+i[6]}l+=i.shift()+i}return m.end=l,k=a?n:c?m:b.findDotsAtSegment(g,h,i[0],i[1],i[2],i[3],i[4],i[5],1),k.alpha&&(k={x:k.x,y:k.y,alpha:k.alpha}),k}},bb=ab(1),cb=ab(),db=ab(0,1);b.getTotalLength=bb,b.getPointAtLength=cb,b.getSubpath=function(a,b,c){if(this.getTotalLength(a)-c<1e-6)return db(a,b).end;var d=db(a,c,1);return b?db(d,b).end:d},Xa.getTotalLength=function(){var a=this.getPath();if(a)return this.node.getTotalLength?this.node.getTotalLength():bb(a)},Xa.getPointAtLength=function(a){var b=this.getPath();if(b)return cb(b,a)},Xa.getPath=function(){var a,c=b._getPath[this.type];if("text"!=this.type&&"set"!=this.type)return c&&(a=c(this)),a},Xa.getSubpath=function(a,c){var d=this.getPath();if(d)return b.getSubpath(d,a,c)};var eb=b.easing_formulas={linear:function(a){return a},"<":function(a){return Q(a,1.7)},">":function(a){return Q(a,.48)},"<>":function(a){var b=.48-a/1.04,c=M.sqrt(.1734+b*b),d=c-b,e=Q(P(d),1/3)*(0>d?-1:1),f=-c-b,g=Q(P(f),1/3)*(0>f?-1:1),h=e+g+.5;return 3*(1-h)*h*h+h*h*h},backIn:function(a){var b=1.70158;return a*a*((b+1)*a-b)},backOut:function(a){a-=1;var b=1.70158;return a*a*((b+1)*a+b)+1},elastic:function(a){return a==!!a?a:Q(2,-10*a)*M.sin(2*(a-.075)*R/.3)+1},bounce:function(a){var b,c=7.5625,d=2.75;return 1/d>a?b=c*a*a:2/d>a?(a-=1.5/d,b=c*a*a+.75):2.5/d>a?(a-=2.25/d,b=c*a*a+.9375):(a-=2.625/d,b=c*a*a+.984375),b}};eb.easeIn=eb["ease-in"]=eb["<"],eb.easeOut=eb["ease-out"]=eb[">"],eb.easeInOut=eb["ease-in-out"]=eb["<>"],eb["back-in"]=eb.backIn,eb["back-out"]=eb.backOut;var fb=[],gb=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){setTimeout(a,16)},hb=function(){for(var c=+new Date,d=0;dh))if(i>h){var q=j(h/i);for(var s in k)if(k[y](s)){switch(ca[s]){case S:f=+k[s]+q*i*l[s];break;case"colour":f="rgb("+[ib(Z(k[s].r+q*i*l[s].r)),ib(Z(k[s].g+q*i*l[s].g)),ib(Z(k[s].b+q*i*l[s].b))].join(",")+")";break;case"path":f=[];for(var t=0,u=k[s].length;u>t;t++){f[t]=[k[s][t][0]];for(var v=1,w=k[s][t].length;w>v;v++)f[t][v]=+k[s][t][v]+q*i*l[s][t][v];f[t]=f[t].join(G)}f=f.join(G);break;case"transform":if(l[s].real)for(f=[],t=0,u=k[s].length;u>t;t++)for(f[t]=[k[s][t][0]],v=1,w=k[s][t].length;w>v;v++)f[t][v]=k[s][t][v]+q*i*l[s][t][v];else{var x=function(a){return+k[s][a]+q*i*l[s][a]};f=[["m",x(0),x(1),x(2),x(3),x(4),x(5)]]}break;case"csv":if("clip-rect"==s)for(f=[],t=4;t--;)f[t]=+k[s][t]+q*i*l[s][t];break;default:var z=[][D](k[s]);for(f=[],t=n.paper.customAttributes[s].length;t--;)f[t]=+z[t]+q*i*l[s][t]}o[s]=f}n.attr(o),function(b,c,d){setTimeout(function(){a("raphael.anim.frame."+b,c,d)})}(n.id,n,e.anim)}else{if(function(c,d,e){setTimeout(function(){a("raphael.anim.frame."+d.id,d,e),a("raphael.anim.finish."+d.id,d,e),b.is(c,"function")&&c.call(d)})}(e.callback,n,e.anim),n.attr(m),fb.splice(d--,1),e.repeat>1&&!e.next){for(g in m)m[y](g)&&(p[g]=e.totalOrigin[g]);e.el.attr(p),r(e.anim,e.el,e.anim.percents[0],null,e.totalOrigin,e.repeat-1)}e.next&&!e.stop&&r(e.anim,e.el,e.next,null,e.totalOrigin,e.repeat)}}}fb.length&&gb(hb)},ib=function(a){return a>255?255:0>a?0:a};Xa.animateWith=function(a,c,d,e,f,g){var h=this;if(h.removed)return g&&g.call(h),h;var i=d instanceof q?d:b.animation(d,e,f,g);r(i,h,i.percents[0],null,h.attr());for(var j=0,k=fb.length;k>j;j++)if(fb[j].anim==c&&fb[j].el==a){fb[k-1].start=fb[j].start;break}return h},Xa.onAnimation=function(b){return b?a.on("raphael.anim.frame."+this.id,b):a.unbind("raphael.anim.frame."+this.id),this},q.prototype.delay=function(a){var b=new q(this.anim,this.ms);return b.times=this.times,b.del=+a||0,b},q.prototype.repeat=function(a){var b=new q(this.anim,this.ms);return b.del=this.del,b.times=M.floor(N(a,0))||1,b},b.animation=function(a,c,d,e){if(a instanceof q)return a;(b.is(d,"function")||!d)&&(e=e||d||null,d=null),a=Object(a),c=+c||0;var f,g,h={};for(g in a)a[y](g)&&$(g)!=g&&$(g)+"%"!=g&&(f=!0,h[g]=a[g]);if(f)return d&&(h.easing=d),e&&(h.callback=e),new q({100:h},c);if(e){var i=0;for(var j in a){var k=_(j);a[y](j)&&k>i&&(i=k)}i+="%",!a[i].callback&&(a[i].callback=e)}return new q(a,c)},Xa.animate=function(a,c,d,e){var f=this;if(f.removed)return e&&e.call(f),f;var g=a instanceof q?a:b.animation(a,c,d,e);return r(g,f,g.percents[0],null,f.attr()),f},Xa.setTime=function(a,b){return a&&null!=b&&this.status(a,O(b,a.ms)/a.ms),this},Xa.status=function(a,b){var c,d,e=[],f=0;if(null!=b)return r(a,this,-1,O(b,1)),this;for(c=fb.length;c>f;f++)if(d=fb[f],d.el.id==this.id&&(!a||d.anim==a)){if(a)return d.status;e.push({anim:d.anim,status:d.status})}return a?0:e},Xa.pause=function(b){for(var c=0;cb;b++)!a[b]||a[b].constructor!=Xa.constructor&&a[b].constructor!=jb||(this[this.items.length]=this.items[this.items.length]=a[b],this.length++)},kb=jb.prototype;kb.push=function(){for(var a,b,c=0,d=arguments.length;d>c;c++)a=arguments[c],!a||a.constructor!=Xa.constructor&&a.constructor!=jb||(b=this.items.length,this[b]=this.items[b]=a,this.length++);return this},kb.pop=function(){return this.length&&delete this[this.length--],this.items.pop()},kb.forEach=function(a,b){for(var c=0,d=this.items.length;d>c;c++)if(a.call(b,this.items[c],c)===!1)return this;return this};for(var lb in Xa)Xa[y](lb)&&(kb[lb]=function(a){return function(){var b=arguments;return this.forEach(function(c){c[a][C](c,b)})}}(lb));return kb.attr=function(a,c){if(a&&b.is(a,U)&&b.is(a[0],"object"))for(var d=0,e=a.length;e>d;d++)this.items[d].attr(a[d]);else for(var f=0,g=this.items.length;g>f;f++)this.items[f].attr(a,c);return this},kb.clear=function(){for(;this.length;)this.pop()},kb.splice=function(a,b,c){a=0>a?N(this.length+a,0):a,b=N(0,O(this.length-a,b));var d,e=[],f=[],g=[];for(d=2;dd;d++)f.push(this[a+d]);for(;dd?g[d]:e[d-h];for(d=this.items.length=this.length-=b-h;this[d];)delete this[d++];return new jb(f)},kb.exclude=function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]==a)return this.splice(b,1),!0},kb.animate=function(a,c,d,e){(b.is(d,"function")||!d)&&(e=d||null);var f,g,h=this.items.length,i=h,j=this;if(!h)return this;e&&(g=function(){!--h&&e.call(j)}),d=b.is(d,T)?d:g;var k=b.animation(a,c,d,g);for(f=this.items[--i].animate(k);i--;)this.items[i]&&!this.items[i].removed&&this.items[i].animateWith(f,k,k),this.items[i]&&!this.items[i].removed||h--;return this},kb.insertAfter=function(a){for(var b=this.items.length;b--;)this.items[b].insertAfter(a);return this},kb.getBBox=function(){for(var a=[],b=[],c=[],d=[],e=this.items.length;e--;)if(!this.items[e].removed){var f=this.items[e].getBBox();a.push(f.x),b.push(f.y),c.push(f.x+f.width),d.push(f.y+f.height)}return a=O[C](0,a),b=O[C](0,b),c=N[C](0,c),d=N[C](0,d),{x:a,y:b,x2:c,y2:d,width:c-a,height:d-b}},kb.clone=function(a){a=this.paper.set();for(var b=0,c=this.items.length;c>b;b++)a.push(this.items[b].clone());return a},kb.toString=function(){return"Raphaël‘s set"},kb.glow=function(a){var b=this.paper.set();return this.forEach(function(c,d){var e=c.glow(a);null!=e&&e.forEach(function(a,c){b.push(a)})}),b},kb.isPointInside=function(a,b){var c=!1;return this.forEach(function(d){return d.isPointInside(a,b)?(c=!0,!1):void 0}),c},b.registerFont=function(a){if(!a.face)return a;this.fonts=this.fonts||{};var b={w:a.w,face:{},glyphs:{}},c=a.face["font-family"];for(var d in a.face)a.face[y](d)&&(b.face[d]=a.face[d]);if(this.fonts[c]?this.fonts[c].push(b):this.fonts[c]=[b],!a.svg){b.face["units-per-em"]=_(a.face["units-per-em"],10);for(var e in a.glyphs)if(a.glyphs[y](e)){var f=a.glyphs[e];if(b.glyphs[e]={w:f.w,k:{},d:f.d&&"M"+f.d.replace(/[mlcxtrv]/g,function(a){return{l:"L",c:"C",x:"z",t:"m",r:"l",v:"c"}[a]||"M"})+"z"},f.k)for(var g in f.k)f[y](g)&&(b.glyphs[e].k[g]=f.k[g])}}return a},u.getFont=function(a,c,d,e){if(e=e||"normal",d=d||"normal",c=+c||{normal:400,bold:700,lighter:300,bolder:800}[c]||400,b.fonts){var f=b.fonts[a];if(!f){var g=new RegExp("(^|\\s)"+a.replace(/[^\w\d\s+!~.:_-]/g,F)+"(\\s|$)","i");for(var h in b.fonts)if(b.fonts[y](h)&&g.test(h)){f=b.fonts[h];break}}var i;if(f)for(var j=0,k=f.length;k>j&&(i=f[j],i.face["font-weight"]!=c||i.face["font-style"]!=d&&i.face["font-style"]||i.face["font-stretch"]!=e);j++);return i}},u.print=function(a,c,d,e,f,g,h,i){g=g||"middle",h=N(O(h||0,1),-1),i=N(O(i||1,3),1);var j,k=H(d)[I](F),l=0,m=0,n=F;if(b.is(e,"string")&&(e=this.getFont(e)),e){j=(f||16)/e.face["units-per-em"];for(var o=e.face.bbox[I](v),p=+o[0],q=o[3]-o[1],r=0,s=+o[1]+("baseline"==g?q+ +e.face.descent:q/2),t=0,u=k.length;u>t;t++){if("\n"==k[t])l=0,x=0,m=0,r+=q*i;else{var w=m&&e.glyphs[k[t-1]]||{},x=e.glyphs[k[t]];l+=m?(w.w||e.w)+(w.k&&w.k[k[t]]||0)+e.w*h:0,m=1}x&&x.d&&(n+=b.transformPath(x.d,["t",l*j,r*j,"s",j,j,p,s,"t",(a-p)/j,(c-s)/j]))}}return this.path(n).attr({fill:"#000",stroke:"none"})},u.add=function(a){if(b.is(a,"array"))for(var c,d=this.set(),e=0,f=a.length;f>e;e++)c=a[e]||{},w[y](c.type)&&d.push(this[c.type]().attr(c));return d},b.format=function(a,c){var d=b.is(c,U)?[0][D](c):arguments;return a&&b.is(a,T)&&d.length-1&&(a=a.replace(x,function(a,b){return null==d[++b]?F:d[b]})),a||F},b.fullfill=function(){var a=/\{([^\}]+)\}/g,b=/(?:(?:^|\.)(.+?)(?=\[|\.|$|\()|\[('|")(.+?)\2\])(\(\))?/g,c=function(a,c,d){var e=d;return c.replace(b,function(a,b,c,d,f){b=b||d,e&&(b in e&&(e=e[b]),"function"==typeof e&&f&&(e=e()))}),e=(null==e||e==d?a:e)+""};return function(b,d){return String(b).replace(a,function(a,b){return c(a,b,d)})}}(),b.ninja=function(){return A.was?z.win.Raphael=A.is:delete Raphael,b},b.st=kb,a.on("raphael.DOMload",function(){t=!0}),function(a,c,d){function e(){/in/.test(a.readyState)?setTimeout(e,9):b.eve("raphael.DOMload")}null==a.readyState&&a.addEventListener&&(a.addEventListener(c,d=function(){a.removeEventListener(c,d,!1),a.readyState="complete"},!1),a.readyState="loading"),e()}(document,"DOMContentLoaded"),b}),function(a,b){"function"==typeof define&&define.amd?define("raphael.svg",["raphael.core"],function(a){return b(a)}):b("object"==typeof exports?require("./raphael.core"):a.Raphael)}(this,function(a){if(!a||a.svg){var b="hasOwnProperty",c=String,d=parseFloat,e=parseInt,f=Math,g=f.max,h=f.abs,i=f.pow,j=/[, ]+/,k=a.eve,l="",m=" ",n="http://www.w3.org/1999/xlink",o={block:"M5,0 0,2.5 5,5z",classic:"M5,0 0,2.5 5,5 3.5,3 3.5,2z",diamond:"M2.5,0 5,2.5 2.5,5 0,2.5z",open:"M6,1 1,3.5 6,6",oval:"M2.5,0A2.5,2.5,0,0,1,2.5,5 2.5,2.5,0,0,1,2.5,0z"},p={};a.toString=function(){return"Your browser supports SVG.\nYou are running Raphaël "+this.version};var q=function(d,e){if(e){"string"==typeof d&&(d=q(d));for(var f in e)e[b](f)&&("xlink:"==f.substring(0,6)?d.setAttributeNS(n,f.substring(6),c(e[f])):d.setAttribute(f,c(e[f])))}else d=a._g.doc.createElementNS("http://www.w3.org/2000/svg",d),d.style&&(d.style.webkitTapHighlightColor="rgba(0,0,0,0)");return d},r=function(b,e){var j="linear",k=b.id+e,m=.5,n=.5,o=b.node,p=b.paper,r=o.style,s=a._g.doc.getElementById(k);if(!s){if(e=c(e).replace(a._radial_gradient,function(a,b,c){if(j="radial",b&&c){m=d(b),n=d(c);var e=2*(n>.5)-1;i(m-.5,2)+i(n-.5,2)>.25&&(n=f.sqrt(.25-i(m-.5,2))*e+.5)&&.5!=n&&(n=n.toFixed(5)-1e-5*e)}return l}),e=e.split(/\s*\-\s*/),"linear"==j){var t=e.shift();if(t=-d(t),isNaN(t))return null;var u=[0,0,f.cos(a.rad(t)),f.sin(a.rad(t))],v=1/(g(h(u[2]),h(u[3]))||1);u[2]*=v,u[3]*=v,u[2]<0&&(u[0]=-u[2],u[2]=0),u[3]<0&&(u[1]=-u[3],u[3]=0)}var w=a._parseDots(e);if(!w)return null;if(k=k.replace(/[\(\)\s,\xb0#]/g,"_"),b.gradient&&k!=b.gradient.id&&(p.defs.removeChild(b.gradient),delete b.gradient),!b.gradient){s=q(j+"Gradient",{id:k}),b.gradient=s,q(s,"radial"==j?{fx:m,fy:n}:{x1:u[0],y1:u[1],x2:u[2],y2:u[3],gradientTransform:b.matrix.invert()}),p.defs.appendChild(s);for(var x=0,y=w.length;y>x;x++)s.appendChild(q("stop",{offset:w[x].offset?w[x].offset:x?"100%":"0%","stop-color":w[x].color||"#fff","stop-opacity":isFinite(w[x].opacity)?w[x].opacity:1}))}}return q(o,{fill:"url('"+document.location.origin+document.location.pathname+"#"+k+"')",opacity:1,"fill-opacity":1}),r.fill=l,r.opacity=1,r.fillOpacity=1,1},s=function(a){var b=a.getBBox(1);q(a.pattern,{patternTransform:a.matrix.invert()+" translate("+b.x+","+b.y+")"})},t=function(d,e,f){if("path"==d.type){for(var g,h,i,j,k,m=c(e).toLowerCase().split("-"),n=d.paper,r=f?"end":"start",s=d.node,t=d.attrs,u=t["stroke-width"],v=m.length,w="classic",x=3,y=3,z=5;v--;)switch(m[v]){case"block":case"classic":case"oval":case"diamond":case"open":case"none":w=m[v];break;case"wide":y=5;break;case"narrow":y=2;break;case"long":x=5;break;case"short":x=2}if("open"==w?(x+=2,y+=2,z+=2,i=1,j=f?4:1,k={fill:"none",stroke:t.stroke}):(j=i=x/2,k={fill:t.stroke,stroke:"none"}),d._.arrows?f?(d._.arrows.endPath&&p[d._.arrows.endPath]--,d._.arrows.endMarker&&p[d._.arrows.endMarker]--):(d._.arrows.startPath&&p[d._.arrows.startPath]--,d._.arrows.startMarker&&p[d._.arrows.startMarker]--):d._.arrows={},"none"!=w){var A="raphael-marker-"+w,B="raphael-marker-"+r+w+x+y+"-obj"+d.id;a._g.doc.getElementById(A)?p[A]++:(n.defs.appendChild(q(q("path"),{"stroke-linecap":"round",d:o[w],id:A})),p[A]=1);var C,D=a._g.doc.getElementById(B);D?(p[B]++,C=D.getElementsByTagName("use")[0]):(D=q(q("marker"),{id:B,markerHeight:y,markerWidth:x,orient:"auto",refX:j,refY:y/2}),C=q(q("use"),{"xlink:href":"#"+A,transform:(f?"rotate(180 "+x/2+" "+y/2+") ":l)+"scale("+x/z+","+y/z+")","stroke-width":(1/((x/z+y/z)/2)).toFixed(4)}),D.appendChild(C),n.defs.appendChild(D),p[B]=1),q(C,k);var E=i*("diamond"!=w&&"oval"!=w);f?(g=d._.arrows.startdx*u||0,h=a.getTotalLength(t.path)-E*u):(g=E*u,h=a.getTotalLength(t.path)-(d._.arrows.enddx*u||0)),k={},k["marker-"+r]="url(#"+B+")",(h||g)&&(k.d=a.getSubpath(t.path,g,h)),q(s,k),d._.arrows[r+"Path"]=A,d._.arrows[r+"Marker"]=B,d._.arrows[r+"dx"]=E,d._.arrows[r+"Type"]=w,d._.arrows[r+"String"]=e}else f?(g=d._.arrows.startdx*u||0,h=a.getTotalLength(t.path)-g):(g=0,h=a.getTotalLength(t.path)-(d._.arrows.enddx*u||0)),d._.arrows[r+"Path"]&&q(s,{d:a.getSubpath(t.path,g,h)}),delete d._.arrows[r+"Path"],delete d._.arrows[r+"Marker"],delete d._.arrows[r+"dx"],delete d._.arrows[r+"Type"],delete d._.arrows[r+"String"];for(k in p)if(p[b](k)&&!p[k]){var F=a._g.doc.getElementById(k);F&&F.parentNode.removeChild(F)}}},u={"-":[3,1],".":[1,1],"-.":[3,1,1,1],"-..":[3,1,1,1,1,1],". ":[1,3],"- ":[4,3],"--":[8,3],"- .":[4,3,1,3],"--.":[8,3,1,3],"--..":[8,3,1,3,1,3]},v=function(a,b,d){if(b=u[c(b).toLowerCase()]){for(var e=a.attrs["stroke-width"]||"1",f={round:e,square:e,butt:0}[a.attrs["stroke-linecap"]||d["stroke-linecap"]]||0,g=[],h=b.length;h--;)g[h]=b[h]*e+(h%2?1:-1)*f;q(a.node,{"stroke-dasharray":g.join(",")})}else q(a.node,{"stroke-dasharray":"none"})},w=function(d,f){var i=d.node,k=d.attrs,m=i.style.visibility;i.style.visibility="hidden";for(var o in f)if(f[b](o)){if(!a._availableAttrs[b](o))continue;var p=f[o];switch(k[o]=p,o){case"blur":d.blur(p);break;case"title":var u=i.getElementsByTagName("title");if(u.length&&(u=u[0]))u.firstChild.nodeValue=p;else{u=q("title");var w=a._g.doc.createTextNode(p);u.appendChild(w),i.appendChild(u)}break;case"href":case"target":var x=i.parentNode;if("a"!=x.tagName.toLowerCase()){var z=q("a");x.insertBefore(z,i),z.appendChild(i),x=z}"target"==o?x.setAttributeNS(n,"show","blank"==p?"new":p):x.setAttributeNS(n,o,p);break;case"cursor":i.style.cursor=p;break;case"transform":d.transform(p);break;case"arrow-start":t(d,p);break;case"arrow-end":t(d,p,1);break;case"clip-rect":var A=c(p).split(j);if(4==A.length){d.clip&&d.clip.parentNode.parentNode.removeChild(d.clip.parentNode);var B=q("clipPath"),C=q("rect");B.id=a.createUUID(),q(C,{x:A[0],y:A[1],width:A[2],height:A[3]}),B.appendChild(C),d.paper.defs.appendChild(B),q(i,{"clip-path":"url(#"+B.id+")"}),d.clip=C}if(!p){var D=i.getAttribute("clip-path");if(D){var E=a._g.doc.getElementById(D.replace(/(^url\(#|\)$)/g,l));E&&E.parentNode.removeChild(E),q(i,{"clip-path":l}),delete d.clip}}break;case"path":"path"==d.type&&(q(i,{d:p?k.path=a._pathToAbsolute(p):"M0,0"}),d._.dirty=1,d._.arrows&&("startString"in d._.arrows&&t(d,d._.arrows.startString),"endString"in d._.arrows&&t(d,d._.arrows.endString,1)));break;case"width":if(i.setAttribute(o,p),d._.dirty=1,!k.fx)break;o="x",p=k.x;case"x":k.fx&&(p=-k.x-(k.width||0));case"rx":if("rx"==o&&"rect"==d.type)break;case"cx":i.setAttribute(o,p),d.pattern&&s(d),d._.dirty=1;break;case"height":if(i.setAttribute(o,p),d._.dirty=1,!k.fy)break;o="y",p=k.y;case"y":k.fy&&(p=-k.y-(k.height||0));case"ry":if("ry"==o&&"rect"==d.type)break;case"cy":i.setAttribute(o,p),d.pattern&&s(d),d._.dirty=1;break;case"r":"rect"==d.type?q(i,{rx:p,ry:p}):i.setAttribute(o,p),d._.dirty=1;break;case"src":"image"==d.type&&i.setAttributeNS(n,"href",p);break;case"stroke-width":(1!=d._.sx||1!=d._.sy)&&(p/=g(h(d._.sx),h(d._.sy))||1),i.setAttribute(o,p),k["stroke-dasharray"]&&v(d,k["stroke-dasharray"],f),d._.arrows&&("startString"in d._.arrows&&t(d,d._.arrows.startString),"endString"in d._.arrows&&t(d,d._.arrows.endString,1));break;case"stroke-dasharray":v(d,p,f);break;case"fill":var F=c(p).match(a._ISURL);if(F){B=q("pattern");var G=q("image");B.id=a.createUUID(),q(B,{x:0,y:0,patternUnits:"userSpaceOnUse",height:1,width:1}),q(G,{x:0,y:0,"xlink:href":F[1]}),B.appendChild(G),function(b){a._preload(F[1],function(){var a=this.offsetWidth,c=this.offsetHeight;q(b,{width:a,height:c}),q(G,{width:a,height:c})})}(B),d.paper.defs.appendChild(B),q(i,{fill:"url(#"+B.id+")"}),d.pattern=B,d.pattern&&s(d);break}var H=a.getRGB(p);if(H.error){if(("circle"==d.type||"ellipse"==d.type||"r"!=c(p).charAt())&&r(d,p)){if("opacity"in k||"fill-opacity"in k){var I=a._g.doc.getElementById(i.getAttribute("fill").replace(/^url\(#|\)$/g,l));if(I){var J=I.getElementsByTagName("stop");q(J[J.length-1],{"stop-opacity":("opacity"in k?k.opacity:1)*("fill-opacity"in k?k["fill-opacity"]:1)})}}k.gradient=p,k.fill="none";break}}else delete f.gradient,delete k.gradient,!a.is(k.opacity,"undefined")&&a.is(f.opacity,"undefined")&&q(i,{opacity:k.opacity}),!a.is(k["fill-opacity"],"undefined")&&a.is(f["fill-opacity"],"undefined")&&q(i,{"fill-opacity":k["fill-opacity"]});H[b]("opacity")&&q(i,{"fill-opacity":H.opacity>1?H.opacity/100:H.opacity});case"stroke":H=a.getRGB(p),i.setAttribute(o,H.hex),"stroke"==o&&H[b]("opacity")&&q(i,{"stroke-opacity":H.opacity>1?H.opacity/100:H.opacity}),"stroke"==o&&d._.arrows&&("startString"in d._.arrows&&t(d,d._.arrows.startString),"endString"in d._.arrows&&t(d,d._.arrows.endString,1));break;case"gradient":("circle"==d.type||"ellipse"==d.type||"r"!=c(p).charAt())&&r(d,p); + +break;case"opacity":k.gradient&&!k[b]("stroke-opacity")&&q(i,{"stroke-opacity":p>1?p/100:p});case"fill-opacity":if(k.gradient){I=a._g.doc.getElementById(i.getAttribute("fill").replace(/^url\(#|\)$/g,l)),I&&(J=I.getElementsByTagName("stop"),q(J[J.length-1],{"stop-opacity":p}));break}default:"font-size"==o&&(p=e(p,10)+"px");var K=o.replace(/(\-.)/g,function(a){return a.substring(1).toUpperCase()});i.style[K]=p,d._.dirty=1,i.setAttribute(o,p)}}y(d,f),i.style.visibility=m},x=1.2,y=function(d,f){if("text"==d.type&&(f[b]("text")||f[b]("font")||f[b]("font-size")||f[b]("x")||f[b]("y"))){var g=d.attrs,h=d.node,i=h.firstChild?e(a._g.doc.defaultView.getComputedStyle(h.firstChild,l).getPropertyValue("font-size"),10):10;if(f[b]("text")){for(g.text=f.text;h.firstChild;)h.removeChild(h.firstChild);for(var j,k=c(f.text).split("\n"),m=[],n=0,o=k.length;o>n;n++)j=q("tspan"),n&&q(j,{dy:i*x,x:g.x}),j.appendChild(a._g.doc.createTextNode(k[n])),h.appendChild(j),m[n]=j}else for(m=h.getElementsByTagName("tspan"),n=0,o=m.length;o>n;n++)n?q(m[n],{dy:i*x,x:g.x}):q(m[0],{dy:0});q(h,{x:g.x,y:g.y}),d._.dirty=1;var p=d._getBBox(),r=g.y-(p.y+p.height/2);r&&a.is(r,"finite")&&q(m[0],{dy:r})}},z=function(a){return a.parentNode&&"a"===a.parentNode.tagName.toLowerCase()?a.parentNode:a},A=function(b,c){this[0]=this.node=b,b.raphael=!0,this.id=a._oid++,b.raphaelid=this.id,this.matrix=a.matrix(),this.realPath=null,this.paper=c,this.attrs=this.attrs||{},this._={transform:[],sx:1,sy:1,deg:0,dx:0,dy:0,dirty:1},!c.bottom&&(c.bottom=this),this.prev=c.top,c.top&&(c.top.next=this),c.top=this,this.next=null},B=a.el;A.prototype=B,B.constructor=A,a._engine.path=function(a,b){var c=q("path");b.canvas&&b.canvas.appendChild(c);var d=new A(c,b);return d.type="path",w(d,{fill:"none",stroke:"#000",path:a}),d},B.rotate=function(a,b,e){if(this.removed)return this;if(a=c(a).split(j),a.length-1&&(b=d(a[1]),e=d(a[2])),a=d(a[0]),null==e&&(b=e),null==b||null==e){var f=this.getBBox(1);b=f.x+f.width/2,e=f.y+f.height/2}return this.transform(this._.transform.concat([["r",a,b,e]])),this},B.scale=function(a,b,e,f){if(this.removed)return this;if(a=c(a).split(j),a.length-1&&(b=d(a[1]),e=d(a[2]),f=d(a[3])),a=d(a[0]),null==b&&(b=a),null==f&&(e=f),null==e||null==f)var g=this.getBBox(1);return e=null==e?g.x+g.width/2:e,f=null==f?g.y+g.height/2:f,this.transform(this._.transform.concat([["s",a,b,e,f]])),this},B.translate=function(a,b){return this.removed?this:(a=c(a).split(j),a.length-1&&(b=d(a[1])),a=d(a[0])||0,b=+b||0,this.transform(this._.transform.concat([["t",a,b]])),this)},B.transform=function(c){var d=this._;if(null==c)return d.transform;if(a._extractTransform(this,c),this.clip&&q(this.clip,{transform:this.matrix.invert()}),this.pattern&&s(this),this.node&&q(this.node,{transform:this.matrix}),1!=d.sx||1!=d.sy){var e=this.attrs[b]("stroke-width")?this.attrs["stroke-width"]:1;this.attr({"stroke-width":e})}return this},B.hide=function(){return this.removed||(this.node.style.display="none"),this},B.show=function(){return this.removed||(this.node.style.display=""),this},B.remove=function(){var b=z(this.node);if(!this.removed&&b.parentNode){var c=this.paper;c.__set__&&c.__set__.exclude(this),k.unbind("raphael.*.*."+this.id),this.gradient&&c.defs.removeChild(this.gradient),a._tear(this,c),b.parentNode.removeChild(b),this.removeData();for(var d in this)this[d]="function"==typeof this[d]?a._removedFactory(d):null;this.removed=!0}},B._getBBox=function(){if("none"==this.node.style.display){this.show();var a=!0}var b,c=!1;this.paper.canvas.parentElement?b=this.paper.canvas.parentElement.style:this.paper.canvas.parentNode&&(b=this.paper.canvas.parentNode.style),b&&"none"==b.display&&(c=!0,b.display="");var d={};try{d=this.node.getBBox()}catch(e){d={x:this.node.clientLeft,y:this.node.clientTop,width:this.node.clientWidth,height:this.node.clientHeight}}finally{d=d||{},c&&(b.display="none")}return a&&this.hide(),d},B.attr=function(c,d){if(this.removed)return this;if(null==c){var e={};for(var f in this.attrs)this.attrs[b](f)&&(e[f]=this.attrs[f]);return e.gradient&&"none"==e.fill&&(e.fill=e.gradient)&&delete e.gradient,e.transform=this._.transform,e}if(null==d&&a.is(c,"string")){if("fill"==c&&"none"==this.attrs.fill&&this.attrs.gradient)return this.attrs.gradient;if("transform"==c)return this._.transform;for(var g=c.split(j),h={},i=0,l=g.length;l>i;i++)c=g[i],c in this.attrs?h[c]=this.attrs[c]:a.is(this.paper.customAttributes[c],"function")?h[c]=this.paper.customAttributes[c].def:h[c]=a._availableAttrs[c];return l-1?h:h[g[0]]}if(null==d&&a.is(c,"array")){for(h={},i=0,l=c.length;l>i;i++)h[c[i]]=this.attr(c[i]);return h}if(null!=d){var m={};m[c]=d}else null!=c&&a.is(c,"object")&&(m=c);for(var n in m)k("raphael.attr."+n+"."+this.id,this,m[n]);for(n in this.paper.customAttributes)if(this.paper.customAttributes[b](n)&&m[b](n)&&a.is(this.paper.customAttributes[n],"function")){var o=this.paper.customAttributes[n].apply(this,[].concat(m[n]));this.attrs[n]=m[n];for(var p in o)o[b](p)&&(m[p]=o[p])}return w(this,m),this},B.toFront=function(){if(this.removed)return this;var b=z(this.node);b.parentNode.appendChild(b);var c=this.paper;return c.top!=this&&a._tofront(this,c),this},B.toBack=function(){if(this.removed)return this;var b=z(this.node),c=b.parentNode;c.insertBefore(b,c.firstChild),a._toback(this,this.paper);this.paper;return this},B.insertAfter=function(b){if(this.removed||!b)return this;var c=z(this.node),d=z(b.node||b[b.length-1].node);return d.nextSibling?d.parentNode.insertBefore(c,d.nextSibling):d.parentNode.appendChild(c),a._insertafter(this,b,this.paper),this},B.insertBefore=function(b){if(this.removed||!b)return this;var c=z(this.node),d=z(b.node||b[0].node);return d.parentNode.insertBefore(c,d),a._insertbefore(this,b,this.paper),this},B.blur=function(b){var c=this;if(0!==+b){var d=q("filter"),e=q("feGaussianBlur");c.attrs.blur=b,d.id=a.createUUID(),q(e,{stdDeviation:+b||1.5}),d.appendChild(e),c.paper.defs.appendChild(d),c._blur=d,q(c.node,{filter:"url(#"+d.id+")"})}else c._blur&&(c._blur.parentNode.removeChild(c._blur),delete c._blur,delete c.attrs.blur),c.node.removeAttribute("filter");return c},a._engine.circle=function(a,b,c,d){var e=q("circle");a.canvas&&a.canvas.appendChild(e);var f=new A(e,a);return f.attrs={cx:b,cy:c,r:d,fill:"none",stroke:"#000"},f.type="circle",q(e,f.attrs),f},a._engine.rect=function(a,b,c,d,e,f){var g=q("rect");a.canvas&&a.canvas.appendChild(g);var h=new A(g,a);return h.attrs={x:b,y:c,width:d,height:e,rx:f||0,ry:f||0,fill:"none",stroke:"#000"},h.type="rect",q(g,h.attrs),h},a._engine.ellipse=function(a,b,c,d,e){var f=q("ellipse");a.canvas&&a.canvas.appendChild(f);var g=new A(f,a);return g.attrs={cx:b,cy:c,rx:d,ry:e,fill:"none",stroke:"#000"},g.type="ellipse",q(f,g.attrs),g},a._engine.image=function(a,b,c,d,e,f){var g=q("image");q(g,{x:c,y:d,width:e,height:f,preserveAspectRatio:"none"}),g.setAttributeNS(n,"href",b),a.canvas&&a.canvas.appendChild(g);var h=new A(g,a);return h.attrs={x:c,y:d,width:e,height:f,src:b},h.type="image",h},a._engine.text=function(b,c,d,e){var f=q("text");b.canvas&&b.canvas.appendChild(f);var g=new A(f,b);return g.attrs={x:c,y:d,"text-anchor":"middle",text:e,"font-family":a._availableAttrs["font-family"],"font-size":a._availableAttrs["font-size"],stroke:"none",fill:"#000"},g.type="text",w(g,g.attrs),g},a._engine.setSize=function(a,b){return this.width=a||this.width,this.height=b||this.height,this.canvas.setAttribute("width",this.width),this.canvas.setAttribute("height",this.height),this._viewBox&&this.setViewBox.apply(this,this._viewBox),this},a._engine.create=function(){var b=a._getContainer.apply(0,arguments),c=b&&b.container,d=b.x,e=b.y,f=b.width,g=b.height;if(!c)throw new Error("SVG container not found.");var h,i=q("svg"),j="overflow:hidden;";return d=d||0,e=e||0,f=f||512,g=g||342,q(i,{height:g,version:1.1,width:f,xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"}),1==c?(i.style.cssText=j+"position:absolute;left:"+d+"px;top:"+e+"px",a._g.doc.body.appendChild(i),h=1):(i.style.cssText=j+"position:relative",c.firstChild?c.insertBefore(i,c.firstChild):c.appendChild(i)),c=new a._Paper,c.width=f,c.height=g,c.canvas=i,c.clear(),c._left=c._top=0,h&&(c.renderfix=function(){}),c.renderfix(),c},a._engine.setViewBox=function(a,b,c,d,e){k("raphael.setViewBox",this,this._viewBox,[a,b,c,d,e]);var f,h,i=this.getSize(),j=g(c/i.width,d/i.height),l=this.top,n=e?"xMidYMid meet":"xMinYMin";for(null==a?(this._vbSize&&(j=1),delete this._vbSize,f="0 0 "+this.width+m+this.height):(this._vbSize=j,f=a+m+b+m+c+m+d),q(this.canvas,{viewBox:f,preserveAspectRatio:n});j&&l;)h="stroke-width"in l.attrs?l.attrs["stroke-width"]:1,l.attr({"stroke-width":h}),l._.dirty=1,l._.dirtyT=1,l=l.prev;return this._viewBox=[a,b,c,d,!!e],this},a.prototype.renderfix=function(){var a,b=this.canvas,c=b.style;try{a=b.getScreenCTM()||b.createSVGMatrix()}catch(d){a=b.createSVGMatrix()}var e=-a.e%1,f=-a.f%1;(e||f)&&(e&&(this._left=(this._left+e)%1,c.left=this._left+"px"),f&&(this._top=(this._top+f)%1,c.top=this._top+"px"))},a.prototype.clear=function(){a.eve("raphael.clear",this);for(var b=this.canvas;b.firstChild;)b.removeChild(b.firstChild);this.bottom=this.top=null,(this.desc=q("desc")).appendChild(a._g.doc.createTextNode("Created with Raphaël "+a.version)),b.appendChild(this.desc),b.appendChild(this.defs=q("defs"))},a.prototype.remove=function(){k("raphael.remove",this),this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas);for(var b in this)this[b]="function"==typeof this[b]?a._removedFactory(b):null};var C=a.st;for(var D in B)B[b](D)&&!C[b](D)&&(C[D]=function(a){return function(){var b=arguments;return this.forEach(function(c){c[a].apply(c,b)})}}(D))}}),function(a,b){"function"==typeof define&&define.amd?define("raphael.vml",["raphael.core"],function(a){return b(a)}):b("object"==typeof exports?require("./raphael.core"):a.Raphael)}(this,function(a){if(!a||a.vml){var b="hasOwnProperty",c=String,d=parseFloat,e=Math,f=e.round,g=e.max,h=e.min,i=e.abs,j="fill",k=/[, ]+/,l=a.eve,m=" progid:DXImageTransform.Microsoft",n=" ",o="",p={M:"m",L:"l",C:"c",Z:"x",m:"t",l:"r",c:"v",z:"x"},q=/([clmz]),?([^clmz]*)/gi,r=/ progid:\S+Blur\([^\)]+\)/g,s=/-?[^,\s-]+/g,t="position:absolute;left:0;top:0;width:1px;height:1px;behavior:url(#default#VML)",u=21600,v={path:1,rect:1,image:1},w={circle:1,ellipse:1},x=function(b){var d=/[ahqstv]/gi,e=a._pathToAbsolute;if(c(b).match(d)&&(e=a._path2curve),d=/[clmz]/g,e==a._pathToAbsolute&&!c(b).match(d)){var g=c(b).replace(q,function(a,b,c){var d=[],e="m"==b.toLowerCase(),g=p[b];return c.replace(s,function(a){e&&2==d.length&&(g+=d+p["m"==b?"l":"L"],d=[]),d.push(f(a*u))}),g+d});return g}var h,i,j=e(b);g=[];for(var k=0,l=j.length;l>k;k++){h=j[k],i=j[k][0].toLowerCase(),"z"==i&&(i="x");for(var m=1,r=h.length;r>m;m++)i+=f(h[m]*u)+(m!=r-1?",":o);g.push(i)}return g.join(n)},y=function(b,c,d){var e=a.matrix();return e.rotate(-b,.5,.5),{dx:e.x(c,d),dy:e.y(c,d)}},z=function(a,b,c,d,e,f){var g=a._,h=a.matrix,k=g.fillpos,l=a.node,m=l.style,o=1,p="",q=u/b,r=u/c;if(m.visibility="hidden",b&&c){if(l.coordsize=i(q)+n+i(r),m.rotation=f*(0>b*c?-1:1),f){var s=y(f,d,e);d=s.dx,e=s.dy}if(0>b&&(p+="x"),0>c&&(p+=" y")&&(o=-1),m.flip=p,l.coordorigin=d*-q+n+e*-r,k||g.fillsize){var t=l.getElementsByTagName(j);t=t&&t[0],l.removeChild(t),k&&(s=y(f,h.x(k[0],k[1]),h.y(k[0],k[1])),t.position=s.dx*o+n+s.dy*o),g.fillsize&&(t.size=g.fillsize[0]*i(b)+n+g.fillsize[1]*i(c)),l.appendChild(t)}m.visibility="visible"}};a.toString=function(){return"Your browser doesn’t support SVG. Falling down to VML.\nYou are running Raphaël "+this.version};var A=function(a,b,d){for(var e=c(b).toLowerCase().split("-"),f=d?"end":"start",g=e.length,h="classic",i="medium",j="medium";g--;)switch(e[g]){case"block":case"classic":case"oval":case"diamond":case"open":case"none":h=e[g];break;case"wide":case"narrow":j=e[g];break;case"long":case"short":i=e[g]}var k=a.node.getElementsByTagName("stroke")[0];k[f+"arrow"]=h,k[f+"arrowlength"]=i,k[f+"arrowwidth"]=j},B=function(e,i){e.attrs=e.attrs||{};var l=e.node,m=e.attrs,p=l.style,q=v[e.type]&&(i.x!=m.x||i.y!=m.y||i.width!=m.width||i.height!=m.height||i.cx!=m.cx||i.cy!=m.cy||i.rx!=m.rx||i.ry!=m.ry||i.r!=m.r),r=w[e.type]&&(m.cx!=i.cx||m.cy!=i.cy||m.r!=i.r||m.rx!=i.rx||m.ry!=i.ry),s=e;for(var t in i)i[b](t)&&(m[t]=i[t]);if(q&&(m.path=a._getPath[e.type](e),e._.dirty=1),i.href&&(l.href=i.href),i.title&&(l.title=i.title),i.target&&(l.target=i.target),i.cursor&&(p.cursor=i.cursor),"blur"in i&&e.blur(i.blur),(i.path&&"path"==e.type||q)&&(l.path=x(~c(m.path).toLowerCase().indexOf("r")?a._pathToAbsolute(m.path):m.path),e._.dirty=1,"image"==e.type&&(e._.fillpos=[m.x,m.y],e._.fillsize=[m.width,m.height],z(e,1,1,0,0,0))),"transform"in i&&e.transform(i.transform),r){var y=+m.cx,B=+m.cy,D=+m.rx||+m.r||0,E=+m.ry||+m.r||0;l.path=a.format("ar{0},{1},{2},{3},{4},{1},{4},{1}x",f((y-D)*u),f((B-E)*u),f((y+D)*u),f((B+E)*u),f(y*u)),e._.dirty=1}if("clip-rect"in i){var G=c(i["clip-rect"]).split(k);if(4==G.length){G[2]=+G[2]+ +G[0],G[3]=+G[3]+ +G[1];var H=l.clipRect||a._g.doc.createElement("div"),I=H.style;I.clip=a.format("rect({1}px {2}px {3}px {0}px)",G),l.clipRect||(I.position="absolute",I.top=0,I.left=0,I.width=e.paper.width+"px",I.height=e.paper.height+"px",l.parentNode.insertBefore(H,l),H.appendChild(l),l.clipRect=H)}i["clip-rect"]||l.clipRect&&(l.clipRect.style.clip="auto")}if(e.textpath){var J=e.textpath.style;i.font&&(J.font=i.font),i["font-family"]&&(J.fontFamily='"'+i["font-family"].split(",")[0].replace(/^['"]+|['"]+$/g,o)+'"'),i["font-size"]&&(J.fontSize=i["font-size"]),i["font-weight"]&&(J.fontWeight=i["font-weight"]),i["font-style"]&&(J.fontStyle=i["font-style"])}if("arrow-start"in i&&A(s,i["arrow-start"]),"arrow-end"in i&&A(s,i["arrow-end"],1),null!=i.opacity||null!=i["stroke-width"]||null!=i.fill||null!=i.src||null!=i.stroke||null!=i["stroke-width"]||null!=i["stroke-opacity"]||null!=i["fill-opacity"]||null!=i["stroke-dasharray"]||null!=i["stroke-miterlimit"]||null!=i["stroke-linejoin"]||null!=i["stroke-linecap"]){var K=l.getElementsByTagName(j),L=!1;if(K=K&&K[0],!K&&(L=K=F(j)),"image"==e.type&&i.src&&(K.src=i.src),i.fill&&(K.on=!0),(null==K.on||"none"==i.fill||null===i.fill)&&(K.on=!1),K.on&&i.fill){var M=c(i.fill).match(a._ISURL);if(M){K.parentNode==l&&l.removeChild(K),K.rotate=!0,K.src=M[1],K.type="tile";var N=e.getBBox(1);K.position=N.x+n+N.y,e._.fillpos=[N.x,N.y],a._preload(M[1],function(){e._.fillsize=[this.offsetWidth,this.offsetHeight]})}else K.color=a.getRGB(i.fill).hex,K.src=o,K.type="solid",a.getRGB(i.fill).error&&(s.type in{circle:1,ellipse:1}||"r"!=c(i.fill).charAt())&&C(s,i.fill,K)&&(m.fill="none",m.gradient=i.fill,K.rotate=!1)}if("fill-opacity"in i||"opacity"in i){var O=((+m["fill-opacity"]+1||2)-1)*((+m.opacity+1||2)-1)*((+a.getRGB(i.fill).o+1||2)-1);O=h(g(O,0),1),K.opacity=O,K.src&&(K.color="none")}l.appendChild(K);var P=l.getElementsByTagName("stroke")&&l.getElementsByTagName("stroke")[0],Q=!1;!P&&(Q=P=F("stroke")),(i.stroke&&"none"!=i.stroke||i["stroke-width"]||null!=i["stroke-opacity"]||i["stroke-dasharray"]||i["stroke-miterlimit"]||i["stroke-linejoin"]||i["stroke-linecap"])&&(P.on=!0),("none"==i.stroke||null===i.stroke||null==P.on||0==i.stroke||0==i["stroke-width"])&&(P.on=!1);var R=a.getRGB(i.stroke);P.on&&i.stroke&&(P.color=R.hex),O=((+m["stroke-opacity"]+1||2)-1)*((+m.opacity+1||2)-1)*((+R.o+1||2)-1);var S=.75*(d(i["stroke-width"])||1);if(O=h(g(O,0),1),null==i["stroke-width"]&&(S=m["stroke-width"]),i["stroke-width"]&&(P.weight=S),S&&1>S&&(O*=S)&&(P.weight=1),P.opacity=O,i["stroke-linejoin"]&&(P.joinstyle=i["stroke-linejoin"]||"miter"),P.miterlimit=i["stroke-miterlimit"]||8,i["stroke-linecap"]&&(P.endcap="butt"==i["stroke-linecap"]?"flat":"square"==i["stroke-linecap"]?"square":"round"),"stroke-dasharray"in i){var T={"-":"shortdash",".":"shortdot","-.":"shortdashdot","-..":"shortdashdotdot",". ":"dot","- ":"dash","--":"longdash","- .":"dashdot","--.":"longdashdot","--..":"longdashdotdot"};P.dashstyle=T[b](i["stroke-dasharray"])?T[i["stroke-dasharray"]]:o}Q&&l.appendChild(P)}if("text"==s.type){s.paper.canvas.style.display=o;var U=s.paper.span,V=100,W=m.font&&m.font.match(/\d+(?:\.\d*)?(?=px)/);p=U.style,m.font&&(p.font=m.font),m["font-family"]&&(p.fontFamily=m["font-family"]),m["font-weight"]&&(p.fontWeight=m["font-weight"]),m["font-style"]&&(p.fontStyle=m["font-style"]),W=d(m["font-size"]||W&&W[0])||10,p.fontSize=W*V+"px",s.textpath.string&&(U.innerHTML=c(s.textpath.string).replace(/"));var X=U.getBoundingClientRect();s.W=m.w=(X.right-X.left)/V,s.H=m.h=(X.bottom-X.top)/V,s.X=m.x,s.Y=m.y+s.H/2,("x"in i||"y"in i)&&(s.path.v=a.format("m{0},{1}l{2},{1}",f(m.x*u),f(m.y*u),f(m.x*u)+1));for(var Y=["x","y","text","font","font-family","font-weight","font-style","font-size"],Z=0,$=Y.length;$>Z;Z++)if(Y[Z]in i){s._.dirty=1;break}switch(m["text-anchor"]){case"start":s.textpath.style["v-text-align"]="left",s.bbx=s.W/2;break;case"end":s.textpath.style["v-text-align"]="right",s.bbx=-s.W/2;break;default:s.textpath.style["v-text-align"]="center",s.bbx=0}s.textpath.style["v-text-kern"]=!0}},C=function(b,f,g){b.attrs=b.attrs||{};var h=(b.attrs,Math.pow),i="linear",j=".5 .5";if(b.attrs.gradient=f,f=c(f).replace(a._radial_gradient,function(a,b,c){return i="radial",b&&c&&(b=d(b),c=d(c),h(b-.5,2)+h(c-.5,2)>.25&&(c=e.sqrt(.25-h(b-.5,2))*(2*(c>.5)-1)+.5),j=b+n+c),o}),f=f.split(/\s*\-\s*/),"linear"==i){var k=f.shift();if(k=-d(k),isNaN(k))return null}var l=a._parseDots(f);if(!l)return null;if(b=b.shape||b.node,l.length){b.removeChild(g),g.on=!0,g.method="none",g.color=l[0].color,g.color2=l[l.length-1].color;for(var m=[],p=0,q=l.length;q>p;p++)l[p].offset&&m.push(l[p].offset+n+l[p].color);g.colors=m.length?m.join():"0% "+g.color,"radial"==i?(g.type="gradientTitle",g.focus="100%",g.focussize="0 0",g.focusposition=j,g.angle=0):(g.type="gradient",g.angle=(270-k)%360),b.appendChild(g)}return 1},D=function(b,c){this[0]=this.node=b,b.raphael=!0,this.id=a._oid++,b.raphaelid=this.id,this.X=0,this.Y=0,this.attrs={},this.paper=c,this.matrix=a.matrix(),this._={transform:[],sx:1,sy:1,dx:0,dy:0,deg:0,dirty:1,dirtyT:1},!c.bottom&&(c.bottom=this),this.prev=c.top,c.top&&(c.top.next=this),c.top=this,this.next=null},E=a.el;D.prototype=E,E.constructor=D,E.transform=function(b){if(null==b)return this._.transform;var d,e=this.paper._viewBoxShift,f=e?"s"+[e.scale,e.scale]+"-1-1t"+[e.dx,e.dy]:o;e&&(d=b=c(b).replace(/\.{3}|\u2026/g,this._.transform||o)),a._extractTransform(this,f+b);var g,h=this.matrix.clone(),i=this.skew,j=this.node,k=~c(this.attrs.fill).indexOf("-"),l=!c(this.attrs.fill).indexOf("url(");if(h.translate(1,1),l||k||"image"==this.type)if(i.matrix="1 0 0 1",i.offset="0 0",g=h.split(),k&&g.noRotation||!g.isSimple){j.style.filter=h.toFilter();var m=this.getBBox(),p=this.getBBox(1),q=m.x-p.x,r=m.y-p.y;j.coordorigin=q*-u+n+r*-u,z(this,1,1,q,r,0)}else j.style.filter=o,z(this,g.scalex,g.scaley,g.dx,g.dy,g.rotate);else j.style.filter=o,i.matrix=c(h),i.offset=h.offset();return null!==d&&(this._.transform=d,a._extractTransform(this,d)),this},E.rotate=function(a,b,e){if(this.removed)return this;if(null!=a){if(a=c(a).split(k),a.length-1&&(b=d(a[1]),e=d(a[2])),a=d(a[0]),null==e&&(b=e),null==b||null==e){var f=this.getBBox(1);b=f.x+f.width/2,e=f.y+f.height/2}return this._.dirtyT=1,this.transform(this._.transform.concat([["r",a,b,e]])),this}},E.translate=function(a,b){return this.removed?this:(a=c(a).split(k),a.length-1&&(b=d(a[1])),a=d(a[0])||0,b=+b||0,this._.bbox&&(this._.bbox.x+=a,this._.bbox.y+=b),this.transform(this._.transform.concat([["t",a,b]])),this)},E.scale=function(a,b,e,f){if(this.removed)return this;if(a=c(a).split(k),a.length-1&&(b=d(a[1]),e=d(a[2]),f=d(a[3]),isNaN(e)&&(e=null),isNaN(f)&&(f=null)),a=d(a[0]),null==b&&(b=a),null==f&&(e=f),null==e||null==f)var g=this.getBBox(1);return e=null==e?g.x+g.width/2:e,f=null==f?g.y+g.height/2:f,this.transform(this._.transform.concat([["s",a,b,e,f]])),this._.dirtyT=1,this},E.hide=function(){return!this.removed&&(this.node.style.display="none"),this},E.show=function(){return!this.removed&&(this.node.style.display=o),this},E.auxGetBBox=a.el.getBBox,E.getBBox=function(){var a=this.auxGetBBox();if(this.paper&&this.paper._viewBoxShift){var b={},c=1/this.paper._viewBoxShift.scale;return b.x=a.x-this.paper._viewBoxShift.dx,b.x*=c,b.y=a.y-this.paper._viewBoxShift.dy,b.y*=c,b.width=a.width*c,b.height=a.height*c,b.x2=b.x+b.width,b.y2=b.y+b.height,b}return a},E._getBBox=function(){return this.removed?{}:{x:this.X+(this.bbx||0)-this.W/2,y:this.Y-this.H,width:this.W,height:this.H}},E.remove=function(){if(!this.removed&&this.node.parentNode){this.paper.__set__&&this.paper.__set__.exclude(this),a.eve.unbind("raphael.*.*."+this.id),a._tear(this,this.paper),this.node.parentNode.removeChild(this.node),this.shape&&this.shape.parentNode.removeChild(this.shape);for(var b in this)this[b]="function"==typeof this[b]?a._removedFactory(b):null;this.removed=!0}},E.attr=function(c,d){if(this.removed)return this;if(null==c){var e={};for(var f in this.attrs)this.attrs[b](f)&&(e[f]=this.attrs[f]);return e.gradient&&"none"==e.fill&&(e.fill=e.gradient)&&delete e.gradient,e.transform=this._.transform,e}if(null==d&&a.is(c,"string")){if(c==j&&"none"==this.attrs.fill&&this.attrs.gradient)return this.attrs.gradient;for(var g=c.split(k),h={},i=0,m=g.length;m>i;i++)c=g[i],c in this.attrs?h[c]=this.attrs[c]:a.is(this.paper.customAttributes[c],"function")?h[c]=this.paper.customAttributes[c].def:h[c]=a._availableAttrs[c];return m-1?h:h[g[0]]}if(this.attrs&&null==d&&a.is(c,"array")){for(h={},i=0,m=c.length;m>i;i++)h[c[i]]=this.attr(c[i]);return h}var n;null!=d&&(n={},n[c]=d),null==d&&a.is(c,"object")&&(n=c);for(var o in n)l("raphael.attr."+o+"."+this.id,this,n[o]);if(n){for(o in this.paper.customAttributes)if(this.paper.customAttributes[b](o)&&n[b](o)&&a.is(this.paper.customAttributes[o],"function")){var p=this.paper.customAttributes[o].apply(this,[].concat(n[o]));this.attrs[o]=n[o];for(var q in p)p[b](q)&&(n[q]=p[q])}n.text&&"text"==this.type&&(this.textpath.string=n.text),B(this,n)}return this},E.toFront=function(){return!this.removed&&this.node.parentNode.appendChild(this.node),this.paper&&this.paper.top!=this&&a._tofront(this,this.paper),this},E.toBack=function(){return this.removed?this:(this.node.parentNode.firstChild!=this.node&&(this.node.parentNode.insertBefore(this.node,this.node.parentNode.firstChild),a._toback(this,this.paper)),this)},E.insertAfter=function(b){return this.removed?this:(b.constructor==a.st.constructor&&(b=b[b.length-1]),b.node.nextSibling?b.node.parentNode.insertBefore(this.node,b.node.nextSibling):b.node.parentNode.appendChild(this.node),a._insertafter(this,b,this.paper),this)},E.insertBefore=function(b){return this.removed?this:(b.constructor==a.st.constructor&&(b=b[0]),b.node.parentNode.insertBefore(this.node,b.node),a._insertbefore(this,b,this.paper),this)},E.blur=function(b){var c=this.node.runtimeStyle,d=c.filter;return d=d.replace(r,o),0!==+b?(this.attrs.blur=b,c.filter=d+n+m+".Blur(pixelradius="+(+b||1.5)+")",c.margin=a.format("-{0}px 0 0 -{0}px",f(+b||1.5))):(c.filter=d,c.margin=0,delete this.attrs.blur),this},a._engine.path=function(a,b){var c=F("shape");c.style.cssText=t,c.coordsize=u+n+u,c.coordorigin=b.coordorigin;var d=new D(c,b),e={fill:"none",stroke:"#000"};a&&(e.path=a),d.type="path",d.path=[],d.Path=o,B(d,e),b.canvas.appendChild(c);var f=F("skew");return f.on=!0,c.appendChild(f),d.skew=f,d.transform(o),d},a._engine.rect=function(b,c,d,e,f,g){var h=a._rectPath(c,d,e,f,g),i=b.path(h),j=i.attrs;return i.X=j.x=c,i.Y=j.y=d,i.W=j.width=e,i.H=j.height=f,j.r=g,j.path=h,i.type="rect",i},a._engine.ellipse=function(a,b,c,d,e){{var f=a.path();f.attrs}return f.X=b-d,f.Y=c-e,f.W=2*d,f.H=2*e,f.type="ellipse",B(f,{cx:b,cy:c,rx:d,ry:e}),f},a._engine.circle=function(a,b,c,d){{var e=a.path();e.attrs}return e.X=b-d,e.Y=c-d,e.W=e.H=2*d,e.type="circle",B(e,{cx:b,cy:c,r:d}),e},a._engine.image=function(b,c,d,e,f,g){var h=a._rectPath(d,e,f,g),i=b.path(h).attr({stroke:"none"}),k=i.attrs,l=i.node,m=l.getElementsByTagName(j)[0];return k.src=c,i.X=k.x=d,i.Y=k.y=e,i.W=k.width=f,i.H=k.height=g,k.path=h,i.type="image",m.parentNode==l&&l.removeChild(m),m.rotate=!0,m.src=c,m.type="tile",i._.fillpos=[d,e],i._.fillsize=[f,g],l.appendChild(m),z(i,1,1,0,0,0),i},a._engine.text=function(b,d,e,g){var h=F("shape"),i=F("path"),j=F("textpath");d=d||0,e=e||0,g=g||"",i.v=a.format("m{0},{1}l{2},{1}",f(d*u),f(e*u),f(d*u)+1),i.textpathok=!0,j.string=c(g),j.on=!0,h.style.cssText=t,h.coordsize=u+n+u,h.coordorigin="0 0";var k=new D(h,b),l={fill:"#000",stroke:"none",font:a._availableAttrs.font,text:g};k.shape=h,k.path=i,k.textpath=j,k.type="text",k.attrs.text=c(g),k.attrs.x=d,k.attrs.y=e,k.attrs.w=1,k.attrs.h=1,B(k,l),h.appendChild(j),h.appendChild(i),b.canvas.appendChild(h);var m=F("skew");return m.on=!0,h.appendChild(m),k.skew=m,k.transform(o),k},a._engine.setSize=function(b,c){var d=this.canvas.style;return this.width=b,this.height=c,b==+b&&(b+="px"),c==+c&&(c+="px"),d.width=b,d.height=c,d.clip="rect(0 "+b+" "+c+" 0)",this._viewBox&&a._engine.setViewBox.apply(this,this._viewBox),this},a._engine.setViewBox=function(b,c,d,e,f){a.eve("raphael.setViewBox",this,this._viewBox,[b,c,d,e,f]);var g,h,i=this.getSize(),j=i.width,k=i.height;return f&&(g=k/e,h=j/d,j>d*g&&(b-=(j-d*g)/2/g),k>e*h&&(c-=(k-e*h)/2/h)),this._viewBox=[b,c,d,e,!!f],this._viewBoxShift={dx:-b,dy:-c,scale:i},this.forEach(function(a){a.transform("...")}),this};var F;a._engine.initWin=function(a){var b=a.document;b.styleSheets.length<31?b.createStyleSheet().addRule(".rvml","behavior:url(#default#VML)"):b.styleSheets[0].addRule(".rvml","behavior:url(#default#VML)");try{!b.namespaces.rvml&&b.namespaces.add("rvml","urn:schemas-microsoft-com:vml"),F=function(a){return b.createElement("')}}catch(c){F=function(a){return b.createElement("<"+a+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}},a._engine.initWin(a._g.win),a._engine.create=function(){var b=a._getContainer.apply(0,arguments),c=b.container,d=b.height,e=b.width,f=b.x,g=b.y;if(!c)throw new Error("VML container not found.");var h=new a._Paper,i=h.canvas=a._g.doc.createElement("div"),j=i.style;return f=f||0,g=g||0,e=e||512,d=d||342,h.width=e,h.height=d,e==+e&&(e+="px"),d==+d&&(d+="px"),h.coordsize=1e3*u+n+1e3*u,h.coordorigin="0 0",h.span=a._g.doc.createElement("span"),h.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;",i.appendChild(h.span),j.cssText=a.format("top:0;left:0;width:{0};height:{1};display:inline-block;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden",e,d),1==c?(a._g.doc.body.appendChild(i),j.left=f+"px",j.top=g+"px",j.position="absolute"):c.firstChild?c.insertBefore(i,c.firstChild):c.appendChild(i),h.renderfix=function(){},h},a.prototype.clear=function(){a.eve("raphael.clear",this),this.canvas.innerHTML=o,this.span=a._g.doc.createElement("span"),this.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;",this.canvas.appendChild(this.span),this.bottom=this.top=null},a.prototype.remove=function(){a.eve("raphael.remove",this),this.canvas.parentNode.removeChild(this.canvas);for(var b in this)this[b]="function"==typeof this[b]?a._removedFactory(b):null;return!0};var G=a.st;for(var H in E)E[b](H)&&!G[b](H)&&(G[H]=function(a){return function(){var b=arguments;return this.forEach(function(c){c[a].apply(c,b)})}}(H))}}); \ No newline at end of file diff --git a/examples/SmartSwitch/data_src/js_css_src/mode-css.js b/examples/SmartSwitch/data_src/js_css_src/mode-css.js new file mode 100644 index 0000000..b41ecdc --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/mode-css.js @@ -0,0 +1 @@ +define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|min-height|min-width|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),define("ace/mode/css_completions",["require","exports","module"],function(e,t,n){"use strict";var r={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,"double":2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{"default":1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},"float":{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,"static":1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},i=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var e=document.createElement("c").style;for(var t in e){if(typeof e[t]!="string")continue;var n=t.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()});r.hasOwnProperty(n)||(r[n]=1)}}this.completionsDefined=!0},this.getCompletions=function(e,t,n,r){this.completionsDefined||this.defineCompletions();var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(e==="ruleset"){var s=t.getLine(n.row).substr(0,n.column);return/:[^;]+$/.test(s)?(/([\w\-]+):[^:]*$/.test(s),this.getPropertyValueCompletions(e,t,n,r)):this.getPropertyCompletions(e,t,n,r)}return[]},this.getPropertyCompletions=function(e,t,n,i){var s=Object.keys(r);return s.map(function(e){return{caption:e,snippet:e+": $0",meta:"property",score:Number.MAX_VALUE}})},this.getPropertyValueCompletions=function(e,t,n,i){var s=t.getLine(n.row).substr(0,n.column),o=(/([\w\-]+):[^:]*$/.exec(s)||{})[1];if(!o)return[];var u=[];return o in r&&typeof r[o]=="object"&&(u=Object.keys(r[o])),u.map(function(e){return{caption:e,snippet:e,meta:"property value",score:Number.MAX_VALUE}})}}).call(i.prototype),t.CssCompletions=i}),define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++no)return new i(o,r,l,t.length)}}.call(o.prototype)}),define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./css_highlight_rules").CssHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../worker/worker_client").WorkerClient,a=e("./css_completions").CssCompletions,f=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.$completer=new a,this.foldingRules=new l};r.inherits(c,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){var t=new u(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(c.prototype),t.Mode=c}) \ No newline at end of file diff --git a/examples/SmartSwitch/data_src/js_css_src/mode-html.js b/examples/SmartSwitch/data_src/js_css_src/mode-html.js new file mode 100644 index 0000000..faee447 --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/mode-html.js @@ -0,0 +1 @@ +define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||e.jsx!=0)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++no)return new i(o,r,l,t.length)}}.call(o.prototype)}),define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../worker/worker_client").WorkerClient,a=e("./behaviour/cstyle").CstyleBehaviour,f=e("./folding/cstyle").FoldMode,l=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new a,this.foldingRules=new f};r.inherits(l,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new u(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(l.prototype),t.Mode=l}),define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|min-height|min-width|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero",f=t.supportConstantColor="aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow",l=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"@.*?{",push:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{token:"comment",regex:"\\/\\*",push:"comment"},{token:"paren.lparen",regex:"\\{",push:"ruleset"},{token:"string",regex:"\\}",next:"pop"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}],ruleset:[{token:"paren.rparen",regex:"\\}",next:"pop"},{token:"comment",regex:"\\/\\*",push:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),define("ace/mode/css_completions",["require","exports","module"],function(e,t,n){"use strict";var r={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,"double":2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{"default":1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},"float":{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,"static":1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},i=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var e=document.createElement("c").style;for(var t in e){if(typeof e[t]!="string")continue;var n=t.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()});r.hasOwnProperty(n)||(r[n]=1)}}this.completionsDefined=!0},this.getCompletions=function(e,t,n,r){this.completionsDefined||this.defineCompletions();var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(e==="ruleset"){var s=t.getLine(n.row).substr(0,n.column);return/:[^;]+$/.test(s)?(/([\w\-]+):[^:]*$/.test(s),this.getPropertyValueCompletions(e,t,n,r)):this.getPropertyCompletions(e,t,n,r)}return[]},this.getPropertyCompletions=function(e,t,n,i){var s=Object.keys(r);return s.map(function(e){return{caption:e,snippet:e+": $0",meta:"property",score:Number.MAX_VALUE}})},this.getPropertyValueCompletions=function(e,t,n,i){var s=t.getLine(n.row).substr(0,n.column),o=(/([\w\-]+):[^:]*$/.exec(s)||{})[1];if(!o)return[];var u=[];return o in r&&typeof r[o]=="object"&&(u=Object.keys(r[o])),u.map(function(e){return{caption:e,snippet:e,meta:"property value",score:Number.MAX_VALUE}})}}).call(i.prototype),t.CssCompletions=i}),define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(!f.substring(s.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}})};r.inherits(u,s),t.CssBehaviour=u}),define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./css_highlight_rules").CssHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../worker/worker_client").WorkerClient,a=e("./css_completions").CssCompletions,f=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.$completer=new a,this.foldingRules=new l};r.inherits(c,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){var t=new u(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(c.prototype),t.Mode=c}),define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(e){var t="[_:a-zA-Z\u00c0-\uffff][-_:.a-zA-Z0-9\u00c0-\uffff]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.xml-decl.xml","keyword.xml-decl.xml"],regex:"(<\\?)(xml)(?=[\\s])",next:"xml_decl",caseInsensitive:!0},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+t+")",next:"processing_instruction"},{token:"comment.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"",next:"start"}],processing_instruction:[{token:"punctuation.instruction.xml",regex:"\\?>",next:"start"},{defaultToken:"instruction.xml"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:"(?:"+t+":)?"+t+""},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===s&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(s,i),t.XmlHighlightRules=s}),define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation."+(e=="<"?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules((new o({jsx:!1})).getRules(),"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";function u(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),a=function(){this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var o=i,a=r.doc.getTextRange(n.getSelectionRange());if(a!==""&&a!=="'"&&a!='"'&&n.getWrapBehavioursEnabled())return{text:o+a+o,selection:!1};var f=n.getCursorPosition(),l=r.doc.getLine(f.row),c=l.substring(f.column,f.column+1),h=new s(r,f.row,f.column),p=h.getCurrentToken();if(c==o&&(u(p,"attribute-value")||u(p,"string")))return{text:"",selection:[1,1]};p||(p=h.stepBackward());if(!p)return;while(u(p,"tag-whitespace")||u(p,"whitespace"))p=h.stepBackward();var d=!c||c.match(/\s/);if(u(p,"attribute-equals")&&(d||c==">")||u(p,"decl-attribute-equals")&&(d||c=="?"))return{text:o+o,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}}),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var o=n.getSelectionRange().start,a=new s(r,o.row,o.column),f=a.getCurrentToken()||a.stepBackward();if(!f||!(u(f,"tag-name")||u(f,"tag-whitespace")||u(f,"attribute-name")||u(f,"attribute-equals")||u(f,"attribute-value")))return;if(u(f,"reference.attribute-value"))return;if(u(f,"attribute-value")){var l=f.value.charAt(0);if(l=='"'||l=="'"){var c=f.value.charAt(f.value.length-1),h=a.getCurrentTokenColumn()+f.value.length;if(h>o.column||h==o.column&&l!=c)return}}while(!u(f,"tag-name")){f=a.stepBackward();if(f.value=="<"){f=a.stepForward();break}}var p=a.getCurrentTokenRow(),d=a.getCurrentTokenColumn();if(u(a.stepBackward(),"end-tag-open"))return;var v=f.value;p==o.row&&(v=v.substring(0,o.column-d));if(this.voidElements.hasOwnProperty(v.toLowerCase()))return;return{text:">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var o=n.getCursorPosition(),u=r.getLine(o.row),a=new s(r,o.row,o.column),f=a.getCurrentToken();if(f&&f.type.indexOf("tag-close")!==-1){if(f.value=="/>")return;while(f&&f.type.indexOf("tag-name")===-1)f=a.stepBackward();if(!f)return;var l=f.value,c=a.getCurrentTokenRow();f=a.stepBackward();if(!f||f.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[l]){var h=r.getTokenAt(o.row,o.column+1),u=r.getLine(c),p=this.$getIndent(u),d=p+r.getTabString();return h&&h.value==="-1}var r=e("../../lib/oop"),i=e("../../lib/lang"),s=e("../../range").Range,o=e("./fold_mode").FoldMode,u=e("../../token_iterator").TokenIterator,a=t.FoldMode=function(e,t){o.call(this),this.voidElements=e||{},this.optionalEndTags=r.mixin({},this.voidElements),t&&r.mixin(this.optionalEndTags,t)};r.inherits(a,o);var f=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(e,t,n){var r=this._getFirstTagInLine(e,n);return r?r.closing||!r.tagName&&r.selfClosing?t=="markbeginend"?"end":"":!r.tagName||r.selfClosing||this.voidElements.hasOwnProperty(r.tagName.toLowerCase())?"":this._findEndTagInLine(e,n,r.tagName,r.end.column)?"":"start":""},this._getFirstTagInLine=function(e,t){var n=e.getTokens(t),r=new f;for(var i=0;i";break}}return r}if(l(s,"tag-close"))return r.selfClosing=s.value=="/>",r;r.start.column+=s.value.length}return null},this._findEndTagInLine=function(e,t,n,r){var i=e.getTokens(t),s=0;for(var o=0;o",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length,e.stepForward(),n;while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do{if(l(t,"tag-open"))return n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn(),e.stepBackward(),n;l(t,"tag-name")?n.tagName=t.value:l(t,"tag-close")&&(n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length)}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.optionalEndTags.hasOwnProperty(n.tagName)){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r)return null;var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.start.column),l={row:n,column:r.start.column+r.tagName.length+2};r.start.row==r.end.row&&(l.column=r.end.column);while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.end.column),c={row:n,column:r.start.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,a.start.row==a.end.row&&a.start.column-1}function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"tag-name"))i=n.stepBackward();if(i)return i.value}function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"attribute-name"))i=n.stepBackward();if(i)return i.value}var r=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","inert","itemid","itemprop","itemref","itemscope","itemtype","lang","spellcheck","style","tabindex","title","translate"],s=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],o=i.concat(s),u={html:{manifest:1},head:{},title:{},base:{href:1,target:1},link:{href:1,hreflang:1,rel:{stylesheet:1,icon:1},media:{all:1,screen:1,print:1},type:{"text/css":1,"image/png":1,"image/jpeg":1,"image/gif":1},sizes:1},meta:{"http-equiv":{"content-type":1},name:{description:1,keywords:1},content:{"text/html; charset=UTF-8":1},charset:1},style:{type:1,media:{all:1,screen:1,print:1},scoped:1},script:{charset:1,type:{"text/javascript":1},src:1,defer:1,async:1},noscript:{href:1},body:{onafterprint:1,onbeforeprint:1,onbeforeunload:1,onhashchange:1,onmessage:1,onoffline:1,onpopstate:1,onredo:1,onresize:1,onstorage:1,onundo:1,onunload:1},section:{},nav:{},article:{pubdate:1},aside:{},h1:{},h2:{},h3:{},h4:{},h5:{},h6:{},header:{},footer:{},address:{},main:{},p:{},hr:{},pre:{},blockquote:{cite:1},ol:{start:1,reversed:1},ul:{},li:{value:1},dl:{},dt:{},dd:{},figure:{},figcaption:{},div:{},a:{href:1,target:{_blank:1,top:1},ping:1,rel:{nofollow:1,alternate:1,author:1,bookmark:1,help:1,license:1,next:1,noreferrer:1,prefetch:1,prev:1,search:1,tag:1},media:1,hreflang:1,type:1},em:{},strong:{},small:{},s:{},cite:{},q:{cite:1},dfn:{},abbr:{},data:{},time:{datetime:1},code:{},"var":{},samp:{},kbd:{},sub:{},sup:{},i:{},b:{},u:{},mark:{},ruby:{},rt:{},rp:{},bdi:{},bdo:{},span:{},br:{},wbr:{},ins:{cite:1,datetime:1},del:{cite:1,datetime:1},img:{alt:1,src:1,height:1,width:1,usemap:1,ismap:1},iframe:{name:1,src:1,height:1,width:1,sandbox:{"allow-same-origin":1,"allow-top-navigation":1,"allow-forms":1,"allow-scripts":1},seamless:{seamless:1}},embed:{src:1,height:1,width:1,type:1},object:{param:1,data:1,type:1,height:1,width:1,usemap:1,name:1,form:1,classid:1},param:{name:1,value:1},video:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},width:1,height:1,poster:1,muted:{muted:1},preload:{auto:1,metadata:1,none:1}},audio:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},muted:{muted:1},preload:{auto:1,metadata:1,none:1}},source:{src:1,type:1,media:1},track:{kind:1,src:1,srclang:1,label:1,"default":1},canvas:{width:1,height:1},map:{name:1},area:{shape:1,coords:1,href:1,hreflang:1,alt:1,target:1,media:1,rel:1,ping:1,type:1},svg:{},math:{},table:{summary:1},caption:{},colgroup:{span:1},col:{span:1},tbody:{},thead:{},tfoot:{},tr:{},td:{headers:1,rowspan:1,colspan:1},th:{headers:1,rowspan:1,colspan:1,scope:1},form:{"accept-charset":1,action:1,autocomplete:1,enctype:{"multipart/form-data":1,"application/x-www-form-urlencoded":1},method:{get:1,post:1},name:1,novalidate:1,target:{_blank:1,top:1}},fieldset:{disabled:1,form:1,name:1},legend:{},label:{form:1,"for":1},input:{type:{text:1,password:1,hidden:1,checkbox:1,submit:1,radio:1,file:1,button:1,reset:1,image:31,color:1,date:1,datetime:1,"datetime-local":1,email:1,month:1,number:1,range:1,search:1,tel:1,time:1,url:1,week:1},accept:1,alt:1,autocomplete:{on:1,off:1},autofocus:{autofocus:1},checked:{checked:1},disabled:{disabled:1},form:1,formaction:1,formenctype:{"application/x-www-form-urlencoded":1,"multipart/form-data":1,"text/plain":1},formmethod:{get:1,post:1},formnovalidate:{formnovalidate:1},formtarget:{_blank:1,_self:1,_parent:1,_top:1},height:1,list:1,max:1,maxlength:1,min:1,multiple:{multiple:1},name:1,pattern:1,placeholder:1,readonly:{readonly:1},required:{required:1},size:1,src:1,step:1,width:1,files:1,value:1},button:{autofocus:1,disabled:{disabled:1},form:1,formaction:1,formenctype:1,formmethod:1,formnovalidate:1,formtarget:1,name:1,value:1,type:{button:1,submit:1}},select:{autofocus:1,disabled:1,form:1,multiple:{multiple:1},name:1,size:1,readonly:{readonly:1}},datalist:{},optgroup:{disabled:1,label:1},option:{disabled:1,selected:1,label:1,value:1},textarea:{autofocus:{autofocus:1},disabled:{disabled:1},form:1,maxlength:1,name:1,placeholder:1,readonly:{readonly:1},required:{required:1},rows:1,cols:1,wrap:{on:1,off:1,hard:1,soft:1}},keygen:{autofocus:1,challenge:{challenge:1},disabled:{disabled:1},form:1,keytype:{rsa:1,dsa:1,ec:1},name:1},output:{"for":1,form:1,name:1},progress:{value:1,max:1},meter:{value:1,min:1,max:1,low:1,high:1,optimum:1},details:{open:1},summary:{},command:{type:1,label:1,icon:1,disabled:1,checked:1,radiogroup:1,command:1},menu:{type:1,label:1},dialog:{open:1}},a=Object.keys(u),h=function(){};(function(){this.getCompletions=function(e,t,n,r){var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(f(i,"tag-name")||f(i,"tag-open")||f(i,"end-tag-open"))return this.getTagCompletions(e,t,n,r);if(f(i,"tag-whitespace")||f(i,"attribute-name"))return this.getAttributeCompletions(e,t,n,r);if(f(i,"attribute-value"))return this.getAttributeValueCompletions(e,t,n,r);var s=t.getLine(n.row).substr(0,n.column);return/&[a-z]*$/i.test(s)?this.getHTMLEntityCompletions(e,t,n,r):[]},this.getTagCompletions=function(e,t,n,r){return a.map(function(e){return{value:e,meta:"tag",score:Number.MAX_VALUE}})},this.getAttributeCompletions=function(e,t,n,r){var i=l(t,n);if(!i)return[];var s=o;return i in u&&(s=s.concat(Object.keys(u[i]))),s.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute",score:Number.MAX_VALUE}})},this.getAttributeValueCompletions=function(e,t,n,r){var i=l(t,n),s=c(t,n);if(!i)return[];var o=[];return i in u&&s in u[i]&&typeof u[i][s]=="object"&&(o=Object.keys(u[i][s])),o.map(function(e){return{caption:e,snippet:e,meta:"attribute value",score:Number.MAX_VALUE}})},this.getHTMLEntityCompletions=function(e,t,n,r){var i=["Aacute;","aacute;","Acirc;","acirc;","acute;","AElig;","aelig;","Agrave;","agrave;","alefsym;","Alpha;","alpha;","amp;","and;","ang;","Aring;","aring;","asymp;","Atilde;","atilde;","Auml;","auml;","bdquo;","Beta;","beta;","brvbar;","bull;","cap;","Ccedil;","ccedil;","cedil;","cent;","Chi;","chi;","circ;","clubs;","cong;","copy;","crarr;","cup;","curren;","Dagger;","dagger;","dArr;","darr;","deg;","Delta;","delta;","diams;","divide;","Eacute;","eacute;","Ecirc;","ecirc;","Egrave;","egrave;","empty;","emsp;","ensp;","Epsilon;","epsilon;","equiv;","Eta;","eta;","ETH;","eth;","Euml;","euml;","euro;","exist;","fnof;","forall;","frac12;","frac14;","frac34;","frasl;","Gamma;","gamma;","ge;","gt;","hArr;","harr;","hearts;","hellip;","Iacute;","iacute;","Icirc;","icirc;","iexcl;","Igrave;","igrave;","image;","infin;","int;","Iota;","iota;","iquest;","isin;","Iuml;","iuml;","Kappa;","kappa;","Lambda;","lambda;","lang;","laquo;","lArr;","larr;","lceil;","ldquo;","le;","lfloor;","lowast;","loz;","lrm;","lsaquo;","lsquo;","lt;","macr;","mdash;","micro;","middot;","minus;","Mu;","mu;","nabla;","nbsp;","ndash;","ne;","ni;","not;","notin;","nsub;","Ntilde;","ntilde;","Nu;","nu;","Oacute;","oacute;","Ocirc;","ocirc;","OElig;","oelig;","Ograve;","ograve;","oline;","Omega;","omega;","Omicron;","omicron;","oplus;","or;","ordf;","ordm;","Oslash;","oslash;","Otilde;","otilde;","otimes;","Ouml;","ouml;","para;","part;","permil;","perp;","Phi;","phi;","Pi;","pi;","piv;","plusmn;","pound;","Prime;","prime;","prod;","prop;","Psi;","psi;","quot;","radic;","rang;","raquo;","rArr;","rarr;","rceil;","rdquo;","real;","reg;","rfloor;","Rho;","rho;","rlm;","rsaquo;","rsquo;","sbquo;","Scaron;","scaron;","sdot;","sect;","shy;","Sigma;","sigma;","sigmaf;","sim;","spades;","sub;","sube;","sum;","sup;","sup1;","sup2;","sup3;","supe;","szlig;","Tau;","tau;","there4;","Theta;","theta;","thetasym;","thinsp;","THORN;","thorn;","tilde;","times;","trade;","Uacute;","uacute;","uArr;","uarr;","Ucirc;","ucirc;","Ugrave;","ugrave;","uml;","upsih;","Upsilon;","upsilon;","Uuml;","uuml;","weierp;","Xi;","xi;","Yacute;","yacute;","yen;","Yuml;","yuml;","Zeta;","zeta;","zwj;","zwnj;"];return i.map(function(e){return{caption:e,snippet:e,meta:"html entity",score:Number.MAX_VALUE}})}}).call(h.prototype),t.HtmlCompletions=h}),define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/worker_client"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text").Mode,o=e("./javascript").Mode,u=e("./css").Mode,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./behaviour/xml").XmlBehaviour,l=e("./folding/html").FoldMode,c=e("./html_completions").HtmlCompletions,h=e("../worker/worker_client").WorkerClient,p=["area","base","br","col","embed","hr","img","input","keygen","link","meta","menuitem","param","source","track","wbr"],d=["li","dt","dd","p","rt","rp","optgroup","option","colgroup","td","th"],v=function(e){this.fragmentContext=e&&e.fragmentContext,this.HighlightRules=a,this.$behaviour=new f,this.$completer=new c,this.createModeDelegates({"js-":o,"css-":u}),this.foldingRules=new l(this.voidElements,i.arrayToMap(d))};r.inherits(v,s),function(){this.blockComment={start:""},this.voidElements=i.arrayToMap(p),this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){if(this.constructor!=v)return;var t=new h(["ace"],"ace/mode/html_worker","Worker");return t.attachToDocument(e.getDocument()),this.fragmentContext&&t.call("setOptions",[{context:this.fragmentContext}]),t.on("error",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/html"}.call(v.prototype),t.Mode=v}) \ No newline at end of file diff --git a/examples/SmartSwitch/data_src/js_css_src/mode-javascript.js b/examples/SmartSwitch/data_src/js_css_src/mode-javascript.js new file mode 100644 index 0000000..6bad9f6 --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/mode-javascript.js @@ -0,0 +1 @@ +ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||e.jsx!=0)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++tf)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++no)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../worker/worker_client").WorkerClient,a=e("./behaviour/cstyle").CstyleBehaviour,f=e("./folding/cstyle").FoldMode,l=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new a,this.foldingRules=new f};r.inherits(l,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new u(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(l.prototype),t.Mode=l}) \ No newline at end of file diff --git a/examples/SmartSwitch/data_src/js_css_src/styled-notifications/.babelrc b/examples/SmartSwitch/data_src/js_css_src/styled-notifications/.babelrc new file mode 100644 index 0000000..377ca70 --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/styled-notifications/.babelrc @@ -0,0 +1,3 @@ +{ + "presets": ["es2015"] +} \ No newline at end of file diff --git a/examples/SmartSwitch/data_src/js_css_src/styled-notifications/.eslintrc.js b/examples/SmartSwitch/data_src/js_css_src/styled-notifications/.eslintrc.js new file mode 100644 index 0000000..5bebe58 --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/styled-notifications/.eslintrc.js @@ -0,0 +1,31 @@ +module.exports = { + "env": { + "browser": true, + "commonjs": true, + "es6": true + }, + "extends": "eslint:recommended", + "parserOptions": { + "sourceType": "module" + }, + "rules": { + "indent": [ + "error", + "tab" + ], + "linebreak-style": [ + "error", + "windows" + ], + "quotes": [ + "error", + "single" + ], + "semi": [ + "error", + "always" + ], + "no-console": 0, + "no-undef": 0 + } +}; \ No newline at end of file diff --git a/examples/SmartSwitch/data_src/js_css_src/styled-notifications/.gitignore b/examples/SmartSwitch/data_src/js_css_src/styled-notifications/.gitignore new file mode 100644 index 0000000..f949f35 --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/styled-notifications/.gitignore @@ -0,0 +1,30 @@ +# IDE files +.idea/ +.DS_Store + +# Build directories +build/ + +# Dependency directories +node_modules/ +jspm_packages/ + +# Lock files +yarn.lock +package-lock.json + +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Yarn Integrity file +.yarn-integrity diff --git a/examples/SmartSwitch/data_src/js_css_src/styled-notifications/.travis.yml b/examples/SmartSwitch/data_src/js_css_src/styled-notifications/.travis.yml new file mode 100644 index 0000000..0fe294a --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/styled-notifications/.travis.yml @@ -0,0 +1,3 @@ +language: node_js +node_js: + - "7" diff --git a/examples/SmartSwitch/data_src/js_css_src/styled-notifications/LICENSE.md b/examples/SmartSwitch/data_src/js_css_src/styled-notifications/LICENSE.md new file mode 100644 index 0000000..5506c2d --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/styled-notifications/LICENSE.md @@ -0,0 +1,7 @@ +# Notifications license + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/examples/SmartSwitch/data_src/js_css_src/styled-notifications/__tests__/helpers.test.js b/examples/SmartSwitch/data_src/js_css_src/styled-notifications/__tests__/helpers.test.js new file mode 100644 index 0000000..b97ad75 --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/styled-notifications/__tests__/helpers.test.js @@ -0,0 +1,104 @@ +const { partial, append, isString, createElement, createParagraph } = require('../src/helpers'); + +const addNumbers = (x, y) => x + y; + +const sum = (...numbers) => numbers.reduce((total, current) => total + current, 0); + +describe('Helpers', () => { + beforeEach(() => { + document.body.innerHTML = ''; + }); + + describe('Partial', () => { + it('should return a partially applied function', () => { + expect(typeof partial(addNumbers, 10)).toEqual('function'); + }); + + it('should execute function when partially applied function is called', () => { + expect(partial(addNumbers, 20)(10)).toEqual(30); + }); + + it('should gather argument', () => { + expect(partial(sum, 5, 10)(15, 20, 25)).toEqual(75); + }); + }); + + describe('Append', () => { + const container = document.createElement('div'); + document.body.appendChild(container); + + const elementToAppend = document.createElement('h1'); + elementToAppend.classList.add('heading'); + elementToAppend.innerText = 'working'; + + append(container, elementToAppend); + + const element = document.querySelector('.heading'); + expect(element); + + expect(element.innerText).toEqual('working'); + }); + + describe('Is string', () => { + expect(isString(1)).toEqual(false); + expect(isString(null)).toEqual(false); + expect(isString(undefined)).toEqual(false); + expect(isString({})).toEqual(false); + + expect(isString('')).toEqual(true); + expect(isString('a')).toEqual(true); + expect(isString('1')).toEqual(true); + expect(isString('some string')).toEqual(true); + }); + + describe('Create element', () => { + it('should create an element', () => { + expect(createElement('p')).toEqual(document.createElement('p')); + expect(createElement('h1')).toEqual(document.createElement('h1')); + expect(createElement('ul')).toEqual(document.createElement('ul')); + expect(createElement('li')).toEqual(document.createElement('li')); + expect(createElement('div')).toEqual(document.createElement('div')); + expect(createElement('span')).toEqual(document.createElement('span')); + }); + + it('should add class names', () => { + expect(createElement('div', 'someclass1', 'someclass2').classList.contains('someclass2')); + expect(createElement('p', 'para', 'test').classList.contains('para')); + + const mockUl = document.createElement('ul'); + mockUl.classList.add('nav'); + mockUl.classList.add('foo'); + + expect(createElement('ul', 'nav', 'foo').classList).toEqual(mockUl.classList); + }); + }); + + describe('Create paragraph', () => { + it('should create a paragraph', () => { + const p = document.createElement('p'); + p.innerText = 'Some text'; + expect(createParagraph()('Some text')).toEqual(p); + }); + + it('should add class names', () => { + const p = document.createElement('p'); + p.classList.add('body-text'); + p.classList.add('para'); + + expect(createParagraph('body-text', 'para')('')).toEqual(p); + }); + + it('should set inner text', () => { + const p = document.createElement('p'); + p.innerText = 'Hello world!'; + p.classList.add('text'); + + expect(createParagraph('text')('Hello world!')).toEqual(p); + }); + + it('should append to DOM', () => { + append(document.body, createParagraph('text')('hello')); + expect(document.querySelector('.text').innerText).toEqual('hello'); + }); + }); +}); diff --git a/examples/SmartSwitch/data_src/js_css_src/styled-notifications/__tests__/index.tests.js b/examples/SmartSwitch/data_src/js_css_src/styled-notifications/__tests__/index.tests.js new file mode 100644 index 0000000..9a69d16 --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/styled-notifications/__tests__/index.tests.js @@ -0,0 +1,144 @@ +require('../src/index'); + +describe('Notifications', () => { + beforeEach(() => { + document.body.innerHTML = ''; + }); + + it('should display a console warning if no title or message is passed', () => { + jest.spyOn(global.console, 'warn'); + window.createNotification()(); + expect(console.warn).toBeCalled(); + }); + + it('should render a default notification', () => { + const notification = window.createNotification(); + + const title = 'I am a title'; + + // Should initially not contain any notifications + expect(document.querySelectorAll('.ncf').length).toEqual(0); + + // Create a notification instance with a title + notification({ title }); + + // Should be one notification with the title passed in + expect(document.querySelectorAll('.ncf').length).toEqual(1); + expect(document.querySelector('.ncf-title').innerText).toEqual(title); + + // Create a second instance so there should now be two instances + notification({ title }); + expect(document.querySelectorAll('.ncf').length).toEqual(2); + }); + + it('should close on click if the option is enabled', () => { + const notification = window.createNotification({ + closeOnClick: true + }); + + // Create a notification with a generic body + notification({ message: 'some text' }); + + // Should be one notification instance + expect(document.querySelectorAll('.ncf').length).toEqual(1); + + // Click the notification + document.querySelector('.ncf').click(); + + expect(document.querySelectorAll('.ncf').length).toEqual(0); + }); + + it('should not close on click if the option is disabled', () => { + const notification = window.createNotification({ + closeOnClick: false + }); + + // Create a notification with a generic body + notification({ message: 'some text' }); + + // Should be one notification instance + expect(document.querySelectorAll('.ncf').length).toEqual(1); + + // Click the notification + document.querySelector('.ncf').click(); + + expect(document.querySelectorAll('.ncf').length).toEqual(1); + }); + + it('should set position class if valid', () => { + const validPositions = [ + 'nfc-top-left', + 'nfc-top-right', + 'nfc-bottom-left', + 'nfc-bottom-right' + ]; + + validPositions.forEach(position => { + const notification = window.createNotification({ + positionClass: position + }); + + notification({ title: 'title here' }); + + const className = `.${position}`; + + expect(document.querySelectorAll(className).length).toEqual(1); + + const container = document.querySelector(className); + expect(container.querySelectorAll('.ncf').length).toEqual(1); + }); + }); + + it('should revert to default to default position and warn if class is invalid', () => { + const notification = window.createNotification({ + positionClass: 'invalid-name' + }); + + jest.spyOn(global.console, 'warn'); + + notification({ message: 'test' }); + + expect(console.warn).toBeCalled(); + + expect(document.querySelectorAll('.nfc-top-right').length).toEqual(1); + }); + + it('should allow a custom onclick callback', () => { + let a = 'not clicked'; + + const notification = window.createNotification({ + onclick: () => { + a = 'clicked'; + } + }); + + notification({ message: 'click test' }); + + expect(a).toEqual('not clicked'); + + // Click the notification + document.querySelector('.ncf').click(); + + expect(a).toEqual('clicked'); + }); + + it('should show for correct duration', () => { + const notification = window.createNotification({ + showDuration: 500 + }); + + notification({ message: 'test' }); + + expect(document.querySelectorAll('.ncf').length).toEqual(1); + + // Should exist after 400ms + setTimeout(() => { + expect(document.querySelectorAll('.ncf').length).toEqual(1); + }, 400); + + // Should delete after 500ms + setTimeout(() => { + expect(document.querySelectorAll('.ncf').length).toEqual(0); + }); + }, 501); +}); diff --git a/examples/SmartSwitch/data_src/js_css_src/styled-notifications/demo/demo.js b/examples/SmartSwitch/data_src/js_css_src/styled-notifications/demo/demo.js new file mode 100644 index 0000000..d2f0fad --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/styled-notifications/demo/demo.js @@ -0,0 +1,34 @@ +'use strict'; + +// Written using ES5 JS for browser support +window.addEventListener('DOMContentLoaded', function () { + var form = document.querySelector('form'); + + form.addEventListener('submit', function (e) { + e.preventDefault(); + + // Form elements + var title = form.querySelector('#title').value; + var message = form.querySelector('#message').value; + var position = form.querySelector('#position').value; + var duration = form.querySelector('#duration').value; + var theme = form.querySelector('#theme').value; + var closeOnClick = form.querySelector('#close').checked; + var displayClose = form.querySelector('#closeButton').checked; + + if(!message) { + message = 'You did not enter a message...'; + } + + window.createNotification({ + closeOnClick: closeOnClick, + displayCloseButton: displayClose, + positionClass: position, + showDuration: duration, + theme: theme + })({ + title: title, + message: message + }); + }); +}); \ No newline at end of file diff --git a/examples/SmartSwitch/data_src/js_css_src/styled-notifications/demo/index.html b/examples/SmartSwitch/data_src/js_css_src/styled-notifications/demo/index.html new file mode 100644 index 0000000..d5dd6a6 --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/styled-notifications/demo/index.html @@ -0,0 +1,101 @@ + + + + +Notifications + + + + + + + + + +

Notifications

+
+ +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + + + +
+ + + + + +
+ + + + + \ No newline at end of file diff --git a/examples/SmartSwitch/data_src/js_css_src/styled-notifications/demo/index_my.html b/examples/SmartSwitch/data_src/js_css_src/styled-notifications/demo/index_my.html new file mode 100644 index 0000000..412e25d --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/styled-notifications/demo/index_my.html @@ -0,0 +1,37 @@ + + + + +Notifications + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/examples/SmartSwitch/data_src/js_css_src/styled-notifications/dist/notifications.css b/examples/SmartSwitch/data_src/js_css_src/styled-notifications/dist/notifications.css new file mode 100644 index 0000000..90d9e61 --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/styled-notifications/dist/notifications.css @@ -0,0 +1 @@ +.ncf-container{font-size:14px;box-sizing:border-box;position:fixed;z-index:999999}.ncf-container.nfc-top-left{top:12px;left:12px}.ncf-container.nfc-top-right{top:12px;right:12px}.ncf-container.nfc-bottom-right{bottom:12px;right:12px}.ncf-container.nfc-bottom-left{bottom:12px;left:12px}@media (max-width:767px){.ncf-container{left:0;right:0}}.ncf-container .ncf{background:#fff;transition:.3s ease;position:relative;pointer-events:auto;overflow:hidden;margin:0 0 6px;padding:30px;width:300px;border-radius:3px 3px 3px 3px;box-shadow:0 0 12px #999;color:#000;opacity:.9;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=90);filter:alpha(opacity=90);background-position:15px!important;background-repeat:no-repeat!important;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ncf-container .ncf:hover{box-shadow:0 0 12px #000;opacity:1;cursor:pointer}.ncf-container .ncf .ncf-title{font-weight:700;font-size:16px;text-align:left;margin-top:0;margin-bottom:6px;word-wrap:break-word}.ncf-container .ncf .nfc-message{margin:0;text-align:left;word-wrap:break-word}.ncf-container .success{background:#51a351;color:#fff;padding:15px 15px 15px 50px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==")}.ncf-container .info{background:#2f96b4;color:#fff;padding:15px 15px 15px 50px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=")}.ncf-container .warning{background:#f87400;color:#fff;padding:15px 15px 15px 50px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=")}.ncf-container .error{background:#bd362f;color:#fff;padding:15px 15px 15px 50px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=")!important}.ncf-container button{position:relative;right:-.3em;top:-.3em;float:right;font-weight:700;color:#fff;text-shadow:0 1px 0 #fff;opacity:.8;line-height:1;font-size:16px;padding:0;cursor:pointer;background:transparent;border:0}.ncf-container button:hover{opacity:1} \ No newline at end of file diff --git a/examples/SmartSwitch/data_src/js_css_src/styled-notifications/dist/notifications.css.gz b/examples/SmartSwitch/data_src/js_css_src/styled-notifications/dist/notifications.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..b1e1ecb19e475a9932e331065120ac6a1bdbbc3c GIT binary patch literal 2487 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 literal 0 HcmV?d00001 diff --git a/examples/SmartSwitch/data_src/js_css_src/styled-notifications/dist/notifications.js b/examples/SmartSwitch/data_src/js_css_src/styled-notifications/dist/notifications.js new file mode 100644 index 0000000..34b339e --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/styled-notifications/dist/notifications.js @@ -0,0 +1 @@ +!function(t){function n(i){if(e[i])return e[i].exports;var o=e[i]={i:i,l:!1,exports:{}};return t[i].call(o.exports,o,o.exports,n),o.l=!0,o.exports}var e={};n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:i})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},n.p="",n(n.s=0)}([function(t,n,e){e(1),t.exports=e(4)},function(t,n,e){"use strict";var i=Object.assign||function(t){for(var n=1;n-1}(t.positionClass)||(console.warn("An invalid notification position class has been specified."),t.positionClass=c.positionClass),t.onclick&&"function"!=typeof t.onclick&&(console.warn("Notification on click must be a function."),t.onclick=c.onclick),"number"!=typeof t.showDuration&&(t.showDuration=c.showDuration),(0,o.isString)(t.theme)&&0!==t.theme.length||(console.warn("Notification theme must be a string with length"),t.theme=c.theme),t}function e(t){return t=n(t),function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=n.title,i=n.message,c=r(t.positionClass);if(!e&&!i)return console.warn("Notification must contain a title or a message!");var a=(0,o.createElement)("div","ncf",t.theme);if(!0===t.closeOnClick&&a.addEventListener("click",function(){return c.removeChild(a)}),t.onclick&&a.addEventListener("click",function(n){return t.onclick(n)}),t.displayCloseButton){var s=(0,o.createElement)("button");s.innerText="X",!1===t.closeOnClick&&s.addEventListener("click",function(){return c.removeChild(a)}),(0,o.append)(a,s)}if((0,o.isString)(e)&&e.length&&(0,o.append)(a,(0,o.createParagraph)("ncf-title")(e)),(0,o.isString)(i)&&i.length&&(0,o.append)(a,(0,o.createParagraph)("nfc-message")(i)),(0,o.append)(c,a),t.showDuration&&t.showDuration>0){var l=setTimeout(function(){c.removeChild(a),0===c.querySelectorAll(".ncf").length&&document.body.removeChild(c)},t.showDuration);(t.closeOnClick||t.displayCloseButton)&&a.addEventListener("click",function(){return clearTimeout(l)})}}}function r(t){var n=document.querySelector("."+t);return n||(n=(0,o.createElement)("div","ncf-container",t),(0,o.append)(document.body,n)),n}var c={closeOnClick:!0,displayCloseButton:!1,positionClass:"nfc-top-right",onclick:!1,showDuration:3500,theme:"success"};t.createNotification?console.warn("Window already contains a create notification function. Have you included the script twice?"):t.createNotification=e}(window)},function(t,n,e){"use strict";!function(){function t(t){this.el=t;for(var n=t.className.replace(/^\s+|\s+$/g,"").split(/\s+/),i=0;i1?n-1:0),i=1;i1?n-1:0),i=1;i1?n-1:0),i=1;i1?n-1:0),c=1;c5Vq>IZAtX}(HR(-Gc&Xx)Hls%K5Z~S|s@SNGwK)+~bS?g_&PXwIp zt8#w0weECLL290oec!{|2cNC;*muHa(;@xN#c|p5)}9aB^K*w?Sm-4VOZ_D&(*kdw zDmwjpW1_{$BR4n2uildY{ zo$c%=?pEF?3%Qo_W!ssj?L15#!S5E%)cq-TCn|i6(_c59*udt3?$+-6``aIF^gYd! zS89D@qoIL}*6A~$uV?npl^3vM^;2=&A@irOETiwGi@-2~? zm#j=rniX24vmQC=M7qZFn?7=MU!Z*~_H_i~7pX2^^NE`pRut?E>ucGOb+KWB>%#5N zN~8jhJiC%_lr(jQw9)-V=DpgFc+OmVD^&b3>Gke+x3fQ+WgabAGSTx*|C%p`aXKqL zt8lxlsoKu8_fVA3rPVq=C3|D#xfj0N_^8YJ+Rg?4|IC`vyX(oDhe2%8?iJ=|zm{D; zXCLwW&As;$>rH0gJ9cZyhqo`;uHM_TWtE0h2KQV3U9%VJPh2i?GvWr%qxDASQ|_3( z=+ig4oSCxbvh>=N19!VzPn~vsG3NzyLuVJW#vRs7ABp)H;#oG|rPl<`44W^;eJRT4 zT+8?EcU_v-3y1i(1$lc(S-#o=D%#`I^C|0h`PYk0Lkw6k>WL(Y#$e4PwGv71Y13eQqk?Q=d| zJOA_Ir~AaEuFm-S_6`gdBjF`MAglnhMsw1XmJlYr67EY{M>6^9R z&FFCN%gX45Tx-0yzIY+@X8p_;3;!@(+^MVF+i^-HDE|6lr>DOjD18sr-r;(qim#!e ztB!a1zjYs9N_RN^e^BFa*H7Fq<&bLa`^S$8jO`~@JIF0c7rk)${XG$J{~y&4KTQ)} zqFWVXT_qW=XT0vH(M5Bg+v=HbCNIc*7GQ6_aQ{cwY1hKr1s1W%nJ=-J>tS(u@{|nW z(u4Wzx|LB}_s$hp-rFAWaFgYfqkIczH25-ZxA>E>)iY*)pp2pXuC#5R9i(+*9B%P# zRMwT2{~9Nlc=YBjfxxzR`J!v;-|W*{d+rFo)~`IS)~(HddlH^3joZC_`DD$_YaW&Q zO60oC_xs4d`-W=S#(&k}DNSyl#TZ-D%q||*_;^+RMpWpYxo7rpzHyN6c8Ib zt9$#teVM-VvXSs*_Omte#}}Sc%*tDrr|5p&d;T%)`NvBC?YlNTEWg^&=i#iF9W!)|Am?)#Mf+_&|?gTrf=ES~iZLQx+uTSle@AP}MZ%)U%gAGiNtv}k&dSZI>-7z_N@87p~<)2OKDR2Js zZpXbPX{`^B-mm$0@IBkxRW{v F7yw8IWkdh~ literal 0 HcmV?d00001 diff --git a/examples/SmartSwitch/data_src/js_css_src/styled-notifications/package.json b/examples/SmartSwitch/data_src/js_css_src/styled-notifications/package.json new file mode 100644 index 0000000..c9de18d --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/styled-notifications/package.json @@ -0,0 +1,58 @@ +{ + "name": "styled-notifications", + "version": "1.0.1", + "description": "A simple JavaScript notifications library", + "main": "dist/notifications.js", + "scripts": { + "start": "webpack --watch", + "build": "webpack -p", + "test": "jest", + "prepare": "yarn run test && yarn run build" + }, + "pre-commit": [ + "prepare" + ], + "files": [ + "dist" + ], + "repository": { + "type": "git", + "url": "git+https://github.com/JamieLivingstone/Notifications.git" + }, + "keywords": [ + "notification", + "popup", + "alert", + "toast" + ], + "author": "Jamie Livingstone", + "contributors": [ + { + "name": "Jamie Livingstone (https://github.com/JamieLivingstone)" + }, + { + "name": "cavebeavis (https://github.com/cavebeavis)" + } + ], + "license": "ISC", + "bugs": { + "url": "https://github.com/JamieLivingstone/Notifications/issues" + }, + "homepage": "https://github.com/JamieLivingstone/Notifications#readme", + "devDependencies": { + "babel-core": "^6.26.0", + "babel-jest": "^21.0.2", + "babel-loader": "^7.1.2", + "babel-preset-es2015": "^6.24.1", + "babel-preset-es2015-ie": "^6.7.0", + "css-loader": "^0.28.7", + "eslint": "^4.6.1", + "extract-text-webpack-plugin": "^3.0.0", + "jest": "^21.0.2", + "node-sass": "^4.5.3", + "pre-commit": "^1.2.2", + "sass-loader": "^6.0.6", + "style-loader": "^0.18.2", + "webpack": "^3.5.6" + } +} diff --git a/examples/SmartSwitch/data_src/js_css_src/styled-notifications/readme.md b/examples/SmartSwitch/data_src/js_css_src/styled-notifications/readme.md new file mode 100644 index 0000000..2bb4235 --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/styled-notifications/readme.md @@ -0,0 +1,82 @@ +[![Build Status](https://travis-ci.org/JamieLivingstone/Notifications.svg?branch=master)](https://travis-ci.org/JamieLivingstone/Notifications) + +# Notifications +**Notifications** is a Javascript library for notifications heavily inspired by toastr but does not require any dependencies such as jQuery. + +Works on browsers: IE9+, Safari, Chrome, FireFox, opera, edge + +## npm Installation +Do either +``` +npm i styled-notifications +``` +or add the following to your `package.json`: +``` +"dependencies": { + "styled-notifications": "^1.0.1" +}, +``` + +## Installation +Download files from the dist folder and then: +1. Link to notifications.css `` + +2. Link to notifications.js `` + +## Usage +### Custom options +- closeOnClick - Close the notification dialog when a click is invoked. +- displayCloseButton - Display a close button in the top right hand corner of the notification. +- positionClass - Set the position of the notification dialog. Accepted positions: ('nfc-top-right', 'nfc-bottom-right', 'nfc-bottom-left', 'nfc-top-left'). +- onClick - Call a callback function when a click is invoked on a notification. +- showDuration - Milliseconds the notification should be visible (0 for a notification that will remain open until clicked) +- theme - Set the position of the notification dialog. Accepted positions: ('success', 'info', 'warning', 'error', 'A custom clasName'). +``` +const defaultOptions = { + closeOnClick: true, + displayCloseButton: false, + positionClass: 'nfc-top-right', + onclick: false, + showDuration: 3500, + theme: 'success' +}; +``` + +## Example + +### Success notification +``` +// Create a success notification instance +const successNotification = window.createNotification({ + theme: 'success', + showDuration: 5000 +}); + +// Invoke success notification +successNotification({ + message: 'Simple success notification' +}); + +// Use the same instance but pass a title +successNotification({ + title: 'Working', + message: 'Simple success notification' +}); +``` + +### Information notification +``` +// Only running it once? Invoke immediately like this +window.createNotification({ + theme: 'success', + showDuration: 5000 +})({ + message: 'I have some information for you...' +}); +``` + +### Todo +~~1. Add to NPM~~ +2. Improve documentation +3. Further device testing +4. Add contributor instructions \ No newline at end of file diff --git a/examples/SmartSwitch/data_src/js_css_src/styled-notifications/src/helpers.js b/examples/SmartSwitch/data_src/js_css_src/styled-notifications/src/helpers.js new file mode 100644 index 0000000..5a7de2b --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/styled-notifications/src/helpers.js @@ -0,0 +1,24 @@ +export const partial = (fn, ...presetArgs) => (...laterArgs) => fn(...presetArgs, ...laterArgs); + +export const append = (el, ...children) => children.forEach(child => el.appendChild(child)); + +export const isString = input => typeof input === 'string'; + +export const createElement = (elementType, ...classNames) => { + const element = document.createElement(elementType); + + if(classNames.length) { + classNames.forEach(currentClass => element.classList.add(currentClass)); + } + + return element; +}; + +const setInnerText = (element, text) => { + element.innerText = text; + return element; +}; + +const createTextElement = (elementType, ...classNames) => partial(setInnerText, createElement(elementType, ...classNames)); + +export const createParagraph = (...classNames) => createTextElement('p', ...classNames); \ No newline at end of file diff --git a/examples/SmartSwitch/data_src/js_css_src/styled-notifications/src/index.js b/examples/SmartSwitch/data_src/js_css_src/styled-notifications/src/index.js new file mode 100644 index 0000000..51512ba --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/styled-notifications/src/index.js @@ -0,0 +1,148 @@ +'use strict'; + +// Polyfills +import './polyfills/classList'; + +import { + append, + createElement, + createParagraph, + isString +} from './helpers'; + +(function Notifications(window) { + // Default notification options + const defaultOptions = { + closeOnClick: true, + displayCloseButton: false, + positionClass: 'nfc-top-right', + onclick: false, + showDuration: 3500, + theme: 'success' + }; + + function configureOptions(options) { + // Create a copy of options and merge with defaults + options = Object.assign({}, defaultOptions, options); + + // Validate position class + function validatePositionClass(className) { + const validPositions = [ + 'nfc-top-left', + 'nfc-top-right', + 'nfc-bottom-left', + 'nfc-bottom-right' + ]; + + return validPositions.indexOf(className) > -1; + } + + // Verify position, if invalid reset to default + if (!validatePositionClass(options.positionClass)) { + console.warn('An invalid notification position class has been specified.'); + options.positionClass = defaultOptions.positionClass; + } + + // Verify onClick is a function + if (options.onclick && typeof options.onclick !== 'function') { + console.warn('Notification on click must be a function.'); + options.onclick = defaultOptions.onclick; + } + + // Verify show duration + if(typeof options.showDuration !== 'number') { + options.showDuration = defaultOptions.showDuration; + } + + // Verify theme + if(!isString(options.theme) || options.theme.length === 0) { + console.warn('Notification theme must be a string with length'); + options.theme = defaultOptions.theme; + } + + return options; + } + + // Create a new notification instance + function createNotification(options) { + // Validate options and set defaults + options = configureOptions(options); + + // Return a notification function + return function notification({ title, message } = {}) { + const container = createNotificationContainer(options.positionClass); + + if(!title && !message) { + return console.warn('Notification must contain a title or a message!'); + } + + // Create the notification wrapper + const notificationEl = createElement('div', 'ncf', options.theme); + + // Close on click + if(options.closeOnClick === true) { + notificationEl.addEventListener('click', () => container.removeChild(notificationEl)); + } + + // Custom click callback + if(options.onclick) { + notificationEl.addEventListener('click', (e) => options.onclick(e)); + } + + // Display close button + if(options.displayCloseButton) { + const closeButton = createElement('button'); + closeButton.innerText = 'X'; + + // Use the wrappers close on click to avoid useless event listeners + if(options.closeOnClick === false){ + closeButton.addEventListener('click', () =>container.removeChild(notificationEl)); + } + + append(notificationEl, closeButton); + } + + // Append title and message + isString(title) && title.length && append(notificationEl, createParagraph('ncf-title')(title)); + isString(message) && message.length && append(notificationEl, createParagraph('nfc-message')(message)); + + // Append to container + append(container, notificationEl); + + // Remove element after duration + if(options.showDuration && options.showDuration > 0) { + const timeout = setTimeout(() => { + container.removeChild(notificationEl); + + // Remove container if empty + if(container.querySelectorAll('.ncf').length === 0) { + document.body.removeChild(container); + } + }, options.showDuration); + + // If close on click is enabled and the user clicks, cancel timeout + if(options.closeOnClick || options.displayCloseButton) { + notificationEl.addEventListener('click', () => clearTimeout(timeout)); + } + } + }; + } + + function createNotificationContainer(position) { + let container = document.querySelector(`.${position}`); + + if(!container) { + container = createElement('div', 'ncf-container', position); + append(document.body, container); + } + + return container; + } + + // Add Notifications to window to make globally accessible + if (window.createNotification) { + console.warn('Window already contains a create notification function. Have you included the script twice?'); + } else { + window.createNotification = createNotification; + } +})(window); diff --git a/examples/SmartSwitch/data_src/js_css_src/styled-notifications/src/polyfills/classList.js b/examples/SmartSwitch/data_src/js_css_src/styled-notifications/src/polyfills/classList.js new file mode 100644 index 0000000..e040d70 --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/styled-notifications/src/polyfills/classList.js @@ -0,0 +1,68 @@ +(function () { + if (typeof window.Element === 'undefined' || 'classList' in document.documentElement) return; + + var prototype = Array.prototype, + push = prototype.push, + splice = prototype.splice, + join = prototype.join; + + function DOMTokenList(el) { + this.el = el; + // The className needs to be trimmed and split on whitespace + // to retrieve a list of classes. + var classes = el.className.replace(/^\s+|\s+$/g,'').split(/\s+/); + for (var i = 0; i < classes.length; i++) { + push.call(this, classes[i]); + } + } + + DOMTokenList.prototype = { + add: function(token) { + if(this.contains(token)) return; + push.call(this, token); + this.el.className = this.toString(); + }, + contains: function(token) { + return this.el.className.indexOf(token) != -1; + }, + item: function(index) { + return this[index] || null; + }, + remove: function(token) { + if (!this.contains(token)) return; + for (var i = 0; i < this.length; i++) { + if (this[i] == token) break; + } + splice.call(this, i, 1); + this.el.className = this.toString(); + }, + toString: function() { + return join.call(this, ' '); + }, + toggle: function(token) { + if (!this.contains(token)) { + this.add(token); + } else { + this.remove(token); + } + + return this.contains(token); + } + }; + + window.DOMTokenList = DOMTokenList; + + function defineElementGetter (obj, prop, getter) { + if (Object.defineProperty) { + Object.defineProperty(obj, prop,{ + get : getter + }); + } else { + obj.__defineGetter__(prop, getter); + } + } + + defineElementGetter(Element.prototype, 'classList', function () { + return new DOMTokenList(this); + }); +})(); \ No newline at end of file diff --git a/examples/SmartSwitch/data_src/js_css_src/styled-notifications/src/style.scss b/examples/SmartSwitch/data_src/js_css_src/styled-notifications/src/style.scss new file mode 100644 index 0000000..733bfd5 --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/styled-notifications/src/style.scss @@ -0,0 +1,134 @@ +// Base colors +$success: #51A351; +$info: #2F96B4; +$warning: #f87400; +$error: #BD362F; +$grey: #999999; + +.ncf-container { + font-size: 14px; + box-sizing: border-box; + position: fixed; + z-index: 999999; + + &.nfc-top-left { + top: 12px; + left: 12px; + } + + &.nfc-top-right { + top: 12px; + right: 12px; + } + + &.nfc-bottom-right { + bottom: 12px; + right: 12px; + } + + &.nfc-bottom-left { + bottom: 12px; + left: 12px; + } + + @media (max-width: 767px) { + left: 0; + right: 0; + } + + .ncf { + background: #ffffff; + transition: .3s ease; + position: relative; + pointer-events: auto; + overflow: hidden; + margin: 0 0 6px; + padding: 30px; + width: 300px; + border-radius: 3px 3px 3px 3px; + box-shadow: 0 0 12px $grey; + color: #000000; + opacity: 0.9; + -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=90); + filter: alpha(opacity=90); + background-position: 15px center !important; + background-repeat: no-repeat !important; + + // Prevent annoying text selection + -webkit-user-select: none; /* Chrome all / Safari all */ + -moz-user-select: none; /* Firefox all */ + -ms-user-select: none; /* IE 10+ */ + user-select: none; /* Likely future */ + + &:hover { + box-shadow: 0 0 12px #000000; + opacity: 1; + cursor: pointer; + } + + .ncf-title { + font-weight: bold; + font-size: 16px; + text-align: left; + margin-top: 0; + margin-bottom: 6px; + word-wrap: break-word; + } + + .nfc-message { + margin: 0; + text-align: left; + word-wrap: break-word; + } + } + + // Themes + .success { + background: $success; + color: #ffffff; + padding: 15px 15px 15px 50px; + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg=="); + } + + .info { + background: $info; + color: #ffffff; + padding: 15px 15px 15px 50px; + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII="); + } + + .warning { + background: $warning; + color: #ffffff; + padding: 15px 15px 15px 50px; + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII="); + } + + .error { + background: $error; + color: #ffffff; + padding: 15px 15px 15px 50px; + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=") !important; + } + + button { + position: relative; + right: -0.3em; + top: -0.3em; + float: right; + font-weight: bold; + color: #FFFFFF; + text-shadow: 0 1px 0 #ffffff; + opacity: 0.8; + line-height: 1; + font-size: 16px; + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + + &:hover { + opacity: 1; + } + } +} diff --git a/examples/SmartSwitch/data_src/js_css_src/styled-notifications/webpack.config.js b/examples/SmartSwitch/data_src/js_css_src/styled-notifications/webpack.config.js new file mode 100644 index 0000000..36a4ca3 --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/styled-notifications/webpack.config.js @@ -0,0 +1,41 @@ +const webpack = require('webpack'); +const ExtractTextPlugin = require('extract-text-webpack-plugin'); + +const extractSass = new ExtractTextPlugin({ + filename: 'notifications.css', + disable: process.env.NODE_ENV === 'development' +}); + +module.exports = { + entry: ['./src/index.js', './src/style.scss'], + output: { + path: __dirname + '/dist', + filename: 'notifications.js' + }, + module: { + rules: [ + { + test: /\.js$/, + loader: 'babel-loader', + query: { + presets: ['babel-preset-es2015', 'es2015-ie'] + } + }, + { + test: /\.scss$/, + use: extractSass.extract({ + use: [{ + loader: 'css-loader' + }, { + loader: 'sass-loader' + }], + // use style-loader in development + fallback: 'style-loader' + }) + } + ], + }, + plugins: [ + extractSass + ] +}; \ No newline at end of file diff --git a/examples/SmartSwitch/data_src/js_css_src/worker-html.js b/examples/SmartSwitch/data_src/js_css_src/worker-html.js new file mode 100644 index 0000000..58a39b1 --- /dev/null +++ b/examples/SmartSwitch/data_src/js_css_src/worker-html.js @@ -0,0 +1 @@ +"no use strict";(function(e){function t(e,t){var n=e,r="";while(n){var i=t[n];if(typeof i=="string")return i+r;if(i)return i.location.replace(/\/*$/,"/")+(r||i.main||i.name);if(i===!1)return"";var s=n.lastIndexOf("/");if(s===-1)break;r=n.substr(s)+r,n=n.slice(0,s)}return e}if(typeof e.window!="undefined"&&e.document)return;if(e.require&&e.define)return;e.console||(e.console=function(){var e=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:e})},e.console.error=e.console.warn=e.console.log=e.console.trace=e.console),e.window=e,e.ace=e,e.onerror=function(e,t,n,r,i){postMessage({type:"error",data:{message:e,data:i.data,file:t,line:n,col:r,stack:i.stack}})},e.normalizeModule=function(t,n){if(n.indexOf("!")!==-1){var r=n.split("!");return e.normalizeModule(t,r[0])+"!"+e.normalizeModule(t,r[1])}if(n.charAt(0)=="."){var i=t.split("/").slice(0,-1).join("/");n=(i?i+"/":"")+n;while(n.indexOf(".")!==-1&&s!=n){var s=n;n=n.replace(/^\.\//,"").replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return n},e.require=function(r,i){i||(i=r,r=null);if(!i.charAt)throw new Error("worker.js require() accepts only (parentId, id) as arguments");i=e.normalizeModule(r,i);var s=e.require.modules[i];if(s)return s.initialized||(s.initialized=!0,s.exports=s.factory().exports),s.exports;if(!e.require.tlns)return console.log("unable to load "+i);var o=t(i,e.require.tlns);return o.slice(-3)!=".js"&&(o+=".js"),e.require.id=i,e.require.modules[i]={},importScripts(o),e.require(r,i)},e.require.modules={},e.require.tlns={},e.define=function(t,n,r){arguments.length==2?(r=n,typeof t!="string"&&(n=t,t=e.require.id)):arguments.length==1&&(r=t,n=[],t=e.require.id);if(typeof r!="function"){e.require.modules[t]={exports:r,initialized:!0};return}n.length||(n=["require","exports","module"]);var i=function(n){return e.require(t,n)};e.require.modules[t]={exports:{},factory:function(){var e=this,t=r.apply(this,n.map(function(t){switch(t){case"require":return i;case"exports":return e.exports;case"module":return e;default:return i(t)}}));return t&&(e.exports=t),e}}},e.define.amd={},require.tlns={},e.initBaseUrls=function(t){for(var n in t)require.tlns[n]=t[n]},e.initSender=function(){var n=e.require("ace/lib/event_emitter").EventEmitter,r=e.require("ace/lib/oop"),i=function(){};return function(){r.implement(this,n),this.callback=function(e,t){postMessage({type:"call",id:t,data:e})},this.emit=function(e,t){postMessage({type:"event",name:e,data:t})}}.call(i.prototype),new i};var n=e.main=null,r=e.sender=null;e.onmessage=function(t){var i=t.data;if(i.event&&r)r._signal(i.event,i.data);else if(i.command)if(n[i.command])n[i.command].apply(n,i.args);else{if(!e[i.command])throw new Error("Unknown command:"+i.command);e[i.command].apply(e,i.args)}else if(i.init){e.initBaseUrls(i.tlns),require("ace/lib/es5-shim"),r=e.sender=e.initSender();var s=require(i.module)[i.classname];n=e.main=new s(r)}}})(this),define("ace/lib/oop",["require","exports","module"],function(e,t,n){"use strict";t.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}}),define("ace/lib/lang",["require","exports","module"],function(e,t,n){"use strict";t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?tthis.end.column?1:0:ethis.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.rowt)var r={row:t+1,column:0};else if(this.start.row=0&&t.row=0&&t.column<=e[t.row].length}function s(e,t){t.action!="insert"&&t.action!="remove"&&r(t,"delta.action must be 'insert' or 'remove'"),t.lines instanceof Array||r(t,"delta.lines must be an Array"),(!t.start||!t.end)&&r(t,"delta.start/end must be an present");var n=t.start;i(e,t.start)||r(t,"delta.start must be contained in document");var s=t.end;t.action=="remove"&&!i(e,s)&&r(t,"delta.end must contained in document for 'remove' actions");var o=s.row-n.row,u=s.column-(o==0?n.column:0);(o!=t.lines.length-1||t.lines[o].length!=u)&&r(t,"delta.range must match delta lines")}t.applyDelta=function(e,t,n){var r=t.start.row,i=t.start.column,s=e[r]||"";switch(t.action){case"insert":var o=t.lines;if(o.length===1)e[r]=s.substring(0,i)+t.lines[0]+s.substring(i);else{var u=[r,1].concat(t.lines);e.splice.apply(e,u),e[r]=s.substring(0,i)+e[r],e[r+t.lines.length-1]+=s.substring(i)}break;case"remove":var a=t.end.column,f=t.end.row;r===f?e[r]=s.substring(0,i)+s.substring(a):e.splice(r,f-r+1,s.substring(0,i)+e[f].substring(a))}}}),define("ace/lib/event_emitter",["require","exports","module"],function(e,t,n){"use strict";var r={},i=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=s),n=n.slice();for(var o=0;othis.row)return;var n=t(e,{row:this.row,column:this.column},this.$insertRight);this.setPosition(n.row,n.column,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal("change",{old:i,value:r})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./apply_delta").applyDelta,s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=e("./anchor").Anchor,a=function(e){this.$lines=[""],e.length===0?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)};(function(){r.implement(this,s),this.setValue=function(e){var t=this.getLength()-1;this.remove(new o(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new u(this,e,t)},"aaa".split(/a/).length===0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e,this._signal("changeNewLineMode")},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},this.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{t=this.getLines(e.start.row,e.end.row),t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column))}return t},this.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},this.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},this.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},this.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},this.insertInLine=function(e,t){var n=this.clippedPos(e.row,e.column),r=this.pos(e.row,e.column+t.length);return this.applyDelta({start:n,end:r,action:"insert",lines:[t]},!0),this.clonePos(r)},this.clippedPos=function(e,t){var n=this.getLength();e===undefined?e=n:e<0?e=0:e>=n&&(e=n-1,t=undefined);var r=this.getLine(e);return t==undefined&&(t=r.length),t=Math.min(Math.max(t,0),r.length),{row:e,column:t}},this.clonePos=function(e){return{row:e.row,column:e.column}},this.pos=function(e,t){return{row:e,column:t}},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},this.insertFullLines=function(e,t){e=Math.min(Math.max(e,0),this.getLength());var n=0;e0,r=t=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:"remove",lines:["",""]})},this.replace=function(e,t){e instanceof o||(e=o.fromPoints(e.start,e.end));if(t.length===0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);var n;return t?n=this.insert(e.start,t):n=e.start,n},this.applyDeltas=function(e){for(var t=0;t=0;t--)this.revertDelta(e[t])},this.applyDelta=function(e,t){var n=e.action=="insert";if(n?e.lines.length<=1&&!e.lines[0]:!o.comparePoints(e.start,e.end))return;n&&e.lines.length>2e4&&this.$splitAndapplyLargeDelta(e,2e4),i(this.$lines,e,t),this._signal("change",e)},this.$splitAndapplyLargeDelta=function(e,t){var n=e.lines,r=n.length,i=e.start.row,s=e.start.column,o=0,u=0;do{o=u,u+=t-1;var a=n.slice(o,u);if(u>r){e.lines=a,e.start.row=i+o,e.start.column=s;break}a.push(""),this.applyDelta({start:this.pos(i+o,s),end:this.pos(i+u,s=0),action:e.action,lines:a},!0)}while(!0)},this.revertDelta=function(e){this.applyDelta({start:this.clonePos(e.start),end:this.clonePos(e.end),action:e.action=="insert"?"remove":"insert",lines:e.lines.slice()})},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;i=0;n--){var r=this.elements[n];if(r.localName===e)return!0;if(t(r))return!1}},l.prototype.push=function(e){this.elements.push(e)},l.prototype.pushHtmlElement=function(e){this.rootNode=e.node,this.push(e)},l.prototype.pushHeadElement=function(e){this.headElement=e.node,this.push(e)},l.prototype.pushBodyElement=function(e){this.bodyElement=e.node,this.push(e)},l.prototype.pop=function(){return this.elements.pop()},l.prototype.remove=function(e){this.elements.splice(this.elements.indexOf(e),1)},l.prototype.popUntilPopped=function(e){var t;do t=this.pop();while(t.localName!=e)},l.prototype.popUntilTableScopeMarker=function(){while(!s(this.top))this.pop()},l.prototype.popUntilTableBodyScopeMarker=function(){while(!o(this.top))this.pop()},l.prototype.popUntilTableRowScopeMarker=function(){while(!u(this.top))this.pop()},l.prototype.item=function(e){return this.elements[e]},l.prototype.contains=function(e){return this.elements.indexOf(e)!==-1},l.prototype.inScope=function(e){return this._inScope(e,r)},l.prototype.inListItemScope=function(e){return this._inScope(e,i)},l.prototype.inTableScope=function(e){return this._inScope(e,s)},l.prototype.inButtonScope=function(e){return this._inScope(e,a)},l.prototype.inSelectScope=function(e){return this._inScope(e,f)},l.prototype.hasNumberedHeaderElementInScope=function(){for(var e=this.elements.length-1;e>=0;e--){var t=this.elements[e];if(t.isNumberedHeader())return!0;if(r(t))return!1}},l.prototype.furthestBlockForFormattingElement=function(e){var t=null;for(var n=this.elements.length-1;n>=0;n--){var r=this.elements[n];if(r.node===e)break;r.isSpecial()&&(t=r)}return t},l.prototype.findIndex=function(e){for(var t=this.elements.length-1;t>=0;t--)if(this.elements[t].localName==e)return t;return-1},l.prototype.remove_openElements_until=function(e){var t=!1,n;while(!t)n=this.elements.pop(),t=e(n);return n},Object.defineProperty(l.prototype,"top",{get:function(){return this.elements[this.elements.length-1]}}),Object.defineProperty(l.prototype,"length",{get:function(){return this.elements.length}}),n.ElementStack=l},{}],2:[function(e,t,n){function o(e){return e>="0"&&e<="9"||e>="a"&&e<="z"||e>="A"&&e<="Z"}function u(e){return e>="0"&&e<="9"||e>="a"&&e<="f"||e>="A"&&e<="F"}function a(e){return e>="0"&&e<="9"}var r=e("html5-entities"),i=e("./InputStream").InputStream,s={};Object.keys(r).forEach(function(e){for(var t=0;t65535&&d<=1114111){d-=65536;var m=((1047552&d)>>10)+55296,g=(1023&d)+56320;f=String.fromCharCode(m,g)}else f=String.fromCharCode(d);return c!==";"&&(t._parseError("numeric-entity-without-semicolon"),e.unget(c)),f}return e.unget(l),t._parseError("expected-numeric-entity"),!1}if(c>="a"&&c<="z"||c>="A"&&c<="Z"){var y="";while(s[l]){r[l]&&(y=l);if(c==";")break;c=e.char();if(c===i.EOF)break;l+=c}return y?(f=r[y],c===";"||!n||!o(c)&&c!=="="?(l.length>y.length&&e.unget(l.substring(y.length)),c!==";"&&t._parseError("named-entity-without-semicolon"),f):(e.unget(l),!1)):(t._parseError("expected-named-entity"),e.unget(l),!1)}},f.replaceEntityNumbers=function(e){switch(e){case 0:return 65533;case 19:return 16;case 128:return 8364;case 129:return 129;case 130:return 8218;case 131:return 402;case 132:return 8222;case 133:return 8230;case 134:return 8224;case 135:return 8225;case 136:return 710;case 137:return 8240;case 138:return 352;case 139:return 8249;case 140:return 338;case 141:return 141;case 142:return 381;case 143:return 143;case 144:return 144;case 145:return 8216;case 146:return 8217;case 147:return 8220;case 148:return 8221;case 149:return 8226;case 150:return 8211;case 151:return 8212;case 152:return 732;case 153:return 8482;case 154:return 353;case 155:return 8250;case 156:return 339;case 157:return 157;case 158:return 382;case 159:return 376;default:if(e>=55296&&e<=57343||e>1114111)return 65533;if(e>=1&&e<=8||e>=14&&e<=31||e>=127&&e<=159||e>=64976&&e<=65007||e==11||e==65534||e==131070||e==3145726||e==196607||e==262142||e==262143||e==327678||e==327679||e==393214||e==393215||e==458750||e==458751||e==524286||e==524287||e==589822||e==589823||e==655358||e==655359||e==720894||e==720895||e==786430||e==786431||e==851966||e==851967||e==917502||e==917503||e==983038||e==983039||e==1048574||e==1048575||e==1114110||e==1114111)return e}},n.EntityParser=f},{"./InputStream":3,"html5-entities":12}],3:[function(e,t,n){function r(){this.data="",this.start=0,this.committed=0,this.eof=!1,this.lastLocation={line:0,column:0}}r.EOF=-1,r.DRAIN=-2,r.prototype={slice:function(){if(this.start>=this.data.length){if(!this.eof)throw r.DRAIN;return r.EOF}return this.data.slice(this.start,this.data.length)},"char":function(){if(!this.eof&&this.start>=this.data.length-1)throw r.DRAIN;if(this.start>=this.data.length)return r.EOF;var e=this.data[this.start++];return e==="\r"&&(e="\n"),e},advance:function(e){this.start+=e;if(this.start>=this.data.length){if(!this.eof)throw r.DRAIN;return r.EOF}this.committed>this.data.length/2&&(this.lastLocation=this.location(),this.data=this.data.slice(this.committed),this.start=this.start-this.committed,this.committed=0)},matchWhile:function(e){if(this.eof&&this.start>=this.data.length)return"";var t=new RegExp("^"+e+"+"),n=t.exec(this.slice());if(n){if(!this.eof&&n[0].length==this.data.length-this.start)throw r.DRAIN;return this.advance(n[0].length),n[0]}return""},matchUntil:function(e){var t,n;n=this.slice();if(n===r.EOF)return"";if(t=(new RegExp(e+(this.eof?"|$":""))).exec(n)){var i=this.data.slice(this.start,this.start+t.index);return this.advance(t.index),i.replace(/\r/g,"\n").replace(/\n{2,}/g,"\n")}throw r.DRAIN},append:function(e){this.data+=e},shift:function(e){if(!this.eof&&this.start+e>=this.data.length)throw r.DRAIN;if(this.eof&&this.start>=this.data.length)return r.EOF;var t=this.data.slice(this.start,this.start+e).toString();return this.advance(Math.min(e,this.data.length-this.start)),t},peek:function(e){if(!this.eof&&this.start+e>=this.data.length)throw r.DRAIN;return this.eof&&this.start>=this.data.length?r.EOF:this.data.slice(this.start,Math.min(this.start+e,this.data.length)).toString()},length:function(){return this.data.length-this.start-1},unget:function(e){if(e===r.EOF)return;this.start-=e.length},undo:function(){this.start=this.committed},commit:function(){this.committed=this.start},location:function(){var e=this.lastLocation.line,t=this.lastLocation.column,n=this.data.slice(0,this.committed),r=n.match(/\n/g),i=r?e+r.length:e,s=r?n.length-n.lastIndexOf("\n")-1:t+n.length;return{line:i,column:s}}},n.InputStream=r},{}],4:[function(e,t,n){function i(e,t,n,r){this.localName=t,this.namespaceURI=e,this.attributes=n,this.node=r}function s(e,t){for(var n=0;n-1},i.prototype.isFosterParenting=function(){return this.namespaceURI==="http://www.w3.org/1999/xhtml"?this.localName==="table"||this.localName==="tbody"||this.localName==="tfoot"||this.localName==="thead"||this.localName==="tr":!1},i.prototype.isNumberedHeader=function(){return this.namespaceURI==="http://www.w3.org/1999/xhtml"?this.localName==="h1"||this.localName==="h2"||this.localName==="h3"||this.localName==="h4"||this.localName==="h5"||this.localName==="h6":!1},i.prototype.isForeign=function(){return this.namespaceURI!="http://www.w3.org/1999/xhtml"},i.prototype.isHtmlIntegrationPoint=function(){if(this.namespaceURI==="http://www.w3.org/1998/Math/MathML"){if(this.localName!=="annotation-xml")return!1;var e=s(this,"encoding");return e?(e=e.toLowerCase(),e==="text/html"||e==="application/xhtml+xml"):!1}return this.namespaceURI==="http://www.w3.org/2000/svg"?this.localName==="foreignObject"||this.localName==="desc"||this.localName==="title":!1},i.prototype.isMathMLTextIntegrationPoint=function(){return this.namespaceURI==="http://www.w3.org/1998/Math/MathML"?this.localName==="mi"||this.localName==="mo"||this.localName==="mn"||this.localName==="ms"||this.localName==="mtext":!1},n.StackItem=i},{}],5:[function(e,t,n){function s(e){return e===" "||e==="\n"||e===" "||e==="\r"||e==="\f"}function o(e){return e>="A"&&e<="Z"||e>="a"&&e<="z"}function u(e){this._tokenHandler=e,this._state=u.DATA,this._inputStream=new r,this._currentToken=null,this._temporaryBuffer="",this._additionalAllowedCharacter=""}var r=e("./InputStream").InputStream,i=e("./EntityParser").EntityParser;u.prototype._parseError=function(e,t){this._tokenHandler.parseError(e,t)},u.prototype._emitToken=function(e){if(e.type==="StartTag")for(var t=1;t"&&r?(t._currentToken={type:"EndTag",name:this._temporaryBuffer,data:[],selfClosing:!1},t._emitCurrentToken(),t.setState(n)):o(i)?(this._temporaryBuffer+=i,e.commit()):(t._emitToken({type:"Characters",data:""&&r?(t._currentToken={type:"EndTag",name:this._temporaryBuffer,data:[],selfClosing:!1},t._emitCurrentToken(),t.setState(n)):o(i)?(this._temporaryBuffer+=i,e.commit()):(t._emitToken({type:"Characters",data:""&&n?(t._currentToken={type:"EndTag",name:"script",data:[],selfClosing:!1},t._emitCurrentToken()):o(r)?(this._temporaryBuffer+=r,e.commit()):(t._emitToken({type:"Characters",data:""?(t._emitToken({type:"Characters",data:">"}),t.setState(p)):i==="\0"?(t._parseError("invalid-codepoint"),t._emitToken({type:"Characters",data:"\ufffd"}),t.setState(N)):(t._emitToken({type:"Characters",data:i}),t.setState(N)),!0}function L(e){var n=e.char();return n==="/"?(this._temporaryBuffer="",t.setState(A)):o(n)?(t._emitToken({type:"Characters",data:"<"+n}),this._temporaryBuffer=n,t.setState(M)):(t._emitToken({type:"Characters",data:"<"}),e.unget(n),t.setState(N)),!0}function A(e){var n=e.char();return o(n)?(this._temporaryBuffer=n,t.setState(O)):(t._emitToken({type:"Characters",data:""&&r?(t._currentToken={type:"EndTag",name:"script",data:[],selfClosing:!1},t.setState(n),t._emitCurrentToken()):o(i)?(this._temporaryBuffer+=i,e.commit()):(t._emitToken({type:"Characters",data:""?(t._emitToken({type:"Characters",data:n}),this._temporaryBuffer.toLowerCase()==="script"?t.setState(_):t.setState(N)):o(n)?(t._emitToken({type:"Characters",data:n}),this._temporaryBuffer+=n,e.commit()):(e.unget(n),t.setState(N)),!0}function _(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-script"),e.unget(i),t.setState(n)):i==="-"?(t._emitToken({type:"Characters",data:"-"}),t.setState(D)):i==="<"?(t._emitToken({type:"Characters",data:"<"}),t.setState(H)):i==="\0"?(t._parseError("invalid-codepoint"),t._emitToken({type:"Characters",data:"\ufffd"}),e.commit()):(t._emitToken({type:"Characters",data:i}),e.commit()),!0}function D(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-script"),e.unget(i),t.setState(n)):i==="-"?(t._emitToken({type:"Characters",data:"-"}),t.setState(P)):i==="<"?(t._emitToken({type:"Characters",data:"<"}),t.setState(H)):i==="\0"?(t._parseError("invalid-codepoint"),t._emitToken({type:"Characters",data:"\ufffd"}),t.setState(_)):(t._emitToken({type:"Characters",data:i}),t.setState(_)),!0}function P(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-script"),e.unget(i),t.setState(n)):i==="-"?(t._emitToken({type:"Characters",data:"-"}),e.commit()):i==="<"?(t._emitToken({type:"Characters",data:"<"}),t.setState(H)):i===">"?(t._emitToken({type:"Characters",data:">"}),t.setState(p)):i==="\0"?(t._parseError("invalid-codepoint"),t._emitToken({type:"Characters",data:"\ufffd"}),t.setState(_)):(t._emitToken({type:"Characters",data:i}),t.setState(_)),!0}function H(e){var n=e.char();return n==="/"?(t._emitToken({type:"Characters",data:"/"}),this._temporaryBuffer="",t.setState(B)):(e.unget(n),t.setState(_)),!0}function B(e){var n=e.char();return s(n)||n==="/"||n===">"?(t._emitToken({type:"Characters",data:n}),this._temporaryBuffer.toLowerCase()==="script"?t.setState(N):t.setState(_)):o(n)?(t._emitToken({type:"Characters",data:n}),this._temporaryBuffer+=n,e.commit()):(e.unget(n),t.setState(_)),!0}function j(e){var i=e.char();return i===r.EOF?(t._parseError("bare-less-than-sign-at-eof"),t._emitToken({type:"Characters",data:"<"}),e.unget(i),t.setState(n)):o(i)?(t._currentToken={type:"StartTag",name:i.toLowerCase(),data:[]},t.setState(I)):i==="!"?t.setState(G):i==="/"?t.setState(F):i===">"?(t._parseError("expected-tag-name-but-got-right-bracket"),t._emitToken({type:"Characters",data:"<>"}),t.setState(n)):i==="?"?(t._parseError("expected-tag-name-but-got-question-mark"),e.unget(i),t.setState(Q)):(t._parseError("expected-tag-name"),t._emitToken({type:"Characters",data:"<"}),e.unget(i),t.setState(n)),!0}function F(e){var i=e.char();return i===r.EOF?(t._parseError("expected-closing-tag-but-got-eof"),t._emitToken({type:"Characters",data:""?(t._parseError("expected-closing-tag-but-got-right-bracket"),t.setState(n)):(t._parseError("expected-closing-tag-but-got-char",{data:i}),e.unget(i),t.setState(Q)),!0}function I(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-tag-name"),e.unget(i),t.setState(n)):s(i)?t.setState(q):o(i)?t._currentToken.name+=i.toLowerCase():i===">"?t._emitCurrentToken():i==="/"?t.setState(K):i==="\0"?(t._parseError("invalid-codepoint"),t._currentToken.name+="\ufffd"):t._currentToken.name+=i,e.commit(),!0}function q(e){var i=e.char();if(i===r.EOF)t._parseError("expected-attribute-name-but-got-eof"),e.unget(i),t.setState(n);else{if(s(i))return!0;o(i)?(t._currentToken.data.push({nodeName:i.toLowerCase(),nodeValue:""}),t.setState(R)):i===">"?t._emitCurrentToken():i==="/"?t.setState(K):i==="'"||i==='"'||i==="="||i==="<"?(t._parseError("invalid-character-in-attribute-name"),t._currentToken.data.push({nodeName:i,nodeValue:""}),t.setState(R)):i==="\0"?(t._parseError("invalid-codepoint"),t._currentToken.data.push({nodeName:"\ufffd",nodeValue:""})):(t._currentToken.data.push({nodeName:i,nodeValue:""}),t.setState(R))}return!0}function R(e){var i=e.char(),u=!0,a=!1;i===r.EOF?(t._parseError("eof-in-attribute-name"),e.unget(i),t.setState(n),a=!0):i==="="?t.setState(z):o(i)?(t._currentAttribute().nodeName+=i.toLowerCase(),u=!1):i===">"?a=!0:s(i)?t.setState(U):i==="/"?t.setState(K):i==="'"||i==='"'?(t._parseError("invalid-character-in-attribute-name"),t._currentAttribute().nodeName+=i,u=!1):i==="\0"?(t._parseError("invalid-codepoint"),t._currentAttribute().nodeName+="\ufffd"):(t._currentAttribute().nodeName+=i,u=!1);if(u){var f=t._currentToken.data,l=f[f.length-1];for(var c=f.length-2;c>=0;c--)if(l.nodeName===f[c].nodeName){t._parseError("duplicate-attribute",{name:l.nodeName}),l.nodeName=null;break}a&&t._emitCurrentToken()}else e.commit();return!0}function U(e){var i=e.char();if(i===r.EOF)t._parseError("expected-end-of-tag-but-got-eof"),e.unget(i),t.setState(n);else{if(s(i))return!0;i==="="?t.setState(z):i===">"?t._emitCurrentToken():o(i)?(t._currentToken.data.push({nodeName:i,nodeValue:""}),t.setState(R)):i==="/"?t.setState(K):i==="'"||i==='"'||i==="<"?(t._parseError("invalid-character-after-attribute-name"),t._currentToken.data.push({nodeName:i,nodeValue:""}),t.setState(R)):i==="\0"?(t._parseError("invalid-codepoint"),t._currentToken.data.push({nodeName:"\ufffd",nodeValue:""})):(t._currentToken.data.push({nodeName:i,nodeValue:""}),t.setState(R))}return!0}function z(e){var i=e.char();if(i===r.EOF)t._parseError("expected-attribute-value-but-got-eof"),e.unget(i),t.setState(n);else{if(s(i))return!0;i==='"'?t.setState(W):i==="&"?(t.setState(V),e.unget(i)):i==="'"?t.setState(X):i===">"?(t._parseError("expected-attribute-value-but-got-right-bracket"),t._emitCurrentToken()):i==="="||i==="<"||i==="`"?(t._parseError("unexpected-character-in-unquoted-attribute-value"),t._currentAttribute().nodeValue+=i,t.setState(V)):i==="\0"?(t._parseError("invalid-codepoint"),t._currentAttribute().nodeValue+="\ufffd"):(t._currentAttribute().nodeValue+=i,t.setState(V))}return!0}function W(e){var i=e.char();if(i===r.EOF)t._parseError("eof-in-attribute-value-double-quote"),e.unget(i),t.setState(n);else if(i==='"')t.setState(J);else if(i==="&")this._additionalAllowedCharacter='"',t.setState($);else if(i==="\0")t._parseError("invalid-codepoint"),t._currentAttribute().nodeValue+="\ufffd";else{var s=e.matchUntil('[\0"&]');i+=s,t._currentAttribute().nodeValue+=i}return!0}function X(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-attribute-value-single-quote"),e.unget(i),t.setState(n)):i==="'"?t.setState(J):i==="&"?(this._additionalAllowedCharacter="'",t.setState($)):i==="\0"?(t._parseError("invalid-codepoint"),t._currentAttribute().nodeValue+="\ufffd"):t._currentAttribute().nodeValue+=i+e.matchUntil("\0|['&]"),!0}function V(e){var i=e.char();if(i===r.EOF)t._parseError("eof-after-attribute-value"),e.unget(i),t.setState(n);else if(s(i))t.setState(q);else if(i==="&")this._additionalAllowedCharacter=">",t.setState($);else if(i===">")t._emitCurrentToken();else if(i==='"'||i==="'"||i==="="||i==="`"||i==="<")t._parseError("unexpected-character-in-unquoted-attribute-value"),t._currentAttribute().nodeValue+=i,e.commit();else if(i==="\0")t._parseError("invalid-codepoint"),t._currentAttribute().nodeValue+="\ufffd";else{var o=e.matchUntil("\0|[ \n \f \r&<>\"'=`]");o===r.EOF&&(t._parseError("eof-in-attribute-value-no-quotes"),t._emitCurrentToken()),e.commit(),t._currentAttribute().nodeValue+=i+o}return!0}function $(e){var n=i.consumeEntity(e,t,this._additionalAllowedCharacter);return this._currentAttribute().nodeValue+=n||"&",this._additionalAllowedCharacter==='"'?t.setState(W):this._additionalAllowedCharacter==="'"?t.setState(X):this._additionalAllowedCharacter===">"&&t.setState(V),!0}function J(e){var i=e.char();return i===r.EOF?(t._parseError("eof-after-attribute-value"),e.unget(i),t.setState(n)):s(i)?t.setState(q):i===">"?(t.setState(n),t._emitCurrentToken()):i==="/"?t.setState(K):(t._parseError("unexpected-character-after-attribute-value"),e.unget(i),t.setState(q)),!0}function K(e){var i=e.char();return i===r.EOF?(t._parseError("unexpected-eof-after-solidus-in-tag"),e.unget(i),t.setState(n)):i===">"?(t._currentToken.selfClosing=!0,t.setState(n),t._emitCurrentToken()):(t._parseError("unexpected-character-after-solidus-in-tag"),e.unget(i),t.setState(q)),!0}function Q(e){var r=e.matchUntil(">");return r=r.replace(/\u0000/g,"\ufffd"),e.char(),t._emitToken({type:"Comment",data:r}),t.setState(n),!0}function G(e){var n=e.shift(2);if(n==="--")t._currentToken={type:"Comment",data:""},t.setState(Z);else{var i=e.shift(5);if(i===r.EOF||n===r.EOF)return t._parseError("expected-dashes-or-doctype"),t.setState(Q),e.unget(n),!0;n+=i,n.toUpperCase()==="DOCTYPE"?(t._currentToken={type:"Doctype",name:"",publicId:null,systemId:null,forceQuirks:!1},t.setState(st)):t._tokenHandler.isCdataSectionAllowed()&&n==="[CDATA["?t.setState(Y):(t._parseError("expected-dashes-or-doctype"),e.unget(n),t.setState(Q))}return!0}function Y(e){var r=e.matchUntil("]]>");return e.shift(3),r&&t._emitToken({type:"Characters",data:r}),t.setState(n),!0}function Z(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-comment"),t._emitToken(t._currentToken),e.unget(i),t.setState(n)):i==="-"?t.setState(et):i===">"?(t._parseError("incorrect-comment"),t._emitToken(t._currentToken),t.setState(n)):i==="\0"?(t._parseError("invalid-codepoint"),t._currentToken.data+="\ufffd"):(t._currentToken.data+=i,t.setState(tt)),!0}function et(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-comment"),t._emitToken(t._currentToken),e.unget(i),t.setState(n)):i==="-"?t.setState(rt):i===">"?(t._parseError("incorrect-comment"),t._emitToken(t._currentToken),t.setState(n)):i==="\0"?(t._parseError("invalid-codepoint"),t._currentToken.data+="\ufffd"):(t._currentToken.data+="-"+i,t.setState(tt)),!0}function tt(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-comment"),t._emitToken(t._currentToken),e.unget(i),t.setState(n)):i==="-"?t.setState(nt):i==="\0"?(t._parseError("invalid-codepoint"),t._currentToken.data+="\ufffd"):(t._currentToken.data+=i,e.commit()),!0}function nt(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-comment-end-dash"),t._emitToken(t._currentToken),e.unget(i),t.setState(n)):i==="-"?t.setState(rt):i==="\0"?(t._parseError("invalid-codepoint"),t._currentToken.data+="-\ufffd",t.setState(tt)):(t._currentToken.data+="-"+i+e.matchUntil("\0|-"),e.char()),!0}function rt(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-comment-double-dash"),t._emitToken(t._currentToken),e.unget(i),t.setState(n)):i===">"?(t._emitToken(t._currentToken),t.setState(n)):i==="!"?(t._parseError("unexpected-bang-after-double-dash-in-comment"),t.setState(it)):i==="-"?(t._parseError("unexpected-dash-after-double-dash-in-comment"),t._currentToken.data+=i):i==="\0"?(t._parseError("invalid-codepoint"),t._currentToken.data+="--\ufffd",t.setState(tt)):(t._parseError("unexpected-char-in-comment"),t._currentToken.data+="--"+i,t.setState(tt)),!0}function it(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-comment-end-bang-state"),t._emitToken(t._currentToken),e.unget(i),t.setState(n)):i===">"?(t._emitToken(t._currentToken),t.setState(n)):i==="-"?(t._currentToken.data+="--!",t.setState(nt)):(t._currentToken.data+="--!"+i,t.setState(tt)),!0}function st(e){var i=e.char();return i===r.EOF?(t._parseError("expected-doctype-name-but-got-eof"),t._currentToken.forceQuirks=!0,e.unget(i),t.setState(n),t._emitCurrentToken()):s(i)?t.setState(ot):(t._parseError("need-space-after-doctype"),e.unget(i),t.setState(ot)),!0}function ot(e){var i=e.char();return i===r.EOF?(t._parseError("expected-doctype-name-but-got-eof"),t._currentToken.forceQuirks=!0,e.unget(i),t.setState(n),t._emitCurrentToken()):s(i)||(i===">"?(t._parseError("expected-doctype-name-but-got-right-bracket"),t._currentToken.forceQuirks=!0,t.setState(n),t._emitCurrentToken()):(o(i)&&(i=i.toLowerCase()),t._currentToken.name=i,t.setState(ut))),!0}function ut(e){var i=e.char();return i===r.EOF?(t._currentToken.forceQuirks=!0,e.unget(i),t._parseError("eof-in-doctype-name"),t.setState(n),t._emitCurrentToken()):s(i)?t.setState(at):i===">"?(t.setState(n),t._emitCurrentToken()):(o(i)&&(i=i.toLowerCase()),t._currentToken.name+=i,e.commit()),!0}function at(e){var i=e.char();if(i===r.EOF)t._currentToken.forceQuirks=!0,e.unget(i),t._parseError("eof-in-doctype"),t.setState(n),t._emitCurrentToken();else if(!s(i))if(i===">")t.setState(n),t._emitCurrentToken();else{if(["p","P"].indexOf(i)>-1){var o=[["u","U"],["b","B"],["l","L"],["i","I"],["c","C"]],u=o.every(function(t){return i=e.char(),t.indexOf(i)>-1});if(u)return t.setState(ft),!0}else if(["s","S"].indexOf(i)>-1){var o=[["y","Y"],["s","S"],["t","T"],["e","E"],["m","M"]],u=o.every(function(t){return i=e.char(),t.indexOf(i)>-1});if(u)return t.setState(vt),!0}e.unget(i),t._currentToken.forceQuirks=!0,i===r.EOF?(t._parseError("eof-in-doctype"),e.unget(i),t.setState(n),t._emitCurrentToken()):(t._parseError("expected-space-or-right-bracket-in-doctype",{data:i}),t.setState(wt))}return!0}function ft(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-doctype"),t._currentToken.forceQuirks=!0,e.unget(i),t.setState(n),t._emitCurrentToken()):s(i)?t.setState(lt):i==="'"||i==='"'?(t._parseError("unexpected-char-in-doctype"),e.unget(i),t.setState(lt)):(e.unget(i),t.setState(lt)),!0}function lt(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-doctype"),t._currentToken.forceQuirks=!0,e.unget(i),t.setState(n),t._emitCurrentToken()):s(i)||(i==='"'?(t._currentToken.publicId="",t.setState(ct)):i==="'"?(t._currentToken.publicId="",t.setState(ht)):i===">"?(t._parseError("unexpected-end-of-doctype"),t._currentToken.forceQuirks=!0,t.setState(n),t._emitCurrentToken()):(t._parseError("unexpected-char-in-doctype"),t._currentToken.forceQuirks=!0,t.setState(wt))),!0}function ct(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-doctype"),t._currentToken.forceQuirks=!0,e.unget(i),t.setState(n),t._emitCurrentToken()):i==='"'?t.setState(pt):i===">"?(t._parseError("unexpected-end-of-doctype"),t._currentToken.forceQuirks=!0,t.setState(n),t._emitCurrentToken()):t._currentToken.publicId+=i,!0}function ht(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-doctype"),t._currentToken.forceQuirks=!0,e.unget(i),t.setState(n),t._emitCurrentToken()):i==="'"?t.setState(pt):i===">"?(t._parseError("unexpected-end-of-doctype"),t._currentToken.forceQuirks=!0,t.setState(n),t._emitCurrentToken()):t._currentToken.publicId+=i,!0}function pt(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-doctype"),t._currentToken.forceQuirks=!0,t._emitCurrentToken(),e.unget(i),t.setState(n)):s(i)?t.setState(dt):i===">"?(t.setState(n),t._emitCurrentToken()):i==='"'?(t._parseError("unexpected-char-in-doctype"),t._currentToken.systemId="",t.setState(gt)):i==="'"?(t._parseError("unexpected-char-in-doctype"),t._currentToken.systemId="",t.setState(yt)):(t._parseError("unexpected-char-in-doctype"),t._currentToken.forceQuirks=!0,t.setState(wt)),!0}function dt(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-doctype"),t._currentToken.forceQuirks=!0,t._emitCurrentToken(),e.unget(i),t.setState(n)):s(i)||(i===">"?(t._emitCurrentToken(),t.setState(n)):i==='"'?(t._currentToken.systemId="",t.setState(gt)):i==="'"?(t._currentToken.systemId="",t.setState(yt)):(t._parseError("unexpected-char-in-doctype"),t._currentToken.forceQuirks=!0,t.setState(wt))),!0}function vt(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-doctype"),t._currentToken.forceQuirks=!0,t._emitCurrentToken(),e.unget(i),t.setState(n)):s(i)?t.setState(mt):i==="'"||i==='"'?(t._parseError("unexpected-char-in-doctype"),e.unget(i),t.setState(mt)):(e.unget(i),t.setState(mt)),!0}function mt(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-doctype"),t._currentToken.forceQuirks=!0,t._emitCurrentToken(),e.unget(i),t.setState(n)):s(i)||(i==='"'?(t._currentToken.systemId="",t.setState(gt)):i==="'"?(t._currentToken.systemId="",t.setState(yt)):i===">"?(t._parseError("unexpected-end-of-doctype"),t._currentToken.forceQuirks=!0,t._emitCurrentToken(),t.setState(n)):(t._parseError("unexpected-char-in-doctype"),t._currentToken.forceQuirks=!0,t.setState(wt))),!0}function gt(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-doctype"),t._currentToken.forceQuirks=!0,t._emitCurrentToken(),e.unget(i),t.setState(n)):i==='"'?t.setState(bt):i===">"?(t._parseError("unexpected-end-of-doctype"),t._currentToken.forceQuirks=!0,t._emitCurrentToken(),t.setState(n)):t._currentToken.systemId+=i,!0}function yt(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-doctype"),t._currentToken.forceQuirks=!0,t._emitCurrentToken(),e.unget(i),t.setState(n)):i==="'"?t.setState(bt):i===">"?(t._parseError("unexpected-end-of-doctype"),t._currentToken.forceQuirks=!0,t._emitCurrentToken(),t.setState(n)):t._currentToken.systemId+=i,!0}function bt(e){var i=e.char();return i===r.EOF?(t._parseError("eof-in-doctype"),t._currentToken.forceQuirks=!0,t._emitCurrentToken(),e.unget(i),t.setState(n)):s(i)||(i===">"?(t._emitCurrentToken(),t.setState(n)):(t._parseError("unexpected-char-in-doctype"),t.setState(wt))),!0}function wt(e){var i=e.char();return i===r.EOF?(e.unget(i),t._emitCurrentToken(),t.setState(n)):i===">"&&(t._emitCurrentToken(),t.setState(n)),!0}u.DATA=n,u.RCDATA=f,u.RAWTEXT=c,u.SCRIPT_DATA=p,u.PLAINTEXT=h,this._state=u.DATA,this._inputStream.append(e),this._tokenHandler.startTokenization(this),this._inputStream.eof=!0;var t=this;while(this._state.call(this,this._inputStream));},Object.defineProperty(u.prototype,"lineNumber",{get:function(){return this._inputStream.location().line}}),Object.defineProperty(u.prototype,"columnNumber",{get:function(){return this._inputStream.location().column}}),n.Tokenizer=u},{"./EntityParser":2,"./InputStream":3}],6:[function(e,t,n){function c(e){return e===" "||e==="\n"||e===" "||e==="\r"||e==="\f"}function h(e){return c(e)||e==="\ufffd"}function p(e){for(var t=0;t2?e.parseError("expected-closing-tag-but-got-eof"):e.openElements.length==2&&e.openElements.item(1).localName!="body"?e.parseError("expected-closing-tag-but-got-eof"):e.context&&e.openElements.length>1},processComment:function(t){e.insertComment(t,e.currentStackItem().node)},processDoctype:function(t,n,r,i){e.parseError("unexpected-doctype")},processStartTag:function(e,t,n){if(this[this.start_tag_handlers[e]])this[this.start_tag_handlers[e]](e,t,n);else{if(!this[this.start_tag_handlers["-default"]])throw new Error("No handler found for "+e);this[this.start_tag_handlers["-default"]](e,t,n)}},processEndTag:function(e){if(this[this.end_tag_handlers[e]])this[this.end_tag_handlers[e]](e);else{if(!this[this.end_tag_handlers["-default"]])throw new Error("No handler found for "+e);this[this.end_tag_handlers["-default"]](e)}},startTagHtml:function(e,n){t.inBody.startTagHtml(e,n)}},t.initial=Object.create(t.base),t.initial.processEOF=function(){e.parseError("expected-doctype-but-got-eof"),this.anythingElse(),e.insertionMode.processEOF()},t.initial.processComment=function(t){e.insertComment(t,e.document)},t.initial.processDoctype=function(t,n,r,i){function s(e){return n.toLowerCase().indexOf(e)===0}e.insertDoctype(t||"",n||"",r||""),i||t!="html"||n!=null&&(["+//silmaril//dtd html pro v0r11 19970101//","-//advasoft ltd//dtd html 3.0 aswedit + extensions//","-//as//dtd html 3.0 aswedit + extensions//","-//ietf//dtd html 2.0 level 1//","-//ietf//dtd html 2.0 level 2//","-//ietf//dtd html 2.0 strict level 1//","-//ietf//dtd html 2.0 strict level 2//","-//ietf//dtd html 2.0 strict//","-//ietf//dtd html 2.0//","-//ietf//dtd html 2.1e//","-//ietf//dtd html 3.0//","-//ietf//dtd html 3.0//","-//ietf//dtd html 3.2 final//","-//ietf//dtd html 3.2//","-//ietf//dtd html 3//","-//ietf//dtd html level 0//","-//ietf//dtd html level 0//","-//ietf//dtd html level 1//","-//ietf//dtd html level 1//","-//ietf//dtd html level 2//","-//ietf//dtd html level 2//","-//ietf//dtd html level 3//","-//ietf//dtd html level 3//","-//ietf//dtd html strict level 0//","-//ietf//dtd html strict level 0//","-//ietf//dtd html strict level 1//","-//ietf//dtd html strict level 1//","-//ietf//dtd html strict level 2//","-//ietf//dtd html strict level 2//","-//ietf//dtd html strict level 3//","-//ietf//dtd html strict level 3//","-//ietf//dtd html strict//","-//ietf//dtd html strict//","-//ietf//dtd html strict//","-//ietf//dtd html//","-//ietf//dtd html//","-//ietf//dtd html//","-//metrius//dtd metrius presentational//","-//microsoft//dtd internet explorer 2.0 html strict//","-//microsoft//dtd internet explorer 2.0 html//","-//microsoft//dtd internet explorer 2.0 tables//","-//microsoft//dtd internet explorer 3.0 html strict//","-//microsoft//dtd internet explorer 3.0 html//","-//microsoft//dtd internet explorer 3.0 tables//","-//netscape comm. corp.//dtd html//","-//netscape comm. corp.//dtd strict html//","-//o'reilly and associates//dtd html 2.0//","-//o'reilly and associates//dtd html extended 1.0//","-//spyglass//dtd html 2.0 extended//","-//sq//dtd html 2.0 hotmetal + extensions//","-//sun microsystems corp.//dtd hotjava html//","-//sun microsystems corp.//dtd hotjava strict html//","-//w3c//dtd html 3 1995-03-24//","-//w3c//dtd html 3.2 draft//","-//w3c//dtd html 3.2 final//","-//w3c//dtd html 3.2//","-//w3c//dtd html 3.2s draft//","-//w3c//dtd html 4.0 frameset//","-//w3c//dtd html 4.0 transitional//","-//w3c//dtd html experimental 19960712//","-//w3c//dtd html experimental 970421//","-//w3c//dtd w3 html//","-//w3o//dtd w3 html 3.0//","-//webtechs//dtd mozilla html 2.0//","-//webtechs//dtd mozilla html//","html"].some(s)||["-//w3o//dtd w3 html strict 3.0//en//","-/w3c/dtd html 4.0 transitional/en","html"].indexOf(n.toLowerCase())>-1||r==null&&["-//w3c//dtd html 4.01 transitional//","-//w3c//dtd html 4.01 frameset//"].some(s))||r!=null&&r.toLowerCase()=="http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd"?(e.compatMode="quirks",e.parseError("quirky-doctype")):n!=null&&(["-//w3c//dtd xhtml 1.0 transitional//","-//w3c//dtd xhtml 1.0 frameset//"].some(s)||r!=null&&["-//w3c//dtd html 4.01 transitional//","-//w3c//dtd html 4.01 frameset//"].indexOf(n.toLowerCase())>-1)?(e.compatMode="limited quirks",e.parseError("almost-standards-doctype")):n=="-//W3C//DTD HTML 4.0//EN"&&(r==null||r=="http://www.w3.org/TR/REC-html40/strict.dtd")||n=="-//W3C//DTD HTML 4.01//EN"&&(r==null||r=="http://www.w3.org/TR/html4/strict.dtd")||n=="-//W3C//DTD XHTML 1.0 Strict//EN"&&r=="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"||n=="-//W3C//DTD XHTML 1.1//EN"&&r=="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"||(r!=null&&r!="about:legacy-compat"||n!=null)&&e.parseError("unknown-doctype"),e.setInsertionMode("beforeHTML")},t.initial.processCharacters=function(t){t.skipLeadingWhitespace();if(!t.length)return;e.parseError("expected-doctype-but-got-chars"),this.anythingElse(),e.insertionMode.processCharacters(t)},t.initial.processStartTag=function(t,n,r){e.parseError("expected-doctype-but-got-start-tag",{name:t}),this.anythingElse(),e.insertionMode.processStartTag(t,n,r)},t.initial.processEndTag=function(t){e.parseError("expected-doctype-but-got-end-tag",{name:t}),this.anythingElse(),e.insertionMode.processEndTag(t)},t.initial.anythingElse=function(){e.compatMode="quirks",e.setInsertionMode("beforeHTML")},t.beforeHTML=Object.create(t.base),t.beforeHTML.start_tag_handlers={html:"startTagHtml","-default":"startTagOther"},t.beforeHTML.processEOF=function(){this.anythingElse(),e.insertionMode.processEOF()},t.beforeHTML.processComment=function(t){e.insertComment(t,e.document)},t.beforeHTML.processCharacters=function(t){t.skipLeadingWhitespace();if(!t.length)return;this.anythingElse(),e.insertionMode.processCharacters(t)},t.beforeHTML.startTagHtml=function(t,n,r){e.insertHtmlElement(n),e.setInsertionMode("beforeHead")},t.beforeHTML.startTagOther=function(t,n,r){this.anythingElse(),e.insertionMode.processStartTag(t,n,r)},t.beforeHTML.processEndTag=function(t){this.anythingElse(),e.insertionMode.processEndTag(t)},t.beforeHTML.anythingElse=function(){e.insertHtmlElement(),e.setInsertionMode("beforeHead")},t.afterAfterBody=Object.create(t.base),t.afterAfterBody.start_tag_handlers={html:"startTagHtml","-default":"startTagOther"},t.afterAfterBody.processComment=function(t){e.insertComment(t,e.document)},t.afterAfterBody.processDoctype=function(e){t.inBody.processDoctype(e)},t.afterAfterBody.startTagHtml=function(e,n){t.inBody.startTagHtml(e,n)},t.afterAfterBody.startTagOther=function(t,n,r){e.parseError("unexpected-start-tag",{name:t}),e.setInsertionMode("inBody"),e.insertionMode.processStartTag(t,n,r)},t.afterAfterBody.endTagOther=function(t){e.parseError("unexpected-end-tag",{name:t}),e.setInsertionMode("inBody"),e.insertionMode.processEndTag(t)},t.afterAfterBody.processCharacters=function(n){if(!p(n.characters))return e.parseError("unexpected-char-after-body"),e.setInsertionMode("inBody"),e.insertionMode.processCharacters(n);t.inBody.processCharacters(n)},t.afterBody=Object.create(t.base),t.afterBody.end_tag_handlers={html:"endTagHtml","-default":"endTagOther"},t.afterBody.processComment=function(t){e.insertComment(t,e.openElements.rootNode)},t.afterBody.processCharacters=function(n){if(!p(n.characters))return e.parseError("unexpected-char-after-body"),e.setInsertionMode("inBody"),e.insertionMode.processCharacters(n);t.inBody.processCharacters(n)},t.afterBody.processStartTag=function(t,n,r){e.parseError("unexpected-start-tag-after-body",{name:t}),e.setInsertionMode("inBody"),e.insertionMode.processStartTag(t,n,r)},t.afterBody.endTagHtml=function(t){e.context?e.parseError("end-html-in-innerhtml"):e.setInsertionMode("afterAfterBody")},t.afterBody.endTagOther=function(t){e.parseError("unexpected-end-tag-after-body",{name:t}),e.setInsertionMode("inBody"),e.insertionMode.processEndTag(t)},t.afterFrameset=Object.create(t.base),t.afterFrameset.start_tag_handlers={html:"startTagHtml",noframes:"startTagNoframes","-default":"startTagOther"},t.afterFrameset.end_tag_handlers={html:"endTagHtml","-default":"endTagOther"},t.afterFrameset.processCharacters=function(t){var n=t.takeRemaining(),r="";for(var i=0;i1)e.openElements.pop();e.insertElement(t,n),e.setInsertionMode("inFrameset")}},t.inBody.startTagCloseP=function(t,n){e.openElements.inButtonScope("p")&&this.endTagP("p"),e.insertElement(t,n)},t.inBody.startTagPreListing=function(t,n){e.openElements.inButtonScope("p")&&this.endTagP("p"),e.insertElement(t,n),e.framesetOk=!1,e.shouldSkipLeadingNewline=!0},t.inBody.startTagForm=function(t,n){e.form?e.parseError("unexpected-start-tag",{name:t}):(e.openElements.inButtonScope("p")&&this.endTagP("p"),e.insertElement(t,n),e.form=e.currentStackItem())},t.inBody.startTagRpRt=function(t,n){e.openElements.inScope("ruby")&&(e.generateImpliedEndTags(),e.currentStackItem().localName!="ruby"&&e.parseError("unexpected-start-tag",{name:t})),e.insertElement(t,n)},t.inBody.startTagListItem=function(t,n){var r={li:["li"],dd:["dd","dt"],dt:["dd","dt"]},i=r[t],s=e.openElements;for(var o=s.length-1;o>=0;o--){var u=s.item(o);if(i.indexOf(u.localName)!=-1){e.insertionMode.processEndTag(u.localName);break}if(u.isSpecial()&&u.localName!=="p"&&u.localName!=="address"&&u.localName!=="div")break}e.openElements.inButtonScope("p")&&this.endTagP("p"),e.insertElement(t,n),e.framesetOk=!1},t.inBody.startTagPlaintext=function(t,n){e.openElements.inButtonScope("p")&&this.endTagP("p"),e.insertElement(t,n),e.tokenizer.setState(u.PLAINTEXT)},t.inBody.startTagHeading=function(t,n){e.openElements.inButtonScope("p")&&this.endTagP("p"),e.currentStackItem().isNumberedHeader()&&(e.parseError("unexpected-start-tag",{name:t}),e.popElement()),e.insertElement(t,n)},t.inBody.startTagA=function(t,n){var r=e.elementInActiveFormattingElements("a");r&&(e.parseError("unexpected-start-tag-implies-end-tag",{startName:"a",endName:"a"}),e.adoptionAgencyEndTag("a"),e.openElements.contains(r)&&e.openElements.remove(r),e.removeElementFromActiveFormattingElements(r)),e.reconstructActiveFormattingElements(),e.insertFormattingElement(t,n)},t.inBody.startTagFormatting=function(t,n){e.reconstructActiveFormattingElements(),e.insertFormattingElement(t,n)},t.inBody.startTagNobr=function(t,n){e.reconstructActiveFormattingElements(),e.openElements.inScope("nobr")&&(e.parseError("unexpected-start-tag-implies-end-tag",{startName:"nobr",endName:"nobr"}),this.processEndTag("nobr"),e.reconstructActiveFormattingElements()),e.insertFormattingElement(t,n)},t.inBody.startTagButton=function(t,n){e.openElements.inScope("button")?(e.parseError("unexpected-start-tag-implies-end-tag",{startName:"button",endName:"button"}),this.processEndTag("button"),e.insertionMode.processStartTag(t,n)):(e.framesetOk=!1,e.reconstructActiveFormattingElements(),e.insertElement(t,n))},t.inBody.startTagAppletMarqueeObject=function(t,n){e.reconstructActiveFormattingElements(),e.insertElement(t,n),e.activeFormattingElements.push(l),e.framesetOk=!1},t.inBody.endTagAppletMarqueeObject=function(t){e.openElements.inScope(t)?(e.generateImpliedEndTags(),e.currentStackItem().localName!=t&&e.parseError("end-tag-too-early",{name:t}),e.openElements.popUntilPopped(t),e.clearActiveFormattingElements()):e.parseError("unexpected-end-tag",{name:t})},t.inBody.startTagXmp=function(t,n){e.openElements.inButtonScope("p")&&this.processEndTag("p"),e.reconstructActiveFormattingElements(),e.processGenericRawTextStartTag(t,n),e.framesetOk=!1},t.inBody.startTagTable=function(t,n){e.compatMode!=="quirks"&&e.openElements.inButtonScope("p")&&this.processEndTag("p"),e.insertElement(t,n),e.setInsertionMode("inTable"),e.framesetOk=!1},t.inBody.startTagVoidFormatting=function(t,n){e.reconstructActiveFormattingElements(),e.insertSelfClosingElement(t,n),e.framesetOk=!1},t.inBody.startTagParamSourceTrack=function(t,n){e.insertSelfClosingElement(t,n)},t.inBody.startTagHr=function(t,n){e.openElements.inButtonScope("p")&&this.endTagP("p"),e.insertSelfClosingElement(t,n),e.framesetOk=!1},t.inBody.startTagImage=function(t,n){e.parseError("unexpected-start-tag-treated-as",{originalName:"image",newName:"img"}),this.processStartTag("img",n)},t.inBody.startTagInput=function(t,n){var r=e.framesetOk;this.startTagVoidFormatting(t,n);for(var i in n)if(n[i].nodeName=="type"){n[i].nodeValue.toLowerCase()=="hidden"&&(e.framesetOk=r);break}},t.inBody.startTagIsindex=function(t,n){e.parseError("deprecated-tag",{name:"isindex"}),e.selfClosingFlagAcknowledged=!0;if(e.form)return;var r=[],i=[],s="This is a searchable index. Enter search keywords: ";for(var o in n)switch(n[o].nodeName){case"action":r.push({nodeName:"action",nodeValue:n[o].nodeValue});break;case"prompt":s=n[o].nodeValue;break;case"name":break;default:i.push({nodeName:n[o].nodeName,nodeValue:n[o].nodeValue})}i.push({nodeName:"name",nodeValue:"isindex"}),this.processStartTag("form",r),this.processStartTag("hr"),this.processStartTag("label"),this.processCharacters(new m(s)),this.processStartTag("input",i),this.processEndTag("label"),this.processStartTag("hr"),this.processEndTag("form")},t.inBody.startTagTextarea=function(t,n){e.insertElement(t,n),e.tokenizer.setState(u.RCDATA),e.originalInsertionMode=e.insertionModeName,e.shouldSkipLeadingNewline=!0,e.framesetOk=!1,e.setInsertionMode("text")},t.inBody.startTagIFrame=function(t,n){e.framesetOk=!1,this.startTagRawText(t,n)},t.inBody.startTagRawText=function(t,n){e.processGenericRawTextStartTag(t,n)},t.inBody.startTagSelect=function(t,n){e.reconstructActiveFormattingElements(),e.insertElement(t,n),e.framesetOk=!1;var r=e.insertionModeName;r=="inTable"||r=="inCaption"||r=="inColumnGroup"||r=="inTableBody"||r=="inRow"||r=="inCell"?e.setInsertionMode("inSelectInTable"):e.setInsertionMode("inSelect")},t.inBody.startTagMisplaced=function(t,n){e.parseError("unexpected-start-tag-ignored",{name:t})},t.inBody.endTagMisplaced=function(t){e.parseError("unexpected-end-tag",{name:t})},t.inBody.endTagBr=function(t){e.parseError("unexpected-end-tag-treated-as",{originalName:"br",newName:"br element"}),e.reconstructActiveFormattingElements(),e.insertElement(t,[]),e.popElement()},t.inBody.startTagOptionOptgroup=function(t,n){e.currentStackItem().localName=="option"&&e.popElement(),e.reconstructActiveFormattingElements(),e.insertElement(t,n)},t.inBody.startTagOther=function(t,n){e.reconstructActiveFormattingElements(),e.insertElement(t,n)},t.inBody.endTagOther=function(t){var n;for(var r=e.openElements.length-1;r>0;r--){n=e.openElements.item(r);if(n.localName==t){e.generateImpliedEndTags(t),e.currentStackItem().localName!=t&&e.parseError("unexpected-end-tag",{name:t}),e.openElements.remove_openElements_until(function(e){return e===n});break}if(n.isSpecial()){e.parseError("unexpected-end-tag",{name:t});break}}},t.inBody.startTagMath=function(t,n,r){e.reconstructActiveFormattingElements(),n=e.adjustMathMLAttributes(n),n=e.adjustForeignAttributes(n),e.insertForeignElement(t,n,"http://www.w3.org/1998/Math/MathML",r)},t.inBody.startTagSVG=function(t,n,r){e.reconstructActiveFormattingElements(),n=e.adjustSVGAttributes(n),n=e.adjustForeignAttributes(n),e.insertForeignElement(t,n,"http://www.w3.org/2000/svg",r)},t.inBody.endTagP=function(t){e.openElements.inButtonScope("p")?(e.generateImpliedEndTags("p"),e.currentStackItem().localName!="p"&&e.parseError("unexpected-implied-end-tag",{name:"p"}),e.openElements.popUntilPopped(t)):(e.parseError("unexpected-end-tag",{name:"p"}),this.startTagCloseP("p",[]),this.endTagP("p"))},t.inBody.endTagBody=function(t){if(!e.openElements.inScope("body")){e.parseError("unexpected-end-tag",{name:t});return}e.currentStackItem().localName!="body"&&e.parseError("expected-one-end-tag-but-got-another",{expectedName:e.currentStackItem().localName,gotName:t}),e.setInsertionMode("afterBody")},t.inBody.endTagHtml=function(t){if(!e.openElements.inScope("body")){e.parseError("unexpected-end-tag",{name:t});return}e.currentStackItem().localName!="body"&&e.parseError("expected-one-end-tag-but-got-another",{expectedName:e.currentStackItem().localName,gotName:t}),e.setInsertionMode("afterBody"),e.insertionMode.processEndTag(t)},t.inBody.endTagBlock=function(t){e.openElements.inScope(t)?(e.generateImpliedEndTags(),e.currentStackItem().localName!=t&&e.parseError("end-tag-too-early",{name:t}),e.openElements.popUntilPopped(t)):e.parseError("unexpected-end-tag",{name:t})},t.inBody.endTagForm=function(t){var n=e.form;e.form=null,!n||!e.openElements.inScope(t)?e.parseError("unexpected-end-tag",{name:t}):(e.generateImpliedEndTags(),e.currentStackItem()!=n&&e.parseError("end-tag-too-early-ignored",{name:"form"}),e.openElements.remove(n))},t.inBody.endTagListItem=function(t){e.openElements.inListItemScope(t)?(e.generateImpliedEndTags(t),e.currentStackItem().localName!=t&&e.parseError("end-tag-too-early",{name:t}),e.openElements.popUntilPopped(t)):e.parseError("unexpected-end-tag",{name:t})},t.inBody.endTagHeading=function(t){if(!e.openElements.hasNumberedHeaderElementInScope()){e.parseError("unexpected-end-tag",{name:t});return}e.generateImpliedEndTags(),e.currentStackItem().localName!=t&&e.parseError("end-tag-too-early",{name:t}),e.openElements.remove_openElements_until(function(e){return e.isNumberedHeader()})},t.inBody.endTagFormatting=function(t,n){e.adoptionAgencyEndTag(t)||this.endTagOther(t,n)},t.inCaption=Object.create(t.base),t.inCaption.start_tag_handlers={html:"startTagHtml",caption:"startTagTableElement",col:"startTagTableElement",colgroup:"startTagTableElement",tbody:"startTagTableElement",td:"startTagTableElement",tfoot:"startTagTableElement",thead:"startTagTableElement",tr:"startTagTableElement","-default":"startTagOther"},t.inCaption.end_tag_handlers={caption:"endTagCaption",table:"endTagTable",body:"endTagIgnore",col:"endTagIgnore",colgroup:"endTagIgnore",html:"endTagIgnore",tbody:"endTagIgnore",td:"endTagIgnore",tfood:"endTagIgnore",thead:"endTagIgnore",tr:"endTagIgnore","-default":"endTagOther"},t.inCaption.processCharacters=function(e){t.inBody.processCharacters(e)},t.inCaption.startTagTableElement=function(t,n){e.parseError("unexpected-end-tag",{name:t});var r=!e.openElements.inTableScope("caption");e.insertionMode.processEndTag("caption"),r||e.insertionMode.processStartTag(t,n)},t.inCaption.startTagOther=function(e,n,r){t.inBody.processStartTag(e,n,r)},t.inCaption.endTagCaption=function(t){e.openElements.inTableScope("caption")?(e.generateImpliedEndTags(),e.currentStackItem().localName!="caption"&&e.parseError("expected-one-end-tag-but-got-another",{gotName:"caption",expectedName:e.currentStackItem().localName}),e.openElements.popUntilPopped("caption"),e.clearActiveFormattingElements(),e.setInsertionMode("inTable")):(r.ok(e.context),e.parseError("unexpected-end-tag",{name:t}))},t.inCaption.endTagTable=function(t){e.parseError("unexpected-end-table-in-caption");var n=!e.openElements.inTableScope("caption");e.insertionMode.processEndTag("caption"),n||e.insertionMode.processEndTag(t)},t.inCaption.endTagIgnore=function(t){e.parseError("unexpected-end-tag",{name:t})},t.inCaption.endTagOther=function(e){t.inBody.processEndTag(e)},t.inCell=Object.create(t.base),t.inCell.start_tag_handlers={html:"startTagHtml",caption:"startTagTableOther",col:"startTagTableOther",colgroup:"startTagTableOther",tbody:"startTagTableOther",td:"startTagTableOther",tfoot:"startTagTableOther",th:"startTagTableOther",thead:"startTagTableOther",tr:"startTagTableOther","-default":"startTagOther"},t.inCell.end_tag_handlers={td:"endTagTableCell",th:"endTagTableCell",body:"endTagIgnore",caption:"endTagIgnore",col:"endTagIgnore",colgroup:"endTagIgnore",html:"endTagIgnore",table:"endTagImply",tbody:"endTagImply",tfoot:"endTagImply",thead:"endTagImply",tr:"endTagImply","-default":"endTagOther"},t.inCell.processCharacters=function(e){t.inBody.processCharacters(e)},t.inCell.startTagTableOther=function(t,n,r){e.openElements.inTableScope("td")||e.openElements.inTableScope("th")?(this.closeCell(),e.insertionMode.processStartTag(t,n,r)):e.parseError("unexpected-start-tag",{name:t})},t.inCell.startTagOther=function(e,n,r){t.inBody.processStartTag(e,n,r)},t.inCell.endTagTableCell=function(t){e.openElements.inTableScope(t)?(e.generateImpliedEndTags(t),e.currentStackItem().localName!=t.toLowerCase()?(e.parseError("unexpected-cell-end-tag",{name:t}),e.openElements.popUntilPopped(t)):e.popElement(),e.clearActiveFormattingElements(),e.setInsertionMode("inRow")):e.parseError("unexpected-end-tag",{name:t})},t.inCell.endTagIgnore=function(t){e.parseError("unexpected-end-tag",{name:t})},t.inCell.endTagImply=function(t){e.openElements.inTableScope(t)?(this.closeCell(),e.insertionMode.processEndTag(t)):e.parseError("unexpected-end-tag",{name:t})},t.inCell.endTagOther=function(e){t.inBody.processEndTag(e)},t.inCell.closeCell=function(){e.openElements.inTableScope("td")?this.endTagTableCell("td"):e.openElements.inTableScope("th")&&this.endTagTableCell("th")},t.inColumnGroup=Object.create(t.base),t.inColumnGroup.start_tag_handlers={html:"startTagHtml",col:"startTagCol","-default":"startTagOther"},t.inColumnGroup.end_tag_handlers={colgroup:"endTagColgroup",col:"endTagCol","-default":"endTagOther"},t.inColumnGroup.ignoreEndTagColgroup=function(){return e.currentStackItem().localName=="html"},t.inColumnGroup.processCharacters=function(t){var n=t.takeLeadingWhitespace();n&&e.insertText(n);if(!t.length)return;var r=this.ignoreEndTagColgroup();this.endTagColgroup("colgroup"),r||e.insertionMode.processCharacters(t)},t.inColumnGroup.startTagCol=function(t,n){e.insertSelfClosingElement(t,n)},t.inColumnGroup.startTagOther=function(t,n,r){var i=this.ignoreEndTagColgroup();this.endTagColgroup("colgroup"),i||e.insertionMode.processStartTag(t,n,r)},t.inColumnGroup.endTagColgroup=function(t){this.ignoreEndTagColgroup()?(r.ok(e.context),e.parseError("unexpected-end-tag",{name:t})):(e.popElement(),e.setInsertionMode("inTable"))},t.inColumnGroup.endTagCol=function(t){e.parseError("no-end-tag",{name:"col"})},t.inColumnGroup.endTagOther=function(t){var n=this.ignoreEndTagColgroup();this.endTagColgroup("colgroup"),n||e.insertionMode.processEndTag(t)},t.inForeignContent=Object.create(t.base),t.inForeignContent.processStartTag=function(t,n,r){if(["b","big","blockquote","body","br","center","code","dd","div","dl","dt","em","embed","h1","h2","h3","h4","h5","h6","head","hr","i","img","li","listing","menu","meta","nobr","ol","p","pre","ruby","s","small","span","strong","strike","sub","sup","table","tt","u","ul","var"].indexOf(t)!=-1||t=="font"&&n.some(function(e){return["color","face","size"].indexOf(e.nodeName)>=0})){e.parseError("unexpected-html-element-in-foreign-content",{name:t});while(e.currentStackItem().isForeign()&&!e.currentStackItem().isHtmlIntegrationPoint()&&!e.currentStackItem().isMathMLTextIntegrationPoint())e.openElements.pop();e.insertionMode.processStartTag(t,n,r);return}e.currentStackItem().namespaceURI=="http://www.w3.org/1998/Math/MathML"&&(n=e.adjustMathMLAttributes(n)),e.currentStackItem().namespaceURI=="http://www.w3.org/2000/svg"&&(t=e.adjustSVGTagNameCase(t),n=e.adjustSVGAttributes(n)),n=e.adjustForeignAttributes(n),e.insertForeignElement(t,n,e.currentStackItem().namespaceURI,r)},t.inForeignContent.processEndTag=function(t){var n=e.currentStackItem(),r=e.openElements.length-1;n.localName.toLowerCase()!=t&&e.parseError("unexpected-end-tag",{name:t});for(;;){if(r===0)break;if(n.localName.toLowerCase()==t){while(e.openElements.pop()!=n);break}r-=1,n=e.openElements.item(r);if(n.isForeign())continue;e.insertionMode.processEndTag(t);break}},t.inForeignContent.processCharacters=function(t){var n=t.takeRemaining();n=n.replace(/\u0000/g,function(t,n){return e.parseError("invalid-codepoint"),"\ufffd"}),e.framesetOk&&!d(n)&&(e.framesetOk=!1),e.insertText(n)},t.inHeadNoscript=Object.create(t.base),t.inHeadNoscript.start_tag_handlers={html:"startTagHtml",basefont:"startTagBasefontBgsoundLinkMetaNoframesStyle",bgsound:"startTagBasefontBgsoundLinkMetaNoframesStyle",link:"startTagBasefontBgsoundLinkMetaNoframesStyle",meta:"startTagBasefontBgsoundLinkMetaNoframesStyle",noframes:"startTagBasefontBgsoundLinkMetaNoframesStyle",style:"startTagBasefontBgsoundLinkMetaNoframesStyle",head:"startTagHeadNoscript",noscript:"startTagHeadNoscript","-default":"startTagOther"},t.inHeadNoscript.end_tag_handlers={noscript:"endTagNoscript",br:"endTagBr","-default":"endTagOther"},t.inHeadNoscript.processCharacters=function(t){var n=t.takeLeadingWhitespace();n&&e.insertText(n);if(!t.length)return;e.parseError("unexpected-char-in-frameset"),this.anythingElse(),e.insertionMode.processCharacters(t)},t.inHeadNoscript.processComment=function(e){t.inHead.processComment(e)},t.inHeadNoscript.startTagBasefontBgsoundLinkMetaNoframesStyle=function(e,n){t.inHead.processStartTag(e,n)},t.inHeadNoscript.startTagHeadNoscript=function(t,n){e.parseError("unexpected-start-tag-in-frameset",{name:t})},t.inHeadNoscript.startTagOther=function(t,n){e.parseError("unexpected-start-tag-in-frameset",{name:t}),this.anythingElse(),e.insertionMode.processStartTag(t,n)},t.inHeadNoscript.endTagBr=function(t,n){e.parseError("unexpected-end-tag-in-frameset",{name:t}),this.anythingElse(),e.insertionMode.processEndTag(t,n)},t.inHeadNoscript.endTagNoscript=function(t,n){e.popElement(),e.setInsertionMode("inHead")},t.inHeadNoscript.endTagOther=function(t,n){e.parseError("unexpected-end-tag-in-frameset",{name:t})},t.inHeadNoscript.anythingElse=function(){e.popElement(),e.setInsertionMode("inHead")},t.inFrameset=Object.create(t.base),t.inFrameset.start_tag_handlers={html:"startTagHtml",frameset:"startTagFrameset",frame:"startTagFrame",noframes:"startTagNoframes","-default":"startTagOther"},t.inFrameset.end_tag_handlers={frameset:"endTagFrameset",noframes:"endTagNoframes","-default":"endTagOther"},t.inFrameset.processCharacters=function(t){e.parseError("unexpected-char-in-frameset")},t.inFrameset.startTagFrameset=function(t,n){e.insertElement(t,n)},t.inFrameset.startTagFrame=function(t,n){e.insertSelfClosingElement(t,n)},t.inFrameset.startTagNoframes=function(e,n){t.inBody.processStartTag(e,n)},t.inFrameset.startTagOther=function(t,n){e.parseError("unexpected-start-tag-in-frameset",{name:t})},t.inFrameset.endTagFrameset=function(t,n){e.currentStackItem().localName=="html"?e.parseError("unexpected-frameset-in-frameset-innerhtml"):e.popElement(),!e.context&&e.currentStackItem().localName!="frameset"&&e.setInsertionMode("afterFrameset")},t.inFrameset.endTagNoframes=function(e){t.inBody.processEndTag(e)},t.inFrameset.endTagOther=function(t){e.parseError("unexpected-end-tag-in-frameset",{name:t})},t.inTable=Object.create(t.base),t.inTable.start_tag_handlers={html:"startTagHtml",caption:"startTagCaption",colgroup:"startTagColgroup",col:"startTagCol",table:"startTagTable",tbody:"startTagRowGroup",tfoot:"startTagRowGroup",thead:"startTagRowGroup",td:"startTagImplyTbody",th:"startTagImplyTbody",tr:"startTagImplyTbody",style:"startTagStyleScript",script:"startTagStyleScript",input:"startTagInput",form:"startTagForm","-default":"startTagOther"},t.inTable.end_tag_handlers={table:"endTagTable",body:"endTagIgnore",caption:"endTagIgnore",col:"endTagIgnore",colgroup:"endTagIgnore",html:"endTagIgnore",tbody:"endTagIgnore",td:"endTagIgnore",tfoot:"endTagIgnore",th:"endTagIgnore",thead:"endTagIgnore",tr:"endTagIgnore","-default":"endTagOther"},t.inTable.processCharacters=function(n){if(e.currentStackItem().isFosterParenting()){var r=e.insertionModeName;e.setInsertionMode("inTableText"),e.originalInsertionMode=r,e.insertionMode.processCharacters(n)}else e.redirectAttachToFosterParent=!0,t.inBody.processCharacters(n),e.redirectAttachToFosterParent=!1},t.inTable.startTagCaption=function(t,n){e.openElements.popUntilTableScopeMarker(),e.activeFormattingElements.push(l),e.insertElement(t,n),e.setInsertionMode("inCaption")},t.inTable.startTagColgroup=function(t,n){e.openElements.popUntilTableScopeMarker(),e.insertElement(t,n),e.setInsertionMode("inColumnGroup")},t.inTable.startTagCol=function(t,n){this.startTagColgroup("colgroup",[]),e.insertionMode.processStartTag(t,n)},t.inTable.startTagRowGroup=function(t,n){e.openElements.popUntilTableScopeMarker(),e.insertElement(t,n),e.setInsertionMode("inTableBody")},t.inTable.startTagImplyTbody=function(t,n){this.startTagRowGroup("tbody",[]),e.insertionMode.processStartTag(t,n)},t.inTable.startTagTable=function(t,n){e.parseError("unexpected-start-tag-implies-end-tag",{startName:"table",endName:"table"}),e.insertionMode.processEndTag("table"),e.context||e.insertionMode.processStartTag(t,n)},t.inTable.startTagStyleScript=function(e,n){t.inHead.processStartTag(e,n)},t.inTable.startTagInput=function(t,n){for(var r in n)if(n[r].nodeName.toLowerCase()=="type"){if(n[r].nodeValue.toLowerCase()=="hidden"){e.parseError("unexpected-hidden-input-in-table"),e.insertElement(t,n),e.openElements.pop();return}break}this.startTagOther(t,n)},t.inTable.startTagForm=function(t,n){e.parseError("unexpected-form-in-table"),e.form||(e.insertElement(t,n),e.form=e.currentStackItem(),e.openElements.pop())},t.inTable.startTagOther=function(n,r,i){e.parseError("unexpected-start-tag-implies-table-voodoo",{name:n}),e.redirectAttachToFosterParent=!0,t.inBody.processStartTag(n,r,i),e.redirectAttachToFosterParent=!1},t.inTable.endTagTable=function(t){e.openElements.inTableScope(t)?(e.generateImpliedEndTags(),e.currentStackItem().localName!=t&&e.parseError("end-tag-too-early-named",{gotName:"table",expectedName:e.currentStackItem().localName}),e.openElements.popUntilPopped("table"),e.resetInsertionMode()):(r.ok(e.context),e.parseError("unexpected-end-tag",{name:t}))},t.inTable.endTagIgnore=function(t){e.parseError("unexpected-end-tag",{name:t})},t.inTable.endTagOther=function(n){e.parseError("unexpected-end-tag-implies-table-voodoo",{name:n}),e.redirectAttachToFosterParent=!0,t.inBody.processEndTag(n),e.redirectAttachToFosterParent=!1},t.inTableText=Object.create(t.base),t.inTableText.flushCharacters=function(){var t=e.pendingTableCharacters.join("");p(t)?e.insertText(t):(e.redirectAttachToFosterParent=!0,e.reconstructActiveFormattingElements(),e.insertText(t),e.framesetOk=!1,e.redirectAttachToFosterParent=!1),e.pendingTableCharacters=[]},t.inTableText.processComment=function(t){this.flushCharacters(),e.setInsertionMode(e.originalInsertionMode),e.insertionMode.processComment(t)},t.inTableText.processEOF=function(t){this.flushCharacters(),e.setInsertionMode(e.originalInsertionMode),e.insertionMode.processEOF()},t.inTableText.processCharacters=function(t){var n=t.takeRemaining();n=n.replace(/\u0000/g,function(t,n){return e.parseError("invalid-codepoint"),""});if(!n)return;e.pendingTableCharacters.push(n)},t.inTableText.processStartTag=function(t,n,r){this.flushCharacters(),e.setInsertionMode(e.originalInsertionMode),e.insertionMode.processStartTag(t,n,r)},t.inTableText.processEndTag=function(t,n){this.flushCharacters(),e.setInsertionMode(e.originalInsertionMode),e.insertionMode.processEndTag(t,n)},t.inTableBody=Object.create(t.base),t.inTableBody.start_tag_handlers={html:"startTagHtml",tr:"startTagTr",td:"startTagTableCell",th:"startTagTableCell",caption:"startTagTableOther",col:"startTagTableOther",colgroup:"startTagTableOther",tbody:"startTagTableOther",tfoot:"startTagTableOther",thead:"startTagTableOther","-default":"startTagOther"},t.inTableBody.end_tag_handlers={table:"endTagTable",tbody:"endTagTableRowGroup",tfoot:"endTagTableRowGroup",thead:"endTagTableRowGroup",body:"endTagIgnore",caption:"endTagIgnore",col:"endTagIgnore",colgroup:"endTagIgnore",html:"endTagIgnore",td:"endTagIgnore",th:"endTagIgnore",tr:"endTagIgnore","-default":"endTagOther"},t.inTableBody.processCharacters=function(e){t.inTable.processCharacters(e)},t.inTableBody.startTagTr=function(t,n){e.openElements.popUntilTableBodyScopeMarker(),e.insertElement(t,n),e.setInsertionMode("inRow")},t.inTableBody.startTagTableCell=function(t,n){e.parseError("unexpected-cell-in-table-body",{name:t}),this.startTagTr("tr",[]),e.insertionMode.processStartTag(t,n)},t.inTableBody.startTagTableOther=function(t,n){e.openElements.inTableScope("tbody")||e.openElements.inTableScope("thead")||e.openElements.inTableScope("tfoot")?(e.openElements.popUntilTableBodyScopeMarker(),this.endTagTableRowGroup(e.currentStackItem().localName),e.insertionMode.processStartTag(t,n)):e.parseError("unexpected-start-tag",{name:t})},t.inTableBody.startTagOther=function(e,n){t.inTable.processStartTag(e,n)},t.inTableBody.endTagTableRowGroup=function(t){e.openElements.inTableScope(t)?(e.openElements.popUntilTableBodyScopeMarker(),e.popElement(),e.setInsertionMode("inTable")):e.parseError("unexpected-end-tag-in-table-body",{name:t})},t.inTableBody.endTagTable=function(t){e.openElements.inTableScope("tbody")||e.openElements.inTableScope("thead")||e.openElements.inTableScope("tfoot")?(e.openElements.popUntilTableBodyScopeMarker(),this.endTagTableRowGroup(e.currentStackItem().localName),e.insertionMode.processEndTag(t)):e.parseError("unexpected-end-tag",{name:t})},t.inTableBody.endTagIgnore=function(t){e.parseError("unexpected-end-tag-in-table-body",{name:t})},t.inTableBody.endTagOther=function(e){t.inTable.processEndTag(e)},t.inSelect=Object.create(t.base),t.inSelect.start_tag_handlers={html:"startTagHtml",option:"startTagOption",optgroup:"startTagOptgroup",select:"startTagSelect",input:"startTagInput",keygen:"startTagInput",textarea:"startTagInput",script:"startTagScript","-default":"startTagOther"},t.inSelect.end_tag_handlers={option:"endTagOption",optgroup:"endTagOptgroup",select:"endTagSelect",caption:"endTagTableElements",table:"endTagTableElements",tbody:"endTagTableElements",tfoot:"endTagTableElements",thead:"endTagTableElements",tr:"endTagTableElements",td:"endTagTableElements",th:"endTagTableElements","-default":"endTagOther"},t.inSelect.processCharacters=function(t){var n=t.takeRemaining();n=n.replace(/\u0000/g,function(t,n){return e.parseError("invalid-codepoint"),""});if(!n)return;e.insertText(n)},t.inSelect.startTagOption=function(t,n){e.currentStackItem().localName=="option"&&e.popElement(),e.insertElement(t,n)},t.inSelect.startTagOptgroup=function(t,n){e.currentStackItem().localName=="option"&&e.popElement(),e.currentStackItem().localName=="optgroup"&&e.popElement(),e.insertElement(t,n)},t.inSelect.endTagOption=function(t){if(e.currentStackItem().localName!=="option"){e.parseError("unexpected-end-tag-in-select",{name:t});return}e.popElement()},t.inSelect.endTagOptgroup=function(t){e.currentStackItem().localName=="option"&&e.openElements.item(e.openElements.length-2).localName=="optgroup"&&e.popElement(),e.currentStackItem().localName=="optgroup"?e.popElement():e.parseError("unexpected-end-tag-in-select",{name:"optgroup"})},t.inSelect.startTagSelect=function(t){e.parseError("unexpected-select-in-select"),this.endTagSelect("select")},t.inSelect.endTagSelect=function(t){e.openElements.inTableScope("select")?(e.openElements.popUntilPopped("select"),e.resetInsertionMode()):e.parseError("unexpected-end-tag",{name:t})},t.inSelect.startTagInput=function(t,n){e.parseError("unexpected-input-in-select"),e.openElements.inSelectScope("select")&&(this.endTagSelect("select"),e.insertionMode.processStartTag(t,n))},t.inSelect.startTagScript=function(e,n){t.inHead.processStartTag(e,n)},t.inSelect.endTagTableElements=function(t){e.parseError("unexpected-end-tag-in-select",{name:t}),e.openElements.inTableScope(t)&&(this.endTagSelect("select"),e.insertionMode.processEndTag(t))},t.inSelect.startTagOther=function(t,n){e.parseError("unexpected-start-tag-in-select",{name:t})},t.inSelect.endTagOther=function(t){e.parseError("unexpected-end-tag-in-select",{name:t})},t.inSelectInTable=Object.create(t.base),t.inSelectInTable.start_tag_handlers={caption:"startTagTable",table:"startTagTable",tbody:"startTagTable",tfoot:"startTagTable",thead:"startTagTable",tr:"startTagTable",td:"startTagTable",th:"startTagTable","-default":"startTagOther"},t.inSelectInTable.end_tag_handlers={caption:"endTagTable",table:"endTagTable",tbody:"endTagTable",tfoot:"endTagTable",thead:"endTagTable",tr:"endTagTable",td:"endTagTable",th:"endTagTable","-default":"endTagOther"},t.inSelectInTable.processCharacters=function(e){t.inSelect.processCharacters(e)},t.inSelectInTable.startTagTable=function(t,n){e.parseError("unexpected-table-element-start-tag-in-select-in-table",{name:t}),this.endTagOther("select"),e.insertionMode.processStartTag(t,n)},t.inSelectInTable.startTagOther=function(e,n,r){t.inSelect.processStartTag(e,n,r)},t.inSelectInTable.endTagTable=function(t){e.parseError("unexpected-table-element-end-tag-in-select-in-table",{name:t}),e.openElements.inTableScope(t)&&(this.endTagOther("select"),e.insertionMode.processEndTag(t))},t.inSelectInTable.endTagOther=function(e){t.inSelect.processEndTag(e)},t.inRow=Object.create(t.base),t.inRow.start_tag_handlers={html:"startTagHtml",td:"startTagTableCell",th:"startTagTableCell",caption:"startTagTableOther",col:"startTagTableOther",colgroup:"startTagTableOther",tbody:"startTagTableOther",tfoot:"startTagTableOther",thead:"startTagTableOther",tr:"startTagTableOther","-default":"startTagOther"},t.inRow.end_tag_handlers={tr:"endTagTr",table:"endTagTable",tbody:"endTagTableRowGroup",tfoot:"endTagTableRowGroup",thead:"endTagTableRowGroup",body:"endTagIgnore",caption:"endTagIgnore",col:"endTagIgnore",colgroup:"endTagIgnore",html:"endTagIgnore",td:"endTagIgnore",th:"endTagIgnore","-default":"endTagOther"},t.inRow.processCharacters=function(e){t.inTable.processCharacters(e)},t.inRow.startTagTableCell=function(t,n){e.openElements.popUntilTableRowScopeMarker(),e.insertElement(t,n),e.setInsertionMode("inCell"),e.activeFormattingElements.push(l)},t.inRow.startTagTableOther=function(t,n){var r=this.ignoreEndTagTr();this.endTagTr("tr"),r||e.insertionMode.processStartTag(t,n)},t.inRow.startTagOther=function(e,n,r){t.inTable.processStartTag(e,n,r)},t.inRow.endTagTr=function(t){this.ignoreEndTagTr()?(r.ok(e.context),e.parseError("unexpected-end-tag",{name:t})):(e.openElements.popUntilTableRowScopeMarker(),e.popElement(),e.setInsertionMode("inTableBody"))},t.inRow.endTagTable=function(t){var n=this.ignoreEndTagTr();this.endTagTr("tr"),n||e.insertionMode.processEndTag(t)},t.inRow.endTagTableRowGroup=function(t){e.openElements.inTableScope(t)?(this.endTagTr("tr"),e.insertionMode.processEndTag(t)):e.parseError("unexpected-end-tag",{name:t})},t.inRow.endTagIgnore=function(t){e.parseError("unexpected-end-tag-in-table-row",{name:t})},t.inRow.endTagOther=function(e){t.inTable.processEndTag(e)},t.inRow.ignoreEndTagTr=function(){return!e.openElements.inTableScope("tr")},t.afterAfterFrameset=Object.create(t.base),t.afterAfterFrameset.start_tag_handlers={html:"startTagHtml",noframes:"startTagNoFrames","-default":"startTagOther"},t.afterAfterFrameset.processEOF=function(){},t.afterAfterFrameset.processComment=function(t){e.insertComment(t,e.document)},t.afterAfterFrameset.processCharacters=function(t){var n=t.takeRemaining(),r="";for(var i=0;i0&&this.currentStackItem().isForeign()},g.prototype.isSelfClosingFlagAcknowledged=function(){return this.selfClosingFlagAcknowledged},g.prototype.createElement=function(e,t,n){throw new Error("Not implemented")},g.prototype.attachNode=function(e,t){throw new Error("Not implemented")},g.prototype.attachNodeToFosterParent=function(e,t,n){throw new Error("Not implemented")},g.prototype.detachFromParent=function(e){throw new Error("Not implemented")},g.prototype.addAttributesToElement=function(e,t){throw new Error("Not implemented")},g.prototype.insertHtmlElement=function(e){var t=this.createElement("http://www.w3.org/1999/xhtml","html",e);return this.attachNode(t,this.document),this.openElements.pushHtmlElement(new f("http://www.w3.org/1999/xhtml","html",e,t)),t},g.prototype.insertHeadElement=function(e){var t=this.createElement("http://www.w3.org/1999/xhtml","head",e);return this.head=new f("http://www.w3.org/1999/xhtml","head",e,t),this.attachNode(t,this.openElements.top.node),this.openElements.pushHeadElement(this.head),t},g.prototype.insertBodyElement=function(e){var t=this.createElement("http://www.w3.org/1999/xhtml","body",e);return this.attachNode(t,this.openElements.top.node),this.openElements.pushBodyElement(new f("http://www.w3.org/1999/xhtml","body",e,t)),t},g.prototype.insertIntoFosterParent=function(e){var t=this.openElements.findIndex("table"),n=this.openElements.item(t).node;if(t===0)return this.attachNode(e,n);this.attachNodeToFosterParent(e,n,this.openElements.item(t-1).node)},g.prototype.insertElement=function(e,t,n,r){n||(n="http://www.w3.org/1999/xhtml");var i=this.createElement(n,e,t);this.shouldFosterParent()?this.insertIntoFosterParent(i):this.attachNode(i,this.openElements.top.node),r||this.openElements.push(new f(n,e,t,i))},g.prototype.insertFormattingElement=function(e,t){this.insertElement(e,t,"http://www.w3.org/1999/xhtml"),this.appendElementToActiveFormattingElements(this.currentStackItem())},g.prototype.insertSelfClosingElement=function(e,t){this.selfClosingFlagAcknowledged=!0,this.insertElement(e,t,"http://www.w3.org/1999/xhtml",!0)},g.prototype.insertForeignElement=function(e,t,n,r){r&&(this.selfClosingFlagAcknowledged=!0),this.insertElement(e,t,n,r)},g.prototype.insertComment=function(e,t){throw new Error("Not implemented")},g.prototype.insertDoctype=function(e,t,n){throw new Error("Not implemented")},g.prototype.insertText=function(e){throw new Error("Not implemented")},g.prototype.currentStackItem=function(){return this.openElements.top},g.prototype.popElement=function(){return this.openElements.pop()},g.prototype.shouldFosterParent=function(){return this.redirectAttachToFosterParent&&this.currentStackItem().isFosterParenting()},g.prototype.generateImpliedEndTags=function(e){var t=this.openElements.top.localName;["dd","dt","li","option","optgroup","p","rp","rt"].indexOf(t)!=-1&&t!=e&&(this.popElement(),this.generateImpliedEndTags(e))},g.prototype.reconstructActiveFormattingElements=function(){if(this.activeFormattingElements.length===0)return;var e=this.activeFormattingElements.length-1,t=this.activeFormattingElements[e];if(t==l||this.openElements.contains(t))return;while(t!=l&&!this.openElements.contains(t)){e-=1,t=this.activeFormattingElements[e];if(!t)break}for(;;){e+=1,t=this.activeFormattingElements[e],this.insertElement(t.localName,t.attributes);var n=this.currentStackItem();this.activeFormattingElements[e]=n;if(n==this.activeFormattingElements[this.activeFormattingElements.length-1])break}},g.prototype.ensureNoahsArkCondition=function(e){var t=3;if(this.activeFormattingElements.length=0;i--){var s=this.activeFormattingElements[i];if(s===l)break;if(e.localName!==s.localName||e.namespaceURI!==s.namespaceURI)continue;if(s.attributes.length!=r)continue;n.push(s)}if(n.length=0&&this.activeFormattingElements.splice(t,1)},g.prototype.elementInActiveFormattingElements=function(e){var t=this.activeFormattingElements;for(var n=t.length-1;n>=0;n--){if(t[n]==l)break;if(t[n].localName==e)return t[n]}return!1},g.prototype.clearActiveFormattingElements=function(){while(this.activeFormattingElements.length!==0&&this.activeFormattingElements.pop()!=l);},g.prototype.reparentChildren=function(e,t){throw new Error("Not implemented")},g.prototype.setFragmentContext=function(e){this.context=e},g.prototype.parseError=function(e,t){if(!this.errorHandler)return;var n=y(i[e],t);this.errorHandler.error(n,this.tokenizer._inputStream.location(),e)},g.prototype.resetInsertionMode=function(){var e=!1,t=null;for(var n=this.openElements.length-1;n>=0;n--){t=this.openElements.item(n),n===0&&(r.ok(this.context),e=!0,t=new f("http://www.w3.org/1999/xhtml",this.context,[],null));if(t.namespaceURI==="http://www.w3.org/1999/xhtml"){if(t.localName==="select")return this.setInsertionMode("inSelect");if(t.localName==="td"||t.localName==="th")return this.setInsertionMode("inCell");if(t.localName==="tr")return this.setInsertionMode("inRow");if(t.localName==="tbody"||t.localName==="thead"||t.localName==="tfoot")return this.setInsertionMode("inTableBody");if(t.localName==="caption")return this.setInsertionMode("inCaption");if(t.localName==="colgroup")return this.setInsertionMode("inColumnGroup");if(t.localName==="table")return this.setInsertionMode("inTable");if(t.localName==="head"&&!e)return this.setInsertionMode("inHead");if(t.localName==="body")return this.setInsertionMode("inBody");if(t.localName==="frameset")return this.setInsertionMode("inFrameset");if(t.localName==="html")return this.openElements.headElement?this.setInsertionMode("afterHead"):this.setInsertionMode("beforeHead")}if(e)return this.setInsertionMode("inBody")}},g.prototype.processGenericRCDATAStartTag=function(e,t){this.insertElement(e,t),this.tokenizer.setState(u.RCDATA),this.originalInsertionMode=this.insertionModeName,this.setInsertionMode("text")},g.prototype.processGenericRawTextStartTag=function(e,t){this.insertElement(e,t),this.tokenizer.setState(u.RAWTEXT),this.originalInsertionMode=this.insertionModeName,this.setInsertionMode("text")},g.prototype.adjustMathMLAttributes=function(e){return e.forEach(function(e){e.namespaceURI="http://www.w3.org/1998/Math/MathML",s.MATHMLAttributeMap[e.nodeName]&&(e.nodeName=s.MATHMLAttributeMap[e.nodeName])}),e},g.prototype.adjustSVGTagNameCase=function(e){return s.SVGTagMap[e]||e},g.prototype.adjustSVGAttributes=function(e){return e.forEach(function(e){e.namespaceURI="http://www.w3.org/2000/svg",s.SVGAttributeMap[e.nodeName]&&(e.nodeName=s.SVGAttributeMap[e.nodeName])}),e},g.prototype.adjustForeignAttributes=function(e){for(var t=0;t' instead.","expected-tag-name-but-got-question-mark":"Expected tag name. Got '?' instead. (HTML doesn't support processing instructions.)","expected-tag-name":"Expected tag name. Got something else instead.","expected-closing-tag-but-got-right-bracket":"Expected closing tag. Got '>' instead. Ignoring ''.","expected-closing-tag-but-got-eof":"Expected closing tag. Unexpected end of file.","expected-closing-tag-but-got-char":"Expected closing tag. Unexpected character '{data}' found.","eof-in-tag-name":"Unexpected end of file in the tag name.","expected-attribute-name-but-got-eof":"Unexpected end of file. Expected attribute name instead.","eof-in-attribute-name":"Unexpected end of file in attribute name.","invalid-character-in-attribute-name":"Invalid character in attribute name.","duplicate-attribute":"Dropped duplicate attribute '{name}' on tag.","expected-end-of-tag-but-got-eof":"Unexpected end of file. Expected = or end of tag.","expected-attribute-value-but-got-eof":"Unexpected end of file. Expected attribute value.","expected-attribute-value-but-got-right-bracket":"Expected attribute value. Got '>' instead.","unexpected-character-in-unquoted-attribute-value":"Unexpected character in unquoted attribute","invalid-character-after-attribute-name":"Unexpected character after attribute name.","unexpected-character-after-attribute-value":"Unexpected character after attribute value.","eof-in-attribute-value-double-quote":'Unexpected end of file in attribute value (").',"eof-in-attribute-value-single-quote":"Unexpected end of file in attribute value (').","eof-in-attribute-value-no-quotes":"Unexpected end of file in attribute value.","eof-after-attribute-value":"Unexpected end of file after attribute value.","unexpected-eof-after-solidus-in-tag":"Unexpected end of file in tag. Expected >.","unexpected-character-after-solidus-in-tag":"Unexpected character after / in tag. Expected >.","expected-dashes-or-doctype":"Expected '--' or 'DOCTYPE'. Not found.","unexpected-bang-after-double-dash-in-comment":"Unexpected ! after -- in comment.","incorrect-comment":"Incorrect comment.","eof-in-comment":"Unexpected end of file in comment.","eof-in-comment-end-dash":"Unexpected end of file in comment (-).","unexpected-dash-after-double-dash-in-comment":"Unexpected '-' after '--' found in comment.","eof-in-comment-double-dash":"Unexpected end of file in comment (--).","eof-in-comment-end-bang-state":"Unexpected end of file in comment.","unexpected-char-in-comment":"Unexpected character in comment found.","need-space-after-doctype":"No space after literal string 'DOCTYPE'.","expected-doctype-name-but-got-right-bracket":"Unexpected > character. Expected DOCTYPE name.","expected-doctype-name-but-got-eof":"Unexpected end of file. Expected DOCTYPE name.","eof-in-doctype-name":"Unexpected end of file in DOCTYPE name.","eof-in-doctype":"Unexpected end of file in DOCTYPE.","expected-space-or-right-bracket-in-doctype":"Expected space or '>'. Got '{data}'.","unexpected-end-of-doctype":"Unexpected end of DOCTYPE.","unexpected-char-in-doctype":"Unexpected character in DOCTYPE.","eof-in-bogus-doctype":"Unexpected end of file in bogus doctype.","eof-in-innerhtml":"Unexpected EOF in inner html mode.","unexpected-doctype":"Unexpected DOCTYPE. Ignored.","non-html-root":"html needs to be the first start tag.","expected-doctype-but-got-eof":"Unexpected End of file. Expected DOCTYPE.","unknown-doctype":"Erroneous DOCTYPE. Expected .","quirky-doctype":"Quirky doctype. Expected .","almost-standards-doctype":"Almost standards mode doctype. Expected .","obsolete-doctype":"Obsolete doctype. Expected .","expected-doctype-but-got-chars":"Non-space characters found without seeing a doctype first. Expected e.g. .","expected-doctype-but-got-start-tag":"Start tag seen without seeing a doctype first. Expected e.g. .","expected-doctype-but-got-end-tag":"End tag seen without seeing a doctype first. Expected e.g. .","end-tag-after-implied-root":"Unexpected end tag ({name}) after the (implied) root element.","expected-named-closing-tag-but-got-eof":"Unexpected end of file. Expected end tag ({name}).","two-heads-are-not-better-than-one":"Unexpected start tag head in existing head. Ignored.","unexpected-end-tag":"Unexpected end tag ({name}). Ignored.","unexpected-implied-end-tag":"End tag {name} implied, but there were open elements.","unexpected-start-tag-out-of-my-head":"Unexpected start tag ({name}) that can be in head. Moved.","unexpected-start-tag":"Unexpected start tag ({name}).","missing-end-tag":"Missing end tag ({name}).","missing-end-tags":"Missing end tags ({name}).","unexpected-start-tag-implies-end-tag":"Unexpected start tag ({startName}) implies end tag ({endName}).","unexpected-start-tag-treated-as":"Unexpected start tag ({originalName}). Treated as {newName}.","deprecated-tag":"Unexpected start tag {name}. Don't use it!","unexpected-start-tag-ignored":"Unexpected start tag {name}. Ignored.","expected-one-end-tag-but-got-another":"Unexpected end tag ({gotName}). Missing end tag ({expectedName}).","end-tag-too-early":"End tag ({name}) seen too early. Expected other end tag.","end-tag-too-early-named":"Unexpected end tag ({gotName}). Expected end tag ({expectedName}.","end-tag-too-early-ignored":"End tag ({name}) seen too early. Ignored.","adoption-agency-1.1":"End tag ({name}) violates step 1, paragraph 1 of the adoption agency algorithm.","adoption-agency-1.2":"End tag ({name}) violates step 1, paragraph 2 of the adoption agency algorithm.","adoption-agency-1.3":"End tag ({name}) violates step 1, paragraph 3 of the adoption agency algorithm.","adoption-agency-4.4":"End tag ({name}) violates step 4, paragraph 4 of the adoption agency algorithm.","unexpected-end-tag-treated-as":"Unexpected end tag ({originalName}). Treated as {newName}.","no-end-tag":"This element ({name}) has no end tag.","unexpected-implied-end-tag-in-table":"Unexpected implied end tag ({name}) in the table phase.","unexpected-implied-end-tag-in-table-body":"Unexpected implied end tag ({name}) in the table body phase.","unexpected-char-implies-table-voodoo":"Unexpected non-space characters in table context caused voodoo mode.","unexpected-hidden-input-in-table":"Unexpected input with type hidden in table context.","unexpected-form-in-table":"Unexpected form in table context.","unexpected-start-tag-implies-table-voodoo":"Unexpected start tag ({name}) in table context caused voodoo mode.","unexpected-end-tag-implies-table-voodoo":"Unexpected end tag ({name}) in table context caused voodoo mode.","unexpected-cell-in-table-body":"Unexpected table cell start tag ({name}) in the table body phase.","unexpected-cell-end-tag":"Got table cell end tag ({name}) while required end tags are missing.","unexpected-end-tag-in-table-body":"Unexpected end tag ({name}) in the table body phase. Ignored.","unexpected-implied-end-tag-in-table-row":"Unexpected implied end tag ({name}) in the table row phase.","unexpected-end-tag-in-table-row":"Unexpected end tag ({name}) in the table row phase. Ignored.","unexpected-select-in-select":"Unexpected select start tag in the select phase treated as select end tag.","unexpected-input-in-select":"Unexpected input start tag in the select phase.","unexpected-start-tag-in-select":"Unexpected start tag token ({name}) in the select phase. Ignored.","unexpected-end-tag-in-select":"Unexpected end tag ({name}) in the select phase. Ignored.","unexpected-table-element-start-tag-in-select-in-table":"Unexpected table element start tag ({name}) in the select in table phase.","unexpected-table-element-end-tag-in-select-in-table":"Unexpected table element end tag ({name}) in the select in table phase.","unexpected-char-after-body":"Unexpected non-space characters in the after body phase.","unexpected-start-tag-after-body":"Unexpected start tag token ({name}) in the after body phase.","unexpected-end-tag-after-body":"Unexpected end tag token ({name}) in the after body phase.","unexpected-char-in-frameset":"Unepxected characters in the frameset phase. Characters ignored.","unexpected-start-tag-in-frameset":"Unexpected start tag token ({name}) in the frameset phase. Ignored.","unexpected-frameset-in-frameset-innerhtml":"Unexpected end tag token (frameset in the frameset phase (innerHTML).","unexpected-end-tag-in-frameset":"Unexpected end tag token ({name}) in the frameset phase. Ignored.","unexpected-char-after-frameset":"Unexpected non-space characters in the after frameset phase. Ignored.","unexpected-start-tag-after-frameset":"Unexpected start tag ({name}) in the after frameset phase. Ignored.","unexpected-end-tag-after-frameset":"Unexpected end tag ({name}) in the after frameset phase. Ignored.","expected-eof-but-got-char":"Unexpected non-space characters. Expected end of file.","expected-eof-but-got-start-tag":"Unexpected start tag ({name}). Expected end of file.","expected-eof-but-got-end-tag":"Unexpected end tag ({name}). Expected end of file.","unexpected-end-table-in-caption":"Unexpected end table tag in caption. Generates implied end caption.","end-html-in-innerhtml":"Unexpected html end tag in inner html mode.","eof-in-table":"Unexpected end of file. Expected table content.","eof-in-script":"Unexpected end of file. Expected script content.","non-void-element-with-trailing-solidus":"Trailing solidus not allowed on element {name}.","unexpected-html-element-in-foreign-content":'HTML start tag "{name}" in a foreign namespace context.',"unexpected-start-tag-in-table":"Unexpected {name}. Expected table content."}},{}],9:[function(e,t,n){function o(){this.contentHandler=null,this._errorHandler=null,this._treeBuilder=new r,this._tokenizer=new i(this._treeBuilder),this._scriptingEnabled=!1}var r=e("./SAXTreeBuilder").SAXTreeBuilder,i=e("../Tokenizer").Tokenizer,s=e("./TreeParser").TreeParser;o.prototype.parse=function(e){this._tokenizer.tokenize(e);var t=this._treeBuilder.document;t&&(new s(this.contentHandler)).parse(t)},o.prototype.parseFragment=function(e,t){this._treeBuilder.setFragmentContext(t),this._tokenizer.tokenize(e);var n=this._treeBuilder.getFragment();n&&(new s(this.contentHandler)).parse(n)},Object.defineProperty(o.prototype,"scriptingEnabled",{get:function(){return this._scriptingEnabled},set:function(e){this._scriptingEnabled=e,this._treeBuilder.scriptingEnabled=e}}),Object.defineProperty(o.prototype,"errorHandler",{get:function(){return this._errorHandler},set:function(e){this._errorHandler=e,this._treeBuilder.errorHandler=e}}),n.SAXParser=o},{"../Tokenizer":5,"./SAXTreeBuilder":10,"./TreeParser":11}],10:[function(e,t,n){function s(){i.call(this)}function o(e,t){for(var n=0;n",gt:">","GT;":">",GT:">","Gt;":"\u226b","gtdot;":"\u22d7","gtlPar;":"\u2995","gtquest;":"\u2a7c","gtrapprox;":"\u2a86","gtrarr;":"\u2978","gtrdot;":"\u22d7","gtreqless;":"\u22db","gtreqqless;":"\u2a8c","gtrless;":"\u2277","gtrsim;":"\u2273","gvertneqq;":"\u2269\ufe00","gvnE;":"\u2269\ufe00","Hacek;":"\u02c7","hairsp;":"\u200a","half;":"\u00bd","hamilt;":"\u210b","HARDcy;":"\u042a","hardcy;":"\u044a","harrcir;":"\u2948","harr;":"\u2194","hArr;":"\u21d4","harrw;":"\u21ad","Hat;":"^","hbar;":"\u210f","Hcirc;":"\u0124","hcirc;":"\u0125","hearts;":"\u2665","heartsuit;":"\u2665","hellip;":"\u2026","hercon;":"\u22b9","hfr;":"\ud835\udd25","Hfr;":"\u210c","HilbertSpace;":"\u210b","hksearow;":"\u2925","hkswarow;":"\u2926","hoarr;":"\u21ff","homtht;":"\u223b","hookleftarrow;":"\u21a9","hookrightarrow;":"\u21aa","hopf;":"\ud835\udd59","Hopf;":"\u210d","horbar;":"\u2015","HorizontalLine;":"\u2500","hscr;":"\ud835\udcbd","Hscr;":"\u210b","hslash;":"\u210f","Hstrok;":"\u0126","hstrok;":"\u0127","HumpDownHump;":"\u224e","HumpEqual;":"\u224f","hybull;":"\u2043","hyphen;":"\u2010","Iacute;":"\u00cd",Iacute:"\u00cd","iacute;":"\u00ed",iacute:"\u00ed","ic;":"\u2063","Icirc;":"\u00ce",Icirc:"\u00ce","icirc;":"\u00ee",icirc:"\u00ee","Icy;":"\u0418","icy;":"\u0438","Idot;":"\u0130","IEcy;":"\u0415","iecy;":"\u0435","iexcl;":"\u00a1",iexcl:"\u00a1","iff;":"\u21d4","ifr;":"\ud835\udd26","Ifr;":"\u2111","Igrave;":"\u00cc",Igrave:"\u00cc","igrave;":"\u00ec",igrave:"\u00ec","ii;":"\u2148","iiiint;":"\u2a0c","iiint;":"\u222d","iinfin;":"\u29dc","iiota;":"\u2129","IJlig;":"\u0132","ijlig;":"\u0133","Imacr;":"\u012a","imacr;":"\u012b","image;":"\u2111","ImaginaryI;":"\u2148","imagline;":"\u2110","imagpart;":"\u2111","imath;":"\u0131","Im;":"\u2111","imof;":"\u22b7","imped;":"\u01b5","Implies;":"\u21d2","incare;":"\u2105","in;":"\u2208","infin;":"\u221e","infintie;":"\u29dd","inodot;":"\u0131","intcal;":"\u22ba","int;":"\u222b","Int;":"\u222c","integers;":"\u2124","Integral;":"\u222b","intercal;":"\u22ba","Intersection;":"\u22c2","intlarhk;":"\u2a17","intprod;":"\u2a3c","InvisibleComma;":"\u2063","InvisibleTimes;":"\u2062","IOcy;":"\u0401","iocy;":"\u0451","Iogon;":"\u012e","iogon;":"\u012f","Iopf;":"\ud835\udd40","iopf;":"\ud835\udd5a","Iota;":"\u0399","iota;":"\u03b9","iprod;":"\u2a3c","iquest;":"\u00bf",iquest:"\u00bf","iscr;":"\ud835\udcbe","Iscr;":"\u2110","isin;":"\u2208","isindot;":"\u22f5","isinE;":"\u22f9","isins;":"\u22f4","isinsv;":"\u22f3","isinv;":"\u2208","it;":"\u2062","Itilde;":"\u0128","itilde;":"\u0129","Iukcy;":"\u0406","iukcy;":"\u0456","Iuml;":"\u00cf",Iuml:"\u00cf","iuml;":"\u00ef",iuml:"\u00ef","Jcirc;":"\u0134","jcirc;":"\u0135","Jcy;":"\u0419","jcy;":"\u0439","Jfr;":"\ud835\udd0d","jfr;":"\ud835\udd27","jmath;":"\u0237","Jopf;":"\ud835\udd41","jopf;":"\ud835\udd5b","Jscr;":"\ud835\udca5","jscr;":"\ud835\udcbf","Jsercy;":"\u0408","jsercy;":"\u0458","Jukcy;":"\u0404","jukcy;":"\u0454","Kappa;":"\u039a","kappa;":"\u03ba","kappav;":"\u03f0","Kcedil;":"\u0136","kcedil;":"\u0137","Kcy;":"\u041a","kcy;":"\u043a","Kfr;":"\ud835\udd0e","kfr;":"\ud835\udd28","kgreen;":"\u0138","KHcy;":"\u0425","khcy;":"\u0445","KJcy;":"\u040c","kjcy;":"\u045c","Kopf;":"\ud835\udd42","kopf;":"\ud835\udd5c","Kscr;":"\ud835\udca6","kscr;":"\ud835\udcc0","lAarr;":"\u21da","Lacute;":"\u0139","lacute;":"\u013a","laemptyv;":"\u29b4","lagran;":"\u2112","Lambda;":"\u039b","lambda;":"\u03bb","lang;":"\u27e8","Lang;":"\u27ea","langd;":"\u2991","langle;":"\u27e8","lap;":"\u2a85","Laplacetrf;":"\u2112","laquo;":"\u00ab",laquo:"\u00ab","larrb;":"\u21e4","larrbfs;":"\u291f","larr;":"\u2190","Larr;":"\u219e","lArr;":"\u21d0","larrfs;":"\u291d","larrhk;":"\u21a9","larrlp;":"\u21ab","larrpl;":"\u2939","larrsim;":"\u2973","larrtl;":"\u21a2","latail;":"\u2919","lAtail;":"\u291b","lat;":"\u2aab","late;":"\u2aad","lates;":"\u2aad\ufe00","lbarr;":"\u290c","lBarr;":"\u290e","lbbrk;":"\u2772","lbrace;":"{","lbrack;":"[","lbrke;":"\u298b","lbrksld;":"\u298f","lbrkslu;":"\u298d","Lcaron;":"\u013d","lcaron;":"\u013e","Lcedil;":"\u013b","lcedil;":"\u013c","lceil;":"\u2308","lcub;":"{","Lcy;":"\u041b","lcy;":"\u043b","ldca;":"\u2936","ldquo;":"\u201c","ldquor;":"\u201e","ldrdhar;":"\u2967","ldrushar;":"\u294b","ldsh;":"\u21b2","le;":"\u2264","lE;":"\u2266","LeftAngleBracket;":"\u27e8","LeftArrowBar;":"\u21e4","leftarrow;":"\u2190","LeftArrow;":"\u2190","Leftarrow;":"\u21d0","LeftArrowRightArrow;":"\u21c6","leftarrowtail;":"\u21a2","LeftCeiling;":"\u2308","LeftDoubleBracket;":"\u27e6","LeftDownTeeVector;":"\u2961","LeftDownVectorBar;":"\u2959","LeftDownVector;":"\u21c3","LeftFloor;":"\u230a","leftharpoondown;":"\u21bd","leftharpoonup;":"\u21bc","leftleftarrows;":"\u21c7","leftrightarrow;":"\u2194","LeftRightArrow;":"\u2194","Leftrightarrow;":"\u21d4","leftrightarrows;":"\u21c6","leftrightharpoons;":"\u21cb","leftrightsquigarrow;":"\u21ad","LeftRightVector;":"\u294e","LeftTeeArrow;":"\u21a4","LeftTee;":"\u22a3","LeftTeeVector;":"\u295a","leftthreetimes;":"\u22cb","LeftTriangleBar;":"\u29cf","LeftTriangle;":"\u22b2","LeftTriangleEqual;":"\u22b4","LeftUpDownVector;":"\u2951","LeftUpTeeVector;":"\u2960","LeftUpVectorBar;":"\u2958","LeftUpVector;":"\u21bf","LeftVectorBar;":"\u2952","LeftVector;":"\u21bc","lEg;":"\u2a8b","leg;":"\u22da","leq;":"\u2264","leqq;":"\u2266","leqslant;":"\u2a7d","lescc;":"\u2aa8","les;":"\u2a7d","lesdot;":"\u2a7f","lesdoto;":"\u2a81","lesdotor;":"\u2a83","lesg;":"\u22da\ufe00","lesges;":"\u2a93","lessapprox;":"\u2a85","lessdot;":"\u22d6","lesseqgtr;":"\u22da","lesseqqgtr;":"\u2a8b","LessEqualGreater;":"\u22da","LessFullEqual;":"\u2266","LessGreater;":"\u2276","lessgtr;":"\u2276","LessLess;":"\u2aa1","lesssim;":"\u2272","LessSlantEqual;":"\u2a7d","LessTilde;":"\u2272","lfisht;":"\u297c","lfloor;":"\u230a","Lfr;":"\ud835\udd0f","lfr;":"\ud835\udd29","lg;":"\u2276","lgE;":"\u2a91","lHar;":"\u2962","lhard;":"\u21bd","lharu;":"\u21bc","lharul;":"\u296a","lhblk;":"\u2584","LJcy;":"\u0409","ljcy;":"\u0459","llarr;":"\u21c7","ll;":"\u226a","Ll;":"\u22d8","llcorner;":"\u231e","Lleftarrow;":"\u21da","llhard;":"\u296b","lltri;":"\u25fa","Lmidot;":"\u013f","lmidot;":"\u0140","lmoustache;":"\u23b0","lmoust;":"\u23b0","lnap;":"\u2a89","lnapprox;":"\u2a89","lne;":"\u2a87","lnE;":"\u2268","lneq;":"\u2a87","lneqq;":"\u2268","lnsim;":"\u22e6","loang;":"\u27ec","loarr;":"\u21fd","lobrk;":"\u27e6","longleftarrow;":"\u27f5","LongLeftArrow;":"\u27f5","Longleftarrow;":"\u27f8","longleftrightarrow;":"\u27f7","LongLeftRightArrow;":"\u27f7","Longleftrightarrow;":"\u27fa","longmapsto;":"\u27fc","longrightarrow;":"\u27f6","LongRightArrow;":"\u27f6","Longrightarrow;":"\u27f9","looparrowleft;":"\u21ab","looparrowright;":"\u21ac","lopar;":"\u2985","Lopf;":"\ud835\udd43","lopf;":"\ud835\udd5d","loplus;":"\u2a2d","lotimes;":"\u2a34","lowast;":"\u2217","lowbar;":"_","LowerLeftArrow;":"\u2199","LowerRightArrow;":"\u2198","loz;":"\u25ca","lozenge;":"\u25ca","lozf;":"\u29eb","lpar;":"(","lparlt;":"\u2993","lrarr;":"\u21c6","lrcorner;":"\u231f","lrhar;":"\u21cb","lrhard;":"\u296d","lrm;":"\u200e","lrtri;":"\u22bf","lsaquo;":"\u2039","lscr;":"\ud835\udcc1","Lscr;":"\u2112","lsh;":"\u21b0","Lsh;":"\u21b0","lsim;":"\u2272","lsime;":"\u2a8d","lsimg;":"\u2a8f","lsqb;":"[","lsquo;":"\u2018","lsquor;":"\u201a","Lstrok;":"\u0141","lstrok;":"\u0142","ltcc;":"\u2aa6","ltcir;":"\u2a79","lt;":"<",lt:"<","LT;":"<",LT:"<","Lt;":"\u226a","ltdot;":"\u22d6","lthree;":"\u22cb","ltimes;":"\u22c9","ltlarr;":"\u2976","ltquest;":"\u2a7b","ltri;":"\u25c3","ltrie;":"\u22b4","ltrif;":"\u25c2","ltrPar;":"\u2996","lurdshar;":"\u294a","luruhar;":"\u2966","lvertneqq;":"\u2268\ufe00","lvnE;":"\u2268\ufe00","macr;":"\u00af",macr:"\u00af","male;":"\u2642","malt;":"\u2720","maltese;":"\u2720","Map;":"\u2905","map;":"\u21a6","mapsto;":"\u21a6","mapstodown;":"\u21a7","mapstoleft;":"\u21a4","mapstoup;":"\u21a5","marker;":"\u25ae","mcomma;":"\u2a29","Mcy;":"\u041c","mcy;":"\u043c","mdash;":"\u2014","mDDot;":"\u223a","measuredangle;":"\u2221","MediumSpace;":"\u205f","Mellintrf;":"\u2133","Mfr;":"\ud835\udd10","mfr;":"\ud835\udd2a","mho;":"\u2127","micro;":"\u00b5",micro:"\u00b5","midast;":"*","midcir;":"\u2af0","mid;":"\u2223","middot;":"\u00b7",middot:"\u00b7","minusb;":"\u229f","minus;":"\u2212","minusd;":"\u2238","minusdu;":"\u2a2a","MinusPlus;":"\u2213","mlcp;":"\u2adb","mldr;":"\u2026","mnplus;":"\u2213","models;":"\u22a7","Mopf;":"\ud835\udd44","mopf;":"\ud835\udd5e","mp;":"\u2213","mscr;":"\ud835\udcc2","Mscr;":"\u2133","mstpos;":"\u223e","Mu;":"\u039c","mu;":"\u03bc","multimap;":"\u22b8","mumap;":"\u22b8","nabla;":"\u2207","Nacute;":"\u0143","nacute;":"\u0144","nang;":"\u2220\u20d2","nap;":"\u2249","napE;":"\u2a70\u0338","napid;":"\u224b\u0338","napos;":"\u0149","napprox;":"\u2249","natural;":"\u266e","naturals;":"\u2115","natur;":"\u266e","nbsp;":"\u00a0",nbsp:"\u00a0","nbump;":"\u224e\u0338","nbumpe;":"\u224f\u0338","ncap;":"\u2a43","Ncaron;":"\u0147","ncaron;":"\u0148","Ncedil;":"\u0145","ncedil;":"\u0146","ncong;":"\u2247","ncongdot;":"\u2a6d\u0338","ncup;":"\u2a42","Ncy;":"\u041d","ncy;":"\u043d","ndash;":"\u2013","nearhk;":"\u2924","nearr;":"\u2197","neArr;":"\u21d7","nearrow;":"\u2197","ne;":"\u2260","nedot;":"\u2250\u0338","NegativeMediumSpace;":"\u200b","NegativeThickSpace;":"\u200b","NegativeThinSpace;":"\u200b","NegativeVeryThinSpace;":"\u200b","nequiv;":"\u2262","nesear;":"\u2928","nesim;":"\u2242\u0338","NestedGreaterGreater;":"\u226b","NestedLessLess;":"\u226a","NewLine;":"\n","nexist;":"\u2204","nexists;":"\u2204","Nfr;":"\ud835\udd11","nfr;":"\ud835\udd2b","ngE;":"\u2267\u0338","nge;":"\u2271","ngeq;":"\u2271","ngeqq;":"\u2267\u0338","ngeqslant;":"\u2a7e\u0338","nges;":"\u2a7e\u0338","nGg;":"\u22d9\u0338","ngsim;":"\u2275","nGt;":"\u226b\u20d2","ngt;":"\u226f","ngtr;":"\u226f","nGtv;":"\u226b\u0338","nharr;":"\u21ae","nhArr;":"\u21ce","nhpar;":"\u2af2","ni;":"\u220b","nis;":"\u22fc","nisd;":"\u22fa","niv;":"\u220b","NJcy;":"\u040a","njcy;":"\u045a","nlarr;":"\u219a","nlArr;":"\u21cd","nldr;":"\u2025","nlE;":"\u2266\u0338","nle;":"\u2270","nleftarrow;":"\u219a","nLeftarrow;":"\u21cd","nleftrightarrow;":"\u21ae","nLeftrightarrow;":"\u21ce","nleq;":"\u2270","nleqq;":"\u2266\u0338","nleqslant;":"\u2a7d\u0338","nles;":"\u2a7d\u0338","nless;":"\u226e","nLl;":"\u22d8\u0338","nlsim;":"\u2274","nLt;":"\u226a\u20d2","nlt;":"\u226e","nltri;":"\u22ea","nltrie;":"\u22ec","nLtv;":"\u226a\u0338","nmid;":"\u2224","NoBreak;":"\u2060","NonBreakingSpace;":"\u00a0","nopf;":"\ud835\udd5f","Nopf;":"\u2115","Not;":"\u2aec","not;":"\u00ac",not:"\u00ac","NotCongruent;":"\u2262","NotCupCap;":"\u226d","NotDoubleVerticalBar;":"\u2226","NotElement;":"\u2209","NotEqual;":"\u2260","NotEqualTilde;":"\u2242\u0338","NotExists;":"\u2204","NotGreater;":"\u226f","NotGreaterEqual;":"\u2271","NotGreaterFullEqual;":"\u2267\u0338","NotGreaterGreater;":"\u226b\u0338","NotGreaterLess;":"\u2279","NotGreaterSlantEqual;":"\u2a7e\u0338","NotGreaterTilde;":"\u2275","NotHumpDownHump;":"\u224e\u0338","NotHumpEqual;":"\u224f\u0338","notin;":"\u2209","notindot;":"\u22f5\u0338","notinE;":"\u22f9\u0338","notinva;":"\u2209","notinvb;":"\u22f7","notinvc;":"\u22f6","NotLeftTriangleBar;":"\u29cf\u0338","NotLeftTriangle;":"\u22ea","NotLeftTriangleEqual;":"\u22ec","NotLess;":"\u226e","NotLessEqual;":"\u2270","NotLessGreater;":"\u2278","NotLessLess;":"\u226a\u0338","NotLessSlantEqual;":"\u2a7d\u0338","NotLessTilde;":"\u2274","NotNestedGreaterGreater;":"\u2aa2\u0338","NotNestedLessLess;":"\u2aa1\u0338","notni;":"\u220c","notniva;":"\u220c","notnivb;":"\u22fe","notnivc;":"\u22fd","NotPrecedes;":"\u2280","NotPrecedesEqual;":"\u2aaf\u0338","NotPrecedesSlantEqual;":"\u22e0","NotReverseElement;":"\u220c","NotRightTriangleBar;":"\u29d0\u0338","NotRightTriangle;":"\u22eb","NotRightTriangleEqual;":"\u22ed","NotSquareSubset;":"\u228f\u0338","NotSquareSubsetEqual;":"\u22e2","NotSquareSuperset;":"\u2290\u0338","NotSquareSupersetEqual;":"\u22e3","NotSubset;":"\u2282\u20d2","NotSubsetEqual;":"\u2288","NotSucceeds;":"\u2281","NotSucceedsEqual;":"\u2ab0\u0338","NotSucceedsSlantEqual;":"\u22e1","NotSucceedsTilde;":"\u227f\u0338","NotSuperset;":"\u2283\u20d2","NotSupersetEqual;":"\u2289","NotTilde;":"\u2241","NotTildeEqual;":"\u2244","NotTildeFullEqual;":"\u2247","NotTildeTilde;":"\u2249","NotVerticalBar;":"\u2224","nparallel;":"\u2226","npar;":"\u2226","nparsl;":"\u2afd\u20e5","npart;":"\u2202\u0338","npolint;":"\u2a14","npr;":"\u2280","nprcue;":"\u22e0","nprec;":"\u2280","npreceq;":"\u2aaf\u0338","npre;":"\u2aaf\u0338","nrarrc;":"\u2933\u0338","nrarr;":"\u219b","nrArr;":"\u21cf","nrarrw;":"\u219d\u0338","nrightarrow;":"\u219b","nRightarrow;":"\u21cf","nrtri;":"\u22eb","nrtrie;":"\u22ed","nsc;":"\u2281","nsccue;":"\u22e1","nsce;":"\u2ab0\u0338","Nscr;":"\ud835\udca9","nscr;":"\ud835\udcc3","nshortmid;":"\u2224","nshortparallel;":"\u2226","nsim;":"\u2241","nsime;":"\u2244","nsimeq;":"\u2244","nsmid;":"\u2224","nspar;":"\u2226","nsqsube;":"\u22e2","nsqsupe;":"\u22e3","nsub;":"\u2284","nsubE;":"\u2ac5\u0338","nsube;":"\u2288","nsubset;":"\u2282\u20d2","nsubseteq;":"\u2288","nsubseteqq;":"\u2ac5\u0338","nsucc;":"\u2281","nsucceq;":"\u2ab0\u0338","nsup;":"\u2285","nsupE;":"\u2ac6\u0338","nsupe;":"\u2289","nsupset;":"\u2283\u20d2","nsupseteq;":"\u2289","nsupseteqq;":"\u2ac6\u0338","ntgl;":"\u2279","Ntilde;":"\u00d1",Ntilde:"\u00d1","ntilde;":"\u00f1",ntilde:"\u00f1","ntlg;":"\u2278","ntriangleleft;":"\u22ea","ntrianglelefteq;":"\u22ec","ntriangleright;":"\u22eb","ntrianglerighteq;":"\u22ed","Nu;":"\u039d","nu;":"\u03bd","num;":"#","numero;":"\u2116","numsp;":"\u2007","nvap;":"\u224d\u20d2","nvdash;":"\u22ac","nvDash;":"\u22ad","nVdash;":"\u22ae","nVDash;":"\u22af","nvge;":"\u2265\u20d2","nvgt;":">\u20d2","nvHarr;":"\u2904","nvinfin;":"\u29de","nvlArr;":"\u2902","nvle;":"\u2264\u20d2","nvlt;":"<\u20d2","nvltrie;":"\u22b4\u20d2","nvrArr;":"\u2903","nvrtrie;":"\u22b5\u20d2","nvsim;":"\u223c\u20d2","nwarhk;":"\u2923","nwarr;":"\u2196","nwArr;":"\u21d6","nwarrow;":"\u2196","nwnear;":"\u2927","Oacute;":"\u00d3",Oacute:"\u00d3","oacute;":"\u00f3",oacute:"\u00f3","oast;":"\u229b","Ocirc;":"\u00d4",Ocirc:"\u00d4","ocirc;":"\u00f4",ocirc:"\u00f4","ocir;":"\u229a","Ocy;":"\u041e","ocy;":"\u043e","odash;":"\u229d","Odblac;":"\u0150","odblac;":"\u0151","odiv;":"\u2a38","odot;":"\u2299","odsold;":"\u29bc","OElig;":"\u0152","oelig;":"\u0153","ofcir;":"\u29bf","Ofr;":"\ud835\udd12","ofr;":"\ud835\udd2c","ogon;":"\u02db","Ograve;":"\u00d2",Ograve:"\u00d2","ograve;":"\u00f2",ograve:"\u00f2","ogt;":"\u29c1","ohbar;":"\u29b5","ohm;":"\u03a9","oint;":"\u222e","olarr;":"\u21ba","olcir;":"\u29be","olcross;":"\u29bb","oline;":"\u203e","olt;":"\u29c0","Omacr;":"\u014c","omacr;":"\u014d","Omega;":"\u03a9","omega;":"\u03c9","Omicron;":"\u039f","omicron;":"\u03bf","omid;":"\u29b6","ominus;":"\u2296","Oopf;":"\ud835\udd46","oopf;":"\ud835\udd60","opar;":"\u29b7","OpenCurlyDoubleQuote;":"\u201c","OpenCurlyQuote;":"\u2018","operp;":"\u29b9","oplus;":"\u2295","orarr;":"\u21bb","Or;":"\u2a54","or;":"\u2228","ord;":"\u2a5d","order;":"\u2134","orderof;":"\u2134","ordf;":"\u00aa",ordf:"\u00aa","ordm;":"\u00ba",ordm:"\u00ba","origof;":"\u22b6","oror;":"\u2a56","orslope;":"\u2a57","orv;":"\u2a5b","oS;":"\u24c8","Oscr;":"\ud835\udcaa","oscr;":"\u2134","Oslash;":"\u00d8",Oslash:"\u00d8","oslash;":"\u00f8",oslash:"\u00f8","osol;":"\u2298","Otilde;":"\u00d5",Otilde:"\u00d5","otilde;":"\u00f5",otilde:"\u00f5","otimesas;":"\u2a36","Otimes;":"\u2a37","otimes;":"\u2297","Ouml;":"\u00d6",Ouml:"\u00d6","ouml;":"\u00f6",ouml:"\u00f6","ovbar;":"\u233d","OverBar;":"\u203e","OverBrace;":"\u23de","OverBracket;":"\u23b4","OverParenthesis;":"\u23dc","para;":"\u00b6",para:"\u00b6","parallel;":"\u2225","par;":"\u2225","parsim;":"\u2af3","parsl;":"\u2afd","part;":"\u2202","PartialD;":"\u2202","Pcy;":"\u041f","pcy;":"\u043f","percnt;":"%","period;":".","permil;":"\u2030","perp;":"\u22a5","pertenk;":"\u2031","Pfr;":"\ud835\udd13","pfr;":"\ud835\udd2d","Phi;":"\u03a6","phi;":"\u03c6","phiv;":"\u03d5","phmmat;":"\u2133","phone;":"\u260e","Pi;":"\u03a0","pi;":"\u03c0","pitchfork;":"\u22d4","piv;":"\u03d6","planck;":"\u210f","planckh;":"\u210e","plankv;":"\u210f","plusacir;":"\u2a23","plusb;":"\u229e","pluscir;":"\u2a22","plus;":"+","plusdo;":"\u2214","plusdu;":"\u2a25","pluse;":"\u2a72","PlusMinus;":"\u00b1","plusmn;":"\u00b1",plusmn:"\u00b1","plussim;":"\u2a26","plustwo;":"\u2a27","pm;":"\u00b1","Poincareplane;":"\u210c","pointint;":"\u2a15","popf;":"\ud835\udd61","Popf;":"\u2119","pound;":"\u00a3",pound:"\u00a3","prap;":"\u2ab7","Pr;":"\u2abb","pr;":"\u227a","prcue;":"\u227c","precapprox;":"\u2ab7","prec;":"\u227a","preccurlyeq;":"\u227c","Precedes;":"\u227a","PrecedesEqual;":"\u2aaf","PrecedesSlantEqual;":"\u227c","PrecedesTilde;":"\u227e","preceq;":"\u2aaf","precnapprox;":"\u2ab9","precneqq;":"\u2ab5","precnsim;":"\u22e8","pre;":"\u2aaf","prE;":"\u2ab3","precsim;":"\u227e","prime;":"\u2032","Prime;":"\u2033","primes;":"\u2119","prnap;":"\u2ab9","prnE;":"\u2ab5","prnsim;":"\u22e8","prod;":"\u220f","Product;":"\u220f","profalar;":"\u232e","profline;":"\u2312","profsurf;":"\u2313","prop;":"\u221d","Proportional;":"\u221d","Proportion;":"\u2237","propto;":"\u221d","prsim;":"\u227e","prurel;":"\u22b0","Pscr;":"\ud835\udcab","pscr;":"\ud835\udcc5","Psi;":"\u03a8","psi;":"\u03c8","puncsp;":"\u2008","Qfr;":"\ud835\udd14","qfr;":"\ud835\udd2e","qint;":"\u2a0c","qopf;":"\ud835\udd62","Qopf;":"\u211a","qprime;":"\u2057","Qscr;":"\ud835\udcac","qscr;":"\ud835\udcc6","quaternions;":"\u210d","quatint;":"\u2a16","quest;":"?","questeq;":"\u225f","quot;":'"',quot:'"',"QUOT;":'"',QUOT:'"',"rAarr;":"\u21db","race;":"\u223d\u0331","Racute;":"\u0154","racute;":"\u0155","radic;":"\u221a","raemptyv;":"\u29b3","rang;":"\u27e9","Rang;":"\u27eb","rangd;":"\u2992","range;":"\u29a5","rangle;":"\u27e9","raquo;":"\u00bb",raquo:"\u00bb","rarrap;":"\u2975","rarrb;":"\u21e5","rarrbfs;":"\u2920","rarrc;":"\u2933","rarr;":"\u2192","Rarr;":"\u21a0","rArr;":"\u21d2","rarrfs;":"\u291e","rarrhk;":"\u21aa","rarrlp;":"\u21ac","rarrpl;":"\u2945","rarrsim;":"\u2974","Rarrtl;":"\u2916","rarrtl;":"\u21a3","rarrw;":"\u219d","ratail;":"\u291a","rAtail;":"\u291c","ratio;":"\u2236","rationals;":"\u211a","rbarr;":"\u290d","rBarr;":"\u290f","RBarr;":"\u2910","rbbrk;":"\u2773","rbrace;":"}","rbrack;":"]","rbrke;":"\u298c","rbrksld;":"\u298e","rbrkslu;":"\u2990","Rcaron;":"\u0158","rcaron;":"\u0159","Rcedil;":"\u0156","rcedil;":"\u0157","rceil;":"\u2309","rcub;":"}","Rcy;":"\u0420","rcy;":"\u0440","rdca;":"\u2937","rdldhar;":"\u2969","rdquo;":"\u201d","rdquor;":"\u201d","rdsh;":"\u21b3","real;":"\u211c","realine;":"\u211b","realpart;":"\u211c","reals;":"\u211d","Re;":"\u211c","rect;":"\u25ad","reg;":"\u00ae",reg:"\u00ae","REG;":"\u00ae",REG:"\u00ae","ReverseElement;":"\u220b","ReverseEquilibrium;":"\u21cb","ReverseUpEquilibrium;":"\u296f","rfisht;":"\u297d","rfloor;":"\u230b","rfr;":"\ud835\udd2f","Rfr;":"\u211c","rHar;":"\u2964","rhard;":"\u21c1","rharu;":"\u21c0","rharul;":"\u296c","Rho;":"\u03a1","rho;":"\u03c1","rhov;":"\u03f1","RightAngleBracket;":"\u27e9","RightArrowBar;":"\u21e5","rightarrow;":"\u2192","RightArrow;":"\u2192","Rightarrow;":"\u21d2","RightArrowLeftArrow;":"\u21c4","rightarrowtail;":"\u21a3","RightCeiling;":"\u2309","RightDoubleBracket;":"\u27e7","RightDownTeeVector;":"\u295d","RightDownVectorBar;":"\u2955","RightDownVector;":"\u21c2","RightFloor;":"\u230b","rightharpoondown;":"\u21c1","rightharpoonup;":"\u21c0","rightleftarrows;":"\u21c4","rightleftharpoons;":"\u21cc","rightrightarrows;":"\u21c9","rightsquigarrow;":"\u219d","RightTeeArrow;":"\u21a6","RightTee;":"\u22a2","RightTeeVector;":"\u295b","rightthreetimes;":"\u22cc","RightTriangleBar;":"\u29d0","RightTriangle;":"\u22b3","RightTriangleEqual;":"\u22b5","RightUpDownVector;":"\u294f","RightUpTeeVector;":"\u295c","RightUpVectorBar;":"\u2954","RightUpVector;":"\u21be","RightVectorBar;":"\u2953","RightVector;":"\u21c0","ring;":"\u02da","risingdotseq;":"\u2253","rlarr;":"\u21c4","rlhar;":"\u21cc","rlm;":"\u200f","rmoustache;":"\u23b1","rmoust;":"\u23b1","rnmid;":"\u2aee","roang;":"\u27ed","roarr;":"\u21fe","robrk;":"\u27e7","ropar;":"\u2986","ropf;":"\ud835\udd63","Ropf;":"\u211d","roplus;":"\u2a2e","rotimes;":"\u2a35","RoundImplies;":"\u2970","rpar;":")","rpargt;":"\u2994","rppolint;":"\u2a12","rrarr;":"\u21c9","Rrightarrow;":"\u21db","rsaquo;":"\u203a","rscr;":"\ud835\udcc7","Rscr;":"\u211b","rsh;":"\u21b1","Rsh;":"\u21b1","rsqb;":"]","rsquo;":"\u2019","rsquor;":"\u2019","rthree;":"\u22cc","rtimes;":"\u22ca","rtri;":"\u25b9","rtrie;":"\u22b5","rtrif;":"\u25b8","rtriltri;":"\u29ce","RuleDelayed;":"\u29f4","ruluhar;":"\u2968","rx;":"\u211e","Sacute;":"\u015a","sacute;":"\u015b","sbquo;":"\u201a","scap;":"\u2ab8","Scaron;":"\u0160","scaron;":"\u0161","Sc;":"\u2abc","sc;":"\u227b","sccue;":"\u227d","sce;":"\u2ab0","scE;":"\u2ab4","Scedil;":"\u015e","scedil;":"\u015f","Scirc;":"\u015c","scirc;":"\u015d","scnap;":"\u2aba","scnE;":"\u2ab6","scnsim;":"\u22e9","scpolint;":"\u2a13","scsim;":"\u227f","Scy;":"\u0421","scy;":"\u0441","sdotb;":"\u22a1","sdot;":"\u22c5","sdote;":"\u2a66","searhk;":"\u2925","searr;":"\u2198","seArr;":"\u21d8","searrow;":"\u2198","sect;":"\u00a7",sect:"\u00a7","semi;":";","seswar;":"\u2929","setminus;":"\u2216","setmn;":"\u2216","sext;":"\u2736","Sfr;":"\ud835\udd16","sfr;":"\ud835\udd30","sfrown;":"\u2322","sharp;":"\u266f","SHCHcy;":"\u0429","shchcy;":"\u0449","SHcy;":"\u0428","shcy;":"\u0448","ShortDownArrow;":"\u2193","ShortLeftArrow;":"\u2190","shortmid;":"\u2223","shortparallel;":"\u2225","ShortRightArrow;":"\u2192","ShortUpArrow;":"\u2191","shy;":"\u00ad",shy:"\u00ad","Sigma;":"\u03a3","sigma;":"\u03c3","sigmaf;":"\u03c2","sigmav;":"\u03c2","sim;":"\u223c","simdot;":"\u2a6a","sime;":"\u2243","simeq;":"\u2243","simg;":"\u2a9e","simgE;":"\u2aa0","siml;":"\u2a9d","simlE;":"\u2a9f","simne;":"\u2246","simplus;":"\u2a24","simrarr;":"\u2972","slarr;":"\u2190","SmallCircle;":"\u2218","smallsetminus;":"\u2216","smashp;":"\u2a33","smeparsl;":"\u29e4","smid;":"\u2223","smile;":"\u2323","smt;":"\u2aaa","smte;":"\u2aac","smtes;":"\u2aac\ufe00","SOFTcy;":"\u042c","softcy;":"\u044c","solbar;":"\u233f","solb;":"\u29c4","sol;":"/","Sopf;":"\ud835\udd4a","sopf;":"\ud835\udd64","spades;":"\u2660","spadesuit;":"\u2660","spar;":"\u2225","sqcap;":"\u2293","sqcaps;":"\u2293\ufe00","sqcup;":"\u2294","sqcups;":"\u2294\ufe00","Sqrt;":"\u221a","sqsub;":"\u228f","sqsube;":"\u2291","sqsubset;":"\u228f","sqsubseteq;":"\u2291","sqsup;":"\u2290","sqsupe;":"\u2292","sqsupset;":"\u2290","sqsupseteq;":"\u2292","square;":"\u25a1","Square;":"\u25a1","SquareIntersection;":"\u2293","SquareSubset;":"\u228f","SquareSubsetEqual;":"\u2291","SquareSuperset;":"\u2290","SquareSupersetEqual;":"\u2292","SquareUnion;":"\u2294","squarf;":"\u25aa","squ;":"\u25a1","squf;":"\u25aa","srarr;":"\u2192","Sscr;":"\ud835\udcae","sscr;":"\ud835\udcc8","ssetmn;":"\u2216","ssmile;":"\u2323","sstarf;":"\u22c6","Star;":"\u22c6","star;":"\u2606","starf;":"\u2605","straightepsilon;":"\u03f5","straightphi;":"\u03d5","strns;":"\u00af","sub;":"\u2282","Sub;":"\u22d0","subdot;":"\u2abd","subE;":"\u2ac5","sube;":"\u2286","subedot;":"\u2ac3","submult;":"\u2ac1","subnE;":"\u2acb","subne;":"\u228a","subplus;":"\u2abf","subrarr;":"\u2979","subset;":"\u2282","Subset;":"\u22d0","subseteq;":"\u2286","subseteqq;":"\u2ac5","SubsetEqual;":"\u2286","subsetneq;":"\u228a","subsetneqq;":"\u2acb","subsim;":"\u2ac7","subsub;":"\u2ad5","subsup;":"\u2ad3","succapprox;":"\u2ab8","succ;":"\u227b","succcurlyeq;":"\u227d","Succeeds;":"\u227b","SucceedsEqual;":"\u2ab0","SucceedsSlantEqual;":"\u227d","SucceedsTilde;":"\u227f","succeq;":"\u2ab0","succnapprox;":"\u2aba","succneqq;":"\u2ab6","succnsim;":"\u22e9","succsim;":"\u227f","SuchThat;":"\u220b","sum;":"\u2211","Sum;":"\u2211","sung;":"\u266a","sup1;":"\u00b9",sup1:"\u00b9","sup2;":"\u00b2",sup2:"\u00b2","sup3;":"\u00b3",sup3:"\u00b3","sup;":"\u2283","Sup;":"\u22d1","supdot;":"\u2abe","supdsub;":"\u2ad8","supE;":"\u2ac6","supe;":"\u2287","supedot;":"\u2ac4","Superset;":"\u2283","SupersetEqual;":"\u2287","suphsol;":"\u27c9","suphsub;":"\u2ad7","suplarr;":"\u297b","supmult;":"\u2ac2","supnE;":"\u2acc","supne;":"\u228b","supplus;":"\u2ac0","supset;":"\u2283","Supset;":"\u22d1","supseteq;":"\u2287","supseteqq;":"\u2ac6","supsetneq;":"\u228b","supsetneqq;":"\u2acc","supsim;":"\u2ac8","supsub;":"\u2ad4","supsup;":"\u2ad6","swarhk;":"\u2926","swarr;":"\u2199","swArr;":"\u21d9","swarrow;":"\u2199","swnwar;":"\u292a","szlig;":"\u00df",szlig:"\u00df","Tab;":" ","target;":"\u2316","Tau;":"\u03a4","tau;":"\u03c4","tbrk;":"\u23b4","Tcaron;":"\u0164","tcaron;":"\u0165","Tcedil;":"\u0162","tcedil;":"\u0163","Tcy;":"\u0422","tcy;":"\u0442","tdot;":"\u20db","telrec;":"\u2315","Tfr;":"\ud835\udd17","tfr;":"\ud835\udd31","there4;":"\u2234","therefore;":"\u2234","Therefore;":"\u2234","Theta;":"\u0398","theta;":"\u03b8","thetasym;":"\u03d1","thetav;":"\u03d1","thickapprox;":"\u2248","thicksim;":"\u223c","ThickSpace;":"\u205f\u200a","ThinSpace;":"\u2009","thinsp;":"\u2009","thkap;":"\u2248","thksim;":"\u223c","THORN;":"\u00de",THORN:"\u00de","thorn;":"\u00fe",thorn:"\u00fe","tilde;":"\u02dc","Tilde;":"\u223c","TildeEqual;":"\u2243","TildeFullEqual;":"\u2245","TildeTilde;":"\u2248","timesbar;":"\u2a31","timesb;":"\u22a0","times;":"\u00d7",times:"\u00d7","timesd;":"\u2a30","tint;":"\u222d","toea;":"\u2928","topbot;":"\u2336","topcir;":"\u2af1","top;":"\u22a4","Topf;":"\ud835\udd4b","topf;":"\ud835\udd65","topfork;":"\u2ada","tosa;":"\u2929","tprime;":"\u2034","trade;":"\u2122","TRADE;":"\u2122","triangle;":"\u25b5","triangledown;":"\u25bf","triangleleft;":"\u25c3","trianglelefteq;":"\u22b4","triangleq;":"\u225c","triangleright;":"\u25b9","trianglerighteq;":"\u22b5","tridot;":"\u25ec","trie;":"\u225c","triminus;":"\u2a3a","TripleDot;":"\u20db","triplus;":"\u2a39","trisb;":"\u29cd","tritime;":"\u2a3b","trpezium;":"\u23e2","Tscr;":"\ud835\udcaf","tscr;":"\ud835\udcc9","TScy;":"\u0426","tscy;":"\u0446","TSHcy;":"\u040b","tshcy;":"\u045b","Tstrok;":"\u0166","tstrok;":"\u0167","twixt;":"\u226c","twoheadleftarrow;":"\u219e","twoheadrightarrow;":"\u21a0","Uacute;":"\u00da",Uacute:"\u00da","uacute;":"\u00fa",uacute:"\u00fa","uarr;":"\u2191","Uarr;":"\u219f","uArr;":"\u21d1","Uarrocir;":"\u2949","Ubrcy;":"\u040e","ubrcy;":"\u045e","Ubreve;":"\u016c","ubreve;":"\u016d","Ucirc;":"\u00db",Ucirc:"\u00db","ucirc;":"\u00fb",ucirc:"\u00fb","Ucy;":"\u0423","ucy;":"\u0443","udarr;":"\u21c5","Udblac;":"\u0170","udblac;":"\u0171","udhar;":"\u296e","ufisht;":"\u297e","Ufr;":"\ud835\udd18","ufr;":"\ud835\udd32","Ugrave;":"\u00d9",Ugrave:"\u00d9","ugrave;":"\u00f9",ugrave:"\u00f9","uHar;":"\u2963","uharl;":"\u21bf","uharr;":"\u21be","uhblk;":"\u2580","ulcorn;":"\u231c","ulcorner;":"\u231c","ulcrop;":"\u230f","ultri;":"\u25f8","Umacr;":"\u016a","umacr;":"\u016b","uml;":"\u00a8",uml:"\u00a8","UnderBar;":"_","UnderBrace;":"\u23df","UnderBracket;":"\u23b5","UnderParenthesis;":"\u23dd","Union;":"\u22c3","UnionPlus;":"\u228e","Uogon;":"\u0172","uogon;":"\u0173","Uopf;":"\ud835\udd4c","uopf;":"\ud835\udd66","UpArrowBar;":"\u2912","uparrow;":"\u2191","UpArrow;":"\u2191","Uparrow;":"\u21d1","UpArrowDownArrow;":"\u21c5","updownarrow;":"\u2195","UpDownArrow;":"\u2195","Updownarrow;":"\u21d5","UpEquilibrium;":"\u296e","upharpoonleft;":"\u21bf","upharpoonright;":"\u21be","uplus;":"\u228e","UpperLeftArrow;":"\u2196","UpperRightArrow;":"\u2197","upsi;":"\u03c5","Upsi;":"\u03d2","upsih;":"\u03d2","Upsilon;":"\u03a5","upsilon;":"\u03c5","UpTeeArrow;":"\u21a5","UpTee;":"\u22a5","upuparrows;":"\u21c8","urcorn;":"\u231d","urcorner;":"\u231d","urcrop;":"\u230e","Uring;":"\u016e","uring;":"\u016f","urtri;":"\u25f9","Uscr;":"\ud835\udcb0","uscr;":"\ud835\udcca","utdot;":"\u22f0","Utilde;":"\u0168","utilde;":"\u0169","utri;":"\u25b5","utrif;":"\u25b4","uuarr;":"\u21c8","Uuml;":"\u00dc",Uuml:"\u00dc","uuml;":"\u00fc",uuml:"\u00fc","uwangle;":"\u29a7","vangrt;":"\u299c","varepsilon;":"\u03f5","varkappa;":"\u03f0","varnothing;":"\u2205","varphi;":"\u03d5","varpi;":"\u03d6","varpropto;":"\u221d","varr;":"\u2195","vArr;":"\u21d5","varrho;":"\u03f1","varsigma;":"\u03c2","varsubsetneq;":"\u228a\ufe00","varsubsetneqq;":"\u2acb\ufe00","varsupsetneq;":"\u228b\ufe00","varsupsetneqq;":"\u2acc\ufe00","vartheta;":"\u03d1","vartriangleleft;":"\u22b2","vartriangleright;":"\u22b3","vBar;":"\u2ae8","Vbar;":"\u2aeb","vBarv;":"\u2ae9","Vcy;":"\u0412","vcy;":"\u0432","vdash;":"\u22a2","vDash;":"\u22a8","Vdash;":"\u22a9","VDash;":"\u22ab","Vdashl;":"\u2ae6","veebar;":"\u22bb","vee;":"\u2228","Vee;":"\u22c1","veeeq;":"\u225a","vellip;":"\u22ee","verbar;":"|","Verbar;":"\u2016","vert;":"|","Vert;":"\u2016","VerticalBar;":"\u2223","VerticalLine;":"|","VerticalSeparator;":"\u2758","VerticalTilde;":"\u2240","VeryThinSpace;":"\u200a","Vfr;":"\ud835\udd19","vfr;":"\ud835\udd33","vltri;":"\u22b2","vnsub;":"\u2282\u20d2","vnsup;":"\u2283\u20d2","Vopf;":"\ud835\udd4d","vopf;":"\ud835\udd67","vprop;":"\u221d","vrtri;":"\u22b3","Vscr;":"\ud835\udcb1","vscr;":"\ud835\udccb","vsubnE;":"\u2acb\ufe00","vsubne;":"\u228a\ufe00","vsupnE;":"\u2acc\ufe00","vsupne;":"\u228b\ufe00","Vvdash;":"\u22aa","vzigzag;":"\u299a","Wcirc;":"\u0174","wcirc;":"\u0175","wedbar;":"\u2a5f","wedge;":"\u2227","Wedge;":"\u22c0","wedgeq;":"\u2259","weierp;":"\u2118","Wfr;":"\ud835\udd1a","wfr;":"\ud835\udd34","Wopf;":"\ud835\udd4e","wopf;":"\ud835\udd68","wp;":"\u2118","wr;":"\u2240","wreath;":"\u2240","Wscr;":"\ud835\udcb2","wscr;":"\ud835\udccc","xcap;":"\u22c2","xcirc;":"\u25ef","xcup;":"\u22c3","xdtri;":"\u25bd","Xfr;":"\ud835\udd1b","xfr;":"\ud835\udd35","xharr;":"\u27f7","xhArr;":"\u27fa","Xi;":"\u039e","xi;":"\u03be","xlarr;":"\u27f5","xlArr;":"\u27f8","xmap;":"\u27fc","xnis;":"\u22fb","xodot;":"\u2a00","Xopf;":"\ud835\udd4f","xopf;":"\ud835\udd69","xoplus;":"\u2a01","xotime;":"\u2a02","xrarr;":"\u27f6","xrArr;":"\u27f9","Xscr;":"\ud835\udcb3","xscr;":"\ud835\udccd","xsqcup;":"\u2a06","xuplus;":"\u2a04","xutri;":"\u25b3","xvee;":"\u22c1","xwedge;":"\u22c0","Yacute;":"\u00dd",Yacute:"\u00dd","yacute;":"\u00fd",yacute:"\u00fd","YAcy;":"\u042f","yacy;":"\u044f","Ycirc;":"\u0176","ycirc;":"\u0177","Ycy;":"\u042b","ycy;":"\u044b","yen;":"\u00a5",yen:"\u00a5","Yfr;":"\ud835\udd1c","yfr;":"\ud835\udd36","YIcy;":"\u0407","yicy;":"\u0457","Yopf;":"\ud835\udd50","yopf;":"\ud835\udd6a","Yscr;":"\ud835\udcb4","yscr;":"\ud835\udcce","YUcy;":"\u042e","yucy;":"\u044e","yuml;":"\u00ff",yuml:"\u00ff","Yuml;":"\u0178","Zacute;":"\u0179","zacute;":"\u017a","Zcaron;":"\u017d","zcaron;":"\u017e","Zcy;":"\u0417","zcy;":"\u0437","Zdot;":"\u017b","zdot;":"\u017c","zeetrf;":"\u2128","ZeroWidthSpace;":"\u200b","Zeta;":"\u0396","zeta;":"\u03b6","zfr;":"\ud835\udd37","Zfr;":"\u2128","ZHcy;":"\u0416","zhcy;":"\u0436","zigrarr;":"\u21dd","zopf;":"\ud835\udd6b","Zopf;":"\u2124","Zscr;":"\ud835\udcb5","zscr;":"\ud835\udccf","zwj;":"\u200d","zwnj;":"\u200c"}},{}],13:[function(e,t,n){function u(e,t){return r.isUndefined(t)?""+t:r.isNumber(t)&&(isNaN(t)||!isFinite(t))?t.toString():r.isFunction(t)||r.isRegExp(t)?t.toString():t}function a(e,t){return r.isString(e)?e.length=0;u--)if(n[u]!=s[u])return!1;for(u=n.length-1;u>=0;u--){o=n[u];if(!h(e[o],t[o]))return!1}return!0}function v(e,t){return!e||!t?!1:Object.prototype.toString.call(t)=="[object RegExp]"?t.test(e):e instanceof t?!0:t.call({},e)===!0?!0:!1}function m(e,t,n,i){var s;r.isString(n)&&(i=n,n=null);try{t()}catch(o){s=o}i=(n&&n.name?" ("+n.name+").":".")+(i?" "+i:"."),e&&!s&&l(s,n,"Missing expected exception"+i),!e&&v(s,n)&&l(s,n,"Got unwanted exception"+i);if(e&&s&&n&&!v(s,n)||!e&&s)throw s}var r=e("util/"),i=Array.prototype.slice,s=Object.prototype.hasOwnProperty,o=t.exports=c;o.AssertionError=function(t){this.name="AssertionError",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=f(this),this.generatedMessage=!0);var n=t.stackStartFunction||l;if(Error.captureStackTrace)Error.captureStackTrace(this,n);else{var r=new Error;if(r.stack){var i=r.stack,s=n.name,o=i.indexOf("\n"+s);if(o>=0){var u=i.indexOf("\n",o+1);i=i.substring(u+1)}this.stack=i}}},r.inherits(o.AssertionError,Error),o.fail=l,o.ok=c,o.equal=function(t,n,r){t!=n&&l(t,n,r,"==",o.equal)},o.notEqual=function(t,n,r){t==n&&l(t,n,r,"!=",o.notEqual)},o.deepEqual=function(t,n,r){h(t,n)||l(t,n,r,"deepEqual",o.deepEqual)},o.notDeepEqual=function(t,n,r){h(t,n)&&l(t,n,r,"notDeepEqual",o.notDeepEqual)},o.strictEqual=function(t,n,r){t!==n&&l(t,n,r,"===",o.strictEqual)},o.notStrictEqual=function(t,n,r){t===n&&l(t,n,r,"!==",o.notStrictEqual)},o.throws=function(e,t,n){m.apply(this,[!0].concat(i.call(arguments)))},o.doesNotThrow=function(e,t){m.apply(this,[!1].concat(i.call(arguments)))},o.ifError=function(e){if(e)throw e};var g=Object.keys||function(e){var t=[];for(var n in e)s.call(e,n)&&t.push(n);return t}},{"util/":15}],14:[function(e,t,n){t.exports=function(t){return t&&typeof t=="object"&&typeof t.copy=="function"&&typeof t.fill=="function"&&typeof t.readUInt8=="function"}},{}],15:[function(e,t,n){(function(t,r){function u(e,t){var r={seen:[],stylize:f};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),y(t)?r.showHidden=t:t&&n._extend(r,t),T(r.showHidden)&&(r.showHidden=!1),T(r.depth)&&(r.depth=2),T(r.colors)&&(r.colors=!1),T(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=a),c(r,e,r.depth)}function a(e,t){var n=u.styles[t];return n?"["+u.colors[n][0]+"m"+e+"["+u.colors[n][1]+"m":e}function f(e,t){return e}function l(e){var t={};return e.forEach(function(e,n){t[e]=!0}),t}function c(e,t,r){if(e.customInspect&&t&&A(t.inspect)&&t.inspect!==n.inspect&&(!t.constructor||t.constructor.prototype!==t)){var i=t.inspect(r,e);return S(i)||(i=c(e,i,r)),i}var s=h(e,t);if(s)return s;var o=Object.keys(t),u=l(o);e.showHidden&&(o=Object.getOwnPropertyNames(t));if(L(t)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return p(t);if(o.length===0){if(A(t)){var a=t.name?": "+t.name:"";return e.stylize("[Function"+a+"]","special")}if(N(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(k(t))return e.stylize(Date.prototype.toString.call(t),"date");if(L(t))return p(t)}var f="",y=!1,b=["{","}"];g(t)&&(y=!0,b=["[","]"]);if(A(t)){var w=t.name?": "+t.name:"";f=" [Function"+w+"]"}N(t)&&(f=" "+RegExp.prototype.toString.call(t)),k(t)&&(f=" "+Date.prototype.toUTCString.call(t)),L(t)&&(f=" "+p(t));if(o.length!==0||!!y&&t.length!=0){if(r<0)return N(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special");e.seen.push(t);var E;return y?E=d(e,t,r,u,o):E=o.map(function(n){return v(e,t,r,u,n,y)}),e.seen.pop(),m(E,f,b)}return b[0]+f+b[1]}function h(e,t){if(T(t))return e.stylize("undefined","undefined");if(S(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}if(E(t))return e.stylize(""+t,"number");if(y(t))return e.stylize(""+t,"boolean");if(b(t))return e.stylize("null","null")}function p(e){return"["+Error.prototype.toString.call(e)+"]"}function d(e,t,n,r,i){var s=[];for(var o=0,u=t.length;o-1&&(s?u=u.split("\n").map(function(e){return" "+e}).join("\n").substr(2):u="\n"+u.split("\n").map(function(e){return" "+e}).join("\n"))):u=e.stylize("[Circular]","special"));if(T(o)){if(s&&i.match(/^\d+$/))return u;o=JSON.stringify(""+i),o.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=e.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=e.stylize(o,"string"))}return o+": "+u}function m(e,t,n){var r=0,i=e.reduce(function(e,t){return r++,t.indexOf("\n")>=0&&r++,e+t.replace(/\u001b\[\d\d?m/g,"").length+1},0);return i>60?n[0]+(t===""?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1]:n[0]+t+" "+e.join(", ")+" "+n[1]}function g(e){return Array.isArray(e)}function y(e){return typeof e=="boolean"}function b(e){return e===null}function w(e){return e==null}function E(e){return typeof e=="number"}function S(e){return typeof e=="string"}function x(e){return typeof e=="symbol"}function T(e){return e===void 0}function N(e){return C(e)&&M(e)==="[object RegExp]"}function C(e){return typeof e=="object"&&e!==null}function k(e){return C(e)&&M(e)==="[object Date]"}function L(e){return C(e)&&(M(e)==="[object Error]"||e instanceof Error)}function A(e){return typeof e=="function"}function O(e){return e===null||typeof e=="boolean"||typeof e=="number"||typeof e=="string"||typeof e=="symbol"||typeof e=="undefined"}function M(e){return Object.prototype.toString.call(e)}function _(e){return e<10?"0"+e.toString(10):e.toString(10)}function P(){var e=new Date,t=[_(e.getHours()),_(e.getMinutes()),_(e.getSeconds())].join(":");return[e.getDate(),D[e.getMonth()],t].join(" ")}function H(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var i=/%[sdj%]/g;n.format=function(e){if(!S(e)){var t=[];for(var n=0;n=s)return e;switch(e){case"%s":return String(r[n++]);case"%d":return Number(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch(t){return"[Circular]"};default:return e}});for(var a=r[n];n0&&this._events[e].length>n&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),console.trace())}return this},r.prototype.on=r.prototype.addListener,r.prototype.once=function(e,t){function r(){this.removeListener(e,r),n||(n=!0,t.apply(this,arguments))}if(!i(t))throw TypeError("listener must be a function");var n=!1;return r.listener=t,this.on(e,r),this},r.prototype.removeListener=function(e,t){var n,r,s,u;if(!i(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;n=this._events[e],s=n.length,r=-1;if(n===t||i(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(o(n)){for(u=s;u-->0;)if(n[u]===t||n[u].listener&&n[u].listener===t){r=u;break}if(r<0)return this;n.length===1?(n.length=0,delete this._events[e]):n.splice(r,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},r.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return arguments.length===0?this._events={}:this._events[e]&&delete this._events[e],this;if(arguments.length===0){for(t in this._events){if(t==="removeListener")continue;this.removeAllListeners(t)}return this.removeAllListeners("removeListener"),this._events={},this}n=this._events[e];if(i(n))this.removeListener(e,n);else while(n.length)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},r.prototype.listeners=function(e){var t;return!this._events||!this._events[e]?t=[]:i(this._events[e])?t=[this._events[e]]:t=this._events[e].slice(),t},r.listenerCount=function(e,t){var n;return!e._events||!e._events[t]?n=0:i(e._events[t])?n=1:n=e._events[t].length,n}},{}],17:[function(e,t,n){typeof Object.create=="function"?t.exports=function(t,n){t.super_=n,t.prototype=Object.create(n.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:t.exports=function(t,n){t.super_=n;var r=function(){};r.prototype=n.prototype,t.prototype=new r,t.prototype.constructor=t}},{}],18:[function(e,t,n){function i(){}var r=t.exports={};r.nextTick=function(){var e=typeof window!="undefined"&&window.setImmediate,t=typeof window!="undefined"&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var n=[];return window.addEventListener("message",function(e){var t=e.source;if((t===window||t===null)&&e.data==="process-tick"){e.stopPropagation();if(n.length>0){var r=n.shift();r()}}},!0),function(t){n.push(t),window.postMessage("process-tick","*")}}return function(t){setTimeout(t,0)}}(),r.title="browser",r.browser=!0,r.env={},r.argv=[],r.on=i,r.once=i,r.off=i,r.emit=i,r.binding=function(e){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(e){throw new Error("process.chdir is not supported")}},{}],19:[function(e,t,n){t.exports=e(14)},{}],20:[function(e,t,n){t.exports=e(15)},{"./support/isBuffer":19,"/usr/local/lib/node_modules/browserify/node_modules/insert-module-globals/node_modules/process/browser.js":18,inherits:17}]},{},[9])(9)}),define("ace/mode/html_worker",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/worker/mirror","ace/mode/html/saxparser"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("../worker/mirror").Mirror,o=e("./html/saxparser").SAXParser,u={"expected-doctype-but-got-start-tag":"info","expected-doctype-but-got-chars":"info","non-html-root":"info"},a=t.Worker=function(e){s.call(this,e),this.setTimeout(400),this.context=null};r.inherits(a,s),function(){this.setOptions=function(e){this.context=e.context},this.onUpdate=function(){var e=this.doc.getValue();if(!e)return;var t=new o,n=[],r=function(){};t.contentHandler={startDocument:r,endDocument:r,startElement:r,endElement:r,characters:r},t.errorHandler={error:function(e,t,r){n.push({row:t.line,column:t.column,text:e,type:u[r]||"error"})}},this.context?t.parseFragment(e,this.context):t.parse(e),this.sender.emit("error",n)}}.call(a.prototype)}),define("ace/lib/es5-shim",["require","exports","module"],function(e,t,n){function r(){}function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function B(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(B(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(B(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError("Function.prototype.bind called on incompatible "+n);var i=u.call(arguments,1),s=function(){if(this instanceof s){var e=n.apply(this,i.concat(u.call(arguments)));return Object(e)===e?e:this}return n.apply(t,i.concat(u.call(arguments)))};return n.prototype&&(r.prototype=n.prototype,s.prototype=new r,r.prototype=null),s});var i=Function.prototype.call,s=Array.prototype,o=Object.prototype,u=s.slice,a=i.bind(o.toString),f=i.bind(o.hasOwnProperty),l,c,h,p,d;if(d=f(o,"__defineGetter__"))l=i.bind(o.__defineGetter__),c=i.bind(o.__defineSetter__),h=i.bind(o.__lookupGetter__),p=i.bind(o.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+ta)for(h=l;h--;)this[f+h]=this[a+h];if(s&&e===c)this.length=c,this.push.apply(this,i);else{this.length=c+s;for(h=0;h>>0;if(a(t)!="[object Function]")throw new TypeError;while(++s>>0,s=Array(i),o=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var u=0;u>>0,s=[],o,u=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var f=0;f>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var s=0,o;if(arguments.length>=2)o=arguments[1];else do{if(s in r){o=r[s++];break}if(++s>=i)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;s>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var s,o=i-1;if(arguments.length>=2)s=arguments[1];else do{if(o in r){s=r[o--];break}if(--o<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do o in this&&(s=t.call(void 0,s,r[o],o,n));while(o--);return s});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=0;arguments.length>1&&(i=H(arguments[1])),i=i>=0?i:Math.max(0,r+i);for(;i>>0;if(!r)return-1;var i=r-1;arguments.length>1&&(i=Math.min(i,H(arguments[1]))),i=i>=0?i:r-Math.abs(i);for(;i>=0;i--)if(i in n&&t===n[i])return i;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(t){return t.__proto__||(t.constructor?t.constructor.prototype:o)});if(!Object.getOwnPropertyDescriptor){var y="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(t,n){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(y+t);if(!f(t,n))return;var r,i,s;r={enumerable:!0,configurable:!0};if(d){var u=t.__proto__;t.__proto__=o;var i=h(t,n),s=p(t,n);t.__proto__=u;if(i||s)return i&&(r.get=i),s&&(r.set=s),r}return r.value=t[n],r}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(t){return Object.keys(t)});if(!Object.create){var b;Object.prototype.__proto__===null?b=function(){return{__proto__:null}}:b=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(t,n){var r;if(t===null)r=b();else{if(typeof t!="object")throw new TypeError("typeof prototype["+typeof t+"] != 'object'");var i=function(){};i.prototype=t,r=new i,r.__proto__=t}return n!==void 0&&Object.defineProperties(r,n),r}}if(Object.defineProperty){var E=w({}),S=typeof document=="undefined"||w(document.createElement("div"));if(!E||!S)var x=Object.defineProperty}if(!Object.defineProperty||x){var T="Property description must be an object: ",N="Object.defineProperty called on non-object: ",C="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(t,n,r){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(N+t);if(typeof r!="object"&&typeof r!="function"||r===null)throw new TypeError(T+r);if(x)try{return x.call(Object,t,n,r)}catch(i){}if(f(r,"value"))if(d&&(h(t,n)||p(t,n))){var s=t.__proto__;t.__proto__=o,delete t[n],t[n]=r.value,t.__proto__=s}else t[n]=r.value;else{if(!d)throw new TypeError(C);f(r,"get")&&l(t,n,r.get),f(r,"set")&&c(t,n,r.set)}return t}}Object.defineProperties||(Object.defineProperties=function(t,n){for(var r in n)f(n,r)&&Object.defineProperty(t,r,n[r]);return t}),Object.seal||(Object.seal=function(t){return t}),Object.freeze||(Object.freeze=function(t){return t});try{Object.freeze(function(){})}catch(k){Object.freeze=function(t){return function(n){return typeof n=="function"?n:t(n)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(t){return t}),Object.isSealed||(Object.isSealed=function(t){return!1}),Object.isFrozen||(Object.isFrozen=function(t){return!1}),Object.isExtensible||(Object.isExtensible=function(t){if(Object(t)===t)throw new TypeError;var n="";while(f(t,n))n+="?";t[n]=!0;var r=f(t,n);return delete t[n],r});if(!Object.keys){var L=!0,A=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],O=A.length;for(var M in{toString:null})L=!1;Object.keys=function I(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var I=[];for(var t in e)f(e,t)&&I.push(t);if(L)for(var n=0,r=O;n_addClient(this); _server->_handleEvent(this, WS_EVT_CONNECT, request, NULL, 0); delete request; + memset(&_pinfo,0,sizeof(_pinfo)); // } AsyncWebSocketClient::~AsyncWebSocketClient(){ diff --git a/src/SPIFFSEditor.cpp b/src/SPIFFSEditor.cpp index a84fa87..169d70f 100644 --- a/src/SPIFFSEditor.cpp +++ b/src/SPIFFSEditor.cpp @@ -2,268 +2,269 @@ #include //File: edit.htm.gz, Size: 4151 -#define edit_htm_gz_len 4151 +#define edit_htm_gz_len 4169 const uint8_t edit_htm_gz[] PROGMEM = { - 0x1F, 0x8B, 0x08, 0x08, 0xB8, 0x94, 0xB1, 0x59, 0x00, 0x03, 0x65, 0x64, 0x69, 0x74, 0x2E, 0x68, - 0x74, 0x6D, 0x00, 0xB5, 0x3A, 0x0B, 0x7B, 0xDA, 0xB8, 0xB2, 0x7F, 0xC5, 0x71, 0xCF, 0x66, 0xED, - 0x83, 0x31, 0x90, 0xA4, 0xD9, 0xD6, 0xC4, 0xC9, 0x42, 0x92, 0x36, 0x6D, 0xF3, 0x6A, 0x80, 0xB6, - 0x69, 0x4F, 0xEE, 0x7E, 0xC2, 0x16, 0xA0, 0xC6, 0x96, 0x5D, 0x5B, 0x0E, 0x49, 0x59, 0xFE, 0xFB, - 0x9D, 0x91, 0x6C, 0xB0, 0x09, 0x69, 0x77, 0xCF, 0xBD, 0xBB, 0xDD, 0x2D, 0x92, 0x46, 0x33, 0x9A, - 0x19, 0xCD, 0x53, 0xDE, 0xBD, 0x8D, 0xA3, 0x8B, 0xC3, 0xFE, 0xF5, 0xE5, 0xB1, 0x36, 0x11, 0x61, - 0xB0, 0xBF, 0x87, 0x7F, 0x6B, 0x01, 0xE1, 0x63, 0x97, 0xF2, 0xFD, 0x3D, 0xC1, 0x44, 0x40, 0xF7, - 0x8F, 0x7B, 0x97, 0xDA, 0xB1, 0xCF, 0x44, 0x94, 0xEC, 0x35, 0xD4, 0xCA, 0x5E, 0x2A, 0x1E, 0x02, - 0xAA, 0x85, 0xD4, 0x67, 0xC4, 0x4D, 0xBD, 0x84, 0xC2, 0x66, 0xDB, 0x0B, 0x67, 0xDF, 0xEB, 0x8C, - 0xFB, 0xF4, 0xDE, 0xD9, 0x6E, 0x36, 0xDB, 0x71, 0x94, 0x32, 0xC1, 0x22, 0xEE, 0x90, 0x61, 0x1A, - 0x05, 0x99, 0xA0, 0xED, 0x80, 0x8E, 0x84, 0xF3, 0x3C, 0xBE, 0x6F, 0x0F, 0xA3, 0xC4, 0xA7, 0x89, - 0xD3, 0x8A, 0xEF, 0x35, 0x00, 0x31, 0x5F, 0x7B, 0xB6, 0xB3, 0xB3, 0xD3, 0x1E, 0x12, 0xEF, 0x76, - 0x9C, 0x44, 0x19, 0xF7, 0xEB, 0x5E, 0x14, 0x44, 0x89, 0xF3, 0x6C, 0xF4, 0x1C, 0xFF, 0xB4, 0x7D, - 0x96, 0xC6, 0x01, 0x79, 0x70, 0x78, 0xC4, 0x29, 0xE0, 0xDE, 0xD7, 0xD3, 0x09, 0xF1, 0xA3, 0xA9, - 0xD3, 0xD4, 0x9A, 0x5A, 0xAB, 0x09, 0x44, 0x92, 0xF1, 0x90, 0x18, 0x4D, 0x0B, 0xFF, 0xD8, 0x3B, - 0x66, 0x7B, 0x14, 0x71, 0x51, 0x4F, 0xD9, 0x77, 0xEA, 0xB4, 0xB6, 0xE0, 0x34, 0x39, 0x1D, 0x91, - 0x90, 0x05, 0x0F, 0x4E, 0x4A, 0x78, 0x5A, 0x4F, 0x69, 0xC2, 0x46, 0x6A, 0x79, 0x4A, 0xD9, 0x78, - 0x22, 0x9C, 0xDF, 0x9A, 0xCD, 0x39, 0xF0, 0xAF, 0x65, 0xC1, 0x2C, 0x60, 0x29, 0x20, 0xA3, 0x78, - 0xEA, 0x3C, 0x11, 0xC5, 0x4E, 0x53, 0xB1, 0xDE, 0x6C, 0x87, 0x24, 0x19, 0x33, 0x0E, 0x83, 0x98, - 0xF8, 0x3E, 0xE3, 0x63, 0x47, 0xA1, 0x05, 0x6C, 0xB6, 0x90, 0x36, 0xA1, 0x01, 0x11, 0xEC, 0x8E, - 0xB6, 0x43, 0xC6, 0xEB, 0x53, 0xE6, 0x8B, 0x89, 0xB3, 0x0B, 0x3C, 0xB6, 0xBD, 0x2C, 0x49, 0x41, - 0xA6, 0x38, 0x62, 0x5C, 0xD0, 0x44, 0xA2, 0xA5, 0x31, 0xE1, 0xB3, 0x5C, 0x54, 0x54, 0x40, 0x21, - 0x27, 0xE3, 0x01, 0xE3, 0xB4, 0x3E, 0x0C, 0x22, 0xEF, 0x76, 0x71, 0xD2, 0x6E, 0x7C, 0x9F, 0x9F, - 0xE5, 0x4C, 0xA2, 0x3B, 0x9A, 0xCC, 0x96, 0xEA, 0x92, 0xD8, 0x15, 0x60, 0x85, 0x34, 0xA5, 0x74, - 0x6E, 0x8B, 0xBB, 0x0C, 0xA0, 0x96, 0xFC, 0x05, 0x29, 0x17, 0xFC, 0x2F, 0x45, 0x5A, 0x11, 0x5C, - 0xA1, 0x30, 0x1E, 0x67, 0x62, 0xF6, 0xF8, 0x2A, 0xA3, 0x98, 0x78, 0x4C, 0x3C, 0xA0, 0xFC, 0xB0, - 0x6D, 0x86, 0xBA, 0x04, 0xAC, 0x24, 0x24, 0x81, 0x86, 0x3A, 0xD7, 0x3E, 0xD0, 0xC4, 0x27, 0x9C, - 0x58, 0x9D, 0x84, 0x91, 0xC0, 0xEA, 0x2D, 0xB5, 0x5E, 0x0F, 0xA3, 0xEF, 0xF5, 0x0C, 0xC6, 0x30, - 0x0F, 0xA8, 0x27, 0x94, 0x92, 0xE1, 0x1E, 0x86, 0xB7, 0x4C, 0x3C, 0x06, 0x3C, 0x5A, 0x28, 0xA9, - 0x4B, 0x2A, 0x69, 0xA2, 0x2E, 0xB0, 0x25, 0xD5, 0x83, 0x1C, 0x4B, 0xC9, 0x95, 0x50, 0xF5, 0x61, - 0x24, 0x44, 0x14, 0x4A, 0x93, 0x5B, 0x08, 0xAC, 0x49, 0xAB, 0x79, 0xF1, 0xE8, 0x46, 0xD6, 0x6B, - 0xBF, 0x44, 0xBE, 0x0D, 0x7A, 0x15, 0xCC, 0x23, 0x41, 0x9D, 0x04, 0x6C, 0xCC, 0x9D, 0x90, 0xF9, - 0x7E, 0x40, 0x4B, 0x56, 0xEB, 0x64, 0x49, 0x60, 0xF8, 0x44, 0x10, 0x87, 0x85, 0x64, 0x4C, 0x1B, - 0x31, 0x1F, 0x03, 0x34, 0xA5, 0xBB, 0x3B, 0x16, 0xFB, 0xD0, 0xBD, 0xB8, 0x9A, 0x36, 0xDF, 0xBD, - 0x1E, 0x47, 0x1D, 0xF8, 0xE7, 0xBC, 0x37, 0x98, 0x1C, 0x0F, 0xC6, 0x30, 0xEA, 0xE2, 0xB4, 0xF3, - 0xFE, 0xB0, 0xF3, 0x1E, 0x7E, 0x0E, 0x5B, 0xB5, 0xAF, 0xA3, 0x6F, 0xB8, 0xD0, 0x7D, 0xED, 0x77, - 0xFB, 0x83, 0xE3, 0x4E, 0xE7, 0x5D, 0xE3, 0xCD, 0xF9, 0xF4, 0xE3, 0xBB, 0x5D, 0x04, 0x77, 0x83, - 0xE6, 0xD5, 0x87, 0x49, 0x73, 0xB0, 0xF5, 0x32, 0xF4, 0x4F, 0xFC, 0x89, 0x17, 0x0E, 0x3A, 0xEF, - 0x3F, 0x5E, 0xDD, 0x5D, 0x87, 0x83, 0x71, 0xEF, 0x63, 0x6B, 0xF2, 0x79, 0xEB, 0x43, 0xEF, 0xF3, - 0xC7, 0x57, 0xB7, 0xF4, 0xD3, 0xC9, 0xDB, 0xCF, 0xFD, 0x29, 0x20, 0x1C, 0x45, 0xBD, 0xC1, 0x55, - 0xF7, 0x43, 0x77, 0xFC, 0xB9, 0xEB, 0x1D, 0xDF, 0x0F, 0x83, 0xF3, 0xEE, 0xEB, 0xCE, 0xB0, 0xB3, - 0xE5, 0x51, 0x3A, 0xEE, 0x5F, 0x75, 0xB3, 0x37, 0xEF, 0x2E, 0xC6, 0x8C, 0x4D, 0x7A, 0x9F, 0xCF, - 0xFB, 0xDE, 0xE1, 0xF3, 0xD3, 0xC1, 0x49, 0x87, 0x4D, 0xCE, 0xDF, 0x5E, 0x35, 0x6F, 0x5F, 0xBF, - 0x3B, 0x3C, 0xF2, 0xAE, 0xDF, 0x5E, 0xEF, 0x1E, 0x6D, 0x37, 0x7E, 0xFB, 0xED, 0xCC, 0xBF, 0x60, - 0xBC, 0x7F, 0xF7, 0xBD, 0x33, 0x3E, 0x9C, 0xBE, 0x78, 0x48, 0xFB, 0x93, 0x37, 0x77, 0xBC, 0xF1, - 0x21, 0xFA, 0xFA, 0xE6, 0xE1, 0x0C, 0xFE, 0xBB, 0xBC, 0xAC, 0x0D, 0x7B, 0xAD, 0x74, 0xF0, 0xFE, - 0xCD, 0x87, 0xAD, 0xF4, 0xE5, 0xF3, 0xB8, 0x7B, 0x74, 0x74, 0x17, 0x0E, 0x2F, 0x1B, 0xA1, 0x7F, - 0x3B, 0x12, 0x2F, 0xB6, 0x45, 0x7C, 0x3D, 0xCE, 0x3E, 0x7F, 0x7B, 0xFE, 0x76, 0xD2, 0xB8, 0xA0, - 0xE4, 0x7A, 0x52, 0x7B, 0xF8, 0xFE, 0xF0, 0x62, 0xD2, 0x3F, 0xB9, 0x3B, 0x0F, 0xC8, 0xFD, 0xF9, - 0xB9, 0xF7, 0x3D, 0xAC, 0x05, 0xE4, 0xE5, 0x45, 0x3F, 0x20, 0x49, 0x6B, 0xE0, 0x77, 0x1A, 0xB5, - 0xC3, 0xAD, 0xCE, 0x8E, 0x48, 0xAE, 0x0E, 0xF9, 0xD1, 0xF6, 0xD7, 0xDE, 0x8B, 0x6E, 0xB7, 0x15, - 0x0D, 0xBF, 0x6D, 0xBD, 0xBE, 0xDD, 0x7D, 0x3D, 0xD8, 0x7D, 0x3F, 0x7C, 0xDF, 0xE9, 0xED, 0x74, - 0x07, 0xE4, 0xBA, 0xF7, 0xBE, 0x33, 0xDA, 0x19, 0x4E, 0x26, 0xEF, 0xDE, 0xF5, 0x5F, 0xF9, 0x9D, - 0xEF, 0x49, 0xE7, 0x62, 0xDA, 0xB9, 0x3F, 0x1E, 0x74, 0x4E, 0x6A, 0xEF, 0x8E, 0xCF, 0x9A, 0xAD, - 0xDE, 0xF5, 0xF6, 0xF8, 0x6C, 0x77, 0xDA, 0x4D, 0x8F, 0x3B, 0xEF, 0xBB, 0xCD, 0xF1, 0xDB, 0x5A, - 0x48, 0x3E, 0x47, 0x87, 0xDB, 0xE3, 0x37, 0xBB, 0xEC, 0xF2, 0x9A, 0x74, 0xDE, 0x74, 0xDF, 0xA6, - 0xEC, 0x2A, 0x3C, 0x19, 0x34, 0x3B, 0x9D, 0xD3, 0x0B, 0xFA, 0xEA, 0x70, 0x9B, 0xBC, 0xDB, 0xF2, - 0x3E, 0x82, 0xFE, 0x07, 0x9F, 0xE8, 0x6F, 0xB5, 0xCE, 0xF4, 0xA2, 0x19, 0x78, 0x2F, 0x69, 0xFF, - 0xE4, 0xBA, 0x2F, 0x6F, 0xE7, 0x38, 0x78, 0xD5, 0xBF, 0xED, 0x65, 0xEF, 0xC3, 0xC3, 0x43, 0x53, - 0xE3, 0x51, 0x3D, 0xA1, 0x31, 0x25, 0xA2, 0x1C, 0xAE, 0x16, 0xFE, 0x01, 0xB6, 0xB5, 0xB4, 0xC2, - 0xDC, 0x4F, 0x05, 0xBD, 0x17, 0x75, 0x9F, 0x7A, 0x51, 0x42, 0xE4, 0x1E, 0x40, 0xA0, 0x09, 0x9A, - 0xD8, 0xFC, 0x77, 0x19, 0x3F, 0x35, 0x15, 0x3F, 0x35, 0xC2, 0x7D, 0xCD, 0x28, 0x1C, 0x01, 0x83, - 0x87, 0x4F, 0xEF, 0x98, 0x47, 0xEB, 0x31, 0xBB, 0xA7, 0x41, 0x5D, 0x22, 0x3B, 0x4D, 0x73, 0x26, - 0xFD, 0xAD, 0xD8, 0x46, 0x38, 0x98, 0x9A, 0xA4, 0x5A, 0x2C, 0xF8, 0x5F, 0x89, 0x47, 0x21, 0xB0, - 0x81, 0xCB, 0x84, 0xF8, 0xAB, 0x7C, 0x27, 0x4A, 0xEA, 0xC3, 0x6C, 0x3C, 0x62, 0xF7, 0xE0, 0xD0, - 0x23, 0xC6, 0x99, 0xA0, 0x5A, 0x2B, 0x9D, 0xFF, 0x5E, 0x90, 0xB9, 0xA5, 0x0F, 0xA3, 0x84, 0x84, - 0x34, 0xD5, 0xFE, 0x22, 0x99, 0xD9, 0x28, 0x89, 0xC2, 0x65, 0x10, 0x99, 0x8B, 0xA8, 0x34, 0x99, - 0xCF, 0x9F, 0x65, 0x71, 0x10, 0x11, 0x10, 0x73, 0x4D, 0xE4, 0x50, 0xF1, 0x34, 0x91, 0x6E, 0xB5, - 0x88, 0xAB, 0xB9, 0x9B, 0x6D, 0xA1, 0x5B, 0x96, 0xDD, 0x7A, 0x6B, 0x67, 0xE9, 0xBA, 0x75, 0xB9, - 0x17, 0xE3, 0xFD, 0x9A, 0x4C, 0x81, 0xF1, 0xA0, 0x14, 0xEE, 0x9E, 0x09, 0x50, 0xE9, 0x13, 0x87, - 0xCB, 0x43, 0xF2, 0xC8, 0xB0, 0x60, 0x40, 0x05, 0xEA, 0x96, 0x8C, 0xD4, 0x85, 0x24, 0xB0, 0x6F, - 0xFE, 0x8C, 0xCA, 0xBC, 0x67, 0x3D, 0x8B, 0x13, 0xB8, 0x0D, 0x3A, 0xFD, 0x11, 0xCD, 0x42, 0xA6, - 0x2A, 0x6D, 0x45, 0x53, 0x65, 0xBC, 0x5C, 0x84, 0x65, 0xDA, 0x93, 0xBC, 0x16, 0xA4, 0x1F, 0x4B, - 0x05, 0xE0, 0x05, 0x37, 0xCF, 0x91, 0x9B, 0x1F, 0x6A, 0x75, 0x7B, 0xF7, 0x97, 0x9C, 0x87, 0x9D, - 0xE6, 0x2F, 0x73, 0x3B, 0xDF, 0x5B, 0xA4, 0xE4, 0x56, 0x13, 0xFE, 0x29, 0x32, 0xEF, 0x8B, 0x25, - 0x0B, 0xC3, 0xE7, 0xF8, 0xA7, 0x60, 0x10, 0xE9, 0x94, 0x80, 0xDB, 0x3B, 0x2F, 0x5F, 0xF8, 0xC3, - 0x02, 0x98, 0x0B, 0xF6, 0x24, 0x3C, 0x21, 0x3E, 0xCB, 0x52, 0xE7, 0x79, 0xF3, 0x97, 0x5C, 0x9F, - 0x5B, 0x3B, 0x28, 0xFB, 0xE2, 0x2E, 0x71, 0xB2, 0xB4, 0xD8, 0x34, 0x66, 0x5C, 0xDB, 0x4A, 0x35, - 0xBC, 0x6F, 0x92, 0x2C, 0x0C, 0xB3, 0x92, 0xED, 0xE7, 0xBF, 0x2F, 0x4D, 0x13, 0xF7, 0xCF, 0x9A, - 0xBF, 0xCC, 0x44, 0x02, 0xD9, 0x64, 0x04, 0xB9, 0xC6, 0x49, 0x22, 0x41, 0x04, 0x35, 0x9A, 0xE6, - 0x1C, 0x84, 0x5B, 0x03, 0xD8, 0xDE, 0x6D, 0xFA, 0x74, 0x6C, 0xCE, 0xE7, 0x7B, 0x0D, 0x99, 0xD7, - 0xA0, 0x6C, 0xF1, 0x12, 0x16, 0x8B, 0xFD, 0x51, 0xC6, 0x3D, 0xE4, 0x41, 0x1B, 0x53, 0x83, 0x9A, - 0xB3, 0x84, 0x8A, 0x2C, 0xE1, 0x9A, 0x1F, 0x79, 0x19, 0x1A, 0xBB, 0x3D, 0xA6, 0xE2, 0x58, 0xD9, - 0x7D, 0xF7, 0xE1, 0x8D, 0x0F, 0x3B, 0xE6, 0x0B, 0x04, 0x6F, 0x2D, 0x02, 0x38, 0x30, 0x9C, 0x97, - 0xE3, 0x54, 0xF6, 0x43, 0x82, 0x01, 0x22, 0xEF, 0xE8, 0x83, 0x41, 0x2D, 0xB1, 0x40, 0xA4, 0x36, - 0xAE, 0x1B, 0xC5, 0x2E, 0x80, 0x71, 0x73, 0x76, 0x07, 0x4A, 0x20, 0x2E, 0xFD, 0x22, 0x6E, 0x2C, - 0xE6, 0x72, 0xF8, 0x69, 0xE7, 0xBB, 0xC9, 0x1E, 0x3B, 0xA8, 0xB7, 0x1C, 0xB2, 0xCF, 0x0E, 0x5A, - 0xE0, 0x5E, 0x65, 0x6E, 0xE4, 0xB9, 0xAF, 0x58, 0x40, 0x07, 0xB9, 0xC3, 0xE1, 0x31, 0x48, 0x6C, - 0xB1, 0x85, 0x28, 0xE2, 0x5B, 0xCD, 0xE6, 0x86, 0x4B, 0x0F, 0x48, 0x00, 0x39, 0xCC, 0xD0, 0x8F, - 0xAF, 0xAE, 0x2E, 0xAE, 0xBE, 0xE8, 0x35, 0x5A, 0xD3, 0x6F, 0x1C, 0x4D, 0xAF, 0x71, 0xD3, 0x11, - 0x76, 0x42, 0x47, 0x09, 0x4D, 0x27, 0x97, 0x44, 0x4C, 0x8C, 0xD4, 0xBE, 0x23, 0x41, 0x56, 0x16, - 0x84, 0xA1, 0xDC, 0xC8, 0xA2, 0x70, 0x39, 0x9D, 0x6A, 0xAF, 0x40, 0xCD, 0x47, 0x90, 0xEA, 0xDA, - 0xC2, 0x26, 0x71, 0x4C, 0xB9, 0x6F, 0xE8, 0x31, 0x20, 0xEA, 0x16, 0x35, 0xAD, 0x84, 0x7E, 0xCB, - 0x68, 0x2A, 0x52, 0x1B, 0x2C, 0xD7, 0xD0, 0x2F, 0x07, 0x7D, 0xDD, 0xD2, 0x1B, 0xE8, 0x47, 0x3A, - 0xF0, 0x46, 0xCC, 0x39, 0x52, 0x89, 0x5C, 0xD0, 0xA4, 0x3E, 0xCC, 0xC0, 0xA0, 0xB8, 0x6E, 0xB6, - 0x23, 0x9B, 0x71, 0x4E, 0x93, 0x93, 0xFE, 0xD9, 0xA9, 0xAB, 0x5F, 0x29, 0x46, 0xB4, 0x53, 0x28, - 0x48, 0x74, 0x4B, 0x5E, 0x51, 0x7E, 0xC8, 0xE1, 0x84, 0x05, 0xBE, 0x11, 0x99, 0x6D, 0x24, 0xE1, - 0x49, 0x12, 0xB2, 0x40, 0x01, 0x0A, 0x9E, 0x2D, 0x1E, 0x62, 0xEA, 0xEA, 0x23, 0x50, 0x86, 0x6E, - 0x79, 0x76, 0x98, 0x05, 0x82, 0xC5, 0x01, 0x75, 0x37, 0x5A, 0x30, 0xE3, 0x60, 0x41, 0xAE, 0x8E, - 0xB9, 0x19, 0x61, 0xCC, 0x77, 0x75, 0x15, 0xA1, 0xF2, 0xB8, 0xB6, 0xEE, 0x14, 0x4F, 0x9D, 0x92, - 0x56, 0x4E, 0x49, 0xCB, 0xB8, 0x4A, 0xE0, 0x34, 0x3F, 0x18, 0xC3, 0x3C, 0xCE, 0xD4, 0x51, 0x05, - 0xCC, 0xA7, 0x23, 0x02, 0x9C, 0x7C, 0x40, 0x6D, 0xBA, 0x7A, 0x63, 0xDD, 0x41, 0xA9, 0x3A, 0xC8, - 0xAF, 0x6A, 0xC4, 0x2F, 0x6B, 0x44, 0xDD, 0xEE, 0x3A, 0x64, 0x5F, 0x21, 0x07, 0x55, 0xE4, 0xA0, - 0x8C, 0x7C, 0x28, 0x8D, 0x64, 0x1D, 0x72, 0xA0, 0x90, 0x93, 0x8A, 0x88, 0x89, 0x14, 0x51, 0x85, - 0xBD, 0x3A, 0x6A, 0x13, 0x05, 0xD2, 0xAD, 0xA4, 0x22, 0x66, 0x62, 0x83, 0x97, 0x92, 0x61, 0x40, - 0x7D, 0x77, 0xA3, 0x09, 0x33, 0x2C, 0xB6, 0xDD, 0xAD, 0xE6, 0x9A, 0x33, 0x12, 0x75, 0x46, 0x56, - 0x65, 0x30, 0x2B, 0x33, 0xA8, 0xF5, 0xC8, 0x1D, 0xD5, 0xD6, 0x31, 0x98, 0x99, 0x56, 0x60, 0x47, - 0xDC, 0x0B, 0x98, 0x77, 0xEB, 0x2E, 0xBD, 0xC5, 0x9C, 0xB1, 0x85, 0x85, 0x5A, 0x5C, 0x06, 0xBA, - 0x01, 0x94, 0x5E, 0x8B, 0xA5, 0x7C, 0x80, 0xFA, 0x9E, 0x5B, 0xD9, 0x5A, 0x02, 0xDC, 0xA6, 0xF7, - 0xD4, 0x3B, 0x8C, 0xC2, 0x90, 0xA0, 0xED, 0xA6, 0xC0, 0x41, 0x3E, 0xD1, 0xCD, 0xB9, 0x15, 0xAD, - 0xC5, 0x79, 0xC2, 0x45, 0x2C, 0x7F, 0x3D, 0x8B, 0x23, 0x03, 0x5C, 0xCE, 0xF5, 0x6C, 0xD4, 0x61, - 0x6A, 0x83, 0x1E, 0xC7, 0x62, 0xF2, 0x13, 0x17, 0x2A, 0x0C, 0x54, 0xA2, 0x7C, 0x69, 0xDE, 0x58, - 0x0B, 0x91, 0x56, 0x7C, 0xEA, 0xA2, 0xB7, 0xE2, 0x54, 0xA8, 0xBC, 0x8A, 0x5D, 0x9A, 0x4B, 0x1D, - 0x94, 0x61, 0xB9, 0xBD, 0x2F, 0xA0, 0xFA, 0x7C, 0x0E, 0xE7, 0x01, 0xFF, 0x13, 0x68, 0xF9, 0xE8, - 0x5F, 0x17, 0x60, 0xC9, 0xA3, 0x34, 0x78, 0x8B, 0xBB, 0x0D, 0xE3, 0xC0, 0xF9, 0x8F, 0x6D, 0x7C, - 0xF9, 0x1F, 0xFB, 0xA6, 0x66, 0x9A, 0x07, 0xFF, 0x6A, 0x48, 0x0D, 0x1B, 0xC2, 0xFC, 0xD2, 0xBA, - 0xB1, 0x08, 0x80, 0xED, 0x7F, 0x9B, 0xFF, 0xB1, 0x25, 0xB8, 0x02, 0x6B, 0xDF, 0x45, 0x90, 0x49, - 0xF0, 0x24, 0x34, 0xB0, 0x68, 0xA4, 0x91, 0xCD, 0x4D, 0x43, 0xB8, 0xA4, 0x72, 0x8D, 0x35, 0x51, - 0xD3, 0x6D, 0x88, 0x53, 0x50, 0x5B, 0xAC, 0x04, 0xBF, 0x3E, 0x24, 0x7A, 0x15, 0x5B, 0x17, 0x00, - 0xC9, 0x3D, 0xCA, 0x0C, 0x3D, 0x22, 0x97, 0x52, 0xCB, 0x0C, 0x02, 0x42, 0xA7, 0x89, 0xE7, 0x2A, - 0xAD, 0x1D, 0x14, 0x30, 0x17, 0xA2, 0xE0, 0xBC, 0x1C, 0x2D, 0x15, 0xEA, 0xAA, 0xFD, 0x17, 0x0A, - 0xA3, 0xD6, 0x12, 0x8A, 0x04, 0x31, 0xAD, 0xD8, 0x79, 0xC6, 0x72, 0x75, 0x4C, 0x59, 0xBA, 0x35, - 0x59, 0x5D, 0x96, 0xAD, 0x04, 0xAE, 0x2F, 0x8D, 0xFE, 0xD7, 0x3D, 0x16, 0x8E, 0xB5, 0x12, 0x3F, - 0xF8, 0x97, 0xFB, 0x2B, 0x46, 0xE4, 0xCD, 0x3F, 0xBC, 0x21, 0x70, 0x05, 0xA6, 0x41, 0x6D, 0x1E, - 0x4D, 0x0D, 0xB3, 0xF6, 0xAB, 0xAE, 0x49, 0x8A, 0xAE, 0x1E, 0x92, 0xFB, 0xBC, 0xA7, 0xC4, 0x8C, - 0xD7, 0xD6, 0x70, 0x5E, 0xB4, 0x28, 0xF9, 0x82, 0xEC, 0xE6, 0x48, 0x26, 0xA2, 0xB6, 0x56, 0x64, - 0x52, 0xD5, 0xCA, 0xE8, 0x5A, 0x63, 0xFF, 0xD7, 0x4A, 0x40, 0xB7, 0x98, 0xBA, 0x4E, 0x15, 0x8C, - 0xB3, 0x00, 0x1C, 0x93, 0x3E, 0x1D, 0x69, 0x03, 0x26, 0x03, 0x75, 0x35, 0x46, 0x5A, 0x81, 0xC1, - 0xCC, 0x03, 0xC3, 0x2B, 0xFB, 0xF3, 0x1E, 0x16, 0xBF, 0xFB, 0x97, 0xAA, 0xAA, 0x81, 0xD4, 0x8B, - 0x33, 0x5D, 0x59, 0x59, 0xD5, 0x4B, 0xE0, 0xD2, 0x08, 0xA0, 0x5B, 0x8B, 0x3C, 0x3A, 0x8C, 0xFC, - 0x87, 0x52, 0xF6, 0x4D, 0xBB, 0x0F, 0x87, 0x01, 0x49, 0xD3, 0x73, 0xB8, 0x01, 0x43, 0xF7, 0x42, - 0x50, 0xB8, 0xB2, 0xC2, 0xFD, 0xE6, 0xE6, 0x66, 0x15, 0x29, 0xA1, 0x21, 0x14, 0xDB, 0x8A, 0x2B, - 0xF0, 0x49, 0xD3, 0xF1, 0x81, 0x30, 0x18, 0xD2, 0x1A, 0xC6, 0xF0, 0x25, 0xE3, 0x47, 0x5C, 0x71, - 0xF4, 0xF4, 0x22, 0xA6, 0xFC, 0x33, 0xDC, 0x95, 0x32, 0xCB, 0x1A, 0xAD, 0xA6, 0x68, 0xFA, 0x8F, - 0xD8, 0x3E, 0xCA, 0x0D, 0x76, 0xC1, 0x7A, 0xBA, 0x56, 0xA1, 0xFC, 0x9F, 0x61, 0xB9, 0x94, 0x28, - 0xD6, 0x70, 0x9C, 0x40, 0x80, 0x5A, 0xC3, 0x31, 0xC4, 0x1A, 0x41, 0x17, 0xFC, 0x26, 0x6B, 0xF9, - 0xCD, 0xFE, 0x19, 0x7E, 0x97, 0x76, 0x1E, 0x15, 0x25, 0x91, 0xAA, 0xAF, 0x50, 0x02, 0x9F, 0xDD, - 0xE9, 0xA6, 0x15, 0xB9, 0x55, 0x0A, 0x50, 0x1B, 0x46, 0x41, 0xD0, 0x8F, 0xE2, 0x83, 0x27, 0xD6, - 0x9D, 0xC5, 0x7A, 0x31, 0xC8, 0xD9, 0x5C, 0x6E, 0xB1, 0xBC, 0xB5, 0x44, 0x4F, 0xA1, 0xEC, 0x5F, - 0x4B, 0x15, 0x01, 0x3F, 0x23, 0x8B, 0x7B, 0xAC, 0xD4, 0xA5, 0x36, 0x28, 0x0F, 0x56, 0x3F, 0xD5, - 0x3C, 0xCB, 0x5F, 0xCC, 0xAE, 0x6B, 0x51, 0x9B, 0xC0, 0x38, 0x57, 0x92, 0x8B, 0x4A, 0xB2, 0xC8, - 0x13, 0x01, 0xA8, 0x58, 0xC7, 0x2E, 0xC4, 0x4D, 0x6B, 0x7A, 0x7C, 0xBF, 0x5C, 0x83, 0xC2, 0xDF, - 0xF5, 0xD5, 0x12, 0x33, 0x08, 0xC4, 0xD3, 0x95, 0x4B, 0x29, 0x5F, 0x37, 0x29, 0x8A, 0x0E, 0x62, - 0x47, 0xA3, 0x51, 0x4A, 0xC5, 0x47, 0x0C, 0x49, 0x56, 0xB2, 0x98, 0x9F, 0xC8, 0x90, 0x04, 0x8C, - 0x45, 0x3C, 0x8C, 0xB2, 0x94, 0x46, 0x99, 0xA8, 0xA4, 0x16, 0x63, 0x21, 0xCC, 0x5E, 0xFA, 0xE7, - 0x9F, 0x8B, 0xC9, 0x7E, 0x5A, 0x0B, 0x96, 0xD3, 0xEB, 0x3D, 0xBF, 0x34, 0xD9, 0xF7, 0x6B, 0x89, - 0xB9, 0x7A, 0xE9, 0xFF, 0x67, 0x4B, 0x21, 0x65, 0x4B, 0xF1, 0xB0, 0x54, 0x2E, 0x62, 0x62, 0x29, - 0xE6, 0xC9, 0x82, 0x91, 0x97, 0x7C, 0x16, 0x0D, 0x1A, 0x2B, 0x25, 0x55, 0x9E, 0x97, 0x7D, 0x95, - 0x43, 0x40, 0x59, 0x71, 0xE5, 0x35, 0x11, 0x06, 0x34, 0xE0, 0x63, 0x64, 0xF2, 0x41, 0xEB, 0xA7, - 0xD1, 0x94, 0x26, 0x87, 0x24, 0xA5, 0x06, 0x24, 0xCD, 0x65, 0xDC, 0x41, 0xA8, 0xE9, 0x04, 0xEB, - 0x76, 0x6D, 0x6E, 0x12, 0x05, 0xCE, 0x33, 0x77, 0xC4, 0xB1, 0x26, 0x03, 0xF9, 0xB2, 0xCA, 0x09, - 0xD4, 0xC6, 0xBE, 0x12, 0xA4, 0x3E, 0x52, 0x25, 0xA8, 0x61, 0x5A, 0xD0, 0x76, 0xC0, 0x35, 0x5F, - 0x26, 0x51, 0x4C, 0xC6, 0xB2, 0x07, 0x83, 0x35, 0x74, 0x0F, 0xA4, 0x66, 0x6D, 0x34, 0x91, 0x60, - 0xA9, 0x73, 0x29, 0xFC, 0x66, 0xD9, 0xC2, 0x70, 0x4B, 0x57, 0xC9, 0xB0, 0xBD, 0xF4, 0xA5, 0x35, - 0x59, 0x83, 0xE0, 0x0B, 0x6C, 0x62, 0xE0, 0x1E, 0x68, 0x64, 0xF2, 0x7B, 0x00, 0x77, 0x6B, 0xB6, - 0xA3, 0x3D, 0xD6, 0x8E, 0x6A, 0x35, 0x53, 0x55, 0xE9, 0xAE, 0x0B, 0x6D, 0x4E, 0x74, 0x23, 0x0B, - 0x4B, 0x10, 0xAA, 0x9A, 0x59, 0x0C, 0x38, 0x1B, 0x81, 0xAA, 0xBA, 0xC0, 0x11, 0xD6, 0x98, 0x66, - 0xA9, 0x23, 0xF1, 0x97, 0x1D, 0xC9, 0x13, 0xB5, 0x07, 0x95, 0xF5, 0x05, 0xD4, 0x31, 0xAB, 0x25, - 0x86, 0x30, 0xD3, 0x29, 0x13, 0xDE, 0x04, 0x03, 0x90, 0x07, 0x5A, 0xD5, 0x05, 0x14, 0xB5, 0x8E, - 0x1C, 0x4D, 0x44, 0xB8, 0x1C, 0x05, 0xF9, 0xF0, 0x6B, 0x9A, 0x0F, 0xBC, 0xB4, 0x18, 0xDD, 0x97, - 0x80, 0x50, 0xD2, 0xE6, 0xE0, 0x88, 0x8F, 0xF2, 0x21, 0xF4, 0xB2, 0x05, 0x9D, 0x02, 0x58, 0xFC, - 0xC6, 0x71, 0x3E, 0x8A, 0x27, 0xC5, 0x68, 0x42, 0xEF, 0x17, 0x78, 0x51, 0x01, 0xF5, 0xA9, 0xEE, - 0x28, 0x1B, 0xDB, 0x68, 0xCE, 0xF3, 0x41, 0x6B, 0x29, 0x7F, 0xF0, 0xFF, 0x28, 0x7F, 0xCC, 0xC7, - 0x85, 0x34, 0x71, 0x31, 0x1A, 0xB3, 0x42, 0x96, 0x61, 0x18, 0xFF, 0x90, 0x93, 0xA4, 0xD4, 0x13, - 0x97, 0x7A, 0x5A, 0xF1, 0xB3, 0xB6, 0x53, 0x98, 0x8E, 0x31, 0xAA, 0xF8, 0xE3, 0xC8, 0xF6, 0xF0, - 0xF7, 0x3C, 0xF2, 0x65, 0x6D, 0x69, 0x5A, 0xA1, 0x31, 0x82, 0x3A, 0x57, 0x37, 0xCB, 0x7E, 0x9A, - 0xFD, 0xB7, 0xAD, 0xE8, 0xD1, 0xF1, 0xE9, 0x71, 0xFF, 0xB8, 0x5C, 0x38, 0x23, 0xE7, 0x25, 0x93, - 0x8A, 0x2B, 0x5D, 0xFA, 0xB2, 0x22, 0x80, 0x02, 0x1B, 0x45, 0x01, 0x7B, 0xDD, 0xDC, 0x54, 0x7E, - 0xF1, 0xB6, 0x77, 0x71, 0x6E, 0xC7, 0x24, 0x01, 0x8F, 0x24, 0x15, 0xE6, 0xC2, 0x82, 0x44, 0xF9, - 0xE0, 0xD7, 0xC7, 0xA5, 0x72, 0x5D, 0x7E, 0x61, 0x70, 0xC4, 0xDC, 0x52, 0xA7, 0xA9, 0x7E, 0x78, - 0xE2, 0x62, 0x5D, 0x99, 0xBF, 0x04, 0x41, 0x72, 0x1A, 0x2D, 0x13, 0x55, 0x11, 0x67, 0x46, 0xE5, - 0x30, 0x2F, 0xEE, 0xB2, 0x75, 0x0D, 0xD3, 0xC8, 0xB4, 0xC4, 0x84, 0xA5, 0xE5, 0x46, 0xA5, 0x12, - 0x14, 0xFE, 0xA2, 0xB6, 0xE7, 0x8B, 0x91, 0x24, 0xB7, 0x5A, 0x73, 0xAB, 0x6F, 0x41, 0x2A, 0x3E, - 0x58, 0x04, 0x23, 0x66, 0x39, 0xDB, 0x16, 0x77, 0xA3, 0x43, 0xEE, 0x61, 0x5C, 0x7F, 0xBA, 0x35, - 0x78, 0xD2, 0x3C, 0x79, 0x61, 0x9E, 0xFC, 0xB1, 0x7B, 0x2E, 0x1C, 0x45, 0xF9, 0xDA, 0xE2, 0x98, - 0xF6, 0x10, 0x58, 0xBB, 0x6D, 0x2F, 0x7D, 0x18, 0x20, 0xD2, 0x83, 0xCB, 0x00, 0xF4, 0x63, 0x58, - 0xFF, 0x4A, 0xEE, 0x88, 0x7A, 0x09, 0xAA, 0xA2, 0xAD, 0x73, 0x54, 0xD8, 0xEE, 0xFD, 0x81, 0xA3, - 0xF2, 0xCE, 0x65, 0x18, 0x48, 0x97, 0xC3, 0x92, 0x37, 0x8B, 0x75, 0xC1, 0x61, 0x19, 0x31, 0x64, - 0x6C, 0x00, 0xE3, 0xCD, 0x5D, 0x49, 0x13, 0xD5, 0x1C, 0xB4, 0xF0, 0x1B, 0x08, 0x8A, 0x4F, 0x39, - 0xCE, 0x9A, 0x38, 0xAD, 0x62, 0x72, 0xC5, 0x23, 0xC8, 0x4A, 0x67, 0x89, 0xC0, 0x6E, 0x10, 0x0D, - 0x0D, 0x7C, 0x64, 0x9A, 0xA1, 0xB6, 0x1D, 0x3E, 0x37, 0xD7, 0xBC, 0xD9, 0x54, 0xFA, 0x4B, 0x62, - 0x79, 0xD5, 0xB0, 0x8B, 0x1C, 0x56, 0xCC, 0x75, 0x7D, 0x1F, 0xF4, 0xA3, 0x4E, 0x29, 0xAF, 0x48, - 0xA4, 0x53, 0xD1, 0x83, 0xC4, 0x86, 0xA2, 0x41, 0xBE, 0x91, 0x40, 0x44, 0x72, 0x4A, 0x33, 0x5D, - 0xC7, 0xCA, 0xD2, 0x0B, 0x28, 0x49, 0x7A, 0xB2, 0x73, 0x95, 0x49, 0x6B, 0x25, 0x06, 0xFE, 0xC8, - 0xD7, 0xF0, 0xC7, 0xA1, 0xD0, 0xA3, 0x83, 0x9B, 0x49, 0x2B, 0x83, 0xA4, 0x23, 0x64, 0x83, 0xA9, - 0x37, 0xE4, 0xBB, 0xA8, 0x2D, 0x2F, 0xCB, 0xB4, 0x16, 0x50, 0x70, 0x71, 0x83, 0xBB, 0x11, 0x30, - 0x52, 0x5A, 0xC4, 0x9E, 0x94, 0xA8, 0xC7, 0x8F, 0x10, 0x1F, 0x53, 0x4A, 0x20, 0x06, 0x20, 0xA6, - 0x40, 0xD0, 0xA7, 0x42, 0x8A, 0x54, 0xE6, 0x92, 0x53, 0x2A, 0x20, 0xCA, 0x48, 0xCD, 0xE2, 0xC1, - 0x85, 0x78, 0xD4, 0x46, 0xD6, 0x80, 0xFD, 0xDC, 0xBD, 0x73, 0x33, 0xDE, 0x90, 0x68, 0x09, 0x56, - 0x36, 0x3D, 0x9A, 0xA6, 0x52, 0x5C, 0x54, 0xC7, 0x19, 0xF8, 0xA8, 0xA1, 0x03, 0x5A, 0x23, 0x84, - 0x11, 0x1E, 0x84, 0x8A, 0x01, 0x40, 0x7F, 0x42, 0xC3, 0x1C, 0x22, 0x70, 0x08, 0x20, 0x82, 0xA0, - 0x7F, 0x49, 0x0D, 0xF7, 0x64, 0x05, 0xC9, 0xF8, 0xD8, 0x6D, 0x35, 0xF0, 0x9D, 0x66, 0x95, 0xEC, - 0x20, 0xA5, 0xBD, 0x68, 0x24, 0xFA, 0x64, 0x98, 0x1A, 0x50, 0x00, 0xAC, 0xD9, 0x01, 0xA0, 0x1E, - 0x24, 0x5E, 0x63, 0x2B, 0x3F, 0xEF, 0x04, 0x2A, 0xBB, 0x00, 0xAB, 0xBB, 0x8E, 0x87, 0x5F, 0x39, - 0x4F, 0x19, 0xA7, 0x39, 0x26, 0x00, 0x7B, 0x93, 0x68, 0x7A, 0x99, 0x30, 0x2E, 0xCE, 0x64, 0x1B, - 0x6A, 0x6C, 0xB4, 0xE4, 0xF5, 0xA9, 0x87, 0x15, 0x79, 0x3F, 0xC5, 0x8B, 0xCB, 0x0C, 0xF3, 0xBA, - 0x53, 0x79, 0x77, 0xB1, 0x86, 0x70, 0x21, 0x50, 0x66, 0x38, 0xB3, 0x29, 0x74, 0xB0, 0xFA, 0xA1, - 0x48, 0x82, 0x7A, 0x4F, 0xB7, 0x42, 0xE2, 0xC1, 0x44, 0xED, 0x81, 0xF9, 0xDC, 0xC2, 0xD8, 0xE1, - 0x94, 0x83, 0x5A, 0x0A, 0xB5, 0x02, 0x45, 0xC6, 0x95, 0xCD, 0x98, 0x35, 0x1D, 0x6A, 0x58, 0x88, - 0x61, 0xE0, 0xAF, 0xFE, 0x05, 0x0F, 0x1E, 0x1C, 0xC8, 0x55, 0x3F, 0xE1, 0x23, 0xE3, 0x7E, 0xF4, - 0x23, 0x3E, 0x3E, 0xAF, 0xF0, 0xF1, 0x79, 0x1D, 0x1F, 0xB4, 0xAA, 0x3C, 0x98, 0x0C, 0x80, 0xEC, - 0x19, 0xE1, 0x64, 0x4C, 0x13, 0x58, 0xC0, 0x43, 0x50, 0x25, 0x7F, 0x8B, 0xB3, 0x84, 0xFE, 0x98, - 0xB3, 0xDE, 0x84, 0x8D, 0xC4, 0x23, 0xFE, 0x8A, 0xD5, 0xFF, 0x82, 0x4B, 0x3C, 0x70, 0x3D, 0x97, - 0x79, 0x6D, 0x5A, 0x49, 0x28, 0x3F, 0x7E, 0x2B, 0x91, 0x7E, 0xE4, 0x42, 0x78, 0xA9, 0x38, 0xC8, - 0xDF, 0xB7, 0xF4, 0x00, 0xBC, 0x11, 0xF8, 0x29, 0x35, 0x75, 0xBC, 0x0B, 0xA5, 0xFC, 0x29, 0x30, - 0x64, 0xA8, 0xC0, 0x47, 0xDD, 0xD9, 0xDC, 0x12, 0xAE, 0x01, 0x8A, 0xF1, 0xA3, 0x29, 0xB0, 0xEA, - 0xC9, 0x02, 0xD7, 0x9E, 0x40, 0x26, 0x04, 0x91, 0xE0, 0x48, 0xC8, 0xA7, 0x8D, 0x2F, 0x07, 0x9B, - 0x37, 0x35, 0xC8, 0x43, 0x2E, 0xFC, 0x98, 0x2E, 0x0C, 0x36, 0x6F, 0xFE, 0x6D, 0x36, 0xC6, 0xCC, - 0x5A, 0x76, 0xA4, 0x96, 0x4C, 0xF6, 0xF4, 0x0B, 0xBF, 0x71, 0x09, 0x48, 0x5D, 0x49, 0x78, 0x45, - 0x34, 0x03, 0x6B, 0x43, 0x61, 0xE1, 0x07, 0xFF, 0x47, 0x09, 0xF8, 0x91, 0x9E, 0x07, 0xCE, 0xBD, - 0xE6, 0x3D, 0x5E, 0x2F, 0x3E, 0x85, 0xE9, 0x56, 0xE9, 0xC1, 0x4A, 0xC7, 0xEF, 0x53, 0x3A, 0x76, - 0x59, 0xA2, 0x14, 0x4A, 0x14, 0x59, 0x88, 0x1A, 0x6A, 0x50, 0x0E, 0x51, 0x98, 0x89, 0x17, 0xCD, - 0x81, 0x02, 0x9B, 0x73, 0x34, 0x5B, 0x3A, 0x02, 0x0F, 0xF4, 0xF5, 0x45, 0xEE, 0xFC, 0x74, 0x76, - 0x7A, 0x22, 0x44, 0x7C, 0xA5, 0x62, 0x22, 0xD0, 0xAA, 0x2E, 0x2C, 0x2F, 0xCF, 0x9C, 0x89, 0xE4, - 0xA1, 0x28, 0x75, 0x30, 0x31, 0x28, 0x87, 0xFE, 0x74, 0x31, 0xFC, 0x0A, 0x71, 0xD6, 0xD0, 0xCF, - 0x52, 0x48, 0x58, 0x5B, 0x36, 0xA2, 0xF7, 0xFB, 0x97, 0xF6, 0xAE, 0xDD, 0x84, 0xBA, 0x00, 0xB4, - 0x0A, 0x69, 0x19, 0xEE, 0x7D, 0xFE, 0xB7, 0x90, 0xB7, 0xFF, 0x1E, 0x32, 0x83, 0xA8, 0x95, 0x42, - 0x58, 0x2A, 0xF0, 0xAB, 0xB8, 0x93, 0x24, 0x9A, 0x4A, 0xB4, 0xE3, 0x24, 0xC1, 0x4B, 0xE9, 0x43, - 0x85, 0xA2, 0x0D, 0x61, 0x31, 0xA5, 0x89, 0xE6, 0x47, 0x34, 0xD5, 0x78, 0x24, 0xB4, 0x34, 0x8B, - 0x63, 0x68, 0x5C, 0x56, 0xF4, 0x61, 0xEB, 0xC5, 0xEB, 0xCB, 0xFB, 0x8C, 0x66, 0xD4, 0xCF, 0x97, - 0x69, 0x52, 0xD1, 0x0B, 0x56, 0x50, 0xDF, 0x10, 0xEE, 0x7E, 0xB9, 0xC9, 0xEB, 0xA9, 0x8C, 0x73, - 0x8C, 0xA2, 0x1B, 0x2D, 0x35, 0x07, 0xE9, 0x26, 0x40, 0xD5, 0xE5, 0x59, 0x10, 0xCC, 0xDB, 0x2B, - 0xB4, 0xA0, 0xF1, 0x8A, 0x44, 0x24, 0x9F, 0xCB, 0x67, 0x7F, 0xE4, 0xC9, 0xA9, 0xE2, 0x82, 0x50, - 0xF2, 0x54, 0xA9, 0x36, 0xAD, 0x0D, 0x63, 0x83, 0x6A, 0x8C, 0xA7, 0x82, 0x70, 0x0F, 0xAF, 0x51, - 0xE9, 0xC2, 0x2C, 0x6A, 0x29, 0xDC, 0xDE, 0x46, 0x5F, 0xCB, 0x6D, 0xE9, 0x89, 0x7C, 0x2A, 0x25, - 0xE3, 0xAE, 0xAE, 0x63, 0x55, 0x45, 0xB1, 0x3E, 0x25, 0x61, 0x5A, 0x26, 0x5B, 0x54, 0x06, 0x26, - 0x77, 0x0B, 0x70, 0x9B, 0x06, 0x29, 0x1C, 0xBD, 0x7E, 0x7F, 0xCE, 0x46, 0xD1, 0xCE, 0x11, 0x80, - 0x69, 0xC5, 0x3E, 0x93, 0xD7, 0xE0, 0x24, 0xCC, 0x73, 0x07, 0x32, 0xE9, 0x4A, 0x03, 0x0E, 0xA9, - 0x98, 0x44, 0xFE, 0x81, 0x7E, 0xA0, 0x3B, 0x3A, 0xFC, 0xBB, 0x09, 0x35, 0x47, 0xCD, 0xA5, 0xD0, - 0xA4, 0xFA, 0x74, 0x70, 0xF5, 0x06, 0xC2, 0x53, 0x0C, 0xA5, 0x01, 0x17, 0x50, 0x34, 0xD7, 0x74, - 0x7C, 0x7A, 0x7D, 0x0C, 0x29, 0xC8, 0x7F, 0x21, 0x37, 0x66, 0xBB, 0xAA, 0x6C, 0xB8, 0xF3, 0xEA, - 0x75, 0x56, 0x2E, 0x03, 0x7A, 0x61, 0x8C, 0x58, 0x0F, 0x29, 0x7E, 0xFB, 0x7B, 0xF4, 0x9E, 0x8D, - 0x15, 0xD2, 0x6A, 0x5D, 0x6F, 0xCE, 0x76, 0x90, 0x67, 0x89, 0xD5, 0x43, 0x2C, 0x70, 0x97, 0x1F, - 0x29, 0x59, 0x95, 0x35, 0xDC, 0xF6, 0x48, 0x10, 0xE0, 0xC7, 0x5A, 0x03, 0x1B, 0x6A, 0x22, 0xB2, - 0xD4, 0x42, 0x22, 0x29, 0x08, 0x90, 0xD2, 0x3E, 0x84, 0x39, 0xD3, 0x92, 0x65, 0x86, 0xB2, 0xA1, - 0xBC, 0xFF, 0xC5, 0x9A, 0xA3, 0x64, 0x46, 0xE8, 0xCE, 0xF9, 0x6C, 0x73, 0x53, 0xD8, 0x85, 0x99, - 0x18, 0x05, 0x52, 0x8A, 0x01, 0x1C, 0x9A, 0x7D, 0x68, 0x2D, 0x8C, 0xB2, 0x90, 0x58, 0xAB, 0x3D, - 0xD2, 0xB6, 0x51, 0x55, 0x03, 0x54, 0x7C, 0x46, 0x01, 0x03, 0xCE, 0xB2, 0x24, 0x80, 0xA8, 0x8B, - 0x39, 0xBA, 0xB2, 0x2D, 0xC5, 0xBA, 0xD0, 0x84, 0x0E, 0xEC, 0x67, 0xC8, 0x12, 0x95, 0x97, 0xAD, - 0xA2, 0x27, 0x12, 0xC5, 0x77, 0x95, 0x9E, 0xC8, 0x6F, 0xE5, 0x84, 0xAA, 0xC8, 0x77, 0x88, 0x2F, - 0x13, 0x5C, 0xD4, 0xD1, 0x13, 0xA0, 0x24, 0x83, 0x52, 0x34, 0x60, 0x2A, 0x2C, 0x37, 0xEE, 0xEB, - 0xD3, 0xE9, 0xB4, 0x8E, 0xDF, 0x6A, 0xEB, 0x70, 0x82, 0xB2, 0x02, 0x5F, 0x5F, 0xC7, 0x21, 0x47, - 0x15, 0x58, 0xF8, 0x6E, 0xE1, 0xAC, 0xBA, 0xE8, 0x42, 0x7F, 0x2B, 0xDE, 0xD4, 0xAA, 0xD2, 0x59, - 0xE1, 0x73, 0x79, 0xDB, 0x7B, 0x3B, 0x2B, 0x20, 0x32, 0xC4, 0xAF, 0xB2, 0x90, 0x69, 0x20, 0x0D, - 0x3B, 0xE5, 0x46, 0x56, 0x25, 0x85, 0x65, 0x5C, 0xB0, 0xE3, 0x2C, 0x9D, 0x18, 0x33, 0x60, 0xDD, - 0x11, 0x96, 0xD2, 0x95, 0x43, 0x2D, 0x65, 0xB7, 0x0E, 0xB7, 0x0A, 0xFB, 0x70, 0x30, 0x83, 0x94, - 0x79, 0xFB, 0xF3, 0x4F, 0x39, 0x5B, 0xDE, 0xF6, 0x92, 0x62, 0x71, 0xE1, 0xF3, 0xFC, 0xA9, 0x35, - 0xAF, 0x69, 0xA5, 0xD1, 0xAF, 0xC4, 0x97, 0xBD, 0x46, 0xFE, 0x19, 0x3B, 0xFF, 0x9C, 0xAD, 0x81, - 0xB1, 0x43, 0x23, 0x2A, 0xDC, 0x4C, 0x8C, 0xEA, 0x2F, 0x34, 0xE6, 0x63, 0x79, 0x29, 0xBF, 0x2D, - 0xA0, 0x54, 0xA9, 0xD3, 0x68, 0x78, 0x3E, 0xFF, 0x9A, 0x42, 0x19, 0x1D, 0x65, 0xFE, 0x28, 0x20, - 0x09, 0xC5, 0x82, 0xA3, 0x41, 0xBE, 0x92, 0xFB, 0x46, 0xC0, 0x86, 0x69, 0x03, 0x93, 0x6D, 0xCB, - 0xDE, 0xB2, 0x77, 0x71, 0x64, 0x7F, 0x4D, 0xF7, 0x57, 0x4F, 0xD8, 0x5F, 0x34, 0x69, 0x58, 0x0B, - 0xE7, 0xB5, 0xAB, 0x8A, 0x4D, 0x6A, 0x83, 0xFB, 0xC4, 0xA7, 0x70, 0x3D, 0x6F, 0xB3, 0xCC, 0xB6, - 0x1A, 0xE4, 0x5F, 0x60, 0xD4, 0x31, 0xBA, 0x95, 0x2F, 0x92, 0xF4, 0x81, 0x7B, 0x18, 0x5B, 0x17, - 0x54, 0x26, 0x70, 0x49, 0xD5, 0x87, 0x34, 0xB9, 0xD3, 0x9C, 0x2F, 0x39, 0xC3, 0xB7, 0x3C, 0xA8, - 0x03, 0xE4, 0x37, 0x9C, 0x72, 0x39, 0xB0, 0xBF, 0x07, 0x5D, 0x33, 0x2A, 0x41, 0x79, 0xB1, 0x26, - 0x9B, 0xE6, 0x7C, 0x02, 0x82, 0x01, 0x70, 0xB1, 0xA3, 0x48, 0xCD, 0x2B, 0xCB, 0x98, 0x9B, 0x57, - 0x96, 0x54, 0xE2, 0x5F, 0x59, 0xCC, 0xDB, 0x9F, 0xFC, 0xDB, 0x4C, 0xF9, 0x7F, 0x5B, 0x28, 0x36, - 0x32, 0xF9, 0xE1, 0x09, 0xF7, 0x56, 0x3F, 0x45, 0xAD, 0x47, 0x51, 0xBB, 0xF7, 0xFF, 0x17, 0x53, - 0xE8, 0x9D, 0x36, 0x92, 0x29, 0x00, 0x00 +0x1F, 0x8B, 0x08, 0x08, 0x5A, 0x38, 0x57, 0x5E, 0x02, 0x00, 0x65, 0x64, 0x69, 0x74, 0x2E, 0x68, +0x74, 0x6D, 0x00, 0xB5, 0x1A, 0x0B, 0x5B, 0xDB, 0x36, 0xF0, 0xAF, 0x18, 0x6F, 0x63, 0xF6, 0xE2, +0x38, 0x0E, 0x50, 0xD6, 0x39, 0x18, 0x16, 0x1E, 0x1B, 0x5D, 0x5B, 0xA0, 0x24, 0xB4, 0xA3, 0x1D, +0xDB, 0xA7, 0xD8, 0x4A, 0xA2, 0x62, 0x4B, 0x9E, 0x2D, 0x13, 0x68, 0x96, 0xFF, 0xBE, 0x93, 0xE4, +0x67, 0x30, 0xDD, 0xE3, 0xDB, 0x4A, 0x21, 0x92, 0x4E, 0x77, 0xBA, 0x3B, 0xDD, 0xD3, 0xCE, 0xDE, +0xC6, 0xF1, 0xF9, 0xD1, 0xF8, 0xFA, 0xE2, 0x44, 0x9B, 0xF3, 0x28, 0xDC, 0xDF, 0x13, 0x7F, 0xB5, +0x10, 0xD1, 0x99, 0xA7, 0x63, 0xAA, 0xC3, 0x1C, 0xA3, 0x60, 0x7F, 0x2F, 0xC2, 0x1C, 0xC1, 0x06, +0x1E, 0x77, 0xF1, 0xEF, 0x19, 0xB9, 0xF3, 0xF4, 0x23, 0x46, 0x39, 0xA6, 0xBC, 0xCB, 0x1F, 0x62, +0xAC, 0x6B, 0xBE, 0x9A, 0x79, 0x3A, 0xC7, 0xF7, 0xBC, 0x27, 0x48, 0x0C, 0x34, 0x7F, 0x8E, 0x92, +0x14, 0x73, 0x2F, 0xE3, 0xD3, 0xEE, 0x73, 0x20, 0xC4, 0x09, 0x0F, 0xF1, 0xFE, 0xC9, 0xE8, 0x42, +0x3B, 0x09, 0x08, 0x67, 0xC9, 0x5E, 0x4F, 0xAD, 0xEC, 0xA5, 0xFC, 0x21, 0xC4, 0x9A, 0x20, 0x94, +0xE3, 0xFB, 0x69, 0xAA, 0x6B, 0x11, 0x0E, 0x08, 0xF2, 0xF4, 0xD4, 0x4F, 0xB0, 0xE0, 0xC3, 0xF6, +0xA3, 0xE5, 0xA7, 0x2E, 0xA1, 0x01, 0xBE, 0x77, 0xB7, 0x1D, 0x67, 0x10, 0xB3, 0x94, 0x70, 0xC2, +0xA8, 0x8B, 0x26, 0x29, 0x0B, 0x33, 0x8E, 0x07, 0x21, 0x9E, 0x72, 0xF7, 0x59, 0x7C, 0x3F, 0x98, +0xB0, 0x24, 0xC0, 0x89, 0xDB, 0x8F, 0xEF, 0x35, 0x00, 0x91, 0x40, 0xFB, 0x62, 0x67, 0x67, 0x67, +0x30, 0x41, 0xFE, 0xED, 0x2C, 0x61, 0x19, 0x0D, 0xBA, 0x3E, 0x0B, 0x59, 0xE2, 0x7E, 0xF1, 0xC3, +0x33, 0xF1, 0x33, 0x08, 0x48, 0x1A, 0x87, 0xE8, 0xC1, 0xA5, 0x8C, 0x62, 0xC0, 0xBD, 0xEF, 0xA6, +0x73, 0x14, 0xB0, 0x85, 0xEB, 0x68, 0x8E, 0xD6, 0x77, 0x80, 0x48, 0x32, 0x9B, 0x20, 0xC3, 0xB1, +0xC4, 0x8F, 0xBD, 0x63, 0x0E, 0xA6, 0x0C, 0xC4, 0x4E, 0xC9, 0x27, 0xEC, 0xF6, 0xB7, 0xE2, 0x7B, +0x35, 0x9D, 0xA2, 0x88, 0x84, 0x0F, 0x6E, 0x8A, 0x68, 0xDA, 0x4D, 0x71, 0x42, 0xA6, 0x6A, 0x79, +0x81, 0xC9, 0x6C, 0xCE, 0xDD, 0x6F, 0x1D, 0x67, 0x05, 0xFC, 0x6B, 0x59, 0xB8, 0x0C, 0x49, 0xCA, +0xBB, 0x52, 0x60, 0x75, 0x1E, 0x67, 0xB1, 0xEB, 0x48, 0xD6, 0xE1, 0x23, 0x42, 0xC9, 0x8C, 0x50, +0x18, 0xC4, 0x28, 0x08, 0x08, 0x9D, 0xB9, 0x0A, 0x2D, 0x24, 0xCB, 0x52, 0xDA, 0x04, 0x87, 0x88, +0x93, 0x3B, 0x3C, 0x88, 0x08, 0xED, 0x2E, 0x48, 0xC0, 0xE7, 0xEE, 0xAE, 0x03, 0x5C, 0xF8, 0x59, +0x92, 0x82, 0x4C, 0x31, 0x23, 0x94, 0xE3, 0x44, 0xA2, 0xA5, 0x31, 0xA2, 0x4B, 0x25, 0xAA, 0x50, +0x40, 0x29, 0x27, 0xA1, 0x21, 0xA1, 0xB8, 0x3B, 0x09, 0x99, 0x7F, 0x5B, 0x9E, 0xB4, 0x1B, 0xDF, +0xE7, 0x67, 0xB9, 0x73, 0x76, 0x87, 0x93, 0x65, 0xA5, 0x2E, 0x89, 0xDD, 0x00, 0x36, 0x48, 0x9F, +0x9C, 0x9C, 0xAC, 0x6C, 0x7E, 0x97, 0x01, 0xD4, 0x92, 0x9F, 0x20, 0x65, 0x4E, 0xB5, 0x2E, 0xD2, +0x9A, 0xE0, 0x0A, 0x85, 0xD0, 0x38, 0xE3, 0xCB, 0xC7, 0x57, 0xC9, 0x62, 0xE4, 0x13, 0xFE, 0xE0, +0x3A, 0x72, 0xDB, 0x52, 0xE8, 0xD2, 0xDD, 0x71, 0x1C, 0x4D, 0x28, 0x5C, 0x7B, 0x8B, 0x93, 0x00, +0x51, 0x64, 0x0D, 0x13, 0x82, 0x42, 0x6B, 0x54, 0xA9, 0xBC, 0x1B, 0xB1, 0x4F, 0xDD, 0x0C, 0xC6, +0x30, 0x0F, 0xB1, 0xCF, 0x95, 0x86, 0xE1, 0x12, 0x26, 0xB7, 0x84, 0x3F, 0x06, 0x3C, 0x5A, 0xA8, +0xE9, 0x4A, 0x6A, 0x68, 0xAE, 0x6E, 0xAF, 0x0F, 0xBA, 0x91, 0x7C, 0x28, 0xB1, 0x95, 0x44, 0xDD, +0x09, 0xE3, 0x9C, 0x45, 0xD2, 0xDE, 0x4A, 0x69, 0x35, 0x69, 0x32, 0xCF, 0x1F, 0x5D, 0x47, 0xBB, +0xEA, 0x6B, 0xE4, 0x07, 0xA0, 0x54, 0x4E, 0x7C, 0x14, 0x76, 0x51, 0x48, 0x66, 0xD4, 0x8D, 0x48, +0x10, 0x84, 0xB8, 0x66, 0xB2, 0x6E, 0x96, 0x84, 0x46, 0x80, 0x38, 0x72, 0x49, 0x84, 0x66, 0xB8, +0x17, 0xD3, 0x19, 0x40, 0x53, 0xBC, 0xBB, 0x63, 0x91, 0xB7, 0x87, 0xE7, 0x97, 0x0B, 0xE7, 0xE5, +0x8F, 0x33, 0x36, 0x84, 0x7F, 0x67, 0xA3, 0xAB, 0xF9, 0xC9, 0xD5, 0x0C, 0x46, 0x87, 0x62, 0x3A, +0x7C, 0x73, 0x34, 0x7C, 0x03, 0x1F, 0x47, 0xFD, 0xCE, 0xC7, 0xE9, 0xEF, 0x43, 0xB1, 0xFC, 0x63, +0x70, 0x38, 0xBE, 0x3A, 0x19, 0x0E, 0x5F, 0xF6, 0x5E, 0x9C, 0x2D, 0xDE, 0xBD, 0xDC, 0x15, 0xE0, +0xC3, 0xD0, 0xB9, 0x7C, 0x3B, 0x77, 0xAE, 0xB6, 0xBE, 0x8B, 0x82, 0xD3, 0x60, 0xEE, 0x47, 0x57, +0xC3, 0x37, 0xEF, 0x2E, 0xEF, 0xAE, 0xA3, 0xAB, 0xD9, 0xE8, 0x5D, 0x7F, 0xFE, 0x7E, 0xEB, 0xED, +0xE8, 0xFD, 0xBB, 0x1F, 0x6E, 0xF1, 0xCF, 0xA7, 0x3F, 0xBD, 0x1F, 0x2F, 0x00, 0xE1, 0x98, 0x8D, +0xAE, 0x2E, 0x0F, 0xDF, 0x1E, 0xCE, 0xDE, 0x1F, 0xFA, 0x27, 0xF7, 0x93, 0xF0, 0xEC, 0xF0, 0xC7, +0xE1, 0x64, 0xB8, 0xE5, 0x63, 0x3C, 0x1B, 0x5F, 0x1E, 0x66, 0x2F, 0x5E, 0x9E, 0xCF, 0x08, 0x99, +0x8F, 0xDE, 0x9F, 0x8D, 0xFD, 0xA3, 0x67, 0xAF, 0xAE, 0x4E, 0x87, 0x64, 0x7E, 0xF6, 0xD3, 0xA5, +0x73, 0xFB, 0xE3, 0xCB, 0xA3, 0x63, 0xFF, 0xFA, 0xA7, 0xEB, 0xDD, 0xE3, 0xED, 0xDE, 0xB7, 0xDF, +0xBE, 0x0E, 0xCE, 0x09, 0x1D, 0xDF, 0x7D, 0x1A, 0xCE, 0x8E, 0x16, 0xCF, 0x1F, 0xD2, 0xF1, 0xFC, +0xC5, 0x1D, 0xED, 0xBD, 0x65, 0x1F, 0x5F, 0x3C, 0xBC, 0x86, 0xDF, 0x8B, 0x8B, 0xCE, 0x64, 0xD4, +0x4F, 0xAF, 0xDE, 0xBC, 0x78, 0xBB, 0x95, 0x7E, 0xF7, 0x2C, 0x3E, 0x3C, 0x3E, 0xBE, 0x8B, 0x26, +0x17, 0xBD, 0x28, 0xB8, 0x9D, 0xF2, 0xE7, 0xDB, 0x3C, 0xBE, 0x9E, 0x65, 0xEF, 0x7F, 0x7F, 0xF6, +0xD3, 0xBC, 0x77, 0x8E, 0xD1, 0xF5, 0xBC, 0xF3, 0xF0, 0xE9, 0xE1, 0xF9, 0x7C, 0x7C, 0x7A, 0x77, +0x16, 0xA2, 0xFB, 0xB3, 0x33, 0xFF, 0x53, 0xD4, 0x09, 0xD1, 0x77, 0xE7, 0xE3, 0x10, 0x25, 0xFD, +0xAB, 0x60, 0xD8, 0xEB, 0x1C, 0x6D, 0x0D, 0x77, 0x78, 0x72, 0x79, 0x44, 0x8F, 0xB7, 0x3F, 0x8E, +0x9E, 0x1F, 0x1E, 0xF6, 0xD9, 0xE4, 0xF7, 0xAD, 0x1F, 0x6F, 0x77, 0x7F, 0xBC, 0xDA, 0x7D, 0x33, +0x79, 0x33, 0x1C, 0xED, 0x1C, 0x5E, 0xA1, 0xEB, 0xD1, 0x9B, 0xE1, 0x74, 0x67, 0x32, 0x9F, 0xBF, +0x7C, 0x39, 0xFE, 0x21, 0x18, 0x7E, 0x4A, 0x86, 0xE7, 0x8B, 0xE1, 0xFD, 0xC9, 0xD5, 0xF0, 0xB4, +0xF3, 0xF2, 0xE4, 0xB5, 0xD3, 0x1F, 0x5D, 0x6F, 0xCF, 0x5E, 0xEF, 0x2E, 0x0E, 0xD3, 0x93, 0xE1, +0x9B, 0x43, 0x67, 0xF6, 0x53, 0x27, 0x42, 0xEF, 0xD9, 0xD1, 0xF6, 0xEC, 0xC5, 0x2E, 0xB9, 0xB8, +0x46, 0xC3, 0x17, 0x87, 0x3F, 0xA5, 0xE4, 0x32, 0x3A, 0xBD, 0x72, 0x86, 0xC3, 0x57, 0xE7, 0xF8, +0x87, 0xA3, 0x6D, 0xF4, 0x72, 0xCB, 0x7F, 0x07, 0xFA, 0xBF, 0xFA, 0x19, 0x7F, 0xDB, 0x19, 0x2E, +0xCE, 0x9D, 0xD0, 0xFF, 0x0E, 0x8F, 0x4F, 0xAF, 0xC7, 0xF2, 0x76, 0x4E, 0xC2, 0x1F, 0xC6, 0xB7, +0xA3, 0xEC, 0x4D, 0x74, 0x74, 0x64, 0x6A, 0x94, 0x75, 0x13, 0x1C, 0x63, 0xC4, 0xEB, 0xB1, 0xAA, +0x74, 0x0E, 0xB0, 0xAD, 0xCA, 0x0A, 0x73, 0x27, 0x15, 0xD1, 0xB2, 0x1B, 0x60, 0x9F, 0x25, 0x48, +0xEE, 0x01, 0x04, 0x9C, 0x08, 0x13, 0x5B, 0x7D, 0x2F, 0xC3, 0xA7, 0xA6, 0xA2, 0xA7, 0x86, 0x68, +0xA0, 0x19, 0x85, 0x23, 0x44, 0x84, 0x02, 0xCE, 0x1D, 0xF1, 0x71, 0x37, 0x26, 0xF7, 0x38, 0xEC, +0x4A, 0x64, 0xD7, 0x31, 0x97, 0xD2, 0xD9, 0x8A, 0x6D, 0x88, 0x92, 0x48, 0x51, 0x2D, 0x16, 0x82, +0x8F, 0xC8, 0x17, 0x21, 0x1F, 0x5C, 0x26, 0x82, 0xCF, 0xDC, 0x77, 0x58, 0xD2, 0x9D, 0x64, 0xB3, +0x29, 0xB9, 0x07, 0x6F, 0x9E, 0x12, 0x4A, 0x38, 0xD6, 0xFA, 0xE9, 0xEA, 0xFB, 0x82, 0xCC, 0x2D, +0x7E, 0x98, 0x26, 0x28, 0xC2, 0xA9, 0xF6, 0x37, 0xC9, 0x2C, 0xA7, 0x09, 0x8B, 0x96, 0x55, 0x04, +0xE4, 0xAC, 0x36, 0x59, 0xAD, 0xBE, 0xC8, 0xE2, 0x90, 0x21, 0x10, 0xB3, 0x25, 0x6C, 0xA8, 0x60, +0x9A, 0x08, 0xB7, 0x2A, 0x83, 0x6A, 0xE1, 0x66, 0x5B, 0xE0, 0x96, 0x0D, 0xB7, 0xDE, 0xDA, 0xA9, +0x5C, 0xB7, 0x2B, 0xF7, 0x8A, 0x60, 0x5F, 0x57, 0x7D, 0x2D, 0x1E, 0xD4, 0x62, 0xDD, 0x17, 0x1C, +0x54, 0xDA, 0x7E, 0xB8, 0x3A, 0x44, 0x45, 0x86, 0x8A, 0x01, 0x15, 0xA5, 0xFB, 0xBB, 0x4E, 0x2D, +0x54, 0xC0, 0xBE, 0xD5, 0x17, 0x58, 0xA6, 0x41, 0xEB, 0x8B, 0x38, 0x81, 0xDB, 0xC0, 0x8B, 0xCF, +0xD0, 0x2C, 0x65, 0x6A, 0xD2, 0x06, 0x9A, 0x65, 0xBA, 0x53, 0x22, 0x54, 0x39, 0x4F, 0xF2, 0x5A, +0x92, 0x7E, 0x2C, 0x15, 0x80, 0x4B, 0x6E, 0x9E, 0x09, 0x6E, 0x3E, 0xAB, 0xD5, 0xED, 0xDD, 0xAF, +0x72, 0x1E, 0x76, 0x9C, 0xAF, 0x56, 0xB6, 0xDA, 0x5B, 0xE6, 0xE3, 0xBE, 0x03, 0xFF, 0x8A, 0xB4, +0xFB, 0xBC, 0x62, 0x61, 0xF2, 0x4C, 0xFC, 0x14, 0x0C, 0x02, 0x9D, 0x3A, 0x70, 0x7B, 0xE7, 0xBB, +0xE7, 0xC1, 0xA4, 0x00, 0x2A, 0xC1, 0x9E, 0x86, 0x27, 0x28, 0x20, 0x59, 0xEA, 0x3E, 0x73, 0xBE, +0x52, 0xFA, 0x84, 0xEB, 0x03, 0xD9, 0x8B, 0xCB, 0x55, 0x93, 0xCA, 0x62, 0xD3, 0x98, 0x50, 0x6D, +0x2B, 0xD5, 0xC4, 0x7D, 0xA3, 0xA4, 0x34, 0xCC, 0x7A, 0xAA, 0x07, 0x17, 0xA9, 0x4C, 0x53, 0xEC, +0x5F, 0x3A, 0x5F, 0x2D, 0x79, 0x82, 0x68, 0x3A, 0x65, 0x49, 0xE4, 0x26, 0x8C, 0x23, 0x8E, 0x0D, +0xC7, 0x5C, 0xF5, 0x9D, 0x36, 0xC0, 0xF6, 0xAE, 0x13, 0xE0, 0x99, 0xB9, 0x5A, 0xED, 0xF5, 0x20, +0xA9, 0xC9, 0x2A, 0xC6, 0x4F, 0x48, 0xCC, 0xF7, 0xA7, 0x19, 0xF5, 0x05, 0x0F, 0xDA, 0x0C, 0x1B, +0xD8, 0x5C, 0x26, 0x98, 0x67, 0x09, 0xD5, 0x02, 0xE6, 0x67, 0xC2, 0xD8, 0xED, 0x19, 0xE6, 0x27, +0xCA, 0xEE, 0x0F, 0x1F, 0x5E, 0x04, 0xB0, 0x63, 0x55, 0x22, 0xF8, 0xAD, 0x08, 0xE0, 0xC0, 0x70, +0x5E, 0x8E, 0xD3, 0xD8, 0x0F, 0x09, 0x06, 0x88, 0xBC, 0xC4, 0x0F, 0x06, 0xB6, 0x78, 0x89, 0x88, +0x6D, 0xB1, 0x6E, 0x14, 0xBB, 0x00, 0x46, 0xCD, 0xE5, 0x1D, 0x28, 0x01, 0x79, 0xF8, 0x03, 0xBF, +0xB1, 0x88, 0x47, 0xE1, 0x63, 0x90, 0xEF, 0x26, 0xFB, 0xE8, 0xA0, 0xDB, 0x77, 0xD1, 0x3E, 0x39, +0xE8, 0x83, 0x7B, 0xD5, 0xA8, 0xAB, 0x73, 0x7F, 0x20, 0x21, 0xBE, 0xCA, 0x1D, 0x4E, 0x1C, 0x23, +0x88, 0x95, 0x5B, 0x90, 0x22, 0xBE, 0xE5, 0x38, 0x1B, 0x1E, 0x3E, 0x40, 0x21, 0x86, 0x73, 0xF5, +0x93, 0xCB, 0xCB, 0xF3, 0xCB, 0x0F, 0x7A, 0x07, 0x77, 0xF4, 0x1B, 0x57, 0xD3, 0x3B, 0xD4, 0x74, +0xB9, 0x9D, 0xE0, 0x69, 0x82, 0xD3, 0xF9, 0x05, 0xE2, 0x73, 0x23, 0xB0, 0xEF, 0x50, 0x98, 0xD5, +0x05, 0x21, 0x06, 0x56, 0x2C, 0x72, 0x8F, 0xE2, 0x85, 0xF6, 0x03, 0xA8, 0xF9, 0x18, 0x71, 0x34, +0xE0, 0x36, 0x8A, 0x63, 0x4C, 0x03, 0x43, 0x8F, 0x01, 0x51, 0xB7, 0xB0, 0x69, 0x25, 0x50, 0x7D, +0xE2, 0x94, 0xA7, 0x36, 0x0A, 0x60, 0xF9, 0xE2, 0x6A, 0xAC, 0x5B, 0x7A, 0x4F, 0xF8, 0x91, 0x0E, +0xBC, 0x21, 0x73, 0x25, 0xA8, 0x30, 0x0F, 0x34, 0xA9, 0x4F, 0x32, 0xCE, 0x19, 0xD5, 0xCD, 0x01, +0xB3, 0x09, 0xA5, 0x38, 0x39, 0x1D, 0xBF, 0x7E, 0xE5, 0xE9, 0x97, 0x8A, 0x11, 0xED, 0x15, 0x49, +0x01, 0x45, 0x5E, 0x51, 0x7E, 0xC8, 0xD1, 0x9C, 0x84, 0x81, 0xC1, 0xCC, 0x81, 0x20, 0xE1, 0x4B, +0x12, 0xB2, 0x3A, 0x01, 0x0A, 0xBE, 0xAD, 0x6A, 0xD3, 0x29, 0x28, 0x43, 0xB7, 0x7C, 0x3B, 0xCA, +0x42, 0x4E, 0xE2, 0x10, 0x7B, 0x1B, 0x7D, 0x98, 0x51, 0x14, 0x01, 0x4C, 0xE4, 0x66, 0x01, 0x23, +0x81, 0xA7, 0xAB, 0x08, 0xA5, 0xE2, 0x5A, 0xEB, 0x29, 0xBE, 0x3A, 0x25, 0x68, 0x9C, 0x12, 0xD4, +0x71, 0x95, 0xC0, 0x81, 0x5D, 0x15, 0xC5, 0x30, 0xCB, 0x8F, 0x2A, 0x60, 0x01, 0x9E, 0x22, 0xE0, +0xE4, 0x2D, 0x68, 0x13, 0x56, 0x7B, 0x6D, 0x07, 0x05, 0xEA, 0xA0, 0xB4, 0xA9, 0x91, 0xB4, 0xAE, +0x11, 0x75, 0xBB, 0x6D, 0xC8, 0xA9, 0x42, 0x4E, 0x9A, 0xC8, 0x49, 0x1D, 0xF9, 0x48, 0x1A, 0x49, +0x1B, 0x72, 0xA2, 0x90, 0xC3, 0x86, 0x88, 0xA1, 0x14, 0x51, 0x85, 0xBD, 0xAE, 0xD0, 0x26, 0x08, +0x04, 0xD8, 0x61, 0x5D, 0x4C, 0x98, 0x81, 0x97, 0xA2, 0x49, 0x88, 0x03, 0x6F, 0xC3, 0x81, 0x99, +0xA8, 0xB4, 0xBD, 0x2D, 0xA7, 0xE5, 0x8C, 0x50, 0x9D, 0x91, 0x35, 0x19, 0xCC, 0xEA, 0x0C, 0x6A, +0x23, 0x74, 0x87, 0xB5, 0x36, 0x06, 0x33, 0x30, 0x26, 0x9B, 0x51, 0x3F, 0x24, 0xFE, 0xAD, 0x57, +0x79, 0x8B, 0xB9, 0x24, 0xA5, 0x85, 0x5A, 0x54, 0x06, 0xBA, 0xAB, 0x24, 0xAC, 0x96, 0x60, 0x50, +0xE8, 0x7B, 0x65, 0x65, 0xAD, 0x04, 0xA8, 0x8D, 0xEF, 0xB1, 0x7F, 0xC4, 0xA2, 0x08, 0x09, 0xDB, +0x4D, 0x81, 0x83, 0x7C, 0xA2, 0x9B, 0x2B, 0x8B, 0xB5, 0xE2, 0x3C, 0xE1, 0x22, 0x56, 0xDA, 0xCE, +0xE2, 0xD4, 0x00, 0x97, 0xF3, 0x7C, 0x5B, 0xE8, 0x30, 0xB5, 0x41, 0x8F, 0x33, 0x3E, 0xFF, 0xBC, +0x0B, 0x15, 0x06, 0xAA, 0x50, 0x3E, 0x38, 0x37, 0xB9, 0x24, 0x8F, 0x7D, 0xEA, 0x7C, 0xD4, 0x74, +0x2A, 0xA5, 0x64, 0xEA, 0x81, 0x0A, 0x1B, 0xD6, 0x69, 0x0E, 0x68, 0xA5, 0x0B, 0xB9, 0x87, 0x88, +0x3D, 0x4D, 0xEB, 0x87, 0x5D, 0xA4, 0xD8, 0xA5, 0xAF, 0x56, 0x96, 0x2F, 0xE4, 0x99, 0x23, 0x3A, +0xC3, 0x7F, 0x5F, 0xA0, 0x8A, 0x67, 0xE9, 0x00, 0x16, 0xF5, 0x7A, 0xC6, 0x81, 0xFB, 0x8B, 0x6D, +0x7C, 0xF8, 0xD5, 0xBE, 0xE9, 0x98, 0xE6, 0xC1, 0x97, 0x3D, 0xA9, 0x71, 0x83, 0x9B, 0x1F, 0xFA, +0x37, 0x16, 0x02, 0xB0, 0xFD, 0x8D, 0xF9, 0x8B, 0x2D, 0xC1, 0x0D, 0xD8, 0xE0, 0x8E, 0x41, 0x66, +0x11, 0x27, 0x09, 0x83, 0x63, 0x53, 0x0D, 0x6D, 0x6E, 0x1A, 0xDC, 0x43, 0x8D, 0x6B, 0xED, 0xF0, +0x8E, 0x6E, 0x43, 0xDC, 0x5A, 0xAD, 0xD6, 0x83, 0xE1, 0x38, 0xC1, 0x58, 0xC5, 0xDA, 0x12, 0x20, +0xB9, 0x17, 0x52, 0x43, 0xC3, 0x48, 0xA5, 0xDC, 0x32, 0xA3, 0xE8, 0xA6, 0x9D, 0x26, 0xBE, 0xA7, +0xB4, 0x78, 0x50, 0xC0, 0x3C, 0x88, 0x8A, 0x15, 0x4D, 0x54, 0x45, 0x3D, 0x20, 0xF0, 0xC8, 0x2B, +0xCC, 0x01, 0xCF, 0x79, 0xC2, 0x56, 0x05, 0x07, 0xC2, 0x32, 0xDD, 0xD8, 0x79, 0x26, 0xF3, 0x74, +0x91, 0xCA, 0x74, 0x6B, 0xBE, 0xBE, 0x2C, 0x5B, 0x0C, 0x58, 0xAF, 0x39, 0xC3, 0xD7, 0x7B, 0x24, +0x9A, 0x69, 0x35, 0xBE, 0xC4, 0x1F, 0xEF, 0x6B, 0x11, 0xA9, 0x37, 0x7F, 0xF3, 0x27, 0xC0, 0x1D, +0x98, 0x0C, 0xB6, 0x29, 0x5B, 0x18, 0x66, 0xE7, 0x6B, 0x5D, 0x93, 0x14, 0x3D, 0x3D, 0x42, 0xF7, +0x79, 0xA3, 0x29, 0x32, 0xE1, 0x40, 0x13, 0x73, 0x95, 0x76, 0x8B, 0x05, 0xD5, 0xE2, 0xA1, 0x8C, +0xB3, 0x81, 0x56, 0x64, 0x58, 0xD5, 0xE2, 0xE8, 0x5A, 0x6F, 0xFF, 0xEB, 0x46, 0xA0, 0xB7, 0x88, +0xB9, 0xAC, 0x82, 0x74, 0x16, 0x82, 0x9C, 0xF8, 0xE9, 0x08, 0x1C, 0x12, 0x80, 0xB3, 0xB5, 0xD8, +0x69, 0x25, 0x06, 0x31, 0x0F, 0x0C, 0xBF, 0xEE, 0xE7, 0x7B, 0xA2, 0x28, 0xDE, 0xBF, 0x50, 0xD5, +0xCE, 0x5E, 0x4F, 0xCE, 0xC0, 0xDA, 0x1F, 0x7B, 0x0F, 0x5C, 0x1E, 0x02, 0x74, 0xAB, 0xCC, 0xAF, +0x13, 0x16, 0x3C, 0xD4, 0xB2, 0x72, 0x7A, 0xF8, 0x70, 0x14, 0xA2, 0x34, 0x3D, 0x43, 0x11, 0x9C, +0xEF, 0x47, 0xBA, 0x99, 0x5B, 0xE3, 0xBE, 0xB3, 0xB9, 0xD9, 0x44, 0x4A, 0x70, 0x04, 0x45, 0xB8, +0xE2, 0x0A, 0x7C, 0xD5, 0x74, 0x53, 0x20, 0xBC, 0xB9, 0xD9, 0xC6, 0x98, 0x78, 0xE0, 0xF1, 0x39, +0xAE, 0x28, 0x44, 0x80, 0x22, 0xD6, 0xFC, 0x4F, 0xDC, 0xA9, 0x8C, 0xF3, 0x94, 0x56, 0x03, 0x38, +0xF3, 0x31, 0xDB, 0xC7, 0xB9, 0xE1, 0x96, 0xAC, 0x07, 0xAD, 0x0A, 0xA5, 0xFF, 0x0F, 0xCB, 0x2A, +0x81, 0x3C, 0xC5, 0x71, 0x68, 0x5A, 0x61, 0x0B, 0xC7, 0x38, 0xC4, 0x1C, 0x97, 0xFC, 0x86, 0xAD, +0xFC, 0x66, 0xFF, 0x0F, 0xBF, 0x95, 0x9D, 0x33, 0x11, 0x25, 0xCA, 0xBA, 0x4B, 0x4A, 0x10, 0x90, +0x3B, 0xDD, 0xB4, 0x98, 0xD7, 0xA4, 0x00, 0x35, 0x23, 0x0B, 0xC3, 0x31, 0x8B, 0x0F, 0x9E, 0x58, +0x77, 0xCB, 0xF5, 0x7C, 0x50, 0xB0, 0x59, 0x6D, 0xB1, 0xFC, 0x56, 0xA2, 0xAF, 0xF0, 0x94, 0x1F, +0x3C, 0x05, 0x78, 0x9A, 0x6C, 0xB5, 0xC7, 0x0A, 0x3C, 0x6C, 0x83, 0xF2, 0x60, 0xF5, 0xE7, 0x8E, +0x6F, 0xA5, 0xE5, 0xEC, 0xBA, 0xC3, 0x06, 0x08, 0xC6, 0xB9, 0x92, 0x3C, 0xA1, 0x24, 0x0B, 0xB5, +0x06, 0xA0, 0x6A, 0x5D, 0x74, 0x27, 0x5E, 0xD0, 0xD1, 0xE3, 0xFB, 0x6A, 0x8D, 0xB3, 0xD8, 0x4B, +0xD5, 0x12, 0x31, 0x90, 0xC5, 0xD7, 0x2E, 0xA5, 0x71, 0xDD, 0xA8, 0x28, 0x46, 0x90, 0xCD, 0xA6, +0xD3, 0x14, 0xF3, 0x77, 0x22, 0x24, 0x59, 0x61, 0x39, 0x3F, 0x95, 0x21, 0x69, 0x00, 0x53, 0x1A, +0xB1, 0x2C, 0xC5, 0x2C, 0xE3, 0x8D, 0x14, 0x63, 0x94, 0xC2, 0xEC, 0x05, 0x7F, 0xFC, 0x51, 0x4E, +0xF6, 0x83, 0x4E, 0x52, 0x4D, 0xAF, 0xF7, 0xD2, 0xDA, 0x64, 0x3F, 0xED, 0x84, 0xE0, 0xD0, 0xFF, +0xB1, 0xA5, 0xA0, 0xBA, 0xA5, 0xF8, 0xA2, 0x84, 0x96, 0x31, 0xB1, 0x19, 0xF3, 0x64, 0x21, 0x49, +0x6B, 0x3E, 0x2B, 0x0C, 0x5A, 0x37, 0x8B, 0xB2, 0xBD, 0xEE, 0xAB, 0xD4, 0xF2, 0xD7, 0x5D, 0xD9, +0x6F, 0xAD, 0x1A, 0x52, 0x43, 0x50, 0x05, 0xAD, 0xBF, 0x62, 0x0B, 0x9C, 0x1C, 0xA1, 0x14, 0x1B, +0x90, 0x3C, 0xCB, 0xB8, 0x23, 0xA1, 0xA6, 0x9B, 0xB4, 0xEC, 0x02, 0x25, 0x20, 0x05, 0xCE, 0x33, +0x38, 0xA3, 0xA2, 0x56, 0x03, 0xF9, 0xB2, 0xC6, 0x09, 0xD8, 0x16, 0xFD, 0x26, 0x48, 0x7D, 0xAC, +0x4A, 0x53, 0xC3, 0xB4, 0x30, 0xDC, 0x35, 0x8B, 0x2F, 0x12, 0x16, 0xA3, 0x99, 0xEC, 0xCD, 0x60, +0x4D, 0xB8, 0x87, 0xA0, 0x66, 0x6D, 0x38, 0x82, 0x60, 0xA5, 0x8D, 0xA0, 0xF0, 0x9B, 0xAA, 0xB5, +0xA1, 0x96, 0x9E, 0xA7, 0x43, 0xE9, 0x4B, 0x4F, 0x65, 0x0D, 0x24, 0x1E, 0xCB, 0x26, 0x86, 0xAA, +0x42, 0x68, 0x7E, 0x0F, 0xE0, 0x6E, 0xCE, 0x80, 0xEC, 0xB3, 0x01, 0xEB, 0x74, 0x4C, 0x55, 0xBD, +0x7B, 0x1E, 0xB4, 0x3F, 0xEC, 0x46, 0x16, 0x9C, 0x20, 0x54, 0x33, 0xB3, 0x18, 0xDC, 0x92, 0x40, +0x71, 0xA0, 0x1C, 0xC9, 0xDA, 0xD3, 0xAC, 0xB7, 0x5C, 0x65, 0xCE, 0x7E, 0xAA, 0x06, 0xC1, 0xB2, +0xCE, 0x80, 0x7A, 0x66, 0xBD, 0xD4, 0xE0, 0x66, 0xBA, 0x20, 0xDC, 0x9F, 0x8B, 0x00, 0xE4, 0x83, +0x56, 0x75, 0x0E, 0xC5, 0xAE, 0x2B, 0x47, 0x73, 0x1E, 0x55, 0xA3, 0x30, 0x1F, 0x7E, 0x4C, 0xF3, +0x81, 0x9F, 0x16, 0xA3, 0xFB, 0x1A, 0x90, 0xD1, 0x02, 0xCC, 0xE8, 0x34, 0x1F, 0x12, 0x4A, 0x0A, +0x3A, 0x05, 0xB0, 0xF8, 0x8C, 0xE3, 0x7C, 0x14, 0xCF, 0x8B, 0xD1, 0x1C, 0xDF, 0x97, 0x78, 0xAC, +0x80, 0x06, 0x58, 0x77, 0x95, 0x8D, 0x6D, 0x38, 0xAB, 0x7C, 0xD0, 0xAF, 0xE4, 0x4F, 0xFE, 0x43, +0xF9, 0x63, 0x3A, 0x2B, 0xA4, 0x89, 0x8B, 0xD1, 0x8C, 0x14, 0xB2, 0x4C, 0xA2, 0xF8, 0xB3, 0x9C, +0x84, 0xB5, 0x5E, 0xB9, 0xD6, 0xEB, 0xF2, 0xBF, 0x6A, 0x47, 0xB9, 0xE9, 0x1A, 0xD3, 0xBA, 0x3F, +0xC2, 0xCC, 0x17, 0x9F, 0x67, 0x2C, 0x90, 0x35, 0xA6, 0x69, 0x45, 0xC6, 0xD4, 0x82, 0x3A, 0xD0, +0xAC, 0xFB, 0x69, 0xF6, 0x6F, 0x5B, 0xD4, 0xE3, 0x93, 0x57, 0x27, 0xE3, 0x93, 0x7A, 0x41, 0x1D, +0x1A, 0x0D, 0x93, 0x8A, 0x15, 0xD7, 0xEB, 0xA2, 0x50, 0x0B, 0x49, 0x51, 0xC0, 0x5E, 0x37, 0x37, +0x95, 0x5F, 0xFC, 0x34, 0x3A, 0x3F, 0xB3, 0x63, 0x94, 0x80, 0x47, 0xA2, 0x06, 0x73, 0x91, 0x22, +0xD1, 0x3C, 0xF8, 0xC7, 0x93, 0x5A, 0x19, 0x2F, 0x5F, 0x3B, 0xB8, 0x7C, 0x65, 0xA9, 0xD3, 0x54, +0x9F, 0x3C, 0x97, 0x75, 0x67, 0xFE, 0x84, 0x08, 0x92, 0xD3, 0xB4, 0x4A, 0x54, 0x83, 0x82, 0x9D, +0x7A, 0x98, 0xE7, 0x77, 0x59, 0x5B, 0x23, 0x35, 0x35, 0x2D, 0x3E, 0x27, 0x69, 0xBD, 0x81, 0x69, +0x04, 0x85, 0xBF, 0xA9, 0xED, 0x55, 0x31, 0x52, 0xE4, 0xD6, 0x6B, 0x6F, 0xF5, 0xCA, 0x48, 0xC5, +0x07, 0x0B, 0x89, 0x88, 0x59, 0x65, 0xDB, 0xEA, 0x6E, 0x74, 0xC8, 0x3D, 0x84, 0xEA, 0x16, 0xFD, +0xC7, 0xE6, 0x49, 0x0B, 0xF3, 0xA4, 0x75, 0xF7, 0x2C, 0x29, 0x0E, 0x26, 0xC0, 0xC5, 0xED, 0xA0, +0x74, 0x9C, 0x76, 0x88, 0xF2, 0xC5, 0x76, 0x24, 0x1E, 0x09, 0x88, 0xF4, 0xF0, 0x06, 0xE0, 0x63, +0x2A, 0xD7, 0x3F, 0xA2, 0x3B, 0xA4, 0x9E, 0x20, 0x35, 0xD1, 0x24, 0xD0, 0xFF, 0x0D, 0x1C, 0xB8, +0x79, 0xD2, 0x53, 0xEB, 0x30, 0x6F, 0x87, 0x54, 0x61, 0x24, 0x85, 0xE1, 0xE3, 0x68, 0xC0, 0x1B, +0xC1, 0xA5, 0x8A, 0x38, 0xF5, 0xD8, 0x02, 0xC6, 0x9F, 0xBB, 0xA2, 0xC6, 0x6B, 0x17, 0x54, 0xF7, +0xBB, 0xCD, 0xCD, 0x27, 0x1D, 0xAF, 0x19, 0xE7, 0xAB, 0xFA, 0xA8, 0xE9, 0x51, 0x68, 0xAD, 0x63, +0x15, 0xC0, 0xC3, 0x90, 0x4D, 0x0C, 0xF1, 0xF0, 0x6A, 0x29, 0x6E, 0xCB, 0xA5, 0x2B, 0xD3, 0xFA, +0x8B, 0xBE, 0x15, 0x59, 0x7E, 0x3D, 0x6C, 0x2B, 0x0E, 0xEB, 0xE6, 0xDE, 0xDE, 0x47, 0x35, 0x3B, +0xAD, 0xF6, 0x8A, 0x46, 0x3A, 0x25, 0x3E, 0x08, 0xED, 0x14, 0xAB, 0x67, 0x2F, 0x06, 0xC4, 0x94, +0xDA, 0x4C, 0xD7, 0x45, 0x65, 0xEA, 0x87, 0x18, 0x25, 0x23, 0xD1, 0x03, 0xAB, 0xA4, 0xD7, 0x88, +0xA1, 0x9F, 0xF7, 0x55, 0xF1, 0xE1, 0x62, 0xE8, 0xFD, 0xCD, 0x95, 0x2E, 0x1E, 0xE8, 0x4F, 0x09, +0xC5, 0x81, 0x5E, 0x05, 0x52, 0xD9, 0xB3, 0xEA, 0x3D, 0xF9, 0xE8, 0xD5, 0x96, 0xF7, 0x66, 0x5A, +0x6D, 0x1B, 0x29, 0x6C, 0xA4, 0x1E, 0x03, 0xF6, 0xDA, 0xE1, 0x08, 0xE0, 0x08, 0xFA, 0x3B, 0x46, +0xD9, 0x2D, 0x22, 0x4F, 0x10, 0x21, 0xB0, 0x89, 0xE4, 0xAF, 0x65, 0xA1, 0x29, 0xB6, 0x94, 0x65, +0xC9, 0x3C, 0x5A, 0x83, 0x28, 0x7B, 0x37, 0x8B, 0x67, 0x3E, 0xC8, 0xC7, 0xB6, 0x90, 0xC2, 0xC0, +0x45, 0x24, 0xC9, 0x3D, 0x62, 0x43, 0xA2, 0x85, 0xA2, 0x88, 0x1A, 0xE1, 0x34, 0x95, 0x9A, 0x11, +0x9A, 0x7B, 0xCD, 0x02, 0x50, 0x1C, 0xA0, 0xF5, 0x22, 0x18, 0x89, 0x83, 0x40, 0x87, 0x02, 0x30, +0x9E, 0xE3, 0x28, 0x87, 0x70, 0x18, 0x0A, 0x10, 0x12, 0xA0, 0x2F, 0xE5, 0x65, 0x8C, 0x64, 0xB1, +0x4A, 0xE8, 0xCC, 0xEB, 0xF7, 0x1C, 0xEB, 0x31, 0xD9, 0xAB, 0x14, 0x8F, 0xD8, 0x94, 0x8F, 0xD1, +0x24, 0x35, 0xA0, 0xD6, 0x68, 0xD9, 0x01, 0xA0, 0x11, 0xE4, 0x78, 0x63, 0xCB, 0x6C, 0x47, 0x7F, +0xC7, 0x92, 0x5B, 0x9C, 0x18, 0x1B, 0xFD, 0x9C, 0x9F, 0x53, 0x28, 0x32, 0x43, 0xF8, 0xE5, 0x43, +0x5F, 0xBC, 0x85, 0x7D, 0x05, 0xCA, 0xCA, 0x29, 0xA7, 0x80, 0x3C, 0x67, 0x8B, 0x8B, 0x84, 0x50, +0xFE, 0x5A, 0x76, 0xC4, 0x39, 0x96, 0xAF, 0x9E, 0xFD, 0xC8, 0xAB, 0x2E, 0x1E, 0x0A, 0x2D, 0x45, +0x89, 0xE1, 0x36, 0x1E, 0x0D, 0x59, 0x13, 0xB8, 0x50, 0xA8, 0x78, 0xDC, 0xE5, 0x82, 0x50, 0x57, +0x3F, 0xE2, 0x49, 0xD8, 0x1D, 0xE9, 0x56, 0x84, 0x7C, 0x98, 0xA8, 0x3D, 0x30, 0x5F, 0x59, 0x22, +0x8C, 0xB9, 0xF5, 0xF8, 0x1A, 0x18, 0xDC, 0xC2, 0xF6, 0xAC, 0x30, 0x3F, 0xB3, 0xA3, 0xEB, 0x16, +0x81, 0x70, 0x0A, 0xAE, 0x1F, 0x9C, 0xD3, 0xF0, 0xC1, 0x85, 0xB4, 0xF9, 0x79, 0x3E, 0xC4, 0xBD, +0xB3, 0xCF, 0xF1, 0xF1, 0x7E, 0x8D, 0x8F, 0xF7, 0x6D, 0x7C, 0xE0, 0xA6, 0xFE, 0x60, 0x72, 0x05, +0x64, 0x5F, 0x23, 0x8A, 0x66, 0x38, 0x81, 0x05, 0x71, 0x08, 0xA8, 0xE4, 0x9F, 0x71, 0x96, 0xE0, +0xCF, 0x73, 0x36, 0x9A, 0x93, 0x29, 0x5F, 0xE7, 0x4F, 0xAD, 0xFE, 0x3B, 0x2E, 0x13, 0xFC, 0x04, +0x97, 0x45, 0x99, 0xDC, 0xC8, 0x6D, 0x2A, 0x7E, 0xB5, 0x3F, 0xBE, 0x41, 0xE5, 0xE3, 0x1B, 0x0E, +0xBF, 0xCA, 0x11, 0xAD, 0xBA, 0x2B, 0xFD, 0x0B, 0x9F, 0x48, 0x0C, 0x0E, 0x9C, 0x85, 0xB5, 0x4E, +0x93, 0x1E, 0x42, 0x7F, 0xF1, 0x0A, 0x58, 0x33, 0x14, 0x37, 0xD8, 0x5B, 0xAE, 0xE0, 0x40, 0x63, +0x41, 0x40, 0xAC, 0x05, 0x30, 0xED, 0xCB, 0xAA, 0xDB, 0x9E, 0x27, 0x58, 0x24, 0x62, 0x38, 0x12, +0x92, 0x7C, 0xEF, 0xC3, 0xC1, 0xE6, 0x4D, 0x07, 0x92, 0xA3, 0x07, 0x1F, 0xA6, 0x07, 0x83, 0xCD, +0x9B, 0x6F, 0xCC, 0xDE, 0x8C, 0x58, 0xA5, 0x70, 0x32, 0xCD, 0x82, 0xBA, 0x3E, 0xD0, 0x1B, 0x0F, +0x81, 0xFC, 0xF5, 0x2C, 0x5C, 0x86, 0x48, 0xB0, 0x3B, 0x21, 0x30, 0x7C, 0x84, 0x88, 0xCE, 0xE0, +0x43, 0xFA, 0xA8, 0x69, 0x82, 0xB4, 0xB5, 0x27, 0x66, 0x3A, 0x87, 0xBF, 0x3A, 0x04, 0xE0, 0x41, +0xCB, 0x3B, 0x05, 0x3D, 0xCB, 0x47, 0x3A, 0x1C, 0xC8, 0xDB, 0x63, 0x90, 0x3A, 0x05, 0xC2, 0x8D, +0x1A, 0xD4, 0x63, 0x1F, 0x44, 0xAD, 0xAA, 0x81, 0x51, 0xE0, 0xF6, 0xA8, 0xF9, 0xF3, 0xEB, 0x57, +0xA7, 0x9C, 0xC7, 0x97, 0x2A, 0xEE, 0x02, 0xAD, 0xE6, 0x42, 0x75, 0xAB, 0xE6, 0x92, 0x27, 0x0F, +0x45, 0x39, 0x26, 0x92, 0x8F, 0xF2, 0xF4, 0x9F, 0xCF, 0x27, 0x1F, 0xB1, 0x0F, 0x79, 0xED, 0x75, +0x0A, 0x49, 0x71, 0xCB, 0x16, 0xE8, 0xE3, 0xF1, 0x85, 0xBD, 0x6B, 0x3B, 0x50, 0xBB, 0x80, 0x92, +0xFD, 0xB9, 0x30, 0x88, 0xD5, 0x3F, 0x42, 0xDE, 0xFE, 0x67, 0xC8, 0x04, 0xC2, 0x5D, 0x0A, 0xF1, +0xAC, 0xC0, 0x6F, 0xE2, 0xCE, 0x13, 0xB6, 0x90, 0x68, 0x27, 0x49, 0x22, 0xEE, 0x68, 0x0C, 0x55, +0x94, 0x36, 0x81, 0xC5, 0x14, 0x43, 0x13, 0xC9, 0x70, 0xAA, 0x51, 0xC6, 0xB5, 0x34, 0x8B, 0x63, +0x96, 0xF0, 0x35, 0x7D, 0xD8, 0x7A, 0xF1, 0x84, 0xE8, 0x4D, 0x86, 0x33, 0x1C, 0xE4, 0xCB, 0x38, +0xA9, 0xEB, 0x45, 0x56, 0x79, 0xB0, 0x0E, 0x36, 0xFD, 0xE1, 0x26, 0xAF, 0xF9, 0x32, 0x4A, 0x45, +0xF8, 0xDD, 0xE8, 0xAB, 0x39, 0x48, 0x37, 0x07, 0xAA, 0x1E, 0xCD, 0xC2, 0x70, 0x35, 0x58, 0xA3, +0x05, 0xCD, 0x21, 0xE3, 0x4C, 0x3E, 0xEA, 0x5F, 0xFE, 0x96, 0x27, 0xC0, 0x86, 0x6F, 0x96, 0x56, +0xCD, 0xDB, 0x6B, 0x62, 0x73, 0xB9, 0x03, 0x99, 0xD7, 0x16, 0x8E, 0xF9, 0x30, 0xE2, 0x88, 0x0B, +0x93, 0x10, 0xBE, 0xA7, 0x0C, 0xE8, 0xA9, 0x94, 0xCE, 0x6D, 0x1F, 0x85, 0xA1, 0x78, 0x01, 0x0A, +0x06, 0x92, 0x02, 0x5A, 0x96, 0x5A, 0x82, 0x48, 0x1A, 0x33, 0x9A, 0xE2, 0x31, 0x78, 0xA3, 0x69, +0x39, 0x22, 0x9F, 0x29, 0xD9, 0xF2, 0xDE, 0x51, 0xE4, 0xCE, 0x9A, 0x78, 0xA6, 0x55, 0xCE, 0x36, +0x37, 0xA9, 0x5D, 0xB0, 0x6F, 0x14, 0x48, 0xA9, 0x88, 0x38, 0x86, 0x29, 0xCA, 0x72, 0x28, 0x2E, +0x9B, 0xBA, 0x71, 0xAC, 0x0D, 0x63, 0x03, 0x6B, 0x84, 0xC2, 0xE1, 0xD4, 0x17, 0xC6, 0xA8, 0x6E, +0xD4, 0x54, 0x1E, 0x4B, 0x3D, 0xB1, 0x7D, 0x50, 0x0A, 0xF2, 0x64, 0xE5, 0x91, 0x77, 0xC0, 0xBA, +0x2E, 0xEA, 0x57, 0x2C, 0x3A, 0x01, 0x14, 0xA5, 0x35, 0xB2, 0x65, 0x0D, 0x65, 0x22, 0xAF, 0x00, +0x0F, 0x70, 0x98, 0x62, 0xAD, 0xB9, 0x7F, 0x9D, 0x8D, 0xB2, 0x71, 0x06, 0x98, 0x56, 0xEC, 0x33, +0x51, 0x07, 0x4E, 0x02, 0xB5, 0xA0, 0x03, 0x59, 0x9E, 0x78, 0x42, 0xF3, 0x11, 0xE6, 0x73, 0x16, +0x1C, 0xE8, 0x07, 0xBA, 0xAB, 0xC3, 0xFF, 0x4D, 0xDD, 0x82, 0x5D, 0x98, 0xFA, 0x2C, 0xC0, 0x57, +0x97, 0x2F, 0x20, 0xFA, 0x82, 0x4A, 0x31, 0xE5, 0x06, 0x81, 0x24, 0xE4, 0xE9, 0x9D, 0x16, 0x48, +0x41, 0xFE, 0x03, 0xB9, 0x31, 0x07, 0x4D, 0x93, 0xC1, 0x8B, 0x35, 0xA3, 0x6C, 0x98, 0x94, 0xCD, +0xA8, 0xBC, 0x77, 0x71, 0x81, 0x38, 0x7F, 0x83, 0xC0, 0x8D, 0xFA, 0x0E, 0x51, 0x12, 0x3E, 0x62, +0xD5, 0x68, 0xD2, 0x88, 0x31, 0x35, 0x0A, 0x18, 0x18, 0x41, 0x96, 0x84, 0x1D, 0x24, 0x9E, 0x42, +0x34, 0x8F, 0x4A, 0x45, 0xF9, 0x69, 0x9A, 0xEE, 0x5F, 0x22, 0x4B, 0x54, 0x54, 0x57, 0xE9, 0x88, +0x27, 0xD2, 0x44, 0xD6, 0xE8, 0xF1, 0x5C, 0xA4, 0x53, 0x2C, 0x83, 0x5E, 0xF3, 0xCB, 0x73, 0x96, +0x8E, 0xE2, 0x38, 0x24, 0x2A, 0x50, 0xF7, 0xE0, 0x61, 0xFB, 0x62, 0xD1, 0x15, 0xAF, 0x9A, 0xBB, +0x70, 0x82, 0x52, 0x61, 0xA0, 0xB7, 0x70, 0xA8, 0x9A, 0x40, 0x2B, 0x15, 0xAF, 0xD5, 0xD7, 0xBC, +0xB4, 0x32, 0x55, 0x63, 0xCD, 0x4D, 0x9B, 0x74, 0x9A, 0x7C, 0xD6, 0x1C, 0x6B, 0x6F, 0x67, 0x0D, +0x84, 0x26, 0xE2, 0xA5, 0x32, 0xE4, 0x1E, 0x48, 0xD1, 0xE5, 0x69, 0x45, 0x37, 0x56, 0x0F, 0x0D, +0x76, 0x9C, 0xA5, 0x73, 0x63, 0x09, 0xAC, 0xBB, 0xDC, 0x52, 0xBA, 0x72, 0xB1, 0xA5, 0x2E, 0xDD, +0xA5, 0x56, 0xE1, 0x8A, 0xAE, 0xC8, 0x29, 0x75, 0xDE, 0xFE, 0xF8, 0x43, 0xCC, 0x2A, 0xC7, 0x92, +0xB3, 0xA6, 0x6F, 0xAD, 0xD4, 0x13, 0xE1, 0xA2, 0x74, 0x16, 0x16, 0xB3, 0x1E, 0xAE, 0x06, 0x7B, +0x3D, 0xD5, 0x44, 0x15, 0xAF, 0xE3, 0x35, 0x12, 0x78, 0x22, 0x87, 0xEA, 0xF9, 0x7B, 0x0F, 0x18, +0x4E, 0x21, 0x36, 0xD9, 0xD0, 0x75, 0xD5, 0xBF, 0x70, 0x58, 0xEB, 0xBE, 0xCA, 0xAF, 0x2D, 0xEA, +0xF9, 0xF7, 0x16, 0xD7, 0x49, 0xEE, 0x83, 0x37, 0xB5, 0x65, 0x98, 0xA2, 0xE8, 0x55, 0x5E, 0xAD, +0xF6, 0x7A, 0x4F, 0xBC, 0xC6, 0xD7, 0xF3, 0xC3, 0xCC, 0x81, 0x1A, 0xD8, 0x25, 0x77, 0x82, 0x33, +0x2B, 0x5F, 0x44, 0xE9, 0x03, 0xF5, 0x45, 0x6C, 0x2D, 0xA9, 0xCC, 0xE1, 0x86, 0x1A, 0xCD, 0xB7, +0xDA, 0x69, 0xAE, 0x2A, 0x26, 0x7B, 0xEA, 0xFB, 0x9A, 0xE2, 0xB1, 0xA3, 0xC6, 0xF2, 0xD7, 0x4E, +0xF5, 0x2A, 0x01, 0x04, 0x82, 0x16, 0x5F, 0xE8, 0xA5, 0x08, 0x37, 0x9A, 0xEC, 0xF1, 0xCB, 0x29, +0x90, 0x80, 0x0D, 0xD5, 0xAE, 0x2C, 0x6E, 0x07, 0xA8, 0xB4, 0xBE, 0xBE, 0xA8, 0x2A, 0x83, 0xF5, +0xE5, 0xA2, 0xED, 0x2A, 0x5F, 0x2A, 0xD5, 0xBE, 0x88, 0x51, 0xD1, 0x20, 0xF2, 0xDD, 0x99, 0xDC, +0xDF, 0x7C, 0x9D, 0xF6, 0x24, 0x9A, 0xC2, 0x80, 0x81, 0x10, 0x17, 0x3E, 0xE4, 0x37, 0x58, 0xFF, +0x04, 0x63, 0x8F, 0x76, 0xB0, 0xD1, 0x2A, 0x00, 0x00 }; #define SPIFFS_MAXLENGTH_FILEPATH 32 @@ -442,7 +443,7 @@ void SPIFFSEditor::handleRequest(AsyncWebServerRequest *request){ #ifdef ESP32 File dir = _fs.open(path); #else - Dir dir = _fs.openDir(path); + fs::Dir dir = _fs.openDir(path); #endif path = String(); String output = "["; diff --git a/src/WebRequest.cpp b/src/WebRequest.cpp index bbce5ca..822a6a7 100644 --- a/src/WebRequest.cpp +++ b/src/WebRequest.cpp @@ -96,6 +96,10 @@ AsyncWebServerRequest::~AsyncWebServerRequest(){ if(_tempFile){ _tempFile.close(); } + + if(_itemBuffer){ + free(_itemBuffer); + } } void AsyncWebServerRequest::_onData(void *buf, size_t len){ diff --git a/src/edit.htm b/src/edit.htm index 43d4984..49d9c00 100644 --- a/src/edit.htm +++ b/src/edit.htm @@ -1,627 +1 @@ - - - - -ESP Editor - - - - - - -
-
-
-
- - - - +ESP Editor
\ No newline at end of file From 37273f97403fb9599e72b4e7aed72a79944493d6 Mon Sep 17 00:00:00 2001 From: lorol Date: Wed, 11 Mar 2020 23:45:04 -0400 Subject: [PATCH 02/47] Added example info --- examples/SmartSwitch/README.md | 13 +++++++++++++ examples/SmartSwitch/SCREENSHOT.PNG | Bin 0 -> 123256 bytes 2 files changed, 13 insertions(+) create mode 100644 examples/SmartSwitch/README.md create mode 100644 examples/SmartSwitch/SCREENSHOT.PNG diff --git a/examples/SmartSwitch/README.md b/examples/SmartSwitch/README.md new file mode 100644 index 0000000..1801e99 --- /dev/null +++ b/examples/SmartSwitch/README.md @@ -0,0 +1,13 @@ +![](SCREENSHOT.PNG) + +SmartSwitch application +Based on ESP_AsyncFSBrowser +Temperature Control for heater with schedule for car block heater or battery charger +Wide browser compatibility, no extra server-side needed. +HTTP server and WebSocket, single port +Standalone, no JS dependencies for the browser from Internet (I hope) +Based on ESP_AsyncFSBrowser +Real Time (NTP) w/ Time Zones +Memorized settings to EEPROM +Multiple clients can be connected at same time, they see each other requests +Use latest ESP8266 core lib (from github) \ No newline at end of file diff --git a/examples/SmartSwitch/SCREENSHOT.PNG b/examples/SmartSwitch/SCREENSHOT.PNG new file mode 100644 index 0000000000000000000000000000000000000000..e9d0ddd5c4016011fb795078b89cfbdc9db75407 GIT binary patch literal 123256 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

>KwfGbJ?@9ej_|NcQTe&&!Z@(W! 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

2Um*bjfI@IEZAoBMap^unLKh0>K9xtk{l! z?3K$if3+Q~XDR-fBWrV%cWb+o5g-4K)l(RMEd2QU*fn{^{|pZnN0lFaFB=`xE14^L z^`Y-srM)fFS{A4}-d6nCR>b}=tUhOMaL|wF-;qD$zfIkF`JLV#tK2nDjNJCT>s|6$ z>ExkKo9$r%N7&BC@!4mnZ`;1hU+oq<@AmKJ z1NqzA9}3uizVG>;;qv0}*MAC^cqn%|t?FT5W01S@i{XdR8>?o8HEK z`_JIC&--z{fUe4h$|84#UIx_}`C-R{L>{X%?KjD>Q>{Dde4r|C=JG$BJ6$-R(tpJ@^L^`&Y ztP`w16}ZR$>)!ti7dhkJ|7T$J`p+=AXybo|4R5#q>)5gWl9dMY$I0Jjeo*iD6ZxNk z<=>CowG~y@ytiJ|&C%1FW)L}veTznlLh;s!b?+UDDp>k0e?0#k|FT}{KSQdD_n>09|N=l?7YJ~aOu_lN%s|2n(&hlB2l;qS8l)OB0_ zH(RFtuV~hao$}PX~TbZ~VgR{`Qh{ zw%t~njSIGI?$Ugebn4Zc=$eCq=2}n8*Ngrx4%PYco7Xl{N1>15O>9e+h?uSC0ZH|1 z4fgzYYW1gd_lW;zNL2jKuvC2N>-a6xI#<1x|KPix)pwc0=e51_dW-E2_?>9o==5B+ zvGnBIYx`q0lx?IKe$;=9|JdKKKjS~c%_#YHvyJBzFMr9fv0c$QLH~W&S*5a`rXu@J ze|C!(*&qKiJdAI($^Xdw$i3Y@dB2e2Z@$h)-lw~-Ja2XAF4}i6h|^5&t>#zJzdV0@ z?W`~DlY6!KkNoCs^N%PQTq`)gHK~$Yul(tR+B;tp&(;+GR;)W4FT6+eqx6yea{Fv% z7eC6a*yJw4vrZ{8#%7IIO~b~J5H3Fv0e=(5Ut%2-7xWp3h9oc^UfVZVT=^*7vBG1`Th@)_nYH49GhMJ;rPSTj*s4V=}U%O zUR--^SF*v+)GI2^hk4qfOYM?-@(fqAE6BY6Bli9uS0?+L_zw|({XZe4ICa!;Xyol{t(AK7d%>;Hddyl z?on*xcDs1AFUbAvpD#7;{~4N|{%1JoyH6==^1by(!Y<@4wO3s>F*P$+#QCDkq0jSI zpE`bTpU>Z}`lR_i{~5NYADivpyr2E8fnDTQTfbEM)XQtl6PM3ze=3vwY~sGqckbVL ze_Q@%ILJ}|VBUSEJ%;&-kJfYZcSv1&xX#pGz}kE7#}nQmsoVQ(o^u7>mNDLE>>z*q zesleU&GjFG{aLaE@4x)dAZBWPUgyct6^FB{rTZREdnEqgcS7G0slVs{w*F^$@Z_|= zQ1&%@zWsTzVz)iLrwOWenUqY3UM$2k`?T^iqm}W{paKIjyB?|WsTn@9eeR26qC?Ua?LHhIjnRtXC@!;r-IZ$XvY`XxV_J-1%p zB0Xb$PJWVicXfwsN>{{^fRieDOI9muvPKATSc)!=KUx1rI`emF_CKZe$iHoNO82&2 z%A9s7TTWt9y6WP_*sym;i?4?4n5QaVB3a+UV850N-gP*8t#qyY;aRrVJ8B$Dd3#%X z^b3oN3tr0v92J^YsZypGD(a|nq=Dh&`lpA#-TTkbJh?{pfo0?fkI(;mTOML#Ir4 zT`TRpIPbpyR^9EztjB()SVknVh$j?7v1l< zUshXNdt9hu^QgJ}wLJNKOn$rlgN^e)1nYChEWI}OV|m2PiQAJt>aM#o=Q(Sh;sn7r zZrZ;V#<57bMF7`UBHa@)H?PTZAlIIOJ9lK#WsKSR^H{|pBeYO?<` zuzb6+_MdWv(64&o8k4K*?9Q`(ImLQ!e!+n$+xLDtv^byPXR*?%ovdDqbNLT|^wd9C zD5w0l%|3Ij+5NaHD)H^}ba!?gKN8kcERyv+CH$3rn|E678HdxZdks8e80r`IiZnDC zSxH4P{8{{;q3KB7oqzU!8|zbN%XigtDQ}p4q-xvl>?OCBEfn_UaPO*oRxD+cQ!wFy z>307=@AcdEKX|F%C6~7P!{i5B*Ub2obmi;r6`!x4 z$;e$hTkf{Hd~cmj{XyOO2XiOaA9UYmlD(g2-5yu<){?*MZn=KBPS%bUK5Z3=UHm$y zIiwHo&bxbjnj2pQ!*BC{O1}RYn%e#|oS)uO{~@~YKf}qA`XiqEKLp(W`RPOdKkhvH zpL+Y9?H`HhbN*+zn7R8u!$F?5~m_MJ#Vpi$zz5f|l z-2O8(O|QEc{~=(m`y=1=$7h&SgdZw=sh|3HYOd-|wJ-NLYtDZ5-u>4p_n6`Nn2#Ux z(F}k6HUA$c=w!SVm+T+RD&J?i=hB~C^X~r)4~=|nCA<^1#i##f+^NvJUHJX|Z~fm2 zx9_W9_?y27GONh^f%zXFQYP8!v>P2Z(B8g)q4?f@Q~O6!^*_|l|7G2i{-2>)+W()^ z0{*Ax|H+&GXJEDZ&#-9c%Kr=xY^VQcP`>z|fq(XY(3M;lW3K#X_#k)sKf}b=zk2>N zbY%W#crf4oi`d8c|9Eoke{${P`_Irc>p#Om{`%zoH~uqxQ~0?5t>}mKfgeqNeQ&Sd zTz6_#>)Sooj=!y%x^~IzOV$xL9$C&`ZHGlUfUS{XJEVY?|{|$wk>bt-iLndnD*+H|ruKi>H~nXLQuS{!W>_r#rwFRxYyLA_ zh(1>T!*I)gh9_DKe_8)CGzHhh{^T+KYBLIH~&b~(XEf~#hqEPUfaFC zSV%}YG_b`rPNd}P`U|^0^xvHRt^9-fn}r{Y9sbU*lk_e(Ykj!mY1h^FPa^X;W>xA* zpDFRUGWV02L32;7|8BB|hG9d;cu!+SZs+||`p@uS*?)!)arU?JkL(xR6ZzY!?%c}% z3|!w`FO+JZm3tk$ee#*B>!mKGH{Ml0Al7lzXp!Qx{-3Xm!uB)OasT1|@%(pKO+fd< z?+5P+{bx8jPxZ=^%#?`6vY)e`&wG@vsO)=OUuWGa&ZnEQfAxG={zrQ0wojXx*v_@ujCnfX)aZ5e^(%fGDsZB}E|hyRYROj!xZud+V;_tlJ#QIiH!ml$Jin;mSOJ)qjQu zxA}j1yIIiu6tk9dA@(o%w6vJxzgU+^HW{b_MbZbt?S46_5Uu$%l?V|c=^ar@qOA?^R}uv z6+hMaB-STTzgsA`w^r1(e&PE+V$P4k|7e~6p*H{ku9(TRreU zL(a3J+Q#*tkNlluCwuf`{kOIc@`tJ$ci9X7==Q!8!~gDH>`~^reh2yc*Z&Acf788O zpZuTU#%7m2S9K5l*na%N!S%0$rXJ~heoX4ph36A=7bb9h5!$n);Oeip5ps$j#as7q zKRi8OsAAo}>+Y9KUhFyDy?STRy;~g9e=M2gw4%$_lOg=^_GA4&^q>C`Zhr7@yLtPU z{|o}J?2LD8KQVESW$L#MX8woK-R;}k{J$?Qi~qKQ`P-uXg8vyFY_i;W&P;Uu_nF&!=hNdWB2Io`+n-{e{{GhFZ&iO+)oA@Q{yXna z^zt9e4k?KxXDSLioG}usP~kSwaaZu@@_3=a{BsScjR$IW{%6RUf0O^)mJji76(9X) z5c}bCtD@{#*sd*?-{~)#6T&1s9^LQg-V8|N(7zqaerVCFvZPvgV+rW)(& zNB)S^)qT2>etS1{*(UTKSM{Hqtttcl_-55AOdNe!BG^;{VN5|F$yw%d`gjQ{TUx z`Z0S=P1@fzc1nMOugkelkNL>AuvmTuhc>g{p}Pz=tsYKF{~0#1)@R@UkhlGyF89OZ ze}r!xf7H51!_>aRYVFs*XKws`*mkN?N1yM;~efv>gYzW#20B+vfC`{=d*3@IPu zrl+qw+LN=p$#S~9r%2cQ!*!A$?l*6Vs4;&iYj@l0^4jf{X4?u?1di|R-ge?K*Xo@! zHXe8~scII(okd+5%un)fKYkeAZfE-M=zigUGCvlH%)0mea8=93=?oq3au;TIXS!9e zX+CymzncALhxT8U{SP+o-}0~XxBkBa`^>MV?}+$1Uo7(U!?j8}y`N%U1#StlYW~k) zlVEhp-)DiW$NJB;mrB;U$6nRl;wvY%bN8O93Qa1KnJN>T7Oi*}*};6T!Tw71H}Q}A zmVZ?Lru)P9@!q1adH)$gKeY80mTLcfK6lNc&oTcQ_WbUD93L9q^Y2_dkIE1A-*y$^ z5AK}Xjyiw-?0k*eV>)QC?r z@0|bLeQCX3{dV=E{6Avtx7i=%?=n33?BJS;*}=1JZl3=ovEXH%@qK|+{D=0hUH?Pf z{%zxL<^K!^jrTv8{-1&W{{nN5KkmP&{q5)9srz&H zGH&g^`JdsaL6-RhwcmTS9{-gO+A7IxbZh7R&FXSVc|G%(XZ@CIKt64T>rdBzhNk!R zr!@Cz)!*U&&)`3+wrAw+}8$pG=EP z(dy_}u-RCEfn{>n&+>nA?7!LSFXn#W|0gml{y&4twfa9I(f@q-AIJag`1POR-|T1W zKYd!j|MmQ)y_>JBd3dGd<)laV9*TJ^?QLGXxM#ICPty{aCJUuC*Jss;|7VzF{m}k5 zb42}1tMH{47~^<9>VI4Qcg8;MAFVd3AG;sfxBgLIb&~7O+G(3t-;B6pq8AzFD0<}L zPPfzqX$e)2^K5&c?Qib?VVV9fhjhV~qU&elAsLzS#w$C_!^Yi1mXP-_#XfOMt z`j~L$ss2*A&Xu>ac$rRkxJ`-nR&+S(5p?4mpH=v#>mN7%XJFg%pW&qMkAwdi685V9 zXK;_X{>|Tk)w!@RKQr%pxZg%sq3PvCqM;!vll&PNPpa*y|JL&3_lMKp5`NgOt113* zu+HQ!yTf*4zXxoS+*EW54z=`tI`u>)d*U=@6`qOzYVUstZqj@7!(-^?SGNZ_mFu{~zbW-)VK%uid{jpJ5Ms{hG|gGwH$8PjB9E$L@o8xW9$FgQMakcwQ;`Q`9eS6#m3{L)^6e}` zef56^cKeL|4g0s~O(?zJxXFBQ;C~;~rLlnj;QSvJ_d`K5a!rN4nR9CQ zAK4WnAH%uyKf|rkKk5G&4%+W2f8gJ`f7|@S@tyaD*9ZGuu(4bh{c8GkBc?+ZYfjFY zus|&B6vL_oo6Q(lCdS{;|0A)kjnp6{eA@QTiKanjTmTo<@`p7!_MS< zi=c3oDFr9IbNTKszxppX{)4;!t@4P!)A#4^XMPj#>?8+%?I-<9^H2KI`@2%|CuA#7lH;w16>(J57q?ySonay=|2D0{H}VD ztq~^v{4dJh7FSmn-A?W@{gtxWP%%(MtV}UPOhK;v@%rQITlR1EKP>D0nElwObq6;_ZLe+o@*$ z_~75DXZ~_t)t~LZ&QuuYu+&_M`4_{FjX)C6JW`O&xidr~g{ z!(+Wxz3I`nn-wLJ(^GfkPI`K!XI_w~;(e7x_P=EQsQn23@Sov9{^45rhw6v+8tKX( z{>8iL*3Bp9qwkGR=kxri z4!ZK#{>!CXw>*`Z@6L6QdlJ6$djFsLABqq5-|~L&Z2t%2N7^y#+8;&dZ;Gq!i&rZa z`&uOAV|Hii!3R%L$`|l|>PSmZI#cAYGVAx^Zw~(%nkxQXm*2i@qfrg-1-bXW8&kIL zzP44e?(FjD+<;ZR)=y5H*j-=Bby8^^-+>*be*-I~|KsiY+xvd2#JWA&kK@HNFI0A2 zI%u;kTq{6+reNzDpPe#H-VZ)EU)sOmerr9qo%|o6AC*gLG=D@dJ-j$WN_JP&&07uz z6OT3Te0A=)&buRos5cncEP8&l10NPW!kBbNDk)7 zPb9bXMKi0^FXRnd?)Z_d-(cRQZx_FLOZV|_)@BO5 z*ccuZ+8E>rs!D&T%>N^@*yTS%Q|lj|N%=w?Yw8p$LX)6VLf;LUy-fa?RC$aUqQVHtuKr&+w%0hyT9=*W`csO?_GVY(APu z2}AgY!v75HI{z6?IhOSQ7B+eRS9{<3_i|VoTeXhZn@;h^j{lLm{GUP9{4x9ArZ4mV z$`;4pv}LI0yZ@o^``hU&{`mi0tYe=tpDS+vALV-tUDk8`RFahEN9^wLoW|V#+jRG$ zg|F7DEZP_SpP@;;{-8z4{M*|f-+kX@r*+^{jqL}6w&%eeLW};r3i93C_rQ_kpzJfP za+ZMkniCBE-1xiZpXw`lN&77Mj(U-=W_R`WKGOC2!t+GSyI8T8@!u=8t8xdzzeN9M zU`hGU(6q4bko<=0ZzdLgxc``Kb$#lixzRDZue_gj+i%{(G9yBY(snx)zYRD{nqm^sQUBj%{@23G7`dQ@DVuYXO4@1H;;`KTiJ{ zIzY24Gv|LXd@cV&W7mI%M;X|}nD6{&c(C&R2jBDU_1o_s*!|9pK^V5w^@d?iLbJbh+gg?%2sk7VgaeAxX@{4<%AKt#QbK6{F znQPa>&Pn>)w7JJQ{*wCl%l?sK{SUSDzdTjP|8eQ<|1s;I?Eaj5@jpgC+JA@sasJW# zAT)hzH3tSBU8NB{8+<5%0=VEBu2#}kL@*7H@r;`YzI|HEwZBelhk*53$^`QWzb_w+;m zw01Y$p1(W4G(W$1yZqOiPwji_T|$ssX4u$_gw~IvjM7oRwRR-`hlT$k@qOz58Jg05 zOb*@b``Gd7mbp%GPZW1X2f1Ik!}B|B|M{l zpAfOQ#Jp2-+7)@n=ZlJO?LQrtk+yB-+jj!TRZ>=K^9VQ|WRY`ZYp}mI`Qi7rE&Z%N zxLrQfHLRE>5~oOmT=_G5WXNLdxC}e&z~*2e(znb>wKMSZ&$nI<5@YY_r1+}_JZ-R>xE}3g)6K~ z;NuURcWnQu)89OPM6dpn^LIs^e2wNs-Lq$Yz1yFdb;62cR*A87{ica*Wwuj<<6kXC z6p=OgzjN#E{AXaQPq^Q*=}*9q^R+XV-2TeikSybM0jFjOLV3R#y#O z_;>ezhTQY5^Edb(@P6NGFXXvvN7`?_iA#?iOuv#p)7za(i0=x6*fb{&7nX;!v$p>{ zQg`+K*7{@lw~ZgmE&RCoaoLjmQtiW=?%g%owk_}SY3ao z|Ks%i&%l!LqyKl&t84qk?euidx9tj9PZ$vE%uxGdrR6`9_uRTR`^mC8;_jPJB!>J;E zg)W9DjYSRioc0eM{pI(&y8prK>9<;61nbRwq^tGp&W0x*XI0qq7k+wLf7tYoW{tp} z{g?llR5<--@RDA);M$j;igKHD&!oCPW35k~|Dm}4c&+^5_|5Un_UW^|TdcNsnQmNl zmcuf2-ln%DibFk5u1KJk_v>iNbRCx@@v%l!&}h5szR z!2avlA2EeLG9PBje_`A3pW#x;dhhjue`jvpT`ydB_CEvv9`}rckFMC5E{$2t*P6Py z^Pqe{_U#o6>mOYI#}_tH{vQ|rQmuKx2X__N$8Wti|4H`mQ|mt;`p?kx>yPi{eV_p| z??3VBOHQdbA2zEh>)q?;K9hIXS)=}vS?O-__ktbd7v2Am?f+-W{T}&m+?VRVl%B0m zId1WIZN0QSSo}RgJXM78pL^6D^KG}z-rcvPxKQSj&hoz-j+noWUtPaB{EuMpx9fk` z*m1s?FaJ;Q=tAFz?*%x|u8w&n=X3wXb)jevIeXo06IFbyzC7FK_;ldd;nwQk-xf94H_Rtm_4*^c_5b*I{xdXH{s?{)xBJ8SBjr_Jx6I;O zSh(D?ZdcX$RO{Ow7fm+U?z!ag(J&~mC(GmDaTA99A6)!zXn$+{+f*n1(1D3oqizyw*134_eJ)n*JggbD|GMU z8`T}v-m7i58!qzr_;y#9TJCBkp;MBT$BOvudKZ9pspG@^gceYfQ}6zj`OnZiaesRL zE%wLrd-sXN{t^D5-%*n+HaB^->g^X*srMFaFqsrJMQC=$6OIUNQQn>hj~A|=UjN|! z{F~9==KnDMU3%}w?#Jwh>qUM9d**XziM_5~lkt6<*|YR{SJos&cLbVm2vaPc#CYJr z1@>=SL3>8xpYQ$8zD6W_M@t@(h{U6o8%m0aH&1bVSeJPl2#kN-NX42&L-s5*>NwS}n zxi~NIN)!J!M}~jm^$&XGKZJ$+ZK?^a{xJQqR7~6-laHpC{7oi2^DLRYi6ysO#z9ym zNF&fD`*Wh`Wu2w+zqkKz{kZ)h|MB}A&X3WW-@MN?Kg!Rs+t~G+3Um0jxP|JQ*^Olim{fPgE#`NPF zrEAqVx2$LSk(#>g!@s$Pa*2@~pVz%(dcyh6Y+Zx*OnjBDR8&_d-=%+rWKQ%CsoL8{mb~D;h;_ZgZuh@@e+T$lRxr*JF|KIK{=k5 z&b~?Kgu|~GRCG=(%6Vk-KGV?5B1F2Si}B6;54qRhsIPxLUtqm`-hT$!=t?WIUeR+? zA8u6obKQKi{?yWvmj4W=EtK>blojW>Gc-%G|JGk;{_y$X^DH&$AKa#YxczY7%>2a} zQM$XLZbn9}JF&2noon$|l_wijCV8su)?)Z5e=Gd4i~Q#0Z~ikpmhTsjs?NIj!`*Y& z)u@xH0$U#4GFG3aqVRc*Ie&Ix2Eo0I(3SEVPT=k1OtypT?Xgg9dB60slH(S=QaNs+Ux$^ ztN-G%r}jTX%e9sN8BTm*{5Pq7llxot+~1-9&i)hnyYS7IWfzq`#!kO2cJ!I>7UnZ4 zw^BJJ@^{a9D_a$Q;j=IA9^Jx%gUSw(Gy52rCwba1u-34H&f55p-eV{CpW&eGKd}n^ zk%YJHU;tEIAt!Mb3pDH`evua&$6Q2Zgb8Pw_k*wE`Qun{n|LAr9!MmBY zYko}o?XYvh#?6;=pYGZ{@x8;gWS)T49_Lmn8{FcQxO=O?zWMwQ?eMpE*VWy%-&(fz zk*w9%r62s;(q?;qIJ;|-(r=yo_T9JtGuZ0gtvPfg@8;8m4_W0uc-`*5p?=6-&i-NE zzkBnP#H!reYIgUkyIR#g{gfqsyE9Ucb&JsQiTT?Ldry3pS?B0lnm^C};r;#F=l>Pd zm#=?lx~l$@t^9}g_ivy7*D<|+|A$#u?SINO*zaWg&%pZeKSNVQW8+7m8vb8RS@-|6 zd;e$P{{%WKu>PXUj{gh?_16DqI8pk?y#Db1`h5FeN^y4o84hKKfL1nOSi(?WWdGqm zgZ>ZI>3>DM`~L{N`p@vE-TjaK>3^J{v)_e4$7Ao>|DQqe`iHy!8TkJG-SeN}MQ6qD z{|uaKga0#3e1Sb~XUB8aY5kCX+<(|t_|f;n)`wSQ$SH31zRf+Y%fn}bhtZnksX?yi z7i-vEeRO|2`kM(K>*V=;) z@=vyY6o2@>XPc?Ejd%9`g))|S9W{GLNsur9$!JWszQK9SK+4={4 z^FKuGZ>_Wbk+`VtO#RknyZPJq#4b1}+ctB}E2EA#U%fLLJjAlwt&?}VGD@FO@NGEQ z(-XGu>VJl&#s3)&%Kj7k&v4M;P5+U8&RF+{{+-*x{`pAFJ9F#)BL2GvS19p5&%f(= z*~o1e2Z}%MZT|T%-HRZS69rUv0BqSlQoNdw5Yw z@wV7L_D~VVe{;gNhi$)h@m{3IW@oK-Pl2|u;1dcxO&l*=YxIAo{bxAnzCShpM)4u@ zsN+Y^3r3$^r;?NN$39ufcja9Vwon%>&rbfzw3`xN)fxUX%u4J3sQk#h?aQ?bUwG?- zHf+vm+rE9*ERA!19vVI3>$g^^AJV_M_*?(q#ar*cIp1u@bL~%fxp7{l&RVsZ;)TCI zo!@@CNBB>Wf#iD!+2e25|4yv&`@7RVLpJ*H^&{T|PM3FAb93C;V^!PZ^3!ai5S!CG zowtqq+|m`q4*XlO|G{1RAL{3}epq}k{QkD{N2ATQUfmO$kyB%xZInAnS9fk)^fn$N z-ph+RcCep}Jur1j@|pb)X8mXQkk5L(_3K;h$K`JyT>E@JUFpv43M)46j+&!S?YArs zN}ixyl>11hw{f3a(8c+$%`_G@sW!24bTF-2ae$$Kfq8)lqblKs?&E*l?jQa$9N#bU zpW(qQd!aq-AC9~1|0uV!{%`-cTx;)b(>}e+*N)sc&0mir^hxc+#n!pOtwF~dd>QIz zm)5UMZ`l9D?PC4wL%07kxa!u=$p2&g{oCjN42x7BzyG7Q)&HOS`Y%5|gzot^kN1*p z-o!=IthGx@3Y@h$t_V0j5vWkO!0ziR62LD0QTf2H_#^k*tNt?_&dr&+=_B9V(q%EC zl1kb;qQn)d-WJC{)%LV?R5nicJ$Z-k?a}wTv~_LOTa&eX zx2jLx`Lp3bukz%}tpT2YRxtm5^`D`sqyAv=e}=UEH_H$H>Tll1@LDX+{ztpk-o1OQ zYMN^8{URkde~5l`*8NzW-j#LxRDYa&m!D_)`u5D_ zSMr$6Z>{Hy%=4V^;S;mbo@PtwD|7NB|4#hdw*NuPe}=91-?~4t*3EwOZF2dC%Lmzo z&eyLx{Pg~Lx%#WOZkz~wEQ|}@_?rA%4-~hwv{|wDh^-q@9B>ZRC z5I6Zh!{T+>zctoB`TUP}&)>QB8TO6)1^#Kp{mJ>D-ccjZw|IGGX13b)rFUPxwsto? zSlV&ts6^4i#)O^6+^VjBZFi7A(f&uK^EYeu^;`4i{;sGo-SGKs^0sd8k4cC2+tfwp zY~EL3wK7cXllh0Y?L9*7pO61$ue&WT^q(PN{VjgK9}ho#t-Hw(oVhwP@2S!i9TkO> z%o}*OHU@k=*}Ta$xGiSoe+GYj!5`%gAL|;cANq^lbX=J^Yl=|R-CHroHXXJxTIs1g z$(%J(){|$6faAgSk1zk@68_J?_PpZ0=k=}nUG*DECT3OH99^EzdC&Lh-P^*aRi~a= zyD8&8!)}=~lQbUKv^Cf-iNDGGk4yQtX5H;L(XH3^@l?#a@oJOXvgb~FOSfOuO;OhA z&pEsE&?lP{+mGCMcs_sYyLWGMbmx8g71Acrm|iKNwL;cYy}@qlzu}x^q#NySN>z_rw z_-Jucr?Y6k%5_)Ih!&qiYNvOz1@!(2{K0)-p5c$hk8|}OUT-k@xiz;qdRO1MQA!>Wo7PSKE%xu^KY_pV-pH!&zNG83YwD?z`2jnV zO|LXO5So`Q+Hccw)$wI~VxTMD<6uB1AlCoC`0pQbw~1J`*0hDoGIwp=9GSK4j z-`s55Bk9^Y6Bb*|Pg9r}-N0aAv6S%MIDrN?ep9F8o|m?q{m*c7+r{XgYj^%x5_0F> za)y-Ovo4?-09HIX`{7%rV=vd|tjT>i^IVimXK3g51V+>KghLJ#dLUd+w=G3WPF%eKQ(CQZsw*6#qeU*S9iz2xz3m6pMPA(_B2N3o}-(3*L!2xuWM8G8orKs`)AJNmktt9y)SzGZLZIJ zJx{Uil%$@Xir}$^&Bihe>_MIn7_^IH_i^y?*7?^Tblj7_HYy`ZzU56?#@kZOJe8eX zh5O$;vhAu3Hxllf$$V+Q{YU@)%z}N6o#(R-o(=N8>vz3qQcvhF?US)LZvks;sqpW%yP=Kdd|{Qnum=6fbpD?GpMjV8!|i`n|K#_MhQFi2a{f`41QD zdH26ax?KN3Oa7nUex4PJ|Ea@$;P{_GNOj78h6}a+f7sOD<^M6^Kb-$dV$1zMTC}??!w!GU{xdA>_WjRrU`73pU4M)g_5YZ^=l;LeFaH@nXtMwDm=^q>!SSp82Z{MR z_oF(t9~64`Q35aUKZEf1+5Z_X?3@3ORpCEFr_ibT7k114F$;e;M|12&jIezD;Z&FX zqq@)azr-*9XE?A#{-aW)|6lei{}~P>)jj*qfbLd%w6Ls`40QkFe=q+(gVV42A0o~F zRJ=9+Gc5Qu{|Ar%o%?8xbw>-!^@p`IMq_?7=84GjFHeKYk#qJBl`hwR&;#dM4LrH_ zkNg(-!wz-%LYd8wV(0bJjei%~i89%o7s*t9UCj^Qj}H&YkfJag!LcwfdlrSqrm zh4^ck+3(>>klUeBzW$y(|0}tqb-wj^75tChR9sg2clDdyxx(2ki>ueAEP6L@mZ|El zi+8iL_doj2AXB40ojtw&X5IB$ZUMnPYtz%7thst`<*=ssaGVXP)yHICUkL{RLVw-lvsOxg>dSYsR$Z*}Jy7{ezRV)AA4q%_~W8RZh z+f6~UBDMa{V}B&bKm48l`diiCtdG$T4E{6NTz?||_R`b$HJ0=4=lo~5CHm+7m!1C^ zCRfj>zoY-x*5_ZxFOB~UC+i#jGwj&^D{bKiRgu8>N0tB1z}H40k3EsemUpZ>ZB%J5 zS0ZW4d;Z^K@Ay6UM0e?|GLCQj&#+lL_s7G9+ZXQm&u}R-`+M}kPjgrJ)~}U!c>hzy z(EgjC{aQVqyR-iB@5A@M z{ru0cMf>aLqx%d0P5sIKyXZf|@$c>X-+unjkP-g5{?hY*zV8zMGZgIq^40j4@{7g) z8C3r<|9kYG;pMFMgC>El^_|au8-O}jqWd5A^S_eQyq>#7SI=1II-iKf7xh^O)?ZkE zGyIU1`QiE8_v3hFeWscWs|Dr4B zOCPTZ+0?VEV#d0x{<|$zr}914@Bd(#e=GQ#@BSZ#4`cO@gsGqRyj*&k|G^1~vo*Hy zE8^My*|~qb^gZfF@JFXa6{~Y~r_NupovFaTUi9bpkH!af%|E#yK}i>{(SX8tw+FBFfD_`~^k_LupxKb!-99Q~Lc^`D_7{h*aklcZi#{*GNU z9)CAG**y6K>xMgXSS^zFEq{2QweG-u;jJ@jm>=ebAC;56^6rLX=8CNBY}M6gj<5*n zq!;j1$iF(in(ME%#)tWaM*|kem1+i+Ze1=lRhiQ_?&MM1$yJ)(Q_VN0KfAfTE3!^( zZR$Z$-L=a7==s)t>OTxWatHn>e)Kf3a=C@{ zWi`v>1Sv~_IjON8$~#^ZIEp^|`tw`z^zeg^)LV`^9$O;aGx@H`o6Dble&5+`u(12^ zVbQipQ`Dv`x^~vIepu$E#01NdtNmCNBN9B>*F&Pp5HcSouBphT{k|T(pbOrKSOGM zQ=I&dryuz~yMAo_a!tyte_2e{_Dj*MpL@)nimXX()<}wxnQFs)EVJM_|D)oVQk~sw zlUD}bjJ;X4?VESmZ~l(rH)i3Dt7jzLUFaKoGxpDkJ!qbUwW5aenIUS$ZGq`cA!m zQkpvBdFSCnyIU5XS$|qJQ$Msk{WF)wqCKDY;43k|``=vs&pWO2E2vbd%>M3v$o_DA z>;28)f2N%keqH#VVaccK@A_M+xc)Ol*)`t(*Y2owql%YL45t*2@2O`{Q=$t8TjY z57UQY+>2i3O_bd$vs3!>7t3|G9XD+IJL?~tedqfF{(=>)hI#z=Iy4X0C0su+t^AVr z`ok;kOgfVuDe=|5T5W&Unft$XPdTi0YoGG8(CTB-$K>t1;=jH8@hmz|;cWWMy%~u= z7yEBnzGeCI{5E^z_x~Ag?S2s7YMR+^6!T+j)=hFUx+e^)K&{Ot;{)<_y^Yh!b-j2_Z+S9#@Bcze@CR|E&a&XFa}7zkT`kc~{ft zJ&k(&=F)kaPpNlLPddeaN}RiiHKl_2LHglX<8NDk^s0A!xw`wq_QSuc|0YDtORCrA z7vbR#2~AUwY2LtgLPdV|`Hm9)AGyts_HU2=&yf0`;ZXj!{o5*6eyiX7pCPkyUis{~ z^Wx6Wt}A={++zLW+H^8`LF3AeJn`gBgWPNwLoW2}cZT-&Gqr~bqD)_-alRW7q~ufAG0 zM>ki9v*hJ5A2v>L{_SO=&B9aFU(}U-3_qH^zS(~3e}>*Y`RPkM#17 zpY>9tyP7Ozcdjq`q5XmX;rxT~y;1r{{5#}@Y)mT`-HcP2Rk3kTr23ADeK+Dl>~#d) zJSt=7ta^KU@|^4Ee;seGk^Z>)+q#c+)9W9dwLbjI_ubl6v97CQPD)4Z`uXnS+hUcB zLk@L8^6cBP&z|2{R;M)Nq6zSKYg~2&M!M&=id5o>6}Ne z9;`HN`n4)}OP0p|+RqxRV^2@Jb7$4}`}cN!+PAo(l-H^Hn`_T`WslH`&^w+7zDYjX z@BN?Q!9086J)X(!ha#mcxux!ApLdCZTwB~V|?o$^+)+K{*UH*UH9pGf5@tJ3vaoRlj_WS zLK_u}%&i#;7OOmXP#8bGLV8ZE+O=-<5l$ZYas{?>YNJL5k=7ftR)J@<{(dS+d}*`0@1cmK>MdPf+v zOgiOfu-}(tw_I2LAoR-oZTpWKKFaTsVw-nup76z|yK?Qlo8P>w*RoUWa*FL#*}<&4 zokLtgcfP_8;Ya(qU&?Ph$EaYaAY@P&wyYBc9yJlbZ-f1h9@5eeVw+p(x zP-m0DfrK?ji$Ap~?d)%em$4K1QU0jCuSRio%)OU(ydTeQnN?$c+2hmQsGK|7E_)p= zPSG~2dZSXjML0fEr;hpc&H7&_eLq)c?l`qID^xWyS*^?7?Ob|hQEmDIS?O;Je)K;2 zu}AQ?YmMoK*#~DWHW6B5w(WwfZH(-s=##=T#gmgQb#9#F%l|OX7a`U9M@e zRSun0efuiI8;?i+Gd(TtZrLc)H{amL<$vPreKv;cUTvz;zP@!XyZ64`lPVsx{j0dM zP{sYZNgneFVTO&bzpQWis4m$sO_*CwX=(WEc~!fvtO|efG%W6|$yB@C#54DAJ@K@j zU;OZ%u&hj&R*ZevbbS?*kgP-P_Qt!vuQGd8^wKV5-+AkN=U4Y{e1E9kwTJU}{Ey;; z{~1KTxNV;G=-j&pQTLQKRGi)OFh27R$DMY$M?2>C+HWbF{+RtgL#t{2!?VU-AJTeP zDMfE>-SO|jZ`I9Pay#dKn?AL!%pxd)XPfa{{~OOAoqc-!ZTNzU+mGct=eca#w!7i} zYx5-?7jB>3$a9^)HRxU0x(DXwGV^MfAD-{1kzG(zeQA&XV~=aEUAA5edh~=Puuh`Fo&pnX5w<7S7mWf3&@ARjpwR5$8%(^&vzV@VL58J)xF4=o~+ub#DcQ3v@ zo&Va}BQtvHvb}GGE^b?@v7%UG*PO4npZM;tI;mQ{weEcUghIz|X0gT|+b;(n zVfWm(e`9OF?X_p7=gS-nbvwH};hcrK`d<5QtsnYUesq5%`=6n&G`{DTR)x^lBNttE z&EB)&c0!uOmLHAxwR-+6o@TR=$7AV_yC2yfhVB0yP$T*Ad2{J$O%rMFTs=+MbxOQx z)4sc&y4!nyN2a7FLs&o<99nCRNL1!Txfuv$e~` zX2qv&{y3-i>?4h^0|(u2CB9zy$!YD+y|W5?vo_c7Sy}S$)TGRPEBQWNf2+uT*#B1B z`-kQYHHM3B|0sB!bUUao+GSey^&K;$r&UU;I;1BG^-pC8Y_eEW-&ZfAW1sS$p>Nmp z!}d*fl9zN%Zfhp*xMFuPPkq|kcNg>I^i9vbc<3@Q$i#>Bpv`m9Pv?)W7s#-h{BDXD!3GBsKblA{59W9pYOd|KsASSq-`bZ;EpPo=H|=TI z?Z10!*dO+{|7X}zwsLue(=}^p=@Yu|!|tha%H$i>JQOKdutB%+zvZ?67lP~GhE>rVYko2|bWKa^|Qf31H(`JYJ=^M7;9 z|2KO{{nUCt|DW0h{~5mV%m1|u`DO0-V!!|ExX$!{3&Q8VuoZv#H~XT_e}*eu|8Cg# zoc~YY9{Q5in--Y$h{xd8+|7Z4{!~Y)EzkHSc#r>lDKkq;6e~$ zKZEf3ZwcCO%6*n-H16GlP9@VO^&a8xGs6}gU?+Nd%hV>mB_jhl)H6Pd1mzfJ2mzlH|z4d zPiZ|Y@^mv@zVyj0Pup9Y^8WT${$2b>{Nwyb+xwUA-Et`<*6P0C?PFFNf!q76AMMfh z{yX2!F!NTA__fg%Z<)@@MYzs{YULpjxl}xustCu^l`-Mt^L1j9SFCzQ4-- z&(M(fYu?@8uCX;?KOQf9@ym66^SN0iC%%dK$o^rR-1s(L#r?PCpOnsPE|*k!mI%}y ze+XKF#C!F(`+tTDN%p@#%zx;P=AQf`e;f~19y5ygb6B`@s(Z@)%}ch0MQN&TGI+SA zxyPtSra*$nPR``&o4rfjckjM>bnnft{~6l%30GWy?EmI(;e+$i5hhm0T4rvUxl@Pp zbY0Vam9M>8?_I8{U&^1bWP@cGOTvGKIpNp1f0x%?>gt*JI%8oQpQ7Vm?PvUA6|18@ zZtuve34A2UvVD50PoIc}YKX#v!i%mIcDjY(e9v~|XrH?49yjaBlvQrpv$P-PPxHSQ zrEmJ8dYKA|gin=t`A3lEzl%MeJAHXHY zk1Y?@zqw#ulY5bU?{Uze?XEihm{pVGU%Owh{^!Z#|F^~eKZEZj`&0XutN)ogqy9I0 z|Gzn_YDJL;NzRujHf((nHphvzK1cpoI=KsNh|Pj+iL)M?hN_v#ZN24vAzXjO@d>9L z-TBgo!GGUxubZDv zAS0gB(pa?r$mhQ^xHM3g(on*;{roN7=|6+4iK@(#JO3G8nr!{O_n~&t!t4+GzxlPF z|GU7(UVP=Q{|uKRSAV~LIE+=aV*S^}FJ%8SsI;m7JEZ=fVcARhr}393|MNOy|F`-0 ze+Iu$+iX`Sf%J9S`?mdO2-)9TBo*T-5T4F)h@loba&?KeL*#vqQ_m*dcb_~z>aMNU zl#M^T!aptGH@c?d-S%jo(cdNe)6ZHzj&Bq8nUufre&o(+*B<9RSaX=CZ>OaDV~ZyO z{1yj)Kl^mKKgOk`eeda()Z0pByUpv(IDg>v`Wx1d{%)T5?XPNsP2IPGdVQshPycrQ(>YRb zeOBV}C7b^+<^hC-?t2TX%JPOZcw3sp5YWAOGI6 z|B=@Y>3_9X{xclxv42!lar<9g@PCGb8Gj=GGqjofSpA>DKC1lhpV|KzdM^HF;K}?L z{;zJ!``-m-tlFMoIOKb6&u z`=8(S|08kupE}%QN9Ut@ME=9E`J(mDU;9D*`F9!2ArMD(YCXvR`91hQ1DnBrhR&0Z z^MC&I|Ifg>_+$D%iOY}H|M{DF|NE!>f5z^A43{5`|M~0k{`XJr|4G}QxgX*PuzN;> zXEb<5Q_sg)1Dv@o_20PsXyJc`>3hv#1;%u6fl>9t)m^&Y%N|!gjqCrW{bRlQ-QAb% z-@m#4Cuz%rzpelD{R*bv3ix%}{y&5A^*49yL_(FHu4_Ag*pcIB#(xG}<;H{cH@m+% z&3@>&rzZ2!>mBP$9ePDL^Q2F;SR6J;<2rLBweAIj@O7KI2`_dPIY*a*~;^QOSXBc zZ1dC=il3c(ceB$enZ)cR9SK*ZEB0*Vz4K+Q#4*;|iJ#bMy?|58-0#tnMGYFK1t!$o zpPS~J(l$$(g2w=&W`Q*x%KnHp7+Q;=A{~1~>KXm_Vjg|k;z>xc&;YXMKL%$lO{|pPm z-TyNjkgory)L?tB>qGyK;Q1W;UxZ%#&+vim{(pv!#s5T}AJYFNT2lXqar=LUM;gp` zUyK?z8g`=zWi(femMEje=SZk4?Ehc=_lelSBhuCFoG)2%`p|xU8}0hX{nGajFMTN$ zqgz;7T5wRg%S2|g@J|Lybp|GnwHtm^P0ezfs#EI;6h7fAjLUTZDRBoo+>*LB7te=vUJow_Y*% z_EN=i#^gR?2v#so$*K)vBx0bE7sc z7q{H4dUf`f@UDvNZ&Uux`IEVFUFU=M@;~y!_7-o=ee*Ti@~O%Y*-;^)_#Dhr{|4_gmz*KYu&>rMB{_%@1Ac5ZFkJsZ^ZLhS)r-!c598zna{IC zH%92Et-Ms&vovU{lwr`U*LjO;Nk#R~TLvp7FP6(SFna3=fyrKUie{CHwx*s+aPAvig5y-v6P||5xh!zqnoQ z{~4s#FZ|EYVK}G${2Tp$Vh{HJT=3EUkyh&b&#wjlGqlWD|1YR+N?<%_Bl~60AsW9- z-~ZWL(*MuYz41RoZu~9ve^TlP?lb(e105RO!v9bB{9F4C_v;V2XRfM0p?7iJvcG57 z$bUU+S1J7dN!~42p%2kE-%7QDr*eLBE6$SGqx1AM$Ii1WoVG00i#U36#j-c^8s$Yd z^;I}6$#$L>*i?KtNl`BIq?_ickSU>0F8OX*cWwDgSCPQ@De{Y3MFJh<|6fDS;(L}K ziBq~_)Y=Vi)jxKG*{aI! zd^!JlTtDKRH5^N<<=h{?zs3B({LtJaeg2xjkJ}m_u64?AJyLdS-O}uI<3ndoY|<${ z(G#%AsEwIrrQ`|I2lXO#R`myM_nB6B{^9%>{)oMC>sckwg*&pN=N26}ma=_{Yj%E4h4jeO5ZL z@m$}+L%TH+jF<)I2*;<@AC{~;zW|EUu(RsNw zF3V3auxRhj=a8mK@?lT4!HM2EW zcg~Htlr6O0cWKb2xod7;I%~FM*RpHJ_2gN**Um}{dEqo?m3n*GtUU3+y;ryH%Cy+m ztG@H_e}=KST3f`~M96*DplrZC(7M-+jwR{`S0w`!BzL*!S$#vsK@DA+BH5O`P=Ixe*_&4*zjT5=HlGq z+{F<`O^jWWjgPAosVGjo*pQm4(8S1Y`i1{Z>VF2c+7FBW9eKp4T^(u&`wx_TU5 z?v`Xpk>8~KIsPA)>wg9l;eV&)Tlar^wcqPQv-aU+i^<&1;;a_2+r>9O?VjYnD_48n zsuw@}g^Rg<#B>Ws^O{TERJrzg=8C&znYQxoE7K3m|KRhVq3LrL_v8Dw@?O1vbie1B z^g2`BI``_7q@v_)8^b;+waD-4k!N1W-1zFA(SL@fs((lJSzf&FdbLh6L#*R4Q>@uV zlb=_Y8TS$-SN))qbR(`NyGV7v9$Ys5BiOk$NR-4Ss8_X8`^sN>BaQq+V^92>}yz9I7Z#O;t$MfUeN1aQy z?U~p&aq0WR($U%`iGnV_m(DT!WX`~8+5V3!b8*D0{T~+YyV3Z)Cg#K4ohSY?Oe?Nk zT=7eG(SHBzuXQ>fLYdwEX z!F{HOub)?(*)MlDM^FCdZ>iw#i}@;cdcC|qf9mSsXZttzP2BkLei!I+6Z?(&JzJ(- zEX{BIC)cDVU4G-Hd$PeV-wdS*^0ik#bzZPjsXu6Ar&qy!c%RHi*Y90+LKXiR;uiicbYqkBzruL)x!~KWm%GnFn1b*b3 z{cx{c=Cpg(Ys212Tg0V>mG-90z34sFEn&fvR&@!s-Bo{%{AXyIm$A#f)1GZlBxVmVFxk&fee5{$}OF_{M#9KMp>S-W%=wyL`Uc{72lDy0hP!Ul-ThxU^!< zL)Czrj-Q#>+&F(d|0i)8Y*OHZ_kRR4|1i?0ff8+bVPWR^hA6%D%=EQ!Vl5sqE z<ZuTxw$9-nC)nu_bS6N^_=nzDj=i%qYZmiL!-mR`j$yp=tBB zJkGoIo&QJ9{Ttu^b?tB7|DhUW*f0Bso9mPB|I+%$_n+b5yZQeaj)OLj8vX6Be=()P z`ac6pRQ-PjiN%=i+T;J@;Qm+I{~0vpw*N`J|CRqg!&Ls*5Bx{&x7`=rQfcG-VfPWM z{LYdeY1x^2C98MjD|${1y=69uy_8S%YS-im5;6%re`J6A{bxAkQlI+%_uTzoE{cK< z95VP4D}Q*F{c(Q&in2@6ymp5lJ@3q2yLRp3h=pwu)2=G_SzKUsab*k*VPIh337h`b z`agrF;NR){-`C@Ma#9o%R+r~a70@FRr(LtRLRBKU`I@aigUA^y2Sx_xgX4T`hd{o`BSi*kJE`<-q0{ zPh|3rJNSRH-8bbv$B!MaS-14Y*7UmZ$#NX~Q>svJ_@mE?p}d5MV=zE_jj*>|!ql5> z!pkd*)!RxRcK^<4Iy~WF)ssFW`>6b`J)xDV4?b*fZJ$}I&-ZwV^M1R1%eP-kMtWtqi3h1RMd%@aGc#Gra4oe|Io`sp!x3{~0Ws|1<2e{LiqP zwQfrIYdP)uGu!_i%&dQV{JEUWe}*&le_KNSGu-w+TmM5-{Lcmd-#T?-{~2zt`m3?t z^vC26%@6M%z5j;)M?_WmxAs5EQfJq9n4G`wD?V|>&Ai_>{~30c+}~VX)4$8?{F&v< za#Q1N=Y7=W3G;0@y>j_^=Uc_**>;th+S#?+cf}juK4m0zqvpC~-|U#JwR6{2uZ!67 ze(7GF`zL;`|9192!(_W3>;E$(mF@n|ue`D^#`j`8->~rq_G=AUp zpW&N&_Wob_^ZIX`{^#@iq5I#?TjKv_KL9nqXG#Biw*R}}qx!S4{~3z@GyI-_w?f@- z`k&#!lK9V#_HQ=+i2l!zxB3gXrH?B1wV!$ala+`5Gu-~q@GCFdZn{@-c#BL5lQu9e^N{?8KkZ*l(_cHaKa;42vTpMmA>e}-A#|1+fa zAGQCT?T()P|HgOyXPDeLqyC1T_J4-Zul~<@%>PWR(ErVGxc*hH@s~wi8tb1j|FQvj z<^KglM%QlpSl+_6O+4h%?GslLo>{U>Z@eJkK~1EtS1h5q-EL>es`f_$?XL&#&L# zer>PN?5*Yb2k!Qy@6%wO{$YJ<&L88nQ2yD)>PDxkHhz)2dX+%#1QidUbb*>fKYo57 z|F-!*18;Ng@4&j#+wJ)NGfcF!(Jjn>H2sSG3q{q}C#53Y|1-oiZJhr5!E$H!KY85$ zRy_X~Bl?%~$Q{$Ra~p2(xJk=9$xP8a6gbx}Qq%3bZ{&A-krTzgeumcMa{aKn^lYuA zx6d2m4?3)jvHLul}DwVEMmg5%GVd|1;d0@A;oWQ2O5j zL-`;2|2V%ae>)r0w*46Y@5tNo{|vsLFaDOSKRLff<3GbjYp4GVmuo~nE~?P5!b3Z?A|sf4nk?2|u)q1A z;egfgL-QN%asG&Xq^USN;KRMfWiP{xqK!@TP3NvD@VK~nm7&uKuW6ww$qI7X*B<5U z=bcutr0D+IORK{|f4=pLxz@k=>F$fs!DmkxZvFVjU8nr&s^DcSKHV#Px@YJ6)YUJl zo{9vg!@`$pys+TGp-c{asRbzFyQm!=JIji@)jCwAsrlCLg?~bGarkU2To3 z*?P5kn_0s@O}xKm;l}OHZf{q%lwVe1Ju`8`9PifkJu6lo`s5dMv)C=r_ol7h)h~AJ zM|t>^g(p1HOiXxgt+r@;*`%`YZQI;0#S7ON)ad*$Tp%w}6Y-I^y?u=(x9*>p9Az?Z zdklHr{yW7~yZTZ6kLvI@BKb9~ALlH)V?QmQZTiaE8D@q3=5KDizQ25*cKk!}Kf;$E zuIpaU-*taW?Vb6e`xIglpIcL?eA)qPWiOd@s{0BtFUReGB3`$ zrJNRg${;6RKh1D^n%Udq634VJt@dv!`u?@5YoDHX<)Olb{J#tRrbeDDo3eLyZ9*Sc z@uNFg-!7CCTztuSEOhyQhJ1@FOC|QbvUyoD*+)UEyFVA@NZ>q3vzRO(0sy1fVbB8Ysr$1(hBH2fsoS41xN!Jb%k|CASDR{HF6;Kb>FUK-b2_}z z{pMS}v_gCC`Ui{lZ|pzDn_6T3P+sU(Y~H)ms8Vi1zDdIv?t#T*l7Cn{)Zs_ zp9|)Hi`b+4pJ99GH~XXaZ~lHT|M*(bFZ?}r5|{rt=A8|3lsW*j@fd;te*YAAUb#|JHw~pR;1S&&Q}tso$P<3zvH?GoHGA(=V~m!lzY>@ zxG&?Q&!(48e{>lf(dyImn^aKvebL`n#Z&g)HJy@Ww(Fp7_#4pp(b@F(ilBpt(J^?S z3+k~yV2}L@j2HNK*Ph{@!Jn!R^-cB<-R``&c2D6$d{4=Jk;8v?edkP9|5j2iom{`! zU8Q%Ir?8e;s(IqUWA(ltiVY4YR!rxP7Y}seJZb6evYu15{MK7}=0|N@`;--r1RZuf zR~FWF_m=0&Pwuy`U@hBX>pybUze;WW&v0=6-<4;POSWHu;F=m%3c|})k@_Q={~1JK)Vb+>{(ZmJzt>W@-eIFU1|RgRkv^M z|Lta7dvW=#WYD;0eyjC|*+oyD%jbt*u2}kLUB1k9$%a$KTJuBZ^%<--_3}JqIDgly z?x3sIYr~$O|55qyTEwR}dgew4oL?JW^(uMr%5~*V_j{RJuJuN~_{OENXg{NUI;eAJ V|NkPQ{sq;?Lk<7GG{oJ169DY_qj>-T literal 0 HcmV?d00001 From ab9267b0715f6af95515d1b65a3e955759a27631 Mon Sep 17 00:00:00 2001 From: lorol Date: Wed, 11 Mar 2020 23:49:21 -0400 Subject: [PATCH 03/47] Update README.md --- examples/SmartSwitch/README.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/examples/SmartSwitch/README.md b/examples/SmartSwitch/README.md index 1801e99..371de48 100644 --- a/examples/SmartSwitch/README.md +++ b/examples/SmartSwitch/README.md @@ -1,13 +1,13 @@ ![](SCREENSHOT.PNG) -SmartSwitch application -Based on ESP_AsyncFSBrowser -Temperature Control for heater with schedule for car block heater or battery charger -Wide browser compatibility, no extra server-side needed. -HTTP server and WebSocket, single port -Standalone, no JS dependencies for the browser from Internet (I hope) -Based on ESP_AsyncFSBrowser -Real Time (NTP) w/ Time Zones -Memorized settings to EEPROM -Multiple clients can be connected at same time, they see each other requests -Use latest ESP8266 core lib (from github) \ No newline at end of file +* SmartSwitch application +* Based on ESP_AsyncFSBrowser +* Temperature Control for heater with schedule for car block heater or battery charger +* Wide browser compatibility, no extra server-side needed. +* HTTP server and WebSocket, single port +* Standalone, no JS dependencies for the browser from Internet (I hope) +* Based on ESP_AsyncFSBrowser +* Real Time (NTP) w/ Time Zones +* Memorized settings to EEPROM +* Multiple clients can be connected at same time, they see each other requests +* Use latest ESP8266 core lib (from github) From 3860983960af2577c739070c8f7ef8357c2a4071 Mon Sep 17 00:00:00 2001 From: lorol Date: Wed, 11 Mar 2020 23:50:27 -0400 Subject: [PATCH 04/47] --- examples/SmartSwitch/SCREENSHOT.PNG | Bin 123256 -> 51029 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/examples/SmartSwitch/SCREENSHOT.PNG b/examples/SmartSwitch/SCREENSHOT.PNG index e9d0ddd5c4016011fb795078b89cfbdc9db75407..9f18ba0887315e5448fc5b8f916a800bdd2c5ad2 100644 GIT binary patch literal 51029 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 literal 123256 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

>KwfGbJ?@9ej_|NcQTe&&!Z@(W! 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

2Um*bjfI@IEZAoBMap^unLKh0>K9xtk{l! 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 V|NkPQ{sq;?Lk<7GG{oJ169DY_qj>-T From 7d648b45a2a3c3bf347320065fa39f0acd7a1d44 Mon Sep 17 00:00:00 2001 From: lorol Date: Thu, 12 Mar 2020 07:46:16 -0400 Subject: [PATCH 05/47] Added notes and screenshots to README.md ESPAsyncWiFiManager (alanswx port) tested Tested choices of ESPAsyncDNSServer and standard DNSServer --- examples/SmartSwitch/AWIFIMAN.JPG | Bin 0 -> 30179 bytes examples/SmartSwitch/README.md | 6 +++--- examples/SmartSwitch/SCREENSHOT.PNG | Bin 51029 -> 51457 bytes examples/SmartSwitch/SmartSwitch.ino | 6 +++++- 4 files changed, 8 insertions(+), 4 deletions(-) create mode 100644 examples/SmartSwitch/AWIFIMAN.JPG diff --git a/examples/SmartSwitch/AWIFIMAN.JPG b/examples/SmartSwitch/AWIFIMAN.JPG new file mode 100644 index 0000000000000000000000000000000000000000..46f38f49869d5ab39ef65b205dbd77549718cfbd GIT binary patch literal 30179 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 qya0Wf5}1EiULcht$(3 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 literal 51029 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 diff --git a/examples/SmartSwitch/SmartSwitch.ino b/examples/SmartSwitch/SmartSwitch.ino index 22d9998..e7927a1 100644 --- a/examples/SmartSwitch/SmartSwitch.ino +++ b/examples/SmartSwitch/SmartSwitch.ino @@ -60,7 +60,11 @@ AsyncWebServer server(80); //single port - easy for forwarding AsyncWebSocket ws("/ws"); #ifdef USE_WFM - DNSServer dns; + #ifdef USE_EADNS + AsyncDNSServer dns; + #else + DNSServer dns; + #endif #else const char* ssid = "MYSSD"; const char* password = "MYPASSWD"; From cda9ae65c8ed6bf97ef7d4a1705b047dc6702c8f Mon Sep 17 00:00:00 2001 From: lorol Date: Thu, 12 Mar 2020 10:32:06 -0400 Subject: [PATCH 06/47] Added an authentication define to SmartSwitch.ino to be able to activate on all static pages. Same credentials as the /edit --- examples/SmartSwitch/README.md | 8 ++++---- examples/SmartSwitch/SmartSwitch.ino | 10 +++++++--- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/examples/SmartSwitch/README.md b/examples/SmartSwitch/README.md index fc0bdfa..1a9c83e 100644 --- a/examples/SmartSwitch/README.md +++ b/examples/SmartSwitch/README.md @@ -1,11 +1,11 @@ -![](SCREENSHOT.PNG) ![](AWIFIMAN.JPG) +![](AWIFIMAN.JPG) ![](SCREENSHOT.PNG) ## SmartSwitch -* Based on ESP_AsyncFSBrowser -* Temperature Control for heater with schedule for car block heater or battery charger +* Remote Temperature Control application with schedule (example car block heater or battery charger) +* Based on the ESP_AsyncFSBrowser example * Wide browser compatibility, no extra server-side needed. * HTTP server and WebSocket, single port -* Standalone, no JS dependencies for the browser from Internet (I hope) +* Standalone, no JS dependencies for the browser from Internet (I hope), ace editor included * Added ESPAsyncWiFiManager * Real Time (NTP) w/ Time Zones * Memorized settings to EEPROM diff --git a/examples/SmartSwitch/SmartSwitch.ino b/examples/SmartSwitch/SmartSwitch.ino index e7927a1..a1d2c95 100644 --- a/examples/SmartSwitch/SmartSwitch.ino +++ b/examples/SmartSwitch/SmartSwitch.ino @@ -13,7 +13,8 @@ Multiple clients can be connected at same time, they see each other requests Use latest ESP core lib (from github) */ -#define USE_WFM // to use ESPAsyncWiFiManager +#define USE_WFM // to use ESPAsyncWiFiManager +#define USE_AUTH // .setAuthentication for all static #include #ifdef ESP32 @@ -449,8 +450,11 @@ void setup(){ request->send(200, "text/plain","Erasing WiFi data ..."); }); - server.serveStatic("/", SPIFFS, "/").setDefaultFile("index.htm"); //.setAuthentication(http_username,http_password); //append or remove auth part - +#ifdef USE_AUTH + server.serveStatic("/", SPIFFS, "/").setDefaultFile("index.htm").setAuthentication(http_username,http_password); +#else + server.serveStatic("/", SPIFFS, "/").setDefaultFile("index.htm"); +#endif server.onNotFound([](AsyncWebServerRequest *request){ // nothing known Serial.print(F("NOT_FOUND: ")); From add0f3077395f16d28406aafdfb1cc4096ecec0d Mon Sep 17 00:00:00 2001 From: lorol Date: Thu, 12 Mar 2020 10:48:38 -0400 Subject: [PATCH 07/47] remove file (not needed) --- examples/SmartSwitch/desktop.ini | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 examples/SmartSwitch/desktop.ini diff --git a/examples/SmartSwitch/desktop.ini b/examples/SmartSwitch/desktop.ini deleted file mode 100644 index 00f30c4..0000000 --- a/examples/SmartSwitch/desktop.ini +++ /dev/null @@ -1,2 +0,0 @@ -[LocalizedFileNames] -Command Prompt.lnk=@%SystemRoot%\system32\shell32.dll,-22022 From b541718588b1baf93d94be36d10e0442a52b12c6 Mon Sep 17 00:00:00 2001 From: lorol Date: Thu, 12 Mar 2020 13:04:59 -0400 Subject: [PATCH 08/47] Bugfix --- examples/SmartSwitch/README.md | 7 ++++--- examples/SmartSwitch/SmartSwitch.ino | 16 +++++++++++----- .../SmartSwitch/data/{index2.htm => index.htm} | 10 ++++++---- examples/SmartSwitch/data/index.htm.gz | Bin 3834 -> 0 bytes examples/SmartSwitch/data_src/index.htm | 10 ++++++---- 5 files changed, 27 insertions(+), 16 deletions(-) rename examples/SmartSwitch/data/{index2.htm => index.htm} (98%) delete mode 100644 examples/SmartSwitch/data/index.htm.gz diff --git a/examples/SmartSwitch/README.md b/examples/SmartSwitch/README.md index 1a9c83e..ac61481 100644 --- a/examples/SmartSwitch/README.md +++ b/examples/SmartSwitch/README.md @@ -2,12 +2,13 @@ ## SmartSwitch * Remote Temperature Control application with schedule (example car block heater or battery charger) -* Based on the ESP_AsyncFSBrowser example +* Based on ESP_AsyncFSBrowser example * Wide browser compatibility, no extra server-side needed. * HTTP server and WebSocket, single port * Standalone, no JS dependencies for the browser from Internet (I hope), ace editor included * Added ESPAsyncWiFiManager * Real Time (NTP) w/ Time Zones * Memorized settings to EEPROM -* Multiple clients can be connected at same time, they see each other requests -* Use latest ESP8266 core lib (from github) +* Multiple clients can be connected at same time, they see each other' requests +* Default credentials smart:switch +* Use latest ESP8266 core lib (from Github) diff --git a/examples/SmartSwitch/SmartSwitch.ino b/examples/SmartSwitch/SmartSwitch.ino index a1d2c95..11d17e7 100644 --- a/examples/SmartSwitch/SmartSwitch.ino +++ b/examples/SmartSwitch/SmartSwitch.ino @@ -14,6 +14,9 @@ Use latest ESP core lib (from github) */ #define USE_WFM // to use ESPAsyncWiFiManager +//#define DEL_WFM // delete Wifi credentials stored + //(use once then comment and flash again), also HTTP /erase-wifi can do the same live + #define USE_AUTH // .setAuthentication for all static #include @@ -44,7 +47,7 @@ Use latest ESP core lib (from github) #define EECH 104 // fixed eeprom address to keep selected active channel, only for reference here #define EEBEGIN EECH + 1 #define EEMARK 0x5A -#define MEMMAX 1 // 0,1,2... last max index (only 2 channels) +#define MEMMAX 2 // 0,1,2... last max index (only 3 channels) #define EEALL 512 #define HYST 0.5 // C +/- hysteresis @@ -140,8 +143,9 @@ void showTime() Serial.printf("RTC: %02d:%02d\n", tm->tm_hour, tm->tm_min); if (sched == 0) { // automatic - if ((tm->tm_wday > 0)&&(tm->tm_wday < 6)) tmpch = 0; //weekdays - else tmpch = 0; //weekend + if ((tm->tm_wday > 0)&&(tm->tm_wday < 6)) tmpch = 0; //Mon - Fri + else if (tm->tm_wday == 6) tmpch = 1; //Sat + else if (tm->tm_wday == 0) tmpch = 2; //Sun } else { // manual tmpch = sched - 1; //and stays } @@ -372,8 +376,10 @@ void setup(){ //Wifi #ifdef USE_WFM AsyncWiFiManager wifiManager(&server,&dns); - //wifiManager.resetSettings(); - wifiManager.autoConnect("SmartSW"); + #ifdef DEL_WFM + wifiManager.resetSettings(); + #endif + wifiManager.autoConnect(hostName); #else //WiFi.mode(WIFI_AP_STA); // Core SVN 5179 use STA as default interface in mDNS (#7042) //WiFi.softAP(hostName); // Core SVN 5179 use STA as default interface in mDNS (#7042) diff --git a/examples/SmartSwitch/data/index2.htm b/examples/SmartSwitch/data/index.htm similarity index 98% rename from examples/SmartSwitch/data/index2.htm rename to examples/SmartSwitch/data/index.htm index 44c86bf..7c28036 100644 --- a/examples/SmartSwitch/data/index2.htm +++ b/examples/SmartSwitch/data/index.htm @@ -251,12 +251,14 @@
-
"); + return 1; + } + + inputFile = fopen(argv[1], "r"); + + if (inputFile == NULL) + { + printf("%s %s\n", "Unable to open input header:", argv[1]); + return 1; + } + + outputFile = fopen(argv[2], "wb"); + + if (outputFile == NULL) + { + printf("%s %s\n", "Unable to open output file:", argv[2]); + return 1; + } + + // Skip the first 2 lines. + for (i = 0; i < 2; i++) + { + fgets(sBuffer, BUFFER_SIZE, inputFile); + } + + // Get the contents of each line of the array. + while (fgets(sBuffer, BUFFER_SIZE, inputFile)) + { + // Get rid of the new line character. + newline = strchr(sBuffer, '\n'); + if (newline) + { + *newline = 0; + } + + // Skip this line if its the closing "};". + endBracket = strchr(sBuffer, '}'); + if (endBracket) + { + continue; + } + + // Write out each character. + pch = strtok(sBuffer, ","); + while (pch != NULL) + { + // Use atoi() to convert from decimal to a char. + //fprintf(outputFile, "%c", atoi(pch)); // decimal + fprintf(outputFile, "%c", strtol(pch, NULL, 16)); // hex + //printf("%s\n", pch); + pch = strtok(NULL, ","); + } + } + + return 0; +} diff --git a/extras/rehg.exe b/extras/rehg.exe new file mode 100644 index 0000000000000000000000000000000000000000..06cfe4a03486b1d7662578683f05d88c3f6c7a1a GIT binary patch literal 2560 zcmeZ`n!v!!z`(%5z`*eTKLf)K1_*F~P{Ny-eh~v!z|raY zr`z>U^A868R&|JZ%?DUOhUtKe*`W#|Uub~U@<0sBfEmWI(-USGKUe`rr|XYy*B_{c zaexd91{t%%2SmQO%>;58)G%pAXv*$%ozd+&qxlCDe=jK3Uvh&TGo$mML#OME*H5}# z{{-v^U|?Vf=yhEY@M1Z{jMsP3#QP!QAQ!akW?*30!3Eb+1D4|GbY0Nxx&W*IB-ib_ zU?(VEIyiRJ!j%TXl+NjPodZ_N3JS#u|NsBrkq`0%*bT-oRZF^Emw;8dfNTUMnE-H9 z1$4VE33wp_R>l*sqY$LC+x17l3r>j8juMavMCpsCjG$2A=yYB3dc#XKkWC?UCI52ecUI3Az zR}>r=I$a<1x;_c$X8oh+zz`4=*zNit;6*Q3wFoxVce zeEX!n!{HZi|Ns9V@ZvR?1jTgo5st&%sV`pK1dFT(1v037{r}%h*nuHh*n#2Y zVg?3=(C!=+j$RiPo=#T=!vmeJEGY{?Dmz^{c2o$1LXc-i4wx1I$%^#4a-@K?F~lBb z_^-M`0aQl+S6u_8H$dqvPTra|r+#ltTI zRErhBh>Ib#I59odioqr$H8CZ%$WFl~zqF*Fw8V~~hykV|FEJ@6RiPwbA-^CMRHGM^ zmMB1!TQQU;;ZO!KMj`5^s@3=A6;85s5`GBBJ`WMH_g$iVPW zk%8f*BE&dqnUh;wmRwY#my(miz`#&Yl$lqO#=yXk1_~Guot|1!%)r1 z!Hz@#(20xrv#1iACuk`%)`1L5+&|h~$D2x6GW9RFK{AFwxYC9E7l$_Ke IV{m`~092d^^8f$< literal 0 HcmV?d00001 diff --git a/extras/undo.bat b/extras/undo.bat new file mode 100644 index 0000000..3c36e35 --- /dev/null +++ b/extras/undo.bat @@ -0,0 +1,4 @@ +copy ..\src\edit.htm.gz.h edit.htm.gz.h +rehg edit.htm.gz.h edit.htm.gz +"C:\Program Files\7-Zip\7z.exe" e -tgzip edit.htm.gz +pause diff --git a/src/SPIFFSEditor.cpp b/src/SPIFFSEditor.cpp index 35ac233..84ce2d0 100644 --- a/src/SPIFFSEditor.cpp +++ b/src/SPIFFSEditor.cpp @@ -1,376 +1,7 @@ #include "SPIFFSEditor.h" #include -#define edit_htm_gz_len 4398 -const uint8_t edit_htm_gz[] PROGMEM = { -0x1F, 0x8B, 0x08, 0x08, 0xE8, 0xAE, 0x7B, 0x5E, 0x02, 0x00, 0x65, 0x64, -0x69, 0x74, 0x2E, 0x68, 0x74, 0x6D, 0x00, 0xB5, 0x1A, 0x8B, 0x5F, 0x9B, -0x46, 0xF8, 0x5F, 0xA1, 0x6C, 0x73, 0xB0, 0x10, 0x42, 0xAC, 0x75, 0x1D, -0x11, 0x5D, 0xB4, 0xAE, 0xF6, 0xE9, 0x23, 0xB1, 0x9D, 0x75, 0x6E, 0xBF, -0x0B, 0x5C, 0xC2, 0x55, 0xB8, 0x63, 0x70, 0x18, 0x6D, 0x96, 0xFF, 0x7D, -0xDF, 0xDD, 0x01, 0x81, 0x88, 0xEE, 0xF1, 0xDB, 0x6A, 0x95, 0x7B, 0x7E, -0xAF, 0xFB, 0x9E, 0x07, 0x3B, 0x4F, 0x5E, 0x1C, 0x1F, 0x8C, 0x2F, 0x4E, -0x0E, 0xB5, 0x90, 0xC7, 0xD1, 0xEE, 0x8E, 0xF8, 0xAB, 0x45, 0x88, 0xCE, -0x3C, 0x1D, 0x53, 0x1D, 0xFA, 0x18, 0x05, 0xBB, 0x3B, 0x31, 0xE6, 0x08, -0x16, 0xF0, 0xA4, 0x8B, 0x7F, 0xCF, 0xC9, 0x8D, 0xA7, 0x1F, 0x30, 0xCA, -0x31, 0xE5, 0x5D, 0x7E, 0x97, 0x60, 0x5D, 0xF3, 0x55, 0xCF, 0xD3, 0x39, -0xBE, 0xE5, 0x3D, 0x01, 0x62, 0xA0, 0xF9, 0x21, 0x4A, 0x33, 0xCC, 0xBD, -0x9C, 0x4F, 0xBB, 0xCF, 0x01, 0x10, 0x27, 0x3C, 0xC2, 0xBB, 0x87, 0xA3, -0x13, 0xED, 0x30, 0x20, 0x9C, 0xA5, 0x3B, 0x3D, 0x35, 0xB2, 0x93, 0xF1, -0xBB, 0x08, 0x6B, 0x02, 0x50, 0xB1, 0xDF, 0xCF, 0x32, 0x5D, 0x8B, 0x71, -0x40, 0x90, 0xA7, 0x67, 0x7E, 0x8A, 0x05, 0x1D, 0x11, 0x9A, 0xE0, 0x68, -0x31, 0x65, 0x80, 0x32, 0x23, 0x5F, 0xB0, 0xDB, 0xDF, 0x4C, 0x6E, 0x07, -0xB2, 0x3B, 0x45, 0x31, 0x89, 0xEE, 0xDC, 0x0C, 0xD1, 0xAC, 0x9B, 0xE1, -0x94, 0x4C, 0x97, 0xB6, 0x1F, 0x2F, 0xBE, 0x74, 0x09, 0x0D, 0xF0, 0xAD, -0xFB, 0xD4, 0x71, 0x06, 0x09, 0xCB, 0x08, 0x27, 0x8C, 0xBA, 0x68, 0x92, -0xB1, 0x28, 0xE7, 0x78, 0x10, 0xE1, 0x29, 0x77, 0x9F, 0x01, 0x84, 0x09, -0x4B, 0x03, 0x9C, 0xBA, 0xFD, 0xE4, 0x56, 0x83, 0x29, 0x12, 0x68, 0x5F, -0x6D, 0x6D, 0x6D, 0x0D, 0x26, 0xC8, 0xBF, 0x9E, 0xA5, 0x2C, 0xA7, 0x41, -0xD7, 0x67, 0x11, 0x4B, 0xDD, 0xAF, 0x7E, 0x7A, 0x26, 0x7E, 0x06, 0x01, -0xC9, 0x92, 0x08, 0xDD, 0xB9, 0x94, 0x51, 0x0C, 0x7B, 0x6F, 0xBB, 0x59, -0x88, 0x02, 0x36, 0x77, 0x1D, 0xCD, 0xD1, 0xFA, 0x0E, 0x00, 0x49, 0x67, -0x13, 0x64, 0x38, 0x96, 0xF8, 0xB1, 0xB7, 0xCC, 0xC1, 0xDF, 0xA2, 0x57, -0x0D, 0xCF, 0x31, 0x99, 0x85, 0xDC, 0xFD, 0xDE, 0x71, 0x04, 0xFD, 0x5A, -0x1E, 0x2D, 0x22, 0x92, 0xF1, 0xAE, 0x14, 0x8E, 0xC2, 0xC7, 0x59, 0xE2, -0x3A, 0x92, 0x74, 0x78, 0xC4, 0x28, 0x9D, 0x11, 0x0A, 0x8D, 0x04, 0x05, -0x01, 0xA1, 0x33, 0x57, 0x6D, 0x8B, 0xC8, 0xA2, 0xE2, 0x36, 0xC5, 0x11, -0xE2, 0xE4, 0x06, 0x0F, 0x62, 0x42, 0xBB, 0x73, 0x12, 0xF0, 0xD0, 0xDD, -0x76, 0x80, 0x0A, 0x3F, 0x4F, 0x33, 0xE0, 0x29, 0x61, 0x84, 0x72, 0x9C, -0xCA, 0x6D, 0x59, 0x82, 0xE8, 0x42, 0xB1, 0x2A, 0x04, 0x50, 0xF1, 0x49, -0x68, 0x44, 0x28, 0xEE, 0x4E, 0x22, 0xE6, 0x5F, 0x57, 0x98, 0xB6, 0x93, -0xDB, 0x02, 0x97, 0x1B, 0xB2, 0x1B, 0x9C, 0x2E, 0x56, 0xE2, 0x92, 0xBB, -0x1B, 0x93, 0x0D, 0xD0, 0x87, 0x87, 0x87, 0x4B, 0x9B, 0xDF, 0xE4, 0x30, -0x6B, 0xC9, 0x27, 0x70, 0x59, 0x40, 0xAD, 0xB3, 0xB4, 0xC6, 0xB8, 0xDA, -0x42, 0x68, 0x92, 0xF3, 0xC5, 0xFD, 0xA3, 0x64, 0x09, 0xF2, 0x09, 0xBF, -0x73, 0x1D, 0xB9, 0x4C, 0x6A, 0x88, 0xBB, 0xE5, 0x38, 0x9A, 0x10, 0xB8, -0xF6, 0x01, 0xA7, 0x01, 0xA2, 0xC8, 0x1A, 0xA6, 0x04, 0x45, 0xD6, 0x68, -0x25, 0xF2, 0x6E, 0xCC, 0xBE, 0x74, 0x73, 0x68, 0x43, 0x3F, 0xC2, 0x3E, -0x57, 0x12, 0x86, 0x43, 0x98, 0x5C, 0x13, 0x7E, 0x7F, 0xE2, 0xDE, 0x40, -0x4D, 0x56, 0x52, 0x42, 0xA1, 0x3A, 0xBD, 0x3E, 0xC8, 0x46, 0xD2, 0xA1, -0xD8, 0x56, 0x1C, 0x75, 0x27, 0x8C, 0x73, 0x16, 0x4B, 0x7D, 0xAB, 0xB8, -0xD5, 0xA4, 0xCA, 0x3C, 0xBF, 0x77, 0x1C, 0xED, 0xA2, 0xAF, 0x81, 0x1F, -0x80, 0x50, 0x39, 0xF1, 0x51, 0xD4, 0x45, 0x11, 0x99, 0x51, 0x37, 0x26, -0x41, 0x10, 0xE1, 0x9A, 0xCA, 0xBA, 0x79, 0x1A, 0x19, 0x01, 0xE2, 0xC8, -0x25, 0x31, 0x9A, 0xE1, 0x5E, 0x42, 0x67, 0x30, 0x9B, 0xE1, 0xED, 0x2D, -0x8B, 0x7C, 0xD8, 0x3F, 0x3E, 0x9B, 0x3B, 0x6F, 0x5E, 0xCE, 0xD8, 0x10, -0xFE, 0xBD, 0x1F, 0x9D, 0x87, 0x87, 0xE7, 0x33, 0x68, 0xED, 0x8B, 0xEE, -0xF0, 0xF4, 0x60, 0x78, 0x0A, 0x8F, 0x83, 0x7E, 0xE7, 0xF3, 0xF4, 0xF7, -0xA1, 0x18, 0x7E, 0x19, 0xEC, 0x8F, 0xCF, 0x0F, 0x87, 0xC3, 0x37, 0xBD, -0x57, 0xEF, 0xE7, 0x1F, 0xDF, 0x6C, 0x9F, 0x8A, 0xC1, 0xC8, 0x39, 0xFB, -0x10, 0x3A, 0xE7, 0x9B, 0x3F, 0xC4, 0xC1, 0x51, 0x10, 0xFA, 0xF1, 0xF9, -0xF0, 0xF4, 0xE3, 0xD9, 0xCD, 0x45, 0x7C, 0x3E, 0x1B, 0x7D, 0xEC, 0x87, -0x9F, 0x36, 0x3F, 0x8C, 0x3E, 0x7D, 0xFC, 0xE9, 0x1A, 0xFF, 0x7C, 0xF4, -0xFA, 0xD3, 0x78, 0x0E, 0x1B, 0x5E, 0xB0, 0xD1, 0xF9, 0xD9, 0xFE, 0x87, -0xFD, 0xD9, 0xA7, 0x7D, 0xFF, 0xF0, 0x76, 0x12, 0xBD, 0xDF, 0x7F, 0x39, -0x9C, 0x0C, 0x37, 0x7D, 0x8C, 0x67, 0xE3, 0xB3, 0xFD, 0xFC, 0xD5, 0x9B, -0xE3, 0x19, 0x21, 0xE1, 0xE8, 0xD3, 0xFB, 0xB1, 0x7F, 0xF0, 0xEC, 0xED, -0xF9, 0xD1, 0x90, 0x84, 0xEF, 0x5F, 0x9F, 0x39, 0xD7, 0x2F, 0xDF, 0x1C, -0xBC, 0xF0, 0x2F, 0x5E, 0x5F, 0x6C, 0xBF, 0x78, 0xDA, 0xFB, 0xFE, 0xFB, -0x77, 0xC1, 0x31, 0xA1, 0xE3, 0x9B, 0x2F, 0xC3, 0xD9, 0xC1, 0xFC, 0xF9, -0x5D, 0x36, 0x0E, 0x5F, 0xDD, 0xD0, 0xDE, 0x07, 0xF6, 0xF9, 0xD5, 0xDD, -0x3B, 0xF8, 0x3D, 0x39, 0xE9, 0x4C, 0x46, 0xFD, 0xEC, 0xFC, 0xF4, 0xD5, -0x87, 0xCD, 0xEC, 0x87, 0x67, 0xC9, 0xFE, 0x8B, 0x17, 0x37, 0xF1, 0xE4, -0xA4, 0x17, 0x07, 0xD7, 0x53, 0xFE, 0xFC, 0x29, 0x4F, 0x2E, 0x66, 0xF9, -0xA7, 0xDF, 0x9F, 0xBD, 0x0E, 0x7B, 0xC7, 0x18, 0x5D, 0x84, 0x9D, 0xBB, -0x2F, 0x77, 0xCF, 0xC3, 0xF1, 0xD1, 0xCD, 0xFB, 0x08, 0xDD, 0xBE, 0x7F, -0xEF, 0x7F, 0x89, 0x3B, 0x11, 0xFA, 0xE1, 0x78, 0x1C, 0xA1, 0xB4, 0x7F, -0x1E, 0x0C, 0x7B, 0x9D, 0x83, 0xCD, 0xE1, 0x16, 0x4F, 0xCF, 0x0E, 0xE8, -0x8B, 0xA7, 0x9F, 0x47, 0xCF, 0xF7, 0xF7, 0xFB, 0x6C, 0xF2, 0xFB, 0xE6, -0xCB, 0xEB, 0xED, 0x97, 0xE7, 0xDB, 0xA7, 0x93, 0xD3, 0xE1, 0x68, 0x6B, -0xFF, 0x1C, 0x5D, 0x8C, 0x4E, 0x87, 0xD3, 0xAD, 0x49, 0x18, 0xBE, 0x79, -0x33, 0xFE, 0x29, 0x18, 0x7E, 0x49, 0x87, 0xC7, 0xF3, 0xE1, 0xED, 0xE1, -0xF9, 0xF0, 0xA8, 0xF3, 0xE6, 0xF0, 0x9D, 0xD3, 0x1F, 0x5D, 0x3C, 0x9D, -0xBD, 0xDB, 0x9E, 0xEF, 0x67, 0x87, 0xC3, 0xD3, 0x7D, 0x67, 0xF6, 0xBA, -0x13, 0xA3, 0x4F, 0xEC, 0xE0, 0xE9, 0xEC, 0xD5, 0x36, 0x39, 0xB9, 0x40, -0xC3, 0x57, 0xFB, 0xAF, 0x33, 0x72, 0x16, 0x1F, 0x9D, 0x3B, 0xC3, 0xE1, -0xDB, 0x63, 0xFC, 0xD3, 0xC1, 0x53, 0xF4, 0x66, 0xD3, 0xFF, 0x08, 0xF2, -0x3F, 0xFF, 0x19, 0x7F, 0xDF, 0x19, 0xCE, 0x8F, 0x9D, 0xC8, 0xFF, 0x01, -0x8F, 0x8F, 0x2E, 0xC6, 0xF2, 0x74, 0x0E, 0xA3, 0x9F, 0xC6, 0xD7, 0xA3, -0xFC, 0x34, 0x3E, 0x38, 0x30, 0x35, 0xCA, 0xBA, 0x29, 0x4E, 0x30, 0xE2, -0x75, 0x5F, 0x55, 0x19, 0x07, 0xE8, 0xD6, 0x4A, 0x0B, 0x0B, 0x23, 0x15, -0x9E, 0xB5, 0x1B, 0x60, 0x9F, 0xA5, 0x48, 0xAE, 0x81, 0x0D, 0x38, 0x15, -0x2A, 0xB6, 0xFC, 0x51, 0xBA, 0x5A, 0x4D, 0x79, 0x5A, 0x0D, 0xD1, 0x40, -0x33, 0x4A, 0x43, 0x88, 0x09, 0x85, 0x3D, 0x37, 0xC4, 0xC7, 0xDD, 0x84, -0xDC, 0xE2, 0xA8, 0x2B, 0x37, 0xBB, 0x8E, 0xB9, 0x90, 0xC6, 0x56, 0x2E, -0x43, 0x94, 0xC4, 0x0A, 0x6A, 0x39, 0x10, 0x7C, 0x46, 0xBE, 0x08, 0x0F, -0x60, 0x32, 0x31, 0x3C, 0x0B, 0xDB, 0x61, 0x69, 0x77, 0x92, 0xCF, 0xA6, -0xE4, 0x16, 0xAC, 0x79, 0x4A, 0x28, 0xE1, 0x58, 0xEB, 0x67, 0xCB, 0x1F, -0x4B, 0x30, 0xD7, 0xF8, 0x6E, 0x9A, 0xA2, 0x18, 0x67, 0xDA, 0xDF, 0x04, -0xB3, 0x98, 0xA6, 0x2C, 0x5E, 0xAC, 0x3C, 0x20, 0x67, 0xB5, 0xCE, 0x72, -0xF9, 0x55, 0x9E, 0x44, 0x0C, 0x01, 0x9B, 0x2D, 0x6E, 0x43, 0x39, 0xD3, -0x54, 0x98, 0x55, 0xE5, 0x54, 0x4B, 0x33, 0xDB, 0x04, 0xB3, 0x6C, 0x98, -0xF5, 0xE6, 0xD6, 0xCA, 0x74, 0xBB, 0x72, 0xAD, 0x70, 0xF6, 0x75, 0xD1, -0xD7, 0xFC, 0x41, 0xCD, 0xD7, 0x7D, 0xC5, 0x41, 0xA4, 0xED, 0xC8, 0x15, -0x12, 0xE5, 0x19, 0x56, 0x04, 0x28, 0x2F, 0xDD, 0xDF, 0x76, 0x6A, 0xAE, -0x02, 0xD6, 0x2D, 0xBF, 0xC2, 0x32, 0x64, 0x5A, 0x5F, 0x25, 0x29, 0x9C, -0x06, 0x9E, 0x3F, 0x02, 0xB3, 0xE2, 0xA9, 0x09, 0x1B, 0x60, 0x56, 0xE1, -0x4E, 0xB2, 0x50, 0x8B, 0x79, 0x92, 0xD6, 0x0A, 0xF4, 0x7D, 0xAE, 0x60, -0xBA, 0xA2, 0xE6, 0x99, 0xA0, 0xE6, 0x51, 0xA9, 0x3E, 0xDD, 0xFE, 0xA6, -0xA0, 0x61, 0xCB, 0xF9, 0x66, 0x69, 0xAB, 0xB5, 0x55, 0x3C, 0xEE, 0x3B, -0xF0, 0xAF, 0x0C, 0xBB, 0xCF, 0x57, 0x24, 0x4C, 0x9E, 0x89, 0x9F, 0x92, -0x40, 0x80, 0x53, 0x9F, 0x7C, 0xBA, 0xF5, 0xC3, 0xF3, 0x60, 0x52, 0x4E, -0x2A, 0xC6, 0x1E, 0x9E, 0x4F, 0x51, 0x40, 0xF2, 0xCC, 0x7D, 0xE6, 0x7C, -0xA3, 0xE4, 0x09, 0xC7, 0x07, 0xBC, 0x97, 0x87, 0xAB, 0x3A, 0x2B, 0x8D, -0xCD, 0x12, 0x42, 0xB5, 0xCD, 0x4C, 0x13, 0xE7, 0x8D, 0xD2, 0x4A, 0x31, -0xEB, 0xA1, 0x1E, 0x4C, 0x64, 0xA5, 0x9A, 0x62, 0xFD, 0xC2, 0xF9, 0x66, -0xC1, 0x53, 0x44, 0xB3, 0x29, 0x4B, 0x63, 0x37, 0x65, 0x1C, 0x71, 0x6C, -0x38, 0xE6, 0xB2, 0xEF, 0xB4, 0x4D, 0x3C, 0xDD, 0x76, 0x02, 0x3C, 0x33, -0x97, 0xCB, 0x9D, 0x1E, 0x04, 0x35, 0x99, 0xF1, 0xF8, 0x29, 0x49, 0xF8, -0xEE, 0x34, 0xA7, 0xBE, 0xA0, 0x41, 0x9B, 0x61, 0x03, 0x9B, 0x8B, 0x14, -0xF3, 0x3C, 0xA5, 0x5A, 0xC0, 0xFC, 0x5C, 0x28, 0xBB, 0x3D, 0xC3, 0xFC, -0x50, 0xE9, 0xFD, 0xFE, 0xDD, 0xAB, 0x00, 0x56, 0x2C, 0xAB, 0x0D, 0x7E, -0xEB, 0x06, 0x30, 0x60, 0xC0, 0x57, 0xEC, 0x69, 0xAC, 0x87, 0x00, 0x03, -0x40, 0xDE, 0xE0, 0x3B, 0x03, 0x5B, 0xBC, 0xDA, 0x88, 0x6D, 0x31, 0x6E, -0x94, 0xAB, 0x60, 0x8E, 0x9A, 0x8B, 0x1B, 0x10, 0x02, 0xF2, 0xF0, 0x25, -0xBF, 0xB2, 0x88, 0x47, 0xE1, 0x31, 0x28, 0x56, 0x93, 0x5D, 0xB4, 0xD7, -0xED, 0xBB, 0x68, 0x97, 0xEC, 0xF5, 0xC1, 0xBC, 0x6A, 0xD0, 0x15, 0xDE, -0x9F, 0x48, 0x84, 0xCF, 0x0B, 0x83, 0x13, 0x68, 0x04, 0xB0, 0x6A, 0x09, -0x52, 0xC0, 0x37, 0x1D, 0xE7, 0x89, 0x87, 0xF7, 0x50, 0x84, 0x01, 0xAF, -0x7E, 0x78, 0x76, 0x76, 0x7C, 0x76, 0xA9, 0x77, 0x70, 0x47, 0xBF, 0x72, -0x35, 0xBD, 0x43, 0x4D, 0x97, 0xDB, 0x29, 0x9E, 0xA6, 0x38, 0x0B, 0x4F, -0x10, 0x0F, 0x8D, 0xD4, 0xBE, 0x41, 0x51, 0x5E, 0x67, 0x84, 0x18, 0x58, -0x91, 0xC8, 0x3D, 0x8A, 0xE7, 0xDA, 0x4F, 0x20, 0xE6, 0x17, 0x88, 0xA3, -0x01, 0xB7, 0x51, 0x92, 0x60, 0x1A, 0x18, 0x7A, 0x02, 0x1B, 0x75, 0x0B, -0x9B, 0x56, 0x0A, 0x99, 0x2A, 0xCE, 0x78, 0x66, 0xA3, 0x00, 0x86, 0x4F, -0xCE, 0xC7, 0xBA, 0xA5, 0xF7, 0x84, 0x1D, 0xE9, 0x40, 0x1B, 0x32, 0x97, -0x02, 0x0A, 0xF3, 0x7A, 0x06, 0x39, 0x09, 0x19, 0xC5, 0xE6, 0x77, 0xC6, -0xF1, 0x48, 0x33, 0x2E, 0xBF, 0xEF, 0xFE, 0x70, 0xF5, 0x47, 0xFF, 0xD2, -0xE9, 0xF6, 0xAF, 0xCC, 0xDF, 0xCC, 0x1E, 0xB1, 0x39, 0xC0, 0x30, 0x28, -0xBA, 0x21, 0x33, 0x04, 0x16, 0x68, 0x8B, 0x4C, 0x60, 0x38, 0x03, 0xF9, -0x9A, 0x96, 0xEF, 0xC1, 0x31, 0xE8, 0x93, 0x9C, 0x73, 0x46, 0x75, 0x73, -0xE0, 0xDB, 0x84, 0x52, 0x9C, 0x1E, 0x8D, 0xDF, 0xBD, 0xF5, 0xF4, 0x33, -0xC5, 0x85, 0xF6, 0x96, 0x64, 0x80, 0x4F, 0x9E, 0x6F, 0x41, 0xE1, 0x41, -0x48, 0xA2, 0xC0, 0xF0, 0xCD, 0x81, 0xC0, 0x1F, 0x48, 0x10, 0x32, 0xB5, -0x01, 0x08, 0x81, 0xAD, 0x92, 0xE0, 0x29, 0x48, 0x52, 0xB7, 0x02, 0x3B, -0xCE, 0x23, 0x4E, 0x92, 0x08, 0x7B, 0x4F, 0xFA, 0xD0, 0xA3, 0x28, 0x86, -0x39, 0x11, 0xD8, 0xC5, 0x1C, 0x09, 0x3C, 0x5D, 0xB9, 0x37, 0xE5, 0x14, -0x5B, 0xB1, 0x04, 0x0A, 0x4B, 0xDA, 0xC0, 0x92, 0xD6, 0xF7, 0x2A, 0x69, -0xA5, 0xF6, 0x2A, 0xFB, 0x86, 0x5E, 0x81, 0xAA, 0x9C, 0x0B, 0xF0, 0x14, -0x01, 0x25, 0x1F, 0xE0, 0x28, 0x60, 0xB4, 0xD7, 0x86, 0x28, 0x55, 0x88, -0xB2, 0xA6, 0x44, 0xB2, 0xBA, 0x44, 0x94, 0x6A, 0xB4, 0x6D, 0xCE, 0xD4, -0xE6, 0xA8, 0xB9, 0x39, 0xAA, 0x6F, 0x3E, 0x90, 0x1A, 0xD6, 0xB6, 0x39, -0x52, 0x9B, 0xF3, 0x06, 0x8B, 0xB9, 0x64, 0x51, 0xF9, 0xCC, 0xAE, 0x90, -0x26, 0x30, 0x04, 0xBB, 0xF3, 0x3A, 0x9B, 0xD0, 0x03, 0x13, 0x47, 0x93, -0x08, 0x07, 0xDE, 0x13, 0x07, 0x7A, 0x22, 0x4D, 0xF7, 0x36, 0x9D, 0x16, -0x1C, 0xB9, 0xC2, 0x91, 0x34, 0x70, 0x24, 0x12, 0x07, 0x49, 0x40, 0x88, -0x10, 0x89, 0x74, 0x2B, 0x91, 0x52, 0x6B, 0x8E, 0x28, 0x74, 0x7E, 0x88, -0xFD, 0x6B, 0x28, 0x16, 0xDA, 0xC8, 0x4F, 0x4C, 0x8B, 0xED, 0x25, 0xB6, -0x5C, 0x22, 0x09, 0x71, 0x6B, 0x9D, 0xBE, 0x44, 0x1B, 0x4B, 0xB4, 0xB2, -0xFE, 0x01, 0xB4, 0xF1, 0xA5, 0x0E, 0xBE, 0x45, 0xBF, 0xF2, 0x04, 0x7E, -0x2B, 0xAE, 0x0B, 0xE9, 0x38, 0x0A, 0x34, 0x02, 0x4A, 0xDC, 0x86, 0x27, -0x56, 0x2C, 0x84, 0x4D, 0x19, 0x87, 0xF5, 0xED, 0xDA, 0x08, 0xDD, 0xE0, -0xD6, 0xCD, 0xA1, 0x69, 0x45, 0x36, 0xA3, 0x7E, 0x44, 0xFC, 0x6B, 0x6F, -0xE5, 0x2D, 0xCC, 0x05, 0xA9, 0x2C, 0xD4, 0xA2, 0xD2, 0xD1, 0x9F, 0xA7, -0xD1, 0x6A, 0x08, 0x1A, 0xA5, 0xCA, 0x2C, 0xAD, 0xB0, 0x1D, 0xC0, 0xD4, -0xA8, 0xF8, 0x2D, 0xED, 0x1A, 0xF9, 0xD8, 0x16, 0x47, 0x67, 0x14, 0x07, -0xA8, 0x9B, 0xE0, 0x88, 0x84, 0x37, 0x54, 0x1A, 0x68, 0x80, 0xC4, 0x9A, -0xB6, 0xCF, 0x2A, 0xDB, 0x4F, 0xD1, 0xBC, 0x38, 0x69, 0x85, 0x5A, 0x31, -0xED, 0x7B, 0x0E, 0x04, 0x65, 0x9A, 0x71, 0x30, 0xB7, 0x2D, 0xE7, 0x87, -0xED, 0x01, 0x08, 0xD0, 0x50, 0x76, 0x01, 0x19, 0xC0, 0x0E, 0xB1, 0x41, -0x3F, 0x66, 0x3C, 0x1C, 0xA4, 0x1D, 0xAF, 0x20, 0x22, 0xF3, 0x88, 0x9D, -0xE5, 0x93, 0x8C, 0xA7, 0x10, 0xF2, 0x8C, 0xD4, 0x4A, 0x3B, 0x81, 0xD9, -0x44, 0xA3, 0x77, 0x7C, 0x2B, 0x03, 0x17, 0xD0, 0xE9, 0x2C, 0xD7, 0xFC, -0xCC, 0xF1, 0xA8, 0xE6, 0x68, 0x98, 0x70, 0x34, 0x38, 0xCA, 0xB0, 0x46, -0x6D, 0x7C, 0x8B, 0xFD, 0x03, 0x16, 0xC7, 0x48, 0x80, 0xC8, 0x40, 0xD6, -0x45, 0x47, 0x37, 0x97, 0x96, 0xDF, 0x2A, 0x9D, 0x07, 0x9C, 0xA1, 0x95, -0x3D, 0x24, 0x4B, 0x70, 0xAE, 0x5E, 0x60, 0x0B, 0x85, 0xCF, 0x0A, 0xA6, -0x1E, 0x77, 0x96, 0xA5, 0x37, 0x51, 0x5B, 0x2E, 0x9D, 0x2B, 0xAB, 0x3A, -0xBC, 0xC7, 0xB8, 0xE2, 0x16, 0x52, 0x92, 0xA5, 0x1E, 0x28, 0x4B, 0xC3, -0x95, 0x98, 0x03, 0xBA, 0x3A, 0x75, 0xB9, 0x86, 0x88, 0x35, 0x4D, 0x57, -0x05, 0xAB, 0x48, 0xB9, 0x4A, 0x5F, 0x2E, 0xAD, 0x40, 0xF0, 0x13, 0x22, -0x3A, 0xC3, 0x7F, 0x9F, 0xA1, 0x15, 0xCD, 0xD2, 0xEE, 0x2C, 0x0A, 0x9E, -0x7C, 0xCF, 0xFD, 0xC5, 0x36, 0x2E, 0x7F, 0xB5, 0xAF, 0x3A, 0xA6, 0xB9, -0xF7, 0x75, 0x4F, 0x4A, 0xDC, 0xE0, 0xE6, 0x65, 0xFF, 0xCA, 0x42, 0x30, -0x6D, 0x7F, 0x67, 0xFE, 0x62, 0xCB, 0xE9, 0xC6, 0xDC, 0xE0, 0x86, 0x91, -0x40, 0x13, 0x98, 0x84, 0xB9, 0xB2, 0xA9, 0x86, 0x36, 0x36, 0x0C, 0x50, -0xC3, 0x86, 0x02, 0x77, 0x78, 0x47, 0xB7, 0x21, 0x42, 0x2D, 0x97, 0xEB, -0x61, 0x6F, 0x9C, 0x62, 0xAC, 0xA2, 0x6A, 0x35, 0x21, 0xA9, 0x17, 0x5C, -0x07, 0x6C, 0x4E, 0x25, 0xDF, 0x32, 0x77, 0xD0, 0x4D, 0x3B, 0x4B, 0x7D, -0x4F, 0x49, 0x71, 0xAF, 0x9C, 0xF3, 0x20, 0xFE, 0xAD, 0x60, 0xA2, 0x55, -0x7C, 0x03, 0x00, 0xF7, 0x5C, 0x98, 0x39, 0xE0, 0x05, 0x4D, 0xD8, 0x5A, -0xCD, 0x03, 0x60, 0x99, 0x58, 0xD8, 0x45, 0xCE, 0xE2, 0xE9, 0x94, 0x51, -0xB0, 0x82, 0x70, 0x7D, 0x58, 0x16, 0x93, 0xBA, 0x55, 0x37, 0xFB, 0x6F, -0x77, 0x48, 0x3C, 0xD3, 0x6A, 0x74, 0x89, 0x3F, 0xDE, 0xB7, 0x22, 0x26, -0x6F, 0xFC, 0xE6, 0x4F, 0x80, 0x3A, 0x50, 0x19, 0x6C, 0x53, 0x36, 0x37, -0xCC, 0xCE, 0xB7, 0xBA, 0x26, 0x21, 0x7A, 0x7A, 0x8C, 0x6E, 0x8B, 0x2B, -0x05, 0x91, 0xF3, 0x0C, 0x34, 0xE8, 0x57, 0x35, 0xB0, 0x1A, 0x50, 0xC5, -0x3C, 0xCA, 0x39, 0x1B, 0x68, 0x65, 0x2E, 0xA5, 0x8A, 0x59, 0x5D, 0xEB, -0xED, 0x7E, 0xDB, 0x08, 0xE9, 0x16, 0x51, 0x4C, 0x33, 0xE9, 0x9E, 0x72, -0xE1, 0xE7, 0x70, 0xC3, 0x03, 0xB1, 0xC2, 0x92, 0x95, 0x2B, 0x24, 0x30, -0xCF, 0xD6, 0xC2, 0xA9, 0x95, 0x19, 0xC4, 0xDC, 0x33, 0x1A, 0x41, 0x78, -0x47, 0x94, 0x3F, 0xBB, 0x27, 0x2A, 0xAF, 0xDD, 0xE9, 0xC9, 0x9E, 0xDE, -0x66, 0x6B, 0x70, 0x78, 0x08, 0xB6, 0x5B, 0x55, 0x26, 0x35, 0x61, 0xC1, -0x5D, 0x2D, 0xFF, 0xCA, 0xF6, 0xEF, 0x0E, 0x22, 0x94, 0x65, 0xEF, 0x51, -0x0C, 0xF8, 0xFD, 0x58, 0x37, 0x0B, 0x6D, 0xDC, 0x75, 0x36, 0x36, 0x9A, -0x9B, 0x52, 0x1C, 0x43, 0xB9, 0xA5, 0xA8, 0x02, 0x5B, 0x35, 0xDD, 0x14, -0x00, 0x6F, 0x6C, 0xB4, 0x11, 0x26, 0xAE, 0xC1, 0x1E, 0xA3, 0x8A, 0x82, -0x07, 0x28, 0xBD, 0xEA, 0xFF, 0x44, 0x9D, 0x4A, 0x42, 0x1E, 0x92, 0x6A, -0x00, 0x38, 0xEF, 0x93, 0xFD, 0xA2, 0x50, 0xDC, 0x8A, 0xF4, 0xA0, 0x55, -0xA0, 0xF4, 0xFF, 0x21, 0x59, 0xA5, 0x0A, 0x0F, 0x51, 0x1C, 0x41, 0xA4, -0x6A, 0xA1, 0x18, 0x47, 0x98, 0xE3, 0x8A, 0xDE, 0xA8, 0x95, 0xDE, 0xFC, -0xFF, 0xA1, 0x77, 0xA5, 0xE7, 0x4C, 0x78, 0x89, 0x2A, 0xC3, 0x96, 0x1C, -0x04, 0xE4, 0x46, 0x17, 0xE1, 0xAC, 0x09, 0x01, 0xAA, 0x03, 0x16, 0x45, -0x63, 0x96, 0xEC, 0x3D, 0x30, 0xEE, 0x56, 0xE3, 0x45, 0xA3, 0x24, 0x73, -0xB5, 0xC4, 0xF2, 0x5B, 0x81, 0xBE, 0xC5, 0x53, 0xBE, 0xF7, 0xD0, 0xC4, -0xE3, 0x60, 0xD5, 0x1A, 0x2B, 0xF0, 0xB0, 0x0D, 0xC2, 0x83, 0xD1, 0x9F, -0x21, 0x04, 0xA6, 0x55, 0xEF, 0xA2, 0xC3, 0x06, 0x08, 0xDA, 0x85, 0x90, -0x3C, 0x21, 0x24, 0x0B, 0xB5, 0x3B, 0xA0, 0x6A, 0x5C, 0xD4, 0xA1, 0x5E, -0xD0, 0xD1, 0x93, 0xDB, 0xD5, 0x18, 0x67, 0x89, 0x97, 0xAA, 0x21, 0x62, -0x20, 0x8B, 0xAF, 0x1D, 0x4A, 0xE3, 0xB8, 0x51, 0x99, 0x76, 0x22, 0x9B, -0x4D, 0xA7, 0x19, 0xE6, 0x1F, 0x85, 0x4B, 0xB2, 0xA2, 0xAA, 0x7F, 0x24, -0x5D, 0xD2, 0x00, 0xBA, 0x34, 0x66, 0x79, 0x86, 0x59, 0xCE, 0x1B, 0x21, -0xC6, 0xA8, 0x98, 0xD9, 0x09, 0xFE, 0xF8, 0xA3, 0xEA, 0xEC, 0x06, 0x9D, -0x6C, 0xD5, 0xBD, 0xD8, 0x49, 0x6B, 0x9D, 0xDD, 0xB4, 0x13, 0x81, 0x41, -0xFF, 0xC7, 0x9A, 0x82, 0xEA, 0x9A, 0xE2, 0x8B, 0x62, 0x49, 0xFA, 0xC4, -0xA6, 0xCF, 0xF3, 0x45, 0xCA, 0x49, 0x6B, 0x36, 0x2B, 0x14, 0x5A, 0x37, -0xCB, 0x02, 0xAD, 0x6E, 0xAB, 0xD4, 0xF2, 0xD7, 0x4D, 0xB9, 0x3D, 0xC7, -0x48, 0x0D, 0x01, 0x15, 0xA4, 0xFE, 0x96, 0xCD, 0x71, 0x7A, 0x80, 0x32, -0x6C, 0x40, 0xF0, 0xAC, 0xFC, 0x8E, 0x9C, 0x35, 0xDD, 0xAC, 0x65, 0x15, -0x08, 0x01, 0xC9, 0xE1, 0x32, 0x7F, 0x61, 0x54, 0x24, 0xD6, 0xC0, 0x5F, -0xDE, 0xC0, 0x80, 0x6D, 0x71, 0xB3, 0x00, 0x5C, 0xBF, 0x50, 0x75, 0x04, -0x24, 0x70, 0x18, 0xCE, 0x9A, 0x25, 0x27, 0x29, 0x4B, 0xD0, 0x4C, 0x56, -0xE1, 0x30, 0x26, 0xCC, 0x43, 0x40, 0xB3, 0x9E, 0x38, 0x02, 0xE0, 0x4A, -0x1A, 0x41, 0x69, 0x37, 0xAB, 0x22, 0x96, 0x5A, 0x7A, 0x11, 0x0E, 0xA5, -0x2D, 0x3D, 0x14, 0x35, 0x90, 0x59, 0xA5, 0x7A, 0xC4, 0xA3, 0xC5, 0x39, -0x58, 0x0C, 0xB2, 0x3E, 0xB2, 0xCB, 0x06, 0xAC, 0xD3, 0x31, 0x55, 0xA9, -0xE5, 0x79, 0x50, 0xE8, 0xB2, 0x2B, 0x99, 0xAE, 0x03, 0x53, 0xCD, 0xC8, -0x62, 0x70, 0x4B, 0x4E, 0x0A, 0x84, 0xB2, 0x25, 0x0B, 0x05, 0xB3, 0x56, -0x93, 0xA6, 0x55, 0xCC, 0x96, 0x39, 0xC8, 0xFD, 0x14, 0x04, 0xCB, 0x34, -0x03, 0xD2, 0x99, 0xF5, 0x4C, 0x83, 0x9B, 0xD9, 0x9C, 0x70, 0x3F, 0x14, -0xFE, 0xC7, 0x07, 0xA1, 0xEA, 0x1C, 0x0A, 0x13, 0x57, 0xB6, 0x42, 0x1E, -0xAF, 0x5A, 0x51, 0xD1, 0xFC, 0x9C, 0x15, 0x0D, 0x3F, 0x2B, 0x5B, 0xB7, -0xB5, 0x49, 0x46, 0xCB, 0x69, 0x46, 0xA7, 0x45, 0x93, 0x50, 0x52, 0xC2, -0x29, 0x27, 0xCB, 0x67, 0x92, 0x14, 0xAD, 0x24, 0x2C, 0x5B, 0x21, 0xBE, -0xAD, 0xF6, 0xB1, 0x72, 0x36, 0xC0, 0xBA, 0xAB, 0x54, 0xEC, 0x89, 0xB3, -0x2C, 0x1A, 0xFD, 0xDA, 0xDD, 0xC2, 0x7F, 0xC7, 0x7E, 0x42, 0x67, 0x25, -0x33, 0x49, 0xD9, 0x9A, 0x91, 0x92, 0x95, 0x49, 0x9C, 0x3C, 0x4A, 0x48, -0x54, 0xBB, 0x13, 0xA9, 0xDD, 0x69, 0xF0, 0xBF, 0xBA, 0x76, 0xE0, 0xA6, -0x6B, 0x4C, 0xEB, 0xD6, 0x08, 0x3D, 0x5F, 0x3C, 0xDF, 0xB3, 0x40, 0x66, -0x98, 0xA6, 0x15, 0x1B, 0x53, 0x0B, 0xB2, 0x40, 0xB3, 0x6E, 0xA5, 0xF9, -0xBF, 0xBD, 0x8A, 0x78, 0x71, 0xF8, 0xF6, 0x70, 0x7C, 0x58, 0x4F, 0xA7, -0x23, 0xA3, 0xA1, 0x50, 0x89, 0xA2, 0x7A, 0x9D, 0x15, 0x6A, 0x21, 0xC9, -0x0A, 0x68, 0xEB, 0xC6, 0x86, 0xB2, 0x8A, 0xD7, 0xA3, 0xE3, 0xF7, 0x76, -0x82, 0x52, 0xB0, 0x47, 0xD4, 0x20, 0x2E, 0x56, 0x20, 0x9A, 0x88, 0x5F, -0x1E, 0xD6, 0x92, 0x78, 0xF9, 0x7A, 0xC9, 0xE5, 0x4B, 0x4B, 0x61, 0x53, -0xF7, 0x21, 0xA1, 0xCC, 0x3A, 0x8B, 0x9B, 0x40, 0x08, 0x4D, 0xD3, 0x55, -0x98, 0x1A, 0x94, 0xE4, 0xD4, 0x9D, 0x3C, 0xBF, 0xC9, 0xDB, 0x0A, 0xC6, -0xA9, 0x69, 0xF1, 0x90, 0x64, 0xF5, 0xF2, 0xA5, 0xE1, 0x12, 0xFE, 0xA6, -0xB4, 0x97, 0x65, 0x4B, 0x81, 0x5B, 0xCF, 0xBC, 0xD5, 0x6B, 0x44, 0xE5, -0x1D, 0x2C, 0x64, 0x91, 0x5A, 0x06, 0xCE, 0x56, 0x67, 0xA3, 0x43, 0xE4, -0x21, 0x54, 0xB7, 0xE8, 0x3F, 0xD5, 0x4E, 0x5A, 0x6A, 0x27, 0xAD, 0x1B, -0x67, 0x05, 0x70, 0x30, 0x01, 0x22, 0xAE, 0x07, 0x95, 0xD9, 0xB4, 0xCF, -0x28, 0x4B, 0x6C, 0xDF, 0xC4, 0x63, 0x31, 0x23, 0xED, 0xBB, 0x31, 0xF1, -0x39, 0x93, 0xE3, 0x9F, 0xD1, 0x0D, 0x52, 0x17, 0x85, 0xCD, 0x6D, 0x72, -0xD2, 0xFF, 0x0D, 0xCC, 0xB7, 0x89, 0xE9, 0x81, 0x71, 0xE8, 0xB7, 0xCC, -0x34, 0x9D, 0x48, 0x06, 0xCD, 0xFB, 0xBE, 0x80, 0x37, 0x5D, 0x4B, 0xE5, -0x6F, 0xEA, 0x9E, 0x05, 0x74, 0xBF, 0xB0, 0x44, 0x8D, 0xD7, 0xCE, 0xA7, -0x6E, 0x76, 0x1B, 0x1B, 0x0F, 0xDA, 0x5D, 0x8B, 0x93, 0x97, 0x0E, 0xBD, -0x69, 0x50, 0x68, 0xAD, 0x5C, 0x15, 0x93, 0xFB, 0x11, 0x9B, 0x18, 0xE2, -0x8E, 0x72, 0x21, 0x4E, 0xCB, 0xA5, 0x4B, 0xD3, 0xFA, 0x8B, 0xA2, 0x15, -0x59, 0x7E, 0xDD, 0x67, 0x2B, 0x0A, 0xEB, 0xDA, 0xDE, 0x5E, 0x44, 0x35, -0xCB, 0xAC, 0xF6, 0x74, 0x46, 0xDA, 0x24, 0xDE, 0x8B, 0xEC, 0xAC, 0xBC, -0xA3, 0x00, 0x97, 0x52, 0xEB, 0xE9, 0xBA, 0x48, 0x4B, 0xFD, 0x08, 0xA3, -0x74, 0x24, 0x0A, 0x60, 0x15, 0xF1, 0x1A, 0x1E, 0xF4, 0x71, 0x53, 0x15, -0x0F, 0x17, 0x2F, 0xAD, 0xD4, 0x5C, 0xEA, 0xE2, 0xBD, 0xCD, 0x94, 0x50, -0x1C, 0xE8, 0x2B, 0x3F, 0x2A, 0x0B, 0x56, 0xBD, 0x27, 0x6F, 0xD8, 0x6D, -0x79, 0x6E, 0xA6, 0xD5, 0xB6, 0x90, 0xC2, 0x42, 0xEA, 0x31, 0x20, 0xAF, -0x7D, 0x1E, 0xC1, 0x3C, 0x82, 0xE2, 0x8E, 0x51, 0x76, 0x8D, 0xC8, 0x03, -0x40, 0x08, 0x2C, 0x22, 0xC5, 0x9B, 0x7A, 0xA8, 0x88, 0x2D, 0xA5, 0x59, -0x32, 0x88, 0xD6, 0x66, 0x94, 0xBE, 0x9B, 0xE5, 0xD5, 0x5E, 0x75, 0xA9, -0x83, 0x4B, 0x47, 0x52, 0x58, 0xC4, 0x13, 0xB9, 0x2D, 0x12, 0x19, 0xD4, -0x08, 0x67, 0x99, 0x94, 0x8C, 0x90, 0xDC, 0x3B, 0x16, 0x80, 0xE0, 0x60, -0x5B, 0x2F, 0x86, 0x96, 0x40, 0x64, 0x5A, 0x52, 0xA4, 0xE3, 0x10, 0xC7, -0xC5, 0x0C, 0x87, 0xA6, 0x98, 0x42, 0x62, 0xEA, 0x6B, 0x79, 0x18, 0x23, -0x99, 0xA9, 0x12, 0x3A, 0xF3, 0xFA, 0x3D, 0xC7, 0xBA, 0x0F, 0xF6, 0x3C, -0xC3, 0x23, 0x36, 0xE5, 0x63, 0x34, 0xC9, 0x0C, 0x48, 0x34, 0x5A, 0x56, -0xC0, 0xD4, 0x08, 0x02, 0xBC, 0xB1, 0x69, 0xB6, 0x6F, 0xFF, 0xC8, 0xD2, -0x6B, 0x9C, 0x1A, 0x4F, 0xFA, 0x05, 0x3D, 0x47, 0x90, 0x61, 0x46, 0xF0, -0xCB, 0x87, 0xBE, 0x78, 0xD9, 0xFE, 0x16, 0x84, 0x55, 0x40, 0xCE, 0x60, -0x73, 0xC8, 0xE6, 0x27, 0x29, 0xA1, 0xFC, 0x9D, 0x2C, 0x87, 0x8B, 0x5D, -0xBE, 0xBA, 0xF8, 0x91, 0x47, 0x5D, 0xDE, 0x08, 0x2D, 0x44, 0x7E, 0xE1, -0x36, 0xEE, 0x85, 0xAC, 0x09, 0x1C, 0x28, 0xA4, 0x3B, 0xEE, 0x62, 0x4E, -0xA8, 0xAB, 0x1F, 0xF0, 0x34, 0xEA, 0x8E, 0x74, 0x2B, 0x46, 0x3E, 0x74, -0xD4, 0x1A, 0xE8, 0x2F, 0x2D, 0xE1, 0xC6, 0xDC, 0xBA, 0x7B, 0x0D, 0x0C, -0x6E, 0xE1, 0xDA, 0x85, 0x59, 0x47, 0xD7, 0xC1, 0x3B, 0x82, 0xFA, 0x60, -0x14, 0x1C, 0xD3, 0xE8, 0xCE, 0x85, 0xA8, 0xF9, 0x38, 0x1D, 0xE2, 0xDC, -0xD9, 0x63, 0x74, 0x7C, 0x5A, 0xA3, 0xE3, 0x53, 0x1B, 0x1D, 0xB8, 0x29, -0x3F, 0xE8, 0x9C, 0x03, 0xD8, 0x77, 0x88, 0xA2, 0x19, 0x4E, 0x61, 0x40, -0x20, 0x01, 0x91, 0xFC, 0x33, 0xCA, 0x52, 0xFC, 0x38, 0x65, 0xA3, 0x90, -0x4C, 0xF9, 0x3A, 0x7D, 0x6A, 0xF4, 0xDF, 0x51, 0x99, 0xE2, 0x07, 0xA8, -0x2C, 0x73, 0xE4, 0x46, 0x68, 0x53, 0xFE, 0xAB, 0xFD, 0xEE, 0x06, 0x55, -0x77, 0x37, 0x1C, 0x7E, 0x95, 0x21, 0x5A, 0x75, 0x53, 0xFA, 0x17, 0x36, -0x91, 0x19, 0x1C, 0x28, 0x8B, 0x6A, 0x65, 0x26, 0xDD, 0x87, 0xE2, 0xE2, -0x2D, 0x90, 0x66, 0x28, 0x6A, 0xB0, 0xB7, 0x58, 0x02, 0x42, 0x63, 0x4E, -0x80, 0xAD, 0x39, 0x10, 0xED, 0xCB, 0x94, 0xDB, 0x0E, 0x53, 0x2C, 0xE2, -0x30, 0xA0, 0x84, 0x18, 0xDF, 0xBB, 0xDC, 0xDB, 0xB8, 0xEA, 0x40, 0x70, -0xF4, 0xE0, 0x61, 0x7A, 0xD0, 0xD8, 0xB8, 0xFA, 0xCE, 0xEC, 0xCD, 0x88, -0x55, 0x31, 0x27, 0xA3, 0x2C, 0x88, 0xEB, 0x92, 0x5E, 0x79, 0x08, 0xF8, -0xAF, 0x07, 0xE1, 0xCA, 0x45, 0x82, 0xDE, 0x09, 0x86, 0xE1, 0x21, 0x3E, -0x21, 0x82, 0x87, 0xB4, 0x51, 0xD3, 0x04, 0x6E, 0x6B, 0xD7, 0x65, 0x3A, -0x87, 0xBF, 0x3A, 0x38, 0xE0, 0x41, 0xCB, 0xAB, 0x23, 0x3D, 0x2F, 0x5A, -0x3A, 0x20, 0xE4, 0xED, 0x3E, 0x48, 0x61, 0x01, 0x77, 0xA3, 0x1A, 0x75, -0xDF, 0x07, 0x5E, 0xAB, 0xAA, 0x5E, 0x8A, 0xE9, 0x76, 0xAF, 0xF9, 0xF3, -0xBB, 0xB7, 0x47, 0x9C, 0x27, 0x67, 0xCA, 0xEF, 0x02, 0xAC, 0xE6, 0xC0, -0xEA, 0x54, 0xCD, 0x05, 0x4F, 0xEF, 0xCA, 0x6C, 0x4C, 0x04, 0x1F, 0x65, -0xE9, 0x3F, 0x1F, 0x4F, 0x3E, 0x63, 0x1F, 0xE2, 0xDA, 0xBB, 0x0C, 0x82, -0xE2, 0xA6, 0x2D, 0xB6, 0x8F, 0xC7, 0x27, 0xF6, 0xB6, 0xED, 0x40, 0xEA, -0x02, 0x42, 0xF6, 0x43, 0xA1, 0x10, 0xCB, 0x7F, 0xB4, 0xF9, 0xE9, 0x3F, -0xDB, 0x4C, 0xC0, 0xDD, 0x65, 0xE0, 0xCF, 0xCA, 0xFD, 0xCD, 0xBD, 0x61, -0xCA, 0xE6, 0x72, 0xDB, 0x61, 0x9A, 0x8A, 0x33, 0x1A, 0x87, 0x24, 0xD3, -0x26, 0x30, 0x98, 0x61, 0xA8, 0x20, 0x19, 0xCE, 0x34, 0xCA, 0xB8, 0x96, -0xE5, 0x49, 0xC2, 0x52, 0xBE, 0x26, 0x0F, 0x5B, 0x2F, 0xAF, 0x87, 0x4E, -0x73, 0x9C, 0xE3, 0xA0, 0x18, 0xC6, 0x69, 0x5D, 0x2E, 0x32, 0xC9, 0x83, -0x71, 0xD0, 0xE9, 0xCB, 0xAB, 0x22, 0xE5, 0xCB, 0x29, 0x15, 0xEE, 0xF7, -0x49, 0x5F, 0xF5, 0x81, 0xBB, 0x10, 0xA0, 0x7A, 0x34, 0x8F, 0xA2, 0xE5, -0x60, 0x0D, 0x16, 0x54, 0x86, 0x8C, 0x33, 0xF9, 0x96, 0x64, 0xF1, 0x5B, -0x11, 0x00, 0x1B, 0xB6, 0x59, 0x69, 0x35, 0x6F, 0x4F, 0x89, 0xCD, 0xC5, -0x16, 0x44, 0x5E, 0x5B, 0x18, 0xE6, 0xDD, 0x88, 0x23, 0x2E, 0x54, 0x42, -0xD8, 0x9E, 0x52, 0xA0, 0x87, 0x42, 0x3A, 0xB7, 0x7D, 0x14, 0x45, 0xE2, -0x3D, 0xB7, 0x81, 0x61, 0x05, 0xE2, 0x79, 0x66, 0x09, 0x20, 0x59, 0xC2, -0x68, 0x86, 0xC7, 0x60, 0x8D, 0xA6, 0xE5, 0x88, 0x78, 0xA6, 0x78, 0x2B, -0x0A, 0x47, 0x11, 0x3B, 0x6B, 0xEC, 0x99, 0x56, 0xD5, 0xDB, 0xD8, 0xA0, -0x76, 0x49, 0xBE, 0x51, 0x6E, 0xCA, 0x84, 0xC7, 0x31, 0x4C, 0x91, 0x95, -0x43, 0x72, 0xD9, 0x94, 0x8D, 0x63, 0x3D, 0x31, 0x9E, 0x60, 0x8D, 0x50, -0x40, 0x4E, 0x7D, 0xA1, 0x8C, 0xEA, 0x44, 0x4D, 0x65, 0xB1, 0xD4, 0x13, -0xCB, 0x07, 0x15, 0x23, 0x0F, 0x66, 0x1E, 0x45, 0xF9, 0xAB, 0xEB, 0x22, -0x7F, 0xC5, 0xA2, 0x10, 0x40, 0x71, 0x56, 0x03, 0x5B, 0xE5, 0x50, 0x26, -0xF2, 0xCA, 0xE9, 0x81, 0x7C, 0x1D, 0xD1, 0x5C, 0xBF, 0x4E, 0x46, 0x55, -0x35, 0xC3, 0x9C, 0x56, 0xAE, 0x33, 0x51, 0x07, 0x30, 0x81, 0x58, 0xD0, -0x9E, 0x4C, 0x4F, 0x3C, 0x21, 0xF9, 0x18, 0xF3, 0x90, 0x05, 0x7B, 0xFA, -0x9E, 0xEE, 0xEA, 0xF0, 0x7F, 0x43, 0xB7, 0x60, 0x15, 0xA6, 0x3E, 0x0B, -0xF0, 0xF9, 0xD9, 0x2B, 0xF0, 0xBE, 0x20, 0x52, 0x4C, 0xB9, 0x41, 0x20, -0x08, 0x79, 0x7A, 0xA7, 0x65, 0xA6, 0x04, 0x7F, 0x49, 0xAE, 0xCC, 0x41, -0x53, 0x65, 0xF0, 0x7C, 0x4D, 0x29, 0x1B, 0x2A, 0x65, 0x33, 0x2A, 0xCF, -0x5D, 0x1C, 0x20, 0x2E, 0x5E, 0x1F, 0x70, 0xA3, 0xBE, 0x42, 0xA4, 0x84, -0xF7, 0x48, 0x35, 0x9A, 0x30, 0x12, 0x4C, 0x8D, 0x72, 0x0E, 0x94, 0x20, -0x4F, 0xA3, 0x0E, 0x12, 0x57, 0x10, 0x4D, 0x54, 0x99, 0x48, 0x3F, 0x4D, -0xD3, 0xFD, 0xCB, 0xCD, 0x72, 0x2B, 0xAA, 0x8B, 0x74, 0xC4, 0x53, 0xA9, -0x22, 0x6B, 0xF0, 0x78, 0xC1, 0xD2, 0x11, 0x96, 0x4E, 0xAF, 0xF9, 0x3D, -0xA5, 0xA5, 0xA3, 0x24, 0x89, 0x88, 0x72, 0xD4, 0x3D, 0xB8, 0x69, 0x9F, -0xCF, 0xBB, 0x70, 0x26, 0x71, 0x17, 0x30, 0x28, 0x11, 0x06, 0x7A, 0x0B, -0x85, 0xAA, 0x06, 0xB4, 0xC4, 0xDD, 0x8A, 0xBB, 0x6E, 0xA5, 0x95, 0xAA, -0x1A, 0x6B, 0x66, 0xDA, 0x84, 0xD3, 0xA4, 0xB3, 0x66, 0x58, 0x3B, 0x5B, -0x6B, 0x53, 0x68, 0xC2, 0x52, 0x6E, 0x40, 0xEC, 0x81, 0x10, 0x5D, 0x61, -0x2B, 0x8B, 0xB1, 0xBA, 0x6B, 0xB0, 0x93, 0x3C, 0x0B, 0x8D, 0x05, 0x90, -0xEE, 0x72, 0x4B, 0xC9, 0xCA, 0xC5, 0x96, 0x3A, 0x74, 0x97, 0x5A, 0xA5, -0x29, 0xBA, 0x22, 0xA6, 0xD4, 0x69, 0xFB, 0xE3, 0x0F, 0xD9, 0xAB, 0x0C, -0x4B, 0xF6, 0x9A, 0xB6, 0xB5, 0x54, 0xD7, 0xC1, 0x65, 0xEA, 0x2C, 0x34, -0x66, 0xDD, 0x5D, 0x0D, 0x76, 0x7A, 0xAA, 0x88, 0x2A, 0xBF, 0xBA, 0xD0, -0x48, 0xE0, 0x89, 0x18, 0xAA, 0x17, 0x2F, 0x3D, 0xA0, 0x39, 0x05, 0xDF, -0x64, 0x43, 0xD5, 0x55, 0xFF, 0x06, 0xB5, 0x56, 0x7D, 0x55, 0x5F, 0xB2, -0xEA, 0xC5, 0xA7, 0xAC, 0xEB, 0x20, 0x77, 0xC1, 0x9A, 0xDA, 0x22, 0x4C, -0x99, 0xF4, 0x2A, 0xAB, 0x56, 0x6B, 0xBD, 0x07, 0xBE, 0xD6, 0xD0, 0x0B, -0x64, 0xE6, 0x40, 0x35, 0xEC, 0x8A, 0x3A, 0x41, 0x99, 0x55, 0x0C, 0xA2, -0xEC, 0x8E, 0xFA, 0xC2, 0xB7, 0x56, 0x50, 0x42, 0x38, 0xA1, 0x46, 0xED, -0xAD, 0x56, 0x9A, 0xCB, 0x15, 0x91, 0x3D, 0xF5, 0x09, 0xAF, 0xB8, 0x73, -0xD4, 0x58, 0xF1, 0xCE, 0xA9, 0x9E, 0x25, 0x00, 0x43, 0x50, 0xE1, 0x0B, -0xB9, 0x94, 0xEE, 0x46, 0x93, 0x25, 0x7E, 0xD5, 0x05, 0x10, 0xB0, 0x60, -0xB5, 0x2A, 0x4F, 0xDA, 0x27, 0x54, 0x58, 0x5F, 0x1F, 0x54, 0x99, 0xC1, -0xFA, 0x70, 0x59, 0x76, 0x55, 0x6F, 0x94, 0xEA, 0xDF, 0xDB, 0x54, 0x8B, -0x89, 0x7C, 0x71, 0x26, 0xD7, 0x37, 0xDF, 0xA5, 0x3D, 0xB8, 0x4D, 0xED, -0x80, 0x86, 0x60, 0x17, 0x1E, 0xF2, 0xA3, 0xE6, 0x3F, 0x01, 0x05, 0x45, -0x3B, 0x0D, 0xE4, 0x2C, 0x00, 0x00 -}; +#include "edit.htm.gz.h" #define SPIFFS_MAXLENGTH_FILEPATH 32 const char *excludeListFile = "/.exclude.files"; diff --git a/src/edit.htm.gz.h b/src/edit.htm.gz.h new file mode 100644 index 0000000..398e37f --- /dev/null +++ b/src/edit.htm.gz.h @@ -0,0 +1,219 @@ +#define edit_htm_gz_len 4314 +const uint8_t edit_htm_gz[] PROGMEM = { +0x1F,0x8B,0x08,0x08,0x4B,0x0B,0x84,0x5E,0x02,0x00,0x65,0x64,0x69,0x74,0x2E,0x68,0x74,0x6D,0x00,0xB5, +0x1A,0x0B,0x5B,0xDB,0x36,0xF0,0xAF,0x18,0x6F,0x63,0xF6,0xE2,0x38,0x0E,0x50,0xD6,0x39,0x18,0x16,0x1E, +0x2B,0x7D,0x01,0x25,0x49,0x3B,0xCA,0xD8,0x3E,0xC5,0x56,0x12,0x15,0x5B,0xF6,0x2C,0x99,0x40,0xB3,0xFC, +0xF7,0x9D,0x24,0x3F,0x43,0xE8,0x1E,0xDF,0xD6,0x07,0x91,0x74,0xBA,0xD3,0xDD,0xE9,0x9E,0x0A,0x7B,0x1B, +0xC7,0xE7,0x47,0xC3,0xAB,0x8B,0x13,0x6D,0xC6,0xA3,0x70,0x7F,0x4F,0xFC,0xD4,0x42,0x44,0xA7,0x9E,0x8E, +0xA9,0xBE,0xBF,0x17,0x61,0x8E,0x00,0xC4,0x93,0x36,0xFE,0x3D,0x23,0x77,0x9E,0x7E,0x14,0x53,0x8E,0x29, +0x6F,0xF3,0x87,0x04,0xEB,0xBE,0x9A,0x78,0x3A,0xC7,0xF7,0xBC,0x23,0x70,0x7B,0x9A,0x3F,0x43,0x29,0xC3, +0xDC,0xCB,0xF8,0xA4,0xFD,0x1C,0x28,0x70,0xC2,0x43,0xBC,0x7F,0x32,0xB8,0xD0,0x4E,0x02,0xC2,0xE3,0x74, +0xAF,0xA3,0x56,0xF6,0x18,0x7F,0x08,0xB1,0x26,0xE8,0xE4,0xF8,0x3E,0x63,0x7A,0x84,0x03,0x82,0x3C,0x9D, +0xF9,0x29,0x16,0xE7,0x87,0x68,0x8C,0xC3,0xC5,0x24,0x86,0x03,0x19,0xF9,0x8C,0xDD,0xEE,0x56,0x72,0xDF, +0x93,0xD3,0x09,0x8A,0x48,0xF8,0xE0,0x32,0x44,0x59,0x9B,0xE1,0x94,0x4C,0x96,0xB6,0x1F,0x2D,0x3E,0xB7, +0x09,0x0D,0xF0,0xBD,0xBB,0xED,0x38,0xBD,0x24,0x66,0x84,0x93,0x98,0xBA,0x68,0xCC,0xE2,0x30,0xE3,0xB8, +0x17,0xE2,0x09,0x77,0x9F,0x01,0x85,0x71,0x9C,0x06,0x38,0x75,0xBB,0xC9,0xBD,0x06,0x20,0x12,0x68,0x5F, +0xED,0xEC,0xEC,0xF4,0xC6,0xC8,0xBF,0x9D,0xA6,0x71,0x46,0x83,0xB6,0x1F,0x87,0x71,0xEA,0x7E,0x35,0x79, +0x26,0xFE,0xF6,0x02,0xC2,0x92,0x10,0x3D,0xB8,0x34,0xA6,0x18,0x70,0xEF,0xDB,0x6C,0x86,0x82,0x78,0xEE, +0x3A,0x9A,0xA3,0x75,0x1D,0x20,0x92,0x4E,0xC7,0xC8,0x70,0x2C,0xF1,0xD7,0xDE,0x31,0x7B,0x7F,0x8B,0x5F, +0xB5,0x3C,0xC7,0x64,0x3A,0xE3,0xEE,0xF7,0x8E,0x23,0xF8,0xD7,0xB2,0x70,0x11,0x12,0xC6,0xDB,0x52,0x37, +0xEA,0x3C,0x1E,0x27,0xAE,0x23,0x59,0x87,0x8F,0x08,0xA5,0x53,0x42,0x61,0x90,0xA0,0x20,0x20,0x74,0xEA, +0x2A,0xB4,0x90,0x2C,0x4A,0x69,0x53,0x1C,0x22,0x4E,0xEE,0x70,0x2F,0x22,0xB4,0x3D,0x27,0x01,0x9F,0xB9, +0xBB,0x0E,0x70,0xE1,0x67,0x29,0x03,0x99,0x92,0x98,0x50,0x8E,0x53,0x89,0xC6,0x12,0x44,0x17,0x4A,0x54, +0xA1,0x80,0x52,0x4E,0x42,0x43,0x42,0x71,0x7B,0x1C,0xC6,0xFE,0x6D,0x79,0xD2,0x6E,0x72,0x9F,0x9F,0xE5, +0xCE,0xE2,0x3B,0x9C,0x2E,0x2A,0x75,0x49,0xEC,0x06,0xB0,0x41,0x1A,0x63,0xBC,0xB4,0xF9,0x5D,0x06,0x50, +0x4B,0x7E,0x82,0x94,0x39,0xD5,0xBA,0x48,0x4D,0xC1,0x73,0x14,0x42,0x93,0x8C,0x2F,0x1E,0x5F,0x65,0x9C, +0x20,0x9F,0xF0,0x07,0xD7,0x91,0xDB,0xA4,0x85,0xB8,0x3B,0x8E,0xA3,0x09,0x85,0x6B,0xEF,0x71,0x1A,0x20, +0x8A,0xAC,0x7E,0x4A,0x50,0x68,0x0D,0x2A,0x95,0xB7,0xA3,0xF8,0x73,0x3B,0x83,0x31,0xCC,0x43,0xEC,0x73, +0xA5,0x61,0xB8,0x84,0xF1,0x2D,0xE1,0x8F,0x01,0x8F,0x16,0x6A,0xBA,0x92,0x1A,0x9A,0xA9,0xDB,0xEB,0x82, +0x6E,0x24,0x1F,0x4A,0x6C,0x25,0x51,0x7B,0x1C,0x73,0x1E,0x47,0xD2,0xDE,0x4A,0x69,0x35,0x69,0x32,0xCF, +0x1F,0x5D,0xC7,0x7A,0xD5,0xD7,0xC8,0xF7,0x40,0xA9,0x9C,0xF8,0x28,0x6C,0xA3,0x90,0x4C,0xA9,0x1B,0x91, +0x20,0x08,0x71,0xCD,0x64,0xDD,0x2C,0x0D,0x8D,0x00,0x71,0xE4,0x92,0x08,0x4D,0x71,0x27,0xA1,0x53,0x80, +0x32,0xBC,0xBB,0x63,0x91,0xF7,0x87,0xE7,0x97,0x73,0xE7,0xF5,0x8B,0x69,0xDC,0x87,0x3F,0x67,0x83,0xD1, +0xEC,0x64,0x34,0x85,0xD1,0xA1,0x98,0xF6,0xDF,0x1D,0xF5,0xDF,0xC1,0xC7,0x51,0xB7,0xF5,0x69,0xF2,0x7B, +0x5F,0x2C,0xBF,0x08,0x0E,0x87,0xA3,0x93,0x7E,0xFF,0x75,0xE7,0xE5,0xD9,0xFC,0xC3,0xEB,0x5D,0x01,0x3E, +0x0C,0x9D,0xCB,0xF7,0x33,0x67,0xB4,0xF5,0x43,0x14,0x9C,0x06,0x33,0x3F,0x1A,0xF5,0xDF,0x7D,0xB8,0xBC, +0xBB,0x8A,0x46,0xD3,0xC1,0x87,0xEE,0xEC,0xE3,0xD6,0xFB,0xC1,0xC7,0x0F,0x3F,0xDD,0xE2,0x9F,0x4F,0x5F, +0x7D,0x1C,0xCE,0x01,0xE1,0x38,0x1E,0x8C,0x2E,0x0F,0xDF,0x1F,0x4E,0x3F,0x1E,0xFA,0x27,0xF7,0xE3,0xF0, +0xEC,0xF0,0x45,0x7F,0xDC,0xDF,0xF2,0x31,0x9E,0x0E,0x2F,0x0F,0xB3,0x97,0xAF,0xCF,0xA7,0x84,0xCC,0x06, +0x1F,0xCF,0x86,0xFE,0xD1,0xB3,0x37,0xA3,0xD3,0x3E,0x99,0x9D,0xBD,0xBA,0x74,0x6E,0x5F,0xBC,0x3E,0x3A, +0xF6,0xAF,0x5E,0x5D,0xED,0x1E,0x6F,0x77,0xBE,0xFF,0xFE,0x6D,0x70,0x4E,0xE8,0xF0,0xEE,0x73,0x7F,0x7A, +0x34,0x7F,0xFE,0xC0,0x86,0xB3,0x97,0x77,0xB4,0xF3,0x3E,0xFE,0xF4,0xF2,0xE1,0x2D,0xFC,0xBF,0xB8,0x68, +0x8D,0x07,0x5D,0x36,0x7A,0xF7,0xF2,0xFD,0x16,0xFB,0xE1,0x59,0x72,0x78,0x7C,0x7C,0x17,0x8D,0x2F,0x3A, +0x51,0x70,0x3B,0xE1,0xCF,0xB7,0x79,0x72,0x35,0xCD,0x3E,0xFE,0xFE,0xEC,0xD5,0xAC,0x73,0x8E,0xD1,0xD5, +0xAC,0xF5,0xF0,0xF9,0xE1,0xF9,0x6C,0x78,0x7A,0x77,0x16,0xA2,0xFB,0xB3,0x33,0xFF,0x73,0xD4,0x0A,0xD1, +0x0F,0xE7,0xC3,0x10,0xA5,0xDD,0x51,0xD0,0xEF,0xB4,0x8E,0xB6,0xFA,0x3B,0x3C,0xBD,0x3C,0xA2,0xC7,0xDB, +0x9F,0x06,0xCF,0x0F,0x0F,0xBB,0xF1,0xF8,0xF7,0xAD,0x17,0xB7,0xBB,0x2F,0x46,0xBB,0xEF,0xC6,0xEF,0xFA, +0x83,0x9D,0xC3,0x11,0xBA,0x1A,0xBC,0xEB,0x4F,0x76,0xC6,0xB3,0xD9,0xEB,0xD7,0xC3,0x9F,0x82,0xFE,0xE7, +0xB4,0x7F,0x3E,0xEF,0xDF,0x9F,0x8C,0xFA,0xA7,0xAD,0xD7,0x27,0x6F,0x9D,0xEE,0xE0,0x6A,0x7B,0xFA,0x76, +0x77,0x7E,0xC8,0x4E,0xFA,0xEF,0x0E,0x9D,0xE9,0xAB,0x56,0x84,0x3E,0xC6,0x47,0xDB,0xD3,0x97,0xBB,0xE4, +0xE2,0x0A,0xF5,0x5F,0x1E,0xBE,0x62,0xE4,0x32,0x3A,0x1D,0x39,0xFD,0xFE,0x9B,0x73,0xFC,0xD3,0xD1,0x36, +0x7A,0xBD,0xE5,0x7F,0x00,0xFD,0x8F,0x7E,0xC6,0xDF,0xB7,0xFA,0xF3,0x73,0x27,0xF4,0x7F,0xC0,0xC3,0xD3, +0xAB,0xA1,0xBC,0x9D,0x93,0xF0,0xA7,0xE1,0xED,0x20,0x7B,0x17,0x1D,0x1D,0x99,0x1A,0x8D,0xDB,0x29,0x4E, +0x30,0xE2,0xF5,0x58,0x55,0x3A,0x07,0xD8,0x56,0x65,0x85,0xB9,0x93,0x8A,0xC0,0xDA,0x0E,0xB0,0x1F,0xA7, +0x48,0xEE,0x01,0x04,0x9C,0x0A,0x13,0x5B,0xFE,0x28,0x43,0xAD,0xA6,0x22,0xAD,0x86,0x68,0xA0,0x19,0x85, +0x23,0x44,0x84,0x02,0xCE,0x1D,0xF1,0x71,0x3B,0x21,0xF7,0x38,0x6C,0x4B,0x64,0xD7,0x31,0x17,0xD2,0xD9, +0x8A,0x6D,0x88,0x92,0x48,0x51,0x2D,0x16,0x82,0x4F,0xC8,0x17,0xC9,0x01,0x5C,0x26,0x82,0xCF,0xDC,0x77, +0xE2,0xB4,0x3D,0xCE,0xA6,0x13,0x72,0x0F,0xDE,0x3C,0x21,0x94,0x70,0xAC,0x75,0xD9,0xF2,0xC7,0x82,0xCC, +0x2D,0x7E,0x98,0xA4,0x28,0xC2,0x4C,0xFB,0x9B,0x64,0x16,0x93,0x34,0x8E,0x16,0x55,0x04,0xE4,0x71,0x6D, +0xB2,0x5C,0x7E,0x95,0x25,0x61,0x8C,0x40,0xCC,0x35,0x61,0x43,0x05,0xD3,0x54,0xB8,0x55,0x19,0x54,0x0B, +0x37,0xDB,0x02,0xB7,0x6C,0xB8,0xF5,0xD6,0x4E,0xE5,0xBA,0x6D,0xB9,0x57,0x04,0xFB,0xBA,0xEA,0x6B,0xF1, +0xA0,0x16,0xEB,0xBE,0xE2,0xA0,0xD2,0xF5,0x87,0xAB,0x43,0x54,0x64,0xA8,0x18,0x50,0x51,0xBA,0xBB,0xEB, +0xD4,0x42,0x05,0xEC,0x5B,0x7E,0x85,0x65,0xC6,0xB4,0xBE,0x4A,0x52,0xB8,0x0D,0x3C,0xFF,0x02,0xCD,0x52, +0xA6,0x26,0x6D,0xA0,0x59,0xA6,0x3B,0x25,0x42,0x95,0xF3,0x24,0xAF,0x25,0xE9,0xC7,0x52,0x01,0xB8,0xE4, +0xE6,0x99,0xE0,0xE6,0x8B,0x5A,0xDD,0xDE,0xFD,0x26,0xE7,0x61,0xC7,0xF9,0x66,0x69,0xAB,0xBD,0x65,0x3E, +0xEE,0x3A,0xF0,0xA7,0x48,0xBB,0xCF,0x2B,0x16,0xC6,0xCF,0xC4,0xDF,0x82,0x41,0xA0,0x53,0x07,0x6E,0xEF, +0xFC,0xF0,0x3C,0x18,0x17,0x40,0x25,0xD8,0xD3,0xF0,0x14,0x05,0x24,0x63,0xEE,0x33,0xE7,0x1B,0xA5,0x4F, +0xB8,0x3E,0x90,0xBD,0xB8,0x5C,0x35,0xA9,0x2C,0x96,0x25,0x84,0x6A,0x5B,0x4C,0x13,0xF7,0x8D,0xD2,0xD2, +0x30,0xEB,0xA9,0x1E,0x5C,0xA4,0x32,0x4D,0xB1,0x7F,0xE1,0x7C,0xB3,0xE0,0x29,0xA2,0x6C,0x12,0xA7,0x91, +0x9B,0xC6,0x1C,0x71,0x6C,0x38,0xE6,0xB2,0xEB,0xAC,0x03,0x6C,0xEF,0x3A,0x01,0x9E,0x9A,0xCB,0xE5,0x5E, +0x07,0x92,0x9A,0x2C,0x78,0xFC,0x94,0x24,0x7C,0x7F,0x92,0x51,0x5F,0xF0,0xA0,0x4D,0xB1,0x81,0xCD,0x45, +0x8A,0x79,0x96,0x52,0x2D,0x88,0xFD,0x4C,0x18,0xBB,0x3D,0xC5,0xFC,0x44,0xD9,0xFD,0xE1,0xC3,0xCB,0x00, +0x76,0x2C,0x4B,0x04,0x7F,0x2D,0x02,0x38,0x30,0x9C,0x97,0xE3,0x34,0xF6,0x43,0x82,0x01,0x22,0xAF,0xF1, +0x83,0x81,0x2D,0x5E,0x22,0x62,0x5B,0xAC,0x1B,0x46,0xB1,0x0D,0x80,0xD4,0x5C,0xDC,0x81,0x16,0x90,0x87, +0xAF,0xF9,0x8D,0x45,0x3C,0x0A,0x1F,0xBD,0x7C,0x3B,0xD9,0x47,0x07,0xED,0xAE,0x8B,0xF6,0xC9,0x41,0x17, +0xFC,0xCB,0xAC,0xD1,0x57,0x27,0xFF,0x44,0x42,0x3C,0xCA,0x5D,0x4E,0x1C,0x54,0x51,0xEB,0x18,0xE4,0x62, +0x06,0x8A,0x34,0xBF,0x33,0xCE,0x07,0x9A,0x71,0xFD,0x7D,0xFB,0x87,0x9B,0x3F,0xBA,0xD7,0x4E,0xBB,0x7B, +0x63,0xFE,0x66,0x76,0x88,0xCD,0x31,0xE3,0x06,0x45,0x77,0x64,0x8A,0xC0,0xCE,0x6D,0x91,0x6F,0xFB,0x53, +0x90,0xC2,0xEC,0x95,0x67,0x10,0xC5,0xDE,0x96,0xE3,0x6C,0x78,0xF8,0x00,0x85,0x18,0x58,0xD7,0x4F,0x2E, +0x2F,0xCF,0x2F,0xAF,0xF5,0x16,0x6E,0xE9,0x37,0xAE,0xA6,0xB7,0xA8,0xE9,0x72,0x3B,0xC5,0x93,0x14,0xB3, +0xD9,0x05,0xE2,0x33,0x23,0xB0,0xEF,0x50,0x98,0x81,0x2E,0x04,0x23,0xB1,0x07,0x8A,0xD3,0xC7,0x19,0xD8, +0x0F,0xD5,0xCD,0x5E,0x6C,0x13,0x4A,0x71,0x7A,0x3A,0x7C,0xFB,0xC6,0xD3,0x2F,0x15,0x92,0xF6,0x86,0x30, +0xAE,0x5B,0xF2,0x46,0x6C,0x94,0x24,0x98,0x06,0x47,0x33,0x12,0x06,0x46,0x6C,0xF6,0x04,0x09,0x5F,0x92, +0x90,0xC5,0x08,0x50,0xF0,0x6D,0x55,0xB5,0x4E,0x40,0x72,0xDD,0xF2,0xED,0x28,0x0B,0x39,0x49,0x42,0xEC, +0x6D,0x74,0x61,0x46,0x51,0x04,0x30,0x91,0x8A,0x05,0x8C,0x04,0x9E,0xAE,0x02,0x92,0x0A,0x63,0x6B,0x4F, +0xF1,0xD5,0x29,0x41,0xE3,0x94,0xA0,0x8E,0x9B,0x80,0x54,0xBA,0x15,0xD8,0x55,0xB9,0x0C,0xB3,0xFC,0xA8, +0x02,0x16,0xE0,0x09,0x02,0x4E,0xDE,0x83,0xE4,0xB0,0xDA,0x59,0x77,0x50,0xA0,0x0E,0x62,0x4D,0x8D,0xB0, +0xBA,0x46,0xD4,0x55,0xAE,0x43,0x66,0x0A,0x39,0x6D,0x22,0xA7,0x75,0xE4,0x23,0x69,0x11,0xEB,0x90,0x53, +0x85,0x1C,0x36,0x44,0x0C,0xA5,0x88,0x2A,0xCA,0xB5,0x85,0x36,0x41,0x20,0xC0,0x0E,0xEB,0x62,0xC2,0x0C, +0x9C,0x12,0x8D,0x43,0x1C,0x78,0x1B,0x0E,0xCC,0x44,0x61,0xED,0x6D,0x39,0x6B,0xCE,0x08,0xD5,0x19,0x59, +0xE3,0x8C,0x4C,0x9E,0x41,0x12,0x50,0x22,0xE4,0x0E,0xDD,0xCA,0xA4,0xD6,0x9A,0x2B,0xEA,0x38,0x7F,0x86, +0xFD,0x5B,0x28,0xEF,0xD7,0xB1,0x9F,0x99,0xB0,0x4D,0x6E,0x10,0x6C,0x6C,0x20,0x79,0x50,0x22,0x0F,0x92, +0x3D,0x0A,0x1C,0x94,0xD8,0xE0,0xFE,0x9E,0x38,0xCE,0x4A,0xEA,0x3A,0x39,0x0F,0x03,0x8D,0x80,0xFD,0xAF, +0x23,0x9B,0x28,0x8E,0xA3,0xA6,0x4A,0xA3,0x3A,0xBA,0x36,0x40,0x77,0x78,0x2D,0x72,0x64,0x5A,0xA9,0x1D, +0x53,0x3F,0x24,0xFE,0xAD,0x57,0x79,0xB3,0xB9,0x30,0xEA,0x13,0x41,0x9F,0x7B,0x14,0xCF,0xB5,0x9F,0x20, +0x3A,0x1D,0x23,0x8E,0x7A,0x3C,0x27,0x63,0xE4,0xA6,0x83,0x81,0x10,0xB4,0x77,0x98,0x71,0x66,0xA3,0x00, +0x96,0x2F,0x46,0x43,0xDD,0xD2,0x3B,0xE2,0x62,0x74,0x70,0x68,0x62,0x2E,0xCD,0xD2,0xA5,0x2C,0x2A,0x83, +0xFB,0x28,0x0D,0xAB,0x25,0x18,0x14,0x46,0xB7,0xB4,0xA2,0xB5,0x3C,0x91,0x89,0x51,0x2A,0xB0,0x60,0x0A, +0xF9,0xD8,0x16,0x67,0x18,0xB9,0x09,0xE8,0x26,0x44,0x3F,0x65,0xBF,0x86,0x69,0xA1,0x26,0xD3,0xA8,0x64, +0x3A,0x45,0xF3,0xC2,0x4E,0xD4,0xF9,0x3D,0xE5,0xE5,0x0E,0x24,0x61,0xCA,0xB8,0x86,0xBD,0x1D,0xE7,0x87, +0xDD,0x1E,0xDC,0x86,0xA1,0x7C,0x17,0x00,0x7B,0xDC,0x06,0xEB,0x9A,0xF2,0x59,0xCF,0x6F,0x79,0xB9,0x56, +0x02,0x8F,0xDB,0x2C,0x1B,0x33,0x9E,0x42,0x8A,0x33,0x7C,0xCB,0x6F,0x61,0xB3,0x79,0x8C,0xDE,0x8A,0xAD, +0xC0,0xB4,0xE2,0x56,0x6B,0xB9,0xA2,0xA0,0xF3,0x41,0x4D,0x43,0x48,0x68,0x08,0x87,0x0C,0x6B,0xD4,0xC6, +0xF7,0xD8,0x3F,0x8A,0xA3,0x08,0x09,0x12,0x0C,0xAE,0x2E,0x9F,0xE8,0xE6,0xD2,0x8A,0xD7,0x6A,0xE6,0x89, +0xC8,0x65,0xB1,0xA7,0xF4,0x08,0x91,0xD0,0xF3,0x6D,0xE1,0x2E,0x2C,0x17,0xEA,0xCB,0xB7,0x5C,0xC4,0x22, +0x85,0x72,0xED,0xDC,0x58,0xE5,0xC5,0xAD,0x97,0xAA,0xBA,0x77,0x61,0x75,0x8D,0x10,0x64,0x56,0x37,0x2D, +0x60,0xCD,0xD0,0x56,0x41,0xF5,0xE5,0xD2,0xF2,0x05,0xFF,0x33,0x44,0xA7,0xF8,0xEF,0x0B,0x50,0xF1,0x28, +0xBD,0xD4,0xA2,0x90,0x43,0x0E,0xDC,0x5F,0x6C,0xE3,0xFA,0x57,0xFB,0xA6,0x65,0x9A,0x07,0x5F,0x77,0xA4, +0x86,0x0D,0x6E,0x5E,0x77,0x6F,0x2C,0x04,0x60,0xFB,0x3B,0xF3,0x17,0x5B,0x82,0x1B,0xB0,0xDE,0x5D,0x4C, +0x02,0x4D,0x9C,0x24,0x9C,0x3B,0x9E,0x68,0x68,0x73,0xD3,0x00,0x93,0x6B,0x18,0x6B,0x8B,0xB7,0x74,0x1B, +0xD2,0xC7,0x72,0xB9,0x9A,0xD4,0x86,0x29,0xC6,0x2A,0x6B,0x96,0x00,0xC9,0x3D,0xC8,0xBC,0x1A,0xAF,0x4A, +0xA9,0xB1,0x55,0x41,0x61,0x51,0x66,0x7D,0x3B,0x2F,0x28,0x3C,0x5D,0x54,0x14,0x10,0x6B,0x56,0x97,0x65, +0xA7,0x07,0xEB,0x35,0x97,0xFF,0x76,0x8F,0x44,0x53,0x8D,0xA5,0xBE,0xA7,0xAE,0xE2,0x40,0xFC,0xF0,0xBE, +0x15,0xD9,0x6E,0xF3,0x37,0x7F,0xEC,0xE9,0x2D,0xB8,0x5F,0x6C,0xD3,0x78,0x6E,0x98,0xAD,0x6F,0x75,0x4D, +0x52,0xF4,0xF4,0x08,0xDD,0xE7,0xFD,0xBE,0x28,0x48,0x7A,0x1A,0xCC,0xCB,0x06,0x55,0x2D,0xA8,0x4E,0x1B, +0x65,0x3C,0xEE,0x69,0x45,0xA1,0xA3,0x3A,0x4D,0x5D,0xEB,0xEC,0x7F,0x5B,0xE9,0x00,0x81,0xE8,0x48,0xDD, +0x09,0x91,0xA1,0x29,0x13,0x01,0x0E,0x37,0xA2,0x0F,0xC9,0xDD,0x4E,0xC5,0x40,0x02,0x70,0xB2,0x92,0x39, +0xAD,0xC0,0x40,0xE6,0x81,0xD1,0xC8,0xB7,0x7B,0xA2,0x37,0xD9,0xBF,0x50,0x45,0xE7,0x5E,0x47,0xCE,0xF4, +0x75,0x8E,0x01,0x9A,0xA7,0x80,0x6E,0x95,0x65,0xCE,0x38,0x0E,0x1E,0x6A,0xC5,0x11,0x3B,0x7C,0x38,0x0A, +0x11,0x63,0x67,0x28,0x82,0xF3,0xFD,0x48,0x37,0x73,0x53,0xDA,0x77,0x36,0x37,0x9B,0x48,0x29,0x8E,0xA0, +0x17,0x52,0x5C,0x61,0x08,0x65,0xAE,0x0F,0x84,0x37,0x37,0xD7,0x31,0x26,0x9E,0xA8,0xBE,0xC4,0x15,0x05, +0x77,0x2D,0xC2,0xDF,0xFF,0xC4,0x9D,0xCA,0xB1,0x4F,0x69,0x35,0x05,0x9F,0x7D,0xCC,0xF6,0x71,0x3C,0xA7, +0x82,0xAB,0x92,0xF5,0x74,0x8D,0x42,0xAB,0xBC,0x50,0x5A,0x72,0x90,0xE3,0xB5,0x27,0xA9,0x32,0xE4,0x9A, +0xD1,0x15,0x30,0x30,0x37,0xBC,0x34,0xFF,0x1F,0x61,0x55,0x49,0xF0,0x94,0xAC,0xA1,0x69,0x85,0x6B,0x64, +0xC5,0x21,0xE6,0xB8,0x94,0x34,0x5C,0x2B,0x29,0xFB,0x7F,0xF8,0xAD,0x3C,0x84,0xA8,0x4A,0xB7,0xEE,0x23, +0x01,0xB9,0xD3,0x21,0x57,0x78,0x4D,0x0A,0xCC,0x4F,0xE3,0x30,0x1C,0xC6,0xC9,0xC1,0x13,0xEB,0x6E,0xB9, +0x9E,0x0F,0x0A,0x36,0xAB,0x2D,0x96,0xBF,0x96,0xE8,0x1B,0x3C,0xE1,0x07,0x4F,0x01,0x9E,0x26,0x5B,0xED, +0xB1,0x02,0x0F,0xDB,0xA0,0x3C,0x58,0xFD,0xB9,0xE5,0x5B,0xAC,0x9C,0x5D,0xB5,0x62,0xB8,0x0B,0xBF,0x50, +0x92,0x27,0x94,0x64,0x91,0xB5,0xA1,0xAB,0x5A,0x17,0xED,0xA5,0x17,0xB4,0xF4,0xE4,0xBE,0x5A,0xE3,0x71, +0xE2,0x31,0xB5,0x84,0x0C,0x62,0xF1,0x95,0x4B,0x59,0x17,0x50,0x52,0x8F,0xD8,0xF1,0x64,0xC2,0x30,0xFF, +0x20,0x82,0x99,0x15,0x96,0xF3,0x53,0x19,0xCC,0x7A,0x30,0xA5,0x51,0x9C,0x31,0x1C,0x67,0xBC,0x59,0xF6, +0x94,0xC2,0xEC,0x05,0x7F,0xFC,0x51,0x4E,0xF6,0x83,0x56,0x5A,0x4D,0xAF,0xF6,0x58,0x6D,0xB2,0xCF,0x5A, +0x21,0x84,0x82,0xFF,0xD8,0x52,0x48,0xDD,0x52,0x62,0x11,0x4B,0xAD,0x58,0x59,0x0A,0xAB,0x6C,0x9D,0x89, +0xBA,0x14,0xD5,0xBC,0x5D,0x18,0xB4,0x6E,0x16,0x6D,0x57,0xDD,0xCB,0x91,0xC5,0x56,0x83,0xC0,0xFA,0xE2, +0xC0,0x37,0x04,0x55,0xD0,0xFA,0x9B,0x78,0x8E,0xD3,0x23,0xC4,0xB0,0x01,0x39,0xB3,0x8C,0x58,0x12,0x6A, +0xBA,0xC1,0x9A,0x5D,0xA0,0x04,0xAA,0xC0,0x79,0xE1,0x11,0x53,0x51,0x7D,0x83,0x7C,0x59,0xE3,0x04,0x6C, +0x8B,0x07,0x03,0x90,0xFA,0x58,0x35,0x1B,0x50,0xA7,0x61,0x9B,0xC1,0x35,0x5F,0xA4,0x71,0x82,0xA6,0xB2, +0xB9,0x86,0x35,0xE1,0x1E,0x05,0xB5,0x5A,0x6A,0x2D,0xEB,0x51,0x99,0xD6,0x1F,0x67,0x75,0x2C,0x33,0x37, +0x54,0x08,0xAB,0xC9,0x9B,0x9B,0x6C,0x4E,0xB8,0x3F,0x13,0xBE,0xED,0x03,0xC3,0x3A,0x87,0xCE,0xC0,0x95, +0xA3,0x19,0x8F,0xAA,0x51,0x98,0x0F,0x3F,0xB1,0x7C,0xE0,0xB3,0x62,0x74,0x5F,0x03,0xC6,0xB4,0x00,0xC7, +0x74,0x92,0x0F,0x09,0x25,0x05,0x9D,0x02,0x58,0x7C,0x26,0x49,0x3E,0x4A,0x66,0xC5,0x68,0x86,0xEF,0x4B, +0xBC,0xB8,0x80,0x06,0x58,0x77,0xD5,0xF5,0x6D,0x38,0xCB,0x7C,0xD0,0xAD,0xC4,0x0F,0xFE,0x3B,0xF1,0x13, +0x3A,0x2D,0x84,0x49,0x8A,0xD1,0x94,0x14,0xA2,0x8C,0xA3,0xE4,0x8B,0x8C,0xB0,0x7F,0xDB,0x17,0x1C,0x9F, +0xBC,0x39,0x19,0x9E,0xD4,0x4B,0xC4,0xFA,0x2B,0x02,0xFF,0xAB,0x36,0x9D,0x9B,0xAE,0x91,0xD4,0x3D,0x05, +0x66,0xBE,0xF8,0x3C,0x8B,0x03,0x59,0xF4,0x41,0xC0,0x37,0x12,0xA0,0xAE,0x9B,0x66,0xE3,0xA1,0x21,0x6D, +0x3C,0x60,0x54,0x81,0x3E,0x7F,0x19,0x00,0x3D,0x6D,0x6E,0xD6,0x18,0x91,0xEB,0xD5,0xE3,0x07,0xB5,0x74, +0x55,0xA7,0x49,0x67,0x43,0x4F,0x15,0x34,0xC8,0x2C,0x5B,0x06,0xE2,0xD1,0xDC,0xD1,0x2D,0xD1,0x3D,0x90, +0x7D,0x1F,0xDA,0x86,0x96,0xA9,0x1A,0x7E,0xCF,0xF3,0xE8,0xB5,0x7F,0x23,0x9B,0xC6,0xCD,0x4D,0xD4,0x2C, +0x7A,0x0C,0xC7,0x92,0x40,0x71,0xA0,0x1C,0xC9,0x76,0x15,0x64,0x01,0xB6,0x1C,0xEB,0xD5,0xE0,0xFC,0xCC, +0x4E,0x50,0x0A,0x1E,0x47,0xCD,0x7A,0x90,0x08,0x95,0x80,0x4D,0x6D,0xBF,0x38,0xA9,0x55,0xE3,0xF2,0x7B, +0x21,0x97,0x2F,0xAD,0xD4,0x10,0xE4,0x54,0x9F,0x2B,0x72,0x78,0xFE,0x80,0x07,0xA9,0x27,0x29,0xD2,0x50, +0x15,0x45,0x92,0x7A,0x10,0xE7,0x77,0xD9,0xFA,0x1E,0xD4,0xE2,0x33,0xC2,0xEA,0x5D,0x48,0xC3,0xE5,0xFF, +0xE6,0x8D,0x2D,0x8B,0x91,0x22,0xB7,0x5A,0x50,0xAB,0x2F,0xFF,0xD4,0xE5,0xC8,0x86,0x69,0x51,0x45,0xC8, +0xCA,0x1C,0x75,0xC8,0x2C,0x84,0xEA,0x16,0xFD,0xA7,0x1E,0x42,0x0B,0x0F,0xA1,0x8F,0x03,0x04,0xBE,0x6F, +0x78,0x7B,0x79,0x4A,0x6F,0x0C,0x9C,0xDD,0xF6,0xCA,0x28,0x02,0x10,0x19,0x43,0x1A,0x80,0x4F,0x4C,0xAE, +0x7F,0x42,0x77,0x48,0xBD,0xDF,0x55,0xD0,0xF5,0xA1,0x42,0x6E,0xF7,0x7F,0x83,0x51,0xB9,0xB3,0x19,0x88, +0x18,0x0C,0x1F,0xC7,0x13,0xDE,0x08,0x4F,0x55,0xCC,0xAA,0x47,0x27,0x70,0xD7,0xDC,0x9B,0x35,0x5E,0xD3, +0x6F,0xCD,0xF5,0xC0,0x20,0x9F,0xF4,0xBD,0x5A,0x20,0x52,0x18,0x75,0xEB,0x59,0xDF,0xAE,0x34,0x1B,0x9A, +0xF5,0xE9,0x5F,0xFA,0x1F,0x3E,0x60,0x36,0x2B,0x5A,0x77,0x70,0xF3,0xDA,0x4C,0xD7,0x45,0xB6,0xF2,0x43, +0x8C,0xD2,0x81,0xE8,0x12,0x55,0x86,0x58,0xAA,0x0B,0xF4,0xA4,0xEB,0x1A,0xA0,0xB1,0x8E,0x7C,0x28,0xB6, +0x85,0x1E,0x00,0xA1,0x84,0x52,0x80,0x52,0x2F,0x06,0x9A,0xB5,0x45,0x04,0x8B,0x08,0x1A,0x9E,0x98,0xC6, +0xB7,0x88,0xD4,0xB7,0x13,0x80,0x90,0xFC,0xEB,0x64,0xE8,0xEB,0xAC,0xFC,0x22,0x24,0xA1,0x0A,0xA2,0xAE, +0xDF,0xCC,0xDF,0xC2,0xAA,0x67,0x08,0x5C,0xF8,0x4D,0x6E,0x20,0x1B,0x12,0x8D,0x89,0x82,0x60,0x80,0x19, +0x93,0x8C,0x0B,0xC1,0xDE,0xC6,0x01,0xC8,0x05,0x68,0x9D,0x08,0x46,0xE2,0x20,0x10,0x51,0x00,0x86,0x33, +0x1C,0xE5,0x10,0x0E,0x43,0x01,0x42,0x02,0xF4,0xB5,0xD4,0xD5,0x40,0x16,0x5E,0x84,0x4E,0xBD,0x6E,0xC7, +0xB1,0x1E,0x93,0x1D,0x31,0x3C,0x88,0x27,0x7C,0x88,0xC6,0xCC,0xD8,0x70,0xCC,0x35,0x3B,0x00,0x34,0x80, +0x70,0x62,0x6C,0x99,0xEB,0xD1,0x3F,0xC4,0xE9,0x2D,0x4E,0x8D,0x8D,0x6E,0xCE,0xCF,0x29,0x14,0x4C,0x21, +0xFC,0xE7,0x7D,0x50,0xFB,0x1D,0x7E,0x43,0x28,0xCE,0x29,0x33,0x40,0x9E,0xC5,0xF3,0x8B,0x94,0x50,0xFE, +0x56,0xF6,0x85,0x39,0x96,0xAF,0x9E,0x2B,0x64,0x08,0x2A,0xDE,0x31,0x16,0x22,0x9A,0xB9,0x8D,0xD7,0x0C, +0x6B,0x0C,0xF7,0x05,0xC1,0xD5,0x5D,0xCC,0x09,0x75,0xF5,0x23,0x9E,0x86,0xED,0x81,0x6E,0x45,0xC8,0x87, +0x89,0xDA,0x03,0xF3,0xA5,0x25,0xBC,0xD6,0xAD,0x47,0x93,0x8D,0x6A,0x52,0x15,0xD0,0x6B,0x9F,0x7A,0xAA, +0x97,0x0B,0x01,0x3C,0x0C,0xE3,0xB1,0x21,0x5E,0xA7,0x17,0xC2,0xE3,0x5D,0xBA,0x34,0x45,0x7A,0xFA,0xF2, +0xAB,0x8C,0x0F,0x61,0x97,0x5B,0xB8,0xF6,0xA8,0xD4,0xD2,0x75,0xF1,0x56,0x03,0x78,0x28,0x38,0xA7,0xE1, +0x83,0x0B,0x69,0xF1,0x2F,0xA4,0xCE,0x68,0x10,0x7F,0x49,0xEA,0x8F,0x2B,0x52,0x7F,0x5C,0x27,0x35,0x6E, +0xDE,0x16,0x4C,0x46,0x40,0xF6,0x2D,0xA2,0x68,0x8A,0x53,0x58,0x10,0x87,0xC0,0x05,0xFC,0x33,0xCE,0x52, +0xFC,0x65,0xCE,0x06,0x33,0x32,0xE1,0xAB,0xFC,0xA9,0xD5,0x7F,0xC7,0x65,0x8A,0x9F,0xE0,0xB2,0x28,0x30, +0xCB,0xBC,0xF1,0xD7,0x4F,0x25,0xD2,0xA9,0x3D,0xB8,0xC2,0xBA,0xBB,0xFE,0x0B,0xBF,0xAB,0x4E,0xFC,0x72, +0xFA,0x14,0x1F,0x2E,0x5E,0x5A,0x81,0xB0,0x89,0x66,0x59,0x1A,0xD3,0x43,0xA8,0xE0,0xDF,0x80,0x08,0x86, +0x32,0x47,0xEC,0x2D,0x96,0x16,0xF7,0x0C,0x50,0x25,0x74,0xC1,0x20,0x9C,0x2F,0xEB,0x5A,0x7B,0x06,0x29, +0x12,0x94,0x00,0x4C,0x42,0xA2,0xED,0x5C,0x1F,0x6C,0xDE,0xB4,0x20,0x43,0x79,0xF0,0x61,0x7A,0x30,0xD8, +0xBC,0xF9,0xCE,0xEC,0x4C,0x49,0xAD,0x26,0x92,0xB9,0x0E,0xF4,0x7A,0x4D,0x6F,0x3C,0xB4,0x84,0x10,0x56, +0xCF,0x85,0x65,0x64,0xB5,0xB0,0x7C,0xF5,0x82,0x8F,0x10,0xD1,0x29,0x7C,0xC8,0xD8,0x01,0xE1,0x69,0xCD, +0xF7,0x2B,0x7A,0xA6,0x46,0x80,0x55,0x7B,0xA8,0xD2,0x39,0xFC,0xD4,0x45,0x7B,0xC5,0x6B,0xC1,0x50,0x91, +0x85,0xB8,0xA7,0x06,0xF5,0x18,0x2B,0x92,0x74,0x71,0x69,0x39,0xD8,0x5C,0x0A,0x53,0xC7,0x13,0x42,0x71, +0xA0,0x97,0x79,0xF5,0xE7,0xB7,0x6F,0x4E,0x39,0x4F,0x2E,0x95,0x66,0x81,0x56,0x73,0xA1,0xBA,0x70,0x73, +0xC1,0xD3,0x87,0xA2,0x42,0x13,0x0E,0xAB,0x42,0xCE,0xCF,0xE7,0xE3,0x4F,0xD8,0x87,0x7C,0xF4,0x96,0x41, +0x32,0xDB,0xB2,0x05,0xFA,0x70,0x78,0x61,0xEF,0xDA,0x0E,0x94,0x0C,0x3E,0x82,0x94,0x2D,0x6E,0x6E,0xF9, +0x8F,0x90,0xB7,0xFF,0x19,0x32,0x81,0xB8,0xCB,0x20,0xB0,0x16,0xF8,0x4D,0xDC,0x59,0x1A,0xCF,0x25,0xDA, +0x49,0x9A,0x8A,0x4B,0x19,0xCE,0x08,0xD3,0xC6,0xB0,0xC8,0x70,0xAA,0x05,0x31,0x66,0x1A,0x8D,0xB9,0xC6, +0xB2,0x24,0x89,0x53,0xBE,0xA2,0x0F,0x5B,0x2F,0x1E,0x6C,0xDE,0x65,0x38,0xC3,0x41,0xBE,0x8C,0xD3,0xBA, +0x5E,0x64,0x71,0x05,0xEB,0x60,0xF6,0xD7,0x37,0x79,0xA9,0x95,0x51,0x2A,0xF2,0xC0,0x46,0x57,0xCD,0x41, +0xBA,0x19,0x50,0xF5,0x68,0x16,0x86,0xCB,0xDE,0x0A,0x2D,0xE8,0xB8,0x62,0x1E,0xCB,0xAF,0x28,0x16,0xBF, +0xE5,0x26,0xEE,0xAE,0xBC,0xA8,0x36,0xA9,0x3A,0xD6,0x86,0xB1,0x81,0x35,0x42,0x19,0x47,0xD4,0x17,0xD7, +0xA8,0x74,0x61,0x16,0x65,0x96,0xD8,0xDE,0x13,0xFE,0x29,0x6D,0xE9,0xC9,0xDC,0x2E,0x25,0xA3,0x9E,0xAE, +0x8B,0x8A,0x0B,0x8B,0xC2,0x15,0x45,0xAC,0x46,0xB6,0x8C,0xD8,0x26,0xF5,0x0A,0x70,0x4F,0xBE,0x83,0x37, +0xF7,0xAF,0xB2,0x51,0x94,0xD9,0x08,0x60,0x5A,0xB1,0xCF,0xA4,0x2D,0x4F,0x97,0x99,0xFA,0x40,0xBA,0xAE, +0x34,0xE0,0x08,0xF3,0x59,0x1C,0x1C,0xE8,0x07,0xBA,0xAB,0xC3,0xBF,0x4D,0xDD,0x82,0x5D,0x98,0xFA,0xE0, +0xFE,0xA3,0xCB,0x97,0x10,0xD2,0x92,0x98,0x62,0xCA,0x0D,0x04,0x91,0xDD,0xD3,0x5B,0x6B,0x20,0x05,0xF9, +0x6B,0x74,0x63,0xF6,0x9A,0xCA,0xC6,0xF3,0x95,0xEB,0x6C,0x5C,0x86,0x1D,0x53,0x11,0xE5,0x1E,0x80,0x79, +0x8E,0x1F,0xBD,0x63,0x5B,0xF4,0x71,0x3B,0x62,0x2E,0x76,0x04,0xCF,0x12,0x6B,0x00,0x58,0xC2,0xF5,0x2A, +0x25,0x3F,0x55,0x62,0x51,0xDB,0x47,0x61,0x28,0xBE,0x7E,0x07,0x5E,0xC5,0x61,0x19,0xB3,0x04,0x11,0x06, +0x02,0x30,0x3C,0xC4,0xF7,0xE0,0xD2,0xB2,0x4E,0x52,0x36,0x94,0xF7,0x25,0x40,0x9A,0xD7,0xCC,0xC8,0xB4, +0xCA,0xD9,0xE6,0x26,0xB7,0x0B,0x33,0x31,0x0A,0x24,0x26,0x82,0xBE,0x61,0x8A,0x9E,0xC3,0xA8,0x0B,0x29, +0x72,0xE8,0x23,0x6D,0x1B,0x4D,0x35,0x24,0x98,0x1A,0x05,0x0C,0x38,0xCB,0xD2,0x10,0x22,0xB5,0xA8,0x22, +0x1A,0xDB,0x18,0xA6,0x01,0x1C,0xE0,0xFE,0x25,0xB2,0x44,0xA5,0x75,0xAB,0x18,0xF0,0x54,0xF1,0xDD,0xA4, +0xC7,0xF3,0x5B,0x39,0xC5,0x32,0xF2,0x35,0x7F,0xF3,0xD0,0xD2,0x51,0x92,0x84,0x44,0x05,0xE6,0x0E,0x3C, +0x7C,0xCF,0xE7,0x6D,0x30,0xAB,0xA8,0x0D,0x27,0x28,0x2B,0x08,0xF4,0x35,0x1C,0xAA,0xB6,0xCB,0x12,0x0F, +0x16,0xEE,0x8A,0x8B,0x56,0xFA,0x33,0x56,0x7C,0xB4,0x49,0xA7,0xC9,0x67,0xED,0xB6,0xF7,0x76,0x56,0x40, +0x68,0x2C,0xBE,0x67,0x87,0x5C,0x03,0xE9,0xA8,0x3C,0xAD,0xE8,0x80,0xEA,0x71,0xC1,0x4E,0x32,0x36,0x33, +0x16,0xC0,0xBA,0xCB,0x2D,0xA5,0x2B,0x17,0x5B,0xCA,0x6E,0x5D,0x6A,0x15,0xF6,0xE1,0x42,0x0A,0x69,0xC4, +0x8F,0x3F,0xFE,0x90,0xB3,0xEA,0xB6,0x61,0xB6,0x72,0xE1,0x4B,0xF5,0xC6,0x5A,0x64,0x46,0x61,0xF4,0xAB, +0xB1,0x6A,0xAF,0xA3,0x1A,0x9B,0xE2,0x17,0x14,0x34,0x12,0x78,0x22,0xC9,0xEA,0xEA,0x31,0x18,0x46,0x13, +0x08,0x4B,0x36,0x34,0x42,0xC5,0xAF,0x76,0xEA,0xF9,0xEF,0x76,0xAE,0x62,0xEE,0x97,0x8D,0x99,0xE7,0x95, +0x55,0xB5,0x8A,0x39,0x6A,0x83,0xF7,0xC4,0x2F,0x2D,0xE8,0x0A,0x0C,0x7D,0xAB,0x1A,0xD8,0xE5,0xD1,0xE2, +0x58,0x2B,0x5F,0x44,0xEC,0x81,0xFA,0x22,0x66,0x96,0x54,0x66,0xA0,0xFC,0x46,0x2F,0xAB,0x76,0x9A,0xCB, +0x8A,0x33,0xF1,0x38,0xA7,0xC5,0xF9,0x4B,0x76,0x3D,0xD3,0x03,0xFB,0xD0,0x2A,0x0B,0x61,0x0B,0x07,0x95, +0xAD,0x72,0x39,0x03,0xE9,0x00,0x5E,0x6D,0xCA,0x92,0xF5,0x00,0x95,0x7B,0x57,0x17,0x55,0x6A,0x5F,0x5D, +0x2E,0xDB,0xAD,0xFC,0x2B,0x9B,0xDA,0x6F,0x9B,0x54,0x24,0x88,0x7C,0x8C,0x97,0xDB,0x9B,0xEF,0xF3,0x4F, +0x61,0x29,0x84,0xFD,0x3F,0x01,0xA4,0x40,0xDC,0x9E,0xCB,0x2B,0x00,0x00 +}; From 525a0f1e50380b2f7599893c210c4b0997535547 Mon Sep 17 00:00:00 2001 From: lorol Date: Wed, 1 Apr 2020 12:33:56 -0400 Subject: [PATCH 17/47] Added tool to help embedding htm file to code with one click See in /extras + improvement of rehg.c / exe and typo corrections in Readme --- extras/Readme | 6 +++--- extras/rehg.c | 9 +++------ extras/rehg.exe | Bin 2560 -> 2560 bytes src/edit.htm.gz.h | 2 +- 4 files changed, 7 insertions(+), 10 deletions(-) diff --git a/extras/Readme b/extras/Readme index 7c3ebfd..80ae784 100644 --- a/extras/Readme +++ b/extras/Readme @@ -1,8 +1,8 @@ ehg.c (ehg.exe): Tool to generate C-code array from file' bytes -Based on https://github.com/TheLivingOne/bin2array/ and compiled on TynyCC +Based on https://github.com/TheLivingOne/bin2array/ and compiled with TynyCC -rehg.c (rehg.exe): Tool to generate C-code array from file' bytes -Based on https://github.com/birkett/cbintools/tree/master/bin2c and compiled on TynyCC +rehg.c (rehg.exe): Tool to reverse C-code array generated by ehg.exe back to a file +Based on https://github.com/birkett/cbintools/tree/master/c2bin and compiled with TynyCC Tools used (on Win 10): diff --git a/extras/rehg.c b/extras/rehg.c index c72af51..8886b51 100644 --- a/extras/rehg.c +++ b/extras/rehg.c @@ -24,7 +24,7 @@ /* * rehg.c (rehg.exe): Tool to reverse C-code array to file converted by ehg.exe - * Based on https://github.com/birkett/cbintools/tree/master/bin2c + * Based on https://github.com/birkett/cbintools/tree/master/c2bin * and compiled with TynyCC https://bellard.org/tcc/ */ @@ -32,7 +32,7 @@ #include #include -#define BUFFER_SIZE 80 +#define BUFFER_SIZE 500 int main(int argc, char *argv[]) { @@ -92,10 +92,7 @@ int main(int argc, char *argv[]) pch = strtok(sBuffer, ","); while (pch != NULL) { - // Use atoi() to convert from decimal to a char. - //fprintf(outputFile, "%c", atoi(pch)); // decimal - fprintf(outputFile, "%c", strtol(pch, NULL, 16)); // hex - //printf("%s\n", pch); + fprintf(outputFile, "%c", strtol(pch, NULL, 0)); // autodetect pch = strtok(NULL, ","); } } diff --git a/extras/rehg.exe b/extras/rehg.exe index 06cfe4a03486b1d7662578683f05d88c3f6c7a1a..6e8e6f69b12b14702af34a64bb2ba956bda086f1 100644 GIT binary patch delta 536 zcmZn=X%LyPg3)2(N`0nZaT9MXV@#Ob$k@Wf!!((l$wFx@GXq2O5rG|y3=9k}Uo$c= zbi492A7I(3tl+>9*v%36V#?%1CT*nzureNqvUxCN96LQ>%G@WfW74h{MphQc$iT3J zfq{Xcv-Qj0|NpzeWb+Ru{$4|nWr7S03=px-gANcSuWxs|{t4Leg^__FptqIf-~ays zFD@{F9LV$f3Z~Rnh*a|r2L6`&3=9lA>bV$@bj}A$b9A=;0ox8D!Ag0-7K6AuL9XlI z*innDEd!?Q2Ur`31Z!gjIlAKi|NlGk6&w)mbA%~p`1im5e|IaxzyJTi>b*cN0$C6M z4uk-RRKN>Kum+xh9fcrcx?O(+yx@Zf?I;0>KvchY#R&2@M<>|8*UMl2|M&ktSnA|q z1_p-E&ZmuUR2Uc-CiJ?#2zZeMR?IS4j-`rGXYx#zbjBl-8CmmL>x3N`CQmM9Rp#6v U?7-0J%Clq1=7p^4Op7>}0C+&#wEzGB delta 461 zcmZn=X%LyPf{|n5N`0mniHWzCF=|Y1WNcx|V3^F#WT8~b%)romL|_La0|Ud$t&9u| z-L5>%2UvD0D>yI&c5?*2h?$(oq^+a@R>lKSmH|`7vC|W#jDPYvChhv$Od!*s%A^?? z7rogn)=ICj*+)doV< zy3Xl#odZ_N3Ubqg|NsB*$X9THI>H#HYDu^260j;4kd*=;W59k2=yqKa@InNvj3;16 zAxLMpf$NWe7n~5W9VH+kh}suV8A0K~(doM6^@f*fAge&`I(c}qJ Date: Fri, 3 Apr 2020 16:29:02 -0400 Subject: [PATCH 18/47] Added another tool to update acefull.js.gz from sources in addition to tools for embedding of edit.htm file Changed flags in do.bat to less aggressive edit.htm minifying w/o "Remove space between attributes" See: extras/update_ace.bat Updated examples/SmartSwitch/data/acefull.js.gz Updated Readme --- examples/SmartSwitch/data/acefull.js.gz | Bin 116297 -> 116605 bytes extras/Readme | 20 +- extras/do.bat | 2 +- extras/tmp1/placeholder | 0 extras/update_ace.bat | 14 + src/edit.htm.gz.h | 424 ++++++++++++------------ 6 files changed, 235 insertions(+), 225 deletions(-) create mode 100644 extras/tmp1/placeholder create mode 100644 extras/update_ace.bat diff --git a/examples/SmartSwitch/data/acefull.js.gz b/examples/SmartSwitch/data/acefull.js.gz index 57ab200896332c7dfdd0dc4c25eb9d06a86034ae..55e603987c85f75e218196817a418dc810c959d9 100644 GIT binary patch literal 116605 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 Yb6M<`Rn>o&|9T<+yimEL;~*OY0CPZWWB>pF literal 116297 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

Z}YrB|Nioq2TE5#iAP7EM0i55M8Ca$WIk!c30p zPXXfDa~JT~O-<_!&Ys?!@!e(1*E8qduYB@ndCoG9SA4v@XWrgxEqN{2mTUY`^O!D| z_zt&89E-Mo-Bq^xN|>=>AkSR(QwJ?N4=+7+R^-P`p6$=8t{iaM6dl`saG&kFX5CHq z<=IU__qr=v?D~3uc}?rtTK1;n0Swxkl)JPT#J}kKXmWJF3(+j8HIC{41%*l zPR%RIy*rylS96s?T!V4x?rD8xQ<~;wNbHIJm!_A|)%x-A>8p3<&aGwM7W3BKTKL`X zJDWE@Tv8pCQ&?W*rn~XBWsu6$+%Se1(E-S%3XnYx;7oMT&v9yYZ!z{^=X`bxz&WAT1L= zS>HId+2paY=~c6JFAl}#yH9=<`}_A^J43A*3U?NNxF>&I?at3NxBo_{clyYyx3$OZ z&c4;0k;(t^h+k{OcIk-YVz2TAROD7Z4uA4FPj`M#p^;d4bd%-NGs@$VZ zU07jeCA;L=5;pV8C#_`b_nce!;mQo3$9t9}b-uZlAFuH&NK)XW>YFohhnR$7)I$82 zS6(-azTtgi?SwPQht}!~yq}b}cE;jp-~JPeoV~4fAC;O^A0v2j`@^k0TTOQ@w{?0P zXqG4w@@vUk$?H3B-aC7&mid)YP_FcLZPge0tD;mT?fX(cMqe`b{BQXP50gIKKPZ(_G9F4DRyD5J8{n&nmI0% zYLq@*dD;2wq zJ0`@Wxm<7S6Zo1II#1jqM4`E!2XW(%iT;YQMTOm{EgPoLzzGUk_Yd$h%aCM&&LjA1!0 zQ)L5}?arR*H;dVIGS_ELhG!8E_8xnbb!TBSGyAV%kA1l_+gCI%G+f>EVC9h?E4Zz> zC1wF3jd>YY3I9KyoS4ZQb)9W{dbeh~9KM#Kd3eR7<$i+6v!*nD47#)E%*qdX z)%W}4626u>&99HxA@?R>X~nz@!;1nwy=S_nZSj=M-@9GL>!t#K=l;^#xI;R!+b7&N z^;uPymi{y5^ot<=swTEwnSU)m*|X;bPV~0_e#Xg(Q{m`uR=-@veHy==15Yp5z2L_V z;Zh}b&(pacTH4#@{G4>4JY>hZpc8K$T(VXynKH+T?Qmfw+m&EGwv}P}J3|8Zi3fk( zR_M!;f9CmFhu3F!*h+_%uitdag4=VM+q?_Q%ouCB#QtZ0So!Wt(Y&CKD`yt}FAivs z(^lEKuzK#*U+p(I>?&iXL{ByQVW_h0^|pz!+1n&}j;*vl@oaB+rMg5;cIWzAhW6=a z{i1IC+Mt%8@bBKksQI_kChBFxcf}HckSUWwOq9B!?&$}Y?J@+ zY_rH0yZ`jv`@OE|7sbsT-NepF@bqT}PyV-z?YBow_s#6$nJTf*mw&yt_Gt{$qsoQN zYnLu=k#)TorN8-QZrfIqOJ6wOUkdwEV>sb(#uxqej3fh=*Hf3UFIKsEuI965$Ci!V zxnFN5*PPxs|83Tvw984;bbp?DEMw+&uj{j6Ppx>b&!&c>+huCA%1*CacT08gyhQWI zOf#C^aB!>M>uPT--E^humqppf2a0UFS5LdTY|1*<*y1nQBJuT(k5=n2U;MT#=K2Tm zpP%_x?d2~yxX1ZY>ZP@xd3nPwYkNH2wAQqGo#E1}uIX7D&9Ww@RXucU`j@J2?)~0u z;T}aV<>S*Xr+!}jhVQ=X#GqEYYd4&Nbw7R&=`47@IkN4(!C~&HpGxkUcv!yhH#*+^ z@g5(>nkCahX)F59}w*_y6A^ zIKAlRx~csiZr`YPyI-qj{zyyo{8RVB#>v}ksvN%L-pjTF1MS0pd&zkNt43gHI6$>T^#ObeXN=E;>)Mf){1k_qCUv! zPn??ZJWyV9{*}<*(JKNazwZ21%I7js+;`KVS(OWY-E;mH`8g$UF0NkvW!rooWz#(~ z_w4_#GVRx%2XmKA2tULyS&p}A?<>w_YhFklj*d{W`?&Y2{$!VB^-Ct-4BWeK&Fn0z z%gz~_-8@eg+i%@DKS8H(#!((Yj|m5+f1i0UUB>fp@6+r0Dc+p(1OLXan^Y01++V9c zZ{e(m`92Fb|6i2(B=t|C`rGq|-kkp6Y=2L+YxU&kO3ESTOtyRdp08Bg`P@j@`}v$911ri#wC{Gbfxn>0T*WFS>eprU`d?O6zX*&hqAk)80OqzH5KQ%iLS_-j@!Po_PJX zIJJPcJlkPSj!DVX?{hcr`?0~LLC&K{)w)BkKFdnd{6LZA>-Ul;N^Wmk`7kVMqs{Z3 ze{M@`zb87Oe45T&cBS%1OM~|9>8rG{bYJ=L$S?j=4c^N4IQ;3f1dx!vnqqon>Ux|n0?}1pLKR>$gfga%LRu{ zGg*kcC&)9twP_A6D%h99w!gLcQJU4~;2zf1H$&atexAuS?cnRAO7~?`6c6}sPW@@f z_dzx7J?jUtio$ywj|_6_XIM_s|2J*@gUw7*HyhtKFKOE}!KL-G?M413?;02J6E&YJ z7ksI&G`n$Pk??0z<=eIfc8O}wS1&uuw7_LYf=||W%N>m}5+Y(Z413mkGw)>+c;a{~ z{BTWQqUp8}#(nen4kp`N|wlbMP5g#G%n%7eSw^XGm3>a4KlxcdhA zYvqT}UpT*MUjd76B`f=P)*1Td^W?*#st#7HxZ=pSlYPm#cQWUCr$$T-`M4%VoOj0Z zACdLCvJbbgO*?gd-Nw~oeJQ6uC1x+*{&L=`|3?HY7u=m|T_T>DuhdEkq&hb_a@P<4x4r^Gz!M4di;w(S%uxx!auc{xaU`c1zi zi}ESe0k?CQF7X@{^&NrL=J-K~m&xgX77xfniS6zmTPN>tAl1@mu<2O~kX(%Za9s7nDt(Wwfp%#;N(o&e_6dbNyD| z-1^TU^d|e-nxaWw-z-#DJ=()(Q+Dpn=AZpnOImjcs;@j@B+-|1$7IXVUmTYMPdj;u zoXGGza3{L<#oO>#f%#XKa8-PRr7?b*f_6=MgWAWLp}T(QaZHjsF^jd*TVZkF z>eJue-=D)1!fJnA%x%@Xie86p+wFT_9Nf03ElJ)+V!QE{=QhrgF?{=3Wj!us*}Q+h zR!P48e#%*qx~5}Wqg!YBJ51f3o3Y{QwXa`I)?bn655DptEJf`GtKlk{)qQJDKizdm z#yzb3n^E%oc2k#osXM}h7u|iRu-G>Ji}I4(+p({_{v`E2tqnamWzrkA8C|SP-`rsK zoS9&!vRLPY)`3sfktK6kZ>3D%b#b>wUsqj+sxo&e6$t zQco2h2iLagiQ3kpxcJhJHN>+k_46x?dkP>}qFOlH1cI zdu_!}&8d;Qp9Sx7U+$Q$yNEyE)~WTugDsv3FMm}mSIE0)>Gj84Z`z4M&yQZuij+GH zFW-wiY<8mH@`R=HqLuGO2YX7u%vpEKTJ8p!8m;T+pXv5ANXNZ+N8NT^ z^Ym*cuM5olp01;yS?cVsxMGFT+~)^sZDl$hEU<|!Dw(|LQ2d&sp*xjSCZ%Q`zBbk7 zUPN>InJ@7RQZGC&$V|Tf`OW3mu1#sb-(3rmw$GW$@b0ktbftLyWYYyb&Q8~#UsRQg zKIU9sX7h0U^t{N&#~(_~PoJ9|WA@NUl=q!$#qE~<4?@MaUjDW3U3Xxas&LJMn?+K0 z{vCC?x+$-2)ugv`7$+<=nje*z(0sS~SGU~3ZMT+8?&IN}*msZh@zv9Jf(vuv@2$0+ zHu=bGQQjWS4aYXJ+GQD@jwTJ?*KD<_ z)#sWieDtzppt_`vaI5D<4ZDThQOz-@HM07gP1;Ty96P`kwX~xq%a!Au=afRe|Jll! z^2^`9W|#DqG-eB|_gt!Z^Tx7U4@;ix+AE~MGUYAr4tFgRgBo$E_41W(+&}soB~Q-` z6Ipv)#CuAvT4a^v<)oXp)Du(!KSxKtT9MVecG}IX-nD774HogfV_DvNlYiQk|30eS z*`AWS*iU7YxVcHH{<`JwRdUgI@qFW7nyPLYN|94`MQ+W`*Gqr=bLAen^Jn!+A78#w z$G7wOB9Y4>Z=x%7#WXjjnP1~;x^|fBOoxJCM);abA$#lNJ-u$+k$AO6-Mq`jeO1cR zvQ@K7HnUjX&a+n0erdUHQt0lyFJ=*YcYiu#uhNxYi{fDJEqAj$~b#9bN$B&?=@rZ z_7rEGvs->NP`&lrJO{tS$K#yC=6syA)6GmYuCc>O>tfm-Sp(0Tm(LXDH|;zBrG4wH z{3v<;=NAF#CAv~^6e9;4@$&=(`?oHh1Fy&wMuB~6{6ZEzNtcC-bc4u^*{Cc z;W2sX=igDE5B+}hL_p&I&xKRgK6f;EKehPHT21Q(H)3voe-nKmV)dCFy86z)eAX=X z4qLM}itq2L0v=1&D>nDN%Dta3GTn{leirBS;)>WSv&UjfbY8`sigpkvoU~0`?plzj zUuz}z@#$Nh|5vJWEv?^w-06tYJ2`<@`euiwYi+XprSSCB0y*2hPR&gI#}gvHnKra& zr*MV84{zKMF?ZXpHC!sMnwAKP@dz-Q-CFyqHml<5h8bTgo8s@M$`}5wOj~5Va8-=h z5@BcYn#kWr6f~m(&1+|D4;SKGL1@@3sWD>vD~`GVR@Q*+QkF;X8Y^v zx=#GLV%4B|x^&4Ww@s&_{y&jt|5!A6QRp<$EaMiD2uJ0=rba&>dsW&lIQ!|}Jy*S( z|JL`!9m(=4@z`K?W%@tyTNn1LSzqHg{jBC#$JEYEQdwTTQ)T#5^)toAdJT1(QuFFA z+sr80Z7Y3D)2&Tdzqv!eMosdDyUq0#Q*Q5jWD+CE&Ty)Z;b`NMjoKHU&0wrv9j-a` z(}Op5%U+o-o@yA;)$;55oU-!Qk_We#>V4c$DstcQmxG1Pwm*D(YPxKDFNZTa-1K7> zy(YF(eNWr67avbli0%Jl8KA2BRru=rwJ%M-9{PUb!Fk=)pS5PM-oP!f`=-RyT-}T$ zi}%YbmmL53*XPByuQ^sN?zgUeotM1wkLdiam-7@a~qa#)gml%KFRhMhTewON(6o zlI_uVznsRcyO#R9XCJ+_=Jt!5zrUz>Mb7p<6{lY zKi%VCIb&PSJFT)f^u#pB^%v&sbklX)=Q7Xo!mgRo+^Q$S%zYf{9VMgW3{&9n)iF&#Luw)=l=f5i@(Yn z=B=ImMCwLUU45aI_x39>$FukhCK+82h*e+r(Wd9Y-MIZ;{?qQHMmFQ}M{bMWFPWNqxF~$r zA_pns7y2HhO}qQvu?O*dUw`A`lZ*59adOp~*m+n9E_TcCahobNA%$lTA;2s{L~{Ui~XWy@YN5Mv{JmfPs~%iB>)+0I z&CUPV4>R*z=T_d@t8Xp!zPfi?Y;EP^%^XkSugU0gelqB+FAD6wv{yP#bYvF1J{t*HFW8y1UEzWUH6m=b&1PpuqV_yUk`ZY`*z)=KZPcnOzH-%8&bcb!4e^ z2O6$aJAE<9WV7C^XX`?(s^?xRHBOqlp-Jpm@}i6Dy5k>DvYdZ6fVtZ-B05g`lIAH( z9?sf|qtW^k4ou285xRkOxxmcJ7TeannPw)sW=H<(lX+puQ|Gjt^Iq5I)i_gqKhKk^ zCot_6pXX1qY>wH&9ne7tXo-5)iGe3QyWcSl!_Zv^1 z$;>z`xAIVlt&<_wvzC8<8#I60hu^&){rlo#<#!wRS{}MF`{CX*ZL=q43g}PRUuC*= zW6+;7MMpn1|BA;=XXkmR-*8E3JQJ9P>VO-)j6$&9${X@j5WGWna>CPD9;TbA8E`!dA4BhJ1~-uTtw2=BmCD|JHmX3yOE@$>oFO9YR5?OsW6`cSsn12`OQcTROwyf}bam6&r&`(zjxHDda3%6` ztBbh>LuY-f;Qvqm3Y^)t@CPXW&xyRYO|@aa$X2O?w~lH(DokX)uupmJ>uTmFAs<^e zJa)32uO_55a~abqjVzX1i??hJvMmo&Wor(r&%U@&d%H~3)7AOcb6X@Nj)X5h?078O zVRb)`ylC1Uwo7&KQ{28t{kX8!HFM{&J96v?uN^z&^6upx;h3Ozx2{OZ9-Vh)#w~## zLbD}I%x$N-6u;=IRm7|Hv-!Pl-^cyQ64{XlpFcj{e_VRK zSZkHsoq#pZo6n1=)|VK>)Jj#KO}YQ5zIl~LcwRa4<{t7VQaat&9d@B{*8mHH7^7N{O06) z7X9P%4{0_rS*5t2#{)k6aBpC?t2Q@}G)Qo|lKiJwM%#b?!=`hq%X>^4JQ8k|g#=5? z{$;@Dzt7d@f6H1Ww^Y`c*P)iL|48hzON%`mHqZaC=x>(l%9^Ihzb0=uw0!o{gsFuk zm*x2+dAPsyeG!g5U2^%s_r8br&($5TzRuxVZE}R^OprL=$=?l{UaI^5y1ixfmq=Ws z-70Wg%2VCs#pJwM3+IQHO|30T-1ORjcb8&c{)Qs~r?r+&UGyi|v9WuLU5!l7Ta68q zd2cP$f5f)n=%>pJf2_|u46w6k`)?OlYh}^)pSk;5%Hz2UOmB8MvN{K|bT{8#%(>#O z;U;-o$304(vi#-Si#&apd)((XE^cO=Q)jY(QMP%*2V(~twQH(*{a4uE?R$3qo!!5a zx2Bfw^kx3||EEag;l+iEWujj&Pui6j%{66pz&fW*Z$9VE>3z9Qwx%R{QcZcC@g$wo z?q;l)uIK1v9=Jkg~6JfrWgCl#y0;`dt{#aum8P#yX{T4L3ooy=WvF&FlqOcW8+ z`E}&NtY7k14@_UuHSO4a>5o^QIc-gxRNe9~RZdSU_pD})_Hh~R^&1!PUcac?(qnR< zpmo1Z)we%sU%rY@|Hx@~|L>2_uTGwy{^c`gt!-V+C+WXG|9<+jy(8E?+`sO})Ar@p z_t*V@C@}wN`}6xTdnNhg@6L(&U$oOg?w*W1zvRD*;pgl3{a2~{dG+a2RhG!@lP73z z^*eO@!e8^rcV#C&T#@(Cl%w?9zaZ~?5pfT$lCmiP3uJwgqW@b2~9fnsp^_P*c`PZT1fp z%g)EX&Q#NxnY(zQnL(WGO11*oADQ!5*bXhZ>i8yY?#a(nTiZ-GE(v+NL~+*jDL2}# z*cq=j-?7ys_n4Nzlq(VULJnuH+W6G&_=HWRLP63Wf34h6TEp0M?XTt8Jz1A@8p`sW zm2!D*&dJy<+ne}7uP>$4@zQ>^e^INBui7H5Qp489xZ!1?zV!8=uf8ls3g!4VYbE2W z;$6B@-D{tQm_=yzg!r`Ct=KHRK-jl*+Ue$~gyuWKfuX8^?YPG!LdRn;WlNEpFwel^ij?a>t(Pgz@>Qccq zPTk!XiXKgnQs-0pX0m{5Lcj~xr*eLq7I;kbD+=PB|8#kV#NWWlr@9NB?Y%Wk=eY%R z9171eIzHt|;H4d>?QKJ6$oJ%}-LT+}m;RQxKU@2z`=lmlMircyiydjOH#usCH zV|6zk+xWe|J9XcbiIV;oE_k2f;@YeFoKHKz<&}@5d*{)I%cJWiEOmJ>Rk+-`GWtfC z_B*}n8r~BUeJ0FE+{m$>_hi}azWY4kv)iWJP6^Cif9zVK!K~y`rq)HNW>c=-2)K5x z)Plb@I5A|w?dVmGr+W>z=f7OJ?On?AeyN>T6V&=I%?h|N(>Lq2$HDuKHml!A>Do`K znPItd`ihK&w|+0$%n@(7?#Y2f5!RE_?Q4JcsyoImR1hvxShkP+28E1De{`E zo5B;up1o9+_gUq3BIFZs{5I+L5vWJH;LJ$uAc z?c>E*-noC2Pd;Y67ViJnr|DsU_Sr>-+aBr|z4={|WnXpB;zBojo|)*yh!?uQqgT!2 z+p;gwBzfPu2jAb7?N-}%UBRSeX+cm7tG3X@*+K%9N4cF(>#X$V4AU^bs1$og%{!uT zr%#5?rKRU5{pjUBz2DbV@XX()t5XzG-!R-WbMRu@*&F^bVe*G6Z_DoR?n}%wVv?^< z>((%>+o^LxRaqz>_goh*U(5RVKd5i#kR!zgbL0YF{n@>)yY6aK1?wF-sTB6i=FgMb*XgSd zx(dVvK2#L*$enWX<~pd4c7IqQ;lE`6-yEJwwQW3{+owgoUVGfry8GpJ;Z43Pm2T?) zQ!{(|X+w;&e~hG#nr7*Wj;{IZJVF)!n~EPgT_X9{TY7y)>yHUJ_xgp50u+nIxVNSU zbQ@WnUvOA+HP;TWvr-;^we_{484l%6pYE4ryS8Y?sUt;EPiKTxmPS3zsx33$DVVh2 z2h-gCi!1tbl=Chm3V(Teef`|dV;fGN4rY5YPu{9^htj%B>o&}GUGm#@@74{4$&WgF z+3asB1*xj3)exTdMH?lv#71 ze47%Vq^2b;)-^L}?;|eGdy@jW8yas&a(OAHPHQ-sn$W>^^^U}bG{^V%?s5nnYg%_x zVzTxr(;3qoe$Lsq;;i!g-_yKHpL+CVw=TSMWyQ|Mi6%`!uUe-zSIXSxZ&v9P-lu12 zA+Xx=?Dq4o@4MBXZHe3(dd%&~sXfnDyloU0b4%I#;o;$A!Rj|{EUWvktZZuadbD(J zvRJ|mMn~~=A7b`CXWaZDsAYQaqn!P-zw~)~{itldcgs`c=*;y_J9&aiT&LIGpD;ti zG%e<2qtx^ZJ7#mtV~o_?F?WS>!a2FBzZ=f)dNl7C+tIHt9&&_a@443N{Ib+6$Ux0~ zy;(wFTegepebb$Mfp7D~HtKX_E^n3BQC`-t)b`3jN%8rYPB@p$XIXaU@gZS_Pw6X8 zUkQ9JcVVNlxl`T+yBB1wJ>d~6xaBxQ=<`e3D}B}7 z4;LhK)dxrEzcAb()qYl8{)%UEHOG-#(T%#%uTzapDn1-^RquAZSY`SwD{aotiXAU4 z_G$+^?d&mZE;ubTch{b6zG6>X--Vt(Fg^UtzuKKlL06--UCl$XqdczVy1tQGJjc>u z*P{seQ|I0vto$TkyVq{T^c%UEi*Ku+G}cXuhC)Qf*#Yp?ik4qw;P7X7_it?Sp-t|ghp zjIytH$Zngn+4)-C{OapGvUj7lznHelby-^Ogfh3!qV}N|Us)}SQqa_4jIjKn#@z+Kmq>*y(ef|KvT(Cm&xv}Vtlrct0%7j^OWt;M^a3VtwHe5p0gQ$9Ssi}mG`*)vkOzp}5|opR}pobFDB zqUKen#eU`r zE+~1UWh}z-*LdC)u0_s~H&MBdTpcN<`gjW0`=4T{pBXT;q+k%jyFXm`u*!$a^C!KnqZqJ^-nf|fBFZ0&HphRm6`Ex&IGQ! z>hQhkd9qW~!IyaqEq5m$wun%=+z}{0?dp`4XC0f4tZBK`d|}NMj+u)+q|78`po z#D6e%I`G!T+1xbu-_GkreizoJg)6Aa9f?`;D6`mk0kmG4Jx`ZPwb;b_8G4WT<7%tUr{x+;p=2 zzID>E(j}W!`0sdDCmt2Cnzw3NRbJbTt=C?7I4+jVdwtqRa?iQ^x}!qE^ZlsWGgZ(=|dn9U1epNkDtkOzdH#p4u;ZmWQn$EevUIt%ylW7-vH!}-^O}KIoHO?vUus)wZgx8* z#lgC4i>u%)|J5zZH*!+n)L6|vpa1Oh(VLn5POh6zuC4bx@v_J9;t79KnZ6w#E2OemrH7w|JeTxw>y6GU;maWfuH}wCtaHW_MzH@hd?p|4(oVjOnf|TU-1}oz&!sy*O!M}I%UP^B_pID}=@kL+OA${9K z_YEoW$5Qq#TlUOu{%X(^;lzD(oE(r?&~65G=WERQ6+Glj!@8X@YFE!fxW>KbhA1HKj7}2nd#mzFVwX z(z0s(1B106M0RJtD}1NDDI_^4zdXGmyGt^=_V4j4mzLhqI=a9l zxM#%$?&QeThI^myYV&)ksDFE74NSO0sy`^e1u z|9>y}Z*6q$*yo=M{3TZeEdIT7mCNG$rbj;2mTT-z5xZ67!@4B3_Fi6U__hvPU8VDK zPn>)Ie306^{qJM@Q1<`dJf~GpuiqYOA^7t4sihmAuW+1u{=W6>=Zh!S-xZsd3AX(2a=D_X8?sLB>w+8199`}o8Lx*& z8|Z2tiJo*z<$KV~U$_6JrJ46jH-*;7?q!;tQeIYG1_sa06@R~4+;yZ#tL*z0`Qw)l z^uJJ^vPhYGa$oS%^b#fZV_#Zxf;ko%^5v&5d9K)U_WIi<1MjJ|7sKZ)d2jc>r#`~a zA?T=`6t95$Y4zUg)Ar?iy*I;*qe ziut0PMb194zKk&j{dXp3Fyvf1>sgz!-1$=V!NV_^W_3pYE!sBYrj7r8yK6^M4ccTn zjw`WVnsHRHqnRN%UNQ84M_b?wnUBkC93CC9SL|T*RG4v5WtPwUd3A+OIZxbdcC|3e zTx3?ABF#22kLl#fjy-*`Q*`7Pxk~uxdy2ko`RU48_a{ZL_hkLUcFoSU`X5~sHx{X- z$GVmIJ$!HC@litfbiD~@E=O+as?27b;q||#J@Y|;gkAco`Kih$Bt?u`eP&E>JbT{2o#lAZ`8gG~T*n2@YDep} zCth!l*?ViHKI1$&$H|-TtH^!)Gf&*h;=CLm2iK1ay34;a-j;f~##Jut#RZm0Z2Bp2 z6(^0(sEDu{=EWuiygn@E_SEpw$Cdm&lg@s&aC!V}_dSOHiK1HiKIQ(?rc9lG|Jdi) zpGV7{&wV=S!?TkD`|ru#bDR==DSFN|aobn>W0!32`CgY=EqC;l1(UXO>g8LX9Nx~> zVvw5lBF4=ow6)o3$-#M|AJ&?D*gSc%^rrm}J-?a9e2e;*&$i5 zKe*Dr|AL>AKkUwf#s|f4DF^5ikkoDJzW1%@PDrKI&}+~Z?|V3mYc_}d|CU! z*VR*QeLSVKZ*tiCg}aW;@v{(1+;Kv;XwCJNoQLiiOwZd>cITT9w^DcJ(-`mhpYtDm zDm9mvWB;%8y!_r_+v=L?yVJEwzF*6`x$M*Oh51+a?Pytj%QjhT?X|P@OPE)i|FX9+ zGmt zan9W9$b5bVyHRs!_1hJ1H*#IOx@>j$#l3SxcTZKwx9e;9TVhaUQat@NuTHe+gy@(^ z8&>OQl?T2VA4$_Q>0PfOAZX63czN^kKMs=uK2Dmy;rfqLpQc7N6#iSb(0ALtf7do# zjXs=zx%78&^`zj0CAU1oi@qPulWZ(qa$WoOoh6Rd7mjVJ{C;gxf|17``?U}2RqQg} ze|zElZ>!t-{eH}U7CYv*|H^*7e(%1EaykF3Ud-b!ufCcU{x&^-`R9MvHZ06(jp{aP zu6zBiyz5N7o>7a?=G!~YzMHpy*S4)2@3lrzx^ycZocRFP3`#drjDa`I{9Q-!AE2TO<(ftX{(;FblLLi@_PpV6KrEv zZ+rCeCgY|xancIej{EvfPMvAvTK#C|8G+w-O}`j_IJheP(|q>$XI{Ho@;1~P9XTx8 ztljnTyy9#V$*w=oABrB9`&{v>=K%AYpWhcSC;l;7rIBRvD{JDUh2{^AnYZPo-T1+@ z`QemhjUrF>Eq+|Ny^(P~JNs{wwSBuYJw$9P^cODlU*D{-RR3|LnexfSQqsv&1U`KJ z_&hx|`SNx6C;bklM`{_`fLCe8uY9F%>epoA=8_<18 zO4#&$e(2srkLGQ`ub5X#NT_`P3B6eG~shW9Mv~W=>+cbx3 zHuIlx{|;=M;n{5~yoZs3`9QmnacorOH>sVkEte|Rrglf&xQ)_*E4Mug|7 z@uAZ)!oOA9vgbZ@L&DsbnQBQ@noIm{l(r4t8PiZ{M6ecee^tQE0gw& zN1J#HI@@itEqlt|^-ef0;J!rr+^Lj=${){d8efPpxc^c6rnyHbs^L^dU1t7F6$SZa zf*F^2mbgxv7R|5Q6)n;G>d*|slF+>y)|(s>O^@tXv6v;m%rCWiuKvQ!dl&9m`e)k8 zt?gbxq8w1>&Cr zx_p%{Z(cL$iB!My@+V?EoTq~3HeX$TWLwkJg_rujG9I=M3kv^a73|Y+KmLY(OS00> z>Id)SC6f*Z7wZci5dF4iCQG+%_|!jQoLT?Ryo$-x(LSi-%W+A3$?}#ag(OWMmvxd4 z*KLf>7eCaV>YFx^r{&m#mW;p&(jt8-66Vho{Ozr8m)I`LITU_VNa)!l#=lBWjz(CE zGaO^d>dZ^(@lsagzQo-nyl&3RncAW!C-qebOw4t>Z@BsAnLwqv&peeUahmg~PJDD( z=I3d4**4G8w2)QSb~}Hhz2CgNearW`YCUHppX)yqX_mh&8r?a|e1gszqwfoUL`v*f z%AI}2{UFb*-_ntDm8WJgDZbCKd(L*wNHS_x6x&J3qu-)5R=J-jmTA0aT4i-Wz44uI z;M9Jto&HC(ZzfGU)+!_N`NqXFA9$WRK0M9A(>gtT=G6z=zkP8}YG%A4sxYtatEvB_ zx83Srj&NQ1BWw_OXIv(6F*J)s3Tl+-tewi(Ydwd3tbxA zpI`p%P~_NixaGVDQ%KiI%ZtBXRqZ-<$ZD=k-JbHYKW85v{dn@?$CDp#e%H!4*>Q-M z`J>z-2Hr`bADnh{Wq z_EtBS6^COUA2it&6#F?wVdC2vA3gVfe_9n{n4Gz8&C_UGx5=-kE?B4i&dPsg&C`GT zzC2(NiTvZjHsjPzPBuGf?k=Mhj~(y4=t=rmDZ!jNC_t z$`VO#jkW@&(~k}m&wTMvW6r0Kferq};ewaX8H?UANVl(+dfE9{wf5xXY5Oc}*Ij58 zm0Zrac)7rTmk^sz`A#R2?{iIDFx~uA)bnYk7I8dkwF|z=PKwwt$LR8j=UJ0Zt!wG` znYuG#QT4J`9?nZCJ%?r(b3`v$8TL(SX1}PX(1PMay_0)iul0DcFC@WLUHkQd6 zj2-m8nocs8I{aE;^E&gH#kC(ds_?%&xzH=$>xhPOlk}xqmW|6iSyyIChD{25V#Vd+ z!6nct`_gCXRNejjoF}5*{BUbqw8&mZK4w}-=d4dfhj%tOe~uFMEqunlc3Q^Cy6;mi zsKsw{71G$e$+K(qp+oOYR-JlLv)6I{>fE!&_pfJoid0$T9t)c+b$RZAwAvdjQ~YA` zPoMXnR@1TT&s@2(-zRfRMDOXeNpCF^P0dy4Jyi0-&rj0YR>p~M+TU--CVa^LyT|;> zmtQ|O+?RGLulgRAuIc=HgJ}rk4$~K3%ge3@TnpGLmUN+6?rU_~-#vRT-j=fCkTA-t z5N@g#+whWq>k@m5_ob(s>nB<_Un-F9W!@8aIAwC|OujbNhALjurU&moJzcNRdv)SN z-t5f@S0~M`mz=gnf8A@701<<0S*va`rMAw!eCE06>A*v;)P>{rf9C4>6MkmTzxHRl zH!C?5haY*e=b)XVyUd9ch69Y(r0r%l7DjJ&WL~>}qtd&bYyT$&?=|PR8J_nl=)GiD z|8osHo7&@3)*8z;+|l`cuJ`lZq8m9EV3+a37=2Y~x29f}lDwDc3>%*;^>s&mbnl$rF6F#5$>qwvotme^lz#10 z;``O`>$%CD7i*PytSWO~hu)jf*0H)bRN?q4(}t~*!B6E3i~B{B4wgmNa$NuGn4R(K zdGpf*3xmVGrAba%AGb1G&dnT4Zz z{JwDZ?X|}z{+(=Ccu+>prJ*~K`}^Xr%fju=l#e_u&fc9KD`NJ=Z}w}wqw5dO%-Q=Y zYRkQXs}FX~-KnIsMsd-~X$Iw&o@QN`cQfZw_yN9)X~$Pgy>II4xl)&Z?W`3dD(??G zh>i6%%nlSzcXm&DUTUauOJ(l#yzLVf&TY85OEmfRlZ6q636j6Ll9%=<9N4h?Pu#T2 zQ*9N392l*(O+Lgg|6^-=&&*x7S-;13HE%AOlXBkdzoW~M&Fmin@-}B1lk@*>7+%eqxvhNr-J)MbKb~aWc%qe{X}pq2 ze2Gt4_QT1~<^4>=HkBT`=T5>r%g8r_0lF zk9vQ}i{#oUvrXuM>1z?&Q=c{*KJE88Ci8*!%EL{YycBkJdAL=mZ+^3B`($IETX$H_ z=X{h3el*9ff9GPobGk=LC-!!d9M^pu$Kb-xb|6@?Y^QrHq{a>eZ@6FGZF%=>)ziX@v&a-Y% zyZGkfJ0S%XN426um!0Pt_wE*ay?o`$^UvZAUal(4`m}b-*R?kCCl-Hw9&(s_ldMP5 z{knp_xvL^pc{E*~^}Kz$ELX(B+h*~9-`^;&WPY+Xeq!H}EqmsNv~0{&U&EceX6^Np zt50R#x$?e>D=#GK-dt<0_1s%?4)|%C@0xd8^v|55n(>_nd&72K?XuogS+?7sVZIv%+e*S6bp}1KyXSP&blv>iTL?-dnr^&k+ z{C;@~{yb^9vs7*6PV1!Qj)5DSIbL2m_Vb(`)6cqe?})1%`6j$>(bCo`OfMJMo1A)b z?|jA6*4as$b+Ti+lo=l0FI;(OM@*t(V5oMPQR;afvm8}Pi&@v6?rr*cwBCF|gxE#Z zSGOOuX@3@dw0cTL;kH|PJNQ;GITl}Ie6ciOZpzp0#joruJ%*PyRK9YMn6pl1p1|$ptCqhDS+sfPQte~g@)JXJj~_jj zV;-re;kxCuo>o?E;|A|jTXtnn(|!D9-`3PQD*a{pi~RRrEHm95*6i>j)r6;Le_8+UH<^8_R~|Gq-F#sE z{ot_XdCL!4OqQOmTwmYPXj@<0QT&?UrjGAm#g3qY=x=V{!?%@{A7Pl?%J|>*{H>dx zC2l-r7gKvGUs)S_HH?8>ach<=9f;Ky<0BpvShQb z{c`NZ?=>60YT19T*ZTdtOTw`>Gu}bHCCO7(|5uiRM}~!N&cdSXqZPqd*pxVBH@B&8 zmlO%UoSYkV{^F@`GHVwUDr~!2P_H0v?6syn<51VkceUp|?WzNIt$bi&=kUu*ME(}9 zxV)2|)QbIg*#38(EO`8BlIXVhNqcwb+Zd20D^Eq_v*CtFv*)7v|;jP86oE0xrD zuZ_)opY5kO$?8u9HXbWdL_S?yHudYpV8y3L4L4@pbv|YET2ZrL=iYf`(!Z2X?klg- zsC&8KIdl5%m}aXjRc(^X=N;Ezk&51xmew_8(L1SShol&fviwOYWw^qp_Dg1IOX}9e z4OLS*+&8{Xn!xdZWzTcRBd-}hBz5(zb=eZNX3s632>Hyqv%cEBml7VhWm)&GnmXY< zcK|;R&wQyp)1*Rg7ftS%xMq>ynq`3^r_{uHPd{mtfALoG*TnntHm{LcI@`bU^PLly zl4mEKTX%V>i|4$k72@~ro^=pni0#@anEmETV2pRES)TFzhyUPF3;qE>d!MTO@1$B z%72b&*8^?N%f1KqYrAu~I!Vv$+#=JrI@`V`a{l#g{N-X=j~*Of>Gbg@Tkm>)jsLgb z{A{J0ofeDJ-v$=TF>id?&Sn8Q*!gXSEWDsiPJ-092AfH~_G4r)$F_wNmy`h2UX zx7sa*Lre2iBpG6S`1gh?vtN#qnE7SjCG`VloRhA76mxP_ikitjeXf5VYnryijJ-7< zm8{cFCjOc&+o2kpVprWg(ejtY!s0ZJr$Ucjsh+Kypm;(uf5qYtCG$emPFO6vd|*3c z(MrXl++)dqe|Ao8;yWS1&wZhAb4-Gqoqj^U-gyD*Hp!fdhP{O*dJ$LMlec})+a;MT zQZP~F=gFlP*YUQw9%?Gkxc`2J)#@)YT6xI~ZgY&3tPAEoT68#{Y+d{X zRw+{7R=-)9@Ih|}hxv7<^5*+Bnv?r8h3?KeR64tO<^tZWiyM@Ws2D%ZxSTrE*6N4y zrVXNhe@Sh6qPBfkqGw^58`FV`8nK)0n;gD9eRHAl)xC?RdG5zAJ}}+v{#80W^>PN= zyh4*J46(mo>8d{I?ooOYl9RPX@B&lw+-uU^%VIcBrZ`=m>EwLZiWWLL?W0$$=fo*%sCs+$@TxVY;ab?eUIl0f(DX$w< z(#=chju}YL-b=4(Al6_O8yBR^V`mXLnR9 zUS*QNvP?AI{?^thdzB$YF^_YF8{lOuTmp7ZXv`^|?VeD!a$&}cz zL$-l?&!4!S?i)AQGLwE@?OJqL?Xj<{NkjREtN^t%_qOfx7#8+z5aFs2OVoQ7`uQK{ zjN`t%+*7x1d-n52XzwS*kPL0!?8(uWM;F*GkC9AXg{kTQ z3pZ!xgx@t6)FafEaBpFWEHL`ot=`yqq4m39m7=QQ!P>tMRKLtzBbWC;_~F@G8k_&V zD7QQ}Q^u+|rBTrKtwo}`xJqn(X6X~3NtK-Mxm>>3b^8~z{&2IIKJ_q*db*H$if>_v z*3N9!d+Xb#e9bF+FQydPl*pvi$EdtzuIx`gpH^|7)RvRk^KNFe-rE|Vx~0`9S0wwA z#_A(=DiZTlU(XCpQ_lI`>I79YfN^2)cP}XS-AeU%^wyS`@AmwBF|WMO`wZyJHsc1 zSxJ$0C+sYz<`&3HoZioL&FuUFyLC}@9|Yu=RCTLv_sh=V7c_NLw4VNA&C)QhnQIIt zPRk0Ixn{Z2TfL*#;=N{0@Z9q6m1q8wceNSn^F=G)&x}~89ducnXQ9M(E9Gs5p^_S> z7p#g<-KLy-urH#t*M!x$%DFMP-Yr;XY3SAqfkuq$)v^R$>z&uT$DDX^+M+)SaS2n! z*8RMD+e1~bMt6c;d42JO3@f$r;F2jfeCRwd!&ngaY?@m(t z`pzi-#(SnIeTVw)FwN=Gt&>^(E?hH_q2kJ~B`MR+giFaUSbbUUv|kPX(;!Ke=;Kv! zQw<&G?e$sO9UtDVbHeJtlqH<|GrfW*?QxR*^)G{KvvuUr-3O+3eP?iMVHfolW<9E~ z?auD3i>7DaKemn!xt?|G(0dymd+BfCAC?*OR7b@;*!A*2$DSkKPqV(9C^o-hx8JT0 zV#{~;JbX8)*~HI%{~0;oX_oGXEUnHwf4DU*2TbRTBfqNC;hRRGyjl| z`lXDZ+mUwLPgiOF<2=1?HJ4rJm*nWDAD5+n)LvO7%hQoyaqrW#xV!&ti>GP^fBX4o z?Ul8TsusUB7yg}e``^)>x)J|g6e`WTeBz&aibP-bj#rgjz30<&t*Qdd_E>kOotkyw z^^LzPlrrN#ZI}36-_`rO_`%u756?>ZzM=Y0I~LHpwqnkLn4)D_XW^WU;Xr2gaAbNS^d zdmLOA^WV6wt!w41()qNko};QP+({x?g6BupF?qk;>Bo1ywT@jYSGx4iz9#=)oBzp$ zeE#%VGd<9L%9qtYF7n^}l7A$&_B^+vz<({BM}5xnLX)a5b!=B~REhhyQt09$!CPMf zzSNZO|9SS@+qm!Vws;8SZ8x^wZf(80+&usH`Sh;O`_J1P{qfhv((l8s&6f)uwobpf z>ZIzK?Fk(Hsr>)0JgIt@ePF%+Et`Vr+p`a@_bu|dED>#b&xpHySp<95*2-AV4)eSt zJq!<5JdBdk)yny$voi9y((^MGle}L{+PH5HkD9D~`pqZbPgUE^NsS5W60cj>xS;i5 zYQ?si2#41JC&l9Qi(R^oOkDE2ZOPQ*m+b|*4=*Xcv@yabC@S;XJ&!C?Pockp@(k~@ zY|@X$wZ$aWn9slZz0RZQA^(n=KN`yMdsl`}=+58DaNS{jmYU4JU;F-XmGbH6H{l z-kY?Yv-iy<7qM$My_dVEe{NZ`DxvX6(}bdB%S!{FT5I=iip-i<>1FWMsA%cjrrMnW z$zoiKP8@H|ijDbru;qX6g;dokyWAV6XjN9Td4;M@$k@)*w>?ub?2WVP9gb;Me5Xq8 zg!Stra&Eu!=r_BIi0s=hD^lhXpCJbmeSxm`=>ucO*Ui0l!Jaksf=GD3bN#i zHCA2aVm0+=eYZK}>{G2amY4*d3s#{Yjs5&@D|^4oaxJ;}<(9nQ-7sm;!BYX-U&TTxhku6YMy14DriUaYYi9aW)cis19IeS|zKuDWg?~`5& z_m?9@f~#fp(xwaSO6w?GbLMf>>Y%OJYfq`I+p0Bx%`v&^^9zbrH|u2N9}Yd6(IhYZ z$U|WUSIHset@Cs*H_2|iw#Xs8=)-Eau7gf`+HA!uIz&(@O-{s`Ph*qhbx<@x_SK2JS)T*l|*}k55^~nFtj;Cw_2ktvs%u{ksxZ71_ zaHiol_p-@8>LwKvzBc}ro_#%V=ha#Xf&6<;o-&aI7v1GDS^W*lGrHebZ~MT%Vcown7os&$Mf`JLuA1uU4%zwRU7iEW*eZ!`A3tzC9!)?uLqX_xu* zRa%2r8(N<}7Ter0_rV4B?9=-M?tM$(UcKLNBiF_o?+<~Hk7smzqi5eC6 zxy>@FcP$Jo@Mc;zGi&Lc3TKz|A|5W+HEzF4SKzW~DE-E&Y_VkNAy2M}v!!OOW_RA4 z{aMk^ZH9Q$=B@`D`C}?$YmMc%r+A0y-z|E*qcrv2%Ho=;5)-MXx6FzJOB`%$ckTIA zcIe;SU1e{hT9$DK2%f#((P!YdjHxu{P5HK63a5Td>$fo2T{o@tgyq|2?fIQX4o*vw zXE+@QC=Hg@Y(3KV_^`!-JN=W6@$f937;(z*vu%I$yFYhM*gnfRdtf1t{>%Wor#T_D zGx87do4H@iy19Ag-MfcP(f7gyWSz8>s7_*l}nmV^#-D`L_ z=lpD?VNXSmM$ocH|69kModKW%I+x9R^BShTwE)_mt%otz?Wm%ZP2nJ{+l zR*2NF)0fw&HLKv=Djg%UgycB?c~>! zF@MItAkIcNi_xvcRWWg@#&w;E2cHYvI5S1J%z zHxK3B8S`_5ynbY{_=0xF{cq`g7QSb1PL|$ZQ=raOcfmVSCHu+I3!_~`stFj%R&Wohuk?^zGev;Td) z$L`^^pGO6*#|qw(|Gt+;<@R4jy{l8d*Y5o>iKU_1)hq00Xs7tCGmgtvOccL+Dk}8K z?%4qwAB63i;JY+MYWp#P{yY5TPiEVn_N}uo^j`ew@y2??vkK-?aq|)zl&=1`pYrqT z5ANuUSJ`}w)i<&|?cEwTCZs$$yGupVjU`@2I^XHJD!XZlWx0*ng^JgOx1-j|R$IrN zzWDp>qa^d9&Pm_7eS}n_*Ux%4*ZvZVgw>}zeqWaVyD7>me(Gdk;gOP>S@o~?-Gqre=Yf8ans*L?@pA>XiMCGsEbAS z><+n`Tuw4g;tmZg89W-v%?mgAWotW>{O@~w#CMKK^l@IMYi84vt@|chY7~Di zC;2wCRJtEx^Sn`_5|diV&l&#w+}dBB96x`1bg=SG*ihiHqV|cVlisF7PKH*8l#?ED ztG{qEGkmG{WV6i52RH~q87 z{~mP%(|?A`wf64yRXOy(Pg<1UxpQ&&1Yyy>buAk^H2N%~BL7&qYis`vW!`J^rfzA% zo4o~h*8fOd#JbBs{zctW{$HUN?LyUp_La;FxwiSMfWMYT!Ho4&rr*Dy-4*!mq-EC+ z_Pdj1V*d$R%+a4yH07`Q+<6S&rSsMQFYXt9!C+|~`NhIK@{8wh{rO$<3-dnB-ZOK~ zt6fW8DHfYl*ZM{t*ps6d9~UFHKPT)%x}Eg?ePtVsdmmk;^j@2#W*7$l$ zOQKTIaq6xYjka>HyENwW>Zi!%PY=qSIA_TzEBRUuch8#N57#c&m%Hn!@J6U&(fVhy z8+HY#)Hti$p0V`Yed~kbOS-Ju&R1;hD}OX;_Evl8&C^~wSr=VaUd817?)f75?QM#D zHwzDHIvPH^pVRQF;7`@>Rz&0*U6U?8e(IOc8z}>`DIrtdZpdofyUzMrOYy=? zw!L;c9nWd4(Y)6e-S)gy@iy;`Y)AFK*%oTkqCQ{R_GC`x<_#P{@yS}>PVV_wu!GNR z)#BWbLdB=|=$O1)I{$oH_QQEE&IkVqbbTymZKBbYzanKSLf7w;41JAU?#URh=A zhVyen%^lS|yYu6ptmZrED6h-yTUnZ-Bdo$u^kV-%Lk*8Cjl-|vxkNjz@=b|UDK}rb zWN*f2iRpX(R_;)E{`0|n!70Vu?<%-9`0A^A^5|Rety49>VUyvheu!~%8_&V+@Ew-( z^nN-8l>Xm3vAX6@qO01)^g<1Jo$4iXr2C!s28Uh$W;!RmVeeWwhHAkz?Xy?5edfu} z*5ld9=CkIo`bFVq{(ezjkM?|#IzCyYr@8Q@a|_j0 z%)HNJHn*lxXNkw;$Y}?)%oAMB^rvWcu^$mQD)VpC)fN9WbT!tT?mxL#a;#T+M@Rn-Bi1J(Knc17Km4&NbD~kR9C-~vJZC`ai z*JaN!aZ10o`Dc}4Xf+tqgz1+|cw3KfW zv&fe|>pc@9^QS$_e=7aw!R_dR!i0PGX1c#*Il8CTpx?TRZ84)@tuAtUw-^M z7Si;=q;}D^1J@^t-*oyE@|E%VVS|Ey75Qc_PClP&zP@%vE=RoY`t;}VZuw8vd7e`H z=dj0eT6$eT=|ioW_#^6c;WG4^WZgpUHct13?(mU z9rUeVJE7ynVjaI^!zWIKBcJ~i8#dA7^K25=o zW*+MkC}UGH)zyELH}Q*5K|K3*=DVz%(_-Y~Z~kAAdotnn#7RY)W~yvoD$c3Xb^80S zxkc+Nzeq@4dAzMP{=z%Wiqla~YQwmtMYES~ShRM+#p4{O4kw!Yn|GW&^8L=@h$oUW zZk5elU-IMYjQNVwGv`fv_93EZb=NCFi^FBP0%5h+*tM+|#Lr}|`pDQHyQ)HcgU|G7 z9l75Q8qZhIZVi%3IvOo#>16D6OKksS*W{ur7OA(l8Jb*8uQa^%>XOwh&TD7FzASV6 z9sKBe`wiyb$6Rmg_1tae@@Rf~H&bfn9`!iz=`!&&sS@Amq+CFFV#3GZ*s(VQ|%eSJLWxm z*2J-G^7>R&!#z<@UGt{>%Ho_z;l!+{fUnn%>u86}<<31M)%y@>_@E~O%1y| z?!7;`<=HN?RX0Cw=yC9i$t!!}y+cBx@R37%c%-~)sd=Dwla1U5trvplqU39GZ1wDq zE3h2S2oWie7Mr;DkZDA~C--KPpA%AVglbxBD!-Pn`;Ot;irF(xzCOxNsvwS z_puXoFRPAN9$$YbX)#ZBMCxCsgUgZ~OGLUE?)x}h-LjUMVI%if2h+>m6&*RxYiElV zxBlkuNM=2B*6LY=@A?8IoraCJr)RKjxtue5Ro18N{vyt0ZDI+(KQ$W6K6&`A^sKE7 ze-1?c*!=X&*SW3Y5NPp8=C%L6R$zg%& zgs!Qw`6(XpQ@7_H-Weh1CUI|HURgqd-+igI{5GmeWee)wR7rdDO_dLuRo+>!|MklT zJ=em2T4K-jEhPNoj(l4B^1+Lvdtcu<$bGv>H>bWT^!1zUwnxg-*;!nSD>&!0yLz59 zfA_LQEL^{3MJ!`n5QkTIz(Jeu z49{-qbhXHS+_Jk$ojLq&(f-65JD$I_Go9)$>zdB6-YZhK$;6^)L+5pETRo@!@A3;) z#W+pNn{(%e;EAFcf#nRgW>3tstTS{PIJ%vF+IwuuUKVhBlT&VW$obb@R=?)m`4D{J z^o*AdB5ZqJbRC==IW1AMOaIK_nMM~Ijr69-b*QdiYc{1QpL?ZMyRl8n_S!dpgWuLM3qgj+{B#a)B5_K)3%ArR!t3@8gcpQ5@qjYSx=sL8sFpl#^&(7YEf0;2A$H28K-Z! zo88cgPQS*jENr`RJ(CwtxN@0rn>GK2y{qkh=*V1Aj#(A%kh-XX^Ze5i-@E#qk9@by zoBG*vYFcmmf~;N1f}PzvK86+D-_R5io0yYu(|hmTjGP{aUoVzxUr}^e`ldIo^xKTX zdcVW17th+ry=m98H|0+yTQ;P{?A~ax@tZ|q^0)F8uH`FtCmu=K`D54grb;1}Ej;&2 zbYiv7SXkD+yJ_%lrR4Vqfgcqs3=aopT%N^$L-jt3z!sA=#_Fnxw{(}Qt$S4`Yq|gD zlO=cRdsayq-Y`DY=bqJED%_%~f=67E3nmus(poIe$@1}Fr+kNGmqot2 zwE7y~DKTbJLg582GtWL#3a`FW@?A8)MnkuCW2O?<((Ab%>mR?=JUh>2;TNqH3$7)c zC~&%Box^G<65Q}*$N9~6ma^-G?s%VitM_1f;L6!5GSAM*Os`(hc_*uUPONAFBbSYb z?WDNtt0Ja{&(z^Na83M5(eYh{nng>L4koTWAGx>ng6ZoQr|-|)J!#oWM}=SESGuE~ z2CYloIpwM2>E?T1atwv{{k))(FfCB~Y5n)F*;O7giys$#VB%G|;85<&Ve^Rhr*R#t zdbEVyt47zyF}MG1`MY1veBR8X|CfK&n|H5f`Ddf)hT$nWKVLnzJS}h_b=AIf-M^1t z<@8&>-SG9q+#i~Cc7NV&|MBY9tyAUyPBEU_ALpFB^7L2Z+xw0Cd%b;{CK;@&S8o5* zThpt3p=Y1j$M^r8J3H@qCNwTSyzAksTW;$nPxSp?^!3r3?P2=+;=gDZ_xmaB@X48^ zDSJWgZ2XxZwl((22kQ-=PJZ4$eP?rK$c4gP1{?o|`%Jm-yZ@xu#J%ylTO0T-yEUHo zY~bXqb$gQjLvqoT@J8tsI?p~UluuU-Y4y8v?rqs5KP$C6k?Knpl{IoqwOIR}?IZhr z1*guI<;FLEZua?ldq&N&c72u4U6J!^Vn3_ANc_(I@zRbq?GyS(bUH2^E{Obxwd25z@+AFn0 zk+o>++KZkC0(1?sR+g4b71U@r&f^_mW~aM|>%MQxy6ksiLOR!kx*orAT)U_BSV+bl zmdU&IEm=G_iuX25Rm;s-$FpGNv%Sp~>z8VtSvaX-$Cs;(TWY?v^Lri)4NYq3-I{*f zSGdjR+sR$!9K1i=k~2E11OHlbGucY-2-iH7<}=ZO=}3>i8v6_D7pw*QzwDdXe%X3w z@SA3rBQ8%I_pFR)ZVE1MlM?uFmD4ZwbsNv)3OVbf*GKs`MT8gRDNf%Py2XxTL&e1X zkFAp!)D~{6bvbE!u{!p+!5by7>#H>cMAWj~{ag}NPv)92oNA5_z4T4R`aR2}YpVVX z&u)a))>Y19-??3@c|%Zy=LVr^PfMHyHeA;1mEN-P*h$t_ox(LvE)(yXF>B-S2`@}jnD$5?wd!Y@VRO+rVwT&J-wa}zlj0Qw8cTG}oM_#2|Eqf7 zgw+SGXdMbZ692B>apl2+N!lMIqn)Cb=?R>%-qscLv$kT%Hp53U3g@-bc|I*W>GQbj zrPUU%V!!2a`3al1?TNOYjt>?OW`_8j;%-_s@lDg(=1S*qp)V7q z5+2NLo89W=(S5l;^jo%vf6<9<#<+PF{h3ng32#nqe^=ioub{vARr8Y>u3iot%AXw% z7&*j=%=D~1_+2&j;@7Pwo0e2*nc+#q6gILyuWW3A(HKhd=Ts0@eW7DSPOk3Vwoe`j(zpTuhd#`_;+#SZ- z_oHIfef0`51ST6s-n9@hs^4hR!q7 zTODBM@67gzJ51d0bidw{#1|)To9nN$PcXAooBrB5J9=vHLQ`KJq$+TQqQSXr09Ke*-C^2XwBrM%C} zu7v(_omF>v%JFAe0>>Mt%?&EId7-{iJ3A#dD$dvH-|gwsO_iksF4<4JnR~ouSEJs$ zdE)z*KbBI9OqTnVra1NK6dCIP(LJ9kr`@m5Tre8uR~#F*2|+w`_sFI+KI?d$#^_jNrXOOEm0mlNJ=`}vU+Z!uyGt=DW`hGKiHj78A{1InTwPf)_Cn1eJ zAA2VMuKCg*T~!z8o9h&IeObHn|luO3MsKUV(ir@H+5`A?Yn_eC!d?6>gW%x6<4wQ1JD zxanv2bnS>KnD$jZ$}zxAfP3!g$6P%c^<9!1H<{l3$8>7`A^FDbQ~&h)+5bsU{bq4H zecHdtXZrj3*Q9Umx{|w~dbx6&aFDCRs^&b8SL^MzK8o8{`S+D&|N4I`Rp64$c2(O*VKYDa_T{?VM}4!;8h(2F>^}R<$VwO0-4f)W8{O3)IYm-DTHK(&yyFuag|k3)pnnc0{;bt zUDBIM4G(Nl*e9@{(qu*Vn|n5sqWWj8V+!>Z{B<_%%wxqP%qD7&Wi)0!yYiP7){u3dPliHNS`seDh~__QUxHZJ}WBg^bB-Je`zw{SGAT@#hkuyl{MYfwdCxW3+#oC$n3rEFqs z5eByuwz0CCr#ej9WV@p3PhgqVC61=GeMxom5RIve0nqLn^wQw<5l!koBwY1*pC#?_F)4mLwTk?&UH~8)0xCBZhvZOV0a*ixi0F2^@$0&{PUm6)(N$2-LbMxb#>wozQ#|yPk;Z4 z@#7A3nEdad=hxup^yzw@ZZmo>hy4mIN?CH@$5-aS{aZgj zvtR1tbm&~M<)nnzr4Rpyb1gsnM=tvImVcY3W>~-dSAX{CmUDCeyYE|i%i!uB-=j$h zmiEHo=Tw|7{`vNLWo;>=_Q?s^GjIY9D#v6~g|JfT(O*N=IoN?pp>v`pMTR$^f zTZiAC$XzGVcg3XW;F9YGtd$9$wshs@?0oTjUf*ilmy>esXPyg|cz=4@9P1NLKF$94 zYNs&M8CE~$j5^g8WckP@WmuR`A_S%ZTFSnsDHn{z81Vj9NJ>BcWxfr+}*G?vDRE6?SX{rL0T`?*Eas}F?*&uJ`i zUBkp{QvQ0s{(t`czY``#mlbcR-;}c7@%)}o{j1}CCcgSRGrI2HgCqIRHi!$9%>H4M za%{?LL0`LPPd(qwTwk~0>96Pi{w~y<(fnWa_`&~1nUX6?WYZ2^sNyeN7iv)ae0ABb zjgI_Jp5EooIGn^~leO*vds0DjiL;BkdPnX3Mn1lPSu@_vei|~1o#jfrW@z}4bB|Z#eOI~bvudVeqhipS z)G4zbC|K5*aoq_Cy&AG}f~~%PO45{di?mOEPmY-&J zQz{QK-*cqKukQNf-=eWEb~3E!zP5g4pn-Q`+vbgnwN_m!wA}J#3cuqb;Rc5{Kb)o- zg}N69osi7(K6d4wp8168u4_+wf6STgn3%0KdD_P#7nEh%&fK={?UA*~Dlq4?=9roN zBeukNkG}e8@H;l`z0bO3yj5cT)|L@P%ez)ab|oz}j$ETR?T;f{;wJBR8j3fRa+Wiiam-%# zVCnpD_dE);4_~yO{znSSw4;R;(?u_AC{5oX;y1fgPU*z``3QRh>n~ebg7_6e% diff --git a/extras/Readme b/extras/Readme index 80ae784..ecd66e0 100644 --- a/extras/Readme +++ b/extras/Readme @@ -7,22 +7,18 @@ Based on https://github.com/birkett/cbintools/tree/master/c2bin and compiled wi Tools used (on Win 10): https://www.7-zip.org (install 7z and use gzip - command line) -https://nodejs.org (install node then: npm install html-minifier-terser -g) +https://nodejs.org +(install node and npm install html-minifier-terser -g, npm install -g github-files-fetcher) https://www.npmjs.com/package/html-minifier-terser +https://www.npmjs.com/package/github-files-fetcher + Optional: https://bellard.org/tcc/ (to compile ehg.c and rehg.c) +Provided batch files (MS Win) -do.bat: Batch file for generating edit.htm.gz.h +do.bat: Generates edit.htm.gz.h -copy ..\src\edit.htm edit_src.htm -call html-minifier-terser --collapse-whitespace --remove-comments --remove-optional-tags --remove-redundant-attributes --remove-script-type-attributes --remove-tag-whitespace --minify-css true --minify-js true -o edit.htm edit_src.htm -"C:\Program Files\7-Zip\7z.exe" a -tgzip -mx9 edit.htm.gz edit.htm -ehg.exe edit.htm.gz -copy edit.htm.gz.h ..\src\edit.htm.gz.h +undo.bat: Reverts edit.htm from C array header to file (still minified!) - -undo.bat: Batch file to revert from c array header (file still minified!) -copy ..\src\edit.htm.gz.h edit.htm.gz.h -rehg edit.htm.gz.h edit.htm.gz -"C:\Program Files\7-Zip\7z.exe" e -tgzip edit.htm.gz \ No newline at end of file +update_ace.bat: Updates acefull.js.gz from latest Github sources diff --git a/extras/do.bat b/extras/do.bat index 93fceb7..dd63e67 100644 --- a/extras/do.bat +++ b/extras/do.bat @@ -1,5 +1,5 @@ copy ..\src\edit.htm edit_src.htm -call html-minifier-terser --collapse-whitespace --remove-comments --remove-optional-tags --remove-redundant-attributes --remove-script-type-attributes --remove-tag-whitespace --minify-css true --minify-js true -o edit.htm edit_src.htm +call html-minifier-terser --collapse-whitespace --remove-comments --remove-optional-tags --remove-redundant-attributes --remove-script-type-attributes --minify-css true --minify-js true -o edit.htm edit_src.htm "C:\Program Files\7-Zip\7z.exe" a -tgzip -mx9 edit.htm.gz edit.htm ehg edit.htm.gz copy edit.htm.gz.h ..\src\edit.htm.gz.h diff --git a/extras/tmp1/placeholder b/extras/tmp1/placeholder new file mode 100644 index 0000000..e69de29 diff --git a/extras/update_ace.bat b/extras/update_ace.bat new file mode 100644 index 0000000..48c9c57 --- /dev/null +++ b/extras/update_ace.bat @@ -0,0 +1,14 @@ +REM https://www.npmjs.com/package/github-files-fetcher +REM npm install -g github-files-fetcher +REM fetcher --url=resource_url --out=output_directory + +call fetcher --url="https://github.com/ajaxorg/ace-builds/blob/master/src-min-noconflict/ace.js" --out=tmp1 +call fetcher --url="https://github.com/ajaxorg/ace-builds/blob/master/src-min-noconflict/mode-html.js" --out=tmp1 +call fetcher --url="https://github.com/ajaxorg/ace-builds/blob/master/src-min-noconflict/theme-monokai.js" --out=tmp1 + +cd tmp1 +type ace.js mode-html.js theme-monokai.js > acefull.js +"C:\Program Files\7-Zip\7z.exe" a -tgzip -mx9 acefull.js.gz acefull.js +REM update: +copy acefull.js.gz ..\..\examples\SmartSwitch\data\acefull.js.gz +pause diff --git a/src/edit.htm.gz.h b/src/edit.htm.gz.h index f482f1e..21057ee 100644 --- a/src/edit.htm.gz.h +++ b/src/edit.htm.gz.h @@ -1,219 +1,219 @@ -#define edit_htm_gz_len 4314 +#define edit_htm_gz_len 4316 const uint8_t edit_htm_gz[] PROGMEM = { -0x1F,0x8B,0x08,0x08,0x30,0xC1,0x84,0x5E,0x02,0x00,0x65,0x64,0x69,0x74,0x2E,0x68,0x74,0x6D,0x00,0xB5, +0x1F,0x8B,0x08,0x08,0x33,0x95,0x87,0x5E,0x02,0x00,0x65,0x64,0x69,0x74,0x2E,0x68,0x74,0x6D,0x00,0xB5, 0x1A,0x0B,0x5B,0xDB,0x36,0xF0,0xAF,0x18,0x6F,0x63,0xF6,0xE2,0x38,0x0E,0x50,0xD6,0x39,0x18,0x16,0x1E, 0x2B,0x7D,0x01,0x25,0x49,0x3B,0xCA,0xD8,0x3E,0xC5,0x56,0x12,0x15,0x5B,0xF6,0x2C,0x99,0x40,0xB3,0xFC, 0xF7,0x9D,0x24,0x3F,0x43,0xE8,0x1E,0xDF,0xD6,0x07,0x91,0x74,0xBA,0xD3,0xDD,0xE9,0x9E,0x0A,0x7B,0x1B, 0xC7,0xE7,0x47,0xC3,0xAB,0x8B,0x13,0x6D,0xC6,0xA3,0x70,0x7F,0x4F,0xFC,0xD4,0x42,0x44,0xA7,0x9E,0x8E, 0xA9,0xBE,0xBF,0x17,0x61,0x8E,0x00,0xC4,0x93,0x36,0xFE,0x3D,0x23,0x77,0x9E,0x7E,0x14,0x53,0x8E,0x29, -0x6F,0xF3,0x87,0x04,0xEB,0xBE,0x9A,0x78,0x3A,0xC7,0xF7,0xBC,0x23,0x70,0x7B,0x9A,0x3F,0x43,0x29,0xC3, -0xDC,0xCB,0xF8,0xA4,0xFD,0x1C,0x28,0x70,0xC2,0x43,0xBC,0x7F,0x32,0xB8,0xD0,0x4E,0x02,0xC2,0xE3,0x74, -0xAF,0xA3,0x56,0xF6,0x18,0x7F,0x08,0xB1,0x26,0xE8,0xE4,0xF8,0x3E,0x63,0x7A,0x84,0x03,0x82,0x3C,0x9D, -0xF9,0x29,0x16,0xE7,0x87,0x68,0x8C,0xC3,0xC5,0x24,0x86,0x03,0x19,0xF9,0x8C,0xDD,0xEE,0x56,0x72,0xDF, -0x93,0xD3,0x09,0x8A,0x48,0xF8,0xE0,0x32,0x44,0x59,0x9B,0xE1,0x94,0x4C,0x96,0xB6,0x1F,0x2D,0x3E,0xB7, -0x09,0x0D,0xF0,0xBD,0xBB,0xED,0x38,0xBD,0x24,0x66,0x84,0x93,0x98,0xBA,0x68,0xCC,0xE2,0x30,0xE3,0xB8, -0x17,0xE2,0x09,0x77,0x9F,0x01,0x85,0x71,0x9C,0x06,0x38,0x75,0xBB,0xC9,0xBD,0x06,0x20,0x12,0x68,0x5F, -0xED,0xEC,0xEC,0xF4,0xC6,0xC8,0xBF,0x9D,0xA6,0x71,0x46,0x83,0xB6,0x1F,0x87,0x71,0xEA,0x7E,0x35,0x79, -0x26,0xFE,0xF6,0x02,0xC2,0x92,0x10,0x3D,0xB8,0x34,0xA6,0x18,0x70,0xEF,0xDB,0x6C,0x86,0x82,0x78,0xEE, -0x3A,0x9A,0xA3,0x75,0x1D,0x20,0x92,0x4E,0xC7,0xC8,0x70,0x2C,0xF1,0xD7,0xDE,0x31,0x7B,0x7F,0x8B,0x5F, -0xB5,0x3C,0xC7,0x64,0x3A,0xE3,0xEE,0xF7,0x8E,0x23,0xF8,0xD7,0xB2,0x70,0x11,0x12,0xC6,0xDB,0x52,0x37, -0xEA,0x3C,0x1E,0x27,0xAE,0x23,0x59,0x87,0x8F,0x08,0xA5,0x53,0x42,0x61,0x90,0xA0,0x20,0x20,0x74,0xEA, -0x2A,0xB4,0x90,0x2C,0x4A,0x69,0x53,0x1C,0x22,0x4E,0xEE,0x70,0x2F,0x22,0xB4,0x3D,0x27,0x01,0x9F,0xB9, -0xBB,0x0E,0x70,0xE1,0x67,0x29,0x03,0x99,0x92,0x98,0x50,0x8E,0x53,0x89,0xC6,0x12,0x44,0x17,0x4A,0x54, -0xA1,0x80,0x52,0x4E,0x42,0x43,0x42,0x71,0x7B,0x1C,0xC6,0xFE,0x6D,0x79,0xD2,0x6E,0x72,0x9F,0x9F,0xE5, -0xCE,0xE2,0x3B,0x9C,0x2E,0x2A,0x75,0x49,0xEC,0x06,0xB0,0x41,0x1A,0x63,0xBC,0xB4,0xF9,0x5D,0x06,0x50, -0x4B,0x7E,0x82,0x94,0x39,0xD5,0xBA,0x48,0x4D,0xC1,0x73,0x14,0x42,0x93,0x8C,0x2F,0x1E,0x5F,0x65,0x9C, -0x20,0x9F,0xF0,0x07,0xD7,0x91,0xDB,0xA4,0x85,0xB8,0x3B,0x8E,0xA3,0x09,0x85,0x6B,0xEF,0x71,0x1A,0x20, -0x8A,0xAC,0x7E,0x4A,0x50,0x68,0x0D,0x2A,0x95,0xB7,0xA3,0xF8,0x73,0x3B,0x83,0x31,0xCC,0x43,0xEC,0x73, -0xA5,0x61,0xB8,0x84,0xF1,0x2D,0xE1,0x8F,0x01,0x8F,0x16,0x6A,0xBA,0x92,0x1A,0x9A,0xA9,0xDB,0xEB,0x82, -0x6E,0x24,0x1F,0x4A,0x6C,0x25,0x51,0x7B,0x1C,0x73,0x1E,0x47,0xD2,0xDE,0x4A,0x69,0x35,0x69,0x32,0xCF, -0x1F,0x5D,0xC7,0x7A,0xD5,0xD7,0xC8,0xF7,0x40,0xA9,0x9C,0xF8,0x28,0x6C,0xA3,0x90,0x4C,0xA9,0x1B,0x91, -0x20,0x08,0x71,0xCD,0x64,0xDD,0x2C,0x0D,0x8D,0x00,0x71,0xE4,0x92,0x08,0x4D,0x71,0x27,0xA1,0x53,0x80, -0x32,0xBC,0xBB,0x63,0x91,0xF7,0x87,0xE7,0x97,0x73,0xE7,0xF5,0x8B,0x69,0xDC,0x87,0x3F,0x67,0x83,0xD1, -0xEC,0x64,0x34,0x85,0xD1,0xA1,0x98,0xF6,0xDF,0x1D,0xF5,0xDF,0xC1,0xC7,0x51,0xB7,0xF5,0x69,0xF2,0x7B, -0x5F,0x2C,0xBF,0x08,0x0E,0x87,0xA3,0x93,0x7E,0xFF,0x75,0xE7,0xE5,0xD9,0xFC,0xC3,0xEB,0x5D,0x01,0x3E, -0x0C,0x9D,0xCB,0xF7,0x33,0x67,0xB4,0xF5,0x43,0x14,0x9C,0x06,0x33,0x3F,0x1A,0xF5,0xDF,0x7D,0xB8,0xBC, -0xBB,0x8A,0x46,0xD3,0xC1,0x87,0xEE,0xEC,0xE3,0xD6,0xFB,0xC1,0xC7,0x0F,0x3F,0xDD,0xE2,0x9F,0x4F,0x5F, -0x7D,0x1C,0xCE,0x01,0xE1,0x38,0x1E,0x8C,0x2E,0x0F,0xDF,0x1F,0x4E,0x3F,0x1E,0xFA,0x27,0xF7,0xE3,0xF0, -0xEC,0xF0,0x45,0x7F,0xDC,0xDF,0xF2,0x31,0x9E,0x0E,0x2F,0x0F,0xB3,0x97,0xAF,0xCF,0xA7,0x84,0xCC,0x06, -0x1F,0xCF,0x86,0xFE,0xD1,0xB3,0x37,0xA3,0xD3,0x3E,0x99,0x9D,0xBD,0xBA,0x74,0x6E,0x5F,0xBC,0x3E,0x3A, -0xF6,0xAF,0x5E,0x5D,0xED,0x1E,0x6F,0x77,0xBE,0xFF,0xFE,0x6D,0x70,0x4E,0xE8,0xF0,0xEE,0x73,0x7F,0x7A, -0x34,0x7F,0xFE,0xC0,0x86,0xB3,0x97,0x77,0xB4,0xF3,0x3E,0xFE,0xF4,0xF2,0xE1,0x2D,0xFC,0xBF,0xB8,0x68, -0x8D,0x07,0x5D,0x36,0x7A,0xF7,0xF2,0xFD,0x16,0xFB,0xE1,0x59,0x72,0x78,0x7C,0x7C,0x17,0x8D,0x2F,0x3A, -0x51,0x70,0x3B,0xE1,0xCF,0xB7,0x79,0x72,0x35,0xCD,0x3E,0xFE,0xFE,0xEC,0xD5,0xAC,0x73,0x8E,0xD1,0xD5, -0xAC,0xF5,0xF0,0xF9,0xE1,0xF9,0x6C,0x78,0x7A,0x77,0x16,0xA2,0xFB,0xB3,0x33,0xFF,0x73,0xD4,0x0A,0xD1, -0x0F,0xE7,0xC3,0x10,0xA5,0xDD,0x51,0xD0,0xEF,0xB4,0x8E,0xB6,0xFA,0x3B,0x3C,0xBD,0x3C,0xA2,0xC7,0xDB, -0x9F,0x06,0xCF,0x0F,0x0F,0xBB,0xF1,0xF8,0xF7,0xAD,0x17,0xB7,0xBB,0x2F,0x46,0xBB,0xEF,0xC6,0xEF,0xFA, -0x83,0x9D,0xC3,0x11,0xBA,0x1A,0xBC,0xEB,0x4F,0x76,0xC6,0xB3,0xD9,0xEB,0xD7,0xC3,0x9F,0x82,0xFE,0xE7, -0xB4,0x7F,0x3E,0xEF,0xDF,0x9F,0x8C,0xFA,0xA7,0xAD,0xD7,0x27,0x6F,0x9D,0xEE,0xE0,0x6A,0x7B,0xFA,0x76, -0x77,0x7E,0xC8,0x4E,0xFA,0xEF,0x0E,0x9D,0xE9,0xAB,0x56,0x84,0x3E,0xC6,0x47,0xDB,0xD3,0x97,0xBB,0xE4, -0xE2,0x0A,0xF5,0x5F,0x1E,0xBE,0x62,0xE4,0x32,0x3A,0x1D,0x39,0xFD,0xFE,0x9B,0x73,0xFC,0xD3,0xD1,0x36, -0x7A,0xBD,0xE5,0x7F,0x00,0xFD,0x8F,0x7E,0xC6,0xDF,0xB7,0xFA,0xF3,0x73,0x27,0xF4,0x7F,0xC0,0xC3,0xD3, -0xAB,0xA1,0xBC,0x9D,0x93,0xF0,0xA7,0xE1,0xED,0x20,0x7B,0x17,0x1D,0x1D,0x99,0x1A,0x8D,0xDB,0x29,0x4E, -0x30,0xE2,0xF5,0x58,0x55,0x3A,0x07,0xD8,0x56,0x65,0x85,0xB9,0x93,0x8A,0xC0,0xDA,0x0E,0xB0,0x1F,0xA7, -0x48,0xEE,0x01,0x04,0x9C,0x0A,0x13,0x5B,0xFE,0x28,0x43,0xAD,0xA6,0x22,0xAD,0x86,0x68,0xA0,0x19,0x85, -0x23,0x44,0x84,0x02,0xCE,0x1D,0xF1,0x71,0x3B,0x21,0xF7,0x38,0x6C,0x4B,0x64,0xD7,0x31,0x17,0xD2,0xD9, -0x8A,0x6D,0x88,0x92,0x48,0x51,0x2D,0x16,0x82,0x4F,0xC8,0x17,0xC9,0x01,0x5C,0x26,0x82,0xCF,0xDC,0x77, -0xE2,0xB4,0x3D,0xCE,0xA6,0x13,0x72,0x0F,0xDE,0x3C,0x21,0x94,0x70,0xAC,0x75,0xD9,0xF2,0xC7,0x82,0xCC, -0x2D,0x7E,0x98,0xA4,0x28,0xC2,0x4C,0xFB,0x9B,0x64,0x16,0x93,0x34,0x8E,0x16,0x55,0x04,0xE4,0x71,0x6D, -0xB2,0x5C,0x7E,0x95,0x25,0x61,0x8C,0x40,0xCC,0x35,0x61,0x43,0x05,0xD3,0x54,0xB8,0x55,0x19,0x54,0x0B, -0x37,0xDB,0x02,0xB7,0x6C,0xB8,0xF5,0xD6,0x4E,0xE5,0xBA,0x6D,0xB9,0x57,0x04,0xFB,0xBA,0xEA,0x6B,0xF1, -0xA0,0x16,0xEB,0xBE,0xE2,0xA0,0xD2,0xF5,0x87,0xAB,0x43,0x54,0x64,0xA8,0x18,0x50,0x51,0xBA,0xBB,0xEB, -0xD4,0x42,0x05,0xEC,0x5B,0x7E,0x85,0x65,0xC6,0xB4,0xBE,0x4A,0x52,0xB8,0x0D,0x3C,0xFF,0x02,0xCD,0x52, -0xA6,0x26,0x6D,0xA0,0x59,0xA6,0x3B,0x25,0x42,0x95,0xF3,0x24,0xAF,0x25,0xE9,0xC7,0x52,0x01,0xB8,0xE4, -0xE6,0x99,0xE0,0xE6,0x8B,0x5A,0xDD,0xDE,0xFD,0x26,0xE7,0x61,0xC7,0xF9,0x66,0x69,0xAB,0xBD,0x65,0x3E, -0xEE,0x3A,0xF0,0xA7,0x48,0xBB,0xCF,0x2B,0x16,0xC6,0xCF,0xC4,0xDF,0x82,0x41,0xA0,0x53,0x07,0x6E,0xEF, -0xFC,0xF0,0x3C,0x18,0x17,0x40,0x25,0xD8,0xD3,0xF0,0x14,0x05,0x24,0x63,0xEE,0x33,0xE7,0x1B,0xA5,0x4F, -0xB8,0x3E,0x90,0xBD,0xB8,0x5C,0x35,0xA9,0x2C,0x96,0x25,0x84,0x6A,0x5B,0x4C,0x13,0xF7,0x8D,0xD2,0xD2, -0x30,0xEB,0xA9,0x1E,0x5C,0xA4,0x32,0x4D,0xB1,0x7F,0xE1,0x7C,0xB3,0xE0,0x29,0xA2,0x6C,0x12,0xA7,0x91, -0x9B,0xC6,0x1C,0x71,0x6C,0x38,0xE6,0xB2,0xEB,0xAC,0x03,0x6C,0xEF,0x3A,0x01,0x9E,0x9A,0xCB,0xE5,0x5E, -0x07,0x92,0x9A,0x2C,0x78,0xFC,0x94,0x24,0x7C,0x7F,0x92,0x51,0x5F,0xF0,0xA0,0x4D,0xB1,0x81,0xCD,0x45, -0x8A,0x79,0x96,0x52,0x2D,0x88,0xFD,0x4C,0x18,0xBB,0x3D,0xC5,0xFC,0x44,0xD9,0xFD,0xE1,0xC3,0xCB,0x00, -0x76,0x2C,0x4B,0x04,0x7F,0x2D,0x02,0x38,0x30,0x9C,0x97,0xE3,0x34,0xF6,0x43,0x82,0x01,0x22,0xAF,0xF1, -0x83,0x81,0x2D,0x5E,0x22,0x62,0x5B,0xAC,0x1B,0x46,0xB1,0x0D,0x80,0xD4,0x5C,0xDC,0x81,0x16,0x90,0x87, -0xAF,0xF9,0x8D,0x45,0x3C,0x0A,0x1F,0xBD,0x7C,0x3B,0xD9,0x47,0x07,0xED,0xAE,0x8B,0xF6,0xC9,0x41,0x17, -0xFC,0xCB,0xAC,0xD1,0x57,0x27,0xFF,0x44,0x42,0x3C,0xCA,0x5D,0x4E,0x1C,0x54,0x51,0xEB,0x18,0xE4,0x62, -0x06,0x8A,0x34,0xBF,0x33,0xCE,0x07,0x9A,0x71,0xFD,0x7D,0xFB,0x87,0x9B,0x3F,0xBA,0xD7,0x4E,0xBB,0x7B, -0x63,0xFE,0x66,0x76,0x88,0xCD,0x31,0xE3,0x06,0x45,0x77,0x64,0x8A,0xC0,0xCE,0x6D,0x91,0x6F,0xFB,0x53, -0x90,0xC2,0xEC,0x95,0x67,0x10,0xC5,0xDE,0x96,0xE3,0x6C,0x78,0xF8,0x00,0x85,0x18,0x58,0xD7,0x4F,0x2E, -0x2F,0xCF,0x2F,0xAF,0xF5,0x16,0x6E,0xE9,0x37,0xAE,0xA6,0xB7,0xA8,0xE9,0x72,0x3B,0xC5,0x93,0x14,0xB3, -0xD9,0x05,0xE2,0x33,0x23,0xB0,0xEF,0x50,0x98,0x81,0x2E,0x04,0x23,0xB1,0x07,0x8A,0xD3,0xC7,0x19,0xD8, -0x0F,0xD5,0xCD,0x5E,0x6C,0x13,0x4A,0x71,0x7A,0x3A,0x7C,0xFB,0xC6,0xD3,0x2F,0x15,0x92,0xF6,0x86,0x30, -0xAE,0x5B,0xF2,0x46,0x6C,0x94,0x24,0x98,0x06,0x47,0x33,0x12,0x06,0x46,0x6C,0xF6,0x04,0x09,0x5F,0x92, -0x90,0xC5,0x08,0x50,0xF0,0x6D,0x55,0xB5,0x4E,0x40,0x72,0xDD,0xF2,0xED,0x28,0x0B,0x39,0x49,0x42,0xEC, -0x6D,0x74,0x61,0x46,0x51,0x04,0x30,0x91,0x8A,0x05,0x8C,0x04,0x9E,0xAE,0x02,0x92,0x0A,0x63,0x6B,0x4F, -0xF1,0xD5,0x29,0x41,0xE3,0x94,0xA0,0x8E,0x9B,0x80,0x54,0xBA,0x15,0xD8,0x55,0xB9,0x0C,0xB3,0xFC,0xA8, -0x02,0x16,0xE0,0x09,0x02,0x4E,0xDE,0x83,0xE4,0xB0,0xDA,0x59,0x77,0x50,0xA0,0x0E,0x62,0x4D,0x8D,0xB0, -0xBA,0x46,0xD4,0x55,0xAE,0x43,0x66,0x0A,0x39,0x6D,0x22,0xA7,0x75,0xE4,0x23,0x69,0x11,0xEB,0x90,0x53, -0x85,0x1C,0x36,0x44,0x0C,0xA5,0x88,0x2A,0xCA,0xB5,0x85,0x36,0x41,0x20,0xC0,0x0E,0xEB,0x62,0xC2,0x0C, -0x9C,0x12,0x8D,0x43,0x1C,0x78,0x1B,0x0E,0xCC,0x44,0x61,0xED,0x6D,0x39,0x6B,0xCE,0x08,0xD5,0x19,0x59, -0xE3,0x8C,0x4C,0x9E,0x41,0x12,0x50,0x22,0xE4,0x0E,0xDD,0xCA,0xA4,0xD6,0x9A,0x2B,0xEA,0x38,0x7F,0x86, -0xFD,0x5B,0x28,0xEF,0xD7,0xB1,0x9F,0x99,0xB0,0x4D,0x6E,0x10,0x6C,0x6C,0x20,0x79,0x50,0x22,0x0F,0x92, -0x3D,0x0A,0x1C,0x94,0xD8,0xE0,0xFE,0x9E,0x38,0xCE,0x4A,0xEA,0x3A,0x39,0x0F,0x03,0x8D,0x80,0xFD,0xAF, -0x23,0x9B,0x28,0x8E,0xA3,0xA6,0x4A,0xA3,0x3A,0xBA,0x36,0x40,0x77,0x78,0x2D,0x72,0x64,0x5A,0xA9,0x1D, -0x53,0x3F,0x24,0xFE,0xAD,0x57,0x79,0xB3,0xB9,0x30,0xEA,0x13,0x41,0x9F,0x7B,0x14,0xCF,0xB5,0x9F,0x20, -0x3A,0x1D,0x23,0x8E,0x7A,0x3C,0x27,0x63,0xE4,0xA6,0x83,0x81,0x10,0xB4,0x77,0x98,0x71,0x66,0xA3,0x00, -0x96,0x2F,0x46,0x43,0xDD,0xD2,0x3B,0xE2,0x62,0x74,0x70,0x68,0x62,0x2E,0xCD,0xD2,0xA5,0x2C,0x2A,0x83, -0xFB,0x28,0x0D,0xAB,0x25,0x18,0x14,0x46,0xB7,0xB4,0xA2,0xB5,0x3C,0x91,0x89,0x51,0x2A,0xB0,0x60,0x0A, -0xF9,0xD8,0x16,0x67,0x18,0xB9,0x09,0xE8,0x26,0x44,0x3F,0x65,0xBF,0x86,0x69,0xA1,0x26,0xD3,0xA8,0x64, -0x3A,0x45,0xF3,0xC2,0x4E,0xD4,0xF9,0x3D,0xE5,0xE5,0x0E,0x24,0x61,0xCA,0xB8,0x86,0xBD,0x1D,0xE7,0x87, -0xDD,0x1E,0xDC,0x86,0xA1,0x7C,0x17,0x00,0x7B,0xDC,0x06,0xEB,0x9A,0xF2,0x59,0xCF,0x6F,0x79,0xB9,0x56, -0x02,0x8F,0xDB,0x2C,0x1B,0x33,0x9E,0x42,0x8A,0x33,0x7C,0xCB,0x6F,0x61,0xB3,0x79,0x8C,0xDE,0x8A,0xAD, -0xC0,0xB4,0xE2,0x56,0x6B,0xB9,0xA2,0xA0,0xF3,0x41,0x4D,0x43,0x48,0x68,0x08,0x87,0x0C,0x6B,0xD4,0xC6, -0xF7,0xD8,0x3F,0x8A,0xA3,0x08,0x09,0x12,0x0C,0xAE,0x2E,0x9F,0xE8,0xE6,0xD2,0x8A,0xD7,0x6A,0xE6,0x89, -0xC8,0x65,0xB1,0xA7,0xF4,0x08,0x91,0xD0,0xF3,0x6D,0xE1,0x2E,0x2C,0x17,0xEA,0xCB,0xB7,0x5C,0xC4,0x22, -0x85,0x72,0xED,0xDC,0x58,0xE5,0xC5,0xAD,0x97,0xAA,0xBA,0x77,0x61,0x75,0x8D,0x10,0x64,0x56,0x37,0x2D, -0x60,0xCD,0xD0,0x56,0x41,0xF5,0xE5,0xD2,0xF2,0x05,0xFF,0x33,0x44,0xA7,0xF8,0xEF,0x0B,0x50,0xF1,0x28, -0xBD,0xD4,0xA2,0x90,0x43,0x0E,0xDC,0x5F,0x6C,0xE3,0xFA,0x57,0xFB,0xA6,0x65,0x9A,0x07,0x5F,0x77,0xA4, -0x86,0x0D,0x6E,0x5E,0x77,0x6F,0x2C,0x04,0x60,0xFB,0x3B,0xF3,0x17,0x5B,0x82,0x1B,0xB0,0xDE,0x5D,0x4C, -0x02,0x4D,0x9C,0x24,0x9C,0x3B,0x9E,0x68,0x68,0x73,0xD3,0x00,0x93,0x6B,0x18,0x6B,0x8B,0xB7,0x74,0x1B, -0xD2,0xC7,0x72,0xB9,0x9A,0xD4,0x86,0x29,0xC6,0x2A,0x6B,0x96,0x00,0xC9,0x3D,0xC8,0xBC,0x1A,0xAF,0x4A, -0xA9,0xB1,0x55,0x41,0x61,0x51,0x66,0x7D,0x3B,0x2F,0x28,0x3C,0x5D,0x54,0x14,0x10,0x6B,0x56,0x97,0x65, -0xA7,0x07,0xEB,0x35,0x97,0xFF,0x76,0x8F,0x44,0x53,0x8D,0xA5,0xBE,0xA7,0xAE,0xE2,0x40,0xFC,0xF0,0xBE, -0x15,0xD9,0x6E,0xF3,0x37,0x7F,0xEC,0xE9,0x2D,0xB8,0x5F,0x6C,0xD3,0x78,0x6E,0x98,0xAD,0x6F,0x75,0x4D, -0x52,0xF4,0xF4,0x08,0xDD,0xE7,0xFD,0xBE,0x28,0x48,0x7A,0x1A,0xCC,0xCB,0x06,0x55,0x2D,0xA8,0x4E,0x1B, -0x65,0x3C,0xEE,0x69,0x45,0xA1,0xA3,0x3A,0x4D,0x5D,0xEB,0xEC,0x7F,0x5B,0xE9,0x00,0x81,0xE8,0x48,0xDD, -0x09,0x91,0xA1,0x29,0x13,0x01,0x0E,0x37,0xA2,0x0F,0xC9,0xDD,0x4E,0xC5,0x40,0x02,0x70,0xB2,0x92,0x39, -0xAD,0xC0,0x40,0xE6,0x81,0xD1,0xC8,0xB7,0x7B,0xA2,0x37,0xD9,0xBF,0x50,0x45,0xE7,0x5E,0x47,0xCE,0xF4, -0x75,0x8E,0x01,0x9A,0xA7,0x80,0x6E,0x95,0x65,0xCE,0x38,0x0E,0x1E,0x6A,0xC5,0x11,0x3B,0x7C,0x38,0x0A, -0x11,0x63,0x67,0x28,0x82,0xF3,0xFD,0x48,0x37,0x73,0x53,0xDA,0x77,0x36,0x37,0x9B,0x48,0x29,0x8E,0xA0, -0x17,0x52,0x5C,0x61,0x08,0x65,0xAE,0x0F,0x84,0x37,0x37,0xD7,0x31,0x26,0x9E,0xA8,0xBE,0xC4,0x15,0x05, -0x77,0x2D,0xC2,0xDF,0xFF,0xC4,0x9D,0xCA,0xB1,0x4F,0x69,0x35,0x05,0x9F,0x7D,0xCC,0xF6,0x71,0x3C,0xA7, -0x82,0xAB,0x92,0xF5,0x74,0x8D,0x42,0xAB,0xBC,0x50,0x5A,0x72,0x90,0xE3,0xB5,0x27,0xA9,0x32,0xE4,0x9A, -0xD1,0x15,0x30,0x30,0x37,0xBC,0x34,0xFF,0x1F,0x61,0x55,0x49,0xF0,0x94,0xAC,0xA1,0x69,0x85,0x6B,0x64, -0xC5,0x21,0xE6,0xB8,0x94,0x34,0x5C,0x2B,0x29,0xFB,0x7F,0xF8,0xAD,0x3C,0x84,0xA8,0x4A,0xB7,0xEE,0x23, -0x01,0xB9,0xD3,0x21,0x57,0x78,0x4D,0x0A,0xCC,0x4F,0xE3,0x30,0x1C,0xC6,0xC9,0xC1,0x13,0xEB,0x6E,0xB9, -0x9E,0x0F,0x0A,0x36,0xAB,0x2D,0x96,0xBF,0x96,0xE8,0x1B,0x3C,0xE1,0x07,0x4F,0x01,0x9E,0x26,0x5B,0xED, -0xB1,0x02,0x0F,0xDB,0xA0,0x3C,0x58,0xFD,0xB9,0xE5,0x5B,0xAC,0x9C,0x5D,0xB5,0x62,0xB8,0x0B,0xBF,0x50, -0x92,0x27,0x94,0x64,0x91,0xB5,0xA1,0xAB,0x5A,0x17,0xED,0xA5,0x17,0xB4,0xF4,0xE4,0xBE,0x5A,0xE3,0x71, -0xE2,0x31,0xB5,0x84,0x0C,0x62,0xF1,0x95,0x4B,0x59,0x17,0x50,0x52,0x8F,0xD8,0xF1,0x64,0xC2,0x30,0xFF, -0x20,0x82,0x99,0x15,0x96,0xF3,0x53,0x19,0xCC,0x7A,0x30,0xA5,0x51,0x9C,0x31,0x1C,0x67,0xBC,0x59,0xF6, -0x94,0xC2,0xEC,0x05,0x7F,0xFC,0x51,0x4E,0xF6,0x83,0x56,0x5A,0x4D,0xAF,0xF6,0x58,0x6D,0xB2,0xCF,0x5A, -0x21,0x84,0x82,0xFF,0xD8,0x52,0x48,0xDD,0x52,0x62,0x11,0x4B,0xAD,0x58,0x59,0x0A,0xAB,0x6C,0x9D,0x89, -0xBA,0x14,0xD5,0xBC,0x5D,0x18,0xB4,0x6E,0x16,0x6D,0x57,0xDD,0xCB,0x91,0xC5,0x56,0x83,0xC0,0xFA,0xE2, -0xC0,0x37,0x04,0x55,0xD0,0xFA,0x9B,0x78,0x8E,0xD3,0x23,0xC4,0xB0,0x01,0x39,0xB3,0x8C,0x58,0x12,0x6A, -0xBA,0xC1,0x9A,0x5D,0xA0,0x04,0xAA,0xC0,0x79,0xE1,0x11,0x53,0x51,0x7D,0x83,0x7C,0x59,0xE3,0x04,0x6C, -0x8B,0x07,0x03,0x90,0xFA,0x58,0x35,0x1B,0x50,0xA7,0x61,0x9B,0xC1,0x35,0x5F,0xA4,0x71,0x82,0xA6,0xB2, -0xB9,0x86,0x35,0xE1,0x1E,0x05,0xB5,0x5A,0x6A,0x2D,0xEB,0x51,0x99,0xD6,0x1F,0x67,0x75,0x2C,0x33,0x37, -0x54,0x08,0xAB,0xC9,0x9B,0x9B,0x6C,0x4E,0xB8,0x3F,0x13,0xBE,0xED,0x03,0xC3,0x3A,0x87,0xCE,0xC0,0x95, -0xA3,0x19,0x8F,0xAA,0x51,0x98,0x0F,0x3F,0xB1,0x7C,0xE0,0xB3,0x62,0x74,0x5F,0x03,0xC6,0xB4,0x00,0xC7, -0x74,0x92,0x0F,0x09,0x25,0x05,0x9D,0x02,0x58,0x7C,0x26,0x49,0x3E,0x4A,0x66,0xC5,0x68,0x86,0xEF,0x4B, -0xBC,0xB8,0x80,0x06,0x58,0x77,0xD5,0xF5,0x6D,0x38,0xCB,0x7C,0xD0,0xAD,0xC4,0x0F,0xFE,0x3B,0xF1,0x13, -0x3A,0x2D,0x84,0x49,0x8A,0xD1,0x94,0x14,0xA2,0x8C,0xA3,0xE4,0x8B,0x8C,0xB0,0x7F,0xDB,0x17,0x1C,0x9F, -0xBC,0x39,0x19,0x9E,0xD4,0x4B,0xC4,0xFA,0x2B,0x02,0xFF,0xAB,0x36,0x9D,0x9B,0xAE,0x91,0xD4,0x3D,0x05, -0x66,0xBE,0xF8,0x3C,0x8B,0x03,0x59,0xF4,0x41,0xC0,0x37,0x12,0xA0,0xAE,0x9B,0x66,0xE3,0xA1,0x21,0x6D, -0x3C,0x60,0x54,0x81,0x3E,0x7F,0x19,0x00,0x3D,0x6D,0x6E,0xD6,0x18,0x91,0xEB,0xD5,0xE3,0x07,0xB5,0x74, -0x55,0xA7,0x49,0x67,0x43,0x4F,0x15,0x34,0xC8,0x2C,0x5B,0x06,0xE2,0xD1,0xDC,0xD1,0x2D,0xD1,0x3D,0x90, -0x7D,0x1F,0xDA,0x86,0x96,0xA9,0x1A,0x7E,0xCF,0xF3,0xE8,0xB5,0x7F,0x23,0x9B,0xC6,0xCD,0x4D,0xD4,0x2C, -0x7A,0x0C,0xC7,0x92,0x40,0x71,0xA0,0x1C,0xC9,0x76,0x15,0x64,0x01,0xB6,0x1C,0xEB,0xD5,0xE0,0xFC,0xCC, -0x4E,0x50,0x0A,0x1E,0x47,0xCD,0x7A,0x90,0x08,0x95,0x80,0x4D,0x6D,0xBF,0x38,0xA9,0x55,0xE3,0xF2,0x7B, -0x21,0x97,0x2F,0xAD,0xD4,0x10,0xE4,0x54,0x9F,0x2B,0x72,0x78,0xFE,0x80,0x07,0xA9,0x27,0x29,0xD2,0x50, -0x15,0x45,0x92,0x7A,0x10,0xE7,0x77,0xD9,0xFA,0x1E,0xD4,0xE2,0x33,0xC2,0xEA,0x5D,0x48,0xC3,0xE5,0xFF, -0xE6,0x8D,0x2D,0x8B,0x91,0x22,0xB7,0x5A,0x50,0xAB,0x2F,0xFF,0xD4,0xE5,0xC8,0x86,0x69,0x51,0x45,0xC8, -0xCA,0x1C,0x75,0xC8,0x2C,0x84,0xEA,0x16,0xFD,0xA7,0x1E,0x42,0x0B,0x0F,0xA1,0x8F,0x03,0x04,0xBE,0x6F, -0x78,0x7B,0x79,0x4A,0x6F,0x0C,0x9C,0xDD,0xF6,0xCA,0x28,0x02,0x10,0x19,0x43,0x1A,0x80,0x4F,0x4C,0xAE, -0x7F,0x42,0x77,0x48,0xBD,0xDF,0x55,0xD0,0xF5,0xA1,0x42,0x6E,0xF7,0x7F,0x83,0x51,0xB9,0xB3,0x19,0x88, -0x18,0x0C,0x1F,0xC7,0x13,0xDE,0x08,0x4F,0x55,0xCC,0xAA,0x47,0x27,0x70,0xD7,0xDC,0x9B,0x35,0x5E,0xD3, -0x6F,0xCD,0xF5,0xC0,0x20,0x9F,0xF4,0xBD,0x5A,0x20,0x52,0x18,0x75,0xEB,0x59,0xDF,0xAE,0x34,0x1B,0x9A, -0xF5,0xE9,0x5F,0xFA,0x1F,0x3E,0x60,0x36,0x2B,0x5A,0x77,0x70,0xF3,0xDA,0x4C,0xD7,0x45,0xB6,0xF2,0x43, -0x8C,0xD2,0x81,0xE8,0x12,0x55,0x86,0x58,0xAA,0x0B,0xF4,0xA4,0xEB,0x1A,0xA0,0xB1,0x8E,0x7C,0x28,0xB6, -0x85,0x1E,0x00,0xA1,0x84,0x52,0x80,0x52,0x2F,0x06,0x9A,0xB5,0x45,0x04,0x8B,0x08,0x1A,0x9E,0x98,0xC6, -0xB7,0x88,0xD4,0xB7,0x13,0x80,0x90,0xFC,0xEB,0x64,0xE8,0xEB,0xAC,0xFC,0x22,0x24,0xA1,0x0A,0xA2,0xAE, -0xDF,0xCC,0xDF,0xC2,0xAA,0x67,0x08,0x5C,0xF8,0x4D,0x6E,0x20,0x1B,0x12,0x8D,0x89,0x82,0x60,0x80,0x19, -0x93,0x8C,0x0B,0xC1,0xDE,0xC6,0x01,0xC8,0x05,0x68,0x9D,0x08,0x46,0xE2,0x20,0x10,0x51,0x00,0x86,0x33, -0x1C,0xE5,0x10,0x0E,0x43,0x01,0x42,0x02,0xF4,0xB5,0xD4,0xD5,0x40,0x16,0x5E,0x84,0x4E,0xBD,0x6E,0xC7, -0xB1,0x1E,0x93,0x1D,0x31,0x3C,0x88,0x27,0x7C,0x88,0xC6,0xCC,0xD8,0x70,0xCC,0x35,0x3B,0x00,0x34,0x80, -0x70,0x62,0x6C,0x99,0xEB,0xD1,0x3F,0xC4,0xE9,0x2D,0x4E,0x8D,0x8D,0x6E,0xCE,0xCF,0x29,0x14,0x4C,0x21, -0xFC,0xE7,0x7D,0x50,0xFB,0x1D,0x7E,0x43,0x28,0xCE,0x29,0x33,0x40,0x9E,0xC5,0xF3,0x8B,0x94,0x50,0xFE, -0x56,0xF6,0x85,0x39,0x96,0xAF,0x9E,0x2B,0x64,0x08,0x2A,0xDE,0x31,0x16,0x22,0x9A,0xB9,0x8D,0xD7,0x0C, -0x6B,0x0C,0xF7,0x05,0xC1,0xD5,0x5D,0xCC,0x09,0x75,0xF5,0x23,0x9E,0x86,0xED,0x81,0x6E,0x45,0xC8,0x87, -0x89,0xDA,0x03,0xF3,0xA5,0x25,0xBC,0xD6,0xAD,0x47,0x93,0x8D,0x6A,0x52,0x15,0xD0,0x6B,0x9F,0x7A,0xAA, -0x97,0x0B,0x01,0x3C,0x0C,0xE3,0xB1,0x21,0x5E,0xA7,0x17,0xC2,0xE3,0x5D,0xBA,0x34,0x45,0x7A,0xFA,0xF2, -0xAB,0x8C,0x0F,0x61,0x97,0x5B,0xB8,0xF6,0xA8,0xD4,0xD2,0x75,0xF1,0x56,0x03,0x78,0x28,0x38,0xA7,0xE1, -0x83,0x0B,0x69,0xF1,0x2F,0xA4,0xCE,0x68,0x10,0x7F,0x49,0xEA,0x8F,0x2B,0x52,0x7F,0x5C,0x27,0x35,0x6E, -0xDE,0x16,0x4C,0x46,0x40,0xF6,0x2D,0xA2,0x68,0x8A,0x53,0x58,0x10,0x87,0xC0,0x05,0xFC,0x33,0xCE,0x52, -0xFC,0x65,0xCE,0x06,0x33,0x32,0xE1,0xAB,0xFC,0xA9,0xD5,0x7F,0xC7,0x65,0x8A,0x9F,0xE0,0xB2,0x28,0x30, -0xCB,0xBC,0xF1,0xD7,0x4F,0x25,0xD2,0xA9,0x3D,0xB8,0xC2,0xBA,0xBB,0xFE,0x0B,0xBF,0xAB,0x4E,0xFC,0x72, -0xFA,0x14,0x1F,0x2E,0x5E,0x5A,0x81,0xB0,0x89,0x66,0x59,0x1A,0xD3,0x43,0xA8,0xE0,0xDF,0x80,0x08,0x86, -0x32,0x47,0xEC,0x2D,0x96,0x16,0xF7,0x0C,0x50,0x25,0x74,0xC1,0x20,0x9C,0x2F,0xEB,0x5A,0x7B,0x06,0x29, -0x12,0x94,0x00,0x4C,0x42,0xA2,0xED,0x5C,0x1F,0x6C,0xDE,0xB4,0x20,0x43,0x79,0xF0,0x61,0x7A,0x30,0xD8, -0xBC,0xF9,0xCE,0xEC,0x4C,0x49,0xAD,0x26,0x92,0xB9,0x0E,0xF4,0x7A,0x4D,0x6F,0x3C,0xB4,0x84,0x10,0x56, -0xCF,0x85,0x65,0x64,0xB5,0xB0,0x7C,0xF5,0x82,0x8F,0x10,0xD1,0x29,0x7C,0xC8,0xD8,0x01,0xE1,0x69,0xCD, -0xF7,0x2B,0x7A,0xA6,0x46,0x80,0x55,0x7B,0xA8,0xD2,0x39,0xFC,0xD4,0x45,0x7B,0xC5,0x6B,0xC1,0x50,0x91, -0x85,0xB8,0xA7,0x06,0xF5,0x18,0x2B,0x92,0x74,0x71,0x69,0x39,0xD8,0x5C,0x0A,0x53,0xC7,0x13,0x42,0x71, -0xA0,0x97,0x79,0xF5,0xE7,0xB7,0x6F,0x4E,0x39,0x4F,0x2E,0x95,0x66,0x81,0x56,0x73,0xA1,0xBA,0x70,0x73, -0xC1,0xD3,0x87,0xA2,0x42,0x13,0x0E,0xAB,0x42,0xCE,0xCF,0xE7,0xE3,0x4F,0xD8,0x87,0x7C,0xF4,0x96,0x41, -0x32,0xDB,0xB2,0x05,0xFA,0x70,0x78,0x61,0xEF,0xDA,0x0E,0x94,0x0C,0x3E,0x82,0x94,0x2D,0x6E,0x6E,0xF9, -0x8F,0x90,0xB7,0xFF,0x19,0x32,0x81,0xB8,0xCB,0x20,0xB0,0x16,0xF8,0x4D,0xDC,0x59,0x1A,0xCF,0x25,0xDA, -0x49,0x9A,0x8A,0x4B,0x19,0xCE,0x08,0xD3,0xC6,0xB0,0xC8,0x70,0xAA,0x05,0x31,0x66,0x1A,0x8D,0xB9,0xC6, -0xB2,0x24,0x89,0x53,0xBE,0xA2,0x0F,0x5B,0x2F,0x1E,0x6C,0xDE,0x65,0x38,0xC3,0x41,0xBE,0x8C,0xD3,0xBA, -0x5E,0x64,0x71,0x05,0xEB,0x60,0xF6,0xD7,0x37,0x79,0xA9,0x95,0x51,0x2A,0xF2,0xC0,0x46,0x57,0xCD,0x41, -0xBA,0x19,0x50,0xF5,0x68,0x16,0x86,0xCB,0xDE,0x0A,0x2D,0xE8,0xB8,0x62,0x1E,0xCB,0xAF,0x28,0x16,0xBF, -0xE5,0x26,0xEE,0xAE,0xBC,0xA8,0x36,0xA9,0x3A,0xD6,0x86,0xB1,0x81,0x35,0x42,0x19,0x47,0xD4,0x17,0xD7, -0xA8,0x74,0x61,0x16,0x65,0x96,0xD8,0xDE,0x13,0xFE,0x29,0x6D,0xE9,0xC9,0xDC,0x2E,0x25,0xA3,0x9E,0xAE, -0x8B,0x8A,0x0B,0x8B,0xC2,0x15,0x45,0xAC,0x46,0xB6,0x8C,0xD8,0x26,0xF5,0x0A,0x70,0x4F,0xBE,0x83,0x37, -0xF7,0xAF,0xB2,0x51,0x94,0xD9,0x08,0x60,0x5A,0xB1,0xCF,0xA4,0x2D,0x4F,0x97,0x99,0xFA,0x40,0xBA,0xAE, -0x34,0xE0,0x08,0xF3,0x59,0x1C,0x1C,0xE8,0x07,0xBA,0xAB,0xC3,0xBF,0x4D,0xDD,0x82,0x5D,0x98,0xFA,0xE0, -0xFE,0xA3,0xCB,0x97,0x10,0xD2,0x92,0x98,0x62,0xCA,0x0D,0x04,0x91,0xDD,0xD3,0x5B,0x6B,0x20,0x05,0xF9, -0x6B,0x74,0x63,0xF6,0x9A,0xCA,0xC6,0xF3,0x95,0xEB,0x6C,0x5C,0x86,0x1D,0x53,0x11,0xE5,0x1E,0x80,0x79, -0x8E,0x1F,0xBD,0x63,0x5B,0xF4,0x71,0x3B,0x62,0x2E,0x76,0x04,0xCF,0x12,0x6B,0x00,0x58,0xC2,0xF5,0x2A, -0x25,0x3F,0x55,0x62,0x51,0xDB,0x47,0x61,0x28,0xBE,0x7E,0x07,0x5E,0xC5,0x61,0x19,0xB3,0x04,0x11,0x06, -0x02,0x30,0x3C,0xC4,0xF7,0xE0,0xD2,0xB2,0x4E,0x52,0x36,0x94,0xF7,0x25,0x40,0x9A,0xD7,0xCC,0xC8,0xB4, -0xCA,0xD9,0xE6,0x26,0xB7,0x0B,0x33,0x31,0x0A,0x24,0x26,0x82,0xBE,0x61,0x8A,0x9E,0xC3,0xA8,0x0B,0x29, -0x72,0xE8,0x23,0x6D,0x1B,0x4D,0x35,0x24,0x98,0x1A,0x05,0x0C,0x38,0xCB,0xD2,0x10,0x22,0xB5,0xA8,0x22, -0x1A,0xDB,0x18,0xA6,0x01,0x1C,0xE0,0xFE,0x25,0xB2,0x44,0xA5,0x75,0xAB,0x18,0xF0,0x54,0xF1,0xDD,0xA4, -0xC7,0xF3,0x5B,0x39,0xC5,0x32,0xF2,0x35,0x7F,0xF3,0xD0,0xD2,0x51,0x92,0x84,0x44,0x05,0xE6,0x0E,0x3C, -0x7C,0xCF,0xE7,0x6D,0x30,0xAB,0xA8,0x0D,0x27,0x28,0x2B,0x08,0xF4,0x35,0x1C,0xAA,0xB6,0xCB,0x12,0x0F, -0x16,0xEE,0x8A,0x8B,0x56,0xFA,0x33,0x56,0x7C,0xB4,0x49,0xA7,0xC9,0x67,0xED,0xB6,0xF7,0x76,0x56,0x40, -0x68,0x2C,0xBE,0x67,0x87,0x5C,0x03,0xE9,0xA8,0x3C,0xAD,0xE8,0x80,0xEA,0x71,0xC1,0x4E,0x32,0x36,0x33, -0x16,0xC0,0xBA,0xCB,0x2D,0xA5,0x2B,0x17,0x5B,0xCA,0x6E,0x5D,0x6A,0x15,0xF6,0xE1,0x42,0x0A,0x69,0xC4, -0x8F,0x3F,0xFE,0x90,0xB3,0xEA,0xB6,0x61,0xB6,0x72,0xE1,0x4B,0xF5,0xC6,0x5A,0x64,0x46,0x61,0xF4,0xAB, -0xB1,0x6A,0xAF,0xA3,0x1A,0x9B,0xE2,0x17,0x14,0x34,0x12,0x78,0x22,0xC9,0xEA,0xEA,0x31,0x18,0x46,0x13, -0x08,0x4B,0x36,0x34,0x42,0xC5,0xAF,0x76,0xEA,0xF9,0xEF,0x76,0xAE,0x62,0xEE,0x97,0x8D,0x99,0xE7,0x95, -0x55,0xB5,0x8A,0x39,0x6A,0x83,0xF7,0xC4,0x2F,0x2D,0xE8,0x0A,0x0C,0x7D,0xAB,0x1A,0xD8,0xE5,0xD1,0xE2, -0x58,0x2B,0x5F,0x44,0xEC,0x81,0xFA,0x22,0x66,0x96,0x54,0x66,0xA0,0xFC,0x46,0x2F,0xAB,0x76,0x9A,0xCB, -0x8A,0x33,0xF1,0x38,0xA7,0xC5,0xF9,0x4B,0x76,0x3D,0xD3,0x03,0xFB,0xD0,0x2A,0x0B,0x61,0x0B,0x07,0x95, -0xAD,0x72,0x39,0x03,0xE9,0x00,0x5E,0x6D,0xCA,0x92,0xF5,0x00,0x95,0x7B,0x57,0x17,0x55,0x6A,0x5F,0x5D, -0x2E,0xDB,0xAD,0xFC,0x2B,0x9B,0xDA,0x6F,0x9B,0x54,0x24,0x88,0x7C,0x8C,0x97,0xDB,0x9B,0xEF,0xF3,0x4F, -0x61,0x29,0x84,0xFD,0x3F,0x01,0xA4,0x40,0xDC,0x9E,0xCB,0x2B,0x00,0x00 +0x6F,0xF3,0x87,0x04,0xEB,0x9A,0xAF,0x66,0x9E,0xCE,0xF1,0x3D,0xEF,0x08,0xE4,0x9E,0xE6,0xCF,0x50,0xCA, +0x30,0xF7,0x32,0x3E,0x69,0x3F,0x07,0x12,0x9C,0xF0,0x10,0xEF,0x9F,0x0C,0x2E,0xB4,0x93,0x80,0xF0,0x38, +0xDD,0xEB,0xA8,0x95,0x3D,0xC6,0x1F,0x42,0xAC,0x09,0x42,0x39,0xBE,0xCF,0x98,0xAE,0x45,0x38,0x20,0xC8, +0xD3,0x99,0x9F,0x62,0xC1,0x41,0x88,0xC6,0x38,0x5C,0x4C,0x62,0x38,0x92,0x91,0xCF,0xD8,0xED,0x6E,0x25, +0xF7,0x3D,0x39,0x9D,0xA0,0x88,0x84,0x0F,0x2E,0x43,0x94,0xB5,0x19,0x4E,0xC9,0x64,0x69,0xFB,0xD1,0xE2, +0x73,0x9B,0xD0,0x00,0xDF,0xBB,0xDB,0x8E,0xD3,0x4B,0x62,0x46,0x38,0x89,0xA9,0x8B,0xC6,0x2C,0x0E,0x33, +0x8E,0x7B,0x21,0x9E,0x70,0xF7,0x19,0x50,0x18,0xC7,0x69,0x80,0x53,0xB7,0x9B,0xDC,0x6B,0x00,0x22,0x81, +0xF6,0xD5,0xCE,0xCE,0x4E,0x6F,0x8C,0xFC,0xDB,0x69,0x1A,0x67,0x34,0x68,0xFB,0x71,0x18,0xA7,0xEE,0x57, +0x93,0x67,0xE2,0x6F,0x2F,0x20,0x2C,0x09,0xD1,0x83,0x4B,0x63,0x8A,0x01,0xF7,0xBE,0xCD,0x66,0x28,0x88, +0xE7,0xAE,0xA3,0x39,0x5A,0xD7,0x01,0x22,0xE9,0x74,0x8C,0x0C,0xC7,0x12,0x7F,0xED,0x1D,0xB3,0xF7,0xB7, +0xF8,0x55,0xCB,0x73,0x4C,0xA6,0x33,0xEE,0x7E,0xEF,0x38,0x82,0x7F,0x2D,0x0B,0x17,0x21,0x61,0xBC,0x2D, +0x95,0xA3,0xCE,0xE3,0x71,0xE2,0x3A,0x92,0x75,0xF8,0x88,0x50,0x3A,0x25,0x14,0x06,0x09,0x0A,0x02,0x42, +0xA7,0xAE,0x42,0x0B,0xC9,0xA2,0x94,0x36,0xC5,0x21,0xE2,0xE4,0x0E,0xF7,0x22,0x42,0xDB,0x73,0x12,0xF0, +0x99,0xBB,0xEB,0x00,0x17,0x7E,0x96,0x32,0x90,0x29,0x89,0x09,0xE5,0x38,0x95,0x68,0x2C,0x41,0x74,0xA1, +0x44,0x15,0x0A,0x28,0xE5,0x24,0x34,0x24,0x14,0xB7,0xC7,0x61,0xEC,0xDF,0x96,0x27,0xED,0x26,0xF7,0xF9, +0x59,0xEE,0x2C,0xBE,0xC3,0xE9,0xA2,0x52,0x97,0xC4,0x6E,0x00,0x1B,0xA4,0x31,0xC6,0x4B,0x9B,0xDF,0x65, +0x00,0xB5,0xE4,0x27,0x48,0x99,0x53,0xAD,0x8B,0xD4,0x14,0x3C,0x47,0x21,0x34,0xC9,0xF8,0xE2,0xF1,0x55, +0xC6,0x09,0xF2,0x09,0x7F,0x70,0x1D,0xB9,0x4D,0x5A,0x88,0xBB,0xE3,0x38,0x9A,0x50,0xB8,0xF6,0x1E,0xA7, +0x01,0xA2,0xC8,0xEA,0xA7,0x04,0x85,0xD6,0xA0,0x52,0x79,0x3B,0x8A,0x3F,0xB7,0x33,0x18,0xC3,0x3C,0xC4, +0x3E,0x57,0x1A,0x86,0x4B,0x18,0xDF,0x12,0xFE,0x18,0xF0,0x68,0xA1,0xA6,0x2B,0xA9,0xA1,0x99,0xBA,0xBD, +0x2E,0xE8,0x46,0xF2,0xA1,0xC4,0x56,0x12,0xB5,0xC7,0x31,0xE7,0x71,0x24,0xED,0xAD,0x94,0x56,0x93,0x26, +0xF3,0xFC,0xD1,0x75,0xAC,0x57,0x7D,0x8D,0x7C,0x0F,0x94,0xCA,0x89,0x8F,0xC2,0x36,0x0A,0xC9,0x94,0xBA, +0x11,0x09,0x82,0x10,0xD7,0x4C,0xD6,0xCD,0xD2,0xD0,0x08,0x10,0x47,0x2E,0x89,0xD0,0x14,0x77,0x12,0x3A, +0x05,0x28,0xC3,0xBB,0x3B,0x16,0x79,0x7F,0x78,0x7E,0x39,0x77,0x5E,0xBF,0x98,0xC6,0x7D,0xF8,0x73,0x36, +0x18,0xCD,0x4E,0x46,0x53,0x18,0x1D,0x8A,0x69,0xFF,0xDD,0x51,0xFF,0x1D,0x7C,0x1C,0x75,0x5B,0x9F,0x26, +0xBF,0xF7,0xC5,0xF2,0x8B,0xE0,0x70,0x38,0x3A,0xE9,0xF7,0x5F,0x77,0x5E,0x9E,0xCD,0x3F,0xBC,0xDE,0x15, +0xE0,0xC3,0xD0,0xB9,0x7C,0x3F,0x73,0x46,0x5B,0x3F,0x44,0xC1,0x69,0x30,0xF3,0xA3,0x51,0xFF,0xDD,0x87, +0xCB,0xBB,0xAB,0x68,0x34,0x1D,0x7C,0xE8,0xCE,0x3E,0x6E,0xBD,0x1F,0x7C,0xFC,0xF0,0xD3,0x2D,0xFE,0xF9, +0xF4,0xD5,0xC7,0xE1,0x1C,0x10,0x8E,0xE3,0xC1,0xE8,0xF2,0xF0,0xFD,0xE1,0xF4,0xE3,0xA1,0x7F,0x72,0x3F, +0x0E,0xCF,0x0E,0x5F,0xF4,0xC7,0xFD,0x2D,0x1F,0xE3,0xE9,0xF0,0xF2,0x30,0x7B,0xF9,0xFA,0x7C,0x4A,0xC8, +0x6C,0xF0,0xF1,0x6C,0xE8,0x1F,0x3D,0x7B,0x33,0x3A,0xED,0x93,0xD9,0xD9,0xAB,0x4B,0xE7,0xF6,0xC5,0xEB, +0xA3,0x63,0xFF,0xEA,0xD5,0xD5,0xEE,0xF1,0x76,0xE7,0xFB,0xEF,0xDF,0x06,0xE7,0x84,0x0E,0xEF,0x3E,0xF7, +0xA7,0x47,0xF3,0xE7,0x0F,0x6C,0x38,0x7B,0x79,0x47,0x3B,0xEF,0xE3,0x4F,0x2F,0x1F,0xDE,0xC2,0xFF,0x8B, +0x8B,0xD6,0x78,0xD0,0x65,0xA3,0x77,0x2F,0xDF,0x6F,0xB1,0x1F,0x9E,0x25,0x87,0xC7,0xC7,0x77,0xD1,0xF8, +0xA2,0x13,0x05,0xB7,0x13,0xFE,0x7C,0x9B,0x27,0x57,0xD3,0xEC,0xE3,0xEF,0xCF,0x5E,0xCD,0x3A,0xE7,0x18, +0x5D,0xCD,0x5A,0x0F,0x9F,0x1F,0x9E,0xCF,0x86,0xA7,0x77,0x67,0x21,0xBA,0x3F,0x3B,0xF3,0x3F,0x47,0xAD, +0x10,0xFD,0x70,0x3E,0x0C,0x51,0xDA,0x1D,0x05,0xFD,0x4E,0xEB,0x68,0xAB,0xBF,0xC3,0xD3,0xCB,0x23,0x7A, +0xBC,0xFD,0x69,0xF0,0xFC,0xF0,0xB0,0x1B,0x8F,0x7F,0xDF,0x7A,0x71,0xBB,0xFB,0x62,0xB4,0xFB,0x6E,0xFC, +0xAE,0x3F,0xD8,0x39,0x1C,0xA1,0xAB,0xC1,0xBB,0xFE,0x64,0x67,0x3C,0x9B,0xBD,0x7E,0x3D,0xFC,0x29,0xE8, +0x7F,0x4E,0xFB,0xE7,0xF3,0xFE,0xFD,0xC9,0xA8,0x7F,0xDA,0x7A,0x7D,0xF2,0xD6,0xE9,0x0E,0xAE,0xB6,0xA7, +0x6F,0x77,0xE7,0x87,0xEC,0xA4,0xFF,0xEE,0xD0,0x99,0xBE,0x6A,0x45,0xE8,0x63,0x7C,0xB4,0x3D,0x7D,0xB9, +0x4B,0x2E,0xAE,0x50,0xFF,0xE5,0xE1,0x2B,0x46,0x2E,0xA3,0xD3,0x91,0xD3,0xEF,0xBF,0x39,0xC7,0x3F,0x1D, +0x6D,0xA3,0xD7,0x5B,0xFE,0x07,0xD0,0xFF,0xE8,0x67,0xFC,0x7D,0xAB,0x3F,0x3F,0x77,0x42,0xFF,0x07,0x3C, +0x3C,0xBD,0x1A,0xCA,0xDB,0x39,0x09,0x7F,0x1A,0xDE,0x0E,0xB2,0x77,0xD1,0xD1,0x91,0xA9,0xD1,0xB8,0x9D, +0xE2,0x04,0x23,0x5E,0x8F,0x55,0xA5,0x73,0x80,0x6D,0x55,0x56,0x98,0x3B,0xA9,0x88,0xAC,0xED,0x00,0xFB, +0x71,0x8A,0xE4,0x1E,0x40,0xC0,0xA9,0x30,0xB1,0xE5,0x8F,0x32,0xD4,0x6A,0x2A,0xD2,0x6A,0x88,0x06,0x9A, +0x51,0x38,0x42,0x44,0x28,0xE0,0xDC,0x11,0x1F,0xB7,0x13,0x72,0x8F,0xC3,0xB6,0x44,0x76,0x1D,0x73,0x21, +0x9D,0xAD,0xD8,0x86,0x28,0x89,0x14,0xD5,0x62,0x21,0xF8,0x84,0x7C,0x91,0x1E,0xC0,0x65,0x22,0xF8,0xCC, +0x7D,0x27,0x4E,0xDB,0xE3,0x6C,0x3A,0x21,0xF7,0xE0,0xCD,0x13,0x42,0x09,0xC7,0x5A,0x97,0x2D,0x7F,0x2C, +0xC8,0xDC,0xE2,0x87,0x49,0x8A,0x22,0xCC,0xB4,0xBF,0x49,0x66,0x31,0x49,0xE3,0x68,0x51,0x45,0x40,0x1E, +0xD7,0x26,0xCB,0xE5,0x57,0x59,0x12,0xC6,0x08,0xC4,0x5C,0x13,0x36,0x54,0x30,0x4D,0x85,0x5B,0x95,0x41, +0xB5,0x70,0xB3,0x2D,0x70,0xCB,0x86,0x5B,0x6F,0xED,0x54,0xAE,0xDB,0x96,0x7B,0x45,0xB0,0xAF,0xAB,0xBE, +0x16,0x0F,0x6A,0xB1,0xEE,0x2B,0x0E,0x2A,0x5D,0x7F,0xB8,0x3A,0x44,0x45,0x86,0x8A,0x01,0x15,0xA5,0xBB, +0xBB,0x4E,0x2D,0x54,0xC0,0xBE,0xE5,0x57,0x58,0xA6,0x4C,0xEB,0xAB,0x24,0x85,0xDB,0xC0,0xF3,0x2F,0xD0, +0x2C,0x65,0x6A,0xD2,0x06,0x9A,0x65,0xBA,0x53,0x22,0x54,0x39,0x4F,0xF2,0x5A,0x92,0x7E,0x2C,0x15,0x80, +0x4B,0x6E,0x9E,0x09,0x6E,0xBE,0xA8,0xD5,0xED,0xDD,0x6F,0x72,0x1E,0x76,0x9C,0x6F,0x96,0xB6,0xDA,0x5B, +0xE6,0xE3,0xAE,0x03,0x7F,0x8A,0xB4,0xFB,0xBC,0x62,0x61,0xFC,0x4C,0xFC,0x2D,0x18,0x04,0x3A,0x75,0xE0, +0xF6,0xCE,0x0F,0xCF,0x83,0x71,0x01,0x54,0x82,0x3D,0x0D,0x4F,0x51,0x40,0x32,0xE6,0x3E,0x73,0xBE,0x51, +0xFA,0x84,0xEB,0x03,0xD9,0x8B,0xCB,0x55,0x93,0xCA,0x62,0x59,0x42,0xA8,0xB6,0xC5,0x34,0x71,0xDF,0x28, +0x2D,0x0D,0xB3,0x9E,0xEA,0xC1,0x45,0x2A,0xD3,0x14,0xFB,0x17,0xCE,0x37,0x0B,0x9E,0x22,0xCA,0x26,0x71, +0x1A,0xB9,0x69,0xCC,0x11,0xC7,0x86,0x63,0x2E,0xBB,0xCE,0x3A,0xC0,0xF6,0xAE,0x13,0xE0,0xA9,0xB9,0x5C, +0xEE,0x75,0x20,0xA9,0xC9,0x8A,0xC7,0x4F,0x49,0xC2,0xF7,0x27,0x19,0xF5,0x05,0x0F,0xDA,0x14,0x1B,0xD8, +0x5C,0xA4,0x98,0x67,0x29,0xD5,0x82,0xD8,0xCF,0x84,0xB1,0xDB,0x53,0xCC,0x4F,0x94,0xDD,0x1F,0x3E,0xBC, +0x0C,0x60,0xC7,0xB2,0x44,0xF0,0xD7,0x22,0x80,0x03,0xC3,0x79,0x39,0x4E,0x63,0x3F,0x24,0x18,0x20,0xF2, +0x1A,0x3F,0x18,0xD8,0xE2,0x25,0x22,0xB6,0xC5,0xBA,0x61,0x14,0xDB,0x00,0x48,0xCD,0xC5,0x1D,0x68,0x01, +0x79,0xF8,0x9A,0xDF,0x58,0xC4,0xA3,0xF0,0xD1,0xCB,0xB7,0x93,0x7D,0x74,0xD0,0xEE,0xBA,0x68,0x9F,0x1C, +0x74,0xC1,0xBF,0xCC,0x1A,0x7D,0x75,0xF2,0x4F,0x24,0xC4,0xA3,0xDC,0xE5,0xC4,0x41,0x15,0xB5,0x8E,0x41, +0x2E,0x66,0xA0,0x48,0xF3,0x3B,0xE3,0x7C,0xA0,0x19,0xD7,0xDF,0xB7,0x7F,0xB8,0xF9,0xA3,0x7B,0xED,0xB4, +0xBB,0x37,0xE6,0x6F,0x66,0x87,0xD8,0x1C,0x33,0x6E,0x50,0x74,0x47,0xA6,0x08,0xEC,0xDC,0x16,0xF9,0xB6, +0x3F,0x05,0x29,0xCC,0x5E,0x79,0x06,0x51,0xEC,0x6D,0x39,0xCE,0x86,0x87,0x0F,0x50,0x88,0x81,0x75,0xFD, +0xE4,0xF2,0xF2,0xFC,0xF2,0x5A,0x6F,0xE1,0x96,0x7E,0xE3,0x6A,0x7A,0x8B,0x9A,0x2E,0xB7,0x53,0x3C,0x49, +0x31,0x9B,0x5D,0x20,0x3E,0x33,0x02,0xFB,0x0E,0x85,0x19,0xE8,0x42,0x30,0x12,0x7B,0xA0,0x38,0x7D,0x9C, +0x81,0xFD,0x50,0xDD,0xEC,0xC5,0x36,0xA1,0x14,0xA7,0xA7,0xC3,0xB7,0x6F,0x3C,0xFD,0x52,0x21,0x69,0x6F, +0x08,0xE3,0xBA,0x25,0x6F,0xC4,0x46,0x49,0x82,0x69,0x70,0x34,0x23,0x61,0x60,0xC4,0x66,0x4F,0x90,0xF0, +0x25,0x09,0x59,0x8C,0x00,0x05,0xDF,0x56,0x65,0xEB,0x04,0x24,0xD7,0x2D,0xDF,0x8E,0xB2,0x90,0x93,0x24, +0xC4,0xDE,0x46,0x17,0x66,0x14,0x45,0x00,0x13,0xA9,0x58,0xC0,0x48,0xE0,0xE9,0x2A,0x20,0xA9,0x30,0xB6, +0xF6,0x14,0x5F,0x9D,0x12,0x34,0x4E,0x09,0xEA,0xB8,0x09,0x48,0xA5,0x5B,0x81,0x5D,0xD5,0xCB,0x30,0xCB, +0x8F,0x2A,0x60,0x01,0x9E,0x20,0xE0,0xE4,0x3D,0x48,0x0E,0xAB,0x9D,0x75,0x07,0x05,0xEA,0x20,0xD6,0xD4, +0x08,0xAB,0x6B,0x44,0x5D,0xE5,0x3A,0x64,0xA6,0x90,0xD3,0x26,0x72,0x5A,0x47,0x3E,0x92,0x16,0xB1,0x0E, +0x39,0x55,0xC8,0x61,0x43,0xC4,0x50,0x8A,0xA8,0xA2,0x5C,0x5B,0x68,0x13,0x04,0x02,0xEC,0xB0,0x2E,0x26, +0xCC,0xC0,0x29,0xD1,0x38,0xC4,0x81,0xB7,0xE1,0xC0,0x4C,0x14,0xD6,0xDE,0x96,0xB3,0xE6,0x8C,0x50,0x9D, +0x91,0x35,0xCE,0xC8,0xE4,0x19,0x24,0x01,0x25,0x42,0xEE,0xD0,0xAD,0x4C,0x6A,0xAD,0xB9,0xA2,0x8E,0xF3, +0x67,0xD8,0xBF,0x85,0xF2,0x7E,0x1D,0xFB,0x99,0x09,0xDB,0xE4,0x06,0xC1,0xC6,0x06,0x92,0x07,0x25,0xF2, +0x20,0xD9,0xA3,0xC0,0x41,0x89,0x0D,0xEE,0xEF,0x89,0xE3,0xAC,0xA4,0xAE,0x93,0xF3,0x30,0xD0,0x08,0xD8, +0xFF,0x3A,0xB2,0x89,0xE2,0x38,0x6A,0xAA,0x34,0xAA,0xA3,0x6B,0x03,0x74,0x87,0xD7,0x22,0x47,0xA6,0x95, +0xDA,0x31,0xF5,0x43,0xE2,0xDF,0x7A,0x95,0x37,0x9B,0x0B,0xA3,0x3E,0x11,0xF4,0xB9,0x47,0xF1,0x5C,0xFB, +0x09,0xA2,0xD3,0x31,0xE2,0xA8,0xC7,0x73,0x32,0x46,0x6E,0x3A,0x18,0x08,0x41,0x83,0x87,0x19,0x67,0x36, +0x0A,0x60,0xF9,0x62,0x34,0xD4,0x2D,0xBD,0x23,0x2E,0x46,0x07,0x87,0x26,0xE6,0xD2,0x2C,0x5D,0xCA,0xA2, +0x32,0xB8,0x8F,0xD2,0xB0,0x5A,0x82,0x41,0x61,0x74,0x4B,0x2B,0x5A,0xCB,0x13,0x99,0x18,0xA5,0x02,0x0B, +0xA6,0x90,0x8F,0x6D,0x71,0x86,0x91,0x9B,0x80,0x6E,0x42,0xF4,0x53,0xF6,0x6B,0x98,0x16,0x6A,0x32,0x8D, +0x4A,0xA6,0x53,0x34,0x2F,0xEC,0x44,0x9D,0xDF,0x53,0x5E,0xEE,0x40,0x12,0xA6,0x8C,0x6B,0xD8,0xDB,0x71, +0x7E,0xD8,0xED,0xC1,0x6D,0x18,0xCA,0x77,0x01,0xB0,0xC7,0x6D,0xB0,0xAE,0x29,0x9F,0xF5,0xFC,0x96,0x97, +0x6B,0x25,0xF0,0xB8,0xCD,0xB2,0x31,0xE3,0x29,0xA4,0x38,0xC3,0xB7,0xFC,0x16,0x36,0x9B,0xC7,0xE8,0xAD, +0xD8,0x0A,0x4C,0x2B,0x6E,0xB5,0x96,0x2B,0x0A,0x3A,0x1F,0xD4,0x34,0x84,0x84,0x86,0x70,0xC8,0xB0,0x46, +0x6D,0x7C,0x8F,0xFD,0xA3,0x38,0x8A,0x90,0x20,0xC1,0xE0,0xEA,0xF2,0x89,0x6E,0x2E,0xAD,0x78,0xAD,0x66, +0x9E,0x88,0x5C,0x16,0x7B,0x4A,0x8F,0x10,0x09,0x3D,0xDF,0x16,0xEE,0xC2,0x72,0xA1,0xBE,0x7C,0xCB,0x45, +0x2C,0x52,0x28,0xD7,0xCE,0x8D,0x55,0x5E,0xDC,0x7A,0xA9,0xAA,0x7B,0x17,0x56,0xD7,0x08,0x41,0x66,0x75, +0xD3,0x02,0xD6,0x0C,0x6D,0x15,0x54,0x5F,0x2E,0x2D,0x5F,0xF0,0x3F,0x43,0x74,0x8A,0xFF,0xBE,0x00,0x15, +0x8F,0xD2,0x4B,0x2D,0x0A,0x39,0xE4,0xC0,0xFD,0xC5,0x36,0xAE,0x7F,0xB5,0x6F,0x5A,0xA6,0x79,0xF0,0x75, +0x47,0x6A,0xD8,0xE0,0xE6,0x75,0xF7,0xC6,0x42,0x00,0xB6,0xBF,0x33,0x7F,0xB1,0x25,0xB8,0x01,0xEB,0xDD, +0xC5,0x24,0xD0,0xC4,0x49,0xC2,0xB9,0xE3,0x89,0x86,0x36,0x37,0x0D,0x30,0xB9,0x86,0xB1,0xB6,0x78,0x4B, +0xB7,0x21,0x7D,0x2C,0x97,0xAB,0x49,0x6D,0x98,0x62,0xAC,0xB2,0x66,0x09,0x90,0xDC,0x83,0xCC,0xAB,0xF1, +0xAA,0x94,0x1A,0x5B,0x15,0x14,0x16,0x65,0xD6,0xB7,0xF3,0x82,0xC2,0xD3,0x45,0x45,0x01,0xB1,0x66,0x75, +0x59,0x76,0x7A,0xB0,0x5E,0x73,0xF9,0x6F,0xF7,0x48,0x34,0xD5,0x58,0xEA,0x7B,0xEA,0x2A,0x0E,0xC4,0x0F, +0xEF,0x5B,0x91,0xED,0x36,0x7F,0xF3,0xC7,0x9E,0xDE,0x82,0xFB,0xC5,0x36,0x8D,0xE7,0x86,0xD9,0xFA,0x56, +0xD7,0x24,0x45,0x4F,0x8F,0xD0,0x7D,0xDE,0xEF,0x8B,0x82,0xA4,0xA7,0xC1,0xBC,0x6C,0x50,0xD5,0x82,0xEA, +0xB4,0x51,0xC6,0xE3,0x9E,0x56,0x14,0x3A,0xAA,0xD3,0xD4,0xB5,0xCE,0xFE,0xB7,0x95,0x0E,0x10,0x88,0x8E, +0xD4,0x9D,0x10,0x19,0x9A,0x32,0x11,0xE0,0x70,0x23,0xFA,0x90,0xDC,0xED,0x54,0x0C,0x24,0x00,0x27,0x2B, +0x99,0xD3,0x0A,0x0C,0x64,0x1E,0x18,0x8D,0x7C,0xBB,0x27,0x7A,0x93,0xFD,0x0B,0x55,0x74,0xEE,0x75,0xE4, +0x4C,0x5F,0xE7,0x18,0xA0,0x79,0x0A,0xE8,0x56,0x59,0xE6,0x8C,0xE3,0xE0,0xA1,0x56,0x1C,0xB1,0xC3,0x87, +0xA3,0x10,0x31,0x76,0x86,0x22,0x38,0xDF,0x8F,0x74,0x33,0x37,0xA5,0x7D,0x67,0x73,0xB3,0x89,0x94,0xE2, +0x08,0x7A,0x21,0xC5,0x15,0x86,0x50,0xE6,0xFA,0x40,0x78,0x73,0x73,0x1D,0x63,0xE2,0x8D,0xEA,0x4B,0x5C, +0x51,0x70,0xD7,0x22,0xFC,0xFD,0x4F,0xDC,0xA9,0x1C,0xFB,0x94,0x56,0x53,0xF0,0xD9,0xC7,0x6C,0x1F,0xC7, +0x73,0x2A,0xB8,0x2A,0x59,0x4F,0xD7,0x28,0xB4,0xCA,0x0B,0xA5,0x25,0x07,0x39,0x5E,0x7B,0x92,0x2A,0x43, +0xAE,0x19,0x5D,0x01,0x03,0x73,0xC3,0x4B,0xF3,0xFF,0x11,0x56,0x95,0x04,0x4F,0xC9,0x1A,0x9A,0x56,0xB8, +0x46,0x56,0x1C,0x62,0x8E,0x4B,0x49,0xC3,0xB5,0x92,0xB2,0xFF,0x87,0xDF,0xCA,0x43,0x88,0xAA,0x74,0xEB, +0x3E,0x12,0x90,0x3B,0x1D,0x72,0x85,0xD7,0xA4,0xC0,0xFC,0x34,0x0E,0xC3,0x61,0x9C,0x1C,0x3C,0xB1,0xEE, +0x96,0xEB,0xF9,0xA0,0x60,0xB3,0xDA,0x62,0xF9,0x6B,0x89,0xBE,0xC1,0x13,0x7E,0xF0,0x14,0xE0,0x69,0xB2, +0xD5,0x1E,0x2B,0xF0,0xB0,0x0D,0xCA,0x83,0xD5,0x9F,0x5B,0xBE,0xC5,0xCA,0xD9,0x55,0x2B,0x86,0xBB,0xF0, +0x0B,0x25,0x79,0x42,0x49,0x16,0x59,0x1B,0xBA,0xAA,0x75,0xD1,0x5E,0x7A,0x41,0x4B,0x4F,0xEE,0xAB,0x35, +0x1E,0x27,0x1E,0x53,0x4B,0xC8,0x20,0x16,0x5F,0xB9,0x94,0x75,0x01,0x25,0xF5,0x88,0x1D,0x4F,0x26,0x0C, +0xF3,0x0F,0x22,0x98,0x59,0x61,0x39,0x3F,0x95,0xC1,0xAC,0x07,0x53,0x1A,0xC5,0x19,0xC3,0x71,0xC6,0x9B, +0x65,0x4F,0x29,0xCC,0x5E,0xF0,0xC7,0x1F,0xE5,0x64,0x3F,0x68,0xA5,0xD5,0xF4,0x6A,0x8F,0xD5,0x26,0xFB, +0xAC,0x15,0x42,0x28,0xF8,0x8F,0x2D,0x85,0xD4,0x2D,0x25,0x16,0xB1,0xD4,0x8A,0x95,0xA5,0xB0,0xCA,0xD6, +0x99,0xA8,0x4B,0x51,0xCD,0xDB,0x85,0x41,0xEB,0x66,0xD1,0x76,0xD5,0xBD,0x1C,0x59,0x6C,0x35,0x08,0xAC, +0x2F,0x0E,0x7C,0x43,0x50,0x05,0xAD,0xBF,0x89,0xE7,0x38,0x3D,0x42,0x0C,0x1B,0x90,0x33,0xCB,0x88,0x25, +0xA1,0xA6,0x1B,0xAC,0xD9,0x05,0x4A,0xA0,0x0A,0x9C,0x17,0x1E,0x31,0x15,0xD5,0x37,0xC8,0x97,0x35,0x4E, +0xC0,0xB6,0x78,0x30,0x00,0xA9,0x8F,0x55,0xB3,0x01,0x75,0x1A,0xB6,0x19,0x5C,0xF3,0x45,0x1A,0x27,0x68, +0x2A,0x9B,0x6B,0x58,0x13,0xEE,0x51,0x50,0xAB,0xA5,0xD6,0xB2,0x1E,0x95,0x69,0xFD,0x71,0x56,0xC7,0x32, +0x73,0x43,0x85,0xB0,0x9A,0xBC,0xB9,0xC9,0xE6,0x84,0xFB,0x33,0xE1,0xDB,0x3E,0x30,0xAC,0x73,0xE8,0x0C, +0x5C,0x39,0x9A,0xF1,0xA8,0x1A,0x85,0xF9,0xF0,0x13,0xCB,0x07,0x3E,0x2B,0x46,0xF7,0x35,0x60,0x4C,0x0B, +0x70,0x4C,0x27,0xF9,0x90,0x50,0x52,0xD0,0x29,0x80,0xC5,0x67,0x92,0xE4,0xA3,0x64,0x56,0x8C,0x66,0xF8, +0xBE,0xC4,0x8B,0x0B,0x68,0x80,0x75,0x57,0x5D,0xDF,0x86,0xB3,0xCC,0x07,0xDD,0x4A,0xFC,0xE0,0xBF,0x13, +0x3F,0xA1,0xD3,0x42,0x98,0xA4,0x18,0x4D,0x49,0x21,0xCA,0x38,0x4A,0xBE,0xC8,0x08,0xFB,0xB7,0x7D,0xC1, +0xF1,0xC9,0x9B,0x93,0xE1,0x49,0xBD,0x44,0xAC,0xBF,0x22,0xF0,0xBF,0x6A,0xD3,0xB9,0xE9,0x1A,0x49,0xDD, +0x53,0x60,0xE6,0x8B,0xCF,0xB3,0x38,0x90,0x45,0x1F,0x04,0x7C,0x23,0x01,0xEA,0xBA,0x69,0x36,0x1E,0x1A, +0xD2,0xC6,0x03,0x46,0x15,0xE8,0xF3,0x97,0x01,0xD0,0xD3,0xE6,0x66,0x8D,0x11,0xB9,0x5E,0x3D,0x7E,0x50, +0x4B,0x57,0x75,0x9A,0x74,0x36,0xF4,0x54,0x41,0x83,0xCC,0xB2,0x65,0x20,0x1E,0xCD,0x1D,0xDD,0x12,0xDD, +0x03,0xD9,0xF7,0xA1,0x6D,0x68,0x99,0xAA,0xE1,0xF7,0x3C,0x8F,0x5E,0xFB,0x37,0xB2,0x69,0xDC,0xDC,0x44, +0xCD,0xA2,0xC7,0x70,0x2C,0x09,0x14,0x07,0xCA,0x91,0x6C,0x57,0x41,0x16,0x60,0xCB,0xB1,0x5E,0x0D,0xCE, +0xCF,0xEC,0x04,0xA5,0xE0,0x71,0xD4,0xAC,0x07,0x89,0x50,0x09,0xD8,0xD4,0xF6,0x8B,0x93,0x5A,0x35,0x2E, +0xBF,0x17,0x72,0xF9,0xD2,0x4A,0x0D,0x41,0x4E,0xF5,0xB9,0x22,0x87,0xE7,0x0F,0x78,0x90,0x7A,0x92,0x22, +0x0D,0x55,0x51,0x24,0xA9,0x07,0x71,0x7E,0x97,0xAD,0xEF,0x41,0x2D,0x3E,0x23,0xAC,0xDE,0x85,0x34,0x5C, +0xFE,0x6F,0xDE,0xD8,0xB2,0x18,0x29,0x72,0xAB,0x05,0xB5,0xFA,0xF6,0x4F,0x5D,0x8E,0x6C,0x98,0x16,0x55, +0x84,0xAC,0xCC,0x51,0x87,0xCC,0x42,0xA8,0x6E,0xD1,0x7F,0xEA,0x21,0xB4,0xF0,0x10,0xFA,0x38,0x40,0xE0, +0xFB,0x86,0xB7,0x97,0xA7,0xF4,0xC6,0xC0,0xD9,0x6D,0xAF,0x8C,0x22,0x00,0x91,0x31,0xA4,0x01,0xF8,0xC4, +0xE4,0xFA,0x27,0x74,0x87,0xD4,0xFB,0x5D,0x05,0x5D,0x1F,0x2A,0xE4,0x76,0xFF,0x37,0x18,0x95,0x3B,0x9B, +0x81,0x88,0xC1,0xF0,0x71,0x3C,0xE1,0x8D,0xF0,0x54,0xC5,0xAC,0x7A,0x74,0x02,0x77,0xCD,0xBD,0x59,0xE3, +0x35,0xFD,0xD6,0x5C,0x0F,0x0C,0xF2,0x49,0xDF,0xAB,0x05,0x22,0x85,0x51,0xB7,0x9E,0xF5,0xED,0x4A,0xB3, +0xA1,0x59,0x9F,0xFE,0xA5,0xFF,0xE1,0x03,0x66,0xB3,0xA2,0x75,0x07,0x37,0xAF,0xCD,0x74,0x5D,0x64,0x2B, +0x3F,0xC4,0x28,0x1D,0x88,0x2E,0x51,0x65,0x88,0xA5,0xBA,0x40,0x4F,0xBA,0xAE,0x01,0x1A,0xEB,0xC8,0x87, +0x62,0x5B,0xE8,0x01,0x10,0x4A,0x28,0x05,0x28,0xF5,0x62,0xA0,0x59,0x5B,0x44,0xB0,0x88,0xA0,0xE1,0x89, +0x69,0x7C,0x8B,0x48,0x7D,0x3B,0x01,0x08,0xC9,0xBF,0x4F,0x86,0xBE,0xCE,0xCA,0x2F,0x42,0x12,0xAA,0x20, +0xEA,0xFA,0xCD,0xFC,0x2D,0xAC,0x7A,0x86,0xC0,0x85,0xDF,0xE4,0x06,0xB2,0x21,0xD1,0x98,0x28,0x08,0x06, +0x98,0x31,0xC9,0xB8,0x10,0xEC,0x6D,0x1C,0x80,0x5C,0x80,0xD6,0x89,0x60,0x24,0x0E,0x02,0x11,0x05,0x60, +0x38,0xC3,0x51,0x0E,0xE1,0x30,0x14,0x20,0x24,0x40,0x5F,0x4B,0x5D,0x0D,0x64,0xE1,0x45,0xE8,0xD4,0xEB, +0x76,0x1C,0xEB,0x31,0xD9,0x11,0xC3,0x83,0x78,0xC2,0x87,0x68,0xCC,0x8C,0x0D,0xC7,0x5C,0xB3,0x03,0x40, +0x03,0x08,0x27,0xC6,0x96,0xB9,0x1E,0xFD,0x43,0x9C,0xDE,0xE2,0xD4,0xD8,0xE8,0xE6,0xFC,0x9C,0x42,0xC1, +0x14,0xC2,0x7F,0xDE,0x07,0xB5,0xDF,0xE1,0x37,0x84,0xE2,0x9C,0x32,0x03,0xE4,0x59,0x3C,0xBF,0x48,0x09, +0xE5,0x6F,0x65,0x5F,0x98,0x63,0xF9,0xEA,0xB9,0x42,0x86,0xA0,0xE2,0x1D,0x63,0x21,0xA2,0x99,0xDB,0x78, +0xCD,0xB0,0xC6,0x70,0x5F,0x10,0x5C,0xDD,0xC5,0x9C,0x50,0x57,0x3F,0xE2,0x69,0xD8,0x1E,0xE8,0x56,0x84, +0x7C,0x98,0xA8,0x3D,0x30,0x5F,0x5A,0xC2,0x6B,0xDD,0x7A,0x34,0xD9,0xA8,0x26,0x55,0x01,0xBD,0xF6,0xA9, +0xA7,0x7A,0xB9,0x10,0xC0,0xC3,0x30,0x1E,0x1B,0xE2,0x75,0x7A,0x21,0x3C,0xDE,0xA5,0x4B,0x53,0xA4,0xA7, +0x2F,0xBF,0xCA,0xF8,0x10,0x76,0xB9,0x85,0x6B,0x8F,0x4A,0x2D,0x5D,0x17,0x6F,0x35,0x80,0x87,0x82,0x73, +0x1A,0x3E,0xB8,0x90,0x16,0xFF,0x42,0xEA,0x8C,0x06,0xF1,0x97,0xA4,0xFE,0xB8,0x22,0xF5,0xC7,0x75,0x52, +0xE3,0xE6,0x6D,0xC1,0x64,0x04,0x64,0xDF,0x22,0x8A,0xA6,0x38,0x85,0x05,0x71,0x08,0x5C,0xC0,0x3F,0xE3, +0x2C,0xC5,0x5F,0xE6,0x6C,0x30,0x23,0x13,0xBE,0xCA,0x9F,0x5A,0xFD,0x77,0x5C,0xA6,0xF8,0x09,0x2E,0x8B, +0x02,0xB3,0xCC,0x1B,0x7F,0xFD,0x54,0x22,0x9D,0xDA,0x83,0x2B,0xAC,0xBB,0xEB,0xBF,0xF0,0xBB,0xEA,0xC4, +0x2F,0xA7,0x4F,0xF1,0xE1,0xE2,0xA5,0x15,0x08,0x9B,0x68,0x96,0xA5,0x31,0x3D,0x84,0x0A,0xFE,0x0D,0x88, +0x60,0x28,0x73,0xC4,0xDE,0x62,0x69,0x71,0xCF,0x00,0x55,0x42,0x17,0x0C,0xC2,0xF9,0xB2,0xAE,0xB5,0x67, +0x90,0x22,0x41,0x09,0xC0,0x24,0x24,0xDA,0xCE,0xF5,0xC1,0xE6,0x4D,0x0B,0x32,0x94,0x07,0x1F,0xA6,0x07, +0x83,0xCD,0x9B,0xEF,0xCC,0xCE,0x94,0xD4,0x6A,0x22,0x99,0xEB,0x40,0xAF,0xD7,0xF4,0xC6,0x43,0x4B,0x08, +0x61,0xF5,0x5C,0x58,0x46,0x56,0x0B,0xCB,0x57,0x2F,0xF8,0x08,0x11,0x9D,0xC2,0x87,0x8C,0x1D,0x10,0x9E, +0xD6,0x7C,0xBF,0xA2,0x67,0x6A,0x04,0x58,0xB5,0x87,0x2A,0x9D,0xC3,0x4F,0x5D,0xB4,0x57,0xBC,0x16,0x0C, +0x15,0x59,0x88,0x7B,0x6A,0x50,0x8F,0xB1,0x22,0x49,0x17,0x97,0x96,0x83,0xCD,0xA5,0x30,0x75,0x3C,0x21, +0x14,0x07,0x7A,0x99,0x57,0x7F,0x7E,0xFB,0xE6,0x94,0xF3,0xE4,0x52,0x69,0x16,0x68,0x35,0x17,0xAA,0x0B, +0x37,0x17,0x3C,0x7D,0x28,0x2A,0x34,0xE1,0xB0,0x2A,0xE4,0xFC,0x7C,0x3E,0xFE,0x84,0x7D,0xC8,0x47,0x6F, +0x19,0x24,0xB3,0x2D,0x5B,0xA0,0x0F,0x87,0x17,0xF6,0xAE,0xED,0x40,0xC9,0xE0,0x23,0x48,0xD9,0xE2,0xE6, +0x96,0xFF,0x08,0x79,0xFB,0x9F,0x21,0x13,0x88,0xBB,0x0C,0x02,0x6B,0x81,0xDF,0xC4,0x9D,0xA5,0xF1,0x5C, +0xA2,0x9D,0xA4,0xA9,0xB8,0x94,0xE1,0x8C,0x30,0x6D,0x0C,0x8B,0x0C,0xA7,0x5A,0x10,0x63,0xA6,0xD1,0x98, +0x6B,0x2C,0x4B,0x92,0x38,0xE5,0x2B,0xFA,0xB0,0xF5,0xE2,0xC1,0xE6,0x5D,0x86,0x33,0x1C,0xE4,0xCB,0x38, +0xAD,0xEB,0x45,0x16,0x57,0xB0,0x0E,0x66,0x7F,0x7D,0x93,0x97,0x5A,0x19,0xA5,0x22,0x0F,0x6C,0x74,0xD5, +0x1C,0xA4,0x9B,0x01,0x55,0x8F,0x66,0x61,0xB8,0xEC,0xAD,0xD0,0x82,0x8E,0x2B,0xE6,0xB1,0xFC,0x8A,0x62, +0xF1,0x5B,0x6E,0xE2,0xEE,0xCA,0x8B,0x6A,0x93,0xAA,0x63,0x6D,0x18,0x1B,0x58,0x23,0x94,0x71,0x44,0x7D, +0x71,0x8D,0x4A,0x17,0x66,0x51,0x66,0x89,0xED,0x3D,0xE1,0x9F,0xD2,0x96,0x9E,0xCC,0xED,0x52,0x32,0xEA, +0xE9,0xBA,0xA8,0xB8,0xB0,0x28,0x5C,0x51,0xC4,0x6A,0x64,0xCB,0x88,0x6D,0x52,0xAF,0x00,0xF7,0xE4,0x3B, +0x78,0x73,0xFF,0x2A,0x1B,0x45,0x99,0x8D,0x00,0xA6,0x15,0xFB,0x4C,0xDA,0xF2,0x74,0x99,0xA9,0x0F,0xA4, +0xEB,0x4A,0x03,0x8E,0x30,0x9F,0xC5,0xC1,0x81,0x7E,0xA0,0xBB,0x3A,0xFC,0xDB,0xD4,0x2D,0xD8,0x85,0xA9, +0x0F,0xEE,0x3F,0xBA,0x7C,0x09,0x21,0x2D,0x89,0x29,0xA6,0xDC,0x40,0x10,0xD9,0x3D,0xBD,0xB5,0x06,0x52, +0x90,0xBF,0x46,0x37,0x66,0xAF,0xA9,0x6C,0x3C,0x5F,0xB9,0xCE,0xC6,0x65,0xD8,0x31,0x15,0x51,0xEE,0x01, +0x98,0xE7,0xF8,0xD1,0x3B,0xB6,0x45,0x1F,0xB7,0x23,0xE6,0x62,0x47,0xF0,0x2C,0xB1,0x06,0x80,0x25,0x5C, +0xAF,0x52,0xF2,0x53,0x25,0x16,0xB5,0x7D,0x14,0x86,0xE2,0xEB,0x77,0xE0,0x55,0x1C,0x96,0x31,0x4B,0x10, +0x61,0x20,0x00,0xC3,0x43,0x7C,0x0F,0x2E,0x2D,0xEB,0x24,0x65,0x43,0x79,0x5F,0x02,0xA4,0x79,0xCD,0x8C, +0x4C,0xAB,0x9C,0x6D,0x6E,0x72,0xBB,0x30,0x13,0xA3,0x40,0x62,0x22,0xE8,0x1B,0xA6,0xE8,0x39,0x8C,0xBA, +0x90,0x22,0x87,0x3E,0xD2,0xB6,0xD1,0x54,0x43,0x82,0xA9,0x51,0xC0,0x80,0xB3,0x2C,0x0D,0x21,0x52,0x8B, +0x2A,0xA2,0xB1,0x8D,0x61,0x1A,0xC0,0x01,0xEE,0x5F,0x22,0x4B,0x54,0x5A,0xB7,0x8A,0x01,0x4F,0x15,0xDF, +0x4D,0x7A,0x3C,0xBF,0x95,0x53,0x2C,0x23,0x5F,0xF3,0x77,0x0F,0x2D,0x1D,0x25,0x49,0x48,0x54,0x60,0xEE, +0xC0,0xC3,0xF7,0x7C,0xDE,0x06,0xB3,0x8A,0xDA,0x70,0x82,0xB2,0x82,0x40,0x5F,0xC3,0xA1,0x6A,0xBB,0x2C, +0xF1,0x60,0xE1,0xAE,0xB8,0x68,0xA5,0x3F,0x63,0xC5,0x47,0x9B,0x74,0x9A,0x7C,0xD6,0x6E,0x7B,0x6F,0x67, +0x05,0x84,0xC6,0xE2,0x7B,0x76,0xC8,0x35,0x90,0x8E,0xCA,0xD3,0x8A,0x0E,0xA8,0x1E,0x17,0xEC,0x24,0x63, +0x33,0x63,0x01,0xAC,0xBB,0xDC,0x52,0xBA,0x72,0xB1,0xA5,0xEC,0xD6,0xA5,0x56,0x61,0x1F,0x2E,0xA4,0x90, +0x46,0xFC,0xF8,0xE3,0x0F,0x39,0xAB,0x6E,0x1B,0x66,0x2B,0x17,0xBE,0x54,0x6F,0xAC,0x45,0x66,0x14,0x46, +0xBF,0x1A,0xAB,0xF6,0x3A,0xAA,0xB1,0x29,0x7E,0x41,0x41,0x23,0x81,0x27,0x92,0xAC,0x9E,0x7F,0x05,0x01, +0xC3,0x09,0xC4,0x25,0x1B,0x3A,0xA1,0xF2,0xB7,0x3B,0xF5,0xFC,0xD7,0x3B,0x57,0x71,0xF7,0xCB,0xD6,0xCC, +0xF3,0xCA,0xBA,0x5A,0x45,0x1D,0xB5,0xC1,0x7B,0xE2,0xD7,0x16,0x74,0x05,0x86,0xCE,0x55,0x0D,0xEC,0xF2, +0x6C,0x71,0xAE,0x95,0x2F,0x22,0xF6,0x40,0x7D,0x11,0x35,0x4B,0x2A,0x33,0x50,0x7F,0xA3,0x9B,0x55,0x3B, +0xCD,0x65,0xC5,0x99,0x78,0x9E,0xD3,0xE2,0xFC,0x2D,0xBB,0x9E,0xEB,0x81,0x7D,0x68,0x96,0x85,0xB8,0x85, +0x8B,0x6A,0xB2,0x5B,0x2E,0xA7,0x20,0x1E,0x6C,0xA8,0x76,0x65,0xC9,0x7A,0x80,0x4A,0xBF,0xAB,0x8B,0x2A, +0xBB,0xAF,0x2E,0x17,0x1D,0x57,0xF9,0xB5,0x4D,0xED,0x37,0x4E,0x2A,0x1A,0x44,0x3E,0xC8,0xCB,0xFD,0xCD, +0x37,0xFA,0x27,0xD1,0x14,0xC6,0xFE,0x9F,0xFB,0x0C,0xD2,0xB3,0xD2,0x2B,0x00,0x00 }; From 902077553f42c4980976c4053e8478f2bd5558f4 Mon Sep 17 00:00:00 2001 From: lorol Date: Tue, 28 Apr 2020 16:36:40 -0400 Subject: [PATCH 19/47] Applied memory optimizations from sascha432 Updated my additions --- README.md | 2 +- examples/SmartSwitch/PinOut_Notes.txt | 67 +- examples/SmartSwitch/README.md | 33 +- examples/SmartSwitch/SmartSwitch.ino | 1027 +++++++++--------- examples/SmartSwitch/data/ace.ico.gz | Bin 0 -> 6307 bytes examples/SmartSwitch/data/acefull.js.gz | Bin 116605 -> 116948 bytes examples/SmartSwitch/data/index.htm | 82 +- examples/SmartSwitch/data/index.min.htm.gz | Bin 3168 -> 4193 bytes extras/Readme | 51 +- extras/do.bat | 2 +- extras/ehg.c | 16 +- extras/ehg.exe | Bin 3584 -> 4096 bytes extras/rehg.c | 4 +- extras/rehg.exe | Bin 2560 -> 2560 bytes extras/update_ace.bat | 4 +- library.json | 2 +- library.properties | 4 +- src/AsyncEventSource.cpp | 53 +- src/AsyncWebSocket.cpp | 163 ++- src/ESPAsyncWebServer.h | 39 +- src/WebAuthentication.cpp | 62 +- src/WebAuthentication.h | 2 +- src/WebHandlers.cpp | 50 +- src/WebRequest.cpp | 237 ++--- src/WebResponses.cpp | 181 ++-- src/WebServer.cpp | 13 +- src/edit.htm | 1103 ++++++++++---------- src/edit.htm.gz.h | 439 ++++---- 28 files changed, 1853 insertions(+), 1783 deletions(-) create mode 100644 examples/SmartSwitch/data/ace.ico.gz diff --git a/README.md b/README.md index d6dd320..5cc2fc0 100644 --- a/README.md +++ b/README.md @@ -1509,7 +1509,7 @@ For Arduino IDE create/update `platform.local.txt`: Add/Update the following line: ``` - compiler.cpp.extra_flags=-DDASYNCWEBSERVER_REGEX + compiler.cpp.extra_flags=-DASYNCWEBSERVER_REGEX ``` For platformio modify `platformio.ini`: diff --git a/examples/SmartSwitch/PinOut_Notes.txt b/examples/SmartSwitch/PinOut_Notes.txt index c8c2a50..2634a19 100644 --- a/examples/SmartSwitch/PinOut_Notes.txt +++ b/examples/SmartSwitch/PinOut_Notes.txt @@ -1,13 +1,56 @@ -ESP12 +This application: +D2 = 4; // DHT DATA I/O +D3 = 0; // BUTTON - most modules have it populated on PCB +D4 = 2; // LED (RELAY) - most modules have it populated on PCB -static const uint8_t D0 = 16; -static const uint8_t D1 = 5; -static const uint8_t D2 = 4; // DHT DATA I/O -static const uint8_t D3 = 0; // BUTTON - most modules have it populated on PCB -static const uint8_t D4 = 2; // LED (RELAY) - most modules have it populated on PCB -static const uint8_t D5 = 14; -static const uint8_t D6 = 12; -static const uint8_t D7 = 13; -static const uint8_t D8 = 15; -static const uint8_t D9 = 3; -static const uint8_t D10 = 1; \ No newline at end of file + + +Pinout ESP12 (8266) +D GPIO In Out Notes + +D0 16 no interrupt no PWM or I2C support HIGH at boot used to wake up from deep sleep +D1 5 OK OK often used as SCL (I2C) +D2 4 OK OK often used as SDA (I2C) +D3 0 PU OK pulled up connected to FLASH button, boot fails if pulled LOW +D4 2 PU OK pulled up HIGH at boot connected to on-board LED, boot fails if pulled LOW +D5 14 OK OK SPI (SCLK) +D6 12 OK OK SPI (MISO) +D7 13 OK OK SPI (MOSI) +D8 15 pulled to GND OK SPI (CS) Boot fails if pulled HIGH +RX 3 OK RX pin HIGH at boot +TX 1 TX pin OK HIGH at boot debug output at boot, boot fails if pulled LOW +A0 ADC0 Analog Input + + +Pinout ESP32 +IO In Out Notes + +0 PU OK pulled-up input, outputs PWM signal at boot +1 TX OK debug output at boot +2 OK OK connected to on-board LED +3 OK RX pin HIGH at boot +4 OK OK +5 OK OK outputs PWM signal at boot + +6-11 x x connected to the integrated SPI flash + +12 OK OK boot fail if pulled high +13 OK OK +14 OK OK outputs PWM signal at boot +15 OK OK outputs PWM signal at boot +16 OK OK +17 OK OK +18 OK OK +19 OK OK +21 OK OK +22 OK OK +23 OK OK +25 OK OK +26 OK OK +27 OK OK +32 OK OK +33 OK OK +34 OK input only +35 OK input only +36 OK input only +39 OK input only \ No newline at end of file diff --git a/examples/SmartSwitch/README.md b/examples/SmartSwitch/README.md index 1d5171a..fd8cd40 100644 --- a/examples/SmartSwitch/README.md +++ b/examples/SmartSwitch/README.md @@ -1,16 +1,17 @@ -![](1.PNG) ![](2.PNG) -## -![](3.PNG) ![](4.PNG) - -## SmartSwitch -* Remote Temperature Control application with schedule (example car block heater or battery charger) -* Based on ESP_AsyncFSBrowser example -* Wide browser compatibility, no extra server-side needed. -* HTTP server and WebSocket, single port -* Standalone, no JS dependencies for the browser from Internet (I hope), ace editor included -* Added ESPAsyncWiFiManager -* Real Time (NTP) w/ Time Zones -* Memorized settings to EEPROM -* Multiple clients can be connected at same time, they see each other' requests -* Default credentials smart:switch -* Use latest ESP8266 core lib (from Github) +![](1.PNG) ![](2.PNG) +## +![](3.PNG) ![](4.PNG) + +## SmartSwitch +* Remote Temperature Control application with schedule (example car block heater or battery charger) +* Based on ESP_AsyncFSBrowser example +* Wide browser compatibility, no extra server-side needed +* HTTP server and WebSocket, single port +* Standalone, no JS dependencies for the browser from Internet (I hope), ace editor included +* Added ESPAsyncWiFiManager +* Fallback to an own WIFI_AP, no Internet to sync but by a browser the clock can be set once +* Real Time (NTP) w/ Time Zones +* Memorized settings to EEPROM +* Multiple clients can be connected at same time, they see each other' requests +* Default credentials smart:switch +* Use latest ESP8266 or ESP32 core(from GitHub) diff --git a/examples/SmartSwitch/SmartSwitch.ino b/examples/SmartSwitch/SmartSwitch.ino index 90aca030..3dbc61b 100644 --- a/examples/SmartSwitch/SmartSwitch.ino +++ b/examples/SmartSwitch/SmartSwitch.ino @@ -1,498 +1,529 @@ -/* -SmartSwitch application -Based on ESP_AsyncFSBrowser -Temperature Control for heater with schedule -Main purpose - for winter outside car block heater or battery charger -Wide browser compatibility, no other server-side needed. -HTTP server and WebSocket, single port -Standalone, no JS dependencies for the browser from Internet (I hope) -Based on ESP_AsyncFSBrowser -Real Time (NTP) w/ Time Zones -Memorized settings to EEPROM -Multiple clients can be connected at same time, they see each other requests -Use latest ESP core lib (from Github) -*/ - -#define USE_WFM // to use ESPAsyncWiFiManager -//#define DEL_WFM // delete Wifi credentials stored - //(use once then comment and flash again), also HTTP /erase-wifi can do the same live - -#define USE_AUTH // .setAuthentication for all static - -#include -#ifdef ESP32 - #include - #include - #include - #include - #include -#elif defined(ESP8266) - #include - #include - #include -#endif -#include -#ifdef USE_WFM - #include "ESPAsyncWiFiManager.h" -#endif -#include -#include -#include -#include -#include -#define MYTZ TZ_America_Toronto -#define RTC_UTC_TEST 1577836800 // Some Date - -#define EESC 100 // fixed eeprom address for sched choice -#define EECH 104 // fixed eeprom address to keep selected active channel, only for reference here -#define EEBEGIN EECH + 1 -#define EEMARK 0x5A -#define MEMMAX 2 // 0,1,2... last max index (only 3 channels) -#define EEALL 512 - -#define HYST 0.5 // C +/- hysteresis - -// DHT -#define DHTTYPE DHT22 // DHT 11 // DHT 22, AM2302, AM2321 // DHT 21, AM2301 -#define DHTPIN 4 //D2 - -DHT dht(DHTPIN, DHTTYPE); - -// SKETCH BEGIN MAIN DECLARATIONS -Ticker tim; -AsyncWebServer server(80); //single port - easy for forwarding -AsyncWebSocket ws("/ws"); - -#ifdef USE_WFM - #ifdef USE_EADNS - AsyncDNSServer dns; - #else - DNSServer dns; - #endif -#else - const char* ssid = "MYSSD"; - const char* password = "MYPASSWD"; -#endif -const char * hostName = "smartsw"; -const char* http_username = "smart"; // for SPIFFSEditor (and static html) -const char* http_password = "switch"; - -// RTC -static timeval tv; -static time_t now; - -// HW I/O -const int btnPin = 0; //D3 -const int ledPin = 2; //D4 -int btnState = HIGH; - -// Globals -uint8_t count = 0; -uint8_t sched = 0; // automatic schedule -byte memch = 0; // select memory "channel" to work with -float t = 0; -float h = 0; -bool udht = false; -bool heat_enabled_prev = false; -int ledState; - -struct EE_bl { - byte memid; //here goes the EEMARK stamp - uint8_t hstart; - uint8_t mstart; - uint8_t hstop; - uint8_t mstop; - float tempe; -}; - -EE_bl ee = {0,0,0,0,0,0.1}; //populate as initial - -// SUBS -void writeEE() { - ee.memid = EEMARK; - //EEPROM.put(EESC, sched); // only separately when needed with commit() - //EEPROM.put(EECH, memch); // not need to store and retrieve memch - EEPROM.put(EEBEGIN + memch*sizeof(ee), ee); - EEPROM.commit(); //needed for ESP8266? -} - -void readEE() { - byte ChkEE; - if (memch > MEMMAX) memch = 0; - EEPROM.get(EEBEGIN + memch*sizeof(ee), ChkEE); - if (ChkEE == EEMARK){ //otherwise stays with defaults - EEPROM.get(EEBEGIN + memch*sizeof(ee), ee); - EEPROM.get(EESC, sched); - if (sched > MEMMAX + 1) sched = 0; - } -} - -void showTime() -{ - byte tmpch = 0; - bool heat_enabled = false; - - gettimeofday(&tv, nullptr); - now = time(nullptr); - const tm* tm = localtime(&now); - ws.printfAll("Now,Clock,%02d:%02d,%d", tm->tm_hour, tm->tm_min, tm->tm_wday); - if ((2==tm->tm_hour )&&(2==tm->tm_min)) { - configTime(MYTZ, "pool.ntp.org"); - Serial.print(F("Sync Clock at 02:02\n")); - } - Serial.printf("RTC: %02d:%02d\n", tm->tm_hour, tm->tm_min); - - if (sched == 0) { // automatic - if ((tm->tm_wday > 0)&&(tm->tm_wday < 6)) tmpch = 0; //Mon - Fri - else if (tm->tm_wday == 6) tmpch = 1; //Sat - else if (tm->tm_wday == 0) tmpch = 2; //Sun - } else { // manual - tmpch = sched - 1; //and stays - } - - if (tmpch != memch) { // update if different - memch = tmpch; - readEE(); - ws.printfAll("Now,Setting,%02d:%02d,%02d:%02d,%+2.1f", ee.hstart, ee.mstart, ee.hstop, ee.mstop, ee.tempe); - } - - // process smart switch by time and temperature - uint16_t xmi = (uint16_t)(60*tm->tm_hour) + tm->tm_min; // max 24h = 1440min, current time - uint16_t bmi = (uint16_t)(60*ee.hstart) + ee.mstart; // begin in minutes - uint16_t emi = (uint16_t)(60*ee.hstop) + ee.mstop; // end in minutes - - if (bmi == emi) heat_enabled = false; - else { //enable smart if different - - if (((bmi < emi)&&(bmi <= xmi)&&(xmi < emi))|| - ((emi < bmi)&&((bmi <= xmi)||(xmi < emi)))) { - heat_enabled = true; - } else heat_enabled = false; - } - - if (heat_enabled_prev) { // smart control (delayed one cycle) - if (((t - HYST) < ee.tempe)&&(ledState == HIGH)) { // OFF->ON once - ledState = LOW; - digitalWrite(ledPin, ledState); // apply change - ws.textAll("led,ledon"); - } - if ((((t + HYST) > ee.tempe)&&(ledState == LOW))||(!heat_enabled)) { // ON->OFF once, also turn off at end of period. - ledState = HIGH; - digitalWrite(ledPin, ledState); // apply change - ws.textAll("led,ledoff"); - } - Serial.printf(ledState ? "LED OFF" : "LED ON"); - Serial.print(F(", Smart enabled\n")); - } - heat_enabled_prev = heat_enabled; //update -} - -void updateDHT(){ - h = dht.readHumidity(); - t = dht.readTemperature(); //Celsius or dht.readTemperature(true) for Fahrenheit - if (isnan(h) || isnan(t)) { - Serial.print(F("Failed to read from DHT sensor!")); - h = 0; // debug w/o sensor - t = 0; - } -} - -void analogSample() -{ - ws.printfAll("wpMeter,Arduino,%+2.1f,%2.1f,%d", t, h, heat_enabled_prev); - Serial.printf("T/H.: %+2.1f°C/%2.1f%%,%d\n", t, h, heat_enabled_prev); -} - -void checkPhysicalButton() -{ - if (digitalRead(btnPin) == LOW) { - if (btnState != LOW) { // btnState is used to avoid sequential toggles - ledState = !ledState; - digitalWrite(ledPin, ledState); - if (ledState) ws.textAll("led,ledoff"); - else ws.textAll("led,ledon"); - } - btnState = LOW; - } else { - btnState = HIGH; - } -} - -void mytimer() { - ++count; //200ms increments - checkPhysicalButton(); - if ((count % 25) == 1) { // update temp every 5 seconds - analogSample(); - udht = true; - } - if ((count % 50) == 0) { // update temp every 10 seconds - ws.cleanupClients(); - } - if (count >= 150) { // cycle every 30 sec - showTime(); - count = 0; - } -} - -// server -void onWsEvent(AsyncWebSocket * server, AsyncWebSocketClient * client, AwsEventType type, void * arg, uint8_t *data, size_t len){ - if(type == WS_EVT_CONNECT){ - Serial.printf("ws[%s][%u] connect\n", server->url(), client->id()); - //client->printf("Hello Client %u :)", client->id()); - //client->ping(); - - IPAddress ip = client->remoteIP(); - Serial.printf("[%u] Connected from %d.%d.%d.%d\n", client->id(), ip[0], ip[1], ip[2], ip[3]); - showTime(); - analogSample(); - if (ledState) ws.textAll("led,ledoff"); - else ws.textAll("led,ledon"); - - ws.printfAll("Now,Setting,%02d:%02d,%02d:%02d,%+2.1f", ee.hstart, ee.mstart, ee.hstop, ee.mstop, ee.tempe); - ws.printfAll("Now,sched,%d", sched); - - } else if(type == WS_EVT_DISCONNECT){ - Serial.printf("ws[%s][%u] disconnect\n", server->url(), client->id()); - ws.textAll("Now,remoff"); - - } else if(type == WS_EVT_ERROR){ - Serial.printf("ws[%s][%u] error(%u): %s\n", server->url(), client->id(), *((uint16_t*)arg), (char*)data); - } else if(type == WS_EVT_PONG){ - Serial.printf("ws[%s][%u] pong[%u]: %s\n", server->url(), client->id(), len, (len)?(char*)data:""); - } else if(type == WS_EVT_DATA){ - AwsFrameInfo * info = (AwsFrameInfo*)arg; - String msg = ""; - if(info->final && info->index == 0 && info->len == len){ - //the whole message is in a single frame and we got all of it's data - Serial.printf("ws[%s][%u] %s-message[%llu]: ", server->url(), client->id(), (info->opcode == WS_TEXT)?"text":"binary", info->len); - - if(info->opcode == WS_TEXT){ - for(size_t i=0; i < info->len; i++) { //debug - msg += (char) data[i]; - } - if(data[0] == 'L') { // LED - if(data[1] == '1') { - ledState = LOW; - ws.textAll("led,ledon"); // for others - } - else if(data[1] == '0') { - ledState = HIGH; - ws.textAll("led,ledoff"); - } - digitalWrite(ledPin, ledState); // apply change - - - } else if(data[0] == 'T') { // timeset - if (len > 11) { - data[3] = data[6] = data[9] = data[12] = 0; // cut strings - ee.hstart = (uint8_t) atoi((const char *) &data[1]); - ee.mstart = (uint8_t) atoi((const char *) &data[4]); - ee.hstop = (uint8_t) atoi((const char *) &data[7]); - ee.mstop = (uint8_t) atoi((const char *) &data[10]); - Serial.printf("[%u] Timer set %02d:%02d - %02d:%02d\n", client->id(), ee.hstart, ee.mstart, ee.hstop, ee.mstop); - writeEE(); - memch = 255; // to force showTime()to send Setting - showTime(); - } - } else if(data[0] == 'W') { // temperatureset - if (len > 3) { - if (ee.tempe != (float) atof((const char *) &data[1])){ - ee.tempe = (float) atof((const char *) &data[1]); - Serial.printf("[%u] Temp set %+2.1f\n", client->id(), ee.tempe); - writeEE(); - memch = 255; // to force showTime()to send Setting - showTime(); - } - } - } else if ((data[0] == 'Z')&&(len > 2)) { // sched - data[2] = 0; - if (sched != (uint8_t) atoi((const char *) &data[1])){ - sched = (uint8_t) atoi((const char *) &data[1]); - EEPROM.put(EESC, sched); //separately - EEPROM.commit(); //needed for ESP8266? - ws.printfAll("Now,sched,%d", sched); - showTime(); - } - } - - } else { - char buff[3]; - for(size_t i=0; i < info->len; i++) { - sprintf(buff, "%02x ", (uint8_t) data[i]); - msg += buff ; - } - } - Serial.printf("%s\n",msg.c_str()); - - if(info->opcode == WS_TEXT) - client->text("I got your text message"); - else - client->binary("I got your binary message"); - - } else { - //message is comprised of multiple frames or the frame is split into multiple packets - if(info->index == 0){ - if(info->num == 0) - Serial.printf("ws[%s][%u] %s-message start\n", server->url(), client->id(), (info->message_opcode == WS_TEXT)?"text":"binary"); - Serial.printf("ws[%s][%u] frame[%u] start[%llu]\n", server->url(), client->id(), info->num, info->len); - } - - Serial.printf("ws[%s][%u] frame[%u] %s[%llu - %llu]: ", server->url(), client->id(), info->num, (info->message_opcode == WS_TEXT)?"text":"binary", info->index, info->index + len); - - if(info->opcode == WS_TEXT){ - for(size_t i=0; i < len; i++) { - msg += (char) data[i]; - } - } else { - char buff[3]; - for(size_t i=0; i < len; i++) { - sprintf(buff, "%02x ", (uint8_t) data[i]); - msg += buff ; - } - } - Serial.printf("%s\n",msg.c_str()); - - if((info->index + len) == info->len){ - Serial.printf("ws[%s][%u] frame[%u] end[%llu]\n", server->url(), client->id(), info->num, info->len); - if(info->final){ - Serial.printf("ws[%s][%u] %s-message end\n", server->url(), client->id(), (info->message_opcode == WS_TEXT)?"text":"binary"); - if(info->message_opcode == WS_TEXT) - client->text("I got your text message"); - else - client->binary("I got your binary message"); - } - } - } - } -} - - -// setup ----------------------------------- - -void setup(){ - Serial.begin(115200); - Serial.setDebugOutput(true); - -//Wifi -#ifdef USE_WFM - AsyncWiFiManager wifiManager(&server,&dns); - #ifdef DEL_WFM - wifiManager.resetSettings(); - #endif - wifiManager.autoConnect(hostName); -#else - //WiFi.mode(WIFI_AP_STA); // Core SVN 5179 use STA as default interface in mDNS (#7042) - //WiFi.softAP(hostName); // Core SVN 5179 use STA as default interface in mDNS (#7042) - WiFi.mode(WIFI_STA); // Core SVN 5179 use STA as default interface in mDNS (#7042) - WiFi.begin(ssid, password); - if (WiFi.waitForConnectResult() != WL_CONNECTED) { - Serial.print(F("STA: Failed!\n")); - WiFi.disconnect(false); - delay(1000); - WiFi.begin(ssid, password); - } -#endif - - Serial.print(F("*CONNECTED*\n")); - -//DHT - dht.begin(); - updateDHT(); //first reading takes time, hold here than the loop; - -//Real Time - time_t rtc = RTC_UTC_TEST; - timeval tv = { rtc, 0 }; - //timezone tz = { 0, 0 }; //(insert) <#5194 - settimeofday(&tv, nullptr); //settimeofday(&tv, &tz); // <#5194 - configTime(MYTZ, "pool.ntp.org"); - -//MDNS (not needed) - // MDNS.begin(hostName); - // MDNS.addService("http","tcp",80); // Core SVN 5179 use STA as default interface in mDNS (#7042) - -//I/O & DHT - pinMode(ledPin, OUTPUT); - pinMode(btnPin, INPUT_PULLUP); - -//EE - EEPROM.begin(EEALL); - //EEPROM.get(EECH, memch); //current channel, no need - readEE(); // populate structure if healthy - digitalWrite(ledPin, ledState); - Serial.printf("Timer set %02d:%02d - %02d:%02d\n", ee.hstart, ee.mstart, ee.hstop, ee.mstop); - Serial.printf("Temp set %+2.1f\n", ee.tempe); - -//SPIFFS - SPIFFS.begin(); - - ws.onEvent(onWsEvent); - server.addHandler(&ws); - -#ifdef ESP32 - server.addHandler(new SPIFFSEditor(SPIFFS, http_username,http_password)); -#elif defined(ESP8266) - server.addHandler(new SPIFFSEditor(http_username,http_password)); -#endif - - server.on("/free-ram", HTTP_GET, [](AsyncWebServerRequest *request){ // direct request->answer - request->send(200, "text/plain", String(ESP.getFreeHeap())); - }); - - server.on("/hw-reset", HTTP_GET, [](AsyncWebServerRequest *request){ - request->onDisconnect([]() { -#ifdef ESP32 - ESP.restart(); -#elif defined(ESP8266) - ESP.reset(); -#endif - }); - request->send(200, "text/plain","Restarting ..."); - }); - - server.on("/erase-wifi", HTTP_GET, [](AsyncWebServerRequest *request){ - request->onDisconnect([]() { - WiFi.disconnect(true); -#ifdef ESP32 - ESP.restart(); -#elif defined(ESP8266) - ESP.reset(); -#endif - }); - request->send(200, "text/plain","Erasing WiFi data ..."); - }); - -#ifdef USE_AUTH - server.serveStatic("/", SPIFFS, "/").setDefaultFile("index.htm").setAuthentication(http_username,http_password); -#else - server.serveStatic("/", SPIFFS, "/").setDefaultFile("index.htm"); -#endif - - server.onNotFound([](AsyncWebServerRequest *request){ // nothing known - Serial.print(F("NOT_FOUND: ")); - if (request->method() == HTTP_OPTIONS) request->send(200); //CORS - else request->send(404); - }); - - DefaultHeaders::Instance().addHeader("Access-Control-Allow-Origin", "*");//CORS - server.begin(); - - //Timer tick - tim.attach(0.2, mytimer); //every 0.2s - - //OTA - ArduinoOTA.setHostname(hostName); - ArduinoOTA.onStart([]() { - Serial.print(F("OTA Started ...\n")); - ws.textAll("Now,OTA"); // for all clients - }); - ArduinoOTA.begin(); -} // setup end - -// loop ----------------------------------- -void loop(){ - if (udht){ // 5sec - updateDHT(); - udht = false; - } - ArduinoOTA.handle(); -} +/* +SmartSwitch application +Based on ESP_AsyncFSBrowser +Temperature Control for heater with schedule +Main purpose - for winter outside car block heater or battery charger +Wide browser compatibility, no other server-side needed. +HTTP server and WebSocket, single port +Standalone, no JS dependencies for the browser from Internet (I hope) +Based on ESP_AsyncFSBrowser +Real Time (NTP) w/ Time Zones +Memorized settings to EEPROM +Multiple clients can be connected at same time, they see each other requests +Use latest ESP core lib (from Github) +*/ + +#define USE_WFM // to use ESPAsyncWiFiManager +//#define DEL_WFM // delete Wifi credentials stored + //(use once then comment and flash again), also HTTP /erase-wifi can do the same live + +#define USE_AUTH // .setAuthentication for all static + +#include +#ifdef ESP32 + #include + #include + #include + #include + #include +#elif defined(ESP8266) + #include + #include + #include +#endif +#include +#ifdef USE_WFM + #include "ESPAsyncWiFiManager.h" +#endif +#include +#include +#include +#include + +#define RTC_UTC_TEST 1577836800 // Some Date +#ifdef ESP32 + #define MYTZ -5*3600,3600 +#elif defined(ESP8266) + #include + #define MYTZ TZ_America_Toronto +#endif + +#define EESC 100 // fixed eeprom address for sched choice +#define EECH 104 // fixed eeprom address to keep selected active channel, only for reference here +#define EEBEGIN EECH + 1 +#define EEMARK 0x5A +#define MEMMAX 2 // 0,1,2... last max index (only 3 channels) +#define EEALL 512 + +#define HYST 0.5 // C +/- hysteresis + +// DHT +#define DHTTYPE DHT22 // DHT 11 // DHT 22, AM2302, AM2321 // DHT 21, AM2301 +#define DHTPIN 4 //D2 + +DHT dht(DHTPIN, DHTTYPE); + +// SKETCH BEGIN MAIN DECLARATIONS +Ticker tim; +AsyncWebServer server(80); //single port - easy for forwarding +AsyncWebSocket ws("/ws"); + +#ifdef USE_WFM + #ifdef USE_EADNS + AsyncDNSServer dns; + #else + DNSServer dns; + #endif + +//Fallback timeout in seconds allowed to config or it creates an own AP, then serves 192.168.4.1 + #define FBTO 120 + const char* fbssid = "FBSSW"; + const char* fbpassword = "FBpassword4"; + +#else + const char* ssid = "MYROUTERSSD"; + const char* password = "MYROUTERPASSWD"; +#endif +const char* hostName = "smartsw"; +const char* http_username = "smart"; // for SPIFFSEditor (and static html) +const char* http_password = "switch"; + +// RTC +static timeval tv; +static time_t now; + +// HW I/O +const int btnPin = 0; //D3 +const int ledPin = 2; //D4 +int btnState = HIGH; + +// Globals +uint8_t count = 0; +uint8_t sched = 0; // automatic schedule +byte memch = 0; // select memory "channel" to work with +float t = 0; +float h = 0; +bool udht = false; +bool heat_enabled_prev = false; +int ledState; + +struct EE_bl { + byte memid; //here goes the EEMARK stamp + uint8_t hstart; + uint8_t mstart; + uint8_t hstop; + uint8_t mstop; + float tempe; +}; + +EE_bl ee = {0,0,0,0,0,0.1}; //populate as initial + +// SUBS +void writeEE() { + ee.memid = EEMARK; + //EEPROM.put(EESC, sched); // only separately when needed with commit() + //EEPROM.put(EECH, memch); // not need to store and retrieve memch + EEPROM.put(EEBEGIN + memch*sizeof(ee), ee); + EEPROM.commit(); //needed for ESP8266? +} + +void readEE() { + byte ChkEE; + if (memch > MEMMAX) memch = 0; + EEPROM.get(EEBEGIN + memch*sizeof(ee), ChkEE); + if (ChkEE == EEMARK){ //otherwise stays with defaults + EEPROM.get(EEBEGIN + memch*sizeof(ee), ee); + EEPROM.get(EESC, sched); + if (sched > MEMMAX + 1) sched = 0; + } +} + +void showTime() +{ + byte tmpch = 0; + bool heat_enabled = false; + + gettimeofday(&tv, nullptr); + now = time(nullptr); + const tm* tm = localtime(&now); + ws.printfAll("Now,Clock,%02d:%02d,%d", tm->tm_hour, tm->tm_min, tm->tm_wday); + if ((2==tm->tm_hour )&&(2==tm->tm_min)) { + configTime(MYTZ, "pool.ntp.org"); + Serial.print(F("Sync Clock at 02:02\n")); + } + Serial.printf("RTC: %02d:%02d\n", tm->tm_hour, tm->tm_min); + + if (sched == 0) { // automatic + if ((tm->tm_wday > 0)&&(tm->tm_wday < 6)) tmpch = 0; //Mon - Fri + else if (tm->tm_wday == 6) tmpch = 1; //Sat + else if (tm->tm_wday == 0) tmpch = 2; //Sun + } else { // manual + tmpch = sched - 1; //and stays + } + + if (tmpch != memch) { // update if different + memch = tmpch; + readEE(); + ws.printfAll("Now,Setting,%02d:%02d,%02d:%02d,%+2.1f", ee.hstart, ee.mstart, ee.hstop, ee.mstop, ee.tempe); + } + + // process smart switch by time and temperature + uint16_t xmi = (uint16_t)(60*tm->tm_hour) + tm->tm_min; // max 24h = 1440min, current time + uint16_t bmi = (uint16_t)(60*ee.hstart) + ee.mstart; // begin in minutes + uint16_t emi = (uint16_t)(60*ee.hstop) + ee.mstop; // end in minutes + + if (bmi == emi) heat_enabled = false; + else { //enable smart if different + + if (((bmi < emi)&&(bmi <= xmi)&&(xmi < emi))|| + ((emi < bmi)&&((bmi <= xmi)||(xmi < emi)))) { + heat_enabled = true; + } else heat_enabled = false; + } + + if (heat_enabled_prev) { // smart control (delayed one cycle) + if (((t - HYST) < ee.tempe)&&(ledState == HIGH)) { // OFF->ON once + ledState = LOW; + digitalWrite(ledPin, ledState); // apply change + ws.textAll("led,ledon"); + } + if ((((t + HYST) > ee.tempe)&&(ledState == LOW))||(!heat_enabled)) { // ON->OFF once, also turn off at end of period. + ledState = HIGH; + digitalWrite(ledPin, ledState); // apply change + ws.textAll("led,ledoff"); + } + Serial.printf(ledState ? "LED OFF" : "LED ON"); + Serial.print(F(", Smart enabled\n")); + } + heat_enabled_prev = heat_enabled; //update +} + +void updateDHT(){ + h = dht.readHumidity(); + t = dht.readTemperature(); //Celsius or dht.readTemperature(true) for Fahrenheit + if (isnan(h) || isnan(t)) { + Serial.print(F("Failed to read from DHT sensor!")); + h = 0; // debug w/o sensor + t = 0; + } +} + +void analogSample() +{ + ws.printfAll("wpMeter,Arduino,%+2.1f,%2.1f,%d", t, h, heat_enabled_prev); + Serial.printf("T/H.: %+2.1f°C/%2.1f%%,%d\n", t, h, heat_enabled_prev); +} + +void checkPhysicalButton() +{ + if (digitalRead(btnPin) == LOW) { + if (btnState != LOW) { // btnState is used to avoid sequential toggles + ledState = !ledState; + digitalWrite(ledPin, ledState); + if (ledState) ws.textAll("led,ledoff"); + else ws.textAll("led,ledon"); + } + btnState = LOW; + } else { + btnState = HIGH; + } +} + +void mytimer() { + ++count; //200ms increments + checkPhysicalButton(); + if ((count % 25) == 1) { // update temp every 5 seconds + analogSample(); + udht = true; + } + if ((count % 50) == 0) { // update temp every 10 seconds + ws.cleanupClients(); + } + if (count >= 150) { // cycle every 30 sec + showTime(); + count = 0; + } +} + +// server +void onWsEvent(AsyncWebSocket * server, AsyncWebSocketClient * client, AwsEventType type, void * arg, uint8_t *data, size_t len){ + if(type == WS_EVT_CONNECT){ + Serial.printf("ws[%s][%u] connect\n", server->url(), client->id()); + //client->printf("Hello Client %u :)", client->id()); + //client->ping(); + + IPAddress ip = client->remoteIP(); + Serial.printf("[%u] Connected from %d.%d.%d.%d\n", client->id(), ip[0], ip[1], ip[2], ip[3]); + showTime(); + analogSample(); + if (ledState) ws.textAll("led,ledoff"); + else ws.textAll("led,ledon"); + + ws.printfAll("Now,Setting,%02d:%02d,%02d:%02d,%+2.1f", ee.hstart, ee.mstart, ee.hstop, ee.mstop, ee.tempe); + ws.printfAll("Now,sched,%d", sched); + + } else if(type == WS_EVT_DISCONNECT){ + Serial.printf("ws[%s][%u] disconnect\n", server->url(), client->id()); + ws.textAll("Now,remoff"); + + } else if(type == WS_EVT_ERROR){ + Serial.printf("ws[%s][%u] error(%u): %s\n", server->url(), client->id(), *((uint16_t*)arg), (char*)data); + } else if(type == WS_EVT_PONG){ + Serial.printf("ws[%s][%u] pong[%u]: %s\n", server->url(), client->id(), len, (len)?(char*)data:""); + } else if(type == WS_EVT_DATA){ + AwsFrameInfo * info = (AwsFrameInfo*)arg; + String msg = ""; + if(info->final && info->index == 0 && info->len == len){ + //the whole message is in a single frame and we got all of it's data + Serial.printf("ws[%s][%u] %s-message[%llu]: ", server->url(), client->id(), (info->opcode == WS_TEXT)?"text":"binary", info->len); + + if(info->opcode == WS_TEXT){ + for(size_t i=0; i < info->len; i++) { //debug + msg += (char) data[i]; + } + if(data[0] == 'L') { // LED + if(data[1] == '1') { + ledState = LOW; + ws.textAll("led,ledon"); // for others + } + else if(data[1] == '0') { + ledState = HIGH; + ws.textAll("led,ledoff"); + } + digitalWrite(ledPin, ledState); // apply change + + + } else if(data[0] == 'T') { // timeset + if (len > 11) { + data[3] = data[6] = data[9] = data[12] = 0; // cut strings + ee.hstart = (uint8_t) atoi((const char *) &data[1]); + ee.mstart = (uint8_t) atoi((const char *) &data[4]); + ee.hstop = (uint8_t) atoi((const char *) &data[7]); + ee.mstop = (uint8_t) atoi((const char *) &data[10]); + Serial.printf("[%u] Timer set %02d:%02d - %02d:%02d\n", client->id(), ee.hstart, ee.mstart, ee.hstop, ee.mstop); + writeEE(); + memch = 255; // to force showTime()to send Setting + showTime(); + } + } else if(data[0] == 'W') { // temperatureset + if (len > 3) { + if (ee.tempe != (float) atof((const char *) &data[1])){ + ee.tempe = (float) atof((const char *) &data[1]); + Serial.printf("[%u] Temp set %+2.1f\n", client->id(), ee.tempe); + writeEE(); + memch = 255; // to force showTime()to send Setting + showTime(); + } + } + } else if ((data[0] == 'Z')&&(len > 2)) { // sched + data[2] = 0; + if (sched != (uint8_t) atoi((const char *) &data[1])){ + sched = (uint8_t) atoi((const char *) &data[1]); + EEPROM.put(EESC, sched); //separately + EEPROM.commit(); //needed for ESP8266? + ws.printfAll("Now,sched,%d", sched); + showTime(); + } + } + + } else { + char buff[3]; + for(size_t i=0; i < info->len; i++) { + sprintf(buff, "%02x ", (uint8_t) data[i]); + msg += buff ; + } + } + Serial.printf("%s\n",msg.c_str()); + + if(info->opcode == WS_TEXT) + client->text("I got your text message"); + else + client->binary("I got your binary message"); + + } else { + //message is comprised of multiple frames or the frame is split into multiple packets + if(info->index == 0){ + if(info->num == 0) + Serial.printf("ws[%s][%u] %s-message start\n", server->url(), client->id(), (info->message_opcode == WS_TEXT)?"text":"binary"); + Serial.printf("ws[%s][%u] frame[%u] start[%llu]\n", server->url(), client->id(), info->num, info->len); + } + + Serial.printf("ws[%s][%u] frame[%u] %s[%llu - %llu]: ", server->url(), client->id(), info->num, (info->message_opcode == WS_TEXT)?"text":"binary", info->index, info->index + len); + + if(info->opcode == WS_TEXT){ + for(size_t i=0; i < len; i++) { + msg += (char) data[i]; + } + } else { + char buff[3]; + for(size_t i=0; i < len; i++) { + sprintf(buff, "%02x ", (uint8_t) data[i]); + msg += buff ; + } + } + Serial.printf("%s\n",msg.c_str()); + + if((info->index + len) == info->len){ + Serial.printf("ws[%s][%u] frame[%u] end[%llu]\n", server->url(), client->id(), info->num, info->len); + if(info->final){ + Serial.printf("ws[%s][%u] %s-message end\n", server->url(), client->id(), (info->message_opcode == WS_TEXT)?"text":"binary"); + if(info->message_opcode == WS_TEXT) + client->text("I got your text message"); + else + client->binary("I got your binary message"); + } + } + } + } +} + + +// setup ----------------------------------- + +void setup(){ + Serial.begin(115200); + Serial.setDebugOutput(true); + +//Wifi +#ifdef USE_WFM + AsyncWiFiManager wifiManager(&server,&dns); + #ifdef DEL_WFM + wifiManager.resetSettings(); + #endif + wifiManager.setTimeout(FBTO); // seconds to config or it creates an own AP, then browse 192.168.4.1 + if (!wifiManager.autoConnect(hostName)){ + Serial.print(F("*FALLBACK AP*\n")); + WiFi.mode(WIFI_AP); + WiFi.softAP(fbssid, fbpassword); + // MDNS.begin(fbssid); + // MDNS.addService("http","tcp",80); // Core SVN 5179 use STA as default interface in mDNS (#7042) + } + +#else +// Manual simple STA mode to connect to known router + //WiFi.mode(WIFI_AP_STA); // Core SVN 5179 use STA as default interface in mDNS (#7042) + //WiFi.softAP(hostName); // Core SVN 5179 use STA as default interface in mDNS (#7042) + WiFi.mode(WIFI_STA); // Core SVN 5179 use STA as default interface in mDNS (#7042) + WiFi.begin(ssid, password); + if (WiFi.waitForConnectResult() != WL_CONNECTED) { + Serial.print(F("STA: Failed!\n")); + WiFi.disconnect(false); + delay(1000); + WiFi.begin(ssid, password); + } +#endif + + Serial.print(F("*CONNECTED*\n")); + +//DHT + dht.begin(); + updateDHT(); //first reading takes time, hold here than the loop; + +//Real Time + time_t rtc = RTC_UTC_TEST; + timeval tv = { rtc, 0 }; + //timezone tz = { 0, 0 }; //(insert) <#5194 + settimeofday(&tv, nullptr); //settimeofday(&tv, &tz); // <#5194 + configTime(MYTZ, "pool.ntp.org"); + +//MDNS (not needed) + // MDNS.begin(hostName); + // MDNS.addService("http","tcp",80); // Core SVN 5179 use STA as default interface in mDNS (#7042) + +//I/O & DHT + pinMode(ledPin, OUTPUT); + pinMode(btnPin, INPUT_PULLUP); + +//EE + EEPROM.begin(EEALL); + //EEPROM.get(EECH, memch); //current channel, no need + readEE(); // populate structure if healthy + digitalWrite(ledPin, ledState); + Serial.printf("Timer set %02d:%02d - %02d:%02d\n", ee.hstart, ee.mstart, ee.hstop, ee.mstop); + Serial.printf("Temp set %+2.1f\n", ee.tempe); + +//SPIFFS + SPIFFS.begin(); + + ws.onEvent(onWsEvent); + server.addHandler(&ws); + +#ifdef ESP32 + server.addHandler(new SPIFFSEditor(SPIFFS, http_username,http_password)); +#elif defined(ESP8266) + server.addHandler(new SPIFFSEditor(http_username,http_password)); +#endif + + server.on("/free-ram", HTTP_GET, [](AsyncWebServerRequest *request){ // direct request->answer + request->send(200, "text/plain", String(ESP.getFreeHeap())); + }); + + + server.on("/get-time", HTTP_GET, [](AsyncWebServerRequest *request){ + if(request->hasParam("btime")){ + time_t rtc = (request->getParam("btime")->value()).toInt(); + timeval tv = { rtc, 0 }; + settimeofday(&tv, nullptr); + } + request->send(200, "text/plain","Got browser time ..."); + }); + + + server.on("/hw-reset", HTTP_GET, [](AsyncWebServerRequest *request){ + request->onDisconnect([]() { +#ifdef ESP32 + ESP.restart(); +#elif defined(ESP8266) + ESP.reset(); +#endif + }); + request->send(200, "text/plain","Restarting ..."); + }); + + server.on("/erase-wifi", HTTP_GET, [](AsyncWebServerRequest *request){ + request->onDisconnect([]() { + WiFi.disconnect(true); +#ifdef ESP32 + ESP.restart(); +#elif defined(ESP8266) + ESP.reset(); +#endif + }); + request->send(200, "text/plain","Erasing WiFi data ..."); + }); + +#ifdef USE_AUTH + server.serveStatic("/", SPIFFS, "/").setDefaultFile("index.htm").setAuthentication(http_username,http_password); +#else + server.serveStatic("/", SPIFFS, "/").setDefaultFile("index.htm"); +#endif + + server.onNotFound([](AsyncWebServerRequest *request){ // nothing known + Serial.print(F("NOT_FOUND: ")); + if (request->method() == HTTP_OPTIONS) request->send(200); //CORS + else request->send(404); + }); + + DefaultHeaders::Instance().addHeader("Access-Control-Allow-Origin", "*");//CORS + server.begin(); + + //Timer tick + tim.attach(0.2, mytimer); //every 0.2s + + //OTA + ArduinoOTA.setHostname(hostName); + ArduinoOTA.onStart([]() { + Serial.print(F("OTA Started ...\n")); + ws.textAll("Now,OTA"); // for all clients + }); + ArduinoOTA.begin(); +} // setup end + +// loop ----------------------------------- +void loop(){ + if (udht){ // 5sec + updateDHT(); + udht = false; + } + ArduinoOTA.handle(); +} diff --git a/examples/SmartSwitch/data/ace.ico.gz b/examples/SmartSwitch/data/ace.ico.gz new file mode 100644 index 0000000000000000000000000000000000000000..49e15bcebdeba0b55db396e5b6266b6e72730070 GIT binary patch literal 6307 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 KOty1kU;qFMq`X-G literal 0 HcmV?d00001 diff --git a/examples/SmartSwitch/data/acefull.js.gz b/examples/SmartSwitch/data/acefull.js.gz index 55e603987c85f75e218196817a418dc810c959d9..0ff2a5f9fb7afff20fbb37242a7841c1b63312e8 100644 GIT binary patch delta 116634 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 delta 116250 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 diff --git a/examples/SmartSwitch/data/index.htm b/examples/SmartSwitch/data/index.htm index 65a7eaf..9f7da5b 100644 --- a/examples/SmartSwitch/data/index.htm +++ b/examples/SmartSwitch/data/index.htm @@ -1,6 +1,6 @@ + - Smart Switch @@ -54,6 +54,7 @@ appearance: none; } + .switch { position: relative; display: inline-block; @@ -116,6 +117,12 @@ .clk { font-size: 54px; color: #444; + cursor: pointer + } + + .clk2 { + font-size: 32px; + color: #444 } .clear:after, @@ -136,6 +143,7 @@ left: 0; margin: auto; max-width: 500px; + text-align: center; border: 0px solid #ccc } @@ -185,7 +193,7 @@ .container { display: inline-block; position: relative; - padding-left: 28px; + padding-left: 19px; padding-top: 4px; margin-top: 8px; margin-bottom: 8px; @@ -194,6 +202,9 @@ -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; + + width: 12.5%; + user-select: none } @@ -239,6 +250,7 @@ border-radius: 50%; background: white } + @@ -249,7 +261,7 @@

-
- +
+
-
- -
+ + + + -
- - -
- -
+ @@ -319,15 +327,14 @@
-
- -
+
+
- - - - - -
-
-
-
- - - - + + + + + + ESP Editor + + + + + + + + + + +
+
+
+
+ + + + \ No newline at end of file diff --git a/src/edit.htm.gz.h b/src/edit.htm.gz.h index 21057ee..cbcacd5 100644 --- a/src/edit.htm.gz.h +++ b/src/edit.htm.gz.h @@ -1,219 +1,224 @@ -#define edit_htm_gz_len 4316 + +//File: edit.htm.gz, Size: 4365 +#define edit_htm_gz_len 4365 const uint8_t edit_htm_gz[] PROGMEM = { -0x1F,0x8B,0x08,0x08,0x33,0x95,0x87,0x5E,0x02,0x00,0x65,0x64,0x69,0x74,0x2E,0x68,0x74,0x6D,0x00,0xB5, -0x1A,0x0B,0x5B,0xDB,0x36,0xF0,0xAF,0x18,0x6F,0x63,0xF6,0xE2,0x38,0x0E,0x50,0xD6,0x39,0x18,0x16,0x1E, -0x2B,0x7D,0x01,0x25,0x49,0x3B,0xCA,0xD8,0x3E,0xC5,0x56,0x12,0x15,0x5B,0xF6,0x2C,0x99,0x40,0xB3,0xFC, -0xF7,0x9D,0x24,0x3F,0x43,0xE8,0x1E,0xDF,0xD6,0x07,0x91,0x74,0xBA,0xD3,0xDD,0xE9,0x9E,0x0A,0x7B,0x1B, -0xC7,0xE7,0x47,0xC3,0xAB,0x8B,0x13,0x6D,0xC6,0xA3,0x70,0x7F,0x4F,0xFC,0xD4,0x42,0x44,0xA7,0x9E,0x8E, -0xA9,0xBE,0xBF,0x17,0x61,0x8E,0x00,0xC4,0x93,0x36,0xFE,0x3D,0x23,0x77,0x9E,0x7E,0x14,0x53,0x8E,0x29, -0x6F,0xF3,0x87,0x04,0xEB,0x9A,0xAF,0x66,0x9E,0xCE,0xF1,0x3D,0xEF,0x08,0xE4,0x9E,0xE6,0xCF,0x50,0xCA, -0x30,0xF7,0x32,0x3E,0x69,0x3F,0x07,0x12,0x9C,0xF0,0x10,0xEF,0x9F,0x0C,0x2E,0xB4,0x93,0x80,0xF0,0x38, -0xDD,0xEB,0xA8,0x95,0x3D,0xC6,0x1F,0x42,0xAC,0x09,0x42,0x39,0xBE,0xCF,0x98,0xAE,0x45,0x38,0x20,0xC8, -0xD3,0x99,0x9F,0x62,0xC1,0x41,0x88,0xC6,0x38,0x5C,0x4C,0x62,0x38,0x92,0x91,0xCF,0xD8,0xED,0x6E,0x25, -0xF7,0x3D,0x39,0x9D,0xA0,0x88,0x84,0x0F,0x2E,0x43,0x94,0xB5,0x19,0x4E,0xC9,0x64,0x69,0xFB,0xD1,0xE2, -0x73,0x9B,0xD0,0x00,0xDF,0xBB,0xDB,0x8E,0xD3,0x4B,0x62,0x46,0x38,0x89,0xA9,0x8B,0xC6,0x2C,0x0E,0x33, -0x8E,0x7B,0x21,0x9E,0x70,0xF7,0x19,0x50,0x18,0xC7,0x69,0x80,0x53,0xB7,0x9B,0xDC,0x6B,0x00,0x22,0x81, -0xF6,0xD5,0xCE,0xCE,0x4E,0x6F,0x8C,0xFC,0xDB,0x69,0x1A,0x67,0x34,0x68,0xFB,0x71,0x18,0xA7,0xEE,0x57, -0x93,0x67,0xE2,0x6F,0x2F,0x20,0x2C,0x09,0xD1,0x83,0x4B,0x63,0x8A,0x01,0xF7,0xBE,0xCD,0x66,0x28,0x88, -0xE7,0xAE,0xA3,0x39,0x5A,0xD7,0x01,0x22,0xE9,0x74,0x8C,0x0C,0xC7,0x12,0x7F,0xED,0x1D,0xB3,0xF7,0xB7, -0xF8,0x55,0xCB,0x73,0x4C,0xA6,0x33,0xEE,0x7E,0xEF,0x38,0x82,0x7F,0x2D,0x0B,0x17,0x21,0x61,0xBC,0x2D, -0x95,0xA3,0xCE,0xE3,0x71,0xE2,0x3A,0x92,0x75,0xF8,0x88,0x50,0x3A,0x25,0x14,0x06,0x09,0x0A,0x02,0x42, -0xA7,0xAE,0x42,0x0B,0xC9,0xA2,0x94,0x36,0xC5,0x21,0xE2,0xE4,0x0E,0xF7,0x22,0x42,0xDB,0x73,0x12,0xF0, -0x99,0xBB,0xEB,0x00,0x17,0x7E,0x96,0x32,0x90,0x29,0x89,0x09,0xE5,0x38,0x95,0x68,0x2C,0x41,0x74,0xA1, -0x44,0x15,0x0A,0x28,0xE5,0x24,0x34,0x24,0x14,0xB7,0xC7,0x61,0xEC,0xDF,0x96,0x27,0xED,0x26,0xF7,0xF9, -0x59,0xEE,0x2C,0xBE,0xC3,0xE9,0xA2,0x52,0x97,0xC4,0x6E,0x00,0x1B,0xA4,0x31,0xC6,0x4B,0x9B,0xDF,0x65, -0x00,0xB5,0xE4,0x27,0x48,0x99,0x53,0xAD,0x8B,0xD4,0x14,0x3C,0x47,0x21,0x34,0xC9,0xF8,0xE2,0xF1,0x55, -0xC6,0x09,0xF2,0x09,0x7F,0x70,0x1D,0xB9,0x4D,0x5A,0x88,0xBB,0xE3,0x38,0x9A,0x50,0xB8,0xF6,0x1E,0xA7, -0x01,0xA2,0xC8,0xEA,0xA7,0x04,0x85,0xD6,0xA0,0x52,0x79,0x3B,0x8A,0x3F,0xB7,0x33,0x18,0xC3,0x3C,0xC4, -0x3E,0x57,0x1A,0x86,0x4B,0x18,0xDF,0x12,0xFE,0x18,0xF0,0x68,0xA1,0xA6,0x2B,0xA9,0xA1,0x99,0xBA,0xBD, -0x2E,0xE8,0x46,0xF2,0xA1,0xC4,0x56,0x12,0xB5,0xC7,0x31,0xE7,0x71,0x24,0xED,0xAD,0x94,0x56,0x93,0x26, -0xF3,0xFC,0xD1,0x75,0xAC,0x57,0x7D,0x8D,0x7C,0x0F,0x94,0xCA,0x89,0x8F,0xC2,0x36,0x0A,0xC9,0x94,0xBA, -0x11,0x09,0x82,0x10,0xD7,0x4C,0xD6,0xCD,0xD2,0xD0,0x08,0x10,0x47,0x2E,0x89,0xD0,0x14,0x77,0x12,0x3A, -0x05,0x28,0xC3,0xBB,0x3B,0x16,0x79,0x7F,0x78,0x7E,0x39,0x77,0x5E,0xBF,0x98,0xC6,0x7D,0xF8,0x73,0x36, -0x18,0xCD,0x4E,0x46,0x53,0x18,0x1D,0x8A,0x69,0xFF,0xDD,0x51,0xFF,0x1D,0x7C,0x1C,0x75,0x5B,0x9F,0x26, -0xBF,0xF7,0xC5,0xF2,0x8B,0xE0,0x70,0x38,0x3A,0xE9,0xF7,0x5F,0x77,0x5E,0x9E,0xCD,0x3F,0xBC,0xDE,0x15, -0xE0,0xC3,0xD0,0xB9,0x7C,0x3F,0x73,0x46,0x5B,0x3F,0x44,0xC1,0x69,0x30,0xF3,0xA3,0x51,0xFF,0xDD,0x87, -0xCB,0xBB,0xAB,0x68,0x34,0x1D,0x7C,0xE8,0xCE,0x3E,0x6E,0xBD,0x1F,0x7C,0xFC,0xF0,0xD3,0x2D,0xFE,0xF9, -0xF4,0xD5,0xC7,0xE1,0x1C,0x10,0x8E,0xE3,0xC1,0xE8,0xF2,0xF0,0xFD,0xE1,0xF4,0xE3,0xA1,0x7F,0x72,0x3F, -0x0E,0xCF,0x0E,0x5F,0xF4,0xC7,0xFD,0x2D,0x1F,0xE3,0xE9,0xF0,0xF2,0x30,0x7B,0xF9,0xFA,0x7C,0x4A,0xC8, -0x6C,0xF0,0xF1,0x6C,0xE8,0x1F,0x3D,0x7B,0x33,0x3A,0xED,0x93,0xD9,0xD9,0xAB,0x4B,0xE7,0xF6,0xC5,0xEB, -0xA3,0x63,0xFF,0xEA,0xD5,0xD5,0xEE,0xF1,0x76,0xE7,0xFB,0xEF,0xDF,0x06,0xE7,0x84,0x0E,0xEF,0x3E,0xF7, -0xA7,0x47,0xF3,0xE7,0x0F,0x6C,0x38,0x7B,0x79,0x47,0x3B,0xEF,0xE3,0x4F,0x2F,0x1F,0xDE,0xC2,0xFF,0x8B, -0x8B,0xD6,0x78,0xD0,0x65,0xA3,0x77,0x2F,0xDF,0x6F,0xB1,0x1F,0x9E,0x25,0x87,0xC7,0xC7,0x77,0xD1,0xF8, -0xA2,0x13,0x05,0xB7,0x13,0xFE,0x7C,0x9B,0x27,0x57,0xD3,0xEC,0xE3,0xEF,0xCF,0x5E,0xCD,0x3A,0xE7,0x18, -0x5D,0xCD,0x5A,0x0F,0x9F,0x1F,0x9E,0xCF,0x86,0xA7,0x77,0x67,0x21,0xBA,0x3F,0x3B,0xF3,0x3F,0x47,0xAD, -0x10,0xFD,0x70,0x3E,0x0C,0x51,0xDA,0x1D,0x05,0xFD,0x4E,0xEB,0x68,0xAB,0xBF,0xC3,0xD3,0xCB,0x23,0x7A, -0xBC,0xFD,0x69,0xF0,0xFC,0xF0,0xB0,0x1B,0x8F,0x7F,0xDF,0x7A,0x71,0xBB,0xFB,0x62,0xB4,0xFB,0x6E,0xFC, -0xAE,0x3F,0xD8,0x39,0x1C,0xA1,0xAB,0xC1,0xBB,0xFE,0x64,0x67,0x3C,0x9B,0xBD,0x7E,0x3D,0xFC,0x29,0xE8, -0x7F,0x4E,0xFB,0xE7,0xF3,0xFE,0xFD,0xC9,0xA8,0x7F,0xDA,0x7A,0x7D,0xF2,0xD6,0xE9,0x0E,0xAE,0xB6,0xA7, -0x6F,0x77,0xE7,0x87,0xEC,0xA4,0xFF,0xEE,0xD0,0x99,0xBE,0x6A,0x45,0xE8,0x63,0x7C,0xB4,0x3D,0x7D,0xB9, -0x4B,0x2E,0xAE,0x50,0xFF,0xE5,0xE1,0x2B,0x46,0x2E,0xA3,0xD3,0x91,0xD3,0xEF,0xBF,0x39,0xC7,0x3F,0x1D, -0x6D,0xA3,0xD7,0x5B,0xFE,0x07,0xD0,0xFF,0xE8,0x67,0xFC,0x7D,0xAB,0x3F,0x3F,0x77,0x42,0xFF,0x07,0x3C, -0x3C,0xBD,0x1A,0xCA,0xDB,0x39,0x09,0x7F,0x1A,0xDE,0x0E,0xB2,0x77,0xD1,0xD1,0x91,0xA9,0xD1,0xB8,0x9D, -0xE2,0x04,0x23,0x5E,0x8F,0x55,0xA5,0x73,0x80,0x6D,0x55,0x56,0x98,0x3B,0xA9,0x88,0xAC,0xED,0x00,0xFB, -0x71,0x8A,0xE4,0x1E,0x40,0xC0,0xA9,0x30,0xB1,0xE5,0x8F,0x32,0xD4,0x6A,0x2A,0xD2,0x6A,0x88,0x06,0x9A, -0x51,0x38,0x42,0x44,0x28,0xE0,0xDC,0x11,0x1F,0xB7,0x13,0x72,0x8F,0xC3,0xB6,0x44,0x76,0x1D,0x73,0x21, -0x9D,0xAD,0xD8,0x86,0x28,0x89,0x14,0xD5,0x62,0x21,0xF8,0x84,0x7C,0x91,0x1E,0xC0,0x65,0x22,0xF8,0xCC, -0x7D,0x27,0x4E,0xDB,0xE3,0x6C,0x3A,0x21,0xF7,0xE0,0xCD,0x13,0x42,0x09,0xC7,0x5A,0x97,0x2D,0x7F,0x2C, -0xC8,0xDC,0xE2,0x87,0x49,0x8A,0x22,0xCC,0xB4,0xBF,0x49,0x66,0x31,0x49,0xE3,0x68,0x51,0x45,0x40,0x1E, -0xD7,0x26,0xCB,0xE5,0x57,0x59,0x12,0xC6,0x08,0xC4,0x5C,0x13,0x36,0x54,0x30,0x4D,0x85,0x5B,0x95,0x41, -0xB5,0x70,0xB3,0x2D,0x70,0xCB,0x86,0x5B,0x6F,0xED,0x54,0xAE,0xDB,0x96,0x7B,0x45,0xB0,0xAF,0xAB,0xBE, -0x16,0x0F,0x6A,0xB1,0xEE,0x2B,0x0E,0x2A,0x5D,0x7F,0xB8,0x3A,0x44,0x45,0x86,0x8A,0x01,0x15,0xA5,0xBB, -0xBB,0x4E,0x2D,0x54,0xC0,0xBE,0xE5,0x57,0x58,0xA6,0x4C,0xEB,0xAB,0x24,0x85,0xDB,0xC0,0xF3,0x2F,0xD0, -0x2C,0x65,0x6A,0xD2,0x06,0x9A,0x65,0xBA,0x53,0x22,0x54,0x39,0x4F,0xF2,0x5A,0x92,0x7E,0x2C,0x15,0x80, -0x4B,0x6E,0x9E,0x09,0x6E,0xBE,0xA8,0xD5,0xED,0xDD,0x6F,0x72,0x1E,0x76,0x9C,0x6F,0x96,0xB6,0xDA,0x5B, -0xE6,0xE3,0xAE,0x03,0x7F,0x8A,0xB4,0xFB,0xBC,0x62,0x61,0xFC,0x4C,0xFC,0x2D,0x18,0x04,0x3A,0x75,0xE0, -0xF6,0xCE,0x0F,0xCF,0x83,0x71,0x01,0x54,0x82,0x3D,0x0D,0x4F,0x51,0x40,0x32,0xE6,0x3E,0x73,0xBE,0x51, -0xFA,0x84,0xEB,0x03,0xD9,0x8B,0xCB,0x55,0x93,0xCA,0x62,0x59,0x42,0xA8,0xB6,0xC5,0x34,0x71,0xDF,0x28, -0x2D,0x0D,0xB3,0x9E,0xEA,0xC1,0x45,0x2A,0xD3,0x14,0xFB,0x17,0xCE,0x37,0x0B,0x9E,0x22,0xCA,0x26,0x71, -0x1A,0xB9,0x69,0xCC,0x11,0xC7,0x86,0x63,0x2E,0xBB,0xCE,0x3A,0xC0,0xF6,0xAE,0x13,0xE0,0xA9,0xB9,0x5C, -0xEE,0x75,0x20,0xA9,0xC9,0x8A,0xC7,0x4F,0x49,0xC2,0xF7,0x27,0x19,0xF5,0x05,0x0F,0xDA,0x14,0x1B,0xD8, -0x5C,0xA4,0x98,0x67,0x29,0xD5,0x82,0xD8,0xCF,0x84,0xB1,0xDB,0x53,0xCC,0x4F,0x94,0xDD,0x1F,0x3E,0xBC, -0x0C,0x60,0xC7,0xB2,0x44,0xF0,0xD7,0x22,0x80,0x03,0xC3,0x79,0x39,0x4E,0x63,0x3F,0x24,0x18,0x20,0xF2, -0x1A,0x3F,0x18,0xD8,0xE2,0x25,0x22,0xB6,0xC5,0xBA,0x61,0x14,0xDB,0x00,0x48,0xCD,0xC5,0x1D,0x68,0x01, -0x79,0xF8,0x9A,0xDF,0x58,0xC4,0xA3,0xF0,0xD1,0xCB,0xB7,0x93,0x7D,0x74,0xD0,0xEE,0xBA,0x68,0x9F,0x1C, -0x74,0xC1,0xBF,0xCC,0x1A,0x7D,0x75,0xF2,0x4F,0x24,0xC4,0xA3,0xDC,0xE5,0xC4,0x41,0x15,0xB5,0x8E,0x41, -0x2E,0x66,0xA0,0x48,0xF3,0x3B,0xE3,0x7C,0xA0,0x19,0xD7,0xDF,0xB7,0x7F,0xB8,0xF9,0xA3,0x7B,0xED,0xB4, -0xBB,0x37,0xE6,0x6F,0x66,0x87,0xD8,0x1C,0x33,0x6E,0x50,0x74,0x47,0xA6,0x08,0xEC,0xDC,0x16,0xF9,0xB6, -0x3F,0x05,0x29,0xCC,0x5E,0x79,0x06,0x51,0xEC,0x6D,0x39,0xCE,0x86,0x87,0x0F,0x50,0x88,0x81,0x75,0xFD, -0xE4,0xF2,0xF2,0xFC,0xF2,0x5A,0x6F,0xE1,0x96,0x7E,0xE3,0x6A,0x7A,0x8B,0x9A,0x2E,0xB7,0x53,0x3C,0x49, -0x31,0x9B,0x5D,0x20,0x3E,0x33,0x02,0xFB,0x0E,0x85,0x19,0xE8,0x42,0x30,0x12,0x7B,0xA0,0x38,0x7D,0x9C, -0x81,0xFD,0x50,0xDD,0xEC,0xC5,0x36,0xA1,0x14,0xA7,0xA7,0xC3,0xB7,0x6F,0x3C,0xFD,0x52,0x21,0x69,0x6F, -0x08,0xE3,0xBA,0x25,0x6F,0xC4,0x46,0x49,0x82,0x69,0x70,0x34,0x23,0x61,0x60,0xC4,0x66,0x4F,0x90,0xF0, -0x25,0x09,0x59,0x8C,0x00,0x05,0xDF,0x56,0x65,0xEB,0x04,0x24,0xD7,0x2D,0xDF,0x8E,0xB2,0x90,0x93,0x24, -0xC4,0xDE,0x46,0x17,0x66,0x14,0x45,0x00,0x13,0xA9,0x58,0xC0,0x48,0xE0,0xE9,0x2A,0x20,0xA9,0x30,0xB6, -0xF6,0x14,0x5F,0x9D,0x12,0x34,0x4E,0x09,0xEA,0xB8,0x09,0x48,0xA5,0x5B,0x81,0x5D,0xD5,0xCB,0x30,0xCB, -0x8F,0x2A,0x60,0x01,0x9E,0x20,0xE0,0xE4,0x3D,0x48,0x0E,0xAB,0x9D,0x75,0x07,0x05,0xEA,0x20,0xD6,0xD4, -0x08,0xAB,0x6B,0x44,0x5D,0xE5,0x3A,0x64,0xA6,0x90,0xD3,0x26,0x72,0x5A,0x47,0x3E,0x92,0x16,0xB1,0x0E, -0x39,0x55,0xC8,0x61,0x43,0xC4,0x50,0x8A,0xA8,0xA2,0x5C,0x5B,0x68,0x13,0x04,0x02,0xEC,0xB0,0x2E,0x26, -0xCC,0xC0,0x29,0xD1,0x38,0xC4,0x81,0xB7,0xE1,0xC0,0x4C,0x14,0xD6,0xDE,0x96,0xB3,0xE6,0x8C,0x50,0x9D, -0x91,0x35,0xCE,0xC8,0xE4,0x19,0x24,0x01,0x25,0x42,0xEE,0xD0,0xAD,0x4C,0x6A,0xAD,0xB9,0xA2,0x8E,0xF3, -0x67,0xD8,0xBF,0x85,0xF2,0x7E,0x1D,0xFB,0x99,0x09,0xDB,0xE4,0x06,0xC1,0xC6,0x06,0x92,0x07,0x25,0xF2, -0x20,0xD9,0xA3,0xC0,0x41,0x89,0x0D,0xEE,0xEF,0x89,0xE3,0xAC,0xA4,0xAE,0x93,0xF3,0x30,0xD0,0x08,0xD8, -0xFF,0x3A,0xB2,0x89,0xE2,0x38,0x6A,0xAA,0x34,0xAA,0xA3,0x6B,0x03,0x74,0x87,0xD7,0x22,0x47,0xA6,0x95, -0xDA,0x31,0xF5,0x43,0xE2,0xDF,0x7A,0x95,0x37,0x9B,0x0B,0xA3,0x3E,0x11,0xF4,0xB9,0x47,0xF1,0x5C,0xFB, -0x09,0xA2,0xD3,0x31,0xE2,0xA8,0xC7,0x73,0x32,0x46,0x6E,0x3A,0x18,0x08,0x41,0x83,0x87,0x19,0x67,0x36, -0x0A,0x60,0xF9,0x62,0x34,0xD4,0x2D,0xBD,0x23,0x2E,0x46,0x07,0x87,0x26,0xE6,0xD2,0x2C,0x5D,0xCA,0xA2, -0x32,0xB8,0x8F,0xD2,0xB0,0x5A,0x82,0x41,0x61,0x74,0x4B,0x2B,0x5A,0xCB,0x13,0x99,0x18,0xA5,0x02,0x0B, -0xA6,0x90,0x8F,0x6D,0x71,0x86,0x91,0x9B,0x80,0x6E,0x42,0xF4,0x53,0xF6,0x6B,0x98,0x16,0x6A,0x32,0x8D, -0x4A,0xA6,0x53,0x34,0x2F,0xEC,0x44,0x9D,0xDF,0x53,0x5E,0xEE,0x40,0x12,0xA6,0x8C,0x6B,0xD8,0xDB,0x71, -0x7E,0xD8,0xED,0xC1,0x6D,0x18,0xCA,0x77,0x01,0xB0,0xC7,0x6D,0xB0,0xAE,0x29,0x9F,0xF5,0xFC,0x96,0x97, -0x6B,0x25,0xF0,0xB8,0xCD,0xB2,0x31,0xE3,0x29,0xA4,0x38,0xC3,0xB7,0xFC,0x16,0x36,0x9B,0xC7,0xE8,0xAD, -0xD8,0x0A,0x4C,0x2B,0x6E,0xB5,0x96,0x2B,0x0A,0x3A,0x1F,0xD4,0x34,0x84,0x84,0x86,0x70,0xC8,0xB0,0x46, -0x6D,0x7C,0x8F,0xFD,0xA3,0x38,0x8A,0x90,0x20,0xC1,0xE0,0xEA,0xF2,0x89,0x6E,0x2E,0xAD,0x78,0xAD,0x66, -0x9E,0x88,0x5C,0x16,0x7B,0x4A,0x8F,0x10,0x09,0x3D,0xDF,0x16,0xEE,0xC2,0x72,0xA1,0xBE,0x7C,0xCB,0x45, -0x2C,0x52,0x28,0xD7,0xCE,0x8D,0x55,0x5E,0xDC,0x7A,0xA9,0xAA,0x7B,0x17,0x56,0xD7,0x08,0x41,0x66,0x75, -0xD3,0x02,0xD6,0x0C,0x6D,0x15,0x54,0x5F,0x2E,0x2D,0x5F,0xF0,0x3F,0x43,0x74,0x8A,0xFF,0xBE,0x00,0x15, -0x8F,0xD2,0x4B,0x2D,0x0A,0x39,0xE4,0xC0,0xFD,0xC5,0x36,0xAE,0x7F,0xB5,0x6F,0x5A,0xA6,0x79,0xF0,0x75, -0x47,0x6A,0xD8,0xE0,0xE6,0x75,0xF7,0xC6,0x42,0x00,0xB6,0xBF,0x33,0x7F,0xB1,0x25,0xB8,0x01,0xEB,0xDD, -0xC5,0x24,0xD0,0xC4,0x49,0xC2,0xB9,0xE3,0x89,0x86,0x36,0x37,0x0D,0x30,0xB9,0x86,0xB1,0xB6,0x78,0x4B, -0xB7,0x21,0x7D,0x2C,0x97,0xAB,0x49,0x6D,0x98,0x62,0xAC,0xB2,0x66,0x09,0x90,0xDC,0x83,0xCC,0xAB,0xF1, -0xAA,0x94,0x1A,0x5B,0x15,0x14,0x16,0x65,0xD6,0xB7,0xF3,0x82,0xC2,0xD3,0x45,0x45,0x01,0xB1,0x66,0x75, -0x59,0x76,0x7A,0xB0,0x5E,0x73,0xF9,0x6F,0xF7,0x48,0x34,0xD5,0x58,0xEA,0x7B,0xEA,0x2A,0x0E,0xC4,0x0F, -0xEF,0x5B,0x91,0xED,0x36,0x7F,0xF3,0xC7,0x9E,0xDE,0x82,0xFB,0xC5,0x36,0x8D,0xE7,0x86,0xD9,0xFA,0x56, -0xD7,0x24,0x45,0x4F,0x8F,0xD0,0x7D,0xDE,0xEF,0x8B,0x82,0xA4,0xA7,0xC1,0xBC,0x6C,0x50,0xD5,0x82,0xEA, -0xB4,0x51,0xC6,0xE3,0x9E,0x56,0x14,0x3A,0xAA,0xD3,0xD4,0xB5,0xCE,0xFE,0xB7,0x95,0x0E,0x10,0x88,0x8E, -0xD4,0x9D,0x10,0x19,0x9A,0x32,0x11,0xE0,0x70,0x23,0xFA,0x90,0xDC,0xED,0x54,0x0C,0x24,0x00,0x27,0x2B, -0x99,0xD3,0x0A,0x0C,0x64,0x1E,0x18,0x8D,0x7C,0xBB,0x27,0x7A,0x93,0xFD,0x0B,0x55,0x74,0xEE,0x75,0xE4, -0x4C,0x5F,0xE7,0x18,0xA0,0x79,0x0A,0xE8,0x56,0x59,0xE6,0x8C,0xE3,0xE0,0xA1,0x56,0x1C,0xB1,0xC3,0x87, -0xA3,0x10,0x31,0x76,0x86,0x22,0x38,0xDF,0x8F,0x74,0x33,0x37,0xA5,0x7D,0x67,0x73,0xB3,0x89,0x94,0xE2, -0x08,0x7A,0x21,0xC5,0x15,0x86,0x50,0xE6,0xFA,0x40,0x78,0x73,0x73,0x1D,0x63,0xE2,0x8D,0xEA,0x4B,0x5C, -0x51,0x70,0xD7,0x22,0xFC,0xFD,0x4F,0xDC,0xA9,0x1C,0xFB,0x94,0x56,0x53,0xF0,0xD9,0xC7,0x6C,0x1F,0xC7, -0x73,0x2A,0xB8,0x2A,0x59,0x4F,0xD7,0x28,0xB4,0xCA,0x0B,0xA5,0x25,0x07,0x39,0x5E,0x7B,0x92,0x2A,0x43, -0xAE,0x19,0x5D,0x01,0x03,0x73,0xC3,0x4B,0xF3,0xFF,0x11,0x56,0x95,0x04,0x4F,0xC9,0x1A,0x9A,0x56,0xB8, -0x46,0x56,0x1C,0x62,0x8E,0x4B,0x49,0xC3,0xB5,0x92,0xB2,0xFF,0x87,0xDF,0xCA,0x43,0x88,0xAA,0x74,0xEB, -0x3E,0x12,0x90,0x3B,0x1D,0x72,0x85,0xD7,0xA4,0xC0,0xFC,0x34,0x0E,0xC3,0x61,0x9C,0x1C,0x3C,0xB1,0xEE, -0x96,0xEB,0xF9,0xA0,0x60,0xB3,0xDA,0x62,0xF9,0x6B,0x89,0xBE,0xC1,0x13,0x7E,0xF0,0x14,0xE0,0x69,0xB2, -0xD5,0x1E,0x2B,0xF0,0xB0,0x0D,0xCA,0x83,0xD5,0x9F,0x5B,0xBE,0xC5,0xCA,0xD9,0x55,0x2B,0x86,0xBB,0xF0, -0x0B,0x25,0x79,0x42,0x49,0x16,0x59,0x1B,0xBA,0xAA,0x75,0xD1,0x5E,0x7A,0x41,0x4B,0x4F,0xEE,0xAB,0x35, -0x1E,0x27,0x1E,0x53,0x4B,0xC8,0x20,0x16,0x5F,0xB9,0x94,0x75,0x01,0x25,0xF5,0x88,0x1D,0x4F,0x26,0x0C, -0xF3,0x0F,0x22,0x98,0x59,0x61,0x39,0x3F,0x95,0xC1,0xAC,0x07,0x53,0x1A,0xC5,0x19,0xC3,0x71,0xC6,0x9B, -0x65,0x4F,0x29,0xCC,0x5E,0xF0,0xC7,0x1F,0xE5,0x64,0x3F,0x68,0xA5,0xD5,0xF4,0x6A,0x8F,0xD5,0x26,0xFB, -0xAC,0x15,0x42,0x28,0xF8,0x8F,0x2D,0x85,0xD4,0x2D,0x25,0x16,0xB1,0xD4,0x8A,0x95,0xA5,0xB0,0xCA,0xD6, -0x99,0xA8,0x4B,0x51,0xCD,0xDB,0x85,0x41,0xEB,0x66,0xD1,0x76,0xD5,0xBD,0x1C,0x59,0x6C,0x35,0x08,0xAC, -0x2F,0x0E,0x7C,0x43,0x50,0x05,0xAD,0xBF,0x89,0xE7,0x38,0x3D,0x42,0x0C,0x1B,0x90,0x33,0xCB,0x88,0x25, -0xA1,0xA6,0x1B,0xAC,0xD9,0x05,0x4A,0xA0,0x0A,0x9C,0x17,0x1E,0x31,0x15,0xD5,0x37,0xC8,0x97,0x35,0x4E, -0xC0,0xB6,0x78,0x30,0x00,0xA9,0x8F,0x55,0xB3,0x01,0x75,0x1A,0xB6,0x19,0x5C,0xF3,0x45,0x1A,0x27,0x68, -0x2A,0x9B,0x6B,0x58,0x13,0xEE,0x51,0x50,0xAB,0xA5,0xD6,0xB2,0x1E,0x95,0x69,0xFD,0x71,0x56,0xC7,0x32, -0x73,0x43,0x85,0xB0,0x9A,0xBC,0xB9,0xC9,0xE6,0x84,0xFB,0x33,0xE1,0xDB,0x3E,0x30,0xAC,0x73,0xE8,0x0C, -0x5C,0x39,0x9A,0xF1,0xA8,0x1A,0x85,0xF9,0xF0,0x13,0xCB,0x07,0x3E,0x2B,0x46,0xF7,0x35,0x60,0x4C,0x0B, -0x70,0x4C,0x27,0xF9,0x90,0x50,0x52,0xD0,0x29,0x80,0xC5,0x67,0x92,0xE4,0xA3,0x64,0x56,0x8C,0x66,0xF8, -0xBE,0xC4,0x8B,0x0B,0x68,0x80,0x75,0x57,0x5D,0xDF,0x86,0xB3,0xCC,0x07,0xDD,0x4A,0xFC,0xE0,0xBF,0x13, -0x3F,0xA1,0xD3,0x42,0x98,0xA4,0x18,0x4D,0x49,0x21,0xCA,0x38,0x4A,0xBE,0xC8,0x08,0xFB,0xB7,0x7D,0xC1, -0xF1,0xC9,0x9B,0x93,0xE1,0x49,0xBD,0x44,0xAC,0xBF,0x22,0xF0,0xBF,0x6A,0xD3,0xB9,0xE9,0x1A,0x49,0xDD, -0x53,0x60,0xE6,0x8B,0xCF,0xB3,0x38,0x90,0x45,0x1F,0x04,0x7C,0x23,0x01,0xEA,0xBA,0x69,0x36,0x1E,0x1A, -0xD2,0xC6,0x03,0x46,0x15,0xE8,0xF3,0x97,0x01,0xD0,0xD3,0xE6,0x66,0x8D,0x11,0xB9,0x5E,0x3D,0x7E,0x50, -0x4B,0x57,0x75,0x9A,0x74,0x36,0xF4,0x54,0x41,0x83,0xCC,0xB2,0x65,0x20,0x1E,0xCD,0x1D,0xDD,0x12,0xDD, -0x03,0xD9,0xF7,0xA1,0x6D,0x68,0x99,0xAA,0xE1,0xF7,0x3C,0x8F,0x5E,0xFB,0x37,0xB2,0x69,0xDC,0xDC,0x44, -0xCD,0xA2,0xC7,0x70,0x2C,0x09,0x14,0x07,0xCA,0x91,0x6C,0x57,0x41,0x16,0x60,0xCB,0xB1,0x5E,0x0D,0xCE, -0xCF,0xEC,0x04,0xA5,0xE0,0x71,0xD4,0xAC,0x07,0x89,0x50,0x09,0xD8,0xD4,0xF6,0x8B,0x93,0x5A,0x35,0x2E, -0xBF,0x17,0x72,0xF9,0xD2,0x4A,0x0D,0x41,0x4E,0xF5,0xB9,0x22,0x87,0xE7,0x0F,0x78,0x90,0x7A,0x92,0x22, -0x0D,0x55,0x51,0x24,0xA9,0x07,0x71,0x7E,0x97,0xAD,0xEF,0x41,0x2D,0x3E,0x23,0xAC,0xDE,0x85,0x34,0x5C, -0xFE,0x6F,0xDE,0xD8,0xB2,0x18,0x29,0x72,0xAB,0x05,0xB5,0xFA,0xF6,0x4F,0x5D,0x8E,0x6C,0x98,0x16,0x55, -0x84,0xAC,0xCC,0x51,0x87,0xCC,0x42,0xA8,0x6E,0xD1,0x7F,0xEA,0x21,0xB4,0xF0,0x10,0xFA,0x38,0x40,0xE0, -0xFB,0x86,0xB7,0x97,0xA7,0xF4,0xC6,0xC0,0xD9,0x6D,0xAF,0x8C,0x22,0x00,0x91,0x31,0xA4,0x01,0xF8,0xC4, -0xE4,0xFA,0x27,0x74,0x87,0xD4,0xFB,0x5D,0x05,0x5D,0x1F,0x2A,0xE4,0x76,0xFF,0x37,0x18,0x95,0x3B,0x9B, -0x81,0x88,0xC1,0xF0,0x71,0x3C,0xE1,0x8D,0xF0,0x54,0xC5,0xAC,0x7A,0x74,0x02,0x77,0xCD,0xBD,0x59,0xE3, -0x35,0xFD,0xD6,0x5C,0x0F,0x0C,0xF2,0x49,0xDF,0xAB,0x05,0x22,0x85,0x51,0xB7,0x9E,0xF5,0xED,0x4A,0xB3, -0xA1,0x59,0x9F,0xFE,0xA5,0xFF,0xE1,0x03,0x66,0xB3,0xA2,0x75,0x07,0x37,0xAF,0xCD,0x74,0x5D,0x64,0x2B, -0x3F,0xC4,0x28,0x1D,0x88,0x2E,0x51,0x65,0x88,0xA5,0xBA,0x40,0x4F,0xBA,0xAE,0x01,0x1A,0xEB,0xC8,0x87, -0x62,0x5B,0xE8,0x01,0x10,0x4A,0x28,0x05,0x28,0xF5,0x62,0xA0,0x59,0x5B,0x44,0xB0,0x88,0xA0,0xE1,0x89, -0x69,0x7C,0x8B,0x48,0x7D,0x3B,0x01,0x08,0xC9,0xBF,0x4F,0x86,0xBE,0xCE,0xCA,0x2F,0x42,0x12,0xAA,0x20, -0xEA,0xFA,0xCD,0xFC,0x2D,0xAC,0x7A,0x86,0xC0,0x85,0xDF,0xE4,0x06,0xB2,0x21,0xD1,0x98,0x28,0x08,0x06, -0x98,0x31,0xC9,0xB8,0x10,0xEC,0x6D,0x1C,0x80,0x5C,0x80,0xD6,0x89,0x60,0x24,0x0E,0x02,0x11,0x05,0x60, -0x38,0xC3,0x51,0x0E,0xE1,0x30,0x14,0x20,0x24,0x40,0x5F,0x4B,0x5D,0x0D,0x64,0xE1,0x45,0xE8,0xD4,0xEB, -0x76,0x1C,0xEB,0x31,0xD9,0x11,0xC3,0x83,0x78,0xC2,0x87,0x68,0xCC,0x8C,0x0D,0xC7,0x5C,0xB3,0x03,0x40, -0x03,0x08,0x27,0xC6,0x96,0xB9,0x1E,0xFD,0x43,0x9C,0xDE,0xE2,0xD4,0xD8,0xE8,0xE6,0xFC,0x9C,0x42,0xC1, -0x14,0xC2,0x7F,0xDE,0x07,0xB5,0xDF,0xE1,0x37,0x84,0xE2,0x9C,0x32,0x03,0xE4,0x59,0x3C,0xBF,0x48,0x09, -0xE5,0x6F,0x65,0x5F,0x98,0x63,0xF9,0xEA,0xB9,0x42,0x86,0xA0,0xE2,0x1D,0x63,0x21,0xA2,0x99,0xDB,0x78, -0xCD,0xB0,0xC6,0x70,0x5F,0x10,0x5C,0xDD,0xC5,0x9C,0x50,0x57,0x3F,0xE2,0x69,0xD8,0x1E,0xE8,0x56,0x84, -0x7C,0x98,0xA8,0x3D,0x30,0x5F,0x5A,0xC2,0x6B,0xDD,0x7A,0x34,0xD9,0xA8,0x26,0x55,0x01,0xBD,0xF6,0xA9, -0xA7,0x7A,0xB9,0x10,0xC0,0xC3,0x30,0x1E,0x1B,0xE2,0x75,0x7A,0x21,0x3C,0xDE,0xA5,0x4B,0x53,0xA4,0xA7, -0x2F,0xBF,0xCA,0xF8,0x10,0x76,0xB9,0x85,0x6B,0x8F,0x4A,0x2D,0x5D,0x17,0x6F,0x35,0x80,0x87,0x82,0x73, -0x1A,0x3E,0xB8,0x90,0x16,0xFF,0x42,0xEA,0x8C,0x06,0xF1,0x97,0xA4,0xFE,0xB8,0x22,0xF5,0xC7,0x75,0x52, -0xE3,0xE6,0x6D,0xC1,0x64,0x04,0x64,0xDF,0x22,0x8A,0xA6,0x38,0x85,0x05,0x71,0x08,0x5C,0xC0,0x3F,0xE3, -0x2C,0xC5,0x5F,0xE6,0x6C,0x30,0x23,0x13,0xBE,0xCA,0x9F,0x5A,0xFD,0x77,0x5C,0xA6,0xF8,0x09,0x2E,0x8B, -0x02,0xB3,0xCC,0x1B,0x7F,0xFD,0x54,0x22,0x9D,0xDA,0x83,0x2B,0xAC,0xBB,0xEB,0xBF,0xF0,0xBB,0xEA,0xC4, -0x2F,0xA7,0x4F,0xF1,0xE1,0xE2,0xA5,0x15,0x08,0x9B,0x68,0x96,0xA5,0x31,0x3D,0x84,0x0A,0xFE,0x0D,0x88, -0x60,0x28,0x73,0xC4,0xDE,0x62,0x69,0x71,0xCF,0x00,0x55,0x42,0x17,0x0C,0xC2,0xF9,0xB2,0xAE,0xB5,0x67, -0x90,0x22,0x41,0x09,0xC0,0x24,0x24,0xDA,0xCE,0xF5,0xC1,0xE6,0x4D,0x0B,0x32,0x94,0x07,0x1F,0xA6,0x07, -0x83,0xCD,0x9B,0xEF,0xCC,0xCE,0x94,0xD4,0x6A,0x22,0x99,0xEB,0x40,0xAF,0xD7,0xF4,0xC6,0x43,0x4B,0x08, -0x61,0xF5,0x5C,0x58,0x46,0x56,0x0B,0xCB,0x57,0x2F,0xF8,0x08,0x11,0x9D,0xC2,0x87,0x8C,0x1D,0x10,0x9E, -0xD6,0x7C,0xBF,0xA2,0x67,0x6A,0x04,0x58,0xB5,0x87,0x2A,0x9D,0xC3,0x4F,0x5D,0xB4,0x57,0xBC,0x16,0x0C, -0x15,0x59,0x88,0x7B,0x6A,0x50,0x8F,0xB1,0x22,0x49,0x17,0x97,0x96,0x83,0xCD,0xA5,0x30,0x75,0x3C,0x21, -0x14,0x07,0x7A,0x99,0x57,0x7F,0x7E,0xFB,0xE6,0x94,0xF3,0xE4,0x52,0x69,0x16,0x68,0x35,0x17,0xAA,0x0B, -0x37,0x17,0x3C,0x7D,0x28,0x2A,0x34,0xE1,0xB0,0x2A,0xE4,0xFC,0x7C,0x3E,0xFE,0x84,0x7D,0xC8,0x47,0x6F, -0x19,0x24,0xB3,0x2D,0x5B,0xA0,0x0F,0x87,0x17,0xF6,0xAE,0xED,0x40,0xC9,0xE0,0x23,0x48,0xD9,0xE2,0xE6, -0x96,0xFF,0x08,0x79,0xFB,0x9F,0x21,0x13,0x88,0xBB,0x0C,0x02,0x6B,0x81,0xDF,0xC4,0x9D,0xA5,0xF1,0x5C, -0xA2,0x9D,0xA4,0xA9,0xB8,0x94,0xE1,0x8C,0x30,0x6D,0x0C,0x8B,0x0C,0xA7,0x5A,0x10,0x63,0xA6,0xD1,0x98, -0x6B,0x2C,0x4B,0x92,0x38,0xE5,0x2B,0xFA,0xB0,0xF5,0xE2,0xC1,0xE6,0x5D,0x86,0x33,0x1C,0xE4,0xCB,0x38, -0xAD,0xEB,0x45,0x16,0x57,0xB0,0x0E,0x66,0x7F,0x7D,0x93,0x97,0x5A,0x19,0xA5,0x22,0x0F,0x6C,0x74,0xD5, -0x1C,0xA4,0x9B,0x01,0x55,0x8F,0x66,0x61,0xB8,0xEC,0xAD,0xD0,0x82,0x8E,0x2B,0xE6,0xB1,0xFC,0x8A,0x62, -0xF1,0x5B,0x6E,0xE2,0xEE,0xCA,0x8B,0x6A,0x93,0xAA,0x63,0x6D,0x18,0x1B,0x58,0x23,0x94,0x71,0x44,0x7D, -0x71,0x8D,0x4A,0x17,0x66,0x51,0x66,0x89,0xED,0x3D,0xE1,0x9F,0xD2,0x96,0x9E,0xCC,0xED,0x52,0x32,0xEA, -0xE9,0xBA,0xA8,0xB8,0xB0,0x28,0x5C,0x51,0xC4,0x6A,0x64,0xCB,0x88,0x6D,0x52,0xAF,0x00,0xF7,0xE4,0x3B, -0x78,0x73,0xFF,0x2A,0x1B,0x45,0x99,0x8D,0x00,0xA6,0x15,0xFB,0x4C,0xDA,0xF2,0x74,0x99,0xA9,0x0F,0xA4, -0xEB,0x4A,0x03,0x8E,0x30,0x9F,0xC5,0xC1,0x81,0x7E,0xA0,0xBB,0x3A,0xFC,0xDB,0xD4,0x2D,0xD8,0x85,0xA9, -0x0F,0xEE,0x3F,0xBA,0x7C,0x09,0x21,0x2D,0x89,0x29,0xA6,0xDC,0x40,0x10,0xD9,0x3D,0xBD,0xB5,0x06,0x52, -0x90,0xBF,0x46,0x37,0x66,0xAF,0xA9,0x6C,0x3C,0x5F,0xB9,0xCE,0xC6,0x65,0xD8,0x31,0x15,0x51,0xEE,0x01, -0x98,0xE7,0xF8,0xD1,0x3B,0xB6,0x45,0x1F,0xB7,0x23,0xE6,0x62,0x47,0xF0,0x2C,0xB1,0x06,0x80,0x25,0x5C, -0xAF,0x52,0xF2,0x53,0x25,0x16,0xB5,0x7D,0x14,0x86,0xE2,0xEB,0x77,0xE0,0x55,0x1C,0x96,0x31,0x4B,0x10, -0x61,0x20,0x00,0xC3,0x43,0x7C,0x0F,0x2E,0x2D,0xEB,0x24,0x65,0x43,0x79,0x5F,0x02,0xA4,0x79,0xCD,0x8C, -0x4C,0xAB,0x9C,0x6D,0x6E,0x72,0xBB,0x30,0x13,0xA3,0x40,0x62,0x22,0xE8,0x1B,0xA6,0xE8,0x39,0x8C,0xBA, -0x90,0x22,0x87,0x3E,0xD2,0xB6,0xD1,0x54,0x43,0x82,0xA9,0x51,0xC0,0x80,0xB3,0x2C,0x0D,0x21,0x52,0x8B, -0x2A,0xA2,0xB1,0x8D,0x61,0x1A,0xC0,0x01,0xEE,0x5F,0x22,0x4B,0x54,0x5A,0xB7,0x8A,0x01,0x4F,0x15,0xDF, -0x4D,0x7A,0x3C,0xBF,0x95,0x53,0x2C,0x23,0x5F,0xF3,0x77,0x0F,0x2D,0x1D,0x25,0x49,0x48,0x54,0x60,0xEE, -0xC0,0xC3,0xF7,0x7C,0xDE,0x06,0xB3,0x8A,0xDA,0x70,0x82,0xB2,0x82,0x40,0x5F,0xC3,0xA1,0x6A,0xBB,0x2C, -0xF1,0x60,0xE1,0xAE,0xB8,0x68,0xA5,0x3F,0x63,0xC5,0x47,0x9B,0x74,0x9A,0x7C,0xD6,0x6E,0x7B,0x6F,0x67, -0x05,0x84,0xC6,0xE2,0x7B,0x76,0xC8,0x35,0x90,0x8E,0xCA,0xD3,0x8A,0x0E,0xA8,0x1E,0x17,0xEC,0x24,0x63, -0x33,0x63,0x01,0xAC,0xBB,0xDC,0x52,0xBA,0x72,0xB1,0xA5,0xEC,0xD6,0xA5,0x56,0x61,0x1F,0x2E,0xA4,0x90, -0x46,0xFC,0xF8,0xE3,0x0F,0x39,0xAB,0x6E,0x1B,0x66,0x2B,0x17,0xBE,0x54,0x6F,0xAC,0x45,0x66,0x14,0x46, -0xBF,0x1A,0xAB,0xF6,0x3A,0xAA,0xB1,0x29,0x7E,0x41,0x41,0x23,0x81,0x27,0x92,0xAC,0x9E,0x7F,0x05,0x01, -0xC3,0x09,0xC4,0x25,0x1B,0x3A,0xA1,0xF2,0xB7,0x3B,0xF5,0xFC,0xD7,0x3B,0x57,0x71,0xF7,0xCB,0xD6,0xCC, -0xF3,0xCA,0xBA,0x5A,0x45,0x1D,0xB5,0xC1,0x7B,0xE2,0xD7,0x16,0x74,0x05,0x86,0xCE,0x55,0x0D,0xEC,0xF2, -0x6C,0x71,0xAE,0x95,0x2F,0x22,0xF6,0x40,0x7D,0x11,0x35,0x4B,0x2A,0x33,0x50,0x7F,0xA3,0x9B,0x55,0x3B, -0xCD,0x65,0xC5,0x99,0x78,0x9E,0xD3,0xE2,0xFC,0x2D,0xBB,0x9E,0xEB,0x81,0x7D,0x68,0x96,0x85,0xB8,0x85, -0x8B,0x6A,0xB2,0x5B,0x2E,0xA7,0x20,0x1E,0x6C,0xA8,0x76,0x65,0xC9,0x7A,0x80,0x4A,0xBF,0xAB,0x8B,0x2A, -0xBB,0xAF,0x2E,0x17,0x1D,0x57,0xF9,0xB5,0x4D,0xED,0x37,0x4E,0x2A,0x1A,0x44,0x3E,0xC8,0xCB,0xFD,0xCD, -0x37,0xFA,0x27,0xD1,0x14,0xC6,0xFE,0x9F,0xFB,0x0C,0xD2,0xB3,0xD2,0x2B,0x00,0x00 +0x1F,0x8B,0x08,0x08,0xC6,0xC7,0xA5,0x5E,0x02,0x00,0x65,0x64,0x69,0x74,0x2E,0x68,0x74,0x6D,0x00,0xB5, +0x1A,0x0B,0x5B,0xDB,0x36,0xF0,0xAF,0x18,0x6F,0x63,0xF6,0xE2,0x38,0x0E,0xA5,0xAC,0x73,0x30,0x2C,0x50, +0x56,0xFA,0x02,0x4A,0x42,0x3B,0xCA,0xD8,0x3E,0xC5,0x56,0x62,0x15,0x5B,0xF2,0x6C,0x99,0x40,0xB3,0xFC, +0xF7,0x9D,0x24,0x3F,0x43,0xE8,0x1E,0xDF,0xB6,0xAE,0x8D,0xA4,0xD3,0x9D,0xEE,0xA1,0x7B,0x29,0xD9,0xDD, +0x78,0x7E,0x7A,0x38,0xBE,0x3C,0x3B,0xD2,0x42,0x1E,0x47,0x7B,0xBB,0xE2,0x5F,0x2D,0x42,0x74,0xE6,0xE9, +0x98,0xEA,0x7B,0xBB,0x31,0xE6,0x08,0x40,0x3C,0xE9,0xE2,0xDF,0x73,0x72,0xEB,0xE9,0x87,0x8C,0x72,0x4C, +0x79,0x97,0xDF,0x27,0x58,0xD7,0x7C,0x35,0xF3,0x74,0x8E,0xEF,0x78,0x4F,0x20,0x0F,0x34,0x3F,0x44,0x69, +0x86,0xB9,0x97,0xF3,0x69,0xF7,0x19,0x90,0xE0,0x84,0x47,0x78,0xEF,0x68,0x74,0xA6,0x1D,0x05,0x84,0xB3, +0x74,0xB7,0xA7,0x56,0x76,0x23,0x42,0x6F,0xB4,0x14,0x47,0x9E,0x8E,0x92,0x24,0xC2,0x5D,0xCE,0x72,0x3F, +0xEC,0x12,0xA0,0xA9,0x6B,0x61,0x8A,0xA7,0x9E,0xDE,0x43,0x3E,0xB6,0x61,0x41,0xD7,0xC4,0x71,0x9E,0x4E, +0x62,0x34,0xC3,0xBD,0x3B,0xB5,0xA7,0x49,0x20,0x0B,0x59,0xCA,0xFD,0x9C,0x6B,0xFF,0x0A,0xFB,0x1F,0x20, +0x65,0xFC,0x3E,0xC2,0x0A,0xA4,0x64,0xF6,0xB3,0x4C,0xD7,0x62,0x1C,0x10,0x04,0x5C,0xF8,0x29,0x16,0x5A, +0x8B,0xD0,0x04,0x47,0x8B,0x29,0x03,0x35,0x65,0xE4,0x33,0x76,0xFB,0x5B,0xC9,0xDD,0x40,0x4E,0xA7,0x28, +0x26,0xD1,0xBD,0x9B,0x21,0x9A,0x75,0x33,0x9C,0x92,0xE9,0xD2,0xF6,0xE3,0xC5,0xE7,0x2E,0xA1,0x01,0xBE, +0x73,0x9F,0x38,0xCE,0x20,0x61,0x19,0xE1,0x84,0x51,0x17,0x4D,0x32,0x16,0xE5,0x1C,0x0F,0x22,0x3C,0xE5, +0xEE,0x53,0xA0,0x30,0x61,0x69,0x80,0x53,0xB7,0x9F,0xDC,0x69,0x00,0x22,0x81,0xF6,0xD5,0xF6,0xF6,0xF6, +0x60,0x82,0xFC,0x9B,0x59,0xCA,0x72,0x1A,0x74,0x7D,0x16,0xB1,0xD4,0xFD,0x6A,0xFA,0x54,0xFC,0x19,0x04, +0x24,0x4B,0x22,0x74,0xEF,0x52,0x46,0x31,0xE0,0xDE,0x75,0xB3,0x10,0x05,0x6C,0xEE,0x3A,0x9A,0xA3,0xF5, +0x1D,0x20,0x92,0xCE,0x26,0xC8,0x70,0x2C,0xF1,0xC7,0xDE,0x36,0x07,0x7F,0x8B,0x5F,0xB5,0x3C,0xC7,0x64, +0x16,0x72,0xF7,0x7B,0xC7,0x11,0xFC,0x6B,0x79,0xB4,0x88,0x48,0xC6,0xBB,0x52,0x39,0xEA,0x3C,0xCE,0x12, +0xD7,0x91,0xAC,0xC3,0x47,0x8C,0xD2,0x19,0xA1,0x30,0x48,0x50,0x10,0x10,0x3A,0x73,0x15,0x5A,0x44,0x16, +0x95,0xB4,0x60,0x07,0xC4,0xC9,0x2D,0x1E,0xC4,0x84,0x76,0xE7,0x24,0xE0,0xA1,0xBB,0xE3,0x00,0x17,0x7E, +0x9E,0x66,0x20,0x53,0xC2,0x08,0xE5,0x38,0x95,0x68,0x59,0x82,0xE8,0x42,0x89,0x2A,0x14,0x50,0xC9,0x49, +0x28,0x58,0x14,0x77,0x27,0x11,0xF3,0x6F,0xAA,0x93,0x76,0x92,0xBB,0xE2,0x2C,0x37,0x64,0xB7,0x38,0x5D, +0xD4,0xEA,0x92,0xD8,0x2D,0x60,0x8B,0x34,0xC6,0x78,0x69,0xF3,0xDB,0x1C,0xA0,0x96,0xFC,0x04,0x29,0x0B, +0xAA,0x4D,0x91,0xDA,0x82,0x17,0x28,0x84,0x26,0x39,0x5F,0x3C,0x34,0x25,0x4B,0x90,0x4F,0xF8,0xBD,0xEB, +0xC8,0x6D,0xF2,0x86,0xB8,0xDB,0x8E,0xA3,0x09,0x85,0x6B,0xEF,0x71,0x1A,0x20,0x8A,0xAC,0x61,0x4A,0x50, +0x64,0x8D,0x6A,0x95,0x77,0x63,0xF6,0xB9,0x9B,0xC3,0x18,0xE6,0x11,0xF6,0xB9,0xD2,0x30,0x18,0x61,0x72, +0x43,0xF8,0x43,0xC0,0x83,0x85,0x86,0xAE,0xA4,0x86,0x42,0x65,0xBD,0x3E,0xE8,0x46,0xF2,0xA1,0xC4,0x56, +0x12,0x75,0x27,0x8C,0x73,0x16,0xCB,0xFB,0x56,0x49,0xAB,0xC9,0x2B,0xF3,0xEC,0x81,0x39,0xD6,0xAB,0xBE, +0x41,0x7E,0x00,0x4A,0xE5,0xC4,0x47,0x51,0x17,0x45,0x64,0x46,0xDD,0x98,0x04,0x41,0x84,0x07,0x0D,0x1B, +0xE4,0x69,0x64,0x04,0x88,0x23,0x57,0xF9,0x59,0x42,0x67,0x00,0xCD,0xF0,0xCE,0xB6,0x45,0xDE,0x1F,0x9C, +0x9E,0xCF,0x9D,0xD7,0x2F,0x66,0x6C,0x08,0xFF,0x9D,0x8C,0x2E,0xC2,0xA3,0x8B,0x19,0x8C,0x0E,0xC4,0x74, +0xF8,0xEE,0x70,0xF8,0x0E,0x3E,0x0E,0xFB,0x9D,0x4F,0xD3,0xDF,0x87,0x62,0xF9,0x45,0x70,0x30,0xBE,0x38, +0x1A,0x0E,0x5F,0xF7,0x5E,0x9E,0xCC,0x3F,0xBC,0xDE,0x11,0xE0,0x83,0xC8,0x39,0x7F,0x1F,0x3A,0x17,0x5B, +0x3F,0xC4,0xC1,0x71,0x10,0xFA,0xF1,0xC5,0xF0,0xDD,0x87,0xF3,0xDB,0xCB,0xF8,0x62,0x36,0xFA,0xD0,0x0F, +0x3F,0x6E,0xBD,0x1F,0x7D,0xFC,0xF0,0xD3,0x0D,0xFE,0xF9,0xF8,0xD5,0xC7,0xF1,0x1C,0x10,0x9E,0xB3,0xD1, +0xC5,0xF9,0xC1,0xFB,0x83,0xD9,0xC7,0x03,0xFF,0xE8,0x6E,0x12,0x9D,0x1C,0xBC,0x18,0x4E,0x86,0x5B,0x3E, +0xC6,0xB3,0xF1,0xF9,0x41,0xFE,0xF2,0xF5,0xE9,0x8C,0x90,0x70,0xF4,0xF1,0x64,0xEC,0x1F,0x3E,0x7D,0x73, +0x71,0x3C,0x24,0xE1,0xC9,0xAB,0x73,0xE7,0xE6,0xC5,0xEB,0xC3,0xE7,0xFE,0xE5,0xAB,0xCB,0x9D,0xE7,0x4F, +0x7A,0xDF,0x7F,0xFF,0x36,0x38,0x25,0x74,0x7C,0xFB,0x79,0x38,0x3B,0x9C,0x3F,0xBB,0xCF,0xC6,0xE1,0xCB, +0x5B,0xDA,0x7B,0xCF,0x3E,0xBD,0xBC,0x7F,0x0B,0x7F,0xCF,0xCE,0x3A,0x93,0x51,0x3F,0xBB,0x78,0xF7,0xF2, +0xFD,0x56,0xF6,0xC3,0xD3,0xE4,0xE0,0xF9,0xF3,0xDB,0x78,0x72,0xD6,0x8B,0x83,0x9B,0x29,0x7F,0xF6,0x84, +0x27,0x97,0xB3,0xFC,0xE3,0xEF,0x4F,0x5F,0x85,0xBD,0x53,0x8C,0x2E,0xC3,0xCE,0xFD,0xE7,0xFB,0x67,0xE1, +0xF8,0xF8,0xF6,0x24,0x42,0x77,0x27,0x27,0xFE,0xE7,0xB8,0x13,0xA1,0x1F,0x4E,0xC7,0x11,0x4A,0xFB,0x17, +0xC1,0xB0,0xD7,0x39,0xDC,0x1A,0x6E,0xF3,0xF4,0xFC,0x90,0x3E,0x7F,0xF2,0x69,0xF4,0xEC,0xE0,0xA0,0xCF, +0x26,0xBF,0x6F,0xBD,0xB8,0xD9,0x79,0x71,0xB1,0xF3,0x6E,0xF2,0x6E,0x38,0xDA,0x3E,0xB8,0x40,0x97,0xA3, +0x77,0xC3,0xE9,0xF6,0x24,0x0C,0x5F,0xBF,0x1E,0xFF,0x14,0x0C,0x3F,0xA7,0xC3,0xD3,0xF9,0xF0,0xEE,0xE8, +0x62,0x78,0xDC,0x79,0x7D,0xF4,0xD6,0xE9,0x8F,0x2E,0x9F,0xCC,0xDE,0xEE,0xCC,0x0F,0xB2,0xA3,0xE1,0xBB, +0x03,0x67,0xF6,0xAA,0x13,0xA3,0x8F,0xEC,0xF0,0xC9,0xEC,0xE5,0x0E,0x39,0xBB,0x44,0xC3,0x97,0x07,0xAF, +0x32,0x72,0x1E,0x1F,0x5F,0x38,0xC3,0xE1,0x9B,0x53,0xFC,0xD3,0xE1,0x13,0xF4,0x7A,0xCB,0xFF,0x00,0xFA, +0xBF,0xF8,0x19,0x7F,0xDF,0x19,0xCE,0x4F,0x9D,0xC8,0xFF,0x01,0x8F,0x8F,0x2F,0xC7,0xD2,0x3A,0x47,0xD1, +0x4F,0xE3,0x9B,0x51,0xFE,0x2E,0x3E,0x3C,0x34,0x35,0xCA,0xBA,0x29,0x4E,0x30,0xE2,0xCD,0x58,0x55,0x39, +0x07,0xDC,0xAD,0xFA,0x16,0x16,0x4E,0x2A,0x22,0x6B,0x37,0xC0,0x3E,0x4B,0x91,0xDC,0x03,0x08,0x38,0x15, +0x57,0x6C,0xF9,0xA3,0x0C,0xB5,0x9A,0x8A,0xB4,0x1A,0xA2,0x81,0x66,0x94,0x8E,0x10,0x13,0x0A,0x38,0xB7, +0xC4,0xC7,0xDD,0x84,0xDC,0xE1,0xA8,0x2B,0x91,0x5D,0xC7,0x5C,0x48,0x67,0x2B,0xB7,0x21,0x4A,0x62,0x45, +0xB5,0x5C,0x08,0x3E,0x21,0x5F,0xA4,0x34,0x70,0x99,0x18,0x3E,0x0B,0xDF,0x61,0x69,0x77,0x92,0xCF,0xA6, +0xE4,0x0E,0xBC,0x79,0x4A,0x28,0xE1,0x58,0xEB,0x67,0xCB,0x1F,0x4B,0x32,0x37,0xF8,0x7E,0x9A,0xA2,0x18, +0x67,0xDA,0xDF,0x24,0xB3,0x98,0xA6,0x2C,0x5E,0xD4,0x11,0x90,0xB3,0xC6,0x64,0xB9,0xFC,0x2A,0x4F,0x22, +0x86,0x40,0xCC,0x35,0x61,0x43,0x05,0xD3,0x54,0xB8,0x55,0x15,0x54,0x4B,0x37,0xDB,0x02,0xB7,0x6C,0xB9, +0xF5,0xD6,0x76,0xED,0xBA,0x5D,0xB9,0x57,0x04,0xFB,0xA6,0xEA,0x1B,0xF1,0xA0,0x11,0xEB,0xBE,0xE2,0xA0, +0xD2,0xF5,0x87,0xAB,0x43,0x54,0x64,0xA8,0x19,0x50,0x51,0xBA,0xBF,0xE3,0x34,0x42,0x05,0xEC,0x5B,0x7E, +0x85,0x65,0x9A,0xB7,0xBE,0x4A,0x52,0xB0,0x06,0x9E,0x7F,0x81,0x66,0x25,0x53,0x9B,0x36,0xD0,0xAC,0xD2, +0x9D,0x12,0xA1,0xCE,0x79,0x92,0xD7,0x8A,0xF4,0x43,0xA9,0x00,0x5C,0x71,0xF3,0x54,0x70,0xF3,0x45,0xAD, +0x3E,0xD9,0xF9,0xA6,0xE0,0x61,0xDB,0xF9,0x66,0x69,0xAB,0xBD,0x55,0x3E,0xEE,0x3B,0xF0,0x5F,0x99,0x76, +0x9F,0xD5,0x2C,0x4C,0x9E,0x8A,0x3F,0x25,0x83,0x40,0xA7,0x09,0x7C,0xB2,0xFD,0xC3,0xB3,0x60,0x52,0x02, +0x95,0x60,0x8F,0xC3,0x53,0x14,0x90,0x3C,0x73,0x9F,0x3A,0xDF,0x28,0x7D,0x82,0xF9,0x40,0xF6,0xD2,0xB8, +0x6A,0x52,0xDF,0xD8,0x2C,0x21,0x54,0xDB,0xCA,0x34,0x61,0x6F,0x94,0x56,0x17,0xB3,0x99,0xEA,0xC1,0x45, +0xEA,0xAB,0x29,0xF6,0x2F,0x9C,0x6F,0x16,0x3C,0x45,0x34,0x9B,0xB2,0x34,0x76,0x53,0xC6,0x11,0xC7,0x86, +0x63,0x2E,0xFB,0xCE,0x3A,0xC0,0x93,0x1D,0x27,0xC0,0x33,0x73,0xB9,0xDC,0xED,0xC9,0xA4,0x06,0x15,0x8F, +0x9F,0x92,0x84,0xEF,0x4D,0x73,0xEA,0x0B,0x1E,0xB4,0x19,0x36,0xB0,0xB9,0x48,0x31,0xCF,0x53,0xAA,0x05, +0xCC,0xCF,0xC5,0x65,0xB7,0x67,0x98,0x1F,0xA9,0x7B,0x7F,0x70,0xFF,0x32,0x80,0x1D,0xCB,0x0A,0xC1,0x5F, +0x8B,0x00,0x0E,0x0C,0xE7,0x15,0x38,0xAD,0xFD,0x90,0x60,0x80,0xC8,0x6B,0x7C,0x6F,0x60,0x8B,0x57,0x88, +0xD8,0x16,0xEB,0x86,0x51,0x6E,0x03,0x20,0x35,0x17,0xB7,0xA0,0x05,0xE4,0xE1,0x2B,0x7E,0x6D,0x11,0x8F, +0xC2,0xC7,0xA0,0xD8,0x4E,0xF6,0xD0,0x7E,0xB7,0xEF,0xA2,0x3D,0xB2,0xDF,0x07,0xFF,0x32,0x1B,0xF4,0xD5, +0xC9,0x3F,0x91,0x08,0x5F,0x14,0x2E,0x27,0x0E,0xAA,0xA9,0xF5,0x0C,0x72,0x16,0x82,0x22,0xCD,0xEF,0x8C, +0xD3,0x91,0x66,0x5C,0x7D,0xDF,0xFD,0xE1,0xFA,0x8F,0xFE,0x95,0xD3,0xED,0x5F,0x9B,0xBF,0x99,0x3D,0x62, +0x73,0x9C,0x71,0x83,0xA2,0x5B,0x32,0x43,0x9C,0xA5,0xB6,0xC8,0xB7,0xC3,0x19,0x48,0x61,0x0E,0xAA,0x33, +0x88,0x62,0x6F,0xCB,0x71,0x36,0x3C,0xBC,0x8F,0x22,0x0C,0xAC,0xEB,0x47,0xE7,0xE7,0xA7,0xE7,0x57,0x7A, +0x07,0x77,0xF4,0x6B,0x57,0xD3,0x3B,0xD4,0x74,0xB9,0x0D,0x45,0x67,0x8A,0xB3,0xF0,0x0C,0xF1,0xD0,0x08, +0xEC,0x5B,0x14,0xE5,0xA0,0x0B,0xC1,0x08,0xF3,0x40,0x71,0xFA,0x24,0xE7,0x9C,0x51,0xDD,0x1C,0x30,0x9B, +0x50,0x8A,0xD3,0xE3,0xF1,0xDB,0x37,0x9E,0x7E,0xAE,0x90,0xB4,0x37,0x24,0xE3,0xBA,0x25,0x2D,0x62,0xA3, +0x24,0xC1,0x34,0x38,0x0C,0x49,0x14,0x18,0xCC,0x1C,0x08,0x12,0xBE,0x24,0x21,0x8B,0x11,0xA0,0xE0,0xDB, +0xAA,0x6C,0x9D,0x82,0xE4,0xBA,0xE5,0xDB,0x71,0x1E,0x71,0x92,0x44,0xD8,0xDB,0xE8,0xC3,0x8C,0xA2,0x18, +0x60,0x22,0x15,0x0B,0x18,0x09,0x3C,0x5D,0x05,0x24,0x15,0xC6,0xD6,0x9E,0xE2,0xAB,0x53,0x82,0xD6,0x29, +0x41,0x13,0x37,0x01,0xA9,0x74,0x2B,0xB0,0xEB,0x7A,0x19,0x66,0xC5,0x51,0x25,0x2C,0xC0,0x53,0x04,0x9C, +0xBC,0x17,0x92,0x43,0xF9,0xBD,0xEE,0xA0,0x40,0x1D,0x94,0xB5,0x35,0x92,0x35,0x35,0xA2,0x4C,0xB9,0x0E, +0x39,0x53,0xC8,0x69,0x1B,0x39,0x6D,0x22,0x1F,0xCA,0x1B,0xB1,0x0E,0x39,0x55,0xC8,0x51,0x4B,0xC4,0x48, +0x8A,0xA8,0xA2,0x5C,0x57,0x68,0x13,0x04,0x02,0xEC,0xA8,0x29,0x26,0xCC,0xC0,0x29,0xD1,0x24,0xC2,0x81, +0xB7,0xE1,0xC0,0x4C,0x14,0xD6,0xDE,0x96,0xB3,0xE6,0x8C,0x48,0x9D,0x91,0xB7,0xCE,0xC8,0xE5,0x19,0x24, +0x01,0x25,0x42,0xEE,0xD0,0xAD,0x5C,0x6A,0xAD,0xBD,0xA2,0x8E,0xF3,0x43,0xEC,0xDF,0x4C,0x98,0x5C,0x91, +0x63,0x71,0xE2,0x06,0x92,0x34,0x13,0x49,0x53,0xB6,0x23,0x40,0x33,0xB1,0xC1,0xD3,0x3D,0x41,0xD9,0x4A, +0x9A,0xE2,0x6B,0xC3,0x88,0xDB,0xBA,0x44,0x88,0xDB,0x5A,0x8A,0x5B,0xDB,0x46,0xE8,0x16,0x6B,0xEB,0xB4, +0x14,0x9B,0x6B,0x16,0x93,0x75,0x8B,0xB9,0x69,0xA5,0x36,0xA3,0x7E,0x44,0xFC,0x1B,0xAF,0x76,0x65,0x73, +0x61,0x34,0x27,0x82,0x13,0xEE,0x51,0x3C,0xD7,0x7E,0x82,0xD0,0xF4,0x1C,0x71,0x34,0xE0,0x05,0x19,0xA3, +0xB8,0x37,0x18,0x08,0x41,0x47,0x0A,0x9E,0x98,0xD9,0x28,0x80,0xE5,0xB3,0x8B,0xB1,0x6E,0xE9,0x3D,0x61, +0x15,0x1D,0xBC,0x99,0x98,0x4B,0xB3,0xF2,0x27,0x8B,0xCA,0xC8,0x7E,0x91,0x46,0xF5,0x12,0x0C,0xCA,0x1B, +0xB7,0xB4,0xE2,0xB5,0x3C,0x91,0xA9,0x51,0xA9,0xB4,0x64,0x4A,0x74,0x87,0xE2,0x0C,0xA3,0xB0,0xBF,0x6E, +0x42,0xE8,0x53,0x97,0xD7,0x30,0x2D,0xD4,0x66,0x1A,0x55,0x4C,0xA7,0x68,0x5E,0x5E,0x12,0x75,0xFE,0x40, +0xB9,0xB8,0x03,0x19,0x98,0x66,0x5C,0xC3,0xDE,0xB6,0xF3,0xC3,0xCE,0x00,0xEC,0x63,0x28,0xC7,0x05,0xC0, +0x2E,0xB7,0x23,0x4C,0x67,0x3C,0x1C,0xF8,0x1D,0xAF,0xD0,0x4A,0xE0,0x71,0x3B,0xCB,0x27,0x19,0x4F,0x21, +0xBF,0x19,0xBE,0xE5,0x77,0xB0,0xD9,0x3E,0x46,0xEF,0x30,0x2B,0x30,0x2D,0xD6,0xE9,0x2C,0x57,0x14,0x74, +0x3A,0x6A,0x68,0x08,0x09,0x0D,0xE1,0x28,0xC3,0x1A,0xB5,0xF1,0x1D,0xF6,0x0F,0x59,0x1C,0x23,0x41,0x22, +0x03,0x23,0x17,0x13,0xDD,0x5C,0x5A,0x6C,0xAD,0x66,0x1E,0x09,0x5B,0x56,0xF6,0x98,0x1E,0x21,0x0C,0x7A, +0xBE,0x2D,0x7C,0x25,0x2B,0x84,0xFA,0xB2,0x95,0xCB,0x40,0xA4,0x50,0xAE,0x9C,0x6B,0xAB,0x32,0xDC,0x5A, +0xA9,0x6A,0xBB,0xCB,0x5B,0xD7,0x8A,0x3F,0x66,0x6D,0x69,0x01,0x6B,0xC7,0xB5,0x1A,0xAA,0x2F,0x97,0x96, +0x2F,0xF8,0x0F,0x11,0x9D,0xE1,0xBF,0x2F,0x40,0xCD,0xA3,0x74,0x51,0x8B,0x42,0x02,0xD9,0x77,0x7F,0xB1, +0x8D,0xAB,0x5F,0xED,0xEB,0x8E,0x69,0xEE,0x7F,0xDD,0x93,0x1A,0x36,0xB8,0x79,0xD5,0xBF,0xB6,0x10,0x80, +0xED,0xEF,0xCC,0x5F,0x6C,0x09,0x6E,0xC1,0x06,0xB7,0x8C,0x04,0x9A,0x38,0x49,0x78,0x36,0x9B,0x6A,0x68, +0x73,0xD3,0xE0,0x1E,0x6A,0x5D,0xD6,0x0E,0xEF,0xE8,0x36,0xE4,0x8E,0xE5,0x72,0x35,0xA3,0x8D,0x53,0x8C, +0x55,0xCA,0xAC,0x00,0x92,0x7B,0x90,0x79,0x35,0x58,0x55,0x52,0x63,0xAB,0x86,0xC2,0xA2,0x4C,0xF9,0x76, +0x51,0x4D,0x78,0xBA,0x28,0x27,0x20,0xAC,0xAC,0x2E,0xCB,0x36,0x0F,0xD6,0x1B,0xC1,0xE1,0xDB,0x5D,0x12, +0xCF,0xB4,0x2C,0xF5,0x3D,0x65,0x8A,0x7D,0xF1,0x8F,0xF7,0xAD,0x48,0x75,0x9B,0xBF,0xF9,0x13,0x4F,0xEF, +0x80,0x7D,0xB1,0x4D,0xD9,0xDC,0x30,0x3B,0xDF,0xEA,0x9A,0xA4,0xE8,0xE9,0x31,0xBA,0x2B,0x9A,0x7D,0x51, +0x8D,0x0C,0x34,0x98,0x57,0xDD,0xA9,0x5A,0x50,0x6D,0x36,0xCA,0x39,0x1B,0x68,0x65,0x95,0xA3,0xDA,0x4C, +0x5D,0xEB,0xED,0x7D,0x5B,0xEB,0x00,0x81,0xE8,0x48,0xD9,0x84,0xC8,0x20,0x96,0x8B,0x90,0x87,0x5B,0xD1, +0x87,0x14,0x6E,0xA7,0xA2,0x22,0x01,0x38,0x59,0x49,0x9B,0x56,0x60,0x20,0x73,0xDF,0x68,0x25,0xDB,0x5D, +0xD1,0x98,0xEC,0x9D,0xA9,0x8A,0x73,0xB7,0x27,0x67,0xFA,0x3A,0xC7,0x00,0xCD,0x53,0x40,0xB7,0xAA,0x1A, +0x67,0xC2,0x82,0xFB,0x46,0x65,0x94,0x1D,0xDC,0x1F,0x46,0x28,0xCB,0x4E,0x50,0x0C,0xE7,0xFB,0xB1,0x6E, +0x16,0x57,0x69,0xCF,0xD9,0xDC,0x6C,0x23,0xA5,0x38,0x86,0x46,0x48,0x71,0x85,0x21,0x94,0xB9,0x3E,0x10, +0xDE,0xDC,0x5C,0xC7,0x98,0x78,0x54,0xFB,0x12,0x57,0x14,0xDC,0xB5,0x0C,0x7F,0xFF,0x13,0x77,0x2A,0xC1, +0x3E,0xA6,0xD5,0x14,0x7C,0xF6,0x21,0xDB,0xCF,0xD9,0x9C,0x0A,0xAE,0x2A,0xD6,0xD3,0x35,0x0A,0xAD,0xF3, +0x42,0x75,0x93,0x83,0x02,0xAF,0x3B,0x4D,0xD5,0x45,0x6E,0x5C,0xBA,0x12,0x06,0xD7,0x0D,0x2F,0xCD,0xFF, +0x47,0x58,0x55,0x0F,0x3C,0x26,0x6B,0x64,0x5A,0xD1,0x1A,0x59,0x71,0x84,0x39,0xAE,0x24,0x8D,0xD6,0x4A, +0x9A,0xFD,0x3F,0xFC,0xD6,0x1E,0x42,0x54,0x99,0xDB,0xF4,0x91,0x80,0xDC,0xEA,0x90,0x2B,0xBC,0x36,0x05, +0xA8,0xF8,0x59,0x14,0x8D,0x59,0xB2,0xFF,0xC8,0xBA,0x5B,0xAD,0x17,0x83,0x92,0xCD,0x7A,0x8B,0xE5,0xAF, +0x25,0xFA,0x06,0x4F,0xF9,0xFE,0x63,0x80,0xC7,0xC9,0xD6,0x7B,0xAC,0xC0,0xC3,0x36,0x28,0x0F,0x56,0x7F, +0xEE,0xF8,0x56,0x56,0xCD,0x2E,0x3B,0x0C,0x6C,0xE1,0x97,0x4A,0xF2,0x84,0x92,0x2C,0xB2,0x36,0x74,0xD5, +0xEB,0xA2,0xB7,0xF4,0x82,0x8E,0x9E,0xDC,0xD5,0x6B,0x9C,0x25,0x5E,0xA6,0x96,0x90,0x41,0x2C,0xBE,0x62, +0x94,0x75,0x01,0x25,0xF5,0x88,0xCD,0xA6,0xD3,0x0C,0xF3,0x0F,0x22,0x98,0x59,0x51,0x35,0x3F,0x96,0xC1, +0x6C,0x00,0x53,0x1A,0xB3,0x3C,0xC3,0x2C,0xE7,0xED,0xB2,0xA7,0x12,0x66,0x37,0xF8,0xE3,0x8F,0x6A,0xB2, +0x17,0x74,0xD2,0x7A,0x7A,0xB9,0x9B,0x35,0x26,0x7B,0x59,0x27,0x82,0x50,0xF0,0x1F,0xDF,0x14,0xD2,0xBC, +0x29,0x4C,0xC4,0x52,0x8B,0xA9,0x9B,0x92,0xD5,0x77,0x3D,0x13,0x45,0x29,0x6A,0x78,0xBB,0xB8,0xD0,0xBA, +0x59,0xF6,0x5C,0x4D,0x2F,0x47,0x56,0xB6,0x1A,0x04,0xD6,0x17,0x07,0xBE,0x21,0xA8,0x82,0xD6,0xDF,0xB0, +0x39,0x4E,0x0F,0x51,0x86,0x0D,0xC8,0x99,0x55,0xC4,0x92,0x50,0xD3,0x0D,0xD6,0xEC,0x02,0x25,0x50,0x05, +0x2E,0x0A,0x0F,0x46,0x45,0xE9,0x0D,0xF2,0xE5,0xAD,0x13,0xB0,0x2D,0x5E,0x0B,0x40,0xEA,0xE7,0xAA,0xD3, +0x80,0x3A,0x0D,0x83,0xAD,0x59,0x72,0x96,0xB2,0x04,0xCD,0x64,0x67,0x0D,0x6B,0xC2,0x3D,0x4A,0x6A,0x8D, +0xD4,0x5A,0xD5,0xA3,0x32,0xAD,0x3F,0xCC,0xEA,0x58,0x66,0x6E,0xA8,0x10,0x56,0x93,0x37,0x37,0xB3,0x39, +0xE1,0x7E,0x28,0x7C,0xDB,0x07,0x86,0x75,0x0E,0x6D,0x81,0x2B,0x47,0x21,0x8F,0xEB,0x51,0x54,0x0C,0x3F, +0x65,0xC5,0xC0,0xCF,0xCA,0xD1,0x5D,0x03,0xC8,0x68,0x09,0x66,0x74,0x5A,0x0C,0x09,0x25,0x25,0x9D,0x12, +0x58,0x7E,0x26,0x49,0x31,0x4A,0xC2,0x72,0x14,0xE2,0xBB,0x0A,0x8F,0x95,0xD0,0x00,0xEB,0xAE,0x32,0xDF, +0x86,0xB3,0x2C,0x06,0xFD,0x5A,0xFC,0xE0,0xBF,0x13,0x3F,0xA1,0xB3,0x52,0x98,0xA4,0x1C,0xCD,0x48,0x29, +0xCA,0x24,0x4E,0xBE,0xC8,0x48,0xF6,0x6F,0xFB,0x82,0xE7,0x47,0x6F,0x8E,0xC6,0x47,0xCD,0x12,0xB1,0xF9, +0x84,0xC0,0xFF,0xAA,0x47,0xE7,0xA6,0x6B,0x24,0x4D,0x4F,0x81,0x99,0x2F,0x3E,0x4F,0x58,0x20,0x8B,0x3E, +0x08,0xF8,0x46,0x02,0xD4,0x75,0xD3,0x6C,0xBD,0x32,0xA4,0xAD,0xD7,0x8B,0x3A,0xD0,0x17,0xCF,0x02,0xA0, +0xA7,0xCD,0xCD,0x06,0x23,0x72,0xBD,0x7E,0xF9,0xA0,0x96,0xAE,0xEA,0x34,0xE9,0x6C,0xE8,0xB1,0x82,0x06, +0x99,0x55,0xCB,0x40,0x3C,0x5A,0x38,0xBA,0x25,0xBA,0x07,0xB2,0xE7,0x43,0xDB,0xD0,0x31,0x55,0xB7,0xEF, +0x79,0x1E,0xBD,0xF2,0xAF,0x65,0xC7,0xB8,0xB9,0x89,0xDA,0x45,0x8F,0xE1,0x58,0x12,0x28,0x0E,0x94,0x23, +0xD9,0xAB,0x82,0x2C,0xC0,0x96,0x63,0xBD,0x1A,0x9D,0x9E,0xD8,0x09,0x4A,0xC1,0xE3,0xA8,0xD9,0x0C,0x12, +0x91,0x12,0xB0,0xAD,0xED,0x17,0x47,0x8D,0x6A,0x5C,0x7E,0x29,0xE4,0xF2,0xA5,0x95,0x1A,0x82,0x9C,0x6A, +0x72,0x45,0x0E,0x2F,0x5E,0xEF,0x20,0xF5,0x24,0x65,0x1A,0xAA,0xA3,0x48,0xD2,0x0C,0xE2,0xFC,0x36,0xD7, +0xD7,0xF7,0x96,0x3C,0x24,0x59,0xB3,0x0B,0x69,0xB9,0xFC,0xDF,0xB4,0xD8,0xB2,0x1C,0x29,0x72,0xAB,0x05, +0xB5,0xFA,0xBA,0x52,0x19,0x47,0x36,0x4C,0x75,0x61,0xCD,0xEA,0xEB,0xA8,0x43,0x66,0x21,0x54,0xB7,0xE8, +0x3F,0xF5,0x10,0x5A,0x7A,0x08,0x7D,0x18,0x20,0xF0,0x5D,0xCB,0xDB,0xAB,0x53,0x06,0x13,0xE0,0xEC,0x66, +0x50,0x45,0x11,0x80,0xC8,0x18,0xD2,0x02,0x7C,0xCA,0xE4,0xFA,0x27,0x74,0x8B,0xD4,0xE3,0x5D,0x0D,0x5D, +0x1F,0x2A,0xE4,0x76,0xFF,0x37,0x18,0x55,0x3B,0xDB,0x81,0x28,0x83,0xE1,0xC3,0x78,0xC2,0x5B,0xE1,0xA9, +0x8E,0x59,0xCD,0xE8,0x04,0xEE,0xBA,0x2C,0x0C,0xCB,0x1B,0xFA,0x6D,0xBA,0xDE,0xE6,0xE6,0xA3,0xBE,0xD7, +0x08,0x44,0x0A,0xA3,0x79,0x7B,0xD6,0xB7,0x2B,0xED,0x86,0x66,0x7D,0xFA,0x97,0xFE,0x87,0xF7,0x33,0x3B, +0x2B,0x5B,0x77,0x70,0xF3,0xC6,0x4C,0xD7,0x45,0xB6,0xF2,0x23,0x8C,0xD2,0x91,0xE8,0x12,0x55,0x86,0x58, +0x2A,0x03,0x7A,0xD2,0x75,0x0D,0xD0,0x58,0x4F,0xBE,0x12,0xDB,0x42,0x0F,0x80,0x50,0x41,0x29,0x40,0xA9, +0xC7,0x80,0x66,0x63,0x11,0xC1,0x22,0x82,0x86,0x87,0x51,0x76,0x83,0x48,0x73,0x3B,0x01,0x08,0x29,0xBE, +0x4C,0x86,0xBE,0xCE,0x2A,0x0C,0x21,0x09,0xD5,0x10,0x65,0x7E,0xB3,0x78,0x08,0xAB,0x9F,0x21,0x70,0xE9, +0x37,0xC5,0x05,0xD9,0x90,0x68,0x99,0x28,0x08,0x46,0x38,0xCB,0x24,0xE3,0x42,0xB0,0xB7,0x2C,0x00,0xB9, +0x00,0xAD,0x17,0xC3,0x48,0x1C,0x04,0x22,0x0A,0xC0,0x38,0xC4,0x71,0x01,0xE1,0x30,0x14,0x20,0x24,0x40, +0x5F,0x4B,0x5D,0x8D,0x64,0xE1,0x45,0xE8,0xCC,0xEB,0xF7,0x1C,0xEB,0x21,0xD9,0x8B,0x0C,0x8F,0xD8,0x94, +0x8F,0xD1,0x24,0x33,0x36,0x1C,0x73,0xCD,0x0E,0x00,0x8D,0x20,0x9C,0x18,0x5B,0xE6,0x7A,0xF4,0x0F,0x2C, +0xBD,0xC1,0xA9,0xB1,0xD1,0x2F,0xF8,0x39,0x86,0x82,0x29,0x82,0xBF,0x7C,0x08,0x6A,0xBF,0xC5,0x6F,0x08, +0xC5,0x05,0xE5,0x0C,0x90,0x43,0x36,0x3F,0x4B,0x09,0xE5,0x6F,0x65,0x5F,0x58,0x60,0xF9,0xEA,0xB9,0x42, +0x86,0xA0,0xF2,0x1D,0x63,0x21,0xA2,0x99,0xDB,0x7A,0xCD,0xB0,0x26,0x60,0x2F,0x08,0xAE,0xEE,0x62,0x4E, +0xA8,0xAB,0x1F,0xF2,0x34,0xEA,0x8E,0x74,0x2B,0x46,0x3E,0x4C,0xD4,0x1E,0x98,0x2F,0x2D,0xE1,0xB5,0x6E, +0x33,0x9A,0x6C,0xD4,0x93,0xBA,0x80,0x5E,0xFB,0xD4,0x53,0xBF,0x5C,0x08,0xE0,0x41,0xC4,0x26,0x86,0x78, +0x9A,0x5E,0x08,0x8F,0x77,0xE9,0xD2,0x14,0xE9,0xE9,0xCB,0xAF,0x32,0x3E,0x84,0x5D,0x6E,0xE1,0xC6,0xA3, +0x52,0x47,0xD7,0xC5,0x5B,0x0D,0xE0,0xA1,0xE0,0x94,0x46,0xF7,0x2E,0xA4,0xC5,0xBF,0x90,0x3A,0xA7,0x01, +0xFB,0x92,0xD4,0x1F,0x57,0xA4,0xFE,0xB8,0x4E,0x6A,0xDC,0xB6,0x16,0x4C,0x2E,0x80,0xEC,0x5B,0x44,0xD1, +0x0C,0xA7,0xB0,0x20,0x0E,0x01,0x03,0xFC,0x33,0xCE,0x52,0xFC,0x65,0xCE,0x46,0x21,0x99,0xF2,0x55,0xFE, +0xD4,0xEA,0xBF,0xE3,0x32,0xC5,0x8F,0x70,0x59,0x16,0x98,0x55,0xDE,0xF8,0xEB,0xA7,0x12,0xE9,0xD4,0x1E, +0x98,0xB0,0xE9,0xAE,0xFF,0xC2,0xEF,0xEA,0x13,0xBF,0x9C,0x3E,0xC5,0x87,0x8B,0x97,0x56,0x20,0xEE,0x44, +0xBB,0x2C,0x65,0xF4,0x00,0x2A,0xF8,0x37,0x20,0x82,0xA1,0xAE,0x23,0xF6,0x16,0x4B,0x8B,0x7B,0x06,0xA8, +0x12,0xBA,0x60,0x10,0xCE,0x97,0x75,0xAD,0x1D,0x42,0x8A,0x04,0x25,0x00,0x93,0x90,0x68,0x7B,0x57,0xFB, +0x9B,0xD7,0x1D,0xC8,0x50,0x1E,0x7C,0x98,0x1E,0x0C,0x36,0xAF,0xBF,0x33,0x7B,0x33,0xD2,0xA8,0x89,0x64, +0xAE,0x03,0xBD,0x5E,0xD1,0x6B,0x0F,0x2D,0x21,0x84,0x35,0x73,0x61,0x15,0x59,0x2D,0x2C,0x5F,0xBD,0xE0, +0x23,0x42,0x74,0x06,0x1F,0x32,0x76,0x40,0x78,0x5A,0xF3,0xE5,0x8A,0x9E,0xAB,0x11,0x60,0x35,0x1E,0xAA, +0x74,0x0E,0xFF,0xEA,0xA2,0xBD,0xE2,0x8D,0x60,0xA8,0xC8,0x42,0xDC,0x53,0x83,0x66,0x8C,0x15,0x49,0xBA, +0x34,0x5A,0x01,0x36,0x97,0x7A,0x0E,0xE0,0x29,0xA1,0x38,0xD0,0xAB,0xBC,0xFA,0xF3,0xDB,0x37,0xC7,0x9C, +0x27,0xE7,0x4A,0xB3,0x40,0xAB,0xBD,0x50,0x1B,0xDC,0x5C,0xF0,0xF4,0xBE,0xAC,0xD0,0x84,0xC3,0xAA,0x90, +0xF3,0xF3,0xE9,0xE4,0x13,0xF6,0x21,0x1F,0xBD,0xCD,0x20,0x99,0x6D,0xD9,0x02,0x7D,0x3C,0x3E,0xB3,0x77, +0x6C,0x07,0x4A,0x06,0xD0,0xAB,0x1F,0x0A,0xCB,0x2D,0xFF,0x11,0xF2,0x93,0x7F,0x86,0x4C,0x20,0xEE,0x66, +0x10,0x58,0x4B,0xFC,0x36,0x6E,0x98,0xB2,0xB9,0x44,0x3B,0x4A,0x53,0x61,0x94,0x71,0x48,0x32,0x6D,0x02, +0x8B,0x19,0x4E,0xB5,0x80,0xE1,0x4C,0xA3,0x8C,0x6B,0x59,0x9E,0x24,0x2C,0xE5,0x2B,0xFA,0xB0,0xF5,0xF2, +0xC1,0xE6,0x5D,0x8E,0x73,0x1C,0x14,0xCB,0x38,0x6D,0xEA,0x45,0x16,0x57,0xBF,0x0B,0xB8,0x77,0x75,0x5D, +0x94,0x5A,0x39,0xA5,0x22,0x0F,0x6C,0xF4,0xD5,0x1C,0xA4,0x0B,0x81,0xAA,0x47,0xF3,0x28,0x5A,0x0E,0x56, +0x68,0x41,0xC7,0xC5,0x38,0x13,0xF6,0xF0,0x16,0xBF,0x15,0x57,0xDC,0x5D,0x79,0x51,0x6D,0x53,0x75,0xAC, +0x0D,0x63,0x03,0x6B,0x84,0x66,0x1C,0x51,0x5F,0x98,0x51,0xE9,0xC2,0x2C,0xCB,0x2C,0xB1,0x7D,0x20,0xFC, +0x53,0xDE,0xA5,0x47,0x73,0xBB,0x94,0x8C,0x7A,0xBA,0x2E,0x2A,0x2E,0x2C,0x0A,0x57,0x14,0x67,0x0D,0xB2, +0x55,0xC4,0x36,0xA9,0x57,0x82,0x07,0xF2,0x1D,0xBC,0xBD,0x7F,0x95,0x8D,0xB2,0xCC,0x46,0x00,0xD3,0xCA, +0x7D,0x26,0xED,0x78,0xBA,0xCC,0xD4,0xFB,0xD2,0x75,0xE5,0x05,0x8E,0x31,0x0F,0x59,0xB0,0xAF,0xEF,0xEB, +0xAE,0x0E,0xFF,0x6F,0xEA,0x16,0xEC,0xC2,0xD4,0x07,0xF7,0xBF,0x38,0x7F,0x09,0x21,0x2D,0x61,0x14,0x53, +0x6E,0x20,0x88,0xEC,0x9E,0xDE,0x59,0x03,0x29,0xC9,0x5F,0xA1,0x6B,0x73,0xD0,0x56,0x36,0x9E,0xAF,0x98, +0xB3,0x65,0x0C,0x9B,0x51,0x11,0xE5,0xEE,0x81,0x79,0x8E,0x1F,0xBC,0x63,0x5B,0xF4,0x61,0x3B,0x62,0x2E, +0xB6,0x05,0xCF,0x12,0x6B,0x04,0x58,0xC2,0xF5,0x6A,0x25,0x3F,0x56,0x62,0x51,0xDB,0x47,0x51,0x24,0xBE, +0x7B,0x07,0x5E,0xC5,0x61,0x79,0x66,0x09,0x22,0x19,0x08,0x90,0xE1,0x31,0xBE,0x03,0x97,0x96,0x75,0x92, +0xBA,0x43,0x45,0x5F,0x02,0xA4,0x79,0xE3,0x1A,0x99,0x56,0x35,0xDB,0xDC,0xE4,0x76,0x79,0x4D,0x8C,0x12, +0x29,0x13,0x41,0xDF,0x30,0x45,0xCF,0x61,0x34,0x85,0x14,0x39,0xF4,0x81,0xB6,0x8D,0xB6,0x1A,0x12,0x4C, +0x8D,0x12,0x06,0x9C,0xE5,0x69,0x04,0x91,0x5A,0x54,0x11,0xAD,0x6D,0x19,0xA6,0x01,0x1C,0xE0,0xFE,0x25, +0xB2,0x44,0xA5,0xCD,0x5B,0x31,0xE2,0xA9,0xE2,0xBB,0x4D,0x8F,0x17,0x56,0x39,0xC6,0x32,0xF2,0xB5,0x7F, +0x2C,0x69,0xC9,0x9F,0x39,0x12,0x15,0x98,0x7B,0xF0,0xF0,0x3D,0x9F,0x77,0xC5,0x57,0xEF,0x5D,0x38,0x41, +0xDD,0x82,0x40,0x5F,0xC3,0xA1,0x6A,0xBB,0x2C,0xF1,0x60,0xE1,0xAE,0xB8,0x68,0xAD,0x3F,0x63,0xC5,0x47, +0xDB,0x74,0xDA,0x7C,0x36,0xAC,0xBD,0xBB,0xBD,0x02,0x42,0x13,0x96,0x72,0x03,0x72,0x0D,0xA4,0xA3,0xEA, +0xB4,0xB2,0x03,0x6A,0xC6,0x05,0x3B,0xC9,0xB3,0xD0,0x58,0x00,0xEB,0x2E,0xB7,0x94,0xAE,0x5C,0x6C,0xA9, +0x7B,0xEB,0x52,0xAB,0xBC,0x1F,0x2E,0xA4,0x90,0x56,0xFC,0xF8,0xE3,0x0F,0x39,0xAB,0xAD,0x0D,0xB3,0x15, +0x83,0x2F,0xD5,0x1B,0x6B,0x99,0x19,0xC5,0xA5,0x5F,0x8D,0x55,0xBB,0x3D,0xD5,0xD8,0x94,0xBF,0x4E,0xD0, +0x48,0xE0,0x89,0x24,0xAB,0x17,0x5F,0x41,0xC0,0x70,0x0A,0x71,0xC9,0x86,0x4E,0xA8,0xFA,0x39,0xAA,0x5E, +0xFC,0x1E,0x75,0x15,0x77,0xAF,0x6A,0xCD,0x3C,0xAF,0xAA,0xAB,0x55,0xD4,0x51,0x1B,0xBC,0x47,0x7E,0xB3, +0xA0,0x2B,0x30,0x74,0xAE,0x6A,0x60,0x57,0x67,0x8B,0x73,0xAD,0x62,0x11,0x65,0xF7,0xD4,0x17,0x51,0xB3, +0xA2,0x12,0x82,0xFA,0x5B,0xDD,0xAC,0xDA,0x69,0x2E,0x6B,0xCE,0xC4,0xF3,0x9C,0xC6,0x8A,0xB7,0xEC,0x66, +0xAE,0x07,0xF6,0xA1,0x59,0x16,0xE2,0x96,0x2E,0xAA,0xC9,0x6E,0xB9,0x9A,0x82,0x78,0xB0,0xA1,0xDE,0x95, +0x27,0xEB,0x01,0x2A,0xFD,0xAE,0x2E,0xAA,0xEC,0xBE,0xBA,0x5C,0x76,0x5C,0xD5,0xD7,0x36,0x8D,0x9F,0x9B, +0xD4,0x34,0x88,0x7C,0x90,0x97,0xFB,0xDB,0x6F,0xF4,0x8F,0xA2,0x29,0x8C,0xBD,0x3F,0x01,0x2C,0xED,0xAE, +0xEF,0x83,0x2C,0x00,0x00 }; From 7dbe1150dc2895eb48a634e1422d4c1c59579016 Mon Sep 17 00:00:00 2001 From: lorol Date: Mon, 4 May 2020 13:04:18 -0400 Subject: [PATCH 20/47] Added ext-searchbox (Ctrl+F) search/replace functionality and -workers (live syntax checkers) to the ace editor - a standalone hack. if you don't need worker(s), modify line #446 of edit.htm .setUseWorker(!0) to (!1) (true to false) repack by do.bat and modify update_ace.bat Changes of src/WebAuthentication.cpp and minor updates of my SmartSwitch example --- examples/SmartSwitch/SmartSwitch.ino | 1057 ++++++++--------- examples/SmartSwitch/data/acefull.js.gz | Bin 116948 -> 119986 bytes examples/SmartSwitch/data/worker-css.js.gz | Bin 0 -> 35483 bytes examples/SmartSwitch/data/worker-html.js.gz | Bin 0 -> 47406 bytes .../SmartSwitch/data/worker-javascript.js.gz | Bin 0 -> 47729 bytes extras/update_ace.bat | 19 +- src/WebAuthentication.cpp | 6 + src/edit.htm | 10 +- src/edit.htm.gz.h | 442 +++---- 9 files changed, 781 insertions(+), 753 deletions(-) create mode 100644 examples/SmartSwitch/data/worker-css.js.gz create mode 100644 examples/SmartSwitch/data/worker-html.js.gz create mode 100644 examples/SmartSwitch/data/worker-javascript.js.gz diff --git a/examples/SmartSwitch/SmartSwitch.ino b/examples/SmartSwitch/SmartSwitch.ino index 3dbc61b..0307cd2 100644 --- a/examples/SmartSwitch/SmartSwitch.ino +++ b/examples/SmartSwitch/SmartSwitch.ino @@ -1,529 +1,528 @@ -/* -SmartSwitch application -Based on ESP_AsyncFSBrowser -Temperature Control for heater with schedule -Main purpose - for winter outside car block heater or battery charger -Wide browser compatibility, no other server-side needed. -HTTP server and WebSocket, single port -Standalone, no JS dependencies for the browser from Internet (I hope) -Based on ESP_AsyncFSBrowser -Real Time (NTP) w/ Time Zones -Memorized settings to EEPROM -Multiple clients can be connected at same time, they see each other requests -Use latest ESP core lib (from Github) -*/ - -#define USE_WFM // to use ESPAsyncWiFiManager -//#define DEL_WFM // delete Wifi credentials stored - //(use once then comment and flash again), also HTTP /erase-wifi can do the same live - -#define USE_AUTH // .setAuthentication for all static - -#include -#ifdef ESP32 - #include - #include - #include - #include - #include -#elif defined(ESP8266) - #include - #include - #include -#endif -#include -#ifdef USE_WFM - #include "ESPAsyncWiFiManager.h" -#endif -#include -#include -#include -#include - -#define RTC_UTC_TEST 1577836800 // Some Date -#ifdef ESP32 - #define MYTZ -5*3600,3600 -#elif defined(ESP8266) - #include - #define MYTZ TZ_America_Toronto -#endif - -#define EESC 100 // fixed eeprom address for sched choice -#define EECH 104 // fixed eeprom address to keep selected active channel, only for reference here -#define EEBEGIN EECH + 1 -#define EEMARK 0x5A -#define MEMMAX 2 // 0,1,2... last max index (only 3 channels) -#define EEALL 512 - -#define HYST 0.5 // C +/- hysteresis - -// DHT -#define DHTTYPE DHT22 // DHT 11 // DHT 22, AM2302, AM2321 // DHT 21, AM2301 -#define DHTPIN 4 //D2 - -DHT dht(DHTPIN, DHTTYPE); - -// SKETCH BEGIN MAIN DECLARATIONS -Ticker tim; -AsyncWebServer server(80); //single port - easy for forwarding -AsyncWebSocket ws("/ws"); - -#ifdef USE_WFM - #ifdef USE_EADNS - AsyncDNSServer dns; - #else - DNSServer dns; - #endif - -//Fallback timeout in seconds allowed to config or it creates an own AP, then serves 192.168.4.1 - #define FBTO 120 - const char* fbssid = "FBSSW"; - const char* fbpassword = "FBpassword4"; - -#else - const char* ssid = "MYROUTERSSD"; - const char* password = "MYROUTERPASSWD"; -#endif -const char* hostName = "smartsw"; -const char* http_username = "smart"; // for SPIFFSEditor (and static html) -const char* http_password = "switch"; - -// RTC -static timeval tv; -static time_t now; - -// HW I/O -const int btnPin = 0; //D3 -const int ledPin = 2; //D4 -int btnState = HIGH; - -// Globals -uint8_t count = 0; -uint8_t sched = 0; // automatic schedule -byte memch = 0; // select memory "channel" to work with -float t = 0; -float h = 0; -bool udht = false; -bool heat_enabled_prev = false; -int ledState; - -struct EE_bl { - byte memid; //here goes the EEMARK stamp - uint8_t hstart; - uint8_t mstart; - uint8_t hstop; - uint8_t mstop; - float tempe; -}; - -EE_bl ee = {0,0,0,0,0,0.1}; //populate as initial - -// SUBS -void writeEE() { - ee.memid = EEMARK; - //EEPROM.put(EESC, sched); // only separately when needed with commit() - //EEPROM.put(EECH, memch); // not need to store and retrieve memch - EEPROM.put(EEBEGIN + memch*sizeof(ee), ee); - EEPROM.commit(); //needed for ESP8266? -} - -void readEE() { - byte ChkEE; - if (memch > MEMMAX) memch = 0; - EEPROM.get(EEBEGIN + memch*sizeof(ee), ChkEE); - if (ChkEE == EEMARK){ //otherwise stays with defaults - EEPROM.get(EEBEGIN + memch*sizeof(ee), ee); - EEPROM.get(EESC, sched); - if (sched > MEMMAX + 1) sched = 0; - } -} - -void showTime() -{ - byte tmpch = 0; - bool heat_enabled = false; - - gettimeofday(&tv, nullptr); - now = time(nullptr); - const tm* tm = localtime(&now); - ws.printfAll("Now,Clock,%02d:%02d,%d", tm->tm_hour, tm->tm_min, tm->tm_wday); - if ((2==tm->tm_hour )&&(2==tm->tm_min)) { - configTime(MYTZ, "pool.ntp.org"); - Serial.print(F("Sync Clock at 02:02\n")); - } - Serial.printf("RTC: %02d:%02d\n", tm->tm_hour, tm->tm_min); - - if (sched == 0) { // automatic - if ((tm->tm_wday > 0)&&(tm->tm_wday < 6)) tmpch = 0; //Mon - Fri - else if (tm->tm_wday == 6) tmpch = 1; //Sat - else if (tm->tm_wday == 0) tmpch = 2; //Sun - } else { // manual - tmpch = sched - 1; //and stays - } - - if (tmpch != memch) { // update if different - memch = tmpch; - readEE(); - ws.printfAll("Now,Setting,%02d:%02d,%02d:%02d,%+2.1f", ee.hstart, ee.mstart, ee.hstop, ee.mstop, ee.tempe); - } - - // process smart switch by time and temperature - uint16_t xmi = (uint16_t)(60*tm->tm_hour) + tm->tm_min; // max 24h = 1440min, current time - uint16_t bmi = (uint16_t)(60*ee.hstart) + ee.mstart; // begin in minutes - uint16_t emi = (uint16_t)(60*ee.hstop) + ee.mstop; // end in minutes - - if (bmi == emi) heat_enabled = false; - else { //enable smart if different - - if (((bmi < emi)&&(bmi <= xmi)&&(xmi < emi))|| - ((emi < bmi)&&((bmi <= xmi)||(xmi < emi)))) { - heat_enabled = true; - } else heat_enabled = false; - } - - if (heat_enabled_prev) { // smart control (delayed one cycle) - if (((t - HYST) < ee.tempe)&&(ledState == HIGH)) { // OFF->ON once - ledState = LOW; - digitalWrite(ledPin, ledState); // apply change - ws.textAll("led,ledon"); - } - if ((((t + HYST) > ee.tempe)&&(ledState == LOW))||(!heat_enabled)) { // ON->OFF once, also turn off at end of period. - ledState = HIGH; - digitalWrite(ledPin, ledState); // apply change - ws.textAll("led,ledoff"); - } - Serial.printf(ledState ? "LED OFF" : "LED ON"); - Serial.print(F(", Smart enabled\n")); - } - heat_enabled_prev = heat_enabled; //update -} - -void updateDHT(){ - h = dht.readHumidity(); - t = dht.readTemperature(); //Celsius or dht.readTemperature(true) for Fahrenheit - if (isnan(h) || isnan(t)) { - Serial.print(F("Failed to read from DHT sensor!")); - h = 0; // debug w/o sensor - t = 0; - } -} - -void analogSample() -{ - ws.printfAll("wpMeter,Arduino,%+2.1f,%2.1f,%d", t, h, heat_enabled_prev); - Serial.printf("T/H.: %+2.1f°C/%2.1f%%,%d\n", t, h, heat_enabled_prev); -} - -void checkPhysicalButton() -{ - if (digitalRead(btnPin) == LOW) { - if (btnState != LOW) { // btnState is used to avoid sequential toggles - ledState = !ledState; - digitalWrite(ledPin, ledState); - if (ledState) ws.textAll("led,ledoff"); - else ws.textAll("led,ledon"); - } - btnState = LOW; - } else { - btnState = HIGH; - } -} - -void mytimer() { - ++count; //200ms increments - checkPhysicalButton(); - if ((count % 25) == 1) { // update temp every 5 seconds - analogSample(); - udht = true; - } - if ((count % 50) == 0) { // update temp every 10 seconds - ws.cleanupClients(); - } - if (count >= 150) { // cycle every 30 sec - showTime(); - count = 0; - } -} - -// server -void onWsEvent(AsyncWebSocket * server, AsyncWebSocketClient * client, AwsEventType type, void * arg, uint8_t *data, size_t len){ - if(type == WS_EVT_CONNECT){ - Serial.printf("ws[%s][%u] connect\n", server->url(), client->id()); - //client->printf("Hello Client %u :)", client->id()); - //client->ping(); - - IPAddress ip = client->remoteIP(); - Serial.printf("[%u] Connected from %d.%d.%d.%d\n", client->id(), ip[0], ip[1], ip[2], ip[3]); - showTime(); - analogSample(); - if (ledState) ws.textAll("led,ledoff"); - else ws.textAll("led,ledon"); - - ws.printfAll("Now,Setting,%02d:%02d,%02d:%02d,%+2.1f", ee.hstart, ee.mstart, ee.hstop, ee.mstop, ee.tempe); - ws.printfAll("Now,sched,%d", sched); - - } else if(type == WS_EVT_DISCONNECT){ - Serial.printf("ws[%s][%u] disconnect\n", server->url(), client->id()); - ws.textAll("Now,remoff"); - - } else if(type == WS_EVT_ERROR){ - Serial.printf("ws[%s][%u] error(%u): %s\n", server->url(), client->id(), *((uint16_t*)arg), (char*)data); - } else if(type == WS_EVT_PONG){ - Serial.printf("ws[%s][%u] pong[%u]: %s\n", server->url(), client->id(), len, (len)?(char*)data:""); - } else if(type == WS_EVT_DATA){ - AwsFrameInfo * info = (AwsFrameInfo*)arg; - String msg = ""; - if(info->final && info->index == 0 && info->len == len){ - //the whole message is in a single frame and we got all of it's data - Serial.printf("ws[%s][%u] %s-message[%llu]: ", server->url(), client->id(), (info->opcode == WS_TEXT)?"text":"binary", info->len); - - if(info->opcode == WS_TEXT){ - for(size_t i=0; i < info->len; i++) { //debug - msg += (char) data[i]; - } - if(data[0] == 'L') { // LED - if(data[1] == '1') { - ledState = LOW; - ws.textAll("led,ledon"); // for others - } - else if(data[1] == '0') { - ledState = HIGH; - ws.textAll("led,ledoff"); - } - digitalWrite(ledPin, ledState); // apply change - - - } else if(data[0] == 'T') { // timeset - if (len > 11) { - data[3] = data[6] = data[9] = data[12] = 0; // cut strings - ee.hstart = (uint8_t) atoi((const char *) &data[1]); - ee.mstart = (uint8_t) atoi((const char *) &data[4]); - ee.hstop = (uint8_t) atoi((const char *) &data[7]); - ee.mstop = (uint8_t) atoi((const char *) &data[10]); - Serial.printf("[%u] Timer set %02d:%02d - %02d:%02d\n", client->id(), ee.hstart, ee.mstart, ee.hstop, ee.mstop); - writeEE(); - memch = 255; // to force showTime()to send Setting - showTime(); - } - } else if(data[0] == 'W') { // temperatureset - if (len > 3) { - if (ee.tempe != (float) atof((const char *) &data[1])){ - ee.tempe = (float) atof((const char *) &data[1]); - Serial.printf("[%u] Temp set %+2.1f\n", client->id(), ee.tempe); - writeEE(); - memch = 255; // to force showTime()to send Setting - showTime(); - } - } - } else if ((data[0] == 'Z')&&(len > 2)) { // sched - data[2] = 0; - if (sched != (uint8_t) atoi((const char *) &data[1])){ - sched = (uint8_t) atoi((const char *) &data[1]); - EEPROM.put(EESC, sched); //separately - EEPROM.commit(); //needed for ESP8266? - ws.printfAll("Now,sched,%d", sched); - showTime(); - } - } - - } else { - char buff[3]; - for(size_t i=0; i < info->len; i++) { - sprintf(buff, "%02x ", (uint8_t) data[i]); - msg += buff ; - } - } - Serial.printf("%s\n",msg.c_str()); - - if(info->opcode == WS_TEXT) - client->text("I got your text message"); - else - client->binary("I got your binary message"); - - } else { - //message is comprised of multiple frames or the frame is split into multiple packets - if(info->index == 0){ - if(info->num == 0) - Serial.printf("ws[%s][%u] %s-message start\n", server->url(), client->id(), (info->message_opcode == WS_TEXT)?"text":"binary"); - Serial.printf("ws[%s][%u] frame[%u] start[%llu]\n", server->url(), client->id(), info->num, info->len); - } - - Serial.printf("ws[%s][%u] frame[%u] %s[%llu - %llu]: ", server->url(), client->id(), info->num, (info->message_opcode == WS_TEXT)?"text":"binary", info->index, info->index + len); - - if(info->opcode == WS_TEXT){ - for(size_t i=0; i < len; i++) { - msg += (char) data[i]; - } - } else { - char buff[3]; - for(size_t i=0; i < len; i++) { - sprintf(buff, "%02x ", (uint8_t) data[i]); - msg += buff ; - } - } - Serial.printf("%s\n",msg.c_str()); - - if((info->index + len) == info->len){ - Serial.printf("ws[%s][%u] frame[%u] end[%llu]\n", server->url(), client->id(), info->num, info->len); - if(info->final){ - Serial.printf("ws[%s][%u] %s-message end\n", server->url(), client->id(), (info->message_opcode == WS_TEXT)?"text":"binary"); - if(info->message_opcode == WS_TEXT) - client->text("I got your text message"); - else - client->binary("I got your binary message"); - } - } - } - } -} - - -// setup ----------------------------------- - -void setup(){ - Serial.begin(115200); - Serial.setDebugOutput(true); - -//Wifi -#ifdef USE_WFM - AsyncWiFiManager wifiManager(&server,&dns); - #ifdef DEL_WFM - wifiManager.resetSettings(); - #endif - wifiManager.setTimeout(FBTO); // seconds to config or it creates an own AP, then browse 192.168.4.1 - if (!wifiManager.autoConnect(hostName)){ - Serial.print(F("*FALLBACK AP*\n")); - WiFi.mode(WIFI_AP); - WiFi.softAP(fbssid, fbpassword); - // MDNS.begin(fbssid); - // MDNS.addService("http","tcp",80); // Core SVN 5179 use STA as default interface in mDNS (#7042) - } - -#else -// Manual simple STA mode to connect to known router - //WiFi.mode(WIFI_AP_STA); // Core SVN 5179 use STA as default interface in mDNS (#7042) - //WiFi.softAP(hostName); // Core SVN 5179 use STA as default interface in mDNS (#7042) - WiFi.mode(WIFI_STA); // Core SVN 5179 use STA as default interface in mDNS (#7042) - WiFi.begin(ssid, password); - if (WiFi.waitForConnectResult() != WL_CONNECTED) { - Serial.print(F("STA: Failed!\n")); - WiFi.disconnect(false); - delay(1000); - WiFi.begin(ssid, password); - } -#endif - - Serial.print(F("*CONNECTED*\n")); - -//DHT - dht.begin(); - updateDHT(); //first reading takes time, hold here than the loop; - -//Real Time - time_t rtc = RTC_UTC_TEST; - timeval tv = { rtc, 0 }; - //timezone tz = { 0, 0 }; //(insert) <#5194 - settimeofday(&tv, nullptr); //settimeofday(&tv, &tz); // <#5194 - configTime(MYTZ, "pool.ntp.org"); - -//MDNS (not needed) - // MDNS.begin(hostName); - // MDNS.addService("http","tcp",80); // Core SVN 5179 use STA as default interface in mDNS (#7042) - -//I/O & DHT - pinMode(ledPin, OUTPUT); - pinMode(btnPin, INPUT_PULLUP); - -//EE - EEPROM.begin(EEALL); - //EEPROM.get(EECH, memch); //current channel, no need - readEE(); // populate structure if healthy - digitalWrite(ledPin, ledState); - Serial.printf("Timer set %02d:%02d - %02d:%02d\n", ee.hstart, ee.mstart, ee.hstop, ee.mstop); - Serial.printf("Temp set %+2.1f\n", ee.tempe); - -//SPIFFS - SPIFFS.begin(); - - ws.onEvent(onWsEvent); - server.addHandler(&ws); - -#ifdef ESP32 - server.addHandler(new SPIFFSEditor(SPIFFS, http_username,http_password)); -#elif defined(ESP8266) - server.addHandler(new SPIFFSEditor(http_username,http_password)); -#endif - - server.on("/free-ram", HTTP_GET, [](AsyncWebServerRequest *request){ // direct request->answer - request->send(200, "text/plain", String(ESP.getFreeHeap())); - }); - - - server.on("/get-time", HTTP_GET, [](AsyncWebServerRequest *request){ - if(request->hasParam("btime")){ - time_t rtc = (request->getParam("btime")->value()).toInt(); - timeval tv = { rtc, 0 }; - settimeofday(&tv, nullptr); - } - request->send(200, "text/plain","Got browser time ..."); - }); - - - server.on("/hw-reset", HTTP_GET, [](AsyncWebServerRequest *request){ - request->onDisconnect([]() { -#ifdef ESP32 - ESP.restart(); -#elif defined(ESP8266) - ESP.reset(); -#endif - }); - request->send(200, "text/plain","Restarting ..."); - }); - - server.on("/erase-wifi", HTTP_GET, [](AsyncWebServerRequest *request){ - request->onDisconnect([]() { - WiFi.disconnect(true); -#ifdef ESP32 - ESP.restart(); -#elif defined(ESP8266) - ESP.reset(); -#endif - }); - request->send(200, "text/plain","Erasing WiFi data ..."); - }); - -#ifdef USE_AUTH - server.serveStatic("/", SPIFFS, "/").setDefaultFile("index.htm").setAuthentication(http_username,http_password); -#else - server.serveStatic("/", SPIFFS, "/").setDefaultFile("index.htm"); -#endif - - server.onNotFound([](AsyncWebServerRequest *request){ // nothing known - Serial.print(F("NOT_FOUND: ")); - if (request->method() == HTTP_OPTIONS) request->send(200); //CORS - else request->send(404); - }); - - DefaultHeaders::Instance().addHeader("Access-Control-Allow-Origin", "*");//CORS - server.begin(); - - //Timer tick - tim.attach(0.2, mytimer); //every 0.2s - - //OTA - ArduinoOTA.setHostname(hostName); - ArduinoOTA.onStart([]() { - Serial.print(F("OTA Started ...\n")); - ws.textAll("Now,OTA"); // for all clients - }); - ArduinoOTA.begin(); -} // setup end - -// loop ----------------------------------- -void loop(){ - if (udht){ // 5sec - updateDHT(); - udht = false; - } - ArduinoOTA.handle(); -} +/* +SmartSwitch application +Based on ESP_AsyncFSBrowser +Temperature Control for heater with schedule +Main purpose - for winter outside car block heater or battery charger +Wide browser compatibility, no other server-side needed. +HTTP server and WebSocket, single port +Standalone, no JS dependencies for the browser from Internet (I hope) +Based on ESP_AsyncFSBrowser +Real Time (NTP) w/ Time Zones +Memorized settings to EEPROM +Multiple clients can be connected at same time, they see each other requests +Use latest ESP core lib (from Github) +*/ + +#define USE_WFM // to use ESPAsyncWiFiManager +//#define DEL_WFM // delete Wifi credentials stored + //(use once then comment and flash again), also HTTP /erase-wifi can do the same live + +#define USE_AUTH_STAT // .setAuthentication also for static (editor always requires auth) +//#define USE_AUTH_WS // .setAuthentication also for ws, broken for Safari iOS + +#include +#ifdef ESP32 + #include + #include + #include + #include + #include +#elif defined(ESP8266) + #include + #include + #include +#endif +#include +#ifdef USE_WFM + #include "ESPAsyncWiFiManager.h" +#endif +#include +#include +#include +#include + +#define RTC_UTC_TEST 1577836800 // Some Date +#define MYTZ PSTR("EST5EDT,M3.2.0,M11.1.0") + +#define EESC 100 // fixed eeprom address for sched choice +#define EECH 104 // fixed eeprom address to keep selected active channel, only for reference here +#define EEBEGIN EECH + 1 +#define EEMARK 0x5A +#define MEMMAX 2 // 0,1,2... last max index (only 3 channels) +#define EEALL 512 + +#define HYST 0.5 // C +/- hysteresis + +// DHT +#define DHTTYPE DHT22 // DHT 11 // DHT 22, AM2302, AM2321 // DHT 21, AM2301 +#define DHTPIN 4 //D2 + +DHT dht(DHTPIN, DHTTYPE); + +// SKETCH BEGIN MAIN DECLARATIONS +Ticker tim; +AsyncWebServer server(80); //single port - easy for forwarding +AsyncWebSocket ws("/ws"); + +#ifdef USE_WFM + #ifdef USE_EADNS + AsyncDNSServer dns; + #else + DNSServer dns; + #endif + +//Fallback timeout in seconds allowed to config or it creates an own AP, then serves 192.168.4.1 + #define FBTO 120 + const char* fbssid = "FBSSW"; + const char* fbpassword = "FBpassword4"; + +#else + const char* ssid = "MYROUTERSSD"; + const char* password = "MYROUTERPASSWD"; +#endif +const char* hostName = "smartsw"; +const char* http_username = "smart"; +const char* http_password = "switch"; + +// RTC +static timeval tv; +static time_t now; + +// HW I/O +const int btnPin = 0; //D3 +const int ledPin = 2; //D4 +int btnState = HIGH; + +// Globals +uint8_t count = 0; +uint8_t sched = 0; // automatic schedule +byte memch = 0; // select memory "channel" to work with +float t = 0; +float h = 0; +bool udht = false; +bool heat_enabled_prev = false; +int ledState; + +struct EE_bl { + byte memid; //here goes the EEMARK stamp + uint8_t hstart; + uint8_t mstart; + uint8_t hstop; + uint8_t mstop; + float tempe; +}; + +EE_bl ee = {0,0,0,0,0,0.1}; //populate as initial + +// SUBS +void writeEE() { + ee.memid = EEMARK; + //EEPROM.put(EESC, sched); // only separately when needed with commit() + //EEPROM.put(EECH, memch); // not need to store and retrieve memch + EEPROM.put(EEBEGIN + memch*sizeof(ee), ee); + EEPROM.commit(); //needed for ESP8266? +} + +void readEE() { + byte ChkEE; + if (memch > MEMMAX) memch = 0; + EEPROM.get(EEBEGIN + memch*sizeof(ee), ChkEE); + if (ChkEE == EEMARK){ //otherwise stays with defaults + EEPROM.get(EEBEGIN + memch*sizeof(ee), ee); + EEPROM.get(EESC, sched); + if (sched > MEMMAX + 1) sched = 0; + } +} + +void showTime() +{ + byte tmpch = 0; + bool heat_enabled = false; + + gettimeofday(&tv, nullptr); + now = time(nullptr); + const tm* tm = localtime(&now); + ws.printfAll("Now,Clock,%02d:%02d,%d", tm->tm_hour, tm->tm_min, tm->tm_wday); + if ((2==tm->tm_hour )&&(2==tm->tm_min)) { + configTzTime(MYTZ, "pool.ntp.org"); + Serial.print(F("Sync Clock at 02:02\n")); + } + Serial.printf("RTC: %02d:%02d\n", tm->tm_hour, tm->tm_min); + + if (sched == 0) { // automatic + if ((tm->tm_wday > 0)&&(tm->tm_wday < 6)) tmpch = 0; //Mon - Fri + else if (tm->tm_wday == 6) tmpch = 1; //Sat + else if (tm->tm_wday == 0) tmpch = 2; //Sun + } else { // manual + tmpch = sched - 1; //and stays + } + + if (tmpch != memch) { // update if different + memch = tmpch; + readEE(); + ws.printfAll("Now,Setting,%02d:%02d,%02d:%02d,%+2.1f", ee.hstart, ee.mstart, ee.hstop, ee.mstop, ee.tempe); + } + + // process smart switch by time and temperature + uint16_t xmi = (uint16_t)(60*tm->tm_hour) + tm->tm_min; // max 24h = 1440min, current time + uint16_t bmi = (uint16_t)(60*ee.hstart) + ee.mstart; // begin in minutes + uint16_t emi = (uint16_t)(60*ee.hstop) + ee.mstop; // end in minutes + + if (bmi == emi) heat_enabled = false; + else { //enable smart if different + + if (((bmi < emi)&&(bmi <= xmi)&&(xmi < emi))|| + ((emi < bmi)&&((bmi <= xmi)||(xmi < emi)))) { + heat_enabled = true; + } else heat_enabled = false; + } + + if (heat_enabled_prev) { // smart control (delayed one cycle) + if (((t - HYST) < ee.tempe)&&(ledState == HIGH)) { // OFF->ON once + ledState = LOW; + digitalWrite(ledPin, ledState); // apply change + ws.textAll("led,ledon"); + } + if ((((t + HYST) > ee.tempe)&&(ledState == LOW))||(!heat_enabled)) { // ON->OFF once, also turn off at end of period. + ledState = HIGH; + digitalWrite(ledPin, ledState); // apply change + ws.textAll("led,ledoff"); + } + Serial.printf(ledState ? "LED OFF" : "LED ON"); + Serial.print(F(", Smart enabled\n")); + } + heat_enabled_prev = heat_enabled; //update +} + +void updateDHT(){ + h = dht.readHumidity(); + t = dht.readTemperature(); //Celsius or dht.readTemperature(true) for Fahrenheit + if (isnan(h) || isnan(t)) { + Serial.print(F("Failed to read from DHT sensor!")); + h = 0; // debug w/o sensor + t = 0; + } +} + +void analogSample() +{ + ws.printfAll("wpMeter,Arduino,%+2.1f,%2.1f,%d", t, h, heat_enabled_prev); + Serial.printf("T/H.: %+2.1f°C/%2.1f%%,%d\n", t, h, heat_enabled_prev); +} + +void checkPhysicalButton() +{ + if (digitalRead(btnPin) == LOW) { + if (btnState != LOW) { // btnState is used to avoid sequential toggles + ledState = !ledState; + digitalWrite(ledPin, ledState); + if (ledState) ws.textAll("led,ledoff"); + else ws.textAll("led,ledon"); + } + btnState = LOW; + } else { + btnState = HIGH; + } +} + +void mytimer() { + ++count; //200ms increments + checkPhysicalButton(); + if ((count % 25) == 1) { // update temp every 5 seconds + analogSample(); + udht = true; + } + if ((count % 50) == 0) { // update temp every 10 seconds + ws.cleanupClients(); + } + if (count >= 150) { // cycle every 30 sec + showTime(); + count = 0; + } +} + +// server +void onWsEvent(AsyncWebSocket * server, AsyncWebSocketClient * client, AwsEventType type, void * arg, uint8_t *data, size_t len){ + if(type == WS_EVT_CONNECT){ + Serial.printf("ws[%s][%u] connect\n", server->url(), client->id()); + //client->printf("Hello Client %u :)", client->id()); + //client->ping(); + + IPAddress ip = client->remoteIP(); + Serial.printf("[%u] Connected from %d.%d.%d.%d\n", client->id(), ip[0], ip[1], ip[2], ip[3]); + showTime(); + analogSample(); + if (ledState) ws.textAll("led,ledoff"); + else ws.textAll("led,ledon"); + + ws.printfAll("Now,Setting,%02d:%02d,%02d:%02d,%+2.1f", ee.hstart, ee.mstart, ee.hstop, ee.mstop, ee.tempe); + ws.printfAll("Now,sched,%d", sched); + + } else if(type == WS_EVT_DISCONNECT){ + Serial.printf("ws[%s][%u] disconnect\n", server->url(), client->id()); + ws.textAll("Now,remoff"); + + } else if(type == WS_EVT_ERROR){ + Serial.printf("ws[%s][%u] error(%u): %s\n", server->url(), client->id(), *((uint16_t*)arg), (char*)data); + } else if(type == WS_EVT_PONG){ + Serial.printf("ws[%s][%u] pong[%u]: %s\n", server->url(), client->id(), len, (len)?(char*)data:""); + } else if(type == WS_EVT_DATA){ + AwsFrameInfo * info = (AwsFrameInfo*)arg; + String msg = ""; + if(info->final && info->index == 0 && info->len == len){ + //the whole message is in a single frame and we got all of it's data + Serial.printf("ws[%s][%u] %s-message[%llu]: ", server->url(), client->id(), (info->opcode == WS_TEXT)?"text":"binary", info->len); + + if(info->opcode == WS_TEXT){ + for(size_t i=0; i < info->len; i++) { //debug + msg += (char) data[i]; + } + if(data[0] == 'L') { // LED + if(data[1] == '1') { + ledState = LOW; + ws.textAll("led,ledon"); // for others + } + else if(data[1] == '0') { + ledState = HIGH; + ws.textAll("led,ledoff"); + } + digitalWrite(ledPin, ledState); // apply change + + + } else if(data[0] == 'T') { // timeset + if (len > 11) { + data[3] = data[6] = data[9] = data[12] = 0; // cut strings + ee.hstart = (uint8_t) atoi((const char *) &data[1]); + ee.mstart = (uint8_t) atoi((const char *) &data[4]); + ee.hstop = (uint8_t) atoi((const char *) &data[7]); + ee.mstop = (uint8_t) atoi((const char *) &data[10]); + Serial.printf("[%u] Timer set %02d:%02d - %02d:%02d\n", client->id(), ee.hstart, ee.mstart, ee.hstop, ee.mstop); + writeEE(); + memch = 255; // to force showTime()to send Setting + showTime(); + } + } else if(data[0] == 'W') { // temperatureset + if (len > 3) { + if (ee.tempe != (float) atof((const char *) &data[1])){ + ee.tempe = (float) atof((const char *) &data[1]); + Serial.printf("[%u] Temp set %+2.1f\n", client->id(), ee.tempe); + writeEE(); + memch = 255; // to force showTime()to send Setting + showTime(); + } + } + } else if ((data[0] == 'Z')&&(len > 2)) { // sched + data[2] = 0; + if (sched != (uint8_t) atoi((const char *) &data[1])){ + sched = (uint8_t) atoi((const char *) &data[1]); + EEPROM.put(EESC, sched); //separately + EEPROM.commit(); //needed for ESP8266? + ws.printfAll("Now,sched,%d", sched); + showTime(); + } + } + + } else { + char buff[3]; + for(size_t i=0; i < info->len; i++) { + sprintf(buff, "%02x ", (uint8_t) data[i]); + msg += buff ; + } + } + Serial.printf("%s\n",msg.c_str()); + + if(info->opcode == WS_TEXT) + client->text("I got your text message"); + else + client->binary("I got your binary message"); + + } else { + //message is comprised of multiple frames or the frame is split into multiple packets + if(info->index == 0){ + if(info->num == 0) + Serial.printf("ws[%s][%u] %s-message start\n", server->url(), client->id(), (info->message_opcode == WS_TEXT)?"text":"binary"); + Serial.printf("ws[%s][%u] frame[%u] start[%llu]\n", server->url(), client->id(), info->num, info->len); + } + + Serial.printf("ws[%s][%u] frame[%u] %s[%llu - %llu]: ", server->url(), client->id(), info->num, (info->message_opcode == WS_TEXT)?"text":"binary", info->index, info->index + len); + + if(info->opcode == WS_TEXT){ + for(size_t i=0; i < len; i++) { + msg += (char) data[i]; + } + } else { + char buff[3]; + for(size_t i=0; i < len; i++) { + sprintf(buff, "%02x ", (uint8_t) data[i]); + msg += buff ; + } + } + Serial.printf("%s\n",msg.c_str()); + + if((info->index + len) == info->len){ + Serial.printf("ws[%s][%u] frame[%u] end[%llu]\n", server->url(), client->id(), info->num, info->len); + if(info->final){ + Serial.printf("ws[%s][%u] %s-message end\n", server->url(), client->id(), (info->message_opcode == WS_TEXT)?"text":"binary"); + if(info->message_opcode == WS_TEXT) + client->text("I got your text message"); + else + client->binary("I got your binary message"); + } + } + } + } +} + + +// setup ----------------------------------- + +void setup(){ + Serial.begin(115200); + Serial.setDebugOutput(true); + +//Wifi +#ifdef USE_WFM + AsyncWiFiManager wifiManager(&server,&dns); + #ifdef DEL_WFM + wifiManager.resetSettings(); + #endif + wifiManager.setTimeout(FBTO); // seconds to config or it creates an own AP, then browse 192.168.4.1 + if (!wifiManager.autoConnect(hostName)){ + Serial.print(F("*FALLBACK AP*\n")); + WiFi.mode(WIFI_AP); + WiFi.softAP(fbssid, fbpassword); + // MDNS.begin(fbssid); + // MDNS.addService("http","tcp",80); // Core SVN 5179 use STA as default interface in mDNS (#7042) + } + +#else +// Manual simple STA mode to connect to known router + //WiFi.mode(WIFI_AP_STA); // Core SVN 5179 use STA as default interface in mDNS (#7042) + //WiFi.softAP(hostName); // Core SVN 5179 use STA as default interface in mDNS (#7042) + WiFi.mode(WIFI_STA); // Core SVN 5179 use STA as default interface in mDNS (#7042) + WiFi.begin(ssid, password); + if (WiFi.waitForConnectResult() != WL_CONNECTED) { + Serial.print(F("STA: Failed!\n")); + WiFi.disconnect(false); + delay(1000); + WiFi.begin(ssid, password); + } +#endif + + Serial.print(F("*CONNECTED*\n")); + +//DHT + dht.begin(); + updateDHT(); //first reading takes time, hold here than the loop; + +//Real Time + time_t rtc = RTC_UTC_TEST; + timeval tv = { rtc, 0 }; + //timezone tz = { 0, 0 }; //(insert) <#5194 + settimeofday(&tv, nullptr); //settimeofday(&tv, &tz); // <#5194 + configTzTime(MYTZ, "pool.ntp.org"); + +//MDNS (not needed) + // MDNS.begin(hostName); + // MDNS.addService("http","tcp",80); // Core SVN 5179 use STA as default interface in mDNS (#7042) + +//I/O & DHT + pinMode(ledPin, OUTPUT); + pinMode(btnPin, INPUT_PULLUP); + +//EE + EEPROM.begin(EEALL); + //EEPROM.get(EECH, memch); //current channel, no need + readEE(); // populate structure if healthy + digitalWrite(ledPin, ledState); + Serial.printf("Timer set %02d:%02d - %02d:%02d\n", ee.hstart, ee.mstart, ee.hstop, ee.mstop); + Serial.printf("Temp set %+2.1f\n", ee.tempe); + +//SPIFFS + SPIFFS.begin(); + +#ifdef USE_AUTH_WS + ws.setAuthentication(http_username,http_password); +#endif + ws.onEvent(onWsEvent); + server.addHandler(&ws); + +#ifdef ESP32 + server.addHandler(new SPIFFSEditor(SPIFFS, http_username,http_password)); +#elif defined(ESP8266) + server.addHandler(new SPIFFSEditor(http_username,http_password)); +#endif + + server.on("/free-ram", HTTP_GET, [](AsyncWebServerRequest *request){ // direct request->answer + request->send(200, "text/plain", String(ESP.getFreeHeap())); + }); + + + server.on("/get-time", HTTP_GET, [](AsyncWebServerRequest *request){ + if(request->hasParam("btime")){ + time_t rtc = (request->getParam("btime")->value()).toInt(); + timeval tv = { rtc, 0 }; + settimeofday(&tv, nullptr); + } + request->send(200, "text/plain","Got browser time ..."); + }); + + + server.on("/hw-reset", HTTP_GET, [](AsyncWebServerRequest *request){ + request->onDisconnect([]() { +#ifdef ESP32 + ESP.restart(); +#elif defined(ESP8266) + ESP.reset(); +#endif + }); + request->send(200, "text/plain","Restarting ..."); + }); + + server.on("/erase-wifi", HTTP_GET, [](AsyncWebServerRequest *request){ + request->onDisconnect([]() { + WiFi.disconnect(true); +#ifdef ESP32 + ESP.restart(); +#elif defined(ESP8266) + ESP.reset(); +#endif + }); + request->send(200, "text/plain","Erasing WiFi data ..."); + }); + +#ifdef USE_AUTH_STAT + server.serveStatic("/", SPIFFS, "/").setDefaultFile("index.htm").setAuthentication(http_username,http_password); +#else + server.serveStatic("/", SPIFFS, "/").setDefaultFile("index.htm"); +#endif + + server.onNotFound([](AsyncWebServerRequest *request){ // nothing known + Serial.print(F("NOT_FOUND: ")); + if (request->method() == HTTP_OPTIONS) request->send(200); //CORS + else request->send(404); + }); + + DefaultHeaders::Instance().addHeader("Access-Control-Allow-Origin", "*");//CORS + server.begin(); + + //Timer tick + tim.attach(0.2, mytimer); //every 0.2s + + //OTA + ArduinoOTA.setHostname(hostName); + ArduinoOTA.onStart([]() { + Serial.print(F("OTA Started ...\n")); + ws.textAll("Now,OTA"); // for all clients + }); + ArduinoOTA.begin(); +} // setup end + +// loop ----------------------------------- +void loop(){ + if (udht){ // 5sec + updateDHT(); + udht = false; + } + ArduinoOTA.handle(); +} diff --git a/examples/SmartSwitch/data/acefull.js.gz b/examples/SmartSwitch/data/acefull.js.gz index 0ff2a5f9fb7afff20fbb37242a7841c1b63312e8..e08df275219565d93939df9642c0198e32044e3b 100644 GIT binary patch delta 7760 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%0Dio4TFv#f%S(3y&Q6Vd*ip4e9|nR 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 Vw*6oKtp)!%4}WhAIP!^&0RV<)E@%J% delta 4698 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 Yy|H3vPsjaVY4eNy#niWM4oBD+0LGs;XaE2J diff --git a/examples/SmartSwitch/data/worker-css.js.gz b/examples/SmartSwitch/data/worker-css.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..6e826b6cc0669fdfe8c91ea7135fe25431513434 GIT binary patch literal 35483 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
    >W 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
    +

    +

    Password

    + + +

    + +
    + + \ No newline at end of file diff --git a/examples/SmartSwitch/data/worker-css.js.gz b/examples/SmartSwitch/data/worker-css.js.gz index 6e826b6cc0669fdfe8c91ea7135fe25431513434..36849854f5e68ac7c3f494cc8f1af284f760dc17 100644 GIT binary patch delta 18 acmbO|m1*`=CU*I54vtLW?Hk#rbO8W4UaddInterestingHeader(F("Last-Event-ID")); + request->addInterestingHeader("Cookie"); return true; } @@ -340,6 +345,11 @@ void AsyncEventSource::handleRequest(AsyncWebServerRequest *request){ if((_username.length() && _password.length()) && !request->authenticate(_username.c_str(), _password.c_str())) { return request->requestAuthentication(); } + if(_authorizeConnectHandler != NULL){ + if(!_authorizeConnectHandler(request)){ + return request->send(401); + } + } request->send(new AsyncEventSourceResponse(this)); } diff --git a/src/AsyncEventSource.h b/src/AsyncEventSource.h index b097fa6..a350e7f 100644 --- a/src/AsyncEventSource.h +++ b/src/AsyncEventSource.h @@ -49,6 +49,7 @@ class AsyncEventSource; class AsyncEventSourceResponse; class AsyncEventSourceClient; typedef std::function ArEventHandlerFunction; +typedef std::function ArAuthorizeConnectHandler; class AsyncEventSourceMessage { private: @@ -100,6 +101,7 @@ class AsyncEventSource: public AsyncWebHandler { String _url; LinkedList _clients; ArEventHandlerFunction _connectcb; + ArAuthorizeConnectHandler _authorizeConnectHandler; public: AsyncEventSource(const String& url); ~AsyncEventSource(); @@ -107,6 +109,7 @@ class AsyncEventSource: public AsyncWebHandler { const char * url() const { return _url.c_str(); } void close(); void onConnect(ArEventHandlerFunction cb); + void authorizeConnect(ArAuthorizeConnectHandler cb); void send(const char *message, const char *event=NULL, uint32_t id=0, uint32_t reconnect=0); size_t count() const; //number clinets connected size_t avgPacketsWaiting() const; diff --git a/src/AsyncWebSocket.cpp b/src/AsyncWebSocket.cpp index 04e1a6f..9ce9385 100644 --- a/src/AsyncWebSocket.cpp +++ b/src/AsyncWebSocket.cpp @@ -1146,6 +1146,7 @@ void AsyncWebSocket::binaryAll(const __FlashStringHelper *message, size_t len){ const char __WS_STR_CONNECTION[] PROGMEM = { "Connection" }; const char __WS_STR_UPGRADE[] PROGMEM = { "Upgrade" }; const char __WS_STR_ORIGIN[] PROGMEM = { "Origin" }; +const char __WS_STR_COOKIE[] PROGMEM = { "Cookie" }; const char __WS_STR_VERSION[] PROGMEM = { "Sec-WebSocket-Version" }; const char __WS_STR_KEY[] PROGMEM = { "Sec-WebSocket-Key" }; const char __WS_STR_PROTOCOL[] PROGMEM = { "Sec-WebSocket-Protocol" }; @@ -1155,6 +1156,7 @@ const char __WS_STR_UUID[] PROGMEM = { "258EAFA5-E914-47DA-95CA-C5AB0DC85B11" }; #define WS_STR_CONNECTION FPSTR(__WS_STR_CONNECTION) #define WS_STR_UPGRADE FPSTR(__WS_STR_UPGRADE) #define WS_STR_ORIGIN FPSTR(__WS_STR_ORIGIN) +#define WS_STR_COOKIE FPSTR(__WS_STR_COOKIE) #define WS_STR_VERSION FPSTR(__WS_STR_VERSION) #define WS_STR_KEY FPSTR(__WS_STR_KEY) #define WS_STR_PROTOCOL FPSTR(__WS_STR_PROTOCOL) @@ -1171,6 +1173,7 @@ bool AsyncWebSocket::canHandle(AsyncWebServerRequest *request){ request->addInterestingHeader(WS_STR_CONNECTION); request->addInterestingHeader(WS_STR_UPGRADE); request->addInterestingHeader(WS_STR_ORIGIN); + request->addInterestingHeader(WS_STR_COOKIE); request->addInterestingHeader(WS_STR_VERSION); request->addInterestingHeader(WS_STR_KEY); request->addInterestingHeader(WS_STR_PROTOCOL); @@ -1185,6 +1188,14 @@ void AsyncWebSocket::handleRequest(AsyncWebServerRequest *request){ if((_username.length() && _password.length()) && !request->authenticate(_username.c_str(), _password.c_str())){ return request->requestAuthentication(); } +////////////////////////////////////////// + if(_handshakeHandler != nullptr){ + if(!_handshakeHandler(request)){ + request->send(401); + return; + } + } +////////////////////////////////////////// AsyncWebHeader* version = request->getHeader(WS_STR_VERSION); if(version->value().toInt() != 13){ AsyncWebServerResponse *response = request->beginResponse(400); diff --git a/src/AsyncWebSocket.h b/src/AsyncWebSocket.h index 5b03ace..f06af2c 100644 --- a/src/AsyncWebSocket.h +++ b/src/AsyncWebSocket.h @@ -237,6 +237,7 @@ class AsyncWebSocketClient { void _onData(void *pbuf, size_t plen); }; +typedef std::function AwsHandshakeHandler; typedef std::function AwsEventHandler; //WebServer Handler implementation that plays the role of a socket server @@ -248,6 +249,7 @@ class AsyncWebSocket: public AsyncWebHandler { AsyncWebSocketClientLinkedList _clients; uint32_t _cNextId; AwsEventHandler _eventHandler; + AwsHandshakeHandler _handshakeHandler; bool _enabled; AsyncWebLock _lock; @@ -316,6 +318,11 @@ class AsyncWebSocket: public AsyncWebHandler { _eventHandler = handler; } + // Handshake Handler + void handleHandshake(AwsHandshakeHandler handler){ + _handshakeHandler = handler; + } + //system callbacks (do not call) uint32_t _getNextId(){ return _cNextId++; } void _addClient(AsyncWebSocketClient * client); diff --git a/src/edit.htm.gz.h b/src/edit.htm.gz.h index c2d7f53..3f352e0 100644 --- a/src/edit.htm.gz.h +++ b/src/edit.htm.gz.h @@ -2,7 +2,7 @@ //File: edit.htm.gz, Size: 4408 #define edit_htm_gz_len 4408 const uint8_t edit_htm_gz[] PROGMEM = { -0x1F,0x8B,0x08,0x08,0x52,0x4A,0xB0,0x5E,0x02,0x00,0x65,0x64,0x69,0x74,0x2E,0x68,0x74,0x6D,0x00,0xB5, +0x1F,0x8B,0x08,0x08,0x42,0x13,0xB7,0x5E,0x02,0x00,0x65,0x64,0x69,0x74,0x2E,0x68,0x74,0x6D,0x00,0xB5, 0x1A,0x0B,0x5B,0xDB,0x36,0xF0,0xAF,0x18,0x6F,0x63,0xF6,0xE2,0x38,0x0E,0xA5,0xAC,0x73,0x30,0x2C,0x50, 0x56,0xFA,0x02,0x4A,0x42,0x3B,0xCA,0xD8,0x3E,0xC5,0x56,0x62,0x15,0x5B,0xF6,0x2C,0x99,0x40,0xB3,0xFC, 0xF7,0x9D,0x24,0x3F,0x43,0xE8,0x1E,0xDF,0xD6,0x6E,0x8D,0xA4,0xD3,0x9D,0xEE,0x4E,0xF7,0x54,0xB2,0xBB, From 44b27dc61f4f25e3e053d8f27957d43d4aaece53 Mon Sep 17 00:00:00 2001 From: lorol Date: Sat, 9 May 2020 20:05:23 -0400 Subject: [PATCH 22/47] Logoff Cookie Authentication in the example --- examples/SmartSwitch/SmartSwitch.ino | 7 ++++--- examples/SmartSwitch/data/index.htm | 1 + examples/SmartSwitch/data/login/index.htm | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/examples/SmartSwitch/SmartSwitch.ino b/examples/SmartSwitch/SmartSwitch.ino index 9609e9d..2c31bf7 100644 --- a/examples/SmartSwitch/SmartSwitch.ino +++ b/examples/SmartSwitch/SmartSwitch.ino @@ -23,9 +23,10 @@ Use latest ESP core lib (from Github) //See https://github.com/me-no-dev/ESPAsyncWebServer/pull/684 #define USE_AUTH_COOKIE -#define MY_COOKIE_FULL "LLKQ=7;max-age=31536000;" -#define MY_COOKIE_DEL "LLKQ=" -#define MY_COOKIE "LLKQ=7" +// 1 year age, path helps Safari to unset +#define MY_COOKIE_FULL "LLKQ=3; Max-Age=31536000; Path=/;" +#define MY_COOKIE_DEL "LLKQ=; Max-Age=-1; Path=/;" +#define MY_COOKIE "LLKQ=3" #ifndef USE_AUTH_COOKIE #define USE_AUTH_STAT //Base Auth for stat, /commands and SPIFFSEditor diff --git a/examples/SmartSwitch/data/index.htm b/examples/SmartSwitch/data/index.htm index 9f7da5b..68aaefa 100644 --- a/examples/SmartSwitch/data/index.htm +++ b/examples/SmartSwitch/data/index.htm @@ -329,6 +329,7 @@
    +

    Logoff

    ct<_$8RUZUi6F&Jt_WeDZu&PU* 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 literal 0 HcmV?d00001 diff --git a/examples/SmartSwitch/data/worker-html.js.gz b/examples/SmartSwitch/data/worker-html.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..5245c5e855964f046498a7f78b944848302bd519 GIT binary patch literal 47406 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 RINV>ozHu}Aj8lzF3;^t5e-{7% literal 0 HcmV?d00001 diff --git a/extras/update_ace.bat b/extras/update_ace.bat index 8113dfa..abb166f 100644 --- a/extras/update_ace.bat +++ b/extras/update_ace.bat @@ -5,12 +5,27 @@ REM fetcher --url=resource_url --out=output_directory call fetcher --url="https://github.com/ajaxorg/ace-builds/blob/master/src-min-noconflict/ace.js" --out=tmp1 call fetcher --url="https://github.com/ajaxorg/ace-builds/blob/master/src-min-noconflict/mode-html.js" --out=tmp1 call fetcher --url="https://github.com/ajaxorg/ace-builds/blob/master/src-min-noconflict/theme-monokai.js" --out=tmp1 +call fetcher --url="https://github.com/ajaxorg/ace-builds/blob/master/src-min-noconflict/ext-searchbox.js" --out=tmp1 + +REM if you don't need worker(s), modify line#446 of edit.htm .setUseWorker(!0) to (!1) (true to false) +REM and do not take and include them below +call fetcher --url="https://github.com/ajaxorg/ace-builds/blob/master/src-min-noconflict/worker-html.js" --out=tmp1 +call fetcher --url="https://github.com/ajaxorg/ace-builds/blob/master/src-min-noconflict/worker-css.js" --out=tmp1 +call fetcher --url="https://github.com/ajaxorg/ace-builds/blob/master/src-min-noconflict/worker-javascript.js" --out=tmp1 cd tmp1 -type ace.js mode-html.js theme-monokai.js > acefull.js +type ace.js mode-html.js theme-monokai.js ext-searchbox.js > acefull.js "C:\Program Files\7-Zip\7z.exe" a -tgzip -mx9 acefull.js.gz acefull.js +REM +"C:\Program Files\7-Zip\7z.exe" a -tgzip -mx9 worker-html.js.gz worker-html.js +"C:\Program Files\7-Zip\7z.exe" a -tgzip -mx9 worker-javascript.js.gz worker-javascript.js +"C:\Program Files\7-Zip\7z.exe" a -tgzip -mx9 worker-css.js.gz worker-css.js + REM update: pause copy acefull.js.gz ..\..\examples\SmartSwitch\data\acefull.js.gz +REM +copy worker-html.js.gz ..\..\examples\SmartSwitch\data\worker-html.js.gz +copy worker-javascript.js.gz ..\..\examples\SmartSwitch\data\worker-javascript.js.gz +copy worker-css.js.gz ..\..\examples\SmartSwitch\data\worker-css.js.gz del *.js *.gz - diff --git a/src/WebAuthentication.cpp b/src/WebAuthentication.cpp index a88dde1..2d72de9 100644 --- a/src/WebAuthentication.cpp +++ b/src/WebAuthentication.cpp @@ -36,6 +36,12 @@ bool checkBasicAuthentication(const char * hash, const char * username, const ch size_t toencodeLen = strlen(username)+strlen(password)+1; size_t encodedLen = base64_encode_expected_len(toencodeLen); if(strlen(hash) != encodedLen) +// Fix from https://github.com/me-no-dev/ESPAsyncWebServer/issues/667 +#ifdef ARDUINO_ARCH_ESP32 + if(strlen(hash) != encodedLen) +#else + if (strlen(hash) != encodedLen - 1) +#endif return false; char *toencode = new char[toencodeLen+1]; diff --git a/src/edit.htm b/src/edit.htm index 3f8baae..584b5bb 100644 --- a/src/edit.htm +++ b/src/edit.htm @@ -441,9 +441,9 @@ edit: e }, s) } - "undefined" == typeof t && (t = "/index.html"), "undefined" == typeof n && (n = o(t)), "undefined" == typeof a && (a = "monokai"), "undefined" == typeof i && (i = "text/" + n, "c_cpp" === n && (i = "text/plain")); + "undefined" == typeof t && (t = "/index.htm"), "undefined" == typeof n && (n = o(t)), "undefined" == typeof a && (a = "monokai"), "undefined" == typeof i && (i = "text/" + n, "c_cpp" === n && (i = "text/plain")); var l = ace.edit(e); - return "plain" !== n && l.getSession().setMode("ace/mode/" + n), l.setTheme("ace/theme/" + a), l.$blockScrolling = 1 / 0, l.getSession().setUseSoftTabs(!0), l.getSession().setTabSize(2), l.getSession().setUseWorker(!1), l.setHighlightActiveLine(!0), l.setShowPrintMargin(!1), l.commands.addCommand({ + return "plain" !== n && l.getSession().setMode("ace/mode/" + n), l.setTheme("ace/theme/" + a), l.$blockScrolling = 1 / 0, l.getSession().setUseSoftTabs(!0), l.getSession().setTabSize(2), l.getSession().setUseWorker(!0), l.setHighlightActiveLine(!0), l.setShowPrintMargin(!1), l.commands.addCommand({ name: "saveCommand", bindKey: { win: "Ctrl-S", @@ -485,6 +485,12 @@ e[n] = a }), createEditor("editor", e.file, e.lang, e.theme)), n = createTree("tree", t); + + window.define = ace.define; + window.require = ace.require; + ace.config.set('basePath', '/'); + ace.config.set("workerPath", '/'); + createFileUploader("uploader", n, t), "undefined" == typeof e.file && (e.file = "/index.htm"), t.loadUrl(e.file) } "undefined" == typeof XMLHttpRequest && (XMLHttpRequest = function() { diff --git a/src/edit.htm.gz.h b/src/edit.htm.gz.h index cbcacd5..c2d7f53 100644 --- a/src/edit.htm.gz.h +++ b/src/edit.htm.gz.h @@ -1,224 +1,226 @@ -//File: edit.htm.gz, Size: 4365 -#define edit_htm_gz_len 4365 +//File: edit.htm.gz, Size: 4408 +#define edit_htm_gz_len 4408 const uint8_t edit_htm_gz[] PROGMEM = { -0x1F,0x8B,0x08,0x08,0xC6,0xC7,0xA5,0x5E,0x02,0x00,0x65,0x64,0x69,0x74,0x2E,0x68,0x74,0x6D,0x00,0xB5, +0x1F,0x8B,0x08,0x08,0x52,0x4A,0xB0,0x5E,0x02,0x00,0x65,0x64,0x69,0x74,0x2E,0x68,0x74,0x6D,0x00,0xB5, 0x1A,0x0B,0x5B,0xDB,0x36,0xF0,0xAF,0x18,0x6F,0x63,0xF6,0xE2,0x38,0x0E,0xA5,0xAC,0x73,0x30,0x2C,0x50, -0x56,0xFA,0x02,0x4A,0x42,0x3B,0xCA,0xD8,0x3E,0xC5,0x56,0x62,0x15,0x5B,0xF2,0x6C,0x99,0x40,0xB3,0xFC, -0xF7,0x9D,0x24,0x3F,0x43,0xE8,0x1E,0xDF,0xB6,0xAE,0x8D,0xA4,0xD3,0x9D,0xEE,0xA1,0x7B,0x29,0xD9,0xDD, -0x78,0x7E,0x7A,0x38,0xBE,0x3C,0x3B,0xD2,0x42,0x1E,0x47,0x7B,0xBB,0xE2,0x5F,0x2D,0x42,0x74,0xE6,0xE9, -0x98,0xEA,0x7B,0xBB,0x31,0xE6,0x08,0x40,0x3C,0xE9,0xE2,0xDF,0x73,0x72,0xEB,0xE9,0x87,0x8C,0x72,0x4C, -0x79,0x97,0xDF,0x27,0x58,0xD7,0x7C,0x35,0xF3,0x74,0x8E,0xEF,0x78,0x4F,0x20,0x0F,0x34,0x3F,0x44,0x69, -0x86,0xB9,0x97,0xF3,0x69,0xF7,0x19,0x90,0xE0,0x84,0x47,0x78,0xEF,0x68,0x74,0xA6,0x1D,0x05,0x84,0xB3, -0x74,0xB7,0xA7,0x56,0x76,0x23,0x42,0x6F,0xB4,0x14,0x47,0x9E,0x8E,0x92,0x24,0xC2,0x5D,0xCE,0x72,0x3F, -0xEC,0x12,0xA0,0xA9,0x6B,0x61,0x8A,0xA7,0x9E,0xDE,0x43,0x3E,0xB6,0x61,0x41,0xD7,0xC4,0x71,0x9E,0x4E, -0x62,0x34,0xC3,0xBD,0x3B,0xB5,0xA7,0x49,0x20,0x0B,0x59,0xCA,0xFD,0x9C,0x6B,0xFF,0x0A,0xFB,0x1F,0x20, -0x65,0xFC,0x3E,0xC2,0x0A,0xA4,0x64,0xF6,0xB3,0x4C,0xD7,0x62,0x1C,0x10,0x04,0x5C,0xF8,0x29,0x16,0x5A, -0x8B,0xD0,0x04,0x47,0x8B,0x29,0x03,0x35,0x65,0xE4,0x33,0x76,0xFB,0x5B,0xC9,0xDD,0x40,0x4E,0xA7,0x28, -0x26,0xD1,0xBD,0x9B,0x21,0x9A,0x75,0x33,0x9C,0x92,0xE9,0xD2,0xF6,0xE3,0xC5,0xE7,0x2E,0xA1,0x01,0xBE, -0x73,0x9F,0x38,0xCE,0x20,0x61,0x19,0xE1,0x84,0x51,0x17,0x4D,0x32,0x16,0xE5,0x1C,0x0F,0x22,0x3C,0xE5, -0xEE,0x53,0xA0,0x30,0x61,0x69,0x80,0x53,0xB7,0x9F,0xDC,0x69,0x00,0x22,0x81,0xF6,0xD5,0xF6,0xF6,0xF6, -0x60,0x82,0xFC,0x9B,0x59,0xCA,0x72,0x1A,0x74,0x7D,0x16,0xB1,0xD4,0xFD,0x6A,0xFA,0x54,0xFC,0x19,0x04, -0x24,0x4B,0x22,0x74,0xEF,0x52,0x46,0x31,0xE0,0xDE,0x75,0xB3,0x10,0x05,0x6C,0xEE,0x3A,0x9A,0xA3,0xF5, -0x1D,0x20,0x92,0xCE,0x26,0xC8,0x70,0x2C,0xF1,0xC7,0xDE,0x36,0x07,0x7F,0x8B,0x5F,0xB5,0x3C,0xC7,0x64, -0x16,0x72,0xF7,0x7B,0xC7,0x11,0xFC,0x6B,0x79,0xB4,0x88,0x48,0xC6,0xBB,0x52,0x39,0xEA,0x3C,0xCE,0x12, -0xD7,0x91,0xAC,0xC3,0x47,0x8C,0xD2,0x19,0xA1,0x30,0x48,0x50,0x10,0x10,0x3A,0x73,0x15,0x5A,0x44,0x16, -0x95,0xB4,0x60,0x07,0xC4,0xC9,0x2D,0x1E,0xC4,0x84,0x76,0xE7,0x24,0xE0,0xA1,0xBB,0xE3,0x00,0x17,0x7E, -0x9E,0x66,0x20,0x53,0xC2,0x08,0xE5,0x38,0x95,0x68,0x59,0x82,0xE8,0x42,0x89,0x2A,0x14,0x50,0xC9,0x49, -0x28,0x58,0x14,0x77,0x27,0x11,0xF3,0x6F,0xAA,0x93,0x76,0x92,0xBB,0xE2,0x2C,0x37,0x64,0xB7,0x38,0x5D, -0xD4,0xEA,0x92,0xD8,0x2D,0x60,0x8B,0x34,0xC6,0x78,0x69,0xF3,0xDB,0x1C,0xA0,0x96,0xFC,0x04,0x29,0x0B, -0xAA,0x4D,0x91,0xDA,0x82,0x17,0x28,0x84,0x26,0x39,0x5F,0x3C,0x34,0x25,0x4B,0x90,0x4F,0xF8,0xBD,0xEB, -0xC8,0x6D,0xF2,0x86,0xB8,0xDB,0x8E,0xA3,0x09,0x85,0x6B,0xEF,0x71,0x1A,0x20,0x8A,0xAC,0x61,0x4A,0x50, -0x64,0x8D,0x6A,0x95,0x77,0x63,0xF6,0xB9,0x9B,0xC3,0x18,0xE6,0x11,0xF6,0xB9,0xD2,0x30,0x18,0x61,0x72, -0x43,0xF8,0x43,0xC0,0x83,0x85,0x86,0xAE,0xA4,0x86,0x42,0x65,0xBD,0x3E,0xE8,0x46,0xF2,0xA1,0xC4,0x56, -0x12,0x75,0x27,0x8C,0x73,0x16,0xCB,0xFB,0x56,0x49,0xAB,0xC9,0x2B,0xF3,0xEC,0x81,0x39,0xD6,0xAB,0xBE, -0x41,0x7E,0x00,0x4A,0xE5,0xC4,0x47,0x51,0x17,0x45,0x64,0x46,0xDD,0x98,0x04,0x41,0x84,0x07,0x0D,0x1B, -0xE4,0x69,0x64,0x04,0x88,0x23,0x57,0xF9,0x59,0x42,0x67,0x00,0xCD,0xF0,0xCE,0xB6,0x45,0xDE,0x1F,0x9C, -0x9E,0xCF,0x9D,0xD7,0x2F,0x66,0x6C,0x08,0xFF,0x9D,0x8C,0x2E,0xC2,0xA3,0x8B,0x19,0x8C,0x0E,0xC4,0x74, -0xF8,0xEE,0x70,0xF8,0x0E,0x3E,0x0E,0xFB,0x9D,0x4F,0xD3,0xDF,0x87,0x62,0xF9,0x45,0x70,0x30,0xBE,0x38, -0x1A,0x0E,0x5F,0xF7,0x5E,0x9E,0xCC,0x3F,0xBC,0xDE,0x11,0xE0,0x83,0xC8,0x39,0x7F,0x1F,0x3A,0x17,0x5B, -0x3F,0xC4,0xC1,0x71,0x10,0xFA,0xF1,0xC5,0xF0,0xDD,0x87,0xF3,0xDB,0xCB,0xF8,0x62,0x36,0xFA,0xD0,0x0F, -0x3F,0x6E,0xBD,0x1F,0x7D,0xFC,0xF0,0xD3,0x0D,0xFE,0xF9,0xF8,0xD5,0xC7,0xF1,0x1C,0x10,0x9E,0xB3,0xD1, -0xC5,0xF9,0xC1,0xFB,0x83,0xD9,0xC7,0x03,0xFF,0xE8,0x6E,0x12,0x9D,0x1C,0xBC,0x18,0x4E,0x86,0x5B,0x3E, -0xC6,0xB3,0xF1,0xF9,0x41,0xFE,0xF2,0xF5,0xE9,0x8C,0x90,0x70,0xF4,0xF1,0x64,0xEC,0x1F,0x3E,0x7D,0x73, -0x71,0x3C,0x24,0xE1,0xC9,0xAB,0x73,0xE7,0xE6,0xC5,0xEB,0xC3,0xE7,0xFE,0xE5,0xAB,0xCB,0x9D,0xE7,0x4F, -0x7A,0xDF,0x7F,0xFF,0x36,0x38,0x25,0x74,0x7C,0xFB,0x79,0x38,0x3B,0x9C,0x3F,0xBB,0xCF,0xC6,0xE1,0xCB, -0x5B,0xDA,0x7B,0xCF,0x3E,0xBD,0xBC,0x7F,0x0B,0x7F,0xCF,0xCE,0x3A,0x93,0x51,0x3F,0xBB,0x78,0xF7,0xF2, -0xFD,0x56,0xF6,0xC3,0xD3,0xE4,0xE0,0xF9,0xF3,0xDB,0x78,0x72,0xD6,0x8B,0x83,0x9B,0x29,0x7F,0xF6,0x84, -0x27,0x97,0xB3,0xFC,0xE3,0xEF,0x4F,0x5F,0x85,0xBD,0x53,0x8C,0x2E,0xC3,0xCE,0xFD,0xE7,0xFB,0x67,0xE1, -0xF8,0xF8,0xF6,0x24,0x42,0x77,0x27,0x27,0xFE,0xE7,0xB8,0x13,0xA1,0x1F,0x4E,0xC7,0x11,0x4A,0xFB,0x17, -0xC1,0xB0,0xD7,0x39,0xDC,0x1A,0x6E,0xF3,0xF4,0xFC,0x90,0x3E,0x7F,0xF2,0x69,0xF4,0xEC,0xE0,0xA0,0xCF, -0x26,0xBF,0x6F,0xBD,0xB8,0xD9,0x79,0x71,0xB1,0xF3,0x6E,0xF2,0x6E,0x38,0xDA,0x3E,0xB8,0x40,0x97,0xA3, -0x77,0xC3,0xE9,0xF6,0x24,0x0C,0x5F,0xBF,0x1E,0xFF,0x14,0x0C,0x3F,0xA7,0xC3,0xD3,0xF9,0xF0,0xEE,0xE8, -0x62,0x78,0xDC,0x79,0x7D,0xF4,0xD6,0xE9,0x8F,0x2E,0x9F,0xCC,0xDE,0xEE,0xCC,0x0F,0xB2,0xA3,0xE1,0xBB, -0x03,0x67,0xF6,0xAA,0x13,0xA3,0x8F,0xEC,0xF0,0xC9,0xEC,0xE5,0x0E,0x39,0xBB,0x44,0xC3,0x97,0x07,0xAF, -0x32,0x72,0x1E,0x1F,0x5F,0x38,0xC3,0xE1,0x9B,0x53,0xFC,0xD3,0xE1,0x13,0xF4,0x7A,0xCB,0xFF,0x00,0xFA, -0xBF,0xF8,0x19,0x7F,0xDF,0x19,0xCE,0x4F,0x9D,0xC8,0xFF,0x01,0x8F,0x8F,0x2F,0xC7,0xD2,0x3A,0x47,0xD1, -0x4F,0xE3,0x9B,0x51,0xFE,0x2E,0x3E,0x3C,0x34,0x35,0xCA,0xBA,0x29,0x4E,0x30,0xE2,0xCD,0x58,0x55,0x39, -0x07,0xDC,0xAD,0xFA,0x16,0x16,0x4E,0x2A,0x22,0x6B,0x37,0xC0,0x3E,0x4B,0x91,0xDC,0x03,0x08,0x38,0x15, -0x57,0x6C,0xF9,0xA3,0x0C,0xB5,0x9A,0x8A,0xB4,0x1A,0xA2,0x81,0x66,0x94,0x8E,0x10,0x13,0x0A,0x38,0xB7, -0xC4,0xC7,0xDD,0x84,0xDC,0xE1,0xA8,0x2B,0x91,0x5D,0xC7,0x5C,0x48,0x67,0x2B,0xB7,0x21,0x4A,0x62,0x45, -0xB5,0x5C,0x08,0x3E,0x21,0x5F,0xA4,0x34,0x70,0x99,0x18,0x3E,0x0B,0xDF,0x61,0x69,0x77,0x92,0xCF,0xA6, -0xE4,0x0E,0xBC,0x79,0x4A,0x28,0xE1,0x58,0xEB,0x67,0xCB,0x1F,0x4B,0x32,0x37,0xF8,0x7E,0x9A,0xA2,0x18, -0x67,0xDA,0xDF,0x24,0xB3,0x98,0xA6,0x2C,0x5E,0xD4,0x11,0x90,0xB3,0xC6,0x64,0xB9,0xFC,0x2A,0x4F,0x22, -0x86,0x40,0xCC,0x35,0x61,0x43,0x05,0xD3,0x54,0xB8,0x55,0x15,0x54,0x4B,0x37,0xDB,0x02,0xB7,0x6C,0xB9, -0xF5,0xD6,0x76,0xED,0xBA,0x5D,0xB9,0x57,0x04,0xFB,0xA6,0xEA,0x1B,0xF1,0xA0,0x11,0xEB,0xBE,0xE2,0xA0, -0xD2,0xF5,0x87,0xAB,0x43,0x54,0x64,0xA8,0x19,0x50,0x51,0xBA,0xBF,0xE3,0x34,0x42,0x05,0xEC,0x5B,0x7E, -0x85,0x65,0x9A,0xB7,0xBE,0x4A,0x52,0xB0,0x06,0x9E,0x7F,0x81,0x66,0x25,0x53,0x9B,0x36,0xD0,0xAC,0xD2, -0x9D,0x12,0xA1,0xCE,0x79,0x92,0xD7,0x8A,0xF4,0x43,0xA9,0x00,0x5C,0x71,0xF3,0x54,0x70,0xF3,0x45,0xAD, -0x3E,0xD9,0xF9,0xA6,0xE0,0x61,0xDB,0xF9,0x66,0x69,0xAB,0xBD,0x55,0x3E,0xEE,0x3B,0xF0,0x5F,0x99,0x76, -0x9F,0xD5,0x2C,0x4C,0x9E,0x8A,0x3F,0x25,0x83,0x40,0xA7,0x09,0x7C,0xB2,0xFD,0xC3,0xB3,0x60,0x52,0x02, -0x95,0x60,0x8F,0xC3,0x53,0x14,0x90,0x3C,0x73,0x9F,0x3A,0xDF,0x28,0x7D,0x82,0xF9,0x40,0xF6,0xD2,0xB8, -0x6A,0x52,0xDF,0xD8,0x2C,0x21,0x54,0xDB,0xCA,0x34,0x61,0x6F,0x94,0x56,0x17,0xB3,0x99,0xEA,0xC1,0x45, -0xEA,0xAB,0x29,0xF6,0x2F,0x9C,0x6F,0x16,0x3C,0x45,0x34,0x9B,0xB2,0x34,0x76,0x53,0xC6,0x11,0xC7,0x86, -0x63,0x2E,0xFB,0xCE,0x3A,0xC0,0x93,0x1D,0x27,0xC0,0x33,0x73,0xB9,0xDC,0xED,0xC9,0xA4,0x06,0x15,0x8F, -0x9F,0x92,0x84,0xEF,0x4D,0x73,0xEA,0x0B,0x1E,0xB4,0x19,0x36,0xB0,0xB9,0x48,0x31,0xCF,0x53,0xAA,0x05, -0xCC,0xCF,0xC5,0x65,0xB7,0x67,0x98,0x1F,0xA9,0x7B,0x7F,0x70,0xFF,0x32,0x80,0x1D,0xCB,0x0A,0xC1,0x5F, -0x8B,0x00,0x0E,0x0C,0xE7,0x15,0x38,0xAD,0xFD,0x90,0x60,0x80,0xC8,0x6B,0x7C,0x6F,0x60,0x8B,0x57,0x88, -0xD8,0x16,0xEB,0x86,0x51,0x6E,0x03,0x20,0x35,0x17,0xB7,0xA0,0x05,0xE4,0xE1,0x2B,0x7E,0x6D,0x11,0x8F, -0xC2,0xC7,0xA0,0xD8,0x4E,0xF6,0xD0,0x7E,0xB7,0xEF,0xA2,0x3D,0xB2,0xDF,0x07,0xFF,0x32,0x1B,0xF4,0xD5, -0xC9,0x3F,0x91,0x08,0x5F,0x14,0x2E,0x27,0x0E,0xAA,0xA9,0xF5,0x0C,0x72,0x16,0x82,0x22,0xCD,0xEF,0x8C, -0xD3,0x91,0x66,0x5C,0x7D,0xDF,0xFD,0xE1,0xFA,0x8F,0xFE,0x95,0xD3,0xED,0x5F,0x9B,0xBF,0x99,0x3D,0x62, -0x73,0x9C,0x71,0x83,0xA2,0x5B,0x32,0x43,0x9C,0xA5,0xB6,0xC8,0xB7,0xC3,0x19,0x48,0x61,0x0E,0xAA,0x33, -0x88,0x62,0x6F,0xCB,0x71,0x36,0x3C,0xBC,0x8F,0x22,0x0C,0xAC,0xEB,0x47,0xE7,0xE7,0xA7,0xE7,0x57,0x7A, -0x07,0x77,0xF4,0x6B,0x57,0xD3,0x3B,0xD4,0x74,0xB9,0x0D,0x45,0x67,0x8A,0xB3,0xF0,0x0C,0xF1,0xD0,0x08, -0xEC,0x5B,0x14,0xE5,0xA0,0x0B,0xC1,0x08,0xF3,0x40,0x71,0xFA,0x24,0xE7,0x9C,0x51,0xDD,0x1C,0x30,0x9B, -0x50,0x8A,0xD3,0xE3,0xF1,0xDB,0x37,0x9E,0x7E,0xAE,0x90,0xB4,0x37,0x24,0xE3,0xBA,0x25,0x2D,0x62,0xA3, -0x24,0xC1,0x34,0x38,0x0C,0x49,0x14,0x18,0xCC,0x1C,0x08,0x12,0xBE,0x24,0x21,0x8B,0x11,0xA0,0xE0,0xDB, -0xAA,0x6C,0x9D,0x82,0xE4,0xBA,0xE5,0xDB,0x71,0x1E,0x71,0x92,0x44,0xD8,0xDB,0xE8,0xC3,0x8C,0xA2,0x18, -0x60,0x22,0x15,0x0B,0x18,0x09,0x3C,0x5D,0x05,0x24,0x15,0xC6,0xD6,0x9E,0xE2,0xAB,0x53,0x82,0xD6,0x29, -0x41,0x13,0x37,0x01,0xA9,0x74,0x2B,0xB0,0xEB,0x7A,0x19,0x66,0xC5,0x51,0x25,0x2C,0xC0,0x53,0x04,0x9C, -0xBC,0x17,0x92,0x43,0xF9,0xBD,0xEE,0xA0,0x40,0x1D,0x94,0xB5,0x35,0x92,0x35,0x35,0xA2,0x4C,0xB9,0x0E, -0x39,0x53,0xC8,0x69,0x1B,0x39,0x6D,0x22,0x1F,0xCA,0x1B,0xB1,0x0E,0x39,0x55,0xC8,0x51,0x4B,0xC4,0x48, -0x8A,0xA8,0xA2,0x5C,0x57,0x68,0x13,0x04,0x02,0xEC,0xA8,0x29,0x26,0xCC,0xC0,0x29,0xD1,0x24,0xC2,0x81, -0xB7,0xE1,0xC0,0x4C,0x14,0xD6,0xDE,0x96,0xB3,0xE6,0x8C,0x48,0x9D,0x91,0xB7,0xCE,0xC8,0xE5,0x19,0x24, -0x01,0x25,0x42,0xEE,0xD0,0xAD,0x5C,0x6A,0xAD,0xBD,0xA2,0x8E,0xF3,0x43,0xEC,0xDF,0x4C,0x98,0x5C,0x91, -0x63,0x71,0xE2,0x06,0x92,0x34,0x13,0x49,0x53,0xB6,0x23,0x40,0x33,0xB1,0xC1,0xD3,0x3D,0x41,0xD9,0x4A, -0x9A,0xE2,0x6B,0xC3,0x88,0xDB,0xBA,0x44,0x88,0xDB,0x5A,0x8A,0x5B,0xDB,0x46,0xE8,0x16,0x6B,0xEB,0xB4, -0x14,0x9B,0x6B,0x16,0x93,0x75,0x8B,0xB9,0x69,0xA5,0x36,0xA3,0x7E,0x44,0xFC,0x1B,0xAF,0x76,0x65,0x73, -0x61,0x34,0x27,0x82,0x13,0xEE,0x51,0x3C,0xD7,0x7E,0x82,0xD0,0xF4,0x1C,0x71,0x34,0xE0,0x05,0x19,0xA3, -0xB8,0x37,0x18,0x08,0x41,0x47,0x0A,0x9E,0x98,0xD9,0x28,0x80,0xE5,0xB3,0x8B,0xB1,0x6E,0xE9,0x3D,0x61, -0x15,0x1D,0xBC,0x99,0x98,0x4B,0xB3,0xF2,0x27,0x8B,0xCA,0xC8,0x7E,0x91,0x46,0xF5,0x12,0x0C,0xCA,0x1B, -0xB7,0xB4,0xE2,0xB5,0x3C,0x91,0xA9,0x51,0xA9,0xB4,0x64,0x4A,0x74,0x87,0xE2,0x0C,0xA3,0xB0,0xBF,0x6E, -0x42,0xE8,0x53,0x97,0xD7,0x30,0x2D,0xD4,0x66,0x1A,0x55,0x4C,0xA7,0x68,0x5E,0x5E,0x12,0x75,0xFE,0x40, -0xB9,0xB8,0x03,0x19,0x98,0x66,0x5C,0xC3,0xDE,0xB6,0xF3,0xC3,0xCE,0x00,0xEC,0x63,0x28,0xC7,0x05,0xC0, -0x2E,0xB7,0x23,0x4C,0x67,0x3C,0x1C,0xF8,0x1D,0xAF,0xD0,0x4A,0xE0,0x71,0x3B,0xCB,0x27,0x19,0x4F,0x21, -0xBF,0x19,0xBE,0xE5,0x77,0xB0,0xD9,0x3E,0x46,0xEF,0x30,0x2B,0x30,0x2D,0xD6,0xE9,0x2C,0x57,0x14,0x74, -0x3A,0x6A,0x68,0x08,0x09,0x0D,0xE1,0x28,0xC3,0x1A,0xB5,0xF1,0x1D,0xF6,0x0F,0x59,0x1C,0x23,0x41,0x22, -0x03,0x23,0x17,0x13,0xDD,0x5C,0x5A,0x6C,0xAD,0x66,0x1E,0x09,0x5B,0x56,0xF6,0x98,0x1E,0x21,0x0C,0x7A, -0xBE,0x2D,0x7C,0x25,0x2B,0x84,0xFA,0xB2,0x95,0xCB,0x40,0xA4,0x50,0xAE,0x9C,0x6B,0xAB,0x32,0xDC,0x5A, -0xA9,0x6A,0xBB,0xCB,0x5B,0xD7,0x8A,0x3F,0x66,0x6D,0x69,0x01,0x6B,0xC7,0xB5,0x1A,0xAA,0x2F,0x97,0x96, -0x2F,0xF8,0x0F,0x11,0x9D,0xE1,0xBF,0x2F,0x40,0xCD,0xA3,0x74,0x51,0x8B,0x42,0x02,0xD9,0x77,0x7F,0xB1, -0x8D,0xAB,0x5F,0xED,0xEB,0x8E,0x69,0xEE,0x7F,0xDD,0x93,0x1A,0x36,0xB8,0x79,0xD5,0xBF,0xB6,0x10,0x80, -0xED,0xEF,0xCC,0x5F,0x6C,0x09,0x6E,0xC1,0x06,0xB7,0x8C,0x04,0x9A,0x38,0x49,0x78,0x36,0x9B,0x6A,0x68, -0x73,0xD3,0xE0,0x1E,0x6A,0x5D,0xD6,0x0E,0xEF,0xE8,0x36,0xE4,0x8E,0xE5,0x72,0x35,0xA3,0x8D,0x53,0x8C, -0x55,0xCA,0xAC,0x00,0x92,0x7B,0x90,0x79,0x35,0x58,0x55,0x52,0x63,0xAB,0x86,0xC2,0xA2,0x4C,0xF9,0x76, -0x51,0x4D,0x78,0xBA,0x28,0x27,0x20,0xAC,0xAC,0x2E,0xCB,0x36,0x0F,0xD6,0x1B,0xC1,0xE1,0xDB,0x5D,0x12, -0xCF,0xB4,0x2C,0xF5,0x3D,0x65,0x8A,0x7D,0xF1,0x8F,0xF7,0xAD,0x48,0x75,0x9B,0xBF,0xF9,0x13,0x4F,0xEF, -0x80,0x7D,0xB1,0x4D,0xD9,0xDC,0x30,0x3B,0xDF,0xEA,0x9A,0xA4,0xE8,0xE9,0x31,0xBA,0x2B,0x9A,0x7D,0x51, -0x8D,0x0C,0x34,0x98,0x57,0xDD,0xA9,0x5A,0x50,0x6D,0x36,0xCA,0x39,0x1B,0x68,0x65,0x95,0xA3,0xDA,0x4C, -0x5D,0xEB,0xED,0x7D,0x5B,0xEB,0x00,0x81,0xE8,0x48,0xD9,0x84,0xC8,0x20,0x96,0x8B,0x90,0x87,0x5B,0xD1, -0x87,0x14,0x6E,0xA7,0xA2,0x22,0x01,0x38,0x59,0x49,0x9B,0x56,0x60,0x20,0x73,0xDF,0x68,0x25,0xDB,0x5D, -0xD1,0x98,0xEC,0x9D,0xA9,0x8A,0x73,0xB7,0x27,0x67,0xFA,0x3A,0xC7,0x00,0xCD,0x53,0x40,0xB7,0xAA,0x1A, -0x67,0xC2,0x82,0xFB,0x46,0x65,0x94,0x1D,0xDC,0x1F,0x46,0x28,0xCB,0x4E,0x50,0x0C,0xE7,0xFB,0xB1,0x6E, -0x16,0x57,0x69,0xCF,0xD9,0xDC,0x6C,0x23,0xA5,0x38,0x86,0x46,0x48,0x71,0x85,0x21,0x94,0xB9,0x3E,0x10, -0xDE,0xDC,0x5C,0xC7,0x98,0x78,0x54,0xFB,0x12,0x57,0x14,0xDC,0xB5,0x0C,0x7F,0xFF,0x13,0x77,0x2A,0xC1, -0x3E,0xA6,0xD5,0x14,0x7C,0xF6,0x21,0xDB,0xCF,0xD9,0x9C,0x0A,0xAE,0x2A,0xD6,0xD3,0x35,0x0A,0xAD,0xF3, -0x42,0x75,0x93,0x83,0x02,0xAF,0x3B,0x4D,0xD5,0x45,0x6E,0x5C,0xBA,0x12,0x06,0xD7,0x0D,0x2F,0xCD,0xFF, -0x47,0x58,0x55,0x0F,0x3C,0x26,0x6B,0x64,0x5A,0xD1,0x1A,0x59,0x71,0x84,0x39,0xAE,0x24,0x8D,0xD6,0x4A, -0x9A,0xFD,0x3F,0xFC,0xD6,0x1E,0x42,0x54,0x99,0xDB,0xF4,0x91,0x80,0xDC,0xEA,0x90,0x2B,0xBC,0x36,0x05, -0xA8,0xF8,0x59,0x14,0x8D,0x59,0xB2,0xFF,0xC8,0xBA,0x5B,0xAD,0x17,0x83,0x92,0xCD,0x7A,0x8B,0xE5,0xAF, -0x25,0xFA,0x06,0x4F,0xF9,0xFE,0x63,0x80,0xC7,0xC9,0xD6,0x7B,0xAC,0xC0,0xC3,0x36,0x28,0x0F,0x56,0x7F, -0xEE,0xF8,0x56,0x56,0xCD,0x2E,0x3B,0x0C,0x6C,0xE1,0x97,0x4A,0xF2,0x84,0x92,0x2C,0xB2,0x36,0x74,0xD5, -0xEB,0xA2,0xB7,0xF4,0x82,0x8E,0x9E,0xDC,0xD5,0x6B,0x9C,0x25,0x5E,0xA6,0x96,0x90,0x41,0x2C,0xBE,0x62, -0x94,0x75,0x01,0x25,0xF5,0x88,0xCD,0xA6,0xD3,0x0C,0xF3,0x0F,0x22,0x98,0x59,0x51,0x35,0x3F,0x96,0xC1, -0x6C,0x00,0x53,0x1A,0xB3,0x3C,0xC3,0x2C,0xE7,0xED,0xB2,0xA7,0x12,0x66,0x37,0xF8,0xE3,0x8F,0x6A,0xB2, -0x17,0x74,0xD2,0x7A,0x7A,0xB9,0x9B,0x35,0x26,0x7B,0x59,0x27,0x82,0x50,0xF0,0x1F,0xDF,0x14,0xD2,0xBC, -0x29,0x4C,0xC4,0x52,0x8B,0xA9,0x9B,0x92,0xD5,0x77,0x3D,0x13,0x45,0x29,0x6A,0x78,0xBB,0xB8,0xD0,0xBA, -0x59,0xF6,0x5C,0x4D,0x2F,0x47,0x56,0xB6,0x1A,0x04,0xD6,0x17,0x07,0xBE,0x21,0xA8,0x82,0xD6,0xDF,0xB0, -0x39,0x4E,0x0F,0x51,0x86,0x0D,0xC8,0x99,0x55,0xC4,0x92,0x50,0xD3,0x0D,0xD6,0xEC,0x02,0x25,0x50,0x05, -0x2E,0x0A,0x0F,0x46,0x45,0xE9,0x0D,0xF2,0xE5,0xAD,0x13,0xB0,0x2D,0x5E,0x0B,0x40,0xEA,0xE7,0xAA,0xD3, -0x80,0x3A,0x0D,0x83,0xAD,0x59,0x72,0x96,0xB2,0x04,0xCD,0x64,0x67,0x0D,0x6B,0xC2,0x3D,0x4A,0x6A,0x8D, -0xD4,0x5A,0xD5,0xA3,0x32,0xAD,0x3F,0xCC,0xEA,0x58,0x66,0x6E,0xA8,0x10,0x56,0x93,0x37,0x37,0xB3,0x39, -0xE1,0x7E,0x28,0x7C,0xDB,0x07,0x86,0x75,0x0E,0x6D,0x81,0x2B,0x47,0x21,0x8F,0xEB,0x51,0x54,0x0C,0x3F, -0x65,0xC5,0xC0,0xCF,0xCA,0xD1,0x5D,0x03,0xC8,0x68,0x09,0x66,0x74,0x5A,0x0C,0x09,0x25,0x25,0x9D,0x12, -0x58,0x7E,0x26,0x49,0x31,0x4A,0xC2,0x72,0x14,0xE2,0xBB,0x0A,0x8F,0x95,0xD0,0x00,0xEB,0xAE,0x32,0xDF, -0x86,0xB3,0x2C,0x06,0xFD,0x5A,0xFC,0xE0,0xBF,0x13,0x3F,0xA1,0xB3,0x52,0x98,0xA4,0x1C,0xCD,0x48,0x29, -0xCA,0x24,0x4E,0xBE,0xC8,0x48,0xF6,0x6F,0xFB,0x82,0xE7,0x47,0x6F,0x8E,0xC6,0x47,0xCD,0x12,0xB1,0xF9, -0x84,0xC0,0xFF,0xAA,0x47,0xE7,0xA6,0x6B,0x24,0x4D,0x4F,0x81,0x99,0x2F,0x3E,0x4F,0x58,0x20,0x8B,0x3E, -0x08,0xF8,0x46,0x02,0xD4,0x75,0xD3,0x6C,0xBD,0x32,0xA4,0xAD,0xD7,0x8B,0x3A,0xD0,0x17,0xCF,0x02,0xA0, -0xA7,0xCD,0xCD,0x06,0x23,0x72,0xBD,0x7E,0xF9,0xA0,0x96,0xAE,0xEA,0x34,0xE9,0x6C,0xE8,0xB1,0x82,0x06, -0x99,0x55,0xCB,0x40,0x3C,0x5A,0x38,0xBA,0x25,0xBA,0x07,0xB2,0xE7,0x43,0xDB,0xD0,0x31,0x55,0xB7,0xEF, -0x79,0x1E,0xBD,0xF2,0xAF,0x65,0xC7,0xB8,0xB9,0x89,0xDA,0x45,0x8F,0xE1,0x58,0x12,0x28,0x0E,0x94,0x23, -0xD9,0xAB,0x82,0x2C,0xC0,0x96,0x63,0xBD,0x1A,0x9D,0x9E,0xD8,0x09,0x4A,0xC1,0xE3,0xA8,0xD9,0x0C,0x12, -0x91,0x12,0xB0,0xAD,0xED,0x17,0x47,0x8D,0x6A,0x5C,0x7E,0x29,0xE4,0xF2,0xA5,0x95,0x1A,0x82,0x9C,0x6A, -0x72,0x45,0x0E,0x2F,0x5E,0xEF,0x20,0xF5,0x24,0x65,0x1A,0xAA,0xA3,0x48,0xD2,0x0C,0xE2,0xFC,0x36,0xD7, -0xD7,0xF7,0x96,0x3C,0x24,0x59,0xB3,0x0B,0x69,0xB9,0xFC,0xDF,0xB4,0xD8,0xB2,0x1C,0x29,0x72,0xAB,0x05, -0xB5,0xFA,0xBA,0x52,0x19,0x47,0x36,0x4C,0x75,0x61,0xCD,0xEA,0xEB,0xA8,0x43,0x66,0x21,0x54,0xB7,0xE8, -0x3F,0xF5,0x10,0x5A,0x7A,0x08,0x7D,0x18,0x20,0xF0,0x5D,0xCB,0xDB,0xAB,0x53,0x06,0x13,0xE0,0xEC,0x66, -0x50,0x45,0x11,0x80,0xC8,0x18,0xD2,0x02,0x7C,0xCA,0xE4,0xFA,0x27,0x74,0x8B,0xD4,0xE3,0x5D,0x0D,0x5D, -0x1F,0x2A,0xE4,0x76,0xFF,0x37,0x18,0x55,0x3B,0xDB,0x81,0x28,0x83,0xE1,0xC3,0x78,0xC2,0x5B,0xE1,0xA9, -0x8E,0x59,0xCD,0xE8,0x04,0xEE,0xBA,0x2C,0x0C,0xCB,0x1B,0xFA,0x6D,0xBA,0xDE,0xE6,0xE6,0xA3,0xBE,0xD7, -0x08,0x44,0x0A,0xA3,0x79,0x7B,0xD6,0xB7,0x2B,0xED,0x86,0x66,0x7D,0xFA,0x97,0xFE,0x87,0xF7,0x33,0x3B, -0x2B,0x5B,0x77,0x70,0xF3,0xC6,0x4C,0xD7,0x45,0xB6,0xF2,0x23,0x8C,0xD2,0x91,0xE8,0x12,0x55,0x86,0x58, -0x2A,0x03,0x7A,0xD2,0x75,0x0D,0xD0,0x58,0x4F,0xBE,0x12,0xDB,0x42,0x0F,0x80,0x50,0x41,0x29,0x40,0xA9, -0xC7,0x80,0x66,0x63,0x11,0xC1,0x22,0x82,0x86,0x87,0x51,0x76,0x83,0x48,0x73,0x3B,0x01,0x08,0x29,0xBE, -0x4C,0x86,0xBE,0xCE,0x2A,0x0C,0x21,0x09,0xD5,0x10,0x65,0x7E,0xB3,0x78,0x08,0xAB,0x9F,0x21,0x70,0xE9, -0x37,0xC5,0x05,0xD9,0x90,0x68,0x99,0x28,0x08,0x46,0x38,0xCB,0x24,0xE3,0x42,0xB0,0xB7,0x2C,0x00,0xB9, -0x00,0xAD,0x17,0xC3,0x48,0x1C,0x04,0x22,0x0A,0xC0,0x38,0xC4,0x71,0x01,0xE1,0x30,0x14,0x20,0x24,0x40, -0x5F,0x4B,0x5D,0x8D,0x64,0xE1,0x45,0xE8,0xCC,0xEB,0xF7,0x1C,0xEB,0x21,0xD9,0x8B,0x0C,0x8F,0xD8,0x94, -0x8F,0xD1,0x24,0x33,0x36,0x1C,0x73,0xCD,0x0E,0x00,0x8D,0x20,0x9C,0x18,0x5B,0xE6,0x7A,0xF4,0x0F,0x2C, -0xBD,0xC1,0xA9,0xB1,0xD1,0x2F,0xF8,0x39,0x86,0x82,0x29,0x82,0xBF,0x7C,0x08,0x6A,0xBF,0xC5,0x6F,0x08, -0xC5,0x05,0xE5,0x0C,0x90,0x43,0x36,0x3F,0x4B,0x09,0xE5,0x6F,0x65,0x5F,0x58,0x60,0xF9,0xEA,0xB9,0x42, -0x86,0xA0,0xF2,0x1D,0x63,0x21,0xA2,0x99,0xDB,0x7A,0xCD,0xB0,0x26,0x60,0x2F,0x08,0xAE,0xEE,0x62,0x4E, -0xA8,0xAB,0x1F,0xF2,0x34,0xEA,0x8E,0x74,0x2B,0x46,0x3E,0x4C,0xD4,0x1E,0x98,0x2F,0x2D,0xE1,0xB5,0x6E, -0x33,0x9A,0x6C,0xD4,0x93,0xBA,0x80,0x5E,0xFB,0xD4,0x53,0xBF,0x5C,0x08,0xE0,0x41,0xC4,0x26,0x86,0x78, -0x9A,0x5E,0x08,0x8F,0x77,0xE9,0xD2,0x14,0xE9,0xE9,0xCB,0xAF,0x32,0x3E,0x84,0x5D,0x6E,0xE1,0xC6,0xA3, -0x52,0x47,0xD7,0xC5,0x5B,0x0D,0xE0,0xA1,0xE0,0x94,0x46,0xF7,0x2E,0xA4,0xC5,0xBF,0x90,0x3A,0xA7,0x01, -0xFB,0x92,0xD4,0x1F,0x57,0xA4,0xFE,0xB8,0x4E,0x6A,0xDC,0xB6,0x16,0x4C,0x2E,0x80,0xEC,0x5B,0x44,0xD1, -0x0C,0xA7,0xB0,0x20,0x0E,0x01,0x03,0xFC,0x33,0xCE,0x52,0xFC,0x65,0xCE,0x46,0x21,0x99,0xF2,0x55,0xFE, -0xD4,0xEA,0xBF,0xE3,0x32,0xC5,0x8F,0x70,0x59,0x16,0x98,0x55,0xDE,0xF8,0xEB,0xA7,0x12,0xE9,0xD4,0x1E, -0x98,0xB0,0xE9,0xAE,0xFF,0xC2,0xEF,0xEA,0x13,0xBF,0x9C,0x3E,0xC5,0x87,0x8B,0x97,0x56,0x20,0xEE,0x44, -0xBB,0x2C,0x65,0xF4,0x00,0x2A,0xF8,0x37,0x20,0x82,0xA1,0xAE,0x23,0xF6,0x16,0x4B,0x8B,0x7B,0x06,0xA8, -0x12,0xBA,0x60,0x10,0xCE,0x97,0x75,0xAD,0x1D,0x42,0x8A,0x04,0x25,0x00,0x93,0x90,0x68,0x7B,0x57,0xFB, -0x9B,0xD7,0x1D,0xC8,0x50,0x1E,0x7C,0x98,0x1E,0x0C,0x36,0xAF,0xBF,0x33,0x7B,0x33,0xD2,0xA8,0x89,0x64, -0xAE,0x03,0xBD,0x5E,0xD1,0x6B,0x0F,0x2D,0x21,0x84,0x35,0x73,0x61,0x15,0x59,0x2D,0x2C,0x5F,0xBD,0xE0, -0x23,0x42,0x74,0x06,0x1F,0x32,0x76,0x40,0x78,0x5A,0xF3,0xE5,0x8A,0x9E,0xAB,0x11,0x60,0x35,0x1E,0xAA, -0x74,0x0E,0xFF,0xEA,0xA2,0xBD,0xE2,0x8D,0x60,0xA8,0xC8,0x42,0xDC,0x53,0x83,0x66,0x8C,0x15,0x49,0xBA, -0x34,0x5A,0x01,0x36,0x97,0x7A,0x0E,0xE0,0x29,0xA1,0x38,0xD0,0xAB,0xBC,0xFA,0xF3,0xDB,0x37,0xC7,0x9C, -0x27,0xE7,0x4A,0xB3,0x40,0xAB,0xBD,0x50,0x1B,0xDC,0x5C,0xF0,0xF4,0xBE,0xAC,0xD0,0x84,0xC3,0xAA,0x90, -0xF3,0xF3,0xE9,0xE4,0x13,0xF6,0x21,0x1F,0xBD,0xCD,0x20,0x99,0x6D,0xD9,0x02,0x7D,0x3C,0x3E,0xB3,0x77, -0x6C,0x07,0x4A,0x06,0xD0,0xAB,0x1F,0x0A,0xCB,0x2D,0xFF,0x11,0xF2,0x93,0x7F,0x86,0x4C,0x20,0xEE,0x66, -0x10,0x58,0x4B,0xFC,0x36,0x6E,0x98,0xB2,0xB9,0x44,0x3B,0x4A,0x53,0x61,0x94,0x71,0x48,0x32,0x6D,0x02, -0x8B,0x19,0x4E,0xB5,0x80,0xE1,0x4C,0xA3,0x8C,0x6B,0x59,0x9E,0x24,0x2C,0xE5,0x2B,0xFA,0xB0,0xF5,0xF2, -0xC1,0xE6,0x5D,0x8E,0x73,0x1C,0x14,0xCB,0x38,0x6D,0xEA,0x45,0x16,0x57,0xBF,0x0B,0xB8,0x77,0x75,0x5D, -0x94,0x5A,0x39,0xA5,0x22,0x0F,0x6C,0xF4,0xD5,0x1C,0xA4,0x0B,0x81,0xAA,0x47,0xF3,0x28,0x5A,0x0E,0x56, -0x68,0x41,0xC7,0xC5,0x38,0x13,0xF6,0xF0,0x16,0xBF,0x15,0x57,0xDC,0x5D,0x79,0x51,0x6D,0x53,0x75,0xAC, -0x0D,0x63,0x03,0x6B,0x84,0x66,0x1C,0x51,0x5F,0x98,0x51,0xE9,0xC2,0x2C,0xCB,0x2C,0xB1,0x7D,0x20,0xFC, -0x53,0xDE,0xA5,0x47,0x73,0xBB,0x94,0x8C,0x7A,0xBA,0x2E,0x2A,0x2E,0x2C,0x0A,0x57,0x14,0x67,0x0D,0xB2, -0x55,0xC4,0x36,0xA9,0x57,0x82,0x07,0xF2,0x1D,0xBC,0xBD,0x7F,0x95,0x8D,0xB2,0xCC,0x46,0x00,0xD3,0xCA, -0x7D,0x26,0xED,0x78,0xBA,0xCC,0xD4,0xFB,0xD2,0x75,0xE5,0x05,0x8E,0x31,0x0F,0x59,0xB0,0xAF,0xEF,0xEB, -0xAE,0x0E,0xFF,0x6F,0xEA,0x16,0xEC,0xC2,0xD4,0x07,0xF7,0xBF,0x38,0x7F,0x09,0x21,0x2D,0x61,0x14,0x53, -0x6E,0x20,0x88,0xEC,0x9E,0xDE,0x59,0x03,0x29,0xC9,0x5F,0xA1,0x6B,0x73,0xD0,0x56,0x36,0x9E,0xAF,0x98, -0xB3,0x65,0x0C,0x9B,0x51,0x11,0xE5,0xEE,0x81,0x79,0x8E,0x1F,0xBC,0x63,0x5B,0xF4,0x61,0x3B,0x62,0x2E, -0xB6,0x05,0xCF,0x12,0x6B,0x04,0x58,0xC2,0xF5,0x6A,0x25,0x3F,0x56,0x62,0x51,0xDB,0x47,0x51,0x24,0xBE, -0x7B,0x07,0x5E,0xC5,0x61,0x79,0x66,0x09,0x22,0x19,0x08,0x90,0xE1,0x31,0xBE,0x03,0x97,0x96,0x75,0x92, -0xBA,0x43,0x45,0x5F,0x02,0xA4,0x79,0xE3,0x1A,0x99,0x56,0x35,0xDB,0xDC,0xE4,0x76,0x79,0x4D,0x8C,0x12, -0x29,0x13,0x41,0xDF,0x30,0x45,0xCF,0x61,0x34,0x85,0x14,0x39,0xF4,0x81,0xB6,0x8D,0xB6,0x1A,0x12,0x4C, -0x8D,0x12,0x06,0x9C,0xE5,0x69,0x04,0x91,0x5A,0x54,0x11,0xAD,0x6D,0x19,0xA6,0x01,0x1C,0xE0,0xFE,0x25, -0xB2,0x44,0xA5,0xCD,0x5B,0x31,0xE2,0xA9,0xE2,0xBB,0x4D,0x8F,0x17,0x56,0x39,0xC6,0x32,0xF2,0xB5,0x7F, -0x2C,0x69,0xC9,0x9F,0x39,0x12,0x15,0x98,0x7B,0xF0,0xF0,0x3D,0x9F,0x77,0xC5,0x57,0xEF,0x5D,0x38,0x41, -0xDD,0x82,0x40,0x5F,0xC3,0xA1,0x6A,0xBB,0x2C,0xF1,0x60,0xE1,0xAE,0xB8,0x68,0xAD,0x3F,0x63,0xC5,0x47, -0xDB,0x74,0xDA,0x7C,0x36,0xAC,0xBD,0xBB,0xBD,0x02,0x42,0x13,0x96,0x72,0x03,0x72,0x0D,0xA4,0xA3,0xEA, -0xB4,0xB2,0x03,0x6A,0xC6,0x05,0x3B,0xC9,0xB3,0xD0,0x58,0x00,0xEB,0x2E,0xB7,0x94,0xAE,0x5C,0x6C,0xA9, -0x7B,0xEB,0x52,0xAB,0xBC,0x1F,0x2E,0xA4,0x90,0x56,0xFC,0xF8,0xE3,0x0F,0x39,0xAB,0xAD,0x0D,0xB3,0x15, -0x83,0x2F,0xD5,0x1B,0x6B,0x99,0x19,0xC5,0xA5,0x5F,0x8D,0x55,0xBB,0x3D,0xD5,0xD8,0x94,0xBF,0x4E,0xD0, -0x48,0xE0,0x89,0x24,0xAB,0x17,0x5F,0x41,0xC0,0x70,0x0A,0x71,0xC9,0x86,0x4E,0xA8,0xFA,0x39,0xAA,0x5E, -0xFC,0x1E,0x75,0x15,0x77,0xAF,0x6A,0xCD,0x3C,0xAF,0xAA,0xAB,0x55,0xD4,0x51,0x1B,0xBC,0x47,0x7E,0xB3, -0xA0,0x2B,0x30,0x74,0xAE,0x6A,0x60,0x57,0x67,0x8B,0x73,0xAD,0x62,0x11,0x65,0xF7,0xD4,0x17,0x51,0xB3, -0xA2,0x12,0x82,0xFA,0x5B,0xDD,0xAC,0xDA,0x69,0x2E,0x6B,0xCE,0xC4,0xF3,0x9C,0xC6,0x8A,0xB7,0xEC,0x66, -0xAE,0x07,0xF6,0xA1,0x59,0x16,0xE2,0x96,0x2E,0xAA,0xC9,0x6E,0xB9,0x9A,0x82,0x78,0xB0,0xA1,0xDE,0x95, -0x27,0xEB,0x01,0x2A,0xFD,0xAE,0x2E,0xAA,0xEC,0xBE,0xBA,0x5C,0x76,0x5C,0xD5,0xD7,0x36,0x8D,0x9F,0x9B, -0xD4,0x34,0x88,0x7C,0x90,0x97,0xFB,0xDB,0x6F,0xF4,0x8F,0xA2,0x29,0x8C,0xBD,0x3F,0x01,0x2C,0xED,0xAE, -0xEF,0x83,0x2C,0x00,0x00 +0x56,0xFA,0x02,0x4A,0x42,0x3B,0xCA,0xD8,0x3E,0xC5,0x56,0x62,0x15,0x5B,0xF6,0x2C,0x99,0x40,0xB3,0xFC, +0xF7,0x9D,0x24,0x3F,0x43,0xE8,0x1E,0xDF,0xD6,0x6E,0x8D,0xA4,0xD3,0x9D,0xEE,0x4E,0xF7,0x54,0xB2,0xBB, +0xF1,0xFC,0xF4,0x70,0x7C,0x79,0x76,0xA4,0x85,0x3C,0x8E,0xF6,0x76,0xC5,0xBF,0x5A,0x84,0xE8,0xCC,0xD3, +0x31,0xD5,0xF7,0x76,0x63,0xCC,0x11,0x80,0x78,0xDA,0xC5,0xBF,0xE7,0xE4,0xD6,0xD3,0x0F,0x13,0xCA,0x31, +0xE5,0x5D,0x7E,0x9F,0x62,0x5D,0xF3,0xD5,0xCC,0xD3,0x39,0xBE,0xE3,0x3D,0x81,0x3C,0xD0,0xFC,0x10,0x65, +0x0C,0x73,0x2F,0xE7,0xD3,0xEE,0x33,0x20,0xC1,0x09,0x8F,0xF0,0xDE,0xD1,0xE8,0x4C,0x3B,0x0A,0x08,0x4F, +0xB2,0xDD,0x9E,0x5A,0xD9,0x8D,0x08,0xBD,0xD1,0x32,0x1C,0x79,0x3A,0x4A,0xD3,0x08,0x77,0x79,0x92,0xFB, +0x61,0x97,0x00,0x4D,0x5D,0x0B,0x33,0x3C,0xF5,0xF4,0x1E,0xF2,0xB1,0x0D,0x0B,0xBA,0x26,0x8E,0xF3,0x74, +0x12,0xA3,0x19,0xEE,0xDD,0xA9,0x3D,0x4D,0x02,0x2C,0x4C,0x32,0xEE,0xE7,0x5C,0xFB,0x57,0xD8,0xFF,0x00, +0x89,0xF1,0xFB,0x08,0x2B,0x90,0x92,0xD9,0x67,0x4C,0xD7,0x62,0x1C,0x10,0x04,0x5C,0xF8,0x19,0x16,0x5A, +0x8B,0xD0,0x04,0x47,0x8B,0x69,0x02,0x6A,0x62,0xE4,0x33,0x76,0xFB,0x5B,0xE9,0xDD,0x40,0x4E,0xA7,0x28, +0x26,0xD1,0xBD,0xCB,0x10,0x65,0x5D,0x86,0x33,0x32,0x5D,0xDA,0x7E,0xBC,0xF8,0xDC,0x25,0x34,0xC0,0x77, +0xEE,0x13,0xC7,0x19,0xA4,0x09,0x23,0x9C,0x24,0xD4,0x45,0x13,0x96,0x44,0x39,0xC7,0x83,0x08,0x4F,0xB9, +0xFB,0x14,0x28,0x4C,0x92,0x2C,0xC0,0x99,0xDB,0x4F,0xEF,0x34,0x00,0x91,0x40,0xFB,0x6A,0x7B,0x7B,0x7B, +0x30,0x41,0xFE,0xCD,0x2C,0x4B,0x72,0x1A,0x74,0xFD,0x24,0x4A,0x32,0xF7,0xAB,0xE9,0x53,0xF1,0x77,0x10, +0x10,0x96,0x46,0xE8,0xDE,0xA5,0x09,0xC5,0x80,0x7B,0xD7,0x65,0x21,0x0A,0x92,0xB9,0xEB,0x68,0x8E,0xD6, +0x77,0x80,0x48,0x36,0x9B,0x20,0xC3,0xB1,0xC4,0x5F,0x7B,0xDB,0x1C,0xFC,0x2D,0x7E,0xD5,0xF2,0x1C,0x93, +0x59,0xC8,0xDD,0xEF,0x1D,0x47,0xF0,0xAF,0xE5,0xD1,0x22,0x22,0x8C,0x77,0xA5,0x72,0xD4,0x79,0x3C,0x49, +0x5D,0x47,0xB2,0x0E,0x1F,0x31,0xCA,0x66,0x84,0xC2,0x20,0x45,0x41,0x40,0xE8,0xCC,0x55,0x68,0x11,0x59, +0x54,0xD2,0xC2,0x3D,0x20,0x4E,0x6E,0xF1,0x20,0x26,0xB4,0x3B,0x27,0x01,0x0F,0xDD,0x1D,0x07,0xB8,0xF0, +0xF3,0x8C,0x81,0x4C,0x69,0x42,0x28,0xC7,0x99,0x44,0x63,0x29,0xA2,0x0B,0x25,0xAA,0x50,0x40,0x25,0x27, +0xA1,0x70,0xA3,0xB8,0x3B,0x89,0x12,0xFF,0xA6,0x3A,0x69,0x27,0xBD,0x2B,0xCE,0x72,0xC3,0xE4,0x16,0x67, +0x8B,0x5A,0x5D,0x12,0xBB,0x05,0x6C,0x91,0xC6,0x18,0x2F,0x6D,0x7E,0x9B,0x03,0xD4,0x92,0x9F,0x20,0x65, +0x41,0xB5,0x29,0x52,0x5B,0xF0,0x02,0x85,0xD0,0x34,0xE7,0x8B,0x87,0x57,0x99,0xA4,0xC8,0x27,0xFC,0xDE, +0x75,0xE4,0x36,0x69,0x21,0xEE,0xB6,0xE3,0x68,0x42,0xE1,0xDA,0x7B,0x9C,0x05,0x88,0x22,0x6B,0x98,0x11, +0x14,0x59,0xA3,0x5A,0xE5,0xDD,0x38,0xF9,0xDC,0xCD,0x61,0x0C,0xF3,0x08,0xFB,0x5C,0x69,0x18,0x2E,0x61, +0x72,0x43,0xF8,0x43,0xC0,0x83,0x85,0x86,0xAE,0xA4,0x86,0x42,0x75,0x7B,0x7D,0xD0,0x8D,0xE4,0x43,0x89, +0xAD,0x24,0xEA,0x4E,0x12,0xCE,0x93,0x58,0xDA,0x5B,0x25,0xAD,0x26,0x4D,0xE6,0xD9,0x83,0xEB,0x58,0xAF, +0xFA,0x06,0xF9,0x01,0x28,0x95,0x13,0x1F,0x45,0x5D,0x14,0x91,0x19,0x75,0x63,0x12,0x04,0x11,0x6E,0x98, +0xAC,0x9B,0x67,0x91,0x11,0x20,0x8E,0x5C,0xE5,0x67,0x29,0x9D,0x01,0x94,0xE1,0x9D,0x6D,0x8B,0xBC,0x3F, +0x38,0x3D,0x9F,0x3B,0xAF,0x5F,0xCC,0x92,0x21,0xFC,0x39,0x19,0x5D,0x84,0x47,0x17,0x33,0x18,0x1D,0x88, +0xE9,0xF0,0xDD,0xE1,0xF0,0x1D,0x7C,0x1C,0xF6,0x3B,0x9F,0xA6,0xBF,0x0F,0xC5,0xF2,0x8B,0xE0,0x60,0x7C, +0x71,0x34,0x1C,0xBE,0xEE,0xBD,0x3C,0x99,0x7F,0x78,0xBD,0x23,0xC0,0x07,0x91,0x73,0xFE,0x3E,0x74,0x2E, +0xB6,0x7E,0x88,0x83,0xE3,0x20,0xF4,0xE3,0x8B,0xE1,0xBB,0x0F,0xE7,0xB7,0x97,0xF1,0xC5,0x6C,0xF4,0xA1, +0x1F,0x7E,0xDC,0x7A,0x3F,0xFA,0xF8,0xE1,0xA7,0x1B,0xFC,0xF3,0xF1,0xAB,0x8F,0xE3,0x39,0x20,0x3C,0x4F, +0x46,0x17,0xE7,0x07,0xEF,0x0F,0x66,0x1F,0x0F,0xFC,0xA3,0xBB,0x49,0x74,0x72,0xF0,0x62,0x38,0x19,0x6E, +0xF9,0x18,0xCF,0xC6,0xE7,0x07,0xF9,0xCB,0xD7,0xA7,0x33,0x42,0xC2,0xD1,0xC7,0x93,0xB1,0x7F,0xF8,0xF4, +0xCD,0xC5,0xF1,0x90,0x84,0x27,0xAF,0xCE,0x9D,0x9B,0x17,0xAF,0x0F,0x9F,0xFB,0x97,0xAF,0x2E,0x77,0x9E, +0x3F,0xE9,0x7D,0xFF,0xFD,0xDB,0xE0,0x94,0xD0,0xF1,0xED,0xE7,0xE1,0xEC,0x70,0xFE,0xEC,0x9E,0x8D,0xC3, +0x97,0xB7,0xB4,0xF7,0x3E,0xF9,0xF4,0xF2,0xFE,0x2D,0xFC,0x7F,0x76,0xD6,0x99,0x8C,0xFA,0xEC,0xE2,0xDD, +0xCB,0xF7,0x5B,0xEC,0x87,0xA7,0xE9,0xC1,0xF3,0xE7,0xB7,0xF1,0xE4,0xAC,0x17,0x07,0x37,0x53,0xFE,0xEC, +0x09,0x4F,0x2F,0x67,0xF9,0xC7,0xDF,0x9F,0xBE,0x0A,0x7B,0xA7,0x18,0x5D,0x86,0x9D,0xFB,0xCF,0xF7,0xCF, +0xC2,0xF1,0xF1,0xED,0x49,0x84,0xEE,0x4E,0x4E,0xFC,0xCF,0x71,0x27,0x42,0x3F,0x9C,0x8E,0x23,0x94,0xF5, +0x2F,0x82,0x61,0xAF,0x73,0xB8,0x35,0xDC,0xE6,0xD9,0xF9,0x21,0x7D,0xFE,0xE4,0xD3,0xE8,0xD9,0xC1,0x41, +0x3F,0x99,0xFC,0xBE,0xF5,0xE2,0x66,0xE7,0xC5,0xC5,0xCE,0xBB,0xC9,0xBB,0xE1,0x68,0xFB,0xE0,0x02,0x5D, +0x8E,0xDE,0x0D,0xA7,0xDB,0x93,0x30,0x7C,0xFD,0x7A,0xFC,0x53,0x30,0xFC,0x9C,0x0D,0x4F,0xE7,0xC3,0xBB, +0xA3,0x8B,0xE1,0x71,0xE7,0xF5,0xD1,0x5B,0xA7,0x3F,0xBA,0x7C,0x32,0x7B,0xBB,0x33,0x3F,0x60,0x47,0xC3, +0x77,0x07,0xCE,0xEC,0x55,0x27,0x46,0x1F,0x93,0xC3,0x27,0xB3,0x97,0x3B,0xE4,0xEC,0x12,0x0D,0x5F,0x1E, +0xBC,0x62,0xE4,0x3C,0x3E,0xBE,0x70,0x86,0xC3,0x37,0xA7,0xF8,0xA7,0xC3,0x27,0xE8,0xF5,0x96,0xFF,0x01, +0xF4,0x7F,0xF1,0x33,0xFE,0xBE,0x33,0x9C,0x9F,0x3A,0x91,0xFF,0x03,0x1E,0x1F,0x5F,0x8E,0xE5,0xED,0x1C, +0x45,0x3F,0x8D,0x6F,0x46,0xF9,0xBB,0xF8,0xF0,0xD0,0xD4,0x68,0xD2,0xCD,0x70,0x8A,0x11,0x6F,0xC6,0xAA, +0xCA,0x39,0xC0,0xB6,0x6A,0x2B,0x2C,0x9C,0x54,0x44,0xD6,0x6E,0x80,0xFD,0x24,0x43,0x72,0x0F,0x20,0xE0, +0x4C,0x98,0xD8,0xF2,0x47,0x19,0x6A,0x35,0x15,0x69,0x35,0x44,0x03,0xCD,0x28,0x1D,0x21,0x26,0x14,0x70, +0x6E,0x89,0x8F,0xBB,0x29,0xB9,0xC3,0x51,0x57,0x22,0xBB,0x8E,0xB9,0x90,0xCE,0x56,0x6E,0x43,0x94,0xC4, +0x8A,0x6A,0xB9,0x10,0x7C,0x42,0xBE,0x48,0x69,0xE0,0x32,0x31,0x7C,0x16,0xBE,0x93,0x64,0xDD,0x49,0x3E, +0x9B,0x92,0x3B,0xF0,0xE6,0x29,0xA1,0x84,0x63,0xAD,0xCF,0x96,0x3F,0x96,0x64,0x6E,0xF0,0xFD,0x34,0x43, +0x31,0x66,0xDA,0xDF,0x24,0xB3,0x98,0x66,0x49,0xBC,0xA8,0x23,0x20,0x4F,0x1A,0x93,0xE5,0xF2,0xAB,0x3C, +0x8D,0x12,0x04,0x62,0xAE,0x09,0x1B,0x2A,0x98,0x66,0xC2,0xAD,0xAA,0xA0,0x5A,0xBA,0xD9,0x16,0xB8,0x65, +0xCB,0xAD,0xB7,0xB6,0x6B,0xD7,0xED,0xCA,0xBD,0x22,0xD8,0x37,0x55,0xDF,0x88,0x07,0x8D,0x58,0xF7,0x15, +0x07,0x95,0xAE,0x3F,0x5C,0x1D,0xA2,0x22,0x43,0xCD,0x80,0x8A,0xD2,0xFD,0x1D,0xA7,0x11,0x2A,0x60,0xDF, +0xF2,0x2B,0x2C,0xD3,0xBC,0xF5,0x55,0x9A,0xC1,0x6D,0xE0,0xF9,0x17,0x68,0x56,0x32,0xB5,0x69,0x03,0xCD, +0x2A,0xDD,0x29,0x11,0xEA,0x9C,0x27,0x79,0xAD,0x48,0x3F,0x94,0x0A,0xC0,0x15,0x37,0x4F,0x05,0x37,0x5F, +0xD4,0xEA,0x93,0x9D,0x6F,0x0A,0x1E,0xB6,0x9D,0x6F,0x96,0xB6,0xDA,0x5B,0xE5,0xE3,0xBE,0x03,0x7F,0xCA, +0xB4,0xFB,0xAC,0x66,0x61,0xF2,0x54,0xFC,0x2D,0x19,0x04,0x3A,0x4D,0xE0,0x93,0xED,0x1F,0x9E,0x05,0x93, +0x12,0xA8,0x04,0x7B,0x1C,0x9E,0xA1,0x80,0xE4,0xCC,0x7D,0xEA,0x7C,0xA3,0xF4,0x09,0xD7,0x07,0xB2,0x97, +0x97,0xAB,0x26,0xB5,0xC5,0xB2,0x94,0x50,0x6D,0x8B,0x69,0xE2,0xBE,0x51,0x56,0x19,0x66,0x33,0xD5,0x83, +0x8B,0xD4,0xA6,0x29,0xF6,0x2F,0x9C,0x6F,0x16,0x3C,0x43,0x94,0x4D,0x93,0x2C,0x76,0xB3,0x84,0x23,0x8E, +0x0D,0xC7,0x5C,0xF6,0x9D,0x75,0x80,0x27,0x3B,0x4E,0x80,0x67,0xE6,0x72,0xB9,0xDB,0x93,0x49,0x0D,0x2A, +0x1E,0x3F,0x23,0x29,0xDF,0x9B,0xE6,0xD4,0x17,0x3C,0x68,0x33,0x6C,0x60,0x73,0x91,0x61,0x9E,0x67,0x54, +0x0B,0x12,0x3F,0x17,0xC6,0x6E,0xCF,0x30,0x3F,0x52,0x76,0x7F,0x70,0xFF,0x32,0x80,0x1D,0xCB,0x0A,0xC1, +0x5F,0x8B,0x00,0x0E,0x0C,0xE7,0x15,0x38,0xAD,0xFD,0x90,0x60,0x80,0xC8,0x6B,0x7C,0x6F,0x60,0x8B,0x57, +0x88,0xD8,0x16,0xEB,0x86,0x51,0x6E,0x03,0x20,0x35,0x17,0xB7,0xA0,0x05,0xE4,0xE1,0x2B,0x7E,0x6D,0x11, +0x8F,0xC2,0xC7,0xA0,0xD8,0x4E,0xF6,0xD0,0x7E,0xB7,0xEF,0xA2,0x3D,0xB2,0xDF,0x07,0xFF,0x32,0x1B,0xF4, +0xD5,0xC9,0x3F,0x91,0x08,0x5F,0x14,0x2E,0x27,0x0E,0xAA,0xA9,0xF5,0x0C,0x72,0x16,0x82,0x22,0xCD,0xEF, +0x8C,0xD3,0x91,0x66,0x5C,0x7D,0xDF,0xFD,0xE1,0xFA,0x8F,0xFE,0x95,0xD3,0xED,0x5F,0x9B,0xBF,0x99,0x3D, +0x62,0x73,0xCC,0xB8,0x41,0xD1,0x2D,0x99,0x21,0xB0,0x73,0x5B,0xE4,0xDB,0xE1,0x0C,0xA4,0x30,0x07,0xD5, +0x19,0x44,0xB1,0xB7,0xE5,0x38,0x1B,0x1E,0xDE,0x47,0x11,0x06,0xD6,0xF5,0xA3,0xF3,0xF3,0xD3,0xF3,0x2B, +0xBD,0x83,0x3B,0xFA,0xB5,0xAB,0xE9,0x1D,0x6A,0xBA,0xDC,0x86,0xA2,0x33,0xC3,0x2C,0x3C,0x43,0x3C,0x34, +0x02,0xFB,0x16,0x45,0x39,0xE8,0x42,0x30,0x92,0x78,0xA0,0x38,0x7D,0x92,0x83,0xFD,0x50,0xDD,0x1C,0x24, +0x36,0xA1,0x14,0x67,0xC7,0xE3,0xB7,0x6F,0x3C,0xFD,0x5C,0x21,0x69,0x6F,0x08,0xE3,0xBA,0x25,0x6F,0xC4, +0x46,0x69,0x8A,0x69,0x70,0x18,0x92,0x28,0x30,0x12,0x73,0x20,0x48,0xF8,0x92,0x84,0x2C,0x46,0x80,0x82, +0x6F,0xAB,0xB2,0x75,0x0A,0x92,0xEB,0x96,0x6F,0xC7,0x79,0xC4,0x49,0x1A,0x61,0x6F,0xA3,0x0F,0x33,0x8A, +0x62,0x80,0x89,0x54,0x2C,0x60,0x24,0xF0,0x74,0x15,0x90,0x54,0x18,0x5B,0x7B,0x8A,0xAF,0x4E,0x09,0x5A, +0xA7,0x04,0x4D,0xDC,0x14,0xA4,0xD2,0xAD,0xC0,0xAE,0xEB,0x65,0x98,0x15,0x47,0x95,0xB0,0x00,0x4F,0x11, +0x70,0xF2,0x5E,0x48,0x0E,0xE5,0xF7,0xBA,0x83,0x02,0x75,0x10,0x6B,0x6B,0x84,0x35,0x35,0xA2,0xAE,0x72, +0x1D,0x32,0x53,0xC8,0x59,0x1B,0x39,0x6B,0x22,0x1F,0x4A,0x8B,0x58,0x87,0x9C,0x29,0xE4,0xA8,0x25,0x62, +0x24,0x45,0x54,0x51,0xAE,0x2B,0xB4,0x09,0x02,0x01,0x76,0xD4,0x14,0x13,0x66,0xE0,0x94,0x68,0x12,0xE1, +0xC0,0xDB,0x70,0x60,0x26,0x0A,0x6B,0x6F,0xCB,0x59,0x73,0x46,0xA4,0xCE,0xC8,0x5B,0x67,0xE4,0xF2,0x0C, +0x92,0x82,0x12,0x21,0x77,0xE8,0x56,0x2E,0xB5,0xD6,0x5E,0x51,0xC7,0xF9,0x21,0xF6,0x6F,0x26,0x89,0x5C, +0x91,0x63,0x71,0xE2,0x06,0x92,0x34,0x53,0x49,0x53,0xB6,0x23,0x40,0x33,0xB5,0xC1,0xD3,0x3D,0x41,0xD9, +0x4A,0x9B,0xE2,0x6B,0xC3,0x88,0xDB,0xBA,0x44,0x88,0xDB,0x5A,0x8A,0x5B,0xDB,0x46,0xE8,0x16,0x6B,0xEB, +0xB4,0x14,0x9B,0x6B,0x16,0xD3,0x75,0x8B,0xB9,0x69,0x65,0x76,0x42,0xFD,0x88,0xF8,0x37,0x5E,0xED,0xCA, +0xE6,0xC2,0x68,0x4E,0x04,0x27,0xDC,0xA3,0x78,0xAE,0xFD,0x04,0xA1,0xE9,0x39,0xE2,0x68,0xC0,0x0B,0x32, +0x46,0x61,0x37,0x18,0x08,0x41,0x47,0x8A,0x19,0x67,0x36,0x0A,0x60,0xF9,0xEC,0x62,0xAC,0x5B,0x7A,0x4F, +0xDC,0x8A,0x0E,0xDE,0x4C,0xCC,0xA5,0x59,0xF9,0x93,0x45,0x65,0x64,0xBF,0xC8,0xA2,0x7A,0x09,0x06,0xA5, +0xC5,0x2D,0xAD,0x78,0x2D,0x4F,0x64,0x6A,0x54,0x2A,0x2D,0x99,0x12,0xDD,0xA1,0x38,0xC3,0x28,0xEE,0x5F, +0x37,0x21,0xF4,0x29,0xE3,0x35,0x4C,0x0B,0xB5,0x99,0x46,0x15,0xD3,0x19,0x9A,0x97,0x46,0xA2,0xCE,0x1F, +0x28,0x17,0x77,0x20,0x03,0x53,0xC6,0x35,0xEC,0x6D,0x3B,0x3F,0xEC,0x0C,0xE0,0x7E,0x0C,0xE5,0xB8,0x00, +0xD8,0xE5,0x36,0x98,0xD6,0x8C,0x87,0x03,0xBF,0xE3,0x15,0x5A,0x09,0x3C,0x6E,0xB3,0x7C,0xC2,0x78,0x06, +0xF9,0xCD,0xF0,0x2D,0xBF,0x83,0xCD,0xF6,0x31,0x7A,0x27,0xB1,0x02,0xD3,0x4A,0x3A,0x9D,0xE5,0x8A,0x82, +0x4E,0x47,0x0D,0x0D,0x21,0xA1,0x21,0x1C,0x31,0xAC,0x51,0x1B,0xDF,0x61,0xFF,0x30,0x89,0x63,0x24,0x48, +0x30,0xB8,0xE4,0x62,0xA2,0x9B,0x4B,0x2B,0x59,0xAB,0x99,0x47,0xC2,0x96,0xC5,0x1E,0xD3,0x23,0x84,0x41, +0xCF,0xB7,0x85,0xAF,0xB0,0x42,0xA8,0x2F,0xDF,0x72,0x19,0x88,0x14,0xCA,0x95,0x73,0x6D,0x55,0x17,0xB7, +0x56,0xAA,0xFA,0xDE,0xA5,0xD5,0xB5,0xE2,0x8F,0x59,0xDF,0xB4,0x80,0xB5,0xE3,0x5A,0x0D,0xD5,0x97,0x4B, +0xCB,0x17,0xFC,0x87,0x88,0xCE,0xF0,0xDF,0x17,0xA0,0xE6,0x51,0xBA,0xA8,0x45,0x21,0x81,0xEC,0xBB,0xBF, +0xD8,0xC6,0xD5,0xAF,0xF6,0x75,0xC7,0x34,0xF7,0xBF,0xEE,0x49,0x0D,0x1B,0xDC,0xBC,0xEA,0x5F,0x5B,0x08, +0xC0,0xF6,0x77,0xE6,0x2F,0xB6,0x04,0xB7,0x60,0x83,0xDB,0x84,0x04,0x9A,0x38,0x49,0x78,0x76,0x32,0xD5, +0xD0,0xE6,0xA6,0x01,0x26,0xD7,0x32,0xD6,0x0E,0xEF,0xE8,0x36,0xE4,0x8E,0xE5,0x72,0x35,0xA3,0x8D,0x33, +0x8C,0x55,0xCA,0xAC,0x00,0x92,0x7B,0x90,0x79,0x35,0x58,0x55,0x52,0x63,0xAB,0x86,0xC2,0xA2,0x4C,0xF9, +0x76,0x51,0x4D,0x78,0xBA,0x28,0x27,0x20,0xAC,0xAC,0x2E,0xCB,0x36,0x0F,0xD6,0x1B,0xC1,0xE1,0xDB,0x5D, +0x12,0xCF,0x34,0x96,0xF9,0x9E,0xBA,0x8A,0x7D,0xF1,0x8F,0xF7,0xAD,0x48,0x75,0x9B,0xBF,0xF9,0x13,0x4F, +0xEF,0xC0,0xFD,0x62,0x9B,0x26,0x73,0xC3,0xEC,0x7C,0xAB,0x6B,0x92,0xA2,0xA7,0xC7,0xE8,0xAE,0x68,0xF6, +0x45,0x35,0x32,0xD0,0x60,0x5E,0x75,0xA7,0x6A,0x41,0xB5,0xD9,0x28,0xE7,0xC9,0x40,0x2B,0xAB,0x1C,0xD5, +0x66,0xEA,0x5A,0x6F,0xEF,0xDB,0x5A,0x07,0x08,0x44,0x47,0xEA,0x4E,0x88,0x0C,0x62,0xB9,0x08,0x79,0xB8, +0x15,0x7D,0x48,0xE1,0x76,0x2A,0x2A,0x12,0x80,0x93,0x95,0xB4,0x69,0x05,0x06,0x32,0xF7,0x8D,0x56,0xB2, +0xDD,0x15,0x8D,0xC9,0xDE,0x99,0xAA,0x38,0x77,0x7B,0x72,0xA6,0xAF,0x73,0x0C,0xD0,0x3C,0x05,0x74,0xAB, +0xAA,0x71,0x26,0x49,0x70,0xDF,0xA8,0x8C,0xD8,0xC1,0xFD,0x61,0x84,0x18,0x3B,0x41,0x31,0x9C,0xEF,0xC7, +0xBA,0x59,0x98,0xD2,0x9E,0xB3,0xB9,0xD9,0x46,0xCA,0x70,0x0C,0x8D,0x90,0xE2,0x0A,0x43,0x28,0x73,0x7D, +0x20,0xBC,0xB9,0xB9,0x8E,0x31,0xF1,0xA8,0xF6,0x25,0xAE,0x28,0xB8,0x6B,0x19,0xFE,0xFE,0x27,0xEE,0x54, +0x82,0x7D,0x4C,0xAB,0x19,0xF8,0xEC,0x43,0xB6,0x9F,0x27,0x73,0x2A,0xB8,0xAA,0x58,0xCF,0xD6,0x28,0xB4, +0xCE,0x0B,0x95,0x25,0x07,0x05,0x5E,0x77,0x9A,0x29,0x43,0x6E,0x18,0x5D,0x09,0x03,0x73,0xC3,0x4B,0xF3, +0xFF,0x11,0x56,0xD5,0x03,0x8F,0xC9,0x1A,0x99,0x56,0xB4,0x46,0x56,0x1C,0x61,0x8E,0x2B,0x49,0xA3,0xB5, +0x92,0xB2,0xFF,0x87,0xDF,0xDA,0x43,0x88,0x2A,0x73,0x9B,0x3E,0x12,0x90,0x5B,0x1D,0x72,0x85,0xD7,0xA6, +0xC0,0xFC,0x2C,0x89,0xA2,0x71,0x92,0xEE,0x3F,0xB2,0xEE,0x56,0xEB,0xC5,0xA0,0x64,0xB3,0xDE,0x62,0xF9, +0x6B,0x89,0xBE,0xC1,0x53,0xBE,0xFF,0x18,0xE0,0x71,0xB2,0xF5,0x1E,0x2B,0xF0,0xB0,0x0D,0xCA,0x83,0xD5, +0x9F,0x3B,0xBE,0xC5,0xAA,0xD9,0x65,0x27,0x81,0xBB,0xF0,0x4B,0x25,0x79,0x42,0x49,0x16,0x59,0x1B,0xBA, +0xEA,0x75,0xD1,0x5B,0x7A,0x41,0x47,0x4F,0xEF,0xEA,0x35,0x9E,0xA4,0x1E,0x53,0x4B,0xC8,0x20,0x16,0x5F, +0xB9,0x94,0x75,0x01,0x25,0xF3,0x88,0x9D,0x4C,0xA7,0x0C,0xF3,0x0F,0x22,0x98,0x59,0x51,0x35,0x3F,0x96, +0xC1,0x6C,0x00,0x53,0x1A,0x27,0x39,0xC3,0x49,0xCE,0xDB,0x65,0x4F,0x25,0xCC,0x6E,0xF0,0xC7,0x1F,0xD5, +0x64,0x2F,0xE8,0x64,0xF5,0xF4,0x72,0x97,0x35,0x26,0x7B,0xAC,0x13,0x41,0x28,0xF8,0x8F,0x2D,0x85,0x34, +0x2D,0x25,0x11,0xB1,0xD4,0x4A,0x94,0xA5,0xB0,0xDA,0xD6,0x99,0x28,0x4A,0x51,0xC3,0xDB,0x85,0x41,0xEB, +0x66,0xD9,0x73,0x35,0xBD,0x1C,0x59,0x6C,0x35,0x08,0xAC,0x2F,0x0E,0x7C,0x43,0x50,0x05,0xAD,0xBF,0x49, +0xE6,0x38,0x3B,0x44,0x0C,0x1B,0x90,0x33,0xAB,0x88,0x25,0xA1,0xA6,0x1B,0xAC,0xD9,0x05,0x4A,0xA0,0x0A, +0x5C,0x14,0x1E,0x09,0x15,0xA5,0x37,0xC8,0x97,0xB7,0x4E,0xC0,0xB6,0x78,0x2D,0x00,0xA9,0x9F,0xAB,0x4E, +0x03,0xEA,0x34,0x6C,0x33,0xB8,0xE6,0xB3,0x2C,0x49,0xD1,0x4C,0x76,0xD6,0xB0,0x26,0xDC,0xA3,0xA4,0xD6, +0x48,0xAD,0x55,0x3D,0x2A,0xD3,0xFA,0xC3,0xAC,0x8E,0x65,0xE6,0x86,0x0A,0x61,0x35,0x79,0x73,0x93,0xCD, +0x09,0xF7,0x43,0xE1,0xDB,0x3E,0x30,0xAC,0x73,0x68,0x0B,0x5C,0x39,0x0A,0x79,0x5C,0x8F,0xA2,0x62,0xF8, +0x89,0x15,0x03,0x9F,0x95,0xA3,0xBB,0x06,0x30,0xA1,0x25,0x38,0xA1,0xD3,0x62,0x48,0x28,0x29,0xE9,0x94, +0xC0,0xF2,0x33,0x4D,0x8B,0x51,0x1A,0x96,0xA3,0x10,0xDF,0x55,0x78,0x49,0x09,0x0D,0xB0,0xEE,0xAA,0xEB, +0xDB,0x70,0x96,0xC5,0xA0,0x5F,0x8B,0x1F,0xFC,0x77,0xE2,0xA7,0x74,0x56,0x0A,0x93,0x96,0xA3,0x19,0x29, +0x45,0x99,0xC4,0xE9,0x17,0x19,0x61,0xFF,0xB6,0x2F,0x78,0x7E,0xF4,0xE6,0x68,0x7C,0xD4,0x2C,0x11,0x9B, +0x4F,0x08,0xFC,0xAF,0x7A,0x74,0x6E,0xBA,0x46,0xDA,0xF4,0x14,0x98,0xF9,0xE2,0xF3,0x24,0x09,0x64,0xD1, +0x07,0x01,0xDF,0x48,0x81,0xBA,0x6E,0x9A,0xAD,0x57,0x86,0xAC,0xF5,0x7A,0x51,0x07,0xFA,0xE2,0x59,0x00, +0xF4,0xB4,0xB9,0xD9,0x60,0x44,0xAE,0xD7,0x2F,0x1F,0xD4,0xD2,0x55,0x9D,0x26,0x9D,0x0D,0x3D,0x56,0xD0, +0x20,0xB3,0x6A,0x19,0x88,0x47,0x0B,0x47,0xB7,0x44,0xF7,0x40,0xF6,0x7C,0x68,0x1B,0x3A,0xA6,0xEA,0xF6, +0x3D,0xCF,0xA3,0x57,0xFE,0xB5,0xEC,0x18,0x37,0x37,0x51,0xBB,0xE8,0x31,0x1C,0x4B,0x02,0xC5,0x81,0x72, +0x24,0x7B,0x55,0x90,0x05,0xD8,0x72,0xAC,0x57,0xA3,0xD3,0x13,0x3B,0x45,0x19,0x78,0x1C,0x35,0x9B,0x41, +0x22,0x52,0x02,0xB6,0xB5,0xFD,0xE2,0xA8,0x51,0x8D,0xCB,0x2F,0x85,0x5C,0xBE,0xB4,0x32,0x43,0x90,0x53, +0x4D,0xAE,0xC8,0xE1,0xC5,0xEB,0x1D,0xA4,0x9E,0xB4,0x4C,0x43,0x75,0x14,0x49,0x9B,0x41,0x9C,0xDF,0xE6, +0xFA,0xFA,0xDE,0x92,0x87,0x84,0x35,0xBB,0x90,0x96,0xCB,0xFF,0xCD,0x1B,0x5B,0x96,0x23,0x45,0x6E,0xB5, +0xA0,0x56,0x5F,0x57,0xAA,0xCB,0x91,0x0D,0xD3,0xA2,0x8E,0x90,0xB5,0x39,0xEA,0x90,0x59,0x08,0xD5,0x2D, +0xFA,0x4F,0x3D,0x84,0x96,0x1E,0x42,0x1F,0x06,0x08,0x7C,0xD7,0xF2,0xF6,0xEA,0x94,0xC1,0x04,0x38,0xBB, +0x19,0x54,0x51,0x04,0x20,0x32,0x86,0xB4,0x00,0x9F,0x98,0x5C,0xFF,0x84,0x6E,0x91,0x7A,0xBC,0xAB,0xA1, +0xEB,0x43,0x85,0xDC,0xEE,0xFF,0x06,0xA3,0x6A,0x67,0x3B,0x10,0x31,0x18,0x3E,0x8C,0x27,0xBC,0x15,0x9E, +0xEA,0x98,0xD5,0x8C,0x4E,0xE0,0xAE,0x85,0x37,0x6B,0xBC,0xA1,0xDF,0x86,0xEB,0x81,0x41,0x3E,0xEA,0x7B, +0x8D,0x40,0xA4,0x30,0x9A,0xD6,0xB3,0xBE,0x5D,0x69,0x37,0x34,0xEB,0xD3,0xBF,0xF4,0x3F,0xBC,0xCF,0x6C, +0x56,0xB6,0xEE,0xE0,0xE6,0x8D,0x99,0xAE,0x8B,0x6C,0xE5,0x47,0x18,0x65,0x23,0xD1,0x25,0xAA,0x0C,0xB1, +0x54,0x17,0xE8,0x49,0xD7,0x35,0x40,0x63,0x3D,0xF9,0x4A,0x6C,0x83,0x1E,0x60,0x7F,0x05,0xA4,0x00,0xA4, +0x5E,0x02,0x24,0x1B,0x8B,0x08,0x16,0x11,0xF4,0x3B,0x09,0x4D,0x6E,0x10,0x69,0x6E,0x27,0x00,0x21,0xC5, +0x77,0xC9,0xD0,0xD6,0x59,0xC5,0x3D,0x48,0x42,0x35,0x44,0xDD,0xBE,0x59,0xBC,0x83,0xD5,0xAF,0x10,0xB8, +0x74,0x9B,0xC2,0x3E,0x36,0x24,0x1A,0x13,0xF5,0xC0,0x08,0x33,0x26,0xF9,0x16,0x72,0xBD,0x4D,0x02,0x10, +0x0B,0xD0,0x7A,0x31,0x8C,0xC4,0x41,0x20,0xA1,0x00,0x8C,0x43,0x1C,0x17,0x10,0x0E,0x43,0x01,0x42,0x02, +0xF4,0xB5,0x54,0xD5,0x48,0xD6,0x5D,0x84,0xCE,0xBC,0x7E,0xCF,0xB1,0x1E,0x92,0xBD,0x60,0x78,0x94,0x4C, +0xF9,0x18,0x4D,0x98,0xB1,0xE1,0x98,0x6B,0x76,0x00,0x68,0x04,0xD1,0xC4,0xD8,0x32,0xD7,0xA3,0x7F,0x48, +0xB2,0x1B,0x9C,0x15,0xC8,0xA2,0x60,0x82,0x7A,0x29,0x12,0x35,0xD3,0x10,0xB4,0x7E,0x8B,0xDF,0x10,0x8A, +0x6B,0xE0,0x28,0x4C,0xE6,0x67,0x19,0xA1,0xFC,0xAD,0x6C,0x0B,0x8D,0x8D,0xBE,0xBC,0x27,0xF5,0x5A,0x21, +0x23,0x50,0xF9,0x8C,0xB1,0x10,0xC1,0xCC,0x6D,0x3D,0x66,0x58,0x13,0xB8,0x2E,0x88,0xAD,0xEE,0x62,0x4E, +0xA8,0xAB,0x1F,0xF2,0x2C,0xEA,0x8E,0x74,0x2B,0x46,0x3E,0x4C,0xD4,0x1E,0x98,0x2F,0x2D,0xE1,0xB4,0x6E, +0x33,0x98,0x6C,0xD4,0x93,0xBA,0x7E,0x5E,0xFB,0xD2,0x53,0x3F,0x5C,0x08,0xE0,0x41,0x94,0x4C,0x0C,0xF1, +0x32,0xBD,0x10,0x0E,0xEF,0xD2,0xA5,0x29,0xB2,0xD3,0x97,0x1F,0x65,0x7C,0x88,0xBA,0xDC,0xC2,0x8D,0x37, +0xA5,0x8E,0xAE,0x8B,0xA7,0x1A,0xC0,0x43,0xC1,0x29,0x8D,0xEE,0x5D,0xC8,0x8A,0x7F,0x21,0x75,0x4E,0x83, +0xE4,0x4B,0x52,0x7F,0x5C,0x91,0xFA,0xE3,0x3A,0xA9,0x71,0xFB,0xB6,0x60,0x72,0x01,0x64,0xDF,0x22,0x8A, +0x66,0x38,0x83,0x05,0x71,0x08,0x5C,0xC0,0x3F,0xE3,0x2C,0xC3,0x5F,0xE6,0x6C,0x14,0x92,0x29,0x5F,0xE5, +0x4F,0xAD,0xFE,0x3B,0x2E,0x33,0xFC,0x08,0x97,0x65,0x7D,0x59,0xA5,0x8D,0xBF,0x7E,0x29,0x91,0x4E,0xED, +0xC1,0x15,0x36,0xDD,0xF5,0x5F,0xF8,0x5D,0x7D,0xE2,0x97,0xB3,0xA7,0xF8,0x70,0xF1,0xD2,0x0A,0x84,0x4D, +0xB4,0xAB,0xD2,0x84,0x1E,0x40,0x01,0xFF,0x06,0x44,0x30,0x94,0x39,0x62,0x6F,0xB1,0xB4,0xB8,0x67,0x80, +0x2A,0xA1,0x09,0x06,0xE1,0x7C,0x59,0xD6,0xDA,0x21,0x64,0x48,0x50,0x02,0x30,0x09,0x79,0xB6,0x77,0xB5, +0xBF,0x79,0xDD,0x81,0x04,0xE5,0xC1,0x87,0xE9,0xC1,0x60,0xF3,0xFA,0x3B,0xB3,0x37,0x23,0x8D,0x92,0x48, +0xA6,0x3A,0xD0,0xEB,0x15,0xBD,0xF6,0xD0,0x12,0x42,0x58,0x33,0x15,0x56,0x81,0xD5,0xC2,0xF2,0xD1,0x0B, +0x3E,0x22,0x44,0x67,0xF0,0x21,0x63,0x07,0xEC,0xA6,0x5E,0xE3,0x2D,0x4A,0xE7,0xF0,0xAF,0x0E,0x61,0x7B, +0x50,0xB0,0x15,0xE0,0x29,0xA1,0x58,0x46,0x2F,0x35,0xB4,0x0A,0x80,0x50,0x03,0xC9,0x24,0xA4,0x1C,0x5B, +0x62,0x2C,0xB2,0x1F,0x99,0x09,0x45,0x1A,0xFA,0x04,0x31,0x2C,0x12,0xBD,0xAE,0x12,0xF6,0x2A,0x78,0x2E, +0x03,0x49,0x63,0xC3,0x9A,0xAF,0x79,0xF4,0xBC,0x18,0xE9,0x20,0x25,0x6F,0x04,0x61,0x25,0x0E,0xC4,0x5B, +0x35,0x58,0x09,0xED,0x75,0x33,0xA2,0xC0,0xE6,0x12,0x5C,0x4C,0x09,0x10,0xE8,0x55,0x3A,0xFF,0xF9,0xED, +0x9B,0x63,0xCE,0xD3,0x73,0x75,0xA3,0x40,0xAB,0xBD,0x50,0x1B,0x9A,0xB9,0xE0,0xD9,0x7D,0x59,0x18,0x8A, +0x40,0xA1,0x42,0xDD,0xCF,0xA7,0x93,0x4F,0xD8,0x07,0x49,0xDE,0x32,0xC8,0xA1,0x5B,0xB6,0x40,0x1F,0x8F, +0xCF,0xEC,0x1D,0xDB,0x81,0x4A,0x05,0xEE,0xD3,0x0F,0x85,0xC5,0x2C,0xFF,0x11,0xF2,0x93,0x7F,0x86,0x4C, +0x20,0xDE,0x33,0x08,0xE8,0x25,0x7E,0x1B,0x37,0xCC,0x92,0xB9,0x44,0x3B,0xCA,0x32,0x61,0x0C,0xE3,0x90, +0x30,0x6D,0x02,0x8B,0x0C,0x67,0x5A,0x90,0x60,0xA6,0xD1,0x84,0x6B,0x2C,0x4F,0xD3,0x24,0xE3,0x2B,0xFA, +0xB0,0xF5,0xF2,0x9D,0xE8,0x5D,0x8E,0x73,0x1C,0x14,0xCB,0x38,0x6B,0xEA,0x45,0xD6,0x74,0xB0,0x0E,0xEE, +0x76,0x75,0x5D,0x54,0x78,0x39,0xA5,0x22,0xFF,0x6C,0xF4,0xD5,0x1C,0xA4,0x0B,0x81,0xAA,0x47,0xF3,0x28, +0x5A,0x0E,0x56,0x68,0x41,0xA3,0x97,0xF0,0x44,0x7E,0x2D,0xB2,0xF8,0xAD,0x70,0x2D,0x77,0xE5,0x21,0xB7, +0x4D,0xD5,0xB1,0x36,0x8C,0x0D,0xAC,0x11,0xCA,0x38,0xA2,0xBE,0xB8,0x46,0xA5,0x0B,0xB3,0xAC,0xEE,0xC4, +0xF6,0x81,0x88,0x0B,0xD2,0x70,0x1E,0x2D,0x29,0xA4,0x64,0xD4,0xD3,0x75,0x51,0xE8,0x61,0x51,0x2F,0xA3, +0x98,0x35,0xC8,0x56,0x99,0xC2,0xA4,0x5E,0x09,0x1E,0xC8,0xE7,0xF7,0xF6,0xFE,0x55,0x36,0xCA,0xEA,0x1E, +0x01,0x4C,0x2B,0xF7,0x99,0xB4,0xE3,0xE9,0xB2,0x42,0xD8,0x97,0x21,0x43,0x1A,0x70,0x8C,0x79,0x98,0x04, +0xFB,0xFA,0xBE,0xEE,0xEA,0xF0,0xDF,0xA6,0x6E,0xC1,0x2E,0x4C,0x7D,0x08,0x3B,0x17,0xE7,0x2F,0x21,0x94, +0xA6,0x09,0xC5,0x94,0x1B,0x08,0x32,0x8A,0xA7,0x77,0xD6,0x40,0x4A,0xF2,0x57,0xE8,0xDA,0x1C,0xB4,0x95, +0x8D,0xE7,0x2B,0xD7,0xD9,0xBA,0x0C,0x3B,0xA1,0x22,0xBA,0xDE,0x03,0xF3,0x1C,0x3F,0x78,0x3E,0xB7,0xE8, +0xC3,0x2E,0xC8,0x5C,0x6C,0x0B,0x9E,0x25,0xD6,0x08,0xB0,0x84,0xEB,0xD5,0x4A,0x7E,0xAC,0xB2,0xA3,0xB6, +0x8F,0xA2,0x48,0x7C,0xE5,0x0F,0xBC,0x8A,0xC3,0x72,0x66,0x09,0x22,0x0C,0x04,0x60,0x78,0x8C,0xEF,0xC0, +0xA5,0x65,0x79,0xA6,0x6C,0xA8,0x68,0x87,0x80,0x34,0x6F,0x98,0x91,0x69,0x55,0xB3,0xCD,0x4D,0x6E,0x97, +0x66,0x62,0x94,0x48,0x4C,0x24,0x1B,0xC3,0x14,0xAD,0x8E,0xD1,0x14,0x52,0xE4,0xEE,0x07,0xDA,0x36,0xDA, +0x6A,0x48,0x31,0x35,0x4A,0x18,0x70,0x96,0x67,0x11,0x64,0x08,0x51,0xBD,0xB4,0xB6,0x31,0x4C,0x03,0x38, +0xC0,0xFD,0x4B,0x64,0x89,0x4A,0x9B,0x56,0x31,0xE2,0x99,0xE2,0xBB,0x4D,0x8F,0x17,0xB7,0x72,0x8C,0x65, +0x98,0x6B,0xFF,0x46,0xD3,0x92,0xBF,0xAE,0x24,0x2A,0x21,0xF4,0xE0,0xBD,0x7D,0x3E,0xEF,0x82,0x59,0xC5, +0x5D,0x38,0x41,0x59,0x41,0xA0,0xAF,0xE1,0x50,0x75,0x7B,0x96,0x78,0x27,0x71,0x57,0x5C,0xB4,0xD6,0x9F, +0xB1,0xE2,0xA3,0x6D,0x3A,0x6D,0x3E,0x1B,0xB7,0xBD,0xBB,0xBD,0x02,0x42,0x13,0xF1,0xDD,0x3E,0xE4,0x38, +0x48,0x83,0xD5,0x69,0x65,0xE3,0xD5,0x8C,0x0B,0x76,0x9A,0xB3,0xD0,0x58,0x00,0xEB,0x2E,0xB7,0x94,0xAE, +0x5C,0x6C,0x29,0xBB,0x75,0xA9,0x55,0xDA,0x87,0x0B,0xA9,0xAB,0x15,0x3F,0xFE,0xF8,0x43,0xCE,0xEA,0xDB, +0x86,0xD9,0xCA,0x85,0x2F,0xD5,0xD3,0x6E,0x99,0x91,0x85,0xD1,0xAF,0xC6,0xAA,0xDD,0x9E,0xEA,0xA7,0xCA, +0x1F,0x45,0x68,0x24,0xF0,0x44,0x72,0xD7,0x8B,0x6F,0x3E,0x60,0x38,0x85,0xB8,0x64,0x43,0x03,0x56,0xFD, +0x0A,0x56,0x2F,0x7E,0x06,0xBB,0x8A,0xBB,0x57,0x75,0x84,0x9E,0x57,0xD5,0xF3,0x2A,0xEA,0xA8,0x0D,0xDE, +0x23,0x3F,0x95,0xD0,0x15,0x18,0x1A,0x66,0x35,0xB0,0xAB,0xB3,0xC5,0xB9,0x56,0xB1,0x88,0xD8,0x3D,0xF5, +0x45,0xD4,0xAC,0xA8,0x84,0xA0,0xFE,0x56,0x13,0xAD,0x76,0x9A,0xCB,0x9A,0x33,0xF1,0x2A,0xA8,0x25,0xC5, +0x13,0x7A,0xB3,0xC6,0x00,0xF6,0xA1,0x47,0x17,0xE2,0x96,0x2E,0xAA,0xC9,0x26,0xBD,0x9A,0x82,0x78,0xB0, +0xA1,0xDE,0x95,0xA7,0xEB,0x01,0xAA,0x24,0x58,0x5D,0x54,0x55,0xC5,0xEA,0x72,0xD9,0xE8,0x55,0xDF,0x16, +0x35,0x7E,0xE5,0x52,0xD3,0x20,0xF2,0x7B,0x00,0xB9,0xBF,0xFD,0xD5,0xC0,0xA3,0x68,0x0A,0x63,0xEF,0x4F, +0x7E,0xDB,0x4D,0x59,0xFA,0x2C,0x00,0x00 }; From 2aa029bc408ac4179c2d02c02f0b116373716b73 Mon Sep 17 00:00:00 2001 From: lorol Date: Sat, 9 May 2020 16:55:57 -0400 Subject: [PATCH 21/47] Cookie Authentication including WS part taken from ayushsharma82 ideas https://github.com/me-no-dev/ESPAsyncWebServer/pull/684 For Websocket added: void handleHandshake(AwsHandshakeHandler handler) For EventSource added: void authorizeConnect(ArAuthorizeConnectHandler cb); Auth example and modifications. Tested on ESP8266 and ESP32 platforms See SmartSwitch.ino --- examples/SmartSwitch/README.md | 8 +- examples/SmartSwitch/SmartSwitch.ino | 161 ++++++++++++++---- examples/SmartSwitch/data/acefull.js.gz | Bin 119986 -> 119986 bytes .../SmartSwitch/data/login/favicon.ico.gz | Bin 0 -> 5806 bytes examples/SmartSwitch/data/login/index.htm | 20 +++ examples/SmartSwitch/data/worker-css.js.gz | Bin 35483 -> 35483 bytes examples/SmartSwitch/data/worker-html.js.gz | Bin 47406 -> 47406 bytes .../SmartSwitch/data/worker-javascript.js.gz | Bin 47729 -> 47729 bytes src/AsyncEventSource.cpp | 10 ++ src/AsyncEventSource.h | 3 + src/AsyncWebSocket.cpp | 11 ++ src/AsyncWebSocket.h | 7 + src/edit.htm.gz.h | 2 +- 13 files changed, 185 insertions(+), 37 deletions(-) create mode 100644 examples/SmartSwitch/data/login/favicon.ico.gz create mode 100644 examples/SmartSwitch/data/login/index.htm diff --git a/examples/SmartSwitch/README.md b/examples/SmartSwitch/README.md index fd8cd40..4ce4e9a 100644 --- a/examples/SmartSwitch/README.md +++ b/examples/SmartSwitch/README.md @@ -4,14 +4,16 @@ ## SmartSwitch * Remote Temperature Control application with schedule (example car block heater or battery charger) -* Based on ESP_AsyncFSBrowser example +* Based on ESP_AsyncFSBrowser example with ACE editor * Wide browser compatibility, no extra server-side needed * HTTP server and WebSocket, single port * Standalone, no JS dependencies for the browser from Internet (I hope), ace editor included * Added ESPAsyncWiFiManager -* Fallback to an own WIFI_AP, no Internet to sync but by a browser the clock can be set once * Real Time (NTP) w/ Time Zones * Memorized settings to EEPROM * Multiple clients can be connected at same time, they see each other' requests +* Base Authentication of the editor, static content, WS +* Or Cookie Authentication including WS part, need lib src changes taken from https://github.com/me-no-dev/ESPAsyncWebServer/pull/684 * Default credentials smart:switch -* Use latest ESP8266 or ESP32 core(from GitHub) +* Use latest ESP8266 ESP32 cores from GitHub + diff --git a/examples/SmartSwitch/SmartSwitch.ino b/examples/SmartSwitch/SmartSwitch.ino index 0307cd2..9609e9d 100644 --- a/examples/SmartSwitch/SmartSwitch.ino +++ b/examples/SmartSwitch/SmartSwitch.ino @@ -16,9 +16,21 @@ Use latest ESP core lib (from Github) #define USE_WFM // to use ESPAsyncWiFiManager //#define DEL_WFM // delete Wifi credentials stored //(use once then comment and flash again), also HTTP /erase-wifi can do the same live - -#define USE_AUTH_STAT // .setAuthentication also for static (editor always requires auth) -//#define USE_AUTH_WS // .setAuthentication also for ws, broken for Safari iOS + +// AUTH COOKIE uses only the password, Base uses both +#define http_username "smart" +#define http_password "switch" + +//See https://github.com/me-no-dev/ESPAsyncWebServer/pull/684 +#define USE_AUTH_COOKIE +#define MY_COOKIE_FULL "LLKQ=7;max-age=31536000;" +#define MY_COOKIE_DEL "LLKQ=" +#define MY_COOKIE "LLKQ=7" + +#ifndef USE_AUTH_COOKIE + #define USE_AUTH_STAT //Base Auth for stat, /commands and SPIFFSEditor + //#define USE_AUTH_WS //Base Auth also for WS, not very supported +#endif #include #ifdef ESP32 @@ -55,7 +67,10 @@ Use latest ESP core lib (from Github) // DHT #define DHTTYPE DHT22 // DHT 11 // DHT 22, AM2302, AM2321 // DHT 21, AM2301 -#define DHTPIN 4 //D2 +#define DHTPIN 4 //D2 + +#define DHT_T_CORR -0.5 //Temperature offset compensation of the sensor (can be -) +#define DHT_H_CORR 1.5 //Humidity offset compensation of the sensor DHT dht(DHTPIN, DHTTYPE); @@ -80,9 +95,7 @@ AsyncWebSocket ws("/ws"); const char* ssid = "MYROUTERSSD"; const char* password = "MYROUTERPASSWD"; #endif -const char* hostName = "smartsw"; -const char* http_username = "smart"; -const char* http_password = "switch"; + const char* hostName = "smartsw32"; // RTC static timeval tv; @@ -91,6 +104,15 @@ static time_t now; // HW I/O const int btnPin = 0; //D3 const int ledPin = 2; //D4 + +#ifdef ESP32 + #define LED_ON 0x1 + #define LED_OFF 0x0 +#elif defined(ESP8266) + #define LED_ON 0x0 + #define LED_OFF 0x1 +#endif + int btnState = HIGH; // Globals @@ -101,7 +123,7 @@ float t = 0; float h = 0; bool udht = false; bool heat_enabled_prev = false; -int ledState; +int ledState = LED_OFF; struct EE_bl { byte memid; //here goes the EEMARK stamp @@ -178,30 +200,32 @@ void showTime() } if (heat_enabled_prev) { // smart control (delayed one cycle) - if (((t - HYST) < ee.tempe)&&(ledState == HIGH)) { // OFF->ON once - ledState = LOW; + if (((t - HYST) < ee.tempe)&&(ledState == LED_OFF)) { // OFF->ON once + ledState = LED_ON; digitalWrite(ledPin, ledState); // apply change ws.textAll("led,ledon"); } - if ((((t + HYST) > ee.tempe)&&(ledState == LOW))||(!heat_enabled)) { // ON->OFF once, also turn off at end of period. - ledState = HIGH; + if ((((t + HYST) > ee.tempe)&&(ledState == LED_ON))||(!heat_enabled)) { // ON->OFF once, also turn off at end of period. + ledState = LED_OFF; digitalWrite(ledPin, ledState); // apply change ws.textAll("led,ledoff"); } - Serial.printf(ledState ? "LED OFF" : "LED ON"); + + Serial.printf(ledState == LED_ON ? "LED ON" : "LED OFF"); Serial.print(F(", Smart enabled\n")); } heat_enabled_prev = heat_enabled; //update } void updateDHT(){ - h = dht.readHumidity(); - t = dht.readTemperature(); //Celsius or dht.readTemperature(true) for Fahrenheit - if (isnan(h) || isnan(t)) { + float h1 = dht.readHumidity(); + float t1 = dht.readTemperature(); //Celsius or dht.readTemperature(true) for Fahrenheit + if (isnan(h1) || isnan(t1)) { Serial.print(F("Failed to read from DHT sensor!")); - h = 0; // debug w/o sensor - t = 0; - } + } else { + h = h1 + DHT_H_CORR; + t = t1 + DHT_T_CORR; + } } void analogSample() @@ -216,7 +240,7 @@ void checkPhysicalButton() if (btnState != LOW) { // btnState is used to avoid sequential toggles ledState = !ledState; digitalWrite(ledPin, ledState); - if (ledState) ws.textAll("led,ledoff"); + if (ledState == LED_OFF) ws.textAll("led,ledoff"); else ws.textAll("led,ledon"); } btnState = LOW; @@ -241,6 +265,16 @@ void mytimer() { } } +#ifdef USE_AUTH_COOKIE +bool myHandshake(AsyncWebServerRequest *request){ // false will 401 + if (request->hasHeader("Cookie")){ + String cookie = request->header("Cookie"); + if (cookie.indexOf(MY_COOKIE) != -1) return true; + else return false; + } else return false; +} +#endif + // server void onWsEvent(AsyncWebSocket * server, AsyncWebSocketClient * client, AwsEventType type, void * arg, uint8_t *data, size_t len){ if(type == WS_EVT_CONNECT){ @@ -252,7 +286,7 @@ void onWsEvent(AsyncWebSocket * server, AsyncWebSocketClient * client, AwsEventT Serial.printf("[%u] Connected from %d.%d.%d.%d\n", client->id(), ip[0], ip[1], ip[2], ip[3]); showTime(); analogSample(); - if (ledState) ws.textAll("led,ledoff"); + if (ledState == LED_OFF) ws.textAll("led,ledoff"); else ws.textAll("led,ledon"); ws.printfAll("Now,Setting,%02d:%02d,%02d:%02d,%+2.1f", ee.hstart, ee.mstart, ee.hstop, ee.mstop, ee.tempe); @@ -279,11 +313,11 @@ void onWsEvent(AsyncWebSocket * server, AsyncWebSocketClient * client, AwsEventT } if(data[0] == 'L') { // LED if(data[1] == '1') { - ledState = LOW; + ledState = LED_ON; ws.textAll("led,ledon"); // for others } else if(data[1] == '0') { - ledState = HIGH; + ledState = LED_OFF; ws.textAll("led,ledoff"); } digitalWrite(ledPin, ledState); // apply change @@ -444,31 +478,74 @@ void setup(){ #ifdef USE_AUTH_WS ws.setAuthentication(http_username,http_password); #endif + +#ifdef USE_AUTH_COOKIE + ws.handleHandshake(myHandshake); +#endif + ws.onEvent(onWsEvent); server.addHandler(&ws); #ifdef ESP32 + #ifdef USE_AUTH_STAT server.addHandler(new SPIFFSEditor(SPIFFS, http_username,http_password)); + #elif defined(USE_AUTH_COOKIE) + server.addHandler(new SPIFFSEditor(SPIFFS)).setFilter(myHandshake); + #endif #elif defined(ESP8266) + #ifdef USE_AUTH_STAT server.addHandler(new SPIFFSEditor(http_username,http_password)); + #elif defined(USE_AUTH_COOKIE) + server.addHandler(new SPIFFSEditor()).setFilter(myHandshake); + #endif #endif - - server.on("/free-ram", HTTP_GET, [](AsyncWebServerRequest *request){ // direct request->answer - request->send(200, "text/plain", String(ESP.getFreeHeap())); + +#ifdef USE_AUTH_COOKIE + server.on("/lg2n", HTTP_POST, [](AsyncWebServerRequest *request){ // cookie test + if((request->hasParam("pa2w",true) && (String(request->getParam("pa2w",true)->value().c_str()) == String(http_password)))||(request->hasParam("lg0f",true))){ + AsyncWebServerResponse *response = request->beginResponse(301); + response->addHeader("Location", "/"); + response->addHeader("Cache-Control", "no-cache"); + if(request->hasParam("lg0f",true)) response->addHeader("Set-Cookie", MY_COOKIE_DEL); + else response->addHeader("Set-Cookie", MY_COOKIE_FULL); + request->send(response); + } else request->send(200, "text/plain","Wrong Password!"); }); +#endif +// below paths need individual auth //////////////////////////////////////////////// - server.on("/get-time", HTTP_GET, [](AsyncWebServerRequest *request){ + server.on("/free-ram", HTTP_GET, [](AsyncWebServerRequest *request){ // direct request->answer +#ifdef USE_AUTH_STAT + if(!request->authenticate(http_username, http_password)) return request->requestAuthentication(); +#endif + request->send(200, "text/plain", String(ESP.getFreeHeap())); +#ifdef USE_AUTH COOKIE + }).setFilter(myHandshake); +#else + }); +#endif + + server.on("/get-time", HTTP_GET, [](AsyncWebServerRequest *request){ +#ifdef USE_AUTH_STAT + if(!request->authenticate(http_username, http_password)) return request->requestAuthentication(); +#endif if(request->hasParam("btime")){ time_t rtc = (request->getParam("btime")->value()).toInt(); timeval tv = { rtc, 0 }; settimeofday(&tv, nullptr); } request->send(200, "text/plain","Got browser time ..."); +#ifdef USE_AUTH COOKIE + }).setFilter(myHandshake); +#else }); - +#endif server.on("/hw-reset", HTTP_GET, [](AsyncWebServerRequest *request){ +#ifdef USE_AUTH_STAT + if(!request->authenticate(http_username, http_password)) return request->requestAuthentication(); +#endif request->onDisconnect([]() { #ifdef ESP32 ESP.restart(); @@ -477,9 +554,16 @@ void setup(){ #endif }); request->send(200, "text/plain","Restarting ..."); +#ifdef USE_AUTH COOKIE + }).setFilter(myHandshake); +#else }); +#endif server.on("/erase-wifi", HTTP_GET, [](AsyncWebServerRequest *request){ +#ifdef USE_AUTH_STAT + if(!request->authenticate(http_username, http_password)) return request->requestAuthentication(); +#endif request->onDisconnect([]() { WiFi.disconnect(true); #ifdef ESP32 @@ -489,12 +573,23 @@ void setup(){ #endif }); request->send(200, "text/plain","Erasing WiFi data ..."); - }); - -#ifdef USE_AUTH_STAT - server.serveStatic("/", SPIFFS, "/").setDefaultFile("index.htm").setAuthentication(http_username,http_password); +#ifdef USE_AUTH COOKIE + }).setFilter(myHandshake); #else - server.serveStatic("/", SPIFFS, "/").setDefaultFile("index.htm"); + }); +#endif + +// above paths need individual auth //////////////////////////////////////////////// + +#ifdef USE_AUTH_COOKIE + server.serveStatic("/", SPIFFS, "/").setDefaultFile("index.htm").setFilter(myHandshake); + server.serveStatic("/", SPIFFS, "/login/").setDefaultFile("index.htm").setFilter(!myHandshake); +#else + #ifdef USE_AUTH_STAT + server.serveStatic("/", SPIFFS, "/").setDefaultFile("index.htm").setAuthentication(http_username,http_password); + #else + server.serveStatic("/", SPIFFS, "/").setDefaultFile("index.htm"); + #endif #endif server.onNotFound([](AsyncWebServerRequest *request){ // nothing known diff --git a/examples/SmartSwitch/data/acefull.js.gz b/examples/SmartSwitch/data/acefull.js.gz index e08df275219565d93939df9642c0198e32044e3b..00cdd5f934f68062b7484b87eedd6b1d99bf0815 100644 GIT binary patch delta 21 dcmdnAl6})kc6Rx04vsA0?TzeP*%?<~0RU2g2Yvtm delta 21 dcmdnAl6})kc6Rx04i0ax4UOzu*%?<~0RU412af;% diff --git a/examples/SmartSwitch/data/login/favicon.ico.gz b/examples/SmartSwitch/data/login/favicon.ico.gz new file mode 100644 index 0000000000000000000000000000000000000000..9e605465c6e22500502ba34a11be2488bc508355 GIT binary patch literal 5806 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 + + + + Login + + + + + +

diff --git a/examples/SmartSwitch/data/login/index.htm b/examples/SmartSwitch/data/login/index.htm index c522ea4..5e39f6f 100644 --- a/examples/SmartSwitch/data/login/index.htm +++ b/examples/SmartSwitch/data/login/index.htm @@ -12,7 +12,7 @@

Password

- +



From 10a23dfcc78fa7957bb1a0ab0c166157190f2895 Mon Sep 17 00:00:00 2001 From: lorol Date: Wed, 27 May 2020 11:51:06 -0400 Subject: [PATCH 23/47] Updated the Readme.md files in this fork (used Mark Text editor) Cookie auth with Xtea encrypting, see SmartSwitch.ino example Tested on ESP8266 and ESP32 with better built-in LED handling Minor updates and improvements of js / html packed files. --- README.md | 116 ++++++++++++++-- examples/SmartSwitch/PinOut_Notes.txt | 14 +- examples/SmartSwitch/README.md | 48 ++++--- examples/SmartSwitch/SmartSwitch.ino | 125 ++++++++++++++---- examples/SmartSwitch/Xtea.cpp | 48 +++++++ examples/SmartSwitch/Xtea.h | 20 +++ examples/SmartSwitch/data/acefull.js.gz | Bin 119986 -> 119986 bytes examples/SmartSwitch/data/index.htm | 39 +++--- examples/SmartSwitch/data/index.min.htm.gz | Bin 4193 -> 3328 bytes examples/SmartSwitch/data/login/index.htm | 26 +++- examples/SmartSwitch/data/worker-css.js.gz | Bin 35483 -> 35483 bytes examples/SmartSwitch/data/worker-html.js.gz | Bin 47406 -> 47406 bytes .../SmartSwitch/data/worker-javascript.js.gz | Bin 47729 -> 47729 bytes extras/README.md | 28 ++++ extras/Readme | 27 ---- src/edit.htm.gz.h | 2 +- 16 files changed, 381 insertions(+), 112 deletions(-) create mode 100644 examples/SmartSwitch/Xtea.cpp create mode 100644 examples/SmartSwitch/Xtea.h create mode 100644 extras/README.md delete mode 100644 extras/Readme diff --git a/README.md b/README.md index 5cc2fc0..3b4bae6 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,20 @@ -# ESPAsyncWebServer +# In this fork + +SPIFFSEditor improvements + +Added [extras](https://github.com/lorol/ESPAsyncWebServer/tree/master/extras) folder with (Win) tools for re-packing, allow editing, updating and compressing html to binary arrays, embedded to source + +Added a [SmartSwitch](https://github.com/lorol/ESPAsyncWebServer/tree/master/examples/SmartSwitch) example to test code features + +Applied the memory optimizations from [sascha432](https://github.com/sascha432/ESPAsyncWebServer) fork + +Cookie Authentication including on Websocket part, based on [ayushsharma82](https://github.com/me-no-dev/ESPAsyncWebServer/pull/684) PR, new functions added: + +- For Websocket: ```void handleHandshake(AwsHandshakeHandler handler) ``` +- For EventSource: ```void authorizeConnect(ArAuthorizeConnectHandler cb)``` + +# ESPAsyncWebServer + [![Build Status](https://travis-ci.org/me-no-dev/ESPAsyncWebServer.svg?branch=master)](https://travis-ci.org/me-no-dev/ESPAsyncWebServer) ![](https://github.com/me-no-dev/ESPAsyncWebServer/workflows/ESP%20Async%20Web%20Server%20CI/badge.svg) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/395dd42cfc674e6ca2e326af3af80ffc)](https://www.codacy.com/manual/me-no-dev/ESPAsyncWebServer?utm_source=github.com&utm_medium=referral&utm_content=me-no-dev/ESPAsyncWebServer&utm_campaign=Badge_Grade) For help and support [![Join the chat at https://gitter.im/me-no-dev/ESPAsyncWebServer](https://badges.gitter.im/me-no-dev/ESPAsyncWebServer.svg)](https://gitter.im/me-no-dev/ESPAsyncWebServer?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) @@ -12,6 +28,7 @@ For ESP32 it requires [AsyncTCP](https://github.com/me-no-dev/AsyncTCP) to work To use this library you might need to have the latest git versions of [ESP32](https://github.com/espressif/arduino-esp32) Arduino Core ## Table of contents + - [ESPAsyncWebServer](#espasyncwebserver) - [Table of contents](#table-of-contents) - [Installation](#installation) @@ -102,7 +119,7 @@ To use this library you might need to have the latest git versions of [ESP32](ht 3. Update dev/platform to staging version: - [Instruction for Espressif 8266](http://docs.platformio.org/en/latest/platforms/espressif8266.html#using-arduino-framework-with-staging-version) - [Instruction for Espressif 32](http://docs.platformio.org/en/latest/platforms/espressif32.html#using-arduino-framework-with-staging-version) - 4. Add "ESP Async WebServer" to project using [Project Configuration File `platformio.ini`](http://docs.platformio.org/page/projectconf.html) and [lib_deps](http://docs.platformio.org/page/projectconf/section_env_library.html#lib-deps) option: + 4. Add "ESP Async WebServer" to project using [Project Configuration File `platformio.ini`](http://docs.platformio.org/page/projectconf.html) and [lib_deps](http://docs.platformio.org/page/projectconf/section_env_library.html#lib-deps) option: ```ini [env:myboard] @@ -116,9 +133,11 @@ lib_deps = ESP Async WebServer # or using GIT Url (the latest development version) lib_deps = https://github.com/me-no-dev/ESPAsyncWebServer.git ``` - 5. Happy coding with PlatformIO! + +5. Happy coding with PlatformIO! ## Why should you care + - Using asynchronous network means that you can handle more than one connection at the same time - You are called once the request is ready and parsed - When you send the response, you are immediately ready to handle other connections @@ -134,6 +153,7 @@ lib_deps = https://github.com/me-no-dev/ESPAsyncWebServer.git - Simple template processing engine to handle templates ## Important things to remember + - This is fully asynchronous server and as such does not run on the loop thread. - You can not use yield or delay or any function that uses them inside the callbacks - The server is smart enough to know when to close the connection and free resources @@ -142,6 +162,7 @@ lib_deps = https://github.com/me-no-dev/ESPAsyncWebServer.git ## Principles of operation ### The Async Web server + - Listens for connections - Wraps the new clients into ```Request``` - Keeps track of clients and cleans memory @@ -149,6 +170,7 @@ lib_deps = https://github.com/me-no-dev/ESPAsyncWebServer.git - Manages ```Handlers``` and attaches them to Requests ### Request Life Cycle + - TCP connection is received by the server - The connection is wrapped inside ```Request``` object - When the request head is received (type, url, get params, http version and host), @@ -161,6 +183,7 @@ lib_deps = https://github.com/me-no-dev/ESPAsyncWebServer.git - When the ```Response``` is sent, the client is closed and freed from the memory ### Rewrites and how do they work + - The ```Rewrites``` are used to rewrite the request url and/or inject get parameters for a specific request url path. - All ```Rewrites``` are evaluated on the request in the order they have been added to the server. - The ```Rewrite``` will change the request url only if the request url (excluding get parameters) is fully match @@ -172,6 +195,7 @@ lib_deps = https://github.com/me-no-dev/ESPAsyncWebServer.git - The ```Rewrite``` can specify a target url with optional get parameters, e.g. ```/to-url?with=params``` ### Handlers and how do they work + - The ```Handlers``` are used for executing specific actions to particular requests - One ```Handler``` instance can be attached to any request and lives together with the server - Setting a ```Filter``` to the ```Handler``` enables to control when to apply the handler, decision can be based on @@ -189,6 +213,7 @@ lib_deps = https://github.com/me-no-dev/ESPAsyncWebServer.git - The first ```Handler``` that can handle the request is selected, not further ```Filter``` and ```canHandle``` are called. ### Responses and how do they work + - The ```Response``` objects are used to send the response data back to the client - The ```Response``` object lives with the ```Request``` and is freed on end or disconnect - Different techniques are used depending on the response type to send the data in packets @@ -198,6 +223,7 @@ lib_deps = https://github.com/me-no-dev/ESPAsyncWebServer.git - Many different options exist for the user to make responding a background task ### Template processing + - ESPAsyncWebserver contains simple template processing engine. - Template processing can be added to most response types. - Currently it supports only replacing template placeholders with actual values. No conditional processing, cycles, etc. @@ -207,6 +233,7 @@ lib_deps = https://github.com/me-no-dev/ESPAsyncWebServer.git - Since it's impossible to know the actual response size after template processing step in advance (and, therefore, to include it in response headers), the response becomes [chunked](#chunked-response). ## Libraries and projects that use AsyncWebServer + - [WebSocketToSerial](https://github.com/hallard/WebSocketToSerial) - Debug serial devices through the web browser - [Sattrack](https://github.com/Hopperpop/Sattrack) - Track the ISS with ESP8266 - [ESP Radio](https://github.com/Edzelf/Esp-radio) - Icecast radio based on ESP8266 and VS1053 @@ -218,6 +245,7 @@ lib_deps = https://github.com/me-no-dev/ESPAsyncWebServer.git ## Request Variables ### Common Variables + ```cpp request->version(); // uint8_t: 0 = HTTP/1.0, 1 = HTTP/1.1 request->method(); // enum: HTTP_GET, HTTP_POST, HTTP_DELETE, HTTP_PUT, HTTP_PATCH, HTTP_HEAD, HTTP_OPTIONS @@ -229,6 +257,7 @@ request->multipart(); // bool: True if the request has content type "mult ``` ### Headers + ```cpp //List all collected headers int headers = request->headers(); @@ -258,6 +287,7 @@ if(request->hasHeader("MyHeader")){ ``` ### GET, POST and FILE parameters + ```cpp //List all parameters int params = request->params(); @@ -296,6 +326,7 @@ if(request->hasArg("download")) ``` ### FILE Upload handling + ```cpp void handleUpload(AsyncWebServerRequest *request, String filename, size_t index, uint8_t *data, size_t len, bool final){ if(!index){ @@ -311,6 +342,7 @@ void handleUpload(AsyncWebServerRequest *request, String filename, size_t index, ``` ### Body data handling + ```cpp void handleBody(AsyncWebServerRequest *request, uint8_t *data, size_t len, size_t index, size_t total){ if(!index){ @@ -324,10 +356,13 @@ void handleBody(AsyncWebServerRequest *request, uint8_t *data, size_t len, size_ } } ``` + If needed, the `_tempObject` field on the request can be used to store a pointer to temporary data (e.g. from the body) associated with the request. If assigned, the pointer will automatically be freed along with the request. ### JSON body handling with ArduinoJson + Endpoints which consume JSON can use a special handler to get ready to use JSON data in the request callback: + ```cpp #include "AsyncJson.h" #include "ArduinoJson.h" @@ -340,7 +375,9 @@ server.addHandler(handler); ``` ## Responses + ### Redirect to another URL + ```cpp //to local url request->redirect("/login"); @@ -350,11 +387,13 @@ request->redirect("http://esp8266.com"); ``` ### Basic response with HTTP Code + ```cpp request->send(404); //Sends 404 File Not Found ``` ### Basic response with HTTP Code and extra headers + ```cpp AsyncWebServerResponse *response = request->beginResponse(404); //Sends 404 File Not Found response->addHeader("Server","ESP Async Web Server"); @@ -362,11 +401,13 @@ request->send(response); ``` ### Basic response with string content + ```cpp request->send(200, "text/plain", "Hello World!"); ``` ### Basic response with string content and extra headers + ```cpp AsyncWebServerResponse *response = request->beginResponse(200, "text/plain", "Hello World!"); response->addHeader("Server","ESP Async Web Server"); @@ -374,12 +415,14 @@ request->send(response); ``` ### Send large webpage from PROGMEM + ```cpp const char index_html[] PROGMEM = "..."; // large char array, tested with 14k request->send_P(200, "text/html", index_html); ``` ### Send large webpage from PROGMEM and extra headers + ```cpp const char index_html[] PROGMEM = "..."; // large char array, tested with 14k AsyncWebServerResponse *response = request->beginResponse_P(200, "text/html", index_html); @@ -388,6 +431,7 @@ request->send(response); ``` ### Send large webpage from PROGMEM containing templates + ```cpp String processor(const String& var) { @@ -403,6 +447,7 @@ request->send_P(200, "text/html", index_html, processor); ``` ### Send large webpage from PROGMEM containing templates and extra headers + ```cpp String processor(const String& var) { @@ -420,8 +465,8 @@ request->send(response); ``` ### Send binary content from PROGMEM -```cpp +```cpp //File: favicon.ico.gz, Size: 726 #define favicon_ico_gz_len 726 const uint8_t favicon_ico_gz[] PROGMEM = { @@ -479,12 +524,14 @@ request->send(response); ``` ### Respond with content coming from a Stream + ```cpp //read 12 bytes from Serial and send them as Content Type text/plain request->send(Serial, "text/plain", 12); ``` ### Respond with content coming from a Stream and extra headers + ```cpp //read 12 bytes from Serial and send them as Content Type text/plain AsyncWebServerResponse *response = request->beginResponse(Serial, "text/plain", 12); @@ -493,6 +540,7 @@ request->send(response); ``` ### Respond with content coming from a Stream containing templates + ```cpp String processor(const String& var) { @@ -508,6 +556,7 @@ request->send(Serial, "text/plain", 12, processor); ``` ### Respond with content coming from a Stream containing templates and extra headers + ```cpp String processor(const String& var) { @@ -525,6 +574,7 @@ request->send(response); ``` ### Respond with content coming from a File + ```cpp //Send index.htm with default content type request->send(SPIFFS, "/index.htm"); @@ -537,6 +587,7 @@ request->send(SPIFFS, "/index.htm", String(), true); ``` ### Respond with content coming from a File and extra headers + ```cpp //Send index.htm with default content type AsyncWebServerResponse *response = request->beginResponse(SPIFFS, "/index.htm"); @@ -552,14 +603,17 @@ request->send(response); ``` ### Respond with content coming from a File containing templates + Internally uses [Chunked Response](#chunked-response). Index.htm contents: + ``` %HELLO_FROM_TEMPLATE% ``` Somewhere in source files: + ```cpp String processor(const String& var) { @@ -575,6 +629,7 @@ request->send(SPIFFS, "/index.htm", String(), false, processor); ``` ### Respond with content using a callback + ```cpp //send 128 bytes as plain text request->send("text/plain", 128, [](uint8_t *buffer, size_t maxLen, size_t index) -> size_t { @@ -588,6 +643,7 @@ request->send("text/plain", 128, [](uint8_t *buffer, size_t maxLen, size_t index ``` ### Respond with content using a callback and extra headers + ```cpp //send 128 bytes as plain text AsyncWebServerResponse *response = request->beginResponse("text/plain", 128, [](uint8_t *buffer, size_t maxLen, size_t index) -> size_t { @@ -603,6 +659,7 @@ request->send(response); ``` ### Respond with content using a callback containing templates + ```cpp String processor(const String& var) { @@ -625,6 +682,7 @@ request->send("text/plain", 128, [](uint8_t *buffer, size_t maxLen, size_t index ``` ### Respond with content using a callback containing templates and extra headers + ```cpp String processor(const String& var) { @@ -649,7 +707,9 @@ request->send(response); ``` ### Chunked Response + Used when content length is unknown. Works best if the client supports HTTP/1.1 + ```cpp AsyncWebServerResponse *response = request->beginChunkedResponse("text/plain", [](uint8_t *buffer, size_t maxLen, size_t index) -> size_t { //Write up to "maxLen" bytes into "buffer" and return the amount written. @@ -663,7 +723,9 @@ request->send(response); ``` ### Chunked Response containing templates + Used when content length is unknown. Works best if the client supports HTTP/1.1 + ```cpp String processor(const String& var) { @@ -686,6 +748,7 @@ request->send(response); ``` ### Print to response + ```cpp AsyncResponseStream *response = request->beginResponseStream("text/html"); response->addHeader("Server","ESP Async Web Server"); @@ -736,7 +799,9 @@ request->send(response); ``` ### ArduinoJson Basic Response + This way of sending Json is great for when the result is below 4KB + ```cpp #include "AsyncJson.h" #include "ArduinoJson.h" @@ -752,11 +817,13 @@ request->send(response); ``` ### ArduinoJson Advanced Response + This response can handle really large Json objects (tested to 40KB) There isn't any noticeable speed decrease for small results with the method above Since ArduinoJson does not allow reading parts of the string, the whole Json has to be passed every time a chunks needs to be sent, which shows speed decrease proportional to the resulting json packets + ```cpp #include "AsyncJson.h" #include "ArduinoJson.h" @@ -772,6 +839,7 @@ request->send(response); ``` ## Serving static files + In addition to serving files from SPIFFS as described above, the server provide a dedicated handler that optimize the performance of serving files from SPIFFS - ```AsyncStaticWebHandler```. Use ```server.serveStatic()``` function to initialize and add a new instance of ```AsyncStaticWebHandler``` to the server. @@ -780,13 +848,16 @@ handler that can handle the request. Notice that you can chain setter functions to setup the handler, or keep a pointer to change it at a later time. ### Serving specific file by name + ```cpp // Serve the file "/www/page.htm" when request url is "/page.htm" server.serveStatic("/page.htm", SPIFFS, "/www/page.htm"); ``` ### Serving files in directory + To serve files in a directory, the path to the files should specify a directory in SPIFFS and ends with "/". + ```cpp // Serve files in directory "/www/" when request url starts with "/" // Request to the root or none existing files will try to server the defualt @@ -807,8 +878,10 @@ server ``` ### Specifying Cache-Control header + It is possible to specify Cache-Control header value to reduce the number of calls to the server once the client loaded the files. For more information on Cache-Control values see [Cache-Control](https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9) + ```cpp // Cache responses for 10 minutes (600 seconds) server.serveStatic("/", SPIFFS, "/www/").setCacheControl("max-age=600"); @@ -823,8 +896,10 @@ handler->setCacheControl("max-age=30"); ``` ### Specifying Date-Modified header + It is possible to specify Date-Modified header to enable the server to return Not-Modified (304) response for requests with "If-Modified-Since" header with the same value, instead of responding with the actual file content. + ```cpp // Update the date modified string every time files are updated server.serveStatic("/", SPIFFS, "/www/").setLastModified("Mon, 20 Jun 2016 14:00:00 GMT"); @@ -843,8 +918,10 @@ handler->setLastModified(date_modified); ``` ### Specifying Template Processor callback + It is possible to specify template processor for static files. For information on template processor see [Respond with content coming from a File containing templates](#respond-with-content-coming-from-a-file-containing-templates). + ```cpp String processor(const String& var) { @@ -859,6 +936,7 @@ server.serveStatic("/", SPIFFS, "/www/").setTemplateProcessor(processor); ``` ## Param Rewrite With Matching + It is possible to rewrite the request url with parameter matchg. Here is an example with one parameter: Rewrite for example "/radio/{frequence}" -> "/radio?f={frequence}" @@ -911,20 +989,24 @@ Usage: ``` ## Using filters + Filters can be set to `Rewrite` or `Handler` in order to control when to apply the rewrite and consider the handler. A filter is a callback function that evaluates the request and return a boolean `true` to include the item or `false` to exclude it. Two filter callback are provided for convince: + * `ON_STA_FILTER` - return true when requests are made to the STA (station mode) interface. * `ON_AP_FILTER` - return true when requests are made to the AP (access point) interface. ### Serve different site files in AP mode + ```cpp server.serveStatic("/", SPIFFS, "/www/").setFilter(ON_STA_FILTER); server.serveStatic("/", SPIFFS, "/ap/").setFilter(ON_AP_FILTER); ``` ### Rewrite to different index on AP + ```cpp // Serve the file "/www/index-ap.htm" in AP, and the file "/www/index.htm" on STA server.rewrite("/", "index.htm"); @@ -933,6 +1015,7 @@ server.serveStatic("/", SPIFFS, "/www/"); ``` ### Serving different hosts + ```cpp // Filter callback using request host bool filterOnHost1(AsyncWebServerRequest *request) { return request->host() == "host1"; } @@ -943,6 +1026,7 @@ server.serveStatic("/", SPIFFS, "/www/"); ``` ### Determine interface inside callbacks + ```cpp String RedirectUrl = "http://"; if (ON_STA_FILTER(request)) { @@ -955,11 +1039,13 @@ server.serveStatic("/", SPIFFS, "/www/"); ``` ## Bad Responses + Some responses are implemented, but you should not use them, because they do not conform to HTTP. The following example will lead to unclean close of the connection and more time wasted than providing the length of the content ### Respond with content using a callback without content length to HTTP/1.0 clients + ```cpp //This is used as fallback for chunked responses to HTTP/1.0 Clients request->send("text/plain", 0, [](uint8_t *buffer, size_t maxLen, size_t index) -> size_t { @@ -971,12 +1057,13 @@ request->send("text/plain", 0, [](uint8_t *buffer, size_t maxLen, size_t index) ``` ## Async WebSocket Plugin + The server includes a web socket plugin which lets you define different WebSocket locations to connect to without starting another listening service or using different port ### Async WebSocket Event -```cpp +```cpp void onEvent(AsyncWebSocket * server, AsyncWebSocketClient * client, AwsEventType type, void * arg, uint8_t *data, size_t len){ if(type == WS_EVT_CONNECT){ //client connected @@ -1046,10 +1133,8 @@ void onEvent(AsyncWebSocket * server, AsyncWebSocketClient * client, AwsEventTyp ``` ### Methods for sending data to a socket client + ```cpp - - - //Server methods AsyncWebSocket ws("/ws"); //printf to a client @@ -1104,6 +1189,7 @@ client->binary(flash_binary, 4); ``` ### Direct access to web socket message buffer + When sending a web socket message using the above methods a buffer is created. Under certain circumstances you might want to manipulate or populate this buffer directly from your application, for example to prevent unnecessary duplications of the data. This example below shows how to create a buffer and print data to it from an ArduinoJson object then send it. ```cpp @@ -1130,6 +1216,7 @@ void sendDataWs(AsyncWebSocketClient * client) ``` ### Limiting the number of web socket clients + Browsers sometimes do not correctly close the websocket connection, even when the close() function is called in javascript. This will eventually exhaust the web server's resources and will cause the server to crash. Periodically calling the cleanClients() function from the main loop() function limits the number of clients by closing the oldest client when the maximum number of clients has been exceeded. This can called be every cycle, however, if you wish to use less power, then calling as infrequently as once per second is sufficient. ```cpp @@ -1138,12 +1225,13 @@ void loop(){ } ``` - ## Async Event Source Plugin + The server includes EventSource (Server-Sent Events) plugin which can be used to send short text events to the browser. Difference between EventSource and WebSockets is that EventSource is single direction, text-only protocol. ### Setup Event Source on the server + ```cpp AsyncWebServer server(80); AsyncEventSource events("/events"); @@ -1173,6 +1261,7 @@ void loop(){ ``` ### Setup Event Source in the browser + ```javascript if (!!window.EventSource) { var source = new EventSource('/events'); @@ -1198,6 +1287,7 @@ if (!!window.EventSource) { ``` ## Scanning for available WiFi Networks + ```cpp //First request will return 0 results unless you start scan from somewhere else (loop/setup) //Do not request more often than 3-5 seconds @@ -1233,6 +1323,7 @@ server.on("/scan", HTTP_GET, [](AsyncWebServerRequest *request){ Server goes through handlers in same order as they were added. You can't simple add handler with same path to override them. To remove handler: + ```arduino // save callback for particular URL path auto handler = server.on("/some/path", [](AsyncWebServerRequest *request){ @@ -1256,6 +1347,7 @@ server.reset(); ``` ## Setting up the server + ```cpp #include "ESPAsyncTCP.h" #include "ESPAsyncWebServer.h" @@ -1456,7 +1548,6 @@ Example of OTA code ws.closeAll(); }); - ``` ### Adding Default Headers @@ -1496,11 +1587,11 @@ For example we want a `sensorId` parameter in a route rule to match only a integ String sensorId = request->pathArg(0); }); ``` + *NOTE*: All regex patterns starts with `^` and ends with `$` To enable the `Path variable` support, you have to define the buildflag `-DASYNCWEBSERVER_REGEX`. - For Arduino IDE create/update `platform.local.txt`: `Windows`: C:\Users\(username)\AppData\Local\Arduino15\packages\\`{espxxxx}`\hardware\\`espxxxx`\\`{version}`\platform.local.txt @@ -1508,14 +1599,17 @@ For Arduino IDE create/update `platform.local.txt`: `Linux`: ~/.arduino15/packages/`{espxxxx}`/hardware/`{espxxxx}`/`{version}`/platform.local.txt Add/Update the following line: + ``` compiler.cpp.extra_flags=-DASYNCWEBSERVER_REGEX ``` For platformio modify `platformio.ini`: + ```ini [env:myboard] build_flags = -DASYNCWEBSERVER_REGEX ``` + *NOTE*: By enabling `ASYNCWEBSERVER_REGEX`, `` will be included. This will add an 100k to your binary. diff --git a/examples/SmartSwitch/PinOut_Notes.txt b/examples/SmartSwitch/PinOut_Notes.txt index 2634a19..a55977a 100644 --- a/examples/SmartSwitch/PinOut_Notes.txt +++ b/examples/SmartSwitch/PinOut_Notes.txt @@ -1,12 +1,12 @@ This application: D2 = 4; // DHT DATA I/O -D3 = 0; // BUTTON - most modules have it populated on PCB -D4 = 2; // LED (RELAY) - most modules have it populated on PCB +D3 = 0; // BUTTON - most modules have it populated on PCB +D4 = 2; // LED (RELAY) - most modules have it populated, on ESP32 is with reversed logic levels Pinout ESP12 (8266) -D GPIO In Out Notes +D GPIO In Out Notes D0 16 no interrupt no PWM or I2C support HIGH at boot used to wake up from deep sleep D1 5 OK OK often used as SCL (I2C) @@ -23,16 +23,16 @@ A0 ADC0 Analog Input Pinout ESP32 -IO In Out Notes +IO In Out Notes 0 PU OK pulled-up input, outputs PWM signal at boot -1 TX OK debug output at boot +1 TX OK debug output at boot 2 OK OK connected to on-board LED -3 OK RX pin HIGH at boot +3 OK RX HIGH at boot 4 OK OK 5 OK OK outputs PWM signal at boot -6-11 x x connected to the integrated SPI flash +6-11 x x connected to the integrated SPI flash 12 OK OK boot fail if pulled high 13 OK OK diff --git a/examples/SmartSwitch/README.md b/examples/SmartSwitch/README.md index 4ce4e9a..723f3c7 100644 --- a/examples/SmartSwitch/README.md +++ b/examples/SmartSwitch/README.md @@ -1,19 +1,35 @@ -![](1.PNG) ![](2.PNG) -## -![](3.PNG) ![](4.PNG) + ## SmartSwitch -* Remote Temperature Control application with schedule (example car block heater or battery charger) -* Based on ESP_AsyncFSBrowser example with ACE editor -* Wide browser compatibility, no extra server-side needed -* HTTP server and WebSocket, single port -* Standalone, no JS dependencies for the browser from Internet (I hope), ace editor included -* Added ESPAsyncWiFiManager -* Real Time (NTP) w/ Time Zones -* Memorized settings to EEPROM -* Multiple clients can be connected at same time, they see each other' requests -* Base Authentication of the editor, static content, WS -* Or Cookie Authentication including WS part, need lib src changes taken from https://github.com/me-no-dev/ESPAsyncWebServer/pull/684 -* Default credentials smart:switch -* Use latest ESP8266 ESP32 cores from GitHub +* Remote Temperature Control application with schedule + + (example: car block heater or car battery charger for winter) + +* Based on [ESP_AsyncFSBrowser](https://github.com/lorol/ESPAsyncWebServer/tree/master/examples/ESP_AsyncFSBrowser) example that uses embedded ACE editor + +* Wide browser compatibility, no extra server-side needed + +* HTTP server and WebSocket on same port + +* Standalone, no JS dependencies for the browser from Internet + +* [Ace Editor](https://github.com/ajaxorg/ace) embedded to source but also - editable, upgradeable see [extras folder](https://github.com/lorol/ESPAsyncWebServer/tree/master/extras) + +* Added [ESPAsyncWiFiManager](https://github.com/alanswx/ESPAsyncWiFiManager) and fallback AP mode after timeout + +* Real Time (NTP) w/ Time Zones. Sync from browser time if in AP mode + +* Memorized settings to EEPROM + +* Multiple clients can be connected at same time, they see each other' requests + +* Authentication variants including [Cookie-based](https://github.com/me-no-dev/ESPAsyncWebServer/pull/684) idea + +* Used [this Xtea implementation](https://github.com/franksmicro/Arduino/tree/master/libraries/Xtea) for getting a fancier Cookie token + +* Default credentials **smart : switch** or only **switch** as password + +* OTA included + +* Use the latest ESP8266 ESP32 cores from GitHub diff --git a/examples/SmartSwitch/SmartSwitch.ino b/examples/SmartSwitch/SmartSwitch.ino index 2c31bf7..f99a2e2 100644 --- a/examples/SmartSwitch/SmartSwitch.ino +++ b/examples/SmartSwitch/SmartSwitch.ino @@ -17,20 +17,23 @@ Use latest ESP core lib (from Github) //#define DEL_WFM // delete Wifi credentials stored //(use once then comment and flash again), also HTTP /erase-wifi can do the same live -// AUTH COOKIE uses only the password, Base uses both +// AUTH COOKIE uses only the password and unsigned long MY_SECRET_NUMBER + #define http_username "smart" #define http_password "switch" +#define MY_SECRET_NUMBER 0xA217B02F + //See https://github.com/me-no-dev/ESPAsyncWebServer/pull/684 +//SSWI or other 4 chars #define USE_AUTH_COOKIE -// 1 year age, path helps Safari to unset -#define MY_COOKIE_FULL "LLKQ=3; Max-Age=31536000; Path=/;" -#define MY_COOKIE_DEL "LLKQ=; Max-Age=-1; Path=/;" -#define MY_COOKIE "LLKQ=3" +#define MY_COOKIE_DEL "SSWI=;Max-Age=-1;Path=/;" +#define MY_COOKIE_PREF "SSWI=" +#define MY_COOKIE_SUFF ";Max-Age=31536000;Path=/;" #ifndef USE_AUTH_COOKIE #define USE_AUTH_STAT //Base Auth for stat, /commands and SPIFFSEditor - //#define USE_AUTH_WS //Base Auth also for WS, not very supported + //#define USE_AUTH_WS //Base Auth also for WS, not very supported #endif #include @@ -54,6 +57,11 @@ Use latest ESP core lib (from Github) #include #include +#ifdef USE_AUTH_COOKIE + #include + #include "Xtea.h" +#endif + #define RTC_UTC_TEST 1577836800 // Some Date #define MYTZ PSTR("EST5EDT,M3.2.0,M11.1.0") @@ -70,12 +78,13 @@ Use latest ESP core lib (from Github) #define DHTTYPE DHT22 // DHT 11 // DHT 22, AM2302, AM2321 // DHT 21, AM2301 #define DHTPIN 4 //D2 -#define DHT_T_CORR -0.5 //Temperature offset compensation of the sensor (can be -) -#define DHT_H_CORR 1.5 //Humidity offset compensation of the sensor +#define DHT_T_CORR -0.3 //Temperature offset compensation of the sensor (can be -) +#define DHT_H_CORR -2.2 //Humidity offset compensation of the sensor + +// SKETCH BEGIN MAIN DECLARATIONS DHT dht(DHTPIN, DHTTYPE); -// SKETCH BEGIN MAIN DECLARATIONS Ticker tim; AsyncWebServer server(80); //single port - easy for forwarding AsyncWebSocket ws("/ws"); @@ -86,7 +95,7 @@ AsyncWebSocket ws("/ws"); #else DNSServer dns; #endif - + //Fallback timeout in seconds allowed to config or it creates an own AP, then serves 192.168.4.1 #define FBTO 120 const char* fbssid = "FBSSW"; @@ -96,7 +105,8 @@ AsyncWebSocket ws("/ws"); const char* ssid = "MYROUTERSSD"; const char* password = "MYROUTERPASSWD"; #endif - const char* hostName = "smartsw32"; + +const char* hostName = "smartsw"; // RTC static timeval tv; @@ -222,7 +232,7 @@ void updateDHT(){ float h1 = dht.readHumidity(); float t1 = dht.readTemperature(); //Celsius or dht.readTemperature(true) for Fahrenheit if (isnan(h1) || isnan(t1)) { - Serial.print(F("Failed to read from DHT sensor!")); + Serial.println(F("Failed to read from DHT sensor!")); } else { h = h1 + DHT_H_CORR; t = t1 + DHT_T_CORR; @@ -241,8 +251,13 @@ void checkPhysicalButton() if (btnState != LOW) { // btnState is used to avoid sequential toggles ledState = !ledState; digitalWrite(ledPin, ledState); - if (ledState == LED_OFF) ws.textAll("led,ledoff"); - else ws.textAll("led,ledon"); + if (ledState == LED_OFF) { + ws.textAll("led,ledoff"); + Serial.println(F("LED-OFF")); + } else { + ws.textAll("led,ledon"); + Serial.println(F("LED-ON")); + } } btnState = LOW; } else { @@ -267,12 +282,41 @@ void mytimer() { } #ifdef USE_AUTH_COOKIE + unsigned long key[4] = {0x01F20304,0x05060708,0x090a0b0c,0x0d0e0f00}; + Xtea x(key); + +void encip(String &mtk, unsigned long token){ + unsigned long res[2] = {random(0xFFFFFFFF),token}; + x.encrypt(res); + char buf1[18]; + sprintf(buf1, "%08X_%08X",res[0],res[1]); //8 bytes for encryping the IP cookie + mtk = (String)buf1; +} + +unsigned long decip(const char *pch){ + unsigned long res[2] = {0,0}; + res[0] = strtoul(pch, NULL, 16); + res[1] = strtoul(&pch[9], NULL, 16); + x.decrypt(res); + return res[1]; +} + bool myHandshake(AsyncWebServerRequest *request){ // false will 401 + bool rslt = false; if (request->hasHeader("Cookie")){ String cookie = request->header("Cookie"); - if (cookie.indexOf(MY_COOKIE) != -1) return true; - else return false; - } else return false; + Serial.println(cookie); + + uint8_t pos = cookie.indexOf(MY_COOKIE_PREF); + if (pos != -1){ + unsigned long ix = decip(cookie.substring(pos+5, pos+22).c_str()); + Serial.printf("Ask:%08X Got:%08X\n", MY_SECRET_NUMBER, ix); + if (MY_SECRET_NUMBER == ix) + rslt=true; + } else rslt=false; + } else rslt=false; + Serial.printf(rslt ? "C-YES\n" : "C-NO\n"); + return rslt; } #endif @@ -322,8 +366,7 @@ void onWsEvent(AsyncWebSocket * server, AsyncWebSocketClient * client, AwsEventT ws.textAll("led,ledoff"); } digitalWrite(ledPin, ledState); // apply change - - + } else if(data[0] == 'T') { // timeset if (len > 11) { data[3] = data[6] = data[9] = data[12] = 0; // cut strings @@ -444,7 +487,8 @@ void setup(){ } #endif - Serial.print(F("*CONNECTED*\n")); + Serial.print(F("*CONNECTED* OWN IP:")); + Serial.println(WiFi.localIP()); //DHT dht.begin(); @@ -492,25 +536,41 @@ void setup(){ server.addHandler(new SPIFFSEditor(SPIFFS, http_username,http_password)); #elif defined(USE_AUTH_COOKIE) server.addHandler(new SPIFFSEditor(SPIFFS)).setFilter(myHandshake); + #else + server.addHandler(new SPIFFSEditor(SPIFFS)); #endif #elif defined(ESP8266) #ifdef USE_AUTH_STAT server.addHandler(new SPIFFSEditor(http_username,http_password)); #elif defined(USE_AUTH_COOKIE) server.addHandler(new SPIFFSEditor()).setFilter(myHandshake); + #else + server.addHandler(new SPIFFSEditor()); #endif #endif #ifdef USE_AUTH_COOKIE - server.on("/lg2n", HTTP_POST, [](AsyncWebServerRequest *request){ // cookie test - if((request->hasParam("pa2w",true) && (String(request->getParam("pa2w",true)->value().c_str()) == String(http_password)))||(request->hasParam("lg0f",true))){ - AsyncWebServerResponse *response = request->beginResponse(301); + server.on("/lg2n", HTTP_POST, [](AsyncWebServerRequest *request){ + + String ckx; + encip(ckx, MY_SECRET_NUMBER); + + AsyncWebServerResponse *response; + + if(request->hasParam("lg0f",true)){ + response = request->beginResponse(200, "text/html;charset=utf-8", "

Logged Out! Back

"); + response->addHeader("Cache-Control", "no-cache"); + response->addHeader("Set-Cookie", MY_COOKIE_DEL); + + } else if(request->hasParam("pa2w",true) && (String(request->getParam("pa2w",true)->value().c_str()) == String(http_password))){ + response = request->beginResponse(301); response->addHeader("Location", "/"); response->addHeader("Cache-Control", "no-cache"); - if(request->hasParam("lg0f",true)) response->addHeader("Set-Cookie", MY_COOKIE_DEL); - else response->addHeader("Set-Cookie", MY_COOKIE_FULL); - request->send(response); - } else request->send(200, "text/plain","Wrong Password!"); + response->addHeader("Set-Cookie", MY_COOKIE_PREF + ckx + MY_COOKIE_SUFF); + + } else response = request->beginResponse(200, "text/html;charset=utf-8", "

Wrong password! Back

"); + + request->send(response); }); #endif @@ -520,7 +580,14 @@ void setup(){ #ifdef USE_AUTH_STAT if(!request->authenticate(http_username, http_password)) return request->requestAuthentication(); #endif - request->send(200, "text/plain", String(ESP.getFreeHeap())); + +#ifdef ESP32 + request->send(200, "text/plain", String(ESP.getMinFreeHeap()) + ':' + String(ESP.getFreeHeap()) + ':'+ String(ESP.getHeapSize())); +#else + request->send(200, "text/plain", String(ESP.getFreeHeap())); +#endif + + #ifdef USE_AUTH COOKIE }).setFilter(myHandshake); #else @@ -584,7 +651,7 @@ void setup(){ #ifdef USE_AUTH_COOKIE server.serveStatic("/", SPIFFS, "/").setDefaultFile("index.htm").setFilter(myHandshake); - server.serveStatic("/", SPIFFS, "/login/").setDefaultFile("index.htm").setFilter(!myHandshake); + server.serveStatic("/", SPIFFS, "/login/").setDefaultFile("index.htm"); #else #ifdef USE_AUTH_STAT server.serveStatic("/", SPIFFS, "/").setDefaultFile("index.htm").setAuthentication(http_username,http_password); diff --git a/examples/SmartSwitch/Xtea.cpp b/examples/SmartSwitch/Xtea.cpp new file mode 100644 index 0000000..97d99b0 --- /dev/null +++ b/examples/SmartSwitch/Xtea.cpp @@ -0,0 +1,48 @@ +/* + Xtea.cpp - Xtea encryption/decryption + Written by Frank Kienast in November, 2010 + https://github.com/franksmicro/Arduino/tree/master/libraries/Xtea +*/ +#include +#include "Xtea.h" + +#define NUM_ROUNDS 32 + +Xtea::Xtea(unsigned long key[4]) +{ + _key[0] = key[0]; + _key[1] = key[1]; + _key[2] = key[2]; + _key[3] = key[3]; +} + +void Xtea::encrypt(unsigned long v[2]) +{ + unsigned int i; + unsigned long v0=v[0], v1=v[1], sum=0, delta=0x9E3779B9; + + for (i=0; i < NUM_ROUNDS; i++) + { + v0 += (((v1 << 4) ^ (v1 >> 5)) + v1) ^ (sum + _key[sum & 3]); + sum += delta; + v1 += (((v0 << 4) ^ (v0 >> 5)) + v0) ^ (sum + _key[(sum>>11) & 3]); + } + + v[0]=v0; v[1]=v1; +} + +void Xtea::decrypt(unsigned long v[2]) +{ + unsigned int i; + uint32_t v0=v[0], v1=v[1], delta=0x9E3779B9, sum=delta*NUM_ROUNDS; + + for (i=0; i < NUM_ROUNDS; i++) + { + v1 -= (((v0 << 4) ^ (v0 >> 5)) + v0) ^ (sum + _key[(sum>>11) & 3]); + sum -= delta; + v0 -= (((v1 << 4) ^ (v1 >> 5)) + v1) ^ (sum + _key[sum & 3]); + } + + v[0]=v0; v[1]=v1; +} + diff --git a/examples/SmartSwitch/Xtea.h b/examples/SmartSwitch/Xtea.h new file mode 100644 index 0000000..fc8fa43 --- /dev/null +++ b/examples/SmartSwitch/Xtea.h @@ -0,0 +1,20 @@ +/* + Xtea.h - Crypto library + Written by Frank Kienast in November, 2010 + https://github.com/franksmicro/Arduino/tree/master/libraries/Xtea +*/ +#ifndef Xtea_h +#define Xtea_h + + +class Xtea +{ + public: + Xtea(unsigned long key[4]); + void encrypt(unsigned long data[2]); + void decrypt(unsigned long data[2]); + private: + unsigned long _key[4]; +}; + +#endif diff --git a/examples/SmartSwitch/data/acefull.js.gz b/examples/SmartSwitch/data/acefull.js.gz index 00cdd5f934f68062b7484b87eedd6b1d99bf0815..11645575f7869e10ce99a2c4199995a224fd0142 100644 GIT binary patch delta 21 dcmdnAl6})kc6Rx04i1gZbB*j<*%?<~0RU9X2gv{c delta 21 dcmdnAl6})kc6Rx04vsA0?TzeP*%?<~0RU2g2Yvtm diff --git a/examples/SmartSwitch/data/index.htm b/examples/SmartSwitch/data/index.htm index 68aaefa..c9c24fa 100644 --- a/examples/SmartSwitch/data/index.htm +++ b/examples/SmartSwitch/data/index.htm @@ -1,5 +1,4 @@ - @@ -115,13 +114,13 @@ } .clk { - font-size: 54px; + font-size: 52px; color: #444; cursor: pointer } .clk2 { - font-size: 32px; + font-size: 24px; color: #444 } @@ -329,7 +328,7 @@
-

Logoff

+ @@ -378,10 +377,10 @@ }, { color: "#32a852", lo: 0, - hi: 25 + hi: 35 }, { color: "#ff4d4d", - lo: 25, + lo: 35, hi: 50 }], formatNumber: true @@ -531,7 +530,7 @@ message: 'Timer REQ' }); } - }; + } function button2Click(e) { if (connection.readyState === WebSocket.OPEN) { @@ -540,32 +539,40 @@ message: 'Temp. REQ' }); } - }; + } function buttonEClick() { var murl = '/edit'; if (document.location.host.length < 5) murl = 'http://' + MYCORS + '/edit'; //CORS - successNotification({ - message: 'Editor' - }); + successNotification({message: 'Editor'}); window.open(murl, '_blank'); - }; - + } + + function buttonOClick() { + // If base auth + var murl = document.location.href.replace("http://", "http://" + new Date().getTime() + "@"); + // If cookie auth + murl += 'login'; + if (document.location.host.length < 5) murl = 'http://' + MYCORS + '/login'; //CORS + warningNotification({ message: 'Logout'}); + window.open(murl, '_self'); + } + function checkboxClick(e) { if (connection.readyState === WebSocket.OPEN) { if (e.checked) connection.send('L1'); else connection.send('L0'); } - }; + } function ent1Click() { document.getElementById("input-temperature").className = "blinking"; - }; + } function ent2Click() { document.getElementById("input-popup-stop").className = "blinking"; document.getElementById("input-popup-start").className = "blinking"; - }; + } function handleClick(e) { if (e.value == 'Z0' ) auto = true; diff --git a/examples/SmartSwitch/data/index.min.htm.gz b/examples/SmartSwitch/data/index.min.htm.gz index a898dd0ce3cc8537526e7b69deb9d311e464eff4..c5bc134d8203c6eaff5e6cd7f4b641fd489fe8b2 100644 GIT binary patch literal 3328 zcmb2|=HOW0c`lBLAu}%}wL&j9Gfyw0B$r`t)Ze1VCIa=M%Fp^*tk%6<_Vm>i+XZh6 z4fbkZFk-c84a~6=EY(Rq`B$MO{gGsaQP`yYLh708N`5@o^8Wqt_SLMdtM43iKc4O` zZeLrS)N@qD&St`YDMLRuJ0(sln;8O)iJnVrKUMqX*OnX+aum8K%&+O_wqSpa%89)< zrk!C{mU!GF{P4NbtG!HuO^?bJ0YWjF^+q}z{gl!b_EE{^@p8{RG9rUmboQ zI&$u3?^-5c$2QkduSeaxVprBj0bx5emyEL1iJ}GTEV<_&GB41)by$&GewiTid-n>b z$L##+BFCE>j_Q22yLbQod`_F5lOi#;i#pqj53&i@tgn6k_GVd?z3@Ymqlq4qCqCaJ zA#zyGmqGmF9r4ZDQvV)ZRyphXzG{`E{pNTcm1%N)FEu_gG5wxAb1#sTg7&yWLPjf=wI&Fk_k7QLE=fvCe)qY5aa)W7%o;fy9xVIb>i9J2^n;mA zVJFL_b3o9Lsp zcJgQHrwQy)?2K@mrg(AYVdoV`-oBe^y}C_G>_#k8QzG{yt_i$~n%gT6&R{WDxueCf zj^|jDO_Jj|?WEGGV-_jp^Kx&r*~o}iMpxzjlW~|avm%Sd(4p>)NAhj~_nNz(UM;=wJbyL&I+eg9qD$vtp4Z_##pcfISJ=WJvcH?Fkz zy8886_`~%@4`t48Nk~kx+5FC^a?z%5KPL*_;ks+JWV-tG*qJf6BRBcjm(Bd3a4Y>9 z$8%*P-NIL&C6DrO`@fn|Yg2Tl-+kS=eYbk&s0P372z2wBio9*2_3^9$#8={nqVQhk|Fn ze6#%f)t)=09ov)YuRdS>Yja0a_}eq_?W>vJOnqI%r`|Yu2FoJ9SEth|tAq0QJdWC} z&(__|JG*-%5@2* zdDZJ5rk0AI<=a;Jw|qg+tc5~7{UvRV2D7&=cVezN9LzJ>`h)J~n!t?W1CobAdfHXY znk0(fEk4DQa^Zsea{JpaKFn}A*7(USu-~hN$J6jDyLZzJHgh|v$0|K1C;oZSVfZvQ z<<27ub}!A>4o;d=L;IS3=I&&u7n$Y!STKaos^)t2XPXss(w(0!I$W$XkA3RzoE2pZ zq4R9`SIzYeJQy#TrJc0t8f$UiwJU3#1SM*hSo1roX`bA0!nlb~|H0uO&)+W&a?K2K zD>yOf$3gd}9y9NWUA*>o-Nm_^O#G{39{4omSt%Zi+_do3wwC29(=u0DcFkKhYw7Aw zhaSc_y!htny<^R{=&C(jJ(Eu4y0lF*k#E>F(V?|Q)lg#I={>DmjATs%-i0lCy|V31 zYry5wWeYbYYTvqct2ppB^S(1tY^Eja%ECPIr*7yu!07Fva3QPpy>{#L=Q>?dTss>a zo=lI){cUz)%Au`uyCz>gwJj=jir}T@U8@pSiYu(yStHPyk)2s{{WORAqOAr>1u6%4 zegAGfkht&My2-cJO`gy-P1%2ny7p~5iw|{cp4^YWWWHtEf6p@o6=$0KE~i|6S+^nVSZ-;H)@+nX9i0k^q75|t`%Z@s#cD~}g zb^Do}Q$fgD=l3Cv!N315z4P90``Jfkm3NYAx3Ztp;-9lg@bvB9_1kv*w>goa#WRof zmv6R{@N09u>0iA(3pvuexF6s3cTc}R|M!WT<+|zbr#_A7>t@?-VZ1<4YUeX?&c2%` zz6lql*Gx?Pad67n>HjC%Uif3f&vfW#wVHw*)7AAq%1s*kZgCkkv1YC-S#|2W$FBp< zo+2VwYyG#@oDfMiQj}Zdd1S)L<8R(s=*u;gojA89``$yH#=eI;zltV_hrIKg+B|{v zXN$_ALx~kd+|9wKSUo+iIUY}c-(`L?n8QOzX|wQC&jlru--YbzIC_MMUn@%a)Z-rq zJ4DwuPQKt#c&u@4c9@q!g$Rl) ziL~RvTeCv>&&lmtvAQYg-R(_=4hlVY6?LyV2NWo5&XL|fDgAxSw+i{2X%~G?CNdnj z`D6}DQ|g`Fv)Ecs$$k&*h;P(cwxEAy`uQ`*wCc9LUKP4^+veL5J&WpY@IO^Lb6D$! z&2F>Qz}BO`Ym7p=6gk}A8C~DG^!2Z8U%htvS)beZfA#Zw&xEC%f`4}0jQ#61^P47#p0{5w-pn`GYQ^iV z>A6>WI^4>w|1Q`Nl6tfH>fGu6D>MAoM0ef&abn$sth{+zaz~fS^J$r%e&nn-al1gnoRbwdN^alcTy!qf^v0$v^<@UawL&xI|M{uzl*X`J z>_g5*UccN6eGi%<@AF2)a@y~+uH_E7Kly&~p`#4ZI)Q2hnNAFK(t`V4*k<4QUVF38 z>`cwiOIzP2g_%!WP(9WBV7o}nguQz!%A>d*X?j~seE;$8%+9Zgj`4G28n!-jFS~x^ zR(Su?S&KbiNG8b1SR2moZk|ziDKgk*U;B@hw;wIpDPB6+NO$|vyb#~pF6-NiUNm=a zlz4rAmeuK?3)`H_c4ZsLEL@f?5as+*Z_+E1V0R}sm1};7dsgkfZ*p|cKYzZM`3jB4 zEG8*AS9(`!Uo;ok;L_%5ED)ab&}5E3dkj;Q|Gkp*&-IN8#p}#hGD-^ZJ!tQk>%7wD ztI3Sgd$(m?8wy73otnSLbhU2Kh1+5ib&?}<1%Dcxcfa^Q%TM(1vCfuUg~>X%f>{>s z-^4ig!^DXb86wsSaIYy|`r+&JqnBrN@fj_g6Y(Ud*52so)Y`kI;d)lD#qO4NTfY|j zeO)T!k+iPHoF?B4UYn(rpNf2;*Cu(;oO$b7_fN;2 zp1eHd@bI6NpsZ}^mHkf759mAd?oB@WKuJBOU(a*Kl*iqL^F$AuOI~d*eyM1=XWyag z0mo~)&fM6}9$@<5`o{f_-@a^o{m}XMQ}3D$>}^N)ZT^_6S-bmVt>@Ltce2jU|JSqa zQQFG(!y8t7-qSnd*4M<#=byW9%zV0+Kfh(`T=_ekzh6zLtx)-0eDU`D?tALjpJf#P z(LL6y8}UR$^U7Z_u}@`@T?M?YZb@#wP1}ySS370cGOYi2c>D1TGjV=HPDK}+uy4g5 z()R3-aV>uBS1kL;XRY|wk5zB?KM&DaVZZwaQ|0T0%$5 z4sV_wZx>p>Sit@AMrWnxZ&F$IUzR*r_sc?E=y1Z$7n9zvQcToB5K9x{p+3tSdHhc!qDfF}qarOv#0w$q8@1Fx4!-7yIL| z;{me?3yN)2_qLbBoIj+R=5W7T^_J+xb3G@HPw0?TG&;M#B-7gR3iHWdMJoL2 zg`e3ky8qznA11bM+#lw&^((hn9)0M^_-^BbkAhWSfBdNU`M3Y+tLfjWh7V_I5A7CC>kYi` zu8}0TQL(CRN)BI>zTAWa#jh7vA3pdoa6^64ZIKR5Q65p{ZH{M;RHd)j+7ot<`)&1P z35)Kqs}=|Ey`8ez;?r)kn`t|FH#-W1XjC!Ga%1+sJF{H#V=nivBgrz}r<9zpe7ntj zAZNAyGpCJP5=>0@=c@J9N_7j~V(01Q+V=2!i(h(BW&C~)))P;roziQuJt*TYr#jj|K%7HHn#8B(UM_&M)%Z)#-WGSi6~ zm(ngi^Ra%yRiD#ntJPSye@e#wIZ6BH#dsV%H?`}4Fvq!wNxU}hn_7>0doX3zJ~=S| zuc3Z4^p>Rk+d zBeiHzeOULyd8?03%-?Wg=9k=%t8-SLEzrK7ALk-JOKI1>psm^K_GzjnX08Z5D{?&8 zAZll>*R-z+DG_~JB1$Xb=kk4f(4QE|c~8cu$u(=y+XcaX9wEW8z7a3X6Zo2nuFUzd zTVdV`U0IR!+9wKKo@e^b>fOPnyr|Jyq{EG|cZJH+(-+f%8#QOIF3&%ieBk4p4y7)o z{=e7Huxl#|thayZ-zD=eu)^A6-Q52BQu|ET%&re{k6+KkedgfJ*99{2@B5N3tPgb& z_`?5-U94%>9#+1V%#=@lwIA=ynf1oEa8fMW@$U8_izOSjXl%Od&s4LUX@=^S?X$mm zg?67|I5Ew-Oo!t=mynQuSZ?X8;~mQsQ!CRAO8DbfOQtQ1xx6o}`%;YP?dTbAr&q>q zY&@7JoteMg&`|VOVrXmK4!5Je9F{j1HW_uvoxO24=x%+~C-a<%*A@rrwCQS{HT}c> z`}NH;t1{M9t-QIUEa+n1?$t}o^2;JOsPRfKf7>a#d(W!ahY9;vElqIF@n8Mvn&7Va zfsw0rO^@@ETEBP8=c-%Yzn<&QUv*FW&)S8a+e5B$ z@AVzo)|k0w{*Gzz`dhNgRPTtekdpopCx)eGc=#6myYchO?|sE(j!iksY@@4PZdHU? zCHF1LjEi{EdS$n)wXw`kMayvgT+79aiXSbomN{k+B4`;}loF$3%dqde2*bZiIeDsw z4p{zP^ZTH2w?RdiVB5KyqSMan9QqLHdV^i?(Tka`H}1!^T%N}@W2(SwPmWu6r0;9k z@SZnFm{7oT=g^L#tBlMy16x!+vp$SCHpe3U`iG`}|6bqu5Vy|e2lOZ*&v!oTr)U8(jmZ(h0e z;FLKhRo2|mad!PVg>zNO1q1oeuQ^hWzE&z^o|InZ{o~4<%E{VWL#$@KG$~kUzBA=w zjn;<pjgvIn)B5dnSZ4@%lqbyK*|2OU?^(}18@cp*x%6wbbf@pQVi&mj*nchEn%yaXAGXyw6t8LL z`7M4XdwY*)RCNY})0Cej{|@uLso9e9T)9a+^-jt;rafPDTi?mujhAN2+c6@v4S4T+9uv0sK=y8eS#0POjp{ah#-_sW!Q=jl?#~;;c^FPX7i~oF(L(wVE&p|z=h zR!l0KU-@y4%cZ0H>MPm#=Laczx>VfW`Qy>%FQ;xU7w9`u{w+YjecrP5hZsa>}d$FTx{`*H@aMN_6Uo#%)FQ3%Oek9N`SI zU%VB5IGTFoH2B+C9asEu>HyoTtT)UX=1=2|2ukk=^;v7^7ca^3Ve8F%A-%tfZVDAQ zu$R3LDPS+Sk$3Y#YW`p6sp0EGu1BSFW+zGFx-X2cmJt|do_^>Vq+rh^A2jRjjYp#m$d%OHO zD7Vh+M?{_6dG(p8X9OnK6*-#5n6GHN>R5WA{Qf$QRjVdQefh6%_%+aGx!u%$e}RDY zf9nrva_o8h@M77y+JYZ47fS-3-&rbBepaI0RD}JndY}5|q%IxDAF*egP0YBHPE7iA zc&_0@>x!j}S<4sSo!}B|>Ad{KhGc^!M-w)7c$*(;(Bpk1ZM3r~m_zCI+G@jBU!z`} z!-NxnZGmK)_irIm)LwJRWMrMK&DsU)vU$WPxFeae7e0>bD}+`nR?MO zu0`jnSR3!Dm&e2=*Y`blnabGYnmtWecgEdUJ47rV%E#7!TRCg){_OkfZAOFpB7a$d8B^WlW;e5^ajdRQ)LYge%)d?X zz#?v!k3mk8`x7SI%USfXXo|L&;?&%9{u=krMe)W(8J{|8gf3Z5{q-Q!sAb}Wn8Fs( zMNxGonh6@!H5c1!w%zPGc+9v>`uvUi6~_+ptL|Dlaedi3tu3GaXfMs0%r=F4rlgG9 z>;9SZHg4k*{q^{`_yeh5oxXK!=`NF&)`gs1wx}=k<-<3UeqK9{WW>nM&isFS4R6|8 zV+%*QudMEpcy-m~fxGk4RR z?~_EYNJb`mUHz^&*<*ge*9)8O#9VYLT>iR9s6Z+0?VQJN7i#bw-j(TGeXH)S$>RTW z-Y+y+jGtMxrkN$?FXLMxv!0<*~T7s zS<-KQq<@YmvVW<%dgULd7u(Hw3qu&0t$sfIt*+^H`cT@jz{F!4%GzcXEz8*RZ`Zs!uFc$+ z*{AW%>R$VKYLK?L#O(xWv5Toy=0&1cmqp!}n^iKuj(_+3r7fABE2Y-xePh iAw zWsdZkIcILldJ4W5Fbj9_+Nvp$yUy{okmIz|W!uia`dKIW=+b_iprZ2nGTyu)m z)V_04*KOYCo?nt5--$IfyX3W|$Z>D9xcAntnbyiU3V>pACDS@-hy?a2r|_ak}w1fI_Gi)J+($*YPru?@UEF+^aEr}lw`H(Di@ ztcgl`rczM7`j1fXPoK1(kAB&vf6jn0m zNc|~4?~rD#&;yGpS7RI)MciL`oik~=w{8B*fcXWx4=8ud$m7WK`on)~UGk8bqsQIVO6`QjEuuGU(^(+TI{tYke;~E1wr^F^-PA%R4#5Tkb3mTD7x=wQ8eu@kvRi)$TPXj+Omh`ln)1fzZT-Gdy>C_=#=$ zt(l)z5&C1LzJC5X$;DH>4;-;ru_Q|N=2E_^+w-;eCFp;@ta9X{uE@Qwvy8-b=HK{# zre@O9yM0gl*7~z+wtqWzSMGLx?labBOy9J!Ut8CH6?9d8`!H;a@1t8EOOBjd7=3C| z+3jqbmK19dj`sJzb+2gNTeit(w$t0JwP~|gKGI$oy!qsvd*yF^GS^BylfN))>A&0O z?f!B+`k(#D+o#24Z-*<}=BTRY#R2oWTY@abZnlekdKt?d7{7IvW5|)thz%YB72Chg zzia>H*+02Q)mqh$D zy}Kv#?9O**MXkbH{!R;3dbRb~hdV0{vH73A8)Nr&W&OpK@?ZYjf0X~O(7((-kbwaJ DGQtld diff --git a/examples/SmartSwitch/data/login/index.htm b/examples/SmartSwitch/data/login/index.htm index 5e39f6f..d17ef7f 100644 --- a/examples/SmartSwitch/data/login/index.htm +++ b/examples/SmartSwitch/data/login/index.htm @@ -8,13 +8,29 @@ -
+ +


-

Password

+

Login - Logout

-

-

+

+

-
+ +
Back +
+ + + \ No newline at end of file diff --git a/examples/SmartSwitch/data/worker-css.js.gz b/examples/SmartSwitch/data/worker-css.js.gz index 36849854f5e68ac7c3f494cc8f1af284f760dc17..61fdcd34d54c969b12c55d75d0ed73e69b636123 100644 GIT binary patch delta 18 acmbO|m1*`=CU*I54i5Fsa~s*GbO8W5$p(4= delta 18 acmbO|m1*`=CU*I54vtLW?Hk#rbO8W4U Date: Fri, 5 Jun 2020 07:40:37 -0400 Subject: [PATCH 24/47] LittleFS can be used (a choice for ESP8266 for now) - To make and upload FS https://github.com/earlephilhower/arduino-esp8266littlefs-plugin - Simply redefine SPIFFS to LittleFS Changes are in src/SPIFFSEditor.cpp including the src/edit.htm See ESP_AsyncFSBrowser and SmartSwitch examples --- README.md | 213 +++++---- .../ESP_AsyncFSBrowser/ESP_AsyncFSBrowser.ino | 7 + examples/ESP_AsyncFSBrowser/data/ace.js.gz | Bin 98943 -> 0 bytes .../ESP_AsyncFSBrowser/data/acefull.js.gz | Bin 0 -> 119986 bytes .../data/ext-searchbox.js.gz | Bin 3131 -> 0 bytes .../ESP_AsyncFSBrowser/data/folder/image.jpg | Bin 0 -> 6071 bytes .../ESP_AsyncFSBrowser/data/folder/test.txt | 1 + .../ESP_AsyncFSBrowser/data/mode-css.js.gz | Bin 6102 -> 0 bytes .../ESP_AsyncFSBrowser/data/mode-html.js.gz | Bin 17037 -> 0 bytes .../data/mode-javascript.js.gz | Bin 6315 -> 0 bytes .../ESP_AsyncFSBrowser/data/worker-css.js.gz | Bin 0 -> 35483 bytes .../ESP_AsyncFSBrowser/data/worker-html.js.gz | Bin 50024 -> 47406 bytes .../data/worker-javascript.js.gz | Bin 0 -> 47729 bytes examples/SmartSwitch/README.md | 48 +- examples/SmartSwitch/SmartSwitch.ino | 20 +- examples/SmartSwitch/data/acefull.js.gz | Bin 119986 -> 119986 bytes examples/SmartSwitch/data/index.htm | 7 +- examples/SmartSwitch/data/index.min.htm.gz | Bin 3328 -> 0 bytes examples/SmartSwitch/data/worker-css.js.gz | Bin 35483 -> 35483 bytes examples/SmartSwitch/data/worker-html.js.gz | Bin 47406 -> 47406 bytes .../SmartSwitch/data/worker-javascript.js.gz | Bin 47729 -> 47729 bytes extras/README.md | 22 +- extras/update_ace.bat | 14 +- src/SPIFFSEditor.cpp | 13 +- src/edit.htm | 19 +- src/edit.htm.gz.h | 449 +++++++++--------- 26 files changed, 423 insertions(+), 390 deletions(-) delete mode 100644 examples/ESP_AsyncFSBrowser/data/ace.js.gz create mode 100644 examples/ESP_AsyncFSBrowser/data/acefull.js.gz delete mode 100644 examples/ESP_AsyncFSBrowser/data/ext-searchbox.js.gz create mode 100644 examples/ESP_AsyncFSBrowser/data/folder/image.jpg create mode 100644 examples/ESP_AsyncFSBrowser/data/folder/test.txt delete mode 100644 examples/ESP_AsyncFSBrowser/data/mode-css.js.gz delete mode 100644 examples/ESP_AsyncFSBrowser/data/mode-html.js.gz delete mode 100644 examples/ESP_AsyncFSBrowser/data/mode-javascript.js.gz create mode 100644 examples/ESP_AsyncFSBrowser/data/worker-css.js.gz create mode 100644 examples/ESP_AsyncFSBrowser/data/worker-javascript.js.gz delete mode 100644 examples/SmartSwitch/data/index.min.htm.gz diff --git a/README.md b/README.md index 3b4bae6..7563bfb 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,17 @@ # In this fork +- SPIFFSEditor improvements +- Added [extras](https://github.com/lorol/ESPAsyncWebServer/tree/master/extras) folder with (Win) tools for re-packing, allow editing, updating and compressing html to binary arrays, embedded to source +- Added a [SmartSwitch](https://github.com/lorol/ESPAsyncWebServer/tree/master/examples/SmartSwitch) example to test code features +- Applied the memory optimizations from [sascha432](https://github.com/sascha432/ESPAsyncWebServer) fork +- Cookie Authentication including on Websocket part, based on [ayushsharma82](https://github.com/me-no-dev/ESPAsyncWebServer/pull/684) PR, new functions added: + - For Websocket: ```void handleHandshake(AwsHandshakeHandler handler) ``` + - For EventSource: ```void authorizeConnect(ArAuthorizeConnectHandler cb)``` +- [Additions to this README.md from jendakol' PR](https://github.com/me-no-dev/ESPAsyncWebServer/pull/770) + - [Respond with file content using a callback and extra headers](#respond-with-file-content-using-a-callback-and-extra-headers) + - [Serving static files by custom handling](#serving-static-files-by-custom-handling) +------------------------------------------------------------------------------------------ -SPIFFSEditor improvements - -Added [extras](https://github.com/lorol/ESPAsyncWebServer/tree/master/extras) folder with (Win) tools for re-packing, allow editing, updating and compressing html to binary arrays, embedded to source - -Added a [SmartSwitch](https://github.com/lorol/ESPAsyncWebServer/tree/master/examples/SmartSwitch) example to test code features - -Applied the memory optimizations from [sascha432](https://github.com/sascha432/ESPAsyncWebServer) fork - -Cookie Authentication including on Websocket part, based on [ayushsharma82](https://github.com/me-no-dev/ESPAsyncWebServer/pull/684) PR, new functions added: - -- For Websocket: ```void handleHandshake(AwsHandshakeHandler handler) ``` -- For EventSource: ```void authorizeConnect(ArAuthorizeConnectHandler cb)``` - -# ESPAsyncWebServer - +# ESPAsyncWebServer [![Build Status](https://travis-ci.org/me-no-dev/ESPAsyncWebServer.svg?branch=master)](https://travis-ci.org/me-no-dev/ESPAsyncWebServer) ![](https://github.com/me-no-dev/ESPAsyncWebServer/workflows/ESP%20Async%20Web%20Server%20CI/badge.svg) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/395dd42cfc674e6ca2e326af3af80ffc)](https://www.codacy.com/manual/me-no-dev/ESPAsyncWebServer?utm_source=github.com&utm_medium=referral&utm_content=me-no-dev/ESPAsyncWebServer&utm_campaign=Badge_Grade) For help and support [![Join the chat at https://gitter.im/me-no-dev/ESPAsyncWebServer](https://badges.gitter.im/me-no-dev/ESPAsyncWebServer.svg)](https://gitter.im/me-no-dev/ESPAsyncWebServer?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) @@ -28,7 +25,6 @@ For ESP32 it requires [AsyncTCP](https://github.com/me-no-dev/AsyncTCP) to work To use this library you might need to have the latest git versions of [ESP32](https://github.com/espressif/arduino-esp32) Arduino Core ## Table of contents - - [ESPAsyncWebServer](#espasyncwebserver) - [Table of contents](#table-of-contents) - [Installation](#installation) @@ -70,6 +66,7 @@ To use this library you might need to have the latest git versions of [ESP32](ht - [Respond with content coming from a File containing templates](#respond-with-content-coming-from-a-file-containing-templates) - [Respond with content using a callback](#respond-with-content-using-a-callback) - [Respond with content using a callback and extra headers](#respond-with-content-using-a-callback-and-extra-headers) + - [Respond with file content using a callback and extra headers](#respond-with-file-content-using-a-callback-and-extra-headers) - [Respond with content using a callback containing templates](#respond-with-content-using-a-callback-containing-templates) - [Respond with content using a callback containing templates and extra headers](#respond-with-content-using-a-callback-containing-templates-and-extra-headers) - [Chunked Response](#chunked-response) @@ -84,6 +81,7 @@ To use this library you might need to have the latest git versions of [ESP32](ht - [Specifying Cache-Control header](#specifying-cache-control-header) - [Specifying Date-Modified header](#specifying-date-modified-header) - [Specifying Template Processor callback](#specifying-template-processor-callback) + - [Serving static files by custom handling](#serving-static-files-by-custom-handling) - [Param Rewrite With Matching](#param-rewrite-with-matching) - [Using filters](#using-filters) - [Serve different site files in AP mode](#serve-different-site-files-in-ap-mode) @@ -119,7 +117,7 @@ To use this library you might need to have the latest git versions of [ESP32](ht 3. Update dev/platform to staging version: - [Instruction for Espressif 8266](http://docs.platformio.org/en/latest/platforms/espressif8266.html#using-arduino-framework-with-staging-version) - [Instruction for Espressif 32](http://docs.platformio.org/en/latest/platforms/espressif32.html#using-arduino-framework-with-staging-version) - 4. Add "ESP Async WebServer" to project using [Project Configuration File `platformio.ini`](http://docs.platformio.org/page/projectconf.html) and [lib_deps](http://docs.platformio.org/page/projectconf/section_env_library.html#lib-deps) option: + 4. Add "ESP Async WebServer" to project using [Project Configuration File `platformio.ini`](http://docs.platformio.org/page/projectconf.html) and [lib_deps](http://docs.platformio.org/page/projectconf/section_env_library.html#lib-deps) option: ```ini [env:myboard] @@ -133,11 +131,9 @@ lib_deps = ESP Async WebServer # or using GIT Url (the latest development version) lib_deps = https://github.com/me-no-dev/ESPAsyncWebServer.git ``` - -5. Happy coding with PlatformIO! + 5. Happy coding with PlatformIO! ## Why should you care - - Using asynchronous network means that you can handle more than one connection at the same time - You are called once the request is ready and parsed - When you send the response, you are immediately ready to handle other connections @@ -153,7 +149,6 @@ lib_deps = https://github.com/me-no-dev/ESPAsyncWebServer.git - Simple template processing engine to handle templates ## Important things to remember - - This is fully asynchronous server and as such does not run on the loop thread. - You can not use yield or delay or any function that uses them inside the callbacks - The server is smart enough to know when to close the connection and free resources @@ -162,7 +157,6 @@ lib_deps = https://github.com/me-no-dev/ESPAsyncWebServer.git ## Principles of operation ### The Async Web server - - Listens for connections - Wraps the new clients into ```Request``` - Keeps track of clients and cleans memory @@ -170,7 +164,6 @@ lib_deps = https://github.com/me-no-dev/ESPAsyncWebServer.git - Manages ```Handlers``` and attaches them to Requests ### Request Life Cycle - - TCP connection is received by the server - The connection is wrapped inside ```Request``` object - When the request head is received (type, url, get params, http version and host), @@ -183,7 +176,6 @@ lib_deps = https://github.com/me-no-dev/ESPAsyncWebServer.git - When the ```Response``` is sent, the client is closed and freed from the memory ### Rewrites and how do they work - - The ```Rewrites``` are used to rewrite the request url and/or inject get parameters for a specific request url path. - All ```Rewrites``` are evaluated on the request in the order they have been added to the server. - The ```Rewrite``` will change the request url only if the request url (excluding get parameters) is fully match @@ -195,7 +187,6 @@ lib_deps = https://github.com/me-no-dev/ESPAsyncWebServer.git - The ```Rewrite``` can specify a target url with optional get parameters, e.g. ```/to-url?with=params``` ### Handlers and how do they work - - The ```Handlers``` are used for executing specific actions to particular requests - One ```Handler``` instance can be attached to any request and lives together with the server - Setting a ```Filter``` to the ```Handler``` enables to control when to apply the handler, decision can be based on @@ -213,7 +204,6 @@ lib_deps = https://github.com/me-no-dev/ESPAsyncWebServer.git - The first ```Handler``` that can handle the request is selected, not further ```Filter``` and ```canHandle``` are called. ### Responses and how do they work - - The ```Response``` objects are used to send the response data back to the client - The ```Response``` object lives with the ```Request``` and is freed on end or disconnect - Different techniques are used depending on the response type to send the data in packets @@ -223,7 +213,6 @@ lib_deps = https://github.com/me-no-dev/ESPAsyncWebServer.git - Many different options exist for the user to make responding a background task ### Template processing - - ESPAsyncWebserver contains simple template processing engine. - Template processing can be added to most response types. - Currently it supports only replacing template placeholders with actual values. No conditional processing, cycles, etc. @@ -233,7 +222,6 @@ lib_deps = https://github.com/me-no-dev/ESPAsyncWebServer.git - Since it's impossible to know the actual response size after template processing step in advance (and, therefore, to include it in response headers), the response becomes [chunked](#chunked-response). ## Libraries and projects that use AsyncWebServer - - [WebSocketToSerial](https://github.com/hallard/WebSocketToSerial) - Debug serial devices through the web browser - [Sattrack](https://github.com/Hopperpop/Sattrack) - Track the ISS with ESP8266 - [ESP Radio](https://github.com/Edzelf/Esp-radio) - Icecast radio based on ESP8266 and VS1053 @@ -245,7 +233,6 @@ lib_deps = https://github.com/me-no-dev/ESPAsyncWebServer.git ## Request Variables ### Common Variables - ```cpp request->version(); // uint8_t: 0 = HTTP/1.0, 1 = HTTP/1.1 request->method(); // enum: HTTP_GET, HTTP_POST, HTTP_DELETE, HTTP_PUT, HTTP_PATCH, HTTP_HEAD, HTTP_OPTIONS @@ -257,7 +244,6 @@ request->multipart(); // bool: True if the request has content type "mult ``` ### Headers - ```cpp //List all collected headers int headers = request->headers(); @@ -287,7 +273,6 @@ if(request->hasHeader("MyHeader")){ ``` ### GET, POST and FILE parameters - ```cpp //List all parameters int params = request->params(); @@ -326,7 +311,6 @@ if(request->hasArg("download")) ``` ### FILE Upload handling - ```cpp void handleUpload(AsyncWebServerRequest *request, String filename, size_t index, uint8_t *data, size_t len, bool final){ if(!index){ @@ -342,7 +326,6 @@ void handleUpload(AsyncWebServerRequest *request, String filename, size_t index, ``` ### Body data handling - ```cpp void handleBody(AsyncWebServerRequest *request, uint8_t *data, size_t len, size_t index, size_t total){ if(!index){ @@ -356,13 +339,10 @@ void handleBody(AsyncWebServerRequest *request, uint8_t *data, size_t len, size_ } } ``` - If needed, the `_tempObject` field on the request can be used to store a pointer to temporary data (e.g. from the body) associated with the request. If assigned, the pointer will automatically be freed along with the request. ### JSON body handling with ArduinoJson - Endpoints which consume JSON can use a special handler to get ready to use JSON data in the request callback: - ```cpp #include "AsyncJson.h" #include "ArduinoJson.h" @@ -375,9 +355,7 @@ server.addHandler(handler); ``` ## Responses - ### Redirect to another URL - ```cpp //to local url request->redirect("/login"); @@ -387,13 +365,11 @@ request->redirect("http://esp8266.com"); ``` ### Basic response with HTTP Code - ```cpp request->send(404); //Sends 404 File Not Found ``` ### Basic response with HTTP Code and extra headers - ```cpp AsyncWebServerResponse *response = request->beginResponse(404); //Sends 404 File Not Found response->addHeader("Server","ESP Async Web Server"); @@ -401,13 +377,11 @@ request->send(response); ``` ### Basic response with string content - ```cpp request->send(200, "text/plain", "Hello World!"); ``` ### Basic response with string content and extra headers - ```cpp AsyncWebServerResponse *response = request->beginResponse(200, "text/plain", "Hello World!"); response->addHeader("Server","ESP Async Web Server"); @@ -415,14 +389,12 @@ request->send(response); ``` ### Send large webpage from PROGMEM - ```cpp const char index_html[] PROGMEM = "..."; // large char array, tested with 14k request->send_P(200, "text/html", index_html); ``` ### Send large webpage from PROGMEM and extra headers - ```cpp const char index_html[] PROGMEM = "..."; // large char array, tested with 14k AsyncWebServerResponse *response = request->beginResponse_P(200, "text/html", index_html); @@ -431,7 +403,6 @@ request->send(response); ``` ### Send large webpage from PROGMEM containing templates - ```cpp String processor(const String& var) { @@ -447,7 +418,6 @@ request->send_P(200, "text/html", index_html, processor); ``` ### Send large webpage from PROGMEM containing templates and extra headers - ```cpp String processor(const String& var) { @@ -465,8 +435,8 @@ request->send(response); ``` ### Send binary content from PROGMEM - ```cpp + //File: favicon.ico.gz, Size: 726 #define favicon_ico_gz_len 726 const uint8_t favicon_ico_gz[] PROGMEM = { @@ -524,14 +494,12 @@ request->send(response); ``` ### Respond with content coming from a Stream - ```cpp //read 12 bytes from Serial and send them as Content Type text/plain request->send(Serial, "text/plain", 12); ``` ### Respond with content coming from a Stream and extra headers - ```cpp //read 12 bytes from Serial and send them as Content Type text/plain AsyncWebServerResponse *response = request->beginResponse(Serial, "text/plain", 12); @@ -540,7 +508,6 @@ request->send(response); ``` ### Respond with content coming from a Stream containing templates - ```cpp String processor(const String& var) { @@ -556,7 +523,6 @@ request->send(Serial, "text/plain", 12, processor); ``` ### Respond with content coming from a Stream containing templates and extra headers - ```cpp String processor(const String& var) { @@ -574,7 +540,6 @@ request->send(response); ``` ### Respond with content coming from a File - ```cpp //Send index.htm with default content type request->send(SPIFFS, "/index.htm"); @@ -587,7 +552,6 @@ request->send(SPIFFS, "/index.htm", String(), true); ``` ### Respond with content coming from a File and extra headers - ```cpp //Send index.htm with default content type AsyncWebServerResponse *response = request->beginResponse(SPIFFS, "/index.htm"); @@ -603,17 +567,14 @@ request->send(response); ``` ### Respond with content coming from a File containing templates - Internally uses [Chunked Response](#chunked-response). Index.htm contents: - ``` %HELLO_FROM_TEMPLATE% ``` Somewhere in source files: - ```cpp String processor(const String& var) { @@ -629,7 +590,6 @@ request->send(SPIFFS, "/index.htm", String(), false, processor); ``` ### Respond with content using a callback - ```cpp //send 128 bytes as plain text request->send("text/plain", 128, [](uint8_t *buffer, size_t maxLen, size_t index) -> size_t { @@ -643,7 +603,6 @@ request->send("text/plain", 128, [](uint8_t *buffer, size_t maxLen, size_t index ``` ### Respond with content using a callback and extra headers - ```cpp //send 128 bytes as plain text AsyncWebServerResponse *response = request->beginResponse("text/plain", 128, [](uint8_t *buffer, size_t maxLen, size_t index) -> size_t { @@ -658,8 +617,44 @@ response->addHeader("Server","ESP Async Web Server"); request->send(response); ``` -### Respond with content using a callback containing templates +### Respond with file content using a callback and extra headers +With this code your ESP is able to serve even large (large in terms of ESP, e.g. 100kB) files +without memory problems. + +You need to create a file handler in outer function (to have a single one for request) but use +it in a lambda. The catch is that the lambda has it's own lifecycle which may/will cause it's +called after the original function is over thus the original file handle is destroyed. Using the +captured `&file` in the lambda then causes segfault (Hello, Exception 9!) and the whole ESP crashes. +By using this code, you tell the compiler to move the handle into the lambda so it won't be +destroyed when outer function (that one where you call `request->send(response)`) ends. + +```cpp +const File file = ... // e.g. SPIFFS.open(path, "r"); + +const contentType = "application/javascript"; + +AsyncWebServerResponse *response = request->beginResponse( + contentType, + file.size(), + [file](uint8_t *buffer, size_t maxLen, size_t total) mutable -> size_t { + int bytes = file.read(buffer, maxLen); + + // close file at the end + if (bytes + total == file.size()) file.close(); + + return max(0, bytes); // return 0 even when no bytes were loaded + } +); + +if (gzipped) { + response->addHeader(F("Content-Encoding"), F("gzip")); +} + +request->send(response); +``` + +### Respond with content using a callback containing templates ```cpp String processor(const String& var) { @@ -682,7 +677,6 @@ request->send("text/plain", 128, [](uint8_t *buffer, size_t maxLen, size_t index ``` ### Respond with content using a callback containing templates and extra headers - ```cpp String processor(const String& var) { @@ -707,9 +701,7 @@ request->send(response); ``` ### Chunked Response - Used when content length is unknown. Works best if the client supports HTTP/1.1 - ```cpp AsyncWebServerResponse *response = request->beginChunkedResponse("text/plain", [](uint8_t *buffer, size_t maxLen, size_t index) -> size_t { //Write up to "maxLen" bytes into "buffer" and return the amount written. @@ -723,9 +715,7 @@ request->send(response); ``` ### Chunked Response containing templates - Used when content length is unknown. Works best if the client supports HTTP/1.1 - ```cpp String processor(const String& var) { @@ -748,7 +738,6 @@ request->send(response); ``` ### Print to response - ```cpp AsyncResponseStream *response = request->beginResponseStream("text/html"); response->addHeader("Server","ESP Async Web Server"); @@ -799,9 +788,7 @@ request->send(response); ``` ### ArduinoJson Basic Response - This way of sending Json is great for when the result is below 4KB - ```cpp #include "AsyncJson.h" #include "ArduinoJson.h" @@ -817,13 +804,11 @@ request->send(response); ``` ### ArduinoJson Advanced Response - This response can handle really large Json objects (tested to 40KB) There isn't any noticeable speed decrease for small results with the method above Since ArduinoJson does not allow reading parts of the string, the whole Json has to be passed every time a chunks needs to be sent, which shows speed decrease proportional to the resulting json packets - ```cpp #include "AsyncJson.h" #include "ArduinoJson.h" @@ -839,7 +824,6 @@ request->send(response); ``` ## Serving static files - In addition to serving files from SPIFFS as described above, the server provide a dedicated handler that optimize the performance of serving files from SPIFFS - ```AsyncStaticWebHandler```. Use ```server.serveStatic()``` function to initialize and add a new instance of ```AsyncStaticWebHandler``` to the server. @@ -848,16 +832,13 @@ handler that can handle the request. Notice that you can chain setter functions to setup the handler, or keep a pointer to change it at a later time. ### Serving specific file by name - ```cpp // Serve the file "/www/page.htm" when request url is "/page.htm" server.serveStatic("/page.htm", SPIFFS, "/www/page.htm"); ``` ### Serving files in directory - To serve files in a directory, the path to the files should specify a directory in SPIFFS and ends with "/". - ```cpp // Serve files in directory "/www/" when request url starts with "/" // Request to the root or none existing files will try to server the defualt @@ -878,10 +859,8 @@ server ``` ### Specifying Cache-Control header - It is possible to specify Cache-Control header value to reduce the number of calls to the server once the client loaded the files. For more information on Cache-Control values see [Cache-Control](https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9) - ```cpp // Cache responses for 10 minutes (600 seconds) server.serveStatic("/", SPIFFS, "/www/").setCacheControl("max-age=600"); @@ -896,10 +875,8 @@ handler->setCacheControl("max-age=30"); ``` ### Specifying Date-Modified header - It is possible to specify Date-Modified header to enable the server to return Not-Modified (304) response for requests with "If-Modified-Since" header with the same value, instead of responding with the actual file content. - ```cpp // Update the date modified string every time files are updated server.serveStatic("/", SPIFFS, "/www/").setLastModified("Mon, 20 Jun 2016 14:00:00 GMT"); @@ -918,10 +895,8 @@ handler->setLastModified(date_modified); ``` ### Specifying Template Processor callback - It is possible to specify template processor for static files. For information on template processor see [Respond with content coming from a File containing templates](#respond-with-content-coming-from-a-file-containing-templates). - ```cpp String processor(const String& var) { @@ -935,8 +910,54 @@ String processor(const String& var) server.serveStatic("/", SPIFFS, "/www/").setTemplateProcessor(processor); ``` -## Param Rewrite With Matching +### Serving static files by custom handling +It may happen your static files are too big and the ESP will crash the request before it sends the whole file. +In that case, you can handle static files with custom file serving through not found handler. + +This code below is more-or-less equivalent to this: +```cpp +webServer.serveStatic("/", SPIFFS, STATIC_FILES_PREFIX).setDefaultFile("index.html") +``` + +First, declare the handling function: +```cpp +bool handleStaticFile(AsyncWebServerRequest *request) { + String path = STATIC_FILES_PREFIX + request->url(); + + if (path.endsWith("/")) path += F("index.html"); + + String contentType = getContentType(path); + String pathWithGz = path + ".gz"; + + if (SPIFFS.exists(pathWithGz) || SPIFFS.exists(path)) { + bool gzipped = false; + if (SPIFFS.exists(pathWithGz)) { + gzipped = true; + path += ".gz"; + } + + // TODO serve the file + + return true; + } + + return false; +} +``` +And then configure your webserver: +```cpp +webServer.onNotFound([](AsyncWebServerRequest *request) { + if (handleStaticFile(request)) return; + + request->send(404); +}); +``` + +You may want to try [Respond with file content using a callback and extra headers](#respond-with-file-content-using-a-callback-and-extra-headers) +For actual serving the file. + +## Param Rewrite With Matching It is possible to rewrite the request url with parameter matchg. Here is an example with one parameter: Rewrite for example "/radio/{frequence}" -> "/radio?f={frequence}" @@ -989,24 +1010,20 @@ Usage: ``` ## Using filters - Filters can be set to `Rewrite` or `Handler` in order to control when to apply the rewrite and consider the handler. A filter is a callback function that evaluates the request and return a boolean `true` to include the item or `false` to exclude it. Two filter callback are provided for convince: - * `ON_STA_FILTER` - return true when requests are made to the STA (station mode) interface. * `ON_AP_FILTER` - return true when requests are made to the AP (access point) interface. ### Serve different site files in AP mode - ```cpp server.serveStatic("/", SPIFFS, "/www/").setFilter(ON_STA_FILTER); server.serveStatic("/", SPIFFS, "/ap/").setFilter(ON_AP_FILTER); ``` ### Rewrite to different index on AP - ```cpp // Serve the file "/www/index-ap.htm" in AP, and the file "/www/index.htm" on STA server.rewrite("/", "index.htm"); @@ -1015,7 +1032,6 @@ server.serveStatic("/", SPIFFS, "/www/"); ``` ### Serving different hosts - ```cpp // Filter callback using request host bool filterOnHost1(AsyncWebServerRequest *request) { return request->host() == "host1"; } @@ -1026,7 +1042,6 @@ server.serveStatic("/", SPIFFS, "/www/"); ``` ### Determine interface inside callbacks - ```cpp String RedirectUrl = "http://"; if (ON_STA_FILTER(request)) { @@ -1039,13 +1054,11 @@ server.serveStatic("/", SPIFFS, "/www/"); ``` ## Bad Responses - Some responses are implemented, but you should not use them, because they do not conform to HTTP. The following example will lead to unclean close of the connection and more time wasted than providing the length of the content ### Respond with content using a callback without content length to HTTP/1.0 clients - ```cpp //This is used as fallback for chunked responses to HTTP/1.0 Clients request->send("text/plain", 0, [](uint8_t *buffer, size_t maxLen, size_t index) -> size_t { @@ -1057,13 +1070,12 @@ request->send("text/plain", 0, [](uint8_t *buffer, size_t maxLen, size_t index) ``` ## Async WebSocket Plugin - The server includes a web socket plugin which lets you define different WebSocket locations to connect to without starting another listening service or using different port ### Async WebSocket Event - ```cpp + void onEvent(AsyncWebSocket * server, AsyncWebSocketClient * client, AwsEventType type, void * arg, uint8_t *data, size_t len){ if(type == WS_EVT_CONNECT){ //client connected @@ -1133,8 +1145,10 @@ void onEvent(AsyncWebSocket * server, AsyncWebSocketClient * client, AwsEventTyp ``` ### Methods for sending data to a socket client - ```cpp + + + //Server methods AsyncWebSocket ws("/ws"); //printf to a client @@ -1189,7 +1203,6 @@ client->binary(flash_binary, 4); ``` ### Direct access to web socket message buffer - When sending a web socket message using the above methods a buffer is created. Under certain circumstances you might want to manipulate or populate this buffer directly from your application, for example to prevent unnecessary duplications of the data. This example below shows how to create a buffer and print data to it from an ArduinoJson object then send it. ```cpp @@ -1216,7 +1229,6 @@ void sendDataWs(AsyncWebSocketClient * client) ``` ### Limiting the number of web socket clients - Browsers sometimes do not correctly close the websocket connection, even when the close() function is called in javascript. This will eventually exhaust the web server's resources and will cause the server to crash. Periodically calling the cleanClients() function from the main loop() function limits the number of clients by closing the oldest client when the maximum number of clients has been exceeded. This can called be every cycle, however, if you wish to use less power, then calling as infrequently as once per second is sufficient. ```cpp @@ -1225,13 +1237,12 @@ void loop(){ } ``` -## Async Event Source Plugin +## Async Event Source Plugin The server includes EventSource (Server-Sent Events) plugin which can be used to send short text events to the browser. Difference between EventSource and WebSockets is that EventSource is single direction, text-only protocol. ### Setup Event Source on the server - ```cpp AsyncWebServer server(80); AsyncEventSource events("/events"); @@ -1261,7 +1272,6 @@ void loop(){ ``` ### Setup Event Source in the browser - ```javascript if (!!window.EventSource) { var source = new EventSource('/events'); @@ -1287,7 +1297,6 @@ if (!!window.EventSource) { ``` ## Scanning for available WiFi Networks - ```cpp //First request will return 0 results unless you start scan from somewhere else (loop/setup) //Do not request more often than 3-5 seconds @@ -1323,7 +1332,6 @@ server.on("/scan", HTTP_GET, [](AsyncWebServerRequest *request){ Server goes through handlers in same order as they were added. You can't simple add handler with same path to override them. To remove handler: - ```arduino // save callback for particular URL path auto handler = server.on("/some/path", [](AsyncWebServerRequest *request){ @@ -1347,7 +1355,6 @@ server.reset(); ``` ## Setting up the server - ```cpp #include "ESPAsyncTCP.h" #include "ESPAsyncWebServer.h" @@ -1548,6 +1555,7 @@ Example of OTA code ws.closeAll(); }); + ``` ### Adding Default Headers @@ -1587,11 +1595,11 @@ For example we want a `sensorId` parameter in a route rule to match only a integ String sensorId = request->pathArg(0); }); ``` - *NOTE*: All regex patterns starts with `^` and ends with `$` To enable the `Path variable` support, you have to define the buildflag `-DASYNCWEBSERVER_REGEX`. + For Arduino IDE create/update `platform.local.txt`: `Windows`: C:\Users\(username)\AppData\Local\Arduino15\packages\\`{espxxxx}`\hardware\\`espxxxx`\\`{version}`\platform.local.txt @@ -1599,17 +1607,14 @@ For Arduino IDE create/update `platform.local.txt`: `Linux`: ~/.arduino15/packages/`{espxxxx}`/hardware/`{espxxxx}`/`{version}`/platform.local.txt Add/Update the following line: - ``` - compiler.cpp.extra_flags=-DASYNCWEBSERVER_REGEX + compiler.cpp.extra_flags=-DDASYNCWEBSERVER_REGEX ``` For platformio modify `platformio.ini`: - ```ini [env:myboard] build_flags = -DASYNCWEBSERVER_REGEX ``` - *NOTE*: By enabling `ASYNCWEBSERVER_REGEX`, `` will be included. This will add an 100k to your binary. diff --git a/examples/ESP_AsyncFSBrowser/ESP_AsyncFSBrowser.ino b/examples/ESP_AsyncFSBrowser/ESP_AsyncFSBrowser.ino index bf42d00..2056433 100644 --- a/examples/ESP_AsyncFSBrowser/ESP_AsyncFSBrowser.ino +++ b/examples/ESP_AsyncFSBrowser/ESP_AsyncFSBrowser.ino @@ -1,3 +1,5 @@ +#define USE_LittleFS // possible only for ESP8266 for now + #include #ifdef ESP32 #include @@ -6,6 +8,11 @@ #include #include #elif defined(ESP8266) + #ifdef USE_LittleFS + #include + #define SPIFFS LittleFS + #include + #endif #include #include #include diff --git a/examples/ESP_AsyncFSBrowser/data/ace.js.gz b/examples/ESP_AsyncFSBrowser/data/ace.js.gz deleted file mode 100644 index 7b175c1c92c541999766de1f36c1e7141f0f7236..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98943 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

|!pWSj(Zu#T0uCHHa9xi;JY36&pb?P>e@ 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

|_Z5I@t_glf_o8v6a%55{Jb1hrkRPsLa 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 diff --git a/examples/ESP_AsyncFSBrowser/data/acefull.js.gz b/examples/ESP_AsyncFSBrowser/data/acefull.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..373060858ebd1d1e27f5489917f59a039dda37d1 GIT binary patch literal 119986 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

NA{>GsGNHWsV|H-eux4k#{%)kG=T^O#gCa+sU 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 z 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 diff --git a/examples/ESP_AsyncFSBrowser/data/folder/image.jpg b/examples/ESP_AsyncFSBrowser/data/folder/image.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3224d5aa7952d8825f61de9ac1d8834792b15d4d GIT binary patch literal 6071 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 literal 0 HcmV?d00001 diff --git a/examples/ESP_AsyncFSBrowser/data/folder/test.txt b/examples/ESP_AsyncFSBrowser/data/folder/test.txt new file mode 100644 index 0000000..8318c86 --- /dev/null +++ b/examples/ESP_AsyncFSBrowser/data/folder/test.txt @@ -0,0 +1 @@ +Test \ No newline at end of file diff --git a/examples/ESP_AsyncFSBrowser/data/mode-css.js.gz b/examples/ESP_AsyncFSBrowser/data/mode-css.js.gz deleted file mode 100644 index ebd6fe940ab29aff1fe3b9687ea65eb4a4f83e4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6102 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 diff --git a/examples/ESP_AsyncFSBrowser/data/mode-html.js.gz b/examples/ESP_AsyncFSBrowser/data/mode-html.js.gz deleted file mode 100644 index 26b535328c8428b3f9e3f221062d8fe9a97f9b4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17037 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 diff --git a/examples/ESP_AsyncFSBrowser/data/mode-javascript.js.gz b/examples/ESP_AsyncFSBrowser/data/mode-javascript.js.gz deleted file mode 100644 index c0451c1c5dbe7eb3d41d2a4e0e7946b38e26b47d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6315 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 literal 0 HcmV?d00001 diff --git a/examples/ESP_AsyncFSBrowser/data/worker-html.js.gz b/examples/ESP_AsyncFSBrowser/data/worker-html.js.gz index ec8aa87a9524a68c1f6b2b53f12589ee0a14f43a..f93dbff3e22b5e0e7f7155eddca11283dab689fa 100644 GIT binary patch literal 47406 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 KpC1yy%m4uYdbSY& literal 50024 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 diff --git a/examples/ESP_AsyncFSBrowser/data/worker-javascript.js.gz b/examples/ESP_AsyncFSBrowser/data/worker-javascript.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..191a5560486347d957e48f8d49f98eae939f5b59 GIT binary patch literal 47729 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 S;c$QT`o_)dGfp)!F#rIo^MG;y literal 0 HcmV?d00001 diff --git a/examples/SmartSwitch/README.md b/examples/SmartSwitch/README.md index 723f3c7..ffafef7 100644 --- a/examples/SmartSwitch/README.md +++ b/examples/SmartSwitch/README.md @@ -1,35 +1,19 @@ ## SmartSwitch - -* Remote Temperature Control application with schedule - - (example: car block heater or car battery charger for winter) - -* Based on [ESP_AsyncFSBrowser](https://github.com/lorol/ESPAsyncWebServer/tree/master/examples/ESP_AsyncFSBrowser) example that uses embedded ACE editor - -* Wide browser compatibility, no extra server-side needed - -* HTTP server and WebSocket on same port - -* Standalone, no JS dependencies for the browser from Internet - -* [Ace Editor](https://github.com/ajaxorg/ace) embedded to source but also - editable, upgradeable see [extras folder](https://github.com/lorol/ESPAsyncWebServer/tree/master/extras) - -* Added [ESPAsyncWiFiManager](https://github.com/alanswx/ESPAsyncWiFiManager) and fallback AP mode after timeout - -* Real Time (NTP) w/ Time Zones. Sync from browser time if in AP mode - -* Memorized settings to EEPROM - -* Multiple clients can be connected at same time, they see each other' requests - -* Authentication variants including [Cookie-based](https://github.com/me-no-dev/ESPAsyncWebServer/pull/684) idea - -* Used [this Xtea implementation](https://github.com/franksmicro/Arduino/tree/master/libraries/Xtea) for getting a fancier Cookie token - -* Default credentials **smart : switch** or only **switch** as password - -* OTA included - -* Use the latest ESP8266 ESP32 cores from GitHub +- Remote Temperature Control application with schedule + (example: car block heater or car battery charger for winter) +- Based on [ESP_AsyncFSBrowser](https://github.com/lorol/ESPAsyncWebServer/tree/master/examples/ESP_AsyncFSBrowser) example that uses embedded ACE editor +- Wide browser compatibility, no extra server-side needed +- HTTP server and WebSocket on same port +- Standalone, no JS dependencies for the browser from Internet +- [Ace Editor](https://github.com/ajaxorg/ace) embedded to source but also - editable, upgradeable see [extras folder](https://github.com/lorol/ESPAsyncWebServer/tree/master/extras) +- Added [ESPAsyncWiFiManager](https://github.com/alanswx/ESPAsyncWiFiManager) and fallback AP mode after timeout +- Real Time (NTP) w/ Time Zones. Sync from browser time if in AP mode +- Memorized settings to EEPROM +- Multiple clients can be connected at same time, they see each other' requests +- Authentication variants including [Cookie-based](https://github.com/me-no-dev/ESPAsyncWebServer/pull/684) idea +- Used [this Xtea implementation](https://github.com/franksmicro/Arduino/tree/master/libraries/Xtea) for getting a fancier Cookie token +- Default credentials **smart : switch** or only **switch** as password +- OTA included +- Use the latest ESP8266 ESP32 cores from GitHub \ No newline at end of file diff --git a/examples/SmartSwitch/SmartSwitch.ino b/examples/SmartSwitch/SmartSwitch.ino index f99a2e2..4244e29 100644 --- a/examples/SmartSwitch/SmartSwitch.ino +++ b/examples/SmartSwitch/SmartSwitch.ino @@ -13,6 +13,8 @@ Multiple clients can be connected at same time, they see each other requests Use latest ESP core lib (from Github) */ +#define USE_LittleFS // possible only for ESP8266 for now + #define USE_WFM // to use ESPAsyncWiFiManager //#define DEL_WFM // delete Wifi credentials stored //(use once then comment and flash again), also HTTP /erase-wifi can do the same live @@ -44,10 +46,16 @@ Use latest ESP core lib (from Github) #include #include #elif defined(ESP8266) + #ifdef USE_LittleFS + #include + #define SPIFFS LittleFS + #include + #endif #include #include #include #endif + #include #ifdef USE_WFM #include "ESPAsyncWiFiManager.h" @@ -62,6 +70,7 @@ Use latest ESP core lib (from Github) #include "Xtea.h" #endif + #define RTC_UTC_TEST 1577836800 // Some Date #define MYTZ PSTR("EST5EDT,M3.2.0,M11.1.0") @@ -517,8 +526,12 @@ void setup(){ Serial.printf("Timer set %02d:%02d - %02d:%02d\n", ee.hstart, ee.mstart, ee.hstop, ee.mstop); Serial.printf("Temp set %+2.1f\n", ee.tempe); -//SPIFFS - SPIFFS.begin(); +//FS + if (SPIFFS.begin()) { + Serial.print(F("FS mounted\n")); + } else { + Serial.print(F("FS mount failed\n")); + } #ifdef USE_AUTH_WS ws.setAuthentication(http_username,http_password); @@ -676,7 +689,10 @@ void setup(){ ArduinoOTA.setHostname(hostName); ArduinoOTA.onStart([]() { Serial.print(F("OTA Started ...\n")); + SPIFFS.end(); // Clean FS ws.textAll("Now,OTA"); // for all clients + ws.enable(false); + ws.closeAll(); }); ArduinoOTA.begin(); } // setup end diff --git a/examples/SmartSwitch/data/acefull.js.gz b/examples/SmartSwitch/data/acefull.js.gz index 11645575f7869e10ce99a2c4199995a224fd0142..373060858ebd1d1e27f5489917f59a039dda37d1 100644 GIT binary patch delta 21 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"edit") || request->hasParam("download")){ - request->send(request->_tempFile, request->_tempFile.name(), String(), request->hasParam("download")); + request->send(request->_tempFile, request->_tempFile.fullName(), String(), request->hasParam("download")); } else { const char * buildTime = __DATE__ " " __TIME__ " GMT"; diff --git a/src/edit.htm b/src/edit.htm index 584b5bb..c1ca544 100644 --- a/src/edit.htm +++ b/src/edit.htm @@ -1,6 +1,5 @@ - ESP Editor @@ -196,7 +195,7 @@ t.append("path", e), requests.add("PUT", "/edit", t, a) } var o = ce("button"); - o.innerHTML = "Refresh List", ge(e).appendChild(o); + o.innerHTML = "Root Dir", ge(e).appendChild(o); var c = ce("input"); c.type = "file", c.multiple = !1, c.name = "data", c.id = "upload-select", ge(e).appendChild(c); var d = ce("input"); @@ -255,6 +254,7 @@ } function createTree(e, t) { + function n(e) { ge("download-frame").src = "/edit?download=" + e } @@ -274,10 +274,12 @@ t.loadUrl(i), document.body.getElementsByClassName("cm").length > 0 && document.body.removeChild(e) }); var d = ce("li"); - o.appendChild(d), d.innerHTML = "Download", d.onclick = function(t) { + o.appendChild(d), s(i) || r(i) ? (d.innerHTML = "Download", d.onclick = function(t) { n(i), document.body.getElementsByClassName("cm").length > 0 && document.body.removeChild(e) - }; - var l = ce("li"); + }) : z(i) ? (o.appendChild(d), d.innerHTML = "ChDir", d.onclick = function(t) { + f.removeChild(f.childNodes[0]), m(f, i), document.body.getElementsByClassName("cm").length > 0 && document.body.removeChild(e) + }) : (); + var l = ce("li"); o.appendChild(l), l.innerHTML = "Delete", l.onclick = function(t) { u(i), document.body.getElementsByClassName("cm").length > 0 && document.body.removeChild(e) } @@ -302,7 +304,7 @@ c.id = n; var d = ce("span"); return d.innerHTML = n, c.appendChild(d), c.onclick = function(e) { - s(c.id.toLowerCase()) ? t.loadUrl(c.id) : r(c.id.toLowerCase()) && a(c.id) + s(c.id.toLowerCase()) ? t.loadUrl(c.id) : r(c.id.toLowerCase()) ? a(c.id) : z(c.id) ? f.removeChild(f.childNodes[0]) && m(f, c.id.toLowerCase()) : () }, c.oncontextmenu = function(e) { e.preventDefault(), e.stopPropagation(), o(e, c.id, !0) }, c @@ -314,6 +316,11 @@ e.appendChild(a); for (var i = n.length, o = 0; i > o; o++) "file" === n[o].type && a.appendChild(c(t, n[o].name, n[o].size)) } + + function z(e) { + if (e.indexOf('.') == -1) return !0 + else return !1 + } function s(e) { var t = /(?:.([^.]+))?$/.exec(e)[1]; diff --git a/src/edit.htm.gz.h b/src/edit.htm.gz.h index 8639938..634c682 100644 --- a/src/edit.htm.gz.h +++ b/src/edit.htm.gz.h @@ -1,226 +1,229 @@ -//File: edit.htm.gz, Size: 4408 -#define edit_htm_gz_len 4408 +//File: edit.htm.gz, Size: 4469 +#define edit_htm_gz_len 4469 const uint8_t edit_htm_gz[] PROGMEM = { -0x1F,0x8B,0x08,0x08,0x1B,0x89,0xCE,0x5E,0x02,0x00,0x65,0x64,0x69,0x74,0x2E,0x68,0x74,0x6D,0x00,0xB5, -0x1A,0x0B,0x5B,0xDB,0x36,0xF0,0xAF,0x18,0x6F,0x63,0xF6,0xE2,0x38,0x0E,0xA5,0xAC,0x73,0x30,0x2C,0x50, -0x56,0xFA,0x02,0x4A,0x42,0x3B,0xCA,0xD8,0x3E,0xC5,0x56,0x62,0x15,0x5B,0xF6,0x2C,0x99,0x40,0xB3,0xFC, -0xF7,0x9D,0x24,0x3F,0x43,0xE8,0x1E,0xDF,0xD6,0x6E,0x8D,0xA4,0xD3,0x9D,0xEE,0x4E,0xF7,0x54,0xB2,0xBB, -0xF1,0xFC,0xF4,0x70,0x7C,0x79,0x76,0xA4,0x85,0x3C,0x8E,0xF6,0x76,0xC5,0xBF,0x5A,0x84,0xE8,0xCC,0xD3, -0x31,0xD5,0xF7,0x76,0x63,0xCC,0x11,0x80,0x78,0xDA,0xC5,0xBF,0xE7,0xE4,0xD6,0xD3,0x0F,0x13,0xCA,0x31, -0xE5,0x5D,0x7E,0x9F,0x62,0x5D,0xF3,0xD5,0xCC,0xD3,0x39,0xBE,0xE3,0x3D,0x81,0x3C,0xD0,0xFC,0x10,0x65, -0x0C,0x73,0x2F,0xE7,0xD3,0xEE,0x33,0x20,0xC1,0x09,0x8F,0xF0,0xDE,0xD1,0xE8,0x4C,0x3B,0x0A,0x08,0x4F, -0xB2,0xDD,0x9E,0x5A,0xD9,0x8D,0x08,0xBD,0xD1,0x32,0x1C,0x79,0x3A,0x4A,0xD3,0x08,0x77,0x79,0x92,0xFB, -0x61,0x97,0x00,0x4D,0x5D,0x0B,0x33,0x3C,0xF5,0xF4,0x1E,0xF2,0xB1,0x0D,0x0B,0xBA,0x26,0x8E,0xF3,0x74, -0x12,0xA3,0x19,0xEE,0xDD,0xA9,0x3D,0x4D,0x02,0x2C,0x4C,0x32,0xEE,0xE7,0x5C,0xFB,0x57,0xD8,0xFF,0x00, -0x89,0xF1,0xFB,0x08,0x2B,0x90,0x92,0xD9,0x67,0x4C,0xD7,0x62,0x1C,0x10,0x04,0x5C,0xF8,0x19,0x16,0x5A, -0x8B,0xD0,0x04,0x47,0x8B,0x69,0x02,0x6A,0x62,0xE4,0x33,0x76,0xFB,0x5B,0xE9,0xDD,0x40,0x4E,0xA7,0x28, -0x26,0xD1,0xBD,0xCB,0x10,0x65,0x5D,0x86,0x33,0x32,0x5D,0xDA,0x7E,0xBC,0xF8,0xDC,0x25,0x34,0xC0,0x77, -0xEE,0x13,0xC7,0x19,0xA4,0x09,0x23,0x9C,0x24,0xD4,0x45,0x13,0x96,0x44,0x39,0xC7,0x83,0x08,0x4F,0xB9, -0xFB,0x14,0x28,0x4C,0x92,0x2C,0xC0,0x99,0xDB,0x4F,0xEF,0x34,0x00,0x91,0x40,0xFB,0x6A,0x7B,0x7B,0x7B, -0x30,0x41,0xFE,0xCD,0x2C,0x4B,0x72,0x1A,0x74,0xFD,0x24,0x4A,0x32,0xF7,0xAB,0xE9,0x53,0xF1,0x77,0x10, -0x10,0x96,0x46,0xE8,0xDE,0xA5,0x09,0xC5,0x80,0x7B,0xD7,0x65,0x21,0x0A,0x92,0xB9,0xEB,0x68,0x8E,0xD6, -0x77,0x80,0x48,0x36,0x9B,0x20,0xC3,0xB1,0xC4,0x5F,0x7B,0xDB,0x1C,0xFC,0x2D,0x7E,0xD5,0xF2,0x1C,0x93, -0x59,0xC8,0xDD,0xEF,0x1D,0x47,0xF0,0xAF,0xE5,0xD1,0x22,0x22,0x8C,0x77,0xA5,0x72,0xD4,0x79,0x3C,0x49, -0x5D,0x47,0xB2,0x0E,0x1F,0x31,0xCA,0x66,0x84,0xC2,0x20,0x45,0x41,0x40,0xE8,0xCC,0x55,0x68,0x11,0x59, -0x54,0xD2,0xC2,0x3D,0x20,0x4E,0x6E,0xF1,0x20,0x26,0xB4,0x3B,0x27,0x01,0x0F,0xDD,0x1D,0x07,0xB8,0xF0, -0xF3,0x8C,0x81,0x4C,0x69,0x42,0x28,0xC7,0x99,0x44,0x63,0x29,0xA2,0x0B,0x25,0xAA,0x50,0x40,0x25,0x27, -0xA1,0x70,0xA3,0xB8,0x3B,0x89,0x12,0xFF,0xA6,0x3A,0x69,0x27,0xBD,0x2B,0xCE,0x72,0xC3,0xE4,0x16,0x67, -0x8B,0x5A,0x5D,0x12,0xBB,0x05,0x6C,0x91,0xC6,0x18,0x2F,0x6D,0x7E,0x9B,0x03,0xD4,0x92,0x9F,0x20,0x65, -0x41,0xB5,0x29,0x52,0x5B,0xF0,0x02,0x85,0xD0,0x34,0xE7,0x8B,0x87,0x57,0x99,0xA4,0xC8,0x27,0xFC,0xDE, -0x75,0xE4,0x36,0x69,0x21,0xEE,0xB6,0xE3,0x68,0x42,0xE1,0xDA,0x7B,0x9C,0x05,0x88,0x22,0x6B,0x98,0x11, -0x14,0x59,0xA3,0x5A,0xE5,0xDD,0x38,0xF9,0xDC,0xCD,0x61,0x0C,0xF3,0x08,0xFB,0x5C,0x69,0x18,0x2E,0x61, -0x72,0x43,0xF8,0x43,0xC0,0x83,0x85,0x86,0xAE,0xA4,0x86,0x42,0x75,0x7B,0x7D,0xD0,0x8D,0xE4,0x43,0x89, -0xAD,0x24,0xEA,0x4E,0x12,0xCE,0x93,0x58,0xDA,0x5B,0x25,0xAD,0x26,0x4D,0xE6,0xD9,0x83,0xEB,0x58,0xAF, -0xFA,0x06,0xF9,0x01,0x28,0x95,0x13,0x1F,0x45,0x5D,0x14,0x91,0x19,0x75,0x63,0x12,0x04,0x11,0x6E,0x98, -0xAC,0x9B,0x67,0x91,0x11,0x20,0x8E,0x5C,0xE5,0x67,0x29,0x9D,0x01,0x94,0xE1,0x9D,0x6D,0x8B,0xBC,0x3F, -0x38,0x3D,0x9F,0x3B,0xAF,0x5F,0xCC,0x92,0x21,0xFC,0x39,0x19,0x5D,0x84,0x47,0x17,0x33,0x18,0x1D,0x88, -0xE9,0xF0,0xDD,0xE1,0xF0,0x1D,0x7C,0x1C,0xF6,0x3B,0x9F,0xA6,0xBF,0x0F,0xC5,0xF2,0x8B,0xE0,0x60,0x7C, -0x71,0x34,0x1C,0xBE,0xEE,0xBD,0x3C,0x99,0x7F,0x78,0xBD,0x23,0xC0,0x07,0x91,0x73,0xFE,0x3E,0x74,0x2E, -0xB6,0x7E,0x88,0x83,0xE3,0x20,0xF4,0xE3,0x8B,0xE1,0xBB,0x0F,0xE7,0xB7,0x97,0xF1,0xC5,0x6C,0xF4,0xA1, -0x1F,0x7E,0xDC,0x7A,0x3F,0xFA,0xF8,0xE1,0xA7,0x1B,0xFC,0xF3,0xF1,0xAB,0x8F,0xE3,0x39,0x20,0x3C,0x4F, -0x46,0x17,0xE7,0x07,0xEF,0x0F,0x66,0x1F,0x0F,0xFC,0xA3,0xBB,0x49,0x74,0x72,0xF0,0x62,0x38,0x19,0x6E, -0xF9,0x18,0xCF,0xC6,0xE7,0x07,0xF9,0xCB,0xD7,0xA7,0x33,0x42,0xC2,0xD1,0xC7,0x93,0xB1,0x7F,0xF8,0xF4, -0xCD,0xC5,0xF1,0x90,0x84,0x27,0xAF,0xCE,0x9D,0x9B,0x17,0xAF,0x0F,0x9F,0xFB,0x97,0xAF,0x2E,0x77,0x9E, -0x3F,0xE9,0x7D,0xFF,0xFD,0xDB,0xE0,0x94,0xD0,0xF1,0xED,0xE7,0xE1,0xEC,0x70,0xFE,0xEC,0x9E,0x8D,0xC3, -0x97,0xB7,0xB4,0xF7,0x3E,0xF9,0xF4,0xF2,0xFE,0x2D,0xFC,0x7F,0x76,0xD6,0x99,0x8C,0xFA,0xEC,0xE2,0xDD, -0xCB,0xF7,0x5B,0xEC,0x87,0xA7,0xE9,0xC1,0xF3,0xE7,0xB7,0xF1,0xE4,0xAC,0x17,0x07,0x37,0x53,0xFE,0xEC, -0x09,0x4F,0x2F,0x67,0xF9,0xC7,0xDF,0x9F,0xBE,0x0A,0x7B,0xA7,0x18,0x5D,0x86,0x9D,0xFB,0xCF,0xF7,0xCF, -0xC2,0xF1,0xF1,0xED,0x49,0x84,0xEE,0x4E,0x4E,0xFC,0xCF,0x71,0x27,0x42,0x3F,0x9C,0x8E,0x23,0x94,0xF5, -0x2F,0x82,0x61,0xAF,0x73,0xB8,0x35,0xDC,0xE6,0xD9,0xF9,0x21,0x7D,0xFE,0xE4,0xD3,0xE8,0xD9,0xC1,0x41, -0x3F,0x99,0xFC,0xBE,0xF5,0xE2,0x66,0xE7,0xC5,0xC5,0xCE,0xBB,0xC9,0xBB,0xE1,0x68,0xFB,0xE0,0x02,0x5D, -0x8E,0xDE,0x0D,0xA7,0xDB,0x93,0x30,0x7C,0xFD,0x7A,0xFC,0x53,0x30,0xFC,0x9C,0x0D,0x4F,0xE7,0xC3,0xBB, -0xA3,0x8B,0xE1,0x71,0xE7,0xF5,0xD1,0x5B,0xA7,0x3F,0xBA,0x7C,0x32,0x7B,0xBB,0x33,0x3F,0x60,0x47,0xC3, -0x77,0x07,0xCE,0xEC,0x55,0x27,0x46,0x1F,0x93,0xC3,0x27,0xB3,0x97,0x3B,0xE4,0xEC,0x12,0x0D,0x5F,0x1E, -0xBC,0x62,0xE4,0x3C,0x3E,0xBE,0x70,0x86,0xC3,0x37,0xA7,0xF8,0xA7,0xC3,0x27,0xE8,0xF5,0x96,0xFF,0x01, -0xF4,0x7F,0xF1,0x33,0xFE,0xBE,0x33,0x9C,0x9F,0x3A,0x91,0xFF,0x03,0x1E,0x1F,0x5F,0x8E,0xE5,0xED,0x1C, -0x45,0x3F,0x8D,0x6F,0x46,0xF9,0xBB,0xF8,0xF0,0xD0,0xD4,0x68,0xD2,0xCD,0x70,0x8A,0x11,0x6F,0xC6,0xAA, -0xCA,0x39,0xC0,0xB6,0x6A,0x2B,0x2C,0x9C,0x54,0x44,0xD6,0x6E,0x80,0xFD,0x24,0x43,0x72,0x0F,0x20,0xE0, -0x4C,0x98,0xD8,0xF2,0x47,0x19,0x6A,0x35,0x15,0x69,0x35,0x44,0x03,0xCD,0x28,0x1D,0x21,0x26,0x14,0x70, -0x6E,0x89,0x8F,0xBB,0x29,0xB9,0xC3,0x51,0x57,0x22,0xBB,0x8E,0xB9,0x90,0xCE,0x56,0x6E,0x43,0x94,0xC4, -0x8A,0x6A,0xB9,0x10,0x7C,0x42,0xBE,0x48,0x69,0xE0,0x32,0x31,0x7C,0x16,0xBE,0x93,0x64,0xDD,0x49,0x3E, -0x9B,0x92,0x3B,0xF0,0xE6,0x29,0xA1,0x84,0x63,0xAD,0xCF,0x96,0x3F,0x96,0x64,0x6E,0xF0,0xFD,0x34,0x43, -0x31,0x66,0xDA,0xDF,0x24,0xB3,0x98,0x66,0x49,0xBC,0xA8,0x23,0x20,0x4F,0x1A,0x93,0xE5,0xF2,0xAB,0x3C, -0x8D,0x12,0x04,0x62,0xAE,0x09,0x1B,0x2A,0x98,0x66,0xC2,0xAD,0xAA,0xA0,0x5A,0xBA,0xD9,0x16,0xB8,0x65, -0xCB,0xAD,0xB7,0xB6,0x6B,0xD7,0xED,0xCA,0xBD,0x22,0xD8,0x37,0x55,0xDF,0x88,0x07,0x8D,0x58,0xF7,0x15, -0x07,0x95,0xAE,0x3F,0x5C,0x1D,0xA2,0x22,0x43,0xCD,0x80,0x8A,0xD2,0xFD,0x1D,0xA7,0x11,0x2A,0x60,0xDF, -0xF2,0x2B,0x2C,0xD3,0xBC,0xF5,0x55,0x9A,0xC1,0x6D,0xE0,0xF9,0x17,0x68,0x56,0x32,0xB5,0x69,0x03,0xCD, -0x2A,0xDD,0x29,0x11,0xEA,0x9C,0x27,0x79,0xAD,0x48,0x3F,0x94,0x0A,0xC0,0x15,0x37,0x4F,0x05,0x37,0x5F, -0xD4,0xEA,0x93,0x9D,0x6F,0x0A,0x1E,0xB6,0x9D,0x6F,0x96,0xB6,0xDA,0x5B,0xE5,0xE3,0xBE,0x03,0x7F,0xCA, -0xB4,0xFB,0xAC,0x66,0x61,0xF2,0x54,0xFC,0x2D,0x19,0x04,0x3A,0x4D,0xE0,0x93,0xED,0x1F,0x9E,0x05,0x93, -0x12,0xA8,0x04,0x7B,0x1C,0x9E,0xA1,0x80,0xE4,0xCC,0x7D,0xEA,0x7C,0xA3,0xF4,0x09,0xD7,0x07,0xB2,0x97, -0x97,0xAB,0x26,0xB5,0xC5,0xB2,0x94,0x50,0x6D,0x8B,0x69,0xE2,0xBE,0x51,0x56,0x19,0x66,0x33,0xD5,0x83, -0x8B,0xD4,0xA6,0x29,0xF6,0x2F,0x9C,0x6F,0x16,0x3C,0x43,0x94,0x4D,0x93,0x2C,0x76,0xB3,0x84,0x23,0x8E, -0x0D,0xC7,0x5C,0xF6,0x9D,0x75,0x80,0x27,0x3B,0x4E,0x80,0x67,0xE6,0x72,0xB9,0xDB,0x93,0x49,0x0D,0x2A, -0x1E,0x3F,0x23,0x29,0xDF,0x9B,0xE6,0xD4,0x17,0x3C,0x68,0x33,0x6C,0x60,0x73,0x91,0x61,0x9E,0x67,0x54, -0x0B,0x12,0x3F,0x17,0xC6,0x6E,0xCF,0x30,0x3F,0x52,0x76,0x7F,0x70,0xFF,0x32,0x80,0x1D,0xCB,0x0A,0xC1, -0x5F,0x8B,0x00,0x0E,0x0C,0xE7,0x15,0x38,0xAD,0xFD,0x90,0x60,0x80,0xC8,0x6B,0x7C,0x6F,0x60,0x8B,0x57, -0x88,0xD8,0x16,0xEB,0x86,0x51,0x6E,0x03,0x20,0x35,0x17,0xB7,0xA0,0x05,0xE4,0xE1,0x2B,0x7E,0x6D,0x11, -0x8F,0xC2,0xC7,0xA0,0xD8,0x4E,0xF6,0xD0,0x7E,0xB7,0xEF,0xA2,0x3D,0xB2,0xDF,0x07,0xFF,0x32,0x1B,0xF4, -0xD5,0xC9,0x3F,0x91,0x08,0x5F,0x14,0x2E,0x27,0x0E,0xAA,0xA9,0xF5,0x0C,0x72,0x16,0x82,0x22,0xCD,0xEF, -0x8C,0xD3,0x91,0x66,0x5C,0x7D,0xDF,0xFD,0xE1,0xFA,0x8F,0xFE,0x95,0xD3,0xED,0x5F,0x9B,0xBF,0x99,0x3D, -0x62,0x73,0xCC,0xB8,0x41,0xD1,0x2D,0x99,0x21,0xB0,0x73,0x5B,0xE4,0xDB,0xE1,0x0C,0xA4,0x30,0x07,0xD5, -0x19,0x44,0xB1,0xB7,0xE5,0x38,0x1B,0x1E,0xDE,0x47,0x11,0x06,0xD6,0xF5,0xA3,0xF3,0xF3,0xD3,0xF3,0x2B, -0xBD,0x83,0x3B,0xFA,0xB5,0xAB,0xE9,0x1D,0x6A,0xBA,0xDC,0x86,0xA2,0x33,0xC3,0x2C,0x3C,0x43,0x3C,0x34, -0x02,0xFB,0x16,0x45,0x39,0xE8,0x42,0x30,0x92,0x78,0xA0,0x38,0x7D,0x92,0x83,0xFD,0x50,0xDD,0x1C,0x24, -0x36,0xA1,0x14,0x67,0xC7,0xE3,0xB7,0x6F,0x3C,0xFD,0x5C,0x21,0x69,0x6F,0x08,0xE3,0xBA,0x25,0x6F,0xC4, -0x46,0x69,0x8A,0x69,0x70,0x18,0x92,0x28,0x30,0x12,0x73,0x20,0x48,0xF8,0x92,0x84,0x2C,0x46,0x80,0x82, -0x6F,0xAB,0xB2,0x75,0x0A,0x92,0xEB,0x96,0x6F,0xC7,0x79,0xC4,0x49,0x1A,0x61,0x6F,0xA3,0x0F,0x33,0x8A, -0x62,0x80,0x89,0x54,0x2C,0x60,0x24,0xF0,0x74,0x15,0x90,0x54,0x18,0x5B,0x7B,0x8A,0xAF,0x4E,0x09,0x5A, -0xA7,0x04,0x4D,0xDC,0x14,0xA4,0xD2,0xAD,0xC0,0xAE,0xEB,0x65,0x98,0x15,0x47,0x95,0xB0,0x00,0x4F,0x11, -0x70,0xF2,0x5E,0x48,0x0E,0xE5,0xF7,0xBA,0x83,0x02,0x75,0x10,0x6B,0x6B,0x84,0x35,0x35,0xA2,0xAE,0x72, -0x1D,0x32,0x53,0xC8,0x59,0x1B,0x39,0x6B,0x22,0x1F,0x4A,0x8B,0x58,0x87,0x9C,0x29,0xE4,0xA8,0x25,0x62, -0x24,0x45,0x54,0x51,0xAE,0x2B,0xB4,0x09,0x02,0x01,0x76,0xD4,0x14,0x13,0x66,0xE0,0x94,0x68,0x12,0xE1, -0xC0,0xDB,0x70,0x60,0x26,0x0A,0x6B,0x6F,0xCB,0x59,0x73,0x46,0xA4,0xCE,0xC8,0x5B,0x67,0xE4,0xF2,0x0C, -0x92,0x82,0x12,0x21,0x77,0xE8,0x56,0x2E,0xB5,0xD6,0x5E,0x51,0xC7,0xF9,0x21,0xF6,0x6F,0x26,0x89,0x5C, -0x91,0x63,0x71,0xE2,0x06,0x92,0x34,0x53,0x49,0x53,0xB6,0x23,0x40,0x33,0xB5,0xC1,0xD3,0x3D,0x41,0xD9, -0x4A,0x9B,0xE2,0x6B,0xC3,0x88,0xDB,0xBA,0x44,0x88,0xDB,0x5A,0x8A,0x5B,0xDB,0x46,0xE8,0x16,0x6B,0xEB, -0xB4,0x14,0x9B,0x6B,0x16,0xD3,0x75,0x8B,0xB9,0x69,0x65,0x76,0x42,0xFD,0x88,0xF8,0x37,0x5E,0xED,0xCA, -0xE6,0xC2,0x68,0x4E,0x04,0x27,0xDC,0xA3,0x78,0xAE,0xFD,0x04,0xA1,0xE9,0x39,0xE2,0x68,0xC0,0x0B,0x32, -0x46,0x61,0x37,0x18,0x08,0x41,0x47,0x8A,0x19,0x67,0x36,0x0A,0x60,0xF9,0xEC,0x62,0xAC,0x5B,0x7A,0x4F, -0xDC,0x8A,0x0E,0xDE,0x4C,0xCC,0xA5,0x59,0xF9,0x93,0x45,0x65,0x64,0xBF,0xC8,0xA2,0x7A,0x09,0x06,0xA5, -0xC5,0x2D,0xAD,0x78,0x2D,0x4F,0x64,0x6A,0x54,0x2A,0x2D,0x99,0x12,0xDD,0xA1,0x38,0xC3,0x28,0xEE,0x5F, -0x37,0x21,0xF4,0x29,0xE3,0x35,0x4C,0x0B,0xB5,0x99,0x46,0x15,0xD3,0x19,0x9A,0x97,0x46,0xA2,0xCE,0x1F, -0x28,0x17,0x77,0x20,0x03,0x53,0xC6,0x35,0xEC,0x6D,0x3B,0x3F,0xEC,0x0C,0xE0,0x7E,0x0C,0xE5,0xB8,0x00, -0xD8,0xE5,0x36,0x98,0xD6,0x8C,0x87,0x03,0xBF,0xE3,0x15,0x5A,0x09,0x3C,0x6E,0xB3,0x7C,0xC2,0x78,0x06, -0xF9,0xCD,0xF0,0x2D,0xBF,0x83,0xCD,0xF6,0x31,0x7A,0x27,0xB1,0x02,0xD3,0x4A,0x3A,0x9D,0xE5,0x8A,0x82, -0x4E,0x47,0x0D,0x0D,0x21,0xA1,0x21,0x1C,0x31,0xAC,0x51,0x1B,0xDF,0x61,0xFF,0x30,0x89,0x63,0x24,0x48, -0x30,0xB8,0xE4,0x62,0xA2,0x9B,0x4B,0x2B,0x59,0xAB,0x99,0x47,0xC2,0x96,0xC5,0x1E,0xD3,0x23,0x84,0x41, -0xCF,0xB7,0x85,0xAF,0xB0,0x42,0xA8,0x2F,0xDF,0x72,0x19,0x88,0x14,0xCA,0x95,0x73,0x6D,0x55,0x17,0xB7, -0x56,0xAA,0xFA,0xDE,0xA5,0xD5,0xB5,0xE2,0x8F,0x59,0xDF,0xB4,0x80,0xB5,0xE3,0x5A,0x0D,0xD5,0x97,0x4B, -0xCB,0x17,0xFC,0x87,0x88,0xCE,0xF0,0xDF,0x17,0xA0,0xE6,0x51,0xBA,0xA8,0x45,0x21,0x81,0xEC,0xBB,0xBF, -0xD8,0xC6,0xD5,0xAF,0xF6,0x75,0xC7,0x34,0xF7,0xBF,0xEE,0x49,0x0D,0x1B,0xDC,0xBC,0xEA,0x5F,0x5B,0x08, -0xC0,0xF6,0x77,0xE6,0x2F,0xB6,0x04,0xB7,0x60,0x83,0xDB,0x84,0x04,0x9A,0x38,0x49,0x78,0x76,0x32,0xD5, -0xD0,0xE6,0xA6,0x01,0x26,0xD7,0x32,0xD6,0x0E,0xEF,0xE8,0x36,0xE4,0x8E,0xE5,0x72,0x35,0xA3,0x8D,0x33, -0x8C,0x55,0xCA,0xAC,0x00,0x92,0x7B,0x90,0x79,0x35,0x58,0x55,0x52,0x63,0xAB,0x86,0xC2,0xA2,0x4C,0xF9, -0x76,0x51,0x4D,0x78,0xBA,0x28,0x27,0x20,0xAC,0xAC,0x2E,0xCB,0x36,0x0F,0xD6,0x1B,0xC1,0xE1,0xDB,0x5D, -0x12,0xCF,0x34,0x96,0xF9,0x9E,0xBA,0x8A,0x7D,0xF1,0x8F,0xF7,0xAD,0x48,0x75,0x9B,0xBF,0xF9,0x13,0x4F, -0xEF,0xC0,0xFD,0x62,0x9B,0x26,0x73,0xC3,0xEC,0x7C,0xAB,0x6B,0x92,0xA2,0xA7,0xC7,0xE8,0xAE,0x68,0xF6, -0x45,0x35,0x32,0xD0,0x60,0x5E,0x75,0xA7,0x6A,0x41,0xB5,0xD9,0x28,0xE7,0xC9,0x40,0x2B,0xAB,0x1C,0xD5, -0x66,0xEA,0x5A,0x6F,0xEF,0xDB,0x5A,0x07,0x08,0x44,0x47,0xEA,0x4E,0x88,0x0C,0x62,0xB9,0x08,0x79,0xB8, -0x15,0x7D,0x48,0xE1,0x76,0x2A,0x2A,0x12,0x80,0x93,0x95,0xB4,0x69,0x05,0x06,0x32,0xF7,0x8D,0x56,0xB2, -0xDD,0x15,0x8D,0xC9,0xDE,0x99,0xAA,0x38,0x77,0x7B,0x72,0xA6,0xAF,0x73,0x0C,0xD0,0x3C,0x05,0x74,0xAB, -0xAA,0x71,0x26,0x49,0x70,0xDF,0xA8,0x8C,0xD8,0xC1,0xFD,0x61,0x84,0x18,0x3B,0x41,0x31,0x9C,0xEF,0xC7, -0xBA,0x59,0x98,0xD2,0x9E,0xB3,0xB9,0xD9,0x46,0xCA,0x70,0x0C,0x8D,0x90,0xE2,0x0A,0x43,0x28,0x73,0x7D, -0x20,0xBC,0xB9,0xB9,0x8E,0x31,0xF1,0xA8,0xF6,0x25,0xAE,0x28,0xB8,0x6B,0x19,0xFE,0xFE,0x27,0xEE,0x54, -0x82,0x7D,0x4C,0xAB,0x19,0xF8,0xEC,0x43,0xB6,0x9F,0x27,0x73,0x2A,0xB8,0xAA,0x58,0xCF,0xD6,0x28,0xB4, -0xCE,0x0B,0x95,0x25,0x07,0x05,0x5E,0x77,0x9A,0x29,0x43,0x6E,0x18,0x5D,0x09,0x03,0x73,0xC3,0x4B,0xF3, -0xFF,0x11,0x56,0xD5,0x03,0x8F,0xC9,0x1A,0x99,0x56,0xB4,0x46,0x56,0x1C,0x61,0x8E,0x2B,0x49,0xA3,0xB5, -0x92,0xB2,0xFF,0x87,0xDF,0xDA,0x43,0x88,0x2A,0x73,0x9B,0x3E,0x12,0x90,0x5B,0x1D,0x72,0x85,0xD7,0xA6, -0xC0,0xFC,0x2C,0x89,0xA2,0x71,0x92,0xEE,0x3F,0xB2,0xEE,0x56,0xEB,0xC5,0xA0,0x64,0xB3,0xDE,0x62,0xF9, -0x6B,0x89,0xBE,0xC1,0x53,0xBE,0xFF,0x18,0xE0,0x71,0xB2,0xF5,0x1E,0x2B,0xF0,0xB0,0x0D,0xCA,0x83,0xD5, -0x9F,0x3B,0xBE,0xC5,0xAA,0xD9,0x65,0x27,0x81,0xBB,0xF0,0x4B,0x25,0x79,0x42,0x49,0x16,0x59,0x1B,0xBA, -0xEA,0x75,0xD1,0x5B,0x7A,0x41,0x47,0x4F,0xEF,0xEA,0x35,0x9E,0xA4,0x1E,0x53,0x4B,0xC8,0x20,0x16,0x5F, -0xB9,0x94,0x75,0x01,0x25,0xF3,0x88,0x9D,0x4C,0xA7,0x0C,0xF3,0x0F,0x22,0x98,0x59,0x51,0x35,0x3F,0x96, -0xC1,0x6C,0x00,0x53,0x1A,0x27,0x39,0xC3,0x49,0xCE,0xDB,0x65,0x4F,0x25,0xCC,0x6E,0xF0,0xC7,0x1F,0xD5, -0x64,0x2F,0xE8,0x64,0xF5,0xF4,0x72,0x97,0x35,0x26,0x7B,0xAC,0x13,0x41,0x28,0xF8,0x8F,0x2D,0x85,0x34, -0x2D,0x25,0x11,0xB1,0xD4,0x4A,0x94,0xA5,0xB0,0xDA,0xD6,0x99,0x28,0x4A,0x51,0xC3,0xDB,0x85,0x41,0xEB, -0x66,0xD9,0x73,0x35,0xBD,0x1C,0x59,0x6C,0x35,0x08,0xAC,0x2F,0x0E,0x7C,0x43,0x50,0x05,0xAD,0xBF,0x49, -0xE6,0x38,0x3B,0x44,0x0C,0x1B,0x90,0x33,0xAB,0x88,0x25,0xA1,0xA6,0x1B,0xAC,0xD9,0x05,0x4A,0xA0,0x0A, -0x5C,0x14,0x1E,0x09,0x15,0xA5,0x37,0xC8,0x97,0xB7,0x4E,0xC0,0xB6,0x78,0x2D,0x00,0xA9,0x9F,0xAB,0x4E, -0x03,0xEA,0x34,0x6C,0x33,0xB8,0xE6,0xB3,0x2C,0x49,0xD1,0x4C,0x76,0xD6,0xB0,0x26,0xDC,0xA3,0xA4,0xD6, -0x48,0xAD,0x55,0x3D,0x2A,0xD3,0xFA,0xC3,0xAC,0x8E,0x65,0xE6,0x86,0x0A,0x61,0x35,0x79,0x73,0x93,0xCD, -0x09,0xF7,0x43,0xE1,0xDB,0x3E,0x30,0xAC,0x73,0x68,0x0B,0x5C,0x39,0x0A,0x79,0x5C,0x8F,0xA2,0x62,0xF8, -0x89,0x15,0x03,0x9F,0x95,0xA3,0xBB,0x06,0x30,0xA1,0x25,0x38,0xA1,0xD3,0x62,0x48,0x28,0x29,0xE9,0x94, -0xC0,0xF2,0x33,0x4D,0x8B,0x51,0x1A,0x96,0xA3,0x10,0xDF,0x55,0x78,0x49,0x09,0x0D,0xB0,0xEE,0xAA,0xEB, -0xDB,0x70,0x96,0xC5,0xA0,0x5F,0x8B,0x1F,0xFC,0x77,0xE2,0xA7,0x74,0x56,0x0A,0x93,0x96,0xA3,0x19,0x29, -0x45,0x99,0xC4,0xE9,0x17,0x19,0x61,0xFF,0xB6,0x2F,0x78,0x7E,0xF4,0xE6,0x68,0x7C,0xD4,0x2C,0x11,0x9B, -0x4F,0x08,0xFC,0xAF,0x7A,0x74,0x6E,0xBA,0x46,0xDA,0xF4,0x14,0x98,0xF9,0xE2,0xF3,0x24,0x09,0x64,0xD1, -0x07,0x01,0xDF,0x48,0x81,0xBA,0x6E,0x9A,0xAD,0x57,0x86,0xAC,0xF5,0x7A,0x51,0x07,0xFA,0xE2,0x59,0x00, -0xF4,0xB4,0xB9,0xD9,0x60,0x44,0xAE,0xD7,0x2F,0x1F,0xD4,0xD2,0x55,0x9D,0x26,0x9D,0x0D,0x3D,0x56,0xD0, -0x20,0xB3,0x6A,0x19,0x88,0x47,0x0B,0x47,0xB7,0x44,0xF7,0x40,0xF6,0x7C,0x68,0x1B,0x3A,0xA6,0xEA,0xF6, -0x3D,0xCF,0xA3,0x57,0xFE,0xB5,0xEC,0x18,0x37,0x37,0x51,0xBB,0xE8,0x31,0x1C,0x4B,0x02,0xC5,0x81,0x72, -0x24,0x7B,0x55,0x90,0x05,0xD8,0x72,0xAC,0x57,0xA3,0xD3,0x13,0x3B,0x45,0x19,0x78,0x1C,0x35,0x9B,0x41, -0x22,0x52,0x02,0xB6,0xB5,0xFD,0xE2,0xA8,0x51,0x8D,0xCB,0x2F,0x85,0x5C,0xBE,0xB4,0x32,0x43,0x90,0x53, -0x4D,0xAE,0xC8,0xE1,0xC5,0xEB,0x1D,0xA4,0x9E,0xB4,0x4C,0x43,0x75,0x14,0x49,0x9B,0x41,0x9C,0xDF,0xE6, -0xFA,0xFA,0xDE,0x92,0x87,0x84,0x35,0xBB,0x90,0x96,0xCB,0xFF,0xCD,0x1B,0x5B,0x96,0x23,0x45,0x6E,0xB5, -0xA0,0x56,0x5F,0x57,0xAA,0xCB,0x91,0x0D,0xD3,0xA2,0x8E,0x90,0xB5,0x39,0xEA,0x90,0x59,0x08,0xD5,0x2D, -0xFA,0x4F,0x3D,0x84,0x96,0x1E,0x42,0x1F,0x06,0x08,0x7C,0xD7,0xF2,0xF6,0xEA,0x94,0xC1,0x04,0x38,0xBB, -0x19,0x54,0x51,0x04,0x20,0x32,0x86,0xB4,0x00,0x9F,0x98,0x5C,0xFF,0x84,0x6E,0x91,0x7A,0xBC,0xAB,0xA1, -0xEB,0x43,0x85,0xDC,0xEE,0xFF,0x06,0xA3,0x6A,0x67,0x3B,0x10,0x31,0x18,0x3E,0x8C,0x27,0xBC,0x15,0x9E, -0xEA,0x98,0xD5,0x8C,0x4E,0xE0,0xAE,0x85,0x37,0x6B,0xBC,0xA1,0xDF,0x86,0xEB,0x81,0x41,0x3E,0xEA,0x7B, -0x8D,0x40,0xA4,0x30,0x9A,0xD6,0xB3,0xBE,0x5D,0x69,0x37,0x34,0xEB,0xD3,0xBF,0xF4,0x3F,0xBC,0xCF,0x6C, -0x56,0xB6,0xEE,0xE0,0xE6,0x8D,0x99,0xAE,0x8B,0x6C,0xE5,0x47,0x18,0x65,0x23,0xD1,0x25,0xAA,0x0C,0xB1, -0x54,0x17,0xE8,0x49,0xD7,0x35,0x40,0x63,0x3D,0xF9,0x4A,0x6C,0x83,0x1E,0x60,0x7F,0x05,0xA4,0x00,0xA4, -0x5E,0x02,0x24,0x1B,0x8B,0x08,0x16,0x11,0xF4,0x3B,0x09,0x4D,0x6E,0x10,0x69,0x6E,0x27,0x00,0x21,0xC5, -0x77,0xC9,0xD0,0xD6,0x59,0xC5,0x3D,0x48,0x42,0x35,0x44,0xDD,0xBE,0x59,0xBC,0x83,0xD5,0xAF,0x10,0xB8, -0x74,0x9B,0xC2,0x3E,0x36,0x24,0x1A,0x13,0xF5,0xC0,0x08,0x33,0x26,0xF9,0x16,0x72,0xBD,0x4D,0x02,0x10, -0x0B,0xD0,0x7A,0x31,0x8C,0xC4,0x41,0x20,0xA1,0x00,0x8C,0x43,0x1C,0x17,0x10,0x0E,0x43,0x01,0x42,0x02, -0xF4,0xB5,0x54,0xD5,0x48,0xD6,0x5D,0x84,0xCE,0xBC,0x7E,0xCF,0xB1,0x1E,0x92,0xBD,0x60,0x78,0x94,0x4C, -0xF9,0x18,0x4D,0x98,0xB1,0xE1,0x98,0x6B,0x76,0x00,0x68,0x04,0xD1,0xC4,0xD8,0x32,0xD7,0xA3,0x7F,0x48, -0xB2,0x1B,0x9C,0x15,0xC8,0xA2,0x60,0x82,0x7A,0x29,0x12,0x35,0xD3,0x10,0xB4,0x7E,0x8B,0xDF,0x10,0x8A, -0x6B,0xE0,0x28,0x4C,0xE6,0x67,0x19,0xA1,0xFC,0xAD,0x6C,0x0B,0x8D,0x8D,0xBE,0xBC,0x27,0xF5,0x5A,0x21, -0x23,0x50,0xF9,0x8C,0xB1,0x10,0xC1,0xCC,0x6D,0x3D,0x66,0x58,0x13,0xB8,0x2E,0x88,0xAD,0xEE,0x62,0x4E, -0xA8,0xAB,0x1F,0xF2,0x2C,0xEA,0x8E,0x74,0x2B,0x46,0x3E,0x4C,0xD4,0x1E,0x98,0x2F,0x2D,0xE1,0xB4,0x6E, -0x33,0x98,0x6C,0xD4,0x93,0xBA,0x7E,0x5E,0xFB,0xD2,0x53,0x3F,0x5C,0x08,0xE0,0x41,0x94,0x4C,0x0C,0xF1, -0x32,0xBD,0x10,0x0E,0xEF,0xD2,0xA5,0x29,0xB2,0xD3,0x97,0x1F,0x65,0x7C,0x88,0xBA,0xDC,0xC2,0x8D,0x37, -0xA5,0x8E,0xAE,0x8B,0xA7,0x1A,0xC0,0x43,0xC1,0x29,0x8D,0xEE,0x5D,0xC8,0x8A,0x7F,0x21,0x75,0x4E,0x83, -0xE4,0x4B,0x52,0x7F,0x5C,0x91,0xFA,0xE3,0x3A,0xA9,0x71,0xFB,0xB6,0x60,0x72,0x01,0x64,0xDF,0x22,0x8A, -0x66,0x38,0x83,0x05,0x71,0x08,0x5C,0xC0,0x3F,0xE3,0x2C,0xC3,0x5F,0xE6,0x6C,0x14,0x92,0x29,0x5F,0xE5, -0x4F,0xAD,0xFE,0x3B,0x2E,0x33,0xFC,0x08,0x97,0x65,0x7D,0x59,0xA5,0x8D,0xBF,0x7E,0x29,0x91,0x4E,0xED, -0xC1,0x15,0x36,0xDD,0xF5,0x5F,0xF8,0x5D,0x7D,0xE2,0x97,0xB3,0xA7,0xF8,0x70,0xF1,0xD2,0x0A,0x84,0x4D, -0xB4,0xAB,0xD2,0x84,0x1E,0x40,0x01,0xFF,0x06,0x44,0x30,0x94,0x39,0x62,0x6F,0xB1,0xB4,0xB8,0x67,0x80, -0x2A,0xA1,0x09,0x06,0xE1,0x7C,0x59,0xD6,0xDA,0x21,0x64,0x48,0x50,0x02,0x30,0x09,0x79,0xB6,0x77,0xB5, -0xBF,0x79,0xDD,0x81,0x04,0xE5,0xC1,0x87,0xE9,0xC1,0x60,0xF3,0xFA,0x3B,0xB3,0x37,0x23,0x8D,0x92,0x48, -0xA6,0x3A,0xD0,0xEB,0x15,0xBD,0xF6,0xD0,0x12,0x42,0x58,0x33,0x15,0x56,0x81,0xD5,0xC2,0xF2,0xD1,0x0B, -0x3E,0x22,0x44,0x67,0xF0,0x21,0x63,0x07,0xEC,0xA6,0x5E,0xE3,0x2D,0x4A,0xE7,0xF0,0xAF,0x0E,0x61,0x7B, -0x50,0xB0,0x15,0xE0,0x29,0xA1,0x58,0x46,0x2F,0x35,0xB4,0x0A,0x80,0x50,0x03,0xC9,0x24,0xA4,0x1C,0x5B, -0x62,0x2C,0xB2,0x1F,0x99,0x09,0x45,0x1A,0xFA,0x04,0x31,0x2C,0x12,0xBD,0xAE,0x12,0xF6,0x2A,0x78,0x2E, -0x03,0x49,0x63,0xC3,0x9A,0xAF,0x79,0xF4,0xBC,0x18,0xE9,0x20,0x25,0x6F,0x04,0x61,0x25,0x0E,0xC4,0x5B, -0x35,0x58,0x09,0xED,0x75,0x33,0xA2,0xC0,0xE6,0x12,0x5C,0x4C,0x09,0x10,0xE8,0x55,0x3A,0xFF,0xF9,0xED, -0x9B,0x63,0xCE,0xD3,0x73,0x75,0xA3,0x40,0xAB,0xBD,0x50,0x1B,0x9A,0xB9,0xE0,0xD9,0x7D,0x59,0x18,0x8A, -0x40,0xA1,0x42,0xDD,0xCF,0xA7,0x93,0x4F,0xD8,0x07,0x49,0xDE,0x32,0xC8,0xA1,0x5B,0xB6,0x40,0x1F,0x8F, -0xCF,0xEC,0x1D,0xDB,0x81,0x4A,0x05,0xEE,0xD3,0x0F,0x85,0xC5,0x2C,0xFF,0x11,0xF2,0x93,0x7F,0x86,0x4C, -0x20,0xDE,0x33,0x08,0xE8,0x25,0x7E,0x1B,0x37,0xCC,0x92,0xB9,0x44,0x3B,0xCA,0x32,0x61,0x0C,0xE3,0x90, -0x30,0x6D,0x02,0x8B,0x0C,0x67,0x5A,0x90,0x60,0xA6,0xD1,0x84,0x6B,0x2C,0x4F,0xD3,0x24,0xE3,0x2B,0xFA, -0xB0,0xF5,0xF2,0x9D,0xE8,0x5D,0x8E,0x73,0x1C,0x14,0xCB,0x38,0x6B,0xEA,0x45,0xD6,0x74,0xB0,0x0E,0xEE, -0x76,0x75,0x5D,0x54,0x78,0x39,0xA5,0x22,0xFF,0x6C,0xF4,0xD5,0x1C,0xA4,0x0B,0x81,0xAA,0x47,0xF3,0x28, -0x5A,0x0E,0x56,0x68,0x41,0xA3,0x97,0xF0,0x44,0x7E,0x2D,0xB2,0xF8,0xAD,0x70,0x2D,0x77,0xE5,0x21,0xB7, -0x4D,0xD5,0xB1,0x36,0x8C,0x0D,0xAC,0x11,0xCA,0x38,0xA2,0xBE,0xB8,0x46,0xA5,0x0B,0xB3,0xAC,0xEE,0xC4, -0xF6,0x81,0x88,0x0B,0xD2,0x70,0x1E,0x2D,0x29,0xA4,0x64,0xD4,0xD3,0x75,0x51,0xE8,0x61,0x51,0x2F,0xA3, -0x98,0x35,0xC8,0x56,0x99,0xC2,0xA4,0x5E,0x09,0x1E,0xC8,0xE7,0xF7,0xF6,0xFE,0x55,0x36,0xCA,0xEA,0x1E, -0x01,0x4C,0x2B,0xF7,0x99,0xB4,0xE3,0xE9,0xB2,0x42,0xD8,0x97,0x21,0x43,0x1A,0x70,0x8C,0x79,0x98,0x04, -0xFB,0xFA,0xBE,0xEE,0xEA,0xF0,0xDF,0xA6,0x6E,0xC1,0x2E,0x4C,0x7D,0x08,0x3B,0x17,0xE7,0x2F,0x21,0x94, -0xA6,0x09,0xC5,0x94,0x1B,0x08,0x32,0x8A,0xA7,0x77,0xD6,0x40,0x4A,0xF2,0x57,0xE8,0xDA,0x1C,0xB4,0x95, -0x8D,0xE7,0x2B,0xD7,0xD9,0xBA,0x0C,0x3B,0xA1,0x22,0xBA,0xDE,0x03,0xF3,0x1C,0x3F,0x78,0x3E,0xB7,0xE8, -0xC3,0x2E,0xC8,0x5C,0x6C,0x0B,0x9E,0x25,0xD6,0x08,0xB0,0x84,0xEB,0xD5,0x4A,0x7E,0xAC,0xB2,0xA3,0xB6, -0x8F,0xA2,0x48,0x7C,0xE5,0x0F,0xBC,0x8A,0xC3,0x72,0x66,0x09,0x22,0x0C,0x04,0x60,0x78,0x8C,0xEF,0xC0, -0xA5,0x65,0x79,0xA6,0x6C,0xA8,0x68,0x87,0x80,0x34,0x6F,0x98,0x91,0x69,0x55,0xB3,0xCD,0x4D,0x6E,0x97, -0x66,0x62,0x94,0x48,0x4C,0x24,0x1B,0xC3,0x14,0xAD,0x8E,0xD1,0x14,0x52,0xE4,0xEE,0x07,0xDA,0x36,0xDA, -0x6A,0x48,0x31,0x35,0x4A,0x18,0x70,0x96,0x67,0x11,0x64,0x08,0x51,0xBD,0xB4,0xB6,0x31,0x4C,0x03,0x38, -0xC0,0xFD,0x4B,0x64,0x89,0x4A,0x9B,0x56,0x31,0xE2,0x99,0xE2,0xBB,0x4D,0x8F,0x17,0xB7,0x72,0x8C,0x65, -0x98,0x6B,0xFF,0x46,0xD3,0x92,0xBF,0xAE,0x24,0x2A,0x21,0xF4,0xE0,0xBD,0x7D,0x3E,0xEF,0x82,0x59,0xC5, -0x5D,0x38,0x41,0x59,0x41,0xA0,0xAF,0xE1,0x50,0x75,0x7B,0x96,0x78,0x27,0x71,0x57,0x5C,0xB4,0xD6,0x9F, -0xB1,0xE2,0xA3,0x6D,0x3A,0x6D,0x3E,0x1B,0xB7,0xBD,0xBB,0xBD,0x02,0x42,0x13,0xF1,0xDD,0x3E,0xE4,0x38, -0x48,0x83,0xD5,0x69,0x65,0xE3,0xD5,0x8C,0x0B,0x76,0x9A,0xB3,0xD0,0x58,0x00,0xEB,0x2E,0xB7,0x94,0xAE, -0x5C,0x6C,0x29,0xBB,0x75,0xA9,0x55,0xDA,0x87,0x0B,0xA9,0xAB,0x15,0x3F,0xFE,0xF8,0x43,0xCE,0xEA,0xDB, -0x86,0xD9,0xCA,0x85,0x2F,0xD5,0xD3,0x6E,0x99,0x91,0x85,0xD1,0xAF,0xC6,0xAA,0xDD,0x9E,0xEA,0xA7,0xCA, -0x1F,0x45,0x68,0x24,0xF0,0x44,0x72,0xD7,0x8B,0x6F,0x3E,0x60,0x38,0x85,0xB8,0x64,0x43,0x03,0x56,0xFD, -0x0A,0x56,0x2F,0x7E,0x06,0xBB,0x8A,0xBB,0x57,0x75,0x84,0x9E,0x57,0xD5,0xF3,0x2A,0xEA,0xA8,0x0D,0xDE, -0x23,0x3F,0x95,0xD0,0x15,0x18,0x1A,0x66,0x35,0xB0,0xAB,0xB3,0xC5,0xB9,0x56,0xB1,0x88,0xD8,0x3D,0xF5, -0x45,0xD4,0xAC,0xA8,0x84,0xA0,0xFE,0x56,0x13,0xAD,0x76,0x9A,0xCB,0x9A,0x33,0xF1,0x2A,0xA8,0x25,0xC5, -0x13,0x7A,0xB3,0xC6,0x00,0xF6,0xA1,0x47,0x17,0xE2,0x96,0x2E,0xAA,0xC9,0x26,0xBD,0x9A,0x82,0x78,0xB0, -0xA1,0xDE,0x95,0xA7,0xEB,0x01,0xAA,0x24,0x58,0x5D,0x54,0x55,0xC5,0xEA,0x72,0xD9,0xE8,0x55,0xDF,0x16, -0x35,0x7E,0xE5,0x52,0xD3,0x20,0xF2,0x7B,0x00,0xB9,0xBF,0xFD,0xD5,0xC0,0xA3,0x68,0x0A,0x63,0xEF,0x4F, -0x7E,0xDB,0x4D,0x59,0xFA,0x2C,0x00,0x00 +0x1F,0x8B,0x08,0x08,0xC2,0xFA,0xD8,0x5E,0x02,0x00,0x65,0x64,0x69,0x74,0x2E,0x68,0x74,0x6D,0x00,0xB5, +0x1A,0x09,0x5B,0xDB,0x36,0xF4,0xAF,0x18,0x6F,0x63,0xF6,0xE2,0x38,0x0E,0x50,0xD6,0x39,0x18,0x16,0x8E, +0x8D,0x5E,0x40,0x49,0x68,0x47,0x19,0xDB,0xA7,0xD8,0x4A,0xAC,0x62,0x4B,0x9E,0x2D,0x13,0x68,0x9A,0xFF, +0xBE,0x27,0xC9,0x27,0x84,0xEE,0xF8,0xB6,0x76,0x6B,0x24,0x3D,0x3D,0xE9,0xDD,0x87,0x92,0x9D,0xB5,0xC3, +0xD3,0x83,0xF1,0xE5,0xD9,0x91,0x16,0xF2,0x38,0xDA,0xDD,0x11,0xFF,0x6A,0x11,0xA2,0x33,0x4F,0xC7,0x54, +0xDF,0xDD,0x89,0x31,0x47,0x00,0xE2,0x49,0x17,0xFF,0x91,0x93,0x5B,0x4F,0x3F,0x60,0x94,0x63,0xCA,0xBB, +0xFC,0x3E,0xC1,0xBA,0xE6,0xAB,0x99,0xA7,0x73,0x7C,0xC7,0x7B,0x02,0x79,0xA0,0xF9,0x21,0x4A,0x33,0xCC, +0xBD,0x9C,0x4F,0xBB,0xCF,0xE1,0x08,0x4E,0x78,0x84,0x77,0x8F,0x46,0x67,0xDA,0x51,0x40,0x38,0x4B,0x77, +0x7A,0x6A,0x65,0x27,0x22,0xF4,0x46,0x4B,0x71,0xE4,0xE9,0x28,0x49,0x22,0xDC,0xE5,0x2C,0xF7,0xC3,0x2E, +0x81,0x33,0x75,0x2D,0x4C,0xF1,0xD4,0xD3,0x7B,0xC8,0xC7,0x36,0x2C,0xE8,0x9A,0xB8,0xCE,0xD3,0x49,0x8C, +0x66,0xB8,0x77,0xA7,0xF6,0x34,0x0F,0xC8,0x42,0x96,0x72,0x3F,0xE7,0xDA,0xBF,0xC2,0xFE,0x07,0x48,0x19, +0xBF,0x8F,0xB0,0x02,0x29,0x9E,0xFD,0x2C,0xD3,0xB5,0x18,0x07,0x04,0x01,0x15,0x7E,0x8A,0x85,0xD4,0x22, +0x34,0xC1,0xD1,0x62,0xCA,0x40,0x4C,0x19,0xF9,0x84,0xDD,0xFE,0x46,0x72,0x37,0x90,0xD3,0x29,0x8A,0x49, +0x74,0xEF,0x66,0x88,0x66,0xDD,0x0C,0xA7,0x64,0xBA,0xB4,0xFD,0x78,0xF1,0xA9,0x4B,0x68,0x80,0xEF,0xDC, +0x4D,0xC7,0x19,0x24,0x2C,0x23,0x9C,0x30,0xEA,0xA2,0x49,0xC6,0xA2,0x9C,0xE3,0x41,0x84,0xA7,0xDC,0x7D, +0x06,0x27,0x4C,0x58,0x1A,0xE0,0xD4,0xED,0x27,0x77,0x1A,0x80,0x48,0xA0,0x7D,0xB5,0xB5,0xB5,0x35,0x98, +0x20,0xFF,0x66,0x96,0xB2,0x9C,0x06,0x5D,0x9F,0x45,0x2C,0x75,0xBF,0x9A,0x3E,0x13,0x7F,0x07,0x01,0xC9, +0x92,0x08,0xDD,0xBB,0x94,0x51,0x0C,0xB8,0x77,0xDD,0x2C,0x44,0x01,0x9B,0xBB,0x8E,0xE6,0x68,0x7D,0x07, +0x0E,0x49,0x67,0x13,0x64,0x38,0x96,0xF8,0x6B,0x6F,0x99,0x83,0xBF,0x45,0xAF,0x5A,0x9E,0x63,0x32,0x0B, +0xB9,0xFB,0xBD,0xE3,0x08,0xFA,0xB5,0x3C,0x5A,0x44,0x24,0xE3,0x5D,0x29,0x1C,0x75,0x1F,0x67,0x89,0xEB, +0x48,0xD2,0xE1,0x23,0x46,0xE9,0x8C,0x50,0x18,0x24,0x28,0x08,0x08,0x9D,0xB9,0x0A,0x2D,0x22,0x8B,0x8A, +0x5B,0xD0,0x03,0xE2,0xE4,0x16,0x0F,0x62,0x42,0xBB,0x73,0x12,0xF0,0xD0,0xDD,0x76,0x80,0x0A,0x3F,0x4F, +0x33,0xE0,0x29,0x61,0x84,0x72,0x9C,0x4A,0xB4,0x2C,0x41,0x74,0xA1,0x58,0x15,0x02,0xA8,0xF8,0x24,0x14, +0x34,0x8A,0xBB,0x93,0x88,0xF9,0x37,0xD5,0x4D,0xDB,0xC9,0x5D,0x71,0x97,0x1B,0xB2,0x5B,0x9C,0x2E,0x6A, +0x71,0x49,0xEC,0x16,0xB0,0x75,0x34,0xC6,0x78,0x69,0xF3,0xDB,0x1C,0xA0,0x96,0xFC,0x04,0x2E,0x2B,0xFA, +0x6B,0x96,0xDA,0x8C,0x17,0x28,0x84,0x26,0x39,0x5F,0x3C,0x56,0x25,0x4B,0x90,0x4F,0xF8,0xBD,0xEB,0xC8, +0x6D,0xD2,0x42,0xDC,0x2D,0xC7,0xD1,0x84,0xC0,0xB5,0x77,0x38,0x0D,0x10,0x45,0xD6,0x30,0x25,0x28,0xB2, +0x46,0xB5,0xC8,0xBB,0x31,0xFB,0xD4,0xCD,0x61,0x0C,0xF3,0x08,0xFB,0x5C,0x49,0x18,0x94,0x30,0xB9,0x21, +0xFC,0x31,0xE0,0xD1,0x42,0x43,0x56,0x52,0x42,0xA1,0xD2,0x5E,0x1F,0x64,0x23,0xE9,0x50,0x6C,0x2B,0x8E, +0xBA,0x13,0xC6,0x39,0x8B,0xA5,0xBD,0x55,0xDC,0x6A,0xD2,0x64,0x9E,0x3F,0x52,0xC7,0x6A,0xD1,0x37,0x8E, +0x1F,0x80,0x50,0x39,0xF1,0x51,0xD4,0x45,0x11,0x99,0x51,0x37,0x26,0x41,0x10,0xE1,0x41,0x43,0x07,0x79, +0x1A,0x19,0x01,0xE2,0xC8,0x55,0x7E,0x96,0xD0,0x19,0x40,0x33,0xBC,0xBD,0x65,0x91,0x77,0xFB,0xA7,0xE7, +0x73,0xE7,0xD5,0xCF,0x33,0x36,0x84,0x3F,0x27,0xA3,0x8B,0xF0,0xE8,0x62,0x06,0xA3,0x7D,0x31,0x1D,0xBE, +0x3D,0x18,0xBE,0x85,0x8F,0x83,0x7E,0xE7,0xE3,0xF4,0x8F,0xA1,0x58,0xFE,0x39,0xD8,0x1F,0x5F,0x1C,0x0D, +0x87,0xAF,0x7A,0x2F,0x4E,0xE6,0xEF,0x5F,0x6D,0x0B,0xF0,0x7E,0xE4,0x9C,0xBF,0x0B,0x9D,0x8B,0x8D,0x1F, +0xE2,0xE0,0x38,0x08,0xFD,0xF8,0x62,0xF8,0xF6,0xFD,0xF9,0xED,0x65,0x7C,0x31,0x1B,0xBD,0xEF,0x87,0x1F, +0x36,0xDE,0x8D,0x3E,0xBC,0xFF,0xE9,0x06,0xFF,0x72,0xFC,0xF2,0xC3,0x78,0x0E,0x08,0x87,0x6C,0x74,0x71, +0xBE,0xFF,0x6E,0x7F,0xF6,0x61,0xDF,0x3F,0xBA,0x9B,0x44,0x27,0xFB,0x3F,0x0F,0x27,0xC3,0x0D,0x1F,0xE3, +0xD9,0xF8,0x7C,0x3F,0x7F,0xF1,0xEA,0x74,0x46,0x48,0x38,0xFA,0x70,0x32,0xF6,0x0F,0x9E,0xBD,0xBE,0x38, +0x1E,0x92,0xF0,0xE4,0xE5,0xB9,0x73,0xF3,0xF3,0xAB,0x83,0x43,0xFF,0xF2,0xE5,0xE5,0xF6,0xE1,0x66,0xEF, +0xFB,0xEF,0xDF,0x04,0xA7,0x84,0x8E,0x6F,0x3F,0x0D,0x67,0x07,0xF3,0xE7,0xF7,0xD9,0x38,0x7C,0x71,0x4B, +0x7B,0xEF,0xD8,0xC7,0x17,0xF7,0x6F,0xE0,0xFF,0xB3,0xB3,0xCE,0x64,0xD4,0xCF,0x2E,0xDE,0xBE,0x78,0xB7, +0x91,0xFD,0xF0,0x2C,0xD9,0x3F,0x3C,0xBC,0x8D,0x27,0x67,0xBD,0x38,0xB8,0x99,0xF2,0xE7,0x9B,0x3C,0xB9, +0x9C,0xE5,0x1F,0xFE,0x78,0xF6,0x32,0xEC,0x9D,0x62,0x74,0x19,0x76,0xEE,0x3F,0xDD,0x3F,0x0F,0xC7,0xC7, +0xB7,0x27,0x11,0xBA,0x3B,0x39,0xF1,0x3F,0xC5,0x9D,0x08,0xFD,0x70,0x3A,0x8E,0x50,0xDA,0xBF,0x08,0x86, +0xBD,0xCE,0xC1,0xC6,0x70,0x8B,0xA7,0xE7,0x07,0xF4,0x70,0xF3,0xE3,0xE8,0xF9,0xFE,0x7E,0x9F,0x4D,0xFE, +0xD8,0xF8,0xF9,0x66,0xFB,0xE7,0x8B,0xED,0xB7,0x93,0xB7,0xC3,0xD1,0xD6,0xFE,0x05,0xBA,0x1C,0xBD,0x1D, +0x4E,0xB7,0x26,0x61,0xF8,0xEA,0xD5,0xF8,0xA7,0x60,0xF8,0x29,0x1D,0x9E,0xCE,0x87,0x77,0x47,0x17,0xC3, +0xE3,0xCE,0xAB,0xA3,0x37,0x4E,0x7F,0x74,0xB9,0x39,0x7B,0xB3,0x3D,0xDF,0xCF,0x8E,0x86,0x6F,0xF7,0x9D, +0xD9,0xCB,0x4E,0x8C,0x3E,0xB0,0x83,0xCD,0xD9,0x8B,0x6D,0x72,0x76,0x89,0x86,0x2F,0xF6,0x5F,0x66,0xE4, +0x3C,0x3E,0xBE,0x70,0x86,0xC3,0xD7,0xA7,0xF8,0xA7,0x83,0x4D,0xF4,0x6A,0xC3,0x7F,0x0F,0xF2,0xBF,0xF8, +0x05,0x7F,0xDF,0x19,0xCE,0x4F,0x9D,0xC8,0xFF,0x01,0x8F,0x8F,0x2F,0xC7,0x52,0x3B,0x47,0xD1,0x4F,0xE3, +0x9B,0x51,0xFE,0x36,0x3E,0x38,0x30,0x35,0xCA,0xBA,0x29,0x4E,0x30,0xE2,0xCD,0x58,0x55,0x39,0x07,0xD8, +0x56,0x6D,0x85,0x85,0x93,0x8A,0xC8,0xDA,0x0D,0xB0,0xCF,0x52,0x24,0xF7,0x00,0x02,0x4E,0x85,0x89,0x2D, +0x7F,0x94,0xA1,0x56,0x53,0x91,0x56,0x43,0x34,0xD0,0x8C,0xD2,0x11,0x62,0x42,0x01,0xE7,0x96,0xF8,0xB8, +0x9B,0x90,0x3B,0x1C,0x75,0x25,0xB2,0xEB,0x98,0x0B,0xE9,0x6C,0xE5,0x36,0x44,0x49,0xAC,0x4E,0x2D,0x17, +0x82,0x8F,0xC8,0x17,0x29,0x0D,0x5C,0x26,0x86,0xCF,0xC2,0x77,0x58,0xDA,0x9D,0xE4,0xB3,0x29,0xB9,0x03, +0x6F,0x9E,0x12,0x4A,0x38,0xD6,0xFA,0xD9,0xF2,0xC7,0xF2,0x98,0x1B,0x7C,0x3F,0x4D,0x51,0x8C,0x33,0xED, +0x6F,0x1E,0xB3,0x98,0xA6,0x2C,0x5E,0xD4,0x11,0x90,0xB3,0xC6,0x64,0xB9,0xFC,0x2A,0x4F,0x22,0x86,0x80, +0xCD,0x15,0x61,0x43,0x05,0xD3,0x54,0xB8,0x55,0x15,0x54,0x4B,0x37,0xDB,0x00,0xB7,0x6C,0xB9,0xF5,0xC6, +0x56,0xED,0xBA,0x5D,0xB9,0x57,0x04,0xFB,0xA6,0xE8,0x1B,0xF1,0xA0,0x11,0xEB,0xBE,0xE2,0x20,0xD2,0xD5, +0x97,0xAB,0x4B,0x54,0x64,0xA8,0x09,0x50,0x51,0xBA,0xBF,0xED,0x34,0x42,0x05,0xEC,0x5B,0x7E,0x85,0x65, +0x9A,0xB7,0xBE,0x4A,0x52,0xD0,0x06,0x9E,0x7F,0xE1,0xCC,0x8A,0xA7,0xF6,0xD9,0x70,0x66,0x95,0xEE,0x14, +0x0B,0x75,0xCE,0x93,0xB4,0x56,0x47,0x3F,0xE6,0x0A,0xC0,0x15,0x35,0xCF,0x04,0x35,0x5F,0x94,0xEA,0xE6, +0xF6,0x37,0x05,0x0D,0x5B,0xCE,0x37,0x4B,0x5B,0xED,0xAD,0xF2,0x71,0xDF,0x81,0x3F,0x65,0xDA,0x7D,0x5E, +0x93,0x30,0x79,0x26,0xFE,0x96,0x04,0xC2,0x39,0x4D,0xE0,0xE6,0xD6,0x0F,0xCF,0x83,0x49,0x09,0x54,0x8C, +0x3D,0x0D,0x4F,0x51,0x40,0xF2,0xCC,0x7D,0xE6,0x7C,0xA3,0xE4,0x09,0xEA,0x03,0xDE,0x4B,0xE5,0xAA,0x49, +0x6D,0xB1,0x59,0x42,0xA8,0xB6,0x91,0x69,0x42,0xDF,0x28,0xAD,0x0C,0xB3,0x99,0xEA,0xC1,0x45,0x6A,0xD3, +0x14,0xFB,0x17,0xCE,0x37,0x0B,0x9E,0x22,0x9A,0x4D,0x59,0x1A,0xBB,0x29,0xE3,0x88,0x63,0xC3,0x31,0x97, +0x7D,0x67,0x15,0x60,0x73,0xDB,0x09,0xF0,0xCC,0x5C,0x2E,0x77,0x7A,0x32,0xA9,0x41,0xC5,0xE3,0xA7,0x24, +0xE1,0xBB,0xD3,0x9C,0xFA,0x82,0x06,0x6D,0x86,0x0D,0x6C,0x2E,0x52,0xCC,0xF3,0x94,0x6A,0x01,0xF3,0x73, +0x61,0xEC,0xF6,0x0C,0xF3,0x23,0x65,0xF7,0xFB,0xF7,0x2F,0x02,0xD8,0xB1,0xAC,0x10,0xFC,0x95,0x08,0xE0, +0xC0,0x70,0x5F,0x81,0xD3,0xDA,0x0F,0x09,0x06,0x0E,0x79,0x85,0xEF,0x0D,0x6C,0xF1,0x0A,0x11,0xDB,0x62, +0xDD,0x30,0xCA,0x6D,0x00,0xA4,0xE6,0xE2,0x16,0xA4,0x80,0x3C,0x7C,0xC5,0xAF,0x2D,0xE2,0x51,0xF8,0x18, +0x14,0xDB,0xC9,0x2E,0xDA,0xEB,0xF6,0x5D,0xB4,0x4B,0xF6,0xFA,0xE0,0x5F,0x66,0xE3,0x7C,0x75,0xF3,0x4F, +0x24,0xC2,0x17,0x85,0xCB,0x89,0x8B,0xEA,0xD3,0x7A,0x06,0x39,0x0B,0x41,0x90,0xE6,0x77,0xC6,0xE9,0x48, +0x33,0xAE,0xBE,0xEF,0xFE,0x70,0xFD,0xB9,0x7F,0xE5,0x74,0xFB,0xD7,0xE6,0xEF,0x66,0x8F,0xD8,0x1C,0x67, +0xDC,0xA0,0xE8,0x96,0xCC,0x10,0xD8,0xB9,0x2D,0xF2,0xED,0x70,0x06,0x5C,0x98,0x83,0xEA,0x0E,0xA2,0xC8, +0xDB,0x70,0x9C,0x35,0x0F,0xEF,0xA1,0x08,0x03,0xE9,0xFA,0xD1,0xF9,0xF9,0xE9,0xF9,0x95,0xDE,0xC1,0x1D, +0xFD,0xDA,0xD5,0xF4,0x0E,0x35,0x5D,0x6E,0x43,0xD1,0x99,0xE2,0x2C,0x3C,0x43,0x3C,0x34,0x02,0xFB,0x16, +0x45,0x39,0xC8,0x42,0x10,0xC2,0x3C,0x10,0x9C,0x3E,0xC9,0x39,0x67,0x54,0x37,0x07,0xCC,0x26,0x94,0xE2, +0xF4,0x78,0xFC,0xE6,0xB5,0xA7,0x9F,0x33,0xC6,0xB5,0x43,0x92,0xEA,0x96,0xD4,0x86,0x8D,0x92,0x04,0xD3, +0xE0,0x20,0x24,0x51,0x60,0x30,0x73,0x20,0xD0,0x7D,0x89,0x2E,0x0B,0x11,0xC0,0xF6,0x6D,0x55,0xB2,0x4E, +0x81,0x6B,0xDD,0xF2,0xED,0x38,0x8F,0x38,0x49,0x22,0xEC,0xAD,0xF5,0x61,0x46,0x51,0x0C,0x30,0x91,0x86, +0x05,0x8C,0x04,0x9E,0xAE,0x82,0x51,0x11,0xC2,0x56,0xDD,0xE2,0xAB,0x5B,0x82,0xD6,0x2D,0x41,0x13,0x37, +0x01,0x8E,0x74,0x2B,0xB0,0xEB,0x5A,0x19,0x66,0xC5,0x55,0x25,0x2C,0xC0,0x53,0x04,0x94,0xBC,0x13,0x5C, +0x43,0xE9,0xBD,0xEA,0xA2,0x40,0x5D,0x94,0xB5,0xA5,0x91,0x35,0xA5,0xA1,0xD4,0xB8,0x0A,0x39,0x53,0xC8, +0x69,0x1B,0x39,0x6D,0x22,0x1F,0x48,0x6B,0x58,0x85,0x9C,0x2A,0xE4,0xA8,0xC5,0x62,0x24,0x59,0x54,0x11, +0xAE,0x2B,0xA4,0x09,0x0C,0x01,0x76,0xD4,0x64,0x13,0x66,0xE0,0x90,0x68,0x12,0xE1,0xC0,0x5B,0x73,0x60, +0x26,0x8A,0x6A,0x6F,0xC3,0x59,0x71,0x47,0xA4,0xEE,0xC8,0x5B,0x77,0xE4,0xF2,0x0E,0x92,0x80,0x10,0x21, +0x6F,0xE8,0x56,0x2E,0xA5,0xD6,0x5E,0x51,0xD7,0xF9,0x21,0xF6,0x6F,0x26,0x4C,0xAE,0xC8,0xB1,0xB8,0x71, +0x0D,0xC9,0x33,0x13,0x79,0xA6,0x6C,0x45,0xE0,0xCC,0xC4,0x06,0x2F,0xF7,0xC4,0xC9,0x56,0xD2,0x64,0x5F, +0x1B,0x46,0xDC,0xD6,0x25,0x42,0xDC,0x96,0x52,0xDC,0xDA,0x36,0x42,0xB7,0x58,0x5B,0x25,0xA5,0xD8,0x5C, +0xB1,0x98,0xAC,0x5A,0xCC,0x4D,0x2B,0xB5,0x19,0xF5,0x23,0xE2,0xDF,0x78,0xB5,0x1B,0x9B,0x0B,0xA3,0x39, +0x11,0x94,0x70,0x8F,0xE2,0xB9,0xF6,0x13,0x84,0xA5,0x43,0xC4,0xD1,0x80,0x17,0xC7,0x18,0x85,0xDD,0x60, +0x38,0x08,0xBA,0x51,0xF0,0xC2,0xCC,0x46,0x01,0x2C,0x9F,0x5D,0x8C,0x75,0x4B,0xEF,0x09,0xAD,0xE8,0xE0, +0xC9,0xC4,0x5C,0x9A,0x95,0x2F,0x59,0x54,0x46,0xF5,0x8B,0x34,0xAA,0x97,0x60,0x50,0x5A,0xDC,0xD2,0x8A, +0x57,0xD2,0x44,0xA6,0x46,0x25,0xD2,0x92,0x28,0xD1,0x19,0x8A,0x3B,0x8C,0x42,0xFF,0xBA,0x09,0x61,0x4F, +0x19,0xAF,0x61,0x5A,0xA8,0x4D,0x34,0xAA,0x88,0x4E,0xD1,0xBC,0x34,0x12,0x75,0xFF,0x40,0xB9,0xB7,0x03, +0xD9,0x97,0x66,0x5C,0xC3,0xDE,0x96,0xF3,0xC3,0xF6,0x00,0xF4,0x63,0x28,0xC7,0x05,0xC0,0x0E,0xB7,0xC1, +0xB4,0x66,0x3C,0x1C,0xF8,0x1D,0xAF,0x90,0x4A,0xE0,0x71,0x3B,0xCB,0x27,0x19,0x4F,0x21,0xB7,0x19,0xBE, +0xE5,0x77,0xB0,0xD9,0xBE,0x46,0xEF,0x30,0x2B,0x30,0x2D,0xD6,0xE9,0x2C,0x1F,0x08,0xE8,0x74,0xD4,0x90, +0x10,0x12,0x12,0xC2,0x51,0x86,0x35,0x6A,0xE3,0x3B,0xEC,0x1F,0xB0,0x38,0x46,0xE2,0x88,0x0C,0x94,0x5C, +0x4C,0x74,0x73,0x69,0xB1,0x95,0x92,0x79,0x22,0x64,0x59,0xD9,0x53,0x72,0x84,0x10,0xE8,0xF9,0xB6,0xF0, +0x95,0xAC,0x60,0xEA,0xCB,0x5A,0x2E,0x03,0x91,0x42,0xB9,0x72,0xAE,0xAD,0x4A,0x71,0x2B,0xB9,0xAA,0xF5, +0x2E,0xAD,0xAE,0x15,0x7F,0xCC,0x5A,0xD3,0x02,0xD6,0x8E,0x6B,0x35,0x54,0x5F,0x2E,0x2D,0x5F,0xD0,0x1F, +0x22,0x3A,0xC3,0x7F,0x9F,0x81,0x9A,0x46,0xE9,0xA2,0x16,0x85,0xE4,0xB1,0xE7,0xFE,0x6A,0x1B,0x57,0xBF, +0xD9,0xD7,0x1D,0xD3,0xDC,0xFB,0xBA,0x27,0x25,0x6C,0x70,0xF3,0xAA,0x7F,0x6D,0x21,0x00,0xDB,0xDF,0x99, +0xBF,0xDA,0x12,0xDC,0x82,0x0D,0x6E,0x19,0x09,0x34,0x71,0x93,0xF0,0x6C,0x36,0xD5,0xD0,0xFA,0xBA,0x01, +0x26,0xD7,0x32,0xD6,0x0E,0xEF,0xE8,0x36,0xE4,0x8D,0xE5,0xF2,0x61,0x36,0x1B,0xA7,0x18,0xAB,0x74,0x59, +0x01,0x24,0xF5,0xC0,0xF3,0xC3,0x60,0x55,0x71,0x8D,0xAD,0x1A,0x0A,0x8B,0x32,0xDD,0xDB,0x45,0x25,0xE1, +0xE9,0x94,0x51,0x30,0xD9,0xE4,0xE1,0xB2,0x6C,0xF1,0xF4,0x56,0x0C,0xF9,0x76,0x87,0xC4,0x33,0x2D,0x4B, +0x7D,0x4F,0xA9,0x62,0x4F,0xFC,0xE3,0x7D,0x2B,0xD2,0xDC,0xFA,0xEF,0xFE,0xC4,0xD3,0x3B,0xA0,0x5F,0x6C, +0x53,0x36,0x37,0xCC,0xCE,0xB7,0xBA,0x26,0x4F,0xF4,0xF4,0x18,0xDD,0x15,0x8D,0xBE,0xA8,0x44,0x06,0x1A, +0xCC,0xAB,0xCE,0x54,0x2D,0xA8,0x16,0x1B,0xE5,0x9C,0x0D,0xB4,0xB2,0xC2,0x51,0x2D,0xA6,0xAE,0xF5,0x76, +0xBF,0xAD,0x65,0x80,0x80,0x75,0xA4,0x74,0x42,0x64,0x10,0xCB,0x45,0xC8,0xC3,0xAD,0xE8,0x43,0x0A,0xB7, +0x53,0x51,0x91,0x00,0x9C,0x3C,0x48,0x9B,0x56,0x66,0x20,0x73,0xCF,0x68,0x25,0xDA,0x1D,0xD1,0x94,0xEC, +0x9E,0xA9,0x6A,0x73,0xA7,0x27,0x67,0xFA,0x2A,0xC7,0x00,0xC9,0x53,0x40,0xB7,0xAA,0xFA,0x66,0xC2,0x82, +0xFB,0x46,0x55,0x94,0xED,0xDF,0x1F,0x44,0x28,0xCB,0x4E,0x50,0x0C,0xF7,0xFB,0xB1,0x6E,0x16,0xA6,0xB4, +0xEB,0xAC,0xAF,0xB7,0x91,0x52,0x1C,0x43,0x13,0xA4,0xA8,0xC2,0x10,0xCA,0xDC,0x00,0x0E,0x5E,0x5F,0x5F, +0x45,0x98,0x78,0x50,0xFB,0x12,0x55,0x14,0xDC,0xB5,0x0C,0x7F,0xFF,0x13,0x75,0x2A,0x47,0x3E,0x25,0xD5, +0xC8,0xB4,0x04,0xF5,0x9F,0x3F,0x2B,0xD9,0x46,0x8F,0x59,0x38,0x64,0x73,0x2A,0x28,0xAC,0xD8,0x88,0x56, +0x08,0xB7,0xCE,0x11,0x95,0x55,0x07,0x05,0x5E,0x77,0x9A,0x2A,0xA3,0x6E,0x18,0x60,0x09,0x03,0xD3,0xC3, +0x4B,0xF3,0xFF,0x52,0x8B,0xAF,0xD4,0xF2,0x88,0xE1,0x15,0x4C,0x1E,0x84,0x50,0xAC,0xFD,0x05,0x87,0x71, +0xEB,0x86,0xD8,0xF6,0xC5,0xE7,0x09,0x0B,0x64,0x78,0x31,0xAD,0xDC,0x88,0xAD,0xFF,0x51,0x83,0x49,0x4B, +0x83,0xED,0x54,0x9E,0xAC,0xD0,0x1A,0x8E,0x30,0xC7,0x15,0x47,0xC9,0x4A,0x8E,0xD2,0xFF,0x47,0xF2,0xB5, +0xDF,0x13,0x55,0xB8,0x37,0x3D,0x3F,0x20,0xB7,0x3A,0x64,0x40,0xAF,0x7D,0x02,0xF4,0x30,0x2C,0x8A,0xC6, +0x2C,0xD9,0x7B,0x62,0xDD,0xAD,0xD6,0x8B,0x41,0x49,0x66,0xBD,0xC5,0xF2,0x57,0x1E,0xFA,0x1A,0x4F,0xF9, +0xDE,0x53,0x80,0xA7,0x8F,0xAD,0xF7,0x58,0x81,0x87,0x6D,0x10,0x1E,0xAC,0xFE,0xD2,0xF1,0xAD,0xAC,0x9A, +0x5D,0x76,0x18,0xE8,0xC2,0x2F,0x85,0xE4,0x09,0x21,0x59,0x64,0x65,0x40,0xAE,0xD7,0x45,0xB7,0xEC,0x05, +0x1D,0x3D,0xB9,0xAB,0xD7,0x38,0x4B,0xBC,0x4C,0x2D,0x21,0x83,0x58,0xFC,0x81,0x52,0x56,0x85,0xC9,0xD4, +0x23,0x36,0x9B,0x4E,0x33,0xCC,0xDF,0x8B,0x10,0x6D,0x45,0xD5,0xFC,0x58,0x86,0xE8,0x01,0x4C,0x69,0xCC, +0xF2,0x0C,0xB3,0x9C,0xB7,0x8B,0xB9,0x8A,0x99,0x9D,0xE0,0xF3,0xE7,0x6A,0xB2,0x1B,0x74,0xD2,0x7A,0x7A, +0xB9,0x93,0x35,0x26,0xBB,0x59,0x27,0x02,0x4F,0xFA,0x8F,0x2D,0x85,0x34,0x2D,0x85,0x89,0x0C,0x61,0x31, +0x65,0x29,0x69,0x6D,0xEB,0xA9,0x28,0xB5,0x51,0x23,0x86,0x09,0x83,0xD6,0xCD,0xB2,0x8B,0x6C,0xBA,0x32, +0xB2,0xD2,0xB6,0xA7,0x3F,0x55,0xCE,0x06,0x86,0x38,0x15,0xA4,0xFE,0x9A,0xCD,0x71,0x7A,0x80,0x32,0x6C, +0x40,0x25,0x50,0xC5,0x61,0x09,0x35,0xDD,0x6C,0xE5,0x2E,0x5A,0x40,0x7D,0xF5,0x09,0xE1,0xE5,0x8B,0x61, +0x01,0x36,0x88,0xB8,0xB0,0xE2,0x24,0x73,0xA9,0xA8,0x63,0x54,0xB4,0x24,0x20,0xA1,0xBC,0x45,0x23,0xB6, +0xC5,0x0B,0x0A,0xC8,0xED,0x50,0x75,0x60,0x50,0xBF,0x62,0xB0,0x16,0x96,0x9C,0xA5,0x2C,0x41,0x33,0x24, +0xF6,0xC1,0x1A,0x38,0x98,0x3C,0x5C,0x9C,0xD6,0x28,0x39,0xEA,0x7E,0xBE,0xDB,0xF7,0xC0,0x5E,0xE5,0x6B, +0xC9,0xE9,0xD4,0x80,0xE2,0xA4,0xD1,0x67,0x07,0x55,0x39,0x2F,0xAB,0xA2,0xC7,0x45,0x11,0x96,0x85,0x0F, +0x14,0x58,0x0F,0x6B,0x1F,0x6E,0x66,0x73,0xC2,0xFD,0x50,0x04,0x11,0x1F,0xF8,0xD1,0x39,0x74,0x55,0xAE, +0x1C,0x85,0x3C,0xAE,0x47,0x51,0x31,0xFC,0x98,0x15,0x03,0x3F,0x2B,0x47,0x77,0x0D,0x20,0xA3,0x25,0x98, +0xD1,0x69,0x31,0x24,0x94,0x94,0xE7,0x94,0xC0,0xF2,0x33,0x49,0x8A,0x51,0x12,0x96,0xA3,0x10,0xDF,0x55, +0x78,0xAC,0x84,0x06,0x58,0x77,0x95,0x14,0xD6,0x9C,0x65,0x31,0xE8,0xD7,0xEC,0x67,0xFF,0x1D,0xFB,0x09, +0x9D,0x95,0xCC,0x24,0xE5,0x68,0x46,0x4A,0x56,0x26,0x71,0xF2,0x45,0x42,0xD2,0x7F,0xDB,0x56,0x1D,0x1E, +0xBD,0x3E,0x1A,0x1F,0x35,0x2B,0xEC,0xE6,0xEB,0x0B,0xFF,0xAB,0xE7,0x0D,0x6E,0xBA,0xC6,0xDF,0x48,0x6A, +0x50,0xD7,0x9A,0x66,0xEB,0x81,0x26,0x6A,0x3D,0xFC,0xD4,0x19,0xA5,0x78,0x51,0x01,0x39,0xAD,0xAF,0x37, +0x08,0x91,0xEB,0xF5,0xA3,0x11,0xB5,0x74,0x55,0xE6,0x4A,0xAF,0x46,0x4F,0xD5,0x83,0xC8,0xAC,0x3A,0x2E, +0xE2,0xD1,0x22,0xA2,0x58,0xA2,0xF9,0x22,0xBB,0x3E,0x74,0x5D,0x1D,0x53,0x3D,0x96,0x78,0x9E,0x47,0xAF, +0xFC,0x6B,0xD9,0x70,0xAF,0xAF,0xA3,0x76,0xCD,0x68,0x38,0x96,0x04,0x8A,0x0B,0xE5,0x48,0xB6,0xFA,0xC0, +0x0B,0x90,0xE5,0x58,0x2F,0x47,0xA7,0x27,0x76,0x82,0x52,0x70,0x48,0x6A,0x36,0xA3,0x51,0xAE,0x18,0x6C, +0x4B,0xFB,0xE7,0xA3,0x46,0x33,0x23,0xBF,0x4F,0x73,0xF9,0xD2,0x8A,0x0C,0x71,0x9C,0xCA,0xD0,0xA2,0xEC, +0x29,0x1E,0x3E,0x21,0xC7,0xC5,0x65,0xBE,0xAB,0xC3,0x55,0xDC,0xCC,0x16,0xFC,0x36,0x7F,0xA2,0x5F,0xE7, +0x21,0xC9,0x9A,0x4D,0x5C,0x2B,0x32,0xFC,0x4D,0x8D,0x2D,0xCB,0x91,0x3A,0xEE,0x61,0x3F,0xA2,0xBE,0xE9, +0x55,0xCA,0x91,0xFD,0x66,0xDD,0x97,0xB0,0xDA,0x1C,0x75,0x48,0x61,0x84,0xEA,0x16,0xFD,0xA7,0x1E,0x42, +0x4B,0x0F,0xA1,0x8F,0x03,0x04,0xBE,0x6B,0x79,0x7B,0x75,0xCB,0x60,0x02,0x94,0xDD,0x0C,0xAA,0x28,0x02, +0x10,0x19,0x43,0x5A,0x80,0x8F,0x99,0x5C,0xFF,0x88,0x6E,0x91,0x7A,0xF7,0xAC,0xA1,0xAB,0x43,0x85,0xDC, +0xEE,0xFF,0x0E,0xA3,0x6A,0x67,0x3B,0x10,0x65,0x30,0x7C,0x1C,0x4F,0x78,0x2B,0x3C,0xD5,0x31,0xAB,0x19, +0x9D,0xC0,0x5D,0x97,0x85,0x62,0x79,0x43,0xBE,0x0D,0xD7,0x03,0x83,0x7C,0xCA,0xF7,0x9A,0x71,0x58,0x61, +0x34,0xAD,0x67,0x75,0xB7,0xD7,0xEE,0x07,0x57,0xD7,0x19,0xD2,0xFF,0xF0,0x5E,0x66,0x67,0xE5,0xCB,0x07, +0xB8,0x79,0x63,0xA6,0x83,0x41,0x64,0x60,0x86,0x18,0xA5,0x23,0xD1,0x64,0xAB,0x44,0xB2,0x54,0x0A,0xF4, +0xA4,0xEB,0x1A,0x20,0xB1,0x9E,0x4C,0x19,0x36,0xC8,0x01,0xF6,0x57,0x40,0x0A,0x40,0xEA,0x31,0x38,0xB2, +0xB1,0x88,0x60,0x11,0x41,0xBB,0xC8,0x28,0xBB,0x41,0xA4,0xB9,0x9D,0x00,0x84,0x14,0x5F,0xC3,0x43,0x57, +0x6C,0x15,0x7A,0x90,0x07,0xD5,0x10,0xA5,0x7D,0xB3,0x78,0x46,0xAC,0x1F,0x71,0x70,0xE9,0x36,0x85,0x7D, +0xAC,0x49,0xB4,0x4C,0x14,0x1E,0x23,0x9C,0x65,0x92,0x6E,0xC1,0xD7,0x1B,0x16,0x00,0x5B,0x80,0xD6,0x8B, +0x61,0x24,0x2E,0x02,0x0E,0x05,0x60,0x1C,0xE2,0xB8,0x80,0x70,0x18,0x0A,0x10,0x12,0xA0,0xAF,0xA5,0xA8, +0x46,0xB2,0xC0,0x23,0x74,0xE6,0xF5,0x7B,0x8E,0xF5,0xF8,0xD8,0x8B,0x0C,0x8F,0xD8,0x94,0x8F,0xD1,0x24, +0x33,0xD6,0x1C,0x73,0xC5,0x0E,0x00,0x8D,0x20,0x9A,0x18,0x1B,0xE6,0x6A,0xF4,0xF7,0x2C,0xBD,0xC1,0x69, +0x81,0x2C,0x2A,0x33,0x28,0xCC,0x22,0x51,0x9C,0x0D,0x41,0xEA,0xB7,0xF8,0x35,0xA1,0xB8,0x06,0x8E,0x42, +0x36,0x3F,0x4B,0x09,0xE5,0x6F,0x64,0x57,0x6D,0xAC,0xF5,0xA5,0x9E,0xD4,0x63,0x8F,0x8C,0x40,0xE5,0x2B, +0xD0,0x42,0x04,0x33,0xB7,0xF5,0x16,0x64,0x4D,0x40,0x5D,0x10,0x5B,0xDD,0xC5,0x9C,0x50,0x57,0x3F,0xE0, +0x69,0xD4,0x1D,0xE9,0x56,0x8C,0x7C,0x98,0xA8,0x3D,0x30,0x5F,0x5A,0xC2,0x69,0xDD,0x66,0x30,0x59,0xAB, +0x27,0x75,0xA1,0xBE,0xF2,0xA1,0xAC,0x7E,0xF7,0x11,0xC0,0xFD,0x88,0x4D,0x0C,0xF1,0xA8,0xBF,0x10,0x0E, +0xEF,0xD2,0xA5,0x29,0xB2,0xD3,0x97,0xDF,0xB4,0x7C,0x88,0xBA,0xDC,0xC2,0x8D,0x27,0xB9,0x8E,0xAE,0x8B, +0x97,0x2E,0xC0,0x43,0xC1,0x29,0x8D,0xEE,0x5D,0xC8,0x8A,0x7F,0xC1,0x75,0x4E,0x03,0xF6,0x25,0xAE,0x3F, +0x3C,0xE0,0xFA,0xC3,0x2A,0xAE,0x71,0x5B,0x5B,0x30,0xB9,0x80,0x63,0xDF,0x20,0x8A,0x66,0x38,0x85,0x05, +0x71,0x09,0x28,0xE0,0x9F,0x51,0x96,0xE2,0x2F,0x53,0x36,0x0A,0xC9,0x94,0x3F,0xA4,0x4F,0xAD,0xFE,0x3B, +0x2A,0x53,0xFC,0x04,0x95,0x65,0x21,0x5B,0xA5,0x8D,0xBF,0x7E,0x68,0x92,0x4E,0xED,0x81,0x0A,0x9B,0xEE, +0xFA,0x2F,0xFC,0xAE,0xBE,0xF1,0xCB,0xD9,0x53,0x7C,0xB8,0x78,0x69,0x05,0xC2,0x26,0x80,0x83,0x46,0x7E, +0x62,0x74,0x1F,0x3A,0x85,0xD7,0xC0,0x82,0xA1,0xCC,0x11,0x7B,0x8B,0xA5,0xC5,0x3D,0x63,0x4E,0x80,0xFD, +0x39,0x30,0xE7,0xCB,0xEA,0xD7,0x0E,0x21,0x43,0x82,0x10,0x80,0x48,0xC8,0xB3,0xBD,0xAB,0xBD,0xF5,0xEB, +0x0E,0x24,0x28,0x0F,0x3E,0x4C,0x0F,0x06,0xEB,0xD7,0xDF,0x99,0xBD,0x19,0x69,0x94,0x44,0x32,0xD5,0x81, +0x5C,0xAF,0xE8,0xB5,0x87,0x96,0x10,0xC2,0x9A,0xA9,0xB0,0x0A,0xAC,0x16,0x96,0x6F,0x86,0xF0,0x11,0x21, +0x3A,0x83,0x0F,0x19,0x3B,0x60,0x37,0xF5,0x1A,0x4F,0x79,0x3A,0x87,0x7F,0x75,0x08,0xDB,0x83,0x82,0xAC, +0x00,0x4F,0x09,0xC5,0x32,0x7A,0xA9,0xA1,0x55,0x00,0x84,0x18,0x48,0x2A,0x21,0xE5,0xD8,0x12,0x63,0x91, +0xFD,0xC8,0x4C,0x08,0xD2,0xD0,0x27,0x28,0xC3,0x22,0xD1,0xEB,0x32,0x61,0x3F,0x02,0xCF,0x65,0x20,0x69, +0x6C,0x58,0xF1,0x0D,0x99,0x9E,0x17,0x23,0x1D,0xB8,0xE4,0x8D,0x20,0xAC,0xD8,0x81,0x78,0xAB,0x06,0x0F, +0x42,0x7B,0xDD,0xF5,0x28,0xB0,0xB9,0x04,0x17,0x53,0x0C,0x04,0x7A,0x95,0xCE,0x7F,0x79,0xF3,0xFA,0x98, +0xF3,0xE4,0x5C,0x69,0x14,0xCE,0x6A,0x2F,0xD4,0x86,0x66,0x2E,0x78,0x7A,0x5F,0x16,0x86,0x22,0x50,0xA8, +0x50,0xF7,0xCB,0xE9,0xE4,0x23,0xF6,0x81,0x93,0x37,0x19,0xE4,0xD0,0x0D,0x5B,0xA0,0x8F,0xC7,0x67,0xF6, +0xB6,0xED,0x40,0xA5,0x02,0xFA,0xF4,0x43,0x61,0x31,0xCB,0x7F,0x84,0xBC,0xF9,0xCF,0x90,0x09,0xC4,0xFB, +0x0C,0x02,0x7A,0x89,0xDF,0xC6,0x0D,0x53,0x36,0x97,0x68,0x47,0x69,0x2A,0x8C,0x61,0x1C,0x92,0x4C,0x9B, +0xC0,0x62,0x86,0x53,0x2D,0x60,0x38,0xD3,0x28,0xE3,0x5A,0x96,0x27,0x09,0x4B,0xF9,0x03,0x79,0xD8,0x7A, +0xF9,0x48,0xF3,0x36,0xC7,0x39,0x0E,0x8A,0x65,0x9C,0x36,0xE5,0x22,0x6B,0x3A,0x58,0x07,0x77,0xBB,0xBA, +0x2E,0x2A,0xBC,0x9C,0x52,0x91,0x7F,0xD6,0xFA,0x6A,0x0E,0xDC,0x85,0x70,0xAA,0x47,0xF3,0x28,0x5A,0x0E, +0x1E,0x9C,0x05,0xFD,0x20,0xE3,0x4C,0xE8,0xC3,0x5B,0xFC,0x5E,0xB8,0x96,0xFB,0xE0,0x1D,0xBC,0x7D,0xAA, +0x63,0xAD,0x19,0x6B,0x58,0x23,0x34,0xE3,0x88,0xFA,0x42,0x8D,0x4A,0x16,0x66,0x59,0xDD,0x89,0xED,0x03, +0x11,0x17,0xA4,0xE1,0x3C,0x59,0x52,0x48,0xCE,0xA8,0xA7,0xEB,0xA2,0xD0,0xC3,0xA2,0x5E,0x46,0x71,0xD6, +0x38,0xB6,0xCA,0x14,0x26,0xF5,0x4A,0xF0,0x40,0x7E,0x7B,0xB1,0x6A,0x7F,0x4D,0x46,0x59,0xDD,0x23,0x80, +0x69,0xE5,0x3E,0x93,0x76,0x3C,0x5D,0x56,0x08,0x7B,0x32,0x64,0x48,0x03,0x8E,0x31,0x0F,0x59,0xB0,0xA7, +0xEF,0xE9,0xAE,0x0E,0xFF,0xAD,0xEB,0x16,0xEC,0xC2,0xD4,0x67,0x01,0xBE,0x38,0x7F,0x01,0xA1,0x34,0x61, +0x14,0x53,0x6E,0x20,0xC8,0x28,0x9E,0xDE,0x79,0x0C,0xA9,0xC8,0xB8,0x42,0xD7,0xE6,0xA0,0x2D,0x6C,0x3C, +0x7F,0xA0,0xCE,0x96,0x32,0x6C,0x46,0x45,0x74,0xBD,0x07,0xE2,0x39,0x7E,0xF4,0xED,0x83,0x45,0x1F,0x77, +0x41,0xE6,0x62,0x4B,0xD0,0x2C,0xB1,0x46,0x80,0x25,0x5C,0xAF,0x16,0xF2,0x53,0x95,0x1D,0xB5,0x7D,0x14, +0x45,0xE2,0xD7,0x12,0x40,0xAB,0xB8,0x2C,0xCF,0x2C,0x71,0x48,0x06,0x0C,0x64,0x78,0x8C,0xEF,0xC0,0xA5, +0x65,0x79,0xA6,0x6C,0xA8,0x68,0x87,0x44,0xAD,0xD6,0x30,0x23,0xD3,0xAA,0x66,0xEB,0xEB,0xDC,0x2E,0xCD, +0xC4,0x28,0x91,0x32,0x91,0x6C,0xE4,0xDB,0xC3,0xD2,0x68,0x32,0x29,0x72,0xF7,0x23,0x69,0x1B,0x6D,0x31, +0x24,0x98,0x1A,0x25,0x0C,0x28,0xCB,0xD3,0x08,0x32,0x84,0xA8,0x5E,0x5A,0xDB,0x32,0x4C,0x03,0xB8,0xC0, +0xFD,0x4B,0x64,0x89,0x4A,0x9B,0x56,0x31,0xE2,0xA9,0xA2,0xBB,0x7D,0x1E,0x2F,0xB4,0x72,0x8C,0x65,0x98, +0x6B,0xFF,0xBC,0xD5,0x92,0x3F,0x4C,0x25,0x2A,0x21,0xF4,0xE0,0xEB,0x8A,0xF9,0xBC,0x0B,0x66,0x15,0x77, +0xE1,0x06,0x65,0x05,0x81,0xBE,0x82,0x42,0xD5,0xED,0x59,0xE2,0x39,0xC5,0x7D,0xE0,0xA2,0xB5,0xFC,0x8C, +0x07,0x3E,0xDA,0x3E,0xA7,0x4D,0x67,0x43,0xDB,0x3B,0x5B,0x0F,0x40,0x68,0xC2,0x52,0x6E,0x40,0x8E,0x83, +0x34,0x58,0xDD,0x56,0x36,0x5E,0xCD,0xB8,0x60,0x27,0x79,0x16,0x1A,0x0B,0x20,0xDD,0xE5,0x96,0x92,0x95, +0x8B,0x2D,0x65,0xB7,0x2E,0xB5,0x4A,0xFB,0x70,0x21,0x75,0xB5,0xE2,0xC7,0xE7,0xCF,0x72,0x56,0x6B,0x1B, +0x66,0x6D,0x85,0x03,0xB3,0xD2,0x89,0xCB,0x8C,0x2C,0x8C,0xFE,0x61,0xAC,0xDA,0xE9,0xA9,0x7E,0xAA,0xFC, +0x3D,0x89,0x46,0x02,0x4F,0x24,0x77,0xBD,0xF8,0xE2,0x08,0x86,0x53,0x88,0x4B,0x36,0x34,0x60,0xD5,0x0F, +0x88,0xF5,0xE2,0x17,0xC4,0x0F,0x71,0x77,0xAB,0x8E,0xD0,0xF3,0xAA,0x7A,0x5E,0x45,0x1D,0xB5,0xC1,0x7B, +0xE2,0x57,0x26,0xBA,0x02,0x43,0xC3,0xAC,0x06,0x76,0x75,0xB7,0xB8,0xD7,0x2A,0x16,0x51,0x76,0x4F,0x7D, +0x11,0x35,0xAB,0x53,0x42,0x10,0x7F,0xAB,0x89,0x56,0x3B,0xCD,0x65,0x4D,0x99,0x78,0x7E,0xD4,0x58,0xF1, +0xAD,0x43,0xB3,0xC6,0x00,0xF2,0xA1,0x47,0x17,0xEC,0x96,0x2E,0xAA,0xC9,0x26,0xBD,0x9A,0x02,0x7B,0xB0, +0xA1,0xDE,0x95,0x27,0xAB,0x01,0xB2,0x24,0x78,0xB4,0xA8,0xAA,0x8A,0x87,0xCB,0x65,0xA3,0x57,0x7D,0xD9, +0xD6,0xFC,0x81,0x50,0xB5,0x99,0xC8,0xAF,0x4E,0xE4,0xFE,0xF6,0xB7,0x29,0x4F,0xA2,0x29,0x8C,0xDD,0x3F, +0x01,0x4B,0x0A,0x87,0xFB,0x35,0x2E,0x00,0x00 }; From abb9d79045461dc8fa750fe6c9f4b8a5c338a224 Mon Sep 17 00:00:00 2001 From: lorol Date: Wed, 17 Jun 2020 13:12:16 -0400 Subject: [PATCH 25/47] LittleFS, on ESP32, too. see my library and tool plus the core conversation: https://github.com/lorol/arduino-esp32littlefs-plugin https://github.com/lorol/LITTLEFS https://github.com/espressif/arduino-esp32/issues/3765 #include #define SPIFFS LITTLEFS #include --- .../ESP_AsyncFSBrowser/ESP_AsyncFSBrowser.ino | 16 +++++++++++----- examples/SmartSwitch/SmartSwitch.ino | 9 +++++++-- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/examples/ESP_AsyncFSBrowser/ESP_AsyncFSBrowser.ino b/examples/ESP_AsyncFSBrowser/ESP_AsyncFSBrowser.ino index 2056433..b12106b 100644 --- a/examples/ESP_AsyncFSBrowser/ESP_AsyncFSBrowser.ino +++ b/examples/ESP_AsyncFSBrowser/ESP_AsyncFSBrowser.ino @@ -1,12 +1,18 @@ #define USE_LittleFS // possible only for ESP8266 for now #include + #ifdef ESP32 -#include -#include -#include -#include -#include + #include + #ifdef USE_LittleFS + #define SPIFFS LITTLEFS + #include + #else + #include + #endif + #include + #include + #include #elif defined(ESP8266) #ifdef USE_LittleFS #include diff --git a/examples/SmartSwitch/SmartSwitch.ino b/examples/SmartSwitch/SmartSwitch.ino index 4244e29..a5e448c 100644 --- a/examples/SmartSwitch/SmartSwitch.ino +++ b/examples/SmartSwitch/SmartSwitch.ino @@ -13,7 +13,7 @@ Multiple clients can be connected at same time, they see each other requests Use latest ESP core lib (from Github) */ -#define USE_LittleFS // possible only for ESP8266 for now +#define USE_LittleFS #define USE_WFM // to use ESPAsyncWiFiManager //#define DEL_WFM // delete Wifi credentials stored @@ -41,7 +41,12 @@ Use latest ESP core lib (from Github) #include #ifdef ESP32 #include - #include + #ifdef USE_LittleFS + #define SPIFFS LITTLEFS + #include + #else + #include + #endif #include #include #include From 0de5612160d3bc15073acfe8bb78a0567f7288f0 Mon Sep 17 00:00:00 2001 From: lorol Date: Thu, 18 Jun 2020 13:31:25 -0400 Subject: [PATCH 26/47] Minor modification of edit.htm, which is embedded in SPIFFSEditor - allow to "download" with more file types by right-click on file tree. Tested LITTLEFS compatibility --- .../ESP_AsyncFSBrowser/data/acefull.js.gz | Bin 119986 -> 119986 bytes .../ESP_AsyncFSBrowser/data/worker-css.js.gz | Bin 35483 -> 35483 bytes .../ESP_AsyncFSBrowser/data/worker-html.js.gz | Bin 47406 -> 47406 bytes .../data/worker-javascript.js.gz | Bin 47729 -> 47729 bytes examples/SmartSwitch/data/acefull.js.gz | Bin 119986 -> 119986 bytes examples/SmartSwitch/data/worker-css.js.gz | Bin 35483 -> 35483 bytes examples/SmartSwitch/data/worker-html.js.gz | Bin 47406 -> 47406 bytes .../SmartSwitch/data/worker-javascript.js.gz | Bin 47729 -> 47729 bytes examples/SmartSwitch/data_src/.exclude.files | 2 + src/edit.htm | 16 +- src/edit.htm.gz.h | 454 +++++++++--------- 11 files changed, 245 insertions(+), 227 deletions(-) create mode 100644 examples/SmartSwitch/data_src/.exclude.files diff --git a/examples/ESP_AsyncFSBrowser/data/acefull.js.gz b/examples/ESP_AsyncFSBrowser/data/acefull.js.gz index 373060858ebd1d1e27f5489917f59a039dda37d1..1c60522393af9280fd007d1cbd4b180ac3f4943c 100644 GIT binary patch delta 21 dcmdnAl6})kc6Rx04vtR?UpKOEWoKM{1pr=e2*>~c delta 21 dcmdnAl6})kc6Rx04vurbZZxuQWoKM{1pr@=2Imup delta 18 acmezPh3VrLCU*I54vurbZfs=F+64eur3nlG diff --git a/examples/SmartSwitch/data/acefull.js.gz b/examples/SmartSwitch/data/acefull.js.gz index 373060858ebd1d1e27f5489917f59a039dda37d1..1c60522393af9280fd007d1cbd4b180ac3f4943c 100644 GIT binary patch delta 21 dcmdnAl6})kc6Rx04vtR?UpKOEWoKM{1pr=e2*>~c delta 21 dcmdnAl6})kc6Rx04vurbZZxuQWoKM{1pr@=2Imup delta 18 acmezPh3VrLCU*I54vurbZfs=F+64eur3nlG diff --git a/examples/SmartSwitch/data_src/.exclude.files b/examples/SmartSwitch/data_src/.exclude.files new file mode 100644 index 0000000..1d600fd --- /dev/null +++ b/examples/SmartSwitch/data_src/.exclude.files @@ -0,0 +1,2 @@ +*.gz +.exclude.files diff --git a/src/edit.htm b/src/edit.htm index c1ca544..4943b8b 100644 --- a/src/edit.htm +++ b/src/edit.htm @@ -274,7 +274,7 @@ t.loadUrl(i), document.body.getElementsByClassName("cm").length > 0 && document.body.removeChild(e) }); var d = ce("li"); - o.appendChild(d), s(i) || r(i) ? (d.innerHTML = "Download", d.onclick = function(t) { + o.appendChild(d), s(i) || r(i) || k(i) ? (d.innerHTML = "Download", d.onclick = function(t) { n(i), document.body.getElementsByClassName("cm").length > 0 && document.body.removeChild(e) }) : z(i) ? (o.appendChild(d), d.innerHTML = "ChDir", d.onclick = function(t) { f.removeChild(f.childNodes[0]), m(f, i), document.body.getElementsByClassName("cm").length > 0 && document.body.removeChild(e) @@ -357,6 +357,20 @@ } return !1 } + + function k(e) { // other types may be there and good for download + var t = /(?:.([^.]+))?$/.exec(e)[1]; + if (void 0 !== typeof t) switch (t) { + case "ico": + case "gz": + case "zip": + case "wav": + case "mp3": + case "pdf": + return !0 + } + return !1 + } function l(e) { return function(e, t) { diff --git a/src/edit.htm.gz.h b/src/edit.htm.gz.h index 634c682..c890b78 100644 --- a/src/edit.htm.gz.h +++ b/src/edit.htm.gz.h @@ -1,229 +1,231 @@ -//File: edit.htm.gz, Size: 4469 -#define edit_htm_gz_len 4469 +//File: edit.htm.gz, Size: 4503 +#define edit_htm_gz_len 4503 const uint8_t edit_htm_gz[] PROGMEM = { -0x1F,0x8B,0x08,0x08,0xC2,0xFA,0xD8,0x5E,0x02,0x00,0x65,0x64,0x69,0x74,0x2E,0x68,0x74,0x6D,0x00,0xB5, -0x1A,0x09,0x5B,0xDB,0x36,0xF4,0xAF,0x18,0x6F,0x63,0xF6,0xE2,0x38,0x0E,0x50,0xD6,0x39,0x18,0x16,0x8E, -0x8D,0x5E,0x40,0x49,0x68,0x47,0x19,0xDB,0xA7,0xD8,0x4A,0xAC,0x62,0x4B,0x9E,0x2D,0x13,0x68,0x9A,0xFF, -0xBE,0x27,0xC9,0x27,0x84,0xEE,0xF8,0xB6,0x76,0x6B,0x24,0x3D,0x3D,0xE9,0xDD,0x87,0x92,0x9D,0xB5,0xC3, -0xD3,0x83,0xF1,0xE5,0xD9,0x91,0x16,0xF2,0x38,0xDA,0xDD,0x11,0xFF,0x6A,0x11,0xA2,0x33,0x4F,0xC7,0x54, -0xDF,0xDD,0x89,0x31,0x47,0x00,0xE2,0x49,0x17,0xFF,0x91,0x93,0x5B,0x4F,0x3F,0x60,0x94,0x63,0xCA,0xBB, -0xFC,0x3E,0xC1,0xBA,0xE6,0xAB,0x99,0xA7,0x73,0x7C,0xC7,0x7B,0x02,0x79,0xA0,0xF9,0x21,0x4A,0x33,0xCC, -0xBD,0x9C,0x4F,0xBB,0xCF,0xE1,0x08,0x4E,0x78,0x84,0x77,0x8F,0x46,0x67,0xDA,0x51,0x40,0x38,0x4B,0x77, -0x7A,0x6A,0x65,0x27,0x22,0xF4,0x46,0x4B,0x71,0xE4,0xE9,0x28,0x49,0x22,0xDC,0xE5,0x2C,0xF7,0xC3,0x2E, -0x81,0x33,0x75,0x2D,0x4C,0xF1,0xD4,0xD3,0x7B,0xC8,0xC7,0x36,0x2C,0xE8,0x9A,0xB8,0xCE,0xD3,0x49,0x8C, -0x66,0xB8,0x77,0xA7,0xF6,0x34,0x0F,0xC8,0x42,0x96,0x72,0x3F,0xE7,0xDA,0xBF,0xC2,0xFE,0x07,0x48,0x19, -0xBF,0x8F,0xB0,0x02,0x29,0x9E,0xFD,0x2C,0xD3,0xB5,0x18,0x07,0x04,0x01,0x15,0x7E,0x8A,0x85,0xD4,0x22, -0x34,0xC1,0xD1,0x62,0xCA,0x40,0x4C,0x19,0xF9,0x84,0xDD,0xFE,0x46,0x72,0x37,0x90,0xD3,0x29,0x8A,0x49, -0x74,0xEF,0x66,0x88,0x66,0xDD,0x0C,0xA7,0x64,0xBA,0xB4,0xFD,0x78,0xF1,0xA9,0x4B,0x68,0x80,0xEF,0xDC, -0x4D,0xC7,0x19,0x24,0x2C,0x23,0x9C,0x30,0xEA,0xA2,0x49,0xC6,0xA2,0x9C,0xE3,0x41,0x84,0xA7,0xDC,0x7D, -0x06,0x27,0x4C,0x58,0x1A,0xE0,0xD4,0xED,0x27,0x77,0x1A,0x80,0x48,0xA0,0x7D,0xB5,0xB5,0xB5,0x35,0x98, -0x20,0xFF,0x66,0x96,0xB2,0x9C,0x06,0x5D,0x9F,0x45,0x2C,0x75,0xBF,0x9A,0x3E,0x13,0x7F,0x07,0x01,0xC9, -0x92,0x08,0xDD,0xBB,0x94,0x51,0x0C,0xB8,0x77,0xDD,0x2C,0x44,0x01,0x9B,0xBB,0x8E,0xE6,0x68,0x7D,0x07, -0x0E,0x49,0x67,0x13,0x64,0x38,0x96,0xF8,0x6B,0x6F,0x99,0x83,0xBF,0x45,0xAF,0x5A,0x9E,0x63,0x32,0x0B, -0xB9,0xFB,0xBD,0xE3,0x08,0xFA,0xB5,0x3C,0x5A,0x44,0x24,0xE3,0x5D,0x29,0x1C,0x75,0x1F,0x67,0x89,0xEB, -0x48,0xD2,0xE1,0x23,0x46,0xE9,0x8C,0x50,0x18,0x24,0x28,0x08,0x08,0x9D,0xB9,0x0A,0x2D,0x22,0x8B,0x8A, -0x5B,0xD0,0x03,0xE2,0xE4,0x16,0x0F,0x62,0x42,0xBB,0x73,0x12,0xF0,0xD0,0xDD,0x76,0x80,0x0A,0x3F,0x4F, -0x33,0xE0,0x29,0x61,0x84,0x72,0x9C,0x4A,0xB4,0x2C,0x41,0x74,0xA1,0x58,0x15,0x02,0xA8,0xF8,0x24,0x14, -0x34,0x8A,0xBB,0x93,0x88,0xF9,0x37,0xD5,0x4D,0xDB,0xC9,0x5D,0x71,0x97,0x1B,0xB2,0x5B,0x9C,0x2E,0x6A, -0x71,0x49,0xEC,0x16,0xB0,0x75,0x34,0xC6,0x78,0x69,0xF3,0xDB,0x1C,0xA0,0x96,0xFC,0x04,0x2E,0x2B,0xFA, -0x6B,0x96,0xDA,0x8C,0x17,0x28,0x84,0x26,0x39,0x5F,0x3C,0x56,0x25,0x4B,0x90,0x4F,0xF8,0xBD,0xEB,0xC8, -0x6D,0xD2,0x42,0xDC,0x2D,0xC7,0xD1,0x84,0xC0,0xB5,0x77,0x38,0x0D,0x10,0x45,0xD6,0x30,0x25,0x28,0xB2, -0x46,0xB5,0xC8,0xBB,0x31,0xFB,0xD4,0xCD,0x61,0x0C,0xF3,0x08,0xFB,0x5C,0x49,0x18,0x94,0x30,0xB9,0x21, -0xFC,0x31,0xE0,0xD1,0x42,0x43,0x56,0x52,0x42,0xA1,0xD2,0x5E,0x1F,0x64,0x23,0xE9,0x50,0x6C,0x2B,0x8E, -0xBA,0x13,0xC6,0x39,0x8B,0xA5,0xBD,0x55,0xDC,0x6A,0xD2,0x64,0x9E,0x3F,0x52,0xC7,0x6A,0xD1,0x37,0x8E, -0x1F,0x80,0x50,0x39,0xF1,0x51,0xD4,0x45,0x11,0x99,0x51,0x37,0x26,0x41,0x10,0xE1,0x41,0x43,0x07,0x79, -0x1A,0x19,0x01,0xE2,0xC8,0x55,0x7E,0x96,0xD0,0x19,0x40,0x33,0xBC,0xBD,0x65,0x91,0x77,0xFB,0xA7,0xE7, -0x73,0xE7,0xD5,0xCF,0x33,0x36,0x84,0x3F,0x27,0xA3,0x8B,0xF0,0xE8,0x62,0x06,0xA3,0x7D,0x31,0x1D,0xBE, -0x3D,0x18,0xBE,0x85,0x8F,0x83,0x7E,0xE7,0xE3,0xF4,0x8F,0xA1,0x58,0xFE,0x39,0xD8,0x1F,0x5F,0x1C,0x0D, -0x87,0xAF,0x7A,0x2F,0x4E,0xE6,0xEF,0x5F,0x6D,0x0B,0xF0,0x7E,0xE4,0x9C,0xBF,0x0B,0x9D,0x8B,0x8D,0x1F, -0xE2,0xE0,0x38,0x08,0xFD,0xF8,0x62,0xF8,0xF6,0xFD,0xF9,0xED,0x65,0x7C,0x31,0x1B,0xBD,0xEF,0x87,0x1F, -0x36,0xDE,0x8D,0x3E,0xBC,0xFF,0xE9,0x06,0xFF,0x72,0xFC,0xF2,0xC3,0x78,0x0E,0x08,0x87,0x6C,0x74,0x71, -0xBE,0xFF,0x6E,0x7F,0xF6,0x61,0xDF,0x3F,0xBA,0x9B,0x44,0x27,0xFB,0x3F,0x0F,0x27,0xC3,0x0D,0x1F,0xE3, -0xD9,0xF8,0x7C,0x3F,0x7F,0xF1,0xEA,0x74,0x46,0x48,0x38,0xFA,0x70,0x32,0xF6,0x0F,0x9E,0xBD,0xBE,0x38, -0x1E,0x92,0xF0,0xE4,0xE5,0xB9,0x73,0xF3,0xF3,0xAB,0x83,0x43,0xFF,0xF2,0xE5,0xE5,0xF6,0xE1,0x66,0xEF, -0xFB,0xEF,0xDF,0x04,0xA7,0x84,0x8E,0x6F,0x3F,0x0D,0x67,0x07,0xF3,0xE7,0xF7,0xD9,0x38,0x7C,0x71,0x4B, -0x7B,0xEF,0xD8,0xC7,0x17,0xF7,0x6F,0xE0,0xFF,0xB3,0xB3,0xCE,0x64,0xD4,0xCF,0x2E,0xDE,0xBE,0x78,0xB7, -0x91,0xFD,0xF0,0x2C,0xD9,0x3F,0x3C,0xBC,0x8D,0x27,0x67,0xBD,0x38,0xB8,0x99,0xF2,0xE7,0x9B,0x3C,0xB9, -0x9C,0xE5,0x1F,0xFE,0x78,0xF6,0x32,0xEC,0x9D,0x62,0x74,0x19,0x76,0xEE,0x3F,0xDD,0x3F,0x0F,0xC7,0xC7, -0xB7,0x27,0x11,0xBA,0x3B,0x39,0xF1,0x3F,0xC5,0x9D,0x08,0xFD,0x70,0x3A,0x8E,0x50,0xDA,0xBF,0x08,0x86, -0xBD,0xCE,0xC1,0xC6,0x70,0x8B,0xA7,0xE7,0x07,0xF4,0x70,0xF3,0xE3,0xE8,0xF9,0xFE,0x7E,0x9F,0x4D,0xFE, -0xD8,0xF8,0xF9,0x66,0xFB,0xE7,0x8B,0xED,0xB7,0x93,0xB7,0xC3,0xD1,0xD6,0xFE,0x05,0xBA,0x1C,0xBD,0x1D, -0x4E,0xB7,0x26,0x61,0xF8,0xEA,0xD5,0xF8,0xA7,0x60,0xF8,0x29,0x1D,0x9E,0xCE,0x87,0x77,0x47,0x17,0xC3, -0xE3,0xCE,0xAB,0xA3,0x37,0x4E,0x7F,0x74,0xB9,0x39,0x7B,0xB3,0x3D,0xDF,0xCF,0x8E,0x86,0x6F,0xF7,0x9D, -0xD9,0xCB,0x4E,0x8C,0x3E,0xB0,0x83,0xCD,0xD9,0x8B,0x6D,0x72,0x76,0x89,0x86,0x2F,0xF6,0x5F,0x66,0xE4, -0x3C,0x3E,0xBE,0x70,0x86,0xC3,0xD7,0xA7,0xF8,0xA7,0x83,0x4D,0xF4,0x6A,0xC3,0x7F,0x0F,0xF2,0xBF,0xF8, -0x05,0x7F,0xDF,0x19,0xCE,0x4F,0x9D,0xC8,0xFF,0x01,0x8F,0x8F,0x2F,0xC7,0x52,0x3B,0x47,0xD1,0x4F,0xE3, -0x9B,0x51,0xFE,0x36,0x3E,0x38,0x30,0x35,0xCA,0xBA,0x29,0x4E,0x30,0xE2,0xCD,0x58,0x55,0x39,0x07,0xD8, -0x56,0x6D,0x85,0x85,0x93,0x8A,0xC8,0xDA,0x0D,0xB0,0xCF,0x52,0x24,0xF7,0x00,0x02,0x4E,0x85,0x89,0x2D, -0x7F,0x94,0xA1,0x56,0x53,0x91,0x56,0x43,0x34,0xD0,0x8C,0xD2,0x11,0x62,0x42,0x01,0xE7,0x96,0xF8,0xB8, -0x9B,0x90,0x3B,0x1C,0x75,0x25,0xB2,0xEB,0x98,0x0B,0xE9,0x6C,0xE5,0x36,0x44,0x49,0xAC,0x4E,0x2D,0x17, -0x82,0x8F,0xC8,0x17,0x29,0x0D,0x5C,0x26,0x86,0xCF,0xC2,0x77,0x58,0xDA,0x9D,0xE4,0xB3,0x29,0xB9,0x03, -0x6F,0x9E,0x12,0x4A,0x38,0xD6,0xFA,0xD9,0xF2,0xC7,0xF2,0x98,0x1B,0x7C,0x3F,0x4D,0x51,0x8C,0x33,0xED, -0x6F,0x1E,0xB3,0x98,0xA6,0x2C,0x5E,0xD4,0x11,0x90,0xB3,0xC6,0x64,0xB9,0xFC,0x2A,0x4F,0x22,0x86,0x80, -0xCD,0x15,0x61,0x43,0x05,0xD3,0x54,0xB8,0x55,0x15,0x54,0x4B,0x37,0xDB,0x00,0xB7,0x6C,0xB9,0xF5,0xC6, -0x56,0xED,0xBA,0x5D,0xB9,0x57,0x04,0xFB,0xA6,0xE8,0x1B,0xF1,0xA0,0x11,0xEB,0xBE,0xE2,0x20,0xD2,0xD5, -0x97,0xAB,0x4B,0x54,0x64,0xA8,0x09,0x50,0x51,0xBA,0xBF,0xED,0x34,0x42,0x05,0xEC,0x5B,0x7E,0x85,0x65, -0x9A,0xB7,0xBE,0x4A,0x52,0xD0,0x06,0x9E,0x7F,0xE1,0xCC,0x8A,0xA7,0xF6,0xD9,0x70,0x66,0x95,0xEE,0x14, -0x0B,0x75,0xCE,0x93,0xB4,0x56,0x47,0x3F,0xE6,0x0A,0xC0,0x15,0x35,0xCF,0x04,0x35,0x5F,0x94,0xEA,0xE6, -0xF6,0x37,0x05,0x0D,0x5B,0xCE,0x37,0x4B,0x5B,0xED,0xAD,0xF2,0x71,0xDF,0x81,0x3F,0x65,0xDA,0x7D,0x5E, -0x93,0x30,0x79,0x26,0xFE,0x96,0x04,0xC2,0x39,0x4D,0xE0,0xE6,0xD6,0x0F,0xCF,0x83,0x49,0x09,0x54,0x8C, -0x3D,0x0D,0x4F,0x51,0x40,0xF2,0xCC,0x7D,0xE6,0x7C,0xA3,0xE4,0x09,0xEA,0x03,0xDE,0x4B,0xE5,0xAA,0x49, -0x6D,0xB1,0x59,0x42,0xA8,0xB6,0x91,0x69,0x42,0xDF,0x28,0xAD,0x0C,0xB3,0x99,0xEA,0xC1,0x45,0x6A,0xD3, -0x14,0xFB,0x17,0xCE,0x37,0x0B,0x9E,0x22,0x9A,0x4D,0x59,0x1A,0xBB,0x29,0xE3,0x88,0x63,0xC3,0x31,0x97, -0x7D,0x67,0x15,0x60,0x73,0xDB,0x09,0xF0,0xCC,0x5C,0x2E,0x77,0x7A,0x32,0xA9,0x41,0xC5,0xE3,0xA7,0x24, -0xE1,0xBB,0xD3,0x9C,0xFA,0x82,0x06,0x6D,0x86,0x0D,0x6C,0x2E,0x52,0xCC,0xF3,0x94,0x6A,0x01,0xF3,0x73, -0x61,0xEC,0xF6,0x0C,0xF3,0x23,0x65,0xF7,0xFB,0xF7,0x2F,0x02,0xD8,0xB1,0xAC,0x10,0xFC,0x95,0x08,0xE0, -0xC0,0x70,0x5F,0x81,0xD3,0xDA,0x0F,0x09,0x06,0x0E,0x79,0x85,0xEF,0x0D,0x6C,0xF1,0x0A,0x11,0xDB,0x62, -0xDD,0x30,0xCA,0x6D,0x00,0xA4,0xE6,0xE2,0x16,0xA4,0x80,0x3C,0x7C,0xC5,0xAF,0x2D,0xE2,0x51,0xF8,0x18, -0x14,0xDB,0xC9,0x2E,0xDA,0xEB,0xF6,0x5D,0xB4,0x4B,0xF6,0xFA,0xE0,0x5F,0x66,0xE3,0x7C,0x75,0xF3,0x4F, -0x24,0xC2,0x17,0x85,0xCB,0x89,0x8B,0xEA,0xD3,0x7A,0x06,0x39,0x0B,0x41,0x90,0xE6,0x77,0xC6,0xE9,0x48, -0x33,0xAE,0xBE,0xEF,0xFE,0x70,0xFD,0xB9,0x7F,0xE5,0x74,0xFB,0xD7,0xE6,0xEF,0x66,0x8F,0xD8,0x1C,0x67, -0xDC,0xA0,0xE8,0x96,0xCC,0x10,0xD8,0xB9,0x2D,0xF2,0xED,0x70,0x06,0x5C,0x98,0x83,0xEA,0x0E,0xA2,0xC8, -0xDB,0x70,0x9C,0x35,0x0F,0xEF,0xA1,0x08,0x03,0xE9,0xFA,0xD1,0xF9,0xF9,0xE9,0xF9,0x95,0xDE,0xC1,0x1D, -0xFD,0xDA,0xD5,0xF4,0x0E,0x35,0x5D,0x6E,0x43,0xD1,0x99,0xE2,0x2C,0x3C,0x43,0x3C,0x34,0x02,0xFB,0x16, -0x45,0x39,0xC8,0x42,0x10,0xC2,0x3C,0x10,0x9C,0x3E,0xC9,0x39,0x67,0x54,0x37,0x07,0xCC,0x26,0x94,0xE2, -0xF4,0x78,0xFC,0xE6,0xB5,0xA7,0x9F,0x33,0xC6,0xB5,0x43,0x92,0xEA,0x96,0xD4,0x86,0x8D,0x92,0x04,0xD3, -0xE0,0x20,0x24,0x51,0x60,0x30,0x73,0x20,0xD0,0x7D,0x89,0x2E,0x0B,0x11,0xC0,0xF6,0x6D,0x55,0xB2,0x4E, -0x81,0x6B,0xDD,0xF2,0xED,0x38,0x8F,0x38,0x49,0x22,0xEC,0xAD,0xF5,0x61,0x46,0x51,0x0C,0x30,0x91,0x86, -0x05,0x8C,0x04,0x9E,0xAE,0x82,0x51,0x11,0xC2,0x56,0xDD,0xE2,0xAB,0x5B,0x82,0xD6,0x2D,0x41,0x13,0x37, -0x01,0x8E,0x74,0x2B,0xB0,0xEB,0x5A,0x19,0x66,0xC5,0x55,0x25,0x2C,0xC0,0x53,0x04,0x94,0xBC,0x13,0x5C, -0x43,0xE9,0xBD,0xEA,0xA2,0x40,0x5D,0x94,0xB5,0xA5,0x91,0x35,0xA5,0xA1,0xD4,0xB8,0x0A,0x39,0x53,0xC8, -0x69,0x1B,0x39,0x6D,0x22,0x1F,0x48,0x6B,0x58,0x85,0x9C,0x2A,0xE4,0xA8,0xC5,0x62,0x24,0x59,0x54,0x11, -0xAE,0x2B,0xA4,0x09,0x0C,0x01,0x76,0xD4,0x64,0x13,0x66,0xE0,0x90,0x68,0x12,0xE1,0xC0,0x5B,0x73,0x60, -0x26,0x8A,0x6A,0x6F,0xC3,0x59,0x71,0x47,0xA4,0xEE,0xC8,0x5B,0x77,0xE4,0xF2,0x0E,0x92,0x80,0x10,0x21, -0x6F,0xE8,0x56,0x2E,0xA5,0xD6,0x5E,0x51,0xD7,0xF9,0x21,0xF6,0x6F,0x26,0x4C,0xAE,0xC8,0xB1,0xB8,0x71, -0x0D,0xC9,0x33,0x13,0x79,0xA6,0x6C,0x45,0xE0,0xCC,0xC4,0x06,0x2F,0xF7,0xC4,0xC9,0x56,0xD2,0x64,0x5F, -0x1B,0x46,0xDC,0xD6,0x25,0x42,0xDC,0x96,0x52,0xDC,0xDA,0x36,0x42,0xB7,0x58,0x5B,0x25,0xA5,0xD8,0x5C, -0xB1,0x98,0xAC,0x5A,0xCC,0x4D,0x2B,0xB5,0x19,0xF5,0x23,0xE2,0xDF,0x78,0xB5,0x1B,0x9B,0x0B,0xA3,0x39, -0x11,0x94,0x70,0x8F,0xE2,0xB9,0xF6,0x13,0x84,0xA5,0x43,0xC4,0xD1,0x80,0x17,0xC7,0x18,0x85,0xDD,0x60, -0x38,0x08,0xBA,0x51,0xF0,0xC2,0xCC,0x46,0x01,0x2C,0x9F,0x5D,0x8C,0x75,0x4B,0xEF,0x09,0xAD,0xE8,0xE0, -0xC9,0xC4,0x5C,0x9A,0x95,0x2F,0x59,0x54,0x46,0xF5,0x8B,0x34,0xAA,0x97,0x60,0x50,0x5A,0xDC,0xD2,0x8A, -0x57,0xD2,0x44,0xA6,0x46,0x25,0xD2,0x92,0x28,0xD1,0x19,0x8A,0x3B,0x8C,0x42,0xFF,0xBA,0x09,0x61,0x4F, -0x19,0xAF,0x61,0x5A,0xA8,0x4D,0x34,0xAA,0x88,0x4E,0xD1,0xBC,0x34,0x12,0x75,0xFF,0x40,0xB9,0xB7,0x03, -0xD9,0x97,0x66,0x5C,0xC3,0xDE,0x96,0xF3,0xC3,0xF6,0x00,0xF4,0x63,0x28,0xC7,0x05,0xC0,0x0E,0xB7,0xC1, -0xB4,0x66,0x3C,0x1C,0xF8,0x1D,0xAF,0x90,0x4A,0xE0,0x71,0x3B,0xCB,0x27,0x19,0x4F,0x21,0xB7,0x19,0xBE, -0xE5,0x77,0xB0,0xD9,0xBE,0x46,0xEF,0x30,0x2B,0x30,0x2D,0xD6,0xE9,0x2C,0x1F,0x08,0xE8,0x74,0xD4,0x90, -0x10,0x12,0x12,0xC2,0x51,0x86,0x35,0x6A,0xE3,0x3B,0xEC,0x1F,0xB0,0x38,0x46,0xE2,0x88,0x0C,0x94,0x5C, -0x4C,0x74,0x73,0x69,0xB1,0x95,0x92,0x79,0x22,0x64,0x59,0xD9,0x53,0x72,0x84,0x10,0xE8,0xF9,0xB6,0xF0, -0x95,0xAC,0x60,0xEA,0xCB,0x5A,0x2E,0x03,0x91,0x42,0xB9,0x72,0xAE,0xAD,0x4A,0x71,0x2B,0xB9,0xAA,0xF5, -0x2E,0xAD,0xAE,0x15,0x7F,0xCC,0x5A,0xD3,0x02,0xD6,0x8E,0x6B,0x35,0x54,0x5F,0x2E,0x2D,0x5F,0xD0,0x1F, -0x22,0x3A,0xC3,0x7F,0x9F,0x81,0x9A,0x46,0xE9,0xA2,0x16,0x85,0xE4,0xB1,0xE7,0xFE,0x6A,0x1B,0x57,0xBF, -0xD9,0xD7,0x1D,0xD3,0xDC,0xFB,0xBA,0x27,0x25,0x6C,0x70,0xF3,0xAA,0x7F,0x6D,0x21,0x00,0xDB,0xDF,0x99, -0xBF,0xDA,0x12,0xDC,0x82,0x0D,0x6E,0x19,0x09,0x34,0x71,0x93,0xF0,0x6C,0x36,0xD5,0xD0,0xFA,0xBA,0x01, -0x26,0xD7,0x32,0xD6,0x0E,0xEF,0xE8,0x36,0xE4,0x8D,0xE5,0xF2,0x61,0x36,0x1B,0xA7,0x18,0xAB,0x74,0x59, -0x01,0x24,0xF5,0xC0,0xF3,0xC3,0x60,0x55,0x71,0x8D,0xAD,0x1A,0x0A,0x8B,0x32,0xDD,0xDB,0x45,0x25,0xE1, -0xE9,0x94,0x51,0x30,0xD9,0xE4,0xE1,0xB2,0x6C,0xF1,0xF4,0x56,0x0C,0xF9,0x76,0x87,0xC4,0x33,0x2D,0x4B, -0x7D,0x4F,0xA9,0x62,0x4F,0xFC,0xE3,0x7D,0x2B,0xD2,0xDC,0xFA,0xEF,0xFE,0xC4,0xD3,0x3B,0xA0,0x5F,0x6C, -0x53,0x36,0x37,0xCC,0xCE,0xB7,0xBA,0x26,0x4F,0xF4,0xF4,0x18,0xDD,0x15,0x8D,0xBE,0xA8,0x44,0x06,0x1A, -0xCC,0xAB,0xCE,0x54,0x2D,0xA8,0x16,0x1B,0xE5,0x9C,0x0D,0xB4,0xB2,0xC2,0x51,0x2D,0xA6,0xAE,0xF5,0x76, -0xBF,0xAD,0x65,0x80,0x80,0x75,0xA4,0x74,0x42,0x64,0x10,0xCB,0x45,0xC8,0xC3,0xAD,0xE8,0x43,0x0A,0xB7, -0x53,0x51,0x91,0x00,0x9C,0x3C,0x48,0x9B,0x56,0x66,0x20,0x73,0xCF,0x68,0x25,0xDA,0x1D,0xD1,0x94,0xEC, -0x9E,0xA9,0x6A,0x73,0xA7,0x27,0x67,0xFA,0x2A,0xC7,0x00,0xC9,0x53,0x40,0xB7,0xAA,0xFA,0x66,0xC2,0x82, -0xFB,0x46,0x55,0x94,0xED,0xDF,0x1F,0x44,0x28,0xCB,0x4E,0x50,0x0C,0xF7,0xFB,0xB1,0x6E,0x16,0xA6,0xB4, -0xEB,0xAC,0xAF,0xB7,0x91,0x52,0x1C,0x43,0x13,0xA4,0xA8,0xC2,0x10,0xCA,0xDC,0x00,0x0E,0x5E,0x5F,0x5F, -0x45,0x98,0x78,0x50,0xFB,0x12,0x55,0x14,0xDC,0xB5,0x0C,0x7F,0xFF,0x13,0x75,0x2A,0x47,0x3E,0x25,0xD5, -0xC8,0xB4,0x04,0xF5,0x9F,0x3F,0x2B,0xD9,0x46,0x8F,0x59,0x38,0x64,0x73,0x2A,0x28,0xAC,0xD8,0x88,0x56, -0x08,0xB7,0xCE,0x11,0x95,0x55,0x07,0x05,0x5E,0x77,0x9A,0x2A,0xA3,0x6E,0x18,0x60,0x09,0x03,0xD3,0xC3, -0x4B,0xF3,0xFF,0x52,0x8B,0xAF,0xD4,0xF2,0x88,0xE1,0x15,0x4C,0x1E,0x84,0x50,0xAC,0xFD,0x05,0x87,0x71, -0xEB,0x86,0xD8,0xF6,0xC5,0xE7,0x09,0x0B,0x64,0x78,0x31,0xAD,0xDC,0x88,0xAD,0xFF,0x51,0x83,0x49,0x4B, -0x83,0xED,0x54,0x9E,0xAC,0xD0,0x1A,0x8E,0x30,0xC7,0x15,0x47,0xC9,0x4A,0x8E,0xD2,0xFF,0x47,0xF2,0xB5, -0xDF,0x13,0x55,0xB8,0x37,0x3D,0x3F,0x20,0xB7,0x3A,0x64,0x40,0xAF,0x7D,0x02,0xF4,0x30,0x2C,0x8A,0xC6, -0x2C,0xD9,0x7B,0x62,0xDD,0xAD,0xD6,0x8B,0x41,0x49,0x66,0xBD,0xC5,0xF2,0x57,0x1E,0xFA,0x1A,0x4F,0xF9, -0xDE,0x53,0x80,0xA7,0x8F,0xAD,0xF7,0x58,0x81,0x87,0x6D,0x10,0x1E,0xAC,0xFE,0xD2,0xF1,0xAD,0xAC,0x9A, -0x5D,0x76,0x18,0xE8,0xC2,0x2F,0x85,0xE4,0x09,0x21,0x59,0x64,0x65,0x40,0xAE,0xD7,0x45,0xB7,0xEC,0x05, -0x1D,0x3D,0xB9,0xAB,0xD7,0x38,0x4B,0xBC,0x4C,0x2D,0x21,0x83,0x58,0xFC,0x81,0x52,0x56,0x85,0xC9,0xD4, -0x23,0x36,0x9B,0x4E,0x33,0xCC,0xDF,0x8B,0x10,0x6D,0x45,0xD5,0xFC,0x58,0x86,0xE8,0x01,0x4C,0x69,0xCC, -0xF2,0x0C,0xB3,0x9C,0xB7,0x8B,0xB9,0x8A,0x99,0x9D,0xE0,0xF3,0xE7,0x6A,0xB2,0x1B,0x74,0xD2,0x7A,0x7A, -0xB9,0x93,0x35,0x26,0xBB,0x59,0x27,0x02,0x4F,0xFA,0x8F,0x2D,0x85,0x34,0x2D,0x85,0x89,0x0C,0x61,0x31, -0x65,0x29,0x69,0x6D,0xEB,0xA9,0x28,0xB5,0x51,0x23,0x86,0x09,0x83,0xD6,0xCD,0xB2,0x8B,0x6C,0xBA,0x32, -0xB2,0xD2,0xB6,0xA7,0x3F,0x55,0xCE,0x06,0x86,0x38,0x15,0xA4,0xFE,0x9A,0xCD,0x71,0x7A,0x80,0x32,0x6C, -0x40,0x25,0x50,0xC5,0x61,0x09,0x35,0xDD,0x6C,0xE5,0x2E,0x5A,0x40,0x7D,0xF5,0x09,0xE1,0xE5,0x8B,0x61, -0x01,0x36,0x88,0xB8,0xB0,0xE2,0x24,0x73,0xA9,0xA8,0x63,0x54,0xB4,0x24,0x20,0xA1,0xBC,0x45,0x23,0xB6, -0xC5,0x0B,0x0A,0xC8,0xED,0x50,0x75,0x60,0x50,0xBF,0x62,0xB0,0x16,0x96,0x9C,0xA5,0x2C,0x41,0x33,0x24, -0xF6,0xC1,0x1A,0x38,0x98,0x3C,0x5C,0x9C,0xD6,0x28,0x39,0xEA,0x7E,0xBE,0xDB,0xF7,0xC0,0x5E,0xE5,0x6B, -0xC9,0xE9,0xD4,0x80,0xE2,0xA4,0xD1,0x67,0x07,0x55,0x39,0x2F,0xAB,0xA2,0xC7,0x45,0x11,0x96,0x85,0x0F, -0x14,0x58,0x0F,0x6B,0x1F,0x6E,0x66,0x73,0xC2,0xFD,0x50,0x04,0x11,0x1F,0xF8,0xD1,0x39,0x74,0x55,0xAE, -0x1C,0x85,0x3C,0xAE,0x47,0x51,0x31,0xFC,0x98,0x15,0x03,0x3F,0x2B,0x47,0x77,0x0D,0x20,0xA3,0x25,0x98, -0xD1,0x69,0x31,0x24,0x94,0x94,0xE7,0x94,0xC0,0xF2,0x33,0x49,0x8A,0x51,0x12,0x96,0xA3,0x10,0xDF,0x55, -0x78,0xAC,0x84,0x06,0x58,0x77,0x95,0x14,0xD6,0x9C,0x65,0x31,0xE8,0xD7,0xEC,0x67,0xFF,0x1D,0xFB,0x09, -0x9D,0x95,0xCC,0x24,0xE5,0x68,0x46,0x4A,0x56,0x26,0x71,0xF2,0x45,0x42,0xD2,0x7F,0xDB,0x56,0x1D,0x1E, -0xBD,0x3E,0x1A,0x1F,0x35,0x2B,0xEC,0xE6,0xEB,0x0B,0xFF,0xAB,0xE7,0x0D,0x6E,0xBA,0xC6,0xDF,0x48,0x6A, -0x50,0xD7,0x9A,0x66,0xEB,0x81,0x26,0x6A,0x3D,0xFC,0xD4,0x19,0xA5,0x78,0x51,0x01,0x39,0xAD,0xAF,0x37, -0x08,0x91,0xEB,0xF5,0xA3,0x11,0xB5,0x74,0x55,0xE6,0x4A,0xAF,0x46,0x4F,0xD5,0x83,0xC8,0xAC,0x3A,0x2E, -0xE2,0xD1,0x22,0xA2,0x58,0xA2,0xF9,0x22,0xBB,0x3E,0x74,0x5D,0x1D,0x53,0x3D,0x96,0x78,0x9E,0x47,0xAF, -0xFC,0x6B,0xD9,0x70,0xAF,0xAF,0xA3,0x76,0xCD,0x68,0x38,0x96,0x04,0x8A,0x0B,0xE5,0x48,0xB6,0xFA,0xC0, -0x0B,0x90,0xE5,0x58,0x2F,0x47,0xA7,0x27,0x76,0x82,0x52,0x70,0x48,0x6A,0x36,0xA3,0x51,0xAE,0x18,0x6C, -0x4B,0xFB,0xE7,0xA3,0x46,0x33,0x23,0xBF,0x4F,0x73,0xF9,0xD2,0x8A,0x0C,0x71,0x9C,0xCA,0xD0,0xA2,0xEC, -0x29,0x1E,0x3E,0x21,0xC7,0xC5,0x65,0xBE,0xAB,0xC3,0x55,0xDC,0xCC,0x16,0xFC,0x36,0x7F,0xA2,0x5F,0xE7, -0x21,0xC9,0x9A,0x4D,0x5C,0x2B,0x32,0xFC,0x4D,0x8D,0x2D,0xCB,0x91,0x3A,0xEE,0x61,0x3F,0xA2,0xBE,0xE9, -0x55,0xCA,0x91,0xFD,0x66,0xDD,0x97,0xB0,0xDA,0x1C,0x75,0x48,0x61,0x84,0xEA,0x16,0xFD,0xA7,0x1E,0x42, -0x4B,0x0F,0xA1,0x8F,0x03,0x04,0xBE,0x6B,0x79,0x7B,0x75,0xCB,0x60,0x02,0x94,0xDD,0x0C,0xAA,0x28,0x02, -0x10,0x19,0x43,0x5A,0x80,0x8F,0x99,0x5C,0xFF,0x88,0x6E,0x91,0x7A,0xF7,0xAC,0xA1,0xAB,0x43,0x85,0xDC, -0xEE,0xFF,0x0E,0xA3,0x6A,0x67,0x3B,0x10,0x65,0x30,0x7C,0x1C,0x4F,0x78,0x2B,0x3C,0xD5,0x31,0xAB,0x19, -0x9D,0xC0,0x5D,0x97,0x85,0x62,0x79,0x43,0xBE,0x0D,0xD7,0x03,0x83,0x7C,0xCA,0xF7,0x9A,0x71,0x58,0x61, -0x34,0xAD,0x67,0x75,0xB7,0xD7,0xEE,0x07,0x57,0xD7,0x19,0xD2,0xFF,0xF0,0x5E,0x66,0x67,0xE5,0xCB,0x07, -0xB8,0x79,0x63,0xA6,0x83,0x41,0x64,0x60,0x86,0x18,0xA5,0x23,0xD1,0x64,0xAB,0x44,0xB2,0x54,0x0A,0xF4, -0xA4,0xEB,0x1A,0x20,0xB1,0x9E,0x4C,0x19,0x36,0xC8,0x01,0xF6,0x57,0x40,0x0A,0x40,0xEA,0x31,0x38,0xB2, -0xB1,0x88,0x60,0x11,0x41,0xBB,0xC8,0x28,0xBB,0x41,0xA4,0xB9,0x9D,0x00,0x84,0x14,0x5F,0xC3,0x43,0x57, -0x6C,0x15,0x7A,0x90,0x07,0xD5,0x10,0xA5,0x7D,0xB3,0x78,0x46,0xAC,0x1F,0x71,0x70,0xE9,0x36,0x85,0x7D, -0xAC,0x49,0xB4,0x4C,0x14,0x1E,0x23,0x9C,0x65,0x92,0x6E,0xC1,0xD7,0x1B,0x16,0x00,0x5B,0x80,0xD6,0x8B, -0x61,0x24,0x2E,0x02,0x0E,0x05,0x60,0x1C,0xE2,0xB8,0x80,0x70,0x18,0x0A,0x10,0x12,0xA0,0xAF,0xA5,0xA8, -0x46,0xB2,0xC0,0x23,0x74,0xE6,0xF5,0x7B,0x8E,0xF5,0xF8,0xD8,0x8B,0x0C,0x8F,0xD8,0x94,0x8F,0xD1,0x24, -0x33,0xD6,0x1C,0x73,0xC5,0x0E,0x00,0x8D,0x20,0x9A,0x18,0x1B,0xE6,0x6A,0xF4,0xF7,0x2C,0xBD,0xC1,0x69, -0x81,0x2C,0x2A,0x33,0x28,0xCC,0x22,0x51,0x9C,0x0D,0x41,0xEA,0xB7,0xF8,0x35,0xA1,0xB8,0x06,0x8E,0x42, -0x36,0x3F,0x4B,0x09,0xE5,0x6F,0x64,0x57,0x6D,0xAC,0xF5,0xA5,0x9E,0xD4,0x63,0x8F,0x8C,0x40,0xE5,0x2B, -0xD0,0x42,0x04,0x33,0xB7,0xF5,0x16,0x64,0x4D,0x40,0x5D,0x10,0x5B,0xDD,0xC5,0x9C,0x50,0x57,0x3F,0xE0, -0x69,0xD4,0x1D,0xE9,0x56,0x8C,0x7C,0x98,0xA8,0x3D,0x30,0x5F,0x5A,0xC2,0x69,0xDD,0x66,0x30,0x59,0xAB, -0x27,0x75,0xA1,0xBE,0xF2,0xA1,0xAC,0x7E,0xF7,0x11,0xC0,0xFD,0x88,0x4D,0x0C,0xF1,0xA8,0xBF,0x10,0x0E, -0xEF,0xD2,0xA5,0x29,0xB2,0xD3,0x97,0xDF,0xB4,0x7C,0x88,0xBA,0xDC,0xC2,0x8D,0x27,0xB9,0x8E,0xAE,0x8B, -0x97,0x2E,0xC0,0x43,0xC1,0x29,0x8D,0xEE,0x5D,0xC8,0x8A,0x7F,0xC1,0x75,0x4E,0x03,0xF6,0x25,0xAE,0x3F, -0x3C,0xE0,0xFA,0xC3,0x2A,0xAE,0x71,0x5B,0x5B,0x30,0xB9,0x80,0x63,0xDF,0x20,0x8A,0x66,0x38,0x85,0x05, -0x71,0x09,0x28,0xE0,0x9F,0x51,0x96,0xE2,0x2F,0x53,0x36,0x0A,0xC9,0x94,0x3F,0xA4,0x4F,0xAD,0xFE,0x3B, -0x2A,0x53,0xFC,0x04,0x95,0x65,0x21,0x5B,0xA5,0x8D,0xBF,0x7E,0x68,0x92,0x4E,0xED,0x81,0x0A,0x9B,0xEE, -0xFA,0x2F,0xFC,0xAE,0xBE,0xF1,0xCB,0xD9,0x53,0x7C,0xB8,0x78,0x69,0x05,0xC2,0x26,0x80,0x83,0x46,0x7E, -0x62,0x74,0x1F,0x3A,0x85,0xD7,0xC0,0x82,0xA1,0xCC,0x11,0x7B,0x8B,0xA5,0xC5,0x3D,0x63,0x4E,0x80,0xFD, -0x39,0x30,0xE7,0xCB,0xEA,0xD7,0x0E,0x21,0x43,0x82,0x10,0x80,0x48,0xC8,0xB3,0xBD,0xAB,0xBD,0xF5,0xEB, -0x0E,0x24,0x28,0x0F,0x3E,0x4C,0x0F,0x06,0xEB,0xD7,0xDF,0x99,0xBD,0x19,0x69,0x94,0x44,0x32,0xD5,0x81, -0x5C,0xAF,0xE8,0xB5,0x87,0x96,0x10,0xC2,0x9A,0xA9,0xB0,0x0A,0xAC,0x16,0x96,0x6F,0x86,0xF0,0x11,0x21, -0x3A,0x83,0x0F,0x19,0x3B,0x60,0x37,0xF5,0x1A,0x4F,0x79,0x3A,0x87,0x7F,0x75,0x08,0xDB,0x83,0x82,0xAC, -0x00,0x4F,0x09,0xC5,0x32,0x7A,0xA9,0xA1,0x55,0x00,0x84,0x18,0x48,0x2A,0x21,0xE5,0xD8,0x12,0x63,0x91, -0xFD,0xC8,0x4C,0x08,0xD2,0xD0,0x27,0x28,0xC3,0x22,0xD1,0xEB,0x32,0x61,0x3F,0x02,0xCF,0x65,0x20,0x69, -0x6C,0x58,0xF1,0x0D,0x99,0x9E,0x17,0x23,0x1D,0xB8,0xE4,0x8D,0x20,0xAC,0xD8,0x81,0x78,0xAB,0x06,0x0F, -0x42,0x7B,0xDD,0xF5,0x28,0xB0,0xB9,0x04,0x17,0x53,0x0C,0x04,0x7A,0x95,0xCE,0x7F,0x79,0xF3,0xFA,0x98, -0xF3,0xE4,0x5C,0x69,0x14,0xCE,0x6A,0x2F,0xD4,0x86,0x66,0x2E,0x78,0x7A,0x5F,0x16,0x86,0x22,0x50,0xA8, -0x50,0xF7,0xCB,0xE9,0xE4,0x23,0xF6,0x81,0x93,0x37,0x19,0xE4,0xD0,0x0D,0x5B,0xA0,0x8F,0xC7,0x67,0xF6, -0xB6,0xED,0x40,0xA5,0x02,0xFA,0xF4,0x43,0x61,0x31,0xCB,0x7F,0x84,0xBC,0xF9,0xCF,0x90,0x09,0xC4,0xFB, -0x0C,0x02,0x7A,0x89,0xDF,0xC6,0x0D,0x53,0x36,0x97,0x68,0x47,0x69,0x2A,0x8C,0x61,0x1C,0x92,0x4C,0x9B, -0xC0,0x62,0x86,0x53,0x2D,0x60,0x38,0xD3,0x28,0xE3,0x5A,0x96,0x27,0x09,0x4B,0xF9,0x03,0x79,0xD8,0x7A, -0xF9,0x48,0xF3,0x36,0xC7,0x39,0x0E,0x8A,0x65,0x9C,0x36,0xE5,0x22,0x6B,0x3A,0x58,0x07,0x77,0xBB,0xBA, -0x2E,0x2A,0xBC,0x9C,0x52,0x91,0x7F,0xD6,0xFA,0x6A,0x0E,0xDC,0x85,0x70,0xAA,0x47,0xF3,0x28,0x5A,0x0E, -0x1E,0x9C,0x05,0xFD,0x20,0xE3,0x4C,0xE8,0xC3,0x5B,0xFC,0x5E,0xB8,0x96,0xFB,0xE0,0x1D,0xBC,0x7D,0xAA, -0x63,0xAD,0x19,0x6B,0x58,0x23,0x34,0xE3,0x88,0xFA,0x42,0x8D,0x4A,0x16,0x66,0x59,0xDD,0x89,0xED,0x03, -0x11,0x17,0xA4,0xE1,0x3C,0x59,0x52,0x48,0xCE,0xA8,0xA7,0xEB,0xA2,0xD0,0xC3,0xA2,0x5E,0x46,0x71,0xD6, -0x38,0xB6,0xCA,0x14,0x26,0xF5,0x4A,0xF0,0x40,0x7E,0x7B,0xB1,0x6A,0x7F,0x4D,0x46,0x59,0xDD,0x23,0x80, -0x69,0xE5,0x3E,0x93,0x76,0x3C,0x5D,0x56,0x08,0x7B,0x32,0x64,0x48,0x03,0x8E,0x31,0x0F,0x59,0xB0,0xA7, -0xEF,0xE9,0xAE,0x0E,0xFF,0xAD,0xEB,0x16,0xEC,0xC2,0xD4,0x67,0x01,0xBE,0x38,0x7F,0x01,0xA1,0x34,0x61, -0x14,0x53,0x6E,0x20,0xC8,0x28,0x9E,0xDE,0x79,0x0C,0xA9,0xC8,0xB8,0x42,0xD7,0xE6,0xA0,0x2D,0x6C,0x3C, -0x7F,0xA0,0xCE,0x96,0x32,0x6C,0x46,0x45,0x74,0xBD,0x07,0xE2,0x39,0x7E,0xF4,0xED,0x83,0x45,0x1F,0x77, -0x41,0xE6,0x62,0x4B,0xD0,0x2C,0xB1,0x46,0x80,0x25,0x5C,0xAF,0x16,0xF2,0x53,0x95,0x1D,0xB5,0x7D,0x14, -0x45,0xE2,0xD7,0x12,0x40,0xAB,0xB8,0x2C,0xCF,0x2C,0x71,0x48,0x06,0x0C,0x64,0x78,0x8C,0xEF,0xC0,0xA5, -0x65,0x79,0xA6,0x6C,0xA8,0x68,0x87,0x44,0xAD,0xD6,0x30,0x23,0xD3,0xAA,0x66,0xEB,0xEB,0xDC,0x2E,0xCD, -0xC4,0x28,0x91,0x32,0x91,0x6C,0xE4,0xDB,0xC3,0xD2,0x68,0x32,0x29,0x72,0xF7,0x23,0x69,0x1B,0x6D,0x31, -0x24,0x98,0x1A,0x25,0x0C,0x28,0xCB,0xD3,0x08,0x32,0x84,0xA8,0x5E,0x5A,0xDB,0x32,0x4C,0x03,0xB8,0xC0, -0xFD,0x4B,0x64,0x89,0x4A,0x9B,0x56,0x31,0xE2,0xA9,0xA2,0xBB,0x7D,0x1E,0x2F,0xB4,0x72,0x8C,0x65,0x98, -0x6B,0xFF,0xBC,0xD5,0x92,0x3F,0x4C,0x25,0x2A,0x21,0xF4,0xE0,0xEB,0x8A,0xF9,0xBC,0x0B,0x66,0x15,0x77, -0xE1,0x06,0x65,0x05,0x81,0xBE,0x82,0x42,0xD5,0xED,0x59,0xE2,0x39,0xC5,0x7D,0xE0,0xA2,0xB5,0xFC,0x8C, -0x07,0x3E,0xDA,0x3E,0xA7,0x4D,0x67,0x43,0xDB,0x3B,0x5B,0x0F,0x40,0x68,0xC2,0x52,0x6E,0x40,0x8E,0x83, -0x34,0x58,0xDD,0x56,0x36,0x5E,0xCD,0xB8,0x60,0x27,0x79,0x16,0x1A,0x0B,0x20,0xDD,0xE5,0x96,0x92,0x95, -0x8B,0x2D,0x65,0xB7,0x2E,0xB5,0x4A,0xFB,0x70,0x21,0x75,0xB5,0xE2,0xC7,0xE7,0xCF,0x72,0x56,0x6B,0x1B, -0x66,0x6D,0x85,0x03,0xB3,0xD2,0x89,0xCB,0x8C,0x2C,0x8C,0xFE,0x61,0xAC,0xDA,0xE9,0xA9,0x7E,0xAA,0xFC, -0x3D,0x89,0x46,0x02,0x4F,0x24,0x77,0xBD,0xF8,0xE2,0x08,0x86,0x53,0x88,0x4B,0x36,0x34,0x60,0xD5,0x0F, -0x88,0xF5,0xE2,0x17,0xC4,0x0F,0x71,0x77,0xAB,0x8E,0xD0,0xF3,0xAA,0x7A,0x5E,0x45,0x1D,0xB5,0xC1,0x7B, -0xE2,0x57,0x26,0xBA,0x02,0x43,0xC3,0xAC,0x06,0x76,0x75,0xB7,0xB8,0xD7,0x2A,0x16,0x51,0x76,0x4F,0x7D, -0x11,0x35,0xAB,0x53,0x42,0x10,0x7F,0xAB,0x89,0x56,0x3B,0xCD,0x65,0x4D,0x99,0x78,0x7E,0xD4,0x58,0xF1, -0xAD,0x43,0xB3,0xC6,0x00,0xF2,0xA1,0x47,0x17,0xEC,0x96,0x2E,0xAA,0xC9,0x26,0xBD,0x9A,0x02,0x7B,0xB0, -0xA1,0xDE,0x95,0x27,0xAB,0x01,0xB2,0x24,0x78,0xB4,0xA8,0xAA,0x8A,0x87,0xCB,0x65,0xA3,0x57,0x7D,0xD9, -0xD6,0xFC,0x81,0x50,0xB5,0x99,0xC8,0xAF,0x4E,0xE4,0xFE,0xF6,0xB7,0x29,0x4F,0xA2,0x29,0x8C,0xDD,0x3F, -0x01,0x4B,0x0A,0x87,0xFB,0x35,0x2E,0x00,0x00 +0x1F,0x8B,0x08,0x08,0xE1,0xA1,0xEB,0x5E,0x02,0x00,0x65,0x64,0x69,0x74,0x2E,0x68,0x74,0x6D,0x00,0xB5, +0x1A,0x0B,0x5B,0xDB,0x36,0xF0,0xAF,0x18,0x6F,0x63,0xF6,0xE2,0x38,0x0E,0x50,0xD6,0x3A,0x18,0x16,0x1E, +0xEB,0xBB,0x50,0x12,0xDA,0xD1,0x8E,0xED,0x53,0x6C,0x25,0x56,0xB1,0x25,0xCF,0x96,0x09,0x34,0xCD,0x7F, +0xDF,0x49,0xF2,0x93,0x84,0xEE,0xF1,0x6D,0xA5,0x60,0x49,0xA7,0x3B,0xDD,0x9D,0xEE,0x25,0xD9,0x7B,0x1B, +0xC7,0xA7,0x47,0xE3,0xCB,0xB3,0x13,0x2D,0xE4,0x71,0xB4,0xBF,0x27,0xFE,0x6A,0x11,0xA2,0x33,0x4F,0xC7, +0x54,0xDF,0xDF,0x8B,0x31,0x47,0x00,0xE2,0x49,0x17,0xFF,0x91,0x93,0x1B,0x4F,0x3F,0x62,0x94,0x63,0xCA, +0xBB,0xFC,0x2E,0xC1,0xBA,0xE6,0xAB,0x9E,0xA7,0x73,0x7C,0xCB,0x7B,0x02,0x79,0xA0,0xF9,0x21,0x4A,0x33, +0xCC,0xBD,0x9C,0x4F,0xBB,0x8F,0x81,0x04,0x27,0x3C,0xC2,0xFB,0x27,0xA3,0x33,0xED,0x24,0x20,0x9C,0xA5, +0x7B,0x3D,0x35,0xB2,0x17,0x11,0x7A,0xAD,0xA5,0x38,0xF2,0x74,0x94,0x24,0x11,0xEE,0x72,0x96,0xFB,0x61, +0x97,0x00,0x4D,0x5D,0x0B,0x53,0x3C,0xF5,0xF4,0x1E,0xF2,0xB1,0x0D,0x03,0xBA,0x26,0x96,0xF3,0x74,0x12, +0xA3,0x19,0xEE,0xDD,0xAA,0x39,0x4D,0x02,0x59,0xC8,0x52,0xEE,0xE7,0x5C,0xFB,0x57,0xD8,0xFF,0x00,0x29, +0xE3,0x77,0x11,0x56,0x20,0x25,0xB3,0x9F,0x65,0xBA,0x16,0xE3,0x80,0x20,0xE0,0xC2,0x4F,0xB1,0xD0,0x5A, +0x84,0x26,0x38,0x5A,0x4C,0x19,0xA8,0x29,0x23,0x9F,0xB1,0xDB,0xDF,0x4A,0x6E,0x07,0xB2,0x3B,0x45,0x31, +0x89,0xEE,0xDC,0x0C,0xD1,0xAC,0x9B,0xE1,0x94,0x4C,0x97,0xB6,0x1F,0x2F,0x3E,0x77,0x09,0x0D,0xF0,0xAD, +0xBB,0xED,0x38,0x83,0x84,0x65,0x84,0x13,0x46,0x5D,0x34,0xC9,0x58,0x94,0x73,0x3C,0x88,0xF0,0x94,0xBB, +0x8F,0x80,0xC2,0x84,0xA5,0x01,0x4E,0xDD,0x7E,0x72,0xAB,0x01,0x88,0x04,0xDA,0x37,0x3B,0x3B,0x3B,0x83, +0x09,0xF2,0xAF,0x67,0x29,0xCB,0x69,0xD0,0xF5,0x59,0xC4,0x52,0xF7,0x9B,0xE9,0x23,0xF1,0x33,0x08,0x48, +0x96,0x44,0xE8,0xCE,0xA5,0x8C,0x62,0xC0,0xBD,0xED,0x66,0x21,0x0A,0xD8,0xDC,0x75,0x34,0x47,0xEB,0x3B, +0x40,0x24,0x9D,0x4D,0x90,0xE1,0x58,0xE2,0xC7,0xDE,0x31,0x07,0x7F,0x8B,0x5F,0x35,0x3C,0xC7,0x64,0x16, +0x72,0xF7,0x47,0xC7,0x11,0xFC,0x6B,0x79,0xB4,0x88,0x48,0xC6,0xBB,0x52,0x39,0x6A,0x3D,0xCE,0x12,0xD7, +0x91,0xAC,0xC3,0x23,0x46,0xE9,0x8C,0x50,0x68,0x24,0x28,0x08,0x08,0x9D,0xB9,0x0A,0x2D,0x22,0x8B,0x4A, +0x5A,0xD8,0x07,0xC4,0xC9,0x0D,0x1E,0xC4,0x84,0x76,0xE7,0x24,0xE0,0xA1,0xBB,0xEB,0x00,0x17,0x7E,0x9E, +0x66,0x20,0x53,0xC2,0x08,0xE5,0x38,0x95,0x68,0x59,0x82,0xE8,0x42,0x89,0x2A,0x14,0x50,0xC9,0x49,0x28, +0xEC,0x28,0xEE,0x4E,0x22,0xE6,0x5F,0x57,0x2B,0xED,0x26,0xB7,0xC5,0x5A,0x6E,0xC8,0x6E,0x70,0xBA,0xA8, +0xD5,0x25,0xB1,0x5B,0xC0,0x16,0x69,0x8C,0xF1,0xD2,0xE6,0x37,0x39,0x40,0x2D,0xF9,0x04,0x29,0x0B,0xAA, +0x4D,0x91,0xDA,0x82,0x17,0x28,0x84,0x26,0x39,0x5F,0xAC,0x6E,0x25,0x4B,0x90,0x4F,0xF8,0x9D,0xEB,0xC8, +0x69,0xD2,0x42,0xDC,0x1D,0xC7,0xD1,0x84,0xC2,0xB5,0x77,0x38,0x0D,0x10,0x45,0xD6,0x30,0x25,0x28,0xB2, +0x46,0xB5,0xCA,0xBB,0x31,0xFB,0xDC,0xCD,0xA1,0x0D,0xFD,0x08,0xFB,0x5C,0x69,0x18,0x36,0x61,0x72,0x4D, +0xF8,0x2A,0x60,0x65,0xA0,0xA1,0x2B,0xA9,0xA1,0x50,0xED,0x5E,0x1F,0x74,0x23,0xF9,0x50,0x62,0x2B,0x89, +0xBA,0x13,0xC6,0x39,0x8B,0xA5,0xBD,0x55,0xD2,0x6A,0xD2,0x64,0x1E,0xAF,0x6C,0xC7,0x7A,0xD5,0x37,0xC8, +0x0F,0x40,0xA9,0x9C,0xF8,0x28,0xEA,0xA2,0x88,0xCC,0xA8,0x1B,0x93,0x20,0x88,0x70,0xC3,0x64,0xDD,0x3C, +0x8D,0x8C,0x00,0x71,0xE4,0x2A,0x3F,0x4B,0xE8,0x0C,0xA0,0x19,0xDE,0xDD,0xB1,0xC8,0xBB,0xC3,0xD3,0xF3, +0xB9,0xF3,0xF2,0xE9,0x8C,0x0D,0xE1,0xDF,0x9B,0xD1,0x45,0x78,0x72,0x31,0x83,0xD6,0xA1,0xE8,0x0E,0xDF, +0x1E,0x0D,0xDF,0xC2,0xE3,0xA8,0xDF,0xF9,0x34,0xFD,0x63,0x28,0x86,0x9F,0x06,0x87,0xE3,0x8B,0x93,0xE1, +0xF0,0x65,0xEF,0xF9,0x9B,0xF9,0xFB,0x97,0xBB,0x02,0x7C,0x18,0x39,0xE7,0xEF,0x42,0xE7,0x62,0xEB,0x49, +0x1C,0x3C,0x0B,0x42,0x3F,0xBE,0x18,0xBE,0x7D,0x7F,0x7E,0x73,0x19,0x5F,0xCC,0x46,0xEF,0xFB,0xE1,0x87, +0xAD,0x77,0xA3,0x0F,0xEF,0x7F,0xBE,0xC6,0xBF,0x3C,0x7B,0xF1,0x61,0x3C,0x07,0x84,0x63,0x36,0xBA,0x38, +0x3F,0x7C,0x77,0x38,0xFB,0x70,0xE8,0x9F,0xDC,0x4E,0xA2,0x37,0x87,0x4F,0x87,0x93,0xE1,0x96,0x8F,0xF1, +0x6C,0x7C,0x7E,0x98,0x3F,0x7F,0x79,0x3A,0x23,0x24,0x1C,0x7D,0x78,0x33,0xF6,0x8F,0x1E,0xBD,0xBA,0x78, +0x36,0x24,0xE1,0x9B,0x17,0xE7,0xCE,0xF5,0xD3,0x97,0x47,0xC7,0xFE,0xE5,0x8B,0xCB,0xDD,0xE3,0xED,0xDE, +0x8F,0x3F,0xBE,0x0E,0x4E,0x09,0x1D,0xDF,0x7C,0x1E,0xCE,0x8E,0xE6,0x8F,0xEF,0xB2,0x71,0xF8,0xFC,0x86, +0xF6,0xDE,0xB1,0x4F,0xCF,0xEF,0x5E,0xC3,0xEF,0xD9,0x59,0x67,0x32,0xEA,0x67,0x17,0x6F,0x9F,0xBF,0xDB, +0xCA,0x9E,0x3C,0x4A,0x0E,0x8F,0x8F,0x6F,0xE2,0xC9,0x59,0x2F,0x0E,0xAE,0xA7,0xFC,0xF1,0x36,0x4F,0x2E, +0x67,0xF9,0x87,0x3F,0x1E,0xBD,0x08,0x7B,0xA7,0x18,0x5D,0x86,0x9D,0xBB,0xCF,0x77,0x8F,0xC3,0xF1,0xB3, +0x9B,0x37,0x11,0xBA,0x7D,0xF3,0xC6,0xFF,0x1C,0x77,0x22,0xF4,0xE4,0x74,0x1C,0xA1,0xB4,0x7F,0x11,0x0C, +0x7B,0x9D,0xA3,0xAD,0xE1,0x0E,0x4F,0xCF,0x8F,0xE8,0xF1,0xF6,0xA7,0xD1,0xE3,0xC3,0xC3,0x3E,0x9B,0xFC, +0xB1,0xF5,0xF4,0x7A,0xF7,0xE9,0xC5,0xEE,0xDB,0xC9,0xDB,0xE1,0x68,0xE7,0xF0,0x02,0x5D,0x8E,0xDE,0x0E, +0xA7,0x3B,0x93,0x30,0x7C,0xF9,0x72,0xFC,0x73,0x30,0xFC,0x9C,0x0E,0x4F,0xE7,0xC3,0xDB,0x93,0x8B,0xE1, +0xB3,0xCE,0xCB,0x93,0xD7,0x4E,0x7F,0x74,0xB9,0x3D,0x7B,0xBD,0x3B,0x3F,0xCC,0x4E,0x86,0x6F,0x0F,0x9D, +0xD9,0x8B,0x4E,0x8C,0x3E,0xB0,0xA3,0xED,0xD9,0xF3,0x5D,0x72,0x76,0x89,0x86,0xCF,0x0F,0x5F,0x64,0xE4, +0x3C,0x7E,0x76,0xE1,0x0C,0x87,0xAF,0x4E,0xF1,0xCF,0x47,0xDB,0xE8,0xE5,0x96,0xFF,0x1E,0xF4,0x7F,0xF1, +0x0B,0xFE,0xB1,0x33,0x9C,0x9F,0x3A,0x91,0xFF,0x04,0x8F,0x9F,0x5D,0x8E,0xE5,0xEE,0x9C,0x44,0x3F,0x8F, +0xAF,0x47,0xF9,0xDB,0xF8,0xE8,0xC8,0xD4,0x28,0xEB,0xA6,0x38,0xC1,0x88,0x37,0x63,0x55,0xE5,0x1C,0x60, +0x5B,0xB5,0x15,0x16,0x4E,0x2A,0x22,0x6B,0x37,0xC0,0x3E,0x4B,0x91,0x9C,0x03,0x08,0x38,0x15,0x26,0xB6, +0xFC,0x49,0x86,0x5A,0x4D,0x45,0x5A,0x0D,0xD1,0x40,0x33,0x4A,0x47,0x88,0x09,0x05,0x9C,0x1B,0xE2,0xE3, +0x6E,0x42,0x6E,0x71,0xD4,0x95,0xC8,0xAE,0x63,0x2E,0xA4,0xB3,0x95,0xD3,0x10,0x25,0xB1,0xA2,0x5A,0x0E, +0x04,0x9F,0x90,0x2F,0x52,0x1A,0xB8,0x4C,0x0C,0xCF,0xC2,0x77,0x58,0xDA,0x9D,0xE4,0xB3,0x29,0xB9,0x05, +0x6F,0x9E,0x12,0x4A,0x38,0xD6,0xFA,0xD9,0xF2,0xA7,0x92,0xCC,0x35,0xBE,0x9B,0xA6,0x28,0xC6,0x99,0xF6, +0x37,0xC9,0x2C,0xA6,0x29,0x8B,0x17,0x75,0x04,0xE4,0xAC,0xD1,0x59,0x2E,0xBF,0xC9,0x93,0x88,0x21,0x10, +0x73,0x25,0x6C,0x94,0xC1,0x34,0x15,0x6E,0x55,0x05,0xD5,0xD2,0xCD,0xB6,0xC0,0x2D,0x5B,0x6E,0xBD,0xB5, +0x53,0xBB,0x6E,0x57,0xCE,0x15,0xC1,0xBE,0xA9,0xFA,0x46,0x3C,0x68,0xC4,0xBA,0x6F,0x38,0xA8,0x74,0xFD, +0xE2,0x6A,0x11,0x15,0x19,0x6A,0x06,0x54,0x94,0xEE,0xEF,0x3A,0x8D,0x50,0x01,0xF3,0x96,0xDF,0x60,0x99, +0xE6,0xAD,0x6F,0x92,0x14,0x76,0x03,0xCF,0xBF,0x42,0xB3,0x92,0xA9,0x4D,0x1B,0x68,0x56,0xE9,0x4E,0x89, +0x50,0xE7,0x3C,0xC9,0x6B,0x45,0x7A,0x55,0x2A,0x00,0x57,0xDC,0x3C,0x12,0xDC,0x7C,0x55,0xAB,0xDB,0xBB, +0xDF,0x15,0x3C,0xEC,0x38,0xDF,0x2D,0x6D,0x35,0xB7,0xCA,0xC7,0x7D,0x07,0xFE,0x95,0x69,0xF7,0x71,0xCD, +0xC2,0xE4,0x91,0xF8,0x29,0x19,0x04,0x3A,0x4D,0xE0,0xF6,0xCE,0x93,0xC7,0xC1,0xA4,0x04,0x2A,0xC1,0x1E, +0x86,0xA7,0x28,0x20,0x79,0xE6,0x3E,0x72,0xBE,0x53,0xFA,0x84,0xED,0x03,0xD9,0xCB,0xCD,0x55,0x9D,0xDA, +0x62,0xB3,0x84,0x50,0x6D,0x2B,0xD3,0xC4,0x7E,0xA3,0xB4,0x32,0xCC,0x66,0xAA,0x07,0x17,0xA9,0x4D,0x53, +0xCC,0x5F,0x38,0xDF,0x2D,0x78,0x8A,0x68,0x36,0x65,0x69,0xEC,0xA6,0x8C,0x23,0x8E,0x0D,0xC7,0x5C,0xF6, +0x9D,0x75,0x80,0xED,0x5D,0x27,0xC0,0x33,0x73,0xB9,0xDC,0xEB,0xC9,0xA4,0x06,0x15,0x8F,0x9F,0x92,0x84, +0xEF,0x4F,0x73,0xEA,0x0B,0x1E,0xB4,0x19,0x36,0xB0,0xB9,0x48,0x31,0xCF,0x53,0xAA,0x05,0xCC,0xCF,0x85, +0xB1,0xDB,0x33,0xCC,0x4F,0x94,0xDD,0x1F,0xDE,0x3D,0x0F,0x60,0xC6,0xB2,0x42,0xF0,0xD7,0x22,0x80,0x03, +0xC3,0x7A,0x05,0x4E,0x6B,0x3E,0x24,0x18,0x20,0xF2,0x12,0xDF,0x19,0xD8,0xE2,0x15,0x22,0xB6,0xC5,0xB8, +0x61,0x94,0xD3,0x00,0x48,0xCD,0xC5,0x0D,0x68,0x01,0x79,0xF8,0x23,0xBF,0xB2,0x88,0x47,0xE1,0x31,0x28, +0xA6,0x93,0x7D,0x74,0xD0,0xED,0xBB,0x68,0x9F,0x1C,0xF4,0xC1,0xBF,0xCC,0x06,0x7D,0xB5,0xF2,0xCF,0x24, +0xC2,0x17,0x85,0xCB,0x89,0x85,0x6A,0x6A,0x3D,0x83,0x9C,0x85,0xA0,0x48,0xF3,0x07,0xE3,0x74,0xA4,0x19, +0x1F,0x7F,0xEC,0x3E,0xB9,0xFA,0xD2,0xFF,0xE8,0x74,0xFB,0x57,0xE6,0xEF,0x66,0x8F,0xD8,0x1C,0x67,0xDC, +0xA0,0xE8,0x86,0xCC,0x10,0xD8,0xB9,0x2D,0xF2,0xED,0x70,0x06,0x52,0x98,0x83,0x6A,0x0D,0xA2,0xD8,0xDB, +0x72,0x9C,0x0D,0x0F,0x1F,0xA0,0x08,0x03,0xEB,0xFA,0xC9,0xF9,0xF9,0xE9,0xF9,0x47,0xBD,0x83,0x3B,0xFA, +0x95,0xAB,0xE9,0x1D,0x6A,0xBA,0xDC,0x86,0xA2,0x33,0xC5,0x59,0x78,0x86,0x78,0x68,0x04,0xF6,0x0D,0x8A, +0x72,0xD0,0x85,0x60,0x84,0x79,0xA0,0x38,0x7D,0x92,0x73,0xCE,0xA8,0x6E,0x0E,0x98,0x4D,0x28,0xC5,0xE9, +0xB3,0xF1,0xEB,0x57,0x9E,0x7E,0xCE,0x18,0xD7,0x8E,0x49,0xAA,0x5B,0x72,0x37,0x6C,0x94,0x24,0x98,0x06, +0x47,0x21,0x89,0x02,0x83,0x99,0x03,0x81,0xEE,0x4B,0x74,0x59,0x88,0x00,0xB6,0x6F,0xAB,0x92,0x75,0x0A, +0x52,0xEB,0x96,0x6F,0xC7,0x79,0xC4,0x49,0x12,0x61,0x6F,0xA3,0x0F,0x3D,0x8A,0x62,0x80,0x89,0x34,0x2C, +0x60,0x24,0xF0,0x74,0x15,0x8C,0x8A,0x10,0xB6,0x6E,0x15,0x5F,0xAD,0x12,0xB4,0x56,0x09,0x9A,0xB8,0x09, +0x48,0xA4,0x5B,0x81,0x5D,0xD7,0xCA,0xD0,0x2B,0x96,0x2A,0x61,0x01,0x9E,0x22,0xE0,0xE4,0x9D,0x90,0x1A, +0x4A,0xEF,0x75,0x0B,0x05,0x6A,0xA1,0xAC,0xAD,0x8D,0xAC,0xA9,0x0D,0xB5,0x8D,0xEB,0x90,0x33,0x85,0x9C, +0xB6,0x91,0xD3,0x26,0xF2,0x91,0xB4,0x86,0x75,0xC8,0xA9,0x42,0x8E,0x5A,0x22,0x46,0x52,0x44,0x15,0xE1, +0xBA,0x42,0x9B,0x20,0x10,0x60,0x47,0x4D,0x31,0xA1,0x07,0x0E,0x89,0x26,0x11,0x0E,0xBC,0x0D,0x07,0x7A, +0xA2,0xA8,0xF6,0xB6,0x9C,0x35,0x6B,0x44,0x6A,0x8D,0xBC,0xB5,0x46,0x2E,0xD7,0x20,0x09,0x28,0x11,0xF2, +0x86,0x6E,0xE5,0x52,0x6B,0xED,0x11,0xB5,0x9C,0x1F,0x62,0xFF,0x7A,0xC2,0xE4,0x88,0x6C,0x8B,0x15,0x37, +0x90,0xA4,0x99,0x48,0x9A,0xF2,0x28,0x02,0x34,0x13,0x1B,0xBC,0xDC,0x13,0x94,0xAD,0xA4,0x29,0xBE,0x36, +0x8C,0xB8,0xAD,0x4B,0x84,0xB8,0xAD,0xA5,0xB8,0x35,0x6D,0x84,0x6E,0xB0,0xB6,0x4E,0x4B,0xB1,0xB9,0x66, +0x30,0x59,0x37,0x98,0x9B,0x56,0x6A,0x33,0xEA,0x47,0xC4,0xBF,0xF6,0x6A,0x37,0x36,0x17,0x46,0xB3,0x23, +0x38,0xE1,0x1E,0xC5,0x73,0xED,0x67,0x08,0x4B,0xC7,0x88,0xA3,0x01,0x2F,0xC8,0x18,0x85,0xDD,0x60,0x20, +0x04,0xA7,0x51,0xF0,0xC2,0xCC,0x46,0x01,0x0C,0x9F,0x5D,0x8C,0x75,0x4B,0xEF,0x89,0x5D,0xD1,0xC1,0x93, +0x89,0xB9,0x34,0x2B,0x5F,0xB2,0xA8,0x8C,0xEA,0x17,0x69,0x54,0x0F,0x41,0xA3,0xB4,0xB8,0xA5,0x15,0xAF, +0xE5,0x89,0x4C,0x8D,0x4A,0xA5,0x25,0x53,0xE2,0x64,0x28,0xD6,0x30,0x8A,0xFD,0xD7,0x4D,0x08,0x7B,0xCA, +0x78,0x0D,0xD3,0x42,0x6D,0xA6,0x51,0xC5,0x74,0x8A,0xE6,0xA5,0x91,0xA8,0xF5,0x07,0xCA,0xBD,0x1D,0xC8, +0xBE,0x34,0xE3,0x1A,0xF6,0x76,0x9C,0x27,0xBB,0x03,0xD8,0x1F,0x43,0x39,0x2E,0x00,0xF6,0xB8,0x0D,0xA6, +0x35,0xE3,0xE1,0xC0,0xEF,0x78,0x85,0x56,0x02,0x8F,0xDB,0x59,0x3E,0xC9,0x78,0x0A,0xB9,0xCD,0xF0,0x2D, +0xBF,0x83,0xCD,0xF6,0x32,0x7A,0x87,0x59,0x81,0x69,0xB1,0x4E,0x67,0x79,0x4F,0x41,0xA7,0xA3,0x86,0x86, +0x90,0xD0,0x10,0x8E,0x32,0xAC,0x51,0x1B,0xDF,0x62,0xFF,0x88,0xC5,0x31,0x12,0x24,0x32,0xD8,0xE4,0xA2, +0xA3,0x9B,0x4B,0x8B,0xAD,0xD5,0xCC,0x03,0x21,0xCB,0xCA,0x1E,0xD2,0x23,0x84,0x40,0xCF,0xB7,0x85,0xAF, +0x64,0x85,0x50,0x5F,0xDF,0xE5,0x32,0x10,0x29,0x94,0x8F,0xCE,0x95,0x55,0x6D,0xDC,0x8A,0x54,0xED,0x7D, +0x97,0x56,0xD7,0x8A,0x3F,0x66,0xBD,0xD3,0x02,0xD6,0x8E,0x6B,0x35,0x54,0x5F,0x2E,0x2D,0x5F,0xF0,0x1F, +0x22,0x3A,0xC3,0x7F,0x5F,0x80,0x9A,0x47,0xE9,0xA2,0x16,0x85,0xE4,0x71,0xE0,0xFE,0x6A,0x1B,0x1F,0x7F, +0xB3,0xAF,0x3A,0xA6,0x79,0xF0,0x6D,0x4F,0x6A,0xD8,0xE0,0xE6,0xC7,0xFE,0x95,0x85,0x00,0x6C,0xFF,0x60, +0xFE,0x6A,0x4B,0x70,0x0B,0x36,0xB8,0x61,0x24,0xD0,0xC4,0x4A,0xC2,0xB3,0xD9,0x54,0x43,0x9B,0x9B,0x06, +0x98,0x5C,0xCB,0x58,0x3B,0xBC,0xA3,0xDB,0x90,0x37,0x96,0xCB,0xFB,0xD9,0x6C,0x9C,0x62,0xAC,0xD2,0x65, +0x05,0x90,0xDC,0x83,0xCC,0x2B,0xC1,0xAA,0x94,0x1A,0x5B,0x35,0x14,0x06,0x65,0xBA,0xB7,0x8B,0x4A,0xC2, +0xD3,0x29,0xA3,0x60,0xB2,0xC9,0xFD,0x61,0x79,0xC4,0xD3,0x5B,0x31,0xE4,0xFB,0x3D,0x12,0xCF,0xB4,0x2C, +0xF5,0x3D,0xB5,0x15,0x07,0xE2,0x8F,0xF7,0xBD,0x48,0x73,0x9B,0xBF,0xFB,0x13,0x4F,0xEF,0xC0,0xFE,0x62, +0x9B,0xB2,0xB9,0x61,0x76,0xBE,0xD7,0x35,0x49,0xD1,0xD3,0x63,0x74,0x5B,0x1C,0xF4,0x45,0x25,0x32,0xD0, +0xA0,0x5F,0x96,0xB0,0x6A,0xA0,0x38,0x62,0xA3,0x9C,0xB3,0x81,0x56,0x56,0x38,0xEA,0x88,0xA9,0x6B,0xBD, +0xFD,0xEF,0x6B,0x1D,0x20,0x10,0x1D,0xA9,0x3D,0x21,0x32,0x88,0xE5,0x22,0xE4,0xE1,0x56,0xF4,0x21,0x85, +0xDB,0xA9,0xA8,0x48,0x00,0x4E,0xEE,0xA5,0x4D,0x2B,0x33,0x90,0x79,0x60,0xB4,0x12,0xED,0x9E,0x38,0x94, +0xEC,0x9F,0xA9,0x6A,0x73,0xAF,0x27,0x7B,0xFA,0x3A,0xC7,0x00,0xCD,0x53,0x40,0xB7,0xAA,0xFA,0x66,0xC2, +0x82,0xBB,0x46,0x55,0x94,0x1D,0xDE,0x1D,0x45,0x28,0xCB,0xDE,0xA0,0x18,0xD6,0xF7,0x63,0xDD,0x2C,0x4C, +0x69,0xDF,0xD9,0xDC,0x6C,0x23,0xA5,0x38,0x66,0x37,0x58,0x71,0x85,0x21,0x94,0xB9,0x01,0x10,0xDE,0xDC, +0x5C,0xC7,0x98,0xB8,0x50,0xFB,0x1A,0x57,0x14,0xDC,0xB5,0x0C,0x7F,0xFF,0x13,0x77,0x2A,0x47,0x3E,0xA4, +0xD5,0xC8,0xB4,0x04,0xF7,0x5F,0xBE,0x64,0xF2,0xEF,0x4A,0xA0,0x97,0xFE,0xB2,0xEA,0x2E,0x58,0xBA,0x04, +0xB8,0xDE,0x7D,0xAF,0xE0,0x66,0x36,0x27,0xDC,0x0F,0x85,0xBE,0x7D,0x94,0x61,0x5D,0xDC,0xD4,0xB9,0xB2, +0x35,0xFB,0x5C,0x34,0x3E,0x93,0xA4,0x68,0xCD,0xD1,0x4D,0xD1,0x8A,0x93,0xED,0xA2,0x95,0x04,0x53,0xDD, +0x55,0x45,0xE2,0x86,0xB3,0x2C,0x1A,0xFD,0xA5,0xDC,0xFA,0x68,0x55,0xC3,0xC7,0x6C,0x4E,0x85,0x02,0x2B, +0x2D,0x47,0x6B,0xF6,0xBE,0x4E,0x61,0x95,0xD3,0x05,0x05,0x5E,0x77,0x9A,0x2A,0x9F,0x6B,0xF8,0x47,0x09, +0x03,0xCF,0xC0,0x4B,0xF3,0xFF,0xB2,0x1A,0x5F,0x59,0xCD,0xCA,0x7E,0xAC,0x11,0xF2,0x28,0x84,0x5A,0xF2, +0x2F,0x24,0x8C,0x5B,0x2B,0xC4,0xB6,0x2F,0x9E,0x6F,0x58,0x20,0xA3,0x9F,0x69,0xE5,0x46,0x6C,0xFD,0x8F, +0x06,0x96,0xB4,0x0C,0xAC,0x5D,0x69,0x24,0x6B,0x76,0x0D,0x47,0x98,0xE3,0x4A,0xA2,0x64,0xAD,0x44,0xE9, +0xFF,0xA3,0xF9,0x3A,0x2C,0x11,0x75,0xAE,0x68,0x06,0xA6,0x80,0xDC,0xE8,0x90,0xA0,0xBD,0x36,0x85,0xCC, +0x4F,0x59,0x14,0x8D,0x59,0x72,0xF0,0xC0,0xB8,0x5B,0x8D,0x17,0x8D,0x92,0xCD,0x7A,0x8A,0xE5,0xAF,0x25, +0xFA,0x0A,0x4F,0xF9,0xC1,0x43,0x80,0x87,0xC9,0xD6,0x73,0xAC,0xC0,0xC3,0x36,0x28,0x0F,0x46,0x7F,0xE9, +0xF8,0x56,0x56,0xF5,0x2E,0x3B,0x0C,0xF6,0xC2,0x2F,0x95,0xE4,0x09,0x25,0x59,0x64,0x6D,0xBE,0xA8,0xC7, +0x23,0xA0,0xE8,0x05,0x1D,0x3D,0xB9,0xAD,0xC7,0x38,0x4B,0xBC,0x4C,0x0D,0x21,0x83,0x58,0xFC,0xDE,0xA6, +0xAC,0x8B,0xE2,0xA9,0x47,0x6C,0x36,0x9D,0x66,0x98,0xBF,0x17,0x19,0xC4,0x8A,0xAA,0xFE,0x33,0x99,0x41, +0x06,0xD0,0xA5,0x31,0xCB,0x33,0xCC,0x72,0xDE,0xAE,0x35,0x2B,0x61,0xF6,0x82,0x2F,0x5F,0xAA,0xCE,0x7E, +0xD0,0x49,0xEB,0xEE,0xE5,0x5E,0xD6,0xE8,0xEC,0x67,0x9D,0x08,0x3C,0xE9,0x3F,0xB6,0x14,0xD2,0xB4,0x14, +0x26,0x12,0x98,0xC5,0x94,0xA5,0xA4,0xB5,0xAD,0xA7,0xE2,0x24,0x80,0x1A,0x21,0x56,0x18,0xB4,0x6E,0x96, +0x87,0xDC,0xA6,0x2B,0x23,0x2B,0x6D,0x7B,0xFA,0x43,0xD5,0x76,0x60,0x08,0xAA,0xA0,0xF5,0x57,0x6C,0x8E, +0xD3,0x23,0x94,0x61,0x03,0x22,0x6F,0x95,0x26,0x24,0xD4,0x74,0xB3,0xB5,0xB3,0x68,0x01,0xF5,0xD5,0x13, +0xC2,0xCB,0x57,0xC3,0x02,0x4C,0x10,0x71,0x61,0x0D,0x25,0x73,0xA9,0xB8,0x63,0x54,0x9C,0x98,0x40,0x43, +0x79,0x8B,0x47,0x6C,0x8B,0x0B,0x1E,0xD0,0xDB,0xB1,0x3A,0x20,0x42,0x79,0x8D,0xC1,0x5A,0x58,0x72,0x96, +0xB2,0x04,0xCD,0x90,0x98,0x07,0x63,0xE0,0x60,0x92,0xB8,0xA0,0xD6,0xA8,0x88,0xEA,0xEB,0x86,0x6E,0xDF, +0x03,0x7B,0x95,0x97,0x39,0xA7,0x53,0x03,0x6A,0x27,0xB3,0x9E,0x16,0xFC,0x77,0x49,0x88,0xDF,0xF2,0x22, +0xBB,0x84,0x3C,0xAE,0x5B,0x51,0xD1,0xFC,0x94,0x15,0x0D,0x3F,0x2B,0x5B,0xB7,0x0D,0x20,0xA3,0x25,0x98, +0xD1,0x69,0xD1,0x24,0x94,0x94,0x74,0x4A,0x60,0xF9,0x4C,0x92,0x32,0x93,0x85,0x65,0x2B,0xC4,0xB7,0x15, +0x1E,0xAB,0xF2,0x1C,0x5E,0x97,0xE7,0xEA,0x5B,0x96,0xFF,0x4E,0xFC,0x84,0xCE,0x4A,0x61,0x92,0xB2,0x35, +0x23,0xA5,0x28,0x93,0x38,0xF9,0x2A,0x23,0xE9,0xBF,0x3D,0xF5,0x1D,0x9F,0xBC,0x3A,0x19,0x9F,0x34,0x0F, +0x00,0xCD,0xCB,0x21,0xFE,0x57,0xB7,0x2F,0xDC,0x74,0x8D,0xBF,0x91,0xD4,0xA0,0xEC,0x36,0xCD,0xD6,0xFD, +0x51,0xD4,0xBA,0x97,0xAA,0x33,0x4A,0x71,0xE1,0x03,0x7A,0xDA,0xDC,0x6C,0x30,0x22,0xC7,0xEB,0x3B,0x2D, +0x6A,0xE9,0xAA,0x0A,0x97,0x5E,0x8D,0x1E,0x2A,0x57,0x91,0x59,0x1D,0x08,0x89,0x47,0x8B,0x88,0x62,0x89, +0xB3,0x21,0xD9,0xF7,0xE1,0x50,0xD8,0x31,0xD5,0x5D,0x8E,0xE7,0xC1,0xB5,0x97,0x7F,0x25,0xEF,0x03,0x36, +0x37,0x51,0xBB,0xA4,0x35,0x1C,0x4B,0x02,0xC5,0x82,0xB2,0x25,0x6F,0x22,0x40,0x16,0x60,0xCB,0xB1,0x5E, +0x8C,0x4E,0xDF,0xD8,0x09,0x4A,0xC1,0x21,0xA9,0xD9,0x8C,0x46,0xB9,0x12,0xB0,0xAD,0xED,0xA7,0x27,0x8D, +0xB3,0x96,0x7C,0xDD,0xE7,0xF2,0xA5,0x15,0x19,0x82,0x9C,0xCA,0xD0,0xA2,0xEC,0x29,0xEE,0x65,0x21,0xC7, +0xC5,0x65,0xBE,0xAB,0xC3,0x55,0xDC,0xCC,0x16,0xFC,0x26,0x7F,0xE0,0x3A,0x81,0x87,0x24,0x6B,0x9E,0x31, +0x5B,0x91,0xE1,0x6F,0xEE,0xD8,0xB2,0x6C,0x29,0x72,0xF7,0x8F,0x4B,0xEA,0x45,0xB4,0xDA,0x1C,0x79,0x1C, +0x5E,0xD4,0xA1,0xB8,0x36,0x47,0x1D,0x52,0x18,0xA1,0xBA,0x45,0xFF,0xA9,0x87,0xD0,0xD2,0x43,0xE8,0x6A, +0x80,0xC0,0xB7,0x2D,0x6F,0xAF,0x56,0x19,0x4C,0x80,0xB3,0xEB,0x41,0x1D,0x45,0x00,0x02,0xCF,0xA8,0x05, +0xF8,0x94,0xC9,0xF1,0x4F,0xE8,0x06,0xA9,0x6B,0xD9,0x1A,0xBA,0x3E,0x54,0xC8,0xE9,0xFE,0xEF,0xD0,0xAA, +0x66,0xB6,0x03,0x51,0x06,0xCD,0xD5,0x78,0xC2,0x5B,0xE1,0xA9,0x8E,0x59,0xCD,0xE8,0x04,0xEE,0x5A,0x78, +0xB3,0xC6,0x1B,0xFA,0x6D,0xB8,0x1E,0x18,0xE4,0x43,0xBE,0xD7,0x8C,0xC3,0x0A,0xA3,0x69,0x3D,0xEB,0x0F, +0xA3,0xED,0xE3,0xEA,0xFA,0x3A,0x43,0xFA,0x1F,0x3E,0xC8,0xEC,0xAC,0xBC,0x98,0x01,0x37,0x6F,0xF4,0x74, +0x30,0x88,0x0C,0xCC,0x10,0xA3,0x74,0x24,0xEE,0x00,0x54,0x22,0x59,0xAA,0x0D,0xF4,0xA4,0xEB,0x1A,0xA0, +0xB1,0x9E,0x4C,0x19,0x36,0xE8,0x01,0xE6,0x57,0x40,0x0A,0x40,0xEA,0x31,0x20,0xD9,0x18,0x44,0x30,0x88, +0x3C,0x3D,0x66,0x94,0x5D,0x23,0xD2,0x9C,0x4E,0x00,0x42,0x8A,0xAF,0x04,0xF4,0x0E,0xB5,0x8A,0x7D,0x90, +0x84,0x6A,0x88,0xDA,0x7D,0xB3,0xB8,0xE5,0xAC,0xEF,0x98,0x70,0xE9,0x36,0x85,0x7D,0x6C,0x48,0xB4,0x4C, +0x14,0x1E,0x23,0x9C,0x65,0x92,0x6F,0x21,0xD7,0x6B,0x16,0x80,0x58,0x80,0xD6,0x8B,0xA1,0x25,0x16,0x02, +0x09,0x05,0x60,0x1C,0xE2,0xB8,0x80,0x70,0x68,0x0A,0x10,0x12,0xA0,0x6F,0xA5,0xAA,0x46,0xB2,0xC0,0x23, +0x74,0xE6,0xF5,0x7B,0x8E,0xB5,0x4A,0xF6,0x22,0xC3,0x23,0x36,0xE5,0x63,0x34,0xC9,0x8C,0x0D,0xC7,0x5C, +0x9D,0x21,0x40,0x23,0x88,0x26,0xC6,0x96,0xB9,0x1E,0xFD,0x3D,0x4B,0xAF,0x71,0x5A,0x20,0x8B,0xCA,0x0C, +0x0A,0xB3,0x08,0x7E,0xF9,0xD0,0x17,0x2F,0xFA,0x5F,0x11,0x8A,0x6B,0xE0,0x28,0x64,0xF3,0xB3,0x94,0x50, +0xFE,0x5A,0x1E,0xFA,0x8D,0x8D,0xBE,0xDC,0x27,0x75,0x17,0x25,0x23,0x50,0x79,0x49,0xB5,0x10,0xC1,0xCC, +0x6D,0x5D,0x55,0x59,0x13,0xD8,0x2E,0x88,0xAD,0xEE,0x62,0x4E,0xA8,0xAB,0x1F,0xF1,0x34,0xEA,0x8E,0x74, +0x2B,0x46,0x3E,0x74,0xD4,0x1C,0xE8,0x2F,0x2D,0xE1,0xB4,0x6E,0x33,0x98,0x6C,0xD4,0x9D,0xBA,0x50,0x5F, +0xB9,0xC7,0x6B,0x5F,0x4B,0x09,0xE0,0x61,0xC4,0x26,0x86,0x78,0xE7,0xB0,0x10,0x0E,0xEF,0xD2,0xA5,0x29, +0xB2,0xD3,0xD7,0xAF,0xDC,0x7C,0x88,0xBA,0xDC,0xC2,0x8D,0x1B,0xC3,0x8E,0xAE,0x8B,0x8B,0x38,0xC0,0x43, +0xC1,0x29,0x8D,0xEE,0x5C,0xC8,0x8A,0x7F,0x21,0x75,0x4E,0x03,0xF6,0x35,0xA9,0x3F,0xDC,0x93,0xFA,0xC3, +0x3A,0xA9,0x71,0x7B,0xB7,0xA0,0x73,0x01,0x64,0x5F,0x23,0x8A,0x66,0x38,0x85,0x01,0xB1,0x08,0x6C,0xC0, +0x3F,0xE3,0x2C,0xC5,0x5F,0xE7,0x6C,0x14,0x92,0x29,0x5F,0xE1,0x4F,0x8E,0xFE,0x3B,0x2E,0x53,0xFC,0x00, +0x97,0x65,0x21,0x5B,0xA5,0x8D,0xBF,0xBE,0x07,0x93,0x4E,0xED,0xC1,0x16,0x36,0xDD,0xF5,0x5F,0xF8,0x5D, +0xBD,0xE2,0xD7,0xB3,0xA7,0x78,0xB8,0x78,0x69,0x05,0xC2,0x26,0x40,0x82,0x46,0x7E,0x62,0xF4,0x10,0x4E, +0x0A,0xAF,0x40,0x04,0x43,0x99,0x23,0xF6,0x16,0x4B,0x8B,0x7B,0xC6,0x9C,0x80,0xF8,0x73,0x10,0xCE,0x97, +0xD5,0xAF,0x2D,0xBE,0x56,0x02,0x25,0x00,0x93,0x90,0x67,0x7B,0x1F,0x0F,0x36,0xAF,0x3A,0x90,0xA0,0x3C, +0x78,0x98,0x1E,0x34,0x36,0xAF,0x7E,0x30,0x7B,0x33,0xD2,0x28,0x89,0x64,0xAA,0x03,0xBD,0x7E,0xA4,0x57, +0x1E,0x5A,0x42,0x08,0x6B,0xA6,0xC2,0x2A,0xB0,0x5A,0x58,0x5E,0x69,0xC2,0x43,0x7C,0x04,0x06,0x0F,0x19, +0x3B,0x60,0x36,0xF5,0x1A,0x37,0x8D,0x3A,0x87,0xBF,0x3A,0x84,0xED,0x41,0xC1,0x56,0x80,0xA7,0x84,0x62, +0x19,0xBD,0x54,0xD3,0x2A,0x00,0x42,0x0D,0x24,0x95,0x90,0xB2,0x6D,0x89,0xB6,0xC8,0x7E,0x64,0x26,0x14, +0x69,0xE8,0xE2,0x83,0x0F,0x91,0xE8,0x75,0x99,0xB0,0x57,0xC0,0x73,0x19,0x48,0x1A,0x13,0xD6,0xBC,0xC0, +0xD3,0xF3,0xA2,0xA5,0x83,0x94,0xBC,0x11,0x84,0x95,0x38,0x10,0x6F,0x55,0xE3,0x5E,0x68,0xAF,0x4F,0x3D, +0x0A,0x6C,0x2E,0xC1,0xC5,0x94,0x00,0x81,0x5E,0xA5,0xF3,0x5F,0x5E,0xBF,0x7A,0xC6,0x79,0x72,0xAE,0x76, +0x14,0x68,0xB5,0x07,0x6A,0x43,0x33,0x17,0x3C,0xBD,0x2B,0x0B,0x43,0x11,0x28,0x54,0xA8,0xFB,0xE5,0x74, +0xF2,0x09,0xFB,0x20,0xC9,0xEB,0x0C,0x72,0xE8,0x96,0x2D,0xD0,0xC7,0xE3,0x33,0x7B,0xD7,0x76,0xA0,0x52, +0x81,0xFD,0xF4,0x43,0x61,0x31,0xCB,0x7F,0x84,0xBC,0xFD,0xCF,0x90,0x09,0xC4,0xFB,0x0C,0x02,0x7A,0x89, +0xDF,0xC6,0x0D,0x53,0x36,0x97,0x68,0x27,0x69,0x2A,0x8C,0x61,0x1C,0x92,0x4C,0x9B,0xC0,0x60,0x86,0x53, +0x2D,0x60,0x38,0xD3,0x28,0xE3,0x5A,0x96,0x27,0x09,0x4B,0xF9,0x3D,0x7D,0xD8,0x7A,0x79,0x49,0xF3,0x36, +0xC7,0x39,0x0E,0x8A,0x61,0x9C,0x36,0xF5,0x22,0x6B,0x3A,0x18,0x07,0x77,0xFB,0x78,0x55,0x54,0x78,0x39, +0xA5,0x22,0xFF,0x6C,0xF4,0x55,0x1F,0xA4,0x0B,0x81,0xAA,0x47,0xF3,0x28,0x5A,0x0E,0xEE,0xD1,0xB2,0x93, +0x94,0x71,0x26,0x5F,0x7A,0x2D,0x7E,0x2F,0x5C,0xCB,0xBD,0x77,0x4D,0xDF,0xA6,0xEA,0x58,0x1B,0xC6,0x06, +0xD6,0x08,0xCD,0x38,0xA2,0xBE,0xD8,0x46,0xA5,0x0B,0xB3,0xAC,0xEE,0xC4,0xF4,0x81,0x88,0x0B,0xD2,0x70, +0x1E,0x2C,0x29,0xA4,0x64,0xD4,0xD3,0x75,0x51,0xE8,0x61,0x51,0x2F,0xA3,0x38,0x6B,0x90,0xAD,0x32,0x85, +0x49,0xBD,0x12,0x3C,0x90,0x2F,0x57,0x9A,0xF3,0x57,0xD9,0x28,0xAB,0x7B,0x04,0x30,0xAD,0x9C,0x67,0xD2, +0x8E,0xA7,0xCB,0x0A,0xE1,0x40,0x86,0x0C,0x69,0xC0,0x31,0xE6,0x21,0x0B,0x0E,0xF4,0x03,0xDD,0xD5,0xE1, +0xFF,0xA6,0x6E,0xC1,0x2C,0x4C,0x7D,0x16,0xE0,0x8B,0xF3,0xE7,0x10,0x4A,0x13,0x46,0x31,0xE5,0x06,0x82, +0x8C,0xE2,0xE9,0x9D,0x55,0x48,0xC5,0xC6,0x47,0x74,0x65,0x0E,0xDA,0xCA,0xC6,0xF3,0x7B,0xDB,0xD9,0xDA, +0x0C,0x9B,0x51,0x11,0x5D,0xEF,0x80,0x79,0x8E,0x57,0x5E,0x8E,0x58,0x74,0xF5,0x14,0x64,0x2E,0x76,0x04, +0xCF,0x12,0x6B,0x04,0x58,0xC2,0xF5,0x6A,0x25,0x3F,0x54,0xD9,0x51,0xDB,0x47,0x51,0x24,0x3E,0xE6,0x00, +0x5E,0xC5,0x62,0x79,0x66,0x09,0x22,0x19,0x08,0x90,0xE1,0x31,0xBE,0x05,0x97,0x96,0xE5,0x99,0xB2,0xA1, +0xE2,0x38,0x04,0xA4,0x79,0xC3,0x8C,0x4C,0xAB,0xEA,0x6D,0x6E,0x72,0xBB,0x34,0x13,0xA3,0x44,0xCA,0x44, +0xB2,0x91,0x77,0x0F,0x4B,0xA3,0x29,0xA4,0xC8,0xDD,0x2B,0xDA,0x36,0xDA,0x6A,0x48,0x30,0x35,0x4A,0x18, +0x70,0x96,0xA7,0x11,0x64,0x08,0x51,0xBD,0xB4,0xA6,0x65,0x98,0x06,0xB0,0x80,0xFB,0x97,0xC8,0x12,0x95, +0x36,0xAD,0x62,0xC4,0x53,0xC5,0x77,0x9B,0x1E,0x2F,0x76,0xE5,0x19,0x96,0x61,0xAE,0xFD,0xF5,0xAD,0x25, +0xBF,0x9B,0x25,0x2A,0x21,0xF4,0xE0,0x6D,0xCA,0x7C,0xDE,0x05,0xB3,0x8A,0xBB,0xB0,0x82,0xB2,0x82,0x40, +0x5F,0xC3,0xA1,0x3A,0xED,0x59,0xE2,0x3A,0xC5,0xBD,0xE7,0xA2,0xB5,0xFE,0x8C,0x7B,0x3E,0xDA,0xA6,0xD3, +0xE6,0xB3,0xB1,0xDB,0x7B,0x3B,0xF7,0x40,0x68,0xC2,0x52,0x6E,0x40,0x8E,0x83,0x34,0x58,0xAD,0x56,0x1E, +0xBC,0x9A,0x71,0xC1,0x4E,0xF2,0x2C,0x34,0x16,0xC0,0xBA,0xCB,0x2D,0xA5,0x2B,0x17,0x5B,0xCA,0x6E,0x5D, +0x6A,0x95,0xF6,0xE1,0x42,0xEA,0x6A,0xC5,0x8F,0x2F,0x5F,0x64,0xAF,0xDE,0x6D,0xE8,0xB5,0x37,0x1C,0x84, +0x95,0x4E,0x5C,0x66,0x64,0x61,0xF4,0xF7,0x63,0xD5,0x5E,0x4F,0x9D,0xA7,0xCA,0xCF,0x5D,0x34,0x12,0x78, +0x22,0xB9,0xEB,0xC5,0x7B,0x2D,0x68,0x4E,0x21,0x2E,0xD9,0x70,0x00,0xAB,0xBE,0x6F,0xD6,0x8B,0x0F,0x9C, +0xEF,0xE3,0xEE,0x57,0x27,0x42,0xCF,0xAB,0xEA,0x79,0x15,0x75,0xD4,0x04,0xEF,0x81,0x8F,0x60,0x74,0x05, +0x86,0x03,0xB3,0x6A,0xD8,0xD5,0xDA,0x62,0x5D,0xAB,0x18,0x44,0xD9,0x1D,0xF5,0x45,0xD4,0xAC,0xA8,0x84, +0xA0,0xFE,0xD6,0x21,0x5A,0xCD,0x34,0x97,0x35,0x67,0xE2,0xFA,0x51,0x63,0xC5,0x5B,0x87,0x66,0x8D,0x01, +0xEC,0xC3,0x19,0x5D,0x88,0x5B,0xBA,0xA8,0x26,0x0F,0xE9,0x55,0x17,0xC4,0x83,0x09,0xF5,0xAC,0x3C,0x59, +0x0F,0x90,0x25,0xC1,0xCA,0xA0,0xAA,0x2A,0x56,0x86,0x8B,0x83,0x5E,0xF5,0x2E,0xB0,0xF1,0xFD,0x52,0x4D, +0x83,0xC8,0x57,0x27,0x72,0x7E,0xFB,0x6D,0xCA,0x83,0x68,0x0A,0x63,0xFF,0x4F,0x51,0x09,0xC4,0x79,0xD4, +0x2E,0x00,0x00 }; From efe7618b5bcd6aca32c0c148ad07f433b6210864 Mon Sep 17 00:00:00 2001 From: lorol Date: Fri, 19 Jun 2020 20:03:02 -0400 Subject: [PATCH 27/47] Fixes --- examples/SmartSwitch/SmartSwitch.ino | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/examples/SmartSwitch/SmartSwitch.ino b/examples/SmartSwitch/SmartSwitch.ino index a5e448c..19affa4 100644 --- a/examples/SmartSwitch/SmartSwitch.ino +++ b/examples/SmartSwitch/SmartSwitch.ino @@ -300,7 +300,7 @@ void mytimer() { Xtea x(key); void encip(String &mtk, unsigned long token){ - unsigned long res[2] = {random(0xFFFFFFFF),token}; + unsigned long res[2] = {(unsigned long)random(0xFFFFFFFF),token}; x.encrypt(res); char buf1[18]; sprintf(buf1, "%08X_%08X",res[0],res[1]); //8 bytes for encryping the IP cookie @@ -606,7 +606,7 @@ void setup(){ #endif -#ifdef USE_AUTH COOKIE +#ifdef USE_AUTH_COOKIE }).setFilter(myHandshake); #else }); @@ -622,7 +622,7 @@ void setup(){ settimeofday(&tv, nullptr); } request->send(200, "text/plain","Got browser time ..."); -#ifdef USE_AUTH COOKIE +#ifdef USE_AUTH_COOKIE }).setFilter(myHandshake); #else }); @@ -640,7 +640,7 @@ void setup(){ #endif }); request->send(200, "text/plain","Restarting ..."); -#ifdef USE_AUTH COOKIE +#ifdef USE_AUTH_COOKIE }).setFilter(myHandshake); #else }); @@ -659,7 +659,7 @@ void setup(){ #endif }); request->send(200, "text/plain","Erasing WiFi data ..."); -#ifdef USE_AUTH COOKIE +#ifdef USE_AUTH_COOKIE }).setFilter(myHandshake); #else }); From a67ba33153b44ffeb641ddb3753b73250704ce6b Mon Sep 17 00:00:00 2001 From: lorol Date: Mon, 22 Jun 2020 15:09:21 -0400 Subject: [PATCH 28/47] Minor modification of app index.htm for better outlook on Chrome browser. Tested with LITTLEFS. Refreshed & checked if everything else still works. --- .../ESP_AsyncFSBrowser/data/acefull.js.gz | Bin 119986 -> 119986 bytes .../ESP_AsyncFSBrowser/data/worker-css.js.gz | Bin 35483 -> 35483 bytes .../ESP_AsyncFSBrowser/data/worker-html.js.gz | Bin 47406 -> 47406 bytes .../data/worker-javascript.js.gz | Bin 47729 -> 47729 bytes examples/SmartSwitch/data/acefull.js.gz | Bin 119986 -> 119986 bytes examples/SmartSwitch/data/index.htm | 2 +- examples/SmartSwitch/data/worker-css.js.gz | Bin 35483 -> 35483 bytes examples/SmartSwitch/data/worker-html.js.gz | Bin 47406 -> 47406 bytes .../SmartSwitch/data/worker-javascript.js.gz | Bin 47729 -> 47729 bytes src/edit.htm.gz.h | 2 +- 10 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/ESP_AsyncFSBrowser/data/acefull.js.gz b/examples/ESP_AsyncFSBrowser/data/acefull.js.gz index 1c60522393af9280fd007d1cbd4b180ac3f4943c..9ce2845d6af3d0227403882a26b74b1064e181a6 100644 GIT binary patch delta 21 dcmdnAl6})kc6Rx04vx~c diff --git a/examples/ESP_AsyncFSBrowser/data/worker-css.js.gz b/examples/ESP_AsyncFSBrowser/data/worker-css.js.gz index 2dd76b9b1dff40f199896e8d16a724312dffc73f..30355a778582facac1906df6d65b79d52180c07a 100644 GIT binary patch delta 18 acmbO|m1*`=CU*I54vtR@A2+g3=>h;f&j#NB delta 18 acmbO|m1*`=CU*I54vvotUvFfe(ggrPa0ht+ diff --git a/examples/ESP_AsyncFSBrowser/data/worker-html.js.gz b/examples/ESP_AsyncFSBrowser/data/worker-html.js.gz index 0bf3cb8f6d4dfbc0f608f8eff90efa5ab4c3b1a6..47c560cdc44198d33201ee9363ac704458b77c30 100644 GIT binary patch delta 18 acmZ4YiD}&@CU*I54vvouA2+hA?*sr!(+7Y6 delta 18 acmZ4YiD}&@CU*I54vr5CUvFer-w6OtbO;&% diff --git a/examples/ESP_AsyncFSBrowser/data/worker-javascript.js.gz b/examples/ESP_AsyncFSBrowser/data/worker-javascript.js.gz index eef3ab50d21864679d896df4589d8e42bc51f2e1..c8abaa30d17fc7cdc79778537c3bf45277d27745 100644 GIT binary patch delta 18 acmezPh3VrLCU*I54vxImup diff --git a/examples/SmartSwitch/data/acefull.js.gz b/examples/SmartSwitch/data/acefull.js.gz index 1c60522393af9280fd007d1cbd4b180ac3f4943c..9ce2845d6af3d0227403882a26b74b1064e181a6 100644 GIT binary patch delta 21 dcmdnAl6})kc6Rx04vx~c diff --git a/examples/SmartSwitch/data/index.htm b/examples/SmartSwitch/data/index.htm index ea10e56..6775d9e 100644 --- a/examples/SmartSwitch/data/index.htm +++ b/examples/SmartSwitch/data/index.htm @@ -249,7 +249,7 @@ border-radius: 50%; background: white } - + *:focus {outline:none !important} diff --git a/examples/SmartSwitch/data/worker-css.js.gz b/examples/SmartSwitch/data/worker-css.js.gz index 2dd76b9b1dff40f199896e8d16a724312dffc73f..30355a778582facac1906df6d65b79d52180c07a 100644 GIT binary patch delta 18 acmbO|m1*`=CU*I54vtR@A2+g3=>h;f&j#NB delta 18 acmbO|m1*`=CU*I54vvotUvFfe(ggrPa0ht+ diff --git a/examples/SmartSwitch/data/worker-html.js.gz b/examples/SmartSwitch/data/worker-html.js.gz index 0bf3cb8f6d4dfbc0f608f8eff90efa5ab4c3b1a6..47c560cdc44198d33201ee9363ac704458b77c30 100644 GIT binary patch delta 18 acmZ4YiD}&@CU*I54vvouA2+hA?*sr!(+7Y6 delta 18 acmZ4YiD}&@CU*I54vr5CUvFer-w6OtbO;&% diff --git a/examples/SmartSwitch/data/worker-javascript.js.gz b/examples/SmartSwitch/data/worker-javascript.js.gz index eef3ab50d21864679d896df4589d8e42bc51f2e1..c8abaa30d17fc7cdc79778537c3bf45277d27745 100644 GIT binary patch delta 18 acmezPh3VrLCU*I54vxImup diff --git a/src/edit.htm.gz.h b/src/edit.htm.gz.h index c890b78..8ba8275 100644 --- a/src/edit.htm.gz.h +++ b/src/edit.htm.gz.h @@ -2,7 +2,7 @@ //File: edit.htm.gz, Size: 4503 #define edit_htm_gz_len 4503 const uint8_t edit_htm_gz[] PROGMEM = { -0x1F,0x8B,0x08,0x08,0xE1,0xA1,0xEB,0x5E,0x02,0x00,0x65,0x64,0x69,0x74,0x2E,0x68,0x74,0x6D,0x00,0xB5, +0x1F,0x8B,0x08,0x08,0xD4,0x00,0xF1,0x5E,0x02,0x00,0x65,0x64,0x69,0x74,0x2E,0x68,0x74,0x6D,0x00,0xB5, 0x1A,0x0B,0x5B,0xDB,0x36,0xF0,0xAF,0x18,0x6F,0x63,0xF6,0xE2,0x38,0x0E,0x50,0xD6,0x3A,0x18,0x16,0x1E, 0xEB,0xBB,0x50,0x12,0xDA,0xD1,0x8E,0xED,0x53,0x6C,0x25,0x56,0xB1,0x25,0xCF,0x96,0x09,0x34,0xCD,0x7F, 0xDF,0x49,0xF2,0x93,0x84,0xEE,0xF1,0x6D,0xA5,0x60,0x49,0xA7,0x3B,0xDD,0x9D,0xEE,0x25,0xD9,0x7B,0x1B, From 0b6b4ca3ddeea3d53b0fdef9a6fa22cf2b8f8580 Mon Sep 17 00:00:00 2001 From: lorol Date: Mon, 29 Jun 2020 10:31:31 -0400 Subject: [PATCH 29/47] --- .../ESP_AsyncFSBrowser/data/acefull.js.gz | Bin 119986 -> 119986 bytes .../ESP_AsyncFSBrowser/data/worker-css.js.gz | Bin 35483 -> 35483 bytes .../ESP_AsyncFSBrowser/data/worker-html.js.gz | Bin 47406 -> 47406 bytes .../data/worker-javascript.js.gz | Bin 47729 -> 47729 bytes examples/SmartSwitch/data/acefull.js.gz | Bin 119986 -> 119986 bytes examples/SmartSwitch/data/index.htm | 7 +++---- examples/SmartSwitch/data/worker-css.js.gz | Bin 35483 -> 35483 bytes examples/SmartSwitch/data/worker-html.js.gz | Bin 47406 -> 47406 bytes .../SmartSwitch/data/worker-javascript.js.gz | Bin 47729 -> 47729 bytes src/edit.htm.gz.h | 2 +- 10 files changed, 4 insertions(+), 5 deletions(-) diff --git a/examples/ESP_AsyncFSBrowser/data/acefull.js.gz b/examples/ESP_AsyncFSBrowser/data/acefull.js.gz index 9ce2845d6af3d0227403882a26b74b1064e181a6..5a816d7e0a68a9cdfd2d6572c9bebda9e18c3619 100644 GIT binary patch delta 21 dcmdnAl6})kc6Rx04vy4cKO5P%vNNu}0svfo2%-Q0 delta 21 dcmdnAl6})kc6Rx04vxZ=>h;h_y<$~ delta 18 acmbO|m1*`=CU*I54vtR@A2+g3=>h;f&j#NB diff --git a/examples/ESP_AsyncFSBrowser/data/worker-html.js.gz b/examples/ESP_AsyncFSBrowser/data/worker-html.js.gz index 47c560cdc44198d33201ee9363ac704458b77c30..f5b19901bf118d8b8d181e352b2842e8e84ff98f 100644 GIT binary patch delta 18 acmZ4YiD}&@CU*I54vv&xKR2?g?*sr${0H>_ delta 18 acmZ4YiD}&@CU*I54vvouA2+hA?*sr!(+7Y6 diff --git a/examples/ESP_AsyncFSBrowser/data/worker-javascript.js.gz b/examples/ESP_AsyncFSBrowser/data/worker-javascript.js.gz index c8abaa30d17fc7cdc79778537c3bf45277d27745..f3d1c7d7da726ccd3c42bf8fa060ba985e4665ba 100644 GIT binary patch delta 18 acmezPh3VrLCU*I54vy4cKR2>x?E(N+YY4;u delta 18 acmezPh3VrLCU*I54vx - + - + - + diff --git a/examples/SmartSwitch/data/worker-css.js.gz b/examples/SmartSwitch/data/worker-css.js.gz index 30355a778582facac1906df6d65b79d52180c07a..4aab43d890fb796e449a27829286064ef766b241 100644 GIT binary patch delta 18 acmbO|m1*`=CU*I54vy4cKR2>Z=>h;h_y<$~ delta 18 acmbO|m1*`=CU*I54vtR@A2+g3=>h;f&j#NB diff --git a/examples/SmartSwitch/data/worker-html.js.gz b/examples/SmartSwitch/data/worker-html.js.gz index 47c560cdc44198d33201ee9363ac704458b77c30..f5b19901bf118d8b8d181e352b2842e8e84ff98f 100644 GIT binary patch delta 18 acmZ4YiD}&@CU*I54vv&xKR2?g?*sr${0H>_ delta 18 acmZ4YiD}&@CU*I54vvouA2+hA?*sr!(+7Y6 diff --git a/examples/SmartSwitch/data/worker-javascript.js.gz b/examples/SmartSwitch/data/worker-javascript.js.gz index c8abaa30d17fc7cdc79778537c3bf45277d27745..f3d1c7d7da726ccd3c42bf8fa060ba985e4665ba 100644 GIT binary patch delta 18 acmezPh3VrLCU*I54vy4cKR2>x?E(N+YY4;u delta 18 acmezPh3VrLCU*I54vx Date: Fri, 3 Jul 2020 16:47:21 -0400 Subject: [PATCH 30/47] In src/SPIFFSEditor.cpp: using Arduino esp32 FS' LITTLEFS.mkdir(path) and LITTLEFS.rmdir(path) to get web file management working w/ LITTLEFS on ESP32. It is slightly different than with esp8266 LittleFS.h library. - On ESP32 w/ LITTLEFS, a new file can be created same way as with SPIFFS, /folder/folder/file.txt - folders are created silently, idea taken from: https://github.com/esp8266/Arduino/blob/master/libraries/LittleFS/src/LittleFS.cpp#L55 - On ESP32 w/ LITTLEFS file remove - first delete the file, then folders if empty - For a compatibility, a folder alone cannot be purposely created. A file will be created instead. - Note, a confuse may occur: /mystuff could be a folder or a file, both will look same way on SPIFFSEditor web file tree. --- .../ESP_AsyncFSBrowser/data/acefull.js.gz | Bin 119986 -> 119986 bytes .../ESP_AsyncFSBrowser/data/worker-css.js.gz | Bin 35483 -> 35483 bytes .../ESP_AsyncFSBrowser/data/worker-html.js.gz | Bin 47406 -> 47406 bytes .../data/worker-javascript.js.gz | Bin 47729 -> 47729 bytes examples/SmartSwitch/data/acefull.js.gz | Bin 119986 -> 119986 bytes examples/SmartSwitch/data/worker-css.js.gz | Bin 35483 -> 35483 bytes examples/SmartSwitch/data/worker-html.js.gz | Bin 47406 -> 47406 bytes .../SmartSwitch/data/worker-javascript.js.gz | Bin 47729 -> 47729 bytes src/SPIFFSEditor.cpp | 25 +++++++++++++++++- src/edit.htm.gz.h | 2 +- 10 files changed, 25 insertions(+), 2 deletions(-) diff --git a/examples/ESP_AsyncFSBrowser/data/acefull.js.gz b/examples/ESP_AsyncFSBrowser/data/acefull.js.gz index 5a816d7e0a68a9cdfd2d6572c9bebda9e18c3619..f795265513b69a806659da016f00ad4d78ec4b24 100644 GIT binary patch delta 21 dcmdnAl6})kc6Rx04i4$6|BdWh*%?<~0RUA>2i^bx delta 21 dcmdnAl6})kc6Rx04vy4cKO5P%vNNu}0svfo2%-Q0 diff --git a/examples/ESP_AsyncFSBrowser/data/worker-css.js.gz b/examples/ESP_AsyncFSBrowser/data/worker-css.js.gz index 4aab43d890fb796e449a27829286064ef766b241..0ba451b948d8798fe8b21a6e20d779c64ccdd0fb 100644 GIT binary patch delta 18 acmbO|m1*`=CU*I54i2fR{~Ot-bO8W62?mb< delta 18 acmbO|m1*`=CU*I54vy4cKR2>Z=>h;h_y<$~ diff --git a/examples/ESP_AsyncFSBrowser/data/worker-html.js.gz b/examples/ESP_AsyncFSBrowser/data/worker-html.js.gz index f5b19901bf118d8b8d181e352b2842e8e84ff98f..496312885798882fc08b5cc91d5fbc1d686cf414 100644 GIT binary patch delta 18 acmZ4YiD}&@CU*I54i3qx{~OuWcLD%N4F@m) delta 18 acmZ4YiD}&@CU*I54vv&xKR2?g?*sr${0H>_ diff --git a/examples/ESP_AsyncFSBrowser/data/worker-javascript.js.gz b/examples/ESP_AsyncFSBrowser/data/worker-javascript.js.gz index f3d1c7d7da726ccd3c42bf8fa060ba985e4665ba..9909a164a99e567cff41557c05ac26b9db42d6cc 100644 GIT binary patch delta 18 acmezPh3VrLCU*I54i4$6{~Ot}b^!oUg9rcs delta 18 acmezPh3VrLCU*I54vy4cKR2>x?E(N+YY4;u diff --git a/examples/SmartSwitch/data/acefull.js.gz b/examples/SmartSwitch/data/acefull.js.gz index 5a816d7e0a68a9cdfd2d6572c9bebda9e18c3619..f795265513b69a806659da016f00ad4d78ec4b24 100644 GIT binary patch delta 21 dcmdnAl6})kc6Rx04i4$6|BdWh*%?<~0RUA>2i^bx delta 21 dcmdnAl6})kc6Rx04vy4cKO5P%vNNu}0svfo2%-Q0 diff --git a/examples/SmartSwitch/data/worker-css.js.gz b/examples/SmartSwitch/data/worker-css.js.gz index 4aab43d890fb796e449a27829286064ef766b241..0ba451b948d8798fe8b21a6e20d779c64ccdd0fb 100644 GIT binary patch delta 18 acmbO|m1*`=CU*I54i2fR{~Ot-bO8W62?mb< delta 18 acmbO|m1*`=CU*I54vy4cKR2>Z=>h;h_y<$~ diff --git a/examples/SmartSwitch/data/worker-html.js.gz b/examples/SmartSwitch/data/worker-html.js.gz index f5b19901bf118d8b8d181e352b2842e8e84ff98f..496312885798882fc08b5cc91d5fbc1d686cf414 100644 GIT binary patch delta 18 acmZ4YiD}&@CU*I54i3qx{~OuWcLD%N4F@m) delta 18 acmZ4YiD}&@CU*I54vv&xKR2?g?*sr${0H>_ diff --git a/examples/SmartSwitch/data/worker-javascript.js.gz b/examples/SmartSwitch/data/worker-javascript.js.gz index f3d1c7d7da726ccd3c42bf8fa060ba985e4665ba..9909a164a99e567cff41557c05ac26b9db42d6cc 100644 GIT binary patch delta 18 acmezPh3VrLCU*I54i4$6{~Ot}b^!oUg9rcs delta 18 acmezPh3VrLCU*I54vy4cKR2>x?E(N+YY4;u diff --git a/src/SPIFFSEditor.cpp b/src/SPIFFSEditor.cpp index 2a2598b..e088570 100644 --- a/src/SPIFFSEditor.cpp +++ b/src/SPIFFSEditor.cpp @@ -240,6 +240,9 @@ void SPIFFSEditor::handleRequest(AsyncWebServerRequest *request){ } } else if(request->method() == HTTP_DELETE){ if(request->hasParam("path", true)){ +#ifdef ESP32 + _fs.rmdir(request->getParam("path", true)->value()); // try rmdir for littlefs +#endif _fs.remove(request->getParam("path", true)->value()); request->send(200, "", "DELETE: "+request->getParam("path", true)->value()); } else @@ -275,7 +278,27 @@ void SPIFFSEditor::handleRequest(AsyncWebServerRequest *request){ String filename = request->getParam("path", true)->value(); if(_fs.exists(filename)){ request->send(200); - } else { + } else { +/*******************************************************/ +#ifdef ESP32 + if (strchr(filename.c_str(), '/')) { + // For file creation, silently make subdirs as needed. If any fail, + // it will be caught by the real file open later on + char *pathStr = strdup(filename.c_str()); + if (pathStr) { + // Make dirs up to the final fnamepart + char *ptr = strchr(pathStr, '/'); + while (ptr) { + *ptr = 0; + _fs.mkdir(pathStr); + *ptr = '/'; + ptr = strchr(ptr+1, '/'); + } + } + free(pathStr); + } +#endif +/*******************************************************/ fs::File f = _fs.open(filename, "w"); if(f){ f.write((uint8_t)0x00); diff --git a/src/edit.htm.gz.h b/src/edit.htm.gz.h index 542f9d8..0f937aa 100644 --- a/src/edit.htm.gz.h +++ b/src/edit.htm.gz.h @@ -2,7 +2,7 @@ //File: edit.htm.gz, Size: 4503 #define edit_htm_gz_len 4503 const uint8_t edit_htm_gz[] PROGMEM = { -0x1F,0x8B,0x08,0x08,0x59,0xFA,0xF9,0x5E,0x02,0x00,0x65,0x64,0x69,0x74,0x2E,0x68,0x74,0x6D,0x00,0xB5, +0x1F,0x8B,0x08,0x08,0x0F,0x7A,0xFF,0x5E,0x02,0x00,0x65,0x64,0x69,0x74,0x2E,0x68,0x74,0x6D,0x00,0xB5, 0x1A,0x0B,0x5B,0xDB,0x36,0xF0,0xAF,0x18,0x6F,0x63,0xF6,0xE2,0x38,0x0E,0x50,0xD6,0x3A,0x18,0x16,0x1E, 0xEB,0xBB,0x50,0x12,0xDA,0xD1,0x8E,0xED,0x53,0x6C,0x25,0x56,0xB1,0x25,0xCF,0x96,0x09,0x34,0xCD,0x7F, 0xDF,0x49,0xF2,0x93,0x84,0xEE,0xF1,0x6D,0xA5,0x60,0x49,0xA7,0x3B,0xDD,0x9D,0xEE,0x25,0xD9,0x7B,0x1B, From 0823e9d9406de9365f9104d4239bf221e1156387 Mon Sep 17 00:00:00 2001 From: lorol Date: Fri, 3 Jul 2020 18:29:55 -0400 Subject: [PATCH 31/47] Minor corrections --- README.md | 3 ++- src/SPIFFSEditor.cpp | 7 +++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 7563bfb..ec14bda 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # In this fork - SPIFFSEditor improvements -- Added [extras](https://github.com/lorol/ESPAsyncWebServer/tree/master/extras) folder with (Win) tools for re-packing, allow editing, updating and compressing html to binary arrays, embedded to source +- Added [extras](https://github.com/lorol/ESPAsyncWebServer/tree/master/extras) folder with (Win) tools for re-packing, editing, updating and compressing html to binary arrays embedded to source - Added a [SmartSwitch](https://github.com/lorol/ESPAsyncWebServer/tree/master/examples/SmartSwitch) example to test code features - Applied the memory optimizations from [sascha432](https://github.com/sascha432/ESPAsyncWebServer) fork - Cookie Authentication including on Websocket part, based on [ayushsharma82](https://github.com/me-no-dev/ESPAsyncWebServer/pull/684) PR, new functions added: @@ -9,6 +9,7 @@ - [Additions to this README.md from jendakol' PR](https://github.com/me-no-dev/ESPAsyncWebServer/pull/770) - [Respond with file content using a callback and extra headers](#respond-with-file-content-using-a-callback-and-extra-headers) - [Serving static files by custom handling](#serving-static-files-by-custom-handling) + - Added LittleFS choice for both [esp8266](https://github.com/esp8266/Arduino/tree/master/libraries/LittleFS) / [esp32](https://github.com/lorol/LITTLEFS) , see [SmartSwitch](https://github.com/lorol/ESPAsyncWebServer/blob/master/examples/SmartSwitch/SmartSwitch.ino#L16 ) ------------------------------------------------------------------------------------------ # ESPAsyncWebServer diff --git a/src/SPIFFSEditor.cpp b/src/SPIFFSEditor.cpp index e088570..e7a592e 100644 --- a/src/SPIFFSEditor.cpp +++ b/src/SPIFFSEditor.cpp @@ -240,10 +240,13 @@ void SPIFFSEditor::handleRequest(AsyncWebServerRequest *request){ } } else if(request->method() == HTTP_DELETE){ if(request->hasParam("path", true)){ + + if(!(_fs.remove(request->getParam("path", true)->value()))){ #ifdef ESP32 - _fs.rmdir(request->getParam("path", true)->value()); // try rmdir for littlefs + _fs.rmdir(request->getParam("path", true)->value()); // try rmdir for littlefs #endif - _fs.remove(request->getParam("path", true)->value()); + } + request->send(200, "", "DELETE: "+request->getParam("path", true)->value()); } else request->send(404); From 1f3541b1dd4e981daef465d97bc3c57920bf1699 Mon Sep 17 00:00:00 2001 From: lorol Date: Fri, 10 Jul 2020 07:53:21 -0400 Subject: [PATCH 32/47] Updates to test ffat partition alternative on esp32, see https://github.com/lorol/arduino-esp32fatfs-plugin examples/ESP_AsyncFSBrowser examples/SmartSwitch updated ACE editor js. css. gz components in example's /data folder (they are used by SPIFFSEditor) --- README.md | 4 +- .../ESP_AsyncFSBrowser/ESP_AsyncFSBrowser.ino | 482 +++++++++--------- .../ESP_AsyncFSBrowser/data/acefull.js.gz | Bin 119986 -> 117524 bytes .../ESP_AsyncFSBrowser/data/worker-css.js.gz | Bin 35483 -> 32927 bytes .../ESP_AsyncFSBrowser/data/worker-html.js.gz | Bin 47406 -> 45019 bytes .../data/worker-javascript.js.gz | Bin 47729 -> 112558 bytes examples/SmartSwitch/SmartSwitch.ino | 50 +- examples/SmartSwitch/data/acefull.js.gz | Bin 119986 -> 117524 bytes examples/SmartSwitch/data/worker-css.js.gz | Bin 35483 -> 32927 bytes examples/SmartSwitch/data/worker-html.js.gz | Bin 47406 -> 45019 bytes .../SmartSwitch/data/worker-javascript.js.gz | Bin 47729 -> 112558 bytes src/edit.htm.gz.h | 2 +- 12 files changed, 285 insertions(+), 253 deletions(-) diff --git a/README.md b/README.md index ec14bda..d3d3cf9 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # In this fork -- SPIFFSEditor improvements +- SPIFFSEditor modifications - Added [extras](https://github.com/lorol/ESPAsyncWebServer/tree/master/extras) folder with (Win) tools for re-packing, editing, updating and compressing html to binary arrays embedded to source - Added a [SmartSwitch](https://github.com/lorol/ESPAsyncWebServer/tree/master/examples/SmartSwitch) example to test code features - Applied the memory optimizations from [sascha432](https://github.com/sascha432/ESPAsyncWebServer) fork @@ -9,7 +9,7 @@ - [Additions to this README.md from jendakol' PR](https://github.com/me-no-dev/ESPAsyncWebServer/pull/770) - [Respond with file content using a callback and extra headers](#respond-with-file-content-using-a-callback-and-extra-headers) - [Serving static files by custom handling](#serving-static-files-by-custom-handling) - - Added LittleFS choice for both [esp8266](https://github.com/esp8266/Arduino/tree/master/libraries/LittleFS) / [esp32](https://github.com/lorol/LITTLEFS) , see [SmartSwitch](https://github.com/lorol/ESPAsyncWebServer/blob/master/examples/SmartSwitch/SmartSwitch.ino#L16 ) + - Added LittleFS choice for both [esp8266](https://github.com/esp8266/Arduino/tree/master/libraries/LittleFS) / [esp32](https://github.com/lorol/LITTLEFS) , and FatFS tests for esp32 see [SmartSwitch](https://github.com/lorol/ESPAsyncWebServer/blob/master/examples/SmartSwitch/SmartSwitch.ino#L16 ) ------------------------------------------------------------------------------------------ # ESPAsyncWebServer diff --git a/examples/ESP_AsyncFSBrowser/ESP_AsyncFSBrowser.ino b/examples/ESP_AsyncFSBrowser/ESP_AsyncFSBrowser.ino index b12106b..dab2f06 100644 --- a/examples/ESP_AsyncFSBrowser/ESP_AsyncFSBrowser.ino +++ b/examples/ESP_AsyncFSBrowser/ESP_AsyncFSBrowser.ino @@ -1,234 +1,248 @@ -#define USE_LittleFS // possible only for ESP8266 for now - -#include - -#ifdef ESP32 - #include - #ifdef USE_LittleFS - #define SPIFFS LITTLEFS - #include - #else - #include - #endif - #include - #include - #include -#elif defined(ESP8266) - #ifdef USE_LittleFS - #include - #define SPIFFS LittleFS - #include - #endif -#include -#include -#include -#endif -#include -#include - -// SKETCH BEGIN -AsyncWebServer server(80); -AsyncWebSocket ws("/ws"); -AsyncEventSource events("/events"); - -void onWsEvent(AsyncWebSocket * server, AsyncWebSocketClient * client, AwsEventType type, void * arg, uint8_t *data, size_t len){ - if(type == WS_EVT_CONNECT){ - Serial.printf("ws[%s][%u] connect\n", server->url(), client->id()); - client->printf("Hello Client %u :)", client->id()); - client->ping(); - } else if(type == WS_EVT_DISCONNECT){ - Serial.printf("ws[%s][%u] disconnect\n", server->url(), client->id()); - } else if(type == WS_EVT_ERROR){ - Serial.printf("ws[%s][%u] error(%u): %s\n", server->url(), client->id(), *((uint16_t*)arg), (char*)data); - } else if(type == WS_EVT_PONG){ - Serial.printf("ws[%s][%u] pong[%u]: %s\n", server->url(), client->id(), len, (len)?(char*)data:""); - } else if(type == WS_EVT_DATA){ - AwsFrameInfo * info = (AwsFrameInfo*)arg; - String msg = ""; - if(info->final && info->index == 0 && info->len == len){ - //the whole message is in a single frame and we got all of it's data - Serial.printf("ws[%s][%u] %s-message[%llu]: ", server->url(), client->id(), (info->opcode == WS_TEXT)?"text":"binary", info->len); - - if(info->opcode == WS_TEXT){ - for(size_t i=0; i < info->len; i++) { - msg += (char) data[i]; - } - } else { - char buff[3]; - for(size_t i=0; i < info->len; i++) { - sprintf(buff, "%02x ", (uint8_t) data[i]); - msg += buff ; - } - } - Serial.printf("%s\n",msg.c_str()); - - if(info->opcode == WS_TEXT) - client->text("I got your text message"); - else - client->binary("I got your binary message"); - } else { - //message is comprised of multiple frames or the frame is split into multiple packets - if(info->index == 0){ - if(info->num == 0) - Serial.printf("ws[%s][%u] %s-message start\n", server->url(), client->id(), (info->message_opcode == WS_TEXT)?"text":"binary"); - Serial.printf("ws[%s][%u] frame[%u] start[%llu]\n", server->url(), client->id(), info->num, info->len); - } - - Serial.printf("ws[%s][%u] frame[%u] %s[%llu - %llu]: ", server->url(), client->id(), info->num, (info->message_opcode == WS_TEXT)?"text":"binary", info->index, info->index + len); - - if(info->opcode == WS_TEXT){ - for(size_t i=0; i < len; i++) { - msg += (char) data[i]; - } - } else { - char buff[3]; - for(size_t i=0; i < len; i++) { - sprintf(buff, "%02x ", (uint8_t) data[i]); - msg += buff ; - } - } - Serial.printf("%s\n",msg.c_str()); - - if((info->index + len) == info->len){ - Serial.printf("ws[%s][%u] frame[%u] end[%llu]\n", server->url(), client->id(), info->num, info->len); - if(info->final){ - Serial.printf("ws[%s][%u] %s-message end\n", server->url(), client->id(), (info->message_opcode == WS_TEXT)?"text":"binary"); - if(info->message_opcode == WS_TEXT) - client->text("I got your text message"); - else - client->binary("I got your binary message"); - } - } - } - } -} - - -const char* ssid = "*******"; -const char* password = "*******"; -const char * hostName = "esp-async"; -const char* http_username = "admin"; -const char* http_password = "admin"; - -void setup(){ - Serial.begin(115200); - Serial.setDebugOutput(true); - WiFi.mode(WIFI_AP_STA); - WiFi.softAP(hostName); - WiFi.begin(ssid, password); - if (WiFi.waitForConnectResult() != WL_CONNECTED) { - Serial.printf("STA: Failed!\n"); - WiFi.disconnect(false); - delay(1000); - WiFi.begin(ssid, password); - } - - //Send OTA events to the browser - ArduinoOTA.onStart([]() { events.send("Update Start", "ota"); }); - ArduinoOTA.onEnd([]() { events.send("Update End", "ota"); }); - ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) { - char p[32]; - sprintf(p, "Progress: %u%%\n", (progress/(total/100))); - events.send(p, "ota"); - }); - ArduinoOTA.onError([](ota_error_t error) { - if(error == OTA_AUTH_ERROR) events.send("Auth Failed", "ota"); - else if(error == OTA_BEGIN_ERROR) events.send("Begin Failed", "ota"); - else if(error == OTA_CONNECT_ERROR) events.send("Connect Failed", "ota"); - else if(error == OTA_RECEIVE_ERROR) events.send("Recieve Failed", "ota"); - else if(error == OTA_END_ERROR) events.send("End Failed", "ota"); - }); - ArduinoOTA.setHostname(hostName); - ArduinoOTA.begin(); - - MDNS.addService("http","tcp",80); - - SPIFFS.begin(); - - ws.onEvent(onWsEvent); - server.addHandler(&ws); - - events.onConnect([](AsyncEventSourceClient *client){ - client->send("hello!",NULL,millis(),1000); - }); - server.addHandler(&events); - -#ifdef ESP32 - server.addHandler(new SPIFFSEditor(SPIFFS, http_username,http_password)); -#elif defined(ESP8266) - server.addHandler(new SPIFFSEditor(http_username,http_password)); -#endif - - server.on("/heap", HTTP_GET, [](AsyncWebServerRequest *request){ - request->send(200, "text/plain", String(ESP.getFreeHeap())); - }); - - server.serveStatic("/", SPIFFS, "/").setDefaultFile("index.htm"); - - server.onNotFound([](AsyncWebServerRequest *request){ - Serial.printf("NOT_FOUND: "); - if(request->method() == HTTP_GET) - Serial.printf("GET"); - else if(request->method() == HTTP_POST) - Serial.printf("POST"); - else if(request->method() == HTTP_DELETE) - Serial.printf("DELETE"); - else if(request->method() == HTTP_PUT) - Serial.printf("PUT"); - else if(request->method() == HTTP_PATCH) - Serial.printf("PATCH"); - else if(request->method() == HTTP_HEAD) - Serial.printf("HEAD"); - else if(request->method() == HTTP_OPTIONS) - Serial.printf("OPTIONS"); - else - Serial.printf("UNKNOWN"); - Serial.printf(" http://%s%s\n", request->host().c_str(), request->url().c_str()); - - if(request->contentLength()){ - Serial.printf("_CONTENT_TYPE: %s\n", request->contentType().c_str()); - Serial.printf("_CONTENT_LENGTH: %u\n", request->contentLength()); - } - - int headers = request->headers(); - int i; - for(i=0;igetHeader(i); - Serial.printf("_HEADER[%s]: %s\n", h->name().c_str(), h->value().c_str()); - } - - int params = request->params(); - for(i=0;igetParam(i); - if(p->isFile()){ - Serial.printf("_FILE[%s]: %s, size: %u\n", p->name().c_str(), p->value().c_str(), p->size()); - } else if(p->isPost()){ - Serial.printf("_POST[%s]: %s\n", p->name().c_str(), p->value().c_str()); - } else { - Serial.printf("_GET[%s]: %s\n", p->name().c_str(), p->value().c_str()); - } - } - - request->send(404); - }); - server.onFileUpload([](AsyncWebServerRequest *request, const String& filename, size_t index, uint8_t *data, size_t len, bool final){ - if(!index) - Serial.printf("UploadStart: %s\n", filename.c_str()); - Serial.printf("%s", (const char*)data); - if(final) - Serial.printf("UploadEnd: %s (%u)\n", filename.c_str(), index+len); - }); - server.onRequestBody([](AsyncWebServerRequest *request, uint8_t *data, size_t len, size_t index, size_t total){ - if(!index) - Serial.printf("BodyStart: %u\n", total); - Serial.printf("%s", (const char*)data); - if(index + len == total) - Serial.printf("BodyEnd: %u\n", total); - }); - server.begin(); -} - -void loop(){ - ArduinoOTA.handle(); - ws.cleanupClients(); -} +// Defaulut is SPIFFS, FatFS: only on ESP32, also choose partition scheme w/ ffat. +// Comment 2 lines below or uncomment only one of them + +//#define USE_LittleFS +//#define USE_FatFS // Only ESP32 + +#include +#ifdef ESP32 + #include + #ifdef USE_LittleFS + #define MYFS LITTLEFS + #include "LITTLEFS.h" + #elif defined(USE_FatFS) + #define MYFS FFat + #include "FFat.h" + #else + #define MYFS SPIFFS + #include + #endif + #include + #include + #include +#elif defined(ESP8266) + #ifdef USE_LittleFS + #include + #define MYFS LittleFS + #include + #elif defined(USE_FatFS) + #error "FatFS only on ESP32 for now!" + #else + #define MYFS SPIFFS + #endif + #include + #include + #include +#endif +#include +#include + + +// SKETCH BEGIN +AsyncWebServer server(80); +AsyncWebSocket ws("/ws"); +AsyncEventSource events("/events"); + +void onWsEvent(AsyncWebSocket * server, AsyncWebSocketClient * client, AwsEventType type, void * arg, uint8_t *data, size_t len){ + if(type == WS_EVT_CONNECT){ + Serial.printf("ws[%s][%u] connect\n", server->url(), client->id()); + client->printf("Hello Client %u :)", client->id()); + client->ping(); + } else if(type == WS_EVT_DISCONNECT){ + Serial.printf("ws[%s][%u] disconnect\n", server->url(), client->id()); + } else if(type == WS_EVT_ERROR){ + Serial.printf("ws[%s][%u] error(%u): %s\n", server->url(), client->id(), *((uint16_t*)arg), (char*)data); + } else if(type == WS_EVT_PONG){ + Serial.printf("ws[%s][%u] pong[%u]: %s\n", server->url(), client->id(), len, (len)?(char*)data:""); + } else if(type == WS_EVT_DATA){ + AwsFrameInfo * info = (AwsFrameInfo*)arg; + String msg = ""; + if(info->final && info->index == 0 && info->len == len){ + //the whole message is in a single frame and we got all of it's data + Serial.printf("ws[%s][%u] %s-message[%llu]: ", server->url(), client->id(), (info->opcode == WS_TEXT)?"text":"binary", info->len); + + if(info->opcode == WS_TEXT){ + for(size_t i=0; i < info->len; i++) { + msg += (char) data[i]; + } + } else { + char buff[3]; + for(size_t i=0; i < info->len; i++) { + sprintf(buff, "%02x ", (uint8_t) data[i]); + msg += buff ; + } + } + Serial.printf("%s\n",msg.c_str()); + + if(info->opcode == WS_TEXT) + client->text("I got your text message"); + else + client->binary("I got your binary message"); + } else { + //message is comprised of multiple frames or the frame is split into multiple packets + if(info->index == 0){ + if(info->num == 0) + Serial.printf("ws[%s][%u] %s-message start\n", server->url(), client->id(), (info->message_opcode == WS_TEXT)?"text":"binary"); + Serial.printf("ws[%s][%u] frame[%u] start[%llu]\n", server->url(), client->id(), info->num, info->len); + } + + Serial.printf("ws[%s][%u] frame[%u] %s[%llu - %llu]: ", server->url(), client->id(), info->num, (info->message_opcode == WS_TEXT)?"text":"binary", info->index, info->index + len); + + if(info->opcode == WS_TEXT){ + for(size_t i=0; i < len; i++) { + msg += (char) data[i]; + } + } else { + char buff[3]; + for(size_t i=0; i < len; i++) { + sprintf(buff, "%02x ", (uint8_t) data[i]); + msg += buff ; + } + } + Serial.printf("%s\n",msg.c_str()); + + if((info->index + len) == info->len){ + Serial.printf("ws[%s][%u] frame[%u] end[%llu]\n", server->url(), client->id(), info->num, info->len); + if(info->final){ + Serial.printf("ws[%s][%u] %s-message end\n", server->url(), client->id(), (info->message_opcode == WS_TEXT)?"text":"binary"); + if(info->message_opcode == WS_TEXT) + client->text("I got your text message"); + else + client->binary("I got your binary message"); + } + } + } + } +} + +const char* ssid = "*****"; +const char* password = "*****"; +const char* hostName = "esp-async"; +const char* http_username = "admin"; +const char* http_password = "admin"; + +void setup(){ + Serial.begin(115200); + Serial.setDebugOutput(true); + WiFi.mode(WIFI_AP_STA); + WiFi.softAP(hostName); + WiFi.begin(ssid, password); + if (WiFi.waitForConnectResult() != WL_CONNECTED) { + Serial.printf("STA: Failed!\n"); + WiFi.disconnect(false); + delay(1000); + WiFi.begin(ssid, password); + } + + Serial.print(F("*CONNECTED* IP:")); + Serial.println(WiFi.localIP()); + + //Send OTA events to the browser + ArduinoOTA.onStart([]() { events.send("Update Start", "ota"); }); + ArduinoOTA.onEnd([]() { events.send("Update End", "ota"); }); + ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) { + char p[32]; + sprintf(p, "Progress: %u%%\n", (progress/(total/100))); + events.send(p, "ota"); + }); + ArduinoOTA.onError([](ota_error_t error) { + if(error == OTA_AUTH_ERROR) events.send("Auth Failed", "ota"); + else if(error == OTA_BEGIN_ERROR) events.send("Begin Failed", "ota"); + else if(error == OTA_CONNECT_ERROR) events.send("Connect Failed", "ota"); + else if(error == OTA_RECEIVE_ERROR) events.send("Recieve Failed", "ota"); + else if(error == OTA_END_ERROR) events.send("End Failed", "ota"); + }); + ArduinoOTA.setHostname(hostName); + ArduinoOTA.begin(); + + MDNS.addService("http","tcp",80); + + MYFS.begin(); + + ws.onEvent(onWsEvent); + server.addHandler(&ws); + + events.onConnect([](AsyncEventSourceClient *client){ + client->send("hello!",NULL,millis(),1000); + }); + server.addHandler(&events); + +#ifdef ESP32 + server.addHandler(new SPIFFSEditor(MYFS, http_username,http_password)); +#elif defined(ESP8266) + server.addHandler(new SPIFFSEditor(http_username,http_password, MYFS)); +#endif + + server.on("/heap", HTTP_GET, [](AsyncWebServerRequest *request){ + request->send(200, "text/plain", String(ESP.getFreeHeap())); + }); + + server.serveStatic("/", MYFS, "/").setDefaultFile("index.htm"); + + server.onNotFound([](AsyncWebServerRequest *request){ + Serial.printf("NOT_FOUND: "); + if(request->method() == HTTP_GET) + Serial.printf("GET"); + else if(request->method() == HTTP_POST) + Serial.printf("POST"); + else if(request->method() == HTTP_DELETE) + Serial.printf("DELETE"); + else if(request->method() == HTTP_PUT) + Serial.printf("PUT"); + else if(request->method() == HTTP_PATCH) + Serial.printf("PATCH"); + else if(request->method() == HTTP_HEAD) + Serial.printf("HEAD"); + else if(request->method() == HTTP_OPTIONS) + Serial.printf("OPTIONS"); + else + Serial.printf("UNKNOWN"); + Serial.printf(" http://%s%s\n", request->host().c_str(), request->url().c_str()); + + if(request->contentLength()){ + Serial.printf("_CONTENT_TYPE: %s\n", request->contentType().c_str()); + Serial.printf("_CONTENT_LENGTH: %u\n", request->contentLength()); + } + + int headers = request->headers(); + int i; + for(i=0;igetHeader(i); + Serial.printf("_HEADER[%s]: %s\n", h->name().c_str(), h->value().c_str()); + } + + int params = request->params(); + for(i=0;igetParam(i); + if(p->isFile()){ + Serial.printf("_FILE[%s]: %s, size: %u\n", p->name().c_str(), p->value().c_str(), p->size()); + } else if(p->isPost()){ + Serial.printf("_POST[%s]: %s\n", p->name().c_str(), p->value().c_str()); + } else { + Serial.printf("_GET[%s]: %s\n", p->name().c_str(), p->value().c_str()); + } + } + + request->send(404); + }); + server.onFileUpload([](AsyncWebServerRequest *request, const String& filename, size_t index, uint8_t *data, size_t len, bool final){ + if(!index) + Serial.printf("UploadStart: %s\n", filename.c_str()); + Serial.printf("%s", (const char*)data); + if(final) + Serial.printf("UploadEnd: %s (%u)\n", filename.c_str(), index+len); + }); + server.onRequestBody([](AsyncWebServerRequest *request, uint8_t *data, size_t len, size_t index, size_t total){ + if(!index) + Serial.printf("BodyStart: %u\n", total); + Serial.printf("%s", (const char*)data); + if(index + len == total) + Serial.printf("BodyEnd: %u\n", total); + }); + server.begin(); +} + +void loop(){ + ArduinoOTA.handle(); + ws.cleanupClients(); +} diff --git a/examples/ESP_AsyncFSBrowser/data/acefull.js.gz b/examples/ESP_AsyncFSBrowser/data/acefull.js.gz index f795265513b69a806659da016f00ad4d78ec4b24..e88a884655abb64466041d0be61874b93598a18c 100644 GIT binary patch literal 117524 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 F0RUV|4hR4M literal 119986 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

?a`Mph8U>jb&y)}R+hQe_ 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 diff --git a/examples/ESP_AsyncFSBrowser/data/worker-css.js.gz b/examples/ESP_AsyncFSBrowser/data/worker-css.js.gz index 0ba451b948d8798fe8b21a6e20d779c64ccdd0fb..658f04aff7224a0bb99abbdd273f99d8ced0b420 100644 GIT binary patch delta 7007 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 NqxW9W{LaM0006=Mj^F?Q delta 9568 zcmbQ=$TWK@Q@wmQ2ZvPE|2QUw^8BLg)FR#F;$pq5VumHs&x?#rKZL$%=2Tx}VV3*g z4<~;vTUv(m@5vI+HcWLXxF+eTR-;l^UUqf;jDUYfmS6oAyEcpKreEJI|1E(@*=kaCPC;XWZ*bYmc9HKeDE4*&!}z z`af}5Ji#)2RjAHZ`7G7VY8O&<7b~!=^v&2XzwpNqyFa;0lV^Quk2>Sg^;gWn zdK^!F?&)Yg(0!1l=Ok;?nflDul1$A=&1*?)_d^*Y^$uHj?K;2row#__sRKsyA3D^} z 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 diff --git a/examples/ESP_AsyncFSBrowser/data/worker-html.js.gz b/examples/ESP_AsyncFSBrowser/data/worker-html.js.gz index 496312885798882fc08b5cc91d5fbc1d686cf414..1556f5a8dfa9319797730cd5ec88e48ac19f36da 100644 GIT binary patch literal 45019 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

( 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 literal 47406 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®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 U#kTAT8T*)}E^ut%+QZHO0KHo$*#H0l literal 47729 zcmb2|=HQU7`X9%{P@Z3uom!-ul~|TooLrPyP@DS`d-|s2)?S9>K#;eq>`{zQj zOMj+*Z4`D%@A1u-;T1SskUw+I``2Ohn%n=Z&o5Vfpq#_KA>91Q(nnw4d$T&ceW}V3 zx-Dhd3X}WQj4|R{RObqJl?Srh)e98ew(*H9WIAQ7_;Xvu?_9h4X0tChdcR#_u*TxW zhvS|aeV;jAr~j z_4$QAIE#O5pExa}M|joBC0$&fER>{}tRKqpm#usBE&9w^`CZKxt4!`TpVaa+Kf5nz z%hj*X${7yqpBw6B_A220(ffa1r&W9DuF!N*{NZq}mA@g=aoLM%6TMykc8E)@na0bOz@axG>0h++5?=3f@^IO8TnhH^@!6G^3x84_8`nCqoeo=kZ#z&=oMorqEXfgiYUvpRg%zt|% zQ2XSPdpSP>w@-F^7w>y2dF_rX@p&&@auV0gZCPNJJ(c%NZ_tjbvMF=q3)bxwosk_i z-z#dvybDYhw<}b9JG*Sdf#-kLCoe8Jee37CdoSGfYIVvh7fN02dGjTXP446(O-1=D z`rm67%|5wr<@U)*&r)({=&_#VY-z}j@rc>W&Zl=EVuH`9w6yw3EZ#XY7bJUaKHk^W zJn>6=uTa9BO`R3jQtk=}ZYY{qaAfJq8reWsx#r|&)q3y0*e1VU=XF%2G&9iOIg9gABlA!Sah6gfN67BI@(c)N>#evUL(Ms;OEC~xk9gKX!*r!MN8zWU{&;FBjob2sFLG>nFlRSYv5&#sPxo6HyLTN}#kMl`ez(|^u+P6L?(En4 zXq;zv%F{bxv-Px#(oZ(l3RD&6*X6#N#%`;%zfrI7hIT0H&bu6b*1nJ52;GUB|II3Z z@z;bz=P6kqLKF^~EZp-tY0H_{hp)MuH<;CH6 z<~4n*E=5e%Y0~^ZA7Kz3uPo5;^;}eMdobtoB(sMt+{uh1ze$x8AuW`7%A^ zx^A*sxr)p0oAS%6<`-}zv5IL(Cifg)zy1C8&@7=cGl7J#HR|E=N?RVkPI&Clq9aqzp&!eAv+wtrMj0R0 zPT?M1t66=EIyg6-&3a(BS}XLPMq+=mWMF2>l1rR!E8413L%%hMFs+n%ao4NaWcBPU zN3GnhZ&$DGzIu5EM@6t==lA=pPh#f3mzub?mwTDRraP10-ZZ+E;-Q=#67_gNtYQq? z<&48eUKkt;<(|1zcGeu;J50g%Uak24Ge@WG|Gknc`aC;jzt_tBs!^F$s_>~f@R5<^ z>J$Z$cD5x^>yBsqT*r{?+B|b>#8hXkd-7Y33-5JZwaMP6UB#rcX+i2dG36*#@k9P8 zN>7>@(+TjSn{Ll8lOo!PWHy$?eSVVS1e*a|MPj%cAQoD=J~AP z%KAkorhA+9SM4-<%^K$ZJM*!p+2uLD9Bb5$%LbcX+`L|;WAplc-Qy2rCP}VoKg#7l zcW=Z(?q8*A-#@(aIlNwNs^lE^g%MKACpa=itnoANDz033E_tK!|HaLJ)@8CDa^Y(^ zrOq(1ctzNn7C*-Q^Pf#!H2wXBKPT<$u6DnU+iJ7z^7)98HfFB-f=gbXIC0RvG_SvS znM0gv&~pC}hm@mnr$g$WoaGCu%A2d|)>l{&^}qD=_g!_r44$j2pPDTi@$BpkebqS$ zN6S8~To@rLvgWdMGuzsCOsW$zlY*6}?K6A2vrMMOIyb?n&L;hj7~^$5y-T@sTRuze zU%p0Q(^D_;2HE2x<`0>YS6$iSpuOYd$%j{7o%FV=O#3*`SIV?9?csb;mYl429=ABp zyo$>65$%}n_Pkgn)sbmwRFuF0z2&#q?*Fv8D)DkAheavxVa<1eAFpj$)RApq$>qIe zL3Eg8xeS-coyeAaUt@;wIF)NgB1tcG4-1|4;r(ki{k*rCU&$tKAJdH@(Z^RN>awkl z-K~D@SB9?inbhL_t0$)3^qIMN(`P-oh&Ly4AII9IE|0Ou@rn4zXSyXv-NMFkOH;`$ zvlRwn)x2!=j!P$-Xxs@uVWoRyPSpJKt{Y2q6Z1`POMWX1Te!=Q`Ht@F3k~V!M+6de zQhwK}ROs(`~=O z`dY)Ri|2C1TQ%oLb5}h{v%O>0`gxsaf(x_1hg_Q2l1=s!>NBRzdR%^Sfq}I|@*xJf zwW9W0A1TDx9f_J`Bdp+k|4z=0q?%x5wM{12xlu}M)j|he&TfrVKJIz(Ypzc}A$xpstdx&o zewnpINJ7eVsSjRCcep0?Ehw3#vXpDbbA_n5Wl!g(?Qyn@>a*(%G*-J(QK73E#~jxY zy*bGzy!yBHod=N{RV2{m~ z$Ef%pDpxK^U-E2T(>uxR?%tL2cJ2@Sv+quv^|1q=zV#SwSyOoD&kY%Gq4$+j_Nxc2 zv^unE@gA!~E0PzpF}!{&w)sN1z|@!`(;GjI8J%yfD0|iOTr7TrcEKrCi7&odHk%jS zKNVUy>FwSdFBfU`yzVkR6ZD1M#qe|7$EcRZ)4TqLpVdo08#sNLT)?}99X+>i@pdl! zaY3`TH8vmPBUB!K6ke$8Q4njRSKDRoC1K!xy!cMvt2af{S8h~py>rKW{a$wF zOE!Cjjx{dNpXz(^m!OeU|I_VKKTq1utNL)c{%m~H@qpm;_NdoVSr&eOy17nX5>M0K zulM+-iT##PXNC!i`wO`^XFe}o7W1)S!bg_X22b3lz0`bPY4J31@!?pnl@;$Uw%PMq zDusR7r^kAFD$}ftf^YT9uPhXvaAi-6S*?J2S2NeC%fiLVThfwBR|!~f#CTOP1%`dI z<9qvT%9MXOQ6D$4RW6sjvgYmKvtF5^>o#7$H6wZ!m!O~K&B^MwdFA*xp16$Y^inp_XhK~lVw{}q=c3WN2_`DdH76g-f{l6VM&+lVz~=H8nZRS5C2PC zdSid3@)y;;cX~9lC%Y6#6z>mO%32-tFm=JIUvm5^g$8?0X_&p((PU@#J6CnZ-s9m9 zH=dj}+h+1HH!+cjrL0nwY@b!K=1zWKE5%bbDW~CE#0hnam`z_Z?h4<3{eeI79EaH9 z@Q7p6Ql5(Cy>Qce;Tqv#u2|!y!F5vC@X`H@gImuWGLCS$!n*Q~0)Mj~gW~Dy3O>P^ zoQfg#@dy6RFj!z@!gPCypv5N1D!>2P)@OE=sAMKw_-4BO^sz&lU+gyib*MVzxIbQa z`}|8)5=r@qiyQ8W9i8>*#<7Sszcx>;wbYIJ!~H|-P+H&mox2`KC%@lzM0H2UbcrdG zwHRe*pEtki*p~03<2w5>r=IG4IpvRDLDLAE_UkXFPw6<(t&-!0V+C<(%TLUr%{q zJx98F_JPUA&%A22*&lGdd`pEQ_oEjN-><8h#N)@R^j!Rt)f4FxT{VwQ_SXFTUz=v zhU@X`A4j?Un&9xOvaMwA!tQBa(whWdy6;%?_Wt%>{;zLF{TG;d-@Z*`+I$&FYKJL{AjK^-pIw&YNP`@YKld__esBKm(3YJGXT7)g`?B}{I7D4BQOfxeUKl<*w{YlSJxhq}9ovrri+!f8OtHs;a<*n#* zI1+lfGOH^}^$SC+@zbx%tmcV4;^yMoU;Qj zgv+hK-2Lo2)BaS}^W7Ku9UW3!qIgA4*3>w@&aF8hJltUFby2@3-Pz{fXTLGH-FtZ7 zLm|IgsfFF2dAw!+Zw{|oX?OYmg|ek@doMfuSg-PQQ>T}3-kepHJI+6iITujjvns%O zLbtB?G_(J6!x!H!i#o@D`^KjX6RER3Zi^?D$u`tpIn6sW)CeXHWRuSs`0y;i^b>=<7CIcLMk!wT0oNb_t8?G?FydurQ@ zmH*1Zovzl_EpIgA_}};IAeThW--bRZ*0AIQ_mUsi{1DuDZu8E0JN?@4M=W)IX{9=S zYlWAN&(k&B*IvrzhkbZyI8SxnGgqb?mJZvVstE*aoL0K#%*{Ue2-!R40nw9Eh2(7> zzrQcFY3;P_u|_J%ev>R@pNpw_^%zNgC2`#3bUpcgM>sZ1k zxqrKPdGRNwqVG)B_a0}gk$!k!>Y<*+HJ@$;B^vLy7h>`YdT_&Z)*j*c9IGWtmu-}n ze_nXEq1fTki$6+iznx}vUs$A~+A-(a$`78NN4J#y>{xvGnXrsO4CkWF=|?{o?s*wn z>Bv$SkR-L`i1C4hUu!ol$WiMmRk)xx$C+o&)37~KRyK1A+PYt-s<}oO&8?T1&w zyC+UGN{Qq;A8Hq3!6?Q5{r86#Gwzwk>?#a5&VBZ%bJN?odfmoJ5$=(OXE!~It-E~I zBF19U_e;y?U0HK_`qGmV4p_~)o36Dg^6afEdJEPtOCB_`5Q{t=a7ktJ_Pw0C&voMJ zvyWu@S6DA_V+dZQcX**+s^VKWtBW_EtuSx)*Z3?e)%Wuhr}usSO?yi^ZSTnhwH-KY zW%2s($G)SVzm-YIx5>!xJ&s`fxH!J>#H$$pmUrHzT{R+e#Z>!t#)O}HYixcXL3OIT zcke0vfHck*b@Gf`k9SM(tY^HSpYcaeD3;}OeW|onjZ+*i#0AyHuybrPGRD+hntP(Zs@vR5ZW0V z|M=D9Z@0g_6y`b1X=_`zspPC}&Z>Ajf!o#J#H8Fzj!n&I{`oFy>gug4*UQaZe3f~% zzh~!3!HkK)GyGlL7ff|_`W>olaqT%H`*pq*^RKF&S=|zqSz_?#n~Fl*qQebWGO!{y+ugc2lhpa8UW-7ncC&uavgx9m=R z{NvK)A0;c#?Oi0a;?I<{hIvX$zkHnHaBiod@chp@H=9@@w#@$Ir4ao3?EUrcZnmDj zcHYJ|y7v2zvv#NRuiu~dSZZPZ`Qlqset-LTG_d8}+;)CD2}ibK1K~=CA4}H#ev*8C z?;e{jul}5upFLj&Z~HQJ$(Jir_F2TwdX~6K{sr&u{%yCzR(!m`mQr}Z{Ag0v(vMzw zS%-x5HbnkbPgk68oBnKN!JlQWyG&MX5%pEpi)&xe*TIl_P|ea|n~(p!HImZZY)Sg& zNz-4Z>S|O+{8f78m#DL`e7SSW@1^ZI=F^++ z-Lk7o^ro?UhNql6HetcZ1IM~Tna%iqv`aC+>os>j!u-c?pC?1lTyq2QoVkC3OwZmw zUHnEpA!M70%<+%^ShLS=e-Qk{XTDmcLoeT-xN_UBx$HH+cv_9LH1=^XsoeVG&nu>F z{o6N&q?mE`?mN13(mCqB4o@7T@u+VyqX>WYJJ_%{2@Ihd1ZaQpJ9o2Sc; z%|Dy}>$Aj#t;R7wrb(y2TPELa5@*+NZmo6RgTI;~tEL>&pXBvm-g=?Qv#)OXz+idS zxL;dn!32%>OO5~S$dO^r6gAjWeWdx5__MOr7ANYAHfV0Saew0dN5^j0yDCaczIP~U zs+qCPNH6~1J=OVcPgiH~vdnU6N}6jl|J{}Cf>q2l)2gTM*=PNftDK>8^88b;H!ZEc z=~w6E^|O&h=jHorU3|U|xK}S)bJyy1gr}0_)YtFs*l5~FF1-Kgg&0S;=W#ZT(cE{IWv!Kd3>?ed;RpFYgwCG`TWkTb(_4rFYWFdj^+H*pFMc`ZYJ;3 zMw=fmde7TeeE!XEU-jc}w0!Nqhtd&~-kI*>W#4;pYlcAH6bEBoW%G5vnSH0tVGw^F z=vUwSV}i~Xh5U#WHw_N!?>BR>{XTI;2LGqykqokHUNo`3cwngbYn9}i*=og;-fy10 zSh&-!KHuWfygv+f2be-`yJuRe9^NTmyEJ~|yZ%~}M<+EKrybY-6~kc6$`RYn^UqOG z;qSbpqCHo;ze`9nrC9TIW-q7{@MQ__KhP@5e#6StxOm0Ir7KPU>^c^C=Vx5y&Gzm| zXKex zT}oGL8qJwBcgBXpTW3VzM!aXV9_jPHyGbukLzn{y$XvcELaY-M7W2ueJIfy1n7;#pL$nd0e`F<(4buKEFO& zx^bpd;M}=u#WDkSeEe(|nclgfiNB9Sm`y$QRNtbaBX4HzJ9=>Ito4VA7ZzO;J`_6l zt5<-ct^v2}RPnt<``(Efl-e~c%s9D$HzRRVdBsz(Iq2x4` zPdu}u_O{*0-&eC}|6yOPEu1;pwTgKumkbYlsGRLSS$0dB z6Q{=%xvxi#rabSM<9#h<^|njfr_NSe_HOuyO_vrumIM@Dgr_!zT1l~UTThWarTVyY{zSo?hwdcio z%doi<4tdJQ{*kM)-=g($xw6~x#-QxAXETrAPA#vgF^hkup`Je@Ls`A_x!~n&C%K&3 z?L6v7{GV$|FPbeAHnV>A=8thtU5nJd#Fu{B(8kk0v(M6~S_@#3yF(5?M+OhaLhxeuf2b~3&=d8JIym&ct z=m)(^J9;OE*=5c@dispwgRMNX9qzT;9yqX2;|-s8!_m_IOY6T(a}4Y~v%h(!=;y5Y z!uNItDx4PnTy?isUbR@I)4{*O&5L>2HOq|7?xHCNuRkfAY3yvZ{8L)}xl2_D_gzWno@D(; z))>u#Q}Ht&^DbS#$6@LEJuXYT)90I-3(6e3o>e2IdA0gq>Z>ItN82Sx~o&u_TJ|u-H|(D-#yuxzJ;ap zFz@Du&sPsyF!Sk)A2_J;5-^H@m#oBip=m6cx#zivHrV7{rs z_J@i$uCdI?|D!DSJkK?AWl!s$=>mfXv)%0X=erqh`7EdgeWe>u4I|=^^j(c!$iEq|FQ@bZV zdUvah&b4mY_-uWEhiKV`r+>`%sERX2I&Uy_6v+BI$^6vYKby7r_;a02jcj7?+^k;)wb|C-?->%s5;N< zuS-h&XFb{D*(y#<&fE93b&B6}Ji1zX_Bj?#mVlYdbI)zM`zkc_&%z>sY5&5lqiq?R zU-qW%Qdp*ZV_1Y>O&63Z64d~!cQJt=zq2$+*gIAzNg8= z@WgbjSsH71{46=6`BFgDtVYGysH)(}lBX*Tr`56w2Jb$&T77}p_GQ7+N(CBkI9a&% z6-~M|!9hs&;~MQ{CD(sEVp-ZPyj7(qZgRwPxv9r(eUn%#cmv<*{k?WH(s0}N8&2Dz zmPa3x@p$L_u~qT&YKP1hhr~U__iU03Ovt%N;bN_2MB(Z*Lzv7f#Fe(tW@eWmIXcS&}4eR$t; z@neT_dc-2DzbUu#dAW;O|N8g)zSNAI80)XLV#fVHN`I`nw7%up@!PlE`SzcwbMgAH z_2zwTmg+4*|9mU;0yCaW7tp?T@KBjcW&ML(tz>(Nr@7bdRZe-Y&${_dG+feT|Hqu& zyCxmodZzmDQaDZ!zv=Tj1T^^iN}d#(^gdhlrFPk^OXnqh*`}CH z+Wa9{&g?*44=$@HK z{!R71HwETd7uHQ}IW?t$X-(kl-mp1ORikcw5RzkvnaW$~6*aRVw*LN_l8ftZ6#hB; zRlK)9|G>sMof(4Sg}o|WQTmm#eFB-8TbW{{w8PhX^YB-BTP~8lx5nqK>`S2~(Yg1H zEd72>OVru+G9o8a=fmXWZwG(t#lP)x|MI)>(0!(jbGGx|nEvBpK>Vffi!ava-!(d|$ba|e;4h!KTQzdhyDlBGSUJrlGWyIC zwka$c>3gnjbDHbv;C;o)npxv2`yX~OIj~hJ=I`UiGm1i@k2sfK*kpaZ(`1zWn0v@FvIwV9@0tWsZ0ay=}v=#I4>wk96fBM{rZ~d-PA-4Xe zDd%h!{CK4Iaypk$=sF*c_u6~%y$Z*GN zpB%@#{j*Wu^K5nAZaZn!18X01 zl{DMnX*m}>f9mw48leDz1M=X8YY&&-Rz{^OvCad~|^*LSyE z`MRas=6Pr}^~%%*%vpA+?8CxT%QMdw?Dm^`qUfF2L`{(wQ7oqFX5u>k|8xiMHaGIM zR$b`y?`P(srCyVwif3*;BINt>68E!`S)PLWtlyG3r`SJF>J(3No+14xcd?fJ>1R^! zczUjh9-Jwt%v#rJ=Iy=aTF9NSro96)ly$ji^&LaNqmuR5w`g|*|^0!k|Y99Kr&kou6<@;Xm%ey!0*vH6qhrc){ zxw8&Wug-5j8pILS%q|M;FS37&+sj_teJB}>)CUn&E+OI^XZ$(q)?)hKG(6sH<-xXrL zDPpfr7x2aXa;u&mW?n4x%<5zDTov=&x8kyTZ&qKsmFe7&wf<)XmDGuh_0FnE3eG%nU12(QCTP{kU5q zdwiz|9A9g2ddV+Qk+?~7_x$2bS+m>D%yE9(l})_A6%5v^+?{S|d93{JFRpdX8}3@k zbH4AZdw%51B~k9X&W|2e7Oi>AJNZwP>ibpmnZFh5yA9w`r44=+t#%E|9!i3p{`@(Oo>yAuNBJfz8SK*O6#b3K*VXy z*D6wWuXioCI=z=a_#pHdkvCo=T(&1+Bc* zIiquBf%GI7Qz2uWMT(j1otX{3+GjFFKX8}1yqdUBM|-WvMitSy>1n#^U)Eg8YI)9} zc#ppZB?kOtpTg;{6A|ac6jPGe*P}G;+wD9 z3ymw8zjN+q{}qq9wcg(P*(L64;?XOo=~Q;5-Ph~X@ZB6Wsh8QfXMbVu+=5ycsbv$D zSrkQ|&#m&<)1LlCgYS8X(6-rzju)b4o_pFL`O`{k3d@1Spo-9{2N!29Qce*y{i#)a zD|!8~MGLR;yp7lHfUkDXZcX%a0+C=A7r-{efZAa^ByX-_FhY_h5VKO4DSn znN>kIa_qZ0{5CBUShHc)ny+7OE4K1(duNmM>c|YoiXis-Qwd)iZ}0Ga@y*O@-?wvK z>*sVumu{U{tldy}Iw-WtY~`js4{W=$oU<1>xjWcC-6_qF(=;RQSY&;6q}ZM9-Zzwans{f-iMjMVcJ7ROTGJhD(&wo1-%~H#ze#~7CZ2WL z+rv4}#a0zZnp`(O%gFmPl=FN2Vg9bVxCM{ejz843?TE>`slYPn%JN(K*0o12sP*6e zvb22R*QUV5f1_msCKlXZe)!+MU!EFEu3V5$de|(s{r1r{A{=?CTyLg&O*6MlnWN}+ z{K$j!wyL!yp0h=!UozLu6AF(u*|n`=gIRY}+pedc>1UnNj~Y02`v%;p+__MxS1#LC zV}6Fhj0LV`i|yVSg+%97KjrH;ndK^Qv3xeirs!S>+<0IA(A~r9e6?C* z-!9oRxa@Ec=-t}3{9F7ak_G~#C5udSBaEkiD*)z=( z&2)pE`I4g^MGIDxG=?R_PkF7TZE01cZM;L;znPC=A7|6!V3B}%KN&T)Klr<>Zr)3Q z^Owp6FKoMfA+P6F$&uez?v?i6w>naN%rZCQ`0_Uo+jt)C+wIo)@_MP2X4KJ$t!8GP zqMPES`c7Y7fA>uA%&cGW5mi=`KdD(CK6oj8-lHS>Ym0=spO?5VzWCWW{93eJO0IX- z?p2HUDz|UiX5!4Z((d$`LbDP*d~tST@|LuQKpEk-k*moE21e4Y1Q4%qteWO$Tv z?z0KHE0aA{YTmP`v~tGrYW8gvy=GPrusunl`FQlge=V=GM7&HVL#{eQd#B_D(B>*kAxUUOfzCMM-m+~UiN-k$Y0+pbjN%~GyY<95nkPg(2v z+h>iD$NH2v7G1nEx8qdomFZnQ%Ac;d+MS8+oUya}VX0_fu=rPxdWntC^~B_I1vZul z{`T<}Fn?|RSa5yJoFb#<9j)Eg6Q;a8)17dsX@|G?cb-K-U$0K~^WC4akVz=6I^z85 zJ$LtIMPQm3)c#|^uM3|W4Ys=-v{<}|KIuHLCw|9|5@|&6P~3^ zif=jj&iZ~k=R0Tq2amHpuU~w)Vv^iH#{bsGrRxtC8q~BaE6wZaJ9hG+yt``6r$417 zTV~c+c=jE0KVE($`O~DYQu8(*;lDZeu)W#NB}~HgCYG~uA3V(v-hWcXkiqoG?%0kF z#uLUL)fK+ZVJtj#*r&Ak&+=(UR307Y$^3XR(8%$ZIfsE!yinA#MYE+Rub262VdeI# zxM3@$%y-a>Z3X zFAM$pRc+J0RJiuD+Mat+$mx*9Tj?TUqtwyQAlNTl_2i4i(&O1xZ!SG;RRD{ z3^n$E^Wxte5sC&&k6YS`Ra8j4Ne%C-TCTBR7I%L3N2A-;CN6UAvokWa&0iL<8lL3n zR@Zax=Fv6U64w^?XU^W5|9{mhq%Dq~zinvR`BCkjMMUqM`Ajl@S1dnyjPc`{ry=E& z71mc7?zh^{*%iN8-Qn;&{gWK4r$3thCVfNFVxQRTRsBm>3UP)V-2bm?am=^Q`&WgY ziJ2+(PPx*ZefvznX2$ZQCcX7p=I1{@`}lg&y0)pM)tXsdC6!&*c;3F~&tP61c(-ca z3ZHHJ*VLIU)J|5rDR`{zlX&IqgBs5{9-F?tYgpuR((Oy$l#XR*5Bz)h^Yk+Jn;92# zT#sf}m}QvmQ{~{6>v?y@QvJ!wsEwEU`uv}Z#x6XfT69|=ebd*hvVxr!E1&UlJu^so zv}SqTHF;lVTRYczm&4B7ep4Q|`{Qj*ME22%6WjdmO^}Xww7-mFvRRs+pNn|tlrIPRRkr1y z@RE-#VExE*hl}yTBGL3YWoh=GoZ^DI=WczpX=~rRqn*X6x^dfQMwOa>FW+DHq2&Ga zyY}C|$-jO3-uAEWn^!fbUzOH`=iFCizsjDw?e?SZO?5Z7Jk6Ya_SVTYcmI6azI-=( z{l6W*pPaw@zP$d%-FhzXDSsJ`?9FBRxaccOn~UV*dpGyZ%U{D?B-JumAbO=q-6es8 z$8YXAIdkEcn%0AEZ2L|m-1IfOoZ{*p^!dYLT}z3iUuT>>`x-XRm~&xzpWizTvw|Bd z`Bf@+-LTs-?^@fzpcbKxdC`Y$r9a)h`66cXCchd3GueA8d+$UW+~_{;^!w`1WoP3W zI{l%oNv`C6#}A&f&j#+C%k|+=C}(iuo}OuMS$woM zug}~cJ|*vI^d5`<2VN&Aj~-ZWg@ZanjxB+J5)O&)_wW zRgPQ!?h(v(37x1ax>EQdmx7y;ny1Uc^G9Q*Nme}Y=Bo^q_eYP{Xvwz*SM|X{W>+LHp zWZ%7Bb?vPCje4ri9jw1UmHwLhL+an3Can!>9%WxR@|I`)a__HiBXbP4!$pC1$Vn9 zOXe5^epc+1+iu_Dxn`}$)D{1EA~yC|)CP35z5XP8>`{2zleAo2o4rNTiYEk~c^RS4 z?r2f=vg?$)s*{h~=3Qp%t5d@Y5**9pQ+V&)O`76s8R1>_^w*}4#$`u2uhldvwrz;Y z-JJhp@7lUK&s|r>?)TE$qjg{8^c!!#=W@B5x`Z`;S-N|-&s}n~aM|k6EfMU|nx$KB zNSAzL`)S2z6+XwuZs)%3T4(Ji_Et_`^CYBnjYR0I)d`k!*QXswT`%G{d!B8`!ej50 zH>az$*yQU=LY0Z}nQfzngwPNqGOUE{x+*iTZxO zq~qyztnc3X+gzUh>bdy8NcDOD73>pIex`qZr82+2$$D03%qznaiB?CKFb2ykTWxW} zUfo=FQr@eTb+UFEZ+BK+VPAFj@7z}%R!+aR`8~>N5`r9MWYu;-GXv&~}?P|3!mH=HLHjZJuz-UoFhSbn`^L z`7hp_Usct%l%02Lb%DO0h{+Y*4yI1~tR%p3@$>PM>tNKfIjwiGgEBG}{65>p= zE}EQqk^c%`b9htS(f0a;O*J!Q)^40xH2I(}tC7_EHDO!z_m~y>$?!d{f4Taw+^Y4} zIhNN_HlNzDH7v4b#m7x|Y#5vLPrPi=c-ty+Ddzoi=l_P!ind)%;XD!C`S9T$%gu9- zluQmWw36MSzKo-CBG)=0Y2SnGRu*r*seCKGd{B#d_t%8$Mf2iW7To50al`-MiTLWO zguvq1tYA*PmS}acPdb&XYqQ8E^Po z#y&YG?^;~({zl5K`r2i`PozB5*5Wy0z1aHng&E8jCr0rqeV6?(vH#JFn-#wwa}?%& zb!y@YI_t8e!TnL)quRo#wacEfne$b2>W8OZoaMq-(P-;d6##g}*dd8e9bzJN_zm{0Ka^Y+^pq`PM{oc=dID_kqDa@zG}$$vHU zAAjBxnQ-m3kJ^j$ik*|bF7kRt`sRw-TFR67hccyO_GK%(l)b{sFX2IhN?T^>$ChgaHs@8v3 z=h+Shl6s}y=H&gb99xcT5L@zP%JTU{%6CadVSK0AFWNx4eB&ul?=^?TVIcCR9~ z9g>|^;o{5Aq`cBzI4@dLOyfdi)8VZJ}%06}k4i{l-o~=I2im%#Mii zPTS=E@M85f(XN;?tkxMjKDQ^H)*fm^wQjiC$HpR z{cuZ>RdZ$J(|YD|s&!<$kXC=K0WrgRLz;qvWi6+`g;sb#fL{BVN7J z@G?oAdH$kuk)HTUkt15n_oRB0gi4dAHh%ioJJ)w~S!J2;n)>anvKHtxXRQ%@ zX}J3QEdH1G{Vnb(l!{NQtN5#@pcm@1ep|Cy~;nJMSAjxOC< zcI!=rR+lt;VUCE8{LhXrAJSMf#HQBNUGpfOUNEb3d6`+c@^gcXyE&IG)HtkSW6fjQ z@vLd3VQsaEnB0Evf7w!xn?5isRMFK~x9F09%E^qiVp|S zvS9o528L^~E}9l*3==9MSo@_JM%rZKv|NpI$aEUi^Z& zF)89r`OMSu>$jGAPL*|=@o|r7x}m>{#vYZ8)9U7*Os!rQ=eeXW*S^J_L)&R#+=sIr z=j|9=N@V&{RVN>axEz=#JeS9WYniS_VR^>%fX}7vWsN%;7ur?{R`)H|Shnf+PosmG z>F@p~xfFT&7)mP6$rYJ5H|e2tQQwBIx(8gn%@}p<)Wr?+BHdLO4u;KWKV!x#>FAMJ z^X7x$m8s{KuXc`&6PbU@Y_0iEiR#i|K954F(`p`PL=3;>nP@ppbh*Z>W$ho%{KMEp zE}QFVwUr50?_71uHEw^$o6OBlH*HqE(cJrrf0yn|%_oOT z?Y1qB+-fy*_9ou2Uq1^T_Vwqk=X=dJ?QA6<<1K|gyNs#4e>U~|Zap;V!uchSbN#}7 z>-0|*t(ekRUwtNARV8L~v|;$ohD!PQb;~x+?@XzcNcFfeo{M#L z4huYdlbf6C-szMcU4H2A_El%x9)>@CckRc$XwlvE&c64So&NLd=efAB4STyhL*^aH zN}uKswT|!1)XpN6!lz~F+CR7z+6^BkA7%SBA)@8Y37hJY83ic_O}FTbbaaW+2b&2iCGBSg&o@$wzui&eqwalxJTjjyG3`O zA5l?aN{~LC|G}k3`1i6`a`ngaA~tzfU+9|Idw#9+YVQu8USrK&%eJ4>Yn->ju&TTW>cVFO2IMb(a#@KfHW$_nR>QZdJY<<>{ zx03Pr-S@1%H=dofRylNdt=UDDHH^Fm+^0NT>BX+-dH={c_t5+V*5C^jEg$YiSud3C z+}zc@{~y8RkCI~oWyo>+$W$jYt#Qodm?zld)r=*iCp~( zoK7vW+iI*{Zkq5pa*0WseaMO}`%cJ){*n55`QnD<*=|3k=v$r7eq-f+M)3L9RFNIK z%BK5@YzZ*?vf_h7_+_V}3r-9NnPe|HGTu7ik^U@nQrvgRvWI$lZa!-^ZtI%$arxbw z&Z+kgdIg?t3kwdLE43ZQq`^dU9k);pEC2y`P156iccpZ=AX1MeUjBGnbc0WH6jNeav8D#yaotQ<()8 zDwe?)AFN7H4w<}lLzUr^d#RF|Wg5Hmvej3J6>FV0zQ82u#5FUcO>NcYZol_4F3R$5 zHtT#UVfVVP;^H6gfX8d)R&3(V())dwp|CLX*uihPj}PoT$nwT6GGc0*0gFrb-NVxw ztLxmqT>ZNA{^oa%7lZE~w43ZYQ&HDt&H5J~L_S~m^x2Ae(re+2e75a}dc@wV#Otuz zKRx)t{=|nFj7g0%-yEF0_L$uf#j=b|Iz@B=1>u=bcS<{2|M~I86wYD$u z3_bCh;kEJE>fDC?r+7c?G|@1ed*yut14GpU?X;cgvW8bInC7sU{xpb;4Vu6H)3h50 zZ_ln+TWEQ0zmiwvhF-H(arSFJGc|ucBdhSt=H!0YUHP{{eyyu_teWM$W~=xwrTKxG zZzp>_kGA<(lI=DON22k=1$Ys zW94B{pN*ITE-B64YG<0w-&XXCac%JVSD#Jg7rk<;hy(9m#w_wdiMxViu1N}lg-}Bl_$tuE7;Jq_!ZOk z_(yBB6pC3jF6G)@6;#U)f8CS#Y<1f|^{yRv!yo)O_}iO(&Wavx*084jqyD63OT%mL9+Ea^vM0jP)X}FqsLum5; zC6b1kc?Uaqtq*hg9eypnW1pOxx%8Lgc^p5)c?mTMUm_N}10ddZeLvkV#b=twR19a5Hu-u-lpc~$Pa-EQ*{2IZ6AU5YvuGHH9; z$rvyCTw?Co+9LBRab?vG887Y7sD7tCpXN3sFMo99hTkO4=L;^qt6ISOZIj03#8Z!o zTpFLvK9`_)b8}0rXP{cQ@RZ#g)26i>zRPJae|+wcbwkd5tJij>H%=y)mQF3{}j*fXnQ-c)*%`b3Go~W*%p);F5vA_N6QrVdgb(iqTl?v5f zS;xvEd`6g)^~=K@lUy=CS(Q9C+rm>?oBSn}%i;F+YhO04a+Y|(rk@w)`?G-OeGRAE zi?@$k+$ZxUCAIqX$lPD1_4d^{;m&;tx-l;=nK3-@d~O;q>-~8C9_3%g@qw4G)Ow|9 zb?xZg&|>>1dDYo#LSpKDQQ7)gZf^uC+b0TM+Nbj2Td3*$=8MZbeoQ)1ulXeVtJc@^ zmy;CbLrrs*2^>`G`_kP%qx`;qGv~ekH`q$KAC#^?62p*wbp2Zy`*Zrt>c$Ny|H-^~ScT;;YR(wl9ry|4z-){~WNYxJKKlti6(V z=i~V{7HgN*D4%tzyY#7ji`K(;Gd$Mr{IF z!{c~!{pk$oc>CvFQ@lOCHm1lbt&&cAbk(%>wHep!6W1hf?mD~l<)qvd6ZZD&*5?)FQoShkW#6Wkv%TbM)9$7v2JYuy`b%PCL*C>!Gj=8iSM64R!hLPw-E(ge z{(aq6E4w~s?V=4f$s2aP$Sk`$Ke9yZ%&)~cwrQG;V%M_wY(1`ey+m%K;x7q*XAhRJY#0Nf(f>9zgNWlICC}ce*Md>@msSl zFX+6#PV@aQKmGYu|L)|y$WOm;zv?nCljytkQ?>P8zFqe8>+Fom({+)HzS!TCwKkIa z5?o)r;r_3>&h?YSq~utemd7U*7pH14$zBPZ@vOF|(IRuNbMxe;RUs{Zbd-`!`~3i;`buq6sqA{zHtBcVDRY^Ug|&LLi?y=1q+YF^|Mf~OuUJn_S-W4u{$O2Q z>B9L}EB_o#m26KHsfgGUy)(f+@^#lbU7j1SrGIxU{C>Odw6(DOzm2@x%DUFvR-Ni> z^-8uUHR0LLsBg<|PJ5sxuXo%#=V$6%|EDo#XQ!J~mHJ0AH$}GIt8rVWcdPfzy{l&w z<_K*u*(G<0Yk}z`k5cQ8BA1JKCnf)?`l>BEx3WZVW9(( zaNRzvo@4s$<%M~>g;US3P+7UYQ0;5a_M1-+|LTnq2~LW1ko>;l<+knrFS6gLlInFh z`!xPRPOjv+j%lfhOS5i8?y7sXOiduq@5S!$N0Th0RaK4mUze$`6H}Lp=~8@gLhM+h zlK-jmnI~99_ZIEnut@%W#Pa-&k~^k7daQG3y2+J&>S0=Dhd*@9R^W{iy0maYjmEcZ zy}*Tuix<8)Rg_@6oBi|B#Hfq^eU@>TSbLleJAF~=y-}?;gUaT4tS9(Z@4lSDesAH$ zo-gLh_Am4P-VwZ@BsJ53EA`Q`dyIw-X4#pdSrZK=i2hHHbIOo0<=Aw*rM$OfZi$oO zi=2A3EkP{8r_X9_vVPcQz{g?gwdb0#--q<{NXNbB6~}%@VH7d+j3*>dqxrCUUisfNi7+%Ec(qpzN-@Q_GW81|^Vo@>E{?3st zVr>hZxjbNt^t<+yg@QK{G?I^3Jh}W(!T(KE(r)AVg&Fs24$sW6VqWjee0ObxoXV7K zJr5O>JKAQ8Zk;p9ea2y_ZF@}{e#zOisWom)D);z4W44u`V#=aLJ)7ME^~L_x>^^$z z`gR$8OCf{3&IitH2%1u!Uibe|+{RO4O2?aAwm+WN{q!7@ahg<+UEcbc?k~kA1>`gw zImcruWgve>+;&NF#Dj(-IiE%4zy4F)f8)K%e~oNqap_HQB~L_ko954+HtREE*dr^q zJl>9U>2ue5{EcpM-h1lsqv4Hsy666uZ#r$wn@=6TJ&EssW$fyH#wx=kPg_g%{#kK4 zO(*%5<-IqsF_4^~^!xYKBOVZl^EU+4B4kBj3&S8uvo@O{m^+AC|7 zpK;vs_PKd1!$a!O@^uV-w%(=;_U?A;i%LGO-ZAmnywsn!ZcJ%98`N9n93EWV9rjU8 zIr}xoX{YSh67N*sOiS#=D+I5;Iq%shyl9J+ z9DmPK>D&IYU-s@aeB;V#>vn#7k(60_PD==lS&M@^eC7boBmC`K3JJ<*8!fBflTUuAaQmc*niJoNPtc+rm9o&#&th znkTKqm89umS@mY;`~n>@j}==sIoDs(nP#cUf9Hi!-m|&yauYtxaP*pE;K<{%sNG$0 z6Mz5V?28lM-aiw|U4Pp{@W0kJjgVbALh7}5PX_+6KE=rX{nte~_8t42OQ*O!IB{@N zweHHFZ~mlz(_NdhJcjYb(Mwt7-%PEot*!ghT|APb_C?HX)xMrQjaOmfJ>`9h=K|*~ zf0F#j+{ouNL!m-(w(Fa_YbS5gdXge&z5P9-$JFJ#v6tTR>$#;L6rAxV@HM~v8;N~y z*8L9+oOq-&>VWg%tVe$z2gR)lJb3uu+&wzt7P-ahPm`Zro67M?|JS|G7TntpESGP6 zym86KERAh*ZkEn`(|-Bv+z&FF+NJj7Wc=rNuQe^@#-~1a;qV!Ei}qc!6P}^6+U3EH z%NchxlEZ}8zAmk1dYLN~u5w8AquSiOn}=6rs6}nbH~Q@KcH3bUOC#r|)fZHAZ@p!a z_#Q0Dxp@){%8E78oUXz7XO4af zy;SZceC#Rn`3)I7cDg2Zp|cCu-8jXbJ8$}wSB89j-E#5wHFh86a&w-nq3a@IEIw`j zqU(Zj4|N_N+vmBVV&~llzL^K6w|XY(mhDN<&Ab-3-}5C$yYTVZg50lFitEfc%d9VW zww<`m5?A`{>N^iJ&)i+!%hkg6Y+hf)bM^NzPO05N`)VEs-I>MbA?&}O+ruP3&i~(y zBX1_$Yz$$17(F{8#_Egm=lxdk0q0&ODy;r5`qiRu>YUi~4m!3IZ`$we-B@a({bt## z2(RBQJ59`0$_y>Tde)X?JluXcCEP+|(baSO7I|EZPfOTdE#K+TJ7>cBy(}+s?oaK# zqaI-%#4IqiX6>}|CsO+(PKK9lQWpI!>^jka@1((v2Y$UVziLbyW2`+ds$F%u^uIj! zsf4=%_DuTQSfY$u<5-SxlMUjUQM?! z3YyZBn)da}nOR*&ZmDIrUX$_MG)>>Z#$#RTQAR7FLp7lSi&st-PL#TKD)AEU)`KnmZigq=W`*}H5;`jV=kV2)`wO?$rnoIK zGk5e{7p0K0Y^3OaH<$-*Xr1CyzCa8y|Yt)ibEb@twIeVU=sMg|+_` zx11Z+Np6eZ%sJ<3pK(m)|Fw0eZ)cr!yTEZQDgF52DK`V8y*4Ww=Y>93v%hJma^7TF zmGh?6SArj3U%h@x3F{Zr@>aEtPnA#TooU_7@|=%h*Du$D4Iw+Ho_y1A_s+A+VFxeA z$#1^U>CaRAew$QEyV1>`Mm0R|)4s%A^ZzWp^4?U5*vM(P-4-x z9~>L2TjvVReC=ZJPwD%&on^g!G4uPD1<7ik%s*ObvHsNs;cFjxM7+(Ewn!a58#$AK zVPo{{MLeq_@0|X8uKcplHi@m47aRWFo^W^ZA?f9-cG_}3Up$Zh#$qc2KED!X!|!JV z*t!?(T<9vEr}6$!TxfBy%Vt4c6UoVQzf~^2eaLM61+mh-ZYB*fi`a4l*w-a|EZ2)Z zP`z)Zy_D^`fZMQG&&beK^bbzZ_mz_rt^f zPmKK^C;L5@`R~7OPqyK)Re!8My>#vLmxoW-p8vBi@Ym04Jl8+B#Hk#e!nE|E{^=bJ zFV8#9;jmKQyUDZaPoY}Q^RndiTCH0*Y>Su@aoIoqWA2~h67#?MYV++)JN~u!*Q=J2 zC>6tZSxR#qZ8J}9ycwd+YVh!Nx5c*SVw@2>7K#LQO59-kar{=`^G(}kx`?j}dUJrO z^U}5D(g>4G-)_lcax~O*Lm*`V5nU*`ZzQ3R_g?)#r+p+Ad zSLaXc5@zYS@wMSb0}K0h3-gI;3{sKN>C3d8l#AY9c`zwTgOk}2k>`E-8GC4L&#?m=xK*xkY&&yklBlM~#f8783t!6ma6DyBb^}tpy_u`KN0(URF?N@k6gCqg~)`MbQ0XCMDF{FTtm!1F3sfS=_#M|wclh7)bueXp}0jJJ83`*g4KDd(O- znWHD2^zSxHtrC2uo z`S$wFw6FOQMqX1s-TcDjyRiG%LQ4+^g+fJb@h^rC_aC?^sT*_i z{F6k!Z%gMWlzZ_UOq$d@OT%VfaLqSqLw}vD)$vZxD*O8XUN>}`xv7)abaK<^r*7-y3Z6Sr&I$-fRjoTYX5ISL;mslG@@+t84Z0 zZC|xk?;?I;@|GkeCOR&FOlPh?BYF%>SgHXnq zEJvK9t{!A||Gd0{QBq$iI{0kU_akL-=~@$4>rTq&-2RfG;T>!6^|pwoH#20e-II}* zc~TOU`SRQ4&~IJ;rbr%4>PAA0!r4~(nV;*PlfpKlU`_3H;SFHV% zba`G(oo{*ks%`GetJmC^5Nw;Z__D*Ej;%(VA17XznKr3p>Sqnk7@NiVb?0}eXRN$$ zyI3tlPsq93Fqq(@B4qn?KXEJU?&K z%_60#hdOKTq-Dxkc3eKNXPy*?Ak&2{dl~c&tZA6G`0v_i?g|Cf!*WR{Tav;L;sY(KGpvBEeAD`bjc=jC6A?%UO$Z1pSI*^_$`Y}w#h0jSv)9CY#pLg=@=8Ko^ zjj^4+Zquy@9#59m4RenCSbdBCQuFhdlUVjoH4ku@KW}2xiYPXu%^1IZU*ACTjG6Ci@eg-;)-rK)6amOS^(Z1r`-Bb=%R< zT>ph#x__lt{S~@b`r@rrZ{al6IN7&-hb{)ZvzRsQ%|$U|;o7V_uh?uRdi|E|O<7sA zxOGt?hxFMSHJ9WRa?eO>sV-^%zOFH4`hD47b&FDB`@h|MXLi(N!kP4Af$~=$hRU=| zW1AUW-^lm(#_R_IzfMg#HPvtR48M6N^6c&{pPjj5c1uK9nU}@3-zloCL0&IX1TSfv zEZ>-atG{;h?!^0(`0ouRmYh1r6`xl_b8iU%c1E$#K? zY_EHi{;hV}uSCTkSM@kHwAVdh_c|Cqt2|mm=74I#nH4(b3uje`Ep=G%LTB>+ng6cx zJAYnKcm8UBmF)!k_D|21e-`W1*ZJ8?GaB;V;7t`4OoGU5mI~{$(6&TWLD+ zzWnxm?q6@ep6<=HvP;~$bkXt4s_C06F3dl>2}{Nh5no6ytj_qdzDYLko?FS@tfhm!BS4fK#n|x z{s-(?cj6X!+8XoRIIs93o&7?V<%*ZLAK1%uPF&ZM6>wsYR-EIX{k${7Po(+oyK3ET z7?5A(Ke6oN4Q9=YZYCcmo4;k@O;M{CWY{$IVcqT{5mP;G%h$Q>F|Et|9@Ou%AlGba z+gj(^@GCo~9<`8cPY}(&raiOZeQr(jS%)3YxkrB*w#QA{z@@{=I&Hh`&z!r=pS0gQ zy%OBKVe7qz_n-KiD=D1|*!^b07PCKRs#e(b|6@w@Szvx^$A^a}%G}>A`t#z~Z;|;A z=YGpOxxl@kK=m?Tj#A2Iv%eRXF<;L8T-&`%x!-0r`dk#^H1a+Dsg&c9P{Wo z--@NHe(_#fI73_ zWi@@9vRK?q#`E9gcNwx1zSK|qwK=%4Xa1ULD>nKpEjjt-V!Xc6jFO+TPdzPvlp5Nb z^E~g+&e;xmJDxl}5v6f(N98K7md}?qlzzJPLgL-Eg~x5UlN;7n2(7cYy0!6B%W7di z+r#`O+c#}&)SP?d_c={{w?C@!dNz|MU%SIIcjglvUxRMhne!`N{PPYj5j%PRv&Y_a zt46tbhDVP&6n-&X#69sqtD2p`&8zYqem~;>_`mM*s3~-e6zSDYy^}us(XTl1cim?T z1=QYU#aNZBzQlIzfbIgXp+uJMh7J8{|1Rm>YW zoO!CBEKw`s+8)+q?ULQ8Y4G;>lvNd?E4Lp${O_CnzU<%D4BZAt{@(sC7^OXP`s8-4 zmlB={(K%dw&t+zXEwy^8$4PRy!&igRucCMStv>h6IggmyZS}guj z_pmq4VN1{IZ)@*4%FkV)7c0mcx80iDTN0FW=UK70)KW&>+J##2)%)xnmi(R<6KMOOXh-5%mgz((fYjJjIrK4ljR>t}Ad%ZT!e9o5=G2@4<^Lcf<4~;_41bjtVyKb0g6!6%7IcnBh ze^)`Fr&&gm<;gwnz*9_^^N74)fm`v*iC3yS@Jr>Ur|XJ;Ps$i+g!g zo=SVnG7q?t=kO(2A(V|xMkIN`ig5KcoKmF~kKD@>l`JRjtvq0SMN#I{W9MHts+Uf? z;eF_8$obH2*#gBv7L zgLPE5ue96do79?IqY>rnKB482|MxZDa$`QE=f0oJ_wwysYrpK+{_5|dXJApqRiD9iHS!qx7l1!o4muMT=~Feft4Ft?x{;YtS$)( zIP`1NIc1}w?kDfSrdQuoGrs#g zXQr_>n^)7lIK`R%8y`*YU3*+hR&CvqgZ&+@%VM_AJ8KrZEc&hUo|O&LUa7n_U97+F z#|$osWaDq2%|qU;1@qCuG+i6rZDT)nbn+#}>({(YZ%?^;%5TMSt7S=>r}gR8EETbhewlk`rICdDhL6Xk zG;W&q87bcD&2Z6_$uVWTm;07o)|TV@)P4KkZF}hVx-XP1@?B;;i;t*}#Jp6cFG+5# zK~4V*jBFR5jt!TLO{;K`Jn&}1TpO!QqYj{80^zSmCC34s(eQo}0uD;**1G8)H zH16*V=apvA=zkI#_Gs?eiA~enT$k>9Rb42w&wQ%gTB8YGOpzjc6+WD04*1CsCd448 z%W$8!Z`;rHKhECzGyPKGBA?JepMnpm`}f@1teC$uaq*9zvb~SIGe!1Kar^kxZ}AUR z^~;xUcEe^i(U5ThWuAH+si(Nr-;X^rQX*2*Cp|4^_n?x8`p2$ zkQDzXrz*AQq53hge_l5aT{d^ODnHq{bKSI3=6N06TUwI81{&@^XK%hc*tXWBSj*x4 z)hhnrH)X z?_bG!QKc1^q{~zT-%qmb6zs`CgE;^m?9BVT)&8 zn@?QWTN*2S@ohWLG5^9op>ykv+cFmV|FxL*TTD+c%x79$&32h}u0|`2WUA-?owx3% z^3MB*{y8i@n0X=cqSo(I#S^dXPYA2pdLyqb)_3CPvgX!FE_0ifd(NJ_I`iq`WhuLE zEGt!AQ>xQ%Wxn*4)QMkqg_mCo2n$R)@R3nXLMdo->iiwAn9DZpe$*0M{JJ<`clyOo zcNlDgZtpkGO`9QQsps0@`gEJNi>`io=gQ;XXMA3E_w}MBIV&Q69yTohmceBsZ}zLG zd)3CIkbs|)PO95anV$1IP;`g+vR;KLJ&A{Reb|5H^0nQ{v))+Vt=RV9a7Iv}S<0$} z35N@(ExNMguFmVAWtz(~7G-?><+4`jae<1?%*_W5WXtIW-DC;eKlqUW?8*X^xa(bdSP$6(GU03dmC=& zPCB)sR{8xG;T4N^8tsywxYi}6!=d5FKM6rCi#^%J(=zy*66b2zGn`oeJ-o(iyXoW1 znhstl&!tURtlFw0h%`T-!-3*`mxQoAsM!-{_0)Vs`P5FuMBa!jZ~~bFuea6?R)M z>wW2Pae2%6jWLgXPWPm{`W@km9NwH$NPSsO1vjh$Y0m{G{oNh z-q+RIw$tZkWZz*Bn|4~goaM)b#ck11*ArfB+306}WDd&%t?etf?fw6t#eGS=fX{7H z=f7c2=5Y`})}$tbVx@1x0sX-zO_^I%BoznW-zRr-cX|>g&|Wx)^e~ z$HU@Y#^S(RuQ$79E__vCu}MI6nVaVN&>u%RZY`d_t+Q2co%5TrtQ6^zHw=G|?A2@9 za@Qe@LzA)O=)NDv&fYCq?)F}nQ7C$o+3(X|SBD?XT7AkQ{Zhn|P_fqamG@NZdFoy= z*3FkaF6hk;XpZ2N4_mY=`+)-mz%O=G&5t$v!t zGHB{H$6Gz!vU1OAHkO(NZQ>G|(|bYtsqv09`-78R!333T<&J=60nc^1_VSJm z&pkY^FER`NzIFY>;Bu3i3k?YupIn>Fd28YE4Ho~3vn-c*Y_WPCE@@i6L*jgCjKPIv zt!+9=n_Tn~UH|yM(4Y2|;c5J#Z+jQ4{_MKrh$-Lih-sFVS~_g|sySiHv#0Cb;ysn3&h+_jAR2TG!=wZU{fAv3s}bLGGMi^_(0JE?$m1!p)Fkl~s1q zuAy;V@j<(NY~G^x%U^}u-+O!(&lmk&-|c(y)=bFB-m_4ytxNmmCkDsZZnODQuLqd@ z>Hd;>+uGatKlAPf4#C!&?yp&WQE1PuM=ZMz{8HWehx--Z@0}Cht+HCAe1FD~|HlLq znjh;{Hf&fO-jsgg&;8jJCt{N_&IZ0*xA^zJx18%0d(OUV`oGqbHSzC<&AV#jo;ZA$ z^!%pu`0g>KvRlWUB!Ba5+*!%TeeJHyzF$u-)Ft#@ckozvzVd{ei(l^@_2+kQ`E0XT zfA3p{=Ej7>pAO5K_dZX#s#Lh5T&w2bCQn_Dz2?@nTRICrD=!sz_%-?cx?_E*YHi9g zm-B>XXRMpCqc2~^;Qhf1x9ujlyuT%Tu_Y^WQdw!)p~$Pb!8EP*^Kl-PGTrDaw7tsl{vR$M#PpTjsu-dcEZP z>&Dx)_N%-ZW0}wRg~#7(E8CX2$#m|aeN#XFw*EDJ`N0pOKf~^O<|TVd^|rCi+8diL z>D?zTCw?~jPhQ~j9|3bitmXxsd8c`$t@D^$-20p@J3{U{vo62Z5vg977~i5@?;CV? zVL_>7yT*mb%AfPz|E;&%TK;O^wBUF9%C4x21m$c~3Mdfu+B#)|*5QsT2k-u{E<8Ug z#Gqsf&n5QTvUgh9XZLZ*E)N@mAG2_9n=E+l|yi+}oy$a-WT1 zHt=A05xY`I^@@=2`Xd729_*zqrpe3nbFRq-W^1)h({7!>n__4EB}ePxi`9SsJv_SV zYWH+!i=A3C{+@bU{z2%FT(`F-*QaH5=S_c4HhuIz@uF4?$93h4RYL88F>L#_n-%w! zDL5_sYp)vR_`=rJdVAE?-X~M5PgnkP4)E!al(7GM{K1z4Td!%d-L5IRD|Pe8&AC~d zo;=tV%wK*?IF%NlH#pImNqV&d0e-wH+h$dw%~uPQg5 zDbu$As4uW9k&+}q?X{B-&{EmU~s@}$z4=eyq~2yp$Ksuj4=Bz*6k zC&eDYWg`0`r>_5;mcA@C_>AF0>rIJsPXGL7ld@ysZ}+U}yFYEVp88FIG5ooOX2^~+ zI|DW}7=*@(rM-#M7q3iSFaLSfak1VvPfzodPIi93`qX_LnOMVJ-U5 zP&-T4WA48PiZ#Dv*FmDPaBRFv-v=Rv>FM?9UH6_DZXM;=4 z&Y;F}EzyHJ%HH}$Cc3k)JkWhhUc$ip){d-d-xI$lm49JzI4`n}eNp@yj-yO7%`Q!< zIy1eCW!mAA?TW8vADgt!f$RK%%L4sUfqPf$EHRIW`kJwAl}7P}hF>088*b*V$^5#- zqsQ1~U)iGW2T7Ax+!l7;d}3px@Ta%7uMf4X%<@^QwQ7Hnk=X3=g4GMlE<8E8xkr}8 z_2+s`HIJ4}#oRFD^$GS5mttE{SDb&>6-yd%3_J>e?9c4|k+JosG}LJ!w5XjY_s!Q;*L~nEb_yFT3&MgJ?tkMdHR+F?@M#SvB)-6)~OvETZ#faJe^fon5i; z)b1Y--a7>~=N)_X?t+2R>|TbcT#@q}``G7ya+v=3<-_jB;`;mcf4_L}3CHoHFS~EP zO)LB3<)R;V=Qr!m8+ET85_TK4AF9btI>FCv``TIGMbF&sh4YFFW#>DDoNHM=NsH~C z7`4gB=56bbkQ&{6OD5RfzrYuob|5qV^Jn54W=~u%5xgcp;;?zhY&PMe*LRk5{nwEYeHH%E_~O>PRR+QFJ6cy? zKYCO?@rK%EfwRxVUIe!u_!#$h`vGxTp})5!+O56`u=luCU6*1D>3w&UvzJe^B$aJ_ ziI0q*(Dr^2{xyP^!e2a)yf?|j%(p3Xb+S#nZ~xtBo$zHvfeAJbxNTRfom$Hh(B~nz zb$!5{!Ue7Mi;cEam7JAYP`7>Q(d%-3Q-aQzx@(;LdGmUe{0w=S3#~stes90OcgK#} z4Li&KcI-oLX`>U{sFTkTQqzhZCv%i>?ruk(>%kNP|QpY-zkntf)$7k%fG z9@Sso&HeSoL)9y{@x102ZzT?%+G+20Y4VrhNq`@|910k-K>9f z>84YAPV5uZ{k!8#{qeSs7t(f~yU(!G_`huX7kA~4T9coN-cPmI+Lit&KPC0gUBPFH zzYOCi&fJ&p_4W1QKhM%WPTT0~!~KR&JZl9x7o}#QrDu;6M}5jS zTKCjF>izta&$E*%?rEue9M(_TwJ%3->#-kS{xi@0_F`XqlFj@c!3Z91_EVux-dyT> zm)o(acR}k>xi+M^ItO~N${NAa{m*(vim0YXKp?_$yD0$^1V|ZcG`zK z-JkM-wR7egH~(o7+ZaX8R3$uP3$)<-by<08Y4H~!4jp~%hCh!qJsyAkRQmB{(nr=8 zf^X-Vsu})!b$55B#xg4{=35DJwbo|$SDdlG8vWl=ZQIG7?Oa=L)w#Z#c8X0jdEu|g zcg`}2DNUH=yE}8i-@8X1Jos?WGs}E++xlr8JFo9Ld~>x{*!@Y(8NVL6{(W?G^G)~3 zFBs%g!aizlUU?}!vqo{zC(+k#=4tK!Lvqp?`Z6}lZ#c>K?ZI@OJX!OKH|iqu+pn7o z9RFM@7xha2cg8XKf59`RSH%7>*vg*B-TtI{TgTn?$`6xs8Z|%f7hg8xQ@ONO(*B!o zPKD=LSl4g9P`NHS`}9Bc%+vdl9={Fx!@1twl2zvuaF!(WB+LjnnYQl2oO&CI_qU ziZ5I+bJx12lYGCm_I>Pse{yN*`@6fVYu+;4_~7v8wh-ePiSI)D(q->F=KWM|cX2_Y zjP|_1`64RnDa*yJYbl#nl9g05&{#^HOu8ULisUHdR zK29wxKD=A*zD?FQV`CnTT~nrBu{g%hwQ}x!OPw{(I*NoY=@>mfZNh#r_<@)^t4eXg z>&LArw>y@bGZkIU=I!Rc{!8Kewnfo`Z<1cSKAfwyZ&I?0yOTM;Rz%~IYbD3~`1izF zE3G&)N9~o!?~O;6+=_6_U9($dqYQJ$bsH;ElltC@TY>-Ejq^*J z*6%T2y^-zOx^F8#E(}c1-tqCf{n~H~I~)Hao7lf>f0A1GRoklj7T1Kk?Vr5rPE0HM zy8giKwddlbGufX_NfBDVe6{3>-A;`{8UgcSU-;OfWZb-d!?DI+ z6*m{?u`Vg%za@G)$KjXV|5ue|&8k)16F81{KXr{eJVDoL-3Fh!9nV;!<-HqTX&-P` za=Q13SMK+xYpX4vUYIHRboKV>1~*F#cit+Wx@qSQffc9wm`*G-{`^KJ?z!ly*j)W* z&#y8_sFsO5vDtRu_R(`pCz81s7MArioK)(%-m>lO9Q}>U9d880?fZJ!a{I4`pFSMi zTx@lD<>?pPFTU@V{(pmQiP@GKtILlt5QdDI?Dps@YgyKMZ@Wz zV%z7}xUE^a@mMI|_2XA>Zc4otaglGci$~XVcFA+1$!v@6v>7-b`V;P(CK7aVaffWv zl#WS4DvKViJvKY`lX`kV(u9qtr2-fkn{LW}k^fo~n`i4q{7AmulC$iK`%>ky9UttMc2`7q z?h0aGtrvKG?rw`f<|{9*&;R1Qb#unFnUfCh zo+?vxa$ni|jCFdI%e?2k4Sjwya>u#5s<)N5te$w(QF-&>cj{IaHrD@-TB{5A6wT}1 zHr+M){N{%TAG+KBKf3$gs7EeWOr5gT z&e>yGzSPOjZYm!(OyK{tBzm^GjmE-`%0tcjWK=Be4A;Kq`O6wF-ndwE^@$AG6j9Gp zEI%&&^8VDVQhWC3Yvv3y`RyrBj(@T+aM&axy=epE?Kc)0fh|)^CmqNSZv9hv;lz85 zU9a*&FRAUiB2;VR{o}aSsmXGza}VaMpKA9s;2Yz^Ikwe1?rYtZ>oV)IdzmBVpwyxK z$-`S_l9j$z!k^MQ;r#tCe*AN-EznW=ex!X$wa2B#&tYLoWvgsAPf)hJnp4@)8T9$7 zOMT+T+9`TJ=Q!8wufHT|xNKK!%Y@zbzd6(I=X_doE9Z^h;%U=ooWB2j%BcZlgv z7tg=!cHrO@Uqk)EI*r!mA1k->6kIHEivP?iASM|0;cDgK@Q{0{=1tZ@pNrU--<&%# z>D{Gc{$k#BX4(&weck$dr#7CJnkl^~T5P@h{K7e&?@pc)Trgd_luylUO4fB7U&E9O z9D9tfOg%Y;@AKpB2bng{z5GM}nxSq?U?%&|z!Zf8HjlQ|&XcS3z3iy)wxQ_s1())W zP-WY7J>seloY(j>amGddI2A5>=IQa1^PGRE*tEoYGL(y+Gb}EAt#q;ANfK||*4g$Z zXSZFSE42DiPJ7b-Upts~ZeQVCJYA7(dACPy$MrUk+%GB0J7whqBgE2`0u6W0*csxu z_~ys{FTOf^t4>^4aEX6$$r;_l_FOMN2L5)Kbdjy~)1PHqR&EWqPL0l=^Dwj6ZmDBF zkK@*D+rr+NvYk@PTgCZk_1r#5VTJ7Z>AstLZrdeJ-6ku)sxNj|;qoW$C+798ZU1_# zNM=Eu-0nrs94E^DdQ-&ESF?2M0Y`SjuGjsBdXALJ-O?P0q>dmk@zKWCIar&1lx{LP(3U&*<)eDo` z4sS|{{C4tXiY)UB$wQ}nK4qFdUbQemN88KWBu<_6)xKXRU+sHyEjE9(^n^{7b27M1 ze!cQl`*N@M=QXX}Sx=`#+gEJ4x~w!VKkV3gxgRH`&WoxJD=aL)E7V0ZF^t5Fg@;cJv*^>7+mHcSnQb^|B@zB!k#JabN_cNSN*t>epy&G_~ zKlLG-Mfw@F=~lO|Ps#1ek?&qA{pePzLeIPYG{qZwp&JFJY+QRTVW#b*?aME}cx`D? z#CGI1)13sxi59bWX?3uo+a{rQNu?s7g%WtaOucN8n`Oy}iM0l9D7#^Xi)qoPFbTmc(&$Wj(Pz?H7H> zvi|BS(feB}&9B_QzNTBOEALy=f1xj$v5RNvKM2bHXLfe4RHXde^r(fqUf!yBEx@bK zyf{%&R4U!hSmAJXo3ZSRJMDo@XXb7-dpGU%y6gYfJd{tn@^_)$>-g!SpN{rEn{R)3 z{_IDQANxxg>-68Q=-K=@{>zEfyDytBd#!fe7F2!xuZNyixQJZLH2(J+bQ~wVPyXAf z^nfWj^J|9f^7Zy|&2 zouGN?Qr+Rt8S@`<_Ip(Now9x!`HkhwyvK33Lx-=#J`;PBYWrA1Owq2|m*$H7+*x!)~Z zrpg2SKQArmt>3pK@8>F}*$V_-tyhc6cr&qDw_?>VR{x@1pB$!dRX$&<5)+-Ra|&V|G7sSzjB7)_hvD$aVIv|_Dq6Hnj1&i*U4Gd@h_n`Yna6Qr{7wW@|*oU!16 zjD{ncJ3rLsKYZi9&0T)~|8;vyM5cs#hkPhqRK3@zy;Oeoezk;5gsOJ> z)G4}F-}}FAdiZwg_TH%Dp;6UIKV|;>{nhjSdl}#H=G`Au(ywl^+T-|II%tY@e_GL; zYrlinZ&iz{RO_6!;^Tu)e9{4Hw>oDPId93i34UYTy}XZ^XYO# zvP4MNv{OH>7W!^FciLj26NB^-8Qm2;Lhp5KuifmQXw8#x>*u4|sLL*`-g4fr)ejoFp^IJW|1@@~>pU4~N z!q(?6{&Tg}THD4mLEV?9i~hDccB-1~x{KpoKlkK4Rgw37?mSMNxcqfgbB@ugfY?%M%;H8=^;trFwdPP&buk*&lzrUn*dv*Hc zXYnOfC--&ev3;C*WLx>wiN%+hm^9D6@2PTJns>*{X|vee*yEo+SL<0XzS{EG#d(q~ z+r+Jx@13(U4M;m=lce{{hrQy}US9s<0$R>uC>(b03qSI&QQ_9}1&`|kZtiE!JoMnzgvUZr zr7ZTUYy#75H_dz6@XGssinQjs4>z=L&M?27eUd4DBVX0a-R!H5Msc)rNzTHC@I zY}XH1m+f$U+qv!K4o3gHt8<+*zux|7p82xp|C*)2bp;FL`1luJS$}H3?svOI`IV=? zo(r;`ps`RVG44X|Rj*&|>FxP*1-1lzoIL62ipIdF=2?@guC21`yx(LP{d;zmtLK+z z=hg~^&f#8j*x~epqe|&pS+swgoOmsoRfainrfj4{r1**xOH=#*9Gs?6^z_MEk)RdN zPnZ-Pcer5`wKLWHhv$=d%lDi1HhrAQ=B)eDDmQo0H09G1Egx3uA3hW27w~5KnP-<2 zrYz|E^z!+cC97<7raY4QGi9a7*Q;{smff{y@8oly?Yr-KZcVISswuD4ZLhS}KcYK} zpM0vRD5JwJ$hn;pt7gMcx#xnmli1!iP7{pZ(A;3)&j* z-S)fs!TpGq-w&Suy#F<+z?b*NUCC*a+jl>D_CvmGiR0JWyDwrGTB;wV|B^rBwN++A zNy-N4lQOPX8CW;OzrV&Q^Nn>+>Wx<4-BW!Y-1UlhHBT@4WBAfApZkx@d9PPp`19%| z!>c9JBsX3Y?%4bH7N5@!*|HTiTZOxitUG$Zk4;+f{X2)Jp_e-j)i-c|34H(8(#rLe z$&<7nh7nocjs7;jF5L0Pye-)LNpjUSuF$n*8P5aD<1+p|n#kp{$t^sibxHQ$HR2Ml ziYK~1>=0|*xq~fC?AEKsHLoJBANs%3aMpw50}~CCFV4zUb;>`c6)yDCHej2+`xoVm z)5kX_t31AO#G>K*jFsDXE?;fVaNV;l_IscHw%^i!_?Lymi{u~peD8th-T1U(ik)6$ zgy&N^9<82~9rx?TRd9Ime z>1%&+je5>|Bbra#R&wdZ+D+X%&(DoBW8QaY^3Uu@Nwt8~V;!G0_zUj19ut+gw0*^b zhFfKfpCxuUP5tQ?>Y*@CxGjfClDTNJ%pLQGh3`)b&6wdoyRD6{*}-z!`oebygaQ>5 zX3vXf6!>*u!sk^JS>+c!VDQ-I_LZ6EE7ywF#tXX+ns8(&itc)nxL_aOJNfigaXxeG z?y)X7Vbh;klo|7TvrXXv4JS4G8Xx(%MIld@*E_wuUh=(BNUYf3UCOc4sF(Hm;n&`K zgkq%y{z~6DXYSxJOGD;I!`sq-%AaB~Jk)bN8qesLrup0uXPNA&a+X2<*PXV+CXudP zEBRwt%I$56HZA|o?(JlE&%Z%!2K&sH8z-N9zw)*}!_=GeEpDd&PkZN8y?A-!hj>oc zr0p`c-|lsB2~2m0c_i}4HEY-FTJs6MUURnWk@-J2{n^K{9ww__WtoO$aDVZw?+>|LL=_?2On}ySyXsWJ^ItsMUZ3*)py#*P z$@fz>Y`ak8a%kpvcD^H`#(OO%+&2=;d%9Y;w>)ioY52OtDS5tOTg+C!*W#LekKMJW z_+fQ&SW@_s>pd%txU3xAlHy*^mev;*E_nDlYRQ@^M~myfkJLX+k@9WcuV+75JC@U2 z`1TTec^{3;?Mi&t-E;+eH|-BLs{0wBbyq-tllK3AS63(JR>-k2D7JGf5ea+r>4|@Z zblD_>>`hY~8Qpc19Snu0HkBsvEmP3X3)eYibYAMsPlx2NABXcj*XBes&!6MCH}o^# z`pg?=cFI315!tGD=IfqLH67J`dAIIue`B>;S!dPnb=h2<_1jzCRTk>?@N%3ukpFtC z?a4*FGJKm}ud8*aT^9VI>h)e;=Jpn+RiV;6=E0E%)`#p4Tk4S}l*4eQY@OEjSA~u2 zGX*-QgdcR?Cs!N!@Qm<*Ii>vDWjCCy6w!|i;;1^E@La_xN3itvtk{jKyg&NXpJFw< zpSi%K;kch)d-!~vGp#y@nxALqb29M8)vnG8&G+EbU`XiM^<=l(xjTWie_s5}VJtFO z*SJvS+Ye2n3vY!h9yN9g_1)p@ zXmF|i*u98pN9tLdwL3MfrL)8?6?Y0QTz3Civ+VV?+)g(SO%giVaPj0W4RzJu?eb3- zFZ7VUrF_)VUYW1IX;1%`-}BoitVj!zYQ1DJMeR#q>iNBs)lX)eU(UEteoNW3CIQ9g zIRPx3cb@Nd^*UZF;%0qq1?R>4ninouG9OZY$a}KG%kiSa3vcDS2|v5@&pq`m*}AZM zMSw_F#!*kTySxj0nM-#p%~Xy1U^PQgRli1b@wDw)_h#6Jo%i(TY`eGmYR@L~gjW}O z<5!$Hq`A~Z!d}9HX_)Y%meeJ#f_a#AxSLtWfOg`pbZS3nbCwTJBBlAAF9m~@B+Lvcr z{r|JSk@9YLM~$%FO#46HJ^l?VHl6$UtM)+T#*(l*N|4%ACUFNXeH#SW%lhx4HV7AIDBiEhqf~_;~yH&)k1g?=eiS{rptDrdDs>Tt>GG+2RjAyy!B0==MFmbdALFU5g!4 zbhYG9nE!ev3PQi*Kq2do6%Ty1hepQ(; zZOL_qWj{pU-45x$SUGLS2DNzR#qaCW6ZTs3%riMF(A{B~&)~7eV#))#SH36SZWKLc z`a7>;o5J6#At%@U?6>>%pmy7|B{OrJ{vKL(t+Ur5s4l?v(u(&{N6or7Zjs4!W&u7bH(lJSAQ8^wC=-aiKzOI zo6c`-Yw+$25nUkgrp{oGMe~+z%&R;~l5*!h@!;GyT|>2urn1%lm*Dg7A zI>my^+IO#+@ztD^YmXl}lqL(f*VcD!p3$68`gu>-Qt2PgQ-$Vi7x8&!l;I?ZD=e#L*DZJMII@~F?@{7Kn2 z{TVMuWgay#(ulbAmmzkA+l$Cq^#`98T4^5^U$=Ye$z3-XV<)Q$UGr5qW83~@Z}zSU zhh|huIz3*oZX!?XHfvpeeec-GyT{i^w5~gL@_V}tzdKj0!0YX5Ui#@p-5jAVLME=q!hP-rd{w#A zUOusNr_HoN!^P^W<7UcPEW6kIVfU}?$=mGS77G7ekUA^oTKDQ+;fpT!Rvb52xO7<@ zCvR`Jp+YGhFm@Ur_8BB({InR_E}GN&(9PrX?({=B(c* z?|hb@^=Zq_3Hj;|j<{BS8c&3^hjvPQ{2 zQ*K6d@rJPGBNH+<|G5~jE%)~9?%;KeujAS;m&)e3Th`9pFLTK){qLH?pO?K;`Nos& z@TRIx!}EF5QQHfx{-y@PnRj&G+imU_Z~gFDNO8Nemlp5DibqFEly~#nUQAU=v0E1* zeqy1?3&jodf-PrGSs~@pG+4!pl5KWE{o{1a20 zw>EK1{;kdR{c87Qd5#Hf((m{GerdgAnaSdA?wssXsd69f>Rg#NKiIYK`N9(yAEzwa zr8{d^kesmP8lNLqr)azg6hBt1uaSNDXSn#9rAwynOWCA2$-LLZ^;1uB)9u8`45xxz zdQV%FXg-Ra8n|8Z^e@ZxM`YcSdU{W*PW`!F>+GUm4oj9#5t3*;de$Sbq<*>JZ{Ii4 z&u@kQn`LMlbgTUM@=YQPyh;w~D?`rR)eR}&Z_3b`YsZn|7 z#qsAmicKn?hdy4rIB`z$Lw8H(;z{d|+`ZD9v+wfk>A%*;T`sIo2zU%bnSrD_3sid+%`|Dc=P@BqP^N{&h%PKCZOme~d#fNQtQWZ53L*;=`<>%TC_&wNmd% zo_#jqSF&TTXt$TN=B2fpSyV(Gnf~AjwHNuG_f&xS#Khe4wIV;SZZhju@0j1H8zS{& zn?T5Xx#^qyl9v|5Mz5Y<96jaJ^x$xzka?-4!v8gUx;BecxLdqf#(&rJzr*so85cLU z8LgAqXZXfwGW*8sRwYveBR>_JCMX%ZMBi-4EnVp%|G?TYQ@7h=!^Ucj`lH&a*CX(gR1}?eByVw{fT}qnYed+r8HcO?j(hWfqjwI{} z3bKF7cVOfGr(6~97=@XpFV9~eR=?-xn=fnaGj{*0`1aWN_p8nFAJ6UkbxD5xl((6U z4^`7uW9I#9xGetRy!5B%HOl|z=YL6D$^TR8|NMn<|9w9E|0$_;?)i1$zyH5Pnp;^% z?_F4L_UZpcCwaF|3?j8N9wsK6efocvZT*w;&yEKxPBqMyS+Lo@FZ`ZORa^17|EnK< zh`Rm%=z@QX-kvI(%F*;I;7ztyDC*VX#8-!p%^V1s0mg_YW^ta#pyc za`^Y%3t#^3{agR%+2ZV9UvB-Ip>XZMd{&DU+IJ>TnaF6cCENS|(WH}ZTR3k0;Vx4; zCcoz4&-Xu`fB7!Hyj%G1BKwNUq>fXncZBvw9Q)$$fBgAZiR+JQmL{ArInTaN>-yWi zwodU4oRi;oW#-K`V{%Z)F5e!-#s9teL7-#F`U1sS0`|w%rl_YaRd$z(&b^l}ma)P2 z@4*XUh8BywH*^(s)Gx|5O*;DR&2IVWc6)a}`R-bLt-D(&EJn*ra6|upp&J|ZzAETE zEijOKa;#dWxn;N){TdraPdoD+Y)jA`%bys zGKM=3EETTsTs`nE;`FY0R;vHmHarUb;T)KI-}`U;7Q=s~>6tgYk}jTLk`vsy;BeZX z=%b~p-m;%sav?2jgQ-&Q>CoWM=d@I70}dBz?Jvt=&F~krpLn2Q!uON=W3$~^=dY^Z zJNnu$cU4QB>c-r%=JdFN>AXQ_?rq+4T=AoEC)XpnvSWp@ca`5eew*g;|DtuZn9qq& zi$_hre!j{%U}9Go&hqti-HOwj)0J1WOxcjsFl+m6(=AJd%=DhS9QZ53KmX~LV|taW zXI&pk_a6Dhx=?1eip*>7j?kxdVbgTFi_fnQ_Q|d~?YqU?w)j}u=EFS856_!&?NGmQ zlt9TM%SX}TUr+zr{&AMp_WD;_RG09)mlZnTVefk9o#Vw*_OEX2npF4cniSi)Jtv=S zjyyIwS#!yYT?%?E2UO1Iojv2NUA%;~&N^=^*W%q7cH4S%y|-QYI(N#6laXefPs@AP z8Z($JUS@SXzS)d3HKL_r|6B=|g3ViIpVYDR|Dw8^Nmlx^)%Ael?c1l@%{18GI_FWl zw-)2s1<|!}2GvTs7vDLgp1E)&B4_dKea_h{($1dLJ?!g$DPlo`{r|6#-C55x9x)&6 zcKz;{ew1H8JYYxb%QF*yvKfc{sHiZWJwd{3&kNpr0<}kXOz61pxbxrNTdS1g142(f zxBJMyf1!cSXTJwM?P2p~zFw~^!g^}vu^vY6R!*C4IanEqr%(R>ieLeIAX? z-*#6>>K%Td;<4EKLgTbf#$u-XtIio%wd_;*?>c3HB^RR+TkGp0)!9FvH$8g0j&X`x zTAJIl9X?Yw{+y*HUTj||)!%*ZEA3r{3X|7k2+ixq9 z9rU%}^m|wNyGlLHpSmyS`c0J)ak|W5(wir1G0SZM=L6f@g@5_j7AIcf2$4_qjyX1M zf?sh&PSD+&84(=YuAEXn@JPJ*frNm_O}oP#v(~6D(l{&Ai5%eU3!UGF>#obs$?)BTye8YQ(RkG;k6x|?p!zVhLt%?VfSPi>#N zS2F76A6vR7p{nhvYaV;KUB`pW=`WK12Rt+XX19bpJng!k-$Z-a&x+6H8^xr4-!QTK z33sTPuI0812X}w>`S|EqWZbu}1*^C%gEgZM_i!6DRn|N{BJ%cGZ%Nj{!_RIr{MY~S zWb&tzt!Z|eG7nEiJ>76~-l3;vbrQMBPH${QLJN7Gf19b1`a@!(RhagYuM;{SSR9Zt z3M%}t(6Yt1LG$}l`K$XxV)(z7U!3}EQq`LYRXGRr3Z2aYPHk+NWA=K@^?-=W2XE|V zeo`9{`Z!&_j2rMS;nM>BmctYl}}eEpYIg^qP2`#qN%7o{CP%e`-%6_^>a z_Q#Di7i}YZkFlTmvhFJH&gV@I%qM~#%<^QhlvvMuSi053e8t8$8VnmJ%~xeLk!8L6 zMtH^sjYw|Z&jN0zm;+5bB(H@yn_l0!VX{>2YhS}Fzt{^FyDwH>q`LQA=;y7MM7G`E zAN|^6?_#4!bG<){dc^$IwRfmYm*;uyy6;k>s4Cy5zt(4Oc|Qu$ zM<2er;^^#@$OFeeSBsqFiPPJ5X|39!N4@^4ztv`BL>O*(QZav~**&w%XCg8mXnwwX z<9Utat``a$=ZIt!{kYHi=S$BF<*gfkZR`jY5K6qyAYo>(vdclVZ%z8CoxYhZ>C()3 zZ_N}odA3^#l^tOEZF@W6ZL-G-u1oQJ#~eE@F@(P?ydU;6kHO);Qi0D6w_xTse(cN! z%If>7HSapixZPuQrrlI)HYGQB@%k&%6)lP{Y;ZgF^ugoygoXvVyOwa-i=CJ%Y%F@7NoK03s+!I0l?J?G zLet)w%(%RRBTY}{@44ImR#|IGsdf~zXFqt~$zp31ELs^Rdj3?*tZz}q6~}m%tSNiB zKk{al>L+#PMH(ytde)t#TXcinf2X{<((u7!ncTywsGKxMxrM3T98>jFSiAU@loKK= zP9Bjy+gKY^VJGY0mi$`wthws<D^A3Nr+zUQ=P8n^h?IZ5sMCGGy3-*PO9Hl6W*x%ACe^Uo6#HFHuj z@3HI6dH&LmRsK@jyMEIpsf>s7MNgDVy7iQQmp_{6Y+=NE%}6tR@B9Nco*$0JgwJ?7 zZCilnQ~7;-3s=0#bAKQ9vg_Eg>qdrqH>E2*XM8lnsa!}pz1Z{g(#N}3*!cP0S@0w5 z?6Y-@Q;r;Zy6T)Ub0%Nl49}Hsr-?B0rfi7awo|z7`Rea)@AAFZX`c6ba+BPF8@qBA z7e88cP{X6fsx^Wyu95mT4m > zns@e3$~S%4hyQ-M{kHl!wO7skaG&bx<2IJOyo#aAElX?HSI_5OAAG+&dCskQZx0<8 zkg|#Raiz#guKB6A`S)#W{EFsZD?As@w6S#W!~g%}T;Hw9GY(w${rt;cuCt;z1OKfk z@(a~q`}FDR%=haHyk0~IZF3jwDl3eBB&2H{xA|V;mjiN5Qjc_kCi*#KDu zKeWVJ@pe5*QF_O*(j&R_?z23*symI(XFa`Oxq0#CDCH~BpdGunf{YMRM&hnXo}ZY`+Qb@x31t4 z=l43+;#_IzeE#l1-ha6kxAvU+wtTg6n*QGA3k?rXeZ7CU;NR0$?(`T{eKT>+J=yzN z-#_R1TF(BZ>Sx{eZFhEg{<##+v(JU+(mIFcAHj)_9{o{x z^JmuOwnT=1bGO}=E8EV#VDaNHvuPXN-Be+!Da|=owrf+}PuEGF4rTfN6YGK=*%vCQ zC#0SzG0pj~e#?y)AI+NT-rMgzSFl!Y*HU$Tk@q1iceXXu+x`w+n>VHPwcoiWUu_Pd z)TK|H=Kodve8H8a?JbA?`;dTrzOwC4K5ea<);?`P!%F*t)6-eK{uqfZ{qpjyXPne> zkJSe6uSMjrZYkR^lS6%#Tc^9QrwOx6Y(eL#6+CBEX8!ticzO7lkKUh-`>)S-WtWP& z^pe4|#&UU+@2YIxJ(lIx=>flZUv-wHPJH`C|Bs38zdu&5qu;(Lk=%Y*cb~vf&yUP* z;oS3Xbl&gJPJg+~MQ79hb6@6dyQq1`?37tTT3Gp${a;oo|8L!N*tNJnGvL6n&YX~* z2X9%lHs~g_FWqwW{ks!k*Go#6PpxNr_w$bNjaPgz@{#3?ZVO#CmolnvC1DPBokCX04f>~D-es`8*`ty2;QXWq9wIrN*(F&gHf*;1G}qGX zyKy=CamZc`jGM#hq0(mJ5#P*LyPc zTc#K=On$XhHeJibppdC$277v3`qZPf>+bxqIeBOH!jBAQp66zGCdE&itgnCFSACwR zjIzb*@Q=Igl2$#uza?Vgnq-T0^6%3hFG#+6q`KHn_I*OU*_4-BPU<>89!yVpC$mTC z_>anL%|lxc|I?YZE$(K+^Q9TND{~HBx)OOof7|9I>RW;yz~PB(wg?bn(2?-Yfe`7z^=D62oea^>AB`6mygjulK$F=={mq&VoL##Yg_ zZ*v#;?7TlIHKU%PaDw=pZtY;lg1z|)A#<{p`hI&ledkOyA>}3SB38fn+HH~=8&tw! z<&?MK{5c!vpF7H{`aON*4f6Z9wcnBXa8<-{-eHg85VK47E^RY8w^is-=bWhz_OQJ7 z-Z1Gy+*ien)aT2-Uveu9Ib{07T!C%%nFoJfzUZ-@v-IilI(Y@JuIqU_-9H$+&2UJ4 zm6KWiRCfC-q)U_U|a|m-=_+uD8>p zK!u4*vljSFm#|2_*`~ej^t4;%sfYE~FFn|77h%Y)Hd#VfW@k~zNsaQ#Y5SJO?{D0` zJ!5M`%>8Rz$*&!k>U*gFRVztReC!y#(O&53Y0;_!m2!T8llPs=-<93^FmBTa6^^?c zdR#88>)*F=>&<*ou%gxoaVJp1ds&AW|nZ;w9G{*)^+Y18dybG2J(b03EmKm0Vm`}6wp@MG$x`CiLU zns>*m-(+e!bablYj@r4V2Y1ZTHRJbRx0h)qD_gWo*o?rg{fQ>Ivy3BWax)yB3JO{cW1jE$jA8%o(SBnEr;PE4^vGn&!H+-$xx5j#pmHLgG%Fra^y~*}wXNzLa zf8WZx@zT%l%2Myb=heozZ;LvXYcVT2?d|kU_VV_%mdnonwk$j3xMjQ9g}n!?X6p-o zbdr4D*DmVjBzhL`L6 z1jV@G@jvqg^jIQp}EoU0%efiLuj!4$o*Ecj< z#@^ryei^gQ{cic{?-O6gxct_t`pYlh|6oPN+F;HsrdOE<8VwV9jgIxcvE#dAF?qJ- znzy>Y7u{3b)_t8Xr!9kPA8*ICwq?ujuN70dZhFz+u7_6W0!O}u#d_I784A7}9?}bz zDcGh><9ZWtwoC47sgi8eq1vU(RxfFKcINKVBK`RiQ?#2Sn1lRJbK9N25Pq4fZBf{_ zC4yn9^@mPR?{Uakma*LU>)dB^@*hNK3eOVVU+ey#lPmDlq3Zm%c@}k3Rh5FG6yq!A zJQTX77A-uJ_w40ok#2tt!XC)q;kR-7yqBHx_>PIy5;MxDCb@+LD*rAxu~1uQVj|bx zUwI1yP2=}JUpCe2*ldN=OLb9Yh9}lCz7{UIHRpbGc=ykRw`};UO|5goZXa4zB~Z5G zxK5C>&-{-|UnqR;4D~v+;C0u%d08)lOVv42G%qN4f1Tc?Z?JFC{&N>UUy~4jl=vs+ zMycKL+|_lv)mgJt?udu_9^yC2JLGDT9;(?jU*^ZGK)%@=A04Y!1m~AdIXt89JKO$Z z@2LHPiWh~aO`m6~JWp^EfBp|m{y(24$$15SvGCs?E)!PbA@|DucSzGINs;>kO8n+W z<;`a-?%kF;F=(@_&3)hE2C3q7_X~?9wAkIeg~SFf>qTzp9VywT)O z|5g3loF#uBICsF%WB$21zFm!M6JObEOSqL)l0W&uKZmtT+Z>*M;_k2BeSz1PRO!Cg(^G?c9eV2;mEY~(>zE=~~bwW;U zdBpHWe8=%UD|K=YPWi@Xb@E!!N2w>q5{k38#y2s3*!04FPqK5}2KE=qnrY(A5i?xR zPoM2L@tmRkcjMGmeM);--YI%Ioj#r}vT)Jj6aOxnbl6@_`lfSPlH*lkt=_?$R=@D} zh~T!0cL&&4bMVP+c_I68|Ir)sET2C0JgV#a`Z|;5{dxbZg4Iu}o&CnMYfflvx1HpR zA4@+b3EDl$XfS^D*4WeSrnPvDori4X=HqMqZ=YY=xn**8{F^CqWyX9bD$`kh@zn+1 z>s2GZd8GEgUR(gVdrN)eQREOTtD~X^*N3ShnD-cCRgrv z-)-)`Te(rn^gz+Ia+yuBr8VqEb2w^4Z+ayPtnj%PX~c3oP4s92=Ps4FAf0gTj$cW? z-u!&cd?tNu@64U{>UNslD);ACXir&}-#Ou%d0F25JEj?*dd0Wj|FLPcsqefnrd#&A zMAtVn$gV$s$I#{S{XNS{#2M$?f8Tt5{{NWh+j=aQBDa5BRdj^sdd!4pi3~{fWEzJE$hzMl5f zI~*UhFMP?E_uIjE`tnu!Cqjcl*L#I*_ddRKM&N=?A49qQA4eB_KIZZu?sWRW$ZrK_ zn*wc|4Ao?fnrgolTu_`<+@W55;ql2Tokz_(9ce3$#RsVGtD!qBHaC1pn(1b9x`4t7dTj$UCx$GB%sc;d~-H+9*VY0W2uD|C(T5*5H!iGTkh=e6g5sSluY4Qr6w!BwSj4M8FS5RSi~G;qy$9~UxEAw%uF0uc?a!?8oFxiw zI_=I1+|+x`aQPai+)f+ST>Go%?+*v1B zi%cHgKI!oyf68-)rym{`dq1A?!K}mc;4_({jL9t#!rwJa_-A;Wtb3!v{ar0*=Bjw< zh}~k@4Q>2a&Y$>Gy|*%WKG%(I2Qwz!exq#*#3idfURid0&ZT;HE6K<}la~>azeL@S zEJ{4h_~YMZK5v6<$;Y05WnZV~#Bnu|VY+)lEG9ROQOg!CzW#>wPKz&`>$!qwp2isCg&%*BmVEuPr%O_y1FA^TEUY z2cEO}GBJN#I_L8PX*SN)Ix!1pt-tb+>AnEtR3;mMT@ zCv=5vTeIlevCJcDQy(Vod?nDy+jDJeN#4qqL$?AWzOPjaQTTa6bV9~)m0NFBT=*}~ zwJ8r>usywt>AKt#Q5o}%+mEo!n0_fKa8lxGwZy4Pt;pBqa*&8js} zzZ@mX_AqSL^Tt-rEg}4kjVtV|-_B!_G)TL~Q2p}VL3cxEE$($@YMhc zPuXZ**mt8`^Xs&b3t=2Z263eVlS}{IjG4z1%%zZdJvzTkJEV#RlIDH|S&&%O6+PX7Mh63dlN{QPO{a>gMVZyI7|-Yi+fZ@3^qLG#|{<yE-pYVAzLtI>r@jR6iHdOBAN&0L)|KO`p8aW+(`+g} zC^&xkvYExLzS>f+UaK1d+y|4{4`062@@>xa^sKO@Ta~61esi7H{m53=YT8xJ zo-mR4v@3IpcG<-`t2WqgzBI$oDJ)^1x7Wf=CtldNEZ)o&btEgiG%4=W6ibQ8jAqHn zuN=Q+xjl9AJDtgVFve$hsbV*c|CsTdE3R6&MsaJC;#RA_yJq->cfGKS@eA)a zwb%XdF_UnahjuiCmDOsU+_4iD!h?VnG@8=#;c)2B6+5gqmpH)*sLcSJ! z-LXAt>04X&doL^W#qF>DY+LY_J9_5N-5a*?d%ty2P!}oxFSRS7=~;2al!T??*P zuME5T(f){PO@ETA{)aWCp8{fJP93P8Bk}c{TZq_A`%WgAx6(XLXLPvF9Gq;jeCcax z(`PM5vlbtEY&h}dYoX0e>u&C2P&3=#vQ?<{hecvr1V_@0HKtGQ8Zz!;Y~p*&w{6$a z7q-Q157Spn6!t&&>dol+sXC|@xJ^EpELok?W( z_MFLA>wdjcsuAixln`q3XnhfPvD@U_e@4rvJ-8w?C#osf`?O}1lb(EfTex&cGN&8k zMT>P;ATf!pYOZ4bO({+~NHE-`avB$^YXyA3pm#X-2}e zwQ20zIlZ=r21qGu%suvC?pY?snP+ER{+S=h;)n9}2d{x^;A{Z74Z*Wvz0K| zvsBl8k4qv;^_{xIG3>gJtpx6TZ&0>s^6;!FR=V+O`N}t^kEB}IJ)T+8caVSb%ClC! za_{H7m|Ly-Kh9V&Tv1zb;lXRV0oq4fL$0x{jof|qN$1`2o14|YO00NeCx{9tg|I+pH$4B#gVpXf9E{4^Q+4{g?8@l*gI`^*NM6d7mcdD zM7s|beQXYSG0!jO#<}Njx*Q{d=8{QqRX1(b0N%e`QVcV=j)|T1=razx{XLzPQc)UG3{PptYs|tT3p8VJG zxz-sx-QXVY(UYGuW}jQ#^tyeWugHNtJB1_ESNAAebylP)eOOiXeeUZ1K81@%KhBuQ zwDHvXRBlJz;H3DPgiFut*wp6OuQ(Ly5c$=`{bpd+2eH7PiEM>0^&a6 z>XrQMhwHCAmk%m-+{)cmyLisw!|Id1{M}Hus=Qc`Iq2fi|GS*o5-V+9vCm;xp?f3r z()1I79x9KYB+U32bh}0?J4L4TkHO-VGHF^VeJy+(7N$MoMu(G|a{iR6bw*y1$X-70 zRmwaO8zr@!Kj$4P^y@e@@oJRzf!S==?h5iO-ux>uN&T#f_nVeiOlNeumOqr~Ww4j@ zZn`n2H^Kh$WaER;w=88gJ$}M=>|}a0`$lb%S7jSMn0~vv_j6WM+p8@-FZLI$_YAn6yJ*+mr{THhABX(X`5Cr! z&D8Tzmb@if-*YY&_`d6&bKjfC+qXq{@h;3@J$o$uVbE3Y(D^S?jxYXovHj1>#ZMQP zsqdb5?qTAu8=Z4vy-&Y){AYV)fBVnx9RIt-UnT#ko>TAt;l1a-*oyiq?jNgf1X!0e z)%$m4ziLtSt1>Y#{P@qU*6nQqw{4@Kio#X#6I(t$j}&yB_*-b|UA|S8j)xLS$;n;b0PU+^$o@ah= RINV>ozHu}Aj8lzF3;=eVe`Wvx diff --git a/examples/SmartSwitch/SmartSwitch.ino b/examples/SmartSwitch/SmartSwitch.ino index 19affa4..727026e 100644 --- a/examples/SmartSwitch/SmartSwitch.ino +++ b/examples/SmartSwitch/SmartSwitch.ino @@ -13,7 +13,12 @@ Multiple clients can be connected at same time, they see each other requests Use latest ESP core lib (from Github) */ +// Defaulut is SPIFFS, FatFS: only on ESP32 +// Comment 2 lines below or uncomment only one of them + #define USE_LittleFS +//#define USE_FatFS // select partition scheme w/ ffat! + #define USE_WFM // to use ESPAsyncWiFiManager //#define DEL_WFM // delete Wifi credentials stored @@ -42,10 +47,17 @@ Use latest ESP core lib (from Github) #ifdef ESP32 #include #ifdef USE_LittleFS - #define SPIFFS LITTLEFS - #include + #define HSTNM "ssw32-littlefs" + #define MYFS LITTLEFS + #include "LITTLEFS.h" + #elif defined(USE_FatFS) + #define HSTNM "ssw32-ffat" + #define MYFS FFat + #include "FFat.h" #else + #define MYFS SPIFFS #include + #define HSTNM "ssw32-spiffs" #endif #include #include @@ -53,8 +65,14 @@ Use latest ESP core lib (from Github) #elif defined(ESP8266) #ifdef USE_LittleFS #include - #define SPIFFS LittleFS + #define HSTNM "ssw8266-littlefs" + #define MYFS LittleFS #include + #elif defined(USE_FatFS) + #error "FatFS only on ESP32 for now!" + #else + #define HSTNM "ssw8266-spiffs" + #define MYFS SPIFFS #endif #include #include @@ -120,7 +138,7 @@ AsyncWebSocket ws("/ws"); const char* password = "MYROUTERPASSWD"; #endif -const char* hostName = "smartsw"; +const char* hostName = HSTNM; // RTC static timeval tv; @@ -532,7 +550,7 @@ void setup(){ Serial.printf("Temp set %+2.1f\n", ee.tempe); //FS - if (SPIFFS.begin()) { + if (MYFS.begin()) { Serial.print(F("FS mounted\n")); } else { Serial.print(F("FS mount failed\n")); @@ -551,19 +569,19 @@ void setup(){ #ifdef ESP32 #ifdef USE_AUTH_STAT - server.addHandler(new SPIFFSEditor(SPIFFS, http_username,http_password)); + server.addHandler(new SPIFFSEditor(MYFS, http_username,http_password)); #elif defined(USE_AUTH_COOKIE) - server.addHandler(new SPIFFSEditor(SPIFFS)).setFilter(myHandshake); + server.addHandler(new SPIFFSEditor(MYFS)).setFilter(myHandshake); #else - server.addHandler(new SPIFFSEditor(SPIFFS)); + server.addHandler(new SPIFFSEditor(MYFS)); #endif #elif defined(ESP8266) #ifdef USE_AUTH_STAT - server.addHandler(new SPIFFSEditor(http_username,http_password)); + server.addHandler(new SPIFFSEditor(http_username,http_password,MYFS)); #elif defined(USE_AUTH_COOKIE) - server.addHandler(new SPIFFSEditor()).setFilter(myHandshake); + server.addHandler(new SPIFFSEditor("","",MYFS)).setFilter(myHandshake); #else - server.addHandler(new SPIFFSEditor()); + server.addHandler(new SPIFFSEditor("","",MYFS)); #endif #endif @@ -668,13 +686,13 @@ void setup(){ // above paths need individual auth //////////////////////////////////////////////// #ifdef USE_AUTH_COOKIE - server.serveStatic("/", SPIFFS, "/").setDefaultFile("index.htm").setFilter(myHandshake); - server.serveStatic("/", SPIFFS, "/login/").setDefaultFile("index.htm"); + server.serveStatic("/", MYFS, "/").setDefaultFile("index.htm").setFilter(myHandshake); + server.serveStatic("/", MYFS, "/login/").setDefaultFile("index.htm"); #else #ifdef USE_AUTH_STAT - server.serveStatic("/", SPIFFS, "/").setDefaultFile("index.htm").setAuthentication(http_username,http_password); + server.serveStatic("/", MYFS, "/").setDefaultFile("index.htm").setAuthentication(http_username,http_password); #else - server.serveStatic("/", SPIFFS, "/").setDefaultFile("index.htm"); + server.serveStatic("/", MYFS, "/").setDefaultFile("index.htm"); #endif #endif @@ -694,7 +712,7 @@ void setup(){ ArduinoOTA.setHostname(hostName); ArduinoOTA.onStart([]() { Serial.print(F("OTA Started ...\n")); - SPIFFS.end(); // Clean FS + MYFS.end(); // Clean FS ws.textAll("Now,OTA"); // for all clients ws.enable(false); ws.closeAll(); diff --git a/examples/SmartSwitch/data/acefull.js.gz b/examples/SmartSwitch/data/acefull.js.gz index f795265513b69a806659da016f00ad4d78ec4b24..e88a884655abb64466041d0be61874b93598a18c 100644 GIT binary patch literal 117524 zcmb2|=HO6Y%O20fkeHmBR+^KemsQNLB)Ycxwu!)ht(A>Q!dE?S_2u#@`QNm9ad_9e z%;Sd_XdmvKdhE=`W}WY?YWL^f_YC_pspRp~`5snt-}x=S{IaCzj_1U_&^b%jmFKUX zd&YO~@7DokNqTKBzirb#ce(qhllY&ymxc!dzqWlma<}WRhtH!B9kJD`?D>z&AJP`A zJas;$Ms#`Np=R3#k=2@}wt}7gJ zmP=&w9=OT#vaO!D)S~`L@4eVzpUEOX%WGk;fZOxE|-YvXk@k z7w@Z_)@?K2SDX9dy2VT zdA8}|*~?0vd!81sHdk)UVu*?|&x|$iT3UKnW8bA-(_3>ke91ZzU9&WIeN4E7N!ZMz z-V+m^Iauxdq)K0&&3aOig@=n zeUCg5y0Sm`;rp(G({$y zpBxeBesrGCuRZk-OBvtJy7u5ube7lSObz}ix4$n)-5;{%$)QOvE$7WwH|$w|{=m`y z%H6@dvRZn(SCm}+kS3+RNN-9!*Vetgyy2@3y&*BrHJ&pIB?^n=NrZI}mZ(UouaoZy=x3{XwtGOeOaplkWcrq#QhpK9r z_~djQq0WFsmj#Mvepb7dG%?!t$?3#rW-@cPf7!5n!GTMQck{j4tFrHn@1xr~oqDNd zleuSFzqzAXyYTRwAek#X%Fmm&n(t!%zU1!32+PAkx$T__uXBDr)MZ|mpQ4#|)AUaH z&cnR#vVS-zUY)zU?YxZffyD1hN7*JkOjT-H%eZ^uMx(EGmPb5mLOpKpCpu4eL`HxW^=mg=E%1{7M%E{lZ`R%SY~0iLtE#%X-|5% zr|*f`W3s1jz0*|B8~Z-4JeR@B{qE%59eX1!;vNLVs<`YBKb&{;##Fm)E1GuCJ@|XB z^~_mZFJme`Xn(k&zgb#we(TN#$!9UYmh5D{bSJ4%b_yfY|8H7zIJ5XYU(A0z<+uP- zjZB!IH}e4*25Vj3OGOe7E-Id9uqpUBWeG-RGO z;LudsVv(gFIpOF=rR3r;j|rjk=9Fs9Q7-xZ=z8Loj(GpgAq!3{nz!DC&(rqDsi5V@ z(*w3}q?ZXeS?m_x_Djxqb#>?Asna>SU4756&k37y*6!iD8@rl+PvJJUV~P25OJY~2 zMex#Rj_b>diyz;Aqc~^hE8cl_wYPT9T@~qM{dZHt;@WvT0p&l5TOi zx#NQS5ecuLN4-0)%H0uNeZnm%|(L?Xf?zU(k%TN->fxA3=3zPdLp=>GAwmi{&~f)ADNoz>zQeJE(lgr(YZ)pmHV znRAG}aC-A3exY{7Io_!%X+>TB1^p6ST^Emg&Uk)K<4bAl9NT=aC3_}nF?-}pb70+S z-J;6F%5Cy>W1rPo*|X;z#cFnNnW$^3S!^}f`z0p!gTRt)UqaKWt-lm6raTlV2q&X<7p?qsvHL)>zk6!_=7ZtNGyOkT&dPe=4qyZLeb zoy`nO_CB3ebZa$RY(u`mnNjr|1fHCv@(dba|-L!abH`)2<#)E4(rBt>5pLaU3+j!yu-?UE*jY54L)^pa)OMiFxrTL~W zTjY8z{CD5wmOse)e34DhwqGiaHj5uuHVe$)?SA{z(yY_c>%_#zmS>IjF5WX|{gXv4 zTzR{D>#iGLPq-sz*`IyGyZH9m*}r)*TKZcvve?+BtnUl>w8h!;p19gyy|=YrBh}Ay zS&G@u-SPXGA%--E|<+FsLwnzD-JaHRm50)4`{NU5t*hKw603aSZuQ&tg;TFwzw<}h_J-t_-|-e_ zn9>WgI;{Tw%w?U|^&@N5j?K688x~7c>+X4cE_G6`{f&q`=75r$ZK9E?hIF)?I(Jg{41SiC<3AAv!`$ z`r5=>F6VDuv^pc*aY-SqK=x(|Q~AQ1e6NFMeKmZg5mj;QlHnZjl&Y9Rl1G(H_Zk?z z_RTpn^R0+?n458!!M#(#^(o7%r(8YWl(O0KiuA<9uCogrD+_lt{a>xje7vyW-W`4K z_dEQWbfOhv4tcsw6b{{4*k~^^XK#I3*|&cWu3r3jaQ5QK;RP2=Kg_<|9G&M04&)4_wFe(3W@p#earCTQMXj@$`d%x?6NsG<>PmTXI4Dxw(mzr`!-2d(n^4R60 zX<64)j+4hOJ($XKd5(~1bnl+kyDR;6WaOUw<@4t-k z4^%EoX}UG}fTah+t-E*KZw0Nmkm%38?3>WErfcgm=N_6LT+HvhIpm>;ecP+Tr3_!c zC$RD*PvBwG@d?>*dXuGRvzMPubM3PiPs^IrbJ&VB9*CwVN(JUFt9J}bTd*NTzpm)wFIs=53Llbx$ULS4Hs$TIXC{=!{?J66m)*X}2?ol|FVyNGt zE_sGK$z7`6aZcIq6*fyxHE?`exy+M)#Wr_SrG5EFjNAV=n3OF$pUE4s>H2c__4j0I zzJJ;fQxvs_ZwqHxtw;h}QU8G~aaM`93mHz?ac!t*VfwP)jqy-_pu-1s4TW#PA`*5b zH?B(@4`fhvVVvSE;vl)0VKE1*!N!9AgBeXs%99Mw4Rf?s68Cq~v4DjE){ zZA>9SA`2#2zTsSPCa~eud<_TJMGRAASXXF>EC^b_Fg06bK~XbPNM2yWDcLp5A^#SM zx~5O}YADZOWcVI<>4xIe7tb{^O%`uDQXTc^;@m1@r+RNgrn;1B5S;ZXam)>6NxS>Yo(Tz)@Cdv~9nks)Pw|qYM zcrUk~_Qg*Zy5?IK)I?~1nyvA`{NwCw@z_-P;Npn$o2ARAYgT`hS!QkR?EmB1&sW0S z;)__A!glVt_4sL7EB9R8)8FGdo|b;x+@hDwQOoh>3Zpf%!y}QxmwXQn$VJ&|idFk8 z7oMLwv10Pt*d1?E9v5%4^3Sc>aB5%Bg`;O9>YHr-Y|hl^R5;dLlYCX)CgteY%5 z9((-L=PbT`lXGJqtJ3p@lghuZ^$;`M)0raMA0*bUa`UuBxYE&27GGj67__VIc7Jex zrgFVtJh$)ndnOtyB7>e7UGsNf+Hra+%j8!-H)OCJ5$F{ajZ0Er6z{{jNP>^yYUz=s zK6CH2=oOy&v_(pC=0vmmw&hd*T6o&0DHyQ_?%E=g9%$3qY7;!eR;*a|g_U}G$>f_? znqRYR(v}F*`5}B(@%u*UedhA7cU0eQJ^pjv->$`P9{*Lf3O@Jq!O5hBr;oc`m|$%Y zT2k`PzWXsoqYMw(OAWudu+=y?{GIcII>Hosi+BR5}M zVk+b9bv|#Uj?LM=sQ$BPu;`mvzTFwy|0blaPt$o^8^$yF*6ehZ4aJ*xSJl{*hD$HJ z#dg;B!N#ohA=XP9gK{lC3)w%jvd!FH`MU0yO33ba+$+)_&GMP?#XkIIvGTf;)0RCt zmKWz`>$~%8ncV>v9j}(NF)x}o$b5IcyZfc@k&?^PWgdn`e7jhloc43Rbh3g(Sl?Pj zbB(UD_usxraqO$29Z$I(L6uNEYk2zL?sS!++>(pnU}6@n=TH zi%*|PN|crUabe}3#XAmvp1nXfXLX5PaPk&zsp+#cJsT7l&RolXs{OmqQ_06+HUFs# ztLE;S)VEAYe}8{qX+Yx*Lp?@89^3GRAq;EFSeE3ZSKdCa`M8wrv03v+DQ27%H z`+l{%DEswI2C}EGuK8-?=(m3LzWS|dJi+^WizTM%S*HAb_~grr>%u$UPk+yUPi}7S z9kpuFW1h2X>py30VGmiIxR&>~rP{?WcWWjey?EO5+@@RGW=+0g%HE*Xv(jFx!hXY> zeX>1w7Tr!gy8XA+OY0AN81^6j#9(7(!aaAUhxEyU@F|%Ow_7j#{&w-vq_vNy&*ilG z(%E}6MQ-9@?XMPs3u~Gc6tt(zuF!e7Ghkb+b)(Q^kCc~{jTfpm{@8Wj{YV;9|Ah5B zHgm=sE=k|_{Z{SMJqbenzt`PNo_NlUqc$PAO)f2OvFH}|Z-wstGah+IF3=0Ve{~b5 zcfqNnbldmBdfh`OwoE(xOCYri$~sKOG%td-r< z3lrCeco!s#38%-;V=k>#o5=m1i)?SnPMLo}`qgT` z>XU4>8^x52zG_Ysd>qETC*sCd*Ry)suU3nGZHVQLc4(NHS;=d6^v}bYnI*k*4@azz zl}Z(Bu@s&&W5WAe&J}Uh+YRo1U0=Y{5_k5B;j)$k!rHO78cG$7?HXP#?NGm$uzris zQO)+l<{_t8)_tBn;bx!Fzr^&k74IzWMsANj|Kiz5VM%FWSe6sIf>{8=?(n4_N^94G#Oe-wevvZ~QM7bYYZ~C$)D`S$- z>^Oy(*B`QHxKE5zIH0%kW)k-*-aFH#=ayBiv7K5s`)XSMo@I@y!riPXZEMn8<2`;Q zJ#_r6!Rz(k(e25r1N-z}CYIg(8~N?}OLxJ%BTw5SYGu-=)$g&tedF!b=Z0BlR<8Oz zT_Mo#DEF$qXH8c^G(ODOV5qEo_>0${{mYd%d%n`xIwLO4+`6moWN6RkB{P<0%sw^g z={L^R5)qzd{I_z zeze-Q^Vcp0_ZrVxxtno?+jYZLX_l;8r!{QeWVw8cg5&c$FU^*k{QsK4eW6s(%KE<0 zwx_p`ur4@M;`Od%I@e>9`+L$7+Oam9-0jD;$y zzM95M4f=}xTx3srn3?qcz5lc9{X*-PcSN|14KLljckh*4b@lI6d1u8hE-#tl_(SD* zO8qAH(|@m}7)x7Z_%ME)+<51EwD6KG6GE6ad^>0uCAZ{lTov<{ym`tC)VHRJ3Do|c z|L5cHE|2`)UH4BOFKD>fdt?5Gt{*%2?EZN_zxhZavHa}^-{~#QsfTVUs|M;=*D42p zG5b~Z?(lnW@i?ms3?(bKtvD?mSj^2{dDAIR+4JVBW6xbgr@t<}8}p>%a>*>ghJcRk z3&L}=FKp>uI^E*(lGD5XDujCf6%7gB`Z{mfj;vrFwc?!-R$&cqm88XUrk~+y(XaZM z^Y~a^*`K^OhqV4|Tj*c9Z}ZQI3h8!{A(OL6%=}dk&AsDx{vP{}phX|{v&&DI8M{1i z>e)&EOC~z;XKmV~>-OC;%l?|9K;3Ug&B%R5ioOApgfve@K8X0|T9mz_wKwniiDI_y zt*e>4VnnzlB$|12x_oZ@cI@Xdt9{CU{#WRfgGWs#R&14I@sW6UFMog7{;=|IF4Nw9 zy!>|W!k2sp7fpW>D5i3=?Zot^%o6E|mv8c}HM*P?rL%6zPm>LsCww?qTr`FAr+LvX zLG7#3Dr>IiJ~mJ+G^dqdUiMr-O4!GUV{(z&(ol3@wDZMfrfc&;j(?J2y#GG_bM?p7cdh4M%-_ELVb_+rudlO@xcvWRb< zL(1;E{W2vYKgAr_$}UXw?EMg&_4}pz{Cd-#IhQ=9-}~%ke|c$q_0r#~zI5N4usi)X z^UpUjg|S-@W$mvUS|Yj5ct(#NAXstoVMP*sIKhW3xBQKgrTQn-Y0y zv*EO?1kMegOv_c-VvpUrWt3wv)9=&DIma(F?U1@UXUj5Mu4htFC$g#(Un(4!81gCa zrrPX?DMo5MPUS*P-$M^{USKI+yr!zHSUlSJ3O~b@4h1n+UXP446Ektgy!Ip4^@4cA zH%j*}|2S=e^W-BFBX)-G&vl+XS6!)vCHC6k8J%lPd)9t*?!NY-b$9Y3#((z;PcsT! z`gAF_gE#hn^D^;;fxBX>Y~A?{?r-$}&-AEK=JWP56BjM@mHBy2#)jqht+NkRXO_JG z?zZFO^fgDqlOLFRWnb`pG5cP|?YnY6TQ^*OeAcgZA9s?*`40JG_b1H%voWVav#!G6 zz&d9Z74PL|%BMama^~^kicR8d>hu-0bV*!r=~jHs{{NzDE}yE=d**lap!odm%&PU* zg~d(79`D%dp}*#6=$w_$+|M74e|eL`>GHh<{=oJ}LQmD~n=+2&MI}BE_jwv^^!~{P zskI3;hnR1F`p{BzeDfQ#T$5~`mi_mpi}ZPYRBj7?_dMX@S=Hvv(^#s1icC8+IpnbF zBLmsT`?UH_gui}nv2x>o2CF@`Uu%{2-A_uXV%eis!M|~e2-i$Iq5dF`0vT%_@fktW zHn@boVg1sygp z&!$bZ&c638i2HWmX*Ofc%#(pHv|GJcH?*wT@^sonB`>oaBb5?0iwg`HmKUt<`UU)& zzU5{2r8_$`nK&kHo#8d(`wixYhG%{i^Gviq#P?%oW!T|MF%pZ4x);0=YL&982!5gP zHZCY(>Uyy-(dJEd(_<5=Z(Mqn@aN@n^@39#n%B&d7<>}$X8oV=>U7?Gg*-zB_WXsb zkFM)lSJ-$x`%AOhW7%Ivi&LXber?IzuO%#hp5?{ff`aL{FP3c2_?n?vXwE6boYChc zSAFD$+TkMh_or@_A7ravs-o3%TzlrcZ2q1ZpUOI$9Lv2v7IImYmZKu;B`gxCu~FFbeBi#2>sQso-l?DI_@}3Sqgs&Vq()|_ zU)brSs41!^D(ugsH2&CC`OPnnb+wqqGR0LB9$)aY-+1s8tI|fJj0YNX+<$GnvvWe8 zj`{ifmW6w@e_1Y_zyIUmo}voQeK`f^5|pd?k_6Iv1l+DpXpX#p={)CwgWIcWw!UvmU!UVvQnpH0x|raU&wF^m&3XooDc#G@>{FP&t>A;; zR#{FdBl(jhce0#JE}z;iqFnVqy7bITGrtUmi3g^-G&?@5N|aG;R{l2Q>c6wwXUaU~ z;FuJuIMs5`G|rkWafi>Zy{pz+!e&){-E{eft=}$(Hi*=(eCEEaQg(&amGgc&R-bNp zdN}Y+=+fN2nLTj+-M?L;+^dtz`mNP+ot!RMXZrVhWU?IT^?li_zcG@#c&@dd|GsO# zLPT=s2sdYfaQLWbN{Ae}3TKIE&dJcYA=E^y=HGif3X?qI8U}&WzgnNvB|E z#jcBMK2Q0{=oebHM0r8jl_@Iw_G$HtIaxYLtG%~*_bj2~mqDM%;){W9?{3c9s4uEL z>G+v4%dh>ZM|bH+&P&?DnBnRuHFNrn8WpZrsX|b$7QJ_5+IhXR_X*dO)3Y*?pLGat z`mcJ@!0wKxBEv(8Wp7d}qmS@z*z_uWkq2ve@4nl6y3#gl-PoF>arw~Y)y(-1UtGA@>gpG9!)bTW zq2}!9$V^Wq7T(RQrH^ME3vl_!u;|SaVcS)6?RL#7@z8m7u9>@qbxV&itn?s$t&~HR?YTyc_b#s}`frq{OYJa=hk+yimW1HYwe4n1JIc=TZ6cK@@vorjXE zFL9_lSiE1hL8DXi|M?vYqb)3K^}kiiXk3VONN!BtyKI5F*ekW5Ch>D0%#Yvasu%v_ z`_*6)=g9*1U3;Th7x;ecc%0>yIWzy_M61J7xfZ@_Sh7y0rufj#ID7evH4p68Ka&=p z>bTe;M!VbQ<_tFNg>g5^OlEMrnU}h7uRUAw=dPJjK8k#Q)~cj-%0?uziwR6w{wT*q zC&l1)2m9@?-)qaYm__Fwta;jSV2Q(=?^BA{0_(%|9|UHly8M46x^_q2j}*`~K& z9b8~DN5VgPf5_VIuT_t_C5;UZ2fAz)<^Az(8@p@$H0{P~HCI^tP$~|yDwtIC z{mv9i#sgQp^V%NsFPog~eRR9t$C&LWX;z1?eCSSDJnU0?nFmYGmr zK;==zLx+uI8ibx7y56nf|29=B{ga-ZVtcc(=|tOW z#k@I4}&F}tnvcG@BwY{|;{0fdexWD?1&HOWuGj6>w4C+$XmwF>! zeEh(>e9jmF|F!dDURJ!FvaUGbCHJG{1?*b)PfRjgqIyqy($$3=y=;Blfn=vNRZRH8YQ}rzawyNG@72Xv zR`C0#3Ato!+v}yh;QiKJIX@({&&cP0&;Ib{>d$?dYcn^#Et`GX?dDQx+nw48)#h^x zx8DqW&YL@J`q|h={pzRNAM!f!?BkXGd}-dc#y<)anSMSGteNy+@qW#k&oL4@Y zux4&}9xr2CTJ`0P=k>FmiM2(4WN~{G%W)yXB9C2L*ZKF)Wqt*PI{y>5e)iehxy&BCNZuFvuFHv) zC;!JH_sqjzrggYEN{KIi5j)-Z4&N`^U-=v}b-k>t{3=8;b-yjxe*1c;&ZR=>2^HK2 zt3M{D&$&~0rtre6=@*Q>r|N$>_pa7!hk1|BuMpvvj3+ikP3BoYb-uGvS=7a^DXzbE z_~jTY`j+{33+iQ0D-Mp1PJk~2WALos(nD4tqeOB0YAJug& z8VffYRvcE*JHqdok=ys2_1bBE8`=Ba^Q9)Xdl#SnB)u@`z^C1rpG9UzK3sl5uUzux zZ=u*DT(#1!wklTqy8F(YO%!}*&cgIF?skJ^+^snE%f($Yj>Od`{#(f}ld8Tc>!(4W z*uu>vl0^$2tiN-4;=%p#8oWn&B?auYB!d^SeKb41B6{DF60Kv~Bj%;<@S7C8?8@Ps z67_dKlfpXAIv+UB@q8iI)-8#jw>>vRS!?&gm0X*?N6%mIra7wEW8eL6>QibQ zywy$HbEDLMZOCoE<$g9!P03Dq{%!NR2X{IrUM=0Zo_}3j)Ao=$!IvI8J(kK;TArMC zPB}C~TJriHxo5fF$0vQhtCb$~C;n}wm)(P}6Rjq4l{wn%xHMl~Y3=&dmuicy>0Ok+ zH0wb~_VLw8sfT>u{yd|z;g|5H4QC%uD_^=}cFCLSo3W4X9yHo0sOtA;g|NXYW!HE2 z422@EAGjH=ed21_PXoP6v)=wV8~8x!!rsUy-$mTKnUf1Al!>8;dB&f|`M&vUN5{&w@Rf3KSx^`Fj3>pLwoyTamgqv=b=gQd%O zr^UR#(fRdf4_nBMlnY$`=NgSy1*BdpJY=pIYQf{^+3>99y3zvG`xZ~x6H1)hTOWq3 zX+NMJahSMjCY9{eLu3Y^gPBQLwLV|5< zf>lq3$cjf-mwrw^z!b6i>DkGf8&tleU+~V0O|(h)HF-^uUjAvh8ubT_$L7BI`?cjj ziox}1nRl(NWqt+c@yS|$`E$#wNN3tTwj&(>UQax3!5+5k>Yuh(e>S|j^Ygl8iom_k zubCc%S;Qr5^OVotK&7+_yyRcCoyzt!?e0`vHgL>d%H<^S^N_CVIwH zf32R6-YWXeNz>R{UOm67(6DIdRK@U1&$P<(qEud;3|T4FBWl07dd05|yM-egcLkR2 z?F)(8q21$HnzFq4Uy0ng$a^j4T*XVmRQ|_lyl^?&+IB9ea-bYw)_*Yj)-A=*@4X>jc~1 z^r&ekZ+%@y|jxosLDif-MJP zD#X8Cstx&fda2Yl_7wm2z)Y<}kJ^@bx1Opn&ph{Aqa$cfYO#FYM&Ec>>4-^m%zZSD6pHB9bw)tojSsQ^Y4jYZ93)R2|Fi69p^Z9VBSO5byt!E3t7sZq|J<*urhgCui^>i zQvPe7C1lsE%f6fT>eezncPsy{eNl_HY}%4~eu>-_p&M%F4oqh5I{*2Q%7v1PtA6g~ z5MgMwv3yk5dO6u>gZ;N@5pTB$U5Sd~S~Xd(q9@Acnvybe_T_o&CcJBUeB{R2>Fe(P z+4Fw$)>m7243wUya_%v%_Io3GKjigEnG;sm-iLi-j+7{Uwbtiko=)wC)Wu=TXCA(L z!P($g^fkBDXYbxP)or69@X7jY^Tw%vCYqk*__FBd(piqjxlXKHbggDjLTub$x8hCYRwNZJ}qVVSSdw@%GZ&}ds(RMk zecTeWrf+<8rC9ILiCbUR{Wx*EyYWVre?;cp+{*jk_}4vNxoh?D{@S^LCSDO;4N?Mp zEzI5JKFdYloV67Xiz|Qq^V3Ja^WVyLyft9Br93@iLsDTV$EsVrlS{X*OOQ^eykY#R zxH59@+tNDIyaQR)?q}yM5Ad_Nw^ujCFzs#f8RN@;tUv0Ql&1-*#dhi?d+%Kv7&zs#;L>Z)uePrLQ?@ju{dAj{xi-(S zS*w%JUV5Wzwz#AG*5{tn8y!A0{$nmbf9RSn#}`Y3!wX+7e7b|}T-Bq_H48fv(i^;Y zxnBAO#P$~{@G;&(q@cDKGTey_+Rz2I084oSzBrc!+ zid8hlA@8K~7tt%hT6dm5IhOu}^IiL{I1dkX?e-%_rv|Mpl>D&aUx_QfLDQ$H0g{^@ zMm4{FePZu})&9p0M4ecryuD^_m^R-uTm5sVJN&!8$UV87)B~T&eoYPWGAFu~ZwO)JM10tX(9@>!Fcb zq-Hj=YeS>WtcL}6E4D8Bl;!m+H8(Vpr}*28IWwNUne5k~vB|nB{LIh%ZIk7T8g9mQ zt>3HUSXFz1?_~AM(|hMy37%sDTiAXy4hiIVWdD;Qh(=>09o`m$Uz6Y`k-(XRoIEUF8ewylRiU-v0La)>(Y#8F*(0 zF3(=JXl7R8$NU#=Z)!FtY4@Gk?wIra`Aw%JekLCSf!&X*O5WxD?mDZRabpT!_m`^| zPfbsoE4NtYfmF)dpwH8+=WUtA#G%=B@zaMxUSe-o6`xkk+m-!BYUfSOWi3s=lV2brIFR?+?NOSv?*>R^;l($`RIIxA;WU6BAs>znC^*w&hUw`C- z*4hWWkIue6=wrik%$vI>)v7bTxu>3&@w$)0glM_GzPOJEB|`Rwx63Hht!0QgA=UZW z=I65FJilz=Dv_EqjH`Y>dF>T@sx(|OzFlHUOm>R))po=G=3mZ8ov8|9jR?t+-SOgc zdj7T}ul6vS$@By=%y+We%jU*gu_xw{W9pYm_rKRS$<|EFRY`i3W?!KFBZSvsdBm=^hP@MiKdbfJ ze193&oE-*n3&p0CgeTo%+O6oZ!TQ4f%Zn#3UR7Q+xd^jjLnpg1|XP&71D{eQeKt<8Na2HO}Vqr!A*`Zo1sGF#5OM;}uakM+N;`m7CL| zZi;JrTAHrz`Ly{~Xz%BFv-Yjloc8Inw74+SAI2H~Rm^QtjvRTLP`Qa~n(oI~CA%~; zhOU`M`j2{ZILn==ZTLRv!jjeEd){4%>{!1+VC}cJd$iXrT6Qk&un(gp_wl^)ze{It zOWRfHzxi$wbIH!zSu>A>m{lB>w_)7*o=dSKhWFu1W2>V*eZATTANNhaurclYp%~fh z4NJZjOZ~hh`uft<0RFAnzmL0@HNTql;;BjSmYp1t=a;X{Uf;#s#Ih|p*2?zZJByA` zv8F$Y>Jke}|HO(M*?RtF@db%;x5iB&2lTx+Y~B<#_1dejtA>l&j=kgmaaCWRH|KN6 zty^;^_8u~AFxkB??Hd#K`aK5@;(?#JTfU+*8EzyJ5ek0+-eKc4(}y+z|C{|_IJ9#8*avvh~+qH7;dG11?ba}}0e{#?_~MgQl1zyI^W+wb=(>oa^(+a{KsEWNk( z^Vy_7{u7oIoiKRmn5JoImVT)6y|CyZ-SXnSY5TkGzl!c=;O(|H6g98erGIpmTZ!&W@hs=1);Z?7ge_58A=`__)JS2H8x z8=l{=;XQoEoG`h{i(Hyo1^E(>QYy*JP5 zc6!XjpKA>`Pq1Vr{}pLo-r3xtWdE>KJ})llKzggL!P{fJV(j0I1P^*=?)3WE^L&HX z_cQrAS-M>7Zi=n=y_t1Iz3lJctA9LsUmLeCH7t{mP}uHptAoAb#fzBLUyPQXc6*}h zT~)tgdHMg(9?7OxTx9aC#Lb)!?w9`;e)GjS@t<~Is@^Pp+VHMF+R|@X!x7c;UCT}u zT{Aju8mH&{z_a$Q`l-5qLATDXzMYdb|B1Pe-+hUrYcqef30`~P#;}CV{4}GY(%ViG zHn~#WH>z=&qKV0Vb&DixjoufiA9gc;wnwACNnyJ7tlc4XCfZxJWQ)b=%>T9L(<4Q5 z!F~J84qW2Cp8Pphe&L$+&d;^8=I+?~^^|o;w!{BlQNm3dSFo05ziKpo=QK5V*25P& zK7N?_r#O1W*Pg1=U2Cl)Hmc6JG~xKC`+>jmW>56w77Xj(y8fHr-fM|vFBV;tuAE)# zbnL~()elacY-@dS!RBq;+;4B5nxFY|`+0oEIkPPb-!9PE`82-fTtid-g8$!keGK#9 zzYu?%umAa!)~%eIb>}Xfv)h}Kb@y`H$e^2>Atx9tMJ`ifg2m#vm_M2iJ5S^MAV*&R+H7-7(8}_4c|ry>)r>&&=cRcHAxb^~Rdz-4=Vzgx&jge!90+ zYtc7*vzHU;}vier}`IXKrzjL$toKF6{ zbA2(>6h~3@B|(my3{C8!rLKE*A08=dJnw%hGe-8{yIM0XrH!03xBvU6mgIXg61jzY&+#r}0-PDM8m&#s3A{yz4jGo^Ly1VkEV&^Y7$W-Imvn9dA7`FLLJG z;=t0foHn*k>1GG~{szpSCUtdw==48ZgYWu({CQ{BQ=Q9km-Zc1ODPij_4?>hhplCe z>T_O~)@XWhhaXGZFrkD0!_(b$Zic<*vg-DROR_Fp_2n^7LsX~DHP$OdYLeAgCpz4k ze?P7D`Tm>Vb5H!z>ioKD{+@}sANNg~xZ{~}TFNDcr@}wGvSeCQ7D$}0d%Wt^hKs42 zO0KJ{DL9=jQ1*7=)O+{L^w&TApjgUx#Zr4-`}P1URZVWU)=#C+k6-Uh>C{o!z;EHV z(J%T$ChfG$Ber6`)%+CUAR$TFF4vkN2SN{|7tyaR9$@*Q@>2+_i z*@B$z-JO~JXHKLq&oS4}d7uA9Dn%W;pVQkhSNp*Kbg{pCrJp}5eZJu6s=6;z9;E+# z8n}F!n!nn{J9DNfs@*!N&{v%H!Zhr4QKZp}S<^3k-c)RLcurpVrSA{CPfhlE#Wdya zYs1^R-&%XaC**0h&EGg}mp9+9YL#jGyuZ(RveIu}(5JTtPuuEU`v2kR+@F?9=Lhc% zyJxiLQclSmpA!?Z>faxodtkn%K=`dl(b_wUeye)DI-xW%M@eYORV$(EOw!r`9W3%c zx;;61W*m`so-aPdbdTrSL_Mn)H!lB|n^obv=G@I!hwrh~iAVJ*ezbgj{qfn9n#J$c z^Jjfnd7zACa~V_9ey@Plw^C2|?y@qOP*-!s|H8c;RZfySE^pq}74W?N!8QHMe`?+{ zEo${XTx@4}zg{v*c;CI+P04S+R;iyWY;fV z$I|94O@GL4^m%sm;^y-24D+gTe>(1}oZVAi#xz}J(vw>D1(mYex$if=`a1i9?zcjz zzSs}F)ooKhGyGWkF39=-%Rbd+9^+s67GlT4{nvjm47aG87IZfAc$#*y!pG9%Z+}+1 z%iO#BrEAa3H`n(5`yH^YcH-MJ@n>#kueo`(IeFK)faRP=wj7$jWdH3+wvn5@FW>Wj zpBS6igl20A$sfCmx&HrKm=#|d`r9j1x~}L$+5fw5-{wDck6AKbrmkA#q$?Y*%6FdW z3gQ-8L353MxTwz9#HTcChZX<&Bi2h^+Iq={Enr`>zF+2={PSAI>j!mH;+AB2_9yk# zI-MwDIDGwTxQ5q7)tL!GX<{F8xnEc;3`yxU(2FuueRXucu;=tcXH^a}7;TyH;p0W0 z)7#%Aq!@dho_AHR^|<@z*W!}%V`HZatvtS1eDU1X;^FP@B_=nUaY@{&jh(hKw`St3 zWow%~X6GL~Gwt%OXtBtk4+rj<20YW{Kfi9r9-(7;anjz>k4oZuwyyl;QU6zU@1ozA z5-tW7CG3k=?eYCCq?Z`XKj+dG=@6!gZBKmdZq0qTY|pK^lKso}8D6vyeB5x!_(@00 z)Y!)By~gZ!M9gJ(?DRNmv^yjqg8ftDg3ELEzkO?}*CaP%O-(?`(<*TXen(lBruV7t zM?NS;FW&y&|7Lg_cj;tS=jzXo{{8tHKL7ml&F?Q-`}4R>DA4fCcK;Pc;Uh=t>=ez`sPeoYY)a>$%ll3QiWe`?yIk`$C1A3DdE;}ZcRt)trkJ1XxYgtq zYCN}A?DJv!lb5g78nL$3iIjYKxVLChy#1dKf5UTcx;;Ol`C{%y;oWPEx^$HGmoQ2n zR-Nzp;MaczH(i;XzyBN$72_@4oG_u)W{t`vkB^@D9+w< zHN_WCiVsSfYc6SYB6sOhOD?kwe5Xt&Uz&ATdi4cevo)2Ri?-NYcq}{3+S=mk^QW#l zy#-4qC~a8D`C4CRV)R7&!`Jepp3Tq8(A3JUk+S(#Sm3`=GR^m^Q`@q@M5(EB-C8q6 z42sIE^%b2tzxk*x;c2;iwtGhs3%gKQTk0&~q{c%$^W$WTWPG(#)ol}<*4&tv8JBM7 zY(0tqvQ$Lg zKv3&e{L~DulPmI@R;@6c)R@VQLdH?D@f0+IF+Gg+IHG4`g zJoxS*eSQAL+4n#7Y5&bycjx7kBCDzM{QNFY4453YcEWPqa3RGrml@AzStZ^{x{|$7 zGd8s%|IWeXMK7KU?9%7jcIe>h=52br9M(Pf%OJ8m)S36TO3C@RJB?o-n{`mPw0yy> zDW5gIh=tr>;`W*#)yk6jAgW!k{dkxp@YTFS9IuL;-n}?0;$X7+%D=xWwEo0% zIj&OaR<50Y!H%~oDD+8>aEs0ByGx57md~5D`qH5S&Bd74wsA*)112hKt(^c3(5*^Vq8B zo$HdXSoR|NV)Un5iyty6DK=c6y2D=mZ&LN{sVU`M?VJ;)tm62ped*hWHXlag5P`t2 z4<*XZ-(8#gKBu}$?bFRWea}3yK2$5`saA5^&sfZ|ROaD&YlSB_7V?Mb%j@k8yuEw* zku0eQ###GxP4X7M^s)7+U@huY6OFrkb(V(*^Yln=ouU=?o6Nz)aAGy4#QB_Kf_^j+CvayMu{ruCXrmes7 zX0r6|_MXxiweEb-jT!UGCLWSF#<#S3SLU5$qi|8T3B+xqD^@|PtCM&ksy!k_{7(JlWr{Sld0Pun$fxKhNa&^&t0q) z)0kJSXetzy)xLb?@yCF)g!~O<2lp8VcKobNT+jUPLAQynX~Kn4|8N!SMvh%w7W2-k zY_^qU?dVJw5)}TR?qt%M8pi4|<@p40;kO&p8>hc_s(xzlLcX|pf$*XahOXz&p3yJJ zpZlKM^yu5%e_M`1r&=WEbU#=Ei;Z~LmxTYTn+m`_?Lo91^_ z$@N9Een0+raSDURYpXw3&$m`x3`zZ5ZeKq~@P3~2KO^mG{|G(*D|aW(zaMYHk=Um$ ze4qPNk;fhF>p54}rR%>_-)*j>@qy{|@;`}Ym$yxqTbXrk>9X+K>ng9j+)`ILi``^n z1d~gz)&G}sI6nlvoZJ?xXJfbOr?=~oV_YYWEHznueYQnI#L2vi4L4P{sD2ZF-|%5Pn z<97YD*!k#3vjtaL&ATUl#IiY;M{sXvjpU7RjxV48=@fi3f3hi;VJW|vgR!JhMa%D0 z&5HY%#ayLdB_0vk^w5^&J>!{KvkrLH{A$P$*umYTXX`QB_nzm+4(>}vX$rGn?2f#6 z;m6#s$99-Lz2jqE7F4l(az*;|Cp?<27c8#-*?!ME=0f0-NLiOMQOgI?)6WT>;$IZU z5>a;Qy>X{MtLhV%HE(*8+`bEBH+}zc@^z%lU$M6iy)XY| z&z{}5nzLN@@mZPnx$`6yuJw9MP(EGVd~Mgg#l3X+ny_DngJ>we;mbi-1^cS&m` zDyJ?|cHG|n$k&NGG5F~;>mN=#B~(o|mVKG5*{8C@y_0Fxdh4>~$?BIZ^Y!O)U)WOA z{IWgg*tS59vtNXsUa0>i${C#~uEL`Gfl+0x@6n0Ndk%;jFsUbMN$lNby(nglVTI`P z6))17oIckX-#+DS_{Me1+teAdMe(ioR;zReo)PAe&QvzNe7)tY^sdWntrPZZW-V&+ zTyJ0hAjl@T_5SArzrGw<`hRV2woK-o^x6x(Ngq691H<3UvCZ+|oHDZ``$1JE-#fp& z%T5xk_S?V9{$G-oGtY79kEcS5(!rJon&?dEL%^#6SAuEMJ7X`YvvcP?_-wQSB0 zy>~~FdM_UB_nE>Dld_HPShG~bYE|8lO)Zm_EUE)lg&4Cxj(k5KH28y9dmQ;b@SQkt?D;q{$99v`_rGss2*XN%oU$DOnBAa zHBo!vd(owPDm1y)POu1%FFB=e^;BF?CUw&n-($Cz{W4WgKV8;y=0e$CKjY+txoNka zSgrZ{&iyP`wV`a%s)x5!r;9HZYgQ`$(o&SnuqKK3X}H2YZ`nINx3BW^+KZZ(cHWFA z*Hu+Zk=?f9J9p4>wwkNkQWu46Uhrn^$|ldH`%2&TZlCbXX1e4(56L~k8|E+CSz>j! zq_li?hi8x4dGDR-)`D6t56+nfXT)f=&fI?XDZkFkeGZT2N17?S6!E+~w9#tc?b|05 z9$c49UwWpavM6=oqr*2RKi6Me!<;6ur2JB{^hKFwR`s(ptu6-2IUhT7e(r16J5hK4 zF1`2Z^2r(RnX|*r%}U5jdB1UL-ll@9+3(+k>;B+!IzQnpzh9!IYOZ)Edr#!*knSq` zw4+B2^_Hr?S-id1_XCTO>e5So4+0yd-)`C$=q!C=`<^?DEe-T#};noi(^LHn?_%kfm zXii?7`?5Z&X|1pSv_8fE7Z?}!tXbG{J@n$m;PQy+*OC%F&Z?-lU7f0Za@LPSN#?;W z>qMD%SbY;?jMy>h+QHLH4Ze6Nds{2st1r)I=t+AqB}}^I{T+$k-kc|Fhq$)fW@yp+ z|2*pd+f|d59TR!x9h^{6=dvzF>c^rP%MRb}zr3MdpkG3GD^E<*%>Mr8yx~`v;?g1o zPnGX0{9;}je($bX-jVc;OY78f664s$b?0!b=Rx>i?4Q{?fJGfzvV+v z37cqkg|N%gIXkCmTSb10lQ%wB6}0s#tBl>={~^!Ar=&$x&3?qpCu$vY_`c(XgX$qG z-z2Zwaq?&3wyQy#qYp1x8M8#+_2WC0%&ENI&;5j6>u&sSCbWNP0{{D>#i32-A4}ET zR%5+(|F*@xWrY#kMs*zep@zSht|#2~n``L%w|we)Zmc`jK_LzK$t31M7r&~enu-%V46HjV=3Ab#S zcD73U=&{{}IXN71>*{(|ih1r;yV@Y`7?aq|7g28RA?Eg8D(HliokHExGkXrR9D6WB z&ETR}`g&{r%OC4R7x-Mh8EyD1wDE}&m(jHY-zHW||B975(%E_E{)@k%o3=HFys1ey zlKqxw9#}WqB&ec$qR>0LL)|;HkIg=t7CrI!z#`(2jRTzhvx&nfv-ahkIkM{{SGZnNbD8Gr4a zY5wNU()u-fHZE&ha+P75LL_&sE3ed-dX6BS?zbK_x9`mTa4EV%un5FC=(HS{aLe4Wsd>Zx#|xfMT@zjUeZuV6=7cTxc{u8%yY6}GPW)wUy8868 z=NShxE92JPE~@;yrT%s6(eDpEG*XT2=f`EXD?D4(*#C+#+O*u0!QM}G)o0JW@+*%= zSFU-p_jS*)v+7S)YQDJ4sAdwe?dpbYllIGsRiu=-&x*Kw;q=RNM|(9q~$rV3;7{-5c)wEao^yx{( z{Ea&;WYWJ(DEg%GdzFAStDk#Mu(yS8T8MONynp^?eXaw-Y#&suuh#wxk=uFMV|n}T z$#NC)qI+f)Ow6A!aibDvnX-M}#PUpzl+0!awf;YIYEvcpzVDeZzu{81^OCxayJy!v zU81kRu;)_RPThSMGWVR0u6sE1Ul{wox=j<#Ff7?~zXUH_md_ixXcReJ7oom3(cnV7T&h)w?QPSx?wcN7_ks zs%ACKWAoE|!JhBE=b`(&vtAKrrY)WrK7W7N?yT<82`i3BTJD&iDSv+Hr;j!7lTP*P zUpD=!US}WVIDc8yglSqouGFl5K7ZMAtv73Vm7lM&{96-fxZdZ?#9wuWOQ%^h)HhX` zSWa=lF69+yohI-9LI5qDOdmGtm1B3trscZ z_nhm+7hdBu&j5z^3%05$aoH*HJh&X$@zML(jG75XD-1LjUE^D<%^C5idF|A^yQ`V? zo^wUUr-d&TEUHZWt7<>rDxfLxIK%vEhF;^ArdvOicgD`Lxp(_`oK@cSN|QR4!*QDP zZSGZnW2tE=3f|VA!>_t=X6ya!*XBGwea%ETDf+6O#8knLqMjnV@^jQLoXOOY68(Jh zh>m8!^>u>Dz}7GhG8t zecWR^r^b3_ywCpTt-nPSe}8U2{{GtIzxnFBzeL#BRd&R_UB-Ih=k%AXs+Ef-+05)I z|2gsU`^UlmZp2@B|5Ny%hTP}(!CwpCIab+)D$HYGvEBFde(=}AXF^F5TN4a2X8!b^ zo4Rn5&c3ffbN%iMCG~&1@P+-;&3l`df3}z3Zh!Cg{pVJ1-`cy`KArsc*pVp{7n~~ z|L@(fwf?0+&<5Vr9p~J)T?v-|FZ?mR@{iY&e}*+hl4TJ>n8LIywZqBQP}8y-j@AYTUzb2om-Aw$YDMs zz3SASZC5OfHu|+aQ@LrjXE42u4{Vn!T6}$zN1I_o*#UD)@`}nrhNPJ zC2q?;lsE=CRPIU8bl80Hc*0`-nd$Fxe|+??{dV>7%CrZn2R1Y-PMy85$a-bg)Z=Y@ zTxRBCs{Ds8E|}TCtRDO8Ud8*81Dyhg&ff8M(n{$y3N#43JfpHcHcVVqEUe_fgYT)# z`*kjRUFdqL`XqXeQ$+surng^KEZ<}BUBJvUyJN2BackFy)yo@r4xW~nx5jhhoYXgQ zl^%jR^(&@tfA&;3kUQY`%(6hNID$ z;IAKb>>r=|a`&WjpzE%L%~umbc7;4y|5eQRr~dwtOx zE?(zTZD!9OemVd4O?9}tsJ4{f6TK;*JMX@=r z6i$jNu4Vli)yQz~k>ZNFALXmoHilpL#xK)-;swv7E|WCjK>nf~ORdg`a3%ZcEe)$} zTrPR3;IUa$5I&A8$ll(2aAY)h@M!%Ew~?6$m}!)PY7zv0jf^HXP(&TQCa zVC!Yjx$=3f+_u=31s&nv|BKFDv!Tc=@@LALi5G2ojm~c7`4-=_YsLG%J#i&vP37Dx zI`-Y0DRyGJb)fb97t6MW9lIj5%Sl6jirLB+W%p+;_Py=MP}dwpz^Z7%YjdG^~& zsWO1|-rJNeUgH<948A;X>-OQjJKk zV~LyhL&a)C>W)?BuY;FA@UVl{rs} zJldgjJHLCiQhs}k{zit0-MP#8o7?VI3boa3Fnr9+q<^JHYw^BZ<{aTgn~Mzt(;Y4! zUAgy}-`NuvOZLrn+jM^W`cE$NbA>l2oN3rNV`cKo8=(`+?=vkr%PhEx?|MSru?g31 zZc(nv{G(TR^5bVV&RYlcbWP>iOpQ*wVw|<_n2Cq7>d#vn60a0@gq+*8%R8-HGl*vm z`;>^lBdHV3U(X5*`CI95==IO!8`VpGboDUz$EiA1vbGlp9#^p7tKm~vZDFW;Q{dxd z_Wtj}6YnooXl$Qre(4gsXQ2E14dq22&O|X!1Kk@XJ zO8<_3y*7SE$FF5?d>k#lB;C#Ywf9&xbj3vWYZSQOAmUM?J3QCD8IhL z_Q9rF(P`^mDOJSncz0pua*nrF4$-?5#kIx5=+-I?BE_yIM@SX;1aLm|&UgJ&y0$W*6AsVvhBkzj*uY zicfC;zB*b)FMhZ>&}7=|$6G_^-U&FfP}lXhjAx_sAJ1#C+jniryLMylpC!u0zSj3Y zKH*XL_$Oogzvg@MLte1Bh)uXq>omPd>{HbL^L(51y{A@g50;(y`p2JQqkH#F8NU8E zJyMXDc|^1!PWFo1!{XLyNA+r*?iZIj&7B}uU|gqheMjDR1##{-KlGlbZ<_V)foPc6 zEuB}|@pW}-S8`uo)w^kR+_#5qnX`~_%HByqQabCJogUR$e4oARLM_*G_G?|wWK1*r z&imhpuV1zHt?c8p+H(snB!hI7!`_$ANix4$_+^27_o00Md-=@$2jg#AYt5da6Yz2F zk=))z@9$hotBjIa=XUn6t&XSrq_r&B0(Uh16Z2Ui(hh^OM*1p zO-J@^A%V+8rkN{S_*_`K@c7%6tuAx+H3xD(ZZEs?QvaI93a;L!eZ`k&uMxTxrOkNf z=Jgf9m%r_lyZSJvpw>N9kIOT=F!#jQK5K2iV^ZJL_psbVpmt>fGEb*!2>UtaN8vfr8UrY=}7(BiGqk9iz16JO~ZXJ0p$Ln~FU z;$r)@2*r#Cxn{QlyH2i7ah_1hp7}*HYD2|r##-Go37Q8guYBA+UyS$HnV;NZ8{@LK zs&gi7aJ$~_T$Zx%PW#Jz1M?KS@5WiCsSe9abazggqOju0-Ry=#c?BsqGjdGs#7RfU z@_(|r(NtgBsnZ(7uo4NK$atiJfybN%{q5!Q$WZBqjGKYOs{O@FEO-RY4lHd`)o>!_PwbVldcs%jg( z5?6+tM>>u-uf01kTY$;^? zGrQxTmL~q1%KYYV=d%4Gn`Yfzs=g^v>2R8GIDg~QzBgYks}*m!Y}|H?J&RjhM)t;s zoXTRNGcevB}UlR(aJgK{*uUz3S9|Env@6k}Q7L?l*bT|^Q~&RrD#5&o-`sBT9N)cLlqDFCD}VW> zd-!DRX_q^J-_8r}SXv%FUC#K(>(7-p?LuEawTu+Gc=DzB)kR02<$l@|rt8bxeQ94` zRJK#O!>Www8QZ^3N>%hc-B#A|lBJAM@!*>KcaQO!_m%zYDm&NXsnI7A)jBz4`dY*9 zy}ygjKXTr(hTper(evEp{@g2mZmRIh-P^bHekohI-pK}qx538(Jg15texzZNF-fMw zAT)f!RfoE+8tYVRDAH*(AWKUuKv zou=XLf4gU?-8D*^z+KlJb#z)zwECjz1Nk~%n=dd=*4*;e(nebP0@@0P-#=K z?B};0+qyMo&1mB_jeEv>`?#UlvMCv9e&1_^=f3F4GZ9c>J&>{`UFa>Z;fbl&UCx%D zePOraWK{KZ#?pIkA}{r>Z&MNzx}4(4Z+Af>ZDHDvb5++}6Dxui^nP}VoRo1at5ncq zL%F=1;XkG;UvX2L`{1*A$&)9GZoGGUQ~B*%hfChx z-nZ)e_Ordd*Eb*WFL&S0w5vKlrTNzDT^wqEL>j~A9_5^MRzS2yF z!dq89aP%16K67VtrZ3;unXi7u8|NI^TD$up+r7Q6_w!N~FTEpuIc>Wn$Ey4C4^(eH zJRa$k@T|`-$7=7dx9=|%_WnN``>T%msoeS$L+OHPEt?8_R>gJxe7;a)@{coK`#qE* z^7sBonk=ogw8bJ-y&>_?bfF~wsJVs_ivKf~NU^3dC7!%%W4-jO$TATrx3`aG?tQy( zYI*tAhX>C}DD3s>`hVt;g^pU1Y<|as|NmC{+{t3QWO2Vr?vYn{>J&9ilQZWE&oaGX z2wHPgs!`^^S84Cg?_YQBmda^ka{DGd+xXQdp)ZHmZky--Jx0Z^TWPVDxB21yvsBokz06MLE%Kby ztQ4cAkvm~#?d+eWK}uzj>t(C9gwA?){=W?q!=>!FYe;}>ob=sZPvWAM>BfMES{h3Uk}GA>|1+% zMqkgBOAbFy<{BGbk`?aTc~n`@(zoU0)bl?bEH0dNZ+M%zRsY1l8IK$4)Q{~ytvmUA zSMx`iX=SRlrsw@H#+pgr$dWIL?hEjT*|tn0+oJs4PttY09=_#BH@+KQay?U{ zwWr5TYIjBN&lH`?9!&SIhD5_v`cjv`_i=gLm$NlK3@AJng%t7^Hf=kawGGxy1cO zR{s-~Vr7e4s{42H32)paCbZEt#3%potV<#LQ`23hUCEKtn!RRu?OQ#AN4GD6>};j#?J_zsmozst9V%1tQP>xgoYvs7?QPx9 zXJ573Hyh7MWDZEXKU2syHsghdQNhA3Yr^7~w>Rz#zw&tl*GG}Zu2+1y?5pn-T(nGA zYFXW9-M*~rbL^C|Ri5Je4z!(#U9dcZeX8}5Q>hEv`O@;sl@?4@``IIw=BCCK)jTbI z*Rnrd_okkGadti1&gBLzk*vx__Sd7=X_pzS3V+tB;<7FFNiawHqWRoEG%RlKS-k&H z!!GZAiHUnxmsYna-|BmFo7xMRH$MKVyqk|x`ksQ3PEA$yPo`7Md-#Q)l>YoU z(bDD1=^Ifs>z%vv(`Rh)yHUN_YQdk|Yio+{{FSqu+$eUU`l#~7CGXP;)4yfyyS91b zKjVsQX10&vFBnB$X&k@aXU(u|^(}>ElGWWQ_07FK4;35#tlBHPSue|K!R4KA@=F-B zznL0U|BE_aV7g;dUewvWr?`tOJ5u;-9G;vt;h2zEqb8QInoT;vccap`uNxi2w6=zb z+v#@*9Zg?qRN@y?YVhjbmXiA}TQ7(&RN8)W(R}`>$CIwSarV!cxMuwyqm@Ty%KW;% zlJEKDhY4F`csKE`(>RwG37 zcTe{5Tt44^H~U=st&*m^E*s_Je}Ap>IQHk&J=QR@@UweAugVC!zvcUm%tCn=-|5wQ zEXP01SbFHf=VYBtD-X`qPD=9eT4rlk@RGaH%x&V7DbgEHF1vN=a0Q{)3)fHW`vfJp0$ce@p{`-5Y%hw$VxqRT}oo(~Veg573P_gIt+mkEaN4-3_yS(|L zfZFscFBNWI;+0=q)Y2Om@X+UyqVail)A%J$bDyXCBuAI11!$Y4{?M&$c4TL{F_C%c z7Kg9bUkO}is(i6z`WaWtN$HEi4xTI&YJ_Ysp+TD50-SGN_U6@_> z%fw?-FCN#t(d!(2MTW7N_wMIjKb6mx{GVGA9C+Nee%ml9_rr1J$8}~4-dN~O*yQrB z^xw?rsn+opZ%-r{-|Ncz{GBs=omJG#Z1T|;DX4Z?&4+~NYFwe3upJqLErSR0o%{yj4@6_DMXFuHC@Zal)rQx%KTMAY|Z5Ed6N#N-zShrHK3I9Yy5NyX$=ujtVZ`B^F2 zfmt8T+3gu(S(00P_m)qT!lN-4w z3anx(3LsRul^~TU|sp@bjA_i+4A*_`#=5_w7mE}#_WUNkJdXoXPqpnQ+@mU!{QY; zm;VuI>=IOZ*rji0aJlhUSuxYGC0w&+O;=1v32f%tQto8&xI(*5bpC0!xeL!7F|~F6 z^0jN}o}TKq57oy~+kQ1j@tTC+I>TWatrYWKe$xJDXU^7!-@CJYbMuxR9Q#)2b8VX1 zny@M=r(Nok*xK)cL6dUd_g`aquk~B%>D$+96CcOFJobFq^~&`Zc1iv&nqDTkF1BIe ztSh1C-4;84@~qqOee$7s)B2^C#VmY3C1bW~-`Q2SubdW*fBbIkw|zy@A6sW$4x8XK zXPLO|ifQa(jVY|5TMq?pk~#VJqlIwHPsV4*s~Wj41{7bH@7Vj|no*A_TmG};N%fu0 z6V*-j*hZ`u*`JhlO!lpI`0~aL_X|wlcqN&xUC8xH$nDy{@bgPK^Lbk*m8)H-{mSq8 zt>Qo9>?rR)Ti<8yy?7_ng*t~{8`&NSZTTW5t969SI(M1*{gP88Ur7iQtuC&N``9`v3@nx;l(yp}F^m}ve1?9G>aY<`>elGjT>jhJPcO5v z5I0h7Nw&ZAVdL3jR(&kLxAt&O*z->DfZrhj1?9_+_D((ZX13_QZN{uiR_T9M{SkC! z?Vf1a-1L?GvnNYh*I8`-&fD%A@YDCe&Z5Z1S4jsC1-T!doW3M}(#{hbJsS8F>H}6k ztzY*f?Z_*ImCi2f*xv^14d8xhaMesv|J2kYOk!7m-CxY;`LM0?>6eW+X9z_UNX8sA zWC^$=x#aYU<#XnAGc)!)I<2rwX@z?7UV*Ukm8vI=LuYTRm>Ms(*?3psVG)Hd6*iwk z^dJh7Nzx%7>2 zg}9MrMYM~R$x9*;qx!8cY#3N7eUEzV7uP@s>XZov}-VojVYF*F` znJ2TSTyNE-sf%jGqpE*$i10POi=D?C{kqdDYwFnzY`kX8XOhkP zt|r7Eer~#XMZ!_3q7w~Q1Z=Lwh0X8!<$7+rYxksgUo*G6#%+0Vu=`|dr>zt3pP2qfE_2vo*V&1b-aOV+?A37k%7gDmEW)F$ z6dt}z?XoaicHu%q221Df(shBhTe!q{CF6tweuOg}naZA-xi0(aY#;T4KgalHTgjM- zB}aaL8?sM7`jbTbU6ZJH?=rQ@_(R>4okQ0=R(@r7J9S6-+U<|o9+&6o=pE&5*)_o- zOYTHza2211?^UIgUDlql{?^naGkD%w7=A$=xWyL8>A)55C-(^Ey~rKYJlbNQ#gmcBkg|Jk({ zyRvuwe$6#|UWuTs-<-T0-etb^ncI?PguPnmyhZfh?-d*!6ThA^idpk)*LHzqxp}4~ zo4%ZT$DCZKaq#PZPS;z_Hzqz{UccqcS-V9WBX=E5SG06_8f4`vd$adN>4AnCnS+<6 z%m3J-|IPEo`r@*kF|jX$HvIVYTtQ(*-lePIo4QqJUY>Ju{e7N&Gavc$?348QxLs6U zsCwFN;WtciR`UZ**0axB=q=afeO@EWoy{_aC)MrYyXsrh3s&!VA(VWj=W*+j^)stZ ztpB-dZH8m$VWrQzrHm6UnqA)bq4{8+K_;7H)p7=@io%)ombytCdUqN*4!=>%x)DA*1vo1T)po(*KFQ&rjth#tP>2L z2N>=-8NMo3qVUR@CG8i#pWOX+_nC<5=f|^s4-2oj`Ra!At+d1Mv_!u?W8j+0#I=T=^Insp?4{*fDpzkG}Fu|0C@ zn~>UZ_qn}AF-mA%)u~l}{TBnR-spXwX_ky&%rp>z?^3D3a#kEs6G_Eif zf8L{WQ75j_H~!bRAAbbP8cn}5TrP8Lny8U(TU$_WzQ)r3mEiHd)qPCfA{Jk?FP{jV z^fydX$h4CN}A!eXYMsSa2oky0BYe&gmB!`n+TQp)z^&p3MLzz4f^@z1X3>xSDJ zhs>R^@W`Vur%Wx(|7qSk`Jug)pVCHEo*SDNtG<@i zH8giHzEc+>^Z&W~QNsz=Khxcgc1nvLS2yqJn*9I73X7eYA#?up_i^2g|L6Po(U1Ff zdVYD9dLj?LKd+As&((SQJ^Z`f+RgHJ!fz%lJkQ2_E-n7<8K>rxcXxbs(pB5Kd_~BH z%{w)2?zmE+_RS--tMq)tnc&_HVZUco>F^b&vvplI<27sA6x|o_E^+FLkj2lAR2xxXifjQ{$s1$Zfvq$kH{nfAtT4Q;1Pne0XA|-=vS$0#Ah8 z*0JU{zDhl-Djk$M@yid_prF=kYEzx(oSNHxR&C}JC-t98mfq3&t+IcCr{7U^?k}=m zFB#b0dOi6L<1sfKRrx>58MCxLm^ghu@g?B(+b0@E{I$ycA%)K)mA-B6UK(^S$87#? z)p{1I2r)C`j|sCAOMjeO!)t%+OEvf3=G+f^h2Ob2OGt&!J{$dqX_DT%T(LAZ)??A} z8UIYyyM@kb{K}tm_}DwUb*`oA_uRt2?)|srm#?qa60zTpXWE~RIsT$(=RV`br&sEK z-MsUy&J4HrWs7I7_{qXPSDJV3y49;zoAO65_!LmxEoZ&PdRIup#@Ro!pRRlMuy9*# zc~X^Eji%)Esj{;Vy%Dr6*0Svt(J0}KdRm%slj+Sj&$szK0*XRhzZ2bpH|@%OaBj&7 zO=3mE@ zg4&}_%U-MZUPaQ4FzJbmI7Lf5EmDoI#4>hcsRqvnbA-(c%8%``V_% zfgHcZ?9ac*{={)q;kNPm^<}x>mg>xmu zeqB)$EPBBy)vYovES#4w<$Z!2p3pxp5aJ8WnzDXkJx$N-;+M)kS}K z#V4AR`8yURe)Bnhr+V2-<{F)~a<9c*j&EF*_uJp+jIf+?e@1}N+z>#Z z*}KZc?pOaK@p!uDw-Z;S=6~6G{x9#6%Zpn$8}9sJ`mn-oVSnIRU6wzg{D=AbJ(esJ zC}BIW=+Jy2(T-w)=aq+4S1PX4IO)te;d|@5{ugEq3#{J-J1i?W^xW`K!>ly5EAq#F zFq<^Er!CXn&#>XX-5fc=YB~1@#JPZ-J-tB&MhEY?nLDQ=Lwu!SEZ}dn7g#Nk8 z=PqZQxbw&2Q?LK+@|WDP+_tjqh(^F)p9^R1WPT6*{=g+!Z(4M3WjXm?tiS>VUZwbvvNMlejF+L#h z%*FNrYlCpp>VN7t7?xWfZMhX~YSf?A;#*O+Kxu;9gN`W~rBl{cNi{!Lbk_CS(R{+D zfrER`;-rr7${oc4`Bh94&Ujt0yVG3CHRXHBp#?K+nPwjUeWF*hy^T$|?NNi?B@L^a z5AV-BJmHh(FZ+zH@RSF9%{Ib$>bB1$&bU1M#4+*CvLCYU#-CYq9kx2Z{Fd+koBt#K z$qT-xrdn?f>3tHn?EIW5$~V@BtIs^3Ki}Z`Lj{FJAqp*D*i-C%rcW>r%H6QBU6!jN zaIUm)>9)MQO|Q=_yn8ge`-N4_&X*pyORw2BE)a=&`X%b!ox4iL1qz25<^IjIU6bxp zcIoR0p>H>C6{)X_xHeVbXq0G%K+u9$hRFI;D%m^!}suEAn*wipl%qFUa5iAk???irwl-Ujxz}2KvsKtXV3f<+Y$cskS5e#>+dQ z%cU1?|D&SpFShtk<0a$QJ2vMWkv{y~u`T2j|CC7&CWN>4Z=Cs;b${lOoric!Zoj`L zu{E}Baqpf$rn!c~A(F*XlX;T)IB)OpiJ4u*JK1WDfqrn+Ny*BM*RB_BINTW|Z+T%t zRAQ{_nme)5W(LA>|5m5`yZZ4++Ghubg${Q&B+ZJMxvO33WYo5KM?Y%qe&?aL;6h={ z+dmFbpPjfbMt*Eb-*@S*Zm{}^NfT@AbaKA>R6n@6;OzNJI~|y-W0)o!{*$Rwm3a2o z@3*2=_xD;}h|qfUcb(>)UK5|IA?+WcC;xupb=h}&^Zi-9Uv3p|E9TPJs_^}bNX?xG z-wG!Dmz!JK_WR|E_<&1me<+=I^APUszf!P(=~{r=`TSRJ<2Sv`WpnA@b^43rk{3JY zoR-Xe|IUg1SZC0LhUk|%}o6NfHaog2DMZXMh|N4BUT<-f@ zW7poFTW;|h-7Q>h!d~SaR?p|{sef$>(_*IEhc2qROwD=Z%Y0>HY1(0>@B3}uue#({at`P8G|-oA6$ziyV%jbgqDda0A|s5-j8Guy{`<3KhT#go#&A2$-XvH zM9s(O(!39sMYO3|ZrrlG{x8D8R_Oz?a@9Dm!QaKXQY61>_RCFgT z+3Q}gV7|}&jzXIbOTB3h8+Y^{Si!Au##F0*S6Q+~gtVE$;itvRW->7@2tUQP;Nzam zEi=AHy*|}AoonL%M^o2yWZZh`Rp=A1zW4Q};;U&5{B5!E8zz5nyOJ_LTYo;E@V7Hh zRr(|4#pbymx>X!0#@+q(<2}!`Wm>;1mdRIpeK=wHxeM#N4Vl_$pU9~!(Z3SFC3)wSY=_u&KO-<6AAPKvnB&HgiIt-)SXvkw<0%zXIf zgJJNI-4B~D{*jGwNb@kioN>MEc=(lTyJOqpZeG?Z+Pc;6b9mYsw>U*JX^Z}uZU@^$ zGxa6(ln&m#^lFJmJgcULmYdqAV?Q!eoWkzvw;m6Dv$EUzOysv8zCU+070=2{l-bqA zW~Rz2o2`AT#_B@qgPK{Xcc1Qj^J2o;ljk>oc%tt6=#$RE+GiVo$pt&i{$E`EBWV`*&8qs=mMC%l!%Orfe1HeSdTI^CM@EH3oU=EU8&KN#T2e`|3w0gl)MGFmlO! z6*yRTZ}qMWk0%DxO*1%*mn{&R)_lqGgwujZz2%iHH&pLWe$rq%Y2pmYQy%?B)-3xu zKN`XiGU zm(MSYi4A6s(~4f4Yk88RBgbj^wwoTy+Y$^vJ@$Iv#3d89&i1{R6}wQ&yGdLtI$U-M za4lUCIDMD8vgEW~q4#ulMy;|9-TLXnuF0+co&;}7xo6@p{)YX@%_|8uYmO#OU$@mi zVV4Exr-Ur8kLLTfJbR~p&?M0*xTkk|Gekv>B<9tzJ*m-_81Z z_nLXuxWoBhvkXBw>3rB4wS2Vm}c#I z>E_%w!D#vMJxt!W{eGXHlDB0()Ta|^kHSoh_h>JHr}!*_1S!vY;1^WDDQx)ZP6{uh0?$?xNWC>@!e z3C)rMmC{WbRt73(&NMSz)J!VP<@~$FFYi^&-CKoq8qG~L-yMo=3nKgLXVxDJxiVYq z&9Soi9E5)!-Ji^I|KZD zmM>ef+jqr9FJ;@KZEdQD&ffoj=8p7~*_BN5GV(0V!!_HJviVG2q*i?rt8{Wa)g&U) zyTaw+kv$*xNL%xYWSm$Zq+#|o`-gS-u^YX&R!eg$^W~om-ZR}qRQ}w9izSzKbnmF^ zpLnm_Iqt^Z^m+gHDoU?e(A>K`!w#vT4Igwrp2Eu6v9AKmF;T{YUN@|K=TUE%esbmQQaz@crns*xui! zCk{I;d-(BpS(UOx-zEpM_hJ0DTXUo5yp&olb>=OD&5x5cFBDSv^?O%aT?&(Cc)O={ z*QC9UD$AMX_K9#Fi1`wDM=@!x|Ef)4di&#eYMb74S%RhXhyg zE-AUNm*el*wn>gFC5}#D^>1lRas7LstSWq`M_A`)uh*h^V(wz)YI5w$t*Tk>#5FDd zth&3WaQmj4E5iRa354gxr}ZmuRKD7Hdh&)!uhigGm0e3;uW%{fvn>1NgXYGPpF9g% z9QRK7B)-OMvbEmJhx7DgqUZklbTGPTsztU9k9E@OFHi2SnR?t##C~plbma?Mtq(F& zGq=BA%X8tQB4_x#2eF-sbvtu^pWcwAvir|`)xU9`JCni}7EJfI|0iVYVthNQe&Iir z3-_0=c_c9V{DjX5vzogfuMsCUTp=;A{8&&{_VN~HNGN^;AGN6i!a z-naj!+nwLfW>3~}vN#vY;bFn#|JJ)pXF*5zGidftNljv zuJMK+wVcLxS9?=$_WRWuSx?@${>ieaEMBqxTLdRhPp0k^wd5>O$us+w-LSuXDQWV> z(Ct@+q)fFgIO=xRO)uGeXn$iy+zHXOMjw`BU#R?|lp%h)boz-O+j%1=ub#@@&$fSW zKd;8_)XvzVElj0_p1V#z%8fYh!v9RB>x%5uNhfPUmmW`#3EQK!r*(m}#u`3Fb>8j_ zUXN_s<}eQnmz}I}b0#y#++$(%6}f1bGb!OChs5m}i;u2Z?ID_&&_1uA_w-;)}PlrKDp6NcO6?)^pwsA(yN1v?ViqE{b*C(<_^c>yyep$nwwoeU9#0Z z*Qju|SB|Qg=3@_yF#exGUCkDLQH3)2763y2$coD|@A`h~(B)7o|$9d-qR{*~t9)gIKwzB|=KfOx2mU#J2Ta?l#uv+Alw*cl*!w4Zl>=&|j`0b?)0j#h8cEhe|(f zlw7#@hPz0m?w&(ylWsXT^=W(l-NTpGl632z{jC-ytt1iF=w&)v-ief5F54Bn@v2Xp z_{lV5E!Gn$iVF_!eYA0Xe$_s!be8yMGuTW&F=ZP3o#t$QV~W^n_to(djS>c*T|e4{ zKD=<|)bR|qE6K?W`ASw9A3e7Q$7Z-O2u6FM`R|?|`u5zeb#mZb)>vEd0HsH>) z;>(d%MFNw4U3N~psVKdF|Jpel&3kPSASL~U;6n! zVVmH#Ua92QqL$aU?0!(y{@i5;cgfx7Gp!aKoYWasck9*Zq-RpmuV>kp@_e7V^vx-e zSNS}voA=wh7M3_~i5IGBpY-R;!pmXvy&^SZGPREE$*!^e^+?e8_|$OMxx&j{-@HC` z^RcDL8oJ*P-K;F-Kk!KCM90+Lrur@GmxwgK%`4nt&Snzr#e8td9-URC-G62=F?pW( zy4mq=N_SA8?XG)qOs&rxVl8(&sQ>j&;a3TMzq0NbzuCuK9Q zSL5+wd+X~b2Ckp4-)d2uc9`jB>eIW<3-it|R6G*2RyN_y>g!Q+jtfOkTd+$(y?=`S zl02EWIeghGx2+D}v!qyjMVIHI*u9Gx-F&*eicZF`@L&74@7le6i+5gpWcTZqV0q*O zYvb!>daEuMpV_Hf&bGUJ`^mTKE~cL_{Ht5APt}A~RjK)isJLcC--eh4)-uYAuGl8k zKbS1Q5N^caxx6Av@{_~ln83!h-{-uuaLF){cyl7E_HnHp&tl&xA5NOhT2Uu!`a^Ni zfltbh6f90J^PII*`1T_nA>HdKw~LSeC=bio`EOfc>9ZR@jdxyFeLQhVart-chi@Op zRxbCPxg#VqIHbUM&NB96hYx8T{Ivh?*_hexEfc?eyVA0Ga=iWj$G`8})qmZ**u3QU z9*#t{^849#d;0a7(hjemSh&X`GQ+3nLwaU^fyO+kyGPchsOj%+%V3q8Cu^v4L`wej zocnjz-r6+lDSMIa>9eJ$xnFYGpDR3a;)kca-W2JKeRfa2CN*Z6IX_P|JKxgZ5-~%x zzTJ-}V_~>^^2JWpXy=^!zI#pu=Jtgq9ev9E-RcwnMt0K)Y?FT`aaG-3rJs8w$5Z^k zp-j)Y^;OJ#J9KV%C@!z$O^K7yfBEF1bi`eeTc$rwz1PWTUMm|IYO(0v2ak<$i78Vh ze2-S%+;`otT3#<<(FyY>|6jkG_(sk#@ytq@6U!~FqL1slnQiBk;;i(lnm?m+tBCv? z`4{)NQ>M&_`@C(B`O(YiJ3j8;wCnfO^}D~j8ncJ67Rac6Oa7oK({!=)z#8$TfN{Y?c^lUMZa-6Z}b zcJpp8kDI^V{n_>W-pr}8pBuEe;?~UFygYr`^5x6>E0!CpU$Bpr+4AR~5;yna-*Roe z&lZK>UcKvd%$mq1yM^U*?q8_9e%;BgFhKG9zj+f|;+M0TtvW2`yJz7&Gv2ZzKiVt5 z&V9#Ft9Z%oVD*KoHAiG6&d5Hg`1PJ|-N)stUTW^sD%o&jskBP>M1}?S@5HprCskdx z(Yc}`75FGR=>PX{-wi2ej`h8IQ*CP1DzwU8weRW{1Gu4!TdJ~SWN2gR{J*5eaoUb+uO}_M9_>0ibL-#QS6dbywo}|; z%Q<1q?VnTf|Jgm^ahoFNDzbLP%Uq8>g|6-Dsp4BSwQkN9DCbzK*cdT?N?4iu@&aw| z8O)tgYT^owhup#@*`}|U@bZ?D)%L(G+k(<7nne}ecG}Enx+oUGpnjs?^twdI#W!o0 z_RN3(p0VL;`DPZTDCd3`<-Z5tISDw6i}*~xe|2T`-i)fc`7+mP*#pX_n#)cInY6}6 zN${Fd<5EqxbDp7MQ-4%@P89lV+IggG*MvE$+=-b}r?Z9_C;u0^A-VtQZjIdwr6X)U zp7{EDea6n@2}L(Q1pN5iQ8o2a3HNjJgE0w@cd6Vv;kxWgK>w6wBJWtA-JZG5$YrVV zeLd#iqB{2c^RG?0$Ql@VX-{;PxRu65?%iz_Tc6KrIQ!D|rv7?oyAOvx_9Qc{R};NI z^{`5I;rV{el~;{hvfc^G)LuQDD-y?ix}#8`rY0en?at&IRXZ{d+)A7ioz%f}Xb!(n z+POlu>0uTdMXyB^&Nj5jeygxSZ0+90Ys)Hf6BD+z$z>junzP02lJCVOtp-^Ednde# zl?b|PsIW$QrRXXr6CLU7hZ%~Dwezj*15QoPkO};8X71)~S6JqK5o1qJe(n8;QEt_R z{BZV^g11|pc$!aI%Re^PKD24uuG+~vzr?2`@tpm&qi}+S%FMHGjczVJxiF{cY26Lg zd66Z8@ya@DOm)ldO!1#rdOxw4eV1I{!eh(##if^h-FYu(*6Tctdz&6IPhL2!lC3a5 zbN7F*Kfl##YQ-A$wnYccQ=ZSCdhe9WonIRiBWJm5*X;bhYQ}`>+6q4lt*WT3xy^^J z>GVaJ6@)mN7nlS`zYo8CIr7C6)$6PkYH#iCZ<@-MQERtIzWwdPk4*immT&(3J4Wzv z;PxzW4|B%w7t5`u3vpLJ$qel9`o{KF(^f}2HC~lpd-06RE=Rwbo(Yb~S}?t{d}iC9 zo4(8C?&o>Rocr!9v^>(_=2{n?Rqq*DV;0;kuStD=H}nx~3fph;Ci==0MfwuR6*e zAvUQQ29BAg0qfcJPhfd8^)la|Gm%f97|zo<5b-@h{Ajhg+a;dtwGT6w-pwwnnYr%j z&ZrvQ2USaLbbR;D%m2hylX#M6;l6{HF7Lj(EO)_!w(Irv>b&pw&-9Nm;gZ{Q>gpl0 zJth{P<1aYc`-|DG&M)mbvXARf)<(tkD-CmUd}LPMZ%b_cYtk#KG|@HG#JRS`xnR36 z!@md7b1K_~drjmVwf@~^Tdg0WSCsSbs_;PPCog z{-pcQg(CZ@>o1$!>AcOgYx;$mO83rO-Cn#dxz06DZ0Yo;5$(dAhs}yk>=4|kzdt&C zru63567hlCZ_d@+u|0aeAOF;Q0V!$;&kF9n)@d<2Gi6h1|Np&8j2`Vp$ufSs7(Z{9 zTh}*X-STyoI){oGS2{Ct5~=9)k6+2v@>xYM?9;qRZ39R}^vej9IWysud2 zl$pG2ziwYlo|N~T{Ett9+6<5WG+cMdR+1yB=I#9g@BLE_NA1uow{FT*xoUQj?Rs*A zZp=$({beOS+z*Iwl{U3fT6 z_2{>awgP3R&OKI0dAQ%fmEZr{-jiI`ski=i?=2MYST($CyD4hz1dEN7XnwkxbyaNd4}G{Q)v&MbAPtq z_VZYzu+H`>o@ZH8ujF=>Zocb$=%LJ=ZT1nT{Y|}cq@EnS9-(n_TR-Ddk8`HgM{CMM z{2O8)H{Domqi3s8E%-{>>xYHor%i1ij_~wn@4C)wztsLrj9J!<%BmTaSu=hrw?!IV zbSzbs<&7@*cdh8dWLC*{0Y9(aikm3*YHpe{O#0{@OpTJ^4)Ewk}-qd&}dtXNxwu|Fk)9VgrxSoyfH7 z*@_nmc{zu(RG`y?){nN5`9T-)l;jx$?KaH8RBl#xIR00Hj;Cq z^zIclbEah0d|%SNadQ5WN~PmUwXZC^ABM;aXLl{R|2eey<)U{RxMR8t7H$#PxLxMk z-rE(&dHf{4rEh#EuOId8nbCQv{tK-UA%Bj{4*ApPrWA2)dd@>@qis7kFIp_SccH$m z`^5sTyDb;;GDEMXy`LPPzIM0Sp9`~BKmTZElCb`=pXVQT_rULa+9Ou7p1yUsl)4GtW9heP_$im_2R}g>x=X|BA?xqIdi2u zuh}((bxmiVjKANB!{$$fFS+T?y|H}5#V;!toYtuEaeM#r*~@SB#&cADcuGjx^}YV% zyy9$GfAc2mmb|wc8 zH`G186=gs9B;PRM=7&FSUMu3O+W)L?Q7(+~Nc{BSa@*4$=jF?+k6UFj$hErnd2iu) z(|J2oxBKXlYvw(D75l9UB|9b=ouA8gIsN?XrOS+F+Oh1-)h+t`)Q07H**3FR+fVMA zplICU{%_7ahjqVSW^WX1FJ6|^@v%tvX=`M&xLtfyx_3&yo=C|wUB}f4-Zq|A;`O7<_HJ8Rrm{}AnHr*lM(!W^^=Ep*}e&uNh?A^Hb zbwPA{n@XnGY5n|Mj}ObYA7Q&1c_U#NSIlhlbGh3!ey6asZ%fO38TMw+(v+n;U8mhk zRC*S7hr8aGSF`O>@N}bdMn472s^*=Td*H-sQBgz5b?*zVzYlIayXBqH;Rn<7XMW^= zb*pNpp}QjdPRuNvPH{VhD|RRb zz7ZD|YZPG7RJx+Fd4kAAO-J@F(KQd8o~)ny@=hg#Pl)ZD-wlk77dOcHHtz76#gV)E zD?_)^snms28Xo?Nh;};T@`i0vY=~uU;sg1#*jvYKr6j_mj|68O)4uH1XvSu{Md#R( zZFY;rK}J3 z>ij9*xz>|9_B(v? zs%Iwa?Q?6RJH2)%EeR{NWv%Y5XUe#=udKd%fAzrot&=+T*^GpYKFOUCxJYcmoJ+Sc59bNT2w zU7IwPgU2`Ut(NyK?fCgnNN+{v(nSojC6@I*xV?S(rPTK`qO!NVyzeySf3384<0^B* z+?+K>4<4D}+93X8>b8GB9GROhG3BP-T*YOg>*#eLd8MuP=~m7*P4B=~|9zJa*zug} z6Z>tIv~`I>kwdoBtoIB@QuIX*JEU-L=M0r`brW8^yDPk0JCkG& z#vhzodeWLRbo<2by2cU8N_LeGJI;LLsJ-X2$>B#S&)57d`#(#vIY(X!o=~3pHQ$_WudAKz^|E8v z>j|xT?1x{=b#rv{EbqRx`=EY>YvTgbmgdvBOLWT>nd2D}l=gWZzZ2B|jOjMp(a=@K zZNc}KOV`%Q9dT^Yzw459Om||cd(H2QElm8%D?=~#=EgWOmI^*B-q0Dmo=f(8SW(;_ zlU>ucy^=re{pDuc#0}O(2_lA5T2;hV?@0$Z&N}$&V|&~}nbVE@?j||vlc&98PVZmx zZLNUKF_R?Rn5)t4tCum*}Sing^4q4t9RLtqU_L4&FD<-B`oEk6}<^gE=)r5 z58uCvKXmq@nuYS;n;WV*-^DDff4}j|DL>xEbBAAEzOu|$+g#`GqE)Ql{m*cVoLkK% zR9o7>o_gs`kAqe?i_4OG+b`$OdN3o4(@lRuVnp6uw{22q#TM@ruPi*P^XWNntJS`f z+8UNR&mOUTdoSO$def)+%a_mEtWrC^?Z6GqIWz8Ph-5{~jtxFywp{gi(3NY;bf+$E z=qi|5U^cJr=tb9l0q0F~zeu0nGPU2Koew9$!a!<+Sdi|;>N zH9^O5`vP_!_ZdZ&!m5v#39Eh!6gHX5cA5K(0IS-jN!;5dZ=cc5lAXQ5TQ&N)s{7Q* zhkDIJL(6w=`@4*j^=+p?PC76CY|U^06s7rs690aC^}Hu!tA>$9#Aus6?s= zecxu%5`6MyV9^Q@xn#3ErBm{GtJlfdUcDNeR`on-!_(gLF+05jYD)XgYjXT_ysn*- znfz>p34>FWPD9=%sFX+Rm%t+{XvhZ#Ii_%+A)k^{;oigJhl4d|j#6+(z7w)-#{~#@e-E z*Guo+0VX14g_APAZ?<^TePzv>z`OgoTqj&>cFHjfXGp#%sq4IU!E=#MNfTUmKc3F8 zImzeAC)?i<-J#od<(A3@#xI;wnj3Vsjq~Q5m^H13p6sdEI3qLf_QT57^qp0y<+qg{ zg*!9qTk+gJE#~mDCHRB+L5@Wc)1I;FR_Ch(T+FKVs8}TVS1iV3S({$)qa&W_XFpxq zy;->2+O1sR;f9;m_Okjby9+!I7{z5=eAT|fyz$hj zydOXQRPS=OFORdiw|4&O&n53`3!N7h?=uKDG5PVMqfUZbW3s-rX{O9I%ltw)x4o~o z7wf&?I`a4mtI~(H1;sa7Cx%V>zQx8k`><}*^yQOX*GhA4wVil+`_%a_^Lx&ISa-X9 zN{GG2$~*Cq37<4VuWop+Zn-n7(AxVnyD*sd`F`2EYynJ(4RCx2W z+)KSJf)c*x?)l%Fzjwd&`F9_UtLy*OmCv&+R=d2K&G7Y?%PNfj5BuJ&+T?p`DZ6a= zgVnbeadF8MHwHL*KIeNmN9~xpR@K!f2Io2#cFlU4%Fo+n^IKg?!SiT=fDA{b{8gLg z6&vhUF;7um$~Nyzphd@-Srb=A-C)x-*~D}I!nPN^E^GI_ycY7M##$!LW9I{B=c1Ey z#gE&}GGssc@$rHiT~5vyr}q`7XKL(7S@Gy-@LRLiXvw$9)7`3kO+;#6K5Xq{4DpW; z?$56Cc(~>2yx@@6d|85O7Y_Z4GE3N@)2sL|%sEi|+j)b!gX;66m(98{Pr5Gpav(?g zG08h;{T;;Bf6RXP-tynPhwml-&3pV__TRe?o|3nbx?d7#Oc*Rq4%T3;&B?1zu zE#2>?FqCR->?kVPbl93HU|ya3jZMw$`xv#}tU7sPRrZc+JGUo`>?~Pkyisn=ZQcL& z+*zCR9b3C!WXD9583wYp*PRbt8JDUq{ddi!_!RN~7hTH)bv9-0IAOpWzwcO)X561}X#MHc>`cwKe=qyz z)_&Aj?A`ISXuY7H^F9bMubcT@qTlw&CVSgkEk`GQJub6A)A|?VzPeTWzMMUrz-#?) zBBOSZ-gAM@Klf+ePdYo3Z}kb4i#u;DvGIy6Sma!scDTAD`<&Ne8}G_9V%uYs=XI`m z&l{n#cIy6<(#^GNEB>w4>+ar_ICJ-O4!(`Arp!+=U~iKUUJ>|+SN+eMpmU{64(mj> z9eDdaLI*PqT}?lMvMQ=(Oc%+esxExo%zKYZi$Ye5>WM}@J+qy8yZ9~X_|O+mj((ngeD%dSO!F@JmnHmq zbhP{Z{rkbEPXF}wJJ^3+>uI&Ip0j<(%us-R>d)JMDN{dghF#pg2fO~f z-s)NX_12QTW~KYTzp9?o7Qe0kz5R2$AJ@P8-1`1p?d?=K=>w08{=B}iWM&aV<+4lj z&d2RrVDfM2?drc($39$K|9)j%ybN=l*W-Azx1t57ia-CUz9aXy>geO6CX#>l)>N*! zeR%!P?>Gxu~_hfUnivf{&j5eaCLi?+4Ur1Sz z$Yq&yZ&Q7x{@w6huTnxTca&()Eqz)QX18mR)S?s1M9c)HzqGjg^XcnN42wb-6V&f! zep)DSNJT$yA?LgjCF#|V4RZbbpC8dU@W|KFJA1R&w1#UHtK}TCx1OD&o2dLS^~}$Q zN8e}g{r%~c{Z_f6H|$^eK&y>ySCibK7+Je}Ueal^6xg9-qX41+fVfvS9MdGjZXp1To&)Z^evYSdbP4ySc zWk~p{D6>>2_0}`z*kjJ^{Gks%G(MKv_PjAoDSP6Pa3?>QUBCDpNg(%x95c?-3d^LI%!J#5@hFbDR)@y$|m^UwXpQwpj6&v4|_~-JcwKsjxnHXftwKFtC^-%Gh zH+55%&o;3ZJYMp7Wn;(WJ(3X_K9Axeazo|!>?q=yxKct&O!c*^fUjGk^gibI^K(3P zzAJ05d?nj8QK9?s58t4ZUnc1VNd|Z+>;L!M_L4m;kL~pBdA)Ci9VSmUIgtE+W<#Un zsl|+sG>ar(rV4v8-c9of*SXYm_~|@_FM&Uexg`0wOg=QSjsXvcpw-9qX*+g3IO{ z)KS?m^?q%srCji1$);6*j{hpM{I^CZ5t?T&o&md@c0O z1*NQ%mDh_z*T!D=W8&|wXy_A~b#KzaU2?2b^G@yC#3M0#%fr*%ZVKEV^QT_qo6K8! zP-lU1tof6_0k$%_lXFizu~ISaPx+{DB||=ouVns>J5}9f%CChTZZ>!OWwkEwx@cWh z&${5;yTZeM%vO!w4v|yurms#5yJW?`^3)QS`~{30JJxHo+)iV-6%jR zar!$>pJ>Ip_}TmS=g-x4SqIoMetYuf&hDQjM_FTaGgfFS&besx>-5F)@X6oLzN(#S z+gvTb+5J;)`0QJUFj~T`y2gL|Hy%NlkFN%IHby!`GiS_9RoQwYGq*Z+*ES{I^?q-!u9W>~rajLmB)h)T zmhbmAkyN)dj;W=m64r$Cm^h{gZ!S2;cdz_;fct0Tg_?2WHrrhr~8L*wvYs{Qdp@oLNB^LxWZM^J1becC6lLWmfub-pO{>2bqSu0$cea-`=>? z`LIO%cG$IF?bACszMO5-7q`M|r;Ejxmzd3Glrd7!xHf09pI@1H^EGWYo#ZXT*+1kTtU4HN zc2@P(#5ccldP=O!&bhw-@HM-4$(9)xbB|A0E60`-c;V^%q7%<;`h#ozwCn_{pEhO+ zmtNu1sbphpvh- ziEMqVaE8ZhkudM4JfqeveEvHcrXHCZ*X4Ha>8TjgOSf-^A93(ilC83zcC+uthJWkM zz5AtUGyVGHW8brd1)2B1OxS7bAhd?VtWIK^{FSf5aea3qwYWcfx3DW0?csMUj(_pO z<^8MsGc#QDG*xe{o2jB~rfX@az3cU_NeRL04%@yCoj!MiW0>A2553Ob?rH6DI;DKt zagF_(vn6Eam^sFUJZk$VVr|3bzFL3ZpZZJL1&`{Ru4m+(;wo-=`YPSPa@$*@fX=qr z=N%tk5>9{gRBG)iE2}5pS>?~a$rH-zig5jKgX?lpK_~l`N&I#8Mo(`;u{ z~%oKlNWSBs;eJ=A!wVgqwN4JZ}1$_`pbctF_FVLcwJVSfA9rbjqAxTf+CN zVBRWWGmq0{f=MEGBEA`lEfy78p?>GSx`~)au4UPc7i`jtf~;nJKP|N7)GKX^Z{K@& zUEL=0+-T_|MGF!3f7#Xd_H6n7H1ze)2IK3Q8>hNWT=}-g%{y;zDpMb`xX$(!$Tu&h`=+ehTY*&F;^4$*6> zE_*Eg`Sbn0U!^fd(O)t1M8`>J65?YWdf)h7#|bib8C z%j5Rx-J4*z`Pld54?o+I?(r`)*7_lmbMAZM=C9gIuDHjj^-V8Pe`sQ{_GNy7KBm6t&CwvuM-f^xmWQ3ZvQ?e^b>+z)k5?$HjxsHJJiGAKCM%{dN^@Ty zvY)M1e&^bfDa%}vm6fNSTDf(iqvm#Hf~JR8HupZboUJ5ms#PI(BgR>A zL2%^mcONFc{o!5ZzD!eZ)&bWIo$DiB+}UdKG;3#C%rmL}?B>)^h0)U6Y%P9{#YrU-Mz#K$-9L+Q>Pp# zDy>r_DgZcimdH3 z)s3CkUfR0+*7UY-`)JLSooH@(*v_D%Yt6P+vd zI%7Svi=IfCfQ+hJ{PPLo;ysN%?J0mpFfnF8u;zD zUhHVe^4IV{YK^yF;+$$4wb*WsdM9GslO>1e-$k6ylI~1>d7Ky;jurL#p*~>!%Ts4(=q!D*aaiy<*5yQ(R3;&+k5j^k9!rTMdi5cPv^>!&; z;>Lds1BIrV9OA!tV|V1r#pkwd3iRtt$$Yn?eeH>IaQ$2K zI_^EDx&FHprHW-uHD}(?c)qsegG^S!`p5G={NdgALF!A_k}ub-?C!8#eQL_M!EEEE z32bFE*ExuHSm*xT9U~!l*)8b7%csZo&!7Hkla$k@)v2%d^xl0{%ph(3m?fmx+~XPBXC9PHH&>sKfaxG%iHmJ z-F$tHh4(HT>~P;4(LHnSVdrRJp|$-{F``#9CY!okIKSUEKi43AhLLH!)hWJ6p0|S1 zsfX@|OB@z|%aIemIcjq8R+g~jB@t`58D3}P?g69 z!~e@yHs-nf!o`8|H447Hj~bND_8yzbv6Am|?n{BZwJW~27Cf$*`2I-2#1~II-|}yg zOZaCn^XAGkv6BS7KX9JCP@O7yI>}+`VNZeE|6b~!uzb&Er1JllqSWsl$y+4MC)`hY zUE!N^#7g+})t1~x*Enb8g;$zU$GHInhct z^X?Q&+GR2y-miS>ieE$7t0LuGWu5d>?GNwH34T1geKreM*{`4T@@5>r@%Ox|c6>+7 zJ~r7|=UHlgoH^>gLno4N%hUB6-KN}Ied6j716H2}`F}dD$u7N<)?c&8>1LbK<+9+H zb4(gUTW8HU_3K5P%apx_Uem56GM_sUJ!hiwqLWi5a^|nSmtxKRF?~#ezfDpDG`;0$2p6l`6diZN*@efB{$w`wn?J9)l)jBP>5X@<={ln9K)9&+= z{qG4+(sKF5{QdhY_CKw{X7;-Fy-#M{DSEK=`qZMtpZ0Ut{q8M1?;U%4?L_~}D>D;S zqSv!#UR)}C_*sTQzO0>{te@1M|6jgX94?7yVs*H;>fziF$%duVJ|38G?)6fynZcVD zY5kQFUuLRu(PR1Lj5SWCP09kUtP76IyqPoqGsx<`xp?B!@$*_`wfYM?>5 z-yX-1P3*l^AJ4{AEK`3F;m4D_Z`GHB8#lyhr`M_;j(?`h?YyH&`rzcm-g&A!4(*;* zwVBV#dHG7t=b?fj6E|qxv{`k;U-{)iKe;#8cs{+n`~G;W=)-q6Ys8LCPi0$qyq(|M zH2h*$Y((jge_M{%30?Zf$EWW4V)KJ}4nBN29}1r=RJ~Gor>imSYK+a+MB$X^H@dTw zULEy(&{g&(e~(7*_tWF1-qv$?p`Xi`p6@HgGcA2UeBMmL6f<>Zs#ta7X?yg?_9)| zNJ+`^TOImTHf#Q*S6^1{xyp07Oslx@vd@&|@|Fc3mhP?KIjpGHu6XiD=_PI%`Mara z7|*5V8JoRm*tqxlJI;t7ZhWmbSY?)e@w&~;%vPmTxn%plTRTj%l`p97*!r%2+B)s# z!qkID*F513J2&;qj2BHR3Wtv$fBr9!LB3>utq+6Qe+kMo%AR09BW2s-8RmQ ztF1D*b3&}t*l+WQUwVD@tKFt0H`eH0oVzzF6(M7?P&uQ>gSt!DqGf z@&0#h>jXdMCRWe$Q4!gaZ|A_%V|hU4t?s1G0M56MOZb28R0(cTT(q%Y(KF1$SjCy= z$z_KjXOHonI3>ll?hg%O@H07z+sxNEceYWA; zyX85aqW%m2ryZZRe!=|hzIU(6#5qm4|F>jC^BEUi={2S@tcu)BUMf;6N((sO{=a)( z7| z8tx?}S!&YrCLX#d`oZu?sG-jM%Ik%FKO`5VP7K-apj#F4AxlprPrT>D+yFt%TlX2e z1YIo8Rawnj>2ztq$;+oJp3amKc5<`Q`F`l1&{2&lfdf2WC#OsdIq3O%)zU(buBk3@ zr)mz%m5Ot@sC=6zYp_V*`v0`^fyW&bj-N@r=GmF_$nLwf?Q3(+lM6}{1kQV$KkRsm z*J)x=%><^qpY?a{=q}p2MUCyy{gM~GdEJdQ=}VHHx$FvW{&%eT7W1=x`@8s}pf2fM9efGNmoLh5HkwH1 z)%}=Xub*F#wHnvDrN%Zod3VS^JywV&`x6 zTzYkug~pZ#lC0+y?=AUc$tiAsDw_Gg+HaQImY!|@&(mZ6>C&?We9v1KE$iLfFj+I3-yPT5Y1Qbkl5L9P%gO$ZO3Ig`%OsDH|zc`mC)rPyA&a^lIfHB%-=@2EXmJrc^+JQd16%$3uCPH%R^>ni!R&Vo5WVd{PyS`)kWIYYaOlRcDr7+%C)$> zX+x||bb^h++jW{^_2K_F{R=U<@$?LFrgnENNtN%u`r}pFo&)wzDz`yjxOwyU ztG}PcY!s}T$a2)_h0~n^Nsc<50wyKiqCZdG@Wl3g{MZuQ$87%N?4vpNZx^bX$<~${JGt#i}|fIauwObAUJl$~b&4OoZB6}S}4c^Z& zw2K$XJg;?3l)-+*)%2$x-?CSwZhgCR@666Q!2whDcYpYJb*FKxdycDW_NqhY_fI~> z8okYLMa4X=oS$6hDsG(R6z~1Y9wT~GQsd%boeZ~UNvo}EYKpBt=Y1~u5vjP+YNF-q zv{#!pyF2a?-Pu^Na*&)W@}_@e#K`lz+!xL{oCF9=cS)snz)#0 z!rF(89+%y8!#rd@3(sNSIptD>&iAQp=4+0YiJO?m7T2yny7kejGZT2`x9vT0bM_2N zr~Bf|m$o}^(mLU4>l#^@IKg<}ud&?2yxw@tG6nxYhopODe`H=0_TYFWZB*A1%;l`N#Z8w#cMRu3us!FGGHt!6bHxmAq~|Dq9cKU%umb zXvL|`*84w3t^RaX?w!s}))!I2j`tUeWiLtfdK3LS>Av6b;;E&N)c${e^toN?$XCfl zk7NFa9^YI0<*3}&==a69n_k5?>e&DCimxuzEodqg;q;hv`{XB%-8PMpZu@?1bs^7iV#kKWGz|7-R7x-Yw*Uh|#sMNL~WV(SMNmW|2rMaO?GeDbi` zzCZ7)uwwNGo!jy&S2(Ud{4-};gU#;tc@10GBibgg#66CjetB=(i>Q{%DT$FB+?|HO ze>dowfBAbk=H;EP9eYjko0%=^TpD!Zzq5US3c$2TGa~;g%8bmp5Kl(n{2(PvfD31 zLA-T=Wn_tsX@&l+#44WemG#(-1`QW)|*={73G+pD&HC>zvJY@ zfE{aAm?kI8<-Fpa`c~BLT~W7Q_U+WOvF~0c?OOWNwD*16!p^ud$v|fB=q+8l&0cS} zd41=X?8WPUYn#rbPEpqWx=u{5_|(a;8zNs0`$_AiX3bT;YCNlTL2tCx;`;NgaY?=c zdQ3}1u5Mi=wEfjy>+2J3NCayZh2xPW>?9cp+QXD>O4HtK!rn z(Wff}4+PEVDffALV)AYMJoaLTTd7(zc=Lm|PF)rIZ2OBx&9mQW?cJ*Os{PHTe-GBw z6}u!qUTB|mM{^Uu$_~3fhIUI!+ZXt?=pJWpzh4t^eV%#FBe^$+mNc&nU`XmXee?I> z@0UM!{+hgY9^;Fm=G8fuZl3Sk`k7a9Qm>)8^{;E1uxBva>di~MD|JD<}teI4p z#L>_#f2VcMJ=qQ0SF|X}cOTxl>+O%_Ztlyviq53%e!L(|SU z{`;q8(fPQj@i3jGbqxIC*=Tuh}O@T;pkp{QQ37e>)uRdO$=iTEp_|v@lw|Dgw^W1%3%}I)lOu4RqaL#e4IRdrr*@}H89hBv%>YJS%C9M?&Ze-(bZEB(=i zEe+C}Il2A!ax*{AyM1EeqQ@P74Htfn{lw;S#5r5#wA6hatq;Q6J9kffD1Ekn|D*YT zUOjvr_~*jReQA}d4;#0=y3uR9;;i%bc0g2sjd>34kj z`p=o8{P&&?>i>Do?&!w*CqjMeeui#6_?B~1;b*}qm%E-`KYH}Osp^vz7ymqqypUn{ z>}gvF>qVCjy~*ZNHctEGrzqL8=VoK8LP@i1;lmwQ`1Nbd^u>**rrw|J=eMrn{;WM4 ztZwu7KdY$WRjU3sO({a?ulMcCQ?KTGp31$DprCDV&w!~#NzyIu!i=!3%N039W<|}v zHK$>_g)!IFiRW|vcX_2Bx>}-kOV9TqvzL0zuKVj{CZ7H4a5*DgLEWM0t@r7}=ib;| zw0>;E$MaZW(z;#dLaPr4haY|{FLCjV(R3Tt-|9TCYS)GL=krOI+7$0mxS+FtS<71{ zo_q_>f0yFY<~}*_HepdL_jk`85zd-(&-&PpCNczxm)n@Di%9JawD1$$tmr3NPhVZws&{D01>Ge^@-7cTRrQJ|CNxRrfQODSQ0Cs$%2X%RcAsu02(g#QfjN z-!GrPCEUbAuxy`;ZrCBqOLL=C=gbp3x2bs1!OhmwoEtRTG*d5@I^_Rez35io+9iwJ zVy3RUDZ|y{sLa3L_~7;p38uRRf}|!UxX#*D@<1*;EEI(#uiOLq6-y8psfds-Gg z_xW$KB>d~{Sv?{5gjUNm{7kznyN`8>eceZc3U?lv&A01A7dlsOFm$=o&bKn6!}9Qw zril)g8~!;*)->g%h29JBS>%{d&%FL;>fYST4FCDI3$kwe^>seezYm-jRzKe_BeQ;o zPQd1r(#E3^KeOx|-1hj~t2q6{H%sGL=ttgf&kl&hPnedSEH7WZ_y2@q{+w<6%-PzS z4s|o%#cX{WbBll7rgh7mrB>Hsu#QvseVy%C%l$yWahpqL>?a zNv=Ieb>j)H&U`(QtS<|V`lih|R8iHMtIcGwQ&Z>0A3?_a(=$x|{ae&{X5X>K9c5Er zdKoN{m+xo&cauMIf9uKXe0TFdv8BfF3*O@N`}c9_hPt&oo|wuA%f9OM^sCxEJ9WVn zGye47><+OSOka*pSSaVy7vkzmmva;QzvL)#lEaps<3o&WXKWgrgPr`zgeCu z7Zy)EVk^ec-`GBd?XGTYQ18B-s^1T3+fS`8+>p3}r|t3<`K0!Vi7OU+c1+vWJl}r* zv_O~7raLNxy4B*e?aNlP?3b_4PO$Ca|7!1i?3zZ#f=2?(DZOD;5B_%V%FfS|Hh)zA zJ^IM3Ey`gZUR%xeQ#GFVWY+7?w|w+!t={z}1)4?A4Dr<3dF5L9`+V_yrUg%qT=#qa zEJ-jzM{NDkq>VRB*9YtLE{;E~;5gAP*m{npiOr(evtfB37q;v8-Wl6(Q#o_C zB-fdjd>>}NGqt)I^Y_=w{kNQ~ugos3nKJR6*?FFs2KKRu->x#Zed>SBZhY4F@-^Q_ z4yTq&1xWJcVq95zw1if7Tmw><=m4JW1}lPTk@%$V_A{;DlU%UUI)Ae`nkUdye|0b{Z_PZ@p zdhhH@S+(n*Xi1&GxkGscxbBw68D4Nyq;=$VFl%AZ; zXZbr!Uud*yrVNcpDC&8BD#>UwG`k^9&!>UIaQ`eWozC6c%>fpNcj)Q&AyB6P- zGb>#%u_b$lnP=dQ^>ccv4(0Z(TEylqeWT&9nD50E)As%FNShJ==f=r~T<$ZiH_tTP zz43R|f~VFVvc8)vYNrSXc@)2FG^u0jwCQi_7Z03R{UpQi|8{q_&Z>Yoj`H&pLxun9 zZ?9dMXC@YB`|5tdJK@Q)=S0nFIp6IRvfj7xA7}4zq0P>>)@}S4(QlIZ>}$*BNme@? z{@rq&zDD2koc#i)S6OwRq|3x!PVYGU;?0Cr+w-S7UB1-1#lka0H0QU-y1CB(3SQ4j zu}%?n^gi^D_3gYo%NK8LZF+P^TJL`7_npnUj|yjRp0`~$ zBm3iu9+_us*I%xm@W18W`+^O|ypP_m4UC)jkW)`F-MZ+C#M-%YLcgwEprQGuv&Hf1 zve)A7U3#*1KP$aNC)Hc-(=(9~c;-3rv`gKc$8j33(jS~kbUD<2VKOz`OLe&zpEnvqSi{N$-z)=6JFWN&7ld+=9d z)5qJQJ@-4$-f#K&Z;Ri8MbrF*WB<%gFmgPr@sn58ezWdIX)9>QGo7bl5h}{1an&$Csqw}Z2IWe7aw|FIYl?zVK z6JK+Dm)%?aFjKiu9@7W1jxW-dEIU(ZkSgTMl`Wfh>E79g?Pc;y%ct9a^B0USem1$Q zcyT-D^IhVf(~r0AjlTZli}CV3-93Cf&P&wKN#5&~I#DiMX8zzqakPT0Q7g}+U}ZDr z#wov7l&R{Nr9>Zpl@rL$mhQpz;@52F>-Qi1b=zSOKX)4Yj(BBFQ>XgLLHFWwUDcfH z|C?@&E;u^R;^3Qt&3zuClY+lJ+iAYOS<&NM>8j31{=RqBZ>Dcqd6e_Flx60j8B1iB z2)w(yq@~uSTkWRz!%3gS18xM*vAPq^vME15Qt0qMugMu5w>?F!epFcWz-*zu^#*0u z=}eQC)ZOvk=&t!B_11(t#&VuhUmLu?@2R!ZJNvrg`^v;i&PTVL++Dt)Vyac7=Y{H% zhuUtp&E9-IPs-(0{znU!UmG}F>bL2~v>bl)wZ0;1Bcs@&;|#yUJ{8_pD*So<;6feS z8r2;3!|Oa|o0-VvXRTgSb)?OKQ#9Z0SKslzo=wtbIrA@&5PAzUnR`4@F<%neEp9LOZxG5h3y>VCNgH&d%S#s>;ZfVcS-2Wr{o%Gn1 zx;8C+exgFC;OCdE?80t0zNNao{5|X5)X7sWO}g$oWu{3S-`gbj`IrQJ0Q*J63ien;+ubJ|XL&bLYXkfCs5u;-N5mhoxGW47 z{Cwqg;kWrGf`9q0Jr!bQwVq?XE}O#>?JBE#*-|#E&u3ehu0PuM>vhim>jr%mO~;$d zs@RM;pWeE?gJURI>C71>1AQp z3noR(f0?v-R@00pJOA0Gn22xXjA?qwd9o{5r`aWG>OtjI!hFZHRjNK*S~2K- zXzmP6lmDr#a?Z=1)QPIkm{ON0IOXu1SCdOCvN$)-=c?mx+01lr%BgqR*6S@KB2!|& zR_`pSz9}pDWAP;A;6+yVJlW*4Lbq1Sb{;YboTvZt=+_U{j|%R#haEZ8ag}5F$4Dy& z@7vu>s$J|t=9jbCK8NY$$cjo-{+-%ydY-wh^-B2KFVQLz2I+RM?VA3)Y5uos#T1cG zS^K&)3jQ-RsGkbsYMZj!q5t&0phxopnEH*l{AYjBa6b5chiW4y=k5vBn-1-tZCS@K zVeg|QmNyMlL+n%zwaQy$XH_tcos_p%npenxf@f)U9=a{}LEk3FC=mV3J>2te< zZ$$sj%43s_j%c~WDLwt>WmOlkkGjYHF@OKwy;EmDGwZ2&D|ltnUafbnm9CKIPUih$ zn{(;qwl&wJ=N3jYhx}W;H?hj{ilo}%<45h6c!$k=+vT~6M=zKU4i>EipH z*}XIFwMN&+?Mu71EmjPBI_u^Ar;~f<|b_2>0H1?#^&EazpkzGp3WmF=^*M5d3ddap4mKxl0A##4d>YJnkmg1e8-?g z?v2mgHQl8;GEbU>%YTQ~o-cU$bHdjn4~gUeey|mmovKJduPb2EZZZ0J+VNbaCYYQPgYU;q$M3U?ez0EJ=R6zJ)`|IwWzW<6CM$3>|9czk zlYdj(W_NMdRll%b-TEg3Q;n8wdUUaTm+F>xH>58AEn?ofytpsw$HCZ~Ew6i4XkYQF zZkO$x_j=a?R<^r8)R)gx_5a*t=u$HwGSllr>&KmoZdA_Paja#dW7yXX*_U$NSOad0 zSN%`<@Ycug@1K+lYdvq=CfGw&g8s$_ZI;JpL+Dy2=tU*b6 zQvLiTtrIetw)5HSel`96lVVQJ^4m97u>Y&(W&5|}#(y(Ue|G8l_ZMvsxb3t(rn)+4 z_RJ+K8B{m^OuQcVY}?`3pIRp?y7f&QpUB4iT06~d;#7;@%i{cN!}2a|-|co#&FTK1 z+4=uIR2xh$xV3!u`R9>yJpZj?&c9JG@ePwy{E2@a=T=y-*K)WkPg8Sld7^x;--knR zKJWg=$M%&(8BfYPscRJ)FxTR6mdn)5*NgstaqzhC=$murb?z_SA^%>v6t38M=dzZ$ z)ccvt23>tKY@Wa3dSdzJ#qygyhxeU$#J17JjrE)Jv&4`2EX&O@LPFwIyv}v+3!L36 zy;{F=+H{$FZ%h9&ddaL!Q!IVCDaS(6YmUU)wv!S?)kn@m_Ulxw)RwtjvU|!Ji@RYv z-+rpg)rz%y(CqW*Ov>&IBS|}zt#)Y}Rgb=!zDHCp-8*r^r-oPQn|wo!K3FK1PPp3K z@cigc|M}c`zBQK??bLg~ao_F8&Vt-$OIFUW|5+_Lee17p$$WK-B*H}Q?%@^dUnaU* z%};<`Z`SiWgGQWp-phid_pc?4f8_`q z3vzq!mgFvyp?KD>_S>fCH{u^}u-u$jntpv<>92E^S+p5t`(1SB1+saY=;kkC6QV>7knEQk6oPm|so#6|~&dyX05Im*ZcP z?pYqa_e1jKt%QAFcpvQH$}QS;XMUmC-`LL0Q-Uv@m(Y{mc4^si?@5P_Yo=ae^D?n` z?JfVw(Q)=vJ%95fj)jvqZ#H>*{PnIiO?jIvUtT)DdeyrMxm`>D&MC=!t$#%<%`)RU z%OAJ*|F$jgytQ5@_SdaLX1-I+e9qkebyu37f2E4`RUZB;4>nv-^Ax>N)w4k0=ueA% zE~<@xL%wr_DU_dY&0A`-I>sSx! zPW<}r7;cI3h4-%D40~MeEC^H>R+BGjaC$Y}IOWW<%+h>*Zey z@}!EqqRVI4#eDtOV{tMi^=RU+f}_7be^9BPCffe;u;}~q{}%fMhP_(O8?xhnpI{#Q zwp|L9JC6O`KC3{QGyCb6xmWEnroWoI;qyFwQTzE9-*1g?{XOZr%xsx$YHJGq$NIC} z?#gTQmk)ZpxUZ2U&ZgSPAS|oYx^71deVhW~v7}Gbt*wg%O zGXI-}@y|2W`yV^5Q!0PeGrj9&VswJ0*X8^NdzKmRTX-y+L0E6SYkJl43;SZe%yOKN zT>a*(Z{h3j5$k6#KC)2kHC`>!&yLGoj!=a`X|Fl0aoGA1R zTL1Ov&5A7{3zRcvcwIX2;M%$fk179bi_4ZImTt~*RqV`N!o?`n`|AC#wATN-#n=3K z9o2nMOGxL+>ZYke>puA#eU6lw;3T<9dqUOaozs`O^86^dwt2=Bsp?&>1=rWClVfzf z@42adX`o}FsHg3u!s~T=GZqJawf_3cyFLE#>5Br~##+S-79YGU*Aw!5WrStm?X5Xw z0fihPMstcz7ft!%vCCBYoRPhW_3F2gh2PdH6`Fi*-Wzta^69Zla@qxaPU&2!JC-^W zq>BF8Ypf>|VdNKMi_lxa!r!bpXsR$%jbFJaH;N__f$Q| zo7d{1=x3MNr`E*0Q!;bzopo#P%Q+j{WKP&xUA=lnsCLh(=UsP1_2*nw5PT4#-Mr%L zyMWd`Pj3eW<|kNGZsVGzJ#F&Iu-gmb4*vV~D#vnn6K_`jpKZ~e*JOAto%PTC`f1Z^ zm;XvcI+}g{>=f7#$t|<-Oa|*n-trY5Wi*P+2GWCag@)M|$RR`2F}@pA3T;`?g&Tj`&7!;MD;hV?UNB`5O# z`YWrotfAz13fImk|JM$sXVxr{OeomdYT5HSQ!xD1pR8-M;%=%h_*3QS_sr+qr5Ob` zq~GzSXLPVkbcr^78*4h7?VzX1HtBU%&&oQsiEj(|aM5<}-1_6fr_6PVt`%hVo4?zt~{^0`82u)6!Upz575Ykt|z zoG`y?70~Wb?V1`OBvNJ;>u|B)Cj+@!=;XSCgl2>&<@CRXSaMlam#r zbl;lKGq!A8rgqr+g3m0QpFWO)0Xiotd8=BCV|Q^}eb4csw6OQOx5MMLhRx|Q?~dPS zyLdcuwq;sb;{KI-sb$ZtMBml)J(bV?JN@^fkN4hPo-Fr!$~C_qJ{J-<+}$%-%p-Zq zi?pk`s265w~sEhI=wCKZ0Wmwi568>`L`d5x#eZp+!1>qd)RkxlDX5D z7GbyPFZQm|&E(KrsKpiW!N*g7??=sp!pG8zwEEX?T~m>)6~>gY*Y}>`n+aVp0YYVm zxjXk>Fi2@o-P0g*?2&`ev@5ReQrs=|+}GHC@1D(`Cwzx(XOEhn!rr+bU4qW@9OPQ| zaBq!Aam867?YEPsUYWO9wx%FaPDJLBVp4}*eXbbys}5Olj(z5BS00rWOt$ya5-{qD zc%O}(L^hdJp zybm)&=3aM?$!L-Jm-?LNz-9f67hikaJT2E1+|i1BxJF zKfkUr8m%bSUcEE8sO?KQ>vzqww_p9sE&jjFYME|{``;z$U)PE7d1-vuxPDr|OYhbt zh1HA7@BRLL%Z`t8dDHvNJqiwMYP0h$obgE2P`_!DuWvSe^G@wRlUrvW*$6Lle)ekG zLY9hcq2Ip5tT%h|ExlmY8K+=2nX)%Y+y|z2&YCl`!6-!IGP`lf+;i1|cOIDSU^{Y} z%kA5e)kxYFG-&Dr}j+boBbI}aT{u%~TO z{*7~gOj4!lz2q`OWN%Ird&^(3mu=2Oorg<0rleMPy!qNt@$%s{1n-_ZXO-fVAjV?aBZzqw%Ys6hwynp}G-FfSsla~4B zd~*IfH;BASpRKI9An9#g@&7Ltm$Q==r}#0?{K}BN=b)BUU2NnZr|AavYQ;L!GoGJa z^6&nXh^G(Va7!zkm@Tx%a838IsW&c6S@R`G_oJ$T<6O=L&&M^9+lueaR?jt1u4o9k zJx!Qh?2OluNeB0Adg*-O+r(cdTsS_r@_!Z%nGvZQaFF}&&cegTv=rXCteqf}9>MQr zAa(ic>|$2O)BTqM!%E)J28{D$$icU_RyiHBtX}{Mwy=iG2p>ezH>OU+Ek$ZJ(!V&df>CXSp z91U7?Vqw#L=Q814Cs*G*8+q?co`Uo}8|#IgoEgS%^AAY5{VLrPU)rx2R2TR-an7rk+>+M2_p0LmS@S6_o1OBxC z##bypbHyIsBZqbVG^OW+CZ_**n8>eC$P?(W?)BErpc}_(6q>RxRK7kC{7GoTyxf~* zJdTQc^O$ELUUHz* zqv+IaBd(Cd?6n?(8fs@A>$6=#g-JHZpzE;qo5MfFN*SC$`kpRA(R zdSW~csJ)Vhs`eZ?e=9X!dfJB@Ogusl%r@tEpIDPSYl*-$<&)=c z`35zdc`BId-RKorbtqtZx8klvtTm4g{kbcm*7ddeU1;#8UH^8ixuoLOAp5Cl&)g-g zt}&Z(HW`I@35zj*_uwur7Zw-$bfQ`}_9yS>|87i`Z|;lv7Iz6WuC=^!glE!+b^LEH z3n_UEPj$;&`M6!4fAI(AsS?YKdQE&YrAqVPUG6(!dTH{Mr;Hh8YmS(Lcy(u;;O6W7*yT~ZUjAbawGUt?HHy=U-@OcQ@s=fJE_UlOY# zOlJmEN3ESu?;X91>!QQtn;VQL9}12so5bY4Mm>Cel=Q9rOOhUZTV(pLPk-q&-$U2K zjF%d0s(Sn5eg5r}!KIopi=+R(%4+2~-ZJUaC!^cPu2jW(Jv?#puZ2ljOFNr|Rgs_0 z>=ku}rc-`jYLEQ9^9ke8#X;gOjK5`=c=-Z;99VQedv}4y-!oy1&6h5Uy=0C3vCXzJ zQQdmVxYj^BB zmOR>){vpaakHLK(>yu{_Eh-+-Y`VZoX5A{nPo|!MBCg!LqWv^bqkoT)$>-J^aa|J}V zFE01_>Hi?%ajf*>54-H{bSygi&gH2|xU{`aR9=yth?v`hU9ZM=N9HO#1x1Bwq8rl@NJX$cQ z`R|eWEAKVNxbarXZNJzk`QhQypGQwVJg=`_@#fbzkAG**^{-E#G*O8ChhF%!7EVF$ z{ntyp<}BngRbBcpU~!MR*E!Yon_qoz(OLe*H#cuh^}8Ro52hHg`kz?YBtE0%vPWdH z?TtLs_~hpcql#juobKPGKgsP!70VlkQ#;jGF)}32TO04lQIN6kuTW}~S-{^yhUm7R z?~hk3zabXCHtP+G>Rqu%J0)#rX?$4vd$IkT5dOs(Upx0bRiDzg^V~&^!>?}^mwvSA ze5!myB%UGp_3OsWy^g)U7Zm-UrfvS&Uu^Suzh%_pmCs*x-bj!?>T0XpYg)fovXM@cO9c8PpB%eV3U zQ<)hS50fuG+P&)MW9OYO@;+1sJFH&FRgf^Xy!86j?Q<3!V%WT`Ti9YA=bUFBkC*@W zJFz}ioaL&R5J&G3@p(cY#clYe|5wYG)>a96u>KR5{lvpoPD%@63@SxlaLlhcGlf%H zsom+v=j+y@44%KHJy(&~W8|peF<-Sl$Li}vrj0%srJ|x@tdq8EE@b6M%)aNfe&3(q ziI+T)4imh=hqn8|M~v($-hTGAKpK(^7wPhzrVhH`j=T&qwD7HFUW8~V(Yf!I``$w zHi)mf8O6l7TP5?2Ji~wenUf@cPI_^|t#89Zwl~c8BRbA5am>0fd5*ceT%_RHsZ%zeTD;mf#tDJNs6RdelB@;-U7BWJ4Z*9V7PenhU&dYrD%bJTwFn}A4tvxtE33AcT& z>6Hn|$#ebBjeU4j`>CYxj9=4sCa*Mkts{Ad$!z;mUC(Hj`Pv^erTn$%pS3%*D!Y-Q?~OojvK0?hD@JX_qE# ziG1JKzSQ)>%#!Eo!7nfD4v@Pf{YK1*?`U`bW48yZQ=0Sl|GGA_tu&79ylPtBq&qup zb3N7AqI%1H{(ag+eH9eEPw`Z6tV_d9pFEje?$>s{5iZ>{ z)2G31_u*&HlIC)6ovz1bn7rcRQtr;53i00O^=z1Per^8xBqVjsXV&X`V;vW6_T-au zn&Ilkqsy-3`t54uzEiKdwfDSvTo|DkTa96XYI@5Ub=MW<9oBe@kgzH>brf<9j%zs`&skYmPacW&wVWA z9OWEw?8QadDow)&JOYQ4_69CF>n&68D2LPMU})rn*+&$Q?Onb+@AqUAMW@&0Qp;Oh zV{-P-wr7cqI8^A@tUpz5uI%|wF5ExXo|1h2?vTIHf#VOo9`!zNN}QT_TWP^Lp$#W< z7VllXdkyPLZaY?^U58mX=5!YPdlC|^G5z1_pQV51E^2o-d0Aoc<UsFWbrIL$cL~}hFBj(VvvSr)L`>r7c1)Ahc*3oF zy)^uN^wpK|8Rf2il2_%cLq(_DjGY|M!rZ!YPTC|r5u<9?%*k&$`xbE;MkMeq7Cc!H zmf2`utA69@pHoNHiI%g^x*_}Q!rd8t`%he1Jte|%X7i?Xq5J21N^ILaFFhsVN|;yX z#fww!cI{YZb*OpLt$r1ueG0dq`daJ=xV&`otGX-V?_cfhNb^{9vs`(O*|rS^%ch(U zyySZLaq^1N9t&namfz_Oxwk$goiNF}5%gGo_U*5;qjo3y=5aUYnQ}fzoM-Af`|$d- zGc!|P@01smt_rnY-q3zJ=CMtPR8-x~I!tKa^o z+*qhPgOFXY|PPoFMT zSw}pLJH|5WtLN!Fh2C{(R~$OeRb8C=XCmjyU-KV#Fc>!dpOodtdUx}SkT13-Q~t-T z*q@;wI@9OQgYucD_Jq`L7veb1;kLeyqtwpGkMrVH^{DlC-+hX)yr!c4YDU3t)=#c4 zEw65={ID+a+n(%OJ{QvMb*8#BEHap#TacjnIc!Vg>`SVzLf7d61d$&zFlR-JfY*v`?7VVvTM{#(%F{ z3qJBWma(Sk8)UzK)1BjfSgh(m==1{n)13G2-Cv&0*xz$|?fb8DFTV+{=6Dv!uYc%q z(c-_=ebsy1rH%@5A6%rK+Nr@TzRL6Zw(!-vwtoKG)|Y6JU|aLRuxahgcke&Ws(yay zmHwRXA5}lk6X*UHU>xYPj_F1ZS@dqA9r>IRR{q-DiDquBD|fr=)y}bL zdBwT6^isBge3{&}C;z95Ej~E$+po6w8SghlPfC>b+&Yohtnun`SHCM7abX93mQ5GC0TyU;o#{=r-T=o-wIim z%nVrStX+2Y`1M~xQ6iG@B6Hs*9^onZee{G|;_D*}CMlPXgG^Z99D2tLFNbH~P0@l3Qine)E{h%596hF-skGVQ~ zo1690J$wv*SJab)jG|(-(b?eTh>(-Hd;fxL~bBs>qUgcWm++ z=Nyasu~6%T%M01}|K!r=ta`g)qmuhguQ}!Jms~UBeC8^B-Ce&R-2KV(=iC0QW6{3e z_xTi~ybRm)Ac_9&67}Mg-20oebfZ^H=x92(L(DNj?8&cBnzeW5ORTdHK6q=#)x7AGLh)*o*Sjk?<|kT~RRylh=Gwa}D)Z2ba|}$g*Izlh$>DNT$!BX_ z+qtXTyu;ms|CxtpdLCC>YTbH5FfhMzhK|(CeeLR)_y`z?NOitkL zZrcjg#y{(yU;Q)d&upWTena*aHT{&Fe7gl+4)#t{yP0g3^U3xf@_H+7#C>MrbfMCu z$czxP3GKQEW89YCOL``%6=&6^>|xxo=i7}h2afOelJ7LQvF!b3y8|CY_*#~3UOj!w z5k^^0w)IMGdp3PZSiPio&Kj<+RT(zof=`(J&Z%)#Wmwxyc)}g7d{tAK|Kfyy?i*E) zeVW4`p0FV?Xub^4@*sJ(fd7e?lHT<}xeDJ>BM|Tzk>3Rfx4_ z=AQMx8sAQ_yvDt4mhAMuG22pq2(`Dho{oGx(Q)p~wquj#E#zY|?VnovF5BrJuh5anxKbe3Co>7(+`{UVZyyv-j(`QkIG9>#@kwzTG1&Y#Vt)_2q7@%i*6M$H$s z{@PhvF3+32?N8w8-8llM?+c{_S#Ljd-foKMnt6r|FO+7waQH31bah__-xiJq>8u6^ zoXWPe-QDUJHF3xNPxAWCSLa!aMlsAQY(2h zrTX@B9fsFu+kHij%%57C_NIB(qO0M4Z{BOBzN$=hO!#5De^Ki*f8YFN9?{yum)f_V zzP;;RUfhEH|2=PCEj)ey)k{V8+M^{`Ztm>jTT;9Dz?;Vk>dAkb+&NUXznyNNlXWt_ z>4}^c)1g&+Y^StrQ7-hEzm4nai&AFSvW%x0@^{Xx>;LdA>0_y{Va&&z#}a#ln0j^sW!1J zXV!^GIpF75?(yvoSJlg)bKx=zOSPDH=eWKIJsq%NzkG$fxpz#UesJRLM~TxPYkXb8 zvGK>jjWObOCw$NR*uZsSZlV19-yuIzBPJy--Ws9hbR{$EXV;>+aVJtO7FqV$7uh~! zUq8uvzZu)zu6g=TU(R(aJ;3$)V$IjYe;ZvNE;!Fz?{IlH!?CJIl5MYl&*^PABYej2 z&9c}xA_fU%A7=encTCg4Gb__%|5wJ!JL?!{TiFOFz3lsVo!h5O?`mD}g^SL-Q`Tv} zZJ9WG?`k#apq=5oVK-e?A>=`~RD{e62gxG(9cFaQ^<1v+0{( zdS92aIu+w2vvTXr*UWDMt+Q@(UAuATfrsQd$N78rZE6r$C~SH7e3hc)SM!YQnN{`o zXNRsa=5Q*q{PJ(!n}_9|@|;e_fvYaJ-`rm77?XF;{PQ(UlT$|&47naxut(T$5z{-) z_VBQU=I`x-`QPO(IlO(nsApbtnuVO;vipz4ET2DW3sP(TK36}Gu}eeqEMvnIvs)Jp zWA*=gJyHrk;_)c>Vue8So@&b*hS?Krd(z6CH?94;e-3A{i+1K^Uw)5irx^KJvxCL< zRp=buJ#W{QxqT)xl|R;*d%Spd`SiT%eL8pNTr1Xm`Siy>p}T8J&qpWDkev2$?_O3@ z)lFiJ_9quC$=Nu2RrA5`m-o%OKW%k?-YUMc&zDXOov=(dGI|r&#|w`Xyh_T=6(wcd zFZdqVba+$E;@Ev#ZN1_yE)1K;cz2HPY5qCSB4))q&inCe>Fmr{wq~7h?iQQJ=gem< zezHiRfAO+aKQ=q2gNxAdo~ubm|KxA0hD zu;!W!--SEwn7j@>>S;PXOI0jVl<~!qVDZ_9J}vyLxp%4vx7P1;`|c_0blzEIZkJo? zCH&85e{k3L%rm!--;lT=GVz2(yX;+lA3ycS@7_FrzIglW$&<_NrF{?PeGn@-!X$Kl zL*^sfIhCjVPI1589l!s4=swA~;EZOSN&j8HB}?$Va0re$ALikAHQQ_Yw5}kfi(wvy zM}+meS}eYWsC&D{30|)=)Smh!^@6~A0nT&-SB&Q zQsF@4AyZ&7LGMtN+~P_+L|BK7B49 zWAL+XLr3mE#tRR)f0;O4V{y<2=|G27CtY?vY4F&6SIX*Hp2$7R@f85dhS^9!fR0@k)wp#VIkF2Gs?~`AvFEv}~xMY8rd*4P)anoN$ z_j{h7I(h8Vn;yKn`nP>N&d2f+fV-~S$%KqeEsDun-k}( zPFL4B;Lr3a=#1|XCcjg~c`qxiZ8y$%vGc*Jp11#01im+GcKHkUw4Dr|(zxNw%dbmo zU#jq4yCV?U>h$oydYwJHenh{@Ug(n$@niD(mrn)!zD9J3zMcQ$$$l-7Zts(#`ln)S zzc03{yl3*cKVZ+t_$RNr9gS|rJr4bG(f-vYrT!MT2-)7WUHd*4=E%+MS4&vb9x-{c z%(ctHuIE_XE=guQb~fB~YJKF=!y<;^_A?u#r#ECyzb|pXXN4Z4R!9p^X^Z29=oshA ztnqFve;C&P-Ft+yXWQAkyWh@|{%$#I@3*DPe5&%D+KNHw`q0|LynH$5vo(@lcK`1fHCt^}ToG{m zV6(R4zja!CbFKKA+GbqZHtl>a=k=lun`imwcKhsQ=<>GS&@E?g?zmkg`ufY9lf~Co z+LST4U0tur{a$a@=`)`ydYzV=7$imab9x9^ym2k+J^ApxxWbd5-SI^&GL;XfmOFMa zf0kJurSMk$L*LEp55LdPJh^q}m3Jle^XI${ocZeGoSnv(wU;b^x>Is$CQItO2QtDb zuUWjf)z}gRrR-+^G&YM6Vl%%kdoIv-_Nv{VU-5Z7-6eT%{qMkOOC|{)ar?X@;{D~N zk#QYL?2k=P&ScPdc-hu3L7MF$3q#CpF5SvIb9giK8Q0IK-8Zq`RAt{>p&ygr>D~N!Dq@ifre$**=}h}?P`>7D?(Gfde~WkK z@7|oYYvbf?*^dnNne=|&u{Ur1?Yoy=uk4$XQK~XOW$Wu(f4(z5h!&7df6qVhusBDP z3P+Pd#nW|~X5R4Klq+mdGJZb-CEDWMYbx7q8Z=kzL==NSl%-w z&TGHPx~?@37P|I%ofa#Nezqa*fz3_7p9`hl z3rfGURNc|L;&tAw^*T%0k`2XFPaU2yiKC^g<>B}Ddt;J#G!JAaF1T6lY&<#2Vb#-h z>l*W;{>X38lbO%{F2`T^eTGaBS2UZ`EUg3iub1twoxXRP^1`MQVILTd+ckT#yC^*I zy&;+(;FeXo|ILNi*Hhkvy*P8`5`U#n#7fKaq5dALOzu3nlsU=M$lF+$5T<6qwDW$WiHPe4xUX>GO zDDBtYAGKFjB5`}f{LAw`ZR(wBx+KQBiuc&HX}U|cJ-@$YLs0MB(>rw>q8ck#%KA60 zUhh*Ku~4Av)y{jjFX^7pyJNjh?znHZtmXCtK8so3TA%CL(5?}vl()>a?zQ~`rd>CG z*yb*pe0Ht$hv^yGTb{JWG|e{j&$>NB=)>C1GfS7f%5(kwHfsM@|BFIv{SCZg!%Ow7 z3Zqx-U10s^<(63MMK?D|?lE~G{61PD`usCad6By!!FqFlwMGl_@;mLm=aXJ;)~3i^ zHS3yW$)|NC6)TH*&Mg!8ZNO*|c*x>YMiSeDRWVQpeN5n*f^_OTOUXbF zlP@8@E!mxuIZkr9=SJSC3Tldf+?IOy*sBu)+A+;PQ$DPc*{SN@x9v^X@#Bos3K=Jg zxmca6kCwRUo*wHs#m3CwoyWoHsXx0e@U=~u;=9n~Xvx!Svl-)@jbFcgQSx_6<3sKC zDVM~y`K{moMt*+j(@}}EEe#`iG2L%ttYSlk7Z28I@&9aj_ z{oJvWcleao2I%J~>Z4@K}@LoBXfe&ItKO)TkWw;F&t#-|AP;zcjmZHrluQC7zu$xa@XV z-hIO6w%HeEM_rpR_uSvP^7GGnyeU+1;QQdU{`S)Av%Q6zvINXtC8^)}(Gf8tuSK^= zzPBs9HHo$Sr8D2mBO06uk^kQu{*%nsp6v56@cDeZ2mQU=_Bw8ISKsiRu$?KFTyJ7# z`g&{XpDgQ5|0m51UAXU@c=kT;d5=HXHLt0S_ISSaUQfZo`>Pb5ZaJFK$-m*Xm1*U3 zuVBWnbGEYwr#$t`!A;~4q6~78IjLnmAqB@-Yk*bGgqvgG4c1ZpRd`o zZqIU0Wl8NT&{sUzdaCGY>$DAJm5#gS{Z!h0GL+Rv@8-2V2@m_e9-bYVa-c=6?5~`F z$>){n>$8eKU0=QB#m(O*6E*kzsFD^g(l}-&UEQ7(b6Gg>mBzh4PYznPoevE#nGz_h z6gXEUXx+&xcjYBr{yj*1HpS(Y>>vNqj}w%tlrjoWOiAiLHOo6Mam_it3%#BFcLkTa z2CfU<{FIYN)PL_151Y+xebM{m%uL75sw`4A=xxdr- z)n>Ifg4wiSb+21=-hBqmxC@#wQyCv@&WQ`lY~K|SuRPm%VG-wpulD>8f(iuNJ~*l6 z6gX61IqB$h;lx zY=8dfU0Ih_@Hy>V{Yt%(83xWjG&)6|94mgcbCJa_nOB;hzD5UXiN-3ozu32VL8e7x za?_V3ZpkK@@{^nWUN+6`vf-P%WXqQ&Mr@jKt81F(m|R#|C*@i3>&n6@Yl9x#kdI$C zYnsZ`rS5+X+9#_sZod{?*qxwjTpaEyWgVy$>2xw?$&0M|g4g$ZdGw1~Vn42oUNX1h z^yQ|7*DQBjv#7|?jeN@YbA<{kzE9;9X5GhDqI->7+PfGYS~*8& zRqaule(;2B$l;BJXKZy1T(_3#7L~|PE>?cpzj<2gCWF0Oo4)cD&Dxf!duY3sSk->H z6G3-(we_j(b>n@rM3-0bxib55(<+msO+m6=`A?2bT@tyLtJ-3w=iXFS_RY3(}O)weHietl!-T5qpShK37notz@^!THiN ziI{(JA)#9%l#eg&{Tgj;yVL`im|qu( zozD9+S%2OOsT|p_IU7H*&lTiiTr^47u%VNcwN!A$r`5^og)SFb=NQb}cH-%$9}a~v z$Bz4#WybCM(8V1tlRE29iixAKhP(M{houi|f^yx{u`yKKlB1#4enQX{M$4H!(-vP^ zGVhwK(5$K7KTV$GwD?{6roOqtaPV^|znGqep68b$mT(Q5AFsYV7q_2V_w(`23fY3>n69#_$uB1P z&b=3xeBeI+8usIBBRZ@m7Bt=MvYXZ_X{^z_SMEqS^Rb`hs!AW^^&iyOo>C~{G@H80 z@<+VVGqaxmr8$J0B&SqSyl+syzu~)D} ztm1Xt`YX%~>}NmlrYi6{P?If+AxAslbUMF;M>Kc9i$Cu}@Hc4Na{n@rQg(-hmu3pF# z*JbOa_fGx$`sLQbbvN`~`J|^FJhVF?^XrxTa@8AC7f+YYnElIrAMc0FYZl+->EHa3 zIj}@Z&1-Aw4W7K%brw41GBQj-+wVP%4p`p(&5!SFYf`bCuDa`qnw0hFTg&EuWNH); zV_*H@L7uMJmE*FNA9lrPei8m~?%v9$?a>Ksi+|5l|5g>YXV0UlMGS2REk~ z7TK(Nukpz4e}+oIeE$90tC%BaKCEB4%$ucS?*7Er_wKfx4V`!A%I>%G7w=_^Pz%+F zcieL8^5Vt+8s|GsKO&=5c!$Z8qj<&>#Xo!trnCk*&)E0(gQ&oS{Dy783p$i8WFN6% z(ef^<_#OW;itCr>mnn{$btS&~g&%1Z)~F8Bu;RJ?CEL3?$ou@fIm;fNT=_`Os8?>T z5ZCSa75})mg)QuiILD{{`p3z{f8l<78(X92%CsHN`S#+PT~k`DSV}>A)szFhoiFYF zid}C1674(x!24VaUzz7g!Q!(dpPkLyZg=wY=enhBg6CHspMI8GZE>OZ-_Xmb!WM_?)-%gx$CVrI~0nU_9U$0VzLjqrMz79 zQ1m;y+%taX`!D}mc-L$12d=;Cw9Lyi9;Rt|-^nf6`u*C|1-w7I=B0csI~+D~p;^JZ zsjTnyZ0*u=)*KTM_%0J08P8L7`KjD(Rl{R%;~DmD^QsW|buvxsNoTX)tmi>jlrB$7 zbY(9H`X=`4?1y<$eA7dJr7c@rVDV~^=(or3_b>i*YucKXiEB5l+WPTQ<&SA6t~fah zo^5V^yj;5JY|_Cy6W>=WTs3-q&LSXbx6s$p2dSoYEPqbcyOe6K}NcMR^Y0}Yc1BluGII$>fG@Q z)k)QQcHqy2c}c3$LJcd*)>d6U@1!eS=$YOhTCZuM^LnFWjJj9-CYx!m6kmIX&)#EF zdUELw9|s+KXg7I75mQpvT878jg}nQn=Le&vEb4e&rLB37E2D?Hq>f7lJJQbpH>)N6+NG0x=Qq9zLNr~ zb7q@O>qrvxn|1MT#-{sfN3G4Gd|anq646n0bv^DSuKC?s(_?wNz{VvU?(V`@maK_h zvPXC6;j96*BQBBo$hOgBm%21xJ5d*5;_ zJ^#HlJ#XHUzapD1FWWJ>=EGr@GrD41Ep|HH^4oJIHghKPE-i^8H*aq6bD1NwZf)s> zYZqPoQ|yB0a{MXZ{{Fq=lU+S{q{@BHfpx|)6)+~q`KcxtA18A zS#D|8Y;AL?13%3-i$4(lXua}|mEF6UFZ4Bk9i47Gb<(-pn(6m%ZfRd@ayTzT@?2m&LW&rL+G`a$HcxetzpKlZ%Hq_ZlCr zoYVcUZtA({zyQ0R22O^=_8y*{Kd$YgY)_B**eQ)obJ$09y z%GV$B(TP;vKYgnA^l36%9osiFEt=VJQEW!zLj7`mS((GO$tMF>6$bQ`Z2a=J;7>vB zqPwE9fAu)09eAj|`=Ei}SrhhEduq=Vt!=s%H}|@I)w`Q=eIM6JSY#3PeZh;j4bkE`#U#aBsImh0%NtgCFb4-}U zu9?-qAS@EU$@?y!zw{?FBh%X#ZwsyY;_TP#5^S=(f9vzxbkL~G`+aDIViT}*&fy}{xiFzj|)lr9y7iz)6H+Lc%P&C?X4#Z z7Jk!>(#R6%<8IV2|9nU)o>h1GQ#G;Z`6f^D)|Kdd^V_hfhk04wdgkU2CTRk3+bf$Q zPF&eA&9g^TUudHB?Ndkp`k1`-GdrS?m%LQ6`KWkT>xzZDQ;c;J7aF|u^=&v2ozAMDaJ^Zh?qTQ5Dpb5QmTGshpx*7uePt@iEh zUuwM?Z!*@TbFI9&+5N}dl?UEvUbT>WbpD`ao&2f;50ih%1u?v~l<1dBOxW|EXFq!~ zmyPA|_YXUm{QW;xFJpSn{$p-nLVZo&{aVqAADngaD-ZAl^Koo%KR@r>gKEFV%kBQ> zK2)z@O7DMI{bL4G`}~AclBw0-PQGNUo4<-7m4-|F8{c zbpQRO)}!%w|I6PltO5skRy5o9yZ^9VZZzS`pTGJ6$Az2tD$dVK4tQ+RoUo}}RjOWF z=)03j(1SQ-Tgjj&%lD@iPnvUeVR6@WuV)`N|Bs0|eEwkZ#-{o0=Z~uXu?bohw{yEQ zi#y*r32(_i`emuBVnlqj-_9*nEb(cYUMsFvJE2MGfP`cNZ~f!d_ZC~fxh}i=<G9lWoq8sbP^N7fR2)w93DH)#S&o`56m(y{G?tS}Rpu>z;hI zSM0)Y02jKi6+D zZTqC^{-$hq#I$Fp+dufU7gF8tZGQhS9}t@$kXN8&F;jU$Lj=mR$bV*V3LYW zZsHl$#dX5_?=SQUQQMfXo_Y3R;r9!;7hjZIKV`uKCf8E|Ve&sunXJuU^R3C_`ORvR zmHnSNJt{nJ%<=mhc_J~k`Ri`p71^aPY8YO$d<}`d`uSkk*BKhsrAtmtId_&vblcVY zHBa7Xy`0uI^Kr2Cq8qpWz7A+|Nj@XGQ?>u=Z;vM*!cQ@As7w7YpE}X)>+N@!gPt!C zU~OqFX4_!kwNo`_SNwvK4M#i^?;AFA|1OLzQ$2f&<>{{D1@@xFfvYs%pA@=!LG0+p z0A8OLJA9;0s$@4@>R38MeUa3SrY%jG<@$UFI`42O)`X^TY!Y1X?s(Fi6)8JAcP;Xb zo%l;IdcNF+oqt!bU)z@@wB1kW#jTAQCCi_G5c2rV_U_1*s_AkipF5Pz0tIha7{olU z__*YCioEqb#vjj0!*m~5o?q|qkBL{jQEBq=xbt(IcAmMvcrNqAHJ|&Aa+v2^bTmGE zaZpS;xgy=dY?IMM54^Z z&eO@hGZsEFg%wlsuHDWv?p4&=?b5P)+L>A1l}lJFZmzkW>Zq-6qx^r_ z8ojBxzLlk{oA~!lyCqzz@xiD1`1K2c>I%ZL=NWf~TfZ(^es0s;*_%$u*;EuxyCcy z&tEr}%ykOXVPd}da;tKV{9l`nTi2fGnQP2WYIa!uitYKyYk#=ZTvK+fYB!s5=TrF= z=iKl7cOHsa^gjA`D|W(#V;jnO&lKJM>mH_8y@==j%V|dMWK*SXB($ozDDltTam(}c z@u2RjJD-RA4V4N1a4YZPYe%*mTLGv3g&DRJbmXQp?NU=s729?E@Yl`vrq0?utuAo; zsl zYz%AK*C(VzNiUc#@zJti78hH)Ogj6n$@!;>YIBRC8Mv6YT>5zUl0}E0PgU98<<2r0Z!#y|UlO6X-RqI4u-&;@?XaG{=&xcrrVHkoPGvf2oqb{V%4*>Q zq4ufoCqLHvrTyc9o=bUw{+5UmUG4CVZHDdK(N~rJeT}|q(&l{Ph)T3D(~ZRHt`xVe zjj}!=Z42kJOo+`l_^@XG0yeqIbk+Op!V|9^daf0AIC-I*)OG19Z_$Fes+-PbcE0N3 zIHxH6VDo}oE2f^f)pLHs>mRQ@^>*Jzw8-17MOHsPzk zHx=~RK7Ww4`a65}^?SEXc#iDna``jS!EDz;#;kO$IHAcEok|X~E?iLz=T13!#f&H7 z`(4ZV=li=K>*V~|Y})sB&iUt`e-`eq{#sJ@rN+#<>esgiXD|1&zrU9@QBwP>!;+h< z_4haz%??SJ-DSMv?}xk-DsI_>kJ|6&Qg4g6V9qNUX^R(HY(9%-I!Bp%vW^viorXnX=S%w3v$d4 z;;=C*DKazLU&Y5hWuw=_DU9q#&mTX?c7WY1`RaxT?tR_fPZsgMk6dH2oo|(YtIc~p z)z<6x=dG|6{Ihj`*mld(tJe?7slU5nryMbL&!yQHMA)t$opn2>=P&!p#W}is`ddC- zR*c>A`oWHWrN45mvi#04;R1L^6+TYwddwDo+WQ=?g)-O*!<<`^~XOysmZOn!}#?W-^xb&tQUQ+ zvdrJDXm0vybEEdlheEsm>ouaMHE+KW+;lLu^jYL)h8sub{Mt0>^o{bEz8B%!K9oM% zRP>zLD(aQtpV)&r0X&ME&L8kG%(U+^ezJPg;lTENdSTg|qT5p9FZ(RHa+OEE)_L{z zFPXfD80F@NPSWnresfd2$T0tu_TB8)4ORCZFZ{0d(x&mZaMb&)-x_lmd_<>uyeWCN zXyUWS#$RPVXC6v<7H=6|;i_!!n4LOxTkY|(AL-Ke2kyOp@IHZwLC>*A#%TTw3EnQp zh9i>GFU;Nh=H5K@ojvVsQK9(BYv;r6vv>6R%-O_! zPTFm~x102lZ%1+;hRv&)AoihODUnTQ-j;nwnG+=?=02dP7k;D zRlf8-bE>`5ct*jUR&OQOvFK0_WJI2u%&h~uf=DI6#1$QcM*B4&D z$Y#7!Zfp0q7kcddd0Xc#c$hm&l;^bu^P|}5RieL|r}m!x^lD?}C1W#7;Y82lvyYzq zeCe}dGD~q>)2H{6sz}O@7yi;X zS7pi6cavs!{`!1gq^mC)V;N|cbnDp&%d_rDhb=EbF=EqM1k7#+TA)YtUTWD zo;JV6Ge^X_PfA&@NA=aSJCh#mKj?I>q_Qh5o+o>0{Yx|XKMyUYN8h@CX4|zEuV-g> z9h++~hwoyuh2-47L7o-US7=-ntXSk<9P(=BO+|l(l?(J{Zw*0a(8 z3A1GO+^M&j+TIzY65ahXGw>hV{r@dKn^SbQUzMKD@byXwW5Al_&t^Yv(KA&oTp+#g z@YDCFnhs5E`npqVo7dMbj@O*cRW9Tz>R1HKIB8iGo!8VK=(1wt!ug#~kH6yM^{tDY z;@cK7spM4K?CKAds`q5;r{Cw1Dep?Ods(rSMbDnuYs$As&KXtLRiw9Fose?m$hL_$ zx6WPRn)2k7w@viJ$BJcp+;!J!3NPvi%!ys+c()?(kc?z#%b?f@FNVUb^?SG4nsjO<+~wu!4u5cW&y@f7@_QJq1sb>XF4}4< z*Z+2-Ve)x{zT>;OADuS8?#1)viQ&I5IUD6;d`zr;-6zk~@P6c{&Q=mGBB3UlyupzD z)w1JX?mOiqJ)YL?xABMHq+Q{`mmcxX`DsE5gFpZ9ChG_8;So<38(#Ir(i z`%>$IC$n!@gr`{4dtKv}WSw#XWuwq`?(=&Vey<;~X@vHkNJq&boy>?(N`;KnD z@{e5MH+CH75^U_<`g*>t-A9M`lWxm3J#X!5d|4E|rDyHU8)q+d96!W4P1Ta+ih;$^ zxij3OesYAayFAVDaG^*V6B7fMZ~@zawVW303DV(y@9s=e@o{uyTFTc;?Qt@^y5P!EvG<`y8Iv;IJre5fe}8o-I(f0p zCgXe0r`}OLDqpL7?BOb>)ar!Yn{xBcF=tfhoX4e_<9LQ`Dpe=lp<`!U1R6Wzy3{< z-Esc)Z$2$hwA^9pmi$9&`l6)sd#^-&R9aY_wD{W}^^~(O{g?F0IG0IX+$6c_LC)_D zI*M;pSa;j~(mSOheBE8{Xl3M!7w1dDPsuv3V@t3PQ-UAn@pRq&Jbe5docEN zyQOo7S!~Lc+Pj@=ZeH&DrYOp9$Cs6{&@g|shLL~89Wte{TZQb8lNem8FKl0 z+Lm`o9hRT^w<~8?39KhyN;*tbwBGf z`>xK-oK3Um-aT+&_wsn1-wPt9WK8|_GyhB0m3=kqD{t;ET0Z~b3+;<}9aGuvPy3kH za4?7M8uRAaaZ!2ta<)h0ZR@}M^R~6EdgC6;kabi(^ct(L{l;DH^Uvf3gp@1&xxlhN zW=sEL+5CR_+IhDB&gXn&4>R`p{4e_Q{aK&(K9bKnr$6Cb@z%C`(Oc7Hcki{FH)pl` zV)x`tYvaoPmrEU5HKfJmtpT5xL7ha{CefEO| z^ELtBQrAR{jjJb5HM+bzEYq)BI*;8>%=PRk%T(sW$8T5J|5>B!zjIBLd+!oXhjn?^ zGxix?$aN0up8RNY;tU6;4=szMZqIy|?6AIj=DXz`Ve=afCfpU+ZBv>vG46{^i0_7{ zTn>v1`=4@gOI_5zcPYeuGq?4(CtWJn<30uQ6>~0+jorI6(%3(C!KDk%5MKC%uur-&|j!qdAZWxX%V5?%Y7WX z)|LD1JoT$^dg^)e30I}2zW(bgmM_}7K8f9Y)B2LF2h0DwyfRhmjNT=t90`HQnET;V zUvg`%x)ic9dHI}8>0hdfysNLA_On_($KlPaGmm-Bw@MZm3TXx%U_Z1n_>NtesjZ0S zzpe=tQu)OR>cQ=cKDg>6a73%UKFL`gW*2vI^UYhW7D>tq^DiDq+`REbpK@l?gG~&9 zh3SbuSp2xIJXjolaEV&}OAp&) zMqh)r32oFq8}PEXVAC1q8yj!ReB!>fdsF7K)_@1z@gU~#z^Rfh$A^P67RT>QSXZP)z#*aBXwIV&H_y7NBW6|jAB zo89-#q8o4TTa-~M<9lVUN$k-ZH;$Zeb5BZtE)XN@U-13 zw*S7+iE~^=OjqyZ9D9>+>!S^;;_{pj8DE2&VFGE6+MjL1Z*{)Ote)}ab4B6KHAzAy zmuu=pmd$=4@qF{5gWI3-t#e#@TB}=0athxw&1OE0y>mHvv-j(NSt<0~`?QDu$^?y- zhvjF@*&Ne4v0>Yl;_&U4Q)Ztu;6B`2e(;p4_yTq3>@tbuf}HGIKT=FA=Urh|d^IIV zReQ$#?O8ijd1n=vvP9-Do1#0@;M@$(+Gi{BZ+?`YwMu^X$@uM;_f5DMopz1!kKf#U z*3j*N#U(D!x30Xf<>dLA;KkFwmC4PXox0=xsv{2t+KTR%S{gAqFbY9}1iN#$5bLG!Uu|>c3STB5OYPY>h zA~;57^+m3!3inU#u8>~QRqD1^`;Gh6p57(B6`ndYFCCl>v*{Lt@F>eSz6Pfkb z>g&a(i%vb$BWzg3uRL8_@7OhE&$4Sb?&K*c$7Gecqy*1g`$HT}V!RY9zB|nlyHzjF{ z^}pECb9qUWe)YZ>i|fp~;Yw|lpA6bJuQhA=B{6~T`Rx36i+AU%h|hOU{gmCOtN5>M z#y7=8IC3_wR?fEZpW&avG*RS(uy$ZYY@6!9y?{c;;>XmI?*l&mcO zdG~96Jril$y}g#r;>*j)S@w3%@1Ie#Uw`FAa*$D#tHs51KV6$W?h93IPh9@>J7{}! z-u5ett2s_&N%NnZ;CsjP&Zn!4p1+^-vZCA-}jka;d{|L-Zl6CC`49y?96{T|48M}#=Y6^1BE#r#kVfWytM4rqW0x$JukDq zdHIn0YmKRIb63Zr1vi@Fe%-a!(cToB@%HOi_w1rqZ&9Ohm`|V>>pHz>E&dLt;y%RywIaKN1W%GbGDQZ)29c! z6B=i1R;lK`?Uo?y|3p3^a!2~l&$|=m^vY^5*@xDB53E0b*Zuj7h?9kxXMMTe z9JPI&@tZYx^R+vo$EOG#HGbN+uUJ<0eMF?!viWl(tbW`vbqHy^lelY^=++JshqBiS zhhMPie@}lpMW1oDjX=z`+nEZ>1VWR;1ac1;TB!4WEzJ4A@j-Te!j6Y;UVQM4NM$@= z!Qtqbe`CJUl)}x%)jyv8xX;dGkb21FPM0P}>r^>wk%!+KllSu}=RZg`im6iF`PZiW zKku#S%sef;0sE8dY%|(cE&6&iOlXVFQekN|Tj2>)Kg`+~9+OhRW4}@;>Go3YZdutj zMRS9F>h^`)Tjai+c;tO<}R ziK#<=+KX?NUF{M(IVyS!%C8$;Uw;2?+>PE}XWt#I{aG~YwVI0a{mDM>Wp2!W?tj*F zyKJ|zy#teQLSB*M_G3(Huas;P-^6r2ICJG~`;B`Sb*F7IF6v);L3+*IPdl^n*D?R; zn=|pT=}PO!f)5+bq;q-G8re@CVu&=#S;M+QL55M_WB-lJR{q}?f+dzN`^P==y5jBg zPC2amKiB@-tjPTIe16!k#C^?fdbc_Dd^i`EzGE+MqWv`gg8A!z9{;E$*A?OQrr;$@ z>!HWo$23G|DCs0mnj;Y3;LQ}8w&RM|i52_iK8~AuS;Kw%ydP$bPFjs8`P{DWpPU@O zyhOd>hevT;hS7m2a80n+Bxaoy%keWtqXhl`}R~b!+e!3U*Bz! zwCc;Z-nXmzAhU$gn#{15D^|Vr-F)9TuXyjwXIFp59TdoZ8}s7IStxY@6U;G~4t-!qV zf4%reDjxt%N^|uX^S42=rsOd%izk~!j^E7=RM=h;__clY}k`J zzw)`HzxX|c!9TfT0q>gW8gGQ-{4Sl}c+mF4qNnl93l{Hw@HRKYH>kL1M#K)sRvFH< z>|Lurt!V5EI{D@GwRbD@`m-;t(UFyl<+llZwT+jR_wBE&+graM_5J+n!UrqY^qQ&p za``M(A z74rvv@;SVvVRyP%$fV0Db8UAnSUut4x%>tTn^alDf8Kda~yFL84%{yuwpt*OoPHN2m48P9!=U$D3~II#O$?~<#pGYk!O&zm8<&UJ~`-MH!$ z|LwN(IImt|`8Vlr*w6K9k5;>`-??Vt(mMt!j6c0suJ3rZj;;3RRm1(8#r92pVEgjq zAIt+tI^SjmR|xzw|veY%h=U(?b3$u zgGVKl%j)vpEHUpj5WL*_q%lM3uZ$x9qEuE3s)9cIAw(XPBKA)w$w-d4hFEz5g zt$$u)cfGR6^W_8qp{R4ur^lT8Hutj4`6)TJBD|c__x6ZBF(%VxRA&@nRUe{ z3Ag<$$J7d5UM#lv4W41LDlewD^yx*9H1>Zc3mOES?oGUS``sh!4Ra=~+H!U0cZ<$T z-&!W^D*mbEtiGc4x(7dZXUz7;MhC2)O|st->|nqA+oVQsvvaair&}(bwY{rUYk#Xp ze*GQkXO_9`XD+Y&aaVvfTjIoC-A17+2cFDfzNHtYU3Pj^^>20kd+&s|p8MqWFgDXz zso~rCAa*O&rrUEguQP0D>T62ioxdV!xm1Dss^sK6mFQq2ElX}&mhT&GGsZ8w$oSyE zu8WO9vQBTbn0aP-URiT=pX=PB`AT_@PL%X7YFD$Ah~a*7l7)BqR*uKY4D0u(tZZ-S z;Ao3`78uMBf6e^K^dHYnba!somYH0$TskxJ@eZ~Xn(J&Aa42q%Y`E6!S7v;vHSWW? zzl%hwe*~>8b=&-B`T--eT}pofg`RL9vE5U1o|pf0akFmFs-4GIiLYL%i0n))&8e`aQ2|?w)n;a)<4daHZ0j8+6`GWtDgN{OyI! zV&Bz*Z%(c^-)?K)XmZ_j)Aq?#3gHjzC#D~a;c*Id*}0sX<%Bxp-aFF|txG({^7Hm) z&JQnKAL*99c*+#W^)7{()$N#R3)kTjuOIgPd>9q|dg)ukjf>x(yty4HuF^V9xku%6hvLVxr{_+- zTh7kDDD-7nYSXGPeM7zr^HtjK&prLjXo-zgB+JYd$y$@oZND!oD=&9*ohDa&zULRcetw_4$MecA+{x2E#~2`g0;7;Bc^PdaP;-s z-&eQK{~A&x_g?IDoE6erFGu}7zF~j5ulb?0Xj#OUr z_V@gkvHCVmvt`i~wqmz?% z8t*JPZM;MAQ~pO8-mIr#OtQt5EB+o#zws(e=9$m?lUYxm+C{ziugAALbNh`$dcI|? z?kkndwu$^A9KcTcT9epo7+V~P3wnJFT6XSVn9 z-FNlzSfMVU!StuYeU>F_*0-Bc1tlWoW)FY8yQ^N18+^#%4aa$_wu91=7iChu$uyY0 ze8JVBry;Ghc4G$TinNeN-if!}*^W0>hrRJB@^+dc(aY>9RQl$`J88iv(RYhBD|)NE zYnk}=s`I_D-Jy2P$D^KyrtUp*Kw?L|#AGXjh}!3~XLBWoT0316J3Q%qT62QVe~-D{ zemPrK?&P}p*rh1i^OYLoHSu1*B9VkeUPlXj16HN5THWJ0Ynn4{f=bM-Gf#}8{iJ+$ z3QK?adXwM0?N)Adm%dW8oA$+i21)&zs-0_C`MfJ{Xa#>d!(4QnQM=0L#raTkO|G(> zWz*yfSz`CTeG&Gz@ow71*47i}XIoVWiyl27&y=@^eNW)!lAEQMJ*Mnc32@K#yl_}D za7A3zJF|eV70>>Z-F%kfchdRRQMU65G6l~KdR{qltVyknU$brFu2!S@(|BI3EiU$b zAMd;Q$iW-k1{)*2lJ$=^U%bA$=G76O$ctWSn@tjrA6}a;_d!>D_SqTJf@XEx;hSUh zq^7EL>WrGW(w;RBTetpRwq^Q-HTu z6l*iA^tut~pu50!_N^J80xk&{x4TVqmpa1ddnxV+%jE@E)yXMbltS7O2LNW%r|7uQDn{`HxW zUc)NmdGXJpv(u}$ZvT=k`P6eypuFkFXB?Zi8tT=4d3;kh+kgA@fRYs-pXG#qll}Cj z{j_qLxY7QN7C9f)-Y$GqTR1=P)uFV8hiWr!yUAu9mc4m?vnq$}Yt=X0AGY#WuDv70 zrn28q{_(}Mm`T5u8d(S`6kG1zzEOJr9_up|&Hn;^&-N`hR9!B<-f&N~T-EL8v$sw< zzhTyV-TsCXb3gao6hHfHX8rZg$2calt6Xqg@-!fDyZ-j}M)APotMBbpe17l4s%N6V ztbAt7Zhs}6qjA@B-l2Sd)`emhGuK$0Z%lq4`Q(9=mHLX5*V5KId<(RmTfI6H!oL4y z;?9&c;3Mu8kM~d{w`yhvSF!G)!};yF+Ds{6KyulDt!FQS!d!8Tlx673kyZ% z?_^HzQM>ac@T0v)80*(5AJo=-I}_-e#38dV_kWx5>I1vkvVJeTIoB(h=fYW2&Py{6 z1!qs1_2?^u=E@0KXM5y)3w8+_N@vL=kCnH4a&JUbrx?d&AukM zApAyjXLXL^rM1BYkM|#rtIcRTpZ>I??2V{LrBv!l<8?j@KE9bU#o2$-N0p>#mK3#R zHLtmE`M9q-pORKn)Z#E#+|#p)!Q^PxCa<^5@@1i-&m}`1G`h-#UMZJ)IP2!`^Vyj* zDk44ZN(8r0Uc>s~_LXP;lUd|{&rKGc_JE!_ zyWaWUUm3?)cD2%YmXCBb!~BkdAGr^2hlZ5(ve;}pA(B3C-MtX+8TH>^JpVntTkZb- z**t0APam}vKX%t*y^`&MCnCQx-`AB+OI~92t-_~h?dik)UN59Sniui1{@b%OB6)?E z^CezU)wWGSCy(~7&*p0VzV~DE{$jx%-z9gY`KtH)?kV{^UphJD?;}mg?-!5#U^eAG z>~hW``hMznEx*E$bNe}`o6qPrmk^g#>fQC|@Oyi~OShLR{QaBmP<5MsEXQCT*vrikz?YXs8B0~z*puQV)tqq^gZfOJG-Lz*Ru0Wt=7+4mgijg@au}N zoY|89Mn|qcDsSGXp7Y{%+?`{qA8NgI5Hz{hq4;-tT~5K=tDRME=Qr)>X*)mP(z)4HCv9Xi@B{>icl_S?EQZ{`KWC$y}vQr*kis}r_t_l<(d=Ox1a zT=ZPd^`WQuyX>heKW$#H%#v90@alBCA7%a(2333Z&)B}i!}EKZ-`O<}-rTulH$8t- z4dcNlKM%E@e0@=>@^->DrU_^CGTvVJckE(&ukH86l_J@f{rcv3zftN5X}Dm%y6=nB z@&8xOey;u}KUY!y;pZpzKC51uG(=xro!Zy={bA$IgU9B+yL9j0vVRhXdC&h%{9^uE z`rT@&M(NIqWSj8#nu3zHXg|B@LKV%O`N}^ejGwZX9OE>)7V+dP!#2_7zb!hY5f+ya^3j>IPGU}up4?Bo=LOBG zNzC@mViI}9-zO%!DfElw0fV1{b?fI>$j+Si+EMk!!pK$g6sl(&JGDAwcEyo=Z@m)_ ziUl-cg7PNM{GyeYaLu~vb=8$b7XQBBOF{i>_%(IYb+^2Kdf}3I&)JgcMZ1irr=`s+ zJ1qO`CCj8aw#tHU*Q}6iObOmC5p}t?ME&!U%NOdRL=0A*YA@;Cpu=Q!VTWAMd#A;$ zai%YMPl-Bu*nM)_G2ztVkUY7E*O!#>ugLze>%yDjyQ%-(Wp_2`X&-5vvrl^Vj=ba} zPZLe#*ZtIuaR1!$__^R3;{~f`-@JC)A@7&j1ZmDoo0Qq>_ItB$f5a29p=R!yzFm{8 zXHDqM)yj-bDNjq;;>cJ7L_6H_yo_B}1z=sEu`V@TDx!wNBCSl6@4+jwxQ@4Vr*%J*wher@*OYu6*4p51-F?DxCxarmOWeydv*JYDO)pu0 ziqzT=B@w=2vF*y(*C(gUdEcRKP|;>PPv-GVqa*W_Cbk{BZ+=#ZDQLdkyDb4*+l5be zt*|uA(y*Qx^!du0hm(&?S}|prtDWbHhebg#sxkMy1M1&Q{(W!Gjv3bFnLEO!EO=1b zxxm!yK#Ym}rA~9DltAkP`>lT~pPG1oU+w3w`gVUV#RMKX%@Z%PyzOLv?8S0P+3Mrz z=bg-UzjIak%U`YrzH^@kq_Z3}l73-t}_IlX88omKI^)5`*n$v#@NUiG}!CFwou0}6E3c5gc9 zcc-o9!kt3_ZEx<+WW2Na9aqzvm69de2^!)Vhp#)#DB=vcs$DaG)v`G&yS(4WuzLSk zmErYn^TGNV*<9UXAtzfL%{tRR-?Fy1za%K9ym2vaZo(VprMHeB=~-B#Ch>Mw*r^&G zmdby^Q<#?=)jzrWGm9ci<-f#dwru*r)9=qpJ^X3QJoN?Q2jXKNwtqHNzGc(RXR2x{ zulvbp$z^PQiqdY<@>|szI|Oe0^ICkspzZJB4(6AQ2088@+qOi!?DE)rHPg=j zlkoEs4l7q)S7l+C$Nr%!_#QfA^_r{ZZd%;KS$x}5iXS|S zoRI!dVCjj5619^J=KV%4HX%cip;k*Z5oA=~JQ`no0t;%+?Ngs3hFB zZ|RJWx~lqXzu(c)mb%YS^Hw#_W$~*>r73HKHhv6zrg`$|j&t^Vex9}5b=Gmirmv6o zB;K}q!T&+xfYHpXvC(XD9(W{uw-xN`mZzv1TDFoWF}uC1|HnRYmF z;eU4i4d55rE!HO=%f7{M?%<((4W_^rkyVKOlTlc;A-KEWc+DQ8D zx$UZ|XtCE=##uzxqJv}p%WchzUpQxn#0y<}%I4lMopo8VrT>p5?waf3nT1)-sN_65 zxcSDLJLZvpcdfJ6=s#5Yi$Qwj2YZbyz|01{tq@-JBbdr z_4ur3l`RSAw=|hv`oc5Lprm;9LaVt^n;h0k2s{z@I;y{A3ERv1sQ##eK;xNxQx>1J z_baXxUZpR*Bk<7w=bujQ{IkVV@$K_7wG#}#<<**W-;k2cJel8Ev~_;b(N}S&OX6iF zt@{7BpN+HhvSn%O8%Uz{zmF!EaV=$(F|-`A;-3=Tx(7SjMOL{m+pdvabrZUF!bgv+}$Bl=}3VM!q$1 zZ(lGp2*fn?Mn% z7;loxVW&QCldNXux$kjnLe*Js1%`)slq|i{yW~fVq;<|q!&Lznyg2I8)t8FcIo`At zaafyCIWhL!EydX0jq;I9v+WkH)!6#(N#CThkfkXLC%-P;m%#Z!PIKo=m35aRE!S=T zVXZ8zKlI)U}|kHuLP-Qx}RZaSC5txo98X zDHjVx9S6NTeN?r)(obI*KeyL|7@^~ zn11t9LU7T^&j|)8hYvb(F1aY9Q+y^aMc{Z~&h-R!exnLL?u)PHCIxx@X^@>7C3)n4 zBiCtB+nNt<4t`&ztqAp*YLqw*5g*f5{oV-En03 z@g*Pb#HnfSI`(|EeYTkSi}^~D3KjW@c?Y@LY#vO};a2^Sq-cC9)RZ@0@$%W$bg? z7muAye!Sm0)s#0PmT`99#lC%--p_ZX&i`P2M0QhF#mNSaQ`NgoU*AlgRMn_eGF74Y z=`+tY^FOLfl^*6Y$$r7mq`uw6d_S8vj^+*)M*Kgoacx&Lo{k}Ut# z7i_(BnSFN2@;{8rvZah`A1sUfcEo~BSMYz@29@u{cVB;hS9NycUFkE&Z5S$Y8yd%n$M0ug%$gZd4-QX zW4^+{v&>20#`VEFf1N4;VyW1z|_Ie%rHOF+v7lS_gEWX9do8I%?4LKB? zeZO_T@`($-Vs{9#&a`^_YiH8Qp2y+oQv|vMC-?tgJ0&^KvHV8t-+x~c-ECZB+U*bR z2zYN`qi0y3;v6!k7+@@IF_s(nG!HNHCwD0xso?tCV z|DW-hOF?Es{~Y(V52sIvXRp|j7~tu!_G{>dW4{hv*nNMK?>TjkW%?iPWfyqvQd4Z6 zR&D#ZCd+t6rsf_~t8I-BrXiCtoT{(JTQjjaC76VIJV@z^0eA@PrkTFX-|=4pMVg-cb; zH9Zmn+QWV%s3rva;0b$41e#%-qzx`#Y`BBD|u~A!IS|2n{J|$nbw!3PV5|iuY zrUlLYO3p{8M%Q0gHT?g|`N-`#SIaH$+e)uH+PcRzY%`rTHu7?PK_q40{TedyDE!<1X{S?&`wUCi2fT5nHo-WBnhBlWrP&OU~%Z8B-M)fcT? zUS8)PzGVKlmr4t|0!=oUREu9)>m0Gm=}}NmtjN0+Q%x>*#+h@xEnB%#E%``>)%P#I z429Zv&+%om(S3Zo*fuvoapqdR4-E%pzR%SyvY1nvv1->7x5kQ_hxiS6XaCh}lXs4d zXp|KUVcc<`{^u4Z-r4-WHcVvS<|%zzCCL23?zxSeDS>)(AN{GmzWqm`AyZtzL(9|W z(`sW*X}hGqJa;iw%9^8{#k%-iFo&Ox@#Tp;4IACq#CG`BNO#M7R-IhG`Shas5oHTQ zZs>SeTR8k+k58xew)4WfsCs3N&QwMJMU~s%V^yx;cv58g%ZUQvpP?+NKZQP zMC8P3>)b~++fO7+^b_ZlKbph)S~~J%vGohdqDNCWjaRqY2hTKmJa^;9JAKctw*ITt z^zY$P>v$h{r=W4Y?+*Q}uXQ?;IVK23HQz3HdB7u?I zQ`yClT@%W_3FHQ_Z91xQJ>;gr^=FDq?}UY>Z+UsF?Wq5qML(m$qxam}V;&i|peuUk zB2CBsz^h80Key?0-(PsI^U?A@pI8OW6<#g~whX<0gK=%iwjI5PUk9c)Z@IQ^YE<7{ zDF>^n&8(}IwtjK!U;I~gL-PAgOe=PH1?_m&aK5bfbJ!6rzq5i$Cuhs02vwYOJySA85d{%Z_$=Vkki{sXw*__1q>VwO9&Zy@v z^fQ+(UgI8`YcT(()0{*1A6N%ZNH2=G(ok6PKDp;W&T0KChg2-fCY)~T{B5~K%zgT^ z);nzFSIu4?-uWb8l|G}?y-TtMjk4lZ4O7h*o$Bd0`Of5VXR$&?P=X!f0UhVV-}mg0 zD8K%)nf0%v%Ka=hrB@}H&q5cTD)uw;%xu>3FGv2$n5A*0@W11Ele2sKyoGYd zj!8*fbcyyhl*{~lL~GHSMG`lBkDh(BhD-cSP`_M4X_?dX_K2Hte-oBk+^bX!6!tkQ zDW;jbIOtx*7Rx1D9@eP**L_{B`sLC_?wzrRmz-MO-ge#ejNUf|^$eBS)8+?%FHR9x zwJa_6=T(`(FlkTpgCimz#Ge*8W!-vvPS=imQQs4V+?%|Ci4N1N|C#={ZM1J)&7wxh?!4MlZ{fgSRt<%2E+^GET$SrEv z(^q*}8~TrIpRw0$dZmz+eXo15=4&N^d@jiby}4@l0!7w-otC{+W&y6fQsO*+Ot{t~nQBsj8Jg`Cdt@w#2K zPV#?S_wxNNAE!)X{8$>i&GgSxn;+X3oy|X*TD0HfwdaOw<|YxT*C#wXz5bZVu4kH2 z&(9ob$~oc`a_s8_h5DJ^XD;nD)iBpMzsUJ~&fPz=?tWH}TVZpsf7C3~`Fw*~WmUp(`(_lF$D_P<=K;u8BlSlEeOo1)m5>iY8Y7ssg%laHyt%1>6`ufH`>d)KwsPx+EjdiUmY?a_~CrUmU_i&YJ|@>!$5xBrpXU*;<-rp$`@W5vAaM7P?_PqQi& z&${^hE$VEF<6Qh(;mciHbbA?7XB zJI+p9skGC4%EYauZ4b4#1exDna^!&cH}z@9GM4zoEq`LFuHnHdv;FlNrgmkz%$Tt8K9vfl&dj!SBDThuS8-)cC!%H{i#CtJgkTdoO4GFv#Qd~j#- z`NnI{_^f-~q3l!P1#BB?WEYhQ#cYgcHhB7{FYc)Pk5iem^mZ99L&v00CFXO|hcdu{!I+Qq(uS((Mw0nK&XHRD9ZfCrm zx_19{h3#K+gD1yD8P+_P{QJ8ne{Zxx{N^YiyxbJGA?i1 zBRt1Na?ZX9ZzJ^+_ic=S^&vcF(nIBjDf6e6yG}SbIoxgQ>BlRt?47Y^|K{JTjaE-{ zPYADAeA9XU&g=!rGAFZdTJ5cP5N=U1udB4SEVPI-?c@c!-tc*R=cb)z-grTl;)miB?U!|Lg z>a>18`b*ANeK*7Yq}QMH_&$iHy=N}q-&6CB=ZMLlR)v+?1Z@j6NElusr*`I4NjTtxs*BPsAWR}fQ zU}tM({ndVPx5*A+7UrFvzjJ1suke^CH^F$~ef~oJ0~K=<70f#4vwymNK>Pc`oeh6# zFYaMqDpAv3WLMA8@%0DCx5K|Kf2e+89y#Bf)3=hh{k!E1E%QG9sF{2jpZ}s%h*wT zx;>fT-KAyBzISVhtjZ77PqS71gO_ym={$L#a#eIsP|@1}_L@kR$dBc$cUb00 zKJ9+JPC>HaOyq)eRudsptK9GF&YpUp_0as%ERQR5x5{{=hRrrfVTkUQ=&F3MV9)Ib z`##S){ix)V@P$^DsLwxttPuV6qx$eHp1P)Irfa;;K3{O@t+Z6m_R`wPPp3*eE<9zr z_XQ8<2Dzr0+VZOto?YFw)@7dR&S>jdn@&6~^^h~Vy4vvKo8k!z{bhcBS&@I)JNM`O zEfMzuWm0COY&$q*jf>ZRzm8R`Umb0KHLXdSXnInsM9afD_Kn-yr3PAm9K|Z;tvM;S z`R-lOHNp>r^_Y)`_*#m*d^I)WO1i`H1^eV~-@2ZBSFRvyO~f3x$GMlb_?;{-$m&@+ z^<%&bHulS=>$@EJWc2Iy`Q2u1Wo}5!*b|aD`Au3!{HwlS6YRp(obn7GuVD^b&*R(? z-lu19!P$SW#e#2vjG5L;3)-iystZayqh~qo!wZuadEGBg#`Fa!-LNg5q@}8N&u~g? zNuSX7)NaM1eM=5a{b6{obIaoVjfuuz3NA0mofoV8)^*RGPvxcy-g&z`J#_re#uK?# zcBz|}iRYd&F0l7_SK7%OyrF*ko<&iv(*-T0B>LXuA6`4_-u+EkylEdAcyxk)m&@mE zUnDi_%JKG|#hWy*xfhrJ{ibW4eeI&Ppww4meI4zxW`2bYD-33QZ~R?jA#gCSa?dA@ z$(s(uuQ{5#(^X}WZsy~)+Esgu)dYOL#ur2{Xn%LhIK>Amvh*MCf6y>5}a>+}?p8vRG*{(oM^ zF7mV9`G5IE(Hj{?56>H!E`Jz(L}G;r^Ydj~n&+h$W~u!S_7=(6P@PbJQTay5?DiKP zn+0BeS!5iy^Neh&`~OeZ#3I5b-Pg%X@R9v3GttnTQWLLKErM(K7d2c1V_Tj|ZMZXVNZCWGY$9u|J z<8?{cq~xGUr;O(NUXEp4?J&ROtG24=Bi3~1pNS08nP(5)uYAtEB_hW9?VXU0uxdgk%5!tDxYbE=Yor_@39mIa|FOnVkRvG7>DgD3Uh z>II@&C&S$)e2`sGHRtgETOMB~f2ozVN!HA~;_%9U<&=e?xmvcF?t1sNnVcL}zCSD* zbg=PZ_JxeUCxq>Lm<~@-T^1F%LoRqr#I>1AmR2214T;uHunGMcedBFMR`1GVK3k84 z82fr$Wc#YE-g}Gx+KvBCDwCzVBsa02$w*;4+%t(?(8KH9ob*O}@gI{fN&n~-(k$D2 zH9Ox^eDhPzy)$*M>TNB|%(C}?>>V^oNAW!6VFY|aWZM#_(5H_i}##ei9-V?Kk*cfX!$?MCHzxSL$;M;j}uP=QMd-wv5qI>7X&b{>erl`dFaPe@z)l-wq*PU?L?YpAPTG9C0 zUH28<%6q2$Six6cA(VaOPIFmTrf;jxdfwMgGi#XNOU?Rirm!yNf_}E?mC5T`^SyNQ zH0NJ8oPXmI|F)&8-?A8ed|LRm?V9d2&80tYRXESOnAT^0->#&fDp)z_Ou(J2sOcs< zx||pPjGQu=|0PGnn}1wg@1%@=o-4T6&iUQ)h@JB+*PWGzbvvhD;0nH@rlucttvNI_ z%>K;fj^-sXN`4R3t}8j%=Uw^m`{?!)T@SgO7nc9!o0hWwj@Wz|R+qnX9TU6F=Y|Rh zHe8wX;(Cz;|F#`pw#wb^@K|78J2jbutM6_6?&)49S5==?$&&n9c6LhSlvPF#%(I#= z9JuFjti0XuVB67vv=tY^YNd8>stvHXc(3cb`=TW?{EseP^X6>HTN%>Fp@@&v*3IVthVvxSyBxF}Bb zSbUGcX9}N6vCWL){`60WZ(K0Hwb?m8SC9YO_J*RQC4yIS9R4ohi1(draOqN}D>HAI z!RnbBbMpE3MJPPzXk8|pB=Gn<)5Fbge{-#v@I=Io`JBGt&+gULSHve=s&%{`^!+Z+ z$&Bn2^G%C9P4kyWu3ECg^wMRo&Zk|XPBmwa+H)9W7VHU5tM}Y5r@N*pnrDA8Z*9o; z&3R0%+lN`_}uWWka*^nEp_)j;ws|j$S^(LZ&RXtYR$_@->*$!)F?Cm#ab;d zp_}$C;#-wR`~R_pHkDVSM~% z>wSOsge9)tv1*Rk3gPCjD`m9;XNg2z@tyzlmzUB*jfw2--e26}T=gdxX4n?`&5d$f zAiP<4bM}XPGyD3wt`mQ*81<~4p6&UR_p6ro-^tZ7M^2yRUaO;hB#lFJL({TP*{eRK zPyJBbF#GA_#l0~#oEt)`1Q%;g+<2~p$N1;_g<baPwCt>F5`xg9KcXQ5n6?RR0c;}>p5{tbj*SD4PSBIS1wcdg^{ME_*8{{86 za=0`@G^6NB!`!RdQ@kplzp*>^YOA}p@dojiui}gE-0jt8xq5BQlXhLM39Aw+Id!Hz zEPo&y@@CP4}*f``&6)QJ7pB zxAAHAPd&SpQ!^v;9Ys%8*`HOmJ1%debbH$7OhLJ<=-al(gLZ1$sotEIutlgRtT9n! zm!z)Yk*PgRPhTZ@Phxzkab~^C_8kk`z0#L#@m|bVYFf6zT~(z2tTo;=9IN*`v zv0wX6eEhQ__wJS@M&;_O)>hm6j6T0&s{82-%c!z$mhmcQu1kdp%pOM5Uhd&3|rG-SxRwq1}|j zv~0EV74B1Oc71k>;u1fxM1^NBzslO%k=oYT8;#R%XK~B%t7Trc;IZ2Lzg0JCTW|a_ ziM%t}Yc}5yHG5KGxt=xWncWMX9?Rm;fU^t24I+Yyb=~$ov)R15^zwEwrwMC)6yA2- zinOi_cu~G=YuYy6^=r*KHOif$+E;{MlZwAQ?UHERkIpo)a~!$(D_GvW@)CI6JpHeB z>GAp!$K})AAGclgEn?0&Sg^w?a*3_!?TE92{DQnDE!R7B_xr`n4SIMi>EQil&Z&*- zCmjDE_sG!Gn?Wz~S$Ee%Z$ZD+C#S8syPNZ6jF#ZKc~^`R<=nkaST^r(n3vyCe^RPN zv|N3`@gw)-Uw%u<);qnGdC|L>i=Qo@viC5tO9rO;PoJ=9 z$u6yv{&|W|r#<^1TsrCAg){%s8CJh6TGGNFbcy%Q;hwzoubGzVSxs7#dR?dN&%ZG( zbwQu4#DuDlLkAD!@W)iTPg8vNe1)8o=%pQ(Z`_!?00{$Kd#&{Uhhr@bG~ z{=c3xe$~tPR}TdxYYZ(P1hyqES@yAX!N-M{SG;?5SvvlU!@m0B9V!==tNfoldDfI~ zcR!eMu6$?yf?p;{_{#Z9DSvY2J<@-}xJX1sGWlMm-l7ZV5@(u-SMfi%)OC2US}y0+7HjkxYM4%QcSoOW^{^`qinRy|nxC-SN}AF5=F^q8r!r@r za%8RV+btq^^-TEXq`0%!FJCQ5oMWb&ySn6kuh)yTBRgVQb$brGFtha5_jW(4NppT1 z!E@+V(X9nxf%6Y9xX>OP^ShR1nv0X3lTJkIg*nGIm440341OeDo@;w|_SFhiZN-X{ zqN|?Fs{A#*vCgz);lrP<-C9>SY+JtISIaNWgDXoF^?w<@n)=Q;W68P8Kfb(v(|%5^ z;apODj+tYQ*l%UyG^v^l;ra_jJIw3l90als*YK#kIG&#)x7-@h~D<$G)G-=3Y}e(%k_vu|pG zjW{1!KHqpRRn4nwc4XdOn+LJJ1?Ly|ye-)AE28gc4nrG2Em*riYGO1gf* zVPngJp2QhRFPFK-Rd+Fdv^@}OJnLL@)M?d}zK_lyZ|UZF%?duZbn-2!^2v)XIU9Z4 z*&%TCtJKX)hd8EYL}Yo_Xy2M(n!Dv^S@9%K&5JLOzfEqe)#%prv0S)xMY;1#z8m$| zRCq1LnDjihnM)|WyukHHSLv?ve`~#Y^VYctN3VXp)yQyr^UB6GzEPXhqR(1Qj}CL_ zUa$3Fb)>M#jAv-VF7gS%yv5j%gi#e5z&sUWdJ} zmoga%?@@fSE8yJHP8RQFnvF(HQjOmX-fj`$pYPgv(c^UiuT@Iw*`=ZDxVB&2n3y0i zzn70&@;&2PJ)@YA6(6(GPdW!_eawF1bbZpLg1()WLQc15OKTM6PoH`{hxcV;xw0C z{GJNK+m>4mZhX#YzBrFx&S2laFA1CeS`^Ppw14>jZOGFtspaNDd;h$++CP8)&xv}n zI-iUG^fSH5;#IXe>s{~6Z|hnlY9BLw)w=bQPWr1qaro>uQR&%;MIVl@R#F$wpRrz}T&=&J%hzr`gWr7n<88H{4&2|+ z9WHqxVEMP{H3kOSlg0IIH+)biJhi`}>9{?U%#Y36Z*Dl(AQ-6sWB%ia%0Il~rG9&p z)gop+8A_b|^V#^M`mpxp6ZeIDSdmDJdGR3(KycJ~@i8FjB{^al67FC3Gt!(Kd!Pu$PBt8M1H>}P)BYwtCi8=E{XUYb&^ z#Zh3n)<3S~nAy7>F=9FGy|s zx}a$xXVcT>+lx6@$V%Mo-}j{AsYzR!+4HB#%#IZeuXqq5AF2D}_h-g{FGUCc|28?d5z=W}w*t%wt|)fClx*4?hTDVcq`d0WzvjWx{dw=Qnm!KSu2%^>#Y z`}n>8pS}BWeg6)<^AGIf=l_5A?Ckq>KhK;0Isf{4di|sSe}4XY<%lZ8K_0uOW@{BAG{aRo5_3Zn&eJlU{TmAZVwio+L z$D?ys%Z9Azle>Gq%wC0e#hYm+2d-EeEqiva!bL&w`q$Ff`H!u9O}x_#a}<|N^uNEo zyh--IUZmUJgHJU!S1&yL<#|Mj-rtYGCqB(TTNiwf^CI`=xl_*FRz4xb)VzUbW0vcu zHy>o*PvyJjU)(%t=4wvO69M)oS8qs+yc>4ria}-Tz}x=r5KIZR~~pC{KVGdD3Ek}YM)}dyYi#6JJu_fUy*RQz%~DKTiIkiiHKip zLOUBe{JZ7k`@}xfwR&)Tu4j9zP^=qylp7B+Y{LL+^SyJnQ>%VP1V_ zos6`XL5#_&XQB@(Oc?@gr}6By*A5!( zusA8(&bPJjg@e~Bty32`Z@H~ny5J(y;;yP|MaCbyzX`D&`#-U}t4V12jun+zmih-Q zviRcFicd|}@SmmjWAdp(KN8>MbOvj`O;D`jl$fjEe(KBJIg&OHTzKn37APtoPsh1S`nUnNf_yCm;ztXcgqY+ZTDpUOst z8&6&z`BWJ2IC|#hRj1wwGq@Z$_+N`TXQe?(-W`izrWG?+U+;0A*Ceytg*Tw>TCRsg z&)n%R-ro58`A`ghRl?CDOc9gx7coR9yBm_1 z&kW{sd%0eG<23kDm^|;EyMd^)`mW}XUTbEzPaDp${C$@5Y_4)uJ^Q1bnPvu`oHz16 z_Vdz~)DHQXETi-Jwxd?rgFPA%Ur+PDzZVo}s=6tyRZn$kM8n&T^uK9;)`xCjz8ZE` zetqBeOG#2@=T}RKNpz@`eY4+xXnBghXYwM|53X#=8_eo2S?c#)yskRq%s(bo?*;n% zPl^Y4yO{n|ef(+CKCOb_jf+0qR}2bTv0PFy_@s*E*Zx_CUdz^h^bfDX!(S_79EFZ@hJ^=w^ksU@7?Rc9w)3n$*XG*zb9enuE%T9+YcPAd=TP3g+V0Z_ zgBMiOci%!_T`>x)Gx2;EJyBMhdii()TQP$`e7~9V?G4xR}r{4l|p@(|&9;wcm z5F2)3jVg2GmOcKnU;SG+n`8EGCf{idr*AlZy}^Lup?l} zqiLVA)=d3UGgYXZ;oRY5`C7m8woF@JFLVi>^!1{li;H)Z%=+^a*(-1CJD0fP+`7dP zF}Zhgj0JaYOTXHa%^Q?lyNK(2)>E?;E_@=<+6%V|P3tQD8Kc#}C;P!ia!uy?$R#^9 zI;VR)YTsg_J7sRIU6qbP!S13O=hN@l{Jb`Z{O`Dtm3QI5k8^r0Cznj|ul~@z@ARzM zADftwGMs(ps>gV&RcEy9 zY~Ruv^4T|fV&$a8Cl{`m{qB>q?feP6-kc@8LTK`p(%g!y6S5KK9%)URjYEzdKqN7)QGOy|gZVYGF;?DcgIYe>QT}-+E-? z>wEb~Uf--|4wtnKulZvS#hs2g>Sx7a9cXzKN1Px{MYt<)&1Ry zAEz9fHGjYN6NhtAn^_io&hg;RZnSwF$$!jgvGJRnkP}O_+_df;-D-B&oPFx;h&x&e zXU|2IpIo1ydg{B5&7`i&N2P>baLrZ=;O&sjZY=EBt9szkrdK&d6SJ9omQMbSbQjV-mJdm>h5 z*v?T9Zsy|@D(IcAwUgb9C(8MQ<;hEZld>!}_I$eCzge!mv%N6wq~P0?O1ExtP7Gx_9q?si z^MR@9iCzyk$8I(g`cia!qu1(vD|0>M1STa0y|rH?GkMlb9_yLsF226RfA&g-kl)G) zrn}zxs4OtQ@ceQ@lK%mbDYEw#Oj2Y{NbB;6>-g#_?sK(MV(U`V>#8=7PjMC6th~2O zP`q-hX?|9c#Mk6K%eqfwERlQivt6lT`t$t$B&Ec=Q{83U+rI|dB^>jPeeLQd^=gZ) z(~3F1=e^GEnk02q$7f<;RyLdMGWo?j|9@#_)6AOWp#Mm6*|TG_Uh2!f+Ron0ckf&7 z`_^Zl()Rd$_@Enbw_mhn$Ap!FiT{maTlVZ*IO$f>_pQ-W*RP+om;0%fhi`ta$lV~_ z48_PTjV94NJ6;LARCZ?&+`V5re_zZ|4}Cr<)w1MQrOcszGw1UBx14q)BWvx+35DBYm?6M{5Q2X-Dp^H zW~)PzE^|a+#U`y)JFMGhnq_M+Do*&lJmXoO%FAP!`xdJ&WUBeKuUsX9{nN_TJ!dvc znw*}-JXzf4Xm8RJzP&L>oSpc ze8}?`Mo3M#dS=x53+b?^suAJ+quOdFl_Qb;l zb4r%pzR2wm&02o$-ma2wkLGbbi>TXkBR5YvYfDZ2?a%yiM&W zj$r4U#CW93TtaV#y|uJ#eT{{n^F! z(lM(3QPOa!=vhej*RsdQ_imTH8G1RE{YNuzcZKxve1q#EK9k-&F;eiJ!SE@*z^9bE zPd7a7SxWrV`E%B?7l+-M7Z6>f{QfFq%I7s#791(8@-uv4W-^I$$=S=FFRjvf>pXpC zN?0M^lm*hOEnaT+UEo))?rxCHPa%) zd*za2$8O|$t8CfheE$V=S=EBZV}8ebioOI+pWCZ8E2pIU=XsMu%X;fN-aT}gKK*-H zd7s{PU?@E zkVh*1KdP6hN57R+yU)nbf2&K_XZ=lEk6gY7imvyKouZ=n#D1vW%H8?Lq;$=P7;PE# zin3*06^&)QH_x3|m%qLw!CN)v%;%Z@%=OET z=1RGhv(J4xJyeSCR%5Cg$D;*Ng?}I1zV=Ke)h*$nTF%;&hYDiM!ad5A`^xBQl}m}Q<~4j0y1 z1pJ)+-Q+d9x*y9V&7!W!+Ns|z1S4DERfu5Rs*1dgXbtmrDf-Om{@`*Rpr+(Y5_El5$)m;VYW^cM! z<(am1qLG=~3%j+VUYixYm#phO_Bj9X$J^J}?-KEw#alSJyk(A`bW8law+{lUCW*Y< zyT)U4lHWD~nT)D#&RzPq4=xIRQF-Hl#QS-Y+f3H$mo?Tb$hd7KxBn&2;`IJ}+k1C* zet-1v?b&W|eY5iQ_xH#vx#uqZnRBGJqSW-w^5c(#=O*^N4|v(*_dBThOWC(?>jUO7 zU6WduDt|rFT=LSwl$b4&Z}FC^yjDz2CtcDVRr4>tgDv!aq*G{2IZvWd3a4+Q)k8#(nHt|EgZMTwGeI z;2oBJ<`(y>S6UB)6Rtkp$1}C-gf;`)($x%?l^=hx^Laa^qSWK*s>eNQOH0I+rz*VO zmB#t;PAk*;ZEcF{=g6(fyA^t9(yQ8!e}4%rsooqV^fuSs(mj{`YLC)ChPO8&*KXLl zAWmC1pXv0JT9+T%&r%hazI>+|^yfi>tL;Y(=8M-q=X@&sYSw$;(q$0|1^t}6k{&6g zEnCV9LiTo~p8DKx(Jy*)*Xab$$Nv25weBA4R;r!ICTs1zU1VF_x|z{dQ(hPGESQEMT>E*v8wITV(J)sX>>rB5~Ihocu*-QLN z=&h#(;T>k#cj4#WsSC{8J(s=oI&%Nr- zp6eGY?z|6VlX_C>_uR{L*}BUShy3U2wWpZmpEAl5{4cfl=81q`uJgqb4xu)mP)9)~5VsnD<}I>d)_K ztB%y~ond%qc6rP0$bFj%FZs{Sx87Y6eqC$YJ@Z4sZvvGp=e+W(iP7#lqh`5ov)DBo zpDpU=<|W2X?=SRUuKS?fIIP@z$5p`sqixo#Td&O2x0#?a@6KLjdrm=z**n~pa3<+$ zPdYjCa@FbBIo7ZBc6b%Pit*Uw;S*P|(mhk>K#9)5En=OX@51lvy}fYv;s)WcmAhsM z6_m|s*Y0KgvE;gEz2_Mx7O+@g`SIgqNTrIQ@njo;STHcViTnh#XQlb*&-T)vX#ykmp)iue^jyjNw~Ic%D|MEJ$K_>M&m-))uOm^WY7oM&wPFqQG+ ze*-Vi6FFUio&rY%UUFpiH654O$b4A8fQ|F2pVk6XJ&t#~+Gfi%H#oj*$unW(-kXyB z_gCwi$2V>jUEID_SB>3ut!BDc;PY7pp)=NgN!X_6cev;_^NNBJN$rqQ&xCWo#jR4z zCK%Le2gP5j{Uzz)>g1+$V#>4YR|J=Cw5#Ql?7zeq`*~;P^yLLFoR_ekek;i&mFFmx z=&s)K_~S|aYaH)?b2vmOo|JeU!Sbdeerwn%j}ms}Dk-B0rk57}FjySoe6)tI+2`(Q zvrU=Dl+Vw%?fIDWd7DS)ogZF{PuI(|+R4wjH~(M5ug|YH@2UI$vp3lNeC-d0dzN<} zKdgCg8@rR=VsWPJmJO9<)9mu3raxQuqH^O?pMPmq=7q6Y0k`@s*)Mdsi*tR-x@S3K zr^%e{Li@h6-D9z@EG+!R8}+9^W8e0gC!O`PJ!BI7Cwa}@?O!#&|G^ENcbV#{H}@ZV zvNG;+$#3;K2DyWUJQ8vfKNrsPP^_Sej3lYjaG*@UwU=?)0d^ncV4)@Uv^Pv7Vl=4=|^>3S3g~sJa3=CH?I``hW(;% zV;|49{ass=d`{*|#dZIiMz(KX-d?n?#U;ZkCb+w9&FuQ6%=Ud>?9a@0z3|WE`K+Ql zng7@v>*SwSw%FXN4_Wuj@|%0=>qq&gr)~R|z2Z;ZYe$X86-w(LK9*1nn8vsGw!t&$ z*34DXXXhMAkhr#0EZKHr^+l2Pi3*F(AAOi|>Fxh*h1c2Tj%=Uh7&qxySI@JEFAimw z9nAJBXvZB`)oty$UH6IYudvBHpPTr^{!ZHYF#8ds*vE58bDVb1K3?s;w$^5raAMuN z@Uk?KnXgmUR6c#x*~-%6a{u;?jma;}cKh zlR8zdc}B|d>&yP0|Nh>(?#ThpHdf}j$s(?%>3VOz+`s+#+R^jAyE6aI(EU+)vCs6| zuE;<}?WE6>?2mZ|zA-qs{p5#?m;b}AUv?2OJQ;K7!LqYn$qTGyB42Q>^R3+FFBEnm zzkG(+yhXtuOcLD!ljiK(#-^!Xv}g0&L-_#{EW?c2e(NH5=&@7860 ziVB|4TF@{hxSR&y!N+HM#X%`X`bA`L#t10+Oo;S`0%NQ-u)&w z3a0Of+;E{~VHele89V)T1B;~1FD_g=QSOTH<)Y&9nFjWs-|sKG*yTP~RP5)+YaEs> zmYaN}j15~;YvX4&?wNS~0q;x2h3P8!Z~sbcS-s)x&&iD&Rxb#>lIyT~)6SC${`Z#Y zvwU;-F_VKa+~RqB8js5h?IlinDL!}ZO_{ZKq3J!d8+w;}cyF6Hr)^#IWv*=hT{Tvr zM84;l>vnQAwXs!I#M{g4{dnmX=R5J#Sf|rFI(iNL1b*x;-2V8nne?6_%}FT-w#j=g z*0u{*a?|!adb^y<)nc<<`tfv$2{*eY^@uUu-=8x3(xVjLmZ)dj_4Xt_uzT6(>9lB) zp>txSYG_z_Y)G2w#d{0y=`GAZ|1o9lQo(;EwvAtJ${gAg?J622=CofyOE>RBPaQ0Qa%E(1nqb77W113yt2 zwV#XTb?n&Xa5$#ptN9* zC5I*D4c(4S+`D4$&W}m?4|4nFtn)p3q4AStgNwlwi3_D6C)#9ITZp-wQ#*C_fF%EE ziNFU8}oV$E^?#D}srH&v;P<*t7F`n0sSz1ejkjZ5hN z^*7;b_Fd@WoSJ!`Rk&%^``)t3=$~zm)=mmYyt!sUTuIC1({=KOA7kEa?rE%9pSLY+ zS&!(qe%Hng-VL=ogH=4@SLmcT_q6|;DO{!~ESYF>_CmBse&x&P=0}A^$#n^9Sa)&n z4Tux|urOV=|I6h}EuKRroYwr3oA0_E33=DGWm`v+akIWKDY^6BAo>Kal7{KVFp(pcHj8(=mAju4 zvVPtWv@!YZ9N9IpQ$nwWJy&O2x|i2*^SVw?|6i-J@?w@7uUi!T=E1Cef;`%0rxjR? z6SniDY`k;4pw{svEB9O1=!;)VzY21{=?Pvt?dh_ozN%jq&U5h7T`Lka$#)Llx#v!0 zyyrH08H*dPac$l5Ifr+)5$C^KSDrVVcBzWv^jDTVAr`VZfa6!B?Y}mTW0u$V{P5M@ zR(Je(jNyfe3+99@`0o0CWz*K36^XBkrariQJaNz5RkGI%BV&xXW;FyaOm%hCc$@xY z?~4U1;xCxV_6PPqIk=50D<*4F{Mc)k+cfs;)(oj=9cT8u(Rb zqnc03M$LI08+Qt;2ud4fUNIJY5;0jb^6bUUIwcZaq^>)hLUJwfdA=FZn)(iA<}K5@;&2s5vzGCS38+!M?c?rdtzWvwx*`jP9WPH=dceLHM!b!L(GdgkMz7mD)YwpOt& zS``yerJGl?BRui_(a#fk4)5iOiP-D&SMK+~fHcm_VihbEG@0j|k_YAA|T|XB2 z-?cN(1r;8XNwR(efn5Nr_3)i*IYBO>?m`8z&8oI;QN?0LfZN&fM;Up5|35&H6J zuJBrKQQkN)XOH;8ud$oABvdLmDWADobTqazW~SA{MLyrJr5a6hc`PBy?dh;Fn%_q2w)auxdKHM-##`9BRdz1q=oi6(< z+pc73za~EB*kYG_OL3m(X+k@~`!gQRmG|3P;q~ouv{UV!ZLUe0@~_l1_i^d&pKPnO z`ElAaoABGOgzMK|tm$}Ouuk&s9m8e&8`rXJ;9PlkN8Q8s70S0wZ*|o0S2uq;{rmdS z-Rl>B^V^*i$Gcw8xBc3l)Hh!WIW6z-@ZD1GuAlYz-w9juM}eRzVepm_Eq%iTt@JgE(LrOG6n_I*BmKcV+;=S2zC%@4wh=KaVH2`X7_8@tX`GwGCz5>O-U1l>t3cUGJGM^xbXkH&e{7-?(Y?4oV8nBb-LwmmOhIPP1Xjs zi2NsMY{zmdo7ryL>{EYx^VOiYKDxV$r>5_38vS-@PlB$GKa-jEJvL7j3zI z_mJ$`txd+y0v*~Sch7DpJNIYRy-A&0cd}gjd|<(?&0m~SUpHxPT#z=sOl)UH5eOtDaZ+5n>`SocxPT!c6!7%5c(pj}VDOM>VSzLO7|oP^IV5 zmTo&g=5t{e7j`i!e_8a5IoRA?>gUF(wXbBjww=xpvR|;udBwMAi!IM~e%SWhd+O(! z#FW$$2FFAW?SQo|y}#HEwab~q{;7DWE?#>twR+p*JnL_-dl%Z7R==8?{p*u7_r84& zE1oP~ZnLRqYm|!W(!2$kZ`>I2e^y+6Eaq)u`+Rat#ruboyS{`RIdRUVPJDWbS94U! zJ`t8RcO?2}>6`E1sk z3ImbyOF-`8_(30VxPaKYp8@=$@S*@lar-Zz__M(>BgHrpVG~hIr%0n zdhVIkU0?MqqW+}+;gxFj(^~lV+GvWdvakGG9avm?^PKPj_noW;FUu}p?yqb*Qc~BO zuThY=to&9?>12DZ88>sT8qUk#nE&JMxuAt-$~h*kUdnMHb|2e)W3}Y?z_LcO>cq81 z`iHNq(PfF(oojZaT;S8bbul5)S5!`3nAmzeY0gozji29?adYyWI(TwJ)*K_n2yM1C zOidEW`I8yk8ovAveW1NpBgv8FrbP_nTz;e7jz2gSnJ2K`(0CKsv*gZ&XX%^^gH8O~ zt7g|WFFpKM;<}mtgu^({d}vN0A6QdmUmtGuf=8`$8BTk%xG#I(e5g2OhivTwi_$QijJ#`~@{inQXV@Ti_&cZY zjH|6X+uyJMeJ<;$^q0I~?n5zKye@2gbwn;y(ct5<$@8@(cW&VdS+Ig-Vz3j}LF=hq zr~f4i%=mVM^Te5HYYYR6l0^JiPwltoSBqBtY@6`?+`a>c92a`TyEg3?>YF{sqR_(9 z;=%ULO9ur1+pa7xOcW~8vGQK9a19f$ncvySD_7>suWtR%n8o<%-ShN+#&d1@*{6mW z&fPongzrHkjYP|@Z~7k!FVG0|)cX0#eXjA%xt)v5pZ?0(x4J=VTQFbY%HK2gum7-o zkSTCmuRkA_UNw3oU+^P)4X05 z7#R6on7caVD{I3>CzH&VAFUdUY64dmObn6Ox@t?(RqfwtH?DbUd6%(~6y6s)@afa}Bk#Wjy=rmSad`4U(CW?SYX zi*3cTciq+5qq#ctHXv~x`JUeBXSld!*`?wCxE0*owr{2$N-gy0V zitL=*=dPbjEx$L*BJPCumY09>Ug^uS@Gn36*80x=&)=5LTd~Gu-Wt0T^OxV6ll<$x z<>K8_{@I#yYX1EDrheJA$}8`S{_Ee%I2Liy)b!H^A*Uk;b65F);(oeem71pCwRnbF zv)S6*mR7UUUZ2ffqPTju{CUeq{nKOTe4os*{A0!W2!Z>`Z{26yO;jkqQ?y7{dPX>V zYV|0(Pkk@G46awW|M>u4f!1M%kh&-PK8r<%6+Sq`{7(6-`U&Oc`-*asio1^H zD!Ugq&8v9&_@Ht-x2^ZQb2Xz8v9zjIPP>)C&<*ZLhIs2URg%l#_n!ib>byEm;9 zP%)XKW*NNG`{-N0&2ehA%!+)uEPC z&@1omx8-D$R=$eKW9E=+!5=&Cm!$9Y-}&UvdGY-H1;%@gPcCKpJyk_t?vPScl51vf zgpt#kp3@GDt79KDv0eW|qoK3&wg4!6Ux~Kcu-FpT``f8@BI; zPlSBtzIUP8(xIQa%qP8FGbPN)F4VzxMZ&L34|TJf-t7wSG?^3{(sVUPq;*rb>*G6B zkG|KryZuc2aH3G!{bgSAEmvRrxdo+$YhRzbqwMaj`{Zn@?I#x@hS;u+f+no5UG(i8 zWPGYJ^0;;DmxRu+TmQ~oke;;6 zMdVwx5To!3PQWTOb+VOl* z-lnW2CFY6JhgCB2_XSmbnz=;o;ME+19}f_2KDRwSThVLCIaGKHuxwD4Z+sFvxrn55u{A%P+2)$h`eodfu^!m)s9da;C}V z-_sVl*d<>QZud=e#+C=K`*w=D zWYd?5$$f{!Y(!@!95<9z*HiU~G=3Y_fBe_yY)who2?la97e1c5d(ft)G~vA3S^?`e z$($YSdkszW;&XYX-Yh;m#e8QPWBI1eGQ+}a)!fe0A9ojM+!x+lG4)*F(YHJf9+9W` z+22iGyKUC`uMXL-9TFSSdDQKSGf3lmmQ1EWlpWOK1 zxCOko0uL}I3He)wmvf4D^8M?Xd%yVS4C%6qI%&p}yAw^PvT$6i6}|cUjl%CcRwave z@o!Q4D`BDf`D|9;-*cfid%7N)IXm+jZ1JyeK6LM-#-Vv#zP({hQ40#LRHa^=qTM*x z!sM&SnaP)@ZoY7(++m~FOso3ot9kz=tb67x-am=q+B+G;drPE}Jw$Vk)Lj*J4#6BR2Qus#$s47N38yU-sSw!6GB+6?LyoJ=1l-?+h-ne>yfC#KE!kdeGegZWPSO^L-^sh_sd?Go_RHI+Lm4W&jl=ZJ+n(#@t@)Z)zl4wH}WcfqW;m-BGw#w=LY#&!2Cu<)i}*^UO+aT&%d6CmtnhIXR{1pL1J> zomwYnp1}Q_N9>k97c9D26r*{H7cSbVxuIQp z!700Um~LzDm=&O4J$=R1AZ=GQZJ#4S(jjWEJ(t{dUGsNoh^SHLy?EtJ?aHm!zE6&J zwTsHjS}473RrrnL0%l)3YJD`BQ$r&{d^-Pj>|XDlRXX(z*Rn5tOw&L1EQ|0Gzv|@P z$$W3s3dfxA${QaAIVNwDc+ynBzWRy9bMyDiQ(ZpjI{&IEjbZD|d!BLcsgYNS`u7WM zZ;su*mbxUuby1jO(Aug6WyQujG;LOzmcOox(R28C;>`(JKE`w3Kd;%fKIjm`h83lY zk9aSW?&ZI5c8Z+0TT=g_&{PkO=&v?Y4IQJ_?g&cXem3EGs$9U-CEWY7yOg-MILaRT z_kyd~)TrBhp7x~may<-q@U+A9 zQvUnpiDCQ0!!~L7o&WGcs9yEHK7-LU5uNqh=4PlYjx2mR?~Nh*zVhS8l>N_6X8*2w z)jqa%?&VL(*R1BQVsTIUVYPLA*0VM*tyO!co-fZ`EAqc3_4S&je#N(U(kuU5G``(C zP?!Kc4>aa`Bd@MW)}CyOCPEUZZ;PbfItBGmRMz<{ta9Tt@wo{ z{G2_{J>qB0wJPd*iI*IV@c`@A3dv)DZCPX7H89=|z*bKU({x5_G){FuAzbwb`;jzjgW z9chU(RlXD&>^*m(?c9^r_6?~@1v<$mO|1XV&ENle(z!yXjP()MPrthtcl-8HF4q0O zF3E0h{w*5N=&}9TUsi7YMZcEE^u1R3HRrME3g=&}{LM?_VvRz@v- zZb{+QvNsp}F6ZQm3KomK0Pe3M2ES2{+`bcx}Uc$xu1Dz<8-5cYmd#*ve{Di zO=|bXJ=4BFT+#80WzN+{b5pdk4Qh8)tWBPOcjoDdCX7WqFRaTFqrw7uw0<>DS@u3O zurDfby0*`7^B2nfnwMKsR>;0-hivJ*?>u78nvH$i zR=!9T=Di$#gW=DH!#3LAQv+O%ZT*?^{hs`yxj)ov)~#FeeD%vb)?Ghx)hA}FtS`S3 z_UH7|cj7X~A1rTSZ-2P|ot%HZaoJqNgugl1Eim6?H_U_^{ zOq}eG!wWfsI`mq?%aisBTBJ0Irafr1-}I<;%uJ{Eq*|7-aK#CM6AeEQ(U_WYIP z=jNF~T7AzA%oJ?hHnQ*8G<#)u*@ky_CjFlCcJi%RVT%mnIP%vYxwepLXY~1)FJ_fr zHcn2d>2i&Yex<%~;>>amcKP=@GnVR#t3;+0*jE0zadPrXT{96TCnc*TD~`;$sy6R= zdDWZ7%|A>SA`|+T1R9ySZJmGeN~@Sm(Tsln{<4opmvQc2rSKy#V10*3R}lN&iG81T z2z6GJx0?Kl>s}dE6vD(?9(~-e^7)-F)!P%rq827xmE{UNInh5dE=vbfYWKic`%KY@=#1-0`So}(hS=)ClD!Q6|}Kv@-m)>6}#n=Gr->qTE}UwvO7Fvhc8E`7D;SL1t=1pGWXK241dt_d(M-n_o=%F}t3 z4BtK5_II_Unx9vhHQ&Ri)}C?toh=WPUn|xWgz3odoO$^89bb=~&y3U-F8@&5xSX%H z@p<@t@rr53j*Df#T<|fh)adbC>3y%Xd@uc;UZ`^*R$QZ{y2-Wa{pnZXOPG|nj|G`% za5}y|X!7w%>x5UOmRf?hDuVqy<$m&w-*%N0nyUmzgppDqkLHtf_d?{r%`?OMX90i1$a6_;9!Edq?vYh~#kOhofi+(z9yyZIx!Wem_tm!b%Q;yp{7*X_ z)Cf0ueCKSI#6_V-FP*&&bxR&jVHU8@Un_C2yL{V@_et}nJc-S{)W0?O!S{78FUzkl zGTZy!y!^4xtGuwiOTGy6cxkQXx7+t2Y?C_UgWcwGn@{Y^INGJ8c}6wQWLA^W-i>}; zI%2Ztb5#0|MIUV!T)ckA1EEB*nk!R|Z<=EgQFL2ozx)hm|AboGi-9el_x-R?a<1H3 z>-p$Jp7(miiSJs3c$%7bw@JnO%2`9{(`Rbu zeqeogf$f>;jf5JFqtD#-?@gO}sODySOE71j+syl%S4!2G_Hr~kpN=33&8Z^IPjAgR!pWiBIYFX- zNwT!Xr(d_+E^f1%rZZ_*%)*JKyjv2UKiN3>vhdz#9yW#tSvcjbE7QK-R(|$>vHrdv zi>CYVJE)m_auaFuWD))FIQh`bY!&uTjdLu5zOkORQ1MIt$aT(V({hf0lAXW0 zmi=0A>D7~`t=Deu%Dpd}C0^eA_2;J~rT#OE4J-K)v{lo;x=4x()Rvf< zxJArms!-c0^+kf=dQzZ8@|E{5j~z9TOlIzhX4~laCbIsZ*HWQ*@dpZGs$^e&JF9EM z!XIh+ve{z(`s)h&-F|KkLEL_?ANptz%CrMB0CBkyCvAnM&*I9WgLyI z8G)Y*xIMNieBscycCt8n<^O{fr<+54KKlQ7^=F;gI~3S6Hn0dg92UvI!0ADvaWTRI4@LnJJ(0 z+H^Tc;`EGN58kxeh`8_3{r%4|E2F}5+cD+|{$C!IFx(1!e~JCYf&jBRUfbuBd5bmv z-h9LKBSO#WjEBiHQDc#O+3qSKPkpAo{0Dcu*Vys|71^c*@NZRrxOQvSjhanj(*MdD zHcGCvS%1CRXN&Iau$#|#{Ud)keYLsz<=zJwtCKn+$DS|0sag6*sgI$pjEp2 z&`*{3jt~EIsz3Xy;quE)#OSb`h+dS&m9B3hO3Np=vL|I-Ha@XL-Q`8dDvQnfKbu7k zugP)TtGDh{G~eXSyLl(Cn(t*k`4xlK-3^bVSDL)JE%<(?CSO6p^S*bRi!*kH1r}`E zeeWh?u&hBs%r?N;bxqpH@=%nCV^aZSHTh zRPPIO>GnU(UXfdz#2&IO4Luw*Z+iQRM8(UTB5Q4K1TF1~ejt=nx_LID~9j?!r zpcnPi=hOZbhOAfKhb;XgFS=v_Gkb=cqt;@f)LV;%Ql(~#*X@qF)9f|n_qE2N=vMVo zen*w({KviWo*jJlB&EuzYQxOO=a2q;@$g5cc7X6P+o@l=i`$B1f)9SY+%QMfz4GV5 z=Edy%=kAL{hy0MbD5BQGp==v#)g7#Jx+|+RY0e9=SCyeW*=C22c;1bW4&&e3<9VEG zWmHVrEL*9SO*vNk_j=ewiEcU}m=#nR-FR0_ZfWy&ySmSx^X)3FTbHV9>|d{+lU%w? z<#m_-PbCB2f6k}xHS1)!b3AL_vqAXy+a-TbGD%8j`)*R+a71Z_u#?f>4O>|@hX3OJ z&ea_#@yvWh=j=1N=|>~Zh?icN?Ri1^yU}TGvnNu5fg(CywvHPW)`vSux-d9C=GnWi zv{i8>OK9uYEuUL54O8AW$hyB}nzAEenrYd?)AjSR6F0GJ5p=EbAJF`pj^<9-#Qd05|_voHD`KaW=@c*p;TnnUG z3vJ@&Wz=*F>6iUzWZ5k;Z<({d+Ya47-hP5p45eD%cAjLo9hg7!@YzF!{F zqRPH#+PfFOefM}ponxyin)~TNii+SR2FYLi@2_wjZ_((hUB8wodaJLc{}Y=Ki?^5U zdRymgH|LeC)RFyX?N<44YxM`CTi-qv&fz2!f z(>YhYvoER9m#Nn|;acV?^K)@!{)y{mjEnyGNKKs4yJTmiS2#bzkz=PgTcaOm@~!D^ zD1Fi8v!;BuOTJ-!+X~)AIhy>I^H>zuE-+Jhck5!7W;)2Ji>>hpU-AaEy z*wnjkUOU0CVxeJPr?SnPcI8FK=X%FT@ipEITGo+Mu=9`lc7tgt?~Z++^ss1#%MPiC zTMZv0RFc=ck2@Io@cyYYvlb?&XFe31O*^CRZ2xrmN8^XLqGilN_0yTITFX4W7c2g~ZD#fE$z>l~gYO2-&v|J0I$?J5 zor^KmlM-K;ioR$S(wX^3%KVFQkMKUThH6gd?P^IAotIAg7_#TEnOzwR=g+Ozxvi!x zx@{Si_{WCdEva_Pta^RBnis$2P6^J*e>P{4-O-12*{SLW`*l8igKRHtpyu}`F^Vm~kDmbsZ zY?bHh*GPzqfCR^w`Mw?qKO&0HY{yy&O^2qX&4EJU?Onz{~r@#N63v=oAJ*}+9 z8y8Of)aBs1H1d=3=GPl%eACS+D6jb(y{dBC#K;GGml^Y($rm$ny#L<&go?-&=FcsB-&Z@zpiS`peFIvWskAYV>~72cA6=ffJRV92Yg)?|(`0soh7G z%{8owvA2IlMc2u{#{diD_S$)poNDhbA@8 z-Mjh%zt`@kf>jfG=DaHlR@W^$lQm<%?N${fcO&Pl1s_DCx%r#EtFW@?DR1gJ;qG$c z%RSe8wykQfq6D`te6?eRw+3(0BAv4-Ya7ygay(=wmvLI_OrLUV*QLbfNfHKU-^rG) za*WK&+^M7+Ud`IkaCzGl0Y!`UvmqCb*m$2gv*LpN`{jFgx?3l{(wl3r$T;JU#>8JU zm8$AyluRlU%7|Q+*MDEdfbC^~x9`i@`I;vkUOjEqy~paO#vS@Bq&swP@LJhD%lvIN zHpVyzVDhli(W?ht=dNwEd$24ctDff!q zYTq6bTvnTTJV$!L-yc&|7R>PwoYkYI!+7<(5vzPZck}TasfDvQM;PvoUCr1QQ^H?j zy0@dvL!%vUYo~^rVZAcOd@ujQ(L`IOYQ$ZW7i2`Cd`+N zrn7Al-ua|9bh6k5{!@?AMTM@PiC`%?*Zq3qeBLA1r!6}D*0XE!qSN`C&Q_`FpUm4| zwXeQ-P2uX*rTed5U2`!ztoGTd7fsATH<~IY8aD*oRc>*0DdX8S>$~Q=LM{ouuJ(tA zO=`{yU76nWOQzM#$jHwmv5oWYxi5knuVfrao%Qv7N8jzkJW@Snvy4uKpT2P6fkW!y zT^o6$j?osxA!E}I20LIe?NStnOFV$yK??}5A>RN-^Jg%yX~As z^0Jw$ZGDo8KZIHIZ=S4WbA&sc$He>IhZO~-Dl_%(#hr5O%+WsJar$Y)$3#2LSDorU zP5bUdUQT;5bz|Mlw6GcP?GDZ9_APoQ9lf>x`;k9aXTLR=#k%C_N8#kkJ9~-`%iQYZ z%%8<)7WKx5wfmmim)Cz)m!Dzsd=pVwnmg;v!ezUeKm5?G-}>?G)kU2*WKQYtxOpRu z$tXr`TKVIu^J%$je?R%)zctQh8?&b4W8>MpdfRQ2^^$K{Y*`|;f&bIah?*l)_D*{g z&|Nb>&{Xr=(&PH_y*X1hhh+2WPJZdWLC}0jHcQ=QA8za0nd|1vnKM;i|LwALi!J?} z=e+l&N1yOqw7uy5uZCG`4#(!pzFD|w>(az&Lhl%jRwi47Y?ZmX(mZuuuT#~|)t?B1AJ@50$0&-U#6-j@EgVAD&66?K(w@4er&fA+b)ywgl=uLPg4 z-HyL}duiJ-!5#f&b7%1}PPrt#_xBsYe%)W?w(h1q{|DB zEVX`~*gJP^w{OymeI0M>*FH?UBAj!4`m`m|tdjPr`d@XJUu81AdU*BYzHdecd)LaE zJ#5fDbhzP6j^J!hZ8hGo9g1cz;GX|C-hB zGL7Wr=88xzSzI`MDUUhVvZK}NbqdC5Z|<3wkg>g9Z;|bYv0pF>+fBBGLy%D`GV$G!WVCc@t4$1J+YYKnw_a>^d;Gl zNI#ufWfj$57Tj@N=6%g={_5pVr`0r=8-6J_5MWTB{jT+Yss4u(V*jl#SX;@|v~NGU zeB+&q5i`D~?mww;z@Y5W@nwJS&Mcdl<~s3Hbk1@8*|*;vU!0yZac|v|pU>m%ypz`+ zw462d`A28%wr@6b?i~4ka_MdLberC^f^ADp4n#Om>>%GgyUrtev|<{K~qjuBXjq%#R;kQBVKM)wT7ZCwo59*DqsSy< z*@>K~ty*$dC9YS+uAG#yx>=9w>&2yOOD^zg2{`XOrYrU!>+#JMQR1O?#(W_Mp0}UV zJ`~_MA^Ur1>&A1J*7|SRWfi~mqtK?$*V=cjl`cy)`4wilr$n&(7^9!>_KV!!{0>i( z+qb=Z5yT}tb+bkS<54SL%U4VteitvSlHvWa#&h@2f2(q~Y>t!sa%ch1E#8C`QuPxT zzBhNAa%0+**i|kL!5R~?(#$63@~Kuyh%dU(bItqM?e?UFZ`3(ggk4GOnB$ebFk{c` z#q1%nv%8P&PQ91WIziyml4<*1satL-mMVU#Cv~@}`%uP@kUjI_#V6IN<_RuZ_F4QD zos@DI1)hq5CE;kdtakuZ|yBl=bwHvl}gmSlaJWsO3y#RU+mN~ zH}uoOFve4-7hDS}ZFkymJInLwjHGVQh9KRk`%Z7GKYZ~RL(VZh(YY7BcTc^=+kACV z?8H1BN!No*Kdmt|dKvJm_vIQx=NUb-m-eOGvM_wiap~Y>EfQaHNv(xJ`fXBGm-zfo zlZ#hfnU{2O`s`cm2617=ZzID}d@GZabaPMibnvU&IEzMK6|1<~p~AJy@`iMP=hulc zjBdOuE*@z0<2dqjZQ8HyMAk-$DX#p!hQAcU12%WRds!B&CKYe^_f@I9-?_+=POHOS zQ;V~>9U@g`uKm@uEMZsrA6>CFF_mosb%$gWwgjyR_Vbc3NLM$A5WC7BSMZa&S^Q7x z!J||E1a(bWe7M=&jiHh`Cr+$ea>kN=mq!O2=4aMz2w0N8S?$l1iQcyD2XI{Noa zJyUtf#MeD~Qum4))pMpdEp~Nnj#$xdH&rgi?(qHepTA}5=RbeX{paYn3pL%Qv9Gr8 zWV+M%q$qC1D$85mw{}V9ms%@n2o&dC$kr?n-ev z;~2xPvc|*2(-#uFPpeX9tbbbC~=jUbZ{V2om(Bg#9W4Vi31x{NxNJxZ;?N6CK zT{>XblV`c92K|M5UQKeaymWEVf@86+tJ2K4P8OebYw9#w_^^WU^X_fQb*p7Lb}PHz zk#l(+S+ay9sL$|tV~$Vh-ouN|W^Z43f5{7;DeXmUO7YoS9xarz?yEU*sbS(D^RKJ> zq>sdU<%gb5mD;Xn?iIc>BYJwu71Juu({EHJ)wCT|edhMsNiF#+@4{oP0e)$1D^lM- z@tAca{I+L{NbL8bJM;HFmpCrywYa2wcj~xxp~^;1|~$pKdBwNzJPH_|tmv^oSn5 zi(kdEnWHbQTpGXi*fjO7)D6BhGBdeubN2Y` zu+ZYYdf!B*(#XjrnJx8QFVjVRo$hp#6;;Kp3tiJru$S~OZ4Ss5erd(G@P^R2)m5gi z<(}mx8%NEV+3GV_;kWjiS-e-)9&WdKwAa#{S#?6iYD@9&zbqA8tMgtgV^Z9mJuTwJ!U9|K797*Y>SC79#oXLD_^|du^7zn`OIAYaQdWZU5d| zXgpSNIoQazF+<|7=bfovY}a07qf@c3d9Dc8 zqy3XBjm!3J;r$}aQT3r((%R2vo=)i-$?3};TuOPsx4O+qCQUlB#QyY(_#^}SsllJQ zx1awyagClwbq1}Ld_3E2a{Z>0W|z{R-*sbi$_o4v+}Ha(@y)6`y?U9N7gryc z>%_X-*Z#%2ntl1%$4&nI-D$1$`t=^q`4fe9J5QXX;H8qPs}=09sP&HKo?8X1%&Wgx z<>+qGRN+YJyulXmoF}H++$Th-mX&u?RPfUnU5S*rYZU}zE(%#Fl~>0)3S7(&JJnn& z+Lgw&_1@`{yaM;W_a zOoBq9yV$%{S4_=kmUwhnpnA%e#Zw3Q6gn)c!fU} zFL&k^+wnm8VuxVOnpteF_O72?Zie!O%}pphs1X($=&UGkX3I*4PZ3VavEkn1KI(Y>j2#5Vctea;p(bC&joT>%qZHo0VH zPvhOPau>rR%d^*;#H?GrqFxC_FALi-`OK?^7(-@tkNS5k(F&C_*0wm#Jn!A?+xC2q z;>)%Mzl+xrMAC$p*3{d0usterTxVJ!%JapvWx_EoW3|$QH_{s?{B=~2czgc&#+ESA zWJZs+AB&#UG@fEgXg$-?GIhfAnL=ON8#@`<<{D0m7BOuNy&*Tz)R;RXJhu8&S{P-fdbhrx$ONJn?fzw2^QG zXGgeB(t`fWEc^V8 z+-+OdH``8AG1|5uH3?lwECxi8?`Uz zKhsq$k=PV+Kgh}FnBmNz!#}nxT60!Y^Y<*X$F2)M+F3vlFV0JsSupMI&e+OzFTQ}c zD{qU)^#jIM7FX)D@=^_YVyd}g_N1;pa`hkM?=>dhy}hn3aINilb#~R7*{^dFqkc@- zu{~XE=DQ7-ax#}}$ea~+&1>bO+h08kO}$(%ilzo<2e*3*UO8oZVRI-~fEdFgCN<0R zb!E=;Hd!hsEkBqQdiDES5w51?rD|~*?2Jb<4ANI0+5VDo^21y6b!YP2-{JaRiC28@ z<&cH%|4v#XGJ`L^@_lRsn??U_hu|lFW_uP`Ptf3!xKpovSJ{mJ*uKe`RdPipbrnzQ z>dRT(j%ELyRpGgE(xK@7>+E?8Ur+Fk-}cL+`%mVRmlhLceJ_e!6+G~1IWyOzC?;09 zob?l0d!}tb!5Yal?e!($}XwUdyGr#?->DTFR?kTF4qUTB-TUUjAe|JEW09YExlXnz z%C}uGFsN)?IDdVg@u%pzWDe=6_g4zd6Dd0A8Fr7+Y2g>61q(!0OxoxB*kRV{*Vi32 zo%(%OJbY%h|K^G?uSL&3Hy2FuT3fU@EReO~;zw4_6xY>LOdd{fyS4X;ZcTc+Ph896 z{4F7SHnJOiP~5ae>`&a=HGfs)|9@f?>naBdHyc~UZ&CaDOHNt-kxohaf;Zmh zU!QqwpK0Z)1<53W@+0VKPcl^#bH zum0FCcyQUqkNP#Ewl-b!v8;m2zT3uj~66LJz%+HO~2QE#4z3oZ$B-BCJsT*y8Tng>N>p2v1{= zaCpO^_HZ*_fB|2^+7|U~Pg=H!%xB|YaCFZt55vMfdv{|^p9M8l#?zE6kH)Us+x2s+ z>erR8=1TA3sd8aCl-9`qq@DBnwqJ2C`f_WuJiq>#t0s5gN%L*RnnsTa1_cK_E@~vW zv*qT@pFVHX%2dOb6L&@}dm&KWRUlG)_x7dSWt^^eq{9-dJ9o_QSu1ocS-VR?anT|6 zEgL;Mn$kCh=IlFdSKFm(|EQtq{J~x8q+@s%it(!GOylV~dZ$}q#-ZO*|MFebR1LS( zPB|kLDRE(=-=tNR>$az_DbDb@?(|~usCJM?63Cadt`B|Dhyz1er!;6r#QH(oB{kaI}7`a`1stz~Ubeq-+59Bv!+ z_5j~YJ~Qtxk^lanJ#k~Uqp8%q69T6TY@#jsG`{})#PaJ!>z-`K_?E(7?MDQJCcpUj zqqy=*;>8~SYzd3KC5b;|-u%d4_(UsW8{d*Hk(Dmm8{`hypPIOHsn;RVWsyv^K5zef zmOXuS!H;8V$|;6_l2Q#J|D7x^*W|QREe(BnVfPvBmsc0fSbFT#tG7HtOYSJ{t18XU zxBISJpc?;jX^nNgyXb*mGbWcESFKqs*LmaLCz(f1_I;{5Hp@Iumf(0>rMFsgirb>g zVuxzjj@u>%lX9|2*6pWn;(2$*w=S{tqBGtCN!UuyToaow}cs#~=t9=%a? z-eKu60l5YHSYxidzN|g@7d7|JZ6lS2Nx6;#Q$F!!WozuytjFUpcv;p z9#13tSNbbn9N^>3o4+%BhRJK;=h7Ejy9#+`9pCu3<&VjciYHd5KZpvkx|#QVu#R9p z@b*C6oP~Gp>d$AJrMThkn?+qrM;9z?|F-pc-HtUG+<(?a%KSO~UG&ev?$o~^N`mrMpJ%;^D`;zoafx zyt8hfKovu3uc6Pir&gC8tsbz?@ozPG6@2O4+PAyeqUUw;bw5_xWhk4&mwa(%-Q%-{ zn-%BJX+FF0TEPur5us`Bd(J%A@b;IsFF)UmQ@gkhCSatZ% z0#|4IExyfQu<((#uzud!(?4&A+vjb*W2P}_q3we6)A+YDKg@ZpFoV%4Ht54oVPnNF z-145>hnK%$YI$sU^^%bbThJ1trY|ikau;sO*nDK)k~>STESut1Ise}Aiaje19@R7S znwr)6BJ;AvhKt=t-Fwa-j<8g&j_P-Go6aiikl$pUnH3-}!CSPfSy)BnoUe)d$B7Za zdha&w%iedhAs|9t`itQ|!`(iUHEb_uygk@CEBv)N`ww-=XTD|k&b-X|`$EI`qgmF8 zmZFO`5z6}glb7vh4vzg7`15M{(yOiCOs7fSTR)RYc+ZNS6)}%D6|y(}Y+4|><0Kc$ zPdgj8P(ibb$mPw~Vq@yrTH4;VUd=LHTA;7+$=~bFCA*o29!i^qU-4pUJbpfQTJXhG zuJT9yjs<5^Om772$eABA^9|D(mbqOM{Vr~J^v2uWF8}(=G<%#9X;N+`{Oudrpx-5NJs7<{^ z?zPh&YmzlGZNe)xI^Hibo3z*B`mY=Mw}pDn96F;jNtD+$#9d#=>cEta&yx+8)t=n? z++b_%YY&dz=gjTP*BR_Pe(@-~b&uWha^8p6-UaWlp0ne4!=f2JDr)O;1g8GxoBDf| zvE?=GPp$kP*QUk0)}QXWrhK?7wRTSa^yN$E*01hvW`KdTt-^Oe~DCaLCj@*ks)joVpOw;8RL4}R#~{cI7FdrD5O*RR^b zvkFn!yY(_X{rdbp4qa{dy2oIue+^g2UZF=1e*e{Qc)novj~2gMqPpLCicYFK+bxMP zVzXvvylTMj%+#&HlI?p?g?C56*+eNn_3!x=YO)U3B6C*FoK>vcS+YDRwJoYMt!?Fs zoX^RnPkGv6cJPQ#UB1Qr*j|CSuMWMT>)gB+9Nc5o=oVnpxzAv_&w+_I|1M~mF!8~! zCjqzja!T?4E}F7rqw_SsbtT1xn>Fkn2pqhA+lQ^k{J`Z)0<*X4TSj|+`ldR$Xmh6M zhA!SU#fKOKld=`-cwLVx9lddI)|-i^ZL=mG{c5K2ic!rY+465(eMF7X!=BGZwnlJ^sI~WkNaU+FtovQX7~&T0a+WH4XT~@|wjsHm#6hx!1B|f9kU= zSflM-WM8go*r}oRWm@z6G&>pgrAux8DXpK7Q`yO?vC6f{`NgY?!F$Rse|B|k+#P8C zv-q9B_8m5jc9s;%GbT{_Tokiys-Kg_?8!7UH2RI zw2oW9Y!5M6@YdnKpWOC>i!qNsN1lD&c}cPVY}Ni(c?=)UPV7_LUUjSa$kg4pyG7sC zNM8Ol@#YgV>06!^h8+)|?g^ONaq#fWS#Q6T9s0fH*IvDsj|8VL^=w?L^d>H1)`V_z zqr)5}la<-|bN}3R*W1UqdBuB0wx^vUDeBMGEtPcN9Fdck;Z%3=XyxWc7sqMuy8cbN zA6de*C}P+856QK0zjDk<&WcaJ9d7d0(`7#2!e2Mv&v%^ueC_|s#xLv{?yucfpm?5* F0RUV|4hR4M literal 119986 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

?a`Mph8U>jb&y)}R+hQe_ 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 diff --git a/examples/SmartSwitch/data/worker-css.js.gz b/examples/SmartSwitch/data/worker-css.js.gz index 0ba451b948d8798fe8b21a6e20d779c64ccdd0fb..658f04aff7224a0bb99abbdd273f99d8ced0b420 100644 GIT binary patch delta 7007 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 NqxW9W{LaM0006=Mj^F?Q delta 9568 zcmbQ=$TWK@Q@wmQ2ZvPE|2QUw^8BLg)FR#F;$pq5VumHs&x?#rKZL$%=2Tx}VV3*g z4<~;vTUv(m@5vI+HcWLXxF+eTR-;l^UUqf;jDUYfmS6oAyEcpKreEJI|1E(@*=kaCPC;XWZ*bYmc9HKeDE4*&!}z z`af}5Ji#)2RjAHZ`7G7VY8O&<7b~!=^v&2XzwpNqyFa;0lV^Quk2>Sg^;gWn zdK^!F?&)Yg(0!1l=Ok;?nflDul1$A=&1*?)_d^*Y^$uHj?K;2row#__sRKsyA3D^} z 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 diff --git a/examples/SmartSwitch/data/worker-html.js.gz b/examples/SmartSwitch/data/worker-html.js.gz index 496312885798882fc08b5cc91d5fbc1d686cf414..1556f5a8dfa9319797730cd5ec88e48ac19f36da 100644 GIT binary patch literal 45019 zcmb2|=HO6W%O20fP@Z3uom!-uQIeaZmsQNLB>H8MvZ+9wX!Q*)WgQuI4X$I>uOF>y z(pvZE*JO#TYtw`eMkJdUC3^mOSF_8s{UlTUq`=kh^S1h>FPbS6ZI(IpiS$(6<+~T( z(74wzXCnK5+d#|3T{eFLPj+fZPEDPr`~H2!*`maSdqS=!?R~O4X0O$TG^1gQ=i#Se-jWcJuUuT%)YO0CZ$c6ocZ+A$BE~^i;Dl+zv5d@ zMv;Nu^6)*=tNkfx)2r=ES%Ru-IG28!c1A^X zS8TCI?1gD_<^;VF$xZlNt+(y$-z{hQ9_)GCl)Jf`+w8vC?8oyspKiIZNFwLQ-xI2r z|B7AzzUk*O!Q9}@$B*08Oh0)3TH~5O9;aSi{i7g#HRGq7`GWA$x#6F#oydOKq{HvK zdS6m*^xaK=9FxT&@7_r(iC(!XLA_{^dS~-0sIzC6Zgce zImr{T`QyFSrk0YPvv+&dE&0UiIPd&s1CBisDhVEX8HWG2K0LH+sYda>N5(bclAB_F z6pED2x4x^dcPo?gbWB^bk)($G{WJM``kE0-nvXN;2fz4w-hBG&neVt&)aSo_-_4?wWk|ugiwtC)2I=RhHd9aeu~~|F`^Pw$Jfdb+%15 z#5&XEZ`LGvtxleQN#5!;-TTUfCPnpMEqai*xK;YDW(b2zbD7f}J$4*hdgS(dr2~?4T9YQ38~^qc(%PqMDQmo|#v*Xv^;vcMC(4{V zJKG~YwoFQ>Y1QgUjXR94%DRV4Y8RMMdG^TKUD~J1!z?c~?Ao+q*}^T(^?_QePKA^^ zbt!VE7*{wrRqlQFSp9MvOa6L(x2qS}x$FuyI?eQ06yqbV{`|${f~1L@6Q*0rNuHHa z-KVoZC-?BN#li*;Vs z4=f5fvHr4V+UY&F@=L$*Z1z0 z_U2tiZA#9*yVv|Y?fs4Y(`)f<&%F#gtG>_7t52I9(idoQmT_^<@;mxzH*%N|Xi(PtHW|HYE!hQ_D1w{~sb^mO6Z+FAE*Obc97c_?P(fk!Ff%r<&L z99K^qsaylsnj|1|IPo3mq!$mV^svR`^Ic|Q3wecJu5Ro@&= z@k&K*lJa(I-jn(5w^t6Q)FUgC>ngcBwumdZCuZpWY+kvA^IAdB&%i%wv#JdXC0xz8 zZ#*y*Ik2Z8_zHg{tMcxfoEui2UfF-?&*{H=9tU^q7WCiZqhk^+JM*iNm5kN)ohlL< zYN;G+&GHU>`P9GYS82H46GiXq_qnR>7@iEh?Jb;9Wn=J@J4>URGobGCr|@lopL8nM4qipusquP>Uo z%1GwInf^x`HZUd1xM&)#*{YMvY~*Ge8vf{8X-sRtk~hgu_ob~{wy$>UwNp1JxV-hcYKMu zwN!Ij(Oci&*HpDGFa23nw)4xQx(PM^Rd4r7OHQkpWF@P7vHZ`scbr=9R+^oCIMs9U zlmk&qy{4S-+aVcfbw`JD`zN0>d}%Gmzgm6L5SJ*mv-18JqjxkXE$GFgL;1V6G#F*~ zc-=g8!uY7M)~sxqpq|y6Qr~>w3}{xH9QJzBo7c-4e?NXaWuk$xRB7psH*r1NpV@bu zbiU8ELT+sXtJ~CTuSB;pYOgNXv_AOkcQv1FGmMQ|*Io~s+vysY9=LR~V8^CKPp5`` zZ-2J>Re{;0=U=bCx%M>l(1qz!1MBvlN;c#4U*>h?ll8Xze+kWpCcO$T6Fm}lZ&|18 zYUvY8!qplhcdz7oV_o+9=KS{hb3af2srq*<=j-Rq?ZJL>>+`SO5WBnPb)>uhG3W%;67_QhMXXE|8!2?afJ0}>5osMpXQowjc@&Ku4TXQ5Z_YS z$&+&J9ar%MAJ8*#*|ng^VA^33OEK=wE#lH)&s$ar&H8)b`x;BFBSOcOxt*S7N*dfg zD{E|B>*;tcQ1Qd%R>e&%F$D|!PDuP)mNxZ^ljy>*MDHWF^9}zeXY`$9Z2IaEyY~~H zq}#DVZ^@1$sx}KR+Ai}xFT7HFNm;9sN<~xj%Gg`o-F=!(7Yx+|B=4Tkl;2VKz&?Oy zkGa;lTdZH|zszPhbi+j7@aSgs=N0Cz%QRlD$a{A`?AQCpi|w|q>aT9x_P622LBXk; zw}no1v1ExoxZyzq}1LQ`Xe) z6P7qmid|C9#hM!yezfTU_w)SK+wW`6TU62!-kSLFp0&ceTc2|eTYEn+UT2UqGyV4G z)GsG3`ZYARpEIm;-PKcaxV`f-<7Mx=y;<(7ekLiI`>GW*|ie~G@97f1PC6l_}QAU>CBn-m>Qc5|7D$GnxE`u@I`6}i8iLk zh4WUV#&DMKgmfHeFc#?7c@+KaS96i*;!FpQA|XlUDBtxPe2?gDQa<$Mf4SvjpNqfO zNA_jU66)DB$LiJkzO9eqU%l)~INIrToA;ZStvt)^DUITL1zuDIZFp{*m9VLUljB00 z@Nuub8tp-1tSf$h=J=v%tE1#pcKykJ`*mAhF|RLg{WG6yL)E0;;%dtO<~RJ$&pgY2 z-}L+6$iDYh%%577(gHKWMY76Vb&Fk8=PX$I<9uY-d7&HyH&NkhpE$40Q!<*){H$>5 z&dF!*oe^HUue$e1$bzR|c-UvwYi)6xet>y-=2uoXHP1sSi8EZ>wg#Q!x_h1P_q=O6 zWV3pdHruaA5v{E|`ONeD`ZHCXrHlS<`nY69X1I^Xnq~ghCZ-!V=c`;d$~-~d;9w*PIcv+qm>xwFxP*ouboW1*5sEfxwgF)dNAdiLgecFsU5qu zi)5x9YtD;UdP!HKprBfCTk9!d<4;PPx0!h9>`gy)#5nlu{QL0j4oa zWjSTV7cJbCeeL_Zs<5)9^WGfRPM+4g+;sJ(pO0cU75o0k)=a#cXR2qx8nT4r_<>39 z?oEqe?9JE}U7m4bWx0rH-RwWJjt4z6JoZ3`xAbqo-7u*yd$ai1KmU8;a+`6{?zaD7 zQa8nNHJ`h63jN={$Myw_iTLeg;Y<2$0>|&kWGyUuq8#wTV@0cV<^1rZXycnq^&)&- z0ZMIu)=3tL-<$YU!*JJGZYe>o_aSQiPYy9p`tr|Jkaebp+%EB`oBfjngQv|py#3z*G~+HjqHs;+0;pQE$8*ur_w7O#K5>7ei7W{1iXZ%h1oZYeu%?dS4; zG1VZ5chSr1yDk}9T`ZVuw=3(MdvaF-%ls<$zL|=NZ9QooGZYOvf*wkIc=M*JHgkz| zg^~B`Y?c@W291X);ZkQZx9xXj$bPKkVi>tf!KV7&CY#uMD<{qEk<)edxwJ+yILl`5 zv_pGdSWezvb>zkA*KhSJdXldS70lB={cCp754}f{*PBxL!-`@y2%LH=+Vy3!48Q*u zk;rYqpPl-DD_wcDTVrA8RI^LdcK^>xH^1lhci+8xyEe5ve=C>zB2sq8&xMvxRP1g} z_;<41=j_94GB3|Qyd^W+)M3rG=-}3UE@4IopCmkzUTu^9>E=x1xadQ7`J0OPjvrAA z-M3{`e0OM>$XnU_iQmqYyx3$~wX&0a(~d8JAH!GI)C`mZseK zuAw`>O-eBAOX7d#^G{{kGj9CeKXrA1(1bOWoVmX={6yPDdyX^RbIb_+bakV_3CD*q z7nDOHZ~nG;Y@WX4L-pmRr=nlxmTgGOmCv8Xon4T6E=s!AJ6NJA`P8=;H|MeCGwkgC zp4)R}=i{mAzX~oW|GiMtmFxRJxG&()GTRMbE1uu@^>*UoinPax_kTW64OjPN=Kub# z_2`R|cQV31wtV^ZQ|ju{>Wi%99){dugPb+oRg9;~wQI-?@X@U~OH-^1eh>x-rSHC3nM zro=i*@Wjtb&G8G%d(d|I1gmX#caiX=^cH3DGe*k)cABnB6^lEdH0hDcWyVMbE7lz+ z;+qY9x2m=Te64BxX(;I6YQd2+x%t4vlNY>y)n87m@^YWV%yVnsvyz(;Hkph3-&88t zN-dbbzH_#Jrm4@y^k)kg^gnJkP5mg5yz$j{vA^x*Vu!=}*3a0J8vXXYnYnX;puVAo zvTKvorTeo(*hTlLF1+(+3H$w-+#mCf&1`%Zma+5RPm>PIMR^geZvqsba@2Zxx=T)x zn9p;epLJnjYyGlU592pi^BzAjBN>*K_`q(8PPP-)`Q& z-a0=oCF*ES=B~b`|B??HzSVEL7%qP`dU4`qGZUTD8S%^vrfy=B?4-;i?07Oy8~xc; zc;n>1=Fbdr-rpEM7hE*ssZwaFx;C-D|J&tS2BD|(l>M|OS-w71W%Ad0isDS`*^cjh z@*n(qTzco!33=8f@#!a4vRl1g`NhFZ=br@EMKam8xsMO$gJ@TzY~1*_`cL&HhDh zoI26YJxX-@Dr+8H|4owLo*5S4p61ToyO@p_rJZ8r` z+y5`h`@VhQcZaXvzQrWJyt?CL;oH^g93p-kvYJ_!s^ocArC^2s&FN(ijd;#{JsLEB z(v7SBn?9*5ovjE^3cYOt?QYKdvibX_FJ5`iZRzWpoF(1TbMEY^lby4tuJ*Mx%kHfi403)9 zetvU5ly#?gB~N{5W?u36>;spr-}e`8+U4`p zvUoP{!)vaG;9;}Gzel|<**0q*{xi`X!9W0iMpS6(-UgH;-Ul78c^zsBp-AWlY zm#eZ}EJI*}Kp96s~gYpILqT+rp~pcV`^3%6K%F&3bjz z@tqrg=6x^Oxq11oV`7W7xovx|KYyOSBVkT=OtE4|aLkq}r`}al-*31zBfZzR%zUSe zS-@?_YfN?1rs^(Nug(thxq7OcXUpmxi`(XJWP10(x%*HQ_vUSfZY3)pIoq=L+-ZUI zb=>CqCknJ>or{`T%$k#FCPWbb6KqAs}eS-Bq=L!pGpu{soS7b z9malMGfVTA(e$4}zh6bK%<24_8yf66d$NoEt))x#1$LCoe7QfdZ>y%;q_s(RInHKV zf4rm_WIZ?Q`huI8Z#-5q$zM`z?VNR4&4DK~e%`IwXSotQj@DQ0vsyW=v?9`J&e2Kk zzMe;-Zogi*X?rGb+|whQ&d-v2cD`tl-GM%Hm8^c=;=dCQ_8dO*)rYP9r>}27!K9ue z_Z%j(e+=B*l{md)@Ac1bcd;#ZPI~>vX>PIN6s4X;Q62*2QSpJYQ%tHuBR+PlyH(P_ zyy~=DiR9(Rz4yN)&MRWt?~x!iM|tC)Md&G zZNF!DZ;;-4Xsu+;s{?r*9)&K~H2i10=d)OqS@P3viR{6@)1G*}U(=m-Zl1>JV{eVD zmDFy0TruPA9tG?Fnb%c$toWX(T76lp2rHEo@_2_N$;U^zAp+!)~>UCZ8?Lo1@c^*%mW5e&xAK zUz$~>Yi)3!=`5)Dp*C?&Y54uH?=36z%IhV59lVz-le%&1H)Ez+(<7Y$PgBI7+8o}X zaZCB9@3K2~A7@CfSyGd|a^g!?ukB%5R;_VL)!)>8aJl9Rag$#no%>&Yi{Hqb%v5pJ zuIs@J#>DTLg%4LEp-q5cHMYZqrQ=O@6DNZ!roDQ)kl=0p1;o7 zUAvp1z^O@1w!F|p#u zgPZI<@vF=POMV^OHrMig7UQDI0)5rji&7*`*`^fB-w9l!>ARYlJ>KiSm3V_=_dec} zrcd5ghE@N+l&}5rb7<_*&tEsr5M$UFAs*TO{@v~`vp&sRe>|)3hfZ1Sk}rSetqp&k z`ia5MXQz6Q#r6L5$c0lTG_QXZDb7=n`{BsqLwRM}m5wT?R{fb2QSKb7`bFYdgr22s z?5ca4zLedVDiEg;p_q8C+e==(GH!$L15H~&f2p~9-j$T!<-6m#V#8fg$E-KuXIEJU zu{Qgi$XGg~m@U(<;^2#GU5~X7s-H<;u|G5+E00;R*K67#wNSO?i*6j>Yj)zrf;VR# z+&lP(MU3I-^4aV5EYB#r9MTuq+1GpU_?%O`89&7u{Q7x+Z`x~b zD}R2m#LBkb;p*(^kv|?UUA=yR-nD}heGTXAWQ+ipD{JvFo;=+u^tsA4Z9gwKaNSsveFPC<=I%0j_GbO&m zANJG~Z||>qVJdRx|N8G8W=o$QYTeY+cwp^nw{O~N6WX})ub2Ay&t4T*dQbLbUh2h& zD3g8CNtYkq6Xkcv73!X@@^QOTZ4IN)%}p9NydUgb?)mGJ((S!VPHfZnkN@;Y`SEty zWY;{?jV8V(I)_%LPq@x*Hcij$OsqI!|eC{bE{1A%<78n{5V-{yLVxZ_~icb zeAD8xp5vI8O{{F$&h=WFkd z$6*#G4m!$Ywn-IQ2+3 z@X^vAhb7A06V6D)MqkRluCe35)~IuvJ@S0RTmLwD$o9(pdKXxZD8ojdupMu`S-U=Tw(*a%J@2bE}e8^ zt*v2Tys5Q#XWW%En|jvXXF(xP*ISz~uRHSLor~S{$Mb($W^O#gsC>ov_^L|Lj;Sqo zWDlHPQF2<&w!3A);SXEyFSkCGc0S_&?6S-|VN>gUtQY-hTo&`B!_t28q@R5cCtq8w zRk13s`9`e4cI$W3mk2MqUFK*NT+sEwdgA^1lkfSTem}oWy;`L&mHBvj-}akri!WI( zda;_fS|sG0QPeDlAFpdRGxsgDU!UlIPFJ z|K}s!^K+HAn9=Ibawl>Q9*zlpr1-~I&Hu@L?w{YUL}|V+dSQ9*6hFiKiYe_n-<~Bs z{cinFIOy2=sH%z1vunB@hwpP$GoP1G&aUEpS+2g$Dw^Z2&9?&=-`^Eo{wd>pim8BMhUprpQ@J4t=?^;W<58Hlh+NvCF=6An+!gqN;r_$Ms)~WU95-)}@ zE}qzOM3{Bf7k6gXkf#QkiGKscdlq*xxp7%=B(rw=9*kiA&31!dv>;)sjK+ftOnjmR zOBx<~T$h{O#LRo;&6oCFZ&!u}Y&7O5J^0V%posa5kPQ*jXJ^bvVw=phtm5F3rpPrJ zjr?w61#23_^b1!s2y?HvJuk|kwK(IoTF`+LOvkt+vK_yfo_UdGaPdH+U`qT!ow~M# zOnp5H%ej`_IJl%q^6U(^Wm0BxFQYAX7}t94*!tw%@q#<@UoK__F57l(qwC9#>2n-3 zJ@|jP+Y7~ioKf$T{HNMvMjz|Fiv~Q$8I%(a|CD#J5NN0q>2sdQ8zht#(tq_3_6H8^e<;J^X$L98zhwv6S#TcKCt{EAQb70e?3&ORH^2W8c%>{Z$`Z|2(z%)N=gNH`PN~-IMuWx(XEiJGosxuHLoEQ01(C zo6Sc7;p&wE)!LsXW!!r5N9mlJsN|>gD3v19{h!^gnxqSSSf=x&v3WO_l|^|OkL}lI ze*XLuuXRg3u{qx5tM|Qeg=TSbR@v@njkQYeCOnKYEMHeSqjJ(d&!P#7Y_~^V<(#{J zM!;*?N1Hld*sz_tQ>Uo#>GbE`2c4^BrT6E5cboj?s<-7{kuN9KNB!%tyL@J+eMOJn zYx|ccDq1>!__DA6?7iH3_uO?IW{r!Jc0KS=WmmdqoL@FahHtHE-lK0a&R)AeRPGDe zoWAfA^Pd$W8z<%OJ86+!xvgfN@a&+ihaRmmm03KYBfZdPcT`sR-2L_s_KUvw-SqiR zc%WfB+pL#8K5sOCt(~*-jDqp^(zBtl+|%rjIxc+>>YHL9VUC+}Iw2huX&4 z_5TW`*Z(R^oR<&%PR_ftK;e#zFZk1bG3)3La+{l{--X|MWv#b=_r$2lK#728=K z*qnA)?U3o^Z5FE>7^2H&^La3Re^Ida!55}m5`4w0`}ksx?aEBte#0R6m_%r!hgECu zPNUM*4mUl%hyRvYe9GB``B~Zv_0+lduFg4M%X2Dp`=y6kzwO`1W(VJP`%wJf^+L%3 zshn9`eC-{0oH;Tx<4hEDgA;<1=Q|#qCga&Q>B0YdcdNb2C!O2owjE*Cj%A@&U!O@h1jh^>=8ek^j;&nM2WTy4+tbG1~pbYB#a zi~ccHv1pr?NtDkD_PeG}mzzv`|Kbok$J{u5HP1(;l@k174QXH0d3P~4Eme8(@O`AZ zp#5JBpN$psTomR+9BTdL|5)Rw)DF)Md&8I?Wo5xF%!!=-oJZ0R7?v%qz7+6AQN!lF zs)R}eS5np9L$4Y1Z)h~GG`;qkJ>`P8hgbJ=E}OGY+%^cfu8~#vFHoPfV9AeE{WzOL zr?*%9CsO)x{$q}bxgRR0 zG<=Y|bmrjEg>x?-o%QB{_BRjp$DEHh{pI|0^B>F1yn3d~bEf8~_x?S|`c-hsoi?Er zd;fkb|91QS?R@)f_x~NdcK5l@lbBySgD#%6$>>qDWYD$mU&*!MiuE&_@@X49zHXBH zJNdf#R>Q+K9AaM>u35ctlgM84RPH|Ge)eLC&3UWe2}CNODUrmwfr5+NxPo?Q?nx&--r4)mb}bZ|1ju zyWRQMY*Txw*_{Q^%OwIY^35pzdZT3Bn}stuUNt6s@YL{%KN-DI=WBP8`d8hsWNx$V zPftBky7XdF%byg#QZN55#;=ci(|5b?{u8#~j++&C|IfegEZn?nS`t#WNF7q0F-hjw z@#T-}KXb%8$3$bK1A|yRQb=H_~hf=TdQhsHiTXff3%?O-}7q`o^x;QFzDN1 z?!8UA^_=nL z+{tl=w=a}*I=@co2J6#C-jeLqQ;$6`N`5|>qs-$t=Mk3;Jh!f_^U3*h_p(ZqxtHsz zg)NH`SGjCs{FxJe;Y!k1AB7mdH{U}GJeFzBd+L+lnDX0U(^t*E&F8CX&jzj3w|a7H z+0LBS6WLD$W}bey@wm{m%aSv=v=SWISGsIf+|<#%+~3Im|0!GB$`?PkeOuz_>9YBP z+QZLp*_f5=6@#@)dGo)1JE_Zbx2SoST*?DK7oKoEoz|IK6r`Ut9&_dU6D9Aw|K$}6 znKs@n&ELL0`&E8uiKFJ^Dl@g4heZ$kS5%hyWqaJOTHRpUm+E`_kDhB>vR>Qzcb_eH z?wdE)&iGj$J~zER@$#nA#};?b>fFYXGIPGhV(W=ZUjLt_@|9$)~}Ke)4j`^5xpO~1=q2bcIAfk%~=g>|TBJ2?68NFd^5<>T!`ZjIz8dR^wO0iGlAP{! z;=bswn?+&U!~AadZII4Os@h_pqIY*lfD$V_#d! z6KB1;GGWgQ!8_jUUQ%-v1Ldc`+Nr87b@p(PR_^Xe@>zaGr^@*`|87!?PZJkdw61Zp z@ut4hm%}bZnm-EVmFv6t{;n4PamLN&r4|-yS^3k7t|`g1{8HCatNFh3WYUB7eOK>B zPI~DP7Z)emUBnc-bMMoxGhFZ3_`Y6t+`zDG!P-23`(LxI&fT#&bJN7naFa_}@XCHu zKJ~Btx6fbcc#>mRtWX#A;f8T@3j42U%Q~CrtU8%{%ylnjnXT6UV0e7$;ir$gL>5>@ z6s@<}b8E-1$<6K0+tj}%#>_dmye(Dl$h((8d~xgl`pQ1vEwjf*=&xya)V$K9OHvb5 zGM9?a-O#GOZ@bkam3GNJFAwZ8ihfeHafABP8rH~F-10h)OJq5oMxEU7$o-|)tMd8U zv3h@8>{~bJ=fuh-3nuTndrk7#oXJ<_@+7dn*_M+&>zLvy`-KNL3fR;~W~kRQ-k55T z{V>7r#Jt_yGdpK;Y<1=-Zg1ORb#U`(sa-#fy>4xLeor;Hfk$U~Q>#ha3Y)xx+)ovc zFKfQpo}p@&I>m3orC%X^!uQQS#^k53T)QG`wr%9sA4jJ!uaf08Z2C2uHA8FjY}Mz> zSAD&x)OYGZz|tpP&%DJ$4YR~L*Yw#vK9qaR;?oqN_=*{8H1B*0Uhk`)zWCm+VuNH} zw`iR;mDy_^Y_*N62s)&;@Tx*~mz~q2IlICyDwcZ|<^-JZ-4=W0$h*YfW-J-XJi zEqJ3sr;v+ysOAQxtf^AUd)nv3z2)h)_m0jw_Qb44a6)dD*`l8wog#R0?_eoD3rGMU<6-d@9Mf5YpxhhggPziXC> zD8F88*XQ?nX5j2C)1@8Pahq!F-fdaBebHRInE&QW!km9q{ww^=HG6jSqX{dm&euOa z66<AfV!v3AyGc297`Mxgtc(Y;4ge(u0>37SfXvA0l+FW%?_4N8* z3wRt~@YdwsOkY3wS?ldr*~c$jdG%82Lf+oF7AHDdh4)*Zt+;ceaq@<&vKyjb(tS6t zmS}jNCb7YxaJ|~AD!VoRzE$LYy>j|oOWj<@2Uj_kcEspDJJj=P@|l;ZGPb_HAZax<$9TN1MKh?UUFl8fO{Pen6AwOT{KC@V?#dG7h*HnYGevVJQmpMQ9 zCiJc$U6yyQjs0#Z|MIJ4@fJaRy_c`;y4ze<=qs}^bVh3DmqRl>%4}5j9yz|PX5-qH zm@c!n<~6OV4^A~Ozns&Vvgn1+;`kIFuXAZR)lCr}G_IZVkhX8BFL0YBvvO9`j&G)k z1}qm;Kh8|gJ8Ii~ra$QAQ_Ji3e|>tqChYX*vs05c3(m=U(fem%eYh&4{W-qo9BHjG zOYhy+J@q^;btQdZ+I?f+^w^tIm!#jl%~dGCk$Cgz-;5>s{n@;t9A zP}k{~S-YqGezSb~lyA(Z7F+v@h;Dkaao1D%t|K45gb2GF-2MKK+MM0N`rOzKg)^WM{Ii{F}gb}#RCywS^0U|yORmA}64Dr2%)TF42%gO^Owb3JzDu=KyT zKDf~S^-~xB>3uH}tK1JoNGun*<}g`|bLPXe5e}Qv5WdiyF>fHdxo# zR-?F7%xDpt|N42_OIN3)Pgp(EGQw(^<BG+4@7nPCO{_=;=MpPjpwtxNcUNt3JiqBJJ6}Z71E%PCv4;OKHyO zHAm+dx~!o9ymdd@b&g*ll=d?y9o2*H1n^tI;WY_jWYP+EX=seoedA{M+2tGtPiR2y{MIvob@}^JmOM~d*L;Ym%S?uEcUK^ zePtKhh50wt19bK345XKY7V0m%{KV-$<5#|}c~5;#CS-cDGS5}Mz`sY^#k?nTZx9V8)PW)Uo(b_Oq^Jflczr@o2a^_tsY{ws+@yzn}_7V8= z+wIK7Sb@u3PfV&qZRbu3KKU(1>s;6~-r1$=BzLu%6in8;W|6A0VEY!K1^(M&&M5`? z%&}?i^_MgGV~ZREWc43ikw4NgxA#8Z z!;+udtGC=Z{^(u4`|thoTXzT4ZU6r5!G{;hwPsEG`Qx30tbctuq{(=c&0DvFlTBwQ z^MkuH7K+!T&D7gCDZeR^GekbilA*FHzm-{Fld;4F>1V(9?KjQb^hQJ4_7cBSk%YUl zkn@?jWgF~#3tc0e z!%Gd@mz}wqY|U5YRUt0=VcoJ54a<{izlfA?nH%w6MQiFwUG=JS)_)VyCVmfK``58V z|BlG1Cx;T(&t0o2aEbrP(+feG8d}Uej?KqPg7%-~lWbV9@2`My&es&SWP{@5JIk)T zO1h-;*8fb{^1qy)~XFyqx%*@#cdroAy(4MWiQ{_W4J)DzJP!%D0EN|AiO$ZPU;8KAFuLV^QK|9G|K@wUPbYktRI=ew zc2V!QWxAh34R2pJ)10zpzt4ji4ri)v{9{^M(_(R|U%cnx$!Fs0k6vC>JzH*J{IdO? z`W`$R+paiFzq0K7)?YR&d3fS?87fOZS5Yy%@uK-*hQI{5-+ycm8b(d$Ror&_{<{gi zFYRvK-@=r&U2%8OJ5DvV9Gg#HT@rL|KIX~g5_3|%R%bIwoa~l;mO*O_9uspIwF($4NbGwGPnjTvX`)s`=>3uR^V ze!F<>lzj`9a5`)b*_okGp&#eYUvZYb_RJ;D>pvQ|`~A^%Um!HMQ|R1=>2G(v+Gemk zZTV?=^Nx$Laa-q|vuer_c(d%n$@&}Cm!4hAd=T&XmvPd{%Vsv`*bWyQ<}rUdLo;8( zJTSUBnf1lF4 zhl*y*F#X}MWJ{cwsB?7Si{4H@`^$@MGJA{e->a{F;qf)z=Ft8X-;VyS%w3uq!o0lF z^J|ueYOS-^*)W!NIbTjm-*4^ryS};o%sV|f@yh3;VORAw_DNgR3La(szxG49Q2GZg zSq+(=4he;ao||mAv3~L8&!4SMhi6WG`uzFnG|NLa$_t9W6a=14Q?9UjzqI@2(Kml= zx)#6uX=#@dJAFIvn;E*jO#bKe+%kC?&qo?t$u{OCx$@>**`4%NZl>|IJ5o32H@~s0 zPWYK|ZT4eJ|2`?6#jef)JB`?qOVSILossYjT4bs4bmv7~DfxFL;a#$Nmir|pSV>R# zb*JHqdi#=X(tjRh%uI7X{pHR@BU{ONFK=|VJB0HH!kImM)#%d3fWt?=k(=W z&BfD8r@uY!*Y=mA@ z)eFywX`cLY)|FMq*RGf&%4B-!ji8veNm=TvQXhw&(%)~lYfUV>vvn(H+7e!wn?j;-mNi@MLqMNj*8ZFb4i3F!~4*kjYCyU$vGYS+OXf0AZ~ zo!+H7Q^hf9U)`r`KY!j1&+ost|JMs=m1lqc%J704`7xz~k8S~?}o4-jPIW7I1d!Bz%`6H29?(S3e%h~G8e?>~f34ioiB=h

( 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 literal 47406 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®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 U#kTAT8T*)}E^ut%+QZHO0KHo$*#H0l literal 47729 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 RINV>ozHu}Aj8lzF3;=eVe`Wvx diff --git a/src/edit.htm.gz.h b/src/edit.htm.gz.h index 0f937aa..9f10114 100644 --- a/src/edit.htm.gz.h +++ b/src/edit.htm.gz.h @@ -2,7 +2,7 @@ //File: edit.htm.gz, Size: 4503 #define edit_htm_gz_len 4503 const uint8_t edit_htm_gz[] PROGMEM = { -0x1F,0x8B,0x08,0x08,0x0F,0x7A,0xFF,0x5E,0x02,0x00,0x65,0x64,0x69,0x74,0x2E,0x68,0x74,0x6D,0x00,0xB5, +0x1F,0x8B,0x08,0x08,0x1C,0xAD,0x07,0x5F,0x02,0x00,0x65,0x64,0x69,0x74,0x2E,0x68,0x74,0x6D,0x00,0xB5, 0x1A,0x0B,0x5B,0xDB,0x36,0xF0,0xAF,0x18,0x6F,0x63,0xF6,0xE2,0x38,0x0E,0x50,0xD6,0x3A,0x18,0x16,0x1E, 0xEB,0xBB,0x50,0x12,0xDA,0xD1,0x8E,0xED,0x53,0x6C,0x25,0x56,0xB1,0x25,0xCF,0x96,0x09,0x34,0xCD,0x7F, 0xDF,0x49,0xF2,0x93,0x84,0xEE,0xF1,0x6D,0xA5,0x60,0x49,0xA7,0x3B,0xDD,0x9D,0xEE,0x25,0xD9,0x7B,0x1B, From 30df4976dde1cc20bf7fb253e6d00b1da8ea33f2 Mon Sep 17 00:00:00 2001 From: lorol Date: Sat, 11 Jul 2020 18:54:39 -0400 Subject: [PATCH 33/47] Limit the max open files on fat variant, takes a lot of RAM otherwise (10 are default) Added missing icon --- .../ESP_AsyncFSBrowser/ESP_AsyncFSBrowser.ino | 11 ++++++++++- examples/ESP_AsyncFSBrowser/data/ace.ico.gz | Bin 0 -> 6307 bytes examples/SmartSwitch/SmartSwitch.ino | 12 ++++++++---- 3 files changed, 18 insertions(+), 5 deletions(-) create mode 100644 examples/ESP_AsyncFSBrowser/data/ace.ico.gz diff --git a/examples/ESP_AsyncFSBrowser/ESP_AsyncFSBrowser.ino b/examples/ESP_AsyncFSBrowser/ESP_AsyncFSBrowser.ino index dab2f06..3381b9f 100644 --- a/examples/ESP_AsyncFSBrowser/ESP_AsyncFSBrowser.ino +++ b/examples/ESP_AsyncFSBrowser/ESP_AsyncFSBrowser.ino @@ -157,7 +157,16 @@ void setup(){ MDNS.addService("http","tcp",80); - MYFS.begin(); +//FS +#ifdef USE_FatFS + if (MYFS.begin(false,"/ffat",3)) { //limit the RAM usage, bottom line 8kb + 4kb takes per each file, default is 10 +#else + if (MYFS.begin()) { +#endif + Serial.print(F("FS mounted\n")); + } else { + Serial.print(F("FS mount failed\n")); + } ws.onEvent(onWsEvent); server.addHandler(&ws); diff --git a/examples/ESP_AsyncFSBrowser/data/ace.ico.gz b/examples/ESP_AsyncFSBrowser/data/ace.ico.gz new file mode 100644 index 0000000000000000000000000000000000000000..49e15bcebdeba0b55db396e5b6266b6e72730070 GIT binary patch literal 6307 zcmb2|=HM{-FgK2gAu%~sFEcrx;cXOqL5QnF-`$HF`>kHxU=^CBASM#1qY<(3`@QP- zN;eD|N}LoL1)RAQVwssZRVK`fS@*O`|9#cFON|qre7;>S{wCIa?nxv0->3H7{kw1f zn|t1 zH}%k2b9F|KO;I}R?u&buo0yvR=HzAVQWopB74LRcKep&%|Ki?Wd7;Vw4P8?AoZlGt zbVq;jpXgb$XCJlkDZQ8Uw z%OZR(N_6gUKA3Rh{dafOlj5H%ma6q1|9$?@>)cOOOJ_X!e3Yrt!9;|sRa#p4-Lhpf zR&Cvy8d_a_`?ajBta3%oiW%j;p*QD0irtc#9OUm`9^~!)Iq}W=Tidp6)5*%=YCqij zL~85pw}O-7gs*9rxs-^$Ui|CQ9ks*TRF6DLd;E>Xi)EULwDH|6l-!coepqm!+C>i)q1?>8ZDl1}p1--bH(Tec#gyaq z9oClWM;G<}{`|As#s0}#PPXR2<(DOmvP2VeUw)cVc6W(c^1J5hH<6Eb+jQ%{=F{7` zM19wnNAsr5>ApCzob#JVkJIxm?~6OTB8;WxzSeVo&i3f_>5GvbIWnJ}KS;elnR~=H>H0ux5Rnedqg|o6c|SlD@yYtAFu+??exaS4BIU z*g{=hVl6hiPA&~!UUyH`cADkk#QD{FF`wHG&Nh>2{PM6PWlsCDqskYym9Ui67utQ( z+s$zIr#QoDeU`8|mNiP(dRVThZO~(sJAFM|{nnb4YP-vG%Nc)L$nU-po_&quh|ziH zii-t5ET@_0O3abDZT387Mmle6;x&Ve=P{QSpW2n*UsYVSIdVPM&zgM-kGB+FU)R@l z?%cUThHvlRz55q=FK)g0%GKHVLbvC7oE5vk-qf>x!qFQ7LG_y#?5w-k;`g=Z^Mbi{ zEW9m=#{_0@yk4VNa7K>l`yIs(XXU#dG%f7Vu@U!`e7>mkq(Mmv@9}wW9^RO3EE9YB zoU^~&M0+LyjURk_)b77dlfGDHK0oukRNJ(phXs=3AAVWLv4pqP#NKY&+~lY-z zD}BFfdG@TY;KI2RH!h9(cuVhSPj{8b%I3iNr~XB*4rX_pZ6&}P%znrsSK-WM_CsdL z3UfBI9W+iCsQJvMIKxb$_ocHyv;~WoK8lj-ml5tAj$96m>Kg#@!Lsyn5iVJGdw z<0!juMs?}*G;g=fm-D!Tngo(>`px^^5%FUm+mo{~*NZJ`>-FBsCED>zWNkNFRU~(N z@vL&oSLr=2Z>K1(_?x0Iv1yn8q=hP1=JPomPG?@=FUxRwOG?Bt^}}|`lItQhKb-Sx z%zx)_u2$htX0w2=e9N-d<_mi=48C?O-YVW%d~fn?Q$2|mj`^Htq&2=jOpHG_Q}d0r zU0dNRh8Gs=%1$vDvY$(35RvD1czgWhik}v&rgPHIPB~b}o7Vg4n#j3~Qp>lF>n$t=v?KJVB372kYfGzq-RSt{-;Q6+gr`o zbomh|AK!tEUl;{He`#G;7xOr4 z(Z!4ti5J_qXvg1O8e1TG<@5Rlb&EHCzRVqHQ!3+SH2>(iJ)SpaS_`Uj%eh``7hgEV z>Pl?|pXm$r^QR}=l2@+|G|YoAJZ6|I|FWA;^DZNBpt=cxyl)UB9vM}8_NZX*XK(p z^YgU{Z>}u4-+D_w&f)E%>cH7mj9Xuc_lq8^4C69gtScF8I=|PU^p)$1e=|O(&5zo4 z*}wPu%B26I@^gCMzF)qe;uD96uTllCXFW@&2n<4ya z8DFZO4BOdN=GJ@U!Y9}XEaI=>ePD6y@5(KI`4X#l2Z~;MW_M|&uRQmsr}9^$U5jr*Bf{$xZUBBqv8LWPH9x-6iLm=pN3gi{`w|Ua)F? zL(%V|D=Bt5pE~a>Yup%Y{n_iv+PQ40FS9ht^BR)8%~ln~9qjXWzqIZ7iMlwumG))l z_Dh>e8(SiBXzcaVLUOwNd_4bwC z>a6JGWD}_cZ*#vi7WVwMj*5=Hd&iB<$NKXuDWmnTFY4`adlvusr$$KHeumyvQc|UF z?IgZv&EUy0$#}gm?7CxYeBY;~`in}E>@_4NZ(>_{^32&M|85qn@S5hlIPi;|y!|ud z($#iuKaU>{{P*%_favp2Rknf0&0H4ky|CEkFJn&aZ<#kU%GIxIy)FEG-}Sy-THDsT zoczPS;py9dHw-_{+3}aPUXXcZr^F0Pre9|_M>Q>+Fntr)`*G^N&wk~#(fF<0 zn*8giKZQ3w{i}H6r=$I+{^typZ|B+ZteScF;)XvrV<#O~ z{gg1_j`@Y}`yW<^T*$rL{^j)i7gtjIl>cX^{=RPbUGsXaTL0q9*MwzuS7~qa+sijw zJ+>h?czx@-3e7LPUyGzmZ?cK_OExbmKbPcZA-(kd=6N-GCe~r~*Vz*=o)Qs(C8rLSV=KQ)<`*u}W zZQG(w=YWF}E9NTQj_<4gs`KgmzSWnL&08{x1(~5j1y*>IVD(!Dd8e)~Ec@5HA!i=zYR9Y9`S)wj-s+#Z`_bpH^gCS9m5gWH zbicf*zi;!(JJ2XsXWRaAH7&b``*JSkZU{2wzRj7t>eD@^mrGJ+?r-|-^pxk|e;bn& z-y5&DtvGD>Nxj_m@d1y2jLX;Uxj3P^e0$=_uNP8#oDUz``03YjpZ$W@b~(-PutAD;8?&kCJdx`Y)dklXc zef(YHaMU)y`Q77!%&v!9q&bD>oI1N9cP{7eZ95C5=rt{V!)>v8+Tn%k+ghz=`bOR0 zDJ^)Z{m@K1!92U=F9+}Y&CAZd4%^dhw9)@(&wD*r?$p0OWZo`!J9|kz;9sKsltSP8 zhMIBVb#_u|t`lGE-!A|2hQqur-ucPDuV@FH+7=qzc4$kcm5iD4747?vs%AO8dwy!$ z^>eoJZGV1SsZNjlQ9t31_KtVqZj%4yy0voRetJyT{Ou;OX5`|IXU}a7)GuaW;u;u0X@@YFEzeWc&4q z=jW`mi@Fc5YG0Yht+hP9N$XbR%+D;Qmk!O^5kLFC)HZ*)mQ_dl7rg3z9yrNrR%MC; z&+X0oUbmZ-t?GWbDJc8bf`z*TtTW$#>fa$gvrur&Y`bQ)&tg~nrFD+)O*_Y7a%Mln zv#;yla{Z`1$nu}*Q~b$4;-4ztIKB>F|IYCF9iGRRq!-2)$?gz4Vj59lx`lgPir*fa zMnjwZN{n*d#c}JGuaEFHdQdbYVf(8mrTb@825hZTk|`6;O%mw%Jt0l{Ra$>qPw{<& zbe=b_a&wZW++JyZ_UN}OrxQb`pSsR7wP*Uu>5enM+srZBd#C;GBG=Gs!U1~qvVK_) z3T7X?}Trm8S`MQ*zj$d4ik$#ZZs?zxja&8^%+3Wjzo#y^oeY*4e+I*wc=3C#$FTK^fVzwE_DoN+e@|nAH z%4>hQZg}GR;?t~brJnMG@yEC3t6Xn5ed4}EW)It)TZ>lIUah@5EoR|C-zyJ(?O^LZ z{`HkZkLtQ*a!gkmFX-+Ha=7L)w@mVj_Ppkl>jz$MbKG2LwrZLkYyV+}{?knTx4GKa z@q`-dC&vkWmQlLBa^Cxyd0)*xRK58Sz#RNk%7W+WBHP60amlKuByaC(N>{M_x+hIJ z{@qfu<;HAR-rVLgKOT@~uk$N)o%FGa{^IMpJ2;jdUHstAx5(;_c+(x%d5iy^e|GP? z!9H#|Pu;MhV2N+lv5wcTdG5|Ro!@-nfDf)yMN{ z!Udz!I5zfB6?(r;}j(?UR4&R#F^xw7J4`QDG zB+0rx!~ceYr{9g$;ftnKOR!!yynXE@M@8-;-iaB`9I;n!e!uX}`JzESOXcymd1rP= z^qKO%nY!j{;=5Ybdh6PHnYZ&?_WM8je#cr`TH01g&xY4E@cORy-Ko5vRva|S`f!x@ z%EPJ|)B5~hC}dAOU|Ogn=Y3@B0=6^L%@3@;*U@mFcX}1K%4(sy`IBc^So+Jp+Wf9D z=$!ZAh4aqZ3N2is|6=-G_WgCzPK@SFjO%+QoaejzYx}|_emSRWsug8iFAIE<*q1H* z<a7t>?I=WJPyvYXZ`A3Odv!m4lUfvs2C zCVWj;cVY)qo2b9Si%Uu#_Z(05Ex7NxBhy;@d#Jy0n49DF4?!k65}MC^>Ywgr%3U5= z!I~p|zdd9!_ev}FX{GB6=I)&Ez5U|4!wXeSKA&sP{OSB*+S0?}v)RK7wZ24N->5(F zx!a)`m7HfHrytt;YMWmE-&1OJ>iisaTmFW69 z9M%!|mKw8Jtfur!;a{g)*2zn9^0_OmKd)=r{^6wG%EaI=)pt&x{H#pkyO!?g{7r#u`PK@#4P3h@W{#?{lS#nY1 z)2tAX_aAbeexUo-yH~pQ&j_|(s6S?GHPg!Lg^~X;(KKn4^ zC*F(O?oas5Dk>`aC_4U9e|HBn1G|x#++w!0k3I*U^Lo50_1(AVx^=DeyY}j{u?6dP zG4m}v+I5>FYhzQC&U}XIgJ-X_L>(zrSmAuG;@#3?hju&?G}(2v!HoZQTi=z`ouBshkGJYWcJ@pBYA%N! zo)X~xo%rLG^S)nC&;FalU-o-{<*M7?zc$-mYO7XUyFZ$(zk11f`IlvD_pMH!&sS+4 zz`gKr#fxb%yzU=MOeWVC>u4+vG;%s`y1&Zqdzj>t9bd8@X)zY zybMb6OAO-Df|-IR)Uw^!*k9?m>57X=Zlces^ZC#4j)_toGagh0eqczllZ~2nI3ts56W>DBSIxVZF|0aj&LyvKeB+U;oFC?F zII(AaU-9|9V&DE`C;onQ)K+h{=8>euxtmWEYu1)YzHXiKnf=Sd+dJ34JT771alazP zu6|2L#e>c57sOrS<~Z4UuWar$3P}68e?x!5*+XwPUl-pHs+V21cBgQke*WvL4LbtA zu__lgh0JW+HjN`H`cQ`I|9iK#y{tWUa_W-`U#8^m2fc2bxIN9h&#+AP`X=dw`!lbd zy6<>cN80jua?5!kc477}&%W$m-C@I-P`^%6J*eAz#oO8|e@tKfvHK|2FaLC_xn}d} z%#fD5((`Y>jw@#WeB^Dx1#uZ|HG_O3xlcRup55=8kS2O-HuH;&?uCnO+tT8h*Q}O* zzcpXxG|Rfit<%f@Rai`m*Do$#TfgD-O6~3+fBtRQ@O84ko#OGg`$K1hPg-&I;~n?h zhwu9m(_PcLPw>7gEkC&RSDD5BJyWfG7VsSspCQeyc3|&MS(YrL2kWC4e(zd7L;2Xm z=Ra7EeQo+CwkPwmsQHHZvmZp-GM>9MGxw3XuGQR`-*!Z-x%)p&@Z-_|jY$&9{@!-; z?`K|YvvGa@X5zkG>gyWcaBnaAxBWt$d2sve6^FkXg=;6CSFiY&eBqu^{`FI{A4HWJ z+hnU9*!=RR-#+VBOTQVZhQ(JGD*63?dniWp&jXiV2i(?&b6Ib_Exq*Y`7+P=yWITO z*}vbie!;z6wPc3C_x2rPoOgc6h8=sTlCNI5J8bgzThR)+HCs-v)at2J^}KP<;dcL` zXZ5Pr{$G<(tg}y(lQ@1q;LIQE-U-1!L(lC0IaBZc_3wvvKa{I@!Obb#5uJHCT4;uY zFH7FEgT*s9SAW&LlYfWn{jb{(ZhwiGzPe8L|G&e+Pu_20{8Z=t#A@TRzu{dox@QO% zUpmdh+*#EU^XhD1{KwaG8+*Su?{koSCuSv3erZ{GK>zK?`)>2@H$LBU{`Kqk4gXhL zKfL|vPu%oZt7q)FcKmN0XYD_UkGHSZuPul>B+mCZ%BHh;DO=Eq)F78VPdDFYj-LOH zFK3thCVK<(0PaV6j758c8;+MdDW%sxjOD2L?6JN4`4ztD3$>JL;wCLIxc-~z*sYac zHvezA|9=u&Oh4b^{(WA&YbHJ6uD-KwL3H>njnH%1{5jR7`30wwZ4c(lxlE{HF}o|y z-rqc1{w1f#{vF|3^Ka_yJ6dt4PoX&W#Bry0+&iaRx8C}fzVrW&*rx2uU(bX_tKRZ| z@gViju3X;4a^{_yT(kCGm0TNiwaG01>moD%*t+iM-Kwv)Ww}^?`qu6;FWoLM@bvSW z&nG_lKmYl^zqKWai3=m7{g$1LQ|k}Xj8obqHc8)wMN--En$Zc%Gu3h)|3<&n92e_*UVfWb98LQaEG%}&@dn4-3mw@ngkF8MsN{dJnf+gU z<^L|R-^FV!X6>sn+wVBU*H~xKISy1?%eRH-yW%K>`OCWubUgvdol~;e&-mm`u^V8*z7X9+)-mh?}tqN{( zZ{n|dw4L#%V*`8Vt|z-^88MuD|BBh=?vZ=KO&<#vbnkT*`PNtA-f(Ba*?-?Y=`u5_ KOty1kU;qFMq`X-G literal 0 HcmV?d00001 diff --git a/examples/SmartSwitch/SmartSwitch.ino b/examples/SmartSwitch/SmartSwitch.ino index 727026e..a35688a 100644 --- a/examples/SmartSwitch/SmartSwitch.ino +++ b/examples/SmartSwitch/SmartSwitch.ino @@ -64,10 +64,10 @@ Use latest ESP core lib (from Github) #include #elif defined(ESP8266) #ifdef USE_LittleFS - #include + #include #define HSTNM "ssw8266-littlefs" - #define MYFS LittleFS - #include + #define MYFS LittleFS + #include #elif defined(USE_FatFS) #error "FatFS only on ESP32 for now!" #else @@ -550,10 +550,14 @@ void setup(){ Serial.printf("Temp set %+2.1f\n", ee.tempe); //FS +#ifdef USE_FatFS + if (MYFS.begin(false,"/ffat",3)) { //limit the RAM usage, bottom line 8kb + 4kb takes per each file, default is 10 +#else if (MYFS.begin()) { +#endif Serial.print(F("FS mounted\n")); } else { - Serial.print(F("FS mount failed\n")); + Serial.print(F("FS mount failed\n")); } #ifdef USE_AUTH_WS From c61f2d8d0266bfb37e4b37d9e44b1684e4f48363 Mon Sep 17 00:00:00 2001 From: lorol Date: Thu, 30 Jul 2020 09:24:21 -0400 Subject: [PATCH 34/47] Tests OK with esp32s2 Arduino core --- .../ESP_AsyncFSBrowser/data/acefull.js.gz | Bin 117524 -> 117524 bytes .../ESP_AsyncFSBrowser/data/worker-css.js.gz | Bin 32927 -> 32927 bytes .../ESP_AsyncFSBrowser/data/worker-html.js.gz | Bin 45019 -> 45019 bytes .../data/worker-javascript.js.gz | Bin 112558 -> 112558 bytes examples/SmartSwitch/ESPAsyncWiFiManager.h | 4 ++++ examples/SmartSwitch/data/acefull.js.gz | Bin 117524 -> 117524 bytes examples/SmartSwitch/data/worker-css.js.gz | Bin 32927 -> 32927 bytes examples/SmartSwitch/data/worker-html.js.gz | Bin 45019 -> 45019 bytes .../SmartSwitch/data/worker-javascript.js.gz | Bin 112558 -> 112558 bytes src/edit.htm.gz.h | 2 +- 10 files changed, 5 insertions(+), 1 deletion(-) diff --git a/examples/ESP_AsyncFSBrowser/data/acefull.js.gz b/examples/ESP_AsyncFSBrowser/data/acefull.js.gz index e88a884655abb64466041d0be61874b93598a18c..7e65c5f6d5ed9e3466cf5bb3a200e22d3db94a29 100644 GIT binary patch delta 21 dcmbO-jeW{Ac6Rx04vv*4lp5K$vNQ6Y1^`YL2Gjrm delta 21 dcmbO-jeW{Ac6Rx04i5FT?2YVO*%^6H0{}-i1{?qY diff --git a/examples/ESP_AsyncFSBrowser/data/worker-css.js.gz b/examples/ESP_AsyncFSBrowser/data/worker-css.js.gz index 658f04aff7224a0bb99abbdd273f99d8ced0b420..23cfa33a5a3c13868e41875c80ce8fc5ea3ae8d0 100644 GIT binary patch delta 18 ZcmbQ=$TYu^iCw;%gJby#rH$+}8UQ+d24?^O delta 18 ZcmbQ=$TYu^iCw;%gF|gC`$qN|4FEOG1+V}B diff --git a/examples/ESP_AsyncFSBrowser/data/worker-html.js.gz b/examples/ESP_AsyncFSBrowser/data/worker-html.js.gz index 1556f5a8dfa9319797730cd5ec88e48ac19f36da..69a5f29ca6063e498b83bf508c974fccdaaaeb02 100644 GIT binary patch delta 18 acmcb8pXv5}CU*I54vys~ls2+oSq}hCLI?%` delta 18 acmcb8pXv5}CU*I54i43|>>JsytOo!|iw8~s diff --git a/examples/ESP_AsyncFSBrowser/data/worker-javascript.js.gz b/examples/ESP_AsyncFSBrowser/data/worker-javascript.js.gz index 2b45889847baf8b0729068fe6bc8691913e6dfc6..9523daf4b0d7d24e64d4724c04d17d218d7ae976 100644 GIT binary patch delta 21 dcmZ4Yo^9QGHg@@L4vv*4lp5K$vNJB<4gg=~2tEJ+ delta 21 dcmZ4Yo^9QGHg@@L4i5FT?2YVO*%_B_2LM?I2ZjIu diff --git a/examples/SmartSwitch/ESPAsyncWiFiManager.h b/examples/SmartSwitch/ESPAsyncWiFiManager.h index f6e2e5b..deecf4f 100644 --- a/examples/SmartSwitch/ESPAsyncWiFiManager.h +++ b/examples/SmartSwitch/ESPAsyncWiFiManager.h @@ -44,8 +44,12 @@ extern "C" { #include "user_interface.h" } #else +#if __has_include() +#include +#else #include #endif +#endif const char WFM_HTTP_HEAD[] PROGMEM = "{v}"; const char HTTP_STYLE[] PROGMEM = ""; diff --git a/examples/SmartSwitch/data/acefull.js.gz b/examples/SmartSwitch/data/acefull.js.gz index e88a884655abb64466041d0be61874b93598a18c..7e65c5f6d5ed9e3466cf5bb3a200e22d3db94a29 100644 GIT binary patch delta 21 dcmbO-jeW{Ac6Rx04vv*4lp5K$vNQ6Y1^`YL2Gjrm delta 21 dcmbO-jeW{Ac6Rx04i5FT?2YVO*%^6H0{}-i1{?qY diff --git a/examples/SmartSwitch/data/worker-css.js.gz b/examples/SmartSwitch/data/worker-css.js.gz index 658f04aff7224a0bb99abbdd273f99d8ced0b420..23cfa33a5a3c13868e41875c80ce8fc5ea3ae8d0 100644 GIT binary patch delta 18 ZcmbQ=$TYu^iCw;%gJby#rH$+}8UQ+d24?^O delta 18 ZcmbQ=$TYu^iCw;%gF|gC`$qN|4FEOG1+V}B diff --git a/examples/SmartSwitch/data/worker-html.js.gz b/examples/SmartSwitch/data/worker-html.js.gz index 1556f5a8dfa9319797730cd5ec88e48ac19f36da..69a5f29ca6063e498b83bf508c974fccdaaaeb02 100644 GIT binary patch delta 18 acmcb8pXv5}CU*I54vys~ls2+oSq}hCLI?%` delta 18 acmcb8pXv5}CU*I54i43|>>JsytOo!|iw8~s diff --git a/examples/SmartSwitch/data/worker-javascript.js.gz b/examples/SmartSwitch/data/worker-javascript.js.gz index 2b45889847baf8b0729068fe6bc8691913e6dfc6..9523daf4b0d7d24e64d4724c04d17d218d7ae976 100644 GIT binary patch delta 21 dcmZ4Yo^9QGHg@@L4vv*4lp5K$vNJB<4gg=~2tEJ+ delta 21 dcmZ4Yo^9QGHg@@L4i5FT?2YVO*%_B_2LM?I2ZjIu diff --git a/src/edit.htm.gz.h b/src/edit.htm.gz.h index 9f10114..b8b5c02 100644 --- a/src/edit.htm.gz.h +++ b/src/edit.htm.gz.h @@ -2,7 +2,7 @@ //File: edit.htm.gz, Size: 4503 #define edit_htm_gz_len 4503 const uint8_t edit_htm_gz[] PROGMEM = { -0x1F,0x8B,0x08,0x08,0x1C,0xAD,0x07,0x5F,0x02,0x00,0x65,0x64,0x69,0x74,0x2E,0x68,0x74,0x6D,0x00,0xB5, +0x1F,0x8B,0x08,0x08,0x9B,0xC8,0x22,0x5F,0x02,0x00,0x65,0x64,0x69,0x74,0x2E,0x68,0x74,0x6D,0x00,0xB5, 0x1A,0x0B,0x5B,0xDB,0x36,0xF0,0xAF,0x18,0x6F,0x63,0xF6,0xE2,0x38,0x0E,0x50,0xD6,0x3A,0x18,0x16,0x1E, 0xEB,0xBB,0x50,0x12,0xDA,0xD1,0x8E,0xED,0x53,0x6C,0x25,0x56,0xB1,0x25,0xCF,0x96,0x09,0x34,0xCD,0x7F, 0xDF,0x49,0xF2,0x93,0x84,0xEE,0xF1,0x6D,0xA5,0x60,0x49,0xA7,0x3B,0xDD,0x9D,0xEE,0x25,0xD9,0x7B,0x1B, From d803e1298036ef5df92a1b5d502e3310ad575fc7 Mon Sep 17 00:00:00 2001 From: lorol Date: Wed, 19 Aug 2020 14:22:06 -0400 Subject: [PATCH 35/47] In SPIFFSEditor.h Prevented a warning that SPIFFS has been deprecated on esp32 In WebHandlers.cpp A difference between SPIFFS and LITTLEFS of opendir() response in file.open() of FS vfs_api.cpp has been resolved. --- .github/scripts/on-push.sh | 6 +++++- .../ESP_AsyncFSBrowser/data/acefull.js.gz | Bin 117524 -> 117524 bytes .../ESP_AsyncFSBrowser/data/worker-css.js.gz | Bin 32927 -> 32927 bytes .../ESP_AsyncFSBrowser/data/worker-html.js.gz | Bin 45019 -> 45019 bytes .../data/worker-javascript.js.gz | Bin 112558 -> 112558 bytes examples/SmartSwitch/data/acefull.js.gz | Bin 117524 -> 117524 bytes examples/SmartSwitch/data/worker-css.js.gz | Bin 32927 -> 32927 bytes examples/SmartSwitch/data/worker-html.js.gz | Bin 45019 -> 45019 bytes .../SmartSwitch/data/worker-javascript.js.gz | Bin 112558 -> 112558 bytes src/SPIFFSEditor.h | 3 ++- src/WebHandlers.cpp | 16 ++++++++++++---- src/edit.htm.gz.h | 2 +- 12 files changed, 20 insertions(+), 7 deletions(-) diff --git a/.github/scripts/on-push.sh b/.github/scripts/on-push.sh index 96fff57..1eedd07 100755 --- a/.github/scripts/on-push.sh +++ b/.github/scripts/on-push.sh @@ -7,7 +7,7 @@ if [ ! -z "$TRAVIS_BUILD_DIR" ]; then export GITHUB_REPOSITORY="$TRAVIS_REPO_SLUG" elif [ -z "$GITHUB_WORKSPACE" ]; then export GITHUB_WORKSPACE="$PWD" - export GITHUB_REPOSITORY="me-no-dev/ESPAsyncWebServer" + export GITHUB_REPOSITORY="lorol/ESPAsyncWebServer" fi TARGET_PLATFORM="$1" @@ -34,8 +34,12 @@ if [ "$BUILD_PIO" -eq 0 ]; then cp -rf "$GITHUB_WORKSPACE" "$ARDUINO_USR_PATH/libraries/ESPAsyncWebServer" echo "Installing ArduinoJson ..." git clone https://github.com/bblanchon/ArduinoJson "$ARDUINO_USR_PATH/libraries/ArduinoJson" > /dev/null 2>&1 + echo "Installing DHT sensor library ..." + git clone https://github.com/adafruit/DHT-sensor-library "$ARDUINO_USR_PATH/libraries/DHT-sensor-library" > /dev/null 2>&1 if [[ "$TARGET_PLATFORM" == "esp32" ]]; then + echo "Installing LITTLEFS for ESP32 ..." + git clone https://github.com/lorol/LITTLEFS "$ARDUINO_USR_PATH/libraries/LITTLEFS" > /dev/null 2>&1 echo "Installing AsyncTCP ..." git clone https://github.com/me-no-dev/AsyncTCP "$ARDUINO_USR_PATH/libraries/AsyncTCP" > /dev/null 2>&1 FQBN="espressif:esp32:esp32:PSRAM=enabled,PartitionScheme=huge_app" diff --git a/examples/ESP_AsyncFSBrowser/data/acefull.js.gz b/examples/ESP_AsyncFSBrowser/data/acefull.js.gz index 7e65c5f6d5ed9e3466cf5bb3a200e22d3db94a29..4a0ae6120f768922447ecf68f82f4451857a4b89 100644 GIT binary patch delta 21 ccmbO-jeW{Ac6Rx04vwB|+eY@S?2Npp0ZNAkbpQYW delta 21 dcmbO-jeW{Ac6Rx04vv*4lp5K$vNQ6Y1^`YL2Gjrm diff --git a/examples/ESP_AsyncFSBrowser/data/worker-css.js.gz b/examples/ESP_AsyncFSBrowser/data/worker-css.js.gz index 23cfa33a5a3c13868e41875c80ce8fc5ea3ae8d0..dc267b31e163d3823d510176f61c26af9c3bed49 100644 GIT binary patch delta 18 ZcmbQ=$TYu^iCw;%gQGj!b|d?Y1^_q`1_=NF delta 18 ZcmbQ=$TYu^iCw;%gJby#rH$+}8UQ+d24?^O diff --git a/examples/ESP_AsyncFSBrowser/data/worker-html.js.gz b/examples/ESP_AsyncFSBrowser/data/worker-html.js.gz index 69a5f29ca6063e498b83bf508c974fccdaaaeb02..c551f7094c333e68b393be4d7be9024fe733c183 100644 GIT binary patch delta 18 acmcb8pXv5}CU*I54vwyD+l}m3)&l@b&_tempFile = _fs.open(gzip, fs::FileOpenMode::read); - gzipFound = FILE_IS_REAL(request->_tempFile); + if (_fs.exists(gzip)) { + request->_tempFile = _fs.open(gzip, fs::FileOpenMode::read); + gzipFound = FILE_IS_REAL(request->_tempFile); + } if (!gzipFound){ + if (_fs.exists(path)) { request->_tempFile = _fs.open(path, fs::FileOpenMode::read); fileFound = FILE_IS_REAL(request->_tempFile); + } } } else { - request->_tempFile = _fs.open(path, fs::FileOpenMode::read); - fileFound = FILE_IS_REAL(request->_tempFile); + if (_fs.exists(path)) { + request->_tempFile = _fs.open(path, fs::FileOpenMode::read); + fileFound = FILE_IS_REAL(request->_tempFile); + } if (!fileFound){ + if (_fs.exists(gzip)) { request->_tempFile = _fs.open(gzip, fs::FileOpenMode::read); gzipFound = FILE_IS_REAL(request->_tempFile); + } } } diff --git a/src/edit.htm.gz.h b/src/edit.htm.gz.h index b8b5c02..ae6dcea 100644 --- a/src/edit.htm.gz.h +++ b/src/edit.htm.gz.h @@ -2,7 +2,7 @@ //File: edit.htm.gz, Size: 4503 #define edit_htm_gz_len 4503 const uint8_t edit_htm_gz[] PROGMEM = { -0x1F,0x8B,0x08,0x08,0x9B,0xC8,0x22,0x5F,0x02,0x00,0x65,0x64,0x69,0x74,0x2E,0x68,0x74,0x6D,0x00,0xB5, +0x1F,0x8B,0x08,0x08,0x66,0x6B,0x3D,0x5F,0x02,0x00,0x65,0x64,0x69,0x74,0x2E,0x68,0x74,0x6D,0x00,0xB5, 0x1A,0x0B,0x5B,0xDB,0x36,0xF0,0xAF,0x18,0x6F,0x63,0xF6,0xE2,0x38,0x0E,0x50,0xD6,0x3A,0x18,0x16,0x1E, 0xEB,0xBB,0x50,0x12,0xDA,0xD1,0x8E,0xED,0x53,0x6C,0x25,0x56,0xB1,0x25,0xCF,0x96,0x09,0x34,0xCD,0x7F, 0xDF,0x49,0xF2,0x93,0x84,0xEE,0xF1,0x6D,0xA5,0x60,0x49,0xA7,0x3B,0xDD,0x9D,0xEE,0x25,0xD9,0x7B,0x1B, From 737a3567b760e8a38600b1e4ac4f5045ed37b5ae Mon Sep 17 00:00:00 2001 From: lorol Date: Thu, 3 Sep 2020 11:26:49 -0400 Subject: [PATCH 36/47] Manually merged changes from BlueAndy fork Minor updates of my custom stuff --- .../ESP_AsyncFSBrowser/data/acefull.js.gz | Bin 117524 -> 117524 bytes .../ESP_AsyncFSBrowser/data/worker-css.js.gz | Bin 32927 -> 32927 bytes .../ESP_AsyncFSBrowser/data/worker-html.js.gz | Bin 45019 -> 45019 bytes .../data/worker-javascript.js.gz | Bin 112558 -> 112558 bytes examples/SmartSwitch/SmartSwitch.ino | 16 ++++++++++++++-- examples/SmartSwitch/data/acefull.js.gz | Bin 117524 -> 117524 bytes examples/SmartSwitch/data/worker-css.js.gz | Bin 32927 -> 32927 bytes examples/SmartSwitch/data/worker-html.js.gz | Bin 45019 -> 45019 bytes .../SmartSwitch/data/worker-javascript.js.gz | Bin 112558 -> 112558 bytes src/AsyncWebSocket.cpp | 6 ++++-- src/WebRequest.cpp | 17 ++++++++++++++--- src/edit.htm.gz.h | 2 +- 12 files changed, 33 insertions(+), 8 deletions(-) diff --git a/examples/ESP_AsyncFSBrowser/data/acefull.js.gz b/examples/ESP_AsyncFSBrowser/data/acefull.js.gz index 4a0ae6120f768922447ecf68f82f4451857a4b89..4b10ee879cb1238a59fb0f23064da41ba4b6da28 100644 GIT binary patch delta 21 dcmbO-jeW{Ac6Rx04vwM;UXAQq*%^6H0{}}n28{p! delta 21 ccmbO-jeW{Ac6Rx04vwB|+eY@S?2Npp0ZNAkbpQYW diff --git a/examples/ESP_AsyncFSBrowser/data/worker-css.js.gz b/examples/ESP_AsyncFSBrowser/data/worker-css.js.gz index dc267b31e163d3823d510176f61c26af9c3bed49..97beeb133712d3e716a32b360301942afee6ae4a 100644 GIT binary patch delta 18 ZcmbQ=$TYu^iCw;%gQIYQ*GBdk4FEWM1|a|d delta 18 ZcmbQ=$TYu^iCw;%gQGj!b|d?Y1^_q`1_=NF diff --git a/examples/ESP_AsyncFSBrowser/data/worker-html.js.gz b/examples/ESP_AsyncFSBrowser/data/worker-html.js.gz index c551f7094c333e68b393be4d7be9024fe733c183..819a3b7842296f34a262479417b33cc94809069b 100644 GIT binary patch delta 18 acmcb8pXv5}CU*I54vvBeUK`o3tOo#0IS0Q0 delta 18 acmcb8pXv5}CU*I54vwyD+l}m3)&l@b&authenticate(http_username, http_password)) return request->requestAuthentication(); #endif - request->onDisconnect([]() { - WiFi.disconnect(true); + request->onDisconnect([]() { #ifdef ESP32 +/* + //https://github.com/espressif/arduino-esp32/issues/400#issuecomment-499631249 + //WiFi.disconnect(true); // doesn't work on esp32, below needs #include "esp_wifi.h" + wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT(); //load the flash-saved configs + esp_wifi_init(&cfg); //initiate and allocate wifi resources (does not matter if connection fails) + if(esp_wifi_restore()!=ESP_OK){ + Serial.print(F("WiFi is not initialized by esp_wifi_init ")); + } else { + Serial.print(F("WiFi Configurations Cleared!")); + } +*/ + WiFi.disconnect(true, true); // Works on esp32 ESP.restart(); #elif defined(ESP8266) + WiFi.disconnect(true); ESP.reset(); #endif }); diff --git a/examples/SmartSwitch/data/acefull.js.gz b/examples/SmartSwitch/data/acefull.js.gz index 4a0ae6120f768922447ecf68f82f4451857a4b89..4b10ee879cb1238a59fb0f23064da41ba4b6da28 100644 GIT binary patch delta 21 dcmbO-jeW{Ac6Rx04vwM;UXAQq*%^6H0{}}n28{p! delta 21 ccmbO-jeW{Ac6Rx04vwB|+eY@S?2Npp0ZNAkbpQYW diff --git a/examples/SmartSwitch/data/worker-css.js.gz b/examples/SmartSwitch/data/worker-css.js.gz index dc267b31e163d3823d510176f61c26af9c3bed49..97beeb133712d3e716a32b360301942afee6ae4a 100644 GIT binary patch delta 18 ZcmbQ=$TYu^iCw;%gQIYQ*GBdk4FEWM1|a|d delta 18 ZcmbQ=$TYu^iCw;%gQGj!b|d?Y1^_q`1_=NF diff --git a/examples/SmartSwitch/data/worker-html.js.gz b/examples/SmartSwitch/data/worker-html.js.gz index c551f7094c333e68b393be4d7be9024fe733c183..819a3b7842296f34a262479417b33cc94809069b 100644 GIT binary patch delta 18 acmcb8pXv5}CU*I54vvBeUK`o3tOo#0IS0Q0 delta 18 acmcb8pXv5}CU*I54vwyD+l}m3)&l@b&_handleEvent(this, WS_EVT_DATA, (void *)&_pinfo, (uint8_t*)data, datalen); + if (datalen > 0) _server->_handleEvent(this, WS_EVT_DATA, (void *)&_pinfo, (uint8_t*)data, datalen); _pinfo.index += datalen; } else if((datalen + _pinfo.index) == _pinfo.len){ @@ -694,6 +694,8 @@ void AsyncWebSocketClient::_onData(void *pbuf, size_t plen){ _server->_handleEvent(this, WS_EVT_PONG, NULL, data, datalen); } else if(_pinfo.opcode < 8){//continuation or text/binary frame _server->_handleEvent(this, WS_EVT_DATA, (void *)&_pinfo, data, datalen); + if (_pinfo.final) _pinfo.num = 0; + else _pinfo.num += 1; } } else { //os_printf("frame error: len: %u, index: %llu, total: %llu\n", datalen, _pinfo.index, _pinfo.len); diff --git a/src/WebRequest.cpp b/src/WebRequest.cpp index 5031f26..6d79726 100644 --- a/src/WebRequest.cpp +++ b/src/WebRequest.cpp @@ -192,8 +192,16 @@ void AsyncWebServerRequest::_removeNotInterestingHeaders(){ void AsyncWebServerRequest::_onPoll(){ //os_printf("p\n"); - if(_response != NULL && _client != NULL && _client->canSend() && !_response->_finished()){ - _response->_ack(this, 0, 0); + if(_response != NULL && _client != NULL && _client->canSend()){ + if(!_response->_finished()){ + _response->_ack(this, 0, 0); + } else { + AsyncWebServerResponse* r = _response; + _response = NULL; + delete r; + + _client->close(); + } } } @@ -202,10 +210,13 @@ void AsyncWebServerRequest::_onAck(size_t len, uint32_t time){ if(_response != NULL){ if(!_response->_finished()){ _response->_ack(this, len, time); - } else { + } + if(_response->_finished()){ AsyncWebServerResponse* r = _response; _response = NULL; delete r; + + _client->close(); } } } diff --git a/src/edit.htm.gz.h b/src/edit.htm.gz.h index ae6dcea..3b163a0 100644 --- a/src/edit.htm.gz.h +++ b/src/edit.htm.gz.h @@ -2,7 +2,7 @@ //File: edit.htm.gz, Size: 4503 #define edit_htm_gz_len 4503 const uint8_t edit_htm_gz[] PROGMEM = { -0x1F,0x8B,0x08,0x08,0x66,0x6B,0x3D,0x5F,0x02,0x00,0x65,0x64,0x69,0x74,0x2E,0x68,0x74,0x6D,0x00,0xB5, +0x1F,0x8B,0x08,0x08,0x54,0x90,0x4A,0x5F,0x02,0x00,0x65,0x64,0x69,0x74,0x2E,0x68,0x74,0x6D,0x00,0xB5, 0x1A,0x0B,0x5B,0xDB,0x36,0xF0,0xAF,0x18,0x6F,0x63,0xF6,0xE2,0x38,0x0E,0x50,0xD6,0x3A,0x18,0x16,0x1E, 0xEB,0xBB,0x50,0x12,0xDA,0xD1,0x8E,0xED,0x53,0x6C,0x25,0x56,0xB1,0x25,0xCF,0x96,0x09,0x34,0xCD,0x7F, 0xDF,0x49,0xF2,0x93,0x84,0xEE,0xF1,0x6D,0xA5,0x60,0x49,0xA7,0x3B,0xDD,0x9D,0xEE,0x25,0xD9,0x7B,0x1B, From 848a929e552d2b1becb3f377d5d7f503f5d9abdf Mon Sep 17 00:00:00 2001 From: Dmytro Korniienko Date: Sat, 12 Sep 2020 14:40:39 +0300 Subject: [PATCH 37/47] Manual merge from anton-zolotarev:master --- src/AsyncWebSocket.cpp | 132 +++++++++++++++++++++++++++++++++-------- src/AsyncWebSocket.h | 38 ++++++------ 2 files changed, 128 insertions(+), 42 deletions(-) diff --git a/src/AsyncWebSocket.cpp b/src/AsyncWebSocket.cpp index 6b2f9e9..9ebab12 100644 --- a/src/AsyncWebSocket.cpp +++ b/src/AsyncWebSocket.cpp @@ -52,11 +52,15 @@ size_t webSocketSendFrameWindow(AsyncClient *client){ } size_t webSocketSendFrame(AsyncClient *client, bool final, uint8_t opcode, bool mask, uint8_t *data, size_t len){ - if(!client->canSend()) + if(!client->canSend()) { + // Serial.println("SF 1"); return 0; + } size_t space = client->space(); - if(space < 2) + if(space < 2) { + // Serial.println("SF 2"); return 0; + } uint8_t mbuf[4] = {0,0,0,0}; uint8_t headLen = 2; if(len && mask){ @@ -68,8 +72,10 @@ size_t webSocketSendFrame(AsyncClient *client, bool final, uint8_t opcode, bool } if(len > 125) headLen += 2; - if(space < headLen) + if(space < headLen) { + // Serial.println("SF 2"); return 0; + } space -= headLen; if(len > space) len = space; @@ -77,6 +83,7 @@ size_t webSocketSendFrame(AsyncClient *client, bool final, uint8_t opcode, bool uint8_t *buf = (uint8_t*)malloc(headLen); if(buf == NULL){ //os_printf("could not malloc %u bytes for frame header\n", headLen); + // Serial.println("SF 3"); return 0; } @@ -97,6 +104,7 @@ size_t webSocketSendFrame(AsyncClient *client, bool final, uint8_t opcode, bool if(client->add((const char *)buf, headLen) != headLen){ //os_printf("error adding %lu header bytes\n", headLen); free(buf); + // Serial.println("SF 4"); return 0; } free(buf); @@ -109,13 +117,16 @@ size_t webSocketSendFrame(AsyncClient *client, bool final, uint8_t opcode, bool } if(client->add((const char *)data, len) != len){ //os_printf("error adding %lu data bytes\n", len); + // Serial.println("SF 5"); return 0; } } if(!client->send()){ //os_printf("error sending frame: %lu\n", headLen+len); + // Serial.println("SF 6"); return 0; } + // Serial.println("SF"); return len; } @@ -149,6 +160,7 @@ AsyncWebSocketMessageBuffer::AsyncWebSocketMessageBuffer(uint8_t * data, size_t _data = new uint8_t[_len + 1]; if (_data) { + // Serial.println("BUFF alloc"); memcpy(_data, data, _len); _data[_len] = 0; } @@ -164,6 +176,7 @@ AsyncWebSocketMessageBuffer::AsyncWebSocketMessageBuffer(size_t size) _data = new uint8_t[_len + 1]; if (_data) { + // Serial.println("BUFF alloc"); _data[_len] = 0; } @@ -185,6 +198,7 @@ AsyncWebSocketMessageBuffer::AsyncWebSocketMessageBuffer(const AsyncWebSocketMes } if (_data) { + // Serial.println("BUFF alloc"); memcpy(_data, copy._data, _len); _data[_len] = 0; } @@ -202,6 +216,7 @@ AsyncWebSocketMessageBuffer::AsyncWebSocketMessageBuffer(AsyncWebSocketMessageBu _count = 0; if (copy._data) { + // Serial.println("BUFF alloc"); _data = copy._data; copy._data = nullptr; } @@ -211,6 +226,7 @@ AsyncWebSocketMessageBuffer::AsyncWebSocketMessageBuffer(AsyncWebSocketMessageBu AsyncWebSocketMessageBuffer::~AsyncWebSocketMessageBuffer() { if (_data) { + // Serial.println("BUFF free"); delete[] _data; } } @@ -293,6 +309,7 @@ AsyncWebSocketBasicMessage::AsyncWebSocketBasicMessage(const char * data, size_t _opcode = opcode & 0x07; _mask = mask; _data = (uint8_t*)malloc(_len+1); + // Serial.println("MSG alloc"); if(_data == NULL){ _len = 0; _status = WS_MSG_ERROR; @@ -316,35 +333,43 @@ AsyncWebSocketBasicMessage::AsyncWebSocketBasicMessage(uint8_t opcode, bool mask AsyncWebSocketBasicMessage::~AsyncWebSocketBasicMessage() { - if(_data != NULL) + if(_data != NULL) { + // Serial.println("MSG free"); free(_data); + } } void AsyncWebSocketBasicMessage::ack(size_t len, uint32_t time) { (void)time; _acked += len; + // Serial.printf("ACK %u = %u | %u = %u\n", _sent, _len, _acked, _ack); if(_sent == _len && _acked == _ack){ + // Serial.println("ACK end"); _status = WS_MSG_SENT; } } size_t AsyncWebSocketBasicMessage::send(AsyncClient *client) { - if(_status != WS_MSG_SENDING) + if(_status != WS_MSG_SENDING){ + // Serial.println("MS 1"); return 0; + } if(_acked < _ack){ + // Serial.println("MS 2"); return 0; } if(_sent == _len){ - if(_acked == _ack) - _status = WS_MSG_SENT; + // Serial.println("MS 3"); + _status = WS_MSG_SENT; return 0; } if(_sent > _len){ + // Serial.println("MS 4"); _status = WS_MSG_ERROR; return 0; } - size_t toSend = _len - _sent; size_t window = webSocketSendFrameWindow(client); + // Serial.printf("Send %u %u %u\n", _len, _sent, toSend); if(window < toSend) { toSend = window; @@ -360,8 +385,14 @@ AsyncWebSocketBasicMessage::~AsyncWebSocketBasicMessage() { size_t sent = webSocketSendFrame(client, final, opCode, _mask, dPtr, toSend); _status = WS_MSG_SENDING; if(toSend && sent != toSend){ - _sent -= (toSend - sent); - _ack -= (toSend - sent); + size_t delta = (toSend - sent); + // Serial.printf("\ns:%u a:%u d:%u\n", _sent, _ack, delta); + _sent -= delta; + _ack -= delta + ((delta < 126)?2:4) + (_mask * 4); + // Serial.printf("s:%u a:%u\n", _sent, _ack); + if (!sent) { + _status = WS_MSG_ERROR; + } } return sent; } @@ -399,11 +430,13 @@ AsyncWebSocketMultiMessage::AsyncWebSocketMultiMessage(AsyncWebSocketMessageBuff if (buffer) { _WSbuffer = buffer; (*_WSbuffer)++; + // Serial.printf("INC WSbuffer == %u\n", _WSbuffer->count()); _data = buffer->get(); _len = buffer->length(); _status = WS_MSG_SENDING; //ets_printf("M: %u\n", _len); } else { + // Serial.println("BUFF ERROR"); _status = WS_MSG_ERROR; } @@ -413,40 +446,48 @@ AsyncWebSocketMultiMessage::AsyncWebSocketMultiMessage(AsyncWebSocketMessageBuff AsyncWebSocketMultiMessage::~AsyncWebSocketMultiMessage() { if (_WSbuffer) { (*_WSbuffer)--; // decreases the counter. + // Serial.printf("DEC WSbuffer == %u\n", _WSbuffer->count()); } } void AsyncWebSocketMultiMessage::ack(size_t len, uint32_t time) { (void)time; _acked += len; + // Serial.printf("ACK %u = %u | %u = %u\n", _sent, _len, _acked, _ack); if(_sent >= _len && _acked >= _ack){ + // Serial.println("ACK end"); _status = WS_MSG_SENT; } //ets_printf("A: %u\n", len); } size_t AsyncWebSocketMultiMessage::send(AsyncClient *client) { - if(_status != WS_MSG_SENDING) + if(_status != WS_MSG_SENDING) { + // Serial.println("MS 1"); return 0; + } if(_acked < _ack){ + // Serial.println("MS 2"); return 0; } if(_sent == _len){ + // Serial.println("MS 3"); _status = WS_MSG_SENT; return 0; } if(_sent > _len){ + // Serial.println("MS 4"); _status = WS_MSG_ERROR; //ets_printf("E: %u > %u\n", _sent, _len); return 0; } - size_t toSend = _len - _sent; size_t window = webSocketSendFrameWindow(client); + // Serial.printf("Send %u %u %u\n", _len, _sent, toSend); if(window < toSend) { toSend = window; } - + // Serial.printf("s:%u a:%u t:%u\n", _sent, _ack, toSend); _sent += toSend; _ack += toSend + ((toSend < 126)?2:4) + (_mask * 4); @@ -460,8 +501,14 @@ AsyncWebSocketMultiMessage::~AsyncWebSocketMultiMessage() { _status = WS_MSG_SENDING; if(toSend && sent != toSend){ //ets_printf("E: %u != %u\n", toSend, sent); - _sent -= (toSend - sent); - _ack -= (toSend - sent); + size_t delta = (toSend - sent); + // Serial.printf("\ns:%u a:%u d:%u\n", _sent, _ack, delta); + _sent -= delta; + _ack -= delta + ((delta < 126)?2:4) + (_mask * 4); + // Serial.printf("s:%u a:%u\n", _sent, _ack); + if (!sent) { + _status = WS_MSG_ERROR; + } } //ets_printf("S: %u %u\n", _sent, sent); return sent; @@ -496,16 +543,25 @@ AsyncWebSocketClient::AsyncWebSocketClient(AsyncWebServerRequest *request, Async _server->_addClient(this); _server->_handleEvent(this, WS_EVT_CONNECT, request, NULL, 0); delete request; - memset(&_pinfo,0,sizeof(_pinfo)); // + memset(&_pinfo,0,sizeof(_pinfo)); } AsyncWebSocketClient::~AsyncWebSocketClient(){ + // Serial.printf("%u FREE Q\n", id()); _messageQueue.free(); _controlQueue.free(); + _server->_cleanBuffers(); _server->_handleEvent(this, WS_EVT_DISCONNECT, NULL, NULL, 0); } +void AsyncWebSocketClient::_clearQueue(){ + while(!_messageQueue.isEmpty() && _messageQueue.front()->finished()){ + _messageQueue.remove(_messageQueue.front()); + } +} + void AsyncWebSocketClient::_onAck(size_t len, uint32_t time){ + // Serial.printf("%u onAck\n", id()); _lastMessageTime = millis(); if(!_controlQueue.isEmpty()){ auto head = _controlQueue.front(); @@ -520,15 +576,21 @@ void AsyncWebSocketClient::_onAck(size_t len, uint32_t time){ _controlQueue.remove(head); } } + if(len && !_messageQueue.isEmpty()){ _messageQueue.front()->ack(len, time); } + + _clearQueue(); + _server->_cleanBuffers(); + // Serial.println("RUN 1"); _runQueue(); } void AsyncWebSocketClient::_onPoll(){ if(_client->canSend() && (!_controlQueue.isEmpty() || !_messageQueue.isEmpty())){ + // Serial.println("RUN 2"); _runQueue(); } else if(_keepAlivePeriod > 0 && _controlQueue.isEmpty() && _messageQueue.isEmpty() && (millis() - _lastMessageTime) >= _keepAlivePeriod){ ping((uint8_t *)AWSC_PING_PAYLOAD, AWSC_PING_PAYLOAD_LEN); @@ -536,15 +598,20 @@ void AsyncWebSocketClient::_onPoll(){ } void AsyncWebSocketClient::_runQueue(){ - while(!_messageQueue.isEmpty() && _messageQueue.front()->finished()){ - _messageQueue.remove(_messageQueue.front()); - } + _clearQueue(); + //size_t m0 = _messageQueue.isEmpty()? 0 : _messageQueue.length(); + //size_t m1 = _messageQueue.isEmpty()? 0 : _messageQueue.front()->betweenFrames(); + // Serial.printf("%u R C = %u %u\n", _clientId, m0, m1); if(!_controlQueue.isEmpty() && (_messageQueue.isEmpty() || _messageQueue.front()->betweenFrames()) && webSocketSendFrameWindow(_client) > (size_t)(_controlQueue.front()->len() - 1)){ + // Serial.printf("%u R S C\n", _clientId); _controlQueue.front()->send(_client); } else if(!_messageQueue.isEmpty() && _messageQueue.front()->betweenFrames() && webSocketSendFrameWindow(_client)){ + // Serial.printf("%u R S M = ", _clientId); _messageQueue.front()->send(_client); } + + _clearQueue(); } bool AsyncWebSocketClient::queueIsFull(){ @@ -553,28 +620,38 @@ bool AsyncWebSocketClient::queueIsFull(){ } void AsyncWebSocketClient::_queueMessage(AsyncWebSocketMessage *dataMessage){ - if(dataMessage == NULL) + if(dataMessage == NULL){ + // Serial.printf("%u Q1\n", _clientId); return; + } if(_status != WS_CONNECTED){ + // Serial.printf("%u Q2\n", _clientId); delete dataMessage; return; } if(_messageQueue.length() >= WS_MAX_QUEUED_MESSAGES){ ets_printf(String(F("ERROR: Too many messages queued\n")).c_str()); + // Serial.printf("%u Q3\n", _clientId); delete dataMessage; } else { _messageQueue.add(dataMessage); + // Serial.printf("%u Q A %u\n", _clientId, _messageQueue.length()); } - if(_client->canSend()) + if(_client->canSend()) { + // Serial.printf("%u Q S\n", _clientId); + // Serial.println("RUN 3"); _runQueue(); + } } void AsyncWebSocketClient::_queueControl(AsyncWebSocketControl *controlMessage){ if(controlMessage == NULL) return; _controlQueue.add(controlMessage); - if(_client->canSend()) + if(_client->canSend()) { + // Serial.println("RUN 4"); _runQueue(); + } } void AsyncWebSocketClient::close(uint16_t code, const char * message){ @@ -607,19 +684,24 @@ void AsyncWebSocketClient::ping(uint8_t *data, size_t len){ _queueControl(new AsyncWebSocketControl(WS_PING, data, len)); } -void AsyncWebSocketClient::_onError(int8_t){} +void AsyncWebSocketClient::_onError(int8_t){ + //Serial.println("onErr"); +} void AsyncWebSocketClient::_onTimeout(uint32_t time){ + // Serial.println("onTime"); (void)time; _client->close(true); } void AsyncWebSocketClient::_onDisconnect(){ + // Serial.println("onDis"); _client = NULL; _server->_handleDisconnect(this); } void AsyncWebSocketClient::_onData(void *pbuf, size_t plen){ + // Serial.println("onData"); _lastMessageTime = millis(); uint8_t *data = (uint8_t*)pbuf; while(plen > 0){ @@ -959,6 +1041,7 @@ void AsyncWebSocket::textAll(AsyncWebSocketMessageBuffer * buffer){ void AsyncWebSocket::textAll(const char * message, size_t len){ + //if (_buffers.length()) return; AsyncWebSocketMessageBuffer * WSBuffer = makeBuffer((uint8_t *)message, len); textAll(WSBuffer); } @@ -1231,6 +1314,7 @@ AsyncWebSocketMessageBuffer * AsyncWebSocket::makeBuffer(uint8_t * data, size_t if (buffer) { AsyncWebLockGuard l(_lock); + // Serial.printf("Add to global buffers = %u\n", _buffers.length() + 1); _buffers.add(buffer); } @@ -1240,9 +1324,9 @@ AsyncWebSocketMessageBuffer * AsyncWebSocket::makeBuffer(uint8_t * data, size_t void AsyncWebSocket::_cleanBuffers() { AsyncWebLockGuard l(_lock); - for(AsyncWebSocketMessageBuffer * c: _buffers){ if(c && c->canDelete()){ + // Serial.printf("Remove from global buffers = %u\n", _buffers.length() - 1); _buffers.remove(c); } } diff --git a/src/AsyncWebSocket.h b/src/AsyncWebSocket.h index f06af2c..5ebf1cc 100644 --- a/src/AsyncWebSocket.h +++ b/src/AsyncWebSocket.h @@ -84,16 +84,16 @@ class AsyncWebSocketMessageBuffer { private: uint8_t * _data; size_t _len; - bool _lock; - uint32_t _count; + bool _lock; + uint32_t _count; public: AsyncWebSocketMessageBuffer(); AsyncWebSocketMessageBuffer(size_t size); - AsyncWebSocketMessageBuffer(uint8_t * data, size_t size); - AsyncWebSocketMessageBuffer(const AsyncWebSocketMessageBuffer &); - AsyncWebSocketMessageBuffer(AsyncWebSocketMessageBuffer &&); - ~AsyncWebSocketMessageBuffer(); + AsyncWebSocketMessageBuffer(uint8_t * data, size_t size); + AsyncWebSocketMessageBuffer(const AsyncWebSocketMessageBuffer &); + AsyncWebSocketMessageBuffer(AsyncWebSocketMessageBuffer &&); + ~AsyncWebSocketMessageBuffer(); void operator ++(int i) { (void)i; _count++; } void operator --(int i) { (void)i; if (_count > 0) { _count--; } ; } bool reserve(size_t size); @@ -102,9 +102,9 @@ class AsyncWebSocketMessageBuffer { uint8_t * get() { return _data; } size_t length() { return _len; } uint32_t count() { return _count; } - bool canDelete() { return (!_count && !_lock); } + bool canDelete() { return (!_count && !_lock); } - friend AsyncWebSocket; + friend AsyncWebSocket; }; @@ -145,9 +145,9 @@ class AsyncWebSocketMultiMessage: public AsyncWebSocketMessage { size_t _sent; size_t _ack; size_t _acked; - AsyncWebSocketMessageBuffer * _WSbuffer; + AsyncWebSocketMessageBuffer * _WSbuffer; public: - AsyncWebSocketMultiMessage(AsyncWebSocketMessageBuffer * buffer, uint8_t opcode=WS_TEXT, bool mask=false); + AsyncWebSocketMultiMessage(AsyncWebSocketMessageBuffer * buffer, uint8_t opcode=WS_TEXT, bool mask=false); virtual ~AsyncWebSocketMultiMessage() override; virtual bool betweenFrames() const override { return _acked == _ack; } virtual void ack(size_t len, uint32_t time) override ; @@ -173,6 +173,7 @@ class AsyncWebSocketClient { void _queueMessage(AsyncWebSocketMessage *dataMessage); void _queueControl(AsyncWebSocketControl *controlMessage); void _runQueue(); + void _clearQueue(); public: void *_tempObject; @@ -205,6 +206,7 @@ class AsyncWebSocketClient { //data packets void message(AsyncWebSocketMessage *message){ _queueMessage(message); } bool queueIsFull(); + size_t queueLen() { return _messageQueue.length() + _controlQueue.length(); } size_t printf(const char *format, ...) __attribute__ ((format (printf, 2, 3))); #ifndef ESP32 @@ -216,7 +218,7 @@ class AsyncWebSocketClient { void text(char * message); void text(const String &message); void text(const __FlashStringHelper *data); - void text(AsyncWebSocketMessageBuffer *buffer); + void text(AsyncWebSocketMessageBuffer *buffer); void binary(const char * message, size_t len); void binary(const char * message); @@ -224,7 +226,7 @@ class AsyncWebSocketClient { void binary(char * message); void binary(const String &message); void binary(const __FlashStringHelper *data, size_t len); - void binary(AsyncWebSocketMessageBuffer *buffer); + void binary(AsyncWebSocketMessageBuffer *buffer); bool canSend() { return _messageQueue.length() < WS_MAX_QUEUED_MESSAGES; } @@ -286,7 +288,7 @@ class AsyncWebSocket: public AsyncWebHandler { void textAll(char * message); void textAll(const String &message); void textAll(const __FlashStringHelper *message); // need to convert - void textAll(AsyncWebSocketMessageBuffer * buffer); + void textAll(AsyncWebSocketMessageBuffer * buffer); void binary(uint32_t id, const char * message, size_t len); void binary(uint32_t id, const char * message); @@ -301,7 +303,7 @@ class AsyncWebSocket: public AsyncWebHandler { void binaryAll(char * message); void binaryAll(const String &message); void binaryAll(const __FlashStringHelper *message, size_t len); - void binaryAll(AsyncWebSocketMessageBuffer * buffer); + void binaryAll(AsyncWebSocketMessageBuffer * buffer); void message(uint32_t id, AsyncWebSocketMessage *message); void messageAll(AsyncWebSocketMultiMessage *message); @@ -332,11 +334,11 @@ class AsyncWebSocket: public AsyncWebHandler { virtual void handleRequest(AsyncWebServerRequest *request) override final; - // messagebuffer functions/objects. - AsyncWebSocketMessageBuffer * makeBuffer(size_t size = 0); - AsyncWebSocketMessageBuffer * makeBuffer(uint8_t * data, size_t size); + // messagebuffer functions/objects. + AsyncWebSocketMessageBuffer * makeBuffer(size_t size = 0); + AsyncWebSocketMessageBuffer * makeBuffer(uint8_t * data, size_t size); LinkedList _buffers; - void _cleanBuffers(); + void _cleanBuffers(); AsyncWebSocketClientLinkedList getClients() const; }; From 1ec044ba42bf86e84ae274fc7d9850232ab52549 Mon Sep 17 00:00:00 2001 From: Dmytro Korniienko Date: Sat, 12 Sep 2020 20:01:52 +0300 Subject: [PATCH 38/47] /edit moved to FS --- .../data/{ => extras}/ace.ico.gz | Bin .../data/{ => extras}/acefull.js.gz | Bin .../data/extras/edit.htm.gz | Bin 0 -> 4509 bytes .../data/extras/mode-json.js.gz | Bin 0 -> 2983 bytes .../data/{ => extras}/worker-css.js.gz | Bin .../data/{ => extras}/worker-html.js.gz | Bin .../data/{ => extras}/worker-javascript.js.gz | Bin .../data/extras/worker-json.js.gz | Bin 0 -> 8712 bytes .../SmartSwitch/data/{ => extras}/ace.ico.gz | Bin .../data/{ => extras}/acefull.js.gz | Bin examples/SmartSwitch/data/extras/edit.htm.gz | Bin 0 -> 4509 bytes .../SmartSwitch/data/extras/mode-json.js.gz | Bin 0 -> 2983 bytes .../data/{ => extras}/worker-css.js.gz | Bin .../data/{ => extras}/worker-html.js.gz | Bin .../data/{ => extras}/worker-javascript.js.gz | Bin .../SmartSwitch/data/extras/worker-json.js.gz | Bin 0 -> 8712 bytes src/SPIFFSEditor.cpp | 75 +-- src/edit.htm | 582 +----------------- src/edit.htm.gz.h | 454 +++++++------- 19 files changed, 266 insertions(+), 845 deletions(-) rename examples/ESP_AsyncFSBrowser/data/{ => extras}/ace.ico.gz (100%) rename examples/ESP_AsyncFSBrowser/data/{ => extras}/acefull.js.gz (100%) create mode 100644 examples/ESP_AsyncFSBrowser/data/extras/edit.htm.gz create mode 100644 examples/ESP_AsyncFSBrowser/data/extras/mode-json.js.gz rename examples/ESP_AsyncFSBrowser/data/{ => extras}/worker-css.js.gz (100%) rename examples/ESP_AsyncFSBrowser/data/{ => extras}/worker-html.js.gz (100%) rename examples/ESP_AsyncFSBrowser/data/{ => extras}/worker-javascript.js.gz (100%) create mode 100644 examples/ESP_AsyncFSBrowser/data/extras/worker-json.js.gz rename examples/SmartSwitch/data/{ => extras}/ace.ico.gz (100%) rename examples/SmartSwitch/data/{ => extras}/acefull.js.gz (100%) create mode 100644 examples/SmartSwitch/data/extras/edit.htm.gz create mode 100644 examples/SmartSwitch/data/extras/mode-json.js.gz rename examples/SmartSwitch/data/{ => extras}/worker-css.js.gz (100%) rename examples/SmartSwitch/data/{ => extras}/worker-html.js.gz (100%) rename examples/SmartSwitch/data/{ => extras}/worker-javascript.js.gz (100%) create mode 100644 examples/SmartSwitch/data/extras/worker-json.js.gz diff --git a/examples/ESP_AsyncFSBrowser/data/ace.ico.gz b/examples/ESP_AsyncFSBrowser/data/extras/ace.ico.gz similarity index 100% rename from examples/ESP_AsyncFSBrowser/data/ace.ico.gz rename to examples/ESP_AsyncFSBrowser/data/extras/ace.ico.gz diff --git a/examples/ESP_AsyncFSBrowser/data/acefull.js.gz b/examples/ESP_AsyncFSBrowser/data/extras/acefull.js.gz similarity index 100% rename from examples/ESP_AsyncFSBrowser/data/acefull.js.gz rename to examples/ESP_AsyncFSBrowser/data/extras/acefull.js.gz diff --git a/examples/ESP_AsyncFSBrowser/data/extras/edit.htm.gz b/examples/ESP_AsyncFSBrowser/data/extras/edit.htm.gz new file mode 100644 index 0000000000000000000000000000000000000000..3d4fa14a97812370a5a6b55d7ddad8b582ea444c GIT binary patch literal 4509 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 literal 0 HcmV?d00001 diff --git a/examples/SmartSwitch/data/ace.ico.gz b/examples/SmartSwitch/data/extras/ace.ico.gz similarity index 100% rename from examples/SmartSwitch/data/ace.ico.gz rename to examples/SmartSwitch/data/extras/ace.ico.gz diff --git a/examples/SmartSwitch/data/acefull.js.gz b/examples/SmartSwitch/data/extras/acefull.js.gz similarity index 100% rename from examples/SmartSwitch/data/acefull.js.gz rename to examples/SmartSwitch/data/extras/acefull.js.gz diff --git a/examples/SmartSwitch/data/extras/edit.htm.gz b/examples/SmartSwitch/data/extras/edit.htm.gz new file mode 100644 index 0000000000000000000000000000000000000000..3d4fa14a97812370a5a6b55d7ddad8b582ea444c GIT binary patch literal 4509 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 literal 0 HcmV?d00001 diff --git a/src/SPIFFSEditor.cpp b/src/SPIFFSEditor.cpp index e7a592e..36f2ee7 100644 --- a/src/SPIFFSEditor.cpp +++ b/src/SPIFFSEditor.cpp @@ -1,14 +1,14 @@ #include "SPIFFSEditor.h" #include -#include "edit.htm.gz.h" +//#include "edit.htm.gz.h" // moved to FS #ifdef ESP32 #define fullName(x) name(x) #endif #define SPIFFS_MAXLENGTH_FILEPATH 32 -const char *excludeListFile = "/.exclude.files"; +static const char excludeListFile[] PROGMEM = "/.exclude.files"; typedef struct ExcludeListS { char *item; @@ -103,7 +103,7 @@ static void loadExcludeList(fs::FS &_fs, const char *filename){ static bool isExcluded(fs::FS &_fs, const char *filename) { if(excludes == NULL){ - loadExcludeList(_fs, excludeListFile); + loadExcludeList(_fs, String(FPSTR(excludeListFile)).c_str()); } ExcludeList *e = excludes; while(e){ @@ -130,12 +130,12 @@ SPIFFSEditor::SPIFFSEditor(const String& username, const String& password, const {} bool SPIFFSEditor::canHandle(AsyncWebServerRequest *request){ - if(request->url().equalsIgnoreCase("/edit")){ + if(request->url().equalsIgnoreCase(F("/edit"))){ if(request->method() == HTTP_GET){ - if(request->hasParam("list")) + if(request->hasParam(F("list"))) return true; - if(request->hasParam("edit")){ - request->_tempFile = _fs.open(request->arg("edit"), "r"); + if(request->hasParam(F("edit"))){ + request->_tempFile = _fs.open(request->arg(F("edit")), "r"); if(!request->_tempFile){ return false; } @@ -147,7 +147,7 @@ bool SPIFFSEditor::canHandle(AsyncWebServerRequest *request){ #endif } if(request->hasParam("download")){ - request->_tempFile = _fs.open(request->arg("download"), "r"); + request->_tempFile = _fs.open(request->arg(F("download")), "r"); if(!request->_tempFile){ return false; } @@ -158,7 +158,7 @@ bool SPIFFSEditor::canHandle(AsyncWebServerRequest *request){ } #endif } - request->addInterestingHeader("If-Modified-Since"); + request->addInterestingHeader(F("If-Modified-Since")); return true; } else if(request->method() == HTTP_POST) @@ -178,8 +178,8 @@ void SPIFFSEditor::handleRequest(AsyncWebServerRequest *request){ return request->requestAuthentication(); if(request->method() == HTTP_GET){ - if(request->hasParam("list")){ - String path = request->getParam("list")->value(); + if(request->hasParam(F("list"))){ + String path = request->getParam(F("list"))->value(); #ifdef ESP32 File dir = _fs.open(path); #else @@ -204,11 +204,11 @@ void SPIFFSEditor::handleRequest(AsyncWebServerRequest *request){ continue; } if (output != "[") output += ','; - output += "{\"type\":\""; - output += "file"; - output += "\",\"name\":\""; + output += F("{\"type\":\""); + output += F("file"); + output += F("\",\"name\":\""); output += String(fname); - output += "\",\"size\":"; + output += F("\",\"size\":"); output += String(entry.size()); output += "}"; #ifdef ESP32 @@ -221,41 +221,42 @@ void SPIFFSEditor::handleRequest(AsyncWebServerRequest *request){ dir.close(); #endif output += "]"; - request->send(200, "application/json", output); + request->send(200, F("application/json"), output); output = String(); } - else if(request->hasParam("edit") || request->hasParam("download")){ - request->send(request->_tempFile, request->_tempFile.fullName(), String(), request->hasParam("download")); + else if(request->hasParam(F("edit")) || request->hasParam(F("download"))){ + request->send(request->_tempFile, request->_tempFile.fullName(), String(), request->hasParam(F("download"))); } else { const char * buildTime = __DATE__ " " __TIME__ " GMT"; - if (request->header("If-Modified-Since").equals(buildTime)) { + if (request->header(F("If-Modified-Since")).equals(buildTime)) { request->send(304); } else { - AsyncWebServerResponse *response = request->beginResponse_P(200, "text/html", edit_htm_gz, edit_htm_gz_len); - response->addHeader("Content-Encoding", "gzip"); - response->addHeader("Last-Modified", buildTime); - request->send(response); + request->send(_fs, F("/extras/edit.htm"), String(F("text/html")), false); + // AsyncWebServerResponse *response = request->beginResponse_P(200, "text/html", edit_htm_gz, edit_htm_gz_len); + // response->addHeader("Content-Encoding", "gzip"); + // response->addHeader("Last-Modified", buildTime); + // request->send(response); } } } else if(request->method() == HTTP_DELETE){ - if(request->hasParam("path", true)){ + if(request->hasParam(F("path"), true)){ - if(!(_fs.remove(request->getParam("path", true)->value()))){ + if(!(_fs.remove(request->getParam(F("path"), true)->value()))){ #ifdef ESP32 - _fs.rmdir(request->getParam("path", true)->value()); // try rmdir for littlefs + _fs.rmdir(request->getParam(F("path"), true)->value()); // try rmdir for littlefs #endif } - request->send(200, "", "DELETE: "+request->getParam("path", true)->value()); + request->send(200, "", String(F("DELETE: "))+request->getParam(F("path"), true)->value()); } else request->send(404); } else if(request->method() == HTTP_POST){ - if(request->hasParam("data", true, true) && _fs.exists(request->getParam("data", true, true)->value())) - request->send(200, "", "UPLOADED: "+request->getParam("data", true, true)->value()); + if(request->hasParam(F("data"), true, true) && _fs.exists(request->getParam(F("data"), true, true)->value())) + request->send(200, "", String(F("UPLOADED: "))+request->getParam(F("data"), true, true)->value()); - else if(request->hasParam("rawname", true) && request->hasParam("raw0", true)){ - String rawnam = request->getParam("rawname", true)->value(); + else if(request->hasParam(F("rawname"), true) && request->hasParam(F("raw0"), true)){ + String rawnam = request->getParam(F("rawname"), true)->value(); if (_fs.exists(rawnam)) _fs.remove(rawnam); // delete it to allow a mode @@ -263,22 +264,22 @@ void SPIFFSEditor::handleRequest(AsyncWebServerRequest *request){ uint16_t i = 0; fs::File f = _fs.open(rawnam, "a"); - while (request->hasParam("raw" + String(k), true)) { //raw0 .. raw1 + while (request->hasParam(String(F("raw")) + String(k), true)) { //raw0 .. raw1 if(f){ - i += f.print(request->getParam("raw" + String(k), true)->value()); + i += f.print(request->getParam(String(F("raw")) + String(k), true)->value()); } k++; } f.close(); - request->send(200, "", "IPADWRITE: " + rawnam + ":" + String(i)); + request->send(200, "", String(F("IPADWRITE: ")) + rawnam + ":" + String(i)); } else { request->send(500); } } else if(request->method() == HTTP_PUT){ - if(request->hasParam("path", true)){ - String filename = request->getParam("path", true)->value(); + if(request->hasParam(F("path"), true)){ + String filename = request->getParam(F("path"), true)->value(); if(_fs.exists(filename)){ request->send(200); } else { @@ -306,7 +307,7 @@ void SPIFFSEditor::handleRequest(AsyncWebServerRequest *request){ if(f){ f.write((uint8_t)0x00); f.close(); - request->send(200, "", "CREATE: "+filename); + request->send(200, "", String(F("CREATE: "))+filename); } else { request->send(500); } diff --git a/src/edit.htm b/src/edit.htm index 4943b8b..e3eeac3 100644 --- a/src/edit.htm +++ b/src/edit.htm @@ -1,581 +1 @@ - - - - - ESP Editor - - - - - - - - - - -

-
-
-
- - - - - \ No newline at end of file +ESP Editor
\ No newline at end of file diff --git a/src/edit.htm.gz.h b/src/edit.htm.gz.h index 3b163a0..49ab77a 100644 --- a/src/edit.htm.gz.h +++ b/src/edit.htm.gz.h @@ -1,231 +1,231 @@ -//File: edit.htm.gz, Size: 4503 -#define edit_htm_gz_len 4503 +//File: edit.htm.gz, Size: 4509 +#define edit_htm_gz_len 4509 const uint8_t edit_htm_gz[] PROGMEM = { -0x1F,0x8B,0x08,0x08,0x54,0x90,0x4A,0x5F,0x02,0x00,0x65,0x64,0x69,0x74,0x2E,0x68,0x74,0x6D,0x00,0xB5, -0x1A,0x0B,0x5B,0xDB,0x36,0xF0,0xAF,0x18,0x6F,0x63,0xF6,0xE2,0x38,0x0E,0x50,0xD6,0x3A,0x18,0x16,0x1E, +0x1F,0x8B,0x08,0x08,0x76,0xDF,0x5C,0x5F,0x02,0x00,0x65,0x64,0x69,0x74,0x2E,0x68,0x74,0x6D,0x00,0xB5, +0x1A,0x0B,0x5B,0xDB,0x36,0xF0,0xAF,0x18,0x6F,0x63,0xF6,0xE2,0x38,0x0E,0x50,0xD6,0x39,0x18,0x16,0x1E, 0xEB,0xBB,0x50,0x12,0xDA,0xD1,0x8E,0xED,0x53,0x6C,0x25,0x56,0xB1,0x25,0xCF,0x96,0x09,0x34,0xCD,0x7F, -0xDF,0x49,0xF2,0x93,0x84,0xEE,0xF1,0x6D,0xA5,0x60,0x49,0xA7,0x3B,0xDD,0x9D,0xEE,0x25,0xD9,0x7B,0x1B, -0xC7,0xA7,0x47,0xE3,0xCB,0xB3,0x13,0x2D,0xE4,0x71,0xB4,0xBF,0x27,0xFE,0x6A,0x11,0xA2,0x33,0x4F,0xC7, -0x54,0xDF,0xDF,0x8B,0x31,0x47,0x00,0xE2,0x49,0x17,0xFF,0x91,0x93,0x1B,0x4F,0x3F,0x62,0x94,0x63,0xCA, -0xBB,0xFC,0x2E,0xC1,0xBA,0xE6,0xAB,0x9E,0xA7,0x73,0x7C,0xCB,0x7B,0x02,0x79,0xA0,0xF9,0x21,0x4A,0x33, -0xCC,0xBD,0x9C,0x4F,0xBB,0x8F,0x81,0x04,0x27,0x3C,0xC2,0xFB,0x27,0xA3,0x33,0xED,0x24,0x20,0x9C,0xA5, -0x7B,0x3D,0x35,0xB2,0x17,0x11,0x7A,0xAD,0xA5,0x38,0xF2,0x74,0x94,0x24,0x11,0xEE,0x72,0x96,0xFB,0x61, -0x97,0x00,0x4D,0x5D,0x0B,0x53,0x3C,0xF5,0xF4,0x1E,0xF2,0xB1,0x0D,0x03,0xBA,0x26,0x96,0xF3,0x74,0x12, -0xA3,0x19,0xEE,0xDD,0xAA,0x39,0x4D,0x02,0x59,0xC8,0x52,0xEE,0xE7,0x5C,0xFB,0x57,0xD8,0xFF,0x00,0x29, -0xE3,0x77,0x11,0x56,0x20,0x25,0xB3,0x9F,0x65,0xBA,0x16,0xE3,0x80,0x20,0xE0,0xC2,0x4F,0xB1,0xD0,0x5A, -0x84,0x26,0x38,0x5A,0x4C,0x19,0xA8,0x29,0x23,0x9F,0xB1,0xDB,0xDF,0x4A,0x6E,0x07,0xB2,0x3B,0x45,0x31, -0x89,0xEE,0xDC,0x0C,0xD1,0xAC,0x9B,0xE1,0x94,0x4C,0x97,0xB6,0x1F,0x2F,0x3E,0x77,0x09,0x0D,0xF0,0xAD, -0xBB,0xED,0x38,0x83,0x84,0x65,0x84,0x13,0x46,0x5D,0x34,0xC9,0x58,0x94,0x73,0x3C,0x88,0xF0,0x94,0xBB, -0x8F,0x80,0xC2,0x84,0xA5,0x01,0x4E,0xDD,0x7E,0x72,0xAB,0x01,0x88,0x04,0xDA,0x37,0x3B,0x3B,0x3B,0x83, -0x09,0xF2,0xAF,0x67,0x29,0xCB,0x69,0xD0,0xF5,0x59,0xC4,0x52,0xF7,0x9B,0xE9,0x23,0xF1,0x33,0x08,0x48, -0x96,0x44,0xE8,0xCE,0xA5,0x8C,0x62,0xC0,0xBD,0xED,0x66,0x21,0x0A,0xD8,0xDC,0x75,0x34,0x47,0xEB,0x3B, -0x40,0x24,0x9D,0x4D,0x90,0xE1,0x58,0xE2,0xC7,0xDE,0x31,0x07,0x7F,0x8B,0x5F,0x35,0x3C,0xC7,0x64,0x16, -0x72,0xF7,0x47,0xC7,0x11,0xFC,0x6B,0x79,0xB4,0x88,0x48,0xC6,0xBB,0x52,0x39,0x6A,0x3D,0xCE,0x12,0xD7, -0x91,0xAC,0xC3,0x23,0x46,0xE9,0x8C,0x50,0x68,0x24,0x28,0x08,0x08,0x9D,0xB9,0x0A,0x2D,0x22,0x8B,0x4A, -0x5A,0xD8,0x07,0xC4,0xC9,0x0D,0x1E,0xC4,0x84,0x76,0xE7,0x24,0xE0,0xA1,0xBB,0xEB,0x00,0x17,0x7E,0x9E, -0x66,0x20,0x53,0xC2,0x08,0xE5,0x38,0x95,0x68,0x59,0x82,0xE8,0x42,0x89,0x2A,0x14,0x50,0xC9,0x49,0x28, -0xEC,0x28,0xEE,0x4E,0x22,0xE6,0x5F,0x57,0x2B,0xED,0x26,0xB7,0xC5,0x5A,0x6E,0xC8,0x6E,0x70,0xBA,0xA8, -0xD5,0x25,0xB1,0x5B,0xC0,0x16,0x69,0x8C,0xF1,0xD2,0xE6,0x37,0x39,0x40,0x2D,0xF9,0x04,0x29,0x0B,0xAA, -0x4D,0x91,0xDA,0x82,0x17,0x28,0x84,0x26,0x39,0x5F,0xAC,0x6E,0x25,0x4B,0x90,0x4F,0xF8,0x9D,0xEB,0xC8, -0x69,0xD2,0x42,0xDC,0x1D,0xC7,0xD1,0x84,0xC2,0xB5,0x77,0x38,0x0D,0x10,0x45,0xD6,0x30,0x25,0x28,0xB2, -0x46,0xB5,0xCA,0xBB,0x31,0xFB,0xDC,0xCD,0xA1,0x0D,0xFD,0x08,0xFB,0x5C,0x69,0x18,0x36,0x61,0x72,0x4D, -0xF8,0x2A,0x60,0x65,0xA0,0xA1,0x2B,0xA9,0xA1,0x50,0xED,0x5E,0x1F,0x74,0x23,0xF9,0x50,0x62,0x2B,0x89, -0xBA,0x13,0xC6,0x39,0x8B,0xA5,0xBD,0x55,0xD2,0x6A,0xD2,0x64,0x1E,0xAF,0x6C,0xC7,0x7A,0xD5,0x37,0xC8, -0x0F,0x40,0xA9,0x9C,0xF8,0x28,0xEA,0xA2,0x88,0xCC,0xA8,0x1B,0x93,0x20,0x88,0x70,0xC3,0x64,0xDD,0x3C, -0x8D,0x8C,0x00,0x71,0xE4,0x2A,0x3F,0x4B,0xE8,0x0C,0xA0,0x19,0xDE,0xDD,0xB1,0xC8,0xBB,0xC3,0xD3,0xF3, -0xB9,0xF3,0xF2,0xE9,0x8C,0x0D,0xE1,0xDF,0x9B,0xD1,0x45,0x78,0x72,0x31,0x83,0xD6,0xA1,0xE8,0x0E,0xDF, -0x1E,0x0D,0xDF,0xC2,0xE3,0xA8,0xDF,0xF9,0x34,0xFD,0x63,0x28,0x86,0x9F,0x06,0x87,0xE3,0x8B,0x93,0xE1, -0xF0,0x65,0xEF,0xF9,0x9B,0xF9,0xFB,0x97,0xBB,0x02,0x7C,0x18,0x39,0xE7,0xEF,0x42,0xE7,0x62,0xEB,0x49, -0x1C,0x3C,0x0B,0x42,0x3F,0xBE,0x18,0xBE,0x7D,0x7F,0x7E,0x73,0x19,0x5F,0xCC,0x46,0xEF,0xFB,0xE1,0x87, -0xAD,0x77,0xA3,0x0F,0xEF,0x7F,0xBE,0xC6,0xBF,0x3C,0x7B,0xF1,0x61,0x3C,0x07,0x84,0x63,0x36,0xBA,0x38, -0x3F,0x7C,0x77,0x38,0xFB,0x70,0xE8,0x9F,0xDC,0x4E,0xA2,0x37,0x87,0x4F,0x87,0x93,0xE1,0x96,0x8F,0xF1, -0x6C,0x7C,0x7E,0x98,0x3F,0x7F,0x79,0x3A,0x23,0x24,0x1C,0x7D,0x78,0x33,0xF6,0x8F,0x1E,0xBD,0xBA,0x78, -0x36,0x24,0xE1,0x9B,0x17,0xE7,0xCE,0xF5,0xD3,0x97,0x47,0xC7,0xFE,0xE5,0x8B,0xCB,0xDD,0xE3,0xED,0xDE, -0x8F,0x3F,0xBE,0x0E,0x4E,0x09,0x1D,0xDF,0x7C,0x1E,0xCE,0x8E,0xE6,0x8F,0xEF,0xB2,0x71,0xF8,0xFC,0x86, -0xF6,0xDE,0xB1,0x4F,0xCF,0xEF,0x5E,0xC3,0xEF,0xD9,0x59,0x67,0x32,0xEA,0x67,0x17,0x6F,0x9F,0xBF,0xDB, -0xCA,0x9E,0x3C,0x4A,0x0E,0x8F,0x8F,0x6F,0xE2,0xC9,0x59,0x2F,0x0E,0xAE,0xA7,0xFC,0xF1,0x36,0x4F,0x2E, -0x67,0xF9,0x87,0x3F,0x1E,0xBD,0x08,0x7B,0xA7,0x18,0x5D,0x86,0x9D,0xBB,0xCF,0x77,0x8F,0xC3,0xF1,0xB3, -0x9B,0x37,0x11,0xBA,0x7D,0xF3,0xC6,0xFF,0x1C,0x77,0x22,0xF4,0xE4,0x74,0x1C,0xA1,0xB4,0x7F,0x11,0x0C, -0x7B,0x9D,0xA3,0xAD,0xE1,0x0E,0x4F,0xCF,0x8F,0xE8,0xF1,0xF6,0xA7,0xD1,0xE3,0xC3,0xC3,0x3E,0x9B,0xFC, -0xB1,0xF5,0xF4,0x7A,0xF7,0xE9,0xC5,0xEE,0xDB,0xC9,0xDB,0xE1,0x68,0xE7,0xF0,0x02,0x5D,0x8E,0xDE,0x0E, -0xA7,0x3B,0x93,0x30,0x7C,0xF9,0x72,0xFC,0x73,0x30,0xFC,0x9C,0x0E,0x4F,0xE7,0xC3,0xDB,0x93,0x8B,0xE1, -0xB3,0xCE,0xCB,0x93,0xD7,0x4E,0x7F,0x74,0xB9,0x3D,0x7B,0xBD,0x3B,0x3F,0xCC,0x4E,0x86,0x6F,0x0F,0x9D, -0xD9,0x8B,0x4E,0x8C,0x3E,0xB0,0xA3,0xED,0xD9,0xF3,0x5D,0x72,0x76,0x89,0x86,0xCF,0x0F,0x5F,0x64,0xE4, -0x3C,0x7E,0x76,0xE1,0x0C,0x87,0xAF,0x4E,0xF1,0xCF,0x47,0xDB,0xE8,0xE5,0x96,0xFF,0x1E,0xF4,0x7F,0xF1, -0x0B,0xFE,0xB1,0x33,0x9C,0x9F,0x3A,0x91,0xFF,0x04,0x8F,0x9F,0x5D,0x8E,0xE5,0xEE,0x9C,0x44,0x3F,0x8F, -0xAF,0x47,0xF9,0xDB,0xF8,0xE8,0xC8,0xD4,0x28,0xEB,0xA6,0x38,0xC1,0x88,0x37,0x63,0x55,0xE5,0x1C,0x60, -0x5B,0xB5,0x15,0x16,0x4E,0x2A,0x22,0x6B,0x37,0xC0,0x3E,0x4B,0x91,0x9C,0x03,0x08,0x38,0x15,0x26,0xB6, -0xFC,0x49,0x86,0x5A,0x4D,0x45,0x5A,0x0D,0xD1,0x40,0x33,0x4A,0x47,0x88,0x09,0x05,0x9C,0x1B,0xE2,0xE3, -0x6E,0x42,0x6E,0x71,0xD4,0x95,0xC8,0xAE,0x63,0x2E,0xA4,0xB3,0x95,0xD3,0x10,0x25,0xB1,0xA2,0x5A,0x0E, -0x04,0x9F,0x90,0x2F,0x52,0x1A,0xB8,0x4C,0x0C,0xCF,0xC2,0x77,0x58,0xDA,0x9D,0xE4,0xB3,0x29,0xB9,0x05, -0x6F,0x9E,0x12,0x4A,0x38,0xD6,0xFA,0xD9,0xF2,0xA7,0x92,0xCC,0x35,0xBE,0x9B,0xA6,0x28,0xC6,0x99,0xF6, -0x37,0xC9,0x2C,0xA6,0x29,0x8B,0x17,0x75,0x04,0xE4,0xAC,0xD1,0x59,0x2E,0xBF,0xC9,0x93,0x88,0x21,0x10, -0x73,0x25,0x6C,0x94,0xC1,0x34,0x15,0x6E,0x55,0x05,0xD5,0xD2,0xCD,0xB6,0xC0,0x2D,0x5B,0x6E,0xBD,0xB5, -0x53,0xBB,0x6E,0x57,0xCE,0x15,0xC1,0xBE,0xA9,0xFA,0x46,0x3C,0x68,0xC4,0xBA,0x6F,0x38,0xA8,0x74,0xFD, -0xE2,0x6A,0x11,0x15,0x19,0x6A,0x06,0x54,0x94,0xEE,0xEF,0x3A,0x8D,0x50,0x01,0xF3,0x96,0xDF,0x60,0x99, -0xE6,0xAD,0x6F,0x92,0x14,0x76,0x03,0xCF,0xBF,0x42,0xB3,0x92,0xA9,0x4D,0x1B,0x68,0x56,0xE9,0x4E,0x89, -0x50,0xE7,0x3C,0xC9,0x6B,0x45,0x7A,0x55,0x2A,0x00,0x57,0xDC,0x3C,0x12,0xDC,0x7C,0x55,0xAB,0xDB,0xBB, -0xDF,0x15,0x3C,0xEC,0x38,0xDF,0x2D,0x6D,0x35,0xB7,0xCA,0xC7,0x7D,0x07,0xFE,0x95,0x69,0xF7,0x71,0xCD, -0xC2,0xE4,0x91,0xF8,0x29,0x19,0x04,0x3A,0x4D,0xE0,0xF6,0xCE,0x93,0xC7,0xC1,0xA4,0x04,0x2A,0xC1,0x1E, -0x86,0xA7,0x28,0x20,0x79,0xE6,0x3E,0x72,0xBE,0x53,0xFA,0x84,0xED,0x03,0xD9,0xCB,0xCD,0x55,0x9D,0xDA, -0x62,0xB3,0x84,0x50,0x6D,0x2B,0xD3,0xC4,0x7E,0xA3,0xB4,0x32,0xCC,0x66,0xAA,0x07,0x17,0xA9,0x4D,0x53, -0xCC,0x5F,0x38,0xDF,0x2D,0x78,0x8A,0x68,0x36,0x65,0x69,0xEC,0xA6,0x8C,0x23,0x8E,0x0D,0xC7,0x5C,0xF6, -0x9D,0x75,0x80,0xED,0x5D,0x27,0xC0,0x33,0x73,0xB9,0xDC,0xEB,0xC9,0xA4,0x06,0x15,0x8F,0x9F,0x92,0x84, -0xEF,0x4F,0x73,0xEA,0x0B,0x1E,0xB4,0x19,0x36,0xB0,0xB9,0x48,0x31,0xCF,0x53,0xAA,0x05,0xCC,0xCF,0x85, -0xB1,0xDB,0x33,0xCC,0x4F,0x94,0xDD,0x1F,0xDE,0x3D,0x0F,0x60,0xC6,0xB2,0x42,0xF0,0xD7,0x22,0x80,0x03, -0xC3,0x7A,0x05,0x4E,0x6B,0x3E,0x24,0x18,0x20,0xF2,0x12,0xDF,0x19,0xD8,0xE2,0x15,0x22,0xB6,0xC5,0xB8, -0x61,0x94,0xD3,0x00,0x48,0xCD,0xC5,0x0D,0x68,0x01,0x79,0xF8,0x23,0xBF,0xB2,0x88,0x47,0xE1,0x31,0x28, -0xA6,0x93,0x7D,0x74,0xD0,0xED,0xBB,0x68,0x9F,0x1C,0xF4,0xC1,0xBF,0xCC,0x06,0x7D,0xB5,0xF2,0xCF,0x24, -0xC2,0x17,0x85,0xCB,0x89,0x85,0x6A,0x6A,0x3D,0x83,0x9C,0x85,0xA0,0x48,0xF3,0x07,0xE3,0x74,0xA4,0x19, -0x1F,0x7F,0xEC,0x3E,0xB9,0xFA,0xD2,0xFF,0xE8,0x74,0xFB,0x57,0xE6,0xEF,0x66,0x8F,0xD8,0x1C,0x67,0xDC, -0xA0,0xE8,0x86,0xCC,0x10,0xD8,0xB9,0x2D,0xF2,0xED,0x70,0x06,0x52,0x98,0x83,0x6A,0x0D,0xA2,0xD8,0xDB, -0x72,0x9C,0x0D,0x0F,0x1F,0xA0,0x08,0x03,0xEB,0xFA,0xC9,0xF9,0xF9,0xE9,0xF9,0x47,0xBD,0x83,0x3B,0xFA, -0x95,0xAB,0xE9,0x1D,0x6A,0xBA,0xDC,0x86,0xA2,0x33,0xC5,0x59,0x78,0x86,0x78,0x68,0x04,0xF6,0x0D,0x8A, -0x72,0xD0,0x85,0x60,0x84,0x79,0xA0,0x38,0x7D,0x92,0x73,0xCE,0xA8,0x6E,0x0E,0x98,0x4D,0x28,0xC5,0xE9, -0xB3,0xF1,0xEB,0x57,0x9E,0x7E,0xCE,0x18,0xD7,0x8E,0x49,0xAA,0x5B,0x72,0x37,0x6C,0x94,0x24,0x98,0x06, -0x47,0x21,0x89,0x02,0x83,0x99,0x03,0x81,0xEE,0x4B,0x74,0x59,0x88,0x00,0xB6,0x6F,0xAB,0x92,0x75,0x0A, -0x52,0xEB,0x96,0x6F,0xC7,0x79,0xC4,0x49,0x12,0x61,0x6F,0xA3,0x0F,0x3D,0x8A,0x62,0x80,0x89,0x34,0x2C, -0x60,0x24,0xF0,0x74,0x15,0x8C,0x8A,0x10,0xB6,0x6E,0x15,0x5F,0xAD,0x12,0xB4,0x56,0x09,0x9A,0xB8,0x09, -0x48,0xA4,0x5B,0x81,0x5D,0xD7,0xCA,0xD0,0x2B,0x96,0x2A,0x61,0x01,0x9E,0x22,0xE0,0xE4,0x9D,0x90,0x1A, -0x4A,0xEF,0x75,0x0B,0x05,0x6A,0xA1,0xAC,0xAD,0x8D,0xAC,0xA9,0x0D,0xB5,0x8D,0xEB,0x90,0x33,0x85,0x9C, -0xB6,0x91,0xD3,0x26,0xF2,0x91,0xB4,0x86,0x75,0xC8,0xA9,0x42,0x8E,0x5A,0x22,0x46,0x52,0x44,0x15,0xE1, -0xBA,0x42,0x9B,0x20,0x10,0x60,0x47,0x4D,0x31,0xA1,0x07,0x0E,0x89,0x26,0x11,0x0E,0xBC,0x0D,0x07,0x7A, -0xA2,0xA8,0xF6,0xB6,0x9C,0x35,0x6B,0x44,0x6A,0x8D,0xBC,0xB5,0x46,0x2E,0xD7,0x20,0x09,0x28,0x11,0xF2, -0x86,0x6E,0xE5,0x52,0x6B,0xED,0x11,0xB5,0x9C,0x1F,0x62,0xFF,0x7A,0xC2,0xE4,0x88,0x6C,0x8B,0x15,0x37, -0x90,0xA4,0x99,0x48,0x9A,0xF2,0x28,0x02,0x34,0x13,0x1B,0xBC,0xDC,0x13,0x94,0xAD,0xA4,0x29,0xBE,0x36, -0x8C,0xB8,0xAD,0x4B,0x84,0xB8,0xAD,0xA5,0xB8,0x35,0x6D,0x84,0x6E,0xB0,0xB6,0x4E,0x4B,0xB1,0xB9,0x66, -0x30,0x59,0x37,0x98,0x9B,0x56,0x6A,0x33,0xEA,0x47,0xC4,0xBF,0xF6,0x6A,0x37,0x36,0x17,0x46,0xB3,0x23, -0x38,0xE1,0x1E,0xC5,0x73,0xED,0x67,0x08,0x4B,0xC7,0x88,0xA3,0x01,0x2F,0xC8,0x18,0x85,0xDD,0x60,0x20, -0x04,0xA7,0x51,0xF0,0xC2,0xCC,0x46,0x01,0x0C,0x9F,0x5D,0x8C,0x75,0x4B,0xEF,0x89,0x5D,0xD1,0xC1,0x93, -0x89,0xB9,0x34,0x2B,0x5F,0xB2,0xA8,0x8C,0xEA,0x17,0x69,0x54,0x0F,0x41,0xA3,0xB4,0xB8,0xA5,0x15,0xAF, -0xE5,0x89,0x4C,0x8D,0x4A,0xA5,0x25,0x53,0xE2,0x64,0x28,0xD6,0x30,0x8A,0xFD,0xD7,0x4D,0x08,0x7B,0xCA, -0x78,0x0D,0xD3,0x42,0x6D,0xA6,0x51,0xC5,0x74,0x8A,0xE6,0xA5,0x91,0xA8,0xF5,0x07,0xCA,0xBD,0x1D,0xC8, -0xBE,0x34,0xE3,0x1A,0xF6,0x76,0x9C,0x27,0xBB,0x03,0xD8,0x1F,0x43,0x39,0x2E,0x00,0xF6,0xB8,0x0D,0xA6, -0x35,0xE3,0xE1,0xC0,0xEF,0x78,0x85,0x56,0x02,0x8F,0xDB,0x59,0x3E,0xC9,0x78,0x0A,0xB9,0xCD,0xF0,0x2D, -0xBF,0x83,0xCD,0xF6,0x32,0x7A,0x87,0x59,0x81,0x69,0xB1,0x4E,0x67,0x79,0x4F,0x41,0xA7,0xA3,0x86,0x86, -0x90,0xD0,0x10,0x8E,0x32,0xAC,0x51,0x1B,0xDF,0x62,0xFF,0x88,0xC5,0x31,0x12,0x24,0x32,0xD8,0xE4,0xA2, -0xA3,0x9B,0x4B,0x8B,0xAD,0xD5,0xCC,0x03,0x21,0xCB,0xCA,0x1E,0xD2,0x23,0x84,0x40,0xCF,0xB7,0x85,0xAF, -0x64,0x85,0x50,0x5F,0xDF,0xE5,0x32,0x10,0x29,0x94,0x8F,0xCE,0x95,0x55,0x6D,0xDC,0x8A,0x54,0xED,0x7D, -0x97,0x56,0xD7,0x8A,0x3F,0x66,0xBD,0xD3,0x02,0xD6,0x8E,0x6B,0x35,0x54,0x5F,0x2E,0x2D,0x5F,0xF0,0x1F, -0x22,0x3A,0xC3,0x7F,0x5F,0x80,0x9A,0x47,0xE9,0xA2,0x16,0x85,0xE4,0x71,0xE0,0xFE,0x6A,0x1B,0x1F,0x7F, -0xB3,0xAF,0x3A,0xA6,0x79,0xF0,0x6D,0x4F,0x6A,0xD8,0xE0,0xE6,0xC7,0xFE,0x95,0x85,0x00,0x6C,0xFF,0x60, -0xFE,0x6A,0x4B,0x70,0x0B,0x36,0xB8,0x61,0x24,0xD0,0xC4,0x4A,0xC2,0xB3,0xD9,0x54,0x43,0x9B,0x9B,0x06, -0x98,0x5C,0xCB,0x58,0x3B,0xBC,0xA3,0xDB,0x90,0x37,0x96,0xCB,0xFB,0xD9,0x6C,0x9C,0x62,0xAC,0xD2,0x65, -0x05,0x90,0xDC,0x83,0xCC,0x2B,0xC1,0xAA,0x94,0x1A,0x5B,0x35,0x14,0x06,0x65,0xBA,0xB7,0x8B,0x4A,0xC2, -0xD3,0x29,0xA3,0x60,0xB2,0xC9,0xFD,0x61,0x79,0xC4,0xD3,0x5B,0x31,0xE4,0xFB,0x3D,0x12,0xCF,0xB4,0x2C, -0xF5,0x3D,0xB5,0x15,0x07,0xE2,0x8F,0xF7,0xBD,0x48,0x73,0x9B,0xBF,0xFB,0x13,0x4F,0xEF,0xC0,0xFE,0x62, -0x9B,0xB2,0xB9,0x61,0x76,0xBE,0xD7,0x35,0x49,0xD1,0xD3,0x63,0x74,0x5B,0x1C,0xF4,0x45,0x25,0x32,0xD0, -0xA0,0x5F,0x96,0xB0,0x6A,0xA0,0x38,0x62,0xA3,0x9C,0xB3,0x81,0x56,0x56,0x38,0xEA,0x88,0xA9,0x6B,0xBD, -0xFD,0xEF,0x6B,0x1D,0x20,0x10,0x1D,0xA9,0x3D,0x21,0x32,0x88,0xE5,0x22,0xE4,0xE1,0x56,0xF4,0x21,0x85, -0xDB,0xA9,0xA8,0x48,0x00,0x4E,0xEE,0xA5,0x4D,0x2B,0x33,0x90,0x79,0x60,0xB4,0x12,0xED,0x9E,0x38,0x94, -0xEC,0x9F,0xA9,0x6A,0x73,0xAF,0x27,0x7B,0xFA,0x3A,0xC7,0x00,0xCD,0x53,0x40,0xB7,0xAA,0xFA,0x66,0xC2, -0x82,0xBB,0x46,0x55,0x94,0x1D,0xDE,0x1D,0x45,0x28,0xCB,0xDE,0xA0,0x18,0xD6,0xF7,0x63,0xDD,0x2C,0x4C, -0x69,0xDF,0xD9,0xDC,0x6C,0x23,0xA5,0x38,0x66,0x37,0x58,0x71,0x85,0x21,0x94,0xB9,0x01,0x10,0xDE,0xDC, -0x5C,0xC7,0x98,0xB8,0x50,0xFB,0x1A,0x57,0x14,0xDC,0xB5,0x0C,0x7F,0xFF,0x13,0x77,0x2A,0x47,0x3E,0xA4, -0xD5,0xC8,0xB4,0x04,0xF7,0x5F,0xBE,0x64,0xF2,0xEF,0x4A,0xA0,0x97,0xFE,0xB2,0xEA,0x2E,0x58,0xBA,0x04, -0xB8,0xDE,0x7D,0xAF,0xE0,0x66,0x36,0x27,0xDC,0x0F,0x85,0xBE,0x7D,0x94,0x61,0x5D,0xDC,0xD4,0xB9,0xB2, -0x35,0xFB,0x5C,0x34,0x3E,0x93,0xA4,0x68,0xCD,0xD1,0x4D,0xD1,0x8A,0x93,0xED,0xA2,0x95,0x04,0x53,0xDD, -0x55,0x45,0xE2,0x86,0xB3,0x2C,0x1A,0xFD,0xA5,0xDC,0xFA,0x68,0x55,0xC3,0xC7,0x6C,0x4E,0x85,0x02,0x2B, -0x2D,0x47,0x6B,0xF6,0xBE,0x4E,0x61,0x95,0xD3,0x05,0x05,0x5E,0x77,0x9A,0x2A,0x9F,0x6B,0xF8,0x47,0x09, -0x03,0xCF,0xC0,0x4B,0xF3,0xFF,0xB2,0x1A,0x5F,0x59,0xCD,0xCA,0x7E,0xAC,0x11,0xF2,0x28,0x84,0x5A,0xF2, -0x2F,0x24,0x8C,0x5B,0x2B,0xC4,0xB6,0x2F,0x9E,0x6F,0x58,0x20,0xA3,0x9F,0x69,0xE5,0x46,0x6C,0xFD,0x8F, -0x06,0x96,0xB4,0x0C,0xAC,0x5D,0x69,0x24,0x6B,0x76,0x0D,0x47,0x98,0xE3,0x4A,0xA2,0x64,0xAD,0x44,0xE9, -0xFF,0xA3,0xF9,0x3A,0x2C,0x11,0x75,0xAE,0x68,0x06,0xA6,0x80,0xDC,0xE8,0x90,0xA0,0xBD,0x36,0x85,0xCC, -0x4F,0x59,0x14,0x8D,0x59,0x72,0xF0,0xC0,0xB8,0x5B,0x8D,0x17,0x8D,0x92,0xCD,0x7A,0x8A,0xE5,0xAF,0x25, -0xFA,0x0A,0x4F,0xF9,0xC1,0x43,0x80,0x87,0xC9,0xD6,0x73,0xAC,0xC0,0xC3,0x36,0x28,0x0F,0x46,0x7F,0xE9, -0xF8,0x56,0x56,0xF5,0x2E,0x3B,0x0C,0xF6,0xC2,0x2F,0x95,0xE4,0x09,0x25,0x59,0x64,0x6D,0xBE,0xA8,0xC7, -0x23,0xA0,0xE8,0x05,0x1D,0x3D,0xB9,0xAD,0xC7,0x38,0x4B,0xBC,0x4C,0x0D,0x21,0x83,0x58,0xFC,0xDE,0xA6, -0xAC,0x8B,0xE2,0xA9,0x47,0x6C,0x36,0x9D,0x66,0x98,0xBF,0x17,0x19,0xC4,0x8A,0xAA,0xFE,0x33,0x99,0x41, -0x06,0xD0,0xA5,0x31,0xCB,0x33,0xCC,0x72,0xDE,0xAE,0x35,0x2B,0x61,0xF6,0x82,0x2F,0x5F,0xAA,0xCE,0x7E, -0xD0,0x49,0xEB,0xEE,0xE5,0x5E,0xD6,0xE8,0xEC,0x67,0x9D,0x08,0x3C,0xE9,0x3F,0xB6,0x14,0xD2,0xB4,0x14, -0x26,0x12,0x98,0xC5,0x94,0xA5,0xA4,0xB5,0xAD,0xA7,0xE2,0x24,0x80,0x1A,0x21,0x56,0x18,0xB4,0x6E,0x96, -0x87,0xDC,0xA6,0x2B,0x23,0x2B,0x6D,0x7B,0xFA,0x43,0xD5,0x76,0x60,0x08,0xAA,0xA0,0xF5,0x57,0x6C,0x8E, -0xD3,0x23,0x94,0x61,0x03,0x22,0x6F,0x95,0x26,0x24,0xD4,0x74,0xB3,0xB5,0xB3,0x68,0x01,0xF5,0xD5,0x13, -0xC2,0xCB,0x57,0xC3,0x02,0x4C,0x10,0x71,0x61,0x0D,0x25,0x73,0xA9,0xB8,0x63,0x54,0x9C,0x98,0x40,0x43, -0x79,0x8B,0x47,0x6C,0x8B,0x0B,0x1E,0xD0,0xDB,0xB1,0x3A,0x20,0x42,0x79,0x8D,0xC1,0x5A,0x58,0x72,0x96, -0xB2,0x04,0xCD,0x90,0x98,0x07,0x63,0xE0,0x60,0x92,0xB8,0xA0,0xD6,0xA8,0x88,0xEA,0xEB,0x86,0x6E,0xDF, -0x03,0x7B,0x95,0x97,0x39,0xA7,0x53,0x03,0x6A,0x27,0xB3,0x9E,0x16,0xFC,0x77,0x49,0x88,0xDF,0xF2,0x22, -0xBB,0x84,0x3C,0xAE,0x5B,0x51,0xD1,0xFC,0x94,0x15,0x0D,0x3F,0x2B,0x5B,0xB7,0x0D,0x20,0xA3,0x25,0x98, -0xD1,0x69,0xD1,0x24,0x94,0x94,0x74,0x4A,0x60,0xF9,0x4C,0x92,0x32,0x93,0x85,0x65,0x2B,0xC4,0xB7,0x15, -0x1E,0xAB,0xF2,0x1C,0x5E,0x97,0xE7,0xEA,0x5B,0x96,0xFF,0x4E,0xFC,0x84,0xCE,0x4A,0x61,0x92,0xB2,0x35, -0x23,0xA5,0x28,0x93,0x38,0xF9,0x2A,0x23,0xE9,0xBF,0x3D,0xF5,0x1D,0x9F,0xBC,0x3A,0x19,0x9F,0x34,0x0F, -0x00,0xCD,0xCB,0x21,0xFE,0x57,0xB7,0x2F,0xDC,0x74,0x8D,0xBF,0x91,0xD4,0xA0,0xEC,0x36,0xCD,0xD6,0xFD, -0x51,0xD4,0xBA,0x97,0xAA,0x33,0x4A,0x71,0xE1,0x03,0x7A,0xDA,0xDC,0x6C,0x30,0x22,0xC7,0xEB,0x3B,0x2D, -0x6A,0xE9,0xAA,0x0A,0x97,0x5E,0x8D,0x1E,0x2A,0x57,0x91,0x59,0x1D,0x08,0x89,0x47,0x8B,0x88,0x62,0x89, -0xB3,0x21,0xD9,0xF7,0xE1,0x50,0xD8,0x31,0xD5,0x5D,0x8E,0xE7,0xC1,0xB5,0x97,0x7F,0x25,0xEF,0x03,0x36, -0x37,0x51,0xBB,0xA4,0x35,0x1C,0x4B,0x02,0xC5,0x82,0xB2,0x25,0x6F,0x22,0x40,0x16,0x60,0xCB,0xB1,0x5E, -0x8C,0x4E,0xDF,0xD8,0x09,0x4A,0xC1,0x21,0xA9,0xD9,0x8C,0x46,0xB9,0x12,0xB0,0xAD,0xED,0xA7,0x27,0x8D, -0xB3,0x96,0x7C,0xDD,0xE7,0xF2,0xA5,0x15,0x19,0x82,0x9C,0xCA,0xD0,0xA2,0xEC,0x29,0xEE,0x65,0x21,0xC7, -0xC5,0x65,0xBE,0xAB,0xC3,0x55,0xDC,0xCC,0x16,0xFC,0x26,0x7F,0xE0,0x3A,0x81,0x87,0x24,0x6B,0x9E,0x31, -0x5B,0x91,0xE1,0x6F,0xEE,0xD8,0xB2,0x6C,0x29,0x72,0xF7,0x8F,0x4B,0xEA,0x45,0xB4,0xDA,0x1C,0x79,0x1C, -0x5E,0xD4,0xA1,0xB8,0x36,0x47,0x1D,0x52,0x18,0xA1,0xBA,0x45,0xFF,0xA9,0x87,0xD0,0xD2,0x43,0xE8,0x6A, -0x80,0xC0,0xB7,0x2D,0x6F,0xAF,0x56,0x19,0x4C,0x80,0xB3,0xEB,0x41,0x1D,0x45,0x00,0x02,0xCF,0xA8,0x05, -0xF8,0x94,0xC9,0xF1,0x4F,0xE8,0x06,0xA9,0x6B,0xD9,0x1A,0xBA,0x3E,0x54,0xC8,0xE9,0xFE,0xEF,0xD0,0xAA, -0x66,0xB6,0x03,0x51,0x06,0xCD,0xD5,0x78,0xC2,0x5B,0xE1,0xA9,0x8E,0x59,0xCD,0xE8,0x04,0xEE,0x5A,0x78, -0xB3,0xC6,0x1B,0xFA,0x6D,0xB8,0x1E,0x18,0xE4,0x43,0xBE,0xD7,0x8C,0xC3,0x0A,0xA3,0x69,0x3D,0xEB,0x0F, -0xA3,0xED,0xE3,0xEA,0xFA,0x3A,0x43,0xFA,0x1F,0x3E,0xC8,0xEC,0xAC,0xBC,0x98,0x01,0x37,0x6F,0xF4,0x74, -0x30,0x88,0x0C,0xCC,0x10,0xA3,0x74,0x24,0xEE,0x00,0x54,0x22,0x59,0xAA,0x0D,0xF4,0xA4,0xEB,0x1A,0xA0, -0xB1,0x9E,0x4C,0x19,0x36,0xE8,0x01,0xE6,0x57,0x40,0x0A,0x40,0xEA,0x31,0x20,0xD9,0x18,0x44,0x30,0x88, -0x3C,0x3D,0x66,0x94,0x5D,0x23,0xD2,0x9C,0x4E,0x00,0x42,0x8A,0xAF,0x04,0xF4,0x0E,0xB5,0x8A,0x7D,0x90, -0x84,0x6A,0x88,0xDA,0x7D,0xB3,0xB8,0xE5,0xAC,0xEF,0x98,0x70,0xE9,0x36,0x85,0x7D,0x6C,0x48,0xB4,0x4C, -0x14,0x1E,0x23,0x9C,0x65,0x92,0x6F,0x21,0xD7,0x6B,0x16,0x80,0x58,0x80,0xD6,0x8B,0xA1,0x25,0x16,0x02, -0x09,0x05,0x60,0x1C,0xE2,0xB8,0x80,0x70,0x68,0x0A,0x10,0x12,0xA0,0x6F,0xA5,0xAA,0x46,0xB2,0xC0,0x23, -0x74,0xE6,0xF5,0x7B,0x8E,0xB5,0x4A,0xF6,0x22,0xC3,0x23,0x36,0xE5,0x63,0x34,0xC9,0x8C,0x0D,0xC7,0x5C, -0x9D,0x21,0x40,0x23,0x88,0x26,0xC6,0x96,0xB9,0x1E,0xFD,0x3D,0x4B,0xAF,0x71,0x5A,0x20,0x8B,0xCA,0x0C, -0x0A,0xB3,0x08,0x7E,0xF9,0xD0,0x17,0x2F,0xFA,0x5F,0x11,0x8A,0x6B,0xE0,0x28,0x64,0xF3,0xB3,0x94,0x50, -0xFE,0x5A,0x1E,0xFA,0x8D,0x8D,0xBE,0xDC,0x27,0x75,0x17,0x25,0x23,0x50,0x79,0x49,0xB5,0x10,0xC1,0xCC, -0x6D,0x5D,0x55,0x59,0x13,0xD8,0x2E,0x88,0xAD,0xEE,0x62,0x4E,0xA8,0xAB,0x1F,0xF1,0x34,0xEA,0x8E,0x74, -0x2B,0x46,0x3E,0x74,0xD4,0x1C,0xE8,0x2F,0x2D,0xE1,0xB4,0x6E,0x33,0x98,0x6C,0xD4,0x9D,0xBA,0x50,0x5F, -0xB9,0xC7,0x6B,0x5F,0x4B,0x09,0xE0,0x61,0xC4,0x26,0x86,0x78,0xE7,0xB0,0x10,0x0E,0xEF,0xD2,0xA5,0x29, -0xB2,0xD3,0xD7,0xAF,0xDC,0x7C,0x88,0xBA,0xDC,0xC2,0x8D,0x1B,0xC3,0x8E,0xAE,0x8B,0x8B,0x38,0xC0,0x43, -0xC1,0x29,0x8D,0xEE,0x5C,0xC8,0x8A,0x7F,0x21,0x75,0x4E,0x03,0xF6,0x35,0xA9,0x3F,0xDC,0x93,0xFA,0xC3, -0x3A,0xA9,0x71,0x7B,0xB7,0xA0,0x73,0x01,0x64,0x5F,0x23,0x8A,0x66,0x38,0x85,0x01,0xB1,0x08,0x6C,0xC0, -0x3F,0xE3,0x2C,0xC5,0x5F,0xE7,0x6C,0x14,0x92,0x29,0x5F,0xE1,0x4F,0x8E,0xFE,0x3B,0x2E,0x53,0xFC,0x00, -0x97,0x65,0x21,0x5B,0xA5,0x8D,0xBF,0xBE,0x07,0x93,0x4E,0xED,0xC1,0x16,0x36,0xDD,0xF5,0x5F,0xF8,0x5D, -0xBD,0xE2,0xD7,0xB3,0xA7,0x78,0xB8,0x78,0x69,0x05,0xC2,0x26,0x40,0x82,0x46,0x7E,0x62,0xF4,0x10,0x4E, -0x0A,0xAF,0x40,0x04,0x43,0x99,0x23,0xF6,0x16,0x4B,0x8B,0x7B,0xC6,0x9C,0x80,0xF8,0x73,0x10,0xCE,0x97, -0xD5,0xAF,0x2D,0xBE,0x56,0x02,0x25,0x00,0x93,0x90,0x67,0x7B,0x1F,0x0F,0x36,0xAF,0x3A,0x90,0xA0,0x3C, -0x78,0x98,0x1E,0x34,0x36,0xAF,0x7E,0x30,0x7B,0x33,0xD2,0x28,0x89,0x64,0xAA,0x03,0xBD,0x7E,0xA4,0x57, -0x1E,0x5A,0x42,0x08,0x6B,0xA6,0xC2,0x2A,0xB0,0x5A,0x58,0x5E,0x69,0xC2,0x43,0x7C,0x04,0x06,0x0F,0x19, -0x3B,0x60,0x36,0xF5,0x1A,0x37,0x8D,0x3A,0x87,0xBF,0x3A,0x84,0xED,0x41,0xC1,0x56,0x80,0xA7,0x84,0x62, -0x19,0xBD,0x54,0xD3,0x2A,0x00,0x42,0x0D,0x24,0x95,0x90,0xB2,0x6D,0x89,0xB6,0xC8,0x7E,0x64,0x26,0x14, -0x69,0xE8,0xE2,0x83,0x0F,0x91,0xE8,0x75,0x99,0xB0,0x57,0xC0,0x73,0x19,0x48,0x1A,0x13,0xD6,0xBC,0xC0, -0xD3,0xF3,0xA2,0xA5,0x83,0x94,0xBC,0x11,0x84,0x95,0x38,0x10,0x6F,0x55,0xE3,0x5E,0x68,0xAF,0x4F,0x3D, -0x0A,0x6C,0x2E,0xC1,0xC5,0x94,0x00,0x81,0x5E,0xA5,0xF3,0x5F,0x5E,0xBF,0x7A,0xC6,0x79,0x72,0xAE,0x76, -0x14,0x68,0xB5,0x07,0x6A,0x43,0x33,0x17,0x3C,0xBD,0x2B,0x0B,0x43,0x11,0x28,0x54,0xA8,0xFB,0xE5,0x74, -0xF2,0x09,0xFB,0x20,0xC9,0xEB,0x0C,0x72,0xE8,0x96,0x2D,0xD0,0xC7,0xE3,0x33,0x7B,0xD7,0x76,0xA0,0x52, -0x81,0xFD,0xF4,0x43,0x61,0x31,0xCB,0x7F,0x84,0xBC,0xFD,0xCF,0x90,0x09,0xC4,0xFB,0x0C,0x02,0x7A,0x89, -0xDF,0xC6,0x0D,0x53,0x36,0x97,0x68,0x27,0x69,0x2A,0x8C,0x61,0x1C,0x92,0x4C,0x9B,0xC0,0x60,0x86,0x53, -0x2D,0x60,0x38,0xD3,0x28,0xE3,0x5A,0x96,0x27,0x09,0x4B,0xF9,0x3D,0x7D,0xD8,0x7A,0x79,0x49,0xF3,0x36, -0xC7,0x39,0x0E,0x8A,0x61,0x9C,0x36,0xF5,0x22,0x6B,0x3A,0x18,0x07,0x77,0xFB,0x78,0x55,0x54,0x78,0x39, -0xA5,0x22,0xFF,0x6C,0xF4,0x55,0x1F,0xA4,0x0B,0x81,0xAA,0x47,0xF3,0x28,0x5A,0x0E,0xEE,0xD1,0xB2,0x93, -0x94,0x71,0x26,0x5F,0x7A,0x2D,0x7E,0x2F,0x5C,0xCB,0xBD,0x77,0x4D,0xDF,0xA6,0xEA,0x58,0x1B,0xC6,0x06, -0xD6,0x08,0xCD,0x38,0xA2,0xBE,0xD8,0x46,0xA5,0x0B,0xB3,0xAC,0xEE,0xC4,0xF4,0x81,0x88,0x0B,0xD2,0x70, -0x1E,0x2C,0x29,0xA4,0x64,0xD4,0xD3,0x75,0x51,0xE8,0x61,0x51,0x2F,0xA3,0x38,0x6B,0x90,0xAD,0x32,0x85, -0x49,0xBD,0x12,0x3C,0x90,0x2F,0x57,0x9A,0xF3,0x57,0xD9,0x28,0xAB,0x7B,0x04,0x30,0xAD,0x9C,0x67,0xD2, -0x8E,0xA7,0xCB,0x0A,0xE1,0x40,0x86,0x0C,0x69,0xC0,0x31,0xE6,0x21,0x0B,0x0E,0xF4,0x03,0xDD,0xD5,0xE1, -0xFF,0xA6,0x6E,0xC1,0x2C,0x4C,0x7D,0x16,0xE0,0x8B,0xF3,0xE7,0x10,0x4A,0x13,0x46,0x31,0xE5,0x06,0x82, -0x8C,0xE2,0xE9,0x9D,0x55,0x48,0xC5,0xC6,0x47,0x74,0x65,0x0E,0xDA,0xCA,0xC6,0xF3,0x7B,0xDB,0xD9,0xDA, -0x0C,0x9B,0x51,0x11,0x5D,0xEF,0x80,0x79,0x8E,0x57,0x5E,0x8E,0x58,0x74,0xF5,0x14,0x64,0x2E,0x76,0x04, -0xCF,0x12,0x6B,0x04,0x58,0xC2,0xF5,0x6A,0x25,0x3F,0x54,0xD9,0x51,0xDB,0x47,0x51,0x24,0x3E,0xE6,0x00, -0x5E,0xC5,0x62,0x79,0x66,0x09,0x22,0x19,0x08,0x90,0xE1,0x31,0xBE,0x05,0x97,0x96,0xE5,0x99,0xB2,0xA1, -0xE2,0x38,0x04,0xA4,0x79,0xC3,0x8C,0x4C,0xAB,0xEA,0x6D,0x6E,0x72,0xBB,0x34,0x13,0xA3,0x44,0xCA,0x44, -0xB2,0x91,0x77,0x0F,0x4B,0xA3,0x29,0xA4,0xC8,0xDD,0x2B,0xDA,0x36,0xDA,0x6A,0x48,0x30,0x35,0x4A,0x18, -0x70,0x96,0xA7,0x11,0x64,0x08,0x51,0xBD,0xB4,0xA6,0x65,0x98,0x06,0xB0,0x80,0xFB,0x97,0xC8,0x12,0x95, -0x36,0xAD,0x62,0xC4,0x53,0xC5,0x77,0x9B,0x1E,0x2F,0x76,0xE5,0x19,0x96,0x61,0xAE,0xFD,0xF5,0xAD,0x25, -0xBF,0x9B,0x25,0x2A,0x21,0xF4,0xE0,0x6D,0xCA,0x7C,0xDE,0x05,0xB3,0x8A,0xBB,0xB0,0x82,0xB2,0x82,0x40, -0x5F,0xC3,0xA1,0x3A,0xED,0x59,0xE2,0x3A,0xC5,0xBD,0xE7,0xA2,0xB5,0xFE,0x8C,0x7B,0x3E,0xDA,0xA6,0xD3, -0xE6,0xB3,0xB1,0xDB,0x7B,0x3B,0xF7,0x40,0x68,0xC2,0x52,0x6E,0x40,0x8E,0x83,0x34,0x58,0xAD,0x56,0x1E, -0xBC,0x9A,0x71,0xC1,0x4E,0xF2,0x2C,0x34,0x16,0xC0,0xBA,0xCB,0x2D,0xA5,0x2B,0x17,0x5B,0xCA,0x6E,0x5D, -0x6A,0x95,0xF6,0xE1,0x42,0xEA,0x6A,0xC5,0x8F,0x2F,0x5F,0x64,0xAF,0xDE,0x6D,0xE8,0xB5,0x37,0x1C,0x84, -0x95,0x4E,0x5C,0x66,0x64,0x61,0xF4,0xF7,0x63,0xD5,0x5E,0x4F,0x9D,0xA7,0xCA,0xCF,0x5D,0x34,0x12,0x78, -0x22,0xB9,0xEB,0xC5,0x7B,0x2D,0x68,0x4E,0x21,0x2E,0xD9,0x70,0x00,0xAB,0xBE,0x6F,0xD6,0x8B,0x0F,0x9C, -0xEF,0xE3,0xEE,0x57,0x27,0x42,0xCF,0xAB,0xEA,0x79,0x15,0x75,0xD4,0x04,0xEF,0x81,0x8F,0x60,0x74,0x05, -0x86,0x03,0xB3,0x6A,0xD8,0xD5,0xDA,0x62,0x5D,0xAB,0x18,0x44,0xD9,0x1D,0xF5,0x45,0xD4,0xAC,0xA8,0x84, -0xA0,0xFE,0xD6,0x21,0x5A,0xCD,0x34,0x97,0x35,0x67,0xE2,0xFA,0x51,0x63,0xC5,0x5B,0x87,0x66,0x8D,0x01, -0xEC,0xC3,0x19,0x5D,0x88,0x5B,0xBA,0xA8,0x26,0x0F,0xE9,0x55,0x17,0xC4,0x83,0x09,0xF5,0xAC,0x3C,0x59, -0x0F,0x90,0x25,0xC1,0xCA,0xA0,0xAA,0x2A,0x56,0x86,0x8B,0x83,0x5E,0xF5,0x2E,0xB0,0xF1,0xFD,0x52,0x4D, -0x83,0xC8,0x57,0x27,0x72,0x7E,0xFB,0x6D,0xCA,0x83,0x68,0x0A,0x63,0xFF,0x4F,0x51,0x09,0xC4,0x79,0xD4, -0x2E,0x00,0x00 +0xDF,0x49,0xF2,0x93,0x84,0xEE,0x5D,0x0A,0x96,0x74,0xBA,0xD3,0xDD,0xE9,0x5E,0x92,0xBD,0xB7,0x71,0x7C, +0x7A,0x34,0xBE,0x3C,0x3B,0xD1,0x42,0x1E,0x47,0xFB,0x7B,0xE2,0xAF,0x16,0x21,0x3A,0xF3,0x74,0x4C,0xF5, +0xFD,0xBD,0x18,0x73,0x04,0x20,0x9E,0x74,0xF1,0xEF,0x39,0xB9,0xF1,0xF4,0x23,0x46,0x39,0xA6,0xBC,0xCB, +0xEF,0x12,0xAC,0x6B,0xBE,0xEA,0x79,0x3A,0xC7,0xB7,0xBC,0x27,0x90,0x07,0x9A,0x1F,0xA2,0x34,0xC3,0xDC, +0xCB,0xF9,0xB4,0xFB,0x18,0x48,0x70,0xC2,0x23,0xBC,0x7F,0x32,0x3A,0xD3,0x4E,0x02,0xC2,0x59,0xBA,0xD7, +0x53,0x23,0x7B,0x11,0xA1,0xD7,0x5A,0x8A,0x23,0x4F,0x47,0x49,0x12,0xE1,0x2E,0x67,0xB9,0x1F,0x76,0x09, +0xD0,0xD4,0xB5,0x30,0xC5,0x53,0x4F,0x07,0xA2,0x29,0xCA,0x7A,0xC8,0xC7,0x36,0x0C,0xEB,0x9A,0x58,0xD4, +0xD3,0x49,0x8C,0x66,0xB8,0x77,0xAB,0x66,0x36,0xC9,0x64,0x21,0x4B,0xB9,0x9F,0x73,0xED,0x5F,0xD0,0xF8, +0xDB,0xA8,0x19,0xBF,0x8B,0xB0,0x02,0x29,0x2D,0xF8,0x59,0xA6,0x6B,0x31,0x0E,0x08,0x02,0x8E,0xFC,0x14, +0x0B,0x3D,0x46,0x68,0x82,0xA3,0xC5,0x94,0x81,0xE2,0x32,0xF2,0x09,0xBB,0xFD,0xAD,0xE4,0x76,0x20,0xBB, +0x53,0x14,0x93,0xE8,0xCE,0xCD,0x10,0xCD,0xBA,0x19,0x4E,0xC9,0x74,0x69,0xFB,0xF1,0xE2,0x53,0x97,0xD0, +0x00,0xDF,0xBA,0xDB,0x8E,0x33,0x48,0x58,0x46,0x38,0x61,0xD4,0x45,0x93,0x8C,0x45,0x39,0xC7,0x83,0x08, +0x4F,0xB9,0xFB,0x08,0x28,0x4C,0x58,0x1A,0xE0,0xD4,0xED,0x27,0xB7,0x1A,0x80,0x48,0xA0,0x7D,0xB5,0xB3, +0xB3,0x33,0x98,0x20,0xFF,0x7A,0x96,0xB2,0x9C,0x06,0x5D,0x9F,0x45,0x2C,0x75,0xBF,0x9A,0x3E,0x12,0x3F, +0x83,0x80,0x64,0x49,0x84,0xEE,0x5C,0xCA,0x28,0x06,0xDC,0xDB,0x6E,0x16,0xA2,0x80,0xCD,0x5D,0x47,0x73, +0xB4,0xBE,0x03,0x44,0xD2,0xD9,0x04,0x19,0x8E,0x25,0x7E,0xEC,0x1D,0x73,0xF0,0x97,0xF8,0x55,0xC3,0x73, +0x4C,0x66,0x21,0x77,0xBF,0x77,0x1C,0xC1,0xBF,0x96,0x47,0x8B,0x88,0x64,0xBC,0x2B,0x95,0xA3,0xD6,0xE3, +0x2C,0x71,0x1D,0xC9,0x3A,0x3C,0x62,0x94,0xCE,0x08,0x85,0x46,0x82,0x82,0x80,0xD0,0x99,0xAB,0xD0,0x22, +0xB2,0xA8,0xA4,0x85,0xDD,0x40,0x9C,0xDC,0xE0,0x41,0x4C,0x68,0x77,0x4E,0x02,0x1E,0xBA,0xBB,0x0E,0x70, +0xE1,0xE7,0x69,0x06,0x32,0x25,0x8C,0x50,0x8E,0x53,0x89,0x96,0x25,0x88,0x2E,0x94,0xA8,0x42,0x01,0x95, +0x9C,0x84,0xC2,0xBE,0xE2,0xEE,0x24,0x62,0xFE,0x75,0xB5,0xD2,0x6E,0x72,0x5B,0xAC,0xE5,0x86,0xEC,0x06, +0xA7,0x8B,0x5A,0x5D,0x12,0xBB,0x05,0x6C,0x91,0xC6,0x18,0x2F,0x6D,0x7E,0x93,0x03,0xD4,0x92,0x4F,0x90, +0xB2,0xA0,0xDA,0x14,0xA9,0x2D,0x78,0x81,0x42,0x68,0x92,0xF3,0xC5,0xEA,0x56,0xB2,0x04,0xF9,0x84,0xDF, +0xB9,0x8E,0x9C,0x26,0x2D,0xC4,0xDD,0x71,0x1C,0x4D,0x28,0x5C,0x7B,0x8B,0xD3,0x00,0x51,0x64,0x0D,0x53, +0x82,0x22,0x6B,0x54,0xAB,0xBC,0x1B,0xB3,0x4F,0xDD,0x1C,0xDA,0xD0,0x8F,0xB0,0xCF,0x95,0x86,0x61,0x13, +0x26,0xD7,0x84,0xAF,0x02,0x56,0x06,0x1A,0xBA,0x92,0x1A,0x0A,0xD5,0xEE,0xF5,0x41,0x37,0x92,0x0F,0x25, +0xB6,0x92,0xA8,0x3B,0x61,0x9C,0xB3,0x58,0xDA,0x5B,0x25,0xAD,0x26,0x4D,0xE6,0xF1,0xCA,0x76,0xAC,0x57, +0x7D,0x83,0xFC,0x00,0x94,0xCA,0x89,0x8F,0xA2,0x2E,0x8A,0xC8,0x8C,0xBA,0x31,0x09,0x82,0x08,0x37,0x4C, +0xD6,0xCD,0xD3,0xC8,0x08,0x10,0x47,0xAE,0xF2,0xB3,0x84,0xCE,0x00,0x9A,0xE1,0xDD,0x1D,0x8B,0xBC,0x3D, +0x3C,0x3D,0x9F,0x3B,0x2F,0x9E,0xCC,0xD8,0x10,0xFE,0xBD,0x1E,0x5D,0x84,0x27,0x17,0x33,0x68,0x1D,0x8A, +0xEE,0xF0,0xCD,0xD1,0xF0,0x0D,0x3C,0x8E,0xFA,0x9D,0x8F,0xD3,0xDF,0x87,0x62,0xF8,0x49,0x70,0x38,0xBE, +0x38,0x19,0x0E,0x5F,0xF4,0x9E,0xBD,0x9E,0xBF,0x7B,0xB1,0x2B,0xC0,0x87,0x91,0x73,0xFE,0x36,0x74,0x2E, +0xB6,0x7E,0x88,0x83,0xA7,0x41,0xE8,0xC7,0x17,0xC3,0x37,0xEF,0xCE,0x6F,0x2E,0xE3,0x8B,0xD9,0xE8,0x5D, +0x3F,0x7C,0xBF,0xF5,0x76,0xF4,0xFE,0xDD,0x4F,0xD7,0xF8,0xE7,0xA7,0xCF,0xDF,0x8F,0xE7,0x80,0x70,0xCC, +0x46,0x17,0xE7,0x87,0x6F,0x0F,0x67,0xEF,0x0F,0xFD,0x93,0xDB,0x49,0xF4,0xFA,0xF0,0xC9,0x70,0x32,0xDC, +0xF2,0x31,0x9E,0x8D,0xCF,0x0F,0xF3,0x67,0x2F,0x4E,0x67,0x84,0x84,0xA3,0xF7,0xAF,0xC7,0xFE,0xD1,0xA3, +0x97,0x17,0x4F,0x87,0x24,0x7C,0xFD,0xFC,0xDC,0xB9,0x7E,0xF2,0xE2,0xE8,0xD8,0xBF,0x7C,0x7E,0xB9,0x7B, +0xBC,0xDD,0xFB,0xFE,0xFB,0x57,0xC1,0x29,0xA1,0xE3,0x9B,0x4F,0xC3,0xD9,0xD1,0xFC,0xF1,0x5D,0x36,0x0E, +0x9F,0xDD,0xD0,0xDE,0x5B,0xF6,0xF1,0xD9,0xDD,0x2B,0xF8,0x3D,0x3B,0xEB,0x4C,0x46,0xFD,0xEC,0xE2,0xCD, +0xB3,0xB7,0x5B,0xD9,0x0F,0x8F,0x92,0xC3,0xE3,0xE3,0x9B,0x78,0x72,0xD6,0x8B,0x83,0xEB,0x29,0x7F,0xBC, +0xCD,0x93,0xCB,0x59,0xFE,0xFE,0xF7,0x47,0xCF,0xC3,0xDE,0x29,0x46,0x97,0x61,0xE7,0xEE,0xD3,0xDD,0xE3, +0x70,0xFC,0xF4,0xE6,0x75,0x84,0x6E,0x5F,0xBF,0xF6,0x3F,0xC5,0x9D,0x08,0xFD,0x70,0x3A,0x8E,0x50,0xDA, +0xBF,0x08,0x86,0xBD,0xCE,0xD1,0xD6,0x70,0x87,0xA7,0xE7,0x47,0xF4,0x78,0xFB,0xE3,0xE8,0xF1,0xE1,0x61, +0x9F,0x4D,0x7E,0xDF,0x7A,0x72,0xBD,0xFB,0xE4,0x62,0xF7,0xCD,0xE4,0xCD,0x70,0xB4,0x73,0x78,0x81,0x2E, +0x47,0x6F,0x86,0xD3,0x9D,0x49,0x18,0xBE,0x78,0x31,0xFE,0x29,0x18,0x7E,0x4A,0x87,0xA7,0xF3,0xE1,0xED, +0xC9,0xC5,0xF0,0x69,0xE7,0xC5,0xC9,0x2B,0xA7,0x3F,0xBA,0xDC,0x9E,0xBD,0xDA,0x9D,0x1F,0x66,0x27,0xC3, +0x37,0x87,0xCE,0xEC,0x79,0x27,0x46,0xEF,0xD9,0xD1,0xF6,0xEC,0xD9,0x2E,0x39,0xBB,0x44,0xC3,0x67,0x87, +0xCF,0x33,0x72,0x1E,0x3F,0xBD,0x70,0x86,0xC3,0x97,0xA7,0xF8,0xA7,0xA3,0x6D,0xF4,0x62,0xCB,0x7F,0x07, +0xFA,0xBF,0xF8,0x19,0x7F,0xDF,0x19,0xCE,0x4F,0x9D,0xC8,0xFF,0x01,0x8F,0x9F,0x5E,0x8E,0xE5,0xEE,0x9C, +0x44,0x3F,0x8D,0xAF,0x47,0xF9,0x9B,0xF8,0xE8,0xC8,0xD4,0x28,0xEB,0xA6,0x38,0xC1,0x88,0x37,0x63,0x55, +0xE5,0x1C,0x60,0x5B,0xB5,0x15,0x16,0x4E,0x2A,0x22,0x6B,0x37,0xC0,0x3E,0x4B,0x91,0x9C,0x03,0x08,0x38, +0x15,0x26,0xB6,0xFC,0x51,0x86,0x5A,0x4D,0x45,0x5A,0x0D,0xD1,0x40,0x33,0x4A,0x47,0x88,0x09,0x05,0x9C, +0x1B,0xE2,0xE3,0x6E,0x42,0x6E,0x71,0xD4,0x95,0xC8,0xAE,0x63,0x2E,0xA4,0xB3,0x95,0xD3,0x10,0x25,0xB1, +0xA2,0x5A,0x0E,0x04,0x1F,0x91,0x2F,0x92,0x1C,0xB8,0x4C,0x0C,0xCF,0xC2,0x77,0x58,0xDA,0x9D,0xE4,0xB3, +0x29,0xB9,0x05,0x6F,0x9E,0x12,0x4A,0x38,0xD6,0xFA,0xD9,0xF2,0xC7,0x92,0xCC,0x35,0xBE,0x9B,0xA6,0x28, +0xC6,0x99,0xF6,0x17,0xC9,0x2C,0xA6,0x29,0x8B,0x17,0x75,0x04,0xE4,0xAC,0xD1,0x59,0x2E,0xBF,0xCA,0x93, +0x88,0x21,0x10,0x73,0x25,0x6C,0x94,0xC1,0x34,0x15,0x6E,0x55,0x05,0xD5,0xD2,0xCD,0xB6,0xC0,0x2D,0x5B, +0x6E,0xBD,0xB5,0x53,0xBB,0x6E,0x57,0xCE,0x15,0xC1,0xBE,0xA9,0xFA,0x46,0x3C,0x68,0xC4,0xBA,0xAF,0x38, +0xA8,0x74,0xFD,0xE2,0x6A,0x11,0x15,0x19,0x6A,0x06,0x54,0x94,0xEE,0xEF,0x3A,0x8D,0x50,0x01,0xF3,0x96, +0x5F,0x61,0x99,0xF8,0xAD,0xAF,0x92,0x14,0x76,0x03,0xCF,0xBF,0x40,0xB3,0x92,0xA9,0x4D,0x1B,0x68,0x56, +0xE9,0x4E,0x89,0x50,0xE7,0x3C,0xC9,0x6B,0x45,0x7A,0x55,0x2A,0x00,0x57,0xDC,0x3C,0x12,0xDC,0x7C,0x51, +0xAB,0xDB,0xBB,0xDF,0x14,0x3C,0xEC,0x38,0xDF,0x2C,0x6D,0x35,0xB7,0xCA,0xC7,0x7D,0x07,0xFE,0x95,0x69, +0xF7,0x71,0xCD,0xC2,0xE4,0x91,0xF8,0x29,0x19,0x04,0x3A,0x4D,0xE0,0xF6,0xCE,0x0F,0x8F,0x83,0x49,0x09, +0x54,0x82,0x3D,0x0C,0x4F,0x51,0x40,0xF2,0xCC,0x7D,0xE4,0x7C,0xA3,0xF4,0x09,0xDB,0x07,0xB2,0x97,0x9B, +0xAB,0x3A,0xB5,0xC5,0x66,0x09,0xA1,0xDA,0x56,0xA6,0x89,0xFD,0x46,0x69,0x65,0x98,0xCD,0x54,0x0F,0x2E, +0x52,0x9B,0xA6,0x98,0xBF,0x70,0xBE,0x59,0xF0,0x14,0xD1,0x6C,0xCA,0xD2,0xD8,0x4D,0x19,0x47,0x1C,0x1B, +0x8E,0xB9,0xEC,0x3B,0xEB,0x00,0xDB,0xBB,0x4E,0x80,0x67,0xE6,0x72,0xB9,0xD7,0x93,0x49,0x0D,0x2A,0x1E, +0x3F,0x25,0x09,0xDF,0x9F,0xE6,0xD4,0x17,0x3C,0x68,0x33,0x6C,0x60,0x73,0x91,0x62,0x9E,0xA7,0x54,0x0B, +0x98,0x9F,0x0B,0x63,0xB7,0x67,0x98,0x9F,0x28,0xBB,0x3F,0xBC,0x7B,0x16,0xC0,0x8C,0x65,0x85,0xE0,0xAF, +0x45,0x00,0x07,0x86,0xF5,0x0A,0x9C,0xD6,0x7C,0x48,0x30,0x40,0xE4,0x05,0xBE,0x33,0xB0,0xC5,0x2B,0x44, +0x6C,0x8B,0x71,0xC3,0x28,0xA7,0x01,0x90,0x9A,0x8B,0x1B,0xD0,0x02,0xF2,0xF0,0x07,0x7E,0x65,0x11,0x8F, +0xC2,0x63,0x50,0x4C,0x27,0xFB,0xE8,0xA0,0xDB,0x77,0xD1,0x3E,0x39,0xE8,0x83,0x7F,0x99,0x0D,0xFA,0x6A, +0xE5,0x9F,0x48,0x84,0x2F,0x0A,0x97,0x13,0x0B,0xD5,0xD4,0x7A,0x06,0x39,0x0B,0x41,0x91,0xE6,0x77,0xC6, +0xE9,0x48,0x33,0x3E,0x7C,0xDF,0xFD,0xE1,0xEA,0x73,0xFF,0x83,0xD3,0xED,0x5F,0x99,0xBF,0x99,0x3D,0x62, +0x73,0x9C,0x71,0x83,0xA2,0x1B,0x32,0x43,0x60,0xE7,0xB6,0xC8,0xB7,0xC3,0x19,0x48,0x61,0x0E,0xAA,0x35, +0x88,0x62,0x6F,0xCB,0x71,0x36,0x3C,0x7C,0x80,0x22,0x0C,0xAC,0xEB,0x27,0xE7,0xE7,0xA7,0xE7,0x1F,0xF4, +0x0E,0xEE,0xE8,0x57,0xAE,0xA6,0x77,0xA8,0xE9,0x72,0x1B,0x4A,0xCF,0x14,0x67,0xE1,0x19,0xE2,0xA1,0x11, +0xD8,0x37,0x28,0xCA,0x41,0x17,0x82,0x11,0xE6,0x81,0xE2,0xF4,0x49,0xCE,0x39,0xA3,0xBA,0x39,0x60,0x36, +0xA1,0x14,0xA7,0x4F,0xC7,0xAF,0x5E,0x7A,0xFA,0x39,0x63,0x5C,0x3B,0x26,0xA9,0x6E,0xC9,0xDD,0xB0,0x51, +0x92,0x60,0x1A,0x1C,0x85,0x24,0x0A,0x0C,0x66,0x0E,0x04,0xBA,0x2F,0xD1,0x65,0x21,0x02,0xD8,0xBE,0xAD, +0x4A,0xD6,0x29,0x48,0xAD,0x5B,0xBE,0x1D,0xE7,0x11,0x27,0x49,0x84,0xBD,0x8D,0x3E,0xF4,0x28,0x8A,0x01, +0x26,0xD2,0xB0,0x80,0x91,0xC0,0xD3,0x55,0x30,0x2A,0x42,0xD8,0xBA,0x55,0x7C,0xB5,0x4A,0xD0,0x5A,0x25, +0x68,0xE2,0x26,0x20,0x91,0x6E,0x05,0x76,0x5D,0x2B,0x43,0xAF,0x58,0xAA,0x84,0x05,0x78,0x8A,0x80,0x93, +0xB7,0x20,0x35,0x8C,0xF6,0xD6,0x2D,0x14,0xA8,0x85,0xB2,0xB6,0x36,0xB2,0xA6,0x36,0xD4,0x36,0xAE,0x43, +0xCE,0x14,0x72,0xDA,0x46,0x4E,0x9B,0xC8,0x47,0xD2,0x1A,0xD6,0x21,0xA7,0x0A,0x39,0x6A,0x89,0x18,0x49, +0x11,0x55,0x84,0xEB,0x0A,0x6D,0x82,0x40,0x80,0x1D,0x35,0xC5,0x84,0x1E,0x38,0x24,0x9A,0x44,0x38,0xF0, +0x36,0x1C,0xE8,0x89,0xA2,0xDA,0xDB,0x72,0xD6,0xAC,0x11,0xA9,0x35,0xF2,0xD6,0x1A,0xB9,0x5C,0x83,0x24, +0xA0,0x44,0xC8,0x1B,0xBA,0x95,0x4B,0xAD,0xB5,0x47,0xD4,0x72,0x7E,0x88,0xFD,0xEB,0x09,0x93,0x23,0xB2, +0x2D,0x56,0xDC,0x40,0x92,0x66,0x22,0x69,0xCA,0xA3,0x08,0xD0,0x4C,0x6C,0xF0,0x72,0x4F,0x50,0xB6,0x92, +0xA6,0xF8,0xDA,0x30,0xE2,0xB6,0x2E,0x11,0xE2,0xB6,0x96,0xE2,0xD6,0xB4,0x11,0xBA,0xC1,0xDA,0x3A,0x2D, +0xC5,0xE6,0x9A,0xC1,0x64,0xDD,0x60,0x6E,0x5A,0xA9,0xCD,0xA8,0x1F,0x11,0xFF,0xDA,0xAB,0xDD,0xD8,0x5C, +0x18,0xCD,0x8E,0xE0,0x84,0x7B,0x14,0xCF,0xB5,0x9F,0x20,0x2C,0x1D,0x23,0x8E,0x06,0xBC,0x20,0x63,0x14, +0x76,0x83,0x81,0x10,0x9C,0x4F,0xC1,0x0B,0x33,0x1B,0x05,0x30,0x7C,0x76,0x31,0xD6,0x2D,0xBD,0x27,0x76, +0x45,0x07,0x4F,0x26,0xE6,0xD2,0xAC,0x7C,0xC9,0xA2,0x32,0xAA,0x5F,0xA4,0x51,0x3D,0x04,0x8D,0xD2,0xE2, +0x96,0x56,0xBC,0x96,0x27,0x32,0x35,0x2A,0x95,0x96,0x4C,0x89,0x93,0xA1,0x58,0xC3,0x28,0xF6,0x5F,0x37, +0x21,0xEC,0x29,0xE3,0x35,0x4C,0x0B,0xB5,0x99,0x46,0x15,0xD3,0x29,0x9A,0x97,0x46,0xA2,0xD6,0x1F,0x28, +0xF7,0x76,0x20,0xFB,0xD2,0x8C,0x6B,0xD8,0xDB,0x71,0x7E,0xD8,0x1D,0xC0,0xFE,0x18,0xCA,0x71,0x01,0xB0, +0xC7,0x6D,0x30,0xAD,0x19,0x0F,0x07,0x7E,0xC7,0x2B,0xB4,0x12,0x78,0xDC,0xCE,0xF2,0x49,0xC6,0x53,0xC8, +0x6D,0x86,0x6F,0xF9,0x1D,0x6C,0xB6,0x97,0xD1,0x3B,0xCC,0x0A,0x4C,0x8B,0x75,0x3A,0xCB,0x7B,0x0A,0x3A, +0x1D,0x35,0x34,0x84,0x84,0x86,0x70,0x94,0x61,0x8D,0xDA,0xF8,0x16,0xFB,0x47,0x2C,0x8E,0x91,0x20,0x91, +0xC1,0x26,0x17,0x1D,0xDD,0x5C,0x5A,0x6C,0xAD,0x66,0x1E,0x08,0x59,0x56,0xF6,0x90,0x1E,0x21,0x04,0x7A, +0xBE,0x2D,0x7C,0x25,0x2B,0x84,0xFA,0xF2,0x2E,0x97,0x81,0x48,0xA1,0x7C,0x70,0xAE,0xAC,0x6A,0xE3,0x56, +0xA4,0x6A,0xEF,0xBB,0xB4,0xBA,0x56,0xFC,0x31,0xEB,0x9D,0x16,0xB0,0x76,0x5C,0xAB,0xA1,0xFA,0x72,0x69, +0xF9,0x82,0xFF,0x10,0xD1,0x19,0xFE,0xEB,0x02,0xD4,0x3C,0x4A,0x17,0xB5,0x28,0x24,0x8F,0x03,0xF7,0x17, +0xDB,0xF8,0xF0,0xAB,0x7D,0xD5,0x31,0xCD,0x83,0xAF,0x7B,0x52,0xC3,0x06,0x37,0x3F,0xF4,0xAF,0x2C,0x04, +0x60,0xFB,0x3B,0xF3,0x17,0x5B,0x82,0x5B,0xB0,0xC1,0x0D,0x23,0x81,0x26,0x56,0x12,0x9E,0xCD,0xA6,0x1A, +0xDA,0xDC,0x34,0xC0,0xE4,0x5A,0xC6,0xDA,0xE1,0x1D,0xDD,0x86,0xBC,0xB1,0x5C,0xDE,0xCF,0x66,0xE3,0x14, +0x63,0x95,0x2E,0x2B,0x80,0xE4,0x1E,0x64,0x5E,0x09,0x56,0xA5,0xD4,0xD8,0xAA,0xA1,0x30,0x28,0xD3,0xBD, +0x5D,0x54,0x12,0x9E,0x4E,0x19,0x05,0x93,0x4D,0xEE,0x0F,0xCB,0x23,0x9E,0xDE,0x8A,0x21,0xDF,0xEE,0x91, +0x78,0xA6,0x65,0xA9,0xEF,0xA9,0xAD,0x38,0x10,0x7F,0xBC,0x6F,0x45,0x9A,0xDB,0xFC,0xCD,0x9F,0x78,0x7A, +0x07,0xF6,0x17,0xDB,0x94,0xCD,0x0D,0xB3,0xF3,0xAD,0xAE,0x49,0x8A,0x9E,0x1E,0xA3,0xDB,0xE2,0xA0,0x2F, +0x2A,0x91,0x81,0x06,0xFD,0xB2,0x84,0x55,0x03,0xC5,0x11,0x1B,0xE5,0x9C,0x0D,0xB4,0xB2,0xC2,0x51,0x47, +0x4C,0x5D,0xEB,0xED,0x7F,0x5B,0xEB,0x00,0x81,0xE8,0x48,0xED,0x09,0x91,0x41,0x2C,0x17,0x21,0x0F,0xB7, +0xA2,0x0F,0x29,0xDC,0x4E,0x45,0x45,0x02,0x70,0x72,0x2F,0x6D,0x5A,0x99,0x81,0xCC,0x03,0xA3,0x95,0x68, +0xF7,0xC4,0xA1,0x64,0xFF,0x4C,0x55,0x9B,0x7B,0x3D,0xD9,0xD3,0xD7,0x39,0x06,0x68,0x9E,0x02,0xBA,0x55, +0xD5,0x37,0x13,0x16,0xDC,0x35,0xAA,0xA2,0xEC,0xF0,0xEE,0x28,0x42,0x59,0xF6,0x1A,0xC5,0xB0,0xBE,0x1F, +0xEB,0x66,0x61,0x4A,0xFB,0xCE,0xE6,0x66,0x1B,0x29,0xC5,0x31,0xBB,0xC1,0x8A,0x2B,0x0C,0xA1,0xCC,0x0D, +0x80,0xF0,0xE6,0xE6,0x3A,0xC6,0xC4,0x15,0xDB,0x97,0xB8,0xA2,0xE0,0xAE,0x65,0xF8,0xFB,0x9F,0xB8,0x53, +0x39,0xF2,0x21,0xAD,0x46,0xA6,0x25,0xB8,0xFF,0xFC,0x39,0x93,0x7F,0x57,0x02,0xBD,0xF4,0x97,0x55,0x77, +0xC1,0xD2,0x25,0xC0,0xF5,0xEE,0x7B,0x05,0x37,0xB3,0x39,0xE1,0x7E,0x28,0xF4,0xED,0xA3,0x0C,0xEB,0xE2, +0xA6,0xCE,0x95,0xAD,0xD9,0xA7,0xA2,0xF1,0x89,0x24,0x45,0x6B,0x8E,0x6E,0x8A,0x56,0x9C,0x6C,0x17,0xAD, +0x24,0x98,0xEA,0xAE,0x2A,0x12,0x37,0x9C,0x65,0xD1,0xE8,0x2F,0xE5,0xD6,0x47,0xAB,0x1A,0x3E,0x66,0x73, +0x2A,0x14,0x58,0x69,0x39,0x5A,0xB3,0xF7,0x75,0x0A,0xAB,0x9C,0x2E,0x28,0xF0,0xBA,0xD3,0x54,0xF9,0x5C, +0xC3,0x3F,0x4A,0x18,0x78,0x06,0x5E,0x9A,0xFF,0x97,0xD5,0xF8,0xCA,0x6A,0x56,0xF6,0x63,0x8D,0x90,0x47, +0x21,0xD4,0x92,0x7F,0x22,0x61,0xDC,0x5A,0x21,0xB6,0x7D,0xF1,0x7C,0xCD,0x02,0x19,0xFD,0x4C,0x2B,0x37, +0x62,0xEB,0x7F,0x34,0xB0,0xA4,0x65,0x60,0xED,0x4A,0x23,0x59,0xB3,0x6B,0x38,0xC2,0x1C,0x57,0x12,0x25, +0x6B,0x25,0x4A,0xFF,0x1F,0xCD,0xD7,0x61,0x89,0xA8,0x73,0x45,0x33,0x30,0x05,0xE4,0x46,0x87,0x04,0xED, +0xB5,0x29,0x64,0x7E,0xCA,0xA2,0x68,0xCC,0x92,0x83,0x07,0xC6,0xDD,0x6A,0xBC,0x68,0x94,0x6C,0xD6,0x53, +0x2C,0x7F,0x2D,0xD1,0x97,0x78,0xCA,0x0F,0x1E,0x02,0x3C,0x4C,0xB6,0x9E,0x63,0x05,0x1E,0xB6,0x41,0x79, +0x30,0xFA,0x73,0xC7,0xB7,0xB2,0xAA,0x77,0xD9,0x61,0xB0,0x17,0x7E,0xA9,0x24,0x4F,0x28,0xC9,0x22,0x6B, +0xF3,0x45,0x3D,0x1E,0x01,0x45,0x2F,0xE8,0xE8,0xC9,0x6D,0x3D,0xC6,0x59,0xE2,0x65,0x6A,0x08,0x19,0xC4, +0xE2,0xF7,0x36,0x65,0x5D,0x14,0x4F,0x3D,0x62,0xB3,0xE9,0x34,0xC3,0xFC,0x9D,0xC8,0x20,0x56,0x54,0xF5, +0x9F,0xCA,0x0C,0x32,0x80,0x2E,0x8D,0x59,0x9E,0x61,0x96,0xF3,0x76,0xAD,0x59,0x09,0xB3,0x17,0x7C,0xFE, +0x5C,0x75,0xF6,0x83,0x4E,0x5A,0x77,0x2F,0xF7,0xB2,0x46,0x67,0x3F,0xEB,0x44,0xE0,0x49,0xFF,0xB1,0xA5, +0x90,0xA6,0xA5,0x30,0x91,0xC0,0x2C,0xA6,0x2C,0x25,0xAD,0x6D,0x3D,0x15,0x27,0x01,0xD4,0x08,0xB1,0xC2, +0xA0,0x75,0xB3,0x3C,0xE4,0x36,0x5D,0x19,0x59,0x69,0xDB,0xD3,0x1F,0xAA,0xB6,0x03,0x43,0x50,0x05,0xAD, +0xBF,0x64,0x73,0x9C,0x1E,0xA1,0x0C,0x1B,0x10,0x79,0xAB,0x34,0x21,0xA1,0xA6,0x9B,0xAD,0x9D,0x45,0x0B, +0xA8,0xAF,0x9E,0x10,0x5E,0xBE,0x18,0x16,0x60,0x82,0x88,0x0B,0x6B,0x28,0x99,0x4B,0xC5,0x1D,0xA3,0xE2, +0xC4,0x04,0x1A,0xCA,0x5B,0x3C,0x62,0x5B,0x5C,0xF0,0x80,0xDE,0x8E,0xD5,0x01,0x11,0xCA,0x6B,0x0C,0xD6, +0xC2,0x92,0xB3,0x94,0x25,0x68,0x86,0xC4,0x3C,0x18,0x03,0x07,0x93,0xC4,0x05,0xB5,0x46,0x45,0x54,0x5F, +0x37,0x74,0xFB,0x1E,0xD8,0xAB,0xBC,0xCC,0x39,0x9D,0x1A,0x50,0x3B,0x99,0xF5,0xB4,0xE0,0xBF,0x4B,0x42, +0xFC,0x96,0x17,0xD9,0x25,0xE4,0x71,0xDD,0x8A,0x8A,0xE6,0xC7,0xAC,0x68,0xF8,0x59,0xD9,0xBA,0x6D,0x00, +0x19,0x2D,0xC1,0x8C,0x4E,0x8B,0x26,0xA1,0xA4,0xA4,0x53,0x02,0xCB,0x67,0x92,0x94,0x99,0x2C,0x2C,0x5B, +0x21,0xBE,0xAD,0xF0,0x58,0x95,0xE7,0xF0,0xBA,0x3C,0x57,0xDF,0xB2,0xFC,0x77,0xE2,0x27,0x74,0x56,0x0A, +0x93,0x94,0xAD,0x19,0x29,0x45,0x99,0xC4,0xC9,0x17,0x19,0x49,0xFF,0xE9,0xA9,0xEF,0xF8,0xE4,0xE5,0xC9, +0xF8,0xA4,0x79,0x00,0x68,0x5E,0x0E,0xF1,0x3F,0xBB,0x7D,0xE1,0xA6,0x6B,0xFC,0x85,0xA4,0x06,0x65,0xB7, +0x69,0xB6,0xEE,0x8F,0xA2,0xD6,0xBD,0x54,0x9D,0x51,0x8A,0x0B,0x1F,0xD0,0xD3,0xE6,0x66,0x83,0x11,0x39, +0x5E,0xDF,0x69,0x51,0x4B,0x57,0x55,0xB8,0xF4,0x6A,0xF4,0x50,0xB9,0x8A,0xCC,0xEA,0x40,0x48,0x3C,0x5A, +0x44,0x14,0x4B,0x9C,0x0D,0xC9,0xBE,0x0F,0x87,0xC2,0x8E,0xA9,0xEE,0x72,0x3C,0x0F,0xAE,0xBD,0xFC,0x2B, +0x79,0x1F,0xB0,0xB9,0x89,0xDA,0x25,0xAD,0xE1,0x58,0x12,0x28,0x16,0x94,0x2D,0x79,0x13,0x01,0xB2,0x00, +0x5B,0x8E,0xF5,0x7C,0x74,0xFA,0xDA,0x4E,0x50,0x0A,0x0E,0x49,0xCD,0x66,0x34,0xCA,0x95,0x80,0x6D,0x6D, +0x3F,0x39,0x69,0x9C,0xB5,0xE4,0xEB,0x3E,0x97,0x2F,0xAD,0xC8,0x10,0xE4,0x54,0x86,0x16,0x65,0x4F,0x71, +0x2F,0x0B,0x39,0x2E,0x2E,0xF3,0x5D,0x1D,0xAE,0xE2,0x66,0xB6,0xE0,0x37,0xF9,0x03,0xD7,0x09,0x3C,0x24, +0x59,0xF3,0x8C,0xD9,0x8A,0x0C,0x7F,0x71,0xC7,0x96,0x65,0x4B,0x91,0xBB,0x7F,0x5C,0x52,0xAF,0xA6,0xD5, +0xE6,0xC8,0xE3,0xF0,0xA2,0x0E,0xC5,0xB5,0x39,0xEA,0x90,0xC2,0x08,0xD5,0x2D,0xFA,0x77,0x3D,0x84,0x96, +0x1E,0x42,0x57,0x03,0x04,0xBE,0x6D,0x79,0x7B,0xB5,0xCA,0x60,0x02,0x9C,0x5D,0x0F,0xEA,0x28,0x02,0x10, +0x78,0x46,0x2D,0xC0,0xC7,0x4C,0x8E,0x7F,0x44,0x37,0x48,0x5D,0xCB,0xD6,0xD0,0xF5,0xA1,0x42,0x4E,0xF7, +0x7F,0x83,0x56,0x35,0xB3,0x1D,0x88,0x32,0x68,0xAE,0xC6,0x13,0xDE,0x0A,0x4F,0x75,0xCC,0x6A,0x46,0x27, +0x70,0xD7,0xC2,0x9B,0x35,0xDE,0xD0,0x6F,0xC3,0xF5,0xC0,0x20,0x1F,0xF2,0xBD,0x66,0x1C,0x56,0x18,0x4D, +0xEB,0x59,0x7F,0x18,0x6D,0x1F,0x57,0xD7,0xD7,0x19,0xD2,0xFF,0xF0,0x41,0x66,0x67,0xE5,0xC5,0x0C,0xB8, +0x79,0xA3,0xA7,0x83,0x41,0x64,0x60,0x86,0x18,0xA5,0x23,0x71,0x07,0xA0,0x12,0xC9,0x52,0x6D,0xA0,0x27, +0x5D,0xD7,0x00,0x8D,0xF5,0x64,0xCA,0xB0,0x41,0x0F,0x30,0xBF,0x02,0x52,0x00,0x52,0x8F,0x01,0xC9,0xC6, +0x20,0x82,0x41,0xE4,0xE9,0x31,0xA3,0xEC,0x1A,0x91,0xE6,0x74,0x02,0x10,0x52,0x7C,0x25,0xA0,0x77,0xA8, +0x55,0xEC,0x83,0x24,0x54,0x43,0xD4,0xEE,0x9B,0xC5,0x2D,0x67,0x7D,0xC7,0x84,0x4B,0xB7,0x29,0xEC,0x63, +0x43,0xA2,0x65,0xA2,0xF0,0x18,0xE1,0x2C,0x93,0x7C,0x0B,0xB9,0x5E,0xB1,0x00,0xC4,0x02,0xB4,0x5E,0x0C, +0x2D,0xB1,0x10,0x48,0x28,0x00,0xE3,0x10,0xC7,0x05,0x84,0x43,0x53,0x80,0x90,0x00,0x7D,0x2D,0x55,0x35, +0x92,0x05,0x1E,0xA1,0x33,0xAF,0xDF,0x73,0xAC,0x55,0xB2,0x17,0x19,0x1E,0xB1,0x29,0x1F,0xA3,0x49,0x66, +0x6C,0x38,0xE6,0xEA,0x0C,0x01,0x1A,0x41,0x34,0x31,0xB6,0xCC,0xF5,0xE8,0xEF,0x58,0x7A,0x8D,0xD3,0x02, +0x59,0x54,0x66,0x50,0x98,0x45,0xF0,0xCB,0x87,0xBE,0x78,0xD1,0xFF,0x92,0x50,0x5C,0x03,0x47,0x21,0x9B, +0x9F,0xA5,0x84,0xF2,0x57,0xF2,0xD0,0x6F,0x6C,0xF4,0xE5,0x3E,0xA9,0xBB,0x28,0x19,0x81,0xCA,0x4B,0xAA, +0x85,0x08,0x66,0x6E,0xEB,0xAA,0xCA,0x9A,0xC0,0x76,0x41,0x6C,0x75,0x17,0x73,0x42,0x5D,0xFD,0x88,0xA7, +0x51,0x77,0xA4,0x5B,0x31,0xF2,0xA1,0xA3,0xE6,0x40,0x7F,0x69,0x09,0xA7,0x75,0x9B,0xC1,0x64,0xA3,0xEE, +0xD4,0x85,0xFA,0xCA,0x3D,0x5E,0xFB,0x5A,0x4A,0x00,0x0F,0x23,0x36,0x31,0xC4,0x3B,0x87,0x85,0x70,0x78, +0x97,0x2E,0x4D,0x91,0x9D,0xBE,0x7C,0xE5,0xE6,0x43,0xD4,0xE5,0x16,0x6E,0xDC,0x18,0x76,0x74,0x5D,0x5C, +0xC4,0x01,0x1E,0x0A,0x4E,0x69,0x74,0xE7,0x42,0x56,0xFC,0x13,0xA9,0x73,0x1A,0xB0,0x2F,0x49,0xFD,0xFE, +0x9E,0xD4,0xEF,0xD7,0x49,0x8D,0xDB,0xBB,0x05,0x9D,0x0B,0x20,0xFB,0x0A,0x51,0x34,0xC3,0x29,0x0C,0x88, +0x45,0x60,0x03,0xFE,0x1E,0x67,0x29,0xFE,0x32,0x67,0xA3,0x90,0x4C,0xF9,0x0A,0x7F,0x72,0xF4,0x9F,0x71, +0x99,0xE2,0x07,0xB8,0x2C,0x0B,0xD9,0x2A,0x6D,0xFC,0xF9,0x3D,0x98,0x74,0x6A,0x0F,0xB6,0xB0,0xE9,0xAE, +0xFF,0xC0,0xEF,0xEA,0x15,0xBF,0x9C,0x3D,0xC5,0xC3,0xC5,0x4B,0x2B,0x10,0x36,0x01,0x12,0x34,0xF2,0x13, +0xA3,0x87,0x70,0x52,0x78,0x09,0x22,0x18,0xCA,0x1C,0xB1,0xB7,0x58,0x5A,0xDC,0x33,0xE6,0x04,0xC4,0x9F, +0x83,0x70,0xBE,0xAC,0x7E,0x6D,0xF1,0xCD,0x12,0x28,0x01,0x98,0x84,0x3C,0xDB,0xFB,0x70,0xB0,0x79,0xD5, +0x81,0x04,0xE5,0xC1,0xC3,0xF4,0xA0,0xB1,0x79,0xF5,0x9D,0xD9,0x9B,0x91,0x46,0x49,0x24,0x53,0x1D,0xE8, +0xF5,0x03,0xBD,0xF2,0xD0,0x12,0x42,0x58,0x33,0x15,0x56,0x81,0xD5,0xC2,0xF2,0x4A,0x13,0x1E,0xE2,0xB3, +0x30,0x78,0xC8,0xD8,0x01,0xB3,0xA9,0xD7,0xB8,0x69,0xD4,0x39,0xFC,0xD5,0x21,0x6C,0x0F,0x0A,0xB6,0x02, +0x3C,0x25,0x14,0xCB,0xE8,0xA5,0x9A,0x56,0x01,0x10,0x6A,0x20,0xA9,0x84,0x94,0x6D,0x4B,0xB4,0x45,0xF6, +0x23,0x33,0xA1,0x48,0x43,0x17,0x1F,0x7C,0x88,0x44,0xAF,0xCB,0x84,0xBD,0x02,0x9E,0xCB,0x40,0xD2,0x98, +0xB0,0xE6,0x05,0x9E,0x9E,0x17,0x2D,0x1D,0xA4,0xE4,0x8D,0x20,0xAC,0xC4,0x81,0x78,0xAB,0x1A,0xF7,0x42, +0x7B,0x7D,0xEA,0x51,0x60,0x73,0x09,0x2E,0xA6,0x04,0x08,0xF4,0x2A,0x9D,0xFF,0xFC,0xEA,0xE5,0x53,0xCE, +0x93,0x73,0xB5,0xA3,0x40,0xAB,0x3D,0x50,0x1B,0x9A,0xB9,0xE0,0xE9,0x5D,0x59,0x18,0x8A,0x40,0xA1,0x42, +0xDD,0xCF,0xA7,0x93,0x8F,0xD8,0x07,0x49,0x5E,0x65,0x90,0x43,0xB7,0x6C,0x81,0x3E,0x1E,0x9F,0xD9,0xBB, +0xB6,0x03,0x95,0x0A,0xEC,0xA7,0x1F,0x0A,0x8B,0x59,0xFE,0x2D,0xE4,0xED,0xBF,0x87,0x4C,0x20,0xDE,0x67, +0x10,0xD0,0x4B,0xFC,0x36,0x6E,0x98,0xB2,0xB9,0x44,0x3B,0x49,0x53,0x61,0x0C,0xE3,0x90,0x64,0xDA,0x04, +0x06,0x33,0x9C,0x6A,0x01,0xC3,0x99,0x46,0x19,0xD7,0xB2,0x3C,0x49,0x58,0xCA,0xEF,0xE9,0xC3,0xD6,0xCB, +0x4B,0x9A,0x37,0x39,0xCE,0x71,0x50,0x0C,0xE3,0xB4,0xA9,0x17,0x59,0xD3,0xC1,0x38,0xB8,0xDB,0x87,0xAB, +0xA2,0xC2,0xCB,0x29,0x15,0xF9,0x67,0xA3,0xAF,0xFA,0x20,0x5D,0x08,0x54,0x3D,0x9A,0x47,0xD1,0x72,0x70, +0x8F,0x96,0x9D,0xA4,0x8C,0x33,0xF9,0xD2,0x6B,0xF1,0x5B,0xE1,0x5A,0xEE,0xBD,0x6B,0xFA,0x36,0x55,0xC7, +0xDA,0x30,0x36,0xB0,0x46,0x68,0xC6,0x11,0xF5,0xC5,0x36,0x2A,0x5D,0x98,0x65,0x75,0x27,0xA6,0x0F,0x44, +0x5C,0x90,0x86,0xF3,0x60,0x49,0x21,0x25,0xA3,0x9E,0xAE,0x8B,0x42,0x0F,0x8B,0x7A,0x19,0xC5,0x59,0x83, +0x6C,0x95,0x29,0x4C,0xEA,0x95,0xE0,0x81,0x7C,0xB9,0xD2,0x9C,0xBF,0xCA,0x46,0x59,0xDD,0x23,0x80,0x69, +0xE5,0x3C,0x93,0x76,0x3C,0x5D,0x56,0x08,0x07,0x32,0x64,0x48,0x03,0x8E,0x31,0x0F,0x59,0x70,0xA0,0x1F, +0xE8,0xAE,0x0E,0xFF,0x37,0x75,0x0B,0x66,0x61,0xEA,0xB3,0x00,0x5F,0x9C,0x3F,0x83,0x50,0x9A,0x30,0x8A, +0x29,0x37,0x10,0x64,0x14,0x4F,0xEF,0xAC,0x42,0x2A,0x36,0x3E,0xA0,0x2B,0x73,0xD0,0x56,0x36,0x9E,0xDF, +0xDB,0xCE,0xD6,0x66,0xD8,0x8C,0x8A,0xE8,0x7A,0x07,0xCC,0x73,0xBC,0xF2,0x72,0xC4,0xA2,0xAB,0xA7,0x20, +0x73,0xB1,0x23,0x78,0x96,0x58,0x23,0xC0,0x12,0xAE,0x57,0x2B,0xF9,0xA1,0xCA,0x8E,0xDA,0x3E,0x8A,0x22, +0xF1,0x31,0x07,0xF0,0x2A,0x16,0xCB,0x33,0x4B,0x10,0xC9,0x40,0x80,0x0C,0x8F,0xF1,0x2D,0xB8,0xB4,0x2C, +0xCF,0x94,0x0D,0x15,0xC7,0x21,0x20,0xCD,0x1B,0x66,0x64,0x5A,0x55,0x6F,0x73,0x93,0xDB,0xA5,0x99,0x18, +0x25,0x52,0x26,0x92,0x8D,0xBC,0x7B,0x58,0x1A,0x4D,0x21,0x45,0xEE,0x5E,0xD1,0xB6,0xD1,0x56,0x43,0x82, +0xA9,0x51,0xC2,0x80,0xB3,0x3C,0x8D,0x20,0x43,0x88,0xEA,0xA5,0x35,0x2D,0xC3,0x34,0x80,0x05,0xDC,0x3F, +0x45,0x96,0xA8,0xB4,0x69,0x15,0x23,0x9E,0x2A,0xBE,0xDB,0xF4,0x78,0xB1,0x2B,0x4F,0xB1,0x0C,0x73,0xED, +0xEF,0x71,0x2D,0xF9,0x25,0x2D,0x51,0x09,0xA1,0x07,0x6F,0x53,0xE6,0xF3,0x2E,0x98,0x55,0xDC,0x85,0x15, +0x94,0x15,0x04,0xFA,0x1A,0x0E,0xD5,0x69,0xCF,0x12,0xD7,0x29,0xEE,0x3D,0x17,0xAD,0xF5,0x67,0xDC,0xF3, +0xD1,0x36,0x9D,0x36,0x9F,0x8D,0xDD,0xDE,0xDB,0xB9,0x07,0x42,0x13,0x96,0x72,0x03,0x72,0x1C,0xA4,0xC1, +0x6A,0xB5,0xF2,0xE0,0xD5,0x8C,0x0B,0x76,0x92,0x67,0xA1,0xB1,0x00,0xD6,0x5D,0x6E,0x29,0x5D,0xB9,0xD8, +0x52,0x76,0xEB,0x52,0xAB,0xB4,0x0F,0x17,0x52,0x57,0x2B,0x7E,0x7C,0xFE,0x2C,0x7B,0xF5,0x6E,0x43,0xAF, +0xBD,0xE1,0x20,0xAC,0x74,0xE2,0x32,0x23,0x0B,0xA3,0xBF,0x1F,0xAB,0xF6,0x7A,0xEA,0x3C,0x55,0x7E,0xEE, +0xA2,0x91,0xC0,0x13,0xC9,0x5D,0x57,0xEF,0xB5,0xEA,0x4F,0x83,0xA7,0x10,0x9D,0x6C,0x38,0x86,0x55,0xDF, +0x3D,0xEB,0xC5,0x87,0xCF,0xF7,0x29,0xEC,0x57,0xE7,0x42,0xCF,0xAB,0xAA,0x7A,0x15,0x7B,0xD4,0x04,0xEF, +0x81,0x4F,0x61,0x74,0x05,0x86,0x63,0xB3,0x6A,0xD8,0xF7,0x38,0x10,0xAB,0x5B,0x05,0x08,0x65,0x77,0xD4, +0x17,0x11,0xB4,0xA2,0x15,0xC2,0x56,0xB4,0x0E,0xD4,0x6A,0xA6,0xB9,0xAC,0xF9,0x13,0x57,0x91,0x1A,0x2B, +0xDE,0x40,0x34,0xEB,0x0D,0x10,0x02,0xCE,0xEB,0x42,0xF4,0xD2,0x5D,0x35,0x79,0x60,0xAF,0xBA,0x20,0x24, +0x4C,0xA8,0x67,0xE5,0xC9,0x7A,0x80,0x2C,0x0F,0x56,0x06,0x55,0x85,0xB1,0x32,0x5C,0x1C,0xFA,0xAA,0xF7, +0x82,0x8D,0x6F,0x99,0x6A,0x1A,0x44,0xBE,0x46,0x91,0xF3,0xDB,0x6F,0x56,0x1E,0x44,0x53,0x18,0xFB,0x7F, +0x00,0x47,0x16,0x74,0xBA,0xF2,0x2E,0x00,0x00 }; From 96b25b3f20c2a09d9a8d399a323adef75a30cab9 Mon Sep 17 00:00:00 2001 From: Dmytro Korniienko Date: Sat, 12 Sep 2020 20:05:39 +0300 Subject: [PATCH 39/47] extra script :) --- extras/do2.bat | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 extras/do2.bat diff --git a/extras/do2.bat b/extras/do2.bat new file mode 100644 index 0000000..4e02f84 --- /dev/null +++ b/extras/do2.bat @@ -0,0 +1,5 @@ +copy ..\src\edit.htm edit.htm +"C:\Program Files\7-Zip\7z.exe" a -tgzip -mx9 edit.htm.gz edit.htm +ehg edit.htm.gz PROGMEM +copy edit.htm.gz.h ..\src\edit.htm.gz.h +pause From fa232d50fe79a96c97ba515accae057c2c69800f Mon Sep 17 00:00:00 2001 From: Dmytro Korniienko Date: Sat, 12 Sep 2020 21:00:34 +0300 Subject: [PATCH 40/47] _onAck small fix --- src/WebRequest.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/WebRequest.cpp b/src/WebRequest.cpp index 6d79726..0200ce9 100644 --- a/src/WebRequest.cpp +++ b/src/WebRequest.cpp @@ -210,8 +210,7 @@ void AsyncWebServerRequest::_onAck(size_t len, uint32_t time){ if(_response != NULL){ if(!_response->_finished()){ _response->_ack(this, len, time); - } - if(_response->_finished()){ + } else if(_response->_finished()){ AsyncWebServerResponse* r = _response; _response = NULL; delete r; From 1ce5cabfeb686c63f0ddb10618f2d295c6a5b9b5 Mon Sep 17 00:00:00 2001 From: lorol Date: Wed, 23 Sep 2020 14:40:34 -0400 Subject: [PATCH 41/47] A logic bugfix of SmartSwitch.ino sketch. Reverting the PR idea of ACE editor' supporting fles to be moved to sf data/extras subfolder, moved back to root fs. (workers didn't work this way) edit.htm can be binary-embedded in a firmware or a in gzipped file on fs (saves 4k of program storage, RAM usage is identical) To embed: Comment #define EDFS in SPIFFSEditor.cpp and run do_emb.bat On fs: Enable #define EDFS in SPIFFSEditor.cpp and run do_ed_fs.bat --- .../ESP_AsyncFSBrowser/data/.exclude.files | 1 + .../data/{extras => }/ace.ico.gz | Bin .../data/{extras => }/acefull.js.gz | Bin 117524 -> 117524 bytes examples/ESP_AsyncFSBrowser/data/edit.htm | Bin 0 -> 4503 bytes .../data/extras/edit.htm.gz | Bin 4509 -> 0 bytes .../data/extras/mode-json.js.gz | Bin 2983 -> 0 bytes .../data/extras/worker-json.js.gz | Bin 8712 -> 0 bytes .../data}/worker-css.js.gz | Bin 32927 -> 32927 bytes .../data/{extras => }/worker-html.js.gz | Bin 45019 -> 45019 bytes .../data/{extras => }/worker-javascript.js.gz | Bin 112558 -> 112558 bytes examples/SmartSwitch/SmartSwitch.ino | 4 +- examples/SmartSwitch/data/.exclude.files | 1 + .../SmartSwitch/data/{extras => }/ace.ico.gz | Bin .../data/{extras => }/acefull.js.gz | Bin 117524 -> 117524 bytes examples/SmartSwitch/data/edit.htm | Bin 0 -> 4503 bytes examples/SmartSwitch/data/extras/edit.htm.gz | Bin 4509 -> 0 bytes .../SmartSwitch/data/extras/mode-json.js.gz | Bin 2983 -> 0 bytes .../SmartSwitch/data/extras/worker-json.js.gz | Bin 8712 -> 0 bytes .../data}/worker-css.js.gz | Bin 32927 -> 32927 bytes .../data/{extras => }/worker-html.js.gz | Bin 45019 -> 45019 bytes .../data/{extras => }/worker-javascript.js.gz | Bin 112558 -> 112558 bytes extras/do2.bat | 5 - extras/do_ed_fs.bat | 9 + extras/{do.bat => do_emb.bat} | 14 +- src/SPIFFSEditor.cpp | 20 +- src/edit.htm | 582 +++++++++++++++++- src/edit.htm.gz.h | 454 +++++++------- 27 files changed, 842 insertions(+), 248 deletions(-) rename examples/ESP_AsyncFSBrowser/data/{extras => }/ace.ico.gz (100%) rename examples/ESP_AsyncFSBrowser/data/{extras => }/acefull.js.gz (99%) create mode 100644 examples/ESP_AsyncFSBrowser/data/edit.htm delete mode 100644 examples/ESP_AsyncFSBrowser/data/extras/edit.htm.gz delete mode 100644 examples/ESP_AsyncFSBrowser/data/extras/mode-json.js.gz delete mode 100644 examples/ESP_AsyncFSBrowser/data/extras/worker-json.js.gz rename examples/{SmartSwitch/data/extras => ESP_AsyncFSBrowser/data}/worker-css.js.gz (99%) rename examples/ESP_AsyncFSBrowser/data/{extras => }/worker-html.js.gz (99%) rename examples/ESP_AsyncFSBrowser/data/{extras => }/worker-javascript.js.gz (99%) rename examples/SmartSwitch/data/{extras => }/ace.ico.gz (100%) rename examples/SmartSwitch/data/{extras => }/acefull.js.gz (99%) create mode 100644 examples/SmartSwitch/data/edit.htm delete mode 100644 examples/SmartSwitch/data/extras/edit.htm.gz delete mode 100644 examples/SmartSwitch/data/extras/mode-json.js.gz delete mode 100644 examples/SmartSwitch/data/extras/worker-json.js.gz rename examples/{ESP_AsyncFSBrowser/data/extras => SmartSwitch/data}/worker-css.js.gz (99%) rename examples/SmartSwitch/data/{extras => }/worker-html.js.gz (99%) rename examples/SmartSwitch/data/{extras => }/worker-javascript.js.gz (99%) delete mode 100644 extras/do2.bat create mode 100644 extras/do_ed_fs.bat rename extras/{do.bat => do_emb.bat} (82%) diff --git a/examples/ESP_AsyncFSBrowser/data/.exclude.files b/examples/ESP_AsyncFSBrowser/data/.exclude.files index 955397f..ba74486 100644 --- a/examples/ESP_AsyncFSBrowser/data/.exclude.files +++ b/examples/ESP_AsyncFSBrowser/data/.exclude.files @@ -1,2 +1,3 @@ /*.js.gz +/edit.htm /.exclude.files diff --git a/examples/ESP_AsyncFSBrowser/data/extras/ace.ico.gz b/examples/ESP_AsyncFSBrowser/data/ace.ico.gz similarity index 100% rename from examples/ESP_AsyncFSBrowser/data/extras/ace.ico.gz rename to examples/ESP_AsyncFSBrowser/data/ace.ico.gz diff --git a/examples/ESP_AsyncFSBrowser/data/extras/acefull.js.gz b/examples/ESP_AsyncFSBrowser/data/acefull.js.gz similarity index 99% rename from examples/ESP_AsyncFSBrowser/data/extras/acefull.js.gz rename to examples/ESP_AsyncFSBrowser/data/acefull.js.gz index 4b10ee879cb1238a59fb0f23064da41ba4b6da28..560a0fa10d7a284b356f160f982d03407cc61502 100644 GIT binary patch delta 21 dcmbO-jeW{Ac6Rx04i1Lt*^TU5*%^6H0{}=1215V< delta 21 dcmbO-jeW{Ac6Rx04vwM;UXAQq*%^6H0{}}n28{p! diff --git a/examples/ESP_AsyncFSBrowser/data/edit.htm b/examples/ESP_AsyncFSBrowser/data/edit.htm new file mode 100644 index 0000000000000000000000000000000000000000..95099096172853e05dce9881d28b499dd0ebddd4 GIT binary patch literal 4503 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 diff --git a/examples/SmartSwitch/data/extras/worker-css.js.gz b/examples/ESP_AsyncFSBrowser/data/worker-css.js.gz similarity index 99% rename from examples/SmartSwitch/data/extras/worker-css.js.gz rename to examples/ESP_AsyncFSBrowser/data/worker-css.js.gz index 97beeb133712d3e716a32b360301942afee6ae4a..1d108b743445f6c759767729403589f3656a123f 100644 GIT binary patch delta 18 ZcmbQ=$TYu^iCw;%gX90S?2YU*8UQ^e2G#%o delta 18 ZcmbQ=$TYu^iCw;%gQIYQ*GBdk4FEWM1|a|d diff --git a/examples/ESP_AsyncFSBrowser/data/extras/worker-html.js.gz b/examples/ESP_AsyncFSBrowser/data/worker-html.js.gz similarity index 99% rename from examples/ESP_AsyncFSBrowser/data/extras/worker-html.js.gz rename to examples/ESP_AsyncFSBrowser/data/worker-html.js.gz index 819a3b7842296f34a262479417b33cc94809069b..8bacd4aaa83b52d87a0ee63ff1977aea05c24816 100644 GIT binary patch delta 18 acmcb8pXv5}CU*I54vv4*vNy6{Sq}hEON once + if (((t + HYST) < ee.tempe)&&(ledState == LED_OFF)) { // OFF->ON once ledState = LED_ON; digitalWrite(ledPin, ledState); // apply change ws.textAll("led,ledon"); } - if ((((t + HYST) > ee.tempe)&&(ledState == LED_ON))||(!heat_enabled)) { // ON->OFF once, also turn off at end of period. + if ((((t - HYST) > ee.tempe)&&(ledState == LED_ON))||(!heat_enabled)) { // ON->OFF once, also turn off at end of period. ledState = LED_OFF; digitalWrite(ledPin, ledState); // apply change ws.textAll("led,ledoff"); diff --git a/examples/SmartSwitch/data/.exclude.files b/examples/SmartSwitch/data/.exclude.files index 4aacf0d..664e3b7 100644 --- a/examples/SmartSwitch/data/.exclude.files +++ b/examples/SmartSwitch/data/.exclude.files @@ -1,2 +1,3 @@ /*.gz +/edit.htm /.exclude.files diff --git a/examples/SmartSwitch/data/extras/ace.ico.gz b/examples/SmartSwitch/data/ace.ico.gz similarity index 100% rename from examples/SmartSwitch/data/extras/ace.ico.gz rename to examples/SmartSwitch/data/ace.ico.gz diff --git a/examples/SmartSwitch/data/extras/acefull.js.gz b/examples/SmartSwitch/data/acefull.js.gz similarity index 99% rename from examples/SmartSwitch/data/extras/acefull.js.gz rename to examples/SmartSwitch/data/acefull.js.gz index 4b10ee879cb1238a59fb0f23064da41ba4b6da28..560a0fa10d7a284b356f160f982d03407cc61502 100644 GIT binary patch delta 21 dcmbO-jeW{Ac6Rx04i1Lt*^TU5*%^6H0{}=1215V< delta 21 dcmbO-jeW{Ac6Rx04vwM;UXAQq*%^6H0{}}n28{p! diff --git a/examples/SmartSwitch/data/edit.htm b/examples/SmartSwitch/data/edit.htm new file mode 100644 index 0000000000000000000000000000000000000000..95099096172853e05dce9881d28b499dd0ebddd4 GIT binary patch literal 4503 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 diff --git a/examples/ESP_AsyncFSBrowser/data/extras/worker-css.js.gz b/examples/SmartSwitch/data/worker-css.js.gz similarity index 99% rename from examples/ESP_AsyncFSBrowser/data/extras/worker-css.js.gz rename to examples/SmartSwitch/data/worker-css.js.gz index 97beeb133712d3e716a32b360301942afee6ae4a..1d108b743445f6c759767729403589f3656a123f 100644 GIT binary patch delta 18 ZcmbQ=$TYu^iCw;%gX90S?2YU*8UQ^e2G#%o delta 18 ZcmbQ=$TYu^iCw;%gQIYQ*GBdk4FEWM1|a|d diff --git a/examples/SmartSwitch/data/extras/worker-html.js.gz b/examples/SmartSwitch/data/worker-html.js.gz similarity index 99% rename from examples/SmartSwitch/data/extras/worker-html.js.gz rename to examples/SmartSwitch/data/worker-html.js.gz index 819a3b7842296f34a262479417b33cc94809069b..8bacd4aaa83b52d87a0ee63ff1977aea05c24816 100644 GIT binary patch delta 18 acmcb8pXv5}CU*I54vv4*vNy6{Sq}hE -//#include "edit.htm.gz.h" // moved to FS +#define EDFS + +#ifndef EDFS + #include "edit.htm.gz.h" +#endif #ifdef ESP32 #define fullName(x) name(x) @@ -232,16 +236,18 @@ void SPIFFSEditor::handleRequest(AsyncWebServerRequest *request){ if (request->header(F("If-Modified-Since")).equals(buildTime)) { request->send(304); } else { - request->send(_fs, F("/extras/edit.htm"), String(F("text/html")), false); - // AsyncWebServerResponse *response = request->beginResponse_P(200, "text/html", edit_htm_gz, edit_htm_gz_len); - // response->addHeader("Content-Encoding", "gzip"); - // response->addHeader("Last-Modified", buildTime); - // request->send(response); +#ifdef EDFS + AsyncWebServerResponse *response = request->beginResponse(_fs, F("/edit.htm"), F("text/html"), false); +#else + AsyncWebServerResponse *response = request->beginResponse_P(200, F("text/html"), edit_htm_gz, edit_htm_gz_len); +#endif + response->addHeader(F("Content-Encoding"), F("gzip")); + response->addHeader(F("Last-Modified"), buildTime); + request->send(response); } } } else if(request->method() == HTTP_DELETE){ if(request->hasParam(F("path"), true)){ - if(!(_fs.remove(request->getParam(F("path"), true)->value()))){ #ifdef ESP32 _fs.rmdir(request->getParam(F("path"), true)->value()); // try rmdir for littlefs diff --git a/src/edit.htm b/src/edit.htm index e3eeac3..5d497ea 100644 --- a/src/edit.htm +++ b/src/edit.htm @@ -1 +1,581 @@ -ESP Editor
\ No newline at end of file + + + + + ESP Editor + + + + + + + + + + +
+
+
+
+ + + + \ No newline at end of file diff --git a/src/edit.htm.gz.h b/src/edit.htm.gz.h index 49ab77a..7b9c3b3 100644 --- a/src/edit.htm.gz.h +++ b/src/edit.htm.gz.h @@ -1,231 +1,231 @@ -//File: edit.htm.gz, Size: 4509 -#define edit_htm_gz_len 4509 +//File: edit.htm.gz, Size: 4503 +#define edit_htm_gz_len 4503 const uint8_t edit_htm_gz[] PROGMEM = { -0x1F,0x8B,0x08,0x08,0x76,0xDF,0x5C,0x5F,0x02,0x00,0x65,0x64,0x69,0x74,0x2E,0x68,0x74,0x6D,0x00,0xB5, -0x1A,0x0B,0x5B,0xDB,0x36,0xF0,0xAF,0x18,0x6F,0x63,0xF6,0xE2,0x38,0x0E,0x50,0xD6,0x39,0x18,0x16,0x1E, +0x1F,0x8B,0x08,0x08,0x2A,0x97,0x6B,0x5F,0x02,0x00,0x65,0x64,0x69,0x74,0x2E,0x68,0x74,0x6D,0x00,0xB5, +0x1A,0x0B,0x5B,0xDB,0x36,0xF0,0xAF,0x18,0x6F,0x63,0xF6,0xE2,0x38,0x0E,0x50,0xD6,0x3A,0x18,0x16,0x1E, 0xEB,0xBB,0x50,0x12,0xDA,0xD1,0x8E,0xED,0x53,0x6C,0x25,0x56,0xB1,0x25,0xCF,0x96,0x09,0x34,0xCD,0x7F, -0xDF,0x49,0xF2,0x93,0x84,0xEE,0x5D,0x0A,0x96,0x74,0xBA,0xD3,0xDD,0xE9,0x5E,0x92,0xBD,0xB7,0x71,0x7C, -0x7A,0x34,0xBE,0x3C,0x3B,0xD1,0x42,0x1E,0x47,0xFB,0x7B,0xE2,0xAF,0x16,0x21,0x3A,0xF3,0x74,0x4C,0xF5, -0xFD,0xBD,0x18,0x73,0x04,0x20,0x9E,0x74,0xF1,0xEF,0x39,0xB9,0xF1,0xF4,0x23,0x46,0x39,0xA6,0xBC,0xCB, -0xEF,0x12,0xAC,0x6B,0xBE,0xEA,0x79,0x3A,0xC7,0xB7,0xBC,0x27,0x90,0x07,0x9A,0x1F,0xA2,0x34,0xC3,0xDC, -0xCB,0xF9,0xB4,0xFB,0x18,0x48,0x70,0xC2,0x23,0xBC,0x7F,0x32,0x3A,0xD3,0x4E,0x02,0xC2,0x59,0xBA,0xD7, -0x53,0x23,0x7B,0x11,0xA1,0xD7,0x5A,0x8A,0x23,0x4F,0x47,0x49,0x12,0xE1,0x2E,0x67,0xB9,0x1F,0x76,0x09, -0xD0,0xD4,0xB5,0x30,0xC5,0x53,0x4F,0x07,0xA2,0x29,0xCA,0x7A,0xC8,0xC7,0x36,0x0C,0xEB,0x9A,0x58,0xD4, -0xD3,0x49,0x8C,0x66,0xB8,0x77,0xAB,0x66,0x36,0xC9,0x64,0x21,0x4B,0xB9,0x9F,0x73,0xED,0x5F,0xD0,0xF8, -0xDB,0xA8,0x19,0xBF,0x8B,0xB0,0x02,0x29,0x2D,0xF8,0x59,0xA6,0x6B,0x31,0x0E,0x08,0x02,0x8E,0xFC,0x14, -0x0B,0x3D,0x46,0x68,0x82,0xA3,0xC5,0x94,0x81,0xE2,0x32,0xF2,0x09,0xBB,0xFD,0xAD,0xE4,0x76,0x20,0xBB, -0x53,0x14,0x93,0xE8,0xCE,0xCD,0x10,0xCD,0xBA,0x19,0x4E,0xC9,0x74,0x69,0xFB,0xF1,0xE2,0x53,0x97,0xD0, -0x00,0xDF,0xBA,0xDB,0x8E,0x33,0x48,0x58,0x46,0x38,0x61,0xD4,0x45,0x93,0x8C,0x45,0x39,0xC7,0x83,0x08, -0x4F,0xB9,0xFB,0x08,0x28,0x4C,0x58,0x1A,0xE0,0xD4,0xED,0x27,0xB7,0x1A,0x80,0x48,0xA0,0x7D,0xB5,0xB3, -0xB3,0x33,0x98,0x20,0xFF,0x7A,0x96,0xB2,0x9C,0x06,0x5D,0x9F,0x45,0x2C,0x75,0xBF,0x9A,0x3E,0x12,0x3F, -0x83,0x80,0x64,0x49,0x84,0xEE,0x5C,0xCA,0x28,0x06,0xDC,0xDB,0x6E,0x16,0xA2,0x80,0xCD,0x5D,0x47,0x73, -0xB4,0xBE,0x03,0x44,0xD2,0xD9,0x04,0x19,0x8E,0x25,0x7E,0xEC,0x1D,0x73,0xF0,0x97,0xF8,0x55,0xC3,0x73, -0x4C,0x66,0x21,0x77,0xBF,0x77,0x1C,0xC1,0xBF,0x96,0x47,0x8B,0x88,0x64,0xBC,0x2B,0x95,0xA3,0xD6,0xE3, -0x2C,0x71,0x1D,0xC9,0x3A,0x3C,0x62,0x94,0xCE,0x08,0x85,0x46,0x82,0x82,0x80,0xD0,0x99,0xAB,0xD0,0x22, -0xB2,0xA8,0xA4,0x85,0xDD,0x40,0x9C,0xDC,0xE0,0x41,0x4C,0x68,0x77,0x4E,0x02,0x1E,0xBA,0xBB,0x0E,0x70, -0xE1,0xE7,0x69,0x06,0x32,0x25,0x8C,0x50,0x8E,0x53,0x89,0x96,0x25,0x88,0x2E,0x94,0xA8,0x42,0x01,0x95, -0x9C,0x84,0xC2,0xBE,0xE2,0xEE,0x24,0x62,0xFE,0x75,0xB5,0xD2,0x6E,0x72,0x5B,0xAC,0xE5,0x86,0xEC,0x06, -0xA7,0x8B,0x5A,0x5D,0x12,0xBB,0x05,0x6C,0x91,0xC6,0x18,0x2F,0x6D,0x7E,0x93,0x03,0xD4,0x92,0x4F,0x90, -0xB2,0xA0,0xDA,0x14,0xA9,0x2D,0x78,0x81,0x42,0x68,0x92,0xF3,0xC5,0xEA,0x56,0xB2,0x04,0xF9,0x84,0xDF, -0xB9,0x8E,0x9C,0x26,0x2D,0xC4,0xDD,0x71,0x1C,0x4D,0x28,0x5C,0x7B,0x8B,0xD3,0x00,0x51,0x64,0x0D,0x53, -0x82,0x22,0x6B,0x54,0xAB,0xBC,0x1B,0xB3,0x4F,0xDD,0x1C,0xDA,0xD0,0x8F,0xB0,0xCF,0x95,0x86,0x61,0x13, -0x26,0xD7,0x84,0xAF,0x02,0x56,0x06,0x1A,0xBA,0x92,0x1A,0x0A,0xD5,0xEE,0xF5,0x41,0x37,0x92,0x0F,0x25, -0xB6,0x92,0xA8,0x3B,0x61,0x9C,0xB3,0x58,0xDA,0x5B,0x25,0xAD,0x26,0x4D,0xE6,0xF1,0xCA,0x76,0xAC,0x57, -0x7D,0x83,0xFC,0x00,0x94,0xCA,0x89,0x8F,0xA2,0x2E,0x8A,0xC8,0x8C,0xBA,0x31,0x09,0x82,0x08,0x37,0x4C, -0xD6,0xCD,0xD3,0xC8,0x08,0x10,0x47,0xAE,0xF2,0xB3,0x84,0xCE,0x00,0x9A,0xE1,0xDD,0x1D,0x8B,0xBC,0x3D, -0x3C,0x3D,0x9F,0x3B,0x2F,0x9E,0xCC,0xD8,0x10,0xFE,0xBD,0x1E,0x5D,0x84,0x27,0x17,0x33,0x68,0x1D,0x8A, -0xEE,0xF0,0xCD,0xD1,0xF0,0x0D,0x3C,0x8E,0xFA,0x9D,0x8F,0xD3,0xDF,0x87,0x62,0xF8,0x49,0x70,0x38,0xBE, -0x38,0x19,0x0E,0x5F,0xF4,0x9E,0xBD,0x9E,0xBF,0x7B,0xB1,0x2B,0xC0,0x87,0x91,0x73,0xFE,0x36,0x74,0x2E, -0xB6,0x7E,0x88,0x83,0xA7,0x41,0xE8,0xC7,0x17,0xC3,0x37,0xEF,0xCE,0x6F,0x2E,0xE3,0x8B,0xD9,0xE8,0x5D, -0x3F,0x7C,0xBF,0xF5,0x76,0xF4,0xFE,0xDD,0x4F,0xD7,0xF8,0xE7,0xA7,0xCF,0xDF,0x8F,0xE7,0x80,0x70,0xCC, -0x46,0x17,0xE7,0x87,0x6F,0x0F,0x67,0xEF,0x0F,0xFD,0x93,0xDB,0x49,0xF4,0xFA,0xF0,0xC9,0x70,0x32,0xDC, -0xF2,0x31,0x9E,0x8D,0xCF,0x0F,0xF3,0x67,0x2F,0x4E,0x67,0x84,0x84,0xA3,0xF7,0xAF,0xC7,0xFE,0xD1,0xA3, -0x97,0x17,0x4F,0x87,0x24,0x7C,0xFD,0xFC,0xDC,0xB9,0x7E,0xF2,0xE2,0xE8,0xD8,0xBF,0x7C,0x7E,0xB9,0x7B, -0xBC,0xDD,0xFB,0xFE,0xFB,0x57,0xC1,0x29,0xA1,0xE3,0x9B,0x4F,0xC3,0xD9,0xD1,0xFC,0xF1,0x5D,0x36,0x0E, -0x9F,0xDD,0xD0,0xDE,0x5B,0xF6,0xF1,0xD9,0xDD,0x2B,0xF8,0x3D,0x3B,0xEB,0x4C,0x46,0xFD,0xEC,0xE2,0xCD, -0xB3,0xB7,0x5B,0xD9,0x0F,0x8F,0x92,0xC3,0xE3,0xE3,0x9B,0x78,0x72,0xD6,0x8B,0x83,0xEB,0x29,0x7F,0xBC, -0xCD,0x93,0xCB,0x59,0xFE,0xFE,0xF7,0x47,0xCF,0xC3,0xDE,0x29,0x46,0x97,0x61,0xE7,0xEE,0xD3,0xDD,0xE3, -0x70,0xFC,0xF4,0xE6,0x75,0x84,0x6E,0x5F,0xBF,0xF6,0x3F,0xC5,0x9D,0x08,0xFD,0x70,0x3A,0x8E,0x50,0xDA, -0xBF,0x08,0x86,0xBD,0xCE,0xD1,0xD6,0x70,0x87,0xA7,0xE7,0x47,0xF4,0x78,0xFB,0xE3,0xE8,0xF1,0xE1,0x61, -0x9F,0x4D,0x7E,0xDF,0x7A,0x72,0xBD,0xFB,0xE4,0x62,0xF7,0xCD,0xE4,0xCD,0x70,0xB4,0x73,0x78,0x81,0x2E, -0x47,0x6F,0x86,0xD3,0x9D,0x49,0x18,0xBE,0x78,0x31,0xFE,0x29,0x18,0x7E,0x4A,0x87,0xA7,0xF3,0xE1,0xED, -0xC9,0xC5,0xF0,0x69,0xE7,0xC5,0xC9,0x2B,0xA7,0x3F,0xBA,0xDC,0x9E,0xBD,0xDA,0x9D,0x1F,0x66,0x27,0xC3, -0x37,0x87,0xCE,0xEC,0x79,0x27,0x46,0xEF,0xD9,0xD1,0xF6,0xEC,0xD9,0x2E,0x39,0xBB,0x44,0xC3,0x67,0x87, -0xCF,0x33,0x72,0x1E,0x3F,0xBD,0x70,0x86,0xC3,0x97,0xA7,0xF8,0xA7,0xA3,0x6D,0xF4,0x62,0xCB,0x7F,0x07, -0xFA,0xBF,0xF8,0x19,0x7F,0xDF,0x19,0xCE,0x4F,0x9D,0xC8,0xFF,0x01,0x8F,0x9F,0x5E,0x8E,0xE5,0xEE,0x9C, -0x44,0x3F,0x8D,0xAF,0x47,0xF9,0x9B,0xF8,0xE8,0xC8,0xD4,0x28,0xEB,0xA6,0x38,0xC1,0x88,0x37,0x63,0x55, -0xE5,0x1C,0x60,0x5B,0xB5,0x15,0x16,0x4E,0x2A,0x22,0x6B,0x37,0xC0,0x3E,0x4B,0x91,0x9C,0x03,0x08,0x38, -0x15,0x26,0xB6,0xFC,0x51,0x86,0x5A,0x4D,0x45,0x5A,0x0D,0xD1,0x40,0x33,0x4A,0x47,0x88,0x09,0x05,0x9C, -0x1B,0xE2,0xE3,0x6E,0x42,0x6E,0x71,0xD4,0x95,0xC8,0xAE,0x63,0x2E,0xA4,0xB3,0x95,0xD3,0x10,0x25,0xB1, -0xA2,0x5A,0x0E,0x04,0x1F,0x91,0x2F,0x92,0x1C,0xB8,0x4C,0x0C,0xCF,0xC2,0x77,0x58,0xDA,0x9D,0xE4,0xB3, -0x29,0xB9,0x05,0x6F,0x9E,0x12,0x4A,0x38,0xD6,0xFA,0xD9,0xF2,0xC7,0x92,0xCC,0x35,0xBE,0x9B,0xA6,0x28, -0xC6,0x99,0xF6,0x17,0xC9,0x2C,0xA6,0x29,0x8B,0x17,0x75,0x04,0xE4,0xAC,0xD1,0x59,0x2E,0xBF,0xCA,0x93, -0x88,0x21,0x10,0x73,0x25,0x6C,0x94,0xC1,0x34,0x15,0x6E,0x55,0x05,0xD5,0xD2,0xCD,0xB6,0xC0,0x2D,0x5B, -0x6E,0xBD,0xB5,0x53,0xBB,0x6E,0x57,0xCE,0x15,0xC1,0xBE,0xA9,0xFA,0x46,0x3C,0x68,0xC4,0xBA,0xAF,0x38, -0xA8,0x74,0xFD,0xE2,0x6A,0x11,0x15,0x19,0x6A,0x06,0x54,0x94,0xEE,0xEF,0x3A,0x8D,0x50,0x01,0xF3,0x96, -0x5F,0x61,0x99,0xF8,0xAD,0xAF,0x92,0x14,0x76,0x03,0xCF,0xBF,0x40,0xB3,0x92,0xA9,0x4D,0x1B,0x68,0x56, -0xE9,0x4E,0x89,0x50,0xE7,0x3C,0xC9,0x6B,0x45,0x7A,0x55,0x2A,0x00,0x57,0xDC,0x3C,0x12,0xDC,0x7C,0x51, -0xAB,0xDB,0xBB,0xDF,0x14,0x3C,0xEC,0x38,0xDF,0x2C,0x6D,0x35,0xB7,0xCA,0xC7,0x7D,0x07,0xFE,0x95,0x69, -0xF7,0x71,0xCD,0xC2,0xE4,0x91,0xF8,0x29,0x19,0x04,0x3A,0x4D,0xE0,0xF6,0xCE,0x0F,0x8F,0x83,0x49,0x09, -0x54,0x82,0x3D,0x0C,0x4F,0x51,0x40,0xF2,0xCC,0x7D,0xE4,0x7C,0xA3,0xF4,0x09,0xDB,0x07,0xB2,0x97,0x9B, -0xAB,0x3A,0xB5,0xC5,0x66,0x09,0xA1,0xDA,0x56,0xA6,0x89,0xFD,0x46,0x69,0x65,0x98,0xCD,0x54,0x0F,0x2E, -0x52,0x9B,0xA6,0x98,0xBF,0x70,0xBE,0x59,0xF0,0x14,0xD1,0x6C,0xCA,0xD2,0xD8,0x4D,0x19,0x47,0x1C,0x1B, -0x8E,0xB9,0xEC,0x3B,0xEB,0x00,0xDB,0xBB,0x4E,0x80,0x67,0xE6,0x72,0xB9,0xD7,0x93,0x49,0x0D,0x2A,0x1E, -0x3F,0x25,0x09,0xDF,0x9F,0xE6,0xD4,0x17,0x3C,0x68,0x33,0x6C,0x60,0x73,0x91,0x62,0x9E,0xA7,0x54,0x0B, -0x98,0x9F,0x0B,0x63,0xB7,0x67,0x98,0x9F,0x28,0xBB,0x3F,0xBC,0x7B,0x16,0xC0,0x8C,0x65,0x85,0xE0,0xAF, -0x45,0x00,0x07,0x86,0xF5,0x0A,0x9C,0xD6,0x7C,0x48,0x30,0x40,0xE4,0x05,0xBE,0x33,0xB0,0xC5,0x2B,0x44, -0x6C,0x8B,0x71,0xC3,0x28,0xA7,0x01,0x90,0x9A,0x8B,0x1B,0xD0,0x02,0xF2,0xF0,0x07,0x7E,0x65,0x11,0x8F, -0xC2,0x63,0x50,0x4C,0x27,0xFB,0xE8,0xA0,0xDB,0x77,0xD1,0x3E,0x39,0xE8,0x83,0x7F,0x99,0x0D,0xFA,0x6A, -0xE5,0x9F,0x48,0x84,0x2F,0x0A,0x97,0x13,0x0B,0xD5,0xD4,0x7A,0x06,0x39,0x0B,0x41,0x91,0xE6,0x77,0xC6, -0xE9,0x48,0x33,0x3E,0x7C,0xDF,0xFD,0xE1,0xEA,0x73,0xFF,0x83,0xD3,0xED,0x5F,0x99,0xBF,0x99,0x3D,0x62, -0x73,0x9C,0x71,0x83,0xA2,0x1B,0x32,0x43,0x60,0xE7,0xB6,0xC8,0xB7,0xC3,0x19,0x48,0x61,0x0E,0xAA,0x35, -0x88,0x62,0x6F,0xCB,0x71,0x36,0x3C,0x7C,0x80,0x22,0x0C,0xAC,0xEB,0x27,0xE7,0xE7,0xA7,0xE7,0x1F,0xF4, -0x0E,0xEE,0xE8,0x57,0xAE,0xA6,0x77,0xA8,0xE9,0x72,0x1B,0x4A,0xCF,0x14,0x67,0xE1,0x19,0xE2,0xA1,0x11, -0xD8,0x37,0x28,0xCA,0x41,0x17,0x82,0x11,0xE6,0x81,0xE2,0xF4,0x49,0xCE,0x39,0xA3,0xBA,0x39,0x60,0x36, -0xA1,0x14,0xA7,0x4F,0xC7,0xAF,0x5E,0x7A,0xFA,0x39,0x63,0x5C,0x3B,0x26,0xA9,0x6E,0xC9,0xDD,0xB0,0x51, -0x92,0x60,0x1A,0x1C,0x85,0x24,0x0A,0x0C,0x66,0x0E,0x04,0xBA,0x2F,0xD1,0x65,0x21,0x02,0xD8,0xBE,0xAD, -0x4A,0xD6,0x29,0x48,0xAD,0x5B,0xBE,0x1D,0xE7,0x11,0x27,0x49,0x84,0xBD,0x8D,0x3E,0xF4,0x28,0x8A,0x01, -0x26,0xD2,0xB0,0x80,0x91,0xC0,0xD3,0x55,0x30,0x2A,0x42,0xD8,0xBA,0x55,0x7C,0xB5,0x4A,0xD0,0x5A,0x25, -0x68,0xE2,0x26,0x20,0x91,0x6E,0x05,0x76,0x5D,0x2B,0x43,0xAF,0x58,0xAA,0x84,0x05,0x78,0x8A,0x80,0x93, -0xB7,0x20,0x35,0x8C,0xF6,0xD6,0x2D,0x14,0xA8,0x85,0xB2,0xB6,0x36,0xB2,0xA6,0x36,0xD4,0x36,0xAE,0x43, -0xCE,0x14,0x72,0xDA,0x46,0x4E,0x9B,0xC8,0x47,0xD2,0x1A,0xD6,0x21,0xA7,0x0A,0x39,0x6A,0x89,0x18,0x49, -0x11,0x55,0x84,0xEB,0x0A,0x6D,0x82,0x40,0x80,0x1D,0x35,0xC5,0x84,0x1E,0x38,0x24,0x9A,0x44,0x38,0xF0, -0x36,0x1C,0xE8,0x89,0xA2,0xDA,0xDB,0x72,0xD6,0xAC,0x11,0xA9,0x35,0xF2,0xD6,0x1A,0xB9,0x5C,0x83,0x24, -0xA0,0x44,0xC8,0x1B,0xBA,0x95,0x4B,0xAD,0xB5,0x47,0xD4,0x72,0x7E,0x88,0xFD,0xEB,0x09,0x93,0x23,0xB2, -0x2D,0x56,0xDC,0x40,0x92,0x66,0x22,0x69,0xCA,0xA3,0x08,0xD0,0x4C,0x6C,0xF0,0x72,0x4F,0x50,0xB6,0x92, -0xA6,0xF8,0xDA,0x30,0xE2,0xB6,0x2E,0x11,0xE2,0xB6,0x96,0xE2,0xD6,0xB4,0x11,0xBA,0xC1,0xDA,0x3A,0x2D, -0xC5,0xE6,0x9A,0xC1,0x64,0xDD,0x60,0x6E,0x5A,0xA9,0xCD,0xA8,0x1F,0x11,0xFF,0xDA,0xAB,0xDD,0xD8,0x5C, -0x18,0xCD,0x8E,0xE0,0x84,0x7B,0x14,0xCF,0xB5,0x9F,0x20,0x2C,0x1D,0x23,0x8E,0x06,0xBC,0x20,0x63,0x14, -0x76,0x83,0x81,0x10,0x9C,0x4F,0xC1,0x0B,0x33,0x1B,0x05,0x30,0x7C,0x76,0x31,0xD6,0x2D,0xBD,0x27,0x76, -0x45,0x07,0x4F,0x26,0xE6,0xD2,0xAC,0x7C,0xC9,0xA2,0x32,0xAA,0x5F,0xA4,0x51,0x3D,0x04,0x8D,0xD2,0xE2, -0x96,0x56,0xBC,0x96,0x27,0x32,0x35,0x2A,0x95,0x96,0x4C,0x89,0x93,0xA1,0x58,0xC3,0x28,0xF6,0x5F,0x37, -0x21,0xEC,0x29,0xE3,0x35,0x4C,0x0B,0xB5,0x99,0x46,0x15,0xD3,0x29,0x9A,0x97,0x46,0xA2,0xD6,0x1F,0x28, -0xF7,0x76,0x20,0xFB,0xD2,0x8C,0x6B,0xD8,0xDB,0x71,0x7E,0xD8,0x1D,0xC0,0xFE,0x18,0xCA,0x71,0x01,0xB0, -0xC7,0x6D,0x30,0xAD,0x19,0x0F,0x07,0x7E,0xC7,0x2B,0xB4,0x12,0x78,0xDC,0xCE,0xF2,0x49,0xC6,0x53,0xC8, -0x6D,0x86,0x6F,0xF9,0x1D,0x6C,0xB6,0x97,0xD1,0x3B,0xCC,0x0A,0x4C,0x8B,0x75,0x3A,0xCB,0x7B,0x0A,0x3A, -0x1D,0x35,0x34,0x84,0x84,0x86,0x70,0x94,0x61,0x8D,0xDA,0xF8,0x16,0xFB,0x47,0x2C,0x8E,0x91,0x20,0x91, -0xC1,0x26,0x17,0x1D,0xDD,0x5C,0x5A,0x6C,0xAD,0x66,0x1E,0x08,0x59,0x56,0xF6,0x90,0x1E,0x21,0x04,0x7A, -0xBE,0x2D,0x7C,0x25,0x2B,0x84,0xFA,0xF2,0x2E,0x97,0x81,0x48,0xA1,0x7C,0x70,0xAE,0xAC,0x6A,0xE3,0x56, -0xA4,0x6A,0xEF,0xBB,0xB4,0xBA,0x56,0xFC,0x31,0xEB,0x9D,0x16,0xB0,0x76,0x5C,0xAB,0xA1,0xFA,0x72,0x69, -0xF9,0x82,0xFF,0x10,0xD1,0x19,0xFE,0xEB,0x02,0xD4,0x3C,0x4A,0x17,0xB5,0x28,0x24,0x8F,0x03,0xF7,0x17, -0xDB,0xF8,0xF0,0xAB,0x7D,0xD5,0x31,0xCD,0x83,0xAF,0x7B,0x52,0xC3,0x06,0x37,0x3F,0xF4,0xAF,0x2C,0x04, -0x60,0xFB,0x3B,0xF3,0x17,0x5B,0x82,0x5B,0xB0,0xC1,0x0D,0x23,0x81,0x26,0x56,0x12,0x9E,0xCD,0xA6,0x1A, -0xDA,0xDC,0x34,0xC0,0xE4,0x5A,0xC6,0xDA,0xE1,0x1D,0xDD,0x86,0xBC,0xB1,0x5C,0xDE,0xCF,0x66,0xE3,0x14, -0x63,0x95,0x2E,0x2B,0x80,0xE4,0x1E,0x64,0x5E,0x09,0x56,0xA5,0xD4,0xD8,0xAA,0xA1,0x30,0x28,0xD3,0xBD, -0x5D,0x54,0x12,0x9E,0x4E,0x19,0x05,0x93,0x4D,0xEE,0x0F,0xCB,0x23,0x9E,0xDE,0x8A,0x21,0xDF,0xEE,0x91, -0x78,0xA6,0x65,0xA9,0xEF,0xA9,0xAD,0x38,0x10,0x7F,0xBC,0x6F,0x45,0x9A,0xDB,0xFC,0xCD,0x9F,0x78,0x7A, -0x07,0xF6,0x17,0xDB,0x94,0xCD,0x0D,0xB3,0xF3,0xAD,0xAE,0x49,0x8A,0x9E,0x1E,0xA3,0xDB,0xE2,0xA0,0x2F, -0x2A,0x91,0x81,0x06,0xFD,0xB2,0x84,0x55,0x03,0xC5,0x11,0x1B,0xE5,0x9C,0x0D,0xB4,0xB2,0xC2,0x51,0x47, -0x4C,0x5D,0xEB,0xED,0x7F,0x5B,0xEB,0x00,0x81,0xE8,0x48,0xED,0x09,0x91,0x41,0x2C,0x17,0x21,0x0F,0xB7, -0xA2,0x0F,0x29,0xDC,0x4E,0x45,0x45,0x02,0x70,0x72,0x2F,0x6D,0x5A,0x99,0x81,0xCC,0x03,0xA3,0x95,0x68, -0xF7,0xC4,0xA1,0x64,0xFF,0x4C,0x55,0x9B,0x7B,0x3D,0xD9,0xD3,0xD7,0x39,0x06,0x68,0x9E,0x02,0xBA,0x55, -0xD5,0x37,0x13,0x16,0xDC,0x35,0xAA,0xA2,0xEC,0xF0,0xEE,0x28,0x42,0x59,0xF6,0x1A,0xC5,0xB0,0xBE,0x1F, -0xEB,0x66,0x61,0x4A,0xFB,0xCE,0xE6,0x66,0x1B,0x29,0xC5,0x31,0xBB,0xC1,0x8A,0x2B,0x0C,0xA1,0xCC,0x0D, -0x80,0xF0,0xE6,0xE6,0x3A,0xC6,0xC4,0x15,0xDB,0x97,0xB8,0xA2,0xE0,0xAE,0x65,0xF8,0xFB,0x9F,0xB8,0x53, -0x39,0xF2,0x21,0xAD,0x46,0xA6,0x25,0xB8,0xFF,0xFC,0x39,0x93,0x7F,0x57,0x02,0xBD,0xF4,0x97,0x55,0x77, -0xC1,0xD2,0x25,0xC0,0xF5,0xEE,0x7B,0x05,0x37,0xB3,0x39,0xE1,0x7E,0x28,0xF4,0xED,0xA3,0x0C,0xEB,0xE2, -0xA6,0xCE,0x95,0xAD,0xD9,0xA7,0xA2,0xF1,0x89,0x24,0x45,0x6B,0x8E,0x6E,0x8A,0x56,0x9C,0x6C,0x17,0xAD, -0x24,0x98,0xEA,0xAE,0x2A,0x12,0x37,0x9C,0x65,0xD1,0xE8,0x2F,0xE5,0xD6,0x47,0xAB,0x1A,0x3E,0x66,0x73, -0x2A,0x14,0x58,0x69,0x39,0x5A,0xB3,0xF7,0x75,0x0A,0xAB,0x9C,0x2E,0x28,0xF0,0xBA,0xD3,0x54,0xF9,0x5C, -0xC3,0x3F,0x4A,0x18,0x78,0x06,0x5E,0x9A,0xFF,0x97,0xD5,0xF8,0xCA,0x6A,0x56,0xF6,0x63,0x8D,0x90,0x47, -0x21,0xD4,0x92,0x7F,0x22,0x61,0xDC,0x5A,0x21,0xB6,0x7D,0xF1,0x7C,0xCD,0x02,0x19,0xFD,0x4C,0x2B,0x37, -0x62,0xEB,0x7F,0x34,0xB0,0xA4,0x65,0x60,0xED,0x4A,0x23,0x59,0xB3,0x6B,0x38,0xC2,0x1C,0x57,0x12,0x25, -0x6B,0x25,0x4A,0xFF,0x1F,0xCD,0xD7,0x61,0x89,0xA8,0x73,0x45,0x33,0x30,0x05,0xE4,0x46,0x87,0x04,0xED, -0xB5,0x29,0x64,0x7E,0xCA,0xA2,0x68,0xCC,0x92,0x83,0x07,0xC6,0xDD,0x6A,0xBC,0x68,0x94,0x6C,0xD6,0x53, -0x2C,0x7F,0x2D,0xD1,0x97,0x78,0xCA,0x0F,0x1E,0x02,0x3C,0x4C,0xB6,0x9E,0x63,0x05,0x1E,0xB6,0x41,0x79, -0x30,0xFA,0x73,0xC7,0xB7,0xB2,0xAA,0x77,0xD9,0x61,0xB0,0x17,0x7E,0xA9,0x24,0x4F,0x28,0xC9,0x22,0x6B, -0xF3,0x45,0x3D,0x1E,0x01,0x45,0x2F,0xE8,0xE8,0xC9,0x6D,0x3D,0xC6,0x59,0xE2,0x65,0x6A,0x08,0x19,0xC4, -0xE2,0xF7,0x36,0x65,0x5D,0x14,0x4F,0x3D,0x62,0xB3,0xE9,0x34,0xC3,0xFC,0x9D,0xC8,0x20,0x56,0x54,0xF5, -0x9F,0xCA,0x0C,0x32,0x80,0x2E,0x8D,0x59,0x9E,0x61,0x96,0xF3,0x76,0xAD,0x59,0x09,0xB3,0x17,0x7C,0xFE, -0x5C,0x75,0xF6,0x83,0x4E,0x5A,0x77,0x2F,0xF7,0xB2,0x46,0x67,0x3F,0xEB,0x44,0xE0,0x49,0xFF,0xB1,0xA5, -0x90,0xA6,0xA5,0x30,0x91,0xC0,0x2C,0xA6,0x2C,0x25,0xAD,0x6D,0x3D,0x15,0x27,0x01,0xD4,0x08,0xB1,0xC2, -0xA0,0x75,0xB3,0x3C,0xE4,0x36,0x5D,0x19,0x59,0x69,0xDB,0xD3,0x1F,0xAA,0xB6,0x03,0x43,0x50,0x05,0xAD, -0xBF,0x64,0x73,0x9C,0x1E,0xA1,0x0C,0x1B,0x10,0x79,0xAB,0x34,0x21,0xA1,0xA6,0x9B,0xAD,0x9D,0x45,0x0B, -0xA8,0xAF,0x9E,0x10,0x5E,0xBE,0x18,0x16,0x60,0x82,0x88,0x0B,0x6B,0x28,0x99,0x4B,0xC5,0x1D,0xA3,0xE2, -0xC4,0x04,0x1A,0xCA,0x5B,0x3C,0x62,0x5B,0x5C,0xF0,0x80,0xDE,0x8E,0xD5,0x01,0x11,0xCA,0x6B,0x0C,0xD6, -0xC2,0x92,0xB3,0x94,0x25,0x68,0x86,0xC4,0x3C,0x18,0x03,0x07,0x93,0xC4,0x05,0xB5,0x46,0x45,0x54,0x5F, -0x37,0x74,0xFB,0x1E,0xD8,0xAB,0xBC,0xCC,0x39,0x9D,0x1A,0x50,0x3B,0x99,0xF5,0xB4,0xE0,0xBF,0x4B,0x42, -0xFC,0x96,0x17,0xD9,0x25,0xE4,0x71,0xDD,0x8A,0x8A,0xE6,0xC7,0xAC,0x68,0xF8,0x59,0xD9,0xBA,0x6D,0x00, -0x19,0x2D,0xC1,0x8C,0x4E,0x8B,0x26,0xA1,0xA4,0xA4,0x53,0x02,0xCB,0x67,0x92,0x94,0x99,0x2C,0x2C,0x5B, -0x21,0xBE,0xAD,0xF0,0x58,0x95,0xE7,0xF0,0xBA,0x3C,0x57,0xDF,0xB2,0xFC,0x77,0xE2,0x27,0x74,0x56,0x0A, -0x93,0x94,0xAD,0x19,0x29,0x45,0x99,0xC4,0xC9,0x17,0x19,0x49,0xFF,0xE9,0xA9,0xEF,0xF8,0xE4,0xE5,0xC9, -0xF8,0xA4,0x79,0x00,0x68,0x5E,0x0E,0xF1,0x3F,0xBB,0x7D,0xE1,0xA6,0x6B,0xFC,0x85,0xA4,0x06,0x65,0xB7, -0x69,0xB6,0xEE,0x8F,0xA2,0xD6,0xBD,0x54,0x9D,0x51,0x8A,0x0B,0x1F,0xD0,0xD3,0xE6,0x66,0x83,0x11,0x39, -0x5E,0xDF,0x69,0x51,0x4B,0x57,0x55,0xB8,0xF4,0x6A,0xF4,0x50,0xB9,0x8A,0xCC,0xEA,0x40,0x48,0x3C,0x5A, -0x44,0x14,0x4B,0x9C,0x0D,0xC9,0xBE,0x0F,0x87,0xC2,0x8E,0xA9,0xEE,0x72,0x3C,0x0F,0xAE,0xBD,0xFC,0x2B, -0x79,0x1F,0xB0,0xB9,0x89,0xDA,0x25,0xAD,0xE1,0x58,0x12,0x28,0x16,0x94,0x2D,0x79,0x13,0x01,0xB2,0x00, -0x5B,0x8E,0xF5,0x7C,0x74,0xFA,0xDA,0x4E,0x50,0x0A,0x0E,0x49,0xCD,0x66,0x34,0xCA,0x95,0x80,0x6D,0x6D, -0x3F,0x39,0x69,0x9C,0xB5,0xE4,0xEB,0x3E,0x97,0x2F,0xAD,0xC8,0x10,0xE4,0x54,0x86,0x16,0x65,0x4F,0x71, -0x2F,0x0B,0x39,0x2E,0x2E,0xF3,0x5D,0x1D,0xAE,0xE2,0x66,0xB6,0xE0,0x37,0xF9,0x03,0xD7,0x09,0x3C,0x24, -0x59,0xF3,0x8C,0xD9,0x8A,0x0C,0x7F,0x71,0xC7,0x96,0x65,0x4B,0x91,0xBB,0x7F,0x5C,0x52,0xAF,0xA6,0xD5, -0xE6,0xC8,0xE3,0xF0,0xA2,0x0E,0xC5,0xB5,0x39,0xEA,0x90,0xC2,0x08,0xD5,0x2D,0xFA,0x77,0x3D,0x84,0x96, -0x1E,0x42,0x57,0x03,0x04,0xBE,0x6D,0x79,0x7B,0xB5,0xCA,0x60,0x02,0x9C,0x5D,0x0F,0xEA,0x28,0x02,0x10, -0x78,0x46,0x2D,0xC0,0xC7,0x4C,0x8E,0x7F,0x44,0x37,0x48,0x5D,0xCB,0xD6,0xD0,0xF5,0xA1,0x42,0x4E,0xF7, -0x7F,0x83,0x56,0x35,0xB3,0x1D,0x88,0x32,0x68,0xAE,0xC6,0x13,0xDE,0x0A,0x4F,0x75,0xCC,0x6A,0x46,0x27, -0x70,0xD7,0xC2,0x9B,0x35,0xDE,0xD0,0x6F,0xC3,0xF5,0xC0,0x20,0x1F,0xF2,0xBD,0x66,0x1C,0x56,0x18,0x4D, -0xEB,0x59,0x7F,0x18,0x6D,0x1F,0x57,0xD7,0xD7,0x19,0xD2,0xFF,0xF0,0x41,0x66,0x67,0xE5,0xC5,0x0C,0xB8, -0x79,0xA3,0xA7,0x83,0x41,0x64,0x60,0x86,0x18,0xA5,0x23,0x71,0x07,0xA0,0x12,0xC9,0x52,0x6D,0xA0,0x27, -0x5D,0xD7,0x00,0x8D,0xF5,0x64,0xCA,0xB0,0x41,0x0F,0x30,0xBF,0x02,0x52,0x00,0x52,0x8F,0x01,0xC9,0xC6, -0x20,0x82,0x41,0xE4,0xE9,0x31,0xA3,0xEC,0x1A,0x91,0xE6,0x74,0x02,0x10,0x52,0x7C,0x25,0xA0,0x77,0xA8, -0x55,0xEC,0x83,0x24,0x54,0x43,0xD4,0xEE,0x9B,0xC5,0x2D,0x67,0x7D,0xC7,0x84,0x4B,0xB7,0x29,0xEC,0x63, -0x43,0xA2,0x65,0xA2,0xF0,0x18,0xE1,0x2C,0x93,0x7C,0x0B,0xB9,0x5E,0xB1,0x00,0xC4,0x02,0xB4,0x5E,0x0C, -0x2D,0xB1,0x10,0x48,0x28,0x00,0xE3,0x10,0xC7,0x05,0x84,0x43,0x53,0x80,0x90,0x00,0x7D,0x2D,0x55,0x35, -0x92,0x05,0x1E,0xA1,0x33,0xAF,0xDF,0x73,0xAC,0x55,0xB2,0x17,0x19,0x1E,0xB1,0x29,0x1F,0xA3,0x49,0x66, -0x6C,0x38,0xE6,0xEA,0x0C,0x01,0x1A,0x41,0x34,0x31,0xB6,0xCC,0xF5,0xE8,0xEF,0x58,0x7A,0x8D,0xD3,0x02, -0x59,0x54,0x66,0x50,0x98,0x45,0xF0,0xCB,0x87,0xBE,0x78,0xD1,0xFF,0x92,0x50,0x5C,0x03,0x47,0x21,0x9B, -0x9F,0xA5,0x84,0xF2,0x57,0xF2,0xD0,0x6F,0x6C,0xF4,0xE5,0x3E,0xA9,0xBB,0x28,0x19,0x81,0xCA,0x4B,0xAA, -0x85,0x08,0x66,0x6E,0xEB,0xAA,0xCA,0x9A,0xC0,0x76,0x41,0x6C,0x75,0x17,0x73,0x42,0x5D,0xFD,0x88,0xA7, -0x51,0x77,0xA4,0x5B,0x31,0xF2,0xA1,0xA3,0xE6,0x40,0x7F,0x69,0x09,0xA7,0x75,0x9B,0xC1,0x64,0xA3,0xEE, -0xD4,0x85,0xFA,0xCA,0x3D,0x5E,0xFB,0x5A,0x4A,0x00,0x0F,0x23,0x36,0x31,0xC4,0x3B,0x87,0x85,0x70,0x78, -0x97,0x2E,0x4D,0x91,0x9D,0xBE,0x7C,0xE5,0xE6,0x43,0xD4,0xE5,0x16,0x6E,0xDC,0x18,0x76,0x74,0x5D,0x5C, -0xC4,0x01,0x1E,0x0A,0x4E,0x69,0x74,0xE7,0x42,0x56,0xFC,0x13,0xA9,0x73,0x1A,0xB0,0x2F,0x49,0xFD,0xFE, -0x9E,0xD4,0xEF,0xD7,0x49,0x8D,0xDB,0xBB,0x05,0x9D,0x0B,0x20,0xFB,0x0A,0x51,0x34,0xC3,0x29,0x0C,0x88, -0x45,0x60,0x03,0xFE,0x1E,0x67,0x29,0xFE,0x32,0x67,0xA3,0x90,0x4C,0xF9,0x0A,0x7F,0x72,0xF4,0x9F,0x71, -0x99,0xE2,0x07,0xB8,0x2C,0x0B,0xD9,0x2A,0x6D,0xFC,0xF9,0x3D,0x98,0x74,0x6A,0x0F,0xB6,0xB0,0xE9,0xAE, -0xFF,0xC0,0xEF,0xEA,0x15,0xBF,0x9C,0x3D,0xC5,0xC3,0xC5,0x4B,0x2B,0x10,0x36,0x01,0x12,0x34,0xF2,0x13, -0xA3,0x87,0x70,0x52,0x78,0x09,0x22,0x18,0xCA,0x1C,0xB1,0xB7,0x58,0x5A,0xDC,0x33,0xE6,0x04,0xC4,0x9F, -0x83,0x70,0xBE,0xAC,0x7E,0x6D,0xF1,0xCD,0x12,0x28,0x01,0x98,0x84,0x3C,0xDB,0xFB,0x70,0xB0,0x79,0xD5, -0x81,0x04,0xE5,0xC1,0xC3,0xF4,0xA0,0xB1,0x79,0xF5,0x9D,0xD9,0x9B,0x91,0x46,0x49,0x24,0x53,0x1D,0xE8, -0xF5,0x03,0xBD,0xF2,0xD0,0x12,0x42,0x58,0x33,0x15,0x56,0x81,0xD5,0xC2,0xF2,0x4A,0x13,0x1E,0xE2,0xB3, -0x30,0x78,0xC8,0xD8,0x01,0xB3,0xA9,0xD7,0xB8,0x69,0xD4,0x39,0xFC,0xD5,0x21,0x6C,0x0F,0x0A,0xB6,0x02, -0x3C,0x25,0x14,0xCB,0xE8,0xA5,0x9A,0x56,0x01,0x10,0x6A,0x20,0xA9,0x84,0x94,0x6D,0x4B,0xB4,0x45,0xF6, -0x23,0x33,0xA1,0x48,0x43,0x17,0x1F,0x7C,0x88,0x44,0xAF,0xCB,0x84,0xBD,0x02,0x9E,0xCB,0x40,0xD2,0x98, -0xB0,0xE6,0x05,0x9E,0x9E,0x17,0x2D,0x1D,0xA4,0xE4,0x8D,0x20,0xAC,0xC4,0x81,0x78,0xAB,0x1A,0xF7,0x42, -0x7B,0x7D,0xEA,0x51,0x60,0x73,0x09,0x2E,0xA6,0x04,0x08,0xF4,0x2A,0x9D,0xFF,0xFC,0xEA,0xE5,0x53,0xCE, -0x93,0x73,0xB5,0xA3,0x40,0xAB,0x3D,0x50,0x1B,0x9A,0xB9,0xE0,0xE9,0x5D,0x59,0x18,0x8A,0x40,0xA1,0x42, -0xDD,0xCF,0xA7,0x93,0x8F,0xD8,0x07,0x49,0x5E,0x65,0x90,0x43,0xB7,0x6C,0x81,0x3E,0x1E,0x9F,0xD9,0xBB, -0xB6,0x03,0x95,0x0A,0xEC,0xA7,0x1F,0x0A,0x8B,0x59,0xFE,0x2D,0xE4,0xED,0xBF,0x87,0x4C,0x20,0xDE,0x67, -0x10,0xD0,0x4B,0xFC,0x36,0x6E,0x98,0xB2,0xB9,0x44,0x3B,0x49,0x53,0x61,0x0C,0xE3,0x90,0x64,0xDA,0x04, -0x06,0x33,0x9C,0x6A,0x01,0xC3,0x99,0x46,0x19,0xD7,0xB2,0x3C,0x49,0x58,0xCA,0xEF,0xE9,0xC3,0xD6,0xCB, -0x4B,0x9A,0x37,0x39,0xCE,0x71,0x50,0x0C,0xE3,0xB4,0xA9,0x17,0x59,0xD3,0xC1,0x38,0xB8,0xDB,0x87,0xAB, -0xA2,0xC2,0xCB,0x29,0x15,0xF9,0x67,0xA3,0xAF,0xFA,0x20,0x5D,0x08,0x54,0x3D,0x9A,0x47,0xD1,0x72,0x70, -0x8F,0x96,0x9D,0xA4,0x8C,0x33,0xF9,0xD2,0x6B,0xF1,0x5B,0xE1,0x5A,0xEE,0xBD,0x6B,0xFA,0x36,0x55,0xC7, -0xDA,0x30,0x36,0xB0,0x46,0x68,0xC6,0x11,0xF5,0xC5,0x36,0x2A,0x5D,0x98,0x65,0x75,0x27,0xA6,0x0F,0x44, -0x5C,0x90,0x86,0xF3,0x60,0x49,0x21,0x25,0xA3,0x9E,0xAE,0x8B,0x42,0x0F,0x8B,0x7A,0x19,0xC5,0x59,0x83, -0x6C,0x95,0x29,0x4C,0xEA,0x95,0xE0,0x81,0x7C,0xB9,0xD2,0x9C,0xBF,0xCA,0x46,0x59,0xDD,0x23,0x80,0x69, -0xE5,0x3C,0x93,0x76,0x3C,0x5D,0x56,0x08,0x07,0x32,0x64,0x48,0x03,0x8E,0x31,0x0F,0x59,0x70,0xA0,0x1F, -0xE8,0xAE,0x0E,0xFF,0x37,0x75,0x0B,0x66,0x61,0xEA,0xB3,0x00,0x5F,0x9C,0x3F,0x83,0x50,0x9A,0x30,0x8A, -0x29,0x37,0x10,0x64,0x14,0x4F,0xEF,0xAC,0x42,0x2A,0x36,0x3E,0xA0,0x2B,0x73,0xD0,0x56,0x36,0x9E,0xDF, -0xDB,0xCE,0xD6,0x66,0xD8,0x8C,0x8A,0xE8,0x7A,0x07,0xCC,0x73,0xBC,0xF2,0x72,0xC4,0xA2,0xAB,0xA7,0x20, -0x73,0xB1,0x23,0x78,0x96,0x58,0x23,0xC0,0x12,0xAE,0x57,0x2B,0xF9,0xA1,0xCA,0x8E,0xDA,0x3E,0x8A,0x22, -0xF1,0x31,0x07,0xF0,0x2A,0x16,0xCB,0x33,0x4B,0x10,0xC9,0x40,0x80,0x0C,0x8F,0xF1,0x2D,0xB8,0xB4,0x2C, -0xCF,0x94,0x0D,0x15,0xC7,0x21,0x20,0xCD,0x1B,0x66,0x64,0x5A,0x55,0x6F,0x73,0x93,0xDB,0xA5,0x99,0x18, -0x25,0x52,0x26,0x92,0x8D,0xBC,0x7B,0x58,0x1A,0x4D,0x21,0x45,0xEE,0x5E,0xD1,0xB6,0xD1,0x56,0x43,0x82, -0xA9,0x51,0xC2,0x80,0xB3,0x3C,0x8D,0x20,0x43,0x88,0xEA,0xA5,0x35,0x2D,0xC3,0x34,0x80,0x05,0xDC,0x3F, -0x45,0x96,0xA8,0xB4,0x69,0x15,0x23,0x9E,0x2A,0xBE,0xDB,0xF4,0x78,0xB1,0x2B,0x4F,0xB1,0x0C,0x73,0xED, -0xEF,0x71,0x2D,0xF9,0x25,0x2D,0x51,0x09,0xA1,0x07,0x6F,0x53,0xE6,0xF3,0x2E,0x98,0x55,0xDC,0x85,0x15, -0x94,0x15,0x04,0xFA,0x1A,0x0E,0xD5,0x69,0xCF,0x12,0xD7,0x29,0xEE,0x3D,0x17,0xAD,0xF5,0x67,0xDC,0xF3, -0xD1,0x36,0x9D,0x36,0x9F,0x8D,0xDD,0xDE,0xDB,0xB9,0x07,0x42,0x13,0x96,0x72,0x03,0x72,0x1C,0xA4,0xC1, -0x6A,0xB5,0xF2,0xE0,0xD5,0x8C,0x0B,0x76,0x92,0x67,0xA1,0xB1,0x00,0xD6,0x5D,0x6E,0x29,0x5D,0xB9,0xD8, -0x52,0x76,0xEB,0x52,0xAB,0xB4,0x0F,0x17,0x52,0x57,0x2B,0x7E,0x7C,0xFE,0x2C,0x7B,0xF5,0x6E,0x43,0xAF, -0xBD,0xE1,0x20,0xAC,0x74,0xE2,0x32,0x23,0x0B,0xA3,0xBF,0x1F,0xAB,0xF6,0x7A,0xEA,0x3C,0x55,0x7E,0xEE, -0xA2,0x91,0xC0,0x13,0xC9,0x5D,0x57,0xEF,0xB5,0xEA,0x4F,0x83,0xA7,0x10,0x9D,0x6C,0x38,0x86,0x55,0xDF, -0x3D,0xEB,0xC5,0x87,0xCF,0xF7,0x29,0xEC,0x57,0xE7,0x42,0xCF,0xAB,0xAA,0x7A,0x15,0x7B,0xD4,0x04,0xEF, -0x81,0x4F,0x61,0x74,0x05,0x86,0x63,0xB3,0x6A,0xD8,0xF7,0x38,0x10,0xAB,0x5B,0x05,0x08,0x65,0x77,0xD4, -0x17,0x11,0xB4,0xA2,0x15,0xC2,0x56,0xB4,0x0E,0xD4,0x6A,0xA6,0xB9,0xAC,0xF9,0x13,0x57,0x91,0x1A,0x2B, -0xDE,0x40,0x34,0xEB,0x0D,0x10,0x02,0xCE,0xEB,0x42,0xF4,0xD2,0x5D,0x35,0x79,0x60,0xAF,0xBA,0x20,0x24, -0x4C,0xA8,0x67,0xE5,0xC9,0x7A,0x80,0x2C,0x0F,0x56,0x06,0x55,0x85,0xB1,0x32,0x5C,0x1C,0xFA,0xAA,0xF7, -0x82,0x8D,0x6F,0x99,0x6A,0x1A,0x44,0xBE,0x46,0x91,0xF3,0xDB,0x6F,0x56,0x1E,0x44,0x53,0x18,0xFB,0x7F, -0x00,0x47,0x16,0x74,0xBA,0xF2,0x2E,0x00,0x00 +0xDF,0x49,0xF2,0x93,0x84,0xEE,0xF1,0x6D,0xA5,0x60,0x49,0xA7,0x3B,0xDD,0x9D,0xEE,0x25,0xD9,0x7B,0x1B, +0xC7,0xA7,0x47,0xE3,0xCB,0xB3,0x13,0x2D,0xE4,0x71,0xB4,0xBF,0x27,0xFE,0x6A,0x11,0xA2,0x33,0x4F,0xC7, +0x54,0xDF,0xDF,0x8B,0x31,0x47,0x00,0xE2,0x49,0x17,0xFF,0x91,0x93,0x1B,0x4F,0x3F,0x62,0x94,0x63,0xCA, +0xBB,0xFC,0x2E,0xC1,0xBA,0xE6,0xAB,0x9E,0xA7,0x73,0x7C,0xCB,0x7B,0x02,0x79,0xA0,0xF9,0x21,0x4A,0x33, +0xCC,0xBD,0x9C,0x4F,0xBB,0x8F,0x81,0x04,0x27,0x3C,0xC2,0xFB,0x27,0xA3,0x33,0xED,0x24,0x20,0x9C,0xA5, +0x7B,0x3D,0x35,0xB2,0x17,0x11,0x7A,0xAD,0xA5,0x38,0xF2,0x74,0x94,0x24,0x11,0xEE,0x72,0x96,0xFB,0x61, +0x97,0x00,0x4D,0x5D,0x0B,0x53,0x3C,0xF5,0xF4,0x1E,0xF2,0xB1,0x0D,0x03,0xBA,0x26,0x96,0xF3,0x74,0x12, +0xA3,0x19,0xEE,0xDD,0xAA,0x39,0x4D,0x02,0x59,0xC8,0x52,0xEE,0xE7,0x5C,0xFB,0x57,0xD8,0xFF,0x00,0x29, +0xE3,0x77,0x11,0x56,0x20,0x25,0xB3,0x9F,0x65,0xBA,0x16,0xE3,0x80,0x20,0xE0,0xC2,0x4F,0xB1,0xD0,0x5A, +0x84,0x26,0x38,0x5A,0x4C,0x19,0xA8,0x29,0x23,0x9F,0xB1,0xDB,0xDF,0x4A,0x6E,0x07,0xB2,0x3B,0x45,0x31, +0x89,0xEE,0xDC,0x0C,0xD1,0xAC,0x9B,0xE1,0x94,0x4C,0x97,0xB6,0x1F,0x2F,0x3E,0x77,0x09,0x0D,0xF0,0xAD, +0xBB,0xED,0x38,0x83,0x84,0x65,0x84,0x13,0x46,0x5D,0x34,0xC9,0x58,0x94,0x73,0x3C,0x88,0xF0,0x94,0xBB, +0x8F,0x80,0xC2,0x84,0xA5,0x01,0x4E,0xDD,0x7E,0x72,0xAB,0x01,0x88,0x04,0xDA,0x37,0x3B,0x3B,0x3B,0x83, +0x09,0xF2,0xAF,0x67,0x29,0xCB,0x69,0xD0,0xF5,0x59,0xC4,0x52,0xF7,0x9B,0xE9,0x23,0xF1,0x33,0x08,0x48, +0x96,0x44,0xE8,0xCE,0xA5,0x8C,0x62,0xC0,0xBD,0xED,0x66,0x21,0x0A,0xD8,0xDC,0x75,0x34,0x47,0xEB,0x3B, +0x40,0x24,0x9D,0x4D,0x90,0xE1,0x58,0xE2,0xC7,0xDE,0x31,0x07,0x7F,0x8B,0x5F,0x35,0x3C,0xC7,0x64,0x16, +0x72,0xF7,0x47,0xC7,0x11,0xFC,0x6B,0x79,0xB4,0x88,0x48,0xC6,0xBB,0x52,0x39,0x6A,0x3D,0xCE,0x12,0xD7, +0x91,0xAC,0xC3,0x23,0x46,0xE9,0x8C,0x50,0x68,0x24,0x28,0x08,0x08,0x9D,0xB9,0x0A,0x2D,0x22,0x8B,0x4A, +0x5A,0xD8,0x07,0xC4,0xC9,0x0D,0x1E,0xC4,0x84,0x76,0xE7,0x24,0xE0,0xA1,0xBB,0xEB,0x00,0x17,0x7E,0x9E, +0x66,0x20,0x53,0xC2,0x08,0xE5,0x38,0x95,0x68,0x59,0x82,0xE8,0x42,0x89,0x2A,0x14,0x50,0xC9,0x49,0x28, +0xEC,0x28,0xEE,0x4E,0x22,0xE6,0x5F,0x57,0x2B,0xED,0x26,0xB7,0xC5,0x5A,0x6E,0xC8,0x6E,0x70,0xBA,0xA8, +0xD5,0x25,0xB1,0x5B,0xC0,0x16,0x69,0x8C,0xF1,0xD2,0xE6,0x37,0x39,0x40,0x2D,0xF9,0x04,0x29,0x0B,0xAA, +0x4D,0x91,0xDA,0x82,0x17,0x28,0x84,0x26,0x39,0x5F,0xAC,0x6E,0x25,0x4B,0x90,0x4F,0xF8,0x9D,0xEB,0xC8, +0x69,0xD2,0x42,0xDC,0x1D,0xC7,0xD1,0x84,0xC2,0xB5,0x77,0x38,0x0D,0x10,0x45,0xD6,0x30,0x25,0x28,0xB2, +0x46,0xB5,0xCA,0xBB,0x31,0xFB,0xDC,0xCD,0xA1,0x0D,0xFD,0x08,0xFB,0x5C,0x69,0x18,0x36,0x61,0x72,0x4D, +0xF8,0x2A,0x60,0x65,0xA0,0xA1,0x2B,0xA9,0xA1,0x50,0xED,0x5E,0x1F,0x74,0x23,0xF9,0x50,0x62,0x2B,0x89, +0xBA,0x13,0xC6,0x39,0x8B,0xA5,0xBD,0x55,0xD2,0x6A,0xD2,0x64,0x1E,0xAF,0x6C,0xC7,0x7A,0xD5,0x37,0xC8, +0x0F,0x40,0xA9,0x9C,0xF8,0x28,0xEA,0xA2,0x88,0xCC,0xA8,0x1B,0x93,0x20,0x88,0x70,0xC3,0x64,0xDD,0x3C, +0x8D,0x8C,0x00,0x71,0xE4,0x2A,0x3F,0x4B,0xE8,0x0C,0xA0,0x19,0xDE,0xDD,0xB1,0xC8,0xBB,0xC3,0xD3,0xF3, +0xB9,0xF3,0xF2,0xE9,0x8C,0x0D,0xE1,0xDF,0x9B,0xD1,0x45,0x78,0x72,0x31,0x83,0xD6,0xA1,0xE8,0x0E,0xDF, +0x1E,0x0D,0xDF,0xC2,0xE3,0xA8,0xDF,0xF9,0x34,0xFD,0x63,0x28,0x86,0x9F,0x06,0x87,0xE3,0x8B,0x93,0xE1, +0xF0,0x65,0xEF,0xF9,0x9B,0xF9,0xFB,0x97,0xBB,0x02,0x7C,0x18,0x39,0xE7,0xEF,0x42,0xE7,0x62,0xEB,0x49, +0x1C,0x3C,0x0B,0x42,0x3F,0xBE,0x18,0xBE,0x7D,0x7F,0x7E,0x73,0x19,0x5F,0xCC,0x46,0xEF,0xFB,0xE1,0x87, +0xAD,0x77,0xA3,0x0F,0xEF,0x7F,0xBE,0xC6,0xBF,0x3C,0x7B,0xF1,0x61,0x3C,0x07,0x84,0x63,0x36,0xBA,0x38, +0x3F,0x7C,0x77,0x38,0xFB,0x70,0xE8,0x9F,0xDC,0x4E,0xA2,0x37,0x87,0x4F,0x87,0x93,0xE1,0x96,0x8F,0xF1, +0x6C,0x7C,0x7E,0x98,0x3F,0x7F,0x79,0x3A,0x23,0x24,0x1C,0x7D,0x78,0x33,0xF6,0x8F,0x1E,0xBD,0xBA,0x78, +0x36,0x24,0xE1,0x9B,0x17,0xE7,0xCE,0xF5,0xD3,0x97,0x47,0xC7,0xFE,0xE5,0x8B,0xCB,0xDD,0xE3,0xED,0xDE, +0x8F,0x3F,0xBE,0x0E,0x4E,0x09,0x1D,0xDF,0x7C,0x1E,0xCE,0x8E,0xE6,0x8F,0xEF,0xB2,0x71,0xF8,0xFC,0x86, +0xF6,0xDE,0xB1,0x4F,0xCF,0xEF,0x5E,0xC3,0xEF,0xD9,0x59,0x67,0x32,0xEA,0x67,0x17,0x6F,0x9F,0xBF,0xDB, +0xCA,0x9E,0x3C,0x4A,0x0E,0x8F,0x8F,0x6F,0xE2,0xC9,0x59,0x2F,0x0E,0xAE,0xA7,0xFC,0xF1,0x36,0x4F,0x2E, +0x67,0xF9,0x87,0x3F,0x1E,0xBD,0x08,0x7B,0xA7,0x18,0x5D,0x86,0x9D,0xBB,0xCF,0x77,0x8F,0xC3,0xF1,0xB3, +0x9B,0x37,0x11,0xBA,0x7D,0xF3,0xC6,0xFF,0x1C,0x77,0x22,0xF4,0xE4,0x74,0x1C,0xA1,0xB4,0x7F,0x11,0x0C, +0x7B,0x9D,0xA3,0xAD,0xE1,0x0E,0x4F,0xCF,0x8F,0xE8,0xF1,0xF6,0xA7,0xD1,0xE3,0xC3,0xC3,0x3E,0x9B,0xFC, +0xB1,0xF5,0xF4,0x7A,0xF7,0xE9,0xC5,0xEE,0xDB,0xC9,0xDB,0xE1,0x68,0xE7,0xF0,0x02,0x5D,0x8E,0xDE,0x0E, +0xA7,0x3B,0x93,0x30,0x7C,0xF9,0x72,0xFC,0x73,0x30,0xFC,0x9C,0x0E,0x4F,0xE7,0xC3,0xDB,0x93,0x8B,0xE1, +0xB3,0xCE,0xCB,0x93,0xD7,0x4E,0x7F,0x74,0xB9,0x3D,0x7B,0xBD,0x3B,0x3F,0xCC,0x4E,0x86,0x6F,0x0F,0x9D, +0xD9,0x8B,0x4E,0x8C,0x3E,0xB0,0xA3,0xED,0xD9,0xF3,0x5D,0x72,0x76,0x89,0x86,0xCF,0x0F,0x5F,0x64,0xE4, +0x3C,0x7E,0x76,0xE1,0x0C,0x87,0xAF,0x4E,0xF1,0xCF,0x47,0xDB,0xE8,0xE5,0x96,0xFF,0x1E,0xF4,0x7F,0xF1, +0x0B,0xFE,0xB1,0x33,0x9C,0x9F,0x3A,0x91,0xFF,0x04,0x8F,0x9F,0x5D,0x8E,0xE5,0xEE,0x9C,0x44,0x3F,0x8F, +0xAF,0x47,0xF9,0xDB,0xF8,0xE8,0xC8,0xD4,0x28,0xEB,0xA6,0x38,0xC1,0x88,0x37,0x63,0x55,0xE5,0x1C,0x60, +0x5B,0xB5,0x15,0x16,0x4E,0x2A,0x22,0x6B,0x37,0xC0,0x3E,0x4B,0x91,0x9C,0x03,0x08,0x38,0x15,0x26,0xB6, +0xFC,0x49,0x86,0x5A,0x4D,0x45,0x5A,0x0D,0xD1,0x40,0x33,0x4A,0x47,0x88,0x09,0x05,0x9C,0x1B,0xE2,0xE3, +0x6E,0x42,0x6E,0x71,0xD4,0x95,0xC8,0xAE,0x63,0x2E,0xA4,0xB3,0x95,0xD3,0x10,0x25,0xB1,0xA2,0x5A,0x0E, +0x04,0x9F,0x90,0x2F,0x52,0x1A,0xB8,0x4C,0x0C,0xCF,0xC2,0x77,0x58,0xDA,0x9D,0xE4,0xB3,0x29,0xB9,0x05, +0x6F,0x9E,0x12,0x4A,0x38,0xD6,0xFA,0xD9,0xF2,0xA7,0x92,0xCC,0x35,0xBE,0x9B,0xA6,0x28,0xC6,0x99,0xF6, +0x37,0xC9,0x2C,0xA6,0x29,0x8B,0x17,0x75,0x04,0xE4,0xAC,0xD1,0x59,0x2E,0xBF,0xC9,0x93,0x88,0x21,0x10, +0x73,0x25,0x6C,0x94,0xC1,0x34,0x15,0x6E,0x55,0x05,0xD5,0xD2,0xCD,0xB6,0xC0,0x2D,0x5B,0x6E,0xBD,0xB5, +0x53,0xBB,0x6E,0x57,0xCE,0x15,0xC1,0xBE,0xA9,0xFA,0x46,0x3C,0x68,0xC4,0xBA,0x6F,0x38,0xA8,0x74,0xFD, +0xE2,0x6A,0x11,0x15,0x19,0x6A,0x06,0x54,0x94,0xEE,0xEF,0x3A,0x8D,0x50,0x01,0xF3,0x96,0xDF,0x60,0x99, +0xE6,0xAD,0x6F,0x92,0x14,0x76,0x03,0xCF,0xBF,0x42,0xB3,0x92,0xA9,0x4D,0x1B,0x68,0x56,0xE9,0x4E,0x89, +0x50,0xE7,0x3C,0xC9,0x6B,0x45,0x7A,0x55,0x2A,0x00,0x57,0xDC,0x3C,0x12,0xDC,0x7C,0x55,0xAB,0xDB,0xBB, +0xDF,0x15,0x3C,0xEC,0x38,0xDF,0x2D,0x6D,0x35,0xB7,0xCA,0xC7,0x7D,0x07,0xFE,0x95,0x69,0xF7,0x71,0xCD, +0xC2,0xE4,0x91,0xF8,0x29,0x19,0x04,0x3A,0x4D,0xE0,0xF6,0xCE,0x93,0xC7,0xC1,0xA4,0x04,0x2A,0xC1,0x1E, +0x86,0xA7,0x28,0x20,0x79,0xE6,0x3E,0x72,0xBE,0x53,0xFA,0x84,0xED,0x03,0xD9,0xCB,0xCD,0x55,0x9D,0xDA, +0x62,0xB3,0x84,0x50,0x6D,0x2B,0xD3,0xC4,0x7E,0xA3,0xB4,0x32,0xCC,0x66,0xAA,0x07,0x17,0xA9,0x4D,0x53, +0xCC,0x5F,0x38,0xDF,0x2D,0x78,0x8A,0x68,0x36,0x65,0x69,0xEC,0xA6,0x8C,0x23,0x8E,0x0D,0xC7,0x5C,0xF6, +0x9D,0x75,0x80,0xED,0x5D,0x27,0xC0,0x33,0x73,0xB9,0xDC,0xEB,0xC9,0xA4,0x06,0x15,0x8F,0x9F,0x92,0x84, +0xEF,0x4F,0x73,0xEA,0x0B,0x1E,0xB4,0x19,0x36,0xB0,0xB9,0x48,0x31,0xCF,0x53,0xAA,0x05,0xCC,0xCF,0x85, +0xB1,0xDB,0x33,0xCC,0x4F,0x94,0xDD,0x1F,0xDE,0x3D,0x0F,0x60,0xC6,0xB2,0x42,0xF0,0xD7,0x22,0x80,0x03, +0xC3,0x7A,0x05,0x4E,0x6B,0x3E,0x24,0x18,0x20,0xF2,0x12,0xDF,0x19,0xD8,0xE2,0x15,0x22,0xB6,0xC5,0xB8, +0x61,0x94,0xD3,0x00,0x48,0xCD,0xC5,0x0D,0x68,0x01,0x79,0xF8,0x23,0xBF,0xB2,0x88,0x47,0xE1,0x31,0x28, +0xA6,0x93,0x7D,0x74,0xD0,0xED,0xBB,0x68,0x9F,0x1C,0xF4,0xC1,0xBF,0xCC,0x06,0x7D,0xB5,0xF2,0xCF,0x24, +0xC2,0x17,0x85,0xCB,0x89,0x85,0x6A,0x6A,0x3D,0x83,0x9C,0x85,0xA0,0x48,0xF3,0x07,0xE3,0x74,0xA4,0x19, +0x1F,0x7F,0xEC,0x3E,0xB9,0xFA,0xD2,0xFF,0xE8,0x74,0xFB,0x57,0xE6,0xEF,0x66,0x8F,0xD8,0x1C,0x67,0xDC, +0xA0,0xE8,0x86,0xCC,0x10,0xD8,0xB9,0x2D,0xF2,0xED,0x70,0x06,0x52,0x98,0x83,0x6A,0x0D,0xA2,0xD8,0xDB, +0x72,0x9C,0x0D,0x0F,0x1F,0xA0,0x08,0x03,0xEB,0xFA,0xC9,0xF9,0xF9,0xE9,0xF9,0x47,0xBD,0x83,0x3B,0xFA, +0x95,0xAB,0xE9,0x1D,0x6A,0xBA,0xDC,0x86,0xA2,0x33,0xC5,0x59,0x78,0x86,0x78,0x68,0x04,0xF6,0x0D,0x8A, +0x72,0xD0,0x85,0x60,0x84,0x79,0xA0,0x38,0x7D,0x92,0x73,0xCE,0xA8,0x6E,0x0E,0x98,0x4D,0x28,0xC5,0xE9, +0xB3,0xF1,0xEB,0x57,0x9E,0x7E,0xCE,0x18,0xD7,0x8E,0x49,0xAA,0x5B,0x72,0x37,0x6C,0x94,0x24,0x98,0x06, +0x47,0x21,0x89,0x02,0x83,0x99,0x03,0x81,0xEE,0x4B,0x74,0x59,0x88,0x00,0xB6,0x6F,0xAB,0x92,0x75,0x0A, +0x52,0xEB,0x96,0x6F,0xC7,0x79,0xC4,0x49,0x12,0x61,0x6F,0xA3,0x0F,0x3D,0x8A,0x62,0x80,0x89,0x34,0x2C, +0x60,0x24,0xF0,0x74,0x15,0x8C,0x8A,0x10,0xB6,0x6E,0x15,0x5F,0xAD,0x12,0xB4,0x56,0x09,0x9A,0xB8,0x09, +0x48,0xA4,0x5B,0x81,0x5D,0xD7,0xCA,0xD0,0x2B,0x96,0x2A,0x61,0x01,0x9E,0x22,0xE0,0xE4,0x9D,0x90,0x1A, +0x4A,0xEF,0x75,0x0B,0x05,0x6A,0xA1,0xAC,0xAD,0x8D,0xAC,0xA9,0x0D,0xB5,0x8D,0xEB,0x90,0x33,0x85,0x9C, +0xB6,0x91,0xD3,0x26,0xF2,0x91,0xB4,0x86,0x75,0xC8,0xA9,0x42,0x8E,0x5A,0x22,0x46,0x52,0x44,0x15,0xE1, +0xBA,0x42,0x9B,0x20,0x10,0x60,0x47,0x4D,0x31,0xA1,0x07,0x0E,0x89,0x26,0x11,0x0E,0xBC,0x0D,0x07,0x7A, +0xA2,0xA8,0xF6,0xB6,0x9C,0x35,0x6B,0x44,0x6A,0x8D,0xBC,0xB5,0x46,0x2E,0xD7,0x20,0x09,0x28,0x11,0xF2, +0x86,0x6E,0xE5,0x52,0x6B,0xED,0x11,0xB5,0x9C,0x1F,0x62,0xFF,0x7A,0xC2,0xE4,0x88,0x6C,0x8B,0x15,0x37, +0x90,0xA4,0x99,0x48,0x9A,0xF2,0x28,0x02,0x34,0x13,0x1B,0xBC,0xDC,0x13,0x94,0xAD,0xA4,0x29,0xBE,0x36, +0x8C,0xB8,0xAD,0x4B,0x84,0xB8,0xAD,0xA5,0xB8,0x35,0x6D,0x84,0x6E,0xB0,0xB6,0x4E,0x4B,0xB1,0xB9,0x66, +0x30,0x59,0x37,0x98,0x9B,0x56,0x6A,0x33,0xEA,0x47,0xC4,0xBF,0xF6,0x6A,0x37,0x36,0x17,0x46,0xB3,0x23, +0x38,0xE1,0x1E,0xC5,0x73,0xED,0x67,0x08,0x4B,0xC7,0x88,0xA3,0x01,0x2F,0xC8,0x18,0x85,0xDD,0x60,0x20, +0x04,0xA7,0x51,0xF0,0xC2,0xCC,0x46,0x01,0x0C,0x9F,0x5D,0x8C,0x75,0x4B,0xEF,0x89,0x5D,0xD1,0xC1,0x93, +0x89,0xB9,0x34,0x2B,0x5F,0xB2,0xA8,0x8C,0xEA,0x17,0x69,0x54,0x0F,0x41,0xA3,0xB4,0xB8,0xA5,0x15,0xAF, +0xE5,0x89,0x4C,0x8D,0x4A,0xA5,0x25,0x53,0xE2,0x64,0x28,0xD6,0x30,0x8A,0xFD,0xD7,0x4D,0x08,0x7B,0xCA, +0x78,0x0D,0xD3,0x42,0x6D,0xA6,0x51,0xC5,0x74,0x8A,0xE6,0xA5,0x91,0xA8,0xF5,0x07,0xCA,0xBD,0x1D,0xC8, +0xBE,0x34,0xE3,0x1A,0xF6,0x76,0x9C,0x27,0xBB,0x03,0xD8,0x1F,0x43,0x39,0x2E,0x00,0xF6,0xB8,0x0D,0xA6, +0x35,0xE3,0xE1,0xC0,0xEF,0x78,0x85,0x56,0x02,0x8F,0xDB,0x59,0x3E,0xC9,0x78,0x0A,0xB9,0xCD,0xF0,0x2D, +0xBF,0x83,0xCD,0xF6,0x32,0x7A,0x87,0x59,0x81,0x69,0xB1,0x4E,0x67,0x79,0x4F,0x41,0xA7,0xA3,0x86,0x86, +0x90,0xD0,0x10,0x8E,0x32,0xAC,0x51,0x1B,0xDF,0x62,0xFF,0x88,0xC5,0x31,0x12,0x24,0x32,0xD8,0xE4,0xA2, +0xA3,0x9B,0x4B,0x8B,0xAD,0xD5,0xCC,0x03,0x21,0xCB,0xCA,0x1E,0xD2,0x23,0x84,0x40,0xCF,0xB7,0x85,0xAF, +0x64,0x85,0x50,0x5F,0xDF,0xE5,0x32,0x10,0x29,0x94,0x8F,0xCE,0x95,0x55,0x6D,0xDC,0x8A,0x54,0xED,0x7D, +0x97,0x56,0xD7,0x8A,0x3F,0x66,0xBD,0xD3,0x02,0xD6,0x8E,0x6B,0x35,0x54,0x5F,0x2E,0x2D,0x5F,0xF0,0x1F, +0x22,0x3A,0xC3,0x7F,0x5F,0x80,0x9A,0x47,0xE9,0xA2,0x16,0x85,0xE4,0x71,0xE0,0xFE,0x6A,0x1B,0x1F,0x7F, +0xB3,0xAF,0x3A,0xA6,0x79,0xF0,0x6D,0x4F,0x6A,0xD8,0xE0,0xE6,0xC7,0xFE,0x95,0x85,0x00,0x6C,0xFF,0x60, +0xFE,0x6A,0x4B,0x70,0x0B,0x36,0xB8,0x61,0x24,0xD0,0xC4,0x4A,0xC2,0xB3,0xD9,0x54,0x43,0x9B,0x9B,0x06, +0x98,0x5C,0xCB,0x58,0x3B,0xBC,0xA3,0xDB,0x90,0x37,0x96,0xCB,0xFB,0xD9,0x6C,0x9C,0x62,0xAC,0xD2,0x65, +0x05,0x90,0xDC,0x83,0xCC,0x2B,0xC1,0xAA,0x94,0x1A,0x5B,0x35,0x14,0x06,0x65,0xBA,0xB7,0x8B,0x4A,0xC2, +0xD3,0x29,0xA3,0x60,0xB2,0xC9,0xFD,0x61,0x79,0xC4,0xD3,0x5B,0x31,0xE4,0xFB,0x3D,0x12,0xCF,0xB4,0x2C, +0xF5,0x3D,0xB5,0x15,0x07,0xE2,0x8F,0xF7,0xBD,0x48,0x73,0x9B,0xBF,0xFB,0x13,0x4F,0xEF,0xC0,0xFE,0x62, +0x9B,0xB2,0xB9,0x61,0x76,0xBE,0xD7,0x35,0x49,0xD1,0xD3,0x63,0x74,0x5B,0x1C,0xF4,0x45,0x25,0x32,0xD0, +0xA0,0x5F,0x96,0xB0,0x6A,0xA0,0x38,0x62,0xA3,0x9C,0xB3,0x81,0x56,0x56,0x38,0xEA,0x88,0xA9,0x6B,0xBD, +0xFD,0xEF,0x6B,0x1D,0x20,0x10,0x1D,0xA9,0x3D,0x21,0x32,0x88,0xE5,0x22,0xE4,0xE1,0x56,0xF4,0x21,0x85, +0xDB,0xA9,0xA8,0x48,0x00,0x4E,0xEE,0xA5,0x4D,0x2B,0x33,0x90,0x79,0x60,0xB4,0x12,0xED,0x9E,0x38,0x94, +0xEC,0x9F,0xA9,0x6A,0x73,0xAF,0x27,0x7B,0xFA,0x3A,0xC7,0x00,0xCD,0x53,0x40,0xB7,0xAA,0xFA,0x66,0xC2, +0x82,0xBB,0x46,0x55,0x94,0x1D,0xDE,0x1D,0x45,0x28,0xCB,0xDE,0xA0,0x18,0xD6,0xF7,0x63,0xDD,0x2C,0x4C, +0x69,0xDF,0xD9,0xDC,0x6C,0x23,0xA5,0x38,0x66,0x37,0x58,0x71,0x85,0x21,0x94,0xB9,0x01,0x10,0xDE,0xDC, +0x5C,0xC7,0x98,0xB8,0x50,0xFB,0x1A,0x57,0x14,0xDC,0xB5,0x0C,0x7F,0xFF,0x13,0x77,0x2A,0x47,0x3E,0xA4, +0xD5,0xC8,0xB4,0x04,0xF7,0x5F,0xBE,0x64,0xF2,0xEF,0x4A,0xA0,0x97,0xFE,0xB2,0xEA,0x2E,0x58,0xBA,0x04, +0xB8,0xDE,0x7D,0xAF,0xE0,0x66,0x36,0x27,0xDC,0x0F,0x85,0xBE,0x7D,0x94,0x61,0x5D,0xDC,0xD4,0xB9,0xB2, +0x35,0xFB,0x5C,0x34,0x3E,0x93,0xA4,0x68,0xCD,0xD1,0x4D,0xD1,0x8A,0x93,0xED,0xA2,0x95,0x04,0x53,0xDD, +0x55,0x45,0xE2,0x86,0xB3,0x2C,0x1A,0xFD,0xA5,0xDC,0xFA,0x68,0x55,0xC3,0xC7,0x6C,0x4E,0x85,0x02,0x2B, +0x2D,0x47,0x6B,0xF6,0xBE,0x4E,0x61,0x95,0xD3,0x05,0x05,0x5E,0x77,0x9A,0x2A,0x9F,0x6B,0xF8,0x47,0x09, +0x03,0xCF,0xC0,0x4B,0xF3,0xFF,0xB2,0x1A,0x5F,0x59,0xCD,0xCA,0x7E,0xAC,0x11,0xF2,0x28,0x84,0x5A,0xF2, +0x2F,0x24,0x8C,0x5B,0x2B,0xC4,0xB6,0x2F,0x9E,0x6F,0x58,0x20,0xA3,0x9F,0x69,0xE5,0x46,0x6C,0xFD,0x8F, +0x06,0x96,0xB4,0x0C,0xAC,0x5D,0x69,0x24,0x6B,0x76,0x0D,0x47,0x98,0xE3,0x4A,0xA2,0x64,0xAD,0x44,0xE9, +0xFF,0xA3,0xF9,0x3A,0x2C,0x11,0x75,0xAE,0x68,0x06,0xA6,0x80,0xDC,0xE8,0x90,0xA0,0xBD,0x36,0x85,0xCC, +0x4F,0x59,0x14,0x8D,0x59,0x72,0xF0,0xC0,0xB8,0x5B,0x8D,0x17,0x8D,0x92,0xCD,0x7A,0x8A,0xE5,0xAF,0x25, +0xFA,0x0A,0x4F,0xF9,0xC1,0x43,0x80,0x87,0xC9,0xD6,0x73,0xAC,0xC0,0xC3,0x36,0x28,0x0F,0x46,0x7F,0xE9, +0xF8,0x56,0x56,0xF5,0x2E,0x3B,0x0C,0xF6,0xC2,0x2F,0x95,0xE4,0x09,0x25,0x59,0x64,0x6D,0xBE,0xA8,0xC7, +0x23,0xA0,0xE8,0x05,0x1D,0x3D,0xB9,0xAD,0xC7,0x38,0x4B,0xBC,0x4C,0x0D,0x21,0x83,0x58,0xFC,0xDE,0xA6, +0xAC,0x8B,0xE2,0xA9,0x47,0x6C,0x36,0x9D,0x66,0x98,0xBF,0x17,0x19,0xC4,0x8A,0xAA,0xFE,0x33,0x99,0x41, +0x06,0xD0,0xA5,0x31,0xCB,0x33,0xCC,0x72,0xDE,0xAE,0x35,0x2B,0x61,0xF6,0x82,0x2F,0x5F,0xAA,0xCE,0x7E, +0xD0,0x49,0xEB,0xEE,0xE5,0x5E,0xD6,0xE8,0xEC,0x67,0x9D,0x08,0x3C,0xE9,0x3F,0xB6,0x14,0xD2,0xB4,0x14, +0x26,0x12,0x98,0xC5,0x94,0xA5,0xA4,0xB5,0xAD,0xA7,0xE2,0x24,0x80,0x1A,0x21,0x56,0x18,0xB4,0x6E,0x96, +0x87,0xDC,0xA6,0x2B,0x23,0x2B,0x6D,0x7B,0xFA,0x43,0xD5,0x76,0x60,0x08,0xAA,0xA0,0xF5,0x57,0x6C,0x8E, +0xD3,0x23,0x94,0x61,0x03,0x22,0x6F,0x95,0x26,0x24,0xD4,0x74,0xB3,0xB5,0xB3,0x68,0x01,0xF5,0xD5,0x13, +0xC2,0xCB,0x57,0xC3,0x02,0x4C,0x10,0x71,0x61,0x0D,0x25,0x73,0xA9,0xB8,0x63,0x54,0x9C,0x98,0x40,0x43, +0x79,0x8B,0x47,0x6C,0x8B,0x0B,0x1E,0xD0,0xDB,0xB1,0x3A,0x20,0x42,0x79,0x8D,0xC1,0x5A,0x58,0x72,0x96, +0xB2,0x04,0xCD,0x90,0x98,0x07,0x63,0xE0,0x60,0x92,0xB8,0xA0,0xD6,0xA8,0x88,0xEA,0xEB,0x86,0x6E,0xDF, +0x03,0x7B,0x95,0x97,0x39,0xA7,0x53,0x03,0x6A,0x27,0xB3,0x9E,0x16,0xFC,0x77,0x49,0x88,0xDF,0xF2,0x22, +0xBB,0x84,0x3C,0xAE,0x5B,0x51,0xD1,0xFC,0x94,0x15,0x0D,0x3F,0x2B,0x5B,0xB7,0x0D,0x20,0xA3,0x25,0x98, +0xD1,0x69,0xD1,0x24,0x94,0x94,0x74,0x4A,0x60,0xF9,0x4C,0x92,0x32,0x93,0x85,0x65,0x2B,0xC4,0xB7,0x15, +0x1E,0xAB,0xF2,0x1C,0x5E,0x97,0xE7,0xEA,0x5B,0x96,0xFF,0x4E,0xFC,0x84,0xCE,0x4A,0x61,0x92,0xB2,0x35, +0x23,0xA5,0x28,0x93,0x38,0xF9,0x2A,0x23,0xE9,0xBF,0x3D,0xF5,0x1D,0x9F,0xBC,0x3A,0x19,0x9F,0x34,0x0F, +0x00,0xCD,0xCB,0x21,0xFE,0x57,0xB7,0x2F,0xDC,0x74,0x8D,0xBF,0x91,0xD4,0xA0,0xEC,0x36,0xCD,0xD6,0xFD, +0x51,0xD4,0xBA,0x97,0xAA,0x33,0x4A,0x71,0xE1,0x03,0x7A,0xDA,0xDC,0x6C,0x30,0x22,0xC7,0xEB,0x3B,0x2D, +0x6A,0xE9,0xAA,0x0A,0x97,0x5E,0x8D,0x1E,0x2A,0x57,0x91,0x59,0x1D,0x08,0x89,0x47,0x8B,0x88,0x62,0x89, +0xB3,0x21,0xD9,0xF7,0xE1,0x50,0xD8,0x31,0xD5,0x5D,0x8E,0xE7,0xC1,0xB5,0x97,0x7F,0x25,0xEF,0x03,0x36, +0x37,0x51,0xBB,0xA4,0x35,0x1C,0x4B,0x02,0xC5,0x82,0xB2,0x25,0x6F,0x22,0x40,0x16,0x60,0xCB,0xB1,0x5E, +0x8C,0x4E,0xDF,0xD8,0x09,0x4A,0xC1,0x21,0xA9,0xD9,0x8C,0x46,0xB9,0x12,0xB0,0xAD,0xED,0xA7,0x27,0x8D, +0xB3,0x96,0x7C,0xDD,0xE7,0xF2,0xA5,0x15,0x19,0x82,0x9C,0xCA,0xD0,0xA2,0xEC,0x29,0xEE,0x65,0x21,0xC7, +0xC5,0x65,0xBE,0xAB,0xC3,0x55,0xDC,0xCC,0x16,0xFC,0x26,0x7F,0xE0,0x3A,0x81,0x87,0x24,0x6B,0x9E,0x31, +0x5B,0x91,0xE1,0x6F,0xEE,0xD8,0xB2,0x6C,0x29,0x72,0xF7,0x8F,0x4B,0xEA,0x45,0xB4,0xDA,0x1C,0x79,0x1C, +0x5E,0xD4,0xA1,0xB8,0x36,0x47,0x1D,0x52,0x18,0xA1,0xBA,0x45,0xFF,0xA9,0x87,0xD0,0xD2,0x43,0xE8,0x6A, +0x80,0xC0,0xB7,0x2D,0x6F,0xAF,0x56,0x19,0x4C,0x80,0xB3,0xEB,0x41,0x1D,0x45,0x00,0x02,0xCF,0xA8,0x05, +0xF8,0x94,0xC9,0xF1,0x4F,0xE8,0x06,0xA9,0x6B,0xD9,0x1A,0xBA,0x3E,0x54,0xC8,0xE9,0xFE,0xEF,0xD0,0xAA, +0x66,0xB6,0x03,0x51,0x06,0xCD,0xD5,0x78,0xC2,0x5B,0xE1,0xA9,0x8E,0x59,0xCD,0xE8,0x04,0xEE,0x5A,0x78, +0xB3,0xC6,0x1B,0xFA,0x6D,0xB8,0x1E,0x18,0xE4,0x43,0xBE,0xD7,0x8C,0xC3,0x0A,0xA3,0x69,0x3D,0xEB,0x0F, +0xA3,0xED,0xE3,0xEA,0xFA,0x3A,0x43,0xFA,0x1F,0x3E,0xC8,0xEC,0xAC,0xBC,0x98,0x01,0x37,0x6F,0xF4,0x74, +0x30,0x88,0x0C,0xCC,0x10,0xA3,0x74,0x24,0xEE,0x00,0x54,0x22,0x59,0xAA,0x0D,0xF4,0xA4,0xEB,0x1A,0xA0, +0xB1,0x9E,0x4C,0x19,0x36,0xE8,0x01,0xE6,0x57,0x40,0x0A,0x40,0xEA,0x31,0x20,0xD9,0x18,0x44,0x30,0x88, +0x3C,0x3D,0x66,0x94,0x5D,0x23,0xD2,0x9C,0x4E,0x00,0x42,0x8A,0xAF,0x04,0xF4,0x0E,0xB5,0x8A,0x7D,0x90, +0x84,0x6A,0x88,0xDA,0x7D,0xB3,0xB8,0xE5,0xAC,0xEF,0x98,0x70,0xE9,0x36,0x85,0x7D,0x6C,0x48,0xB4,0x4C, +0x14,0x1E,0x23,0x9C,0x65,0x92,0x6F,0x21,0xD7,0x6B,0x16,0x80,0x58,0x80,0xD6,0x8B,0xA1,0x25,0x16,0x02, +0x09,0x05,0x60,0x1C,0xE2,0xB8,0x80,0x70,0x68,0x0A,0x10,0x12,0xA0,0x6F,0xA5,0xAA,0x46,0xB2,0xC0,0x23, +0x74,0xE6,0xF5,0x7B,0x8E,0xB5,0x4A,0xF6,0x22,0xC3,0x23,0x36,0xE5,0x63,0x34,0xC9,0x8C,0x0D,0xC7,0x5C, +0x9D,0x21,0x40,0x23,0x88,0x26,0xC6,0x96,0xB9,0x1E,0xFD,0x3D,0x4B,0xAF,0x71,0x5A,0x20,0x8B,0xCA,0x0C, +0x0A,0xB3,0x08,0x7E,0xF9,0xD0,0x17,0x2F,0xFA,0x5F,0x11,0x8A,0x6B,0xE0,0x28,0x64,0xF3,0xB3,0x94,0x50, +0xFE,0x5A,0x1E,0xFA,0x8D,0x8D,0xBE,0xDC,0x27,0x75,0x17,0x25,0x23,0x50,0x79,0x49,0xB5,0x10,0xC1,0xCC, +0x6D,0x5D,0x55,0x59,0x13,0xD8,0x2E,0x88,0xAD,0xEE,0x62,0x4E,0xA8,0xAB,0x1F,0xF1,0x34,0xEA,0x8E,0x74, +0x2B,0x46,0x3E,0x74,0xD4,0x1C,0xE8,0x2F,0x2D,0xE1,0xB4,0x6E,0x33,0x98,0x6C,0xD4,0x9D,0xBA,0x50,0x5F, +0xB9,0xC7,0x6B,0x5F,0x4B,0x09,0xE0,0x61,0xC4,0x26,0x86,0x78,0xE7,0xB0,0x10,0x0E,0xEF,0xD2,0xA5,0x29, +0xB2,0xD3,0xD7,0xAF,0xDC,0x7C,0x88,0xBA,0xDC,0xC2,0x8D,0x1B,0xC3,0x8E,0xAE,0x8B,0x8B,0x38,0xC0,0x43, +0xC1,0x29,0x8D,0xEE,0x5C,0xC8,0x8A,0x7F,0x21,0x75,0x4E,0x03,0xF6,0x35,0xA9,0x3F,0xDC,0x93,0xFA,0xC3, +0x3A,0xA9,0x71,0x7B,0xB7,0xA0,0x73,0x01,0x64,0x5F,0x23,0x8A,0x66,0x38,0x85,0x01,0xB1,0x08,0x6C,0xC0, +0x3F,0xE3,0x2C,0xC5,0x5F,0xE7,0x6C,0x14,0x92,0x29,0x5F,0xE1,0x4F,0x8E,0xFE,0x3B,0x2E,0x53,0xFC,0x00, +0x97,0x65,0x21,0x5B,0xA5,0x8D,0xBF,0xBE,0x07,0x93,0x4E,0xED,0xC1,0x16,0x36,0xDD,0xF5,0x5F,0xF8,0x5D, +0xBD,0xE2,0xD7,0xB3,0xA7,0x78,0xB8,0x78,0x69,0x05,0xC2,0x26,0x40,0x82,0x46,0x7E,0x62,0xF4,0x10,0x4E, +0x0A,0xAF,0x40,0x04,0x43,0x99,0x23,0xF6,0x16,0x4B,0x8B,0x7B,0xC6,0x9C,0x80,0xF8,0x73,0x10,0xCE,0x97, +0xD5,0xAF,0x2D,0xBE,0x56,0x02,0x25,0x00,0x93,0x90,0x67,0x7B,0x1F,0x0F,0x36,0xAF,0x3A,0x90,0xA0,0x3C, +0x78,0x98,0x1E,0x34,0x36,0xAF,0x7E,0x30,0x7B,0x33,0xD2,0x28,0x89,0x64,0xAA,0x03,0xBD,0x7E,0xA4,0x57, +0x1E,0x5A,0x42,0x08,0x6B,0xA6,0xC2,0x2A,0xB0,0x5A,0x58,0x5E,0x69,0xC2,0x43,0x7C,0x04,0x06,0x0F,0x19, +0x3B,0x60,0x36,0xF5,0x1A,0x37,0x8D,0x3A,0x87,0xBF,0x3A,0x84,0xED,0x41,0xC1,0x56,0x80,0xA7,0x84,0x62, +0x19,0xBD,0x54,0xD3,0x2A,0x00,0x42,0x0D,0x24,0x95,0x90,0xB2,0x6D,0x89,0xB6,0xC8,0x7E,0x64,0x26,0x14, +0x69,0xE8,0xE2,0x83,0x0F,0x91,0xE8,0x75,0x99,0xB0,0x57,0xC0,0x73,0x19,0x48,0x1A,0x13,0xD6,0xBC,0xC0, +0xD3,0xF3,0xA2,0xA5,0x83,0x94,0xBC,0x11,0x84,0x95,0x38,0x10,0x6F,0x55,0xE3,0x5E,0x68,0xAF,0x4F,0x3D, +0x0A,0x6C,0x2E,0xC1,0xC5,0x94,0x00,0x81,0x5E,0xA5,0xF3,0x5F,0x5E,0xBF,0x7A,0xC6,0x79,0x72,0xAE,0x76, +0x14,0x68,0xB5,0x07,0x6A,0x43,0x33,0x17,0x3C,0xBD,0x2B,0x0B,0x43,0x11,0x28,0x54,0xA8,0xFB,0xE5,0x74, +0xF2,0x09,0xFB,0x20,0xC9,0xEB,0x0C,0x72,0xE8,0x96,0x2D,0xD0,0xC7,0xE3,0x33,0x7B,0xD7,0x76,0xA0,0x52, +0x81,0xFD,0xF4,0x43,0x61,0x31,0xCB,0x7F,0x84,0xBC,0xFD,0xCF,0x90,0x09,0xC4,0xFB,0x0C,0x02,0x7A,0x89, +0xDF,0xC6,0x0D,0x53,0x36,0x97,0x68,0x27,0x69,0x2A,0x8C,0x61,0x1C,0x92,0x4C,0x9B,0xC0,0x60,0x86,0x53, +0x2D,0x60,0x38,0xD3,0x28,0xE3,0x5A,0x96,0x27,0x09,0x4B,0xF9,0x3D,0x7D,0xD8,0x7A,0x79,0x49,0xF3,0x36, +0xC7,0x39,0x0E,0x8A,0x61,0x9C,0x36,0xF5,0x22,0x6B,0x3A,0x18,0x07,0x77,0xFB,0x78,0x55,0x54,0x78,0x39, +0xA5,0x22,0xFF,0x6C,0xF4,0x55,0x1F,0xA4,0x0B,0x81,0xAA,0x47,0xF3,0x28,0x5A,0x0E,0xEE,0xD1,0xB2,0x93, +0x94,0x71,0x26,0x5F,0x7A,0x2D,0x7E,0x2F,0x5C,0xCB,0xBD,0x77,0x4D,0xDF,0xA6,0xEA,0x58,0x1B,0xC6,0x06, +0xD6,0x08,0xCD,0x38,0xA2,0xBE,0xD8,0x46,0xA5,0x0B,0xB3,0xAC,0xEE,0xC4,0xF4,0x81,0x88,0x0B,0xD2,0x70, +0x1E,0x2C,0x29,0xA4,0x64,0xD4,0xD3,0x75,0x51,0xE8,0x61,0x51,0x2F,0xA3,0x38,0x6B,0x90,0xAD,0x32,0x85, +0x49,0xBD,0x12,0x3C,0x90,0x2F,0x57,0x9A,0xF3,0x57,0xD9,0x28,0xAB,0x7B,0x04,0x30,0xAD,0x9C,0x67,0xD2, +0x8E,0xA7,0xCB,0x0A,0xE1,0x40,0x86,0x0C,0x69,0xC0,0x31,0xE6,0x21,0x0B,0x0E,0xF4,0x03,0xDD,0xD5,0xE1, +0xFF,0xA6,0x6E,0xC1,0x2C,0x4C,0x7D,0x16,0xE0,0x8B,0xF3,0xE7,0x10,0x4A,0x13,0x46,0x31,0xE5,0x06,0x82, +0x8C,0xE2,0xE9,0x9D,0x55,0x48,0xC5,0xC6,0x47,0x74,0x65,0x0E,0xDA,0xCA,0xC6,0xF3,0x7B,0xDB,0xD9,0xDA, +0x0C,0x9B,0x51,0x11,0x5D,0xEF,0x80,0x79,0x8E,0x57,0x5E,0x8E,0x58,0x74,0xF5,0x14,0x64,0x2E,0x76,0x04, +0xCF,0x12,0x6B,0x04,0x58,0xC2,0xF5,0x6A,0x25,0x3F,0x54,0xD9,0x51,0xDB,0x47,0x51,0x24,0x3E,0xE6,0x00, +0x5E,0xC5,0x62,0x79,0x66,0x09,0x22,0x19,0x08,0x90,0xE1,0x31,0xBE,0x05,0x97,0x96,0xE5,0x99,0xB2,0xA1, +0xE2,0x38,0x04,0xA4,0x79,0xC3,0x8C,0x4C,0xAB,0xEA,0x6D,0x6E,0x72,0xBB,0x34,0x13,0xA3,0x44,0xCA,0x44, +0xB2,0x91,0x77,0x0F,0x4B,0xA3,0x29,0xA4,0xC8,0xDD,0x2B,0xDA,0x36,0xDA,0x6A,0x48,0x30,0x35,0x4A,0x18, +0x70,0x96,0xA7,0x11,0x64,0x08,0x51,0xBD,0xB4,0xA6,0x65,0x98,0x06,0xB0,0x80,0xFB,0x97,0xC8,0x12,0x95, +0x36,0xAD,0x62,0xC4,0x53,0xC5,0x77,0x9B,0x1E,0x2F,0x76,0xE5,0x19,0x96,0x61,0xAE,0xFD,0xF5,0xAD,0x25, +0xBF,0x9B,0x25,0x2A,0x21,0xF4,0xE0,0x6D,0xCA,0x7C,0xDE,0x05,0xB3,0x8A,0xBB,0xB0,0x82,0xB2,0x82,0x40, +0x5F,0xC3,0xA1,0x3A,0xED,0x59,0xE2,0x3A,0xC5,0xBD,0xE7,0xA2,0xB5,0xFE,0x8C,0x7B,0x3E,0xDA,0xA6,0xD3, +0xE6,0xB3,0xB1,0xDB,0x7B,0x3B,0xF7,0x40,0x68,0xC2,0x52,0x6E,0x40,0x8E,0x83,0x34,0x58,0xAD,0x56,0x1E, +0xBC,0x9A,0x71,0xC1,0x4E,0xF2,0x2C,0x34,0x16,0xC0,0xBA,0xCB,0x2D,0xA5,0x2B,0x17,0x5B,0xCA,0x6E,0x5D, +0x6A,0x95,0xF6,0xE1,0x42,0xEA,0x6A,0xC5,0x8F,0x2F,0x5F,0x64,0xAF,0xDE,0x6D,0xE8,0xB5,0x37,0x1C,0x84, +0x95,0x4E,0x5C,0x66,0x64,0x61,0xF4,0xF7,0x63,0xD5,0x5E,0x4F,0x9D,0xA7,0xCA,0xCF,0x5D,0x34,0x12,0x78, +0x22,0xB9,0xEB,0xC5,0x7B,0x2D,0x68,0x4E,0x21,0x2E,0xD9,0x70,0x00,0xAB,0xBE,0x6F,0xD6,0x8B,0x0F,0x9C, +0xEF,0xE3,0xEE,0x57,0x27,0x42,0xCF,0xAB,0xEA,0x79,0x15,0x75,0xD4,0x04,0xEF,0x81,0x8F,0x60,0x74,0x05, +0x86,0x03,0xB3,0x6A,0xD8,0xD5,0xDA,0x62,0x5D,0xAB,0x18,0x44,0xD9,0x1D,0xF5,0x45,0xD4,0xAC,0xA8,0x84, +0xA0,0xFE,0xD6,0x21,0x5A,0xCD,0x34,0x97,0x35,0x67,0xE2,0xFA,0x51,0x63,0xC5,0x5B,0x87,0x66,0x8D,0x01, +0xEC,0xC3,0x19,0x5D,0x88,0x5B,0xBA,0xA8,0x26,0x0F,0xE9,0x55,0x17,0xC4,0x83,0x09,0xF5,0xAC,0x3C,0x59, +0x0F,0x90,0x25,0xC1,0xCA,0xA0,0xAA,0x2A,0x56,0x86,0x8B,0x83,0x5E,0xF5,0x2E,0xB0,0xF1,0xFD,0x52,0x4D, +0x83,0xC8,0x57,0x27,0x72,0x7E,0xFB,0x6D,0xCA,0x83,0x68,0x0A,0x63,0xFF,0x4F,0x51,0x09,0xC4,0x79,0xD4, +0x2E,0x00,0x00 }; From 00b4fba84963fd4407897a5cdb86dd5275562f30 Mon Sep 17 00:00:00 2001 From: lorol Date: Thu, 24 Sep 2020 15:19:15 -0400 Subject: [PATCH 42/47] Update README.md --- extras/README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/extras/README.md b/extras/README.md index 23c2032..ac24572 100644 --- a/extras/README.md +++ b/extras/README.md @@ -17,6 +17,9 @@ until a } is found on separate new line. ``` npm install html-minifier-terser -g, npm install -g github-files-fetcher ``` ### Batch files provided -- **do.bat:** Generates **edit.htm.gz.h** file +- **do_emb.bat:** Generates **edit.htm.gz.h** file for embedding to **SPIFFSEditor.cpp** as binary C array - +You need to comment **#define EDFS** at **SPIFFSEditor.cpp** for this choice +- **do_ed_fs.bat:** Alternatively, makes a gzip-ed **edit.htm** file for fs - +uncomment **#define EDFS** for this choice. Saves about 4k of program flash storage. - **undo.bat:** Reverts **edit.htm** from C array header to file (still minified!) - **update_ace.bat:** Updates **acefull.js.gz** file from latest GitHub Ace sources From b16a9c29d993d9bd664b8d4bb6d94df5822868e3 Mon Sep 17 00:00:00 2001 From: lorol Date: Tue, 13 Oct 2020 10:34:29 -0400 Subject: [PATCH 43/47] Added json mode and worker to editor Example - updates --- .../ESP_AsyncFSBrowser/data/acefull.js.gz | Bin 117524 -> 118766 bytes examples/ESP_AsyncFSBrowser/data/edit.htm | Bin 4503 -> 4503 bytes .../ESP_AsyncFSBrowser/data/worker-css.js.gz | Bin 32927 -> 32927 bytes .../ESP_AsyncFSBrowser/data/worker-html.js.gz | Bin 45019 -> 45019 bytes .../data/worker-javascript.js.gz | Bin 112558 -> 112558 bytes .../ESP_AsyncFSBrowser/data/worker-json.js.gz | Bin 0 -> 6923 bytes examples/SmartSwitch/SmartSwitch.ino | 90 ++++++++++-------- examples/SmartSwitch/data/acefull.js.gz | Bin 117524 -> 118766 bytes examples/SmartSwitch/data/edit.htm | Bin 4503 -> 4503 bytes examples/SmartSwitch/data/worker-css.js.gz | Bin 32927 -> 32927 bytes examples/SmartSwitch/data/worker-html.js.gz | Bin 45019 -> 45019 bytes .../SmartSwitch/data/worker-javascript.js.gz | Bin 112558 -> 112558 bytes examples/SmartSwitch/data/worker-json.js.gz | Bin 0 -> 6923 bytes extras/update_ace.bat | 7 +- src/edit.htm.gz.h | 2 +- 15 files changed, 55 insertions(+), 44 deletions(-) create mode 100644 examples/ESP_AsyncFSBrowser/data/worker-json.js.gz create mode 100644 examples/SmartSwitch/data/worker-json.js.gz diff --git a/examples/ESP_AsyncFSBrowser/data/acefull.js.gz b/examples/ESP_AsyncFSBrowser/data/acefull.js.gz index 560a0fa10d7a284b356f160f982d03407cc61502..42cd5e87724f3765698a6aef40c852f786905e42 100644 GIT binary patch delta 6382 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 delta 5130 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 diff --git a/examples/ESP_AsyncFSBrowser/data/edit.htm b/examples/ESP_AsyncFSBrowser/data/edit.htm index 95099096172853e05dce9881d28b499dd0ebddd4..6620caab1b5d747bd72794f957a8d78c19ae9827 100644 GIT binary patch delta 16 XcmbQPJYAVxzMF%i^Ho4FEds2Aco? delta 18 ZcmbQ=$TYu^iCw;%gX90S?2YU*8UQ^e2G#%o diff --git a/examples/ESP_AsyncFSBrowser/data/worker-html.js.gz b/examples/ESP_AsyncFSBrowser/data/worker-html.js.gz index 8bacd4aaa83b52d87a0ee63ff1977aea05c24816..19b5d9e4e6d9b7d5ae8a330732372afda5406eee 100644 GIT binary patch delta 18 acmcb8pXv5}CU*I54i4wvZ5!FItOo#2tOz*( delta 18 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 MEMMAX) memch = 0; EEPROM.get(EEBEGIN + memch*sizeof(ee), ChkEE); @@ -199,6 +200,15 @@ void readEE() { } } +void doOut(){ + if (ledOut != ledState){ // only if changed + digitalWrite(ledPin, ledState); //consolidated here + ledOut = ledState; //update + if (ledState == LED_OFF) ws.textAll("led,ledoff"); + else ws.textAll("led,ledon"); + } +} + void showTime() { byte tmpch = 0; @@ -208,13 +218,13 @@ void showTime() now = time(nullptr); const tm* tm = localtime(&now); ws.printfAll("Now,Clock,%02d:%02d,%d", tm->tm_hour, tm->tm_min, tm->tm_wday); - if ((2==tm->tm_hour )&&(2==tm->tm_min)) { + if ((2==tm->tm_hour )&&(2==tm->tm_min)){ configTzTime(MYTZ, "pool.ntp.org"); Serial.print(F("Sync Clock at 02:02\n")); } Serial.printf("RTC: %02d:%02d\n", tm->tm_hour, tm->tm_min); - if (sched == 0) { // automatic + if (sched == 0){ // automatic if ((tm->tm_wday > 0)&&(tm->tm_wday < 6)) tmpch = 0; //Mon - Fri else if (tm->tm_wday == 6) tmpch = 1; //Sat else if (tm->tm_wday == 0) tmpch = 2; //Sun @@ -222,7 +232,7 @@ void showTime() tmpch = sched - 1; //and stays } - if (tmpch != memch) { // update if different + if (tmpch != memch){ // update if different memch = tmpch; readEE(); ws.printfAll("Now,Setting,%02d:%02d,%02d:%02d,%+2.1f", ee.hstart, ee.mstart, ee.hstop, ee.mstop, ee.tempe); @@ -237,20 +247,18 @@ void showTime() else { //enable smart if different if (((bmi < emi)&&(bmi <= xmi)&&(xmi < emi))|| - ((emi < bmi)&&((bmi <= xmi)||(xmi < emi)))) { + ((emi < bmi)&&((bmi <= xmi)||(xmi < emi)))){ heat_enabled = true; } else heat_enabled = false; } - if (heat_enabled_prev) { // smart control (delayed one cycle) - if (((t + HYST) < ee.tempe)&&(ledState == LED_OFF)) { // OFF->ON once + if (heat_enabled_prev){ // smart control (delayed one cycle) + if (((t + HYST) < ee.tempe)&&(ledState == LED_OFF)){ // OFF->ON once ledState = LED_ON; - digitalWrite(ledPin, ledState); // apply change ws.textAll("led,ledon"); } - if ((((t - HYST) > ee.tempe)&&(ledState == LED_ON))||(!heat_enabled)) { // ON->OFF once, also turn off at end of period. + if ((((t - HYST) > ee.tempe)&&(ledState == LED_ON))||(!heat_enabled)){ // ON->OFF once, also turn off at end of period. ledState = LED_OFF; - digitalWrite(ledPin, ledState); // apply change ws.textAll("led,ledoff"); } @@ -263,7 +271,7 @@ void showTime() void updateDHT(){ float h1 = dht.readHumidity(); float t1 = dht.readTemperature(); //Celsius or dht.readTemperature(true) for Fahrenheit - if (isnan(h1) || isnan(t1)) { + if (isnan(h1) || isnan(t1)){ Serial.println(F("Failed to read from DHT sensor!")); } else { h = h1 + DHT_H_CORR; @@ -279,11 +287,10 @@ void analogSample() void checkPhysicalButton() { - if (digitalRead(btnPin) == LOW) { - if (btnState != LOW) { // btnState is used to avoid sequential toggles + if (digitalRead(btnPin) == LOW){ + if (btnState != LOW){ // btnState is used to avoid sequential toggles ledState = !ledState; - digitalWrite(ledPin, ledState); - if (ledState == LED_OFF) { + if (ledState == LED_OFF){ ws.textAll("led,ledoff"); Serial.println(F("LED-OFF")); } else { @@ -297,17 +304,17 @@ void checkPhysicalButton() } } -void mytimer() { +void mytimer(){ ++count; //200ms increments checkPhysicalButton(); - if ((count % 25) == 1) { // update temp every 5 seconds + if ((count % 25) == 1){ // update temp every 5 seconds analogSample(); udht = true; } - if ((count % 50) == 0) { // update temp every 10 seconds + if ((count % 50) == 0){ // update temp every 10 seconds ws.cleanupClients(); } - if (count >= 150) { // cycle every 30 sec + if (count >= 150){ // cycle every 30 sec showTime(); count = 0; } @@ -385,22 +392,21 @@ void onWsEvent(AsyncWebSocket * server, AsyncWebSocketClient * client, AwsEventT Serial.printf("ws[%s][%u] %s-message[%llu]: ", server->url(), client->id(), (info->opcode == WS_TEXT)?"text":"binary", info->len); if(info->opcode == WS_TEXT){ - for(size_t i=0; i < info->len; i++) { //debug + for(size_t i=0; i < info->len; i++){ //debug msg += (char) data[i]; } - if(data[0] == 'L') { // LED - if(data[1] == '1') { + if(data[0] == 'L'){ // LED + if(data[1] == '1'){ ledState = LED_ON; ws.textAll("led,ledon"); // for others } - else if(data[1] == '0') { + else if(data[1] == '0'){ ledState = LED_OFF; ws.textAll("led,ledoff"); } - digitalWrite(ledPin, ledState); // apply change - } else if(data[0] == 'T') { // timeset - if (len > 11) { + } else if(data[0] == 'T'){ // timeset + if (len > 11){ data[3] = data[6] = data[9] = data[12] = 0; // cut strings ee.hstart = (uint8_t) atoi((const char *) &data[1]); ee.mstart = (uint8_t) atoi((const char *) &data[4]); @@ -411,8 +417,8 @@ void onWsEvent(AsyncWebSocket * server, AsyncWebSocketClient * client, AwsEventT memch = 255; // to force showTime()to send Setting showTime(); } - } else if(data[0] == 'W') { // temperatureset - if (len > 3) { + } else if(data[0] == 'W'){ // temperatureset + if (len > 3){ if (ee.tempe != (float) atof((const char *) &data[1])){ ee.tempe = (float) atof((const char *) &data[1]); Serial.printf("[%u] Temp set %+2.1f\n", client->id(), ee.tempe); @@ -421,7 +427,7 @@ void onWsEvent(AsyncWebSocket * server, AsyncWebSocketClient * client, AwsEventT showTime(); } } - } else if ((data[0] == 'Z')&&(len > 2)) { // sched + } else if ((data[0] == 'Z')&&(len > 2)){ // sched data[2] = 0; if (sched != (uint8_t) atoi((const char *) &data[1])){ sched = (uint8_t) atoi((const char *) &data[1]); @@ -434,7 +440,7 @@ void onWsEvent(AsyncWebSocket * server, AsyncWebSocketClient * client, AwsEventT } else { char buff[3]; - for(size_t i=0; i < info->len; i++) { + for(size_t i=0; i < info->len; i++){ sprintf(buff, "%02x ", (uint8_t) data[i]); msg += buff ; } @@ -457,12 +463,12 @@ void onWsEvent(AsyncWebSocket * server, AsyncWebSocketClient * client, AwsEventT Serial.printf("ws[%s][%u] frame[%u] %s[%llu - %llu]: ", server->url(), client->id(), info->num, (info->message_opcode == WS_TEXT)?"text":"binary", info->index, info->index + len); if(info->opcode == WS_TEXT){ - for(size_t i=0; i < len; i++) { + for(size_t i=0; i < len; i++){ msg += (char) data[i]; } } else { char buff[3]; - for(size_t i=0; i < len; i++) { + for(size_t i=0; i < len; i++){ sprintf(buff, "%02x ", (uint8_t) data[i]); msg += buff ; } @@ -488,7 +494,7 @@ void onWsEvent(AsyncWebSocket * server, AsyncWebSocketClient * client, AwsEventT void setup(){ Serial.begin(115200); - Serial.setDebugOutput(true); + //Serial.setDebugOutput(true); //Wifi #ifdef USE_WFM @@ -511,7 +517,7 @@ void setup(){ //WiFi.softAP(hostName); // Core SVN 5179 use STA as default interface in mDNS (#7042) WiFi.mode(WIFI_STA); // Core SVN 5179 use STA as default interface in mDNS (#7042) WiFi.begin(ssid, password); - if (WiFi.waitForConnectResult() != WL_CONNECTED) { + if (WiFi.waitForConnectResult() != WL_CONNECTED){ Serial.print(F("STA: Failed!\n")); WiFi.disconnect(false); delay(1000); @@ -545,15 +551,14 @@ void setup(){ EEPROM.begin(EEALL); //EEPROM.get(EECH, memch); //current channel, no need readEE(); // populate structure if healthy - digitalWrite(ledPin, ledState); Serial.printf("Timer set %02d:%02d - %02d:%02d\n", ee.hstart, ee.mstart, ee.hstop, ee.mstop); Serial.printf("Temp set %+2.1f\n", ee.tempe); //FS #ifdef USE_FatFS - if (MYFS.begin(false,"/ffat",3)) { //limit the RAM usage, bottom line 8kb + 4kb takes per each file, default is 10 + if (MYFS.begin(false,"/ffat",3)){ //limit the RAM usage, bottom line 8kb + 4kb takes per each file, default is 10 #else - if (MYFS.begin()) { + if (MYFS.begin()){ #endif Serial.print(F("FS mounted\n")); } else { @@ -654,7 +659,7 @@ void setup(){ #ifdef USE_AUTH_STAT if(!request->authenticate(http_username, http_password)) return request->requestAuthentication(); #endif - request->onDisconnect([]() { + request->onDisconnect([](){ #ifdef ESP32 ESP.restart(); #elif defined(ESP8266) @@ -672,7 +677,7 @@ void setup(){ #ifdef USE_AUTH_STAT if(!request->authenticate(http_username, http_password)) return request->requestAuthentication(); #endif - request->onDisconnect([]() { + request->onDisconnect([](){ #ifdef ESP32 /* //https://github.com/espressif/arduino-esp32/issues/400#issuecomment-499631249 @@ -726,7 +731,7 @@ void setup(){ //OTA ArduinoOTA.setHostname(hostName); - ArduinoOTA.onStart([]() { + ArduinoOTA.onStart([](){ Serial.print(F("OTA Started ...\n")); MYFS.end(); // Clean FS ws.textAll("Now,OTA"); // for all clients @@ -742,5 +747,6 @@ void loop(){ updateDHT(); udht = false; } + doOut(); ArduinoOTA.handle(); } diff --git a/examples/SmartSwitch/data/acefull.js.gz b/examples/SmartSwitch/data/acefull.js.gz index 560a0fa10d7a284b356f160f982d03407cc61502..42cd5e87724f3765698a6aef40c852f786905e42 100644 GIT binary patch delta 6382 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 delta 5130 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 diff --git a/examples/SmartSwitch/data/edit.htm b/examples/SmartSwitch/data/edit.htm index 95099096172853e05dce9881d28b499dd0ebddd4..6620caab1b5d747bd72794f957a8d78c19ae9827 100644 GIT binary patch delta 16 XcmbQPJYAVxzMF%i^Ho4FEds2Aco? delta 18 ZcmbQ=$TYu^iCw;%gX90S?2YU*8UQ^e2G#%o diff --git a/examples/SmartSwitch/data/worker-html.js.gz b/examples/SmartSwitch/data/worker-html.js.gz index 8bacd4aaa83b52d87a0ee63ff1977aea05c24816..19b5d9e4e6d9b7d5ae8a330732372afda5406eee 100644 GIT binary patch delta 18 acmcb8pXv5}CU*I54i4wvZ5!FItOo#2tOz*( delta 18 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 acefull.js +type ace.js mode-html.js mode-json.js theme-monokai.js ext-searchbox.js > acefull.js "C:\Program Files\7-Zip\7z.exe" a -tgzip -mx9 acefull.js.gz acefull.js "C:\Program Files\7-Zip\7z.exe" a -tgzip -mx9 worker-html.js.gz worker-html.js "C:\Program Files\7-Zip\7z.exe" a -tgzip -mx9 worker-javascript.js.gz worker-javascript.js +"C:\Program Files\7-Zip\7z.exe" a -tgzip -mx9 worker-json.js.gz worker-json.js "C:\Program Files\7-Zip\7z.exe" a -tgzip -mx9 worker-css.js.gz worker-css.js REM update SmartSwitch /data: @@ -25,6 +28,7 @@ pause copy acefull.js.gz ..\..\examples\SmartSwitch\data\acefull.js.gz copy worker-html.js.gz ..\..\examples\SmartSwitch\data\worker-html.js.gz copy worker-javascript.js.gz ..\..\examples\SmartSwitch\data\worker-javascript.js.gz +copy worker-json.js.gz ..\..\examples\SmartSwitch\data\worker-json.js.gz copy worker-css.js.gz ..\..\examples\SmartSwitch\data\worker-css.js.gz REM update ESP_AsyncFSBrowser /data: @@ -32,6 +36,7 @@ pause copy acefull.js.gz ..\..\examples\ESP_AsyncFSBrowser\data\acefull.js.gz copy worker-html.js.gz ..\..\examples\ESP_AsyncFSBrowser\data\worker-html.js.gz copy worker-javascript.js.gz ..\..\examples\ESP_AsyncFSBrowser\data\worker-javascript.js.gz +copy worker-json.js.gz ..\..\examples\ESP_AsyncFSBrowser\data\worker-json.js.gz copy worker-css.js.gz ..\..\examples\ESP_AsyncFSBrowser\data\worker-css.js.gz REM delete temporary stuff diff --git a/src/edit.htm.gz.h b/src/edit.htm.gz.h index 7b9c3b3..5a00089 100644 --- a/src/edit.htm.gz.h +++ b/src/edit.htm.gz.h @@ -2,7 +2,7 @@ //File: edit.htm.gz, Size: 4503 #define edit_htm_gz_len 4503 const uint8_t edit_htm_gz[] PROGMEM = { -0x1F,0x8B,0x08,0x08,0x2A,0x97,0x6B,0x5F,0x02,0x00,0x65,0x64,0x69,0x74,0x2E,0x68,0x74,0x6D,0x00,0xB5, +0x1F,0x8B,0x08,0x08,0x89,0xFA,0x86,0x5F,0x02,0x00,0x65,0x64,0x69,0x74,0x2E,0x68,0x74,0x6D,0x00,0xB5, 0x1A,0x0B,0x5B,0xDB,0x36,0xF0,0xAF,0x18,0x6F,0x63,0xF6,0xE2,0x38,0x0E,0x50,0xD6,0x3A,0x18,0x16,0x1E, 0xEB,0xBB,0x50,0x12,0xDA,0xD1,0x8E,0xED,0x53,0x6C,0x25,0x56,0xB1,0x25,0xCF,0x96,0x09,0x34,0xCD,0x7F, 0xDF,0x49,0xF2,0x93,0x84,0xEE,0xF1,0x6D,0xA5,0x60,0x49,0xA7,0x3B,0xDD,0x9D,0xEE,0x25,0xD9,0x7B,0x1B, From 35ef3ad84205635bcec9af5d073dfdaa3a740f6a Mon Sep 17 00:00:00 2001 From: lorol Date: Sun, 25 Oct 2020 22:11:22 -0400 Subject: [PATCH 44/47] Bugfix - my additions. --- .../ESP_AsyncFSBrowser/data/.exclude.files | 4 ++-- .../ESP_AsyncFSBrowser/data/acefull.js.gz | Bin 118766 -> 118766 bytes .../data/{edit.htm => edit_gz} | Bin 4503 -> 4503 bytes .../ESP_AsyncFSBrowser/data/worker-css.js.gz | Bin 32927 -> 32927 bytes .../ESP_AsyncFSBrowser/data/worker-html.js.gz | Bin 45019 -> 45019 bytes .../data/worker-javascript.js.gz | Bin 112558 -> 112558 bytes .../ESP_AsyncFSBrowser/data/worker-json.js.gz | Bin 6923 -> 6923 bytes examples/SmartSwitch/SmartSwitch.ino | 18 ++++++++---------- examples/SmartSwitch/data/.exclude.files | 2 +- examples/SmartSwitch/data/acefull.js.gz | Bin 118766 -> 118766 bytes .../SmartSwitch/data/{edit.htm => edit_gz} | Bin 4503 -> 4503 bytes examples/SmartSwitch/data/worker-css.js.gz | Bin 32927 -> 32927 bytes examples/SmartSwitch/data/worker-html.js.gz | Bin 45019 -> 45019 bytes .../SmartSwitch/data/worker-javascript.js.gz | Bin 112558 -> 112558 bytes examples/SmartSwitch/data/worker-json.js.gz | Bin 6923 -> 6923 bytes extras/do_ed_fs.bat | 4 ++-- src/SPIFFSEditor.cpp | 2 +- src/edit.htm.gz.h | 2 +- 18 files changed, 15 insertions(+), 17 deletions(-) rename examples/ESP_AsyncFSBrowser/data/{edit.htm => edit_gz} (98%) rename examples/SmartSwitch/data/{edit.htm => edit_gz} (98%) diff --git a/examples/ESP_AsyncFSBrowser/data/.exclude.files b/examples/ESP_AsyncFSBrowser/data/.exclude.files index ba74486..a1c4278 100644 --- a/examples/ESP_AsyncFSBrowser/data/.exclude.files +++ b/examples/ESP_AsyncFSBrowser/data/.exclude.files @@ -1,3 +1,3 @@ -/*.js.gz -/edit.htm +/*.gz +/edit_gz /.exclude.files diff --git a/examples/ESP_AsyncFSBrowser/data/acefull.js.gz b/examples/ESP_AsyncFSBrowser/data/acefull.js.gz index 42cd5e87724f3765698a6aef40c852f786905e42..8ba7fd8a73c8744cd2a2edd3205bd2afcb36833a 100644 GIT binary patch delta 21 dcmaDipZ(o@c6Rx04vwTPQyba0vNJwE4**{82#^2( delta 21 dcmaDipZ(o@c6Rx04i4AfZH??(*%_ao2LNBx2&(`9 diff --git a/examples/ESP_AsyncFSBrowser/data/edit.htm b/examples/ESP_AsyncFSBrowser/data/edit_gz similarity index 98% rename from examples/ESP_AsyncFSBrowser/data/edit.htm rename to examples/ESP_AsyncFSBrowser/data/edit_gz index 6620caab1b5d747bd72794f957a8d78c19ae9827..323f93ec3763003d9a988e6119bb9cabbf93bbb1 100644 GIT binary patch delta 16 XcmbQPJYAVxzMF&NsNS@V>=Oh5Dx?J% delta 16 XcmbQPJYAVxzMF%i^Ho4FEds2Aco? diff --git a/examples/ESP_AsyncFSBrowser/data/worker-html.js.gz b/examples/ESP_AsyncFSBrowser/data/worker-html.js.gz index 19b5d9e4e6d9b7d5ae8a330732372afda5406eee..beef3c194fee47f2481918ca233af25fe0256cc2 100644 GIT binary patch delta 18 acmcb8pXv5}CU*I54vzROQ#Z0-Sq}hC5eOXs delta 18 acmcb8pXv5}CU*I54i4wvZ5!FItOo#2tOz*( diff --git a/examples/ESP_AsyncFSBrowser/data/worker-javascript.js.gz b/examples/ESP_AsyncFSBrowser/data/worker-javascript.js.gz index 5ad84ceaa2ed99fddf81ae1adad50c6aabda632e..02c0e6f39f64f7bb37c543d5000bd63c047f258d 100644 GIT binary patch delta 21 dcmZ4Yo^9QGHg@@L4vxevQyba0vNJB<4gg>J2vq<8 delta 21 dcmZ4Yo^9QGHg@@L4i4AfZH??(*%_B_2LNE{2yp-a diff --git a/examples/ESP_AsyncFSBrowser/data/worker-json.js.gz b/examples/ESP_AsyncFSBrowser/data/worker-json.js.gz index e1de25bd0450183027aa0b0a808cd43483163049..f917582a23fa4abb51e368fb4e3308d38c9cbcaa 100644 GIT binary patch delta 16 XcmeA+>o#MT@8;l0+A?(`JBu^`Dy#&? delta 16 XcmeA+>o#MT@8;le{oS^aokbb|D?kL{ diff --git a/examples/SmartSwitch/SmartSwitch.ino b/examples/SmartSwitch/SmartSwitch.ino index 796bb99..658942f 100644 --- a/examples/SmartSwitch/SmartSwitch.ino +++ b/examples/SmartSwitch/SmartSwitch.ino @@ -204,8 +204,13 @@ void doOut(){ if (ledOut != ledState){ // only if changed digitalWrite(ledPin, ledState); //consolidated here ledOut = ledState; //update - if (ledState == LED_OFF) ws.textAll("led,ledoff"); - else ws.textAll("led,ledon"); + if (ledState == LED_OFF){ + ws.textAll("led,ledoff"); + Serial.println(F("LED-OFF")); + } else { + ws.textAll("led,ledon"); + Serial.println(F("LED-ON")); + } } } @@ -257,7 +262,7 @@ void showTime() ledState = LED_ON; ws.textAll("led,ledon"); } - if ((((t - HYST) > ee.tempe)&&(ledState == LED_ON))||(!heat_enabled)){ // ON->OFF once, also turn off at end of period. + if ((((t - HYST) > ee.tempe)&&(ledState == LED_ON))||(!heat_enabled)){ // ->OFF ledState = LED_OFF; ws.textAll("led,ledoff"); } @@ -290,13 +295,6 @@ void checkPhysicalButton() if (digitalRead(btnPin) == LOW){ if (btnState != LOW){ // btnState is used to avoid sequential toggles ledState = !ledState; - if (ledState == LED_OFF){ - ws.textAll("led,ledoff"); - Serial.println(F("LED-OFF")); - } else { - ws.textAll("led,ledon"); - Serial.println(F("LED-ON")); - } } btnState = LOW; } else { diff --git a/examples/SmartSwitch/data/.exclude.files b/examples/SmartSwitch/data/.exclude.files index 664e3b7..a1c4278 100644 --- a/examples/SmartSwitch/data/.exclude.files +++ b/examples/SmartSwitch/data/.exclude.files @@ -1,3 +1,3 @@ /*.gz -/edit.htm +/edit_gz /.exclude.files diff --git a/examples/SmartSwitch/data/acefull.js.gz b/examples/SmartSwitch/data/acefull.js.gz index 42cd5e87724f3765698a6aef40c852f786905e42..8ba7fd8a73c8744cd2a2edd3205bd2afcb36833a 100644 GIT binary patch delta 21 dcmaDipZ(o@c6Rx04vwTPQyba0vNJwE4**{82#^2( delta 21 dcmaDipZ(o@c6Rx04i4AfZH??(*%_ao2LNBx2&(`9 diff --git a/examples/SmartSwitch/data/edit.htm b/examples/SmartSwitch/data/edit_gz similarity index 98% rename from examples/SmartSwitch/data/edit.htm rename to examples/SmartSwitch/data/edit_gz index 6620caab1b5d747bd72794f957a8d78c19ae9827..323f93ec3763003d9a988e6119bb9cabbf93bbb1 100644 GIT binary patch delta 16 XcmbQPJYAVxzMF&NsNS@V>=Oh5Dx?J% delta 16 XcmbQPJYAVxzMF%i^Ho4FEds2Aco? diff --git a/examples/SmartSwitch/data/worker-html.js.gz b/examples/SmartSwitch/data/worker-html.js.gz index 19b5d9e4e6d9b7d5ae8a330732372afda5406eee..beef3c194fee47f2481918ca233af25fe0256cc2 100644 GIT binary patch delta 18 acmcb8pXv5}CU*I54vzROQ#Z0-Sq}hC5eOXs delta 18 acmcb8pXv5}CU*I54i4wvZ5!FItOo#2tOz*( diff --git a/examples/SmartSwitch/data/worker-javascript.js.gz b/examples/SmartSwitch/data/worker-javascript.js.gz index 5ad84ceaa2ed99fddf81ae1adad50c6aabda632e..02c0e6f39f64f7bb37c543d5000bd63c047f258d 100644 GIT binary patch delta 21 dcmZ4Yo^9QGHg@@L4vxevQyba0vNJB<4gg>J2vq<8 delta 21 dcmZ4Yo^9QGHg@@L4i4AfZH??(*%_B_2LNE{2yp-a diff --git a/examples/SmartSwitch/data/worker-json.js.gz b/examples/SmartSwitch/data/worker-json.js.gz index e1de25bd0450183027aa0b0a808cd43483163049..f917582a23fa4abb51e368fb4e3308d38c9cbcaa 100644 GIT binary patch delta 16 XcmeA+>o#MT@8;l0+A?(`JBu^`Dy#&? delta 16 XcmeA+>o#MT@8;le{oS^aokbb|D?kL{ diff --git a/extras/do_ed_fs.bat b/extras/do_ed_fs.bat index 0396220..c88b646 100644 --- a/extras/do_ed_fs.bat +++ b/extras/do_ed_fs.bat @@ -1,8 +1,8 @@ copy ..\src\edit.htm edit_src.htm call html-minifier-terser --collapse-whitespace --remove-comments --remove-optional-tags --remove-redundant-attributes --remove-script-type-attributes --minify-css true --minify-js true -o edit.htm edit_src.htm "C:\Program Files\7-Zip\7z.exe" a -tgzip -mx9 edit.htm.gz edit.htm -copy edit.htm.gz ..\examples\SmartSwitch\data\edit.htm -copy edit.htm.gz ..\examples\ESP_AsyncFSBrowser\data\edit.htm +copy edit.htm.gz ..\examples\SmartSwitch\data\edit_gz +copy edit.htm.gz ..\examples\ESP_AsyncFSBrowser\data\edit_gz ehg edit.htm.gz PROGMEM copy edit.htm.gz.h ..\src\edit.htm.gz.h pause diff --git a/src/SPIFFSEditor.cpp b/src/SPIFFSEditor.cpp index 05ff4a1..343ed79 100644 --- a/src/SPIFFSEditor.cpp +++ b/src/SPIFFSEditor.cpp @@ -237,7 +237,7 @@ void SPIFFSEditor::handleRequest(AsyncWebServerRequest *request){ request->send(304); } else { #ifdef EDFS - AsyncWebServerResponse *response = request->beginResponse(_fs, F("/edit.htm"), F("text/html"), false); + AsyncWebServerResponse *response = request->beginResponse(_fs, F("/edit_gz"), F("text/html"), false); #else AsyncWebServerResponse *response = request->beginResponse_P(200, F("text/html"), edit_htm_gz, edit_htm_gz_len); #endif diff --git a/src/edit.htm.gz.h b/src/edit.htm.gz.h index 5a00089..c53251d 100644 --- a/src/edit.htm.gz.h +++ b/src/edit.htm.gz.h @@ -2,7 +2,7 @@ //File: edit.htm.gz, Size: 4503 #define edit_htm_gz_len 4503 const uint8_t edit_htm_gz[] PROGMEM = { -0x1F,0x8B,0x08,0x08,0x89,0xFA,0x86,0x5F,0x02,0x00,0x65,0x64,0x69,0x74,0x2E,0x68,0x74,0x6D,0x00,0xB5, +0x1F,0x8B,0x08,0x08,0xC5,0x2E,0x96,0x5F,0x02,0x00,0x65,0x64,0x69,0x74,0x2E,0x68,0x74,0x6D,0x00,0xB5, 0x1A,0x0B,0x5B,0xDB,0x36,0xF0,0xAF,0x18,0x6F,0x63,0xF6,0xE2,0x38,0x0E,0x50,0xD6,0x3A,0x18,0x16,0x1E, 0xEB,0xBB,0x50,0x12,0xDA,0xD1,0x8E,0xED,0x53,0x6C,0x25,0x56,0xB1,0x25,0xCF,0x96,0x09,0x34,0xCD,0x7F, 0xDF,0x49,0xF2,0x93,0x84,0xEE,0xF1,0x6D,0xA5,0x60,0x49,0xA7,0x3B,0xDD,0x9D,0xEE,0x25,0xD9,0x7B,0x1B, From a849e20ebe115fa5071e8a4a8b23ec90bb9939ed Mon Sep 17 00:00:00 2001 From: lorol Date: Fri, 6 Nov 2020 14:19:41 -0500 Subject: [PATCH 45/47] Refresh --- src/WebHandlerImpl.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/WebHandlerImpl.h b/src/WebHandlerImpl.h index d121fa7..1d2dd64 100644 --- a/src/WebHandlerImpl.h +++ b/src/WebHandlerImpl.h @@ -119,16 +119,22 @@ class AsyncCallbackWebHandler: public AsyncWebHandler { } virtual void handleRequest(AsyncWebServerRequest *request) override final { + if((_username != "" && _password != "") && !request->authenticate(_username.c_str(), _password.c_str())) + return request->requestAuthentication(); if(_onRequest) _onRequest(request); else request->send(500); } virtual void handleUpload(AsyncWebServerRequest *request, const String& filename, size_t index, uint8_t *data, size_t len, bool final) override final { + if((_username != "" && _password != "") && !request->authenticate(_username.c_str(), _password.c_str())) + return request->requestAuthentication(); if(_onUpload) _onUpload(request, filename, index, data, len, final); } virtual void handleBody(AsyncWebServerRequest *request, uint8_t *data, size_t len, size_t index, size_t total) override final { + if((_username != "" && _password != "") && !request->authenticate(_username.c_str(), _password.c_str())) + return request->requestAuthentication(); if(_onBody) _onBody(request, data, len, index, total); } From 2d23ba778f92be1bf1429ad9b95cad60bf0dfb54 Mon Sep 17 00:00:00 2001 From: lorol Date: Sat, 7 Nov 2020 23:20:58 -0500 Subject: [PATCH 46/47] Update --- .../ESP_AsyncFSBrowser/data/acefull.js.gz | Bin 118766 -> 118766 bytes examples/ESP_AsyncFSBrowser/data/edit_gz | Bin 4503 -> 4503 bytes .../ESP_AsyncFSBrowser/data/worker-css.js.gz | Bin 32927 -> 32927 bytes .../ESP_AsyncFSBrowser/data/worker-html.js.gz | Bin 45019 -> 45019 bytes .../data/worker-javascript.js.gz | Bin 112558 -> 112558 bytes .../ESP_AsyncFSBrowser/data/worker-json.js.gz | Bin 6923 -> 6923 bytes examples/SmartSwitch/data/acefull.js.gz | Bin 118766 -> 118766 bytes examples/SmartSwitch/data/edit_gz | Bin 4503 -> 4503 bytes examples/SmartSwitch/data/worker-css.js.gz | Bin 32927 -> 32927 bytes examples/SmartSwitch/data/worker-html.js.gz | Bin 45019 -> 45019 bytes .../SmartSwitch/data/worker-javascript.js.gz | Bin 112558 -> 112558 bytes examples/SmartSwitch/data/worker-json.js.gz | Bin 6923 -> 6923 bytes src/WebHandlerImpl.h | 6 ++++++ src/edit.htm.gz.h | 2 +- 14 files changed, 7 insertions(+), 1 deletion(-) diff --git a/examples/ESP_AsyncFSBrowser/data/acefull.js.gz b/examples/ESP_AsyncFSBrowser/data/acefull.js.gz index 8ba7fd8a73c8744cd2a2edd3205bd2afcb36833a..71b984a356d47591ac632a21bcd0133fb25674cd 100644 GIT binary patch delta 21 dcmaDipZ(o@c6Rx04vw>h%NyCZvNJwE4*+3O2+9Be delta 21 dcmaDipZ(o@c6Rx04vwTPQyba0vNJwE4**{82#^2( diff --git a/examples/ESP_AsyncFSBrowser/data/edit_gz b/examples/ESP_AsyncFSBrowser/data/edit_gz index 323f93ec3763003d9a988e6119bb9cabbf93bbb1..3f0ef196e58e5eacb1a323a6298d5960b1782976 100644 GIT binary patch delta 16 XcmbQPJYAVxzMF&NR^jrE>=Oh5Egl7d delta 16 XcmbQPJYAVxzMF&NsNS@V>=Oh5Dx?J% diff --git a/examples/ESP_AsyncFSBrowser/data/worker-css.js.gz b/examples/ESP_AsyncFSBrowser/data/worker-css.js.gz index 4c1ecc8294c0db976352d1eccb695909e2e53e2b..9eea8b280a5ba674edb9fd762b292b7794a2bb2a 100644 GIT binary patch delta 18 ZcmbQ=$TYu^iCw;%gX47J@{Q~>8UQ>92DtzL delta 18 ZcmbQ=$TYu^iCw;%gCk+f)Q#*j8UQ*|27dqm diff --git a/examples/ESP_AsyncFSBrowser/data/worker-html.js.gz b/examples/ESP_AsyncFSBrowser/data/worker-html.js.gz index beef3c194fee47f2481918ca233af25fe0256cc2..160cb7a308069e8980aa32ab8e6ddb58079bb84f 100644 GIT binary patch delta 18 acmcb8pXv5}CU*I54vtfW%Qv!LSq}hD#t2sc delta 18 acmcb8pXv5}CU*I54vzROQ#Z0-Sq}hC5eOXs diff --git a/examples/ESP_AsyncFSBrowser/data/worker-javascript.js.gz b/examples/ESP_AsyncFSBrowser/data/worker-javascript.js.gz index 02c0e6f39f64f7bb37c543d5000bd63c047f258d..4463fddc81f364c176c5373150637e1b98a9cc43 100644 GIT binary patch delta 21 dcmZ4Yo^9QGHg@@L4vsU0%NyCZvNJB<4gg|Z2#){& delta 21 dcmZ4Yo^9QGHg@@L4vxevQyba0vNJB<4gg>J2vq<8 diff --git a/examples/ESP_AsyncFSBrowser/data/worker-json.js.gz b/examples/ESP_AsyncFSBrowser/data/worker-json.js.gz index f917582a23fa4abb51e368fb4e3308d38c9cbcaa..62e021719b3a1bbc4ad746c30c8a687f4c803d76 100644 GIT binary patch delta 16 XcmeA+>o#MT@8;k*Tey59JBu^`EMWxz delta 16 XcmeA+>o#MT@8;l0+A?(`JBu^`Dy#&? diff --git a/examples/SmartSwitch/data/acefull.js.gz b/examples/SmartSwitch/data/acefull.js.gz index 8ba7fd8a73c8744cd2a2edd3205bd2afcb36833a..71b984a356d47591ac632a21bcd0133fb25674cd 100644 GIT binary patch delta 21 dcmaDipZ(o@c6Rx04vw>h%NyCZvNJwE4*+3O2+9Be delta 21 dcmaDipZ(o@c6Rx04vwTPQyba0vNJwE4**{82#^2( diff --git a/examples/SmartSwitch/data/edit_gz b/examples/SmartSwitch/data/edit_gz index 323f93ec3763003d9a988e6119bb9cabbf93bbb1..3f0ef196e58e5eacb1a323a6298d5960b1782976 100644 GIT binary patch delta 16 XcmbQPJYAVxzMF&NR^jrE>=Oh5Egl7d delta 16 XcmbQPJYAVxzMF&NsNS@V>=Oh5Dx?J% diff --git a/examples/SmartSwitch/data/worker-css.js.gz b/examples/SmartSwitch/data/worker-css.js.gz index 4c1ecc8294c0db976352d1eccb695909e2e53e2b..9eea8b280a5ba674edb9fd762b292b7794a2bb2a 100644 GIT binary patch delta 18 ZcmbQ=$TYu^iCw;%gX47J@{Q~>8UQ>92DtzL delta 18 ZcmbQ=$TYu^iCw;%gCk+f)Q#*j8UQ*|27dqm diff --git a/examples/SmartSwitch/data/worker-html.js.gz b/examples/SmartSwitch/data/worker-html.js.gz index beef3c194fee47f2481918ca233af25fe0256cc2..160cb7a308069e8980aa32ab8e6ddb58079bb84f 100644 GIT binary patch delta 18 acmcb8pXv5}CU*I54vtfW%Qv!LSq}hD#t2sc delta 18 acmcb8pXv5}CU*I54vzROQ#Z0-Sq}hC5eOXs diff --git a/examples/SmartSwitch/data/worker-javascript.js.gz b/examples/SmartSwitch/data/worker-javascript.js.gz index 02c0e6f39f64f7bb37c543d5000bd63c047f258d..4463fddc81f364c176c5373150637e1b98a9cc43 100644 GIT binary patch delta 21 dcmZ4Yo^9QGHg@@L4vsU0%NyCZvNJB<4gg|Z2#){& delta 21 dcmZ4Yo^9QGHg@@L4vxevQyba0vNJB<4gg>J2vq<8 diff --git a/examples/SmartSwitch/data/worker-json.js.gz b/examples/SmartSwitch/data/worker-json.js.gz index f917582a23fa4abb51e368fb4e3308d38c9cbcaa..62e021719b3a1bbc4ad746c30c8a687f4c803d76 100644 GIT binary patch delta 16 XcmeA+>o#MT@8;k*Tey59JBu^`EMWxz delta 16 XcmeA+>o#MT@8;l0+A?(`JBu^`Dy#&? diff --git a/src/WebHandlerImpl.h b/src/WebHandlerImpl.h index d121fa7..1d2dd64 100644 --- a/src/WebHandlerImpl.h +++ b/src/WebHandlerImpl.h @@ -119,16 +119,22 @@ class AsyncCallbackWebHandler: public AsyncWebHandler { } virtual void handleRequest(AsyncWebServerRequest *request) override final { + if((_username != "" && _password != "") && !request->authenticate(_username.c_str(), _password.c_str())) + return request->requestAuthentication(); if(_onRequest) _onRequest(request); else request->send(500); } virtual void handleUpload(AsyncWebServerRequest *request, const String& filename, size_t index, uint8_t *data, size_t len, bool final) override final { + if((_username != "" && _password != "") && !request->authenticate(_username.c_str(), _password.c_str())) + return request->requestAuthentication(); if(_onUpload) _onUpload(request, filename, index, data, len, final); } virtual void handleBody(AsyncWebServerRequest *request, uint8_t *data, size_t len, size_t index, size_t total) override final { + if((_username != "" && _password != "") && !request->authenticate(_username.c_str(), _password.c_str())) + return request->requestAuthentication(); if(_onBody) _onBody(request, data, len, index, total); } diff --git a/src/edit.htm.gz.h b/src/edit.htm.gz.h index c53251d..33cc052 100644 --- a/src/edit.htm.gz.h +++ b/src/edit.htm.gz.h @@ -2,7 +2,7 @@ //File: edit.htm.gz, Size: 4503 #define edit_htm_gz_len 4503 const uint8_t edit_htm_gz[] PROGMEM = { -0x1F,0x8B,0x08,0x08,0xC5,0x2E,0x96,0x5F,0x02,0x00,0x65,0x64,0x69,0x74,0x2E,0x68,0x74,0x6D,0x00,0xB5, +0x1F,0x8B,0x08,0x08,0xDA,0x71,0xA7,0x5F,0x02,0x00,0x65,0x64,0x69,0x74,0x2E,0x68,0x74,0x6D,0x00,0xB5, 0x1A,0x0B,0x5B,0xDB,0x36,0xF0,0xAF,0x18,0x6F,0x63,0xF6,0xE2,0x38,0x0E,0x50,0xD6,0x3A,0x18,0x16,0x1E, 0xEB,0xBB,0x50,0x12,0xDA,0xD1,0x8E,0xED,0x53,0x6C,0x25,0x56,0xB1,0x25,0xCF,0x96,0x09,0x34,0xCD,0x7F, 0xDF,0x49,0xF2,0x93,0x84,0xEE,0xF1,0x6D,0xA5,0x60,0x49,0xA7,0x3B,0xDD,0x9D,0xEE,0x25,0xD9,0x7B,0x1B, From f410ba21eb4e5a0a1e562e5a5d07e2601ec77288 Mon Sep 17 00:00:00 2001 From: lorol Date: Fri, 13 Nov 2020 15:05:21 -0500 Subject: [PATCH 47/47] Update gzips --- .../ESP_AsyncFSBrowser/data/acefull.js.gz | Bin 118766 -> 118766 bytes examples/ESP_AsyncFSBrowser/data/edit_gz | Bin 4503 -> 4503 bytes .../ESP_AsyncFSBrowser/data/worker-css.js.gz | Bin 32927 -> 32927 bytes .../ESP_AsyncFSBrowser/data/worker-html.js.gz | Bin 45019 -> 45019 bytes .../data/worker-javascript.js.gz | Bin 112558 -> 112558 bytes .../ESP_AsyncFSBrowser/data/worker-json.js.gz | Bin 6923 -> 6923 bytes examples/SmartSwitch/data/acefull.js.gz | Bin 118766 -> 118766 bytes examples/SmartSwitch/data/edit_gz | Bin 4503 -> 4503 bytes examples/SmartSwitch/data/worker-css.js.gz | Bin 32927 -> 32927 bytes examples/SmartSwitch/data/worker-html.js.gz | Bin 45019 -> 45019 bytes .../SmartSwitch/data/worker-javascript.js.gz | Bin 112558 -> 112558 bytes examples/SmartSwitch/data/worker-json.js.gz | Bin 6923 -> 6923 bytes src/edit.htm.gz.h | 2 +- 13 files changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/ESP_AsyncFSBrowser/data/acefull.js.gz b/examples/ESP_AsyncFSBrowser/data/acefull.js.gz index 71b984a356d47591ac632a21bcd0133fb25674cd..54069806c524a3c84eb31eedc650c3efa1686331 100644 GIT binary patch delta 21 dcmaDipZ(o@c6Rx04i2wp>l)d&vNJwE4*+0^2*UsX delta 21 dcmaDipZ(o@c6Rx04vw>h%NyCZvNJwE4*+3O2+9Be diff --git a/examples/ESP_AsyncFSBrowser/data/edit_gz b/examples/ESP_AsyncFSBrowser/data/edit_gz index 3f0ef196e58e5eacb1a323a6298d5960b1782976..be687a3942deeecdc96ea3fc3a2302c7b73408b7 100644 GIT binary patch delta 16 XcmbQPJYAVxzMF$1>e;%D>=Oh5EPn-k delta 16 XcmbQPJYAVxzMF&NR^jrE>=Oh5Egl7d diff --git a/examples/ESP_AsyncFSBrowser/data/worker-css.js.gz b/examples/ESP_AsyncFSBrowser/data/worker-css.js.gz index 9eea8b280a5ba674edb9fd762b292b7794a2bb2a..6bab483026a8fb0ef25353f10db64a75d38d99b3 100644 GIT binary patch delta 18 ZcmbQ=$TYu^iCw;%gTv$5x{d5J8UQ;~2C@JE delta 18 ZcmbQ=$TYu^iCw;%gX47J@{Q~>8UQ>92DtzL diff --git a/examples/ESP_AsyncFSBrowser/data/worker-html.js.gz b/examples/ESP_AsyncFSBrowser/data/worker-html.js.gz index 160cb7a308069e8980aa32ab8e6ddb58079bb84f..b256b50c0d2da0779833d602f8ee30a686eac6eb 100644 GIT binary patch delta 18 acmcb8pXv5}CU*I54i5Kc>o&4qSq}hD5(rQL delta 18 acmcb8pXv5}CU*I54vtfW%Qv!LSq}hD#t2sc diff --git a/examples/ESP_AsyncFSBrowser/data/worker-javascript.js.gz b/examples/ESP_AsyncFSBrowser/data/worker-javascript.js.gz index 4463fddc81f364c176c5373150637e1b98a9cc43..9cbfd2049f4dc579c777e291376a775707d0a573 100644 GIT binary patch delta 21 dcmZ4Yo^9QGHg@@L4i3*}>l)d&vNJB<4gg`42#5dx delta 21 dcmZ4Yo^9QGHg@@L4vsU0%NyCZvNJB<4gg|Z2#){& diff --git a/examples/ESP_AsyncFSBrowser/data/worker-json.js.gz b/examples/ESP_AsyncFSBrowser/data/worker-json.js.gz index 62e021719b3a1bbc4ad746c30c8a687f4c803d76..fec1f65b323b3e5e21bf3b6a4945fe7623628312 100644 GIT binary patch delta 16 XcmeA+>o#MT@8;m}dbVyOJBu^`E3E|i delta 16 XcmeA+>o#MT@8;k*Tey59JBu^`EMWxz diff --git a/examples/SmartSwitch/data/acefull.js.gz b/examples/SmartSwitch/data/acefull.js.gz index 71b984a356d47591ac632a21bcd0133fb25674cd..54069806c524a3c84eb31eedc650c3efa1686331 100644 GIT binary patch delta 21 dcmaDipZ(o@c6Rx04i2wp>l)d&vNJwE4*+0^2*UsX delta 21 dcmaDipZ(o@c6Rx04vw>h%NyCZvNJwE4*+3O2+9Be diff --git a/examples/SmartSwitch/data/edit_gz b/examples/SmartSwitch/data/edit_gz index 3f0ef196e58e5eacb1a323a6298d5960b1782976..be687a3942deeecdc96ea3fc3a2302c7b73408b7 100644 GIT binary patch delta 16 XcmbQPJYAVxzMF$1>e;%D>=Oh5EPn-k delta 16 XcmbQPJYAVxzMF&NR^jrE>=Oh5Egl7d diff --git a/examples/SmartSwitch/data/worker-css.js.gz b/examples/SmartSwitch/data/worker-css.js.gz index 9eea8b280a5ba674edb9fd762b292b7794a2bb2a..6bab483026a8fb0ef25353f10db64a75d38d99b3 100644 GIT binary patch delta 18 ZcmbQ=$TYu^iCw;%gTv$5x{d5J8UQ;~2C@JE delta 18 ZcmbQ=$TYu^iCw;%gX47J@{Q~>8UQ>92DtzL diff --git a/examples/SmartSwitch/data/worker-html.js.gz b/examples/SmartSwitch/data/worker-html.js.gz index 160cb7a308069e8980aa32ab8e6ddb58079bb84f..b256b50c0d2da0779833d602f8ee30a686eac6eb 100644 GIT binary patch delta 18 acmcb8pXv5}CU*I54i5Kc>o&4qSq}hD5(rQL delta 18 acmcb8pXv5}CU*I54vtfW%Qv!LSq}hD#t2sc diff --git a/examples/SmartSwitch/data/worker-javascript.js.gz b/examples/SmartSwitch/data/worker-javascript.js.gz index 4463fddc81f364c176c5373150637e1b98a9cc43..9cbfd2049f4dc579c777e291376a775707d0a573 100644 GIT binary patch delta 21 dcmZ4Yo^9QGHg@@L4i3*}>l)d&vNJB<4gg`42#5dx delta 21 dcmZ4Yo^9QGHg@@L4vsU0%NyCZvNJB<4gg|Z2#){& diff --git a/examples/SmartSwitch/data/worker-json.js.gz b/examples/SmartSwitch/data/worker-json.js.gz index 62e021719b3a1bbc4ad746c30c8a687f4c803d76..fec1f65b323b3e5e21bf3b6a4945fe7623628312 100644 GIT binary patch delta 16 XcmeA+>o#MT@8;m}dbVyOJBu^`E3E|i delta 16 XcmeA+>o#MT@8;k*Tey59JBu^`EMWxz diff --git a/src/edit.htm.gz.h b/src/edit.htm.gz.h index 33cc052..aa77e28 100644 --- a/src/edit.htm.gz.h +++ b/src/edit.htm.gz.h @@ -2,7 +2,7 @@ //File: edit.htm.gz, Size: 4503 #define edit_htm_gz_len 4503 const uint8_t edit_htm_gz[] PROGMEM = { -0x1F,0x8B,0x08,0x08,0xDA,0x71,0xA7,0x5F,0x02,0x00,0x65,0x64,0x69,0x74,0x2E,0x68,0x74,0x6D,0x00,0xB5, +0x1F,0x8B,0x08,0x08,0x5A,0xE6,0xAE,0x5F,0x02,0x00,0x65,0x64,0x69,0x74,0x2E,0x68,0x74,0x6D,0x00,0xB5, 0x1A,0x0B,0x5B,0xDB,0x36,0xF0,0xAF,0x18,0x6F,0x63,0xF6,0xE2,0x38,0x0E,0x50,0xD6,0x3A,0x18,0x16,0x1E, 0xEB,0xBB,0x50,0x12,0xDA,0xD1,0x8E,0xED,0x53,0x6C,0x25,0x56,0xB1,0x25,0xCF,0x96,0x09,0x34,0xCD,0x7F, 0xDF,0x49,0xF2,0x93,0x84,0xEE,0xF1,0x6D,0xA5,0x60,0x49,0xA7,0x3B,0xDD,0x9D,0xEE,0x25,0xD9,0x7B,0x1B,

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