From 575d79e92ab084a9456866dc2f5697c75aa3c5e4 Mon Sep 17 00:00:00 2001 From: lorol Date: Wed, 25 Mar 2020 14:10:56 -0400 Subject: [PATCH] - fix a missing ';' in index.htm (found after code minifying test) - A (very ugly) workaround at server-side SPIFFSEditor.cpp (and edit.htm source) for old iOS 9 Safari browsers to save current file through ACE editor w/o file upload allowed natively by the browser. Side effect: the line endings are always Win style after saving due to application/x-www-form-urlencoded enforcement of FormData JS --- examples/SmartSwitch/data/index.htm | 7 +- src/SPIFFSEditor.cpp | 661 +++++++++++++++++----------- src/edit.htm | 2 +- 3 files changed, 401 insertions(+), 269 deletions(-) diff --git a/examples/SmartSwitch/data/index.htm b/examples/SmartSwitch/data/index.htm index 6f2c731..0a38078 100644 --- a/examples/SmartSwitch/data/index.htm +++ b/examples/SmartSwitch/data/index.htm @@ -1,7 +1,6 @@ - - - + + Smart Switch @@ -531,7 +530,7 @@ function buttonEClick() { var murl = '/edit'; if (document.location.host.length < 5) murl = 'http://' + MYCORS + '/edit'; //CORS - window.open(murl, '_blank') + window.open(murl, '_blank'); warningNotification({ message: 'Editor' }); diff --git a/src/SPIFFSEditor.cpp b/src/SPIFFSEditor.cpp index 169d70f..ae9ebe7 100644 --- a/src/SPIFFSEditor.cpp +++ b/src/SPIFFSEditor.cpp @@ -1,270 +1,382 @@ #include "SPIFFSEditor.h" #include -//File: edit.htm.gz, Size: 4151 -#define edit_htm_gz_len 4169 +//File: edit.htm.gz, Size: 4475 +#define edit_htm_gz_len 4475 const uint8_t edit_htm_gz[] PROGMEM = { -0x1F, 0x8B, 0x08, 0x08, 0x5A, 0x38, 0x57, 0x5E, 0x02, 0x00, 0x65, 0x64, 0x69, 0x74, 0x2E, 0x68, -0x74, 0x6D, 0x00, 0xB5, 0x1A, 0x0B, 0x5B, 0xDB, 0x36, 0xF0, 0xAF, 0x18, 0x6F, 0x63, 0xF6, 0xE2, -0x38, 0x0E, 0x50, 0xD6, 0x39, 0x18, 0x16, 0x1E, 0x1B, 0x5D, 0x5B, 0xA0, 0x24, 0xB4, 0xA3, 0x1D, -0xDB, 0xA7, 0xD8, 0x4A, 0xA2, 0x62, 0x4B, 0x9E, 0x2D, 0x13, 0x68, 0x96, 0xFF, 0xBE, 0x93, 0xE4, -0x67, 0x30, 0xDD, 0xE3, 0xDB, 0x4A, 0x21, 0x92, 0x4E, 0x77, 0xBA, 0x3B, 0xDD, 0xD3, 0xCE, 0xDE, -0xC6, 0xF1, 0xF9, 0xD1, 0xF8, 0xFA, 0xE2, 0x44, 0x9B, 0xF3, 0x28, 0xDC, 0xDF, 0x13, 0x7F, 0xB5, -0x10, 0xD1, 0x99, 0xA7, 0x63, 0xAA, 0xC3, 0x1C, 0xA3, 0x60, 0x7F, 0x2F, 0xC2, 0x1C, 0xC1, 0x06, -0x1E, 0x77, 0xF1, 0xEF, 0x19, 0xB9, 0xF3, 0xF4, 0x23, 0x46, 0x39, 0xA6, 0xBC, 0xCB, 0x1F, 0x62, -0xAC, 0x6B, 0xBE, 0x9A, 0x79, 0x3A, 0xC7, 0xF7, 0xBC, 0x27, 0x48, 0x0C, 0x34, 0x7F, 0x8E, 0x92, -0x14, 0x73, 0x2F, 0xE3, 0xD3, 0xEE, 0x73, 0x20, 0xC4, 0x09, 0x0F, 0xF1, 0xFE, 0xC9, 0xE8, 0x42, -0x3B, 0x09, 0x08, 0x67, 0xC9, 0x5E, 0x4F, 0xAD, 0xEC, 0xA5, 0xFC, 0x21, 0xC4, 0x9A, 0x20, 0x94, -0xE3, 0xFB, 0x69, 0xAA, 0x6B, 0x11, 0x0E, 0x08, 0xF2, 0xF4, 0xD4, 0x4F, 0xB0, 0xE0, 0xC3, 0xF6, -0xA3, 0xE5, 0xA7, 0x2E, 0xA1, 0x01, 0xBE, 0x77, 0xB7, 0x1D, 0x67, 0x10, 0xB3, 0x94, 0x70, 0xC2, -0xA8, 0x8B, 0x26, 0x29, 0x0B, 0x33, 0x8E, 0x07, 0x21, 0x9E, 0x72, 0xF7, 0x59, 0x7C, 0x3F, 0x98, -0xB0, 0x24, 0xC0, 0x89, 0xDB, 0x8F, 0xEF, 0x35, 0x00, 0x91, 0x40, 0xFB, 0x62, 0x67, 0x67, 0x67, -0x30, 0x41, 0xFE, 0xED, 0x2C, 0x61, 0x19, 0x0D, 0xBA, 0x3E, 0x0B, 0x59, 0xE2, 0x7E, 0xF1, 0xC3, -0x33, 0xF1, 0x33, 0x08, 0x48, 0x1A, 0x87, 0xE8, 0xC1, 0xA5, 0x8C, 0x62, 0xC0, 0xBD, 0xEF, 0xA6, -0x73, 0x14, 0xB0, 0x85, 0xEB, 0x68, 0x8E, 0xD6, 0x77, 0x80, 0x48, 0x32, 0x9B, 0x20, 0xC3, 0xB1, -0xC4, 0x8F, 0xBD, 0x63, 0x0E, 0xA6, 0x0C, 0xC4, 0x4E, 0xC9, 0x27, 0xEC, 0xF6, 0xB7, 0xE2, 0x7B, -0x35, 0x9D, 0xA2, 0x88, 0x84, 0x0F, 0x6E, 0x8A, 0x68, 0xDA, 0x4D, 0x71, 0x42, 0xA6, 0x6A, 0x79, -0x81, 0xC9, 0x6C, 0xCE, 0xDD, 0x6F, 0x1D, 0x67, 0x05, 0xFC, 0x6B, 0x59, 0xB8, 0x0C, 0x49, 0xCA, -0xBB, 0x52, 0x60, 0x75, 0x1E, 0x67, 0xB1, 0xEB, 0x48, 0xD6, 0xE1, 0x23, 0x42, 0xC9, 0x8C, 0x50, -0x18, 0xC4, 0x28, 0x08, 0x08, 0x9D, 0xB9, 0x0A, 0x2D, 0x24, 0xCB, 0x52, 0xDA, 0x04, 0x87, 0x88, -0x93, 0x3B, 0x3C, 0x88, 0x08, 0xED, 0x2E, 0x48, 0xC0, 0xE7, 0xEE, 0xAE, 0x03, 0x5C, 0xF8, 0x59, -0x92, 0x82, 0x4C, 0x31, 0x23, 0x94, 0xE3, 0x44, 0xA2, 0xA5, 0x31, 0xA2, 0x4B, 0x25, 0xAA, 0x50, -0x40, 0x29, 0x27, 0xA1, 0x21, 0xA1, 0xB8, 0x3B, 0x09, 0x99, 0x7F, 0x5B, 0x9E, 0xB4, 0x1B, 0xDF, -0xE7, 0x67, 0xB9, 0x73, 0x76, 0x87, 0x93, 0x65, 0xA5, 0x2E, 0x89, 0xDD, 0x00, 0x36, 0x48, 0x9F, -0x9C, 0x9C, 0xAC, 0x6C, 0x7E, 0x97, 0x01, 0xD4, 0x92, 0x9F, 0x20, 0x65, 0x4E, 0xB5, 0x2E, 0xD2, -0x9A, 0xE0, 0x0A, 0x85, 0xD0, 0x38, 0xE3, 0xCB, 0xC7, 0x57, 0xC9, 0x62, 0xE4, 0x13, 0xFE, 0xE0, -0x3A, 0x72, 0xDB, 0x52, 0xE8, 0xD2, 0xDD, 0x71, 0x1C, 0x4D, 0x28, 0x5C, 0x7B, 0x8B, 0x93, 0x00, -0x51, 0x64, 0x0D, 0x13, 0x82, 0x42, 0x6B, 0x54, 0xA9, 0xBC, 0x1B, 0xB1, 0x4F, 0xDD, 0x0C, 0xC6, -0x30, 0x0F, 0xB1, 0xCF, 0x95, 0x86, 0xE1, 0x12, 0x26, 0xB7, 0x84, 0x3F, 0x06, 0x3C, 0x5A, 0xA8, -0xE9, 0x4A, 0x6A, 0x68, 0xAE, 0x6E, 0xAF, 0x0F, 0xBA, 0x91, 0x7C, 0x28, 0xB1, 0x95, 0x44, 0xDD, -0x09, 0xE3, 0x9C, 0x45, 0xD2, 0xDE, 0x4A, 0x69, 0x35, 0x69, 0x32, 0xCF, 0x1F, 0x5D, 0x47, 0xBB, -0xEA, 0x6B, 0xE4, 0x07, 0xA0, 0x54, 0x4E, 0x7C, 0x14, 0x76, 0x51, 0x48, 0x66, 0xD4, 0x8D, 0x48, -0x10, 0x84, 0xB8, 0x66, 0xB2, 0x6E, 0x96, 0x84, 0x46, 0x80, 0x38, 0x72, 0x49, 0x84, 0x66, 0xB8, -0x17, 0xD3, 0x19, 0x40, 0x53, 0xBC, 0xBB, 0x63, 0x91, 0xB7, 0x87, 0xE7, 0x97, 0x0B, 0xE7, 0xE5, -0x8F, 0x33, 0x36, 0x84, 0x7F, 0x67, 0xA3, 0xAB, 0xF9, 0xC9, 0xD5, 0x0C, 0x46, 0x87, 0x62, 0x3A, -0x7C, 0x73, 0x34, 0x7C, 0x03, 0x1F, 0x47, 0xFD, 0xCE, 0xC7, 0xE9, 0xEF, 0x43, 0xB1, 0xFC, 0x63, -0x70, 0x38, 0xBE, 0x3A, 0x19, 0x0E, 0x5F, 0xF6, 0x5E, 0x9C, 0x2D, 0xDE, 0xBD, 0xDC, 0x15, 0xE0, -0xC3, 0xD0, 0xB9, 0x7C, 0x3B, 0x77, 0xAE, 0xB6, 0xBE, 0x8B, 0x82, 0xD3, 0x60, 0xEE, 0x47, 0x57, -0xC3, 0x37, 0xEF, 0x2E, 0xEF, 0xAE, 0xA3, 0xAB, 0xD9, 0xE8, 0x5D, 0x7F, 0xFE, 0x7E, 0xEB, 0xED, -0xE8, 0xFD, 0xBB, 0x1F, 0x6E, 0xF1, 0xCF, 0xA7, 0x3F, 0xBD, 0x1F, 0x2F, 0x00, 0xE1, 0x98, 0x8D, -0xAE, 0x2E, 0x0F, 0xDF, 0x1E, 0xCE, 0xDE, 0x1F, 0xFA, 0x27, 0xF7, 0x93, 0xF0, 0xEC, 0xF0, 0xC7, -0xE1, 0x64, 0xB8, 0xE5, 0x63, 0x3C, 0x1B, 0x5F, 0x1E, 0x66, 0x2F, 0x5E, 0x9E, 0xCF, 0x08, 0x99, -0x8F, 0xDE, 0x9F, 0x8D, 0xFD, 0xA3, 0x67, 0xAF, 0xAE, 0x4E, 0x87, 0x64, 0x7E, 0xF6, 0xD3, 0xA5, -0x73, 0xFB, 0xE3, 0xCB, 0xA3, 0x63, 0xFF, 0xFA, 0xA7, 0xEB, 0xDD, 0xE3, 0xED, 0xDE, 0xB7, 0xDF, -0xBE, 0x0E, 0xCE, 0x09, 0x1D, 0xDF, 0x7D, 0x1A, 0xCE, 0x8E, 0x16, 0xCF, 0x1F, 0xD2, 0xF1, 0xFC, -0xC5, 0x1D, 0xED, 0xBD, 0x65, 0x1F, 0x5F, 0x3C, 0xBC, 0x86, 0xDF, 0x8B, 0x8B, 0xCE, 0x64, 0xD4, -0x4F, 0xAF, 0xDE, 0xBC, 0x78, 0xBB, 0x95, 0x7E, 0xF7, 0x2C, 0x3E, 0x3C, 0x3E, 0xBE, 0x8B, 0x26, -0x17, 0xBD, 0x28, 0xB8, 0x9D, 0xF2, 0xE7, 0xDB, 0x3C, 0xBE, 0x9E, 0x65, 0xEF, 0x7F, 0x7F, 0xF6, -0xD3, 0xBC, 0x77, 0x8E, 0xD1, 0xF5, 0xBC, 0xF3, 0xF0, 0xE9, 0xE1, 0xF9, 0x7C, 0x7C, 0x7A, 0x77, -0x16, 0xA2, 0xFB, 0xB3, 0x33, 0xFF, 0x53, 0xD4, 0x09, 0xD1, 0x77, 0xE7, 0xE3, 0x10, 0x25, 0xFD, -0xAB, 0x60, 0xD8, 0xEB, 0x1C, 0x6D, 0x0D, 0x77, 0x78, 0x72, 0x79, 0x44, 0x8F, 0xB7, 0x3F, 0x8E, -0x9E, 0x1F, 0x1E, 0xF6, 0xD9, 0xE4, 0xF7, 0xAD, 0x1F, 0x6F, 0x77, 0x7F, 0xBC, 0xDA, 0x7D, 0x33, -0x79, 0x33, 0x1C, 0xED, 0x1C, 0x5E, 0xA1, 0xEB, 0xD1, 0x9B, 0xE1, 0x74, 0x67, 0x32, 0x9F, 0xBF, -0x7C, 0x39, 0xFE, 0x21, 0x18, 0x7E, 0x4A, 0x86, 0xE7, 0x8B, 0xE1, 0xFD, 0xC9, 0xD5, 0xF0, 0xB4, -0xF3, 0xF2, 0xE4, 0xB5, 0xD3, 0x1F, 0x5D, 0x6F, 0xCF, 0x5E, 0xEF, 0x2E, 0x0E, 0xD3, 0x93, 0xE1, -0x9B, 0x43, 0x67, 0xF6, 0x53, 0x27, 0x42, 0xEF, 0xD9, 0xD1, 0xF6, 0xEC, 0xC5, 0x2E, 0xB9, 0xB8, -0x46, 0xC3, 0x17, 0x87, 0x3F, 0xA5, 0xE4, 0x32, 0x3A, 0xBD, 0x72, 0x86, 0xC3, 0x57, 0xE7, 0xF8, -0x87, 0xA3, 0x6D, 0xF4, 0x72, 0xCB, 0x7F, 0x07, 0xFA, 0xBF, 0xFA, 0x19, 0x7F, 0xDB, 0x19, 0x2E, -0xCE, 0x9D, 0xD0, 0xFF, 0x0E, 0x8F, 0x4F, 0xAF, 0xC7, 0xF2, 0x76, 0x4E, 0xC2, 0x1F, 0xC6, 0xB7, -0xA3, 0xEC, 0x4D, 0x74, 0x74, 0x64, 0x6A, 0x94, 0x75, 0x13, 0x1C, 0x63, 0xC4, 0xEB, 0xB1, 0xAA, -0x74, 0x0E, 0xB0, 0xAD, 0xCA, 0x0A, 0x73, 0x27, 0x15, 0xD1, 0xB2, 0x1B, 0x60, 0x9F, 0x25, 0x48, -0xEE, 0x01, 0x04, 0x9C, 0x08, 0x13, 0x5B, 0x7D, 0x2F, 0xC3, 0xA7, 0xA6, 0xA2, 0xA7, 0x86, 0x68, -0xA0, 0x19, 0x85, 0x23, 0x44, 0x84, 0x02, 0xCE, 0x1D, 0xF1, 0x71, 0x37, 0x26, 0xF7, 0x38, 0xEC, -0x4A, 0x64, 0xD7, 0x31, 0x97, 0xD2, 0xD9, 0x8A, 0x6D, 0x88, 0x92, 0x48, 0x51, 0x2D, 0x16, 0x82, -0x8F, 0xC8, 0x17, 0x21, 0x1F, 0x5C, 0x26, 0x82, 0xCF, 0xDC, 0x77, 0x58, 0xD2, 0x9D, 0x64, 0xB3, -0x29, 0xB9, 0x07, 0x6F, 0x9E, 0x12, 0x4A, 0x38, 0xD6, 0xFA, 0xE9, 0xEA, 0xFB, 0x82, 0xCC, 0x2D, -0x7E, 0x98, 0x26, 0x28, 0xC2, 0xA9, 0xF6, 0x37, 0xC9, 0x2C, 0xA7, 0x09, 0x8B, 0x96, 0x55, 0x04, -0xE4, 0xAC, 0x36, 0x59, 0xAD, 0xBE, 0xC8, 0xE2, 0x90, 0x21, 0x10, 0xB3, 0x25, 0x6C, 0xA8, 0x60, -0x9A, 0x08, 0xB7, 0x2A, 0x83, 0x6A, 0xE1, 0x66, 0x5B, 0xE0, 0x96, 0x0D, 0xB7, 0xDE, 0xDA, 0xA9, -0x5C, 0xB7, 0x2B, 0xF7, 0x8A, 0x60, 0x5F, 0x57, 0x7D, 0x2D, 0x1E, 0xD4, 0x62, 0xDD, 0x17, 0x1C, -0x54, 0xDA, 0x7E, 0xB8, 0x3A, 0x44, 0x45, 0x86, 0x8A, 0x01, 0x15, 0xA5, 0xFB, 0xBB, 0x4E, 0x2D, -0x54, 0xC0, 0xBE, 0xD5, 0x17, 0x58, 0xA6, 0x41, 0xEB, 0x8B, 0x38, 0x81, 0xDB, 0xC0, 0x8B, 0xCF, -0xD0, 0x2C, 0x65, 0x6A, 0xD2, 0x06, 0x9A, 0x65, 0xBA, 0x53, 0x22, 0x54, 0x39, 0x4F, 0xF2, 0x5A, -0x92, 0x7E, 0x2C, 0x15, 0x80, 0x4B, 0x6E, 0x9E, 0x09, 0x6E, 0x3E, 0xAB, 0xD5, 0xED, 0xDD, 0xAF, -0x72, 0x1E, 0x76, 0x9C, 0xAF, 0x56, 0xB6, 0xDA, 0x5B, 0xE6, 0xE3, 0xBE, 0x03, 0xFF, 0x8A, 0xB4, -0xFB, 0xBC, 0x62, 0x61, 0xF2, 0x4C, 0xFC, 0x14, 0x0C, 0x02, 0x9D, 0x3A, 0x70, 0x7B, 0xE7, 0xBB, -0xE7, 0xC1, 0xA4, 0x00, 0x2A, 0xC1, 0x9E, 0x86, 0x27, 0x28, 0x20, 0x59, 0xEA, 0x3E, 0x73, 0xBE, -0x52, 0xFA, 0x84, 0xEB, 0x03, 0xD9, 0x8B, 0xCB, 0x55, 0x93, 0xCA, 0x62, 0xD3, 0x98, 0x50, 0x6D, -0x2B, 0xD5, 0xC4, 0x7D, 0xA3, 0xA4, 0x34, 0xCC, 0x7A, 0xAA, 0x07, 0x17, 0xA9, 0x4C, 0x53, 0xEC, -0x5F, 0x3A, 0x5F, 0x2D, 0x79, 0x82, 0x68, 0x3A, 0x65, 0x49, 0xE4, 0x26, 0x8C, 0x23, 0x8E, 0x0D, -0xC7, 0x5C, 0xF5, 0x9D, 0x36, 0xC0, 0xF6, 0xAE, 0x13, 0xE0, 0x99, 0xB9, 0x5A, 0xED, 0xF5, 0x20, -0xA9, 0xC9, 0x2A, 0xC6, 0x4F, 0x48, 0xCC, 0xF7, 0xA7, 0x19, 0xF5, 0x05, 0x0F, 0xDA, 0x0C, 0x1B, -0xD8, 0x5C, 0x26, 0x98, 0x67, 0x09, 0xD5, 0x02, 0xE6, 0x67, 0xC2, 0xD8, 0xED, 0x19, 0xE6, 0x27, -0xCA, 0xEE, 0x0F, 0x1F, 0x5E, 0x04, 0xB0, 0x63, 0x55, 0x22, 0xF8, 0xAD, 0x08, 0xE0, 0xC0, 0x70, -0x5E, 0x8E, 0xD3, 0xD8, 0x0F, 0x09, 0x06, 0x88, 0xBC, 0xC4, 0x0F, 0x06, 0xB6, 0x78, 0x89, 0x88, -0x6D, 0xB1, 0x6E, 0x14, 0xBB, 0x00, 0x46, 0xCD, 0xE5, 0x1D, 0x28, 0x01, 0x79, 0xF8, 0x03, 0xBF, -0xB1, 0x88, 0x47, 0xE1, 0x63, 0x90, 0xEF, 0x26, 0xFB, 0xE8, 0xA0, 0xDB, 0x77, 0xD1, 0x3E, 0x39, -0xE8, 0x83, 0x7B, 0xD5, 0xA8, 0xAB, 0x73, 0x7F, 0x20, 0x21, 0xBE, 0xCA, 0x1D, 0x4E, 0x1C, 0x23, -0x88, 0x95, 0x5B, 0x90, 0x22, 0xBE, 0xE5, 0x38, 0x1B, 0x1E, 0x3E, 0x40, 0x21, 0x86, 0x73, 0xF5, -0x93, 0xCB, 0xCB, 0xF3, 0xCB, 0x0F, 0x7A, 0x07, 0x77, 0xF4, 0x1B, 0x57, 0xD3, 0x3B, 0xD4, 0x74, -0xB9, 0x9D, 0xE0, 0x69, 0x82, 0xD3, 0xF9, 0x05, 0xE2, 0x73, 0x23, 0xB0, 0xEF, 0x50, 0x98, 0xD5, -0x05, 0x21, 0x06, 0x56, 0x2C, 0x72, 0x8F, 0xE2, 0x85, 0xF6, 0x03, 0xA8, 0xF9, 0x18, 0x71, 0x34, -0xE0, 0x36, 0x8A, 0x63, 0x4C, 0x03, 0x43, 0x8F, 0x01, 0x51, 0xB7, 0xB0, 0x69, 0x25, 0x50, 0x7D, -0xE2, 0x94, 0xA7, 0x36, 0x0A, 0x60, 0xF9, 0xE2, 0x6A, 0xAC, 0x5B, 0x7A, 0x4F, 0xF8, 0x91, 0x0E, -0xBC, 0x21, 0x73, 0x25, 0xA8, 0x30, 0x0F, 0x34, 0xA9, 0x4F, 0x32, 0xCE, 0x19, 0xD5, 0xCD, 0x01, -0xB3, 0x09, 0xA5, 0x38, 0x39, 0x1D, 0xBF, 0x7E, 0xE5, 0xE9, 0x97, 0x8A, 0x11, 0xED, 0x15, 0x49, -0x01, 0x45, 0x5E, 0x51, 0x7E, 0xC8, 0xD1, 0x9C, 0x84, 0x81, 0xC1, 0xCC, 0x81, 0x20, 0xE1, 0x4B, -0x12, 0xB2, 0x3A, 0x01, 0x0A, 0xBE, 0xAD, 0x6A, 0xD3, 0x29, 0x28, 0x43, 0xB7, 0x7C, 0x3B, 0xCA, -0x42, 0x4E, 0xE2, 0x10, 0x7B, 0x1B, 0x7D, 0x98, 0x51, 0x14, 0x01, 0x4C, 0xE4, 0x66, 0x01, 0x23, -0x81, 0xA7, 0xAB, 0x08, 0xA5, 0xE2, 0x5A, 0xEB, 0x29, 0xBE, 0x3A, 0x25, 0x68, 0x9C, 0x12, 0xD4, -0x71, 0x95, 0xC0, 0x81, 0x5D, 0x15, 0xC5, 0x30, 0xCB, 0x8F, 0x2A, 0x60, 0x01, 0x9E, 0x22, 0xE0, -0xE4, 0x2D, 0x68, 0x13, 0x56, 0x7B, 0x6D, 0x07, 0x05, 0xEA, 0xA0, 0xB4, 0xA9, 0x91, 0xB4, 0xAE, -0x11, 0x75, 0xBB, 0x6D, 0xC8, 0xA9, 0x42, 0x4E, 0x9A, 0xC8, 0x49, 0x1D, 0xF9, 0x48, 0x1A, 0x49, -0x1B, 0x72, 0xA2, 0x90, 0xC3, 0x86, 0x88, 0xA1, 0x14, 0x51, 0x85, 0xBD, 0xAE, 0xD0, 0x26, 0x08, -0x04, 0xD8, 0x61, 0x5D, 0x4C, 0x98, 0x81, 0x97, 0xA2, 0x49, 0x88, 0x03, 0x6F, 0xC3, 0x81, 0x99, -0xA8, 0xB4, 0xBD, 0x2D, 0xA7, 0xE5, 0x8C, 0x50, 0x9D, 0x91, 0x35, 0x19, 0xCC, 0xEA, 0x0C, 0x6A, -0x23, 0x74, 0x87, 0xB5, 0x36, 0x06, 0x33, 0x30, 0x26, 0x9B, 0x51, 0x3F, 0x24, 0xFE, 0xAD, 0x57, -0x79, 0x8B, 0xB9, 0x24, 0xA5, 0x85, 0x5A, 0x54, 0x06, 0xBA, 0xAB, 0x24, 0xAC, 0x96, 0x60, 0x50, -0xE8, 0x7B, 0x65, 0x65, 0xAD, 0x04, 0xA8, 0x8D, 0xEF, 0xB1, 0x7F, 0xC4, 0xA2, 0x08, 0x09, 0xDB, -0x4D, 0x81, 0x83, 0x7C, 0xA2, 0x9B, 0x2B, 0x8B, 0xB5, 0xE2, 0x3C, 0xE1, 0x22, 0x56, 0xDA, 0xCE, -0xE2, 0xD4, 0x00, 0x97, 0xF3, 0x7C, 0x5B, 0xE8, 0x30, 0xB5, 0x41, 0x8F, 0x33, 0x3E, 0xFF, 0xBC, -0x0B, 0x15, 0x06, 0xAA, 0x50, 0x3E, 0x38, 0x37, 0xB9, 0x24, 0x8F, 0x7D, 0xEA, 0x7C, 0xD4, 0x74, -0x2A, 0xA5, 0x64, 0xEA, 0x81, 0x0A, 0x1B, 0xD6, 0x69, 0x0E, 0x68, 0xA5, 0x0B, 0xB9, 0x87, 0x88, -0x3D, 0x4D, 0xEB, 0x87, 0x5D, 0xA4, 0xD8, 0xA5, 0xAF, 0x56, 0x96, 0x2F, 0xE4, 0x99, 0x23, 0x3A, -0xC3, 0x7F, 0x5F, 0xA0, 0x8A, 0x67, 0xE9, 0x00, 0x16, 0xF5, 0x7A, 0xC6, 0x81, 0xFB, 0x8B, 0x6D, -0x7C, 0xF8, 0xD5, 0xBE, 0xE9, 0x98, 0xE6, 0xC1, 0x97, 0x3D, 0xA9, 0x71, 0x83, 0x9B, 0x1F, 0xFA, -0x37, 0x16, 0x02, 0xB0, 0xFD, 0x8D, 0xF9, 0x8B, 0x2D, 0xC1, 0x0D, 0xD8, 0xE0, 0x8E, 0x41, 0x66, -0x11, 0x27, 0x09, 0x83, 0x63, 0x53, 0x0D, 0x6D, 0x6E, 0x1A, 0xDC, 0x43, 0x8D, 0x6B, 0xED, 0xF0, -0x8E, 0x6E, 0x43, 0xDC, 0x5A, 0xAD, 0xD6, 0x83, 0xE1, 0x38, 0xC1, 0x58, 0xC5, 0xDA, 0x12, 0x20, -0xB9, 0x17, 0x52, 0x43, 0xC3, 0x48, 0xA5, 0xDC, 0x32, 0xA3, 0xE8, 0xA6, 0x9D, 0x26, 0xBE, 0xA7, -0xB4, 0x78, 0x50, 0xC0, 0x3C, 0x88, 0x8A, 0x15, 0x4D, 0x54, 0x45, 0x3D, 0x20, 0xF0, 0xC8, 0x2B, -0xCC, 0x01, 0xCF, 0x79, 0xC2, 0x56, 0x05, 0x07, 0xC2, 0x32, 0xDD, 0xD8, 0x79, 0x26, 0xF3, 0x74, -0x91, 0xCA, 0x74, 0x6B, 0xBE, 0xBE, 0x2C, 0x5B, 0x0C, 0x58, 0xAF, 0x39, 0xC3, 0xD7, 0x7B, 0x24, -0x9A, 0x69, 0x35, 0xBE, 0xC4, 0x1F, 0xEF, 0x6B, 0x11, 0xA9, 0x37, 0x7F, 0xF3, 0x27, 0xC0, 0x1D, -0x98, 0x0C, 0xB6, 0x29, 0x5B, 0x18, 0x66, 0xE7, 0x6B, 0x5D, 0x93, 0x14, 0x3D, 0x3D, 0x42, 0xF7, -0x79, 0xA3, 0x29, 0x32, 0xE1, 0x40, 0x13, 0x73, 0x95, 0x76, 0x8B, 0x05, 0xD5, 0xE2, 0xA1, 0x8C, -0xB3, 0x81, 0x56, 0x64, 0x58, 0xD5, 0xE2, 0xE8, 0x5A, 0x6F, 0xFF, 0xEB, 0x46, 0xA0, 0xB7, 0x88, -0xB9, 0xAC, 0x82, 0x74, 0x16, 0x82, 0x9C, 0xF8, 0xE9, 0x08, 0x1C, 0x12, 0x80, 0xB3, 0xB5, 0xD8, -0x69, 0x25, 0x06, 0x31, 0x0F, 0x0C, 0xBF, 0xEE, 0xE7, 0x7B, 0xA2, 0x28, 0xDE, 0xBF, 0x50, 0xD5, -0xCE, 0x5E, 0x4F, 0xCE, 0xC0, 0xDA, 0x1F, 0x7B, 0x0F, 0x5C, 0x1E, 0x02, 0x74, 0xAB, 0xCC, 0xAF, -0x13, 0x16, 0x3C, 0xD4, 0xB2, 0x72, 0x7A, 0xF8, 0x70, 0x14, 0xA2, 0x34, 0x3D, 0x43, 0x11, 0x9C, -0xEF, 0x47, 0xBA, 0x99, 0x5B, 0xE3, 0xBE, 0xB3, 0xB9, 0xD9, 0x44, 0x4A, 0x70, 0x04, 0x45, 0xB8, -0xE2, 0x0A, 0x7C, 0xD5, 0x74, 0x53, 0x20, 0xBC, 0xB9, 0xD9, 0xC6, 0x98, 0x78, 0xE0, 0xF1, 0x39, -0xAE, 0x28, 0x44, 0x80, 0x22, 0xD6, 0xFC, 0x4F, 0xDC, 0xA9, 0x8C, 0xF3, 0x94, 0x56, 0x03, 0x38, -0xF3, 0x31, 0xDB, 0xC7, 0xB9, 0xE1, 0x96, 0xAC, 0x07, 0xAD, 0x0A, 0xA5, 0xFF, 0x0F, 0xCB, 0x2A, -0x81, 0x3C, 0xC5, 0x71, 0x68, 0x5A, 0x61, 0x0B, 0xC7, 0x38, 0xC4, 0x1C, 0x97, 0xFC, 0x86, 0xAD, -0xFC, 0x66, 0xFF, 0x0F, 0xBF, 0x95, 0x9D, 0x33, 0x11, 0x25, 0xCA, 0xBA, 0x4B, 0x4A, 0x10, 0x90, -0x3B, 0xDD, 0xB4, 0x98, 0xD7, 0xA4, 0x00, 0x35, 0x23, 0x0B, 0xC3, 0x31, 0x8B, 0x0F, 0x9E, 0x58, -0x77, 0xCB, 0xF5, 0x7C, 0x50, 0xB0, 0x59, 0x6D, 0xB1, 0xFC, 0x56, 0xA2, 0xAF, 0xF0, 0x94, 0x1F, -0x3C, 0x05, 0x78, 0x9A, 0x6C, 0xB5, 0xC7, 0x0A, 0x3C, 0x6C, 0x83, 0xF2, 0x60, 0xF5, 0xE7, 0x8E, -0x6F, 0xA5, 0xE5, 0xEC, 0xBA, 0xC3, 0x06, 0x08, 0xC6, 0xB9, 0x92, 0x3C, 0xA1, 0x24, 0x0B, 0xB5, -0x06, 0xA0, 0x6A, 0x5D, 0x74, 0x27, 0x5E, 0xD0, 0xD1, 0xE3, 0xFB, 0x6A, 0x8D, 0xB3, 0xD8, 0x4B, -0xD5, 0x12, 0x31, 0x90, 0xC5, 0xD7, 0x2E, 0xA5, 0x71, 0xDD, 0xA8, 0x28, 0x46, 0x90, 0xCD, 0xA6, -0xD3, 0x14, 0xF3, 0x77, 0x22, 0x24, 0x59, 0x61, 0x39, 0x3F, 0x95, 0x21, 0x69, 0x00, 0x53, 0x1A, -0xB1, 0x2C, 0xC5, 0x2C, 0xE3, 0x8D, 0x14, 0x63, 0x94, 0xC2, 0xEC, 0x05, 0x7F, 0xFC, 0x51, 0x4E, -0xF6, 0x83, 0x4E, 0x52, 0x4D, 0xAF, 0xF7, 0xD2, 0xDA, 0x64, 0x3F, 0xED, 0x84, 0xE0, 0xD0, 0xFF, -0xB1, 0xA5, 0xA0, 0xBA, 0xA5, 0xF8, 0xA2, 0x84, 0x96, 0x31, 0xB1, 0x19, 0xF3, 0x64, 0x21, 0x49, -0x6B, 0x3E, 0x2B, 0x0C, 0x5A, 0x37, 0x8B, 0xB2, 0xBD, 0xEE, 0xAB, 0xD4, 0xF2, 0xD7, 0x5D, 0xD9, -0x6F, 0xAD, 0x1A, 0x52, 0x43, 0x50, 0x05, 0xAD, 0xBF, 0x62, 0x0B, 0x9C, 0x1C, 0xA1, 0x14, 0x1B, -0x90, 0x3C, 0xCB, 0xB8, 0x23, 0xA1, 0xA6, 0x9B, 0xB4, 0xEC, 0x02, 0x25, 0x20, 0x05, 0xCE, 0x33, -0x38, 0xA3, 0xA2, 0x56, 0x03, 0xF9, 0xB2, 0xC6, 0x09, 0xD8, 0x16, 0xFD, 0x26, 0x48, 0x7D, 0xAC, -0x4A, 0x53, 0xC3, 0xB4, 0x30, 0xDC, 0x35, 0x8B, 0x2F, 0x12, 0x16, 0xA3, 0x99, 0xEC, 0xCD, 0x60, -0x4D, 0xB8, 0x87, 0xA0, 0x66, 0x6D, 0x38, 0x82, 0x60, 0xA5, 0x8D, 0xA0, 0xF0, 0x9B, 0xAA, 0xB5, -0xA1, 0x96, 0x9E, 0xA7, 0x43, 0xE9, 0x4B, 0x4F, 0x65, 0x0D, 0x24, 0x1E, 0xCB, 0x26, 0x86, 0xAA, -0x42, 0x68, 0x7E, 0x0F, 0xE0, 0x6E, 0xCE, 0x80, 0xEC, 0xB3, 0x01, 0xEB, 0x74, 0x4C, 0x55, 0xBD, -0x7B, 0x1E, 0xB4, 0x3F, 0xEC, 0x46, 0x16, 0x9C, 0x20, 0x54, 0x33, 0xB3, 0x18, 0xDC, 0x92, 0x40, -0x71, 0xA0, 0x1C, 0xC9, 0xDA, 0xD3, 0xAC, 0xB7, 0x5C, 0x65, 0xCE, 0x7E, 0xAA, 0x06, 0xC1, 0xB2, -0xCE, 0x80, 0x7A, 0x66, 0xBD, 0xD4, 0xE0, 0x66, 0xBA, 0x20, 0xDC, 0x9F, 0x8B, 0x00, 0xE4, 0x83, -0x56, 0x75, 0x0E, 0xC5, 0xAE, 0x2B, 0x47, 0x73, 0x1E, 0x55, 0xA3, 0x30, 0x1F, 0x7E, 0x4C, 0xF3, -0x81, 0x9F, 0x16, 0xA3, 0xFB, 0x1A, 0x90, 0xD1, 0x02, 0xCC, 0xE8, 0x34, 0x1F, 0x12, 0x4A, 0x0A, -0x3A, 0x05, 0xB0, 0xF8, 0x8C, 0xE3, 0x7C, 0x14, 0xCF, 0x8B, 0xD1, 0x1C, 0xDF, 0x97, 0x78, 0xAC, -0x80, 0x06, 0x58, 0x77, 0x95, 0x8D, 0x6D, 0x38, 0xAB, 0x7C, 0xD0, 0xAF, 0xE4, 0x4F, 0xFE, 0x43, -0xF9, 0x63, 0x3A, 0x2B, 0xA4, 0x89, 0x8B, 0xD1, 0x8C, 0x14, 0xB2, 0x4C, 0xA2, 0xF8, 0xB3, 0x9C, -0x84, 0xB5, 0x5E, 0xB9, 0xD6, 0xEB, 0xF2, 0xBF, 0x6A, 0x47, 0xB9, 0xE9, 0x1A, 0xD3, 0xBA, 0x3F, -0xC2, 0xCC, 0x17, 0x9F, 0x67, 0x2C, 0x90, 0x35, 0xA6, 0x69, 0x45, 0xC6, 0xD4, 0x82, 0x3A, 0xD0, -0xAC, 0xFB, 0x69, 0xF6, 0x6F, 0x5B, 0xD4, 0xE3, 0x93, 0x57, 0x27, 0xE3, 0x93, 0x7A, 0x41, 0x1D, -0x1A, 0x0D, 0x93, 0x8A, 0x15, 0xD7, 0xEB, 0xA2, 0x50, 0x0B, 0x49, 0x51, 0xC0, 0x5E, 0x37, 0x37, -0x95, 0x5F, 0xFC, 0x34, 0x3A, 0x3F, 0xB3, 0x63, 0x94, 0x80, 0x47, 0xA2, 0x06, 0x73, 0x91, 0x22, -0xD1, 0x3C, 0xF8, 0xC7, 0x93, 0x5A, 0x19, 0x2F, 0x5F, 0x3B, 0xB8, 0x7C, 0x65, 0xA9, 0xD3, 0x54, -0x9F, 0x3C, 0x97, 0x75, 0x67, 0xFE, 0x84, 0x08, 0x92, 0xD3, 0xB4, 0x4A, 0x54, 0x83, 0x82, 0x9D, -0x7A, 0x98, 0xE7, 0x77, 0x59, 0x5B, 0x23, 0x35, 0x35, 0x2D, 0x3E, 0x27, 0x69, 0xBD, 0x81, 0x69, -0x04, 0x85, 0xBF, 0xA9, 0xED, 0x55, 0x31, 0x52, 0xE4, 0xD6, 0x6B, 0x6F, 0xF5, 0xCA, 0x48, 0xC5, -0x07, 0x0B, 0x89, 0x88, 0x59, 0x65, 0xDB, 0xEA, 0x6E, 0x74, 0xC8, 0x3D, 0x84, 0xEA, 0x16, 0xFD, -0xC7, 0xE6, 0x49, 0x0B, 0xF3, 0xA4, 0x75, 0xF7, 0x2C, 0x29, 0x0E, 0x26, 0xC0, 0xC5, 0xED, 0xA0, -0x74, 0x9C, 0x76, 0x88, 0xF2, 0xC5, 0x76, 0x24, 0x1E, 0x09, 0x88, 0xF4, 0xF0, 0x06, 0xE0, 0x63, -0x2A, 0xD7, 0x3F, 0xA2, 0x3B, 0xA4, 0x9E, 0x20, 0x35, 0xD1, 0x24, 0xD0, 0xFF, 0x0D, 0x1C, 0xB8, -0x79, 0xD2, 0x53, 0xEB, 0x30, 0x6F, 0x87, 0x54, 0x61, 0x24, 0x85, 0xE1, 0xE3, 0x68, 0xC0, 0x1B, -0xC1, 0xA5, 0x8A, 0x38, 0xF5, 0xD8, 0x02, 0xC6, 0x9F, 0xBB, 0xA2, 0xC6, 0x6B, 0x17, 0x54, 0xF7, -0xBB, 0xCD, 0xCD, 0x27, 0x1D, 0xAF, 0x19, 0xE7, 0xAB, 0xFA, 0xA8, 0xE9, 0x51, 0x68, 0xAD, 0x63, -0x15, 0xC0, 0xC3, 0x90, 0x4D, 0x0C, 0xF1, 0xF0, 0x6A, 0x29, 0x6E, 0xCB, 0xA5, 0x2B, 0xD3, 0xFA, -0x8B, 0xBE, 0x15, 0x59, 0x7E, 0x3D, 0x6C, 0x2B, 0x0E, 0xEB, 0xE6, 0xDE, 0xDE, 0x47, 0x35, 0x3B, -0xAD, 0xF6, 0x8A, 0x46, 0x3A, 0x25, 0x3E, 0x08, 0xED, 0x14, 0xAB, 0x67, 0x2F, 0x06, 0xC4, 0x94, -0xDA, 0x4C, 0xD7, 0x45, 0x65, 0xEA, 0x87, 0x18, 0x25, 0x23, 0xD1, 0x03, 0xAB, 0xA4, 0xD7, 0x88, -0xA1, 0x9F, 0xF7, 0x55, 0xF1, 0xE1, 0x62, 0xE8, 0xFD, 0xCD, 0x95, 0x2E, 0x1E, 0xE8, 0x4F, 0x09, -0xC5, 0x81, 0x5E, 0x05, 0x52, 0xD9, 0xB3, 0xEA, 0x3D, 0xF9, 0xE8, 0xD5, 0x96, 0xF7, 0x66, 0x5A, -0x6D, 0x1B, 0x29, 0x6C, 0xA4, 0x1E, 0x03, 0xF6, 0xDA, 0xE1, 0x08, 0xE0, 0x08, 0xFA, 0x3B, 0x46, -0xD9, 0x2D, 0x22, 0x4F, 0x10, 0x21, 0xB0, 0x89, 0xE4, 0xAF, 0x65, 0xA1, 0x29, 0xB6, 0x94, 0x65, -0xC9, 0x3C, 0x5A, 0x83, 0x28, 0x7B, 0x37, 0x8B, 0x67, 0x3E, 0xC8, 0xC7, 0xB6, 0x90, 0xC2, 0xC0, -0x45, 0x24, 0xC9, 0x3D, 0x62, 0x43, 0xA2, 0x85, 0xA2, 0x88, 0x1A, 0xE1, 0x34, 0x95, 0x9A, 0x11, -0x9A, 0x7B, 0xCD, 0x02, 0x50, 0x1C, 0xA0, 0xF5, 0x22, 0x18, 0x89, 0x83, 0x40, 0x87, 0x02, 0x30, -0x9E, 0xE3, 0x28, 0x87, 0x70, 0x18, 0x0A, 0x10, 0x12, 0xA0, 0x2F, 0xE5, 0x65, 0x8C, 0x64, 0xB1, -0x4A, 0xE8, 0xCC, 0xEB, 0xF7, 0x1C, 0xEB, 0x31, 0xD9, 0xAB, 0x14, 0x8F, 0xD8, 0x94, 0x8F, 0xD1, -0x24, 0x35, 0xA0, 0xD6, 0x68, 0xD9, 0x01, 0xA0, 0x11, 0xE4, 0x78, 0x63, 0xCB, 0x6C, 0x47, 0x7F, -0xC7, 0x92, 0x5B, 0x9C, 0x18, 0x1B, 0xFD, 0x9C, 0x9F, 0x53, 0x28, 0x32, 0x43, 0xF8, 0xE5, 0x43, -0x5F, 0xBC, 0x85, 0x7D, 0x05, 0xCA, 0xCA, 0x29, 0xA7, 0x80, 0x3C, 0x67, 0x8B, 0x8B, 0x84, 0x50, -0xFE, 0x5A, 0x76, 0xC4, 0x39, 0x96, 0xAF, 0x9E, 0xFD, 0xC8, 0xAB, 0x2E, 0x1E, 0x0A, 0x2D, 0x45, -0x89, 0xE1, 0x36, 0x1E, 0x0D, 0x59, 0x13, 0xB8, 0x50, 0xA8, 0x78, 0xDC, 0xE5, 0x82, 0x50, 0x57, -0x3F, 0xE2, 0x49, 0xD8, 0x1D, 0xE9, 0x56, 0x84, 0x7C, 0x98, 0xA8, 0x3D, 0x30, 0x5F, 0x59, 0x22, -0x8C, 0xB9, 0xF5, 0xF8, 0x1A, 0x18, 0xDC, 0xC2, 0xF6, 0xAC, 0x30, 0x3F, 0xB3, 0xA3, 0xEB, 0x16, -0x81, 0x70, 0x0A, 0xAE, 0x1F, 0x9C, 0xD3, 0xF0, 0xC1, 0x85, 0xB4, 0xF9, 0x79, 0x3E, 0xC4, 0xBD, -0xB3, 0xCF, 0xF1, 0xF1, 0x7E, 0x8D, 0x8F, 0xF7, 0x6D, 0x7C, 0xE0, 0xA6, 0xFE, 0x60, 0x72, 0x05, -0x64, 0x5F, 0x23, 0x8A, 0x66, 0x38, 0x81, 0x05, 0x71, 0x08, 0xA8, 0xE4, 0x9F, 0x71, 0x96, 0xE0, -0xCF, 0x73, 0x36, 0x9A, 0x93, 0x29, 0x5F, 0xE7, 0x4F, 0xAD, 0xFE, 0x3B, 0x2E, 0x13, 0xFC, 0x04, -0x97, 0x45, 0x99, 0xDC, 0xC8, 0x6D, 0x2A, 0x7E, 0xB5, 0x3F, 0xBE, 0x41, 0xE5, 0xE3, 0x1B, 0x0E, -0xBF, 0xCA, 0x11, 0xAD, 0xBA, 0x2B, 0xFD, 0x0B, 0x9F, 0x48, 0x0C, 0x0E, 0x9C, 0x85, 0xB5, 0x4E, -0x93, 0x1E, 0x42, 0x7F, 0xF1, 0x0A, 0x58, 0x33, 0x14, 0x37, 0xD8, 0x5B, 0xAE, 0xE0, 0x40, 0x63, -0x41, 0x40, 0xAC, 0x05, 0x30, 0xED, 0xCB, 0xAA, 0xDB, 0x9E, 0x27, 0x58, 0x24, 0x62, 0x38, 0x12, -0x92, 0x7C, 0xEF, 0xC3, 0xC1, 0xE6, 0x4D, 0x07, 0x92, 0xA3, 0x07, 0x1F, 0xA6, 0x07, 0x83, 0xCD, -0x9B, 0x6F, 0xCC, 0xDE, 0x8C, 0x58, 0xA5, 0x70, 0x32, 0xCD, 0x82, 0xBA, 0x3E, 0xD0, 0x1B, 0x0F, -0x81, 0xFC, 0xF5, 0x2C, 0x5C, 0x86, 0x48, 0xB0, 0x3B, 0x21, 0x30, 0x7C, 0x84, 0x88, 0xCE, 0xE0, -0x43, 0xFA, 0xA8, 0x69, 0x82, 0xB4, 0xB5, 0x27, 0x66, 0x3A, 0x87, 0xBF, 0x3A, 0x04, 0xE0, 0x41, -0xCB, 0x3B, 0x05, 0x3D, 0xCB, 0x47, 0x3A, 0x1C, 0xC8, 0xDB, 0x63, 0x90, 0x3A, 0x05, 0xC2, 0x8D, -0x1A, 0xD4, 0x63, 0x1F, 0x44, 0xAD, 0xAA, 0x81, 0x51, 0xE0, 0xF6, 0xA8, 0xF9, 0xF3, 0xEB, 0x57, -0xA7, 0x9C, 0xC7, 0x97, 0x2A, 0xEE, 0x02, 0xAD, 0xE6, 0x42, 0x75, 0xAB, 0xE6, 0x92, 0x27, 0x0F, -0x45, 0x39, 0x26, 0x92, 0x8F, 0xF2, 0xF4, 0x9F, 0xCF, 0x27, 0x1F, 0xB1, 0x0F, 0x79, 0xED, 0x75, -0x0A, 0x49, 0x71, 0xCB, 0x16, 0xE8, 0xE3, 0xF1, 0x85, 0xBD, 0x6B, 0x3B, 0x50, 0xBB, 0x80, 0x92, -0xFD, 0xB9, 0x30, 0x88, 0xD5, 0x3F, 0x42, 0xDE, 0xFE, 0x67, 0xC8, 0x04, 0xC2, 0x5D, 0x0A, 0xF1, -0xAC, 0xC0, 0x6F, 0xE2, 0xCE, 0x13, 0xB6, 0x90, 0x68, 0x27, 0x49, 0x22, 0xEE, 0x68, 0x0C, 0x55, -0x94, 0x36, 0x81, 0xC5, 0x14, 0x43, 0x13, 0xC9, 0x70, 0xAA, 0x51, 0xC6, 0xB5, 0x34, 0x8B, 0x63, -0x96, 0xF0, 0x35, 0x7D, 0xD8, 0x7A, 0xF1, 0x84, 0xE8, 0x4D, 0x86, 0x33, 0x1C, 0xE4, 0xCB, 0x38, -0xA9, 0xEB, 0x45, 0x56, 0x79, 0xB0, 0x0E, 0x36, 0xFD, 0xE1, 0x26, 0xAF, 0xF9, 0x32, 0x4A, 0x45, -0xF8, 0xDD, 0xE8, 0xAB, 0x39, 0x48, 0x37, 0x07, 0xAA, 0x1E, 0xCD, 0xC2, 0x70, 0x35, 0x58, 0xA3, -0x05, 0xCD, 0x21, 0xE3, 0x4C, 0x3E, 0xEA, 0x5F, 0xFE, 0x96, 0x27, 0xC0, 0x86, 0x6F, 0x96, 0x56, -0xCD, 0xDB, 0x6B, 0x62, 0x73, 0xB9, 0x03, 0x99, 0xD7, 0x16, 0x8E, 0xF9, 0x30, 0xE2, 0x88, 0x0B, -0x93, 0x10, 0xBE, 0xA7, 0x0C, 0xE8, 0xA9, 0x94, 0xCE, 0x6D, 0x1F, 0x85, 0xA1, 0x78, 0x01, 0x0A, -0x06, 0x92, 0x02, 0x5A, 0x96, 0x5A, 0x82, 0x48, 0x1A, 0x33, 0x9A, 0xE2, 0x31, 0x78, 0xA3, 0x69, -0x39, 0x22, 0x9F, 0x29, 0xD9, 0xF2, 0xDE, 0x51, 0xE4, 0xCE, 0x9A, 0x78, 0xA6, 0x55, 0xCE, 0x36, -0x37, 0xA9, 0x5D, 0xB0, 0x6F, 0x14, 0x48, 0xA9, 0x88, 0x38, 0x86, 0x29, 0xCA, 0x72, 0x28, 0x2E, -0x9B, 0xBA, 0x71, 0xAC, 0x0D, 0x63, 0x03, 0x6B, 0x84, 0xC2, 0xE1, 0xD4, 0x17, 0xC6, 0xA8, 0x6E, -0xD4, 0x54, 0x1E, 0x4B, 0x3D, 0xB1, 0x7D, 0x50, 0x0A, 0xF2, 0x64, 0xE5, 0x91, 0x77, 0xC0, 0xBA, -0x2E, 0xEA, 0x57, 0x2C, 0x3A, 0x01, 0x14, 0xA5, 0x35, 0xB2, 0x65, 0x0D, 0x65, 0x22, 0xAF, 0x00, -0x0F, 0x70, 0x98, 0x62, 0xAD, 0xB9, 0x7F, 0x9D, 0x8D, 0xB2, 0x71, 0x06, 0x98, 0x56, 0xEC, 0x33, -0x51, 0x07, 0x4E, 0x02, 0xB5, 0xA0, 0x03, 0x59, 0x9E, 0x78, 0x42, 0xF3, 0x11, 0xE6, 0x73, 0x16, -0x1C, 0xE8, 0x07, 0xBA, 0xAB, 0xC3, 0xFF, 0x4D, 0xDD, 0x82, 0x5D, 0x98, 0xFA, 0x2C, 0xC0, 0x57, -0x97, 0x2F, 0x20, 0xFA, 0x82, 0x4A, 0x31, 0xE5, 0x06, 0x81, 0x24, 0xE4, 0xE9, 0x9D, 0x16, 0x48, -0x41, 0xFE, 0x03, 0xB9, 0x31, 0x07, 0x4D, 0x93, 0xC1, 0x8B, 0x35, 0xA3, 0x6C, 0x98, 0x94, 0xCD, -0xA8, 0xBC, 0x77, 0x71, 0x81, 0x38, 0x7F, 0x83, 0xC0, 0x8D, 0xFA, 0x0E, 0x51, 0x12, 0x3E, 0x62, -0xD5, 0x68, 0xD2, 0x88, 0x31, 0x35, 0x0A, 0x18, 0x18, 0x41, 0x96, 0x84, 0x1D, 0x24, 0x9E, 0x42, -0x34, 0x8F, 0x4A, 0x45, 0xF9, 0x69, 0x9A, 0xEE, 0x5F, 0x22, 0x4B, 0x54, 0x54, 0x57, 0xE9, 0x88, -0x27, 0xD2, 0x44, 0xD6, 0xE8, 0xF1, 0x5C, 0xA4, 0x53, 0x2C, 0x83, 0x5E, 0xF3, 0xCB, 0x73, 0x96, -0x8E, 0xE2, 0x38, 0x24, 0x2A, 0x50, 0xF7, 0xE0, 0x61, 0xFB, 0x62, 0xD1, 0x15, 0xAF, 0x9A, 0xBB, -0x70, 0x82, 0x52, 0x61, 0xA0, 0xB7, 0x70, 0xA8, 0x9A, 0x40, 0x2B, 0x15, 0xAF, 0xD5, 0xD7, 0xBC, -0xB4, 0x32, 0x55, 0x63, 0xCD, 0x4D, 0x9B, 0x74, 0x9A, 0x7C, 0xD6, 0x1C, 0x6B, 0x6F, 0x67, 0x0D, -0x84, 0x26, 0xE2, 0xA5, 0x32, 0xE4, 0x1E, 0x48, 0xD1, 0xE5, 0x69, 0x45, 0x37, 0x56, 0x0F, 0x0D, -0x76, 0x9C, 0xA5, 0x73, 0x63, 0x09, 0xAC, 0xBB, 0xDC, 0x52, 0xBA, 0x72, 0xB1, 0xA5, 0x2E, 0xDD, -0xA5, 0x56, 0xE1, 0x8A, 0xAE, 0xC8, 0x29, 0x75, 0xDE, 0xFE, 0xF8, 0x43, 0xCC, 0x2A, 0xC7, 0x92, -0xB3, 0xA6, 0x6F, 0xAD, 0xD4, 0x13, 0xE1, 0xA2, 0x74, 0x16, 0x16, 0xB3, 0x1E, 0xAE, 0x06, 0x7B, -0x3D, 0xD5, 0x44, 0x15, 0xAF, 0xE3, 0x35, 0x12, 0x78, 0x22, 0x87, 0xEA, 0xF9, 0x7B, 0x0F, 0x18, -0x4E, 0x21, 0x36, 0xD9, 0xD0, 0x75, 0xD5, 0xBF, 0x70, 0x58, 0xEB, 0xBE, 0xCA, 0xAF, 0x2D, 0xEA, -0xF9, 0xF7, 0x16, 0xD7, 0x49, 0xEE, 0x83, 0x37, 0xB5, 0x65, 0x98, 0xA2, 0xE8, 0x55, 0x5E, 0xAD, -0xF6, 0x7A, 0x4F, 0xBC, 0xC6, 0xD7, 0xF3, 0xC3, 0xCC, 0x81, 0x1A, 0xD8, 0x25, 0x77, 0x82, 0x33, -0x2B, 0x5F, 0x44, 0xE9, 0x03, 0xF5, 0x45, 0x6C, 0x2D, 0xA9, 0xCC, 0xE1, 0x86, 0x1A, 0xCD, 0xB7, -0xDA, 0x69, 0xAE, 0x2A, 0x26, 0x7B, 0xEA, 0xFB, 0x9A, 0xE2, 0xB1, 0xA3, 0xC6, 0xF2, 0xD7, 0x4E, -0xF5, 0x2A, 0x01, 0x04, 0x82, 0x16, 0x5F, 0xE8, 0xA5, 0x08, 0x37, 0x9A, 0xEC, 0xF1, 0xCB, 0x29, -0x90, 0x80, 0x0D, 0xD5, 0xAE, 0x2C, 0x6E, 0x07, 0xA8, 0xB4, 0xBE, 0xBE, 0xA8, 0x2A, 0x83, 0xF5, -0xE5, 0xA2, 0xED, 0x2A, 0x5F, 0x2A, 0xD5, 0xBE, 0x88, 0x51, 0xD1, 0x20, 0xF2, 0xDD, 0x99, 0xDC, -0xDF, 0x7C, 0x9D, 0xF6, 0x24, 0x9A, 0xC2, 0x80, 0x81, 0x10, 0x17, 0x3E, 0xE4, 0x37, 0x58, 0xFF, -0x04, 0x63, 0x8F, 0x76, 0xB0, 0xD1, 0x2A, 0x00, 0x00 +0x1F, 0x8B, 0x08, 0x08, 0xA4, 0xBF, 0x7A, 0x5E, 0x02, 0x00, 0x65, 0x64, +0x69, 0x74, 0x2E, 0x68, 0x74, 0x6D, 0x00, 0xB5, 0x1A, 0x0B, 0x5B, 0xDB, +0x36, 0xF0, 0xAF, 0x18, 0x6F, 0x63, 0xF6, 0xE2, 0x38, 0x0E, 0x50, 0xD6, +0x39, 0x18, 0x16, 0x1E, 0x2B, 0x7D, 0x01, 0x25, 0xA1, 0x1D, 0xE5, 0x63, +0xFB, 0x14, 0x5B, 0x49, 0x54, 0x6C, 0xC9, 0xB5, 0x65, 0x92, 0x90, 0xE5, +0xBF, 0xEF, 0x24, 0xD9, 0x8E, 0x4D, 0x02, 0x7B, 0x7C, 0x5B, 0x0B, 0x58, +0xD2, 0xE9, 0x4E, 0x77, 0xA7, 0x7B, 0x49, 0xF6, 0xDE, 0xC6, 0xF1, 0xF9, +0x51, 0xFF, 0xFA, 0xE2, 0x44, 0x1B, 0xF3, 0x28, 0xDC, 0xDF, 0x13, 0x7F, +0xB5, 0x10, 0xD1, 0x91, 0xA7, 0x63, 0xAA, 0x43, 0x1F, 0xA3, 0x60, 0x7F, +0x2F, 0xC2, 0x1C, 0xC1, 0x04, 0x1E, 0x37, 0xF1, 0xD7, 0x8C, 0xDC, 0x7B, +0xFA, 0x11, 0xA3, 0x1C, 0x53, 0xDE, 0xE4, 0xB3, 0x18, 0xEB, 0x9A, 0xAF, +0x7A, 0x9E, 0xCE, 0xF1, 0x94, 0xB7, 0x04, 0x89, 0x8E, 0xE6, 0x8F, 0x51, +0x92, 0x62, 0xEE, 0x65, 0x7C, 0xD8, 0x7C, 0x09, 0x84, 0x38, 0xE1, 0x21, +0xDE, 0x3F, 0xE9, 0x5D, 0x68, 0x27, 0x01, 0xE1, 0x2C, 0xD9, 0x6B, 0xA9, +0x91, 0xBD, 0x94, 0xCF, 0x42, 0xAC, 0x09, 0x42, 0x39, 0xBE, 0x9F, 0xA6, +0xBA, 0x16, 0xE1, 0x80, 0x20, 0x4F, 0x4F, 0xFD, 0x04, 0x0B, 0x3E, 0x42, +0x34, 0xC0, 0xE1, 0x7C, 0xC8, 0x60, 0xC9, 0x94, 0x3C, 0x60, 0xB7, 0xBD, +0x15, 0x4F, 0x3B, 0xB2, 0x3B, 0x44, 0x11, 0x09, 0x67, 0x6E, 0x8A, 0x68, +0xDA, 0x4C, 0x71, 0x42, 0x86, 0x0B, 0xDB, 0x8F, 0xE6, 0x0F, 0x4D, 0x42, +0x03, 0x3C, 0x75, 0xB7, 0x1D, 0xA7, 0x13, 0xB3, 0x94, 0x70, 0xC2, 0xA8, +0x8B, 0x06, 0x29, 0x0B, 0x33, 0x8E, 0x3B, 0x21, 0x1E, 0x72, 0xF7, 0x05, +0x50, 0x18, 0xB0, 0x24, 0xC0, 0x89, 0xDB, 0x8E, 0xA7, 0x1A, 0x80, 0x48, +0xA0, 0x7D, 0xB3, 0xB3, 0xB3, 0xD3, 0x19, 0x20, 0xFF, 0x6E, 0x94, 0xB0, +0x8C, 0x06, 0x4D, 0x9F, 0x85, 0x2C, 0x71, 0xBF, 0xF9, 0xE5, 0x85, 0xF8, +0xDF, 0x09, 0x48, 0x1A, 0x87, 0x68, 0xE6, 0x52, 0x46, 0x31, 0xE0, 0x4E, +0x9B, 0xE9, 0x18, 0x05, 0x6C, 0xE2, 0x3A, 0x9A, 0xA3, 0xB5, 0x1D, 0x20, +0x92, 0x8C, 0x06, 0xC8, 0x70, 0x2C, 0x4D, 0xFD, 0xD8, 0x3B, 0x66, 0xE7, +0x6F, 0xB1, 0xAC, 0x86, 0x27, 0x98, 0x8C, 0xC6, 0xDC, 0xFD, 0xD1, 0x71, +0x84, 0x08, 0x5A, 0x16, 0xCE, 0x43, 0x92, 0xF2, 0xA6, 0xD4, 0x8F, 0x5A, +0x92, 0xB3, 0xD8, 0x75, 0x24, 0xF7, 0xF0, 0x88, 0x50, 0x32, 0x22, 0x14, +0x1A, 0x31, 0x0A, 0x02, 0x42, 0x47, 0xAE, 0x42, 0x0B, 0xC9, 0xBC, 0x14, +0x38, 0xC1, 0x21, 0xE2, 0xE4, 0x1E, 0x77, 0x22, 0x42, 0x9B, 0x13, 0x12, +0xF0, 0xB1, 0xBB, 0xEB, 0x00, 0x17, 0x7E, 0x96, 0xA4, 0x20, 0x56, 0xCC, +0x08, 0xE5, 0x38, 0x91, 0x68, 0x69, 0x8C, 0xE8, 0x5C, 0x49, 0x2B, 0x74, +0x50, 0x8A, 0x4A, 0x68, 0x48, 0x28, 0x6E, 0x0E, 0x42, 0xE6, 0xDF, 0x95, +0x2B, 0xED, 0xC6, 0xD3, 0x7C, 0x2D, 0x77, 0xCC, 0xEE, 0x71, 0x32, 0x5F, +0x6A, 0x4C, 0x62, 0xD7, 0x80, 0x35, 0xD2, 0x27, 0x27, 0x27, 0x0B, 0x9B, +0xDF, 0x67, 0x00, 0xB5, 0x34, 0xD9, 0x00, 0x31, 0x73, 0xB2, 0x55, 0x99, +0x1E, 0x49, 0xAE, 0x70, 0x08, 0x8D, 0x33, 0x3E, 0x5F, 0xDD, 0x4E, 0x16, +0x23, 0x9F, 0xF0, 0x99, 0xEB, 0xC8, 0x69, 0xD2, 0x4A, 0xDC, 0x1D, 0xC7, +0xD1, 0x84, 0xC6, 0xB5, 0x8F, 0x38, 0x09, 0x10, 0x45, 0x96, 0xD6, 0x4D, +0x08, 0x0A, 0x2D, 0xAD, 0xB7, 0xD4, 0x7A, 0x33, 0x62, 0x0F, 0xCD, 0x0C, +0xDA, 0xD0, 0x0F, 0xB1, 0xCF, 0x95, 0x92, 0x61, 0x1F, 0x06, 0x77, 0x84, +0xAF, 0x02, 0x56, 0x06, 0x2A, 0xEA, 0x92, 0x4A, 0x1A, 0xAB, 0x0D, 0x6C, +0x83, 0x7A, 0x24, 0x27, 0x4A, 0x72, 0x25, 0x53, 0x73, 0xC0, 0x38, 0x67, +0x91, 0xB4, 0xBA, 0x52, 0x5E, 0x4D, 0x1A, 0xCE, 0xCB, 0x95, 0x1D, 0x59, +0xAF, 0xFD, 0x0A, 0xF9, 0x0E, 0xE8, 0x95, 0x13, 0x1F, 0x85, 0x4D, 0x14, +0x92, 0x11, 0x75, 0x23, 0x12, 0x04, 0x21, 0xAE, 0x18, 0xAE, 0x9B, 0x25, +0xA1, 0x11, 0x20, 0x8E, 0x5C, 0x12, 0xA1, 0x11, 0x6E, 0xC5, 0x74, 0x04, +0xD0, 0x14, 0xEF, 0xEE, 0x58, 0xE4, 0xE3, 0xE1, 0xF9, 0xE5, 0xC4, 0x79, +0xFB, 0x6A, 0xC4, 0xBA, 0xF0, 0xEF, 0xAC, 0x77, 0x35, 0x3E, 0xB9, 0x1A, +0x41, 0xEB, 0x50, 0x74, 0xBB, 0x1F, 0x8E, 0xBA, 0x1F, 0xE0, 0x71, 0xD4, +0x6E, 0x7C, 0x19, 0x7E, 0xED, 0x8A, 0xE1, 0x57, 0xC1, 0x61, 0xFF, 0xEA, +0xA4, 0xDB, 0x7D, 0xDB, 0x7A, 0x7D, 0x36, 0xF9, 0xF4, 0x76, 0x57, 0x80, +0x0F, 0x43, 0xE7, 0xF2, 0xE3, 0xD8, 0xB9, 0xDA, 0xFA, 0x29, 0x0A, 0x4E, +0x83, 0xB1, 0x1F, 0x5D, 0x75, 0x3F, 0x7C, 0xBA, 0xBC, 0xBF, 0x8E, 0xAE, +0x46, 0xBD, 0x4F, 0xED, 0xF1, 0xE7, 0xAD, 0x8F, 0xBD, 0xCF, 0x9F, 0x7E, +0xB9, 0xC3, 0xBF, 0x9E, 0xBE, 0xF9, 0xDC, 0x9F, 0x00, 0xC2, 0x31, 0xEB, +0x5D, 0x5D, 0x1E, 0x7E, 0x3C, 0x1C, 0x7D, 0x3E, 0xF4, 0x4F, 0xA6, 0x83, +0xF0, 0xEC, 0xF0, 0x55, 0x77, 0xD0, 0xDD, 0xF2, 0x31, 0x1E, 0xF5, 0x2F, +0x0F, 0xB3, 0xD7, 0x6F, 0xCF, 0x47, 0x84, 0x8C, 0x7B, 0x9F, 0xCF, 0xFA, +0xFE, 0xD1, 0x8B, 0x77, 0x57, 0xA7, 0x5D, 0x32, 0x3E, 0x7B, 0x73, 0xE9, +0xDC, 0xBD, 0x7A, 0x7B, 0x74, 0xEC, 0x5F, 0xBF, 0xB9, 0xDE, 0x3D, 0xDE, +0x6E, 0xFD, 0xF8, 0xE3, 0xFB, 0xE0, 0x9C, 0xD0, 0xFE, 0xFD, 0x43, 0x77, +0x74, 0x34, 0x79, 0x39, 0x4B, 0xFB, 0xE3, 0xD7, 0xF7, 0xB4, 0xF5, 0x91, +0x7D, 0x79, 0x3D, 0x7B, 0x0F, 0xBF, 0x17, 0x17, 0x8D, 0x41, 0xAF, 0x9D, +0x5E, 0x7D, 0x78, 0xFD, 0x71, 0x2B, 0xFD, 0xE9, 0x45, 0x7C, 0x78, 0x7C, +0x7C, 0x1F, 0x0D, 0x2E, 0x5A, 0x51, 0x70, 0x37, 0xE4, 0x2F, 0xB7, 0x79, +0x7C, 0x3D, 0xCA, 0x3E, 0x7F, 0x7D, 0xF1, 0x66, 0xDC, 0x3A, 0xC7, 0xE8, +0x7A, 0xDC, 0x98, 0x3D, 0xCC, 0x5E, 0x8E, 0xFB, 0xA7, 0xF7, 0x67, 0x21, +0x9A, 0x9E, 0x9D, 0xF9, 0x0F, 0x51, 0x23, 0x44, 0x3F, 0x9D, 0xF7, 0x43, +0x94, 0xB4, 0xAF, 0x82, 0x6E, 0xAB, 0x71, 0xB4, 0xD5, 0xDD, 0xE1, 0xC9, +0xE5, 0x11, 0x3D, 0xDE, 0xFE, 0xD2, 0x7B, 0x79, 0x78, 0xD8, 0x66, 0x83, +0xAF, 0x5B, 0xAF, 0xEE, 0x76, 0x5F, 0x5D, 0xED, 0x7E, 0x18, 0x7C, 0xE8, +0xF6, 0x76, 0x0E, 0xAF, 0xD0, 0x75, 0xEF, 0x43, 0x77, 0xB8, 0x33, 0x18, +0x8F, 0xDF, 0xBE, 0xED, 0xFF, 0x12, 0x74, 0x1F, 0x92, 0xEE, 0xF9, 0xA4, +0x3B, 0x3D, 0xB9, 0xEA, 0x9E, 0x36, 0xDE, 0x9E, 0xBC, 0x77, 0xDA, 0xBD, +0xEB, 0xED, 0xD1, 0xFB, 0xDD, 0xC9, 0x61, 0x7A, 0xD2, 0xFD, 0x70, 0xE8, +0x8C, 0xDE, 0x34, 0x22, 0xF4, 0x99, 0x1D, 0x6D, 0x8F, 0x5E, 0xEF, 0x92, +0x8B, 0x6B, 0xD4, 0x7D, 0x7D, 0xF8, 0x26, 0x25, 0x97, 0xD1, 0xE9, 0x95, +0xD3, 0xED, 0xBE, 0x3B, 0xC7, 0xBF, 0x1C, 0x6D, 0xA3, 0xB7, 0x5B, 0xFE, +0x27, 0xD0, 0xFF, 0xD5, 0xAF, 0xF8, 0xC7, 0x46, 0x77, 0x72, 0xEE, 0x84, +0xFE, 0x4F, 0xB8, 0x7F, 0x7A, 0xDD, 0x97, 0xBB, 0x73, 0x12, 0xFE, 0xD2, +0xBF, 0xEB, 0x65, 0x1F, 0xA2, 0xA3, 0x23, 0x53, 0xA3, 0xAC, 0x99, 0xE0, +0x18, 0x23, 0x5E, 0x8D, 0x58, 0xA5, 0x7B, 0x80, 0x6D, 0x2D, 0xAD, 0x30, +0xF7, 0x53, 0x11, 0x5F, 0x9B, 0x01, 0xF6, 0x59, 0x82, 0xE4, 0x1C, 0x40, +0xC0, 0x89, 0x30, 0xB1, 0xC5, 0xCF, 0x32, 0xE0, 0x6A, 0x2A, 0xDE, 0x6A, +0x88, 0x06, 0x9A, 0x51, 0x38, 0x42, 0x44, 0x28, 0xE0, 0xDC, 0x13, 0x1F, +0x37, 0x63, 0x32, 0xC5, 0x61, 0x53, 0x22, 0xBB, 0x8E, 0x39, 0x97, 0xEE, +0x56, 0x4C, 0x43, 0x94, 0x44, 0x8A, 0x6A, 0x31, 0x10, 0x7C, 0x41, 0xBE, +0x48, 0x12, 0xE0, 0x32, 0x11, 0x3C, 0x73, 0xDF, 0x61, 0x49, 0x73, 0x90, +0x8D, 0x86, 0x64, 0x0A, 0xFE, 0x3C, 0x24, 0x94, 0x70, 0xAC, 0xB5, 0xD3, +0xC5, 0xCF, 0x05, 0x99, 0x3B, 0x3C, 0x1B, 0x26, 0x28, 0xC2, 0xA9, 0xF6, +0x37, 0xC9, 0xCC, 0x87, 0x09, 0x8B, 0xE6, 0xCB, 0x20, 0xC8, 0x59, 0xA5, +0xB3, 0x58, 0x7C, 0x93, 0xC5, 0x21, 0x43, 0x20, 0xE6, 0x4A, 0xE0, 0x28, +0xE2, 0x69, 0x22, 0xDC, 0xAA, 0x8C, 0xAB, 0x85, 0x9B, 0x6D, 0x81, 0x5B, +0xD6, 0xDC, 0x7A, 0x6B, 0x67, 0xE9, 0xBA, 0x4D, 0x39, 0x57, 0x84, 0xFC, +0xAA, 0xEA, 0x2B, 0xF1, 0xA0, 0x12, 0xEE, 0xBE, 0xE1, 0xA0, 0xD2, 0xF5, +0x8B, 0xAB, 0x45, 0x54, 0x64, 0x58, 0x32, 0xA0, 0x02, 0x75, 0x7B, 0xD7, +0xA9, 0x84, 0x0A, 0x98, 0xB7, 0xF8, 0x06, 0xCB, 0xC4, 0x69, 0x7D, 0x13, +0x27, 0xB0, 0x1B, 0x78, 0xF2, 0x0C, 0xCD, 0x52, 0xA6, 0x3A, 0x6D, 0xA0, +0x59, 0x26, 0x3D, 0x29, 0x42, 0x25, 0xF3, 0x49, 0x5E, 0x4B, 0xD2, 0xAB, +0x52, 0x01, 0xB8, 0xE4, 0xE6, 0x85, 0xE0, 0xE6, 0x59, 0xAD, 0x6E, 0xEF, +0x7E, 0x97, 0xF3, 0xB0, 0xE3, 0x7C, 0xB7, 0xB0, 0xD5, 0xDC, 0x32, 0x2B, +0xB7, 0x1D, 0xF8, 0x57, 0x24, 0xDF, 0x97, 0x4B, 0x16, 0x06, 0x2F, 0xC4, +0xFF, 0x82, 0x41, 0xA0, 0x53, 0x05, 0x6E, 0xEF, 0xFC, 0xF4, 0x32, 0x18, +0x14, 0x40, 0x25, 0xD8, 0xD3, 0xF0, 0x04, 0x05, 0x24, 0x4B, 0xDD, 0x17, +0xCE, 0x77, 0x4A, 0x9F, 0xB0, 0x7D, 0x20, 0x7B, 0xB1, 0xB9, 0xAA, 0xB3, +0xB4, 0xD8, 0x34, 0x26, 0x54, 0xDB, 0x4A, 0x35, 0xB1, 0xDF, 0x28, 0x29, +0x0D, 0xB3, 0x9A, 0xF0, 0xC1, 0x45, 0x96, 0xA6, 0x29, 0xE6, 0xCF, 0x9D, +0xEF, 0xE6, 0x3C, 0x41, 0x34, 0x1D, 0xB2, 0x24, 0x72, 0x13, 0xC6, 0x11, +0xC7, 0x86, 0x63, 0x2E, 0xDA, 0xCE, 0x3A, 0xC0, 0xF6, 0xAE, 0x13, 0xE0, +0x91, 0xB9, 0x58, 0xEC, 0xB5, 0x64, 0x5A, 0xDB, 0xD7, 0xF6, 0xC0, 0xD7, +0x48, 0xCC, 0xF7, 0x87, 0x19, 0xF5, 0x05, 0x13, 0xDA, 0x08, 0x1B, 0xD8, +0x9C, 0x27, 0x98, 0x67, 0x09, 0xD5, 0x02, 0xE6, 0x67, 0xC2, 0xDA, 0xED, +0x11, 0xE6, 0x27, 0xCA, 0xF0, 0x0F, 0x67, 0xAF, 0x03, 0x98, 0xB1, 0xD0, +0x4A, 0x0C, 0x7F, 0x2D, 0x06, 0xB8, 0x30, 0xAC, 0x98, 0x23, 0xD5, 0x11, +0x20, 0xC7, 0x00, 0x99, 0xB7, 0x78, 0x66, 0x60, 0x8B, 0x97, 0x98, 0xD8, +0x16, 0xE3, 0x46, 0x31, 0x0B, 0x60, 0xD4, 0x9C, 0xDF, 0x83, 0x1E, 0x90, +0x87, 0x6F, 0xF8, 0xAD, 0x45, 0x3C, 0x0A, 0x8F, 0x4E, 0x3E, 0x9B, 0xEC, +0xA3, 0x83, 0x66, 0xDB, 0x45, 0xFB, 0xE4, 0xA0, 0x0D, 0x1E, 0x56, 0x25, +0xAF, 0x56, 0xFE, 0x85, 0x84, 0xF8, 0x2A, 0x77, 0x3A, 0xB1, 0x4E, 0x41, +0x8D, 0xA4, 0xAF, 0xC1, 0x80, 0xBC, 0x96, 0x41, 0x2E, 0xC6, 0xA0, 0x4F, +0xF3, 0x07, 0xE3, 0xBC, 0xA7, 0x19, 0x37, 0x3F, 0x36, 0x7F, 0xBA, 0xFD, +0xA3, 0x7D, 0xE3, 0x34, 0xDB, 0xB7, 0xE6, 0xEF, 0x66, 0x8B, 0xD8, 0x1C, +0xA7, 0xDC, 0xA0, 0xE8, 0x9E, 0x8C, 0x10, 0x98, 0xBB, 0x2D, 0xD2, 0x6E, +0x77, 0x04, 0xA2, 0x98, 0x9D, 0x72, 0x21, 0xA4, 0x78, 0xDC, 0x72, 0x9C, +0x0D, 0x0F, 0x1F, 0xA0, 0x10, 0x03, 0xFB, 0xFA, 0xC9, 0xE5, 0xE5, 0xF9, +0xE5, 0x8D, 0xDE, 0xC0, 0x0D, 0xFD, 0xD6, 0xD5, 0xF4, 0x06, 0x35, 0x5D, +0x6E, 0x27, 0x78, 0x98, 0xE0, 0x74, 0x7C, 0x81, 0xF8, 0xD8, 0x08, 0xEC, +0x7B, 0x14, 0x66, 0x35, 0x85, 0x10, 0x03, 0x2B, 0xE6, 0xB8, 0x47, 0xF1, +0x44, 0xFB, 0x05, 0x76, 0xEC, 0x18, 0x71, 0xD4, 0xE1, 0x36, 0x8A, 0x63, +0x4C, 0x03, 0x43, 0x8F, 0x01, 0x53, 0xB7, 0xB0, 0x69, 0x25, 0x50, 0xFA, +0x02, 0x67, 0xA9, 0x8D, 0x02, 0x18, 0xBE, 0xB8, 0xEA, 0xEB, 0x96, 0xDE, +0x12, 0x2E, 0xA9, 0x83, 0x88, 0x08, 0x88, 0x0A, 0x32, 0xCC, 0x83, 0x3D, +0xD1, 0x07, 0x19, 0xE7, 0x8C, 0xEA, 0x66, 0x87, 0xD9, 0x84, 0x52, 0x9C, +0x9C, 0xF6, 0xDF, 0xBF, 0xF3, 0xF4, 0x4B, 0xC5, 0x8A, 0xF6, 0x8E, 0xA4, +0x80, 0x23, 0x77, 0x3B, 0x5F, 0xE5, 0x68, 0x4C, 0xC2, 0xC0, 0x60, 0x66, +0x47, 0x90, 0xF0, 0x25, 0x09, 0x59, 0xEB, 0x00, 0x05, 0xDF, 0x56, 0x95, +0xF1, 0x10, 0x94, 0xAA, 0x5B, 0xBE, 0x1D, 0x65, 0x21, 0x27, 0x71, 0x88, +0xBD, 0x8D, 0x36, 0xF4, 0x28, 0x8A, 0x00, 0x26, 0xF2, 0xBC, 0x80, 0x91, +0xC0, 0xD3, 0x55, 0xB4, 0x53, 0x31, 0x72, 0xED, 0x2A, 0xBE, 0x5A, 0x25, +0xA8, 0xAD, 0x12, 0x54, 0x71, 0x95, 0xC4, 0x81, 0xBD, 0x2C, 0xC9, 0xA1, +0x97, 0x2F, 0x55, 0xC0, 0x02, 0x3C, 0x44, 0xC0, 0xC9, 0x47, 0xD0, 0x27, +0x8C, 0xB6, 0xD6, 0x2D, 0x14, 0xA8, 0x85, 0xD2, 0xBA, 0x46, 0xD2, 0xAA, +0x46, 0x94, 0x95, 0xAC, 0x43, 0x4E, 0x15, 0x72, 0x52, 0x47, 0x4E, 0xAA, +0xC8, 0x47, 0xD2, 0xD8, 0xD6, 0x21, 0x27, 0x0A, 0x39, 0xAC, 0x89, 0x18, +0x4A, 0x11, 0x55, 0x08, 0x6D, 0x0A, 0x6D, 0x82, 0x40, 0x80, 0x1D, 0x56, +0xC5, 0x84, 0x1E, 0x78, 0x3C, 0x1A, 0x84, 0x38, 0xF0, 0x36, 0x1C, 0xE8, +0x89, 0xC2, 0xDD, 0xDB, 0x72, 0xD6, 0xAC, 0x11, 0xAA, 0x35, 0x66, 0xB5, +0x35, 0x66, 0x72, 0x0D, 0x02, 0x56, 0x0E, 0x2B, 0x4C, 0x75, 0x6B, 0x26, +0xB5, 0x56, 0x1F, 0x51, 0xCB, 0xF9, 0x63, 0xEC, 0xDF, 0xC1, 0x09, 0x62, +0x1D, 0xFB, 0x33, 0xD3, 0x52, 0xAE, 0x72, 0x30, 0xB3, 0xE5, 0x3C, 0xE0, +0x86, 0x27, 0x19, 0x76, 0x97, 0xDD, 0x21, 0x0A, 0x53, 0x2C, 0x19, 0x78, +0x90, 0x0C, 0xC8, 0xE3, 0x11, 0x30, 0xF0, 0x60, 0x43, 0xCC, 0xF1, 0x04, +0x1B, 0xD6, 0x43, 0x55, 0x57, 0xE7, 0x61, 0xA0, 0x11, 0xF0, 0xB6, 0x75, +0xCB, 0x3D, 0x28, 0x49, 0xB2, 0xBA, 0xAA, 0xB3, 0x2A, 0x3A, 0x14, 0xCD, +0xF7, 0x78, 0x2D, 0x72, 0x06, 0x7E, 0x61, 0x33, 0xEA, 0x87, 0xC4, 0xBF, +0xF3, 0x96, 0x01, 0xC4, 0x9C, 0x93, 0xD2, 0xDB, 0x2C, 0x2A, 0xC3, 0xFF, +0x55, 0x12, 0x2E, 0x87, 0xA0, 0x51, 0x58, 0xCE, 0xC2, 0xCA, 0xD6, 0x13, +0x18, 0x1A, 0xA5, 0xBC, 0xCA, 0x45, 0x61, 0xEF, 0x3C, 0xE4, 0x63, 0x1B, +0x9E, 0xDC, 0xC8, 0x77, 0x52, 0x57, 0xCC, 0x73, 0x36, 0x49, 0x08, 0xC7, +0x1E, 0x0C, 0x42, 0xC0, 0x54, 0x66, 0x69, 0x28, 0xD0, 0xD7, 0xBA, 0x63, +0x7F, 0x2D, 0x1D, 0x3B, 0x41, 0x93, 0xDC, 0x04, 0x14, 0x33, 0x6A, 0xFA, +0x94, 0x78, 0x0E, 0x64, 0x6F, 0x9A, 0x72, 0x38, 0xC1, 0x66, 0xF4, 0xAE, +0x27, 0x2C, 0x60, 0xC7, 0xF9, 0x69, 0xB7, 0x03, 0x9A, 0x35, 0xA4, 0x41, +0x73, 0x94, 0x70, 0x98, 0x24, 0x9F, 0x7B, 0xF9, 0xCA, 0x36, 0xD8, 0xD3, +0x88, 0x8F, 0xD5, 0x60, 0xC3, 0x2B, 0x51, 0x15, 0xE7, 0xB2, 0xEB, 0x15, +0x53, 0xD3, 0x6C, 0x90, 0xF2, 0x04, 0xF2, 0xA8, 0x21, 0x67, 0x5B, 0x0A, +0x67, 0x89, 0x52, 0xE7, 0x51, 0x6F, 0x4C, 0x89, 0x25, 0x81, 0x66, 0x67, +0x4A, 0x1A, 0x8D, 0xCE, 0x42, 0x7B, 0x14, 0x89, 0xCE, 0x7B, 0x95, 0x50, +0xF4, 0x15, 0x42, 0x51, 0x67, 0x81, 0xC1, 0x3C, 0xE6, 0xD4, 0xC6, 0x53, +0xEC, 0x1F, 0xB1, 0x28, 0x42, 0x82, 0x56, 0x0A, 0x7B, 0x98, 0x77, 0x74, +0x98, 0xB2, 0xB0, 0xD8, 0x5A, 0xBD, 0x3F, 0x11, 0x32, 0xAD, 0xF4, 0xA9, +0x5D, 0x82, 0x10, 0xEC, 0xF9, 0xB6, 0xF0, 0xA8, 0x34, 0xD7, 0xC2, 0xF3, +0x11, 0xB5, 0x08, 0x57, 0x0A, 0xE5, 0xC6, 0xB9, 0xB5, 0x4A, 0xB3, 0x78, +0x4E, 0x30, 0x6E, 0x21, 0xB5, 0x43, 0xD4, 0x03, 0x33, 0xAC, 0xC5, 0x2A, +0xB3, 0x43, 0x97, 0xF6, 0x24, 0xE7, 0x10, 0x31, 0xA7, 0x1E, 0x0B, 0x61, +0x16, 0x29, 0x66, 0xE9, 0x20, 0xBD, 0x2F, 0xE4, 0x19, 0x23, 0x3A, 0xC2, +0x7F, 0x47, 0xA0, 0x75, 0x61, 0x6B, 0xAD, 0x8F, 0xC0, 0xA0, 0xCC, 0xEF, +0xF6, 0x3D, 0x49, 0xC9, 0x80, 0x84, 0x84, 0xCF, 0x3C, 0x5D, 0xB6, 0x21, +0x7E, 0x77, 0x82, 0xE7, 0x80, 0x4A, 0x69, 0x4B, 0xBD, 0xC8, 0xE0, 0x61, +0x51, 0x48, 0x98, 0x07, 0xAE, 0x6D, 0xDC, 0xFC, 0x66, 0xDF, 0x36, 0x4C, +0xF3, 0xE0, 0xDB, 0x96, 0xDC, 0x56, 0x83, 0x9B, 0x37, 0xED, 0x5B, 0x0B, +0x01, 0xD4, 0xFE, 0xC1, 0xB4, 0x25, 0xB4, 0x06, 0xEA, 0xDC, 0x33, 0x12, +0x68, 0x42, 0x16, 0x11, 0x71, 0xD8, 0x50, 0x43, 0x9B, 0x9B, 0x06, 0xF7, +0x50, 0xCD, 0xF9, 0x1A, 0xBC, 0xA1, 0xDB, 0x90, 0x29, 0x17, 0x8B, 0x95, +0x2C, 0xDE, 0x4F, 0x30, 0x56, 0x55, 0x42, 0x09, 0x90, 0x0A, 0x12, 0x8A, +0x0D, 0xD8, 0x84, 0x4A, 0xD5, 0xCA, 0x72, 0x48, 0x37, 0xED, 0x34, 0xF1, +0x3D, 0xB5, 0x51, 0x07, 0x05, 0xCC, 0x83, 0x44, 0x5C, 0x21, 0x8A, 0x96, +0x89, 0x16, 0x28, 0xAC, 0xC4, 0x61, 0xB3, 0xC3, 0x73, 0xAE, 0xB0, 0xB5, +0x84, 0xEB, 0x66, 0xAE, 0xAF, 0xBC, 0x0E, 0xF3, 0x74, 0xCA, 0x28, 0x78, +0xEC, 0xF8, 0xF1, 0xB0, 0x3C, 0x20, 0xC3, 0x78, 0x65, 0x43, 0xBE, 0xDF, +0x23, 0xD1, 0x48, 0xAB, 0x30, 0x26, 0xFE, 0x78, 0xDF, 0x8B, 0xEA, 0x60, +0xF3, 0x77, 0x7F, 0x00, 0xEC, 0x81, 0x59, 0x62, 0x9B, 0xB2, 0x89, 0x61, +0x36, 0xBE, 0xD7, 0x35, 0x49, 0xD1, 0xD3, 0x23, 0x34, 0xCD, 0x6F, 0x4A, +0x44, 0x1D, 0xD7, 0xD1, 0xA0, 0x5F, 0x9E, 0xEB, 0xD5, 0x80, 0xBA, 0xA2, +0x40, 0x19, 0x67, 0x1D, 0xAD, 0xA8, 0x0F, 0xD5, 0x01, 0x5D, 0xD7, 0x5A, +0xFB, 0xDF, 0xD7, 0x8B, 0x0B, 0x8B, 0x98, 0xF3, 0x65, 0x5D, 0x90, 0x89, +0x18, 0x8D, 0x9F, 0x4E, 0xFA, 0x21, 0x01, 0x38, 0x7B, 0x94, 0xAE, 0xAD, +0xC4, 0x20, 0xE6, 0x81, 0xE1, 0x57, 0x8D, 0x6D, 0x4F, 0x9C, 0xE9, 0xF6, +0x2F, 0x54, 0xB1, 0xBE, 0xD7, 0x92, 0x3D, 0x70, 0xA9, 0x55, 0x17, 0x85, +0xED, 0x43, 0x80, 0x6E, 0x95, 0xC5, 0xE1, 0x80, 0x05, 0xB3, 0x4A, 0x4D, +0x99, 0x1E, 0xCE, 0x8E, 0x42, 0x94, 0xA6, 0x67, 0x28, 0x82, 0xF5, 0xFD, +0x48, 0x37, 0x73, 0x93, 0xDF, 0x77, 0x36, 0x37, 0xEB, 0x48, 0x09, 0x8E, +0xE0, 0x0C, 0xA9, 0xB8, 0x82, 0x80, 0x60, 0xBA, 0x29, 0x10, 0xDE, 0xDC, +0x5C, 0xC7, 0x98, 0xB8, 0xE1, 0x7B, 0x8E, 0x2B, 0x0A, 0x61, 0xA6, 0x48, +0x0A, 0xFF, 0x13, 0x77, 0xAA, 0xC8, 0x79, 0x4A, 0xAB, 0x01, 0xAC, 0xB9, +0xCA, 0xF6, 0x71, 0x6E, 0xBA, 0x25, 0xEB, 0xC1, 0x5A, 0x85, 0xD2, 0xFF, +0x87, 0x65, 0x55, 0xB3, 0x3C, 0xC5, 0x71, 0x68, 0x5A, 0xE1, 0x1A, 0x8E, +0x71, 0x88, 0x39, 0x2E, 0xF9, 0x0D, 0xD7, 0xF2, 0x9B, 0xFD, 0x3F, 0xFC, +0x56, 0x0C, 0x9D, 0x55, 0xCB, 0x7C, 0x24, 0x45, 0x08, 0xC8, 0xBD, 0x6E, +0x5A, 0xCC, 0xAB, 0x93, 0x80, 0x23, 0x0F, 0x0B, 0xC3, 0x3E, 0x8B, 0x0F, +0x9E, 0x18, 0x77, 0xCB, 0xF1, 0xBC, 0x51, 0xF0, 0xB9, 0x9C, 0x62, 0xF9, +0x6B, 0x89, 0xBE, 0xC3, 0x43, 0x7E, 0xF0, 0x14, 0xE0, 0x79, 0xB2, 0x6A, +0x8E, 0x15, 0x78, 0xD8, 0x06, 0xED, 0xC1, 0xE8, 0xAF, 0x0D, 0xDF, 0x4A, +0xCB, 0xDE, 0x75, 0x83, 0x75, 0x10, 0xB4, 0x73, 0x2D, 0x79, 0x42, 0x4B, +0x16, 0x5A, 0x1F, 0x82, 0xCA, 0x71, 0x71, 0xBA, 0xF6, 0x82, 0x86, 0x1E, +0x4F, 0x97, 0x63, 0x9C, 0xC5, 0x5E, 0xAA, 0x86, 0x88, 0x81, 0x2C, 0xFE, +0x68, 0x57, 0x6A, 0xFB, 0x8D, 0x8A, 0x02, 0x18, 0xD9, 0x6C, 0x38, 0x4C, +0x31, 0xFF, 0x24, 0x82, 0x92, 0x15, 0x96, 0xFD, 0x53, 0x19, 0x94, 0x3A, +0xD0, 0xA5, 0x11, 0xCB, 0x52, 0xCC, 0x32, 0x5E, 0x4B, 0x64, 0x46, 0x29, +0xCC, 0x5E, 0xF0, 0xC7, 0x1F, 0x65, 0x67, 0x3F, 0x68, 0x24, 0xCB, 0xEE, +0xF5, 0x5E, 0x5A, 0xE9, 0xEC, 0xA7, 0x8D, 0x10, 0x3C, 0xFA, 0x3F, 0x36, +0x15, 0x54, 0x33, 0x15, 0x5F, 0x9C, 0xDC, 0x64, 0x54, 0xAC, 0x47, 0x3D, +0x79, 0x7A, 0xA1, 0x15, 0xAF, 0x15, 0x26, 0xAD, 0x9B, 0xC5, 0xA1, 0xB3, +0xEA, 0xAD, 0xD4, 0xF2, 0x1F, 0x3B, 0xB3, 0xBF, 0xB6, 0x38, 0x49, 0x0D, +0x41, 0x15, 0xD4, 0xFE, 0x8E, 0x4D, 0x70, 0x72, 0x84, 0x52, 0x6C, 0x40, +0x02, 0x2D, 0x23, 0x8F, 0x84, 0x9A, 0x6E, 0xB2, 0x66, 0x16, 0x68, 0x01, +0x29, 0x70, 0x5E, 0x28, 0x30, 0x2A, 0x0E, 0x08, 0x20, 0x60, 0x56, 0x5B, +0x01, 0xDB, 0xE2, 0xC2, 0x04, 0xC4, 0x3E, 0x56, 0xE7, 0x21, 0xC3, 0xB4, +0x30, 0x6C, 0x36, 0x8B, 0x2F, 0x12, 0x16, 0xA3, 0x11, 0x12, 0xF3, 0x60, +0x4C, 0xF8, 0x87, 0xA0, 0x66, 0x6D, 0x38, 0x82, 0x60, 0x45, 0x1D, 0x41, +0xE1, 0x39, 0xCB, 0x93, 0x39, 0xB5, 0xF4, 0x3C, 0x25, 0x4A, 0x6F, 0x7A, +0x2A, 0x71, 0x20, 0xB3, 0xAC, 0x48, 0x89, 0x47, 0xF3, 0x9D, 0xB0, 0x18, +0x14, 0xA6, 0x64, 0x9F, 0x75, 0x58, 0xA3, 0x61, 0xAA, 0x33, 0xA3, 0xE7, +0xC1, 0xE9, 0x9D, 0xDD, 0xCA, 0x73, 0x07, 0x48, 0x55, 0x4F, 0x2E, 0x06, +0xB7, 0x24, 0x50, 0x2C, 0xA8, 0x5A, 0xA9, 0xA8, 0x40, 0x6B, 0x57, 0x06, +0x65, 0xE2, 0x7E, 0xA2, 0x10, 0xC1, 0xB2, 0xDA, 0x80, 0xBA, 0xE9, 0x71, +0xC1, 0xC1, 0xCD, 0x74, 0x42, 0xB8, 0x3F, 0x16, 0x31, 0xC8, 0x07, 0xB5, +0xEA, 0x1C, 0x8E, 0x58, 0xAE, 0x6C, 0x8D, 0x79, 0xB4, 0x6C, 0x85, 0x79, +0xF3, 0x4B, 0x9A, 0x37, 0xFC, 0xB4, 0x68, 0x4D, 0x2B, 0x40, 0x46, 0x0B, +0x30, 0xA3, 0xC3, 0xBC, 0x49, 0x28, 0x29, 0xE8, 0x14, 0xC0, 0xE2, 0x19, +0xC7, 0x79, 0x2B, 0x1E, 0x17, 0xAD, 0x31, 0x9E, 0x96, 0x78, 0xAC, 0x80, +0x06, 0x58, 0x77, 0x95, 0x91, 0x6D, 0x38, 0x0B, 0x2D, 0x6F, 0xB5, 0x2B, +0x0A, 0x48, 0xFE, 0x3B, 0x05, 0xC4, 0x74, 0x54, 0x88, 0x13, 0x17, 0xAD, +0x11, 0x29, 0x84, 0x19, 0x44, 0xF1, 0x5F, 0xB0, 0x12, 0x56, 0xAE, 0x7B, +0x2A, 0xB7, 0x35, 0xFC, 0xAF, 0x6E, 0x42, 0xB8, 0xE9, 0x1A, 0xC3, 0xAA, +0x53, 0x42, 0xCF, 0x17, 0xCF, 0x33, 0x16, 0xC8, 0x52, 0xD3, 0xB4, 0x22, +0x63, 0x68, 0x41, 0x41, 0x68, 0xD6, 0x9C, 0x35, 0xFB, 0xB7, 0xB7, 0x23, +0xC7, 0x27, 0xEF, 0x4E, 0xFA, 0x27, 0xD5, 0xE2, 0x3D, 0x34, 0xEA, 0x66, +0x15, 0x0B, 0xBE, 0x57, 0x85, 0xA1, 0x16, 0x92, 0xC2, 0x80, 0xD1, 0x6E, +0x6E, 0x2A, 0xE7, 0x78, 0xD3, 0x3B, 0x3F, 0xB3, 0x63, 0x94, 0x80, 0x5F, +0xA2, 0x3A, 0x7B, 0x91, 0xA2, 0x51, 0x5F, 0xFA, 0xD5, 0x49, 0xE5, 0xD0, +0x20, 0xDF, 0xA0, 0xB9, 0x7C, 0x61, 0xA9, 0xE5, 0xF2, 0x4B, 0x9A, 0xB1, +0x2C, 0x41, 0xF3, 0xAB, 0x4E, 0xC8, 0x52, 0xC3, 0x65, 0xC6, 0xEA, 0x14, +0x0C, 0x55, 0xE3, 0x3D, 0xBF, 0xCF, 0xD6, 0x9D, 0x7D, 0x87, 0xA6, 0xC5, +0xC7, 0x24, 0xAD, 0x9E, 0x97, 0x6A, 0xC1, 0xE1, 0x6F, 0x6A, 0x7C, 0x51, +0xB4, 0x14, 0xB9, 0x95, 0x42, 0x5C, 0xBD, 0x2E, 0x55, 0x71, 0xC2, 0x42, +0x16, 0xA9, 0x14, 0xE4, 0x6C, 0xB9, 0x3F, 0x3A, 0x64, 0x21, 0x42, 0x75, +0x8B, 0xFE, 0x53, 0x23, 0xA5, 0x85, 0x91, 0xD2, 0xAA, 0x97, 0x96, 0x04, +0x3B, 0x03, 0x60, 0xE2, 0xAE, 0x53, 0xFA, 0xCF, 0x7A, 0x88, 0x72, 0xC9, +0xF5, 0x48, 0x3C, 0x12, 0x10, 0xE9, 0xE8, 0x35, 0xC0, 0x97, 0x54, 0x8E, +0x7F, 0x41, 0xF7, 0x48, 0xDD, 0x84, 0xD6, 0xD1, 0x24, 0xD0, 0xFF, 0x1D, +0xFC, 0xB8, 0xBE, 0xD2, 0x53, 0xE3, 0xD0, 0x5F, 0x85, 0xD4, 0xA3, 0x49, +0x0A, 0xCD, 0xD5, 0xA0, 0xC0, 0xEB, 0x31, 0xA6, 0x0C, 0x3C, 0xD5, 0x10, +0x03, 0xF6, 0x5F, 0x38, 0xA4, 0xC6, 0xAB, 0x3B, 0x54, 0xF5, 0xBE, 0xCD, +0xCD, 0x27, 0xDD, 0x6F, 0x5D, 0xC4, 0x97, 0xD1, 0xBD, 0xEE, 0x57, 0xE8, +0xD1, 0x19, 0x59, 0x00, 0x0F, 0x43, 0x36, 0x30, 0xC4, 0x2D, 0xEC, 0x5C, +0x6C, 0x98, 0x4B, 0x17, 0xA6, 0xF5, 0x17, 0x27, 0x65, 0x64, 0xF9, 0xB5, +0x00, 0xAE, 0x78, 0xAC, 0x9A, 0xFC, 0xFA, 0x63, 0x55, 0xFD, 0xE0, 0xB5, +0xBE, 0xBC, 0x91, 0xAE, 0x89, 0x0F, 0x42, 0x3B, 0x2D, 0x6E, 0x59, 0x20, +0xB6, 0x54, 0x7A, 0xBA, 0x2E, 0xEA, 0x54, 0x3F, 0xC4, 0x28, 0xE9, 0x89, +0x63, 0xB7, 0x4A, 0x80, 0xF5, 0x68, 0xFA, 0xBC, 0xC7, 0x8A, 0x87, 0x8B, +0x17, 0x56, 0x6A, 0x2E, 0x74, 0xF1, 0x7A, 0x6A, 0x48, 0x28, 0x0E, 0xF4, +0x65, 0x4C, 0x95, 0xA7, 0x58, 0xBD, 0x25, 0x5F, 0x24, 0xD8, 0x72, 0xF3, +0x4C, 0x6B, 0xDD, 0x44, 0x0A, 0x13, 0xA9, 0xC7, 0x80, 0xBF, 0xF5, 0x70, +0x04, 0x70, 0x04, 0xE7, 0x3D, 0x46, 0xD9, 0x1D, 0x22, 0x4F, 0x10, 0x21, +0x30, 0x89, 0xE4, 0x9F, 0x25, 0xC0, 0x31, 0xD9, 0x52, 0xE6, 0x25, 0x73, +0x6A, 0x05, 0xA2, 0x8C, 0xDE, 0x2C, 0x6E, 0x1D, 0xCB, 0x3B, 0x2A, 0x5C, +0x84, 0x93, 0xDC, 0x2D, 0x36, 0x24, 0x5A, 0x28, 0x4A, 0xAA, 0x1E, 0x4E, +0x53, 0xA9, 0x1A, 0xA1, 0xBA, 0xF7, 0x2C, 0x00, 0xCD, 0x01, 0x5A, 0x2B, +0x82, 0x96, 0x58, 0x08, 0x94, 0x28, 0x00, 0xFD, 0x31, 0x8E, 0x72, 0x08, +0x87, 0xA6, 0x00, 0x21, 0x01, 0xFA, 0x56, 0xEE, 0x46, 0x4F, 0x96, 0xAE, +0x84, 0x8E, 0xBC, 0x76, 0xCB, 0xB1, 0x56, 0xC9, 0x5E, 0xA5, 0xB8, 0xC7, +0x86, 0xBC, 0x8F, 0x06, 0xA9, 0x01, 0x85, 0xC7, 0xEA, 0x0C, 0x01, 0x12, +0x37, 0x4E, 0xC6, 0x96, 0xB9, 0x1E, 0xFD, 0x13, 0x4B, 0xEE, 0x70, 0x62, +0x6C, 0xB4, 0x73, 0x7E, 0x4E, 0xA1, 0xE4, 0x0C, 0xE1, 0x97, 0x77, 0x7D, +0xF1, 0x59, 0xC1, 0x3B, 0x50, 0x16, 0x50, 0xCE, 0x81, 0xBD, 0x31, 0x9B, +0x5C, 0x24, 0x84, 0xF2, 0xF7, 0xF2, 0x84, 0x9C, 0x63, 0xF9, 0xEA, 0xC6, +0x49, 0x6E, 0x75, 0x71, 0x15, 0x35, 0x17, 0xE5, 0x86, 0x5B, 0xBB, 0x90, +0xB2, 0x06, 0xB0, 0xA1, 0x50, 0xFD, 0xB8, 0xF3, 0x09, 0xA1, 0xAE, 0x7E, +0xC4, 0x93, 0xB0, 0xD9, 0xD3, 0xAD, 0x08, 0xF9, 0xD0, 0x51, 0x73, 0xA0, +0xBF, 0xB0, 0x44, 0x2C, 0x73, 0xAB, 0x41, 0x36, 0x30, 0xB8, 0x85, 0x2B, +0x77, 0x7E, 0x0D, 0x5D, 0xB7, 0x08, 0xC4, 0x54, 0xF0, 0xFF, 0xE0, 0x9C, +0x86, 0x33, 0x17, 0x12, 0xE8, 0xF3, 0x7C, 0x88, 0x7D, 0x67, 0xCF, 0xF1, +0xF1, 0xF9, 0x11, 0x1F, 0x9F, 0xD7, 0xF1, 0x81, 0xEB, 0xFA, 0x83, 0xCE, +0x15, 0x90, 0x7D, 0x8F, 0x28, 0x1A, 0xE1, 0x04, 0x06, 0xC4, 0x22, 0xA0, +0x92, 0x7F, 0xC6, 0x59, 0x82, 0x9F, 0xE7, 0xAC, 0x37, 0x26, 0x43, 0xBE, +0xC2, 0x9F, 0x1C, 0xFD, 0x77, 0x5C, 0x26, 0xF8, 0x09, 0x2E, 0x8B, 0x9A, +0xB9, 0x96, 0xE0, 0x54, 0x04, 0x5B, 0x7F, 0x9D, 0x83, 0xCA, 0xEB, 0x1C, +0x0E, 0xBF, 0xCA, 0x11, 0xAD, 0xAA, 0x2B, 0xFD, 0x0B, 0x9F, 0x48, 0x0C, +0x0E, 0x9C, 0x85, 0xD5, 0x83, 0x27, 0x3D, 0x84, 0xE3, 0xC6, 0x3B, 0xE0, +0xCD, 0x50, 0xEC, 0x60, 0x6F, 0xBE, 0x80, 0x15, 0x8D, 0x09, 0x01, 0xB9, +0x26, 0xC0, 0xB5, 0x2F, 0x6B, 0x70, 0x7B, 0x9C, 0x60, 0x91, 0x8E, 0x61, +0x4D, 0x48, 0xF5, 0xAD, 0x9B, 0x83, 0xCD, 0xDB, 0x06, 0xA4, 0x48, 0x0F, +0x1E, 0xA6, 0x07, 0x8D, 0xCD, 0xDB, 0x1F, 0xCC, 0xD6, 0x88, 0x58, 0xA5, +0x74, 0x32, 0xD7, 0x82, 0xBE, 0x6E, 0xE8, 0xAD, 0x87, 0x40, 0x01, 0xD5, +0x54, 0x5C, 0x06, 0x49, 0x30, 0x3C, 0x21, 0x31, 0x3C, 0xC4, 0x07, 0x53, +0xF0, 0x90, 0x4E, 0x6A, 0x9A, 0x20, 0x6E, 0xE5, 0x0E, 0x4D, 0xE7, 0xF0, +0x57, 0x87, 0x10, 0xDC, 0x59, 0xF3, 0x7A, 0x4C, 0xCF, 0xF2, 0x96, 0x0E, +0x0B, 0xF2, 0xF5, 0x41, 0x48, 0xAD, 0x02, 0xF1, 0x46, 0x35, 0xAA, 0xC1, +0x0F, 0xC2, 0x56, 0x79, 0x9C, 0xC9, 0xC1, 0xEB, 0xC3, 0xE6, 0xAF, 0xEF, +0xDF, 0x9D, 0x72, 0x1E, 0x5F, 0xAA, 0xC0, 0x0B, 0xB4, 0xEA, 0x03, 0xCB, +0x6D, 0x35, 0xE7, 0x3C, 0x99, 0x15, 0x65, 0x99, 0xC8, 0x3F, 0xCA, 0xD5, +0x7F, 0x3D, 0x1F, 0x7C, 0xC1, 0x3E, 0xE4, 0xB6, 0xF7, 0x29, 0xA4, 0xC6, +0x2D, 0x5B, 0xA0, 0xF7, 0xFB, 0x17, 0xF6, 0xAE, 0xED, 0x40, 0x05, 0x03, +0x4A, 0xF6, 0xC7, 0xC2, 0x22, 0x16, 0xDA, 0x3F, 0xC2, 0xDE, 0xFE, 0x87, +0xD8, 0x04, 0x22, 0x5E, 0x0A, 0x21, 0xAD, 0x20, 0xF0, 0x08, 0x79, 0x9C, +0xB0, 0x89, 0xC4, 0x3B, 0x49, 0x12, 0xB1, 0x4D, 0x7D, 0x28, 0xA7, 0xB4, +0x01, 0x0C, 0xA6, 0x18, 0x4E, 0x95, 0x0C, 0xA7, 0x1A, 0x65, 0x5C, 0x4B, +0xB3, 0x38, 0x66, 0x09, 0x7F, 0xA4, 0x12, 0x5B, 0x2F, 0x2E, 0x8D, 0x3E, +0x64, 0x38, 0xC3, 0x41, 0x3E, 0x8C, 0x93, 0xAA, 0x6A, 0x64, 0xB9, 0xF7, +0x55, 0xC0, 0xBD, 0x9B, 0xDB, 0xBC, 0xF8, 0xCB, 0x28, 0x15, 0x21, 0x78, +0xA3, 0xAD, 0xFA, 0x20, 0xDF, 0x18, 0xA8, 0x7A, 0x34, 0x0B, 0xC3, 0x45, +0xE7, 0x11, 0x2D, 0x38, 0x2D, 0x32, 0xCE, 0xE4, 0x1B, 0xA0, 0xF9, 0xEF, +0x79, 0x12, 0xAC, 0xF9, 0x67, 0x69, 0xD8, 0x7C, 0x7D, 0x79, 0x6C, 0xCE, +0x77, 0x20, 0xFD, 0xDA, 0xC2, 0x39, 0x67, 0x3D, 0x8E, 0xB8, 0xB0, 0x0A, +0xE1, 0x7F, 0xCA, 0x86, 0x9E, 0xCA, 0xEB, 0xDC, 0xF6, 0x51, 0x18, 0x8A, +0x57, 0xFA, 0x06, 0x86, 0x19, 0x88, 0x67, 0xA9, 0x25, 0x88, 0xA4, 0x31, +0xA3, 0x29, 0xEE, 0xE3, 0x29, 0x18, 0x9E, 0x23, 0x72, 0x9A, 0x92, 0x2D, +0x3F, 0x4B, 0x8A, 0xFC, 0x59, 0x11, 0xCF, 0xB4, 0xCA, 0xDE, 0xE6, 0x26, +0xB5, 0x0B, 0xF6, 0x8D, 0x02, 0x29, 0x15, 0x51, 0xC7, 0x30, 0x65, 0x85, +0x0E, 0x65, 0x66, 0x5D, 0x39, 0x8E, 0xB5, 0x61, 0x6C, 0x60, 0x8D, 0x50, +0x58, 0x9D, 0xFA, 0xC2, 0x20, 0xD5, 0x9E, 0x9A, 0xCA, 0x6B, 0xA9, 0x27, +0xA6, 0x77, 0x4A, 0x49, 0x9E, 0xAC, 0x3F, 0xF2, 0x23, 0xB1, 0xAE, 0x8B, +0x4A, 0x16, 0x8B, 0x53, 0x01, 0x8A, 0xD2, 0x0A, 0xD9, 0xB2, 0x94, 0x32, +0x91, 0x57, 0x80, 0x3B, 0xE2, 0x65, 0x88, 0x56, 0x9D, 0xBF, 0xCA, 0x86, +0x56, 0x1E, 0xA5, 0x01, 0xA8, 0x15, 0x13, 0x4D, 0xD4, 0x80, 0xA5, 0x40, +0x31, 0xE8, 0x40, 0x16, 0x29, 0x9E, 0xD0, 0x7D, 0x84, 0xF9, 0x98, 0x05, +0x07, 0xFA, 0x81, 0xEE, 0xEA, 0xF0, 0xB3, 0xA9, 0x5B, 0x30, 0x0B, 0x53, +0x9F, 0x05, 0xF8, 0xEA, 0xF2, 0x35, 0xC4, 0x60, 0x50, 0x2A, 0xA6, 0xDC, +0x20, 0x90, 0x8A, 0x3C, 0xBD, 0xB1, 0x0A, 0x29, 0xF9, 0xB8, 0x21, 0xB7, +0x66, 0xA7, 0x6E, 0x34, 0x78, 0xF2, 0xC8, 0x2C, 0x6B, 0x46, 0x65, 0x33, +0x2A, 0x77, 0x5E, 0x6C, 0x21, 0xCE, 0xDF, 0x5D, 0x70, 0xA3, 0x3A, 0x43, +0x94, 0x86, 0x2B, 0xAC, 0x1A, 0x75, 0x1A, 0x31, 0xA6, 0x46, 0x01, 0x03, +0x33, 0xC8, 0x92, 0xB0, 0x81, 0xC4, 0xC5, 0x44, 0x7D, 0xA9, 0x54, 0x94, +0xA1, 0xA6, 0xE9, 0xFE, 0x25, 0xB2, 0x44, 0x45, 0x55, 0x9D, 0xF6, 0x78, +0x22, 0x8D, 0xE4, 0x11, 0x3D, 0x9E, 0x8B, 0x74, 0x8A, 0x65, 0xE4, 0xAB, +0x7F, 0x42, 0x6A, 0xE9, 0x28, 0x8E, 0x43, 0xA2, 0xA2, 0x75, 0x0B, 0xAE, +0xE0, 0x27, 0x93, 0x26, 0xEC, 0x49, 0xD4, 0x84, 0x15, 0x94, 0x0A, 0x03, +0x7D, 0x0D, 0x87, 0xEA, 0x44, 0x68, 0x89, 0x1B, 0x17, 0xF7, 0xB1, 0x9F, +0x96, 0xC6, 0x6A, 0x3C, 0x72, 0xD4, 0x3A, 0x9D, 0x3A, 0x9F, 0x15, 0xD7, +0xDA, 0xDB, 0x79, 0x04, 0x42, 0x03, 0x96, 0x70, 0x03, 0x32, 0x10, 0x24, +0xEA, 0x72, 0xB5, 0xE2, 0x5C, 0x56, 0x0D, 0x0E, 0x76, 0x9C, 0xA5, 0x63, +0x63, 0x0E, 0xAC, 0xBB, 0xDC, 0x52, 0xBA, 0x72, 0xB1, 0xA5, 0x36, 0xDD, +0xA5, 0x56, 0xE1, 0x8C, 0xAE, 0x48, 0x2C, 0x55, 0xDE, 0xFE, 0xF8, 0x43, +0xF6, 0x4A, 0xD7, 0x92, 0xBD, 0xBA, 0x77, 0x2D, 0xD4, 0x35, 0x71, 0x51, +0x40, 0x0B, 0x8B, 0x79, 0x1C, 0xB0, 0x3A, 0x7B, 0x2D, 0x75, 0x9E, 0x2A, +0x3F, 0x31, 0xD1, 0x48, 0xE0, 0x89, 0x54, 0xAA, 0xE7, 0xAF, 0x43, 0xA0, +0x39, 0x84, 0xF0, 0x64, 0xC3, 0x09, 0xAC, 0xFA, 0xDD, 0x6D, 0xE5, 0x24, +0x56, 0x7E, 0xBD, 0xAB, 0xE7, 0x9F, 0xEF, 0xAE, 0xD0, 0xDC, 0x07, 0x87, +0x5A, 0x97, 0x68, 0x8A, 0xE2, 0x57, 0x39, 0xB6, 0x9A, 0xEB, 0x3D, 0xF1, +0x69, 0x8A, 0x9E, 0xAF, 0x66, 0x76, 0x54, 0xC3, 0x2E, 0xD9, 0x13, 0xAC, +0x59, 0xF9, 0x20, 0x4A, 0x67, 0xD4, 0x17, 0xF1, 0xB5, 0xA4, 0x22, 0xBE, +0x49, 0xAE, 0x9D, 0xC4, 0xD5, 0x4C, 0x73, 0x51, 0xE1, 0xB2, 0xA5, 0x3E, +0x5C, 0x16, 0xB7, 0x91, 0x1A, 0xCB, 0x5F, 0x48, 0x55, 0xAB, 0x05, 0x10, +0x09, 0x0E, 0xFC, 0x42, 0x33, 0x45, 0xC8, 0xD1, 0xE4, 0x89, 0xBF, 0xEC, +0x82, 0xC8, 0x30, 0x61, 0x39, 0x2B, 0x8B, 0xD7, 0x03, 0x64, 0x7A, 0x5F, +0x19, 0x54, 0x15, 0xC2, 0xCA, 0x70, 0x7E, 0x00, 0x2B, 0xDF, 0x36, 0x55, +0xBE, 0x2F, 0x2A, 0x68, 0x00, 0xEF, 0x44, 0xBE, 0x56, 0x93, 0x08, 0xF5, +0x37, 0x6D, 0x4F, 0xE2, 0x29, 0x0C, 0x68, 0x08, 0x79, 0xE1, 0x21, 0xBF, +0xE5, 0xFE, 0x13, 0x8E, 0xA7, 0xCE, 0xCF, 0xDB, 0x2D, 0x00, 0x00 }; #define SPIFFS_MAXLENGTH_FILEPATH 32 @@ -504,8 +616,29 @@ void SPIFFSEditor::handleRequest(AsyncWebServerRequest *request){ } else if(request->method() == HTTP_POST){ if(request->hasParam("data", true, true) && _fs.exists(request->getParam("data", true, true)->value())) request->send(200, "", "UPLOADED: "+request->getParam("data", true, true)->value()); - else + + else if(request->hasParam("rawname", true) && request->hasParam("raw0", true)){ + String rawnam = request->getParam("rawname", true)->value(); + + if (_fs.exists(rawnam)) _fs.remove(rawnam); // delete it to allow a mode + + int k = 0; + uint16_t i = 0; + fs::File f = _fs.open(rawnam, "a"); + + while (request->hasParam("raw" + String(k), true)) { //raw0 .. raw1 + if(f){ + i += f.print(request->getParam("raw" + String(k), true)->value()); + } + k++; + } + f.close(); + request->send(200, "", "IPADWRITE: " + rawnam + ":" + String(i)); + + } else { request->send(500); + } + } else if(request->method() == HTTP_PUT){ if(request->hasParam("path", true)){ String filename = request->getParam("path", true)->value(); diff --git a/src/edit.htm b/src/edit.htm index 49d9c00..65b6952 100644 --- a/src/edit.htm +++ b/src/edit.htm @@ -1 +1 @@ -ESP Editor
\ No newline at end of file +ESP Editor
\ No newline at end of file