mirror of
https://github.com/wled/WLED.git
synced 2025-07-22 02:06:32 +00:00
Merge branch '0_15' of https://github.com/Aircoookie/WLED into ledmaps-realtime
This commit is contained in:
commit
b76a90304d
@ -219,36 +219,10 @@ function writeChunks(srcDir, specs, resultFile) {
|
||||
}
|
||||
|
||||
writeHtmlGzipped("wled00/data/index.htm", "wled00/html_ui.h", 'index');
|
||||
writeHtmlGzipped("wled00/data/simple.htm", "wled00/html_simple.h", 'simple');
|
||||
writeHtmlGzipped("wled00/data/pixart/pixart.htm", "wled00/html_pixart.h", 'pixart');
|
||||
writeHtmlGzipped("wled00/data/cpal/cpal.htm", "wled00/html_cpal.h", 'cpal');
|
||||
writeHtmlGzipped("wled00/data/pxmagic/pxmagic.htm", "wled00/html_pxmagic.h", 'pxmagic');
|
||||
/*
|
||||
writeChunks(
|
||||
"wled00/data",
|
||||
[
|
||||
{
|
||||
file: "simple.css",
|
||||
name: "PAGE_simpleCss",
|
||||
method: "gzip",
|
||||
filter: "css-minify",
|
||||
},
|
||||
{
|
||||
file: "simple.js",
|
||||
name: "PAGE_simpleJs",
|
||||
method: "gzip",
|
||||
filter: "js-minify",
|
||||
},
|
||||
{
|
||||
file: "simple.htm",
|
||||
name: "PAGE_simple",
|
||||
method: "gzip",
|
||||
filter: "html-minify-ui",
|
||||
}
|
||||
],
|
||||
"wled00/html_simplex.h"
|
||||
);
|
||||
*/
|
||||
|
||||
writeChunks(
|
||||
"wled00/data",
|
||||
[
|
||||
@ -406,16 +380,6 @@ const char PAGE_dmxmap[] PROGMEM = R"=====()=====";
|
||||
file: "favicon.ico",
|
||||
name: "favicon",
|
||||
method: "binary",
|
||||
},
|
||||
{
|
||||
file: "iro.js",
|
||||
name: "iroJs",
|
||||
method: "gzip"
|
||||
},
|
||||
{
|
||||
file: "rangetouch.js",
|
||||
name: "rangetouchJs",
|
||||
method: "gzip"
|
||||
}
|
||||
],
|
||||
"wled00/html_other.h"
|
||||
|
@ -50,8 +50,7 @@ private:
|
||||
|
||||
volatile unsigned long offTimerStart = 0; // off timer start time
|
||||
volatile bool PIRtriggered = false; // did PIR trigger?
|
||||
byte NotifyUpdateMode = CALL_MODE_NO_NOTIFY; // notification mode for stateUpdated(): CALL_MODE_NO_NOTIFY or CALL_MODE_DIRECT_CHANGE
|
||||
byte sensorPinState = LOW; // current PIR sensor pin state
|
||||
bool sensorPinState = LOW; // current PIR sensor pin state
|
||||
bool initDone = false; // status of initialization
|
||||
unsigned long lastLoop = 0;
|
||||
|
||||
@ -70,6 +69,7 @@ private:
|
||||
|
||||
// Home Assistant
|
||||
bool HomeAssistantDiscovery = false; // is HA discovery turned on
|
||||
int16_t idx = -1; // Domoticz virtual switch idx
|
||||
|
||||
// strings to reduce flash memory usage (used more than twice)
|
||||
static const char _name[];
|
||||
@ -81,8 +81,8 @@ private:
|
||||
static const char _mqttOnly[];
|
||||
static const char _offOnly[];
|
||||
static const char _haDiscovery[];
|
||||
static const char _notify[];
|
||||
static const char _override[];
|
||||
static const char _domoticzIDX[];
|
||||
|
||||
/**
|
||||
* check if it is daytime
|
||||
@ -94,7 +94,7 @@ private:
|
||||
* switch strip on/off
|
||||
*/
|
||||
void switchStrip(bool switchOn);
|
||||
void publishMqtt(const char* state);
|
||||
void publishMqtt(bool switchOn);
|
||||
|
||||
// Create an MQTT Binary Sensor for Home Assistant Discovery purposes, this includes a pointer to the topic that is published to in the Loop.
|
||||
void publishHomeAssistantAutodiscovery();
|
||||
@ -194,8 +194,8 @@ const char PIRsensorSwitch::_nightTime[] PROGMEM = "nighttime-only";
|
||||
const char PIRsensorSwitch::_mqttOnly[] PROGMEM = "mqtt-only";
|
||||
const char PIRsensorSwitch::_offOnly[] PROGMEM = "off-only";
|
||||
const char PIRsensorSwitch::_haDiscovery[] PROGMEM = "HA-discovery";
|
||||
const char PIRsensorSwitch::_notify[] PROGMEM = "notifications";
|
||||
const char PIRsensorSwitch::_override[] PROGMEM = "override";
|
||||
const char PIRsensorSwitch::_domoticzIDX[] PROGMEM = "domoticz-idx";
|
||||
|
||||
bool PIRsensorSwitch::isDayTime() {
|
||||
updateLocalTime();
|
||||
@ -235,24 +235,24 @@ void PIRsensorSwitch::switchStrip(bool switchOn)
|
||||
prevPlaylist = 0;
|
||||
prevPreset = 255;
|
||||
}
|
||||
applyPreset(m_onPreset, NotifyUpdateMode);
|
||||
applyPreset(m_onPreset, CALL_MODE_BUTTON_PRESET);
|
||||
return;
|
||||
}
|
||||
// preset not assigned
|
||||
if (bri == 0) {
|
||||
bri = briLast;
|
||||
stateUpdated(NotifyUpdateMode);
|
||||
stateUpdated(CALL_MODE_BUTTON);
|
||||
}
|
||||
} else {
|
||||
if (m_offPreset) {
|
||||
applyPreset(m_offPreset, NotifyUpdateMode);
|
||||
applyPreset(m_offPreset, CALL_MODE_BUTTON_PRESET);
|
||||
return;
|
||||
} else if (prevPlaylist) {
|
||||
if (currentPreset==m_onPreset || currentPlaylist==m_onPreset) applyPreset(prevPlaylist, NotifyUpdateMode);
|
||||
if (currentPreset==m_onPreset || currentPlaylist==m_onPreset) applyPreset(prevPlaylist, CALL_MODE_BUTTON_PRESET);
|
||||
prevPlaylist = 0;
|
||||
return;
|
||||
} else if (prevPreset) {
|
||||
if (prevPreset<255) { if (currentPreset==m_onPreset || currentPlaylist==m_onPreset) applyPreset(prevPreset, NotifyUpdateMode); }
|
||||
if (prevPreset<255) { if (currentPreset==m_onPreset || currentPlaylist==m_onPreset) applyPreset(prevPreset, CALL_MODE_BUTTON_PRESET); }
|
||||
else { if (currentPreset==m_onPreset || currentPlaylist==m_onPreset) applyTemporaryPreset(); }
|
||||
prevPreset = 0;
|
||||
return;
|
||||
@ -261,19 +261,29 @@ void PIRsensorSwitch::switchStrip(bool switchOn)
|
||||
if (bri != 0) {
|
||||
briLast = bri;
|
||||
bri = 0;
|
||||
stateUpdated(NotifyUpdateMode);
|
||||
stateUpdated(CALL_MODE_BUTTON);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void PIRsensorSwitch::publishMqtt(const char* state)
|
||||
void PIRsensorSwitch::publishMqtt(bool switchOn)
|
||||
{
|
||||
#ifndef WLED_DISABLE_MQTT
|
||||
//Check if MQTT Connected, otherwise it will crash the 8266
|
||||
if (WLED_MQTT_CONNECTED) {
|
||||
char buf[64];
|
||||
char buf[128];
|
||||
sprintf_P(buf, PSTR("%s/motion"), mqttDeviceTopic); //max length: 33 + 7 = 40
|
||||
mqtt->publish(buf, 0, false, state);
|
||||
mqtt->publish(buf, 0, false, switchOn?"on":"off");
|
||||
// Domoticz formatted message
|
||||
if (idx > 0) {
|
||||
StaticJsonDocument <128> msg;
|
||||
msg[F("idx")] = idx;
|
||||
msg[F("RSSI")] = WiFi.RSSI();
|
||||
msg[F("command")] = F("switchlight");
|
||||
msg[F("switchcmd")] = switchOn ? F("On") : F("Off");
|
||||
serializeJson(msg, buf, 128);
|
||||
mqtt->publish("domoticz/in", 0, false, buf);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
@ -322,13 +332,11 @@ bool PIRsensorSwitch::updatePIRsensorState()
|
||||
if (sensorPinState == HIGH) {
|
||||
offTimerStart = 0;
|
||||
if (!m_mqttOnly && (!m_nightTimeOnly || (m_nightTimeOnly && !isDayTime()))) switchStrip(true);
|
||||
else if (NotifyUpdateMode != CALL_MODE_NO_NOTIFY) updateInterfaces(CALL_MODE_WS_SEND);
|
||||
publishMqtt("on");
|
||||
} else {
|
||||
// start switch off timer
|
||||
offTimerStart = millis();
|
||||
if (NotifyUpdateMode != CALL_MODE_NO_NOTIFY) updateInterfaces(CALL_MODE_WS_SEND);
|
||||
}
|
||||
publishMqtt(sensorPinState == HIGH);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@ -338,11 +346,7 @@ bool PIRsensorSwitch::handleOffTimer()
|
||||
{
|
||||
if (offTimerStart > 0 && millis() - offTimerStart > m_switchOffDelay) {
|
||||
offTimerStart = 0;
|
||||
if (enabled == true) {
|
||||
if (!m_mqttOnly && (!m_nightTimeOnly || (m_nightTimeOnly && !isDayTime()) || PIRtriggered)) switchStrip(false);
|
||||
else if (NotifyUpdateMode != CALL_MODE_NO_NOTIFY) updateInterfaces(CALL_MODE_WS_SEND);
|
||||
publishMqtt("off");
|
||||
}
|
||||
if (!m_mqttOnly && (!m_nightTimeOnly || (m_nightTimeOnly && !isDayTime()) || PIRtriggered)) switchStrip(false);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@ -482,14 +486,13 @@ void PIRsensorSwitch::addToConfig(JsonObject &root)
|
||||
top[FPSTR(_offOnly)] = m_offOnly;
|
||||
top[FPSTR(_override)] = m_override;
|
||||
top[FPSTR(_haDiscovery)] = HomeAssistantDiscovery;
|
||||
top[FPSTR(_notify)] = (NotifyUpdateMode != CALL_MODE_NO_NOTIFY);
|
||||
top[FPSTR(_domoticzIDX)] = idx;
|
||||
DEBUG_PRINTLN(F("PIR config saved."));
|
||||
}
|
||||
|
||||
void PIRsensorSwitch::appendConfigData()
|
||||
{
|
||||
oappend(SET_F("addInfo('PIRsensorSwitch:HA-discovery',1,'HA=Home Assistant');")); // 0 is field type, 1 is actual field
|
||||
oappend(SET_F("addInfo('PIRsensorSwitch:notifications',1,'Periodic WS updates');")); // 0 is field type, 1 is actual field
|
||||
oappend(SET_F("addInfo('PIRsensorSwitch:override',1,'Cancel timer on change');")); // 0 is field type, 1 is actual field
|
||||
}
|
||||
|
||||
@ -521,8 +524,7 @@ bool PIRsensorSwitch::readFromConfig(JsonObject &root)
|
||||
m_offOnly = top[FPSTR(_offOnly)] | m_offOnly;
|
||||
m_override = top[FPSTR(_override)] | m_override;
|
||||
HomeAssistantDiscovery = top[FPSTR(_haDiscovery)] | HomeAssistantDiscovery;
|
||||
|
||||
NotifyUpdateMode = top[FPSTR(_notify)] ? CALL_MODE_DIRECT_CHANGE : CALL_MODE_NO_NOTIFY;
|
||||
idx = top[FPSTR(_domoticzIDX)] | idx;
|
||||
|
||||
if (!initDone) {
|
||||
// reading config prior to setup()
|
||||
@ -549,5 +551,5 @@ bool PIRsensorSwitch::readFromConfig(JsonObject &root)
|
||||
DEBUG_PRINTLN(F(" config (re)loaded."));
|
||||
}
|
||||
// use "return !top["newestParameter"].isNull();" when updating Usermod with new features
|
||||
return !top[FPSTR(_override)].isNull();
|
||||
return !top[FPSTR(_domoticzIDX)].isNull();
|
||||
}
|
||||
|
@ -48,6 +48,7 @@ class UsermodTemperature : public Usermod {
|
||||
bool enabled = true;
|
||||
|
||||
bool HApublished = false;
|
||||
int16_t idx = -1; // Domoticz virtual sensor idx
|
||||
|
||||
// strings to reduce flash memory usage (used more than twice)
|
||||
static const char _name[];
|
||||
@ -55,6 +56,7 @@ class UsermodTemperature : public Usermod {
|
||||
static const char _readInterval[];
|
||||
static const char _parasite[];
|
||||
static const char _parasitePin[];
|
||||
static const char _domoticzIDX[];
|
||||
|
||||
//Dallas sensor quick (& dirty) reading. Credit to - Author: Peter Scargill, August 17th, 2013
|
||||
float readDallas();
|
||||
@ -264,7 +266,7 @@ void UsermodTemperature::loop() {
|
||||
|
||||
#ifndef WLED_DISABLE_MQTT
|
||||
if (WLED_MQTT_CONNECTED) {
|
||||
char subuf[64];
|
||||
char subuf[128];
|
||||
strcpy(subuf, mqttDeviceTopic);
|
||||
if (temperature > -100.0f) {
|
||||
// dont publish super low temperature as the graph will get messed up
|
||||
@ -274,6 +276,15 @@ void UsermodTemperature::loop() {
|
||||
mqtt->publish(subuf, 0, false, String(getTemperatureC()).c_str());
|
||||
strcat_P(subuf, PSTR("_f"));
|
||||
mqtt->publish(subuf, 0, false, String(getTemperatureF()).c_str());
|
||||
if (idx > 0) {
|
||||
StaticJsonDocument <128> msg;
|
||||
msg[F("idx")] = idx;
|
||||
msg[F("RSSI")] = WiFi.RSSI();
|
||||
msg[F("nvalue")] = 0;
|
||||
msg[F("svalue")] = String(getTemperatureC());
|
||||
serializeJson(msg, subuf, 127);
|
||||
mqtt->publish("domoticz/in", 0, false, subuf);
|
||||
}
|
||||
} else {
|
||||
// publish something else to indicate status?
|
||||
}
|
||||
@ -360,6 +371,7 @@ void UsermodTemperature::addToConfig(JsonObject &root) {
|
||||
top[FPSTR(_readInterval)] = readingInterval / 1000;
|
||||
top[FPSTR(_parasite)] = parasite;
|
||||
top[FPSTR(_parasitePin)] = parasitePin;
|
||||
top[FPSTR(_domoticzIDX)] = idx;
|
||||
DEBUG_PRINTLN(F("Temperature config saved."));
|
||||
}
|
||||
|
||||
@ -386,6 +398,7 @@ bool UsermodTemperature::readFromConfig(JsonObject &root) {
|
||||
readingInterval = min(120,max(10,(int)readingInterval)) * 1000; // convert to ms
|
||||
parasite = top[FPSTR(_parasite)] | parasite;
|
||||
parasitePin = top[FPSTR(_parasitePin)] | parasitePin;
|
||||
idx = top[FPSTR(_domoticzIDX)] | idx;
|
||||
|
||||
if (!initDone) {
|
||||
// first run: reading from cfg.json
|
||||
@ -406,7 +419,7 @@ bool UsermodTemperature::readFromConfig(JsonObject &root) {
|
||||
}
|
||||
}
|
||||
// use "return !top["newestParameter"].isNull();" when updating Usermod with new features
|
||||
return !top[FPSTR(_parasitePin)].isNull();
|
||||
return !top[FPSTR(_domoticzIDX)].isNull();
|
||||
}
|
||||
|
||||
void UsermodTemperature::appendConfigData() {
|
||||
@ -430,3 +443,4 @@ const char UsermodTemperature::_enabled[] PROGMEM = "enabled";
|
||||
const char UsermodTemperature::_readInterval[] PROGMEM = "read-interval-s";
|
||||
const char UsermodTemperature::_parasite[] PROGMEM = "parasite-pwr";
|
||||
const char UsermodTemperature::_parasitePin[] PROGMEM = "parasite-pwr-pin";
|
||||
const char UsermodTemperature::_domoticzIDX[] PROGMEM = "domoticz-idx";
|
||||
|
@ -534,10 +534,10 @@ void MultiRelay::setup() {
|
||||
* loop() is called continuously. Here you can check for events, read sensors, etc.
|
||||
*/
|
||||
void MultiRelay::loop() {
|
||||
yield();
|
||||
if (!enabled || strip.isUpdating()) return;
|
||||
|
||||
static unsigned long lastUpdate = 0;
|
||||
yield();
|
||||
if (!enabled || (strip.isUpdating() && millis() - lastUpdate < 100)) return;
|
||||
|
||||
if (millis() - lastUpdate < 100) return; // update only 10 times/s
|
||||
lastUpdate = millis();
|
||||
|
||||
@ -803,13 +803,6 @@ bool MultiRelay::readFromConfig(JsonObject &root) {
|
||||
_relay[i].external = top[parName][FPSTR(_external)] | _relay[i].external;
|
||||
_relay[i].delay = top[parName][FPSTR(_delay_str)] | _relay[i].delay;
|
||||
_relay[i].button = top[parName][FPSTR(_button)] | _relay[i].button;
|
||||
// begin backwards compatibility (beta) remove when 0.13 is released
|
||||
parName += '-';
|
||||
_relay[i].pin = top[parName+"pin"] | _relay[i].pin;
|
||||
_relay[i].invert = top[parName+FPSTR(_activeHigh)] | _relay[i].invert;
|
||||
_relay[i].external = top[parName+FPSTR(_external)] | _relay[i].external;
|
||||
_relay[i].delay = top[parName+FPSTR(_delay_str)] | _relay[i].delay;
|
||||
// end compatibility
|
||||
_relay[i].delay = min(600,max(0,abs((int)_relay[i].delay))); // bounds checking max 10min
|
||||
}
|
||||
|
||||
|
@ -144,10 +144,13 @@ Segment& Segment::operator= (Segment &&orig) noexcept {
|
||||
}
|
||||
|
||||
bool IRAM_ATTR Segment::allocateData(size_t len) {
|
||||
if (data && _dataLen == len) return true; //already allocated
|
||||
if (data && _dataLen >= len) { // already allocated enough (reduce fragmentation)
|
||||
if (call == 0) memset(data, 0, len); // erase buffer if called during effect initialisation
|
||||
return true;
|
||||
}
|
||||
//DEBUG_PRINTF("-- Allocating data (%d): %p\n", len, this);
|
||||
deallocateData();
|
||||
if (len == 0) return(false); // nothing to do
|
||||
if (len == 0) return false; // nothing to do
|
||||
if (Segment::getUsedSegmentData() + len > MAX_SEGMENT_DATA) {
|
||||
// not enough memory
|
||||
DEBUG_PRINT(F("!!! Effect RAM depleted: "));
|
||||
@ -156,7 +159,7 @@ bool IRAM_ATTR Segment::allocateData(size_t len) {
|
||||
}
|
||||
// do not use SPI RAM on ESP32 since it is slow
|
||||
data = (byte*) malloc(len);
|
||||
if (!data) { DEBUG_PRINTLN(F("!!! Allocation failed. !!!")); return false; } //allocation failed
|
||||
if (!data) { DEBUG_PRINTLN(F("!!! Allocation failed. !!!")); return false; } // allocation failed
|
||||
Segment::addUsedSegmentData(len);
|
||||
//DEBUG_PRINTF("--- Allocated data (%p): %d/%d -> %p\n", this, len, Segment::getUsedSegmentData(), data);
|
||||
_dataLen = len;
|
||||
@ -1021,15 +1024,16 @@ void Segment::blur(uint8_t blur_amount) {
|
||||
*/
|
||||
uint32_t Segment::color_wheel(uint8_t pos) {
|
||||
if (palette) return color_from_palette(pos, false, true, 0);
|
||||
uint8_t w = W(currentColor(0));
|
||||
pos = 255 - pos;
|
||||
if (pos < 85) {
|
||||
return ((uint32_t)(255 - pos * 3) << 16) | ((uint32_t)(0) << 8) | (pos * 3);
|
||||
return RGBW32((255 - pos * 3), 0, (pos * 3), w);
|
||||
} else if(pos < 170) {
|
||||
pos -= 85;
|
||||
return ((uint32_t)(0) << 16) | ((uint32_t)(pos * 3) << 8) | (255 - pos * 3);
|
||||
return RGBW32(0, (pos * 3), (255 - pos * 3), w);
|
||||
} else {
|
||||
pos -= 170;
|
||||
return ((uint32_t)(pos * 3) << 16) | ((uint32_t)(255 - pos * 3) << 8) | (0);
|
||||
return RGBW32((pos * 3), (255 - pos * 3), 0, w);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1043,13 +1047,10 @@ uint32_t Segment::color_wheel(uint8_t pos) {
|
||||
* @returns Single color from palette
|
||||
*/
|
||||
uint32_t Segment::color_from_palette(uint16_t i, bool mapping, bool wrap, uint8_t mcol, uint8_t pbri) {
|
||||
uint32_t color = gamma32(currentColor(mcol));
|
||||
|
||||
// default palette or no RGB support on segment
|
||||
if ((palette == 0 && mcol < NUM_COLORS) || !_isRGB) {
|
||||
uint32_t color = currentColor(mcol);
|
||||
color = gamma32(color);
|
||||
if (pbri == 255) return color;
|
||||
return color_fade(color, pbri, true);
|
||||
}
|
||||
if ((palette == 0 && mcol < NUM_COLORS) || !_isRGB) return (pbri == 255) ? color : color_fade(color, pbri, true);
|
||||
|
||||
uint8_t paletteIndex = i;
|
||||
if (mapping && virtualLength() > 1) paletteIndex = (i*255)/(virtualLength() -1);
|
||||
@ -1058,7 +1059,7 @@ uint32_t Segment::color_from_palette(uint16_t i, bool mapping, bool wrap, uint8_
|
||||
curPal = currentPalette(curPal, palette);
|
||||
CRGB fastled_col = ColorFromPalette(curPal, paletteIndex, pbri, (strip.paletteBlend == 3)? NOBLEND:LINEARBLEND); // NOTE: paletteBlend should be global
|
||||
|
||||
return RGBW32(fastled_col.r, fastled_col.g, fastled_col.b, 0);
|
||||
return RGBW32(fastled_col.r, fastled_col.g, fastled_col.b, W(color));
|
||||
}
|
||||
|
||||
|
||||
|
@ -77,7 +77,7 @@ uint8_t IRAM_ATTR ColorOrderMap::getPixelColorOrder(uint16_t pix, uint8_t defaul
|
||||
|
||||
uint32_t Bus::autoWhiteCalc(uint32_t c) {
|
||||
uint8_t aWM = _autoWhiteMode;
|
||||
if (_gAWM < 255) aWM = _gAWM;
|
||||
if (_gAWM < AW_GLOBAL_DISABLED) aWM = _gAWM;
|
||||
if (aWM == RGBW_MODE_MANUAL_ONLY) return c;
|
||||
uint8_t w = W(c);
|
||||
//ignore auto-white calculation if w>0 and mode DUAL (DUAL behaves as BRIGHTER if w==0)
|
||||
|
@ -118,7 +118,7 @@ class Bus {
|
||||
, _needsRefresh(refresh)
|
||||
, _data(nullptr) // keep data access consistent across all types of buses
|
||||
{
|
||||
_autoWhiteMode = Bus::hasWhite(_type) ? aw : RGBW_MODE_MANUAL_ONLY;
|
||||
_autoWhiteMode = Bus::hasWhite(type) ? aw : RGBW_MODE_MANUAL_ONLY;
|
||||
};
|
||||
|
||||
virtual ~Bus() {} //throw the bus under the bus
|
||||
@ -154,7 +154,7 @@ class Bus {
|
||||
}
|
||||
virtual bool hasWhite(void) { return Bus::hasWhite(_type); }
|
||||
static bool hasWhite(uint8_t type) {
|
||||
if ((type >= TYPE_WS2812_1CH && type <= TYPE_WS2812_WWA) || type == TYPE_SK6812_RGBW || type == TYPE_TM1814) return true; // digital types with white channel
|
||||
if ((type >= TYPE_WS2812_1CH && type <= TYPE_WS2812_WWA) || type == TYPE_SK6812_RGBW || type == TYPE_TM1814 || type == TYPE_UCS8904) return true; // digital types with white channel
|
||||
if (type > TYPE_ONOFF && type <= TYPE_ANALOG_5CH && type != TYPE_ANALOG_3CH) return true; // analog types with white channel
|
||||
if (type == TYPE_NET_DDP_RGBW) return true; // network types with white channel
|
||||
return false;
|
||||
|
@ -99,7 +99,7 @@ bool isButtonPressed(uint8_t i)
|
||||
case BTN_TYPE_TOUCH:
|
||||
case BTN_TYPE_TOUCH_SWITCH:
|
||||
#if defined(ARDUINO_ARCH_ESP32) && !defined(CONFIG_IDF_TARGET_ESP32C3)
|
||||
if (touchRead(pin) <= touchThreshold) return true;
|
||||
if (digitalPinToTouchChannel(btnPin[i]) >= 0 && touchRead(pin) <= touchThreshold) return true;
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
@ -110,6 +110,7 @@ void handleSwitch(uint8_t b)
|
||||
{
|
||||
// isButtonPressed() handles inverted/noninverted logic
|
||||
if (buttonPressedBefore[b] != isButtonPressed(b)) {
|
||||
DEBUG_PRINT(F("Switch: State changed ")); DEBUG_PRINTLN(b);
|
||||
buttonPressedTime[b] = millis();
|
||||
buttonPressedBefore[b] = !buttonPressedBefore[b];
|
||||
}
|
||||
@ -117,12 +118,15 @@ void handleSwitch(uint8_t b)
|
||||
if (buttonLongPressed[b] == buttonPressedBefore[b]) return;
|
||||
|
||||
if (millis() - buttonPressedTime[b] > WLED_DEBOUNCE_THRESHOLD) { //fire edge event only after 50ms without change (debounce)
|
||||
DEBUG_PRINT(F("Switch: Activating ")); DEBUG_PRINTLN(b);
|
||||
if (!buttonPressedBefore[b]) { // on -> off
|
||||
DEBUG_PRINT(F("Switch: On -> Off ")); DEBUG_PRINTLN(b);
|
||||
if (macroButton[b]) applyPreset(macroButton[b], CALL_MODE_BUTTON_PRESET);
|
||||
else { //turn on
|
||||
if (!bri) {toggleOnOff(); stateUpdated(CALL_MODE_BUTTON);}
|
||||
}
|
||||
} else { // off -> on
|
||||
DEBUG_PRINT(F("Switch: Off -> On ")); DEBUG_PRINTLN(b);
|
||||
if (macroLongPress[b]) applyPreset(macroLongPress[b], CALL_MODE_BUTTON_PRESET);
|
||||
else { //turn off
|
||||
if (bri) {toggleOnOff(); stateUpdated(CALL_MODE_BUTTON);}
|
||||
@ -154,6 +158,8 @@ void handleAnalog(uint8_t b)
|
||||
static float filteredReading[WLED_MAX_BUTTONS] = {0.0f};
|
||||
uint16_t rawReading; // raw value from analogRead, scaled to 12bit
|
||||
|
||||
DEBUG_PRINT(F("Analog: Reading button ")); DEBUG_PRINTLN(b);
|
||||
|
||||
#ifdef ESP8266
|
||||
rawReading = analogRead(A0) << 2; // convert 10bit read to 12bit
|
||||
#else
|
||||
@ -162,6 +168,8 @@ void handleAnalog(uint8_t b)
|
||||
#endif
|
||||
yield(); // keep WiFi task running - analog read may take several millis on ESP8266
|
||||
|
||||
DEBUG_PRINT(F("Analog: Raw read = ")); DEBUG_PRINTLN(rawReading);
|
||||
|
||||
filteredReading[b] += POT_SMOOTHING * ((float(rawReading) / 16.0f) - filteredReading[b]); // filter raw input, and scale to [0..255]
|
||||
uint16_t aRead = max(min(int(filteredReading[b]), 255), 0); // squash into 8bit
|
||||
if(aRead <= POT_SENSITIVITY) aRead = 0; // make sure that 0 and 255 are used
|
||||
@ -172,6 +180,8 @@ void handleAnalog(uint8_t b)
|
||||
// remove noise & reduce frequency of UI updates
|
||||
if (abs(int(aRead) - int(oldRead[b])) <= POT_SENSITIVITY) return; // no significant change in reading
|
||||
|
||||
DEBUG_PRINT(F("Analog: Filtered read = ")); DEBUG_PRINTLN(aRead);
|
||||
|
||||
// Unomment the next lines if you still see flickering related to potentiometer
|
||||
// This waits until strip finishes updating (why: strip was not updating at the start of handleButton() but may have started during analogRead()?)
|
||||
//unsigned long wait_started = millis();
|
||||
@ -184,6 +194,7 @@ void handleAnalog(uint8_t b)
|
||||
|
||||
// if no macro for "short press" and "long press" is defined use brightness control
|
||||
if (!macroButton[b] && !macroLongPress[b]) {
|
||||
DEBUG_PRINT(F("Analog: Action = ")); DEBUG_PRINTLN(macroDoublePress[b]);
|
||||
// if "double press" macro defines which option to change
|
||||
if (macroDoublePress[b] >= 250) {
|
||||
// global brightness
|
||||
@ -219,6 +230,7 @@ void handleAnalog(uint8_t b)
|
||||
updateInterfaces(CALL_MODE_BUTTON);
|
||||
}
|
||||
} else {
|
||||
DEBUG_PRINTLN(F("Analog: No action"));
|
||||
//TODO:
|
||||
// we can either trigger a preset depending on the level (between short and long entries)
|
||||
// or use it for RGBW direct control
|
||||
|
@ -31,9 +31,7 @@ bool deserializeConfig(JsonObject doc, bool fromFS) {
|
||||
getStringFromJson(cmDNS, id[F("mdns")], 33);
|
||||
getStringFromJson(serverDescription, id[F("name")], 33);
|
||||
getStringFromJson(alexaInvocationName, id[F("inv")], 33);
|
||||
#ifdef WLED_ENABLE_SIMPLE_UI
|
||||
CJSON(simplifiedUI, id[F("sui")]);
|
||||
#endif
|
||||
|
||||
JsonObject nw = doc["nw"];
|
||||
#ifndef WLED_DISABLE_ESPNOW
|
||||
@ -88,11 +86,10 @@ bool deserializeConfig(JsonObject doc, bool fromFS) {
|
||||
// initialize LED pins and lengths prior to other HW (except for ethernet)
|
||||
JsonObject hw_led = hw["led"];
|
||||
|
||||
uint8_t autoWhiteMode = RGBW_MODE_MANUAL_ONLY;
|
||||
uint16_t total = hw_led[F("total")] | strip.getLengthTotal();
|
||||
CJSON(strip.ablMilliampsMax, hw_led[F("maxpwr")]);
|
||||
CJSON(strip.milliampsPerLed, hw_led[F("ledma")]); // no longer used
|
||||
Bus::setGlobalAWMode(hw_led[F("rgbwm")] | 255);
|
||||
Bus::setGlobalAWMode(hw_led[F("rgbwm")] | AW_GLOBAL_DISABLED);
|
||||
CJSON(correctWB, hw_led["cct"]);
|
||||
CJSON(cctFromRgb, hw_led[F("cr")]);
|
||||
CJSON(strip.cctBlending, hw_led[F("cb")]);
|
||||
@ -158,7 +155,7 @@ bool deserializeConfig(JsonObject doc, bool fromFS) {
|
||||
}
|
||||
|
||||
uint16_t length = elm["len"] | 1;
|
||||
uint8_t colorOrder = (int)elm[F("order")];
|
||||
uint8_t colorOrder = (int)elm[F("order")]; // contains white channel swap option in upper nibble
|
||||
uint8_t skipFirst = elm[F("skip")];
|
||||
uint16_t start = elm["start"] | 0;
|
||||
if (length==0 || start + length > MAX_LEDS) continue; // zero length or we reached max. number of LEDs, just stop
|
||||
@ -166,7 +163,7 @@ bool deserializeConfig(JsonObject doc, bool fromFS) {
|
||||
bool reversed = elm["rev"];
|
||||
bool refresh = elm["ref"] | false;
|
||||
uint16_t freqkHz = elm[F("freq")] | 0; // will be in kHz for DotStar and Hz for PWM (not yet implemented fully)
|
||||
uint8_t AWmode = elm[F("rgbwm")] | autoWhiteMode;
|
||||
uint8_t AWmode = elm[F("rgbwm")] | RGBW_MODE_MANUAL_ONLY;
|
||||
uint8_t maPerLed = elm[F("ledma")] | strip.milliampsPerLed; // replace with 55 when removing strip.milliampsPerLed
|
||||
uint16_t maMax = elm[F("maxpwr")] | (strip.ablMilliampsMax * length) / total; // rough (incorrect?) per strip ABL calculation when no config exists
|
||||
// To disable brightness limiter we either set output max current to 0 or single LED current to 0 (we choose output max current)
|
||||
@ -657,9 +654,7 @@ void serializeConfig() {
|
||||
id[F("mdns")] = cmDNS;
|
||||
id[F("name")] = serverDescription;
|
||||
id[F("inv")] = alexaInvocationName;
|
||||
#ifdef WLED_ENABLE_SIMPLE_UI
|
||||
id[F("sui")] = simplifiedUI;
|
||||
#endif
|
||||
|
||||
JsonObject nw = doc.createNestedObject("nw");
|
||||
#ifndef WLED_DISABLE_ESPNOW
|
||||
|
@ -342,8 +342,9 @@
|
||||
// WLED Error modes
|
||||
#define ERR_NONE 0 // All good :)
|
||||
#define ERR_DENIED 1 // Permission denied
|
||||
#define ERR_EEP_COMMIT 2 // Could not commit to EEPROM (wrong flash layout?) OBSOLETE
|
||||
#define ERR_CONCURRENCY 2 // Conurrency (client active)
|
||||
#define ERR_NOBUF 3 // JSON buffer was not released in time, request cannot be handled at this time
|
||||
#define ERR_NOT_IMPL 4 // Not implemented
|
||||
#define ERR_JSON 9 // JSON parsing failed (input too large?)
|
||||
#define ERR_FS_BEGIN 10 // Could not init filesystem (no partition?)
|
||||
#define ERR_FS_QUOTA 11 // The FS is full or the maximum file size is reached
|
||||
|
@ -370,6 +370,16 @@ button {
|
||||
padding: 5px 0 0;
|
||||
}
|
||||
|
||||
/* Quick load magin for simplified UI */
|
||||
.simplified #pql {
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
/* Button margin for simplified UI */
|
||||
.simplified #fx .btn, .simplified #palw .btn {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.smooth { transition: transform calc(var(--f, 1)*.5s) ease-out }
|
||||
|
||||
.tab-label {
|
||||
@ -413,6 +423,7 @@ button {
|
||||
position: sticky;
|
||||
bottom: 0;
|
||||
max-width: 300px;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
#sliders .labels {
|
||||
@ -754,13 +765,17 @@ input[type=range]::-moz-range-thumb {
|
||||
}
|
||||
|
||||
#Colors .sliderwrap {
|
||||
margin: 4px 0 0;
|
||||
margin: 2px 0 0;
|
||||
}
|
||||
|
||||
/* Dynamically hide brightness slider label */
|
||||
/* Dynamically hide labels */
|
||||
.hd {
|
||||
display: var(--bhd);
|
||||
}
|
||||
/* Do not hide quick load label in simplified mode on small screen widths */
|
||||
.simplified #pql .hd {
|
||||
display: var(--bhd) !important;
|
||||
}
|
||||
|
||||
#briwrap {
|
||||
min-width: 300px;
|
||||
@ -1284,6 +1299,12 @@ TD .checkmark, TD .radiomark {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
/* Simplify segments */
|
||||
.simplified #segcont .lstI {
|
||||
margin-top: 4px;
|
||||
min-height: unset;
|
||||
}
|
||||
|
||||
/* selected item/element */
|
||||
.selected { /* has to be after .lstI since !important is not ok */
|
||||
background: var(--c-4);
|
||||
@ -1324,6 +1345,19 @@ TD .checkmark, TD .radiomark {
|
||||
top: calc(var(--sti) + 42px);
|
||||
}
|
||||
|
||||
dialog::backdrop {
|
||||
backdrop-filter: blur(10px);
|
||||
-webkit-backdrop-filter: blur(10px);
|
||||
}
|
||||
dialog {
|
||||
max-height: 70%;
|
||||
border: 0;
|
||||
border-radius: 10px;
|
||||
background: linear-gradient(rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.1)), var(--c-3);
|
||||
box-shadow: 4px 4px 10px 4px var(--c-1);
|
||||
color: var(--c-f);
|
||||
}
|
||||
|
||||
#fxlist .lstI.sticky,
|
||||
#pallist .lstI.sticky {
|
||||
top: var(--sti);
|
||||
|
@ -7,52 +7,9 @@
|
||||
<meta content="yes" name="apple-mobile-web-app-capable">
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAGACGAAAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAQAAAAEAgGAAAAH/P/YQAAAE1JREFUOI1j/P//PwOxgNGeAUMxE9G6cQCKDWAhpADZ2f8PMjBS3QW08QK20KaZC2gfC9hCnqouoNgARgY7zMxAyNlUdQHlXiAlO2MDAD63EVqNHAe0AAAAAElFTkSuQmCC"/>
|
||||
<title>WLED</title>
|
||||
<script>
|
||||
function feedback(){}
|
||||
// instead of including [script src="iro.js"][/script] and [script src="rangetouch.js"][/script]
|
||||
// (which would be inlined by nodeJS inliner during minimization and compression) we need to load them dynamically
|
||||
// the following is needed to load iro.js and rangetouch.js as consecutive requests to allow ESP8266
|
||||
// to keep up with requests (if requests happent too fast some may not get processed)
|
||||
// it will also call onLoad() after last is loaded (it was removed from [body onload="onLoad()"]).
|
||||
var h = document.getElementsByTagName('head')[0];
|
||||
var l = document.createElement('script');
|
||||
l.type = 'application/javascript';
|
||||
l.src = 'iro.js';
|
||||
l.addEventListener('load', (e) => {
|
||||
// after iro is loaded initialize global variable
|
||||
cpick = new iro.ColorPicker("#picker", {
|
||||
width: 260,
|
||||
wheelLightness: false,
|
||||
wheelAngle: 270,
|
||||
wheelDirection: "clockwise",
|
||||
layout: [{
|
||||
component: iro.ui.Wheel,
|
||||
options: {}
|
||||
}]
|
||||
});
|
||||
cpick.on("input:end", () => {setColor(1);});
|
||||
cpick.on("color:change", () => {updatePSliders()});
|
||||
var l = document.createElement('script');
|
||||
l.type = 'application/javascript';
|
||||
l.src = 'rangetouch.js';
|
||||
l.addEventListener('load', (e) => {
|
||||
// after rangetouch is loaded initialize global variable
|
||||
ranges = RangeTouch.setup('input[type="range"]', {});
|
||||
let stateCheck = setInterval(() => {
|
||||
if (document.readyState === 'complete') {
|
||||
clearInterval(stateCheck);
|
||||
// document ready, start processing UI
|
||||
onLoad();
|
||||
}
|
||||
}, 100);
|
||||
});
|
||||
setTimeout(()=>{h.appendChild(l)},100);
|
||||
});
|
||||
setTimeout(()=>{h.appendChild(l)},200);
|
||||
</script>
|
||||
<link rel="stylesheet" href="index.css">
|
||||
</head>
|
||||
<body>
|
||||
<body onload="onLoad()">
|
||||
|
||||
<div id="cv" class="overlay">Loading WLED UI...</div>
|
||||
<noscript><div class="overlay" style="opacity:1;">Sorry, WLED UI needs JavaScript!</div></noscript>
|
||||
@ -168,7 +125,7 @@
|
||||
<input id="hexc" tooltip="Hex RGB" type="text" class="noslide" onkeydown="hexEnter()" autocomplete="off" maxlength="8" />
|
||||
<button id="hexcnf" class="btn btn-xs" onclick="fromHex();"><i class="icons btn-icon"></i></button>
|
||||
</div>
|
||||
<div style="padding: 8px 0;">
|
||||
<div style="padding: 8px 0;" id="btns">
|
||||
<button class="btn btn-xs" tooltip="Pixel Magic Tool" type="button" id="pxmb" onclick="window.location.href=getURL('/pxmagic.htm')"><i class="icons btn-icon"></i></button>
|
||||
<button class="btn btn-xs" tooltip="Add custom palette" type="button" onclick="window.location.href=getURL('/cpal.htm')"><i class="icons btn-icon"></i></button>
|
||||
<button class="btn btn-xs" tooltip="Remove custom palette" type="button" id="rmPal" onclick="palettesData=null;localStorage.removeItem('wledPalx');requestJson({rmcpal:true});setTimeout(loadPalettes,250,loadPalettesData);"><i class="icons btn-icon"></i></button>
|
||||
@ -351,7 +308,7 @@
|
||||
<button class="btn infobtn" id="resetbtn" onclick="cnfReset()">Reboot WLED</button>
|
||||
</div>
|
||||
<br>
|
||||
<span class="h">Made with <span id="heart">❤︎</span> by Aircoookie and the <a href="https://wled.discourse.group/" target="_blank">WLED community</a></span>
|
||||
<span class="h">Made with <span id="heart">❤︎</span> by <a href="https://github.com/Aircoookie/" target="_blank">Aircoookie</a> and the <a href="https://wled.discourse.group/" target="_blank">WLED community</a></span>
|
||||
</div>
|
||||
|
||||
<div id="nodes" class="modal">
|
||||
@ -378,6 +335,13 @@
|
||||
</div>
|
||||
|
||||
<i id="roverstar" class="icons huge" onclick="setLor(0)"></i><br>
|
||||
|
||||
<!--
|
||||
If you want to load iro.js and rangetouch.js as consecutive requests, you can do it like it was done in 0.14.0:
|
||||
https://github.com/Aircoookie/WLED/blob/v0.14.0/wled00/data/index.htm
|
||||
-->
|
||||
<script src="iro.js"></script>
|
||||
<script src="rangetouch.js"></script>
|
||||
<script src="index.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -12,8 +12,11 @@ var currentPreset = -1;
|
||||
var lastUpdate = 0;
|
||||
var segCount = 0, ledCount = 0, lowestUnused = 0, maxSeg = 0, lSeg = 0;
|
||||
var pcMode = false, pcModeA = false, lastw = 0, wW;
|
||||
var simplifiedUI = false;
|
||||
var tr = 7;
|
||||
var d = document;
|
||||
const ranges = RangeTouch.setup('input[type="range"]', {});
|
||||
var retry = false;
|
||||
var palettesData;
|
||||
var fxdata = [];
|
||||
var pJson = {}, eJson = {}, lJson = {};
|
||||
@ -22,7 +25,7 @@ var pN = "", pI = 0, pNum = 0;
|
||||
var pmt = 1, pmtLS = 0, pmtLast = 0;
|
||||
var lastinfo = {};
|
||||
var isM = false, mw = 0, mh=0;
|
||||
var ws, cpick, ranges, wsRpt=0;
|
||||
var ws, wsRpt=0;
|
||||
var cfg = {
|
||||
theme:{base:"dark", bg:{url:"", rnd: false, rndGrayscale: false, rndBlur: false}, alpha:{bg:0.6,tab:0.8}, color:{bg:""}},
|
||||
comp :{colors:{picker: true, rgb: false, quick: true, hex: false},
|
||||
@ -38,6 +41,17 @@ var hol = [
|
||||
[0,0,1,1,"https://images.alphacoders.com/119/1198800.jpg"] // new year
|
||||
];
|
||||
|
||||
var cpick = new iro.ColorPicker("#picker", {
|
||||
width: 260,
|
||||
wheelLightness: false,
|
||||
wheelAngle: 270,
|
||||
wheelDirection: "clockwise",
|
||||
layout: [{
|
||||
component: iro.ui.Wheel,
|
||||
options: {}
|
||||
}]
|
||||
});
|
||||
|
||||
function handleVisibilityChange() {if (!d.hidden && new Date () - lastUpdate > 3000) requestJson();}
|
||||
function sCol(na, col) {d.documentElement.style.setProperty(na, col);}
|
||||
function gId(c) {return d.getElementById(c);}
|
||||
@ -259,24 +273,30 @@ function onLoad()
|
||||
|
||||
selectSlot(0);
|
||||
updateTablinks(0);
|
||||
cpick.on("input:end", () => {setColor(1);});
|
||||
cpick.on("color:change", () => {updatePSliders()});
|
||||
pmtLS = localStorage.getItem('wledPmt');
|
||||
|
||||
// Load initial data
|
||||
// Once we figure out why ESP8266 sometimes corrupts JSON responses if they are made in quick succession
|
||||
// we can remove all setTimeout() throttling
|
||||
loadPalettes(()=>{
|
||||
// fill effect extra data array
|
||||
loadFXData(()=>{
|
||||
setTimeout(()=>{ // ESP8266 can't handle quick requests
|
||||
// load and populate effects
|
||||
loadFX(()=>{
|
||||
setTimeout(()=>{ // ESP8266 can't handle quick requests
|
||||
loadPalettesData(()=>{
|
||||
requestJson();// will load presets and create WS
|
||||
if (cfg.comp.css) setTimeout(()=>{loadSkinCSS('skinCss')},100);
|
||||
});
|
||||
},100);
|
||||
});
|
||||
},100);
|
||||
});
|
||||
setTimeout(()=>{ // ESP8266 can't handle quick requests
|
||||
// fill effect extra data array
|
||||
loadFXData(()=>{
|
||||
setTimeout(()=>{ // ESP8266 can't handle quick requests
|
||||
// load and populate effects
|
||||
loadFX(()=>{
|
||||
setTimeout(()=>{ // ESP8266 can't handle quick requests
|
||||
loadPalettesData(()=>{
|
||||
requestJson();// will load presets and create WS
|
||||
if (cfg.comp.css) setTimeout(()=>{loadSkinCSS('skinCss')},100);
|
||||
});
|
||||
},50);
|
||||
});
|
||||
},50);
|
||||
});
|
||||
},50);
|
||||
});
|
||||
resetUtil();
|
||||
|
||||
@ -500,8 +520,13 @@ function loadPalettes(callback = null)
|
||||
.then((json)=>{
|
||||
lJson = Object.entries(json);
|
||||
populatePalettes();
|
||||
retry = false;
|
||||
})
|
||||
.catch((e)=>{
|
||||
if (!retry) {
|
||||
retry = true;
|
||||
setTimeout(loadPalettes, 500); // retry
|
||||
}
|
||||
showToast(e, true);
|
||||
})
|
||||
.finally(()=>{
|
||||
@ -522,9 +547,13 @@ function loadFX(callback = null)
|
||||
.then((json)=>{
|
||||
eJson = Object.entries(json);
|
||||
populateEffects();
|
||||
retry = false;
|
||||
})
|
||||
.catch((e)=>{
|
||||
//setTimeout(loadFX, 250); // retry
|
||||
if (!retry) {
|
||||
retry = true;
|
||||
setTimeout(loadFX, 500); // retry
|
||||
}
|
||||
showToast(e, true);
|
||||
})
|
||||
.finally(()=>{
|
||||
@ -547,10 +576,14 @@ function loadFXData(callback = null)
|
||||
// add default value for Solid
|
||||
fxdata.shift()
|
||||
fxdata.unshift(";!;");
|
||||
retry = false;
|
||||
})
|
||||
.catch((e)=>{
|
||||
fxdata = [];
|
||||
//setTimeout(loadFXData, 250); // retry
|
||||
if (!retry) {
|
||||
retry = true;
|
||||
setTimeout(loadFXData, 500); // retry
|
||||
}
|
||||
showToast(e, true);
|
||||
})
|
||||
.finally(()=>{
|
||||
@ -624,11 +657,12 @@ function parseInfo(i) {
|
||||
if (name === "Dinnerbone") d.documentElement.style.transform = "rotate(180deg)"; // Minecraft easter egg
|
||||
if (i.live) name = "(Live) " + name;
|
||||
if (loc) name = "(L) " + name;
|
||||
d.title = name;
|
||||
ledCount = i.leds.count;
|
||||
//syncTglRecv = i.str;
|
||||
maxSeg = i.leds.maxseg;
|
||||
pmt = i.fs.pmt;
|
||||
d.title = name;
|
||||
simplifiedUI = i.simplifiedui;
|
||||
ledCount = i.leds.count;
|
||||
//syncTglRecv = i.str;
|
||||
maxSeg = i.leds.maxseg;
|
||||
pmt = i.fs.pmt;
|
||||
gId('buttonNodes').style.display = lastinfo.ndc > 0 ? null:"none";
|
||||
// do we have a matrix set-up
|
||||
mw = i.leds.matrix ? i.leds.matrix.w : 0;
|
||||
@ -750,6 +784,7 @@ function populateSegments(s)
|
||||
let rvXck = `<label class="check revchkl">Reverse ${isM?'':'direction'}<input type="checkbox" id="seg${i}rev" onchange="setRev(${i})" ${inst.rev?"checked":""}><span class="checkmark"></span></label>`;
|
||||
let miXck = `<label class="check revchkl">Mirror<input type="checkbox" id="seg${i}mi" onchange="setMi(${i})" ${inst.mi?"checked":""}><span class="checkmark"></span></label>`;
|
||||
let rvYck = "", miYck ="";
|
||||
let smpl = simplifiedUI ? 'hide' : '';
|
||||
if (isMSeg) {
|
||||
rvYck = `<label class="check revchkl">Reverse<input type="checkbox" id="seg${i}rY" onchange="setRevY(${i})" ${inst.rY?"checked":""}><span class="checkmark"></span></label>`;
|
||||
miYck = `<label class="check revchkl">Mirror<input type="checkbox" id="seg${i}mY" onchange="setMiY(${i})" ${inst.mY?"checked":""}><span class="checkmark"></span></label>`;
|
||||
@ -768,23 +803,23 @@ function populateSegments(s)
|
||||
`<option value="1" ${inst.si==1?' selected':''}>WeWillRockYou</option>`+
|
||||
`</select></div>`+
|
||||
`</div>`;
|
||||
cn += `<div class="seg lstI ${i==s.mainseg ? 'selected' : ''} ${exp ? "expanded":""}" id="seg${i}" data-set="${inst.set}">`+
|
||||
`<label class="check schkl">`+
|
||||
cn += `<div class="seg lstI ${i==s.mainseg && !simplifiedUI ? 'selected' : ''} ${exp ? "expanded":""}" id="seg${i}" data-set="${inst.set}">`+
|
||||
`<label class="check schkl ${smpl}">`+
|
||||
`<input type="checkbox" id="seg${i}sel" onchange="selSeg(${i})" ${inst.sel ? "checked":""}>`+
|
||||
`<span class="checkmark"></span>`+
|
||||
`</label>`+
|
||||
`<div class="segname" onclick="selSegEx(${i})">`+
|
||||
`<div class="segname ${smpl}" onclick="selSegEx(${i})">`+
|
||||
`<i class="icons e-icon frz" id="seg${i}frz" onclick="event.preventDefault();tglFreeze(${i});">&#x${inst.frz ? (li.live && li.liveseg==i?'e410':'e0e8') : 'e325'};</i>`+
|
||||
(inst.n ? inst.n : "Segment "+i) +
|
||||
`<div class="pop hide" onclick="event.preventDefault();event.stopPropagation();">`+
|
||||
`<i class="icons g-icon" style="color:${cG};" onclick="this.nextElementSibling.classList.toggle('hide');">ɸ${String.fromCharCode(inst.set+"A".charCodeAt(0))};</i>`+
|
||||
`<div class="pop-c hide"><span style="color:var(--c-f);" onclick="setGrp(${i},0);">➊</span><span style="color:var(--c-r);" onclick="setGrp(${i},1);">➋</span><span style="color:var(--c-g);" onclick="setGrp(${i},2);">➌</span><span style="color:var(--c-l);" onclick="setGrp(${i},3);">➍</span></div>`+
|
||||
`</div> `+
|
||||
`<i class="icons edit-icon flr" id="seg${i}nedit" onclick="tglSegn(${i})"></i>`+
|
||||
`<i class="icons edit-icon flr ${smpl}" id="seg${i}nedit" onclick="tglSegn(${i})"></i>`+
|
||||
`</div>`+
|
||||
`<i class="icons e-icon flr" id="sege${i}" onclick="expand(${i})"></i>`+
|
||||
`<i class="icons e-icon flr ${smpl}" id="sege${i}" onclick="expand(${i})"></i>`+
|
||||
(cfg.comp.segpwr ? segp : '') +
|
||||
`<div class="segin" id="seg${i}in">`+
|
||||
`<div class="segin ${smpl}" id="seg${i}in">`+
|
||||
`<input type="text" class="ptxt" id="seg${i}t" autocomplete="off" maxlength=${li.arch=="esp8266"?32:64} value="${inst.n?inst.n:""}" placeholder="Enter name..."/>`+
|
||||
`<table class="infot segt">`+
|
||||
`<tr>`+
|
||||
@ -834,6 +869,7 @@ function populateSegments(s)
|
||||
}
|
||||
|
||||
gId('segcont').innerHTML = cn;
|
||||
gId("segcont").classList.remove("hide");
|
||||
let noNewSegs = (lowestUnused >= maxSeg);
|
||||
resetUtil(noNewSegs);
|
||||
if (gId('selall')) gId('selall').checked = true;
|
||||
@ -847,6 +883,8 @@ function populateSegments(s)
|
||||
if (segCount < 2) {
|
||||
gId(`segd${lSeg}`).classList.add("hide");
|
||||
if (parseInt(gId("seg0bri").value)==255) gId(`segp0`).classList.add("hide");
|
||||
// hide segment controls if there is only one segment in simplified UI
|
||||
if (simplifiedUI) gId("segcont").classList.add("hide");
|
||||
}
|
||||
if (!isM && !noNewSegs && (cfg.comp.seglen?parseInt(gId(`seg${lSeg}s`).value):0)+parseInt(gId(`seg${lSeg}e`).value)<ledCount) gId(`segr${lSeg}`).classList.remove("hide");
|
||||
gId('segutil2').style.display = (segCount > 1) ? "block":"none"; // rsbtn parent
|
||||
@ -1258,6 +1296,12 @@ function updateSelectedPalette(s)
|
||||
var selectedPalette = parent.querySelector(`.lstI[data-id="${s}"]`);
|
||||
if (selectedPalette) parent.querySelector(`.lstI[data-id="${s}"]`).classList.add('selected');
|
||||
|
||||
// Display selected palette name on button in simplified UI
|
||||
let selectedName = selectedPalette.querySelector(".lstIname").innerText;
|
||||
if (simplifiedUI) {
|
||||
gId("palwbtn").innerText = "Palette: " + selectedName;
|
||||
}
|
||||
|
||||
// in case of special palettes (* Colors...), force show color selectors (if hidden by effect data)
|
||||
let cd = gId('csl').children; // color selectors
|
||||
if (s > 1 && s < 6) {
|
||||
@ -1299,8 +1343,15 @@ function updateSelectedFx()
|
||||
}
|
||||
}
|
||||
});
|
||||
// hide 2D mapping and/or sound simulation options
|
||||
var selectedName = selectedEffect.querySelector(".lstIname").innerText;
|
||||
|
||||
// Display selected effect name on button in simplified UI
|
||||
let selectedNameOnlyAscii = selectedName.replace(/[^\x00-\x7F]/g, "");
|
||||
if (simplifiedUI) {
|
||||
gId("fxbtn").innerText = "Effect: " + selectedNameOnlyAscii;
|
||||
}
|
||||
|
||||
// hide 2D mapping and/or sound simulation options
|
||||
var segs = gId("segcont").querySelectorAll(`div[data-map="map2D"]`);
|
||||
for (const seg of segs) if (selectedName.indexOf("\u25A6")<0) seg.classList.remove('hide'); else seg.classList.add('hide');
|
||||
var segs = gId("segcont").querySelectorAll(`div[data-snd="si"]`);
|
||||
@ -1530,6 +1581,7 @@ function setEffectParameters(idx)
|
||||
|
||||
// set the bottom position of selected effect (sticky) as the top of sliders div
|
||||
function setSelectedEffectPosition() {
|
||||
if (simplifiedUI) return;
|
||||
let top = parseInt(getComputedStyle(gId("sliders")).height);
|
||||
top += 5;
|
||||
let sel = d.querySelector('#fxlist .selected');
|
||||
@ -1596,6 +1648,10 @@ function setEffectParameters(idx)
|
||||
// disable palette list
|
||||
text += ' not used';
|
||||
palw.style.display = "none";
|
||||
// Close palette dialog if not available
|
||||
if (gId("palw").lastElementChild.tagName == "DIALOG") {
|
||||
gId("palw").lastElementChild.close();
|
||||
}
|
||||
}
|
||||
pall.innerHTML = icon + text;
|
||||
// not all color selectors shown, hide palettes created from color selectors
|
||||
@ -1661,6 +1717,7 @@ function requestJson(command=null)
|
||||
parseInfo(i);
|
||||
populatePalettes(i);
|
||||
if (isInfo) populateInfo(i);
|
||||
if (simplifiedUI) simplifyUI();
|
||||
}
|
||||
var s = json.state ? json.state : json;
|
||||
readState(s);
|
||||
@ -1673,8 +1730,13 @@ function requestJson(command=null)
|
||||
});
|
||||
},25);
|
||||
reqsLegal = true;
|
||||
retry = false;
|
||||
})
|
||||
.catch((e)=>{
|
||||
if (!retry) {
|
||||
retry = true;
|
||||
setTimeout(requestJson,500);
|
||||
}
|
||||
showToast(e, true);
|
||||
});
|
||||
}
|
||||
@ -2259,6 +2321,12 @@ function setFX(ind = null)
|
||||
} else {
|
||||
d.querySelector(`#fxlist input[name="fx"][value="${ind}"]`).checked = true;
|
||||
}
|
||||
|
||||
// Close effect dialog in simplified UI
|
||||
if (simplifiedUI) {
|
||||
gId("fx").lastElementChild.close();
|
||||
}
|
||||
|
||||
var obj = {"seg": {"fx": parseInt(ind), "fxdef": cfg.comp.fxdef}}; // fxdef sets effect parameters to default values
|
||||
requestJson(obj);
|
||||
}
|
||||
@ -2271,6 +2339,11 @@ function setPalette(paletteId = null)
|
||||
d.querySelector(`#pallist input[name="palette"][value="${paletteId}"]`).checked = true;
|
||||
}
|
||||
|
||||
// Close palette dialog in simplified UI
|
||||
if (simplifiedUI) {
|
||||
gId("palw").lastElementChild.close();
|
||||
}
|
||||
|
||||
var obj = {"seg": {"pal": paletteId}};
|
||||
requestJson(obj);
|
||||
}
|
||||
@ -2722,8 +2795,10 @@ function search(field, listId = null) {
|
||||
field.nextElementSibling.style.display = (field.value !== '') ? 'block' : 'none';
|
||||
if (!listId) return;
|
||||
|
||||
const search = field.value !== '';
|
||||
|
||||
// clear filter if searching in fxlist
|
||||
if (listId === 'fxlist' && field.value !== '') {
|
||||
if (listId === 'fxlist' && search) {
|
||||
gId("filters").querySelectorAll("input[type=checkbox]").forEach((e) => { e.checked = false; });
|
||||
}
|
||||
|
||||
@ -2757,6 +2832,12 @@ function search(field, listId = null) {
|
||||
sortedListItems.forEach(item => {
|
||||
gId(listId).append(item);
|
||||
});
|
||||
|
||||
// scroll to first search result
|
||||
const firstVisibleItem = sortedListItems.find(item => item.style.display !== 'none' && !item.classList.contains('sticky') && !item.classList.contains('selected'));
|
||||
if (firstVisibleItem && search) {
|
||||
firstVisibleItem.scrollIntoView({ behavior: "instant", block: "center" });
|
||||
}
|
||||
}
|
||||
|
||||
function clean(clearButton) {
|
||||
@ -2903,7 +2984,7 @@ function hasIroClass(classList)
|
||||
//required by rangetouch.js
|
||||
function lock(e)
|
||||
{
|
||||
if (pcMode) return;
|
||||
if (pcMode || simplifiedUI) return;
|
||||
var l = e.target.classList;
|
||||
var pl = e.target.parentElement.classList;
|
||||
|
||||
@ -2917,7 +2998,7 @@ function lock(e)
|
||||
//required by rangetouch.js
|
||||
function move(e)
|
||||
{
|
||||
if(!locked || pcMode) return;
|
||||
if(!locked || pcMode || simplifiedUI) return;
|
||||
var clientX = unify(e).clientX;
|
||||
var dx = clientX - x0;
|
||||
var s = Math.sign(dx);
|
||||
@ -2963,7 +3044,7 @@ function togglePcMode(fromB = false)
|
||||
gId('buttonPcm').className = (pcMode) ? "active":"";
|
||||
gId('bot').style.height = (pcMode && !cfg.comp.pcmbot) ? "0":"auto";
|
||||
sCol('--bh', gId('bot').clientHeight + "px");
|
||||
_C.style.width = (pcMode)?'100%':'400%';
|
||||
_C.style.width = (pcMode || simplifiedUI)?'100%':'400%';
|
||||
}
|
||||
|
||||
function mergeDeep(target, ...sources)
|
||||
@ -3018,6 +3099,98 @@ function tooltip()
|
||||
});
|
||||
};
|
||||
|
||||
// Transforms the default UI into the simple UI
|
||||
function simplifyUI() {
|
||||
// Create dropdown dialog
|
||||
function createDropdown(id, buttonText, dialogElements = null) {
|
||||
// Create dropdown dialog
|
||||
const dialog = document.createElement("dialog");
|
||||
// Move every dialogElement to the dropdown dialog or if none are given, move all children of the element with the given id
|
||||
if (dialogElements) {
|
||||
dialogElements.forEach((e) => {
|
||||
dialog.appendChild(e);
|
||||
});
|
||||
} else {
|
||||
while (gId(id).firstChild) {
|
||||
dialog.appendChild(gId(id).firstChild);
|
||||
}
|
||||
}
|
||||
|
||||
// Create button for the dropdown
|
||||
const btn = document.createElement("button");
|
||||
btn.id = id + "btn";
|
||||
btn.classList.add("btn");
|
||||
btn.innerText = buttonText;
|
||||
function toggleDialog(e) {
|
||||
if (e.target != btn && e.target != dialog) return;
|
||||
if (dialog.open) {
|
||||
dialog.close();
|
||||
return;
|
||||
}
|
||||
// Prevent autofocus on dialog open
|
||||
dialog.inert = true;
|
||||
dialog.showModal();
|
||||
dialog.inert = false;
|
||||
clean(dialog.firstElementChild.children[1]);
|
||||
dialog.scrollTop = 0;
|
||||
};
|
||||
btn.addEventListener("click", toggleDialog);
|
||||
dialog.addEventListener("click", toggleDialog);
|
||||
|
||||
// Add the dialog and button to the element with the given id
|
||||
gId(id).append(btn);
|
||||
gId(id).append(dialog);
|
||||
}
|
||||
|
||||
// Check if the UI was already simplified
|
||||
if (gId("Colors").classList.contains("simplified")) return;
|
||||
|
||||
// Disable PC Mode as it does not exist in simple UI
|
||||
if (pcMode) togglePcMode(true);
|
||||
_C.style.width = '100%'
|
||||
_C.style.setProperty('--n', 1);
|
||||
|
||||
gId("Colors").classList.add("simplified");
|
||||
// Put effects below palett list
|
||||
gId("Colors").append(gId("fx"));
|
||||
gId("Colors").append(gId("sliders"));
|
||||
// Put segments before palette list
|
||||
gId("Colors").insertBefore(gId("segcont"), gId("pall"));
|
||||
// Put preset quick load before palette list and segemts
|
||||
gId("Colors").insertBefore(gId("pql"), gId("pall"));
|
||||
|
||||
// Create dropdown for palette list
|
||||
createDropdown("palw", "Change palette");
|
||||
createDropdown("fx", "Change effect", [gId("fxFind"), gId("fxlist")]);
|
||||
|
||||
// Hide pallete label
|
||||
gId("pall").style.display = "none";
|
||||
gId("Colors").insertBefore(document.createElement("br"), gId("pall"));
|
||||
// Hide effect label
|
||||
gId("modeLabel").style.display = "none";
|
||||
|
||||
// Hide buttons in top bar
|
||||
gId("buttonNl").style.display = "none";
|
||||
gId("buttonSync").style.display = "none";
|
||||
gId("buttonSr").style.display = "none";
|
||||
gId("buttonPcm").style.display = "none";
|
||||
|
||||
// Hide bottom bar
|
||||
gId("bot").style.display = "none";
|
||||
document.documentElement.style.setProperty('--bh', '0px');
|
||||
|
||||
// Hide other tabs
|
||||
gId("Effects").style.display = "none";
|
||||
gId("Segments").style.display = "none";
|
||||
gId("Presets").style.display = "none";
|
||||
|
||||
// Hide filter options
|
||||
gId("filters").style.display = "none";
|
||||
|
||||
// Hide buttons for pixel art and custom palettes (add / delete)
|
||||
gId("btns").style.display = "none";
|
||||
}
|
||||
|
||||
size();
|
||||
_C.style.setProperty('--n', N);
|
||||
|
||||
|
@ -267,10 +267,7 @@
|
||||
<h2>Web Setup</h2>
|
||||
Server description: <input type="text" name="DS" maxlength="32"><br>
|
||||
<!-- Sync button toggles both send and receive: <input type="checkbox" name="ST"><br> -->
|
||||
<div id="NoSimple" class="hide">
|
||||
<i class="warn">This firmware build does not include simplified UI support.<br></i>
|
||||
</div>
|
||||
<div id="Simple">Enable simplified UI: <input type="checkbox" name="SU"><br></div>
|
||||
Enable simplified UI: <input type="checkbox" name="SU"><br>
|
||||
<i>The following UI customization settings are unique both to the WLED device and this browser.<br>
|
||||
You will need to set them again if using a different browser, device or WLED IP address.<br>
|
||||
Refresh the main UI to apply changes.</i><br>
|
||||
|
@ -1,933 +0,0 @@
|
||||
@font-face {
|
||||
font-family: "WIcons";
|
||||
src: url(data:font/woff2;charset=utf-8;base64,d09GMgABAAAAAAnUAAsAAAAAE1AAAAmFAAGZmgAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgXwRCAqcYJZIATYCJANwCzoABCAFgwYHIBs7D8iOwzgm3MXMnzZCktnjcbN+QlJLaJ3ulULplpW6UqWioeS91Jye0jUlJwZr5nTdE3LntdPvAg+ft/fbsLsGlNLuhlmQjKi7NPDEIgwTmP//a6mdl+SHUBhEIdHFxak7s4E/yzhJSjC7BQQLfDwopF/i6aqSElEFDXx8ZVWjy3rym4N6FlZQ4hu+nXsGIDMQF3gAxa14AgArtVMhfkgjfEAbiChwuSIwEUCmudPhiQdT6rvIjLSRZEwDhF9BIsooI53TIRIoIUD8kyNZI7UjAyMrR/aM/DwaOpozah9LGCsY2zN2YOzs2L3xqeNp4zXjq8bXT/hMBLj/53YDAIS+7u668n3H+HRPdZd1u3TzdRZdVMTfIl5HfKgd1b7Svqd9W9uprdP8QTOmeaz5TPORJlDDjHVjG0ANMQYsmRrKlmpyqV7kubIQC2GSIkFS+MneCJ48JJFVChQfuwKMp2yU9pmq1VKUR6ret0Gp0SjVYRRF+Xj7+OiUSk/GIzu1miHZWx+g8Y1RUktPmqIitRTXVNzzCtuFPKcH0zRBG+Y9/CnhBa20v5oHfsEUMgXMPEfO5ZcJx0FIPiVywgjb6MIuV+oZ4v2kk6/znIxDKrguM22y+bW8wUGqi7aL8fQJzwnCj8tIppdI9bYDSVJVCQInipW0HbtclcT7vCyLmXaSVrQSNMybaJJBh2PiXrXbgd6AbqecdDTO9EQEIeW0VPWQcdQ8ltPOEu+76q2IxUToJeWpfjQiHHH5AsADLj1bHgQxXsUoHfKYbg+CxCxC69eHcOvWheJ1l6b0nD7jG+bSA1dCZVxmw8ZJ/IYtxPtbJxlpQ/LGjSq00TmdNIZxrGel+y+rZJro+nUh3PrNIGwK6WrXNMV2xTeRWHSjScktLJfe1rc7spyvk3b6V4k48Sr3Am1Pv/QifhsI2uMvc863OiQQRNoedpPfHnSwcete+aDEE67cKzTgBlQgjpjgTDnJtGnX2qbmXJ6FOBLZ7wsr+JZzYnbjdbkCuEfU0HvlwqbtUgJ7zRXFNJsvSxlwz2WYta4xjri/fsulnnFVPyonpP0RL5oVNKkkfElG4csTDNAsgzC38G7gSKVgSZ7m/cEvKALmxKz//u7h6egHF7MrH4jJp/Zx4q32a8T71xnHVRCGlfFZNttd2FcUaay6e9PkhucyR0oPu1z1z/DB+8wixAFdMU1gnmB4xAw68pwHcWjlFrBnXxLjj63UGgvNGVGAJFzxFw+Womn7MAibVbu6leHRB5sc10fLtbrdr/JqV6Yr+ovwFtRHE7M4zG90qNB6YREoo51kFJabq3NeHVKdef/hsMFFSpt5m8XmJqDDAnR0c418mxmxrQzQuyPnspRwfAYkpthzr7gST1xNSf4WtBMM9DQT19uL+gb47gFLP3cT08F8I4dZxJl41Gsx9WHzLBOHzWjRS9NLCOUBCFQ+uGhB/V7ZzUwKESTmDriJ+UecdD/bFXFMLLsjgiAt4pp7ulpxb2tzE8I8xhyHODBK3SGg6QP12BiP3YMw2rDFtWUDXL+esnv3H9QxqfmbDnbMLjGUFpqqZbnWSg0lhWv9wU35qTHqP9zqUrL7kqKj8YjZzg01pb9+yQ8sXZpYxKGiFJTNsIwwpyR44gEOnV/+ennFdHD/2lQ3uS5y1qzIztXUNPE6odYJ0PqUiWJtgKGKMILY60dxeYynbb+sFKKqNn0Wz2rLtMbBQWPnYtmJa4WqFRob/9mmuycQVv7ifCNvXrlhzgDLDvAGA+8H5xjK948cDet+FaXfS+Lko/Wt+vScqarq6kZTbk4NaKqpObkEEpsac9L1rRNXJgPbrWyDdYje6tBQAztkbYC0wDe4UnNipmnZtInu/ujf6Kf7ve112Huf92Ev/7enB/+nP7pbrPiQJZbi0jCSpoN9UNPTkj7JMwpbWgopAbhtbOWkytAF3K+/qo0SASNW2G2bLfnshpB4a9dmz7/Hx//dc3OXNZ46YRyXUV2dYRsD97qKL79qazu+vSI1vPXT7375bWSGocBofD2eIRzJ0cMC0tenwQ0gfvuSdvd14f1uEooLPE3JJHL6uCd/n5n8d35UOKPn6nhr8kyrV3ad3nz2iTiNL414EnefL/JGLlWZtZWaqoEh4xSjvsGb/6m9raFlsLm4uHkQWlv7T/weZzjHHe7xZiUzpJ5WAWBLDNwRKxwRYnFoXGxcaKxN6DR8BNn2o9Nqmmutvra5TnIjXMBlmIFZ3yPYX3Mt9v5mmHuwYvvxPverL9eSvszXNjUXrkbqcGOVW2bEbDGKi3MLVTWzzWHF54Bu/2rA1qko6l9fFgVbBurfVBWFFlVW1ugxOwcs+8W//FcUZJieLl9WXA8eGL5crB7fhOMyxl8bjQWGjB1bW/ok6Ucqensr7F8H7utsmdqoHmz99rvyeE/Pz7u64mvVXLjyY8v8j5XhZeH3aPX75dpiO5eN/OzwcG7zkflt/sd5e7YcqbOowfRg22R5585at2vXX87W1Y0gQ079497eYT1EkyoEqMYABmHd8QvKGrRG6bJYTDCCZYGEWcm5G1jXM2i54Y9WtiBuklP57YtBZMAWlu2fYzDM7Q+5FmxKS3Oz5jwK6IactbWPowuQgNyHluKlaw9wnbOmtuajo/VSw9FrBSRwMcuUV2ZwFhh6s7hsqriWCsgA2s3nFcri4I7O+asxwxZbtLL03E9bhcR6Yz9mIbF0U96K0xGA7bx9y+l2//73j+H2i0EGd27uAVNI/WhCYuWqIDaYxads0lcVFV+dOlHmBx/qO7c6/uZX0tReUtJQv64y3adAvX6xDezAX/8Wm8Cgh/95O9OxsNCYnsXWQ+7pCz8/NMZ57ZAIGEdTw+ap8V+I3NUVe375wiv+lccqj172X7Yw5gJAUQGYPQ6QyxRfgeC+Qc5WnAMCAHFv6TJtet3pn/83b4YCAIBv35ofpTRyt5PjZEwT8KYAEQK8nFgBcE/yUwn2oqHSBKoEG7KZQLMpjo5uha/PI2yuBWOCTSDZajpqQ68+Za18jgGgYMT8nBhjKcFrKCYF6yKSZRLF5tR5YKhUzzNWM52mBvuPMiL7xPx4UaRgFiJZAVFscZ2HUIhUPcEaH5WWDvvmvdPfl5KaCvO8o1+fFCBb6hvuLz8lMROwfjPN8iar90RCCiRCJr3ugqHf6LqgUYYs5hzvu9tMIOUr/xpvRsNVvdZ/p+mB8n7V2Spo0T+aRhPpNhsNFOqxoE2u0suqTipgx58IJA0AAAA=) format('woff');
|
||||
}
|
||||
|
||||
:root {
|
||||
--c-1: #111;
|
||||
--c-f: #fff;
|
||||
--c-2: #222;
|
||||
--c-3: #333;
|
||||
--c-4: #444;
|
||||
--c-5: #555;
|
||||
--c-6: #666;
|
||||
--c-8: #888;
|
||||
--c-b: #bbb;
|
||||
--c-c: #ccc;
|
||||
--c-e: #eee;
|
||||
--c-d: #ddd;
|
||||
--c-r: #e42;
|
||||
--c-g: #4e2;
|
||||
--c-l: #48a;
|
||||
--t-b: .5;
|
||||
--c-o: rgba(34, 34, 34, .9);
|
||||
--c-tb : rgba(34, 34, 34, var(--t-b));
|
||||
--c-tba: rgba(102, 102, 102, var(--t-b));
|
||||
--c-tbh: rgba(51, 51, 51, var(--t-b));
|
||||
/*following are internal*/
|
||||
--th: 70px;
|
||||
--tp: 70px;
|
||||
--bh: 63px;
|
||||
--tbp: 14px 8px 10px;
|
||||
--bbp: 9px 0 7px 0;
|
||||
--bhd: none;
|
||||
--bmt: 0;
|
||||
}
|
||||
|
||||
html {
|
||||
touch-action: manipulation;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
background-color: var(--c-1);
|
||||
font-family: Helvetica, Verdana, sans-serif;
|
||||
font-size: 17px;
|
||||
color: var(--c-f);
|
||||
text-align: center;
|
||||
-webkit-touch-callout: none;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
scrollbar-width: 6px;
|
||||
scrollbar-color: var(--c-sb) transparent;
|
||||
}
|
||||
|
||||
html,
|
||||
body {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
position: fixed;
|
||||
overscroll-behavior: none;
|
||||
}
|
||||
|
||||
#bg {
|
||||
height: 100vh;
|
||||
width: 100vw;
|
||||
position: fixed;
|
||||
z-index: -10;
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
opacity: 0;
|
||||
transition: opacity 2s;
|
||||
}
|
||||
|
||||
p {
|
||||
margin: 10px 0 2px 0;
|
||||
}
|
||||
a, p, a:visited {
|
||||
color: var(--c-d);
|
||||
}
|
||||
a, a:visited {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
button {
|
||||
outline: 0;
|
||||
cursor: pointer;
|
||||
background-color: transparent;
|
||||
border: 0;
|
||||
transition: color .3s, background-color .3s;
|
||||
font-size: 19px;
|
||||
color: var(--c-c);
|
||||
min-width: 40px;
|
||||
min-height: 40px;
|
||||
}
|
||||
button:hover {
|
||||
background: var(--c-4);
|
||||
}
|
||||
|
||||
.label {
|
||||
margin: 0;
|
||||
padding: 6px 0 0;
|
||||
}
|
||||
|
||||
#namelabel {
|
||||
position: fixed;
|
||||
bottom: calc(var(--bh) + 6px);
|
||||
right: 4px;
|
||||
color: var(--c-6);
|
||||
cursor: pointer;
|
||||
writing-mode: vertical-rl;
|
||||
}
|
||||
|
||||
.wrapper {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: var(--c-tb);
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.center {
|
||||
margin: 0 auto;
|
||||
width: 320px;
|
||||
}
|
||||
|
||||
.icons {
|
||||
font-family: 'WIcons';
|
||||
font-style: normal;
|
||||
font-size: 24px;
|
||||
line-height: 1;
|
||||
display: inline-block;
|
||||
margin: -2px 0 4px 0;
|
||||
text-shadow: -1px -1px 0 var(--c-3), 1px -1px 0 var(--c-3), -1px 1px 0 var(--c-3), 1px 1px 0 var(--c-3);
|
||||
}
|
||||
|
||||
.huge {
|
||||
font-size: 42px;
|
||||
}
|
||||
|
||||
.infot {
|
||||
table-layout: fixed;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.keytd {
|
||||
text-align: left;
|
||||
padding-bottom: 8px;
|
||||
}
|
||||
|
||||
.valtd {
|
||||
text-align: right;
|
||||
padding-bottom: 8px;
|
||||
}
|
||||
|
||||
.valtd i {
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
.slider-icon
|
||||
{
|
||||
transform: translate(4px,3px);
|
||||
color: var(--c-d);
|
||||
}
|
||||
|
||||
.il {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.tab {
|
||||
background-color: transparent;
|
||||
color: var(--c-d);
|
||||
}
|
||||
|
||||
.tab button {
|
||||
background-color: transparent;
|
||||
float: left;
|
||||
border: 0;
|
||||
transition: color .3s, background-color .3s;
|
||||
font-size: 17px;
|
||||
color: var(--c-c);
|
||||
min-width: 44px;
|
||||
}
|
||||
|
||||
.top button {
|
||||
padding: var(--tbp);
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.tab button:hover {
|
||||
background-color: var(--c-tbh);
|
||||
color: var(--c-e);
|
||||
}
|
||||
|
||||
.tab button.active {
|
||||
background-color: var(--c-tba) !important;
|
||||
color: var(--c-f);
|
||||
}
|
||||
|
||||
.active {
|
||||
background-color: var(--c-6) !important;
|
||||
color: var(--c-f);
|
||||
}
|
||||
|
||||
.container {
|
||||
width: 100%;
|
||||
height: calc(100% - var(--tp) - var(--bh));
|
||||
margin-top: var(--tp);
|
||||
overscroll-behavior: none;
|
||||
}
|
||||
|
||||
.tabcontent {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
border: 0;
|
||||
overflow: auto;
|
||||
height: 100%;
|
||||
overscroll-behavior: none;
|
||||
}
|
||||
|
||||
.smooth { transition: transform calc(var(--f, 1)*.5s) ease-out }
|
||||
|
||||
.tab-label {
|
||||
margin: 0 0 -5px 0;
|
||||
padding-bottom: 4px;
|
||||
}
|
||||
|
||||
.overlay {
|
||||
position: fixed;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
top: 0;
|
||||
left: 0;
|
||||
background-color: var(--c-3);
|
||||
font-size: 24px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
z-index: 11;
|
||||
opacity: .95;
|
||||
transition: .7s;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
#toast {
|
||||
opacity: 0;
|
||||
background-color: var(--c-5);
|
||||
max-width: 90%;
|
||||
color: var(--c-f);
|
||||
text-align: center;
|
||||
border-radius: 5px;
|
||||
padding: 16px;
|
||||
position: fixed;
|
||||
z-index: 5;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
bottom: calc(var(--bh) + 22px);
|
||||
font-size: 17px;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
#toast.show {
|
||||
opacity: 1;
|
||||
animation: fadein .5s, fadein .5s 2.5s reverse;
|
||||
}
|
||||
|
||||
#toast.error {
|
||||
opacity: 1;
|
||||
background-color: #b21;
|
||||
animation: fadein .5s;
|
||||
}
|
||||
|
||||
.modal {
|
||||
position: fixed;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
top: calc(var(--th) - 1px);
|
||||
background-color: var(--c-o);
|
||||
transform: translateY(100%);
|
||||
transition: transform .4s;
|
||||
padding: 8px;
|
||||
font-size: 20px;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
#info, #nodes {
|
||||
z-index: 3;
|
||||
}
|
||||
|
||||
#rover {
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
#ndlt {
|
||||
margin: 12px 0;
|
||||
}
|
||||
|
||||
#roverstar {
|
||||
position: fixed;
|
||||
top: calc(var(--th) + 5px);
|
||||
left: 1px;
|
||||
display: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#connind {
|
||||
position: fixed;
|
||||
bottom: calc(var(--bh) + 5px);
|
||||
left: 4px;
|
||||
padding: 5px;
|
||||
border-radius: 5px;
|
||||
background-color: #a90;
|
||||
z-index: -2;
|
||||
}
|
||||
|
||||
#imgw {
|
||||
display: inline-block;
|
||||
margin: 8px;
|
||||
}
|
||||
|
||||
#kv, #kn {
|
||||
/*max-width: 490px;*/
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
#info table, #nodes table {
|
||||
table-layout: fixed;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#info td, #nodes td {
|
||||
padding-bottom: 8px;
|
||||
}
|
||||
|
||||
#info .btn {
|
||||
margin: 5px;
|
||||
}
|
||||
#info table .btn, #nodes table .btn {
|
||||
margin: 0;
|
||||
width: 180px;
|
||||
}
|
||||
#info div, #nodes div {
|
||||
width: 490px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
#kn td {
|
||||
padding-bottom: 12px;
|
||||
}
|
||||
|
||||
#heart {
|
||||
transition: color .9s;
|
||||
font-size: 16px;
|
||||
color: #f00;
|
||||
}
|
||||
|
||||
img {
|
||||
max-width: 100%;
|
||||
max-height: 100%;
|
||||
}
|
||||
|
||||
.wi {
|
||||
image-rendering: pixelated;
|
||||
image-rendering: crisp-edges;
|
||||
width: 210px;
|
||||
}
|
||||
|
||||
@keyframes fadein {
|
||||
from {bottom: 0; opacity: 0;}
|
||||
to {bottom: calc(var(--bh) + 22px); opacity: 1;}
|
||||
}
|
||||
|
||||
.sliderwrap {
|
||||
height: 30px;
|
||||
width: 250px;
|
||||
position: relative;
|
||||
margin: 4px 0;
|
||||
}
|
||||
#Colors .sliderwrap {
|
||||
width: 260px;
|
||||
margin: 10px 0 0;
|
||||
}
|
||||
|
||||
.sliderdisplay {
|
||||
content:'';
|
||||
position: absolute;
|
||||
top: 10px; left: 8px; right: 8px;
|
||||
height: 8px;
|
||||
background: var(--c-4);
|
||||
border-radius: 16px;
|
||||
pointer-events: none;
|
||||
z-index: -1;
|
||||
}
|
||||
#Colors .sliderdisplay {
|
||||
height: 28px;
|
||||
top: 0; bottom: 0;
|
||||
left: 0; right: 0;
|
||||
/*border: 1px solid var(--c-b);*/
|
||||
}
|
||||
#rwrap .sliderdisplay { background: linear-gradient(90deg, #000 0%, #f00); }
|
||||
#gwrap .sliderdisplay { background: linear-gradient(90deg, #000 0%, #0f0); }
|
||||
#bwrap .sliderdisplay { background: linear-gradient(90deg, #000 0%, #00f); }
|
||||
#wwrap .sliderdisplay { background: linear-gradient(90deg, #000 0%, #fff); }
|
||||
#kwrap .sliderdisplay { background: linear-gradient(90deg, #ff8f1f 0%, #fff 50%, #cbdbff); }
|
||||
#wbal .sliderdisplay { background: linear-gradient(90deg, #ff8f1f 0%, #fff 50%, #d4e0ff); }
|
||||
|
||||
.sliderbubble {
|
||||
width: 24px;
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
border-radius: 10px;
|
||||
background: var(--c-3);
|
||||
color: var(--c-f);
|
||||
padding: 4px 4px 2px;
|
||||
font-size: 14px;
|
||||
right: 3px;
|
||||
transition: visibility .25s ease, opacity .25s ease;
|
||||
opacity: 0;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
output.sliderbubbleshow {
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.hidden {
|
||||
display: none;
|
||||
}
|
||||
|
||||
input[type=range] {
|
||||
-webkit-appearance: none;
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
background-color: transparent;
|
||||
cursor: pointer;
|
||||
}
|
||||
#Colors input[type=range] {
|
||||
width: 252px;
|
||||
margin: 0;
|
||||
}
|
||||
input[type=range]::-webkit-slider-runnable-track {
|
||||
width: 100%;
|
||||
height: 30px;
|
||||
cursor: pointer;
|
||||
background: transparent;
|
||||
}
|
||||
input[type=range]::-webkit-slider-thumb {
|
||||
border: 2px solid #000;
|
||||
height: 20px;
|
||||
width: 20px;
|
||||
border-radius: 50%;
|
||||
background: var(--c-f);
|
||||
cursor: pointer;
|
||||
-webkit-appearance: none;
|
||||
margin-top: 4px;
|
||||
}
|
||||
input[type=range]::-moz-range-track {
|
||||
width: 100%;
|
||||
height: 30px;
|
||||
background-color: var(--c-0);
|
||||
}
|
||||
input[type=range]::-moz-range-thumb {
|
||||
border: 2px solid var(--c-3);
|
||||
height: 20px;
|
||||
width: 20px;
|
||||
border-radius: 50%;
|
||||
background: var(--c-f);
|
||||
transform: translateY(5px);
|
||||
}
|
||||
#Colors input[type=range]::-webkit-slider-thumb {
|
||||
border: 2px solid #000;
|
||||
}
|
||||
#Colors input[type=range]::-moz-range-thumb {
|
||||
border: 2px solid var(--c-1);
|
||||
}
|
||||
|
||||
#Presets .list {
|
||||
max-height: 215px;
|
||||
overflow-y: scroll;
|
||||
overflow-x: hidden;
|
||||
width: 280px;
|
||||
margin: 0 0 0 20px;
|
||||
-ms-overflow-style: none;
|
||||
scrollbar-width: none; /* Firefox */
|
||||
}
|
||||
/* Hide scrollbar for Chrome, Safari and Opera */
|
||||
#Presets .list::-webkit-scrollbar {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#Segments .sliderwrap{
|
||||
width: 225px;
|
||||
}
|
||||
|
||||
#picker, #rgbwrap, #kwrap, #vwrap, #wwrap, #wbal {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.hd {
|
||||
display: var(--bhd);
|
||||
}
|
||||
|
||||
#briwrap {
|
||||
float: right;
|
||||
margin-top: var(--bmt);
|
||||
}
|
||||
|
||||
#picker {
|
||||
width: 260px;
|
||||
}
|
||||
|
||||
#picker, #csl, #segcont {
|
||||
margin: 10px auto 0;
|
||||
}
|
||||
|
||||
.btn {
|
||||
margin: 10px auto 0;
|
||||
width: 280px;
|
||||
font-size: 19px;
|
||||
background-color: var(--c-3);
|
||||
color: var(--c-d);
|
||||
cursor: pointer;
|
||||
border: 1px solid var(--c-3);
|
||||
border-radius: 25px;
|
||||
transition-duration: .3s;
|
||||
-webkit-backface-visibility: hidden;
|
||||
-webkit-transform: translate3d(0,0,0);
|
||||
overflow: clip;
|
||||
text-overflow: clip;
|
||||
min-height: 40px;
|
||||
line-height: 40px;
|
||||
}
|
||||
.btn:hover {
|
||||
background-color: var(--c-4);
|
||||
border: 1px solid var(--c-4);
|
||||
}
|
||||
|
||||
.btn-xs {
|
||||
width: 42px;
|
||||
height: 42px;
|
||||
margin: 4px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#fxBtn, #palBtn {
|
||||
background-color: var(--c-2);
|
||||
border: 1px solid var(--c-2);
|
||||
}
|
||||
#fxBtn:hover, #palBtn:hover {
|
||||
background-color: var(--c-3);
|
||||
border: 1px solid var(--c-3);
|
||||
}
|
||||
|
||||
.btn-icon {
|
||||
margin-right: 8px;
|
||||
vertical-align: middle;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.qcs {
|
||||
margin: 2px;
|
||||
border-radius: 14px;
|
||||
display: inline-block;
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
line-height: 28px;}
|
||||
.qcsb {
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
line-height: 26px;
|
||||
border: 1px solid var(--c-f);
|
||||
}
|
||||
option {
|
||||
background-color: var(--c-3);
|
||||
color: var(--c-f);
|
||||
}
|
||||
input[type=number], input[type=text] {
|
||||
background: var(--c-3);
|
||||
color: var(--c-f);
|
||||
border: 0 solid var(--c-f);
|
||||
border-radius: 5px;
|
||||
padding: 8px;
|
||||
margin: 6px 6px 6px 0;
|
||||
font-size: 19px;
|
||||
transition: background-color .2s;
|
||||
outline: 0;
|
||||
width: 50px;
|
||||
-webkit-appearance: textfield;
|
||||
-moz-appearance: textfield;
|
||||
appearance: textfield;
|
||||
}
|
||||
|
||||
::selection {
|
||||
background: var(--c-b);
|
||||
}
|
||||
|
||||
input[type=number]:focus, input[type=text]:focus {
|
||||
background: var(--c-6);
|
||||
}
|
||||
|
||||
input[type=number]::-webkit-inner-spin-button,
|
||||
input[type=number]::-webkit-outer-spin-button {
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
.pid {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
padding: 12px 0 0 12px;
|
||||
font-size: 16px;
|
||||
width: 20px;
|
||||
text-align: center;
|
||||
color: var(--c-b);
|
||||
}
|
||||
|
||||
.xxs {
|
||||
border: 2px solid var(--c-e) !important;
|
||||
width: 44px;
|
||||
height: 44px;
|
||||
margin: 5px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.xxs-w {
|
||||
border-width: 4px !important;
|
||||
margin: 2px;
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.qcs, .xxs {
|
||||
text-shadow: -1px -1px 0 var(--c-6), 1px -1px 0 var(--c-6), -1px 1px 0 var(--c-6), 1px 1px 0 var(--c-6);
|
||||
}
|
||||
|
||||
.psts {
|
||||
color: var(--c-f);
|
||||
margin: 6px;
|
||||
}
|
||||
|
||||
.pwr {
|
||||
color: var(--c-6);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.act {
|
||||
color: var(--c-f);
|
||||
}
|
||||
|
||||
.check, .radio {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
cursor: pointer;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.schkl {
|
||||
width: 24px;
|
||||
top: -2px;
|
||||
}
|
||||
|
||||
.check input, .radio input {
|
||||
position: absolute;
|
||||
opacity: 0;
|
||||
cursor: pointer;
|
||||
height: 0;
|
||||
width: 0;
|
||||
}
|
||||
|
||||
.checkmark, .radiomark {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
background-color: var(--c-3);
|
||||
border: 1px solid var(--c-2);
|
||||
}
|
||||
|
||||
.radiomark {
|
||||
height: 24px;
|
||||
width: 24px;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
.checkmark {
|
||||
height: 25px;
|
||||
width: 25px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.check:hover input ~ .checkmark {
|
||||
background-color: var(--c-4);
|
||||
}
|
||||
|
||||
.check input:checked ~ .checkmark {
|
||||
background-color: var(--c-6);
|
||||
}
|
||||
|
||||
.checkmark:after, .radiomark:after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.check input:checked ~ .checkmark:after, .radio input:checked ~ .radiomark:after {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.check .checkmark:after {
|
||||
left: 9px;
|
||||
top: 5px;
|
||||
width: 5px;
|
||||
height: 10px;
|
||||
border: solid var(--c-f);
|
||||
border-width: 0 3px 3px 0;
|
||||
-webkit-transform: rotate(45deg);
|
||||
-ms-transform: rotate(45deg);
|
||||
transform: rotate(45deg);
|
||||
}
|
||||
|
||||
.radio .radiomark:after {
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
margin: -6px;
|
||||
border-radius: 50%;
|
||||
background: var(--c-f);
|
||||
}
|
||||
|
||||
.h {
|
||||
font-size: 13px;
|
||||
color: var(--c-b);
|
||||
}
|
||||
|
||||
.list {
|
||||
position: relative;
|
||||
width: 280px;
|
||||
transition: background-color .5s;
|
||||
margin: auto auto 20px;
|
||||
font-size: 19px;
|
||||
line-height: 24px;
|
||||
}
|
||||
|
||||
.lstI {
|
||||
cursor: pointer;
|
||||
background-color: var(--c-2);
|
||||
overflow: hidden;
|
||||
border-radius: 20px;
|
||||
display: block;
|
||||
position: relative;
|
||||
border: 1px solid var(--c-2);
|
||||
padding: 8px 10px;
|
||||
margin: 10px 0;
|
||||
min-height: 24px;
|
||||
}
|
||||
|
||||
.selected { /* has to be after .lstI */
|
||||
background: var(--c-5);
|
||||
}
|
||||
|
||||
.lstI:hover {
|
||||
background: var(--c-4);
|
||||
}
|
||||
/*
|
||||
.lstI:last-child {
|
||||
border: 0;
|
||||
border-radius: 0 0 20px 20px;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
*/
|
||||
.lstIcontent {
|
||||
width: 100%;
|
||||
vertical-align: middle;
|
||||
padding: 0 20px 0 5px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.lstIname {
|
||||
white-space: nowrap;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.lstIprev {
|
||||
width: 100%;
|
||||
height: 8px;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
/* Dropdown Content (Hidden by Default) */
|
||||
.dd-content {
|
||||
display: none;
|
||||
position: absolute;
|
||||
width: 284px;
|
||||
z-index: 1;
|
||||
height: 260px;
|
||||
overflow-y: scroll;
|
||||
overflow-x: hidden;
|
||||
padding: 0 18px;
|
||||
margin-top: 10px;
|
||||
-ms-overflow-style: none;
|
||||
scrollbar-width: none; /* Firefox */
|
||||
}
|
||||
/* Hide scrollbar for Chrome, Safari and Opera */
|
||||
.dd-content::-webkit-scrollbar {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.fnd {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 1;
|
||||
width: 280px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.search-icon {
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
left: 13px;
|
||||
pointer-events: none;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin-top: -1px;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.clear-icon {
|
||||
position: absolute;
|
||||
display: none;
|
||||
top: 10px;
|
||||
right: 13px;
|
||||
cursor: pointer;
|
||||
margin-top: -1px;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
input[type=text].fnd {
|
||||
display: block;
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
padding: 8px 48px 8px 48px;
|
||||
margin: 5px auto 0;
|
||||
text-align: left;
|
||||
border-radius: 25px;
|
||||
background-color: var(--c-2);
|
||||
border: 1px solid var(--c-4);
|
||||
}
|
||||
|
||||
input[type=text].fnd:focus {
|
||||
background-color: var(--c-4);
|
||||
}
|
||||
|
||||
input[type=text].fnd:not(:placeholder-shown), input[type=text].fnd:hover {
|
||||
background-color: var(--c-3);
|
||||
}
|
||||
|
||||
.h, .c {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
}
|
||||
::-webkit-scrollbar-thumb {
|
||||
background: var(--c-sb);
|
||||
opacity: .2;
|
||||
border-radius: 5px;
|
||||
}
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
background: var(--c-sbh);
|
||||
}
|
||||
|
||||
@media not all and (hover: none) {
|
||||
.sliderwrap:hover + output.sliderbubble {
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
@media all and (max-width: 335px) {
|
||||
.sliderbubble {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media all and (max-width: 550px) and (min-width: 374px) {
|
||||
#info .btn, #nodes .btn {
|
||||
width: 150px;
|
||||
}
|
||||
#info div, #nodes div {
|
||||
width: 320px;
|
||||
}
|
||||
}
|
||||
|
||||
@media all and (max-width: 540px) {
|
||||
.top button {
|
||||
width: 16.6%;
|
||||
padding: 8px 0 4px 0;
|
||||
}
|
||||
}
|
||||
|
||||
@media all and (min-width: 541px) and (max-width: 719px) {
|
||||
.top button {
|
||||
width: 14.2%;
|
||||
padding: 8px 0 4px 0;
|
||||
}
|
||||
}
|
||||
|
||||
@media all and (max-width: 719px) {
|
||||
.hd {
|
||||
display: none !important;
|
||||
}
|
||||
#briwrap {
|
||||
margin-top: 0 !important;
|
||||
float: none;
|
||||
}
|
||||
}
|
@ -1,263 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1">
|
||||
<meta charset="utf-8">
|
||||
<meta name="theme-color" content="#222222">
|
||||
<meta content="yes" name="apple-mobile-web-app-capable">
|
||||
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAGACGAAAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAQAAAAEAgGAAAAH/P/YQAAAE1JREFUOI1j/P//PwOxgNGeAUMxE9G6cQCKDWAhpADZ2f8PMjBS3QW08QK20KaZC2gfC9hCnqouoNgARgY7zMxAyNlUdQHlXiAlO2MDAD63EVqNHAe0AAAAAElFTkSuQmCC"/>
|
||||
<title>WLED</title>
|
||||
<script>
|
||||
function feedback(){}
|
||||
// instead of including [script src="iro.js"][/script] and [script src="rangetouch.js"][/script]
|
||||
// (which would be inlined by nodeJS inliner during minimization and compression) we need to load them dynamically
|
||||
// the following is needed to load iro.js and rangetouch.js as consecutive requests to allow ESP8266
|
||||
// to keep up with requests (if requests happent too fast some may not get processed)
|
||||
// it will also call onLoad() after last is loaded (it was removed from [body onload="onLoad()"]).
|
||||
var h = document.getElementsByTagName('head')[0];
|
||||
var l = document.createElement('script');
|
||||
l.type = 'application/javascript';
|
||||
l.src = 'iro.js';
|
||||
l.addEventListener('load', (e) => {
|
||||
// after iro is loaded initialize global variable
|
||||
cpick = new iro.ColorPicker("#picker", {
|
||||
width: 260,
|
||||
wheelLightness: false,
|
||||
wheelAngle: 270,
|
||||
wheelDirection: "clockwise",
|
||||
layout: [{
|
||||
component: iro.ui.Wheel,
|
||||
options: {}
|
||||
}]
|
||||
});
|
||||
cpick.on("input:end", () => {setColor(1);});
|
||||
cpick.on("color:change", () => {updatePSliders()});
|
||||
var l = document.createElement('script');
|
||||
l.type = 'application/javascript';
|
||||
l.src = 'rangetouch.js';
|
||||
l.addEventListener('load', (e) => {
|
||||
// after rangetouch is loaded initialize global variable
|
||||
ranges = RangeTouch.setup('input[type="range"]', {});
|
||||
let stateCheck = setInterval(() => {
|
||||
if (document.readyState === 'complete') {
|
||||
clearInterval(stateCheck);
|
||||
// document ready, start processing UI
|
||||
onLoad();
|
||||
}
|
||||
}, 100);
|
||||
});
|
||||
setTimeout(function(){h.appendChild(l)},50);
|
||||
});
|
||||
setTimeout(function(){h.appendChild(l)},50);
|
||||
</script>
|
||||
<link rel="stylesheet" href="simple.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div id="cv" class="overlay">Loading WLED UI...</div>
|
||||
<noscript><div class="overlay" style="opacity:1;">Sorry, WLED UI needs JavaScript!</div></noscript>
|
||||
<div id="bg"></div>
|
||||
|
||||
<div class="wrapper" id="top">
|
||||
<div class="tab top">
|
||||
<div class="btnwrap">
|
||||
<button id="buttonPower" onclick="togglePower()"><i class="icons"></i><p class="tab-label">Power</p></button>
|
||||
<button id="buttonI" onclick="toggleInfo()"><i class="icons"></i><p class="tab-label">Info</p></button>
|
||||
<button id="buttonNodes" onclick="toggleNodes()"><i class="icons"></i><p class="tab-label">Nodes</p></button></div>
|
||||
<button onclick="window.location.href='/settings';"><i class="icons"></i><p class="tab-label">Config</p></button>
|
||||
<button id="buttonCP" onclick="tglCP()"><i class="icons"></i><p class="tab-label">Expand</p></button>
|
||||
<!--button id="buttonBri" onclick="tglBri()"><i class="icons"></i><p class="tab-label">Brightness</p></button-->
|
||||
</div>
|
||||
<div id="briwrap">
|
||||
<p class="label hd">Global brightness</p>
|
||||
<div class="il">
|
||||
<i class="icons slider-icon" onclick="tglTheme()"></i>
|
||||
<div class="sliderwrap il">
|
||||
<input id="sliderBri" onchange="setBri()" oninput="updateTrail(this)" max="255" min="1" type="range" value="128" />
|
||||
<div class="sliderdisplay"></div>
|
||||
</div>
|
||||
<output class="sliderbubble"></output>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class ="container">
|
||||
<div class="tabcontent">
|
||||
<div id="QuickLoad" class="center">
|
||||
<p class="label h">Quick Load</p>
|
||||
<div id="pql"></div>
|
||||
</div>
|
||||
|
||||
<div id="QCS" class="center">
|
||||
<p class="label h">Solid color</p>
|
||||
<div id="qcs-w" class="center">
|
||||
<div class="qcs" onclick="pC('#ff0000');" title="Red" style="background-color:#ff0000;"></div>
|
||||
<div class="qcs" onclick="pC('#ffa000');" title="Orange" style="background-color:#ffa000;"></div>
|
||||
<div class="qcs" onclick="pC('#ffc800');" title="Yellow" style="background-color:#ffc800;"></div>
|
||||
<div class="qcs" onclick="pC('#ffe0a0');" title="Warm White" style="background-color:#ffe0a0;"></div>
|
||||
<div class="qcs" onclick="pC('#ffffff');" title="White" style="background-color:#ffffff;"></div>
|
||||
<div class="qcs qcsb" onclick="pC('#000000');" title="Black" style="background-color:#000000;"></div><br>
|
||||
<div class="qcs" onclick="pC('#ff00ff');" title="Pink" style="background-color:#ff00ff;"></div>
|
||||
<div class="qcs" onclick="pC('#0000ff');" title="Blue" style="background-color:#0000ff;"></div>
|
||||
<div class="qcs" onclick="pC('#00ffc8');" title="Cyan" style="background-color:#00ffc8;"></div>
|
||||
<div class="qcs" onclick="pC('#08ff00');" title="Green" style="background-color:#08ff00;"></div>
|
||||
<div class="qcs" onclick="pC('rnd');" title="Random" style="background:linear-gradient(to right, red, orange, yellow, green, blue, purple);transform: translateY(-11px);">R</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="picker" class="center"></div>
|
||||
|
||||
<div id="Colors" class="center">
|
||||
<div id="vwrap">
|
||||
<!--p class="label h">Value</p-->
|
||||
<div class="sliderwrap il">
|
||||
<input id="sliderV" class="noslide" oninput="fromV()" onchange="setColor(0)" max="100" min="0" type="range" value="100" step="any" />
|
||||
<div class="sliderdisplay"></div>
|
||||
</div><br>
|
||||
</div>
|
||||
<div id="kwrap">
|
||||
<!--p class="label h">Temperature</p-->
|
||||
<div class="sliderwrap il">
|
||||
<input id="sliderK" class="noslide" oninput="fromK()" onchange="setColor(0)" max="10091" min="1900" type="range" value="6550" />
|
||||
<div class="sliderdisplay"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="rgbwrap" class="center">
|
||||
<p class="label h">RGB channels</p>
|
||||
<div id="rwrap" class="il">
|
||||
<div class="sliderwrap il">
|
||||
<input id="sliderR" class="noslide" onchange="fromRgb()" max="255" min="0" type="range" value="128" />
|
||||
<div class="sliderdisplay"></div>
|
||||
</div>
|
||||
</div><br>
|
||||
<div id="gwrap" class="il">
|
||||
<div class="sliderwrap il">
|
||||
<input id="sliderG" class="noslide" onchange="fromRgb()" max="255" min="0" type="range" value="128" />
|
||||
<div class="sliderdisplay"></div>
|
||||
</div>
|
||||
</div><br>
|
||||
<div id="bwrap" class="il">
|
||||
<div class="sliderwrap il">
|
||||
<input id="sliderB" class="noslide" onchange="fromRgb()" max="255" min="0" type="range" value="128" />
|
||||
<div class="sliderdisplay"></div>
|
||||
</div>
|
||||
</div><br>
|
||||
</div>
|
||||
<div id="wwrap" class="center">
|
||||
<p class="label h">White channel</p>
|
||||
<div class="sliderwrap il">
|
||||
<input id="sliderW" class="noslide" onchange="setColor(0)" max="255" min="0" type="range" value="128" />
|
||||
<div class="sliderdisplay"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="wbal">
|
||||
<p class="label h">White balance</p>
|
||||
<div class="sliderwrap il">
|
||||
<input id="sliderA" class="noslide" onchange="setBalance(this.value)" max="255" min="0" type="range" value="128" />
|
||||
<div class="sliderdisplay"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="Slots" class="center">
|
||||
<p class="label h">Color slots</p>
|
||||
<div id="csl" class="center" style="display: none;">
|
||||
<button class="xxs btn" onclick="selectSlot(0);">1</button>
|
||||
<button class="xxs btn" onclick="selectSlot(1);">2</button>
|
||||
<button class="xxs btn" onclick="selectSlot(2);">3</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="Segments" class="center">
|
||||
<div id="segcont"></div>
|
||||
</div>
|
||||
|
||||
<div id="Presets" class="center">
|
||||
<p class="label h">Presets</p>
|
||||
<div class="fnd">
|
||||
<input type="text" class="fnd" placeholder="Search" oninput="search(this,'pcont')" onfocus="search(this)" />
|
||||
<i class="icons clear-icon" onclick="clean(this);"></i>
|
||||
<i class="icons search-icon"></i>
|
||||
</div>
|
||||
<div id="pcont" class="list"></div>
|
||||
</div>
|
||||
|
||||
<div id="Effects" class="center">
|
||||
<p class="label h">Effect</p>
|
||||
<div title="Effect speed">
|
||||
<i class="icons slider-icon"></i>
|
||||
<div class="sliderwrap il">
|
||||
<input id="sliderSpeed" onchange="setSpeed()" oninput="updateTrail(this)" max="255" min="0" type="range" value="128" />
|
||||
<div class="sliderdisplay"></div>
|
||||
</div>
|
||||
<output class="sliderbubble"></output>
|
||||
</div>
|
||||
<div title="Effect intensity">
|
||||
<i class="icons slider-icon" onclick="tglLabels()"></i>
|
||||
<div class="sliderwrap il">
|
||||
<input id="sliderIntensity" onchange="setIntensity()" oninput="updateTrail(this)" max="255" min="0" type="range" value="128" />
|
||||
<div class="sliderdisplay"></div>
|
||||
</div>
|
||||
<output class="sliderbubble"></output>
|
||||
</div>
|
||||
<div style="padding-bottom:20px;">
|
||||
<div onclick="tglFxDropdown()" class="c btn" id="fxBtn"><i class="icons"></i> Solid</div>
|
||||
<div onclick="tglPalDropdown()" class="c btn" id="palBtn"><i class="icons"></i>Default</div>
|
||||
<div id="fxDropdown" class="dd-content">
|
||||
<div class="fnd">
|
||||
<input type="text" class="fnd" placeholder="Search" oninput="search(this,'fxlist')" onfocus="search(this)" />
|
||||
<i class="icons clear-icon" onclick="clean(this);"></i>
|
||||
<i class="icons search-icon"></i>
|
||||
</div>
|
||||
<div id="fxlist" class="list">
|
||||
<div class="lstI" data-id="0" onClick="setEffect(0)"><a href="#0" onClick="setEffect(0)">Solid</a></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="palDropdown" class="dd-content">
|
||||
<div class="fnd">
|
||||
<input type="text" class="fnd" placeholder="Search" oninput="search(this,'pallist')" onfocus="search(this)" />
|
||||
<i class="icons clear-icon" onclick="clean(this);"></i>
|
||||
<i class="icons search-icon"></i>
|
||||
</div>
|
||||
<div id="pallist" class="list">
|
||||
<div class="lstI" data-id="0" onClick="setPalette(0)"><a href="#0" onClick="setPalette(0)">Default</a><div class="lstIprev"></div></div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="connind"></div>
|
||||
<div id="toast"></div>
|
||||
<div id="namelabel" onclick="toggleNodes()"></div>
|
||||
|
||||
<div id="info" class="modal">
|
||||
<div id="imgw">
|
||||
<img class="wi" alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAFCAYAAAC5Fuf5AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABbSURBVChTlY9bDoAwDMNW7n9nwCipytQN4Z8tbrTHmDmF4oPzyldwRqp1SSdnV/NuZuzqerAByxXznBw3igkeFEfXyUuhK/yFM0CxJfyqXZEOc6/Sr9/bf7uIC5Nwd7orMvAPAAAAAElFTkSuQmCC" />
|
||||
</div><br>
|
||||
<div id="kv">Loading...</div><br>
|
||||
<div>
|
||||
<button class="btn" onclick="requestJson()">Refresh</button>
|
||||
<button class="btn" onclick="toggleInfo()">Close Info</button>
|
||||
<button class="btn" onclick="toggleNodes()">Instance List</button>
|
||||
<button class="btn" id="resetbtn" onclick="cnfReset()">Reboot WLED</button>
|
||||
</div>
|
||||
<span class="h">Made with <span id="heart">❤︎</span> by Aircoookie and the <a href="https://wled.discourse.group/" target="_blank">WLED community</a></span>
|
||||
</div>
|
||||
|
||||
<div id="nodes" class="modal">
|
||||
<div id="ndlt">WLED instances</div>
|
||||
<div id="kn">Loading...</div><br>
|
||||
<div>
|
||||
<button class="btn" onclick="loadNodes()">Refresh</button>
|
||||
<button class="btn" onclick="toggleNodes()">Close list</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<i id="roverstar" class="icons huge" onclick="setLor(0)"></i><br>
|
||||
<script src="simple.js"></script>
|
||||
</body>
|
||||
</html>
|
File diff suppressed because it is too large
Load Diff
@ -399,10 +399,10 @@ bool isIp(String str);
|
||||
void createEditHandler(bool enable);
|
||||
bool captivePortal(AsyncWebServerRequest *request);
|
||||
void initServer();
|
||||
void serveIndexOrWelcome(AsyncWebServerRequest *request);
|
||||
void serveIndex(AsyncWebServerRequest* request);
|
||||
String msgProcessor(const String& var);
|
||||
void serveMessage(AsyncWebServerRequest* request, uint16_t code, const String& headl, const String& subl="", byte optionT=255);
|
||||
void serveJsonError(AsyncWebServerRequest* request, uint16_t code, uint16_t error);
|
||||
String dmxProcessor(const String& var);
|
||||
void serveSettings(AsyncWebServerRequest* request, bool post = false);
|
||||
void serveSettingsJS(AsyncWebServerRequest* request);
|
||||
|
@ -391,755 +391,3 @@ const uint8_t favicon[] PROGMEM = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82
|
||||
};
|
||||
|
||||
|
||||
// Autogenerated from wled00/data/iro.js, do not edit!!
|
||||
const uint16_t iroJs_length = 9986;
|
||||
const uint8_t iroJs[] PROGMEM = {
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0xc5, 0x7d, 0x69, 0x77, 0xe3, 0x36,
|
||||
0x96, 0xf6, 0xf7, 0xf9, 0x15, 0x32, 0x93, 0xf8, 0x90, 0x16, 0x44, 0x4b, 0xf2, 0x52, 0x65, 0xaa,
|
||||
0xf8, 0xea, 0x24, 0x95, 0xad, 0xba, 0x53, 0xa9, 0x4c, 0xaa, 0x3a, 0x99, 0x8e, 0xa2, 0xe4, 0x50,
|
||||
0x14, 0x24, 0xb1, 0x4c, 0x93, 0x0a, 0x17, 0xd9, 0x8e, 0xa5, 0xff, 0x3e, 0xcf, 0xc5, 0x42, 0x82,
|
||||
0x5a, 0x6c, 0xa7, 0x67, 0x7a, 0xde, 0x93, 0x94, 0x08, 0x62, 0xb9, 0x00, 0x2e, 0xee, 0x0e, 0x80,
|
||||
0x3e, 0x3d, 0x39, 0xfa, 0x8f, 0xd6, 0x49, 0x2b, 0xca, 0x52, 0xf7, 0x63, 0xde, 0x5a, 0x5d, 0xb8,
|
||||
0x17, 0x6e, 0x9f, 0x32, 0xfa, 0xdd, 0xde, 0x65, 0xa7, 0xdf, 0xed, 0xf7, 0x5a, 0x7f, 0x0b, 0x6e,
|
||||
0x78, 0xde, 0xfa, 0x32, 0x48, 0x22, 0x1e, 0x53, 0xc9, 0x77, 0x51, 0xc8, 0x93, 0x9c, 0x4f, 0x5b,
|
||||
0x65, 0x32, 0xe5, 0x59, 0xeb, 0xed, 0x0f, 0xdf, 0xb5, 0xfa, 0x6e, 0x97, 0x4a, 0xe6, 0x51, 0xb1,
|
||||
0x28, 0x27, 0x6e, 0x98, 0xde, 0x9c, 0x7e, 0x0c, 0xa8, 0xd5, 0xa9, 0x04, 0x8b, 0xb2, 0xd3, 0xff,
|
||||
0x38, 0x9a, 0x95, 0x49, 0x58, 0x44, 0x69, 0x62, 0x17, 0x2c, 0x71, 0x1e, 0xac, 0x74, 0xf2, 0x91,
|
||||
0x87, 0x85, 0xe5, 0xfb, 0xc5, 0xfd, 0x92, 0xa7, 0xb3, 0x16, 0xbf, 0x5b, 0xa6, 0x59, 0x91, 0x1f,
|
||||
0x1f, 0x5b, 0x04, 0x77, 0x16, 0x25, 0x7c, 0x6a, 0x1d, 0xe9, 0xc2, 0x9b, 0x74, 0x5a, 0xc6, 0x7c,
|
||||
0x28, 0x1f, 0xae, 0xaa, 0xea, 0x27, 0xb6, 0xe3, 0x59, 0x1a, 0x6c, 0x0d, 0x49, 0xb6, 0x3e, 0x3e,
|
||||
0x96, 0x4f, 0x37, 0xb8, 0x99, 0x0e, 0x65, 0xd2, 0x4e, 0x1c, 0xcf, 0x2e, 0xfc, 0x62, 0xbd, 0xce,
|
||||
0x79, 0x3c, 0x73, 0x5c, 0x8c, 0x8e, 0x60, 0x6c, 0xec, 0x62, 0x11, 0xe5, 0xac, 0x1a, 0x1f, 0x06,
|
||||
0x57, 0xe6, 0xbc, 0x95, 0x17, 0x59, 0x84, 0x01, 0x0e, 0x56, 0x41, 0xd6, 0xba, 0x61, 0x39, 0x4b,
|
||||
0x58, 0xc4, 0x52, 0x76, 0xe7, 0x3f, 0x6c, 0xd8, 0x47, 0x7f, 0x34, 0x66, 0x99, 0x7f, 0x1a, 0x84,
|
||||
0x51, 0xb1, 0xe6, 0x77, 0xf6, 0xd0, 0xcb, 0xd7, 0xf3, 0x75, 0xb2, 0x5e, 0xae, 0x3f, 0x75, 0xd6,
|
||||
0xd9, 0x72, 0xb1, 0x9e, 0x67, 0xd1, 0x74, 0x9d, 0xde, 0xe6, 0xeb, 0x9b, 0x24, 0x5c, 0x27, 0xc5,
|
||||
0xed, 0x1a, 0xbd, 0x8f, 0xc2, 0xc5, 0x78, 0xfd, 0x67, 0x9a, 0xae, 0x7f, 0x4b, 0xb3, 0xe9, 0xfa,
|
||||
0xb7, 0x4e, 0xe7, 0x34, 0x1a, 0xe8, 0x3e, 0x5b, 0x6f, 0x25, 0x56, 0x66, 0x69, 0x66, 0x53, 0x7f,
|
||||
0x51, 0x2b, 0x4a, 0x5a, 0x89, 0x53, 0x8c, 0xa2, 0xb1, 0x9f, 0xe0, 0x67, 0x90, 0xf1, 0xa2, 0xcc,
|
||||
0x92, 0x56, 0xb1, 0xa9, 0x5a, 0xdc, 0xdb, 0x85, 0xf3, 0x40, 0x75, 0x13, 0xbf, 0x70, 0x97, 0x41,
|
||||
0xc6, 0x93, 0xe2, 0xfb, 0x74, 0xca, 0x07, 0xc9, 0xf1, 0x71, 0xe2, 0x66, 0xfc, 0x26, 0x5d, 0xf1,
|
||||
0xd7, 0x8b, 0x28, 0x9e, 0xa2, 0x5a, 0xdd, 0x68, 0x41, 0xdd, 0xb0, 0x48, 0x36, 0xcc, 0x18, 0x67,
|
||||
0x25, 0xa6, 0x14, 0xfb, 0x41, 0x36, 0x2f, 0x6f, 0x00, 0x20, 0x1f, 0x44, 0x33, 0x3b, 0xf1, 0xdf,
|
||||
0xda, 0x98, 0x63, 0xe2, 0xb0, 0xb3, 0x57, 0x55, 0x81, 0x1b, 0xf3, 0x64, 0x5e, 0x2c, 0x1c, 0x1a,
|
||||
0x60, 0xe4, 0x63, 0x44, 0x98, 0xfe, 0xd9, 0x20, 0xdb, 0xa9, 0x30, 0xc8, 0xda, 0x6d, 0x27, 0x72,
|
||||
0x97, 0x65, 0xbe, 0xb0, 0xe3, 0x51, 0x36, 0x76, 0x04, 0xc4, 0x32, 0x8e, 0x8f, 0xfc, 0xe8, 0xf8,
|
||||
0xd8, 0x4e, 0xdc, 0x90, 0xc6, 0x84, 0xc1, 0xfa, 0x91, 0xc3, 0x64, 0x7e, 0x81, 0x01, 0xcb, 0x84,
|
||||
0x8b, 0x65, 0x0a, 0xca, 0xb8, 0xf8, 0x21, 0x4b, 0x97, 0xb9, 0xe8, 0x8a, 0x13, 0x1e, 0xb6, 0xf2,
|
||||
0x57, 0x69, 0x34, 0x6d, 0x75, 0x7d, 0x1f, 0x88, 0xe1, 0x63, 0x82, 0x89, 0xc7, 0x56, 0x5b, 0xe4,
|
||||
0x38, 0x1a, 0x65, 0x58, 0x62, 0xf7, 0x9a, 0xdf, 0xab, 0xce, 0xec, 0xd2, 0x27, 0xec, 0xcc, 0x1c,
|
||||
0x22, 0x8f, 0x98, 0x17, 0xbc, 0x25, 0x5e, 0x55, 0x69, 0x6a, 0xe4, 0x52, 0x9b, 0x50, 0xa0, 0x2b,
|
||||
0x65, 0xa5, 0x81, 0x42, 0x99, 0x17, 0xb1, 0x4c, 0x22, 0x91, 0xfb, 0x0f, 0x44, 0x76, 0x5e, 0xc1,
|
||||
0x96, 0xd4, 0xb3, 0x97, 0x30, 0x34, 0xf4, 0x50, 0xcc, 0x67, 0x5e, 0xc6, 0x12, 0x8f, 0x00, 0xb3,
|
||||
0x48, 0x3e, 0xb8, 0xd7, 0x65, 0xa9, 0x4c, 0xc6, 0xf2, 0x11, 0xaa, 0x47, 0x9a, 0x80, 0xda, 0xca,
|
||||
0xb0, 0x48, 0x33, 0x4f, 0x4e, 0x6f, 0xa3, 0x87, 0x7f, 0xe3, 0xae, 0x12, 0x2c, 0xeb, 0xf1, 0xb1,
|
||||
0x4a, 0xd8, 0xdc, 0x61, 0xbc, 0x1e, 0xcd, 0x3b, 0xa2, 0x02, 0x4d, 0x1c, 0x15, 0x72, 0xeb, 0xf2,
|
||||
0x37, 0x92, 0xae, 0x88, 0xc0, 0x5d, 0x31, 0x40, 0xbf, 0x60, 0xe2, 0x05, 0x5d, 0x16, 0xfc, 0xae,
|
||||
0xf0, 0x8d, 0xba, 0xb7, 0xb2, 0xae, 0x5a, 0x30, 0xe0, 0xd7, 0xa9, 0x00, 0x47, 0x43, 0x14, 0xba,
|
||||
0x11, 0xc3, 0x3f, 0x37, 0x71, 0x23, 0x30, 0xe8, 0xdd, 0xbb, 0x19, 0xba, 0x6e, 0xf7, 0x1c, 0x31,
|
||||
0x83, 0x41, 0x45, 0xb8, 0x83, 0xe4, 0x55, 0x81, 0x2a, 0x8a, 0x1a, 0x12, 0xa2, 0x06, 0x4d, 0x00,
|
||||
0x20, 0x1c, 0x14, 0x8d, 0x92, 0xb1, 0xa3, 0x57, 0x3c, 0x72, 0x53, 0xdd, 0x07, 0x92, 0x6a, 0xca,
|
||||
0x7b, 0x38, 0xba, 0x70, 0x29, 0x41, 0x63, 0x90, 0xdd, 0xd5, 0x63, 0x0e, 0x2a, 0x2e, 0x60, 0x51,
|
||||
0x4d, 0x6a, 0xc4, 0xe4, 0x6e, 0xe4, 0xd4, 0x84, 0x15, 0x4a, 0xd6, 0x2a, 0xdc, 0x94, 0x5e, 0xdc,
|
||||
0x49, 0x90, 0x73, 0x5f, 0x60, 0x3e, 0xf1, 0xbb, 0x7f, 0x79, 0xc4, 0x0f, 0x0d, 0x30, 0x34, 0xf0,
|
||||
0x49, 0xc6, 0x83, 0xeb, 0x8d, 0x9a, 0x09, 0x0d, 0x69, 0x53, 0x8f, 0x90, 0xd3, 0x08, 0xed, 0xa3,
|
||||
0xc2, 0x9d, 0x81, 0x56, 0xf1, 0xeb, 0x1f, 0x75, 0x01, 0xad, 0x07, 0xfa, 0xcd, 0x25, 0x9b, 0x14,
|
||||
0xce, 0x7a, 0x1d, 0x1d, 0xf9, 0xfe, 0x0d, 0x48, 0x78, 0x92, 0xa2, 0x19, 0xff, 0x91, 0x93, 0x64,
|
||||
0x8d, 0x92, 0x39, 0x2a, 0x62, 0x08, 0x7b, 0x0a, 0x98, 0xbd, 0x27, 0x73, 0xbd, 0x4e, 0x1c, 0xbb,
|
||||
0x74, 0x0c, 0x5a, 0x2d, 0x6d, 0x89, 0x1c, 0x45, 0xb1, 0x9a, 0xdf, 0xc5, 0x6a, 0xe5, 0x6e, 0x0e,
|
||||
0x21, 0x6a, 0x37, 0xa5, 0xb2, 0x9a, 0x42, 0xe2, 0x4e, 0x5d, 0xde, 0x29, 0xe8, 0x77, 0xe3, 0x0c,
|
||||
0x0a, 0x1a, 0x69, 0xba, 0xb4, 0x9d, 0x81, 0x23, 0x67, 0x91, 0xf9, 0x91, 0x2f, 0xc9, 0x94, 0x95,
|
||||
0xbe, 0xcd, 0x7d, 0x88, 0x8c, 0xc2, 0x71, 0xa7, 0x8e, 0x9b, 0x32, 0xe2, 0xb6, 0x25, 0x24, 0x4a,
|
||||
0xe2, 0x96, 0x0c, 0xff, 0xfc, 0xa3, 0x1e, 0x4b, 0xc5, 0x24, 0x84, 0xc0, 0xbc, 0xb6, 0x53, 0x8c,
|
||||
0x41, 0x88, 0x17, 0x90, 0x71, 0xe2, 0xde, 0x32, 0x09, 0x06, 0xb3, 0x4f, 0xdd, 0xf4, 0x36, 0xe1,
|
||||
0xd9, 0xfb, 0x9f, 0xbe, 0xf9, 0x2a, 0xe6, 0x24, 0x51, 0x98, 0xe4, 0x1c, 0x16, 0x33, 0x49, 0x8d,
|
||||
0x25, 0x96, 0x9f, 0x3b, 0x5e, 0xe9, 0xb0, 0xa9, 0x1d, 0x51, 0xf3, 0xec, 0xc8, 0x2f, 0x8f, 0x8f,
|
||||
0x03, 0x64, 0x9a, 0x53, 0x7e, 0x6f, 0xd3, 0x54, 0x8b, 0x7a, 0xb2, 0x2c, 0x97, 0x38, 0x08, 0x59,
|
||||
0xc0, 0x66, 0x6c, 0xc1, 0x56, 0x6c, 0xca, 0xe6, 0x6c, 0x42, 0x62, 0x07, 0x6b, 0xbb, 0x5e, 0x7f,
|
||||
0x64, 0x4b, 0x7f, 0xa2, 0x57, 0x1f, 0x2b, 0x8f, 0xae, 0xee, 0x30, 0xe2, 0xd8, 0x97, 0x0b, 0x5e,
|
||||
0x0e, 0xcb, 0x51, 0x77, 0xec, 0x2d, 0x89, 0xf8, 0x58, 0x57, 0x92, 0x9f, 0xc3, 0x42, 0xbf, 0xcb,
|
||||
0xc0, 0x09, 0xfe, 0xe7, 0x36, 0x7e, 0x6b, 0xcd, 0x51, 0x54, 0xdc, 0x03, 0xa2, 0x13, 0x69, 0x90,
|
||||
0xa1, 0x4f, 0x6c, 0x43, 0x74, 0xc2, 0xdb, 0x3d, 0x35, 0x17, 0xdf, 0x9e, 0xf9, 0x93, 0x51, 0x38,
|
||||
0xc6, 0xca, 0xcf, 0x68, 0x18, 0x10, 0x19, 0xbe, 0x3f, 0xa3, 0x07, 0xbd, 0x11, 0xad, 0xfb, 0xf4,
|
||||
0x4e, 0x09, 0x87, 0xea, 0x29, 0x6c, 0x0f, 0x78, 0x0c, 0xbd, 0x44, 0x8b, 0x17, 0x80, 0x6c, 0x83,
|
||||
0x57, 0xcb, 0x41, 0x00, 0x6a, 0xa5, 0x6e, 0x04, 0xbc, 0x80, 0xc8, 0xf4, 0x71, 0x60, 0x0f, 0x54,
|
||||
0x4b, 0x43, 0x93, 0x54, 0x3b, 0x13, 0x13, 0xdd, 0x00, 0xc8, 0x02, 0xeb, 0x93, 0x00, 0x75, 0x33,
|
||||
0x7f, 0xb6, 0x5e, 0xdf, 0x55, 0x18, 0x94, 0xf2, 0x0a, 0x68, 0x64, 0xe8, 0xb6, 0x50, 0xc2, 0x73,
|
||||
0x46, 0xcf, 0x23, 0x3f, 0x00, 0xa6, 0xe6, 0x3e, 0x28, 0x6f, 0x34, 0x76, 0x24, 0x35, 0x07, 0x98,
|
||||
0x6c, 0xb8, 0x5e, 0x2f, 0x58, 0xa1, 0xe5, 0xfb, 0xc2, 0x10, 0x29, 0x53, 0xd4, 0x9f, 0x22, 0x47,
|
||||
0x8b, 0x7e, 0x37, 0x76, 0x16, 0xf4, 0x8b, 0x46, 0x12, 0xe1, 0x72, 0x8a, 0xa8, 0x5f, 0xfa, 0x34,
|
||||
0x8a, 0xc5, 0x91, 0x1f, 0x83, 0xac, 0x45, 0xdb, 0x85, 0xa1, 0xe5, 0xc0, 0x83, 0x5e, 0x05, 0x14,
|
||||
0x35, 0x62, 0xa3, 0xec, 0x88, 0x24, 0x57, 0xe2, 0x06, 0xcb, 0x25, 0x18, 0x43, 0xaa, 0xc0, 0x85,
|
||||
0x23, 0xe0, 0x4a, 0xf5, 0xea, 0xc7, 0x8c, 0xd0, 0x87, 0xc4, 0xca, 0x4d, 0x20, 0x02, 0xdf, 0x47,
|
||||
0x93, 0x58, 0xf2, 0x9a, 0xc4, 0xa8, 0xdf, 0x27, 0x01, 0xb0, 0x42, 0x87, 0x8e, 0xc0, 0x50, 0xab,
|
||||
0x18, 0x90, 0xc8, 0xcb, 0x79, 0x56, 0x7c, 0xc1, 0x01, 0x81, 0xdb, 0x0b, 0x16, 0x3b, 0x1b, 0x2b,
|
||||
0x5d, 0x2a, 0x21, 0x15, 0x09, 0xdc, 0x0a, 0xed, 0xb6, 0x0a, 0xe2, 0x92, 0xfb, 0x96, 0xe5, 0x6c,
|
||||
0x62, 0x8c, 0xd7, 0x80, 0xce, 0xf6, 0x48, 0xb5, 0xaa, 0x5d, 0x84, 0xc9, 0x2f, 0x20, 0x33, 0x14,
|
||||
0xf7, 0x85, 0xed, 0x36, 0x2b, 0x36, 0x0e, 0x08, 0x2c, 0xf5, 0xa7, 0x0a, 0x53, 0xa0, 0xf4, 0x1a,
|
||||
0xc2, 0x51, 0x13, 0x82, 0xd0, 0x94, 0xa1, 0x5f, 0x6a, 0x22, 0x0e, 0x3b, 0x9d, 0x81, 0xa3, 0x9a,
|
||||
0x81, 0x78, 0x8e, 0x8f, 0xef, 0x6d, 0x7a, 0x3a, 0x03, 0x59, 0x6f, 0x69, 0x56, 0x98, 0x88, 0x0a,
|
||||
0xdf, 0xdb, 0xf4, 0x64, 0x82, 0x24, 0x89, 0x07, 0xe6, 0x0a, 0x64, 0x77, 0x10, 0xbe, 0x9a, 0x57,
|
||||
0x60, 0x41, 0x6b, 0x5f, 0xd9, 0x73, 0xaa, 0x38, 0x1f, 0xb5, 0xdb, 0xd5, 0xc3, 0x60, 0xbe, 0xcf,
|
||||
0xb5, 0x79, 0x51, 0xad, 0x4d, 0xa4, 0x98, 0xdf, 0x51, 0x94, 0x0f, 0xdb, 0xcb, 0x9a, 0xa4, 0x69,
|
||||
0xcc, 0x03, 0x53, 0xbc, 0x3b, 0x30, 0x5a, 0x94, 0xd1, 0x90, 0x88, 0x86, 0x8e, 0x53, 0x11, 0xc2,
|
||||
0xe7, 0x59, 0x16, 0xdc, 0xbb, 0x51, 0x2e, 0x9e, 0xe0, 0x30, 0x47, 0xab, 0x9a, 0x0c, 0xc3, 0xcb,
|
||||
0x20, 0xba, 0x0d, 0xc3, 0x03, 0xfd, 0xc3, 0xe6, 0x10, 0x43, 0x50, 0xed, 0x15, 0xd0, 0x61, 0x62,
|
||||
0xef, 0x61, 0xd2, 0x83, 0xc3, 0xd1, 0x62, 0x90, 0x08, 0x12, 0x75, 0x2d, 0x32, 0x05, 0x93, 0xb9,
|
||||
0x51, 0x03, 0xcd, 0x92, 0xf2, 0x66, 0xc2, 0xb3, 0x3d, 0xad, 0x42, 0x01, 0x9b, 0x29, 0x01, 0x26,
|
||||
0x66, 0x33, 0xa8, 0x3b, 0x74, 0x53, 0xa9, 0x4a, 0x7c, 0xa1, 0x95, 0xb4, 0x82, 0x1d, 0x48, 0x43,
|
||||
0x0e, 0xb6, 0x85, 0x58, 0x51, 0xb0, 0x83, 0x50, 0xd6, 0xac, 0xa8, 0x4c, 0x97, 0xca, 0x9e, 0x49,
|
||||
0x84, 0xf2, 0x01, 0x5b, 0x6e, 0x08, 0x19, 0x5e, 0x51, 0x15, 0x44, 0xf5, 0x3a, 0xcc, 0xf4, 0x3a,
|
||||
0x58, 0x1d, 0x4b, 0x18, 0x4a, 0xdd, 0xf1, 0xb0, 0x70, 0x73, 0x2e, 0xac, 0x23, 0xd0, 0xf1, 0x3d,
|
||||
0x09, 0x49, 0xb4, 0x85, 0x66, 0xf3, 0x77, 0x26, 0x82, 0x25, 0x3b, 0x22, 0xf5, 0x94, 0xb9, 0x05,
|
||||
0xcf, 0x0b, 0xd8, 0xcc, 0xc3, 0xa8, 0x6d, 0x2d, 0xef, 0x2c, 0x4f, 0xad, 0xe8, 0xd0, 0xb2, 0x3c,
|
||||
0xa3, 0xaf, 0x1f, 0xed, 0x4a, 0xbb, 0x48, 0x41, 0xab, 0xa4, 0x2e, 0x0b, 0x05, 0xea, 0x30, 0x7e,
|
||||
0x1a, 0x02, 0x54, 0x04, 0x1f, 0x5a, 0x61, 0x1c, 0xe4, 0xf9, 0xf7, 0xf0, 0x0c, 0xc4, 0xa8, 0xd4,
|
||||
0x3b, 0x00, 0x7b, 0x2a, 0x65, 0xe4, 0x8a, 0x5a, 0x5e, 0x02, 0x09, 0x69, 0x69, 0xab, 0x46, 0x14,
|
||||
0xd7, 0x84, 0x81, 0x55, 0xb9, 0x8f, 0x25, 0x24, 0x47, 0x08, 0x0c, 0xcc, 0x90, 0x72, 0xd8, 0xce,
|
||||
0x72, 0x45, 0x4e, 0xe9, 0x86, 0x79, 0xfe, 0x81, 0xec, 0x9d, 0x48, 0x4a, 0x82, 0x7d, 0xab, 0x9a,
|
||||
0x81, 0x56, 0xeb, 0x8a, 0x96, 0x05, 0x85, 0x25, 0xa5, 0x7d, 0x26, 0x68, 0x2e, 0x25, 0x5b, 0x34,
|
||||
0x73, 0x80, 0x1e, 0x91, 0x8a, 0x20, 0xbb, 0x6d, 0x9a, 0x2b, 0xb8, 0x9d, 0x66, 0x1a, 0x89, 0x4a,
|
||||
0xb1, 0x28, 0x72, 0x00, 0x2a, 0x1a, 0xc5, 0x63, 0xc2, 0x22, 0x1e, 0xb2, 0x26, 0x94, 0x19, 0xd2,
|
||||
0xce, 0x86, 0xfa, 0xb7, 0x52, 0xbd, 0x2e, 0xe0, 0x6b, 0x39, 0xb1, 0x51, 0x6f, 0x3c, 0xb4, 0xe1,
|
||||
0xd3, 0x1c, 0x09, 0x64, 0x91, 0x55, 0xba, 0x8c, 0x83, 0x90, 0xdb, 0xa7, 0xaf, 0x83, 0x25, 0xd6,
|
||||
0x97, 0x7f, 0x7a, 0x4a, 0x3d, 0x81, 0x8f, 0x7c, 0x1b, 0x9c, 0x99, 0xb8, 0x45, 0xfa, 0x5d, 0x7a,
|
||||
0xcb, 0xb3, 0xd7, 0xb0, 0x41, 0x6c, 0xc7, 0x21, 0x33, 0x79, 0x08, 0x6b, 0xd2, 0x71, 0xf3, 0x18,
|
||||
0xfe, 0x99, 0xdd, 0x87, 0xf8, 0x18, 0xda, 0xd9, 0x7a, 0x5d, 0xb8, 0xc1, 0x74, 0xfa, 0xd5, 0x0a,
|
||||
0xb2, 0xf1, 0xbb, 0x28, 0x2f, 0x38, 0x54, 0x2c, 0xd6, 0x7e, 0x25, 0xa4, 0x39, 0x68, 0x6d, 0xbd,
|
||||
0xa6, 0x5f, 0xb8, 0x34, 0x8e, 0x43, 0xb4, 0x40, 0x34, 0xa1, 0x7c, 0x87, 0x7d, 0x4d, 0xe0, 0x6d,
|
||||
0xc5, 0xc8, 0xb1, 0x48, 0xc2, 0x62, 0xdc, 0x45, 0x30, 0x17, 0xab, 0xa4, 0x5e, 0x31, 0xfd, 0x1b,
|
||||
0x95, 0x3e, 0x82, 0x54, 0x4b, 0x84, 0xe9, 0x3e, 0x14, 0x34, 0x66, 0x52, 0x8e, 0xb7, 0x4f, 0x8e,
|
||||
0xa1, 0xf9, 0x34, 0x48, 0xe6, 0x3c, 0x4b, 0xcb, 0x3c, 0xbe, 0x7f, 0xcf, 0x8b, 0x37, 0x09, 0xba,
|
||||
0xfd, 0xf6, 0xc3, 0xdb, 0xef, 0x14, 0x44, 0x7b, 0x17, 0x2f, 0xbf, 0xdd, 0x41, 0xb0, 0x5e, 0x7b,
|
||||
0x43, 0x89, 0x97, 0xa1, 0xea, 0x63, 0xbd, 0x16, 0xc4, 0x1b, 0x0d, 0xf5, 0x44, 0x3e, 0x2f, 0xb0,
|
||||
0xcc, 0x93, 0xb2, 0xe0, 0xdf, 0xbf, 0xb7, 0xad, 0x45, 0x51, 0x2c, 0xbd, 0xd3, 0xd3, 0xdb, 0xdb,
|
||||
0x5b, 0xf7, 0xf6, 0xcc, 0x4d, 0xb3, 0xf9, 0x69, 0xef, 0xea, 0xea, 0xea, 0x54, 0x40, 0xb2, 0xd8,
|
||||
0x36, 0x52, 0x3d, 0xc1, 0x33, 0xff, 0x3a, 0x00, 0xe2, 0xb1, 0x27, 0x87, 0x45, 0x4e, 0x69, 0xb3,
|
||||
0x1f, 0xc1, 0x9c, 0x86, 0x54, 0x5d, 0x99, 0x36, 0x3e, 0xd9, 0xee, 0xc5, 0x48, 0x8a, 0x89, 0x31,
|
||||
0xac, 0x40, 0x4e, 0xeb, 0x34, 0x54, 0x4f, 0xb2, 0x8f, 0x4d, 0x77, 0xef, 0xda, 0xde, 0xb2, 0xfc,
|
||||
0x88, 0x2d, 0x25, 0x97, 0x36, 0x8c, 0x21, 0xb6, 0x64, 0xf7, 0xec, 0x96, 0x5d, 0x13, 0x59, 0x01,
|
||||
0x2e, 0x91, 0x73, 0x65, 0x98, 0x25, 0xae, 0xe1, 0x9d, 0x34, 0x24, 0x23, 0xcc, 0x01, 0xf4, 0x4b,
|
||||
0x7a, 0x13, 0x73, 0x18, 0x14, 0xd9, 0xbd, 0x54, 0xca, 0x7b, 0x34, 0xdd, 0xb5, 0x10, 0xb9, 0x4b,
|
||||
0xb2, 0x0d, 0x85, 0x58, 0xbb, 0xf7, 0xd1, 0xf6, 0x5a, 0xfb, 0x20, 0x1f, 0x48, 0x87, 0x1d, 0x1f,
|
||||
0x67, 0xa3, 0xc0, 0x85, 0x52, 0xb9, 0xf5, 0x83, 0xe1, 0xfd, 0xf0, 0x5e, 0xd6, 0x94, 0x0a, 0xd5,
|
||||
0x0b, 0xdc, 0x08, 0xce, 0x54, 0xe4, 0x86, 0xc3, 0x09, 0x99, 0x4e, 0x18, 0x12, 0x94, 0x6e, 0x08,
|
||||
0x07, 0x9e, 0xec, 0x1c, 0xcf, 0xb6, 0x50, 0xb7, 0x48, 0xa9, 0x2f, 0x0b, 0x34, 0x77, 0x7d, 0x7c,
|
||||
0x7c, 0xed, 0x56, 0x39, 0x40, 0x37, 0x99, 0xc7, 0x43, 0x6a, 0x83, 0x96, 0xfc, 0x16, 0x48, 0x59,
|
||||
0xb2, 0x5b, 0xc7, 0xb3, 0xeb, 0x9c, 0x37, 0x22, 0x87, 0xcd, 0xcc, 0x99, 0xfa, 0xd7, 0x6c, 0xa6,
|
||||
0xda, 0xfa, 0x7f, 0x3a, 0x0c, 0xb6, 0xd4, 0xbd, 0x9b, 0x97, 0x13, 0x7b, 0x46, 0xf5, 0xa4, 0x27,
|
||||
0xb5, 0x44, 0x2a, 0x2f, 0x82, 0x82, 0x83, 0x8b, 0x54, 0x8a, 0x38, 0x49, 0xc2, 0x11, 0xce, 0xd5,
|
||||
0x2d, 0xd2, 0xb7, 0x7e, 0xc6, 0x16, 0x18, 0x27, 0x19, 0xfe, 0x78, 0xbd, 0x31, 0x94, 0xe1, 0xcc,
|
||||
0xfd, 0x08, 0xca, 0xc6, 0xaf, 0xaf, 0x9a, 0x6b, 0xbb, 0xe8, 0xda, 0x9d, 0xf3, 0xe2, 0x4b, 0x18,
|
||||
0xf5, 0x2b, 0x3e, 0x7d, 0x4f, 0x05, 0x5f, 0x67, 0xe9, 0x8d, 0xf0, 0x6c, 0x8f, 0x8f, 0xdf, 0x8a,
|
||||
0x06, 0xba, 0xc5, 0x90, 0x5e, 0x84, 0x41, 0x8d, 0x84, 0xe3, 0xe1, 0x87, 0x1d, 0x6e, 0x6c, 0x2f,
|
||||
0x45, 0x2d, 0x87, 0x2d, 0x1c, 0x39, 0x80, 0xc7, 0xfa, 0x91, 0x23, 0xa1, 0xb9, 0xdc, 0x2c, 0xd3,
|
||||
0x04, 0xc4, 0xf5, 0x73, 0x14, 0xc7, 0x6f, 0xe1, 0x71, 0x14, 0x64, 0xfd, 0xed, 0xe6, 0xda, 0x7a,
|
||||
0xf0, 0x46, 0xe1, 0x97, 0xd1, 0x54, 0xb5, 0x48, 0xa5, 0x22, 0x9e, 0x39, 0x95, 0xf8, 0x7d, 0xde,
|
||||
0x08, 0x60, 0xdd, 0x1d, 0x18, 0xca, 0x8f, 0x3c, 0xe4, 0x68, 0xa5, 0xea, 0x3e, 0x52, 0x28, 0x17,
|
||||
0xf7, 0xc8, 0x80, 0x93, 0x2f, 0xd2, 0x32, 0x9e, 0xbe, 0xd6, 0x0d, 0xfe, 0xb1, 0x9c, 0xa2, 0x63,
|
||||
0xa5, 0xf5, 0x0e, 0x94, 0x4a, 0xd4, 0x01, 0x90, 0x74, 0x24, 0x77, 0x48, 0x80, 0xd6, 0x92, 0x89,
|
||||
0x45, 0xee, 0x31, 0x94, 0x4e, 0xa1, 0x93, 0xa0, 0xa7, 0x65, 0x87, 0xf9, 0x30, 0x3f, 0x22, 0x2b,
|
||||
0x31, 0x1d, 0xe6, 0x1e, 0x7e, 0xa5, 0xcb, 0x9f, 0xc0, 0x7b, 0x20, 0xdf, 0x41, 0x5a, 0xf2, 0x49,
|
||||
0xed, 0x80, 0x92, 0x49, 0x8f, 0x57, 0xd8, 0xe9, 0xc2, 0xa2, 0xa4, 0x04, 0xe8, 0x1c, 0x0c, 0xa6,
|
||||
0x8c, 0xd1, 0xcd, 0x5e, 0x6c, 0xe8, 0x39, 0xec, 0xcd, 0xae, 0x06, 0xbf, 0x91, 0x06, 0xb0, 0x1a,
|
||||
0x3d, 0x9b, 0x6a, 0x2a, 0xda, 0x22, 0xd9, 0x7d, 0x73, 0x13, 0xcc, 0xfe, 0x56, 0x31, 0xbb, 0x9e,
|
||||
0xa9, 0x98, 0x28, 0x35, 0xf0, 0x0b, 0x4c, 0x44, 0xf3, 0x8b, 0xc6, 0x0e, 0xdb, 0x81, 0xee, 0x88,
|
||||
0x69, 0x7f, 0xae, 0x3c, 0x24, 0x38, 0x0f, 0x81, 0xf2, 0x4f, 0xde, 0xe9, 0xd5, 0x0e, 0xc8, 0xe0,
|
||||
0x19, 0x06, 0x8a, 0xfb, 0xb5, 0xe6, 0xf7, 0x82, 0x9a, 0xb8, 0x40, 0x2f, 0xc2, 0xa8, 0x7f, 0x2d,
|
||||
0x41, 0x0a, 0x77, 0xf4, 0xad, 0x2d, 0x58, 0x20, 0xa3, 0x81, 0x6d, 0x95, 0x43, 0x8c, 0x83, 0xde,
|
||||
0xb5, 0x0f, 0x21, 0x8a, 0xdf, 0x27, 0xc1, 0x12, 0x8b, 0xac, 0xac, 0x79, 0x89, 0x22, 0xb0, 0xf0,
|
||||
0xfc, 0x70, 0xa9, 0x0d, 0x39, 0x09, 0x30, 0xef, 0xb7, 0xc4, 0x29, 0x09, 0x53, 0xf4, 0x28, 0xa3,
|
||||
0x09, 0x6e, 0x3a, 0x20, 0x14, 0xdc, 0x68, 0x57, 0x59, 0x33, 0x77, 0x85, 0x42, 0x87, 0x41, 0xbe,
|
||||
0x05, 0x71, 0x4c, 0x4c, 0x50, 0x0d, 0x68, 0x55, 0x8f, 0xcc, 0xe4, 0x1a, 0x3d, 0xa8, 0x7d, 0xb9,
|
||||
0xb6, 0x10, 0xda, 0x0e, 0x9b, 0x08, 0xf0, 0xd7, 0x68, 0x19, 0x49, 0x3b, 0x45, 0x58, 0x16, 0xc2,
|
||||
0x3e, 0x34, 0x9d, 0x7a, 0x53, 0xfc, 0x4b, 0xd1, 0x8f, 0x61, 0x4b, 0x5f, 0x18, 0x04, 0x28, 0x17,
|
||||
0x6a, 0xa5, 0x25, 0x33, 0x49, 0x7e, 0xf8, 0x2f, 0xf9, 0x6a, 0x2e, 0x6c, 0x12, 0xb1, 0x3a, 0xeb,
|
||||
0x35, 0xd7, 0xc6, 0xbb, 0x66, 0xa1, 0x52, 0xd8, 0x3a, 0x39, 0x48, 0x37, 0x7f, 0x55, 0xb9, 0x1d,
|
||||
0x79, 0x23, 0x72, 0x02, 0x7f, 0x64, 0x94, 0x93, 0x43, 0xaa, 0x18, 0x5d, 0x01, 0x1b, 0x9e, 0x21,
|
||||
0x19, 0xba, 0x14, 0xc9, 0x22, 0xb1, 0xef, 0x85, 0x6e, 0x9c, 0x02, 0x29, 0x64, 0x47, 0x54, 0x75,
|
||||
0xc0, 0x63, 0x85, 0x1f, 0x32, 0x6a, 0x2f, 0x7d, 0x42, 0xe9, 0xa8, 0xd6, 0x36, 0xb4, 0x61, 0xc0,
|
||||
0xeb, 0x26, 0x4a, 0x2f, 0x4d, 0xd3, 0x50, 0x84, 0x23, 0xdd, 0x10, 0x4d, 0x0a, 0x4e, 0x86, 0x1c,
|
||||
0xb9, 0x84, 0xf6, 0x8a, 0xa2, 0x18, 0x7c, 0xb8, 0x55, 0xac, 0x22, 0x0d, 0xfb, 0xf5, 0x7a, 0xbf,
|
||||
0xdb, 0xed, 0x9e, 0x12, 0x22, 0x98, 0xea, 0xc2, 0xdb, 0xdf, 0xda, 0x56, 0xc5, 0xac, 0x94, 0x8e,
|
||||
0xb4, 0xa1, 0x21, 0xeb, 0x59, 0xc3, 0x8f, 0xf5, 0x57, 0x0a, 0x17, 0xc2, 0x99, 0x83, 0x47, 0x56,
|
||||
0x1a, 0x71, 0xb4, 0xb1, 0xb2, 0x34, 0x0b, 0x17, 0x2b, 0x1c, 0xf8, 0x2b, 0xd8, 0x0d, 0x47, 0xd2,
|
||||
0x79, 0x32, 0x5a, 0xf8, 0x1f, 0xa5, 0x71, 0x27, 0xa9, 0x48, 0x45, 0xfb, 0x68, 0x7a, 0xb0, 0xcc,
|
||||
0xc0, 0x7e, 0x76, 0xb5, 0x9e, 0xf0, 0xde, 0x1d, 0xf7, 0x80, 0x3d, 0x05, 0xef, 0x7e, 0x75, 0xb0,
|
||||
0x2c, 0x26, 0x4d, 0xb6, 0x5e, 0x07, 0xb4, 0x6c, 0x33, 0x70, 0x27, 0xc9, 0x93, 0x77, 0xc4, 0x94,
|
||||
0xef, 0x84, 0xa1, 0x18, 0xe9, 0x8a, 0xfe, 0x4c, 0x94, 0xc0, 0x36, 0x27, 0x8b, 0x74, 0x97, 0xda,
|
||||
0x94, 0x23, 0x20, 0x1c, 0xce, 0x52, 0x5a, 0xc4, 0xe2, 0x91, 0xac, 0xd7, 0xe4, 0x2e, 0x94, 0x2a,
|
||||
0xb6, 0x33, 0x2a, 0xc7, 0xe0, 0xd9, 0xba, 0x56, 0xe2, 0xf0, 0xbd, 0x6e, 0x6e, 0x82, 0x8a, 0xe8,
|
||||
0x4b, 0xd8, 0x02, 0x44, 0x97, 0xa5, 0x70, 0x0a, 0x78, 0x78, 0xcd, 0xa7, 0xea, 0x95, 0x40, 0x09,
|
||||
0x23, 0x9a, 0x2a, 0xaa, 0x2e, 0x08, 0xba, 0xea, 0x02, 0xae, 0x12, 0x4c, 0x9d, 0x05, 0xd8, 0x20,
|
||||
0x96, 0x22, 0x28, 0xd9, 0x12, 0x30, 0x0c, 0xb3, 0xae, 0xb9, 0x9b, 0x4c, 0x59, 0x1e, 0xcd, 0x93,
|
||||
0x77, 0x72, 0x8b, 0xe2, 0x48, 0x2f, 0xe3, 0xf1, 0xb1, 0xe4, 0xa3, 0x3b, 0x02, 0x43, 0xb8, 0x52,
|
||||
0x43, 0xc2, 0xd0, 0xb1, 0xb8, 0x95, 0xc5, 0xb4, 0x92, 0x56, 0x0b, 0x72, 0x64, 0xe2, 0x88, 0x7c,
|
||||
0x3d, 0x95, 0x65, 0xab, 0x94, 0x32, 0x89, 0x55, 0x0d, 0x32, 0x8c, 0x55, 0xd2, 0x61, 0xd5, 0xd4,
|
||||
0x76, 0xc0, 0xaa, 0x02, 0x02, 0xac, 0x92, 0x02, 0x74, 0x95, 0x6d, 0x57, 0xe9, 0xba, 0x32, 0x89,
|
||||
0xbf, 0x62, 0x63, 0x47, 0xe4, 0x31, 0x1a, 0xa2, 0x20, 0x74, 0xa4, 0xf9, 0x36, 0x8d, 0x66, 0x33,
|
||||
0x54, 0x92, 0x62, 0x7d, 0x13, 0x06, 0x45, 0x48, 0x01, 0xc9, 0x87, 0x1b, 0x37, 0x55, 0x2e, 0xe4,
|
||||
0xa6, 0x76, 0x3b, 0x6b, 0xbb, 0x72, 0xba, 0xb5, 0x5b, 0x31, 0xa0, 0x38, 0xa9, 0x0e, 0x11, 0xc2,
|
||||
0x0e, 0x8c, 0x76, 0x4d, 0x00, 0x7b, 0x07, 0x7a, 0xe4, 0x4e, 0x9d, 0xcd, 0x8d, 0x1b, 0x52, 0x68,
|
||||
0x3b, 0xa4, 0xde, 0x2b, 0xf0, 0x5f, 0x69, 0xf7, 0x95, 0x60, 0xed, 0x0b, 0x07, 0x0f, 0x0b, 0x69,
|
||||
0x35, 0x87, 0x65, 0x46, 0x51, 0x1f, 0x3f, 0xd9, 0x81, 0x6d, 0x46, 0x60, 0xbf, 0xdf, 0xd9, 0xf4,
|
||||
0x20, 0x31, 0x77, 0xe3, 0x96, 0xc9, 0x8d, 0x34, 0x4e, 0xaa, 0x24, 0x00, 0x30, 0xa8, 0x13, 0x1d,
|
||||
0xe4, 0xfa, 0xca, 0xce, 0x94, 0x13, 0x0f, 0x53, 0x1e, 0x34, 0x77, 0x28, 0x30, 0x0d, 0x4a, 0x88,
|
||||
0x94, 0xae, 0x87, 0xf4, 0x84, 0x73, 0x4e, 0x38, 0x17, 0x6e, 0x7a, 0xec, 0x57, 0x41, 0x00, 0x94,
|
||||
0x65, 0xc2, 0xe7, 0x17, 0xd2, 0x2b, 0xdb, 0xd2, 0xd3, 0xb2, 0x7f, 0x81, 0xbc, 0xfd, 0x45, 0xbb,
|
||||
0xf8, 0x03, 0xc6, 0x32, 0xa9, 0x7b, 0x32, 0x28, 0x60, 0x1d, 0xc4, 0xa3, 0x3e, 0x12, 0x21, 0x9e,
|
||||
0x4b, 0x88, 0xe7, 0xf2, 0x55, 0xa6, 0xc5, 0x73, 0x09, 0xf1, 0x9c, 0x81, 0x1d, 0x28, 0xda, 0x43,
|
||||
0x4f, 0x19, 0x25, 0x91, 0x23, 0xe3, 0x14, 0x23, 0xe2, 0xc6, 0x0a, 0xfc, 0xa9, 0x51, 0x66, 0xba,
|
||||
0x1d, 0x86, 0x75, 0x2c, 0x51, 0x5c, 0x55, 0x9f, 0x6f, 0xd1, 0x03, 0x7a, 0x8e, 0x5e, 0x55, 0x16,
|
||||
0x4d, 0x44, 0x41, 0x4a, 0x19, 0xb1, 0x91, 0x7b, 0x59, 0x2e, 0x4f, 0x20, 0x48, 0xb3, 0x60, 0x12,
|
||||
0xd3, 0xd8, 0xeb, 0x17, 0x72, 0x92, 0x18, 0x4d, 0x3f, 0x99, 0x45, 0xf3, 0x52, 0x96, 0xc3, 0x68,
|
||||
0xae, 0xb9, 0x8c, 0x3c, 0xf4, 0xcc, 0xbd, 0xcd, 0xa2, 0x42, 0x95, 0x39, 0x4c, 0xf2, 0xa8, 0x2b,
|
||||
0x37, 0xf8, 0xaa, 0xf0, 0x46, 0x01, 0x30, 0x14, 0x39, 0xc9, 0x4c, 0x3a, 0x98, 0xd8, 0x7a, 0x3e,
|
||||
0xf6, 0xc4, 0x57, 0xed, 0x82, 0x3c, 0x07, 0xa3, 0x43, 0xd1, 0x1a, 0xd1, 0x21, 0x3d, 0x8d, 0xa4,
|
||||
0xde, 0x17, 0x63, 0x91, 0xdf, 0xc3, 0x94, 0x76, 0x76, 0xbb, 0xb6, 0xa7, 0xa6, 0x9b, 0x72, 0x19,
|
||||
0x2b, 0x50, 0x9d, 0xd4, 0xce, 0xc8, 0x22, 0xc8, 0xdf, 0xdd, 0x26, 0x7a, 0x98, 0x52, 0x90, 0x93,
|
||||
0xbc, 0x24, 0xde, 0xa5, 0x6d, 0xac, 0x8c, 0x76, 0xae, 0x36, 0xd5, 0x66, 0x9f, 0x43, 0x51, 0xcc,
|
||||
0xf8, 0x5e, 0xee, 0x4f, 0x56, 0x9d, 0x83, 0x6b, 0x68, 0x13, 0xf2, 0x8d, 0x01, 0x17, 0xee, 0xe3,
|
||||
0x7b, 0x69, 0x67, 0x34, 0xc2, 0xf9, 0x72, 0x31, 0xc4, 0xe2, 0x7d, 0x24, 0x51, 0x41, 0x09, 0x61,
|
||||
0x8f, 0x1c, 0x1f, 0xcb, 0x4c, 0x12, 0xeb, 0x22, 0x21, 0x7d, 0x88, 0xba, 0x82, 0xe3, 0x0c, 0xf6,
|
||||
0x91, 0x3b, 0x8c, 0x64, 0xda, 0x5b, 0xb1, 0x23, 0x56, 0xef, 0x28, 0x39, 0xce, 0x7a, 0xfd, 0x96,
|
||||
0x72, 0x8c, 0x0d, 0x3d, 0x51, 0x2a, 0x24, 0x12, 0x25, 0xc4, 0x36, 0x40, 0xa2, 0x72, 0x6f, 0x54,
|
||||
0x48, 0xce, 0x61, 0x5c, 0x94, 0xc2, 0xd3, 0x6d, 0x4c, 0x05, 0x28, 0x0c, 0x95, 0xd9, 0xe5, 0x9b,
|
||||
0xab, 0x52, 0x83, 0x6c, 0x02, 0x42, 0xb7, 0xba, 0x93, 0xee, 0x01, 0x90, 0xca, 0x8d, 0x7b, 0xc7,
|
||||
0x72, 0xda, 0x86, 0x48, 0xfc, 0x3d, 0x33, 0xc3, 0x92, 0xdc, 0x44, 0x39, 0x1f, 0xaa, 0xa7, 0xd1,
|
||||
0xb8, 0x58, 0xf0, 0xc4, 0x9d, 0x40, 0x55, 0xdb, 0xba, 0x2c, 0xe3, 0x79, 0x1a, 0xaf, 0x44, 0x80,
|
||||
0x00, 0x78, 0xff, 0x10, 0xdd, 0xf0, 0xb4, 0x04, 0x3f, 0xec, 0xdd, 0xa7, 0xb9, 0xd9, 0xb1, 0xc6,
|
||||
0x6a, 0xfa, 0xca, 0x06, 0xa4, 0x88, 0xa2, 0x01, 0x59, 0x4d, 0xe0, 0x5b, 0xf8, 0xa3, 0xa0, 0x83,
|
||||
0xa3, 0xcc, 0x8d, 0xa4, 0x0c, 0x95, 0x42, 0xa2, 0x62, 0x39, 0x6d, 0x7b, 0x35, 0x32, 0xf7, 0x79,
|
||||
0x4f, 0x5f, 0x65, 0x19, 0x39, 0xea, 0x15, 0x4d, 0xd8, 0xcf, 0x6b, 0x41, 0xd1, 0xc4, 0x2d, 0xe7,
|
||||
0x2c, 0x6b, 0x88, 0xf1, 0xd7, 0x24, 0x7e, 0x1c, 0xb2, 0xe4, 0xa3, 0xa4, 0xe4, 0x83, 0x3d, 0x85,
|
||||
0xb4, 0xf1, 0xa5, 0x68, 0x97, 0x7a, 0xbd, 0xf6, 0x33, 0x2d, 0xb4, 0x68, 0x0b, 0x12, 0x52, 0xba,
|
||||
0x58, 0x64, 0xe9, 0x2d, 0xe8, 0x9a, 0xa5, 0xfe, 0x9d, 0x08, 0x79, 0x16, 0xbe, 0x65, 0x0f, 0xbd,
|
||||
0x51, 0xe7, 0xd7, 0x5f, 0xdb, 0xe3, 0xe1, 0xaf, 0xbf, 0x4e, 0x4f, 0x7e, 0xfd, 0xd5, 0xc5, 0xa3,
|
||||
0xfd, 0xd9, 0xd0, 0x59, 0x37, 0x0a, 0x28, 0xc7, 0x62, 0xb1, 0x6f, 0x8d, 0x7e, 0xfd, 0x35, 0x5f,
|
||||
0xff, 0xfa, 0xab, 0x3d, 0x6e, 0xdb, 0x56, 0xbb, 0x68, 0x5b, 0xce, 0x88, 0xe1, 0x35, 0x3f, 0xf4,
|
||||
0x8a, 0x34, 0x60, 0x3a, 0x43, 0x8b, 0x2d, 0xff, 0x72, 0xdb, 0x83, 0xa0, 0x7e, 0x17, 0x51, 0x83,
|
||||
0x1f, 0xf9, 0xfc, 0xab, 0xbb, 0xa5, 0x6d, 0x65, 0xf3, 0x89, 0xd5, 0x86, 0x41, 0xf0, 0xed, 0x76,
|
||||
0x6e, 0x60, 0xb5, 0x97, 0x0e, 0xfb, 0xa1, 0x91, 0xbd, 0xc8, 0x63, 0x51, 0xf9, 0xd3, 0xed, 0x5c,
|
||||
0x59, 0xf9, 0x83, 0x6f, 0xfd, 0x86, 0x79, 0x7f, 0x32, 0x5c, 0x77, 0xef, 0x68, 0xc2, 0x3f, 0x03,
|
||||
0x3f, 0xa3, 0x6e, 0xe7, 0x2a, 0xe8, 0xcc, 0x3e, 0xef, 0x7c, 0x3d, 0x7e, 0xe8, 0x6d, 0x90, 0xf9,
|
||||
0x7a, 0x2b, 0xb3, 0x4f, 0x99, 0x5f, 0x9a, 0x00, 0x3f, 0xb4, 0x7f, 0x16, 0xff, 0x59, 0x9f, 0x5a,
|
||||
0x0e, 0xfb, 0x7a, 0x5f, 0x89, 0x2a, 0xfb, 0xae, 0x59, 0xf6, 0x5a, 0xfc, 0x27, 0x4a, 0xbe, 0xd8,
|
||||
0x57, 0xa2, 0xca, 0xfe, 0xf0, 0xdf, 0x06, 0xc5, 0x02, 0x96, 0xfb, 0x9c, 0x7d, 0x23, 0x93, 0xb0,
|
||||
0x25, 0x93, 0x29, 0xfb, 0x45, 0xbe, 0xcc, 0xe2, 0x34, 0xcd, 0xea, 0xa3, 0x0d, 0x7f, 0xdb, 0xd2,
|
||||
0x25, 0xa2, 0xce, 0x4d, 0x94, 0xd8, 0x32, 0x11, 0xdc, 0x09, 0x59, 0xd5, 0xd0, 0x27, 0x7f, 0x37,
|
||||
0xc5, 0x57, 0xa7, 0xf7, 0xaa, 0xa8, 0x4c, 0x65, 0xeb, 0x33, 0xf4, 0x9f, 0xf9, 0xcb, 0x20, 0xcb,
|
||||
0xf9, 0xd7, 0x71, 0x1a, 0x90, 0xca, 0xae, 0x02, 0xe0, 0xc3, 0xe4, 0xb4, 0xd7, 0xed, 0x9e, 0x64,
|
||||
0x5e, 0x56, 0x83, 0xfa, 0x4f, 0x23, 0x78, 0x26, 0x5a, 0xbd, 0x21, 0x35, 0xcf, 0x7a, 0x97, 0x46,
|
||||
0x77, 0xff, 0x68, 0x6c, 0xa2, 0x17, 0xe9, 0x7b, 0x11, 0x18, 0xb6, 0x51, 0xc7, 0x5d, 0x06, 0xc4,
|
||||
0x26, 0x59, 0x61, 0xf7, 0x99, 0xd5, 0xb5, 0x9c, 0x0d, 0x0d, 0xe9, 0x27, 0xdf, 0x38, 0x2a, 0x52,
|
||||
0x01, 0x89, 0x8d, 0x9d, 0xf6, 0x4f, 0xfd, 0x87, 0x85, 0xd7, 0x65, 0x39, 0xfe, 0xad, 0xf0, 0x2f,
|
||||
0xf0, 0x7a, 0x90, 0xad, 0x4a, 0x6c, 0x81, 0x2d, 0x2b, 0x99, 0x95, 0x26, 0xaf, 0x17, 0x64, 0x8a,
|
||||
0xc3, 0x89, 0x16, 0xef, 0x51, 0x12, 0x15, 0x51, 0x10, 0xff, 0x24, 0x2c, 0xc4, 0x49, 0x25, 0x91,
|
||||
0x3f, 0x95, 0xfd, 0x16, 0x7e, 0x5c, 0xcb, 0xa5, 0xea, 0x44, 0x08, 0x01, 0xf4, 0xb7, 0x36, 0x37,
|
||||
0x76, 0x37, 0x2c, 0x9c, 0x53, 0x83, 0xae, 0x4c, 0xe2, 0x39, 0x63, 0x2f, 0x37, 0x9f, 0x9e, 0xca,
|
||||
0x50, 0x7f, 0xe1, 0x0c, 0x45, 0x7f, 0x0b, 0x7e, 0x27, 0x51, 0xe0, 0x17, 0xde, 0xe9, 0x6f, 0x44,
|
||||
0xc9, 0xc3, 0xad, 0x1a, 0xc8, 0x33, 0x6a, 0x10, 0xf9, 0xd6, 0x35, 0xb4, 0xd4, 0x47, 0xae, 0xae,
|
||||
0x53, 0x0b, 0x16, 0x7d, 0xec, 0xe7, 0xa8, 0x1e, 0x99, 0x14, 0x0a, 0x44, 0x6d, 0x52, 0x0e, 0x59,
|
||||
0x6f, 0x12, 0x28, 0x7c, 0x18, 0xbd, 0x61, 0x1a, 0xa7, 0x59, 0x4b, 0x2a, 0x7f, 0xf8, 0x6f, 0x50,
|
||||
0xa9, 0x50, 0x4d, 0x90, 0xae, 0x68, 0x15, 0xab, 0x81, 0xe6, 0x2b, 0xda, 0x92, 0xa4, 0x87, 0x67,
|
||||
0x65, 0x64, 0x21, 0x00, 0xcb, 0xd6, 0x5c, 0x27, 0x26, 0x96, 0x0c, 0x41, 0xab, 0x11, 0x63, 0xac,
|
||||
0xd6, 0x42, 0x97, 0xe5, 0x3a, 0xb1, 0x32, 0x2a, 0x01, 0xd0, 0xfe, 0x4a, 0x71, 0xa3, 0x52, 0x4c,
|
||||
0x95, 0xae, 0x79, 0xbc, 0x8a, 0x12, 0x55, 0x41, 0xce, 0x58, 0x66, 0xf9, 0x85, 0x4a, 0xc0, 0xf6,
|
||||
0x60, 0x62, 0x79, 0x68, 0x91, 0x13, 0x1e, 0xef, 0x28, 0x02, 0xa9, 0x04, 0xa8, 0xe9, 0xa8, 0x18,
|
||||
0xd7, 0xeb, 0x8d, 0x17, 0x46, 0x0a, 0xe1, 0x61, 0x23, 0x83, 0xf2, 0xb0, 0x62, 0x1c, 0x82, 0x04,
|
||||
0xbd, 0x63, 0x2e, 0xb5, 0xa2, 0x35, 0x89, 0x83, 0x6d, 0xea, 0xa1, 0xfa, 0x61, 0x0c, 0xe9, 0x6c,
|
||||
0xd6, 0xd7, 0xa6, 0x3c, 0x50, 0x1d, 0x4b, 0x45, 0x49, 0xd5, 0xca, 0x84, 0xb4, 0xdb, 0x0e, 0xdc,
|
||||
0x8a, 0x36, 0xd5, 0x81, 0x14, 0x16, 0x53, 0x57, 0x1f, 0xd2, 0x1f, 0x81, 0x48, 0x93, 0xdc, 0xf4,
|
||||
0x11, 0xa4, 0xc5, 0xe9, 0x65, 0x97, 0x91, 0x1f, 0x90, 0x13, 0x13, 0x32, 0xb2, 0x43, 0x57, 0x22,
|
||||
0xc5, 0xfd, 0x5f, 0x48, 0xdb, 0xc3, 0x3d, 0xee, 0x70, 0x08, 0xfe, 0xec, 0xc4, 0xee, 0x75, 0x22,
|
||||
0xf8, 0x4f, 0x32, 0x55, 0x9e, 0x20, 0x9d, 0xcb, 0x34, 0xbd, 0x3a, 0xf4, 0x1e, 0xfa, 0xfc, 0xb3,
|
||||
0x4b, 0xb8, 0xb4, 0xa3, 0x1c, 0x0e, 0x4b, 0xc6, 0x62, 0x38, 0x2c, 0xe9, 0x98, 0x36, 0x1e, 0x67,
|
||||
0xfe, 0x28, 0x15, 0x81, 0x17, 0x91, 0x4d, 0x59, 0x8a, 0x0f, 0x1e, 0x32, 0xef, 0x6f, 0x76, 0xff,
|
||||
0xe2, 0xe2, 0x64, 0xa4, 0xaa, 0x53, 0x1d, 0xd1, 0xa4, 0xcb, 0x90, 0xed, 0xb0, 0xb9, 0x2a, 0x0f,
|
||||
0x74, 0xc6, 0x44, 0x65, 0xcc, 0x54, 0xc6, 0x86, 0x66, 0x08, 0x2a, 0xf9, 0x90, 0x7e, 0x0b, 0x2a,
|
||||
0xd8, 0x37, 0xc3, 0xec, 0x14, 0xf5, 0xc4, 0x14, 0xe7, 0x22, 0x45, 0x53, 0x9c, 0x88, 0x14, 0xf7,
|
||||
0x2b, 0x59, 0x26, 0x8f, 0x06, 0x61, 0xb6, 0x95, 0x98, 0x53, 0x39, 0xa9, 0xcf, 0x3b, 0x25, 0x66,
|
||||
0x0d, 0xb1, 0xe0, 0x73, 0x3a, 0x40, 0x00, 0x7f, 0x95, 0x0f, 0xbb, 0x5e, 0x7a, 0xca, 0x07, 0xf9,
|
||||
0x6d, 0x44, 0x5a, 0x12, 0x7e, 0x73, 0x08, 0x7b, 0xbe, 0x55, 0x7a, 0xa8, 0x26, 0xa3, 0x1e, 0x03,
|
||||
0x91, 0x91, 0x20, 0xc3, 0x8e, 0x3a, 0x99, 0x73, 0x9a, 0xb6, 0xed, 0xe8, 0x55, 0x36, 0xbc, 0xf4,
|
||||
0xba, 0x8e, 0x59, 0x21, 0xa2, 0x0a, 0x59, 0x27, 0xa1, 0x0a, 0x7d, 0xb3, 0x20, 0xa3, 0x82, 0x04,
|
||||
0xf8, 0x46, 0xc1, 0xb9, 0x52, 0xce, 0x90, 0x4d, 0x97, 0xdd, 0x93, 0xf8, 0xb3, 0xb3, 0x4b, 0x12,
|
||||
0x51, 0x7f, 0xb3, 0x49, 0x66, 0x86, 0xc0, 0x02, 0x9e, 0x0e, 0xe4, 0x95, 0xcc, 0xc8, 0x55, 0xc6,
|
||||
0xa6, 0x5a, 0xf8, 0x6f, 0xf3, 0x78, 0x2f, 0x5a, 0xe4, 0x7a, 0x47, 0xd5, 0x7a, 0x67, 0xbe, 0xdd,
|
||||
0xc7, 0x48, 0x4e, 0x22, 0xa0, 0x25, 0x7b, 0xe5, 0xf7, 0x86, 0x99, 0xd7, 0xef, 0x64, 0xc0, 0x08,
|
||||
0x7f, 0xd5, 0xe3, 0x9d, 0x2b, 0x4c, 0x39, 0x39, 0x89, 0x4e, 0xb5, 0x00, 0xc3, 0x60, 0x40, 0x3b,
|
||||
0xd5, 0x38, 0x4a, 0x3d, 0x8e, 0x18, 0x19, 0x17, 0x90, 0xe5, 0xcd, 0x61, 0xc4, 0x87, 0x56, 0xa7,
|
||||
0x7f, 0x42, 0xa7, 0x08, 0x04, 0xf9, 0x9d, 0xd8, 0x09, 0x7a, 0xed, 0x76, 0x87, 0x89, 0xd7, 0xef,
|
||||
0x76, 0x09, 0x27, 0x72, 0x54, 0x49, 0x3b, 0xd2, 0x03, 0xe8, 0x63, 0x00, 0x36, 0xde, 0x9d, 0xfd,
|
||||
0x83, 0xc8, 0x4c, 0x64, 0x88, 0x7a, 0xa7, 0x7d, 0x73, 0x1c, 0x92, 0xbd, 0x0f, 0xb0, 0x82, 0x74,
|
||||
0xb2, 0xfd, 0x82, 0x7a, 0xd5, 0x42, 0x3a, 0xc3, 0xdc, 0x2f, 0x2f, 0x87, 0x36, 0xc6, 0x29, 0x28,
|
||||
0xa8, 0xd3, 0xbb, 0xb8, 0x70, 0xfb, 0x17, 0xe7, 0x2f, 0x2f, 0x2e, 0x2e, 0xfb, 0x2f, 0xba, 0x57,
|
||||
0xbd, 0x17, 0x57, 0x1d, 0xf7, 0xfc, 0xfc, 0xe2, 0xea, 0xf2, 0xea, 0xa2, 0x7b, 0x8e, 0x9f, 0x17,
|
||||
0x57, 0xbd, 0xb3, 0xb3, 0x13, 0x78, 0x95, 0xbc, 0xd3, 0x77, 0xda, 0xbd, 0xee, 0xb9, 0x7b, 0x7e,
|
||||
0xd5, 0xef, 0x5d, 0xf6, 0xae, 0xae, 0xce, 0xae, 0xce, 0x5e, 0xbe, 0x7c, 0x79, 0xf2, 0x87, 0x0d,
|
||||
0x36, 0xe1, 0xaf, 0xfa, 0x5d, 0xcc, 0xc6, 0x7d, 0xd9, 0x7f, 0x71, 0xde, 0xbd, 0xba, 0xec, 0x5e,
|
||||
0x9e, 0x77, 0xbb, 0x2f, 0xce, 0xae, 0x2e, 0x4e, 0x20, 0x3c, 0x78, 0xa7, 0xd7, 0x75, 0x3a, 0xe8,
|
||||
0xc3, 0x7d, 0x71, 0x79, 0x75, 0x76, 0xd1, 0x7b, 0x79, 0xde, 0xeb, 0x77, 0xaf, 0xba, 0xfd, 0x76,
|
||||
0xaf, 0x77, 0xe1, 0x5e, 0xbe, 0xb8, 0xba, 0x3a, 0x3f, 0xef, 0xf6, 0xba, 0x97, 0x97, 0xbd, 0xf3,
|
||||
0x17, 0x00, 0x06, 0x09, 0xe3, 0x61, 0x74, 0xa8, 0xe7, 0x5e, 0xa1, 0x7e, 0xf7, 0xe2, 0xf2, 0xf2,
|
||||
0x25, 0x7e, 0xae, 0xce, 0xda, 0x6e, 0xaf, 0x77, 0xde, 0x07, 0xe4, 0x8b, 0xb3, 0x17, 0x00, 0x71,
|
||||
0x09, 0xd8, 0x09, 0x60, 0x83, 0x5f, 0x3a, 0xe7, 0x5d, 0x4c, 0xe1, 0xec, 0xf2, 0xf2, 0xac, 0x7b,
|
||||
0x75, 0x76, 0xd6, 0xef, 0xf5, 0x09, 0x0e, 0xe9, 0x71, 0xff, 0xac, 0x7f, 0x81, 0xc9, 0x5c, 0xa1,
|
||||
0xc3, 0x8b, 0x17, 0xbd, 0xde, 0xd5, 0x8b, 0xf3, 0xb6, 0xdb, 0x7d, 0x71, 0x75, 0x7e, 0x76, 0x7e,
|
||||
0x71, 0x49, 0xf5, 0x2f, 0xfb, 0x67, 0xe7, 0x7d, 0x39, 0xb7, 0x0b, 0x1a, 0xe2, 0x4b, 0xb7, 0xfb,
|
||||
0xf2, 0xa2, 0x7f, 0x75, 0x79, 0x76, 0x81, 0x5a, 0x17, 0x2f, 0xe4, 0xd4, 0x04, 0x8b, 0x0a, 0xa6,
|
||||
0x16, 0xc2, 0xc3, 0x60, 0xe2, 0x5f, 0xa8, 0xd8, 0xe0, 0xe1, 0x5f, 0x30, 0xf8, 0x1d, 0x16, 0xfe,
|
||||
0xbb, 0x94, 0xc4, 0x7b, 0xbd, 0x3a, 0x41, 0x25, 0x99, 0xe4, 0x5e, 0x2c, 0x54, 0x9f, 0x9f, 0x81,
|
||||
0x36, 0xcf, 0xf9, 0xf9, 0xc0, 0x3d, 0x7f, 0x55, 0x76, 0xf8, 0x40, 0xae, 0x63, 0xea, 0x37, 0xd6,
|
||||
0x19, 0xb3, 0x76, 0x31, 0xf7, 0xb2, 0x4d, 0x9e, 0x51, 0x0a, 0xb6, 0x4f, 0xdd, 0xec, 0xff, 0xf9,
|
||||
0xd9, 0x69, 0x34, 0x84, 0x5c, 0xf3, 0xa0, 0xc0, 0xab, 0x38, 0xc9, 0x86, 0x6d, 0x8b, 0x79, 0x78,
|
||||
0x3e, 0x70, 0x90, 0x6b, 0xd5, 0x2d, 0xac, 0x1d, 0x91, 0x47, 0x46, 0x8f, 0x1d, 0xb3, 0xd1, 0x03,
|
||||
0x9d, 0x19, 0x84, 0x15, 0xb8, 0xb2, 0x18, 0xcc, 0x73, 0xcf, 0x10, 0xc5, 0x52, 0xef, 0x4b, 0x2b,
|
||||
0x60, 0x9b, 0x58, 0x41, 0xeb, 0xa0, 0x50, 0xb0, 0x1d, 0xe6, 0x9d, 0x9b, 0xcd, 0x6a, 0xe6, 0x94,
|
||||
0xed, 0xe8, 0x1c, 0x92, 0x54, 0x2f, 0x09, 0xdb, 0x36, 0x3d, 0xb4, 0x95, 0x05, 0xa8, 0x70, 0xd2,
|
||||
0x56, 0xf4, 0x93, 0xd3, 0x4f, 0x80, 0x9f, 0x4d, 0xe5, 0xcf, 0x66, 0x32, 0x3c, 0x17, 0x8d, 0xb2,
|
||||
0xb1, 0x4f, 0x47, 0x2c, 0x8e, 0xe0, 0xee, 0x66, 0xe3, 0x81, 0x32, 0x76, 0x0a, 0x66, 0x47, 0xee,
|
||||
0x62, 0xbd, 0x8e, 0xdc, 0x9c, 0x7e, 0x56, 0xf4, 0x43, 0x31, 0xc4, 0x46, 0x47, 0xd2, 0x89, 0x8d,
|
||||
0x54, 0x94, 0x5a, 0xb7, 0xc4, 0xd0, 0xab, 0xc9, 0x07, 0x3b, 0xb3, 0x57, 0x38, 0x6d, 0x58, 0x42,
|
||||
0x3b, 0x53, 0xad, 0x35, 0x77, 0x0d, 0x0c, 0x16, 0xc3, 0x01, 0x58, 0x12, 0x8c, 0xbb, 0x78, 0x04,
|
||||
0x0e, 0x21, 0x78, 0x53, 0xc1, 0xca, 0x03, 0xb4, 0x0b, 0x84, 0xb7, 0xf8, 0x38, 0xc8, 0xfc, 0x31,
|
||||
0x90, 0xb9, 0x09, 0x52, 0x9a, 0x34, 0x8f, 0x43, 0x5b, 0x3d, 0x06, 0x6d, 0x65, 0x42, 0x0b, 0xe2,
|
||||
0xe5, 0x22, 0x78, 0x02, 0x5a, 0xf0, 0x08, 0xb4, 0x1a, 0xbb, 0x78, 0x63, 0x0f, 0x01, 0x60, 0x3b,
|
||||
0x15, 0x70, 0x65, 0xe5, 0x1c, 0x80, 0xde, 0xe0, 0x36, 0x5b, 0xdb, 0x59, 0x87, 0xd6, 0x88, 0x4c,
|
||||
0xb0, 0x26, 0x53, 0x15, 0x75, 0x47, 0x19, 0x9f, 0x3e, 0x3a, 0x07, 0x34, 0x76, 0xb3, 0x47, 0x00,
|
||||
0xd7, 0xb3, 0xc0, 0x1b, 0x49, 0x0e, 0x73, 0x16, 0xf3, 0x8c, 0xf3, 0xe4, 0x49, 0xf0, 0xf3, 0xe7,
|
||||
0x83, 0x9f, 0x37, 0xc0, 0x4f, 0x9e, 0x5a, 0x4e, 0x82, 0x3e, 0x79, 0x3e, 0xf4, 0x49, 0x03, 0x3a,
|
||||
0xf9, 0x97, 0xfb, 0xc5, 0x42, 0x6d, 0x91, 0xd9, 0x8a, 0x3b, 0x98, 0xb0, 0x53, 0xa4, 0x8d, 0x22,
|
||||
0x25, 0x5c, 0x6d, 0x1f, 0x7d, 0x43, 0x82, 0x74, 0x8e, 0x47, 0x44, 0x82, 0xf3, 0x1b, 0x9b, 0x62,
|
||||
0x63, 0x4f, 0x50, 0x45, 0x6d, 0x10, 0x91, 0xcb, 0x02, 0xd2, 0xa8, 0xce, 0x5e, 0x17, 0x6e, 0x30,
|
||||
0xec, 0x41, 0xf6, 0x04, 0xcd, 0x81, 0x3e, 0x83, 0x85, 0xc5, 0x0c, 0x41, 0x64, 0x94, 0x16, 0xa4,
|
||||
0xbb, 0x79, 0x8c, 0x5e, 0x4c, 0x01, 0x11, 0x3f, 0x8e, 0x06, 0xd8, 0x27, 0x0d, 0x34, 0x2c, 0xa4,
|
||||
0x39, 0x20, 0xd0, 0x10, 0xd7, 0xb2, 0x53, 0xa0, 0x21, 0x97, 0x68, 0x88, 0x9f, 0x8b, 0x06, 0x6d,
|
||||
0x79, 0x3c, 0x07, 0x0d, 0xc2, 0x99, 0x7f, 0x12, 0x0d, 0xa8, 0xf5, 0x4c, 0x34, 0x08, 0x7f, 0xc3,
|
||||
0x44, 0xb2, 0xf4, 0xaa, 0x1e, 0x53, 0x15, 0xa8, 0xa4, 0x0f, 0x53, 0x23, 0x49, 0xf1, 0x0b, 0x37,
|
||||
0x6b, 0x5b, 0xac, 0x45, 0x89, 0xb9, 0x4e, 0x4c, 0xda, 0x96, 0x63, 0x1d, 0xd0, 0x1c, 0x7a, 0xa7,
|
||||
0x80, 0xa2, 0x9e, 0x33, 0x98, 0x40, 0xfe, 0xef, 0x2e, 0xbf, 0xe3, 0x21, 0xc5, 0x88, 0x86, 0xd0,
|
||||
0xdc, 0x7f, 0xb7, 0xe9, 0xb8, 0x92, 0xd4, 0xc1, 0x99, 0x78, 0xeb, 0xab, 0x37, 0x2e, 0xde, 0xce,
|
||||
0xe4, 0x9b, 0xb0, 0x29, 0xbe, 0xad, 0x5a, 0x8a, 0xa3, 0x80, 0xcf, 0x6c, 0x8a, 0xae, 0xe9, 0xed,
|
||||
0x7c, 0xcc, 0x7a, 0x8e, 0xc3, 0x8e, 0x92, 0xc3, 0x5e, 0x22, 0x26, 0xd8, 0x52, 0xee, 0xae, 0x33,
|
||||
0xa8, 0xe8, 0x06, 0xf4, 0x1e, 0x81, 0xd8, 0x33, 0x50, 0x3a, 0x87, 0x2e, 0x2b, 0x37, 0x0d, 0x2a,
|
||||
0x7d, 0x16, 0x06, 0x03, 0x03, 0x85, 0xc1, 0x61, 0x1c, 0xca, 0x44, 0xb0, 0x1f, 0x99, 0xdb, 0xce,
|
||||
0x72, 0x4d, 0x24, 0xda, 0xc5, 0x7e, 0xe6, 0x32, 0x7e, 0x62, 0xb5, 0xff, 0x01, 0x1b, 0x22, 0x73,
|
||||
0xc4, 0x63, 0x2e, 0x1f, 0xfb, 0x24, 0x6d, 0x73, 0xf9, 0x80, 0x4a, 0xb5, 0x80, 0x5f, 0x36, 0x16,
|
||||
0xb0, 0xf7, 0xe2, 0xe4, 0x3f, 0xc5, 0x42, 0xd0, 0x22, 0xa8, 0x97, 0xfe, 0x98, 0xd6, 0x40, 0xbd,
|
||||
0x9c, 0x8d, 0xe5, 0xea, 0x7d, 0xfd, 0x97, 0x9b, 0x11, 0xd1, 0xc8, 0x97, 0x73, 0x05, 0xe3, 0xbb,
|
||||
0x06, 0x8c, 0x1a, 0x40, 0xdd, 0xda, 0xec, 0xf1, 0x8b, 0x26, 0xbd, 0x3c, 0x52, 0x1d, 0x3d, 0xe9,
|
||||
0x6e, 0x1e, 0xa5, 0x10, 0xe0, 0xfa, 0x19, 0x14, 0x42, 0x8e, 0xdc, 0xc6, 0x5c, 0x9f, 0x97, 0x7f,
|
||||
0x8d, 0x4a, 0x0e, 0xac, 0x10, 0x1e, 0xbf, 0x08, 0x3f, 0x13, 0x34, 0xe2, 0x1c, 0x64, 0xf1, 0x3a,
|
||||
0xe0, 0x62, 0x8a, 0x91, 0xa7, 0x07, 0x80, 0x4a, 0xba, 0x7f, 0x24, 0x05, 0x91, 0x2e, 0x34, 0x49,
|
||||
0xe6, 0x6d, 0xeb, 0x33, 0x99, 0x8a, 0x91, 0x7a, 0x3e, 0xab, 0xff, 0xb0, 0x8f, 0xd5, 0xe1, 0x2b,
|
||||
0x1a, 0xfc, 0x2a, 0x9c, 0xa3, 0x8a, 0x5f, 0xe9, 0x4d, 0x2c, 0xdd, 0xa7, 0x7b, 0x59, 0xfd, 0xa9,
|
||||
0xa6, 0xcf, 0x67, 0x75, 0x4c, 0x71, 0x6b, 0x21, 0x49, 0x36, 0x42, 0xa6, 0x47, 0x10, 0xe8, 0xf0,
|
||||
0xfb, 0xb7, 0x59, 0x9d, 0x24, 0xf1, 0xb3, 0x70, 0x18, 0x18, 0x48, 0x0c, 0x1e, 0xc3, 0xe2, 0xd3,
|
||||
0xcc, 0x6e, 0x44, 0xbd, 0x36, 0x1b, 0xd0, 0x68, 0xbc, 0xb1, 0x9d, 0x3a, 0x16, 0xfa, 0x5f, 0x06,
|
||||
0xda, 0xa1, 0x3c, 0x6e, 0xa3, 0x69, 0xb1, 0x10, 0x0a, 0x2a, 0xc7, 0xfc, 0x78, 0xf6, 0x3e, 0xfa,
|
||||
0x93, 0x93, 0xef, 0xe8, 0x4e, 0xd2, 0x0c, 0xaf, 0x3f, 0x8b, 0x62, 0x3a, 0xd8, 0x0a, 0x0b, 0x7a,
|
||||
0x1a, 0xf3, 0x1f, 0x83, 0x69, 0x54, 0xe6, 0x2c, 0x15, 0x17, 0xbe, 0xa6, 0x53, 0xda, 0x5f, 0x88,
|
||||
0xeb, 0xb6, 0x8b, 0x00, 0xae, 0x45, 0xee, 0x5b, 0x8b, 0x34, 0x8b, 0xfe, 0x4c, 0x93, 0x22, 0x88,
|
||||
0x2d, 0xa1, 0xa1, 0xe2, 0xe0, 0x3e, 0x2d, 0x8b, 0x2f, 0xa3, 0x8c, 0x8b, 0x31, 0xd4, 0x3e, 0xa9,
|
||||
0xda, 0x95, 0x4c, 0xfc, 0xcc, 0x21, 0x5f, 0xf9, 0x24, 0x6d, 0xf7, 0xe1, 0x7f, 0x5b, 0x61, 0x94,
|
||||
0x85, 0xf2, 0x5c, 0x6d, 0x3c, 0x7c, 0x90, 0x1d, 0x8b, 0x10, 0xa8, 0x57, 0xf5, 0xda, 0xde, 0x1a,
|
||||
0x90, 0x7e, 0x81, 0x95, 0xef, 0x45, 0x1d, 0x00, 0xea, 0x10, 0x20, 0x31, 0x39, 0x2c, 0xcd, 0x82,
|
||||
0x47, 0xf3, 0x45, 0x81, 0x44, 0x78, 0xe7, 0x45, 0x70, 0xa4, 0xc3, 0x7b, 0xf1, 0xc8, 0x44, 0x5b,
|
||||
0x4a, 0x76, 0xf8, 0x69, 0x7f, 0xe3, 0x35, 0xba, 0xca, 0x50, 0xa1, 0x09, 0x35, 0xd3, 0x0d, 0xa8,
|
||||
0xe8, 0xce, 0xeb, 0xb2, 0x7b, 0xfc, 0x93, 0x5d, 0xe4, 0xc3, 0xac, 0xee, 0x26, 0x1f, 0x46, 0x5e,
|
||||
0x66, 0x6c, 0xfa, 0xfd, 0xd3, 0x0c, 0x25, 0x13, 0xfa, 0x81, 0xee, 0x48, 0x21, 0x9e, 0x2e, 0x65,
|
||||
0xc8, 0x66, 0x40, 0x72, 0xe4, 0x1a, 0x1d, 0x02, 0xc7, 0xfa, 0x5d, 0x0c, 0x88, 0x76, 0x1e, 0x9e,
|
||||
0xc0, 0x2b, 0x50, 0x1f, 0x0f, 0x31, 0x38, 0x8f, 0xd3, 0x1c, 0xfd, 0xb4, 0xbd, 0x6f, 0x2b, 0x2e,
|
||||
0x11, 0xe1, 0x3a, 0x0a, 0x46, 0x08, 0xe1, 0xae, 0xe2, 0x3e, 0x7a, 0x09, 0xc5, 0x41, 0x48, 0x11,
|
||||
0x02, 0x12, 0xe6, 0xb0, 0xa7, 0x57, 0x8a, 0x22, 0x4f, 0x2e, 0x24, 0xb9, 0x28, 0x91, 0xb6, 0x6c,
|
||||
0x5d, 0x36, 0x37, 0xca, 0x84, 0x21, 0x5a, 0x17, 0x4d, 0x8c, 0x22, 0xe9, 0x25, 0xe8, 0x32, 0x8a,
|
||||
0x72, 0xc0, 0x47, 0x93, 0x45, 0xca, 0xc6, 0xf7, 0xe4, 0x75, 0xb6, 0x82, 0x82, 0x56, 0x1f, 0xf8,
|
||||
0xcd, 0x92, 0x67, 0xe4, 0xf9, 0x70, 0x41, 0x7f, 0x37, 0xc1, 0x9d, 0x91, 0x25, 0xe2, 0x78, 0x76,
|
||||
0xa2, 0x4c, 0xf9, 0x0e, 0x77, 0x4e, 0xcb, 0x13, 0x23, 0xda, 0x51, 0xc5, 0xc2, 0xba, 0xac, 0x0a,
|
||||
0x82, 0xa5, 0x52, 0x4a, 0xc8, 0x0e, 0x17, 0xc6, 0x28, 0x81, 0xe6, 0x53, 0xff, 0xcc, 0xbd, 0x94,
|
||||
0x25, 0x86, 0xb3, 0x55, 0x57, 0xc8, 0x65, 0x99, 0xf4, 0x9a, 0x3c, 0x75, 0xcf, 0xaf, 0x2e, 0x86,
|
||||
0xfb, 0x2b, 0x50, 0x2c, 0x62, 0xff, 0xa5, 0x1e, 0x44, 0x0c, 0x11, 0x14, 0xfa, 0x9d, 0xde, 0x49,
|
||||
0xd8, 0x2e, 0x41, 0xd7, 0x29, 0xec, 0xb6, 0x3b, 0x2f, 0x1e, 0xe6, 0x5e, 0x08, 0xca, 0x89, 0x87,
|
||||
0xa1, 0x97, 0x6f, 0x64, 0x50, 0x1d, 0x4d, 0x0b, 0xbf, 0x7f, 0x22, 0x46, 0xfa, 0xc3, 0x1b, 0x16,
|
||||
0x15, 0xfe, 0xbe, 0x2b, 0x51, 0x76, 0xf1, 0x59, 0xd2, 0x4e, 0x9c, 0xcf, 0xe0, 0xde, 0x67, 0xfb,
|
||||
0x6b, 0xc8, 0x69, 0xe7, 0x7f, 0x64, 0x85, 0x5d, 0x9c, 0x14, 0xed, 0xe4, 0x24, 0x71, 0x36, 0x35,
|
||||
0xe3, 0x8b, 0xa0, 0x7f, 0xbd, 0xc7, 0x20, 0xe8, 0x0f, 0x94, 0x5f, 0xb1, 0x54, 0xa7, 0xc9, 0x52,
|
||||
0x9d, 0x86, 0x08, 0x30, 0x2e, 0x74, 0x15, 0x66, 0xe4, 0x4d, 0x41, 0xd1, 0xb6, 0xad, 0xe4, 0x86,
|
||||
0x4a, 0xaa, 0x48, 0x76, 0x49, 0x9a, 0xa0, 0x88, 0x09, 0x13, 0x62, 0xc1, 0xc4, 0xe0, 0x91, 0xb4,
|
||||
0x68, 0x44, 0xa4, 0x09, 0xf2, 0x82, 0xf3, 0xf8, 0xf3, 0x64, 0x1e, 0x4b, 0x71, 0x24, 0x5e, 0x77,
|
||||
0x24, 0x08, 0x9d, 0xda, 0x0e, 0xe3, 0x34, 0xbc, 0xbe, 0x8d, 0x72, 0x21, 0x2f, 0xf8, 0x10, 0xb2,
|
||||
0xa4, 0x2d, 0x4e, 0xf3, 0x6f, 0xe5, 0x42, 0x07, 0x74, 0xa8, 0x84, 0x9a, 0x04, 0x49, 0x11, 0xed,
|
||||
0x69, 0xd6, 0x7b, 0xd9, 0xed, 0xa0, 0xe9, 0x6e, 0x29, 0x1d, 0x82, 0xf2, 0x29, 0xb6, 0x89, 0xb5,
|
||||
0xb1, 0x13, 0xa1, 0x4e, 0xea, 0xa1, 0xc7, 0x5b, 0x43, 0x17, 0x08, 0xa2, 0xc0, 0xa3, 0x1b, 0xde,
|
||||
0x81, 0x72, 0xf1, 0xb8, 0xa7, 0xc8, 0xab, 0xd8, 0x26, 0xa2, 0xc0, 0x15, 0xc9, 0xdd, 0xb2, 0x13,
|
||||
0x89, 0xcd, 0xc7, 0xd8, 0x17, 0x13, 0x17, 0xeb, 0x16, 0x14, 0x41, 0xd2, 0xb7, 0x3b, 0x11, 0xa3,
|
||||
0xc8, 0xa5, 0x8d, 0x3e, 0x4e, 0x13, 0xa8, 0x31, 0xf0, 0x74, 0x45, 0xc1, 0x59, 0x21, 0xce, 0x65,
|
||||
0xb3, 0xd4, 0x08, 0x1a, 0xd6, 0x7b, 0x5f, 0x76, 0x4c, 0x4e, 0x85, 0xf1, 0x0e, 0x62, 0x3c, 0x4d,
|
||||
0x4f, 0x72, 0xf3, 0xfc, 0x41, 0xbe, 0xbb, 0x78, 0x42, 0x0b, 0x4c, 0xd2, 0xbb, 0x6f, 0x85, 0x14,
|
||||
0x6a, 0x2e, 0x64, 0xa2, 0x45, 0x9a, 0xba, 0x79, 0x08, 0xc1, 0x96, 0xe8, 0x55, 0x3d, 0x24, 0x8a,
|
||||
0x8d, 0xde, 0xc2, 0x2d, 0xcc, 0xe4, 0x15, 0x66, 0x6e, 0x95, 0x5a, 0xc9, 0xb4, 0xf0, 0x4b, 0x91,
|
||||
0x94, 0x80, 0x99, 0x88, 0x16, 0xa7, 0xce, 0xa9, 0xcd, 0x49, 0x8e, 0x3b, 0xc4, 0xd6, 0x40, 0x82,
|
||||
0x1d, 0x89, 0xbc, 0xb2, 0xca, 0xd3, 0x23, 0x55, 0x53, 0xde, 0x62, 0xf6, 0x58, 0x32, 0x3b, 0x5b,
|
||||
0xed, 0x2d, 0x45, 0x59, 0x27, 0x97, 0x35, 0x8c, 0xe1, 0x06, 0x45, 0x7d, 0xaf, 0xb6, 0x3a, 0x45,
|
||||
0xe1, 0x77, 0x07, 0xbc, 0x3e, 0xc1, 0xc2, 0xf5, 0x61, 0x8b, 0x52, 0x9c, 0x93, 0x70, 0xef, 0xb0,
|
||||
0x9a, 0xa9, 0x4c, 0xde, 0x77, 0xc4, 0xed, 0xcf, 0x9a, 0x05, 0xcb, 0x93, 0xb2, 0x9d, 0x62, 0xb0,
|
||||
0xaf, 0x9a, 0xf8, 0xd1, 0xe7, 0x04, 0xb9, 0x79, 0x4c, 0xcf, 0xb8, 0x37, 0x63, 0x70, 0xe9, 0x03,
|
||||
0x96, 0x05, 0xfa, 0x18, 0x38, 0x86, 0x83, 0x2f, 0x18, 0xa8, 0x83, 0x1c, 0x8b, 0xc9, 0xb4, 0xd7,
|
||||
0xe0, 0x2a, 0xba, 0x1f, 0xd3, 0xca, 0x53, 0xb2, 0x51, 0x84, 0x57, 0x20, 0x4a, 0x5e, 0xd3, 0xf6,
|
||||
0x95, 0x31, 0xc3, 0x45, 0xb1, 0x7d, 0xa8, 0xa6, 0x6d, 0x75, 0xe6, 0x84, 0x77, 0x3a, 0x45, 0x68,
|
||||
0xb5, 0x13, 0x69, 0x72, 0x44, 0xc0, 0xd7, 0xd2, 0xde, 0x13, 0xcb, 0x1b, 0x75, 0xeb, 0x6b, 0xe0,
|
||||
0xb0, 0xab, 0xda, 0x56, 0x4b, 0xb4, 0xf9, 0xcc, 0xda, 0x38, 0xee, 0xc7, 0x14, 0x88, 0xb5, 0x98,
|
||||
0xe5, 0x08, 0xcb, 0xa4, 0xbe, 0x39, 0x60, 0xcc, 0x67, 0x77, 0x4f, 0x70, 0x08, 0x95, 0x2e, 0x6e,
|
||||
0xf6, 0x08, 0x41, 0x38, 0x2d, 0xfc, 0x91, 0x75, 0x93, 0x96, 0xb9, 0xb8, 0x9e, 0x00, 0x58, 0x45,
|
||||
0x5a, 0x86, 0x0b, 0x95, 0x16, 0xf9, 0xe5, 0x52, 0xe7, 0xf2, 0x64, 0x6a, 0x8d, 0xd9, 0xdc, 0x10,
|
||||
0x84, 0x89, 0xb1, 0x13, 0x2a, 0x3a, 0x4d, 0xd4, 0x29, 0x45, 0x0a, 0xfa, 0x55, 0x47, 0x34, 0xa2,
|
||||
0xa9, 0x2f, 0xd7, 0x28, 0xc3, 0x9a, 0xa4, 0x37, 0x36, 0xdd, 0x1f, 0xae, 0xf7, 0x5b, 0xcf, 0x2e,
|
||||
0x1d, 0x3a, 0x62, 0x2f, 0xc7, 0x69, 0x5f, 0xd4, 0x47, 0xcf, 0xc4, 0xc9, 0xb6, 0xdf, 0x7f, 0x17,
|
||||
0x01, 0xd4, 0xdf, 0x7f, 0xf7, 0x21, 0x09, 0x6c, 0x33, 0x9e, 0xaa, 0xcf, 0xf2, 0xc8, 0x63, 0x99,
|
||||
0xb6, 0xb8, 0x00, 0x5f, 0x15, 0x3a, 0x4e, 0xe3, 0x54, 0x7f, 0xe1, 0xec, 0x9e, 0x0b, 0x39, 0x10,
|
||||
0x37, 0x95, 0x74, 0x23, 0xee, 0xc1, 0xc8, 0xf3, 0x1f, 0x62, 0xc7, 0x0c, 0x1c, 0xfb, 0x90, 0x26,
|
||||
0x6f, 0x09, 0x1f, 0x5f, 0xa6, 0xb7, 0x09, 0x58, 0x12, 0x26, 0x01, 0xe1, 0x24, 0x17, 0x86, 0x0b,
|
||||
0xe9, 0x87, 0xa7, 0x4d, 0x05, 0x7d, 0xfc, 0x4f, 0x68, 0xd6, 0x6c, 0x1e, 0x25, 0x43, 0x6d, 0x02,
|
||||
0xbc, 0x15, 0xaf, 0x9e, 0xce, 0x07, 0x97, 0x3e, 0x60, 0x05, 0xb2, 0x59, 0x9c, 0xde, 0x7a, 0xd6,
|
||||
0x2a, 0xca, 0xa3, 0x09, 0x4c, 0x33, 0x36, 0x8d, 0xf2, 0x25, 0x60, 0x7a, 0xd9, 0xd0, 0x8a, 0x92,
|
||||
0x38, 0x4a, 0x78, 0x67, 0x42, 0x22, 0xd3, 0xa2, 0x50, 0x14, 0x3d, 0xab, 0xdb, 0xe3, 0x5d, 0xbd,
|
||||
0x75, 0x2e, 0x4e, 0x9c, 0xa2, 0xba, 0x04, 0xfb, 0x1d, 0x9f, 0x15, 0xa8, 0x2c, 0x5f, 0x3e, 0xa4,
|
||||
0x4b, 0x6b, 0xec, 0x73, 0x87, 0x2d, 0xec, 0x77, 0xf2, 0xb8, 0x5b, 0x7d, 0x91, 0xdc, 0xd6, 0xeb,
|
||||
0x06, 0xc6, 0x2c, 0xe5, 0x2e, 0xa4, 0x79, 0x98, 0xa9, 0x42, 0xd0, 0x01, 0x1c, 0x32, 0x75, 0xf8,
|
||||
0x48, 0x1e, 0xb6, 0x4c, 0x93, 0x37, 0xc9, 0xb2, 0x2c, 0xc8, 0xde, 0xa5, 0x4c, 0x3a, 0xba, 0x46,
|
||||
0xa7, 0x51, 0xbe, 0x20, 0x79, 0x89, 0x15, 0x7f, 0x1d, 0x13, 0x23, 0xfc, 0x08, 0x14, 0xc1, 0x62,
|
||||
0xa6, 0x7e, 0xc4, 0x95, 0x96, 0x2f, 0xa5, 0xba, 0x47, 0x96, 0x36, 0x4f, 0x24, 0x05, 0xe6, 0x43,
|
||||
0x1a, 0x25, 0xd9, 0x6a, 0xd3, 0x0f, 0x32, 0x83, 0xae, 0xe9, 0x92, 0x21, 0xc7, 0xdd, 0x50, 0x40,
|
||||
0xfa, 0xaf, 0x0e, 0x49, 0x8e, 0x19, 0x89, 0x37, 0x9d, 0xf5, 0x4f, 0x64, 0x15, 0xe9, 0xb2, 0xb6,
|
||||
0xbb, 0x8a, 0xda, 0xe2, 0x12, 0x24, 0x3e, 0xc5, 0x92, 0x5a, 0x9e, 0x78, 0xaf, 0x17, 0xd5, 0xf2,
|
||||
0x8e, 0x7a, 0x74, 0x1a, 0x57, 0xdc, 0xf6, 0xa2, 0xcb, 0xdb, 0xd3, 0x82, 0x4e, 0x29, 0x7d, 0x15,
|
||||
0x00, 0x84, 0x39, 0xef, 0xea, 0x7c, 0xf0, 0xce, 0x8d, 0x2b, 0xe2, 0xfb, 0x87, 0x25, 0x9d, 0x35,
|
||||
0x5b, 0x71, 0x8a, 0xab, 0x3b, 0x1b, 0x73, 0xf7, 0xce, 0xe0, 0x3a, 0xa3, 0x6b, 0xf9, 0x2e, 0x3b,
|
||||
0xed, 0xed, 0x56, 0x07, 0x33, 0x1a, 0x95, 0x89, 0x21, 0x55, 0xdd, 0xbe, 0xc3, 0x9e, 0x1a, 0xdf,
|
||||
0xbe, 0x1b, 0x5e, 0x7b, 0x86, 0x48, 0xdb, 0xd7, 0x1b, 0xfb, 0x8d, 0xe1, 0xbe, 0x4c, 0x1a, 0x1a,
|
||||
0x4c, 0xc6, 0x19, 0xcb, 0x2c, 0x26, 0x7b, 0x96, 0x68, 0x5a, 0x53, 0xdd, 0xc2, 0x16, 0x27, 0xc8,
|
||||
0xd9, 0x43, 0x75, 0x93, 0xcf, 0xb3, 0xde, 0x64, 0xe9, 0xb7, 0x82, 0x5e, 0x5a, 0x55, 0xaa, 0xd3,
|
||||
0x21, 0x61, 0x29, 0xc8, 0x53, 0x08, 0x33, 0x3a, 0x61, 0x9c, 0x7f, 0x8e, 0x9e, 0x56, 0x7c, 0x68,
|
||||
0x19, 0xb5, 0x74, 0x26, 0x28, 0xd6, 0x82, 0x96, 0xa5, 0x3b, 0x7e, 0xde, 0x83, 0xd5, 0xb9, 0xe5,
|
||||
0x93, 0xeb, 0xa8, 0xe8, 0x14, 0xc1, 0xb2, 0xb3, 0x80, 0x1a, 0x8b, 0x49, 0x95, 0x75, 0xc4, 0x99,
|
||||
0x01, 0x4b, 0x46, 0x79, 0xa0, 0x74, 0x5a, 0xea, 0x7f, 0x67, 0x60, 0xb1, 0x02, 0x42, 0x27, 0xa7,
|
||||
0x4b, 0x6a, 0x9e, 0x25, 0x92, 0x31, 0x09, 0x0b, 0xab, 0x4d, 0x32, 0xd2, 0xbd, 0x73, 0xa4, 0xf0,
|
||||
0x15, 0x2f, 0xf7, 0x42, 0x8a, 0xc2, 0xb9, 0x88, 0x63, 0xb9, 0x75, 0xa1, 0x1a, 0x88, 0x0b, 0x6e,
|
||||
0x0c, 0xf4, 0xe3, 0xa1, 0x1a, 0xd9, 0x23, 0x44, 0x5d, 0x3a, 0x2d, 0x75, 0x36, 0x5e, 0xfa, 0x30,
|
||||
0xfc, 0xb4, 0xe6, 0xd6, 0xaf, 0xcb, 0x34, 0x8f, 0x08, 0x81, 0x30, 0x6f, 0x26, 0x50, 0x13, 0x65,
|
||||
0x01, 0x1e, 0xde, 0x65, 0x6b, 0xe0, 0x1b, 0xf6, 0x11, 0x90, 0x87, 0xe5, 0xb5, 0x58, 0xe3, 0x80,
|
||||
0xa2, 0xfd, 0x20, 0x6e, 0x98, 0x7d, 0x4b, 0x5f, 0x95, 0x68, 0xb8, 0x9c, 0xf0, 0x61, 0x8b, 0xf5,
|
||||
0xba, 0x5a, 0x59, 0xb0, 0x93, 0x3a, 0x96, 0x9e, 0x7f, 0x71, 0xff, 0x41, 0xde, 0xcf, 0xb3, 0x2d,
|
||||
0xe2, 0x34, 0xcb, 0x51, 0x77, 0x4c, 0x6f, 0x81, 0xf0, 0xf4, 0xd6, 0x4d, 0x82, 0x55, 0x34, 0x0f,
|
||||
0xe8, 0x40, 0x18, 0x7a, 0xcb, 0x3e, 0x9f, 0xd3, 0x8d, 0xfb, 0xc8, 0x3f, 0xfd, 0xcd, 0xb6, 0x87,
|
||||
0x47, 0x21, 0x1c, 0xf0, 0x1b, 0xbe, 0x06, 0xfa, 0xb3, 0x34, 0x9a, 0x3a, 0xae, 0x73, 0x92, 0x07,
|
||||
0xb3, 0x20, 0x8b, 0x4e, 0x23, 0x7d, 0x25, 0x94, 0x3e, 0x7e, 0x12, 0xfd, 0xb0, 0x48, 0x13, 0xbe,
|
||||
0x8e, 0x7e, 0x48, 0xa7, 0xf8, 0x09, 0xa6, 0x46, 0x29, 0xd7, 0xbd, 0xd0, 0xe1, 0x7e, 0xc3, 0x64,
|
||||
0xb4, 0xa3, 0xf5, 0x3a, 0x03, 0x03, 0x41, 0x2c, 0xe9, 0x7b, 0xbb, 0x43, 0x75, 0xd6, 0x0e, 0x0b,
|
||||
0xd7, 0xb6, 0x4e, 0x4f, 0xad, 0x36, 0xe4, 0x4a, 0x9a, 0x17, 0x78, 0x2c, 0xa1, 0x28, 0x12, 0x8c,
|
||||
0xbf, 0x4d, 0xc7, 0x1b, 0x83, 0x2c, 0x5c, 0xb4, 0xa1, 0xaf, 0x36, 0x76, 0xa4, 0xa5, 0x10, 0x9d,
|
||||
0x3c, 0x64, 0x47, 0x12, 0x63, 0xca, 0x67, 0x05, 0xc5, 0xdd, 0x79, 0x19, 0x99, 0xb7, 0x9c, 0x65,
|
||||
0x10, 0xcd, 0x33, 0x2c, 0xa1, 0x67, 0x25, 0x18, 0xa6, 0x25, 0x6e, 0x85, 0xa6, 0xd7, 0xbc, 0x23,
|
||||
0x16, 0xca, 0xf2, 0xfa, 0x4c, 0xbe, 0x7b, 0xd6, 0x27, 0xdd, 0x6e, 0x17, 0x3a, 0xf4, 0x71, 0x50,
|
||||
0x9d, 0xbe, 0x04, 0x06, 0xce, 0xc2, 0xe3, 0x11, 0x60, 0xb3, 0xd9, 0x0c, 0xc0, 0x0c, 0x0b, 0x75,
|
||||
0x59, 0xd8, 0x5c, 0xc7, 0x1b, 0xb8, 0x1b, 0x08, 0x4a, 0x7e, 0x43, 0x34, 0x0f, 0x51, 0x55, 0x9d,
|
||||
0xed, 0xa6, 0xc3, 0x41, 0xaf, 0x20, 0xa5, 0x88, 0x7a, 0xf3, 0x1a, 0x33, 0xf2, 0x7d, 0x54, 0x8c,
|
||||
0x3d, 0x95, 0x66, 0x09, 0x7c, 0x58, 0xfa, 0xf6, 0x01, 0x1c, 0x48, 0x69, 0xc6, 0xd1, 0x07, 0x17,
|
||||
0x94, 0x19, 0x47, 0x5f, 0x5d, 0x50, 0x66, 0x5c, 0xee, 0xff, 0xd3, 0x86, 0xe7, 0x46, 0x27, 0x29,
|
||||
0x0e, 0xba, 0xa1, 0x7f, 0xcd, 0x0b, 0x1d, 0x8d, 0xba, 0x4c, 0x04, 0x93, 0xf1, 0x68, 0x67, 0x22,
|
||||
0x02, 0x4a, 0x4f, 0x11, 0x44, 0x1e, 0xb3, 0x11, 0xd9, 0x89, 0xa2, 0x98, 0x36, 0xb8, 0x77, 0x2b,
|
||||
0x8c, 0xf7, 0xf8, 0xae, 0x15, 0x44, 0xaa, 0x46, 0xa1, 0xd5, 0xee, 0x7e, 0x88, 0xba, 0x58, 0x43,
|
||||
0x6e, 0x40, 0x34, 0x3d, 0xde, 0x1d, 0x80, 0x7a, 0x1c, 0xdd, 0xfd, 0x00, 0x75, 0x31, 0xc5, 0x9b,
|
||||
0x2b, 0x80, 0x0d, 0x3f, 0x59, 0x43, 0x0c, 0x76, 0xda, 0xa8, 0x81, 0x3c, 0x05, 0x7a, 0x67, 0xbc,
|
||||
0xda, 0xd7, 0xae, 0x4d, 0xdc, 0xd1, 0x58, 0x7a, 0xd8, 0x4d, 0xa7, 0x3b, 0xdd, 0x71, 0xba, 0xb1,
|
||||
0xbc, 0x69, 0xa7, 0xc4, 0xca, 0x96, 0x74, 0x78, 0x64, 0x90, 0xbf, 0x4a, 0x07, 0x79, 0xdb, 0x8f,
|
||||
0x4f, 0x5f, 0xb2, 0xb0, 0xed, 0xf7, 0xd4, 0xa5, 0x4e, 0xff, 0xa7, 0xc6, 0xfe, 0x1a, 0xcc, 0x95,
|
||||
0x99, 0x1f, 0xb8, 0x74, 0x01, 0x31, 0x70, 0xe7, 0x6c, 0x85, 0xdf, 0xc9, 0x80, 0xcb, 0x73, 0xb3,
|
||||
0xa3, 0x5e, 0xdf, 0xbd, 0x38, 0x09, 0xf5, 0xb8, 0x67, 0x62, 0xb4, 0x0b, 0xf1, 0xbb, 0x12, 0x23,
|
||||
0xae, 0xcf, 0x72, 0xee, 0x78, 0xed, 0x02, 0x2f, 0x9f, 0xcc, 0xc0, 0x37, 0x34, 0xf9, 0x4b, 0xf7,
|
||||
0xf2, 0xf2, 0x92, 0xde, 0x67, 0xe2, 0xfd, 0xec, 0xcc, 0x3d, 0x3b, 0x3b, 0xc3, 0x7b, 0x57, 0xbe,
|
||||
0x5f, 0x74, 0x45, 0x7a, 0x46, 0xe9, 0x4b, 0x5d, 0xb7, 0xdb, 0x15, 0xef, 0x2f, 0x75, 0xdd, 0x99,
|
||||
0x7c, 0x17, 0x88, 0x94, 0x80, 0xc7, 0xbb, 0x11, 0x01, 0x61, 0xa6, 0x62, 0x8a, 0xd5, 0x76, 0x0f,
|
||||
0x85, 0xfe, 0xc4, 0x56, 0x38, 0x9d, 0xb3, 0xa3, 0x48, 0x80, 0xc3, 0xe6, 0x7b, 0xcb, 0x09, 0xae,
|
||||
0xaa, 0x31, 0x30, 0xa6, 0x20, 0x63, 0xa6, 0x53, 0x57, 0x4e, 0x7b, 0x2a, 0x83, 0x7d, 0x94, 0x90,
|
||||
0x11, 0x53, 0x3d, 0x20, 0x59, 0x6d, 0xae, 0xaa, 0xcd, 0x75, 0xb5, 0xb9, 0xae, 0x36, 0xde, 0x1b,
|
||||
0xa0, 0xa0, 0xd1, 0x4e, 0xf6, 0x8e, 0x26, 0x12, 0x1b, 0xf7, 0x00, 0xdd, 0x1c, 0x8d, 0x10, 0x44,
|
||||
0xcd, 0x3e, 0x27, 0xaa, 0xcf, 0x89, 0xee, 0x73, 0x52, 0xf5, 0xb9, 0xd9, 0x08, 0x0e, 0xaf, 0x75,
|
||||
0xee, 0xbc, 0xd8, 0xd6, 0x19, 0x1b, 0xc6, 0xd9, 0x83, 0xb2, 0xba, 0xbc, 0xbd, 0x87, 0xcf, 0xf6,
|
||||
0x1f, 0x49, 0x83, 0xfc, 0x16, 0x91, 0x32, 0xb2, 0xa5, 0x9a, 0x41, 0x31, 0x6e, 0x06, 0xc5, 0x06,
|
||||
0x4f, 0x5b, 0xba, 0xc3, 0x4e, 0xef, 0x24, 0x6a, 0xc3, 0x15, 0x83, 0x04, 0x4d, 0x21, 0x70, 0x2a,
|
||||
0x7f, 0xb0, 0x76, 0xab, 0x49, 0x4a, 0x75, 0x1d, 0xe5, 0x90, 0x6f, 0x39, 0xd0, 0xe5, 0x49, 0xe6,
|
||||
0x3c, 0x22, 0x9e, 0xcc, 0xc0, 0x55, 0xbe, 0xc3, 0x43, 0x1a, 0x33, 0x79, 0x3b, 0x16, 0xa1, 0x21,
|
||||
0x7b, 0x27, 0x8c, 0x95, 0x3b, 0xfb, 0x62, 0x63, 0xa2, 0xf6, 0x6e, 0xa0, 0xea, 0xcc, 0xbd, 0x3c,
|
||||
0x89, 0x07, 0xb5, 0x58, 0x34, 0xc4, 0xcf, 0x9e, 0xb8, 0x1c, 0x05, 0xde, 0x50, 0x7d, 0x2b, 0x58,
|
||||
0x15, 0x8b, 0x45, 0x23, 0x41, 0x4c, 0x5c, 0x28, 0xbe, 0x58, 0x02, 0xfb, 0x07, 0xab, 0x23, 0x0d,
|
||||
0x1c, 0x3a, 0xc1, 0x5e, 0x8e, 0xb8, 0x31, 0xd1, 0xb1, 0x8f, 0xc5, 0xd0, 0x86, 0x33, 0x7d, 0xf6,
|
||||
0xc6, 0x85, 0x3e, 0xde, 0x6c, 0x9c, 0x9d, 0x33, 0x26, 0xb5, 0xe5, 0x35, 0x8d, 0x56, 0xd6, 0x2e,
|
||||
0x21, 0x24, 0xdb, 0xc6, 0xd8, 0x7b, 0xd1, 0x87, 0xa5, 0xcc, 0xa9, 0x9d, 0xfa, 0x0f, 0xb5, 0xc9,
|
||||
0x92, 0x71, 0x58, 0x4a, 0x64, 0x7e, 0xd5, 0x36, 0x4e, 0x66, 0x5a, 0x38, 0xa9, 0xa3, 0x7c, 0x62,
|
||||
0xe9, 0x62, 0x53, 0x56, 0x8c, 0xac, 0x20, 0xbc, 0x9e, 0x8b, 0x95, 0xf4, 0x2c, 0x38, 0x60, 0x51,
|
||||
0x58, 0xbb, 0xba, 0x9f, 0x84, 0x61, 0xd8, 0xea, 0x5f, 0x7c, 0xc6, 0x5a, 0xa4, 0x2d, 0x5b, 0xdd,
|
||||
0xd6, 0x45, 0x97, 0xd2, 0x94, 0xdb, 0x6d, 0xbd, 0xa8, 0xf3, 0x61, 0x83, 0xd5, 0x50, 0x28, 0x34,
|
||||
0xee, 0x59, 0x2f, 0xe1, 0x67, 0xbf, 0x24, 0x8f, 0x95, 0x0e, 0x92, 0x90, 0xc7, 0x22, 0xa7, 0xbb,
|
||||
0x77, 0x6e, 0xdf, 0xa8, 0xfe, 0x9e, 0x33, 0xc7, 0xda, 0x2c, 0x23, 0xf3, 0xae, 0x2b, 0x2d, 0x3b,
|
||||
0x1d, 0x5f, 0xb6, 0x40, 0x0f, 0x9f, 0x59, 0x7a, 0xc6, 0xea, 0xed, 0xf1, 0x29, 0xc3, 0xd7, 0xb7,
|
||||
0xc8, 0x2f, 0x0b, 0x80, 0xe1, 0x2d, 0x1e, 0xe1, 0x3b, 0x3c, 0x02, 0x13, 0xbe, 0x85, 0x6e, 0x61,
|
||||
0xb5, 0x22, 0x91, 0x51, 0x27, 0x16, 0x0b, 0x61, 0xe5, 0xcc, 0xc8, 0x72, 0x90, 0xd3, 0x9c, 0x14,
|
||||
0xec, 0x41, 0x9b, 0xc1, 0x1e, 0xa8, 0x44, 0x18, 0xcd, 0x9e, 0xba, 0x41, 0x08, 0xfb, 0x84, 0x37,
|
||||
0x03, 0xf2, 0xb0, 0xc9, 0xab, 0xac, 0xf7, 0xab, 0xb9, 0xfa, 0x34, 0x99, 0xce, 0x11, 0xb7, 0xa2,
|
||||
0xd9, 0x9d, 0x97, 0xbb, 0x77, 0xec, 0x1e, 0xbf, 0xf7, 0x64, 0xaf, 0x18, 0x16, 0xcb, 0xbd, 0x61,
|
||||
0xb1, 0xe4, 0x85, 0x34, 0x37, 0x8a, 0x2a, 0x6a, 0x54, 0xd4, 0x51, 0xa3, 0xa2, 0x8e, 0x1a, 0x69,
|
||||
0x5b, 0x85, 0x0e, 0x37, 0x2a, 0xca, 0x86, 0xad, 0xd2, 0xb4, 0x77, 0xc2, 0xda, 0xde, 0x21, 0x1f,
|
||||
0xfd, 0xb0, 0xbd, 0x93, 0xd4, 0xf6, 0x4e, 0xb0, 0x37, 0xd6, 0x3a, 0x52, 0x0a, 0x68, 0x36, 0xdb,
|
||||
0x92, 0x97, 0x30, 0x6c, 0x4a, 0x0e, 0x89, 0x49, 0x6b, 0xc4, 0x40, 0x56, 0x24, 0x28, 0x59, 0xad,
|
||||
0xc5, 0xbb, 0x4c, 0xfc, 0x57, 0x4b, 0x76, 0x29, 0x72, 0x21, 0x4c, 0x51, 0x44, 0x77, 0x79, 0xfd,
|
||||
0x78, 0x27, 0xfa, 0xa2, 0x38, 0x6b, 0x9f, 0x19, 0x25, 0x43, 0x6a, 0x07, 0xf7, 0x13, 0x32, 0xbd,
|
||||
0x5d, 0x23, 0xcd, 0xad, 0xd8, 0x27, 0xed, 0x9d, 0x89, 0xbd, 0x91, 0x90, 0x0e, 0xf6, 0x55, 0xc1,
|
||||
0x6a, 0x8a, 0x4c, 0xb7, 0x53, 0x79, 0x90, 0xf2, 0x24, 0xa7, 0xf8, 0x74, 0xdb, 0x0e, 0x3b, 0xa9,
|
||||
0x3c, 0x4f, 0x79, 0x02, 0x52, 0x10, 0x52, 0xc3, 0xd9, 0xfc, 0xeb, 0xc2, 0x3e, 0x9a, 0xd9, 0x74,
|
||||
0x5c, 0xa1, 0x12, 0xfb, 0x41, 0x21, 0xe5, 0x10, 0x9b, 0xe9, 0x2b, 0x60, 0x7e, 0x36, 0x14, 0x67,
|
||||
0xd3, 0x25, 0x8d, 0x89, 0xd8, 0x15, 0xd8, 0xdc, 0xb3, 0xf3, 0x6d, 0x01, 0x15, 0x8a, 0x73, 0x11,
|
||||
0xa1, 0x02, 0xe0, 0xec, 0x8a, 0x27, 0x75, 0xc2, 0x4b, 0x7c, 0xee, 0xe2, 0xf8, 0xf8, 0x49, 0x00,
|
||||
0x24, 0x0a, 0xff, 0x1d, 0x02, 0xee, 0x0b, 0x0a, 0xd6, 0x1d, 0xe2, 0xfc, 0xfd, 0x92, 0xac, 0x34,
|
||||
0x3d, 0xb5, 0x4a, 0xec, 0x3d, 0x2e, 0x6b, 0x9e, 0xd1, 0xcd, 0xb3, 0xe4, 0x47, 0xaa, 0x19, 0x9e,
|
||||
0x3d, 0x1c, 0x92, 0x23, 0x90, 0x0e, 0x93, 0xb4, 0x28, 0x52, 0x38, 0xa1, 0x01, 0xed, 0x89, 0x4b,
|
||||
0x8b, 0x6d, 0xab, 0x86, 0x92, 0x1f, 0xc1, 0xa8, 0x3b, 0x26, 0xa6, 0x86, 0x93, 0x4a, 0x1e, 0x4b,
|
||||
0x41, 0xb7, 0xf2, 0x77, 0x89, 0xba, 0xc0, 0xba, 0x87, 0x1b, 0xe7, 0x10, 0xcd, 0x6f, 0xcb, 0x9d,
|
||||
0x9e, 0x92, 0x3b, 0xca, 0x69, 0xd7, 0x1e, 0x51, 0xb5, 0xe5, 0xf9, 0xaf, 0x0a, 0xa2, 0xd9, 0x48,
|
||||
0x41, 0x1c, 0x0b, 0x89, 0x64, 0xbc, 0xde, 0x6f, 0x1e, 0x93, 0x7f, 0xa1, 0x39, 0x8e, 0x70, 0x6b,
|
||||
0x1c, 0x52, 0xf2, 0x7c, 0x6b, 0x8c, 0x66, 0xbd, 0xfe, 0x17, 0x47, 0x17, 0x36, 0x47, 0x17, 0x1a,
|
||||
0xa3, 0x23, 0x1c, 0x4f, 0x9a, 0x1f, 0x9f, 0xf4, 0x1f, 0x4c, 0xb7, 0x53, 0x6f, 0x55, 0x66, 0xde,
|
||||
0x4b, 0xd1, 0x9f, 0x08, 0xb0, 0xc9, 0x8e, 0x1e, 0x54, 0x19, 0xfc, 0xfe, 0xe5, 0x16, 0x88, 0x5d,
|
||||
0x52, 0x32, 0x36, 0x79, 0x3d, 0x38, 0xf4, 0xa4, 0xb9, 0x2b, 0x2b, 0xa1, 0x3a, 0x51, 0xd8, 0x34,
|
||||
0x80, 0xbc, 0x7e, 0x1f, 0x32, 0xae, 0x69, 0xf3, 0x78, 0xbd, 0x1e, 0x3f, 0xdb, 0x18, 0x21, 0x9d,
|
||||
0xdb, 0x4a, 0xd8, 0x8b, 0xcd, 0x13, 0xee, 0x54, 0x82, 0xbe, 0x12, 0xe9, 0xa9, 0x6f, 0xf3, 0xc6,
|
||||
0x1e, 0x92, 0x96, 0xf0, 0x4e, 0x2d, 0xf8, 0x69, 0xf7, 0x53, 0x48, 0x39, 0xfa, 0x0e, 0xd9, 0x5f,
|
||||
0x10, 0xa1, 0xda, 0x13, 0x7d, 0x64, 0xdf, 0x86, 0xf6, 0x24, 0x7a, 0x2f, 0xbb, 0x6d, 0xb1, 0x59,
|
||||
0x43, 0x06, 0xf4, 0x51, 0xd7, 0x71, 0x4e, 0xec, 0xa4, 0x38, 0x15, 0x27, 0x0b, 0x72, 0x48, 0x5a,
|
||||
0x29, 0x39, 0x53, 0x74, 0xde, 0xdc, 0x7a, 0xda, 0xde, 0xb9, 0x82, 0x39, 0xea, 0xf5, 0x6a, 0xa1,
|
||||
0xcb, 0xdb, 0xb9, 0xdc, 0xf7, 0x0b, 0xd3, 0x1c, 0x0a, 0xfc, 0x84, 0xb6, 0x06, 0x4b, 0x9d, 0x97,
|
||||
0xd3, 0x46, 0x06, 0xf2, 0x2a, 0xe1, 0x0b, 0x5d, 0xf4, 0xbf, 0x67, 0x31, 0x58, 0x17, 0x32, 0x6b,
|
||||
0xdf, 0x16, 0xc3, 0xe6, 0x7f, 0x41, 0xcc, 0x23, 0x75, 0xb4, 0xdf, 0xe2, 0xdf, 0x8f, 0xe9, 0xed,
|
||||
0xcd, 0xc4, 0x56, 0x06, 0x5a, 0xe8, 0x24, 0xac, 0xec, 0x44, 0xce, 0xab, 0x54, 0x5b, 0xad, 0x6a,
|
||||
0xfb, 0xe4, 0xa8, 0x37, 0xd8, 0x52, 0x23, 0xa1, 0xa1, 0x46, 0xd2, 0x7d, 0x6a, 0x24, 0xdd, 0xd6,
|
||||
0x02, 0x82, 0x5a, 0xfc, 0xf8, 0xd9, 0x6a, 0xe4, 0x29, 0x00, 0xff, 0x2e, 0x35, 0xf2, 0x33, 0x11,
|
||||
0xd0, 0x5f, 0x55, 0x24, 0xd9, 0xbf, 0xa0, 0x48, 0x44, 0x47, 0xdf, 0x12, 0x17, 0x1f, 0xe8, 0x2b,
|
||||
0x60, 0x0f, 0x46, 0x08, 0x33, 0x4b, 0xe9, 0xf6, 0xe6, 0x2f, 0xb0, 0x79, 0xc0, 0x9c, 0xf5, 0x76,
|
||||
0x6d, 0xfb, 0xaa, 0x0b, 0xbd, 0x30, 0xe5, 0xf3, 0x86, 0xf1, 0xbc, 0xbd, 0x23, 0xbb, 0xcd, 0x16,
|
||||
0xdb, 0x16, 0x3a, 0x1c, 0x1c, 0xd6, 0xba, 0xe7, 0x71, 0x9c, 0xde, 0xb2, 0x56, 0x1c, 0xdd, 0x70,
|
||||
0xd6, 0x0a, 0xfe, 0x28, 0x03, 0xd6, 0x22, 0x7f, 0x87, 0xb5, 0x6e, 0x02, 0x0a, 0x17, 0xe2, 0x15,
|
||||
0xf5, 0x1c, 0xcb, 0xdb, 0xdb, 0xba, 0xaa, 0x23, 0x9b, 0xc8, 0xe6, 0x12, 0x94, 0x06, 0x2c, 0x5a,
|
||||
0x6f, 0x9e, 0x42, 0xc9, 0x7b, 0xe3, 0xfc, 0xf5, 0x61, 0xcc, 0x98, 0x73, 0xa5, 0x71, 0x04, 0x71,
|
||||
0x3d, 0x1e, 0x19, 0xd1, 0x6b, 0x01, 0x05, 0x39, 0xcf, 0x8b, 0x4e, 0x0e, 0xb1, 0x29, 0x5d, 0x0c,
|
||||
0xd6, 0x12, 0x08, 0x55, 0xc2, 0x4c, 0x0e, 0x45, 0xe1, 0xe6, 0x3b, 0x5a, 0xca, 0x84, 0xe7, 0xb9,
|
||||
0x88, 0x09, 0x1e, 0x1c, 0x5c, 0x55, 0xed, 0xb9, 0x63, 0x13, 0x06, 0x27, 0x4b, 0x97, 0xf4, 0xe5,
|
||||
0xe8, 0x7b, 0xaf, 0xd7, 0xc9, 0xa5, 0x91, 0xf7, 0x24, 0x16, 0xbe, 0x10, 0xe2, 0xe1, 0x91, 0x5e,
|
||||
0x2a, 0x67, 0xa1, 0x7c, 0x42, 0xdf, 0xc7, 0xff, 0xff, 0xf5, 0x7d, 0xd8, 0xd4, 0xf7, 0xe1, 0x73,
|
||||
0xf5, 0x7d, 0x6c, 0x8e, 0x23, 0xfe, 0x77, 0xe9, 0xfb, 0x70, 0x14, 0x37, 0x47, 0x17, 0x6f, 0xe9,
|
||||
0x7b, 0x92, 0x7d, 0xd7, 0xc6, 0x96, 0x57, 0xb4, 0xbd, 0xf7, 0x59, 0x6f, 0x80, 0x0d, 0xa2, 0x3d,
|
||||
0xdb, 0xa0, 0x52, 0xad, 0x52, 0xe0, 0x4f, 0x5d, 0xdb, 0x33, 0xe4, 0x5a, 0x4f, 0xe6, 0x89, 0xad,
|
||||
0xaf, 0xdc, 0xd7, 0x87, 0x85, 0xe5, 0xdc, 0xbe, 0x6a, 0x66, 0xc2, 0x60, 0xe0, 0x19, 0x78, 0x68,
|
||||
0x2b, 0x3b, 0x9a, 0xd2, 0xb7, 0x8f, 0xa7, 0xcc, 0xa6, 0xbd, 0xbf, 0xa6, 0x83, 0xa5, 0xdf, 0xbd,
|
||||
0x91, 0x4a, 0x8d, 0x9d, 0xbd, 0x1b, 0x45, 0xd5, 0x27, 0x3f, 0x82, 0xe9, 0x54, 0x8a, 0x70, 0xa1,
|
||||
0xff, 0xf4, 0xf5, 0x55, 0x53, 0xb6, 0x77, 0x1d, 0xe3, 0xa3, 0x01, 0xbb, 0x66, 0x0b, 0x96, 0x51,
|
||||
0x74, 0xe4, 0xd5, 0x13, 0x67, 0x6a, 0x0c, 0x06, 0x2a, 0x98, 0xf4, 0x88, 0x3d, 0x1d, 0x3e, 0xda,
|
||||
0x54, 0xa1, 0xc7, 0x68, 0x6b, 0xeb, 0x37, 0x7a, 0x7c, 0xeb, 0x37, 0x12, 0x9f, 0x11, 0x7d, 0xce,
|
||||
0xd6, 0xaf, 0x9e, 0xd9, 0x76, 0x78, 0xbc, 0xfa, 0xb6, 0xb8, 0x38, 0x75, 0x62, 0x8c, 0x51, 0x7f,
|
||||
0x00, 0x7d, 0xa0, 0xec, 0x16, 0x7e, 0xdb, 0xfa, 0xc9, 0x2e, 0xaa, 0xbb, 0x34, 0x54, 0x47, 0x6e,
|
||||
0x16, 0x19, 0x7b, 0xc5, 0xea, 0x90, 0xa2, 0x02, 0x90, 0x2f, 0xc5, 0x97, 0x19, 0x13, 0x78, 0xa0,
|
||||
0x51, 0x83, 0x12, 0xf6, 0xac, 0x81, 0x71, 0xac, 0x48, 0xf1, 0x86, 0x9f, 0x6c, 0x4c, 0x54, 0xd7,
|
||||
0x97, 0x89, 0xe5, 0x1d, 0xff, 0x87, 0x5d, 0xac, 0xea, 0xfa, 0x15, 0x9d, 0xdc, 0x44, 0xf0, 0x15,
|
||||
0xe4, 0x72, 0xd0, 0x55, 0x51, 0x8b, 0x45, 0x5b, 0x1b, 0xba, 0xea, 0xab, 0xf1, 0x5b, 0x78, 0x69,
|
||||
0x6c, 0x8a, 0x37, 0xe7, 0x52, 0xb0, 0x9e, 0x43, 0xc7, 0x12, 0x12, 0x75, 0x89, 0xd4, 0xfe, 0x3f,
|
||||
0x9a, 0x97, 0xfa, 0x04, 0xb9, 0xef, 0x1b, 0x83, 0xd2, 0xfb, 0xdc, 0x8f, 0x51, 0x29, 0x37, 0x50,
|
||||
0x90, 0xa9, 0x73, 0x0e, 0xc9, 0x16, 0x12, 0x9a, 0x4d, 0x77, 0x3f, 0x41, 0x21, 0x5a, 0x9b, 0xc8,
|
||||
0xa0, 0xeb, 0xba, 0x4f, 0x4d, 0xc0, 0x18, 0xff, 0x66, 0xcf, 0x58, 0xaa, 0x3e, 0x2d, 0x03, 0x7f,
|
||||
0xbb, 0xe3, 0x7a, 0x2d, 0x05, 0xc7, 0xa1, 0x6f, 0x7c, 0x0c, 0xb6, 0xa8, 0xb7, 0xfb, 0xd4, 0x6a,
|
||||
0x18, 0x6b, 0xa1, 0xd7, 0x6f, 0xb3, 0x2b, 0xa3, 0x1e, 0x6b, 0x18, 0x3d, 0x43, 0x44, 0x24, 0x07,
|
||||
0x26, 0x1c, 0xc7, 0xe6, 0x6c, 0xf3, 0xad, 0xe9, 0xa6, 0xc9, 0xc1, 0x79, 0xea, 0x03, 0x04, 0x52,
|
||||
0x48, 0x0e, 0x76, 0xbe, 0x10, 0x3c, 0x2c, 0x20, 0xe0, 0x0e, 0x88, 0x36, 0x3b, 0x43, 0xd1, 0x7a,
|
||||
0x2d, 0x1e, 0xf4, 0x25, 0x46, 0xa7, 0xfa, 0x1a, 0x49, 0xb4, 0x25, 0x50, 0x51, 0x41, 0x7c, 0x9a,
|
||||
0x79, 0x27, 0x77, 0x2f, 0xdc, 0x44, 0x7d, 0xa9, 0x45, 0x9e, 0x9f, 0x70, 0x36, 0x7b, 0xe1, 0x51,
|
||||
0x87, 0x9b, 0xed, 0x79, 0xce, 0x66, 0xe6, 0x44, 0xeb, 0x33, 0x78, 0xb4, 0xa0, 0x7f, 0x69, 0x6a,
|
||||
0x92, 0x4b, 0x33, 0x85, 0x16, 0x54, 0x93, 0x7f, 0x0a, 0x42, 0x8b, 0x9d, 0xea, 0x13, 0x0a, 0x10,
|
||||
0x3e, 0xbd, 0x9d, 0x61, 0xd0, 0xe2, 0xec, 0xbf, 0x2e, 0xa9, 0x0f, 0x72, 0x88, 0x0f, 0xb8, 0x6f,
|
||||
0x7f, 0x00, 0xa7, 0xd3, 0x1b, 0x74, 0x5f, 0x65, 0xf4, 0x39, 0x69, 0x71, 0x35, 0xb0, 0x2a, 0x1e,
|
||||
0x65, 0xed, 0xde, 0x58, 0x9f, 0xd8, 0xd8, 0xd6, 0x60, 0x83, 0xa3, 0xa3, 0xed, 0x2f, 0xe1, 0x88,
|
||||
0xcf, 0x06, 0x70, 0xb9, 0x34, 0xf4, 0x20, 0x03, 0xdf, 0x36, 0x16, 0x59, 0x94, 0x8c, 0x1e, 0x57,
|
||||
0x57, 0x85, 0x5e, 0x02, 0x69, 0x66, 0x4b, 0x30, 0xbd, 0xad, 0x79, 0x9a, 0xc2, 0xf0, 0xe0, 0xf5,
|
||||
0xd0, 0xff, 0xd9, 0x54, 0x9b, 0xcb, 0x3e, 0x50, 0x6a, 0xc4, 0x11, 0x28, 0xae, 0x86, 0x48, 0x74,
|
||||
0x04, 0xe5, 0x14, 0xc2, 0x83, 0x8a, 0x1c, 0x28, 0x35, 0x73, 0xee, 0x35, 0x59, 0x46, 0xbb, 0x32,
|
||||
0xe0, 0x9d, 0xf8, 0xea, 0x78, 0xbe, 0x2b, 0x97, 0x2a, 0x89, 0x53, 0xec, 0x48, 0xf5, 0x3c, 0xfa,
|
||||
0x93, 0xef, 0x6d, 0xa0, 0x80, 0xd9, 0xfa, 0xe8, 0xe8, 0x66, 0xb7, 0xe9, 0x9e, 0x2f, 0x0e, 0x3c,
|
||||
0x47, 0x9e, 0x88, 0x96, 0xb6, 0x29, 0x12, 0x1e, 0x91, 0xe7, 0xdb, 0x9c, 0x2f, 0x3e, 0x18, 0xb6,
|
||||
0x3b, 0x60, 0x1e, 0xeb, 0x3f, 0x5e, 0xd1, 0x54, 0x69, 0xe2, 0xfb, 0x58, 0x52, 0x96, 0xec, 0x80,
|
||||
0x32, 0x14, 0xf3, 0x96, 0x3c, 0x79, 0xa6, 0x98, 0x36, 0xac, 0x33, 0xfd, 0x99, 0x87, 0xbd, 0x06,
|
||||
0x9b, 0x18, 0x89, 0x28, 0xf1, 0xe4, 0xb1, 0x24, 0x4b, 0xba, 0xa5, 0xbb, 0xb2, 0xcf, 0x2c, 0xde,
|
||||
0x65, 0x42, 0xe1, 0xc1, 0x6e, 0x9f, 0xa9, 0xa2, 0xf1, 0x8a, 0xeb, 0x66, 0xc3, 0x9d, 0xce, 0xe4,
|
||||
0x09, 0x25, 0x43, 0x90, 0xa2, 0xae, 0xd7, 0xdb, 0x5f, 0x57, 0x2a, 0xbc, 0x66, 0xd5, 0xbe, 0xef,
|
||||
0x57, 0x1f, 0x6c, 0x32, 0xeb, 0xd2, 0x89, 0xa2, 0x66, 0xd5, 0x6d, 0xd2, 0xd8, 0x3a, 0x3b, 0x57,
|
||||
0x7d, 0xf5, 0x4f, 0x0a, 0x8c, 0xa4, 0xda, 0xe8, 0xd0, 0x11, 0x85, 0xa6, 0x2c, 0xa3, 0x2f, 0x7b,
|
||||
0x83, 0x35, 0x46, 0x0f, 0xd5, 0x57, 0x84, 0xbc, 0xdb, 0x62, 0xc3, 0x8c, 0xd7, 0x65, 0xb1, 0x19,
|
||||
0xc3, 0x1d, 0xab, 0x5d, 0xb4, 0xf0, 0x5e, 0x9c, 0xec, 0x23, 0xc6, 0x68, 0x54, 0x63, 0xf2, 0x4b,
|
||||
0xfc, 0xb9, 0xf7, 0x60, 0x86, 0xc4, 0xe4, 0xa6, 0xde, 0x66, 0xe3, 0x6c, 0x3b, 0x56, 0xc2, 0xa9,
|
||||
0x12, 0x74, 0xf1, 0x43, 0x14, 0x5e, 0x93, 0x53, 0x15, 0x4d, 0x3d, 0x0a, 0x18, 0xe8, 0xa3, 0x45,
|
||||
0xfa, 0x74, 0x1d, 0xa4, 0x85, 0x4c, 0x6d, 0x36, 0xb0, 0x38, 0x9a, 0x3e, 0x93, 0xa1, 0x91, 0xea,
|
||||
0xef, 0x20, 0x89, 0x7d, 0x12, 0x35, 0x98, 0x3a, 0x86, 0x13, 0xed, 0x0b, 0xe1, 0x64, 0xec, 0x81,
|
||||
0xce, 0xf2, 0xa8, 0xbf, 0xa2, 0xa1, 0xe3, 0x39, 0xe5, 0x16, 0x09, 0x48, 0x5b, 0x92, 0xc2, 0xd2,
|
||||
0xc2, 0x45, 0xf5, 0x4a, 0xe5, 0x08, 0x25, 0xc2, 0x11, 0x71, 0xf4, 0xf9, 0xac, 0xeb, 0x27, 0xa3,
|
||||
0x87, 0x92, 0xbf, 0xcf, 0xba, 0x5d, 0x1d, 0xa4, 0xa0, 0xa4, 0x24, 0x47, 0xb9, 0x8d, 0xa2, 0xad,
|
||||
0x72, 0x88, 0x3e, 0x75, 0xb2, 0xd8, 0xbb, 0x64, 0x5b, 0x1b, 0x55, 0x9e, 0xb5, 0x82, 0xac, 0x8e,
|
||||
0xe0, 0xd0, 0xe8, 0x60, 0xd6, 0x6b, 0x13, 0x82, 0x11, 0x21, 0xf4, 0xba, 0xcc, 0x74, 0xbc, 0xbc,
|
||||
0x97, 0x6c, 0xd7, 0x3b, 0x93, 0x91, 0xd0, 0xca, 0x19, 0x33, 0x5f, 0x7f, 0x68, 0x86, 0x47, 0x59,
|
||||
0xd3, 0x23, 0x27, 0x7f, 0xb0, 0x0e, 0x78, 0x78, 0xea, 0xc5, 0x18, 0x65, 0xf3, 0x08, 0x39, 0xab,
|
||||
0xaf, 0xd6, 0xc8, 0x3e, 0x1a, 0x07, 0x2d, 0x7b, 0x7d, 0x56, 0x1d, 0xbf, 0x96, 0x7f, 0x5a, 0x86,
|
||||
0x3d, 0xd4, 0xa8, 0xd0, 0x94, 0xa0, 0x8e, 0x55, 0x12, 0xa1, 0xc8, 0xbf, 0x86, 0x21, 0xfd, 0x15,
|
||||
0x4b, 0x61, 0xdd, 0x62, 0xf2, 0x24, 0xa5, 0x04, 0x20, 0x5d, 0x84, 0x9b, 0x82, 0xdd, 0x15, 0xec,
|
||||
0x63, 0xc1, 0xde, 0x16, 0xec, 0x5d, 0xe1, 0xdb, 0x6f, 0x4c, 0xaf, 0xc5, 0xbe, 0x29, 0xfc, 0x6b,
|
||||
0xd3, 0x1f, 0xd9, 0x22, 0x91, 0x37, 0x05, 0xbb, 0x81, 0xb7, 0x88, 0x36, 0x6f, 0x7c, 0x00, 0x7a,
|
||||
0x53, 0x18, 0x01, 0xdb, 0x37, 0x74, 0x0e, 0x5d, 0xa9, 0xfb, 0x08, 0x14, 0x77, 0xe0, 0xab, 0xa4,
|
||||
0x82, 0xe2, 0x8d, 0x66, 0xbc, 0xba, 0xf4, 0x94, 0x98, 0x1f, 0xd2, 0x51, 0xd5, 0x87, 0x49, 0xfd,
|
||||
0x75, 0xd3, 0x3f, 0x4a, 0x9e, 0xdd, 0xbf, 0xe7, 0x31, 0x17, 0x1f, 0xfa, 0xa3, 0x2f, 0x7b, 0x37,
|
||||
0xfe, 0x96, 0x46, 0x24, 0x0e, 0x6e, 0x8a, 0xbf, 0x4e, 0x21, 0x05, 0xb5, 0xf1, 0xd5, 0xaf, 0x03,
|
||||
0xa7, 0x09, 0x58, 0x39, 0xb8, 0x71, 0x23, 0xfa, 0xce, 0x62, 0x24, 0xbf, 0xf5, 0xc4, 0x7d, 0xf1,
|
||||
0x37, 0x64, 0x7c, 0x3f, 0x95, 0xdf, 0x6d, 0xf7, 0x84, 0xe3, 0x96, 0xac, 0xd7, 0x89, 0x8b, 0xb9,
|
||||
0xf9, 0xd5, 0x41, 0x54, 0xb2, 0x75, 0x58, 0x49, 0xfa, 0x98, 0xfe, 0x32, 0x09, 0x7d, 0xc4, 0x1b,
|
||||
0xca, 0xd4, 0xa3, 0x53, 0x64, 0x89, 0x43, 0x49, 0xc6, 0xe9, 0x0f, 0x95, 0xdc, 0x31, 0xe3, 0x63,
|
||||
0xe5, 0xdb, 0x7f, 0x45, 0x86, 0xfe, 0x9a, 0x41, 0x36, 0x1c, 0x45, 0x63, 0x8f, 0xcb, 0xae, 0x1a,
|
||||
0x1f, 0x51, 0x4d, 0xcc, 0x8f, 0xa8, 0xb2, 0x92, 0x51, 0xc8, 0x43, 0xfc, 0xed, 0x13, 0xfa, 0x2b,
|
||||
0x33, 0x25, 0x19, 0x72, 0xf6, 0x02, 0x8b, 0xb5, 0xcb, 0xc1, 0x0f, 0xdb, 0x27, 0xf1, 0xb4, 0x41,
|
||||
0x2c, 0x6e, 0xf0, 0xd1, 0xd5, 0x01, 0x80, 0xb0, 0xe2, 0x34, 0x20, 0x56, 0xa2, 0x2f, 0x88, 0x1a,
|
||||
0x87, 0x2f, 0x83, 0xe9, 0xbd, 0x50, 0x3a, 0x43, 0xac, 0x89, 0x77, 0xf8, 0xd0, 0xa8, 0xf5, 0xe5,
|
||||
0xbb, 0xb7, 0xe2, 0x23, 0xc6, 0xc8, 0x03, 0x1c, 0xba, 0x1f, 0x4f, 0x68, 0x57, 0xb8, 0xb6, 0x3f,
|
||||
0x16, 0xfe, 0x1d, 0xfd, 0xbf, 0x5e, 0x3f, 0x6c, 0x1c, 0x17, 0x9c, 0x99, 0x63, 0x24, 0xbe, 0x25,
|
||||
0xfe, 0x80, 0x9b, 0x05, 0xc2, 0x73, 0xa5, 0xff, 0xf2, 0x53, 0x95, 0x94, 0xd2, 0xce, 0x7f, 0x57,
|
||||
0x30, 0xfb, 0x6d, 0xe1, 0x23, 0xb7, 0xc4, 0x54, 0x6d, 0xf1, 0x14, 0x7f, 0x00, 0xc0, 0x5d, 0xf8,
|
||||
0x0b, 0x50, 0xab, 0x5b, 0x7d, 0xf9, 0xfa, 0x0b, 0xfa, 0xb6, 0xe4, 0x9c, 0x28, 0xd8, 0x95, 0x8c,
|
||||
0xeb, 0x4f, 0xc4, 0x8b, 0xdc, 0x5e, 0xf7, 0x97, 0xe2, 0x45, 0x44, 0xa7, 0xfc, 0x5b, 0x91, 0xfe,
|
||||
0x22, 0xbd, 0xf3, 0xef, 0x89, 0xee, 0xc1, 0x03, 0xff, 0x0d, 0xd8, 0x16, 0x4f, 0xe4, 0x58, 0x6e,
|
||||
0x00, 0x00
|
||||
};
|
||||
|
||||
|
||||
// Autogenerated from wled00/data/rangetouch.js, do not edit!!
|
||||
const uint16_t rangetouchJs_length = 1828;
|
||||
const uint8_t rangetouchJs[] PROGMEM = {
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x13, 0xb5, 0x58, 0xdf, 0x8f, 0xdb, 0xb8,
|
||||
0x11, 0x7e, 0xcf, 0x5f, 0x21, 0xab, 0xad, 0x8f, 0xdc, 0xe5, 0xca, 0xf6, 0x02, 0x79, 0x91, 0xc3,
|
||||
0x18, 0x69, 0x2e, 0x07, 0x14, 0xcd, 0x36, 0x45, 0x36, 0x87, 0x16, 0xf0, 0xf9, 0x41, 0x96, 0x68,
|
||||
0x9b, 0x17, 0x99, 0xd4, 0x91, 0x94, 0x37, 0xc6, 0xae, 0xfe, 0xf7, 0xce, 0x90, 0x92, 0x2d, 0x67,
|
||||
0xed, 0x24, 0x0f, 0xd7, 0x60, 0x21, 0x4b, 0xd4, 0x70, 0x38, 0x3f, 0xbe, 0xf9, 0x66, 0x94, 0xd1,
|
||||
0x28, 0xe2, 0x7f, 0xda, 0xbf, 0x17, 0xa3, 0x51, 0x64, 0x32, 0xb5, 0x16, 0x4e, 0xd7, 0xf9, 0x26,
|
||||
0xf9, 0xdd, 0x46, 0xbb, 0xdb, 0x64, 0x9c, 0x4c, 0x70, 0xfd, 0x2e, 0xfb, 0x2c, 0xd5, 0x3a, 0x7a,
|
||||
0x25, 0x55, 0x55, 0xbb, 0xc8, 0xed, 0x2b, 0xc1, 0x63, 0x2f, 0x1b, 0xbf, 0x8e, 0x1e, 0xb4, 0xf9,
|
||||
0x1c, 0x69, 0x15, 0xf9, 0x6d, 0x51, 0x21, 0x76, 0x32, 0x17, 0x16, 0x37, 0x6d, 0x9c, 0xab, 0x6c,
|
||||
0x3a, 0x1a, 0xad, 0xa5, 0xdb, 0xd4, 0xcb, 0x24, 0xd7, 0xdb, 0x91, 0xcd, 0xb6, 0x95, 0x76, 0xce,
|
||||
0x8e, 0x8e, 0x07, 0xa1, 0xe4, 0x7b, 0xd8, 0xa2, 0xac, 0x48, 0xa3, 0x4f, 0x1b, 0x11, 0xdd, 0xfd,
|
||||
0xe3, 0x53, 0xb7, 0x10, 0x11, 0x78, 0xa0, 0x28, 0xf1, 0x27, 0xba, 0x39, 0x58, 0xd5, 0x2a, 0x77,
|
||||
0x52, 0x2b, 0x22, 0x98, 0xa3, 0x8f, 0xb1, 0x5e, 0xfe, 0x2e, 0x72, 0x17, 0x73, 0x8e, 0x6e, 0xe9,
|
||||
0x55, 0x24, 0xbe, 0x54, 0xda, 0x38, 0x3b, 0x1c, 0xc6, 0xb5, 0x2a, 0xc4, 0x4a, 0x2a, 0x51, 0xc4,
|
||||
0x83, 0xee, 0xe5, 0x56, 0x17, 0x75, 0x29, 0x66, 0xe1, 0x27, 0x69, 0x45, 0xb9, 0x23, 0x34, 0x8d,
|
||||
0x3b, 0xb5, 0x47, 0x4d, 0x61, 0xf7, 0x70, 0x18, 0x7e, 0x93, 0x6c, 0x5b, 0xcc, 0xc2, 0x2d, 0x89,
|
||||
0x3f, 0xa2, 0xff, 0x9f, 0xd0, 0xff, 0x18, 0x8c, 0x48, 0x89, 0xe0, 0xe2, 0xe9, 0xc9, 0x8a, 0x72,
|
||||
0x45, 0x93, 0xe3, 0x2b, 0xd4, 0xdb, 0x10, 0xb7, 0x91, 0x96, 0x91, 0x83, 0xd1, 0x60, 0x71, 0x0d,
|
||||
0x91, 0xb1, 0xce, 0x48, 0xb0, 0x7a, 0xda, 0xad, 0x47, 0x22, 0xb8, 0xb3, 0xd2, 0x86, 0xec, 0x32,
|
||||
0x13, 0x29, 0x3e, 0x9e, 0xaa, 0x57, 0x2e, 0x29, 0x85, 0x5a, 0xbb, 0xcd, 0x54, 0x5d, 0x5f, 0xd3,
|
||||
0x47, 0x5c, 0x37, 0xdc, 0xcd, 0xd5, 0x62, 0x6a, 0x12, 0xa1, 0xea, 0xad, 0x30, 0xd9, 0xb2, 0x14,
|
||||
0xbc, 0xff, 0xf0, 0xf4, 0x34, 0x98, 0x30, 0x03, 0xc9, 0x52, 0x2b, 0xb9, 0xae, 0xc3, 0xfb, 0xc1,
|
||||
0x98, 0xc5, 0xbb, 0xac, 0xac, 0x45, 0x2c, 0x55, 0x64, 0x86, 0x43, 0x62, 0x92, 0x07, 0x23, 0x5d,
|
||||
0xfb, 0x8e, 0xb2, 0x0f, 0x3e, 0x82, 0x49, 0xf0, 0xed, 0xdf, 0x46, 0x57, 0xc2, 0xb8, 0x3d, 0x98,
|
||||
0x63, 0x92, 0xcf, 0x62, 0xcf, 0x0c, 0x6d, 0x9a, 0x83, 0x95, 0x0e, 0xad, 0x64, 0x8a, 0x3e, 0x1a,
|
||||
0xe1, 0x6a, 0x03, 0xcf, 0x11, 0xa8, 0x14, 0xb3, 0x4b, 0x1a, 0x1c, 0x7b, 0xf4, 0x07, 0xa7, 0x8a,
|
||||
0x1d, 0x4d, 0x4c, 0xc1, 0x9e, 0xbe, 0x7d, 0xf8, 0xdc, 0xd9, 0x03, 0xf7, 0x0d, 0x4d, 0xc5, 0xdc,
|
||||
0x2d, 0x38, 0x6c, 0x39, 0x9e, 0xdb, 0x26, 0x3b, 0x44, 0xa6, 0x3d, 0x0d, 0x8c, 0xb3, 0x44, 0xd0,
|
||||
0xa9, 0x5c, 0x91, 0x76, 0x05, 0x20, 0xf9, 0xe1, 0x41, 0x75, 0xe7, 0xdf, 0xef, 0xb7, 0x4b, 0x5d,
|
||||
0xda, 0x2e, 0x6e, 0xdf, 0x92, 0x41, 0x35, 0x0e, 0x03, 0x03, 0xb1, 0x5c, 0xc9, 0xd2, 0x09, 0x43,
|
||||
0x8e, 0x19, 0x73, 0x07, 0x6f, 0xcf, 0xaa, 0xf8, 0x59, 0xd8, 0xdc, 0xc8, 0xca, 0x41, 0xe2, 0xd0,
|
||||
0xc6, 0x5e, 0x2e, 0x1a, 0x4a, 0x29, 0x53, 0x49, 0x55, 0xdb, 0x4d, 0x92, 0x55, 0x55, 0xb9, 0x27,
|
||||
0x0a, 0xa3, 0xd9, 0x2a, 0x53, 0x47, 0xef, 0x60, 0xe7, 0x31, 0xf3, 0x86, 0x4f, 0xa6, 0xe6, 0x55,
|
||||
0x66, 0xd6, 0xa0, 0x46, 0x39, 0xdb, 0x21, 0xc0, 0x74, 0x08, 0x90, 0x5c, 0xd5, 0x65, 0x39, 0xe0,
|
||||
0x07, 0x89, 0xb9, 0x59, 0xcc, 0xfa, 0x0f, 0xe9, 0x63, 0x33, 0x35, 0x7f, 0xbb, 0x9d, 0xa9, 0x36,
|
||||
0x2c, 0x44, 0x52, 0x06, 0x69, 0x4e, 0xe0, 0x80, 0x77, 0x59, 0xbe, 0xe9, 0x79, 0x06, 0x79, 0xc4,
|
||||
0x84, 0x2a, 0x26, 0x01, 0x53, 0x14, 0xcc, 0x4d, 0xbf, 0xe3, 0xa1, 0x3d, 0x9b, 0x69, 0x29, 0x20,
|
||||
0x80, 0xec, 0x7b, 0x5b, 0xc1, 0x0c, 0x9a, 0xf6, 0x6c, 0x3a, 0x67, 0x10, 0x84, 0xfa, 0x32, 0x94,
|
||||
0xbe, 0x17, 0x7d, 0x09, 0xd1, 0x47, 0x27, 0xba, 0x00, 0x8b, 0x26, 0x84, 0xeb, 0x31, 0x2b, 0x8a,
|
||||
0xb7, 0xf7, 0xf7, 0x08, 0x33, 0x20, 0xb2, 0xed, 0xf2, 0x3f, 0xb2, 0x70, 0x9b, 0x74, 0xf2, 0x92,
|
||||
0x3d, 0x64, 0x2e, 0xdf, 0x20, 0xe2, 0x8e, 0x55, 0x58, 0x07, 0x9c, 0xb5, 0x1a, 0x7a, 0x45, 0xdb,
|
||||
0xae, 0xbc, 0x31, 0x26, 0xdb, 0x27, 0x2b, 0xa3, 0xb7, 0xa4, 0xd0, 0xb9, 0x0f, 0x79, 0xf2, 0x47,
|
||||
0x2d, 0xcc, 0xfe, 0x5e, 0x94, 0x60, 0x9c, 0x36, 0x6f, 0xca, 0x12, 0xbc, 0xa0, 0x89, 0x54, 0x79,
|
||||
0x59, 0x17, 0x10, 0x18, 0x2c, 0x7f, 0xda, 0x24, 0x79, 0x06, 0x2f, 0x50, 0xb7, 0x37, 0x4a, 0xf3,
|
||||
0x23, 0x89, 0x1d, 0x74, 0x87, 0xb4, 0x8a, 0x99, 0xc0, 0xea, 0x05, 0x7e, 0xa8, 0x51, 0x5f, 0x8a,
|
||||
0xab, 0x0d, 0xcb, 0xf9, 0x29, 0xeb, 0x85, 0x2d, 0x83, 0x01, 0x01, 0x7a, 0x02, 0xe0, 0x0a, 0x28,
|
||||
0x43, 0xeb, 0x32, 0x95, 0x23, 0x6d, 0xc1, 0x19, 0xac, 0xbc, 0x74, 0x00, 0xe7, 0xa2, 0x61, 0xd9,
|
||||
0xb9, 0xb7, 0x1a, 0xee, 0x81, 0x5f, 0x43, 0x94, 0x1b, 0x66, 0xbf, 0x21, 0x73, 0x0f, 0xe4, 0xa5,
|
||||
0xd6, 0x0d, 0x5b, 0x9d, 0x93, 0x09, 0x21, 0x92, 0xd6, 0xff, 0xc2, 0x7a, 0xc3, 0x36, 0xe7, 0xc4,
|
||||
0x72, 0x70, 0xe4, 0x5f, 0xba, 0x10, 0xef, 0xa5, 0x45, 0x83, 0x0b, 0x6e, 0xd9, 0x9e, 0xaf, 0xd8,
|
||||
0x92, 0x6f, 0xd8, 0xf6, 0x92, 0xfc, 0xbb, 0x52, 0x60, 0xc4, 0x41, 0x7c, 0x7d, 0x51, 0x64, 0x17,
|
||||
0x04, 0xaa, 0x73, 0x02, 0x90, 0x01, 0xfa, 0xf4, 0x44, 0xac, 0xff, 0x59, 0xf9, 0xeb, 0x06, 0xae,
|
||||
0x74, 0x38, 0x1c, 0x88, 0xb6, 0xce, 0x9e, 0x9e, 0x32, 0x58, 0x81, 0x85, 0x53, 0x92, 0x69, 0xdf,
|
||||
0xf6, 0x90, 0xb2, 0x0b, 0x89, 0x00, 0xf2, 0x99, 0xbc, 0x3e, 0x30, 0x53, 0xff, 0x4c, 0x5c, 0x71,
|
||||
0x3c, 0x8e, 0x31, 0x9b, 0x79, 0xe6, 0x50, 0xc9, 0x16, 0x01, 0x47, 0x46, 0x64, 0x96, 0xfe, 0x96,
|
||||
0x90, 0xdf, 0x8a, 0x6b, 0x4a, 0x67, 0x70, 0x3f, 0x17, 0xef, 0x16, 0x64, 0x7e, 0x7d, 0xb3, 0x98,
|
||||
0x85, 0xa5, 0xbf, 0x8e, 0xe8, 0xb4, 0xa3, 0xd7, 0xd9, 0x5d, 0xe6, 0x36, 0xb0, 0xef, 0x0b, 0x19,
|
||||
0x33, 0xe2, 0xe6, 0x93, 0xc5, 0x0c, 0x2f, 0xad, 0x35, 0xe9, 0x98, 0xde, 0xc0, 0xe2, 0xed, 0x62,
|
||||
0x76, 0x8d, 0x57, 0x78, 0xa4, 0xe9, 0x18, 0x1a, 0xce, 0x61, 0x7b, 0x95, 0x19, 0x2b, 0x7e, 0x29,
|
||||
0x35, 0x9e, 0x9e, 0x38, 0xfd, 0x8b, 0xfc, 0x22, 0x0a, 0x28, 0xfa, 0x43, 0x85, 0x78, 0xe5, 0x46,
|
||||
0x43, 0x9f, 0x24, 0x62, 0xe4, 0xe8, 0x95, 0x6b, 0x9e, 0x03, 0xff, 0x84, 0xfa, 0x81, 0x30, 0xc8,
|
||||
0x29, 0x10, 0xc1, 0x7f, 0x00, 0xe1, 0x29, 0xfc, 0xa8, 0xdb, 0x18, 0xfd, 0x10, 0x29, 0xf1, 0x10,
|
||||
0x7d, 0x82, 0x4e, 0xfa, 0xce, 0x18, 0xa8, 0xce, 0xf8, 0x6d, 0xa6, 0x94, 0x76, 0x11, 0x16, 0x42,
|
||||
0x94, 0x45, 0x79, 0x99, 0x59, 0x1b, 0x65, 0xf0, 0x77, 0x38, 0x2c, 0x86, 0xe2, 0x0d, 0xdd, 0xd2,
|
||||
0x51, 0xb6, 0x85, 0x78, 0xcd, 0xf0, 0x21, 0x11, 0x21, 0xe9, 0x5c, 0xa4, 0x85, 0xcf, 0x0c, 0x39,
|
||||
0x59, 0x3d, 0x5f, 0x85, 0x98, 0x54, 0x50, 0xd1, 0x97, 0x84, 0x9d, 0xd5, 0xc9, 0x42, 0x62, 0x0e,
|
||||
0x8d, 0xfa, 0xa0, 0x35, 0xb4, 0x25, 0x6e, 0xc8, 0x63, 0xc3, 0x24, 0x83, 0x8b, 0xa2, 0xcc, 0xbf,
|
||||
0x90, 0x4a, 0x42, 0x33, 0x3f, 0x72, 0x37, 0x77, 0x50, 0x92, 0xf3, 0x47, 0x40, 0x47, 0x1a, 0x5b,
|
||||
0x58, 0xab, 0x62, 0x16, 0x1a, 0xdd, 0xd7, 0x08, 0x50, 0x7c, 0xf2, 0x8c, 0xcb, 0x87, 0xc3, 0x9d,
|
||||
0x96, 0x45, 0x34, 0x1e, 0xf0, 0x1e, 0x89, 0x4f, 0xfa, 0x24, 0x3e, 0x41, 0x12, 0x67, 0xda, 0x33,
|
||||
0x3d, 0xf6, 0xb7, 0xca, 0x63, 0x15, 0xfd, 0x9f, 0x69, 0xfe, 0x43, 0x1c, 0xe4, 0x65, 0x45, 0xfa,
|
||||
0x93, 0x9f, 0xf8, 0xe6, 0xfd, 0x89, 0x6f, 0xf1, 0x13, 0xc0, 0x64, 0x1b, 0x54, 0xcd, 0xc5, 0x22,
|
||||
0x5d, 0x3e, 0xd3, 0x2a, 0x68, 0xba, 0x0f, 0xa1, 0xd6, 0x5c, 0x74, 0xfd, 0x70, 0x0b, 0x11, 0xad,
|
||||
0x88, 0xa6, 0xb4, 0x47, 0x26, 0x53, 0xf4, 0x30, 0x3f, 0x09, 0x17, 0x5a, 0x1b, 0xf2, 0x94, 0x27,
|
||||
0x9e, 0x5f, 0x43, 0x18, 0x4a, 0x8e, 0x68, 0xb8, 0xab, 0x5d, 0x86, 0xc1, 0xf9, 0xb0, 0xb4, 0xc2,
|
||||
0xec, 0x4e, 0x9a, 0x2c, 0x20, 0xab, 0x67, 0x81, 0xba, 0xd0, 0xad, 0xfa, 0x22, 0x09, 0xd0, 0xba,
|
||||
0x28, 0x90, 0x42, 0xec, 0x05, 0x69, 0xd4, 0x33, 0x1c, 0xd6, 0xd0, 0x75, 0xd1, 0x1e, 0x34, 0xc0,
|
||||
0xc1, 0x7d, 0xee, 0x7b, 0x84, 0xff, 0x9b, 0x96, 0x89, 0x0e, 0xa6, 0x1c, 0x23, 0xb9, 0xd4, 0xc5,
|
||||
0x9e, 0x3d, 0xe6, 0x1b, 0x59, 0x16, 0x48, 0x4d, 0xd8, 0x35, 0x6c, 0xbd, 0x74, 0x46, 0x84, 0xd9,
|
||||
0xa4, 0x43, 0x80, 0x86, 0xa2, 0xac, 0x7a, 0xc7, 0xf5, 0x58, 0xd6, 0x9f, 0x83, 0xb5, 0x82, 0x87,
|
||||
0x34, 0x2c, 0x80, 0x44, 0x28, 0x9c, 0x08, 0x8a, 0x98, 0x41, 0xfb, 0x4a, 0x9f, 0xf5, 0x95, 0x58,
|
||||
0x2b, 0x3f, 0x4c, 0x43, 0x11, 0x19, 0x87, 0x53, 0xda, 0xc1, 0x9c, 0xee, 0xa6, 0xa5, 0xbe, 0xa6,
|
||||
0x59, 0x30, 0xc8, 0x4a, 0x8b, 0x3c, 0x44, 0xe5, 0x33, 0xe0, 0x41, 0x4f, 0x4f, 0xda, 0xd3, 0x4e,
|
||||
0x61, 0x9d, 0x84, 0x3e, 0xf8, 0x55, 0x05, 0x25, 0xd6, 0xed, 0x61, 0x14, 0x86, 0x99, 0xd4, 0x04,
|
||||
0xfc, 0xf0, 0x58, 0x69, 0x25, 0x62, 0x76, 0x46, 0xe8, 0x41, 0x2c, 0xff, 0x29, 0xdd, 0xaf, 0x3f,
|
||||
0x22, 0xea, 0xdd, 0x79, 0xe3, 0x2d, 0xe2, 0xf1, 0x36, 0x53, 0xb2, 0xaa, 0xcb, 0x2c, 0x54, 0x79,
|
||||
0x10, 0x2f, 0x21, 0xb8, 0x42, 0x09, 0x98, 0x0b, 0x70, 0x04, 0xbd, 0x50, 0x98, 0x3c, 0x74, 0xcf,
|
||||
0x2e, 0x88, 0x90, 0x6a, 0x67, 0xf4, 0xfe, 0xff, 0xe0, 0xf2, 0x0f, 0xba, 0xfb, 0x7d, 0x57, 0xcf,
|
||||
0xb8, 0x37, 0xb9, 0xec, 0x1e, 0x16, 0xd1, 0xd1, 0xbd, 0xc3, 0x9e, 0x4b, 0x64, 0xe2, 0x7c, 0x3c,
|
||||
0x98, 0x82, 0x21, 0x21, 0x06, 0xcf, 0x7c, 0xaf, 0x7b, 0xdf, 0x6e, 0x8a, 0xd3, 0xd8, 0x88, 0xad,
|
||||
0xde, 0x89, 0xd3, 0xd5, 0xe9, 0x3c, 0xee, 0x21, 0x8b, 0x85, 0x07, 0x14, 0xeb, 0xee, 0x85, 0x2a,
|
||||
0xe2, 0xc5, 0x99, 0xfa, 0x11, 0x3e, 0xa8, 0xc1, 0x64, 0x98, 0x0e, 0x01, 0xd0, 0xe7, 0xc0, 0x0e,
|
||||
0x31, 0x10, 0xd8, 0xda, 0x1a, 0x18, 0x31, 0x27, 0x27, 0x80, 0x07, 0x9c, 0x9f, 0x73, 0x03, 0xfb,
|
||||
0xc5, 0x21, 0x59, 0xf0, 0xb1, 0xb2, 0x46, 0xaa, 0xfe, 0x9a, 0x52, 0x60, 0x4c, 0x06, 0xe2, 0x01,
|
||||
0x8b, 0x41, 0x09, 0x93, 0x70, 0x9b, 0x6f, 0x30, 0x66, 0x85, 0x0f, 0x9a, 0xb0, 0xf3, 0xf1, 0x82,
|
||||
0xd5, 0xbc, 0xd7, 0xdc, 0x0c, 0x0e, 0x85, 0x6f, 0x1c, 0x4c, 0x25, 0xcb, 0xda, 0xc1, 0xd7, 0xd9,
|
||||
0x56, 0x02, 0xcc, 0x80, 0x30, 0xc7, 0x40, 0xa1, 0xdf, 0x12, 0xcb, 0xbe, 0x78, 0xb1, 0xc9, 0x18,
|
||||
0x3e, 0x48, 0xbe, 0x25, 0x08, 0xb1, 0xac, 0x82, 0x24, 0x0c, 0x56, 0xfe, 0xe5, 0xdf, 0xb1, 0x69,
|
||||
0xc2, 0x0c, 0xf4, 0xb6, 0x94, 0x10, 0x9f, 0x8f, 0x38, 0xd1, 0x52, 0x18, 0xab, 0x40, 0xd3, 0xa8,
|
||||
0x4c, 0x1e, 0x70, 0xc0, 0xbc, 0x3a, 0xc1, 0xe1, 0x71, 0xf0, 0x1c, 0xdd, 0xd2, 0x11, 0x88, 0x75,
|
||||
0x2d, 0x7a, 0xfc, 0x9a, 0xa8, 0xd3, 0x6d, 0x32, 0xc9, 0xbd, 0xd2, 0xff, 0xde, 0x94, 0xd0, 0x2f,
|
||||
0x56, 0xd0, 0x4e, 0x67, 0xf0, 0x31, 0x98, 0x82, 0xcc, 0x2b, 0x05, 0x40, 0xf6, 0xd2, 0x94, 0xbd,
|
||||
0x1c, 0xbf, 0x56, 0x33, 0x75, 0xc3, 0x09, 0x3c, 0xdd, 0xdc, 0x5e, 0x29, 0x7a, 0x95, 0xa5, 0x2f,
|
||||
0x5b, 0x89, 0x6b, 0x7e, 0x7b, 0x45, 0xd4, 0xcd, 0xcb, 0x31, 0x2c, 0x52, 0x56, 0x5f, 0xef, 0x88,
|
||||
0xc2, 0x23, 0xaf, 0x88, 0xbe, 0xa9, 0x29, 0xf2, 0x5f, 0x97, 0x23, 0x7b, 0x3e, 0x47, 0xbd, 0x62,
|
||||
0x5a, 0x87, 0x61, 0xa8, 0x4b, 0x46, 0x52, 0x48, 0xdb, 0x95, 0x99, 0x48, 0x2a, 0x23, 0x10, 0x6b,
|
||||
0x3f, 0x8b, 0x55, 0x56, 0x97, 0x18, 0x80, 0x83, 0x98, 0xd7, 0xe9, 0xc1, 0x8a, 0xc1, 0x02, 0x1d,
|
||||
0xec, 0xd9, 0xd4, 0x80, 0x83, 0x6b, 0xd7, 0x22, 0x91, 0x32, 0x3d, 0x6c, 0x09, 0x7c, 0x30, 0x2e,
|
||||
0xeb, 0x25, 0x9c, 0x60, 0x3d, 0xdb, 0x4e, 0x05, 0x9e, 0x58, 0x61, 0x1f, 0x09, 0xef, 0x81, 0x54,
|
||||
0x1b, 0x72, 0x80, 0xc6, 0x11, 0xc1, 0x30, 0x94, 0xc2, 0x2a, 0x74, 0xb9, 0x59, 0x1c, 0xb0, 0x12,
|
||||
0x23, 0x3b, 0x42, 0xeb, 0x8b, 0x11, 0x92, 0x0b, 0xf0, 0x41, 0x40, 0xc7, 0xa8, 0x8c, 0x76, 0x1a,
|
||||
0xa5, 0x98, 0x86, 0x38, 0xf8, 0x35, 0x08, 0x07, 0x73, 0x2d, 0xe8, 0x34, 0xcb, 0x1b, 0xe2, 0xfb,
|
||||
0xc2, 0x8b, 0xd1, 0xe8, 0x2f, 0x91, 0xd5, 0xb5, 0xc9, 0xc5, 0x1d, 0x7c, 0xb9, 0x41, 0xa2, 0x7f,
|
||||
0xfd, 0xf8, 0x9e, 0x9f, 0xfc, 0xef, 0x0a, 0xf2, 0xff, 0x8b, 0xff, 0x01, 0x4a, 0x13, 0x82, 0xa3,
|
||||
0xc1, 0x11, 0x00, 0x00
|
||||
};
|
||||
|
||||
|
@ -980,227 +980,224 @@ const uint8_t PAGE_settings_dmx[] PROGMEM = {
|
||||
|
||||
|
||||
// Autogenerated from wled00/data/settings_ui.htm, do not edit!!
|
||||
const uint16_t PAGE_settings_ui_length = 3501;
|
||||
const uint16_t PAGE_settings_ui_length = 3448;
|
||||
const uint8_t PAGE_settings_ui[] PROGMEM = {
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0xad, 0x5a, 0x6b, 0x77, 0xdb, 0x36,
|
||||
0xb6, 0xfd, 0xae, 0x5f, 0x81, 0xa0, 0x5d, 0xae, 0xb8, 0xcc, 0xd0, 0xb2, 0xdb, 0xbb, 0x26, 0x91,
|
||||
0x44, 0x69, 0x62, 0x27, 0x4d, 0x3c, 0xcb, 0x6d, 0x32, 0x51, 0x3c, 0x9d, 0x59, 0x99, 0x2c, 0x97,
|
||||
0x22, 0x21, 0x09, 0x09, 0x45, 0x70, 0x08, 0xd0, 0x8f, 0xab, 0xea, 0xbf, 0xcf, 0x3e, 0x00, 0x49,
|
||||
0x51, 0xf2, 0x23, 0x6e, 0xee, 0xfd, 0x62, 0x91, 0x78, 0x9c, 0x37, 0xf6, 0x39, 0x07, 0xf4, 0xf0,
|
||||
0xc9, 0xcb, 0xb7, 0x27, 0x1f, 0xfe, 0xf5, 0xee, 0x15, 0x5b, 0x98, 0x65, 0x3a, 0x1a, 0xd2, 0x5f,
|
||||
0x96, 0x46, 0xd9, 0x3c, 0xe4, 0x22, 0xe3, 0x78, 0x17, 0x51, 0x32, 0x1a, 0x2e, 0x85, 0x89, 0x58,
|
||||
0xbc, 0x88, 0x0a, 0x2d, 0x4c, 0xc8, 0x4b, 0x33, 0x7b, 0xfa, 0x8c, 0x57, 0xa3, 0x9d, 0x58, 0x65,
|
||||
0x46, 0x64, 0x18, 0xbe, 0x92, 0x89, 0x59, 0x84, 0x89, 0xb8, 0x94, 0xb1, 0x78, 0x6a, 0x5f, 0x7c,
|
||||
0x99, 0x49, 0x23, 0xa3, 0xf4, 0xa9, 0x8e, 0xa3, 0x54, 0x84, 0x87, 0xfe, 0x32, 0xba, 0x96, 0xcb,
|
||||
0x72, 0xd9, 0xbc, 0x97, 0x5a, 0x14, 0xf6, 0x25, 0x9a, 0xe2, 0x3d, 0x53, 0x9c, 0x75, 0xb2, 0x68,
|
||||
0x29, 0x42, 0x7e, 0x29, 0xc5, 0x55, 0xae, 0x0a, 0x03, 0x2e, 0x46, 0x9a, 0x54, 0x8c, 0xce, 0x4f,
|
||||
0xd9, 0x44, 0x18, 0x23, 0xb3, 0xb9, 0x1e, 0x1e, 0xb8, 0xa1, 0xa1, 0x8e, 0x0b, 0x99, 0x9b, 0x51,
|
||||
0xe7, 0x32, 0x2a, 0x58, 0xaa, 0x62, 0x99, 0xd7, 0xfc, 0x2e, 0x12, 0xdd, 0x3c, 0x6a, 0xb3, 0x79,
|
||||
0x2c, 0x7d, 0x95, 0x26, 0xe7, 0x45, 0xea, 0x1b, 0xb9, 0x14, 0xaa, 0x34, 0x7e, 0x12, 0x26, 0x2a,
|
||||
0x2e, 0x97, 0x10, 0xdf, 0x07, 0x81, 0xf0, 0xc9, 0x21, 0xfd, 0xe4, 0x85, 0x32, 0x2a, 0xe4, 0x0b,
|
||||
0x63, 0xf2, 0x3e, 0xf7, 0xa1, 0xb1, 0x09, 0xb3, 0x32, 0x4d, 0xfd, 0x34, 0x5c, 0xc5, 0x6a, 0x99,
|
||||
0xf7, 0x57, 0x90, 0x56, 0xa4, 0xba, 0xcf, 0x27, 0x0b, 0x75, 0xc5, 0xa6, 0xa5, 0x31, 0x2a, 0x63,
|
||||
0x6e, 0x8c, 0xfb, 0xb1, 0x4a, 0x55, 0xa1, 0xfb, 0xab, 0xb3, 0x17, 0xc7, 0xaf, 0xce, 0xfa, 0xfc,
|
||||
0x84, 0x5e, 0x99, 0x16, 0xa9, 0x88, 0x8d, 0xc4, 0x32, 0x98, 0x6c, 0xa1, 0x12, 0xac, 0xcb, 0x65,
|
||||
0xfc, 0x45, 0x14, 0xf5, 0x82, 0xdf, 0x16, 0x42, 0xa4, 0xdc, 0x2f, 0xe6, 0xd3, 0x3e, 0x7f, 0xff,
|
||||
0xfa, 0x98, 0xe9, 0x54, 0x26, 0xa2, 0xc0, 0xb2, 0xff, 0x94, 0x58, 0xd7, 0xe7, 0x7f, 0xa7, 0x1f,
|
||||
0x16, 0xb7, 0x88, 0x29, 0x9a, 0x5d, 0x88, 0xeb, 0x3e, 0x7f, 0xf3, 0xea, 0x9f, 0xd5, 0x8c, 0xcc,
|
||||
0xf2, 0xd2, 0xf0, 0xb5, 0x9f, 0xc7, 0xcb, 0xa9, 0x32, 0xb5, 0x7c, 0x0a, 0xf2, 0x2d, 0x99, 0x89,
|
||||
0xa6, 0x6c, 0x1a, 0xd1, 0x1a, 0xf6, 0xee, 0x84, 0x2d, 0x55, 0x22, 0x48, 0x86, 0xa4, 0x5a, 0x94,
|
||||
0x17, 0x02, 0x7a, 0xb2, 0xd3, 0x97, 0x9a, 0x14, 0x9e, 0xa7, 0x22, 0xc3, 0x04, 0x06, 0xf0, 0x4c,
|
||||
0xc6, 0x61, 0x18, 0x98, 0x9b, 0x05, 0x36, 0x6b, 0x83, 0x78, 0x60, 0x6a, 0xc6, 0xb4, 0x51, 0x39,
|
||||
0x3b, 0x7b, 0xf5, 0xd2, 0xae, 0xcf, 0xaf, 0xa0, 0xc9, 0x1b, 0x88, 0xdc, 0x6c, 0xc8, 0xd5, 0x95,
|
||||
0x28, 0xd8, 0x5e, 0xb4, 0xcc, 0x07, 0x6c, 0x5a, 0xc8, 0xf9, 0xc2, 0x64, 0x42, 0x3b, 0xe2, 0xe2,
|
||||
0x1a, 0x66, 0x7d, 0x91, 0x5e, 0x45, 0x37, 0x9a, 0xe1, 0x39, 0xca, 0x12, 0x36, 0x93, 0x85, 0x6e,
|
||||
0x98, 0xc1, 0x86, 0x1a, 0xc6, 0x7d, 0x95, 0x51, 0x4c, 0xb0, 0xb8, 0xd4, 0x24, 0xfe, 0xc9, 0x64,
|
||||
0x02, 0x75, 0x13, 0xec, 0xd9, 0x9d, 0x79, 0xa3, 0x60, 0x2b, 0xa2, 0x95, 0x4a, 0x8d, 0xbd, 0xb3,
|
||||
0xeb, 0x44, 0xcc, 0xfa, 0xfc, 0x5c, 0x0b, 0x26, 0x66, 0x33, 0x18, 0x8a, 0xe1, 0x3d, 0x2a, 0x53,
|
||||
0x88, 0x14, 0x15, 0x08, 0x2d, 0x63, 0xcd, 0xaa, 0xa0, 0xdf, 0x3b, 0x2b, 0x62, 0xe5, 0xbe, 0xca,
|
||||
0x00, 0xea, 0x52, 0x14, 0x05, 0xe9, 0x31, 0x83, 0x39, 0xdf, 0x66, 0x58, 0x38, 0x9b, 0x3d, 0x66,
|
||||
0xe5, 0x6c, 0xc6, 0x7d, 0x99, 0x68, 0x04, 0x2c, 0xec, 0x86, 0xbf, 0xd5, 0x2a, 0xcd, 0xa6, 0x37,
|
||||
0x30, 0x2a, 0x5c, 0x62, 0x16, 0x62, 0x29, 0xfa, 0xab, 0x28, 0xcd, 0x17, 0x51, 0x7f, 0x35, 0x9d,
|
||||
0xf7, 0xf9, 0x71, 0x14, 0x7f, 0x99, 0x17, 0xaa, 0x84, 0xfa, 0x2a, 0x8f, 0x62, 0x69, 0x6e, 0xb8,
|
||||
0x0f, 0x27, 0x61, 0xc2, 0xf1, 0xa9, 0x07, 0xd7, 0x3e, 0x56, 0xaf, 0xca, 0x22, 0xc5, 0xcc, 0x6b,
|
||||
0x26, 0x97, 0xd1, 0x5c, 0xb0, 0xf3, 0xf7, 0x67, 0x08, 0x96, 0x0c, 0xde, 0x7b, 0x0f, 0xf3, 0xc1,
|
||||
0x08, 0xf5, 0x8c, 0x1d, 0x7d, 0x5d, 0xc0, 0x1c, 0x74, 0xc0, 0xfa, 0xbc, 0x79, 0xb4, 0x13, 0xc7,
|
||||
0x69, 0x09, 0x3f, 0xd1, 0x5f, 0x50, 0xb5, 0x21, 0x53, 0x89, 0xf2, 0x9a, 0x35, 0x41, 0xc4, 0xd7,
|
||||
0xeb, 0xf5, 0x60, 0x56, 0x66, 0x2e, 0x5c, 0xe7, 0xa7, 0x49, 0x57, 0x78, 0xab, 0x42, 0x98, 0xb2,
|
||||
0xc8, 0x58, 0x12, 0xcc, 0x85, 0x79, 0x95, 0x0a, 0xf2, 0xd2, 0xf1, 0x8d, 0x9d, 0x5a, 0x37, 0x4b,
|
||||
0x8d, 0x9a, 0x23, 0x6e, 0x68, 0xb5, 0xdb, 0x14, 0xc4, 0x69, 0xa4, 0xf5, 0x19, 0x9c, 0x12, 0x54,
|
||||
0x53, 0x7c, 0x01, 0x7b, 0x71, 0xcf, 0xa7, 0x79, 0xfe, 0xab, 0xe2, 0xfb, 0x0f, 0x2c, 0xda, 0xd0,
|
||||
0x95, 0xfa, 0xed, 0xf4, 0x33, 0xfc, 0xd8, 0x92, 0x43, 0xec, 0xed, 0x71, 0x65, 0x07, 0x79, 0x18,
|
||||
0x9a, 0x9b, 0x5c, 0x20, 0x1e, 0x31, 0xf6, 0xe4, 0x45, 0x01, 0x75, 0x03, 0xa9, 0xed, 0xef, 0x96,
|
||||
0x70, 0xf0, 0x45, 0x57, 0xf8, 0xc6, 0x57, 0xde, 0x0a, 0xfe, 0xea, 0x5a, 0xc0, 0x08, 0x8d, 0x9f,
|
||||
0x85, 0x22, 0xd0, 0x79, 0x2a, 0x4d, 0x97, 0x5f, 0x40, 0x30, 0x19, 0x66, 0x81, 0x8b, 0x74, 0x5f,
|
||||
0x87, 0xbd, 0x81, 0x1e, 0xca, 0xa7, 0x87, 0x03, 0xbd, 0xbf, 0xef, 0xad, 0x68, 0x43, 0x11, 0x66,
|
||||
0x1f, 0xf5, 0xa7, 0x41, 0xfa, 0xb1, 0xf8, 0xf4, 0xc7, 0x1f, 0x5d, 0xfa, 0x09, 0x57, 0x6b, 0x0f,
|
||||
0xa8, 0x40, 0x8f, 0xeb, 0xf4, 0x63, 0xf6, 0x11, 0xcb, 0x3f, 0x7d, 0x0a, 0x55, 0x8b, 0x2d, 0xce,
|
||||
0xd6, 0x07, 0x15, 0x69, 0xcb, 0x1c, 0xe8, 0xe2, 0x08, 0xa9, 0xd0, 0x5a, 0xc0, 0xd0, 0x04, 0xf7,
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0xad, 0x5a, 0x6d, 0x77, 0xdb, 0x36,
|
||||
0xb2, 0xfe, 0xae, 0x5f, 0x81, 0xa0, 0x3d, 0xae, 0x78, 0xcc, 0xd0, 0xb2, 0xdb, 0x7b, 0x36, 0x91,
|
||||
0x44, 0x69, 0x63, 0x27, 0x4d, 0xbc, 0xc7, 0x6d, 0xb2, 0x51, 0xbc, 0xdd, 0x3d, 0xd9, 0x1c, 0x97,
|
||||
0x22, 0x21, 0x09, 0x09, 0x45, 0x70, 0x09, 0xd0, 0x2f, 0x57, 0xd5, 0x7f, 0xdf, 0x67, 0x00, 0x92,
|
||||
0xa2, 0xe4, 0x97, 0xb8, 0xb9, 0xf7, 0x8b, 0x45, 0x02, 0x83, 0xc1, 0xbc, 0xe1, 0x99, 0x19, 0xd0,
|
||||
0xc3, 0x27, 0x2f, 0xdf, 0x9e, 0x7c, 0xf8, 0xd7, 0xbb, 0x57, 0x6c, 0x61, 0x96, 0xe9, 0x68, 0x48,
|
||||
0x7f, 0x59, 0x1a, 0x65, 0xf3, 0x90, 0x8b, 0x8c, 0xe3, 0x5d, 0x44, 0xc9, 0x68, 0xb8, 0x14, 0x26,
|
||||
0x62, 0xf1, 0x22, 0x2a, 0xb4, 0x30, 0x21, 0x2f, 0xcd, 0xec, 0xe9, 0x33, 0x5e, 0x8d, 0x76, 0x62,
|
||||
0x95, 0x19, 0x91, 0x61, 0xf8, 0x4a, 0x26, 0x66, 0x11, 0x26, 0xe2, 0x52, 0xc6, 0xe2, 0xa9, 0x7d,
|
||||
0xf1, 0x65, 0x26, 0x8d, 0x8c, 0xd2, 0xa7, 0x3a, 0x8e, 0x52, 0x11, 0x1e, 0xfa, 0xcb, 0xe8, 0x5a,
|
||||
0x2e, 0xcb, 0x65, 0xf3, 0x5e, 0x6a, 0x51, 0xd8, 0x97, 0x68, 0x8a, 0xf7, 0x4c, 0x71, 0xd6, 0xc9,
|
||||
0xa2, 0xa5, 0x08, 0xf9, 0xa5, 0x14, 0x57, 0xb9, 0x2a, 0x0c, 0x76, 0x31, 0xd2, 0xa4, 0x62, 0x74,
|
||||
0x7e, 0xca, 0x26, 0xc2, 0x18, 0x99, 0xcd, 0xf5, 0xf0, 0xc0, 0x0d, 0x0d, 0x75, 0x5c, 0xc8, 0xdc,
|
||||
0x8c, 0x3a, 0x97, 0x51, 0xc1, 0x52, 0x15, 0xcb, 0xbc, 0xde, 0xef, 0x22, 0xd1, 0xcd, 0xa3, 0x36,
|
||||
0x9b, 0xc7, 0xd2, 0x57, 0x69, 0x72, 0x5e, 0xa4, 0xbe, 0x91, 0x4b, 0xa1, 0x4a, 0xe3, 0x27, 0x61,
|
||||
0xa2, 0xe2, 0x72, 0x09, 0xf1, 0x7d, 0x30, 0x08, 0x9f, 0x1c, 0xd2, 0x4f, 0x5e, 0x28, 0xa3, 0x42,
|
||||
0xbe, 0x30, 0x26, 0xef, 0x73, 0x1f, 0x1a, 0x9b, 0x30, 0x2b, 0xd3, 0xd4, 0x4f, 0xc3, 0x55, 0xac,
|
||||
0x96, 0x79, 0x7f, 0x05, 0x69, 0x45, 0xaa, 0xfb, 0x7c, 0xb2, 0x50, 0x57, 0x6c, 0x5a, 0x1a, 0xa3,
|
||||
0x32, 0xe6, 0xc6, 0xb8, 0x1f, 0xab, 0x54, 0x15, 0xba, 0xbf, 0x3a, 0x7b, 0x71, 0xfc, 0xea, 0xac,
|
||||
0xcf, 0x4f, 0xe8, 0x95, 0x69, 0x91, 0x8a, 0xd8, 0x48, 0x90, 0xc1, 0x64, 0x0b, 0x95, 0x80, 0x2e,
|
||||
0x97, 0xf1, 0x17, 0x51, 0xd4, 0x04, 0xbf, 0x2d, 0x84, 0x48, 0xb9, 0x5f, 0xcc, 0xa7, 0x7d, 0xfe,
|
||||
0xfe, 0xf5, 0x31, 0xd3, 0xa9, 0x4c, 0x44, 0x01, 0xb2, 0xff, 0x94, 0xa0, 0xeb, 0xf3, 0xbf, 0xd3,
|
||||
0x0f, 0x8b, 0x5b, 0xcc, 0x14, 0xcd, 0x2e, 0xc4, 0x75, 0x9f, 0xbf, 0x79, 0xf5, 0xcf, 0x6a, 0x46,
|
||||
0x66, 0x79, 0x69, 0xf8, 0xda, 0xcf, 0xe3, 0xe5, 0x54, 0x99, 0x5a, 0x3e, 0x05, 0xf9, 0x96, 0xcc,
|
||||
0x44, 0x53, 0x36, 0x8d, 0x88, 0x86, 0xbd, 0x3b, 0x61, 0x4b, 0x95, 0x08, 0x92, 0x21, 0xa9, 0x88,
|
||||
0xf2, 0x42, 0x40, 0x4f, 0x76, 0xfa, 0x52, 0x93, 0xc2, 0xf3, 0x54, 0x64, 0x98, 0xc0, 0x00, 0x9e,
|
||||
0xc9, 0x38, 0x0c, 0x03, 0x73, 0xb3, 0xc0, 0x62, 0x6d, 0x10, 0x0f, 0x4c, 0xcd, 0x98, 0x36, 0x2a,
|
||||
0x67, 0x67, 0xaf, 0x5e, 0x5a, 0xfa, 0xfc, 0x0a, 0x9a, 0xbc, 0x81, 0xc8, 0xcd, 0x82, 0x5c, 0x5d,
|
||||
0x89, 0x82, 0xed, 0x45, 0xcb, 0x7c, 0xc0, 0xa6, 0x85, 0x9c, 0x2f, 0x4c, 0x26, 0xb4, 0x63, 0x2e,
|
||||
0xae, 0x61, 0xd6, 0x17, 0xe9, 0x55, 0x74, 0xa3, 0x19, 0x9e, 0xa3, 0x2c, 0x61, 0x33, 0x59, 0xe8,
|
||||
0x66, 0x33, 0xd8, 0x50, 0xc3, 0xb8, 0xaf, 0x32, 0x8a, 0x09, 0x16, 0x97, 0x9a, 0xc4, 0x3f, 0x99,
|
||||
0x4c, 0xa0, 0x6e, 0x82, 0x35, 0xbb, 0x33, 0x6f, 0x14, 0x6c, 0x45, 0xbc, 0x52, 0xa9, 0xb1, 0x76,
|
||||
0x76, 0x9d, 0x88, 0x59, 0x9f, 0x9f, 0x6b, 0xc1, 0xc4, 0x6c, 0x06, 0x43, 0x31, 0xbc, 0x47, 0x65,
|
||||
0x0a, 0x91, 0xa2, 0x02, 0xa1, 0x65, 0xac, 0x59, 0x15, 0xf4, 0x7b, 0x67, 0x45, 0xac, 0xdc, 0x57,
|
||||
0x19, 0x40, 0x5d, 0x8a, 0xa2, 0x20, 0x3d, 0x66, 0x30, 0xe7, 0xdb, 0x0c, 0x84, 0xb3, 0xd9, 0x63,
|
||||
0x28, 0x67, 0x33, 0xee, 0xcb, 0x44, 0x23, 0x60, 0x61, 0x37, 0xfc, 0xad, 0xa8, 0x34, 0x9b, 0xde,
|
||||
0xc0, 0xa8, 0x70, 0x89, 0x59, 0x88, 0xa5, 0xe8, 0xaf, 0xa2, 0x34, 0x5f, 0x44, 0xfd, 0xd5, 0x74,
|
||||
0xde, 0xe7, 0xc7, 0x51, 0xfc, 0x65, 0x5e, 0xa8, 0x12, 0xea, 0xab, 0x3c, 0x8a, 0xa5, 0xb9, 0xe1,
|
||||
0x3e, 0x9c, 0x84, 0x09, 0xb7, 0x4f, 0x3d, 0xb8, 0xf6, 0x41, 0xbd, 0x2a, 0x8b, 0x14, 0x33, 0xaf,
|
||||
0x99, 0x5c, 0x46, 0x73, 0xc1, 0xce, 0xdf, 0x9f, 0x21, 0x58, 0x32, 0x78, 0xef, 0x3d, 0xcc, 0x07,
|
||||
0x23, 0xd4, 0x33, 0x76, 0xf4, 0x75, 0x01, 0x73, 0xd0, 0x01, 0xeb, 0xf3, 0xe6, 0xd1, 0x4e, 0x1c,
|
||||
0xa7, 0x25, 0xfc, 0x44, 0x7f, 0xc1, 0xd5, 0x86, 0x4c, 0x25, 0xca, 0x6b, 0xd6, 0x04, 0x11, 0x5f,
|
||||
0xaf, 0xd7, 0x83, 0x59, 0x99, 0xb9, 0x70, 0x9d, 0x9f, 0x26, 0x5d, 0xe1, 0xad, 0x0a, 0x61, 0xca,
|
||||
0x22, 0x63, 0x49, 0x30, 0x17, 0xe6, 0x55, 0x2a, 0xc8, 0x4b, 0xc7, 0x37, 0x76, 0x6a, 0xdd, 0x90,
|
||||
0x1a, 0x35, 0x47, 0xdc, 0x10, 0xb5, 0x5b, 0x14, 0xc4, 0x69, 0xa4, 0xf5, 0x19, 0x9c, 0x12, 0x54,
|
||||
0x53, 0x7c, 0x01, 0x7b, 0x71, 0xcf, 0xa7, 0x79, 0xfe, 0xab, 0xe2, 0xfb, 0x0f, 0x10, 0x6d, 0xf8,
|
||||
0x4a, 0xfd, 0x76, 0xfa, 0x19, 0x7e, 0x6c, 0xc9, 0x21, 0xf6, 0xf6, 0xb8, 0xb2, 0x83, 0x3c, 0x0c,
|
||||
0xcd, 0x4d, 0x2e, 0x10, 0x8f, 0x18, 0x7b, 0xf2, 0xa2, 0x80, 0xba, 0x81, 0xd4, 0xf6, 0x77, 0x4b,
|
||||
0x38, 0xf8, 0xa2, 0x2b, 0x7c, 0xe3, 0x2b, 0x6f, 0x05, 0x7f, 0x75, 0x2d, 0x60, 0x84, 0xc6, 0xcf,
|
||||
0x42, 0x11, 0xe8, 0x3c, 0x95, 0xa6, 0xcb, 0x2f, 0x20, 0x98, 0x0c, 0xb3, 0xc0, 0x45, 0xba, 0xaf,
|
||||
0xc3, 0xde, 0x40, 0x0f, 0xe5, 0xd3, 0xc3, 0x81, 0xde, 0xdf, 0xf7, 0x56, 0xb4, 0xa0, 0x08, 0xb3,
|
||||
0x8f, 0xfa, 0xd3, 0x20, 0xfd, 0x58, 0x7c, 0xfa, 0xe3, 0x8f, 0x2e, 0xfd, 0x84, 0xab, 0xb5, 0x07,
|
||||
0x54, 0xa0, 0xc7, 0x75, 0xfa, 0x31, 0xfb, 0x08, 0xf2, 0x4f, 0x9f, 0x42, 0xd5, 0xda, 0x16, 0x67,
|
||||
0xeb, 0x83, 0x8a, 0xb4, 0xdd, 0x1c, 0xe8, 0xe2, 0x18, 0xa9, 0xd0, 0x5a, 0xc0, 0xd0, 0x04, 0xf7,
|
||||
0x06, 0x2a, 0x90, 0x59, 0x26, 0x8a, 0x37, 0x1f, 0x7e, 0x39, 0x0b, 0x85, 0xaf, 0x5a, 0x26, 0x89,
|
||||
0x92, 0xa4, 0x6b, 0xc6, 0x1c, 0x81, 0x06, 0xbf, 0xf4, 0x39, 0x51, 0x83, 0x94, 0x71, 0x2a, 0xa2,
|
||||
0xe2, 0x83, 0x03, 0xb0, 0x6e, 0x05, 0x64, 0x1e, 0xf6, 0x69, 0x73, 0x93, 0x8a, 0x20, 0xca, 0x10,
|
||||
0x08, 0xc4, 0x3c, 0xe4, 0x99, 0xca, 0xe0, 0xf7, 0x6a, 0x45, 0x08, 0x13, 0xd4, 0x9b, 0xba, 0xb5,
|
||||
0x80, 0x5d, 0x6f, 0xd5, 0xe6, 0x57, 0x88, 0x25, 0xc2, 0xba, 0x5b, 0x31, 0x82, 0x6e, 0x47, 0xcf,
|
||||
0x7b, 0xbd, 0x96, 0x15, 0x21, 0xcf, 0x7b, 0x11, 0x5b, 0x5d, 0x38, 0x8e, 0x86, 0x45, 0x45, 0xa7,
|
||||
0x52, 0x8a, 0x81, 0x01, 0x59, 0x36, 0xc5, 0xd1, 0xb0, 0x20, 0x23, 0xdc, 0x44, 0x16, 0x9a, 0x7d,
|
||||
0xd2, 0xe1, 0x02, 0xf2, 0x73, 0x6f, 0xbf, 0x18, 0xc8, 0x59, 0x77, 0xe3, 0x51, 0x18, 0xce, 0xf3,
|
||||
0xd4, 0xde, 0x9e, 0xc2, 0x83, 0xfb, 0x1b, 0x58, 0xdc, 0xdc, 0xdb, 0xeb, 0xa6, 0xfb, 0xe1, 0xef,
|
||||
0xc3, 0xc5, 0x8f, 0xa3, 0xef, 0x57, 0x9b, 0xe1, 0xf5, 0xf0, 0x00, 0x23, 0xbf, 0xc3, 0xe6, 0xfb,
|
||||
0x61, 0x2d, 0x0b, 0x26, 0xfd, 0xcc, 0x57, 0x63, 0x5a, 0xd5, 0xb7, 0x02, 0x0d, 0x80, 0xc3, 0xc2,
|
||||
0x32, 0x87, 0x3f, 0x89, 0x5f, 0xc5, 0x60, 0x2c, 0x43, 0xbb, 0x08, 0x5b, 0xf6, 0xb9, 0xa5, 0xc7,
|
||||
0xc1, 0xb4, 0x2b, 0xc3, 0xf6, 0x80, 0xe7, 0x17, 0x70, 0x47, 0x22, 0xae, 0xdf, 0xce, 0xba, 0xd5,
|
||||
0x98, 0x37, 0xea, 0x79, 0x94, 0xe3, 0x64, 0x56, 0x8a, 0x01, 0x91, 0xd5, 0x4d, 0xcc, 0x81, 0xdc,
|
||||
0x80, 0x7c, 0x99, 0x79, 0xe3, 0x2e, 0x9f, 0x2a, 0x05, 0xcf, 0x64, 0x08, 0xc9, 0x50, 0x8f, 0xdd,
|
||||
0x68, 0x10, 0x2f, 0x04, 0x60, 0x3e, 0x21, 0x16, 0x9f, 0xfa, 0xd5, 0xd8, 0x65, 0x94, 0x96, 0xc2,
|
||||
0x8e, 0xf8, 0xd5, 0x08, 0xc0, 0xe2, 0x52, 0xaa, 0x52, 0x57, 0x47, 0x6b, 0x22, 0xa7, 0x29, 0xf2,
|
||||
0x5c, 0x00, 0x3f, 0x62, 0xbf, 0xee, 0xf2, 0x20, 0xe5, 0x1e, 0x24, 0x7d, 0x78, 0xf5, 0x26, 0x88,
|
||||
0xa4, 0xe7, 0xf5, 0xb7, 0xa5, 0x21, 0x63, 0x7e, 0xbf, 0x92, 0xeb, 0x3e, 0x1b, 0xda, 0x1c, 0xc1,
|
||||
0xac, 0xcf, 0x43, 0x1e, 0xcd, 0x25, 0x8b, 0xa7, 0x9c, 0x91, 0x3e, 0x21, 0xb7, 0xc2, 0x4e, 0xd5,
|
||||
0x35, 0x67, 0x32, 0x09, 0xbf, 0x5f, 0x65, 0x6b, 0xf6, 0xfd, 0x8a, 0xc4, 0x1c, 0xf3, 0x4a, 0x0d,
|
||||
0xf2, 0xe1, 0x7a, 0x34, 0x9c, 0x16, 0xa3, 0xdf, 0xfb, 0x3c, 0x2b, 0x97, 0x53, 0x51, 0x7c, 0x95,
|
||||
0x7e, 0x4d, 0xbc, 0x5a, 0xde, 0x90, 0x76, 0x56, 0x70, 0x0c, 0x1a, 0x9a, 0xda, 0x14, 0x50, 0xc5,
|
||||
0xd2, 0xac, 0x42, 0xc0, 0x52, 0xa5, 0xd9, 0x3b, 0x08, 0x3f, 0x40, 0xca, 0x5b, 0xaf, 0x2b, 0xac,
|
||||
0x48, 0x37, 0xe1, 0x3b, 0x17, 0xd9, 0xcf, 0xaa, 0x58, 0x76, 0xab, 0xd0, 0x34, 0x03, 0xd3, 0x44,
|
||||
0x91, 0x8f, 0x78, 0x4e, 0x2b, 0x64, 0xc2, 0x32, 0xee, 0xb5, 0xcc, 0x69, 0xdc, 0xb0, 0x45, 0xf0,
|
||||
0x8b, 0xe9, 0xfc, 0x02, 0x40, 0xca, 0x1b, 0xcf, 0x8e, 0xbb, 0xae, 0xa2, 0xa0, 0x03, 0x51, 0x23,
|
||||
0xd8, 0xa9, 0x45, 0x62, 0x44, 0x92, 0xc5, 0xe6, 0xe3, 0x79, 0x17, 0xfe, 0xa8, 0x56, 0x6d, 0x53,
|
||||
0x02, 0xa8, 0xf3, 0x2a, 0x1e, 0x36, 0x52, 0xbe, 0x16, 0xe6, 0x6c, 0x82, 0x83, 0xd9, 0xb5, 0x85,
|
||||
0x07, 0xca, 0x91, 0x28, 0x9d, 0x20, 0xdb, 0x83, 0x24, 0xa1, 0xef, 0xa9, 0x11, 0xcb, 0x2e, 0xbf,
|
||||
0x4a, 0x45, 0x72, 0x2e, 0x4f, 0x66, 0x73, 0xee, 0x79, 0xc0, 0x22, 0x4b, 0x15, 0x41, 0x5f, 0x14,
|
||||
0x20, 0xe7, 0x60, 0x20, 0x91, 0xc0, 0xb5, 0xe8, 0x26, 0xe4, 0x32, 0x43, 0x74, 0x40, 0x9a, 0x81,
|
||||
0x29, 0x6e, 0x56, 0x96, 0xe4, 0xdf, 0x26, 0x6f, 0x7f, 0x0d, 0x72, 0x2a, 0xe5, 0x2c, 0x0b, 0x6f,
|
||||
0x1d, 0x53, 0x9c, 0x91, 0x55, 0xec, 0xf4, 0x6a, 0xed, 0x3f, 0x82, 0xde, 0xf6, 0x9a, 0x8d, 0xb1,
|
||||
0xf8, 0xde, 0x77, 0xcf, 0x9f, 0x3d, 0x7b, 0x36, 0x68, 0x8a, 0x35, 0x46, 0xec, 0x28, 0xf7, 0x6a,
|
||||
0xbc, 0xb1, 0x59, 0x24, 0x21, 0x7a, 0xc0, 0xba, 0x00, 0xff, 0x7d, 0xee, 0xf1, 0x75, 0xed, 0x13,
|
||||
0x2b, 0x89, 0x23, 0x9a, 0x2c, 0x37, 0xe6, 0x0d, 0x79, 0x4a, 0xb5, 0x03, 0x45, 0x44, 0xdb, 0x74,
|
||||
0x91, 0x16, 0xb7, 0x0d, 0x37, 0xa9, 0x0c, 0x57, 0x03, 0xbc, 0x08, 0x93, 0xe0, 0x3f, 0xa5, 0x28,
|
||||
0x6e, 0x26, 0x55, 0xc1, 0xf4, 0x22, 0x4d, 0x71, 0x96, 0x28, 0x74, 0x3c, 0x20, 0x58, 0x6f, 0x60,
|
||||
0x86, 0xa2, 0x82, 0xfb, 0x81, 0xa9, 0x41, 0x5e, 0xe1, 0x60, 0x9a, 0x4f, 0x00, 0xf5, 0x36, 0x2e,
|
||||
0xd2, 0xe9, 0x8f, 0x50, 0xfb, 0x74, 0x39, 0x0e, 0x8b, 0x37, 0x56, 0xb5, 0x74, 0x7d, 0xe5, 0x64,
|
||||
0x18, 0x50, 0x7a, 0x01, 0x8c, 0x27, 0xb6, 0x58, 0xa4, 0x40, 0xc2, 0x0e, 0x8d, 0xf3, 0x17, 0xa4,
|
||||
0x6a, 0xde, 0x45, 0x0c, 0xd3, 0xdc, 0x9a, 0x92, 0x10, 0xb2, 0x24, 0x0e, 0x55, 0xba, 0x46, 0x80,
|
||||
0x92, 0x3f, 0xb6, 0xbc, 0xab, 0x6f, 0x7b, 0xd7, 0xb7, 0xbe, 0x72, 0xa7, 0x42, 0xce, 0x6e, 0x9c,
|
||||
0x95, 0xbc, 0xda, 0xf6, 0xba, 0x8c, 0xef, 0xf5, 0x4f, 0xe5, 0x54, 0xe5, 0xb2, 0xf1, 0x7d, 0x8b,
|
||||
0x5d, 0x86, 0xf8, 0xff, 0x77, 0xb7, 0x8e, 0x2e, 0x77, 0xbc, 0xad, 0xac, 0xb7, 0x37, 0xce, 0x8a,
|
||||
0xad, 0xab, 0xb6, 0xf4, 0x77, 0xd9, 0x67, 0x63, 0x82, 0x77, 0x70, 0xd3, 0xc3, 0x0b, 0x96, 0xe6,
|
||||
0xab, 0x4b, 0xa2, 0xf4, 0x1a, 0x6b, 0x36, 0x79, 0x98, 0x9f, 0x50, 0xf6, 0x84, 0x50, 0xed, 0x12,
|
||||
0x63, 0x12, 0x21, 0xeb, 0x79, 0xab, 0x2a, 0x80, 0xfc, 0x24, 0x98, 0xcc, 0x82, 0x97, 0x93, 0x0a,
|
||||
0xa8, 0xc3, 0x4d, 0x4f, 0xb1, 0xb7, 0x67, 0xa7, 0x26, 0xe7, 0x4d, 0x78, 0x86, 0x9b, 0xd6, 0xe2,
|
||||
0x8f, 0x3f, 0xec, 0xa4, 0x2e, 0xa7, 0x4b, 0xd4, 0x13, 0x2d, 0xea, 0xa9, 0x8a, 0x92, 0xbf, 0x4d,
|
||||
0x5c, 0x05, 0xd0, 0x83, 0xce, 0x54, 0x3c, 0x22, 0x34, 0xe3, 0x42, 0x44, 0x46, 0x54, 0x20, 0x8e,
|
||||
0x9c, 0x6b, 0x7b, 0x19, 0x5b, 0x0e, 0xc0, 0xcb, 0x2f, 0x0c, 0x7c, 0x8e, 0x82, 0x93, 0x92, 0x71,
|
||||
0x11, 0x73, 0x5f, 0xd8, 0x04, 0xbf, 0x35, 0x4e, 0xb0, 0xca, 0x7d, 0x6e, 0xc4, 0xb5, 0x39, 0xf8,
|
||||
0x1c, 0x5d, 0x46, 0x35, 0x81, 0x5b, 0x0b, 0x23, 0x7d, 0x93, 0x81, 0x84, 0x21, 0xc5, 0xa6, 0x2a,
|
||||
0xb9, 0x09, 0xa2, 0x3c, 0x17, 0x59, 0x72, 0xb2, 0x90, 0x69, 0x82, 0x00, 0xc1, 0x7a, 0xa0, 0xe0,
|
||||
0xab, 0x4b, 0x48, 0x41, 0xc1, 0x2e, 0xe0, 0x5a, 0x78, 0x1a, 0x32, 0x73, 0xbf, 0xeb, 0x85, 0xa3,
|
||||
0x15, 0xf0, 0xe8, 0x1f, 0x30, 0xca, 0xc6, 0x0a, 0xe1, 0x96, 0x7d, 0x5a, 0xcd, 0x55, 0xb8, 0x63,
|
||||
0x1d, 0xbf, 0x82, 0xb2, 0xf5, 0xdd, 0x3c, 0x5c, 0x59, 0xe3, 0x0b, 0xf0, 0x68, 0x1f, 0x17, 0xfe,
|
||||
0x8a, 0xc6, 0x59, 0x65, 0x38, 0x1b, 0x46, 0x92, 0xea, 0x57, 0x98, 0x00, 0x75, 0x6c, 0x01, 0x53,
|
||||
0x9d, 0x55, 0xe3, 0xc8, 0xc0, 0xd8, 0x38, 0x93, 0xf3, 0xb2, 0x88, 0x5c, 0xb9, 0x65, 0x4d, 0x50,
|
||||
0x87, 0xdd, 0xbf, 0xb3, 0xd3, 0x8c, 0xfa, 0x35, 0x18, 0x5c, 0x00, 0x80, 0x50, 0x36, 0x27, 0x91,
|
||||
0x89, 0x9e, 0x50, 0x61, 0xd3, 0x72, 0x7d, 0xd7, 0x79, 0x44, 0x84, 0x57, 0x48, 0xfb, 0xea, 0x2a,
|
||||
0xa0, 0x70, 0xa2, 0x19, 0x2a, 0x1c, 0x38, 0x71, 0xee, 0x03, 0x7c, 0x44, 0x60, 0x7b, 0x42, 0x14,
|
||||
0x92, 0xa4, 0x6b, 0xc6, 0x1c, 0x81, 0x06, 0xbf, 0xf4, 0x39, 0x71, 0x83, 0x94, 0x71, 0x2a, 0xa2,
|
||||
0xe2, 0x83, 0x03, 0xb0, 0x6e, 0x05, 0x64, 0x1e, 0xd6, 0x69, 0x73, 0x93, 0x8a, 0x20, 0xca, 0x10,
|
||||
0x08, 0xb4, 0x79, 0xc8, 0x33, 0x95, 0xc1, 0xef, 0x15, 0x45, 0x08, 0x13, 0xd4, 0x8b, 0xba, 0xb5,
|
||||
0x80, 0x5d, 0x6f, 0xd5, 0xde, 0xaf, 0x10, 0x4b, 0x84, 0x75, 0xb7, 0xda, 0x08, 0xba, 0x1d, 0x3d,
|
||||
0xef, 0xf5, 0x5a, 0x56, 0x84, 0x3c, 0xef, 0x45, 0x6c, 0x75, 0xe1, 0x38, 0x1a, 0x16, 0x15, 0x9d,
|
||||
0x4a, 0x29, 0x06, 0x06, 0x64, 0xd9, 0x14, 0x47, 0xc3, 0x82, 0x8c, 0x70, 0x13, 0x59, 0x68, 0xf6,
|
||||
0x49, 0x87, 0x0b, 0xc8, 0xcf, 0xbd, 0xfd, 0x62, 0x20, 0x67, 0xdd, 0x8d, 0x47, 0x61, 0x38, 0xcf,
|
||||
0x53, 0x7b, 0x7b, 0x0a, 0x0f, 0xee, 0x6f, 0x60, 0x71, 0x73, 0x6f, 0xaf, 0x9b, 0xee, 0x87, 0xbf,
|
||||
0x0f, 0x17, 0x3f, 0x8e, 0xbe, 0x5f, 0x6d, 0x86, 0xd7, 0xc3, 0x03, 0x8c, 0xfc, 0x0e, 0x9b, 0xef,
|
||||
0x87, 0xb5, 0x2c, 0x98, 0xf4, 0x33, 0x5f, 0x8d, 0x89, 0xaa, 0x6f, 0x05, 0x1a, 0x00, 0x87, 0x85,
|
||||
0xdd, 0x1c, 0xfe, 0xa4, 0xfd, 0xaa, 0x0d, 0xc6, 0x32, 0xb4, 0x44, 0x58, 0xb2, 0xcf, 0x2d, 0x3f,
|
||||
0x8e, 0x4d, 0xbb, 0x32, 0x6c, 0x0f, 0x78, 0x7e, 0x01, 0x77, 0x24, 0xe2, 0xfa, 0xed, 0xac, 0x5b,
|
||||
0x8d, 0x79, 0xa3, 0x9e, 0x47, 0x39, 0x4e, 0x66, 0xa5, 0x18, 0x10, 0x5b, 0xdd, 0xc4, 0x1c, 0xd8,
|
||||
0x0d, 0xc8, 0x97, 0x99, 0x37, 0xee, 0xf2, 0xa9, 0x52, 0xf0, 0x4c, 0x86, 0x90, 0x0c, 0xf5, 0xd8,
|
||||
0x8d, 0x06, 0xf1, 0x42, 0x00, 0xe6, 0x13, 0xda, 0xe2, 0x53, 0xbf, 0x1a, 0xbb, 0x8c, 0xd2, 0x52,
|
||||
0xd8, 0x11, 0xbf, 0x1a, 0x01, 0x58, 0x5c, 0x4a, 0x55, 0xea, 0xea, 0x68, 0x4d, 0xe4, 0x34, 0x45,
|
||||
0x9e, 0x0b, 0xe0, 0x47, 0xac, 0xd7, 0x5d, 0x1e, 0xa4, 0xdc, 0x83, 0xa4, 0x0f, 0x53, 0x6f, 0x82,
|
||||
0x48, 0x7a, 0x5e, 0x7f, 0x5b, 0x1a, 0x32, 0xe6, 0xf7, 0x2b, 0xb9, 0xee, 0xb3, 0xa1, 0xcd, 0x11,
|
||||
0xcc, 0xfa, 0x3c, 0xe4, 0xd1, 0x5c, 0xb2, 0x78, 0xca, 0x19, 0xe9, 0x13, 0x72, 0x2b, 0xec, 0x54,
|
||||
0x5d, 0x73, 0x26, 0x93, 0xf0, 0xfb, 0x55, 0xb6, 0x66, 0xdf, 0xaf, 0x48, 0xcc, 0x31, 0xaf, 0xd4,
|
||||
0x20, 0x1f, 0xae, 0x47, 0xc3, 0x69, 0x31, 0xfa, 0xbd, 0xcf, 0xb3, 0x72, 0x39, 0x15, 0xc5, 0x57,
|
||||
0xf9, 0xd7, 0xcc, 0x2b, 0xf2, 0x86, 0xb5, 0xb3, 0x82, 0xdb, 0xa0, 0xe1, 0xa9, 0x4d, 0x01, 0x55,
|
||||
0x2c, 0xcf, 0x2a, 0x04, 0x2c, 0x57, 0x9a, 0xbd, 0x83, 0xf1, 0x03, 0xac, 0xbc, 0xf5, 0xba, 0xc2,
|
||||
0x8a, 0x74, 0x13, 0xbe, 0x73, 0x91, 0xfd, 0xac, 0x8a, 0x65, 0xb7, 0x0a, 0x4d, 0x33, 0x30, 0x4d,
|
||||
0x14, 0xf9, 0x88, 0xe7, 0xb4, 0x42, 0x26, 0x90, 0x71, 0xaf, 0x65, 0x4e, 0xe3, 0x86, 0x2d, 0x82,
|
||||
0x5f, 0x4c, 0xe7, 0x17, 0x00, 0x52, 0xde, 0x78, 0x76, 0xdc, 0x75, 0x15, 0x05, 0x1d, 0x88, 0x1a,
|
||||
0xc1, 0x4e, 0x2d, 0x12, 0x23, 0x92, 0x2c, 0x36, 0x1f, 0xcf, 0xbb, 0xf0, 0x47, 0x45, 0xb5, 0xcd,
|
||||
0x09, 0xa0, 0xce, 0xab, 0x78, 0xd8, 0x48, 0xf9, 0x5a, 0x98, 0xb3, 0x09, 0x0e, 0x66, 0xd7, 0x16,
|
||||
0x1e, 0x28, 0x47, 0xa2, 0x74, 0x82, 0x6c, 0x0f, 0x96, 0x84, 0xbe, 0xa7, 0x46, 0x2c, 0xbb, 0xfc,
|
||||
0x2a, 0x15, 0xc9, 0xb9, 0x3c, 0x99, 0xcd, 0xb9, 0xe7, 0x01, 0x8b, 0x2c, 0x57, 0x04, 0x7d, 0x51,
|
||||
0x80, 0x9d, 0x83, 0x81, 0x44, 0x02, 0xd7, 0xa2, 0x9b, 0x90, 0xcb, 0x0c, 0xd1, 0x01, 0x69, 0x06,
|
||||
0xa6, 0xb8, 0x59, 0x59, 0x96, 0x7f, 0x9b, 0xbc, 0xfd, 0x35, 0xc8, 0xa9, 0x94, 0xb3, 0x5b, 0x78,
|
||||
0xeb, 0x98, 0xe2, 0x8c, 0xac, 0x62, 0xa7, 0x57, 0x6b, 0xff, 0x11, 0xfc, 0xb6, 0x69, 0x36, 0xc6,
|
||||
0xe2, 0x7b, 0xdf, 0x3d, 0x7f, 0xf6, 0xec, 0xd9, 0xa0, 0x29, 0xd6, 0x18, 0x6d, 0x47, 0xb9, 0x57,
|
||||
0xe3, 0x8d, 0xcd, 0x22, 0x09, 0xd1, 0x03, 0xd6, 0x05, 0xf8, 0xef, 0x73, 0x8f, 0xaf, 0x6b, 0x9f,
|
||||
0x58, 0x49, 0x1c, 0xd3, 0x64, 0xb9, 0x31, 0x6f, 0xc8, 0x53, 0xaa, 0x1d, 0x28, 0x22, 0xda, 0xa6,
|
||||
0x8b, 0xb4, 0xb8, 0x6d, 0xb8, 0x49, 0x65, 0xb8, 0x1a, 0xe0, 0x45, 0x98, 0x04, 0xff, 0x29, 0x45,
|
||||
0x71, 0x33, 0xa9, 0x0a, 0xa6, 0x17, 0x69, 0x8a, 0xb3, 0x44, 0xa1, 0xe3, 0x01, 0xc1, 0x7a, 0x03,
|
||||
0x33, 0x14, 0x15, 0xdc, 0x0f, 0x4c, 0x0d, 0xf2, 0x0a, 0x07, 0xd3, 0x7c, 0x02, 0xa8, 0xb7, 0x71,
|
||||
0x91, 0x4e, 0x7f, 0x84, 0xda, 0xa7, 0xcb, 0x71, 0x58, 0xbc, 0xb1, 0xaa, 0xa5, 0xeb, 0x2b, 0x27,
|
||||
0xc3, 0x80, 0xd2, 0x0b, 0x60, 0x3c, 0xb1, 0xc5, 0x22, 0x05, 0x12, 0x56, 0x68, 0x9c, 0xbf, 0x20,
|
||||
0x55, 0xf3, 0x2e, 0x62, 0x98, 0xe6, 0xd6, 0x94, 0x84, 0x90, 0x25, 0x71, 0xa8, 0xd2, 0x35, 0x02,
|
||||
0x94, 0xfc, 0xb1, 0xe5, 0x5d, 0x7d, 0xdb, 0xbb, 0xbe, 0xf5, 0x95, 0x3b, 0x15, 0x72, 0x76, 0xe3,
|
||||
0xac, 0xe4, 0xd5, 0xb6, 0xd7, 0x65, 0x7c, 0xaf, 0x7f, 0x2a, 0xa7, 0x2a, 0x97, 0x8d, 0xef, 0x23,
|
||||
0x76, 0x19, 0xe2, 0xff, 0xdf, 0xdd, 0x3a, 0xba, 0xdc, 0xf1, 0xb6, 0xb2, 0xde, 0xde, 0x38, 0x2b,
|
||||
0xb6, 0xae, 0xda, 0xd2, 0xdf, 0x65, 0x9f, 0x8d, 0x09, 0xde, 0xc1, 0x4d, 0x0f, 0x13, 0x2c, 0xcd,
|
||||
0x57, 0x49, 0xa2, 0xf4, 0x1a, 0x34, 0x9b, 0x3c, 0xcc, 0x4f, 0x28, 0x7b, 0x42, 0xa8, 0x76, 0x89,
|
||||
0x31, 0x89, 0x90, 0xf5, 0xbc, 0x55, 0x15, 0x40, 0x7e, 0x12, 0x4c, 0x66, 0xc1, 0xcb, 0x49, 0x05,
|
||||
0xd4, 0xe1, 0xa6, 0xa7, 0xd8, 0xdb, 0xb3, 0x53, 0x93, 0xf3, 0x26, 0x3c, 0xc3, 0x4d, 0x6b, 0xf1,
|
||||
0xc7, 0x1f, 0x76, 0x52, 0x97, 0xd3, 0x25, 0xea, 0x89, 0x16, 0xf7, 0x54, 0x45, 0xc9, 0xdf, 0x26,
|
||||
0xae, 0x02, 0xe8, 0x41, 0x67, 0x2a, 0x1e, 0x11, 0x9a, 0x71, 0x21, 0x22, 0x23, 0x2a, 0x10, 0x47,
|
||||
0xce, 0xb5, 0xbd, 0x8c, 0x2d, 0x07, 0xe0, 0xe5, 0x17, 0x06, 0x3e, 0x47, 0xc1, 0x49, 0xc9, 0xb8,
|
||||
0x88, 0xb9, 0x2f, 0x6c, 0x82, 0xdf, 0x1a, 0x27, 0x58, 0xe5, 0x3e, 0x37, 0xe2, 0xda, 0x1c, 0x7c,
|
||||
0x8e, 0x2e, 0xa3, 0x9a, 0xc1, 0x2d, 0xc2, 0x48, 0xdf, 0x64, 0x60, 0x61, 0x48, 0xb1, 0xa9, 0x4a,
|
||||
0x6e, 0x82, 0x28, 0xcf, 0x45, 0x96, 0x9c, 0x2c, 0x64, 0x9a, 0x20, 0x40, 0x40, 0x0f, 0x14, 0x7c,
|
||||
0x75, 0x09, 0x29, 0x28, 0xd8, 0x05, 0x5c, 0x0b, 0x4f, 0x43, 0x66, 0xee, 0x77, 0xbd, 0x70, 0xb4,
|
||||
0x02, 0x1e, 0xfd, 0x03, 0x46, 0xd9, 0x58, 0x21, 0xdc, 0xb2, 0x4f, 0xab, 0xb9, 0x0a, 0x77, 0xac,
|
||||
0xe3, 0x57, 0x50, 0xb6, 0xbe, 0x7b, 0x0f, 0x57, 0xd6, 0xf8, 0x02, 0x7b, 0xb4, 0x8f, 0x0b, 0x7f,
|
||||
0x45, 0xe3, 0xac, 0x32, 0x9c, 0x0d, 0x23, 0x49, 0xf5, 0x2b, 0x4c, 0x80, 0x3a, 0xb6, 0x80, 0xa9,
|
||||
0xce, 0xaa, 0x71, 0x64, 0x60, 0x2c, 0x9c, 0xc9, 0x79, 0x59, 0x44, 0xae, 0xdc, 0xb2, 0x26, 0xa8,
|
||||
0xc3, 0xee, 0xdf, 0xd9, 0x69, 0x46, 0xfd, 0x1a, 0x0c, 0x2e, 0x00, 0x40, 0x28, 0x9b, 0x93, 0xc8,
|
||||
0x44, 0x4f, 0xa8, 0xb0, 0x69, 0xb9, 0xbe, 0xeb, 0x3c, 0x22, 0xc2, 0x2b, 0xa4, 0x7d, 0x75, 0x15,
|
||||
0x50, 0x38, 0xd1, 0x0c, 0x15, 0x0e, 0x9c, 0x76, 0xee, 0x03, 0x7c, 0x44, 0x60, 0x7b, 0x42, 0x14,
|
||||
0xc8, 0x9e, 0x6d, 0x13, 0x7b, 0x7e, 0xd7, 0xf6, 0x9b, 0xf7, 0xc0, 0x33, 0x46, 0x4f, 0x73, 0x07,
|
||||
0xcd, 0x6e, 0x19, 0x76, 0x2f, 0x73, 0x48, 0xfe, 0x33, 0xe8, 0xb1, 0x5f, 0xd0, 0x7b, 0x05, 0xec,
|
||||
0x1d, 0xe2, 0x90, 0x7a, 0x14, 0xf4, 0xce, 0x68, 0xff, 0xd0, 0x48, 0xb1, 0xd3, 0x77, 0x4f, 0x76,
|
||||
0xc3, 0x59, 0x6f, 0x53, 0xf4, 0x2d, 0x35, 0xaf, 0xaa, 0x70, 0x48, 0x6c, 0x43, 0xa2, 0x45, 0x66,
|
||||
0x41, 0x4d, 0x33, 0x0a, 0x32, 0x13, 0xa0, 0x71, 0x8c, 0x45, 0xf7, 0xd0, 0x37, 0x01, 0x5c, 0xac,
|
||||
0x7f, 0x93, 0x66, 0xd1, 0xe5, 0x07, 0xc0, 0xac, 0xa7, 0x87, 0xfd, 0x4b, 0x25, 0x13, 0xd6, 0xf3,
|
||||
0xea, 0x82, 0xf7, 0xc0, 0xc6, 0x9a, 0xc3, 0xbf, 0xd1, 0x11, 0xd2, 0xad, 0x0a, 0x72, 0x95, 0x77,
|
||||
0xc9, 0x57, 0xee, 0xb7, 0xe9, 0x84, 0x37, 0xda, 0xfb, 0x95, 0xf6, 0x4e, 0x2b, 0x11, 0x2c, 0x94,
|
||||
0x36, 0xc4, 0x7a, 0xbf, 0x8b, 0x35, 0x68, 0x7b, 0xc6, 0xa8, 0x10, 0xf6, 0xdd, 0xa3, 0x2d, 0xf7,
|
||||
0xc0, 0x64, 0x5f, 0x05, 0x9f, 0x95, 0xcc, 0x2c, 0x3f, 0x6f, 0x5d, 0x9d, 0x05, 0x58, 0x0a, 0x2d,
|
||||
0x0c, 0xc6, 0x74, 0x05, 0x1b, 0x07, 0x3a, 0xf8, 0xac, 0xc7, 0x79, 0xf8, 0x23, 0x2c, 0x80, 0x32,
|
||||
0x99, 0x18, 0x40, 0x22, 0x1b, 0x4f, 0x91, 0x75, 0x54, 0x78, 0x7b, 0x4b, 0x29, 0x89, 0x62, 0x2b,
|
||||
0xbb, 0xdb, 0x05, 0x4d, 0x97, 0x40, 0xa6, 0x1f, 0xd7, 0x3a, 0x40, 0x12, 0x88, 0x62, 0xc5, 0xb6,
|
||||
0x82, 0xb5, 0xd2, 0xc6, 0x1b, 0x44, 0x40, 0xe5, 0x7b, 0x85, 0x73, 0xd1, 0xb5, 0x7d, 0xbf, 0xee,
|
||||
0x1f, 0x1c, 0x7c, 0xc9, 0x54, 0x40, 0x18, 0x02, 0xbf, 0x1e, 0xcc, 0x70, 0x56, 0x4b, 0xb4, 0x74,
|
||||
0x1b, 0xee, 0xdf, 0xd9, 0xab, 0x0b, 0x49, 0xee, 0x9b, 0x45, 0xb1, 0x78, 0x5a, 0x4f, 0xb4, 0x71,
|
||||
0xe5, 0x78, 0x87, 0xf4, 0x2d, 0x1d, 0xa0, 0x2d, 0xbf, 0x40, 0x3f, 0x3f, 0x6b, 0xef, 0x3a, 0x3f,
|
||||
0xed, 0x56, 0xa8, 0x2d, 0x13, 0x24, 0x9e, 0x05, 0x50, 0xe2, 0x46, 0x95, 0xb7, 0xa0, 0xf9, 0x56,
|
||||
0xae, 0x1c, 0xd7, 0x60, 0xdd, 0x77, 0xb8, 0x3e, 0x70, 0x49, 0xf0, 0x56, 0xde, 0x1c, 0xa0, 0x55,
|
||||
0x82, 0xbf, 0x1c, 0xba, 0xdd, 0x41, 0xc5, 0x65, 0xdc, 0x3e, 0x4f, 0xa2, 0xe2, 0x4b, 0x5b, 0xae,
|
||||
0x4d, 0x39, 0x53, 0x9d, 0x98, 0xfa, 0x2e, 0x25, 0xdc, 0xae, 0x8d, 0x6c, 0x45, 0x6c, 0x1a, 0x82,
|
||||
0xc4, 0x2c, 0x6c, 0x8c, 0x9a, 0xcb, 0x58, 0x97, 0xcb, 0x20, 0x5f, 0xc0, 0x29, 0xfa, 0xe0, 0xf0,
|
||||
0xf9, 0x51, 0xef, 0xe0, 0xb0, 0xf7, 0xac, 0xe7, 0x12, 0x8c, 0xd9, 0x6f, 0x35, 0xac, 0x5b, 0x04,
|
||||
0xf6, 0x43, 0x3e, 0x9e, 0x6f, 0xa6, 0xea, 0xd5, 0xb6, 0x95, 0xdd, 0x59, 0x08, 0xd5, 0x64, 0x16,
|
||||
0xa7, 0x65, 0x42, 0x95, 0xf3, 0x18, 0xa1, 0xcf, 0xf7, 0xa0, 0xcc, 0x98, 0xa2, 0x71, 0x6a, 0x97,
|
||||
0xcd, 0x8e, 0x0c, 0xab, 0x97, 0x39, 0x24, 0xff, 0x19, 0xfc, 0xd8, 0x2f, 0xe8, 0xbd, 0x02, 0xf6,
|
||||
0x0e, 0x71, 0x48, 0x3d, 0x0a, 0x7a, 0x67, 0xb4, 0x7f, 0x68, 0xa4, 0xd8, 0xe9, 0xbb, 0x27, 0xbb,
|
||||
0xe1, 0xac, 0xb7, 0x39, 0xfa, 0x96, 0x9b, 0x57, 0x55, 0x38, 0x24, 0xb6, 0x21, 0xd1, 0x22, 0xb3,
|
||||
0xa0, 0xa6, 0x19, 0x05, 0x99, 0x09, 0xd0, 0x38, 0xc6, 0xa2, 0x7b, 0xe8, 0x9b, 0x00, 0x2e, 0xd6,
|
||||
0xbf, 0x49, 0xb3, 0xe8, 0xf2, 0x03, 0x60, 0xd6, 0xd3, 0xc3, 0xfe, 0xa5, 0x92, 0x09, 0xeb, 0x79,
|
||||
0x75, 0xc1, 0x7b, 0x60, 0x63, 0xcd, 0xe1, 0xdf, 0xe8, 0x08, 0xe9, 0x56, 0x05, 0xb9, 0xca, 0xbb,
|
||||
0xe4, 0x2b, 0xf7, 0xdb, 0x74, 0xc2, 0x1b, 0xed, 0xfd, 0x4a, 0x7b, 0xa7, 0x95, 0x08, 0x16, 0x4a,
|
||||
0x1b, 0xda, 0x7a, 0xbf, 0x0b, 0x1a, 0xb4, 0x3d, 0x63, 0x54, 0x08, 0xfb, 0xee, 0xd1, 0x96, 0x7b,
|
||||
0xd8, 0x64, 0x5f, 0x05, 0x9f, 0x95, 0xcc, 0xec, 0x7e, 0xde, 0xba, 0x3a, 0x0b, 0xb0, 0x14, 0x5a,
|
||||
0x18, 0x8c, 0xe9, 0x0a, 0x36, 0x0e, 0x74, 0xf0, 0x59, 0x8f, 0xf3, 0xf0, 0x47, 0x58, 0x00, 0x65,
|
||||
0x32, 0x6d, 0x00, 0x89, 0x6c, 0x3c, 0x45, 0xd6, 0x51, 0xe1, 0xed, 0x25, 0xa5, 0x24, 0x8e, 0xad,
|
||||
0xec, 0x6e, 0x09, 0x9a, 0x2e, 0x81, 0x4c, 0x3f, 0xae, 0x75, 0x80, 0x24, 0x10, 0xc5, 0x8a, 0x6d,
|
||||
0x05, 0x6b, 0xa5, 0x8d, 0x37, 0x88, 0x80, 0xca, 0xf7, 0x0a, 0xe7, 0xa2, 0x6b, 0xfb, 0x7e, 0xdd,
|
||||
0x3f, 0x38, 0xf8, 0x92, 0xa9, 0x80, 0x30, 0x04, 0x7e, 0x3d, 0x98, 0xe1, 0xac, 0x96, 0x68, 0xe9,
|
||||
0x36, 0xbb, 0x7f, 0x67, 0xaf, 0x2e, 0x24, 0xb9, 0x6f, 0x16, 0xc5, 0xe2, 0x69, 0x3d, 0xd1, 0xc6,
|
||||
0x95, 0xe3, 0x1d, 0xd6, 0xb7, 0x74, 0x80, 0xb6, 0xfc, 0x02, 0xfd, 0xfc, 0xac, 0xbd, 0xea, 0xfc,
|
||||
0xb4, 0x5b, 0xa1, 0xb6, 0x4c, 0x90, 0x78, 0x16, 0x40, 0x89, 0x1b, 0x55, 0xde, 0x82, 0xe6, 0x5b,
|
||||
0xb9, 0x72, 0x5c, 0x83, 0x75, 0xdf, 0xe1, 0xfa, 0xc0, 0x25, 0xc1, 0x5b, 0x79, 0x73, 0x80, 0x56,
|
||||
0x09, 0xfe, 0x72, 0xe8, 0x76, 0x07, 0x17, 0x97, 0x71, 0xfb, 0x3c, 0x89, 0x8a, 0x2f, 0x6d, 0xb9,
|
||||
0x36, 0xe5, 0x4c, 0x75, 0x62, 0xea, 0xbb, 0x94, 0x70, 0xbb, 0x36, 0xb2, 0x15, 0xb1, 0x69, 0x18,
|
||||
0xd2, 0x66, 0x61, 0x63, 0xd4, 0x5c, 0xc6, 0xba, 0x5c, 0x06, 0xf9, 0x02, 0x4e, 0xd1, 0x07, 0x87,
|
||||
0xcf, 0x8f, 0x7a, 0x07, 0x87, 0xbd, 0x67, 0x3d, 0x97, 0x60, 0xcc, 0x7e, 0xab, 0x61, 0xdd, 0x62,
|
||||
0xb0, 0x1f, 0xf2, 0xf1, 0x7c, 0x33, 0x55, 0x53, 0xdb, 0x56, 0x76, 0x87, 0x10, 0xaa, 0xc9, 0x2c,
|
||||
0x4e, 0xcb, 0x84, 0x2a, 0xe7, 0x31, 0x42, 0x9f, 0xef, 0x41, 0x99, 0x31, 0x45, 0xe3, 0xd4, 0x92,
|
||||
0x7b, 0xfe, 0xbd, 0x55, 0x58, 0xd8, 0x8a, 0x8b, 0x32, 0xa7, 0x60, 0xa5, 0x13, 0x4b, 0xd0, 0x5d,
|
||||
0x57, 0x07, 0x99, 0xb8, 0x62, 0xff, 0xfc, 0xe5, 0xec, 0x0d, 0xd4, 0x79, 0x2f, 0x50, 0x5d, 0x68,
|
||||
0x33, 0x78, 0x00, 0x3f, 0x5b, 0x7d, 0xd6, 0x26, 0x05, 0x99, 0x85, 0xd4, 0x48, 0x54, 0x3a, 0x07,
|
||||
0xe8, 0x89, 0x0f, 0x80, 0x6f, 0xdf, 0x8e, 0x68, 0x83, 0x10, 0xd3, 0xa3, 0xf0, 0x27, 0x6a, 0xb9,
|
||||
0xbc, 0x07, 0x21, 0x73, 0x43, 0x57, 0xb4, 0x09, 0x0b, 0xa2, 0x11, 0x7f, 0xf1, 0x9f, 0xd4, 0x04,
|
||||
0xbc, 0x07, 0x21, 0x73, 0xc3, 0x57, 0xb4, 0x19, 0x0b, 0xe2, 0x11, 0x7f, 0xf1, 0x9f, 0xd4, 0x0c,
|
||||
0x5c, 0x3c, 0xbf, 0x7b, 0x3b, 0xf9, 0x80, 0x44, 0x71, 0xe0, 0x14, 0x82, 0xff, 0x5d, 0xc3, 0x46,
|
||||
0x9a, 0x50, 0xe9, 0xf5, 0x12, 0xa0, 0x38, 0xa8, 0x8b, 0xe5, 0x2a, 0x37, 0x20, 0x24, 0x30, 0x0a,
|
||||
0xcc, 0x0d, 0x08, 0x01, 0xf5, 0xc7, 0xde, 0x27, 0xdf, 0xb5, 0x98, 0x34, 0x87, 0xf2, 0xa6, 0x8e,
|
||||
0x1e, 0x14, 0xbd, 0x4f, 0x0e, 0xd7, 0x9d, 0xe1, 0x41, 0x75, 0x13, 0x37, 0xb4, 0x21, 0x3a, 0xfa,
|
||||
0xab, 0x5c, 0x12, 0x04, 0x30, 0x58, 0x16, 0xf9, 0xcb, 0x46, 0x6d, 0xac, 0x11, 0xec, 0x03, 0x2c,
|
||||
0xb4, 0x0b, 0xd0, 0xc7, 0xd9, 0x6b, 0x45, 0x4a, 0x47, 0x40, 0x7a, 0x92, 0x2b, 0xe4, 0x80, 0x62,
|
||||
0x3e, 0x1a, 0xa2, 0x7a, 0x5b, 0x76, 0xa8, 0xb4, 0xe7, 0xf4, 0x74, 0xa1, 0x39, 0x73, 0x17, 0x82,
|
||||
0x93, 0x19, 0xaf, 0x2e, 0xcf, 0x42, 0x9e, 0x03, 0x76, 0xb0, 0x34, 0x91, 0x97, 0x75, 0x3f, 0x60,
|
||||
0x14, 0x8e, 0xf9, 0xd5, 0xf6, 0xd8, 0x42, 0xa4, 0xf9, 0x31, 0x1f, 0x75, 0x86, 0xd5, 0xc5, 0x8d,
|
||||
0xeb, 0x43, 0xdc, 0x0b, 0x07, 0xd7, 0x18, 0x50, 0xf9, 0x25, 0xe4, 0x6f, 0x88, 0xed, 0x78, 0x78,
|
||||
0xe0, 0x26, 0x20, 0x1a, 0x48, 0x8c, 0xee, 0xde, 0xd3, 0x69, 0x36, 0x1d, 0xd3, 0x26, 0xba, 0xc1,
|
||||
0xd9, 0xec, 0x7b, 0x98, 0x8b, 0x2b, 0x31, 0xf8, 0x88, 0x7e, 0x9b, 0x3d, 0x1d, 0xdb, 0xd8, 0xe8,
|
||||
0xab, 0x5c, 0x12, 0x04, 0x30, 0x58, 0x16, 0xf9, 0xcb, 0x46, 0x6d, 0xac, 0x11, 0xec, 0x03, 0x10,
|
||||
0x5a, 0x02, 0xf4, 0x71, 0xf6, 0x5a, 0x91, 0xd2, 0x11, 0x90, 0x9e, 0xe4, 0x0a, 0x39, 0xa0, 0x98,
|
||||
0x8f, 0x86, 0xa8, 0xde, 0x96, 0x1d, 0x2a, 0xed, 0x39, 0x3d, 0x5d, 0x68, 0xce, 0xdc, 0x85, 0xe0,
|
||||
0x64, 0xc6, 0xab, 0xcb, 0xb3, 0x90, 0xe7, 0x80, 0x1d, 0x90, 0x26, 0xf2, 0xb2, 0xee, 0x07, 0x8c,
|
||||
0xc2, 0x31, 0xbf, 0xda, 0x1e, 0x5b, 0x88, 0x34, 0x3f, 0xe6, 0xa3, 0xce, 0xb0, 0xba, 0xb8, 0x71,
|
||||
0x7d, 0x88, 0x7b, 0xe1, 0xd8, 0x35, 0x06, 0x54, 0x7e, 0x09, 0xf9, 0x1b, 0xda, 0x76, 0x3c, 0x3c,
|
||||
0x70, 0x13, 0x10, 0x0d, 0x2c, 0x46, 0x77, 0xaf, 0xe9, 0x34, 0x8b, 0x8e, 0x69, 0x11, 0xdd, 0xe0,
|
||||
0x6c, 0xd6, 0x3d, 0xbc, 0x8b, 0x2b, 0x31, 0xf8, 0x88, 0x7e, 0x9b, 0x35, 0x1d, 0xdb, 0xd8, 0xe8,
|
||||
0x3c, 0xca, 0xac, 0xc2, 0xae, 0x48, 0x63, 0xd6, 0x44, 0xe8, 0xc6, 0xec, 0xfd, 0xcc, 0xbc, 0x10,
|
||||
0x22, 0x1b, 0x54, 0x67, 0xbe, 0x6f, 0xcf, 0xf5, 0xa8, 0xb3, 0xf7, 0xdd, 0x61, 0xaf, 0xd7, 0xfb,
|
||||
0x69, 0xc0, 0xce, 0x28, 0x59, 0x00, 0x30, 0x58, 0x0d, 0x28, 0x54, 0x79, 0x89, 0xe4, 0x09, 0xec,
|
||||
0x0c, 0xa2, 0x23, 0xd6, 0xa6, 0x4d, 0xa5, 0x1b, 0xeb, 0x6c, 0x11, 0x47, 0x1d, 0x74, 0x9b, 0xb4,
|
||||
0x0c, 0xa6, 0x23, 0xd6, 0xe6, 0x4d, 0xa5, 0x1b, 0xeb, 0x6c, 0x31, 0x47, 0x1d, 0x74, 0x9b, 0xb5,
|
||||
0xab, 0xe7, 0x4e, 0x54, 0x99, 0x26, 0x2c, 0x53, 0x86, 0x45, 0x71, 0x2c, 0xb4, 0x66, 0x36, 0x2f,
|
||||
0xd1, 0xad, 0x9f, 0x4d, 0x4c, 0xec, 0x97, 0xe8, 0x8b, 0x60, 0x1a, 0x90, 0xc8, 0xa4, 0x61, 0x52,
|
||||
0x23, 0x8f, 0xd1, 0x9d, 0x5c, 0x42, 0x9d, 0x3f, 0xc0, 0xaa, 0x60, 0x53, 0xb8, 0x03, 0x2c, 0x83,
|
||||
0x4e, 0x25, 0xca, 0x70, 0x51, 0xd4, 0xa6, 0x5d, 0x1c, 0x8d, 0x7e, 0x13, 0x53, 0xaa, 0x18, 0xcb,
|
||||
0x1c, 0x81, 0x70, 0x34, 0x9a, 0x88, 0xe2, 0x12, 0x49, 0x10, 0x07, 0xd6, 0x46, 0x11, 0xe2, 0xba,
|
||||
0xe9, 0x23, 0x9d, 0x35, 0xa9, 0xc6, 0x69, 0x6e, 0x86, 0x5f, 0x4e, 0x10, 0x08, 0xd1, 0xb5, 0x4b,
|
||||
0x5c, 0x21, 0xff, 0xf1, 0x88, 0xdb, 0x96, 0xcf, 0x7a, 0x9e, 0x34, 0xfd, 0x55, 0x4d, 0x24, 0x25,
|
||||
0x7d, 0xde, 0xc4, 0x01, 0x5d, 0x28, 0xa1, 0x7f, 0xac, 0xdf, 0xaf, 0xa2, 0x22, 0x83, 0xa6, 0x1f,
|
||||
0x70, 0xe8, 0xe8, 0xe2, 0x71, 0x89, 0x77, 0xc1, 0xa6, 0x25, 0xaa, 0x21, 0x96, 0x28, 0xa1, 0xad,
|
||||
0xd2, 0x15, 0x82, 0x30, 0x4d, 0xa4, 0xe4, 0x4c, 0x42, 0x33, 0xb2, 0x72, 0x99, 0x53, 0x5c, 0x07,
|
||||
0x96, 0xdf, 0x81, 0xac, 0x15, 0x22, 0xce, 0x1d, 0x62, 0x5d, 0x31, 0x1e, 0x55, 0x17, 0x94, 0x5b,
|
||||
0x9b, 0x77, 0x54, 0xda, 0xf4, 0xda, 0x55, 0x78, 0x9f, 0x57, 0x6a, 0x38, 0x92, 0x92, 0xe4, 0xa3,
|
||||
0xbb, 0xc5, 0x34, 0x55, 0x57, 0x54, 0xeb, 0x80, 0xbb, 0xbb, 0xef, 0x94, 0xff, 0x1b, 0xd5, 0x37,
|
||||
0x5a, 0xce, 0xe3, 0x24, 0x7d, 0x99, 0x49, 0x60, 0x11, 0x5d, 0xf5, 0x2e, 0xa8, 0xc3, 0x00, 0xb4,
|
||||
0xb9, 0x92, 0xc2, 0xdd, 0xc5, 0x33, 0xba, 0x62, 0x25, 0x8c, 0x69, 0x79, 0x05, 0xac, 0x3a, 0xff,
|
||||
0x52, 0x25, 0xbb, 0x92, 0x69, 0xca, 0x32, 0x01, 0x11, 0xb1, 0xcf, 0x36, 0x28, 0x80, 0x45, 0x16,
|
||||
0xcd, 0xd1, 0xee, 0x30, 0x39, 0x63, 0xa5, 0xed, 0xda, 0x22, 0x96, 0xc8, 0xd9, 0x4c, 0x14, 0x74,
|
||||
0xb1, 0x5b, 0x91, 0xf0, 0x6b, 0xda, 0xaa, 0xa9, 0x5e, 0xe8, 0x7a, 0x08, 0xb0, 0xa6, 0x1d, 0xf5,
|
||||
0xf7, 0x62, 0x86, 0x97, 0x85, 0x95, 0x65, 0x49, 0xd4, 0xa0, 0x01, 0x58, 0x00, 0x5f, 0xd2, 0x1b,
|
||||
0xfa, 0x92, 0x90, 0xcd, 0x85, 0x0e, 0xac, 0x11, 0xdb, 0xce, 0xa3, 0xde, 0x7b, 0xd4, 0xa9, 0x0b,
|
||||
0xbc, 0x5a, 0xc7, 0x20, 0x08, 0xea, 0xd8, 0xf9, 0x91, 0x3e, 0x04, 0xbc, 0x00, 0x48, 0x45, 0x48,
|
||||
0x47, 0xb1, 0xb0, 0x17, 0x42, 0x2e, 0xca, 0x2b, 0xef, 0xa6, 0xb0, 0xa3, 0x0b, 0xb9, 0xc6, 0xe2,
|
||||
0x9d, 0x3b, 0xae, 0x37, 0x38, 0x55, 0x86, 0x17, 0xd5, 0xa5, 0xfd, 0xce, 0x75, 0xc8, 0x68, 0x73,
|
||||
0x2c, 0xef, 0x20, 0xda, 0xb9, 0xc7, 0x8f, 0x0d, 0x51, 0x77, 0xfb, 0xfe, 0x28, 0xa2, 0x9d, 0x5d,
|
||||
0x51, 0xef, 0x27, 0x2a, 0x93, 0x07, 0x28, 0x76, 0xee, 0x57, 0xfe, 0x5e, 0x8a, 0xee, 0x9a, 0xff,
|
||||
0x4e, 0xa2, 0x9d, 0xaf, 0x59, 0xf4, 0x21, 0xa2, 0xf9, 0x55, 0x71, 0x8b, 0x68, 0xe7, 0x41, 0x8b,
|
||||
0x3e, 0x82, 0xa8, 0xb8, 0xce, 0x79, 0xa3, 0xe5, 0xa3, 0xdc, 0x74, 0x0f, 0xd1, 0x4e, 0x43, 0xd5,
|
||||
0x7e, 0x28, 0xf8, 0x73, 0xae, 0xdf, 0x8e, 0xa7, 0xfa, 0x46, 0x6b, 0x29, 0xb3, 0x90, 0xf7, 0x2c,
|
||||
0x28, 0x85, 0xfc, 0xe8, 0x7f, 0x7a, 0x84, 0xe0, 0x22, 0x0f, 0xf9, 0x61, 0x4b, 0x05, 0xb5, 0x65,
|
||||
0xe8, 0x3f, 0xe5, 0xba, 0x47, 0xb0, 0xd9, 0x28, 0xa5, 0x66, 0xb3, 0xfb, 0x18, 0x7d, 0x8b, 0x8d,
|
||||
0xdc, 0x27, 0x8d, 0x3b, 0x8d, 0x74, 0xca, 0xa8, 0x30, 0x65, 0x54, 0x24, 0xda, 0xaf, 0x49, 0x0f,
|
||||
0x53, 0x43, 0x85, 0x49, 0xb9, 0xd0, 0x1e, 0xfb, 0x90, 0x53, 0x85, 0xdb, 0x16, 0x8d, 0x56, 0x6c,
|
||||
0xd5, 0xba, 0x75, 0x0e, 0xdc, 0x4e, 0x4e, 0x84, 0x8a, 0xbf, 0x2d, 0x6e, 0xd8, 0x95, 0xcd, 0x4d,
|
||||
0x58, 0x37, 0x66, 0x04, 0x20, 0x7b, 0xdf, 0x5d, 0x1f, 0xfe, 0xfc, 0xfc, 0x2f, 0x2f, 0x06, 0x0e,
|
||||
0x3f, 0x5d, 0xba, 0xf9, 0x16, 0x17, 0x06, 0xb5, 0x75, 0x0f, 0x83, 0xc6, 0xba, 0x18, 0xac, 0xfc,
|
||||
0xe8, 0xea, 0x45, 0xfb, 0x01, 0xe7, 0xc2, 0x44, 0xd3, 0x6d, 0x33, 0xff, 0x89, 0x00, 0x7f, 0x88,
|
||||
0x67, 0xe7, 0x21, 0xa6, 0xd3, 0xf9, 0x9f, 0x77, 0x6d, 0xa7, 0x9d, 0x40, 0x37, 0x04, 0x6d, 0xfa,
|
||||
0xb7, 0x04, 0x5b, 0x99, 0xf4, 0xf9, 0xd7, 0xc9, 0x3f, 0x0a, 0xaf, 0xb6, 0x9a, 0x81, 0xdd, 0x9b,
|
||||
0xe6, 0x4e, 0x13, 0x05, 0x3f, 0x6c, 0xfa, 0x89, 0xdd, 0x9b, 0xd3, 0x1f, 0x36, 0x09, 0xc1, 0x8d,
|
||||
0x3c, 0x16, 0x8d, 0x77, 0xf5, 0xac, 0xaa, 0xfb, 0xdb, 0x7a, 0x6d, 0x12, 0xb7, 0x2b, 0x19, 0x1c,
|
||||
0x9b, 0xe6, 0x30, 0x56, 0x25, 0xc3, 0xe2, 0xa7, 0xd1, 0xce, 0xf7, 0xb5, 0x26, 0x25, 0x21, 0xf1,
|
||||
0xfc, 0xf4, 0x6d, 0x89, 0xa7, 0x6d, 0x9e, 0x4d, 0xb7, 0xb3, 0x6b, 0xa7, 0xcd, 0x61, 0xd9, 0x98,
|
||||
0xe9, 0xff, 0x80, 0xa3, 0x6d, 0xa6, 0xb6, 0x69, 0xda, 0x05, 0xd3, 0x7b, 0x18, 0xb6, 0x4b, 0x12,
|
||||
0x4b, 0xbc, 0x45, 0x8c, 0x9a, 0xc9, 0x36, 0x99, 0x7b, 0x4e, 0x2d, 0xfb, 0xf6, 0xf4, 0x4c, 0x4d,
|
||||
0xc3, 0x9d, 0x00, 0x5d, 0x3b, 0x4e, 0x7f, 0x91, 0xa8, 0x17, 0x4e, 0x9a, 0x4f, 0xc4, 0xbb, 0xf1,
|
||||
0x60, 0x6f, 0x8e, 0xaa, 0x0a, 0xcb, 0x76, 0x34, 0xb6, 0x9a, 0xcd, 0xd1, 0xb1, 0xda, 0x86, 0x64,
|
||||
0xb4, 0x6d, 0xb2, 0xa6, 0xcc, 0xaf, 0x9a, 0x9b, 0x73, 0xd7, 0x30, 0x35, 0x45, 0xfc, 0x0f, 0xad,
|
||||
0x96, 0xd0, 0x5e, 0x4d, 0x10, 0x49, 0x34, 0x56, 0x24, 0x85, 0x6b, 0x70, 0x7e, 0x68, 0x1b, 0xec,
|
||||
0x9b, 0x33, 0xb3, 0xfd, 0xcc, 0x7d, 0x4f, 0x62, 0xae, 0x35, 0x5f, 0x54, 0x5f, 0xbd, 0xf9, 0xa8,
|
||||
0xfe, 0xfe, 0xbd, 0x43, 0x77, 0x57, 0xf5, 0xa3, 0x96, 0xee, 0x9f, 0x35, 0xd4, 0x1c, 0xed, 0xd8,
|
||||
0xaa, 0xd6, 0x7e, 0x47, 0xf9, 0xce, 0x83, 0xda, 0x1f, 0x41, 0xfd, 0x5a, 0x14, 0x47, 0x76, 0xdb,
|
||||
0x06, 0xb5, 0xb8, 0xee, 0x5b, 0x27, 0xe1, 0x87, 0x2b, 0xe3, 0x8a, 0xaf, 0xf5, 0x4b, 0xf6, 0x7e,
|
||||
0x18, 0xae, 0xa5, 0xdb, 0xda, 0xed, 0xde, 0x63, 0xd3, 0x71, 0x2d, 0x8a, 0xaf, 0x36, 0x77, 0x8f,
|
||||
0xed, 0xd3, 0x3a, 0x0f, 0x37, 0x6a, 0xc3, 0x03, 0x6a, 0x46, 0xf1, 0x43, 0x0d, 0x2b, 0x75, 0xaf,
|
||||
0xf4, 0xaf, 0x32, 0xff, 0x05, 0x5b, 0x4a, 0x2f, 0x9e, 0x3a, 0x23, 0x00, 0x00
|
||||
0x23, 0x8f, 0xd1, 0x9d, 0x5c, 0x42, 0x9d, 0x3f, 0xc0, 0xaa, 0x60, 0x53, 0xb8, 0x03, 0x5b, 0x06,
|
||||
0x9d, 0x4a, 0x94, 0xe1, 0xa2, 0xa8, 0x4d, 0xbb, 0x38, 0x1a, 0xfd, 0x26, 0xa6, 0x54, 0x31, 0x96,
|
||||
0x39, 0x02, 0xe1, 0x68, 0x34, 0x11, 0xc5, 0x25, 0x92, 0x20, 0x0e, 0xac, 0x8d, 0x22, 0xc4, 0x75,
|
||||
0xd3, 0x47, 0x3a, 0x6b, 0x52, 0x8d, 0xd3, 0xdc, 0x0c, 0xbf, 0x9c, 0x20, 0x10, 0xa2, 0x6b, 0x97,
|
||||
0xb8, 0x42, 0xfe, 0xe3, 0x11, 0xb7, 0x2d, 0x5f, 0x75, 0x29, 0xa8, 0x11, 0x7a, 0xa9, 0x9c, 0x49,
|
||||
0x88, 0x72, 0x7e, 0xba, 0xc3, 0x66, 0xd3, 0xdf, 0x56, 0xac, 0x26, 0xe7, 0x6e, 0xed, 0x50, 0x8e,
|
||||
0x3a, 0x1f, 0x16, 0x74, 0x95, 0x97, 0xa6, 0xea, 0x8a, 0x4a, 0x0b, 0x98, 0xd4, 0x5d, 0x2f, 0xca,
|
||||
0xff, 0x8d, 0xea, 0x0b, 0x24, 0x67, 0x60, 0x14, 0x8f, 0xac, 0xcc, 0x24, 0x8e, 0x3e, 0xdd, 0xac,
|
||||
0x2e, 0xa8, 0xa0, 0x07, 0x92, 0xb8, 0x0c, 0xee, 0xae, 0xbe, 0x19, 0xdd, 0x68, 0xd2, 0x91, 0x6e,
|
||||
0x19, 0x01, 0x9b, 0x74, 0xfe, 0xa5, 0x4a, 0x76, 0x25, 0xd3, 0x94, 0x65, 0x02, 0xd2, 0x61, 0x9d,
|
||||
0xed, 0x07, 0x80, 0x42, 0x2c, 0x9a, 0xa3, 0xbb, 0x60, 0x72, 0xc6, 0x4a, 0xdb, 0x24, 0x45, 0x2c,
|
||||
0x91, 0xb3, 0x99, 0x28, 0xe8, 0x1e, 0xb5, 0x62, 0xe1, 0xd7, 0xbc, 0x55, 0x53, 0x2c, 0xd0, 0x6d,
|
||||
0x0c, 0x50, 0x44, 0x3b, 0xee, 0xef, 0xc5, 0x0c, 0x2f, 0x0b, 0x2b, 0xcb, 0x92, 0xb8, 0x41, 0x03,
|
||||
0x6c, 0x81, 0xe3, 0x9c, 0xde, 0xd0, 0xc5, 0x7d, 0x36, 0x17, 0x3a, 0x18, 0x1e, 0x48, 0xa7, 0x2f,
|
||||
0x9d, 0x12, 0x8a, 0x0a, 0x6a, 0x75, 0x47, 0x9d, 0xba, 0x9e, 0xaa, 0x75, 0x0c, 0x82, 0xa0, 0x76,
|
||||
0xd5, 0x8f, 0x74, 0xef, 0xfe, 0x02, 0x98, 0x10, 0x01, 0xfd, 0x63, 0x61, 0xef, 0x5f, 0x5c, 0x50,
|
||||
0x55, 0x87, 0x2c, 0x85, 0x05, 0x9d, 0x87, 0x1b, 0x63, 0x77, 0xee, 0xb8, 0x4d, 0xe0, 0x54, 0x88,
|
||||
0x5d, 0x54, 0x77, 0xe4, 0x3b, 0xb7, 0x0f, 0xa3, 0xcd, 0x29, 0xb8, 0x83, 0x69, 0xe7, 0x1e, 0x17,
|
||||
0x36, 0x4c, 0xdd, 0x65, 0xf7, 0xa3, 0x98, 0x76, 0x76, 0x45, 0xbd, 0x9f, 0xa9, 0x4c, 0x1e, 0xe0,
|
||||
0xd8, 0xb9, 0x5f, 0xf9, 0x7b, 0x39, 0xba, 0x5b, 0xf5, 0x3b, 0x99, 0x76, 0xbe, 0x66, 0xd1, 0x87,
|
||||
0x98, 0xe6, 0x57, 0xc5, 0x2d, 0xa6, 0x9d, 0x07, 0x2d, 0xfa, 0x08, 0xa6, 0xe2, 0x3a, 0xe7, 0x8d,
|
||||
0x96, 0x8f, 0x72, 0xd3, 0x7d, 0x07, 0xad, 0xe1, 0x6a, 0xef, 0xe5, 0xff, 0x9c, 0xeb, 0xb7, 0xe3,
|
||||
0xa9, 0xbe, 0x40, 0x5a, 0xca, 0x2c, 0xe4, 0x3d, 0x8b, 0x01, 0x21, 0x3f, 0xfa, 0x9f, 0x1e, 0x01,
|
||||
0xa6, 0xc8, 0x43, 0x7e, 0xd8, 0x52, 0x41, 0x6d, 0x19, 0xfa, 0x4f, 0xb9, 0xee, 0x11, 0xdb, 0x6c,
|
||||
0x94, 0x52, 0xb3, 0xd9, 0x7d, 0x1b, 0x7d, 0x8b, 0x8d, 0xdc, 0x17, 0x84, 0x3b, 0x8d, 0x74, 0xca,
|
||||
0xa8, 0x0e, 0x64, 0x54, 0x93, 0xd9, 0x8f, 0x37, 0x0f, 0x73, 0x43, 0x41, 0x47, 0xa9, 0xc7, 0x1e,
|
||||
0xfb, 0x90, 0x53, 0x41, 0xd9, 0x16, 0x8d, 0x28, 0xb6, 0x4a, 0xcb, 0x3a, 0xe5, 0x6c, 0xe7, 0x02,
|
||||
0x42, 0xc5, 0xdf, 0x16, 0x37, 0xec, 0xca, 0xa6, 0x02, 0xd0, 0x8d, 0x19, 0x01, 0xc8, 0xde, 0x77,
|
||||
0xd7, 0x87, 0x3f, 0x3f, 0xff, 0xcb, 0x8b, 0x81, 0x65, 0x58, 0xa1, 0xfb, 0xb7, 0xb8, 0x30, 0xa8,
|
||||
0xad, 0x7b, 0x18, 0x34, 0xd6, 0xc5, 0x60, 0xe5, 0x47, 0x57, 0x9e, 0xd9, 0xef, 0x25, 0x17, 0x26,
|
||||
0x9a, 0x6e, 0x9b, 0xf9, 0x4f, 0x04, 0xf8, 0x43, 0x7b, 0x76, 0x1e, 0xda, 0x74, 0x3a, 0xff, 0xf3,
|
||||
0xae, 0xed, 0xb4, 0xf3, 0xd5, 0x86, 0xa1, 0xcd, 0xb6, 0x96, 0x61, 0x2b, 0x71, 0x3d, 0xff, 0x3a,
|
||||
0xfb, 0x47, 0xe1, 0xd5, 0x56, 0xed, 0xbd, 0x7b, 0xb1, 0xdb, 0x69, 0xa2, 0xe0, 0x87, 0x4d, 0xf9,
|
||||
0xbe, 0x7b, 0x51, 0xf9, 0xc3, 0x26, 0x21, 0xb8, 0x91, 0xc7, 0xa2, 0xf1, 0xae, 0x9e, 0x55, 0x31,
|
||||
0x7d, 0x5b, 0x2f, 0x97, 0x4d, 0xea, 0x4d, 0x7e, 0x55, 0x6e, 0x9b, 0xe6, 0x30, 0xda, 0x4f, 0x3e,
|
||||
0xc8, 0x36, 0x3f, 0x8d, 0x76, 0x3e, 0x67, 0x35, 0x29, 0x09, 0x89, 0xe7, 0xa7, 0x6f, 0x4b, 0x3c,
|
||||
0x6d, 0xf3, 0x6c, 0x9a, 0x8b, 0x5d, 0x3b, 0x6d, 0x0e, 0xcb, 0xc6, 0x4c, 0xff, 0x07, 0x1c, 0x6d,
|
||||
0x6f, 0x6a, 0x7b, 0x94, 0x5d, 0x30, 0xbd, 0x67, 0xc3, 0x96, 0xb1, 0x1c, 0xf3, 0x16, 0x33, 0xea,
|
||||
0xdd, 0xda, 0x6c, 0xee, 0x39, 0xb5, 0xec, 0xdb, 0xd3, 0x33, 0xd5, 0xe8, 0x77, 0x02, 0x74, 0xed,
|
||||
0x38, 0xfd, 0x45, 0xa2, 0x5e, 0x38, 0x69, 0xbe, 0xc8, 0xee, 0xc6, 0x83, 0xbd, 0xa8, 0xa9, 0xea,
|
||||
0x75, 0xdb, 0x40, 0xd8, 0xe2, 0x31, 0x47, 0x83, 0x68, 0xeb, 0xff, 0xd1, 0xb6, 0xc9, 0x9a, 0xaa,
|
||||
0xba, 0xea, 0x25, 0xce, 0x5d, 0x7f, 0xd2, 0xd4, 0xcc, 0x3f, 0xb4, 0x3a, 0x30, 0x7b, 0x13, 0x40,
|
||||
0x2c, 0xd1, 0xc7, 0x90, 0x14, 0xae, 0x9f, 0xf8, 0xa1, 0x6d, 0xb0, 0x6f, 0xce, 0xcc, 0xf6, 0xab,
|
||||
0xf2, 0x3d, 0x89, 0xb9, 0xd6, 0x7c, 0x51, 0x7d, 0x64, 0xe6, 0xa3, 0xfa, 0x73, 0xf3, 0x0e, 0xdf,
|
||||
0x5d, 0xd5, 0x8f, 0x5a, 0xba, 0x7f, 0xd6, 0x50, 0x73, 0xb4, 0x63, 0xab, 0x5a, 0xfb, 0x1d, 0xe5,
|
||||
0x3b, 0x0f, 0x6a, 0x7f, 0x04, 0xf5, 0x6b, 0x51, 0x1c, 0xdb, 0x6d, 0x1b, 0xd4, 0xe2, 0xba, 0x4f,
|
||||
0x8b, 0x84, 0x1f, 0xae, 0x8c, 0x2b, 0xbe, 0xd6, 0x9e, 0xd8, 0xeb, 0x58, 0xb8, 0x96, 0x2e, 0x47,
|
||||
0xb7, 0x4b, 0xfd, 0x4d, 0x83, 0xb3, 0x28, 0xbe, 0xda, 0x4b, 0x3d, 0xb6, 0x2d, 0xea, 0x3c, 0xdc,
|
||||
0x17, 0x0d, 0x0f, 0xa8, 0xf7, 0xc3, 0x0f, 0xf5, 0x87, 0xd4, 0x2c, 0xd2, 0x7f, 0xa6, 0xfc, 0x17,
|
||||
0x07, 0x60, 0x31, 0xcc, 0xa9, 0x22, 0x00, 0x00
|
||||
};
|
||||
|
||||
|
||||
|
1141
wled00/html_simple.h
1141
wled00/html_simple.h
File diff suppressed because it is too large
Load Diff
4832
wled00/html_ui.h
4832
wled00/html_ui.h
File diff suppressed because it is too large
Load Diff
@ -650,6 +650,7 @@ void serializeInfo(JsonObject root)
|
||||
|
||||
root[F("name")] = serverDescription;
|
||||
root[F("udpport")] = udpPort;
|
||||
root[F("simplifiedui")] = simplifiedUI;
|
||||
root["live"] = (bool)realtimeMode;
|
||||
root[F("liveseg")] = useMainSegmentOnly ? strip.getMainSegmentId() : -1; // if using main segment only for live
|
||||
|
||||
@ -945,11 +946,11 @@ void serializeNetworks(JsonObject root)
|
||||
|
||||
for (int i = 0; i < status; i++) {
|
||||
JsonObject node = networks.createNestedObject();
|
||||
node["ssid"] = WiFi.SSID(i);
|
||||
node["rssi"] = WiFi.RSSI(i);
|
||||
node["bssid"] = WiFi.BSSIDstr(i);
|
||||
node["channel"] = WiFi.channel(i);
|
||||
node["enc"] = WiFi.encryptionType(i);
|
||||
node[F("ssid")] = WiFi.SSID(i);
|
||||
node[F("rssi")] = WiFi.RSSI(i);
|
||||
node[F("bssid")] = WiFi.BSSIDstr(i);
|
||||
node[F("channel")] = WiFi.channel(i);
|
||||
node[F("enc")] = WiFi.encryptionType(i);
|
||||
}
|
||||
|
||||
WiFi.scanDelete();
|
||||
@ -1012,7 +1013,7 @@ static volatile bool servingClient = false;
|
||||
void serveJson(AsyncWebServerRequest* request)
|
||||
{
|
||||
if (servingClient) {
|
||||
request->send(503, "application/json", F("{\"error\":2}")); // ERR_CONCURENCY
|
||||
serveJsonError(request, 503, ERR_CONCURRENCY);
|
||||
return;
|
||||
}
|
||||
servingClient = true;
|
||||
@ -1044,13 +1045,13 @@ void serveJson(AsyncWebServerRequest* request)
|
||||
return;
|
||||
}
|
||||
else if (url.length() > 6) { //not just /json
|
||||
request->send(501, "application/json", F("{\"error\":\"Not implemented\"}"));
|
||||
serveJsonError(request, 501, ERR_NOT_IMPL);
|
||||
servingClient = false;
|
||||
return;
|
||||
}
|
||||
|
||||
if (!requestJSONBufferLock(17)) {
|
||||
request->send(503, "application/json", F("{\"error\":3}"));
|
||||
serveJsonError(request, 503, ERR_NOBUF);
|
||||
servingClient = false;
|
||||
return;
|
||||
}
|
||||
|
@ -167,7 +167,7 @@ void handleSettingsSet(AsyncWebServerRequest *request, byte subPage)
|
||||
} else {
|
||||
freqHz = 0;
|
||||
}
|
||||
channelSwap = (type == TYPE_SK6812_RGBW || type == TYPE_TM1814) ? request->arg(wo).toInt() : 0;
|
||||
channelSwap = Bus::hasWhite(type) ? request->arg(wo).toInt() : 0;
|
||||
if ((type > TYPE_TM1814 && type < TYPE_WS2801) || type >= TYPE_NET_DDP_RGB) { // analog and virtual
|
||||
maPerLed = 0;
|
||||
maMax = 0;
|
||||
@ -221,15 +221,22 @@ void handleSettingsSet(AsyncWebServerRequest *request, byte subPage)
|
||||
char bt[4] = "BT"; bt[2] = (i<10?48:55)+i; bt[3] = 0; // button pin (use A,B,C,... if WLED_MAX_BUTTONS>10)
|
||||
char be[4] = "BE"; be[2] = (i<10?48:55)+i; be[3] = 0; // button type (use A,B,C,... if WLED_MAX_BUTTONS>10)
|
||||
int hw_btn_pin = request->arg(bt).toInt();
|
||||
if (pinManager.allocatePin(hw_btn_pin,false,PinOwner::Button)) {
|
||||
if (hw_btn_pin >= 0 && pinManager.allocatePin(hw_btn_pin,false,PinOwner::Button)) {
|
||||
btnPin[i] = hw_btn_pin;
|
||||
buttonType[i] = request->arg(be).toInt();
|
||||
#ifdef ARDUINO_ARCH_ESP32
|
||||
// ESP32 only: check that analog button pin is a valid ADC gpio
|
||||
// ESP32 only: check that button pin is a valid gpio
|
||||
if (((buttonType[i] == BTN_TYPE_ANALOG) || (buttonType[i] == BTN_TYPE_ANALOG_INVERTED)) && (digitalPinToAnalogChannel(btnPin[i]) < 0))
|
||||
{
|
||||
// not an ADC analog pin
|
||||
if (btnPin[i] >= 0) DEBUG_PRINTF("PIN ALLOC error: GPIO%d for analog button #%d is not an analog pin!\n", btnPin[i], i);
|
||||
DEBUG_PRINTF("PIN ALLOC error: GPIO%d for analog button #%d is not an analog pin!\n", btnPin[i], i);
|
||||
btnPin[i] = -1;
|
||||
pinManager.deallocatePin(hw_btn_pin,PinOwner::Button);
|
||||
}
|
||||
else if ((buttonType[i] == BTN_TYPE_TOUCH || buttonType[i] == BTN_TYPE_TOUCH_SWITCH) && digitalPinToTouchChannel(btnPin[i]) < 0)
|
||||
{
|
||||
// not a touch pin
|
||||
DEBUG_PRINTF("PIN ALLOC error: GPIO%d for touch button #%d is not an touch pin!\n", btnPin[i], i);
|
||||
btnPin[i] = -1;
|
||||
pinManager.deallocatePin(hw_btn_pin,PinOwner::Button);
|
||||
}
|
||||
@ -296,13 +303,7 @@ void handleSettingsSet(AsyncWebServerRequest *request, byte subPage)
|
||||
{
|
||||
strlcpy(serverDescription, request->arg(F("DS")).c_str(), 33);
|
||||
//syncToggleReceive = request->hasArg(F("ST"));
|
||||
#ifdef WLED_ENABLE_SIMPLE_UI
|
||||
if (simplifiedUI ^ request->hasArg(F("SU"))) {
|
||||
// UI selection changed, invalidate browser cache
|
||||
cacheInvalidate++;
|
||||
}
|
||||
simplifiedUI = request->hasArg(F("SU"));
|
||||
#endif
|
||||
DEBUG_PRINTLN(F("Enumerating ledmaps"));
|
||||
enumerateLedmaps();
|
||||
DEBUG_PRINTLN(F("Loading custom palettes"));
|
||||
|
@ -139,9 +139,9 @@ void notify(byte callMode, bool followUp)
|
||||
udpOut[29+ofs] = selseg.custom1;
|
||||
udpOut[30+ofs] = selseg.custom2;
|
||||
udpOut[31+ofs] = selseg.custom3 | (selseg.check1<<5) | (selseg.check2<<6) | (selseg.check3<<7);
|
||||
udpOut[32+ofs] = selseg.startY >> 8;
|
||||
udpOut[32+ofs] = selseg.startY >> 8; // ATM always 0 as Segment::startY is 8-bit
|
||||
udpOut[33+ofs] = selseg.startY & 0xFF;
|
||||
udpOut[34+ofs] = selseg.stopY >> 8;
|
||||
udpOut[34+ofs] = selseg.stopY >> 8; // ATM always 0 as Segment::stopY is 8-bit
|
||||
udpOut[35+ofs] = selseg.stopY & 0xFF;
|
||||
++s;
|
||||
}
|
||||
@ -272,6 +272,7 @@ void parseNotifyPacket(uint8_t *udpIn) {
|
||||
if (!receiveSegmentBounds) {
|
||||
if (!selseg.isActive()) {
|
||||
inactiveSegs++;
|
||||
DEBUG_PRINTLN(F("Inactive segment."));
|
||||
continue;
|
||||
} else {
|
||||
id += inactiveSegs; // adjust id
|
||||
@ -279,24 +280,29 @@ void parseNotifyPacket(uint8_t *udpIn) {
|
||||
}
|
||||
DEBUG_PRINT(F("UDP segment processing: ")); DEBUG_PRINTLN(id);
|
||||
|
||||
uint16_t startY = 0, start = (udpIn[1+ofs] << 8 | udpIn[2+ofs]);
|
||||
uint16_t stopY = 1, stop = (udpIn[3+ofs] << 8 | udpIn[4+ofs]);
|
||||
uint16_t start = (udpIn[1+ofs] << 8 | udpIn[2+ofs]);
|
||||
uint16_t stop = (udpIn[3+ofs] << 8 | udpIn[4+ofs]);
|
||||
uint16_t startY = version > 11 ? (udpIn[32+ofs] << 8 | udpIn[33+ofs]) : 0;
|
||||
uint16_t stopY = version > 11 ? (udpIn[34+ofs] << 8 | udpIn[35+ofs]) : 1;
|
||||
uint16_t offset = (udpIn[7+ofs] << 8 | udpIn[8+ofs]);
|
||||
if (!receiveSegmentOptions) {
|
||||
//selseg.setUp(start, stop, selseg.grouping, selseg.spacing, offset, startY, stopY);
|
||||
// we have to use strip.setSegment() instead of selseg.setUp() to prevent crash if segment would change during drawing
|
||||
DEBUG_PRINTF("Set segment w/o options: %d [%d,%d;%d,%d]\n", id, (int)start, (int)stop, (int)startY, (int)stopY);
|
||||
strip.setSegment(id, start, stop, selseg.grouping, selseg.spacing, offset, startY, stopY);
|
||||
continue; // we do receive bounds, but not options
|
||||
}
|
||||
selseg.options = (selseg.options & 0x0071U) | (udpIn[9 +ofs] & 0x0E); // ignore selected, freeze, reset & transitional
|
||||
selseg.setOpacity(udpIn[10+ofs]);
|
||||
if (applyEffects) {
|
||||
DEBUG_PRINT(F("Apply effect: ")); DEBUG_PRINTLN(id);
|
||||
selseg.setMode(udpIn[11+ofs]);
|
||||
selseg.speed = udpIn[12+ofs];
|
||||
selseg.intensity = udpIn[13+ofs];
|
||||
selseg.palette = udpIn[14+ofs];
|
||||
}
|
||||
if (receiveNotificationColor || !someSel) {
|
||||
DEBUG_PRINT(F("Apply color: ")); DEBUG_PRINTLN(id);
|
||||
selseg.setColor(0, RGBW32(udpIn[15+ofs],udpIn[16+ofs],udpIn[17+ofs],udpIn[18+ofs]));
|
||||
selseg.setColor(1, RGBW32(udpIn[19+ofs],udpIn[20+ofs],udpIn[21+ofs],udpIn[22+ofs]));
|
||||
selseg.setColor(2, RGBW32(udpIn[23+ofs],udpIn[24+ofs],udpIn[25+ofs],udpIn[26+ofs]));
|
||||
@ -306,8 +312,10 @@ void parseNotifyPacket(uint8_t *udpIn) {
|
||||
// when applying synced options ignore selected as it may be used as indicator of which segments to sync
|
||||
// freeze, reset should never be synced
|
||||
// LSB to MSB: select, reverse, on, mirror, freeze, reset, reverse_y, mirror_y, transpose, map1d2d (3), ssim (2), set (2)
|
||||
DEBUG_PRINT(F("Apply options: ")); DEBUG_PRINTLN(id);
|
||||
selseg.options = (selseg.options & 0b0000000000110001U) | (udpIn[28+ofs]<<8) | (udpIn[9 +ofs] & 0b11001110U); // ignore selected, freeze, reset
|
||||
if (applyEffects) {
|
||||
DEBUG_PRINT(F("Apply sliders: ")); DEBUG_PRINTLN(id);
|
||||
selseg.custom1 = udpIn[29+ofs];
|
||||
selseg.custom2 = udpIn[30+ofs];
|
||||
selseg.custom3 = udpIn[31+ofs] & 0x1F;
|
||||
@ -315,14 +323,14 @@ void parseNotifyPacket(uint8_t *udpIn) {
|
||||
selseg.check1 = (udpIn[31+ofs]>>6) & 0x1;
|
||||
selseg.check1 = (udpIn[31+ofs]>>7) & 0x1;
|
||||
}
|
||||
startY = (udpIn[32+ofs] << 8 | udpIn[33+ofs]);
|
||||
stopY = (udpIn[34+ofs] << 8 | udpIn[35+ofs]);
|
||||
}
|
||||
if (receiveSegmentBounds) {
|
||||
DEBUG_PRINTF("Set segment w/ options: %d [%d,%d;%d,%d]\n", id, (int)start, (int)stop, (int)startY, (int)stopY);
|
||||
// we have to use strip.setSegment() instead of selseg.setUp() to prevent crash if segment would change during drawing
|
||||
strip.setSegment(id, start, stop, udpIn[5+ofs], udpIn[6+ofs], offset, startY, stopY);
|
||||
} else {
|
||||
// we have to use strip.setSegment() instead of selseg.setUp() to prevent crash if segment would change during drawing
|
||||
DEBUG_PRINTF("Set segment grouping: %d [%d,%d]\n", id, (int)udpIn[5+ofs], (int)udpIn[6+ofs]);
|
||||
strip.setSegment(id, selseg.start, selseg.stop, udpIn[5+ofs], udpIn[6+ofs], selseg.offset, selseg.startY, selseg.stopY);
|
||||
}
|
||||
}
|
||||
|
@ -8,7 +8,7 @@
|
||||
*/
|
||||
|
||||
// version code in format yymmddb (b = daily build)
|
||||
#define VERSION 2312020
|
||||
#define VERSION 2312190
|
||||
|
||||
//uncomment this if you have a "my_config.h" file you'd like to use
|
||||
//#define WLED_USE_MY_CONFIG
|
||||
@ -365,7 +365,7 @@ WLED_GLOBAL char serverDescription[33] _INIT(SERVERNAME); // use predefined nam
|
||||
#endif
|
||||
//WLED_GLOBAL bool syncToggleReceive _INIT(false); // UIs which only have a single button for sync should toggle send+receive if this is true, only send otherwise
|
||||
WLED_GLOBAL bool simplifiedUI _INIT(false); // enable simplified UI
|
||||
WLED_GLOBAL byte cacheInvalidate _INIT(0); // used to invalidate browser cache when switching from regular to simplified UI
|
||||
WLED_GLOBAL byte cacheInvalidate _INIT(0); // used to invalidate browser cache
|
||||
|
||||
// Sync CONFIG
|
||||
WLED_GLOBAL NodesMap Nodes;
|
||||
|
@ -1,9 +1,6 @@
|
||||
#include "wled.h"
|
||||
|
||||
#include "html_ui.h"
|
||||
#ifdef WLED_ENABLE_SIMPLE_UI
|
||||
#include "html_simple.h"
|
||||
#endif
|
||||
#include "html_settings.h"
|
||||
#include "html_other.h"
|
||||
#ifdef WLED_ENABLE_PIXART
|
||||
@ -149,11 +146,15 @@ void initServer()
|
||||
request->send(response);
|
||||
});
|
||||
|
||||
server.on("/favicon.ico", HTTP_GET, [](AsyncWebServerRequest *request){
|
||||
if(!handleFileRead(request, "/favicon.ico"))
|
||||
{
|
||||
request->send_P(200, "image/x-icon", favicon, 156);
|
||||
}
|
||||
server.on("/favicon.ico", HTTP_GET, [](AsyncWebServerRequest *request) {
|
||||
if (handleFileRead(request, "/favicon.ico")) return;
|
||||
request->send_P(200, "image/x-icon", favicon, 156);
|
||||
});
|
||||
|
||||
server.on("/skin.css", HTTP_GET, [](AsyncWebServerRequest *request) {
|
||||
if (handleFileRead(request, "/skin.css")) return;
|
||||
AsyncWebServerResponse *response = request->beginResponse(200, "text/css");
|
||||
request->send(response);
|
||||
});
|
||||
|
||||
server.on("/welcome", HTTP_GET, [](AsyncWebServerRequest *request){
|
||||
@ -183,7 +184,7 @@ void initServer()
|
||||
JsonObject root = doc.as<JsonObject>();
|
||||
if (error || root.isNull()) {
|
||||
releaseJSONBufferLock();
|
||||
request->send(400, "application/json", F("{\"error\":9}")); // ERR_JSON
|
||||
serveJsonError(request, 400, ERR_JSON);
|
||||
return;
|
||||
}
|
||||
if (root.containsKey("pin")) checkSettingsPIN(root["pin"].as<const char*>());
|
||||
@ -201,8 +202,8 @@ void initServer()
|
||||
verboseResponse = deserializeState(root);
|
||||
} else {
|
||||
if (!correctPIN && strlen(settingsPIN)>0) {
|
||||
request->send(401, "application/json", F("{\"error\":1}")); // ERR_DENIED
|
||||
releaseJSONBufferLock();
|
||||
serveJsonError(request, 401, ERR_DENIED);
|
||||
return;
|
||||
}
|
||||
verboseResponse = deserializeConfig(root); //use verboseResponse to determine whether cfg change should be saved immediately
|
||||
@ -253,31 +254,6 @@ void initServer()
|
||||
size_t len, bool final) {handleUpload(request, filename, index, data, len, final);}
|
||||
);
|
||||
|
||||
#ifdef WLED_ENABLE_SIMPLE_UI
|
||||
server.on("/simple.htm", HTTP_GET, [](AsyncWebServerRequest *request){
|
||||
if (handleFileRead(request, "/simple.htm")) return;
|
||||
if (handleIfNoneMatchCacheHeader(request)) return;
|
||||
AsyncWebServerResponse *response = request->beginResponse_P(200, "text/html", PAGE_simple, PAGE_simple_L);
|
||||
response->addHeader(FPSTR(s_content_enc),"gzip");
|
||||
setStaticContentCacheHeaders(response);
|
||||
request->send(response);
|
||||
});
|
||||
#endif
|
||||
|
||||
server.on("/iro.js", HTTP_GET, [](AsyncWebServerRequest *request){
|
||||
AsyncWebServerResponse *response = request->beginResponse_P(200, "application/javascript", iroJs, iroJs_length);
|
||||
response->addHeader(FPSTR(s_content_enc),"gzip");
|
||||
setStaticContentCacheHeaders(response);
|
||||
request->send(response);
|
||||
});
|
||||
|
||||
server.on("/rangetouch.js", HTTP_GET, [](AsyncWebServerRequest *request){
|
||||
AsyncWebServerResponse *response = request->beginResponse_P(200, "application/javascript", rangetouchJs, rangetouchJs_length);
|
||||
response->addHeader(FPSTR(s_content_enc),"gzip");
|
||||
setStaticContentCacheHeaders(response);
|
||||
request->send(response);
|
||||
});
|
||||
|
||||
createEditHandler(correctPIN);
|
||||
|
||||
#ifndef WLED_DISABLE_OTA
|
||||
@ -420,29 +396,29 @@ void initServer()
|
||||
});
|
||||
}
|
||||
|
||||
bool handleIfNoneMatchCacheHeader(AsyncWebServerRequest* request)
|
||||
{
|
||||
AsyncWebHeader* header = request->getHeader("If-None-Match");
|
||||
if (header && header->value() == String(VERSION)) {
|
||||
bool handleIfNoneMatchCacheHeader(AsyncWebServerRequest *request) {
|
||||
AsyncWebHeader *header = request->getHeader("If-None-Match");
|
||||
char etag[11];
|
||||
sprintf_P(etag, PSTR("%7d-%02x"), VERSION, cacheInvalidate);
|
||||
if (header && header->value() == etag) {
|
||||
request->send(304);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void setStaticContentCacheHeaders(AsyncWebServerResponse *response)
|
||||
{
|
||||
char tmp[12];
|
||||
void setStaticContentCacheHeaders(AsyncWebServerResponse *response) {
|
||||
// https://medium.com/@codebyamir/a-web-developers-guide-to-browser-caching-cc41f3b73e7c
|
||||
#ifndef WLED_DEBUG
|
||||
//this header name is misleading, "no-cache" will not disable cache,
|
||||
//it just revalidates on every load using the "If-None-Match" header with the last ETag value
|
||||
response->addHeader(F("Cache-Control"),"no-cache");
|
||||
// this header name is misleading, "no-cache" will not disable cache,
|
||||
// it just revalidates on every load using the "If-None-Match" header with the last ETag value
|
||||
response->addHeader(F("Cache-Control"), "no-cache");
|
||||
#else
|
||||
response->addHeader(F("Cache-Control"),"no-store,max-age=0"); // prevent caching if debug build
|
||||
response->addHeader(F("Cache-Control"), "no-store,max-age=0"); // prevent caching if debug build
|
||||
#endif
|
||||
sprintf_P(tmp, PSTR("%8d-%02x"), VERSION, cacheInvalidate);
|
||||
response->addHeader(F("ETag"), tmp);
|
||||
char etag[11];
|
||||
sprintf_P(etag, PSTR("%7d-%02x"), VERSION, cacheInvalidate);
|
||||
response->addHeader(F("ETag"), etag);
|
||||
}
|
||||
|
||||
void serveIndex(AsyncWebServerRequest* request)
|
||||
@ -451,13 +427,7 @@ void serveIndex(AsyncWebServerRequest* request)
|
||||
|
||||
if (handleIfNoneMatchCacheHeader(request)) return;
|
||||
|
||||
AsyncWebServerResponse *response;
|
||||
#ifdef WLED_ENABLE_SIMPLE_UI
|
||||
if (simplifiedUI)
|
||||
response = request->beginResponse_P(200, "text/html", PAGE_simple, PAGE_simple_L);
|
||||
else
|
||||
#endif
|
||||
response = request->beginResponse_P(200, "text/html", PAGE_index, PAGE_index_L);
|
||||
AsyncWebServerResponse *response = request->beginResponse_P(200, "text/html", PAGE_index, PAGE_index_L);
|
||||
|
||||
response->addHeader(FPSTR(s_content_enc),"gzip");
|
||||
setStaticContentCacheHeaders(response);
|
||||
@ -509,6 +479,18 @@ void serveMessage(AsyncWebServerRequest* request, uint16_t code, const String& h
|
||||
}
|
||||
|
||||
|
||||
void serveJsonError(AsyncWebServerRequest* request, uint16_t code, uint16_t error)
|
||||
{
|
||||
AsyncJsonResponse *response = new AsyncJsonResponse(64);
|
||||
if (error < ERR_NOT_IMPL) response->addHeader("Retry-After", "1");
|
||||
response->setContentType("application/json");
|
||||
response->setCode(code);
|
||||
JsonObject obj = response->getRoot();
|
||||
obj[F("error")] = error;
|
||||
response->setLength();
|
||||
request->send(response);
|
||||
}
|
||||
|
||||
#ifdef WLED_ENABLE_DMX
|
||||
String dmxProcessor(const String& var)
|
||||
{
|
||||
|
@ -475,11 +475,7 @@ void getSettingsJS(byte subPage, char* dest)
|
||||
{
|
||||
sappends('s',SET_F("DS"),serverDescription);
|
||||
//sappend('c',SET_F("ST"),syncToggleReceive);
|
||||
#ifdef WLED_ENABLE_SIMPLE_UI
|
||||
sappend('c',SET_F("SU"),simplifiedUI);
|
||||
#else
|
||||
oappend(SET_F("toggle('Simple');")); // hide Simplified UI settings
|
||||
#endif
|
||||
}
|
||||
|
||||
if (subPage == SUBPAGE_SYNC)
|
||||
|
Loading…
x
Reference in New Issue
Block a user